任思明,夏秀渝
(四川大學電子信息學院,成都 610065)
近年來,隨著移動通信的快速發展,免提通話的應用領域也逐漸擴大。但免提通話場景中聲學回聲的存在嚴重影響了通話質量,降低了用戶的聽覺體驗。如何消除回聲,實現高質量的語音通信已經成為免提通話中待解決的主要問題之一。



圖1 回聲消除的基本原理
但在現實通話環境中,尤其是免提通話環境下,近端話音干擾是不可避免的,因此為了提高回聲消除系統在雙話情況下的效能,必須要檢測通話雙方是否存在雙端通話,根據具體情況調節自適應濾波器系數的迭代更新,避免濾波器的權值發散。當檢測器檢測到不存在雙端通話的時候,自適應濾波器進行正常系數更新和自適應濾波;當檢測器檢測到存在雙端通話的時候,自適應濾波器停止系數更新,凍結濾波器系數,只進行簡單的濾波。
由此可見,雙端通話檢測對回聲消除系統的性能十分重要,為了解決雙端通話問題,研究者們提出了很多雙端通話檢測算法。常見的檢測算法有基于能量的檢測算法、基于信號互相關的檢測算法、基于過零率的檢測算法、基于雙濾波器的算法等。其中基于能量的檢測算法簡單易行,但檢測效率比較低,例如經典的GEIGEL算法;1991年Ye和Wu提出了互相關算法后,2000年Gansler和Benesty在互相關的基礎上進行了改進,提出了歸一化互相關(Normalized Cross-Correlation,NCC)算法,檢測效率較高。其余算法也大多原理類似,這些檢測算法都能在一定程度上檢測到雙端通話的發生。
但性能較好的回聲消除器不只需要雙話檢測模塊,還需要結合其他模塊才能實現較好的回聲消除效果。針對以上問題,本文提出一種適用于雙端通話的回聲消除結構,該結構中采用NCC進行雙端通話檢測,PFBLMS算法進行濾波器權值自適應更新,同時結合后置濾波器技術消除殘余回聲,進一步提高回聲消除器的性能,實驗仿真表明該結構在收斂速度和穩態誤差方面具有明顯優勢,同時能正確判斷雙端通話的發生,在回波抑制比、收斂速度及輸出音頻質量等方面能得到比較好的效果。
實際應用場景尤其是免提視頻會議通信系統中,房間回聲路徑時延可能長達幾百毫秒,在8 kHZ的采樣率下,可能需要上千階的濾波器才能滿足需求,而傳統的回聲消除系統一般采用歸一化LMS(Normalized LMS,NLMS)算法,其計算復雜度會隨著濾波器的階數呈線性增長。為了克服這個問題,可采用PFBLMS算法來進行自適應更新,減少回聲消除系統的計算復雜度,提高算法的收斂速度。
PFBLMS算法先對信號進行分塊劃分,然后在頻域進行濾波器系數的逐塊更新。利用快速傅里葉變換(FFT)作為中間步驟實現快速卷積,同時濾波器系數用逐塊更新代替逐點更新,大大降低了頻域LMS算法的復雜度,也克服了頻域LMS算法處理延遲大的缺點。
該算法首先在時域上對濾波器輸入信號()和濾波器權系數()做分塊處理。設代表迭代次數,代表濾波器階數,算法首先將濾波器分為段,每段的長度為,則有=×,則第段濾波器可以表示為:

()用分塊形式可以表示為:

同樣地,輸入信號()可以用分塊形式表示:





同理可得時域誤差向量為:

其中()表示第次迭代濾波器的期望輸出,長度為,則得到的時域補償向量長度也為。將()擴展得到頻域的誤差向量為:

對于無約束的PFBLMS算法,其頻域系數更新公式可以表示為:




雙端通話檢測是AEC系統中非常重要的一部分,其目的是檢測當前的通話系統所處的話音通信狀態,即當前時刻是否處于雙端通話,讓回聲消除器根據不同的話音狀態對輸入信號進行不同的處理,主要工作原理如下:
(1)利用AEC系統中的遠端語音信號、近端麥克風信號、誤差信號等構造一個檢測統計量;
(2)利用這個統計量和預先設定的門限值T進行對比,一般來說如果<T,則認為檢測到雙端通話的發生;
(3)一旦檢測到存在雙端通話,則自適應濾波器停止系數更新,凍結當前系數,只進行濾波;
(4)當次濾波完成后,再次檢測當前通信狀態,直到≥T時,認為雙端通話結束,自適應濾波器繼續進行濾波和系數更新。
一般來說門限值T必須是一個獨立的常數。NCC是一種常見的基于信號相關性的雙端檢測算法。其利用遠端信號和近端麥克風輸入信號來構造檢測統計量,其主要的原理如下:
當遠端信號()=0時,

其中:

則可以將式(12)表示為:

當()≠0時,

則雙端發聲統計量可以記做:

將式(12)帶入式(16)可以得到檢測變量:

從式(17)可以很容易得到,()=0時,即不存在近端話音時,=1;當()≠0時,即存在近端話音時,<1。
因此基于以上描述,我們能通過檢測變量的值判斷雙話情況是否發生,通過檢測變量的特征,設定恰當的門限值T,將檢測變量與門限值進行比較,通過比較結果判定當前時刻是否發生雙話。
為了實現快速、高效、魯棒性好的回聲消除,本文采用的雙端通話回聲消除新結構(如圖2所示),主要由以下三部分構成:雙端檢測、自適應算法、后置濾波。

