小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

回聲消除技術(shù)--整理編

 champtek 2016-11-30

1 引 言

      在語音通信中,有一個(gè)很影響通話質(zhì)量的因素就是回聲。回聲就是指說話者通過通信設(shè)備發(fā)送給其他人的語音又重新又回到自己的聽筒里的現(xiàn)象?;芈晻?huì)對(duì)說話者產(chǎn)生嚴(yán)重的干擾,必須想辦法消除。一般,回聲分為兩種,即“電路回聲”和“聲學(xué)回聲”?!半娐坊芈暋笨梢酝ㄟ^硬件設(shè)備的合理設(shè)計(jì)而消除,在此不作討論。最復(fù)雜和最難消除的應(yīng)該是所謂的“聲學(xué)回聲”。“聲學(xué)回聲”是指遠(yuǎn)端用戶的聲音從聽筒出來以后,經(jīng)過空氣或其他的傳播媒介傳到近端用戶的話筒,再通過話筒錄音后又重新傳到遠(yuǎn)端用戶的聽筒中形成的回聲。當(dāng)近端用戶的放音音量比較大而錄音設(shè)備和放音設(shè)備距離比較近時(shí)回聲尤其明顯?!奥晫W(xué)回聲”受近端用戶環(huán)境的影響,可能產(chǎn)生多路回聲,包括直接回聲和反射回聲,各個(gè)回聲的路徑不同,延遲也就不同,因而難以消除。

