專(zhuān)利名稱::基于先前解碼頻譜值的范數(shù)來(lái)獲得脈絡(luò)子區(qū)值的音頻編碼器、音頻解碼器、編碼及解碼音...的制作方法
技術(shù)領(lǐng)域:
:依據(jù)本發(fā)明的實(shí)施例有關(guān)于一種用以基于編碼音頻信息來(lái)提供解碼音頻信息的音頻解碼器,一種用以基于輸入音頻信息來(lái)提供編碼音頻信息的音頻編碼器,一種用以基于編碼音頻信息來(lái)提供解碼音頻信息的方法,一種用以基于輸入音頻信息來(lái)提供編碼音頻信息的方法及一種計(jì)算機(jī)程序。依據(jù)本發(fā)明的實(shí)施例有關(guān)于一種改良型頻譜無(wú)噪聲編碼,其可用于音頻編碼器或音頻解碼器,例如,所謂的統(tǒng)一語(yǔ)音及音頻編碼裝置(USAC)。
背景技術(shù):
:后文中將簡(jiǎn)單解釋本發(fā)明背景以便于了解本發(fā)明及其優(yōu)點(diǎn)。過(guò)去十年間努力致力于使以良好比特率效率來(lái)以數(shù)字方式儲(chǔ)存及分配音頻內(nèi)容成為可能。就這個(gè)方面而言的一項(xiàng)重要成就是國(guó)際標(biāo)準(zhǔn)IS0/IEC14496-3的確定。此標(biāo)準(zhǔn)的部分3有關(guān)于音頻內(nèi)容的編碼及解碼,而部分3的子部分4有關(guān)于一般音頻編碼。IS0/IEC14496部分3,子部分4定義用于一般音頻內(nèi)容的編碼及解碼的構(gòu)想。此外,已提出要進(jìn)一步改良以改善品質(zhì)及/或減少所需的比特率。依據(jù)該項(xiàng)標(biāo)準(zhǔn)所述構(gòu)想,時(shí)域音頻信號(hào)被轉(zhuǎn)換成時(shí)頻表示。從時(shí)域變換成時(shí)頻域通常是使用變換區(qū)塊來(lái)進(jìn)行,變換區(qū)塊也被稱為時(shí)域樣本的「幀」。業(yè)已發(fā)現(xiàn)較佳地是使用移位,例如,移位半幀的重疊幀,原因在于重疊允許有效地避免(或至少減少)假影(artifact)。此外,業(yè)已發(fā)現(xiàn)須進(jìn)行加窗(windowing)來(lái)避免源自于此種時(shí)間上有限巾貞處理上的假影。借由將輸入音頻信號(hào)的一加窗部分從時(shí)域變換成時(shí)頻域,在許多情況下獲得能量壓縮(energycompaction),使得若干頻譜值包含比多個(gè)其它頻譜值明顯變大的幅度。據(jù)此,在許多情況下,有相對(duì)較少數(shù)頻譜值具有的幅度明顯高于頻譜值的平均幅度。導(dǎo)致能量壓縮的時(shí)域至?xí)r頻域變換的一個(gè)典型實(shí)例為所謂的修正離散余弦變換(MDCT)。頻譜值常依據(jù)心理聲學(xué)模型來(lái)定標(biāo)及量化,使得對(duì)心理聲學(xué)上較為重要的頻譜值的量化誤差相對(duì)較小,而對(duì)心理聲學(xué)上較不重要的頻譜值的量化誤差相對(duì)較大。將已定標(biāo)且已量化頻譜值編碼來(lái)提供它們的一比特率有效率的表示。例如,使用量化頻譜系數(shù)的所謂霍夫曼編碼,記載在國(guó)際標(biāo)準(zhǔn)IS0/IEC14496-3:2005(E)部分3子部分4中。但業(yè)已發(fā)現(xiàn)頻譜值的編碼品質(zhì)對(duì)所需的比特率具有顯著影響。并且還發(fā)現(xiàn)經(jīng)常應(yīng)用在可攜式消費(fèi)裝置并因此應(yīng)當(dāng)是廉價(jià)且耗電量低的音頻解碼器的復(fù)雜度取決于用以編碼頻譜值的編碼方法。綜上所述,需要有一種用以編碼及解碼音頻內(nèi)容的構(gòu)想,其提供比特率效率與資源效率間的改良折衷。
發(fā)明內(nèi)容依據(jù)本發(fā)明的一實(shí)施例形成一種用以基于一編碼音頻信息來(lái)提供一解碼音頻信息的音頻解碼器。該音頻解碼器包含用以基于頻譜值的算術(shù)編碼表示來(lái)提供多個(gè)解碼頻譜值的一算術(shù)解碼器。該音頻解碼器還包含用以使用所述解碼頻譜值來(lái)提供一時(shí)域音頻表示,以獲得解碼音頻信息的一頻域至?xí)r域變換器。該算術(shù)解碼器被配置成依據(jù)由一數(shù)值當(dāng)前脈絡(luò)值所描述的一脈絡(luò)狀態(tài)來(lái)選擇描述將一碼值映射至一符元碼(symbolcode)(該符元碼典型地描述一頻譜值或多個(gè)頻譜值,或者一頻譜值或多個(gè)頻譜值的最高有效比特平面)的一映射規(guī)則。該算術(shù)解碼器被配置成依據(jù)多個(gè)先前已解碼頻譜值來(lái)確定該數(shù)值當(dāng)前脈絡(luò)值。該算術(shù)解碼器還被配置成基于先前已解碼頻譜值來(lái)獲得多個(gè)脈絡(luò)子區(qū)值并儲(chǔ)存所述脈絡(luò)子區(qū)值。該算術(shù)解碼器被配置成依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值來(lái)導(dǎo)算出與一或多個(gè)欲解碼的頻譜值相關(guān)聯(lián)的一數(shù)值當(dāng)前脈絡(luò)值(或更準(zhǔn)確地說(shuō),界定用于解碼一或多個(gè)欲解碼頻譜值的一脈絡(luò))。該算術(shù)解碼器被配置成計(jì)算由多個(gè)先前已解碼頻譜值所形成的一向量的范數(shù),以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值。本發(fā)明之此實(shí)施例是基于以下研究結(jié)果通過(guò)計(jì)算由多個(gè)先前已解碼頻譜值所形成的一向量的范數(shù),可獲得內(nèi)存有效的脈絡(luò)子區(qū)信息,原因在于由多個(gè)先前已解碼頻譜值所形成的此向量的范數(shù)包含最相關(guān)的脈絡(luò)信息。在形成范數(shù)的情況下,頻譜值符號(hào)通常被丟棄。但發(fā)現(xiàn),如果真發(fā)生的話,頻譜值的符號(hào)只包含對(duì)脈絡(luò)狀態(tài)的從屬影響,因此可被刪除而不會(huì)嚴(yán)重?fù)p害脈絡(luò)子區(qū)值的有效性。此外,還發(fā)現(xiàn),通常由多個(gè)先前已解碼頻譜值所形成的一向量的范數(shù)的形成帶來(lái)平均效應(yīng),允許信息數(shù)量減少,同時(shí)仍會(huì)導(dǎo)致以足夠準(zhǔn)確度來(lái)反映當(dāng)前脈絡(luò)情況的一脈絡(luò)值。簡(jiǎn)而言之,通過(guò)儲(chǔ)存脈絡(luò)子區(qū)值,可將儲(chǔ)存呈多個(gè)脈絡(luò)子區(qū)值形式的脈絡(luò)的內(nèi)存需求控制得很小,脈絡(luò)子區(qū)值基于由多個(gè)先前已解碼頻譜值(而非頻譜值本身)所形成的一向量的范數(shù)的運(yùn)算。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成計(jì)算多個(gè)先前已解碼頻譜值的絕對(duì)值的總和,以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的共用脈絡(luò)子區(qū)值,所述頻譜值較佳地是但不一定與該頻域至?xí)r域變換器的相鄰頻率倉(cāng)(frequencybin)及該音頻信息的一共用時(shí)間部分相關(guān)聯(lián)。已發(fā)現(xiàn),與范數(shù)運(yùn)算相對(duì)應(yīng),計(jì)算多個(gè)先前已解碼頻譜值的絕對(duì)值的總和是計(jì)算有意義的脈絡(luò)子區(qū)值的一種特別有效的方式。此處應(yīng)注意,計(jì)算一向量的絕對(duì)值的總和等于計(jì)算該向量之所謂的L-I范數(shù)。換言之,計(jì)算一向量的絕對(duì)值的總和是計(jì)算范數(shù)的實(shí)例。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成量化多個(gè)先前已解碼頻譜值的范數(shù),以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的共用脈絡(luò)子區(qū)值,先前已解碼頻譜值與該頻域至?xí)r域變換器的相鄰頻率倉(cāng)及該音頻信息的一共用時(shí)間部分相關(guān)聯(lián)。量化該范數(shù),例如,可包含以離散尺度(例如,絕對(duì)整數(shù)值的總和)來(lái)計(jì)算該范數(shù),并且還限制其結(jié)果。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成量化多個(gè)先前已解碼頻譜值的范數(shù),以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的該共用脈絡(luò)子區(qū)值,所述頻譜值較佳地是但不一定與該頻域至?xí)r域變換器的相鄰頻率倉(cāng)及該音頻信息的一共用時(shí)間部分相關(guān)聯(lián)。已發(fā)現(xiàn),量化該范數(shù)可能有助于將信息量控制得相當(dāng)小。舉例而言,量化可能有助于減少表示該脈絡(luò)子區(qū)值所需的比特?cái)?shù)目,且因此可協(xié)助提供具有少數(shù)比特的數(shù)值當(dāng)前脈絡(luò)值。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成計(jì)算使用一共用碼值來(lái)編碼的多個(gè)先前已解碼頻譜值的絕對(duì)值的總和,以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的共用脈絡(luò)子區(qū)值。已發(fā)現(xiàn),若對(duì)使用一共用碼值編碼的此類(lèi)頻譜值形成一共用脈絡(luò)子區(qū)值,則脈絡(luò)的準(zhǔn)確度特別高。因此,每一個(gè)脈絡(luò)子區(qū)值可與一個(gè)碼值相對(duì)應(yīng),這又在儲(chǔ)存該脈絡(luò)子區(qū)值時(shí)獲得良好的內(nèi)存效率。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成提供有符號(hào)的已解碼離散頻譜值給該頻域至?xí)r域變換器,及計(jì)算與所述有符號(hào)的已解碼頻譜值相對(duì)應(yīng)的絕對(duì)值的總和,以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的共用脈絡(luò)子區(qū)值。已發(fā)現(xiàn),有符號(hào)的值作為輸入頻域至?xí)r域變換器的輸入值,就音頻質(zhì)量而言有時(shí)是有利的,原因在于這允許考慮音頻內(nèi)容重建時(shí)的相位。但也發(fā)現(xiàn),脈絡(luò)子區(qū)值刪除相位信息(亦即關(guān)于頻譜值的符號(hào)信息),并不會(huì)使使用脈絡(luò)子區(qū)值所導(dǎo)算出的脈絡(luò)狀態(tài)信息的準(zhǔn)確度嚴(yán)重降級(jí),原因在于在大多數(shù)情況下,相位信息在不同的頻率倉(cāng)間并沒(méi)有強(qiáng)烈的相關(guān)性。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成由先前已解碼頻譜值的絕對(duì)值的總和來(lái)導(dǎo)算出一有限總和值(或由多個(gè)先前已解碼的離散頻譜值所形成的一向量的范數(shù)導(dǎo)出一有限范數(shù)值),使得該有限總和值的一可能值范圍小于一可能總和值范圍(或使得該有限范數(shù)值的一可能值范圍小于一可能范數(shù)值范圍)。已發(fā)現(xiàn),限制脈絡(luò)子區(qū)值允許減少用于儲(chǔ)存脈絡(luò)子區(qū)值所需的比特?cái)?shù)目。而且,已發(fā)現(xiàn),合理地限制脈絡(luò)子區(qū)值并不會(huì)導(dǎo)致信息顯著損耗,原因在于對(duì)于大于某個(gè)臨界值的頻譜值而言,脈絡(luò)不再有顯著改變。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成依據(jù)與先前已解碼頻譜值的不同集合相關(guān)聯(lián)的多個(gè)脈絡(luò)子區(qū)值來(lái)獲得一數(shù)值當(dāng)前脈絡(luò)值。此種構(gòu)想允許有效地考慮用于解碼不同頻譜值(或頻譜值元組)的不同脈絡(luò)。通過(guò)維持脈絡(luò)子區(qū)值的充分精細(xì)粒度(granularity),使得多個(gè)脈絡(luò)子區(qū)值的脈絡(luò)用來(lái)獲得單一數(shù)值當(dāng)前脈絡(luò)值,可儲(chǔ)存一有意義的但尚未通用的脈絡(luò)子區(qū)信息,因?yàn)樵趯⒂獯a頻譜值(或頻譜值元組)解碼前不久,可由該信息導(dǎo)算出實(shí)際數(shù)值脈絡(luò)值。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成獲得數(shù)值當(dāng)前脈絡(luò)值的一數(shù)字表示,使得該數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示的第一部分由多個(gè)先前已解碼頻譜值的絕對(duì)值的第一總和值或第一有限總和值(或更一般而言,第一范數(shù)值或第一有限范數(shù)值)來(lái)確定,且使得該數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示的第二部分由多個(gè)先前已解碼頻譜值的絕對(duì)值的第二總和值或第二有限總和值(或更一般而言,第二范數(shù)值或第二有限范數(shù)值)來(lái)確定。已發(fā)現(xiàn),在導(dǎo)算數(shù)值當(dāng)前脈絡(luò)值時(shí)可有效應(yīng)用脈絡(luò)子區(qū)值。更明確地說(shuō),已發(fā)現(xiàn),如前文討論那樣算出的脈絡(luò)子區(qū)值非常適合組成數(shù)值當(dāng)前脈絡(luò)值。已發(fā)現(xiàn),如前文討論那樣算出的脈絡(luò)子區(qū)值非常適合確定該數(shù)值當(dāng)前脈絡(luò)值的一數(shù)字表示的不同部分。因此,可實(shí)現(xiàn)脈絡(luò)子區(qū)值的有效計(jì)算及數(shù)值當(dāng)前脈絡(luò)值的有效導(dǎo)算或更新。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成獲得該數(shù)值當(dāng)前脈絡(luò)值,使得多個(gè)先前已解碼頻譜值的絕對(duì)值的第一總和值或第一有限總和值(或第一范數(shù)值或第一有限范數(shù)值),及多個(gè)先前已解碼頻譜值的絕對(duì)值的第二總和值或第二有限總和值(或第二范數(shù)值或第二有限范數(shù)值)包含該數(shù)值當(dāng)前脈絡(luò)值中的不同權(quán)值。因此,可將脈絡(luò)子區(qū)值所基于的所述頻譜值距當(dāng)前欲解碼的一或多個(gè)頻譜值的不同距離納入考慮。另外,通過(guò)對(duì)數(shù)值當(dāng)前脈絡(luò)值應(yīng)用不同的數(shù)值權(quán)值,脈絡(luò)子區(qū)值所基于的所述頻譜值與當(dāng)前欲解碼的一或多個(gè)頻譜值間的不同相對(duì)位置可被納入考慮。而且,可用此種構(gòu)想?yún)f(xié)助數(shù)值當(dāng)前脈絡(luò)值的迭代重復(fù)更新,原因在于數(shù)字表示的各部分的數(shù)值權(quán)值易于通過(guò)應(yīng)用移位運(yùn)算而改變。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成依據(jù)多個(gè)先前已解碼頻譜值的絕對(duì)值的一總和值或有限總和值(或一范數(shù)值或有限范數(shù)值)來(lái)修改描述與一或多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的一脈絡(luò)狀態(tài)的一數(shù)值先前脈絡(luò)值的數(shù)字表示,以獲得描述與一或多個(gè)欲解碼頻譜值相關(guān)聯(lián)的一脈絡(luò)狀態(tài)的一數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示。以此方式,可獲得數(shù)值當(dāng)前脈絡(luò)值的特別有效地更新,其中避免了數(shù)值當(dāng)前脈絡(luò)值的完整重新運(yùn)算。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成檢查多個(gè)脈絡(luò)子區(qū)值的一總和是否小于或等于一預(yù)定總和臨界值,及依據(jù)一檢查結(jié)果來(lái)選擇性地修改該數(shù)值當(dāng)前脈絡(luò)值,其中每一個(gè)脈絡(luò)子區(qū)值是相關(guān)聯(lián)的多個(gè)先前已解碼頻譜值的絕對(duì)值的一總和值或有限總和值(或一范數(shù)值或有限范數(shù)值)。因此,可檢測(cè)相對(duì)較小頻譜值的一延伸區(qū)的存在,且檢測(cè)結(jié)果可應(yīng)用于脈絡(luò)的調(diào)整適應(yīng)(adaptation)。例如,由此種相對(duì)較小頻譜值的一延伸區(qū)的存在,可得出以下結(jié)論欲使用該數(shù)值當(dāng)前脈絡(luò)值來(lái)解碼的頻譜值也相對(duì)較小的機(jī)率相當(dāng)高。因此,脈絡(luò)可以特別有效的方式來(lái)調(diào)整適應(yīng)。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成考慮由與該音頻內(nèi)容的一先前時(shí)間部分相關(guān)聯(lián)的先前已解碼頻譜值所界定的多個(gè)脈絡(luò)子區(qū)值,及也考慮由與該音頻內(nèi)容的一當(dāng)前時(shí)間部分相關(guān)聯(lián)的先前已解碼頻譜值所界定的至少一個(gè)脈絡(luò)子區(qū)值,以獲得與一或多個(gè)欲解碼頻譜值相關(guān)聯(lián)且與該音頻內(nèi)容之當(dāng)前時(shí)間部分相關(guān)聯(lián)的一數(shù)值當(dāng)前脈絡(luò)值,使得該先前時(shí)間部分的時(shí)間上相鄰的先前已解碼頻譜值與當(dāng)前時(shí)間部分的頻率相鄰的先前已解碼頻譜值的環(huán)境被考慮,以獲得該數(shù)值當(dāng)前脈絡(luò)值。因此,可獲得特別有意義的脈絡(luò)。而且,應(yīng)注意,上述脈絡(luò)子區(qū)值的導(dǎo)算將用于儲(chǔ)存先前時(shí)間部分的所述脈絡(luò)子區(qū)值的內(nèi)存需求控制得相當(dāng)小。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成對(duì)于該音頻信息的一給定時(shí)間部分儲(chǔ)存一脈絡(luò)子區(qū)值集合,每一個(gè)脈絡(luò)子區(qū)值是以多個(gè)先前已解碼頻譜值的絕對(duì)值的一總和值或有限總和值(或更一般而言,由多個(gè)先前已解碼頻譜值所形成的一向量的一范數(shù)值)為基礎(chǔ),及使用所述脈絡(luò)子區(qū)值來(lái)導(dǎo)算出一數(shù)值當(dāng)前脈絡(luò)值,用以解碼在該音頻信息的該給定時(shí)間部分之后的該音頻信息的一時(shí)間部分的一或多個(gè)頻譜值,而在導(dǎo)算該數(shù)值當(dāng)前脈絡(luò)值時(shí),不考慮該音頻信息的該給定時(shí)間部分的單個(gè)先前已解碼頻譜值。因此,可提高數(shù)值當(dāng)前脈絡(luò)值的運(yùn)算效率。而且,不再需要長(zhǎng)時(shí)間來(lái)儲(chǔ)存所述單個(gè)先前已解碼頻譜值。在一較佳實(shí)施例中,該算術(shù)解碼器被配置成單獨(dú)解碼一頻譜值的幅度值及符號(hào)。在這種情況下,該算術(shù)解碼器被配置成在確定用于解碼欲解碼的一頻譜值的該數(shù)值當(dāng)前脈絡(luò)值時(shí),不考慮先前已解碼頻譜值的符號(hào)。已發(fā)現(xiàn),這樣單獨(dú)處理一頻譜值的絕對(duì)值及符號(hào)并不會(huì)導(dǎo)致編碼效率嚴(yán)重降級(jí),反而會(huì)使運(yùn)算復(fù)雜度明顯降低。此外,還發(fā)現(xiàn),基于由多個(gè)先前已解碼頻譜值所形成的一向量的范數(shù)的運(yùn)算來(lái)計(jì)算脈絡(luò)子區(qū)值非常適于與這種構(gòu)想組合使用。本發(fā)明的一實(shí)施例產(chǎn)生一種用以基于一輸入音頻信息來(lái)提供一編碼音頻信息的音頻編碼器。該音頻編碼器包含一能量壓縮(energy-compacting)時(shí)域至頻域變換器,其用以基于該輸入音頻信息的時(shí)域表示來(lái)提供一頻域音頻表示,使得該頻域音頻表示包含一頻譜值集合。該音頻編碼器包含一算術(shù)編碼器,其被配置成使用一可變長(zhǎng)度碼字來(lái)編碼一頻譜值或其預(yù)處理版本,或者相當(dāng)?shù)?,多個(gè)頻譜值或其預(yù)處理版本。該算術(shù)編碼器被配置成將一頻譜值或一頻譜值的最高有效比特平面值,或者相當(dāng)?shù)兀鄠€(gè)頻譜值或多個(gè)頻譜值的最高有效比特平面值映射至一碼值。該算術(shù)編碼器被配置成依據(jù)由一數(shù)值當(dāng)前脈絡(luò)值所描述的一脈絡(luò)狀態(tài)來(lái)選擇描述一頻譜值或一頻譜值的最高有效比特平面值至一碼值的映射的一映射規(guī)則。該算術(shù)編碼器被配置成依據(jù)多個(gè)先前已編碼頻譜值來(lái)確定該數(shù)值當(dāng)前脈絡(luò)值。該算術(shù)編碼器被配置成基于先前已編碼頻譜值來(lái)獲得多個(gè)脈絡(luò)子區(qū)值,以儲(chǔ)存所述脈絡(luò)子區(qū)值,及依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值來(lái)導(dǎo)算出與一或多個(gè)欲編碼的頻譜值相關(guān)聯(lián)的一數(shù)值當(dāng)前脈絡(luò)值(或更準(zhǔn)確地說(shuō),界定用于編碼欲編碼頻譜值的一脈絡(luò))。該算術(shù)編碼器被配置成計(jì)算由多個(gè)先前已編碼頻譜值所形成的一向量的范數(shù),以獲得與所述多個(gè)先前已編碼頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值。該音頻編碼器基于與上述音頻解碼器相同的時(shí)序。而且,該音頻編碼器可由上文針對(duì)該音頻解碼器所述的任一特征及功能來(lái)補(bǔ)充。依據(jù)本發(fā)明的另一實(shí)施例,產(chǎn)生一種用以基于編碼音頻信息來(lái)提供解碼音頻信息的方法。依據(jù)本發(fā)明的另一實(shí)施例,產(chǎn)生一種用以基于輸入音頻信息來(lái)提供編碼音頻信息的方法。依據(jù)本發(fā)明的另一實(shí)施例,產(chǎn)生一種用以執(zhí)行所述方法的一的計(jì)算機(jī)程序。隨后將參考所公開(kāi)的圖式來(lái)描述依據(jù)本發(fā)明的實(shí)施例,附圖中圖Ia及Ib顯示依據(jù)本發(fā)明的實(shí)施例,一種音頻編碼器的方塊示意圖;圖2a及2b顯示依據(jù)本發(fā)明的實(shí)施例,一種音頻解碼器的方塊示意圖;圖3顯示用以解碼頻譜值的算法「values_decodeO」的偽程序碼表示;圖4顯示用于狀態(tài)計(jì)算的脈絡(luò)的示意表示;圖5a顯示用以映射脈絡(luò)的算法「arith_map_contextO」的偽程序碼表示;圖5b顯示用以映射脈絡(luò)的另一種算法「arith_map_contextO」的偽程序碼表示;圖5c顯示用以獲得脈絡(luò)狀態(tài)值的算法「arith_get_contextO」的偽程序碼表示;圖5d顯示用以獲得脈絡(luò)狀態(tài)值的另一種算法「arith_get_contextO」的偽程序碼表示;圖5e顯示用以從一狀態(tài)值(或狀態(tài)變量)導(dǎo)算出累積頻率表索引值「pki」的算法「arith_get_pk()」的偽程序碼表示;圖5f顯示用以從一狀態(tài)值(或狀態(tài)變量)導(dǎo)算出累積頻率表索引值「pki」的另一種算法「arith_get_pk()」的偽程序碼表示;圖5g(l)及5g(2)顯示用以從一可變長(zhǎng)度碼字算術(shù)式解碼一符元的算法「arith_decodeO」的偽程序碼表示;圖5h顯示用以從一可變長(zhǎng)度碼字算術(shù)式解碼一符元的另一種算法「arith_decodeO」的偽程序碼表示的第一部分;圖5i顯示用以從一可變長(zhǎng)度碼字算術(shù)式解碼一符元的另一種算法「arith_decodeO」的偽程序碼表示的第二部分;圖5j顯示用以從共用值m導(dǎo)算出頻譜值的絕對(duì)值a,b的算法的偽程序碼表示;圖5k顯示用以將解碼值a,b載入解碼頻譜值的一陣列的算法的偽程序碼表示;圖51顯示用以基于解碼頻譜值的絕對(duì)值a,b而獲得脈絡(luò)子區(qū)值的算法「arith_update_contextO」的偽程序碼表示;圖5m顯示用以填補(bǔ)解碼頻譜值陣列及脈絡(luò)子區(qū)值陣列的表項(xiàng)的算法「arith_finishO」的偽程序碼表示;圖5n顯示用以從共用值m導(dǎo)算出頻譜值的絕對(duì)值a,b的另一種算法的偽程序碼表不;圖5o顯示用以更新解碼頻譜值陣列及脈絡(luò)子區(qū)值陣列的算法「arith_update_contextO」的偽程序碼表示;圖5p顯示用以填補(bǔ)解碼頻譜值陣列的表項(xiàng)及脈絡(luò)子區(qū)值陣列的表項(xiàng)的算法「arith_save_contextO」的偽程序碼表示;圖5q顯示定義的說(shuō)明;圖5r顯示定義的另一說(shuō)明;圖6a顯示統(tǒng)一語(yǔ)音及音頻編碼器(USAC)原始數(shù)據(jù)區(qū)塊的語(yǔ)法表示;圖6b顯示單一通道元素的語(yǔ)法表示;圖6c顯示成對(duì)通道元素的語(yǔ)法表示;圖6d顯示「ICS」控制信息的語(yǔ)法表示;圖6e顯示頻域通道串流的語(yǔ)法表示;圖6f顯示算術(shù)式編碼頻譜數(shù)據(jù)的語(yǔ)法表示;圖6g顯示用以解碼一頻譜值集合的語(yǔ)法表示;圖6h顯示用以解碼一頻譜值集合的另一語(yǔ)法表示;圖6i顯示數(shù)據(jù)元素及變量的說(shuō)明;圖6j顯示數(shù)據(jù)元素及變量的另一說(shuō)明;圖7顯示依據(jù)本發(fā)明的第一方面,一種音頻編碼器的方塊示意圖;圖8顯示依據(jù)本發(fā)明的第一方面,一種音頻解碼器的方塊示意圖;圖9顯示依據(jù)本發(fā)明的第一方面,一種數(shù)值當(dāng)前脈絡(luò)值映射至映射規(guī)則索引值的線圖表示;圖10顯示依據(jù)本發(fā)明的第二方面,一種音頻編碼器的方塊示意圖;圖11顯示依據(jù)本發(fā)明的第二方面,一種音頻解碼器的方塊示意圖;圖12顯示依據(jù)本發(fā)明的第三方面,一種音頻編碼器的方塊示意圖;圖13顯示依據(jù)本發(fā)明的第三方面,一種音頻解碼器的方塊示意圖;圖14a顯示依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿4使用的用于狀態(tài)計(jì)算的脈絡(luò)的示意表不;圖14b顯示依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿4,用于算術(shù)編碼方案的表格綜覽;圖15a顯示用在依據(jù)本發(fā)明的實(shí)施例中的用于狀態(tài)計(jì)算的脈絡(luò)的示意表示;圖15b顯示依據(jù)本發(fā)明的實(shí)施例用于算術(shù)編碼方案的表格綜覽;圖16a顯示依據(jù)本發(fā)明,及依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿5,及依據(jù)AAC(高級(jí)音頻編碼)霍夫曼編碼,用于無(wú)噪聲編碼方案的只讀存儲(chǔ)器需求的線圖表示;圖16b顯示依據(jù)本發(fā)明,及依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿5的構(gòu)想,總USAC解碼器數(shù)據(jù)只讀存儲(chǔ)器需求的線圖表示;圖17顯示使用依據(jù)本發(fā)明的編碼方案,依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿3或工作草稿5,用于無(wú)噪聲編碼的比較配置的示意表示;圖18顯示依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿3及依據(jù)本發(fā)明的實(shí)施例,由USAC算術(shù)編碼器所產(chǎn)生的平均比特率的表格表示;圖19顯示用于依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿3的算術(shù)解碼器及依據(jù)本發(fā)明的實(shí)施例的算術(shù)解碼器,最小及最大比特儲(chǔ)存器位階的表格表示;圖20顯示依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿3,用于不同版本的算術(shù)編碼器,用以解碼32k比特串流的平均復(fù)雜度數(shù)目的表格表示;圖21(1)和21⑵顯示表「ari_lookup_m[600]」的內(nèi)容的表格表示;圖22(1)至22⑷顯示表「ari_hash_m[600]」的內(nèi)容的表格表示;圖23(1)至23(8)顯示表「ari_cf_m[96][17]J的內(nèi)容的表格表示;以及圖24顯示表「ari_cf_r[]」的內(nèi)容的表格表示。具體實(shí)施例方式I.依據(jù)圖7的音頻編碼器圖7顯示依據(jù)本發(fā)明的實(shí)施例,一種音頻編碼器的方塊示意圖。音頻編碼器700被配置成接收輸入音頻信息710,及基于此來(lái)提供編碼音頻信息712。音頻編碼器包含能量壓縮時(shí)域至頻域變換器720,其被配置成基于輸入音頻信息710的時(shí)域表示來(lái)提供頻域音頻表示722,使得頻域音頻表示722包含一頻譜值集合。音頻編碼器700還包含算術(shù)編碼器730,其被配置成使用可變長(zhǎng)度碼字來(lái)編碼(形成頻域音頻表示722的該頻譜值集合中的)頻譜值或其預(yù)處理版本,以獲得編碼音頻信息712(其例如可包含多個(gè)可變長(zhǎng)度碼字)。算術(shù)編碼器730被配置成依據(jù)一脈絡(luò)狀態(tài),將頻譜值或頻譜值的最高有效比特平面值映射至一碼值(亦即映射至一可變長(zhǎng)度碼字)。該算術(shù)編碼器被配置成依據(jù)(當(dāng)前)脈絡(luò)狀態(tài),選擇描述頻譜值或頻譜值的最高有效比特平面值至一碼值的映射的映射規(guī)則。該算術(shù)編碼器被配置成依據(jù)多個(gè)先前已編碼的(較佳但不一定相鄰的)頻譜值來(lái)確定當(dāng)前脈絡(luò)狀態(tài),或描述該當(dāng)前脈絡(luò)狀態(tài)的一數(shù)值當(dāng)前脈絡(luò)值。為了達(dá)成此項(xiàng)目的,該算術(shù)編碼器被配置成評(píng)估一散列表,其表項(xiàng)定義數(shù)值脈絡(luò)值中的有效狀態(tài)值及數(shù)值脈絡(luò)值的區(qū)間邊界,其中一映射規(guī)則索引值與是有效狀態(tài)值的一數(shù)值(當(dāng)前)脈絡(luò)值單獨(dú)相關(guān)聯(lián),且其中一共用映射規(guī)則索引值與位于由所述區(qū)間邊界(其中所述區(qū)間邊界較佳地由該散列表的表項(xiàng)來(lái)定義)確定界限的一區(qū)間內(nèi)部的不同數(shù)值(當(dāng)前)脈絡(luò)值相關(guān)聯(lián)。如圖可知,(頻域音頻表示722的)一頻譜值或一頻譜值的最高有效比特平面映射至一(編碼音頻信息712的)碼值可使用映射規(guī)則742借頻譜值編碼740執(zhí)行。狀態(tài)追蹤器750可被配置成追蹤脈絡(luò)狀態(tài)。狀態(tài)追蹤器750提供描述當(dāng)前脈絡(luò)狀態(tài)的信息754。描述當(dāng)前脈絡(luò)狀態(tài)的信息754較佳地可呈數(shù)值當(dāng)前脈絡(luò)值形式。映射規(guī)則選擇器760被配置成選擇描述一頻譜值或一頻譜值的最高有效比特平面至一碼值的映射的映射規(guī)則,例如累積頻率表。據(jù)此,映射規(guī)則選擇器760提供映射規(guī)則信息742給頻譜值編碼740。映射規(guī)則信息742可呈映射規(guī)則索引值形式,或呈依據(jù)映射規(guī)則索引值而選定的累積頻率表形式。映射規(guī)則選擇器760包含(或至少評(píng)估)散列表752,其表項(xiàng)定義數(shù)值脈絡(luò)值中的有效狀態(tài)值及數(shù)值脈絡(luò)值的區(qū)間邊界,其中一映射規(guī)則索引值與是有效狀態(tài)值的一數(shù)值脈絡(luò)值單獨(dú)相關(guān)聯(lián),且其中一共用映射規(guī)則索引值與位于由所述區(qū)間邊界確定界限的一區(qū)間內(nèi)部的不同數(shù)值脈絡(luò)值相關(guān)聯(lián)。散列表762經(jīng)評(píng)估來(lái)選擇映射規(guī)則,亦即來(lái)提供映射規(guī)則信息742。綜上所述,音頻編碼器700執(zhí)行由時(shí)域至頻域變換器所提供的頻域音頻表示的算術(shù)編碼。該算術(shù)編碼為脈絡(luò)相依性,使得映射規(guī)則(例如累積頻率表)依據(jù)先前已編碼的頻譜值來(lái)選定。據(jù)此,在算術(shù)編碼中考慮時(shí)間上及/或頻率上(或至少在預(yù)定環(huán)境內(nèi)部)彼此相鄰及/或相鄰于當(dāng)前編碼頻譜值(亦即在該當(dāng)前編碼頻譜值的預(yù)定環(huán)境內(nèi)部的頻譜值)的頻譜值來(lái)調(diào)整由算術(shù)編碼所評(píng)估的概率分布。當(dāng)選擇適當(dāng)映射規(guī)則時(shí),評(píng)估由狀態(tài)追蹤器750所提供的數(shù)值脈絡(luò)當(dāng)前值754。因通常不同映射規(guī)則的數(shù)目明顯小于數(shù)值當(dāng)前脈絡(luò)值754的可能值數(shù)目,故映射規(guī)則選擇器760分配相同映射規(guī)則(例如由映射規(guī)則索引值來(lái)描述)給相對(duì)較大數(shù)目的不同數(shù)值脈絡(luò)值。雖說(shuō)如此,通常存在有特定的頻譜組態(tài)(以特定數(shù)值脈絡(luò)值表示),特殊映射規(guī)則須與特定頻譜組態(tài)相關(guān)聯(lián),以獲得良好編碼效率。業(yè)已發(fā)現(xiàn)若單一散列表的表項(xiàng)定義有效狀態(tài)值及數(shù)值(當(dāng)前)脈絡(luò)值的區(qū)間邊界,則依據(jù)數(shù)值當(dāng)前脈絡(luò)值來(lái)選擇映射規(guī)則可以特別高的運(yùn)算效率進(jìn)行。業(yè)已發(fā)現(xiàn)此項(xiàng)機(jī)制良好地適應(yīng)映射規(guī)則選擇的要求,原因在于有許多情況單一有效狀態(tài)值(或有效數(shù)值脈絡(luò)值)嵌置于具有(與一共用映射規(guī)則相關(guān)聯(lián)的)多個(gè)非有效狀態(tài)值的左側(cè)區(qū)間與具有(與一共用映射規(guī)則相關(guān)聯(lián)的)多個(gè)非有效狀態(tài)值的右側(cè)區(qū)間之間。而且,這一機(jī)制使用單一散列表,其表項(xiàng)定義有效狀態(tài)值及數(shù)值(當(dāng)前)脈絡(luò)值的區(qū)間邊界,可有效處理不同情況,其中例如有兩個(gè)相鄰的非有效狀態(tài)值區(qū)間(也被稱為非有效數(shù)值脈絡(luò)值),其間不含有效狀態(tài)值。由于表存取次數(shù)維持少數(shù),故可實(shí)現(xiàn)特別高的運(yùn)算效率。例如,單一迭代重復(fù)表搜尋在大部分實(shí)施例中即足以找出該數(shù)值當(dāng)前脈絡(luò)值是否等于任何有效狀態(tài)值,或該數(shù)值當(dāng)前脈絡(luò)值所在的非有效狀態(tài)值區(qū)間。因此,既費(fèi)時(shí)又耗能的表存取次數(shù)可維持少次。如此,就運(yùn)算復(fù)雜度而言,使用散列表762的映射規(guī)則選擇器760可被認(rèn)為是特別有效的映射規(guī)則選擇器,同時(shí)仍允許獲得良好編碼效率(就比特率而言)。有關(guān)從數(shù)值當(dāng)前脈絡(luò)值754導(dǎo)算出映射規(guī)則信息742的進(jìn)一步細(xì)節(jié)容后詳述。2.依據(jù)圖8的音頻解碼器圖8顯示一種音頻解碼器800的方塊示意圖。音頻解碼器800被配置成接收編碼音頻信息810,及基于此來(lái)提供解碼音頻信息812。音頻解碼器800包含算術(shù)解碼器820,其被配置成基于頻譜值的算術(shù)編碼表示821來(lái)提供多個(gè)頻譜值822。音頻解碼器800還包含頻域至?xí)r域變換器830,其被配置成接收解碼頻譜值822,及提供能組成解碼音頻信息的時(shí)域音頻表示812,其可使用解碼頻譜值822來(lái)獲得一解碼音頻信息812。算術(shù)解碼器820包含頻譜值確定器824,其被配置成將頻譜值的算術(shù)編碼表示821的碼值映射至表示解碼頻譜值中的一或多者,或者頻譜值中的一或多者的至少一部分(例如,最高有效比特平面)的符元碼。頻譜值確定器824可被配置成依據(jù)映射規(guī)則執(zhí)行映射,映射規(guī)則可由映射規(guī)則信息828a描述。映射規(guī)則信息828a例如可呈映射規(guī)則索引值形式,或選定的累積頻率表(例如,依據(jù)映射規(guī)則索引值選擇)的形式。算術(shù)解碼器820被配置成依據(jù)脈絡(luò)狀態(tài)(其可由脈絡(luò)狀態(tài)信息826a來(lái)描述)來(lái)選擇描述碼值(由頻譜值的算術(shù)編碼表示821來(lái)描述)至符元碼(描述一或多個(gè)頻譜值或其最高有效比特平面)的映射的映射規(guī)則(例如累積頻率表)。算術(shù)解碼器820被配置成依據(jù)多個(gè)先前已解碼的頻譜值來(lái)確定當(dāng)前脈絡(luò)狀態(tài)(由數(shù)值當(dāng)前脈絡(luò)值來(lái)描述)。為了達(dá)成此項(xiàng)目的,可使用狀態(tài)追蹤器826,其接收先前已解碼的頻譜值,及基于此來(lái)提供描述當(dāng)前脈絡(luò)狀態(tài)的數(shù)值當(dāng)前脈絡(luò)值826a。算術(shù)解碼器還被配置成評(píng)估散列表829,其表項(xiàng)定義數(shù)值脈絡(luò)值中的有效狀態(tài)值及數(shù)值脈絡(luò)值的區(qū)間邊界,來(lái)選定映射規(guī)則,其中一映射規(guī)則索弓I值與是有效狀態(tài)值的一數(shù)值脈絡(luò)值單獨(dú)相關(guān)聯(lián),且其中一共用映射規(guī)則索引值與位于由區(qū)間邊界確定界限的一區(qū)間內(nèi)部的不同數(shù)值脈絡(luò)值相關(guān)聯(lián)。散列表829的評(píng)估例如可使用散列表評(píng)估器來(lái)執(zhí)行,散列表評(píng)估器可以是映射規(guī)則選擇器828的一部分。據(jù)此,映射規(guī)則信息828a,例如呈映射規(guī)則索引值形式,基于描述當(dāng)前脈絡(luò)狀態(tài)的數(shù)值當(dāng)前脈絡(luò)值826a而獲得。映射規(guī)則選擇器828例如可依據(jù)散列表829的評(píng)估結(jié)果來(lái)確定映射規(guī)則信息828a。另外,評(píng)估散列表829可直接提供映射規(guī)則索引值。有關(guān)音頻信號(hào)解碼器800的功能,須注意算術(shù)解碼器820被配置成選擇映射規(guī)則(例如,累積頻率表),其一般而言良好適應(yīng)于欲解碼的頻譜值,原因在于映射規(guī)則是依據(jù)當(dāng)前脈絡(luò)狀態(tài)(例如,借數(shù)值當(dāng)前脈絡(luò)值來(lái)描述)而選定的,而當(dāng)前脈絡(luò)狀態(tài)又是依據(jù)多個(gè)先前已解碼的頻譜值而確定的。據(jù)此,可利用欲解碼的相鄰頻譜值之間的統(tǒng)計(jì)相依性。此夕卜,算術(shù)解碼器820可使用映射規(guī)則選擇器828有效地實(shí)施,在運(yùn)算復(fù)雜度、表大小與編碼效率間有良好折衷。借由評(píng)估(單一)散列表829,其表項(xiàng)描述有效狀態(tài)值及非有效狀態(tài)值區(qū)間的區(qū)間邊界,單一迭代重復(fù)表搜尋可能就足以從數(shù)值當(dāng)前脈絡(luò)值826a導(dǎo)算出映射規(guī)則信息828a。據(jù)此,可能將相對(duì)較大數(shù)目的不同可能數(shù)值(當(dāng)前)脈絡(luò)值映射至相對(duì)較小數(shù)目的不同映射規(guī)則索引值。如前文說(shuō)明,借由使用散列表829可利用下述發(fā)現(xiàn)在許多情況下,單獨(dú)的有效狀態(tài)值(有效脈絡(luò)值)嵌置在具有非有效狀態(tài)值(非有效脈絡(luò)值)的左側(cè)區(qū)間與具有非有效狀態(tài)值(非有效脈絡(luò)值)的右側(cè)區(qū)間之間,與左側(cè)區(qū)間的狀態(tài)值(脈絡(luò)值)和右側(cè)區(qū)間的狀態(tài)值(脈絡(luò)值)相比較,不同的映射規(guī)則索引值與該有效狀態(tài)值(有效脈絡(luò)值)相關(guān)聯(lián)。但散列表829的使用也很適用于數(shù)值狀態(tài)值的兩個(gè)區(qū)間緊鄰,中間沒(méi)有有效狀態(tài)值的情況??偨Y(jié)而言,當(dāng)依據(jù)當(dāng)前脈絡(luò)狀態(tài)(或依據(jù)描述當(dāng)前脈絡(luò)狀態(tài)的數(shù)值當(dāng)前脈絡(luò)值)來(lái)選擇映射規(guī)則時(shí)(或當(dāng)提供映射規(guī)則索引值時(shí)),評(píng)估散列表829的映射規(guī)則選擇器828獲得特別好的效率,原因在于散列機(jī)制良好適用于音頻解碼器的典型脈絡(luò)概要。進(jìn)一步細(xì)節(jié)容后詳述。3.依據(jù)圖9的脈絡(luò)值散列機(jī)制后文中,將揭示脈絡(luò)值散列機(jī)制,其可在映射規(guī)則選擇器760及/或映射規(guī)則選擇器828中實(shí)施。散列表762及/或散列表829可用來(lái)實(shí)現(xiàn)所述脈絡(luò)值散列機(jī)制。現(xiàn)在參考圖9,顯示數(shù)值當(dāng)前脈絡(luò)值散列概要,進(jìn)一步細(xì)節(jié)容后詳述。在圖9的線圖表示中,橫座標(biāo)910描述數(shù)值當(dāng)前脈絡(luò)值(即數(shù)值脈絡(luò)值)的值??v座標(biāo)912描述映射規(guī)則索引值。記號(hào)914指示非有效數(shù)值脈絡(luò)值(描述非有效狀態(tài))的映射規(guī)則索引值。記號(hào)916指示用于描述單獨(dú)(實(shí)際)有效狀態(tài)的「單獨(dú)」(實(shí)際)有效數(shù)值脈絡(luò)值的映射規(guī)則索引值。記號(hào)916指示用于描述「不當(dāng)(impiOper)」有效狀態(tài)的「不當(dāng)」數(shù)值脈絡(luò)值的映射規(guī)則索引值,其中「不當(dāng)」有效狀態(tài)是與其相關(guān)聯(lián)的映射規(guī)則索引值與相鄰的非有效數(shù)值脈絡(luò)值區(qū)間中的一者的映射規(guī)則索引值相同的一種有效狀態(tài)。如圖可知,散列表表項(xiàng)「ari_hash_m[il]」描述具有數(shù)值脈絡(luò)值cl的單獨(dú)(實(shí)際)有效狀態(tài)。如圖可知,映射規(guī)則索引值mrivl與具有數(shù)值脈絡(luò)值Cl的單獨(dú)(實(shí)際)有效狀態(tài)相對(duì)應(yīng)。據(jù)此,數(shù)值脈絡(luò)值cl及映射規(guī)則索引值mrivl可由散列表表項(xiàng)「ari_hash_m[il]」來(lái)描述。數(shù)值脈絡(luò)值的區(qū)間932由數(shù)值脈絡(luò)值Cl確定界限,其中數(shù)值脈絡(luò)值cl并不屬于區(qū)間932,使得區(qū)間932的最大數(shù)值脈絡(luò)值等于cl-Ι。映射規(guī)則索引值mriv4(與mrivl不同)與區(qū)間932的數(shù)值脈絡(luò)值相關(guān)聯(lián)。映射規(guī)則索引值mriv4例如可由額外表「ari_lookup_m」的表項(xiàng)「ari_lookup_m[il_l]」來(lái)描述。此外,映射規(guī)則索引值mriv2可與位于區(qū)間934內(nèi)部的數(shù)值脈絡(luò)值相關(guān)聯(lián)。區(qū)間934的下邊界由數(shù)值脈絡(luò)值Cl確定,數(shù)值脈絡(luò)值Cl是有效數(shù)值脈絡(luò)值,其中數(shù)值脈絡(luò)值Cl不屬于區(qū)間932。據(jù)此,區(qū)間934的最小值等于cl+l(假設(shè)整數(shù)數(shù)值脈絡(luò)值)。區(qū)間934的另一邊界由數(shù)值脈絡(luò)值c2確定,其中數(shù)值脈絡(luò)值c2不屬于區(qū)間934,使得區(qū)間934的最大值等于c2_l。數(shù)值脈絡(luò)值c2為所謂的「不當(dāng)」數(shù)值脈絡(luò)值,其借散列表表項(xiàng)「ari_hash_m[i2]」來(lái)描述。例如,映射規(guī)則索引值mriv2可與數(shù)值脈絡(luò)值c2相關(guān)聯(lián),使得與「不當(dāng)」有效數(shù)值脈絡(luò)值c2相關(guān)聯(lián)的數(shù)值脈絡(luò)值等于與由數(shù)值脈絡(luò)值c2確定界限的區(qū)間934相關(guān)聯(lián)的映射規(guī)則索引值。此外,數(shù)值脈絡(luò)值的區(qū)間936也由數(shù)值脈絡(luò)值c2確定界限,其中數(shù)值脈絡(luò)值c2不屬于區(qū)間936,使得區(qū)間936的最小值等于c2+l。通常與映射規(guī)則索引值mriv2不同的映射規(guī)則索引值mriv3與區(qū)間936的數(shù)值脈絡(luò)值相關(guān)聯(lián)。如圖可知,與數(shù)值脈絡(luò)值區(qū)間932相關(guān)聯(lián)的映射規(guī)則索引值mriv4可借表「ari_lookup_mJ的表項(xiàng)「ari_lookup_m[il-l]」來(lái)描述;與數(shù)值脈絡(luò)值區(qū)間934相關(guān)聯(lián)的映射規(guī)則索引值mriv2可借表「ari_lookup_m」的表項(xiàng)「ari_lookup_m[il]」來(lái)描述;且映射規(guī)則索引值mriv3可借表「ari_lookup_m」的表項(xiàng)「ari_lookup_m[i2]」來(lái)描述。在此處列舉的實(shí)例中,散列表索引值i2可能比散列表索引值il大I。由圖9可知,映射規(guī)則選擇器760或映射規(guī)則選擇器828可接收數(shù)值當(dāng)前脈絡(luò)值764、826a,及經(jīng)由評(píng)估表「ari_hash_m」的表項(xiàng)來(lái)判定數(shù)值當(dāng)前脈絡(luò)值是否為有效狀態(tài)值(與其是「單獨(dú)」有效狀態(tài)值還是「不當(dāng)」有效狀態(tài)值無(wú)關(guān)),或判定該數(shù)值當(dāng)前脈絡(luò)值是否位于由(「單獨(dú)」或「不當(dāng)」)有效狀態(tài)值cl、c2確定界限的區(qū)間932、934、936中的一者內(nèi)部。檢查該數(shù)值當(dāng)前脈絡(luò)值是否等于有效狀態(tài)值Cl、c2,以及評(píng)估該數(shù)值當(dāng)前脈絡(luò)值位于區(qū)間932、934、936中的哪一個(gè)區(qū)間(在數(shù)值當(dāng)前脈絡(luò)值不等于有效狀態(tài)值的情況下),皆可使用單一共用散列表搜尋執(zhí)行。此外,評(píng)估散列表「ari_hash_m」可用來(lái)獲得散列表索引值(例如,il_l、il或i2)。如此,映射規(guī)則選擇器760、828可被配置成借由評(píng)估單一散列表762、829(例如散列表「ari_hash_m」),即可獲得標(biāo)示有效狀態(tài)值(例如,cl或c2)及/或區(qū)間(例如,932、934、936)及該數(shù)值當(dāng)前脈絡(luò)值是否為有效脈絡(luò)值(也稱作有效狀態(tài)值)的信息的散列表索引值(例如,il-Uil或i2)。此外,若在散列表762、829,「ari_hash_m」的評(píng)估中發(fā)現(xiàn)數(shù)值當(dāng)前脈絡(luò)值并非「有效」脈絡(luò)值(或「有效」?fàn)顟B(tài)值),則得自散列表(「ari_hash_m」)評(píng)估的散列表索引值(例如,il-1、il或i2)可用來(lái)獲得與數(shù)值脈絡(luò)值的區(qū)間932、934、936相關(guān)聯(lián)的映射規(guī)則索引值。例如,散列表索引值(例如,或i2)可用來(lái)表示額外映射表(例如,「ari_lookup_mJ)的一表項(xiàng),其描述與該數(shù)值當(dāng)前脈絡(luò)值所在的區(qū)間932、934、936相關(guān)聯(lián)的映射規(guī)則索引值。欲知進(jìn)一步細(xì)節(jié),可參考后文對(duì)算法「arith_get_pk」的詳細(xì)討論(其中對(duì)此種算法「arith_get_pk()」有不同選項(xiàng),圖5e及圖5f顯示其實(shí)例)。此外,須注意區(qū)間大小可依案例而異。在某些情況下,一數(shù)值脈絡(luò)值的區(qū)間包含單一數(shù)值脈絡(luò)值。但在許多情況下,一區(qū)間可包含多個(gè)數(shù)值脈絡(luò)值。4.依據(jù)圖10的音頻編碼器圖10顯示依據(jù)本發(fā)明的實(shí)施例,一種音頻編碼器1000的方塊示意圖。依據(jù)圖10的音頻編碼器1000類(lèi)似于依據(jù)圖7的音頻編碼器700,因而圖7及圖10的相同信號(hào)及裝置標(biāo)示以相同的參考數(shù)字。音頻編碼器1000被配置成接收一輸入音頻信息710,及基于此來(lái)提供一編碼音頻信息712。音頻編碼器1000包含能量壓縮時(shí)域至頻域變換器720,其被配置成基于輸入音頻信息710的時(shí)域表示來(lái)提供頻域表示722,使得頻域表示722包含一頻譜值集合。音頻編碼器1000還包含一算術(shù)編碼器1030,其被配置成使用可變長(zhǎng)度碼字來(lái)編碼(形成頻域表示722的頻譜值集合中的)一頻譜值或其預(yù)處理版本,以獲得編碼音頻信息712(其例如可包含多個(gè)可變長(zhǎng)度碼字)。算術(shù)編碼器1030被配置成依據(jù)脈絡(luò)值而將一頻譜值或多個(gè)頻譜值,或者一頻譜值或多個(gè)頻譜值的最高有效比特平面值映射至一碼值(亦即映射至一可變長(zhǎng)度碼字)。算術(shù)編碼器1030被配置成依據(jù)脈絡(luò)狀態(tài)來(lái)選擇描述一頻譜值或多個(gè)頻譜值,或者一頻譜值或多個(gè)頻譜值的最高有效比特平面的值至一碼值的映射的一映射規(guī)則。該算術(shù)編碼器被配置成依據(jù)多個(gè)先前編碼(較佳但不一定相鄰)頻譜值來(lái)確定當(dāng)前脈絡(luò)狀態(tài)。為了達(dá)成此項(xiàng)目的,算術(shù)編碼器被配置成依據(jù)脈絡(luò)子區(qū)值來(lái)修改描述與一或多個(gè)先前編碼頻譜值相關(guān)聯(lián)的脈絡(luò)狀態(tài)(例如,選擇相對(duì)應(yīng)的映射規(guī)則)的數(shù)值先前脈絡(luò)值的數(shù)字表示,以獲得描述與一或多個(gè)欲編碼頻譜值相關(guān)聯(lián)的脈絡(luò)狀態(tài)(例如,選擇相對(duì)應(yīng)的映射規(guī)則)的數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示。如圖可知,將一頻譜值或多個(gè)頻譜值,或者一頻譜值或多個(gè)頻譜值的最高有效比特平面映射至一碼值可使用由映射規(guī)則信息742所描述的映射規(guī)則而借頻譜值編碼740執(zhí)行。狀態(tài)追蹤器750可被配置成追蹤脈絡(luò)狀態(tài)。狀態(tài)追蹤器750可被配置成依據(jù)脈絡(luò)子區(qū)值來(lái)修改描述與一或多個(gè)先前編碼頻譜值的編碼相關(guān)聯(lián)的脈絡(luò)狀態(tài)的數(shù)值先前脈絡(luò)值的數(shù)字表示,以獲得描述與一或多個(gè)欲編碼頻譜值的編碼相關(guān)聯(lián)的脈絡(luò)狀態(tài)的數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示。數(shù)值先前脈絡(luò)值的數(shù)字表示的修改例如可借數(shù)字表示修改器1052進(jìn)行,數(shù)字表示修改器1052接收數(shù)值先前脈絡(luò)值及一或多個(gè)脈絡(luò)子區(qū)值,并提供數(shù)值當(dāng)前脈絡(luò)值。據(jù)此,狀態(tài)追蹤器1050提供描述當(dāng)前脈絡(luò)狀態(tài)的信息754,例如以數(shù)值當(dāng)前脈絡(luò)值的形式。映射規(guī)則選擇器1060可選擇映射規(guī)則,例如累積頻率表,其描述一頻譜值或多個(gè)頻譜值,或者一頻譜值或多個(gè)頻譜值的最高有效比特平面至一碼值的映射。據(jù)此,映射規(guī)則選擇器1060提供映射規(guī)則信息742給頻譜編碼740。在某些情況下,須注意狀態(tài)追蹤器1050可與狀態(tài)追蹤器750或狀態(tài)追蹤器826相同。也須注意在某些情況下,映射規(guī)則選擇器1060可與映射規(guī)則選擇器760或映射規(guī)則選擇器828相同。綜上所述,音頻編碼器1000對(duì)由時(shí)域至頻域變換器所提供的頻域音頻表示執(zhí)行算術(shù)編碼。算術(shù)編碼為脈絡(luò)相依性,因而映射規(guī)則(例如,累積頻率表)依據(jù)先前已編碼的頻譜值而選定。據(jù)此,在算術(shù)編碼中考慮時(shí)間上及/或頻率上(或至少在預(yù)定環(huán)境內(nèi)部)彼此相鄰及/或相鄰于當(dāng)前編碼頻譜值(亦即在該當(dāng)前編碼頻譜值的預(yù)定環(huán)境內(nèi)部的頻譜值)的頻譜值來(lái)調(diào)整由算術(shù)編碼所評(píng)估的概率分布。當(dāng)確定數(shù)值當(dāng)前脈絡(luò)值時(shí),描述與一或多個(gè)先前已編碼的頻譜值相關(guān)聯(lián)的脈絡(luò)狀態(tài)的數(shù)值先前脈絡(luò)值的數(shù)字表示依據(jù)脈絡(luò)子區(qū)值來(lái)修改,以獲得描述與一或多個(gè)欲編碼頻譜值相關(guān)聯(lián)的脈絡(luò)狀態(tài)的數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示。此辦法避免完全重新計(jì)算數(shù)值當(dāng)前脈絡(luò)值,常規(guī)方法中完全重新計(jì)算耗用大量資源。有多種用以修改數(shù)值先前脈絡(luò)值的數(shù)字表示的可能性存在,包括數(shù)值先前脈絡(luò)值的數(shù)字表示的重新定標(biāo)的組合;脈絡(luò)子區(qū)值或其導(dǎo)算值加至數(shù)值先前脈絡(luò)值的數(shù)字表示或加至已處理的數(shù)值先前脈絡(luò)值的數(shù)字表示;依據(jù)脈絡(luò)子區(qū)值來(lái)置換部分?jǐn)?shù)值先前脈絡(luò)值的數(shù)字表示(而非全部數(shù)字表示)等。如此,通常,數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示是基于數(shù)值先前脈絡(luò)值的數(shù)字表示而獲得的,也是基于至少一個(gè)脈絡(luò)子區(qū)值而獲得的,其中通常執(zhí)行運(yùn)算組合,諸如,舉例而言,加法運(yùn)算、減法運(yùn)算、乘法運(yùn)算、除法運(yùn)算、布爾(Boolean)與(AND)運(yùn)算、布爾或(OR)運(yùn)算、布爾與非(NAND)運(yùn)算、布爾或非(NOR)運(yùn)算、布爾邏輯非運(yùn)算、補(bǔ)數(shù)運(yùn)算或移位運(yùn)算中的兩種或多種運(yùn)算,來(lái)組合數(shù)值先前脈絡(luò)值與脈絡(luò)子區(qū)值。據(jù)此,當(dāng)從數(shù)值先前脈絡(luò)值導(dǎo)算數(shù)值當(dāng)前脈絡(luò)值時(shí),通常至少部分?jǐn)?shù)值先前脈絡(luò)值的數(shù)字表示維持不變(除了選擇性地移位至不同位置外)。相反地,數(shù)值先前脈絡(luò)值的數(shù)字表示的其它部分依一或多個(gè)脈絡(luò)子區(qū)值而改變。如此,可以較少運(yùn)算量而獲得數(shù)值當(dāng)前脈絡(luò)值,同時(shí)避免完全重新計(jì)算數(shù)值當(dāng)前脈絡(luò)值。如此,可獲得有意義的數(shù)值當(dāng)前脈絡(luò)值,其極其適合映射規(guī)則選擇器1060使用。所以,借由維持脈絡(luò)計(jì)算的足夠簡(jiǎn)單,可獲得有效編碼。5.依據(jù)圖11的音頻解碼器圖11顯示音頻解碼器1100的方塊示意圖。音頻解碼器1100類(lèi)似于依據(jù)圖8的音頻解碼器800,因而相同信號(hào)、裝置及功能標(biāo)示以相同參考數(shù)字。音頻解碼器1100被配置成接收音頻信息810,及基于此來(lái)提供已解碼的音頻信息812。音頻解碼器1100包含算術(shù)解碼器1120,其被配置成基于頻譜值的算術(shù)編碼表示821來(lái)提供多個(gè)已解碼的頻譜值822。音頻解碼器1100包含頻域至?xí)r域變換器830,其被配置成接收解碼頻譜值822,及使用解碼頻譜值822提供能組成解碼音頻信息的時(shí)域音頻表示812,以獲得解碼音頻信息812。算術(shù)解碼器1120包含頻譜值確定器824,其被配置成將頻譜值的算術(shù)編碼表示821的一碼值映射至表示解碼頻譜值中的一或多者,或者解碼頻譜值中的一或多者的至少一部分(例如,最高有效比特平面)的一符元碼。頻譜值確定器824可被配置成依據(jù)映射規(guī)則執(zhí)行映射,映射規(guī)則借映射規(guī)則信息828a來(lái)描述。映射規(guī)則信息828a例如可包含映射規(guī)則索引值,或可包含累積頻率表表項(xiàng)的一選定集合。算術(shù)解碼器1120被配置成依據(jù)可由脈絡(luò)狀態(tài)信息1126a來(lái)描述的脈絡(luò)狀態(tài)來(lái)選擇描述碼值(由頻譜值的算術(shù)編碼表示821來(lái)描述)至符元碼(描述一或多個(gè)頻譜值)的映射的映射規(guī)則(例如,累積頻率表)。脈絡(luò)狀態(tài)信息1126a可呈數(shù)值當(dāng)前脈絡(luò)值形式。算術(shù)解碼器1120被配置成依據(jù)多個(gè)先前已解碼的頻譜值822來(lái)確定當(dāng)前脈絡(luò)狀態(tài)。為了達(dá)成此項(xiàng)目的,可使用狀態(tài)追蹤器1126,其接收描述先前已解碼的頻譜值的信息。算術(shù)解碼器被配置成依據(jù)脈絡(luò)子區(qū)值,修改描述與一或多個(gè)先前已解碼的頻譜值相關(guān)聯(lián)的一脈絡(luò)狀態(tài)的數(shù)值先前脈絡(luò)值的數(shù)字表示,以獲得描述與一或多個(gè)欲解碼頻譜值相關(guān)聯(lián)的脈絡(luò)狀態(tài)的數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示。數(shù)值先前脈絡(luò)值的數(shù)字表示的修改例如可借數(shù)字表示修改器1127執(zhí)行,該修改器是狀態(tài)追蹤器1126的一部分。據(jù)此,獲得當(dāng)前脈絡(luò)狀態(tài)信息1126a,例如呈數(shù)值當(dāng)前脈絡(luò)值形式。映射規(guī)則的選擇可借映射規(guī)則選擇器1128執(zhí)行,該選擇器從當(dāng)前脈絡(luò)狀態(tài)信息1126a導(dǎo)算出映射規(guī)則信息828a,并提供映射規(guī)則信息828a給頻譜值確定器824。有關(guān)音頻信號(hào)解碼器1100的功能,須注意算術(shù)解碼器1120被配置成選定一映射規(guī)則(例如,累積頻率表),其一般而言良好適應(yīng)于欲解碼的頻譜值,原因在于映射規(guī)則依據(jù)當(dāng)前脈絡(luò)狀態(tài)而選定,而當(dāng)前脈絡(luò)狀態(tài)又是依據(jù)多個(gè)先前已解碼的頻譜值而確定的。據(jù)此,可利用欲解碼的相鄰頻譜值間的統(tǒng)計(jì)相依性。此外,借由依據(jù)一脈絡(luò)子區(qū)值,修改描述與一或多個(gè)先前已解碼的頻譜值的解碼相關(guān)聯(lián)的一脈絡(luò)狀態(tài)的數(shù)值先前脈絡(luò)值的數(shù)字表示,以獲得描述與一或多個(gè)欲解碼頻譜值的解碼相關(guān)聯(lián)的脈絡(luò)狀態(tài)的數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示,可以較少的運(yùn)算量獲得有關(guān)當(dāng)前脈絡(luò)狀態(tài)的有意義信息,其極為適合用以映射至映射規(guī)則索引值。借由維持?jǐn)?shù)值先前脈絡(luò)值的數(shù)字表示的至少一部分(可能呈比特移位版本或定標(biāo)版本),同時(shí)依據(jù)脈絡(luò)子區(qū)值來(lái)更新數(shù)值先前脈絡(luò)值的數(shù)字表示的另一部分,在導(dǎo)算數(shù)值先前脈絡(luò)值時(shí)沒(méi)有考慮所述脈絡(luò)子區(qū)值,但在導(dǎo)算數(shù)值當(dāng)前脈絡(luò)值時(shí)應(yīng)該要考慮所述脈絡(luò)子區(qū)值,因此,可維持導(dǎo)算數(shù)值當(dāng)前脈絡(luò)值的運(yùn)算次數(shù)相當(dāng)少。而且,可能利用下述事實(shí)用以解碼相鄰頻譜值的脈絡(luò)通常是相似或相關(guān)的。例如,用以解碼第一頻譜值(或第一多個(gè)頻譜值)的脈絡(luò)取決于先前已解碼的頻譜值的第一集合。用以解碼相鄰于第一頻譜值(或頻譜值的第一集合)的第二頻譜值(或頻譜值的第二集合)的脈絡(luò)可包含先前已解碼的頻譜值的第二集合。因假設(shè)第一頻譜值與第二頻譜值是相鄰的(例如,就相關(guān)聯(lián)的頻率而言),確定用于第一頻譜值編碼的脈絡(luò)的第一頻譜值集合可與確定用于第二頻譜值解碼的脈絡(luò)的第二頻譜值集合包含若干重疊。據(jù)此,容易了解用于第二頻譜值解碼的脈絡(luò)狀態(tài)與用于第一頻譜值解碼的脈絡(luò)狀態(tài)有一定的相關(guān)性。脈絡(luò)導(dǎo)算,亦即數(shù)值當(dāng)前脈絡(luò)值導(dǎo)算的運(yùn)算效率可借由利用這樣的相關(guān)性而達(dá)成。業(yè)已發(fā)現(xiàn),借由只修改取決于在導(dǎo)算數(shù)值先前脈絡(luò)值時(shí)未被考慮的脈絡(luò)子區(qū)值的數(shù)值先前脈絡(luò)值的那些部分,并且借由從該數(shù)值先前脈絡(luò)值來(lái)導(dǎo)算數(shù)值當(dāng)前脈絡(luò)值,可有效利用用于相鄰頻譜值解碼的脈絡(luò)狀態(tài)信息間(亦即由數(shù)值先前脈絡(luò)值所描述的脈絡(luò)狀態(tài)與由數(shù)值當(dāng)前脈絡(luò)值所描述的脈絡(luò)狀態(tài)間)的相關(guān)性??偨Y(jié)而言,此處所述構(gòu)想允許導(dǎo)算數(shù)值當(dāng)前脈絡(luò)值時(shí)有特別好的運(yùn)算效率。進(jìn)一步細(xì)節(jié)容后詳述。6.依據(jù)圖12的音頻編碼器圖12顯示依據(jù)本發(fā)明的實(shí)施例,一種音頻編碼器的方塊示意圖。依據(jù)圖12的音頻編碼器1200類(lèi)似于依據(jù)圖7的音頻編碼器700,故相同裝置、信號(hào)及功能標(biāo)示以相同參考數(shù)字。音頻編碼器1200被配置成接收輸入音頻信息710,及基于此來(lái)提供編碼音頻信息712。音頻編碼器1200包含能量壓縮時(shí)域至頻域變換器720,其被配置成基于輸入音頻信息710的時(shí)域表示來(lái)提供頻域音頻表示722,使得頻域音頻表示722包含一頻譜值集合。音頻編碼器1200還包含算術(shù)編碼器1230,其被配置成使用可變長(zhǎng)度碼字來(lái)編碼(形成頻域音頻表示722的該頻譜值集合中的)一個(gè)頻譜值或多個(gè)頻譜值或其預(yù)處理版本,以獲得編碼音頻信息712(其例如可包含多個(gè)可變長(zhǎng)度碼字)。算術(shù)編碼器1230被配置成依據(jù)脈絡(luò)狀態(tài),將一個(gè)頻譜值或多個(gè)頻譜值,或者一個(gè)頻譜值或多個(gè)頻譜值的最高有效比特平面映射至一碼值(亦即映射至一可變長(zhǎng)度碼字)。算術(shù)編碼器1230被配置成依據(jù)脈絡(luò)狀態(tài),選擇描述一個(gè)頻譜值或多個(gè)頻譜值,或者一個(gè)頻譜值或多個(gè)頻譜值的最高有效比特平面至一碼值的映射的映射規(guī)則。該算術(shù)編碼器被配置成依據(jù)多個(gè)先前已編碼的(較佳但不一定相鄰的)頻譜值來(lái)確定當(dāng)前脈絡(luò)狀態(tài)。為了達(dá)成此項(xiàng)目的,該算術(shù)編碼器被配置成基于先前已編碼的頻譜值來(lái)獲得多個(gè)脈絡(luò)子區(qū)值,儲(chǔ)存所述脈絡(luò)子區(qū)值,及依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值來(lái)導(dǎo)算出與一或多個(gè)欲編碼頻譜值相關(guān)聯(lián)的一數(shù)值當(dāng)前脈絡(luò)值。此外,該算術(shù)編碼器被配置成計(jì)算由多個(gè)先前已編碼的頻譜值所形成的一向量的范數(shù)(norm),以獲得與多個(gè)先前已編碼的頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值。如圖可知,一個(gè)頻譜值或多個(gè)頻譜值,或者一個(gè)頻譜值或多個(gè)頻譜值的最高有效比特平面映射至碼值可借頻譜值編碼740,使用由映射規(guī)則信息742所描述的映射規(guī)則執(zhí)行。狀態(tài)追蹤器1250可被配置成追蹤脈絡(luò)狀態(tài),且可包含脈絡(luò)子區(qū)值運(yùn)算器1252,用以計(jì)算由多個(gè)先前已編碼的頻譜值所形成的向量的范數(shù),以獲得與多個(gè)先前已編碼的頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值。狀態(tài)追蹤器1250也較佳地被配置成依據(jù)由脈絡(luò)子區(qū)值運(yùn)算器1252所執(zhí)行的脈絡(luò)子區(qū)值運(yùn)算的結(jié)果來(lái)確定當(dāng)前脈絡(luò)狀態(tài)。據(jù)此,狀態(tài)追蹤器1250提供描述當(dāng)前脈絡(luò)狀態(tài)的信息1254。映射規(guī)則選擇器1260可選擇描述一個(gè)頻譜值或多個(gè)頻譜值,或者一個(gè)頻譜值或多個(gè)頻譜值的最高有效比特平面至碼值的映射的映射規(guī)則,例如,累積頻率表。據(jù)此,映射規(guī)則選擇器1260提供映射規(guī)則信息742給頻譜編碼740。綜上所述,音頻編碼器1200執(zhí)行由時(shí)域至頻域變換器720所提供的頻域音頻表示的算術(shù)編碼。該算術(shù)編碼為脈絡(luò)相依性,使得映射規(guī)則(例如,累積頻率表)依據(jù)先前已編碼的頻譜值而選定。據(jù)此,在算術(shù)編碼中考慮時(shí)間上及/或頻率上(或至少在預(yù)定環(huán)境內(nèi)部)彼此相鄰及/或相鄰于當(dāng)前編碼頻譜值(亦即在該當(dāng)前編碼頻譜值的預(yù)定環(huán)境內(nèi)部的頻譜值)的頻譜值來(lái)調(diào)整由算術(shù)編碼器所評(píng)估的概率分布。為了提供數(shù)值當(dāng)前脈絡(luò)值,基于由多個(gè)先前已編碼的頻譜值所形成的向量的范數(shù)的運(yùn)算而獲得與多個(gè)先前已編碼的頻譜值相關(guān)聯(lián)的脈絡(luò)子區(qū)值。數(shù)值當(dāng)前脈絡(luò)值的確定結(jié)果應(yīng)用于當(dāng)前脈絡(luò)狀態(tài)的選擇,亦即應(yīng)用于映射規(guī)則的選擇。借由計(jì)算由多個(gè)先前已編碼的頻譜值所形成的一向量的范數(shù),可獲得描述一或多個(gè)欲編碼頻譜值的脈絡(luò)的一部分的有意義信息,其中先前已編碼的頻譜值的一向量的范數(shù)通??捎孟鄬?duì)較少數(shù)比特表示。如此,需要儲(chǔ)存以備以后導(dǎo)算數(shù)值當(dāng)前脈絡(luò)值要用的脈絡(luò)信息量可借由應(yīng)用前文討論的脈絡(luò)子區(qū)值運(yùn)算辦法而維持足夠少。業(yè)已發(fā)現(xiàn)先前已編碼的頻譜值的一向量的范數(shù)通常包含有關(guān)脈絡(luò)狀態(tài)的最有效信息。相反地,業(yè)已發(fā)現(xiàn)先前已編碼的頻譜值符號(hào)(sign)通常包含對(duì)脈絡(luò)狀態(tài)的附屬影響,因而忽略先前已編碼的頻譜值符號(hào)來(lái)減少需儲(chǔ)存以備后用的信息量是合理的。而且,業(yè)已發(fā)現(xiàn)先前已編碼的頻譜值的一向量的范數(shù)運(yùn)算是用以導(dǎo)算一脈絡(luò)子區(qū)值的合理辦法,原因在于通常借范數(shù)運(yùn)算所獲得的平均效果對(duì)有關(guān)脈絡(luò)狀態(tài)的最重要信息實(shí)質(zhì)上沒(méi)有影響。概括而言,借脈絡(luò)子區(qū)值運(yùn)算器1252執(zhí)行的脈絡(luò)子區(qū)值運(yùn)算允許提供壓縮脈絡(luò)子區(qū)值信息供儲(chǔ)存以備再度使用,其中盡管信息量減少,但有關(guān)脈絡(luò)狀態(tài)的最相關(guān)信息仍然保留了下來(lái)。據(jù)此,可獲得輸入音頻信息710的有效編碼,同時(shí)維持算術(shù)編碼器1230的運(yùn)算量及儲(chǔ)存的數(shù)據(jù)量夠小。7.依據(jù)圖13的音頻解碼器圖13顯示音頻解碼器1300的方塊示意圖。由于音頻解碼器1300類(lèi)似于依據(jù)圖8的音頻解碼器800和依據(jù)圖11的音頻解碼器1100,相同裝置、信號(hào)及功能標(biāo)示以相同的參考數(shù)字。音頻解碼器1300被配置成接收音頻信息810,及基于此來(lái)提供已解碼的音頻信息812。音頻解碼器1300包含算術(shù)解碼器1320,其被配置成基于頻譜值的算術(shù)編碼表示821來(lái)提供多個(gè)已解碼的頻譜值822。音頻解碼器1300還包含頻域至?xí)r域變換器830,其被配置成接收解碼頻譜值822,及使用解碼頻譜值822提供可組成解碼音頻信息的時(shí)域音頻表/Jn812,以獲得解碼首頻彳目息812。算術(shù)解碼器1320包含頻譜值確定器824,其被配置成將頻譜值的算術(shù)編碼表示821的碼值映射至表示解碼頻譜值中的一或多者,或者解碼頻譜值中的一或多者的至少一部分(例如,最高有效比特平面)的符元碼。頻譜值確定器824可被配置成依據(jù)映射規(guī)則執(zhí)行映射,映射規(guī)則借映射規(guī)則信息828a來(lái)描述。映射規(guī)則信息828a例如可包含映射規(guī)則索引值,或可包含累積頻率表表項(xiàng)的一選定集合。算術(shù)解碼器1320被配置成依據(jù)脈絡(luò)狀態(tài)(其可由脈絡(luò)狀態(tài)信息1326a來(lái)描述)來(lái)選擇描述碼值(由頻譜值的算術(shù)編碼表示821來(lái)描述)至符元碼(描述一或多個(gè)頻譜值)的映射的映射規(guī)則(例如,累積頻率表)。算術(shù)解碼器1320被配置成依據(jù)多個(gè)先前已解碼的頻譜值822來(lái)確定當(dāng)前脈絡(luò)狀態(tài)。為了達(dá)成此項(xiàng)目的,可使用狀態(tài)追蹤器1326,其接收描述先前已解碼的頻譜值的信息。算術(shù)解碼器還被配置成基于先前已解碼的頻譜值而獲得多個(gè)脈絡(luò)子區(qū)值,并且儲(chǔ)存所述脈絡(luò)子區(qū)值。該算術(shù)解碼器被配置成依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值而導(dǎo)算出與一或多個(gè)欲解碼頻譜值相關(guān)聯(lián)的數(shù)值當(dāng)前脈絡(luò)值。算術(shù)解碼器1320被配置成計(jì)算由多個(gè)先前已解碼的頻譜值所形成的一向量的范數(shù),以獲得與多個(gè)先前已解碼的頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值。計(jì)算先前已編碼的頻譜值的一向量的范數(shù)以獲得與多個(gè)先前已解碼的頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值,例如可借脈絡(luò)子區(qū)值運(yùn)算器1327來(lái)執(zhí)行,該運(yùn)算器是狀態(tài)追蹤器1326的一部分。據(jù)此,當(dāng)前脈絡(luò)狀態(tài)信息1326a基于脈絡(luò)子區(qū)值而獲得,其中狀態(tài)追蹤器1326較佳地依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值來(lái)提供與一或多個(gè)欲解碼頻譜值相關(guān)聯(lián)的數(shù)值當(dāng)前脈絡(luò)值。映射規(guī)則的選擇可借映射規(guī)則選擇器1328執(zhí)行,該選擇器從當(dāng)前脈絡(luò)狀態(tài)信息1326a導(dǎo)算出映射規(guī)則信息828a,并提供映射規(guī)則信息828a給頻譜值確定器824。有關(guān)音頻信號(hào)解碼器1300的功能,須注意算術(shù)解碼器1320被配置成選定一映射規(guī)則(例如,累積頻率表),其一般而言良好適應(yīng)于欲解碼的頻譜值,原因在于映射規(guī)則是依據(jù)當(dāng)前脈絡(luò)狀態(tài)而選定的,而當(dāng)前脈絡(luò)狀態(tài)又是依據(jù)多個(gè)先前已解碼的頻譜值而確定的。據(jù)此,可利用欲解碼的相鄰頻譜值間的統(tǒng)計(jì)相依性。但業(yè)已發(fā)現(xiàn)就內(nèi)存的使用而言,儲(chǔ)存基于由多個(gè)先前已解碼的頻譜值所形成的一向量的范數(shù)的運(yùn)算的脈絡(luò)子區(qū)值,供以后確定數(shù)值脈絡(luò)值時(shí)使用是有效的。業(yè)已發(fā)現(xiàn)此類(lèi)脈絡(luò)子區(qū)值仍然包含最相關(guān)的脈絡(luò)信息。據(jù)此,狀態(tài)追蹤器1326使用的構(gòu)想構(gòu)成編碼效率、運(yùn)算效率與儲(chǔ)存效率間的良好折衷。進(jìn)一步細(xì)節(jié)容后詳述。8.依據(jù)圖I的音頻編碼器后文中將敘述依據(jù)本發(fā)明的實(shí)施例的音頻編碼器。圖I顯示這種音頻編碼器100的方塊示意圖。音頻編碼器100被配置成接收輸入音頻信息110,及基于此來(lái)提供比特串流112,比特串流112組成編碼音頻信息。音頻編碼器100選擇性地包含預(yù)處理器120,其被配置成接收輸入音頻信息110,及基于此來(lái)提供經(jīng)預(yù)處理的輸入音頻信息110a。音頻編碼器100還包含能量壓縮時(shí)域至頻域信號(hào)變換器(transformer)130,其也被稱為信號(hào)變換器(converter)。信號(hào)變換器130被配置成接收輸入音頻信息110、110a,及基于此來(lái)提供頻域音頻信息132,其較佳地呈一頻譜值集合形式。例如,信號(hào)變換器130可被配置成接收輸入音頻信息IlOUlOa的一幀(例如時(shí)域樣本的一區(qū)塊),及提供表示個(gè)別音頻幀之音頻內(nèi)容的一頻譜值集合。此外,信號(hào)變換器130可被配置成接收輸入音頻信息IlOUlOa的多個(gè)接續(xù)重疊的或非重疊的音頻幀,并基于此來(lái)提供一時(shí)頻域音頻表示,其包含一序列接續(xù)的頻譜值集合,每個(gè)頻譜值集合與每一幀相關(guān)聯(lián)。能量壓縮時(shí)域至頻域信號(hào)變換器130可包含一能量壓縮濾波器組,其提供與不同的重疊的或非重疊的頻率范圍相關(guān)聯(lián)的頻譜值。例如,信號(hào)變換器130可包含加窗修正離散余弦變換(MDCT)變換器130a,其被配置成使用變換窗來(lái)對(duì)輸入音頻信息IlOUlOa(或其一幀)加窗,及對(duì)已加窗輸入音頻信息IlOUlOa(或其加窗幀)執(zhí)行修正離散余弦變換(MDCT)。據(jù)此,頻域音頻表示132可包含例如1024個(gè)頻譜值的一集合,呈與輸入音頻信息的一幀相關(guān)聯(lián)的MDCT系數(shù)形式。音頻編碼器100可進(jìn)一步選擇性地包含頻譜后處理器140,其被配置成接收頻域音頻表示132,及基于此來(lái)提供經(jīng)后處理的頻域音頻表示142。頻譜后處理器140例如可被配置成執(zhí)行時(shí)間噪聲整形(noiseshaping)及/或長(zhǎng)期預(yù)測(cè)及/或業(yè)界已知的任何其它頻譜后處理。該音頻編碼器進(jìn)一步選擇性地包含定標(biāo)器/量化器150,其被配置成接收頻域音頻表示132或其后處理版本142,及提供已定標(biāo)且已量化的頻域音頻表示152。音頻編碼器100進(jìn)一步選擇性地包含心理聲學(xué)模型處理器160,其被配置成接收輸入音頻信息110(或其后處理版本110a),及基于此來(lái)提供選擇性的控制信息,其可用于能量壓縮時(shí)域至頻域信號(hào)變換器130的控制,用于選擇性的頻譜后處理器140的控制,及/或用于選擇性的定標(biāo)器/量化器150的控制。例如,心理聲學(xué)模型處理器160可被配置成分析輸入音頻信息,判定輸入音頻信息IlOUlOa的哪些組分對(duì)音頻內(nèi)容的人類(lèi)感知特別重要,及輸入音頻信息IlOUlOa的哪些組分對(duì)音頻內(nèi)容感知較不重要。據(jù)此,心理聲學(xué)模型處理器160可提供控制信息,其由音頻編碼器100用來(lái)調(diào)整定標(biāo)器/量化器150對(duì)頻域音頻表示132、142的定標(biāo),及/或定標(biāo)器/量化器150應(yīng)用的量化分辨率。結(jié)果,感知上重要的尺度因子帶(scalefactorband)(亦即對(duì)音頻內(nèi)容的人類(lèi)感知特別重要的相鄰頻譜值群組)以大尺度因子定標(biāo)且以相對(duì)較高的分辨率量化,而感知上較不重要的尺度因子帶(亦即相鄰頻譜值群組)以相對(duì)較小的尺度因子定標(biāo)且以相對(duì)較低的量化分辨率量化。據(jù)此,感知上較為重要的頻率的定標(biāo)頻譜值通常明顯大于感知上較不重要的頻率的定標(biāo)頻譜值。音頻編碼器還包含算術(shù)編碼器170,其被配置成接收頻域音頻表示132的已定標(biāo)且已量化版本152(或者是頻域音頻表示132的后處理版本142,或甚至是頻域音頻表示132本身),及基于此來(lái)提供算術(shù)碼字信息172a,使得算術(shù)碼字信息表示頻域音頻表示152。音頻編碼器100還包含比特串流有效載荷(playload)格式化器190,其被配置成接收算術(shù)碼字信息172a。比特串流有效載荷格式化器190還通常被配置成接收額外信息,例如描述哪些尺度因子已經(jīng)由定標(biāo)器/量化器150應(yīng)用的尺度因子信息。此外,比特串流有效載荷格式化器190可被配置成接收其它控制信息。比特串流有效載荷格式化器190被配置成通過(guò)依據(jù)期望的比特串流語(yǔ)法來(lái)組裝比特串流,而基于所接收的信息來(lái)提供比特串流112,比特串流語(yǔ)法容后詳述。后文中,將描述有關(guān)算術(shù)編碼器170的細(xì)節(jié)。算術(shù)編碼器170被配置成接收多個(gè)頻域音頻表示132的已經(jīng)后處理且經(jīng)定標(biāo)與量化的頻譜值。該算術(shù)編碼器包含一最高有效比特平面抽取器174,其被配置成從一個(gè)頻譜值,或甚至從兩個(gè)頻譜值中抽取最高有效比特平面m。此處須注意最高有效比特平面可包含一個(gè)或甚至多個(gè)比特(例如,2或3比特),它們是該頻譜值的最高有效比特。如此,最高有效比特平面抽取器174提供一頻譜值的最高有效比特平面值176。但另外,最高有效比特平面抽取器174可組合多個(gè)頻譜值(例如,頻譜值a和b)的最高有效比特平面,提供組合的最高有效比特平面值m。頻譜值a的最高有效比特平面標(biāo)示以m。另外,多個(gè)頻譜值a、b的組合的最高有效比特平面值標(biāo)示以m。算術(shù)編碼器170還包含第一碼字確定器180,其被配置成確定表示最高有效比特平面值m的算術(shù)碼字acod_m[pki][m]。第一碼字確定器180還可選擇性地提供一或多個(gè)脫序(escape)碼字(此處也標(biāo)示以「ARITH_ESCAPE」),其指示例如有多少較低有效的比特平面可資利用(且,因此,指示最高有效比特平面的數(shù)值權(quán)值)。第一碼字確定器180可被配置成使用具有累積頻率表索引Pki(或被其指稱)的一選定的累積頻率表來(lái)提供與最高有效比特平面值m相關(guān)聯(lián)的碼字。為了判定須選用哪一個(gè)累積頻率表,該算術(shù)編碼器較佳地包含一狀態(tài)追蹤器182,其被配置成例如借由觀察哪些頻譜值先前已經(jīng)編碼來(lái)追蹤算術(shù)編碼器的狀態(tài)。因此,狀態(tài)追蹤器182提供狀態(tài)信息184,例如標(biāo)示以「S」或「t」或「C」的狀態(tài)值。算術(shù)編碼器170還包含一累積頻率表選擇器186,其被配置成接收狀態(tài)信息184,及提供描述所選累積頻率表的信息188給碼字確定器180。例如,累積頻率表選擇器186可提供累積頻率表索引「pki」,其描述96個(gè)累積頻率表的一集合中哪個(gè)累積頻率表被選定供碼字確定器使用。另外,累積頻率表選擇器186可提供整個(gè)所選的累積頻率表或子表給碼字確定器。如此,碼字確定器180可使用所選的累積頻率表或子表來(lái)提供最高有效比特平面值m的碼字aCod_m[pki][m],使得編碼最高有效比特平面值m的實(shí)際碼字aCod_m[pki][m]與m值及累積頻率表索引Pki具有相依性,并從而與當(dāng)前狀態(tài)信息184具有相依性。有關(guān)編碼程序及所得碼字格式的進(jìn)一步細(xì)節(jié)容后詳述。但須注意在有些實(shí)施例中,狀態(tài)追蹤器182可與狀態(tài)追蹤器750、狀態(tài)追蹤器1050或狀態(tài)追蹤器1250相同或具有相同功能。還須注意在若干實(shí)施例中,累積頻率表選擇器186可與映射規(guī)則選擇器760、映射規(guī)則選擇器1060或映射規(guī)則選擇器1260相同或具有相同功能。此外,在若干實(shí)施例中,第一碼字確定器180可與頻譜值編碼740相同或具有相同功能。算術(shù)編碼器170進(jìn)一步包含一較低有效比特平面抽取器189a,其被配置成若欲編碼頻譜值中的一或多者超過(guò)只使用最高有效比特平面即可編碼的值的范圍,則從已定標(biāo)且已量化頻域音頻表示152中抽取一或多個(gè)較低有效比特平面。根據(jù)需要,較低有效比特平面可包含一或多個(gè)比特。據(jù)此,較低有效比特平面抽取器189a提供較低有效比特平面信息18%。算術(shù)編碼器170還包含第二碼字確定器189c,其被配置成接收較低有效比特平面信息189d,及基于此來(lái)提供表示O、I或多個(gè)較低有效比特平面內(nèi)容的O、I或多個(gè)碼字「acod_r」。第二碼字確定器189c可被配置成應(yīng)用算術(shù)編碼算法或任何其它編碼算法,以從較低有效比特平面信息18%導(dǎo)算出較低有效比特平面碼字「acod_r」。此處須注意較低有效比特平面的數(shù)目可依據(jù)已定標(biāo)且已量化頻譜值152的值而變化,使得若欲編碼的已定標(biāo)且已量化頻譜值相對(duì)較小,則完全沒(méi)有較低有效比特平面,使得若當(dāng)前欲編碼的已定標(biāo)且已量化頻譜值屬于中等范圍,則可能有一個(gè)較低有效比特平面,以及使得若欲編碼的已定標(biāo)且已量化頻譜值具有相對(duì)較大值,則可能有多于一個(gè)較低有效比特平面。綜上所述,算術(shù)編碼器170被配置成使用階層式編碼程序來(lái)編碼借信息152描述的已定標(biāo)且已量化頻譜值。一或多個(gè)頻譜值的最高有效比特平面(例如,對(duì)每一頻譜值包含1、2或3比特)經(jīng)編碼以獲得最高有效比特平面值m的算術(shù)碼字「aCod_m[pki][m]」。一或多個(gè)頻譜值的一或多個(gè)較低有效比特平面(每一個(gè)較低有效比特平面例如包含1、2或3比特)經(jīng)編碼以獲得一或多個(gè)碼字「acod_r」。當(dāng)編碼最高有效比特平面時(shí),最高有效比特平面的值m被映射至碼字aCod_m[pki][m]。為了達(dá)成此項(xiàng)目的,依據(jù)算術(shù)編碼器170的狀態(tài),亦即依據(jù)先前已編碼的頻譜值來(lái)編碼值m,96個(gè)不同的累積頻率表可資利用。如此,獲得碼字「aCod_m[pki][m]」。此外,若存在一或多個(gè)較低有效比特平面,則提供一或多個(gè)碼字Γacod_rJ并將其納入比特串流。重置描述音頻編碼器100可選擇性地被配置成判定借由重置脈絡(luò),例如借由將狀態(tài)索引設(shè)定為默認(rèn)值,是否可獲得比特率的改良。據(jù)此,音頻編碼器100可被配置成提供一重置信息(例如,命名為「arith_reset_flag」),其指示用于算術(shù)編碼的脈絡(luò)是否重置,且還指示在對(duì)應(yīng)解碼器中用于算術(shù)解碼的脈絡(luò)是否應(yīng)重置。有關(guān)比特串流格式及所應(yīng)用的累積頻率表的細(xì)節(jié)容后詳述。9.依據(jù)圖2的音頻解碼器后文中,將敘述依據(jù)本發(fā)明的實(shí)施例的音頻解碼器。圖2顯示這樣一種音頻解碼器200的方塊示意圖。音頻解碼器200被配置成接收一比特串流210,比特串流210表示已編碼音頻信息,且可與由音頻編碼器100所提供的比特串流112相同。音頻解碼器200基于比特串流210來(lái)提供已解碼的音頻信息212。音頻解碼器200包含一選擇性的比特串流有效載荷解格式化器220,其被配置成接收比特串流210,及從比特串流210中抽取已編碼頻域音頻表示222。例如,比特串流有效載荷解格式化器220可被配置成從比特串流210中抽取算術(shù)編碼頻譜數(shù)據(jù),例如表示頻域音頻表示的一個(gè)頻譜值a或多個(gè)頻譜值a、b的最高有效比特平面值m的算術(shù)碼字「acod_m[pki][m]」,及表示頻域音頻表示的一個(gè)頻譜值a或多個(gè)頻譜值a、b的較低有效比特平面內(nèi)容的碼字「acod_r」。如此,已編碼頻域音頻表示222組成(或包含)頻譜值的算術(shù)編碼表示。比特串流有效載荷解格式化器220進(jìn)一步被配置成從比特串流中抽取圖2中未顯示的額外控制信息。此外,該比特串流有效載荷解格式化器選擇性地被配置成從比特串流210中抽取狀態(tài)重置信息224,其也被稱為算術(shù)重置旗標(biāo)或「arith_reset_flag」。音頻解碼器200包含算術(shù)解碼器230,其也被稱為「頻譜無(wú)噪聲解碼器」。算術(shù)解碼器230被配置成接收已編碼頻域音頻表示220,及選擇性地接收狀態(tài)重置信息224。算術(shù)解碼器230還被配置成提供已解碼頻域音頻表示232,其可包含頻譜值的已解碼表示。例如,已解碼頻域音頻表示232可包含由已編碼頻域音頻表示220描述的頻譜值的已解碼表示。音頻解碼器200還包含一選擇性的反量化器/重定標(biāo)器240,其被配置成接收已解碼頻域音頻表示232,及基于此來(lái)提供已反量化且已重定標(biāo)的頻域音頻表示242。音頻解碼器200進(jìn)一步包含一選擇性的頻譜預(yù)處理器250,其被配置成接收已反量化且已重定標(biāo)的頻域音頻表示242,及基于此來(lái)提供已反量化且已重定標(biāo)的頻域音頻表示242的預(yù)處理版本252。音頻解碼器200還包含一頻域至?xí)r域信號(hào)變換器260,其也被稱為「信號(hào)變換器」。信號(hào)變換器260被配置成接收已反量化且已重定標(biāo)的頻域音頻表示242的預(yù)處理版本252(或者是已反量化且已重定標(biāo)的頻域音頻表示242或已解碼頻域音頻表示232),及基于此來(lái)提供音頻信息的時(shí)域表示262。頻域至?xí)r域信號(hào)變換器260例如可包含用以執(zhí)行修正離散余弦反變換(MDCT)及適當(dāng)加窗(以及其它附屬功能,例如,重疊與相加)的變換器。音頻解碼器200可進(jìn)一步包含一選擇性的時(shí)域后處理器270,其被配置成接收音頻信息的時(shí)域表示262,及使用時(shí)域后處理來(lái)獲得已解碼音頻信息212。但若刪除后處理,則時(shí)域表示262可與解碼音頻信息212相同。此處須注意反量化器/重定標(biāo)器240、頻譜預(yù)處理器250、頻域至?xí)r域信號(hào)變換器260及時(shí)域后處理器270可依據(jù)控制信息而被控制,該控制信息是借比特串流有效載荷解格式化器220而從比特串流210中抽取得到的。總結(jié)音頻解碼器200的整體功能,已解碼頻域音頻表示232,例如與已編碼音頻信息的一音頻幀相關(guān)聯(lián)的一頻譜值集合,可使用算術(shù)解碼器230,基于已編碼頻域表示222而獲得。隨后,例如1024個(gè)頻譜值的集合被反量化、重定標(biāo)及預(yù)處理,這些頻譜值可以是MDCT系數(shù)。據(jù)此,獲得經(jīng)反量化、重定標(biāo)及經(jīng)頻譜預(yù)處理的頻譜值(例如,1024個(gè)MDCT系數(shù))的集合。隨后,一音頻幀的時(shí)域表示從經(jīng)反量化、重定標(biāo)及經(jīng)頻譜預(yù)處理的頻譜值(例如,MDCT系數(shù))集合而導(dǎo)算出。據(jù)此,獲得一音頻幀的時(shí)域表示。一給定音頻幀的時(shí)域表示可與先前音頻幀及/或后續(xù)音頻幀的時(shí)域表示組合。例如,可執(zhí)行接續(xù)音頻幀的時(shí)域表示間的重疊與相加來(lái)使相鄰音頻幀的時(shí)域表示間的切換平滑化,并因而獲得混疊消除(aliasingcancellation)。有關(guān)基于已解碼時(shí)頻域音頻表示232來(lái)重組已解碼音頻信息212的細(xì)節(jié),例如可參考國(guó)際標(biāo)準(zhǔn)IS0/IEC14496-3部分3子部分4,其中給出了詳細(xì)討論。但也可使用其它更詳盡的重疊及混疊消除方案。后文中,將描述有關(guān)算術(shù)解碼器230的若干細(xì)節(jié)。算術(shù)解碼器230包含最高有效比特平面確定器284,其被配置成接收描述最高有效比特平面值m的算術(shù)碼字aCod_m[pki][m]。最高有效比特平面確定器284可被配置成使用包含96個(gè)累積頻率表的一集合中的一個(gè)累積頻率表,從算術(shù)碼字「aCod_m[pki][m]」導(dǎo)算出最高有效比特平面值m。最高有效比特平面確定器284被配置成基于碼字acod_m來(lái)導(dǎo)算出多個(gè)頻譜值中的一者的最高有效比特平面值286。算術(shù)解碼器230進(jìn)一步包含一較低有效比特平面確定器288,其被配置成接收表示一頻譜值的一或多個(gè)較低有效比特平面的一或多個(gè)碼字racod_rj0據(jù)此,較低有效比特平面確定器288被配置成提供一或多個(gè)較低有效比特平面的解碼值290。音頻解碼器200還包含一比特平面組合器292,其被配置成接收一或多個(gè)頻譜值的最高有效比特平面的已解碼值286,及若較低有效比特平面可供當(dāng)前頻譜值使用,則也可接收所述頻譜值的較低有效比特平面的已解碼值290。據(jù)此,比特平面組合器292提供已解碼頻譜值,它們是已解碼頻域音頻表示232的一部分。當(dāng)然,算術(shù)解碼器230通常被配置成提供多個(gè)頻譜值,以獲得與音頻內(nèi)容的一當(dāng)前幀相關(guān)聯(lián)的已解碼頻譜值的一完整集口ο算術(shù)解碼器230進(jìn)一步包含一累積頻率表選擇器296,其被配置成依據(jù)描述算術(shù)解碼器狀態(tài)的一狀態(tài)索引298來(lái)選擇96個(gè)累積頻率表中的一者。算術(shù)解碼器230進(jìn)一步包含一狀態(tài)追蹤器299,其被配置成依據(jù)先前已解碼的頻譜值來(lái)追蹤算術(shù)解碼器的狀態(tài)。該狀態(tài)信息可選擇性地響應(yīng)于狀態(tài)重置信息224而被重置成默認(rèn)狀態(tài)信息。據(jù)此,累積頻率表選擇器296被配置成提供所選定的累積頻率表的索引(例如,pki),或一選定的累積頻率表或其子表本身,用以應(yīng)用于依據(jù)碼字「acod_m」來(lái)解碼最高有效比特平面值m??偨Y(jié)音頻解碼器200的功能,音頻解碼器200被配置成接收經(jīng)比特率有效編碼的頻域音頻表示222,及基于此來(lái)提供已解碼頻域音頻表示。在用來(lái)基于已編碼頻域音頻表示222來(lái)獲得已解碼頻域音頻表示232的算術(shù)解碼器230中,通過(guò)使用被配置成應(yīng)用一累積頻率表的算術(shù)解碼器280來(lái)利用相鄰頻譜值的最高有效比特平面值的不同組合的概率。換言之,通過(guò)依據(jù)狀態(tài)索引298而從包含96個(gè)不同累積頻率表的一集合中選出不同累積頻率表來(lái)利用頻譜值間的統(tǒng)計(jì)相依性,狀態(tài)索引298是由觀察先前算出的已解碼頻譜值獲得的。須注意狀態(tài)追蹤器299可與狀態(tài)追蹤器826、狀態(tài)追蹤器1126或狀態(tài)追蹤器1326相同或具有相同功能。累積頻率表選擇器296可與映射規(guī)則選擇器828、映射規(guī)則選擇器1128或映射規(guī)則選擇器1328相同或具有相同功能。最高有效比特平面確定器284可與頻譜值確定器824相同或具有相同功能。10.頻譜無(wú)噪聲編碼工具綜論后文中,將解釋說(shuō)明有關(guān)例如借算術(shù)編碼器170及算術(shù)解碼器230執(zhí)行的編碼及解碼算法的細(xì)節(jié)。注意力聚焦在解碼算法的描述。但須注意可依據(jù)解碼算法的教示來(lái)執(zhí)行相對(duì)應(yīng)的編碼算法,其中編碼頻譜值與解碼頻譜值間的映射關(guān)系是顛倒的,且其中映射規(guī)則索引值的運(yùn)算實(shí)質(zhì)上是相同的。在編碼器中,編碼頻譜值替代解碼頻譜值。而且,欲編碼頻譜值替代欲解碼頻譜值。須注意使用解碼(容后詳述)是為了允許對(duì)通常已經(jīng)后處理、經(jīng)定標(biāo)且經(jīng)量化的頻譜值進(jìn)行所謂的「頻譜無(wú)噪聲編碼」。頻譜無(wú)噪聲編碼用于音頻編碼/解碼構(gòu)想(或任何其它編碼/解碼構(gòu)想)以進(jìn)一步減少借能量壓縮時(shí)域至頻域信號(hào)變換器所得的量化頻譜的冗余。本發(fā)明的實(shí)施例中所使用的頻譜無(wú)噪聲編碼方案以算術(shù)編碼為基礎(chǔ),并結(jié)合動(dòng)態(tài)調(diào)適脈絡(luò)。在依據(jù)本發(fā)明的若干實(shí)施例中,頻譜無(wú)噪聲編碼方案以2元組(2-tuple)為基礎(chǔ),換言之,兩個(gè)相鄰頻譜系數(shù)組合在一起。每一個(gè)2元組被分裂成符號(hào)、最高有效逐2-比特平面,及剩余的較低有效比特平面。使用由四個(gè)先前已解碼的2元組導(dǎo)算出的脈絡(luò)相依性累積頻率表對(duì)最高有效逐2-比特平面m進(jìn)行無(wú)噪聲編碼。無(wú)噪聲編碼饋入量化頻譜值,且使用由四個(gè)先前已解碼的2元組導(dǎo)算出的脈絡(luò)相依性累積頻率表。此處,在時(shí)間及頻譜上鄰近的2元組被列入考慮,如圖4所示。然后累積頻率表(容后詳述)由算術(shù)編碼器使用來(lái)產(chǎn)生可變長(zhǎng)度二進(jìn)制碼(及借算術(shù)解碼器來(lái)由可變長(zhǎng)度二進(jìn)制碼導(dǎo)算出解碼值)。例如,算術(shù)編碼器170對(duì)一給定符元集合及它們各自的概率(亦即取決于各自的概率)產(chǎn)生二進(jìn)制碼。該二進(jìn)制碼是通過(guò)將該符元集合所在的一概率區(qū)間映射至一碼字而產(chǎn)生的。使用單一累積頻率表來(lái)對(duì)剩下的較低有效比特平面r進(jìn)行無(wú)噪聲編碼。累積頻率例如與出現(xiàn)在較低有效比特平面的符元的均勻分布相對(duì)應(yīng),亦即預(yù)期在較低有效比特平面出現(xiàn)O或I的概率相等。后文中,將給出頻譜無(wú)噪聲編碼工具的另一段簡(jiǎn)短綜論。使用頻譜無(wú)噪聲編碼來(lái)進(jìn)一步減少量化頻譜的冗余。頻譜無(wú)噪聲編碼方案以算術(shù)編碼以基礎(chǔ),結(jié)合動(dòng)態(tài)調(diào)適性脈絡(luò)。無(wú)噪聲編碼饋入量化頻譜值,且使用例如由四個(gè)先前已解碼的鄰近頻譜值導(dǎo)算出的2元組的脈絡(luò)相依性累積頻率表。此處,在時(shí)間及頻譜上鄰近的2元組被列入考慮,如圖4所示。然后累積頻率表由算術(shù)編碼器使用來(lái)產(chǎn)生可變長(zhǎng)度二進(jìn)制碼。算術(shù)編碼器對(duì)一給定符元集合及它們各自的概率產(chǎn)生二進(jìn)制碼。二進(jìn)制碼是通過(guò)將該符元集合所在的一概率區(qū)間映射至一碼字而產(chǎn)生的。11.解碼程序11.I解碼程序綜論后文中,將參考圖3給出一頻譜值編碼程序的綜論,該圖顯示解碼多個(gè)頻譜值的程序的偽程序碼表示。多個(gè)頻譜值的解碼程序包含脈絡(luò)的初始化(initialization)310。脈絡(luò)的初始化310包含使用函數(shù)「arith_map_context(N,arith_reset_flag)」由一先前脈絡(luò)導(dǎo)算出當(dāng)前脈絡(luò)。由先前脈絡(luò)導(dǎo)算出當(dāng)前脈絡(luò)可選擇性地包含脈絡(luò)的重置。脈絡(luò)的重置以及由先前脈絡(luò)導(dǎo)算出當(dāng)前脈絡(luò)容后詳述。多個(gè)頻譜值的解碼還包含頻譜值解碼312及脈絡(luò)更新313的迭代重復(fù)(iteration),脈絡(luò)更新313借函數(shù)「arith_update_context(i,a,b)」執(zhí)行,容后詳述。除非檢測(cè)到所謂的「ARITH_ST0P」符元,否則頻譜值解碼312及脈絡(luò)更新312重復(fù)lg/2次,此處lg/2指示欲解碼頻譜值的2元組數(shù)目(例如,對(duì)一音頻幀而言)。此外,將一個(gè)由Ig個(gè)頻譜值組成的集合解碼還包含一符號(hào)解碼314及一結(jié)束步驟315。一頻譜值元組的解碼312包含脈絡(luò)值計(jì)算312a、最高有效比特平面解碼312b、算術(shù)終止符元檢測(cè)312c、較低有效比特平面加法312d,及陣列更新312e。狀態(tài)值運(yùn)算312a包含調(diào)用例如如圖5c或5d所示的函數(shù)「arith_get_context(c,i,N)J0據(jù)此,提供數(shù)值當(dāng)前脈絡(luò)(狀態(tài))值c作為函數(shù)「arith_get_context(c,i,N)」的函數(shù)調(diào)用的回送值(returnvalue)。如圖可知,數(shù)值先前脈絡(luò)值(也標(biāo)示以「C」)作為函數(shù)「arith_get_context(c,i,N)」的輸入變量,由回送值來(lái)更新以獲得數(shù)值當(dāng)前脈絡(luò)值C。最高有效比特平面解碼312b包含解碼算法312ba的迭代重復(fù)執(zhí)行,及從算法312ba的結(jié)果值m導(dǎo)算312bb得到值a,b。在算法312ba的準(zhǔn)備中,變量lev被初始化為零。算法312ba被重復(fù)直至達(dá)到「中斷」指令(或條件)為止。算法312ba包含使用函數(shù)「arith_get_pk()」,依據(jù)數(shù)值當(dāng)前脈絡(luò)值c,且還依據(jù)位階值「esc_nb」來(lái)計(jì)算狀態(tài)索引「pki」(其也用作累積頻率表索引),關(guān)于函數(shù)「arith_get_pk()」容后詳述(且例如,圖5e及5f顯示其實(shí)施例)。算法312ba還包含依據(jù)通過(guò)調(diào)用函數(shù)「arith_get_pk」所回送的狀態(tài)索引「pki」來(lái)選擇一累積頻率表,其中變量「cum_freq」可依據(jù)狀態(tài)索引「pki」被設(shè)定為96個(gè)累積頻率表(或子表)中的一者的起始地址。變量「Cf!」也可被初始化成該選定累積頻率表(或子表)的長(zhǎng)度,此長(zhǎng)度例如等于碼表(alphabet)中的符元數(shù)目,亦即可解碼的不同值的數(shù)目。可利用來(lái)解碼最高有效比特平面值m的從「ari_cf_m[pki=0][17]」到「ari_cf_m[pki=95][17]」的全部累積頻率表(或子表)的長(zhǎng)度為17,故可解碼16個(gè)不同的最高有效比特平面值及一個(gè)脫序符元(「ARITH_ESCAPE」)。隨后,考慮所選累積頻率表(借變量「CUm_freq」及變量「CfI」描述),通過(guò)執(zhí)行函數(shù)「arith_decode()」可獲得最高有效比特平面值m。當(dāng)導(dǎo)算最高有效比特平面值m時(shí),可評(píng)估比特串流210中被命名為「acod_m」的比特(例如,參見(jiàn)圖6g或圖6h)。算法312ba還包含檢查最高有效比特平面值m是否等于脫序符元「ARITH_ESCAPE」。若最高有效比特平面值m不等于算術(shù)脫序符元,則中斷算法312ba(「中斷」條件),然后跳過(guò)算法312ba的其余指令。據(jù)此,通過(guò)在步驟312bb中設(shè)定值b和值a來(lái)繼續(xù)執(zhí)行程序。相反地,若已解碼的最高有效比特平面值m與該算術(shù)脫序符元或「ARITH_ESCAPE」相同,則位階值「lev」遞增I。除非在位階值「lev」大于7的情況下,位階值「esc_nb」被設(shè)定為等于7,否則位階值「esc_nb」被設(shè)定為等于位階值「lev」。如上文所提到的,接著重復(fù)算法312ba直到已解碼最高有效比特平面值m與算術(shù)脫序符元相異為止,其中使用的是經(jīng)修改的脈絡(luò)(原因在于函數(shù)「arith_get_pk()」的輸入?yún)?shù)是依據(jù)變量「esc_nb」的值而調(diào)整適應(yīng)的)。一旦最高有效比特平面使用算法312ba的一次執(zhí)行或迭代重復(fù)執(zhí)行而解碼時(shí),亦即與算術(shù)脫序符元相異的最高有效比特平面值m已經(jīng)解碼時(shí),頻譜值變量「b」就被設(shè)定為等于最高有效比特平面值m的多個(gè)(例如,2個(gè))較高有效比特;且頻譜值變量「a」被設(shè)定為等于最高有效比特平面值m的(例如,2個(gè))最低比特。有關(guān)此功能的細(xì)節(jié)例如參見(jiàn)參考數(shù)字312bb。接著在步驟312c中檢查是否存在算術(shù)終止符元。如果最高有效比特平面值m等于零且變量「lev」大于零,則存在算術(shù)終止符元。據(jù)此,算術(shù)終止條件是借「不尋常」條件標(biāo)示的,其中最高有效比特平面值m等于零,而變量「lev」指示與最高有效比特平面值m相關(guān)聯(lián)的增加的數(shù)值權(quán)值。換言之,若比特串流指示需給予等于零的最高有效比特平面值的數(shù)值權(quán)值增加而高于最小數(shù)值權(quán)值,這種情況在正常編碼情況下不會(huì)發(fā)生,則檢測(cè)到算術(shù)終止條件。換言之,若編碼算術(shù)脫序符元后接有等于零的編碼最高有效比特平面值,則標(biāo)示算術(shù)終止條件。在步驟212c中執(zhí)行是否有算術(shù)終止條件的評(píng)估后,獲得較低有效比特平面,例如,如圖3中的參考數(shù)字212d所示。對(duì)每一個(gè)較低有效比特平面,解碼兩個(gè)二進(jìn)制值。二進(jìn)制值中的一者與變量a(或一頻譜值元組的第一個(gè)頻譜值)相關(guān)聯(lián),而二進(jìn)制值中的一者與變量b(或一頻譜值元組的第二個(gè)頻譜值)相關(guān)聯(lián)。較低有效比特平面的數(shù)目標(biāo)示以變量lev。在一或多個(gè)最低有效比特平面(若有的話)的解碼中,迭代重復(fù)地執(zhí)行算法212da,其中算法212da的執(zhí)行次數(shù)由變量「lev」確定。此處須注意算法212da的第一次迭代重復(fù)基于如步驟212bb中設(shè)定的變量a、b的值進(jìn)行。算法212da的更多的迭代重復(fù)基于變量a、b的已更新變量值進(jìn)行。在迭代重復(fù)開(kāi)始時(shí),選定一累積頻率表。隨后,執(zhí)行算術(shù)解碼來(lái)獲得變量r的值,其中變量r的值描述多個(gè)較低有效比特,例如,一個(gè)與變量a相關(guān)聯(lián)的較低有效比特,及一個(gè)與變量b相關(guān)聯(lián)的較低有效比特。使用函數(shù)「ARITH_DEC0DE」來(lái)獲得值r,其中累積頻率表「arith_cf_r」用于算術(shù)解碼。隨后更新變量a及b的值。為了達(dá)成此項(xiàng)目的,變量a向左移位I比特,且已移位的變量a的最低有效比特被設(shè)定成由值r的最低有效比特所定義的值。變量b向左移位I比特,且已移位的變量b的最低有效比特被設(shè)定成由變量r的比特I所定義的值,其中在變量r的二進(jìn)制表示中,變量r的比特I具有等于2的數(shù)值權(quán)值。然后重復(fù)算法412ba直至全部最低有效比特皆被解碼為止。在較低有效比特平面解碼后,更新陣列「x_ac_dec」,其中變量a、b的值被儲(chǔ)存在具有陣列索引2*i及2*i+l的陣列的表項(xiàng)(entry)中。隨后,脈絡(luò)狀態(tài)通過(guò)調(diào)用函數(shù)「arith_update_context(i,a,b)」來(lái)更新,其細(xì)節(jié)參考圖5g容后詳述。在步驟313中所執(zhí)行的脈絡(luò)狀態(tài)更新后,重復(fù)算法312及313直到運(yùn)行變量(runningvariable)i達(dá)到lg/2的值或直到檢測(cè)到算術(shù)終止條件為止。隨后,執(zhí)行結(jié)束算法「arith_finish()」,這從參考數(shù)字315可知。結(jié)束算法「arith_finish()」的細(xì)節(jié)將參考圖5m描述如下。在結(jié)束算法315之后,使用算法314來(lái)解碼頻譜值的符號(hào)。如圖可知,不等于零的頻譜值的符號(hào)被單獨(dú)編碼。在算法314中,對(duì)具有索引i介于i=0與i=lg-l之間的全部非零的頻譜值讀取符號(hào)。對(duì)具有索引i介于i=0與i=lg_l之間的每一個(gè)非零頻譜值,自比特串流讀取一個(gè)值(通常為單一比特)S。若讀取自比特串流的s的值等于1,則該頻譜值的符號(hào)反相(inverted)。為了達(dá)成此項(xiàng)目的,對(duì)陣列「x_ac_dec」作存取,這么做是為了判定具有索引i的頻譜值是否等于零,同時(shí)也是為了更新已解碼頻譜值的符號(hào)。但須注意變量a、b的符號(hào)在符號(hào)解碼314中保持不變。借由在符號(hào)解碼314之前執(zhí)行結(jié)束算法315,可以在ARITH_ST0P符元之后,重置全部需重置的頻率倉(cāng)(frequencybin)。此處須注意在若干依據(jù)本發(fā)明的實(shí)施例中,獲得較低有效比特平面值的構(gòu)想并非特別有關(guān)。在若干實(shí)施例中,甚至可刪除任何較低有效比特平面的解碼。另外,可使用不同的解碼算法來(lái)實(shí)現(xiàn)此項(xiàng)目的。11.2依據(jù)圖4的解碼順序后文中,將敘述頻譜值的解碼順序。量化頻譜系數(shù)「x_aC_deC[]」經(jīng)無(wú)噪聲編碼,且從最低頻率系數(shù)開(kāi)始,朝向最高頻率系數(shù)地傳輸(例如,在比特串流中)。結(jié)果,量化頻譜系數(shù)「X_ac_dec[]」從最低頻率系數(shù)開(kāi)始,朝向最高頻率系數(shù)而被無(wú)噪聲解碼。量化頻譜系數(shù)借兩個(gè)接續(xù)(例如,頻率相鄰的)系數(shù)a及b集合成所謂的2元組(a,b)(也標(biāo)示以{a,b})的群組而解碼。此處須注意量化頻譜系數(shù)有時(shí)也標(biāo)示以「qdec」。接著,用于頻域模式的已解碼系數(shù)「x_aC_deC口」(例如使用修正離散余弦變換獲得的用于高級(jí)音頻編碼的已解碼系數(shù),例如IS0/IEC14496部分3子部分4中所討論的)被儲(chǔ)存在陣列「x_ac_quant[g][win][sfb][bin]」中。無(wú)噪聲編碼碼字的傳輸順序使得當(dāng)它們以被接收順序解碼并儲(chǔ)存在陣列中時(shí),「bin」為最快速遞增索引,而「g」為最慢遞增索引。在碼字內(nèi)部,解碼順序?yàn)閍,b。用于變換編碼激勵(lì)(TCX)的已解碼系數(shù)「x_ac_dec[]」例如被直接儲(chǔ)存在陣列「x_tcx_invquant[win][bin]」中,且無(wú)噪聲編碼碼字的傳輸順序使得當(dāng)它們以所接收的順序解碼并儲(chǔ)存在陣列中時(shí),「bin」為最快速遞增索引,而「win」為最慢遞增索引。在碼字內(nèi)部,解碼順序?yàn)閍,b。換言之,若頻譜值描述語(yǔ)音編碼器的線性預(yù)測(cè)濾波器的變換編碼激勵(lì),則頻譜值a、b與變換編碼激勵(lì)的相鄰且遞增頻率相關(guān)聯(lián)。與較低頻率相關(guān)聯(lián)的頻譜系數(shù)通常在與較高頻率相關(guān)聯(lián)的頻譜系數(shù)之前編碼與解碼。顯而易見(jiàn)地,音頻解碼器200可被配置成應(yīng)用由算術(shù)解碼器230所提供的已解碼頻域表示232,用于使用頻域至?xí)r域信號(hào)變換「直接」產(chǎn)生時(shí)域音頻信號(hào)表示,及用于使用頻域至?xí)r域解碼器及借頻域至?xí)r域信號(hào)變換器的輸出所激勵(lì)的線性預(yù)測(cè)濾波器來(lái)「間接」提供時(shí)域音頻信號(hào)表示。換言之,此處詳細(xì)討論其功能的算術(shù)解碼器極為適合用以解碼在頻域中編碼的音頻內(nèi)容的時(shí)頻域表示的頻譜值,以及用以提供用于線性預(yù)測(cè)濾波器的一激勵(lì)信號(hào)的時(shí)頻域表示,該濾波器適用于解碼(或合成)在線性預(yù)測(cè)域中編碼的語(yǔ)音信號(hào)。如此,算術(shù)解碼器極為適合用于音頻解碼器,其能夠處理頻域編碼音頻內(nèi)容及線性預(yù)測(cè)頻域編碼音頻內(nèi)容(變換編碼激勵(lì)-線性預(yù)測(cè)域模式)。11.3依據(jù)圖5a及5b的脈絡(luò)初始化后文中,將敘述在步驟310中所執(zhí)行的脈絡(luò)初始化(也稱為「脈絡(luò)映射」)。脈絡(luò)初始化包含依據(jù)算法「arith_map_contextOJ在過(guò)去脈絡(luò)與當(dāng)前脈絡(luò)間的映射,圖5a顯示算法的第一實(shí)例,且圖5b顯示算法的第二實(shí)例。如圖可知,當(dāng)前脈絡(luò)被儲(chǔ)存在全局變量(globalvariable)「q[2][n_context]」中,其呈具有第一維為2而第二維為「n_context」的陣列形式。過(guò)去脈絡(luò)可選擇性地(但不一定)儲(chǔ)存在變量「qs[n_context]」中,其呈具有一維「n_context」(若使用的話)的表的形式。參考圖5a中的實(shí)例算法「arith_map_context」,輸入變量N描述一當(dāng)前窗的長(zhǎng)度,且輸入變量「arith_reset_flag」指示脈絡(luò)是否應(yīng)重置。此外,全局變量「previous_N」描述前一窗的長(zhǎng)度。此處須注意通常,就時(shí)域樣本而言,與一窗相關(guān)聯(lián)的頻譜值數(shù)目至少約等于該窗長(zhǎng)度的一半。此外,須注意就時(shí)域樣本而言,頻譜值的2元組數(shù)目至少約等于該窗長(zhǎng)度的四分之一。參考圖5a的實(shí)例,脈絡(luò)的映射可依據(jù)算法「arith_map_contextO」執(zhí)行。此處須注意若旗標(biāo)「arith_reset_flag」為作動(dòng)的(active)并因此指示脈絡(luò)須被重置,則對(duì)j=O至j=1^/4-1,函數(shù)「31';[1:11_1]^口_(301^611:()」設(shè)定當(dāng)前脈絡(luò)陣列q的表項(xiàng)「q[j]」為零。否則,換言之,若旗標(biāo)「arith_reset_flag」為非作動(dòng)的(inactive),則當(dāng)前脈絡(luò)陣列q的表項(xiàng)「q[j]」從當(dāng)前脈絡(luò)陣列q的表項(xiàng)「q[l][k]」導(dǎo)算出。須注意若與當(dāng)前(例如,頻域編碼的)音頻幀相關(guān)聯(lián)的頻譜值數(shù)目等同于與前一音頻幀相關(guān)聯(lián)的頻譜值數(shù)目,則對(duì)j=k=0至j=k=N/4_l,依據(jù)圖5a的函數(shù)「arith_map_contextO」設(shè)置當(dāng)前脈絡(luò)陣列q的表項(xiàng)「q[j]J為當(dāng)前脈絡(luò)陣列q的值「q[l][k]」。當(dāng)與當(dāng)前音頻幀相關(guān)聯(lián)的頻譜值數(shù)目和與前一音頻幀相關(guān)聯(lián)的頻譜值數(shù)目不同時(shí),執(zhí)行更復(fù)雜的映射。但在這種情況下有關(guān)映射的細(xì)節(jié)與本發(fā)明的關(guān)鍵構(gòu)想并無(wú)特殊關(guān)聯(lián),因此相關(guān)細(xì)節(jié)可參考圖5a的偽程序碼。此外,數(shù)值當(dāng)前脈絡(luò)值c的初始化值由函數(shù)「arith_map_context()」回送。此初始化值例如等于表項(xiàng)k[O]」的值向左移位12比特。據(jù)此,數(shù)值(當(dāng)前)脈絡(luò)值c被正確初始化用于迭代重復(fù)更新。此外,圖5b顯示可做為選擇使用的算法「arith_map_contextO」的另一實(shí)例。詳情請(qǐng)參考圖5b的偽程序碼。綜上所述,旗標(biāo)「arith_reset_flag」判定脈絡(luò)是否須重置。若旗標(biāo)為真,則調(diào)用算法「arith_map_contextO」的一重置子算法500a。但另外,若旗標(biāo)「arith_reset_flag」為非作動(dòng)的(其指出無(wú)需執(zhí)行脈絡(luò)的重置),則解碼程序從初始化階段開(kāi)始,此處脈絡(luò)元素向量(或陣列)q借由將儲(chǔ)存在q[l][]中的前一幀的脈絡(luò)元素拷貝并映射至q[]而更新。q內(nèi)部的脈絡(luò)元素以每2元組4-比特儲(chǔ)存。脈絡(luò)元素的拷貝及/或映射在子算法500b中執(zhí)行。在圖5b的實(shí)例中,解碼程序從初始化階段開(kāi)始,此處映射在儲(chǔ)存在qs中的已保存的過(guò)去脈絡(luò)與當(dāng)前巾貞脈絡(luò)q之間進(jìn)行。過(guò)去脈絡(luò)qs以每一頻率線(frequencyline)2_比特儲(chǔ)存。11.4依據(jù)圖5c及5d的狀態(tài)值運(yùn)算后文中,將更詳細(xì)地?cái)⑹鰻顟B(tài)值運(yùn)算312a。第一種實(shí)例算法將參考圖5c說(shuō)明,而第二種實(shí)例算法將參考圖5d說(shuō)明。須注意數(shù)值當(dāng)前脈絡(luò)值c(如圖3所示)可作為函數(shù)「arith_get_context(c,i,N)」的回送值而獲得,圖5c顯示函數(shù)的偽程序碼表示。但另外,數(shù)值當(dāng)前脈絡(luò)值c可作為函數(shù)「arith_get_context(c,i)」的回送值而獲得,圖5d顯示函數(shù)的偽程序碼表不。有關(guān)狀態(tài)值的運(yùn)算,也參考圖4,該圖顯示用于狀態(tài)評(píng)估的脈絡(luò),亦即用于數(shù)值當(dāng)前脈絡(luò)值c的運(yùn)算。圖4顯示頻譜值在時(shí)間及頻率二方面的二維表示。橫座標(biāo)410描述時(shí)間,且縱座標(biāo)412描述頻率。如圖4可知,欲解碼的頻譜值元組420(較佳地使用數(shù)值當(dāng)前脈絡(luò)值)與時(shí)間索引t0及頻率索引i相關(guān)聯(lián)。如圖可知,對(duì)時(shí)間索引t0,具有頻率索引i-1、i-2及i-3的元組在具有頻率索引i的元組120的頻譜值欲解碼時(shí)已經(jīng)解碼。如圖4可知,具有時(shí)間索引t0及頻率索引i-Ι的頻譜值430在頻譜值元組420解碼之前已經(jīng)解碼,且考慮將頻譜值元組430用于用以解碼頻譜值元組420的脈絡(luò)。同理,具有時(shí)間索引tO-Ι及頻率索引i-Ι的頻譜值440、具有時(shí)間索引tO-Ι及頻率索引i的頻譜值450,及具有時(shí)間索引to-l及頻率索引i+1的頻譜值460在頻譜值元組420解碼之前已經(jīng)解碼,且考慮將其用于確定用以解碼頻譜值元組420的脈絡(luò)。在頻譜值元組420解碼時(shí)已經(jīng)解碼且考慮用于脈絡(luò)的頻譜值(系數(shù))以影線方塊顯示。相反地,已經(jīng)解碼(在元組420的頻譜值被解碼時(shí))但未考慮用于脈絡(luò)(用于解碼元組420的頻譜值)的若干其它頻譜值以虛線的方塊顯示,而其它頻譜值(當(dāng)元組420的頻譜值解碼時(shí)尚未被解碼)以虛線的圓顯示。借虛線的方塊表示的元組及借虛線的圓表示的元組并未用于確定用以解碼元組420的頻譜值的脈絡(luò)。然而須注意,仍可評(píng)估未用于用以解碼元組420的頻譜值的脈絡(luò)的「常規(guī)」或「正?!惯\(yùn)算的那些頻譜值中的某些頻譜值,以檢測(cè)多個(gè)先前已解碼的相鄰頻譜值,所述頻譜值單獨(dú)或一起滿足有關(guān)它們的幅度的預(yù)定條件。有關(guān)此議題的細(xì)節(jié)容后詳述?,F(xiàn)在參考圖5c,將描述算法「arith_get_context(c,i,N)」的細(xì)節(jié)。圖5c以偽程序碼形式顯示該函數(shù)「arith_get_context(c,i,N)」的功能,其使用眾所周知的C語(yǔ)言及/或C++語(yǔ)言協(xié)定。如此,將敘述有關(guān)計(jì)算由函數(shù)「arith_get_context(c,i,N)」所執(zhí)行的數(shù)值當(dāng)前脈絡(luò)值「C」的更多細(xì)節(jié)。須注意函數(shù)「arith_get_context(c,i,N)」接收可由數(shù)值先前脈絡(luò)值c所描述的「舊狀態(tài)脈絡(luò)」作為輸入變量。函數(shù)「arith_get_context(c,i,N)」也接收欲解碼頻譜值2元組的索引i作為輸入變量。索引i通常為頻率索引。輸入變量N描述欲解碼頻譜值的一窗的窗長(zhǎng)度。函數(shù)「arith_get_context(c,i,N)」提供輸入變量c的更新版本作為輸出值,該輸出值描述更新的狀態(tài)脈絡(luò),且可被視為數(shù)值當(dāng)前脈絡(luò)值。概括而言,函數(shù)「arith_get_context(c,i,N)」接收數(shù)值先前脈絡(luò)值c作為輸入變量,及提供其更新版本,其被視為數(shù)值當(dāng)前脈絡(luò)值。此外,函數(shù)「arith_get_context」考慮變量i、N,也存取「全局」陣列q[][]。有關(guān)函數(shù)「arith_get_context(c,i,N)」的細(xì)節(jié),須注意最初以二進(jìn)制形式表示數(shù)值先前脈絡(luò)值的變量c在步驟504a中向右移位4-比特。據(jù)此,舍棄數(shù)值先前脈絡(luò)值(以輸入變量c表示)的四個(gè)最低有效比特。而且,數(shù)值先前脈絡(luò)值的其它比特的數(shù)值權(quán)值降低了,例如16倍。此外,若2元組的索引i小于N/4-1,亦即不取最大值,則數(shù)值當(dāng)前脈絡(luò)值經(jīng)修改,表項(xiàng)q[i+1]的值加至步驟504a中所得的已移位脈絡(luò)值的比特12至15(亦即加至具有212、213、214及215數(shù)值權(quán)值的比特)。為了達(dá)成此項(xiàng)目的,陣列q□口的表項(xiàng)q[i+l](或更精確地說(shuō),該表項(xiàng)所表示的值的二進(jìn)制表示)向左移位12-比特。然后,表項(xiàng)q[i+l]所表示的值的移位版本加至在步驟504a中導(dǎo)算出的脈絡(luò)值C,亦即加至數(shù)值先前脈絡(luò)值的經(jīng)比特移位的(向右移位4-比特)數(shù)字表示。此處須注意陣列q[][]的表項(xiàng)q[i+1]表示與音頻內(nèi)容的一先前部分(例如,參考圖4定義的具有時(shí)間索引tO-Ι的音頻內(nèi)容的一部分)相關(guān)聯(lián)的一子區(qū)值,及具有比當(dāng)前欲解碼頻譜值元組(使用由函數(shù)「arith_get_context(c,i,N)」所輸出的數(shù)值當(dāng)前脈絡(luò)值c)更高的頻率(例如,如參考圖4定義的具有頻率索引i+Ι的頻率)。換言之,如果頻譜值元組420欲使用數(shù)值當(dāng)前脈絡(luò)值來(lái)解碼,那么表項(xiàng)q[i+1]可以以先前已解碼的頻譜值元組460為基礎(chǔ)。陣列q[][]的表項(xiàng)q[i+1](向左移位12-比特)的選擇性加法以參考符數(shù)字504b顯示。如圖可知,表項(xiàng)q[i+1]所表示的值的加法當(dāng)然唯有在頻率索引i并未標(biāo)示具有最高頻率索引i=N/4_l的頻譜值元組時(shí)執(zhí)行。隨后,在步驟504c中,執(zhí)行布爾與運(yùn)算,其中變量c的值與十六進(jìn)制值OxFFFO借與(AND)組合來(lái)獲得變量c的更新值。借由執(zhí)行這種與運(yùn)算,變量c的四個(gè)最低有效比特被有效地設(shè)定為零。在步驟504d中,表項(xiàng)q[l][i-Ι]的值加至在步驟504c中所得的變量c的值,借此更新變量c的值。但步驟504d中的變量c的更新唯有在欲解碼的2元組的頻率索引i大于零時(shí)才執(zhí)行。須注意對(duì)小于欲使用數(shù)值當(dāng)前脈絡(luò)值來(lái)解碼的頻譜值的頻率的頻率,表項(xiàng)q[l][i-Ι]為基于音頻內(nèi)容的當(dāng)前部分的先前已解碼頻譜值的元組的一脈絡(luò)子區(qū)值。例如,當(dāng)假設(shè)頻譜值元組420欲使用由當(dāng)前執(zhí)行函數(shù)「arith_get_context(c,i,N)」而回送的數(shù)值當(dāng)前脈絡(luò)值來(lái)解碼時(shí),陣列q[][]的表項(xiàng)q[l][i-Ι]可能與具有時(shí)間索引t0及頻率索引i-Ι的元組430相關(guān)聯(lián)。綜上所述,數(shù)值先前脈絡(luò)值的比特0、1、2及3(亦即四個(gè)最低有效比特的一部分)在步驟504a中借由將它們移位出數(shù)值先前脈絡(luò)值的二進(jìn)制數(shù)字表示而被舍棄。此外,移位的變量c(亦即移位的數(shù)值先前脈絡(luò)值)的比特12、13、14及15在步驟504b中被設(shè)定為取由脈絡(luò)子區(qū)值q[i+Ι]所定義的值。移位的數(shù)值先前脈絡(luò)值的比特0、1、2及3(亦即原始數(shù)值先前脈絡(luò)值的比特4、5、6及7)在步驟504c及504d中由脈絡(luò)子區(qū)值q[l][i-Ι]所覆寫(xiě)(overwrite)。因此,可以講,數(shù)值先前脈絡(luò)值的比特O至3表示與頻譜值元組432相關(guān)聯(lián)的脈絡(luò)子區(qū)值,數(shù)值先前脈絡(luò)值的比特4至7表示與先前已解碼頻譜值元組434相關(guān)聯(lián)的脈絡(luò)子區(qū)值,數(shù)值先前脈絡(luò)值的比特8至11表示與先前已解碼頻譜值元組440相關(guān)聯(lián)的脈絡(luò)子區(qū)值,且數(shù)值先前脈絡(luò)值的比特12至15表示與先前已解碼頻譜值元組450相關(guān)聯(lián)的脈絡(luò)子區(qū)值。輸入到函數(shù)「arith_get_context(c,i,N)」中的數(shù)值先前脈絡(luò)值與頻譜值元組430的解碼相關(guān)聯(lián)。作為函數(shù)「arith_get_context(c,i,N)」的輸出變量而獲得的數(shù)值當(dāng)前脈絡(luò)值與頻譜值元組420的解碼相關(guān)聯(lián)。據(jù)此,數(shù)值當(dāng)前脈絡(luò)值的比特O至3描述與頻譜值元組430相關(guān)聯(lián)的脈絡(luò)子區(qū)值,數(shù)值當(dāng)前脈絡(luò)值的比特4至7描述與頻譜值元組440相關(guān)聯(lián)的脈絡(luò)子區(qū)值,數(shù)值當(dāng)前脈絡(luò)值的比特8至11描述與頻譜值元組450相關(guān)聯(lián)的脈絡(luò)子區(qū)值,且數(shù)值當(dāng)前脈絡(luò)值的比特12至15描述與頻譜值元組460相關(guān)聯(lián)的脈絡(luò)子區(qū)值。如此,可知數(shù)值先前脈絡(luò)值的一部分,亦即數(shù)值先前脈絡(luò)值的比特8至15也含括在數(shù)值當(dāng)前脈絡(luò)值中作為數(shù)值當(dāng)前脈絡(luò)值的比特4至11。相反地,當(dāng)從數(shù)值先前脈絡(luò)值的數(shù)字表示導(dǎo)算數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示時(shí),當(dāng)前的數(shù)值先前脈絡(luò)值的比特O至7被舍棄。在步驟504e中,當(dāng)欲解碼2元組的頻率索引i大于一預(yù)定數(shù)字,例如大于3時(shí),表示數(shù)值當(dāng)前脈絡(luò)值的變量c被選擇性地更新。在這種情況下,亦即若i大于3,則判定脈絡(luò)子區(qū)值q[l][i-3]、q[l][i_2]與q[l][i_l]的和是否小于(或等于)一個(gè)預(yù)定值,例如5。若發(fā)現(xiàn)所述脈絡(luò)子區(qū)值的和小于該預(yù)定值,則一個(gè)十六進(jìn)制值,例如,0x10000,加至變量C。據(jù)此,變量c被設(shè)定,使得變量c指出是否有脈絡(luò)子區(qū)值q[l][i-3]、q[l][i_2]與q[l][i-Ι]組成一特別小的累加值的情況。例如,數(shù)值當(dāng)前脈絡(luò)值的比特16可用作指出這種情況的旗標(biāo)??偨Y(jié)而言,函數(shù)「arith_get_context(c,i,N)」的回送值由步驟504a、504b、504c、504d及504e確定,此處數(shù)值當(dāng)前脈絡(luò)值在步驟504a、504b、504c及504d中從數(shù)值先前脈絡(luò)值導(dǎo)算出,且其中指示先前已解碼的頻譜值通常具有特別小的絕對(duì)值的環(huán)境的一旗標(biāo)在步驟504e中導(dǎo)算出并加至變量C。如此,若在步驟504e中評(píng)估的條件未滿足,則步驟504a、504b、504c、504d所得變量c的值在步驟504f中回送作為函數(shù)「arith_get_context(c,i,N)」的回送值。相反地,若在步驟504e中評(píng)估的條件得到滿足,貝U在步驟504e中,在步驟504a、504b、504c及504d中所導(dǎo)算出的變量c的值增加Ox10000的十六進(jìn)制值且回送此增量運(yùn)算的結(jié)果。綜上所述,須注意無(wú)噪聲解碼器輸出無(wú)符號(hào)的量化頻譜系數(shù)的2元組(容后詳述)。首先,脈絡(luò)狀態(tài)c基于「環(huán)繞」欲解碼2元組的先前已解碼的頻譜系數(shù)而被算出。在一較佳實(shí)施例中,狀態(tài)(例如,由數(shù)值脈絡(luò)值表示)使用最后一個(gè)解碼的2元組(被稱為數(shù)值先前脈絡(luò)值)的脈絡(luò)狀態(tài)遞增地更新,只考慮兩個(gè)新的2元組(例如,2元組430及460)。狀態(tài)以17-比特編碼(例如,使用數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示)且由函數(shù)「arith_get_contextO」回送。詳情請(qǐng)參考圖5c的程序碼表示。此外,須注意圖5d顯示函數(shù)「arith_get_contextO」的一替代實(shí)施例的偽程序碼。依據(jù)圖5d的函數(shù)「arith_get_context(c,i)」類(lèi)似于依據(jù)圖5c的函數(shù)「arith_get_context(c,i,N)」。但依據(jù)圖5d的函數(shù)Γarith_get_context(c,i)J并不包括對(duì)包含最小頻率索引i=0或最大頻率索引i=N/4-l的頻譜值元組的特殊處理或解碼。11.5映射規(guī)則選擇后文中,將描述映射規(guī)則,例如描述碼字值至符元碼的映射的累積頻率表的選擇。映射規(guī)則的選擇依據(jù)由數(shù)值當(dāng)前脈絡(luò)值c所描述的脈絡(luò)狀態(tài)而進(jìn)行。11.5.I使用依據(jù)圖5e的算法的映射規(guī)則選擇后文中,將描述使用函數(shù)「arith_get_pk(c)」的映射規(guī)則的選擇。須注意函數(shù)「arith_get_pk()」在子算法312ba開(kāi)始時(shí)解碼碼值「acod_m」用以提供一頻譜值元組時(shí)被調(diào)用。須注意函數(shù)「arith_get_pk(C)」在算法312b的不同迭代重復(fù)時(shí)以不同參數(shù)(argument)調(diào)用。例如,在算法312b的第一次迭代重復(fù)中,函數(shù)「arith_get_pk(c)」以等于先前在步驟312a中執(zhí)行函數(shù)「arith_get_context(c,i,N)」時(shí)所提供的數(shù)值當(dāng)前脈絡(luò)值c的參數(shù)被調(diào)用。相反地,在子算法312ba的更多的迭代重復(fù)中,函數(shù)「arith_get_pk(c)」的調(diào)用參數(shù)為由函數(shù)「arith_get_context(c,i,N)」在步驟312a中所提供的數(shù)值當(dāng)前脈絡(luò)值c,及變量「esc_nb」的值的經(jīng)比特移位版本的和,其中變量「esc_nb」的值向左移位17-比特。因此,在算法312ba的第一次迭代重復(fù)時(shí),亦即在解碼相對(duì)較小頻譜值時(shí),由函數(shù)「arith_get_context(c,i,N)」所提供的數(shù)值當(dāng)前脈絡(luò)值c用作函數(shù)「arith_get_pkO」的輸入值。相反地,在解碼相對(duì)較大頻譜值時(shí),函數(shù)「arith_get_pk()」的輸入變量經(jīng)修改,將變量「esc_nb」的值列入考慮,如圖3中所示?,F(xiàn)在參考圖5e,此圖顯示函數(shù)「arith_get_pk(c)」的第一個(gè)實(shí)施例的偽程序碼表示,須注意函數(shù)「arith_get_pk()」接收變量c作為輸入值,其中變量c描述脈絡(luò)狀態(tài),且其中至少在某些情況下,函數(shù)「arith_get_pk()」的輸入變量c等于由函數(shù)「arith_get_contextO」作為回送變量所提供的數(shù)值當(dāng)前脈絡(luò)值。此外,須注意函數(shù)「arith_get_pk()」以輸出變量形式提供變量「pki」,其描述概率模型的索引且可被認(rèn)為是映射規(guī)則索引值。參考圖5e,可知函數(shù)「arith_get_pkO」包含變量初始化506a,其中變量「i_min」被初始化為取-I的值。類(lèi)似地,變量i被設(shè)定為等于變量「i_min」,使得變量i也被初始化為值-I。變量「i_rnaxj被初始化為具有比表「ari_lookup_m[]」的表項(xiàng)數(shù)目小I的值(其細(xì)節(jié)將參考圖21(I)及21⑵作說(shuō)明)。據(jù)此,變量「i_min」與「i_max」界定出一個(gè)區(qū)間。隨后,執(zhí)行搜尋506b來(lái)識(shí)別標(biāo)示表「ari_hash_m」的一表項(xiàng)的索引值,使得函數(shù)「arith_get_pk()」的輸入變量c的值位于由所述表項(xiàng)與一相鄰表項(xiàng)所界定的一區(qū)間內(nèi)。在搜尋506b中,當(dāng)變量「i_max」與「i_min」之間的差大于I時(shí)重復(fù)子算法506ba。在子算法506ba中,變量i被設(shè)定為等于變量「i_min」與「i_max」的值的算術(shù)平均。結(jié)果,變量i標(biāo)示在由變量「i_minj與「i_max」的值所界定的一表區(qū)間中間的表「ari_hash_m[]」的一表項(xiàng)。隨后,變量j被設(shè)定為等于表「ari_hash_m[]」的表項(xiàng)「ari_hash_m[i]」的值。因此,變量j具有由表「ari_hash_m[]」的一表項(xiàng)所定義的值,該表項(xiàng)位于由變量「i_min」與「i_max」的值所界定的一表區(qū)間的中間。隨后,若函數(shù)「arith_get_pk()」的輸入變量c的值與由表「ari_hash_m[]」的表項(xiàng)「j=ari_hash_m[i]」的最高比特所定義的狀態(tài)值相異,則更新由變量「i_min」與「i_max」所界定的區(qū)間。例如,表「ari_hash_m[]」的表項(xiàng)的「較高比特」(比特8及以上)描述有效狀態(tài)值。據(jù)此,值「j>>8」描述由散列表索引值i標(biāo)示的表「ari_hash_m[]」的表項(xiàng)「j=ari_hash_m[i]」所表示的一有效狀態(tài)值。如此,若變量c的值小于值「j>>8」,則這意味著由變量c所描述的狀態(tài)值小于由表「ari_hash_m[]」的表項(xiàng)「ari_hash_m[i]」所描述的一有效狀態(tài)值。在這種情況下,變量「i_max」的值被設(shè)定為等于變量i的值,而這又具有使得由「i_min」與「i_max」所界定的區(qū)間的大小縮小的效果,其中新區(qū)間大約等于前一個(gè)區(qū)間的下半部(lowerhalf)。若發(fā)現(xiàn)函數(shù)「arith_get_pkO」的輸入變量c大于值「j>>8」,這意味著變量c所描述的脈絡(luò)值大于由陣列「ari_hash_m[]」的表項(xiàng)「ari_hash_m[i]」所描述的一有效狀態(tài)值,則變量「i_min」的值被設(shè)定為等于變量i的值。如此,由變量「i_min」與「i_max」的值所界定的區(qū)間的大小縮小至約為由變量「i_min」與「i_max」的先前值所界定的前一個(gè)區(qū)間的大小的一半。更精確地說(shuō),在變量c的值大于由表項(xiàng)「ari_hash_m[i]」所定義的有效狀態(tài)值的情況下,由更新的變量「i_min」的值與由變量「i_max」的先前(未改變的)值所界定的區(qū)間約等于前一個(gè)區(qū)間的上半部(upperhalf)。但若發(fā)現(xiàn)由算法「arith_get_pk()」的輸入變量c所描述的脈絡(luò)值等于由表項(xiàng)「ari_hash_m[i]」所定義的有效狀態(tài)值(亦即c==(j>>8)),則回送由表項(xiàng)「ari_hash_m[i]」的最低8-比特所定義的映射規(guī)則索引值作為函數(shù)「arith_get_pk()」的回送值(指令「return(回送)(j&OxFF)J)。綜上所述,表項(xiàng)「ari_hash_m[i]」,其最高比特(比特8及以上)描述有效狀態(tài)值,在每一次迭代重復(fù)506ba中評(píng)估,且由函數(shù)「arith_get_pk()」的輸入變量c所描述的脈絡(luò)值(或數(shù)值當(dāng)前脈絡(luò)值)與由該表項(xiàng)「ari_hash_m[i]」所描述的有效狀態(tài)值作比較。若由輸入變量c所表不的脈絡(luò)值小于由表項(xiàng)「ari_hash_m[i]」所表不的有效狀態(tài)值,貝Ij表區(qū)間的上邊界(由值「i_max」所描述)縮小,且若由輸入變量c所描述的脈絡(luò)值大于由表項(xiàng)「ari_hash_m[i]」所描述的有效狀態(tài)值,則表區(qū)間的下邊界(由變量「i_min」的值所描述)增加。在所述這兩種情況下,除非區(qū)間(由「i_max」與「i_min」間的差所界定)大小小于或等于1,否則重復(fù)子算法506ba。相反地,若由輸入變量c所描述的脈絡(luò)值等于由表項(xiàng)「ari_hash_m[i]」所描述的有效狀態(tài)值,貝U函數(shù)「arith_get_pkO」被舍棄,其中回送值由表項(xiàng)「ari_hash_m[i]」的最低8_比特所界定。但若因區(qū)間大小達(dá)到其最小值(「i_max」-「i_min」小于或等于I)而結(jié)束搜尋506b,則函數(shù)「arith_get_pk()」的回送值借表「ari_lookup_m[]」的一表項(xiàng)「ari_lookup_m[i_max]」確定,這從參考數(shù)字506c可知。據(jù)此,表「ari_hash_m[]」的表項(xiàng)定義有效狀態(tài)值及區(qū)間邊界。在子算法506ba中,搜尋區(qū)間邊界「i_min」與「i_max」迭代重復(fù)地調(diào)整,使得表「ari_hash_m[]」的表項(xiàng)「ari_hash_m[i]」至少近似由輸入變量c所描述的脈絡(luò)值,其中「ari_hash_m[i]」的散列表索引i至少約略位于由區(qū)間邊界值「i_min」與「i_max」所界定的搜尋區(qū)間的中心。因此,除非由輸入變量c所描述的脈絡(luò)值等于由表「ari_hash_m[]」的一表項(xiàng)所描述的有效狀態(tài)值,否則如此達(dá)成,在子算法506ba的迭代重復(fù)完成后,由輸入變量c所描述的脈絡(luò)值位于由「ari_hash_m[i_min]」與「ari_hash_m[i_max]」所界定的區(qū)間內(nèi)部。但若因區(qū)間大小(由「i_max_i_min」定義)達(dá)到或超過(guò)其最小值而結(jié)束子算法506ba的迭代重復(fù),則假設(shè)由輸入變量c所描述的脈絡(luò)值并非一有效狀態(tài)值。在這種情況下,仍然使用標(biāo)示區(qū)間上邊界的索引「i_max」。子算法506ba的最后一次迭代重復(fù)所達(dá)到的區(qū)間上限值「i_max」再度用作存取表「ari_lookup_m」的表索引值。表「ari_lookup_m[]」描述與多個(gè)相鄰數(shù)值脈絡(luò)值所形成的區(qū)間相關(guān)聯(lián)的映射規(guī)則索引值。與由表「ari_lookup_m[]」的表項(xiàng)所描述的映射規(guī)則索引值相關(guān)聯(lián)的區(qū)間借由表「ari_hash_m[]」的表項(xiàng)所描述的有效狀態(tài)值來(lái)定義。表「ari_hash_m[]」的表項(xiàng)定義有效狀態(tài)值及相鄰數(shù)值脈絡(luò)值的區(qū)間的區(qū)間邊界。在執(zhí)行算法506b時(shí),判定由輸入變量c所描述的數(shù)值脈絡(luò)值是否等于有效狀態(tài)值,且若并非此種情況,則判定由輸入變量c所描述的脈絡(luò)值位于數(shù)值脈絡(luò)值的哪一個(gè)區(qū)間(從多個(gè)區(qū)間中選出,所述區(qū)間的邊界由有效狀態(tài)值定義)。因此,算法506b滿足雙重功能判定輸入變量c是否描述有效狀態(tài)值,且若不是這樣,則識(shí)別由輸入變量c所表示的脈絡(luò)值所在的且由有效狀態(tài)值確定界限的一區(qū)間。因此,算法506e特別有效率且只需要相對(duì)較少次的表存取。綜上所述,脈絡(luò)狀態(tài)c確定用來(lái)解碼最聞?dòng)行е?_比特平面m的累積頻率表。如同函數(shù)「arith_get_pk()」執(zhí)行的從c至相對(duì)應(yīng)的累積頻率表索引「pki」的映射。該函數(shù)「arith_get_pk()」的偽程序碼表示已經(jīng)參考圖5e說(shuō)明過(guò)。進(jìn)一步概括上述,值m使用調(diào)用累積頻率表「arith_cf_m[pki][]」的函數(shù)「arith_decodeO」(在下文中更加詳細(xì)地加以描述)而被解碼,此處「pki」對(duì)應(yīng)于函數(shù)「arith_get_PkO」所回送的索引(也稱為映射規(guī)則索引值),函數(shù)「arith_get_pk()」參考圖5e做了描述。11.5.2使用依據(jù)圖5f的算法的映射規(guī)則選擇后文中,將參考圖5f敘述映射規(guī)則選擇算法「arith_get_pkO」的另一實(shí)施例,該圖顯示這種算法的偽程序碼表示,其可用于解碼一頻譜值元組。依據(jù)圖5f的算法可被視為算法「get_pkO」或算法「arith_get_pkO」的優(yōu)化版本(例如,速度優(yōu)化版本)。依據(jù)圖5f的算法「arith_get_pk()」接收描述脈絡(luò)狀態(tài)的變量c作為輸入變量。輸入變量c例如可表示數(shù)值當(dāng)前脈絡(luò)值。算法「arith_get_pk()」提供變量「pki」作為輸出變量,該變量描述與由輸入變量c所描述的脈絡(luò)狀態(tài)相關(guān)聯(lián)的概率分布(或概率模型)索引。變量「pki」可以是,例如,映射規(guī)則索引值。依據(jù)圖5f的算法包含陣列「i_diff[]」內(nèi)容的定義。如圖可知,陣列「i_diff[]」的第一個(gè)表項(xiàng)(具有陣列索引O)等于299,而其它陣列表項(xiàng)(具有陣列索引I至8)取149、74、37、18、9、4、2及I的值。據(jù)此,用于選擇散列表索引值「i_min」的步進(jìn)大小(stepsize)隨著每一次迭代重復(fù)而縮小,原因在于陣列「i_diff[]」的表項(xiàng)定義所述步進(jìn)大小。詳情請(qǐng)參照下文的討論。但實(shí)際上可選擇不同步進(jìn)大小,例如陣列「i_diff[]」的不同內(nèi)容,其中陣列「i_diff[]J的內(nèi)容自然可經(jīng)調(diào)整而適應(yīng)散列表「ari_hash_m[i]」的大小。須注意恰在算法「arith_get_pk()」開(kāi)始時(shí),變量「i_min」被初始化為取O值。在初始化步驟508a中,變量s依據(jù)輸入變量c而初始化,其中變量c的數(shù)字表示向左移位8比特以獲得變量s的數(shù)字表示。隨后,執(zhí)行表搜尋508b,以識(shí)別散列表「ari_hash_m[]」的一表項(xiàng)的散列表索引值「i_min」,使得由脈絡(luò)值c所描述的脈絡(luò)值位于由散列表表項(xiàng)「ari_hash_m[i_min]」所描述的脈絡(luò)值與另一散列表表項(xiàng)「ari_hash_m」所描述的脈絡(luò)值確定界限的一區(qū)間內(nèi),該另一表項(xiàng)「ari_hash_m」相鄰于(就其散列表索引值而言)散列表表項(xiàng)「ari_hash_m[i_min]」。因此,算法508b允許確定標(biāo)示散列表「ari_hash_m[]」的一表項(xiàng)「j=ari_hash_m[i_min]」的散列表索引值「i_min」,使得散列表表項(xiàng)「ari_hash_m[i_min]」至少近似于由輸入變量c所描述的脈絡(luò)值。表搜尋508b包含子算法508ba的迭代重復(fù)執(zhí)行,其中子算法508ba被執(zhí)行預(yù)定次數(shù),例如9次迭代重復(fù)。在子算法508ba的第一步驟中,變量i被設(shè)定為等于變量「i_min」的值與表項(xiàng)「i_diff[k]」的值的和。此處須注意k為運(yùn)行變量(runningvariable),其針對(duì)子算法508ba的每一次迭代重復(fù),從k=0的初值開(kāi)始遞增。陣列「i_diff[]」定義預(yù)定增加值,其中增加值隨表索引k的增加,亦即隨迭代重復(fù)次數(shù)的增加而減小。在子算法508ba的第二步驟中,表項(xiàng)「ari_hash_m[]」的值被拷貝到變量j中。較佳地,表「ari_hash_m[]」的表項(xiàng)的最高比特描述數(shù)值脈絡(luò)值的有效狀態(tài)值,且表「ari_hash_m[]」的表項(xiàng)的最低比特(比特O至7)描述與各自的有效狀態(tài)值相關(guān)聯(lián)的映射規(guī)則索引值。在子算法508ba的第三步驟中,變量S的值與變量j的值作比較,且當(dāng)變量s的值大于變量j的值時(shí),變量「i_min」被選擇性地設(shè)定為值「i+Ι」。隨后,子算法508ba的第一步驟、第二步驟,及第三步驟重復(fù)預(yù)定次數(shù),例如九次。因此,在每次執(zhí)行子算法508ba時(shí),當(dāng)且僅當(dāng)由當(dāng)前有效散列表索引i_min+i_diff[]所描述的脈絡(luò)值小于由輸入變量c所描述的脈絡(luò)值時(shí),變量「i_min」的值增加i_diff[]+l。據(jù)此,在每次執(zhí)行子算法508ba時(shí),當(dāng)(且僅當(dāng))由輸入變量c且因此由變量s所描述的脈絡(luò)值大于由表項(xiàng)「ari_hash_m[i=i_min+diff[k]]」所描述的脈絡(luò)值時(shí),散列表索引值「i_min」(迭代重復(fù)地)增加。此外,須注意在每次執(zhí)行子算法508ba時(shí),只執(zhí)行單次比較,亦即關(guān)于變量s的值是否大于變量j的值的比較。據(jù)此,算法508ba的運(yùn)算特別地有效率。此外,須注意就變量「i_min」的終值而言,有不同的可能結(jié)果。例如,在最后一次執(zhí)行子算法512ba后,變量「i_min」的值可能使得由表項(xiàng)「ari_hash_m[i_min]」所描述的脈絡(luò)值小于由輸入變量c所描述的脈絡(luò)值,且由表項(xiàng)「ari_hash_m[i_min+l]」所描述的脈絡(luò)值大于由輸入變量c所描述的脈絡(luò)值。另外,可能在最后一次執(zhí)行子算法508ba后,由散列表表項(xiàng)「ari_hash_m[i_min-1]J所描述的脈絡(luò)值小于由輸入變量c所描述的脈絡(luò)值,且由表項(xiàng)「ari_hash_m[i_min]」所描述的脈絡(luò)值大于由輸入變量c所描述的脈絡(luò)值。但另外,由散列表表項(xiàng)「ari_hash_m[i_min]」所描述的脈絡(luò)值可能等于由輸入變量c所描述的脈絡(luò)值。因此,執(zhí)行基于決策的回送值提供508c。變量j被設(shè)定為具有散列表表項(xiàng)「ari_hash_m[i_min]」的值。隨后,判定由輸入變量c(及也由變量s)所描述的脈絡(luò)值是否大于由表項(xiàng)「ari_hash_m[i_min]」所描述的脈絡(luò)值(借條件「s>j」定義的第一種情況),或由輸入變量c所描述的脈絡(luò)值是否小于由散列表表項(xiàng)「ari_hash_m[i_min]」所描述的脈絡(luò)值(借條件「c〈j>>8」定義的第二種情況),或由輸入變量c所描述的脈絡(luò)值是否等于由表項(xiàng)「ari_hash_m[i_min]」所描述的脈絡(luò)值(第三種情況)。在第一種情況(s>j)下,由表索引值「i_min+lJ標(biāo)示的表「ari_lookup_m[]」的表項(xiàng)「ari_lookup_m[i_min+l]」回送作為函數(shù)「arith_get_pkO」的輸出值。在第二種情況(c〈(j8))下,由表索引值「i_min」標(biāo)示的表「ari_lookup_m[]J的表項(xiàng)「ari_lookup_m[i_min]」回送作為函數(shù)「arith_get_pk()」的回送值。在第三種情況(亦即當(dāng)由輸入變量c所描述的脈絡(luò)值等于由表項(xiàng)「ari_hash_m[i_min]」所描述的有效狀態(tài)值時(shí))下,由散列表表項(xiàng)「ari_hash_m[i_min]」的最低8-比特所描述的映射規(guī)則索引值被回送作為函數(shù)「arith_get_pkO」的回送值。綜上所述,在步驟508b中執(zhí)行特別簡(jiǎn)單的表搜尋,其中該表搜尋提供變量「i_min」的變量值,而未區(qū)別由輸入變量c所描述的脈絡(luò)值是否等于由表「ari_hash_m[]J的狀態(tài)表項(xiàng)之一所定義的有效狀態(tài)值。在繼表搜尋508b之后執(zhí)行的步驟508c中,評(píng)估由輸入變量c所描述的脈絡(luò)值與由散列表表項(xiàng)「ari_hash_m[i_min]」所描述的有效狀態(tài)值間的幅度關(guān)系,且依據(jù)該評(píng)估的結(jié)果來(lái)選擇函數(shù)「arith_get_pk()」的回送值,其中考慮用在表評(píng)估508b中所確定的變量「i_min」的值來(lái)選擇映射規(guī)則索引值,即便由輸入變量c所描述的脈絡(luò)值與由散列表表項(xiàng)「ari_hash_m[i_min]」所描述的有效狀態(tài)值不同。須進(jìn)一步注意算法中的比較應(yīng)較佳地(或另外)在脈絡(luò)索引(數(shù)值脈絡(luò)值)c與j=ari_hash_m[i]8間進(jìn)行。實(shí)際上,表「ari_hash_m[]」的每一個(gè)表項(xiàng)表示一個(gè)脈絡(luò)索引,脈絡(luò)索引以高于第八比特的比特來(lái)編碼,且其相對(duì)應(yīng)的概率模型用最先的八個(gè)比特(最低有效比特)來(lái)編碼。在當(dāng)前實(shí)施例中,發(fā)明人主要關(guān)注在知曉當(dāng)前脈絡(luò)c是否大于ari_hash_m[i]>>8,其相當(dāng)于檢測(cè)s=c〈〈8是否也大于ari_hash_m[i]。綜上所述,一旦脈絡(luò)狀態(tài)被算出(例如可使用依據(jù)圖5c的算法「arith_get_context(c,i,N)」或依據(jù)圖5d的算法「arith_get_context(c,i)」達(dá)成),最高有效逐2_比特平面使用調(diào)用了和與脈絡(luò)狀態(tài)對(duì)應(yīng)的概率模型相對(duì)應(yīng)的適當(dāng)累積頻率表的算法「arith_decode」(容后詳述)來(lái)解碼。對(duì)應(yīng)關(guān)系借,例如,函數(shù)「arith_get_pk()」來(lái)完成,函數(shù)「arith_get_pk()」已經(jīng)參考圖5f討論過(guò)。11.6算術(shù)解碼11.6.I使用依據(jù)圖5g的算法的算術(shù)解碼后文中,將參考圖5g詳細(xì)討論函數(shù)「arith_decodeO」的功能。須注意函數(shù)「arith_decodeO」使用輔助(helper)函數(shù)「arith_first_symbol(void)」,若它是序列的第一個(gè)符元,貝U回送真(TRUE),否則即回送偽(FALSE)。函數(shù)「arith_decodeOJ還使用輔助函數(shù)「arith_get_next_bit(void)」,其獲得且提供比特串流的下一比特。此外,函數(shù)「arith_decode()」還使用全局變量「低(low)」、「高(high)」及「值(value)J0而且,函數(shù)「arith_decodeO」接收變量「cum_freq[]」作為輸入變量,其指向所選累積頻率表或累積頻率子表的第一個(gè)表項(xiàng)或元素(具有元素索引或表項(xiàng)索引O)。并且,函數(shù)「arith_decode()」使用輸入變量「cfI」,其指示標(biāo)示以變量「cum_freq[]」的所選累積頻率表或累積頻率子表的長(zhǎng)度。函數(shù)「arith_decodeO」包含變量初始化570a作為第一步驟,若輔助函數(shù)「arith_first_symbolO」指示正在解碼一序列符元中的第一個(gè)符元,則執(zhí)行此步驟。值初始化550a依據(jù)使用輔助函數(shù)「arith_get_next_bit」而得自比特串流的多個(gè),例如,16個(gè)比特而將變量「值」初始化,使得變量「值」具有由所述比特所表示的值。而且,變量「低」被初始化成取O值,且變量「高」被初始化成取65535的值。在第二步驟570b中,變量「范圍」被設(shè)定為比變量「高」與「低」的值間的差值大I的值。變量「cum」被設(shè)定為表示變量「值」的值在變量「高」值與變量「低」值間的相對(duì)位置的一值。據(jù)此,依據(jù)變量「值」的值,變量「cum」取,例如,O至216間的值。指針P被初始化為比所選累積頻率表的起始地址小I的值。算法「arith_decodeO」還包含迭代重復(fù)的累積頻率表搜尋570c。迭代重復(fù)的累積頻率表搜尋重復(fù)執(zhí)行直到變量cfl小于或等于I為止。在迭代重復(fù)的累積頻率表搜尋570c中,指針變量q被設(shè)定為一個(gè)等于指針變量P的當(dāng)前值與變量「Cf!」的值的一半的和的值。若所選累積頻率表的表項(xiàng)*q(該表項(xiàng)借指針變量q來(lái)定址)的值大于變量「cum」的值,則指針變量P被設(shè)定為指針變量q的值,且變量「Cf!」增加。最后,變量「Cf!」向右移位一個(gè)比特,借此有效地將變量「Cf!」的值除以2并忽略模(modulo)部分。據(jù)此,迭代重復(fù)的累積頻率表搜尋570c有效地比較變量「cum」的值與所選累積頻率表的多個(gè)表項(xiàng)來(lái)識(shí)別該所選累積頻率表內(nèi)部的一區(qū)間,該區(qū)間由該累積頻率表的表項(xiàng)確定界限,使得值cum位于所識(shí)別區(qū)間的內(nèi)部。如此,所選累積頻率表的表項(xiàng)界定區(qū)間,其中個(gè)別符元值與所選累積頻率表的各區(qū)間相關(guān)聯(lián)。而且,累積頻率表的兩個(gè)相鄰值之間的區(qū)間寬度定義與所述區(qū)間相關(guān)聯(lián)的符元的概率,使得所選累積頻率表整體界定不同符元(或符元值)的概率分布。有關(guān)可用累積頻率表的細(xì)節(jié)將參考圖23討論如下。再度參考圖5g,符元值從指針變量P的值導(dǎo)算,其中該符元值如參考數(shù)字570d所示而導(dǎo)算。如此,指針變量P的值與起始地址「cum_freq」的值之間的差被評(píng)估出來(lái)以獲得符元值,其以變量「符元」表示。算法「arith_decode」還包含變量「高」及「低」的調(diào)整(adaptation)570e。若以變量「符元」表示的符元值不等于零,則更新變量「高」,如參考數(shù)字570e所示。并且,更新變量「低」的值,如參考數(shù)字570e所示。變量「高」被設(shè)定為由變量「低」、變量「范圍」及所選累積頻率表中具有索引「符元-I」的表項(xiàng)所確定的值。變量「低」增加,其中增加幅度由變量「范圍」及所選累積頻率表中具有索引「符元」的表項(xiàng)所確定。如此,變量「低」與「高」的值間的差依據(jù)所選累積頻率表的兩相鄰表項(xiàng)間的數(shù)值差來(lái)調(diào)整。因此,若檢測(cè)到具有低概率的符元值,則變量「低」與「高」的值間的區(qū)間縮小成狹窄寬度。相反地,若檢測(cè)到的符元值包含相對(duì)較高的概率,則變量「低」與「高」的值間的區(qū)間的寬度被設(shè)定為相對(duì)較大的值。再者,變量「低」與「高」的值間的區(qū)間寬度取決于所檢測(cè)的符元及對(duì)應(yīng)的累積頻率表表項(xiàng)。算法「arith_decodeO」還包含區(qū)間重整化570f,其中在步驟570e中確定的區(qū)間迭代重復(fù)地移位與定標(biāo)直至達(dá)到「中斷」條件為止。在區(qū)間重整化570f中,執(zhí)行選擇性的向下移位操作570fa。若變量「高」小于32768,則不做任何動(dòng)作,且區(qū)間重整化繼續(xù)執(zhí)行區(qū)間大小增加操作570fb。但若變量「高」不小于32768,且若變量「低」大于或等于32768,則變量「值」、「低」及「高」全部減少32768,使得由變量「低」及「高」所界定的區(qū)間向下移位,且使得變量「值」的值也向下移位。但若發(fā)現(xiàn)變量「高」的值不小于32768,且變量「低」并不大于或等于32768,且變量「低」大于或等于16384,且變量「高」小于49152,則變量「值」、「低」及「高」全部減少16384,借此變量「高」與「低」的值間的區(qū)間,及變量「值」的值也向下移位。但若上述條件都不滿足,則舍棄區(qū)間重整化。但若滿足步驟570fa中所評(píng)估的前述任一條件,則執(zhí)行區(qū)間增加操作570fb。在區(qū)間增加操作570fb中,變量「低」的值加倍。變量「高」的值也加倍,且加倍結(jié)果再加I。變量「值」的值也加倍(向左移位一個(gè)比特),且借輔助函數(shù)「arith_get_next_bit」所得比特串流的一個(gè)比特用作最低有效比特。據(jù)此,變量「低」與「高」的值間的區(qū)間大小約略加倍,且變量「值」的精度借由使用比特串流的一新比特而增加。如前文提到的,重復(fù)步驟570fa及570fb直至達(dá)到「中斷」條件為止,亦即直至變量「低」與「高」的值間的區(qū)間足夠大為止。有關(guān)算法「arith_decode()」的功能,須注意變量「低」與「高」的值間的區(qū)間在步驟570e中縮小,這取決于由變量「cum_freq」引用的累積頻率表的兩個(gè)相鄰表項(xiàng)。若所選累積頻率表的兩個(gè)相鄰值間的區(qū)間很小,亦即若相鄰值相對(duì)較接近,則步驟570e中所得的變量「低」與「高」的值間的區(qū)間將相對(duì)較小。相反地,若累積頻率表的兩個(gè)相鄰表項(xiàng)間隔較遠(yuǎn),則步驟570e中所得的變量「低」與「高」的值間的區(qū)間將相對(duì)較大。結(jié)果,若步驟570e中所得的變量「低」與「高」的值間的區(qū)間相對(duì)較小,則將執(zhí)行很多次區(qū)間重整化步驟來(lái)將區(qū)間重定標(biāo)至「足夠」大小(使得條件評(píng)估570fa的條件皆未滿足)。據(jù)此,將使用得自比特串流的相對(duì)較大數(shù)目的比特來(lái)增加變量「值」的精度。相反地,若步驟570e中所得區(qū)間大小為相對(duì)較大,將僅需要重復(fù)較少次數(shù)的區(qū)間正規(guī)化步驟570fa及570fb來(lái)將變量「低」與「高」的值間的區(qū)間重整為「足夠」大小。據(jù)此,將只使用相對(duì)較少數(shù)目得自比特串流的比特來(lái)增加變量「值」的精度,及準(zhǔn)備下一符元的解碼。綜上所述,若一包含相對(duì)較高概率的符元已被解碼,及與其相關(guān)聯(lián)的所選累積頻率表表項(xiàng)的區(qū)間很大,則將從該比特串流只讀取相對(duì)較少數(shù)目的比特以允許解碼接續(xù)其后的符元。相反地,若一包含相對(duì)較低概率的符元已被解碼,及與其相關(guān)聯(lián)的所選累積頻率表表項(xiàng)的區(qū)間很小,則將從該比特串流讀取相對(duì)較大數(shù)目的比特來(lái)準(zhǔn)備解碼下一符元。據(jù)此,累積頻率表的表項(xiàng)反映不同符元的概率,同時(shí)也反映用以解碼一序列符元所需的比特?cái)?shù)目。借由依據(jù)脈絡(luò),亦即依據(jù)先前解碼符元(或頻譜值),例如,借由依據(jù)脈絡(luò)來(lái)選擇不同的累積頻率表而變更累積頻率表,可利用不同符元間的隨機(jī)相依性,其允許特別比特率有效率的隨后(或相鄰)符元的編碼。綜上所述,已經(jīng)參考圖5g描述的函數(shù)「arith_decodeO」調(diào)用對(duì)應(yīng)于由函數(shù)「arith_get_pk()」回送的索引「pki」的累積頻率表「arith_cf_m[pki][]」,以確定最高有效比特平面值m(其可被設(shè)定為由回送變量「符元」所表示的符元值)。綜上所述,算術(shù)解碼器是使用以定標(biāo)而產(chǎn)生標(biāo)簽的方法的整數(shù)實(shí)施例(integerimplementation)。詳情請(qǐng)參考書(shū)籍「IntroductiontoDataCompression」,作者K.Sayood,2006年,第三版,ElsevierInc.。依據(jù)圖5g的計(jì)算機(jī)程序碼描述依據(jù)本發(fā)明的一實(shí)施例所使用的算法。11.6.2使用依據(jù)圖5h及5i的算法的算術(shù)解碼圖5h及5i顯示算法「arith_decodeO」的另一實(shí)施例的偽程序碼表示,其可用作參考圖5g所述算法「arith_decode」的替代物。須注意依據(jù)圖5g以及依據(jù)圖5h和5i的算法均可用于依據(jù)圖3的算法「values_decodeO」。概括而言,值m使用調(diào)用累積頻率表「arith_cf_m[pki][]」的函數(shù)「arith_decodeOJ而被解碼,其中「pki」對(duì)應(yīng)于由函數(shù)Γarith_get_pkOJ所回送的索引。算術(shù)編碼器(或解碼器)是使用以定標(biāo)而產(chǎn)生標(biāo)簽的方法的整數(shù)實(shí)施例。詳情請(qǐng)參考書(shū)籍「IntroductiontoDataCompression」,作者K.Sayood,2006年,第三版,ElsevierInc.。依據(jù)圖5h及5i的計(jì)算機(jī)程序碼描述所使用的算法。11.7脫序機(jī)制后文中將簡(jiǎn)短討論用于依據(jù)圖3的解碼算法「ValUeS_deCOde()」的脫序機(jī)制。當(dāng)解碼值m(作為函數(shù)「arith_deCOde()」的回送值而被提供)為脫序符元「ARITH_ESCAPE」時(shí),變量「lev」及「esc_nb」增加1,且另一個(gè)值m被解碼。在這種情況下,函數(shù)「arith_get_pk()」以值「c+esc_nb〈〈17」作為輸入?yún)?shù)而被再度調(diào)用,此處變量「esc_nbj描述先前對(duì)相同的2元組解碼且囿限于7的脫序符元的數(shù)目。概括而言,當(dāng)識(shí)別出脫序符元時(shí),假設(shè)最高有效比特平面值m包含一增加的數(shù)值權(quán)值。此外,重復(fù)當(dāng)前數(shù)值解碼,其中修正的數(shù)值當(dāng)前脈絡(luò)值「c+esc_nb〈〈17」用作函數(shù)「arith_get_pk()」的輸入變量。據(jù)此,在子算法312ba的不同迭代重復(fù)中,通常獲得不同映射規(guī)則索引值「pki」。11.8算術(shù)終止機(jī)制后文將描述算術(shù)終止機(jī)制。當(dāng)音頻編碼器中較高頻率部分被完全量化為O的情況下,算術(shù)終止機(jī)制允許減少所需比特?cái)?shù)目。在一實(shí)施例中,算術(shù)終止機(jī)制可實(shí)施如下一旦值m不是脫序符元「ARITH_ESCAPE」,解碼器就檢查接續(xù)的m是否形成「ARITH_ESCAPE」符元。若條件「esc_nb>0&&m==0」為真,則檢測(cè)到「ARITH_ST0P」符元且解碼程序結(jié)束。在這種情況下,解碼器直接跳至「arith_finish()」函數(shù),「arith_finishO」函數(shù)容后詳述。該條件意味著該巾貞其余部分由O值組成。11.9較低有效比特平面解碼后文中,將描述一或多個(gè)較低有效比特平面的解碼。較低有效比特平面的解碼,例如,在圖3中所示步驟312d中進(jìn)行。但另外,也可使用圖5j及5n中所示算法。11.9.I依據(jù)圖5j的較低有效比特平面解碼現(xiàn)在參考圖5j,可知變量a及b的值從值m導(dǎo)算出。例如,值m的數(shù)字表示向右移位2-比特來(lái)獲得變量b的數(shù)字表示。此外,變量a的值借由從變量m的值減變量b的值的向左移位2-比特的經(jīng)比特移位版本而獲得。隨后,重復(fù)最低有效比特平面值r的算術(shù)解碼,其中重復(fù)次數(shù)由變量「lev」的值確定。最低有效比特平面值r使用函數(shù)「arith_deCOde」而獲得,其中使用適應(yīng)于最低有效比特平面的解碼的累積頻率表(累積頻率表「arith_cf_r」)。變量!■的最低有效比特(具有數(shù)值權(quán)值I)描述由變量a所表示的頻譜值的較低有效比特平面,且變量r的具有數(shù)值權(quán)值2的一比特描述變量b所表示的頻譜值的較低有效比特。據(jù)此,變量a借由將變量a向左移位I比特并加上變量r的具有數(shù)值權(quán)值I的比特作為最低有效比特而更新。同理,變量b借由將變量b向左移位I比特并加上變量r的具有數(shù)值權(quán)值2的比特而更新。據(jù)此,變量a、b的兩個(gè)載有信息的最高有效比特借最高有效比特平面值m確定,且值a及b的一或多個(gè)最低有效比特(若有的話)由一或多個(gè)較低有效比特平面值r確定。綜上所述,當(dāng)不滿足「ARITH_ST0P」符元時(shí),對(duì)當(dāng)前2元組其余比特平面(若存在的話)解碼。其余比特平面借由調(diào)用使用累積頻率表「arith_cf_r[]」的函數(shù)「arith_decodeO」「lev」次,而從最高有效位階至最低有效位階解碼。已解碼比特平面r允許依據(jù)算法來(lái)改進(jìn)(refining)先前已解碼的值m,圖5j顯示算法的偽程序碼。11.9.2依據(jù)圖5n的較低有效比特帶解碼但另外,其偽程序碼表示顯示于圖5n的該算法也可用于較低有效比特平面的解碼。在這種情況下,若不滿足「ARITH_ST0P」符元,則對(duì)當(dāng)前2元組其余比特平面(若存在的話)解碼。其余比特平面借由調(diào)用使用累積頻率表「arith_cf_r()」的「arith_decodeO」「lev」次,而從最高有效位階至最低有效位階解碼。已解碼比特平面r允許依據(jù)圖5n中所示算法來(lái)改進(jìn)先前已解碼的值m。11.10脈絡(luò)更新11.10.I依據(jù)圖5k、51及5m的脈絡(luò)更新后文中,將參考圖5k及51,描述用以完成頻譜值元組解碼的操作。此外,將描述用來(lái)完成與音頻內(nèi)容的當(dāng)前部分(例如,當(dāng)前幀)相關(guān)聯(lián)的一頻譜值元組集合之解碼的操作?,F(xiàn)在參考圖5k,可知在較低有效比特解碼312d之后,陣列「x_ac_dec口」的具有表項(xiàng)索引2*i的表項(xiàng)被設(shè)定為等于a,且陣列「x_ac_dec口」的具有表項(xiàng)索引「2*i+l」的表項(xiàng)被設(shè)定為等于b。換言之,在較低有效比特解碼312d之后,2元組(a,b)的無(wú)符號(hào)值被完全解碼。依據(jù)圖5k中所示算法,儲(chǔ)存在保有頻譜系數(shù)的元素(例如,陣列「X_ac_dec[]」)中。隨后,也對(duì)下一個(gè)2元組更新脈絡(luò)U」。須注意此脈絡(luò)更新也須對(duì)最后一個(gè)2元組執(zhí)行。此脈絡(luò)更新借其偽程序碼表示顯示于圖51的函數(shù)「31";[111_即(^丨6_001^6110」來(lái)執(zhí)行?,F(xiàn)在參考圖51,可知函數(shù)「arith_update_context(i,a,b)」接收2元組的已解碼無(wú)符號(hào)的已量化頻譜系數(shù)(或頻譜值)a,b作為輸入變量。此外,函數(shù)「arith_Update_context」也接收欲解碼的已量化頻譜系數(shù)的索引i(例如,頻率索引)作為輸入變量。換言之,輸入變量i,例如,可以是其絕對(duì)值由輸入變量a、b來(lái)定義的頻譜值元組的索引。如圖可知,陣列k□口」的表項(xiàng)「q[l][i]」可被設(shè)定為等于a+b+Ι的值。此外,陣列「q□口」的表項(xiàng)「q[l][i]」的值可被限于「OxF」的十六進(jìn)制值。如此,陣列「q□口」的表項(xiàng)「q[l][i]」借由計(jì)算具有頻率索引i的頻譜值的當(dāng)前解碼元組{a,b}的絕對(duì)值的和并將和值結(jié)果加I而獲得。此處須注意陣列「q[][]」的表項(xiàng)「q[l][i]」可被視為脈絡(luò)子區(qū)值,原因在于其描述用于額外頻譜值(或頻譜值元組)后續(xù)解碼的脈絡(luò)的一子區(qū)。此處須注意兩個(gè)當(dāng)前解碼頻譜值的絕對(duì)值a及b(其有符號(hào)版本儲(chǔ)存在陣列「x_ac_dec[]J的表項(xiàng)「x_ac_dec[2*i]」及「x_ac_dec[2*i+l]」中)的加總可被視為已解碼頻譜值的范數(shù)(例如,LI范數(shù))的運(yùn)算。業(yè)已發(fā)現(xiàn)描述由多個(gè)先前已解碼的頻譜值形成的向量的范數(shù)的脈絡(luò)子區(qū)值(亦即陣列k[][]」的表項(xiàng))特別有意義且存儲(chǔ)高效。業(yè)已發(fā)現(xiàn)基于多個(gè)先前已解碼的頻譜值算出的此種范數(shù)包含精簡(jiǎn)形式的有意義的脈絡(luò)信息。業(yè)已發(fā)現(xiàn)頻譜值符號(hào)通常與脈絡(luò)的選擇并不是特別相關(guān)。還發(fā)現(xiàn)經(jīng)過(guò)(across)多個(gè)先前已解碼的頻譜值的范數(shù)的形成(formation),即便舍棄若干細(xì)節(jié),通常也仍保有最重要的信息。此外,還發(fā)現(xiàn)將數(shù)值當(dāng)前脈絡(luò)值限制在最大值內(nèi)通常不會(huì)導(dǎo)致信息的嚴(yán)重?fù)p失。反而,業(yè)已發(fā)現(xiàn)對(duì)大于預(yù)定臨界值的有效頻譜值使用相同的脈絡(luò)狀態(tài)更加有效率。如此,對(duì)脈絡(luò)子區(qū)值加以限制使內(nèi)存效率進(jìn)一步改良。此外,還發(fā)現(xiàn)將脈絡(luò)子區(qū)值限制在某個(gè)最大值內(nèi)允許特別簡(jiǎn)單且運(yùn)算有效的數(shù)值當(dāng)前脈絡(luò)值的更新,這已經(jīng)參考,例如,圖5c及5d描述過(guò)。借由將脈絡(luò)子區(qū)值限制于相對(duì)較小的值(例如,限制于值15),基于多個(gè)脈絡(luò)子區(qū)值的脈絡(luò)狀態(tài)可以有效率的形式來(lái)表示,這已經(jīng)參考圖5c及5d討論過(guò)。此外,業(yè)已發(fā)現(xiàn)將脈絡(luò)子區(qū)值限制于I至15之間的值,獲得準(zhǔn)確度與內(nèi)存效率間的特佳折衷,原因在于4比特即足以儲(chǔ)存此脈絡(luò)子區(qū)值。但須注意在若干其它實(shí)施例中,脈絡(luò)子區(qū)值可只以單一解碼頻譜值為基礎(chǔ)。在這種情況下,范數(shù)的形成可選擇性地被省略。該巾貞的下一個(gè)2元組在函數(shù)「arith_update_context」完成后解碼,解碼方式是借由使i遞增I,且從函數(shù)「arith_get_contextO」開(kāi)始重做前述相同程序。當(dāng)在幀內(nèi)部的lg/2個(gè)2元組被解碼或依據(jù)「ARITH_ESCAPE」的終止符元出現(xiàn)時(shí),頻譜幅度的解碼程序結(jié)束而符號(hào)的解碼開(kāi)始。有關(guān)符號(hào)解碼的細(xì)節(jié)已經(jīng)參考圖3討論過(guò),其中參考數(shù)字314中顯示符號(hào)的解碼。一旦全部無(wú)符號(hào)且已量化的頻譜系數(shù)都已解碼,就加上對(duì)應(yīng)符號(hào)。對(duì)「x_ac_dec」的每一個(gè)非空(non-null)量化值,讀取一比特。若所讀取的比特值等于0,則該量化值為正,不做任何動(dòng)作,且有符號(hào)值等于先前已解碼的無(wú)符號(hào)值。否則(亦即若所讀取的比特值等于1),已解碼系數(shù)(或頻譜值)即為負(fù),且2的補(bǔ)數(shù)取自無(wú)符號(hào)值。符號(hào)比特從低頻至較高頻讀取。詳情請(qǐng)參考圖3及關(guān)于符號(hào)解碼314的說(shuō)明。借由調(diào)用函數(shù)「arith_finish()」完成解碼。其余頻譜系數(shù)被設(shè)定為O。個(gè)別脈絡(luò)狀態(tài)對(duì)應(yīng)地更新。詳情請(qǐng)參考圖5m,其顯示函數(shù)「arith_finish()」的偽程序碼表示。如圖可知,函數(shù)「arith_finish()」接收輸入變量Ig,其描述已解碼的已量化頻譜系數(shù)。較佳地,函數(shù)「arith_finish」的輸入變量Ig描述實(shí)際上已解碼的頻譜系數(shù)的數(shù)目,未考慮響應(yīng)于「ARITH_ST0P」符元的檢測(cè)被分派O值的頻譜系數(shù)。函數(shù)「arith_finish」的輸入變量N描述當(dāng)前窗(亦即與音頻內(nèi)容的當(dāng)前部分相關(guān)聯(lián)的窗)的窗長(zhǎng)度。典型地,與長(zhǎng)度為N的窗相關(guān)聯(lián)的頻譜值的數(shù)目等于N/2,而與窗長(zhǎng)度為N的窗相關(guān)聯(lián)的頻譜值的2元組的數(shù)目等于N/4。函數(shù)「arith_finish」也接收已解碼的頻譜值的向量「x_ac_dec」,或至少接收此已解碼的頻譜系數(shù)的向量的指標(biāo)(reference)作為輸入值。函數(shù)「arith_finish」被配置成將因算術(shù)終止條件的存在而無(wú)頻譜值被解碼的陣列(或向量)「x_ac_dec」的表項(xiàng)設(shè)定為O。此外,函數(shù)「arith_finish」設(shè)定脈絡(luò)子區(qū)值「q[l][i]」為預(yù)定值1,上述脈絡(luò)子區(qū)值與因算術(shù)終止條件的存在而無(wú)任何值被解碼的頻譜值相關(guān)聯(lián)。預(yù)定值I與一頻譜值元組相對(duì)應(yīng),其中兩個(gè)頻譜值均等于O。據(jù)此,函數(shù)「arith_finishO」允許更新整個(gè)頻譜值陣列(或向量)「x_ac_dec[]」以及整個(gè)脈絡(luò)子區(qū)值陣列k[l][i]」,即便在算術(shù)終止條件存在情況下亦如此。11.10.2依據(jù)圖5o及5p的脈絡(luò)更新后文將參考圖5ο及5ρ描述脈絡(luò)更新的另一實(shí)施例。2元組(a,b)的無(wú)符號(hào)值被完全解碼時(shí),對(duì)下一個(gè)2元組更新脈絡(luò)q。若當(dāng)前2元組為最后一個(gè)2元組,也進(jìn)行更新。兩項(xiàng)更新都借函數(shù)「arith_update_contextO」執(zhí)行,圖5o顯示其偽程序碼表示。然后,該幀的下一個(gè)2元組借使i遞增I及調(diào)用函數(shù)「arith_decodeO」而被解碼。若該幀的lg/2個(gè)2元組已經(jīng)解碼,或若出現(xiàn)終止符元「ARITH_ST0P」,則調(diào)用函數(shù)「arith_finishOJ0脈絡(luò)被保存,并儲(chǔ)存在陣列(或向量)「qs」中以用于下一幀。圖5p顯示函數(shù)「arith_save_contextO」的偽程序碼。一旦全部無(wú)符號(hào)且已量化的頻譜系數(shù)都已經(jīng)解碼,則補(bǔ)上符號(hào)。對(duì)每一個(gè)未經(jīng)量化值「qdec」,讀取一比特。若讀取比特值等于0,則量化值為正,不做任何動(dòng)作,且有符號(hào)值等于先前已解碼的無(wú)符號(hào)值。否則,已解碼系數(shù)為負(fù),且從無(wú)符號(hào)值取2的補(bǔ)數(shù)。有符號(hào)比特自低頻至高頻讀取。11.11解碼程序的概要后文中,將簡(jiǎn)短概述解碼程序。詳情請(qǐng)參考前文討論以及圖3、4、5a、5c、5e、5g、5j、5k、51及5m。量化頻譜系數(shù)「X_ac_dec[]」從最低頻率系數(shù)開(kāi)始并前進(jìn)至最高頻率系數(shù)而無(wú)噪聲地解碼。它們由集合在所謂的2元組(a,b)中的成組的兩個(gè)連續(xù)系數(shù)a,b來(lái)解碼。然后,頻域(亦即頻域模式)的已解碼系數(shù)「x_ac_dec[]」被儲(chǔ)存在陣列「x_ac_quant[g][win][sfb][bin]」中。無(wú)噪聲編碼碼字的傳輸順序使得當(dāng)它們以所接收的順序解碼并儲(chǔ)存在陣列中時(shí),「bin」為最快速遞增索引,且「g」為最慢遞增索引。在碼字內(nèi)部,解碼順序?yàn)閍,然后為b?!窽CX」的解碼系數(shù)「X_ac_dec[]」(亦即使用變換編碼激勵(lì)的音頻解碼)被儲(chǔ)存(例如,直接儲(chǔ)存)在陣列「x_tcx_invquant[win][bin]J中,且無(wú)噪聲編碼碼字的傳輸順序使得當(dāng)它們以所接收的順序解碼并儲(chǔ)存在陣列中時(shí),「Mn」為最快速遞增索弓丨,且「win」為最慢遞增索引。在碼字內(nèi)部,解碼順序?yàn)閍,然后為b。首先,旗標(biāo)「arith_reset_flag」判定脈絡(luò)是否須被重置。若旗標(biāo)為真,則在函數(shù)「arith_map_context」中考慮此點(diǎn)。解碼程序從初始化階段開(kāi)始,此處脈絡(luò)元素向量「q」借由將儲(chǔ)存在「q[l][]」中的前一幀的脈絡(luò)元素拷貝并映射至k[]」而更新?!竡」內(nèi)部的脈絡(luò)元素以每2元組4-比特儲(chǔ)存。詳情請(qǐng)參考圖5a的偽程序碼。無(wú)噪聲解碼器輸出無(wú)符號(hào)且已量化的頻譜系數(shù)的2元組。首先,脈絡(luò)狀態(tài)c基于環(huán)繞欲解碼2元組的先前已解碼頻譜系數(shù)來(lái)計(jì)算。因此,只考慮兩個(gè)新的2元組,使用最后一個(gè)解碼的2元組的脈絡(luò)狀態(tài),遞增地更新?tīng)顟B(tài)。狀態(tài)以17-比特解碼,且由函數(shù)「arith_get_context」回送。圖5c顯不設(shè)定函數(shù)(setfunction)「arith_get_context」的偽程序碼表示。脈絡(luò)狀態(tài)c確定用以解碼最聞?dòng)行е?_比特平面m的累積頻率表。從c至相對(duì)應(yīng)的累積頻率表索引「pki」的映射借函數(shù)「arith_get_pk()」執(zhí)行。圖5e顯示函數(shù)「arith_get_pk()」的偽程序碼表示。使用調(diào)用累積頻率表「arith_cf_m[pki][]」的函數(shù)「arith_decodeO」來(lái)解碼值m,此處「pki」對(duì)應(yīng)于由「arith_get_pk()」回送的索引。算術(shù)編碼器(及解碼器)為使用以定標(biāo)而產(chǎn)生標(biāo)簽的方法的整數(shù)實(shí)施例。依據(jù)圖5g的偽程序碼描述所使用的算法。當(dāng)解碼值m為脫序符元「ARITH_ESCAPE」時(shí),變量「lev」及「esc_nb」增加1,且另一值m被解碼。在這種情況下,函數(shù)「get_pkO」再度以值「c+esc_nb17j作為輸入?yún)?shù)而被調(diào)用,此處「esc_nb」是先前對(duì)相同的2元組解碼且囿限于7的脫序符元的數(shù)目。一旦值m不是脫序符元「ARITH_ESCAPE」,解碼器就檢查連續(xù)的m是否形成「ARITH_ST0P」符元。若條件「esc_nb>0&&m==0」為真,則檢測(cè)到「ARITH_ST0P」符元且解碼程序結(jié)束。解碼器直接跳至后述的符號(hào)解碼。該條件意味著該幀其余部分由O值組成。若不滿足「ARITH_ST0P」符元,則對(duì)當(dāng)前2元組解碼其余比特平面(若存在的話)。其余比特平面借由調(diào)用使用累積頻率表「arith_cf_r[]」的「arith_decodeO」「lev」次而從最高有效位階至最低有效位階解碼。已解碼比特平面r允許依據(jù)其偽程序碼顯示于圖5j的該算法來(lái)改進(jìn)先前已解碼的值m。此時(shí),2元組(a,b)的無(wú)符號(hào)值被完全解碼。其依據(jù)偽程序碼表示顯示于圖5k的該算法被儲(chǔ)存到保有頻譜系數(shù)的元素中。脈絡(luò)「q」也對(duì)下一個(gè)2元組而更新。須注意此脈絡(luò)更新也須對(duì)最后一個(gè)2元組執(zhí)行。此脈絡(luò)更新借其偽程序碼表示顯示于圖51的函數(shù)「arith_update_contextO」執(zhí)行。然后,該幀的下一個(gè)2元組借由使i增加1,且藉由從函數(shù)「arith_get_contextO」開(kāi)始重做如前文所述的相同程序而被解碼。當(dāng)在幀內(nèi)部的lg/2個(gè)2元組被解碼或當(dāng)出現(xiàn)終止符元「ARITH_ST0P」時(shí),頻譜幅度的解碼程序結(jié)束而符號(hào)的解碼開(kāi)始。解碼借由調(diào)用函數(shù)「arith_finish()」結(jié)束。其余頻譜系數(shù)被設(shè)定為O。個(gè)別脈絡(luò)狀態(tài)對(duì)應(yīng)地更新。圖5m顯示函數(shù)「arith_finish」的偽程序碼表示。一旦全部無(wú)符號(hào)且已量化的頻譜系數(shù)都已解碼,就補(bǔ)上對(duì)應(yīng)符號(hào)。對(duì)「x_aC_deC」的每一個(gè)非空量化值,讀取一比特。若所讀取的比特值等于0,則該量化值為正,不做任何動(dòng)作,且有符號(hào)值等于先前已解碼的無(wú)符號(hào)值。否則,已解碼系數(shù)為負(fù),且2的補(bǔ)數(shù)取自無(wú)符號(hào)值。有符號(hào)比特從低頻至高頻讀取。11.12說(shuō)明圖5q顯示與依據(jù)圖5a、5c、5e、5f、5g、5j、5k、51及5m的算法相關(guān)的定義的說(shuō)明。圖5r顯示與依據(jù)圖5b、5d、5f、5h、5i、5n、5o及5p的算法相關(guān)的定義的說(shuō)明。12.映射表在依據(jù)本發(fā)明的一實(shí)施例中,特別有用的表「ari_lookup_m」、Γari_hash_mj及「ari_cf_m」用于依據(jù)圖5e或圖5f的函數(shù)「arith_get_pkO」的執(zhí)行,以及用于參考圖5g、5h及5i討論的函數(shù)「arith_decodeO」的執(zhí)行。但須注意不同的表可用于依據(jù)本發(fā)明的若干實(shí)施例。12.I依據(jù)圖22的表「ari_hash_m[600]」圖22的表顯示函數(shù)「arith_get_pkj(其第一實(shí)施例參考圖5e來(lái)描述且其第二實(shí)施例參考圖5f來(lái)描述)所使用的表「ari_hash_m」的特別有用的實(shí)施方式的內(nèi)容。須注意圖22的表列舉表(或陣列)「ari_hash_m[600]」的600個(gè)表項(xiàng)。還須注意圖22的表格表示以元素索引的順序顯示元素,使得第一個(gè)值「OxOOOOOOlOOUL」對(duì)應(yīng)于具元素索引(或表索引)0的表項(xiàng)「ari_hash_m」,且使得最后一個(gè)值「0x7ffffffff4fUL」對(duì)應(yīng)于具元素索引或表索引599的表項(xiàng)「ari_hash_m[599]」。此處須進(jìn)一步注意「Ox」指出表「ari_hash_m[]」的表項(xiàng)以十六進(jìn)制格式表示。此外,此處須注意字尾「UL」指出表「ari_hash_m[]」的表項(xiàng)以無(wú)符號(hào)的「長(zhǎng)」(unsignedlong)整數(shù)值(具有32-比特的精度)表示。此外,須注意依據(jù)圖22的表「ari_hash_m[]」的表項(xiàng)以數(shù)值順序排列,以允許函數(shù)「arith_get_pkO」的表搜尋506b、508b、510b的執(zhí)行。須進(jìn)一步注意表「ari_hash_m」的表項(xiàng)的最高有效24-比特表示某些有效狀態(tài)值,而最低有效8-比特表示映射規(guī)則索引值「pki」。如此,表「ari_hash_m[]」的表項(xiàng)描述脈絡(luò)值到映射規(guī)則索引值「pki」的「直接命中(directhit)J映射。但表「ari_hash_m[]」的表項(xiàng)的最高24-比特同時(shí)表示,與相同映射規(guī)則索引值相關(guān)聯(lián)的數(shù)值脈絡(luò)值的區(qū)間的區(qū)間邊界。有關(guān)此構(gòu)想的細(xì)節(jié)已經(jīng)在前面討論過(guò)。12.2依據(jù)圖21的表「ari_lookup_m」圖21的表顯示表「ari_lookup_m」的特別有用的實(shí)施例的內(nèi)容。此處須注意圖21的表列舉表「ari_lookup_m」的表項(xiàng)。所述表項(xiàng)以一維整數(shù)型表項(xiàng)索引(也稱為「兀素索引」或「陣列索引」或「表索引」)引用,其,例如,標(biāo)示以ii.maxj或「i_min」。須注意表「ari_lookup_m」共包含600個(gè)表項(xiàng),極為適合依據(jù)圖5e或圖5f的函數(shù)「arith_get_pk」使用。還須注意依據(jù)圖21的表「ari_lookup_m」適用于與依據(jù)圖22的表「ari_hash_m」共同作用。須注意表「ari_lookup_m[600]」的表項(xiàng)以在O至599之間的表索引「i」(例如,「i_min」或「i_max」)的上升順序列舉。項(xiàng)「Ox」指示所述表項(xiàng)以十六進(jìn)制格式描述。據(jù)此,第一個(gè)表項(xiàng)「0x02」對(duì)應(yīng)于具有表索引O的表項(xiàng)「ari_lOOkup_m」,且最后一個(gè)表項(xiàng)「0x5E」對(duì)應(yīng)于具有表索引599的表項(xiàng)「ari_lookup_m[599]」。還須注意表「ari_lookup_m[]」的表項(xiàng)與由表「ari_hash_m[]」的相鄰表項(xiàng)所界定的區(qū)間相關(guān)聯(lián)。如此,表「ari_lookup_m」的表項(xiàng)描述與數(shù)值脈絡(luò)值的區(qū)間相關(guān)聯(lián)的映射規(guī)則索引值,其中所述區(qū)間由表「ari_hash_m」的表項(xiàng)界定。12.3依據(jù)圖23的表「ari_cf_m[96][17]J圖23顯示一個(gè)由96個(gè)累積頻率表(或子表)「ari_cf_m[pki][17]」組成的集合,其中的一個(gè)累積頻率表(或子表)由音頻編碼器100、700或音頻解碼器200、800選擇,例如,用于函數(shù)「arith_deCOde()」的執(zhí)行,亦即用于最高有效比特平面值的解碼。圖23中所示的96個(gè)累積頻率表(或子表)中被選中的一個(gè)累積頻率表(或子表)在函數(shù)「arith_decodeO」的執(zhí)行中發(fā)揮表「cum_freq[]」的功能。由圖23可知,每一個(gè)子區(qū)塊表示具有17個(gè)表項(xiàng)的一個(gè)累積頻率表。例如,第一個(gè)子區(qū)塊2310表示「pki=0」的一累積頻率表的17個(gè)表項(xiàng)。第二個(gè)子區(qū)塊2312表示「pki=l」的一累積頻率表的17個(gè)表項(xiàng)。最后,第96個(gè)子區(qū)塊2396表示「pki=95」的一累積頻率表的17個(gè)表項(xiàng)。如此,圖23有效表示對(duì)應(yīng)于「pki=0」至「pki=95」的96個(gè)不同累積頻率表(或子表),其中96個(gè)累積頻率表中的每一個(gè)累積頻率表以一個(gè)子區(qū)塊(以大括號(hào)括出)表示,且其中所述累積頻率表中的每一個(gè)累積頻率表包含17個(gè)表項(xiàng)。在一個(gè)子區(qū)塊(例如,子區(qū)塊2310或2312,或子區(qū)塊2396)內(nèi)部,第一個(gè)值描述累積頻率表的第一個(gè)表項(xiàng)(具有陣列索引或表索引O),且最后一個(gè)值描述累積頻率表的最后一個(gè)表項(xiàng)(具有陣列索引或表索引16)。據(jù)此,圖23的表格表示的每一個(gè)子區(qū)塊2310、2312、2396表示由依據(jù)圖5g或依據(jù)圖5h及5i的函數(shù)「arith_decode」使用的累積頻率表的表項(xiàng)。函數(shù)「arith_decode」的輸入變量「cum_freq[]」描述96個(gè)累積頻率表(以表「arith_cf_m」的17個(gè)表項(xiàng)的單獨(dú)子區(qū)塊表示)中的哪一個(gè)累積頻率表須用于當(dāng)前頻譜系數(shù)的解碼。12.4依據(jù)圖24的表「ari_cf_r[]」圖24顯示表「ari_cf_r[]」的內(nèi)容。圖24顯示該表的四個(gè)表項(xiàng)。但須注意在其它實(shí)施例中,表「ari_cf_r」最終可能是不同的。13.效能評(píng)估及優(yōu)點(diǎn)依據(jù)本發(fā)明的實(shí)施例使用如前文討論的更新的函數(shù)(或算法)及更新的表集合來(lái)獲得運(yùn)算復(fù)雜度、內(nèi)存需求與編碼效率間的改良折衷。概略言之,依據(jù)本發(fā)明的實(shí)施例形成改良型頻譜無(wú)噪聲編碼。依據(jù)本發(fā)明的實(shí)施例描述USAC(統(tǒng)一語(yǔ)音及音頻編碼)的頻譜無(wú)噪聲編碼的加強(qiáng)。依據(jù)本發(fā)明的實(shí)施例,對(duì)基于MPEG輸入報(bào)告ml6912及ml7002中所提出的方案的頻譜系數(shù)的改良型頻譜無(wú)噪聲編碼的CE,形成已更新的提案。這兩個(gè)提案經(jīng)評(píng)估,消除了潛在缺點(diǎn),并結(jié)合了優(yōu)勢(shì)。在ml6912及ml7002中,所得提案以如USAC(統(tǒng)一語(yǔ)音及音頻編碼的草擬標(biāo)準(zhǔn))工作草稿5的基于原始脈絡(luò)的算術(shù)編碼方案為基礎(chǔ),但可顯著減少內(nèi)存需求(隨機(jī)存取存儲(chǔ)器(RAM)及只讀存儲(chǔ)器(R0M)),而未增加運(yùn)算復(fù)雜度,同時(shí)維持編碼效率。此外,業(yè)已證實(shí)依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿3及依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿5,比特串流的無(wú)損耗轉(zhuǎn)碼是可能的。依據(jù)本發(fā)明的實(shí)施例針對(duì)取代用于USAC草擬標(biāo)準(zhǔn)的工作草稿5的頻譜無(wú)噪聲編碼方案。此處描述的算術(shù)編碼方案以參考模型O(RMO)或USAC草擬標(biāo)準(zhǔn)的工作草稿5(WD)中的方案為基礎(chǔ)。頻率或時(shí)間上的頻譜系數(shù)使脈絡(luò)模型化。此脈絡(luò)用于算術(shù)編碼器的累積頻率表的選擇。與工作草稿5(WD)相比,脈絡(luò)模型化進(jìn)一步得到改良,且保有符元概率的表接受重新訓(xùn)練(retrain)。不同概率模型的數(shù)目從32個(gè)增至96個(gè)。依據(jù)本發(fā)明的實(shí)施例將表的大小(數(shù)據(jù)ROM需求)縮小至1518個(gè)長(zhǎng)度為32-比特的字或6072-字節(jié)(WD516,894.5字或67,578-字節(jié))。靜態(tài)RAM需求從每個(gè)核心編碼器通道666個(gè)字(2,664個(gè)字節(jié))減至72個(gè)字(288個(gè)字節(jié))。同時(shí),完全保留了編碼效能,且與全部9個(gè)作業(yè)點(diǎn)(operatingpoint)的總數(shù)據(jù)率相比,甚至可達(dá)到約I.29%至I.95%的增益。全部工作草稿3及工作草稿5比特串流可以無(wú)損耗方式轉(zhuǎn)碼而不影響比特池(bitreservoir)限制。后文中,將提供依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿5的編碼構(gòu)想的簡(jiǎn)短討論以便于了解此處所述構(gòu)想的優(yōu)點(diǎn)。隨后,將描述依據(jù)本發(fā)明的若干較佳實(shí)施例。在USAC工作草稿5中,基于脈絡(luò)的算術(shù)編碼方案用于量化頻譜系數(shù)的無(wú)噪聲編碼。使用頻率上及時(shí)間上在先的已解碼頻譜系數(shù)作為脈絡(luò)。在工作草稿5中,使用最多16個(gè)頻譜系數(shù)作為脈絡(luò),其中12個(gè)頻譜系數(shù)的時(shí)間在先。而且,用于脈絡(luò)且欲解碼的頻譜系數(shù)被分組成4元組(亦即頻率鄰近的4個(gè)頻譜系數(shù),參見(jiàn)圖14a)。脈絡(luò)縮減并被映射至一累積頻率表,然后用于解碼頻譜系數(shù)的下一個(gè)4元組。對(duì)于完整的工作草稿5無(wú)噪聲編碼方案,需要16894.5個(gè)字(67578字節(jié))的內(nèi)存需求(只讀存儲(chǔ)器(ROM))。此外,需要每個(gè)核心編碼器通道的666個(gè)靜態(tài)RAM字(2664字節(jié))來(lái)儲(chǔ)存下一幀的狀態(tài)。圖14b的表格表示描述用于USACWD4的算術(shù)編碼方案的表格。此處須注意關(guān)于無(wú)噪聲編碼,USAC草擬標(biāo)準(zhǔn)的工作草稿4及5是相同的。此二者皆使用相同的無(wú)噪聲編碼器。估算完整USACWD5解碼器的總內(nèi)存需求,對(duì)無(wú)程序碼的數(shù)據(jù)ROM為37000個(gè)字(148000字節(jié)),而對(duì)靜態(tài)RAM為10000至17000個(gè)字。明白可知無(wú)噪聲編碼器表耗用約45%的總數(shù)據(jù)ROM需求。最大的單個(gè)表已經(jīng)耗用4096個(gè)字(16384字節(jié))。業(yè)已發(fā)現(xiàn)全部表及大型單個(gè)表的組合的大小超過(guò)由消費(fèi)者可攜式裝置所使用的固定點(diǎn)處理器所提供的典型的高速緩沖存儲(chǔ)器的大小,它在8至32千字節(jié)的典型范圍內(nèi)(例如,ARM9e、TIC64XX等)。這意味著表集合可能并未被儲(chǔ)存在快速數(shù)據(jù)RAM中,而儲(chǔ)存在快速數(shù)據(jù)RAM中允許數(shù)據(jù)的快速隨機(jī)存取。這造成整個(gè)解碼程序減慢。此外,業(yè)已發(fā)現(xiàn)當(dāng)前成功的音頻編碼技術(shù),諸如HE-AAC已經(jīng)證實(shí)可在大多數(shù)移動(dòng)裝置上實(shí)施。HE-AAC使用具有995個(gè)字的表大小的霍夫曼熵編碼方案。詳情請(qǐng)參考IS0/IECJTC1/SC29/WG11N2005,MPEG98,1998年2月,圣荷西市,「RevisedReportonComplexityofMPEG-2AAC2」。在第90屆MPEG會(huì)議上,在MPEG輸入報(bào)告ml6912及ml7002中,提出兩份針對(duì)無(wú)噪聲編碼方案減少內(nèi)存需求并改良編碼效率的提案。通過(guò)分析這兩個(gè)提案,可獲得下列結(jié)論?!ねㄟ^(guò)縮小碼字的維度,內(nèi)存需求可能顯著減少。如MPEG輸入文件ml7002中所示,借由將維度從4元組減至I元組,內(nèi)存需求可從16984.5個(gè)字減至900個(gè)字而不損害編碼效率;及借由對(duì)LSB編碼應(yīng)用非均勻概率分布的碼簿,而非使用均勻概率分布的碼簿,可去除額外冗余。在評(píng)估過(guò)程中,可認(rèn)識(shí)到編碼方案從4元組移動(dòng)至I元組對(duì)運(yùn)算復(fù)雜度造成顯著影響編碼維度的縮小以相同因數(shù)而增加欲編碼符元的數(shù)目。對(duì)于從4元組減至I元組,這意味著確定脈絡(luò)、存取散列表,及解碼符元所需執(zhí)行的運(yùn)算比先前多四倍。結(jié)合用于脈絡(luò)確定的更復(fù)雜算法,這導(dǎo)致運(yùn)算復(fù)雜度增至2.5倍或者是X.xxP⑶。后文中將簡(jiǎn)單敘述依據(jù)本發(fā)明的實(shí)施例所提出的新方案。為了克服內(nèi)存量(footprint)及運(yùn)算復(fù)雜度的問(wèn)題,提出改良型無(wú)噪聲編碼方案來(lái)取代工作草稿5(WD5)中的方案。開(kāi)發(fā)的主要焦點(diǎn)放在減少內(nèi)存需求,同時(shí)維持壓縮效率并且不增加運(yùn)算復(fù)雜度。更明確地說(shuō),目的是為了實(shí)現(xiàn)壓縮性能、復(fù)雜度及內(nèi)存需求的多維復(fù)雜度空間的良好的(或甚至是最佳的)折衷。新的編碼方案提案借用WD5無(wú)噪聲編碼器的主要特征,亦即脈絡(luò)適應(yīng)。脈絡(luò)使用先前已解碼的頻譜系數(shù)導(dǎo)算出,如同在WD5中,頻譜系數(shù)來(lái)自于過(guò)去幀及當(dāng)前幀(其中一幀可被視為音頻內(nèi)容的一部分)。但頻譜系數(shù)現(xiàn)在通過(guò)將兩個(gè)系數(shù)組合在一起以形成一個(gè)2元組而被編碼。另一個(gè)差異在于頻譜系數(shù)現(xiàn)在分裂成三部分符號(hào)(sign)、較高有效比特或最高有效比特(MSB),及較低有效比特或最低有效比特(LSB)。符號(hào)與幅度獨(dú)立地編碼,幅度又再劃分成兩部分最高有效比特(或較高有效比特)及其余的比特(或較低有效比特)(若存在的話)。兩個(gè)元素的幅度小于或等于3的2元組通過(guò)MSB編碼而直接編碼。否貝U,首先傳輸一個(gè)脫序碼字來(lái)標(biāo)示任何額外的比特平面。在基礎(chǔ)版本中,遺漏的信息,亦即LSB及符號(hào),皆使用均勻概率分布來(lái)編碼。另外,可使用不同概率分布。表大小的縮小仍屬可能,原因在于·只需儲(chǔ)存17個(gè)符元的概率{[O;+3],[O;+3]}+ESC符元;無(wú)需儲(chǔ)存群組表(egroups、dgroups、dgvectors);·散列表的大小可以通過(guò)適當(dāng)訓(xùn)練加以縮小。后文中,將敘述有關(guān)MSB編碼的若干細(xì)節(jié)。如前文已經(jīng)提到的,USAC草擬標(biāo)準(zhǔn)的WD5、第90屆MPEG會(huì)議上遞交的提案與本提案間的主要差異之一為符元的維度。在USAC草擬標(biāo)準(zhǔn)的WD5中,4元組被考慮用于脈絡(luò)的產(chǎn)生及無(wú)噪聲編碼。在第90屆MPEG會(huì)議上遞交的提案中,使用I元組取而代之用來(lái)減少ROM需求。在開(kāi)發(fā)過(guò)程中,發(fā)現(xiàn)2元組為減少ROM需求,而不增加運(yùn)算復(fù)雜度的最佳折衷。對(duì)于脈絡(luò)更新,現(xiàn)在考慮四個(gè)2元組,而不考慮四個(gè)4元組。如圖15a中所示,三個(gè)2元組來(lái)自過(guò)去巾貞(也稱為音頻內(nèi)容的先前部分),且一個(gè)2元組來(lái)自當(dāng)前幀(也稱為音頻內(nèi)容的當(dāng)前部分)。表大小的縮小是由于三個(gè)主要因素。首先,只需儲(chǔ)存17個(gè)符元的概率(亦即{[O;+3],}+ESC符元)。不再需要群組表(亦即egroups、dgroups及dgvectors)。最后,散列表的大小通過(guò)實(shí)施適當(dāng)訓(xùn)練加以縮小。雖然維度從4維減至2維,但復(fù)雜度仍維持與USAC草擬標(biāo)準(zhǔn)的WD5相同的范圍。這是借由簡(jiǎn)化脈絡(luò)產(chǎn)生及散列表存取而實(shí)現(xiàn)的。不同的簡(jiǎn)化及優(yōu)化以編碼性能不受影響,甚至略有改良的方式進(jìn)行。這主要是借由將概率模型數(shù)目從32個(gè)增至96個(gè)來(lái)實(shí)現(xiàn)。后文中,將敘述有關(guān)LSB編碼的若干細(xì)節(jié)。在若干實(shí)施例中,LSB以均等概率分布來(lái)編碼。與USAC草擬標(biāo)準(zhǔn)的WD5相比,LSB現(xiàn)在被考慮進(jìn)2元組而非4元組。后文中,將解釋有關(guān)符號(hào)編碼的若干細(xì)節(jié)。為了減少?gòu)?fù)雜度,符號(hào)并不使用算術(shù)核心編碼器來(lái)編碼。唯有當(dāng)相對(duì)應(yīng)的幅度為非空(non-null)時(shí),符號(hào)才以1_比特來(lái)傳輸。O表示正值,而I表示負(fù)值。后文中,將解釋有關(guān)內(nèi)存需求的若干細(xì)節(jié)。提出的新方案具有最多1522.5個(gè)新字(6090個(gè)字節(jié))的整體ROM需求。詳情請(qǐng)參考圖15b的表,此圖描述在所提出的編碼方案中使用的表。與USAC草擬標(biāo)準(zhǔn)的TO5中的無(wú)噪聲編碼方案的ROM需求相比,ROM需求減少至少15462個(gè)字(61848個(gè)字節(jié))?,F(xiàn)在最終獲得與HE-AAC的AAC霍夫曼解碼器所需內(nèi)存需求(995個(gè)字或3980個(gè)字節(jié))相同數(shù)量級(jí)的內(nèi)存需求。詳情請(qǐng)參考IS0/IECJTCl/SC29/WG11N2005,MPEG98,1998年2月,圣荷西市,「RevisedReportonComplexityofMPEG-2AAC2」,同時(shí)參考圖16a。這減少無(wú)噪聲編碼器的總ROM需求超過(guò)92%,及對(duì)完整的USAC解碼器而言從約37000個(gè)字減至約21500個(gè)字,或減少超過(guò)41%。詳情請(qǐng)?jiān)俣葏⒖紙D16a及16b,其中圖16a顯示所提出的無(wú)噪聲編碼方案的ROM需求,及依據(jù)USAC草擬標(biāo)準(zhǔn)的WD4的無(wú)噪聲編碼方案的ROM需求,且其中圖16b顯示依據(jù)所提出的方案及依據(jù)USAC草擬標(biāo)準(zhǔn)的WD4的總USAC解碼器數(shù)據(jù)ROM需求。更進(jìn)一步,也減少了在下一幀中脈絡(luò)導(dǎo)算所需的信息(靜態(tài)ROM)量。在USAC草擬標(biāo)準(zhǔn)的WD5中,除了每個(gè)分辨率為10比特的4元組的一群組索引需要儲(chǔ)存以外,分辨率通常為16比特的完整系數(shù)集合(最大為1152個(gè)系數(shù))也需要儲(chǔ)存,總計(jì)每個(gè)核心編碼器通道666個(gè)字(2664字節(jié))(對(duì)完整的USACWD4解碼器約10000至17000個(gè)字)。新的方案將持久信息(persistentinformation)減至只有每頻譜系數(shù)2-比特,加總成每個(gè)核心編碼器通道總計(jì)72個(gè)字(288字節(jié))。靜態(tài)存儲(chǔ)器需求可減少594個(gè)字(2376字節(jié))。后文中將敘述有關(guān)可能的編碼效率提聞的若干細(xì)節(jié)。依據(jù)新提案的實(shí)施例的解碼效率與依據(jù)USAC草擬標(biāo)準(zhǔn)的工作草稿3(WD3)及WD5的參考品質(zhì)比特串流作比較。比較利用轉(zhuǎn)碼器基于參考軟件解碼器來(lái)執(zhí)行。有關(guān)依據(jù)USAC草擬標(biāo)準(zhǔn)的WD3或WD5的無(wú)噪聲編碼與所提議的編碼方案的所述比較的細(xì)節(jié),請(qǐng)參考圖17,其顯示用于WD3/5無(wú)噪聲編碼方案與所提出的編碼方案的比較的測(cè)試配置的示意表示。而且,依據(jù)本發(fā)明的實(shí)施例的內(nèi)存需求與依據(jù)USAC草擬標(biāo)準(zhǔn)的WD3(或WD5)的實(shí)施例作比較。編碼效率不僅維持同時(shí)略增。詳情請(qǐng)參考圖18的表,其顯示由WD3算術(shù)編碼器(或使用WD3算術(shù)編碼器的USAC音頻編碼器)及由依據(jù)本發(fā)明的一實(shí)施例的音頻編碼器(例如,USAC音頻編碼器)所產(chǎn)生的平均比特率的表格表示。有關(guān)每種操作模式的平均比特率的細(xì)節(jié)可見(jiàn)圖18的表。此外,圖19顯示W(wǎng)D3算術(shù)編碼器(或使用WD3算術(shù)編碼器的音頻編碼器)及依據(jù)本發(fā)明的一實(shí)施例的音頻編碼器的最小及最大比特池位階(bitreserviorlevel)的表格表不。后文中,將描述有關(guān)運(yùn)算復(fù)雜度的若干細(xì)節(jié)。算術(shù)編碼維度的縮小通常導(dǎo)致運(yùn)算復(fù)雜度增大。實(shí)際上,使維度縮小至2維將使得算術(shù)編碼器程序的調(diào)用變?yōu)閮杀丁5珮I(yè)已發(fā)現(xiàn)此種復(fù)雜度增大能通過(guò)依據(jù)本發(fā)明的實(shí)施例所提出的新的編碼方案中引入的若干優(yōu)化而被限制。在依據(jù)本發(fā)明的某些實(shí)施例中,脈絡(luò)產(chǎn)生大為簡(jiǎn)化。對(duì)于每一個(gè)2元組,脈絡(luò)可從最后一個(gè)產(chǎn)生的脈絡(luò)而遞增地更新。概率現(xiàn)在以14比特而非16比特儲(chǔ)存,避免解碼程序過(guò)程中的64-比特運(yùn)算。此外,在依據(jù)本發(fā)明的若干實(shí)施例中,概率模型的映射大為優(yōu)化。最壞情況大減且限縮至10次迭代重復(fù)而非95次迭代重復(fù)。結(jié)果,所提出的無(wú)噪聲編碼方案的運(yùn)算復(fù)雜度維持在與WD5之中的運(yùn)算復(fù)雜度相同的范圍?!讣埞P(penandpaper)」估算借不同版本的無(wú)噪聲編碼來(lái)執(zhí)行且被記錄在圖20的表中。其顯示新的編碼方案的復(fù)雜度只比WD5算術(shù)編碼器少約13%。綜上所述,可知依據(jù)本發(fā)明的實(shí)施例提供運(yùn)算復(fù)雜度、內(nèi)存需求與編碼效率間的特佳折衷。14.比特串流語(yǔ)法14.I頻譜無(wú)噪聲編碼器的有效載荷(payload)后文中,將描述有關(guān)頻譜無(wú)噪聲編碼器的有效載荷的若干細(xì)節(jié)。在若干實(shí)施例中,有多種不同編碼模式,諸如,舉例而言,所謂的「線性預(yù)測(cè)域」編碼模式及「頻域」編碼模式。在線性預(yù)測(cè)域編碼模式中,噪聲整形基于音頻信號(hào)的線性預(yù)測(cè)分析來(lái)執(zhí)行,且噪聲整形信號(hào)在頻域中編碼。在頻域編碼模式中,噪聲整形基于心理聲學(xué)分析來(lái)執(zhí)行,且音頻內(nèi)容的噪聲整形版本在頻域中編碼。來(lái)自「線性預(yù)測(cè)域」編碼信號(hào)及「頻域」編碼信號(hào)的頻譜系數(shù)經(jīng)定標(biāo)量化(scalarquantized),且接著借脈絡(luò)相依的適應(yīng)性算術(shù)編碼(adaptivelycontextdependentarithmeticcoding)而無(wú)噪聲地編碼。量化系數(shù)在從最低頻率至最高頻率傳輸之前收集合成2元組。每一個(gè)2元組分裂成符號(hào)S、最高有效逐2-比特平面m,及其余的一或多個(gè)較低有效比特平面r(若有的話)。值m依據(jù)由鄰近的頻譜系數(shù)所定義的脈絡(luò)來(lái)編碼。換言之,m依據(jù)系數(shù)鄰近關(guān)系而被編碼。其余的較低有效比特平面r被熵編碼而不考慮脈絡(luò)。利用m及r,這些頻譜系數(shù)的幅度可在解碼器端重構(gòu)。對(duì)全部非空符元而言,符號(hào)s使用I-比特而在算術(shù)編碼器外部編碼。換言之,值m及r形成算術(shù)編碼器的符元。最后,對(duì)每個(gè)非空量化系數(shù)而言,符號(hào)s使用I-比特而在算術(shù)編碼器外部編碼。本文已敘述詳細(xì)的算術(shù)編碼程序。14.2語(yǔ)法元素后文中,將參考圖6a至6j來(lái)描述攜帶算術(shù)編碼頻譜信息的一比特串流的比特串流語(yǔ)法。圖6a顯示所謂的USAC原始數(shù)據(jù)區(qū)塊(「usac_raw_data_blockOJ)的語(yǔ)法表示。USAC原始數(shù)據(jù)區(qū)塊包含一或多個(gè)單一通道元素(「single_channel_element()J)及/或一或多個(gè)成對(duì)通道元素(「channel_pair_elementO」)。現(xiàn)在參考圖6b,描述單一通道元素的語(yǔ)法。視核心模式而定,單一通道元素包含線性預(yù)測(cè)域通道串流(「lpd_channel_stream()」)或者是頻域通道串流(「fd_channel_stream()」)。圖6c顯示一成對(duì)通道元素的語(yǔ)法表示。成對(duì)通道元素包含核心模式信息(「core_modeOJ>Γcore_modeIJ)。除此之外,成對(duì)通道元素可包含組態(tài)信息「ics_info()」。此外,依據(jù)核心模式信息,成對(duì)通道元素包含與通道中的第一者相關(guān)聯(lián)的線性預(yù)測(cè)域通道串流或頻域通道串流,且成對(duì)通道元素還包含與通道中的第二者相關(guān)聯(lián)的線性預(yù)測(cè)域通道串流或頻域通道串流。其語(yǔ)法表示顯示于圖6d的組態(tài)信息「ics_infoO」包含多個(gè)不同的組態(tài)信息項(xiàng),它們與本發(fā)明并無(wú)特別的關(guān)聯(lián)。其語(yǔ)法表示顯示于圖6e的頻域通道串流(「fd_channel_streamOJ)包含增益信息(「global_gain」)及組態(tài)信息「ics_info()」。此外,頻域通道串流包含尺度因子數(shù)據(jù)(「SCale_faCt0r_data()」),其描述用于不同尺度因子頻帶的頻譜值的定標(biāo)的尺度因子,且例如借定標(biāo)器150及重定標(biāo)器240應(yīng)用。頻域通道串流還包含表示算術(shù)編碼頻譜值的算術(shù)編碼頻譜數(shù)據(jù)(「ac_spectral_dataO」)。其語(yǔ)法表示顯示于圖6f的算術(shù)編碼頻譜數(shù)據(jù)(「ac_spectral_data()」)包含用于選擇性地重置脈絡(luò)(如前所述)的一選擇性的算術(shù)重置旗標(biāo)(「arith_reSet_flag」)。此外,算術(shù)編碼頻譜數(shù)據(jù)包含攜帶所述算術(shù)編碼頻譜值的多個(gè)算術(shù)數(shù)據(jù)區(qū)塊(「arith_data」)。算術(shù)編碼數(shù)據(jù)區(qū)塊的結(jié)構(gòu)取決于頻帶數(shù)目(以變量「num_bands」來(lái)表示),且還取決于算術(shù)重置旗標(biāo)的狀態(tài),容后詳述。后文將參考圖6g來(lái)描述算術(shù)編碼數(shù)據(jù)區(qū)塊的結(jié)構(gòu),其顯示所述算術(shù)編碼數(shù)據(jù)區(qū)塊的語(yǔ)法表示。在算術(shù)編碼數(shù)據(jù)區(qū)塊內(nèi)部的數(shù)據(jù)表示取決于欲編碼頻譜值的數(shù)目lg、算術(shù)重置旗標(biāo)的狀態(tài),也取決于脈絡(luò),亦即先前已編碼的頻譜值。頻譜值的當(dāng)前集合(例如,2元組)的編碼用脈絡(luò)依據(jù)參考數(shù)字660所示脈絡(luò)確定算法來(lái)確定。有關(guān)脈絡(luò)確定算法的細(xì)節(jié)已經(jīng)參考圖5a及5b在上文說(shuō)明過(guò)。算術(shù)編碼數(shù)據(jù)區(qū)塊包含lg/2個(gè)碼字集合,每一個(gè)碼字的集合表示多個(gè)(例如,一個(gè)2元組)頻譜值。一碼字集合包含使用I至20個(gè)比特來(lái)表示頻譜值元組的最高有效比特平面值m的算術(shù)碼字「acod_m[pki][m]」。此外,為了正確表示,如果頻譜值元組需要比最高有效比特平面更多的比特平面,碼字集合包含一或多個(gè)碼字「acod_r[r]」。碼字「acod_r[r]」使用I至14個(gè)比特來(lái)表示較低有效比特平面。然而,當(dāng)為了頻譜值的適當(dāng)表示需要一或多個(gè)較低有效比特平面(除了最高有效比特平面之外)時(shí),這使用一或多個(gè)算術(shù)脫序碼字(「ARITH_ESCAPE」)來(lái)標(biāo)示。如此,概括而言,對(duì)一頻譜值,確定需要多少個(gè)比特平面(最高有效比特平面,及可能,一或多個(gè)額外的較低有效比特平面)。若需要一或多個(gè)較低有效比特平面,則借一或多個(gè)算術(shù)脫序碼字「aCod_m[pki][ARITH_ESCAPE]」來(lái)標(biāo)示,這些算術(shù)脫序碼字依據(jù)當(dāng)前選定的累積頻率表而編碼,當(dāng)前選定的累積頻率表的累積頻率表索引由變量「pki」給定。此外,如由參考數(shù)字664、662可知,若一或多個(gè)算術(shù)脫序碼字含括在比特串流中,則脈絡(luò)被修改。如參考數(shù)字663所示,在一或多個(gè)算術(shù)脫序碼字之后,算術(shù)碼字「aCod_m[pki][m]」含括在比特串流中,其中「pki」標(biāo)示當(dāng)前有效概率模型索引(將借由含括算術(shù)脫序碼字所造成的脈絡(luò)修改列入考慮),且其中m標(biāo)示欲編碼或欲解碼頻譜值的最高有效比特平面值(其中m與「ARITH_ESCAPE」碼字相異)。如前文討論,任何較低有效比特平面的存在會(huì)導(dǎo)致一或多個(gè)碼字「acod_r[r]」的存在,其各自表示第一個(gè)頻譜值的最低有效比特平面的一比特,且其各自也表示第二個(gè)頻譜值的最低有效比特平面的一比特。一或多個(gè)碼字「acod_r[r]」依據(jù)對(duì)應(yīng)的累積頻率表來(lái)編碼,該表,例如,可以是固定量并且是脈絡(luò)非相依性的。但也可能使用不同選擇機(jī)制來(lái)選擇用于一或多個(gè)碼字「acod_r[r]」解碼的累積頻率表。此外,須注意在每一個(gè)頻譜值元組編碼后,脈絡(luò)被更新,如參考數(shù)字668所示,使得脈絡(luò)通常變得不同,以用于隨后接續(xù)的兩個(gè)頻譜值元組的編碼及解碼。圖6i顯示定義算術(shù)編碼數(shù)據(jù)區(qū)塊的語(yǔ)法的定義及輔助元素的說(shuō)明。此外,圖6h顯示算術(shù)數(shù)據(jù)「arith_data()」的替代語(yǔ)法,而圖6j顯示相對(duì)應(yīng)的定義及輔助元素的說(shuō)明。概括而言,已經(jīng)描述可由音頻編碼器100提供且可由音頻解碼器200評(píng)估的比特串流格式。算術(shù)編碼頻譜值的比特串流經(jīng)編碼,使得其適合前文討論的解碼算法。此外,一般說(shuō)來(lái)編碼為解碼的反向運(yùn)算,因而通常可假設(shè)編碼器使用前文討論的表來(lái)執(zhí)行表查找,約略為借解碼器執(zhí)行的表查找的反向。一般而言,可以說(shuō)知曉解碼算法及/或期望的比特串流語(yǔ)法的本領(lǐng)域技術(shù)人員將容易設(shè)計(jì)出一種提供比特串流語(yǔ)法中定義的及算術(shù)解碼器所需的數(shù)據(jù)的算術(shù)編碼器。此外,須注意用以確定數(shù)值當(dāng)前脈絡(luò)值及用以導(dǎo)算映射規(guī)則索引值的機(jī)制在音頻編碼器及音頻解碼器中可能是相同的,原因在于通常期望音頻解碼器使用與音頻編碼器相同的脈絡(luò),使得解碼適應(yīng)于編碼。15.實(shí)施的替代方案雖然已就裝置脈絡(luò)描述若干方面,但顯然這些方面也表示對(duì)應(yīng)方法的描述,其中一方塊或裝置對(duì)應(yīng)于一方法步驟或一方法步驟的特征。類(lèi)似地,就一方法步驟的脈絡(luò)所描述的方面也表示對(duì)應(yīng)裝置的一對(duì)應(yīng)區(qū)塊或項(xiàng)目或特征的描述。部分或全部方法步驟可借(或使用)硬件裝置,例如,微處理器、可編程計(jì)算機(jī)或電子電路來(lái)執(zhí)行。在若干實(shí)施例中,最重要的方法步驟中的某一或多者可借此種裝置來(lái)執(zhí)行。本發(fā)明的編碼音頻信號(hào)可儲(chǔ)存在數(shù)字儲(chǔ)存媒體上或可在傳輸媒體,諸如,無(wú)線傳輸媒體或有線傳輸媒體,諸如Internet上傳輸。依據(jù)某些實(shí)施要求,本發(fā)明的實(shí)施例可使用硬件或使用軟件形式來(lái)實(shí)施。實(shí)施可使用其上儲(chǔ)存有電子可讀取控制信號(hào)的數(shù)字存儲(chǔ)媒體,例如,軟盤(pán)、DVD、藍(lán)光碟、CD、ROM、PROM、EPROM、EEPR0M,或閃存來(lái)執(zhí)行,所述電子可讀取控制信號(hào)與可編程計(jì)算機(jī)系統(tǒng)合作(或能夠與之合作),因而可執(zhí)行各自的方法。因此,數(shù)字儲(chǔ)存媒體可能是計(jì)算機(jī)可讀取的。依據(jù)本發(fā)明的若干實(shí)施例包含具有電子可讀取式控制信號(hào)的一數(shù)據(jù)載體,所述電子可讀取式控制信號(hào)能夠與可編程計(jì)算機(jī)系統(tǒng)合作,而執(zhí)行本文所述方法之一?!愣?,本發(fā)明的實(shí)施例能以帶有程序碼的計(jì)算機(jī)程序產(chǎn)品來(lái)實(shí)施,當(dāng)該計(jì)算機(jī)程序產(chǎn)品在一計(jì)算機(jī)上運(yùn)行時(shí),該程序碼可操作來(lái)執(zhí)行所述方法之一。該程序碼,例如,可儲(chǔ)存在機(jī)器可讀取載體上。其它實(shí)施例包含儲(chǔ)存在機(jī)器可讀取載體上用以執(zhí)行本文所述方法之一的計(jì)算機(jī)程序。因此,換言之,本發(fā)明方法的一實(shí)施例是一種計(jì)算機(jī)程序,該計(jì)算機(jī)程序具有,當(dāng)該計(jì)算機(jī)程序在一計(jì)算機(jī)上運(yùn)行時(shí),用以執(zhí)行本文所述方法之一的程序碼。因此,本發(fā)明方法的又一實(shí)施例是一種數(shù)據(jù)載體(或數(shù)字儲(chǔ)存媒體或計(jì)算機(jī)可讀取媒體),它包含記錄于其上的用以執(zhí)行本文所述方法之一的計(jì)算機(jī)程序。該數(shù)據(jù)載體、數(shù)字儲(chǔ)存媒體或記錄媒體通常是具體有形的(tangible)及/或非暫態(tài)的(non-transitionary)。因此,本發(fā)明方法的又一實(shí)施例是表示用以執(zhí)行本文所述方法之一的計(jì)算機(jī)程序的一數(shù)據(jù)串流或一信號(hào)序列。該數(shù)據(jù)串流或信號(hào)序列,例如,可被配置成通過(guò)數(shù)據(jù)通訊連接,例如,通過(guò)Internet來(lái)傳輸。又一實(shí)施例包含一種處理裝置,例如,計(jì)算機(jī)或可編程邏輯裝置,其被配置成或適用于執(zhí)行本文所述方法之一。又一實(shí)施例包含一種計(jì)算機(jī),其上安裝有用以執(zhí)行本文所述方法之一的計(jì)算機(jī)程序。依據(jù)本發(fā)明的又一實(shí)施例包含一種被配置成傳輸(例如以電子方式或光學(xué)方式)用以執(zhí)行本文所述方法之一的計(jì)算機(jī)程序給接收器的裝置或系統(tǒng)。該接收器,例如,可以是計(jì)算機(jī)、移動(dòng)裝置、存儲(chǔ)裝置等。該裝置或系統(tǒng),例如,可包含一種用來(lái)傳輸計(jì)算機(jī)程序給接收器的文件服務(wù)器。在若干實(shí)施例中,一種可編程邏輯裝置(例如,現(xiàn)場(chǎng)可編程門(mén)陣列)可用來(lái)執(zhí)行本文所述方法的部分或全部功能。在若干實(shí)施例中,現(xiàn)場(chǎng)可編程門(mén)陣列可與微處理器合作以執(zhí)行本文所述方法之一。一般而言,所述方法較佳地借任一種硬件裝置來(lái)執(zhí)行。上述實(shí)施例僅供舉例說(shuō)明本發(fā)明的原理。應(yīng)知本文所述配置及細(xì)節(jié)的修正及變化為本領(lǐng)域技術(shù)人員所顯然易知。因此,意圖只受隨附的專(zhuān)利權(quán)利要求的范圍的限制而非受通過(guò)說(shuō)明與解釋本文實(shí)施例所呈現(xiàn)的特定細(xì)節(jié)的限制。16.結(jié)論總而言之,依據(jù)本發(fā)明的實(shí)施例包含下列方面中的一或多者,其中所述方面可單獨(dú)使用或組合使用。a)脈絡(luò)狀態(tài)散列機(jī)制依據(jù)本發(fā)明的一方面,散列表中的狀態(tài)被認(rèn)為是有效狀態(tài)及群組邊界。這允許顯著縮小所需表的大小。b)增值脈絡(luò)更新依據(jù)一方面,依據(jù)本發(fā)明的若干實(shí)施例包含用以更新脈絡(luò)的運(yùn)算有效率的方式。若干實(shí)施例使用增值脈絡(luò)更新,其中數(shù)值當(dāng)前脈絡(luò)值從數(shù)值先前脈絡(luò)值導(dǎo)算出。c)脈絡(luò)導(dǎo)算依據(jù)本發(fā)明的一方面,使用兩個(gè)頻譜絕對(duì)值的和與截取(truncation)運(yùn)算相結(jié)合。它屬于一種頻譜系數(shù)的增益向量量化(而與習(xí)知的形狀-增益向量量化相反)。其目的在于限制脈絡(luò)數(shù)量級(jí),同時(shí)從鄰近獲取最有意義的信息。應(yīng)用于依據(jù)本發(fā)明的實(shí)施例的若干其它技術(shù)記載在先前未曾公開(kāi)的專(zhuān)利申請(qǐng)案PCTEP2101/065725、PCTEP2010/065726,及PCTEP2010/065727中。此外,在依據(jù)本發(fā)明的若干實(shí)施例中,使用終止符元。此外,在若干實(shí)施例中,對(duì)于脈絡(luò)只考慮無(wú)符號(hào)值。但上文提到的先前未曾公開(kāi)的國(guó)際專(zhuān)利申請(qǐng)案揭示依據(jù)本發(fā)明的若干實(shí)施例仍在使用的方面。例如,零區(qū)的識(shí)別用在本發(fā)明的若干實(shí)施例中。據(jù)此,設(shè)定所謂的「小值旗標(biāo)」(例如,數(shù)值當(dāng)前脈絡(luò)值c的比特16)。在若干實(shí)施例中,可使用區(qū)域相依性脈絡(luò)運(yùn)算。但在其它實(shí)施例中,可省略區(qū)域相依性脈絡(luò)運(yùn)算以保持復(fù)雜度及表大小相當(dāng)小。此外,使用散列函數(shù)的脈絡(luò)散列是本發(fā)明的一個(gè)重要方面。脈絡(luò)散列可基于上述先前未曾公開(kāi)的國(guó)際專(zhuān)利申請(qǐng)案中所述的二表(two-table)構(gòu)想。但脈絡(luò)散列的特定調(diào)整可用于若干實(shí)施例來(lái)提高運(yùn)算效率。雖說(shuō)如此,在依據(jù)本發(fā)明的若干其它實(shí)施例中,可使用上述先前未曾公開(kāi)的國(guó)際專(zhuān)利申請(qǐng)案中所述的脈絡(luò)散列。此外,須注意增值脈絡(luò)散列相當(dāng)簡(jiǎn)單且運(yùn)算效率高。并且,脈絡(luò)與用于本發(fā)明的若干實(shí)施例的值的符號(hào)的非相依性協(xié)助簡(jiǎn)化脈絡(luò),借此使內(nèi)存需求相當(dāng)?shù)?。在本發(fā)明的若干實(shí)施例中,使用利用兩個(gè)頻譜值的和與脈絡(luò)限制的脈絡(luò)導(dǎo)算。這兩個(gè)方面可組合。二者的目的都在于借由從鄰近獲取最有意義的信息來(lái)限制脈絡(luò)數(shù)量級(jí)。在若干實(shí)施例中,使用小值旗標(biāo),其可能類(lèi)似于對(duì)一組多個(gè)零值的識(shí)別。在依據(jù)本發(fā)明的若干實(shí)施例中,使用算術(shù)終止機(jī)制。該構(gòu)想類(lèi)似于JPEG中具有類(lèi)似功能的符元「區(qū)塊結(jié)束(end-of-block)」的使用。但在本發(fā)明的若干實(shí)施例中,符元(「ARITH_ST0P」)并未明確地含括在熵編碼器中。而是使用先前不出現(xiàn)的,已存在的符元的一組合,亦即「ESC+0」。換言之,音頻解碼器被配置成檢測(cè)通常并不用來(lái)表示數(shù)值的既存符元的組合,且將此既存符元的組合的出現(xiàn)解譯為算術(shù)終止條件。依據(jù)本發(fā)明的一實(shí)施例使用一種二表脈絡(luò)散列機(jī)制。進(jìn)一步綜上所述,依據(jù)本發(fā)明的若干實(shí)施例可包含下列四個(gè)主要方面中的一或多者?!び靡詸z測(cè)鄰近的零區(qū)或小幅度區(qū)域的延伸脈絡(luò);·脈絡(luò)散列;·脈絡(luò)狀態(tài)產(chǎn)生脈絡(luò)狀態(tài)的增值更新'及·脈絡(luò)導(dǎo)算包括幅度加法及限制的脈絡(luò)值的特定量化。進(jìn)一步得出結(jié)論,依據(jù)本發(fā)明的實(shí)施例的一個(gè)方面在于增值脈絡(luò)更新。依據(jù)本發(fā)明的實(shí)施例包含一種用于脈絡(luò)更新的高效構(gòu)想,這避免工作草稿(例如,工作草稿5)的大規(guī)模的計(jì)算。更確切地說(shuō),在若干實(shí)施例中,使用簡(jiǎn)單的移位運(yùn)算及邏輯運(yùn)算。簡(jiǎn)單的脈絡(luò)更新顯著地便利了脈絡(luò)的運(yùn)算。在若干實(shí)施例中,脈絡(luò)與值(例如,已解碼頻譜值)的符號(hào)具非相依性。脈絡(luò)與值的符號(hào)的這種非相依性使脈絡(luò)變量的運(yùn)算復(fù)雜度降低。此構(gòu)想以忽略脈絡(luò)中的符號(hào)不會(huì)造成編碼效率顯著降級(jí)的發(fā)現(xiàn)為基礎(chǔ)。依據(jù)本發(fā)明的一方面,脈絡(luò)使用兩個(gè)頻譜值的和來(lái)導(dǎo)算。據(jù)此,用于脈絡(luò)儲(chǔ)存的內(nèi)存需求顯著降低。如此,在某些情況下,使用表示兩個(gè)頻譜值的和的一脈絡(luò)值可被視為是有利的。并且,在某些情況下,脈絡(luò)限制帶來(lái)顯著改良。在若干實(shí)施例中,除了使用兩個(gè)頻譜值的和來(lái)導(dǎo)算脈絡(luò)之外,脈絡(luò)陣列「q」的表項(xiàng)被限制于最大值「OxF」,而這又導(dǎo)致內(nèi)存需求受限。對(duì)脈絡(luò)陣列「q」的值加以限制帶來(lái)若干優(yōu)點(diǎn)。在若干實(shí)施例中,使用所謂的「小值旗標(biāo)」。在獲得脈絡(luò)變量c(也稱為數(shù)值當(dāng)前脈絡(luò)值)時(shí),如果若干表項(xiàng)「q[l][i_3]」至「q[l][i_l]」的值很小,則設(shè)定一旗標(biāo)。據(jù)此,可以高效率執(zhí)行脈絡(luò)的運(yùn)算??色@得特別有意義的脈絡(luò)值(例如,數(shù)值當(dāng)前脈絡(luò)值)。在若干實(shí)施例中,使用算術(shù)終止機(jī)制。當(dāng)只余零值時(shí),「ARITH_ST0P」機(jī)制允許算術(shù)編碼或解碼有效停止。據(jù)此,就復(fù)雜度而言,可以中等成本改良編碼效率。依據(jù)本發(fā)明的一方面,使用二表脈絡(luò)散列機(jī)制。脈絡(luò)的映射使用區(qū)間劃分算法評(píng)估表「ari_hash_m」并結(jié)合接續(xù)的對(duì)表「ari_lookup_m」的查找表評(píng)估來(lái)執(zhí)行。此算法比WD3算法更有效。后文將討論若干額外的細(xì)節(jié)。此處須注意表「ari_hash_m[600]」與「ari_lookup_m[600]」是兩個(gè)不同的表。第一個(gè)表用來(lái)將單一脈絡(luò)索引(例如,數(shù)值脈絡(luò)值)映射至概率模型索引(例如,映射規(guī)則索引值),且第二個(gè)表用來(lái)將由「arith_hash_m[]」中的脈絡(luò)索引確定界限的一組連續(xù)脈絡(luò)映射至單一概率模型。須進(jìn)一步注意,即使維度略為不同,表「arith_cf_msb[96][16]」也可用作表Γari_cf_m[96][17]J的替代物。Γari_cf_m[][]J與「ari_cf_msb[][]J可指相同的表,原因在于概率模型的第17個(gè)系數(shù)總是零。當(dāng)計(jì)算用以儲(chǔ)存所述表所需的空間時(shí),有時(shí)并不將其列入考慮。綜上所述,依據(jù)本發(fā)明的若干實(shí)施例提供一種所提出的新的無(wú)噪聲編碼(編碼或解碼),其產(chǎn)生MPEGUSAC工作草稿(例如,MPE⑶SAC工作草稿5)的修正。所述修正可見(jiàn)所附圖式及相關(guān)描述。作為結(jié)束語(yǔ),須注意變量、陣列、函數(shù)等名稱的前綴詞「ari」及前綴詞「arith」可互換使用。權(quán)利要求1.一種用以基于ー編碼音頻信息(210;810)來(lái)提供一解碼音頻信息(212;812)的音頻解碼器(200;800),所述音頻解碼器包含一算木解碼器(230;820),用以基于多個(gè)頻譜值的算術(shù)編碼表示(222;821)來(lái)提供多個(gè)解碼頻譜值(232;822);及ー頻域至?xí)r域變換器(260;830),用以使用所述解碼頻譜值(232;822)來(lái)提供ー時(shí)域音頻表示(262;812),以獲得所述解碼音頻信息(212;812);其中所述算術(shù)解碼器(230;820)被配置成依據(jù)由ー數(shù)值當(dāng)前脈絡(luò)值(c)所描述的ー脈絡(luò)狀態(tài)來(lái)選擇一映射規(guī)則(297;cum_freq[]),所述映射規(guī)則描述ー碼值(acod_m,value)到一符元碼(symbol)的映射;且其中所述算術(shù)解碼器(230;820)被配置成依據(jù)多個(gè)先前已解碼的頻譜值來(lái)確定所述數(shù)值當(dāng)前脈絡(luò)值(c);其中所述算術(shù)解碼器被配置成基于先前已解碼的頻譜值來(lái)獲得多個(gè)脈絡(luò)子區(qū)值(q[i-l],q[i],q[i+1],q[l][i_l]),并儲(chǔ)存所述脈絡(luò)子區(qū)值;其中所述算術(shù)解碼器被配置成依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值(q[i-l],q[i],q[i+l],q[l][i_l])來(lái)導(dǎo)算出與一或多個(gè)欲解碼的頻譜值相關(guān)聯(lián)的一數(shù)值當(dāng)前脈絡(luò)值(C);其中所述算術(shù)解碼器被配置成計(jì)算由多個(gè)先前已解碼頻譜值(a,b)所形成的一向量的范數(shù),以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值(q[l][i])。2.如權(quán)利要求I所述的音頻解碼器,其中所述算術(shù)解碼器被配置成計(jì)算與所述頻域至?xí)r域變換器的相鄰頻率倉(cāng)及所述音頻信息的一共用時(shí)間部分相關(guān)聯(lián)的多個(gè)先前已解碼頻譜值的絕對(duì)值的總和,以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的所述共用脈絡(luò)子區(qū)值。3.如權(quán)利要求I所述的音頻解碼器,其中所述算術(shù)解碼器被配置成量化與所述頻域至?xí)r域變換器的相鄰頻率倉(cāng)及所述音頻信息的一共用時(shí)間部分相關(guān)聯(lián)的多個(gè)先前已解碼頻譜值的范數(shù),以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的所述共用脈絡(luò)子區(qū)值。4.如權(quán)利要求I至3中任ー權(quán)利要求所述的音頻解碼器,其中所述算術(shù)解碼器被配置成計(jì)算使用一共用碼值(acod_m,value)來(lái)編碼的多個(gè)先前已解碼頻譜值(a,b)的絕對(duì)值的總和,以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的所述共用脈絡(luò)子區(qū)值。5.如權(quán)利要求I至4中任ー權(quán)利要求所述的音頻解碼器,其中所述算術(shù)解碼器被配置成提供有符號(hào)的已解碼頻譜值給所述頻域至?xí)r域變換器,并計(jì)算與所述有符號(hào)的已解碼頻譜值相對(duì)應(yīng)的絕對(duì)值的總和,以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的所述共用脈絡(luò)子區(qū)值。6.如權(quán)利要求I至5中任ー權(quán)利要求所述的音頻解碼器,其中所述算術(shù)解碼器被配置成由先前已解碼頻譜值的絕對(duì)值的ー總和來(lái)導(dǎo)算出一有限總和值,使得由所述有限總和值表示的一可能值范圍小于一可能總和值范圍。7.如權(quán)利要求I至6中任ー權(quán)利要求所述的音頻解碼器,其中所述算術(shù)解碼器被配置成依據(jù)與先前已解碼頻譜值的不同集合相關(guān)聯(lián)的多個(gè)脈絡(luò)子區(qū)值(q[i-l],q,[i],q[i+1],q[l][i_l])來(lái)獲得ー數(shù)值當(dāng)前脈絡(luò)值(c)。8.如權(quán)利要求7所述的音頻解碼器,其中所述算術(shù)解碼器被配置成獲得ー數(shù)值當(dāng)前脈絡(luò)值(C)的一數(shù)字表示,使得所述數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示的第一部分由多個(gè)先前已解碼頻譜值的絕對(duì)值的第一總和值或第一有限總和值來(lái)確定,且使得所述數(shù)值當(dāng)前脈絡(luò)值的數(shù)字表示的第二部分由多個(gè)先前已解碼頻譜值的絕對(duì)值的第二總和值或第二有限總和值來(lái)確定。9.如權(quán)利要求7或8所述的音頻解碼器,其中所述算術(shù)解碼器被配置成獲得所述數(shù)值當(dāng)前脈絡(luò)值(C),使得多個(gè)先前已解碼頻譜值的絕對(duì)值的第一總和值或第一有限總和值,及多個(gè)先前已解碼頻譜值的絕對(duì)值的第二總和值或第二有限總和值包含所述數(shù)值當(dāng)前脈絡(luò)值(C)中的不同權(quán)值。10.如權(quán)利要求7至9中任ー權(quán)利要求所述的音頻解碼器,其中所述算術(shù)解碼器被配置成依據(jù)多個(gè)先前已解碼頻譜值的絕對(duì)值的一總和值或一有限總和值(q[l][i_l])來(lái)修改描述與ー或多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的一脈絡(luò)狀態(tài)的ー數(shù)值先前脈絡(luò)值(C)的數(shù)字表示,以獲得描述與ー或多個(gè)欲解碼頻譜值相關(guān)聯(lián)的ー脈絡(luò)狀態(tài)的ー數(shù)值當(dāng)前脈絡(luò)值(C)的數(shù)字表示。11.如權(quán)利要求I至10中任ー權(quán)利要求所述的音頻解碼器,其中所述算術(shù)解碼器被配置成檢查多個(gè)脈絡(luò)子區(qū)值(q[l][i-3],q[l][i_2],q[l][i-l])的一總和是否小于或等于一預(yù)定總和臨界值,及依據(jù)ー檢查結(jié)果來(lái)選擇性地修改所述數(shù)值當(dāng)前脈絡(luò)值(C),其中所述脈絡(luò)子區(qū)值(q[l][i-3],q[l][i_2],q[l][i_l])中的每ー個(gè)脈絡(luò)子區(qū)值是相關(guān)聯(lián)的多個(gè)先前已解碼頻譜值的絕對(duì)值的一總和值或一有限總和值。12.如權(quán)利要求I至11中的任ー權(quán)利要求所述的音頻解碼器,其中所述算術(shù)解碼器被配置成考慮由與所述音頻內(nèi)容的一先前時(shí)間部分相關(guān)聯(lián)的先前已解碼頻譜值所界定的多個(gè)脈絡(luò)子區(qū)值(q[i-3],q[i],q[i+1]),且還考慮由與所述音頻內(nèi)容的一當(dāng)前時(shí)間部分相關(guān)聯(lián)的先前已解碼頻譜值所界定的至少ー個(gè)脈絡(luò)子區(qū)值(q[l][i_l]),以獲得與一或多個(gè)欲解碼頻譜值相關(guān)聯(lián)且與所述音頻內(nèi)容的當(dāng)前時(shí)間部分相關(guān)聯(lián)的ー數(shù)值當(dāng)前脈絡(luò)值(C),使得所述先前時(shí)間部分的時(shí)間上相鄰的先前已解碼頻譜值與當(dāng)前時(shí)間部分的頻率相鄰的先前已解碼頻譜值的環(huán)境均被考慮,以獲得所述數(shù)值當(dāng)前脈絡(luò)值(C)。13.如權(quán)利要求I至12中任ー權(quán)利要求所述的音頻解碼器,其中所述算術(shù)解碼器被配置成對(duì)于所述音頻信息的ー給定時(shí)間部分儲(chǔ)存ー脈絡(luò)子區(qū)值集合,所述脈絡(luò)子區(qū)值集合中的每ー個(gè)脈絡(luò)子區(qū)值是多個(gè)先前已解碼頻譜值的絕對(duì)值的一總和值或一有限總和值,并使用所述脈絡(luò)子區(qū)值導(dǎo)算出一數(shù)值當(dāng)前脈絡(luò)值(C),用以解碼在所述音頻信息的所述給定時(shí)間部分之后的音頻信息的ー時(shí)間部分的一或多個(gè)頻譜值,而在導(dǎo)算出所述數(shù)值當(dāng)前脈絡(luò)值(C)吋,不考慮所述音頻信息的所述給定時(shí)間部分的單個(gè)先前已解碼頻譜值。14.如權(quán)利要求I至13中任ー權(quán)利要求所述的音頻解碼器,其中所述算術(shù)解碼器被配置成単獨(dú)地解碼ー頻譜值的幅度值及符號(hào),且其中所述算術(shù)解碼器被配置成在確定用以解碼欲解碼的ー頻譜值的所述數(shù)值當(dāng)前脈絡(luò)狀態(tài)(c)吋,不考慮先前已解碼頻譜值的符號(hào)。15.一種用以基于ー輸入音頻信息(110;710)來(lái)提供一編碼音頻信息(112;712)的音頻編碼器(100;700),所述音頻編碼器包含一能量壓縮(energy-compacting)時(shí)域至頻域變換器(130;720),用以基于所述輸入音頻信息的時(shí)域表示(110;710)來(lái)提供ー頻域音頻表示(132;722),使得所述頻域音頻表示(132;722)包含一頻譜值集合;及ー算術(shù)編碼器(170;730),被配置成使用一可變長(zhǎng)度碼字(acod_m,acod_r)來(lái)編碼ー頻譜值(a)或其預(yù)處理版本,其中所述算術(shù)編碼器被配置成將ー頻譜值(a)或一頻譜值(a)的一最高有效比特平面的ー值(m)映射至ー碼值(acod_m),其中所述算術(shù)編碼器被配置成依據(jù)由ー數(shù)值當(dāng)前脈絡(luò)值(C)所描述的ー脈絡(luò)狀態(tài)(S)來(lái)選擇一映射規(guī)則,所述映射規(guī)則描述將ー頻譜值或者一頻譜值的一最高有效比特平面映射至ー碼值;且其中所述算術(shù)編碼器被配置成依據(jù)多個(gè)先前已編碼頻譜值來(lái)確定所述數(shù)值當(dāng)前脈絡(luò)值(C),其中所述算術(shù)編碼器被配置成基于先前已編碼頻譜值來(lái)獲得多個(gè)脈絡(luò)子區(qū)值(q[][]),以儲(chǔ)存所述脈絡(luò)子區(qū)值,并依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值來(lái)導(dǎo)算出與一或多個(gè)欲編碼的頻譜值相關(guān)聯(lián)的一數(shù)值當(dāng)前脈絡(luò)值(C),其中所述算術(shù)編碼器被配置成計(jì)算由多個(gè)先前已編碼頻譜值所形成的一向量的范數(shù),以獲得與所述多個(gè)先前已編碼頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值。16.一種用以基于ー編碼音頻信息來(lái)提供一解碼音頻信息的方法,所述方法包含以下步驟基于多個(gè)頻譜值的算木編碼表示來(lái)提供多個(gè)解碼頻譜值;及使用所述解碼頻譜值來(lái)提供ー時(shí)域音頻表示,以獲得所述解碼音頻信息;其中提供所述多個(gè)解碼頻譜值包含依據(jù)由ー數(shù)值當(dāng)前脈絡(luò)值(C)所描述的ー脈絡(luò)狀態(tài)來(lái)選擇一映射規(guī)則,所述映射規(guī)則描述表示呈ー編碼形式的一頻譜值或者一頻譜值的一最高有效比特平面的ー碼值(acodjn;value)到表示呈ー解碼形式的一頻譜值或者ー頻譜值的ー最高有效比特平面的一符元碼(symbol)的映射;且其中所述數(shù)值當(dāng)前脈絡(luò)值(c)是依據(jù)多個(gè)先前已解碼頻譜值來(lái)確定的;其中多個(gè)脈絡(luò)子區(qū)值基于先前已解碼頻譜值而被獲得并儲(chǔ)存;其中與一或多個(gè)欲解碼的頻譜值相關(guān)聯(lián)的一數(shù)值當(dāng)前脈絡(luò)值(c)依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值而被導(dǎo)算出;且其中由多個(gè)先前已解碼頻譜值所形成的一向量的范數(shù)(a+b)被算出,以獲得與所述多個(gè)先前已解碼頻譜值(a,b)相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值(q[l][i])。17.—種用以基于一輸入音頻信息來(lái)提供一編碼音頻信息的方法,所述方法包含以下步驟使用一能量壓縮時(shí)域至頻域變換,基于所述輸入音頻信息的ー時(shí)域表示來(lái)提供ー頻域音頻表示,使得所述頻域音頻表示包含一頻譜值集合'及使用一可變長(zhǎng)度碼字來(lái)算木式地編碼ー頻譜值或其預(yù)處理版本,其中一頻譜值或ー頻譜值的一最高有效比特平面的ー值被映射至ー碼值;其中描述將ー頻譜值或者一頻譜值的一最高有效比特平面映射至一碼值的一映射規(guī)則依據(jù)由一數(shù)值當(dāng)前脈絡(luò)值(C)所描述的ー脈絡(luò)狀態(tài)而被選定;其中一數(shù)值當(dāng)前脈絡(luò)值(C)是依據(jù)多個(gè)先前已編碼相鄰頻譜值來(lái)確定的;其中多個(gè)脈絡(luò)子區(qū)值基于先前已編碼頻譜值而獲得,其中與一或多個(gè)欲編碼頻譜值相關(guān)聯(lián)的一數(shù)值當(dāng)前脈絡(luò)值(C)是依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值(q[i-l],q[i],q[i+l],q[l][i_l])而導(dǎo)算出的;且其中由多個(gè)先前已編碼頻譜值所形成的一向量的范數(shù)被算出,以獲得與所述多個(gè)先前已編碼頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值(q[l][i])。18.一種計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序在ー計(jì)算機(jī)上運(yùn)行時(shí)用以執(zhí)行如權(quán)利要求16或權(quán)利要求17所述的方法。全文摘要一種用以基于編碼音頻信息來(lái)提供解碼音頻信息的音頻解碼器包含用以基于頻譜值的算術(shù)編碼表示來(lái)提供多個(gè)解碼頻譜值的算術(shù)解碼器,及使用所述解碼頻譜值來(lái)提供時(shí)域音頻表示以獲得解碼音頻信息的頻域至?xí)r域變換器。算術(shù)解碼器被配置成依據(jù)由一數(shù)值當(dāng)前脈絡(luò)值所描述的一脈絡(luò)狀態(tài)來(lái)選擇描述一碼值至一符元碼的映射的映射規(guī)則。算術(shù)解碼器被配置成依據(jù)多個(gè)先前已解碼頻譜值來(lái)確定數(shù)值當(dāng)前脈絡(luò)值。算術(shù)解碼器被配置成基于先前已解碼頻譜值來(lái)獲取多個(gè)脈絡(luò)子區(qū)值,并儲(chǔ)存所述脈絡(luò)子區(qū)值。算術(shù)解碼器被配置成依據(jù)所儲(chǔ)存的脈絡(luò)子區(qū)值來(lái)導(dǎo)算出與一或多個(gè)當(dāng)前欲解碼的頻譜值相關(guān)聯(lián)的一數(shù)值當(dāng)前脈絡(luò)值。算術(shù)解碼器被配置成計(jì)算由多個(gè)先前已解碼頻譜值所形成的一向量的范數(shù),以獲得與所述多個(gè)先前已解碼頻譜值相關(guān)聯(lián)的一共用脈絡(luò)子區(qū)值。一種音頻編碼器使用類(lèi)似的構(gòu)想。文檔編號(hào)G10L19/02GK102844809SQ201180013284公開(kāi)日2012年12月26日申請(qǐng)日期2011年1月11日優(yōu)先權(quán)日2010年1月12日發(fā)明者古拉米.??怂?馬庫(kù)斯.穆?tīng)柼厮?尼可拉斯.瑞特貝哈,維格納許.蘇巴拉曼,奧利佛.威斯,馬克.蓋耶爾,帕特里克.沃姆博得,克里斯汀.格里貝爾申請(qǐng)人:弗勞恩霍弗實(shí)用研究促進(jìn)協(xié)會(huì)