TWI453734B - 用以將符號編碼之方法、用以將符號解碼之方法、用以將符號從發送器發送至接收器之方法、編碼器、解碼器、及用以將符號從發送器發送至接收器之系統 - Google Patents
用以將符號編碼之方法、用以將符號解碼之方法、用以將符號從發送器發送至接收器之方法、編碼器、解碼器、及用以將符號從發送器發送至接收器之系統 Download PDFInfo
- Publication number
- TWI453734B TWI453734B TW098123429A TW98123429A TWI453734B TW I453734 B TWI453734 B TW I453734B TW 098123429 A TW098123429 A TW 098123429A TW 98123429 A TW98123429 A TW 98123429A TW I453734 B TWI453734 B TW I453734B
- Authority
- TW
- Taiwan
- Prior art keywords
- codebook
- symbol
- codeword
- sub
- symbols
- Prior art date
Links
Classifications
-
- 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
- Communication Control (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本發明與將符號編碼/解碼之領域有關,且更加特別地,與一種用於將包含複數值的符號編碼之方法、一種用於將包含複數值且由一個或複數碼字編碼的符號解碼之方法、及一種用於將符號從發送器發送至接收器之方法、一種用於執行根據本發明之方法的電腦程式、編碼器、解碼器及用於將符號從發送器發送至接收器之系統有關。更加特別地,本發明的實施例與一種新熵編碼/解碼方法有關,該新熵編碼/解碼方法係基於霍夫曼編碼且使用多維碼字,以利用相鄰符號間的統計相關性及使碼長更佳地適應符號機率。
在本技藝領域中,用於將信號編碼的各種方法在編碼音訊及視訊信號上為眾所周知且用於在一電信環境中的編碼程序。對應解碼方法同樣是已知的。例如,在音訊編碼領域,AAC/MP3使用根據Henke,Robert,“Simulation eines Audiocodierverfahrens fr professionelle Anwendungen”,Diplomarbeit,Friedrich-Alexander Universitt Erlangen-Nrnberg,Erlangen 1992,Brandenburg,Karlheinz,Henke,Robert,“Near-Lossless Coding of High Quality Digital Audio:First Results”,ICASSP-93,IEEE International Conference on Acoustics,Speech,and Signal Processing,第1卷,1993年4月27-30日,第193-196頁,及EP 0 393 526 A的改良型(或堆疊式)霍夫曼編碼。
霍夫曼編碼用來編碼量化頻譜係數。頻譜係數可透過濾波器組或轉換從時域信號獲得。在最先進音訊編碼中,MDCT典型地用作轉換(MDCT=修正型離散餘弦轉換)。針對量化,一純量量化器典型地被使用。在霍夫曼碼用來編碼量化頻譜值的情況下,一單一或複數量化頻譜值被稱為符號。映射到霍夫曼碼的符號被限制在至最大絕對值(LAV)的值範圍內,這由Huffman,D.A.,“A Method for the Construction of Minimum-Redundancy Codes”,Proceedings of the IRE,1952年9月,第40卷,期號9,第1098-1101頁來描述。例如,在AAC編碼中,在一符號超過LAV之情況下,該符號不被映射到一單一碼字,而是一兩碼字序列。其中的一碼字是發出一額外碼字存在信號之所謂的“脫離序列”。第二碼字是所謂的“結尾碼字”。在解碼器端,符號可使用該序列中的所有碼字(即脫離碼字及結尾碼字)只被解碼。結尾碼字典型地使用一修正型哥倫布碼(Golomb-Code)被行程長度編碼且發信最大絕對值與編碼符號之值之間的差值。符號的維度被限制為一最大值四,即針對一個符號最多四個相鄰頻譜係數被組合。因此,符號的維度指示被組合成一個符號之值的數目,然後一該符號的一碼字被決定以發送到一解碼器。脫離機制用於每一頻譜係數而非每一符號,即在一個頻譜係數超過LAV而其餘頻譜係數不超過該LAV的情況下,脫離機制只被用於超過該LAV的頻譜係數。
在根據ITU-T視訊編碼規格ITU-T H.263(01/2005)的視訊編碼領域中,一維霍夫曼編碼(VLC=可變長度編碼)與脫離機制的組合被使用。此機制用來以類似於在音訊編碼方法中所完成的方式編碼量化DCT(DCT=離散餘弦轉換)係數。在電信領域,ITU-T傳真規格(ITU-T Rec.T.4(07/2003))描述改良型霍夫曼編碼的使用,即行程長度使用霍夫曼編碼來編碼。在行程長度超過LAV的情況下,一所謂「組合基幹碼(make-up-code)」被發送。透過這一組合基幹碼,64的整倍數可被表示。在行程長度大於63的情況下,下一較小組合基幹碼被發送。與原始行程長度的差值被發送作為結尾碼字。
上述基於霍夫曼編碼的先前技術方法限制符號的維度及值的範圍以保持記憶體要求低。此外,需要使霍夫曼碼簿或碼字表保持小,使得碼字包含不超過一預定義限制的一長度,使得碼字的發送可根據目前狀態來完成。在單值超過值範圍的情況下,脫離機制用於這些單一符號。
由於限制符號維度,碼長一般不是最佳的。對於二進制霍夫曼編碼而言,只有(1/2)n
的符號機率p可使用霍夫曼編碼被最佳地編碼,因為所產生的碼長1被限制為一整數值。若H(p)是符號的熵,以下限制適用:H
(p
) l H
(p
)+1。此限制的負效應可透過增加符號維度到N:1/N
.H
(p
) l H
(p
)+1/N
來緩和。然而,特別是對於低資料率而言,具有大於0.5之機率的多維符號可能發生,且這些符號的最佳符號維度則例如會是16。然而,每一子符號具有四個值的一16維度表格將需要一記憶體以儲存416
=4294967296=232
個碼字及碼長,此將對記憶體需求具有重大影響。同樣地,對於許多碼字而言,碼長將超過一可接受範圍。
若將被編碼的符號具有統計相關性,則多符號碼字是有益的。這些統計相關性可能例如由頻率轉換及使用分析視窗的特性產生。
對於兩個統計不相關符號而言,導致一最佳碼長度L(a
|b
)=L
(a
)+L(b
)的b接在a之後的條件機率是P(a
|b
)=P
(a
).P
(b
),該最佳碼長度是複數單一符號之最佳碼字的和,而對於統計相關符號而言,條件機率將是不同的。例如,若符號b接在符號a之後有一高機率,則條件機率P(a
|b
)>P
(a
).P
(b
)將大於統計不相關情況,因此最佳碼長度L(a
|b
)<L
(a
)+L(b
)將短於兩個不相關最佳碼長L(a)與L(b)的和。
所使用碼簿的維度越高,可獲得的相關性機率P(a
|b
|c
|...)級度就越高。
本發明的一個目的是提供一種用於將符號編碼及解碼的改良方法,其中該方法允許足夠好地利用符號中之相鄰值之間的統計相關性。
此目的透過如申請專利範圍第1項、第7項及第12項所述之方法、透過如申請專利範圍第13項所述之電腦程式、透過如申請專利範圍第14項所述之編碼器、透過如申請專利範圍第15項所述之解碼器、及透過如申請專利範圍第16項所述之系統來解決。
本發明提供一種用於將包含複數值之符號編碼的方法,該方法包含以下步驟:
(a)決定該符號是否可由第一碼簿的一碼字來編碼;
(b)若該符號可由第一碼簿的一碼字來編碼,從第一碼簿選擇與該符號相關聯的碼字;以及
(c)若該符號不可由第一碼簿的一碼字來編碼:從第一碼簿選擇指示該符號不可由第一碼簿的一碼字來編碼的一碼字,將該符號分成複數第一子符號,以及從第二碼簿選擇該等第一子符號中之至少一個子符號的一碼字。
根據本發明的第一層面,用於編碼的方法包含步驟(d),根據該步驟(d),針對每一不可由第二碼簿之一碼字編碼的第一子符號,該第一子符號被分成複數第二子符號,且針對該等第二子符號中的至少一個子符號,一碼字從第三碼簿被選擇,其中在步驟(c),針對該等第一子符號中的每一子符號,一碼字從第二碼簿被選擇,且在步驟(d),指示第一子符號不可由第二碼簿之一碼字編碼的一碼字從第二碼簿被選擇,且針對該等第二子符號中的每一子符號,一碼字從第三碼簿被選擇。
根據本發明的第二層面,在步驟(c),從第一碼簿被選擇的碼字進一步指示第一子符號中哪些包含一預定義值組合,且在步驟(c),對於不包含該預定義值組合的那些第一子符號,一碼字從第二碼簿被選擇。
本發明進一步提供一種用於將包含複數值且由一個或複數碼字編碼之符號解碼的方法,該方法包含:
(a)決定第一碼字是否可使用第一碼簿完全表示該符號。
(b)若該第一碼字可使用第一碼簿完全表示該符號,使用該第一碼字從第一碼簿選擇該符號;以及
(c)若該第一碼字不可使用第一碼簿完全表示該符號:選擇一第二碼簿用於將包含複數子符號之該符號的第一子符號解碼,以及使用第二碼字從第二碼簿選擇該等第一子符號中之至少一個子符號的一項目。
根據本發明的第一層面,用於解碼的方法包含步驟(d),根據該步驟(d),若第二碼簿不可完全表示該等第一子符號中之一個子符號,選擇一第三碼簿用於將包含複數第二子符號的一個第一子符號中的複數第二子符號解碼,且使用第三碼字針對該等第二子符號中之至少一個子符號,從第三碼簿選擇一項目,其中在步驟(c),第一碼簿針對第一碼字指示符號不可從該第一碼簿被解碼,且針對該等第一子符號中的每一子符號,從第二碼簿選擇一項目,且在步驟(d)第二碼簿針對第一子符號的第二碼字指示第一子符號不可由該第二碼簿解碼,且針對該等第二子符號中的每一子符號,從第三碼簿選擇一項目。
根據本發明的第二層面,在步驟(c),第一碼簿針對第一碼字指示符號不可從該第一碼簿被解碼,及該等第一子符號中哪些包含一預定義值組合,且在步驟(c),針對不包含該預定義值組合的那些子符號,從第二碼簿選擇一項目。
本發明的實施例提供允許擴展符號維度而記憶體要求只有微小增加的一彈性、階層式的多維霍夫曼編碼架構。這透過引入只具有有限值範圍且(一般而言)多維脫離序列的多維符號來實現。這些脫離機制可被施加到單一或複數子符號。所有不可被直接編碼的子符號用一逸出碼標示,且一新編碼步驟被執行。此過程被階層式地重複,直到所有子符號被編碼。例如,對於下一階層步驟而言,相同碼字維度的值範圍增加或相同值範圍的碼字維度減小,或值的碼字範圍增加且碼字維度減小。
本發明方法優於習知方法,因為符號維度的增加容許碼長較佳適應符號機率,且容許較佳利用相鄰子符號之間的統計相關性。此外,不在值範圍內之相鄰子符號之間的統計相關性可被利用。
使用多維脫離序列將進一步減少多維碼簿的記憶體要求。例如考慮到一16維碼簿藉由一脫離序列直接表示值0及不為0的值,碼字的數目將是216
=65536,然而若有4個相鄰符號的脫離序列,且每一符號之脫離序列有一相繼4維碼簿,將使項目的數目僅減少為24
+24
=16。
若由於碼簿有限範圍,符號之組合不可直接用多維碼簿表示,則多維脫離序列將考慮到利用存在於較低維度子符號中的低階統計相關性。
本發明的實施例用於熵編碼、音訊/視訊編碼及電信領域。
本發明的實施例在下文中將參考所附圖式予以進一步詳細地描述,其中:第1圖是表示根據本發明之一實施例的編碼器架構的流程圖;第2圖顯示用於根據本發明之一實施例的編碼架構的不同碼字表(碼簿),其中第2(a)圖是用於一16維符號(16維符號=由16個值組成的一符號)的碼字表,其中第2(b)圖是用於一8維符號的碼字表,且其中第2(c)圖是用於一4維符號的碼字表;第3圖使用第2圖之碼字表繪示編碼架構;第4圖繪示根據本發明之另一實施例的編碼架構;第5圖繪示用於第4圖之編碼架構的一位準0碼字表的例子;第6圖是表示根據本發明之一實施例的解碼器架構的流程圖;第7圖使用第2圖之碼字表繪示解碼架構;第8圖繪示根據第6圖之實施例的用於一編碼符號的解碼架構;第9圖是使用根據本發明之實施例的編碼架構之示範性編碼器的方塊圖;第10圖是使用根據本發明之實施例的解碼架構之示範性解碼器的方塊圖;及第11圖繪示用於將符號從一發送器發送到一接收器的系統。
在下文中,本發明的實施例根據顯示流程圖與方塊圖的圖式予以描述。只要繪示裝置之方塊圖的圖式被涉及,值得注意的是,在這些圖式中也予以繪示一種方法,其中方塊功能與方法步驟相對應。
第1圖是表示根據本發明之一實施例的編碼器架構操作的流程圖。在第S100步,編碼方法開始且編碼位準L被設定為0。具有維度N的符號Y(L,m)被提供,其中維度N指示該符號包含N個值,且m指示在位準L的子符號索引,其中m<M,其中M指示目前位準之子符號的數目。子符號透過在一位準劃分符號Y來獲得。在第S100步,M被設定為1,且相對應地m被設定為0,使得在流程開始被提供的用於編碼的符號是原始符號Y(0,0)=(S0
,S1
,...,SN
)。
在第S102步,碼簿維度I被設定為N,即碼簿或碼字表被選擇用於編碼n維符號Y。
在第S104步,符號Y(L,m)是否可由具有維度I的目前碼簿來完全表示被檢查。在這是可能的之情況下,可被發送例如到一解碼器或可被儲存的一合適碼字C(L,m)在第S106步從碼簿被選擇。在步驟S107,用於在目前編碼位準L之所有符號Y(L,m)的碼字是否被選擇被決定。在用於所有符號的碼字被選擇的情況下,編碼過程被完成且結束。否則m被增加(m++)1,即在位準L的下一符號(子符號)被選擇且該方法返回到步驟S104。
在符號Y(L,m)不可由來自碼簿的一碼字表示的情況下,方法繼續到步驟S108,其中一碼字從包括至少一個脫離機制的碼簿被選擇。在步驟S110,目前位準的哪些子符號沒有被表示被決定,且這些子符號決定“新”符號。在“非編碼”子符號剩下的情況下,這表示編碼器使用一新碼簿,該新碼簿具有較目前碼簿低的維度。在步驟S112,新符號的維度J被決定,1 J N
。在步驟S114,新碼簿被選擇,且新碼簿的維度I被選擇為1 I J
。
在步驟S114,在同一維度的複數子符號將使用例如相同碼簿被編碼的情況下,碼簿的維度可被保持為先前維度,這在下文中予以進一步詳細地描述。在這種情況下,符號的維度不超過此位準之碼簿維度在步驟S116被決定,且方法返回到步驟S104。
可選擇性地,在步驟S114,新碼簿的維度I可被選擇為小於新符號之維度J的一值。例如,新碼簿的維度可被設定為新符號之維度J的一半。在這種情況下,新符號的維度J超過新碼簿的維度I在步驟S116被決定,使得在步驟S118,位準被增加1(level++)且符號被分成複數子符號,以適合在步驟S114所選擇的碼簿維度I。同樣地,指示先前(子)符號所分成之子符號之數目的M被增加。然後該方法返回到步驟S104且針對下一位準L的所有子符號,步驟S104到步驟S118被重複,使得透過上述階層式流程,符號最終由而後可被發送的一個或複數碼字編碼。
在下文中,編碼架構的一實施例參考第2圖及第3圖被進一步詳細地描述。一階層式架構包含16維、8維、4維及1維碼字,對於具有16個相鄰“0”的一符號具有一機率0.5的情況而言,該階層式架構是最佳的。第2圖顯示不同的碼字表。第2(a)圖顯示一16維符號的碼字表。16維碼字如下:
16維碼字
.VZ:值的符號(1位元)
.XXXX:用以編碼值“1”在符號中的位置的4個位元
這產生在第2(a)圖中所示的碼字表。
第2(b)圖顯示一8維符號的碼字表,且8維碼字如下:
8維碼字
.VZ:值的符號(1位元)
.XXX:用以編碼值“1”在符號中的位置的3個位元
這產生在第2(b)圖中所示的碼字表。
第2(c)圖表示一4維符號的碼字表。對於一4維符號S=(S0
,S1
,S2
,S3
)而言,各自的碼字S如下:
.在Sn
(n=0,1,2,3)的所有值在[-1;1]中之情況下,符號S=(S0
,S1
,S2
,S3
)可被直接表示,
.在Sn
的一些值不在[-1;1]中之情況下,不在[-1;1]中的Sn
的那些值由逸出字(ESC4)表示,及
.在Sn
的所有值都不在[-1;1]中之情況下,符號S=(S0
,S1
,S2
,S3
)單一地由一逸出字(ESC4)表示。
例如,符號S=(-1,0,0,-1)將直接由來自第2(c)圖之碼字表的一碼字CW4直接表示,符號S=(-2,3,4,-5)將只由碼字CW4=ESC4表示,且符號S=(-1,3,0,-5)將由碼字CW4=(-1,ESC4,0,ESC4)表示。
最終可被獲得的1維符號各自由用來例如透過行程長度編碼直接編碼1維(1-dimensional)或1維(1-dim)符號之各自的1維(1-dimensional)或1維(1-dim)碼字來編碼。
根據上述碼簿或碼字表,一16維符號將被編碼。在步驟S100(參見第1圖),L被設定為0、m被設定為0、且N被設定為16且M被設定為1。在步驟S100所表示的符號(即符號Y(0,0))包括16個值S0
...S15
。碼簿維度I也被設定為16,即在第2(a)圖中所示的碼字表被使用。
在步驟S104,針對16維符號,一碼簿項目是否是可利用的被決定。若是這樣的話,一對應碼字在步驟S106被選擇,且例如被發送,使得編碼過程結束。在這種情況下,編碼過程被完成。
在步驟S104決定對於16維符號而言沒有碼簿項目是可利用的之情況下,逸出字在步驟S108被選擇且被發送。因此,尚未由發送碼字表示的子符號全部是16個子符號,如在步驟S110所決定的,且新符號的維度在步驟S112保持為16,即J=16。在步驟S114,具有維度8的一新碼簿被選擇。因為在步驟S116碼簿的此維度較新符號的維度J小,該方法分支到步驟S118,其中16維符號被再分成兩個8維符號或子符號,M被設定為指示現在存在兩個子符號的值2,且位準L被增加(level++)到位準1。
然後針對位準1的所有子符號,即針對在步驟S118原始符號所分成的兩個子符號,亦即兩個8維符號,步驟S104-S118被重複。然後在步驟S104,兩個8維符號是否可被直接編碼被再次檢查,亦即,是否對每一8維符號一對應碼字被包含在第2(b)圖中所示的碼字表中。若是這樣的話,則用於每一8維符號的對應碼字在步驟S108被選擇且被發送。然後編碼過程被完成。否則,即在第一及/或第二8維符號不可由來自8維碼簿的一碼字表示的情況下,一合適逸出字從該碼簿被選擇且被發送。
在步驟S114,然後具有維度4的一新碼簿被選擇,且在步驟S118,尚未被編碼的一個(或複數)8維符號被分成兩個4維符號且步驟S104-S118被重複。然後,如果合適的話,4維符號是否可被直接編碼,即相對應的4維碼字是否被包含在第2(c)圖中所示的碼字表中將被檢查。如果是這樣的話,對應碼字在步驟S108被選擇且被發送。否則,針對整個4維符號或針對其複數子符號,一逸出字可被發送。與其他情況對應,4維符號可被逸出為整個符號且而後可被再分成四個1維符號,該等四個1維符號在下一編碼步驟使用一編碼架構被編碼,該編碼架構如由以下描述:Henke,Robert,“Simulation eines Audiocodierverfahrens fr professionelle Anwendungen”,diplomarbeit,Friedrich-Alexander Universitt Erlangen-Nrnberg,Erlangen 1992,Brandenburg,Karlheinz,Henke,Robert,“Near-Lossless Coding of High Quality Digital Audio:First Results”,ICASSP-93,IEEE International Conference on Acoustics,Speech,and Signal Processing,第1卷,1993年4月27-30日,第193-196頁及EP 393 526 A。同樣地,建立在子符號上的逸出碼可被發送,例如只針對第一及第四子符號,而第二及第三子符號可用4維碼字被直接編碼。所有符號一經可由脫離與終止序列表示,編碼過程即被完成。
以上實施例現將根據用於編碼16維符號Y(0,0)=(0,0,0,-1,0,0,0,0,4,0,-1,-5,-4,4,7,5)的一個例子予以進一步詳細地描述。
在位準0,碼簿的維度I被設定為16,且子符號M的數目被設定為1,索引m相應地被設定為0,使得Y(0,0)具有以上形式,如其也在第3圖的100概要繪示的。在步驟S104,符號Y(0,0)是否可由來自16維碼簿的一碼字完全表示被決定,如其在第2(a)圖中所顯示的。從第2(a)圖可看出的是,沒有對應碼字用於符號Y(0,0),即可利用碼字的範圍被超過。因此,所選碼字C(0,0)是用於脫離序列ESC16的碼字。此碼字在步驟S108被選擇且被發送。因此沒有由碼字C(0,0)表示的其餘符號是S0
-S15
。
根據在第1圖所示的步驟S112,新符號的維度J是否保持為16現在被決定。因為在步驟S108,用於ESC16的碼字被選擇,已知的是,具有與目前維度對應之維度J的符號不可由目前碼簿編碼,使得在步驟S114,具有維度I=8的一新碼簿被選擇。更加特別地,如在第2(b)圖中所示的碼簿或碼字表被選擇且,因為維度J超過新碼簿的維度I在步驟S116被決定,在步驟S118,位準被增加到位準1(level++),在第3圖中所示的符號100被分成第一8維符號Y(1,0)及第二8維符號Y(1,1),如在第3圖的102及104所示的,且M被設定為指示現在存在兩個子符號的2。因此,符號被再分以適合新碼簿的維度I:
Y(1,0)=S0
...S7
:(0,0,0,-1,0,0,0,0)
Y(1,1)=S8...S15:(4,0,-1,-5,-4,4,7,5)
針對兩個符號102及104,步驟104現在被向前地重複。針對Y(1,0),其是否可由來自8維碼簿的一碼字表示被決定,使得各自的碼字C(1,0)在步驟S106被選擇且被發送,如在第3圖中的位準1所指示的。因此,用於(0,0,0,-1,0,0,0,0)的碼字CW8,即碼字“11 1 100”被選擇。
因為不是用於目前位準之所有符號一碼字被選擇在步驟S107被決定,方法返回到步驟S104,且針對第二8維符號Y(1,1),(4,0,-1,-5,-4,4,7,5)不可由來自在第2(b)圖中所示之8維碼簿的一8維碼字表示同樣被決定。因此,如在第3圖中的位準1所示的,指示脫離序列ESC8的碼字,即碼字“0”被選擇且根據步驟S108被發送。且尚未由碼字表示的其餘符號是符號S8
-S15
,即(4,0,-1,-5,-4,4,7,5)。
在步驟S112,新符號的維度被設定為8,即與目前位準之尚未被編碼符號的數目對應。再者,因為在步驟S108用於ESC8的碼字被選擇,已知的是,具有與目前維度對應之維度J的符號不可由目前碼簿編碼,使得在步驟S114,具有維度I=4的一新碼簿被選擇。藉由步驟S116及步驟S118,位準被增加到位準2(level++),不由來自8維碼簿之一碼字完全表示的位準1的符號104被分成兩個4維符號106及108,即符號Y(2,0)及Y(2,1),且M被設定為指示存在位準2的兩個子符號的2。因此,符號被再分,以適合新碼簿的維度I:
Y(2,0)=S8
...S11
:(4,0,-1,-5)
Y(2,1)=S12
...S15
:(-4,4,7,5)
在步驟S104,符號Y(2,0)是否可由第2(c)圖的4維碼簿完全表示被檢查。然而,符號Y(2,0)不可由一單一碼字完全表示,因為不是符號Y(2,0)的所有值都與1、0或-1不同,符號Y(2,0)由與該碼字對應的碼字C(2,0)表示,其中符號“4”、“-5”由產生碼字CW4=(ESC4,0,-1,ESC4)的脫離序列來表示。此碼字在步驟S108被選擇且被發送。
在步驟S110,所決定的是,目前位準L=2沒有碼字被選擇的子符號(即S12
-S15
)依然存在。此新符號的維度J是4,即與目前維度一致(步驟112),因此在步驟S114,碼簿的維度被保持且該方法繼續經由步驟S116返回到步驟S104,而不分割新碼字。因此,針對Y(2,1),其是否可由來自第2(c)圖之表格的一碼字表示在步驟S104被決定。因為符號(-4,4,7,5)不可由4維碼簿表示且因為此符號的所有值都不是-1、0或1,只有脫離序列在步驟S108被發送作為碼字C(2,1)=ESC4。
在步驟S110,來自位準2尚未由一碼字表示的子符號被決定為符號S8
、S11
、S12
、S13
、S14
及S15
。在步驟S114,下一較低維度碼簿,1維碼簿被選擇。經由步驟S116及步驟S118,來自位準2的其餘符號被分成複數單一符號,如在第3圖的參考記號110到120所指示的,即符號被再分,以適合新碼簿的維度I:
Y(3,0)=S8
:(4)
Y(3,1)=S11
:(-5)
Y(3,2)=S12
:(-4)
Y(3,3)=S13
:(4)
Y(3,4)=S14
:(7)
Y(3,5)=S15
:(5)
符號Y(3,0)到Y(3,5)中的每一符號使用上述編碼結構之一被編碼。因此,整個符號現已由在各個編碼位準期間已被選擇的各自的碼字編碼,且這些所選碼字可被組合來以編碼形式表示符號。
使用本發明編碼架構的另一實施例現將根據第4圖及第5圖予以描述。只有16維碼字及4維碼字被使用,其中16維碼字可表示16個相鄰“0”的子符號(值)或發送資訊,基本4維符號中的哪些只由“0”組成或包含不等於“0”的符號。在16維碼字中存在不等於“0”的子符號之情況下,這些符號由一4維碼字表示。如在第4圖中所示的,在位準0,在步驟S200,包含子符號0-15的符號被提出用於編碼(也參見第1圖的步驟S100)。在步驟S202,整個符號的16個相鄰子符號是否可由一16維碼字表示,即這些子符號是否全部是“0”被檢查(也參見第1圖的步驟S104)。若是這樣的話,第一碼字CW1將被選擇且被傳送,且編碼程序被完成(也參見第1圖的步驟S106及步驟S107)。在步驟S202指示在步驟S200所提供的符號的所有子符號或值不都是“0”之情況下,第二碼字CW2被輸出(也參見第1圖的步驟S108)。一些符號保持沒有被編碼被決定(也參見第1圖的第S110),新符號的維度也被設定為4(也參見第1圖的步驟S112),且4維碼簿被選擇(也參見第1圖的步驟S114)。因為碼簿的維度及新符號的維度不是相同的,符號被劃分(也參見第1圖的步驟S116及步驟S118)成四個群組的子符號,如在步驟S204及步驟S210所指示的,位準增加到位準1且M被設定為4。
被選擇且被發送的碼字CW2不僅透過例如一脫離機制指示額外的資訊必須被發送,而且包含如下資訊,即在步驟S204到步驟S210所示之4維符號中的哪些只由“0”子符號/值組成及在步驟S204到步驟S210的4維符號中的哪些包含不等於“0”的子符號。因此碼字CW2指示額外碼字必須只針對包含不等於“0”之子符號的4維符號來發送。在步驟S212到步驟S218,在步驟S204到步驟S210所示的各自的子符號是否只包括“0”被決定。在一子符號只包括“0”在步驟S212被決定的情況下,沒有另外的動作被需要。否則(參見第1圖的步驟S104),碼字CW3、CW4、CW5、CW6中的一個或複數輸出(參見第1圖的步驟S106及步驟S107)。
因此,在碼字CW2發信有包含不等於“0”之值的子符號剩下之情況下,針對這些4維符號中的每一者,碼字CW3、CW4、CW5及/或CW6被發送,這在第4圖中的位準1所顯示的。這些字可以是終止字或可包含一脫離機制。因此,透過碼字CW3-CW6,各自的子符號可被解碼。可選擇性地,以類似於上述關於第一實施例所述的方式,即使用4維碼字表及1維碼字表編碼位準1的子符號可能是所期望的。
第5圖顯示可用於編碼在第4圖中所示的在位準0的符號之碼字表的例子。具有一特定值的第一碼字CW1在所有符號值都為“0”的情況下被使用。否則,碼字CW2被使用,指示不是所有符號都為“0”且包括額外的資訊,即四個子符號中的哪些只包括“0”,這可透過為項xn
提供“0”來表示。否則,在子符號包括“0”以外之值的情況下,各自的位置xn
可使用“1”來編碼。
在下文中,根據本發明之上述第二實施例的用於編碼過程的一個例子將根據第一實施例的符號予以描述。
符號的維度是16且符號Y(0,0)=(0,0,0,-1,0,0,0,0,4,0,-1,-5,-4,4,7,5)在步驟S200被提供。在步驟S204,符號Y(0,0)是否可用來自在第5圖中所示之碼簿的一碼字表示被檢查。沒有碼字是可利用的被決定,因此指示符號的所有值不都為“0”的碼字CW2被發送。此外,子符號0-3、4-7、8-9及12-15中的哪些只包括“0”或包括不同於“0”之值的資訊被包括。在步驟S204所提供的第一子符號是符號(0,0,0,-1),第二子符號是(0,0,0,0),第三子符號是(4,0,-1,-5)且第四子符號是(-4,4,7,5)。因此,根據第5圖的碼字CW2是“11 1011”,指示符號作為一整體也不包括不等於“0”的值且子符號4-7只包括“0”。
碼字的維度現被選擇為4且由具有“1”之碼字2所指示的那些子符號需要進一步編碼。因此,第一、第三及第四子符號分別由碼字CW3、CW5及CW6編碼作為步驟S212的輸出,步驟S212指示在步驟S204所提供的子符號包括不等於“0”的符號。
在下文中,根據本發明之解碼架構的實施例將予以描述。第6圖是表示本發明之解碼架構實施例的流程圖。在解碼器端,一位元流在步驟S300被接收,且用於解碼的位準被設定為0。解碼器知曉以編碼形式被接收之符號的維度且在步驟S302將碼簿的維度I設定為符號的維度N。假設表示需被解碼之符號的所有碼字是存在的或在解碼器端被接收。在步驟S304,下一碼字被解碼,且一符號是否由解碼碼字C(L,m)完全表示在步驟S306被決定,且在確實如此的情況下,在步驟S308,使用該碼字一項目從本碼簿被選擇,因此產生符號。在步驟S309,目前位準的所有碼字是否都被解碼(這表示整個符號被解碼)被決定。若這是事實的話,解碼過程將被完成。否則,該方法返回到用於解碼目前位準之下一碼字的步驟S304。
在與碼簿中的碼字相關聯的項目指示該碼字不表示整個符號的情況下,該方法繼續到步驟S310。在步驟S310,符號根據與碼字C(L,m)相關聯的項目被解碼(例如一脫離序列被解碼,這指示額外碼字將接著),且在第步驟S312,目前位準的多少子符號尚未由一碼字表示被決定。在步驟S314,新符號的維度被設定介於1與N之間。在步驟S316,如果必要的話,一新碼簿維度I被選擇,且新維度介於1與新符號之維度之間。因此,在複數一特定維度的子符號需要被解碼的情況下,在步驟S316碼簿保持相同維度,使得在步驟S318符號不超過碼簿維度被決定,使得針對相同位準的其餘子符號,解碼可被執行。否則,在具有一較小維度的一新碼簿被選擇的情況下,其餘符號超過碼簿維度在步驟S318被決定,使得在步驟S320,位準與M被增加,且原始符號被分成複數子符號被決定,然後針對該等複數子符號,下一碼簿將被接收且透過重複步驟S304-S316被解碼。
上述解碼架構現將根據一個例子,更加特別地根據使用第2圖之碼字表所給出的例子予以描述。在第7圖中,假設一解碼器包含一解碼器暫存器130,該解碼器暫存器130被提供用於接收根據上述實施例被編碼之原始符號的各自的子符號或值。
在解碼器端,在步驟S300,位準L被設定為0且解碼器知曉需解碼符號的維度N是16,使得新碼簿的維度I在步驟S302也被設定為16。在步驟S304,碼字C(0,0)被接收,這指示指示符號Y(0,0)的一脫離機制ESC16不可由來自第2(a)圖之16維碼簿的一碼字表示。因此,在暫存器130中的用於S0
-S15
的所有位置保持空,因為沒有解碼值已經是可利用的。因此,需解碼的其餘符號全部是16個符號S0
-S15
。在步驟S314,碼簿的維度被切換到8。因為需解碼的其餘符號與下一碼簿的維度是不同的,在步驟S320,位準被增加到位準1,且在下一位準所決定的是,兩個碼字被接收。
在步驟S304,碼字C(1,0)被接收,且在步驟S306,此碼字完全表示位準1的第一8維子符號被決定,使得與CW8相關聯的項目從表格被選擇,從而各自的值居於S0
-S7
的暫存器位置,在上述例子中如由在第7圖中的位準1的陰線域所指示的具有值(0,0,0,-1,0,0,0,0)。然後不是位準1的所有碼字都已被解碼在步驟S309被決定,使得該方法返回到用於解碼位準1的下一碼字C(1,1)的步驟S304。碼字C(1,1)指示一脫離機制,即在第7圖中所示的ESC8。因此,符號不可被解碼且其餘符號是符號S8
-S15
在步驟S308被決定,使得暫存器130中的對應暫存器位置保持空,如由在第7圖的位準1所示的非陰線位置所指示的。
在步驟S312,位準1的8個子符號不可被表示被決定,且在步驟S316,4維碼簿被選擇,該碼簿的維度小於其餘符號的數目,使得在步驟S318,該方法繼續到位準被增加的步驟S320。
在步驟S304,可被部分解碼為符號S9
的下一碼字C(2,0),位準2的第一碼字被接收,S10
被直接表示,且逸出碼針對符號S8
及S11
被發送,使得在步驟S310,暫存器位置S9
及S10
被填充,而暫存器位置S8
及S11
保持空。位準1的8維符號只被部分解碼且其餘符號是符號S8
及S11
。然而,在步驟S316碼字維度被保持,使得在步驟S304,下一碼字C(2,1)被接收及被解碼且指示符號S12
-S15
都不被表示,因為只有脫離機制被發送。因此,符號S12
-S15
剩下在步驟S312被決定。
因為沒有另外的第二位準碼字存在,碼簿的維度被切換到1,且尚未被解碼的所有那些符號透過在步驟S304被接收及被解碼的直接表示各自的符號的各自的碼字在位準3被解碼,從而居於在第7圖中所示的整個解碼器暫存器130,且從而產生整個解碼符號。
解碼碼字C(3,0)完全表示S8
(與在位準2為S8
發送的資訊組合)
解碼碼字C(3,1)完全表示S11
(與在位準2為S11
發送的資訊組合)
解碼碼字C(3,2)完全表示S12
解碼碼字C(3,3)完全表示S13
解碼碼字C(3,4)完全表示S14
解碼碼字C(3,5)完全表示S15
關於位準3解碼,值得注意的是,碼字C(3,0)、C(3,1)與碼字C(3,2)-C(3,5)之間的基本差異是,首先提到的碼字使符號重建基於來自第二位準的碼字C(2,0),而稍後提到的碼字不如此。在上述例子中,碼字C(2,0)發信符號S8
及S11
超過+/-1。在碼字C(2,1)中,符號S12
-S15
都未被分解被發信,即所有必要資訊將藉由碼字C(3,2)-C(3,5)被發送。
在上述編碼器/解碼器方法中,用於在步驟S316所選擇的其餘符號之某一數目的碼簿維度是固定的,且在編碼器端與在解碼器端兩者是同步的。例如,在上述例子中,如果在位準0其餘(即非解碼符號)的數目是16,則碼簿維度被切換到8。當其餘非解碼符號的數目是8時,維度以一類似方式被切換到4。再者,由編碼器提供且藉由其被解碼的碼字順序在編碼器/解碼器端是固定的,即每一位準的所有碼字被編碼/解碼或每一碼字的所有位準。
第8圖根據解碼的一符號繪示根據本發明的解碼架構,該符號根據第4圖的實施例來編碼。在步驟S300,位準被設定為0,且碼簿的維度被設定為16,即第5圖的碼簿被選擇。在步驟S304,第一碼字C(0,0)被接收,該碼字是碼字CW2(111011)。這指示16維符號的所有符號不都是“0”。然而,第二子符號群組(即子符號4-7)是0,而所有其他子符號群組包括不為0的值。因此,在步驟S306,符號Y(0,0)不可被完全解碼被決定,然而,在步驟S310,所決定的是符號可被部分解碼,使得在解碼器暫存器位置S4
-S7
,“0”被引入,如在第8圖中由暫存器130的陰線部分所指示的。
其餘子符號,即符號S0
-S3
及S8
-S15
被決定,且在步驟S316碼簿被切換到4維碼簿且緊接接收的三個碼字被解碼且透過碼字CW3、CW5及CW6表示各自的符號S0
-S3
、S8
-S11
及S12
-S15
,從而居於如在第8圖的位準1所示的其餘解碼器暫存器位置。在位準1的解碼使用來自位準0之碼字C(0,0)的額外資訊被完成,從該資訊已知在位準1所接收的碼字針對哪些子符號群組使用。
在下文中,參考繪示根據本發明之實施例的編碼器及解碼器架構的示範性編碼器及解碼器操作的第9圖及第10圖。
根據在第9圖中所示的示範性編碼器,一單音信號、一立體聲信號或一多通道信號被輸入到一共用預處理階段200。該共用預處理階段200可具有一聯合立體聲功能、一圍繞功能、及/或一頻寬擴展功能。在階段200的輸出端有被輸入到一個或複數交換器202的一單音通道、一立體聲通道或複數通道。當階段200具有兩個或複數輸出端時,即當階段200輸出一立體聲信號或一多通道信號時,可為階段200的每一輸出端提供交換器202。作為示範,立體聲信號的第一通道可為一語音通道且該立體聲信號的第二通道可為一音樂通道。在這種情況下,在同一時間瞬間決定(decision)階段204中的決定在兩個通道之間可以是不同的。交換器202受決定階段204控制。決定階段包含一鑑別器且接收被輸入到階段200的一信號或由階段200輸出的一信號作為輸入。可選擇性地,決定階段204也可接收被包括在單音信號、立體聲信號或多通道信號中或至少與這樣的一信號相關聯的旁側資訊,其中例如在起初產生單音信號、立體聲信號或多通道信號時被產生的資訊是存在的。
在一個實施例中,決定階段不控制預處理階段200,且在階段204與200之間的箭頭是不存在的。在另一實施例中,階段200中的處理在一定程度上受決定階段204控制,以基於決定設定階段200中的一個或複數參數。然而,這將不影響階段200中的一般演算法,使得不管階段204中的決定如何階段200中的主要功能都是活動的。
決定階段204致能交換器202,以將輸出共用處理階段的輸出饋送到在第9圖的上分支所繪示的一頻率編碼部分204或在第9圖的下分支所繪示的一LPC域編碼部分206中。
在一個實施例中,交換器202在兩個編碼分支206、208之間切換。在另一實施例中,可以有諸如第三編碼分支或甚至第四編碼分支或甚至更多編碼分支的額外編碼分支。在具有三個編碼分支的一實施例中,第三編碼分支可類似於第二編碼分支,但可包括不同於第二分支208中之激勵編碼器210的一激勵編碼器。在這樣的一實施例中,第二分支包含包含LPC階段212及諸如以ACELP的一碼簿式激勵編碼器210,且第三分支包含一LPC階段及在LPC階段的輸出信號之頻譜表示上操作的一激勵編碼器。
頻域編碼分支包含一頻譜轉換方塊214,該頻譜轉換方塊214可操作以將共用預處理階段的輸出信號轉換到頻譜域。頻譜轉換方塊可包括一MDCT演算法、一QMF、一FFT演算法、小波分析或諸如具有某一數目濾波器組通道之臨界取樣濾波器組的濾波器組,其中在此濾波器組中的子頻帶信號可以是實數值信號或複數值信號。頻譜轉換方塊214的輸出使用一頻譜音訊編碼器216來編碼,該頻譜音訊編碼器216可根據本發明之實施例的編碼架構操作。
下編碼分支208包含諸如LPC 212的一源模型分析器,該源模型分析器輸出兩種類型的信號。一個信號是用於控制LPC合成濾波器之濾波器特性的LPC資訊信號。此LPC資訊被發送到一解碼器。其他LPC階段212的輸出信號是被輸入到激勵編碼器210的一激勵信號或一LPC域信號。激勵編碼器210可根據本發明之實施例的編碼架構操作。
在決定階段204中的決定可以是信號適應性的,使得決定階段204執行音樂/語音鑑別且以如下方式控制交換器202,即音樂信號被輸入到上分支206而語音信號被輸入到下分支208。在一個實施例中,決定階段將其決定資訊饋送到一輸出位元流中,使得解碼器可使用此決定資訊以便執行正確的解碼操作。
這種解碼器在第10圖中予以繪示。在發送之後,由頻譜音訊編碼器216輸出的信號被輸入到一頻譜音訊解碼器218中。頻譜音訊解碼器218的輸出被輸入到一時域轉換器220中。第9圖之激勵編碼器210的輸出被輸入到輸出一LPC域信號的一激勵解碼器222中。解碼器218及222可根據本發明之實施例的解碼架構操作。LPC域信號被輸入到一LPC合成階段224中,該LPC合成階段224接收由對應LPC分析階段212產生的LPC資訊作為另一輸入。時域轉換器220的輸出及/或LPC合成階段224的輸出被輸入到一交換器226中。交換器226藉由一交換控制信號來控制,該交換控制信號例如由決定階段產生或諸如由原始單音信號、立體聲信號或多通道信號的產生器在外部被提供。
交換器226的輸出是隨後被輸入到一共用後處理階段228的一完整單音信號,該共用後處理階段228可執行聯合立體聲處理或頻寬擴展處理等。可選擇性地,交換器的輸出也可以是一立體聲信號或一多通道信號。當預處理包括到兩個通道的一通道減小時,該輸出為一立體聲信號。當通道減小到三個通道或根本沒有通道減小而只是頻譜帶複製被執行時,該輸出甚至可能是一多通道信號。
依據共用後處理階段的特定功能,一單音信號、一立體聲信號或一多通道信號被輸出,當共用後處理階段228執行頻寬擴展操作時,該信號較被輸入到方塊228的信號具有較大的頻寬。
在一個實施例中,交換器226在兩個解碼分支218、220及222、224之間切換。在另一實施例中,可以有諸如第三解碼分支或甚至第四解碼分支或甚至更多解碼分支的額外解碼分支。在具有三個解碼分支的一實施例中,第三解碼分支可類似於第二解碼分支,但可包括不同於第二分支222、224中之激勵解碼器222的一激勵解碼器。在這樣的一實施例中,第二分支包含LPC階段224及諸如以ACELP的一碼簿式激勵解碼器,且第三分支包含一LPC階段及在LPC階段224的輸出信號之頻譜表示上操作的一激勵解碼器。
在另一實施例中,共用預處理階段包含透過降混是具有兩個或複數通道之信號的輸入信號產生聯合立體聲參數及一單音輸出信號作為輸出的一圍繞/聯合立體聲方塊。一般地,在方塊200之輸出端的信號也可以是具有複數通道的信號,但是由於該降混操作,在方塊200之輸出端的通道的數目將小於被輸入到方塊200中之通道的數目。在此實施例中,頻率編碼分支包含一頻譜轉換階段及一相繼被連接的量化/編碼階段。該量化/編碼階段可包括從諸如AAC編碼器的現代頻域編碼器所知功能中的任一功能。此外,量化/編碼階段中的量化操作可藉由一心理聲學模組來控制,該心理聲學模組產生諸如頻率上之心理聲學遮蔽臨界值的心理聲學資訊,其中此資訊被輸入到階段中。較佳地,頻譜轉換使用一MDCT操作被完成,該MDCT操作甚至更佳地是時間扭曲MDCT操作,其中強度或一般地,扭曲強度可被控制介於零與一高扭曲強度之間。在零扭曲強度情況下,MDCT操作是在本技藝領域中所知的順向(straight-forward)MDCT操作。LPC域編碼器可包括計算基頻增益、基頻延遲及/或諸如碼簿索引及編碼增益之碼簿資訊的一ACELP核心。
本發明不限於以上情況。而是本發明方法也可用於習知的MP3或AAC編碼器與解碼器。
第11圖繪示用於將信號從一發送器發送只一接收器的系統。在第11圖中所示的系統包含一發送器300,該發送器300包括例如在第9圖中所示之編碼器的一編碼器302。一般地,編碼器302根據上述實施例操作,即在發送器300的輸入端304接收的輸入信號包括一符號S,該符號S根據上述實施例被編碼器302編碼,以在該發送器的輸出端306提供包括一個或複數碼字CW的一輸出信號。該系統包含例如網路308的一通訊鏈路,包括碼字CW的信號藉由該通訊鏈路被發送至接收器310。接收器310包含用於接收一輸入信號的一輸入端312,該輸入信號包括被提供給一解碼器314的複數碼字。該解碼器314例如可以是在第10圖中所示的解碼器或根據本發明之實施例操作的任何其他類型的解碼器。如上所述,解碼器314可操作以根據所接收的碼字CW產生符號S,該符號S藉由接收器310的輸出端316在一輸出信號中被輸出。解碼符號可用於進一步處理,如產生音訊信號、視訊信號或各種各樣的信號。
在上述實施例中,予以描述了特定的碼簿配置,然而,本發明不限於這些實施例。而是不同的碼簿配置可被使用。
在另一實施例中,這樣的配置可包含具有較低維度的碼字,而由第二碼簿之碼字表示的值的範圍大於由第一碼簿表示的值的範圍。
在又一實施例中,相繼碼簿可包含具有較低維度的碼字,其中由第二碼簿及第一碼簿之碼字表示的值的範圍是相同的。
在再一實施例中,第二碼簿可包含與第一碼簿之碼字具有相同維度的碼字,其中由第二碼簿表示之值的範圍大於由第一碼簿表示之值的範圍。
上述實施例在用於編碼/解碼量化頻譜值之編碼/解碼架構的背景脈絡中予以描述。然而,本發明不限於這種環境,而是任何類型的資訊信號可根據本發明的原理被編碼/解碼。
儘管一些層面已在一裝置的背景脈絡中予以描述,然而顯然的是,這些層面也表示對應方法的描述,其中方塊或裝置與方法步驟或方法步驟的特徵對應。類似地,在方法步驟之背景脈絡中所述的層面也表示對應方塊或對應裝置之項目或特徵的描述。
依據某些實施需求,本發明之實施例可用硬體或軟體實施。實施可使用其上儲存有與可規劃電腦系統協同工作(或可與可規劃電腦系統協同工作),使得各自的方法被執行之電氣可讀控制信號的數位儲存媒體來執行,例如軟式磁碟、DVD、CD、ROM、PROM、EPROM、EEPROM或快閃記憶體。根據本發明的一些實施例包含具有可與可規劃電腦系統協同工作,使得於此所述的其中一方法被執行之電氣可讀控制信號的資料載體。
一般地,本發明的實施例可被實施為具有在電腦程式產品在電腦上執行時可操作以執行其中的一種方法之程式碼的電腦程式產品。程式碼例如可被儲存在一機器可讀載體上。其他實施例包含被儲存在一機器可讀載體上且用於執行於此所述之其中一種方法的電腦程式。因此,本發明方法的一實施例從而是具有用於在電腦程式在電腦上執行時執行於此所述之其中一種方法之程式碼的電腦程式。發明方法的另一實施例從而是包含、其上記錄有用於執行於此所述之其中一種方法之電腦程式的資料載體(或數位儲存媒體、或電腦可讀媒體)。發明方法的又一實施例從而是表示用於執行於此所述之其中一種方法之電腦程式的資料流或信號序列。該資料流或信號序列例如可被組配以藉由資料通訊連接體,例如藉由網際網路來傳送。再一實施例包含例如電腦、或可規劃邏輯裝置的被組配以或適於執行於此所述之其中一種方法的處理裝置。另一實施例包含其上安裝有用於執行於此所述之其中一種方法之電腦程式的電腦。
在一些實施例中,一可規劃邏輯裝置(例如一可現場規劃閘陣列)可用來執行於此所述之方法功能中的一些或全部。在一些實施例中,一可現場規劃閘陣列可與一微處理器協同工作,以執行於此所述的其中一種方法。一般地,方法較佳地由任一硬體裝置執行。
上述實施例針對本發明之原理只是說明性的。需理解的是,於此所述配置及細節的修改與變化對於其他在本技藝領域中具有通常知識者而言將是顯而易見的。因此,其目的是只受行將發生的專利申請範圍之範圍的限制,而不受由描述及解釋這裡的實施例所呈現的特定細節的限制。
S100~S118...流程步驟
S200~S218...編碼步驟
S300~S320...流程步驟
100、102、104、106、108...符號
110、112、114、116、118、120...記號
130...解碼器暫存器
200...共用預處理階段
202、226...交換器
204...決定階段
206、208...編碼分支
210...激勵編碼器
212...LPC分析階段
214...頻譜轉換方塊
216...頻譜音訊編碼器
218...頻譜音訊解碼器/解碼分支
220...時域轉換器/解碼分支
222...激勵解碼器/解碼分支
224...LPC合成階段/解碼分支
228...共用後處理階段
300...發送器
302...編碼器
304、312...輸入端
306、316...輸出端
308...網路
310...接收器
314...解碼器
第1圖是表示根據本發明之一實施例的編碼器架構的流程圖;第2圖顯示用於根據本發明之一實施例的編碼架構的不同碼字表(碼簿),其中第2(a)圖是用於一16維符號(16維符號=由16個值組成的一符號)的碼字表,其中第2(b)圖是用於一8維符號的碼字表,且其中第2(c)圖是用於一4維符號的碼字表;第3圖使用第2圖之碼字表繪示編碼架構;第4圖繪示根據本發明之另一實施例的編碼架構;第5圖繪示用於第4圖之編碼架構的一位準0碼字表的例子;第6圖是表示根據本發明之一實施例的解碼器架構的流程圖;第7圖使用第2圖之碼字表繪示解碼架構;第8圖繪示根據第6圖之實施例的用於一編碼符號的解碼架構;第9圖是使用根據本發明之實施例的編碼架構之示範性編碼器的方塊圖;第10圖是使用根據本發明之實施例的解碼架構之示範性解碼器的方塊圖;及第11圖繪示用於將符號從一發送器發送到一接收器的系統。
S100~S118...流程步驟
Claims (18)
- 一種用於將包含複數值的一符號編碼的方法,該方法包含:(a)決定該符號是否可由一第一碼簿的一碼字編碼;(b)若該符號可由該第一碼簿的一碼字編碼,從該第一碼簿選擇與該符號相關聯的該碼字;以及(c)若該符號不可由該第一碼簿的一碼字編碼:從該第一碼簿選擇指示該符號不可由該第一碼簿的一碼字編碼的一碼字,將該符號分成複數第一子符號,以及從一第二碼簿選擇該等第一子符號中至少一個子符號的一碼字。
- 如申請專利範圍第1項所述之方法,其進一步包含:(d)針對不可由來自該第二碼簿的一碼字編碼的每一第一子符號,將該第一子符號分成複數第二子符號,以及從一第三碼簿選擇該等第二子符號中至少一個子符號的一碼字。
- 如申請專利範圍第2項所述之方法,其中該第二或第三碼簿若該第一或第二子符號的每一值在一範圍之值內,直接表示該第一或第二子符號,由該第一或第二子符號之一個或一個以上值與一 個或一個以上特定碼字的一組合表示該第一或第二子符號,其中該第一或第二子符號的那些值由不在該範圍內的該特定碼字表示,以及若該等子符號的該等值無一是在該範圍內,只由該特定碼字表示該第一或第二子符號。
- 如申請專利範圍第3項所述之方法,其進一步包含:若該第一或第二子符號或該第一或第二子符號的一個或複數值由該特定碼字表示,針對由該特定碼字表示之該第一或第二子符號的每一值,從一另外碼簿選擇一碼字。
- 如申請專利範圍第2項所述之方法,其中:在步驟(c),從該第二碼簿選擇該等第一子符號中之每一子符號的一碼字,以及在步驟(d),從該第二碼簿選擇指示一第一子符號不可由該第二碼簿之一碼字編碼的一碼字,且從該第三碼簿選擇每一該等第二子符號的一碼字。
- 如申請專利範圍第1項所述之方法,其中在步驟(c),從該第一碼簿所選擇的該碼字進一步指示該等第一子符號中哪些包含一預定義值組合,以及在步驟(c),從該第二碼簿選擇那些不包含該預定之值組合的第一子符號的一碼字。
- 如申請專利範圍第1項所述之方法,其中該第二碼簿包含與該第一碼簿中之該等碼字具有相同維度的碼字,其中由該第二碼簿中的該等碼字表示之值的範圍大於由該 第一碼簿表示之值的範圍,或其中該第二碼簿包含維度較該第一碼簿中之該等碼字為低的碼字,其中由該第二碼簿與該第一碼簿中的該等碼字表示之值的該範圍是相同的,或其中該第二碼簿包含較該第一碼簿中之該等碼字具有較低維度的碼字,其中由該第二碼簿表示之值的範圍大於由該第一碼簿表示之值的範圍。
- 一種用於將包含複數值且由一個或複數碼字編碼的一符號解碼的方法,該方法包含:(a)決定一第一碼字是否可使用一第一碼簿完全表示該符號;(b)若該第一碼字可使用該第一碼簿完全表示該符號,使用該第一碼字從該第一碼簿選擇該符號;以及(c)若該第一碼字不可使用該第一碼簿完全表示該符號:選擇一第二碼簿用以將包含複數子符號之該符號的複數第一子符號解碼,以及使用一第二碼字從該第二碼簿選擇該等第一子符號中之至少一個子符號的一項目。
- 如申請專利範圍第8項所述之方法,其進一步包含:(d)若該第二碼簿不可完全表示該等第一子符號中之一子符號:選擇一第三碼簿用於將包含複數第二子符號之該一第一子符號的第二子符號解碼,以及 使用一第三碼字從該第三碼簿選擇用於該等第二子符號中之至少一個第二子符號的一項目。
- 如申請專利範圍第9項所述之方法,其中在步驟(c),該第一碼簿針對該第一碼字指示該符號不可從該第一碼簿解碼,且針對該等第一子符號中的每一子符號,一項目從該第二碼簿選擇,以及在步驟(d),該第二碼簿針對一第一子符號的一第二碼字指示該第一子符號不可由該第二碼簿解碼,且針對該等第二子符號中的每一子符號,一項目從該第三碼簿被選擇。
- 如申請專利範圍第8項所述之方法,其中在步驟(c),該第一碼簿針對該第一碼字指示該符號不可從該第一碼簿解碼,及該等第一子符號中哪些包含一預定義值組合,以及在步驟(c),針對不包含該預定義值組合的那些子符號,一項目從該第二碼簿被選擇。
- 如申請專利範圍第8項所述之方法,其中該第二碼簿包含與該第一碼簿中之該等碼字具有相同維度的碼字,其中由該第二碼簿中的該等碼字表示之值的範圍大於由該第一碼簿表示之值的範圍,或其中該第二碼簿包含維度較該第一碼簿中之該等碼字為低的碼字,其中由該第二碼簿與該第一碼簿中的該等碼字表示之值的該範圍是相同的,或其中該第二碼簿包含較該第一碼簿中之該等碼字 具有較低維度的碼字,其中由該第二碼簿表示之值的範圍大於由該第一碼簿表示之值的範圍。
- 一種用於將一符號從一發送器發送至一接收器的方法,該方法包含以下步驟:依據申請專利範圍第1項到第6項中的任一項將該符號編碼;將該等選擇碼字從該發送器發送至該接收器,依據申請專利範圍第7項到第11項中的任一項將該等所接收碼字解碼,以獲得該符號;以及提供該符號用於進一步處理。
- 一種電腦程式,當其在一電腦上執行時,用於將包含複數值的一符號編碼的方法,該方法包含:(a)決定該符號是否可由一第一碼簿的一碼字編碼;(b)若該符號可由該第一碼簿的一碼字編碼,從該第一碼簿選擇與該符號相關聯的該碼字;以及(c)若該符號不可由該第一碼簿的一碼字編碼:從該第一碼簿選擇指示該符號不可由該第一碼簿的一碼字編碼的一碼字,將該符號分成複數第一子符號,以及從一第二碼簿選擇該等第一子符號中至少一個子符號的一碼字。
- 一種電腦程式,當其在一電腦上執行時,一種用於將包含複數值且由一個或複數碼字編碼的一符號解碼的方法,該方法包含: (a)決定一第一碼字是否可使用一第一碼簿完全表示該符號;(b)若該第一碼字可使用該第一碼簿完全表示該符號,使用該第一碼字從該第一碼簿選擇該符號;以及(c)若該第一碼字不可使用該第一碼簿完全表示該符號:選擇一第二碼簿用以將包含複數子符號之該符號的複數第一子符號解碼,以及使用一第二碼字從該第二碼簿選擇該等第一子符號中之至少一個子符號的一項目。
- 一種編碼器,其包含:一輸入端,用於接收包含一符號的一輸入信號;一編碼器電路,用於將來自該輸入信號的該符號編碼,其中該編碼器電路被組配以根據如申請專利範圍第1項到第6項中的任一項所述之方法將該符號編碼;以及一輸出端,用於提供包含表示該符號之該等選擇碼字的一輸出信號。
- 一種解碼器,其包含:一輸入端,用於接收包含表示一符號之複數碼字的一輸入信號;一解碼器電路,用於將來自該輸入信號的該等碼字解碼,其中該解碼器電路被組配以根據如申請專利範圍第7項到第11項中的任一項所述之方法將該等碼字解碼;以及 一輸出端,用於提供包含該符號的一輸出信號。
- 一種用於將一符號從一發送器發送至一接收器的系統,該系統包含:一如申請專利範圍第14項所述之編碼器;一耦接到該編碼器的發送器;一耦接到該發送器的通訊鏈路;一耦接到該通訊鏈路的接收器;以及一耦接到該接收器的如申請專利範圍第15項所述之解碼器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7985308P | 2008-07-11 | 2008-07-11 | |
PCT/EP2009/004718 WO2010003574A1 (en) | 2008-07-11 | 2009-06-30 | Method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201007706A TW201007706A (en) | 2010-02-16 |
TWI453734B true TWI453734B (zh) | 2014-09-21 |
Family
ID=41198571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098123429A TWI453734B (zh) | 2008-07-11 | 2009-07-10 | 用以將符號編碼之方法、用以將符號解碼之方法、用以將符號從發送器發送至接收器之方法、編碼器、解碼器、及用以將符號從發送器發送至接收器之系統 |
Country Status (18)
Country | Link |
---|---|
US (1) | US8547255B2 (zh) |
EP (1) | EP2297856B1 (zh) |
JP (1) | JP5106684B2 (zh) |
KR (1) | KR101226566B1 (zh) |
CN (1) | CN102124655B (zh) |
AR (1) | AR072499A1 (zh) |
AU (1) | AU2009267477B2 (zh) |
BR (1) | BRPI0910787B1 (zh) |
CA (1) | CA2730202C (zh) |
DK (1) | DK2297856T3 (zh) |
ES (1) | ES2941677T3 (zh) |
FI (1) | FI2297856T3 (zh) |
MX (1) | MX2011000374A (zh) |
PL (1) | PL2297856T3 (zh) |
PT (1) | PT2297856T (zh) |
RU (1) | RU2493651C2 (zh) |
TW (1) | TWI453734B (zh) |
WO (1) | WO2010003574A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MX2011000375A (es) * | 2008-07-11 | 2011-05-19 | Fraunhofer Ges Forschung | Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada. |
CN102891927A (zh) * | 2011-07-17 | 2013-01-23 | 白壮 | 一种基于音频空气传输的手机近距离通信方法 |
KR101857123B1 (ko) | 2011-10-31 | 2018-05-14 | 한국전자통신연구원 | 로봇 소프트웨어간 통신을 위한 데이터 인코딩 및 디코딩 장치와 그 방법 |
US9865269B2 (en) * | 2012-07-19 | 2018-01-09 | Nokia Technologies Oy | Stereo audio signal encoder |
BR102014006340B1 (pt) * | 2013-03-15 | 2022-02-01 | Hughes Network Systems, Llc | Método e aparelho para compressão e descompressão de dados por estágios |
SG11201509526SA (en) | 2014-07-28 | 2017-04-27 | Fraunhofer Ges Forschung | Apparatus and method for selecting one of a first encoding algorithm and a second encoding algorithm using harmonics reduction |
JP6517346B2 (ja) * | 2014-12-22 | 2019-05-22 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 指示情報を伝送するための方法および装置 |
CN107113849B (zh) | 2014-12-22 | 2019-07-23 | 华为技术有限公司 | 传输指示信息的方法和装置 |
US9628111B2 (en) | 2015-05-11 | 2017-04-18 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor with multiple string match search hash tables each based on different hash size |
US9509335B1 (en) | 2015-05-11 | 2016-11-29 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that constructs and uses dynamic-prime huffman code tables |
US9509336B1 (en) | 2015-05-11 | 2016-11-29 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that pre-huffman encodes to decide whether to huffman encode a matched string or a back pointer thereto |
US10027346B2 (en) | 2015-05-11 | 2018-07-17 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that maintains sorted symbol list concurrently with input block scanning |
US9503122B1 (en) | 2015-05-11 | 2016-11-22 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that sorts hash chains based on node string match probabilities |
US9515678B1 (en) | 2015-05-11 | 2016-12-06 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor that directly huffman encodes output tokens from LZ77 engine |
US9509337B1 (en) | 2015-05-11 | 2016-11-29 | Via Alliance Semiconductor Co., Ltd. | Hardware data compressor using dynamic hash algorithm based on input block type |
US10756755B2 (en) * | 2016-05-10 | 2020-08-25 | Immersion Networks, Inc. | Adaptive audio codec system, method and article |
US10531099B2 (en) | 2016-09-30 | 2020-01-07 | The Mitre Corporation | Systems and methods for distributed quantization of multimodal images |
US11196594B2 (en) * | 2019-02-28 | 2021-12-07 | Nokia Solutions And Networks Oy | Probabilistic signal shaping using multiple codebooks |
US11380343B2 (en) | 2019-09-12 | 2022-07-05 | Immersion Networks, Inc. | Systems and methods for processing high frequency audio signal |
US10917109B1 (en) * | 2020-03-06 | 2021-02-09 | Centre National De La Recherche Scientifique | Methods for storing digital data as, and for transforming digital data into, synthetic DNA |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408234A (en) * | 1993-04-30 | 1995-04-18 | Apple Computer, Inc. | Multi-codebook coding process |
TW584835B (en) * | 2002-12-13 | 2004-04-21 | Univ Nat Chiao Tung | Method and architecture of digital coding for transmitting and packing audio signals |
TWI242935B (en) * | 2004-10-21 | 2005-11-01 | Univ Nat Sun Yat Sen | Encode system, decode system and method |
TWI246255B (en) * | 2003-11-14 | 2005-12-21 | Univ Nat Taiwan | Parallel embedded block encoder |
US20060106870A1 (en) * | 2004-11-16 | 2006-05-18 | International Business Machines Corporation | Data compression using a nested hierarchy of fixed phrase length dictionaries |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4843389A (en) * | 1986-12-04 | 1989-06-27 | International Business Machines Corp. | Text compression and expansion method and apparatus |
DE3943881B4 (de) | 1989-04-17 | 2008-07-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Digitales Codierverfahren |
JP2998532B2 (ja) * | 1993-02-03 | 2000-01-11 | 日本電気株式会社 | 二次元符号化テーブルのアドレス生成回路 |
CA2156889C (en) * | 1994-09-30 | 1999-11-02 | Edward L. Schwartz | Method and apparatus for encoding and decoding data |
EP0873018B1 (en) * | 1996-11-06 | 2002-09-25 | Matsushita Electric Industrial Co., Ltd. | Image decoding method |
US6622145B2 (en) * | 2001-03-30 | 2003-09-16 | Sharp Laboratories Of America | Huffman coding for infinite symbol sets |
FI110373B (fi) * | 2001-04-11 | 2002-12-31 | Nokia Corp | Menetelmä pakatun audiosignaalin purkamiseksi |
FI110729B (fi) * | 2001-04-11 | 2003-03-14 | Nokia Corp | Menetelmä pakatun audiosignaalin purkamiseksi |
JP4447903B2 (ja) * | 2003-12-11 | 2010-04-07 | キヤノン株式会社 | 信号処理装置、信号処理方法、記録媒体及びプログラム |
US7209059B2 (en) | 2004-12-06 | 2007-04-24 | Matsushita Electric Industrial Co., Ltd. | Decoding method and encoding method |
US7788106B2 (en) * | 2005-04-13 | 2010-08-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Entropy coding with compact codebooks |
TW200746655A (en) * | 2005-11-18 | 2007-12-16 | Sony Corp | Encoding device and method, decoding device and method, and transmission system |
-
2009
- 2009-06-30 PT PT97768915T patent/PT2297856T/pt unknown
- 2009-06-30 FI FIEP09776891.5T patent/FI2297856T3/fi active
- 2009-06-30 CA CA2730202A patent/CA2730202C/en active Active
- 2009-06-30 EP EP09776891.5A patent/EP2297856B1/en active Active
- 2009-06-30 ES ES09776891T patent/ES2941677T3/es active Active
- 2009-06-30 RU RU2011104005/08A patent/RU2493651C2/ru active
- 2009-06-30 KR KR1020117000679A patent/KR101226566B1/ko active IP Right Grant
- 2009-06-30 BR BRPI0910787 patent/BRPI0910787B1/pt active IP Right Grant
- 2009-06-30 DK DK09776891.5T patent/DK2297856T3/da active
- 2009-06-30 WO PCT/EP2009/004718 patent/WO2010003574A1/en active Application Filing
- 2009-06-30 CN CN200980127113.5A patent/CN102124655B/zh active Active
- 2009-06-30 PL PL09776891.5T patent/PL2297856T3/pl unknown
- 2009-06-30 MX MX2011000374A patent/MX2011000374A/es active IP Right Grant
- 2009-06-30 AU AU2009267477A patent/AU2009267477B2/en active Active
- 2009-06-30 JP JP2011517002A patent/JP5106684B2/ja active Active
- 2009-07-10 TW TW098123429A patent/TWI453734B/zh active
- 2009-07-13 AR ARP090102628A patent/AR072499A1/es active IP Right Grant
-
2011
- 2011-01-11 US US13/004,374 patent/US8547255B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408234A (en) * | 1993-04-30 | 1995-04-18 | Apple Computer, Inc. | Multi-codebook coding process |
TW584835B (en) * | 2002-12-13 | 2004-04-21 | Univ Nat Chiao Tung | Method and architecture of digital coding for transmitting and packing audio signals |
TWI246255B (en) * | 2003-11-14 | 2005-12-21 | Univ Nat Taiwan | Parallel embedded block encoder |
TWI242935B (en) * | 2004-10-21 | 2005-11-01 | Univ Nat Sun Yat Sen | Encode system, decode system and method |
US20060106870A1 (en) * | 2004-11-16 | 2006-05-18 | International Business Machines Corporation | Data compression using a nested hierarchy of fixed phrase length dictionaries |
Also Published As
Publication number | Publication date |
---|---|
MX2011000374A (es) | 2011-03-15 |
US8547255B2 (en) | 2013-10-01 |
AR072499A1 (es) | 2010-09-01 |
CA2730202A1 (en) | 2010-01-14 |
WO2010003574A1 (en) | 2010-01-14 |
BRPI0910787B1 (pt) | 2019-12-03 |
AU2009267477A1 (en) | 2010-01-14 |
CA2730202C (en) | 2015-01-20 |
CN102124655B (zh) | 2014-08-27 |
RU2493651C2 (ru) | 2013-09-20 |
KR101226566B1 (ko) | 2013-01-28 |
PT2297856T (pt) | 2023-04-10 |
RU2011104005A (ru) | 2012-08-20 |
JP5106684B2 (ja) | 2012-12-26 |
EP2297856B1 (en) | 2023-01-04 |
KR20110038033A (ko) | 2011-04-13 |
FI2297856T3 (fi) | 2023-03-30 |
DK2297856T3 (da) | 2023-03-20 |
JP2011527540A (ja) | 2011-10-27 |
TW201007706A (en) | 2010-02-16 |
PL2297856T3 (pl) | 2023-05-08 |
BRPI0910787A2 (pt) | 2016-08-02 |
EP2297856A1 (en) | 2011-03-23 |
ES2941677T3 (es) | 2023-05-24 |
CN102124655A (zh) | 2011-07-13 |
AU2009267477B2 (en) | 2013-06-20 |
US20110200125A1 (en) | 2011-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI453734B (zh) | 用以將符號編碼之方法、用以將符號解碼之方法、用以將符號從發送器發送至接收器之方法、編碼器、解碼器、及用以將符號從發送器發送至接收器之系統 | |
CN101160726B (zh) | 参数压缩单元和解码器以及相应的方法 | |
EP1854218B1 (en) | Lossless encoding of information with guaranteed maximum bitrate | |
CA2601821A1 (en) | Planar multiband antenna | |
JP2005189886A (ja) | オーディオ信号の符号化効率を向上させる方法 | |
EP1187338A2 (en) | Method and apparatus for performing variable-size vector entropy coding | |
KR100307596B1 (ko) | 디지털 오디오 데이터의 무손실 부호화 및 복호화장치 | |
EP0869620A2 (en) | Digital data coding/decoding method and apparatus | |
JP2005524300A (ja) | コードワードインデックスに対してパラメータ値のマッピングを行うための適応型方法およびシステム | |
JP4179638B2 (ja) | デジタル情報信号の算術エンコーディング/デコーディング | |
WO2011150810A1 (zh) | 数据编码方法、解码方法、编码器和解码器 | |
JP2002515659A (ja) | 改善された信号符号器および復号器を使用する伝送システム | |
CN101160725A (zh) | 确保最大比特率的无损信息编码 | |
WO2011162723A1 (en) | Entropy encoder arrangement and entropy decoder arrangement | |
JP4351684B2 (ja) | ディジタル信号復号化方法、装置、プログラム及び記録媒体 | |
CN101198040B (zh) | 图像压缩的编码方法 | |
Clüver et al. | Multiple-description coding of logarithmic PCM | |
EP1553704A2 (en) | Digital data coding/decoding method and apparatus | |
JP2002368622A (ja) | 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム | |
WO2017045731A1 (en) | A method and apparatus for controlling rematrixing | |
JPH0728500A (ja) | 音声符号器及び音声復号器 |