|
|
| <!--插入廣告JS代碼--> |
摘 要 對使用定點數(shù)字信號處理器實現(xiàn)MPEG聲音編碼由于有限字長效應(yīng)引入的各種噪聲的強度進行了分析.根據(jù)分析結(jié)果對算法的實現(xiàn)進行了改進,原型濾波器旁瓣衰減提高了約20 dB,同時減小了運算過程的噪聲.論證了使用16bit定點數(shù)字信號處理器完成MPEG聲音編碼的可能性,為實際開發(fā)提供了理論根據(jù).
關(guān)鍵詞 語聲信號處理;聲音編碼;誤差分析;有限字長效應(yīng)
隨著多媒體時代的到來和數(shù)字信號處理器(DSP)[1]技術(shù)的發(fā)展,用DSP實現(xiàn)當(dāng)前應(yīng)用極廣的MPEG[2]聲音編碼是一大趨勢.定點DSP芯片與浮點DSP芯片相比,具有速度和價格上的優(yōu)勢,很適于作聲音信號處理,而市場上成熟的聲音處理系統(tǒng)多選擇定點DSP,所以,選用定點DSP芯片實現(xiàn)MPEG聲音編碼是很有意義的.另一方面,定點計算的有限字長也帶來了有限精度、動態(tài)范圍有限等問題[3],這就使人們對選用當(dāng)前使用最為廣泛的16bit定點DSP能否保證壓縮質(zhì)量提出質(zhì)疑.本文就這些問題對實現(xiàn)MPEG聲音編碼的影響進行分析.
1 誤差模型的建立
數(shù)字系統(tǒng)因有限字長而引起誤差的因素有:A/D變換器把模擬輸入信號轉(zhuǎn)換成一組離散電平時產(chǎn)生的量化效應(yīng);系統(tǒng)用有限位二進制數(shù)表示時產(chǎn)生的量化效應(yīng);數(shù)字運算過程中,為限制位數(shù)進行的尾數(shù)處理和防止溢出而壓縮信號電平的有限字長效應(yīng).其中A/D變換引入的噪聲只由A/D變換器的位數(shù)決定,與采用何種處理系統(tǒng)和處理方式無關(guān),本文不予考慮,只考慮其余兩項由于選用定點DSP引入的噪聲.因為誤差特性與系統(tǒng)的結(jié)構(gòu)形式、數(shù)字表示法、運算方式有關(guān),所以在進行誤差分析以前,首先做以下假設(shè):(1)系統(tǒng)采用標準推薦的參考壓縮編碼算法結(jié)構(gòu);(2)數(shù)字使用DSP普遍采用的二進制補碼表示;(3)運算方式適合 DSP的乘累加結(jié)構(gòu).
結(jié)合以上3條假設(shè),下面逐一分析標準編碼算法中可能產(chǎn)生誤差的模塊,找出主要矛盾.MPEG第1,2層聲音編碼主要由分析子帶濾波器組、心理聲學(xué)模型和比特分配、量化成幀三大模塊構(gòu)成心理聲學(xué)模型不是標準的強制部分,定點計算誤差的影響將因具體的實現(xiàn)方法而異,且由于掩蔽門限相對于噪聲一般都留有余量,誤差未必帶來主觀質(zhì)量的降低,所以在本文中不予討論.比特分配是一循環(huán)過程,它涉及找出信掩比最大的子帶,由于每次量化級增加時信噪比至少增加 4dB,16bit定點數(shù)無論在精度或動態(tài)范圍都是足夠的.量化過程本身就是一截尾或舍入處理,而且最大量化等級65 535剛好能用16bit表示,所以其影響可以忽略.因而在用定點DSP實現(xiàn)MPEG聲音編碼時,有限字長帶來的有限精度和有限動態(tài)范圍影響最大的是分析子帶濾波部分.
<!--StartFragment -->
2 系數(shù)表示誤差
MPEG聲音編碼算法的第1,2層從本質(zhì)上講是一種子帶編碼算法,它采用了Rothweiler的余弦調(diào)制準重構(gòu)正交鏡像濾波器組[4],把音頻信號劃分為寬度相等的32個臨界抽樣的子帶,標準描述的是它的多相結(jié)構(gòu)實現(xiàn),其流程分為移位、加窗、部分計算、矩陣運算幾部分.由MPEG聲音編碼標準,濾波器方程可寫為
(1)
式中,Ck+64j為窗系數(shù);Mi,k為分析矩陣系數(shù).為了與常見的濾波器方程比較,式(1)可寫成卷積形式,令n=k+64j,則