圖2 本文提出的回聲消除新結構
在真實的通話環境中,需要實時監測話音的活動狀態。自適應濾波器才能根據不同的話音活動狀態去進行相應的處理。因此,雙端檢測算法對存在雙端通話時回聲消除系統的性能有很大影響。NCC雙端檢測算法簡單易行,雙端通話檢測效能較為理想,本文采用的雙端通話回聲消除新結構采用NCC來進行雙端通話檢測。
傳統回聲消除結構采用NCC雙端通話檢測算法進行檢測后,再采用時域的NLMS算法或者頻域的LMS算法來進行自適應濾波器的更新,時域的NLMS算法實現簡單,但缺點是計算復雜度高,頻域LMS算法計算復雜度低,但延遲高。因此本文采用PFBLMS算法來進行濾波器的自適應迭代,時間復雜度更低,算法延遲更小。
只采用自適應濾波器對回聲抑制的能力有限,所以在回聲抑制系統中添加非線性處理模塊(Nonlinear Processing,NLP)具有重要意義,其目的是抑制線性濾波后誤差信號中的殘留回聲。主要原理是利用近端信號()和誤差信號()之間的頻域相干性C ,結合近端信號()和遠端信號()的頻域相干性C ,利用C 和C 計算出每個頻帶的抑制因子,將抑制因子與對應的頻帶相乘,從而實現對殘留回聲的抑制。
將本文所采用的回聲消除結構用于回聲消除,并采用歸一化失調(Normalized misalignment,MIS)和回波抑制比(Echo return loss enhancement,ERLE)兩個參數作為衡量回聲消除效果的指標,比較不同方法下輸出語音的時域波形圖,直觀比較回聲消除的效果,其中MIS和ERLE兩個指標的定義如下:

歸一化失調值越小,表明自適應濾波器的系數越接近真實房間路徑的沖激響應。回波抑制比的值越大,表明回聲消除系統對回聲的抑制程度越大。
實驗一:高斯白噪聲作為輸入信號。遠端話音輸入均值為0、方差為1的高斯白噪聲,并在近端添加信噪比為20 dB的高斯白噪聲作為背景噪聲。信號采樣率設為8 kHZ。真實房間路徑沖激響應如圖3所示,長度為1024。

圖3 回聲通道的沖激響應
歸一化失調值和回波抑制比如圖4所示。可以看出,歸一化失調值方面,在濾波器迭代的初始階段,本文所采用的PFBLMS算法的收斂速度介于時域NLMS和頻域NLMS之間,但是當到達收斂狀態之后,本文所采用的算法穩態誤差最小;在回波抑制比方面,本文所采用的方法到達穩態后回波抑制比最高。當環境發生突變之后,本文算法的穩態誤差和收斂速度都能達到較好的水平。

圖4 白噪聲輸入下的歸一化失調和回波抑制比
實驗二:真實話音作為輸入。遠端話音輸入為一段長為20秒的語音,近端話音在4~8秒處有一段長為4秒的語音,且在近端添加相較于近端話音信噪比為30 dB的白噪聲作為背景噪聲,近端語音、背景噪聲和回聲信號一起作為近端麥克風的采集信號。信號采樣率設為8 kHz。遠端話音、近端話音及麥克風話音的時域波形如圖5所示。

圖5 遠端話音、近端話音及麥克風話音時域波形
存在雙話情況下三種方法進行回聲消除后,輸出語音的時域波形如圖6所示。從時域波形可以看出,三種方法均對回聲信號有一定的抑制作用,在雙講時刻都能防止濾波器的發散。但從圖中可以看出,在近端含背景噪聲的情況下,從聽覺感受上基于GEIGEL-NLMS算法的語音失真最嚴重,NCC-NLMS算法下的殘留回聲最大,本文方法的殘留回聲最小、語音失真也最小、語音的聽覺感受最好。說明無論在雙講時刻還是在非雙講時刻,本文所提方法均優于GEIGEL算法和簡單的時域NCC算法的回聲消除效果。

圖6 三種方法下的輸出語音
三種方法的回波抑制比如圖7所示,可以看出三種方法在雙講時刻下的性能都沒有發生嚴重惡化,雖然基于NCC算法的兩種方法在自適應迭代初始的收斂速度較為緩慢,但基于GEIGEL算法的方法在接近收斂后的回波抑制低于另外兩種方法。另外,雙講時刻下三種算法的回波抑制比均有一定程度的下降,其中GEIGEL算法下降最明顯,本文所提算法下降程度最低。本文所提出的方法在回波抑制效果和收斂速度上均達到了比較理想的效果,在較低的算法復雜度下實現了較好的回波消除效果。

圖7 三種方法的回波抑制比
本文提出了一種適用于雙端通話下的回聲消除結構,該結構中采用NCC算法進行雙端檢測,PFBLMS算法進行自適應濾波器系數更新,最后采用后置濾波技術消除殘余回聲。算法時間復雜度方面,回聲消除系統所采用的PFBLMS算法相比于時域NLMS算法降低了復雜度,相比于頻域LMS算法減少了時延。仿真實驗表明,該系統的回聲性能優于傳統的GEIGEL-NLMS算法及NCC-NLMS算法下的回聲消除,在語音失真度較小的情況下消除了殘留回聲。本文提出的回聲消除結構也有一些待改進的方面,①NCC算法的最優門限難以確定,遠端話音改變或回聲路徑延遲過大都有可能造成最優門限改變;②經過非線性處理之后的近端語音仍然有一定程度的失真。接下來的工作將考慮針對這些缺點不斷完善和優化所提出的回聲消除系統。