劉紅甫,張聰,梁瑞凡
(武漢工業學院數學與計算機學院,武漢430023)
MPEG-4 AAC 音頻編碼中量化模塊的改進?
劉紅甫,張聰,梁瑞凡
(武漢工業學院數學與計算機學院,武漢430023)
MPEG-4 AAC音頻編碼標準中的量化過程采用了Brandenburg提出的雙循環模式,取得了較好的編碼質量和壓縮比例。但在實際編碼時,該方法由于迭代次數過多,會出現收斂速度較慢,甚至死鎖的情況。在深入分析MPEG-4 AAC量化算法的基礎上,提出了一種快速計算每個比例因子頻帶的改進算法。該算法通過有效減少外循環計算過程,并確保每個比例因子頻帶的量化失真低于允許值,從而減少量化模塊的計算量。實驗結果表明,在不影響音頻編碼質量的前提下,該算法能有效地提高編碼效率。
音頻編碼;量化模塊;比例因子;編碼效率
音頻編碼是數字音頻廣播和互聯網等多媒體應用的關鍵技術之一。作為有損變換域編碼的一種,感知音頻編碼器是目前主流編碼器,其利用人耳的聽覺感知特性,對編碼噪聲進行感知整形,以較高的編碼壓縮比獲得感知質量下較少的編碼效果[1]。其中MPEG-4 AAC[2]作為一種重要的主流感知音頻編碼器,提供了非常高效的音頻壓縮算法,在移動通信、數字廣播、互聯網等領域得到了廣泛應用。
MPEG-4 AAC音頻編碼性能很大程度上取決于量化模塊中有限比特的利用效率和運算復雜度,前者影響音頻感知質量,后者決定編碼的實時性。MPEG-4 AAC的量化模塊采用的是雙循環搜索進行失真率控制,其中外循環控制量化失真,內循環控制比特率。該算法已被證實運算量大,并且比特分配非最優判決,尤其在低碼率時,造成MPEG-4 AAC編碼性能偏低[3]。
MPEG-4 AAC并未把量化模塊的優化方案標準化,近年來產生了很多與此相關的新技術。比如文獻[4]提出了一種基于子帶量化噪聲統計模型的量化技術,文獻[5]提出了一種動態譜線分組減少量化噪聲的技術,這些技術在一定程度上優化了量化模塊的計算復雜度。
在上述研究的基礎上,通過對量化模塊原理的研究,發現在量化模塊迭代循環過程中,外層循環通過不斷地調整比例因子頻帶的比例因子,使最終計算的量化失真低于允許值。在外層循環開始計算之前,每個頻帶的比例因子都初始化為0,這個值與最終的比例因子值相差比較大,這就造成了循環次數過多。因此,找到一個與最終值相差比較接近的值進行初始化,這樣就可以減少循環迭代過程。本文通過對外層循環和量化失真計算公式的研究,提出了一種能減少迭代循環過程的算法。

圖1 外層循環流程圖Fig.1 The flow chart of outer circulation
在MPEG-4 AAC音頻編碼過程中,音頻數據經過MDCT變換實現由時域到頻域的映射,得到音頻的頻譜;同時,音頻數據也經過心理聲學模塊計算得到音頻數據的掩蔽閾值,然后這些數據被傳送至量化模塊進行迭代計算。
在進入雙層迭代循環之前,所有變量均需重置。首先計算全局增益的初始值,這樣全部量化后的MDCT頻譜數據能夠經無噪聲編碼加入到比特流中,計算公式如下所示:

其中,max-mdct-line是當前數據幀中譜系數值最大的一個;ceiling()是正無窮方向舍入最近整數的函數;MAX-QUANT是可以編碼如比特流的最大量化值,定義為8 191。在迭代過程中,全局公共縮放因子common-scalfac不能小于初始值start-commonscalefac。然后,必須將所有比例因子全部置零。
音頻頻譜的量化公式如下所示:

MPEG-4 AAC的量化模塊整體上依然沿用了Brandenburg與1987年在OCF中提出的雙循環結構[6]。內層循環控制編碼時所需的比特數,當比特數超出了分配的限量,就統一地加大所有量化階(即加大統一縮放因子),務求降低比特數,得到所需的最小量化階;而外層循環控制量化誤差,它對經過循環量化后的頻譜進行量化誤差檢測,當某一個子帶的量化誤差能量超過掩蔽門限,就減少相應的量化階(即加大子帶縮放因子)且步長為1,然后再進入內循環。
MPEG-4 AAC音頻編碼的量化模塊外層循環流程圖如圖1所示。
MAGIC-NUMBER定義為0.405 4,SF-OFFSET定義為100,mdct-line是MDCT計算出來的某個頻譜值。

為了在迭代循環里使用,比例因子“sf-decoder”分成兩個變量:除非輸入的頻譜數據全部為零,否則都要經過量化雙循環結構的處理。外層迭代循環為量化噪聲控制循環,負責控制在內層迭代循環中由于對頻譜數據進行量化而引起的量化噪聲,如下式所示:

在進行量化之前,將各譜線與其所屬的比例因子頻帶的比例因子相乘,完成所謂的噪聲染色(噪聲譜的不均勻化),即噪聲能量在不同頻率段上的重新分配。如圖1所示,外層循環要先調用內層循環,內層循環包含三大元素,即經由相應比例因子頻帶的比例因子縮放的譜系數mdct-scaled(i),全局公共縮放因子common-scalefac以及當前可用于編碼的比特數。
首先,計算MDCT譜系數的量化值:

然后,計算在當前條件下實際編碼所需的比特數,如果按照ISO標準規定,取全局公共縮放因子的初始值為start-common-scalefac,則在第一輪循環之后,所需比特數通常要大于可用的比特數。因此,在第一次循環后,我們往往需要對全局公共縮放因子common-scalefac作出相應的調整,即以某一量化階為基礎逐漸增大因子的取值,重新計算所需的比特數,直到滿足條件為止,便跳出內層比特率控制循環。
接下來就要計算各比例因子頻帶的量化噪聲,如下式所示:

如若某一比例因子頻帶的量化噪聲超出該子帶的掩蔽閾值xmin(sb),便對該比例因子加1調整,對應子帶的所有譜系數須根據上式重新計算。
通常情況下,若所有比例因子頻帶的量化噪聲都不超過上限值(即掩蔽閾值),便可跳出外循環。然而并非所有場合下都能達到這一條件,這時有必要引入如下的外循環異常終止條件,即所有的比例因子頻帶都已經被放大過,或相鄰的兩個比例因子頻帶的比例因子之差超過了60。倘若是由于上述兩個原因使得循環被終止,則需恢復先前循環過程中存儲的比例因子,以得到正確的輸出。
從理論上說,標準算法中針對于量化模塊環節所提出的內、外嵌套的循環結構是一種近似最優的算法結構,通過內循環和外循環反復地交替工作,使得編碼器在比特數使用和噪聲控制方面取得最佳平衡。但是,這樣的最佳平衡是以較高的運算復雜度和較多的循環迭代次數為代價的。在實際應用中,我們自然不希望編碼器耗費太多的功耗,浪費太多的運算時間。幸運的是,AAC標準僅僅給出了一個編、解碼的參考算法標準,設計者完全可以根據自己的需要,在不改變其算法基本框架的基礎上做出一定程度的優化和改進工作,而且可以肯定地說,這方面工作的上升空間很大。目前,世界上已有不少機構和學者對其提出了自己的優化、改進算法和結構,并達到了預期的結果。
通過前一節的分析我們不難發現:在外循環過程中,主要是用公式(6)來計算量化后的量化噪聲,并要求所得的值不能超過該子帶的掩蔽閾值xmin(sb),否則要進行循環,直到滿足要求為止。通過研究該計算公式以及它與整個量化模塊的關系,尋求一個能使計算得到的量化噪聲低于該子帶的掩蔽閾值xmin(sb)的方法,減少該計算過程。
AAC標準中對于譜線的非均勻量化公式為

其中,scalefactor即為各比例因子頻帶的比例因子,而common-scalefac則為所有尺度因子帶所共享的公共縮放因子。不難看出,量化步長的大小是由各比例因子頻帶的比例因子和所有比例因子頻帶的公共縮放因子所決定。為了方便化簡,我們需要對公式進行取整操作,即設取整誤差為e,同時令q= 0.405 4+e,于是可將量化公式化簡為


由量化模塊的外層循環流程圖(如圖1)可知,首先進行的是內層循環,內層循環結束后我們可以得到滿足要求所有比例因子頻帶的公共縮放因子common-scalefac值,由公式(16)可知,在commonscalefac一定的前提下,等號成立時scalefactor(sb)的取值是最大的,即該比例因子頻帶的比例因子最大,使得最終各個比例因子頻帶的壓縮比達到最大值。因此,外層循環可以利用公式(16)和(17)直接求出各比例因子頻帶的最佳比例因子。計算公式中的變量xmin(sb)在進入循環過程前都已經得到,x-quant(i)是內層循環計算得到的最終結果,這些使得計算scalefactor的計算更加簡單和準確。

MPEG-4 AAC量化模塊的改進流程圖如圖2所示。

圖2 改進的外層循環流程圖Fig.2 The improved flow chartof outer circulation
在外層循環過程中,通過內層循環傳出的量化頻譜,以及在迭代循環前所求得的允許的最小掩蔽閾值能量來計算每個比例因子頻帶的比例因子。這時候所求得的各頻帶的比例因子其實已經是最佳的數值,從而減少了外層循環的迭代次數,節省了編碼時間。
實驗采用開源FAAC編碼器,該編碼器是MPEG -4 AAC參考代碼的改進版本且已廣泛應用于互聯網的音頻。實驗是在低復雜度框架下,對48 kHz、16 bit采樣的MPEG雙聲道音頻測試序列進行測試。用FAAC編碼器和改進的FAAC編碼器對同一組音頻數據進行編碼處理,計算編碼所需要的時間,實驗結果如表1所示。

