国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      處理音頻信號的裝置和方法

      文檔序號:2830106閱讀:295來源:國知局

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