IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ テンセント・アメリカ・エルエルシーの特許一覧

特表2025-505210リカレントニューラルネットワークを用いた統一的音響エコー抑制のための方法、装置およびプログラム
<>
  • 特表-リカレントニューラルネットワークを用いた統一的音響エコー抑制のための方法、装置およびプログラム 図1
  • 特表-リカレントニューラルネットワークを用いた統一的音響エコー抑制のための方法、装置およびプログラム 図2
  • 特表-リカレントニューラルネットワークを用いた統一的音響エコー抑制のための方法、装置およびプログラム 図3
  • 特表-リカレントニューラルネットワークを用いた統一的音響エコー抑制のための方法、装置およびプログラム 図4
  • 特表-リカレントニューラルネットワークを用いた統一的音響エコー抑制のための方法、装置およびプログラム 図5
  • 特表-リカレントニューラルネットワークを用いた統一的音響エコー抑制のための方法、装置およびプログラム 図6
  • 特表-リカレントニューラルネットワークを用いた統一的音響エコー抑制のための方法、装置およびプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-21
(54)【発明の名称】リカレントニューラルネットワークを用いた統一的音響エコー抑制のための方法、装置およびプログラム
(51)【国際特許分類】
   G10L 21/0264 20130101AFI20250214BHJP
   G10L 15/20 20060101ALI20250214BHJP
   G10L 25/30 20130101ALI20250214BHJP
   H04R 3/02 20060101ALI20250214BHJP
【FI】
G10L21/0264 Z
G10L15/20 370D
G10L25/30
H04R3/02
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024547010
(86)(22)【出願日】2022-09-01
(85)【翻訳文提出日】2024-08-07
(86)【国際出願番号】 US2022042324
(87)【国際公開番号】W WO2023244256
(87)【国際公開日】2023-12-21
(31)【優先権主張番号】17/840,188
(32)【優先日】2022-06-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】ユー,モン
(72)【発明者】
【氏名】シュー,ヨン
(72)【発明者】
【氏名】ザン,チュエンレイ
(72)【発明者】
【氏名】ザン,シ-シォン
(72)【発明者】
【氏名】ユー,ドン
【テーマコード(参考)】
5D220
【Fターム(参考)】
5D220CC01
(57)【要約】
少なくとも1つのプロセッサによって実行される、リカレントニューラルネットワークを使用する音響エコー抑制の方法が提供される。本方法は、マイクロフォン信号および遠端参照信号を受領するステップと;前記マイクロフォン信号および前記遠端参照信号に基づいてエコー抑制された信号およびエコー信号を推定するステップと;前記エコー抑制された信号および前記エコー信号に基づいて前記マイクロフォン信号のための向上フィルタを推定するステップと;前記向上フィルタに基づいて向上信号を生成するステップと;自動利得制御(AGC)を使用して前記向上信号を調整し、調整された信号を出力するステップとを含む。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによって実行される、リカレントニューラルネットワークを使用する音響エコー抑制の方法であって:
マイクロフォン信号および遠端参照信号を受領するステップと;
前記マイクロフォン信号および前記遠端参照信号に基づいてエコー抑制された信号およびエコー信号を推定するステップと;
前記エコー抑制された信号および前記エコー信号に基づいて前記マイクロフォン信号のための向上フィルタを推定するステップと;
前記向上フィルタに基づいて向上信号を生成するステップと;
自動利得制御(AGC)を使用して前記向上信号を調整し、調整された信号を出力するステップとを含む、
方法。
【請求項2】
第1ステージおよび第2ステージをさらに含み、前記エコー抑制された信号および前記エコー信号は前記第1ステージによって推定され、前記向上フィルタは前記第2ステージによって推定される、請求項1に記載の方法。
【請求項3】
前記第1ステージは:
前記マイクロフォン信号および前記遠端参照信号に基づいて第1の共分散行列を計算するステップと;
第1の線形投影フィルタを通じて前記第1の共分散行列を処理し、前記第1の線形投影フィルタの結果をエンコードして第1ステージ・フィルタを推定するステップと;
時間‐周波数シフトされたマイクロフォン信号および遠端参照信号に前記第1ステージ・フィルタを適用するステップと;
前記エコー抑制された信号および前記エコー信号を出力するステップとをさらに含む、
請求項2に記載の方法。
【請求項4】
前記第2ステージは:
前記第1の線形投影フィルタと、前記エコー抑制された信号および前記エコー信号の正規化された対数パワースペクトルとに基づいて第2ステージ入力特徴を生成するステップと;
第2の線形投影フィルタを通じて前記第2ステージ入力特徴を処理し、前記第2の線形投影フィルタの結果をエンコードして第2ステージ・フィルタを推定し、前記第2ステージ・フィルタを適用して目標発話およびマイクロフォン・ノイズのチャネルを推定するステップと;
目標発話およびマイクロフォン・ノイズの推定されたチャネルに基づいて第2の共分散行列を計算するステップと;
前記リカレントニューラルネットワークを通じて前記第2の共分散行列を処理して、前記向上フィルタを出力するステップとを含む、
請求項3に記載の方法。
【請求項5】
前記マイクロフォン信号が、目標発話、歪んだ遠端参照信号、およびマイクロフォン・ノイズを含む、請求項1に記載の方法。
【請求項6】
時間領域におけるスケール不変な信号対歪み比、および前記向上信号と目標信号との間のスペクトルの大きさの差のL1ノルムに基づいて損失関数を計算するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記向上信号を調整することが:
前記AGCの大きさを予測するために向上信号の大きさをエンコードするステップと;
前記向上信号の位相に基づいて時間領域においてAGC信号を生成するステップと;
前記AGC信号に基づいて前記向上信号を調整するステップとを含む、
請求項1に記載の方法。
【請求項8】
少なくとも1つのプロセッサと;
前記少なくとも1つのプロセッサに請求項1ないし7のうちいずれか一項に記載の方法を実行させるためのコンピュータ・プログラムを記憶している少なくとも1つのメモリとを有する、
装置。
【請求項9】
少なくとも1つのプロセッサに請求項1ないし7のうちいずれか一項に記載の方法を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本願は、2022年6月14日に米国特許商標庁に出願された米国特許出願第17/840,188号の優先権を主張するものであり、その開示は、その全体が参照により本明細書に組み込まれる。
【0002】
分野
本開示の例示的な実施形態と整合する装置および方法は、一般に、発話向上のための、ニューラルネットワークおよび深層学習を用いたデータ処理に関する。具体的には、実施形態は、音響エコーキャンセレーション(acoustic echo cancellation、AEC)を実行し、エコーおよびノイズ抑制を改善するための、統一されたモデルにおけるNeuralEchoモデルおよび自動利得制御(automatic gain control、AGC)タスクのトレーニングに関する。
【背景技術】
【0003】
音響エコーキャンセレーション(AEC)は、全二重音声通信において重要な役割を果たすとともに、ラウドスピーカーが再生する時の状況における認識のためのフロントエンド発話向上においても重要な役割を果たす。
【0004】
関連技術において、音響エコー経路を推定するための適応フィルタリング方法および線形エコーキャンセレーションが研究されてきた。正規化最小平均二乗フィルタ(たとえば、周波数領域の適応フィルタおよびマルチ遅延のブロック周波数領域適応フィルタ)は、そのロバスト性と低複雑性のため、広く用いられている。非線形後処理は、典型的には、残留エコー抑制のためにカスケード化される。しかしながら、これらの方法は、非線形エコー歪み、エコー経路変化、および非定常ノイズについては効率的ではない。そのため、非線形エコー歪みとエコー経路遅延をより良く扱うエコー抑制システムを開発するために、深層ニューラルネットワーク(たとえば、複素数値のDNN、長短期記憶ネットワーク、マルチヘッド自己アテンション)が採用されている。関連技術では、線形適応フィルタリングに続くニューラルネットワークに基づく残留エコー抑制が、AECシステム設計のためのハイブリッド・システムを形成するために採用され、有望な結果を達成している。
【0005】
関連技術はまた、2ステージの多チャネル合同AECとビームフォーミング、およびオーディオ・フロントエンドAEC、ノイズ抑制、およびAGCをサポートするNN3Aモデルを記載している。AECは、エンドツーエンドの教師付き発話向上問題としても定式化されており、そこでは近端目標スピーカーを抽出するためのマスクを予測するためにニューラルネットワークが採用されている。何らかの関連技術では、二重信号変換LSTMネットワーク(dual signal transformation LSTM network、DTLN)がAECタスクに採用され、アテンション機構を備えたWave-U-Netベースの音響エコーキャンセレーションが、音響エコーと背景ノイズを合同的に抑制するために提案されている。周波数-時間-LSTM(frequency-time-LSTM、F-T-LSTM)と一緒に複雑なニューラルネットワークを使用することは、重要な位相情報モデリングと時間的モデリングを提供し、AECにおける最良の諸方法を凌駕する。
【発明の概要】
【発明が解決しようとする課題】
【0006】
実施形態によれば、音響エコーキャンセレーション(AEC)を実行し、エコーおよびノイズ抑制を改善するために、統一モデルでトレーニングされたNeuralEchoモデルおよび自動利得制御(AGC)を介した音響エコー抑制のための方法が提供される。
【課題を解決するための手段】
【0007】
本開示のある側面によれば、リカレントニューラルネットワークを使用する音響エコー抑制のための方法が、少なくとも1つのプロセッサによって実行される。本方法は、マイクロフォン信号および遠端参照信号を受領するステップと、マイクロフォン信号および遠端参照信号に基づいてエコー抑制された信号およびエコー信号を推定するステップと、エコー抑制された信号およびエコー信号に基づいてマイクロフォン信号のための向上フィルタを推定するステップと、向上フィルタに基づいて向上信号を生成するステップと、自動利得制御(AGC)を使用して向上信号を調整し、調整された信号を出力するステップとを含む。
【0008】
本方法は、第1ステージおよび第2ステージをさらに含んでいてもよく、エコー抑制された信号およびエコー信号は第1ステージによって推定され、向上フィルタは第2ステージによって推定される。
【0009】
本方法は、第1ステージにおいて、マイクロフォン信号および遠端参照信号に基づいて第1の共分散行列を計算するステップと、第1の線形投影フィルタを通じて第1の共分散行列を処理し、第1の線形投影フィルタの結果をエンコードして第1ステージ・フィルタを推定するステップと、時間‐周波数シフトされたマイクロフォン信号および遠端参照信号に第1ステージ・フィルタを適用するステップと、エコー抑制された信号およびエコー信号を出力するステップとをさらに含んでいてもよい。
【0010】
本方法は、さらに、第2ステージにおいて、第1の線形投影フィルタと、エコー抑制された信号およびエコー信号の正規化された対数パワースペクトルとに基づいて第2ステージ入力特徴を生成するステップと、第2の線形投影フィルタを通じて第2ステージ入力特徴を処理するステップと、第2の線形投影フィルタの結果をエンコードして第2ステージ・フィルタを推定するステップと、第2ステージ・フィルタを適用して目標発話およびマイクロフォン・ノイズのチャネルを推定するステップと、目標発話およびマイクロフォン・ノイズの推定されたチャネルに基づいて第2の共分散行列を計算するステップと、リカレントニューラルネットワークを通じて第2の共分散行列を処理して向上フィルタを出力するステップとを含んでいてもよい。
【0011】
本方法は、マイクロフォン信号が、目標発話、歪んだ遠端参照信号、およびマイクロフォン・ノイズを含むことをさらに含みうる。
【0012】
本方法は、時間領域におけるスケール不変な信号対歪み比、および向上信号と目標信号との間のスペクトルの大きさの差のL1ノルムに基づいて損失関数を計算することをさらに含みうる。
【0013】
本方法は、さらに、向上信号を調整することが、AGCの大きさを予測するために向上信号の大きさをエンコードし、向上信号の位相に基づいて時間領域においてAGC信号を生成し、AGC信号に基づいて向上信号を調整することを含みうる。
【0014】
本開示の別の側面によれば、リカレントニューラルネットワークを使用する音響エコー抑制のための装置は、プログラムコードを格納するように構成された少なくとも1つのメモリと、プログラムコードを読み取り、プログラムコードの指示に従って動作するように構成された少なくとも1つのプロセッサとを含む。プログラムコードは、前記少なくとも1つのプロセッサにマイクロフォン信号および遠端参照信号を受領させるように構成された受領コードと、前記少なくとも1つのプロセッサにマイクロフォン信号および遠端参照信号に基づいてエコー抑制された信号およびエコー信号を推定させるように構成された信号推定コードと、前記少なくとも1つのプロセッサにエコー抑制された信号およびエコー信号に基づいてマイクロフォン信号のための向上フィルタを推定させるように構成されたフィルタ推定コードと、前記少なくとも1つのプロセッサに向上フィルタに基づいて向上信号を生成させるように構成された生成コードと、前記少なくとも1つのプロセッサに自動利得制御(AGC)を使用して向上信号を調整させ、調整された信号を出力させるように構成された調整コードとを含む。
【0015】
本装置は、第1ステージおよび第2ステージをさらに含んでいてもよく、エコー抑制された信号およびエコー信号は第1ステージによって推定され、向上フィルタは第2ステージによって推定される。
【0016】
本装置はさらに、第1ステージにおいて、前記少なくとも1つのプロセッサに、マイクロフォン信号および遠端参照信号に基づいて第1の共分散行列を計算させるように構成された計算コードと、前記少なくとも1つのプロセッサに、第1の線形投影フィルタを通じて第1の共分散行列を処理させ、第1の線形投影フィルタの結果をエンコードして第1ステージ・フィルタを推定させるように構成された処理コードと、前記少なくとも1つのプロセッサに、時間‐周波数シフトされたマイクロフォン信号および遠端参照信号に第1ステージ・フィルタを適用させるように構成された適用コードと、前記少なくとも1つのプロセッサに、エコー抑制された信号およびエコー信号を出力させるように構成された出力コードとを含んでいてもよい。
【0017】
本装置はさらに、第2ステージにおいて、前記少なくとも1つのプロセッサに、第1の線形投影フィルタと、エコー抑制された信号およびエコー信号の正規化された対数パワースペクトルとに基づいて、第2ステージ入力特徴を生成させるように構成された第2の生成コードと、前記少なくとも1つのプロセッサに、第2の線形投影フィルタを通じて第2ステージ入力特徴を処理させ、第2の線形投影フィルタの結果をエンコードして第2ステージ・フィルタを推定し、第2ステージ・フィルタを適用して目標発話およびマイクロフォン・ノイズのチャネルを推定させるように構成された第2の処理コードと、前記少なくとも1つのプロセッサに、目標発話およびマイクロフォン・ノイズの推定されたチャネルに基づいて、第2の共分散行列を計算させるように構成された第2の計算コードと、前記少なくとも1つのプロセッサに、リカレントニューラルネットワークを通じて第2の共分散行列を処理させ、向上フィルタを出力させるように構成された第3処理コードとを含むことができる。
【0018】
本装置は、マイクロフォン信号が、目標発話、歪んだ遠端参照信号、およびマイクロフォン・ノイズを含むことをさらに含みうる。
【0019】
本装置は、前記少なくとも1つのプロセッサに、時間領域におけるスケール不変な信号対歪み比、および向上信号と目標信号との間のスペクトルの大きさの差のL1ノルムに基づいて損失関数を計算させるように構成された計算コードをさらに含みうる。
【0020】
本装置は、調整コードにおいて、前記少なくとも1つのプロセッサに、AGCの大きさを予測するために向上信号の大きさをエンコードさせるように構成されたエンコード・コード、前記少なくとも1つのプロセッサに、向上信号の位相に基づいて時間領域におけるAGC信号を生成させるように構成されたAGC生成コード、および前記少なくとも1つのプロセッサに、AGC信号に基づいて向上信号を調整させるように構成された第2の調整コードをさらに含みうる。
【0021】
本開示の別の側面によれば、非一時的なコンピュータ可読媒体が、リカレントニューラルネットワークを用いた音響エコー抑制のための装置の少なくとも1つのプロセッサによって実行される命令を格納している。命令は、前記少なくとも1つのプロセッサに、マイクロフォン信号および遠端参照信号を生成するステップと、マイクロフォン信号および遠端参照信号に基づいてエコー抑制された信号およびエコー信号を推定するステップと、エコー抑制された信号およびエコー信号に基づいてマイクロフォン信号のための向上フィルタを推定するステップと、向上フィルタに基づいて向上信号を生成するステップと、自動利得制御(AGC)を用いて向上信号を調整し、調整された信号を出力するステップとを実行させる。
【0022】
非一時的なコンピュータ可読媒体は、第1ステージおよび第2ステージをさらに含んでいてもよく、エコー抑制された信号およびエコー信号は第1ステージによって推定され、向上フィルタは第2ステージによって推定される。
【0023】
非一時的なコンピュータ可読媒体は、前記命令が、前記少なくとも1つのプロセッサに、第1ステージにおいて、マイクロフォン信号および遠端参照信号に基づいて第1の共分散行列を計算するステップと、第1の線形投影フィルタを通じて第1の共分散行列を処理して、第1の線形投影フィルタの結果をエンコードして第1ステージ・フィルタを推定するステップと、第1ステージ・フィルタを、時間‐周波数シフトされたマイクロフォン信号および遠端参照信号に適用するステップと、エコー抑制された信号およびエコー信号を出力するステップとを実行させることをさらに含みうる。
【0024】
非一時的なコンピュータ可読媒体は、前記命令が、さらに、前記少なくとも1つのプロセッサに、第2ステージにおいて、第1の線形投影フィルタと、エコー抑制された信号およびエコー信号の正規化された対数パワースペクトルとに基づいて第2ステージ入力特徴を生成するステップと、第2の線形投影フィルタを通じて第2ステージの入力特徴を処理するステップと、第2の線形投影フィルタの結果をエンコードして第2ステージ・フィルタを推定するステップと、第2ステージ・フィルタを適用して目標発話およびマイクロフォン・ノイズのチャネルを推定するステップと、目標発話およびマイクロフォン・ノイズの推定されたチャネルに基づいて第2の共分散行列を計算するステップと、リカレントニューラルネットワークを通じて第2の共分散行列を処理して、向上フィルタを出力するステップを実行させることを含みうる。
【0025】
非一時的なコンピュータ可読媒体は、マイクロフォン信号が、目標発話、歪んだ遠端参照信号、およびマイクロフォン・ノイズを含むことをさらに含みうる。
【0026】
非一時的なコンピュータ可読媒体は、前記命令が、前記少なくとも1つのプロセッサに、時間領域におけるスケール不変な信号対歪み比、および向上信号と目標信号との間のスペクトルの大きさの差のL1ノルムに基づいて損失関数を計算させることをさらに含みうる。
【0027】
追加的な実施形態が、以下の説明に記載され、部分的には、該説明から明らかになり、および/または本開示の提示された実施形態の実施によって認識されうる。
【図面の簡単な説明】
【0028】
本開示の実施形態の上記および他の側面、特徴、および側面は、以下の添付図面との関連で以下の説明からより明白になるであろう。
【0029】
図1】一つまたは複数の実施形態によるシステムのデバイスの図である。
【0030】
図2図1の一つまたは複数のデバイスの構成要素の図である。
【0031】
図3】ある実施形態によるシステムのブロック図である。
【0032】
図4】ある実施形態による、2ステージの単一チャネル音響エコーキャンセレーション(AEC)およびノイズ削減を備えたNeuralEchoモデルを示す。
【0033】
図5】ある実施形態による、自動利得制御(AGC)を備えたNeuralEchoモデルを示す。
【0034】
図6】ある実施形態による、エンドツーエンドのスピーカー・ダイアライゼーション(EESD)の方法のフローチャートである。
【0035】
図7】ある実施形態による、エンドツーエンドのスピーカー・ダイアライゼーション(EESD)のブロック図である。
【発明を実施するための形態】
【0036】
例示的な実施形態の以下の詳細な説明は、添付の図面を参照する。異なる図面における同じ参照番号は、同じまたは類似の要素を識別することがある。
【0037】
前述の開示は、例示および説明を提供するが、網羅的であること、または実装を開示された厳密な形に限定することは意図されていない。修正および変形が、上記の開示に照らして可能であり、または実装の実施から得られることがありうる。さらに、ある実施形態の一つまたは複数の特徴または構成要素が、別の実施形態(または別の実施形態の一つまたは複数の特徴)に組み込まれたり、またはそれと組み合わされたりしてもよい。さらに、以下に提供されるフローチャートおよび動作の説明において、一つまたは複数の動作が省略されてもよく、一つまたは複数の動作が追加されてもよく、一つまたは複数の動作が同時に(少なくとも部分的に)実行されてもよく、一つまたは複数の動作の順序が切り換えられてもよいことが理解される。
【0038】
本明細書に記載されるシステムおよび/または方法は、異なる形のハードウェア、ファームウェア、またはハードウェアとソフトウェアの組み合わせで実装されてもよいことは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の特化した制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。よって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本明細書に記載された。ソフトウェアおよびハードウェアは、本明細書の記載に基づいてシステムおよび/または方法を実装するように設計されてもよいことが理解される。
【0039】
特徴の具体的な組み合わせが特許請求の範囲に記載され、および/または明細書に開示されているとしても、これらの組み合わせは、可能な実装の開示を限定することは意図していない。実際、これらの特徴の多くは、特許請求の範囲に具体的に記載されていないおよび/または明細書に開示されていない仕方で組み合わされてもよい。以下に列挙される各従属請求項は、1つの請求項のみに直接従属することがあるが、可能な実装の開示は、各従属請求項を特許請求の範囲における他のすべての請求項との組み合わせを含む。
【0040】
本明細書で使用される要素、動作、または命令は、そのように明示的に記載されていない限り、枢要または必須であると解釈されるべきではない。また、本明細書で使用されるように、冠詞「a」および「an」は、一つまたは複数の項目を含むことを意図しており、「一つまたは複数」と交換可能に使用されうる。1つの項目のみが意図されている場合、用語「1つ」または類似の言辞が使用される。また、本明細書で使用されるところでは、用語「有する」、「もつ」、「有している」、「含む」、「含んでいる」などは、オープンエンドの用語であることが意図されている。さらに、句「…に基づく」は、そうでないことが特に明記されない限り、「少なくとも部分的には…に基づく」を意味することを意図している。さらに、「[A]および[B]の少なくとも1つ」または「[A]または[B]の少なくとも1つ」のような表現は、Aのみ、Bのみ、またはAとBの両方を含むものとして理解されるべきである。
【0041】
本開示の例示的な実施形態は、特に、音響エコー抑制を実行するための方法、装置、およびコンピュータ・プログラムを提供する。ハンズフリー装置および遠隔会議の使用の増加に伴い、発話ベースの人間‐機械対話および音声通信が普及しており、よって、改良された音響エコーキャンセレーション(AEC)モデルが有利でありうる。
【0042】
音響エコーは、ラウドスピーカーからの音であって、近端マイクロフォンによって受領され、次いで遠端の聴取者または発話認識エンジンに送信されるものによって引き起こされる。発話信号の品質は、音響エコー、環境ノイズ、部屋の残響、ハードウェア受信機、デジタル信号処理、およびネットワーク伝送によって劣化する。そのような干渉信号は、遠隔会議システム、移動通信、およびハンズフリーの人間‐機械対話における音声品質を劣化させ、AECアルゴリズムの性能を制限する。
【0043】
以下に記載される例示的な実施形態は、音響エコー抑制のためにリカレントニューラルネットワークによる全深層学習ベースの(all-deep-learning based)AECシステムを使用するシステム、方法、およびコンピュータ・プログラムを提供する。エンドツーエンドの2ステージの単一チャネルAECおよびノイズ削減モデル(すなわち、NeuralEchoモデル)が、音響エコー抑制を実行するために使用される。第1ステージでは、モデルは、エコー信号およびAEC出力を暗黙的に推定する。エコー/ノイズ共分散行列と目標発話共分散行列は、推定されたエコー・チャネル、AEC出力チャネル、および入力マイクロフォン・チャネルを通じて推定される。第2ステージでは、エコー/ノイズと目標発話の2次統計を与えられて、発話向上フィルタが予測される。このモデルは、より良いエコー/ノイズ削減と目標スピーカー保存のために、クロスチャネル2次統計を活用する。RNNモデル構造とともに、マルチヘッド自己アテンションが時間を通じて用いられ、関連する特徴を動的に強調する。
【0044】
さらに、特徴ごとの線形変調(feature-wise linear modulation、FiLM)が、目標スピーカー埋め込みベクトルを他の音響特徴と組み合わせるために使用される。これは、ネットワークがエコーや他の干渉から目標発話信号をより良く分離できるようにする。リアルタイム通信(real-time communication、RTC)で需要の高い明瞭な音レベルまで発話信号を増幅するために、AGCブランチもシステムに統合される。特に、伝統的なAGCアルゴリズムが後処理ステージに置かれる。NeuralEchoモデルとAGCブランチを統一モデルの一部として一緒にトレーニングすることにより、AGCブランチの出力は、処理された信号を適切な音レベルに調整するだけでなく、発話認識精度も改善する。
【0045】
図1は、諸実施形態による、本明細書に記載された音響エコー抑制のための方法、装置、およびシステムが実装されうる環境100の図である。
【0046】
図1に示されるように、環境100は、ユーザー装置110、プラットフォーム120、およびネットワーク130を含みうる。環境100の装置は、有線接続、無線接続、または有線接続と無線接続の組み合わせを介して相互接続することができる。
【0047】
ユーザー装置110は、プラットフォーム120に関連する情報を受領、生成、格納、処理、および/または提供することができる一つまたは複数の装置を含む。たとえば、ユーザー装置110は、コンピューティングデバイス(たとえば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、スマートスピーカー、サーバーなど)、携帯電話(たとえば、スマートフォン、無線電話など)、ウェアラブルデバイス(スマートグラスやスマートウォッチなど)、または同様の装置を含むことができる。いくつかの実装では、ユーザー装置110は、プラットフォーム120から情報を受信し、および/またはプラットフォーム120に情報を送信することができる。
【0048】
プラットフォーム120は、本明細書の他の箇所に記載されるように、一つまたは複数の装置を含む。いくつかの実装では、プラットフォーム120は、クラウドサーバーまたはクラウドサーバーのグループを含むことができる。いくつかの実装では、プラットフォーム120はモジュール式に設計されてもよく、ソフトウェアコンポーネントがスワップインまたはスワップアウトされうる。このように、プラットフォーム120は、異なる用途のために容易かつ/または迅速に再構成されうる。
【0049】
いくつかの実装では、図示されるように、プラットフォーム120は、クラウドコンピューティング環境122においてホストされうる。特に、本明細書に記載される実装は、クラウドコンピューティング環境122においてホストされるものとしてプラットフォーム120を記述するが、いくつかの実装では、プラットフォーム120は、クラウドベースでなくてもよく(すなわち、クラウドコンピューティング環境の外で実装されてもよい)、または部分的にクラウドベースであってもよい。
【0050】
クラウドコンピューティング環境122は、プラットフォーム120をホストする環境を含む。クラウドコンピューティング環境122は、プラットフォーム120をホストするシステムおよび/またはデバイスの物理的な位置および構成に関するエンドユーザー(たとえば、ユーザー装置110)の知識を必要としない、計算、ソフトウェア、データアクセス、ストレージなどのサービスを提供することができる。図示されているように、クラウドコンピューティング環境122は、コンピューティング資源124のグループ(集合的に「コンピューティング資源124」と呼ばれ、個別に「コンピューティング資源124」と呼ばれる)を含みうる。
【0051】
コンピューティング資源124は、一つまたは複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバーデバイス、または他のタイプのコンピューティングおよび/または通信デバイスを含む。いくつかの実装では、コンピューティング資源124は、プラットフォーム120をホストすることができる。クラウド資源は、コンピューティング資源124において実行されるコンピューティングインスタンス、コンピューティング資源124において提供されるストレージデバイス、コンピューティング資源124によって提供されるデータ転送デバイスなどを含みうる。いくつかの実装では、コンピューティング資源124は、有線接続、無線接続、または有線接続と無線接続の組み合わせを介して他のコンピューティング資源124と通信することができる。
【0052】
図1にさらに示されるように、コンピューティング資源124は、一つまたは複数のアプリケーション(「APP」)124-1、一つまたは複数の仮想マシン(「VM」)124-2、仮想化ストレージ(「VS」)124-3、一つまたは複数のハイパーバイザ(「HYP」)124-4などのクラウド資源のグループを含む。
【0053】
アプリケーション124-1は、ユーザー装置110および/またはプラットフォーム120に提供されるかまたはアクセスされうる一つまたは複数のソフトウェアアプリケーションを含む。アプリケーション124-1は、ユーザー装置110でソフトウェアアプリケーションをインストールして実行する必要性をなくすことができる。たとえば、アプリケーション124-1は、プラットフォーム120に関連するソフトウェアおよび/またはクラウドコンピューティング環境122を介して提供されることができる他の任意のソフトウェアを含むことができる。いくつかの実装では、1つのアプリケーション124-1は、仮想マシン124-2を介して、一つまたは複数の他のアプリケーション124-1との間で情報を送受信することができる。
【0054】
仮想マシン124-2は、物理マシンのようなプログラムを実行するマシン(たとえばコンピュータ)のソフトウェア実装を含む。仮想マシン124-2は、仮想マシン124-2による何らかの実マシンの使用または実マシンへの対応の程度に依存して、システム仮想マシンまたはプロセス仮想マシンのいずれかでありうる。システム仮想マシンは、完全なオペレーティングシステム(「OS」)の実行をサポートする完全なシステムプラットフォームを提供することができる。プロセス仮想マシンは、単一のプログラムを実行することができ、単一のプロセスをサポートすることができる。いくつかの実装では、仮想マシン124-2は、ユーザー(たとえば、ユーザー装置110)に代わって実行することができ、データ管理、同期、または長時間データ転送など、クラウドコンピューティング環境122のインフラストラクチャーを管理することができる。
【0055】
仮想化ストレージ124は、一つまたは複数のストレージシステムおよび/または一つまたは複数のデバイスであって、コンピューティング資源124の該ストレージシステムまたはデバイス内で仮想化技法を使用するものを含む。いくつかの実装では、ストレージシステムのコンテキスト内で、仮想化のタイプは、ブロック仮想化とファイル仮想化を含みうる。ブロック仮想化は、物理ストレージまたは不均質な構造に関係なくストレージシステムがアクセスされうるように、物理ストレージから論理ストレージを抽象化(または分離)することを指しうる。この分離により、ストレージシステムの管理者は、エンドユーザーのためにストレージを管理する仕方に柔軟性をもつことができる。ファイル仮想化は、ファイルレベルでアクセスされるデータと、ファイルが物理的に格納される位置との間の依存性をなくすことができる。これにより、ストレージ使用の最適化、サーバー統合、および/または無停止ファイル移行のパフォーマンスを可能にすることができる。
【0056】
ハイパーバイザ124-4は、複数のオペレーティングシステム(たとえば、「ゲストオペレーティングシステム」)がコンピューティング資源124などのホストコンピュータ上で同時に実行できるようにするハードウェア仮想化技法を提供することができる。ハイパーバイザ124-4は、ゲストオペレーティングシステムに対して仮想オペレーティングプラットフォームを提示することができ、ゲストオペレーティングシステムの実行を管理することができる。多様なオペレーティングシステムの複数のインスタンスが、仮想化されたハードウェア資源を共有することができる。
【0057】
ネットワーク130は、一つまたは複数の有線および/または無線ネットワークを含む。たとえば、ネットワーク130は、セルラーネットワーク(たとえば、第5世代(5G)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、第3世代(3G)ネットワーク、符号分割多元接続(CDMA)ネットワークなど)、パブリックランドモバイルネットワーク(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(たとえば公衆交換電話網(PSTN)など)、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバーベースのネットワークなど、および/またはこれらまたは他のタイプのネットワークの組み合わせを含むことができる。
【0058】
図1に示されるデバイスおよびネットワークの数および配置は、一例として提供される。実際には、図1に示されるよりも追加のデバイスおよび/またはネットワーク、より少ないデバイスおよび/またはネットワーク、異なるデバイスおよび/またはネットワーク、または異なる配置のデバイスおよび/またはネットワークがありうる。さらに、図1に示される2つ以上のデバイスが単一のデバイス内に実装されてもよく、または図1に示される単一のデバイスが複数の分散デバイスとして実装されてもよい。追加的または代替的に、環境100の一組のデバイス(たとえば、一つまたは複数のデバイス)が、環境100の別の一組のデバイスによって実行されるものとして記述される一つまたは複数の機能を実行してもよい。
【0059】
図2は、図1の一つまたは複数のデバイスの例示的なコンポーネントのブロック図である。
【0060】
デバイス200は、ユーザーデバイス110および/またはプラットフォーム120に対応することができる。図2に示されるように、デバイス200は、バス210、プロセッサ220、メモリ230、記憶コンポーネント240、入力コンポーネント250、出力コンポーネント260、および通信インターフェース270を含むことができる。
【0061】
バス210は、デバイス200のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ220は、ハードウェア、ファームウェア、またはハードウェアとソフトウェアの組み合わせで実装される。プロセッサ220は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、高速処理装置(APU)、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または別のタイプの処理コンポーネントである。いくつかの実装では、プロセッサ220は、機能を実行するようにプログラムされることができる一つまたは複数のプロセッサを含む。メモリ230は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、および/またはプロセッサ220による使用のための情報および/または命令を格納する別のタイプの動的または静的記憶装置(たとえば、フラッシュメモリ、磁気メモリ、および/または光学メモリ)を含む。
【0062】
記憶コンポーネント240は、デバイス200の動作および使用に関連する情報および/またはソフトウェアを格納する。たとえば、記憶コンポーネント240は、対応するドライブとともに、ハードディスク(たとえば、磁気ディスク、光ディスク、光磁気ディスク、および/またはソリッドステートディスク)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的なコンピュータ可読媒体を含みうる。
【0063】
入力コンポーネント250は、デバイス200が、たとえばユーザー入力(たとえば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)を介して情報を受領することを可能にするコンポーネントを含む。追加的または代替的に、入力コンポーネント250は、情報(たとえば、全地球測位システム(GPS)コンポーネント、加速度計、ジャイロスコープ、および/またはアクチュエータ)を感知するためのセンサーを含むことができる。出力コンポーネント260は、デバイス200からの出力情報を提供するコンポーネントを含む(たとえば、ディスプレイ、スピーカー、および/または一つまたは複数の発光ダイオード(LED))。
【0064】
通信インターフェース270は、デバイス200が、たとえば有線接続、無線接続、または有線接続と無線接続の組み合わせを介して、他のデバイスと通信することを可能にするトランシーバ様コンポーネント(たとえば、トランシーバおよび/または別個の受信機および送信機)を含む。通信インターフェース270は、デバイス200が別のデバイスから情報を受信し、および/または別のデバイスに情報を提供することを可能にする。たとえば、通信インターフェース270は、イーサネットインターフェース、光学インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、Wi-Fiインターフェース、セルラーネットワークインターフェースなどを含みうる。
【0065】
デバイス200は、本明細書に記載される一つまたは複数のプロセスを実行することができる。デバイス200は、プロセッサ220がメモリ230および/または記憶コンポーネント240などの非一次的なコンピュータ可読媒体によって記憶されたソフトウェア命令を実行することに応答して、これらのプロセスを実行することができる。コンピュータ可読媒体は、本明細書では、非一時的なメモリデバイスとして定義される。メモリデバイスは、単一の物理記憶デバイス内のメモリ空間、または複数の物理記憶デバイスにまたがって広がるメモリ空間を含む。
【0066】
ソフトウェア命令は、別のコンピュータ可読媒体から、または通信インターフェース270を介して別のデバイスから、メモリ230および/または記憶コンポーネント240に読み込まれてもよい。実行されると、メモリ230および/または記憶コンポーネント240に格納されたソフトウェア命令は、プロセッサ220に、本明細書に記載された一つまたは複数のプロセスを実行させることができる。追加的または代替的に、固定配線回路が、本明細書に記載された一つまたは複数のプロセスを実行するために、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わされて使用されてもよい。よって、本明細書に記載された実装は、ハードウェア回路とソフトウェアの特定の組み合わせに限定されない。
【0067】
図2に示されたコンポーネントの数および配置は、一例として提供されている。実際には、装置200は、図2に示されたものよりも追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なる配置のコンポーネントを含んでいてもよい。追加的または代替的に、装置200の一組のコンポーネント(たとえば、一つまたは複数のコンポーネント)は、装置200の別の一組のコンポーネントによって実行されるものとして記載された一つまたは複数の機能を実行してもよい。
【0068】
諸実施形態において、図3から図7の動作またはプロセスのいずれか1つが、図1および図2に示された要素のいずれか1つによって、またはそれを使用して実施されうる。
【0069】
図3は、ある実施形態による例示的な音響システム300のブロック図である。システムは、遠端スピーカー310(以下、「スピーカー」という)と近端マイクロフォン320(以下、「マイクロフォン」という)とを含む。
【0070】
たとえば、マイクロフォン320は、スピーカー310から近端目標発話信号330を受領する。スピーカー310は、記載される実施形態の範囲から逸脱することなく当業者に明らかな任意のオーディオ源(たとえば、ラウドスピーカー、録音されたオーディオ、話されたオーディオなど)でありうる。目標発話信号330は、たとえば、残響、スピーカー310からの遠端エコー信号、および背景ノイズを含む。sおよびxが、それぞれ、近端マイクロフォン320からのドライなクリーン信号および遠端スピーカー310からのドライなクリーン信号を表すものとする。時間tにおいてマイクロフォン320によって捕捉される信号は、
y(t)=sr(t)+xr(t)+v(t) (式1)
によって表すことができる。
【0071】
ここで、sr(t)=hs(t)*s(t)であり、sr(t)は残響のある目標発話信号であり、xr(t)=hx(t)*g(x(t))であり、xr(t)はスピーカー310によって発される歪んだ遠端信号であり、v(t)は近端ノイズ信号を表し、*は畳み込みを表す。また、関数gは非線形歪を表し、エコー経路遅延と近端残響はhx(t)に含まれる。
【0072】
図4は、音響エコー抑制を行うための2ステージの単一チャネルAECとノイズ削減を備えたNeuralEchoモデル400の図解である。図4に示されるように、マイクロフォン信号y(t)と遠端参照信号x(t)が与えられると、遠端エコー信号と背景ノイズを抑制しつつ、残響目標発話信号sr(t)が予測される。NeuralEchoモデル400は、残響目標発話信号sr(t)を予測するために用いられる。図4における参照のため、遠端参照信号x(t)を示す線は参照符号401で表され、マイクロフォン信号y(t)を示す線は参照符号402で表され、一つまたは複数の出力信号が組み合わされて別の層に入力されるところを示す融合線は参照符号405で表されている。
【0073】
まず、短時間フーリエ変換(STFT)により、マイクロフォン信号y(t)と遠端参照信号x(t)のオーディオ・サンプルがそれぞれY(k,n)とX(k,n)として周波数領域に変換される。ここで、kは周波数ビンを表し、nはフレーム・インデックスを表す。該オーディオ・サンプルをデコードするために、512点高速フーリエ変換(FFT)(たとえば、32msの長さと16msホップ・サイズをもつハニング窓を使用する)が使用される。周波数表現Y(k,n)とX(k,n)を積み重ねた結果はZ(k,n)となり、Z(k,n)=[Y(k,n),X(k,n)]Tである。Zの共分散行列はΦC(k,n)∈C2×2として表され、図4に示されるChannel Cov層によって表され、入力特徴として用いられる。これにより、遠端参照信号x(t)とマイクロフォン信号y(t)の相互相関、およびマイクロフォン信号y(t)と遠端参照信号x(t)のパワースペクトル密度(PSD)が説明される。共分散行列ΦC(k,n)は
ΦC(k,n)=(Z(k,n)-μz)(Z(k,n)-μz)H (式2)
として計算される。
【0074】
ここで、
【数1】
であり、iはチャネル・インデックスを表し、Hはエルミート演算子を表す。
【0075】
複素対称行列の上半分は、計算コストとメモリ使用量を削減するために捨てられる。下三角行列は平坦化され、実部と虚部が連結される。さらに、マイクロフォン信号y(t)と遠端参照信号x(t)について、諸時間フレームと諸周波数ビンにまたがる相関行列が別々に計算される。具体的には、時間的相関ΦTと周波数相関ΦFは、図4に示されるTemporal Corr層とFrequency Corr層において、次のように計算される。
【数2】
【0076】
ここで、iはマイクロフォンと遠端参照チャネルを表し、nτとkτはそれぞれ時間軸と周波数軸に沿った最大シフトに対応する。この例では、信号の時間依存性と周波数依存性を捕捉するために、(残響目標発話信号sr(t)を予測するための)モデルにおいて最大シフトは9に設定される。同様に、下三角行列は平坦化され、マイクロフォンおよび遠端参照チャネルの両方の実部および虚部が連結される。3つの特徴(すなわち、共分散行列ΦC、時間的相関ΦT、および周波数相関ΦF)は、図4に示すLayerNorm&Stack層によって示されるマイクロフォン信号y(t)および遠端参照信号x(t)の正規化された対数パワースペクトル(log-power spectra、LPS)と一緒に連結され、第1ステージ入力特徴を生成する。
【0077】
第1ステージ入力特徴の各時間‐周波数ビンについての特徴ベクトルは、線形FiLM投影層を通じて一次元空間に投影される(たとえば368次元から1次元)。各時間‐周波数ビンについての特徴ベクトルは、スピーカー情報(たとえば、スピーカー310に関する情報)に投影されてもよい。スピーカー情報は任意的であり(よって点線で示されている)、NeuralEchoモデル400に必須ではない。ゲート付きリカレントユニット(gated recurrent unit、GRU)エンコーダ層(たとえば、257個の隠れユニットをもつGRUエンコーダ層)の後に、NeuralEchoモデル400は、それぞれ第1ステージAEC出力およびエコー推定のための、次元複素数値の比フィルタcRFAEC(k,n)およびcRFecho(k,n)を推定する。次元複素数値の比フィルタcRFAEC(k,n)およびcRFecho(k,n)は、(2K+1)×(2N+1)に基づいて推定されてもよく、図4においてはCov1D AEC cRFおよびCov1D Echo cRFで示されている。式4は、推定されたcRFAEC(k,n)を入力マイクロフォン信号Y(k,n)の時間‐周波数シフトされたバージョンに適用して、図4においてAEC outと表されるエコー抑制された信号YAECを生成する計算を示している。同様の動作が遠端参照信号X(k,n)に適用されて、図4においてEcho estで表されるエコー推定Xecho(k,n)を生成する。以下、図4における参照のために、Echo est信号を示す線を参照符号403で示し、AEC out信号を示す線を参照符号404で示す。
【数3】
【0078】
第2ステージでは、生マイクロフォン入力チャネル、第1ステージのAEC処理チャネル、およびエコー推定チャネル
【数4】
が、推定されたエコー/ノイズ共分散行列ΦN(k,n)、および目標近端発話共分散行列ΦSS(k,n)から発話向上解フィルタを学習するために使用される。まず、YAECとXechoのLPSが計算され、それらが次いで、第1ステージにおける線形FiLM投影層からの音響特徴と連結されて、第2ステージ入力特徴のはたらきをする。第2ステージ入力特徴は、線形FiLM投影層(257個の隠れユニット)、スピーカー情報(たとえば、ラウドスピーカー310に関する情報)、およびGRU層(257個の隠れユニット)を通過する。スピーカー情報はオプションとして提供され、モデル400に必須ではない。次いで、GRU出力は、一次元畳み込み層(すなわち、図4に示されるCov1D noise/echo cRFおよびCov1D target cRF)を通され、~Zにおけるエコー/ノイズおよび目標発話を推定するために、複素比フィルタ(cRFNおよびcRFS)を推定する。複素比フィルタは、式4と同様に~Zに適用され、時間‐周波数ビンごとに、それぞれエコー/ノイズおよび目標発話の、3つのチャネルの複素スペクトルを推定する。さらに、式2と同様に、エコー/ノイズ共分散行列ΦNN(k,n)および目標発話共分散行列ΦSS(k,n)が、図4におけるNoise/Echo CovおよびTarget Cov層でそれぞれ計算される。次いで、下三角行列が平坦化され、2つの行列の実部および虚部(すなわち、ΦNN(k,n)およびΦSS(k,n))が連結される。これらの特徴は、層の正規化を通じて正規化され、次いで、向上フィルタ推定のために自己アテンションRNN層に供給される。モデル構造は次のように定式化される。
【数5】
【0079】
ここで、MHSAは、たとえば4つの並列アテンション・ヘッドを備えたマルチヘッド自己アテンション(multi-head self attention)を表す。時間‐周波数インデックス(k,n)は、上記の式では省略されている。アテンションは、諸時間フレームにわたる重要な特徴を選択するために実行され、アテンションのクエリーとして実行されるΦprojは、自分自身とのドット積であり、アテンションのキーおよび値として実行され、アテンション重みを生成する。前記値は、アテンション重みを使用して、残余接続と一緒に加重平均され、GRUエンコーダに供給される。第2の自己アテンション・モジュールおよびその後の線形投影層が実行されて、マイクロフォン・チャネル、第1ステージAECチャネル、およびエコー推定チャネルについて、それぞれ単一タップ発話向上フィルタW∈CF×T×3を推定する。次いで、結果が合計されて、複素数値の行列を与える。次いで、複素数値の行列は、逆短時間フーリエ変換(iSTFT)によって時間領域に変換され、向上信号^Srを生成する。
【0080】
2ステージの単一チャネルAECおよびNeuralEchoモデル400の損失関数は、次のように定義される。
【数6】
【0081】
式6は、時間領域におけるスケール不変な信号対歪み比(scale-invariant signal-to-distortion ratio、SI-SDR)と、向上信号^Srと目標信号Srとの間のスペクトルの大きさの差のL1-ノルムとの組み合わせを使用して計算される。スペクトルの大きさに関するL1-損失は、出力信号のスケールを正則化するのに役立つ。
【0082】
スピーカー埋め込みは、両方のステージで、図4に示されるように、特徴ごとの線形変調(feature-wise linear modulation、FiLM)を使用して他の音響特徴と組み合わされる。スピーカー埋め込みを使用した発話分離は、複数スピーカーの状況だけでなく、周囲ノイズにおいてもユーザーの発話品質を改善する。FiLM層の後に残余接続(residual connection)が追加されて、特徴を融合し、スピーカー埋め込みがない場合にNeuralEchoモデル400が良好に動作できることを保証する。数学的には、特徴融合のこの構成は、入力音響特徴θとスピーカー埋め込みdsを変換して、次のように出力特徴ξを生成する。
【数7】
【0083】
ここで、r(・)およびh(・)は、128次元のスピーカー埋め込みから、入力音響特徴θのサイズに一致する257次元ベクトルへの線形投影である。目標スピーカーについてのグローバル・バイアスを提供するスピーカー埋め込みdsは、NeuralEchoモデル400アーキテクチャー・セットアップにおける登録された5つの発声にわたってスピーカー・ベクトルを平均することによって与えられる。
【0084】
図5は、ある実施形態による、NeuralEchoモデル400を用いて実装されるAGCブランチの図解である。AGCブランチは以下を含む。
【0085】
図5に示されるように、AGCブランチは、向上信号^Srまたは(向上信号の発話セグメント)を明瞭な音レベルに調整および増幅するために、NeuralEchoモデル400の出力ステージにおいて追加される。向上信号の大きさ(magnitude)は、GRU層(257個の隠れユニット)を通過してAGC後の大きさを予測し、これが次いでNeuralEchoモデルの出力信号の位相と組み合わされて、時間領域におけるAGC後信号推定を合成する。AGCツールは、もとのドライなクリーン・データを処理し、トレーニング目的のためにAGC後のドライなクリーン目標信号を生成するために使用される。したがって、AGCブランチの出力は、残響を抑制するだけでなく、音レベルを調整することが期待される。トレーニング損失SI-SDRとMAG L1 520は、時間領域のSI-SDRと、向上信号^Srと目標信号Srの間のスペクトルの大きさの差のL1-ノルムとの組み合わせを使用して式6で定義された損失関数を計算する。SI-SDRは、残響除去タスクでの収束が非常に遅くなり、パフォーマンスが低下する。したがって、トレーニング損失Mag L1 510は、推定された信号とAGC後のドライなクリーン目標信号との間のスペクトルの大きさの誤差でのL1-損失を使用して、発話認識精度を向上させつつ発話信号を調整および増幅する。
【0086】
図6は、ある実施形態による、リカレントニューラルネットワークを使用した音響エコー抑制するための、少なくとも1つのプロセッサによって実行される方法600を示す例示的なフローチャートである。いくつかの実装では、図6の一つまたは複数のプロセスブロックがプラットフォーム120によって実行されてもよい。いくつかの実装では、図6の一つまたは複数のプロセスブロックは、ユーザーデバイス110のような、プラットフォーム120とは別個の、またはプラットフォーム120を含む、別のデバイスまたはデバイスのグループによって実行されてもよい。
【0087】
動作610において、方法600は、マイクロフォン信号および遠端参照信号を受領することを含む。マイクロフォン信号は、目標発話、歪んだ遠端参照信号、およびマイクロフォン・ノイズを含みうる。
【0088】
動作620において、方法600は、マイクロフォン信号および遠端参照信号に基づいて、エコー抑制された信号およびエコー信号を推定することを含む。
【0089】
動作630において、方法600は、エコー抑制された信号およびエコー信号に基づいて、マイクロフォン信号のための向上フィルタを推定することを含む。
【0090】
動作640において、方法600は、向上フィルタに基づいて、向上された信号〔向上信号〕を生成することを含む。
【0091】
方法600は、第1ステージおよび第2ステージを含み、動作620は第1ステージによって実行され、動作630は第2ステージによって実行される。第1ステージは、マイクロフォン信号および遠端参照信号に基づいて第1の共分散行列を計算し、第1の線形投影フィルタを通じて第1の共分散行列を処理し、第1の線形投影フィルタの結果をエンコードして、第1ステージ・フィルタを推定し、時間‐周波数シフトされたマイクロフォン信号および遠端参照信号に第1ステージ・フィルタを適用し、エコー抑制された信号およびエコー信号を出力することを含むことができる。第2ステージは、第1の線形投影フィルタと、エコー抑制された信号およびエコー信号の正規化された対数パワースペクトルとに基づいて第2ステージ入力特徴を生成し、第2の線形投影フィルタを通じて第2ステージ入力特徴を処理し、第2の線形投影フィルタの結果をエンコードして第2ステージ・フィルタを推定し、第2ステージ・フィルタを適用して目標発話およびマイクロフォン・ノイズのチャネルを推定し、目標発話およびマイクロフォン・ノイズの推定されたチャネルに基づいて第2の共分散行列を計算し、リカレントニューラルネットワークを通じて第2の共分散行列を処理して向上フィルタを出力することを含むことができる。
【0092】
動作650において、方法600は、自動利得制御(AGC)を使用して向上信号を調整し、調整された信号を出力することを含む。動作650は、AGCの大きさを予測するために向上信号の大きさをエンコードし、向上信号の位相に基づいて時間領域でAGC信号を生成し、AGC信号に基づいて向上信号を調整することをさらに含むことができる。
【0093】
関数損失は、時間領域におけるスケール不変の信号対歪み比と、向上信号と目標信号との間のスペクトルの大きさの差のL1ノルムに基づいて計算されうる。
【0094】
図6は、方法の例示的な動作を示しているが、いくつかの実装では、方法は、図6に示されているものよりも追加の動作、少ない動作、異なる動作、または異なる配置の動作を含んでいてもよい。追加的または代替的に、方法の動作の2つ以上が並行して実行されたり、または組み合わされたりしてもよい。
【0095】
図7は、一つまたは複数の実施形態による、リカレントニューラルネットワークを使用する音響エコー抑制のためのコンピュータコードの一例のブロック図である。本開示の諸実施形態によれば、コンピュータコードを記憶するメモリを備えた少なくとも1つのプロセッサを含む装置/デバイスが提供されうる。コンピュータコードは、前記少なくとも1つのプロセッサによって実行されるときに、本開示の任意の数の側面を実行するように構成されうる。
【0096】
図7に示されるように、コンピュータコード700は、受領コード710、信号推定コード720、フィルタ推定コード730、生成コード740、および調整コード750を含む。
【0097】
受領コード710は、前記少なくとも一つのプロセッサに、マイクロフォン信号および遠端参照信号を受領させるように構成される。
【0098】
信号推定コード720は、前記少なくとも一つのプロセッサに、マイクロフォン信号および遠端参照信号に基づいて、エコー抑制された信号およびエコー信号を推定させるように構成される。
【0099】
フィルタ推定コード730は、前記少なくとも一つのプロセッサに、エコー抑制された信号およびエコー信号に基づいて、マイクロフォン信号のための向上フィルタを推定させるように構成される。
【0100】
生成コード740は、前記少なくとも一つのプロセッサに、向上フィルタに基づいて、向上信号を生成させるように構成される。
【0101】
調整コード750は、前記少なくとも一つのプロセッサに、自動利得制御(AGC)を使用して、向上信号を調整させ、調整された信号を出力させるように構成される。調整コードはさらに、前記少なくとも一つのプロセッサに向上信号の大きさをエンコードしてAGCの大きさを予測させるように構成されたエンコード・コードと、前記少なくとも一つのプロセッサに向上信号の位相に基づいて時間領域でAGC信号を生成させるように構成されたAGC生成コードと、前記少なくとも一つのプロセッサにAGC信号に基づいて向上信号を調整させるように構成された第2の調整コードとを含んでいてもよい。
【0102】
コンピュータコード700は、コンピュータ処理の第1ステージにおいて、前記少なくとも一つのプロセッサに、マイクロフォン信号および遠端参照信号に基づいて第1の共分散行列を計算させるように構成された計算コードと、前記少なくとも一つのプロセッサに、第1の線形投影フィルタを通じて第1の共分散行列を処理させ、第1の線形投影フィルタの結果をエンコードして第1ステージ・フィルタを推定させるように構成された処理コードと、前記少なくとも一つのプロセッサに、時間‐周波数シフトされたマイクロフォン信号および遠端参照信号に第1ステージ・フィルタを適用させるように構成された適用コードと、前記少なくとも一つのプロセッサに、エコー抑制された信号およびエコー信号を出力させるように構成された出力コードとをさらに含むことができる。
【0103】
コンピュータコード700は、さらに、コンピュータ処理の第2ステージにおいて、前記少なくとも一つのプロセッサに、第1の線形投影フィルタと、エコー抑制された信号およびエコー信号の正規化された対数パワースペクトルとに基づいて、第2ステージ入力特徴を生成させるように構成された第2の生成コードと、前記少なくとも一つのプロセッサに、第2の線形投影フィルタを通じて第2ステージ入力特徴を処理させ、第2の線形投影フィルタの結果をエンコードして第2ステージ・フィルタを推定し、第2ステージ・フィルタを適用して目標発話およびマイクロフォン・ノイズのチャネルを推定するように構成された第2の処理コードと、前記少なくとも一つのプロセッサに、目標発話およびマイクロフォン・ノイズの推定されたチャネルに基づいて第2の共分散行列を計算させるように構成された第2の計算コードと、前記少なくとも一つのプロセッサに、リカレントニューラルネットワークを通じて第2の共分散行列を処理させ、向上フィルタを出力させるように構成された第3の処理コードとを含んでいてもよい。
【0104】
コンピュータコード700は、前記少なくとも一つのプロセッサに、時間領域におけるスケール不変の信号対歪み比と、向上信号と目標信号との間のスペクトルの大きさの差のL1ノルムとに基づいて損失関数を計算させるように構成された計算コードをさらに含んでいてもよい。
【0105】
図7は、諸実施形態によるシステムまたは装置のコンピュータコード700の例示的なブロックを示しているが、いくつかの実施形態では、システムは、図7に示されたものよりも追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含んでいてもよい。追加的または代替的に、システムのブロックの2つ以上が組み合わされてもよい。言い換えると、図7はコードの別個のブロックを示しているが、さまざまなコード命令は別個である必要はなく、入り交じっていてもよい。
【0106】
本開示の諸実施形態に従って記述される方法およびシステムは、既存の深層学習ベースのアプローチと比較して、信号チャネル、時間軸および周波数軸にわたる二次統計を活用することによって、有意なAEC特徴学習を提供する。また、マイクロフォン・チャネル、中間AEC処理されたチャネル、およびエコー推定チャネル上でAECを実行して関連する特徴を動的に強調するために、自己アテンション型RNNニューラルネットワークも実装される。提案されたモデルは、スピーカー情報と協働し、より良い目標スピーカー向上のためにAGCを実行するようにさらに発展させられる。実験結果は、実施形態によるNeuralEchoモデルおよびその派生モデルが、オーディオ品質および発話認識精度の両方の点で、従来の信号処理ベースの方法および現状技術のニューラルネットワーク方法に対して大幅な改善をもたらすことを示した。
【0107】
前述の開示は、例示および説明を提供するが、網羅的であること、または実装を開示された厳密な形に限定することは意図していない。修正および変形が、上記の開示に照らして可能であり、または実装の実践から得られることがありうる。
【0108】
いくつかの実施形態は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、および/またはコンピュータ可読媒体に関する。さらに、上述の構成要素の一つまたは複数は、コンピュータ可読媒体に格納され、少なくとも1つのプロセッサによって実行可能な命令として実装されてもよい(および/または少なくとも1つのプロセッサを含んでいてもよい)。コンピュータ可読媒体は、プロセッサに動作を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読の非一時的記憶媒体(またはメディア)を含みうる。
【0109】
コンピュータ可読記憶媒体は、命令実行装置によって使用される命令を保持および格納することができる有形のデバイスであってもよい。コンピュータ可読記憶媒体は、たとえば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または上記の任意の適切な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非限定的なリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラム可能な読み出し専用メモリ(EPROMまたはフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリースティック、フロッピーディスク、パンチカードまたは溝内の隆起構造などの機械的にエンコードされたデバイス、および上記の任意の適切な組み合わせを含みうる。コンピュータ可読記憶媒体は、本明細書で使用されるところでは、電波または他の自由に伝搬する電磁波、導波管または他の伝送媒体を通って伝搬する電磁波(たとえば、光ファイバーケーブルを通過する光パルス)、またはワイヤを通って伝送される電気信号などの一時的な信号それ自体であると解釈されるべきではない。
【0110】
本明細書に記載されているコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理装置に、またはネットワーク、たとえばインターネット、ローカルエリアネットワーク、広域ネットワークおよび/または無線ネットワークを介して外部コンピュータまたは外部記憶装置に、ダウンロードされることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバー、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび/またはエッジサーバーを含むことができる。各コンピューティング/処理装置内のネットワークアダプターカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受領し、それぞれのコンピューティング/処理装置内のコンピュータ可読記憶媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0111】
動作を実行するためのコンピュータ可読プログラムコード/命令は、アセンブラ命令、命令セットアーキテクチャー(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、または一つまたは複数のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードであってもよい。該プログラミング言語は、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む。コンピュータ可読プログラム命令は、完全にユーザーのコンピュータ上で、部分的にユーザーのコンピュータ上で、スタンドアローンのソフトウェアパッケージとして、部分的にユーザーのコンピュータ上、部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバー上で実行されうる。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザーのコンピュータに接続されてもよく、または接続は、外部コンピュータ(たとえば、インターネットサービスプロバイダーを使用してインターネットを通じて)に行われてもよい。いくつかの実施形態では、たとえば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)またはプログラマブル論理アレイ(PLA)を含む電子回路は、側面または動作を実行するために、コンピュータ可読プログラム命令の状態情報を利用してコンピュータ可読プログラム命令を実行し、電子回路をパーソナライズしてもよい。
【0112】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特別目的のコンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャートおよび/またはブロック図のブロック(単数または複数)に指定された機能/動作を実施するための手段を作り出すような機械を生じることができる。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置、および/または他の装置に特定の方法で機能するように指令することができるコンピュータ可読記憶媒体に格納されてもよく、それにより、中に格納された命令を有するコンピュータ可読記憶媒体は、フローチャートおよび/またはブロック図のブロック(単数または複数)において指定された機能/動作の諸側面を実施する命令を含む製造物を含む。
【0113】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、または他のデバイスで一連の動作ステップを実行させて、コンピュータ実装されるプロセスを生じ、それにより、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートおよび/またはブロック図のブロック(単数または複数)において指定された機能/動作を実施するようにしてもよい。
【0114】
図中のフローチャートおよびブロック図は、さまざまな実施形態によるシステム、方法、およびコンピュータ可読媒体の可能な実装のアーキテクチャー、機能、および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実施するための一つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の一部を表すことができる。方法、コンピュータシステム、およびコンピュータ可読媒体は、図に示されたものよりも追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含むことができる。いくつかの代替的な実装では、ブロックに示された機能は、図に示された順序以外で生起してもよい。たとえば、逐次に示された2つのブロックは、実際には、関連する機能に依存して、同時にまたは実質的に同時に実行されてもよく、または該ブロックは、時には、逆の順序で実行されてもよい。また、ブロック図および/またはフローチャート図の各ブロック、およびブロック図および/またはフローチャート図のブロックの組み合わせは、指定された機能または動作を実行する、または特殊目的のハードウェアとコンピュータ命令の組み合わせを実行する、特殊目的のハードウェアベースのシステムによって実装されうることに留意されたい。
【0115】
本明細書に記載されるシステムおよび/または方法は、種々の形のハードウェア、ファームウェア、またはハードウェアとソフトウェアの組み合わせで実装されうることは明らかであろう。これらのシステムおよび/または方法を実装するために使用される実際の特化した制御ハードウェアまたはソフトウェアコードは、実装を限定するものではない。よって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照することなく本明細書に記載されたものであり、本明細書の記載に基づいてシステムおよび/または方法を実装するようにソフトウェアおよびハードウェアが設計されうることが理解される。
図1
図2
図3
図4
図5
図6
図7
【国際調査報告】