国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種改進的先進音頻編碼固定碼率控制算法*

2011-03-21 08:06解文華肖進勝易本順黃正旭
關(guān)鍵詞:碼率音質(zhì)復(fù)雜度

解文華肖進勝易本順黃正旭

(武漢大學(xué)電子信息學(xué)院,湖北武漢430079)

先進音頻編碼(AAC)屬于感知音頻編碼的一種,是MPEG-2音頻的非向后兼容部分,也是MPEG-4音頻部分的核心.AAC是一種極為全面的編碼方式,多聲道和高采樣率的特點使得它非常適合DVD-音頻,低碼率下的高音質(zhì)則使它也適合移動通信、網(wǎng)絡(luò)電話、在線廣播等領(lǐng)域.AAC編碼碼率模式的實現(xiàn)大致分為3種:固定碼率模式(CBR)、平均碼率模式(ABR)和可變碼率模式(VBR).CBR可以確保編碼后的音頻文件具有固定的大小,但不保證編碼后的音頻文件具有固定的音質(zhì);VBR正好與CBR相反;ABR在CBR和VBR之間找到了一個平衡點.CBR的編碼器被認(rèn)為是商業(yè)應(yīng)用中的默認(rèn)模式,在某些特定的、具有固定信道容量的應(yīng)用系統(tǒng)(如數(shù)字廣播和綜合業(yè)務(wù)數(shù)字網(wǎng))中,CBR是一種強制模式.

好的固定碼率控制算法在實現(xiàn)碼率平穩(wěn)的同時還能起到提高音質(zhì)、降低編碼計算復(fù)雜度的作用.ISO標(biāo)準(zhǔn)算法建議采用雙層迭代量化循環(huán)和比特緩沖池技術(shù)來實現(xiàn)固定碼率編碼,但該算法不但計算量大,而且容易造成碼率的異常波動和音質(zhì)的較大起伏.目前,國內(nèi)外對AAC編碼器的優(yōu)化研究主要集中在算法優(yōu)化、結(jié)構(gòu)改進、高效的硬件實現(xiàn)等方面,心理聲學(xué)模型、濾波器組和量化編碼模塊因計算量大、復(fù)雜度高成為了優(yōu)化研究的重點[1-7].關(guān)于量化編碼模塊的改進,文獻[1]中提出了一種改進的基于比特估算數(shù)學(xué)模型的量化器迭代算法,有效地減少了量化器的迭代次數(shù).文獻[4]中提出利用前面幀的量化信息對當(dāng)前幀的初始量化步長作線性預(yù)測,同時采用BFOS算法來控制量化的步長,從而將雙層量化循環(huán)結(jié)構(gòu)簡化為單循環(huán)結(jié)構(gòu).上述算法明顯降低了量化模塊的計算復(fù)雜度,但沒有考慮固定碼率的實現(xiàn),在數(shù)字信號處理器(DSP)等硬件平臺上實現(xiàn)時,仍存在計算量較大的問題.

為此,文中提出了一種高效的AAC固定碼率控制算法:在為當(dāng)前幀分配比特時,充分考慮比特緩沖池的使用情況和編碼復(fù)雜度,使比特緩沖池起到真正的緩沖作用,同時根據(jù)編碼所需比特數(shù)和感知熵的關(guān)系,在量化循環(huán)之前進行掩蔽閾值的預(yù)調(diào)整.文中還對ISO標(biāo)準(zhǔn)算法的比特緩沖池操作和量化編碼流程進行了改進,并通過在音質(zhì)評估序列庫(SAQM)測試序列上的實驗驗證了所提算法的有效性.

1 AAC協(xié)議中的CBR模型框架及分析

固定碼率編碼需要兼顧碼率和音質(zhì)的要求,即要在碼率恒定的情況下盡量實現(xiàn)音質(zhì)的最佳化.ISO標(biāo)準(zhǔn)算法采用比特緩沖池技術(shù)和雙層迭代量化循環(huán)來實現(xiàn)固定碼率編碼.在量化循環(huán)之前,AAC編碼器要進行掩蔽閾值和最大可用比特數(shù)等的計算.其中,掩蔽閾值由心理聲學(xué)模型根據(jù)人耳聽覺的掩蔽效應(yīng)計算得出[8-9],當(dāng)量化噪聲小于掩蔽閾值時便不能被人耳感知;為了計算當(dāng)前幀的最大可用比特數(shù),AAC編碼器先利用感知熵計算編碼所需比特數(shù):

