本發(fā)明涉及近端語音檢測器和用于對通信系統(tǒng)處的語音進行分類的方法。
背景技術:
在電話中,音頻信號(例如,包括語音信號)在近端與遠端之間傳輸。在近端處接收的遠端信號可以從揚聲器輸出。在近端處的麥克風可以用于捕獲要傳輸?shù)竭h端的近端信號。當在近端處所輸出的遠端信號中的至少一些被包括在傳輸回遠端的麥克風信號中時,發(fā)生“回聲”。在該場景中,回聲可以被認為遠端信號的反射。
圖1中例示了示例情景,示出了由遠端麥克風捕獲且由近端揚聲器輸出的信號。回聲為近端處的揚聲器與麥克風之間的聲耦合的后果;近端麥克風除了捕獲近端揚聲器的語音和任何近端背景噪聲之外還捕獲源于它自己的揚聲器的信號。結(jié)果為遠端揚聲器處的回聲。在互聯(lián)網(wǎng)協(xié)議電話(VoIP)通信系統(tǒng)中,由于由VoIP通信裝置的音頻接口引入的固有延遲,回聲是特別明顯的。
為了從麥克風信號去除不希望的回聲并恢復近端語音信號,可以形成對回聲的估計并從麥克風信號消除該估計。這種估計通常根據(jù)遠端語音信號在自適應回聲估計濾波器(AEEF)處合成。圖2中示出了該結(jié)構(gòu),在圖2中,AEEF 203根據(jù)遠端信號x形成回聲的估計e,然后從麥克風信號m減去204回聲信號,以形成真實的近端信號d的估計,從該近端信號消除遠端信號的回聲。這種回聲消除結(jié)構(gòu)的性能依賴于自適應回聲估計濾波器(AEEF)的自適應控制。
在特定條件下,例如在麥克風信號中存在近端信號期間,需要凍結(jié)AEEF的系數(shù)或應用可忽略的步長。在近端信號的存在期間調(diào)整AEEF的系數(shù)會導致AEEF的發(fā)散??梢圆捎媒苏Z音檢測器(NSD)來檢測近端語音及其輸出的存在,其用于決定什么時候凍結(jié)AEEF的系數(shù)且防止它們的調(diào)整。這保持近端語音存在期間的回聲路徑建模和回聲消除穩(wěn)定性。近端語音檢測器還可以檢測雙端通話的開始(有時稱為雙端通話檢測器或DTD)。這是因為在雙端通話期間,存在近端語音和遠端語音這兩者,這導致允許AEEF的系數(shù)調(diào)整時的相同發(fā)散問題。圖2中示出了關于AEEF的近端語音檢測器205的典型結(jié)構(gòu)。
用于近端語音檢測器(NSD)的傳統(tǒng)算法使用AEEF本身的參數(shù)來產(chǎn)生二進制信號,其用于決定AEEF的濾波器系數(shù)應被凍結(jié)還是可以允許調(diào)整,或者(例如,根據(jù)回聲與近端信號比)確定濾波器的合適步長。由此,這種算法的性能依賴于AEEF的性能。如果AEEF未收斂,則NSD會將回聲檢測為近端,導致慢收斂速率。在平臺中的一些上,由于平臺非線性、低回聲噪聲比(ENR)等,AEEF會從不收斂至其最佳系數(shù)集。在這種情況下,NSD在語音呼叫的整個會話期間無法正常工作。
已經(jīng)提出了對用于近端語音檢測器的傳統(tǒng)算法的各種改進,其不依賴自適應回聲消除器的參數(shù)。由D.L.Duttweiler作為“A twelve channel digital echo canceler”,IEEE Transactions on Communications,26(5):647-653,May 1978公開的蓋格爾(Geigei)DTD算法已在線回聲消除器中被證明是成功的。然而,該算法在用于回聲信號與近端信號的不同比下的回聲消除器時不總是提供可靠的性能。還提出了基于互相關的方法,諸如V.Das等人的“A new cross correlation based double talk detection algorithm for nonlinear acoustic echo cancellation”,TENCON 2014IEEE Region 10Conference,pages1-6,October 2014,,該方法如具有基于相干性的方法,諸如T.Gansler等人的“A double-talk detector based on coherence”,IEEE Transactions on Communications,44(11):1421-1427,November 1996。然而,這些方案在非線性和雙端通話下遭受差的性能。
近來,已提出盲源分離(BSS)技術來執(zhí)行雙端通話期間的回聲消除,諸如Y.Sakai和M.T.Akhtar的“The performance of the acoustic echo cancellation using blind source separation to reduce double-talk interference”,2013International Symposium on Intelligent Signal Processing and Communications Systems(ISPACS),pages 61-66,November 2013。類似地,M.Kanadi等人的“A variable step-size-based ICA method for a fast and robust acoustic echo cancellation system without requiring double-talk detector,2013IEEE China Summit International Conference on Signal and Information Processing(ChinaSIP),pages 118-121,July 2013提出了用于BSS的獨立成分分析(ICA),其用于使回聲和近端從麥克風信號分離。分離的回聲然后應用于調(diào)整AEEF。因為這些BSS方法基于長塊處理,所以它們遭受緩慢的收斂速度和在近端語音檢測中的相當大的延遲。另外,為了檢測雙端通話的時段而對遠端信號使用諸如奇異值分解(SVD)的技術在計算上是昂貴的且依賴存在于EEF中的估計誤差。
技術實現(xiàn)要素:
根據(jù)本發(fā)明的第一方面,提供了一種用于對通信系統(tǒng)處的語音進行分類的近端語音檢測器,該通信系統(tǒng)接收來自近端麥克風的麥克風信號和來自遠端通信系統(tǒng)的遠端信號,所述近端語音檢測器包括:
信號處理器,該信號處理器被構(gòu)造成將所述麥克風信號和所述遠端信號變換到所述頻域中;
計算單元,該計算單元被構(gòu)造成形成:
表示存在于所述麥克風信號中的近端語音的近端信號的估計;和
所述麥克風信號與所述近端信號之間的增益的測度;
以及
信號分類器,該信號分類器被構(gòu)造成根據(jù)所述增益的方差的測度和所述近端信號的方差的測度對所述通信系統(tǒng)處的語音進行分類。
所述計算單元可以被構(gòu)造成關于多個頻率窗口(frequency bin)中的每一個形成對所述近端信號的所述估計和所述增益的測度,并且所述方差的測度為跨所述頻率窗口的方差的測度。
所述信號處理器可以被構(gòu)造成通過執(zhí)行短時間傅里葉變換(STFT)來變換所述麥克風信號和所述遠端信號。
在所述信號處理器處形成的所述麥克風信號和所述遠端信號可以表示所述麥克風信號和所述遠端信號在所述頻域中的幅度譜。
所述麥克風信號和所述遠端信號可以各被表示為幀序列,并且所述近端語音檢測器被構(gòu)造成關于所述序列的各幀形成輸出分類。
所述信號處理器可以被構(gòu)造成還通過執(zhí)行以下中的一個或更多個來處理所述所接收的麥克風信號和遠端信號:所述麥克風信號和所述遠端信號的同步;所述麥克風信號和所述遠端信號的縮放(scaling);以及所述麥克風信號和所述遠端信號的歸一化。
所述信號處理器或計算單元可以被構(gòu)造成平滑所述遠端信號,以保持所述遠端信號的所述幅度譜達所述遠端信號中的回聲混響的長度。
所述計算單元可以被構(gòu)造成通過根據(jù)所述遠端信號對所述麥克風信號操作維納濾波器來形成對所述近端信號的所述估計。
所述計算單元可以被構(gòu)造成關于各頻率窗口估計所述麥克風信號與所述遠端信號的比,所述麥克風信號與所述遠端信號的所述比用于形成所述麥克風信號與所述近端信號之間的所述增益的測度。
所述計算單元可以被構(gòu)造成關于各頻率窗口、根據(jù)所述麥克風信號與所述遠端信號的比以及針對之前幀形成的增益的測度來估計所述近端信號與所述遠端信號的比。
所述近端信號與所述遠端信號的所述比可以包括作為所述麥克風信號與所述遠端信號的所述比的半波整流函數(shù)的分量。
所述計算單元可以被構(gòu)造成通過將所述增益的測度應用于所述麥克風信號來形成所述麥克風信號中的近端信號的所述估計。
所述計算單元還可以被構(gòu)造成關于各幀形成跨所述頻率窗口所述增益的所述方差的測度和所述近端信號的所述方差的測度。
所述信號分類器可以被構(gòu)造成通過將所述增益的所述方差的測度和所述近端信號的方差的測度與相應閾值進行比較來對語音進行分類,所述信號分類器的所述輸出分類根據(jù)所述方差的測度位于它們各自閾值之上還是之下來選擇。
所述閾值可以是針對所述方差的測度預定義的或根據(jù)所述麥克風信號和/或遠端信號的特性來調(diào)整。
近端語音檢測器還可以包括能量計算器,該能量計算器被構(gòu)造成關于所述麥克風信號的一個或更多個幀確定幀能量的測度,所述信號分類器被構(gòu)造成根據(jù)所述幀能量的測度在雙端通話與無聲之間區(qū)分。
根據(jù)本發(fā)明的第二方面,提供了一種系統(tǒng),該系統(tǒng)包括:
自適應回聲估計濾波器;和
根據(jù)前述權(quán)利要求任意項所述的近端語音檢測器,
其中,所述系統(tǒng)被構(gòu)造成根據(jù)所述近端語音檢測器的所述輸出凍結(jié)或充分減小所述自適應回聲估計濾波器的系數(shù)的自適應步長。
根據(jù)本發(fā)明的第三方面,提供了一種用于分類通信系統(tǒng)處的語音的方法,該通信系統(tǒng)接收來自近端麥克風的麥克風信號和來自遠端通信系統(tǒng)的遠端信號,所述方法包括以下步驟:
將所述麥克風信號和所述遠端信號變換到所述頻域中;
估計表示存在于所述麥克風信號中的近端語音的近端信號;
形成所述麥克風信號與所述近端信號之間的增益的測度;以及
根據(jù)所述增益的方差的測度和所述近端信號的方差的測度分類所述通信系統(tǒng)處的語音。
所述形成增益的測度可以包括,關于各頻率窗口:
估計所述麥克風信號與所述遠端信號的比;
根據(jù)所述麥克風信號與所述遠端信號的比以及針對之前幀形成的增益的測度來估計所述近端信號與遠端信號的比;以及
根據(jù)所述近端信號與遠端信號的比確定所述增益的測度。
估計近端信號可以包括,關于各頻率窗口,將增益的測度應用于麥克風信號。
所述分類所述通信系統(tǒng)處的語音可以包括:
將所述增益的所述方差的測度和所述近端信號的所述方差的測度與相應閾值進行比較;以及
根據(jù)所述方差的測度位于它們各自閾值之上還是之下來選擇所述信號分類器的所述輸出分類。
計算機程序代碼可以被設置為定義近端語音檢測器,借此,近端語音檢測器可制造。永久計算機可讀存儲介質(zhì)可以被設置為上面存儲有計算機可讀指令,在該計算機可讀指令在用于生成集成電路的表現(xiàn)形式的計算機系統(tǒng)處處理時,使得計算機系統(tǒng)生成近端語音檢測器的表現(xiàn)形式。
計算機可讀代碼可以被設置為實施用于分類通信系統(tǒng)處的語音的方法。永久計算機可讀存儲介質(zhì)可以被設置為上面存儲有計算機可讀指令,在該計算機可讀指令在處理器處處理時,使得處理器實施用于分類通信系統(tǒng)處的語音的方法。
附圖說明
現(xiàn)在將參照附圖用示例的方式來描述本發(fā)明,附圖中:
圖1示出了電話中的近端和遠端的示例。
圖2是被構(gòu)造成用于自適應回聲估計濾波器的近端語音檢測器的示意圖。
圖3是近端語音檢測器的示意圖。
圖4是圖3中所示的信號處理器的示意圖。
圖5是例示了由圖3的信號分類器執(zhí)行的決定處理的流程圖。
圖6是例示了信號處理器的操作的流程圖。
圖7是例示了圖3的計算單元的操作的流程圖。
圖8是例示了具有麥克風信號和遠端信號的語音內(nèi)容的方差的增益和所估計近端信號的變化的行為的圖表。
圖9是例示了具有麥克風信號和遠端信號的語音內(nèi)容的變化的近端語音檢測器的輸出行為的圖表。
具體實施方式
用示例的方式提出以下描述,以使得本領域任意技術人員能夠進行并使用本發(fā)明。本發(fā)明不限于這里所述的實施方式,并且對所公開實施方式的各種修改將對本領域技術人員容易地清晰。
提供了用于對在通信系統(tǒng)處的語音進行分類的近端語音檢測器(NSD)和方法。如這里所述的近端語音檢測可以用于對任何種類的通信系統(tǒng)中的語音進行分類。語音可以以任何合適的方式來分類,包括,分類為近端、回聲/遠端、雙端通話以及無聲中的一個或更多個。如這里所述的近端語音檢測器可以用于在任何種類的通信系統(tǒng)中且為了任何目的對語音進行分類;近端語音檢測器不需要存在回聲消除器,并且這里給出的被構(gòu)造成與回聲消除器一起使用的近端語音檢測器的示例僅是為了例示。如這里所述的近端語音檢測器可以例如用于對于以下中的一個或更多個在通信系統(tǒng)中分類語音:任何種類的回聲消除器(包括基于自適應回聲估計濾波器(AEEF)的回聲消除器);ERL估計;以及平臺回聲消除檢測。在這里所述的示例中,NSD被構(gòu)造成對表示麥克風信號和遠端信號的幀流進行操作。在其他示例中,NSD可以被構(gòu)造成對不由幀流表示的信號進行操作。
圖2中在示例性通信系統(tǒng)200處示出了用于對語音進行分類的近端語音檢測器,該示例性通信系統(tǒng)200包括麥克風201、揚聲器202以及自適應回聲估計濾波器(AEEF)203。在該示例中,通信系統(tǒng)200為近端通信系統(tǒng),并且遠端信號BEI從遠端通信系統(tǒng)接收——兩個通信系統(tǒng)例如可以為運行互聯(lián)網(wǎng)協(xié)議電話(VoIP)軟件的智能電話或膝上型電腦,以允許兩個系統(tǒng)的用戶以圖1中所例示的方式彼此通信。
近端通信系統(tǒng)200的揚聲器202輸出從遠端通信系統(tǒng)接收的遠端信號208。麥克風201拾取由系統(tǒng)用戶發(fā)出的近端語音以及背景噪聲和遠端信號的回聲:這些成分一起組成麥克風信號206。如已討論的,遠端信號中的一些將由于揚聲器與麥克風之間的聲耦合(例如,通過傳過其中固定了揚聲器和麥克風的系統(tǒng)200的殼體或由于由系統(tǒng)所在地中的表面產(chǎn)生的對揚聲器輸出的聲反射)而被在麥克風201處接收。聲耦合在圖2中由傳遞函數(shù)h來表示。
為了恢復近端語音信號207,自適應回聲估計濾波器203被設置為基于遠端信號本身生成對存在于麥克風信號中的遠端信號的回聲的估計。然后可以從麥克風信號減去204回聲的估計e,以形成對近端信號207的估計。如果AEEF 203良好執(zhí)行且收斂,則回聲的估計e將接近于在麥克風201處接收到的真實回聲,并且近端信號207將為近端語音的接近表示。
如已說明的,在特定條件下,需要凍結(jié)AEEF的系數(shù)或應用可忽略的步長,以避免AEEF的發(fā)散。近端語音檢測器(NSD)205被設置為對通信系統(tǒng)處的語音狀況進行分類,以允許通信系統(tǒng)適當控制通信系統(tǒng)的AEEF 203的適應。例如,在圖2中所示的結(jié)構(gòu)中,NSD 205向AEEF 203提供指示通信系統(tǒng)處的語音狀況的輸出。AEEF根據(jù)NSD輸出可以確定什么時候凍結(jié)它的系數(shù)。這僅是一個示例。在其他示例中,近端語音檢測器205可以為了任何目的處理麥克風信號和遠端信號,以形成通信系統(tǒng)處的語音狀況的指示。
現(xiàn)在將參照圖3至圖7用示例的方式描述近端語音檢測器205。
圖3中示出了近端語音檢測器(NSD)205的示意圖。NSD接收遠端信號x(n)301和麥克風信號m(n)302。信號處理器303被構(gòu)造成對信號301和302進行操作,以將這些信號轉(zhuǎn)換到頻域中,作為經(jīng)轉(zhuǎn)換的遠端信號X(k,l)304和轉(zhuǎn)換后的麥克風信號M(k,l)305。為簡潔起見,經(jīng)轉(zhuǎn)換的遠端信號和麥克風信號將簡稱為遠端信號和麥克風信號。信號處理器可以或可以不形成NSD的一部分;在圖3中所示的示例中,信號處理器被認為形成NSD的一部分。
NSD對遠端信號304和麥克風信號305在頻域中操作。NSD的計算單元306被構(gòu)造成形成參數(shù),基于該參數(shù),信號分類器311確定信號的語音狀況并提供指示語音狀況的確定結(jié)果的輸出分類。計算單元可以被構(gòu)造成形成近端信號Y(k,l)的估計以及麥克風信號與近端信號的估計之間的增益的測度。根據(jù)這里所提供的教導,計算單元被構(gòu)造成形成近端信號的估計的方差和在麥克風信號與近端信號的估計之間的增益的方差的測度。這些方差的測度可以在信號分類器處用于在不同的語音狀況之間區(qū)分。
現(xiàn)在將描述圖3中例示的計算單元的操作。麥克風信號m(n)包括近端語音信號d(n)、背景噪聲v(n)以及由于遠端信號到麥克風中的耦合而產(chǎn)生的回聲信號e(n)。因此,麥克風信號的幅度譜M(k,l)可以根據(jù)近端信號的幅度譜D(k,l)、回聲信號的幅度譜E(k,l)以及背景噪聲信號的幅度譜V(k,l)記為:
M(k,l)=D(k,l)+E(k,l)+V(k,l) (1)
其中,k表示頻率窗口編號(頻域被離散地表示為多個頻率窗口),并且l表示幀編號。
計算單元306的增益估計器307被構(gòu)造成從麥克風信號過濾回聲,以形成近端信號Y(k,l)的估計。這可以通過針對各頻率窗口估計麥克風信號與近端信號之間的增益的測度來實現(xiàn)。通過將這種增益應用于各頻率窗口中的麥克風幅度譜的值,然后可以形成描述該頻率窗口中的近端信號的幅度譜的值。
合適的增益函數(shù)可以從麥克風信號與遠端信號(MFR)的比與近端信號與遠端信號(NFR)的比的估計導出。MFR可以以任何合適的方式來估計。平滑遠端信號可以是有利的。例如,可以對于遠端信號如下形成周期圖譜幅度譜
平滑因子β優(yōu)選地被選為使得周期圖譜估計保持遠端頻譜達麥克風信號中的回聲混響長度(如可以由任何合適手段確定的)。使用周期圖譜幅度譜代替遠端幅度譜提高了NSD的穩(wěn)定性。平滑后的遠端信號的生成可以在信號處理器303或計算單元306處執(zhí)行;在圖3中,在增益估計器307處形成平滑后的遠端信號。
然后,MFRγ(k,l)根據(jù)和M(k,l)估計如下:
近端信號對NSD 205不可用,但通過關于遠端信號和近端信號的特性進行特定假定,可以根據(jù)MFR形成NFR的估計。假定為:
1)縮放遠端信號以形成回聲信號的估計不影響遠端信號的頻率分量之間的比。
2)存在增益G的測度,該測度應用于麥克風信號的頻率窗口,從麥克風信號過濾回聲,以產(chǎn)生近端信號。
基于這些假定,近端信號與遠端信號的比NFR可以根據(jù)從M(k,l)譜減去然后半波整流的近端信號的之前估計幀來估計。在之前估計幀不可用的啟動期間,可以使用為零的近端估計來得到為零的NFR的初始值。該方案可以抑制近端信號中在麥克風信號M(k,l)和遠端信號中具有相當大幅值的頻率。為了形成語音狀況的準確且穩(wěn)定分類,遠端縮放(例如,如下所討論的在信號處理器303處的)和譜減法對麥克風信號影響通??珊雎浴FRξ(k,l)可以對于各頻率窗口例如定義為:
ξ(k,l)=αG(k,l-1)γ(k,l-1)+(1-α)MAX{γ(k,l)-1,0} (4)
NFR的更高值指示麥克風信號中的回聲等級低且預期增益G接近于整數(shù)。NFR的更低值指示麥克風信號中的回聲高且預期增益G對于含有回聲的頻率窗口接近于零。
麥克風與近端信號之間的合適的增益G測度可以表達為所估計近端與遠端比NFR的維納函數(shù):
增益函數(shù)可以通過假定語音特性在幀之間緩慢變化使得G(k,l)≈G(k,l-1)且r(k,l)≈r(k,l-1)來簡化。將算式(4)中表達的NFR代入增益函數(shù)(5)且為簡單起見而忽略編號k和l給出簡化的增益函數(shù):
這可以重寫為二次函數(shù):
G2(αγ)+G(1+(1-α)(γ-1)-αγ)+(1-α)(γ-1)=0 (7)
該算式的解為和因為α為常數(shù)且增益應為自適應的,所以不是有效解。因此,就γ而言簡化增益函數(shù)可以表達為:
從算式(8)可以理解,當遠端語音不存在或在其他方面麥克風信號中沒有回聲時,G=1,并且增益幅度譜的方差將等于麥克風信號的幅度譜的方差。假定背景噪聲V(k,l)=0,則算式(8)還可以使用上面的算式(1)簡化為如下:
回聲幅度譜E(k,l)可以使用回聲路徑脈沖響應H(k,l)(例如,圖2中所示轉(zhuǎn)換到頻域中的脈沖響應h)來建模為HX。因為預期所縮放的遠端信號散布回聲信號的全部頻率,所以根據(jù)從M(k,l)譜減去然后半波整流的近端信號的之前估計幀形成的估計增益可以抑制存在于麥克風信號中的回聲信號的全部。因此,對于只有回聲的時段,可以認為因為近端信號在只有回聲的時段中D=0,于是增益在只有回聲的時段中G≈0。
因此,根據(jù)上述假定,將理解,增益對于遠端信號的幅度譜相當大的頻率窗口將接近于零,并且增益對于遠端信號的幅度譜可忽略的頻率窗口將接近于1。
通過將所估計的增益G應用于麥克風信號的幅度譜M(k,l),可以形成真實近端信號D(k,l)的估計。表達為幅度譜的近端信號的估計稱為Y(k,l):
Y(k,l)=G(k,l)M(k,l) (10)
增益G(k,l)修改麥克風信號的幅度譜,以去除麥克風信號中的回聲的估計,因此提供近端信號的估計。增益可以通過將各頻率窗口的增益值k乘以該各頻率窗口中的麥克風信號的幅度來在麥克風信號上運算。這由圖3中的乘法器308指示,該乘法器可以或可以不被認為是增益估計器的一部分。
方差計算器310被構(gòu)造成形成增益G(k,l)和近端信號估計Y(k,l)跨頻率窗口的方差的測度。這種方差的測度可以以任何合適的方式來計算,包括作為各個幅度譜的數(shù)學方差、對于各個幅度譜的頻率窗口表達的值的方差的粗略測度以及作為對于各個幅度譜的頻率窗口表達的值的速度的其他測度(例如,標準偏差的測度)。例如,Y(k,l)的方差的測度可以由方差計算器根據(jù)以下算式來確定:
方差varY(l)在麥克風信號只有回聲的時段內(nèi)接近于零,在近端語音期間高(通常約等于麥克風信號的幅度譜的方差),并且該方差在雙端通話期間通常具有中間但波動的值。所估計近端信號的方差用于在回聲與近端語音時段之間區(qū)分。
類似地,G(k,l)的方差的測度可以由方差計算器根據(jù)以下算式來確定:
方差varG(l)在近端語音與麥克風信號只有回聲的時段這兩者內(nèi)都接近于零,但它在雙端通話期間具有相當大的幅度。麥克風信號和遠端信號的頻率窗口之間的相關的缺乏可能導致雙端通話期間的顯著增益波動和高方差varG(l)。因此,麥克風與近端信號之間的增益的方差用于識別通信系統(tǒng)200處的雙端通信的時段。
NSD 205可以包括其中存儲了用于遠端信號X(k,l)或麥克風信號M(k,l)以及增益G(k,l)中的一個或更多個的窗口值的窗口存儲309。窗口存儲可以保持來自多于一個幀的數(shù)據(jù),以能夠從之前幀向假設增益估計器提供值。增益估計器307和/或方差計算器310可以被構(gòu)造成從窗口存儲讀取和/或向窗口存儲書寫。例如,增益估計器可以被構(gòu)造成向窗口存儲書寫的值,并且在計算的當前窗口值時從窗口存儲讀取用于之前幀的的之前值。
如果遠端信號和麥克風信號實質(zhì)上包括無聲或背景噪聲,則增益和近端估計可以具有低值。然而,低等級無聲或背景噪聲信號的隨機性質(zhì)以及麥克風信號與遠端信號之間的相關的缺乏可能導致增益和近端估計的方差的顯著波動。為了允許可靠區(qū)分無聲和雙端通話,在決策期間還可以使用麥克風信號的幀能量的測度。能量計算器312可以被設置為確定麥克風幀能量的測度。NSD可以或可以不包括能量計算器;在一些平臺上,各麥克風的能量測度可以用作預計算的值(例如,由于系統(tǒng)的信號處理器303或另一個單元處的處理)。
麥克風信號的幀中的能量的測度可以以任何合適的方式來計算。例如,麥克風幀能量可以在時域中根據(jù)麥克風信號在能量計算器312處確定為:
其中,L為幀的長度。
信號分類器311被構(gòu)造成基于增益和近端信號的方差的測度且可選地基于麥克風幀能量Pm(l)在不同的語音狀況之間區(qū)分。信號分類器的輸出為輸出分類313,該輸出分類313可以以任意形式提供,以用于通信系統(tǒng)中或別處。例如,輸出分類可以為指示四個語音狀況(回聲、近端、雙端通信以及無聲)中的一個的0至3之間的數(shù)字。信號分類器可以在近端估計和增益這兩者的方差低時識別只有回聲的狀態(tài)。信號分類器可以在近端估計的方差高且增益的方差低時識別近端語音狀況。信號分類器可以在近端估計和增益這兩者的方差高時識別雙端通話狀態(tài)。
為了將語音狀況識別為雙端通話,信號分類器還可以檢查麥克風幀能量高。當麥克風幀能量低時(并且可選地為近端或增益放長都不低時),信號分類器可以將無聲(即,沒有遠端或近端語音)識別為通信系統(tǒng)處的語音狀況。被認為高的方差和幀能量的特定值依賴于被選擇以形成增益和近端方差以及幀能量的方法。可以采用實征取向,以識別用于這些參數(shù)的值被認為高/低于的方差和幀能量中的每一個的合適閾值。在一些實施方案中,可以歸一化方差和幀能量,以各位于0至1之間。
圖5中示出了流程圖,該流程圖例示了由信號分類器311為了在通信系統(tǒng)200處的不同語音狀況之間區(qū)分而執(zhí)行的一組示例性步驟。在接收決策參數(shù)501(近端估計方差、增益方差以及麥克風幀能量)時,信號分類器執(zhí)行一系列檢查502、504以及506。各檢查分別針對用于近端估計方差、增益方差以及麥克風幀能量的一組閾值T1、T2以及T3來執(zhí)行。閾值可以在信號分類器處預定義,或者可以根據(jù)通信系統(tǒng)200處所接收的遠端信號和麥克風信號的特性適應地確定。
檢查502驗證近端和增益方差是否在它們的各自閾值T1和T2之下和幀能量是否在它的閾值T3之上:如果滿足檢查,則將語音狀況輸出為只有回聲503。檢查504驗證近端方差是否在它的各閾值T1之上,增益方差是否在它的各閾值T2之下以及幀能量是否在它的閾值T3之上:如果滿足檢查,則將語音狀況輸出為近端語音505。檢查506驗證近端方差是否在它的各閾值T1之上,增益方差是否在它的各閾值T2之上以及幀能量是否在它的閾值T3之上:如果滿足檢查,則將語音狀況輸出為雙端通話507。如果檢查502、504或506都不滿足,則信號分類器將輸出分類輸出為無聲。
為了將幀時段分類為回聲、近端語音、雙端通話以及無聲,上面關于圖2、圖3以及圖5描述的近端語音檢測器205對麥克風信號和遠端信號逐幀地操作。典型的幀尺寸可以為大約10ms。
使信號處理器303執(zhí)行遠端與麥克風信號之間的同步以確保信號的幀彼此同步可以是有利的。這減輕由于幀處理延遲和回聲路徑上的延遲而引起的問題。使信號處理器303縮放遠端和/或麥克風信號以補償由回聲路徑引入的聲特性還可以是有利的。
圖4中示出了信號處理器303的示例性實施方式。信號處理器對遠端時域信號301和麥克風時域信號302進行操作。為了降低由NSD執(zhí)行的計算的復雜度,信號處理器可以包括被構(gòu)造成對遠端信號和麥克風信號進行降采樣的降采樣器401。通常,語音信號中的關鍵頻率信息位于300Hz與3500Hz之間,最重要的信息在500Hz與2000Hz之間。降采樣器401可以被構(gòu)造成將遠端信號和麥克風信號降采樣到大約4kHz,以將關鍵頻率信息維持在達2000Hz,并且放棄更不重要的更高頻率分量。
延遲線402可以添加到遠端信號路徑,以使遠端信號與麥克風信號同步。適當?shù)难舆t可以以任何合適的方式來識別,例如如美國專利申請2013/0163698所描述。麥克風信號中所捕獲的遠端信號的回聲將受通信系統(tǒng)的揚聲器、麥克風以及音頻接口的聲特性控制,而且將受由遠端信號路徑上的反射和其他現(xiàn)象所引起的人為現(xiàn)象控制。這些著色的凈效果可以應用于遠端信號,以估計由于遠端信號而存在于麥克風信號中的回聲。在圖3中,這通過在乘法器403處將遠端信號乘以因數(shù)λ來實現(xiàn)。因數(shù)可以被選擇為將遠端信號縮放為適于遠端信號在麥克風信號中的回聲的等級,和/或引入遠端信號的頻率分量的諧波。依賴于頻率的縮放功能可以以表達遠端信號對麥克風信號的貢獻的任何合適方式來形成,但合適因數(shù)λ實際上可以根據(jù)例如(回聲返回損失)ERL計算器404處形成的ERL的測度以最小的復雜度來確定。對于高正ERL值(例如,12dB),縮放遠端信號以產(chǎn)生回聲信號的估計可能導致支配近端信號的回聲、近端語音的消除以及可能的雙端通話分類,作為回聲。對于這種高正值ERL,可以使用低縮放因數(shù)(例如,1)。例如,低負值ERL(例如,-12dB),可以使用高縮放因數(shù)(例如,4)。NSD可以用高縮放因數(shù)(例如,4)來初始化。使用大于1的縮放因數(shù)可以通過使得麥克風信號飽和來模仿存在于遠端信號中的回聲諧波。
歸一化遠端信號和麥克風信號可以是有利的。這可以有助于使NSD的復雜度最小化。歸一化單元405可以被設置為提供這種信號歸一化。這可以根據(jù)僅從麥克風信號估計的歸一化因數(shù)而由歸一化單元應用于麥克風信號和遠端信號這兩者來執(zhí)行。歸一化因數(shù)可以被選擇為使得當將歸一化因數(shù)應用能夠于麥克風信號時,麥克風信號的功率是一致的。
信號處理器在快速傅里葉變換(FFT)406處將(潛在降采樣的、同步的、縮放的以及歸一化的)遠端信號和麥克風信號變換到頻率中。FFT 406可以被構(gòu)造成使用短時間傅里葉變換(STFT)來執(zhí)行該變換。因此,信號處理器的輸出為一對頻域信號:遠端信號X(k,l)304和麥克風信號MG(k,l)305。這些信號為近端語音檢測器205的計算單元306提供輸入。
圖6和圖7示出了流程圖,該流程圖分別例示了根據(jù)這里所述示例的信號處理器和近端信號檢測器的操作。信號處理器對來自通信系統(tǒng)的麥克風的麥克風信號601和從例如遠端通信系統(tǒng)接收的遠端信號602進行操作。首先,信號處理器將信號603降采樣至足以保持語音的關鍵頻率分量的4kHz。降采樣的麥克風信號用于估計歸一化因數(shù)604。降采樣的遠端信號例如通過將合適的延時插到遠端信號路徑中來與降采樣的麥克風信號同步。遠端信號由縮放因數(shù)λ來進一步縮放606,以將遠端信號的幅度與存在于麥克風信號中的遠端信號的回聲的預期幅度匹配。
然后,歸一化607降采樣的麥克風信號和降采樣的、同步且縮放的遠端信號,以生成時域信號m’(n)和x’(n)。然后,信號處理器被構(gòu)造成將這些信號轉(zhuǎn)換到頻域中608,以形成麥克風信號M(k,l)609和遠端信號X(k,l)610。
圖7例示了NSD對信號處理器的輸出的操作。NSD接收經(jīng)轉(zhuǎn)換的麥克風信號和遠端信號并例如根據(jù)上面的算式(3)形成麥克風信號與遠端信號的比(MFR)的估計703。然后,NSD例如根據(jù)上面的算式(4)從麥克風信號與遠端信號的比(MFR)估計705近端與遠端信號比(NFR)。該步驟可以根據(jù)對于步驟706處的之前幀形成的增益的測度來執(zhí)行(706:在附圖中,增益和MFR經(jīng)受單采樣延遲704,使得基于增益和MFR的之前值計算NFR)。然后,例如根據(jù)算式(5)對于706處的幀計算麥克風與近端信號之間的增益的測度。近端信號的估計例如根據(jù)算式(10)在乘法器707處由遠端信號610和估計的增益來形成。
形成708近端信號的增益和估計的方差,并且該方差用于分類709與NSD關聯(lián)的通信系統(tǒng)處的語音狀況。生成輸入分類710,以用于通信系統(tǒng)處(例如,系統(tǒng)的AEEF處),以使得能夠在近端語音和/或雙端通話期間凍結(jié)AEEF的系數(shù)。
如這里所述的近端語音檢測器在頻域中操作,以分類麥克風信號幀和遠端信號幀。NSD獨立于自適應回聲估計濾波器(AEEF)操作,并且不依賴于AEEF的參數(shù)。NSD基于所估計近端信號的幅度譜的方差和麥克風信號與所估計近端信號之間的增益的方差的測度來分類通信系統(tǒng)處的語音。因為NSD獨立于AEEF工作,所以提出的NSD可以用于ERL估計、平臺AEC檢測等或者需要通信系統(tǒng)處語音的分類的任意應用。
NSD可以含蓄或明確地對麥克風信號中的回聲建模,以抑制來自麥克風信號的回聲并形成近端信號的估計。當所估計的增益接近于最佳時,該增益從麥克風信號大大地去除回聲。然而,代替對于回聲消除而優(yōu)化,NSD可以被優(yōu)化為生成用于語音分類的參數(shù)。
圖8例示了具有麥克風、遠端以及近端信號的變化的決策參數(shù)varG(l)和varY(l)的變化。附圖中所例示的測試數(shù)據(jù)以近端語音的時段開始,然后是無聲、只有回聲的時段,然后是雙端通話。在近端語音的時段期間(即,近端活動而遠端不活動),近端方差varY(l)顯著,但增益方差varG(l)低。在無聲的時段期間,近端方差低,但增益方差波動且具有中間幅度。在只有回聲的時段期間(即,遠端活動而近端不活動),近端和增益方差這兩者具有低值。因為增益和近端方差參數(shù)在近端語音和只有回聲的時段期間具有不同的組合,所以增益和近端方差參數(shù)允許區(qū)分這些語音狀況。在雙端通話時段期間(即,近端和遠端這兩者活動),近端方差和增益方差這兩者高。還可以使近端方差和增益方差在無聲時段期間都具有高值(即,沒有近端或遠端語音,但可以有背景噪聲)。麥克風幀能量的測度可以用于在雙端通話與無聲之間區(qū)分。
圖9中對于圖8中所示的測試信號例示了近端信號檢測器205的輸出。在NSD的該特定實施方案中,NSD的輸出對于無聲被設置為-0.2,對于只有回聲被設置為-0.1,對于近端語音被設置為0,并且對于雙端通話被設置為0.1。在其他實施方案中,表示不同語音狀況的NSD輸出可以以任何方式來表達。從圖9可以注意到,NSD基于圖8中例示的近端和增益方差參數(shù)正確識別近端語音、無聲、回聲以及雙端通話的時段。此外,對于具有10ms長度幀的通信系統(tǒng),可以實現(xiàn)使用這里所述的NSD在10ms(即,一幀)內(nèi)檢測近端語音的開始。近端語音時段結(jié)束的開始可以在20ms內(nèi)檢測。
圖8和圖9所例示的測試數(shù)據(jù)根據(jù)ITU-T建議P.501來生成,回聲信號使用來自ITU-T建議P.340的房間脈沖響應來生成。
在麥克風信號含有獨立于任意回聲的顯著信號能量的許多情況下,能量將是由于在近端處交談而產(chǎn)生。這種情況在這里被方便地表示為“近端語音”。當然,信號能量可以是由于不同的聲音源而產(chǎn)生。這在電話會議或免提操作期間是特別實際的。因此,術語“近端語音”用于提及麥克風信號中不是由于回聲而產(chǎn)生的任意顯著信號能量。
圖2、圖3以及圖4的通信系統(tǒng)、近端語音檢測器以及信號處理器分別被示出為包括若干功能塊。這僅是示意性的,并且不旨在限定不同邏輯元件或部件之間的嚴格劃分。各功能塊可以以任何合適的方式來設置。
如這里所用的術語軟件和程序代碼包括用于處理器(例如,CPU和/或GPU)的可執(zhí)行代碼、固件、位元碼、編程語言代碼(諸如C或OpenCL)以及用于可重構(gòu)邏輯裝置的模塊(諸如FPGA)。機器可讀代碼包括軟件/程序代碼以及用于定義任意等級(包括寄存器傳送級(RTL)、高級電路表示(諸如Verilog或VHDL)以及更低級表示(諸如OASIS和GDSII))的集成電路的硬件表示的代碼。
這里所述的算法和方法可以由一個或更多個物理處理單元來執(zhí)行,該物理處理單元執(zhí)行使得單元執(zhí)行算法/方法的軟件。物理處理單元或各物理處理單元可以為任何合適的處理器(諸如CPU或GPU(或其核心))或固定功能或可編程硬件。機器可讀代碼可以以永久形式存儲在機器可讀介質(zhì)(諸如集成電路存儲器或光或磁存儲器)處。機器可讀介質(zhì)可以包括若干存儲器,諸如片上存儲器、計算機工作存儲器以及非易失性存儲裝置。
申請人在此孤立地公開了這里所述的各獨立特征和兩個或更多個這種特征的任意組合,達到這種特征或組合能夠鑒于本領域技術人員的普通常識整體基于本規(guī)范而進行的程度,不管這種特征或特征的組合是否解決這里所公開的任何問題,并且不對權(quán)利要求的范圍限制。申請人指示,本發(fā)明的方面可以由任意這種獨立特征或特征組合來組成。鑒于上述描述,對本領域技術人員將顯然的是,可以在本發(fā)明的范圍內(nèi)進行各種修改。