記hn為多相濾波器的原型低通濾波器的沖激響應(yīng),它與窗系數(shù)的關(guān)系為
hn=C511-n(-1)[(511-n)/64] (3)
<!--StartFragment -->
因此,窗系數(shù)決定了原型濾波器頻率響應(yīng)的形狀.標準給出的窗系數(shù)精確到小數(shù)點后9位,它所決定的原型濾波器的頻率響應(yīng)如圖1所示,圖中每點數(shù)字角頻率相差π/256,濾波器的3dB歸一化帶寬為π/64,旁瓣衰減大于100dB. |

<!--StartFragment --> 圖1 基帶濾波器的頻域響應(yīng)
<!--StartFragment --> 由式(2)易見,分析濾波器組的各子帶濾波器是由不同頻率的余弦函數(shù)調(diào)制原型濾波器得到的,有限精度系數(shù)條件下濾波器組的頻率特性很容易由量化后的hn和Mi,k的頻率響應(yīng)進行卷積得到,因此,可以分別考慮系數(shù)量化對hn和Mi,k的影響.如果采用舍入處理,用16bit定點數(shù)表示hn,由于系數(shù)量化誤差,原型濾波器的旁瓣衰減將小于70dB,見圖2;而標準在用分析/綜合的方法設(shè)計濾波器組時對旁瓣的影響是忽略的,旁瓣越大,由旁瓣引入的混疊就越大,可等效于引入一定的噪聲.對第i個子帶,Mi,k的作用是把原型濾波器的中心頻率調(diào)制到(2i+1)π/64上.由于有限字長,需要對Mi,k進行舍入處理,因而會發(fā)生頻譜泄漏,即在調(diào)制頻率以外的頻率上仍有能量.經(jīng)過計算,任意頻率處泄漏頻譜的能量密度都比調(diào)制頻率處的能量密度低106 dB以上,相對Ci的量化誤差而言,其影響可以忽略.因而如何對標準給出的分析濾波器算法進行改進,提高Ci的表示精度成為減小系數(shù)表示誤差的關(guān)鍵.注意到標準給出的Ci值都比1小,Ci,max≤0.035 8,不能充分利用DSP所有的比特位,所以先把窗系數(shù)的值擴大A倍,使ACi,max盡量接近1,而在部分計算后把結(jié)果縮小A倍,其計算是等效的.同時考慮到利用DSP的移位操作,A最好為2的冪,易知A應(yīng)取16.改進后原型濾波器的頻率響應(yīng)改善了很多,旁瓣的衰減可以達到約90 dB,見圖3.
<!--StartFragment -->
 |