式中:ni為第i個臨界頻帶的掩蔽閾值,即允許的最大量化失真;ei和wi分別為第i個臨界頻帶的能量和寬度;N為臨界頻帶的個數(shù);P為感知熵,用于表征編碼復(fù)雜度,決定編碼所需比特數(shù);Bc為編碼所需比特數(shù);AAC編碼器根據(jù)輸入音頻信號的特征將每幀信號再劃分為1個長塊或8個短塊進行處理,在長塊下p=0.3、q=6,在短塊下p=0.6、q=24.

則當(dāng)前幀的最大可用比特數(shù)Bmax為

式中,B為幀目標(biāo)比特數(shù)(文中采用當(dāng)前碼率下的平均比特數(shù)),T和L分別為比特緩沖池的大小和比特緩沖池中的剩余比特數(shù),D=Bc-B.

然后將掩蔽閾值和可用比特數(shù)作為雙層迭代量化循環(huán)的兩個約束條件,雙層迭代循環(huán)由內(nèi)外兩層循環(huán)相互制約來完成比特數(shù)的分配,內(nèi)外層循環(huán)分別控制碼率和量化誤差[8-9].

這種雙層循環(huán)的迭代結(jié)構(gòu)在使用時收斂速度較慢,往往無法滿足實時應(yīng)用的要求,在AAC LC規(guī)格下,量化循環(huán)的計算復(fù)雜度占整個編碼計算復(fù)雜度的64%以上[10].同時,當(dāng)可用比特數(shù)小于編碼所需比特數(shù)時,量化循環(huán)無法保證所有比例因子帶的量化誤差均小于掩蔽閾值.由于音質(zhì)的要求和碼率的限制,內(nèi)層循環(huán)被反復(fù)調(diào)用,通過調(diào)整全局量化步長來降低編碼所需比特數(shù),全局量化步長的調(diào)整所造成的量化誤差對各個比例因子帶的音質(zhì)的損傷不盡相同,而此時量化誤差的相對不均勻分布往往無法在外層循環(huán)中得到平衡,因此也就不能在有限的可用比特下得到最佳的音質(zhì)[11].

另外,在固定碼率編碼模式的實現(xiàn)過程中,ISO標(biāo)準(zhǔn)算法采用了比特緩沖池技術(shù),但對比特緩沖池的操作并未達到理想效果,特別是在壓縮比較高的情況下,由于標(biāo)準(zhǔn)算法總是最大程度地使用比特緩沖池,以致比特緩沖池幾乎失去了緩沖作用,這不但會造成音質(zhì)的較大波動,而且會引起碼率的異常起伏.因此,有必要對ISO標(biāo)準(zhǔn)算法中的固定碼率控制算法進行改進.

2 改進的固定碼率控制算法

在固定碼率編碼模式下,特別是在高壓縮比下(針對AAC LC編碼器而言,尤指當(dāng)壓縮比大于20時),可用比特數(shù)往往小于編碼所需比特數(shù),ISO標(biāo)準(zhǔn)協(xié)議所建議的雙層量化循環(huán)更容易暴露出收斂速度慢等問題.如果根據(jù)比特緩沖池的使用情況和感知熵來重新確定當(dāng)前幀的目標(biāo)比特數(shù),同時根據(jù)編碼所需比特數(shù)和感知熵的關(guān)系在量化循環(huán)之前對掩蔽閾值進行調(diào)整,可以減少量化循環(huán)的迭代次數(shù),降低編碼計算復(fù)雜度,在不降低音質(zhì)的情況下獲得更穩(wěn)定的碼率.為了保證碼率平穩(wěn),同時避免音質(zhì)出現(xiàn)較大波動,在重新確定當(dāng)前幀的目標(biāo)比特數(shù)時要考慮編碼復(fù)雜度,同時要使比特緩沖池能真正起到緩沖作用,因此可根據(jù)B、L和P來重新確定當(dāng)前幀的目標(biāo)比特數(shù)B*:

式中,Pmax和Pmin分別為編碼過程中的最大感知熵和最小感知熵的統(tǒng)計值,α、β和γ為經(jīng)驗值.為了實現(xiàn)碼率的平穩(wěn)性,若當(dāng)前幀的編碼復(fù)雜度比較小,比特緩沖池中的剩余比特也不足,則瞬時碼率不應(yīng)過小;若當(dāng)前幀的編碼復(fù)雜度比較大,比特緩沖池中的剩余比特很充裕,則瞬時碼率不應(yīng)過大.因此應(yīng)對α、β和γ的取值做一定的限制.

