特許第6837099号(P6837099)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特許6837099音響エコーキャンセルのための室内インパルス応答の推定
<>
  • 特許6837099-音響エコーキャンセルのための室内インパルス応答の推定 図000013
  • 特許6837099-音響エコーキャンセルのための室内インパルス応答の推定 図000014
  • 特許6837099-音響エコーキャンセルのための室内インパルス応答の推定 図000015
  • 特許6837099-音響エコーキャンセルのための室内インパルス応答の推定 図000016
  • 特許6837099-音響エコーキャンセルのための室内インパルス応答の推定 図000017
  • 特許6837099-音響エコーキャンセルのための室内インパルス応答の推定 図000018
  • 特許6837099-音響エコーキャンセルのための室内インパルス応答の推定 図000019
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6837099
(24)【登録日】2021年2月10日
(45)【発行日】2021年3月3日
(54)【発明の名称】音響エコーキャンセルのための室内インパルス応答の推定
(51)【国際特許分類】
   G10K 15/00 20060101AFI20210222BHJP
   H04R 3/00 20060101ALI20210222BHJP
   H04R 3/02 20060101ALI20210222BHJP
   G01H 17/00 20060101ALI20210222BHJP
【FI】
   G10K15/00 L
   H04R3/00 320
   H04R3/02
   G01H17/00 C
