專利名稱:具有隨機(jī)訪問點(diǎn)(rap)和多預(yù)測(cè)參數(shù)集(mpps)能力的使用自適應(yīng)分段的無損多通道音頻 ...的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無損音頻編解碼器,更具體地,涉及具有隨機(jī)訪問點(diǎn)(RAP)能力和多 預(yù)測(cè)參數(shù)集(MPPS)能力的使用自適應(yīng)分段的無損多通道音頻編解碼器。
背景技術(shù):
許多低比特率有損音頻編碼系統(tǒng)當(dāng)前正用于寬范圍的消費(fèi)類和專業(yè)音頻回放產(chǎn) 品和服務(wù)中。例如,Dloby AC3 (Dobly digital)音頻編碼系統(tǒng)就是一世界性標(biāo)準(zhǔn),其用于使 用高達(dá)640kbit/s的比特率來為激光唱片、NTSC編碼的DVD視頻和ATV編碼立體聲和5. 1 通道音頻聲軌。MPEG I和MPEG II音頻編碼標(biāo)準(zhǔn)被廣泛地用于以高達(dá)768kbit/s的比特率 為PAL編碼的DVD視頻、歐洲的陸地?cái)?shù)字無線電廣播和美國(guó)的衛(wèi)星廣播進(jìn)行立體聲和多通 道聲軌編碼。DTS (數(shù)字影院系統(tǒng))相干聲學(xué)音頻編碼系統(tǒng)經(jīng)常被用于光盤、DVD視頻、歐洲 的衛(wèi)星廣播以及激光唱片的錄音棚品質(zhì)5. 1通道音頻聲軌,并且比特率高達(dá)1536kbit/s。近來,許多消費(fèi)者已經(jīng)對(duì)所謂的“無損”編解碼器表現(xiàn)出興趣?!盁o損”編解碼器依 靠壓縮數(shù)據(jù)而不會(huì)丟棄任何信息的算法,并且產(chǎn)生與(數(shù)字化的)源信號(hào)相同的解碼信號(hào)。 這種性能帶來一定的代價(jià)這樣的編解碼器通常比有損編解碼器需要更多的帶寬,并且將 數(shù)據(jù)壓縮至更少的程度。圖1是表示在無損壓縮單個(gè)音頻通道時(shí)所涉及的操作的框圖。盡管多通道音頻中 的各通道一般不是獨(dú)立的,但依賴性通常較弱并且難于加以考慮。因此,各通道通常被分別 壓縮。然而,一些編碼器嘗試通過形成簡(jiǎn)單的殘差(residual)信號(hào)和編碼(Chl、Chl_CH2) 來去除相關(guān)性。更復(fù)雜的方法采用例如在通道維度上的若干連續(xù)的正交投影步驟。所有 技術(shù)都基于首先從信號(hào)中去除冗余然后利用有效數(shù)字編碼方案來編碼所得信號(hào)的原理。 無損編解碼器包括MPL(DVD音頻)、Monkey,s audio (計(jì)算機(jī)應(yīng)用)、Apple lossless、 Windows Media Pro lossless、AudioPak、DVD、LTAC、MUSICcompress、OggSquish、Philips、 Shorten、Sonarc以及WA。對(duì)這些編解碼器中的許多的評(píng)論可以在Mat Hans, Ronald Schafer “Lossless Compression of Digital Audio,,Hewlett Packard, 1999 中找至Ij0成幀10被引入以便為可編輯性做準(zhǔn)備,龐大的數(shù)據(jù)量使得無法在區(qū)域被編輯之 前對(duì)整個(gè)信號(hào)重復(fù)地解壓縮。音頻信號(hào)被分成具有相等持續(xù)時(shí)間的獨(dú)立的幀。該持續(xù)時(shí)間 不應(yīng)當(dāng)太短,因?yàn)榧釉诿恳粠懊娴念^部可能引起相當(dāng)大的開銷。反過來,幀持續(xù)時(shí)間不應(yīng) 當(dāng)太長(zhǎng),因?yàn)檫@會(huì)限制時(shí)間適應(yīng)性(temporal adaptivity)并使得編輯更為困難。在許多 應(yīng)用中,幀尺寸受到傳送音頻的媒介的峰值比特率、解碼器的緩沖容量、以及使每一幀可被獨(dú)立解碼的期望的約束。通道內(nèi)解相關(guān)12通過解相關(guān)幀內(nèi)每個(gè)通道中的音頻樣本來去除冗余。大多數(shù)算 法通過某種類型的信號(hào)線性預(yù)測(cè)模型來去除冗余。在這種方法中,線性預(yù)測(cè)器被應(yīng)用于每 一幀中的音頻樣本,得到一系列預(yù)測(cè)誤差樣本。第二種不太常見的方法是獲取信號(hào)的低比 特率量化或有損表示,然后無損地壓縮有損版本與原始版本之間的差。熵編碼14從來自殘 差信號(hào)的誤差中去除冗余而不會(huì)損失任何信息。典型的方法包括Huffman編碼、行程長(zhǎng)度 編碼(rim length coding)以及Rice編碼。該輸出是可以無損地重建的壓縮信號(hào)?,F(xiàn)有DVD規(guī)范和初步的HD DVD規(guī)范針對(duì)一個(gè)數(shù)據(jù)訪問單元的尺寸設(shè)置了硬性限 制,其表示音頻流中一旦提取就可被完全解碼的一部分和被發(fā)送至輸出緩沖器的重建的音 頻樣本。對(duì)于無損流來說,其意味著,每個(gè)訪問單元可以表示的時(shí)間量必須足夠小,使得對(duì) 于峰值比特率的最壞情況,編碼凈荷不超出該硬性限制。對(duì)于增加的采樣率和增加的通道 數(shù),持續(xù)時(shí)間也必須減小,這增大了峰值比特率。為了確保兼容性,這些現(xiàn)有編碼器將不得不將整個(gè)幀的持續(xù)時(shí)間設(shè)置得足夠短, 以便不超出在通道/采樣頻率/比特寬度的最壞情況下的硬性限制。在大多數(shù)配置中,這 將是過分的并且可能嚴(yán)重劣化壓縮性能。而且,這種最壞情況方法不能很好地適應(yīng)附加的 通道。
發(fā)明內(nèi)容
本發(fā)明提供了一種音頻編解碼器,其利用在幀內(nèi)的指定片段(segment)處啟動(dòng)無 損解碼的隨機(jī)訪問點(diǎn)(RAP)能力和/或?yàn)闇p輕瞬變(transient)影響而分區(qū)(partition) 的多預(yù)測(cè)參數(shù)集(MPPS)能力來生成無損可變比特率(VBR)比特流。這利用自適應(yīng)分段技術(shù)來實(shí)現(xiàn),該技術(shù)確定片段起始點(diǎn),以確保由幀中期望的RAP 和/或一個(gè)或多個(gè)瞬變的存在所施加的對(duì)片段的邊界約束,并且選擇每個(gè)幀中的最佳片段 持續(xù)時(shí)間,以在編碼片段凈荷約束下減小編碼幀凈荷。一般來說,該邊界約束規(guī)定,期望的 RAP或瞬變必須位于從片段的起點(diǎn)起特定數(shù)量的分析塊內(nèi)。在幀內(nèi)的片段具有相同的持續(xù) 時(shí)間并且是分析塊持續(xù)時(shí)間的二的冪的倍數(shù)的一個(gè)示例性實(shí)施例中,確定最大片段持續(xù)時(shí) 間以確保滿足所述期望的條件。RAP和MPPS尤其可用于提升在較長(zhǎng)的幀持續(xù)時(shí)間情況下的 整體性能。在一個(gè)示例性實(shí)施例中,無損VBR音頻比特流被編碼,其中將RAP(RAP片段)對(duì) 準(zhǔn)到在編碼器定時(shí)碼中設(shè)置的期望RAP的指定容限內(nèi)。將每個(gè)幀分塊成分析塊序列,并且 每個(gè)片段的持續(xù)時(shí)間等于一個(gè)或多個(gè)分析塊的持續(xù)時(shí)間。在每個(gè)相繼的幀中,根據(jù)定時(shí)碼 來確定多達(dá)一個(gè)RAP分析塊。RAP分析塊的位置和RAP分析塊必須位于RAP片段的起點(diǎn)的 M個(gè)分析塊內(nèi)的約束設(shè)定了 RAP片段的起點(diǎn)。為該幀確定預(yù)測(cè)參數(shù),如果MPPS被啟用并且 在通道中檢測(cè)到瞬變,則為兩組參數(shù)(每通道)。音頻幀中的樣本被壓縮,其中對(duì)于在RAP 片段的起點(diǎn)之后直到預(yù)測(cè)階數(shù)的第一樣本,預(yù)測(cè)被禁用。在殘差樣本上采用自適應(yīng)分段,以 確定每個(gè)片段的片段持續(xù)時(shí)間和熵編碼參數(shù),從而在所設(shè)定的RAP片段起點(diǎn)和編碼片段凈 荷約束下最小化編碼幀凈荷。指示RAP片段的存在和位置的RAP參數(shù)以及導(dǎo)航數(shù)據(jù)被打包 到頭部中。響應(yīng)于用于啟動(dòng)回放的導(dǎo)航命令(諸如用戶選擇場(chǎng)景或網(wǎng)絡(luò)沖浪(surfing)), 解碼器解包(unpack)比特流中下一幀的頭部以讀取RAP參數(shù),直到檢測(cè)到包括RAP片段的幀為止。解碼器提取片段持續(xù)時(shí)間和導(dǎo)航數(shù)據(jù),以導(dǎo)航至RAP片段的起點(diǎn)。解碼器禁用對(duì) 第一樣本的預(yù)測(cè),直到預(yù)測(cè)歷史被重建,然后按順序解碼剩下的片段和隨后的幀,每當(dāng)遇到 RAP片段時(shí)就禁用預(yù)測(cè)器。這種構(gòu)造允許解碼器以亞幀分辨率在或非??拷幋a器指定的 RAP處啟動(dòng)解碼。對(duì)于較長(zhǎng)的幀持續(xù)時(shí)間,當(dāng)試圖將音頻回放同步至例如在章節(jié)開頭處指定 RAP的視頻定時(shí)碼時(shí),這尤其有用。在另一示例性實(shí)施例中,無損VBR音頻比特流被編碼,其中MPPS被分區(qū)以使檢測(cè) 到的瞬變位于它們相應(yīng)的通道中的片段的第一L個(gè)分析塊內(nèi)。在每一個(gè)相繼的幀中,檢測(cè) 每通道集每通道的多達(dá)一個(gè)瞬變及其在該幀內(nèi)的位置。考慮到由瞬變施加的片段起始點(diǎn), 為每個(gè)分區(qū)確定預(yù)測(cè)參數(shù)。每個(gè)分區(qū)中的樣本都用相應(yīng)參數(shù)集壓縮。自適應(yīng)分段在殘差樣 本上采用,以確定每個(gè)片段的片段持續(xù)時(shí)間和熵編碼參數(shù),從而在根據(jù)瞬變(和RAP)施加 的片段起點(diǎn)約束和編碼片段凈荷約束下最小化編碼幀凈荷。將表示第一瞬變片段(每通 道)的存在和位置的瞬變參數(shù)以及導(dǎo)航數(shù)據(jù)打包到頭部中。解碼器解包幀頭部,以提取瞬 變參數(shù)和附加的預(yù)測(cè)參數(shù)集。對(duì)于通道集中的每個(gè)通道,解碼器使用第一組預(yù)測(cè)參數(shù)直到 遇到瞬變片段為止,接著切換至第二組以用于剩下的片段。盡管幀的分段是在各通道上和 多個(gè)通道集上是相同的,但瞬變(若有的話)的位置在通道集之間以及在通道集內(nèi)可以變 化。這種構(gòu)造允許解碼器以亞幀分辨率在或非??拷鶛z測(cè)到的瞬變的開始處切換預(yù)測(cè)參 數(shù)集,這對(duì)于較長(zhǎng)的幀持續(xù)時(shí)間的情況尤其有用,以改善總編碼效率。壓縮性能可以通過為M通道音頻形成M/2個(gè)解相關(guān)通道來進(jìn)一步增強(qiáng)。通道三元 組(基本通道,相關(guān)通道,解相關(guān)通道)提供了兩種可能的對(duì)組合(基本通道,相關(guān)通道) 和(基本通道,解相關(guān)通道),其可以在分段和熵編碼最優(yōu)化期間考慮,以進(jìn)一步改進(jìn)壓縮 性能。通道對(duì)可以每片段或每幀地被指定。在一示例性實(shí)施例中,編碼器將音頻信號(hào)成幀, 然后提取包括基本通道和相關(guān)通道的有序通道對(duì),并生成解相關(guān)通道,以形成至少一個(gè)三 元組(基本通道,相關(guān)通道,解相關(guān)通道)。如果通道數(shù)為奇數(shù),則處理額外的基本通道。將 自適應(yīng)或固定多項(xiàng)式預(yù)測(cè)應(yīng)用至每個(gè)通道以形成殘差信號(hào)。對(duì)于每個(gè)三元組,選擇具有最 小編碼凈荷的通道對(duì)(基本通道,相關(guān)通道)或(基本通道,解相關(guān)通道)。利用選定的通 道對(duì),可以確定用于所有通道上每個(gè)片段的全局編碼參數(shù)集。編碼器基于哪一個(gè)具有最小 總編碼凈荷(頭部和音頻數(shù)據(jù))來選擇全局編碼參數(shù)集或分別的編碼參數(shù)集。在任一種方法中,一旦已經(jīng)確定用于當(dāng)前分區(qū)(片段持續(xù)時(shí)間)的最佳編碼參數(shù) 集和通道對(duì),編碼器就計(jì)算每個(gè)片段中的跨所有通道的編碼凈荷。假定滿足對(duì)任何期望的 RAP或檢測(cè)到的瞬變的片段起點(diǎn)和最大片段凈荷尺寸的約束,編碼器確定對(duì)于當(dāng)前分區(qū)的 整個(gè)幀的總編碼凈荷是否小于對(duì)于較早分區(qū)的當(dāng)前最佳總編碼凈荷。如果為真,則存儲(chǔ)當(dāng) 前編碼參數(shù)集和編碼凈荷并且增加片段持續(xù)時(shí)間。分段算法通過將幀分割成等于分析塊尺 寸的最小片段尺寸而適當(dāng)?shù)亻_始,并且在每個(gè)步驟按二的冪來增加片段持續(xù)時(shí)間。重復(fù)這 個(gè)處理直到片段尺寸違反最大尺寸約束或者片段持續(xù)時(shí)間增長(zhǎng)至最大片段持續(xù)時(shí)間。RAP 或MPPS特征的實(shí)施以及幀內(nèi)所期望的RAP或檢測(cè)到的瞬變的存在可以使自適應(yīng)分段例程 選擇與其它方式相比較而言更小的片段持續(xù)時(shí)間。本領(lǐng)域技術(shù)人員從下面的優(yōu)選實(shí)施例的詳細(xì)描述結(jié)合附圖,將清楚本發(fā)明的這些 和其它特征以及優(yōu)點(diǎn),在附圖中
圖1,如上所述,是用于標(biāo)準(zhǔn)無損音頻編碼器的框圖;圖2a和2b分別是根據(jù)本發(fā)明的無損音頻編碼器和解碼器的框圖;圖3是與分段和熵編碼選擇有關(guān)的頭部信息的圖;圖4a和4b是分析窗處理和逆分析窗處理的框圖;圖5是交叉通道解相關(guān)的流程圖;圖6a和6b是自適應(yīng)預(yù)測(cè)分析和處理以及逆自適應(yīng)預(yù)測(cè)處理的框圖;圖7a和7b是最佳分段和熵編碼選擇的流程圖;圖8a和8b是用于通道集的熵編碼選擇的流程圖;圖9是核心加無損擴(kuò)展編解碼器的框圖;圖10是比特流的幀的示意圖,其中每一幀都包括頭部和多個(gè)片段;圖Ila和lib是與RAP和MPPS的規(guī)范有關(guān)的附加頭部信息的圖;圖12是用于針對(duì)期望的RAP或檢測(cè)到的瞬變確定片段邊界或最大片段持續(xù)時(shí)間 的流程圖;圖13是用于確定MPPS的流程圖;圖14是幀的圖,示出對(duì)片段起始點(diǎn)或最大片段持續(xù)時(shí)間的選擇;圖15a和15b是示出比特流和在RAP片段和瞬變處比特流的解碼的圖;以及圖16是示出基于最大片段凈荷和最大片段持續(xù)時(shí)間約束的自適應(yīng)分段的圖。
具體實(shí)施例方式本發(fā)明提供了一種自適應(yīng)分段算法,其利用在幀內(nèi)的指定片段處啟動(dòng)無損解碼的 隨機(jī)訪問點(diǎn)(RAP)能力和/或?yàn)闇p輕瞬變效應(yīng)(transient effect)而分區(qū)的多預(yù)測(cè)參數(shù) 集(MPPS)能力來生成無損的可變比特率(VBR)比特流。該自適應(yīng)分段技術(shù)確定和設(shè)定片 段起始點(diǎn)以確保滿足由期望的RAP和/或檢測(cè)到的瞬變所施加的邊界條件,并且選擇每一 幀中的最佳片段持續(xù)時(shí)間以在編碼片段凈荷約束和設(shè)定的片段起始點(diǎn)下減小編碼幀凈荷。 一般地,邊界約束規(guī)定期望的RAP或瞬變必須位于片段起點(diǎn)的特定數(shù)量的分析塊內(nèi)。該期 望的RAP可以從片段起點(diǎn)加上或減去分析塊的數(shù)量。該瞬變位于片段的第一數(shù)量的分析塊 內(nèi)。在幀內(nèi)的片段具有相同持續(xù)時(shí)間并且是分析塊持續(xù)時(shí)間的二的冪的倍數(shù)的示例性實(shí)施 例中,確定最大片段持續(xù)時(shí)間以確保所希望的條件。RAP和MPPS尤其可用于提升在較長(zhǎng)的 幀持續(xù)時(shí)間情況下的整體性能。無損音頻編解碼器如圖2a和2b所示,除了對(duì)用于為RAP和/或瞬變?cè)O(shè)置片段開始條件的分析窗處理 以及分段和熵編碼選擇的修改以外,基本的操作塊類似于現(xiàn)有的無損編碼器和解碼器。分 析窗處理器使多通道PCM音頻20經(jīng)歷分析窗處理22,該分析窗處理將數(shù)據(jù)分塊為具有恒定 持續(xù)時(shí)間的幀,基于期望的RAP和/或檢測(cè)到的瞬變來設(shè)定片段起始點(diǎn),并且通過解相關(guān)幀 內(nèi)每個(gè)通道中的音頻樣本來去除冗余。解相關(guān)利用預(yù)測(cè)來執(zhí)行,該預(yù)測(cè)被寬泛地定義成,使 用舊的重建的音頻樣本(預(yù)測(cè)歷史)來估計(jì)當(dāng)前原始樣本的值并確定殘差(residual)的 任何處理。預(yù)測(cè)技術(shù)包括固定的或自適應(yīng)的以及線性的或非線性的,等等。代替直接熵編碼 殘差信號(hào),自適應(yīng)分段器執(zhí)行最佳分段和熵編碼選擇處理24,其將數(shù)據(jù)分成多個(gè)片段并且確定每個(gè)片段的片段持續(xù)時(shí)間和編碼參數(shù),例如選擇特定的熵編碼器及其參數(shù),使得在以 下約束下最小化整個(gè)幀的編碼凈荷,所述約束是每個(gè)片段都必須可被完全且無損地解碼、 小于比幀尺寸小的最大字節(jié)數(shù)、小于幀持續(xù)時(shí)間,以及,任何期望的RAP和/或檢測(cè)到的瞬 變必須位于從某一片段的起點(diǎn)起的指定數(shù)量的分析塊(亞幀分辨率)以內(nèi)。編碼參數(shù)集針 對(duì)每個(gè)不同通道被優(yōu)化,并且可以針對(duì)全局編碼參數(shù)集被優(yōu)化。熵編碼器根據(jù)每個(gè)片段的 特定編碼參數(shù)集熵編碼26每個(gè)片段。打包器將編碼數(shù)據(jù)和頭部信息打包28成比特流30。如圖2b所示,為了執(zhí)行解碼操作,解碼器響應(yīng)于例如用戶選擇視頻場(chǎng)景或章節(jié)或 用戶網(wǎng)絡(luò)沖浪而導(dǎo)航至比特流30中的某個(gè)點(diǎn),并且解包器解包比特流40以提取頭部信息 和編碼數(shù)據(jù)。解碼器解包頭部信息以確定可以開始解碼的接下來的RAP片段。解碼器然后 導(dǎo)航至該RAP片段并啟動(dòng)解碼。解碼器在其遇到每個(gè)RAP片段時(shí)禁用對(duì)特定數(shù)量的樣本 的預(yù)測(cè)。如果解碼器檢測(cè)到幀中存在瞬變,則解碼器使用第一組預(yù)測(cè)參數(shù)來解碼第一分區(qū) (partition),然后使用第二組預(yù)測(cè)參數(shù)來從該瞬變起在幀內(nèi)向前解碼。熵解碼器根據(jù)指定 的編碼參數(shù)對(duì)每個(gè)通道的每個(gè)片段執(zhí)行熵解碼42,以無損地重建殘差信號(hào)。逆分析窗處理 器使這些信號(hào)經(jīng)歷逆分析窗處理44,其執(zhí)行逆預(yù)測(cè),以無損地重建原始PCM音頻20。比特流導(dǎo)航和頭部格式如圖10所示,比特流30中的幀500包括頭部502和多個(gè)片段504。頭部502包括 同步506、公共頭部508、用于一個(gè)或多個(gè)通道集的子頭部510、以及導(dǎo)航數(shù)據(jù)512。在這個(gè) 實(shí)施例中,導(dǎo)航數(shù)據(jù)512包括NAVI組塊(chunk) 514和糾錯(cuò)碼CRC16 516。NAVI組塊優(yōu)選 地將導(dǎo)航數(shù)據(jù)分解成最小部分的比特流以使得能夠完全導(dǎo)航。該組塊包括用于每個(gè)片段的 NAVI片段518,并且每個(gè)NAVI片段都包括針對(duì)每個(gè)通道集的NAVI Ch Set凈荷尺寸520。 這使得解碼器能夠?qū)Ш街翆?duì)于任何指定通道集的RAP片段的開頭,等等。每個(gè)片段504都 包括對(duì)于每個(gè)通道集中的每個(gè)通道的熵編碼殘差522(以及預(yù)測(cè)由于RAP而被禁用之處的 原始樣本)。比特流包括至少一個(gè)并且優(yōu)選為多個(gè)不同通道集的頭部信息和編碼數(shù)據(jù)。例如, 第一通道集可以是2. 0配置、第二通道集可以是構(gòu)成5. 1通道表示的附加的4個(gè)通道,而第 三通道集可以是構(gòu)成總體7. 1通道表示的附加的2個(gè)環(huán)繞通道。8通道解碼器將提取并解 碼所有3個(gè)通道集,以在其輸出端產(chǎn)生7. 1通道表示。6通道解碼器提取并解碼通道集1和 通道集2,完全忽略通道集3,以產(chǎn)生5. 1通道表示。2通道解碼器僅提取并解碼通道集1而 忽略通道集2和3,以產(chǎn)生2通道表示。按這種方式構(gòu)造流考慮到了解碼器復(fù)雜度的可伸縮 性。 在編碼期間,時(shí)間編碼器執(zhí)行所謂的“嵌入式下混音(down-mixing) ”,以使 7. 1- > 5. 1下混音容易在按通道集1和2編碼的5. 1通道中可用。類似地,5. 1- > 2. 0下 混音容易在被編碼為通道集1的2.0通道中可用。在取消在編碼側(cè)執(zhí)行的5. 1->2.0下混 音嵌入操作之后,6通道解碼器通過解碼通道集1和2將獲得5. 1下混音。類似地,完整8 通道解碼器通過解碼通道集1、2和3以及取消在編碼側(cè)執(zhí)行的7. 1- > 5. 1和5. 1- > 2. 0 下混音嵌入操作,將獲取原始7. 1表示。 如圖3所示,頭部32在通常為無損編解碼器提供的信息之外還包括附加信息,以 便實(shí)現(xiàn)分段和熵編碼選擇。更具體地,頭部包括公共頭部信息34、通道集頭部信息36和片 段頭部信息38,其中公共頭部信息34諸如片段數(shù)(NumSegments)和每個(gè)片段中的樣本數(shù)(NumSamplesInSegm),通道集頭部信息36諸如量化的解相關(guān)系數(shù)(QuantChDecorrCoeff 口 []),片段頭部信息38諸如當(dāng)前片段中針對(duì)通道集的字節(jié)數(shù)(ChSetByteCOns)、全局優(yōu)化標(biāo) 志(AllChSameParamFlag)、和指示是使用Rice編碼還是二進(jìn)制(Binary)編碼以及編碼參 數(shù)的熵編碼器標(biāo)志(RiceCodeFlag□,CodeParam[]) 0這種特定頭部配置假定幀內(nèi)的片段 具有相等持續(xù)時(shí)間,并且片段是分析塊持續(xù)時(shí)間的二的冪的倍數(shù)。幀的分段在通道集內(nèi)的 各通道上以及在各通道集上是均勻的。如圖Ila所示,頭部還包括在公共頭部中的RAP參數(shù)530,其規(guī)定RAP在給定幀內(nèi) 的存在性以及位置。在這個(gè)實(shí)施例中,如果RAP存在,則頭部包括RAP FLAG = TRUE。RAP ID規(guī)定RAP片段的片段號(hào),以便在期望的RAP處訪問比特流時(shí)啟動(dòng)解碼。可替換地,RAP_ MASK可以被用于表示是和不是RAP的片段。RAP在所有通道集上將是一致的。如圖lib所示,該頭部包括對(duì)于整個(gè)幀中的通道ch,或?qū)τ谠谒沧兊那闆r下在 瞬變之前的幀的第一分區(qū)中的通道ch,AdPredOrder
[ch]=自適應(yīng)預(yù)測(cè)器的階數(shù),或 FixedPredOrder
[ch]=固定預(yù)測(cè)器的階數(shù)。當(dāng)選擇自適應(yīng)預(yù)測(cè)時(shí)(AdPredOrder
[ch] > 0),自適應(yīng)預(yù)測(cè)系數(shù)被編碼并被打包為AdPredCodes W] [ch][AdPred0rder
[ch]]。在MPPS的情況下,頭部在通道集頭部信息中還包括瞬變參數(shù)532。在這個(gè)實(shí)施例 中,每個(gè)通道集頭部包括ExtraPredSetsPresent[ch]標(biāo)志=TRUE (如果在通道ch中檢 測(cè)到瞬變),StartSegment [ch]=索引(表示對(duì)于通道ch的瞬變開始片段),以及對(duì)于通 道 ch 的 AdPredOrder [1] [ch]=自適應(yīng)預(yù)測(cè)器的階數(shù)或 FixedPredOrder [1] [ch]=固定 預(yù)測(cè)器的階數(shù)(可應(yīng)用于幀中在瞬變之后且包括瞬變的第二分區(qū))。當(dāng)選擇自適應(yīng)預(yù)測(cè)時(shí) (AdPredOrder [1] [ch] > 0),第二組自適應(yīng)預(yù)測(cè)系數(shù)被編碼并打包為AdPredCodes [1] [ch] [AdPredOrder[l] [ch]]。瞬變的存在性和位置可以在通道集中的各通道上和在各通道集上 變化。分析窗處理如圖4a和4b所示,分析窗處理22的示例性實(shí)施例選擇自適應(yīng)預(yù)測(cè)46或固定多 項(xiàng)式預(yù)測(cè)48來解相關(guān)每個(gè)通道,這是相當(dāng)普通的方法。如將參照?qǐng)D6a詳細(xì)描述的,為每個(gè) 通道估計(jì)最佳預(yù)測(cè)階數(shù)。如果該階數(shù)大于零,則應(yīng)用自適應(yīng)預(yù)測(cè)。否則,使用更簡(jiǎn)單的固定 多項(xiàng)式預(yù)測(cè)。類似地,在解碼器中,逆分析窗處理44選擇逆自適應(yīng)預(yù)測(cè)50或逆固定多項(xiàng)式 預(yù)測(cè)52以根據(jù)殘差信號(hào)重建PCM音頻。將自適應(yīng)預(yù)測(cè)器階數(shù)和自適應(yīng)預(yù)測(cè)系數(shù)索引以及 固定預(yù)測(cè)器階數(shù)打包53在通道集頭部信息中。交叉通道解相關(guān)根據(jù)本發(fā)明,壓縮性能可以通過實(shí)施交叉通道解相關(guān)54來進(jìn)一步增強(qiáng),交叉通道 解相關(guān)根據(jù)通道之間的相關(guān)性測(cè)量將M個(gè)輸入通道排序成通道對(duì)(這里的“M”與對(duì)期望的 RAP點(diǎn)的M個(gè)分析塊約束不同)。通道中的一個(gè)被指定為“基本”通道而另一個(gè)被指定為“相 關(guān)”通道。為每個(gè)通道對(duì)生成解相關(guān)通道,以形成“三元組”(基本,相關(guān),解相關(guān))。三元組 的形成提供兩種可能的對(duì)組合(基本,相關(guān))和(基本,解相關(guān)),其可以在分段和熵編碼優(yōu) 化過程中考慮,以進(jìn)一步改進(jìn)壓縮性能(參見圖8a)。在(基本,相關(guān))和(基本,解相關(guān))之間的決定可以在自適應(yīng)分段之前(基于某 種能量測(cè)量)或結(jié)合自適應(yīng)分段來執(zhí)行。前一方法減少了復(fù)雜度,而后者增加了效率??梢允褂谩盎旌稀狈椒?,其中,對(duì)于解相關(guān)通道比相關(guān)通道的方差小得多(基于閾值)的三元 組,在自適應(yīng)分段之前用解相關(guān)通道簡(jiǎn)單地替換相關(guān)通道,而對(duì)于所有其它三元組,將關(guān)于 編碼相關(guān)通道還是解相關(guān)通道的決定留到自適應(yīng)分段處理。這稍微簡(jiǎn)化了自適應(yīng)分段處理 的復(fù)雜度,而沒有犧牲編碼效率。原始的M-ch PCM 20和M/2-ch解相關(guān)的PCM 56都被轉(zhuǎn)發(fā)至自適應(yīng)預(yù)測(cè)和固 定多項(xiàng)式預(yù)測(cè)操作,其為每一個(gè)通道生成殘差信號(hào)。如圖3所示,在圖3中的通道集頭 部36中存儲(chǔ)表示在在成對(duì)解相關(guān)處理期間所執(zhí)行的排序之前的通道的原始階數(shù)的索引 (OrigChOrderD),和指示用于量化的解相關(guān)系數(shù)的代碼的存在的、用于每個(gè)通道對(duì)的標(biāo)志 PWChDecorrFlag[]。如圖4b所示,為了執(zhí)行逆分析窗處理44的解碼操作,將頭部信息解包58,并且 根據(jù)該頭部信息,即,用于每個(gè)通道的自適應(yīng)和固定預(yù)測(cè)器階數(shù),將殘差(在RAP片段的起 點(diǎn)處的原始樣本)傳遞通過逆固定多項(xiàng)式預(yù)測(cè)52或者通過逆自適應(yīng)預(yù)測(cè)50。當(dāng)通道中 存在瞬變時(shí),通道集將具有用于該通道的兩組不同預(yù)測(cè)參數(shù)。將M通道解相關(guān)的PCM音 頻(在分段期間丟棄了 M/2通道)傳遞通過逆交叉通道解相關(guān)60,其從通道集頭部讀取 OrigChOrder []索引和PWChDecorrFlagg[]標(biāo)志并無損地重建M通道PCM音頻20。圖5示出用于執(zhí)行交叉通道解相關(guān)54的示例性處理。作為示例,將PCM音頻設(shè)置 為M = 6個(gè)不同通道,即L、R、C、Ls、Rs以及LFE,其也直接對(duì)應(yīng)于存儲(chǔ)該幀中的一個(gè)通道 集配置。其它通道集可以是例如中后環(huán)繞的左和中后環(huán)繞的右,以產(chǎn)生7.1環(huán)繞音頻。該 處理通過開始幀循環(huán)(loop)和開始通道集循環(huán)(步驟70)而開始。計(jì)算對(duì)于每個(gè)通道的 零滯后自相關(guān)估計(jì)(步驟72),和對(duì)于通道集中的通道對(duì)的所有可能組合的零滯后交叉相 關(guān)估計(jì)(步驟74)。接下來,估計(jì)通道成對(duì)相關(guān)系數(shù)C0RC0EF,其是零滯后交叉相關(guān)估計(jì)除 以該通道對(duì)中所涉及通道的零滯后自相關(guān)估計(jì)的乘積(步驟76)。將C0RC0EF按照從最大 絕對(duì)值到最小絕對(duì)值排序并且存儲(chǔ)在表中(步驟78)。從該表的頂部開始,提取對(duì)應(yīng)的通 道對(duì)索引,直到所有通道對(duì)都已被配置為止(步驟80)。例如,可以將6個(gè)通道基于它們的 C0RC0EF 配對(duì)為(L, R)、(Ls,Rs)以及(C, LFE)。該處理開始通道對(duì)循環(huán)(步驟82),并且選擇“基本”通道作為具有較小零滯后 自相關(guān)估計(jì)的通道,其表現(xiàn)出較低能量(步驟84)。在這個(gè)示例中,L、Ls以及C通道形成 基本通道。計(jì)算通道對(duì)解相關(guān)系數(shù)(ChPairDecorrCoeff),其是零滯后交叉相關(guān)估計(jì)除以 基本通道的零滯后自相關(guān)估計(jì)(步驟86)。通過將基本通道樣本與ChPairDecorrCoeff 相乘并且從相關(guān)通道的對(duì)應(yīng)樣本減去該乘積,來生成解相關(guān)通道(步驟88)。通道對(duì)和 其相關(guān)聯(lián)的解相關(guān)通道定義了“三元組”(L,R,R-ChPairDecorrCoeff [1] * L)、(Ls, Rs, Rs-ChPairDecorrCoeff [2] * Ls)、(C, LFE, LFE-ChPairDecorrCoeff [3] * C)(步驟 89)。 將每個(gè)通道對(duì)(和每個(gè)通道集)的ChPairDecorrCoeff []和定義對(duì)配置的通道索引存儲(chǔ)在 通道集頭部信息中(步驟90)。對(duì)于幀中的每個(gè)通道集然后對(duì)于窗口化PCM音頻中的每一 幀重復(fù)該處理(步驟92)。針對(duì)RAP和瞬變確定片段起始點(diǎn)圖12到14示出了用于確定片段起點(diǎn)和持續(xù)時(shí)間約束以適應(yīng)期望的RAP和/或檢 測(cè)到的瞬變的示例性方法。將被處理的最小音頻數(shù)據(jù)塊稱為“分析塊”。分析塊僅在編碼器 處可見,而解碼器僅處理片段。例如,一個(gè)分析塊可以表示包括64個(gè)分析塊的32ms幀中的0.5ms的音頻數(shù)據(jù)。片段由一個(gè)或更多個(gè)分析塊組成。理想的是,將幀分割為使得期望的 RAP或檢測(cè)到的瞬變位于RAP或瞬變片段的第一分析塊中。然而,根據(jù)期望的RAP或瞬變的 位置,保證該條件可能導(dǎo)致會(huì)過多增加編碼幀凈荷的次優(yōu)分段(過短的片段持續(xù)時(shí)間)。因 此,折衷方案是規(guī)定任何期望的RAP必須位于RAP片段的起點(diǎn)的M個(gè)分析塊內(nèi)(該“M”不 同于通道解相關(guān)過程中的M個(gè)通道)并且任何瞬變必須位于對(duì)應(yīng)通道中瞬變片段的起點(diǎn)之 后的第一 L個(gè)分析塊內(nèi)。M和L小于該幀中的分析塊總數(shù),并且被選擇以對(duì)于每個(gè)條件確 保所希望的對(duì)準(zhǔn)容限(alignment tolerance) 0例如,如果一幀包括64個(gè)分析塊,則M和/ 或L可以為1、2、4、8或16。典型地是小于總數(shù)的二的冪并且典型為其一小部分(不大于 25%),以提供真正的亞幀分辨率。而且,盡管可以允許片段持續(xù)時(shí)間在幀內(nèi)變化,但是這樣 做大大復(fù)雜化了自適應(yīng)分段算法并且增加了頭部開銷比特,而在編碼效率方面僅有相對(duì)小 的改進(jìn)。因此,典型的實(shí)施例將片段約束成在幀內(nèi)具有相等持續(xù)時(shí)間,并且持續(xù)時(shí)間為分析 塊持續(xù)時(shí)間的二的冪的倍數(shù),例如,片段持續(xù)時(shí)間=2P *分析塊持續(xù)時(shí)間,其中,P = 0、1、 2、4、8等。在更一般的情況下,該算法規(guī)定RAP或瞬變片段的起點(diǎn)。在約束情況下,該算法 規(guī)定保證條件被滿足的每一幀最大片段持續(xù)時(shí)間。如圖12所示,由應(yīng)用層提供包括期望的RAP的編碼定時(shí)碼,諸如規(guī)定章節(jié)或場(chǎng)景 開頭的視頻定時(shí)碼(步驟600)。設(shè)置控制(dictate)上述M和L的最大值的對(duì)準(zhǔn)容限(步 驟602)。將幀分塊成多個(gè)分析塊并同步至該定時(shí)碼,以使期望的RAP對(duì)準(zhǔn)至分析塊(步驟 603)。如果有期望的RAP位于該幀內(nèi),則編碼器設(shè)定RAP片段的起點(diǎn),其中,RAP分析塊必須 位于該RAP片段的起點(diǎn)之前或之后的M個(gè)分析塊內(nèi)(步驟604)。應(yīng)注意到,期望的RAP可 能實(shí)際上位于在該RAP片段的起點(diǎn)的M個(gè)分析塊內(nèi)的、在該RAP片段之前的片段中。該方 法開始自適應(yīng)/固定預(yù)測(cè)分析(步驟605),開始通道集循環(huán)(步驟606),并且通過調(diào)用圖 13所示例程而開始通道集中的自適應(yīng)/固定預(yù)測(cè)分析(步驟608)。通道集循環(huán)結(jié)束(步驟 610),該例程在 ExtraPredSetsPresent [] = FALSE 時(shí)返回一組預(yù)測(cè)參數(shù)(AdPredOrder
[],FixedPredOrder
[], AdPredCodes
[][]),或者在 ExtraPredSetsPresent []= TRUE 時(shí)返回兩組預(yù)測(cè)參數(shù)(AdPredOrder
[],F(xiàn)ixedPredOrder
[]、AdPredCodes
[] [],AdPredOrder [1] □,F(xiàn)ixedPredOrder [1] □,AdPredCodes [1][][]),并且返回每通道的 殘差和任何檢測(cè)到的瞬變的位置(StartSegment[])(步驟612)。對(duì)于在比特流中編碼的每 個(gè)通道集重復(fù)步驟608?;赗AP片段起始點(diǎn)和/或檢測(cè)到的瞬變片段起始點(diǎn)確定每一幀 的片段起始點(diǎn),并且將其傳遞給圖16和7a-7b的自適應(yīng)分段算法(步驟614)。如果片段持 續(xù)時(shí)間被約束為均勻的并且為分析塊長(zhǎng)度的二的冪的倍數(shù),則基于所述設(shè)定的起始點(diǎn)選擇 最大片段持續(xù)時(shí)間,并且將其傳遞給自適應(yīng)分段算法(步驟616)。最大片段持續(xù)時(shí)間約束 維持該設(shè)定的起始點(diǎn),并增加對(duì)持續(xù)時(shí)間的約束。圖13提供了通道集中的起點(diǎn)自適應(yīng)/固定預(yù)測(cè)分析(步驟608)例程的示例性實(shí) 施例。該例程啟動(dòng)由ch索引的通道循環(huán)(步驟700),計(jì)算基于幀的預(yù)測(cè)系數(shù)和基于分區(qū)的 預(yù)測(cè)系數(shù)(如果檢測(cè)到瞬變),并且選擇具有每通道最佳編碼效率的方法。有可能的是,即 使檢測(cè)到瞬變,最有效的編碼也會(huì)忽略該瞬變。該例程返回預(yù)測(cè)參數(shù)集、殘差、以及任何編 碼瞬變的位置。更具體地,該例程通過調(diào)用圖6a中圖示出的自適應(yīng)預(yù)測(cè)例程來執(zhí)行基于幀的預(yù) 測(cè)分析(步驟702),以選擇一組基于幀的預(yù)測(cè)參數(shù)(步驟704)。接著,考慮到幀中任何RAP片段的起點(diǎn),使用這單獨(dú)的一組參數(shù)對(duì)音頻樣本的幀執(zhí)行預(yù)測(cè)(步驟706)。更具體地,在 RAP片段的起點(diǎn)處對(duì)直到預(yù)測(cè)階數(shù)的第一樣本禁用預(yù)測(cè)。根據(jù)預(yù)測(cè)被禁用之處的殘差值和 原始樣本來估計(jì)基于幀的殘差范數(shù)(norm)的量度(例如,殘差能量)。并行地,該例程檢測(cè)當(dāng)前幀中每個(gè)通道的原始信號(hào)中是否存在任何瞬變(步驟 708)。使用閾值來在誤檢測(cè)(false detection)與漏檢測(cè)(missed detection)之間進(jìn)行 平衡。記錄包含瞬變的分析塊的索引。如果檢測(cè)到瞬變,則該例程設(shè)定瞬變片段的起始點(diǎn), 使其被定位為確保該瞬變位于該片段的第一 L個(gè)分析塊內(nèi)(步驟709),并將幀分割成第一 和第二分區(qū),其中第二分區(qū)與該瞬變片段的起點(diǎn)一致(步驟710)。該例程接著兩次調(diào)用圖 6a中圖示出的自適應(yīng)預(yù)測(cè)例程(步驟712),以便為第一和第二分區(qū)選擇第一組和第二組基 于分區(qū)的預(yù)測(cè)參數(shù)(步驟714)。接著,也考慮到幀中任一 RAP片段的起點(diǎn),使用這兩組參數(shù) 分別對(duì)音頻樣本的第一和第二分區(qū)執(zhí)行預(yù)測(cè)(步驟716)。根據(jù)預(yù)測(cè)被禁用之處的殘差值和 原始樣本來估計(jì)基于分區(qū)的殘差范數(shù)的量度(例如,殘差能量)。該例程將基于幀的殘差范數(shù)與基于分區(qū)的殘差范數(shù)跟一閾值的乘積進(jìn)行比較,以 說明每個(gè)通道的多個(gè)分區(qū)所需的增加的頭部信息(步驟716)。如果基于幀的殘差能量較 小,則返回基于幀的殘差范數(shù)和預(yù)測(cè)參數(shù)(步驟718),否則,如果基于分區(qū)的殘差能量較 小,則為該通道返回兩組預(yù)測(cè)參數(shù)以及所記錄的瞬變的索引(步驟720)。在結(jié)束之前,由通 道索引的通道循環(huán)(步驟722)和通道集中的自適應(yīng)/固定預(yù)測(cè)分析(步驟724)在通道集 中的各通道上以及在所有通道集上迭代。圖14示出對(duì)單個(gè)幀800的片段起始點(diǎn)或最大片段持續(xù)時(shí)間的確定。假定幀800 是32ms,并且包含64個(gè)分析塊802,每個(gè)分析塊持續(xù)時(shí)間0. 5ms。視頻定時(shí)碼804規(guī)定落 入第9分析塊中的期望的RAP806。在CH 1和CH 2中分別檢測(cè)到落入第5和第18分析塊 內(nèi)的瞬變808和810。在無約束情況下,該例程可以在分析塊5、9和18處規(guī)定起始點(diǎn),以保 證RAP和瞬變位于它們各自的片段的第1分析塊中。自適應(yīng)分段算法可以進(jìn)一步分割該幀 以滿足其它約束并最小化幀凈荷,只要這些起始點(diǎn)被維持即可。自適應(yīng)分段算法可以改變 片段邊界并且仍滿足期望的RAP或瞬變落入規(guī)定數(shù)量的分析塊內(nèi)的條件,以便滿足其它約 束,或者更好地優(yōu)化凈荷。在約束情況下,該例程確定最大片段持續(xù)時(shí)間,在這個(gè)示例中,其滿足針對(duì)該兩個(gè) 瞬變和期望的RAP中的每一個(gè)的條件。因?yàn)槠谕腞AP 806落入第9分析塊內(nèi),所以保證該 RAP位于RAP片段的第1分析塊中的最大片段持續(xù)時(shí)間為8x(根據(jù)分析塊的持續(xù)時(shí)間按比 例縮放)。因此,可允許的片段尺寸(作為分析塊的二的倍數(shù)倍)為1、2、4和8。類似地, 因?yàn)镃h 1瞬變808落入第5分析塊內(nèi),所以最大片段持續(xù)時(shí)間為4。CH 2中的瞬變810更 為棘手,因?yàn)闉榱吮WC其出現(xiàn)在第一分析塊中,需要片段持續(xù)時(shí)間等于分析塊(IX)。然而, 如果可以將瞬變定位在第二分析塊中,則最大片段持續(xù)時(shí)間為16x。在這些約束下,該例程 可以選擇最大片段持續(xù)時(shí)間為4,從而允許自適應(yīng)分段算法從lx、2x和4x中選擇,以最小化 幀凈荷并滿足其它約束。在一個(gè)可替換實(shí)施例中,每第η幀的第一片段可以默認(rèn)為RAP片段,除非定時(shí)碼指 定該幀中的不同RAP片段。該默認(rèn)RAP可以例如用于允許用戶在音頻比特流內(nèi)到處跳躍或 “沖浪”,而不被約束到僅僅視頻定時(shí)碼所指定的那些RAP。自適應(yīng)預(yù)測(cè)
自適應(yīng)預(yù)測(cè)分析和殘差生成線性預(yù)測(cè)試圖去除音頻信號(hào)的樣本之間的相關(guān)性。線性預(yù)測(cè)的基本原理是利用先 前的樣本s (n-1)、s (n-2)、...來預(yù)測(cè)樣本s (η)的值,以及從原始樣本s (η)中減去預(yù)測(cè)值 s(n)。得到的殘差信號(hào)= s(n) + Ο)理想地將是不相關(guān)的并從而具有平坦的頻譜。 另外,與原始信號(hào)相比,殘差信號(hào)將具有更小的方差,暗示其數(shù)字表示需要更少的比特。在音頻編解碼器的示例性實(shí)施例中,F(xiàn)IR預(yù)測(cè)器模型用下列等式來描述 其中,Q{}表示量化操作,M表示預(yù)測(cè)器階數(shù),而ak是量化的預(yù)測(cè)系數(shù)。特定的量 化QH對(duì)于無損壓縮是必要的,因?yàn)樵夹盘?hào)是利用各種有限精度處理器架構(gòu)在解碼側(cè)重 建的。QH的定義可用于編碼器和解碼器兩者,并且原始信號(hào)的重建通過下面的等式簡(jiǎn)單獲 得 其中,假定相同的ak(量化的預(yù)測(cè)系數(shù))可用于編碼器和解碼器兩者。每一個(gè)分 析窗(幀)發(fā)送新的一組預(yù)測(cè)器參數(shù),使得預(yù)測(cè)器能夠適應(yīng)于時(shí)變的音頻信號(hào)結(jié)構(gòu)。在瞬 變檢測(cè)的情況下,針對(duì)其中檢測(cè)到瞬變的每一個(gè)通道,針對(duì)一幀發(fā)送新的兩組預(yù)測(cè)參數(shù);一 組用于解碼瞬變之前的殘差,而另一組用于解碼包括瞬變和瞬變之后的殘差。預(yù)測(cè)系數(shù)被設(shè)計(jì)成最小化均方預(yù)測(cè)殘差。量化Q{} s使得預(yù)測(cè)器為非線性預(yù)測(cè)器。 然而,在該示例性實(shí)施例中,該量化是以24位精度完成的,并且假定在預(yù)測(cè)器系數(shù)優(yōu)化期 間可以忽略由此產(chǎn)生的非線性效應(yīng)是合理的。通過忽略量化QH,基本的優(yōu)化問題可以被表 示為包括信號(hào)自相關(guān)序列的滯后和未知預(yù)測(cè)器系數(shù)的一組線性方程。這組線性方程可以利 用Levinson-Durbin(LD)算法而有效地解出。所得到的線性預(yù)測(cè)系數(shù)(LPC)需要被量化,以使它們可以有效地在編碼流中發(fā) 送。遺憾的是,LPC的直接量化不是最有效的方法,因?yàn)樾〉牧炕`差可以引起大的頻譜誤 差。LPC的一種可替換表示為反射系數(shù)(RC)表示,其對(duì)量化誤差表現(xiàn)出較小的敏感性。這 種表示還可以通過LD算法來獲得。通過LD算法的定義,保證RC具有量值< 1(忽略數(shù)值 誤差)。當(dāng)RC的絕對(duì)值接近于1時(shí),線性預(yù)測(cè)對(duì)量化RC中存在的量化誤差的敏感性變高。 解決方案是執(zhí)行RC的非均勻量化,其中在單位元素(unity)附近采用更精細(xì)的量化級(jí)。這 可以按兩個(gè)步驟來實(shí)現(xiàn)1)通過映射函數(shù)將RC變換至對(duì)數(shù)面積比(log-area ratio, LAR)表示 其中,log表示自然底數(shù)對(duì)數(shù)。2)均勻量化LARRC- > LAR變換歪曲了參數(shù)的幅度比例,以使步驟1和2的結(jié)果等效于在單位元素 (unity)附近采用更精細(xì)的量化級(jí)的非均勻量化。如圖6a所示,在自適應(yīng)預(yù)測(cè)分析的一個(gè)示例性實(shí)施例中,量化的LAR參數(shù)被用于表示自適應(yīng)預(yù)測(cè)器參數(shù)并且在編碼比特流中被發(fā)送。每個(gè)輸入通道中的樣本都彼此獨(dú)立地 被處理,因此本說明書將僅僅考慮單個(gè)通道中的處理。第一步驟是在分析窗的持續(xù)時(shí)間(整個(gè)幀或在檢測(cè)到的瞬變之前和之后的分區(qū)) 期間計(jì)算自相關(guān)序列(步驟100)。為了最小化因幀邊界處的不連續(xù)性造成的阻擋效應(yīng) (blocking effects),首先將數(shù)據(jù)窗口化。根據(jù)窗口化的數(shù)據(jù)塊來估計(jì)對(duì)于指定數(shù)量的滯 后(等于最大LP階數(shù)+1)的自相關(guān)序列。將Levinson-DurbinOJ))算法應(yīng)用于該組估計(jì)出的自相關(guān)滯后,并且計(jì)算該組反 射系數(shù)(RC),直到最大LP階數(shù)(步驟102)。對(duì)于直到最大LP階數(shù)的每個(gè)線性預(yù)測(cè)階數(shù), (LD)算法的中間結(jié)果是一組估計(jì)的預(yù)測(cè)殘差方差。在下一個(gè)模塊中,利用這組殘差方差,選 擇線性預(yù)測(cè)器(AdPredOrder)階數(shù)(步驟104)。針對(duì)所選擇的預(yù)測(cè)器階數(shù),利用上述映射函數(shù)將該組反射系數(shù)(RC)變換為該組 對(duì)數(shù)面積比參數(shù)(LAR)(步驟106)。在變換之前引入RC的極限以防止除以0 其中,Tresh表示接近但小于1的數(shù)。根據(jù)下面的規(guī)則量化LAR參數(shù)(步驟108) 其中,QLARInd表示量化的LAR索引,[X」表示尋找小于或等于x的最大整數(shù)值的
運(yùn)算,而q表示量化級(jí)大小。在該示例性實(shí)施例中,利用8比特來編碼區(qū)域[-8至8],即, 2*8
q = ―^,從而QLARInd根據(jù)下式被限制
利用下面的映射將pQLARInd從帶符號(hào)值轉(zhuǎn)換成無符號(hào)值
在“RC LUT”模塊中,利用查找表在單個(gè)步驟中進(jìn)行LAR參數(shù)的逆量化和到RC參 數(shù)的轉(zhuǎn)換(步驟112)。查找表由逆RC-> LAR映射的量化值組成,該逆映射即下面給出的 LAR- > RC 映射
該查找表以等于0、1. 5 * q、2. 5 * q、. . . ,127. 5 * q的LAR量化值來計(jì)算。對(duì)應(yīng) 的RC值在以216比例化之后,舍入(round)成16位無符號(hào)整數(shù),并且在128個(gè)條目的表中 存儲(chǔ)為Q16無符號(hào)定點(diǎn)數(shù)。根據(jù)該表和量化LAR索引QLARInd來計(jì)算量化的RC參數(shù),為
\TABLE[QLARlnd] VQLARInd^Q 根據(jù)下面的算法,將對(duì)于ord=l.....AdPredOrder的量化的RC參數(shù)QRCml轉(zhuǎn)換
成量化的線性預(yù)測(cè)參數(shù)(LP d,對(duì)于ord = 1,. . .,AdPredOrder)(步驟114)For ord = 0 to AdPredOrder-IdoFor m = 1 to ord doC。rd+1,m = C。rd,m+(QRC。rd+1*C。rd,。rd+1.m+(l << 15)) >> 16endCord+lj ord+1 一 QRCord+1endFor ord = 0 to AdPredOrder-IdoLPord+1 一 GAdPred0rder,。rd+1end由于量化的RC系數(shù)是以Q16帶符號(hào)定點(diǎn)格式來表示的,所以上述算法將生成也 采用Q16帶符號(hào)定點(diǎn)格式的LP系數(shù)。無損解碼器計(jì)算路徑被設(shè)計(jì)成支持多達(dá)24位中間 結(jié)果。因此,在計(jì)算出每一個(gè)C d+1,m之后需要執(zhí)行飽和檢查(saturation check)。如果在 該算法的任一階段出現(xiàn)飽和,則設(shè)置飽和標(biāo)志,并且將對(duì)于特定通道的自適應(yīng)預(yù)測(cè)器階數(shù) AdPredOrder重置成0(步驟116)。對(duì)于AdPredOrder = 0的該特定通道,將執(zhí)行固定系數(shù)預(yù) 測(cè)而不是自適應(yīng)預(yù)測(cè)(參見固定系數(shù)預(yù)測(cè))。注意,無符號(hào)LAR量化索引(PackLARInd[η], 對(duì)于η = 1,· · .,AdPredOrder [Ch])被打包到僅用于AdPredOrder [Ch] > 0的通道的編碼 流。最后,對(duì)于AdPredOrder [Ch] > 0的每個(gè)通道,執(zhí)行自適應(yīng)線性預(yù)測(cè),并且根據(jù)下 式計(jì)算預(yù)測(cè)殘差e (η)(步驟118) Limit e(n) to 24-bit range (~223 to 223_1)for η = Ad Pred0rder+1, . . . NumSamples由于該示例性實(shí)施例中的設(shè)計(jì)目標(biāo)是,某些幀的特定RAP片段是“隨機(jī)訪問 點(diǎn)”,所以樣本歷史沒有從先前的片段延續(xù)至該RAP片段。而代替的是,僅在RAP片段的AdPredOrder+Ι樣本處進(jìn)行預(yù)測(cè)。自適應(yīng)預(yù)測(cè)殘差e(n)被進(jìn)一步熵編碼并且打包到編碼比特流。解碼側(cè)的逆自適應(yīng)預(yù)測(cè)在解碼側(cè),執(zhí)行逆自適應(yīng)預(yù)測(cè)的第一步是解包頭部信息(步驟120)。如果解碼器 試圖根據(jù)回放定時(shí)碼(例如,用戶選擇的章節(jié)或網(wǎng)絡(luò)沖浪)來啟動(dòng)解碼,則解碼器訪問該點(diǎn) 附近但在該點(diǎn)之前的音頻比特流并搜索下一幀的頭部,直到其找到表示該幀中存在RAP片 段的RAP_Flag = TRUE為止。接著,解碼器提取RAP片段號(hào)(RAP ID)和導(dǎo)航數(shù)據(jù)(NAVI), 以導(dǎo)航至RAP片段的開頭,禁用預(yù)測(cè)直到索引> precLorder為止,并且啟動(dòng)無損解碼。解 碼器解碼這些幀和隨后的幀中的剩余片段,每當(dāng)遇到RAP片段時(shí)禁用預(yù)測(cè)。如果在某個(gè)通 道的幀中遇到ExtraPredSetsPrsnt = TRUE,則解碼器提取第一組和第二組預(yù)測(cè)參數(shù)和對(duì) 于第二組參數(shù)的開始片段。提取對(duì)于每個(gè)通道Ch = 1,......NumCh的自適應(yīng)預(yù)測(cè)階數(shù)AdPredOrder [Ch]。
接下來,對(duì)于AdPredOrder > 0的通道,提取LAR量化索引(AdPredCodes[η],對(duì)于η = 1,. . .AdPredOrder [Ch])的無符號(hào)形式。對(duì)于預(yù)測(cè)階數(shù)AdPredOrder [Ch] > 0的每個(gè)通道 Ch,利用下列映射將無符號(hào)AdPredCodes [η]映射為帶符號(hào)的值QLARInd[η] for η = 1,…,AdPredOrder [Ch]其中,>>表示整數(shù)右移運(yùn)算。利用量化RC LUT在單個(gè)步驟中進(jìn)行LAR參數(shù)的逆量化和到RC參數(shù)的轉(zhuǎn)換(步 驟122)。這是與在編碼側(cè)定義的查找表相同的查找表TABLEH。根據(jù)TABLE{}和量化LAR 索引QLARInd[n]來計(jì)算對(duì)于每個(gè)通道Ch的量化的反射系數(shù)(QRC[n],對(duì)于η = 1,..., AdPredOrder[Ch])
ΓTABLE[QLARInd[n]] /QLARInd[n\ S 0 for η = 1, ... , Pr 0r[Ch]31對(duì)于每個(gè)通道Ch,根據(jù)下面的算法將對(duì)于ord = 1,. . .,AdPredOrder[Ch]的量化 的RC參數(shù)QRC。rd轉(zhuǎn)換為量化的線性預(yù)測(cè)參數(shù)(LP。rd,對(duì)于ord = 1,· · ·,AdPredOrder [Ch]) (步驟124)For ord = O to AdPredOrder-IdoForm = 1 to ord doC。rd+1,m = C。rd,m+(QRC。rd+1*C。rd,。rd+1_m+(l << 15)) >> 16endCord+lj ord+1 = QRCord+1endFor ord = O to AdPredOrder-IdoLPord+1 一 GAdPred0rder,。rd+1
end中間結(jié)果飽和的任何可能性在編碼側(cè)被去除。因此,在解碼側(cè),不需要在計(jì)算每個(gè) v^ord+Ι,m 之后執(zhí)行飽和檢查。最后,對(duì)于AdPredOrder [Ch] > 0的每個(gè)通道,執(zhí)行逆自適應(yīng)線性預(yù)測(cè)(步驟 126)。假定預(yù)測(cè)殘差e (η)之前已被提取并且被熵解碼,則根據(jù)下式計(jì)算重建原始信號(hào) s (η)7 由于在RAP片段處未保持樣本歷史,所以逆自適應(yīng)預(yù)測(cè)應(yīng)當(dāng)從RAP片段中的 (AdPredOrder [Ch]+1)樣本開始。固定系數(shù)預(yù)測(cè)已經(jīng)發(fā)現(xiàn)線性預(yù)測(cè)器的一種非常簡(jiǎn)單的固定系數(shù)形式非常有用。該固定預(yù)測(cè)系 數(shù)是根據(jù)由Shorten首先提出的非常簡(jiǎn)單的多項(xiàng)式近似法導(dǎo)出的(T. Robinson. SHORTEN Simple lossless and near lossless waveform compression. Technical report 156. Cambridge University Engineering Department Trumpington Street, Cambridge CB21 PZ,UK December 1994)。在這種情況下,預(yù)測(cè)系數(shù)是通過將ρ階多項(xiàng)式擬合至最后ρ個(gè)數(shù) 據(jù)點(diǎn)所指定的那些預(yù)測(cè)系數(shù)。在以下四個(gè)近似式上展開 這些多項(xiàng)式近似的有趣特性是,所得殘差信號(hào)% |>2] =可以按下列遞歸方式有效地實(shí)現(xiàn)。ec,[η]=s [η]
ei[η]=e0[n]_ec,[η--1]
e2;[η]=e^nJ-ej[η--ι]
e,,[η]=e2[n]_e2;[η--ι]固定系數(shù)預(yù)測(cè)分析被每幀地應(yīng)用,并且不依賴于在先前幀中計(jì)算的樣本(ek[_l]=0)。將在整個(gè)幀上具有最小和量值的殘差集定義為最佳近似值。為每個(gè)通道分別計(jì)算最 佳殘差階數(shù)并且打包到流,作為固定預(yù)測(cè)階數(shù)(FP0[Ch])。當(dāng)前幀中的殘差eFroKh][n]被進(jìn) 一步熵編碼并打包到流。在解碼側(cè),根據(jù)階數(shù)遞歸公式定義逆固定系數(shù)預(yù)測(cè)處理,以在采樣樣本η處計(jì)算k 階殘差,ek[n] = ek+1[n]+ek[n_l]其中,期望的原始信號(hào)s[n]通過下式給出s[n] = e0[n]并且其中對(duì)于每個(gè)k階殘差,ek[_l] = 0。作為示例,給出用于3階固定系數(shù)預(yù)測(cè)的遞歸,其中,殘差%[11]被編碼、在流中被 發(fā)送、以及在解碼側(cè)解包e2[n] = e3[n]+e2[n_l]β! [η] = ejnl+e^n-l]e0[n] = G1 [η]+e0[n-1]s[η] = e0[n]圖15a中針對(duì)m+1片段為RAP片段900的情況,圖15b中針對(duì)m+1片段為瞬變片 段902的情況,示出在步驟126中執(zhí)行的自適應(yīng)或固定的逆線性預(yù)測(cè)。5抽頭(tap)預(yù)測(cè)器 904被用于重建無損音頻樣本。一般來說,預(yù)測(cè)器重新組合5個(gè)之前被無損重建的樣本,以 生成添加至當(dāng)前殘差908的預(yù)測(cè)值906,從而無損地重建當(dāng)前樣本910。在RAP示例中,壓 縮的音頻比特流912中的第1組5個(gè)樣本是未壓縮的音頻樣本。從而,預(yù)測(cè)器可以啟動(dòng)在 片段m+1處的無損解碼,而不需要來自先前樣本的任何歷史。換句話說,片段m+1是比特流 的一個(gè)RAP。注意,如果在片段m+1中還檢測(cè)到了瞬變,則用于片段m+1和幀的其余部分的 預(yù)測(cè)參數(shù)將不同于在片段1至m中使用的預(yù)測(cè)參數(shù)。在瞬變示例中,片段m和m+1中的所 有樣本都是殘差,沒有RAP。解碼已經(jīng)啟動(dòng)并且用于預(yù)測(cè)器的預(yù)測(cè)歷史可用。如圖所示,為 了無損地重建片段m和m+1中的音頻樣本,使用不同組的預(yù)測(cè)參數(shù)。為了生成片段m+1中 第1無損樣本1,預(yù)測(cè)器利用來自片段m的最后五個(gè)被無損重建的樣本來使用用于片段m+1 的參數(shù)。注意,如果片段m+1也是RAP片段,則片段m+1的第一組五個(gè)樣本將是原始樣本, 而不是殘差。一般來說,一個(gè)給定幀可以既不包含RAP也不包含瞬變,事實(shí)上這是更典型的 結(jié)果??商鎿Q地,一幀可以包括RAP片段或瞬變片段甚或兩者。一個(gè)片段可以既是RAP也 是瞬變片段。因?yàn)槠伍_始條件和最大片段持續(xù)時(shí)間是基于片段內(nèi)的期望的RAP或檢測(cè)到的 瞬變的可允許位置而設(shè)置的,所以選擇最佳片段持續(xù)時(shí)間可以生成其中期望的RAP或檢測(cè) 到的瞬變實(shí)際上位于在該RAP或瞬變片段之后的片段中的比特流。如果界限M和L相對(duì)較 大并且最佳片段持續(xù)時(shí)間小于M和L,則這可能發(fā)生。期望的RAP可能實(shí)際上位于RAP片段 之前的片段中,但仍處于規(guī)定容限內(nèi)。對(duì)編碼側(cè)對(duì)準(zhǔn)容限的條件仍然保持,并且解碼器不知 道該差別。解碼器僅僅是訪問RAP和瞬變片段。分段和熵編碼選擇圖16示出通過自適應(yīng)分段算法而解決的受約束優(yōu)化問題。該問題是在某些約束 下編碼VBR比特流中多通道音頻的一個(gè)或更多個(gè)通道集以使得最小化編碼幀凈荷,所述約束為,每個(gè)音頻片段都可完全且無損地解碼,并且編碼片段凈荷小于最大字節(jié)數(shù)。該最大字 節(jié)數(shù)小于幀尺寸并且典型地由用于讀取比特流的最大訪問單元尺寸來設(shè)置。該問題還被進(jìn) 一步約束以適應(yīng)隨機(jī)訪問和瞬變,其中該約束是,要求片段被選擇為使得期望的RAP必須 位于從RAP片段的起點(diǎn)的正或負(fù)M個(gè)分析塊內(nèi),并且瞬變必須位于片段的第一 L個(gè)分析塊 內(nèi)。最大片段持續(xù)時(shí)間可以進(jìn)一步受約束于解碼器輸出緩沖器的尺寸。在這個(gè)示例中,一 幀內(nèi)的片段被約束為具有相同的長(zhǎng)度,并且為分析塊持續(xù)時(shí)間的二的冪的倍數(shù)。如圖16所示,用于最小化幀凈荷930的最佳片段持續(xù)時(shí)間使得對(duì)于大量較短持續(xù) 時(shí)間片段的預(yù)測(cè)增益的改進(jìn)與額外開銷比特的代價(jià)取得平衡。在這個(gè)示例中,每幀4個(gè)片 段比2個(gè)或者8個(gè)片段提供更小的幀凈荷。由于第二個(gè)片段的片段凈荷超出最大片段凈荷 約束932,所以二片段解決方案不合適。二和四片段分割的片段持續(xù)時(shí)間超出最大片段持續(xù) 時(shí)間934,其中該最大片段持續(xù)時(shí)間934通過例如解碼器輸出緩沖器尺寸、RAP片段起始點(diǎn) 位置、和/或瞬變片段起始點(diǎn)位置的組合來設(shè)置。從而,自適應(yīng)分段算法選擇具有相等持續(xù) 時(shí)間的8個(gè)片段936和為這種分割優(yōu)化的預(yù)測(cè)和熵編碼參數(shù)。圖7a_b和圖8a_b中示出對(duì)于受約束的情況(均勻片段、分析塊持續(xù)時(shí)間的二的 冪的倍數(shù)),分段和熵編碼選擇24的示例性實(shí)施例。為了設(shè)立最佳片段持續(xù)時(shí)間、編碼參 數(shù)(熵編碼選擇和參數(shù))以及通道對(duì),針對(duì)高達(dá)最大片段持續(xù)時(shí)間的多個(gè)不同片段持續(xù)時(shí) 間確定編碼參數(shù)和通道對(duì),并且從這些候選對(duì)象中選擇每幀具有最小編碼凈荷、滿足每一 個(gè)片段必須可完全且無損解碼并且不超出最大尺寸(字節(jié)數(shù))的約束條件的一個(gè)候選對(duì) 象。“最佳”分段、編碼參數(shù)以及通道對(duì)當(dāng)然受到編碼處理的約束和對(duì)片段尺寸的約束。例 如,在該示例性處理中,該幀中所有片段的持續(xù)時(shí)間相等,在以等于分析塊持續(xù)時(shí)間的片段 持續(xù)時(shí)間開始并且按二的冪增加的二倍網(wǎng)格(dyadic grid)上執(zhí)行針對(duì)最佳持續(xù)時(shí)間的搜 索,并且通道對(duì)選擇在整個(gè)幀上有效。以附加的編碼器復(fù)雜性和開銷比特為代價(jià),可以允許 持續(xù)時(shí)間在一幀內(nèi)變化,對(duì)最佳持續(xù)時(shí)間的搜索可以分解得更細(xì),并且通道對(duì)選擇可以每 片段進(jìn)行。在這種“受約束”情況下,在最大片段持續(xù)時(shí)間中實(shí)施保證任何期望的RAP或檢 測(cè)到的瞬變?cè)谝?guī)定分辨率內(nèi)對(duì)準(zhǔn)到片段起點(diǎn)的約束。示例性處理從初始化片段參數(shù)(步驟150)開始,片段參數(shù)諸如是片段中的最小樣 本數(shù)、片段的最大允許編碼凈荷尺寸、最大片段數(shù)、以及最大分區(qū)數(shù)和最大片段持續(xù)時(shí)間。 此后,該處理開始以從0到最大分區(qū)數(shù)減1為索引的分區(qū)循環(huán)(步驟152),并且初始化包括 片段數(shù)、片段中的樣本數(shù)和分區(qū)中消耗的字節(jié)數(shù)在內(nèi)的分區(qū)參數(shù)(步驟154)。在這個(gè)特定 實(shí)施例中,片段具有相等的持續(xù)時(shí)間,并且片段數(shù)隨著每一次分區(qū)迭代而以二的冪成比例 變化。片段數(shù)優(yōu)選地被初始化成最大值,從而具有最小持續(xù)時(shí)間,其等于一個(gè)分析塊。然而, 該處理可以使用具有變化持續(xù)時(shí)間的片段以滿足RAP和瞬變條件,其可能提供更好的音頻 數(shù)據(jù)壓縮,但是以額外的開銷和額外的復(fù)雜度為代價(jià)。而且,片段數(shù)不必受限于二的冪或者 從最小到最大持續(xù)時(shí)間進(jìn)行搜索。在這種情況下,根據(jù)期望的RAP和檢測(cè)到的瞬變確定的 片段起始點(diǎn)是對(duì)自適應(yīng)分段算法的附加約束。一旦初始化,該處理就開始通道集循環(huán)(步驟156),并且為每個(gè)片段和對(duì)應(yīng)字節(jié) 消耗確定最佳熵編碼參數(shù)和通道對(duì)選擇(步驟158)。存儲(chǔ)編碼參數(shù)PWChDecorrFlagD 口、 AlIChSameParamFlag [] 口、RiceCodeFlag [] [] 口、CodeParam[][][]以及 ChSetByteCons [] [](步驟160)。對(duì)每個(gè)通道集重復(fù)該處理,直到通道集循環(huán)結(jié)束(步驟162)。
該處理開始片段循環(huán)(步驟164),并且計(jì)算在所有通道集上每個(gè)片段中的字節(jié)消 耗(SegmByteCons)(步驟166)并更新字節(jié)消耗(ByteConsInPart) (168)。在這里,比較片 段的尺寸(以字節(jié)為單位的編碼片段凈荷)與最大尺寸約束(步驟170)。如果違反該約 束,則丟棄當(dāng)前分區(qū)。而且,由于該處理以最小持續(xù)時(shí)間開始,所以一旦片段尺寸太大,就終 止分區(qū)循環(huán)(步驟172),并且將針對(duì)該點(diǎn)的最佳解決方案(持續(xù)時(shí)間、通道對(duì)、編碼參數(shù)) 打包到頭部(步驟174),接著該處理轉(zhuǎn)至下一幀。如果該約束對(duì)于最小片段尺寸失敗(步 驟176),則該處理終止并且報(bào)告錯(cuò)誤(步驟178),因?yàn)椴荒軡M足最大尺寸約束。假定滿足 該約束,則為當(dāng)前分區(qū)中的每個(gè)片段重復(fù)該處理,直到片段循環(huán)結(jié)束為止(步驟180)。一旦完成了片段循環(huán),并且計(jì)算出由ByteConsinPart表示的整個(gè)幀的字節(jié)消耗, 就將該凈荷與來自前一次分區(qū)迭代的當(dāng)前最小凈荷(MinBytelnPart)相比較(步驟182)。 如果當(dāng)前分區(qū)表現(xiàn)出改進(jìn),則將當(dāng)前分區(qū)(PartInd)存儲(chǔ)為最佳分區(qū)(OptPartind),并且 更新最小凈荷(步驟184)。接著,將這些參數(shù)和存儲(chǔ)的編碼參數(shù)存儲(chǔ)為當(dāng)前最佳解決方案 (步驟186)。這將重復(fù)直到分區(qū)循環(huán)以最大片段持續(xù)時(shí)間結(jié)束為止(步驟172),在這里,將 片段信息和編碼參數(shù)打包到頭部(步驟150),如圖3以及Ila和lib所示。在圖8a和8b中示出用于針對(duì)當(dāng)前分區(qū)確定通道集的最佳編碼參數(shù)和相關(guān)聯(lián)的比 特消耗的一個(gè)示例性實(shí)施例。該處理開始片段循環(huán)(步驟190)和通道循環(huán)(步驟192),其 中用于我們當(dāng)前示例的通道是Chl :L,Ch2 :RCh3 =R-ChPairDecorrCoeff[1] *LCh4 :LsCh5 :RsCh6 =R-ChPairDecorrCoeff[2] * LsCh7 :CCh8 :LFECh9 =LFE-ChPairDecorrCoeff[3] * C)該處理為基本通道和相關(guān)通道確定熵編碼的類型、對(duì)應(yīng)的編碼參數(shù)以及對(duì)應(yīng)的比 特消耗(步驟194)。在這個(gè)示例中,該處理計(jì)算對(duì)于二進(jìn)制碼和Rice碼的最佳編碼參數(shù), 然后為通道和每個(gè)片段選擇具有最低比特消耗的那一個(gè)(步驟196)。一般來說,可以針對(duì) 一個(gè)、兩個(gè)或更多個(gè)可能的熵編碼執(zhí)行優(yōu)化。對(duì)于二進(jìn)制碼,根據(jù)當(dāng)前通道的片段中所有 樣本的最大絕對(duì)值來計(jì)算比特?cái)?shù)。根據(jù)當(dāng)前通道的片段中所有樣本的平均絕對(duì)值來計(jì)算 Rice編碼參數(shù)?;谠撨x擇,設(shè)置RiceCodeFlag,設(shè)置BitCons,并將CodeParam設(shè)置為 NumBitsBinary 或 RiceKParam (步驟 198)。如果被處理的當(dāng)前通道是相關(guān)通道(步驟200),則為對(duì)應(yīng)的解相關(guān)通道重復(fù)相同 的優(yōu)化(步驟202),選擇最佳熵編碼(步驟204),并且設(shè)置編碼參數(shù)(步驟206)。重復(fù)該 處理,直到通道循環(huán)結(jié)束(步驟208)和片段循環(huán)結(jié)束(步驟210)為止。在這里,已經(jīng)確定了用于每個(gè)片段和用于每個(gè)通道的最佳編碼參數(shù)。可以從原始 PCM音頻為通道對(duì)(基本,相關(guān))返回這些編碼參數(shù)和凈荷。然而,可以通過在三元組中的 (基本,相關(guān))和(基本,解相關(guān))通道之間進(jìn)行選擇來提升壓縮性能。
為了確定哪個(gè)通道對(duì)(基本,相關(guān))或(基本,解相關(guān))用于三個(gè)三元組,開始通 道對(duì)循環(huán)(步驟211),并計(jì)算每個(gè)相關(guān)通道(Ch2,Ch5和Ch8)和每個(gè)解相關(guān)通道(Ch3,Ch6 和Ch9)對(duì)總的幀比特消耗的貢獻(xiàn)(步驟212)。將對(duì)每個(gè)相關(guān)通道的幀消耗貢獻(xiàn)與對(duì)相應(yīng) 的解相關(guān)通道的幀消耗貢獻(xiàn)進(jìn)行比較,即,Ch2與Ch3,Ch5與Ch6,Ch8與Ch9 (步驟214)。 如果解相關(guān)通道的貢獻(xiàn)大于相關(guān)通道的,則將PWChDecorrrFlag設(shè)置為假(false)(步驟 216)。否則,將相關(guān)通道替換為解相關(guān)通道(步驟218),并且將PWChDecorrrFlag設(shè)置為真 (true),而且通道對(duì)被配置為(基本,解相關(guān))(步驟220)?;谶@些比較,該算法將1、選擇Ch2或Ch3作為將與對(duì)應(yīng)的基本通道Chl配對(duì)的通道;2、選擇Ch5或Ch6作為將與對(duì)應(yīng)的基本通道Ch4配對(duì)的通道;以及3、選擇Ch8或Ch9作為將與對(duì)應(yīng)的基本通道Ch7配對(duì)的通道。針對(duì)所有通道重復(fù)這些步驟,直到該循環(huán)結(jié)束為止(步驟222)。在這里,已經(jīng)確定了針對(duì)每個(gè)片段和每個(gè)不同通道以及最佳通道對(duì)的最佳編碼參 數(shù)??梢詫⑨槍?duì)每個(gè)不同的通道對(duì)和凈荷的這些編碼參數(shù)返回至分區(qū)循環(huán)。然而,通過為每 個(gè)片段計(jì)算跨所有通道的一組全局編碼參數(shù),可以獲得附加的壓縮性能。在最佳情況下,凈 荷的編碼數(shù)據(jù)部分將具有與為每個(gè)通道優(yōu)化的編碼參數(shù)相同的尺寸,并且很有可能稍大。 然而,開銷比特的減少可足以抵消數(shù)據(jù)的編碼效率。利用相同的通道對(duì),該處理開始片段循環(huán)(步驟230),利用不同的編碼參數(shù) 集來為所有通道計(jì)算每片段比特消耗(ChSetByteCons [seg])(步驟232),并且存儲(chǔ) ChSetByteCons[seg](步驟234)。接著,利用跟之前相同的二進(jìn)制碼和Rice碼計(jì)算(除了 是跨所有通道以外),為片段確定跨所有通道的全局編碼參數(shù)集(熵編碼選擇和參數(shù))(步 驟236)。選擇最佳參數(shù)并且計(jì)算字節(jié)消耗(SegmByteCons)(步驟238)。比較SegmByteCons 與CHSetByteCons [seg](步驟240)。如果使用全局參數(shù)沒有減少比特消耗,則將 AlIChSameParamFlag[seg]設(shè)置成 false (步驟 242)。否則,將 AlIChSameParamFlag[seg] 設(shè)置成true (步驟244),并且保存全局編碼參數(shù)和對(duì)應(yīng)的每片段比特消耗(步驟246)。重 復(fù)這個(gè)處理直到片段循環(huán)結(jié)束(步驟248)。重復(fù)整個(gè)處理,直到通道集循環(huán)終止(步驟 250)。編碼處理是以可以通過控制幾個(gè)標(biāo)志來禁用不同功能的方式來構(gòu)造的。例如,一 個(gè)單個(gè)標(biāo)志控制是否要執(zhí)行成對(duì)通道解相關(guān)分析。另一個(gè)標(biāo)志控制是否要執(zhí)行自適應(yīng)預(yù)測(cè) (還有另一個(gè)標(biāo)志用于固定預(yù)測(cè))分析。另外的單個(gè)標(biāo)志控制是否要執(zhí)行在所有通道上對(duì) 全局參數(shù)的搜索。通過設(shè)置分區(qū)的數(shù)量和最小片段持續(xù)時(shí)間,分段也是可控制的(對(duì)于最 簡(jiǎn)單的形式,其可以是具有預(yù)定片段持續(xù)時(shí)間的單個(gè)分區(qū))。一個(gè)標(biāo)志指示RAP片段的存 在,而另一標(biāo)志指示瞬變片段的存在。本質(zhì)上,通過在編碼器中設(shè)置幾個(gè)標(biāo)志,編碼器可以 緊縮(collapse)為簡(jiǎn)單的成幀和熵編碼。向后兼容的無損音頻編解碼器無損編解碼器可以用作與有損核心編碼器結(jié)合的“擴(kuò)展編碼器”?!坝袚p的”核心 編碼流被打包為核心比特流,而無損編碼的差值信號(hào)(difference signal)被打包為單獨(dú) 的擴(kuò)展比特流。當(dāng)在具有擴(kuò)展無損特征的解碼器中解碼時(shí),將有損和無損流組合以構(gòu)造無 損的重建信號(hào)。在前一代解碼器中,無損流被忽略,而核心“有損”流被解碼以提供具有核心流的帶寬和信噪比特征的高質(zhì)量、多通道音頻信號(hào)。圖9示出了針對(duì)多通道信號(hào)中的一個(gè)通道的向后兼容無損編碼器400的系統(tǒng)級(jí)視 圖。在輸入端402處提供數(shù)字化音頻信號(hào),適當(dāng)?shù)貫镸比特的PCM音頻樣本。優(yōu)選的是,該 數(shù)字化音頻信號(hào)的采樣率和帶寬超出修改的有損核心編碼器404的采樣率和帶寬。在一個(gè) 實(shí)施例中,數(shù)字化音頻信號(hào)的采樣率為96kHz (對(duì)應(yīng)于采樣音頻的48kHz帶寬)。還應(yīng)當(dāng)明 白,輸入音頻可以是并且優(yōu)選為其中每個(gè)通道都以96kHz采樣的多通道信號(hào)。下面的討論 將集中在單個(gè)通道的處理上,但是到多通道的擴(kuò)展是簡(jiǎn)單的。輸入信號(hào)在節(jié)點(diǎn)406處被復(fù) 制,并且在并行分支中被處理。在信號(hào)路徑的第一分支中,修改的有損寬帶編碼器404編碼 該信號(hào)。下面詳細(xì)描述的該修改的核心編碼器404產(chǎn)生被輸送至打包器或復(fù)用器410的編 碼核心比特流408。核心比特流408還被傳送至修改的核心解碼器412,其產(chǎn)生修改的重建 核心信號(hào)414作為輸出。同時(shí),并行路徑中的輸入數(shù)字化音頻信號(hào)402經(jīng)歷補(bǔ)償延遲416,該延遲大致等于 引入到重建音頻流中的延遲(由修改的編碼器和修改的解碼器引入),以產(chǎn)生延遲的數(shù)字 化音頻流。在求和節(jié)點(diǎn)420處從該延遲的數(shù)字化音頻流414中減去音頻流400。求和節(jié)點(diǎn)420產(chǎn)生差值信號(hào)422,其表示原始信號(hào)和重建的核心信號(hào)。為了實(shí)現(xiàn)純 粹的“無損”編碼,需要利用無損編碼技術(shù)來編碼和發(fā)送該差值信號(hào)。因此,利用無損編碼 器424編碼該差值信號(hào)422,并且在打包器410中將擴(kuò)展比特流426與核心比特流408打 包,以產(chǎn)生輸出比特流428。注意,無損編碼產(chǎn)生具有可變比特率的擴(kuò)展比特流426,以適應(yīng)無損編碼器的需 要。接著,被打包的流可選地經(jīng)受包括通道編碼的其它編碼層,然后被發(fā)送或記錄。注意, 針對(duì)本公開的目的,記錄可以被視為通過通道的發(fā)送。核心編碼器404被描述為“修改的”,因?yàn)樵谀軌蛱幚頂U(kuò)展的帶寬的實(shí)施例中,該 核心編碼器需要修改。編碼器內(nèi)的64頻帶分析濾波器組430丟棄其輸出數(shù)據(jù)432的一半, 并且核心子頻帶編碼器434僅編碼較低的32個(gè)頻帶。該被丟棄的信息對(duì)于在任何情況下 都不能重建信號(hào)頻譜上半部分的傳統(tǒng)解碼器沒有意義。根據(jù)未修改的編碼器將剩下的信息 編碼,以形成向后兼容核心輸出流。然而,在以48kHz或更低采樣率工作的另一實(shí)施例中, 核心編碼器可以是現(xiàn)有核心編碼器的大致無修改形式。類似地,對(duì)于高于傳統(tǒng)解碼器采樣 率的操作,修改的核心解碼器412包括核心子頻帶解碼器436,其在較低的32個(gè)子頻帶中 解碼樣本。該修改的核心解碼器采用來自較低的32個(gè)子頻帶的子頻帶樣本并將較高的32 個(gè)頻帶438的未發(fā)送的子頻帶樣本置零,并且利用64頻帶QMF合成濾波器440重建所有64 個(gè)頻帶。對(duì)于以常規(guī)采樣率(例如,48kHz及以下)的操作,該核心解碼器可以是現(xiàn)有核心 解碼器的大致無修改形式或等價(jià)物。在一些實(shí)施例中,采樣率的選擇可以在編碼時(shí)進(jìn)行,而 且,若希望,可以通過軟件在那時(shí)重新配置編碼和解碼模塊。因?yàn)闊o損編碼器被用于編碼差值信號(hào),所以簡(jiǎn)單的熵編碼似乎就足夠了。然而,由 于現(xiàn)有有損核心編解碼器的比特率限制,提供無損比特流所需的相當(dāng)大的總比特量仍然保 持。而且,因?yàn)楹诵木幗獯a器的帶寬限制,差值信號(hào)中24kHz以上的信息內(nèi)容仍然相關(guān)。例
如,大量諧波分量,包括遠(yuǎn)遠(yuǎn)超出30kHz的喇叭、吉他、三角鐵.......因此,提升了壓縮性
能的更復(fù)雜的無損編解碼器增加了價(jià)值。另外,在一些應(yīng)用中,核心和擴(kuò)展比特流仍必須滿 足可解碼單元不得超出最大尺寸的約束。本發(fā)明的無損編解碼器同時(shí)提供提升的壓縮性能和提升的靈活性,以滿足這些約束。作為示例,8通道24位96kHz PCM音頻需要18. 5Mbps。無損壓縮可以將其降低至 大約9Mbps。DTS Coherent Acoustics以1. 5Mbps編碼核心,剩下7. 5Mbps的差值信號(hào)。 對(duì)于2k字節(jié)的最大片段尺寸,平均片段持續(xù)時(shí)間為2048女8/7500000 = 2. 18msec,或在 96kHz下大致為209個(gè)樣本。滿足最大尺寸的有損核心的典型幀尺寸在10與20msec之間。在系統(tǒng)級(jí),無損編解碼器和向后兼容無損編解碼器可以組合以便以擴(kuò)展的帶寬無 損地編碼額外的音頻通道,同時(shí)保持與現(xiàn)有有損編解碼器的向后兼容性。例如,18. 5Mbps下 8通道的96kHz音頻可以被無損編碼以包括以1. 5Mbps的5. 1通道的48kHz音頻。核心加 無損編碼器將被用于編碼該5. 1通道。無損編碼器將被用于編碼5. 1通道中的差值信號(hào)。 剩下的2個(gè)通道使用無損編碼器在分開的通道集中被編碼。因?yàn)樵谠噲D優(yōu)化片段持續(xù)時(shí)間 時(shí)需要考慮所有通道集,所以所有編碼工具將以一種方式或另一種方式使用。兼容的解碼 器將解碼所有8個(gè)通道并且無損地重建96kHz 18. 5Mbps音頻信號(hào)。老的解碼器將僅僅解 碼5. 1通道并重建48kHz 1. 5Mbps。一般來說,為了調(diào)整解碼器的復(fù)雜度,可以提供多于一個(gè)的純無損通道集。例如, 對(duì)于10. 2原始混音,可以將通道集組織為使得-CHSETl攜帶5. 1 (具有嵌入的10. 2到5. 1下混音)并且利用核心+無損來編碼-CHESTl和CHEST2攜帶7. 1 (具有嵌入的10. 2到7. 1下混音),其中,CHSET2利 用無損編碼2個(gè)通道-CHEST 1+CHEST2+CHEST3攜帶全部分立的10. 2混音,其中,CHEST3僅利用無損編 碼剩下的3. 1通道能夠正好解碼5. 1的解碼器將僅解碼CHSET1,而忽略所有其它通道集。能夠正好 解碼7. 1的解碼器將解碼CHESTl和CHEST2,而忽略其它通道集。......而且,有損加無損核心不限于5. 1。當(dāng)前實(shí)現(xiàn)利用有損(核心+XCh)和無損,支持 多達(dá)6. 1,并且可以支持以任意數(shù)量的通道集組織的一般m. η通道。有損編碼將具有5. 1向 后兼容核心,并且利用有損編解碼器編碼的所有其它通道將進(jìn)入XXCh擴(kuò)展。這提供了具有 相當(dāng)大的設(shè)計(jì)靈活性的整體無損編碼,以保持與現(xiàn)有解碼器的向后兼容,同時(shí)支持附加通 道。雖然已經(jīng)示出并描述了本發(fā)明的幾個(gè)示意性實(shí)施例,但本領(lǐng)域技術(shù)人員將想到許 多變型和可替換實(shí)施例。在不背離所附權(quán)利要求中限定的本發(fā)明的精神和范圍的情況下, 可以想到并且可以做出這樣的變型和可替換實(shí)施例。
權(quán)利要求
一種將具有隨機(jī)訪問點(diǎn)(RAP)的多通道音頻編碼成無損可變比特率(VBR)音頻比特流的方法,該方法包括接收編碼定時(shí)碼,該編碼定時(shí)碼指定所述音頻比特流中期望的隨機(jī)訪問點(diǎn)(RAP);將包括至少一個(gè)通道集的多通道音頻分塊成具有相等持續(xù)時(shí)間的幀,每一幀包括頭部和多個(gè)片段;將每一幀分塊成具有相等持續(xù)時(shí)間的多個(gè)分析塊,每個(gè)所述片段具有一個(gè)或多個(gè)分析塊的持續(xù)時(shí)間;將編碼定時(shí)碼同步至幀序列,以使期望的RAP對(duì)準(zhǔn)分析塊;對(duì)于每個(gè)相繼的幀,確定與所述編碼定時(shí)碼中期望的RAP對(duì)準(zhǔn)的多達(dá)一個(gè)RAP分析塊;設(shè)定RAP片段的起點(diǎn),使得所述RAP分析塊位于該起點(diǎn)的M個(gè)分析塊內(nèi);為所述通道集中的每個(gè)通道確定用于所述幀的至少一組預(yù)測(cè)參數(shù);根據(jù)所述預(yù)測(cè)參數(shù)為所述通道集中的每個(gè)通道壓縮音頻幀,對(duì)在所述RAP片段的起點(diǎn)之后直到預(yù)測(cè)階數(shù)的第一樣本禁用所述預(yù)測(cè),以生成之前和/或之后是殘差音頻樣本的原始音頻樣本;根據(jù)所述原始音頻樣本和所述殘差音頻樣本為每個(gè)片段確定片段持續(xù)時(shí)間和熵編碼參數(shù),以在以下約束下減小所述幀的可變尺寸編碼凈荷,所述約束是,每個(gè)片段必須可完全且無損解碼、具有小于幀持續(xù)時(shí)間的持續(xù)時(shí)間、并且具有小于比幀尺寸小的最大字節(jié)數(shù)的編碼片段凈荷;將包括片段持續(xù)時(shí)間、表示RAP的存在和位置的RAP參數(shù)、預(yù)測(cè)和熵編碼參數(shù)、以及比特流導(dǎo)航數(shù)據(jù)的頭部信息打包到所述比特流中的幀頭部中;以及將每個(gè)片段的壓縮和熵編碼后的音頻數(shù)據(jù)打包到所述比特流中的幀片段中。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述編碼定時(shí)碼是指定與視頻信號(hào)的特定部分 的起點(diǎn)相對(duì)應(yīng)的期望的RAP的視頻定時(shí)碼。
3.根據(jù)權(quán)利要求1所述的方法,其中,使所述RAP分析塊位于所述音頻比特流中所述 RAP片段的起點(diǎn)的M個(gè)分析塊內(nèi)確保解碼能力在所述期望的RAP的規(guī)定對(duì)準(zhǔn)容限內(nèi)。
4.根據(jù)權(quán)利要求1所述的方法,其中,每N幀的第一片段是默認(rèn)RAP片段,除非有期望 的RAP位于該幀內(nèi)。
5.根據(jù)權(quán)利要求1所述的方法,還包括為所述通道集中的一個(gè)或多個(gè)通道檢測(cè)所述幀中的分析塊中瞬變的存在; 將所述幀分區(qū),以使任何檢測(cè)到的瞬變位于它們相應(yīng)的通道中的片段的第一 L個(gè)分析 塊內(nèi);以及針對(duì)所述通道集中的每個(gè)通道,確定用于在檢測(cè)到的瞬變之前且不包括所述瞬變的片 段的第一組預(yù)測(cè)參數(shù),和用于包括所述瞬變和在所述瞬變之后的片段的第二組預(yù)測(cè)參數(shù); 以及確定片段持續(xù)時(shí)間,其中,RAP分析塊必須位于該RAP片段的起點(diǎn)的M個(gè)分析塊之內(nèi), 并且瞬變必須位于對(duì)應(yīng)通道中的片段的第一L個(gè)分析塊內(nèi)。
6.根據(jù)權(quán)利要求5所述的方法,還包括利用所述RAP分析塊的位置和/或瞬變的位置來確定作為分析塊持續(xù)時(shí)間的二的冪的倍數(shù)的最大片段持續(xù)時(shí)間,以使所述RAP分析塊位于所述RAP片段的起點(diǎn)的M個(gè)分析塊內(nèi) 并且所述瞬變位于片段的第一 L個(gè)分析塊內(nèi),其中,確定作為所述分析塊持續(xù)時(shí)間的二的冪的倍數(shù)并且不超出所述最大片段持續(xù)時(shí) 間的均勻片段持續(xù)時(shí)間,以在所述約束下減小編碼幀凈荷。
7.根據(jù)權(quán)利要求1所述的方法,還包括利用所述RAP分析塊的位置來確定作為所述分析塊持續(xù)時(shí)間的二的冪的倍數(shù)的最大 片段持續(xù)時(shí)間,以使所述RAP分析塊位于所述RAP片段的起點(diǎn)的M個(gè)分析塊內(nèi),其中,確定作為所述分析塊持續(xù)時(shí)間的二的冪的倍數(shù)并且不超出所述最大片段持續(xù)時(shí) 間的均勻片段持續(xù)時(shí)間,以在所述約束下減小編碼幀凈荷。
8.根據(jù)權(quán)利要求7所述的方法,其中,所述最大片段持續(xù)時(shí)間還受解碼器中可用的輸 出緩沖器尺寸的約束。
9.根據(jù)權(quán)利要求1所述的方法,其中,所述編碼片段凈荷的最大字節(jié)數(shù)受所述音頻比 特流的訪問單元尺寸約束的影響。
10.根據(jù)權(quán)利要求1所述的方法,其中,所述RAP參數(shù)包括指示RAP的存在的RAP標(biāo)志 和指示該RAP的位置的RAP ID。
11.根據(jù)權(quán)利要求1所述的方法,其中,第一通道集包括5.1多通道音頻,而第二通道集 包括至少一個(gè)附加音頻通道。
12.根據(jù)權(quán)利要求1所述的方法,還包括為通道對(duì)生成解相關(guān)通道,以形成包括基本 通道、相關(guān)通道和解相關(guān)通道的三元組,選擇包括基本通道和相關(guān)通道的第一通道對(duì)或包 括基本通道和解相關(guān)通道的第二通道對(duì),并且對(duì)所選擇的通道對(duì)中的通道熵編碼。
13.根據(jù)權(quán)利要求12所述的方法,其中,所述通道對(duì)根據(jù)以下來選擇如果解相關(guān)通道的方差小于相關(guān)通道的方差達(dá)一閾值,則在確定片段持續(xù)時(shí)間之前選 擇第二通道對(duì);和否則,延遲對(duì)第一或第二通道對(duì)的選擇,直到基于哪個(gè)通道對(duì)向編碼凈荷貢獻(xiàn)最少比 特而確定了片段持續(xù)時(shí)間。
14.一種或多種計(jì)算機(jī)可讀介質(zhì),包括在運(yùn)行時(shí)執(zhí)行如權(quán)利要求1所述的方法的計(jì)算 機(jī)可執(zhí)行指令。
15.一種或多種半導(dǎo)體裝置,包括被配置為執(zhí)行如權(quán)利要求1所述的方法的數(shù)字電路。
16.一種在隨機(jī)訪問點(diǎn)(RAP)處啟動(dòng)對(duì)無損可變比特率(VBR)多通道音頻比特流的解 碼的方法,包括接收無損VBR多通道音頻比特流作為幀序列,該幀序列被分割為具有可變長(zhǎng)度幀凈荷 并且包括至少一個(gè)可獨(dú)立解碼且可無損重建的通道集的多個(gè)片段,所述通道集包括用于多 通道音頻信號(hào)的多個(gè)音頻通道,每一幀包括頭部信息和存儲(chǔ)在所述數(shù)量的片段中的熵編碼 壓縮的多通道音頻信號(hào),所述頭部信息包括片段持續(xù)時(shí)間、指示多達(dá)一個(gè)RAP片段的存在 和位置的RAP參數(shù)、導(dǎo)航數(shù)據(jù)、通道集頭部信息、以及每個(gè)所述通道集的片段頭部信息,其 中所述通道集頭部信息包括針對(duì)每個(gè)所述通道集中的每個(gè)所述通道的預(yù)測(cè)系數(shù),所述片段 頭部信息包括至少一個(gè)熵編碼標(biāo)志和至少一個(gè)熵編碼參數(shù);解包所述比特流中下一幀的頭部以提取RAP參數(shù),直到檢測(cè)到具有RAP片段的幀為止;解包所選擇的幀的頭部以提取片段持續(xù)時(shí)間和導(dǎo)航數(shù)據(jù),以便導(dǎo)航至所述RAP片段的 開頭;針對(duì)至少一個(gè)所述通道集解包所述頭部以提取所述熵編碼標(biāo)志和編碼參數(shù)以及所述 熵編碼壓縮的多通道音頻信號(hào),并且利用所選擇的熵編碼和編碼參數(shù)來對(duì)所述RAP片段執(zhí) 行熵解碼,以便為該RAP片段生成壓縮音頻信號(hào);以及針對(duì)至少一個(gè)所述通道集解包所述頭部,以提取預(yù)測(cè)系數(shù)并且重建所述壓縮音頻信 號(hào),以便為所述RAP片段無損地重建所述通道集中每個(gè)音頻通道的PCM音頻;以及按順序解碼所述幀中的剩余片段和隨后的幀。
17.根據(jù)權(quán)利要求16所述的方法,其中,在所述編碼定時(shí)碼中指定的期望的RAP位于所 述比特流中所述RAP片段的起點(diǎn)的對(duì)準(zhǔn)容限內(nèi)。
18.根據(jù)權(quán)利要求17所述的方法,其中,在整個(gè)比特流中,所述RAP片段在幀內(nèi)的位置 基于所述編碼定時(shí)碼中的所述期望的RAP的位置而改變。
19.根據(jù)權(quán)利要求16所述的方法,其中,所述RAP片段的直到預(yù)測(cè)階數(shù)的第一音頻樣本 未被壓縮,對(duì)于直到所述預(yù)測(cè)階數(shù)的所述第一音頻樣本禁用所述預(yù)測(cè),以無損地重建所述 PCM音頻。
20.根據(jù)權(quán)利要求19所述的方法,其中,在已經(jīng)啟動(dòng)解碼之后,當(dāng)在隨后幀中遇到另一 RAP片段時(shí),對(duì)于直到所述預(yù)測(cè)階數(shù)的所述第一音頻樣本禁用所述預(yù)測(cè),以繼續(xù)無損地重建 所述PCM音頻。
21.根據(jù)權(quán)利要求16所述的方法,其中,所述片段持續(xù)時(shí)間在以下約束下減小所述幀 凈荷,所述約束為期望的RAP在所述RAP片段的起點(diǎn)的指定容限內(nèi)對(duì)準(zhǔn),并且每個(gè)編碼片 段凈荷小于比所述幀尺寸小的最大凈荷尺寸并且一旦所述片段被解包就可完全解碼且可無損重建。
22.根據(jù)權(quán)利要求16所述的方法,其中,片段的數(shù)量和持續(xù)時(shí)間在幀與幀之間變化以 在以下約束下最小化每一幀的可變長(zhǎng)度凈荷,所述約束為編碼片段凈荷小于最大字節(jié)數(shù)、 可無損重建,并且編碼定時(shí)碼中指定的期望的RAP位于所述RAP片段的起點(diǎn)的對(duì)準(zhǔn)容限內(nèi)。
23.根據(jù)權(quán)利要求16所述的方法,還包括接收包括頭部信息的每個(gè)幀,該頭部信息包括指示每個(gè)通道中瞬變片段的存在和位 置的瞬變參數(shù),針對(duì)每個(gè)所述通道的預(yù)測(cè)系數(shù),其中,在每個(gè)所述通道集中,如果不存在瞬 變,則所述預(yù)測(cè)系數(shù)包括單組基于幀的預(yù)測(cè)系數(shù),而如果存在瞬變,則所述預(yù)測(cè)系數(shù)包括第 一組和第二組基于分區(qū)的預(yù)測(cè)系數(shù),針對(duì)至少一個(gè)所述通道集解包所述頭部以提取所述瞬變參數(shù),以便確定所述通道集中 每個(gè)通道中的瞬變片段的存在和位置;針對(duì)至少一個(gè)所述通道集解包所述頭部,以根據(jù)瞬變的存在與否為每個(gè)通道提取所述 單組基于幀的預(yù)測(cè)系數(shù)或者提取所述第一組和第二組基于分區(qū)的預(yù)測(cè)系數(shù);以及針對(duì)所述通道集中的每個(gè)通道,將所述單組預(yù)測(cè)系數(shù)應(yīng)用至所述幀中所有片段的壓縮 音頻信號(hào)以無損地重建PCM音頻,或者將第一組預(yù)測(cè)系數(shù)應(yīng)用至以第一片段開始的壓縮音 頻信號(hào),并將第二組預(yù)測(cè)系數(shù)應(yīng)用至以所述瞬變片段開始的壓縮音頻信號(hào)。
24.根據(jù)權(quán)利要求16所述的方法,其中,所述比特流還包括通道集頭部信息,該通道集 頭部信息包括成對(duì)通道解相關(guān)標(biāo)志、原始通道階數(shù)、和量化的通道解相關(guān)系數(shù),所述重建生成解相關(guān)的PCM音頻,所述方法還包括解包所述頭部,以提取所述原始通道階數(shù)、所述成對(duì)通道解相關(guān)標(biāo)志和所述量化的通 道解相關(guān)系數(shù)并執(zhí)行逆交叉通道解相關(guān),以便為所述通道集中的每個(gè)音頻 通道重建PCM音頻。
25.根據(jù)權(quán)利要求24所述的方法,其中,所述成對(duì)通道解相關(guān)標(biāo)志指示對(duì)于包括基本 通道、相關(guān)通道和解相關(guān)通道的三元組,是包括基本通道和相關(guān)通道的第一通道對(duì)還是包 括基本通道和解相關(guān)通道的第二通道對(duì)已被編碼,所述方法還包括如果所述標(biāo)志指示第二通道對(duì),則將所述基本通道與所述量化的通道解相關(guān)系數(shù)相 乘,并將其添加至所述解相關(guān)通道,以在所述相關(guān)通道中生成PCM音頻。
26.—種或多種計(jì)算機(jī)可讀介質(zhì),包括在運(yùn)行時(shí)執(zhí)行如權(quán)利要求16所述的方法的計(jì)算 機(jī)可執(zhí)行指令。
27.—種或多種半導(dǎo)體裝置,包括被配置為執(zhí)行如權(quán)利要求16所述的方法的數(shù)字電路。
28.一種將多通道音頻編碼成無損可變比特率(VBR)音頻比特流的方法,包括將包括至少一個(gè)通道集的多通道音頻分塊成具有相等持續(xù)時(shí)間的幀,每一幀包括頭部 和多個(gè)片段,每個(gè)所述片段具有一個(gè)或多個(gè)分析塊的持續(xù)時(shí)間; 對(duì)于每個(gè)相繼的幀,為所述通道集中的每個(gè)通道檢測(cè)所述幀中的瞬變分析塊中瞬變的存在; 將所述幀分區(qū),以使任何瞬變分析塊位于它們相應(yīng)的通道中的片段的第一 L個(gè)分析塊內(nèi);針對(duì)所述通道集中的每個(gè)通道,確定用于在所述瞬變分析塊之前且不包括所述瞬變分 析塊的片段的第一組預(yù)測(cè)參數(shù),和用于包括所述瞬變分析塊和在所述瞬變分析塊之后的片 段的第二組預(yù)測(cè)參數(shù);在第一分區(qū)和第二分區(qū)上分別利用所述第一組預(yù)測(cè)參數(shù)和所述第二組預(yù)測(cè)參數(shù)來壓 縮所述音頻數(shù)據(jù),以生成殘差音頻信號(hào);根據(jù)殘差音頻樣本確定每個(gè)片段的片段持續(xù)時(shí)間和熵編碼參數(shù),以在以下約束下減小 所述幀的可變尺寸編碼凈荷,所述約束是每個(gè)片段必須可完全且無損解碼、具有小于幀持 續(xù)時(shí)間的持續(xù)時(shí)間、并具有小于比所述幀尺寸小的最大字節(jié)數(shù)的編碼片段凈荷;將包括片段持續(xù)時(shí)間、指示瞬變的存在和位置的瞬變參數(shù)、預(yù)測(cè)參數(shù)、熵編碼參數(shù)、和 比特流導(dǎo)航數(shù)據(jù)的頭部信息打包到所述比特流中的幀頭部中;以及將每個(gè)片段的壓縮和熵編碼后的音頻數(shù)據(jù)打包到所述比特流中的幀片段中。
29.根據(jù)權(quán)利要求28所述的方法,還包括,對(duì)于所述通道集中的每個(gè)通道 確定用于整個(gè)幀的第三組預(yù)測(cè)參數(shù);利用所述用于整個(gè)幀的第三組預(yù)測(cè)參數(shù)來壓縮所述音頻數(shù)據(jù),以生成殘差音頻信號(hào),以及根據(jù)它們各自的殘差音頻信號(hào),基于編碼效率的量度來選擇第三組預(yù)測(cè)參數(shù)或者第一 組和第二組預(yù)測(cè)參數(shù),其中,如果選擇所述第三組預(yù)測(cè)參數(shù),則禁用在瞬變位置位于片段起點(diǎn)的L個(gè)分析塊 內(nèi)的這方面對(duì)片段持續(xù)時(shí)間的約束。
30.根據(jù)權(quán)利要求28所述的方法,還包括接收定時(shí)碼,該定時(shí)碼指定所述音頻比特流中期望的隨機(jī)訪問點(diǎn)(RAP);根據(jù)所述定時(shí)碼在所述幀內(nèi)確定多達(dá)一個(gè)RAP分析塊;設(shè)定RAP片段的起點(diǎn),以使所述RAP分析塊位于所述起點(diǎn)的M個(gè)分析塊內(nèi);當(dāng)將所述幀分區(qū)時(shí)考慮由所述RAP片段施加的片段邊界,以確定所述第一組和第二組 預(yù)測(cè)參數(shù);針對(duì)所述第一組、第二組和第三組預(yù)測(cè)參數(shù),對(duì)在所述RAP片段的起點(diǎn)之后直到預(yù)測(cè) 階數(shù)的第一樣本,禁用所述預(yù)測(cè),以生成之前和/或之后是殘差音頻樣本的原始音頻樣本;確定所述片段持續(xù)時(shí)間,所述片段持續(xù)時(shí)間在滿足RAP分析塊位于所述RAP片段的起 點(diǎn)的M個(gè)分析塊內(nèi)和/或瞬變分析塊必須位于片段的第一 L個(gè)分析塊內(nèi)的約束的同時(shí),減 少編碼幀凈荷;以及將指示所述RAP的存在和位置的RAP參數(shù)和比特流導(dǎo)航數(shù)據(jù)打包到所述幀頭部中。
31.根據(jù)權(quán)利要求28所述的方法,還包括利用檢測(cè)到的所述瞬變分析塊的位置來確定作為所述分析塊持續(xù)時(shí)間的二的冪的倍 數(shù)的最大片段持續(xù)時(shí)間,以使所述瞬變位于片段的第一 L個(gè)分析塊內(nèi),其中,確定作為所述分析塊持續(xù)時(shí)間的二的冪的倍數(shù)并且不超出所述最大片段持續(xù)時(shí) 間的均勻片段持續(xù)時(shí)間,以在所述約束下減小編碼幀凈荷。
32.根據(jù)權(quán)利要求31所述的方法,其中,所述最大片段持續(xù)時(shí)間還受解碼器中可用的 輸出緩沖器尺寸的約束。
33.根據(jù)權(quán)利要求28所述的方法,其中,所述編碼片段凈荷的最大字節(jié)數(shù)受所述音頻 比特流的訪問單元尺寸約束的影響。
34.根據(jù)權(quán)利要求28所述的方法,其中,所述比特流包括第一通道集和第二通道集,所 述方法基于對(duì)于各通道集中的至少一個(gè)通道在不同位置處檢測(cè)到的瞬變來為每個(gè)通道集 中的每個(gè)通道選擇第一組預(yù)測(cè)參數(shù)和第二組預(yù)測(cè)參數(shù),其中,所述片段持續(xù)時(shí)間被確定為 使得每個(gè)所述瞬變都位于其中出現(xiàn)瞬變的片段的第一L個(gè)分析塊內(nèi)。
35.根據(jù)權(quán)利要求34所述的方法,其中,所述第一通道集包括5.1多通道音頻,所述第 二通道集包括至少一個(gè)附加音頻通道。
36.根據(jù)權(quán)利要求28所述的方法,其中,所述瞬變參數(shù)包括指示瞬變的存在的瞬變標(biāo) 志和指示其中出現(xiàn)瞬變的片段號(hào)的瞬變ID。
37.根據(jù)權(quán)利要求28所述的方法,還包括生成用于通道對(duì)的解相關(guān)通道,以形成包括 基本通道、相關(guān)通道和解相關(guān)通道的三元組,選擇包括基本通道和相關(guān)通道的第一通道對(duì), 或者選擇包括基本通道和解相關(guān)通道的第二通道對(duì),并且對(duì)所選擇的通道對(duì)中的通道熵編 碼。
38.根據(jù)權(quán)利要求37所述的方法,其中,所述通道對(duì)根據(jù)以下來選擇如果解相關(guān)通道的方差小于相關(guān)通道的方差達(dá)一閾值,則在確定片段持續(xù)時(shí)間之前選 擇第二通道對(duì);和否則,延遲對(duì)第一或第二通道對(duì)的選擇,直到基于哪個(gè)通道對(duì)向編碼凈荷貢獻(xiàn)最少比 特而確定了片段持續(xù)時(shí)間。
39.一種或多種計(jì)算機(jī)可讀介質(zhì),包括在運(yùn)行時(shí)執(zhí)行如權(quán)利要求28所述的方法的計(jì)算機(jī)可執(zhí)行指令。
40.一種或多種半導(dǎo)體裝置,包括被配置為執(zhí)行如權(quán)利要求28所述的方法的數(shù)字電路。
41.一種解碼無損可變比特率(VBR)多通道音頻比特流的方法,包括接收無損VBR多通道音頻比特流作為幀序列,該幀序列被分割為具有可變長(zhǎng)度幀凈荷 并且包括至少一個(gè)可獨(dú)立解碼且可無損重建的通道集的多個(gè)片段,所述通道集包括用于多 通道音頻信號(hào)的多個(gè)音頻通道,每一幀包括頭部信息和存儲(chǔ)在所述數(shù)量的片段中的熵編碼 壓縮的多通道音頻信號(hào),所述頭部信息包括片段持續(xù)時(shí)間、包括指示每個(gè)通道中瞬變片段 的存在和位置的瞬變參數(shù)的通道集頭部信息、用于每個(gè)所述通道的預(yù)測(cè)系數(shù)、和每個(gè)所述 通道集的包括至少一個(gè)熵編碼標(biāo)志和至少一個(gè)熵編碼參數(shù)的片段頭部信息,其中,在每個(gè) 所述通道集中,如果不存在瞬變,則所述預(yù)測(cè)系數(shù)包括單組基于幀的預(yù)測(cè)系數(shù),而如果存在 瞬變,則所述預(yù)測(cè)系數(shù)包括第一組和第二組基于分區(qū)的預(yù)測(cè)系數(shù);解包所述頭部以提取所述片段持續(xù)時(shí)間;針對(duì)至少一個(gè)所述通道集解包所述頭部以提取每個(gè)片段的所述熵編碼標(biāo)志和編碼參 數(shù)以及所述熵編碼壓縮的多通道音頻信號(hào),并且利用所選擇的熵編碼和編碼參數(shù)來對(duì)每個(gè) 片段執(zhí)行熵解碼,以便為每個(gè)片段生成壓縮音頻信號(hào);針對(duì)至少一個(gè)所述通道集解包所述頭部以提取所述瞬變參數(shù),以便確定所述通道集中 的每個(gè)通道中的瞬變片段的存在和位置;針對(duì)至少一個(gè)所述通道集解包所述頭部,以根據(jù)瞬變的存在與否為每個(gè)通道提取所述 單組的基于幀的預(yù)測(cè)系數(shù)或者提取第一組和第二組基于分區(qū)的預(yù)測(cè)系數(shù);以及針對(duì)所述通道集中的每個(gè)通道,將所述單組預(yù)測(cè)系數(shù)應(yīng)用至所述幀中所有片段的壓縮 音頻信號(hào)以無損地重建PCM音頻,或者將所述第一組預(yù)測(cè)系數(shù)應(yīng)用至以第一片段開始的壓 縮音頻信號(hào),并將所述第二組預(yù)測(cè)系數(shù)應(yīng)用至以所述瞬變片段開始的壓縮音頻信號(hào)。
42.根據(jù)權(quán)利要求41所述的方法,其中,所述比特流還包括通道集頭部信息,該通道集 頭部信息包括成對(duì)通道解相關(guān)標(biāo)志、原始通道階數(shù)、和量化的通道解相關(guān)系數(shù),所述重建生 成解相關(guān)PCM音頻,所述方法還包括解包所述頭部,以提取所述原始通道階數(shù)、所述成對(duì)通道解相關(guān)標(biāo)志和所述量化的通 道解相關(guān)系數(shù)并執(zhí)行逆交叉通道解相關(guān),以便為所述通道集中的每個(gè)音頻通道重建PCM音 頻。
43.根據(jù)權(quán)利要求42所述的方法,其中,所述成對(duì)通道解相關(guān)標(biāo)志指示對(duì)于包括基本 通道、相關(guān)通道和解相關(guān)通道的三元組,是包括基本通道和相關(guān)通道的第一通道對(duì)還是包 括基本通道和解相關(guān)通道的第二通道對(duì)已被編碼,所述方法還包括如果所述標(biāo)志指示第二通道對(duì),則將所述基本通道與所述量化的通道解相關(guān)系數(shù)相 乘,并將其添加至所述解相關(guān)通道,以在所述相關(guān)通道中生成PCM音頻。
44.根據(jù)權(quán)利要求41所述的方法,所述方法還包括以下步驟接收具有頭部信息的幀,該頭部信息包括指示多達(dá)一個(gè)RAP片段的存在和位置的RAP 參數(shù)和導(dǎo)航數(shù)據(jù);解包所述比特流中的下一幀的頭部以提取所述RAP參數(shù),如果試圖在RAP處啟動(dòng)解碼, 則跳至下一幀,直到檢測(cè)到具有RAP片段的幀為止,并且利用所述導(dǎo)航數(shù)據(jù)以導(dǎo)航至所述RAP片段的開頭;以及當(dāng)遇到RAP片段時(shí),對(duì)于直到所述預(yù)測(cè)階數(shù)的第一音頻樣本的禁用預(yù)測(cè),以無損地重 建所述PCM音頻。
45.根據(jù)權(quán)利要求41所述的方法,其中,片段的數(shù)量和持續(xù)時(shí)間在幀與幀之間變化,以 在以下約束下最小化每一幀的可變長(zhǎng)度凈荷,所述約束為編碼片段凈荷小于比所述幀尺 寸小的最大字節(jié)數(shù),并且可無損地重建。
46.一種或多種計(jì)算機(jī)可讀介質(zhì),包括在運(yùn)行時(shí)執(zhí)行如權(quán)利要求41所述的方法的計(jì)算 機(jī)可執(zhí)行指令。
47.一種或多種半導(dǎo)體裝置,包括被配置為執(zhí)行如權(quán)利要求41所述的方法的數(shù)字電路。
48.一種多通道音頻解碼器,用于在隨機(jī)訪問點(diǎn)(RAP)處啟動(dòng)對(duì)無損可變比特率(VBR) 多通道音頻比特流的解碼,其中,所述多通道音頻解碼器被配置為接收無損VBR多通道音頻比特流作為幀序列,該幀序列被分割為具有可變長(zhǎng)度幀凈荷 并且包括至少一個(gè)可獨(dú)立解碼且可無損重建的通道集的多個(gè)片段,所述通道集包括用于多 通道音頻信號(hào)的多個(gè)音頻通道,每一幀包括頭部信息和存儲(chǔ)在所述多個(gè)片段中的熵編碼壓 縮的多通道音頻信號(hào),所述頭部信息包括片段持續(xù)時(shí)間、指示多達(dá)一個(gè)RAP片段的存在和 位置的RAP參數(shù)、導(dǎo)航數(shù)據(jù)、通道集頭部信息、以及每個(gè)所述通道集的片段頭部信息,其中 所述通道集頭部信息包括針對(duì)每個(gè)所述通道集中的每個(gè)所述通道的預(yù)測(cè)系數(shù),所述片段頭 部信息包括至少一個(gè)熵編碼標(biāo)志和至少一個(gè)熵編碼參數(shù);解包所述比特流中下一幀的頭部以提取RAP參數(shù),直到檢測(cè)到具有RAP片段的幀為止;解包所選擇的幀的頭部以提取片段持續(xù)時(shí)間和導(dǎo)航數(shù)據(jù),以便導(dǎo)航至所述RAP片段的 開頭;針對(duì)至少一個(gè)所述通道集解包所述頭部以提取所述熵編碼標(biāo)志和編碼參數(shù)以及所述 熵編碼壓縮的多通道音頻信號(hào),并且利用所選擇的熵編碼和編碼參數(shù)來對(duì)所述RAP片段執(zhí) 行熵解碼,以便為該RAP片段生成壓縮音頻信號(hào);以及針對(duì)至少一個(gè)所述通道集解包所述頭部,以提取預(yù)測(cè)系數(shù)并且重建所述壓縮音頻信 號(hào),以便為所述RAP片段無損地重建所述通道集中每個(gè)音頻通道的PCM音頻;以及按順序解碼所述幀中的剩余片段和隨后的幀。
49.根據(jù)權(quán)利要求48所述的多通道音頻解碼器,其中,任何RAP片段的直到預(yù)測(cè)階數(shù)的 第一音頻樣本未被壓縮,所述多通道音頻解碼器被配置為,對(duì)于直到所述預(yù)測(cè)階數(shù)的所述 第一音頻樣本禁用所述預(yù)測(cè),以便在所述RAP片段處無損地重建所述PCM音頻,從而在遇到 隨后的RAP片段時(shí)啟動(dòng)對(duì)其后任何片段的解碼。
50.一種用于解碼無損可變比特率(VBR)多通道音頻比特流的多通道音頻解碼器,所 述多通道音頻解碼器被配置為接收無損VBR多通道音頻比特流作為幀序列,該幀序列被分割為具有可變長(zhǎng)度幀凈荷 并且包括至少一個(gè)可獨(dú)立解碼且可無損重建的通道集的多個(gè)片段,所述通道集包括用于多 通道音頻信號(hào)的多個(gè)音頻通道,每一幀包括頭部信息和存儲(chǔ)在所述數(shù)量的片段中的熵編碼 壓縮的多通道音頻信號(hào),所述頭部信息包括片段持續(xù)時(shí)間、包括指示每個(gè)通道中瞬變片段的存在和位置的瞬變參數(shù)的通道集頭部信息、用于每個(gè)所述通道的預(yù)測(cè)系數(shù)、和每個(gè)所述 通道集的包括至少一個(gè)熵編碼標(biāo)志和至少一個(gè)熵編碼參數(shù)的片段頭部信息,其中,在每個(gè) 所述通道集中,如果不存在瞬變,則所述預(yù)測(cè)系數(shù)包括單組基于幀的預(yù)測(cè)系數(shù),而如果存在 瞬變,則所述預(yù)測(cè)系數(shù)包括第一組和第二組基于分區(qū)的預(yù)測(cè)系數(shù); 解包所述頭部以提取所述片段持續(xù)時(shí)間;針對(duì)至少一個(gè)所述通道集解包所述頭部以提取每個(gè)片段的所述熵編碼標(biāo)志和編碼參 數(shù)以及所述熵編碼壓縮的多通道音頻信號(hào),并且利用所選擇的熵編碼和編碼參數(shù)來對(duì)每個(gè) 片段執(zhí)行熵解碼,以便為每個(gè)片段生成壓縮音頻信號(hào);針對(duì)至少一個(gè)所述通道集解包所述頭部以提取所述瞬變參數(shù),以便確定所述通道集中 的每個(gè)通道中的瞬變片段的存在和位置;針對(duì)至少一個(gè)所述通道集解包所述頭部,以根據(jù)瞬變的存在與否為每個(gè)通道提取所述 單組的基于幀的預(yù)測(cè)系數(shù)或者提取第一組和第二組基于分區(qū)的預(yù)測(cè)系數(shù);以及針對(duì)所述通道集中的每個(gè)通道,將所述單組預(yù)測(cè)系數(shù)應(yīng)用至所述幀中所有片段的壓縮 音頻信號(hào)以無損地重建PCM音頻,或者將所述第一組預(yù)測(cè)系數(shù)應(yīng)用至以第一片段開始的壓 縮音頻信號(hào),并將所述第二組預(yù)測(cè)系數(shù)應(yīng)用至以所述瞬變片段開始的壓縮音頻信號(hào)。
全文摘要
無損音頻編解碼器利用在幀內(nèi)的指定片段處啟動(dòng)無損解碼的隨機(jī)訪問點(diǎn)(RAP)能力和/或?yàn)闇p輕瞬變影響而分區(qū)的多預(yù)測(cè)參數(shù)集(MPPS)能力來編碼/解碼無損可變比特率(VBR)比特流。這利用自適應(yīng)分段技術(shù)來實(shí)現(xiàn),該自適應(yīng)分段技術(shù)基于由所述幀中期望的RAP的存在和/或檢測(cè)到的瞬變所施加的約束來設(shè)定分段起始點(diǎn),并且在每一幀中選擇最佳片段持續(xù)時(shí)間,以在編碼片段凈荷約束下減小編碼幀凈荷。RAP和MPPS尤其可用于提升在較長(zhǎng)的幀持續(xù)時(shí)間情況下的整體性能。
文檔編號(hào)G06F15/00GK101933009SQ200980103481
公開日2010年12月29日 申請(qǐng)日期2009年1月9日 優(yōu)先權(quán)日2008年1月30日
發(fā)明者Z·菲左 申請(qǐng)人:Dts(英屬維爾京群島)有限公司