監視聲學回聲消除的性能的系統和方法
【專利說明】
[0001] 相關申請
[0002] 本申請要求2012年10月31日提交的美國專利申請No. 13/665,239的優先權,這 些申請的全部教導以引用的方式并入本文。
技術領域
[0003] 主題技術大體上涉及通信技術。更具體地,主題技術涉及監視聲學回聲消除的性 能。
【背景技術】
[0004] 一些通信設備(如實現因特網協議承載語音(VoIP)的電話或計算機)包括聲學 回聲消除器,聲學回聲消除器用于去除由通信設備的本地揚聲器播放的遠程來源音頻的回 聲,例如以防止遠程呼叫者聽到他/她自己的聲音。在一些情況下,聲學回聲消除器不佳地 操作以去除回聲或者未能去除回聲。
【發明內容】
[0005] 在一些方面中,提供了用于監視聲學回聲消除的性能的計算機實現方法。所述方 法包括:通過將第一聲學回聲消除算法應用到音頻輸入來促進生成音頻輸出。所述方法包 括:基于音頻輸出,通過第二聲學回聲消除算法來確定針對第一聲學回聲消除算法的一個 或多個性能度量。第一聲學回聲消除算法與第二聲學回聲消除算法是不同的。所述方法包 括:提供一個或多個性能度量以存儲在存儲器中。
[0006] 在一些方面中,提供了用于監視聲學回聲消除的性能的非暫時性計算機可讀介 質。所述計算機可讀介質包括指令。指令包括用于通過將第一聲學回聲消除算法應用到音 頻輸入來促進生成音頻輸出的代碼。指令包括用于基于音頻輸出通過第二聲學回聲消除算 法來確定針對第一聲學回聲消除算法的一個或多個性能度量的代碼。第一聲學回聲消除算 法與第二聲學回聲消除算法是不同的。指令包括用于提供一個或多個性能度量以存儲在存 儲器中的代碼。
[0007] 在一些方面中,提供了用于監視聲學回聲消除的性能的系統。所述系統包括處理 硬件和存儲器。存儲器包括指令。指令包括用于通過將第一聲學回聲消除算法應用到音頻 輸入來促進生成音頻輸出的代碼。指令包括用于基于音頻輸出通過第二聲學回聲消除算法 來確定針對第一聲學回聲消除算法的一個或多個性能度量的代碼。第一聲學回聲消除算法 與第二聲學回聲消除算法是不同的。指令包括用于提供一個或多個性能度量以進行存儲的 代碼。
【附圖說明】
[0008] 通過結合附圖給出的本發明的以下詳細描述,將更容易地理解以上討論,在附圖 中:
[0009] 圖1示出了用于監視聲學回聲消除的性能的系統的示例數據流圖。
[0010] 圖2示出了用于監視聲學回聲消除的性能的示例通信設備。
[0011] 圖3示出了用于監視聲學回聲消除的性能的示例過程。
[0012] 圖4概念性地示出了實現主題技術的一些實現的示例性電子系統。
【具體實施方式】
[0013] 如上所述,一些通信設備(如實現因特網協議承載語音(VoIP)的電話或計算機) 包括聲學回聲消除器,聲學回聲消除器用于去除由通信設備的本地揚聲器播放的遠程來源 音頻的回聲,例如以防止遠程呼叫者聽到他/她自己的聲音。在一些情況下,聲學回聲消除 器不佳地操作以去除回聲或者未能去除回聲。在這樣的情況下,可能需要監視聲學回聲消 除器的性能的技術,例如以確定聲學回聲消除器的操作質量,并且如果可能且必要的話,對 聲學回聲消除器的軟件進行更新。
[0014] 根據主題技術的一些方面,通過將第一聲學回聲消除算法應用到音頻輸入來生成 音頻輸出。通過第二聲學回聲消除算法來確定針對第一聲學回聲消除算法的基于音頻輸出 的一個或多個性能度量。提供了 一個或多個性能度量以存儲在存儲器中。
[0015] 第一聲學回聲消除算法與第二聲學回聲消除算法是不同的,這是因為如果第一聲 學回聲消除算法未能去除回聲或噪聲,則第一聲學回聲消除算法意識不到沒有去除的回聲 或噪聲。因此,第一聲學回聲消除算法不能監視其自己的性能。然而,憑借第二聲學回聲消 除算法不同于第一聲學回聲消除算法,第二聲學回聲消除算法可以注意到第一聲學回聲消 除算法未能去除的回聲或噪聲。
[0016] 圖1示出了用于監視聲學回聲消除的性能的系統100的示例數據流圖。
[0017] 可以使用電話(例如移動電話或固定陸線電話)或執行電話程序(例如蜂窩呼叫 程序、因特網協議承載語音(VoIP)程序、包括如語音或視頻聊天能力的在線會議程序、或 者語音或視頻聊天程序)的任何計算設備來實現系統100。在一些示例中,電話或計算設備 在揚聲電話模式下操作。如圖所示,系統100包括揚聲器102、麥克風106、接收機110、主聲 學回聲消除器(AEC) 112、輔AEC 114以及發射機116。
[0018] 如圖1所示,遠程呼叫者120向接收機110提供遠端音頻信號,并且接收機向揚 聲器102提供遠端音頻信號。然后,揚聲器102播放遠端音頻信號(例如"嗨,吉姆")104。 遠程呼叫者可以與經由電話或電話程序呼叫本地用戶的遠程用戶相對應。本地用戶可以接 受或應答呼叫,并且向麥克風106提供音頻響應(例如"你好")108。輸入到麥克風的音頻 (近端音頻信號)包括從揚聲器104播放的遠端音頻信號和來自本地用戶的本地來源音頻 響應108。
[0019] 主AEC 112接收輸入到麥克風106的來自接收機110的遠端音頻信號和近端音頻 信號作為輸入。主AEC 112通過從輸入到麥克風的近端音頻信號中完全地或部分地濾除遠 端音頻信號,來操作以生成音頻輸出,使得只有本地來源音頻響應108可以發送到遠程呼 叫者。(例如,主AEC 112試圖確保遠程呼叫者聽到本地呼叫者說的"你好"108,但是聽不 到遠程呼叫者說的"嗨,吉姆" 112)。在一些情況下,主AEC112可能未能成功地從音頻輸入 中濾除遠端音頻信號。主AEC 112還可以從近端音頻信號中濾除噪聲(例如白噪聲、背景 噪聲、空氣或車輛噪聲等等)。為了從近端音頻信號中濾除遠端音頻信號,主AEC 112使用 聲學回聲消除算法,例如來自開源庫WebRTC的AEC或AECM(AEC移動)。主AEC 112向發射 機116和輔AEC 114提供音頻輸出。
[0020] 可以用軟件或硬件來實現主AEC 112。主AEC 112可以位于與揚聲器102和麥克 風106相同的計算設備上。備選地,主AEC 112可以位于與揚聲器102和麥克風106的計 算設備不同的網絡(例如通過云計算)或服務器上。
[0021] 發射機116向遠程呼叫者120發送(來自主AEC 112的)音頻輸出,使得遠程呼叫 者120可以聽到音頻響應108。遠程呼叫者120可以向接收機110發送附加音頻數據(例 如附加遠端音頻信號)。如圖所示,發射機116和接收機110是不同的設備。然而,在一些 方面中,發射機116和接收機110可以實現在相同的設備中。例如,發射機116和接收機 110兩者可以包括在網絡接口中,所述網絡接口包括一個或多個網絡接口卡(NIC)。
[0022] 輔AEC114接收輸入到主AEC的近端音頻信號、來自主AEC112的音頻輸出或者來 自接收機110的遠端音頻信號中的一個或多個。在一些方面中,輔AEC 114獨立地從音頻輸 入中完全地或部分地濾除遠端音頻信號。例如通過將主AEC 112過濾的結果與輔AEC 114 過濾的結果進行比較,輔AEC 114確定主AEC 112的一個或多個AEC性能度量118。AEC性 能度量118可以包括音頻輸出的信號(音頻響應108)電平或音頻輸出的噪聲(遠端音頻 信號104或其它噪聲)電平。AEC性能度量118可以包括回聲回波損耗(ERL)、回聲回波損 耗增強(ERLE)或殘留回聲回波損耗(RERL)。
[0023] 輔AEC 114執行與主AEC 112不同的聲學回聲消除算法。因此,輔AEC 114能夠 檢測主AEC檢測回聲(例如遠端音頻信號的回聲)或噪聲(例如背景噪聲)的失敗。可以 用軟件或硬件來實現輔AEC 114。輔AEC 114可以位于與揚聲器102和麥克風106相同的 計算設備上。備選地,輔AEC 114可以位于與揚聲器102和麥克風106的計算設備不同的 網絡(例如通過云計算)或服務器