,即延伸至頻譜包絡(luò)所涉及的高頻帶。 在此情況下,例如,以下描述的基于上下文的熵解碼器/編碼器可為SBR解碼器/編碼器的部 分??蛇x地,可以為使用如上已提及的IGF的音頻編碼器/解碼器的部分。在IGF中,此外,使 用描述頻譜圖的高頻部分頻譜包絡(luò)的頻譜值來描述音頻信號頻譜圖的高頻部分,以能夠使 用頻譜包絡(luò)填充高頻部分內(nèi)的頻譜圖的零量化區(qū)。以下描述相關(guān)細節(jié)。
[0032] 圖2顯示根據(jù)本申請的實施例的用于對音頻信號的頻譜包絡(luò)10的樣本值12進行編 碼的基于上下文的熵編碼器。
[0033]圖2的基于上下文的熵編碼器大體使用附圖標(biāo)記20來標(biāo)示,且包括預(yù)測器22、上下 文確定器24、熵編碼器26以及殘差確定器28。上下文確定器24和預(yù)測器22具有輸入,并在輸 入處訪問頻譜包絡(luò)(圖1)的樣本值12。熵編碼器26具有連接至上下文確定器24的輸出的控 制輸入,以及連接至殘差確定器28的輸出的數(shù)據(jù)輸入。殘差確定器28具有兩個輸入,其中一 個連接至預(yù)測器22的輸出,而另一個為殘差確定器28提供對頻譜包絡(luò)10的樣本值12的訪 問。特別地,殘差確定器28在其輸入處接收當(dāng)前待被編碼的樣本值X,而上下文確定器24和 預(yù)測器22在其輸入處接收已被編碼且位于此當(dāng)前樣本值X的頻譜時間鄰近區(qū)域內(nèi)的樣本值 12。
[0034]預(yù)測器22用于在頻譜時間上預(yù)測頻譜包絡(luò)10的當(dāng)前樣本值X,以獲得估計值蒙。如 關(guān)于以下概述的更詳細實施例將被示出的,預(yù)測器22可使用線性預(yù)測。特別地,在執(zhí)行頻譜 時間預(yù)測中,預(yù)測器22檢查在當(dāng)前樣本值X的頻譜時間鄰近區(qū)域中已編碼的樣本值。例如, 參見圖1。使用粗體連續(xù)繪制的輪廓線示出此當(dāng)前樣本值X。當(dāng)前樣本值X的頻譜時間鄰近區(qū) 域中的樣本值以細線顯示,根據(jù)實施例,其形成預(yù)測器22的頻譜時間預(yù)測的基礎(chǔ)。例如,"a" 表示直接鄰近于當(dāng)前樣本值X的樣本值12,其在頻譜上共置至當(dāng)前樣本值X,但在時間上先 于當(dāng)前樣本值X。同樣地,鄰近樣本值"b"表示直接鄰近于當(dāng)前樣本值X的樣本值,其在時間 上共置至當(dāng)前樣本值X,但相比于當(dāng)前樣本值X,其涉及更低的頻率。在當(dāng)前樣本值X的頻譜 時間鄰近區(qū)域中的樣本值"c"為當(dāng)前樣本值X的最接近的鄰近樣本值,其在時間上先于當(dāng)前 樣本值X,且涉及更低的頻率。頻譜時間鄰近區(qū)域甚至可以圍繞表示當(dāng)前樣本值X的鄰近值 中的下一個的樣本值。例如,樣本值"a"分隔當(dāng)前樣本值X與樣本值"d",即樣本值"d"在時間 上被共置至當(dāng)前樣本值X,且先于樣本值X而僅有樣本值"a"位于兩者之間。同樣地,樣本值 "e"鄰近于樣本值X而在時間上被共置至當(dāng)前樣本值X,且沿著頻譜軸16鄰近于樣本值X而僅 有樣本值"b"位于兩者之間。
[0035]如以上已概述的,雖然假設(shè)樣本值12沿著時間軸14和頻譜軸16規(guī)律地布置,但此 規(guī)則并非強制性,而鄰近區(qū)域的定義和鄰近樣本值的識別可被延伸至不規(guī)則的情況。例如, 鄰近樣本值"a"可被定義為沿著時間軸鄰近于當(dāng)前樣本的頻譜時間平鋪的左上角,且在時 間上先于左上角的樣本值。類似定義可被用于定義其他鄰近值,例如鄰近值b至e。
[0036]如以下將更詳細概述的,預(yù)測器22可以根據(jù)當(dāng)前樣本值x的頻譜時間位置,使用頻 譜時間鄰近區(qū)域內(nèi)的所有樣本值的不同子集,即{a,b,c,d,e}的子集。實際上使用哪個子集 可以,例如取決于頻譜時間鄰近區(qū)域(由集合{a,b,c,d,e}所定義)內(nèi)的鄰近樣本值的可用 性。例如,由于當(dāng)前樣本值X直接隨后于隨機訪問點(即使得解碼器開始解碼的時間點)從而 對頻譜包絡(luò)10的在先部分的依賴被禁止/阻止,鄰近樣本值a、d及c可能是不可用的。可選 地,由于當(dāng)前樣本值X表示區(qū)間18的低頻邊緣從而各個鄰近樣本值的位置落在區(qū)間18之外, 鄰近樣本值b、c&e可能是不可用的。在任何情況下,預(yù)測器22可通過線性結(jié)合頻譜時間鄰 近區(qū)域內(nèi)的已編碼的樣本值,在頻譜時間上預(yù)測當(dāng)前樣本值X。
[0037]上下文確定器24的任務(wù)為選擇用于對預(yù)測殘差進行熵編碼的一些支持的上下文 中的一個,即r= - 至此,上下文確定器24根據(jù)對頻譜時間鄰近區(qū)域中的a至e之間的 成對的已編碼的樣本值的偏差的測量,確定用于當(dāng)前樣本值X的上下文。在以下概述的特定 實施例中,頻譜時間鄰近區(qū)域內(nèi)的成對的樣本值的差被用作對其間的偏差的測量,例如&_ c、b-c、b-e、a_d或類似,但可選地,可以使用其他偏差測量,例如,商數(shù)(即a/c、b/c、a/d),差 的冪(冪的值不等于1,例如為不等于1的非偶數(shù)η)(即( &-(3)'(13-(^、(&-(1廣),或一些其他 類型的偏差測量,如a n-cn、bn-cn、an-d n或(&八)1\化/(3)1\(&/(1) 11,其中11矣1。在此,例如,11也 能是大于1的任意值。
[0038]如以下將更詳細顯示的,上下文確定器24可用于根據(jù)對頻譜時間鄰近區(qū)域中的第 一對已編碼的樣本值之間的偏差的第一測量和頻譜時間鄰近區(qū)域內(nèi)的第二對已編碼的樣 本值之間的偏差的第二測量,確定用于當(dāng)前樣本值X的上下文,其中第一對在頻譜上彼此鄰 近,第二對在時間上彼此鄰近。例如,當(dāng)a與c在頻譜上彼此鄰近且b與c在時間上彼此鄰近, 可使用差值b_c和a-c。預(yù)測器22可使用相同集合的鄰近樣本值,即{a,c,b},以獲得估計值 I,即例如通過樣本值的線性結(jié)合。在樣本值a、c和/或b中的任一個不可用的情況下,不同集 合的鄰近樣本值可被用于上下文確定和/或預(yù)測。如以下所設(shè)定的,可以設(shè)定線性結(jié)合的因 子,以使得在音頻信號被編碼的比特率大于預(yù)設(shè)閾值的情況下,對于不同的上下文,因子是 相同的,而在音頻信號被編碼的比特率低于預(yù)設(shè)閾值的情況下,對于不同的上下文因子被 單獨地設(shè)定。
[0039] 作為中間注釋,應(yīng)提及的是,頻譜時間鄰近區(qū)域的定義可適于編碼/解碼順序,而 基于上下文的熵編碼器20順序地沿著此順序?qū)颖局?2進行編碼。例如,如圖1所示,基于 上下文的熵編碼器可用于使用解碼順序30順序地對樣本值12進行編碼,其按照時刻(time instant)遍歷樣本值12,其中在每個時刻中,從最低頻率至最高頻率。以下,"時刻"被表示 為"幀",但是時刻可選地被稱為時隙、時間單元或類似。在任何情況下,在時間前饋之前使 用此頻譜遍歷中,被延伸至在先時間且向更低的頻率延伸的頻譜時間鄰近區(qū)域的定義提供 對應(yīng)樣本值已被編碼/解碼且為可用的最高可行概率。在本申請中,鄰近區(qū)域內(nèi)的值總是編 碼/解碼的,并假設(shè)它們存在,但是對于其他鄰近區(qū)域和解碼順序?qū)Γ@可能是不同的。自然 地,此解碼器使用相同的解碼順序30。
[0040] 如上已表示的,樣本值12可表示對數(shù)域中的頻譜包絡(luò)10。特別地,已使用對數(shù)量化 函數(shù)將頻譜值12量化成整數(shù)值。因此,由于量化,由上下文確定器24確定的偏差測量已經(jīng)是 本質(zhì)上的整數(shù)。例如,此為使用差作為偏差測量的情況。不考慮由上下文確定器24確定的偏 差測量的本質(zhì)整數(shù)的本質(zhì),上下文確定器24可使偏差測量受到量化并使用量化的測量確定 上下文。特別地,例如,如以下所概述的,對于預(yù)設(shè)區(qū)間之外的偏差測量的值,上下文確定器 24使用的量化函數(shù)可以是恒定的,此預(yù)設(shè)區(qū)間包含零。
[0041]圖3示意性地顯示將未量化的偏差測量量化至量化的偏差測量的此量化函數(shù)32, 其中,在此示例中,剛剛提及的預(yù)設(shè)區(qū)間34從-2.5延伸至2.5,其中在此區(qū)間之上的未量化 的偏差測量值被持續(xù)地映射至量化的偏差測量值3,而在此區(qū)間34之下的未量化的偏差測 量值被持續(xù)地映射至量化的偏差測量值-3。因此,僅七個上下文被區(qū)分出且必須由基于上 下文的熵編碼器所支持。在以下概述的實施方式示例中,區(qū)間34的長度為5,其僅為示例,其 中頻譜包絡(luò)的樣本值的該集合的可能值的基數(shù)為2 n(例如=128 ),即大于區(qū)間長度的16倍。 在如稍后所示出的使用逸出編碼的情況下,此頻譜包絡(luò)的樣本值的可能值的范圍可被定義 成[0;2 n],其中η為選擇的整數(shù),以使得2n+1低于預(yù)測殘差值的可編碼的可能值的基數(shù),根據(jù) 以下描述的特定實施方式示例,其為311。
[0042]熵編碼器26使用由上下文確定器24確定的上下文以高效地對預(yù)測殘差r進行熵編 碼,該預(yù)測殘差r反過來由殘差確定器28基于實際的當(dāng)前樣本值X和估計值f來確定,例如以 減法的方式。優(yōu)選地,可使用算術(shù)編碼。上下文可具有與其相關(guān)聯(lián)的恒定的概率分布。對于 每個上下文,與其相關(guān)聯(lián)的概率分布將特定的概率值分配給源于熵編碼器26的符號字母表 的每個可能符號。例如,熵編碼器26的符號字母表與預(yù)測殘差r的可能值的范圍相一致,或 符號字母表覆蓋此范圍。在可選的實施例中,以下其被更詳細地概述,可使用特定的逸出編 碼機制,以保證待被熵編碼器26熵編碼的值r在熵編碼器26的符號字母表內(nèi)。當(dāng)使用算術(shù)編 碼時,熵編碼器26使用由上下文確定器24所確定的確定的上下文的概率分布,以將當(dāng)前概 率區(qū)間(其表示熵編碼器26的內(nèi)部狀態(tài))細分成對每個字母表值有一個子區(qū)間,其中根據(jù)r 的實際值來選擇子區(qū)間中的一個,并利用,例如重新歸一化處理,輸出通知解碼側(cè)更新概率 區(qū)間偏移及寬度的算術(shù)編碼的比特流。然而,可選地,對于每個上下文,熵編碼器26可使用 個別的變長編碼表,其將各個上下文的概率分布轉(zhuǎn)譯成r的可能值至與各個可能值r的各個 頻率相對應(yīng)的長度的碼上的對應(yīng)映射。也可使用其他熵編解碼器。
[0043]為了完整性起見,圖2顯示量化器36可連接在殘差確定器28的輸入之前,利用例如 被應(yīng)用至未量化的樣本值X的對數(shù)量化函數(shù),當(dāng)前樣本值X在此輸入處回傳,以獲得此當(dāng)前 樣本值X,如以上已概述的。
[0044] 圖4顯示根據(jù)實施例的基于上下文的熵解碼器,其與圖2的基于上下文的熵編碼器 相配。
[0045] 使用附圖標(biāo)記40來標(biāo)示并類似于圖2的編碼器來解釋圖4的基于上下文的熵解碼 器。因此,基于上下文的熵解碼器40包括預(yù)測器42、上下文確定器44、熵解碼器46以及結(jié)合 器48。上下文確定器44和預(yù)測器42像圖2的編碼器20的預(yù)測器22和上下文確定器24-樣操 作。即,預(yù)測器42在頻譜時間上預(yù)測當(dāng)前樣本值X,即當(dāng)前待解碼的樣本值,以獲得估計值意, 并將其輸出至結(jié)合器48,且上下文確定器44確定用于根據(jù)樣本值X的頻譜時間鄰近區(qū)域內(nèi)