(57)【要約】【課題】オーディオソースとマイクロホンのアレイとの間の室内インパルス応答を推定する様々な方法及びシステムを提供する。【解決手段】一例において、方法は、マイクロホンのアレイのあるマイクロホンでオーディオ信号を受信することを含む。オーディオ信号は、マイクロホンのアレイに含まれる各マイクロホンに対応する。方法は、受信されたオーディオ信号に基づき、マイクロホンのアレイのジオメトリに適合するサブスペースにおける室内インパルス応答を決定することを更に含む。【選択図】図２
2019168730.tif 000002
【特許請求の範囲】
【請求項１】
オーディオソースとマイクロホンのアレイとの間の室内インパルス応答を推定する方法であって、
マイクロホンのアレイのうちの夫々のマイクロホンで、当該マイクロホンに対応するオーディオ信号を受信することと、
前記受信されたオーディオ信号に基づき、単ソース信号の組を、該単ソース信号が同時に前記マイクロホンのアレイの全マイクロホンに影響を与えるとして定義することであり、前記単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する、前記定義することと、
前記単ソース信号の組の重み付けされた組み合わせを求め、該重み付けされた組み合わせを前記受信されたオーディオ信号の近似とすることと、
前記室内インパルス応答を決定することであり、該インパルス応答は、前記重み付けされた組み合わせに対応する、前記推定することと
を有する方法。
【請求項２】
音響エコーキャンセレーションを初期化するために前記室内インパルス応答を使用することを更に有する
請求項１に記載の方法。
【請求項３】
前記単ソース信号の組を重み付けする重みが再構成エラーを満足するよう凸最適化技術を用いて最適化されるように、スパースソルバを使用することを更に有し、前記再構成エラーは、モデリングエラーにノイズを加えたものに対応する、
請求項１又は２に記載の方法。
【請求項４】
前記受信されたオーディオ信号は、基底ベクトルによって表され、該基底ベクトルは、前記オーディオソースから前記マイクロホンのアレイによって受信される実際の又は仮想のイメージ信号を表すよう構成される、
請求項１乃至３のうちいずれか一項に記載の方法。
【請求項５】
前記インパルス応答は、高速フーリエ変換アルゴリズムに依存する技術を用いて推定される、
請求項１乃至４のうちいずれか一項に記載の方法。
【請求項６】
オーディオソース及びマイクロホンのアレイの配置において経験される可聴フィードバックの音響エコーキャンセレーションを実施するシステムであって、
プロセッサ実行可能コードを実行するプロセッサと、
マイクロホンのアレイと、
プロセッサ実行可能コードを記憶する記憶デバイスと
を有し、
前記プロセッサ実行可能コードは、前記プロセッサによって実行される場合に、該プロセッサに、
マイクロホンのアレイのうちの夫々のマイクロホンで、当該マイクロホンに対応するオーディオ信号を受信することと、
前記受信されたオーディオ信号に基づき、単ソース信号の組を、該単ソース信号が同時に前記マイクロホンのアレイの全マイクロホンに影響を与えるとして定義することであって、前記単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する、前記定義することと、
前記単ソース信号の組の重み付けされた組み合わせを求め、該重み付けされた重みを前記受信されたオーディオ信号の近似とすることと、
前記オーディオソースから前記マイクロホンのアレイの各マイクロホンへの室内インパルス応答を推定することであって、該インパルス応答は、前記重み付けされた組み合わせに対応する、前記推定することと、
前記インパルス応答を用いて、前記受信されたオーディオ信号から音響エコーをキャンセルすることと
を実行させる、システム。
【請求項７】
前記単ソース信号の組の前記重み付けされた組み合わせは、凸最適化技術を用いて最適化される、
請求項６に記載のシステム。
【請求項８】
前記インパルス応答は、高速フーリエ変換アルゴリズムに依存する技術を用いて推定される、
請求項６又は７に記載のシステム。
【請求項９】
前記プロセッサ実行可能コードは、前記プロセッサによって実行される場合に、該プロセッサに、
前記オーディオソースから前記マイクロホンのアレイによって受信される実際の又は仮想のイメージ信号を表すよう構成される基底ベクトルによって、前記受信されたオーディオ信号を表すこと
を実行させる、請求項６乃至８のうちいずれか一項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
音響エコーキャンセレーション（ＡＥＣ；acoustic  echo  cancellation）は、マイクロホンによって捕捉された信号から、そのマイクロホンの近くに位置するラウドスピーカによって放射される信号を除去する問題である。ＡＥＣは、電話会議システム、スピーカ電話、及び同様のものを含む双方向通信の重要な側面であった。標準の問題シナリオは、１つのラウドスピーカと１つのマイクロホンとを含み、従来の解決法は、ラウドスピーカフィードバックの現れを除去するよう適応フィルタをトレーニングすることである。問題の重要性により、収束速度の増大、収束状態の検出、計算複雑性の低減、などは、研究が進み続ける領域である。
【０００２】
第２のシナリオは、近年重要性が増している。すなわち、家庭及び自動車エンターテイメントシステムのためのボイスコントロールである。それらのシステムは、相当に高い再現度で動作するマルチチャネルオーディオ再生、例えば、ステレオ又は５．１サラウンドシステムを通常は備える。ユーザ（すなわち、所望のオーディオソース）は、マイクロホンから数メートル離れていることがあり、ノイズレベルは相当であり得る。
【発明の概要】
【０００３】
以下は、ここで記載される幾つかの態様の基本的理解を提供するために、簡単な要約を示す。この概要は、請求されている対象の広範囲に及ぶ概要ではない。この要約は、請求されている対象のキーとなる又は重要な要素を特定することを目的とせず、更には、請求されている対象の適用範囲を線引きするものでもない。この要約の唯一の目的は、以降で示されるより詳細な記載に対する前置きとして、請求されている対象の幾つかの概念を簡略化された形で示すことである。
【０００４】
実施形態は、オーディオソースとマイクロホンのアレイとの間の室内インパルス応答を推定する方法を提供する。方法は、マイクロホンのアレイのあるマイクロホンでオーディオ信号を受信することを含み、オーディオ信号は、アレイの各マイクロホンに対応する。方法は、受信されたオーディオ信号に基づき、マイクロホンのアレイのジオメトリに適合するサブスペースにおける室内インパルス応答を決定することを更に含む。
【０００５】
他の実施形態は、オーディオソースとマイクロホンのアレイとの間の室内インパルス応答を推定する方法を提供する。方法は、マイクロホンのアレイのあるマイクロホンでオーディオ信号を受信することを含み、オーディオ信号は、アレイの各マイクロホンに対応する。方法は、単ソース信号の組を、該単ソース信号が同時にマイクロホンのアレイの全マイクロホンに影響を与えるとして定義することを更に含み、単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する。更に、方法は、単ソース信号の組の重み付けされた組み合わせとして、受信されたオーディオ信号の近似を求めることを含む。方法は、オーディオソースからマイクロホンのアレイの各マイクロホンへの室内インパルス応答を推定することを含み、該インパルス応答は前記重み付けされた組み合わせに対応する。方法は、インパルス応答を用いて、受信されたオーディオ信号から音響エコーをキャンセルすることによって、完結する。
【０００６】
他の実施形態は、オーディオソース及びマイクロホンのアレイの配置において経験される可聴フィードバックの音響エコーキャンセレーションを実施するシステムを提供する。システムは、プロセッサ実行可能コードを実行するプロセッサと、マイクロホンのアレイと、プロセッサ実行可能コードを記憶する記憶デバイスとを有する。プロセッサ実行可能コードは、システムのプロセッサによって実行される場合に、該プロセッサに、マイクロホンのアレイのあるマイクロホンでオーディオ信号を受信させる。オーディオ信号は、アレイの各マイクロホンに対応する。プロセッサは、単ソース信号の組を、該単ソース信号が同時にマイクロホンのアレイの全マイクロホンに影響を与えるとして定義するよう構成され、単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する。プロセッサは、単ソース信号の重み付けされた組み合わせとして、受信されたオーディオ信号の近似を求めさせられる。プロセッサは、オーディオソースからマイクロホンのアレイの各マイクロホンへの室内インパルス応答を推定するよう構成され、インパルス応答は、前記重み付けされた組み合わせに対応する。プロセッサは、最後に、インパルス応答を用いて、受信されたオーディオ信号から音響エコーをキャンセルさせられる。
【図面の簡単な説明】
【０００７】
以下の詳細な説明は、添付の図面を参照することによって、より良く理解され得る。図面は、開示されている対象の多数の特徴の具体例を含む。
【０００８】
【図１】可聴信号反射が仮想イメージソースとしてモデル化される部屋の概略図である。
【０００９】
【図２】スパースアレイ信号処理を用いるＡＥＣのために使用され得るコンピューティングデバイスの例のブロック図である。
【００１０】
【図３】マイクロホンアレイ及びラウドスピーカ構成のシステムモデルを表す。
【００１１】
【図４】平面１−ｄアレイで到来する可聴信号の概略図である。
【００１２】
【図５】オーディオ信号を受信してインパルス応答を推定する例となる方法のプロセスフロー図である。
【００１３】
【図６】スパースアレイ信号処理を用いて音響エコーをキャンセルする例となる方法のプロセスフロー図である。
【００１４】
【図７】スパースアレイ信号処理を用いて音響エコーをキャンセルする命令を記憶することができる有形なコンピュータ可読記憶媒体を示すブロック図である。
【発明を実施するための形態】
【００１５】
マイクロホンアレイ及び１つ以上のラウドスピーカを有する残響環境での音響エコーキャンセレーションの問題が考えられる。エコーをキャンセルすることは、多数のラウドスピーカからマイクロホンのアレイ内の各マイクロホンへのインパルス応答を学習することを必要とする。これは、通常、各ラウドスピーカについて各マイクロホンで別々に行われてきた。しかし、アレイに到来する信号は共通の構造を共有する。このことは、インパルス応答推定を改善するために有効に使用され得る。
【００１６】
ここで示される実施形態は、較正信号に基づく初期室内伝達関数（ＲＴＦ；room  transfer  function）推定に向けられている。ここで記載される技術は、適応ＡＥＣフィルタのより複雑な問題にまで広げられ得るが、ほとんどの現在配備されているマイクロホンアレイは、フィルタを初期化し、後にフィルタ係数のサブセットを適応させるために、較正信号を使用する。目下の実施形態は、初期ＲＴＦ推定のより関連した問題に向けられているが、それに制限されない。ＲＴＦのスパースネスはよく知られており、エコーキャンセレーションにおいて使用されてきた。J.  Benesty,  et  al.，“Adaptive  algorithms  for  the  identification  of  sparse  impulse  responses”，Selected  methods  for  acoustic  echo  and  noise  control，vol.5，pp.125-153，２００６年を参照。ビームフォーミング（又は空間フィルタリング）とエコーキャンセレーションとの間のインタラクションも考えられてきた。W.  Herbordt,  et  al.，“Joint  optimization  of  acoustic  echo  cancellation  and  adaptive  beamforming”，Topics  in  acoustic  echo  and  noise  control，pp.19-50，２００６年を参照。しかし、それらの場合において、エコーキャンセレーションフィルタ推定は、それ自体がアレイ情報を利用しない。先の技術は、夫々のＡＥＣフィルタを別々に計算し、そして、本開示で詳述されているようにはアレイ構造を用いない。
【００１７】
前付として、図の幾つかは、機能、モジュール、機構、要素、などと呼ばれる１つ以上の構造コンポーネントに関連して概念を記載する。図に示されている様々なコンポーネントは、如何なる方法においても、例えば、ソフトウェア、ハードウェア（例えば、ディスクリートロジックコンポーネント、など）、ファームウェア、その他、又はそれらの実施の如何なる組み合わせによっても、実施され得る。幾つかの実施形態において、様々なコンポーネントは、実際の実施における対応するコンポーネントの使用を反映してよい。他の実施形態では、図に表されている如何なる単一コンポーネントも、複数の実際のコンポーネントによって実施されてよい。図におけるいずれか２つ以上の別個のコンポーネントの描写は、単一の実際のコンポーネントによって実行される異なった機能を反映してよい。
【００１８】
他の図は、フローチャート形式において概念を記載する。この形式では、特定の動作は、特定の順序で実行される個別ブロックを構成するものとして記載される。そのような実施は、例であり制限でない。ここで記載される特定のブロックは、まとめられて１つの動作において実行されてよく、特定のブロックは、複数のコンポーネントブロックに分けられてよく、特定のブロックは、ブロックを同時に実行することを含め、ここで表されているのとは異なる順序で実行されてよい。フローチャートにおいて示されるブロックは、ソフトウェア、ハードウェア、ファームウェア、手動処理、及び同様のもの、又はそれらの実施の如何なる組み合わせによっても、実施され得る。ここで使用されるように、ハードウェアは、コンピュータシステム、ディスクリートロジックコンポーネント（例えば、特定用途向け集積回路（ＡＳＩＣ；application  specific  integrated  circuit））、及び同様のもの、並びにそれらの如何なる組み合わせも含んでよい。
【００１９】
用語に関して、「〜するよう構成される（configured  to）」は、あらゆる種類の構造コンポーネントが特定されている動作を実行するよう組み立てられ得る如何なる方法も包含する。構造コンポーネントは、ソフトウェア、ハードウェア、ファームウェア及び同様のもの、又はそれらの如何なる組み合わせによっても動作を実行するよう構成され得る。
【００２０】
語「ロジック（logic）」は、タスクを実行する如何なる機能も包含する。例えば、フローチャートにおいて表されている夫々の動作は、その動作を実行するロジックに対応する。動作は、ソフトウェア、ハードウェア、ファームウェア、など、又はそれらの如何なる組み合わせによっても実行され得る。
【００２１】
ここで使用されるように、語「コンポーネント（component）」、「システム（system）」、「クライアント（client）」及び同様のものは、ハードウェア、（例えば、実行中の）ソフトウェア、及び／又はファームウェア、あるいは、それらの組み合わせのいずれかである、コンピュータに関連したエンティティに言及するよう意図される。例えば、コンポーネントは、プロセッサ、オブジェクト、実行ファイル、プログラム、関数、ライブラリ、サブルーチン、及び／又はコンピュータ若しくはソフトウェア及びハードウェアの組み合わせで実行されるプロセッサであることができる。例として、サーバで実行されるアプリケーション及びサーバは両方ともコンポーネントであることができる。１つ以上のコンポーネントは、プロセス内にあることができ、コンポーネントは、１つのコンピュータにおいてローカライズされ及び／又は２つ以上のコンピュータ間で分散され得る。
【００２２】
更に、請求される対象は、標準のプログラミング及び／又はエンジニアリング技術を用いてソフトウェア、ファームウェア、ハードウェア又はそれらの如何なる組み合わせも生成し、開示されている対象を実施するようコンピュータを制御する方法、装置、又は製品として実施されてよい。ここで使用される語「製品（article  of  manufacture）」は、如何なる有形なコンピュータ可読デバイス又は媒体からもアクセス可能なコンピュータプログラムを包含するよう意図される。
【００２３】
コンピュータ可読記憶媒体には、制限なしに、磁気記憶デバイス（例えば、とりわけ、ハードディスク、フロッピー（登録商標）ディスク、及び磁気ストリップ）、光ディスク（例えば、とりわけ、コンパクトディスク（ＣＤ；compact  disc）、及びデジタルバーサタイルディスク（ＤＶＤ；digital  versatile  disc））、スマートカード、及びフラッシュメモリデバイス（例えば、とりわけ、カード、スティック、及びキードライブ）が含まれ得る。その一方、コンピュータ可読媒体全般（すなわち、記憶媒体ではない。）には、無線信号及び同様のもののための伝送媒体のような通信媒体が更に含まれてよい。
【００２４】
ここで記載される技術の実施形態は、制限なしに、室内伝達関数推定に向けられている。目下の実施形態は、音響エコーキャンセレーションの所望の結果を達成するようエコーキャンセレーションフィルタの推定にアレイ情報を組み込むことを考えている。
【００２５】
図１は、可聴信号反射１１０が仮想イメージソース１０８としてモデル化される部屋１００の概略図である。ラウドスピーカ１０２は全方向において音波１０４を発する。音波１０４は、部屋１００の中で反響し、マイクロホンアレイ１０６で受信される前に壁及び他の面に反射する。夫々の反射１１０はイメージソース１０８に対応する。イメージソース１０８は、部屋１００の中の音響効果をシミュレーションするために、ここで記載される例において使用される。マイクロホンアレイ１０６での受信信号は、信号を送信するラウドスピーカ１０２とマイクロホンアレイ１０６にある受信器との間の多数の経路に沿って受信される信号の重ね合わせである。
【００２６】
目下の技術の実施形態は、夫々のラウドスピーカ１０２とマイクロホン１０６との間のインパルス応答の推定を形成するために、アレイに到来する反射１１０のスパーシティとともに、マイクロホンアレイ構造１０６を利用するアルゴリズムを組み込む。アルゴリズムは、合成及び実データの両方において整合フィルタアルゴリズムに対して性能を改善すると見られる。実施形態は、夫々のマイクロホンでの室内伝達関数（ＲＴＦ）推定を改善するために既知のマイクロホンアレイジオメトリを使用する。これは、全てのマイクロホンが同じ部屋にあり、同じラウドスピーカから信号を受信し且つ同じ障害から跳ね返るという事実によりＲＦＴにおいて現れる規則性を利用することによって、達成される。マイクロホンアレイジオメトリが知られていると仮定する一方で、マイクロホンアレイ１０６のジオメトリは、ここで記載されるように信号を収集するより前に知られている必要はない点が留意されるべきである。言い換えれば、アレイの構成は受信信号を用いて推定され得るので、予めそれを知る必要はない。当業者であれば、アレイジオメトリを推定するために如何にして相関及び複数の受信信号を使用すべきか知っているであろう。
【００２７】
図２は、スパースアレイ信号処理を用いるＡＥＣのために使用され得るコンピューティングデバイス２００の例のブロック図である。コンピューティングシステム２００は、例えば、Ｍｉｃｒｏｓｏｆｔ（登録商標）によるＸｂｏｘ（登録商標）  ３６０若しくはＸ  ｂｏｘ  Ｏｎｅプラットフォームとともに使用されるＸｂｏｘ  Ｋｉｎｅｃｔ（登録商標）、又は同様のオーディオキャプチャデバイスであることができる。幾つかの実施形態において、コンピューティングシステム２００は、例えば、フィードバックを提供するためにレビュアーによって使用されるデスクトップコンピュータであってよい。他の実施形態では、コンピューティングシステム２００は、多くのより新しい自動車におけるダッシュボードディスプレイ及びユーザインターフェイスに組み込まれ得る。コンピューティングシステム２００は、記憶されている命令を実行するよう構成されるプロセッサ２０２と、プロセッサ２０２によって実行される命令を記憶するメモリデバイス２０４とを含むことができる。プロセッサ２０２は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、又は多くの他の構成であることができる。メモリデバイス２０４は、ランダムアクセスメモリ（例えば、ＳＲＡＭ、ＤＲＡＭ、ゼロキャパシタＲＡＭ、ＳＯＮＯＳ、ｅＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  ＲＡＭ、ＲＲＡＭ（登録商標）、ＰＲＡＭ、など）、リードオンリーメモリ（例えば、マスクＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、など）、フラッシュメモリ、又は如何なる他の適切なメモリシステムも含むことができる。プロセッサ２０２によって実行される命令は、疎表現化されたアレイに基づく信号処理を用いる音響エコーキャンセレーションのために使用され得る。
【００２８】
プロセッサ２０２は、コンピューティングシステム２００を１つ以上のＩ／Ｏデバイス２１０へ接続するよう構成される入出力（Ｉ／Ｏ）デバイスインターフェイス２０８へシステムバス２０６（例えば、プロプリエタリ・バス、ＰＣＩ、ＩＳＡ、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ、ＮｕＢｕｓ、など）を通じて接続されてよい。Ｉ／Ｏデバイス２１０は、例えば、とりわけ、カメラ、ジェスチャ認識入力デバイス、キーボード、ポインティングデバイス、音声認識デバイス、及びネットワークでインターフェイスを含むことができる。ポインティングデバイスは、とりわけ、タッチパッド又はタッチスクリーンを含んでよい。本開示において、重要なＩ／Ｏデバイスは、コンピューティングシステム２００へ接続されるマイクロホンアレイ１０６である。Ｉ／Ｏデバイス２１０は、コンピューティングシステム２００の内蔵コンポーネントであることができ、あるいは、コンピューティングシステム２００へ外部から接続されているデバイスであることができる。
【００２９】
プロセッサ２０２は、コンピューティングシステム２００をディスプレイデバイス２１４へ接続するよう構成されるディスプレイデバイスインターフェイス２１２へもシステムバス２０６を通じてリンクされ得る。ディスプレイデバイス２１４は、コンピューティングシステム２００の内蔵コンポーネントであるディスプレイスクリーンを含んでよい。ディスプレイデバイス２１４は、コンピューティングシステム２００へ外部から接続されている、とりわけ、コンピュータモニタ、テレビ、又はプロジェクタも含むことができる。
【００３０】
ストレージ２１６は、バス２０６を通じてプロセッサ２０２へ結合され得る。ストレージ２１６は、ハードドライブ、ソリッドステートドライブ、光学ドライブ、ＵＳＢフラッシュドライブ、ドライブのアレイ、又はそれらの如何なる組み合わせも含むことができる。ストレージ２１６は、ここで記載されるように、スパースアレイ信号処理を用いる音響エコーキャンセレーションを実施するよう構成される多数のモジュールを含むことができる。例えば、ストレージ２１６は、マイクロホンアレイ１０６の全てのマイクロホンでの受信信号１１０を単一の大きいベクトルに配置するよう構成される信号配置モジュール２１８を含むことができる。
【００３１】
ストレージ２１６は、マイクロホンアレイ１０６からのソース距離及びマイクロホンアレイ１０６への受信信号の角度を組み込む基底ベクトルを計算する基底ベクトルモジュール２２０を更に含むことができる。夫々の起こり得る角度及び距離として計算され得る夫々の起こり得る遅延時間について、基底ベクトルは、ラウドスピーカ信号が特定の角度及び遅延からアレイの中心へ届いている場合に、マイクロホンのアレイ１０６の各マイクロホンについて積み重ねられたラウドスピーカ信号として定義され得る。実施形態において、全ての起こり得る角度及び遅延は、マイクロホンアレイ１０６で経験される音響エコーをキャンセルするインパルス応答が生成され得る前に、離散化されてスパースソルバの対象となる。このように、受信信号は、基底ベクトルの少数の重み付けされた組み合わせになる（起こり得る角度及び遅延の数は、マイクロホンアレイ１０６で実際に受信される数よりもずっと大きいので、少数である。）。
【００３２】
ストレージ２１６には、スパースソルバモジュール２２２も含まれ得る。数百万の角度及び遅延が存在するという理由で、更には、それらの夫々は基底ベクトルによって表される必要があるので、基底行列の全体のサイズは非常に大きい。夫々のとり得る位置は、基底ベクトルによって表されるそれらの信号が真であろうと虚であろうと、表されるべきである。凸最適化プロシージャを通じて、スパースソルバモジュール２２２は、重み付けされた基底ベクトルを使用し、そして、特定の再構成エラーを満足する最小値の重みを決定する。最適化プロシージャは、例えば、スパース制約に伴う近似表現の問題を解くよく知られた方法であるBasis  Pursuit  Denoising（ＢＰＤＮ）であることができる。スパースソルバは、行列ベクトル演算に依存するＳＰＧＬソルバや、大規模なノルム１の正則化最小二乗のためのＭａｔｌａｂ（登録商標）ソルバとしても、そのようなソルバを含むことができる。
【００３３】
インパルス応答モジュール２２４も、ストレージ２１６に含まれ得る。インパルス応答モジュール２２４は、スパースソルバモジュール２２２から決定された基底重みを用いて、ラウドスピーカ１０２からマイクロホンのアレイ１０６の各マイクロホンへのインパルス応答を推定するよう構成される。インパルス応答は、基底ベクトルモジュール２２０によって計算される基底ベクトルに対応する基底ベクトルを用いて推定され得る。対応する基底行列もインパルス応答モジュール２２４によって構成されてよく、この基底行列からのベクトルは、マイクロホンのアレイ１０６における各マイクロホンの順に積み重ねられたインパルス応答推定を含むことができる。ストレージ２１６は、マイクロホンのアレイ１０６で受信された音響エコーを無効にするためにインパルス応答推定を使用するエコーキャンセレーションモジュール２２６を更に含むことができる。エコーキャンセレーションモジュール２２６は、各マイクロホンでの受信信号にフィルタをかけ、ＡＥＣ問題を解消する。
【００３４】
図２のブロック図は、コンピューティングシステム２００が図２に示される全てのコンポーネントを含むべきであることを示すよう意図されない点が理解されるべきである。むしろ、コンピューティングシステム２００は、図２で表されていない少数の又は更なるコンポーネント、例えば、追加のアプリケーション、追加のモジュール、追加のメモリデバイス、追加のネットワークインターフェイス（図示せず。）、及び同様のものを含むことができる。更に、コンピューティングシステム２００は、それらの機能を実施するために使用されるコードの如何なる組み合わせも実施され得るので、図示されているモジュールに制限されない。
【００３５】
図３は、マイクロホンアレイ及びラウドスピーカ構成のシステムモデルを表す。較正フェーズの間、トレーニング信号ｌ（ｔ）がラウドスピーカ３０２で再生される。離散時間表記が使用され、時間インデックスとしてｎが使用される。よって、ｌ（ｔ）の離散時間バージョンはｌ［ｎ］と表される。例となる実施形態は複数のラウドスピーカを使用し、このプロシージャは夫々のラウドスピーカについて別々に繰り返される必要があり得る。ラウドスピーカ３０２からｋ番目のマイクロホン３０４までのＲＴＦはｈｋ［ｎ］  ３０６と表され、時不変であると考えられるが、時間的に変化する特徴を追跡するために適応が実行され得る。よって、ｋ番目のマイクロホン３０４で受信される信号は、式（１）によって表される：
【数１】
2019168730.tif 000003
式（１）において、ｍは、和を計算するために使用されるダミー変数であり、ｄｋ［ｎ］は所望の信号であり、ｎは時間インデックスの従来表記であり、ｖｋ［ｎ］は干渉ノイズである。ｄｋ［ｎ］は、較正フェーズの間ゼロであると考えられる点に留意されたい。ＲＴＦ  ｈｋ［ｎ］  ３０６が知られている場合に、エコーは、単に、受信信号から減じられ得る。代わりに、キャンセレーションフィルタ
[外１]
2019168730.tif 000004
は、計算されて、次の式：
【数２】
2019168730.tif 000005
によって与えられる出力信号ｙｋ［ｎ］を計算することでエコーをｘｋ［ｎ］から（部分的に）除くために使用される近似である。式（２）で、同じ変数は、式（１）で定義された変数と同じである。
【００３６】
１つのマイクロホン及び１つのラウドスピーカしか存在しない場合に、ＲＴＦの最小平均二乗誤差推定は“整合フィルタ”として知られる。これは、次のように計算され得る：
【数３】
2019168730.tif 000006
式（３）で、
[外２]
2019168730.tif 000007
は、ｌ［ｎ］の重み付けされたバージョンを指し、
[外３]
2019168730.tif 000008
は、ラウドスピーカ信号ｌ［ｎ］を白色化するために使用される同じフィルタによってフィルタをかけられた後のｘｋ［ｎ］である。統計的白色化（statistical  whitening）プロシージャは有益にデータを変換する。故に、データは、全てのサンプルが統計的に独立している恒等共分散行列を有する。式（３）のキャンセレーションフィルタはベースライン計算であって、それと現在のエコーキャンセレーション技術が比較される。更に、マイクロホンのアレイで複数のマイクロホンを利用することによって推定器３０８で得られる各ＲＴＦの推定は、上記の最適条件よりも良いものであり得る。
【００３７】
図４は、平面アレイ４００に届く可聴信号の概略図である。いずれか１つの経路に沿って、信号は、経路の長さに依存する、アレイの中心までの伝播遅延と、持ち込まれる反射１１０の性質に依存するゲイン（場合により、周波数に依存する。）とを有する。反射１１０が平面波としてアレイ１０６に届くとして、特定の経路に沿った受信信号の構造が図４において示されている。表記の簡単のために、図４において見られるように、マイクロホンの直線配列において、マイクロホンはｚ軸に沿って整列されており、位置（ｚ１，ｚ２，．．．ｚｋ）にあるとする。線形配列１０６に作用する平面波について、原点４０２での連続時間信号がｓ（ｔ）である場合に、ｚｋに位置するマイクロホンでの信号は、τ（ｚｋ，θ）＝−ｚｋｃｏｓ（θ）／ｃであって且つｃが音速であるとして、ｓ（ｔ−τ（ｚｋ，θ））である。言い換えれば、平面波によって各マイクロホン１０６で生成される信号は、アレイジオメトリにのみ依存する遅延（τ）、及び到来方向（θ）４０４を除いて、同じである。  
夫々の反射１１０は、図１に示される仮想イメージソース１０８に対応することができる。以下の式（４）は、最初に、波形が平面として近似され得るほどアレイ１０６の次元が十分に小さいと仮定し、更に、どの反射体もフラットフェージングであると仮定し、最後に、Ｐ個のソース（実又は虚）があれば到来信号の近似を提供するのに十分であると仮定する。次いで、それらの仮定の下で、マイクロホンのアレイ１０６のｋ番目のマイクロホンで受信される信号は、次のように記述され得る：
【数４】
2019168730.tif 000009
式（４）で、Ｔｐ及びαｐは、夫々、波面ｐで生じた遅延及び減衰である（伝播損失並びにマイクロホン及びラウドスピーカの指向性を含む。）。更に、ｃは音速であり、
[外４]
2019168730.tif 000010
は、実際のノイズｖｋ［ｎ］及び場合によりあらゆるモデル化されていない信号成分の両方を含み、θｐは、ｐ番目の経路に沿って到来する信号がアレイの軸と成す角度である。Ｔｓはサンプリングインターバルであり、ｚｋは、上述されたように、ｚ軸におけるｋ番目のマイクロホンの位置である。単ソース信号の組は、同時にマイクロホンのアレイの全マイクロホンに影響を及ぼす単ソース信号として定義され得る。単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する。
【００３８】
式（４）及び図４は、マイクロホンのアレイ１０６が一様であって直線に整列されているとする。しかし、この構成は、ほんの一例を提供するにすぎず、本開示を実施するために必要とされない。実際に、アレイは、一般に直線である必要はない。更に、式（４）は、ゲインが周波数に依存しないと暗黙的に仮定したが、これも必要とされず、ここで記載される技術の実施において当然と考えられる。
【００３９】
図５は、オーディオ信号を受信してインパルス応答を推定する例となる方法のプロセスフロー図である。方法５００はブロック５０２から開始する。ブロック５０２で、オーディオ信号は、１つ以上のラウドスピーカで再生され、対応する信号は、場合により周囲ノイズによって汚染されて、マイクロホンのアレイのうちのあるマイクロホンで受信される。方法はブロック５０４でのステップを含む。このステップで、ラウドスピーカで再生される音響の結果としてマイクロホンに到達し得る一群の信号が推定される。方法は、受信されたオーディオ信号に基づく、マイクロホンのアレイのジオメトリに適合するサブスペースにおける室内インパルス応答のブロック５０６での決定を更に含む。
【００４０】
図５のプロセスフロー図は、方法５００のステップが何らかの特定の順序において実行されるべきであること、又は方法５００の全てのステップがあらゆる場合において含まれるべきであることを示すよう意図されない。更に、具体的な適用に応じて、方法５００には、更なるステップがいくつでも含まれてよい。
【００４１】
図６は、スパースアレイ信号処理を用いて音響エコーキャンセレーションを実施する方法６００の例のプロセスフロー図である。方法は、図２に関して記載されたコンピューティングデバイス２００によって実施されてよい。方法６００はブロック６０２から開始する。ブロック６０２で、オーディオ信号はマイクロホンアレイで受信される。受信された信号は、次いでブロック６０４でアレンジされて単一の大きい数学的ベクトルとして表される。ブロック６０６で、基底ベクトルは、多数の仮想ソースに対応する複数の聴取角度及び時間遅延についてラウドスピーカによって送信された信号を含むよう定義される。仮想ソース又はイメージソースは、マイクロホンアレイで受信される前に室内で反響し得る膨大な数の起こり得る信号反射の表現であることができる。全ての起こり得るベクトルがこのように解析されるわけではなく、重み付けされた構成が、より容易に計算可能なデータセットを提供するために課され得る。
【００４２】
方法は、よってブロック６０８で続く。ブロック６０８で、受信されたオーディオ信号は、仮想であろうと実際であろうと、多数の基底ベクトルの組み合わせの重み付け関数として解釈される。基底ベクトル及び対応する重みは、ある所望のエコー空間での観測ベクトルの最良の表現をもたらすよう最適化され得る。最適化は、次の式によりモデル化され得る：
【数５】
2019168730.tif 000011
【００４３】
式（５）において、
[外５]
2019168730.tif 000012
は、計算された最良の重みベクトル（すなわち、（５）における式を最小化するベクトル）であり、Ｂは、所望のエコー空間を記述する大次元行列であって、個々の基底ベクトルの全てから成ることで形成され、ｘは観測ベクトルであり、σは、許容される再構成エラーである。例となる実施形態において、σは、モデル化されていない成分の標準偏差よりもわずかに大きい値に設定される。より具体的には、σの如何なる値も結果を生成するが、本例では、σは、あるβ＞１について、σ＝βσｖに設定される。なお、σｖはノイズ標準偏差であり、βは正の整数である。他の実施形態では、βは１．５に設定され得る。
【００４４】
可聴信号を表すことができる膨大なデータのために、行列Ｂは非常に大きい可能性が高く、信号空間の過完備基底を構成する可能性が高い。よって、過完備性を扱う有効な方法を見つけることに加えて、（５）を解く有効な方法を見つけることが必要になる。これは、スパーシティ制約（（５）で示されるノルム１行列に埋め込まれる。）を課してスパースソルバを使用することによって、行われ得る。これは、Ｂにおけるデータが格納され、より容易にアクセスされることを可能にする。ブロック６１０で、スパースソルバは、特定の再構成エラーを満足する重みを決定するために用いられる。示されるように、この再構成エラーは、理想的には、モデル化されていない成分の標準偏差よりもわずかに大きくてよい。再構成エラーは、例えば、モデリングエラーにノイズを加えたものに近い数字であることができる。浄化プロシージャも、性能を更に改善するために実施され得る。浄化は、｜ｘ−Σθ，ｔｗθ，ｔｂθ，ｔ｜２の値を最小化することによって、非ゼロである（又は特定の閾値を上回る）と（５）において求められた全ての係数ｗθ，ｔを再計算する。ｂθ，ｔは、遅延ｔを有して角度θで到達する反射に対応する基底ベクトルであり、ｗθ，ｔは、基底ベクトルに関連する（（５）において非ゼロと認められた）重みである。
【００４５】
ブロック６１２で、インパルス応答は、ラウドスピーカからマイクロホンのアレイの各マイクロホンまで推定される。インパルス応答は、ラウドスピーカによって生成された音響エコーの推定に対応し、そのようなエコーを、該エコーがマイクロホンアレイで受信される場合に無効にするために、有効に使用される。インパルス応答推定は、例えば、次のベクトルとして計算され得る：
【数６】
2019168730.tif 000013
ブロック６１４で、式（６）のインパルス応答推定ベクトルは、マイクロホンのアレイの全マイクロホンで受信されるオーディオ信号の表現から音響エコーを除去するために使用され得る。
【００４６】
図６のプロセスフロー図は、方法６００のステップが何らかの特定の順序において実行されるべきであること、又は方法６００の全てのステップがあらゆる場合において含まれるべきであることを示すよう意図されない。更に、具体的な適用に応じて、方法６００には、更なるステップがいくつでも含まれてよい。
【００４７】
図７は、スパースアレイ信号処理を用いてＡＥＣを実行するために使用され得る有形なコンピュータ可読記憶媒体７００を示すブロック図である。有形なコンピュータ可読記憶媒体７００は、コンピュータバス７０４を介してプロセッサ７０２によってアクセスされてよい。更に、有形なコンピュータ可読記憶媒体７００は、ここで開示されている技術のステップを実行するようプロセッサ７０２に指示するコードを含んでよい。
【００４８】
有形なコンピュータ可読記憶媒体７００は、マイクロホンアレイに到達するオーディオ信号を受信し処理するようプロセッサ７０２に指示するように構成されたコード７０６を含むことができる。更に、有形なコンピュータ可読記憶媒体７００は、ベクトル配置を助けるようプロセッサ７０２に指示するように構成されたコード７０８を含むことができる。例えば、コードは、プロセッサ７０２に、受信されたオーディオ信号のとり得る表現の１つの単一大次元ベクトルを定義するよう指示してよい。コード７１０の他のブロックは、プロセッサ７０２に、仮想の及び実際のソース信号の組み合わせであることができる基底ベクトルを定義するよう指示することができる。コード７１２のブロックは、次いで、プロセッサ７０２に、表現データの量をより管理可能なサイズまで減らすために、基底ベクトルの値に対して重み付け関数を生成するよう指示することができる。有形なコンピュータ可読記憶媒体７００は、プロセッサ７０２に、重み付けされた基底ベクトルによって定義される依然として非常に膨大なデータにスパーシティ制約を課すようスパースソルバ技術を実施するように指示するコード７１４を更に含むことができる。コード７１６のブロックは、次いで、プロセッサ７０２に、マイクロホンのアレイの各マイクロホンでのインパルス応答推定を計算するよう指示することができる。インパルス応答推定は、次いで、遅延された反射されたオーディオ信号を記録するマイクロホンを備えたオーディオシステムで通常生成される音響エコーを除去するために、コード７１８のブロックにより利用され得る。
【００４９】
具体的な適用に応じて、有形なコンピュータ可読記憶媒体７００には、図７で示されていない追加のソフトウェアコンポーネントがいくつでも含まれてよい点が理解されるべきである。構造的特徴及び／又は方法に特有の言語において対象は記載されてきたが、添付の特許請求の範囲で定義される対象は、必ずしも上記の具体的な構造的特徴又は方法に制限されない点が理解されるべきである。むしろ、上記の具体的な構造的特徴及び方法は、特許請求の範囲を実施する例となる形態として開示されている。
【図１】
2019168730.tif 000014
【図２】
2019168730.tif 000015
【図３】
2019168730.tif 000016
【図４】
2019168730.tif 000017
【図５】
2019168730.tif 000018
【図６】
2019168730.tif 000019
【図７】
2019168730.tif 000020
【外国語明細書】
2019168730000001.pdf