(57)【特許請求の範囲】
【請求項１】
エコーを抑圧する方法であって、
オーディオ信号を出力するステップと、
オーディオ信号を受信するステップであって、前記の受信されたオーディオ信号は、前記の出力されたオーディオ信号から生じるエコーを含む、ステップと、
複数のモデルを使用して、前記の受信されたオーディオ信号における前記エコーのエコー・パスをモデル化するモデル化ステップであって、前記複数のモデルのうち第１のモデルは、有限インパルス応答ベースのモデルであり、前記複数のモデルのうち第２のモデルは、前記第１のモデルとは異なる、モデル化ステップと、
前記第１のモデルを使用して、前記の受信されたオーディオ信号における前記エコーの少なくとも第１の成分のエコー・パワーの第１のモデル推定値を決定するステップと、
前記第２のモデルを使用して、前記の受信されたオーディオ信号における前記エコーの少なくとも第２の成分のエコー・パワーの第２のモデル推定値を決定するステップと、
前記エコー・パワーの前記第１のモデル推定値及び前記第２のモデル推定値を結合して、前記の受信されたオーディオ信号における前記エコーのエコー・パワーの結合推定値を決定するステップであって、前記結合推定値は、前記第１のモデル推定値及び前記第２のモデル推定値の合計である、ステップと、
前記エコー・パワーの前記結合推定値を使用して、エコー抑圧を前記の受信されたオーディオ信号に適用することにより、前記の受信されたオーディオ信号における前記エコーを抑圧するステップと、
を含む、方法。
【請求項２】
前記第１のモデル及び前記第２のモデルは、前記の受信されたオーディオ信号における前記エコーの異なる成分をモデル化し、前記第１のモデルは、前記の受信されたオーディオ信号における前記エコーの早期反射成分をモデル化し、前記第２のモデルは、前記の受信されたオーディオ信号における前記エコーの後期反射成分をモデル化する、請求項１記載の方法。
【請求項３】
前記の受信されたオーディオ信号における前記エコーの前記エコー・パスをモデル化するに際し、前記第１のモデルは、前記第２のモデルより正確であり、前記エコー・パスの長さが増すにつれ、前記第１のモデルの複雑さは前記第２のモデルの複雑さに比べて増す、請求項１又は２記載の方法。
【請求項４】
前記モデル化ステップは、前記の出力されたオーディオ信号及び前記の受信されたオーディオ信号に基づいて、時間領域で有限インパルス応答フィルタ推定値
【数１】
0006422886.tif 000080
を動的に適応させるステップを含む、請求項１乃至３いずれか一項記載の方法。
【請求項５】
前記有限インパルス応答フィルタ推定値
【数２】
0006422886.tif 000081
を使用して、式
【数３】
0006422886.tif 000082
に従って、前記の受信されたオーディオ信号における前記エコーの前記第１の成分の前記エコー・パワー
【数４】
0006422886.tif 000083
の前記第１のモデル推定値を決定し、前記の出力されたオーディオ信号ｘ（ｔ）のＮ＋１個のサンプルが考慮に入れられ、
【数５】
0006422886.tif 000084
は、前記有限インパルス応答フィルタ推定値
【数６】
0006422886.tif 000085
を記述するＮ＋１個の重みのセットである、請求項４記載の方法。
【請求項６】
前記有限インパルス応答フィルタ推定値
【数７】
0006422886.tif 000086
を使用して、決定された前記有限インパルス応答フィルタ推定値
【数８】
0006422886.tif 000087
から、複数のパワー応答を決定することにより、前記の受信されたオーディオ信号における前記エコーの前記第１の成分の前記エコー・パワーの前記第１のモデル推定値を決定し、前記複数のパワー応答は、
前記有限インパルス応答フィルタ推定値
【数９】
0006422886.tif 000088
を時間領域の複数のＰ個のパーティションに分割し、
前記パーティションの各々について、周波数領域のそれぞれのパワー応答
【数１０】
0006422886.tif 000089
を決定するために、前記有限インパルス応答フィルタ推定値
【数１１】
0006422886.tif 000090
の前記パーティションの各々を変換して２乗する
ことにより決定される、請求項４記載の方法。
【請求項７】
フレームｋに関する、前記の受信されたオーディオ信号における前記エコーの前記第１の成分の前記エコー・パワー
【数１２】
0006422886.tif 000091
の前記第１のモデル推定値
【数１３】
0006422886.tif 000092
は、式
【数１４】
0006422886.tif 000093
に従って決定され、｜Ｘ（ｋ−ｐ，ｆ）｜２は、フレームｋ−ｐに関する、前記の出力されたオーディオ信号のパワー・スペクトル密度である、請求項６記載の方法。
【請求項８】
前記第２のモデルは、指数関数モデルであり、前記方法は、
前記の出力されたオーディオ信号及び前記の受信されたオーディオ信号に基づいて、前記指数関数モデルの減衰ファクタ推定値
【数１５】
0006422886.tif 000094
を決定するステップをさらに含み、
前記第２のモデルを使用して、式
【数１６】
0006422886.tif 000095
に従って、フレームｋに関する、前記の受信されたオーディオ信号における前記エコーの前記第２の成分の前記エコー・パワー
【数１７】
0006422886.tif 000096
の前記第２のモデル推定値
【数１８】
0006422886.tif 000097
を決定し、
【数１９】
0006422886.tif 000098
は、フレームｋ−１に関する、前記第１のモデルを使用して決定された前記の受信されたオーディオ信号における前記エコーの前記第１の成分の一部の前記エコー・パワーの推定値であり、前記一部は、前記エコーの早期反射成分における反射の最後に対応する、請求項３記載の方法。
【請求項９】
エコー抑圧を実施するよう構成されるデバイスであって、
オーディオ信号を出力するよう構成されるオーディオ出力装置と、
オーディオ信号を受信するよう構成されるオーディオ入力装置であって、前記の受信されたオーディオ信号は、前記の出力されたオーディオ信号から生じるエコーを含む、オーディオ入力装置と、
複数のモデルを使用して、前記の受信されたオーディオ信号における前記エコーのエコー・パスをモデル化するよう構成されるモデル化モジュールであって、前記複数のモデルのうち第１のモデルは、有限インパルス応答ベースのモデルであり、前記複数のモデルのうち第２のモデルは、前記第１のモデルとは異なり、前記モデル化モジュールは、前記第１のモデルを使用して、前記の受信されたオーディオ信号における前記エコーの少なくとも第１の成分のエコー・パワーの第１のモデル推定値を決定し、前記第２のモデルを使用して、前記の受信されたオーディオ信号における前記エコーの少なくとも第２の成分のエコー・パワーの第２のモデル推定値を決定するよう構成され、前記モデル化モジュールは、前記エコー・パワーの前記第１のモデル推定値及び前記第２のモデル推定値を結合して、前記の受信されたオーディオ信号における前記エコーのエコー・パワーの結合推定値を決定するよう構成される結合モジュールであって、前記結合推定値は、前記第１のモデル推定値及び前記第２のモデル推定値の合計である、結合モジュールを含む、モデル化モジュールと、
前記エコー・パワーの前記結合推定値を使用して、エコー抑圧を前記の受信されたオーディオ信号に適用することにより、前記の受信されたオーディオ信号における前記エコーを抑圧するよう構成されるエコー抑圧モジュールと、
を備えた、デバイス。
【請求項１０】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによる実行に応じて、前記少なくとも１つのプロセッサに複数の動作を実行させることにより、受信されたオーディオ信号におけるエコーを抑圧するよう構成されるコンピュータ・プログラムを含む１以上のコンピュータ読み取り可能記憶媒体であって、前記複数の動作は、
オーディオ信号を出力する動作と、
オーディオ信号を受信する動作であって、前記の受信されたオーディオ信号は、前記の出力されたオーディオ信号から生じるエコーを含む、動作と、
複数のモデルを使用して、前記の受信されたオーディオ信号における前記エコーのエコー・パスをモデル化する動作であって、前記複数のモデルのうち第１のモデルは、有限インパルス応答ベースのモデルであり、前記複数のモデルのうち第２のモデルは、前記第１のモデルとは異なる、動作と、
前記第１のモデルを使用して、前記の受信されたオーディオ信号における前記エコーの少なくとも第１の成分のエコー・パワーの第１のモデル推定値を決定する動作と、
前記第２のモデルを使用して、前記の受信されたオーディオ信号における前記エコーの少なくとも第２の成分のエコー・パワーの第２のモデル推定値を決定する動作と、
前記エコー・パワーの前記第１のモデル推定値及び前記第２のモデル推定値を結合して、前記の受信されたオーディオ信号における前記エコーのエコー・パワーの結合推定値を決定する動作であって、前記結合推定値は、前記第１のモデル推定値及び前記第２のモデル推定値の合計である、動作と、
前記エコー・パワーの前記結合推定値を使用して、エコー抑圧を前記の受信されたオーディオ信号に適用することにより、前記の受信されたオーディオ信号における前記エコーを抑圧する動作と、
を含む、１以上のコンピュータ読み取り可能記憶媒体と、
を備えた、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
デバイスは、周囲環境からオーディオ信号を受信するために使用することができるオーディオ入力装置を有することができる。このデバイスはまた、周囲環境にオーディオ信号を出力するために使用することができるオーディオ出力装置を有することができる。例えば、デバイスは、オーディオ信号を出力するための１以上のスピーカと、オーディオ信号を受信するための１以上のマイクロフォンと、を有することができる。デバイスの１以上のスピーカから出力されるオーディオ信号は、１以上のマイクロフォンにより受信されるオーディオ信号における「エコー」として受信され得る。受信オーディオ信号におけるこのエコーは望ましくない場合があり得る。例えば、デバイスは、音声通話又はビデオ通話等の、ネットワークを介した別のユーザ・デバイスとの通信イベントにおいて使用されるユーザ・デバイス（携帯電話機、タブレット、ラップトップ、ＰＣ等）であり得る。通話の遠端信号は、ユーザ・デバイスにおいて、スピーカから出力され得、そのデバイスにおいてマイクロフォンにより受信されるオーディオ信号におけるエコーとして受信され得る。そのようなエコーは、通話のユーザを乱すことがあり、通話の知覚品質は、エコーのため低減され得る。詳細には、エコーは、マイクロフォンにより受信され、通話における遠端に送信されることが意図されている近端オーディオ信号の干渉を生じさせることがある。したがって、エコー・キャンセル及び／又はエコー抑圧を受信オーディオ信号に適用して、それにより、受信オーディオ信号におけるエコーを抑圧することができる。受信オーディオ信号におけるエコーのパワーは、ユーザ・デバイスの構成に応じて変わり得る。例えば、ユーザ・デバイスは携帯電話機であり得、その場合、受信オーディオ信号におけるエコーのパワーは、通常、携帯電話機が「ハンズ・フリー」モードで動作していないときと比べて、携帯電話機が「ハンズ・フリー」モードで動作しているときの方が、高いであろう。
【０００２】
エコー・キャンセル（又は、「エコー減算（echo  subtraction）」）技術は、スピーカから出力されるオーディオ信号の知識に基づいて、マイクロフォンにおいて受信されるオーディオ信号に含まれるエコー信号を推定することを目的としている。次いで、エコー信号の推定値を、受信オーディオ信号から減算することができ、それにより、受信オーディオ信号からエコーの少なくとも一部を取り除くことができる。エコー抑圧を使用して、周波数依存の抑圧を受信オーディオ信号に適用し、それにより、受信オーディオ信号におけるエコーを抑圧する。エコー抑圧が効果的に実施されるために、エコー抑圧部は、受信オーディオ信号におけるエコーのパワーの正確な推定値を有する必要がある。
【発明の概要】
【０００３】
この概要は、発明を実施するための形態において以下でさらに説明されるコンセプトのうち選択したものを簡略化した形で紹介するために提供される。この概要は、特許請求される主題の主要な特徴又は必要不可欠な特徴を特定することを意図するものではないし、特許請求される主題の範囲を限定するために使用されることを意図するものでもない。
【０００４】
受信オーディオ信号におけるエコーを抑圧する方法が提供される。エコー抑圧の一部として、エコーのエコー・パス（echo  path）が、２つの異なるモデルを用いてモデル化される。２つのモデルのうちの第１のモデルは、有限インパルス応答（ＦＩＲ）ベースのモデルである。第１のモデルは、受信オーディオ信号におけるエコーの少なくとも第１の成分のエコー・パワーの第１のモデル推定値を決定するために使用される。第２のモデルは、受信オーディオ信号におけるエコーの少なくとも第２の成分のエコー・パワーの第２のモデル推定値を決定するために使用される。エコー・パワーの第１のモデル推定値及び第２のモデル推定値は、エコーのエコー・パワーの結合推定値を決定するために結合される。エコーのエコー・パワーの結合推定値を使用して、エコー抑圧を受信オーディオ信号に適用し、それにより、受信オーディオ信号におけるエコーを抑圧する。
【０００５】
当該方法は、通話（例えば、ユーザ・デバイス間でオーディオ・データを送信するためにボイス・オーバー・インターネット・プロトコル（ＶｏＩＰ）を実施する通話）において使用することができる。この場合、出力オーディオ信号は、通話の遠端から受信される遠端信号であり得、受信信号は、結果として生じるエコーと、通話の遠端に送信するための近端信号と、を含む。
【図面の簡単な説明】
【０００６】
【図１】通信システムの概略図。
【図２】ユーザ・デバイスの概略ブロック図。
【図３】エコー抑圧において使用するためのユーザ・デバイスのモジュールを示す機能図。
【図４】エコーを抑圧するプロセスのフローチャート。
【図５】エコー信号のインパルス応答を表すグラフ。
【発明を実施するための形態】
【０００７】
エコー抑圧が効果的に実施されるために、エコー抑圧部は、受信オーディオ信号におけるエコーのパワーの正確な推定値を有する必要がある。エコー・パワーを推定する１つの方法は、時間領域又はパワー周波数領域のいずれかでＦＩＲフィルタを適用することである。このフィルタが、次いで、時間領域又はパワー周波数領域のいずれかで適応され得る。長いエコー・パスに関して、これは、ＦＩＲフィルタ適応及び対応するエコー・パワー推定が、長いエコー・パスのために計算的に複雑になる、という欠点を有する。なぜならば、ＦＩＲフィルタ適応及び対応するエコー・パワー推定の複雑さは、推定されるパワー・コンテンツを有することになるエコーのエコー・パスの長さに比例するからである。
【０００８】
したがって、本明細書で説明する方法に従うと、複数のモデル（例えば、２つのモデル）が、エコー・パスをモデル化するために使用される。異なるモデルは、受信オーディオ信号におけるエコーの異なる成分をモデル化することができる。これにより、エコーにおける各成分の異なるタイプに適するように、各モデルを選択することが可能となる。例えば、第１のモデルは、受信オーディオ信号におけるエコーの早期反射成分をモデル化することができるのに対し、第２のモデルは、受信オーディオ信号におけるエコーの後期反射成分をモデル化することができる。図５は、エコー信号のインパルス応答の強さ｜ｈ（ｔ）｜を表すグラフである。スピーカとマイクロフォンとの間の直接パス（direct  path）に対応する強い応答が存在し、スピーカとマイクロフォンとの間のエコー信号の早期反射（例えば、壁等の表面からの１回又は２回の反射）に対応する複数の強い応答が存在することが分かる。図５に示されるように、エコーの早期反射成分は、直接パスと、表面に対するエコーの最初の数回の反射と、に対応する。図５において、後期反射は、複数の異なる識別可能な反射ではなく、入り混じって一緒に残響となっていく傾向にあることがまたわかる。エコーの異なる成分は、異なる特性を有する（例えば、早期反射は、明らかなピークを有するのに対し、後期反射は、入り混じって一緒に残響になる）ので、エコー・パスの異なるモデルを使用して、エコーの異なる成分をモデル化することができる。このように、モデルによりモデル化されるエコーの特定の成分の特性に適するように、異なるモデルを選択することができる。後期反射は、指数関数モデルを用いて良好にモデル化することができるのに対し、早期反射は、指数関数モデルを用いて良好にモデル化される傾向にない。一例において、２つのモデルが存在する：（ｉ）エコー・パスの早期反射部分をモデル化するために使用されるＦＩＲベースのモデルと、（ｉｉ）エコー・パスの後期反射部分をモデル化するために使用される指数関数モデルと、である。ＦＩＲベースのモデルは、エコーのエコー・パス（特に、エコーの早期反射成分に関して）をモデル化する際に、指数関数モデルよりも正確なものであり得る。しかしながら、エコー・パスの長さが増すにつれ、ＦＩＲモデルの複雑さは、指数関数モデルの複雑さよりも増す。指数関数モデルは、非常に低い計算複雑性を有するので、非常に低い計算複雑性で非常に長いエコー・パスをモデル化する際の使用に適している。
【０００９】
本明細書で説明するように、オーディオ信号を出力するラウドスピーカと、出力オーディオ信号から生じるエコーを含むオーディオ信号を受信するマイクロフォンと、の間のエコー・パスのインパルス応答を近似するために適応されるＦＩＲフィルタからの出力を用いて、エコーの少なくとも早期反射成分のパワーを推定することができる。
【００１０】
エコー・パワーを推定することができるエコー信号を推定するために、ＦＩＲフィルタが使用され得、エコー抑圧方法において使用され得る。しかしながら、エコー・パワーを推定するために、ＦＩＲフィルタが使用され得るだけであり、実際のエコー信号を推定するわけではない。実際のエコー信号を推定するためにＦＩＲフィルタが使用される場合と比べて、エコー・パワーを推定するためにＦＩＲフィルタが使用される場合の方が、ＦＩＲフィルタにおける正確性の要件がずっと低いので、これは効果的であり得る。したがって、ＦＩＲフィルタから、（エコー信号ではなく）エコー・パワーを推定することにより、エコー抑圧は、ＶｏＩＰクライアントにおける（例えば、ラウドスピーカからの）プレイアウト（playout）と（例えば、マイクロフォンにおける）記録サイドとの間のクロック・ドリフト、エコー・パスにおける非線形性、及びエコー・パスにおける変化等の問題に対して、よりロバストである。本明細書で説明する実施形態において、ＦＩＲフィルタは、位相情報を含む時間領域データを用いて適応される。
【００１１】
図１は、第１のユーザ・デバイス１０４に関連付けられている第１のユーザ１０２（「ユーザＡ」）と、第２のユーザ・デバイス１１０に関連付けられている第２のユーザ１０８（「ユーザＢ」）と、を含む通信システム１００を示している。他の実施形態では、通信システム１００は、任意の数のユーザ及び関連ユーザ・デバイスを含んでもよい。ユーザ・デバイス１０４及びユーザ・デバイス１１０は、通信システム１００において、ネットワーク１０６を介して通信することができ、それにより、ユーザ１０２及びユーザ１０８は、ネットワーク１０６を介して、互いと通信することが可能になる。図１に示す通信システム１００は、パケットベースの通信システムであるが、他のタイプの通信システムが使用されてもよい。ネットワーク１０６は、例えば、インターネットであり得る。ユーザ・デバイス１０４及びユーザ・デバイス１１０の各々は、例えば、携帯電話機、タブレット、ラップトップ、パーソナル・コンピュータ（「ＰＣ」）（例えば、Ｗｉｎｄｏｗｓ（登録商標）  ＰＣ、Ｍａｃ  ＯＳ（登録商標）  ＰＣ、及びＬｉｎｕｘ（登録商標）  ＰＣを含む）、ゲーム・デバイス、テレビジョン、携帯情報端末（「ＰＤＡ」）、又は、ネットワーク１０６に接続することができる他の組み込みデバイスであり得る。ユーザ・デバイス１０４は、ユーザ・デバイス１０４のユーザ１０２から情報を受け取り、ユーザ１０２に情報を出力するよう構成されている。ユーザ・デバイス１０４は、ディスプレイ及びスピーカ等の出力手段を備える。ユーザ・デバイス１０４はまた、キーパッド、タッチ・スクリーン、オーディオ信号を受信するためのマイクロフォン、及び／又はビデオ信号の画像をキャプチャするためのカメラ等の入力手段を備える。ユーザ・デバイス１０４は、ネットワーク１０６に接続される。
【００１２】
ユーザ・デバイス１０４は、通信システム１００に関連付けられたソフトウェア・プロバイダにより提供される通信クライアントのインスタンス（instance）を実行する。通信クライアントは、ユーザ・デバイス１０４内のローカル・プロセッサ上で実行されるソフトウェア・プログラムである。クライアントは、ユーザ・デバイス１０４が通信システム１００を介してデータを送受信するために、ユーザ・デバイス１０４において必要とされる処理を実行する。
【００１３】
ユーザ・デバイス１１０は、ユーザ・デバイス１０４に対応し、ユーザ・デバイス１０４において実行される通信クライアントに対応する通信クライアントを、ローカル・プロセッサ上で実行する。ユーザ・デバイス１１０におけるクライアントは、ユーザ・デバイス１０４におけるクライアントが、ユーザ１０２がネットワーク１０６を介して通信することを可能にするのに必要とされる処理を実行するのと同様に、ユーザ１０８がネットワーク１０６を介して通信することを可能にするのに必要とされる処理を実行する。ユーザ・デバイス１０４及びユーザ・デバイス１１０は、通信システム１００におけるエンドポイントである。図１は、明瞭さのために、２人のユーザ（１０２及び１０８）及び２つのユーザ・デバイス（１０４及び１１０）しか示していないが、より多くのユーザ及びより多くのユーザ・デバイスが、通信システム１００に含まれてもよく、それぞれのユーザ・デバイス上で実行されるそれぞれの通信クライアントを用いて、通信システム１００を介して通信してもよい。
【００１４】
図２は、通信システム１００を介して通信するための通信クライアント・インスタンス２０６が実行されるユーザ・デバイス１０４の詳細な図を示している。ユーザ・デバイス１０４は、中央処理装置（「ＣＰＵ」）又は「処理モジュール」２０２を備える。ＣＰＵ２０２には、タッチ・スクリーンとして実装することができるディスプレイ２０８、及びオーディオ信号を出力するためのスピーカ（又は、「ラウドスピーカ」）２１０等の出力デバイス；オーディオ信号を受信するためのマイクロフォン２１２、画像データを受信するためのカメラ２１６、及びキーパッド２１８等の入力デバイス；データを記憶するためのメモリ２１４；及び、ネットワーク１０６と通信するためのモデム等のネットワーク・インタフェース２２０が接続される。ユーザ・デバイス１０４は、図２に示す要素以外の他の要素を備えてもよい。ディスプレイ２０８、スピーカ２１０、マイクロフォン２１２、メモリ２１４、カメラ２１６、キーパッド２１８、及びネットワーク・インタフェース２２０は、図２に示すユーザ・デバイス１０４に一体化され得る。代替的なユーザ・デバイスでは、ディスプレイ２０８、スピーカ２１０、マイクロフォン２１２、メモリ２１４、カメラ２１６、キーパッド２１８、及びネットワーク・インタフェース２２０のうちの１以上が、ユーザ・デバイス１０４に一体化されなくてもよく、それぞれのインタフェースを介してＣＰＵ２０２に接続されてもよい。そのようなインタフェースの一例は、ＵＳＢインタフェースである。ネットワーク・インタフェース２２０を介したネットワーク１０６へのユーザ・デバイス１０４の接続が、無線接続である場合、ネットワーク・インタフェース２２０は、ネットワーク１０６に信号を無線で送信し、ネットワーク１０６から信号を無線で受信するためのアンテナを含み得る。
【００１５】
図２はまた、ＣＰＵ２０２上で実行されるオペレーティング・システム（「ＯＳ」）２０４を示している。通信システム１００のクライアント・インスタンス２０６のソフトウェアが、ＯＳ２０４の上で実行されている。オペレーティング・システム２０４は、コンピュータのハードウェア・リソースを管理し、ネットワーク・インタフェース２２０を介してネットワーク１０６に／から送信されているデータを処理する。クライアント２０６は、オペレーティング・システム２０４と通信し、通信システムを介した接続を管理する。クライアント２０６は、ユーザ１０２に情報を提示しユーザ１０４から情報を受け取るために使用されるクライアント・ユーザ・インタフェースを有する。このように、クライアント２０６は、ユーザ１０２が通信システム１００を介して通信することを可能にするのに必要とされる処理を実行する。
【００１６】
図３及び図４を参照して、エコーを抑圧する方法について説明する。図３は、エコー抑圧プロセスがどのように実施されるかを示す、ユーザ・デバイス１０４の一部の機能図であり、図４は、エコーを抑圧するプロセスのフローチャートである。
【００１７】
図３に示されるように、ユーザ・デバイス１０４は、スピーカ２１０、マイクロフォン２１２、モデル化モジュール３０２、及びエコー抑圧モジュール３１４を備える。モデル化モジュール３０２は、ＦＩＲフィルタ・モジュール３０４、第１のパワー推定モジュール３０６、指数フィルタ・モジュール３０８、第２のパワー推定モジュール３１０、及び結合モジュール３１２を含む。スピーカ２１０から出力されるべき信号ｘ（ｔ）は、スピーカ２１０の入力に結合される。本明細書で説明する実施形態では、（図において参照番号２１０により示される）１つのスピーカしか存在しないが、他の実施形態では、出力されるべき信号が（スピーカから出力するために）結合される２以上のスピーカが存在してもよいことに留意すべきである。同様に、本明細書で説明する実施形態では、（図において参照番号２１２により示される）１つのマイクロフォンしか存在しないが、他の実施形態では、周囲環境からオーディオ信号を受信する２以上のマイクロフォンが存在してもよい。スピーカ２１０から出力されるべき信号はまた、モデル化モジュール３０２にも結合される。詳細には、スピーカ２１０から出力されるべき信号は、ＦＩＲフィルタ・モジュール３０４の第１の入力に結合され、指数フィルタ・モジュール３０８の第１の入力に結合される。マイクロフォン２１２の出力は、モデル化モジュール３０２に結合される。詳細には、マイクロフォン２１２の出力は、ＦＩＲフィルタ・モジュール３０４の第２の入力に結合され、指数フィルタ・モジュール３０８の第２の入力に結合され、第１のパワー推定モジュール３０６の第１の入力に結合され、第２のパワー推定モジュール３１０の第１の入力に結合される。マイクロフォン２１２の出力はまた、エコー抑圧モジュール３１４の第１の入力に結合される。ＦＩＲフィルタ・モジュール３０４の出力は、第１のパワー推定モジュール３０６の第２の入力に結合される。指数フィルタ・モジュール３０８の出力は、第２のパワー推定モジュール３１０の第２の入力に結合される。第１のパワー推定モジュール３０６の出力は、結合モジュール３１２の第１の入力に結合される。第２のパワー推定モジュール３１０の出力は、結合モジュール３１２の第２の入力に結合される。モデル化モジュール３０２の出力は、エコー抑圧モジュール３１４の第２の入力に結合される。詳細には、結合モジュール３１２の出力は、エコー抑圧モジュール３１４の第２の入力に結合される。エコー抑圧モジュール３１４の出力を使用して、ユーザ・デバイス１０４におけるさらなる処理のために、（エコー抑圧が適用された）受信信号を供給する。
【００１８】
ステップＳ４０２において、スピーカ２１０から出力されるべき信号が受信される。例えば、出力されるべき信号は、ユーザ１０２とユーザ１０８との間の通話中に通信システム１００を介してユーザ・デバイス１１０からユーザ・デバイス１０４で受信される遠端信号であり得る。受信信号に対して実行されるのに必要とされる任意の処理（例えば、音声コーデックを用いた復号化、脱パケット化等）は、当技術分野では知られているように、スピーカ２１０から出力されるべき適切な信号ｘ（ｔ）に達するために、（例えば、クライアント２０６により）実行される。信号ｘ（ｔ）はデジタル信号である。スピーカ２１０から信号を出力する前の、ユーザ・デバイス１０４における信号の処理の少なくとも一部は、デジタル領域で実行される。当技術分野では知られているように、ラウドスピーカ２１０からのプレイアウトの前に、デジタル・アナログ・コンバータ（ＤＡＣ）が、デジタル信号ｘ（ｔ）に適用される。同様に、デジタル信号ｙ（ｔ）に達するために、アナログ・デジタル・コンバータ（ＡＤＣ）が、マイクロフォン２１２によりキャプチャされた信号に適用される。
【００１９】
他の実施形態において、出力されるべき信号は、通話において通信システム１００を介してではなく、どこかから受信されることもある。例えば、出力されるべき信号は、メモリ２１４に記憶されているかもしれず、ステップＳ４０２は、メモリ２１４から信号を取り出すことを含み得る。
【００２０】
ステップＳ４０４において、オーディオ信号ｘ（ｔ）が、スピーカ２１０から出力される。このように、オーディオ信号ｘ（ｔ）が、ユーザ１０２に出力される。
【００２１】
ステップＳ４０６において、マイクロフォン２１２は、オーディオ信号を受信する。図３に示されるように、受信オーディオ信号は、所望信号又は「プライマリ信号」である近端信号を含み得る。近端信号は、マイクロフォン２１２が受信するものとユーザ１０２が意図している信号である。しかしながら、受信オーディオ信号はまた、ステップＳ４０４においてスピーカ２１０から出力されたオーディオ信号から生じるエコー信号も含む。受信オーディオ信号はまた、背景雑音等の雑音も含む。したがって、総受信オーディオ信号ｙ（ｔ）は、近端信号、エコー、及び雑音の合計により与えられ得る。エコー及び雑音は、近端信号の干渉として働く。
【００２２】
ＦＩＲフィルタ・モジュール３０４は、出力オーディオ信号ｘ（ｔ）及び受信オーディオ信号ｙ（ｔ）を、入力として受け取る。ステップＳ４０８において、ＦＩＲフィルタ・モジュール３０４は、受信オーディオ信号ｙ（ｔ）におけるエコーのエコー・パスｈ（ｔ）をモデル化するために、出力オーディオ信号ｘ（ｔ）及び受信オーディオ信号ｙ（ｔ）に基づいて、時間領域でＦＩＲフィルタ推定値
【数１】
0006422886.tif 000002
を動的に適応させる。「エコー・パスｈ（ｔ）のインパルス応答」は、本明細書において、「エコー・パスｈ（ｔ）」とも呼ばれる。ＦＩＲフィルタ・モジュール３０４を使用して、受信オーディオ信号ｙ（ｔ）におけるエコーの早期反射成分をモデル化する。そうするために、エコー・パスをモデル化するためにＦＩＲフィルタ・モジュール３０４により使用されるＦＩＲフィルタの長さは、有限長Ｌを有する。この長さＬは、エコーの早期反射成分をモデル化するのに十分な長さであるが、エコーの後期反射成分（図５参照）を完全にモデル化するわけではない。このように、ＦＩＲフィルタ・モジュール３０４により使用されるＦＩＲモデルの長さは、受信オーディオ信号ｙ（ｔ）におけるエコーの完全なエコー・パスと同じくらい長くある必要はない。これは、ＦＩＲモデルの複雑さが大きくなり過ぎないことを確実にすることができる。
【００２３】
おおよそ線形なエコー・パスに関して、エコー・パスｈ（ｔ）は、例えば、式
【数２】
0006422886.tif 000003
に従って、受信オーディオ信号におけるエコーが、スピーカ２１０から出力されたオーディオ信号ｘ（ｔ）にどのように関連するかを記述するものである。ここで、ｙｅｃｈｏ（ｔ）は、受信オーディオ信号ｙ（ｔ）におけるエコーであり、Ｎｔｒｕｅは、マイクロフォン２１２により受信される出力信号ｘ（ｔ）のサンプルの数であり、ｈｎ（ｔ）は、エコー・パスｈ（ｔ）を記述する重みである。エコー・パスｈ（ｔ）は、時間及び周波数とともに変わり得るものであり、本明細書において、ｈ（ｔ）又はｈ（ｔ，ｆ）と呼ばれ得る。エコー・パスｈ（ｔ）は、（ｉ）スピーカ２１０及びマイクロフォン２１２周囲の現在の環境状態（例えば、スピーカ２１０からマイクロフォン２１２へのオーディオ信号の通路に物理的障害物があるかどうか、空気圧、温度、風等）、及び（ｉｉ）信号が出力及び／又は受信されるときに信号を変え得るスピーカ２１０及び／又はマイクロフォン２１２の特性、に依存し得る。
【００２４】
ＦＩＲフィルタ・モジュール３０４は、出力オーディオ信号ｘ（ｔ）の現在の値と、出力オーディオ信号ｘ（ｔ）の有限個（Ｎ個）の以前の値と、の重み付け合計を決定することにより、受信オーディオ信号におけるエコーのエコー・パスｈ（ｔ）の早期反射成分をモデル化する。ＦＩＲフィルタ・モジュール３０４は、したがって、エコー・パスの早期反射成分の推定値
【数３】
0006422886.tif 000004
を決定する際に出力オーディオ信号ｘ（ｔ）の値を考慮に入れる有限長（時間）を有するＮ次ＦＩＲフィルタを実装する。このように、ＦＩＲフィルタ・モジュール３０４は、ＦＩＲフィルタ推定値
【数４】
0006422886.tif 000005
を動的に適応させる。出力オーディオ信号ｘ（ｔ）の観点で、受信オーディオ信号ｙ（ｔ）におけるエコーを定義する以下の式により、オペレーションが記述される。
【数５】
0006422886.tif 000006
【００２５】
したがって、出力オーディオ信号ｘ（ｔ）のＮ＋１個のサンプルとともに、それぞれのＮ＋１個の重み
【数６】
0006422886.tif 000007
が使用される。Ｎ＋１個の重み
【数７】
0006422886.tif 000008
のセットは、本明細書において、単に、エコー・パスの推定値
【数８】
0006422886.tif 000009
と呼ばれる。すなわち、エコー・パスの推定値
【数９】
0006422886.tif 000010
は、Ｎ＋１個の値を有するベクトルである。ここで、ＦＩＲフィルタ・モジュール３０４は、信号ｘ（ｔ）のＮ＋１個の値（例えば、Ｎ＋１個のフレーム）を考慮に入れるＮ次ＦＩＲフィルタを実装する。
【００２６】
エコーが受信オーディオ信号の支配部であるとき、すなわち、
【数１０】
0006422886.tif 000011
であるとき、ＦＩＲフィルタ推定値
【数１１】
0006422886.tif 000012
をより適応させやすいことが理解できるであろう。例えば、いくつかの実施形態において、近端信号のパワーがエコーのパワーよりも大きいとき（例えば、ユーザ１０２が喋っているとき）を検出することが可能であり得るが、これは、ＦＩＲ推定値
【数１２】
0006422886.tif 000013
が適応されない場合である。しかしながら、近端信号のパワーが受信オーディオ信号ｙ（ｔ）におけるエコーのパワーよりも小さいとき（例えば、ユーザ１０２が喋っていないとき）、ＦＩＲ推定値
【数１３】
0006422886.tif 000014
が適応される。
【００２７】
しかしながら、エコーが受信オーディオ信号の支配部でないときでも、ＦＩＲフィルタ推定値
【数１４】
0006422886.tif 000015
を適応させることが可能であり得る。
【００２８】
ＦＩＲフィルタ推定値
【数１５】
0006422886.tif 000016
が、ＦＩＲフィルタ・モジュール３０４から第１のパワー推定モジュール３０６に渡される。第１のパワー推定モジュール３０６は、以下で説明するように、少なくとも２つの方法のうちの１つにより、受信オーディオ信号におけるエコーの早期反射成分のエコー・パワーを推定する。
【００２９】
１つの方法では、ステップＳ４１０において、第１のパワー推定モジュール３０６は、ステップＳ４０８において決定されたフィルタ推定値
【数１６】
0006422886.tif 000017
と、入力信号ｘ（ｔ）と、に基づいて、受信オーディオ信号におけるエコーの早期反射成分のエコー・パワーを推定する。ステップＳ４１０は、受信オーディオ信号ｙ（ｔ）におけるエコー信号ｙｅｃｈｏ（ｔ）を推定することを推定することを含まなくてよい。エコーの早期反射成分のエコー・パワーは、時間及び周波数の関数として推定される。エコー抑圧においては、良好なエコー抑圧を実現するために、エコー・パワー推定の正確性がかなり低くても十分である。本明細書で説明する方法に従うと、パワー応答は、問題に対してより影響を受けにくい方法で計算することができる。さらに、パワー応答は、実際のエコー・パスが推定される方法とは異なる方法で推定することができる。例えば、周波数ｆに関するパワー応答は、その周波数ｆに関するＦＩＲフィルタの推定値を用いて計算することができる。代替的に又は追加的に、周波数ｆに関するＦＩＲフィルタの推定値を使用して、異なる周波数ν（ν≠ｆ）に関するパワー応答を計算してもよい。すなわち、この方法は、それが適用される１つの周波数領域とは異なる別の周波数領域に関して計算される外挿エコー・パス・パワー応答（extrapolated  echo  path  power  response）を使用することを含んでもよい。この点で、パワー応答は、ＦＩＲフィルタ推定値に基づいて計算されるが、特定の周波数に関するパワー応答を決定するために、何らかの外挿（extrapolation）が必要とされ得る。すなわち、所定の周波数領域に関して得られるＦＩＲフィルタ推定値を使用して、別の周波数領域に関する予想（又は、外挿）パワー応答推定値を計算することができる、すなわち、エコー・パワーを推定するために使用されるパワー応答は、必ずしもＦＩＲフィルタのパワー応答ではないが、これはまた、ＦＩＲフィルタに基づいて計算される（例えば、異なる周波数領域に関する）パワー応答であり得る。
【００３０】
ステップＳ４１０は、エコーの早期反射成分のエコー・パワー
【数１７】
0006422886.tif 000018
を推定することを含み得る。そのエコー・パワーの推定値は、時間ｔ及び周波数ｆに関する値を有するスカラ指数ビン（scalar  power  bin）であり、特定の周波数及び時間について、以下の式に従って計算される。
【数１８】
0006422886.tif 000019
【００３１】
このように、時間変動するＶｏＩＰのエコー・パスｈ（ｔ）を近似するためにスピーカ信号ｘ（ｔ）及びマイクロフォン信号ｙ（ｔ）を用いて適応されているＦＩＲフィルタ推定値
【数１９】
0006422886.tif 000020
を、出力オーディオ信号サンプルｘ（ｔ）とともに使用して、時間ｔ及び周波数ｆにおける、エコー信号の早期反射成分のパワー
【数２０】
0006422886.tif 000021
を推定する。
【００３２】
第２の方法では、ステップＳ４１０において、第１のパワー推定モジュール３０６は、ＦＩＲフィルタ推定値
【数２１】
0006422886.tif 000022
から、少なくとも１つのパワー応答を決定する。パワー応答情報は、ＦＩＲフィルタ推定値
【数２２】
0006422886.tif 000023
を解析することにより決定される。パワー応答（又は、「周波数応答」）は、周波数の関数として、エコー・パスｈ（ｔ）のパワー応答のインジケーションを与える。本明細書において、エコー・パスは、ｈ（ｔ）で示されているが、これは単純さのためであり、エコー・パスｈ（ｔ）及びエコー・パスの推定値
【数２３】
0006422886.tif 000024
は、時間及び周波数両方の関数であることを再度繰り返すことに留意されたい。
【００３３】
次いで、さらにステップＳ４１０において、第１のパワー推定モジュール３０６は、決定された１以上の決定されたパワー応答に基づいて、受信オーディオ信号におけるエコーの早期反射成分のエコー・パワーを推定する。実際上、ステップＳ４１０は、受信オーディオ信号ｙ（ｔ）におけるエコー信号ｙｅｃｈｏ（ｔ）を推定することを含まなくてよい。エコーの早期反射成分のエコー・パワーは、時間及び周波数の関数として推定される。
【００３４】
詳細には、ＦＩＲフィルタ推定値
【数２４】
0006422886.tif 000025
は、時間領域で長さＬを有する。ステップＳ４１０は、ＦＩＲフィルタ推定値
【数２５】
0006422886.tif 000026
を、それぞれがＬ／Ｐの長さを有する、時間領域の複数（Ｐ個）のパーティションに分割することを含む。ＦＩＲフィルタ推定値
【数２６】
0006422886.tif 000027
のパーティションの各々は、パーティションの各々について周波数領域のそれぞれのパワー応答
【数２７】
0006422886.tif 000028
を決定するために、周波数領域に変換されて、２乗される。したがって、
【数２８】
0006422886.tif 000029
が、パーティションｐの周波数応答であることが理解できよう。
【００３５】
ステップＳ４１０は、出力オーディオ信号の複数のフレームのそれぞれのパワーの複数の測定値の重み付け合計を実行することにより、受信オーディオ信号におけるエコーのエコー・パワーを推定することを含む。ここで、合計における重みは、パワー応答
【数２９】
0006422886.tif 000030
のそれぞれにより与えられる。
【００３６】
したがって、フレームｋに関する、受信オーディオ信号におけるエコーの早期反射成分のエコー・パワー
【数３０】
0006422886.tif 000031
の推定値は、ステップ４１０において、以下の式に従って推定することができる。
【数３１】
0006422886.tif 000032
ここで、｜Ｘ（ｋ−ｐ，ｆ）｜２は、フレームｋ−ｐに関する、ラウドスピーカ信号のパワー・スペクトル密度である。フレーム・インデックスｋは、時間の尺度であり、そのようなものとして、
【数３２】
0006422886.tif 000033
は、エコー・パワーの推定値
【数３３】
0006422886.tif 000034
及び、その逆を与えるために、フレーム・インデックスではなく、時間の関数に書き換えることができる。上記の式が正しくなるよう、
【数３４】
0006422886.tif 000035
及び｜Ｘ（ｋ−ｐ，ｆ）｜２を計算するために使用される、フィルタ・パーティションの長さ及びラウドスピーカ信号の長さは、巡回畳み込み効果（circular  convolution  effect）を最小限にするために、注意深く選択されるべきであることに留意されたい。この選択は、ｈのパーティションの長さ及びラウドスピーカ入力信号フレームの長さが、フィルタ推定値ｈを適応させるために使用され、エコー・パワーが推定されることになるマイクロフォン信号の長さに対して適切にマッチされることが確実になるよう実行される。各パーティションの長さがＰであり、各ラウドスピーカ（Ｘ）のフレーム長がＭであり、各マイクロフォン信号のフレーム長がＮである場合、巡回畳み込み効果を回避することができる一般的な要件は、Ｎ＋Ｐ−１＜Ｍである。本明細書で説明する方法は、この選択とは無関係に機能する。なぜならば、巡回畳み込み効果は、この方法において無視されるからである。
【００３７】
このように、時間変動するＶｏＩＰのエコー・パスｈ（ｔ）を近似するためにスピーカ信号ｘ（ｔ）及びマイクロフォン信号ｙ（ｔ）を用いて適応されているＦＩＲフィルタ推定値
【数３５】
0006422886.tif 000036
を、出力オーディオ信号ｘ（ｔ）とともに使用して、パワー応答
【数３６】
0006422886.tif 000037
を決定し、次いで、パワー応答
【数３７】
0006422886.tif 000038
を使用して、時間ｔ及び周波数ｆにおけるエコー信号の早期反射成分のパワー
【数３８】
0006422886.tif 000039
を推定する。
【００３８】
一般に、線形モデル（例えば、ＦＩＲモデル）を使用して、エコー・パスの早期反射部分をモデル化し、次いで、これを使用して、早期反射に対応するエコー・パワーをモデル化する。これを行う多くの方法が存在するが、本開示の範囲は、上記で提供した例に限定されるものではない。早期反射からのエコー・パワー推定値が、時間及び周波数の関数として推定され得る。
【００３９】
第１のパワー推定モジュール３０６が、上述した方法のうちのいずれかに従って、これを決定すると、エコーの早期反射成分のエコー・パワーの推定値
【数３９】
0006422886.tif 000040
が、第１のパワー推定モジュール３０６から出力され、結合モジュール３１２により受信される。
【００４０】
指数フィルタ・モジュール３０８は、出力オーディオ信号ｘ（ｔ）及び受信オーディオ信号ｙ（ｔ）を、入力として受け取る。ステップＳ４１２において、指数フィルタ・モジュール３０８を使用して、受信オーディオ信号ｙ（ｔ）におけるエコーの、少なくとも後期反射成分をモデル化する。図５から分かるように、エコーの後期反射成分（主として残響を構成する）は、指数関数モデルを用いてモデル化されるのに良く適している。
【００４１】
ステップＳ４１２は、出力オーディオ信号ｘ（ｔ）と、受信オーディオ信号におけるエコーｙｅｃｈｏ（ｔ）と、に基づいて、指数関数モデルの減衰ファクタ（decay  factor）の推定値
【数４０】
0006422886.tif 000041
を決定することを含む。推定された減衰ファクタ
【数４１】
0006422886.tif 000042
は、周波数の関数であるが、これはまた、時間とともに変わり得る。減衰ファクタの推定値は動的に適応される。ステップＳ４０８におけるＦＩＲモデルの適応に関して上述したのと同様に、エコーが受信オーディオ信号の支配部であるとき、すなわち、
【数４２】
0006422886.tif 000043
であるとき、減衰ファクタの推定値をより適応させやすい。
【００４２】
何らかの推定方法を用いて、減衰ファクタ
【数４３】
0006422886.tif 000044
を推定することができる（推定方法の一例は、エコーの早期反射成分のためのモデルを構成するＦＩＲフィルタのパワー応答のテール（tail）の対数に直線をフィットさせることによるものである）。他の技術を使用して、減衰ファクタの推定値
【数４４】
0006422886.tif 000045
を決定してもよいことは明らかであろう。
【００４３】
指数関数モデルの減衰ファクタの推定値
【数４５】
0006422886.tif 000046
が、指数フィルタ・モジュール３０８から第２のパワー推定モジュール３１０に渡される。ステップＳ４１４において、第２のパワー推定モジュール３１０は、指数関数モデルの減衰ファクタの推定値
【数４６】
0006422886.tif 000047
を使用して、エコーのエコー・パワーの第２のモデル推定値を決定する。詳細には、第２のパワー推定モジュール３１０は、指数関数モデルの減衰ファクタの推定値
【数４７】
0006422886.tif 000048
を使用して、受信オーディオ信号ｙ（ｔ）におけるエコーの後期反射成分のエコー・パワー
【数４８】
0006422886.tif 000049
を決定する。ｋはフレーム・インデックスであり、したがって、時間のインジケーションを与える。
【００４４】
例えば、第２のパワー推定モジュール３１０は、式
【数４９】
0006422886.tif 000050
に従って、エコーの後期成分のパワー
【数５０】
0006422886.tif 000051
を推定することができる。ここで、
【数５１】
0006422886.tif 000052
は、早期反射のモデルの最後の部分のパワー寄与（power  contribution）の推定値である。
【数５２】
0006422886.tif 000053
は、特定の時間における（すなわち、特定のフレームについての）、指数関数的減衰モデルの推定された減衰ファクタである。
【数５３】
0006422886.tif 000054
は、指数関数的減衰であり、重み付け関数ではない。この式は、指数関数的に減衰するパワーの回帰（recursion）を決定する。上記の式が正確に正しくなるよう、減衰ファクタ
【数５４】
0006422886.tif 000055
は、一定でなければならない。
【数５５】
0006422886.tif 000056
における上付きｉは、
【数５６】
0006422886.tif 000057
のｉ乗であることを意味する。実際、
【数５７】
0006422886.tif 000058
は、時間とともに変わり得る。この場合、
【数５８】
0006422886.tif 000059
が、時間とともにゆっくり変わるだけであることを仮定する上記の式を使用することができる。
【００４５】
上述したように、
【数５９】
0006422886.tif 000060
は、早期反射のモデルの「最後の部分」のパワー寄与の推定値である。すなわち、
【数６０】
0006422886.tif 000061
は、フレームｋ−１に関する、ＦＩＲベースのモデルを用いて決定された受信オーディオ信号におけるエコーの早期反射のパワーの推定値の最後の部分のエコー・パワーの推定値であり、この最後の部分は、エコーの早期反射成分における反射の最後に対応する。このように、指数関数モデルは、（例えば、図５に示す早期反射成分と後期反射成分との境界における）エコーの早期反射成分の最後を使用し、次いで、エコーの後期反射成分を決定するために、このエコー成分が、時間とともに指数関数的に減衰することを仮定する。
【００４６】
例えば、受信オーディオ信号におけるエコーの早期反射成分のパワーの推定値が、式
【数６１】
0006422886.tif 000062
に従って決定される上述した場合において、（フレームｋに対応する時間ｔにおける）早期反射のモデルの最後の部分のパワー寄与の推定値
【数６２】
0006422886.tif 000063
は、
【数６３】
0006422886.tif 000064
として計算することができる。ここで、
【数６４】
0006422886.tif 000065
は、ＦＩＲフィルタ・モデルにより考慮に入れられる、最後のパーティション（Ｐ−１）のパワー応答であり、｜Ｘ（ｋ−Ｐ＋１，ｆ）｜２は、出力オーディオ信号の現フレームｋよりＰ−１個前のフレームのパワーの測定値である。現フレームｋよりＰ−１個前のフレームを見返すことは、ＦＩＲフィルタが考慮に入れる時間に遡ることである。これより長いエコー・パスを有するエコーを考慮に入れるために、指数関数モデルが使用され、それにより、現フレームｋよりＰ−１個前のフレームのエコーの値は、指数関数的に減衰すると仮定される。
【００４７】
第２のパワー推定モジュール３１０が、上述した方法のうちのいずれかに従って、これを決定すると、エコーの後期反射成分のエコー・パワーの推定値
【数６５】
0006422886.tif 000066
が、第２のパワー推定モジュール３１０から出力され、結合モジュール３１２により受信される。
【００４８】
ステップＳ４１６において、結合モジュール３１２は、エコーの早期反射成分のエコー・パワーの推定値
【数６６】
0006422886.tif 000067
と、エコーの後期反射成分のエコー・パワーの推定値
【数６７】
0006422886.tif 000068
と、を結合して、エコー・パワーの結合推定値
【数６８】
0006422886.tif 000069
を決定する。エコー・パワーの結合推定値
【数６９】
0006422886.tif 000070
は、エコーの（全ての成分を構成し得る）早期反射成分及び後期反射成分を考慮に入れた、受信オーディオ信号におけるエコーのエコー・パワーの推定値を与える。すなわち、エコー・パワーの結合推定値は、受信オーディオ信号における総エコーの推定値を与える。エコーの早期反射成分のエコー・パワーの推定値
【数７０】
0006422886.tif 000071
と、エコーの後期反射成分のエコー・パワーの推定値
【数７１】
0006422886.tif 000072
と、の結合は、これら２つの推定値の合計として実行され得る。すなわち、エコー・パワーの結合推定値
【数７２】
0006422886.tif 000073
は、式
【数７３】
0006422886.tif 000074
に従って決定され得る。
【００４９】
受信オーディオ信号におけるエコーのエコー・パワーの結合推定値
【数７４】
0006422886.tif 000075
が、結合モジュール３１２からエコー抑圧モジュール３１４に渡される。エコー抑圧モジュール３１４はまた、マイクロフォン２１２からオーディオ信号ｙ（ｔ）も受信する。ステップＳ４１８において、エコー抑圧モジュール３１４は、エコー・パワーの推定値
【数７５】
0006422886.tif 000076
を使用して、エコー抑圧を受信オーディオ信号ｙ（ｔ）に適用し、それにより、受信オーディオ信号におけるエコーを抑圧する。エコー・パワーの推定値
【数７６】
0006422886.tif 000077
は、周波数に依存し、エコー抑圧モジュール３１４により適用される抑圧もまた、周波数に依存する。上述したように、フレーム・インデックスｋは、時間の尺度であり、そのようなものとして、
【数７７】
0006422886.tif 000078
を与えるために、
【数７８】
0006422886.tif 000079
は、時間の観点で書き換えることができる。
【００５０】
エコー抑圧部の目的は、例えば、ＶｏＩＰクライアントにおけるマイクロフォン信号内に存在するラウドスピーカ・エコーを、マイクロフォン２１２により受信される近端音（非エコー音）の存在内で目立たない／乱さないよう十分低いレベルに抑圧することである。適切な量のエコー抑圧を選択できるようにするために、（例えば、周波数及び時間の関数としての）エコー・パワーの良好な推定値が必要とされ、上述したように、これが、パワー結合モジュール３１２により、エコー抑圧モジュール３１４に提供される。エコー抑圧モジュール３１４は、時間及び周波数の両方に応じて変わる信号依存の抑圧を、受信オーディオ信号ｙ（ｔ）に適用するよう設計される。エコー抑圧方法は、当技術分野において知られている。さらに、エコー抑圧モジュール３１４により適用されるエコー抑圧方法は、様々な方法で実装することができる。そのようなものとして、エコー抑圧方法の正確な詳細については、したがって、本明細書において詳細に説明しない。
【００５１】
エコー抑圧モジュール３１４は、ユーザ・デバイス１０４におけるさらなる処理のために、エコーが抑圧された受信信号を出力する。例えば、エコー抑圧モジュール３１４から出力される信号は、クライアント２０６により処理（例えば、符号化及びパケット化）することができ、次いで、ユーザ１０２とユーザ１０８との間の通話において、ネットワーク１０６を介して、ユーザ・デバイス１１０に送信することができる。追加的に又は代替的に、エコー抑圧モジュール３１４から出力される信号は、他の目的のために、ユーザ・デバイス１０４により使用されてもよい。例えば、信号は、メモリ２１４に記憶されてもよいし、ユーザ・デバイス１０４において実行されているアプリケーションへの入力として使用されてもよい。
【００５２】
したがって、（例えば、ＶｏＩＰクライアント２０６による使用のために）エコー抑圧エフェクト／フィルタを計算及び適用する目的で、マイクロフォン２１２により受信された周波数帯域のラウドスピーカのエコー信号のパワーを推定するためにエコー・パスをモデル化する２つの異なるモデル（例えば、ＦＩＲフィルタ・モジュール３０４及び指数フィルタ・モジュール３０８）の使用について、本明細書で説明した。本明細書で説明した例において、１つのＦＩＲベースのモデルと、１つの指数関数モデルと、からなるハイブリッド・モデルを使用して、受信オーディオ信号におけるエコーのエコー・パワーを推定する。ＦＩＲモデルは、エコーの早期反射成分をモデル化するために使用される。エコーの早期反射成分は、表面に対するエコーの最初の数回の反射に対応し、指数減衰に対しては適切に近似できないものである。指数関数モデルは、エコーの後期反射成分をモデル化するために使用される。エコーの後期反射成分は、重ね合わされた複数のエコー反射に対応し、通常は指数減衰に対してよく近似できるものである。
【００５３】
上述した実施形態において、エコー抑圧は、ＶｏＩＰシステムにおいて実施される（例えば、受信オーディオ信号は、ユーザ１０２とユーザ１０８との間の通話中に通信システム１００を介してユーザ・デバイス１１０に送信されるユーザ１０２の音声を含み得る）。しかしながら、本明細書で説明したエコー抑圧方法は、エコー抑圧が適用されるべき任意の適切なシステムにおいて適用することができる。
【００５４】
上述した実施形態において、図に示されるように、エコー・キャンセル（又は、「エコー減算」）は、受信オーディオ信号ｙ（ｔ）に適用されない。すなわち、ユーザ・デバイス１０４内にはエコー・キャンセル・モジュールは存在せず、エコー抑圧は、エコー・キャンセルを受信オーディオ信号ｙ（ｔ）に適用する従来のステップなく、受信オーディオ信号ｙ（ｔ）に適用される。
【００５５】
しかしながら、他の実施形態では、エコー・キャンセル・モジュールにより、エコー・キャンセルが、受信オーディオ信号ｙ（ｔ）に適用されてもよい。詳細には、エコー抑圧モジュール３１４により適用されるエコー抑圧が、受信オーディオ信号ｙ（ｔ）の処理において、エコー・キャンセルのダウンストリームで（すなわち、後で）、適用されてもよい。エコー・キャンセル・モジュールは、受信オーディオ信号からエコー信号の推定値を減算するが、エコー信号の推定における不正確性に起因して、残差エコーが、受信オーディオ信号に残っている可能性が非常に高い。次いで、エコー抑圧モジュール３１４により抑圧されるのが、残差エコーである。このエコー抑圧は、エコー・キャンセルが適用されない実施形態において本明細書で説明したのと同じ方法で適用することができる。エコー減算が用いられる場合、その結果が、エコー抑圧において考慮に入れられる。
【００５６】
本明細書で説明した方法は、ユーザ・デバイス１０４においてコンピュータ・プログラム製品（例えば、クライアント２０６）を実行することにより、実施することができる。すなわち、コンピュータ・プログラム製品は、受信オーディオ信号ｙ（ｔ）におけるエコーを抑圧するよう構成され得る。ここで、コンピュータ・プログラム製品は、コンピュータ読み取り可能記憶媒体上で具現化され（例えば、メモリ２１４に記憶され）、ＣＰＵ２０２上で実行されたときに、本明細書で説明した方法のうちいずれかのオペレーションを実行するよう構成される。
【００５７】
上述した方法において、２つのモデルが使用される。エコーの早期反射成分をモデル化するＦＩＲベースのモデルと、エコーの後期反射成分をモデル化する指数関数モデルと、である。しかしながら、他の方法において、任意の数（２以上）のモデルを使用して、エコーのそれぞれの成分をモデル化してもよい。異なるモデルによりモデル化されるエコーの成分は、異なるモデルが互いと同じエコーのコンポーネントをモデル化してもよい、あるいはモデル化しなくてもよいように、オーバラップしてもよいし、あるいはオーバラップしなくてもよい。モデルのうちの異なるモデルは、エコーの異なる成分をモデル化するのに適し得る。各モデルは、モデル化するために使用されるエコーの特定の成分に適するように選択することができる。これは、ＦＩＲベースのモデルがエコーの早期反射成分をモデル化するのに適しているのに対し、指数関数モデルがエコーの後期反射成分をモデル化するのに適している上記で提供した例からよく理解できるであろう。
【００５８】
別の例において、３つのモデルが存在してもよい。３つのモデルは、それぞれ、（ｉ）（図５に示した）エコーの直接音成分、（ｉｉ）直接音成分を除いたエコーの早期反射成分、及び（ｉｉｉ）エコーの後期反射成分、をモデル化するのに適しており、それらをモデル化するために使用される。例えば、３つのモデルは、それぞれ、（ｉ）直接音成分の高度に正確なモデルを提供するように、フィルタ・タップ間の微細な時間間隔（fine  time  spacing）を有する第１のＦＩＲフィルタを用いた第１のＦＩＲベースのモデル、（ｉｉ）第１のＦＩＲベースのモデルほど正確ではないが、直接音成分のパスよりも長いエコー・パスに関して複雑さがより低い、直接音成分を除いたエコーの早期反射成分のモデルを提供するように、第１のＦＩＲフィルタの微細な時間間隔よりも粗いフィルタ・タップ間の時間間隔を有する第２のＦＩＲフィルタを用いた第２のＦＩＲベースのモデル、及び（ｉｉｉ）エコーの後期反射成分に対して、３つのモデルのうち最低の正確さを提供するが、長さを有するエコー・パスに関する最低の複雑さもまた提供する指数関数モデル、とすることができる。
【００５９】
一般に、本明細書で説明した機能（例えば、図３に示した機能モジュール及び図４に示した機能ステップ）のいずれも、ソフトウェア、ファームウェア、ハードウェア（例えば、固定論理回路）、又はそれらの実装の組合せを用いて実装することができる。図３及び図４に別々に示したモジュール及びステップは、別々のモジュール又はステップとして実装されてもよいし、別々のモジュール又はステップとして実装されなくてもよい。例えば、エコー抑圧モジュール３１４は、パワー推定モジュール３０６及びパワー推定モジュール３１０並びに結合モジュール１１２の機能を実行してもよい。本明細書で使用される「モジュール」、「機能」、「コンポーネント」、及び「ロジック」という用語は、一般に、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組合せを表す。ソフトウェア実装の場合、モジュール、機能、又はロジックは、プロセッサ（例えば、１以上のＣＰＵ）上で実行されたときに特定のタスクを実行するプログラム・コードを表す。プログラム・コードは、１以上のコンピュータ読み取り可能メモリ・デバイスに記憶することができる。本明細書で説明した技術の特徴は、プラットフォームに依存しない、すなわち、本明細書で説明した技術は、様々なプロセッサを有する様々な商用コンピューティング・プラットフォーム上で実施できることを意味する。
【００６０】
例えば、ユーザ・デバイスはまた、ユーザ・デバイスのハードウェアに、例えば、プロセッサの機能ブロック等のオペレーションを実行させるエンティティ（例えば、ソフトウェア）を含んでもよい。例えば、ユーザ・デバイスは、ユーザ・デバイス、より具体的には、ユーザ・デバイスのオペレーティング・システム及び関連ハードウェアにオペレーションを実行させる命令を保持するよう構成され得るコンピュータ読み取り可能媒体を含んでもよい。したがって、そのような命令は、オペレーションを実行するオペレーティング・システム及び関連ハードウェアを構成するよう機能し、このようにして、機能を実行するオペレーティング・システム及び関連ハードウェアの変形（transformation）をもたらす。命令は、様々な異なる構成を通して、コンピュータ読み取り可能媒体により、ユーザ・デバイスに提供されてもよい。
【００６１】
コンピュータ読み取り可能媒体の１つのそのような構成は、信号搬送媒体であり、したがって、例えば、ネットワークを介して、命令を（例えば、搬送波として）コンピューティング・デバイスに送信するよう構成される。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能記憶媒体として構成されてもよく、したがって、信号搬送媒体ではない。コンピュータ読み取り可能記憶媒体の例は、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、光ディスク、フラッシュ・メモリ、ハード・ディスク・メモリ、及び、命令及び他のデータを記憶するために磁気技術、光技術、及び他の技術を使用することができる他のメモリ・デバイスを含む。
【００６２】
構造的特徴及び／又は方法論的動作に特有の言葉で主題を説明したが、添付の特許請求の範囲において定められる主題は、上述した特定の特徴又は動作に必ずしも限定されないことを理解すべきである。むしろ、上述した特定の特徴及び動作は、請求項を実施する例示的な形態として開示されたものである。
【図１】
0006422886.tif 000099
【図２】
0006422886.tif 000100
【図３】
0006422886.tif 000101
【図４】
0006422886.tif 000102
【図５】
0006422886.tif 000103