(58)【調査した分野】(Int.Cl.,DB名)
前記単ソース信号の組を重み付けする重みが再構成エラーを満足するよう凸最適化技術を用いて最適化されるように、スパースソルバを使用することを更に有し、前記再構成エラーは、モデリングエラーにノイズを加えたものに対応する、
請求項1又は2に記載の方法。
【発明を実施するための形態】
【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
k[n] 306と表され、時不変であると考えられるが、時間的に変化する特徴を追跡するために適応が実行され得る。よって、k番目のマイクロホン304で受信される信号は、式(1)によって表される:
【数1】
式(1)において、mは、和を計算するために使用されるダミー変数であり、d
k[n]は所望の信号であり、nは時間インデックスの従来表記であり、v
k[n]は干渉ノイズである。d
k[n]は、較正フェーズの間ゼロであると考えられる点に留意されたい。RTF h
k[n] 306が知られている場合に、エコーは、単に、受信信号から減じられ得る。代わりに、キャンセレーションフィルタ
[外1]
は、計算されて、次の式:
【数2】
によって与えられる出力信号y
k[n]を計算することでエコーをx
k[n]から(部分的に)除くために使用される近似である。式(2)で、同じ変数は、式(1)で定義された変数と同じである。
【0036】
1つのマイクロホン及び1つのラウドスピーカしか存在しない場合に、RTFの最小平均二乗誤差推定は“整合フィルタ”として知られる。これは、次のように計算され得る:
【数3】
式(3)で、
[外2]
は、l[n]の重み付けされたバージョンを指し、
[外3]
は、ラウドスピーカ信号l[n]を白色化するために使用される同じフィルタによってフィルタをかけられた後のx
k[n]である。統計的白色化(statistical whitening)プロシージャは有益にデータを変換する。故に、データは、全てのサンプルが統計的に独立している恒等共分散行列を有する。式(3)のキャンセレーションフィルタはベースライン計算であって、それと現在のエコーキャンセレーション技術が比較される。更に、マイクロホンのアレイで複数のマイクロホンを利用することによって推定器308で得られる各RTFの推定は、上記の最適条件よりも良いものであり得る。
【0037】
図4は、平面アレイ400に届く可聴信号の概略図である。いずれか1つの経路に沿って、信号は、経路の長さに依存する、アレイの中心までの伝播遅延と、持ち込まれる反射110の性質に依存するゲイン(場合により、周波数に依存する。)とを有する。反射110が平面波としてアレイ106に届くとして、特定の経路に沿った受信信号の構造が
図4において示されている。表記の簡単のために、
図4において見られるように、マイクロホンの直線配列において、マイクロホンはz軸に沿って整列されており、位置(z
1,z
2,...z
k)にあるとする。線形配列106に作用する平面波について、原点402での連続時間信号がs(t)である場合に、z
kに位置するマイクロホンでの信号は、τ(z
k,θ)=−z
kcos(θ)/cであって且つcが音速であるとして、s(t−τ(z
k,θ))である。言い換えれば、平面波によって各マイクロホン106で生成される信号は、アレイジオメトリにのみ依存する遅延(τ)、及び到来方向(θ)404を除いて、同じである。
夫々の反射110は、
図1に示される仮想イメージソース108に対応することができる。以下の式(4)は、最初に、波形が平面として近似され得るほどアレイ106の次元が十分に小さいと仮定し、更に、どの反射体もフラットフェージングであると仮定し、最後に、P個のソース(実又は虚)があれば到来信号の近似を提供するのに十分であると仮定する。次いで、それらの仮定の下で、マイクロホンのアレイ106のk番目のマイクロホンで受信される信号は、次のように記述され得る:
【数4】
式(4)で、T
p及びα
pは、夫々、波面pで生じた遅延及び減衰である(伝播損失並びにマイクロホン及びラウドスピーカの指向性を含む。)。更に、cは音速であり、
[外4]
は、実際のノイズv
k[n]及び場合によりあらゆるモデル化されていない信号成分の両方を含み、θ
pは、p番目の経路に沿って到来する信号がアレイの軸と成す角度である。T
sはサンプリングインターバルであり、z
kは、上述されたように、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について、σ=βσ
vに設定される。なお、σ
vはノイズ標準偏差であり、βは正の整数である。他の実施形態では、βは1.5に設定され得る。
【0044】
可聴信号を表すことができる膨大なデータのために、行列Bは非常に大きい可能性が高く、信号空間の過完備基底を構成する可能性が高い。よって、過完備性を扱う有効な方法を見つけることに加えて、(5)を解く有効な方法を見つけることが必要になる。これは、スパーシティ制約((5)で示されるノルム1行列に埋め込まれる。)を課してスパースソルバを使用することによって、行われ得る。これは、Bにおけるデータが格納され、より容易にアクセスされることを可能にする。ブロック610で、スパースソルバは、特定の再構成エラーを満足する重みを決定するために用いられる。示されるように、この再構成エラーは、理想的には、モデル化されていない成分の標準偏差よりもわずかに大きくてよい。再構成エラーは、例えば、モデリングエラーにノイズを加えたものに近い数字であることができる。浄化プロシージャも、性能を更に改善するために実施され得る。浄化は、|x−Σ
θ,tw
θ,tb
θ,t|
2の値を最小化することによって、非ゼロである(又は特定の閾値を上回る)と(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で示されていない追加のソフトウェアコンポーネントがいくつでも含まれてよい点が理解されるべきである。構造的特徴及び/又は方法に特有の言語において対象は記載されてきたが、添付の特許請求の範囲で定義される対象は、必ずしも上記の具体的な構造的特徴又は方法に制限されない点が理解されるべきである。むしろ、上記の具体的な構造的特徴及び方法は、特許請求の範囲を実施する例となる形態として開示されている。