得到B*后應(yīng)使編碼實際所用比特數(shù)與B*相接近以實現(xiàn)碼率控制.編碼所需比特數(shù)與當(dāng)前幀的編碼復(fù)雜度P有關(guān),對應(yīng)關(guān)系如式(1)所示;反之,根據(jù)B*可以得到一個目標(biāo)感知熵P*,當(dāng)通過調(diào)整掩蔽閾值使該幀的編碼復(fù)雜度與P*相當(dāng)時,可使編碼實際所用的比特數(shù)接近B*.于是,由式(2)可得關(guān)于P*的一元二次方程:

解方程得到

為了使估算更為精確,要對由式(6)計算出來的P*進行進一步修正:當(dāng)編碼實際所用比特數(shù)大于B*且其差值超過一個門限時,要減小P*;當(dāng)編碼實際所用比特數(shù)小于B*且其差值超過一個門限時,要增大P*.

當(dāng)P大于P*時,說明B*已無法保證透明編碼,標(biāo)準(zhǔn)算法的雙層迭代量化循環(huán)在迭代結(jié)束時,往往出現(xiàn)某些比例因子帶的量化誤差大于其掩蔽閾值的情況.為此,文中算法按一定規(guī)則預(yù)先提高掩蔽閾值以降低編碼復(fù)雜度,使最終的編碼所需比特數(shù)接近于B*,并保證音質(zhì)不下降.掩蔽閾值的提高是在響度域中進行的,首先將掩蔽閾值轉(zhuǎn)化到響度域,然后對每個頻帶的掩蔽閾值加上一個代表響度的常量r以提高全頻域的掩蔽閾值,最后將其轉(zhuǎn)換回能量域:

式中,nr,i為調(diào)整后的掩蔽閾值.

中,根據(jù)中值定理存在t(t代表平均總掩蔽門限ni的估算值),有

若P>P*,則說明當(dāng)前幀編碼復(fù)雜度較高,需要提高掩蔽閾值以降低編碼復(fù)雜度,使熵接近P*,根據(jù)式(7)有

利用式(9)得到r的一個解r1:

將r1代入式(7)和(2)即可得到調(diào)整后的掩蔽閾值和調(diào)整后的感知熵P1.

通常情況下P1>P*,為了進一步降低編碼復(fù)雜度和避免量化后產(chǎn)生頻譜空洞,需進行第二次迭代計算,而此次迭代的目的是提高特定臨界頻帶的掩蔽閾值,其中特定頻帶是指滿足的頻帶,是根據(jù)頻域掩蔽效應(yīng)由e與擴散函數(shù)求卷積后i得到的結(jié)果,這些頻帶組成集合s.由s中的頻帶求as、bs、P1,s和P*s,則r2為

由r2可以得到一個新的掩蔽閾值和感知熵P2.假如P2和P*相差超過5%,則根據(jù)式(11)重復(fù)進行一次掩蔽閾值的調(diào)整.掩蔽閾值調(diào)整完成后,就可以采用新的掩蔽閾值來作為量化循環(huán)的約束條件,通過內(nèi)外兩層循環(huán)的相互制約來完成碼率控制和量化誤差的控制.在進行量化循環(huán)之前,由于根據(jù)當(dāng)前幀預(yù)分配的比特數(shù)對掩蔽閾值進行了合理的調(diào)整,因而可以減少量化循環(huán)的迭代次數(shù),降低編碼計算復(fù)雜度,在低碼率下效果尤為顯著.改進的固定碼率控制算法流程如圖1所示.

圖1 固定碼率控制算法的流程圖Fig.1 Flowchart of constant bitrate control algorithm

3 實驗及結(jié)果分析

為驗證所提算法的有效性,文中使用SAQM中的測試序列(44.1 kHz,16 b采樣,雙聲道立體聲)進行了一系列實驗,其中實驗處理器平臺為TI公司的DSP處理器C64XX系列,在開源AAC編碼器FAAC基礎(chǔ)上進行了定點化及相關(guān)模塊的修改.

將SAQM中的測試序列分別用標(biāo)準(zhǔn)算法和文中算法以64 kb/s的碼率進行編碼,對編碼輸出碼率和編碼過程中比特緩沖池的使用情況進行了對比,3種音頻序列的輸出結(jié)果如圖2所示.