【請求項の数】7
【外国語出願】
【全頁数】15
(21)【出願番号】特願2019-126371(P2019-126371)
(22)【出願日】2019年7月5日
(62)【分割の表示】特願2016-535694(P2016-535694)の分割
【原出願日】2014年11月28日
(65)【公開番号】特開2019-168730(P2019-168730A)
(43)【公開日】2019年10月3日
【審査請求日】2019年7月5日
(31)【優先権主張番号】14/098,283
(32)【優先日】2013年12月5日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】フロレンシオ,ダイネイ
(72)【発明者】
【氏名】イエレペディ,アツルヤ
【審査官】 齊田 寛史
(56)【参考文献】
【文献】 特表2013−507796(JP,A)
【文献】 特開2005−080124(JP,A)
【文献】 特開2010−206449(JP,A)
【文献】 国際公開第2012/105386(WO,A1)
【文献】 特開2010−020294(JP,A)
【文献】 特表2010−527181(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10K 15/00
G01H 17/00
H04R 3/00
H04R 3/02
(57)【特許請求の範囲】
【請求項1】
オーディオソースとマイクロホンのアレイとの間の室内インパルス応答を推定する方法であって、
マイクロホンのアレイのうちの夫々のマイクロホンで、当該マイクロホンに対応するオーディオ信号を受信することと、
前記受信されたオーディオ信号に基づき、単ソース信号の組を、該単ソース信号が同時に前記マイクロホンのアレイの全マイクロホンに影響を与えるとして定義することであり、前記単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する、前記定義することと、
前記単ソース信号の組の重み付けされた組み合わせを求め、該重み付けされた組み合わせを前記受信されたオーディオ信号の近似とすることと、
前記室内インパルス応答を決定することであり、該インパルス応答は、前記重み付けされた組み合わせに対応する、前記推定することと
を有し、
前記受信されたオーディオ信号は、基底ベクトルによって表され、該基底ベクトルは、前記オーディオソースから前記マイクロホンのアレイによって受信される実際の又は仮想のイメージ信号を表すよう構成され、多数の仮想のソースに対応する複数の聴取角度及び時間遅延について受信される信号を含むよう定義される、方法。
【請求項2】
音響エコーキャンセレーションを初期化するために前記室内インパルス応答を使用することを更に有する
請求項1に記載の方法。
【請求項3】
前記単ソース信号の組を重み付けする重みが再構成エラーを満足するよう凸最適化技術を用いて最適化されるように、スパースソルバを使用することを更に有し、前記再構成エラーは、モデリングエラーにノイズを加えたものに対応する、
請求項1又は2に記載の方法。
【請求項4】
前記インパルス応答は、高速フーリエ変換アルゴリズムに依存する技術を用いて推定される、
請求項1乃至のうちいずれか一項に記載の方法。
【請求項5】
オーディオソース及びマイクロホンのアレイの配置において経験される可聴フィードバックの音響エコーキャンセレーションを実施するシステムであって、
プロセッサ実行可能コードを実行するプロセッサと、
マイクロホンのアレイと、
プロセッサ実行可能コードを記憶する記憶デバイスと
を有し、
前記プロセッサ実行可能コードは、前記プロセッサによって実行される場合に、該プロセッサに、
マイクロホンのアレイのうちの夫々のマイクロホンで、当該マイクロホンに対応するオーディオ信号を受信することと、
前記受信されたオーディオ信号に基づき、単ソース信号の組を、該単ソース信号が同時に前記マイクロホンのアレイの全マイクロホンに影響を与えるとして定義することであって、前記単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する、前記定義することと、
前記単ソース信号の組の重み付けされた組み合わせを求め、該重み付けされた重みを前記受信されたオーディオ信号の近似とすることと、
前記オーディオソースから前記マイクロホンのアレイの各マイクロホンへの室内インパルス応答を推定することであって、該インパルス応答は、前記重み付けされた組み合わせに対応する、前記推定することと、
前記インパルス応答を用いて、前記受信されたオーディオ信号から音響エコーをキャンセルすることと
を実行させ
前記受信されたオーディオ信号は、基底ベクトルによって表され、該基底ベクトルは、前記オーディオソースから前記マイクロホンのアレイによって受信される実際の又は仮想のイメージ信号を表すよう構成され、多数の仮想のソースに対応する複数の聴取角度及び時間遅延について受信される信号を含むよう定義される、システム。
【請求項6】
前記単ソース信号の組の前記重み付けされた組み合わせは、凸最適化技術を用いて最適化される、
請求項に記載のシステム。
【請求項7】
前記インパルス応答は、高速フーリエ変換アルゴリズムに依存する技術を用いて推定される、
請求項又はに記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
音響エコーキャンセレーション(AEC;acoustic echo cancellation)は、マイクロホンによって捕捉された信号から、そのマイクロホンの近くに位置するラウドスピーカによって放射される信号を除去する問題である。AECは、電話会議システム、スピーカ電話、及び同様のものを含む双方向通信の重要な側面であった。標準の問題シナリオは、1つのラウドスピーカと1つのマイクロホンとを含み、従来の解決法は、ラウドスピーカフィードバックの現れを除去するよう適応フィルタをトレーニングすることである。問題の重要性により、収束速度の増大、収束状態の検出、計算複雑性の低減、などは、研究が進み続ける領域である。
【0002】
第2のシナリオは、近年重要性が増している。すなわち、家庭及び自動車エンターテイメントシステムのためのボイスコントロールである。それらのシステムは、相当に高い再現度で動作するマルチチャネルオーディオ再生、例えば、ステレオ又は5.1サラウンドシステムを通常は備える。ユーザ(すなわち、所望のオーディオソース)は、マイクロホンから数メートル離れていることがあり、ノイズレベルは相当であり得る。
【発明の概要】
【0003】
以下は、ここで記載される幾つかの態様の基本的理解を提供するために、簡単な要約を示す。この概要は、請求されている対象の広範囲に及ぶ概要ではない。この要約は、請求されている対象のキーとなる又は重要な要素を特定することを目的とせず、更には、請求されている対象の適用範囲を線引きするものでもない。この要約の唯一の目的は、以降で示されるより詳細な記載に対する前置きとして、請求されている対象の幾つかの概念を簡略化された形で示すことである。
【0004】
実施形態は、オーディオソースとマイクロホンのアレイとの間の室内インパルス応答を推定する方法を提供する。方法は、マイクロホンのアレイのあるマイクロホンでオーディオ信号を受信することを含み、オーディオ信号は、アレイの各マイクロホンに対応する。方法は、受信されたオーディオ信号に基づき、マイクロホンのアレイのジオメトリに適合するサブスペースにおける室内インパルス応答を決定することを更に含む。
【0005】
他の実施形態は、オーディオソースとマイクロホンのアレイとの間の室内インパルス応答を推定する方法を提供する。方法は、マイクロホンのアレイのあるマイクロホンでオーディオ信号を受信することを含み、オーディオ信号は、アレイの各マイクロホンに対応する。方法は、単ソース信号の組を、該単ソース信号が同時にマイクロホンのアレイの全マイクロホンに影響を与えるとして定義することを更に含み、単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する。更に、方法は、単ソース信号の組の重み付けされた組み合わせとして、受信されたオーディオ信号の近似を求めることを含む。方法は、オーディオソースからマイクロホンのアレイの各マイクロホンへの室内インパルス応答を推定することを含み、該インパルス応答は前記重み付けされた組み合わせに対応する。方法は、インパルス応答を用いて、受信されたオーディオ信号から音響エコーをキャンセルすることによって、完結する。
【0006】
他の実施形態は、オーディオソース及びマイクロホンのアレイの配置において経験される可聴フィードバックの音響エコーキャンセレーションを実施するシステムを提供する。システムは、プロセッサ実行可能コードを実行するプロセッサと、マイクロホンのアレイと、プロセッサ実行可能コードを記憶する記憶デバイスとを有する。プロセッサ実行可能コードは、システムのプロセッサによって実行される場合に、該プロセッサに、マイクロホンのアレイのあるマイクロホンでオーディオ信号を受信させる。オーディオ信号は、アレイの各マイクロホンに対応する。プロセッサは、単ソース信号の組を、該単ソース信号が同時にマイクロホンのアレイの全マイクロホンに影響を与えるとして定義するよう構成され、単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する。プロセッサは、単ソース信号の重み付けされた組み合わせとして、受信されたオーディオ信号の近似を求めさせられる。プロセッサは、オーディオソースからマイクロホンのアレイの各マイクロホンへの室内インパルス応答を推定するよう構成され、インパルス応答は、前記重み付けされた組み合わせに対応する。プロセッサは、最後に、インパルス応答を用いて、受信されたオーディオ信号から音響エコーをキャンセルさせられる。
【図面の簡単な説明】
【0007】
以下の詳細な説明は、添付の図面を参照することによって、より良く理解され得る。図面は、開示されている対象の多数の特徴の具体例を含む。
【0008】
図1】可聴信号反射が仮想イメージソースとしてモデル化される部屋の概略図である。
【0009】
図2】スパースアレイ信号処理を用いるAECのために使用され得るコンピューティングデバイスの例のブロック図である。
【0010】
図3】マイクロホンアレイ及びラウドスピーカ構成のシステムモデルを表す。
【0011】
図4】平面1−dアレイで到来する可聴信号の概略図である。
【0012】
図5】オーディオ信号を受信してインパルス応答を推定する例となる方法のプロセスフロー図である。
【0013】
図6】スパースアレイ信号処理を用いて音響エコーをキャンセルする例となる方法のプロセスフロー図である。
【0014】
図7】スパースアレイ信号処理を用いて音響エコーをキャンセルする命令を記憶することができる有形なコンピュータ可読記憶媒体を示すブロック図である。
【発明を実施するための形態】
【0015】
マイクロホンアレイ及び1つ以上のラウドスピーカを有する残響環境での音響エコーキャンセレーションの問題が考えられる。エコーをキャンセルすることは、多数のラウドスピーカからマイクロホンのアレイ内の各マイクロホンへのインパルス応答を学習することを必要とする。これは、通常、各ラウドスピーカについて各マイクロホンで別々に行われてきた。しかし、アレイに到来する信号は共通の構造を共有する。このことは、インパルス応答推定を改善するために有効に使用され得る。
【0016】
ここで示される実施形態は、較正信号に基づく初期室内伝達関数(RTF;room transfer function)推定に向けられている。ここで記載される技術は、適応AECフィルタのより複雑な問題にまで広げられ得るが、ほとんどの現在配備されているマイクロホンアレイは、フィルタを初期化し、後にフィルタ係数のサブセットを適応させるために、較正信号を使用する。目下の実施形態は、初期RTF推定のより関連した問題に向けられているが、それに制限されない。RTFのスパースネスはよく知られており、エコーキャンセレーションにおいて使用されてきた。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,2006年を参照。ビームフォーミング(又は空間フィルタリング)とエコーキャンセレーションとの間のインタラクションも考えられてきた。W. Herbordt, et al.,“Joint optimization of acoustic echo cancellation and adaptive beamforming”,Topics in acoustic echo and noise control,pp.19-50,2006年を参照。しかし、それらの場合において、エコーキャンセレーションフィルタ推定は、それ自体がアレイ情報を利用しない。先の技術は、夫々のAECフィルタを別々に計算し、そして、本開示で詳述されているようにはアレイ構造を用いない。
【0017】
前付として、図の幾つかは、機能、モジュール、機構、要素、などと呼ばれる1つ以上の構造コンポーネントに関連して概念を記載する。図に示されている様々なコンポーネントは、如何なる方法においても、例えば、ソフトウェア、ハードウェア(例えば、ディスクリートロジックコンポーネント、など)、ファームウェア、その他、又はそれらの実施の如何なる組み合わせによっても、実施され得る。幾つかの実施形態において、様々なコンポーネントは、実際の実施における対応するコンポーネントの使用を反映してよい。他の実施形態では、図に表されている如何なる単一コンポーネントも、複数の実際のコンポーネントによって実施されてよい。図におけるいずれか2つ以上の別個のコンポーネントの描写は、単一の実際のコンポーネントによって実行される異なった機能を反映してよい。
【0018】
他の図は、フローチャート形式において概念を記載する。この形式では、特定の動作は、特定の順序で実行される個別ブロックを構成するものとして記載される。そのような実施は、例であり制限でない。ここで記載される特定のブロックは、まとめられて1つの動作において実行されてよく、特定のブロックは、複数のコンポーネントブロックに分けられてよく、特定のブロックは、ブロックを同時に実行することを含め、ここで表されているのとは異なる順序で実行されてよい。フローチャートにおいて示されるブロックは、ソフトウェア、ハードウェア、ファームウェア、手動処理、及び同様のもの、又はそれらの実施の如何なる組み合わせによっても、実施され得る。ここで使用されるように、ハードウェアは、コンピュータシステム、ディスクリートロジックコンポーネント(例えば、特定用途向け集積回路(ASIC;application specific integrated circuit))、及び同様のもの、並びにそれらの如何なる組み合わせも含んでよい。
【0019】
用語に関して、「〜するよう構成される(configured to)」は、あらゆる種類の構造コンポーネントが特定されている動作を実行するよう組み立てられ得る如何なる方法も包含する。構造コンポーネントは、ソフトウェア、ハードウェア、ファームウェア及び同様のもの、又はそれらの如何なる組み合わせによっても動作を実行するよう構成され得る。
【0020】
語「ロジック(logic)」は、タスクを実行する如何なる機能も包含する。例えば、フローチャートにおいて表されている夫々の動作は、その動作を実行するロジックに対応する。動作は、ソフトウェア、ハードウェア、ファームウェア、など、又はそれらの如何なる組み合わせによっても実行され得る。
【0021】
ここで使用されるように、語「コンポーネント(component)」、「システム(system)」、「クライアント(client)」及び同様のものは、ハードウェア、(例えば、実行中の)ソフトウェア、及び/又はファームウェア、あるいは、それらの組み合わせのいずれかである、コンピュータに関連したエンティティに言及するよう意図される。例えば、コンポーネントは、プロセッサ、オブジェクト、実行ファイル、プログラム、関数、ライブラリ、サブルーチン、及び/又はコンピュータ若しくはソフトウェア及びハードウェアの組み合わせで実行されるプロセッサであることができる。例として、サーバで実行されるアプリケーション及びサーバは両方ともコンポーネントであることができる。1つ以上のコンポーネントは、プロセス内にあることができ、コンポーネントは、1つのコンピュータにおいてローカライズされ及び/又は2つ以上のコンピュータ間で分散され得る。
【0022】
更に、請求される対象は、標準のプログラミング及び/又はエンジニアリング技術を用いてソフトウェア、ファームウェア、ハードウェア又はそれらの如何なる組み合わせも生成し、開示されている対象を実施するようコンピュータを制御する方法、装置、又は製品として実施されてよい。ここで使用される語「製品(article of manufacture)」は、如何なる有形なコンピュータ可読デバイス又は媒体からもアクセス可能なコンピュータプログラムを包含するよう意図される。
【0023】
コンピュータ可読記憶媒体には、制限なしに、磁気記憶デバイス(例えば、とりわけ、ハードディスク、フロッピー(登録商標)ディスク、及び磁気ストリップ)、光ディスク(例えば、とりわけ、コンパクトディスク(CD;compact disc)、及びデジタルバーサタイルディスク(DVD;digital versatile disc))、スマートカード、及びフラッシュメモリデバイス(例えば、とりわけ、カード、スティック、及びキードライブ)が含まれ得る。その一方、コンピュータ可読媒体全般(すなわち、記憶媒体ではない。)には、無線信号及び同様のもののための伝送媒体のような通信媒体が更に含まれてよい。
【0024】
ここで記載される技術の実施形態は、制限なしに、室内伝達関数推定に向けられている。目下の実施形態は、音響エコーキャンセレーションの所望の結果を達成するようエコーキャンセレーションフィルタの推定にアレイ情報を組み込むことを考えている。
【0025】
図1は、可聴信号反射110が仮想イメージソース108としてモデル化される部屋100の概略図である。ラウドスピーカ102は全方向において音波104を発する。音波104は、部屋100の中で反響し、マイクロホンアレイ106で受信される前に壁及び他の面に反射する。夫々の反射110はイメージソース108に対応する。イメージソース108は、部屋100の中の音響効果をシミュレーションするために、ここで記載される例において使用される。マイクロホンアレイ106での受信信号は、信号を送信するラウドスピーカ102とマイクロホンアレイ106にある受信器との間の多数の経路に沿って受信される信号の重ね合わせである。
【0026】
目下の技術の実施形態は、夫々のラウドスピーカ102とマイクロホン106との間のインパルス応答の推定を形成するために、アレイに到来する反射110のスパーシティとともに、マイクロホンアレイ構造106を利用するアルゴリズムを組み込む。アルゴリズムは、合成及び実データの両方において整合フィルタアルゴリズムに対して性能を改善すると見られる。実施形態は、夫々のマイクロホンでの室内伝達関数(RTF)推定を改善するために既知のマイクロホンアレイジオメトリを使用する。これは、全てのマイクロホンが同じ部屋にあり、同じラウドスピーカから信号を受信し且つ同じ障害から跳ね返るという事実によりRFTにおいて現れる規則性を利用することによって、達成される。マイクロホンアレイジオメトリが知られていると仮定する一方で、マイクロホンアレイ106のジオメトリは、ここで記載されるように信号を収集するより前に知られている必要はない点が留意されるべきである。言い換えれば、アレイの構成は受信信号を用いて推定され得るので、予めそれを知る必要はない。当業者であれば、アレイジオメトリを推定するために如何にして相関及び複数の受信信号を使用すべきか知っているであろう。
【0027】
図2は、スパースアレイ信号処理を用いるAECのために使用され得るコンピューティングデバイス200の例のブロック図である。コンピューティングシステム200は、例えば、Microsoft(登録商標)によるXbox(登録商標) 360若しくはX box Oneプラットフォームとともに使用されるXbox Kinect(登録商標)、又は同様のオーディオキャプチャデバイスであることができる。幾つかの実施形態において、コンピューティングシステム200は、例えば、フィードバックを提供するためにレビュアーによって使用されるデスクトップコンピュータであってよい。他の実施形態では、コンピューティングシステム200は、多くのより新しい自動車におけるダッシュボードディスプレイ及びユーザインターフェイスに組み込まれ得る。コンピューティングシステム200は、記憶されている命令を実行するよう構成されるプロセッサ202と、プロセッサ202によって実行される命令を記憶するメモリデバイス204とを含むことができる。プロセッサ202は、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、又は多くの他の構成であることができる。メモリデバイス204は、ランダムアクセスメモリ(例えば、SRAM、DRAM、ゼロキャパシタRAM、SONOS、eDRAM、EDO RAM、DDR RAM、RRAM(登録商標)、PRAM、など)、リードオンリーメモリ(例えば、マスクROM、PROM、EPROM、EEPROM、など)、フラッシュメモリ、又は如何なる他の適切なメモリシステムも含むことができる。プロセッサ202によって実行される命令は、疎表現化されたアレイに基づく信号処理を用いる音響エコーキャンセレーションのために使用され得る。
【0028】
プロセッサ202は、コンピューティングシステム200を1つ以上のI/Oデバイス210へ接続するよう構成される入出力(I/O)デバイスインターフェイス208へシステムバス206(例えば、プロプリエタリ・バス、PCI、ISA、PCI−Express、HyperTransport、NuBus、など)を通じて接続されてよい。I/Oデバイス210は、例えば、とりわけ、カメラ、ジェスチャ認識入力デバイス、キーボード、ポインティングデバイス、音声認識デバイス、及びネットワークでインターフェイスを含むことができる。ポインティングデバイスは、とりわけ、タッチパッド又はタッチスクリーンを含んでよい。本開示において、重要なI/Oデバイスは、コンピューティングシステム200へ接続されるマイクロホンアレイ106である。I/Oデバイス210は、コンピューティングシステム200の内蔵コンポーネントであることができ、あるいは、コンピューティングシステム200へ外部から接続されているデバイスであることができる。
【0029】
プロセッサ202は、コンピューティングシステム200をディスプレイデバイス214へ接続するよう構成されるディスプレイデバイスインターフェイス212へもシステムバス206を通じてリンクされ得る。ディスプレイデバイス214は、コンピューティングシステム200の内蔵コンポーネントであるディスプレイスクリーンを含んでよい。ディスプレイデバイス214は、コンピューティングシステム200へ外部から接続されている、とりわけ、コンピュータモニタ、テレビ、又はプロジェクタも含むことができる。
【0030】
ストレージ216は、バス206を通じてプロセッサ202へ結合され得る。ストレージ216は、ハードドライブ、ソリッドステートドライブ、光学ドライブ、USBフラッシュドライブ、ドライブのアレイ、又はそれらの如何なる組み合わせも含むことができる。ストレージ216は、ここで記載されるように、スパースアレイ信号処理を用いる音響エコーキャンセレーションを実施するよう構成される多数のモジュールを含むことができる。例えば、ストレージ216は、マイクロホンアレイ106の全てのマイクロホンでの受信信号110を単一の大きいベクトルに配置するよう構成される信号配置モジュール218を含むことができる。
【0031】
ストレージ216は、マイクロホンアレイ106からのソース距離及びマイクロホンアレイ106への受信信号の角度を組み込む基底ベクトルを計算する基底ベクトルモジュール220を更に含むことができる。夫々の起こり得る角度及び距離として計算され得る夫々の起こり得る遅延時間について、基底ベクトルは、ラウドスピーカ信号が特定の角度及び遅延からアレイの中心へ届いている場合に、マイクロホンのアレイ106の各マイクロホンについて積み重ねられたラウドスピーカ信号として定義され得る。実施形態において、全ての起こり得る角度及び遅延は、マイクロホンアレイ106で経験される音響エコーをキャンセルするインパルス応答が生成され得る前に、離散化されてスパースソルバの対象となる。このように、受信信号は、基底ベクトルの少数の重み付けされた組み合わせになる(起こり得る角度及び遅延の数は、マイクロホンアレイ106で実際に受信される数よりもずっと大きいので、少数である。)。
【0032】
ストレージ216には、スパースソルバモジュール222も含まれ得る。数百万の角度及び遅延が存在するという理由で、更には、それらの夫々は基底ベクトルによって表される必要があるので、基底行列の全体のサイズは非常に大きい。夫々のとり得る位置は、基底ベクトルによって表されるそれらの信号が真であろうと虚であろうと、表されるべきである。凸最適化プロシージャを通じて、スパースソルバモジュール222は、重み付けされた基底ベクトルを使用し、そして、特定の再構成エラーを満足する最小値の重みを決定する。最適化プロシージャは、例えば、スパース制約に伴う近似表現の問題を解くよく知られた方法であるBasis Pursuit Denoising(BPDN)であることができる。スパースソルバは、行列ベクトル演算に依存するSPGLソルバや、大規模なノルム1の正則化最小二乗のためのMatlab(登録商標)ソルバとしても、そのようなソルバを含むことができる。
【0033】
インパルス応答モジュール224も、ストレージ216に含まれ得る。インパルス応答モジュール224は、スパースソルバモジュール222から決定された基底重みを用いて、ラウドスピーカ102からマイクロホンのアレイ106の各マイクロホンへのインパルス応答を推定するよう構成される。インパルス応答は、基底ベクトルモジュール220によって計算される基底ベクトルに対応する基底ベクトルを用いて推定され得る。対応する基底行列もインパルス応答モジュール224によって構成されてよく、この基底行列からのベクトルは、マイクロホンのアレイ106における各マイクロホンの順に積み重ねられたインパルス応答推定を含むことができる。ストレージ216は、マイクロホンのアレイ106で受信された音響エコーを無効にするためにインパルス応答推定を使用するエコーキャンセレーションモジュール226を更に含むことができる。エコーキャンセレーションモジュール226は、各マイクロホンでの受信信号にフィルタをかけ、AEC問題を解消する。
【0034】
図2のブロック図は、コンピューティングシステム200が図2に示される全てのコンポーネントを含むべきであることを示すよう意図されない点が理解されるべきである。むしろ、コンピューティングシステム200は、図2で表されていない少数の又は更なるコンポーネント、例えば、追加のアプリケーション、追加のモジュール、追加のメモリデバイス、追加のネットワークインターフェイス(図示せず。)、及び同様のものを含むことができる。更に、コンピューティングシステム200は、それらの機能を実施するために使用されるコードの如何なる組み合わせも実施され得るので、図示されているモジュールに制限されない。
【0035】
図3は、マイクロホンアレイ及びラウドスピーカ構成のシステムモデルを表す。較正フェーズの間、トレーニング信号l(t)がラウドスピーカ302で再生される。離散時間表記が使用され、時間インデックスとしてnが使用される。よって、l(t)の離散時間バージョンはl[n]と表される。例となる実施形態は複数のラウドスピーカを使用し、このプロシージャは夫々のラウドスピーカについて別々に繰り返される必要があり得る。ラウドスピーカ302からk番目のマイクロホン304までのRTFはh[n] 306と表され、時不変であると考えられるが、時間的に変化する特徴を追跡するために適応が実行され得る。よって、k番目のマイクロホン304で受信される信号は、式(1)によって表される:
【数1】
式(1)において、mは、和を計算するために使用されるダミー変数であり、d[n]は所望の信号であり、nは時間インデックスの従来表記であり、v[n]は干渉ノイズである。d[n]は、較正フェーズの間ゼロであると考えられる点に留意されたい。RTF h[n] 306が知られている場合に、エコーは、単に、受信信号から減じられ得る。代わりに、キャンセレーションフィルタ
[外1]
は、計算されて、次の式:
【数2】
によって与えられる出力信号y[n]を計算することでエコーをx[n]から(部分的に)除くために使用される近似である。式(2)で、同じ変数は、式(1)で定義された変数と同じである。
【0036】
1つのマイクロホン及び1つのラウドスピーカしか存在しない場合に、RTFの最小平均二乗誤差推定は“整合フィルタ”として知られる。これは、次のように計算され得る:
【数3】
式(3)で、
[外2]
は、l[n]の重み付けされたバージョンを指し、
[外3]
は、ラウドスピーカ信号l[n]を白色化するために使用される同じフィルタによってフィルタをかけられた後のx[n]である。統計的白色化(statistical whitening)プロシージャは有益にデータを変換する。故に、データは、全てのサンプルが統計的に独立している恒等共分散行列を有する。式(3)のキャンセレーションフィルタはベースライン計算であって、それと現在のエコーキャンセレーション技術が比較される。更に、マイクロホンのアレイで複数のマイクロホンを利用することによって推定器308で得られる各RTFの推定は、上記の最適条件よりも良いものであり得る。
【0037】
図4は、平面アレイ400に届く可聴信号の概略図である。いずれか1つの経路に沿って、信号は、経路の長さに依存する、アレイの中心までの伝播遅延と、持ち込まれる反射110の性質に依存するゲイン(場合により、周波数に依存する。)とを有する。反射110が平面波としてアレイ106に届くとして、特定の経路に沿った受信信号の構造が図4において示されている。表記の簡単のために、図4において見られるように、マイクロホンの直線配列において、マイクロホンはz軸に沿って整列されており、位置(z,z,...z)にあるとする。線形配列106に作用する平面波について、原点402での連続時間信号がs(t)である場合に、zに位置するマイクロホンでの信号は、τ(z,θ)=−zcos(θ)/cであって且つcが音速であるとして、s(t−τ(z,θ))である。言い換えれば、平面波によって各マイクロホン106で生成される信号は、アレイジオメトリにのみ依存する遅延(τ)、及び到来方向(θ)404を除いて、同じである。
夫々の反射110は、図1に示される仮想イメージソース108に対応することができる。以下の式(4)は、最初に、波形が平面として近似され得るほどアレイ106の次元が十分に小さいと仮定し、更に、どの反射体もフラットフェージングであると仮定し、最後に、P個のソース(実又は虚)があれば到来信号の近似を提供するのに十分であると仮定する。次いで、それらの仮定の下で、マイクロホンのアレイ106のk番目のマイクロホンで受信される信号は、次のように記述され得る:
【数4】
式(4)で、T及びαは、夫々、波面pで生じた遅延及び減衰である(伝播損失並びにマイクロホン及びラウドスピーカの指向性を含む。)。更に、cは音速であり、
[外4]
は、実際のノイズv[n]及び場合によりあらゆるモデル化されていない信号成分の両方を含み、θは、p番目の経路に沿って到来する信号がアレイの軸と成す角度である。Tはサンプリングインターバルであり、zは、上述されたように、z軸におけるk番目のマイクロホンの位置である。単ソース信号の組は、同時にマイクロホンのアレイの全マイクロホンに影響を及ぼす単ソース信号として定義され得る。単ソース信号の夫々は、異なる位置にある単一の実際の又は仮想のソースに対応する。
【0038】
式(4)及び図4は、マイクロホンのアレイ106が一様であって直線に整列されているとする。しかし、この構成は、ほんの一例を提供するにすぎず、本開示を実施するために必要とされない。実際に、アレイは、一般に直線である必要はない。更に、式(4)は、ゲインが周波数に依存しないと暗黙的に仮定したが、これも必要とされず、ここで記載される技術の実施において当然と考えられる。
【0039】
図5は、オーディオ信号を受信してインパルス応答を推定する例となる方法のプロセスフロー図である。方法500はブロック502から開始する。ブロック502で、オーディオ信号は、1つ以上のラウドスピーカで再生され、対応する信号は、場合により周囲ノイズによって汚染されて、マイクロホンのアレイのうちのあるマイクロホンで受信される。方法はブロック504でのステップを含む。このステップで、ラウドスピーカで再生される音響の結果としてマイクロホンに到達し得る一群の信号が推定される。方法は、受信されたオーディオ信号に基づく、マイクロホンのアレイのジオメトリに適合するサブスペースにおける室内インパルス応答のブロック506での決定を更に含む。
【0040】
図5のプロセスフロー図は、方法500のステップが何らかの特定の順序において実行されるべきであること、又は方法500の全てのステップがあらゆる場合において含まれるべきであることを示すよう意図されない。更に、具体的な適用に応じて、方法500には、更なるステップがいくつでも含まれてよい。
【0041】
図6は、スパースアレイ信号処理を用いて音響エコーキャンセレーションを実施する方法600の例のプロセスフロー図である。方法は、図2に関して記載されたコンピューティングデバイス200によって実施されてよい。方法600はブロック602から開始する。ブロック602で、オーディオ信号はマイクロホンアレイで受信される。受信された信号は、次いでブロック604でアレンジされて単一の大きい数学的ベクトルとして表される。ブロック606で、基底ベクトルは、多数の仮想ソースに対応する複数の聴取角度及び時間遅延についてラウドスピーカによって送信された信号を含むよう定義される。仮想ソース又はイメージソースは、マイクロホンアレイで受信される前に室内で反響し得る膨大な数の起こり得る信号反射の表現であることができる。全ての起こり得るベクトルがこのように解析されるわけではなく、重み付けされた構成が、より容易に計算可能なデータセットを提供するために課され得る。
【0042】
方法は、よってブロック608で続く。ブロック608で、受信されたオーディオ信号は、仮想であろうと実際であろうと、多数の基底ベクトルの組み合わせの重み付け関数として解釈される。基底ベクトル及び対応する重みは、ある所望のエコー空間での観測ベクトルの最良の表現をもたらすよう最適化され得る。最適化は、次の式によりモデル化され得る:
【数5】
【0043】
式(5)において、
[外5]
は、計算された最良の重みベクトル(すなわち、(5)における式を最小化するベクトル)であり、Bは、所望のエコー空間を記述する大次元行列であって、個々の基底ベクトルの全てから成ることで形成され、xは観測ベクトルであり、σは、許容される再構成エラーである。例となる実施形態において、σは、モデル化されていない成分の標準偏差よりもわずかに大きい値に設定される。より具体的には、σの如何なる値も結果を生成するが、本例では、σは、あるβ>1について、σ=βσに設定される。なお、σはノイズ標準偏差であり、βは正の整数である。他の実施形態では、βは1.5に設定され得る。
【0044】
可聴信号を表すことができる膨大なデータのために、行列Bは非常に大きい可能性が高く、信号空間の過完備基底を構成する可能性が高い。よって、過完備性を扱う有効な方法を見つけることに加えて、(5)を解く有効な方法を見つけることが必要になる。これは、スパーシティ制約((5)で示されるノルム1行列に埋め込まれる。)を課してスパースソルバを使用することによって、行われ得る。これは、Bにおけるデータが格納され、より容易にアクセスされることを可能にする。ブロック610で、スパースソルバは、特定の再構成エラーを満足する重みを決定するために用いられる。示されるように、この再構成エラーは、理想的には、モデル化されていない成分の標準偏差よりもわずかに大きくてよい。再構成エラーは、例えば、モデリングエラーにノイズを加えたものに近い数字であることができる。浄化プロシージャも、性能を更に改善するために実施され得る。浄化は、|x−Σθ,tθ,tθ,tの値を最小化することによって、非ゼロである(又は特定の閾値を上回る)と(5)において求められた全ての係数wθ,tを再計算する。bθ,tは、遅延tを有して角度θで到達する反射に対応する基底ベクトルであり、wθ,tは、基底ベクトルに関連する((5)において非ゼロと認められた)重みである。
【0045】
ブロック612で、インパルス応答は、ラウドスピーカからマイクロホンのアレイの各マイクロホンまで推定される。インパルス応答は、ラウドスピーカによって生成された音響エコーの推定に対応し、そのようなエコーを、該エコーがマイクロホンアレイで受信される場合に無効にするために、有効に使用される。インパルス応答推定は、例えば、次のベクトルとして計算され得る:
【数6】
ブロック614で、式(6)のインパルス応答推定ベクトルは、マイクロホンのアレイの全マイクロホンで受信されるオーディオ信号の表現から音響エコーを除去するために使用され得る。
【0046】
図6のプロセスフロー図は、方法600のステップが何らかの特定の順序において実行されるべきであること、又は方法600の全てのステップがあらゆる場合において含まれるべきであることを示すよう意図されない。更に、具体的な適用に応じて、方法600には、更なるステップがいくつでも含まれてよい。
【0047】
図7は、スパースアレイ信号処理を用いてAECを実行するために使用され得る有形なコンピュータ可読記憶媒体700を示すブロック図である。有形なコンピュータ可読記憶媒体700は、コンピュータバス704を介してプロセッサ702によってアクセスされてよい。更に、有形なコンピュータ可読記憶媒体700は、ここで開示されている技術のステップを実行するようプロセッサ702に指示するコードを含んでよい。
【0048】
有形なコンピュータ可読記憶媒体700は、マイクロホンアレイに到達するオーディオ信号を受信し処理するようプロセッサ702に指示するように構成されたコード706を含むことができる。更に、有形なコンピュータ可読記憶媒体700は、ベクトル配置を助けるようプロセッサ702に指示するように構成されたコード708を含むことができる。例えば、コードは、プロセッサ702に、受信されたオーディオ信号のとり得る表現の1つの単一大次元ベクトルを定義するよう指示してよい。コード710の他のブロックは、プロセッサ702に、仮想の及び実際のソース信号の組み合わせであることができる基底ベクトルを定義するよう指示することができる。コード712のブロックは、次いで、プロセッサ702に、表現データの量をより管理可能なサイズまで減らすために、基底ベクトルの値に対して重み付け関数を生成するよう指示することができる。有形なコンピュータ可読記憶媒体700は、プロセッサ702に、重み付けされた基底ベクトルによって定義される依然として非常に膨大なデータにスパーシティ制約を課すようスパースソルバ技術を実施するように指示するコード714を更に含むことができる。コード716のブロックは、次いで、プロセッサ702に、マイクロホンのアレイの各マイクロホンでのインパルス応答推定を計算するよう指示することができる。インパルス応答推定は、次いで、遅延された反射されたオーディオ信号を記録するマイクロホンを備えたオーディオシステムで通常生成される音響エコーを除去するために、コード718のブロックにより利用され得る。
【0049】
具体的な適用に応じて、有形なコンピュータ可読記憶媒体700には、図7で示されていない追加のソフトウェアコンポーネントがいくつでも含まれてよい点が理解されるべきである。構造的特徴及び/又は方法に特有の言語において対象は記載されてきたが、添付の特許請求の範囲で定義される対象は、必ずしも上記の具体的な構造的特徴又は方法に制限されない点が理解されるべきである。むしろ、上記の具体的な構造的特徴及び方法は、特許請求の範囲を実施する例となる形態として開示されている。
図1
図2
図3
図4
図5
図6
図7