(57)【要約】  エコー除去を有効化する判断はリアルタイム通信セッションの前に行われる。コンピュータシステム（２００）上のメモリ内に格納されたモデルサンプル音声ファイル（２１４）は、コンピュータシステム（２００）と接続された拡声器（２０４）を介して再生される。拡声器（２０４）によって生成されたサウンドは、コンピュータシステム（２００）に接続されたマイクロホン（２０２）によってキャプチャされて、キャプチャ音声信号を生成する。キャプチャ音声信号は、サンプル音声信号と対応されてキャプチャ音声信号内での何らかのエコー効果の存在を判断する（４１４）。キャプチャ音声信号内の任意のエコーの特徴（例えば、周波数、遅延時間、および利得）はパラメータ化され（４１８）、エコー除去アルゴリズムによって使用されるために初期値として格納される（４２０）。格納されたパラメータは、アルゴリズムが何らかの必要な継続的な調整を行う（６０８）のに十分なリアルタイム情報を受信するまで通信セッションの最初にエコー除去アルゴリズムによって使用される（６０４）。
2009518880.tif 000002
【特許請求の範囲】
【請求項１】
マイクロホン（２０２）および拡声器（２０４）と接続されたコンピュータシステム（２００）内でエコー除去を適用するかどうかを判断する方法であって、
サンプル音声信号から生成されるサンプルサウンドを、前記拡声器（２０４）を介して出力するステップ（４０４）と、
キャプチャ音声信号を生成するために前記マイクロホン（２０２）を介して前記サンプルサウンドをキャプチャするステップ（４０６）と、
前記キャプチャ音声信号が前記サンプル音声信号に関連したエコー効果を含むかどうかを判断する（４１４）ために、前記キャプチャ音声信号および前記サンプル音声信号を解析するステップ（４１０、４１２）と
を備えることを特徴とする方法。
【請求項２】
前記サンプル音声信号に関連した前記エコー効果があったと判断するとエコー除去アルゴリズムを有効化するように前記コンピュータシステム（２００）を自動的に設定するステップをさらに備えることを特徴とする請求項０に記載の方法。
【請求項３】
前記キャプチャ音声信号内の前記エコー効果を打ち消すためのエコー除去アルゴリズムのための、１つまたは複数の初期化パラメータを計算するステップ（４１８）をさらに備えることを特徴とする請求項０に記載の方法。
【請求項４】
前記コンピュータシステム内のメモリ内に前記初期化パラメータを保存するステップ（４２０）をさらに備えることを特徴とする請求項３に記載の方法。
【請求項５】
前記メモリから前記初期化パラメータにアクセスするステップ（６０４）と、
前記初期化パラメータを使用して前記エコー除去アルゴリズムを活性化するステップ（６０６）と、
前記エコー除去アルゴリズムを介して音声信号をフィルタリングするステップと
をさらに備えることを特徴とする請求項４に記載の方法。
【請求項６】
前記フィルタリング動作中に、前記エコー除去アルゴリズム内の前記初期化パラメータを、前記エコー除去アルゴリズムによって動的に作成された追加のパラメータと交換するステップ（６０８）
をさらに備えることを特徴とする請求項５に記載の方法。
【請求項７】
前記サンプル音声信号と前記キャプチャ音声信号とのいずれか一方または両方を共通の形式に変換する（４０８）ために、前記サンプル音声信号および前記キャプチャ音声信号のうちの少なくとも１つを処理するステップをさらに備えることを特徴とする請求項０に記載の方法。
【請求項８】
請求項０に記載の方法を実装するコンピュータ処理を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読メディア。
【請求項９】
マイクロホン（２０２）および拡声器（２０４）と接続されたコンピュータシステム（２００）内でエコー除去アルゴリズムを構成する方法であって、
サンプル音声信号から生成されるサンプルサウンドを、前記拡声器（２０４）を介して出力するステップ（４０４）と、
キャプチャ音声信号を生成するために、前記マイクロホン（２０２）を介して前記サンプルサウンドをキャプチャするステップ（４０６）と、
前記キャプチャ音声信号内で検出されかつ前記サンプル音声信号に関連するエコー効果を打ち消す前記エコー除去アルゴリズムのための、１つまたは複数の初期化パラメータを計算するステップ（４１８）と
を備えることを特徴とする方法。
【請求項１０】
前記エコー効果を検出すると前記エコー除去アルゴリズムを有効化するように前記コンピュータシステム（２００）を自動的に設定するステップをさらに備えることを特徴とする請求項９に記載の方法。
【請求項１１】
前記サンプル音声信号と前記キャプチャ音声信号とのいずれか一方または両方を共通形式に変換する（４０８）ために、前記サンプル音声信号および前記キャプチャ音声信号のうちの少なくとも１つを処理するステップをさらに備えることを特徴とする請求項９に記載の方法。
【請求項１２】
前記初期化パラメータを使用して前記エコー除去アルゴリズムを活性化するステップ（６０４）と、
前記エコー除去アルゴリズムを介して追加のキャプチャ音声信号をフィルタリングするステップ（６０６）と
をさらに備えることを特徴とする請求項９に記載の方法。
【請求項１３】
前記コンピュータシステム内のメモリ内に前記初期化パラメータを保存するステップ（４２０）をさらに備えることを特徴とする請求項９に記載の方法。
【請求項１４】
前記メモリからの前記初期化パラメータにアクセスするステップ（６０４）と、
前記初期化パラメータを使用して前記エコー除去アルゴリズムを活性化するステップ（６０４）と、
前記エコー除去アルゴリズムを介して追加のキャプチャ音声信号をフィルタリングするステップ（６０６）と
をさらに備えることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記フィルタリング動作中に、前記エコー除去アルゴリズム内の前記初期化パラメータを、前記エコー除去アルゴリズムによって動的に作成された追加のパラメータと交換するステップ（６０８）
をさらに備えることを特徴とする請求項１４に記載の方法。
【請求項１６】
請求項９に記載の方法を実装するコンピュータ処理を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読メディア。
【請求項１７】
エコー除去アルゴリズムを構成するコンピュータシステム（７００）であって、
プロセッサ（７０２）と、
前記プロセッサによってアクセス可能であり、サンプル音声信号を具現化するサンプル音声ファイル（２１４）を有するメモリ（７０４）と、
前記プロセッサ（７０２）の制御下にあり、前記サンプル音声信号に対応するサンプルサウンドを出力することができる拡声器（２０４、７１６）と、
前記プロセッサ（７０２）の制御下にあり、前記サンプルサウンドも含めてキャプチャサウンドを受信し、対応するキャプチャ音声信号を生成することができるマイクロホン（２０２、７１４）と、
前記キャプチャ音声信号内で見いだされ前記サンプル音声信号に関連するエコー効果を打ち消す前記エコー除去アルゴリズムのための、１つまたは複数の初期化パラメータを計算するエコー除去モジュール（２２０）と
を備えることを特徴とするコンピュータシステム（７００）。
【請求項１８】
前記サンプル音声信号および前記キャプチャ音声信号の両方を受信し、前記キャプチャ音声信号が前記サンプル音声信号に関連するエコー効果を含むかどうかを判断するために前記サンプル音声信号を前記キャプチャ信号と比較するように構成されている、前記プロセッサ（７０２）の制御下の信号検出モジュール（２１８）をさらに備えることを特徴とする請求項１７に記載のコンピュータシステム。
【請求項１９】
前記メモリ（７０４）は前記初期化パラメータをさらに格納することを特徴とする請求項１７に記載のコンピュータシステム。
【請求項２０】
前記プロセッサ（７０２）は、
前記メモリ（７０４）から前記初期化パラメータにアクセスし、
前記初期化パラメータを使用して前記エコー除去アルゴリズムを活性化し、
前記エコー除去アルゴリズムを介して追加のキャプチャ音声信号をフィルタリングすることを特徴とする請求項１９に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エコー除去機能方法及びエコー除去機能を有するコンピュータシステムに関する。
【背景技術】
【０００２】
ネットワーク接続のコンピューティング装置を使用するリアルタイム（ｒｅａｌ−ｔｉｍｅ）通信がますます人気になってきている。例えば、これはボイスオーバインターネットプロトコル（ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）（ＶＯＩＰ）電話、音声可能なチャットプログラム（ｃｈａｔ  ｐｒｏｇｒａｍ）、ならびに音声およびビデオストリーミング（ｖｉｄｅｏ  ｓｔｒｅａｍｉｎｇ）の形をとることができる。最高品質の音声および／またはビデオ体験を提供することは、リアルタイム通信の音声クライアントを提供する多くの会社の中における差別化要因でありうる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
オーディオコンポーネント（ａｕｄｉｏ  ｃｏｍｐｏｎｅｎｔ）に関する通信体験の品質に対する１つの要因は、エコー（ｅｃｈｏ）の除去の可用性および有効性である。ネットワーク化されたコンピュータシステム間での音声通信のために設計された多くのソフトウェアアプリケーション（ｓｏｆｔｗａｒｅ  ａｐｐｌｉｃａｔｉｏｎ）はエコー除去機能を提供する。しかし、概してこれらのエコー除去機能はユーザによって手動で有効化されなければならない。さらに、エコー除去アルゴリズムが通信セッション内でサウンド（ｓｏｕｎｄ）出力からのエコーを効果的に低減するまたは除去するまでには、概して遅延時間がある。この遅延時間は、拡声器から出力され、マイクロホン（ｍｉｃｒｏｐｈｏｎｅ）でキャプチャ（ｃａｐｔｕｒｅ）されるサウンドがスピーカ（ｓｐｅａｋｅｒ）に入力される音声信号と比較され、何らかのエコー効果が除去される間に半分間以上続きうる。したがって、エコー除去が有効化されるときでさえ、ユーザは通信セッションの最初の期間中に好ましくない体験を依然としてする可能性がある。
【０００４】
本明細書の背景技術の項に含まれる情報は、技術的参照の目的のために含まれているものであり、本発明の範囲を限定するべきものと見なされるべきではない。
【課題を解決するための手段】
【０００５】
本明細書で説明され特許請求される技術は、エコー除去がリアルタイム通信セッションまたは他の音声通信の前に特定のオーディオ機器構成のために必要であるかどうかを検出することに関する。エコー除去が必要であると判断される場合、通信セッションの開始時に、任意の必要な継続的調整を行うのに十分な音声情報をアルゴリズムが受信するまで、エコー除去アルゴリズムはオーディオ機器構成に対応する１組の格納されたパラメータを使用することができる。コンピュータシステムとのリアルタイム音声通信または他の音声通信を行うための装置を構成するとき、コンピュータシステム上のメモリ内に格納されたモデルサンプル（ｍｏｄｅｌ  ｓａｍｐｌｅ）音声ファイルは、コンピュータシステムと接続された拡声器出力装置を介して再生される。それによって生成されるサウンドは、コンピュータシステムと接続されたマイクロホン入力装置によってキャプチャされ変換されてキャプチャ音声信号を生成し、キャプチャ音声信号は入力装置またはコンピュータシステムによって処理されるためにデジタル化される。キャプチャ音声信号は、サンプル音声信号と対応されてキャプチャ音声信号内の任意のエコー効果の存在を判断する。キャプチャ音声信号内の任意のエコーの特徴（例えば、周波数、遅延時間、および利得）が、エコー除去アルゴリズムによって使用されるための初期値としてパラメータ化され格納される。
【０００６】
この要約は、発明を実施するための最良の形態で下記にさらに説明される概念の選択を簡略化した形で紹介するために提供されている。この要約は特許請求された主題の重要な特徴または不可欠な特徴を特定するものではなく、特許請求された主題の範囲を限定するために使用されるものでもない。
【０００７】
いくつかの実装形態では、製品はコンピュータプログラム（ｃｏｍｐｕｔｅｒ  ｐｒｏｇｒａｍ）製品として提供される。コンピュータプログラム製品の１つの実装形態は、コンピュータシステムによって可読のコンピュータプログラムを符号化するコンピュータプログラム記憶メディアを提供する。コンピュータプログラム製品の他の実装形態は、コンピュータシステムによって搬送波内に具現化され、コンピュータプログラムを符号化するコンピュータデータ信号内で提供されることができる。特許請求された主題の他の特徴、詳細、ユーティリティ（ｕｔｉｌｉｔｙ）、および利点は、添付図面でさらに示され、添付の特許請求の範囲で定義される様々な実施形態および実装形態の下記のより特定して記載された発明を実施するための最良の形態から明らかである。
【発明を実施するための最良の形態】
【０００８】
本明細書で説明された技術の実装形態は、コンピュータシステム上で動作するソフトウェアアプリケーション内でのエコー除去の自動的有効化および設定をもたらす。この技術は、音声通信セッションを行うコンピュータシステムのユーザが、この種のセッションを行うために使用されるオーディオ機器によってもたらされるサウンド出力でのエコー効果を容易に識別しより迅速に軽減するのを助ける。
【０００９】
例えば、電話会議（例えば、パーソナルコンピュータシステムを使用するＶＯＩＰ電話呼）を行うとき、音声入力装置（例えば、マイクロホン）および音声レンダリング装置（例えば、１つまたは複数の拡声器）の両方が通信セッションを行うために必要である。図１に示されるように、パーソナルコンピュータシステム１００は、オーディオ機能を含むことができる様々な周辺装置を装備していてよい。典型的なパーソナルコンピュータシステム１００は、コンピュータ１０２ならびにコンピュータ１０２に接続されたビデオモニタ（ｖｉｄｅｏ  ｍｏｎｉｔｏｒ）１０４、キーボード１０６、およびマウス１０８を含むことができる。コンピュータ１０２は、サウンドを生成するために内蔵の拡声器１１８を有することができる。ビデオモニタ１０４は、１対の拡声器１１０を装備していてもよい。さらに、パーソナルコンピュータシステム１００のユーザは、１組の外部拡声器１１２をコンピュータ１０２に取り付けることもできる。パーソナルコンピュータシステム１００は、インターネットビデオ会議を行うために組合せのビデオカメラ（ｖｉｄｅｏ  ｃａｍｅｒａ）およびマイクロホン１１４を含むこともできる。ユーザは、ＶＯＩＰ会議またはインターネットビデオ会議に参加するためにイヤホン（ｅａｒｐｈｏｎｅ）拡声器とマイクロホンを組み合わせるヘッドセット（ｈｅａｄｓｅｔ）１１６を取り付けることもできる。
【００１０】
拡声器からのサウンド出力は、マイクロホンによってしばしばキャプチャされる。このようなサウンド出力を含むマイクロホンからの入力信号は、該サウンド出力に対応する元の音声信号から時間的にわずかに遅延する。したがって、元の音声信号のソース（ｓｏｕｒｃｅ）に送信されソース位置で拡声器上に出力される、マイクロホンからキャプチャされたサウンドは、エコー効果を生成し、これはソース位置における当事者には不快である。したがって、エコー除去アルゴリズムは、キャプチャされた信号を出力する前にキャプチャされた信号内の元の音声信号の残余物を除去するために提供される。本明細書で説明されるシステムおよび方法は、エコー除去の必要性を判断し、必要な場合にエコー除去を有効化し、エコー除去アルゴリズムのインスタンス化での初期パラメータを提供するコンピュータシステムのユーザに対する自動支援の役割を果たす。
【００１１】
１つの例示の場合では、結合したマイクロホンと拡声器の構成を有するコンピュータシステムは、音声クライアントがリアルタイム通信セッションを実行すると共にエコー除去アルゴリズムが必要であるかどうかを判断するために試験される。そうである場合、エコー除去アルゴリズムの自動有効化が実施される。エコー除去が特定のオーディオ構成のために必要であるかどうかを判断するために、コンピュータシステムに関連したメモリ内に格納されたサンプル音声ファイルを、コンピュータシステムに接続された拡声器を介して出力することができる。サンプル音声ファイルは、アナログ（ａｎａｌｏｇ）信号に変換され、拡声器に送信される。拡声器は、大気中で音波を生成するためにアナログ音声信号を音響エネルギーに変換する。
【００１２】
サンプル音声ファイルに対応するサウンドを含む何らかの音波がマイクロホンによって受信され、アナログ音声信号に変換される。サンプル音声ファイルが拡声器によって再生される期間と同一の期間中にマイクロホンによって受信されるサウンドが記録される。アナログ音声信号は、マイクロホンまたはコンピュータシステムによってデジタルデータ（ｄｉｇｉｔａｌ  ｄａｔａ）形式に変換される。１つの実装形態では、マイクロホンからのキャプチャされた音声データおよびサンプル音声ファイルは、必要ならば共通のデータ形式に変換される。キャプチャされたサウンドからの音声データは、エコー信号の存在を示す音声データ間に相関関係があるかどうかを判断するために既知のサンプル音声ファイルからの音声データと比較される。
【００１３】
エコー相関関係がある場合、エコー除去アルゴリズムは活性化されてキャプチャされた音声データとサンプル音声データとを比較し、音声クライアントの今後のインスタンス化に際して使用するための１組の初期パラメータを計算する。通信セッションが開始するとき、エコー除去アルゴリズムは、格納された初期パラメータを使用してキャプチャ音声信号を処理する。取るに足りないほどの相関関係がある場合は、コンピュータシステムは、特定のオーディオ機器構成を用いてエコー除去アルゴリズムを使用することは不必要であり、処理リソースの非効率な使用であると判断することができる。この場合には、エコー除去アルゴリズムを無効化することができる。
【００１４】
エコー除去活性化技術を実現するためのコンポーネントおよびモジュール（ｍｏｄｕｌｅ）を備える例示のコンピュータシステム２００が図２に示されている。２つの例示の周辺装置（マイクロホン２０２および拡声器２０４）がコンピュータシステム２００に接続されている。マイクロホン２０２はコンピュータシステム２００に内在するハードウェア（ｈａｒｄｗａｒｅ）機器であってよい、またはマイクロホン２０２は有線もしくは無線接続を介してコンピュータシステム２００に接続された外部装置であってよい。同様に、拡声器２０４はコンピュータシステム２００に内在するハードウェア機器であってよい、または拡声器２０４は有線もしくは無線接続を介してコンピュータシステム２００に接続された外部装置であってよい。拡声器２０４は単一のスピーカ、１対のスピーカであってよい、または拡声器２０４は、例えば「サラウンドサウンド（ｓｕｒｒｏｕｎｄ  ｓｏｕｎｄ）」構成の複数のスピーカのシステムであってよい。あるいは、マイクロホン２０２および拡声器２０４は、単一の機器（例えば、電話の送受話器またはヘッドセット）内に組み合わされてよい。マイクロホン２０２は、音声キャプチャモジュール２０６に対する入力装置としてコンピュータシステム２００に接続される。拡声器２０４は、音声レンダリングモジュール２０８に対する出力装置としてコンピュータシステム２００に接続される。
【００１５】
拡声器２０４からマイクロホン２０２への矢印によって示されるように、拡声器２０４によって放射されたサウンドはマイクロホン２０２によって受信されることができる。これがエコー効果の元である。
【００１６】
図２に示されるように、自動エコー除去判断機能は、破線２１０によって示されるようにコンピュータシステム２００のカーネル（ｋｅｒｎｅｌ）およびユーザモード（ｕｓｅｒ−ｍｏｄｅ）の両方でのリソースを用いて実現することができる。他のオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）およびコンピューティング環境では、この種のコンポーネントおよびモジュールはソフトウェアアーキテクチャ（ｓｏｆｔｗａｒｅ  ａｒｃｈｉｔｅｃｔｕｒｅ）の他のレベルで制御することができる。この例示の実装形態ではカーネルは、プロセッサおよびメモリを含んで装置のハードウェアリソースならびに低いレベルのハードウェアインターフェース（ｈａｒｄｗａｒｅ  ｉｎｔｅｒｆａｃｅ）を管理し、他のソフトウェアコンポーネント（例えば、ユーザモードコンポーネント）が、例えばデバイスドライバ（ｄｅｖｉｃｅ  ｄｒｉｖｅｒ）、メモリ管理ルーチン、スケジューラ（ｓｃｈｅｄｕｌｅｒ）およびシステムコール（ｓｙｓｔｅｍ  ｃａｌｌ）を介してこれらのリソースにアクセスすることができる方法を制御する。
【００１７】
音声キャプチャモジュール２０６および音声レンダ（出力:render）モジュール２０８の両方をカーネル内に存在させることができる。音声キャプチャモジュール２０６は、コンピュータシステム２００によってさらに処理するためにマイクロホン２０２によって音波から生成されるアナログ音声信号をデジタルデータ信号（例えば、パルス符号変調（ＰＣＭ）されたデータ形式、コンパクトディスク（ｃｏｍｐａｃｔ  ｄｉｓｃ）未処理（ＣＤＲ）データ形式、または他の共通のデータ形式）に変換する。ＰＣＭデータは、様々な品質のもの（例えば、ＰＣＭ１６、ＰＣＭ３２、またはＰＣＭ４８）があってよい。音声レンダリングモジュール２０８は、例えば、波形音声形式（ＷＡＶ）、ＭＰＥＧ１、デジタルサウンドモジュール（ｄｉｇｉｔａｌ  ｓｏｕｎｄ  ｍｏｄｕｌｅ）（ＤＣＭ）音声形式、または他の共通のデータ形式のデジタル音声ファイルを拡声器２０４によって音響レンダリングするためのアナログ音声信号に変換する。他の形では、拡声器０１４およびマイクロホン２０２のそれぞれまたは両方がデジタル拡声器またはデジタルマイクロホンであってよく、デジタルアナログ変換の音声レンダリング機能およびアナログデジタル変換の音声キャプチャリング機能が、拡声器およびマイクロホン自体でそれぞれ行われる。したがって、そのような形では、音声レンダリングモジュール２０８および音声キャプチャモジュール２０６はカーネル内に存在する必要はない。
【００１８】
追加の機能が、例えば、マイクロホン２０２および音声キャプチャモジュール２０６によって受信される音声データならびに他のデータに対して動作するソフトウェア処理ルーチンとしてユーザモード内に実装される。エコーパラメータ化モジュール２１２は、サンプル音声ファイル２１４、信号処理プロセッサ２１６、信号検出モジュール２１８、およびエコー除去モジュール２２０を含む。サンプル音声ファイル２１４は、エコーパラメータ化モジュール２１２によって行われる動作によってアクセスされ、音声レンダリングモジュール２０８および信号処理プロセッサ２１６のいずれかまたは両方に送信されることができる。サンプル音声ファイル２１４は、エコー効果が生成されるかどうかを判断するように拡声器２０４およびマイクロホン２０２の構成を試験するために拡声器２０４への出力用の既知の音声サンプルとして音声レンダリングモジュール２０８に送信される。
【００１９】
サンプル音声ファイル２１４は、生成されるサウンドの属性のために選択されるデジタル音声ファイル（例えば、ＷＡＶファイルまたは他のファイル形式）であってよい。例えば、サンプル音声ファイル２１４は、マイクロホン２０２を介して検出することが容易な特定の周波数範囲を含むサウンドを生成することができる。さらに、サンプル音声ファイル２１４は、ユーザによって聴くことが喜ばれるサウンド（例えば、音楽シーケンス）を生成する、またはユーザにとって貴重な情報（例えば、構成命令または広告）を提供するために選択されてよい。あるいは、サンプル音声ファイル２１４を使用するのではなく１組のトーン（ｔｏｎｅ）が、エコー効果に関する試験を行うために拡声器で出力されるためにコンピュータシステムによって生成されてよい。他の場合にはサンプル音声ファイルは、コンピュータシステム２００と接続されたネットワークを介して他のソースからコンピュータシステム２００に提供されることができる。いずれの場合でも拡声器２０４によって出力されるサンプル音声信号を備える音声データは、キャプチャ音声信号との比較のために信号処理プロセッサ２１６を介して信号検出モジュール２１８およびエコー除去モジュール２２０に入力するために利用可能であるべきである。
【００２０】
マイクロホン２０２から受信された音声信号は、音声キャプチャモジュール２０６から信号処理プロセッサ２１６にも送信される。音声キャプチャモジュール２０６からの音声信号およびサンプル音声ファイル２１４のいずれかまたは両方が、音声信号の比較のために音声信号を共通のデータ形式に変換するために信号処理プロセッサ２１６によって処理されることができる。例えば、音声キャプチャモジュール２０６からの音声信号がＰＣＭ形式であり、音声サンプルファイル２１４がＷＡＶ形式である場合、音声サンプルファイル２１４は、信号処理プロセッサ２１６によってＰＣＭ形式に変換することができる。あるいは、音声キャプチャモジュール２０６からの音声信号は、信号処理プロセッサによってＷＡＶ形式に変換することができる。他の場合では、音声キャプチャモジュール２０６からの音声信号および音声サンプルファイル２１４の両方が、この種の形式がデバイス検出モジュール２１２によってさらなる処理を助ける場合に信号処理プロセッサ２１６によって第３の形式（例えば、オーディオインターチェンジファイル（ａｕｄｉｏ  ｉｎｔｅｒｃｈａｎｇｅ  ｆｉｌｅ）（ＡＩＦＦ）形式または他のあるデータ形式）に変換されてもよい。さらに、音声データに関する任意の所望のファイル形式が使用されてよい。
【００２１】
音声キャプチャモジュール２０６からの音声信号およびサンプル音声ファイル２１４のいずれかまたは両方が信号処理プロセッサ２１６によって処理されると、キャプチャ音声信号およびサンプル音声ファイル２１４は信号検出モジュール２１８によって比較される。サンプル音声ファイル２１４に直接アクセスすることによって信号処理プロセッサ２１６によって処理される信号の検出は、サンプル音声ファイル２１４が、内部に依然として格納され、エコーパラメータ化モジュール２１２によってアクセス可能であり、破損していない、削除されていない、除去されていない、または移動されていないことを確認するために１つのレベルで望ましい。サンプル音声ファイル２１４がアクセスできなかった場合、試験音声サウンドは、マイクロホン２０２で検出されるために拡声器２０４によって生成はされないことになろう。したがって、最初に、サンプル音声ファイル２１４から直接のデータの検出は、デバイス検出モジュール２１２およびキャプチャ音声信号を既知のサンプル音声信号と比較するその能力の保全性のチェックの役割を果たすことができる。
【００２２】
音声キャプチャモジュール２０６からの音声信号と音声サンプルファイル２１４との比較が、拡声器２０４が実際に動作しており、試験がサンプル音声ファイル２１４を使用して実際に行われていることを確認するために使用されてもよい。例えば、概してある周辺サウンドがマイクロホン２０２によって受信されるが、サンプル音声ファイル２１４は拡声器２０４に出力されなかった場合、エコー除去モジュール２１８は、エコー効果が存在せず、エコー除去アルゴリズムを作動させる必要がないと誤った結論を下しうる。マイクロホン２０２によって変換されるサウンドが拡声器２０４で創出したかどうかを識別する能力は、サンプル音声ファイル２１４が、拡声器２０４によって再生されるべきである特定の期間中にマイクロホン２０２からの音声信号をキャプチャし記録することによって支援することができる。したがって、信号検出モジュール２１８は、データ内で合致しているかどうかを判断するために音声キャプチャモジュール２０６からの音声信号に対応するデータの特徴（例えば、周波数、強度、およびタイミング）を音声サンプルファイル２１４からのデータと比較する。データが対応する場合、信号検出モジュール２１８は、サンプル音声ファイルがマイクロホンによって確かにキャプチャされ、エコー除去モジュール２２０によって行われるエコー効果試験に関する基準であることを確認する。
【００２３】
信号検出モジュール２１８に加えて信号処理プロセッサ２１６は、キャプチャ音声信号およびサンプル音声信号をエコー除去モジュール２２０にも送る。試験中、エコー除去モジュール２２０は、著しいエコー効果が存在するかどうかを判断するためにキャプチャ音声信号とサンプル音声信号とを比較し解析する。場合によってはエコー効果がなく、したがってエコー除去アルゴリズムによりキャプチャ音声信号をフィルタリングする必要がない。エコー効果がない場合、この種のフィルタリングは、処理リソースを十分に使用していないことになろう。例えば、いくつかのヘッドセット、電話送受話器、およびスピーカホン（ｓｐｅａｋｅｒｐｈｏｎｅ）はエコー除去のソフトウェアおよびハードウェアをすでに含み、したがってコンピュータシステム２００のエコー除去モジュール２２０によるフィルタリングは冗長であろう。他の場合では、オーディオ機器の環境および構成が、感知できるエコー効果が生成されないようなものでありうる。
【００２４】
概してエコー効果の重要性は、キャプチャ音声信号内のエコー信号の強度によって判断される。エコー効果の例示の概略図が図３に示される。グラフ３００は、元の音声信号３０２、またはこの試験シナリオ（ｓｃｅｎａｒｉｏ）の場合ではサンプル音声信号の単一の周波数波形を実線としてプロットし、キャプチャ音声信号内のエコー信号３０４を破線としてプロットする。エコー信号３０４は、わずかに遅延し、元の音声信号３０２に続く。概してエコー信号３０４の振幅は、元の音声信号３０２の振幅より小さく、したがってより弱い信号を示す。しかし、エコー信号３０４の強度は、ユーザの通信セッションの品質、したがってエコー除去に関する品質に著しく影響を与えると判断される閾値レベルを越えるのに十分でありうる。次いで、概してエコー信号３０４の除去は、エコー信号の影響を打ち消すために、対応する周波数であるが逆の振幅の干渉信号を導入することによって行われる。
【００２５】
キャプチャ音声信号内でエコー効果があるかどうかを単に判断することに加えてエコー除去モジュール２２０は、キャプチャ音声信号とサンプル音声信号との比較からのデータをさらに使用して実際のリアルタイム通信セッションの最初でエコー除去モジュール２２０によって使用されるべき１組の初期化パラメータを計算する。エコー除去モジュール２２０は、エコー除去アルゴリズムの特定の実装形態で複数の異なるパラメータ（例えば、推定のスピーカ対マイクロホン利得の統計値、スピーカからマイクロホンへの推定遅延時間の統計値、およびキャプチャされた音声の周波数特性）を使用することができる。周波数特性は、よく知られているフーリエ（Ｆｏｕｒｉｅｒ）変換関数によって、または他の共通の方法によって比較されることができる。
【００２６】
これらのパラメータは、拡声器を介して再生されるサンプル音声信号とマイクロホンによってキャプチャされる音声との間でエコー除去モジュール２２０内の「スライディングウィンドウ（ｓｌｉｄｉｎｇ  ｗｉｎｄｏｗ）」を同期化するために使用される。スライディングウィンドウは、連続的に更新される期間およびその特定の期間中に再生されキャプチャされる対応するサウンドとして理解することができる。エコー除去モジュール２２０は、キャプチャ音声信号に対応するスライディングウィンドウ内で取り消すべきものを決定するために出力されるサンプル音声信号のスライディングウィンドウを使用し、調査を限定するためにキャプチャ音声信号のスライディングウィンドウを使用する。これらのスライディングウィンドウは、遅延経路および反射経路に基づいて時間的に同期化される必要がある。スライディングウィンドウのサイズは、エコー除去モジュールによって費やされる番号処理サイクルを低減するためにできるだけ少ないキャプチャ音声信号ストリームを調査するためのエコー数ならびに遅延経路および反射経路での変動に基づいてもパラメータ化される。
【００２７】
初期化パラメータがサンプル音声信号試験に基づいて計算されると、初期化パラメータはデータ記憶モジュール２２２内に保存される。初期化パラメータは、下記でさらに説明されるように実際のリアルタイム通信セッションの最初で再呼出しされる。
【００２８】
図２に示されるように、コンピュータシステム２００は、ユーザモード内で動作するオーディオアプリケーション２２６も含む。オーディオアプリケーション２２６は、通信セッションを行うように構成された入力装置および出力装置（例えば、マイクロホン２０２および拡声器２０４）を制御するユーザによってインスタンス化されるソフトウェアプログラムであってよい。例示のオーディオアプリケーションは、ＶＯＩＰクライアントまたは音声可能なチャットプログラムであってよい。
【００２９】
「エコー除去選択」２２４のアプリケーションプログラムインターフェース（ＡＰＩ）は、エコーパラメータ化モジュール２１２とオーディオアプリケーション２２６との間のインターフェースとして働いて、オーディオアプリケーション２２６が、サンプル音声ファイル２１４と共にエコー除去モジュール２２０による試験結果に基づいて通信セッション中にエコー除去を有効化するまたは無効化するべきであるかどうかを示すデータを転送する。あるいは、オーディオアプリケーション２２６は、オーディオアプリケーション２２６内でエコー除去を手動で有効化するまたは無効化するためにグラフィカルユーザインターフェース（ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）（ＧＵＩ）内でのメッセージを介してユーザに警告を行うことができる（例えば、「ポップアップ（ｐｏｐ−ｕｐ）」ウィンドウがディスプレイモニタ（ｄｉｓｐｌａｙ  ｍｏｎｉｔｏｒ）上に表示されてよい）。
【００３０】
第２のＡＰＩのオーディオ機器選択ＡＰＩ２２８は、オーディオアプリケーション２２６ともインターフェースし、マイクロホン２０２および拡声器２０４がコンピュータシステムに接続されている入力ポートおよび出力ポートともさらにインターフェースされる。（図２に示さないが、さらにオーディオアプリケーション２２６は、拡声器２０４でオーディオアプリケーション２２６によって行われる通信セッション（例えば、ＶＯＩＰ電話呼）からサウンドを生成するために個別のＡＰＩを有する音声レンダリングモジュール２０８とインターフェースすることができる。）
【００３１】
オーディオ機器選択ＡＰＩ２２８は、オーディオアプリケーション２２６と共に使用するために望ましいオーディオ機器と接続された入力ポートまたは出力ポートを活性化する。例えば、ユーザのコンピュータシステム２００は、複数のマイクロホン２０２（例えば、ディスプレイモニタ内に一体化された第１のマイクロホンおよびウェブカメラ内に一体化された第２のマイクロホン）、および複数の拡声器２０４（例えば、コンピュータシステム２００に接続されている第１の組の拡声器およびディスプレイモニタ内に一体化された第２の組の拡声器）を有することができる。オーディオアプリケーション２２６は、どのマイクロホンおよびどの拡声器の組をユーザが音声通信のために使用したいかをユーザに質問することができる。オーディオ機器選択ＡＰＩ２２８を介してオーディオアプリケーション２２６は、所望のマイクロホン２０２および拡声器２０４の組合せを活性化するために適切なデータポート（ｄａｔａ  ｐｏｒｔ）を開閉することになろう。
【００３２】
自動エコー除去判断を行うためにコンピュータシステムによって実行される動作の例示のシリーズが図４に示される。図２のコンピュータシステムの例示の構成のコンテキストではエコーパラメータ化モジュールは、サンプル音声ファイルに対応するエコー効果の存在を検出し、エコー除去ルーチンが特定のコンピュータシステム環境および周辺オーディオ機器構成のために必要とされるかどうかを判断し、エコー除去アルゴリズムのための初期化パラメータを計算するように構成される。図２のコンピュータシステムのコンテキストで説明されているが、本明細書で説明されるこれらの動作および他の動作は図２のコンピュータシステム以外のシステム上で実行されることができる。一部のまたは全部の動作が、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せによって実行されることができる。
【００３３】
最初に、選択動作４０２ではオーディオアプリケーションは、音声通信セッションに関するオーディオ機器構成をユーザが選択し構成するようにプロンプト（ｐｒｏｍｐｔ）する、または自動的に選択する。オーディオ機器構成が決定されると再生動作４０８が開始される。再生動作４０８ではサンプル音声ファイルが、選択された拡声器により再生するために音声レンダリング装置に送信される。この種のプロンプトまたは要求は、ディスプレイモニタ上にＧＵＩメッセージを介して表示することができる。次いでキャプチャ動作４０６は、拡声器によって生成され、サンプル音声ファイルに対応されるサウンドを含んで、マイクロホンによって受信された音波を記録する。音波は、マイクロホンによってアナログ信号に変換され、アナログ信号は音声キャプチャモジュールによってデジタル音声形式にさらに変換される。
【００３４】
サンプル音声ファイルは、信号処理プロセッサによってもアクセスされ、変換動作４０８内でキャプチャされた音声データの形式と容易に比較され得るデータ形式に変換される。例えば、キャプチャされた音声データがＰＭＣ形式であり、サンプル音声ファイルがＷＡＶ形式である場合、サンプル音声ファイルはＷＡＶからＰＭＣに変換されることができる。代替動作（図４には図示せず）ではキャプチャされた音声データは、信号処理プロセッサによってサンプル音声ファイルの形式に変換することができる。他の代替動作（図４に図示せず）では、キャプチャされた音声データおよびサンプル音声ファイルの両方のデータ形式が第３の共通形式に変換されることができる。
【００３５】
サンプル音声ファイルおよびキャプチャされた音声データが共通の形式であると第１の解析動作４１０は、変換されたサンプル音声ファイルに対応するサンプル音声信号の周波数範囲、時間署名、エネルギーレベル、および他の任意の所望の特徴を解析する。第２の解析動作４１２は、キャプチャされた音声データに対応するキャプチャ音声信号の周波数範囲、時間署名、エネルギーレベル、および他の任意の所望の特徴を解析する。
【００３６】
次いで判断動作４１４は、サンプル音声ファイルがキャプチャ音声信号内で見いだされる任意のエコー効果に関する基準を形成することを保証するためにキャプチャ音声信号の特徴をサンプル音声信号と比較する。判断動作４１４は、キャプチャされた音声データをサンプル音声データと対応する助けをするために連続的にキャプチャされた音声データのウィンドウまたはスナップショット（ｓｎａｐｓｈｏｔ）を解析することができる。判断動作４１４は、サンプル音声ファイルが拡声器によって再生された期間に対応する特定の期間からウィンドウを選択することによって相関のために調査されるキャプチャ音声信号のウィンドウを限定することができる。したがって、妥当な相関が、キャプチャ音声信号のウィンドウごとの周波数範囲およびエネルギーレベルとサンプル音声信号に関する周波数範囲およびエネルギーレベルとの間でなされる。これは、エコー除去モジュールによって計算される任意の初期化パラメータが、マイクロホンによって受信された周囲のバックグラウンドノイズ（ｂａｃｋｇｒｏｕｎｄ  ｎｏｉｓｅ）ではなくサンプル音声ファイルの解析に基づいていることをさらに保証するために品質制御機能として見なすことができる。音声信号は、同一である必要はなく、単に適度に類似していればよい。適度に類似していると考えられる値の差分の閾値または範囲は、予め決められていてもよく、またはユーザ設定可能であってよい。
【００３７】
判断動作４１４は内容の相関のために、キャプチャ音声信号とサンプル音声信号とを比較し、処理動作４１６はエコー除去アルゴリズムによりキャプチャ音声信号およびサンプル音声信号を処理する。エコー除去アルゴリズムはよく知られており、任意の例示のエコー除去アルゴリズムはこの動作で使用することができる。例えば、コンピュータシステムと共に使用されるもっとも現今の音声通信プログラム（例えば、ＭＳＮ  Ｍｅｓｓｅｎｇｅｒ（登録商標）、ＡＯＬ（登録商標）  Ｉｎｓｔａｎｔ  Ｍｅｓｓｅｎｇｅｒ、Ｓｋｙｐｅ（商標）、Ｇｏｏｇｌｅ（登録商標）  Ｔａｌｋ、および他）は、ユーザによって手動で有効化されることができるエコー除去アルゴリズムを使用する。概してエコー除去アルゴリズムは、動的であり、変化している環境（例えば、様々なユーザの声または物理的位置）に基づいて変化しうるエコー効果を除去するように絶えず調整または「コンバージ（ｃｏｎｖｅｒｇｅ）」する。処理動作４１６は最初に、エコー効果がある場合にそれが除去に値するのに十分な著しいレベルであるかどうかの閾値判断を行う。そうである場合、処理動作４１６は、エコー効果を低減するまたは除去するためにエコー除去アルゴリズムによりキャプチャ音声信号およびサンプル音声信号をさらに処理する。
【００３８】
計算動作４１８は、サンプル音声ファイルに対応するエコー効果を取り消すためにエコー除去アルゴリズムによって使用される１組のパラメータを決定する。サンプル音声ファイルは、コンピュータシステムの環境および付属の周辺オーディオ機器の構成に起因する任意のエコー効果を取り消す１組のパラメータを計算するためにエコー除去アルゴリズムにとって十分な時間の長さのサンプル音声信号を生成するために選択される。計算動作４１８によって計算されるパラメータの組は、保存動作４２０でデータ記憶モジュールに保存される。保存されたパラメータは、エコー除去アルゴリズムがコンピュータシステムによってホスト（ｈｏｓｔ）されるリアルタイム通信セッションをフィルタリングするためにインスタンス化されるときに初期化パラメータとして使用される。
【００３９】
図５は、ネットワーク５１８を介してリアルタイム通信セッションに関与するように構成されたコンピュータシステム５００を示す。通信セッションが始まる前にエコー除去モジュール５２０は、データ記憶モジュール５２２からの初期化パラメータにアクセスする。これらの初期化パラメータは、図４の例示の動作を介してサンプル音声ファイルに対して計算されたパラメータである。したがって、リアルタイム通信セッションが開始され、他の当事者５２４からの音声信号がコンピュータシステム５００に接続されたネットワーク５１８を介してユーザのコンピュータシステム５００に到達するとき、エコー除去モジュール５２０は、ユーザによって何らかの感知できる遅延時間なしに任意のエコー効果をすぐに効果的に取り消すことができる。
【００４０】
典型的なリアルタイム通信セッション中、他の当事者５２４からの音声信号は、ネットワーク５１８を介してコンピュータシステム５００に送信されることができる。着信音声信号は、デコーダ（ｄｅｃｏｄｅｒ）５１４によって処理されて着信音声信号を復調し、そうでない場合はデコードする。次いで着信音声信号は、エコー除去モジュール５２０および音声レンダリングモジュール５０８の両方に送信される。着信音声信号は、拡声器５０４によって出力されるために音声レンダリングモジュール５０８によってデジタルデータからアナログ信号に変換される。拡声器５０４によって生成される着信音声信号に対応する音波は、拡声器５０４からマイクロホン５０２への矢印によって示されるようにマイクロホン５０２によって受信される。
【００４１】
マイクロホン５０２は、ユーザによって生成される任意のサウンド（例えば、音声）および任意の環境的ノイズに加えて着信音声サウンドをキャプチャする。キャプチャされた音声はアナログ信号に変換され、そのアナログ信号は音声キャプチャモジュール５０６によってデジタルのキャプチャ音声信号に変換される。キャプチャ音声信号は、エコー除去モジュール５２０に送られる前に着信音声信号として共通のデジタルデータ形式に変換されるために信号処理プロセッサ５１６に送信される。あるいは、着信音声信号はデコーダ５１４から信号処理プロセッサ５１６に送信されることができ、キャプチャ音声信号は、音声キャプチャモジュール５０６からエコー除去モジュール５２０に直接送信されることができる。さらに、着信音声信号およびキャプチャ音声信号の両方は、エコー除去モジュール５２０によってさらに処理されるために信号処理プロセッサ５１６によって共通のデータ形式に処理されることができる。
【００４２】
データ記憶モジュール５２２からの初期化パラメータを使用してエコー除去モジュール５２０は、着信音声信号に対応する任意のエコー効果を除去するためにキャプチャ音声信号をフィルタリングする。前述のように、使用されるエコー除去アルゴリズムは、動的であり、環境内での変化によりシフトし変化しうるエコー効果に関してキャプチャ音声信号を絶えずモニタする。したがって、着信音声信号は、エコー効果でのシフトに対応し、継続するコンバージェンス（ｃｏｎｖｅｒｇｅｎｃｅ）を保証するためにキャプチャ音声信号と比較するためのデータとしてエコー除去モジュール５２０に入力される。したがって、着信音声信号は、サンプル音声データが初期化パラメータを生成するために使用された方法とほとんど同じ方法で通信セッション中に更新されたパラメータ値を作成するためにエコー除去モジュール５２０によって使用される。しかし、初期化パラメータを使用することにより、効果的なエコー除去が通信セッションの最初に行われ、エコー効果が存在していたであろう遅延期間がなくなる。
【００４３】
キャプチャ音声信号がフィルタリングされるとキャプチャ音声信号は、ネットワーク５１８を越えて通信セッションに対する他の当事者に伝達するための変調および他の必要なデータ変換のためにエンコーダ（ｅｎｃｏｄｅｒ）モジュール５１２に送信される。この処理は通信セッションの期間中継続する。したがって、各新しい通信セッションが開始されるとき、サンプル音声ファイルを用いて試験処理中に構築される初期化パラメータは、効果的で迅速なエコー除去を行うためにエコー除去モジュールによってアクセスされることができる。初期化パラメータは、構成または環境を変更しないコンピュータシステムにとってもっとも効果的である。コンピュータシステムが様々な環境にしばしば移動した状態（例えば、しばしば旅行するラップトップ（ｌａｐｔｏｐ）コンピュータユーザまたはユーザによって交互に選択される複数の周辺オーディオ機器を有するコンピュータシステム）ではユーザは、迅速なエコー除去の利点を利用するために通信セッションを開始する前にその環境に特有の新しい初期化パラメータを確立するために新しい環境で試験プログラムを実行することができる。
【００４４】
図６は、通信セッションの最初にコンピュータシステムによって行われる一連の動作を示し、その中にはエコー除去プログラムに関する初期化パラメータが以前に計算され保存されている。インスタンス化動作６０２ではオーディオアプリケーションは、コンピュータシステム上でリアルタイム音声通信セッションを行うために活性化される。ローディング（ｌｏａｄｉｎｇ）動作６０４では、以前に保存されたエコー除去パラメータが、データ記憶位置から取り出され、エコー除去モジュールに入力される。アプリケーション動作６０６ではオーディオアプリケーションは、初期化パラメータを使用するエコー除去を有効化し、すぐにキャプチャ音声信号に適用する。通信セッションが進むと、調整動作６０８は、着信音声信号内での変動を計算するために会議中に必要なエコー除去パラメータを調整し、エコー除去アルゴリズムの効果を最大限にするためにキャプチャ音声信号に影響を及ぼしうる環境を変更する。
【００４５】
図７は、ネットワークを介してリアルタイム通信セッションを行うために使用されることができ、本明細書で説明される検出技術が動作することができる例示のコンピュータシステム７００を示す。１つの実装形態では、コンピュータシステム７００はデスクトップ（ｄｅｓｋｔｏｐ）コンピュータまたはラップトップコンピュータによって具現化されることができるが、他の実装形態（例えば、ビデオゲーム機、セットトップボックス（ｓｅｔ  ｔｏｐ  ｂｏｘ）、ポータブルゲームシステム（ｐｏｒｔａｂｌｅ  ｇａｍｉｎｇ  ｓｙｓｔｅｍ）、携帯情報端末、および携帯電話）は説明された技術を組み込むことができる。典型的には、コンピュータシステム７００は少なくとも１つの処理ユニット７０２およびメモリ７０４を含む。コンピュータシステム７００の正確な構成および種類に応じてメモリ７０４は、揮発性（例えば、ＲＡＭ）、不揮発性（例えば、ＲＯＭおよびフラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ））、または両方のある組合せであってよい。コンピュータシステム７００のもっとも基本的な構成は、破線７０６によって示されるように処理ユニット７０２およびメモリ７０４だけを含む必要がある。
【００４６】
コンピュータシステム７００は、メモリ格納または取り出しのための追加の装置をさらに含むことができる。これらの装置は、リムーバブル（ｒｅｍｏｖａｂｌｅ）記憶装置７０８またはノンリムーバブル（ｎｏｎ−ｒｅｍｏｖａｂｌｅ）記憶装置７１０（例えば、磁気メディアおよび光メディア上でメモリ格納および取り出しのための磁気ディスクドライブ（ｄｉｓｋ  ｄｒｉｖｅ）、磁気テープドライブ、および光学式ドライブ）であってよい。記憶メディアは、揮発性メディアおよび不揮発性メディア、リムーバブルおよびノンリムーバブルの両方を含むことができ、いくつかの構成のうちのいずれか（例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＣＤ−ＲＯＭ、ＤＶＤ、もしくは他の光学式記憶メディア、磁気カセット、磁気テープ、磁気ディスク、もしくは他の磁気記憶装置、またはデータを格納するために使用され、処理ユニット７０２によってアクセスされることができる他の任意のメモリ技術もしくメディア）で提供されることができる。情報は、データの記憶のための任意の方法または技術（例えば、コンピュータ可読命令、データ構造、プログラムモジュール（ｐｒｏｇｒａｍ  ｍｏｄｕｌｅ））を使用して記憶メディア上に格納されることができる。
【００４７】
コンピュータシステム７００は、システム７００が他の装置と通信することを可能にする１つまたは複数の通信インターフェース７１２も有することができる。通信インターフェース７１２は、ローカルエリアネットワーク（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）（ＬＡＮ）、ワイドエリアネットワーク（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）（ＷＡＮ）、電話網、ケーブルネットワーク（ｃａｂｌｅ  ｎｅｔｗｏｒｋ）、インターネット、直接配線接続、無線ネットワーク（例えば、無線周波数、赤外線、マイクロ波、または音響）、または装置間のデータ転送を可能にする他のネットワークと接続されることができる。概してデータは、変調されたデータ信号（例えば、搬送波または他のトランスポートメディア（ｔｒａｎｓｐｏｒｔ  ｍｅｄｉｕｍ））を用いてネットワークを介して通信インターフェース７１２に送信され、通信インターフェース７１２から送信される。変調されたデータ信号は、信号内でデータをエンコードするような方法で設定または変更されることができる特徴を有する電磁波信号である。
【００４８】
コンピュータシステム７００は、様々な入力装置７１４および出力装置７１６をさらに有することができる。例示の入力装置７１４は、キーボード、マウス、タブレット（ｔａｂｌｅｔ）、タッチスクリーン（ｔｏｕｃｈ  ｓｃｒｅｅｎ）装置、スキャナ、視覚入力装置、およびマイクロホンまたは他のサウンド入力装置を含むことができる。例示の出力装置７１６は、ディスプレイモニタ、プリンタ、およびスピーカを含むことができる。この種の入力装置７１４および出力装置７１６はコンピュータシステム７００と一体化されることができる、またはそれらは配線を介してもしくは無線で（例えば、ブルートゥースプロトコル（Ｂｌｕｅｔｏｏｔｈ  ｐｒｏｔｏｃｏｌ）を介して）コンピュータシステム７００に接続されることができる。概して、これらの一体化された入力および出力装置または周辺入力および出力装置はよく知られており、本明細書ではさらに議論されない。１つの実装形態では、例えば、サンプル音声ファイルを含んでエコー除去を構成するための方法またはモジュールを実行するプログラム命令は、メモリ７０４ならびに記憶装置７０８および７１０内で具現化され、処理ユニット７０２によって実行される。例えば音声レンダリングモジュールおよび音声キャプチャモジュールによって実行される他の機能は、コンピュータシステム７００の不揮発性メモリ７０４内のオペレーティングシステムによって実行されることができる。
【００４９】
本明細書で説明された技術は、１つまたは複数のシステム内で論理動作および／またはモジュールとして実装される。論理動作は、１つまたは複数のコンピュータシステム内で実行するプロセッサ実行ステップのシーケンスとしておよび１つまたは複数のコンピュータシステム内の相互接続装置または回路モジュールとして実装されることができる。同様に、様々なコンポーネントモジュール（ｃｏｍｐｏｎｅｎｔ  ｍｏｄｕｌｅ）の説明が、モジュールによって実行されるまたは影響を及ぼされる動作に関して提供されることができる。結果として表れる実装形態は、説明された技術を実装する基本的なシステムの性能の要請に依存する、選択の問題である。したがって、本明細書で説明された技術の実施形態を構成する論理動作は、動作、ステップ、オブジェクト（ｏｂｊｅｃｔ）、またはモジュールと様々に呼ばれる。さらに、論理動作は、他の方法で明白に特許請求されないまたは特定の順序がクレーム文言によって固有に必要とされない限り任意の順序で実行されることができることは理解されよう。
【００５０】
上述の明細書、例およびデータは、本発明の例示の実施形態の構造および使用の完全な説明を提供する。本発明の様々な実施形態が、ある程度の特異性を備えて、あるいは１つまたは複数の個別の実施形態を参照して上述されているが、当業者は、本発明の精神または範囲から逸脱することなく開示された実施形態に対する多くの代替形態を作成することができる。具体的には、説明された技術はパーソナルコンピュータと無関係に使用されることができることが理解されよう。したがって、他の実施形態が企図される。上述の説明に含まれ添付図面に示されるすべての事柄は、特定の実施形態の単に例示として解釈され、限定されているものではない。詳細または構造の変更は、下記の特許請求の範囲で定義される本発明の基本的要素から逸脱することなく行われることができる。
【図面の簡単な説明】
【００５１】
【図１】複数の付属のオーディオ機器を備える例示のパーソナルコンピュータシステムを示す図である。
【図２】エコー効果を検出し、エコー除去パラメータを定義するためのコンピュータシステム内の例示のモジュールを示す図である。
【図３】キャプチャ音声信号内でのエコー効果を示す図である。
【図４】装置構成を検出するために図１のモジュールによって実行される一連の例示の動作を示す図である。
【図５】格納されたパラメータを使用してエコー除去モジュールを起動するためのコンピュータシステム内での例示のモジュールを示す図である。
【図６】エコー除去モジュールを起動するために図３のモジュールによって実行される、他の一連の例示の動作を示す図である。
【図７】リアルタイム通信セッションならびに他の音声入力および出力機能を行うための例示のコンピュータシステムを示す図である。
【図１】
2009518880.tif 000003
【図２】
2009518880.tif 000004
【図３】
2009518880.tif 000005
【図４】
2009518880.tif 000006
【図５】
2009518880.tif 000007
【図６】
2009518880.tif 000008
【図７】
2009518880.tif 000009
【国際調査報告】
2009518880.tif 000010
2009518880.tif 000011