基于DSP的音頻實(shí)時(shí)處理系統(tǒng)
2011/03/14
摘 要:聲學(xué)回聲消除器一直是視頻會(huì)議系統(tǒng)不可缺少的組件。將回聲消除算法結(jié)合噪音消除和靜音檢測(cè)算法等,提出一種改進(jìn)的實(shí)時(shí)音頻處理系統(tǒng)方法,并在TMS320C6713B 上實(shí)現(xiàn),能夠有效改善噪音、雙工檢測(cè)、非線性回聲等導(dǎo)致自適應(yīng)濾波器發(fā)散的問題。該系統(tǒng)在保證正常雙工通話的同時(shí),對(duì)非線性回聲的抑制有著明顯的改善效果。
1 引 言
隨著VOIP 的廣泛應(yīng)用以及多媒體通信技術(shù)的發(fā)展和成熟,人們對(duì)互聯(lián)網(wǎng)語音通信的音頻品質(zhì)提出了更高的體驗(yàn)要求。主流的視頻會(huì)議系統(tǒng)由原先的14 kHz升級(jí)到22 kHz 的音頻帶寬,這也標(biāo)志著語音通信已經(jīng)真正轉(zhuǎn)化為高品質(zhì)音頻通信的應(yīng)用階段。當(dāng)然在基于互聯(lián)網(wǎng)的音頻通信中,聲學(xué)回聲和噪聲一直是影響音頻質(zhì)量的最為關(guān)鍵因素之一。
聲學(xué)回聲消除成為提升音頻通信質(zhì)量的一個(gè)非常重要的環(huán)節(jié)。聲學(xué)回聲消除采用了自適應(yīng)濾波來估計(jì)回聲產(chǎn)生的回路特征,并不斷修正自適應(yīng)濾波器的系數(shù),使得估計(jì)值更加逼近真實(shí)回聲,最后從話筒信號(hào)中去除估計(jì)的回聲,以達(dá)到回音消除的目的。
聲學(xué)回聲具有信號(hào)沖激響應(yīng)時(shí)間長(zhǎng),特征分布范圍廣且多路徑反射和時(shí)變的特點(diǎn),自適應(yīng)濾波器在估計(jì)回聲路徑的過程中容易受到這些不確定因素的干擾,當(dāng)然外部環(huán)境的噪音也是一個(gè)重要的因素。
本系統(tǒng)結(jié)合多種已有信號(hào)處理算法,有效提升了聲學(xué)回聲的雙工能力和收斂速度,并有效避免了使濾波器發(fā)散的多種因素,提升了濾波器的處理效率。同時(shí)利用高速浮點(diǎn)DSP 對(duì)回聲消除和噪聲消除進(jìn)行了整體的實(shí)現(xiàn)。
系統(tǒng)采用了頻域的MDF 自適應(yīng)濾波算法,將MMSE No ise Suppresso r 和多個(gè)VAD 添加到回聲消除器中。在加入濾波器系數(shù)更新模塊和非線性檢測(cè)模塊后,使得系統(tǒng)在更惡劣的噪音環(huán)境下以及雙方通話過程中,一樣具備良好的回聲消除和噪音消除能力。整個(gè)核心運(yùn)算部分均在頻率域內(nèi)完成,也大大降低了運(yùn)算量,最后通過調(diào)整DSP 的數(shù)據(jù)結(jié)構(gòu),合理運(yùn)用DSP 的資源和指令加速,實(shí)現(xiàn)了基于DSP 的高效能實(shí)時(shí)音頻處理器的設(shè)計(jì)。
2 音頻處理系統(tǒng)相關(guān)算法
2.1 聲學(xué)回聲消除
聲學(xué)回聲消除的基本原理是通過自適應(yīng)濾波器估計(jì)聲學(xué)回聲路徑的特征參數(shù),產(chǎn)生一個(gè)模擬的聲學(xué)路徑,得出模擬的聲學(xué)回聲信號(hào),并從參考信號(hào)中減去此信號(hào),實(shí)現(xiàn)回聲的消除。
2.2 結(jié)合噪音消除和靜音檢測(cè)的回聲處理系統(tǒng)
2.2.1 MDF 濾波器基本結(jié)構(gòu)和算法原理
MDF( Multidelay Block Frequency Domain Adaptive Filter) 是一種將原有的多階濾波器分為K 個(gè)等分的子塊,在每個(gè)長(zhǎng)度為N 的子塊能進(jìn)行自適應(yīng)濾波的方法。如此能降低多階自適應(yīng)濾波器大量的運(yùn)算量。
F 表示對(duì)2N×2N 的矩陣進(jìn)行FFT 變換,若v 表示信號(hào)幀序號(hào),而diag 表示對(duì)角矩陣運(yùn)算,則:
假設(shè)實(shí)際路徑產(chǎn)生的回聲信號(hào)為y ( v) ,通常也叫近端信號(hào),則:
假設(shè)實(shí)際路徑產(chǎn)生的回聲信號(hào)為y ( v) ,通常也叫近端信號(hào),則:
式中,^hk = [ ^hkN ,^hkN + 1 ,… ,^hkN + N- 1 ] T ,k = 0,1,2,,K - 1,它表示濾波器估計(jì)的第k 個(gè)子濾波器的系數(shù)。
2.2.2 改進(jìn)的回聲消除系統(tǒng)
如圖1 所示,通過加入靜音檢測(cè)算法( VAD) 對(duì)輸入信號(hào)的狀態(tài)進(jìn)行判斷,不僅可以減輕實(shí)際的運(yùn)算量,也可降低噪音對(duì)自適應(yīng)濾波器的干擾,在一定程度上避免了濾波器發(fā)散的情況。同時(shí)加入MMSE Short t imeSpect ral Amplitude Estimator替代了傳統(tǒng)的非線性處理器( NLP) 算法。在頻域內(nèi)對(duì)參與回聲的頻譜能量進(jìn)行估計(jì),計(jì)算增益,最后達(dá)到相對(duì)平滑的殘余回聲和噪音的處理。
圖1 一種結(jié)合噪音消除的回聲消除原理圖
通過對(duì)濾波器狀態(tài)參數(shù)的跟蹤,根據(jù)濾波器當(dāng)前是否正常收斂,殘余回聲估計(jì)模塊的輸出結(jié)果會(huì)自動(dòng)調(diào)節(jié)估計(jì)值的大小,避免在濾波器正常收斂的情況下,抑制殘余回聲導(dǎo)致處理后正常信號(hào)損失過多的問題。
圖1 中采用的靜音檢測(cè)算法( VAD) 采用了同時(shí)檢測(cè)短時(shí)能量與過零率的方法,保證了判斷的可靠性。
在遠(yuǎn)端語音不存在的時(shí)候,沒有必要進(jìn)行回聲消除,只需要進(jìn)行本地的噪音消除,若本地語音不存在則不需要做任何處理。
結(jié)合VAD 系統(tǒng)更有效地減少了對(duì)噪音和回音估計(jì)的誤差范圍,通過對(duì)濾波器系數(shù)更新的學(xué)習(xí)和調(diào)整功能使得在雙方通話過程中音頻信號(hào)具備更好的信噪比。
通過非線性信號(hào)檢測(cè)模塊加強(qiáng)了整體消除回音的能力。
3 基于DSP 的音頻處理系統(tǒng)實(shí)現(xiàn)
3.1 硬件平臺(tái)
DSP 的選型需要考慮運(yùn)算速度、成本、硬件資源以及程序的可移植性等多個(gè)問題。由于算法的浮點(diǎn)特性,本文采用了美國德州儀器( T I) 的TMS320C6713B 浮點(diǎn)DSP 作為核心處理器,通過使用JT EG 標(biāo)準(zhǔn)測(cè)試接口、EDMA 控制器、GIPO 通用輸入輸出端口以及多通道音頻緩沖串口( McASP) 等主要片外設(shè)備來完成系統(tǒng)的設(shè)計(jì)。
TMS320C6713B 可以工作在225 MHz 主頻上,片內(nèi)有8 個(gè)并行處理單元,分為相同的兩組,其體系結(jié)構(gòu)采用甚長(zhǎng)指令字( V LIW) 結(jié)構(gòu),單指令字長(zhǎng)為32 b,8 個(gè)指令組成一個(gè)指令包,總字長(zhǎng)為256 b。L1 支持4 KB的程序緩存以及4 KB 的數(shù)據(jù)緩存,L2 支持64 KB 的緩存。32 b 的外部存儲(chǔ)器接口( EMIF) 。與SDRAM 等無縫連接,可以尋址256 MB。
由于系統(tǒng)運(yùn)行過程中需要實(shí)現(xiàn)的算法較多,僅依靠TMS320C6713B 的192 KB片內(nèi)RAM 來執(zhí)行程序是很困難的。本文使用了EMIF 的接口擴(kuò)展了SDRAM 作為算法和數(shù)據(jù)的存儲(chǔ)區(qū)域。采用TLV320AIC23B 實(shí)現(xiàn)音頻輸入和輸出,AIC23 支持48 kHz 帶寬、96 kHz 采樣率的雙聲道立體聲A/ D,D/ A,音頻輸入包括了*輸入和線路輸入。
系統(tǒng)的硬件平臺(tái)如圖2 所示。
圖2 硬件平臺(tái)結(jié)構(gòu)圖
3.2 基于DSP 的軟件實(shí)現(xiàn)
基于DSP 的實(shí)時(shí)處理的實(shí)現(xiàn),本文將AIC23 采集到的數(shù)據(jù)先存儲(chǔ)到SDRAM 中,在需要處理的時(shí)候利用EDMA 實(shí)現(xiàn)Ping Pong 緩沖,將待處理的數(shù)據(jù)分批搬運(yùn)到片內(nèi)存儲(chǔ)器,結(jié)合高速緩存和片內(nèi)內(nèi)存設(shè)計(jì)合適的數(shù)據(jù)結(jié)構(gòu),并將數(shù)據(jù)對(duì)齊,這樣大大減小了數(shù)據(jù)搬移帶來的開銷。
DSP 處理主流程圖如圖3 所示。
圖3 DSP 處理主流程
基于Ping Po ng 緩沖結(jié)構(gòu)的音頻處理流程如圖4所示。
圖4 基于Ping Po ng 緩沖結(jié)構(gòu)的音頻處理流程
通過對(duì)音頻處理算法中數(shù)據(jù)結(jié)構(gòu)的調(diào)整和優(yōu)化,將Ping Pong 緩沖架構(gòu)的數(shù)據(jù)進(jìn)行合理的安排,使得EDMA的數(shù)據(jù)傳輸和Process AEC 線程更好地并行處理。將當(dāng)前需要處理的*信號(hào)和揚(yáng)聲器信號(hào)的數(shù)據(jù)保存在片內(nèi)地址內(nèi),并將回聲消除中用到的FFT 和揚(yáng)聲器參考數(shù)據(jù)均放在片內(nèi)地址處理。將算法的其他輔助數(shù)據(jù)結(jié)構(gòu)均放在SDRAM。這使得片內(nèi)資源得到最大化利用,并且很大程度地提升了整個(gè)系統(tǒng)的運(yùn)算效率。
參考TI DSP 相關(guān)優(yōu)化資料,T I 的編譯器選項(xiàng)使用-mv6700,-O3,-oiO,-pm 開關(guān),使得編譯的代碼能更多地利用TMS320C6713B 的硬件資源和浮點(diǎn)指令,參考了TI 帶的FFT 加速函數(shù),結(jié)合實(shí)際算法做了局部的改進(jìn),使得所有算法最終在TI TMS320C6713B 上均能實(shí)時(shí)高效的運(yùn)行。
4 結(jié) 論
聲學(xué)回聲消除以及噪音抑制等算法在多媒體通信的音頻處理中起著至關(guān)重要的作用。
本文通過結(jié)合相關(guān)的自適應(yīng)濾波器以及非線程處理和噪音抑制等算法,并在基于TI 的T MS320C6713B上實(shí)現(xiàn)和優(yōu)化,實(shí)現(xiàn)了高效率的聲學(xué)回聲、噪聲消除實(shí)時(shí)處理系統(tǒng)。通過實(shí)際應(yīng)用表明,該系統(tǒng)對(duì)噪音消除可達(dá)40 dB以上,對(duì)回音消除可達(dá)50 dB 以上,并具備良好的雙工處理能力。目前在本系統(tǒng)的基礎(chǔ)上已經(jīng)延伸擴(kuò)展出了多路輸入/ 輸出的專業(yè)數(shù)字音頻處理器,并實(shí)際應(yīng)用在視頻會(huì)議系統(tǒng)中,取得了較好的體驗(yàn)效果。
211C電子網(wǎng)
相關(guān)閱讀: