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