TWI874025B - 編解碼系統及其編碼電路與解碼電路 - Google Patents
編解碼系統及其編碼電路與解碼電路 Download PDFInfo
- Publication number
- TWI874025B TWI874025B TW112147534A TW112147534A TWI874025B TW I874025 B TWI874025 B TW I874025B TW 112147534 A TW112147534 A TW 112147534A TW 112147534 A TW112147534 A TW 112147534A TW I874025 B TWI874025 B TW I874025B
- Authority
- TW
- Taiwan
- Prior art keywords
- code
- circuit
- value
- flag
- period
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/004—Counters counting in a non-natural counting order, e.g. random counters
- H03K23/005—Counters counting in a non-natural counting order, e.g. random counters using minimum change code, e.g. Gray Code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/16—Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本發明揭露了一種編解碼系統,包含:一最少變化碼產生電路、一旗標產生電路以及一解碼電路。最少變化碼產生電路用來產生一數位碼。旗標產生電路耦接該最少變化碼產生電路,用來根據該數位碼產生一旗標。解碼電路,用來根據一預設值及該旗標解碼該數位碼,以產生一輸出值。
Description
本發明是關於編碼及解碼,尤其是關於基於最少變化碼(minimum change code)之編解碼系統。
圖1顯示3位元的格雷碼(Gray code)及其相對應的解碼值。圖2顯示習知4位元的詹森計數器(Johnson counter)及其相對應的解碼值。格雷碼及詹森計數器皆為最少變化碼的一種。最少變化碼的特性及優點為本技術領域具有通常知識者所熟知,故不再贅述。然而,因為習知的格雷碼及習知的詹森計數器皆為週期性的序列(圖1及圖2各顯示該週期性的序列的一個週期,即一個循環序列(recurrent sequence)),所以習知的格雷碼僅適用於2的冪次方個解碼值(例如,3位元的格雷碼對應到
個解碼值(即,循環序列的長度為
),4位元的格雷碼對應到
個解碼值(即,循環序列的長度為
),以此類推)。習知的詹森計數器僅適用於偶數個解碼值(例如,4位元的詹森計數器對應到2x4個解碼值(即,循環序列的長度為2x4),5位元的詹森計數器對應到2x5個解碼值(即,循環序列的長度為2x5),以此類推)。詹森計數器最大缺點是面積大,例如:計數16個循環序列詹森計數器需要8位元正反器;但是格雷碼只需4位元正反器。
上述的缺點使得格雷碼與詹森計數器的應用範圍受到限制。舉例來說,若一個電路原本只需要17級的先進先出(first-in-first-out, FIFO)記憶體(即,記憶體深度為17),但由於格雷碼與詹森計數器皆無法產生長度為17的循環序列,所以為了使每一級對應到一個解碼值(如此才能針對每一級進行讀寫操作),實際上需將該FIFO記憶體擴大為32級(當使用格雷碼時)或18級(當使用詹森計數器時),這會造成電路成本及功耗增加。
鑑於先前技術之不足,本發明之一目的在於提供一種編解碼系統及其編碼電路與解碼電路,以改善先前技術的不足。
本發明之一實施例提供一種編解碼系統,包含:一傳統最少變化碼產生電路(此產生的編碼只有在某些條件下才保證每次計數變化只改變一位元,例如若是格雷碼僅適用於循環序列長度是2的冪次方;而詹森計數器僅適用於循環序列長度是偶數)、一旗標產生電路以及一解碼電路。最少變化碼產生電路用來產生一數位碼。旗標產生電路耦接該最少變化碼產生電路,用來根據該數位碼產生一旗標。解碼電路,用來根據一預設值及該旗標解碼該數位碼,以產生一輸出值。本發明將該旗標及該數位碼組合成一新的編碼適用於任一循環序列長度都能保證每次計數變化只改變一位元。
本發明之另一實施例提供一種編碼電路,包含:一最少變化碼產生電路以及一旗標產生電路。最少變化碼產生電路用來產生一數位碼。旗標產生電路耦接該最少變化碼產生電路,用來根據該數位碼產生一旗標。該數位碼對應於一輸出值,該輸出值係一週期性的序列的其中一者,該週期性的序列之一週期包含N個值。該週期性的序列之一第一週期的第R個值與該週期性的序列之一第二週期的第N-R+1個值對應相同的該數位碼,R大於等於1且小於等於N,且該第一週期與該第二週期係連續的週期。該旗標在該第一週期中係一第一數值,該旗標在該第二週期中係一第二數值,該第一數值不等於該第二數值。
本發明之另一實施例提供一種解碼電路,該解碼電路接收一數位碼及一旗標,並且解碼該數位碼及該旗標以產生一輸出值。該解碼電路包含:一最少變化碼-二進位碼轉換電路、一減法電路以及一選擇電路。最少變化碼-二進位碼轉換電路用來將該數位碼轉換成一二進位碼。減法電路耦接該最少變化碼-二進位碼轉換電路,用來將一預設值減去該二進位碼以產生一差值。選擇電路耦接該最少變化碼-二進位碼轉換電路及該減法電路,用來接收該二進位碼及該差值,並且根據該旗標輸出該二進位碼或該差值以作為該輸出值。
本發明之實施例所體現的技術手段可以改善先前技術之缺點的至少其中之一,因此本發明相較於先前技術可以增加電路設計的彈性,以節省成本。
有關本發明的特徵、實作與功效,茲配合圖式作實施例詳細說明如下。
以下說明內容之技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
本發明之揭露內容包含編解碼系統及其編碼電路與解碼電路。由於本發明之編解碼系統所包含之部分元件單獨而言可能為已知元件,因此在不影響該裝置發明之充分揭露及可實施性的前提下,以下說明對於已知元件的細節將予以節略。
請參閱圖3,圖3是本發明編解碼系統之一實施例的功能方塊圖。編解碼系統300包含編碼端301及解碼端302。編碼端301包含編碼電路305。編碼電路305包含旗標產生電路310及最少變化碼產生電路320。解碼端302包含解碼電路330。旗標產生電路310、最少變化碼產生電路320及解碼電路330互相耦接。
最少變化碼產生電路320產生數位碼GC。因為最少變化碼是一種數位碼,所以最少變化碼產生電路320亦可稱為數位碼產生電路。旗標產生電路310根據數位碼GC產生旗標FLG。旗標FLG經由傳輸線BS1(例如,走線或匯流排)傳送至解碼電路330,而數位碼GC經由傳輸線BS2(例如,走線或匯流排)傳送至解碼電路330。數位碼GC包含M個位元(GC_0、GC_1、……、GC_M-1),M為大於1的正整數。旗標FLG及數位碼GC共同組成輸出碼GCf;也就是說,旗標FLG是輸出碼GCf的其中一個位元。
解碼電路330根據預設值Npre解碼輸出碼GCf以產生輸出值Nout,輸出值Nout為對應於一個輸出碼GCf的解碼值。更明確地說,解碼電路330根據預設值Npre及輸出碼GCf的旗標FLG解碼數位碼GC以得到輸出值Nout。
請參閱圖4,圖4顯示本發明輸出值Nout、輸出碼GCf與十進位數DC的一個例子。第四欄「DC」是數位碼GC的十進位數。
如圖4所示,輸出值Nout、旗標FLG、數位碼GC、輸出碼GCf及十進位數DC都是週期性的序列(也就是由多個的循環序列所構成的序列,一個循環序列對應於該週期性的序列的一個週期)。旗標FLG、數位碼GC、輸出碼GCf及十進位數DC的週期Tb是輸出值Nout的週期Ts(Ts1、Ts2)的兩倍。週期Ts1與週期Ts2是連續的週期。
對輸出值Nout而言,循環序列的長度為N(即,一個週期Ts中有N個數值,圖4的例子中N=5),而循環序列的內容(即,Nout[0]~Nout[N-1])為“0, 1, 2, 3, 4”。
上述的預設值Npre等於N-1+ Nout[0]。以圖4為例,預設值Npre=5-1+0=4。在其他的實施例中,如果編解碼系統300的輸出值Nout的循環序列(即,Nout[0]~Nout[N-1])為“1, 2, 3, 4, 5”,則該編解碼系統300的預設值Npre=5-1+1=5。
對旗標FLG而言,循環序列的長度為2N(即,一個週期Tb中有2N個數值),而循環序列的內容(即,FLG[0]~FLG[2N-1])為“0, 0, 0, 0, 0, 1, 1, 1, 1, 1”。更明確地說,在一個週期Tb的前半部(即,FLG[0]~FLG[N-1]),旗標FLG為第一數值(在圖4的例子中第一數值為0),在一個週期Tb的後半部(即,FLG[N]~FLG[2N-1]),旗標FLG為第二數值(在圖4的例子中第二數值為1)。第一數值不等於第二數值。在其他的實施例中,第一數值為1,而第二數值為0。
對數位碼GC而言,循環序列的長度為2N(即,一個週期Tb中有2N個數值),而循環序列的內容(即,GC[0]~GC[2N-1])為“000, 001, 011, 010, 110, 110, 010, 011, 001, 000”。
對十進位數DC而言,循環序列的長度為2N(即,一個週期Tb中有2N個數值),而循環序列的內容(即,DC[0]~DC[2N-1])為“0, 1, 2, 3, 4, 4, 3, 2, 1, 0”。
對數位碼GC及十進位數DC而言,循環序列的前半部與序列的後半部互為鏡像(mirroring)。更明確地說,循環序列的第K個值等於循環序列的第2N-1-K個值(1≦K≦2N),即,GC[K-1]=GC[2N-1-(K-1)],且DC[K-1]=DC[2N-1-(K-1)]。
承上段,從輸出值Nout的角度來說,週期Ts1的第R個值與週期Ts2的第N-R+1個值對應相同的數位碼GC(1≦R≦N)。舉例來說(以圖4為例,其中N=5),當R=2時,週期Ts1的第2個值(Nout[1]=1)與週期Ts2的第4(=5-2+1)個值(Nout[3]=3)都對應到數位碼GC=001。
請繼續參閱圖4。因為輸出值Nout的週期為週期Ts,所以週期Ts1的第R個輸出值Nout等於週期Ts2的第R個輸出值Nout。需注意的是,在週期Ts1與週期Ts2中,旗標FLG分別為0和1。
承上段。在大多數的狀況下(除了R=(N+1)/2,且N為奇數之外),週期Ts1的第R個輸出值Nout與週期Ts2的第R個輸出值Nout對應不同的數位碼GC。舉例來說,週期Ts1的第2個輸出值Nout(Nout[1]=1)對應數位碼GC[1]=001,而週期Ts2的第2個輸出值Nout(Nout[1]=1)對應數位碼GC[6]=010。
綜上所述,輸出碼GCf是最少變化碼,旗標FLG及數位碼GC的循環序列的長度皆為2N,而輸出值Nout的循環序列的長度為N。換言之,輸出值Nout的一個數值,可以對應到2個輸出碼GCf的兩個數值。舉例來說,輸出值Nout=0(Nout[0])可以對應到輸出碼GCf=0000(GCf[0])或1110(GCf[5])。輸出值Nout=1(Nout[1])可以對應到輸出碼GCf=0001(GCf[1])或1010(GCf[6]);以此類推。由此可見,本發明基於最少變化碼來產生輸出值Nout,而輸出值Nout的循環序列的長度(N)可以不必是2的冪次或偶數,大幅提高電路設計的彈性。
請參閱圖5,圖5顯示本發明輸出值Nout、輸出碼GCf與十進位數DC的另一個例子。圖5與圖4相似,差別在於,數位碼GC的循環序列的內容(即,GC[0]~GC[2N-1])為“001, 011, 010, 110, 111, 111, 110, 010, 011, 001”,而十進位數DC的循環序列的內容(即,DC[0]~DC[2N-1])為“1, 2, 3, 4, 5, 5, 4, 3, 2, 1”。需注意的是,圖5的數位碼GC的最小值(即,GC[0])不是習知的格雷碼的最小值(“000”),但圖5的輸出碼GCf仍是最少變化碼。
請參閱圖6,圖6顯示本發明輸出值Nout、輸出碼GCf與十進位數DC的另一個例子。圖6與圖4相似,差別在於,在圖6中N=6。換言之,本發明之輸出值Nout的循環序列的長度亦可以是偶數。
請同時參閱圖4及圖6,數位碼GC的最小值(即,GC[0])相同但輸出值Nout的循環序列的長度(即,N)不同。在圖4中,輸出值Nout=2(即,Nout[2])對應到輸出碼GCf=0011(即,GCf[2],第一輸出碼)或1011(即,GCf[7],第二輸出碼)。在圖6中,輸出值Nout=2(即,Nout[2])對應到輸出碼GCf=0011(即,GCf[2],第三輸出碼)或1010(即,GCf[8],第四輸出碼)。需注意的是,第一輸出碼等於第三輸出碼,但第二輸出碼不等於第四輸出碼。換言之,當數位碼GC的最小值(即,GC[0])相同時,輸出值Nout的循環序列的長度(N)會影響輸出值Nout與輸出碼GCf之間的對應關係。
由圖4~圖6可知,本發明之數位碼GC的其中一半(即,GC[0]~GC[N-1]或GC[N]~GC[2N-1])是習知的最少變化碼(例如格雷碼)的連續N個數值。由圖4與圖5可知,數位碼GC的最小值(GC[0])不一定是該習知的最少變化碼的最小值。
請參閱圖7,圖7顯示本發明的輸出碼GCf的不同例子。如前所述,輸出碼GCf是旗標FLG與數位碼GC的組合,而旗標FLG可以被安排在輸出碼GCf的任何位元。在圖7中,劃底線之位元為旗標FLG。舉例來說,旗標FLG可以是輸出碼GCf的最高有效位元(most significant bit, MSB)(例如,圖7之最左欄的輸出碼GCf1)、最低有效位元(least significant bit, LSB)(例如,圖7之中間欄的輸出碼GCf2),或是中間的位元(例如,圖7之最右欄的輸出碼GCf3)。
請參閱圖8,圖8是本發明旗標產生電路310之一實施例的功能方塊圖。旗標產生電路310包含選擇電路810、比較器820、反相器825、選擇電路830及正反器840。選擇電路810、比較器820、反相器825、選擇電路830及正反器840互相耦接。
選擇電路810接收參考碼GCR1及參考碼GCR2,並且根據旗標FLG輸入兩者的其中之一作為目標參考碼GCRt。參考碼GCR1是數位碼GC的循環序列的最大值(即,GC[N-1]或GC[N]),而參考碼GCR2是數位碼GC的循環序列的最小值(即,GC[0]或GC[2N-1])。更明確地說,當旗標FLG=第一準位時,目標參考碼GCRt等於參考碼GCR1。當旗標FLG=第二準位時,目標參考碼GCRt等於參考碼GCR2。在一實施例中,第一準位可以是0,而第二準位可以是1。
比較器820比較目前的數位碼GC[K]與目標參考碼GCRt以產生比較結果CR。更明確地說,當目前的數位碼GC[K]等於(或不等於)目標參考碼GCRt時,比較結果CR為1(或0)。
選擇電路830接收旗標FLG及旗標FLG的反相訊號#FLG,並且根據比較結果CR輸出兩者的其中之一作為下一個旗標FLG'。更明確地說,當比較結果CR= 0時,下一個旗標FLG'等於旗標FLG(即,旗標FLG未更新)。當比較結果CR= 1時,下一個旗標FLG'等於反相訊號#FLG(即,旗標FLG已更新)。
正反器840用來暫存旗標FLG。更明確地說,正反器840根據時脈wclk輸出下一個旗標FLG'以取代目前的旗標FLG。正反器840根據重置訊號rst重置。
請參閱圖9,圖9是本發明最少變化碼產生電路之一實施例的功能方塊圖。最少變化碼產生電路320包含最少變化碼計數電路910、最少變化碼計數電路920、三選一的選擇電路930及正反器940。最少變化碼計數電路910、最少變化碼計數電路920、選擇電路930及正反器940互相耦接。
基於目前的數位碼GC[K],最少變化碼計數電路910及最少變化碼計數電路920分別根據第一順序(正數)及第二順序(倒數)產生候選數位碼GCc1及候選數位碼GCc2。以圖4為例,第一順序是習知的格雷碼的正數(即,候選數位碼GCc1的內容為000→001→011→010→110→000→001→…),而第二順序是習知的格雷碼的倒數(即,候選數位碼GCc2的內容為110→010→011→001→000→110→010→…)。舉例來說,當目前的數位碼GC[K]等於011時,候選數位碼GCc1與候選數位碼GCc2分別等於010與001。
選擇電路930接收目前的數位碼GC[K]、候選數位碼GCc1與候選數位碼GCc2,並根據旗標FLG和圖8的比較結果CR輸出三者的其中之一作為下一個數位碼GC[K+1]。舉例來說,請參閱圖4,當旗標FLG=0、比較結果CR=0且目前的數位碼GC[K]=011時,下一個數位碼GC[K+1]=候選數位碼GCc1=010。當旗標FLG=1、比較結果CR=0且目前的數位碼GC[K]=011時,下一個數位碼GC[K+1]=候選數位碼GCc2=001。而當比較結果CR=1,不管旗標FLG為何值,選擇電路930皆輸出目前的數位碼GC[K](即GC[K+1]=GC[K])。這使得旗標FLG轉態時可以多維持一個週期的數位碼GC不變,即GC[N-1]=GC[N]=110或GC[2N-1]=GC[2N]=000。
正反器940用來暫存下一個數位碼GC[K+1]。更明確地說,正反器940根據時脈wclk輸出下一個數位碼GC[K+1]以取代目前的數位碼GC[K]。正反器940根據重置訊號rst重置。
請參閱圖10,圖10是本發明最少變化碼產生電路320之另一實施例的功能方塊圖。最少變化碼產生電路320包含二進位碼計數電路1010、二進位碼計數電路1020、選擇電路1030、二進位碼-最少變化碼轉換電路1040、正反器1050及最少變化碼-二進位碼轉換電路1060。二進位碼計數電路1010、二進位碼計數電路1020、選擇電路1030、二進位碼-最少變化碼轉換電路1040、正反器1050及最少變化碼-二進位碼轉換電路1060互相耦接。
最少變化碼-二進位碼轉換電路1060用來將目前的數位碼GC[K]轉換為目前的二進位碼DC[K](即,對應於十進位數DC的二進位碼)。
基於目前的二進位碼DC[K],二進位碼計數電路1010及二進位碼計數電路1020分別根據第一順序(正數)及第二順序(倒數)產生候選二進位碼DCc1及候選二進位碼DCc2。以圖4為例,第一順序是習知的二進位碼的正數(即,候選二進位碼DCc1的內容為000→001→010→011→100→000→001→…),而第二順序是習知的二進位碼的倒數(即,候選二進位碼DCc2的內容為100→011→010→001→000→100→011→…)。舉例來說,當目前的二進位碼DC[K]等於010時,候選二進位碼DCc2與候選二進位碼DCc2分別等於011與001。
選擇電路1030接收目前的二進位碼DC[K]、候選二進位碼DCc1與候選二進位碼DCc2,並根據旗標FLG及圖8的比較結果CR輸出三者的其中之一作為下一個二進位碼DC[K+1]。舉例來說,請參閱圖4,當旗標FLG=0、比較結果CR=0且目前的二進位碼DC[K]=2(010)時,下一個二進位碼DC[K+1]=候選二進位碼DCc1=3(011)。當旗標FLG=1、比較結果CR=0且目前的二進位碼DC[K]=2(010)時,下一個二進位碼DC[K+1]=候選二進位碼DCc2=1(001)。而當比較結果CR=1,不管旗標FLG為何值,選擇電路1030皆輸出目前的二進位碼DC[K]。而當比較結果CR=1經過二進位碼-最少變化碼轉換電路1040及正反器1050運算最後會得到GC[K+1]=GC[K]。這使得FLG轉態時可以多維持一個週期的數位碼GC不變,即GC[N-1]=GC[N]=110或GC[2N-1]=GC[2N]=000。
二進位碼-最少變化碼轉換電路1040用來將下一個二進位碼DC[K+1]轉換為最少變化碼(即,下一個數位碼GC[K+1])。
正反器1050用來暫存下一個數位碼GC[K+1]。更明確地說,正反器1050根據時脈wclk輸出下一個數位碼GC[K+1]以取代目前的數位碼GC[K]。正反器1050根據重置訊號rst重置。
請參閱圖11,圖11是本發明解碼電路330之一實施例的功能方塊圖。解碼電路330包含最少變化碼-二進位碼轉換電路1110、減法電路1120及選擇電路1130。最少變化碼-二進位碼轉換電路1110、減法電路1120及選擇電路1130互相耦接。
最少變化碼-二進位碼轉換電路1110用來將目前的數位碼GC[K]轉換為目前的二進位碼DC[K]。
減法電路1120用來將預設值Npre減去目前的二進位碼DC[K]以得到差值Ndif(Ndif=Npre-DC[K])。
選擇電路1130接收目前的二進位碼DC[K]以及差值Ndif,並且根據旗標FLG輸出兩者的其中之一作為輸出值Nout。舉例來說,以圖4為例,當旗標FLG=0且目前的數位碼GC[K]=011時,輸出值Nout=目前的二進位碼DC[K]=2。當旗標FLG=1且目前的數位碼GC[K]=011時,輸出值Nout=Ndif=Npre-DC[K]=4-2=2。
上述的選擇電路810、選擇電路830、選擇電路930、選擇電路1030及選擇電路1130可以用多工器實作。
本發明可以大幅提高電路設計的彈性。舉例來說,本發明可以應用於非同步先進先出(asynchronous FIFO)記憶體。請參閱圖12,圖12是本發明編解碼系統應用於非同步FIFO記憶體的示意圖。編解碼系統1200包含編碼端301與解碼端1202。編碼端301與圖3之編碼端301相同,故不再贅述。
解碼端1202包含跨時脈域(clock domain crossing, CDC)同步電路(synchronizer)1210及解碼電路330。跨時脈域同步電路1210與解碼電路330互相耦接。跨時脈域同步電路1210用來同步輸出碼GCf以產生同步後的輸出碼GCf_s。跨時脈域同步電路1210的設計及操作原理為本技術領域具有通常知識者所熟知,故不再贅述。解碼電路330與圖3之解碼電路330實質上相同。
當編解碼系統1200應用於非同步FIFO記憶體時,編碼端301可以是讀(寫)地址產生電路的一部分,用來產生讀(寫)指標,而解碼端1202可以是寫(讀)電路的一部分,用來根據寫(讀)指標寫(讀)FIFO記憶體。舉例來說,當輸出值Nout作為寫指標(write pointer)時,其指示地址R的FIFO記憶體已被寫入資料,而讀電路則可以根據輸出值Nout判斷FIFO記憶體中是否有待讀取的資料。FIFO記憶體的深度(depth)為輸出值Nout的循環序列的長度(即,N)(0≦R≦(N-1))。
在其他的實施例中,本發明的編解碼電路的編碼端與解碼端可以在不同的裝置上。請參閱圖13,圖13是本發明編解碼電路之另一實施例的功能方塊圖。編解碼電路1300包含編碼端1301與解碼端1302。編碼端1301包含編碼電路305及傳送電路1310。解碼端1302包含接收電路1320及解碼電路330。傳送電路1310透過傳輸介質1330將輸出碼GCf傳送給接收電路1320。傳輸介質1330可以是實體的傳輸線(有線傳輸)或是空氣(無線傳輸)。舉例來說,編碼端1301可以實作於數位通訊系統(例如,數位地面電視(digital terrestrial television)或有線電視(cable TV))的傳送端,而解碼端1302可以實作於該數位通訊系統的接收端。編解碼電路1300可以用於訊號的更正(error correction),確保資料傳輸的正確性。
請注意,前揭圖示中,元件之形狀、尺寸及比例僅為示意,係供本技術領域具有通常知識者瞭解本發明之用,非用以限制本發明。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可根據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
300,1200:編解碼系統
301,1301:編碼端
302,1202,1302:解碼端
305:編碼電路
310:旗標產生電路
320:最少變化碼產生電路
330:解碼電路
BS1,BS2:傳輸線
CR:比較結果
FLG:旗標
GC:數位碼
GC_0,GC_1,GC_M-1:位元
GCf,GCf1,GCf2,GCf3:輸出碼
Nout:輸出值
Npre:預設值
DC:十進位數
Tb,Ts1,Ts2:週期
1110,1060:最少變化碼-二進位碼轉換電路
#FLG:反相訊號
810,830,930,1030,1130:選擇電路
820:比較器
825:反相器
840,940,1050:正反器
FLG':下一個旗標
GC[K]:目前的數位碼
GCR1,GCR2:參考碼
GCRt:目標參考碼
rst:重置訊號
wclk:時脈
910,920:最少變化碼計數電路
GC[K+1]:下一個數位碼
GCc1,GCc2:候選數位碼
1010,1020:二進位碼計數電路
1040:二進位碼-最少變化碼轉換電路
DC[K]:目前的二進位碼
DC[K+1]:下一個二進位碼
DCc1,DCc2:候選二進位碼
1120:減法電路
Ndif:差值
1210:跨時脈域同步電路
GCf_s:同步後的輸出碼
1300:編解碼電路
1310:傳送電路
1320:接收電路
1330:傳輸介質
圖1顯示3位元的格雷碼及其相對應的解碼值;
圖2顯示習知4位元的詹森計數器及其相對應的解碼值;
圖3是本發明編解碼系統之一實施例的功能方塊圖;
圖4顯示本發明輸出值Nout、輸出碼GCf與十進位數DC的一個例子;
圖5顯示本發明輸出值Nout、輸出碼GCf與十進位數DC的另一個例子;
圖6顯示本發明輸出值Nout、輸出碼GCf與十進位數DC的另一個例子;
圖7顯示本發明的輸出碼GCf的不同例子;
圖8是本發明旗標產生電路310之一實施例的功能方塊圖;
圖9是本發明最少變化碼產生電路之一實施例的功能方塊圖;
圖10是本發明最少變化碼產生電路320之另一實施例的功能方塊圖;
圖11是本發明解碼電路330之一實施例的功能方塊圖;
圖12是本發明編解碼系統應用於非同步FIFO記憶體的示意圖;以及
圖13是本發明編解碼電路之另一實施例的功能方塊圖。
300:編解碼系統
301:編碼端
302:解碼端
305:編碼電路
310:旗標產生電路
320:最少變化碼產生電路
330:解碼電路
BS1,BS2:傳輸線
CR:比較結果
FLG:旗標
GC:數位碼
GC_0,GC_1,GC_M-1:位元
GCf:輸出碼
Nout:輸出值
Npre:預設值
Claims (10)
- 一種編解碼系統,包含: 一最少變化碼產生電路,用來產生一數位碼; 一旗標產生電路,耦接該最少變化碼產生電路,用來根據該數位碼產生一旗標;以及 一解碼電路,用來根據一預設值及該旗標解碼該數位碼,以產生一輸出值。
- 如請求項1之編解碼系統,其中,該數位碼為一週期性的序列的其中一者,當該數位碼等於該週期性的序列之一最大值或一最小值時,該旗標產生電路改變該旗標。
- 如請求項1之編解碼系統,其中,該輸出值為一週期性的序列的其中一者,該週期性的序列之一週期包含N個值,該週期性的序列之一第一週期的第R個值與該週期性的序列之一第二週期的第N-R+1個值對應相同的該數位碼,該第一週期與該第二週期為連續的週期,該旗標在該第一週期中為一第一數值,該旗標在該第二週期中為一第二數值,該第一數值不等於該第二數值,R大於等於1且小於等於N。
- 如請求項1之編解碼系統,其中,該輸出值為一週期性的序列的其中一者,該週期性的序列之一週期包含N個值,該週期性的序列之一第一週期的第R個值等於該週期性的序列之一第二週期的第R個值,該第一週期與該第二週期為連續的週期,該旗標在該第一週期中為一第一數值,該旗標在該第二週期中為一第二數值,該第一數值不等於該第二數值,R大於等於1且小於等於N。
- 如請求項1之編解碼系統,其中,該輸出值為一週期性的序列的其中一者,該週期性的序列之一週期包含N個值,該週期性的序列之一第一週期的第R個值與該週期性的序列之一第二週期的第R個值對應不同的該數位碼,該第一週期與該第二週期係連續的週期,R大於等於1且小於等於N。
- 如請求項1之編解碼系統,其中,該旗標產生電路包含: 一第一選擇電路,用來接收一第一參考碼及一第二參考碼,並且根據該旗標輸出該第一參考碼或該第二參考碼以作為一目標參考碼; 一比較器,耦接該第一選擇電路,用來比較該數位碼及該目標參考碼以產生一比較結果;以及 一第二選擇電路,耦接該比較器,用來接收該旗標及該旗標之一反相訊號,並且根據該比較結果輸出該旗標或該旗標之該反相訊號。
- 如請求項6之編解碼系統,其中,該最少變化碼產生電路包含: 一第一最少變化碼計數電路,用來根據一第一順序及該數位碼產生一第一候選數位碼; 一第二最少變化碼計數電路,用來根據一第二順序及該數位碼產生一第二候選數位碼,其中,該第二順序不等於該第一順序;以及 一選擇電路,耦接該第一最少變化碼計數電路及該第二最少變化碼計數電路,用來接收該數位碼、該第一候選數位碼及該第二候選數位碼,並且根據該旗標及該比較器結果輸出該數位碼、該第一候選數位碼或該第二候選數位碼。
- 如請求項6之編解碼系統,其中,該最少變化碼產生電路包含: 一最少變化碼-二進位碼轉換電路,用來將該數位碼轉換成一第一二進位碼; 一第一二進位碼計數電路,耦接該最少變化碼-二進位碼轉換電路,用來根據一第一順序及該第一二進位碼產生一第一候選二進位碼; 一第二二進位碼計數電路,耦接該最少變化碼-二進位碼轉換電路,用來根據一第二順序及該第一二進位碼產生一第二候選二進位碼,其中,該第二順序不等於該第一順序; 一選擇電路,耦接該第一二進位碼計數電路及該第二二進位碼計數電路,用來接收該第一二進位碼、該第一候選二進位碼及該第二候選二進位碼,並且根據該旗標及該比較器結果輸出該第一二進位碼、該第一候選二進位碼或該第二候選二進位碼以作為一第二二進位碼;以及 一二進位碼-最少變化碼轉換電路,耦接該選擇電路,用來將該第二二進位碼轉換成一最少變化碼。
- 一種編碼電路,包含: 一最少變化碼產生電路,用來產生一數位碼;以及 一旗標產生電路,耦接該最少變化碼產生電路,用來根據該數位碼產生一旗標; 其中,該數位碼對應於一輸出值,該輸出值為一週期性的序列的其中一者,該週期性的序列之一週期包含N個值,該週期性的序列之一第一週期的第R個值與該週期性的序列之一第二週期的第N-R+1個值對應相同的該數位碼,該第一週期與該第二週期為連續的週期,該旗標在該第一週期中為一第一數值,該旗標在該第二週期中為一第二數值,該第一數值不等於該第二數值,R大於等於1且小於等於N。
- 一種解碼電路,其中,該解碼電路接收一數位碼及一旗標,並且解碼該數位碼及該旗標以產生一輸出值,該解碼電路包含: 一最少變化碼-二進位碼轉換電路,用來將該數位碼轉換成一二進位碼; 一減法電路,耦接該最少變化碼-二進位碼轉換電路,用來將一預設值減去該二進位碼以產生一差值;以及 一選擇電路,耦接該最少變化碼-二進位碼轉換電路及該減法電路,用來接收該二進位碼及該差值,並且根據該旗標輸出該二進位碼或該差值以作為該輸出值。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112147534A TWI874025B (zh) | 2023-12-06 | 2023-12-06 | 編解碼系統及其編碼電路與解碼電路 |
| US18/964,727 US20250192797A1 (en) | 2023-12-06 | 2024-12-02 | Codec system and its encoding circuit and decoding circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW112147534A TWI874025B (zh) | 2023-12-06 | 2023-12-06 | 編解碼系統及其編碼電路與解碼電路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI874025B true TWI874025B (zh) | 2025-02-21 |
| TW202524866A TW202524866A (zh) | 2025-06-16 |
Family
ID=95557430
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW112147534A TWI874025B (zh) | 2023-12-06 | 2023-12-06 | 編解碼系統及其編碼電路與解碼電路 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20250192797A1 (zh) |
| TW (1) | TWI874025B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5300930A (en) * | 1990-11-02 | 1994-04-05 | France Telecom | Binary encoding method with substantially uniform rate of changing of the binary elements and corresponding method of incrementation and decrementation |
| CN1333969A (zh) * | 1998-11-30 | 2002-01-30 | 艾利森公司 | 用于使用多通解调接收包含编码与未编码比特的调制信号的系统与方法 |
| CN101359912A (zh) * | 2007-05-03 | 2009-02-04 | 汤姆森特许公司 | 用于信道编码和解码的方法和装置 |
-
2023
- 2023-12-06 TW TW112147534A patent/TWI874025B/zh active
-
2024
- 2024-12-02 US US18/964,727 patent/US20250192797A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5300930A (en) * | 1990-11-02 | 1994-04-05 | France Telecom | Binary encoding method with substantially uniform rate of changing of the binary elements and corresponding method of incrementation and decrementation |
| CN1333969A (zh) * | 1998-11-30 | 2002-01-30 | 艾利森公司 | 用于使用多通解调接收包含编码与未编码比特的调制信号的系统与方法 |
| CN101359912A (zh) * | 2007-05-03 | 2009-02-04 | 汤姆森特许公司 | 用于信道编码和解码的方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250192797A1 (en) | 2025-06-12 |
| TW202524866A (zh) | 2025-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6079041A (en) | Digital modulation circuit and digital demodulation circuit | |
| US6105159A (en) | Trellis code with improved error propagation | |
| JP3590209B2 (ja) | 変調符号化方法 | |
| KR100488634B1 (ko) | m-비트정보워드들의계열을변조신호로변환하는방법,기록캐리어를제조하는방법,부호화장치,장치,기록장치,신호,및기록캐리어 | |
| JP3551359B2 (ja) | 変調装置、復調装置 | |
| WO1998053454A1 (fr) | Modulation et demodulation numeriques | |
| JPS6367268B2 (zh) | ||
| US7339500B2 (en) | Encoding method and decoding method | |
| JPS63191442A (ja) | データ変調インターフェース | |
| KR0152032B1 (ko) | 영상신호를 위한 가변장복호기 | |
| JP3167638B2 (ja) | ディジタル変調方法と復調方法及びディジタル変調回路と復調回路 | |
| TWI874025B (zh) | 編解碼系統及其編碼電路與解碼電路 | |
| US5309156A (en) | Variable-length code decoding device | |
| WO1982000912A1 (en) | System for coding and decoding binary data | |
| KR20040074588A (ko) | 변조 장치 및 방법 | |
| JP3664091B2 (ja) | 変調方法、変調装置、復調方法、復調装置、情報記録媒体に記録する方法、情報伝送方法および情報伝送装置 | |
| US6377532B1 (en) | Run-length limited encoding method and apparatus for use in a high density optical storage system | |
| TWI271936B (en) | Data modulating method and apparatus, data demodulating method and apparatus, and code arranging method | |
| WO1998017005A1 (en) | Method and circuit for digital modulation and method and circuit for digital demodulation | |
| Van Wijngaarden et al. | Combinatorial construction of high rate runlength-limited codes | |
| TWI865853B (zh) | 低編碼開銷轉態編碼之編碼器及解碼器 | |
| CN120150711A (zh) | 编解码系统及其编码电路与解码电路 | |
| JPH1198021A (ja) | 復調装置および復調方法、並びに伝送媒体 | |
| KR0183947B1 (ko) | 적응형 비터비 검출기 | |
| RU2206181C1 (ru) | Устройство для кодирования - декодирования данных |