AAC音頻編碼技術(shù)_第1頁
AAC音頻編碼技術(shù)_第2頁
AAC音頻編碼技術(shù)_第3頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1. 綜述1.1 背景早期的聲音是用模擬信號的方式進行記錄, 并存儲在磁盤和唱片上, 這種方 式能夠準確地記錄原聲源的特性,并重放,但此方式不利于長期存儲和復(fù)制。隨著數(shù)字化音頻編碼技術(shù)的產(chǎn)生, 可以將原始模擬信號進行數(shù)字化離散處理, 再保存,在保證聲音的音質(zhì)同時,減小存儲空間。發(fā)展過程中,越來越多的標準 被制定出來。如(MP3)、AAC Dolby AC-3 WMA等,其中MPEG組織制定的一 系列音頻編碼標準占據(jù)主要地位,成為商業(yè)領(lǐng)域最廣泛的音頻編碼技術(shù), AAC是 具有代表性的編碼技術(shù)。MPEG先進音頻編碼技術(shù)(Advaneed Audio Coding,簡稱 AAC)是在 MP3 (MP

2、EG -1 Layer 3基礎(chǔ)上發(fā)展而來,出現(xiàn)于 1997年,基于 MPEG-2的音頻編 碼技術(shù)。由Fraunhofer IIS杜比實驗室、AT&T Sony (新力)等公司共同開發(fā)。 具有壓縮比高、 重建音質(zhì)好、 編碼和解碼過程高度模塊化、 以及聲道配置靈活等 特點。目前已被廣泛應(yīng)用于多媒體、信息通訊、網(wǎng)絡(luò)廣播電視等領(lǐng)域。1.2 數(shù)字音頻編碼概述音頻編碼壓縮算法是為了保證在重構(gòu)的音頻信號不失真的前提下, 以盡量少 的位數(shù)來描述原始音頻信號, 以便于有限地存儲或傳輸高音質(zhì)的音頻信號。 根據(jù) 壓縮編碼原理的不同, 可將音頻編碼方式分為四種, 分別是波形編碼、 參數(shù)編碼、 混合編碼和感知編

3、碼。 對于不同的音頻編碼方式, 其運算復(fù)雜度、 重構(gòu)信號的質(zhì) 量、壓縮率、 編碼和解碼的延遲等都會有很大的不同, 因此它們的應(yīng)用場合也不 會相同。其中,感知編碼主要是利用人耳聽覺系統(tǒng)的心理聲學特征, 即人耳對音頻信 號的時間和頻率的分辨能力是有限的, 凡是人耳不能感知的成分不進行編碼和傳 輸,而人耳能夠感知的部分運用心理聲學原理進行壓縮編碼, 并且在量化噪聲低 于掩蔽閾值的前提下允許有較大的量化失真。 感知編碼一方面運用信號的統(tǒng)計特 性移除了信號之間的冗余度, 另一方面利用了心理聲學中的掩蔽特性去掉了人耳 系統(tǒng)無法感知的部分, 從而使信號得到進一步的壓縮。 這種編碼方式盡管損失了 一些音頻成分

4、,但它并沒有影響音頻信號的質(zhì)量, 因此它能夠達到較高的壓縮比。AAC 音頻編碼屬于感知編碼, 它是利用人耳聽覺系統(tǒng)的掩蔽特性, 編碼過程 中去除了人耳不能感知的那部分音頻信號, 量化時允許有較大的量化失真, 并將 其控制在掩蔽閾值之下,從而提高音頻信號的壓縮比。2. AAC編碼技術(shù)2.1 AAC概述MPEG-2和MPEG-4中均提供了 AAC編碼,MPEG-4 AAC在 MPEG-2基礎(chǔ)上添 力卩了 PS和SBR技術(shù)。AAC是新一代的音頻有損壓縮技術(shù),它通過一些附加的編碼技術(shù)(比如PS,SBR 等),衍生出了 LC-AAC,HE-AAC,HE-AAC三種主要的編碼,LC-AAC就是比較傳統(tǒng) 的

5、AAC,相對而言,主要用于中高碼率(>=80Kbps,HE-AAC相當于AAC+SBR主要 用于中低碼(<=80Kbps)而新近推出的HE-AACV2相當于AAC+SBR+P主要用于低 碼率(v=48Kbp9,事實上大部分編碼器設(shè)成<=48Kbps自動啟用PS技術(shù),而>48Kbps 就不加PS就相當于普通的HE-AAC2.2 AAC規(guī)格AAC共有9種規(guī)格,以適應(yīng)不同的場合的需要:表1 AAC規(guī)貝U文件規(guī)格MPEG-2 AAC LC低復(fù)雜度規(guī)格(Low Complexity)MPEG-2 AAC Ma in主規(guī)格MPEG-2 AAC SSR可變米樣率規(guī)格(Scaleabl

6、e Sample RateMPEG-4 AAC LC低復(fù)雜度規(guī)格(Low Complexity)MPEG-4 AAC Ma in主規(guī)格MPEG-4 AAC SSR可變米樣率規(guī)格(Scaleable Sample RateMPEG-4 AAC LTP長時期預(yù)測規(guī)格(Long Term Predicitior)MPEG-4 AAC LD低延遲規(guī)格(Low Delay)MPEG-4 AAC HE咼效率規(guī)格(High Efficiency)其中:MPEG-2 AAC LC比較簡單,無增益控制,但提高了編碼效率,在中等碼率的編碼效率以及音質(zhì)方面,都能找到平衡點。MPEG-4 AAC LC常用于MP4文件

7、中的音頻編碼MPEG-4 AAC Main包含了除增益控制之外的全部功能,其音質(zhì)最好MPEG-4 AAC HE適合用于低碼率編碼目前使用最多的是LC和 HE適合低碼率)。流行的Nero AAC編碼程序只支持LC,HE, HEv2這三種規(guī)格,編碼后的AAC音頻,規(guī)格顯示都是LC HE其實就是AAC (LC +SBR技術(shù),HEv2就是 AAC ( LC) +SBR+P技術(shù)。圖1. HEv1與HEv2比較HE: “High Efficiency (高效性)。HE-AAC v1(又稱 AACPIusVl SBR)用容器 的方法實現(xiàn)了 AAC( LO +SBF技 術(shù)。SBR其實代表的是 Spectral

8、 Ba nd Replication® 段復(fù)制)。音樂的主要頻譜集中在低頻段,高頻段幅度很小,但決定了音質(zhì)。如果 對整個頻段編碼,若保護高頻就會造成低頻段編碼過細以致文件巨大;若是保存低頻的主要成分而失去高頻成分就會喪失音質(zhì)。SBRm頻譜切割開來,低頻單獨 編碼保存主要成分,高頻單獨放大編碼保存音質(zhì),解決了此矛盾。HEv2用容器的方法包含了 HE-AAC v和PS技術(shù)。PS指“parametric stereo”(參數(shù)立體聲)。原來的立體聲文件文件大小是一個聲道的兩倍。但是兩個聲道 的聲音存在某種相似性,根據(jù)香農(nóng)信息熵編碼定理,相關(guān)性應(yīng)該被去掉才能減小 文件大小。所以PS技術(shù)存儲了一

9、個聲道的全部信息,然后,花很少的字節(jié)用參 數(shù)描述另一個聲道和它不同的地方2.3 AAC特點(1) AAC是一種高壓縮比的音頻壓縮算法,但它的壓縮比要遠超過較老的 音頻壓縮算法,如AC-3 MP3等。并且其質(zhì)量可以同未壓縮的 CD音質(zhì)相媲美。(2) 同其他類似的音頻編碼算法一樣,AAC也是采用了變換編碼算法,但 AAC使用了分辨率更高的濾波器組,因此它可以達到更高的壓縮比。(3) AAC使用了臨時噪聲重整、后向自適應(yīng)線性預(yù)測、聯(lián)合立體聲技術(shù)和 量化哈夫曼編碼等技術(shù),這些技術(shù)的使用都使壓縮比得到進一步的提高。(4) AAC支持更多種采樣率和比特率、支持1個到48個音軌、支持多達15 個低頻音軌、具

10、有多種語言的兼容能力、還有多達15個內(nèi)嵌數(shù)據(jù)流。(5) AAC支持更寬的聲音頻率范圍,最高可達到 96kHz,最低可達8KHz遠寬于MP3的16KHz-48kHz的范圍。(6) 不同于MP3及WMA, AAC幾乎不損失聲音頻率中的甚高、甚低頻率 成分,并且比 WMA在頻譜結(jié)構(gòu)上更接近于原始音頻,因而聲音的保真度更好。(7) AAC采用優(yōu)化的算法達到了更高的解碼效率,解碼時只需較少的處理 能力。3. AAC編碼器基本原理AAC編碼具有多種規(guī)格以適用于不同應(yīng)用場合, 相對于其他類型而言,類型 的運算量較小,算法復(fù)雜度較低并具有較高的編碼質(zhì)量已被廣泛的應(yīng)用于實時編 碼研究中,因而將以其類型為原型對其

11、編碼框架進行分析。下圖則為MPEG-4 AAC L編碼器的基本框圖:輸出AAC碼率失H-控制整化器尤噪聲編碼圖2 MPEG-4 AAC LC編碼器的基本框圖3.1 心理聲學模型心理聲學模型是利用心理聲學原理對輸入的音頻信號進行頻譜分析, 計算出 掩蔽閾值、 信掩比和感知熵等一些心理聲學參數(shù), 以便于供編碼器的其他模塊使 用,是AAC編碼器的核心部分。心理聲學模型輸入 1024 點的 PCM 信號,其處理塊的長度為 2048 點和 256 點,時域上與上一塊有 50的重疊。心理聲學模型的計算結(jié)果用于濾波器組和量化模塊。根據(jù)當前FFT頻譜與前一幀F(xiàn)FT頻譜之間的差異來決定濾波器組模塊中 MDCT模

12、塊使用什么類型的窗 函數(shù)。如果差別超過限度,表明音頻信號處于非平穩(wěn)狀態(tài),則采用短窗;反之則 采用長窗。 心理聲學模型同時還向量化模塊提供信息, 以決定量化模塊如何來量 化音頻信號的頻域樣值。量化的形式要求和人耳的聽覺特性最大限度地相適應(yīng)。實驗證明, 人耳可分成 24 個頻帶。當信號中有一個較強的單音, 該單音會 掩蔽其所在的臨界頻帶中的弱信號, 使之不為人耳所察覺, 這就是我們所利用的 “掩蔽效應(yīng)”。掩蔽效應(yīng)允許對臨界頻帶中的弱信號進行相當粗糙的量化,而不 會引入聽覺失真。 AAC 采用比例因子段來近似臨界頻帶。 心理聲學模型分析 FFT 頻譜,判斷當前的臨界頻帶中是否有主單音的存在。 當主單

13、音存在時, 計算相應(yīng) 的掩蔽閾值。根據(jù)該掩蔽閾值可以得出可分配給量化因子頻帶的比特數(shù)的上限。由于對于音頻信號中的諧音分量和類噪聲的非諧音分量來說, 其掩蔽能力是 不同的,因此聲學模型首先要區(qū)分出這兩種不同類型的信號分量。 AAC 采用的心 理聲學模型 2 不直接區(qū)分出諧音分量和非諧音分量,而是把頻譜數(shù)據(jù)變成“分 區(qū)”區(qū)域,分區(qū)區(qū)域有著與臨界頻帶空間差不多的線性關(guān)系。 對于1個FFT頻譜 線或 1/3 臨界頻段中的較寬者提供一種近似的解決方案。 在低頻,一個 FFT 的單 譜線將構(gòu)成一個計算分區(qū)。 在高頻, 多條頻線將被合并成一個計算分區(qū)。 并且把 頻域的幅度值轉(zhuǎn)化為能量值來表示。 按照標準計算

14、并通過測量頻譜隨時間的不可 預(yù)測性確定頻譜線是否為諧音成份, 即把每個分區(qū)頻譜線的不可預(yù)測性作為每個 計算分區(qū)的諧音索引值, 這個索引值就是一個判斷標準, 來判斷這個分量是更接 近于諧音或者噪聲。 諧音成分的可預(yù)測性好, 因此它的諧音索引值相對要高一些。 由于這一過程的計算需要較多的數(shù)據(jù), 因此它比模型 1 對諧音成分和非諧音成分 的分辨要好一些。 由于一個給定信號的掩蔽能力可以跨越它周圍的整個臨界帶寬, 為了更有效地利用這個掩蔽能力,模型 2 使用擴展函數(shù)經(jīng)過擴展卷積來決定噪 聲掩蔽閾值。然后根據(jù)分區(qū)的能量和不可預(yù)測性計算出每個分區(qū)的諧音索引值, 再經(jīng)過內(nèi)插就可以得到每個分區(qū)的信掩比(SMR

15、)。任何特定分區(qū)掩蔽閾值等于 分區(qū)能量乘以衰減系數(shù)。由于在 AAC 中考慮了預(yù)測回聲的控制問題,因此基于 現(xiàn)行計算方法得出的掩蔽閾值, 要通過與前兩個計算分區(qū)的掩蔽閾值以及絕對掩 蔽閾值比較,得出較大的閾值,整個閾值才是該分區(qū)的實際掩蔽閾值。心理聲學模型具體涉及以下算法過程:( 1)計算擴展函數(shù) 由于各臨界頻帶內(nèi)的掩蔽效應(yīng)并不僅局限于一個頻帶內(nèi), 也會在頻帶之間產(chǎn) 生一種可預(yù)先估定的掩蔽效應(yīng),稱為擴展掩蔽效應(yīng),計算函數(shù)如下:?>? ?=?3?.0?( ?- ?)? ?=?1?.5?(?-? ?)? I 、 # ?=?8 ? min ?(?( ?-?0?.5) 2 - 2(?-?0?.5)

16、,0)?=?15.811389 + 7.5( ?+?0?.474) - 17.5(1.0 + (?+?0?.474)2)0.5? ?<?-?1?0?0 ?( ?,)?=? 0? ?(?,)?=?1?0?(?+?)/?1?0? 、# ( 2)計算輸入信號的復(fù)倒譜將新輸入的 1024點采樣信號與前一幀合并,組成 2048點的處理塊 ?(?)?,給這個處理塊加Hann窗得到???2?= ?(0.5- 0.5cos?+ 0.5)/1024)對?)?故FFT變換,得到處理塊的復(fù)倒譜? ?,分別代表幅度部分和 相位部分。再由前兩個處理塊的結(jié)果計算出本處理塊的可預(yù)測部分: ?_?=?2?.0?(?-

17、1)- ?(?- 2)?_?=?2?.0?(?- 1)- ?(?-?2)式中 t-1 表示前一塊數(shù)據(jù)。( 3)計算不可預(yù)測性 根據(jù)預(yù)測值及本幀的頻譜值,可以得到不可預(yù)測的度量:(?) = (?(?) ?cos(?(?) - ?_?(?) ?cos(?_?(?)?)?2+ (?(?)?sin(?(?) - ?_?(?)?sin(?_?(?)?)?2)0.5)/?(?) + ?(?_?(?)此公式用于短塊的計算, 對長塊,最低頻 6 個系數(shù)使用該公式, 高頻部分全 取 0.40。然后對每一個掩蔽域值區(qū)域計算分區(qū)能量e(b)以及不可預(yù)測的能量部分c(b),號,其中b是區(qū)域的序號,不同的采樣率對應(yīng)不同

18、的區(qū)域劃分,在低頻時,一條頻線 就組成一個區(qū)域,而在高頻時,多條頻線才組成一個區(qū)域,標準中提供了各種采 樣率的區(qū)域劃分參數(shù)。對每一個分區(qū),e(b)和c(b)的計算公式如下:max ?(?= 刀 ?(?)?=min ?max ?(?= V ?(?)? ?(?)?=min ?(4) 用擴展函數(shù)卷積分區(qū)能量和不可預(yù)測度相鄰區(qū)域之間相互影響,修正得到ecb(b)和 ct(t):max ? =V?) ? ?-(??)?*?(?)?=0max _? =V ? ? ?(?)?=0不可預(yù)測度ct(b)是經(jīng)過信號能量加權(quán)的,需要將其重新歸一化得到cb(b)? = ?/?(?)由于擴展函數(shù)的非歸一化屬性,ecb(

19、b)也需要歸一化,得到en (b):? = ?/?少?莎?(?)、/,、丿(5) 計算音調(diào)索引tb(b)及信噪比SNR(b)? = -0.299 - 0.43 ln(?)? = ? ? ? + (1 - ?) ? ? / V /A 1 V / /式中TMN(b)為噪聲掩蔽音調(diào)值,固定為 6dB。NMT(b)為音調(diào)掩蔽噪聲值, 固定為18 dB。(6) 計算實際的能量閾值:? = ? 10-?(?)/10該值將用于后面的聯(lián)合立體聲編碼。為了進行前回聲控制,并考慮到安靜閾值qsthr(b), nb(b)值作如下的修正:? = max (孑???? (?, ?_?>?>? ?)式中nb_

20、l(b)表示上一幀對應(yīng)的nb值,rpelev在短塊時值為1,長塊時值為2。(7) 計算感知熵及決定編碼采用塊模型:max ?PE= V - ?_?T?- ?_? ?ig H? + 1?=0 '(' ?如果PE大于給定值則采用短窗,反之則采用長窗。如果上一幀使用長塊而 本幀判斷為短塊,就采用長起始窗,反之使用短起始窗。(8) 計算信掩比SMR(n)定義swb為比例因子段的索引,swb_offset_long/short_window 為比例因子 的頻譜的偏移量。對每個比例因子段:?= ? ?= ? ?/?力?(???_? = ?_?/?_?_?(?1w_low(n)和w_high

21、(n)值可以從標準提供的表中查出3.2 濾波器組AAC的分析濾波器組使用改進的離散余弦變換(MDCT),把時間域上的輸入音 頻數(shù)據(jù)變換成頻域信息。濾波器組把輸入的時間樣本作為塊,并乘以窗函數(shù),然后執(zhí)行MDCT。輸入信號的每個塊都由前一塊和當前塊的50%疊加組成。變換塊的長度為 2048或256個樣本。由于窗函數(shù)對濾波器的頻率響應(yīng)有很大影響,濾波器組設(shè)計成允許 改變窗形狀以適應(yīng)信號的改變。根據(jù)輸入信號的特征將濾波器的分辨率設(shè)為每塊2048或256個樣本,長塊的頻域分辨率高、編碼效率高,而過長的窗函數(shù)又會使時域分辨率下降,產(chǎn)生嚴重的“預(yù)回聲”。“預(yù)回聲”的產(chǎn)生原因是由于存在沖擊信號或類似的時域事件

22、。 有效地抑制“預(yù)回聲”的措施是使用短窗切換的標準根據(jù)心理聲學模型的計算結(jié) 果確定。為了平滑過渡,長短塊之間的過渡不是突變的,中間引入了過渡窗。女口 下圖。由于余弦變換在邊界處存在固有的不連續(xù)性,因此在塊邊界處可能產(chǎn)生很大 的噪聲。相鄰塊的米樣值在時間上重疊, 有利于消除這種噪聲,這種技術(shù)稱為時 域混疊抵消(TDAQ技術(shù)。MDCT和IMDCT都采用TDAC技術(shù),在分析過程中引 進混疊失真,可以在合成過程中抵消。下圖則是TDAC技術(shù)在MDCT和IMDCT中 應(yīng)用說明:量化、編碼IMDCT圖4 TDAC示意圖MDCT表達式為?-1 2? 1?(?=刀?(?)?(?)。吃(??+ ?)(?+ ) ?

23、O?< ?/2?=0 解碼器中使用的IMDCT表達式為?/2-12 2?1?(?) 刀?(?)?(?)c0s (?+ ?)(?+) ?O?< ???=0 2其中w(n)為窗函數(shù),AAC提供了兩種窗函數(shù):正弦窗和凱塞一貝賽爾窗(KBD? / 2+1窗)。no =,是一個固定時間偏移量。正弦窗使濾波器組能較好地分離出相鄰的頻譜分量,適合于具有密集諧波分量(頻譜間隔 v140Hz)的信號。對于頻譜成分間隔較寬(220HZ時采用KBD窗。AAC系統(tǒng)允許正弦窗和 KBD窗之間的連續(xù)無縫切換3.3 瞬時噪聲整形(TNS瞬態(tài)噪聲整形(TNS Temporal Noise Shaping模塊是可選

24、模塊,它用來對量化 噪聲進行整形,消除預(yù)回聲現(xiàn)象。在音頻編碼過程中,當音頻信號的頻譜變化很 快時,就會造成量化誤差在整個塊之中擴散,出現(xiàn)預(yù)回聲現(xiàn)象。而時域噪聲整形 就是一種抑制預(yù)回聲現(xiàn)象特別有效的技術(shù), 它是控制量化噪聲的時域波形的一種方法。在音頻信號處理中,人們經(jīng)常用時域預(yù)測的方法來改變噪聲的頻域分布, 使噪聲能量集中在人耳不敏感的部分。TNS采用時域一一頻域的對偶性的結(jié)論, 對于時域較平穩(wěn)的信號,頻域上就變化較劇烈,反之時域上變化劇烈的信號,頻 譜上就較平穩(wěn)。瞬態(tài)噪聲整形技術(shù)的具體方法是,在每個變換窗內(nèi)將一個基于濾波器組的量 化器的量化噪聲置于實際信號以下, 平滑使用該工具的信號的瞬態(tài)包絡(luò)

25、, 控制量 化噪聲的瞬態(tài)精細結(jié)構(gòu),使瞬態(tài)噪聲合理被掩蔽。模塊中采用了 Levinson-Durbin 算法進行線性預(yù)測計算,在子帶的編碼增益超過標準規(guī)定的閾值時,對這個子帶進行TNS處理,最后,對反射系數(shù)進行量化,截取一部分轉(zhuǎn)化為現(xiàn)行預(yù)測編碼器 的系數(shù),用這個編碼器對頻譜值進行編碼,輸出TNS信息和編碼結(jié)果。3.4 感知噪聲替代模塊(Perceptual Noise Substitution)感知噪聲替代模塊也一個可選模塊,其目的是為了能夠在低碼率情況下進一 步提高一的編碼效率。其原理是當一種噪聲信號類似于另一種噪聲信號且該噪聲 信號對于整個音頻信號的主觀感知影響很小時, 在編碼過程中將不對該

26、噪聲信號 的實際頻譜成分進行處理而只是簡單的作個標記說明這一頻率范圍內(nèi)存在一個 類似某種噪聲的信號并在該頻段內(nèi)的總功率上增加一些附加信息進行說明,然后在解碼過程中根據(jù)附加信息中標記的內(nèi)容把一個隨機生成的噪聲插入相應(yīng)的頻 譜區(qū)域。通過這種方式可以有效地減少對噪聲信號的分析和處理過程,提高編碼效率。3.5 立體聲編碼(Stereo Coding)(1) M/S立體聲M/S聯(lián)合編碼應(yīng)用于按對匹配的音頻聲道,例如左聲道與右聲道、左環(huán)繞聲 道與右環(huán)繞聲道。在聲道對中,前面的聲道稱為“左”,后面的聲道稱為“右”, 左右聲道具有一定的相關(guān)性,M/S聯(lián)合立體聲編碼可以消除這些相關(guān)性。 這個編碼步驟不會帶來附加

27、的噪音,屬于無噪編碼過程。M/S方法使用M, S聲道來代替原來的L, R聲道。對于每一個編碼帶,計算M/S信號:L+ R2不是每個頻帶都需要使用 M/S聯(lián)合立體聲編碼,只有左、右聲道相關(guān)性較 強的子帶才使用M/S,分別計算L/R以及M/S量化編碼后所需的比特數(shù),選取所 需比特數(shù)小的方式。(2)強度立體聲使用強度立體聲(IS)編碼是為了充分消除匹配聲道高頻區(qū)域之間的相關(guān)性。 它利用了人耳聽覺系統(tǒng)雙耳的定位對左右聲道在 4kHz以上頻率的強度差比較敏 感,而對相位差不敏感的特點 ,對某個頻帶以上的各子帶使用左聲道表示兩個聲 道的聯(lián)合強度,右聲道譜線置為 0,不再參與量化和編碼。具體過程是,在每一

28、個比例因子子帶內(nèi),求出該子帶的強度位置信息,再計算出頻譜系數(shù)強度信號。 最后將左聲道的頻譜系數(shù)用強度信號取代,右聲道的相應(yīng)信號則全部置為 0,這 樣得到的信號送入后面的量化和編碼模塊。3.6 量化和編碼本模塊的量化不同于模擬信號的量化, 其輸入信號是時頻變換的輸出, 已經(jīng) 是數(shù)字量。 之前模塊處理只是為量化做預(yù)處理, 真正的壓縮是在量化模塊中進行 的,再對這些信息進行量化是為了壓縮信息量, 以便用更小的幅度來表示原來較 大的取值范圍, 之后再用較小范圍內(nèi)的值進行編碼, 從而減少所用比特數(shù), 達到 規(guī)定輸出碼率的要求。頻域信號經(jīng)過處理后, 量化模塊按心理聲學模塊輸出的掩蔽閾值把限定的比 特數(shù)分配

29、給輸入頻譜, 要盡量使量化所產(chǎn)生的量化噪聲低于掩蔽域值, 達到不可 聞的目的。 量化時需計算實際編碼所用的比特數(shù), 量化和編碼是結(jié)合在一起進行 的。 AAC 在量化前先將 1024 條譜線分成數(shù) 10 個比例因子頻帶, 然后對每個子 頻帶采用 4/3 次方非線性量化、起到幅度壓擴作用,提高小信號時的信噪比和 壓縮信號的動態(tài)范圍,有利于哈夫曼編碼。AAC中采用迭代循環(huán)確定每個比例因 子波段內(nèi)的精度策略和比例因子。 再利用比例因子工具和非均勻量化器先后對頻 域信號進行噪聲整形和量化。 最后,利用無噪編碼工具對量化后的信號進行無噪 聲編碼,最后形成 AAC 碼流。迭代循環(huán)模塊采用了三層結(jié)構(gòu):最上層稱

30、為循環(huán) 控制模塊,它調(diào)用外層循環(huán)模塊,外層循環(huán)模塊又調(diào)用內(nèi)層循環(huán)模塊。內(nèi)部迭代循環(huán)量化計算每個量化因子帶的量化噪聲保存每個量化因子帶的量化因子計算比特數(shù)改變步長步長=0?N調(diào)整全局比例因子YNY重建量化因子在允許范圍內(nèi)放大 每個量化因子量化因子均被放大?均在最小限以下?有超出失真范圍?返回j圖5量化流程圖圖6外部迭代循環(huán)流程圖圖7內(nèi)部迭代循環(huán)流程圖(1) 量化量化開始之前需要設(shè)置很多的變量,其中有一個是全局比例因子CommonScalefactor又稱Global Gain,因為所有子帶的比例因子通常都大于100,因此每個比例因子至少需要用8比特來保存,造成浪費,所以 AAC設(shè)置了這個全局比

31、例因子。每個子帶的比例因子加上這個全局比例因子才是該子帶的真實量化因子, 這樣就可以減少比例因子耗用的比特數(shù)。 在每次量化開始之前都需要設(shè)置這個全 局比例因子,這個因子是量化循環(huán)中的重要變量,如果選取的值不合適,容易造成循環(huán)次數(shù)的增加。AAC采用了一種很保守的方法,因為AAC規(guī)定量化值必須小于8191。所以如果全頻帶最大的 MDCT系數(shù)被量化為8191,則所有的譜線 值都符合要求。因此,全局比例因子的初始值如下公式所示,在整個量化過程中 全局比例因子都不能小于這個值。16max _?_0?com mon scalefac = ? log2 (=)38191得到全局比例因子后,再將各子帶比例因子

32、置零。計算出該幀的比特數(shù)后, 進入量化循環(huán)內(nèi)層循環(huán)是比特控制循環(huán),調(diào)整量化步長以使輸出的位數(shù)小于可用的位數(shù)。 外層循環(huán)是失真控制循環(huán),計算每個比例因子段的失真,如果大于允許的失真, 則放大比例因子段并重新調(diào)用內(nèi)循環(huán), 控制在內(nèi)層循環(huán)中量化頻域行而產(chǎn)生的量 化噪聲。( 2) 編碼在AAC音頻編碼器中,輸入到無噪聲編碼模塊的是一組 1024點量化的頻譜 系數(shù)。由于無噪聲編碼是在量化模塊的內(nèi)層循環(huán)中完成的, 因此它屬于內(nèi)層循環(huán) 的一部分。內(nèi)層循環(huán)是在量化后編碼所需的比特數(shù)不超過分配比特數(shù)時進行收斂, 并退出循環(huán)程序。無噪聲編碼過程分為以下五個環(huán)節(jié):頻譜限幅、分區(qū)、分組和 交叉、比例因子、霍夫曼編碼。

33、1 ) 頻譜限幅首先對頻譜進行一種無噪聲的動態(tài)范圍壓縮限制。 最多可以一次以 4個模值 為單位對譜系數(shù)的幅度值進行編碼, 對于大于 1 的譜系數(shù)的幅度值, 將在量化系 數(shù)的數(shù)組中保留一個 +1 或者-1 作為相應(yīng)的符號位。將最低頻率的“限幅”系數(shù) 所處的比例因子帶序列號編入傳送的比特流中。 每個被“限幅”后的譜系數(shù)編碼 包含兩部分:超出1 的模值和偏移量, 其中偏移量是以前面相鄰比例因子頻帶為 基址。因此對于長塊來說, 比例因子頻帶劃分及其各子帶的頻譜排序不必考慮窗 函數(shù)序列類型。一種常見的頻譜限幅方法就是將高頻段中幅度絕對值大于 1 的譜 系數(shù)進行限幅工作。 由于傳輸限幅系數(shù)的輔助信息需要額

34、外的比特消耗, 因此只 有在整體效果能夠達到良好的情況下才使用無噪聲壓縮。2) 分區(qū)在無噪編碼中,把一組 1024點的量化譜系數(shù)值分成若干區(qū),這樣每個區(qū)便 能使用一個單獨的霍夫曼編碼。 出于對編碼效率的考慮, 所分區(qū)的邊界必須位于 比例因子頻帶的邊界處, 從而各分區(qū)可以按比例因子頻帶為基本單位傳送該區(qū)的 長度以及該區(qū)所使用的霍夫曼碼本序列號。分區(qū)過程是動態(tài)的, 典型的情況是隨著塊的不同而變化, 這樣可以使整組量 化譜系數(shù)編碼所需要的比特數(shù)達到最少。在 AAC音頻編碼標準中,分區(qū)的實現(xiàn) 使用貪婪合并算法, 從最靠前的碼本序號段開始, 按照參與合并的區(qū)盡可能多的 原則執(zhí)行, 但要保證每個分區(qū)所使用

35、的碼本序列號盡可能的小。 如果分區(qū)的合并 能夠減少總比特的消耗, 則進行分區(qū)的合并。 如果被合并的各分區(qū)所使用霍夫曼 碼本不同,則合并后的分區(qū)采用序列號較高的霍夫曼碼本。在對量化譜系數(shù)編碼的過程中, 可能會出現(xiàn)分區(qū)中某個譜系數(shù)全部為零。 例 如,如果輸入的音頻信號頻率最高為 20kHz,或者是更低,則在高頻段上的譜系 數(shù)全部為零。 這種分區(qū)將使用霍夫曼零號碼本進行編碼。 霍夫曼零號碼本是一種 溢出機制, 它表明分區(qū)內(nèi)所有的譜系數(shù)全為零, 并且不需要為該區(qū)傳送霍夫曼碼 字。3) 分組和交叉如果分析濾波器組的窗序列是由 8 個短窗序列組成,那么輸入的一組 1024 個系數(shù)實際上就是一個8X 128

36、的譜系數(shù)矩陣,代表了音頻信號在 8個短窗期間 的時頻映射。雖然分區(qū)的靈活性很大, 可以有效地表示 8個全零區(qū), 但是分組和 交叉能夠提供更高的編碼效率。 正如先前所述, 把與相鄰短窗中的譜系數(shù)進行分 組操作,那么所有比例因子頻帶中的譜系數(shù)就可以在同一個組內(nèi)共享比例因子, 而且同一個組內(nèi)的譜系數(shù)可以通過互換比例因子頻帶和窗口順序來進行交叉編 組。需要詳細說明的是,假設(shè)交叉前一組 1024個譜系數(shù)c為:cgwbk。其 中, g 為組索引, w 為組內(nèi)窗口序列號索引, b 為相應(yīng)窗內(nèi)比例因子頻帶索引, k 相應(yīng)比例因子頻帶的譜系數(shù)索引。而且最右邊的索引變化最快。交叉以后,譜 系數(shù)為: cgbwk 。

37、這樣可以使高頻段的比例因子頻帶排列在一起, 即可以把 出現(xiàn)全為零的分區(qū)合并在一起。4) 比例因子 在頻譜量化過程中,每一個數(shù)據(jù)幀內(nèi)各比例因子頻帶都有自己的比例因子,其值大小不同, 另外,在量化過程中還增添了一個全局增益, 它是用來對所有的 比例因子進行歸一化處理。 為了進一步提高壓縮比, 在編碼過程中忽略掉所有比 例因子為零的比例因子頻帶, 并且不對這些頻帶進行傳輸。 全局增益和比例因子 將以 1.5分貝的步長進行量化。然后將全局增益編碼成一個 8位無符號整數(shù),而 比例因子與相鄰比例因子進行前差分編碼,最后對差分碼進行霍夫曼編碼。5) 霍夫曼編碼霍夫曼編碼中的碼字表示 n重組量化譜系數(shù),其碼字

38、是從11個霍夫曼碼本 中選取的。一個碼字索引對應(yīng)于 2 個或 4 個頻譜系數(shù),且各組內(nèi)的頻譜系數(shù)是 按照從低到高的順序排列。表 2 列出了每個霍夫曼碼本所能表示的最大絕對值, 以及每個碼本中單個碼 字索引所對應(yīng)的譜系數(shù)個數(shù)。表2霍夫曼碼本碼本索引碼字索引對應(yīng)的譜系數(shù)個數(shù)最大絕對值帶符號值00141是241是342否442否524是624是727否827否9212否10212否11216 (溢出)否每個最大絕對值有兩個碼本,這兩個碼本分別表示了截然不同的概率分布函 數(shù)。為了獲得最高編碼增益,在編碼過程中應(yīng)選擇最合適的一個碼本進行編碼。 為了節(jié)省碼本所占用的存儲空間(這是為了降低批量生產(chǎn)解碼器的成

39、本而考慮 的),大部分碼本用無符號值來表示。利用這些碼本對量化譜系數(shù)的絕對值進行 霍夫曼編碼,如果譜系數(shù)值是非零的,則在編碼的碼字后面添加上符號位。兩個碼本-碼本0和碼本11的使用需要引起特別的注意。正如前面所述, 0 號碼本表示某分區(qū)內(nèi)所有的譜系數(shù)均為零。11號碼本表示某分區(qū)內(nèi)譜系數(shù)的最 大絕對值大于或等于16。如果在某碼字索引對應(yīng)的譜系數(shù)中存在最大絕對值大 于或等于16的情況,那么就采用一種特殊的溢出編碼機制來表示這些值。(3)比特池緩沖技術(shù)AAC可以實現(xiàn)一定程度的變碼率調(diào)整,這一技術(shù)稱為比特池。每個音頻幀編 碼所需的比特數(shù)是不一樣的,當一幀所需的比特數(shù)少于平均比特數(shù)時,可把余下 來的比特

40、存入比特池中。以后,當某些幀所需的比特數(shù)多于平均數(shù)時,AAC從比特池中取出存下的比特分配給該幀, 使該幀得到額外的比特。從總體上來說,每 幀平均比特數(shù)是由采樣率和碼率而定的,而對具體的每一幀其比特數(shù)可以變化很 大。使用比特池技術(shù)有一些限制,一是前面的幀不能向后面的幀借比特, 即一定 要在時間上是因果的 ;第二,比特池的大小受到解碼緩沖存儲器大小的限制, AAC 規(guī)定碼流緩沖區(qū)的最小值,每個獨立聲道碼流緩沖區(qū)的最小尺寸是 6144 比特。 相應(yīng)編碼器中比特池的最大值是 6144 比特減每聲道平均比特數(shù)。多聲道之間可 共用一個比特池,但編碼器必須保證每一個聲道的幀長不超過解碼器中每聲道碼 流緩沖區(qū)

41、的最大值。4. AAC 編碼文件最后要把各種必須傳輸?shù)男畔?AAC標準給出的幀格式組成 AAC碼流,使 得解碼器能夠正確解碼。首先是頭信息,AAC提供兩種頭信息格式,分別是音頻數(shù)據(jù)交換格式(ADIF, Audio Data In tercha nge Format)和音頻數(shù)據(jù)傳輸格式(ADTS Audio Data Tran sport Stream)。前者在一個編碼文件里只有一個頭信息, 為此節(jié)省比特數(shù),但是一旦數(shù) 據(jù)出錯, 就無法保證繼續(xù)正常解碼, 這種格式主要面向數(shù)據(jù)交換。 而后者在每幀 都有數(shù)據(jù)頭, 這樣即使一幀數(shù)據(jù)出錯也不影響以后的解碼, 主要是考慮到流媒體 播放的需求。 目前基本

42、上都使用 ADTS 格式。除此以外, 還有變換塊類型, 窗類 型,全局比例因子,分區(qū)信息碼本,信息比例因子編碼,量化頻譜編碼和各模塊 的標志位及邊信息等。ADTS中,一幀數(shù)據(jù)固定對應(yīng)時域上1024和采樣點。ADIF和 ADTS頭中含有 以下信息。Adif_header()adif_id32bitcopyright_id_present1bitif(copyright_id_present)copyright_id72bitoriginal_copy1bithome1bitbitstream_type1bitbitrate23bitnum_program_config_elements4bitf

43、or(i=0;i< num_program_config_elements+1;i+)if(bitstream_type ='0')adif_buffer_fullness20bitprogram_config_element()Adts_fixed_header() 一 一syn cwordID layer protecti on _abse nt Profile_ObiectType sampli ng_freqe ncy_in dex private_bit cha nn el_c on figurati on origi nal/copy home emphasisAdts_variable_header ()12 bit1 bit2 bit1 bit2 bit4 bit1 bit3 bit1 bit1 bit2 bitcopyright_ide ntificati on _bit copyright_ide ntificati on _start a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論