專利名稱:可伸縮地編解碼音頻數據的方法和裝置的制作方法
技術領域:
本發明涉及編碼和解碼音頻數據,尤其特別的是,涉及用于編碼音頻數據,以便編碼的音頻比特流具有可伸縮的比特率的方法和裝置,以及用于解碼音頻數據的方法和裝置。
背景技術:
由于近來數字信號處理技術的發展,多數情況下音頻信號通常被存儲成數字信號并且再現。數字音頻存儲/恢復裝置通過采樣和量化把音頻信號變換成脈沖編碼調制(PCM),也就是數字信號。通過這樣的操作,數字音頻存儲/再現裝置在信息存儲介質,比如光盤(CD)和數字化視頻光盤(DVD)中存儲PCM音頻數據,并響應用戶的命令再現存儲的信號以便用戶能聽音頻數據。相對于使用密紋(LP)記錄或磁帶的模擬方法來說,數字存儲/恢復方法大大地提高了音頻質量,并顯著減少了由長的存儲周期引起的惡化。然而,由于大量的數字數據,數字方法在存儲和傳輸方面存在問題。
為解決該問題,各種壓縮方法被用于壓縮數字音頻信號。
在由國際標準化組織標準化的運動圖象專家組(MPEG)中,或者由Dolby開發的AC-2/AC-3中,使用音質模型減少了數據量。作為結果,數據量能被有效地減少而不管信號的特性如何。就是說,MPEG/音頻標準或AC-2/AV-3方法能以僅僅64~384Kbps的比特率提供幾乎與CD相同的音頻質量,該比特率是先前數字編碼方法的比特率的1/6到1/8。
然而,在這些方法中,搜索適用于固定比特率的最佳狀態并且接著執行量化和編碼。因此,如果在通過網絡發送比特流時由于網絡條件很差而使得傳輸帶寬被降低,可能會出現斷開和適當的服務不能再提供給用戶。此外,當比特流期望被變換成較小尺寸的比特流以更適用于具有有限存儲容量的移動裝置時,應該執行再編碼處理以減少比特流的尺寸,并增加了所需的計算量。
為解決該問題,本發明的的申請人提出了韓國專利申請No.97-61298,1997年11月19日,標題“使用位切片算法編碼(BSAC)的可伸縮比特率音頻編碼/解碼的方法和裝置”,此專利在2000年4月17日被授權,韓國專利號No.261253。根據BSAC技術,具有高比特率編碼的比特流能被變成具有低比特率的比特流,并能夠只用部分的比特流進行恢復。因此,當網絡過載時,或者解碼器的性能很差時,或用戶請求低比特率時,通過只使用部分的比特流,可以把具有一定音頻質量的服務提供給用戶,盡管隨著比特率的下降,質量會不可避免地成比例地下降。
然而,由于BSAC技術采用算術編碼,復雜性很高,并且當BSAC技術在實際的裝置中被實現時,成本增加。此外,由于BSAC技術利用修正離散余弦變換(MDCT)來進行音頻信號的變換,低層中的音頻質量會被嚴重的損壞。
發明內容
發明提供了用于可伸縮地(with scalability)編解碼音頻數據的一種方法和裝置,通過該方法和裝置為精細粒度可伸縮性(FGS)提供較低的復雜度。
本發明還提供用于可伸縮地編解碼音頻數據的一種方法和裝置,通過該方法和裝置,即使在提供FGS時,也能在低層提供較好的音頻質量。
根據本發明的一個方面,提供了用于可伸縮地編碼音頻數據的方法,包括編碼對應于第一層、包含定標因子信息和編碼模型信息的附加信息,通過參照編碼模型信息,以從利用最高有效位(MSB)形成的符號直到利用最低有效位(LSB)形成的符號的方式,按順序以符號為單位編碼對應于第一層的多個量化樣本,以及隨著每次逐層增加層的序數,重復執行步驟,直到完成預定的多個層的編碼。
根據本發明的另一個方面,提供了一種編碼方法,包括切片(slicing)音頻數據以使切片音頻數據對應于多個層,獲得對應于多個層的每個的定標段信息和編碼段信息,基于對應于第一層的定標段信息和編碼段信息編碼包含定標因子信息和編碼模型信息的附加信息,通過參照定標因子信息量化對應于第一層的音頻數據,獲得量化樣本,通過參照編碼模型信息,以從利用最高有效位(MSB)形成的符號直到利用最低有效位(LSB)形成的符號的方式,按順序以符號為單位編碼所得到的多個量化樣本,以及隨著每次逐層增加層的序數,重復執行步驟,直到完成預定的多個層的編碼。
該方法可以進一步包括,在編碼附加信息之前,獲得多個層的每個中所允許的比特范圍,其中在獲得的多個量化樣本的編碼中,編碼比特的數目被計數,和如果計數的比特的數目超過相應于比特的比特范圍,編碼停止,以及即使在量化樣本全被編碼之后,如果計數的比特的數目小于相應于比特的比特范圍,在低層編碼被完成之后仍然未編碼的比特被編碼到比特范圍允許的范圍。
此外,音頻數據的切片包括執行音頻數據的子波變換,并且通過參照截止頻率切片子波變換的數據,使得切片的數據對應于多個層。
音頻數據的編碼可以包括差分編碼定標因子信息和編碼模型信息。
多個量化樣本的編碼可以包括赫夫曼編碼(Huffman coding),并且多個量化樣本的編碼可以包括在比特平面上映射多個量化樣本,并按照從利用最高有效位(MSB)形成的符號直到利用最低有效位(LSB)形成的符號的順序,在對應于樣本的一個層中允許的比特范圍內以符號為單位編碼樣本。
在多個量化樣本的映射中,K個量化樣本被映射在比特平面上,并且在樣本的編碼中,獲得對應于由K比特二進制數據形成的符號的標量值,并通過參照K比特二進制數據,獲得的標量值,和對應于高于比特平面上當前符號的一個符號的標量值執行赫夫曼編碼,其中K是一個整數。
根據本發明的另一個方面,提供了一種方法,用于可伸縮地解碼在分層結構中被編碼的音頻數據,包括解碼包含對應于第一層的定標因子信息和編碼模型信息的附加信息,按照從由最高有效位(MSB)形成的符號到由最低有效位(LSB)形成的符號的順序,以符號為單位解碼音頻數據,并通過參照編碼模型信息獲得量化樣本,通過參照定標因子信息反向量化所獲得的量化樣本,反向變換該反向量化樣本,以及隨著每次逐層增加層的序數,重復執行步驟,直到完成預定的多個層的解碼。
附加信息的解碼包括差分解碼定標因子和編碼模型信息。
在解碼音頻數據中,通過赫夫曼解碼獲得量化樣本。此外,音頻數據的解碼可以進一步包括按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序,在對應于音頻數據的層中所允許的比特范圍內以符號為單位解碼音頻數據,以及從其上安排了解碼的符號的比特平面獲得量化樣本。
在解碼音頻數據時,獲得由解碼符號形成的4*K比特平面,并且在獲得量化樣本時,從4*K比特平面獲得K個量化樣本,其中K是一個整數。
根據本發明的另一個方面,提供了一種裝置,用于可伸縮地解碼在分層結構中被編碼的音頻數據,包括解封單元,其解碼包含對應于第一層的定標因子信息和編碼模型信息的附加信息,并且通過參照編碼模型信息,按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序以符號為單位解碼音頻數據和獲得量化的樣本;反向量化單元,其通過參照定標因子信息反向量化所獲得的量化樣本;和反向變換單元,其反向變換該反向量化樣本。
解封單元差分解碼定標因子信息和編碼模型信息,并通過赫夫曼解碼輸出量化樣本。解封單元按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序,在對應于音頻數據的層中所允許的比特范圍內以符號為單位解碼音頻數據,并且從其上安排了解碼的符號的比特平面獲得量化樣本。解封單元獲得由解碼的符號形成的4*K比特平面,并且接著從4*K比特平面獲得K個量化樣本,其中K是一個整數。
根據本發明的另一個方面,提供了一種裝置,用于可伸縮地解碼音頻數據,包括變換音頻數據的變換單元;量化單元,其通過參照定標因子信息量化對應于每層的變換音頻數據,并輸出量化樣本;和封裝單元,其編碼包含對應于每層的定標因子信息和編碼模型信息的附加信息,并且通過參照編碼模型信息,按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序,以符號為單位編碼來自量化單元的多個量化樣本。
封裝單元獲得對應于多個層的每個的定標段信息和編碼段信息,并基于對應于每層的定標段信息和編碼段信息編碼包含定標因子信息和編碼模型信息的附加信息。
另外,封裝單元計數編碼的比特的數目,如果計數的比特數超過相應于比特的比特范圍,編碼停止,并且即使在量化樣本全被編碼之后,如果計數的比特數小于相應于比特的比特范圍,將低層編碼完成之后仍然未編碼的比特編碼到比特范圍允許的范圍。
變換單元對音頻數據執行子波變換。
封裝單元通過參照一個截止頻率切片子波變換數據,使得切片的數據對應于多個層。
封裝單元差分編碼定標因子信息和編碼模型信息。
封裝單元赫夫曼編碼量化樣本。特別是,封裝單元在比特平面上映射多個量化樣本,并按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序,在對應于符號的層中所允許的比特范圍內以符號為單位解碼符號。
封裝單元在比特平面上映射K個量化樣本,獲得對應于由K比特二進制數據形成的符號的標量值,并通過參照K比特二進制數據,獲得的標量值,和對應于高于比特平面上當前符號的一個符號的標量值執行赫夫曼編碼,其中K是一個整數。
通過結合參考附圖詳細描述本發明的優選實施例,本發明的上述目的和優點將變得更加清楚,其中圖1是根據本發明的一個優選實施例的編碼裝置的方框圖;圖2是根據本發明的優選實施例的解碼裝置的方框圖;圖3是幀的結構圖,所述的幀形成在分層結構中編碼的比特流以便能夠控制比特率;圖4是附加信息的結構的詳細圖;圖5是參考圖,用以解釋按照本發明的一種編碼方法;圖6是參考圖,用以更加具體地解釋按照本發明的編碼方法;圖7是流程圖,用于解釋按照本發明優選實施例的編碼方法;圖8是流程圖,用于解釋按照本發明的優選實施例的解碼方法;而圖9是流程圖,用于解釋按照本發明的另一個優選實施例的解碼方法。
具體實施例方式
參考圖1,按照本發明,編碼裝置以分層結構編碼音頻數據,以便能控制編碼的比特流的比特率,并且包括變換單元11,音質單元12,量化單元13,和比特封裝單元14。
變換單元11接收作為時域音頻信號的脈沖編碼調制(PCM)音頻數據,并把信號變換成頻域信號,其中參照由音質單元12提供的有關音質模型的信息。當人能感知的音頻信號的特性之間的差在時域中不是很大時,在通過變換獲得的頻域音頻信號中,人能感知的信號和不能被人所感知的信號的特性之間具有大的差別。所以,通過差分分配到各個頻段的比特的數目,壓縮效率可以被提高。在本發明實施例中,變換單元11執行子波變換。在MDCT中,由于低頻段中不必要的高頻分辨率,甚至輕微的失真也可引起能由人耳朵感覺到的降級。然而,在子波變換中,時間/頻率分辨率是更合適的,以至于可以提供更穩定的音頻質量,即使是在具有低頻段的低層中。
音質單元12提供音質模型的信息,比如沖擊感信息給變換單元11,并把變換單元11變換的音頻信號組合成適當子頻段的信號。此外,音質單元12通過使用各個信號之間的交互作用所引起的屏蔽效應計算每個子頻段中的屏蔽門限,并提供該門限值給量化單元13。屏蔽門限是由于信號間的交互作用而不能被人所感覺到的信號的最大值。在本實施例中,音質單元12通過兩耳屏蔽電平降低(binaural masking level depression)(BMLD)來計算立體聲分量的屏蔽門限。
量化單元13根據相應于音頻信號的定標因子信息在每個頻段標量量化音頻信號,使得頻段中量化噪聲的水平小于音質單元12所提供的屏蔽門限,以致人不能感知到噪聲。接著,量化單元13輸出量化的樣本。就是說,通過使用音質單元12中計算的屏蔽門限和每個頻段產生的作為噪聲比率的噪聲-屏蔽比率(NMR),量化單元13執行量化,使得全頻段中的NMR值是0dB或更小。0dB或更小的NMR值意味著人不能感知量化噪聲。
比特封裝單元14編碼屬于每層的量化樣本和附加信息,并以分層結構封裝編碼信號。附加信息包括每層中的定標段信息,編碼段信息,它們的定標因子信息,和編碼模型信息。定標段信息和編碼段信息可以被封裝成首部信息,并且接著被發送到解碼裝置。否則,定標段信息和編碼段信息可以被編碼和封裝成每層的附加信息,并接著發送到解碼裝置。定標段信息和編碼段信息可以不被發送到解碼裝置,因為在一些情況下它們被預存在解碼裝置中。
更為特別的是,當編碼包含對應于第一層的定標因子信息和編碼模型信息的附加信息時,比特封裝單元14參照對應于第一層的編碼模型信息,按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序,以符號為單位執行樣本和信息的編碼。接著,在第二層中,相同的處理被重復執行。就是說,隨著層數的增加而執行編碼,直到多個預定層的編碼被完成。在本實施例中,比特封裝單元14差分編碼定標因子信息和編碼模型信息,并赫夫曼編碼量化樣本。后面將解釋根據本發明編碼的比特流的分層結構。
定標段信息是指用于按照音頻信號的頻率特性更合適地執行量化的信息。當頻率區域被分成多個頻段并且一個合適的定標因子被分配到每個頻段時,定標段信息指示相應于每層的定標段。這樣,每層屬于至少一個定標段。每個定標段具有一個分配的定標因子。此外,編碼段信息是指用于根據音頻信號的頻率特性更合適地執行編碼的信息。當頻率區域被分成多個頻段并且適當的編碼模型被分配到每個頻段時,編碼段信息指示對應于每層的編碼段。定標段和編碼段以經驗為主進行劃分,并且分別與之對應的定標因子和編碼模型基于相同的方式被確定。
圖2是按照本發明的優選實施例的解碼裝置的方框圖。
參考圖2,解碼裝置解碼比特流到由網絡條件,解碼裝置的性能和用戶的選擇所確定的目標層,使得比特流的比特率能被控制。解碼裝置包括解封單元21,反向量化單元22,和反向變換單元23。
解封單元21解封比特流到目標層,并解碼每層中的比特流。就是說,包含相應于每層的定標因子信息和編碼模型信息的附加信息被解碼,并接著基于獲得的編碼模型信息,屬于該層的編碼量化樣本被解碼,并且量化樣本被恢復。在本實施例中,解封單元21差分解碼定標因子信息和編碼模型信息,并赫夫曼解碼所編碼的量化樣本。
同時,從比特流的首部信息,或通過解碼每層中的附加信息,獲得定標段信息和編碼段信息。可替換的,解碼裝置可以提前存儲定標段信息和編碼段信息。按照相應于樣本的定標因子信息,反向量化單元22反向量化和恢復每層中的量化樣本。反向變換單元23頻率/時間映射所恢復的樣本,以便把樣本變換成時域的PCM音頻數據,并輸出它。
圖3是幀的結構圖,所述幀形成以分層結構編碼的比特流,使得可以控制比特率。
參考圖3,按照本發明的比特流的幀通過映射量化樣本和附加信息被編碼到分層結構,以獲得精細粒度可伸縮性(FGS)。換句話說,低層比特流被包括在分層結構的增強層比特流中。每層中需要的附加信息被分配到每層并接著被編碼。
用于存儲首部信息的首部區域被放在比特流的前面,然后有關層0的信息在首部區域之后被封裝,接著,屬于作為增強層的層1-N的信息按順序被封裝。從首部區域至層0信息的層被稱作基層,從首部區域至層1信息的層被稱作層1,和從首部區域至層2信息的層被稱作層2。同樣,最上層表示從首部區域至層N信息,就是說,從基層到作為增強層的層N。附加信息和編碼音頻數據被存儲成每個層信息。例如,附加信息2和編碼量化樣本被存儲成層2信息。這里,N是大于或等于1的一個整數。
圖4是附加信息的結構的詳細圖。
參考圖4,附加信息和編碼量化樣本被存儲成任意的附加信息,并在本實施例中,附加信息包括赫夫曼編碼模型信息,量化因子信息,有關信道的附加信息,和其它附加信息。赫夫曼編碼模型信息是赫夫曼編碼模型的索引信息,應該被用于編碼或解碼屬于相應于該信息的層的量化樣本。量化因子信息指示量化步長,該步長用于量化或反向量化屬于相應于信息的層的音頻數據。有關信道的附加信息是有關信道的諸如M/S立體聲的信息。其它附加信息是有關是否使用M/S立體聲的標志信息。
在本實施例中,比特封裝單元14對赫夫曼編碼模型信息和量化因子信息執行差分編碼。在差分編碼中,一個直接在先頻段的值的差分值被編碼。有關信道的附加信息被赫夫曼編碼。
圖5是參考圖,用于更具體地解釋根據本發明的編碼方法。
參考圖5,要編碼的量化樣本具有3-層結構。斜線矩形表示包括量化樣本的頻譜線,實線表示定標段,虛線表示編碼段。定標段(1),(2),(3),(4)和(5)以及編碼段(1),(2),(3),(4)和(5)屬于層0。定標段(5)和(6)以及編碼段(6),(7),(8),(9)和(10)屬于層1。定標段(6)和(7)以及編碼段(11),(12),(13),(14)和(15)屬于層2。同時,定義層0,使得執行編碼直到頻段(a),定義層1,使得執行編碼直到頻段(b),并且定義層2,使得執行編碼直到頻段(c)。
首先,使用相應編碼模型在100的比特范圍內編碼屬于層0的量化樣本。此外,作為層0的附加信息,屬于層0的定標段(1),(2),(3),(4)和(5)以及編碼段(1),(2),(3),(4)和(5)被編碼。在以符號為單位編碼量化樣本時,比特的數目被計數。如果計數的比特數超過允許的比特范圍,層0的編碼被停止,并且層1被算術編碼。在屬于層0的量化樣本中,當層0和1中的允許比特數仍然有空間時,未編碼的量化樣本下一次被編碼。
接下來,屬于層1的量化樣本被編碼,其中使用屬于層1的編碼段,就是說,編碼段(6),(7),(8),(9)和(10)中要編碼的量化樣本所屬的一個編碼段的編碼模型。此外,作為層1的附加的信息,屬于層1的定標段(5)和(6)以及編碼段(6),(7),(8),(9)和(10)被編碼。甚至在編碼相應于層1的所有樣本之后,如果在允許的比特范圍,即100比特中仍然有空間,層0中剩余的未編碼比特被編碼,直到允許比特,即100比特被計數到。如果針對編碼而計數的比特數超過允許比特范圍,層1的編碼被停止,并且層2的編碼開始。
最后,屬于層2的量化樣本被編碼,其中使用屬于層2的編碼段,即編碼段(11),(12),(13),(14)和(15)中要編碼的量化樣本所屬的一個編碼段的編碼模型。此外,作為層2的附加信息,屬于層2的定標段(6)和(7)以及編碼段(11),(12),(13),(14)和(15)被編碼。甚至在編碼相應于層2的所有樣本之后,如果在允許的比特范圍,即100比特中仍然有空間,層0中剩余的未編碼比特被編碼,直到允許的比特,即100比特被計數到。
如果所有的量化樣本被編碼而不考慮層0的允許比特范圍,即如果所有的量化樣本被編碼,甚至在編碼比特數超過允許比特范圍,即100之后(這意味著下一層,即層1的允許比特范圍中的一些比特被用于編碼當前層),通常的情況是,屬于層1的量化樣本不能被編碼。因此,在可伸縮解碼的情況下,如果在范圍到層1的層上執行解碼,由于相應于層1的范圍到預定頻段(b)的所有量化樣本不被編碼,在低于(b)的頻率上解碼的量化樣本會波動,導致“Birdy”效應,其中音頻質量會惡化。
在確定多個層中(目標層)時,分配比特范圍,其中考慮到被編碼的所有音頻數據的整體大小。這樣,沒有可能因為其中安排被編碼的比特的比特范圍的缺陷而不執行編碼。
在以和編碼處理相反的方式執行解碼時,按照允許的比特范圍計數比特數。因此,預定層的解碼定時點能被識別。
圖6是參考圖,用以更具體地解釋按照本發明的編碼方法。
按照本發明,比特封裝單元14通過比特明碼(bit-plain)編碼和赫夫曼編碼在對相應于每個層的量化樣本執行編碼。多個量化樣本被映射在比特平面上,以便接著以二進制形式表示,并在每層的允許的比特范圍內,按照從由MSB形成的符號直到由LSB形成的符號的順序被編碼。比特平面上重要的信息首先被編碼,而相對不太重要的信息隨后被編碼。通過這樣操作,相應于每層的比特率和頻段在編碼處理中被固定,使得能夠減少被稱作“Bridy效應”的失真。
圖6示例了在此情況下的編碼例子,其中包括MSB的符號的比特數是4或更少。當量化樣本9,2,4,和0被映射在比特平面上時,它們以二進制形式被表示,也就是,分別為1001b,0010b,0100b和0000b。就是說,在本實施例中,作為比特平面上的編碼單元的編碼塊的大小是4*4。
由MSB形成的符號msb是“1001b”,由下一MSB形成的符號msb-1是“0010b”,由下一MSB形成的符號msb-2是“0100b”,由LSB形成的符號msb-3是“1000b”。
用于赫夫曼編碼的赫夫曼模型信息,即碼本索引被示于表1表1
根據表1,對于相同有效水平(本實施例中的msb)甚至存在兩個模型。這是因為兩個模型是針對顯示出不同分布的量化樣本而產生的。
現在將更詳細地解釋按照表1的圖6例子的用于編碼的處理過程。
在一個符號的比特數是4或更小的情況下,按照本發明的赫夫曼編碼如公式1所示赫夫曼碼值=赫夫曼碼本[碼本索引][更高比特平面][符號]...........(1)就是說,赫夫曼編碼使用3個輸入變量,包括碼本索引,更高比特平面,和符號。碼本索引表示從表1獲得的值,更高比特平面表示比特平面上緊臨當前期望編碼的符號之上的符號。符號表示目前期望編碼的符號。
由于在圖6的例子中赫夫曼模型的msb是4,選擇13-16或17-20。如果被編碼的附加信息是8,由msb比特形成的符號的碼本索引是16,由msb-1比特形成的符號的碼本索引是15,由msb-2比特形成的符號的碼本索引是14,并且由msb-3比特形成的符號的碼本索引是13。
同時,由于收msb比特形成的符號不具有更高比特平面的數據,如果更高比特平面的值是0,用赫夫曼碼本[16]
[1000b]的碼執行編碼。由于由msb-1比特形成的符號的更高比特平面是1000b,用赫夫曼碼本[15][1000b]
的碼執行編碼。由于由msb-2比特形成的符號的更高比特平面是0010b,用赫夫曼碼本[14]
的碼執行編碼。由于由msb-3比特形成的符號的更高比特平面是0100b,用赫夫曼碼本[13]
[1000b]的碼執行編碼。
比特封裝單元14計數編碼比特的數目,用層中允許使用的比特的數目比較該計數,如果計數大于允許數目,停止編碼。當在下一層中允許空間時,沒有被編碼的剩余比特被編碼并且被放進下一層。在分配到相應層的量化樣本被全部編碼之后,如果層中允許的比特的數目中仍然有空間,即如果層中有空間,則低層中編碼完成之后仍然未編碼的量化樣本被編碼。
同時,如果由msb形成的符號的比特數大于或等于5,使用當前比特平面上的位置確定赫夫曼碼值。換句話說,如果有效性大于或等于5,每個比特平面上的數據中只具有較小統計差,使用相同的赫夫曼模型對數據進行赫夫曼編碼。就是說,每個比特平面均存在赫夫曼模式。
如果有效性大于或等于5,就是說,符號的比特數大于或等于5,本發明的赫夫曼編碼滿足公式2赫夫曼碼=20+bpl ...2其中‘bpl’表示期望當前被編碼的比特平面的索引,并且是大于或等于1的整數。,如表2所列,常數20是增加的一個值,用于表示索引從21開始,因為赫夫曼模型的最后索引(對應于附加數8)是20。因此,用于一個編碼段的附加信息簡單地表示了有效性。在表2中,按照期望被當前編碼的比特平面的索引確定赫夫曼模型。
表2
對于附加信息中的量化因子信息和赫夫曼模型信息,在相應于信息的編碼段上執行DPCM。當量化因子信息被編碼時,在幀的首部信息中用8個比特表示初始的DPCM值。用于赫夫曼模型信息的DPCM的初始值被設置為0。
下面列出根據本發明和現有技術的BSAC技術的編碼方法之間的差別。首先,在BSAC技術中,編碼以比特為單位來執行,而在本發明中是以符號為單位來執行編碼。第二,在BSAC技術中,使用了算術編碼,而在本發明中使用赫夫曼編碼。算術編碼提供了較高的壓縮增益,但增加了復雜性和成本。因此,在本發明中,數據不是以比特單位被編碼,而是以符號為單位通過赫夫曼被編碼,以便降低復雜性和成本。
為了控制比特率,就是說為了提供可伸縮性,相應于一個幀的比特流被截止,考慮到每層中允許使用的比特的數目,使得只利用較小的數據量但可進行解碼。例如,如果只有對應于48kbps的比特流期望被解碼,只使用比特流的1048比特,使得能夠獲得對應于48kbps的解碼音頻數據。
現在將解釋基于上述結構的按照本發明的編碼和解碼方法。
編碼裝置讀取PCM音頻數據,在存儲器中存儲數據(未顯示),并且通過音質建模從存儲的PCM音頻數據中獲得屏蔽門限和附加信息。由于PCM音頻數據是時域信號,PCM音頻數據被子波變換成頻域信號。接著,編碼裝置根據量化段信息和量化因子信息通過量化子波變換的信號來獲得量化樣本。如上所述,編碼量化樣本并通過比特切片編碼,基于符號單位的編碼和赫夫曼編碼來封裝。
圖7是流程圖,用于解釋按照本發明優選實施例的編碼方法。
參考圖7,現在將解釋編碼裝置的比特封裝單元14編碼和封裝量化的樣本的處理過程。
首先,比特封裝單元14根據所提供的目標比特率和附加信息提取相應于每層的信息。該處理在步驟701至703中執行。更具體的,在步驟701獲得作為用于每層的截止的基礎的截止頻率,在步驟702獲得對應于每層的量化段信息和編碼段信息,并且在步驟703分配比特范圍,在該范圍內,應當編碼的比特在每個層中能夠被編碼。
接著,在步驟704中,層索引被設置成基層,并且附加信息(包括量化段信息和編碼段信息)在步驟705被編碼。
接下來,相應于基層的量化樣本被映射在比特平面上,并在步驟706根據由msb比特形成的符號以4*4塊為單位進行編碼。在步驟707,編碼的比特數被計數,并且如果該計數超過當前層的比特范圍,則當前層的編碼被停止,并且在下一層開始編碼。如果在步驟707計數的比特數沒有超出比特范圍,則在步驟709,過程返回到步驟705以處理下一層。由于基層沒有更低的層,步驟708不被執行,但針對基層之后跟著的層執行步驟708。通過上述步驟,直到目標層的所有范圍的層均被編碼。
步驟706,也就是用于編碼量化的樣本的步驟如下所述1.相應于一個層的量化樣本被以N樣本為單位分組和映射在比特平面上。
2.根據由映射的二進制數據的msb比特形成的符號執行赫夫曼編碼。
子步驟2可以如下進行詳細解釋2.1相應于期望編碼的符號的標量值(curVal)被獲得。
2.2相應于標量值(upperVal)的赫夫曼代碼被獲得,該標量值對應于更高比特平面中的符號,就是說,比特流中處于比期望當前編碼的符號更高的位置的符號。
對于附加信息中的量化因子信息和赫夫曼模型信息,在相應于信息的編碼段上執行DPCM。當量化因子信息被編碼時,DPCM的初始值在幀的首部信息中由8個比特表示。用于赫夫曼模型信息的DPCM的初始值被設置到0。
圖8是流程圖,用于解釋按照本發明的優選實施例的解碼方法。
參考圖8,解碼裝置接收由在分層結構中編碼的音頻數據形成的比特流,并解碼每幀中的首部信息。接著,在步驟801,包括相應于第一層的定標因子信息和編碼模型信息的附加信息被解碼。在步驟802,參照編碼模型信息,通過按照從由MSB比特形成的符號直到由LSB比特形成的符號的順序以符號為單位地解碼比特流,獲得量化樣本。在步驟803,通過參考定標因子信息,獲得的量化樣本被反向量化,并在步驟804中,反向量化樣本被反向變換。隨著每次逐層增加層的序數,重復執行步驟801-804,直到完成預定的多個層的編碼。
圖9是流程圖,用于解釋按照本發明另一個優選實施例的解碼方法。
參考圖9,接收由在分層結構中編碼的音頻數據形成的比特流,并在步驟901,根據每幀中的首部信息解碼相應于每層的截止頻率。在步驟902,通過解碼,根據首部信息識別相應于每層的量化段信息和編碼段信息。在步驟903,每層的允許使用比特范圍被識別。在步驟904,層索引被設置為基層。步驟905解碼基層上的附加信息,在步驟906,通過按照從由MSB比特形成的符號直到由LSB比特形成的符號的順序以符號單位地將比特流解碼為每層允許的比特范圍,獲得量化樣本。在步驟907,檢查當前層是否最后一個。隨著層數的逐個增加,步驟905和906在各層上重復執行,直到到達預定的目標層。在步驟901-903中,解碼裝置可以提前具有截止頻率,量化段信息,編碼段信息和比特范圍,而不是根據存儲在接收的比特流的每幀中的首部信息獲得這些信息。在此情況下,通過讀取存儲的信息,解碼裝置獲得信息。
如上所述,根據本發明,通過在執行比特切片之后以符號為單位編碼比特,提供借以能夠通過自頂向下方式控制比特率的可伸縮性,使得編碼裝置的計算量不太大于沒有提供可伸縮性的裝置。就是說,根據本發明,提供了一種用于編解碼帶有可伸縮性的音頻數據的方法和裝置,其中復雜性較低,同時可以提供FGS,以及良好的音頻質量,即使是在低層。
此外,比較于使用算術編碼的MPEG-4音頻BSAC技術,使用赫夫曼編碼的本發明的編解碼裝置減少了用于封裝/解封處理的計算量,其降至BSAC技術的八分之一。即使當按照本發明的比特封裝被執行以便提供FGS時,開銷是小的,使得編碼增益與沒有提供可伸縮性時相同。
此外,由于按照本發明的裝置具有分層結構,為使得服務器端能夠控制比特率而再產生比特流的處理是很簡單的,因此,用于變換編碼的裝置的復雜性是低的。
當通過網絡發送音頻流時,能根據用戶的選擇或網絡條件控制傳輸比特率,以便可以提供不停斷的服務。
當音頻流被存儲在具有有限容量的信息存儲介質中時,文件的大小能被任意控制和被存儲。如果比特率變低,頻段被約束。因此,是編/解碼器中最復雜裝置的濾波器的復雜性被大大降低,并且與比特率成反比,編/解碼器裝置的實際復雜性降低。
通過使用子波變換,時/頻域分辨率高于現有技術的基于MDCT的編碼,以至于提供了較好的音頻質量,即使是在較低層。
權利要求
1.一種用于可伸縮地編碼音頻數據的方法,包括編碼包含對應于第一層的定標因子信息和編碼模型信息的附加信息;通過參照編碼模型信息,按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序,以符號為單位編碼對應于第一層的多個量化樣本;和隨著每次逐層增加層的序數,重復執行所述步驟,直到完成預定多個層的編碼。
2.一種編碼方法,包括切片音頻數據,使得切片的音頻數據對應于多個層;獲得對應于多個層的每個的定標段信息和編碼段信息;基于對應于第一層的定標段信息和編碼段信息,編碼包含定標因子信息和編碼模型信息的附加信息;通過參照定標因子信息量化對應于第一層的音頻數據,獲得量化樣本;通過參照編碼模型信息,按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序,以符號為單位編碼所獲得的多個量化樣本;和隨著每次逐層增加層的序數,重復執行所述步驟,直到完成多個層的編碼。
3.根據權利要求2的方法,進一步包括,在編碼附加的信息之前,獲得在多個層的每個中所允許的比特范圍,其中在編碼所獲得的多個量化樣本時,編碼的比特的數目被計數,并且如果計數的比特的數目超過相應于該比特的比特范圍,編碼停止,而即使是在量化樣本全被編碼之后,如果計數的比特的數目小于相應于該比特的比特范圍,在低層編碼被完成之后仍然未編碼的比特被編碼到比特范圍允許的范圍。
4.根據權利要求1的方法,其中音頻數據的切片包括執行音頻數據的子波變換;和通過參照截止頻率,切片子波變換的數據,使得切片的數據對應于多個層。
5.根據權利要求1的方法,其中音頻數據的編碼包括差分編碼定標因子信息和編碼模型信息。
6.根據權利要求1的方法,其中多個量化樣本的編碼包括赫夫曼編碼。
7.根據權利要求1的方法,其中多個量化樣本的編碼包括在比特平面上映射多個量化樣本;和按照從由MSB比特形成的符號直到由LSB比特形成的符號的順序,在對應于樣本的層中所允許的比特范圍內以符號為單位編碼樣本。
8.根據權利要求7的方法,其中在映射多個量化樣本時,K個量化樣本被映射在比特平面上,并且在樣本的編碼中,獲得對應于由K比特二進制數據形成的符號的標量值,并通過參照K比特二進制數據,獲得的標量值,和對應于高于比特平面上當前符號的一個符號的標量值,執行赫夫曼編碼,其中K是一個整數。
9.一種用于可伸縮地解碼以分層結構編碼的音頻數據的方法,包括解碼包含對應于第一層的定標因子信息和編碼模型信息的附加信息;通過參照編碼模型信息,按照從由MSB比特形成的符號直到由LSB比特形成的符號的順序,以符號為單位解碼音頻數據,并獲得量化樣本;通過參照定標因子信息反向量化所獲得的量化樣本;反向變換該反向量化的樣本;和隨著每次逐層增加層的序數,重復執行所述步驟,直到完成預定多個層的解碼。
10.根據權利要求9的方法,其中附加信息的解碼包括差分解碼定標因子信息和編碼模型信息。
11.根據權利要求9的方法,其中在解碼音頻數據時,通過赫夫曼解碼獲得量化樣本。
12.根據權利要求9的方法,其中音頻數據的解碼進一步包括按照從由MSB比特形成的符號直到由LSB比特形成的符號的順序,在對應于音頻數據的層中所允許的比特范圍內以符號為單位解碼音頻數據;和從其上安排了解碼符號的比特平面獲得量化樣本。
13.根據權利要求12的方法,其中在解碼音頻數據時,獲得由解碼符號形成的4*K比特平面,并且從獲得的量化樣本中,從4*K比特平面獲得K個量化樣本,其中K是一個整數。
14.一種用于可伸縮地解碼以分層結構編碼的音頻數據的裝置,包括解封單元,其解碼包含對應于第一層的定標因子信息和編碼模型信息的附加信息,并且通過參照編碼模型信息,按照從由MSB比特形成的符號直到由LSB比特形成的符號的順序,以符號為單位解碼音頻數據,并獲得量化樣本;反向量化單元,其通過參照定標因子信息反向量化所獲得的量化樣本;和反向變換單元,其反向變換該反向量化樣本。
15.根據權利要求14的裝置,其中解封單元差分解碼定標因子信息和編碼模型信息。
16.根據權利要求14的裝置,其中解封單元通過赫夫曼解碼輸出量化樣本。
17.根據權利要求14的裝置,其中解封單元按照從由MSB比特形成的符號直到由LSB比特形成的符號的順序,在對應于音頻數據的層中所允許的比特范圍內以符號為單位解碼音頻數據,從其上安排了解碼符號的比特平面獲得量化樣本。
18.根據權利要求15的裝置,其中解封單元獲得由解碼符號形成的4*K比特平面,并且從4*K比特平面獲得K個量化樣本,其中K是一個整數。
19.一種用于可伸縮地解碼音頻數據的裝置,包括變換音頻數據的變換單元;量化單元,其通過參照定標因子信息,量化對應于每層的變換音頻數據,并輸出量化樣本;和封裝單元,其編碼包含對應于第一層的定標因子信息和編碼模型信息的附加信息,通過參照編碼模型信息,按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序,以符號為單位編碼來自量化單元的多個量化樣本。
20.根據權利要求19的裝置,其中封裝單元獲得對應于多個層的每個的定標段信息和編碼段信息,并基于對應于每層的定標段信息和編碼段信息編碼包含定標因子信息和編碼模型信息的附加信息。
21.根據權利要求19的裝置,其中封裝單元計數編碼的比特的數目,并且如果計數的比特的數目超過相應于該比特的比特范圍,編碼停止,而即使是在量化樣本全被編碼之后,如果計數的比特的數目小于相應于該比特的比特范圍,在低層的編碼完成之后仍然未編碼的比特被編碼到比特范圍允許的范圍。
22.根據權利要求19的裝置,其中變換單元對音頻數據執行子波變換。
23.根據權利要求19的裝置,其中封裝單元通過參照截止頻率切片子波變換的數據,使得切片的數據對應于多個層。
24.根據權利要求19的裝置,其中封裝單元差分編碼定標因子信息和編碼模型信息。
25.根據權利要求19的裝置,其中封裝單元赫夫曼編碼量化樣本。
26.根據權利要求25的裝置,其中封裝單元在比特平面上映射多個量化樣本,并且按照從由MSB比特形成的符號直到由LSB比特形成的符號的順序,在對應于樣本的層中所允許的比特范圍內以符號為單位編碼樣本。
27.根據權利要求25的裝置,其中封裝單元在比特平面上映射K個量化樣本,獲得對應于由K比特二進制數據形成的符號的標量值,并通過參照K比特二進制數據,獲得的標量值,和對應于高于比特平面上當前符號的一個符號的標量值執行赫夫曼編碼,其中K是一個整數。
全文摘要
提供了用于可伸縮地編解碼音頻數據的方法和裝置。用于可伸縮地編碼音頻數據的方法包括編碼包含對應于第一層的定標因子信息和編碼模型信息的附加信息;通過參照編碼模型信息,按照從由最高有效位(MSB)形成的符號直到由最低有效位(LSB)形成的符號的順序,以符號為單位編碼對應于第一層的多個量化樣本;和隨著每次逐層增加層的序數,重復執行所述步驟,直到完成預定多個層的編碼。按照該方法,精細粒度可伸縮性(FGS)可以被提供,并可以提供具有較低的復雜性和良好的音頻質量,即使是在低層。
文檔編號H03M7/30GK1901042SQ20061010783
公開日2007年1月24日 申請日期2003年9月17日 優先權日2002年12月12日
發明者金重會, 金尚煜, 吳殷美 申請人:三星電子株式會社