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