表1 音頻測試序列編碼時間Table 1 The encoding time of audio test sequence
由表1的測試結果可以看出,改進后的編碼器相對于原編碼器有較大的提高,節省了編碼時間。
另一個需要考慮的是此方法的改進對音頻的音質是否造成影響。因此,實驗還對原編碼器和改進后的編碼器生成的音頻文件進行解碼,通過Adobe Audition 3.0軟件對兩種編碼器生成的文件波形、頻譜、相位、相位譜等進行對比。以測試序列Es01為例,FAAC編碼器解碼后音頻文件的頻譜圖如圖3所示。

圖3 FAAC解碼的音頻頻譜圖Fig.3 The audio spectrum diagram of decoding FAAC
改進FAAC編碼器解碼后音頻文件的頻譜圖如圖4所示。

圖4 改進FAAC解碼的音頻頻譜圖Fig.4 The improved audio spectrum diagram of decoding FAAC
由圖3和圖4可知,改進FAAC編碼器與原FAAC編碼器對音頻文件編碼效果基本相同,并沒有影響音頻文件的音質,達到了算法改進的目標。因此,該算法的改進是可行的,能有效地提高編碼效率。
通過對MPEG-4 AAC音頻編碼器量化模塊的研究,實現了一種減少量化時間的算法。通過實驗證明了該算法的可行性,該算法是在不影響音頻質量的前提下提出的,與文獻[4]和文獻[5]的思路和方法有很大的不同,該算法對實時音頻編碼具有重要的研究意義,能夠提高編碼效率。該算法的提出只是針對外層循環的計算過程,而內層循環的計算沒做任何改進,因此,如何有效地改進內層循環將是下一步研究的內容。
[1]Painter T.Perceptual coding of digtalaudio[J].Proceedingsof the IEEE,2000,88(4):451-513.
[2]ISO/IEC IS-14496(Part 3,Audio),Information technology -coding of audio-visual objects[S].
[3]Aggarwal A.Near-optimal selection of encoding parameters for audio coding[C]//Proceedings of2001 International Conference on Acoustics,Speech,and Signal Precessing.Salt Lake City,UT,USA:IEEE,2001:3269-3272.
[4]Olivier Derrien.A new quantization optimization algorithm for the MPEG advanced audio coder using a statistical subbandmodelof the quantizationg noise[J].IEEETransactions on Audio,Speech,Langage Processing,2006,14(4):1328-1339.
[5]Ali M T,Saleem M.Improved audio quality at 48 kbits/s for MPEG-4 AAC[C]//Proceedings of 2008 International Conference on Electrical Engineering.Hongkong:IEEE,2008:1-8.
[6]Brandenburg K.OCF-A new coding algorithm for high quality sound signals[C]//Proceedings of1987 IEEE International Conference on Acoustics,Speech,and Signal Processing.Dallas,TX:IEEE,1987:141-144.
LIU Hong-fu was born in Kaifeng,Henan Province,in 1983. He received the M.S.degree in 2009.He is now a graduate student.His research concerns audio decoding technology.
Email:hb-wh-zc@163.com
張聰(1968—),男,上海人,博士,教授、碩士生導師,主要研究方向為音頻編解碼技術與通信;
ZHANG Cong was born in Shanghai,in 1968.He is now a professorwith the Ph.D.degree and also the instructor of graduate students.His research concerns audio decoding technology and communication.
梁瑞凡(1988—),男,湖北漢川人,碩士研究生,主要研究方向為音頻編解碼技術。
LIANG Rui-fan was born in Hanchuan,Hubei Province,in 1988.He is now a graduate student.His research concerns audio decoding technology.
Improvement of Quantization M odule in MPEG-4 AAC Audio Encoding
LIU Hong-fu,ZHANGCong,LIANGRui-fan
(Mathematics and Computer College,Wuhan Polytechnic University,Wuhan 430023,China)
The quantization process of MPEG-4 AAC audio coding standard uses double circulation patterns proposed by Brandenburg and a better coding quality and compression ratio can be obtained.But in the process of actual coding,because of toomany iteration times of themethod,there will be slower convergence speed,and even deadlock situations.Based on the analysis of MPEG-4 AAC quantization algorithm,this paper proposes a fast improved algorithm which can calculate frequency band ofeach scale factor.By reducing the process of the external circulation effectively and ensuring the quantization distortion of each scale factor band below the allowable value,the algorithm reduces the calculation of the quantizationmodule.The experiment results show that the algorithm can improve the coding efficiency effectively without affecting the audio coding quality.
audio encoding;quantizationmodule;scale factor;coding efficiency
The National Natural Science Fundation of China(No.60832002);Key Project of Educational Commission of Hubei Province of China(No.20101704);2009 Graduate Innovation Fund ofWuhan Polytechnic University(09cx026)
TN911
A
10.3969/j.issn.1001-893x.2012.04.022
劉紅甫(1983—),男,河南開封人,2009年獲學士學位,現為碩士研究生,主要研究方向為音頻編解碼技術;
1001-893X(2012)04-0534-05
2011-11-15;
2012-02-27
國家自然基金重點項目(60832002);湖北省教育廳科研重點項目(D20101704);武漢工業學院2009年研究生創新基金項目(09cx026)