<em id="l9hdu"></em>
    <em id="l9hdu"></em>
    <em id="l9hdu"></em>

    <em id="l9hdu"><source id="l9hdu"><dl id="l9hdu"></dl></source></em>
  • 處理器視頻會議等設備回聲消除AEC(Acoustic Echo Cancellation)功能解析

    回聲消除(AEC)

    音頻領域有3A問題,所謂3A,是指聲學回聲消除(AEC, Acoustic Echo Cancel)、背景噪聲抑制(ANS, Automatic Noise Suppression)、自動增益控制(AGC, Automatic Gain Control),今天聊一聊AEC。

    1. 什么是AEC

     

    從通訊回音產生的原因看,可以分為聲學回音(Acoustic Echo)和線路回音(Line Echo),相應的回聲消除技術就叫聲學回聲消除(Acoustic Echo Cancellation,AEC)和線路回聲消除(Line Echo Cancellation, LEC), 聲學回音是由于在免提或者會議應用中,揚聲器的聲音多次反饋到麥克風引起的;線路回音是由于物理電子線路的二四線匹配耦合引起的,本講只討論聲學回聲(包括線性回聲信號和非線性回聲信號)。

    遠端講話者(A)的聲音信號再傳輸給近端(B)后,在近端設備的揚聲器播放出來,經過一系列聲學反射,被近端設備的麥克風拾取,又傳輸給遠端(A)的現象。聲學回聲將導致遠端講話者A在很短時間內,又聽到了自己剛才的講話聲音。聲學回聲的產生過程如圖所示。

     


    使用 AEC 技術后,兩端聲音傳輸過程改變為如下圖所示,進而從底層保證會議場景下聲音的干凈度。

     

    數學化表示如下圖。

     

    遠端信號x, 從聽筒或喇叭spk播出,并經過空間傳播,被麥克風mic接收,近端說話信號也進入麥克風mic,這樣麥克風接收到的就是兩個信號的疊加,即d。自適應濾波器wx進行處理獲得y(回聲信號),dy的差值作為誤差e,傳遞給自適應濾波器,進行濾波器系數迭代更新。

    2. AEC性能評價指標

    指標1ERLE(Echo Return Loss Enhancement,回聲返回衰減增益)

     

    ERLE值越大,則表明回聲抵消效果越好。由于雙講或只有近端單講時,e(n)中包含近端語音,導致很多情況下e(n)的能量遠大于回聲y(n)的能量,從而ERLE為負值,同時也無法衡量回聲部分的消除情況。

    對于優秀的回聲消除器,ERLE增益必須不低于6dB。

    指標2SupperFactor(能量衰減因子)

    AEC后輸出能量與對應遠端麥克風信號能量的比值。

     

    指標3Cohde(輸出信號e(n)與麥克風信號d(n)的頻譜相關性)

    該值越接近1,說明輸出信號中保留的麥克風信號頻譜越多?紤]到麥克風信號d(n)主要由回聲信號y(n)和近端語音v(n)構成,因此只有近端單講情況下cohde的值才能接近1,雙講情況下cohde的值在0.50.9(取決于回聲信號在該幀的占比),當cohde接近0時說明輸出信號幾乎不包含任何近端語音和回聲的頻譜成分。其計算公式如下:

     

    指標4Cohxe(輸出信號e(n)與遠端參考信號x(n)的頻譜相關性)

    該值越接近0,說明輸出信號中殘留的遠端參考信號頻譜越少,回聲消除越徹底,其計算公式如下:

      

    不同通話狀態對應的參數指標:

    1)近端單講(最大程度保持輸出與麥克風信號一致):

    Cohde:越接近1說明輸出與麥克風信號越相似,越接近0說明兩者差異越大,近端單講時理想值為1。

    Cohxe:越接近1說明輸出與遠端參考信號越相似,越接近0說明兩者差異越大,即殘留的遠端參考信號頻譜成分越少,理想值為0。

    SuppFactor:越接近1說明輸出與麥克風信號的能量越接近,越接近0說明AEC造成能量衰落越嚴重,近端單講時理想值為1。

    2)遠端單講(最大程度抑制回聲):

    ERLE:值越大越好,則表明殘留回聲的能量相對值越小,回聲抵消效果越好。

    Cohde:越接近1說明輸出與麥克風信號越相似,越接近0說明兩者差異越大,遠端單講時理想值為0。

    Cohxe:越接近1說明輸出與遠端參考信號越相似,越接近0說明兩者差異越大,即殘留的遠端參考信號頻譜成分越少,理想值為0。

    SuppFactor:越接近1說明輸出與麥克風信號的能量越接近,越接近0說明AEC造成能量衰落越嚴重,遠端單講時理想值為0。

    3)雙講(盡量抑制回聲同時保留近端語音)

    Cohde:越接近1說明輸出與麥克風信號越相似,保留的近端語音頻譜成分也越多;越接近0說明兩者差異越大,保留的近端語音頻譜成分也越少,雙講時理想值為0.50.9(取決于回聲信號在該幀的占比)。

    Cohxe:越接近1說明輸出與遠端參考信號越相似,越接近0說明兩者差異越大,即殘留的遠端參考信號頻譜成分越少,雙講時理想值為0。

    SuppFactor:越接近1說明輸出與麥克風信號的能量越接近,越接近0說明AEC造成能量衰落越嚴重,雙講時理想值為1。

     

    3. AEC技術原理

    典型回聲消除技術框架如下圖。

     

    遠端信號x從聽筒或喇叭spk播出,并經過空間傳播,被麥克風mic接收,近端說話信號也進入麥克風mic,這樣麥克風接收到的就是兩個信號的疊加,即d。自適應濾波器wx進行處理獲得y(回聲信號),dy的差值作為誤差,傳遞給自適應濾波器,進行濾波器系數迭代更新。

    遠端參考信號(上圖far-end signal)經過自適應濾波器w

     

    遠端參考信號經過空間傳播(即經過Room Impulse Response)得到x'

    目標誤差

    其實,自適應濾波器的作用就是來抵消房間沖擊響應對x的影響,以誤差最小為目標。


    具體算法:

    1LMS(least mean square)

    LMS是最廣泛應用的自適應濾波算法,以MSE誤差為目標函數,以梯度下降為優化算法。NLMS是使用輸入的功率對步長進行歸一化的方法,可以取得更好的收斂性能。 

    算法復雜度:

    LMS: (2M+1次乘法和2M次加法) * 序列長度

    NLMS: (3M+1次乘法和3M次加法) * 序列長度

    2Block LMS

    LMS算法對輸入數據是串行處理的,可以通過將輸入數據分段并行處理,類似深度學習領域的mini-batch操作, 并且利用頻域FFT來做快速卷積,大大減少計算復雜度。

    首先需要將串行的LMS算法轉變為分塊處理,也就是Block LMS(BLMS)。 每次迭代,輸入數據被分成長度為L的塊進行處理。和LMS使用瞬時梯度來進行濾波器參數更新不同,BLMS使用L點的平均梯度來進行參數更新。 對第k塊數據,BLMS算法遞推公式為:

     

    3Fast Block LMS

    思想是利用FFT進行助攻加速,稱作Fast Block LMS,或Frequency Domain Adaptive Filter。對于長度為M的濾波器,一般采用2M點的FFTM點補零),且使用overlap-and-save的快速卷積方法。

     

     

     

    算法復雜度10MlogM +26M

    4Partitioned Fast Block LMS

    對濾波器的時長進行分割,達到降低時延的目的。又稱Multidelay block filter(MDF)。

      

    如果將長度為M的濾波器等分成長度為B的小段,M=P*B。則卷積的結果可以分解為個P卷積疊加。

     

    4. 雙講檢測

    存在遠近端同時講話場景,針對該場景,要進行雙講檢查。

     

    自適應濾波器有三種工作模式(通過DTD雙講檢測):

    · 遠端語音存在,近端語音不存在:濾波、自適應濾波器系數更新

    · 遠端語音存在,近端語音存在:濾波

    · 遠端語音不存在:什么都不用做

     

    Webrtc中的回聲消除模塊,已包含:雙講檢測技術(語音活動檢測,區分希臘佛中是否存在雙端講話)、自適應濾波技術(主要性能指標:跟蹤性能、抗沖激性、魯棒性和計算復雜性)、后處理(消除自適應濾波器的輸出誤差)。

    雙濾波器結構與雙講檢測:

    Speex 除了使用MDF作自適應濾波,還是用了雙濾波器結構(Two-Path Method)。 雙濾波器結構包括一個迭代更新的自適應Background Filter, 和一個非自適應的Foreground Filter。在自適應濾波器性能變壞、甚至發散時, AEC使用Foreground Filter的結果,并且重置Background Filter。 在Background Filter 性能變好時,將其參數下載到Foregound Filter。

    這種雙濾波器結構,可以實現隱式的雙講檢測。 在雙講的情況下,Background Filter無法收斂,其更新結果不會保存下來,也就實現了區分雙講和非雙講的目標。

     

    上圖就是典型的雙濾波器AEC結構,其核心就是將Background Filter下載到Foregound Filter的判決標準。一般而言,可以有著幾方面的考慮:

     

    Speex AEC使用的判決準則,可以從代碼里面提煉出來,跟以上提到的幾點不完全一樣,是用Foreground FilterBackground Filter輸出的殘留功率之差來進行判別,


     

    其中 Sff 是Foreground Filter與麥克風信號之差的功率, see 是Background Filter與麥克風信號之差的功率, Dbf是兩個Filter輸出信號之差的平方。 于是判別公式可以寫成

     

    5. 自適應濾波器步長優化

    上述講解的濾波器步長固定,其實也可以將步長作為參數,把固定步長優化成可變步長,并且通過當前的各段信號,推導出最優步長。

    主要是基于論文On Adjusting the Learning Rate in Frequency Domain Echo Cancellation With Double-Talk.

    下面摘錄其中的主要結論。 最優步長等于殘余回聲方差與誤差信號方差之比

     

    為了計算殘留回聲的功率,定義泄漏因子 U , 取值在01之間

    泄漏因子通過遞歸平均更新:

     

    6. 殘留回聲消除 Residual Echo Cancellation

    自適應濾波器不能百分百消除回聲,AEC的輸出信號含有殘留的回聲信號,這個時候就需要一個Post-Filter,進行殘留回聲消除(Residual Echo Cancellation)?梢圆捎眯盘柼幚矸椒,也可以采用深度學習方法。

    聯系

    Contact

    關注

    s
    浙江匯坤數字科技有限公司
    電話:0571-88019248
    地點:浙江省杭州市余杭區良渚街道九曲港路15號
    手機:18668066312 (周經理)
                18657151391 (鄒經理)
                18657115235 (黃經理)
    郵編:310000
    郵箱: hzhkkj@163.com
    傳真:0571-86493538

    掃描二維碼分享到微信

    日韩精品一区二区不卡,国产香蕉国产精品偷在线观看,国产在线啪啪啪青青,国产激情性色无码视频在线播放

    <em id="l9hdu"></em>
    <em id="l9hdu"></em>
    <em id="l9hdu"></em>

    <em id="l9hdu"><source id="l9hdu"><dl id="l9hdu"></dl></source></em>