2 聲學(xué)回聲消除器

      對(duì)于聲學(xué)回聲消除,常見的消除算法有2類,即回聲抑制(acoustic echo suppression)算法和聲學(xué)回聲消除(acoustic echo cancellation)算法。

      回聲抑制算法是較早的一種回聲控制算法。回聲抑制是一acoustic echo suppression種非線性的回聲消除。它通過簡(jiǎn)單的比較器將準(zhǔn)備由揚(yáng)聲器播放的聲音與當(dāng)前話筒拾取的聲音的電平進(jìn)行比較,如果前者高于某個(gè)閾值,那么就允許傳至揚(yáng)聲器,而且話筒被關(guān)閉,以阻止它拾取揚(yáng)聲器播放的聲音而引起遠(yuǎn)端回聲。如果話筒拾取的聲音電平高于某個(gè)閾值,揚(yáng)聲器被禁止,以達(dá)到消除回聲的目的。由于回聲抑制是一種非線性的回聲控制方法,會(huì)引起揚(yáng)聲器播放的不連續(xù),影響回聲消除的效果,隨著高性能的回聲消除器的出現(xiàn),回聲抑制已經(jīng)很少有人使用了。

      聲學(xué)回聲消除算法(AEC)是對(duì)揚(yáng)聲器信號(hào)與由它產(chǎn)生的多路徑回聲的相關(guān)性為基礎(chǔ),建立遠(yuǎn)端信號(hào)(s(n))的語音模型,利用它對(duì)回聲進(jìn)行估計(jì)(e`(n)),并不斷地修改濾波器的系數(shù),使得估計(jì)值更加逼近真實(shí)的回聲(e(n))。然后,將回聲估計(jì)值從話筒的輸入信號(hào)中減去,從而達(dá)到消除回聲的目的,如圖2所示。

3 聲學(xué)回聲消除器設(shè)計(jì)

      一般,回聲消除器的初始化需要兩個(gè)參數(shù):一次處理的數(shù)據(jù)量(幀長(zhǎng))和估計(jì)的錄音中回聲相對(duì)于錄音開頭的偏移量,即回聲相對(duì)于錄音的延遲的最大值(尾長(zhǎng))?;芈曄涌诘囊话阈问綖椋篈ecFunction(input frame, playback frame, out frame),對(duì)錄音數(shù)據(jù)進(jìn)行回聲消除需要等量的播放數(shù)據(jù)輸入作為建立回聲模型的參考數(shù)據(jù)。要達(dá)到良好的回聲消除效果,必須保證以下3點(diǎn):

(1) 播放數(shù)據(jù)的產(chǎn)生速度要和錄音數(shù)據(jù)的產(chǎn)生速度達(dá)到動(dòng)態(tài)平衡,為此如果錄放音數(shù)據(jù)的采樣率不同,那么需要把他們統(tǒng)一成同一采樣率下的數(shù)據(jù)以后再進(jìn)行回聲消除。如果是實(shí)時(shí)的語音處理,由于網(wǎng)絡(luò)的不穩(wěn)定性,數(shù)據(jù)包可能在網(wǎng)絡(luò)上丟失或者由于過大的延遲而被其他的處理環(huán)節(jié)丟棄,那么來自遠(yuǎn)端的數(shù)據(jù)量可能會(huì)少于近端錄音產(chǎn)生的數(shù)據(jù)量,對(duì)于這種情況我們必須補(bǔ)充播放數(shù)據(jù),以保證放音數(shù)據(jù)的量和錄音數(shù)據(jù)量達(dá)到平衡。

(2) 播放數(shù)據(jù)帶有的聲音信息先于錄音數(shù)據(jù)中帶有的對(duì)應(yīng)的回聲信息送給回聲消除接口。這個(gè)先后順序是回聲消除的前提,回聲消除器不可能消除自己沒有“見過”的回聲。

(3) 播放數(shù)據(jù)的聲音對(duì)應(yīng)的回聲在錄音數(shù)據(jù)中出現(xiàn)的位置相對(duì)于錄音的開頭的偏移量(即延遲)不能太大,因?yàn)樗械幕芈曄髦С值奈查L(zhǎng)都有一個(gè)范圍,延遲超過了這個(gè)范圍回聲就無法消除了。

      為了滿足第一條,我們需要對(duì)放音線程數(shù)據(jù)產(chǎn)生的速度進(jìn)行控制,控制拿給聲卡播放的數(shù)據(jù)量和從聲卡獲得的錄音數(shù)據(jù)量總是保持一致。由于錄音數(shù)據(jù)產(chǎn)生的速度總是均勻的,因此放音數(shù)據(jù)的產(chǎn)生也必須均勻,也就是說從服務(wù)器得到的放音數(shù)據(jù)沒有及時(shí)達(dá)到時(shí),我們需要“創(chuàng)造”放音數(shù)據(jù)給系統(tǒng)播放,同時(shí)將這些數(shù)據(jù)緩存到放音數(shù)據(jù)隊(duì)列里。創(chuàng)造的方式有很多,比如填充靜音數(shù)據(jù)或是通過Wsola算法來模擬連續(xù)語音數(shù)據(jù)。

4 回聲延遲估計(jì)

      在第一次獲得放音數(shù)據(jù)時(shí),我們開始對(duì)錄音數(shù)據(jù)進(jìn)行回聲消除。開始回聲消除之后,從系統(tǒng)錄音接口得到的錄音數(shù)據(jù)里可能含有回聲消除開始前錄到的數(shù)據(jù)。而從開始回聲消除那一刻起到放音幀真正從聲卡放出來被錄音設(shè)備捕獲可能也需要等待一段時(shí)間(我們假設(shè)聲音一放出來立即被錄到錄音數(shù)據(jù)里,忽略其在媒介中的傳播時(shí)間,因?yàn)閷?shí)際中最突出的回聲是直接回聲,即聲音從播放設(shè)備出來,通過空氣或手機(jī)本身直接傳輸?shù)戒浺粼O(shè)備,而不是經(jīng)過反射回到錄音設(shè)備,一般直接回聲從放音設(shè)備出來再回到錄音設(shè)備的時(shí)間是很短的,一般不到1毫秒,可以忽略),這個(gè)時(shí)間跟聲卡放音的緩沖區(qū)的長(zhǎng)度和我們的放音幀長(zhǎng)度有關(guān)。放音數(shù)據(jù)和錄音數(shù)據(jù)的時(shí)序關(guān)系如圖所示。

(以AEC開始后取得的第一個(gè)錄音幀的起始錄音時(shí)間為起點(diǎn)t0 )

粗虛線圈表示一個(gè)放音幀時(shí)長(zhǎng),實(shí)線圈表示錄音緩沖區(qū)對(duì)應(yīng)的時(shí)長(zhǎng),淺虛線圈表示錄音幀時(shí)長(zhǎng)。

      為了保證所有播放的聲音一定會(huì)在錄音數(shù)據(jù)中重現(xiàn),應(yīng)先啟動(dòng)錄音線程,然后再啟動(dòng)放音線程?;芈暤难舆t決定了回聲消除器需要的“尾長(zhǎng)”,“尾長(zhǎng)”越小,同樣長(zhǎng)度的數(shù)據(jù)回聲消除器的處理時(shí)間越短,回聲消除算法的收斂也越快,即消除回聲起效越快。為了使回聲的延遲盡量小,我們需要從設(shè)備支持的采樣率中選擇最合適的錄放音采樣率。這個(gè)選擇的過程是移動(dòng)設(shè)備上回聲消除處理的關(guān)鍵。

如上所述,延遲可分為兩部分,一部分是由錄音時(shí)產(chǎn)生的,另一部分是由放音產(chǎn)生的。

      先說放音,移動(dòng)設(shè)備支持的放音采樣率有多種,每種采樣率下都有一個(gè)最小放音緩沖區(qū)長(zhǎng)度,放音的緩沖區(qū)只能設(shè)置得比這個(gè)長(zhǎng)度長(zhǎng)。我們每次給放音API播放的數(shù)據(jù)會(huì)去填充緩沖區(qū),只有當(dāng)緩沖區(qū)被填滿以后才會(huì)真正拿到聲卡去播放。如果放音幀比放音緩沖區(qū)長(zhǎng),那么放音的延遲就只是聲卡固有的放音延遲。如果放音幀比放音緩沖區(qū)短,那么就要等若干個(gè)放音幀來填充放音緩沖區(qū),直到填滿以后才送給聲卡去播放。而聲卡收到放音數(shù)據(jù)到放音數(shù)據(jù)開始播放,這之間可能還有一個(gè)間隔,這是由于聲卡總是一段數(shù)據(jù)一段數(shù)據(jù)地播放,如果送到聲卡的時(shí)候前一段數(shù)據(jù)還沒播放完,那么聲卡會(huì)等到前一段數(shù)據(jù)播放完了才開始播放送來的這段數(shù)據(jù),這個(gè)“數(shù)據(jù)段”的長(zhǎng)度一般對(duì)應(yīng)的就是“最小放音緩沖區(qū)長(zhǎng)度”。所有上述的時(shí)間內(nèi)產(chǎn)生的錄音數(shù)據(jù)也會(huì)被送到回聲消除器里去處理,因此這段時(shí)間內(nèi)造成的數(shù)據(jù)延遲為(用時(shí)長(zhǎng)表示):

      放音延遲 = - 1 ? 放音幀時(shí)長(zhǎng) + 聲卡延遲 (1)

      其中[ ]表示向上取整,即取不小于該數(shù)的最小整數(shù)?!奥暱ㄑ舆t”即數(shù)據(jù)包送到聲卡后到其播放出來之間的間隔。如果有多個(gè)采樣率下的放音延遲都達(dá)到最小,那么我們選取最接近編解碼采樣率的那個(gè)采樣率,因?yàn)樵较嘟牟蓸勇手夭蓸訒r(shí)造成的失真越小。而放音緩沖區(qū)長(zhǎng)度也就設(shè)置為(大于或等于最小放音緩沖區(qū)長(zhǎng)度的)重采樣為放音采樣率后的放音幀長(zhǎng)度的最小倍數(shù)。

      再說錄音,錄音稍微復(fù)雜一些。錄音也和放音一樣,在每種錄音采樣率下都有一個(gè)最小錄音緩沖區(qū)長(zhǎng)度,錄音的緩沖區(qū)只能設(shè)置得比這個(gè)長(zhǎng)度長(zhǎng)。當(dāng)錄音數(shù)據(jù)填滿第一個(gè)緩沖區(qū)以后,我們才能從錄音API中獲得第一個(gè)錄音塊,由于回聲消除的原因,我們每次都要從錄音數(shù)據(jù)里取得和放音幀“等長(zhǎng)”(這里的“等長(zhǎng)”是指播放時(shí)長(zhǎng)相等)的錄音幀來進(jìn)行處理。在放音線程得到第一個(gè)放音幀、開始回聲消除這個(gè)時(shí)刻之后,我們從錄音API里得到的錄音數(shù)據(jù)里可能有一部分是在回聲消除開始之前就錄到的,這個(gè)數(shù)據(jù)有多少跟錄音幀長(zhǎng)度以及錄音緩沖區(qū)的長(zhǎng)度都有關(guān)。如果錄音緩沖區(qū)的長(zhǎng)度不是錄音幀長(zhǎng)度的整數(shù)倍,錄音數(shù)據(jù)里錄到的回聲消除前的聲音數(shù)據(jù)的時(shí)長(zhǎng)的最大值是一個(gè)錄音幀時(shí)長(zhǎng)加上填滿一個(gè)錄音緩沖區(qū)需要的數(shù)據(jù)對(duì)應(yīng)的播放時(shí)長(zhǎng)之和。而如果錄音緩沖區(qū)長(zhǎng)度是錄音幀長(zhǎng)度的整數(shù)倍,那么錄到的回聲消除前的聲音的最大時(shí)長(zhǎng)就是填滿一個(gè)錄音緩沖區(qū)需要的數(shù)據(jù)對(duì)應(yīng)的播放時(shí)長(zhǎng)。

      錄音延遲 < (2)

      因此我們選擇使錄音延遲最大值最小的錄音采樣率,而存在多個(gè)同時(shí)達(dá)到最小值的錄音采樣率時(shí),我們選擇最接近錄音編碼采樣率的采樣率。錄音緩沖區(qū)長(zhǎng)度就設(shè)為(大于或等于最小錄音緩沖區(qū)長(zhǎng)度的)換算到錄音采樣率下的錄音幀長(zhǎng)度的最小倍數(shù)。由于放音延遲除去“聲卡延遲”的部分以外,剩下的那部分是固定的(見式(1)),作為一種優(yōu)化,我們可以把錄音數(shù)據(jù)從頭部先丟掉一部分?jǐn)?shù)據(jù),這部分?jǐn)?shù)據(jù)對(duì)應(yīng)的時(shí)長(zhǎng)就等于這部分延遲,這樣將縮短回聲的延遲,可以降低回聲消除器的“尾長(zhǎng)”。

5 結(jié) 論

    本文通過仔細(xì)地分析移動(dòng)設(shè)備的錄放音系統(tǒng)的各個(gè)環(huán)節(jié)對(duì)回聲消除器得到的數(shù)據(jù)產(chǎn)生的影響,精確地估算出了回聲延遲可能的范圍,通過精確估計(jì)延遲的下限值,給回聲消除器的優(yōu)化提供了可能,提高了回聲消除器的處理效率和效果。

 

 

一、前言

      因?yàn)楣ぷ鞯年P(guān)系,筆者從2004年開始接觸回聲消除(Echo Cancellation)技術(shù),而后一直在某大型通訊企業(yè)從事與回聲消除技術(shù)相關(guān)的工作,對(duì)回聲消除這個(gè)看似神秘、高端和難以理解的技術(shù)領(lǐng)域可謂知之甚詳。

要了解回聲消除技術(shù)的來龍去脈,不得不提及作為現(xiàn)代通訊技術(shù)的理論基礎(chǔ)——數(shù)字信號(hào)處理理論。首先,數(shù)字信號(hào)處理理論里面有一門重要的分支,叫做自適應(yīng)信號(hào)處理。而在經(jīng)典的教材里面,回聲消除問題從來都是作為一個(gè)經(jīng)典的自適應(yīng)信號(hào)處理案例來討論的。既然回聲消除在教科書上都作為一種經(jīng)典的具體的應(yīng)用,也就是說在理論角度是沒有什么神秘和新鮮的,那么回聲消除的難度在哪里?為什么提供回聲消除技術(shù)(不管是芯片還是算法)的公司都是來自國(guó)外?回聲消除技術(shù)的神秘性在哪里?

二、回聲消除原理

      從通訊回音產(chǎn)生的原因看,可以分為聲學(xué)回音(Acoustic Echo)和線路回音(Line Echo),相應(yīng)的回聲消除技術(shù)就叫聲學(xué)回聲消除(Acoustic Echo Cancellation,AEC)和線路回聲消除(Line Echo Cancellation, LEC)。聲學(xué)回音是由于在免提或者會(huì)議應(yīng)用中,揚(yáng)聲器的聲音多次反饋到麥克風(fēng)引起的(比較好理解);線路回音是由于物理電子線路的二四線匹配耦合引起的(比較難理解)。

回音的產(chǎn)生主要有兩種原因:

1. 由于空間聲學(xué)反射產(chǎn)生的聲學(xué)回音(見下圖): 
clip_image001

      圖中的男子說話,語音信號(hào)(speech1)傳到女士所在的房間,由于空間的反射,形成回音speech1(Echo)重新從麥克風(fēng)輸入,同時(shí)疊加了女士的語音信號(hào)(speech2)。此時(shí)男子將會(huì)聽到女士的聲音疊加了自己的聲音,影響了正常的通話質(zhì)量。此時(shí)在女士所在房間應(yīng)用回音抵消模塊,可以抵消掉男子的回音,讓男子只聽到女士的聲音。

2. 由于2-4線轉(zhuǎn)換引入的線路回音(見下圖):

clip_image002

      在ADSL Modem和交換機(jī)上都存在2-4線轉(zhuǎn)換的電路,由于電路存在不匹配的問題,會(huì)有一部分的信號(hào)被反饋回來,形成了回音。如果在交換機(jī)側(cè)不加回音抵消功能,打電話的人就會(huì)自己聽到自己的聲音。

不管產(chǎn)生的原因如何,對(duì)語音通訊終端或者語音中繼交換機(jī)需要做的事情都一樣:在發(fā)送時(shí),把不需要的回音從語音流中間去掉。

     試想一下,對(duì)一個(gè)至少混合了兩個(gè)聲音的語音流,要把它們分開,然后去掉其中一個(gè),難度何其之大。就像一瓶藍(lán)墨水和一瓶紅墨水倒在一起,然后需要把紅墨水提取出來,這恐怕不可能了。所以回聲消除被認(rèn)為是神秘和難以理解的技術(shù)也就不奇怪了。誠(chéng)然,如果僅僅單獨(dú)拿來一段混合了回音的語音信號(hào),要去掉回音也是不可能的(就算是最先進(jìn)的盲信號(hào)分離技術(shù)也做不到)。但是,實(shí)際上,除了這個(gè)混合信號(hào),我們是可以得到產(chǎn)生回音的原始信號(hào)的,雖然不同于回音信號(hào)。

我們看下面的AEC聲學(xué)回聲消除框圖(本圖片轉(zhuǎn)載)。

clip_image003

Figure  Acoustic Echo Cancellation in a voice communication terminal

 

      其中,我們可以得到兩個(gè)信號(hào):一個(gè)是藍(lán)色和紅色混合的信號(hào)1,也就是實(shí)際需要發(fā)送的speech和實(shí)際不需要的echo混合而成的語音流;另一個(gè)就是虛線的信號(hào)2,也就是原始的引起回音的語音。那大家會(huì)說,哦,原來回聲消除這么簡(jiǎn)單,直接從混合信號(hào)1里面把把這個(gè)虛線的2減掉不就行了?請(qǐng)注意,拿到的這個(gè)虛線信號(hào)2和回音echo是有差異的,直接相減會(huì)使語音面目全非。我們把混合信號(hào)1叫做近端信號(hào)ne,虛線信號(hào)2叫做遠(yuǎn)端參考信號(hào)fe,如果沒有fe這個(gè)信號(hào),回聲消除就是不可能完成的任務(wù),就像“巧婦難為無米之炊”。

      雖然參考信號(hào)fe和echo不完全一樣,存在差異,但是二者是高度相關(guān)的,這也是echo稱之為回音的原因。至少,回音的語義和參考信號(hào)是一樣的,也還聽得懂,但是如果你說一句,馬上又聽到自己的話回來一句,那是比較難受的。既然fe和echo高度相關(guān),echo又是fe引起的,我們可以把echo表示為fe的數(shù)學(xué)函數(shù):echo=F(fe)。函數(shù)F被稱之為回音路徑。在聲學(xué)回聲消除里面,函數(shù)F表示聲音在墻壁,天花板等表面多次反射的物理過程;在線路回聲消除里面,函數(shù)F表示電子線路的二四線匹配耦合過程。很顯然,我們下面要做的工作就是求解函數(shù)F。得到函數(shù)F就可以從fe計(jì)算得到echo,然后從混合信號(hào)1里面減掉echo就實(shí)現(xiàn)了回聲消除。

盡管回聲消除是非常復(fù)雜的技術(shù),但我們可以簡(jiǎn)單的描述這種處理方法:

1、房間A的音頻會(huì)議系統(tǒng)接收到房間B中的聲音

2、聲音被采樣,這一采樣被稱為回聲消除參考

3、隨后聲音被送到房間A的音箱和聲學(xué)回聲消除器中

4、房間B的聲音和房間A的聲音一起被房間A的話筒拾取

5、聲音被送到聲學(xué)回聲消除器中,與原始的采樣進(jìn)行比較,移除房間B的聲音

      求解回音路徑函數(shù)F的過程恐怕就是比較難以表達(dá)的數(shù)學(xué)公式了。鑒于通俗表達(dá)數(shù)學(xué)公式的難度比發(fā)現(xiàn)數(shù)學(xué)公式還難,筆者就不費(fèi)力解釋了。下面這段表達(dá)了利用自適應(yīng)濾波器原理求解函數(shù)F的過程。(以下可以跳過)

自適應(yīng)濾波器

      自適應(yīng)濾波器是以輸入和輸出信號(hào)的統(tǒng)計(jì)特性的估計(jì)為依據(jù),采取特定算法自動(dòng)地調(diào)整濾波器系數(shù),使其達(dá)到最佳濾波特性的一種算法或裝置。自適應(yīng)濾波器可以是連續(xù)域的或是離散域的。離散域自適應(yīng)濾波器由一組抽頭延遲線、可變加權(quán)系數(shù)和自動(dòng)調(diào)整系數(shù)的機(jī)構(gòu)組成。附圖表示一個(gè)離散域自適應(yīng)濾波器用于模擬未知離散系統(tǒng)的信號(hào)流圖。自適應(yīng)濾波器對(duì)輸入信號(hào)序列x(n)的每一個(gè)樣值,按特定的算法,更新、調(diào)整加權(quán)系數(shù),使輸出信號(hào)序列y(n)與期望輸出信號(hào)序列d(n)相比較的均方誤差為最小,即輸出信號(hào)序列y(n)逼近期望信號(hào)序列d(n)。

clip_image004

以最小均方誤差為準(zhǔn)則設(shè)計(jì)的自適應(yīng)濾波器的系數(shù)可以由維納-霍甫夫方程解得。

B.維德羅提出的一種方法,能實(shí)時(shí)求解自適應(yīng)濾波器系數(shù),其結(jié)果接近維納-霍甫夫方程近似解。這種算法稱為最小均方算法或簡(jiǎn)稱 LMS法。這一算法利用最陡下降法,由均方誤差的梯度估計(jì)從現(xiàn)時(shí)刻濾波器系數(shù)向量迭代計(jì)算下一個(gè)時(shí)刻的系數(shù)向量

clip_image005

式中ks為一負(fù)數(shù),它的取值決定算法的收斂性, V【ε2(n)】為均方誤差梯度估計(jì),

clip_image006

      自適應(yīng)濾波器應(yīng)用于通信領(lǐng)域的自動(dòng)均衡、回聲消除、天線陣波束形成,以及其他有關(guān)領(lǐng)域信號(hào)處理的參數(shù)識(shí)別、噪聲消除、譜估計(jì)等方面。對(duì)于不同的應(yīng)用,只是所加輸入信號(hào)和期望信號(hào)不同,基本原理則是相同的。(以上部分可以跳過)上面這段話表明,需要求解的回音路徑函數(shù)F就是一個(gè)自適應(yīng)濾波器W(n)收斂的過程。所加輸入信號(hào)x(n)是fe,期望信號(hào)是echo,自適應(yīng)濾波器收斂后的W(n)就是回音路徑函數(shù)F。 收斂之后,當(dāng)實(shí)際回音發(fā)生,我們把fe通過函數(shù)W(n),就可以得到一個(gè)很準(zhǔn)確的echo,把混合信號(hào)直接減去echo,得到實(shí)際需要發(fā)送的語音speech,完成回聲消除任務(wù)。

值得注意的兩點(diǎn):

1: 自適應(yīng)濾波器收斂階段,期望信號(hào)是完全的echo,不能混雜有speech。因?yàn)閟peech和fe是沒有關(guān)系的,會(huì)擾亂W(n)的收斂過程。也就是說要求回聲消除算法開始運(yùn)轉(zhuǎn)后收斂要非???,最好對(duì)方還來不及說話,你一說就收斂好了;收斂好之后,如果對(duì)方開始說話,也就是有speech混合過來,這個(gè)W(n)系數(shù)就不要變化了,需要穩(wěn)定下來。

2:回音路徑可能是變化的,一旦出現(xiàn)變化,回聲消除算法要能判斷出來,因?yàn)樽赃m應(yīng)濾波器學(xué)習(xí)要重新開始,也就是W(n)需要一個(gè)新的收斂過程,以逼近新的回音路徑函數(shù)F。

      基本上來說,上面這兩點(diǎn)是兩難的,一個(gè)需要自適應(yīng)濾波器收斂后保持系數(shù)穩(wěn)定,以保證不受speech說話干擾,另一個(gè)需要自適應(yīng)濾波器隨時(shí)保持更新狀態(tài),以保證能夠追蹤變化的回音路徑。這樣一來,僅從數(shù)學(xué)算法層面,回聲消除已經(jīng)是難上加難!簡(jiǎn)單地說,回聲消除自適應(yīng)濾波器的設(shè)計(jì)具有兩個(gè)互相矛盾的特性,也就是快速收斂和高度的穩(wěn)定性,如何同時(shí)實(shí)現(xiàn)這兩項(xiàng)特性,正是設(shè)計(jì)上的主要挑戰(zhàn)。

      經(jīng)過上面的分析,相信大家對(duì)回聲消除的原理和技術(shù)有了深刻的理解,這是一門即容易理解又難以實(shí)現(xiàn)的技術(shù)。

      從應(yīng)用平臺(tái)來看,根據(jù)筆者多年的經(jīng)驗(yàn),可以把回聲消除分為兩大類:基于DSP等實(shí)時(shí)平臺(tái)的回聲消除技術(shù)和基于Windows等非實(shí)時(shí)平臺(tái)的回聲消除技術(shù)。兩者的技術(shù)難度和重點(diǎn)是不一樣的。

三、基于DSP平臺(tái)的回聲消除技術(shù)

      回聲消除技術(shù)傳統(tǒng)的應(yīng)用領(lǐng)域是各種嵌入式設(shè)備,包括各種電信網(wǎng)絡(luò)設(shè)備和終端設(shè)備。網(wǎng)絡(luò)設(shè)備比如交換機(jī),網(wǎng)關(guān)等等,終端則包括移動(dòng)電話終端,視頻會(huì)議終端等。現(xiàn)代通訊產(chǎn)品里面大量應(yīng)用了回聲消除技術(shù),包括在我們看得到的終端產(chǎn)品(比如手機(jī))和看不到的局端產(chǎn)品(比如交換機(jī))。這種嵌入式設(shè)備的共同點(diǎn)就是采用各種型號(hào)的DSP芯片作為回聲消除的載體。一個(gè)有效的回聲消除算法需要持續(xù)的在一顆DSP芯片上面運(yùn)行,會(huì)遇到以下方面的難點(diǎn):

      實(shí)時(shí)性與高效性,因?yàn)镈SP芯片資源有限。雖然自從二十世紀(jì)七十年代DSP應(yīng)用以來,日新月異的硬件芯片技術(shù)使許多沉睡在教科書上的信號(hào)處理理論算法大規(guī)模應(yīng)用,但是回聲消除算法需要的資源還是大得驚人。以視頻會(huì)議系統(tǒng),大規(guī)模的會(huì)議室可以產(chǎn)生超過512ms的回音,要消除這么長(zhǎng)延時(shí)的回音,即使按照8k赫茲采樣率計(jì)算,自適應(yīng)濾波器W(n)的長(zhǎng)度都會(huì)達(dá)到4096個(gè)點(diǎn),這樣一方面需要非常大的存儲(chǔ)空間來存儲(chǔ)W(n),另一方面,W(n)的更新需要的計(jì)算量也是成倍增長(zhǎng),同時(shí),W(n)的收斂難度也在加大,傳統(tǒng)自適應(yīng)濾波器的效率很難保證。對(duì)于電信設(shè)備中的應(yīng)用,雖然回聲消除不需要這么長(zhǎng)的延時(shí),但是在交換機(jī)等設(shè)備中,成本和效率就是生命,所有的處理算法都是按路或按線計(jì)算的,對(duì)算法的優(yōu)化效率提出了無止境的要求。相對(duì)而言,只有像車載免提這種應(yīng)用對(duì)效率要求不那么高,因?yàn)檐噧?nèi)空間小,回音延時(shí)有限,又不要求多路應(yīng)用。

      傳統(tǒng)的回聲消除技術(shù)是從國(guó)外二十世紀(jì)七十年代的早期算法發(fā)展而來,這類技術(shù)的采用一直相當(dāng)昂貴,提供電信級(jí)回聲消除硬件應(yīng)用(包括芯片或者設(shè)備)的廠家都是國(guó)外的。對(duì)于移動(dòng)網(wǎng)絡(luò)用戶來說,語音品質(zhì)一直是他們最關(guān)切的議題,對(duì)電信業(yè)者來說,語音也仍是他們最能獲利的服務(wù)項(xiàng)目,因此語音的品質(zhì)是不容妥協(xié)的。為了滿足今日與未來的網(wǎng)路需求,回聲消除技術(shù)的挑戰(zhàn)正在于如何有效地降低成本并持續(xù)改善語音品質(zhì)。

      算法級(jí)的DSP軟件解決方案,也是解決嵌入式設(shè)備回音問題的一種途徑,對(duì)用戶也有一定的靈活性,用戶只需要把回聲消除模塊集成到自己的DSP軟件中,再簡(jiǎn)單調(diào)整幾個(gè)相關(guān)參數(shù),就能達(dá)到較好的回聲消除效果。

      目前基于DSP的回聲消除算法已經(jīng)比較成熟,市場(chǎng)上也有一批專門的算法/芯片公司的能夠?qū)ν馓峁┮呀?jīng)優(yōu)化好的基于DSP的軟件回聲消除模塊:如俄羅斯Spririt DSP、加拿大Octastic Semiconductor、瑞典GIPS、國(guó)內(nèi)科萊特斯科技Conatus Technologies以及美國(guó)Adaptive Digital、和GAO Research、英國(guó)CSR等等,另外還有美國(guó)Fortemedia、Acoustic Technologies和日本OKI等可以提供專用的回聲消除DSP芯片。其中性能較好的有Octastic、Conatus、和Spririt這三家,Octastic可以提供完整的從專用芯片、板卡到DSP算法的完整方案,而Conatus和Spririt的回聲消除效果更好,值得一提的是Conatus公司是目前市面上唯一提供針對(duì)專業(yè)視訊會(huì)議應(yīng)用寬帶回聲消除模塊的公司,其音頻采樣率可以達(dá)到48k赫茲。

四、基于Windows平臺(tái)的回聲消除技術(shù)

      回聲消除技術(shù)最新的應(yīng)用領(lǐng)域是基于Windows平臺(tái)的各種VoIP應(yīng)用,比如軟件視頻會(huì)議,VoIP軟件電話等。當(dāng)回聲消除算法應(yīng)用到Windows平臺(tái),相對(duì)于傳統(tǒng)的DSP平臺(tái),既帶來優(yōu)勢(shì),也帶來了新的難點(diǎn)。高效性在Windows平臺(tái)已經(jīng)不是問題,現(xiàn)在的pc機(jī),擁有豐富的cpu資源和海量的內(nèi)存資源,再復(fù)雜的回聲消除算法都可以運(yùn)行自如。但是,新增加的麻煩比帶來的好處要多。

      首先,Windows平臺(tái)是一個(gè)非實(shí)時(shí)的平臺(tái),音頻的采集和播放對(duì)回聲消除算法而言,也是非實(shí)時(shí)的。和DSP平臺(tái)不一樣,DSP平臺(tái)可以直接控制AD/DA芯片的采集播放,獲得實(shí)時(shí)的音頻流(不存在同步問題),但是Windows平臺(tái)下,應(yīng)用程序很難在底層直接控制聲卡的采集播放,獲得的是非實(shí)時(shí)的音頻流,從而帶來了采集和播放音頻流的同步問題。

      實(shí)際應(yīng)用時(shí),傳給回聲消除算法的兩個(gè)聲音信號(hào)(采集的回音信號(hào)ne和播放的參考信號(hào)fe),必須同步得非常的好。就是說,本地接收到遠(yuǎn)端說的話以后,要把這些話音數(shù)據(jù)傳給回聲消除算法做參考,這是一個(gè)算法需要的輸入信號(hào);然后再傳給聲卡,聲卡放出來后經(jīng)過回音路徑,這時(shí),本地再采集,然后傳給回聲消除算法,這是算法需要的另一個(gè)輸入信號(hào)。這里的同步是指:兩個(gè)信號(hào)雖然存在延時(shí),但這個(gè)延時(shí)必須固定,在時(shí)序上要保持連貫,不能一個(gè)信號(hào)多來幾個(gè)幀,另外一個(gè)信號(hào)少來幾個(gè)幀。如果傳給回聲消除算法的兩個(gè)信號(hào)同步得不好,即兩個(gè)信號(hào)發(fā)生幀錯(cuò)位,就沒有辦法進(jìn)行消除了。因?yàn)檫@時(shí)系統(tǒng)會(huì)變成了非因果系統(tǒng),比如期望信號(hào)收到了,參考信號(hào)還沒來,時(shí)間上都沒有因果關(guān)系,肯定是沒有辦法消除的。

      實(shí)際情況是,在一般的VoIP軟件中,接收對(duì)方的聲音并傳到聲卡中播放是在一個(gè)線程中進(jìn)行的,而采集本地的聲音并傳送到對(duì)方又是在另一個(gè)線程中進(jìn)行的,而聲學(xué)回聲消除算法在對(duì)采集到的聲音進(jìn)行回聲消除的同時(shí),還需要播放線程中的數(shù)據(jù)作為參考,而要同步這兩個(gè)線程中的數(shù)據(jù)是非常重要的,因?yàn)樯陨杂行┎煌剑晫W(xué)回聲消除算法中的自適應(yīng)濾波器就會(huì)發(fā)散,不但消除不了回音,還會(huì)破壞原始采集到的聲音,使聲音難以分辨。

另外,pc機(jī)器的聲卡種類繁多,各種各樣的聲卡特性進(jìn)一步加劇了同步問題的復(fù)雜性。所以,同步和聲卡等問題對(duì)回聲消除算法的內(nèi)部特性提出了更多苛刻的要求。

      從上面分析來看,由于Windows平臺(tái)的非實(shí)時(shí)性,基于Windows平臺(tái)的回聲消除技術(shù)比DSP平臺(tái)要難得多。在PC平臺(tái)語音通訊領(lǐng)域,目前公認(rèn)音質(zhì)做得比較好的國(guó)外軟件是Skype,記得幾年前Skype一直是在用瑞典一家叫GIPS(Global IP Sound)公司的語音引擎技術(shù)。GIPS是最早介入PC平臺(tái)語音通訊領(lǐng)域的廠商之一,在改領(lǐng)域具有一定的權(quán)威性,其主要優(yōu)勢(shì)表現(xiàn)在對(duì)IP網(wǎng)絡(luò)的延時(shí)、抖動(dòng)和丟包等處理較好,基于Windows平臺(tái)的回音消除也做得不錯(cuò),不過最近的新版本Skype上已經(jīng)看不到GIPS的標(biāo)志了,據(jù)說是因?yàn)镾kype自己研發(fā)了一套新的更好的語音引擎的緣故。 目前大家接觸最多的采用了GIPS語音引擎技術(shù)的通訊軟件就是騰訊QQ了,其超級(jí)語音的效果普遍評(píng)價(jià)都還不錯(cuò)。另外微軟經(jīng)過多年的研發(fā),其最新版本的MSN語音特別是回音消除效果終于有了質(zhì)的提升,目前網(wǎng)上評(píng)價(jià)也還不錯(cuò)。另外還有一些專業(yè)廠商也對(duì)外提供包含回音消除功能的語音引擎,如俄羅斯的Spirit DSP、美國(guó)的GH Innovation和國(guó)內(nèi)的科萊特斯科技(Conatus Technologies)以及賽聲科技(Soft  Acoustic)等等。除此之外,網(wǎng)絡(luò)上還可以下載到一個(gè)很好的開源的語音軟件Speex也提供了回音消除功能。為了進(jìn)一步了解目前PC Windows平臺(tái)回音消除技術(shù)的業(yè)界水平,筆者對(duì)各家的回音消除技術(shù)做一個(gè)詳細(xì)的橫向?qū)Ρ葴y(cè)試(所有測(cè)試都是免提狀態(tài))

 

為了對(duì)比,各家語音引擎的版本信息列舉如下:

國(guó)外廠商:

Skype V3.8.4.182

Spirit DSP(廠家DEMO)

GIPS(QQ 2009beta)

Micorsoft (Windows Live Messenger 2009  V14.0.8064.2006)

GH Innovation(廠家DEMO)

國(guó)內(nèi)廠商:

Conatus Technologies(廠家DEMO)

Soft Acoustic(廠家DEMO)

開源算法:

Speex(V1.2RC1 自己寫了測(cè)試軟件)

測(cè)試結(jié)果:

測(cè)試項(xiàng)目

Skype

MSN

QQ

Conatus

Spirit

Speex

SoftAcoustic

GH I

筆記本免提模式,外接麥克風(fēng)和音箱應(yīng)用模式的適應(yīng)性

兩種模式都無回音

筆記本免提模式有時(shí)一直有較小回音

筆記本免提模式偶爾有較小回音

兩種模式都無回音

筆記本免提模式有時(shí)一直有較小回音

兩種模式都有一直較小回音

兩種模式有時(shí)都會(huì)出現(xiàn)較大回音

筆記本免提模式一直有很小回音

單方講話效果

無回音,效果很好

基本無回音,效果好

基本無回音,效果好

無回音,效果很好

基本無回音,效果好

一直有較小回音,效果差

有時(shí)有很大回音,效果差

基本無回音,效果好

雙方同時(shí)講話效果

雙方交流流暢無回音,對(duì)方聲音偶爾有輕微斷續(xù)

雙方交流流暢,但對(duì)方聲音中會(huì)夾雜著輕微回音

雙方交流流暢,但對(duì)方聲音中會(huì)夾雜著一些回音

雙方交流流暢無回音,對(duì)方聲音偶爾有輕微斷續(xù)

雙方交流流暢,但對(duì)方聲音中間會(huì)夾雜著一些回音

雙方交流比較流暢,但一直聽到一個(gè)較小的回音

雙方交流不流暢,對(duì)方聲音經(jīng)常會(huì)斷續(xù)

雙方交流無回音,但對(duì)方聲音很小很難聽清楚

麥克風(fēng)和揚(yáng)聲器相對(duì)的位置改變等

收斂比較快,基本沒有回音出現(xiàn)。

收斂比較快,基本沒有回音出現(xiàn)。

收斂比較快,基本沒有回音出現(xiàn)。

收斂比較快,基本沒有回音出現(xiàn)。

收斂比較快,基本沒有回音出現(xiàn)。

收斂速度慢,有好幾句回音

收斂速度慢,有好幾句回音

收斂比較快,基本沒有回音出現(xiàn)。

CPU重載(CPU負(fù)載達(dá)到100%)時(shí)效果

XP和Vista下聲音都流暢,基本不會(huì)出現(xiàn)回音和聲音斷續(xù)現(xiàn)象

XP和Vista下聲音都流暢,基本不會(huì)出現(xiàn)回音和聲音斷續(xù)現(xiàn)象

XP下聲音流暢,基本不會(huì)出現(xiàn)回音;Vista下聲音斷續(xù),偶爾會(huì)出現(xiàn)回音

XP和Vista下聲音都流暢,基本不會(huì)出現(xiàn)回音和聲音斷續(xù)現(xiàn)象

XP下聲音流暢,基本不會(huì)出現(xiàn)回音;Vista下聲音斷續(xù),偶爾會(huì)出現(xiàn)回音

此項(xiàng)未測(cè)

XP下聲音流暢,基本不會(huì)出現(xiàn)回音;Vista下聲音斷續(xù),偶爾會(huì)出現(xiàn)回音

XP下聲音流暢,基本不會(huì)出現(xiàn)回音;Vista下不加負(fù)載聲音都是斷續(xù)的

PC和聲卡適應(yīng)性

穩(wěn)定,基本都能消除回音

穩(wěn)定,基本都能消除回音

比較穩(wěn)定,偶爾有些筆記本免提時(shí)有回音

穩(wěn)定,基本都能消除回音

穩(wěn)定,基本都能消除回音

不穩(wěn)定,有時(shí)無法消除回音

不穩(wěn)定,經(jīng)常無法消除回音

穩(wěn)定,基本都能消除回音

噪聲抑制

噪聲抑制效果弱

噪聲抑制效果一般

噪聲抑制效果弱

噪聲抑制效果強(qiáng)

噪聲抑制效果一般

噪聲抑制效果強(qiáng)

噪聲抑制效果強(qiáng)

噪聲抑制效果強(qiáng)

自動(dòng)硬件增益控制和免提時(shí)能達(dá)到的最大播放音量

支持,音量較大

支持,音量較小

支持,音量適中

支持,音量適中

支持,音量較小

不支持

支持,音量較小

支持,音量非常小

整體效果評(píng)價(jià)(0-10分評(píng)分)

很好,基本沒有回音,雙方交流很順暢,9分

較好,有的筆記本免提時(shí)偶爾有回音且音量較小,雙方交流比較順暢,7.5分

較好,有的筆記本免提時(shí)偶爾有回音,雙方交流順暢,8分

很好,基本沒有回音,音量比skype略小,雙方交流很順暢, 8.5分

較好,有的筆記本免提效果稍差且音量比較小,vista效果稍差,7分

不好,一直有個(gè)較小的殘余回音,雙方交流困難,3分

不好,經(jīng)常有完整的回音,感覺不穩(wěn)定,雙方交流比較困難,5分

一般,沒有回音,但是音量太小,雙方交流困難,且VISTA下聲音斷續(xù),5.5分

測(cè)試項(xiàng)目

Skype

MSN

QQ

Conatus

Spirit

Speex

SoftAcoustic

GH I

可以看出,Skype、 Conatus和 QQ(GIPS)的效果最好, MSN和Spirit的效果還不錯(cuò),而GH Innovation、Soft Acoustic效果一般,Speex的效果較差。

五、總結(jié)

      回聲消除已經(jīng)成為語音通訊中提供全雙工音頻的標(biāo)準(zhǔn)方法。聲學(xué)回聲消除是通過消除或者移除本地話筒中拾取到的遠(yuǎn)端的音頻信號(hào)來阻止遠(yuǎn)端的聲音返回去的一種處理方法。這種音頻的移除都是通過數(shù)字信號(hào)處理來完成的?;芈曄夹g(shù)是數(shù)字信號(hào)處理的典型應(yīng)用之一。

修行之道: 關(guān)注大師的言行, 跟隨大師的舉動(dòng), 和大師一并修行, 領(lǐng)會(huì)大師的意境, 成為真正的大師。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多