由圖2可知,文中算法的輸出碼率穩(wěn)定在目標(biāo)碼率附近的±1%范圍內(nèi),而比特緩沖池中的剩余比特數(shù)始終維持在一個較高的水平并隨編碼復(fù)雜度的變化而變化;標(biāo)準(zhǔn)算法的輸出碼率在編碼開始和編碼過程中會出現(xiàn)異常波動,由于標(biāo)準(zhǔn)算法未對比特緩沖池的使用進行合理限制,因此其比特緩沖池中的剩余比特數(shù)幾乎始終維持在一個很低的水平,失去了緩沖作用.

對SAQM中的6種測試序列以64 kb/s的碼率進行編碼,文中算法和標(biāo)準(zhǔn)算法的量化循環(huán)平均迭代次數(shù)和編碼平均計算量的對比結(jié)果如表1所示.其中迭代次數(shù)是指每幀的迭代次數(shù),編碼計算量是指編碼過程中平均每秒所需的CPU兆周期數(shù).由表1可以看出,由于文中算法根據(jù)當(dāng)前可用比特數(shù)來對掩蔽閾值進行合理的調(diào)整,因而可以提高量化迭代循環(huán)的收斂速度,進而大大降低了量化循環(huán)的平均迭代次數(shù),使編碼平均計算量也得到了很大程度的降低.

圖2 3種音頻序列的測試結(jié)果Fig.2 Test results of three audio sequences

表1 2種算法的迭代次數(shù)與編碼計算量比較Table 1 Comparison of iteration times and encoding computational complexity between two algorithms

文中采用音頻質(zhì)量感知評價系統(tǒng)(PEAQ)[12]對由標(biāo)準(zhǔn)算法和文中算法在64 kb/s目標(biāo)碼率下得到的編碼后的音頻序列分別進行打分,結(jié)果如表2所示.該系統(tǒng)的輸出結(jié)果表征了編碼后的音頻文件與原始音頻文件的客觀差別大小(ODG),客觀差別得分越接近0表示編碼后的音頻與原始音頻序列越接近.由表2可知,對于6個不同的音頻序列,文中算法的編碼質(zhì)量均高于標(biāo)準(zhǔn)算法.這是由于在目標(biāo)碼率下,可用比特數(shù)往往小于編碼所需比特數(shù),在標(biāo)準(zhǔn)算法中的量化循環(huán)結(jié)束后,各比例因子帶的量化誤差不再滿足心理聲學(xué)模型的要求,且容易造成量化誤差的相對不均勻分布,而文中算法均勻地提高了全頻域的掩蔽閾值,使各比例因子帶的量化噪聲與由心理聲學(xué)模型計算得到的掩蔽閾值曲線保持相同的趨勢,從而在降低計算復(fù)雜度的同時保證了音質(zhì);同時文中算法對比特緩沖池的合理使用,使得文中算法的編碼音質(zhì)最終優(yōu)于標(biāo)準(zhǔn)算法的編碼音質(zhì).

表2 音頻質(zhì)量客觀評價系統(tǒng)的評分結(jié)果比較Teble 2 Comparison of score results obtained by PEAQ

4 結(jié)語

針對ISO標(biāo)準(zhǔn)算法在實現(xiàn)AAC固定碼率時存在的碼率不穩(wěn)定和計算量大的問題,文中提出了一種高效的固定碼率控制算法.該算法能夠有效地利用比特緩沖池,使比特緩沖池中的剩余比特數(shù)維持在一個較高的水平,真正起到了緩沖的作用,因而不會造成碼率和音質(zhì)的異常波動.當(dāng)可用比特數(shù)小于編碼所需比特數(shù)時,標(biāo)準(zhǔn)算法的雙層迭代量化循環(huán)不能保證所有比例因子帶的量化誤差均小于各自的掩蔽閾值,為此文中算法對掩蔽閾值進行了預(yù)調(diào)整,在大大降低編碼計算復(fù)雜度的同時不會造成編碼音質(zhì)的下降.實驗結(jié)果表明:文中所提算法對比特緩沖池的利用較標(biāo)準(zhǔn)算法更為有效,編碼輸出碼率基本維持在目標(biāo)碼率附近的±1%范圍內(nèi),所以更適用于數(shù)字廣播等具有固定信道容量的系統(tǒng);文中算法能夠在不降低音質(zhì)的情況下顯著降低雙層量化循環(huán)的迭代次數(shù),大大降低編碼計算復(fù)雜度,從而降低AAC編碼器對硬件處理器平臺性能的要求.

[1]舒若,吳樂南.基于量化步長線性預(yù)測和BFOS算法的MPEG-4 AAC量化[J].聲學(xué)技術(shù),2009,28(6):759-760.Shu Ruo,Wu Le-nan.MPEG4-AAC quantization based on linear prediction of quantization step size and BFOS algorithm[J].Technical Acoustics,2009,28(6):759-760.