圖2 有限字長影響下的基帶濾波器頻率響應(yīng) 圖3 改進后的基帶濾波器頻率響應(yīng) |
<!--StartFragment -->
3 運算過程中的誤差 濾波器運算過程中由于乘法結(jié)果的尾數(shù)處理(舍入或截尾)會產(chǎn)生誤差.嚴格地說,舍入和截尾都是非線性過程,其影響相當(dāng)于在濾波器結(jié)構(gòu)中的相應(yīng)支路上引入非線性元件,分析起來相當(dāng)復(fù)雜,因此,用統(tǒng)計模型把尾數(shù)處理產(chǎn)生的誤差假設(shè)成為時域離散的平穩(wěn)白加性噪聲來進行分析.考慮到幾乎所有的DSP都有硬件實現(xiàn)的乘累加器,濾波器組計算流程中的加窗與部分計算可以合并,這樣不但適于DSP處理,而且由于DSP的累加器一般都具有比其2倍操作字長更長的位數(shù),可以減小尾數(shù)處理產(chǎn)生的噪聲.加窗與部分計算合并后其數(shù)學(xué)等效為 ,即作8次乘法才進行一次尾數(shù)處理,噪聲可比直接按標準流程實現(xiàn)減小8倍.每個Yi的輸出都疊加了一方差σ2=2-2b/12的白噪聲ei,b為DSP的字長.以子帶i為例,統(tǒng)計模型如圖4. 
|
圖4 有限精度下子帶濾波的統(tǒng)計模型 各ek可認為是互不相關(guān)的,它們通過矩陣運算網(wǎng)絡(luò)而影響輸出,考慮噪聲后的矩陣運算表達式為 (4)
定義gk為由噪聲源ek到系統(tǒng)輸出的單位沖激響應(yīng),顯然gk=Mi,kδ(n).總的輸出噪聲方差為 (5)
通過式(5)容易求得輸出噪聲的方差σ2t=32σ2,加上矩陣運算結(jié)束后為存儲Si而進行尾數(shù)處理產(chǎn)生的噪聲,其方差也為σ2,故濾波器運算過程中由于尾數(shù)處理總的噪聲能量為33σ2.各子帶的噪聲限制在自己的頻帶內(nèi),不會影響其它子帶,且各子帶的噪聲能量都相同,與輸入信號無關(guān). 定點運算中還要防止相加時溢出的發(fā)生.標準給出的濾波器算法中加法有兩處,一處是部分計算 ,另一處是矩陣運算 .因為Zi=CiXi,Xi是絕對值小于1的補碼小數(shù),而Ci,max <0.04,所以部分運算不會產(chǎn)生溢出.直接分析矩陣運算是否溢出比較麻煩,但我們可以借助標準給出的信息.從標準給出的比例因子容易看出,濾波器輸出值的絕對值小于2,但可能大于1,所以矩陣運算會產(chǎn)生溢出.為防止溢出發(fā)生,有兩種方法:把輸入數(shù)據(jù)壓縮一半和在運算后進行條件歸一化處理.顯然后者比前者更優(yōu),因為只有在累加器輸出大于1時才進行歸一.在使用條件歸一處理時需用一標志指示是否進行了歸一,增加了條件判斷,這是為提高質(zhì)量在存儲空間和計算時間上付出的代價.進行輸入數(shù)據(jù)壓縮或歸一化處理等效于處理字長減小1bit即6dB的質(zhì)量衰減可與方差為4σ2的白噪聲等效. 綜合考慮以上所有噪聲,仍然假設(shè)它們是無關(guān)的,則由運算過程中的有限字長效應(yīng)引入各子帶的總噪聲能量小于37σ2.子帶輸出信號的幅度小于2,即小于65 536q(q為量化步長),但其概率分布與輸入聲音信號的分布密切相關(guān).因為子帶濾波后各子帶的頻帶都很窄,一個方便的假設(shè)是輸出信號在±2之間均勻分布,其方差為234σ2,信噪比約為86dB. *國家“九五”重點科技攻關(guān)資助項目 作者簡介:林勝 第一作者25歲,男,博士生 作者單位:林勝 紀涌 全子一(北京郵電大學(xué)電信工程學(xué)院,北京100876) 參考文獻 [1] 劉松強.數(shù)字信號處理系統(tǒng)及其應(yīng)用.北京:清華大學(xué)出版社,1996 [2] ISO/IEC11172-3 Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s——part 3:audio.1993 [3] 李素芝,萬建偉.時域離散信號處理.長沙:國防科技大學(xué)出版社,1994 [4] Rothweiler J H.Polyphase quadratur filters——a new subband coding technique.In: Proc IEEE Int Conf Acoust, Speech, Signal Processing.Boston: 1983.1 280~1 283 |