專利名稱:音頻編碼器和音頻解碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及音頻編碼的領(lǐng)域,特別地,涉及基于上下文的熵編碼領(lǐng)域。
背景技術(shù):
傳統(tǒng)音頻編碼概念包括用于冗余減少的熵編碼方案。一般地,熵編碼應(yīng)用于 針對基于頻率域的編碼方案的量化的頻譜系數(shù)、或針對基于時間域的編碼方案的量化 的時間域采樣。這些熵編碼方案一般使用發(fā)送碼字以及相應(yīng)的碼本索引,其允許解碼 器查找特定的碼本頁,用于對與所述頁上的所發(fā)送的碼字相對應(yīng)的編碼信息字進(jìn)行解 碼。在一些編碼概念中,碼本索引的發(fā)送并非強(qiáng)制性的,例如在通過符號的上下文可確 定碼本索引的情況下,例如熵編碼,說明于Meine,Edler, “Improved Quantization and Lossless Coding for Subband Audio Coding,,;以及 Meine, "Vektorquantisierung
und kontextabhangigearithmetische Codierung fur MPEG-4 AAC",
Dissertation, Gottfried Wilhelm Leibnitz University Hannover, Hanover 2007。對于基于頻率域或基于頻譜域的音頻編碼,上下文可以描述符號或統(tǒng)計(jì)屬性,例 如位于時間和/或頻率之前的量化的頻譜系數(shù)。在一些常規(guī)概念中,這些符號可同時用于 編碼器側(cè)和解碼器側(cè),并且基于這些符號,可以同時在編碼器側(cè)和解碼器側(cè)同步地確定碼 本或上下文。圖9示出了上下文的示例及其依賴性。圖9示出了時間頻率平面,其中指示了一 定數(shù)量的符號。符號Sn,m表示在時間η和在頻率m的符號。圖9示出了用于編碼特定符號, 其上下文用于確定相關(guān)聯(lián)的碼本。例如對于符號Snthmtl,這將是滿足以下條件的全部符號η < n0 且任{可叫或 η = n0 且 m < m0。在實(shí)際實(shí)施中,上下文并非無限的,而是受限的。在圖9所示的示例中,符號的 上下文可以例如是S0, 2、S0,1、S—15、S—U、S—U、S—U、S—U、S—2,5、S—2,4、S—2,3、S—2,2、S—2,10對于基于頻率的音頻編碼、時間變體,可以使用信號自適應(yīng)濾波器組或所謂 的塊變換,例如在 Edler, B. , "Codierung von Audiosignalen mit iiberlappender Transformation und adaptiven Fensterfunktionen,,,F(xiàn)requenz,Ausgabe 43,September 1989中描述過。換言之,在這些音頻編碼概念中隨著時間的經(jīng)過可能發(fā)生頻率/時間解析度的改 變。流行的音頻編碼概念是所謂的AAC(AAC =高級音頻編碼),其中使用兩種塊長度,編碼 例如1 個或IOM個已變換的系數(shù),分別代表256個或2048個分窗時間域采樣的頻率組 件。這些概念允許根據(jù)特定的信號特性,在不同解析度之間進(jìn)行切換,例如瞬時 (transient)或音調(diào)(tonality)的出現(xiàn),或該信號是否為音樂類或語音類等等。在不同的 時間/頻率解析度之間進(jìn)行切換的情況下,例如在不同的AAC塊類型之間切換的情況下,上下文不一致。常規(guī)概念或現(xiàn)有技術(shù)實(shí)施可以利用該上下文的重置,即基本上切換至其中無 任何上下文可用的狀態(tài),其中上下文是從草稿建立的。該方法在例如AAC中可以具有充分 良好的效果,原因在于其保證一列中至少有兩個長塊或八個短塊,此處假設(shè)切換不常發(fā)生。然而,重置上下文的常規(guī)概念在編碼效率方面一般并非最優(yōu)的,原因在于每次重 置上下文時,后續(xù)的碼本選擇基于被設(shè)計(jì)用作對未知的上下文的備用解決方案的值。然后 一般選擇非最優(yōu)的碼本。對于其中切換不常出現(xiàn)的情況,可以忽略編碼效率的缺點(diǎn)。然而, 對于更頻繁切換的情況,這導(dǎo)致編碼效率的顯著耗損。另一方面,對于較低數(shù)據(jù)速率/采樣 速率,強(qiáng)烈需要更頻繁的切換,原因在于特別需要變換長度對信號特性有最優(yōu)自適應(yīng)性。另 一方面,當(dāng)頻繁切換時,編碼效率顯著降低。
發(fā)明內(nèi)容
本發(fā)明的目的是提供在音頻編碼中的不同變換長度之間進(jìn)行切換的概念,所述音 頻編碼提供了增強(qiáng)的編碼效率??捎筛鶕?jù)權(quán)利要求1所述的音頻編碼器、根據(jù)權(quán)利要求8所述的音頻編碼方法、根 據(jù)權(quán)利要求9所述的音頻解碼器以及根據(jù)權(quán)利要求16所述的音頻解碼方法來達(dá)成該目的。本發(fā)明基于在時間/頻率解析度隨著時間而改變的情況下,在基于上下文的編碼 諸如基于上下文的熵編碼中,其可應(yīng)用至不同時間/頻率解析度時,可使用上下文映射機(jī) 制,從而達(dá)成增強(qiáng)的編碼效率。本發(fā)明發(fā)現(xiàn)當(dāng)在不同時間或頻率解析度之間進(jìn)行切換時,可 以從具有舊解析度的系數(shù)獲取具有新解析度的系數(shù)的上下文。本發(fā)明發(fā)現(xiàn)當(dāng)在音頻編碼中 切換時間/頻率解析度時,內(nèi)插、外推、次采樣、降采樣、升采樣等可用于上下文的自適應(yīng)和 /或獲取°本發(fā)明的實(shí)施例提供一種映射方法,其將具有舊解析度的已存儲的上下文的頻率 系數(shù)或頻譜系數(shù)映射至當(dāng)前上下文或當(dāng)前幀的頻率解析度。換言之,之前的上下文信息可 用于碼本確定,即用于獲取新的上下文信息。實(shí)施例允許塊長度的更頻繁的切換,因此允許 對信號特性的更好的自適應(yīng),同時不損耗編碼效率。
將使用附圖來詳細(xì)說明本發(fā)明的實(shí)施例,在附圖中 圖1示出了音頻編碼器的實(shí)施例; 圖2示出了音頻解碼器的實(shí)施例; 圖3示出了上下文升采樣的實(shí)施例; 圖4示出了上下文降采樣的實(shí)施例; 圖5示出了音頻切換時間和頻率解析度; 圖6示出了實(shí)施例的實(shí)施; 圖7a示出了編碼方法的實(shí)施例的流程圖; 圖7b示出了實(shí)施例的一般上下文更新過程; 圖7c示出了用于解析度改變的實(shí)施例的上下文更新過程; 圖8示出了解碼方法的實(shí)施例的流程圖;以及 圖9示出了現(xiàn)有技術(shù)的時間頻率編碼方案。
具體實(shí)施例方式圖1示出了用于對系數(shù)段進(jìn)行編碼的音頻編碼器100的實(shí)施例,該系數(shù)段代表采 樣音頻信號的不同的時間或頻率解析度。音頻編碼器100包括處理器110,用于基于之前段 的之前已編碼系數(shù)來獲取當(dāng)前段的當(dāng)前已編碼系數(shù)的編碼上下文,該之前已編碼系數(shù)代表 與當(dāng)前已編碼系數(shù)不同的時間或頻率解析度。音頻編碼器的實(shí)施例還包括熵編碼器120,用 于基于該編碼上下文對當(dāng)前系數(shù)進(jìn)行熵編碼,以獲得編碼音頻流。在實(shí)施例中,系數(shù)可以對應(yīng)于音頻采樣、量化音頻采樣、頻譜系數(shù)或頻率系數(shù)、擴(kuò) 縮系數(shù)、變換系數(shù)或?yàn)V波系數(shù)等或其任一種組合。在實(shí)施例中,音頻編碼器100還可以包括用于提供來自音頻流的系數(shù)段的設(shè)備, 該系數(shù)形成在各系數(shù)間變化的頻譜解析度的音頻信號的頻譜表示。提供段的該裝置適于基 于不同時間域窗口長度或不同音頻幀來確定段,即具有不同長度或每個帶寬不同數(shù)量系數(shù) 的音頻信號,即具有不同頻譜或頻率解析度。該提供裝置適于確定IOM或128時間、頻率 或頻譜系數(shù)的段。在實(shí)施例中,處理器110可以適于基于當(dāng)前及之前的系數(shù)或段的頻率域或頻譜域 表示,來獲取編碼上下文。換言之,在實(shí)施例中,可在不同時間域和/或頻率域或頻譜域中 表示連續(xù)段。處理器110可以適于基于例如之前段和/或當(dāng)前段的相鄰頻譜系數(shù),而獲取 當(dāng)前段的每個頻帶或頻譜帶的編碼上下文。在實(shí)施例中,可以初始時在時間域中確定該段, 例如,通過將輸入音頻流分窗來確定?;谶@些時間域段或系數(shù),可以通過變換來確定頻率 或頻譜域段或系數(shù)??梢栽陬l率或頻譜域中用每個頻帶或頻譜帶的能量、振幅和相位、振幅 和符號等等來表示段,即可在不同頻帶或頻譜帶中再分割段。然后在一些實(shí)施例中,處理器 110可獲取出每個頻帶或頻譜帶的編碼上下文。處理器110和熵編碼器120可以被配置為屬于上下文的之前段包括比當(dāng)前段更 精細(xì)的頻譜或頻率解析度時,基于之前段的頻率或頻譜系數(shù)的降采樣進(jìn)行操作。在實(shí)施例 中,處理器110和熵編碼器120可以備配置為當(dāng)屬于上下文的之前段包括比當(dāng)前段更粗糙 的頻譜或頻率解析度時,基于之前段的頻率或頻譜系數(shù)的升采樣進(jìn)行操作。實(shí)施例可以提供一種用于對代表采樣音頻信號的不同時間或頻率解析度的系數(shù) 段進(jìn)行編碼的方法。該方法可以包括以下步驟基于從之前段的之前已編碼或之前系數(shù), 并且可選地基于當(dāng)前已編碼或當(dāng)前系數(shù),獲取當(dāng)前段的當(dāng)前已編碼的或當(dāng)前系數(shù)的編碼上 下文,其中該之前已編碼或之前系數(shù)代表與當(dāng)前已編碼或當(dāng)前系數(shù)不同的時間或頻率解析 度。該方法還可以包括基于該編碼上下文對當(dāng)前系數(shù)進(jìn)行熵編碼來獲得編碼音頻流的步 馬聚ο相應(yīng)地,實(shí)施例可以包括音頻解碼器200,圖2示出了其實(shí)施例。音頻解碼器200 適于對編碼音頻流進(jìn)行解碼,以獲得代表采樣的音頻信號不同的時間或頻率解析度的系數(shù) 段,該音頻解碼器200包括處理器210,用以基于之前已解碼或之前系數(shù),獲取當(dāng)前已解碼 或當(dāng)前系數(shù)的編碼上下文,該之前已解碼或之前系數(shù)表示與當(dāng)前已解碼系數(shù)不同的時間或 頻率解析度。此外,音頻解碼器200包括熵解碼器220,用于基于該編碼上下文及編碼音頻 流對當(dāng)前系數(shù)進(jìn)行熵解碼。在實(shí)施例中,音頻解碼器200可以包括熵解碼器220,其適于基于不同時間域窗口長度或不同音頻幀長度來確定已解碼系數(shù)段。熵解碼器220可以適于確定例如IOM或1 個時間域采樣或頻率或頻譜系數(shù)的段。相應(yīng)地,處理器210可以適于基于之前段和/或當(dāng) 前段的系數(shù)的頻率域或頻譜域表示,獲取編碼上下文。在實(shí)施例中,處理器210可以適于基于例如之前段或選擇性地來自當(dāng)前段的相鄰 頻譜系數(shù),來獲取當(dāng)前段的每個頻帶或頻譜帶的編碼上下文。換言之,可在頻率域或頻譜域 中處理該段,可對每個頻帶或頻譜帶進(jìn)行。相應(yīng)地,處理器210則可適于獲取頻帶或頻譜帶 特定上下文。熵解碼器220可以適于基于熵或可變長度編碼規(guī)則來對當(dāng)前系數(shù)進(jìn)行熵解碼。當(dāng)之前段包括比當(dāng)前段每個帶寬更多系數(shù)(即更精細(xì)的頻譜或頻率解析度)時, 處理器210可以適于基于之前段的頻率或頻譜系數(shù)的降采樣而獲取編碼上下文。在其他實(shí) 施例中,當(dāng)之前段包括比當(dāng)前段每個帶寬更少的系數(shù)(即更粗糙的頻譜或頻率解析度)時, 處理器210及熵解碼器220可以被配置為基于之前段的頻譜系數(shù)的升采樣來進(jìn)行操作。因此,實(shí)施例可以提供一種用于對編碼音頻流進(jìn)行解碼以獲得代表已解碼音頻采 樣的系數(shù)段的方法。該解碼方法可以包括以下步驟基于之前段的之前已解碼或之前系數(shù), 獲取當(dāng)前段的當(dāng)前已解碼或當(dāng)前系數(shù)的編碼上下文,該之前已解碼或之前系數(shù)代表與當(dāng)前 已解碼系數(shù)不同的時間或頻率解析度。此外,該方法包括基于編碼上下文和編碼音頻信號 對當(dāng)前系數(shù)進(jìn)行熵解碼的步驟。可選地,該方法可以包括從該編碼音頻流來確定編碼音頻 系數(shù)段的步驟,該段代表不同數(shù)量的音頻系數(shù)。圖3示出了處理器110、210如何基于M。,。ld系數(shù)的之前段來獲取M。,new系數(shù)的當(dāng)前 段的編碼上下文,其中該之前段包括與當(dāng)前段不同數(shù)量的音頻系數(shù)。在圖3所示的實(shí)施例 中,段系數(shù)的數(shù)量M確定該段的頻率或頻譜解析度。該實(shí)施例可以包括一種映射方法,其將 之前段的M。,。ld系數(shù)映射至具有與當(dāng)前段的相同上下文頻率或頻譜解析度的M。,mw系數(shù)。圖 3示出了兩個段中的兩個系數(shù)集合,即代表M。,。ld系數(shù)的C1AmlAm2等的原始之前段310 ; 及相應(yīng)地,具有更高解析度,即M。,_大于M。,。ld的所映射的之前段320,其代表M。,_系數(shù)Sn,
CCC 坐坐 0、0η,1、°η,2Λ °η, 3 ^t ^t °通??梢愿鶕?jù)當(dāng)前段的上下文的解析度高于或低于之前段的上下文的解析度來 區(qū)分兩個實(shí)施例。圖3示出了實(shí)施例,其中Mc,。ld系數(shù)的之前段解析度低于M。, new系數(shù)的當(dāng) 前段解析度。圖3示出了之前段310的系數(shù)及所映射的之前段320的符號。由圖3可知, M。,mw系數(shù)的當(dāng)前段解析度高于僅具有M。,。ld系數(shù)的之前段310的解析度。在一個實(shí)施例中, 將之前段310升采樣至M。,_系數(shù)的段320,以匹配該當(dāng)前段的頻率或頻譜解析度。這可以 包括以符號復(fù)制及抽取機(jī)制的純粹升采樣,例如重復(fù)每一個數(shù)值M。,mw次,隨后通過每M。,。ld 個系數(shù)僅保留1個系數(shù)來抽取作為結(jié)果的已升采樣的段。也可使用其它內(nèi)插或外推機(jī)制。在實(shí)施例中,對于將在時間η處確定當(dāng)前段的上下文所需的全部之前段310,可以 執(zhí)行映射,換言之,可以考慮多個之前段,即在時間η-1、η-2等處的之前段。通常實(shí)施例可 以考慮多個時隙或多個之前段,對于不同實(shí)施或不同實(shí)施例,限定完整上下文所需的時隙 數(shù)量可能不同。圖4示出了另一個實(shí)施例,其中將之前段410的系數(shù)降采樣至段420,用于計(jì)算當(dāng) 前段的上下文,即其中之前段410的系數(shù)Μ。,。ld的數(shù)量高于當(dāng)前段的系數(shù)M。, new的數(shù)量。圖 4使用了類似于圖3的說明,在每一個段410及420中示出了多個系數(shù)。如圖4所示,M。,。ld大于M。, _。因此,將M。,。ld系數(shù)次采樣來匹配M。, new系數(shù)的當(dāng)前段的頻率或頻譜解析度,即 在實(shí)施例中,可以將具有較高解析度的之前段次采樣來匹配具有較低解析度的當(dāng)前段的解 析度。在實(shí)施例中,這可以包括使用系數(shù)復(fù)制及抽取機(jī)制的純粹降采樣,例如重復(fù)每一個值 Mc, new次,隨后通過每Mc,。ld系數(shù)僅保留一個系數(shù)來抽取作為結(jié)果的升采樣的段。在其它實(shí) 施例中,可以考慮濾波操作,例如求兩個或多個相鄰值的平均值。圖5示出了另一個實(shí)施例,其中進(jìn)行在不同解析度之間的切換。圖5示出了時間 /頻率平面,其中示出了三個后續(xù)的音頻系數(shù)段,即510、520和530。每一個段510、520及 530對應(yīng)于系數(shù)的單一集合。在圖5所示的實(shí)施例中,假設(shè)第二段520是第一段510和第 三段530的兩倍長。當(dāng)在時間域中分段時,例如在AAC中進(jìn)行時,通過使用不同窗口可以達(dá) 成。在圖5所示的實(shí)施例中,假設(shè)采樣速率保持恒定,換言之,較長的第二段520包含比第 一段510或第三段530兩倍的每個帶寬的音頻系數(shù)。圖5示出了在該情況下,頻率域或頻譜域的解析度按照時間域中的段的延伸度來 擴(kuò)縮。換言之,在時間域中的窗口越短,則在頻率域或頻譜域中的解析度越低。當(dāng)評估用于 在頻率域或頻譜域中對采樣進(jìn)行編碼的上下文時,圖5示出了當(dāng)如所考慮的示例一樣對第 二段520進(jìn)行編碼時,編碼需具有段510的更高解析度的版本,必需獲取段510的雙倍解析 度。在其它實(shí)施例中,特別地當(dāng)使用其它時間-頻率域變換或?yàn)V波器組時,可獲得時間域解 析度與頻率域解析度間的其它關(guān)系。根據(jù)實(shí)施例,在第一段510期間,編碼的系數(shù)提供用于通過例如中間升采樣來確 定第二段520的上下文的基礎(chǔ)。換言之,可以通過例如就內(nèi)插法或外推法進(jìn)行第一段510 的升采樣,來獲得來自第一段510的上下文內(nèi)容,以獲取具有較高解析度的第二段520的上 下文。如圖5所示,當(dāng)從第二段520切換至第三段530時,由于現(xiàn)在解析度已經(jīng)降低,故 上下文組成元素也已經(jīng)改變。根據(jù)實(shí)施例,在第二段520期間編碼的系數(shù)可用于通過中間 降采樣來獲取第三段的上下文。例如可以通過求平均值進(jìn)行,或單純使用每第二個數(shù)值或 其它降采樣手段來進(jìn)行。即使當(dāng)發(fā)生解析度或窗口長度改變時,通過考慮由之前段獲取的過去上下文,這 些實(shí)施例可達(dá)成編碼效率增加的優(yōu)點(diǎn)。以升采樣或降采樣,例如使用內(nèi)插或外推濾波或求 平均等,上下文組成元素可自適應(yīng)于新解析度。下面將在頻譜無噪聲編碼方面呈現(xiàn)更具體的實(shí)施例。頻譜無噪聲編碼可以用于在 音頻編碼中進(jìn)一步減少已量化頻譜的冗余。頻譜無噪聲編碼可以基于算術(shù)編碼以及動態(tài)上 下文自適應(yīng)。無噪聲編碼可以基于已量化的頻譜值,并且可以使用從例如四個之前已解碼的相 鄰元組獲取的上下文依賴?yán)鄯e頻率表。圖6示出了另一個實(shí)施例。圖6示出了時間頻率平 面,其中沿著時間軸,將三個時隙標(biāo)為n、n-l和n-2。此外,圖6示出了四個頻帶或頻譜帶, 標(biāo)為m-2、m-l、m和m+1。圖6示出了在每個時間-頻率隙框內(nèi)部,代表欲編碼或欲解碼的采 樣元組。圖6示出了三種不同類型的元組,其中具有虛線或點(diǎn)線邊界的框指示欲編碼或欲 解碼的剩余元組;具有實(shí)線邊界的白框指示之前已編碼或已解碼的元組;并且具有實(shí)線邊 界的灰框指示之前已編/解碼元組,他們勇于確定欲編碼或欲解碼的當(dāng)前元組的上下文。注意到上述實(shí)施例中指代的之前段和當(dāng)前段可以與本實(shí)施例中的元組相對應(yīng),換
9言之,可以在頻率域或頻譜域中逐頻帶處理段。如圖6所示,在當(dāng)前元組的鄰近(即在時間 域及頻率域或頻譜域中)的元組或段可考慮用于獲取上下文。然后由算術(shù)編碼器使用累積 頻率表來生成可變長度二進(jìn)制碼。算術(shù)編碼器可產(chǎn)生給定符號集合的二進(jìn)制碼及其各自的 概率。通過將該符號集合所在的概率間隔映射至碼字,可以生成二進(jìn)制碼。算術(shù)編碼器可 以與上述實(shí)施例中的熵編碼器120或熵解碼器220相對應(yīng)。在本實(shí)施例中,可以基于4元組(即對四個頻譜系數(shù)索引)進(jìn)行基于上下文的算 術(shù)編碼,也將該4元組標(biāo)為q(n,m),代表量化后的頻譜系數(shù),其與頻率域或頻譜域相鄰,并 且在一個步驟后對其進(jìn)行熵編碼。根據(jù)上述描述,可以基于編碼上下文進(jìn)行編碼。如圖6所 示,除了已經(jīng)編碼的4元組(即當(dāng)前段)外,考慮四個之前已編碼的4元組來獲取上下文。 這四個4元組確定上下文,并且在頻率域中是之前的和/或在時間域中是之前的。圖7a示出了用于頻譜系數(shù)的編碼方案的USAC(USAC =通用語音和音頻編碼器) 上下文依賴性算術(shù)編碼器的流程圖。編碼過程取決于當(dāng)前4元組加上上下文,此處該上下 文用于選擇算術(shù)編碼器的概率分布,并且用于預(yù)測頻譜系數(shù)的振幅。圖7a中框705代表上 下文確定,其基于與 q(n_l,m)、q(n,m_l)、q(n_l,m_l)和 q(n_l,m+1)相對應(yīng)的 t0、tl、t2 和t3,即圖6的具有實(shí)線邊界的灰框。通常在實(shí)施例中,熵編碼器可以適于以頻譜系數(shù)的4元組為單位來對當(dāng)前段進(jìn)行 編碼,并且用于基于編碼上下文預(yù)測4元組的振幅范圍。在本實(shí)施例中,編碼方案包括若干階段。首先,使用算術(shù)編碼器及特定概率分布對 文字碼字進(jìn)行編碼。該碼字代表四個相鄰的頻譜系數(shù)(a、b、c、d),但a、b、c、d各自受限于 以下范圍-5 < a、b、c、d < 4。通常,在實(shí)施例中,熵編碼器120可以適于按照需要經(jīng)常用預(yù)確定因子除該4元 組,以將結(jié)果結(jié)果帶入預(yù)測范圍或預(yù)定范圍,并且用于當(dāng)該4元組不在預(yù)測范圍時,對需要 的除法次數(shù)、除法余數(shù)、和除法結(jié)果進(jìn)行編碼;以及用于以其它方式對除法余數(shù)和除法結(jié)果 進(jìn)行編碼。下文中,如果項(xiàng)仏、13、(3、(1),即任何系數(shù)113、(3、(1超過本實(shí)施例的給定范圍,則通 常可考慮按照需要經(jīng)常以一個因子(例如2或4)除(a、b、c、d),以讓作為結(jié)果的碼字匹配 給定范圍。以因子2的除法相當(dāng)于二進(jìn)制位移至右側(cè),S卩(a、b、c、d) >>1。該縮小以整 數(shù)表示法進(jìn)行,即可能丟失信息。將向右位移可能喪失的最低有效位加以存儲,稍后使用算 術(shù)編碼器和均勻概率分布對其編碼。位移至右側(cè)的過程是對全部四個頻譜系數(shù)(a、b、c、d) 進(jìn)行的。在一般實(shí)施例中,熵編碼器120可以適于使用組索引ng對除法結(jié)果或4元組進(jìn)行 編碼,組索引ng指代概率分布基于編碼上下文的一個或多個碼字的組;在該組包括多于一 個碼字的情況下,元素索引ne,該元素索引ne指代該組內(nèi)部的碼字,可假設(shè)元素索引為均 勻分布;并且熵編碼器120可適于通過一定數(shù)量的逃逸符號來對除法數(shù)量進(jìn)行編碼,逃逸 符號為特定組索引ng,其僅用于指示除法并且用于使用算術(shù)編碼規(guī)則,基于均勻分布對除 法的余數(shù)進(jìn)行編碼。熵編碼器120可以適于使用包括該逃逸符號的符號字母表以及與可用 組索引的集合、包括該對應(yīng)元素符號的符號字母表、以及包括該不同余數(shù)值的符號字母表 相對應(yīng)的組符號,來將符號序列編碼成編碼音頻流。
在圖7a的實(shí)施例中,可從上下文中獲取用于對文字碼字進(jìn)行編碼的概率分布以 及對范圍縮小步驟的數(shù)量的估計(jì)。例如,共84 = 4096個全部碼字共跨據(jù)544個組,包含一 個或多個元素??梢栽诒忍亓髦袑⒋a字表示為組索引ng和組元素ne??梢允褂锰囟ǜ怕?分布,來使用算術(shù)編碼器對這兩個值編碼。在一個實(shí)施例中,可以從上下文獲取ng的概率 分布,反之可以假定ne的概率分布是均勻的。ng與ne的組合可清晰地標(biāo)識碼字。也可假 設(shè)除法的余數(shù),即位平面位移出,為均勻分布。在圖7a中,在步驟710,提供4元組q(n,m),S卩(a、b、c、d)或當(dāng)前段,并且通過將 其設(shè)為0來初始化參數(shù)lev。在步驟715中,從上下文來估計(jì)(a、b、c、d)的范圍。根據(jù)該估計(jì),(a、b、c、d)可 減少IevO級別,即被因子除。存儲IevO最小有效位平面,以供稍后在步驟750使用。在步驟720,檢查(a、b、c、d)是否超過給定范圍,若是,則在步驟725,將(a、b、c、 d)的范圍以因子4縮小。換言之,在步驟725,(a、b、c、d)向右位移2,并且存儲已移除的 位平面,以供稍后在步驟750使用。為了指示該縮小步驟,在步驟730,將ng設(shè)為M4,即ng = 544用作為逃逸碼字。 然后將該碼字在步驟755寫至比特流,此處為了在步驟730獲取該碼字,使用具有從上下文 獲取的概率分布的算術(shù)編碼器。當(dāng)該縮小步驟是第一次應(yīng)用時,即若lev == levO,則略微 調(diào)整上下文。當(dāng)該縮小步驟應(yīng)用多于一次時,則拋棄上下文,進(jìn)一步使用缺省分布。然后從 步驟720開始繼續(xù)處理。如果在步驟720檢測到范圍匹配,更具體地如果(a、b、c、d)匹配范圍條件,則將 (a、b、c、d)映射到組ng,并且如果適用,則映射到組元素索引ne。該映射為明確的,即可從 ng及ne獲取(a、b、c、d)。然后在步驟735,使用從已調(diào)整的/已拋棄的上下文獲取的概率 分布,由算術(shù)編碼器對組索引ng進(jìn)行編碼。然后在步驟755,將組索引ng插入比特流。在 后續(xù)步驟740,檢查組中的元素數(shù)量是否大于1。如果需要,即如果ng指示的該組由多于一 個元素組成,則在步驟745,假設(shè)本實(shí)施例為均勻概率分布,則由算術(shù)編碼器對組元素索引 ne進(jìn)行編碼。在步驟745之后,將元素組索引ne在步驟755插入比特流。最后,在步驟750,使 用算術(shù)編碼器對全部存儲的位平面進(jìn)行編碼,假設(shè)為均勻概率分布。然后在步驟755將已 編碼且已存儲的位平面也插入比特流。在實(shí)施例中,熵解碼器220可以適于基于從編碼上下文獲取的概率分布,而將來 自編碼音頻流的組索引ng解碼,其中組索引ng代表一個或多個碼字的組;以及如果組索引 ng指示組包括多于一個碼字,則用于基于均勻概率分布,對來自編碼音頻流的元素索引ne 進(jìn)行解碼;以及用于基于組索引ng及元素索引ne,獲取當(dāng)前段的頻譜系數(shù)的4元組,從而 獲得以頻譜系數(shù)的元組來表示的頻譜域表示。在實(shí)施例中,熵解碼器220可以適于基于使用包括與可用的組索引ng集合相對應(yīng) 的逃逸符號及組符號在內(nèi)的符號字母表,從編碼上下文中所獲取的概率分布,對來自編碼 音頻流的序列符號進(jìn)行解碼;用于基于與該序列符號中的組符號相對應(yīng)的可用組索引ng, 且基于元素索引ne,獲取頻譜系數(shù)的初步4元組;以及使用取決于該符號序列中的逃逸符 號的數(shù)量的因子,乘以該初步4元組,來獲得頻譜系數(shù)的元組。熵解碼器220還可以適于基于使用算術(shù)編碼規(guī)則的均勻概率分布來對來自該編碼音頻流的余數(shù)進(jìn)行解碼;以及用于將該余數(shù)加至該已相乘的初步4元組,來獲得頻譜系 數(shù)的4元組。熵解碼器220可以適于當(dāng)從編碼音頻流對逃逸符號解碼時,將該4元組乘以預(yù)確 定因子,逃逸符號是僅用于指示乘法的特定組索引ng ;以及用于基于使用算術(shù)編碼規(guī)則的 均勻概率分布,對來自編碼音頻流的余數(shù)進(jìn)行解碼;該熵解碼器220還可以適于將余數(shù)加 至已相乘的4元組來獲得當(dāng)前段。下文將說明USAC上下文依賴性算術(shù)編碼器解碼方案的實(shí)施例。與編碼方案的上 述實(shí)施例相對應(yīng),考慮與無噪聲編碼的已量化頻譜系數(shù)相對應(yīng)的4元組。此外,假設(shè)從最低 頻率系數(shù)或頻譜系數(shù)開始,進(jìn)行至最高頻率系數(shù)或頻譜系數(shù),來發(fā)送4元組。該系數(shù)可以與 例如存儲在數(shù)組中的AAC系數(shù)相對應(yīng),并且假設(shè)無噪聲編碼碼字的發(fā)送順序使得當(dāng)以在數(shù) 組中接收并存儲的順序進(jìn)行解碼時,bin為最快遞增索引,而g為最慢遞增索引。在碼字內(nèi) 部,解碼順序?yàn)閍、b、c、d。圖7b示出了實(shí)施例的一般上下文更新過程。在本實(shí)施例中將考慮根據(jù)位深度預(yù) 測機(jī)制的上下文自適應(yīng)的細(xì)節(jié)。圖7b示出了位平面平面760,其顯示4元組(a、b、c、d)的 可能范圍??梢酝ㄟ^計(jì)算被稱作IevO的變量(圖7b也示出了),由當(dāng)前4元組的上下文來 預(yù)測位深度,即代表4元組的位平面數(shù)量。然后4元組被2lCT°除,即移除并存儲lev = IevO 位平面,以供稍后根據(jù)上述步驟715來使用。如果4元組在-5 < a、b、c、d < 4的范圍中,則正確預(yù)測或過度估算所預(yù)測的位 深度levO。然后遵照前文說明,由組索引ng、元素索引ne及l(fā)ev剩余位平面來對該4元組 進(jìn)行編碼。然后完成當(dāng)前4元組的編碼。在圖7b中由均勻概率分布762來指示元素索引 ne的編碼,其在下文中將經(jīng)常用于對元素索引進(jìn)行編碼,在圖7b中,參數(shù)r代表除法后該4 元組的余數(shù),并且P (r)代表相對應(yīng)的均勻概率密度函數(shù)。如果4元組不在-5 < a、b、c、d < 4的范圍中,則基于編碼上下文764的預(yù)測過 低,對逃逸符號(ng = M4)進(jìn)行編碼766,并且根據(jù)圖7a的步驟730,將該4元組除以4并 且將lev增加2。如下調(diào)整上下文。如果lev = = levO+2,則對應(yīng)于圖7b的768,略微調(diào)整 上下文??梢栽谏舷挛谋硎局性O(shè)置旗標(biāo)t,然后使用新的概率分布模型來對未來符號ng進(jìn) 行編碼。如果lev > levO+2,根據(jù)圖7b的步驟770對另一個逃逸符號進(jìn)行編碼,完全重置 上下文,參考圖7a的772,如圖7a的步驟730被拋棄。不再使用上下文調(diào)整,原因在于考慮 其與對當(dāng)前4元組編碼無關(guān)。如圖7b的步驟774和776所示,當(dāng)不再有上下文可用時,則 所使用的缺省概率模型隨后用于未來的ng符號。然后對其它元組重復(fù)處理程序??偠灾舷挛恼{(diào)整是為了降低上下文自適應(yīng)編碼中的上下文顯著性的機(jī)制。 當(dāng)預(yù)測的IevO與實(shí)際lev不匹配時,可以觸發(fā)上下文自適應(yīng)。通過已編碼的逃逸符號數(shù)量 (ng = 544)容易檢測到,參間圖7b的766和770,因此也可以類似方式在解碼器處進(jìn)行。通過觸發(fā)上下文狀態(tài)表示的旗標(biāo)t,可進(jìn)行上下文自適應(yīng)。通過使用從當(dāng)前4元組 的之前和/或當(dāng)前幀和/或段獲取的上下文(在表q[][]中存儲),由函數(shù)get_State()計(jì) 算出值t作為levO??梢杂?4位來表示上下文的狀態(tài)。在實(shí)施例中,存在1905800個可能 狀態(tài)。僅可以由21個位來表示這些狀態(tài)。保留t的第23位及第M位用于將上下文狀態(tài) 自適應(yīng)。根據(jù)第23位及第對位的值,get_pk()將輸出不同概率分布模型。在一個實(shí)施例
12中,當(dāng)在被levO除之后,4元組被4除時,可以將t的第23個位設(shè)為一,即lev一一levO+2。
因此,上下文狀態(tài)t與概率分布模型pki之間的映射對于lev一一levO+2與對lev一一levO不同。通過對訓(xùn)練序列的整體統(tǒng)計(jì)進(jìn)行優(yōu)化,在訓(xùn)練階段期間預(yù)先定義上下文狀態(tài)t和模型pki間的映射。當(dāng)lev>levO+2時,可以將上下文和t設(shè)為零。然后Get—pk()輸出缺省概率分布模型pki,其與t一0相對應(yīng)。
下面將描述一個實(shí)施例中的上下文映射的細(xì)節(jié)。在本實(shí)施例中的上下文最終重置之后,上下文映射是在上下文自適應(yīng)編碼中進(jìn)行的第一個操作。其以兩個步驟進(jìn)行。
首先,在編碼前,將在之前幀處保存的大小為previous—lg/4的上下文表qs[]映射到與當(dāng)前幀大小相對應(yīng)的大小lg/4的上下文表q
中。在arith_map—context函數(shù)中進(jìn)行該映射,以如下偽代碼舉例說明
/*input variable*/
lg/4/*number。f 4一tuples*/
arith map context 0
{
V—w一0
if(core mode一一1){
q
[V++]一qs[W++];
}
ratio一((float)previous—lg)/((float)lg);
for(J一0;J<lg/4;j++){
k一(int)((float))((J)*ratio);
q
一qs[w+k];
}
if(core mode一一0){
q
一qs[previous—lg/4];
}
q
一qs[previous—lg/4+1];
previous—lg—lg;
}[Oloo] 由偽代碼可知,對全部編碼策略而言,映射方式可能并非正好相同。在本實(shí)施例中,當(dāng)AAC(高級音頻編碼)用于(core mode一一0)系數(shù)時,映射與使用TCX(基于變換編碼)(core mode一一1)時不同。差異之一來自于如何處理表格邊界。在AAC中,映射始于索引0(表中的第一個數(shù)值);而/CX的映射始于索引l(表中的第二個數(shù)值),知道將第一個數(shù)值經(jīng)常性地設(shè)為“未知”(用于重置上下文的特定狀態(tài))。previous—lg對lg的比將確定在本實(shí)施例中進(jìn)行升采樣(比值<1)或降采樣(比值>1)的順序。圖7C示出了當(dāng)由大小1024/4的已保存的上下文表(參考圖7C的左手側(cè)780),變換至512/4大小(參考圖7C的右手側(cè)782)時/CX的情況??芍M管對當(dāng)前上下文表782,使用l的逐階遞增,但對所保存的上下文表780,使用上述比值的逐階遞增。
圖7C示出了用于解析度改變的實(shí)施例的上下文更新過程。一旦完成映射,則執(zhí)行上下文自適應(yīng)編碼。在編碼結(jié)束時,在表qs[]中保存當(dāng)前幀元素用于下一個幀??稍?arith_update_context()中進(jìn)行,通過如下偽代碼舉例說明/*input variables*/a, b, c, d /lvalue of the decoded 4_tuple氺/i/氺the index of the 4-tuple to decode in the vector氺/lg/4/氺number of 4_tuples氺/arith_update_context (){q[l] [1+i]. a = a ;q[l] [1+i].b = b ;q[l] [1+i]. c = c;q[l] [1+i]. d = d ;if((a<-4) Il (a >=4) || (b < _4) || (b > = 4) || (c < -4) || (c>=4) || (d <-4) Il (d>=4)){q[l] [1+i]· ν = 1024 ;}else q[l][1+i]. ν = egroups[4+a][4+b][4+c][4+d];if (i == lg/4 && core_mode = = 1) {qs
= q[l]
;ratio = ((float) lg) / ((float) 1024);for(j = 0 ;j < 256 ;j++) {k = (int) ((float) j*ratio);qs[l+k] = q[l] [1+j];}qs[previous_lg/4+l] = q[l][lg/4+1];previous_lg = 1024 ;}if (i == lg/4 && core_mode = = 0) {for(j = 0 ;j < 258 ;j++) {qs[j] = q[l] [k];}previous_lg = min(1024, lg);}}在本實(shí)施例中,根據(jù)核心編碼器(AAC或TCX)以不同方式進(jìn)行保存。在TCX中,上
下文經(jīng)常保存在10M/4個數(shù)值的表qs[]中。可進(jìn)行該附加映射,原因在于AMR-WB+(自適 應(yīng)多速率寬帶編碼解碼器)的閉合循環(huán)判定。在該閉合循環(huán)判定中,需要編碼器狀態(tài)的若 干拷貝過程用于測試TCX與ACELP(算術(shù)編碼激勵線性預(yù)測)的每一可能的組合。當(dāng)全部 TCX模式共享相同大小的表qs[]時,狀態(tài)拷貝更容易實(shí)施。然后使用映射來從lg/4系統(tǒng)性變換至10M/4。另一方面,在該階段期間,AAC僅保存上下文,并且不執(zhí)行映射。圖8示出了解碼方案的實(shí)施例的流程圖。在步驟805,與步驟705相對應(yīng),基于t0、 tl、t2和t3獲取上下文。在步驟810,從上下文估計(jì)第一縮小級別levO,將變量lev設(shè)為 levO。在后續(xù)步驟815中,從比特流讀取組ng,并從上下文獲取用于對ng進(jìn)行解碼的概率 分布。然后在步驟815,可從比特流對組ng進(jìn)行解碼。在步驟820,確定ng是否等于討4,其與逃逸值相對應(yīng)。如果是,則可以在返回步 驟815之前將變量lev增加2。當(dāng)?shù)谝淮问褂帽痉种r,即如果lev = = levO,則可據(jù)此自 適應(yīng)各自上下文的概率分布;如果并非第一次使用該分支,則遵照上述上下文自適應(yīng)機(jī)制, 參見圖7b和圖7c,可各自拋棄概率分布。在步驟820,在組索引ng不等于M4的情況下, 在后續(xù)步驟825,確定組中的元素數(shù)量是否大于1 ;如果是,在步驟830,假設(shè)均勻概率分布, 從比特流讀取并且解碼組元素ne。使用算術(shù)編碼和均勻概率分布,從該比特流獲取元素索 弓丨ne。在步驟835,通過表中的查詢過程,例如參考dgroups [ng]及acod_ne [ne],從ng 和ne獲取文字碼字(a, b,c,d)。在步驟840,對于全部lev錯失位平面,使用算術(shù)編碼且假設(shè)均勻概率分布,從該 比特流讀取平面。然后通過將(a、b、c、d)向左偏移且加上位平面bp :((a、b、c、d) << = 1) =bp,可以將位平面附加到(a、b、c、d)上。可以重復(fù)此處理程序lev次。最后,在步驟845,可以提供4元組q(n,m),即(a、b、c、d)。下面提供根據(jù)實(shí)施例的偽代碼和實(shí)施細(xì)節(jié)。將使用以下定義。(a、b、c、d)欲解碼的4元組ng 4元組的最高有效逐2位平面的組索引,此處0 <= ng<= M4。最后一個值 544對應(yīng)于逃逸符號ARITH_ESCAPE。ne組中的元素索引。ne位于0與每個組的基數(shù)mm之間。組中的元素的最大數(shù)量 為73。lev剩余位平面的級別。其對應(yīng)于比最高有效逐2位平面更低有效的位平面數(shù)量。egroups [a] [b] [c] [d]組索引表。其允許將4元組(a、b、c、d)的最高有效逐2 位平面映射到544個組中。mm組的基數(shù)og組的偏移量dgroups []將組索引ng映射至每個組的基數(shù)mm (頭8個位)以及將組偏移量og 映射到dgvectors □(末8個位)。dgvectors []將組偏移量og和元素索引ne映射到4元組(a、b、c、d)的最高有效 逐2位平面。arith_cf_ng_hash[]將上下文狀態(tài)映射至累積頻率表索引pki的散列表。arith_cf_ng[pki][545]用于組索引符號ng的累積頻率模型。arith_cf_ne[]用于元素索引符號ne的累積頻率。r比最高有效逐2位平面更低有效的4元組的位平面。arith_cf_r[]最低有效位平面符號r的累積頻率。
下面首先考慮解碼過程。對4元組的已量化頻譜系數(shù)進(jìn)行無噪聲編碼,從最低頻 率或頻譜系數(shù)開始發(fā)送,并且進(jìn)行至最高頻率或頻譜系數(shù)。將來自AAC的系數(shù)存儲于數(shù)組 x_ac_quant[g] [win] [sfb] [bin]中,無噪聲編碼碼字的發(fā)送順序使得,以在數(shù)組中接收和 存儲的順序?qū)@些碼字進(jìn)行解碼時,bin為最快遞增索引,而g為最慢遞增索引。在碼字內(nèi) 部,解碼順序?yàn)閍、b、c、d。將來自TCX的系數(shù)直接存儲在數(shù)組[切[111叫皿壯[#11] [bin] 中,并且無噪聲編碼碼字的發(fā)送順序使得以在數(shù)組中接收和存儲的順序?qū)@些碼字解碼 時,bin為最快遞增索引,而win為最慢遞增索引。在碼字內(nèi)部,解碼順序?yàn)閍、b、c、d。首 先,旗標(biāo)arith_reSet_flag確定是否必須重置上下文。如果旗標(biāo)為TRUE,則呼叫下列函數(shù)
權(quán)利要求
1.一種用于對系數(shù)段進(jìn)行編碼的音頻編碼器(100),所述系數(shù)段代表采樣音頻信號的 不同時間或頻率解析度,所述音頻編碼器(100)包括處理器(110),用于基于之前段的之前編碼的系數(shù),獲取用于當(dāng)前段的當(dāng)前編碼的系 數(shù)的編碼上下文,所述之前編碼的系數(shù)代表與所述當(dāng)前編碼的系數(shù)不同的時間或頻率解析 度;以及熵編碼器(120),用于基于所述編碼上下文,對所述當(dāng)前系數(shù)進(jìn)行熵編碼以獲得編碼音 頻流。
2.根據(jù)權(quán)利要求1所述的音頻編碼器(100),還包括用于從音頻流中提供系數(shù)段的裝 置,所述系數(shù)形成由所述音頻流代表的音頻信號的頻譜表示,其在所述段中具有變化的頻 譜解析度。
3.根據(jù)權(quán)利要求2所述的音頻編碼器(100),其中所述熵編碼器(120)適于以頻譜系 數(shù)的元組為單位對所述當(dāng)前系數(shù)進(jìn)行編碼,并且適于基于所述編碼上下文來預(yù)測所述元組 的范圍。
4.根據(jù)權(quán)利要求3所述的音頻編碼器(100),其中所述熵編碼器(120)適于依照需求 將所述元組除以預(yù)定因子,以讓除法的結(jié)果適合預(yù)定范圍,并且所述熵編碼器(120)適于 當(dāng)所述元組不在所預(yù)測的范圍中時,對所需除法的數(shù)量、除法余數(shù)以及除法的結(jié)果進(jìn)行編 碼,并且所述熵編碼器(120)適于當(dāng)所述元組在所預(yù)測的范圍中時,對除法余數(shù)和除法的 結(jié)果進(jìn)行編碼。
5.根據(jù)權(quán)利要求4所述的音頻編碼器(100),其中所述熵編碼器(120)適于使用組索 引對所述除法的結(jié)果或所述元組進(jìn)行編碼,所述組索引指代一個或多個碼字的組,其概率 分布基于所述編碼上下文,并且,所述熵編碼器(120)在所述組包括多于一個碼字的情況 下,基于均勻概率分布對元素索引進(jìn)行編碼,所述元素索引指代所述組中的碼字,并且所述 熵編碼器(120)適于通過一定數(shù)量的逃逸符號對除法數(shù)量進(jìn)行編碼,逃逸符號是僅用于指 示除法的特定組索引,并且所述熵編碼器(120)適于使用算術(shù)編碼規(guī)則,基于均勻概率分 布對所述除法的余數(shù)進(jìn)行編碼。
6.根據(jù)權(quán)利要求5所述的音頻編碼器(100),其中所述熵編碼器(120)適于使用包括 所述逃逸符號在內(nèi)的符號字母表,將符號序列編碼為所述編碼音頻流,并且組符號與可用 的組索引的集合相對應(yīng),符號字母表包括相對應(yīng)的元素索引,并且符號字母表包括所述余 數(shù)的不同值。
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的音頻編碼器(100),其中所述處理器(110)和 所述熵編碼器(120)被配置為當(dāng)所述之前段比所述當(dāng)前段顯示更精細(xì)的頻譜解析度時,基 于所述之前段的頻譜系數(shù)的降采樣來進(jìn)行操作,和/或其中所述處理器(110)和所述熵編 碼器(120)被配置為當(dāng)所述之前段比所述當(dāng)前段顯示更粗糙的頻譜解析度時,基于所述之 前段的頻譜系數(shù)的升采樣來進(jìn)行操作。
8.一種用于對系數(shù)段進(jìn)行編碼的方法,所述段代表采樣音頻信號的不同時間或頻率解 析度,所述方法包括以下步驟基于之前段的之前編碼的系數(shù),獲取用于當(dāng)前段的當(dāng)前編碼系數(shù)的編碼上下文,所述 之前編碼的系數(shù)代表與所述當(dāng)前編碼的系數(shù)不同的時間或頻率解析度;以及基于所述編碼上下文對所述當(dāng)前系數(shù)進(jìn)行熵編碼,以獲得編碼音頻流。
9.一種用于對編碼音頻流進(jìn)行解碼以獲得系數(shù)段的音頻解碼器000),所述系數(shù)段代 表采樣音頻信號的不同時間或頻率解析度,所述音頻解碼器(200)包括處理器010),用于基于之前段的之前解碼的系數(shù),獲取用于當(dāng)前段的當(dāng)前解碼的系 數(shù)的編碼上下文,所述之前解碼的系數(shù)代表與所述當(dāng)前解碼的系數(shù)不同的時間或頻率解析 度;以及熵解碼器O20),用于基于所述編碼上下文和所述編碼音頻流對所述當(dāng)前系數(shù)進(jìn)行熵 解碼。
10.根據(jù)權(quán)利要求9所述的音頻解碼器000),其中所述處理器(210)適于基于所述之 前的系數(shù)獲取所述編碼上下文,所述系數(shù)形成由所述音頻流代表的音頻信號的頻譜表示, 其在所述段中具有變化的頻譜解析度。
11.根據(jù)權(quán)利要求9至10中任一項(xiàng)所述的音頻解碼器000),其中所述處理器適于基 于在所述之前段中或可選的在所述當(dāng)前段中的之前解碼的相鄰頻譜系數(shù),來獲取所述當(dāng)前 系數(shù)的每個頻帶的編碼上下文。
12.根據(jù)權(quán)利要求11所述的音頻解碼器000),其中所述熵解碼器(220)適于基于從 所述編碼上下文中獲取的概率分布,從所述編碼音頻流中對組索引進(jìn)行解碼,其中所述組 索引代表一個或多個碼字的組,并且所述熵解碼器(220)適于如果所述組索引指示包括多 于一個碼字的組,則基于均勻概率分布,從所述編碼音頻流中對元素索引進(jìn)行解碼,并且所 述熵解碼器(220)適于基于所述組索引和所述元素索引來獲取所述當(dāng)前段的頻譜系數(shù)的 元組,從而獲得具有頻譜系數(shù)的元組形式的頻譜域表示。
13.根據(jù)權(quán)利要求12所述的音頻解碼器000),其中所述熵解碼器(220)適于使用包 括逃逸符號和與可用組索引的集合相對應(yīng)的組符號在內(nèi)的符號字母表,基于從所述編碼上 下文中獲取的概率分布,從所述編碼音頻流中對符號序列進(jìn)行解碼,所述熵解碼器(220) 適于基于與所述符號序列的組符號相對應(yīng)的可用組索引并且基于所述元素索引,獲取頻譜 系數(shù)的初步元組,并且所述熵解碼器(220)適于將所述初步元組與依賴于所述符號序列中 的逃逸符號的數(shù)量的因子相乘,以獲得頻譜系數(shù)的元組。
14.根據(jù)權(quán)利要求13所述的音頻解碼器000),其中所述熵解碼器(220)適于使用算 術(shù)編碼規(guī)則,基于均勻概率分布,從所述編碼音頻流中對除法余數(shù)進(jìn)行解碼,并且所述熵解 碼器(220)適于將所述余數(shù)與所述相乘后的初步元組相加,以獲得頻譜系數(shù)的元組。
15.根據(jù)權(quán)利要求9至14中任一項(xiàng)所述的音頻解碼器000),其中所述處理器(210) 和所述熵編碼器(220)被配置為當(dāng)所述之前段比所述當(dāng)前段顯示更精細(xì)的頻譜解析度時, 基于所述之前段的頻譜系數(shù)的降采樣來進(jìn)行操作,和/或其中所述處理器(210)和所述熵 編碼器(220)被配置為當(dāng)所述之前段比所述當(dāng)前段顯示更粗糙的頻譜解析度時,基于所述 之前段的頻譜系數(shù)的升采樣來進(jìn)行操作。
16.一種用于對編碼音頻流進(jìn)行解碼以獲得系數(shù)段的方法,所述系數(shù)段代表解碼音頻 采樣,所述方法包括以下步驟基于之前段的之前解碼的系數(shù),獲取用于當(dāng)前段的當(dāng)前解碼系數(shù)的編碼上下文,所述 之前解碼的系數(shù)代表與所述當(dāng)前解碼的系數(shù)不同的時間或頻率解析度;以及基于所述編碼上下文和所述編碼音頻流,對所述當(dāng)前系數(shù)進(jìn)行熵解碼。
17.一種具有程序代碼的計(jì)算機(jī)程序,當(dāng)所述程序代碼在計(jì)算機(jī)或處理器上運(yùn)行時,所述程序代碼用于執(zhí)行權(quán)利要求8或16所述的方法之一。
全文摘要
一種用于對系數(shù)段進(jìn)行編碼的音頻編碼器(100),所述系數(shù)段代表采樣音頻信號的不同時間或頻率解析度,所述音頻編碼器(100)包括處理器(110),用于基于之前段的之前編碼的系數(shù),獲取用于當(dāng)前段的當(dāng)前編碼的系數(shù)的編碼上下文,所述之前編碼的系數(shù)代表與所述當(dāng)前編碼的系數(shù)不同的時間或頻率解析度。所述音頻編碼器(100)還包括熵編碼器(120),用于基于所述編碼上下文,對所述當(dāng)前系數(shù)進(jìn)行熵編碼以獲得編碼音頻流。
文檔編號G10L19/02GK102089813SQ200980127207
公開日2011年6月8日 申請日期2009年5月18日 優(yōu)先權(quán)日2008年7月11日
發(fā)明者伯恩哈德·格瑞, 尼古拉斯·里特爾博謝, 斯特凡·蓋爾斯貝格, 紀(jì)堯姆·??怂? 維爾吉利奧·巴奇加盧波, 馬庫斯·馬特拉斯 申請人:弗勞恩霍夫應(yīng)用研究促進(jìn)協(xié)會