[2]Lei S F,Yao SN.A memory-free modified discrete consine transtorm architecture for MPEG-2/4 AAC[J].IET Circuits,Devices&Systems,2010,4(1):14-23.

[3]Liu CM,Hsu Han-Wen,Lee Wen-Chieh.Compression artifacts in perceptual audio coding[J].IEEE Transactions on Audio,Speech,and Language Processing,2008,16(4):681-695.

[4]張雪,杜偉韜,侯亞輝,等.一種AAC音頻編碼量化器的改進算法[J].電聲技術(shù),2010,34(6):61-62.Zhang Xue,Du Wei-tao,Hou Ya-hui,et al.Improved quantization algorithm of AAC audio encoder[J].Audio Engineering,2010,34(6):61-62.

[5]Wu S,Qiu X J.A bit allocation method based rate-distortion control algorithm for MPEG-4 advanced audio coding[C]∥Proceedings of International Conference on Audio,Language and Image Processing.Shanghai:IEEE,2008:237-241.

[6]王鵬軍,徐淑正,張鵬,等.MPEG-4 AAC中信息隱藏的研究[J].東南大學(xué)學(xué)報:自然科學(xué)版,2007,37(增刊(I)):149-153.Wang Peng-jun,Xu Shu-zheng,Zhang Peng,et al.Practical data-hiding in MPEG-4 AAC audio[J].Journal of Southeast University:Natural Science Edition,2007,37(Suppl(I)):149-153.

[7]周建,劉鵬,梅優(yōu)良,等.基于微處理器核的AAC解碼軟硬件協(xié)同優(yōu)化[J].浙江大學(xué)學(xué)報:工學(xué)版,2007,41(8):1271-1276.Zhou Jian,Liu Peng,Mei You-liang,et al.Hardware/software co-optimization of AAC decoder based on embedded microprocessor core[J].Journal of Zhejiang University:Engineering Science,2007,41(8):1271-1276.

[8]ISO/IEC 13818-7,Information technology—generic coding of moving pictures and associated audio information—Part7:advanced audio coding(AAC)[S].

[9]ISO/IEC 14496-3,Information technology—generic coding of moving pictures and associated audio information—Part3:audio,subpart 4,general audio coding[S].

[10]Antonio P,Enrique A,Begona R,et al.Realtime implementations of MPEG-2 and MPEG-4 natural audio coders[C]∥Proceedings of the 110th AESConvention.Amsterdam:Audio Engineering Society,2001:5302-5303.

[11]Szwabe Andrzej,Jedrzejek Czeslaw.Perceptually transparent audio compression based on a variable bit rate AAC coder[C]∥Proceedings of the 4th EURASIP Conference Focused on Video/Image Processing and Multimedia Communications.Zagreb:IEEE,2003:685-690.

[12]Kabal P.An examination and interpretation of ITU-RBS.1387:perceptual evaluation of audio quality[R].Montreal:Department of Electrical&Computer Engineering,McGill University,2002.

猜你喜歡
碼率音質(zhì)復(fù)雜度
私人影院音質(zhì)優(yōu)選 ATT(安緹)SUB-12+
一種基于HEVC 和AVC 改進的碼率控制算法
讓全家人共享Hi-Fi音質(zhì) DALI(達尼)OBERON C系列
基于FPGA的多碼率卷積編碼器設(shè)計與實現(xiàn)
在小空間享受大型音箱的音質(zhì) Definitive Technology UIW RLS Ⅱ/UIW RSS Ⅱ
一種低復(fù)雜度的慣性/GNSS矢量深組合方法
基于狀態(tài)機的視頻碼率自適應(yīng)算法
其它都好,音質(zhì)有待提高 小米AI音箱
求圖上廣探樹的時間復(fù)雜度
某雷達導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進
寻乌县| 宣威市| 哈密市| 元朗区| 砚山县| 浙江省| 庄河市| 大英县| 丹东市| 海林市| 五莲县| 冷水江市| 台湾省| 如东县| 白城市| 南京市| 天气| 沙田区| 仙桃市| 丹阳市| 德令哈市| 水城县| 自治县| 阿瓦提县| 博兴县| 溆浦县| 米泉市| 政和县| 吴忠市| 泰兴市| 山东省| 汉源县| 读书| 东光县| 长乐市| 安宁市| 延川县| 临潭县| 宁乡县| 栾川县| 盱眙县|