專利名稱:音頻編碼器、音頻解碼器、用于將音頻信息編碼的方法、用于將音頻信息解碼的方法及使 ...的制作方法
技術(shù)領域:
依據(jù)本發(fā)明的實施例是有關于ー種用以基于已編碼的音頻信息而提供已解碼的音頻信息的音頻解碼器,一種用以基于輸入的音頻信息而提供已編碼的音頻信息的音頻編碼器,ー種用以基于已編碼的音頻信息而提供已解碼的音頻信息的方法,一種用以基于輸入的音頻信息而提供已編碼的音頻信息的方法,及一種計算機程序。依據(jù)本發(fā)明的實施例是有關于ー種改良式無噪聲頻譜編碼,其可用于音頻編碼器或音頻解碼器,例如所謂的統(tǒng)一語音與音頻編碼器(USAC)。
背景技術(shù):
后文中將簡短解說本發(fā)明的背景,從而有助于了解本發(fā)明及其優(yōu)點。過去十年間,大量努力致カ于以良好位率效率而可能數(shù)字式儲存與發(fā)布音頻內(nèi)容。此ー方面有ー項重大成就是國際標準IS0/IEC 14496-3的定義。此ー標準的第三部分是有關音頻內(nèi)容的編碼及解碼,而第三部分的第四子部分是有關一般音頻編碼。IS0/IEC 14496第三部分,第四子部分定義一般音頻內(nèi)容的編碼及解碼構(gòu)想。此外,已提出進ー步改良來改善質(zhì)量和/或減低所要求的位率。依據(jù)該項標準所敘述的構(gòu)想,時域音頻信號被轉(zhuǎn)換成時頻表示。從時域變換成時頻域典型地是使用時域樣本的變換區(qū)塊執(zhí)行,該變換區(qū)塊也稱作為“幀”。已發(fā)現(xiàn)較佳是使用重疊幀,其移位例如半個幀,原因在于重疊允許有效地避免(或至少減少)假影(artifacts)。此外,已發(fā)現(xiàn)須進行開窗(windowing),以免源自于此種時間上有限的巾貞處理的假影。通過將該輸入的音頻信號的ー開窗部從時域變換成時頻域,許多情況下,獲得能量壓縮,使得部分頻譜值包含比多個其它頻譜值顯著更大的幅度。如此,許多情況下,幅度顯著高于該等頻譜值平均幅度的頻譜值的數(shù)量相對較少。結(jié)果導致能量壓縮的時域至時頻域變換的ー個典型例是所謂的修正離散余弦變換(MDCT)。頻譜值經(jīng)常是依據(jù)心理聲學(psychoacoustic)模型而定標(scaled)及量化,使得針對心理聲學上較重要的頻譜值的量化誤差較小,而針對心理聲學上較不重要的頻譜值的量化誤差較大。已經(jīng)定標與量化的頻譜值被編碼來提供其位率有效的表示。例如,所謂的量化頻譜系數(shù)的霍夫曼編碼的使用在國際標準ISO/IEC14496-3:2005 (E),第三部分,第四子部分中進行了描述。然而,已發(fā)現(xiàn)頻譜值的編碼質(zhì)量對所要求的位率有顯著影響。同樣,已發(fā)現(xiàn)音頻解碼器的復雜程度是取決于用于編碼該頻譜值的編碼處理,音頻解碼器經(jīng)常制作成可攜式消費者裝置,因此須價廉且耗電量低。綜上所述,需要可提供位率效率與資源效率間的改良式折衷的一種音頻內(nèi)容的編碼及解碼構(gòu)想。
發(fā)明內(nèi)容
依據(jù)本發(fā)明的ー實施例,形成ー種用以基于已編碼的音頻信息而提供已解碼的音頻信息的音頻解碼器。該音頻解碼器包含用以基于多個頻譜值的經(jīng)算木編碼的表示而提供該些已解碼的頻譜值的一算木解碼器。該音頻解碼器也包含用以使用該些已解碼的頻譜值而提供ー時域音頻表示,藉此獲得已解碼的音頻信息的ー頻域至時域變換器。該算術(shù)解碼器被配置為依據(jù)一上下文狀態(tài),而選擇描述ー碼值(其可提取自表示該已編碼的音頻信息的一位串流)映射至一符號碼(其可為表示一已解碼的頻譜值的數(shù)值、或其最高有效位平面)的映射規(guī)則。該算術(shù)解碼器被配置為依據(jù)多個事先解碼的頻譜值并且也依據(jù)要被解碼的頻譜值是否位于第一預定頻率區(qū)或位于第二預定頻率區(qū),而判定描述該目前上下文狀態(tài)的一數(shù)值型目前上下文值。已發(fā)現(xiàn)對于目前要被解碼的頻譜值所在頻率區(qū)的考慮,允許上下文運算質(zhì)量的顯 著改良而未顯著増加上下文運算所要求的運算量。此外,通過考慮位在目前要被解碼的頻譜值鄰近的事先解碼頻譜值間的統(tǒng)計相依性是隨頻率而異這一事實,上下文可被選擇從而允許用于與較低頻相關聯(lián)的頻譜值的解碼及用干與較高頻相關聯(lián)的頻譜值的解碼這兩者都有高的編碼效率。上下文對目前要被解碼的頻譜值與事先解碼頻譜值(典型地來自于目前要被解碼的頻譜值的直接鄰近或間接鄰近)間的統(tǒng)計相依性細節(jié)的調(diào)整適應良好,能夠提高編碼效率,同時保持運算量合理地低。發(fā)現(xiàn)能夠以極低運算量來考慮頻率區(qū),原因在于目前要被解碼的頻譜值的頻率指數(shù)在算木解碼過程中是必然已知的。如此,上下文的選擇性調(diào)適能夠以少量運算量執(zhí)行而仍帶來編碼效率的改良。在一較佳實施例,算木解碼器被配置為依據(jù)要被解碼的頻譜值是否位在第一預定頻率區(qū)或位在第二預定頻率區(qū),而選擇性地修正該數(shù)值型目前上下文值。除了數(shù)值型目前上下文值的先前運算(或其它測定)タト,數(shù)值型目前上下文值的選擇性地修正允許該數(shù)值型目前上下文值的“正常”運算(或其它測定)與要被解碼的頻譜值目前所在該頻率區(qū)的考慮組合。該數(shù)值型目前上下文值的“正常”運算可與該數(shù)值型目前上下文值的區(qū)相依性調(diào)適工作分開處理,這典型地降低了運算法則與運算量的復雜度。同樣,只使用此ー構(gòu)想,就能夠容易地升級包含該數(shù)值型目前上下文值的“正?!边\算的系統(tǒng)。在一較佳實施例,該算術(shù)解碼器被配置為測定該數(shù)值型目前上下文值,使得該數(shù)值型目前上下文值是基于多個事先解碼頻譜值的組合,或基于自多個事先解碼頻譜值所導出的多個中間值的組合;以及使得該數(shù)值型目前上下文值依據(jù)要被解碼的頻譜值是位在第一預定頻率區(qū)還是位在第二預定頻率區(qū),而選擇性地在基于多個事先解碼頻譜值的組合,或基于自多個事先解碼頻譜值所導出的多個中間值的組合所得的一值上增加。已發(fā)現(xiàn)數(shù)值型目前上下文值依據(jù)要被解碼的頻譜值所在的頻率區(qū)而選擇性増加,允許數(shù)值型目前上下文值的有效評估,而同時維持運算量少。在一較佳實施例,該算術(shù)解碼器被配置為至少在第一頻率區(qū)與第二頻率之間區(qū)別,藉此判定該數(shù)值型目前上下文值,其中,該第一頻率區(qū)包含與該音頻內(nèi)容的ー給定時間部分(例如,ー幀或一子幀)相關聯(lián)的頻譜值中的至少15% ;及其中該第一頻率區(qū)為低頻區(qū)且包含具有最低頻率的相關聯(lián)的頻譜值(是在與該音頻內(nèi)容的給定(目前)時間部分相關聯(lián)的該頻譜值集合內(nèi))。已發(fā)現(xiàn)通過常見地考慮頻譜的下部(包含頻譜值的至少15%)作為第一頻率區(qū),可達成良好的上下文調(diào)適,原因在于頻譜值間的統(tǒng)計相依性并未包含在此低頻率區(qū)的強變化。如此,不同區(qū)的數(shù)目可維持充分地小,而其又轉(zhuǎn)而協(xié)助避開使用過多不同的映射規(guī)則。然而,在若干實施例,若第一頻率區(qū)包含至少ー個頻譜值、至少ニ個頻譜值、或至少三個頻譜值就足夠了,即便如此仍以選用更延伸的第一頻譜區(qū)為佳。在一較佳實施例,該算術(shù)解碼器被配置為至少在第一頻率區(qū)與第二頻率之間區(qū)另IJ,藉此判定該數(shù)值型目前上下文值,其中該第二頻率區(qū)包含與該音頻內(nèi)容的ー給定時間部分(例如ー幀或一子幀)相關聯(lián)的頻譜值中的至少15% ;及其中該第二頻率區(qū)為高頻區(qū)且包含具有 最高頻率的相關聯(lián)的頻譜值(是在與該音頻內(nèi)容的給定(目前)時間部分相關聯(lián)的該頻譜值集合內(nèi))。已發(fā)現(xiàn)通過常見地考慮頻譜頂部(包含頻譜值的至少15%)作為第二頻率區(qū),可達成良好的上下文調(diào)適,原因在于頻譜值間的統(tǒng)計相依性并未包含在該高頻率區(qū)上的強變化。如此,不同區(qū)的數(shù)目可維持充分地小,而其又轉(zhuǎn)而協(xié)助避開使用過多不同的映射規(guī)則。然而,在若干實施例,若第二頻率區(qū)包含至少ー個頻譜值、至少ニ個頻譜值、或至少三個頻譜值就足夠了,但即便如此仍以選用更延伸的第一頻譜區(qū)為佳。在一較佳實施例,該算術(shù)解碼器被配置為至少在第一頻率區(qū)、第二頻率區(qū)、以及第三頻率之間區(qū)別,藉此依據(jù)要被解碼的頻譜值是在這至少三個頻率區(qū)中的哪ー個的判定而判定該數(shù)值型目前上下文值。此種情況下,該第一頻率區(qū)、第二頻率區(qū)與第三頻率區(qū)各自包含多個相關聯(lián)的頻譜值。已發(fā)現(xiàn)對于典型音頻信號,推薦區(qū)別至少三個不同頻率區(qū),原因在于典型地至少有三個不同頻率區(qū)其中頻譜值間有不同的統(tǒng)計相依性。已發(fā)現(xiàn)推薦(但非必要)即使對窄帶音頻信號(例如,對具有300Hz至3KHz間的頻率范圍的音頻信號),在三個或更多個頻率之間進行區(qū)別。同樣,發(fā)現(xiàn)對于具有更高帶寬的音頻信號,推薦(但非必要)區(qū)別三個或更多個延伸的頻率區(qū)(各自具有多于ー個相關聯(lián)的頻譜值)。在一較佳實施例,該音頻信息的一(目前)時間部分的頻譜值中的至少八分之ー是與該第一頻率區(qū)相關聯(lián),并且該音頻信息的一(目前)時間部分的頻譜值中的至少五分之一是與該第二頻率區(qū)相關聯(lián),以及該音頻信息的一(目前)時間部分的頻譜值中的至少四分之一是與該第三頻率區(qū)相關聯(lián)。已發(fā)現(xiàn)推薦具有足夠大的頻率區(qū),原因在于這種足夠大的頻率區(qū)可使得編碼效率與運算復雜度間的良好折衷。同樣,已發(fā)現(xiàn)使用極小頻率區(qū)(例如,只包含ー個相關聯(lián)的頻譜值的頻率區(qū))是運算無效,且甚至可能造成編碼效率的降級。此外,須注意即便當只使用兩個頻率區(qū)時,也推薦選用足夠大的頻率區(qū)(例如,包含至少兩個相關聯(lián)的頻譜值的頻率區(qū))。在一較佳實施例,該算術(shù)解碼器被配置為運算包含至少第一被加數(shù)及至少第二被加數(shù)的和,作為該加的結(jié)果而獲得該數(shù)值型目前上下文值。此種情況下,該第一被加數(shù)是經(jīng)由描述事先解碼頻譜值的振幅的多個中間值的組合獲得,而該第二被加數(shù)描述(目前)要被解碼的頻譜值是與多個頻率區(qū)中的哪ー個頻率區(qū)相關聯(lián)。使用此種辦法,可實現(xiàn)基于有關事先解碼頻譜值的振幅信息的一上下文計算值與依據(jù)目前要被解碼的頻譜值相關聯(lián)的該頻率區(qū)的一上下文調(diào)適值之間的分開。但也發(fā)現(xiàn)統(tǒng)計相依性的評價(其是基于事先解碼頻譜值振幅的評估),可通過將目前要被解碼的頻譜值相關聯(lián)的頻率區(qū)考慮在內(nèi)而得到改良。然而,已發(fā)現(xiàn)運算上將該區(qū)信息包含至數(shù)值型目前上下文值作為和值就足夠了,并且即便如此簡單的機制也可帶來該數(shù)值型目前上下文值的良好改進。在一較佳實施例,該算術(shù)解碼器被配置為依據(jù)要被解碼的頻譜值是位于多個不同頻率區(qū)中的哪ー個頻率區(qū)的判定,而修正該數(shù)值型目前上下文值的ニ進制表示的一個或多個預定比特位置。已發(fā)現(xiàn)對該區(qū)信息使用專用的比特位置,可協(xié)助依據(jù)該數(shù)值型目前上下文值而選用映射規(guī)則。例如,經(jīng)由對該目前要被解碼的頻譜值相關聯(lián)的的頻率區(qū)的描述,使用該數(shù)值型目前上下文值的ー預定位位置,可簡化該映射規(guī)則的選擇。例如,典型地有多個上下文情況,其中在目前要被解碼的頻譜值的給定鄰近(就頻譜值而言)的存在下,可使用相同映射規(guī)則,而與目前要被解碼的頻譜值相關聯(lián)的的頻率區(qū)無關。此種情況下,目前要被解碼的頻譜值相關聯(lián)的頻率區(qū)有關的信息可不加考慮,其是通過使用該信息編碼的預定比特位置協(xié)助。但是,在其它情況下,即,對于目前要被解碼的頻譜值的不同環(huán)境格局(就頻譜值而言),當選擇映射規(guī)則時,有關目前要被解碼的頻譜值相關聯(lián)的的頻率區(qū)的信息可加以利用。
在一較佳實施例,該算術(shù)解碼器被配置為依據(jù)該數(shù)值型目前上下文值而選擇映射規(guī)則,使得多個不同數(shù)值型目前上下文值導致選擇相同的映射規(guī)則。已發(fā)現(xiàn),目前要被解碼的頻譜值相關聯(lián)的頻率區(qū)列入考慮的構(gòu)想可以和相同映射規(guī)則是與多個不同數(shù)值型目前上下文值相關聯(lián)的構(gòu)想相結(jié)合。已發(fā)現(xiàn),在全部情況下無需考慮與目前要被解碼的頻譜值相關聯(lián)的頻率,但至少在某些情況下,推薦考慮與目前要被解碼的頻譜值相關聯(lián)的頻率區(qū)有關的信息。在一較佳實施例,該算術(shù)解碼器被配置為依據(jù)該數(shù)值型目前上下文值而執(zhí)行映射規(guī)則的ニ階段式選擇。此種情況下,該算術(shù)解碼器被配置為在第一選擇步驟中檢查該數(shù)值型目前上下文值是否等于由一直接命中表的一登錄項目所描述的一有效狀態(tài)值。該算木解碼器也被配置為在第二選擇步驟,判定若該數(shù)值型目前上下文值與由一直接命中表的一登錄項目所描述的一有效狀態(tài)值不同,則該數(shù)值型目前上下文值位在多個區(qū)間中的哪ー個區(qū)間是唯一執(zhí)行者。此種情況下,該算術(shù)解碼器被配置為依據(jù)第一選擇步驟和/或第二選擇步驟的結(jié)果而選定映射規(guī)則。該算術(shù)解碼器也被配置為依據(jù)要被解碼的頻譜值是位于第一頻率區(qū)還是位于第二頻率區(qū)而選定該映射規(guī)則。已發(fā)現(xiàn)前文討論的數(shù)值型目前上下文值的運算與ニ步驟式映射規(guī)則的選擇的組合構(gòu)想可帶來特殊優(yōu)勢。例如,使用此種構(gòu)想,對要被解碼且排列在不同頻率區(qū)的頻譜值,可定義在第一選擇步驟中映射規(guī)則所關聯(lián)的不同的“直接命中”上下文配置。同樣,其中執(zhí)行映射規(guī)則的基于區(qū)間的選擇的第二選擇步驟,極為適合用于以下情況(事先解碼頻譜值的環(huán)境)的處理,其中不期望(或至少不需要)考慮目前要被解碼的頻譜值相關聯(lián)的頻率區(qū)。在一較佳實施例,該算術(shù)解碼器被配置為依據(jù)該要被解碼的頻譜值是位在多個不同頻率區(qū)中的哪ー個頻率區(qū)的判定,而選擇性地修正該數(shù)值型目前上下文值的ニ進制表示的ー個或多個最低有效比特位置。此種情況下,該算術(shù)解碼器被配置為在該第二選擇步驟中判定該數(shù)值型目前上下文值的ニ進制表示是位于多個區(qū)間中的哪ー個區(qū)間,而選擇該映射,使得若干數(shù)值型目前上下文值導致與該要被解碼的頻譜值所位于的頻率區(qū)不相干地選擇相同的映射規(guī)則;及使得對若干數(shù)值型目前上下文值而言,該映射規(guī)則是依據(jù)要被解碼的頻譜值是位在哪ー個頻率區(qū)而選定。已發(fā)現(xiàn)以該數(shù)值型目前上下文值的ニ進制表示的最低有效位所編碼的頻率區(qū)是極為適合用來與該ニ步驟式映射規(guī)則的選擇進行有效協(xié)カ合作。依據(jù)本發(fā)明的ー實施例,形成ー種用以基于ー輸入的音頻信息而提供一已編碼音頻信息的音頻編碼器。該音頻編碼器包含用以基于該輸入的音頻信息的時域表示而提供一頻域音頻表示,使得該頻域音頻表示包含一頻譜值集合的一能量壓縮時域至頻域變換器。該算術(shù)解碼器被配置為使用一可變長度碼字組而編碼頻譜值、或其預處理版本。該算術(shù)編碼器被配置為將ー頻譜值、或一頻譜值的最高有效位平面值映射至ー碼值(其可被包括至以編碼形式來表示該輸入的音頻信息的一位串流)。該算術(shù)編碼器被配置為選擇描述依據(jù)一上下文狀態(tài)而將一頻譜值、或一頻譜值的最高有效位平面值映射至一碼值的映射規(guī)則。該算術(shù)編碼器被配置為依據(jù)多個先前已編碼的頻譜值,并且也依據(jù)要被編碼的頻譜值是否位于第一預定頻率區(qū)或是位于第二預定頻率區(qū)來判定描述該目前上下文狀態(tài)的ー數(shù)值型目前上下文值。此種音頻信號編碼器是基于與前文討論的音頻信號解碼器相同的發(fā)現(xiàn)。已發(fā)現(xiàn)顯 示出可有效用于音頻內(nèi)容解碼的上下文的調(diào)適機制,應該也適用于編碼器端來允許獲得一致性系統(tǒng)。依據(jù)本發(fā)明的ー實施例,形成ー種用以基于已編碼的音頻信息而提供已解碼的音頻信息的方法。依據(jù)本發(fā)明的另ー實施例,形成一種用以基于輸入的音頻信息而提供已編碼的音頻信息的方法。依據(jù)本發(fā)明的又ー實施例,形成ー種用于執(zhí)行該些方法中的一個的計算機程序。該些方法及計算機程序是基于與前述音頻解碼器及前述音頻編碼器相同的發(fā)現(xiàn)。附圖例明接著將參考附圖描述依據(jù)本發(fā)明的實施例,附圖中圖I顯示依據(jù)本發(fā)明的一實施例的一種音頻編碼器的方塊示意圖;圖2顯示依據(jù)本發(fā)明的一實施例的一種音頻解碼器的方塊示意圖;圖3顯示用以解碼頻譜值的運算法則“valUe_deCOde O”的虛擬程序碼表示;圖4顯示用于狀態(tài)計算的上下文的示意代表圖;圖5a顯示用以映射上下文的運算法則“arith_map_context O”的虛擬程序碼表示;圖5b及圖5c顯示用以獲得上下文狀態(tài)值的運算法則“arith_get_context O”的虛擬程序碼表示;圖5d顯示用以從狀態(tài)變量導出累積-頻率-表指數(shù)值“pki”的運算法則“get_pk(s)”的虛擬程序碼表示;圖5e顯示用以從狀態(tài)值導出累積-頻率-表指數(shù)值“pki”的運算法則“arith_get_pk (s)”的虛擬程序碼表示;圖5f顯示用以從狀態(tài)值導出累積-頻率-表指示值“pki”的運算法則“get pk(unsigned long s)”的虛擬程序碼表示;圖5g顯示用以從可變長度碼字組算術(shù)地解碼ー符號的運算法則“arith_decodeO”的虛擬程序碼表示;圖5h顯示用以更新上下文的運算法則“arith_update_context O”的虛擬程序碼表示;圖5i顯示定義及變量的圖例;
圖6a顯示統(tǒng)一語音與音頻編碼器(USAC)原始數(shù)據(jù)區(qū)塊的語法表示;圖6b顯示單一信道元素的語法表示;圖6c顯示成對信道元素的語法表示;圖6d顯示“ics”控制信息的語法表示;圖6e顯示頻域信道串流的語法表示;圖6f顯示算木式編碼 頻譜數(shù)據(jù)的語法表示;圖6g顯示解碼ー頻譜值集合的語法表示;圖6h顯示數(shù)據(jù)元素及變量的圖例;圖7顯示依據(jù)本發(fā)明的另ー實施例的一種音頻編碼器的方塊示意圖;圖8顯示依據(jù)本發(fā)明的另ー實施例的一種音頻解碼器的方塊示意圖;圖9顯示使用依據(jù)本發(fā)明的編碼方案,依據(jù)USAC草擬標準的工作草案3,用于無噪聲編碼比較的配置;圖IOa顯示用于狀態(tài)計算的上下文當其用于依據(jù)USAC草擬標準的工作草案4時的不意代表圖;圖IOb顯示用于狀態(tài)計算的上下文當其用于依據(jù)本發(fā)明的實施例時的示意代表圖;圖Ila顯示該表當其用于依據(jù)USAC草擬標準的工作草案4的該算術(shù)編碼方案時的綜論;圖Ilb顯示該表當其用于依據(jù)本發(fā)明的算木編碼方案時的綜論;
圖12a顯示用于依據(jù)本發(fā)明及依據(jù)USAC草擬標準的工作草案4的無噪聲編碼方案的只讀存儲器需求指令的圖解代表圖;圖12b顯示依據(jù)本發(fā)明及依據(jù)USAC草擬標準的工作草案4的構(gòu)想的總USAC解碼器數(shù)據(jù)只讀存儲器需求指令的圖解代表圖;圖13a顯示使用依據(jù)USAC草擬標準的工作草案3的算木編碼器、及依據(jù)本發(fā)明的一實施例的算木解碼器,統(tǒng)ー語音與音頻編碼編碼器所使用的平均位率的表代表圖;圖13b顯示使用依據(jù)USAC草擬標準的工作草案3的算木編碼器、及依據(jù)本發(fā)明的一實施例的算木編碼器,用于統(tǒng)ー語音與音頻編碼編碼器的位累積控制的表代表圖;圖14顯示依據(jù)USAC草擬標準的工作草案3、及依據(jù)本發(fā)明的ー實施例,用于USAC編碼器的平均位率的表代表圖;圖15顯示按照幀的USAC的最小、最大、及平均位率的表代表圖;圖16顯不按照巾貞的最佳狀況及最惡劣狀況的表代表圖;圖17 (I)及圖17 (2)顯示表“ari_s_hash[387]”的內(nèi)容的表代表圖;圖18顯不表“ari_gs_hash[225] ”的內(nèi)容的表代表圖;圖19 (I)及圖19 (2)顯示表“ari_cf_m[64] [9]”的內(nèi)容的表代表圖;以及圖20 (I)及圖20 (2)顯示表“ari_s_hash[387]”的內(nèi)容的表代表圖;以及圖21顯示依據(jù)本發(fā)明的一實施例的一種音頻編碼器的方塊示意圖;及圖22顯示依據(jù)本發(fā)明的一實施例的一種音頻解碼器的方塊示意圖。
具體實施方式
I.依據(jù)圖7的音頻編碼器圖7顯示依據(jù)本發(fā)明的一實施例的一種音頻編碼器的方塊示意圖。音頻編碼器700被配置為接收輸入的音頻信息710,并基于此而提供已編碼的音頻信息712。音頻編碼器包含能量壓縮時域至頻域變換器720,該變換器被配置為基于該輸入的音頻信息710的時域表示而提供頻域音頻表示722,使得該頻域音頻表示722包含一頻譜值集合。音頻編碼器700也包含算木編碼器730,該算數(shù)編碼器被配置為使用一可變長度碼字組而編碼(形成該頻域音頻表示722的頻譜值集合中的)一頻譜值或其預處理版本,來獲得已編碼的音頻信息712 (其可包含例如多數(shù)可變長度碼字組)。算木編碼器730被配置為依據(jù)上下文狀態(tài),而將ー頻譜值或頻譜值的一最高有效位平面值映射至ー碼值(即,映射至一可變長度碼字組)。算木編碼器730被配置為依據(jù)上下文狀態(tài),選擇描述將ー頻譜值或頻譜值的一最高有效位平面值映射至一碼值的映射規(guī)則。算木編碼器被配置為依據(jù)多個事先編碼的頻譜值而判定該目前上下文狀態(tài)。為了達成此目 的,算木編碼器被配置為檢測一組多個事先編碼相鄰頻譜值(其是單獨地或共同地滿足有關其幅度的預定狀況),并依據(jù)該檢測結(jié)果而判定該目前上下文狀態(tài)。如此可知,一頻譜值或頻譜值的一最高有效位平面值映射至ー碼值可通過使用映射規(guī)則742由頻譜值編碼740執(zhí)行。狀態(tài)追蹤器750可被配置為追蹤該上下文狀態(tài),且可包含一群組檢測器752來檢測ー組多個事先編碼相鄰頻譜值(其是單獨地或共同地滿足有關其幅度的預定狀況)。狀態(tài)追蹤器750也較佳被配置為依據(jù)由該群組檢測器752所執(zhí)行的該檢測結(jié)果而判定目前上下文狀態(tài)。如此,狀態(tài)追蹤器750提供描述該目前上下文狀態(tài)的信息754。映射規(guī)則選擇器760可選擇映射規(guī)則,例如累積頻率表,其描述ー頻譜值或頻譜值的一最高有效位平面值映射至一碼值。如此,映射規(guī)則選擇器760將映射規(guī)則信息742提供至該頻譜編碼740。綜上所述,音頻編碼器700執(zhí)行由該時域至頻域變換器所提供的ー頻域音頻表示的算木編碼。該算術(shù)編碼為上下文相依性,使得映射規(guī)則(例如累積頻率表)是依據(jù)事先編碼頻譜值而選擇。如此,時間和/或頻率(或至少在預定環(huán)境內(nèi))是彼此相鄰和/或與該目前編碼頻譜值(即,在該目前編碼頻譜值的預定環(huán)境內(nèi)的頻譜值)相鄰的頻譜值在算木編碼中被考慮從而調(diào)整由該算術(shù)編碼評估的概率分布。當選定適當?shù)挠成湟?guī)則時,執(zhí)行檢測來測定是否有一組多個事先編碼相鄰頻譜值是單獨地或共同地滿足有關其幅度的預定狀況。此項檢測結(jié)果是應用于該目前上下文狀態(tài)的選擇,即,應用在映射規(guī)則的選擇。通過檢測是否有ー組多數(shù)頻譜值其是特小或特大,可辨識頻域音頻表示(其可為時頻表示)內(nèi)的特定特征。該特定特征(諸如ー組多數(shù)特小的或特大的頻譜值)指示應當使用的特定上下文狀態(tài),原因在于此ー特定上下文狀態(tài)可提供極佳編碼效率。如此,檢測滿足預定狀況的該組相鄰頻譜值,該檢測通常是用來與基于多個事先編碼頻譜值的一組合的可替換上下文評估相結(jié)合地使用,提供ー種機制,其允許有效地選定適當?shù)纳舷挛?,該輸入的音頻信息是否具有某些特殊狀態(tài)(例如,包含大的被遮蔽的頻率范圍)。如此,可達成有效編碼,同時維持上下文的計算充分簡單。2.依據(jù)圖8的音頻解碼器圖8顯示音頻解碼器800的方塊示意圖。音頻解碼器800被配置為接收已編碼的音頻信息810,并基于此而提供已解碼的音頻信息812。音頻解碼器800包含算木解碼器820,該算數(shù)解碼器被配置為基于頻譜值的算木式編碼表示821而提供多個已解碼的頻譜值822。音頻解 碼器800也包含頻域至時域變換器830,該變換器被配置為接收已解碼的頻譜值822,并使用該已解碼的頻譜值822,提供時域音頻表示812(其可組成該已解碼的音頻イ目息),來獲得已解碼的首頻イ目息812。算木解碼器820包含頻譜值測定器824,該測定器被配置為將算木式編碼的頻譜值表示的ー碼值映射至表示已解碼的頻譜值中的一者或多者、或已解碼的頻譜值中的一者或多者的至少一部分(例如,最高有效位平面)的一符號碼。頻譜值測定器824可被配置為依據(jù)映射規(guī)則而執(zhí)行映射,該映射規(guī)則可由映射規(guī)則信息828a描述。算木解碼器820被配置為依據(jù)上下文狀態(tài)(其可由上下文狀態(tài)信息826a描述),選擇描述ー碼值(由算木式編碼的頻譜值表示821描述)映射至一符號碼(描述ー個或多個頻譜值)的映射規(guī)則。算木解碼器820被配置為依據(jù)多數(shù)事先解碼頻譜值822而判定該目前上下文狀態(tài)。為了達成此目的,可使用狀態(tài)追蹤器826,其接收描述事先解碼頻譜值的信息。算木解碼器也被配置為檢測一組多個事先解碼相鄰的頻譜值(其是單獨地或共同地滿足有關其幅度的預定狀況),并依據(jù)該檢測結(jié)果而判定該目前上下文狀態(tài)(例如,由上下文狀態(tài)信息826a描述)。檢測滿足有關其幅度的預定狀況的該組多個事先解碼相鄰頻譜值例如可由一群組檢測器(其是狀態(tài)追蹤器826的一部分)而進行。如此,獲得目前上下文狀態(tài)信息826a。該映射規(guī)則的選擇可由映射規(guī)則選擇器828執(zhí)行,該映射規(guī)則選擇器從該目前上下文狀態(tài)信息826a中導出映射規(guī)則信息828a,并且將該映射規(guī)則信息828a提供至該頻譜值測定器824。有關該音頻信號解碼器800的功能,須注意該算術(shù)解碼器820被配置為選擇平均地極為適合用于要被解碼的頻譜值的映射規(guī)則(例如累積頻率表),原因在于該映射規(guī)則是依據(jù)目前上下文狀態(tài)而選定,而該目前上下文狀態(tài)又是依據(jù)多個事先解碼頻譜值而判定。如此,可利用要被解碼的相鄰頻譜值間的統(tǒng)計相依性。此外,通過檢測一組多個事先解碼相鄰頻譜值其是単獨地或共同地滿足有關其幅度的預定狀況,可調(diào)整映射規(guī)則適應事先解碼頻譜值的特殊狀況(或樣式)。例如,若識別ー組多個較小的事先解碼相鄰頻譜值,或若識別一組多個較大的事先解碼相鄰頻譜值,則可選出特定映射規(guī)則。已發(fā)現(xiàn)存在有ー組較大頻譜值、或存在有一組較小頻譜值可被視為須使用特別適用于此種狀況的ー專用映射規(guī)則的顯著指示。如此,通過利用此組多個頻譜值的檢測可協(xié)助(或加速)上下文運算。同樣,若未應用前述構(gòu)想,則一音頻內(nèi)容的特性可視為不容易考慮。例如,比較用于正常上下文運算的該頻譜值集合,一組多個事先解碼頻譜值其是単獨地或共同地滿足有關其幅度的預定狀況的檢測可基于不同的一頻譜值集合執(zhí)行。進ー步細節(jié)稍后詳述。3.依據(jù)圖I的音頻編碼器后文中,將敘述依據(jù)本發(fā)明的一實施例的音頻編碼器。圖I顯示此種音頻編碼器100的方塊示意圖。音頻編碼器100被配置為接收一輸入的音頻信息110,及基于此提供一位串流112,其構(gòu)成一已編碼的音頻信息。音頻編碼器100選擇性地包含一預處理器120,其被配置為接收該輸入的音頻信息110,及基于此而提供預處理輸入的音頻信息110a。音頻編碼器100也包含一能量壓縮時域至頻域信號變換器130,其也定名為信號變換器。信號變換器130被配置為接收輸入的音頻信息110、110a,及基于此而提供一頻域音頻信息132,其較佳是呈ー頻譜值集合形式。例如,信號變換器130被配置為接收輸入的音頻信息IlOUlOa的ー幀(例如時域樣本的一區(qū)塊),及提供表示該個別音頻幀的音頻內(nèi)容的一頻譜值集合。此外,該信號變換器130可被配置為接收多個接續(xù)的、重疊或非重疊輸入的音頻信息110、IlOa的音頻幀,及基于此而提供ー時頻域音頻表示,其包含與各幀相鄰頻譜值接續(xù)頻譜值集合的一序列,亦即ー個頻譜值集合。能量壓縮時域至頻域信號變換器130可包含一能量壓縮濾波器排組,其是提供與不同的、重疊或非重疊頻率范圍相關聯(lián)的頻譜值。例如,該信號變換器130可包含ー開窗MDCT變換器130a,其被配置為使用一變換窗而開窗該輸入的音頻信息110、IlOa (或其巾貞), 及執(zhí)行該開窗輸入的音頻信息IlOUlOa (或其開窗幀)的修正離散余弦變換。如此,該頻域音頻表不132可包含與該輸入的音頻信息的ー巾貞相關聯(lián)的呈MDCT系數(shù)形式的例如1024個頻譜值的ー集合。音頻編碼器100可選擇性地進ー步包含一頻譜后處理器140,其被配置為接收頻域音頻表示132,及基于此而提供一后處理頻域音頻表示142。該頻譜后處理器140例如可被配置為執(zhí)行時間噪聲成形、和/或長期預測、和/或本領域已知的任何其它頻譜后處理。音頻編碼器選擇性地進ー步包含定標器/量化器150,其被配置為接收頻域音頻表示132或其后處理版本142,及提供一已定標且已量化的頻域音頻表示152。音頻編碼器100選擇性地,進ー步包含一心理聲學模型處理器160,其被配置為提供該輸入的音頻信息110 (或其的后處理版本110a),及基于此而提供一選擇性控制信息,其可用于能量壓縮時域至頻域信號變換器130的控制,用于選擇性的頻譜后處理器140的控制,和/或用于選擇性的定標器/量化器150的控制。舉例而言,心理聲學模型處理器160可被配置為分析該輸入的音頻信息,判定該輸入的音頻信息IlOUlOa的哪些分量對于人類的音頻內(nèi)容聽覺特別重要,而該輸入的音頻信息IlOUlOa的哪些分量對于人類的音頻內(nèi)容聽覺較不重要。據(jù)此,心理聲學模型處理器160可提供控制信息,其是由音頻編碼器100使用來調(diào)整由該定標器/量化器150對頻域音頻表示132、142的定標、和/或由該定標器/量化器150所施加的量化分辨率。結(jié)果,聽覺上重要的標度因子頻帶(即,對人類的音頻內(nèi)容聽覺特別重要的相鄰頻譜值組)是以大的定標因子定標且以相對較高分辨率量化,聽覺上較不重要的標度因子頻帶(即,成組的相鄰頻譜值)是以較小的定標因子定標且以較低分辨率量化。據(jù)此,典型地,聽覺上較為重要的頻率的已定標頻譜值明顯大于聽覺上較不重要的頻譜值。音頻編碼器也包含一算木編碼器170,其被配置為接收頻域音頻表示132 (或者,可替換地,該頻域音頻表示132的后處理版本142,或甚至該頻域音頻表示132本身)的已定標且已量化版本152,及基于此而提供算木碼字組信息172a,使得該算術(shù)碼字組信息表示該頻域音頻表示152。音頻編碼器100也包含位串流有效負載格式化器190,其被配置為接收該算術(shù)碼字組信息172a。該位串流有效負載格式化器190也典型地被配置為接收額外信息,例如描述哪些標度因子已經(jīng)被定標器/量化器150應用的標度因子信息。此外,位串流有效負載格式化器190可被配置為接收其它控制信息。位串流有效負載格式化器190被配置為基于所接收的信息,通過依據(jù)期望的位串流語法而組裝該位串流來提供該位串流112,稍后詳述。后文中,將敘述有關算術(shù)編碼器170的細節(jié)。算術(shù)編碼器170被配置為接收該頻域音頻表示132的多個后處理且已定標且已量化的頻譜值。算術(shù)編碼器包含一最高有效位平面提取器174,其被配置為從一頻譜值提取最高有效位平面m。此處須注意,最高有效位平面可包含一個或甚至多個位(例如2或3位)其是該頻譜值的最高有效位。如此,最高有效位平面提取器174提供一頻譜值的最高有效位平面值176。算術(shù)編碼器170也包含一第一碼字組測定器180,其被配置為測定表示該最高有效位平面值m的算術(shù)碼字組acod_m[pki] [m]。選擇性地,碼字組測定器180也提供一個或多個逸出碼字組(此處也標示以“ARITH_ESCAPE”),指示例如多少個較低 有效位平面(以及結(jié)果,指示該最高有效位平面的數(shù)值型權(quán)重)可用。第一碼字組測定器180可被配置為使用具有(或參考)累積頻率表指數(shù)Pki的一選定的累積頻率表而提供與最高有效位平面值m相關聯(lián)的該碼字組。為了判定是否應選擇該累積頻率表,該算術(shù)編碼器較佳包含一狀態(tài)追蹤器182,其被配置為例如通過觀察哪些頻譜值是事先編碼而追蹤該算術(shù)編碼器的狀態(tài)。結(jié)果,該狀態(tài)追蹤器182提供一狀態(tài)信息184,例如以“s”或“t”標示的狀態(tài)值。算術(shù)編碼器170也包含一累積頻率表選擇器186,其被配置為接收該狀態(tài)信息184,并將描述該選定的累積頻率表的信息188提供給該碼字組測定器180。舉例而言,累積頻率表選擇器186可提供一累積頻率表指數(shù)“pki”描述64累積頻率表的一集合中哪一個累積頻率表被選擇用于由該碼字組測定器使用??商鎿Q地,累積頻率表選擇器186可將整個選定的累積頻率表提供給該碼字組測定器。如此,碼字組測定器180可使用所擇定的累積頻率表來提供該最高有效位平面值m的碼字組acod_m[pki] [m],使得編碼該最高有效位平面值m的實際碼字組acod_m[pki] [m]是與m值及累積頻率表指數(shù)pki有相依性,并因此與該目前狀態(tài)信息184有相依性。有關編碼處理及所獲得碼字組格式的進一步細節(jié)稍后詳述。算術(shù)編碼器170又包含一較低有效位平面提取器189a,其被配置為如果要被解碼的頻譜值中的一者或多者超過只使用該最高有效位平面所能編碼的數(shù)值范圍,則從該已定標且已量化的頻域音頻表示152提取一個或多個較低有效位平面。若有所需,該等較低有效位平面可包含一個或多個位。據(jù)此,該較低有效位平面提取器189a提供較低有效位平面信息18%。算術(shù)編碼器170也包含一第二碼字組測定器189c,其被配置為接收較低有效位平面信息189d,及基于此而提供表示0、1、或更多較低有效位平面的內(nèi)容的0、1、或更多個碼字組“ac0r_r”。該第二碼字組測定器189c可被配置為應用算術(shù)編碼運算法則或任何其它編碼運算法則,而從該較低有效位平面信息18%導出該些較低有效位平面碼字組“acor_r”。此處須注意,較低有效位平面數(shù)目可取決于該些已定標且已量化的頻譜值152而改變,使得如果要被編碼的已定標且已量化的頻譜值為較小,則可能根本沒有較低有效位平面;使得如果要被編碼的該目前已定標且已量化的頻譜值為中等范圍,則可有一個較低有效位平面;及使得如果要被編碼的已定標且已量化的頻譜值具有較大值,則可有多于一個較低有效位平面。綜上所述,算術(shù)編碼器170被配置為使用階層編碼處理而編碼已定標且已量化的頻譜值,其是由該信息152描述。最高有效位平面(例如,每個頻譜值包含1、2或3位)被編碼來獲得最高有效位平面值的一算術(shù)碼字組“acod_m[pki] [m]”。一個或多個較低有效位平面(該些較低有效位平面各自例如包含1、2或3位)被編碼從而獲得一個或多個碼字組“acod_r”。當編碼最高有效位平面時,該最高有效位平面的值m被映射至一碼字組acod_m[pki] [m]。為了達成此目的,64個不同累積頻率表是可用的,用于依據(jù)算術(shù)編碼器170的狀態(tài),亦即依據(jù)事先編碼頻譜值來編碼值m。如此,獲得碼字組“aCod_m[pki][m]”。此外,若存在有一個或多個較低有效位平面,則提供一個或多個碼字組“acod_r”且包含至該位串流。重置描述音頻編碼器100選擇性地可被配 置為判定經(jīng)由重置該內(nèi)容,例如經(jīng)由將該狀態(tài)指標重置至一默認值,是否可獲得位率的改良。如此,音頻編碼器100可被配置為提供一重置信息(例如,定名“arith_reset_flag”),指示該算術(shù)編碼內(nèi)容是否經(jīng)重置,及也指示于相對應解碼器中用于算術(shù)解碼的內(nèi)容是否應重置。有關位串流格式及應用的累積頻率表的細節(jié)稍后詳述。4.音頻解碼器后文中,將敘述依據(jù)本發(fā)明的一實施例的音頻解碼器。圖2顯示此種音頻解碼器200的方塊示意圖。音頻解碼器200被配置為接收一位串流210,其表示一己編碼的音頻信息,并且其可與由音頻編碼器100所提供的位串流112相同。音頻解碼器200基于該位串流210而提供已解碼的音頻信息212。音頻解碼器200包含一選擇性的位串流有效負載解格式化器220,其被配置為接收該位串流210,并且從該位串流210提取一已編碼的頻域音頻表示222。例如,該位串流有效負載解格式化器220可被配置為從位串流210,提取算術(shù)式編碼的頻譜值,例如表示該頻域音頻表示的頻譜值a的最高有效位平面值m的一算術(shù)碼字組“acod_m[pki] [m] ”,及表示該頻譜值a的較低有效位平面的內(nèi)容的碼字組“acod_r”。如此,已編碼的頻域音頻表示222組成(或包含)頻譜值的一算術(shù)式編碼表示。該位串流有效負載解格式化器220進一步被配置為從該位串流提取額外控制信息,其未顯示于圖2。此外,位串流有效負載解格式化器選擇性地被配置為從位串流210提取一狀態(tài)重置信息224,其也被標示為算術(shù)重置標記或 “ arith_reset_flag,,。音頻解碼器200包含一算術(shù)解碼器230,其也稱作為“頻譜無噪聲解碼器”。算術(shù)解碼器230被配置為接收該已編碼的頻域音頻表示220,及選擇性地,接收狀態(tài)重置信息224。算術(shù)解碼器230也被配置為提供一已解碼的頻域音頻表示232,其可包含已解碼的頻譜值表示。舉例而言,已解碼的頻域音頻表示232可包含已解碼的頻譜值表示,其是由已編碼的頻域音頻表示220描述。音頻解碼器200也包含一可選的反量化器/復位蔡器240,其被配置為接收該已解碼的頻域音頻表示232,及基于此而提供已反量化及已復位標的頻域音頻表示242。音頻解碼器200進一步包含一可選的頻譜預處理器250,其被配置為接收該已反量化及已復位標的頻域音頻表示242,及基于此而提供該已反量化及已復位標的頻域音頻表示242的一預處理版本252。音頻解碼器200也包含一頻域至時域信號變換器260,其也稱作“信號變換器”。信號變換器260被配置為接收該已反量化及已復位標的頻域音頻表示242的該域處理版本252 (或者,可替換地,該已反量化及已復位標的頻域音頻表示242或 已解碼的頻域音頻表示232),及基于此而提供該音頻信息的一時域表示262。該頻域至時 域信號變換器260例如可包含用以執(zhí)行修正離散余弦反變換(IMDCT)及適當開窗(以及其 它輔助功能,例如重疊與相加)的一變換器。音頻解碼器200進一步可包含可選的時域后處理器270,其被配置為接收音頻信 息的時域表示262,及使用時域后處理而獲得已解碼的音頻信息212。但若省略該后處理, 則時域表示262可與已解碼的音頻信息212相同。此處須注意,反量化器/復位標器240、頻譜預處理器250、頻域至時域信號變換器 260、及時域后處理器270可依據(jù)控制信息加以控制,該控制信息是由位串流有效負載解格 式化器220而提取自該位串流210。總而言之,音頻解碼器200的整體功能、已解碼的頻域音頻表示232 (例如與已編 碼的音頻信息的音頻幀相關聯(lián)的的一頻譜值集合),可使用算術(shù)解碼器230基于已編碼的 頻域音頻表示222而獲得。結(jié)果,例如1024個頻譜值(其可為MDCT系數(shù))的集合是經(jīng)反量 化、經(jīng)復位標、及經(jīng)預處理。如此,獲得已經(jīng)反量化、經(jīng)復位標、及經(jīng)頻譜預處理的頻譜值集 合(例如,1024個MDCT系數(shù))。隨后,自該已經(jīng)反量化、經(jīng)復位標、及經(jīng)頻譜預處理的頻譜值 集合(例如,MDCT系數(shù))而導出一音頻巾貞的時域表不。如此,獲得一音頻巾貞的時域表不。一 給定音頻幀的時域表示可組合先前和/或后續(xù)音頻幀的時域表示。舉例而言,可執(zhí)行后續(xù) 音頻幀的時域表示間的重疊及相加,從而平滑相鄰音頻幀的時域表示之間的變遷,并且獲 得頻迭消除(aliasing cancellation)。有關基于已解碼的頻域音頻表示232而重構(gòu)已解 碼的音頻信息212的相關細節(jié)例如可參考國際標準IS0/IEC14496-3,部分3,子部分4的詳 細討論。但也可使用其它更精細的重疊及頻迭消除方案。后文中,將敘述有關算術(shù)解碼器230的若干細節(jié)。算術(shù)解碼器230包含最高有效位 平面測定器284,其被配置為接收描述最高有效位平面值m的算術(shù)碼字組aCod_m[pki][m]。 最高有效位平面測定器284可被配置為使用一包含多個64累積頻率表集合中的一個累積 頻率表用以自該算術(shù)碼字組“acod_m[pki] [m] ”而導出最高有效位平面值m。最高有效位平面測定器284被配置為基于碼字組acod_m而導出頻譜值的一最高 有效位平面的值286。算術(shù)解碼器230進一步包含較低有效位平面測定器288,其被配置為 接收表示一頻譜值的一個或多個較低有效位平面的一個或多個碼字組“acod_r”。如此,較 低有效位平面測定器288被配置為提供一個或多個較低有效位平面的解碼值290。音頻解 碼器200也包含一位平面組合器292,其被配置為接收該些頻譜值的最高有效位平面的解 碼值286;并且如果這種較低有效位平面對于目前頻譜值可用,則可接收該些頻譜值的一 個或多個較低有效位平面的解碼值290。如此,位平面組合器292提供已解碼的頻譜值,其 是該已解碼的頻域音頻表示232的一部分。當然,算術(shù)解碼器230典型地被配置為提供多 個頻譜值,從而獲得與該音頻內(nèi)容的目前幀相關聯(lián)的已解碼的頻譜值的一全集。算術(shù)解碼器230進一步包含一累積頻率表選擇器296,其被配置為依據(jù)描述該算 術(shù)解碼器狀態(tài)的一狀態(tài)指標298而選擇64個累積頻率表中的一個。算術(shù)解碼器230進一 步包含一狀態(tài)追蹤器299,其被配置為依據(jù)事先解碼頻譜值而追蹤算術(shù)解碼器的狀態(tài)。該狀 態(tài)信息可選擇性地響應于狀態(tài)重置信息224而被重置為一默認狀態(tài)信息。如此,累積頻率 表選擇器296被配置為提供選定的累積頻率表的指數(shù)(例如pki)、或累積頻率表本身用來依據(jù)碼字組“acod_m”而應用于最高有效位平面值m的解碼。概述音頻解碼器200的功能,音頻解碼器200被配置為接收ー經(jīng)位率有效地編碼 的頻域音頻表示222,及基于此而獲得已解碼的頻域音頻表示。在用來基于已編碼的頻域音 頻表示222而獲得已解碼的頻域音頻表示232的算木解碼器230中,通過使用算木解碼器 280 (其被配置為應用累積頻率表)而開發(fā)相鄰頻譜值的最高有效位平面值間的不同組合的 概率。換言之,通過依據(jù)狀態(tài)指標四8 (其是通過觀察事先運算解碼頻譜值而得的)而從包 含64個不同累積頻率表的一集合中選出不同的累積頻率表,來開發(fā)頻譜值間的統(tǒng)計相依 性。5.頻譜無噪聲編碼工具的綜論后文中,將解說有關由例如算木編碼器170及算木解碼器230執(zhí)行的編碼及解碼 運算法則的細節(jié)。重點是放在解碼運算法則的說明。但須注意,相對應的編碼運算法則可依據(jù)解碼 運算法則的教導執(zhí)行,其中映射是逆向的。須注意,后文將討論的解碼是用來允許典型地經(jīng)后處理典型地經(jīng)后處理、經(jīng)定標 且經(jīng)量化的頻譜值的所謂的“頻譜無噪聲編碼”。頻譜無噪聲編碼是用在音頻編碼/解碼 構(gòu)想來進ー步降低量化頻譜的冗余,該量化頻譜是例如經(jīng)由能量壓縮時域至頻域變換器獲 得。用于本發(fā)明的實施例的頻譜無噪聲編碼方案是基于算木編碼結(jié)合動態(tài)調(diào)適上下 文。頻譜無噪聲編碼被饋以量化頻譜值(其原始表示或已編碼表示),并使用例如從多個事 先解碼鄰近頻譜值中導出的上下文相依性累積頻率表。此處,時間上及頻率上這二者的鄰 近皆列入考慮,如圖4所示。然后,累積頻率表(稍后詳述)由算木編碼器用來產(chǎn)生一可變長 度ニ進制碼,并由算木解碼器用來從一可變長度ニ進制碼導出解碼值。舉例而言,算木編碼器170依據(jù)各個概率,對ー給定符號集合產(chǎn)生ニ進制碼。該ニ 進制碼是經(jīng)由將該符號集合所在的ー概率區(qū)間映射至ー碼字組而產(chǎn)生。后文中,將提供頻譜無噪聲編碼工具的另ー項短綜論。頻譜無噪聲編碼是用來進 一步縮減量化頻譜的冗余。該頻譜無噪聲編碼方案是基于算木編碼結(jié)合動態(tài)調(diào)適上下文。 無噪聲編碼被饋以量化頻譜值,并使用例如從七個事先解碼鄰近頻譜值中導出的上下文相 依性累積頻率表。此處,時間上及頻率上二者的鄰近皆列入考慮,如圖4所示。然后,累積頻率表由 算木編碼器用來產(chǎn)生一可變長度ニ進制碼。算術(shù)編碼器對ー給定符號集合及其各個概率產(chǎn)生ニ進制碼。該ニ進制碼是經(jīng)由將 該符號集合所在的ー概率區(qū)間映射至ー碼字組而產(chǎn)生。6.解碼程序6.1.解碼處理綜論后文中,將參考圖3給予解碼頻譜值的程序的綜合討論,該圖顯示解碼多個頻譜 值的程序的偽程序碼表示。解碼多個頻譜值的程序包含上下文的初始化310。上下文的初始化310包含使用 函數(shù)“arith_map_C0ntext (lg)”從前ー個上下文導出該目前上下文。從前ー個上下文導 出該目前上下文可包含該上下文的重置。上下文的重置及從前ー個上下文導出該目前上下文這二者稍后詳述。多個頻譜值的解碼也包含頻譜值解碼312及上下文更新314的迭代,該上下文更 新是由函數(shù)“Arith_update_context (a, I, lg)”執(zhí)行,稍后詳述。頻譜解碼312及上下文 更新314被重復lg次,其中l(wèi)g是指示(例如,針對一音頻幀)要被解碼的頻譜值數(shù)目。頻 譜值解碼312包含上下文值計算312a、最高有效位平面解碼312b、及較低有效位平面加法 312c。狀態(tài)值運算312a 包括使用函數(shù)“arith_get_context (I, lg, arith_reset_ flag, N/2)”運算第一狀態(tài)值s,該函數(shù)返回該第一狀態(tài)值s。該狀態(tài)值運算312a也包含位 準值“l(fā)evO”及位準值“l(fā)ev”的運算,該些位準值“l(fā)evO”、“l(fā)ev”是通過將第一狀態(tài)值s向 右位移24位獲得的。該狀態(tài)值運算312a也包含依據(jù)圖3顯示在參考標號312a的公式,運
算第二狀態(tài)值t。最高有效位平面解碼312b包含解碼運算法則312ba的迭代執(zhí)行,其中初次執(zhí)行運 算法則312ba之前,變量j被初始化為0。運算法則312ba包含使用函數(shù)“arith_get_pk ()”,依據(jù)第二狀態(tài)值t,并且也依 據(jù)位準值“l(fā)ev”及l(fā)evO運算狀態(tài)指數(shù)“pki”(也用作為累積頻率表指數(shù)),稍后后詳述。運 算法則312ba也包含依據(jù)狀態(tài)指數(shù)pki而選擇累積頻率表,其中變量“Cum_freq”可依據(jù)狀 態(tài)指數(shù)Pki而設定至64累積頻率表中的一個起始地址。同樣,變量“cfl”可被初始化為所 選定的累積頻率表長度,其(例如)等于字母表中的符號數(shù)目,即,可解碼的不同值的數(shù)目。 從“arith_cf_m[pki=0] [9] ”至“arith_cf_m[pki=63] [9] ”的全部累積頻率表中可用于最 高有效位平面值m解碼的長度為9,原因在于8個不同最高有效位平面值及一個逸出符號可 被解碼。隨后考慮所選的累積頻率表(由變量“cum_freq”及變量“cfl”描述),通過執(zhí)行函 數(shù)“arith_deCOde ()”可獲得最高有效位平面值m。當導出最高有效位平面值m時,可評估 位串流210中名為“acod_m”的位(例如參考圖6g)。運算法則312ba也包含檢驗最高有效位平面值m是否等于逸出符號“ARITH_ ESCAPE”。若最高有效位平面值m不等于該算術(shù)逸出符號,則舍棄運算法則312ba (“斷 裂狀況),因而運算法則312ba的其余指令被跳過。如此,該處理程序的執(zhí)行是以設定頻 譜值a為等于最高有效位平面值m來繼續(xù)(指令“a=m”)。相反地,若最高有效位平面值m是 與算術(shù)逸出符號“ARITH_ESCAPE”相等,則位準值“l(fā)ev”遞增1。如所述,然后重復運算法則 312ba直至解碼的最高有效位平面值m不同于該算術(shù)逸出符號為止。一旦完成最高有效位平面解碼,即已經(jīng)解碼與該算術(shù)逸出符號不同的最高有效位 平面值m,則頻譜值變量“a”設定為等于最高有效位平面值m。隨后,獲得較低有效位平面, 例如如圖3以參考標號312c所示。針對該頻譜值的各個較低有效位平面,解碼兩個二進制 值中的一個。舉例而言,獲得較低有效位平面值r。隨后,通過將頻譜值變數(shù)“a”向左位移 1位,及通過加上目前解碼的較低有效位平面值r作為最低有效位,而更新頻譜值變量“a”。 但須注意,本發(fā)明并未特別推薦獲得較低有效位平面的構(gòu)想。在某些情況下,甚至可省略任 何較低有效位平面的解碼??商鎿Q地,可使用不同解碼運算法則用于達成此目的。6. 2.依據(jù)圖4的解碼順序后文中,將敘述頻譜值的解碼順序。頻譜系數(shù)是經(jīng)無噪聲編碼,及始于最低頻系數(shù)及前進至最高頻系數(shù)而傳輸(例如,在位串流中)。得自進階音頻編碼(例如,使用修正離散余弦變換獲得,如IS0/IEC14496-3,部分 3,子部分4討論)的系數(shù)被儲存在稱作“x_ac_quant [g] [win] [sfb] [bin] ”的數(shù)組中,而無 噪聲編碼碼字組(例如acod_m、acod_r)的傳輸順序,使得當其是以接收且儲存于該數(shù)組的 順序解碼時,“bin”(頻率指數(shù))為最快遞增指數(shù),而“g”為最慢遞增指數(shù)。與較低頻相關聯(lián)的頻譜系數(shù)是比與較高頻相關聯(lián)的頻譜系數(shù)更早編碼。得自變換編碼激勵(tcx)的系數(shù)被直接儲存于數(shù)組x_tcx_invquant[win] [bin], 而無噪聲編碼碼字組的傳輸順序,使得當其是以接收且儲存于該數(shù)組的順序解碼時,“bin” 為最快遞增指數(shù),而“win”為最慢遞增指數(shù)。換言之,若頻譜值描述語音編碼器的線性預測 濾波器的變換編碼激勵,則頻譜值a是與變換編碼激勵的相鄰且遞增的頻率相關聯(lián)。與較低頻相關聯(lián)的頻譜系數(shù)是比與較高頻相關聯(lián)的頻譜系數(shù)更早編碼。值得注意,音頻編碼器200可被配置為應用由算術(shù)解碼器230所提供的已解碼的 頻域音頻表示232,用于使用頻域至時域信號變換而“直接”產(chǎn)生時域音頻信號表示,及用于 使用頻域至時域解碼器及由頻域至時域信號變換器的輸出所激勵的線性預測濾波器二者 而“間接”提供音頻信號表示。換言之,此處詳細討論其功能的算術(shù)解碼器200極為適合用于解碼以頻域編碼的 音頻內(nèi)容的時頻域表示的頻譜值,及用于提供線性預測濾波器的一刺激信號的時頻域表 示,該濾波器是適用于解碼以線性預測域編碼的語音信號。如此,算術(shù)解碼器是極為適合用 于音頻解碼器,該音頻解碼器可處理頻域編碼音頻內(nèi)容及線性預測頻域編碼音頻內(nèi)容(變 換編碼激勵線性預測域模式)。6. 3.依據(jù)圖5a及圖5b的上下文初始化后文中,將敘述在步驟310中執(zhí)行的上下文初始化(也標示為“上下文映射”)。上下文初始化包含依據(jù)運算法則“arith_map_context ()”,在過去上下文與 目前上下文之間的映射,顯示于圖5a。如圖可知,目前上下文儲存于通用變量q[2][n_ context],其是呈現(xiàn)具有2的第一維度及n_context的第二維度的數(shù)組。過去上下文儲存 于變量qs[n_context],其是呈現(xiàn)具有n_context維度的表形式。變量“previous_lg”描述 過去上下文的頻譜值數(shù)目。變量“l(fā)g”描述該幀內(nèi)要解碼的頻譜系數(shù)數(shù)目。變量“preViouS_lg”描述前一幀 的頻譜行的先前數(shù)目。上下文的映射可依據(jù)運算法則“arith_map_context ()”進行。此處須注意,若與 目前(例如,經(jīng)頻域編碼的)音頻幀相關聯(lián)的頻譜值數(shù)目是與對i=0至i=lg_l的前一個音頻 中貞相關聯(lián)的頻譜值數(shù)目相等,則函數(shù)“arith_map_context ()”將目前上下文數(shù)組q的登錄 項目q
[i]設定為過去上下文數(shù)組qs的值qs[i]。然而,若目前音頻幀相關聯(lián)的頻譜值數(shù)目是與前一個音頻幀相關聯(lián)的頻譜值數(shù)目 不等,則執(zhí)行更復雜的映射。但此種情況下,有關映射細節(jié)與本發(fā)明的關鍵構(gòu)想并非特別相 關,故參考圖5a的偽程序代碼的細節(jié)。6. 4.依據(jù)圖5b及圖5c的狀態(tài)值運算后文中,將更詳細敘述狀態(tài)值運算312a。須注意,第一狀態(tài)值s (如圖3所示)可獲得函數(shù)“arith_get_context(1,lg, arith_reset_flag, N/2)”作為返回值,其偽程序碼表示是顯示在圖5b及圖5c中。有關狀態(tài)值的運算,也參考圖4,其顯示用于狀態(tài)評估的上下文。圖4顯示頻譜值 在時間及頻率這二者上的二維表示。橫坐標410描述時間,及縱坐標412描述頻率。如圖 4可知,要解碼的頻譜值420是與時間指數(shù)t0及頻率指數(shù)i相關聯(lián)。如圖可知,對時間指 標t0而言,當具有頻率指數(shù)i的頻譜值420要被解碼時,具有頻率指數(shù)i_l、i-2及i-3的 重元組已經(jīng)解碼。如由圖4可知,在頻譜值420被解碼之前,具有時間指數(shù)t0及頻率指數(shù) i-1的頻譜值430已經(jīng)解碼,而頻譜值430被考慮在用于頻譜值420的解碼的上下文。同 理,在頻譜值420被解碼之前,具有時間指數(shù)t0及頻率指數(shù)i-2的頻譜值434已經(jīng)解碼,而 頻譜值434被考慮在用于頻譜值420的解碼的上下文。類似地,在頻譜值420被解碼之前, 具有時間指數(shù)t-1及頻率指數(shù)i-2的頻譜值440、具有時間指數(shù)t-1及頻率指數(shù)i-1的頻譜 值444、具有時間指數(shù)t-1及頻率指數(shù)i的頻譜值448、具有時間指數(shù)t-1及頻率指數(shù)i+1 的頻譜值452、具有時間指數(shù)t-1及頻率指數(shù)i+2的頻譜值456已經(jīng)解碼,并且被考慮在用 于頻譜值420的解碼的上下文的判定。當頻譜值420解碼時已經(jīng)解碼且被考慮用于上下文 的頻譜值(頻譜是數(shù))是以影線方形顯示。相反地,(當頻譜值420解碼時)若干其它已經(jīng)解 碼的頻譜值是以具有虛線的方形顯示;而(當頻譜值420解碼時)其它尚未解碼的頻譜值是 以具有虛線的圓形顯示,則并未用來判定用于解碼頻譜值420的上下文。但須注意雖言如此,若干這些尚未用于解碼頻譜值420的上下文的“常規(guī)”(或“正 ?!?運算的頻譜值可被評估用于檢測多個事先解碼相鄰頻譜值其是單獨地或共同地滿足 有關其幅度的預定狀況。現(xiàn)在參考圖5b及圖5c,該些圖顯示呈偽程序代碼形式的函數(shù)“arith_get_ context ()”的函數(shù)性,將敘述有關由函數(shù)“arith_get_context ()”執(zhí)行的第一上下文值 “s”的計算的進一步細節(jié)。須注意,函數(shù)“arith_get_context ()”接收要解碼的頻譜值的指數(shù)i作為輸入 變量。指數(shù)i典型地為頻率指數(shù)。輸入變量lg描述(針對一目前音頻幀)預期量化系數(shù)的 (總)數(shù)目。變數(shù)N描述變換的行數(shù)。標記“arith_reset_flag”指示該上下文是否應重置。 函數(shù)“arith_get_context”提供表示連鎖并置(concatenated)狀態(tài)指數(shù)s及預測位平面 位準levO的變量“t”作為輸出值。函數(shù)“arith_get_context(),,使用整數(shù)變量 a0、c0、cl、c2、c3、c4、c5、c6、levO、 及 “region”。函數(shù)“arith_get_COnteXt ()”包含第一算術(shù)重置處理510、一組多個事先解碼 相鄰零頻譜值的檢測512、第一變量設定514、第二變量設定516、位準調(diào)適518、區(qū)值設定 520、位準調(diào)適522、位準限制524、算術(shù)重置處理526、第三變量設定528、第四變量設定530、 第五變量設定532、位準調(diào)適534及選擇返回值運算536作為主功能方塊。在第一算術(shù)重置處理510中,檢驗是否設定算術(shù)重置標記“arith_reset_flag”, 而要解碼的頻譜值的指標是等于零。此種情況下,返回零上下文值,及舍棄該功能。在一組多個事先解碼零頻譜值的檢測512,該功能唯有在算術(shù)重置標記為無效且 要解碼的頻譜值指數(shù)i是非零時才執(zhí)行,名為“flag”的變量被初始化為1,如參考標號512a 所示;及要被評估的頻譜值一區(qū)經(jīng)判定,如參考標號512b所示。隨后,如參考標號512b所 示而判定的該區(qū)頻譜值是經(jīng)評估,如參考標號512c所示。若發(fā)現(xiàn)有足夠一區(qū)事先解碼零頻譜值,則返回1上下文值,如參考標號512d所示。舉例而言,上頻率指數(shù)邊界“l(fā)im_max”設 定為i+6,除非要被解碼的頻譜值指數(shù)i是接近最大頻率指數(shù)lg-1,該種情況下,對上頻率 指數(shù)邊界作特殊設定,如參考標號512b所示。此外,下頻率指數(shù)邊界設定為-5, 除非要解碼的頻譜值指數(shù)i是接近零(i+lim_min〈0),該種情況下,對下頻率指數(shù)邊界lim_ min作特殊設定,如參考標號512b所示。當評估步驟512b所判定的該區(qū)頻譜值時,首先對 下頻率指數(shù)邊界與零之間的負頻率指數(shù)k執(zhí)行評估。對與零間的頻率指 數(shù)k,證實上下文值q
[k]. c與q[l] [k]. c中的至少一個是否等于零。然而,若對 與零間的任何頻率指數(shù)k,上下文值q
[k]. c與q[l] [k]. c 二者皆非為零,則結(jié)論是并無 足夠的零頻譜值組群,進而舍棄評估512c。隨后,評估零與lim_max間的頻率指數(shù)的上下 文值q
[k]. Co若發(fā)現(xiàn)零與lim_max間的頻率指數(shù)的任何上下文值q
[k]. c非零,貝lj結(jié) 論是并無足夠的成組事先解碼零頻譜值,進而舍棄評估512c。但若發(fā)現(xiàn)對lim_min與零間 的每個頻率指數(shù)k,有至少一個上下文值q
[k]. C*q[l] [k]. c等于零,且若對零與lim_ max間的每個頻率指數(shù)k有零上下文值q
[k]. c,則結(jié)論是有足夠的成組事先解碼零頻譜 值。據(jù)此,返回上下文值1來指示此種狀況,而不再作任何額外計算。換言之,若識別有足 夠一組多個上下文值q
[k]. c、q[l] [k], c具有零值,則跳過計算514、516、518、520、522、 524、526、528、530、532、534、536。換言之,回應于檢測到滿足預定狀況,則與事先解碼頻譜 值不相干地來判定描述上下文狀態(tài)的所返回的上下文值。否則,即,若無足夠成組上下文值q
[k]. c、q[l] [k]. c具有零值,則至少部分地 執(zhí)行運算 514、516、518、520、522、524、526、528、530、532、534、536。在第一變量設定514,該步驟是若(且僅若)要被解碼的頻譜值指數(shù)i小于1才選 擇性執(zhí)行,變量a0被初始化為上下文值q[l] [i-1],及變量c0被初始化具有變量a0的絕對 值。變量“l(fā)evO”被初始化為零值。隨后,若變量a0包含較大的絕對值,S卩小于-4,或大于 等于4,則變量“l(fā)evO”及cO遞增。變量“l(fā)evO”及cO的遞增是迭代進行,直至變量a0通過 朝右位移運算而進入_4至3的范圍為止(步驟514b)。隨后,變量c0及“l(fā)evO”分別限于最大值7及3 (步驟514c)。若要被解碼的頻譜值的指數(shù)值i等于1并且算術(shù)重置標記(“arith_reSet_flag”) 有效,則返回上下文值,其是單純基于變量c0及l(fā)evO運算(步驟514d)。如此,只有具有與 要解碼的頻譜值相同的時間指數(shù)及具有頻率指數(shù)比要被解碼的頻譜值的頻率指數(shù)i小1的 單一事先解碼頻譜值被考慮用于上下文運算(步驟514d)。否則,即,若無算術(shù)重置函數(shù),則 初始化變量c4 (步驟514e)??偨Y(jié)而言,在第一變量設定514,變量c0及“l(fā)evO”是依事先解碼頻譜值初始化,解 碼用于與目前要被解碼的頻譜值相同幀,及用于前一個頻譜倉i_l。變量c4是依事先解碼 頻譜值被初始化,解碼用于前一個音頻幀(具有時間指數(shù)t-1),及具有頻率是低于(例如達 一個頻率倉)與目前要被解碼的頻譜值相關聯(lián)的頻率。若(且僅若)目前要被解碼的頻譜值的頻率指數(shù)是大于1,才選擇性地執(zhí)行的第二 變量設定516,包含變量cl及c6的初始化及變量levO的更新。變量cl是依據(jù)目前音頻幀 的事先解碼頻譜值相關聯(lián)的上下文值q[1] [i_2]. c更新,其頻率是小于(例如,達2頻率倉) 目前要被解碼的頻譜值頻率。類似地,變量c6是依據(jù)描述前一個幀(具有時間指標t-1)的 事先解碼頻譜值的上下文值q
[i-2].c初始化,其相關頻率是小于(例如達2頻率倉)目前要被解碼的頻譜值頻率。此外,位準變量“l(fā)evO”被設定為與目前幀的事先解碼頻譜值相 關聯(lián)的位準值q[l] [i-2], 1,若q[l] [i-2], I大于levO,則其相關頻率是小于(例如達2頻 率倉)目前要被解碼的頻譜值頻率。若(且僅若)要被解碼的頻譜值的指標i大于2,位準調(diào)適518及區(qū)值設定520被選 擇性地執(zhí)行。在位準調(diào)適518,若與目前幀的事先解碼頻譜值相關聯(lián)的位準值q[l] [i-3], I 大于位準值levO,則位準變數(shù)”levO”是增至q[l] [i-3], I值,其相關頻率是小于(例如達3 頻率倉)目前要被解碼的頻譜值頻率。在該區(qū)值設定520,變量“區(qū)(region)”是依據(jù)評估設定,其中多個頻譜區(qū)中的頻 譜區(qū),布置目前要被解碼的頻譜值。舉例而言,若發(fā)現(xiàn)目前要被解碼的頻譜值是與在該些頻 率倉的第一(最下)象限(0含i〈N/4)頻率倉(具有頻率倉指數(shù)i)相關聯(lián),則區(qū)變量“區(qū)”設 定為零。否則,若目前要被解碼的頻譜值是與在該等頻率倉的第二象限(N/4 g i〈N/2)頻 率倉相關聯(lián),則區(qū)變量設定為值I。否則,若目前要被解碼的頻譜值是與在該些頻率倉的第 ニ(上半)半部(N/2g i〈N)頻率倉相關聯(lián),則區(qū)變量設定為2。如此,區(qū)變量是依據(jù)目前要 被解碼的頻譜值的頻率區(qū)相關聯(lián)的頻率區(qū)的評估而設定??蓞^(qū)別兩個以上頻率區(qū)。若(且僅若)目前要被解碼的頻譜值包含大于3的指標,則執(zhí)行額外位準調(diào)適522。 此種情況下,若位準值q[l] [i-4], I (其是與目前幀的事先解碼頻譜值相關聯(lián),而其是有關 ー種頻率,該頻率例如是比目前要被解碼的頻譜值相關聯(lián)的頻率小例如4頻率倉)是大于 目前位準“l(fā)evO”,則位準變量“l(fā)evO”增加(設定至值q[l] [i-4], I)(步驟522)。位準變量 “l(fā)evO”限于最大值3 (步驟524)。若檢測到算木重置狀況及目前要被解碼的頻譜值的指標i大于1,則依據(jù)變量CO、 Cl、levO,以及依據(jù)區(qū)變量“區(qū)”而返回該狀態(tài)值(步驟526)。如此,若給定算木重置狀況,則 任何先前幀的事先解碼頻譜值不予考慮。在第三變量設定528,變量c2設定為上下文值q
[i]. C,其是與前一音頻幀(具 有時間指數(shù)t-1)的事先解碼頻譜值相關聯(lián),該事先解碼頻譜值是與目前要被解碼的頻譜值 的相同頻率相關聯(lián)。在第四變量設定530,除非目前要被解碼的頻譜值是與最高可能頻率指數(shù)Ig-I相 關聯(lián),否則變量c3設定為上下文值q
[i+1]. C,其是與具有頻率指數(shù)i+1的前ー個音頻幀 的事先解碼頻譜值相關聯(lián)。在第五變量設定532,除非目前要被解碼的頻譜值的頻率指數(shù)i是太過接近最大 頻率指數(shù)(即,具有頻率指數(shù)值lg-2或Ig-I),否則變量c5設定為上下文值q
[i+2].c, 其是與具有頻率指數(shù)i+2的前一個音頻幀的事先解碼頻譜值相關聯(lián)。若頻率指數(shù)i等于零(S卩,若目前要被解碼的頻譜值為最低頻譜值),則進行位準變 量“l(fā)evO”的額外調(diào)適。此種情況下,若變量c2或c3具有值3 (其指示與目前欲解碼的頻 譜值相關聯(lián)的頻率比較時,與相同頻率或甚至更高頻率相關聯(lián)的的前一音頻幀的事先解碼 頻譜值具有較大值),則位準變量“l(fā)evO”自零增至I。在選擇性返回值運算536,返回值的運算是依據(jù)目前要被解碼的頻譜值的指標i 是否具有值零、I、或更大值。若指標i具有零值,則返回值是依據(jù)變量c2、c3、c5及IevO運 算,如參考標號536a所示。若指標i具有值1,則返回值是依據(jù)變量CO、c2、c3、c4、c5、及 IevO運算,如參考標號536b所示。若指標i具有非零或非I的值,則返回值是依據(jù)變量CO、c2、c3、c4、cl、c5、c6、“區(qū)”及l(fā)ev0 運算(參考標號 536c)。綜上所述,上下文值運算“arith_get_context ()”包含一組多個事先解碼零頻譜 值(或至少足夠小的頻譜值)的檢測512。若找到一組足夠事先解碼零頻譜值,通過設定返 回值為1而指示特殊上下文的存在。否則進行上下文值運算。通常,在上下文值運算中,指 標值i被評估從而判定須評估多少個事先解碼頻譜值。舉例言之,若目前要被解碼的頻譜 值的頻率指數(shù)i接近下邊界(例如零)或接近上邊界(例如lg-1),則減少所評估的事先解碼 頻譜值數(shù)目。此外,即便目前要被解碼的頻譜值的頻率指數(shù)i足夠遠離最小值,則通過區(qū)值 設定520區(qū)別不同的頻譜區(qū)。據(jù)此,考慮不同頻譜區(qū)(例如第一、低頻率頻譜區(qū);第二、中頻 率頻譜區(qū);及第三、高頻率頻譜區(qū))的不同統(tǒng)計性質(zhì)。作為返回值的上下文值的計算是取決 于變量“區(qū)”,使得該返回的上下文值是取決于該目前要被解碼的頻譜值是在第一預定頻率 區(qū)還是在第二預定頻率區(qū)(或在任何其它預定頻率區(qū))。6.5.映射規(guī)則選擇后文中,將描述映射規(guī)則的選擇,例如描述碼值至符號碼的映射的累積頻率表。映 射規(guī)則的選擇是依據(jù)上下文狀態(tài)進行,該上下文狀態(tài)是以狀態(tài)值s或t描述。6. 5. 1.使用依據(jù)圖5d的運算法則的映射規(guī)則選擇后文中,將說明依據(jù)圖5d使用函數(shù)“get_pk”選擇映射規(guī)則。須注意,可執(zhí)行函數(shù) “get_pk”從而在圖3的運算法則的子運算法則312ba中獲得值“pki”。如此,函數(shù)“get_ pk”可取代圖3的運算法則中的函數(shù)“arith_get_pk”。也須注意,依據(jù)圖5d的函數(shù)“get_pk”可評估依據(jù)圖17 (1)及圖17 (2)的表 “ari_s_hash [387],,及依據(jù)圖 18 的表 “ari_gs_hash,,[225]。函數(shù)“get_pk”接收狀態(tài)值s作為輸入變量,該狀態(tài)值s可通過依據(jù)圖3的變量“t” 與根據(jù)圖3的變量“l(fā)eV”、“l(fā)eV0”組合而獲得。函數(shù)“get_pk”也被配置為返回變量“pki” 值(其標示映射規(guī)則或累積頻率表)作為返回值。函數(shù)“get_pk”被配置為將狀態(tài)值s映射 至映射規(guī)則指數(shù)值“pki”。函數(shù)“get_pk”包含第一表評估540,及第二表評估544。第一表評估540包含變量 初始化541,其中變量i_min、i_max、及i被初始化,如參考標號541所示。第一表評估540 也包含迭代表搜尋542,在該過程判定是否存在匹配狀態(tài)值s的表“ari_s_hash”的登錄項 目。若在迭代表搜尋542期間識別此種匹配,則舍棄函數(shù)get_pk,其中通過匹配狀態(tài)值s的 表”ari_s_hash”的登錄項目而判定該函數(shù)的返回值,稍后詳述。然而,若在迭代表搜尋542 期間并未找到狀態(tài)值s與表”ari_s_hash”的登錄項目間的完美匹配,則執(zhí)行邊界登錄項目 檢查543?,F(xiàn)在轉(zhuǎn)向第一表評估540的細節(jié),可知由變量i_min及i_max界定搜尋區(qū)間。只 要由變量i_min及i_max界定搜尋區(qū)間夠大,則重復迭代表搜尋542,若條件i_max-i_ min>l,則該狀況為真。隨后,至少約略近似地設定變量i來標示該區(qū)間的中點(i=i_min+ (i_max-i_min) /2)。隨后,設定變量j為由數(shù)組“ari_s_hash”位在變量i所標示的數(shù)組 位置所判定的一值(參考標號542)。此處須注意,表“ari_s_hash”的各個登錄項目描述二 者,即,與該表登錄項目相關聯(lián)的狀態(tài)值,及與該表登錄項目相關聯(lián)的映射規(guī)則指數(shù)值。與 該表登錄項目相關聯(lián)的狀態(tài)值是由該表登錄項目的最高有效位(位8-31)描述;而映射規(guī) 則指數(shù)值是由該表登錄項目的較低位(例如位0-7)描述。下邊界i_min或上邊界i_max是依據(jù)狀態(tài)值S是否小于由該表“ari_s_hash”的變量i所參考的登錄項目“ari_s_hash[i] ” 的最高有效24位所描述的狀態(tài)值而調(diào)適。舉例言之,若狀態(tài)值s小于由登錄項目“ari_s_ hash[i]”的最高有效24位所描述的狀態(tài)值,則該表區(qū)間的上邊界i_max設定為值i。如此, 迭代表搜尋542的下次迭代的表區(qū)間被限于針對迭代表搜尋542的本次迭代所使用的表區(qū) 間(自i_min至i_max)的下半。相反地,若狀態(tài)值s大于由表登錄項目“ari_s_hash[i] ” 的最高有效24位所描述的狀態(tài)值,則迭代表搜尋542的下次迭代的表區(qū)間的下邊界i_min 設定為值i,使得目前表區(qū)間(在i_min至i_max間)的上半被用作針對下次迭代表搜尋的 表區(qū)間。然而,若發(fā)現(xiàn)狀態(tài)值s與由表登錄項目“ari_s_hash[i] ”的最高有效24位所描述 的狀態(tài)值相等,則由函數(shù)“get_pk”返回由表登錄項目“ari_s_hash[i] ”的最低有效8位所 描述的映射規(guī)則指數(shù)值,進而舍棄該函數(shù)。迭代表搜尋542被重復,直至由變量i_min與i_max所界定的表區(qū)間足夠小為止。(可選地)執(zhí)行邊界登錄項目檢查543來補償?shù)硭褜?42。若迭代表搜尋542 完成后,指數(shù)變量i等于指數(shù)變量i_max,則作最后檢查狀態(tài)值s是否等于由表登錄項目 “ari_s_hash[i_min] ”的最高有效24位所描述的狀態(tài)值,及此種情況下,返回由表登錄項 目“ari_s_hash[i_min] ”的最低有效8位所描述的映射規(guī)則指數(shù)值作為函數(shù)“get_pk”的 結(jié)果。相反地,若指數(shù)變量i與指數(shù)變量i_max不同,則執(zhí)行檢查狀態(tài)值s是否等于由表登 錄項目“ari_s_hash[i_max] ”的最高有效24位所描述的狀態(tài)值,及此種情況下,返回由表 登錄項目“ari_s_hash[i_max] ”的最低有效8位所描述的映射規(guī)則指數(shù)值作為函數(shù)“get_ pk”的返回值。但須注意,邊界登錄項目檢查543整體上可視為可選的。在第一表評估540之后,執(zhí)行第二表評估544,除非在第一表評估540期間出現(xiàn)“直 接命中”,該種情況下,狀態(tài)值s等于由表“ari_s_hash”的登錄項目(或更明確地,由其24 最高有效位)所描述的狀態(tài)值中的一個。第二表評估544包含變量初始化545,其中指數(shù)變量及i_max被初始化, 如參考標號545所不。第二表評估544也包含迭代表搜尋546,在該過程中,搜尋表“ari_ gs_hash”的一登錄項目,該登錄項目表示與狀態(tài)值s相同的狀態(tài)值。最后,第二表評估544 包含返回值判定547。只要由變量i_min及i_max界定的表區(qū)間夠大(例如只要i_max-i_min>l),則重 復迭代表搜尋546。在迭代表搜尋546的重復中,變量i設定為由i_min及i_max所界定 的該表區(qū)間的中點(步驟546a)。隨后,表“ari_gs_hash”的變量j是位于指數(shù)變量i所判 定的表位置獲得(546b)。換言之,表登錄項目“ari_gs_hash[i] ”是位于由表指數(shù)i_min及 i_max所界定的該目前表區(qū)間中點的一表登錄項目。隨后,判定針對迭代表搜尋546的下 次迭代的表區(qū)間。為了達成此目的,若狀態(tài)值s小于由表登錄項目“j =ari_gs_hash[i]” 的最高有效24位所描述的狀態(tài)值,則描述該表區(qū)間的上邊界的指數(shù)值i_max被設定為值i (546c)。換言之,目前表區(qū)間的下半被選作針對迭代表搜尋546的下次迭代的新表區(qū)間(步 驟546c)。否則,若狀態(tài)值s大于由表登錄項目“j = ari_gs_hash[i]”的最高有效24位 所描述的狀態(tài)值,則指數(shù)值i_min被設定為值i。如此,目前表區(qū)間的上半被選擇作為針對 迭代表搜尋546的下次迭代的新表區(qū)間(步驟546d)。然而,若發(fā)現(xiàn)狀態(tài)值s與由表登錄項 目“ j = ari_gs_hash[i] ”的最高有效24位所描述的狀態(tài)值相等,則指數(shù)變量i_max設定為值i+1或設定為值224 (若i+1大于224),且舍棄迭代表搜尋546。然而,若狀態(tài)值s與 由“j = ari_gs_hash[i]”的24最高有效位所描述的狀態(tài)值不同,則除非該表區(qū)間過小(i_ max-i_min ^ 1 ),否則迭代表搜尋546是以由已更新的指標值i_min及i_max所界定的新設 定表區(qū)間重復。如此,表區(qū)間(由i_min及i_max所界定)的區(qū)間大小迭代地縮小直至檢測 至1J “直接命中”(s== (j > >8)),或直至區(qū)間達到最小容許大小(i_max-i_min = 1)為止。 最后,在舍棄了迭代表搜尋546后,判定表登錄項目“ j = ari_gs_hash[i_max] ”,及由該表 登錄項目“ j = ari_gs_hash[i_max] ”的8個最低有效位所描述的映射規(guī)則指數(shù)值被返回 作為函數(shù)“get_pk”的返回值。如此,映射規(guī)則指數(shù)值是依據(jù)在迭代表搜尋546完成或舍棄 后,表區(qū)間(由i_min及i_max所界定)的上邊界i_max判定。都使用迭代表搜尋542、546的前述表評估540、544允許以極高的運算效率檢驗表 “ari_s_hash”及“ari_gs_hash”是否存在一給定的有效狀態(tài)。更明確地,即便于最惡劣情 況下,表存取運算次數(shù)仍可維持合理地小。已發(fā)現(xiàn)表“ari_s_hash”及“ari_gs_hash”的數(shù) 值定序,允許加速搜尋適當哈希值。此外,表的大小可維持較小,原因在于不需要在表“ari_ s_hash”及“ari_gs_hash”中包括逸出符號。如此,即便有大量不同狀態(tài),仍可建立有效上 下文哈希機制在第一階段(第一表評估540),進行針對直接命中的搜尋(s== (j > >8))。在第二階段(第二表評估544),狀態(tài)值s的范圍可映射至映射規(guī)則指數(shù)值。如此, 可執(zhí)行表“ari_s_hash”中有相關聯(lián)的登錄項目的特別有效狀態(tài)、與基于范圍的處理的較低 有效狀態(tài)的良好平衡處置。據(jù)此,函數(shù)“get_pk”組成映射規(guī)則選擇的有效實現(xiàn)。有關任何進一步細節(jié),請參考圖5d的偽程序代碼,其是以依據(jù)眾所周知程序語言 C的表示而表示函數(shù)“get_pk”的函數(shù)性。6. 5. 2.使用依據(jù)圖5e的運算法則的映射規(guī)則選擇后文中,將參考圖5e敘述映射規(guī)則選擇的另一項運算法則。須注意,依據(jù)圖5e的 運算法則“arith_get_pk”接收描述上下文狀態(tài)的一狀態(tài)值s作為輸入變量。函數(shù)“arith_ get_pk”提供概率模型的指數(shù)“pki”作為輸出值或返回值,該指數(shù)可為用以選擇映射規(guī)則的 指數(shù)(例如累積頻率表)。須注意,依據(jù)圖5e的函數(shù)“arith_get_pk”可具有圖3函數(shù)“value_decode”的函 數(shù)“arith_get_pk”的函數(shù)性。也須注意,函數(shù)“arith_get_pk”例如可評估依據(jù)圖20的表ari_s_hash及依據(jù)圖 18 的表 ari_gs_hash。依據(jù)圖5e的函數(shù)“arith_get_pk”|包含第一表評估550及第二表評估560。在第 一表評估550,對于表ari_s_hash作線性掃描,獲得該表的登錄項目j = ari_gs_hash [i]。 若由表ari_s_hash的一表登錄項目j = ari_gs_hash [i]的最高有效24位描述的狀態(tài)值 等于狀態(tài)值s,則返回由該所識別的表登錄項目j =ari_gs_hash[i]的最低有效8位所描 述的映射規(guī)則指數(shù)值“pki”,及舍棄函數(shù)“arith_get_pk”。據(jù)此,除非識別“直接命中”(狀 態(tài)值s等于表登錄項目j的最高有效24位描述的狀態(tài)值),否則表ari_s_hash的全部387 登錄項目是以上升順序評估。若在第一表評估550未識別直接命中,則執(zhí)行第二表評估560。在第二表評估過 程中,執(zhí)行線性掃描,登錄項目指數(shù)i自零線性遞增至224最大值。在第二表評估期間,讀 取針對表i的表“ari_gs_hash”的登錄項目“ari_gs_hash [i] ”,且評估表登錄項目“ j =ari_gs_hash[i]”,其中判定由表登錄項目j的24最高有效位所表示的狀態(tài)值是否大于狀 態(tài)值s。若屬此種狀況,則返回由表登錄項目j的8最低有效位所描述的映射規(guī)則指數(shù)值作 為函數(shù)“arith_get_pk”的返回值,及舍棄函數(shù)“arith_get_pk”的執(zhí)行。然而,若狀態(tài)值s 不小于由目前表登錄項目j = ari_gs_hash[i]的24最高有效位所描述的狀態(tài)值,則通過 遞增表指數(shù)i而繼續(xù)掃描對于表ari_gs_hash的登錄項目。然而,若狀態(tài)值s大于或等于 由表登錄項目ari_gs_hash所描述的任一個狀態(tài)值,則返回由表ari_gs_hash的8最低有 效位所界定的映射規(guī)則指數(shù)值“pki”作為函數(shù)“arith_get_pk”的返回值。總而言之,依據(jù)圖5e的函數(shù)“arith_get_pk”執(zhí)行二步驟式哈希。在第一步驟,執(zhí) 行針對直接命中的搜尋,其中判定狀態(tài)值s是否等于由第一表“ari_gs_hash”的任一登錄 項目所描述的狀態(tài)值。若在第一表評估550中識別直接命中,則自第一表“ari_s_hash”獲 得返回值,而舍棄函數(shù)“arith_get_pk”。然而,若在第一表評估550未識別直接命中,則執(zhí) 行第二表評估560。在第二表評估,執(zhí)行基于范圍的評估。第二表“ari_gs_hash”的接續(xù)登 錄項目界定范圍。若發(fā)現(xiàn)狀態(tài)值s是落入此一范圍(其是由下述事實指示,由目前表登錄項 目“ j = ari_gs_hash[i] ”的24最高有效位所描述的狀態(tài)值大于狀態(tài)值s),則送返由表登 錄項目“ j = ari_gs_hash[i] ”的8最低有效位所描述的映射規(guī)則指數(shù)值“pki ”。6. 5. 3.使用依據(jù)圖5f的運算法則的映射規(guī)則選擇依據(jù)圖5f的函數(shù)“get_pk”實質(zhì)上相當于依據(jù)圖5e的函數(shù)“arith_get_pk”。因 而,參考如文討論。有關進一步細節(jié),請參考圖5f的偽程序表不。須注意,依據(jù)圖5f的函數(shù)“get_pk”可替代圖3稱作為函數(shù)“Value_deCOde”的函 數(shù) “ arith_get_pk,,。6. 6.依據(jù)圖 5g 的函數(shù)“arith_decode (),,后文中,將參考圖5g討論函數(shù)“arith_decode ()”的函數(shù)性的進一步細節(jié)。須了 解,函數(shù)“arith_decode ()”使用助手函數(shù)“arith_first_symbol (void)”,若為該序列中的 第一符號則返回TRUE,否則返回FALSE。函數(shù)“arith_decode ()”也使用助手函數(shù)“arith_ get_next_bit (void)”,其獲取且提供該位串流的下一位。此外,函數(shù)“arith_decode ()” 使用全局變量“l(fā)ow”、“high” 及 “value”。此夕卜, 函數(shù)“arith_decode ()”接收變量“cum_freq[] ”作為輸入變量,其指向所選累積頻率表的 第一登錄項目或元素(具有元素指數(shù)或登錄項目指數(shù)0)。同樣,函數(shù)“arith_decode ()”使 用輸入變量“cfl”,其指示以變量“CUm_freq□”標示的所選累積頻率表的長度。函數(shù)“arith_deCOde()”包含變量初始化570a作為第一步驟,若助手函數(shù)“arith_ first_symbol ()”指示一序列符號的第一符號是經(jīng)解碼,則執(zhí)行該步驟。變量初始化550a 依據(jù)多個例如20位而初始化變量“value”,該些位是使用助手函數(shù)“arith_get_next_bit” 而得自位串流,使得該變量“value”具有該些位所表示的值。同樣,變量“l(fā)ow”被初始化為 具有0值,而變量“high”被初始化為具有1048575值。在第二步驟570b,變量“range”設定為比變量“high”與” low”數(shù)值間的差值大1 的值。變量“cum”設定為一值,其表示變量“l(fā)ow”值與變量“high”值間的變量“value”值 的相對位置。如此,變量“cum”例如依據(jù)變量“value”值而具有0至216間的一值。指標器p被初始化為一值,該值是比所選累積頻率表的起始地址小1。運算法則“arith_deCOde ()”也包含迭代累積頻率表搜尋570c。該迭代累積頻率表搜尋被重復,直至變量cfl小于或等于1為止。在迭代累積頻率表搜尋570c,指數(shù)器變 量q設定為一值,該值等于指數(shù)器變量P的目前值與變量“cfl”值的一半的和數(shù)。若所選 累積頻率表的由指數(shù)器變量q所尋址的該登錄項目*q的值大于變量“cum”的值,則指數(shù)器 變量P被設定至指數(shù)器變量q的值,而變量“cfl”遞增。最后,變量“cfl”向右位移一位, 由此有效地將變量“cfl”除以2,及忽略取模(modulo)部分。如此,迭代累積頻率表搜尋570c有效地比較變量“cfl”值與該所選累積頻率表的 多個登錄項目,從而識別出該所選累積頻率表內(nèi)部是由該累積頻率表的登錄項目所畫界的 一區(qū)間,使得值cum位在所識別的區(qū)間內(nèi)。如此,該所選累積頻率表的登錄項目界定區(qū)間, 其中個別符號值是與該所選累積頻率表的各個區(qū)間相關聯(lián)。同樣,該累積頻率表的兩相鄰 值之間的區(qū)間寬度界定與該區(qū)間相關聯(lián)的符號的概率,使得所選累積頻率表全體界定不同 符號(或符號值)的概率分布。有關可用累積頻率表的細節(jié)將參考圖19討論如下。再次參考圖5g,符號值是從指數(shù)器變量p導出,其中該符號值的導算是如參考標 號570d所示。如此,指數(shù)器變量p值與起始地址“cum_freq”間的差值被評估,從而獲得該 符號值,其以變量“symbol”表不。運算法則“arith_decode”也包含變量“high”及“l(fā)ow”的調(diào)適570e。若由變量 “symbol”表示的符號值非0,則變量“high”被更新,如參考標號570e所示。變量“high” 被設定為由變量“ low”、變量“range”及所選累積頻率表的具有指數(shù)“ symbol-1”的登錄項 目的值所判定的一值。變量“l(fā)ow”增加,其中增加幅度是由變量“range”及所選累積頻率 表的具有指數(shù)“symbol”的登錄項目判定。如此,變量“l(fā)ow”與“high”的值間的差值是依 據(jù)所選累積頻率表的兩相鄰登錄項目的數(shù)值差而調(diào)整。據(jù)此,若檢測到具有低概率的一符號值,則變量“l(fā)ow”與“high”的值之間的區(qū)間 縮小至狹窄寬度。相反地,若檢測到的符號值包含相對大的概率,則變量“l(fā)ow”與“high” 的值之間的區(qū)間寬度設定為相對較大值。再度,變數(shù)“l(fā)ow”與“high”的值之間的區(qū)間寬度 是取決于檢測到的符號及相對應的累積頻率表的登錄項目。運算法則“arith_decode”也包含區(qū)間再標準化570f,其中在步驟570e中測定的 區(qū)間被迭代地位移及定標直至達到“斷裂(break)”狀況為止。在區(qū)間再標準化570f,執(zhí)行 選擇性向下位移運算570fa。若變量“high”小于524286則不作為,而以區(qū)間大小增加運算 570fb繼續(xù)區(qū)間再標準化。然而,若變量“high”不小于524286,并且變數(shù)“l(fā)ow”大于或等 于 524286,則變數(shù)“values”、“ low”、及“high” 全部減 524286,使得由變量“ low” 及“high” 所界定的區(qū)間向下位移,且使得變量“value”的值也向下位移。然而,若發(fā)現(xiàn)變量“high”不 小于524286,且變量“l(fā)ow”不大于或等于524286,且變量“l(fā)ow”大于或等于262143,且變量 “high” 小于 786429,則變數(shù) “value”、“l(fā)ow”、及 “high” 全部減 262143,使得由變量“l(fā)ow” 及“high”所界定的區(qū)間向下位移,且使得變量“value”的值也向下位移。然而,若未滿足 前述任一種情況,則舍棄區(qū)間再標準化。然而,若滿足步驟570fa評估的任一個前述件,則執(zhí)行區(qū)間增加運算570fb。在區(qū) 間增加運算570fb,變量“l(fā)ow”的值加倍。同樣,變量“high”的值加倍,加倍結(jié)果遞增1。 同樣,變量“value”的值加倍(朝左位移1位),及由助手函數(shù)“arith_get_neXt_bit”所得 的位串流的一位被用作最低有效位。據(jù)此,變量“l(fā)ow”及“high”之間的區(qū)間大小被近似地 加倍,及變量“value”的精度通過使用該位串流的一新位而增高。如前述,步驟570fa及570fb重復直至達“斷裂”狀況,即,直至變量“ low”與“high”數(shù)值間的區(qū)間夠大為止。有關運算法則“arith_deCOde ()”的函數(shù)性,須注意在步驟570e,依據(jù)由變量 “CUm_freq”所參照的累積頻率表的兩相鄰登錄項目,變量“l(fā)ow”與“high”數(shù)值間的區(qū)間縮 小。若所選累積頻率表的兩相鄰值間的區(qū)間小,即,若相鄰值較為靠近,則步驟570e所獲得 的變量“l(fā)ow”與“high”數(shù)值間的區(qū)間將相對較小。相反地,若累積頻率表的兩相鄰登錄項 目較為遠離,則步驟570e所獲得的變量“ low”與“high”數(shù)值間的區(qū)間將相對較大。結(jié)果,若步驟570e所獲得的變量“ low”與“high”數(shù)值間的區(qū)間為相對較小,則 將執(zhí)行大量的區(qū)間再標準化步驟來復位標該區(qū)間至“足夠”的大小(使得不滿足狀況評估 570fa的任一種狀況)。如此,相對較大量的來自位串流的位將用來提高變量“value”的精 度。相反地,若步驟570e所獲得的區(qū)間大小為相對較大,則只需少量重復區(qū)間標準化步驟 570fa及570fb從而將變量“l(fā)ow”與“high”數(shù)值間的區(qū)間再標準化為“足夠”大小。如此, 只有相對較少數(shù)量得來自位串流的位將用來提高變量“value”的精度,及準備下ー個符號 的解碼。綜上所述,若解碼ー符號(其包含較高概率且所選累積頻率表的登錄項目是與其 大區(qū)間相關聯(lián)),則將只從位串流讀取較少數(shù)量的位,來允許隨后符號的解碼。相反地,若解 碼ー符號(其包含較低概率且所選累積頻率表的登錄項目是與其小區(qū)間相關聯(lián)),則將從位 串流取得較大量的位來準備下ー符號的解碼。如此,累積頻率表的登錄項目反映不同符號的概率,同時也反映解碼ー序列符號 所需位數(shù)目。通過依據(jù)上下文,亦即依據(jù)事先解碼符號(或頻譜值)而變量累積頻率表,例如 通過依據(jù)上下文而選擇不同的累積頻率表,可探討不同符號間的隨機相依性,其允許隨后 的(或相鄰的)符號的特定位率有效編碼。綜上所述,已經(jīng)參考圖5g描述的函數(shù)“arith_decode ()”是連同累積頻率表 “arith_cf_m[pki][] ”調(diào)用,對應于由函數(shù)“arith_get_pk ()”所返回的指數(shù)“pki”,判定 最高有效位平面值m (其可被設定為由返回變量I symbol”表示的符號值)。6. 7.逸出機制雖然已解碼的最高有效位平面值m (其可由函數(shù)“ arith_deCOde ()”返回作為符 號值)為逸出符號“ARITH_ESCAPE”,但解碼另ー個最高有效位平面值m,及變量“l(fā)ev”遞增 I。據(jù)此,獲得有關最高有效位平面值m的數(shù)值重要性及要被解碼的較低有效位平面數(shù)目的 信息。若逸出符號“ARITH_ESCAPE”經(jīng)解碼,則位準變量“l(fā)ev”遞增I。如此,輸入至函數(shù) “arith_get_pk”的狀態(tài)值也經(jīng)修正,由最高位(位24及以上)所表示的值對運算法則312ba 的下次迭代增加。6. 8.依據(jù)圖5h的上下文更新一旦頻譜值完全被解碼(即,全部最低有效位平面皆已經(jīng)相加,上下文表q及qs是 通過調(diào)用函數(shù)“arith_update_context (a, i, lg)”而更新)。后文中,將參考圖5h描述有 關函數(shù)“arith_update_context (a, i, lg)”的細節(jié),其顯示該函數(shù)的偽程序碼表示。函數(shù)“arith_update_context (a, i, lg)”接收已解碼的量化頻譜系數(shù)a、要被解碼 的頻譜值(或已解碼的頻譜值)指數(shù)i、及與目前音頻幀相關聯(lián)的頻譜值(或頻譜系數(shù))的數(shù) 目Ig作為輸入變量。LU^/J 仕少踩t)8U,日目U G舺供)的星1七刎1 苜俚系劃Ja攸汚火芏丄r義衣現(xiàn)丄r義效組
q。如此,上下文表q的登錄項目q[l][i]設定為a。同樣,變量“aO”被設定為值“a”。在步驟582,判定上下文表q的位準值q[l] [i], 1。經(jīng)由默認,將上下文表q的位 準值q[l][i].l設定為零。然而,若目前已解碼的頻譜值a的絕對值大于4,則位準值q[l] [i].l遞增。隨著各次遞增,變量“a”向右位移一位。重復位準值q[l][i].l的遞增,直至 變量aO的絕對值小于或等于4為止。在步驟584,設定上下文表q的2-位上下文值q[l][i].c。若目前已解碼的頻譜 值a等于零,則2-位上下文值q[l] [i]. c被設定為零值。否則,若已解碼的頻譜值a的絕 對值小于或等于1,則2-位上下文值q[l] [i].c設定為1。否則,若目前已解碼的頻譜值a 的絕對值小于或等于3,則2-位上下文值q[l][i].c設定為2。否則,S卩,若目前已解碼的頻 譜值a的絕對值大于3,則2-位上下文值q[l] [i]. c設定為3。如此,2_位上下文值q[l] [i].c是通過目前已解碼的頻譜值a的極為粗糙的量化而獲得。在接續(xù)步驟586,此步驟僅在目前已解碼的頻譜值的指數(shù)i等于幀的系數(shù)(頻譜 值)數(shù)目lg時才執(zhí)行,換言之,若幀的最末頻譜值已經(jīng)解碼及核心模是線性預測域核心模 (其是以“core_mode==l”指示),則登錄項目q[l] [j]. c被拷貝入上下文表qs[k]。參考標 號586所示,執(zhí)行拷貝,使得目前幀的頻譜值數(shù)目lg被列入考慮用以將登錄項目q[l][j]. c拷貝至上下文表qs[k]。此外,變量“previous_lg”具有值1024。 然而,可替換地,若目前已解碼的頻譜系數(shù)的指數(shù)i達lg值,及核心模是頻域核心 模(其是以“core_mode==l”指示),則上下文表q的登錄項目q[l] [j]. c被拷貝入上下文表 qs[j]。此種情況下,變量“previous_lg”被設定為值1024與巾貞內(nèi)頻譜值數(shù)目lg間的最小值。6.9.解碼程序的摘要后文中,將簡單摘述解碼程序。有關其細節(jié),請參考前文討論及圖3、圖4及圖5a 至圖5i。始于最低頻率系數(shù)并且前進至最高頻率系數(shù),量化頻譜系數(shù)a是無噪聲式編碼及 傳輸。得自進階音頻編碼(AAC)的系數(shù)儲存于數(shù)組“x_ac_quant[g] [win] [sfb] [bin] ”, 及無噪聲編碼碼字組的傳輸順序為當其是以所接收的及儲存于數(shù)組的順序解碼時,bin為 最快遞增指數(shù),而g為最慢遞增指數(shù)。指數(shù)bin表示頻率倉。指數(shù)“sfb”表示定標因子帶。 指數(shù)“win”指示窗。指數(shù)“g”指示音頻中貞。得自變換編碼激勵的系數(shù)被直接儲存在數(shù)組“x_tcx_invquant [win] [bin] ”,并且 無噪聲編碼碼字組的傳輸順序為當其是以所接收的及儲存于數(shù)組的順序解碼時,“bin”為 最快遞增指數(shù),而“win”為最慢遞增指數(shù)。首先,在上下文表或數(shù)組“ qs ”中所儲存的過去上下文與目前幀q上下文(儲存在 上下文表或數(shù)組q)間進行映射。過去上下文“qs”被儲存在每一頻率行(或每一頻率倉) 2~位。在上下文表“qs”中所儲存的過去上下文與儲存在上下文表“q”的目前幀上下文 間的映射是使用函數(shù)“arith_map_context ()”執(zhí)行,其偽程序碼表示是顯示于圖5a。
無噪聲解碼器輸出帶符號的量化頻譜系數(shù)“a”。首先,基于環(huán)繞要解碼的量化頻譜系數(shù)的事先解碼頻譜系數(shù),計算上下文狀態(tài)。上 下文狀態(tài)s與由函數(shù)“arith_get_context ()”所返回值的首24位相對應。超過返回值的 第24位的位與預測位平面位準levO相對應。變量“l(fā)ev”被初始化為levO。函數(shù)“arith_ get_context”的偽程序碼表示在圖5b及圖5c中示出。一旦狀態(tài)s及預測位準“l(fā)evO”為已知,則使用函數(shù)“arith_deCOde ()”解碼最高 有效逐2-位平面值m,被饋以與上下文狀態(tài)相對應的概率模型相對應的適當累積頻率表。對應關系是以函數(shù)“arith_get_pk ()”作出。函數(shù)“arith_get_pk ()”的偽程序碼表示在圖5e中示出??商娲瘮?shù)“arith_get_pk ()”的另一個函數(shù)“get_pk”的偽程序碼表示顯示于 圖5f??商娲瘮?shù)“arith_get_pk ()”的另一個函數(shù)“get_pk”的偽程序碼表示顯示于圖 5d。使用連同累積頻率表“arith_cf_m[pki] □”被調(diào)用的函數(shù)“arith_decode ()”來 解碼值m,此處“pki”是對應于由函數(shù)“arith_get_pk (),,(或另外,由函數(shù)“get_pk (),,) 所返回的指數(shù)。算術(shù)編碼器為使用以定標標度產(chǎn)生標簽的方法的整數(shù)實現(xiàn)方式(例如參考 K. Sayood ^ Introduction to Data Compression,,第三版 2006 年,Elsevier Inc.)。圖 5g 所示偽C碼描述所使用的運算法則。當解碼值m為逸出符號“ARITH_ESCAPE”時,解碼另一個值m,及變量“l(fā)ev”遞增 1。一旦值m并非逸出符號“ARITH_ESCAPE”,通過調(diào)用函數(shù)“arith_decode ()”連同累積頻 率表“arith_cf_r [] ”達“ lev”次,則其余位平面從最高有效位準至最低有效位準解碼。例 如,該累積頻率表“arith_cf_r [] ”可描述均衡概率分布。解碼位平面r允許以下述方式改進事先解碼值m
權(quán)利要求
1.一種用以基于已編碼的音頻信息(210 ;810 ;2210)而提供已解碼的音頻信息(212 ;812 ;2212)的音頻解碼器(200 ;800 ;2200),所述音頻編碼器包含 用以基于經(jīng)算術(shù)編碼的頻譜值表示(222 ;821 ;2222 ;acod_m[pki], [m]acod_r [r])而提供多個已解碼的頻譜值(232 ;822 ;2224 ;a)的ー算術(shù)解碼器(230 ;820 ;2220);及 用以使用所述已解碼的頻譜值(232 ;822 ;2224 ;a)來獲得所述已解碼的音頻信息而提供時域音頻表示的ー頻域至時域變換器(26 ;830 ;2230); 其中,所述算術(shù)解碼器被配置為依據(jù)上下文狀態(tài)而選擇描述ー碼值(aCod_m[pki] [m];value)對應至一符號碼(symbol)的映射規(guī)則(cum_freq, ari_cf m[pki] [9]) 其中,所述算術(shù)解碼器被配置為依據(jù)多個事先解碼頻譜值(s)并且還依據(jù)要被解碼的頻譜值(a)是位于第一預定頻率區(qū)還是位于第二預定頻率區(qū),而判定描述所述目前上下文狀態(tài)的ー數(shù)值型目前上下文值(s)。
2.根據(jù)權(quán)利要求I所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為依據(jù)要被解碼的頻譜值(a)是位于第一預定頻率區(qū)還是位于第二預定頻率區(qū)而選擇性地修正所述數(shù)值型目前上下文值(S)。
3.根據(jù)權(quán)利要求I或2所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為判定所述數(shù)值型目前上下文值(S),使得所述數(shù)值型目前上下文值(S)是基于多個事先解碼頻譜值的組合,或基于自多個事先解碼頻譜值(a)所導出的多個中間值(c0, cl, c2, c3, c4, c5, c6)的組合,并且使得依據(jù)要被解碼的頻譜值是位于第一預定頻率區(qū)還是位于第二預定頻率區(qū),所述數(shù)值型目前上下文值(S)被選擇性地増加超過基于多個事先解碼頻譜值的組合、或基于自多個事先解碼頻譜值所導出的中間值(c0, cl, c2, c3, c4, c5, c6)組合所得的ー值。
4.根據(jù)權(quán)利要求I至3中任一項所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為在至少第一頻率區(qū)與第二頻率區(qū)間區(qū)別,從而判定所述數(shù)值型目前上下文值(S), 其中,所述第一頻率區(qū)包含與所述音頻內(nèi)容的ー給定時間部分相關聯(lián)的頻譜值中的至少15%,及其中,所述第一頻率區(qū)為低頻區(qū)且包含具有最低頻率的相關聯(lián)的頻譜值。
5.根據(jù)權(quán)利要求I至4中任一項所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為在至少第一頻率區(qū)與第二頻率區(qū)間區(qū)別,從而判定所述數(shù)值型目前上下文值(S), 其中,所述第二頻率區(qū)包含與所述音頻內(nèi)容的ー給定時間部分相關聯(lián)的頻譜值中的至少15%,及其中,所述第二頻率區(qū)為高頻區(qū)且包含具有最高頻率的相關聯(lián)的頻譜值。
6.根據(jù)權(quán)利要求I至5中任一項所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為至少在第一頻率區(qū)、第二頻率區(qū)與第三頻率區(qū)間區(qū)別,從而依據(jù)所述要被解碼的頻譜值是在至少三個所述頻率區(qū)中的哪ー個的判定而判定所述數(shù)值型目前上下文值(S) '及 其中,所述第一頻率區(qū)、所述第二頻率區(qū)及所述第三頻率區(qū)中的每ー個包含多個相關聯(lián)的頻譜值。
7.根據(jù)權(quán)利要求6所述的音頻解碼器,其中,所述音頻信息的ー給定時間部分的頻譜值中的至少八分之ー是與所述第一頻率區(qū)相關聯(lián),及其中,所述音頻信息的ー給定時間部分的頻譜值中的至少五分之ー是與所述第二頻率區(qū)相關聯(lián),及其中,所述音頻信息的ー給定時間部分的頻譜值中的至少四分之ー是與所述第三頻率區(qū)相關聯(lián)。
8.根據(jù)權(quán)利要求I至7中任一項所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為運算包含至少第一被加數(shù)及至少第二被加數(shù)的一和,作為該加的結(jié)果而獲得所述數(shù)值型目前上下文值(S), 其中,所述第一被加數(shù)是經(jīng)由描述事先解碼頻譜值(a)的振幅的多個中間值(CO,Cl,c2,c3,c4,c5,c6)的組合獲得,及 其中,所述第二被加數(shù)(region)描述要被解碼的頻譜值是與多個頻率區(qū)中的哪ー個頻率區(qū)相關聯(lián)。
9.根據(jù)權(quán)利要求I至8中任一項所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為依據(jù)要被解碼的頻譜值是位于多個不同頻率區(qū)中的哪ー個頻率區(qū)的判定,而修正所述數(shù)值型目前上下文值(S)的ニ進制表示的ー個或多個預定位位置。
10.根據(jù)權(quán)利要求I至9中任一項所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為依據(jù)所述數(shù)值型目前上下文值(s)而選擇映射規(guī)則,使得多個不同數(shù)值型目前上下文值Cs)導致選擇相同的映射規(guī)則。
11.根據(jù)權(quán)利要求I至10中任一項所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為依據(jù)所述數(shù)值型目前上下文值而執(zhí)行映射規(guī)則的ニ步驟式選擇; 其中,所述算術(shù)解碼器被配置為在第一選擇步驟中檢查所述數(shù)值型目前上下文值(S)或自該值導出的值是否等于由一直接命中表(ari_s_hash)的一登錄項目所描述的一有效狀態(tài)值 '及其中,所述算術(shù)解碼器被配置為在第二選擇步驟中判定若所述數(shù)值型目前上下文值(S)或自該值導出的值是與由所述直接命中表的一登錄項目所描述的一有效狀態(tài)值不同,則所述數(shù)值型目前上下文值(S)位于多個區(qū)間中的哪ー個區(qū)間是唯一執(zhí)行者;及 其中,所述算術(shù)解碼器被配置為依據(jù)所述第一選擇步驟或所述第二選擇步驟的結(jié)果而選定所述映射規(guī)則 '及 其中,所述算術(shù)解碼器被配置為在所述第一選擇步驟或所述第二選擇步驟中依據(jù)要被解碼的頻譜值是位于第一頻率區(qū)還是位于第二頻率區(qū)而選定所述映射規(guī)則。
12.根據(jù)權(quán)利要求11所述的音頻解碼器,其中,所述算術(shù)解碼器被配置為依據(jù)所述要被解碼的頻譜值是位于多個不同頻率區(qū)中的哪ー個頻率區(qū)的判定,而選擇性地修正所述數(shù)值型目前上下文值(S)的ニ進制表示的ー個或多個最低有效位部分; 其中,所述算術(shù)解碼器被配置為在所述第二選擇步驟中判定所述數(shù)值型目前上下文值Cs)的ニ進制表示是位于多個區(qū)間中的哪ー個區(qū)間, 選擇所述映射關系,使得一些數(shù)值型目前上下文值導致與所述要被解碼的頻譜值位于哪ー個頻率區(qū)不相干地選擇相同的映射規(guī)則,及 使得針對ー些數(shù)值型目前上下文值,所述映射規(guī)則是依據(jù)所述要被解碼的頻譜值位于哪ー個頻率區(qū)而選定。
13.一種用以基于輸入的音頻信息(110 ;710 ;2110)而提供已編碼音頻信息(112 ;·712 ;2112)的音頻信號編碼器(100 ;700 ;2100),所述音頻編碼器包含 一能量壓縮時域至頻域變換器(130 ;720 ;2120),用以基于所述輸入的音頻信息的時域表示(110 ;710 ;2122)而提供一頻域音頻表示(132 ;722 ;2124),使得所述頻域音頻表示包含一頻譜值(a)集合; 一算木編碼器(170 ;730 ;2130)被配置為使用一可變長度碼字組(acod_m,acod_r)而編碼頻譜值(a)或該值的預處理版本,其中,所述算術(shù)編碼器被配置為將ー頻譜值(a)、或一頻譜值(a)的最高有效位平面值(m)映射至一碼值(acod_m), 其中,所述算術(shù)編碼器被配置為依據(jù)一上下文狀態(tài)(s)而選擇描述將ー頻譜值(a)、或一頻譜值(a)的最高有效位平面值(m)映射至一碼值的映射規(guī)則(ari_cf_m[pki] [9]), 其中,所述算術(shù)編碼器被配置為依據(jù)多個先前已編碼的頻譜值,并且也依據(jù)要被編碼的頻譜值是位于第一預定頻率區(qū)還是位于第二預定頻率區(qū)來判定描述所述目前上下文狀態(tài)的ー數(shù)值型目前上下文值(s)。
14.ー種用以基于已編碼的音頻信息而提供已解碼的音頻信息的方法,所述方法包含 基于已經(jīng)算木編碼的頻譜值表示而提供多個已解碼的頻譜值;及執(zhí)行頻域至時域變換,來使用所述已解碼的頻譜值而提供ー時域音頻表示,從而獲得所述已解碼的音頻信息; 其中,描述碼值映射至符號碼的映射規(guī)則是依據(jù)ー上下文狀態(tài)而選擇;及其中,描述所述目前上下文狀態(tài)的ー數(shù)值型目前上下文值是依據(jù)多個事先解碼頻譜值并且還也依據(jù)要被解碼的頻譜值是位于第一預定頻率區(qū)還是位于第二預定頻率區(qū)而判定。
15.一種用以基于輸入的音頻信息而提供已編碼的音頻信息的方法,所述方法包含 執(zhí)行能量壓縮時域至頻域變換,從而基于所述輸入的音頻信息的時域表示而提供頻域音頻表示,使得所述頻域音頻表示包含一頻譜值集合;及 使用一可變長度碼字組來編碼ー頻譜值或該值的預處理版本; 其中,一頻譜值、或一頻譜值的最高有效位平面值被映射至一碼值; 其中,描述ー頻譜值、或一頻譜值的最高有效位平面值被映射至一碼值的映射規(guī)則是依據(jù)上下文狀態(tài)而選擇; 其中,描述所述目前上下文狀態(tài)的ー數(shù)值型目前上下文值是依據(jù)多個先前已編碼的頻譜值并且還依據(jù)要被編碼的頻譜值是位于第一預定頻率區(qū)還是位于第二預定頻率區(qū)而判定。
16.一種計算機程序,當所述計算機程序運行在計算機上時用以執(zhí)行根據(jù)權(quán)利要求14或15所述方法之一。
全文摘要
一種用以基于一已編碼的音頻信息(2210)而提供一已解碼的音頻信息(2212)的音頻解碼器(2200),包含用以基于經(jīng)算術(shù)編碼的頻譜值表示(2222)而提供多個已解碼的頻譜值(2224)的一算術(shù)解碼器(2220),及用以使用已解碼的頻譜值(2224)而提供時域音頻表示的一頻域至時域變換器(2230),從而獲得解碼的音頻信息。該算術(shù)解碼器被配置為依據(jù)上下文狀態(tài)而選擇描述一碼值映射至一符號碼的映射規(guī)則。該算術(shù)解碼器被配置為依據(jù)多個事先解碼頻譜值并且還依據(jù)欲解碼的頻譜值是位于第一預定頻率區(qū)還是位于第二預定頻率區(qū),而判定描述該目前上下文狀態(tài)的一數(shù)值型目前上下文值。一種音頻編碼器基于一輸入的音頻信息而提供已編碼的音頻信息。
文檔編號G10L19/00GK102667923SQ201080058342
公開日2012年9月12日 申請日期2010年10月19日 優(yōu)先權(quán)日2009年10月20日
發(fā)明者克里斯蒂安·格里貝爾, 奧利弗·魏斯, 尼古勞斯·雷特爾巴赫, 帕特里克·瓦姆博爾德, 紀堯姆·福奇斯, 維內(nèi)什·蘇布巴拉曼, 馬克·伽依爾, 馬庫斯·穆賴特魯斯 申請人:弗蘭霍菲爾運輸應用研究公司