專利名稱::編碼和解碼音頻信號的裝置和方法編碼和解碼音頻信號的裝置和方法發(fā)明背景本發(fā)明涉及一種處理音頻信號的方法,尤其涉及一種編碼和解碼音頻信號的方法和裝置。過去曾經以不同方法實現(xiàn)了音頻信號的存儲和重放。例如,音樂和語音業(yè)已通過留聲技術(例如唱盤播放機)、磁技術(例如卡式磁帶)和數(shù)字技術(例如光盤)來記錄和保存。隨著音頻存儲技術的發(fā)展,需要克服許多難題來優(yōu)化音頻信號的質量和可存儲性。為了音樂信號的存檔和寬帶傳輸,無損重建成為比借助諸如MP3或AAC等在MPEG標準中定義的感性編碼高效率壓縮更為重要的特征。雖然DVD音頻和超級CD音頻包括專利無損壓縮方案,但是在內容持有者和廣播公司當中需要一種開放和綜合性的壓縮方案。響應于這種需要,一種新的無損編碼方案已經成為MPEG-4音頻標準的延伸。無損音頻編碼法由于原始信號的完美重建而實現(xiàn)了沒有任何質量損失的數(shù)字音頻數(shù)據(jù)壓縮。
發(fā)明內容本發(fā)明涉及處理音頻信號的方法。在一個實施例中,音頻信號的一個幀中的至少一個聲道被細分成多個塊以使這些塊中的至少兩個具有不同的長度,并且生成指示該聲道被細分成若干塊的信息。根據(jù)一個實施例,根據(jù)細分分級結構來細分聲道。所述細分分級結構具有一個以上的等級,并且每個等級關聯(lián)于一個不同的塊長度。例如,細分分級結構的上級關聯(lián)于是與下級相關聯(lián)的塊長度的兩倍的塊長度。在一個實施例中,如果聲道具有長度N,則聲道被細分成多個塊以使每個塊具有N/2、N/4、N/8、N/16、N/32中的一個的長度。在一個實施例中,生成信息以使該信息長度取決于細分分級結構中的級數(shù)。例如,可生成信息以使該信息包括數(shù)個信息比特,并且這些信息比特指示聲道被細分成若干塊。更具體地說,每個信息比特關聯(lián)于細分分級結構中的一級并可關聯(lián)于相關聯(lián)的一級上的一個塊,并且每個信息比特指示相關聯(lián)的塊是否被細分。在一個實施例中,該方法還包括基于之前的數(shù)據(jù)采樣預測聲道中的當前數(shù)據(jù)采樣。用于預測的之前的數(shù)據(jù)采樣的數(shù)目被稱為預測階數(shù)。當前數(shù)據(jù)采樣的殘差基于預測出的數(shù)據(jù)采樣來獲得。在一個實施例中,該預測是通過當之前的數(shù)據(jù)采樣可用時漸進地增大預測階數(shù)至合需的預測階數(shù)來執(zhí)行的。例如,可對隨機存取幀執(zhí)行該漸進預測過程,所述隨機存取幀是以無需用到之前的幀就可對其解碼的方式編碼的幀。在另一實施例中,每個塊的合需的預測階數(shù)是基于最大允許預測階數(shù)和塊長度來確定的。本發(fā)明進一步涉及編碼音頻信號的方法和裝置,以及解碼音頻信號的方法和裝置。附圖簡要說明包括于此以提供對本發(fā)明的進一步理解、并被結合在本申請中且構成其一部分的附圖示出本發(fā)明的實施方式,其與說明書一起可用來解釋本發(fā)明的原理。在附圖中圖1是根據(jù)本發(fā)明一個實施方式的編碼器的示例圖。圖2是根據(jù)本發(fā)明一個實施方式的解碼器的示例圖。圖3是根據(jù)本發(fā)明一個實施方式的壓縮的M-聲道文件的比特流結構的示例圖。圖4是根據(jù)本發(fā)明一個實施方式的分級塊切換方法的概念圖的示例圖。圖5是塊切換示例及相應的塊切換信息代碼的示例圖。圖6是根據(jù)本發(fā)明實施方式的多個聲道的塊切換方法的示例圖。具體實施方式下面將詳細參考本發(fā)明的較佳實施方式,其具體示例圖示于附圖中。只要有可能,即在所有附圖中使用相同的附圖標記表示相同或相似的部件。在對本發(fā)明進行敘述之前,應當指出的是本發(fā)明中揭示的大多數(shù)術語對應于本領域內公知的一般術語,但部分術語是由申請人根據(jù)需要選擇的,并且將在本發(fā)明下文的描述中予以揭示。因此,由申請人定義的術語優(yōu)選基于它們在本發(fā)明中的含義來理解。在無損音頻編碼方法中,由于編碼過程必須是完全可逆而不會有信息損失的,因此編碼器和解碼器兩者的若干部件必須以確定性的方式來實現(xiàn)。編碼解碼器結構圖1是根據(jù)本發(fā)明一個的編碼器1的示例圖。分割部件100將輸入的音頻數(shù)據(jù)分割成若干幀。在一幀內,每個聲道還可進一步被細分成若干個音頻采樣塊以做進一步處理。緩沖器iio存儲由分割部件100分割后的塊和/或幀采樣。系數(shù)估算部件120針對每個塊估算最佳的一組系數(shù)值。系數(shù)的數(shù)目,即預測器的階數(shù)也可以自適應地做出選擇。系數(shù)估算部件120針對數(shù)字音頻數(shù)據(jù)塊計算一組部分自相關系數(shù)(parcor)值。部分自相關系數(shù)值指示預測器系數(shù)的部分自相關系數(shù)表示。量化部件130將該組部分自相關系數(shù)值量化。第一熵編碼部件140通過從部分自相關系數(shù)值減去一個偏移值來計算出部分自相關系數(shù)殘差值,并使用由熵參數(shù)所確定的熵代碼對部分自相關系數(shù)的殘差值進行編碼,其中偏移值和熵參數(shù)選自最佳表。最優(yōu)表是基于數(shù)字音頻數(shù)據(jù)塊的采樣率從多個表中選擇的。這多個表是分別對多個采樣率范圍預定義的以實現(xiàn)為了傳輸而進行的數(shù)字音頻數(shù)據(jù)的最優(yōu)壓縮。系數(shù)轉換部件150將量化了的部分自相關系數(shù)轉換成線性預測編碼(LPC)系數(shù)。預測器160使用線性預測編碼系數(shù)從存儲在緩沖器110中的之前的原始采樣估算當前預測值。減法器170使用存儲在緩沖器110中的數(shù)字音頻數(shù)據(jù)的原始值和在預測器160中估算出的預測值計算數(shù)字音頻數(shù)據(jù)塊的預測殘差。第二熵編碼部件180使用不同的熵代碼編碼預測殘差并生成代碼索引。所選代碼的索引將作為輔助信息發(fā)送。第二熵編碼部件180可使用具有不同復雜度的兩種可供選擇的編碼技術之一對預測殘差進行編碼。一種編碼技術是公知的Golomb-Rice編碼(在下文中簡稱為Rice代碼)法而另一種是公知的分塊Gilbert-Moore代碼(在下文中簡稱為BGMC)法。"Rice代碼復雜度低但仍然是高效率的。BGMC算術編碼方案以比Rice代碼復雜度稍高為代價提供更好的壓縮。最后,多路復用部件190將編碼的預測殘差、代碼索引、編碼的部分自相關系數(shù)殘差值和其它附加信息進行多路復用形成壓縮的比特流。編碼器1還提供循環(huán)冗余校驗(CRC)校驗和,它主要是供解碼器驗證解碼的數(shù)據(jù)。在編碼器方面,CRC可用來確保壓縮的數(shù)據(jù)是能夠進行無損解碼的。其它編碼選項包括靈活塊切換方案、隨機存取和聯(lián)合聲道編碼。編碼器1可使用這些選項提供若干具有不同復雜度的壓縮等級。將聯(lián)合聲道編碼用于利用立體聲或多聲道信號的各聲道之間的相關性這可通過在能夠比原始信道之一更高效率地編碼兩個聲道之間的差異的片段(segments)中編碼這種差異來實現(xiàn)。這些編碼選項將在對根據(jù)本發(fā)明的示例性解碼器進行說明之后更為詳細地予以說明。圖2是根據(jù)本發(fā)明的解碼器2的示例圖。更特別地,圖2示出由于不必執(zhí)行任何適應性調整因而復雜度顯著低于編碼器的無損音頻信號解碼器。多路分解部件200接收音頻信號并將經編碼的數(shù)字音頻數(shù)據(jù)塊的預測殘差、代碼索引、經編碼的部分相關殘差值和其它附加信息多路分解。第一熵解碼部件210使用由熵參數(shù)定義的熵代碼對部分自相關系數(shù)殘差值進行解碼并通過將偏移值加至解碼的部分自相關系數(shù)殘差值來計算出一組部分自相關系數(shù)值;其中的偏移值和熵參數(shù)選自一個表,該表是由解碼器基于數(shù)字音頻數(shù)據(jù)塊的采樣率從多個表中選擇的。第二熵解碼部件220使用代碼索引對經多路分解編碼的預測殘差進行解碼。系數(shù)轉換部件230將熵解碼的部分相關值轉換成LPC系數(shù)。預測器240使用LPC系數(shù)估算數(shù)字音頻數(shù)據(jù)塊的預測殘差。加法器250將經解碼的預測殘差加至估算的預測殘差以獲得數(shù)字音頻數(shù)據(jù)的原始塊。組裝部件260將經解碼的塊數(shù)據(jù)組裝成幀數(shù)據(jù)。因此,解碼器2將經編碼的預測殘差和部分相關殘差值解碼,將部分相關殘差值轉換成LPC系數(shù),并應用反向預測濾波器來計算無損重建信號。解碼器2的計算工作量取決于由編碼器1選擇的預測階數(shù)。在大多數(shù)情形下,實時解碼即使在低端系統(tǒng)中也是可能的。圖3是根據(jù)本發(fā)明的包括多個聲道(例如M個聲道)的壓縮音頻信號的比特流結構的示例圖。比特流由至少一個包括多個聲道(例如M個聲道)的音頻幀構成。比特流配置句法(見下面的表6)中的"channels"字段指示聲道數(shù)。每個聲道利用根據(jù)本發(fā)明的塊切換方案細分成多個塊,這將在后面詳細說明。每個細分的塊具有不同的大小并包括根據(jù)圖1的編碼法的編碼數(shù)據(jù)。例如,一個細分塊內的編碼數(shù)據(jù)包含代碼索引、預測階數(shù)K、預測器系數(shù)和編碼的殘差值。如果在聲道對之間使用聯(lián)合編碼法,則這兩個聲道的塊分割是等同的,而且這些塊以交織方式存儲。比特流配置句法(表6)中的"js—stereo"字段指示聯(lián)合立體聲(聲道差)是開啟的還是關閉的,而frame—data句法(見下面的表7)中的"js—switch"字段指示是否選擇聯(lián)合立體聲(聲道差)。否則,每個聲道的塊分割是獨立的。下面將參照附圖及其后的句法詳細地說明前面提到的塊切換、隨機存取、預測和熵編碼選項。塊切換本發(fā)明的一個方面涉及在使用實際編碼方案之前將每個聲道細分成多個塊。在下文中,根據(jù)本發(fā)明的塊分割(或細分)方法將被稱為"塊切換方法"。分級塊切換圖4是根據(jù)本發(fā)明的分級塊切換方法的概念圖的示例圖。例如,圖4示出將一個聲道按分級方式細分成32個塊的方法。當在單個幀中提供多個聲道時,每個聲道被細分(或分割)成最多達32個塊,并且每個聲道的細分塊配置成一個幀。因此,根據(jù)本發(fā)明的塊切換方法由圖l所示的分割部件100執(zhí)行。此外,如上所述,預測和熵編碼在細分的塊單元上執(zhí)行。一般而言,傳統(tǒng)的音頻無損編碼(ALS)包括相對簡單的塊切換機制。每一個N個釆樣的聲道或者使用一個全長塊(NB=N)進行編碼,或者使用四個長度NB二N/4的塊(例如1:4切換)進行編碼,其中同一塊分割法適用于所有聲道。在某些情形下,該方案會具有某些局限性。例如,盡管只有l(wèi):l或l:4切換是能用的,但其他切換法(例如1:2、1:8及其組合)在某些情形下卻效率更高。另外在傳統(tǒng)ALS中,對所有聲道以等同的方式執(zhí)行切換,雖然不同聲道或許會從不同的切換法受益(如果聲道并不相關時則尤為如此)。因此,根據(jù)本發(fā)明實施方式的塊切換方法提供相對靈活的塊切換方案,其中一個幀的每個聲道可按分級方式被細分成多個塊。例如,圖4示出能以分級方式細分成最多達32個塊的聲道。在根據(jù)所給出的實施方式的聲道內,NB=N、N/2、N/4、N/8、N/16和N/32的塊的任意組合是可能的,只要每個塊是通過對雙倍長度的上級塊進行細分產生的即可。例如,如圖4中的例子所示,分割成N/4+N/4+N/2是可能的,而分割成N/4+N/2+N/4是不行的(例如在下面描述的在圖5(e)和圖5中示出的塊切換示例)。換言之,聲道被分成這多個塊從而使每個塊的長度等于N/(mi)中的一個值,其中1=1,2,……p,N是聲道的長度,m是大于或等于2的一個整數(shù),而p表示在細分分級結構中的級數(shù)。因此,在本發(fā)明的實施方式中,比特流包括指示塊切換等級的信息以及指示塊切換結果的信息。這里,與塊切換相關的信息被包含在解碼過程中使用的句法中,這將在下面進行描述。例如,作出設定以使塊切換處理后生成的最小塊大小為NB=N/32。然而,這種設定僅僅是為簡化本發(fā)明說明的一個示例。因此,根據(jù)本發(fā)明的設定不限于這一種設定。更具體地,當最小塊大小為NB=N/32時,這表示塊切換處理已按分級方式進行了5次,故將其稱為5級塊切換。或者,當最小塊大小為NB=N/16時,這表示塊切換處理己按分級方式進行了4次,故將其稱為4級塊切換。類似地,當最小塊大小為NB=N/8時,這表示塊切換處理已按分級方式進行了3次,故將其稱為3級塊切換。而當最小塊大小為NB=N/4時,這表示塊切換處理已按分級方式進行了2次,故將其稱為2級塊切換。當最小塊大小為NB=N/2時,這表示塊切換處理已按分級方式進行了1次,故將其稱為l級塊切換。最后,當最小塊大小為NB=N時,這表示未執(zhí)行分級塊切換處理,故將其稱為0級塊切換。在本發(fā)明的實施方式中,指示塊切換等級的信息被稱為第一塊切換信息。例如,第一塊切換信息可由表6中所示的句法中一個2比特字段"block—switching"表示,這將在后面的過程中予以說明。更具體地,"block—switching=00"表示0級,"block—switching=01"表示1級至3級中的任何一個,"block—switching:10,,表示4級,而"block—switching=11"表示5級。另外,指示根據(jù)上述塊切換等級對每個等級所執(zhí)行的塊切換結果的信息在這些實施方式中被稱為第二塊切換信息。這里,第二塊切換信息可由"bsjnfo"字段表示,該字段在表7所示的語法中以8比特、16比特和32比特中的任何一個表示。更具體地說,如果"block—switching=01"(表示1級至3級的任何一個),則"bs—info"由8比特表示。如果block—switching-10(表示04級),則bs一info由016比特表示。換言之,最多達4級的塊切換結果可用16比特指示。此外,如果〃block—switching=ll〃(表示5級),則〃bsjnfo〃用32比特表示。換言之,最多達5級的塊切換結果可用32比特指示。最后,如果block_switching=00(表示未進行塊切換),則不發(fā)送bs—info。這表示一個聲道配置成一個塊。分配給第二塊切換信息的總比特數(shù)是基于第一塊切換信息的等級值確定的。這可能會導致最終比特率降低。在下面的表1中簡要描述了第一塊切換信息和第二塊切換信息之間的關系。表l:塊切換等級<table>tableseeoriginaldocumentpage11</column></row><table>下面將詳細描述配置(或映射)第二塊切換信息(bs一info)內每個比特的方法的一個實施方式。bs一info字段根據(jù)上述實施方式可包括最多達4個字節(jié)。關于1級至5級的比特映射可以是[(0)12233334444444455555555555555555]??杀A舻谝槐忍匾灾甘臼仟毩K切換還是同步塊切換,這將在后面的獨立/同步塊切換一節(jié)中更為詳細地描述。圖5(a)—5(f)示出可發(fā)生3級塊切換的一個聲道的不同塊切換示例。因此,在這些示例中,最小塊長度為NB=N/8,且bs—info由一個字節(jié)構成。從最大塊長度NB二N開始,如果塊被進一步細分,則bs—info的比特被置位。例如,在圖5(a)中,根本不存在細分,因此"bs—info"為(0)0000000。在圖5(b)中,幀被細分((O)l……)而長度為N/2的第二塊被進一步分((0)101……)成兩個長度N/4的塊;因此bs—info為(0)10100000。在圖5(c)中,幀被細分((0)1...),且只有長度為N/2的第一塊被進一步分((0)110.,.)成為兩個長度為N/4的塊;因此〃bs—info〃為(0)11000000。在圖5(d)中,幀被細分((0)1……),長度為N/2的第一塊和第二塊被進一步分((0)111……)成長度為N/4的兩個塊,并且只有長度為N/4的第二塊被進一步分((0)11101)成長度為N/8的兩個塊;因此"bs—info"為(0)1110100。如上所述,圖5(e)和5(f)中的示例表示不被允許的塊切換的情形,這是因為圖5(e)中的N/2塊和圖5(f)中的第一個N/4塊不可能是通過細分前一級的塊來獲得的。獨立/同步塊切換圖6(a)—6(c)是根據(jù)本發(fā)明實施方式的塊切換的示例圖。更具體地,圖6(a)示出未對聲道1、2和3執(zhí)行塊切換的示例。圖6(b)示出的是其中兩個聲道(聲道1和2)配置成一個聲道對、且在聲道1和聲道2中同步地執(zhí)行塊切換的示例。在本例中還應用了交織處理。圖6(c)示出的是其中兩個聲道(聲道1和2)配置成一個聲道對、且獨立地對聲道1和聲道2執(zhí)行塊切換的示例。在本發(fā)明中,"聲道對"指兩個任意的音頻聲道。關于哪些聲道組成聲道對的決定可由編碼器自動做出或由用戶人工做出。在獨立塊切換中,盡管在所有聲道中每個聲道的長度可以是相同的,但可對每個聲道個別地執(zhí)行塊切換。即,如圖6(c)所示,各聲道可以不同方式分成塊。如果一個聲道對的兩個聲道彼此相關并且使用差分編碼,則該聲道對的兩個聲道可被同步地進行塊切換。在同步塊切換中,各聲道以相同方式進行塊切換(即分成塊)。圖6(b)示出這樣的一個示例,并進一步示出這些塊是可以被交織的。如果聲道對的兩個聲道彼此不相關,則差分編碼并無益處,因而不需要對聲道同步地進行塊切換。相反,獨立地切換聲道可能更合適。此外,根據(jù)本發(fā)明的另一實施方式,所描述的獨立或同步塊切換方法可應用于聲道數(shù)大于或等于3的多聲道組。例如,如果該多聲道組的所有聲道彼此相關,則可以同步切換多聲道組的所有聲道。另一方面,如果多聲道組的所有聲道彼此不相關,則可以獨立地切換多聲道組的每個聲道。此外,"bsjnfo"字段被用作指示塊切換結果的信息。另外,楗s一info字段還被用作指示對配置成聲道對的每個聲道是獨立地執(zhí)行了塊切換還是同步地執(zhí)行了塊切換的信息。"在這種情況下,如上所述,可使用"bs—info"字段中的特定比特(例如第一比特)。例如,如果聲道對的兩個聲道彼此獨立,則bs—info字段的第一比特被置為1。另一方面,如果聲道對的兩個聲道彼此同步,則bs—info字段的第一比特被置為0。下面將詳細描述圖6(a)、6(b)和6(c)。參照圖6(a),由于沒有一個聲道執(zhí)行了塊切換,因此不生成有關的"bs一info"。參照圖6(b),聲道1和2構成一個聲道對,其中兩個聲道彼此同步且同步執(zhí)行了塊切換。例如,在圖6(b)中,聲道1和聲道2兩者都被分割成長度為N/4的塊,兩者都具有相同的bs—info"bs—info=(2)1010000"。因此,可針對每個聲道對發(fā)送一個bs—info,這導致比特率下降。此外,如果聲道對是同步的,則聲道對中的每個塊會被要求彼此交織。這種交織是有益的(或有利的)。例如,一個聲道對內的一個聲道的塊(例如圖6(b)中的塊1.2)對兩個聲道的之前的塊(例如圖6(b)中的塊1.1和2.1)都有依賴關系,因此這些之前的塊應當在當前塊之前就已可用。參照圖6(c),聲道1和2配置成一個聲道對。然而,在本例中,塊切換是獨立執(zhí)行的。更具體地,聲道l被分割成大小(或長度)達N/4的塊,并且bs—info是"bs—info=(i)1010000"。聲道2被分割成大小達N/2的塊,并且bs—info是"bs—info=a)1000000"。在圖6(c)所示例子中,在每個聲道間獨立地進行塊切換,因此并不執(zhí)行塊之間的交織處理。換言之,對于獨立地進行了塊切換的聲道,聲道數(shù)據(jù)可單獨編排。聯(lián)合聲道編碼聯(lián)合聲道編碼一一也被稱為聯(lián)合立體聲——可利用立體聲信號的兩個聲道之間或多聲道信號的任何兩個聲道之間的相關性。盡管獨立地處理兩個聲道"(n)和X2(n)更為直接,但利用聲道之間相關性的簡單方法是對差分信號進行編碼d(n)=x2(n)—Xi(n)而不是對xl(n)或x2(n)進行編碼??赏ㄟ^對個體信號加以比較,根據(jù)哪兩個信號能被最高效率地編碼,在每個塊中的xjn)、X2(n)和d(n)之間進行切換。這種用切換的差分編碼實現(xiàn)的預測在兩個聲道彼此非常相似的情形中是有利的。在多聲道素材的情形中,可由編碼器重新編排聲道以指派合適的聲道對。除了簡單的差分編碼,無損音頻編解碼器還支持更為復雜的利用多聲道信號的任意聲道之間的聲道間冗余的方案。隨機存取本發(fā)明涉及音頻無損編碼并能夠支持隨機存取。隨機存取意味著對編碼的音頻信號任意部分的快速存取而無需浪費地對之前的各部分進行解碼。這對釆用壓縮數(shù)據(jù)的査找、編輯或流送的應用是一個重要特征。為了實現(xiàn)隨機存取,在隨機存取單元內,編碼器需要插入一個能在無需解碼之前各幀的情況下進行解碼的幀。插入的幀被稱為"隨機存取幀"。在此類隨機存取幀中,沒有任何來自之前各幀的采樣可供用于預測。下面將詳細描述根據(jù)本發(fā)明的用于實現(xiàn)隨機存取的信息。參照配置句法(表6所示),與隨機存取有關的信息作為配置信息發(fā)送。例如,"random—access"字段被用作指示是否允許隨機存取的信息,它可用8比特表示。此外,如果允許隨機存取,則該8比特"random—access"字段指定配置成一個隨機存取單元的幀數(shù)。例如,當"random—access=00000000"時,不支持隨機存取。換言之,當"random—access>0"時,則支持隨機存取。更具體地,當"random—access二00000001"時,這指示配置成隨機存取單元的幀數(shù)為1。這表示在所有的幀單元中均允許隨機存取。此外,當"random—access=11111111",這指示配置成隨機存取單元的幀數(shù)為255。因此,"random—access"信息對應于當前隨機存取單元內的隨機存取幀與下一隨機存取單元中的隨機存取幀之間的距離。在本發(fā)明中,所述距離用幀數(shù)表達。一個32比特的"ra—unit_SiZe"字段被包含在比特流中并且被發(fā)送。"在本發(fā)明中,"ra—unit—size"字段指示以字節(jié)計從當前隨機存取幀到下一隨機存取幀的大小。因此,"ra—unit—size"字段或者包含在配置句法(表6)中或者包含在幀數(shù)據(jù)句法(表7)中。配置句法(表6)還可包括指示"ra—unit—size"信息在比特流中的存儲位置的信息。該信息被表示為2比特的"ra_flag"字段。更具體地,例如,當"ra—flag=00"時,這表示"ra—unit—size"信息未存儲在比特流中。當"ra—flag=01"時,這表示"ra—unit_Size"信息被存儲在比特流內的幀數(shù)據(jù)句法(表7)中。此外,當"ra—flag=10"時,"ra—unit—size"信息被存儲在比特流的配置句法(表6)。如果"ra—unit—size"信息被包含在配置句法中,則這表示"ra_imit_Size"信息只在比特流上發(fā)送一次并且被同等地應用于所有隨機存取單元。或者,如果"ra—unit—size"信息包含幀數(shù)據(jù)句法中,則這表示當前隨機存取單元內的隨機存取幀和下一隨機存取單元內的隨機存取幀內之間的距離。因此,針對比特流中的每一個隨機存取單元發(fā)送"ra—imit—size"信息。因此,配置句法(表6)內的"random—access"字段也可被稱為第一通用消息。另外,"ra—flag"字段也可被稱為第二通用消息。在本發(fā)明的這個方面中,音頻信號包括配置信息和多個隨機存取單元,每個隨機存取單元含有一個或多個音頻數(shù)據(jù)幀,所述音頻數(shù)據(jù)幀中的一個是隨機存取幀,其中所述配置信息包括指示諸幀中的兩相鄰隨機存取幀之間的距離的第一通用信息、以及指示每個隨機存取單元的隨機存取單元大小信息被存儲在哪里的第二通用信息。隨機存取單元大小信息指示以字節(jié)計兩相鄰隨機存取幀之間的距離?;蛘撸诒景l(fā)明的這個方面,一種解碼音頻信號的方法包括接收具有配置信息和多個隨機存取單元的音頻信號,每個隨機存取單元含有一個或多個音頻數(shù)據(jù)幀,所述音頻數(shù)據(jù)幀中的一個是隨機存取幀;從配置信息讀取第一通用信息,所述第一通用信息指示諸幀中兩相鄰隨機存取幀之間的距離;以及從配置信息讀取第二通用信息,所述第二通用信息指示每個隨機存取單元的隨機存取大小信息被存儲在哪里,而隨機存取單元大小信息指示以字節(jié)計兩相鄰隨機存取幀之間的距離。聲道配置如圖3所示,音頻信號包括根據(jù)本發(fā)明的多聲道信息。例如,每個聲道可按與音頻揚聲器的位置一一對應的關系來映射。配置句法(下面的表6)包括聲道配置信息,它被表示為16比特的"chan—config—info"字段和16比特的"channels"字段。"chan—config—info"字段包括將聲道映射到揚聲器位置的信息,而16比特的"channels"字段包括指示聲道總數(shù)的信息。例如,當"channels"字段等于"0"時,這表示聲道對應于單聲道。當"channels"字段等于"1"時,這表示這個聲道對應于立體聲聲道中的一個。另外,當"channels"字段等于或大于"2"時,這表示這個聲道對應于多聲道中的一個o下面的表2示出配置成"chan—config一info"字段的每個比特以及與之對應的各個聲道的示例。更具體地,當所發(fā)送的比特流中存在相應聲道時,"chan—config—info"字段內的相應比特被置為"1"?;蛘?,當所發(fā)送的比特流中不存在相應聲道時,"chan—config—info"字段內的相應比特被置為"0"。本發(fā)明還包括指示配置句法(表6)內是否存在"chan—config—info"的信息。該信息被表示為1比特的"chan—config"標志。更具體地,"chan—config=0"指示"chan_config—info"字段不存在。而"ehan—config=1"指示"chan—config—info"字段存在。因此,當"chan_config=0"時,這表示"cchan—config—info"字段不是在配置句法(表6)內新定義的。表2:聲道配置<table>tableseeoriginaldocumentpage16</column></row><table>幀長度如圖3所示,根據(jù)本發(fā)明的音頻信號包括多個聲道或多聲道。因此,當執(zhí)行編碼時,關于配置成一幀的多聲道的數(shù)目的信息以及關于每個聲道的采樣數(shù)的信息被插入到比特流中并被發(fā)送。參照配置句法(表6),32比特的"samples"字段被用作指示配置成每個聲道的音頻數(shù)據(jù)采樣總數(shù)的信息。此外,16比特的"frame—length"(幀長度)字段被用作指示相應幀內每個聲道的采樣數(shù)的信息。此外,"frame—length"字段的16比特值是由編碼器所使用的值確定的,并且被稱為用戶定義值。換言之,用戶定義值不是固定值,而是在編碼過程中任意確定的值。因此,在解碼過程中,當通過圖2所示的多路分解部件200接收到比特流時,應當首先獲取每個聲道的幀數(shù)。該值是根據(jù)下面所示的算法得到的。frames=samples/frame—length;rest=samples%frame—length;if(rest)frames++;frlen—last二rest;frlen_last二frame—length;更具體地,每個聲道的幀總數(shù)是通過將經由比特流發(fā)送的"samples"字段確定的每個聲道的采樣總數(shù)除以由"frame—length"字段確定的每個聲道的一個幀內的采樣數(shù)來計算得到的。例如,當由"samples"字段確定的采樣總數(shù)恰好是由"frame—length"字段確定的每個幀內的采樣數(shù)的倍數(shù)時,則該倍數(shù)值成為幀總數(shù)。然而,如果由"samples"字段確定的采樣總數(shù)并非恰好是由"frame—length"字段確定的采樣數(shù)的倍數(shù),而是存在余數(shù)(或殘數(shù)),則總幀數(shù)比倍數(shù)值增加"1"。此外,最末幀的采樣數(shù)(frlen—last)被確定為該余數(shù)(或殘數(shù))。這表示僅最末幀的采樣數(shù)與其之前的幀不同。通過如上所述地在編碼器和解碼器之間定義一套標準化的規(guī)則,編碼器就可自由地確定并發(fā)送每個聲道的采樣總數(shù)("samples"字段)以及每個聲道的一個幀內的采樣數(shù)("frame—length"字段)。此外,解碼器可通過對所發(fā)送信息上使用上述算法而精確地確定要用于解碼的每個聲道的幀數(shù)。線性預測在本發(fā)明中,應用線性預測以實現(xiàn)無損音頻編碼。圖1所示的預測器160包括至少一個或多個濾波器系數(shù)以從之前的采樣值預測當前的采樣值。隨后,第二熵編碼部件180對與預測值和原始值之差相對應的殘差值執(zhí)行熵編碼。另外,應用于預測器160的每個塊的預測器系數(shù)值是作為最優(yōu)值從系數(shù)估算部件120選擇的。此外,預測器系數(shù)值由第一熵編碼部件140進行熵編碼處理。由第一熵編碼部件140和第二熵編碼部件180編碼的數(shù)據(jù)作為比特流的一部分由多路復用部件190插入且隨后被發(fā)送。下面將詳細描述根據(jù)本發(fā)明的執(zhí)行線性預測的方法。用FIR濾波器進行的預測線性預測在許多應用場合中被用于實現(xiàn)語音和音頻信號處理。在下文中,基于有限沖激響應(FIR)濾波器描述預測器160的示例性操作。然而,本例明顯不是對本發(fā)明范圍的限制。時間離散信號x(n)的當前采樣可根據(jù)之前的采樣x(n—k)大致地預測出。預測由以下方程式給出。=2&**一其中K是預測器的階數(shù)。如果預測的采樣接近于原始采樣,則如下所示的殘差的方差比x(n)本身的更小,因此能更高效率地編碼e(n)。從輸入采樣的片段估算預測器系數(shù)然后再對該片段進行濾波處理的程序被稱為前向自適應。在這種情況下,應當發(fā)送這些系數(shù)。另一方面,如果是從之前己處理的片段或采樣(例如從殘差)估算系數(shù),則稱為后向自適應。后向適應程序的優(yōu)點在于不需要發(fā)送系數(shù),因為估算系數(shù)所需的數(shù)據(jù)對于解碼器也是可用的。10階左右的前向自適應預測方法被廣泛地用于語音編碼,并且可同樣適用于無損音頻編碼。大多數(shù)前向自適應無損預測方案的最大階數(shù)仍然相當小,例如K=32。一個例外是超級音頻CD專用的1比特無損編解碼器,它使用高達128的預測階數(shù)。另一方面,具有幾百個系數(shù)的后向自適應FIR濾波器通用于許多領域,例如聲道均衡和回波抵消。這些系統(tǒng)大多數(shù)是基于LMS算法或其變型的,這些算法也被推薦用于無損音頻編碼。并非必須要將預測器系數(shù)作為輔助信息發(fā)送,因此它們的數(shù)目對數(shù)據(jù)速率不產生影響。然而,后向自適應的編解碼器的缺點在于必須在編碼器和解碼器兩者中作出自適應,這使解碼器明顯比前向自適應情況下的解碼器更為復雜。前向自適應預測作為本發(fā)明的示例性實施方式,前向自適應預測將作為一個示例在本文的描述中給出。在前向自適應線性預測中,一般使用自相關方法或協(xié)方差方法由系數(shù)估算部件120估算每個塊的最優(yōu)預測器系數(shù)hk(在殘差方差最小化的意義上)。使用傳統(tǒng)的Levinson-Durbin算法的自相關方法的額外優(yōu)點是提供了一種迭代式自適應調整預測器階數(shù)的簡單方法。此外,該算法本身也計算相應的部分自相關系數(shù)。前向自適應預測的另一方面是確定合適的預測階數(shù)。階數(shù)增大使預測誤差的方差減小,這導致殘差的比特率&變小。另一方面,預測器系數(shù)的比特率R。隨著要被發(fā)送的系數(shù)的數(shù)目而提高。因此,任務是找到使總比特率最小化的最優(yōu)階數(shù)。這可通過關于預測階數(shù)K使下面的等式最小化來表達,Rtotal{K)=Re{K)+Ro(K),K是預測階數(shù)。由于預測增益隨階數(shù)升高而單調上升,因此Re隨著K值而下降。另一方面,由于要發(fā)送的系數(shù)的數(shù)目增加,因此Rc隨K值單調上升。搜索最優(yōu)階數(shù)可由系數(shù)估算部件120高效率地執(zhí)行,所述系數(shù)估算部件120用遞歸方式確定階數(shù)遞增的所有預測器。對于每個階數(shù),計算完整的一組預測器系數(shù)。另外,可推導出相應殘差的方差Oe2,從而得到殘差的預期比特率的估算值。在每次迭代過程中——即針對每個預測階數(shù)——在確定各系數(shù)的比特率的同時還可確定總比特率。最優(yōu)階數(shù)在總比特率不再減小的點找到。盡管從上述方程式可以清楚知道系數(shù)比特率對總比特率有直接的影響,但是,Rc緩慢的增長也使得Rt。w的最小值移至較高的階數(shù)(其中Re同樣較小),這可產生更好的壓縮。因此,預測器系數(shù)的高效率但仍準確的量化在實現(xiàn)最大壓縮中發(fā)揮著重要作用。預測階數(shù)在本發(fā)明中,確定了預測階數(shù)K,預測階數(shù)K決定用于進行線性預測的預測器系數(shù)的數(shù)目。預測階數(shù)K也是由系數(shù)估算部件120予以確定。在本發(fā)明中,關于所確定的預測階數(shù)的信息被包含在比特流中并隨后被發(fā)送。配置句法(表6)包括與預測階數(shù)K有關的信息。例如,1比特至10比特的"max—order"字段對應于指示最大階數(shù)值的信息。1比特至10比特的"max—order"字段的最大值是K=1023(例如10比特)。作為與預測階數(shù)K有關的另一信息,配置句法(表6)包括1比特的"adapt—order"字段,它指示每個塊是否存在最優(yōu)階數(shù)。例如,當"adapt—order=l"時,應當給每個塊提供最優(yōu)階數(shù)。在bl0Ck_data句法(表8)中,最優(yōu)階數(shù)作為1比特至10比特的"opt—order"字段提供。此外,當"adapt—order=0"時,則不對每個塊提供單獨的最優(yōu)階數(shù)。在這種情況下,"max—order"字段即成為應用于所有塊的最終階數(shù)。最優(yōu)階數(shù)(opt—order)是基于max—order字段值和相應塊的大小(NB)確定的。更具體地,例如當max—order被確定為Kmax=10并且〃adapt—order=1〃時,則可考慮相應塊的大小確定每個塊的opt—order。在某些情況下,大于max—order(K圃二10)的opt_order〈直是可倉巨的。特別地,本發(fā)明涉及較高的預測階數(shù)。根據(jù)本發(fā)明的實施方式,在沒有分級塊切換的情形中,在長和短的塊長度之間可能是4倍因數(shù)的關系(例如4096與1024或8192與2048)。另一方面,在采用了分級塊切換的實施方式中,這個因數(shù)可以提高(例如高達32),以使范圍更大(例如從16384下至512或甚至在高采樣率下從32768至1024)。在執(zhí)行了分級塊切換的實施方式中,為了更好地使用非常長的塊,可采用更高的最大預測階數(shù)。最大階數(shù)可以是Km^二1023。在這些實施方式中,Kmax可由塊長度NB界定,例如Kmax<NB/8(例如當NB=2048時,Kmax=255)。因此,使用K^二1023需要至少NB二8192的塊長度。在這些實施方式中,配置句法(表6)中的"max—order"字段可高達10比特而block—data句法(表8)中的"opt—order"字段同樣可高達10比特。具體塊中的實際比特數(shù)可取決于一個塊所允許的最大階數(shù)。如果塊是短塊,則本地預測階數(shù)可小于全局預測階數(shù)。在本發(fā)明中,本地預測階數(shù)是通過考慮相應塊長度NB確定的,而全局預測階數(shù)是通過配置句法中的"max—order"K,確定的。例如,如果K自二1023,但NB=2048,則由于本地預測階數(shù)為255,因此"opt一order"字段被確定為8比特(而不是10比特)。更具體地,可基于下面的方程式確定opt—order:opt_order=min(全局預測階數(shù),本地預測階數(shù));另外,全局和本地預測階數(shù)可通過下面的方程式確定全局預測階數(shù)^ceil(log2(最大預測階數(shù)+l))本地預測階數(shù)二max(ceil(log2((Nb〉>3)—l)),1)在這些實施方式中,預測了來自一個聲道的細分塊的數(shù)據(jù)采樣。使用之前塊的最末K個采樣預測當前塊的第一采樣。K值是基于從上述方程式推導出的opt—order確定的。如果當前塊是聲道的第一個塊,則不使用來自之前塊的采樣。在這種情形中,采用的是漸進階數(shù)預測。例如,假設相應塊的opt一order值為K=5,則該塊中的第一采樣不執(zhí)行預測。該塊的第二采樣使用該塊的第一采樣執(zhí)行預測(如同K^1),該塊的第三采樣使用該塊的第一采樣和第二采樣執(zhí)行預測(如同K=2)等。因此,從第六釆樣開始以及對于這之后的采樣,根據(jù)K=5的opt—order執(zhí)行預測。如上所述,預測階數(shù)從K=1漸進地增加至K=5。當在隨機存取幀中使用時,上述漸進階數(shù)型預測是非常有利的。由于隨機存取幀對應于隨機存取單元的基準幀,因此隨機存取幀不是通過使用之前的幀采樣執(zhí)行預測。即,這種漸進預測技術在隨機存取幀的開頭處就可應用。預測器系數(shù)的量化上述預測器系數(shù)在圖1的量化部件130中量化。由于即便很小的量化誤差也會導致大大偏離最優(yōu)預測濾波器所需的頻譜特性,因此預測系數(shù)hk的直接量化對發(fā)送而言不是非常高效率的。為此,預測器系數(shù)的量化是基于可由系數(shù)估算部件120計算得到的部分自相關(反射)系數(shù)n。例如,如上所述,系數(shù)估算部件120是使用傳統(tǒng)Levinson—Durbin算法處理的。頭兩個部分自相關系數(shù)(相應地為Y!和Y2)通過使用下面的函數(shù)被量化《=64(-i+V5A/^n64(-1+匈1)而其余系數(shù)是使用簡單的7比特的均勻量化器量化的:在所有情況下,所得量化值ak被約束在范圍[一64,63]內。熵編碼如圖1所示,在本發(fā)明中應用了兩種類型的熵編碼。更具體地,第一熵編碼部件140被用于編碼上述預測器系數(shù)。另外,第二熵編碼部件180被用來編碼上述音頻原始采樣和音頻殘差采樣。在下文中將詳細說明這兩種類型的熵編預測器系數(shù)的第一熵編碼相關技術的Rice代碼被用作根據(jù)本發(fā)明的第一熵編碼方法。例如,量化系數(shù)ak的發(fā)送是通過生成殘差值執(zhí)行的sk=ak—offsetk,這些殘差值進而是通過使用第一熵編碼部件140——例如用Rice代碼方法來編碼的。該過程中使用的Rice代碼的相應偏移和參數(shù)可從以下表3、4和5所示的諸組中的一個以全局方式進行選擇。表索引(即2比特的"coefJable")在配置句法(表6)中指出。如果"coef—table=ll",則這表示未應用熵編碼,并且量化的系數(shù)各自以7比特發(fā)送。在這種情形中,偏移始終是一64以獲得被約束于的無符號值3,=&+64。相反,如果"coeff—table=00",則選擇下面的表3,而如果"coeff_table=01",則選擇下面的表4。最后,如果"coeff_table=ll",則選擇表5。當在圖2的解碼器中接收到這些經量化的系數(shù)時,第一熵解碼部件220通過使用將殘差值Sk與偏移結合以生成部分自相關系數(shù)ak的量化索引的過程來重建預測器系數(shù)ak=5k+offsetk.其后,通過使用下面的方程式執(zhí)行頭兩個系數(shù)(Y,和Y2)的重建par2=LJ=-r("2);其中2G表示重構的系數(shù)的整數(shù)表示所需的恒量(Q=20)比例因數(shù),而r(.)是根據(jù)經驗確定的映射表(未示出,因為映射表會根據(jù)實現(xiàn)而變化)。因此,是根據(jù)采樣頻率提供用于進行第一熵編碼的這三種類型的系數(shù)表。例如,采樣頻率可被分成48kHz、96kHz和192kHz。這里,三個表3、4、5中的每一個分別提供給每種采樣頻率??蓪φ麄€文件選擇三個不同的表中的一個,而不是使用單個表。一般應當根據(jù)采樣率來選擇表。對于44.lkHz的素材,本發(fā)明的申請人推薦使用48kHz表。然而,一般而言,也可按其它準則來選擇表。表3:編碼量化系數(shù)(48kHz)使用的Rice代碼參數(shù)。<table>tableseeoriginaldocumentpage22</column></row><table><table>tableseeoriginaldocumentpage23</column></row><table>表4:編碼量化系數(shù)(96kHz)使用的Rice代碼參數(shù)<table>tableseeoriginaldocumentpage23</column></row><table><table>tableseeoriginaldocumentpage24</column></row><table><table>tableseeoriginaldocumentpage25</column></row><table>殘差的第二熵編碼本發(fā)明包含應用于圖1的第二熵編碼部件180的編碼方法的兩種不同的模式,這將在下面予以詳細說明。在簡單模式中,使用Rice代碼對殘差值e(n)進行熵編碼。對于每個塊,或者可使用同一Rice代碼編碼所有的值,或者可將塊進一步分成四個部分,每個部分用一不同的Rice代碼編碼。如圖1所示,發(fā)送所應用的代碼的索弓l。由于存在不同的方法確定給定的一組數(shù)據(jù)的最優(yōu)Rice代碼,因此由編碼器根據(jù)殘差的統(tǒng)計結果選擇合適的代碼?;蛘撸幋a器可利用BGMC模式使用更為復雜和高效率的編碼方案。在BGMC模式中,殘差的編碼是通過將分布劃分成兩個類別實現(xiàn)的。這兩種類型包括屬于分布的中心區(qū)域Ie(n)I〈e^的殘差,以及屬于其尾部的殘差。尾部的余數(shù)僅僅是被重新居中(re-centered)(即對于e(n)>eax,提供et(n)=e(n)—emax)并使用如上所述的Rice代碼編碼。然而,為了編碼處于分布中心的殘差,BGMC首先將殘差分成LSB和MSB分量,隨后BGMC使用塊Gilbert—Moore(算術)代碼編碼MSB。最后,BGMC使用直接固定長度代碼發(fā)送LSB??梢詫?shù)e^和直接發(fā)送的LSB的數(shù)目加以選擇,使它們僅些微地影響這種方案的編碼效率,同時使編碼的復雜度明顯降低。根據(jù)本發(fā)明的配置句法(表6)和block_data句法(表8)包括與Rice代碼和BGMC代碼的編碼有關的信息。現(xiàn)在對這種信息進行詳細說明。配置句法(表6)首先包括一個1比特的"bgmc—mode"字段。例如,"bgrac—mode=0"表示Rice代碼,"bgmc_mode=1"表示BGMC代碼。配置句法(表6)還包括一個1比特的"sb_part"字段。"sb_part"字段對應于與將塊分割成子塊并對經分割的子塊進行編碼的方法有關的信息。這里,"sb—part"的意義根據(jù)"bgmc—mode"字段的值而改變。例如,當"bgmc—mode=0"時,即當應用Rice代碼時,"sb—part=0"表示該塊并不被分割成子塊?;蛘?,"sb_part=l"表示以l:4子塊分割比分割該塊?;蛘撸?bgmc—mode二r時,即當采用BGMC代碼時,"sb—part二O"表示以l:4子塊分割比分割該塊。或者,〃sb—part二l〃表示以1:2:4:8子塊分割比分割該塊。與包含在配置句法(表6)中的信息相對應的每個塊的blocl^data句法(表8)包括0比特至2比特的可變"ec一sub"字段。更具體地,〃ec一sub〃字段指示存在于實際相應塊中的子塊的數(shù)目。這里,"ec_sub"字段的意義根據(jù)配置句法(表6)內的"bgmc_mode"字段+"sb_part"字段的值而變化。例如,"bgmc—mode+sb—part=0"表示Rice代碼并不配置該子塊。這里,"ec—sub"字段是個0比特字段,這表示不包含任何信息。除此之外,"bgmc—mode+sb—part=l"表示使用了Rice代碼或BGMC代碼來以1:4的比率將該塊分割成若干子塊。這里,只有1比特被指派給"ec—sub"字段。例如,"ec—sub=0"指示一個子塊(即該塊沒有分割成多個子塊),而"ec一sub二l"指示配置了4個子塊。此外,"bgmc—mode+sb—part=2"表示使用了BGMC代碼來以1:2:4:8的比率將該塊分割成若干子塊。這里,2比特被指派給"ec—sub"字段。例如,"ec_sub=00"指示一個子塊(即該塊沒有分割成多個子塊),而"ec—sub=01"指示2個子塊。另外,"ec—sub=10"指示4個子塊,而"ec—sub二ll"指示8個子塊。如上所述定義在每個塊內的子塊使用差分編碼方法由第二熵編碼部件180進行編碼。下面描述使用Rice代碼的一個示例。對于殘差值的每個塊,或者可使用同一Rice代碼編碼所有值,或者如果在配置語法中榜b—part字段被設置,則該塊可被分割成四個子塊,每個編碼的子塊具有一不同的Rice代碼。在后一種情況下,塊數(shù)據(jù)句法(表8)中的"ec一sub"字段指示是使用一個塊還是四個塊。盡管第一子塊的參數(shù)s[i^0]或者用4比特(分辨率《16比特)或者用5比特(分辨率〉16比特)直接發(fā)送,但僅發(fā)送下列參數(shù)s[iX)]的差分(s[i]一s[i—l])。這些差分還使用適當選擇的Rice代碼再行編碼。在這種情況下,差分使用的Rice代碼參數(shù)具有值"0"。句法根據(jù)本發(fā)明的實施方式,包含在音頻位流中的各種信息的句法示出于下表中。表6示出音頻無損編碼的配置句法。這種配置句法可形成周期性地置于比特流中的頭部,可形成每個幀的幀頭等。表7示出一種幀一數(shù)據(jù)句法,而表8示出一種塊一數(shù)據(jù)句法。表6:配置句法<table>tableseeoriginaldocumentpage28</column></row><table>表7:Framedata(幀數(shù)據(jù))句法<table>tableseeoriginaldocumentpage29</column></row><table><table>tableseeoriginaldocumentpage30</column></row><table>表8:Block_data(塊_數(shù)據(jù))句法<table>tableseeoriginaldocumentpage30</column></row><table><table>tableseeoriginaldocumentpage31</column></row><table>壓縮結果下面,將無損音頻編解碼器與用于無損音頻壓縮的最流行的程序進行比較開放源編解碼器FLAC和Monkey氏音頻(MAC3.97)。這里,開放式源代碼編解碼器FLAC使用前向自適應預測,而Monkey氏音頻(MAC3.97)是作為壓縮方面的當前技術發(fā)展水平的算法使用的后向自適應編解碼器。這兩種編解碼器均在有提供最大壓縮的選項(即flac—8和mac—c4000)的情況下運行。編碼器的結果是針對中等壓縮等級(其預測階數(shù)限制于K—60)以及最大壓縮等級(K—1023)來確定的,兩者均具有500ms的隨機存取。測試是在有1024MB內存的1.7GHz奔騰-M系統(tǒng)上進行的。測試包括采樣率為48、96和192kHz、分辨率為16和24比特的將近1GB的立體聲波形數(shù)據(jù)。壓縮率下面,壓縮率被定義為<:二[(壓縮的文件大小)/(原始文件大小)]*100%其中越小的值指示越好的壓縮。所檢查的音頻格式的結果示于表9(FLAC編解碼器不支持192kHz的素材)。表9:不同音頻格式(kHz/比特)的平均壓縮率比較<table>tableseeoriginaldocumentpage32</column></row><table>這些結果顯示,最高等級的ALS在所有格式上性能都勝過FLAC和Monkey氏音頻,但對于高清晰度素材(即,96kHz/24比特及以上)尤甚。即使在中間等級,ALS也提供最好的總壓縮性。復雜度不同編解碼器的復雜度強烈地取決于實際實現(xiàn),尤其是編碼器的實現(xiàn)。如上所述,本發(fā)明的音頻信號編碼器仍在發(fā)展之中。因此,我們將我們的分析限于解碼器——簡單的C語言代碼實現(xiàn)而不作進一步的優(yōu)化。壓縮的數(shù)據(jù)由當前最佳的編碼器實現(xiàn)生成。圖10中示出了對在不同復雜度等級上編碼的各種音頻格式進行實時解碼所用的平均CPU負荷。即使是對于最大復雜度,解碼器的CPU負荷也只在20-25%左右,這進而表示基于文件的解碼比實時解碼快至少4一5倍。表10:根據(jù)音頻格式(kHz/比特)和ALS編碼器復雜度的平均CPU負荷(在1.7GHz奔騰-M上的百分比)<table>tableseeoriginaldocumentpage32</column></row><table>192/246.722.826.7編解碼器被設計成可提供大范圍的復雜度等級。盡管最大等級以最慢編碼和解碼速度為代價實現(xiàn)最高壓縮,但較快的中間等級僅些微地降低壓縮性,解碼的復雜度卻顯著地低于最大等級(即對于48kHz速材將近5y。的CPU負荷)。使用低復雜度等級(即K—15,Rice編碼)相比中間等級僅使壓縮性降低1-1.5%,但解碼器復雜度進一步降低3倍(即對于48kHz的素材而言低于2%的CPU負荷)。因而,音頻數(shù)據(jù)甚至可以在計算能力很低的硬件上完成解碼。盡管編碼器復雜度既會因較高的最大階數(shù)也會因更復雜的塊切換算法而增加(根據(jù)實施方式)而增大,但解碼器會受到較高平均預測階數(shù)的影響。前面的實施方式(例如分級塊切換)和優(yōu)點僅為示例性的,不應被解釋為是對所附權利要求書的限制。本領域技術人員會明白,上述原理可應用于其它裝置和方法。許多選擇、修改和變化對本領域內技術人員而言是顯而易見的。工業(yè)應用性本領域內技術人員可以理解,可對本發(fā)明作出各種修改和變化而不脫離本發(fā)明的精神或范圍。例如,本發(fā)明的諸方面和實施方式很容易在如有損音頻信號編解碼器等的另一種音頻信號編解碼器中采用。因此,本發(fā)明旨在涵蓋本發(fā)明的所有這些修改和變化。權利要求1.一種處理音頻信號的方法,包括將所述音頻信號的一個幀中的至少一個聲道細分成多個塊,所述多個塊中的至少兩個具有不同的長度;以及生成指示所述聲道被細分成多個塊的信息。2.如權利要求l所述的方法,其特征在于,所述細分步驟根據(jù)細分分級結構來細分所述聲道,所述細分分級結構具有一個以上的等級,并且每個等級關聯(lián)于一個不同的塊長度。3.如權利要求2所述的方法,其特征在于,所述細分分級結構的上級關聯(lián)于是與下級相關聯(lián)的塊長度的兩倍的塊長度。4.如權利要求2所述的方法,其特征在于,所述細分步驟細分所述上級的塊以在所述下級獲得兩個塊。5.如權利要求2所述的方法,其特征在于,如果聲道具有長度N,則所述細分步驟將所述聲道細分成多個塊以使每個塊具有N/2、N/4、N/8、N/16、N/32中的一個的長度。6.如權利要求2所述的方法,其特征在于,所述細分步驟將聲道細分成多個塊以使每個塊的長度等于以下之一N/(mi),1=1、2、......p,其中N是該聲道的長度,m是大于或等于2的整數(shù),而p表示所述細分分級結構中的級數(shù)。7.如權利要求6所述的方法,其特征在于,m二2并且p二5。8.如權利要求2所述的方法,其特征在于,所述生成步驟生成信息以使所述信息的長度取決于所述細分分級結構中的級數(shù)。9.如權利要求2所述的方法,其特征在于,所述生成步驟生成信息以使所述信息包括若干信息比特,并且所述信息比特指示所述聲道被細分成若干塊。10.如權利要求9所述的方法,其特征在于,每個信息比特關聯(lián)于所述細分分級結構中的一級并與相關聯(lián)的等級上的一個塊相關聯(lián),并且每個信息比特指示關聯(lián)的塊是否被細分。11.如權利要求IO所述的方法,其特征在于,如果所述信息比特具有值1,則相關聯(lián)的塊是被細分的,并且如果所述信息比特具有值O,則相關聯(lián)的塊不被細分。12.如權利要求l所述的方法,其特征在于,還包括發(fā)送所述信息。13.如權利要求l所述的方法,其特征在于,還包括基于之前的數(shù)據(jù)采樣預測所述聲道中的當前數(shù)據(jù)采樣,在所述預測步驟中使用的之前的數(shù)據(jù)采樣的數(shù)目是預測階數(shù);以及基于所預測出的數(shù)據(jù)采樣獲得所述當前數(shù)據(jù)采樣的殘差。14.如權利要求13所述的方法,其特征在于,當之前的數(shù)據(jù)采樣可用時,所述預測步驟漸進地增大預測階數(shù)至合需的預測階數(shù)。15.如權利要求14所述的方法,其特征在于,不具有之前的數(shù)據(jù)采樣的開頭的數(shù)據(jù)采樣的預測階數(shù)為零,并且所述預測步驟生成零作為所預測出的開頭數(shù)據(jù)采樣;并且作為所預測出的開頭的數(shù)據(jù)采樣為零的結果,所述獲得步驟實質上不改變所述開頭的數(shù)據(jù)采樣。16.如權利要求14所述的方法,其特征在于,還包括基于最大允許預測階數(shù)和塊長度確定每個塊的合需預測階數(shù)。17.如權利要求13所述的方法,其特征在于,還包括基于最大允許預測階數(shù)和塊長度確定每個塊的最優(yōu)預測階數(shù)。18.如權利要求17所述的方法,其特征在于,所述確定步驟包括基于所述最大允許預測階數(shù)確定全局預測階數(shù);基于所述塊長度確定本地預測階數(shù);以及將所述全局預測階數(shù)和所述本地預測階數(shù)中最小的一個選為所述最優(yōu)預測階數(shù)。19.如權利要求13所述的方法,其特征在于,如果所述幀是以無需用到之前的幀來對其解碼的方式編碼的隨機存取幀,則當僅來自所述隨機存取幀的之前數(shù)據(jù)采樣可用時,所述預測步驟漸進地增大預測階數(shù)至合需的預測階數(shù)。20.—種對音頻信號進行編碼的方法,包括將所述音頻信號的一個幀中的至少一個聲道細分成多個塊,所述多個塊中的至少兩個具有不同的長度;生成指示所述聲道被細分成若干塊的信息;以及對所述多個塊進行編碼以生成包含所述信息的壓縮比特流。21.—種對音頻信號進行解碼的方法,包括接收具有至少一個聲道的音頻數(shù)據(jù)幀。所述聲道被細分成多個塊,所述多個塊中的至少兩個具有不同的長度;從所述音頻信號獲得指示所述聲道被細分成若干塊的信息;以及基于所獲得的信息對所述聲道進行解碼。22.—種對音頻信號進行編碼的裝置,包括編碼器,所述編碼器被配置成將所述音頻信號的一個幀中的至少一個聲道細分成多個塊,所述多個塊中的至少兩個具有不同的長度,并且所述編碼器被配置成生成指示所述聲道被細分成若干塊的信息并對所述多個塊進行編碼以生成含所述信息的壓縮比特流。23.—種對音頻信號進行解碼的裝置,包括解碼器,所述解碼器被配置成接收具有至少一個聲道的音頻數(shù)據(jù)幀,所述聲道被細分成多個塊,所述多個塊中的至少兩個具有不同長度,并且所述解碼器被配置成從所述音頻信號獲得所述聲道被細分成若干塊的信息并基于所獲得的信息對所述聲道進行解碼。全文摘要在一個實施例中,音頻信號的一個幀中的至少一個聲道被細分成多個塊以使這些塊中的至少兩個具有不同的長度,并且生成指示該聲道被細分成若干塊的信息。文檔編號H04N7/64GK101243489SQ200680029417公開日2008年8月13日申請日期2006年7月10日優(yōu)先權日2005年7月11日發(fā)明者T·利伯成申請人:Lg電子株式會社