(57)【特許請求の範囲】
【請求項１】
ａ．音響信号を生成して音響を入力する音響入力手段と、
ｂ．前記音響信号を送信する送信手段と、
ｃ．前記送信手段によって送信される前の近端側の前記音響信号、及び前記送信手段によって送信された後の遠端側の前記音響信号を時間領域から周波数領域に変換する変換手段と、
ｄ．近端側の前記音響信号と遠端側の前記音響信号とを比較する類似性測定に基づいて、エコー遅延を推定するものであって、前記エコー遅延の推定は、前記類似性測定に係る
【数１】
0006291501.tif 000019
を使用して実施され、式中、i＝１，．．．，（Ｎ−Ｋ）であり、Ｎとは、遠端側の音響信号のフレーム数であり、Ｋとは、近端側の音響信号のフレーム数である、遅延推定手段と、
ｅ．前記変換手段によって変換された前記音響信号から、エコーパラメータを推定するエコーパラメータ推定手段と、
ｆ．変換された前記音響信号におけるエコーの検証を、連続するｎ’のフレーム数の中から、推定された前記エコー遅延を有するｋ’のフレーム数を選択すること、及び、前記ｋ’と前記ｎ’との比であるｋ’／ｎ’が、閾値よりも大きい場合にエコーの存在を検証すること、により実行するエコー検証手段と、
ｇ．近端側及び遠端側の発話を検出する発話検出手段と、
ｈ．ダブルトークを検出するダブルトーク検出手段と、
を備える、音響エコーを除去するためのシステム。
【請求項２】
前記変換手段は、高速フーリエ変換を実施することが可能である、請求項１に記載のシステム。
【請求項３】
前記類似性測定は、
ａ．前記変換手段によって変換された近端側及び遠端側の前記音響信号のスペクトルを正規化する手段、及び
ｂ．近端側及び遠端側の前記音響信号に含まれる不要なスペクトルを取り除くバンドパスフィルタリングを実施するための手段、
によって実行される、請求項１又は２に記載のシステム。
【請求項４】
前記高速フーリエ変換は、１２８個のビンを使用して動作する、請求項２に記載のシステム。
【請求項５】
前記遅延推定手段は、近端側の前記音響信号及び遠端側の前記音響信号から、最近のフレームを試験及び比較することが可能である、請求項１に記載のシステム。
【請求項６】
前記エコーパラメータ推定手段は、エコー遅延の分布を示すヒストグラムを分析することを含み、前記ヒストグラムの分析は、
ａ．複数のフレームについて、モデルパラメータの統計を循環バッファ内に記憶し、
ｂ．周波数帯域を使用してエコー遅延を算出し、
ｃ．多様な分布のヒストグラムを分析し、及び
ｄ．前記多様な分布のヒストグラムに存在するエコーを引き出す、
請求項１に記載のシステム。
【請求項７】
前記発話検出手段は、連続するフレームのスペクトル変動及び推定信号電力によって、近端側及び遠端側の発話を検出する、請求項１に記載のシステム。
【請求項８】
前記ダブルトーク検出手段は、
ａ．発話が存在するとき除去されるエコーの量を制御する手段と、
ｂ．近端側及び遠端側の発話の存在を判定する手段と、
ｃ．前記類似性測定を実施する手段と、
を備える、請求項１に記載のシステム。
【請求項９】
音響エコー除去のための方法であって、
ａ．エコーモデルパラメータを初期化するステップと、
ｂ．近端側及び遠端側の発話に関する音響信号を分析するステップと、
ｃ．近端側及び遠端側の発話が検出されているか否かを判定し、近端側及び遠端側の発話が検出されていない場合、前記ステップｂを継続するステップと、
ｄ．近端側及び遠端側の発話が検出されている場合、近端側の前記音響信号と遠端側の前記音響信号とを比較する類似性測定に基づいて、エコー遅延を推定してエコーモデルを検証するステップと、
ｅ．エコーが存在するか否かを判定し、エコーが存在しない場合、プロセスを継続する前に近端側及び遠端側の発話に関する音響信号の分析を継続して、ステップｃからプロセスを反復させるステップと、
ｆ．ダブルトークが存在するか否かを判定し、ダブルトークが存在する場合、ダブルトークを有するエコーに関するパラメータを計算し、ダブルトークが存在しない場合、ダブルトークを有しないエコーに関するパラメータを計算するステップと、
ｇ．エコー減算を実施するステップと、
ｈ．エコーを追跡して前記エコーモデルを更新するステップと、
ｉ．依然としてエコーが存在するか否かを判定し、エコーが存在しない場合、ステップａからプロセスを反復させ、エコーが存在する場合、ステップｆからプロセスを反復させるステップと、
を順に含む方法。
【請求項１０】
前記ステップａは、前記音響信号の変換によってトリガされる、請求項９に記載の方法。
【請求項１１】
前記変換は、時間領域から周波数領域へと行われる、請求項１０に記載の方法。
【請求項１２】
前記変換は、高速フーリエ変換を使用して実施される、請求項１１に記載の方法。
【請求項１３】
前記ステップｂは、前記音響信号の信号レベルが閾値を満たすか否かを判定する、請求項９に記載の方法。
【請求項１４】
前記ステップｂは、前記音響信号の信号レベルが閾値よりも大きい場合に、発話が存在すると判定する、請求項９又は１３に記載の方法。
【請求項１５】
前記ステップｂは、連続するフレームのスペクトル変動及び推定信号電力を分析する、請求項９に記載の方法。
【請求項１６】
前記ステップｃは、近端発話検出器、遠端発話検出器、およびダブルトーク検出器のうちの１つ又は複数によって実施される、請求項９に記載の方法。
【請求項１７】
前記ステップｄは、前記音響信号の各フレームの距離を測定して合計するステップと、前記エコー遅延を数学的に推定するステップと、推定された前記エコー遅延を有する第１のフレーム数を、連続する第２のフレーム数の中から選択すること、及び、前記第１のフレーム数と前記第２のフレーム数との比が閾値よりも大きい場合にエコーの存在を検証すること、によって推定を検証するステップと、を含む、請求項９に記載の方法。
【請求項１８】
前記エコー遅延を数学的に推定するステップは、類似性測定に係る
【数１】
0006291501.tif 000020
を使用して実施され、式中、i＝１，．．．，（Ｎ−Ｋ）であり、Ｎとは、遠端側の音響信号のフレーム数であり、Ｋとは、近端側の音響信号のフレーム数である、請求項１７に記載の方法。
【請求項１９】
前記ステップｅは、近端側の発話に関する音響信号と遠端側の発話に関する音響信号との類似性を測定した類似性値が閾値を満たす場合に、エコーが存在すると判定する、請求項９に記載の方法。
【請求項２０】
前記ステップｆは、エコーレベルを上回る信号レベルが存在し、近端発話が存在し、かつ遠端発話が存在することを判定する、請求項９に記載の方法。
【請求項２１】
前記信号レベルは３ｄＢである、請求項２０に記載の方法。
【請求項２２】
前記ステップｇは、遠端側の前記音響信号に伝達関数を適用する、請求項９に記載の方法。
【請求項２３】
前記伝達関数は、スペクトル領域における近端側の前記音響信号と遠端側の前記音響信号との比の値である、請求項２２に記載の方法。
【請求項２４】
前記比の値は、エコー遅延の分布を示すヒストグラムを分析して、前記ヒストグラムの中から選択されるものであって、前記ヒストグラムの分析は、
ａ．複数のフレームについて、モデルパラメータの統計を循環バッファ内に記憶し、
ｂ．周波数帯域を使用してエコー遅延を算出し、
ｃ．多様な分布のヒストグラムを分析し、及び
ｄ．前記多様な分布のヒストグラムに存在するエコーを引き出す、
請求項２３に記載の方法。
【請求項２５】
自動音声認識を利用する対話型音声応答システムに適用される、請求項９に記載の方法。
【請求項２６】
前記ステップｅには、エコーが存在する場合、前記エコーをバッファリングされているフレームから遡及的に除去するステップが含まれる、請求項９に記載の方法。
【請求項２７】
ＶｏＩＰネットワークにおいて実施される、請求項９に記載の方法。
【請求項２８】
前記ステップｇにおいて、複数のエコーについての推定値が作成され減算される、請求項９に記載の方法。
【請求項２９】
ａ．音響信号を生成して音響を入力する音響入力手段と、
ｂ．前記音響信号を送信する送信手段と、
ｃ．前記送信手段によって送信される前の近端側の前記音響信号、及び前記送信手段によって送信された後の遠端側の前記音響信号を時間領域から周波数領域に変換する変換手段と、
ｄ．近端側の前記音響信号と遠端側の前記音響信号とを比較する類似性測定に基づいて、エコー遅延を推定すること、前記変換手段によって変換された前記音響信号からエコーパラメータを推定すること、及び連続するｎ’のフレーム数の中から、推定された前記エコー遅延を有するｋ’のフレーム数を選択すること、及び、前記ｋ’と前記ｎ’との比であるｋ’／ｎ’が閾値よりも大きい場合にエコーの存在を検証すること、のうちの少なくとも１つを実施する手段であって、前記エコー遅延を推定することは、前記類似性測定に係る
【数１】
0006291501.tif 000021
を使用して実施され、式中、i＝１，．．．，（Ｎ−Ｋ）であり、Ｎとは、遠端側の音響信号のフレーム数であり、Ｋとは、近端側の音響信号のフレーム数により実行される手段と、
ｅ．近端側及び遠端側の発話を検出する発話検出手段と、
ｆ．ダブルトークを検出するダブルトーク検出手段と、
を備える、通信ネットワークにわたる音響エコーを除去するためのシステム。
【請求項３０】
前記変換手段は、高速フーリエ変換を実施することが可能である、請求項２９に記載のシステム。
【請求項３１】
前記類似性測定は、
ａ．前記変換手段によって変換された近端側及び遠端側の前記音響信号のスペクトルを正規化する手段、及び
ｂ．近端側及び遠端側の前記音響信号に含まれる、不要なスペクトルを取り除くバンドパスフィルタリングを実施するための手段、によって実行される、請求項２９又は３０に記載のシステム。
【請求項３２】
前記高速フーリエ変換は、１２８個のビンを使用して動作する、請求項３０に記載のシステム。
【請求項３３】
前記エコーの遅延の推定は、近端側の前記音響信号及び遠端側の前記音響信号から、最近のフレームを試験及び比較することにより推定される、請求項２９に記載のシステム。
【請求項３４】
前記エコーパラメータを推定することは、エコー遅延の分布を示すヒストグラムを分析することを含み、前記ヒストグラムの分析は、
ａ．複数のフレームについて、モデルパラメータの統計を循環バッファ内に記憶し、
ｂ．周波数帯域を使用してエコー遅延を算出し、
ｃ．多様な分布のヒストグラムを分析し、及び
ｄ．前記多様な分布のヒストグラムに存在するエコーを引き出す、
請求項２９に記載のシステム。
【請求項３５】
前記発話検出手段は、連続するフレームのスペクトル変動及び推定信号電力によって、近端側及び遠端側の発話を検出する、請求項２９に記載のシステム。
【請求項３６】
前記ダブルトーク検出手段は、
ａ．発話が存在するとき除去されるエコーの量を制御する手段と、
ｂ．近端側及び遠端側の発話の存在を判定する手段と、
ｃ．前記類似性測定を実施する手段と、
を備える、請求項２９に記載のシステム。
【請求項３７】
ａ．近端側の音響信号及び遠端側の音響信号を時間領域から周波数領域に変換するステップと、
ｂ．エコーモデルパラメータを初期化するステップと、
ｃ．近端側及び遠端側の発話に関する前記音響信号を分析するステップと、
ｄ．近端側及び遠端側の発話の存在を検出するステップと、
ｅ．近端側の前記音響信号と遠端側の前記音響信号とを比較する類似性測定に基づいて、エコー遅延を推定してエコーモデルを検証するものであって、前記エコー遅延の推定は、前記類似性測定に係る
【数１】
0006291501.tif 000022
を使用して実施され、式中、i＝１，．．．，（Ｎ−Ｋ）であり、Ｎとは、遠端側の音響信号のフレーム数であり、Ｋとは、近端側の音響信号のフレーム数であるステップと、
ｆ．エコーの存在を検出するステップと、
ｇ．ダブルトークの存在を検出するステップと、
ｈ．ダブルトークを有するエコー及びダブルトークを有さないエコーの、少なくともいずれか一方に関するパラメータを計算するステップと、
ｉ．前記音響信号からエコーを減算するステップと、
ｊ．前記エコーモデルを更新するステップと、
ｋ．依然としてエコーが存在するか否かを判定するステップと、
を順に含む、音響エコー除去のための方法。
【請求項３８】
前記ステップｋによって、エコーが存在しないと判定されると、前記ステップａからステップｋまでのステップが反復される、請求項３７に記載の方法。
【請求項３９】
前記ステップｋによって、依然としてエコーが存在すると判定されると、前記ステップｆからステップｋまでのステップが反復される、請求項３７に記載の方法。
【請求項４０】
前記ステップａにおける前記変換は、高速フーリエ変換を使用して実行される、請求項３７に記載の方法。
【請求項４１】
前記ステップｃは、前記音響信号の信号レベルが閾値を満たすか否かを判定する、請求項３７に記載の方法。
【請求項４２】
前記ステップｃは、前記音響信号の信号レベルが閾値よりも大きい場合に、発話が存在すると判定する、請求項３７又は４１に記載の方法。
【請求項４３】
前記ステップｃは、連続するフレームのスペクトル変動及び推定信号電力を分析する、請求項３７に記載の方法。
【請求項４４】
前記ステップｄは、近端発話検出器、遠端発話検出器、およびダブルトーク検出器のうちの１つ又は複数によって実施される、請求項３７に記載の方法。
【請求項４５】
前記ステップｅは、前記音響信号の各フレームの距離を測定して合計するステップと、前記エコー遅延を数学的に推定するステップと、推定された前記エコー遅延を有する第１のフレーム数を、連続する第２のフレーム数の中から選択すること、及び、前記第１のフレーム数と前記第２のフレーム数との比が閾値よりも大きい場合にエコーの存在を検証すること、によって推定を検証するステップと、を含む、請求項３７に記載の方法。
【請求項４６】
前記ステップｆは、前記近端側の発話に関する音響信号と遠端側の発話に関する音響信号との類似性を測定した類似性値が閾値を満たす場合に、エコーが存在すると判定する、請求項３７に記載の方法。
【請求項４７】
前記ステップｇは、エコーレベルを上回る信号レベルが存在し、近端発話が存在し、かつ遠端発話が存在することを判定する、請求項３７に記載の方法。
【請求項４８】
前記信号レベルは３ｄＢである、請求項４７に記載の方法。
【請求項４９】
前記ステップｉは、遠端側の前記音響信号に伝達関数を適用する、請求項３７に記載の方法。
【請求項５０】
前記伝達関数は、スペクトル領域における近端側の前記音響信号と遠端側の前記音響信号との比の値である、請求項４９に記載の方法。
【請求項５１】
前記比の値は、エコー遅延の分布を示すヒストグラムを分析して、前記ヒストグラムの中から選択されるものであって、前記ヒストグラムの分析は、
ａ．複数のフレームについて、モデルパラメータの統計を循環バッファ内に記憶し、
ｂ．周波数帯域を使用してエコー遅延を算出し、
ｃ．多様な分布のヒストグラムを分析し、及び
ｄ．前記多様な分布のヒストグラムに存在するエコーを引き出す、
請求項５０に記載の方法。
【請求項５２】
自動音声認識を利用する対話型音声応答システムに適用される、請求項３７に記載の方法。
【請求項５３】
前記ステップｆには、エコーが存在する場合、前記エコーをバッファリングされているフレームから遡及的に除去するステップが含まれる、請求項３７に記載の方法。
【請求項５４】
ＶｏＩＰネットワークにおいて実施される、請求項３７に記載の方法。
【請求項５５】
前記ステップｉにおいて、複数のエコーについての推定値が作成され減算される、請求項３７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、遠隔通信システムおよび方法、ならびに、通信ネットワークに関する。より詳細には、本発明は、通信ネットワークにわたるエコーをなくすことに関する。
【発明の概要】
【課題を解決するための手段】
【０００２】
音響エコー除去のためのシステムおよび方法が提示される。エコーキャンセラは、たとえば、変化する環境にある複数の話者による長距離電話会議などの状況において生じる場合がある音響およびハイブリッドエコーの低減を実施する。エコー除去は、少なくとも１つの実施形態において、類似性測定、履歴値からのエコー除去パラメータの統計的判定、周波数領域操作、ダブルトーク検出、パケット損失検出、信号検出、および雑音減算に基づいてもよい。
【０００３】
一実施形態において、音響入力のための手段と、上記音響入力から音響信号を生成するための手段と、上記音響信号を送信するための手段と、上記音響信号を周波数領域に変換するための手段と、類似性測定を実施するための手段と、遅延推定を実施するための手段と、エコーパラメータ推定を実施するための手段と、統計的エコー検証を実施するための手段と、発話を検出するための手段と、ダブルトークを検出するための手段とを備える、音響エコーを除去するためのシステムが説明される。
【０００４】
別の実施形態において、音響エコー除去のための方法であって、エコーモデルパラメータを初期化するステップと、発話に関する音響を分析するステップと、発話が検出されているか否かを判定するステップであって、発話が検出されていない場合、上記発話に関する音響の分析を継続する、ステップと、発話が検出されている場合、エコー遅延を推定して上記エコーモデルを検証するステップと、エコーが存在するか否かを判定するステップであって、エコーが存在しない場合、プロセスを継続する前に発話に関する音響の分析を継続して、ステップｃからプロセスを反復する、ステップと、ダブルトークが存在するか否かを判定するステップであって、ダブルトークが存在する場合、ダブルトークを有するエコーに関するパラメータを計算し、ダブルトークが存在しない場合、通常のエコーに関するパラメータを計算する、ステップと、エコー減算を実施するステップと、エコーを追跡して上記エコーモデルを更新するステップと、依然としてエコーが存在するか否かを判定するステップであって、エコーが存在しない場合、上記方法を新たに開始し、エコーが存在する場合、ステップｆ）で開始して上記方法を反復する、ステップとを含む、方法が説明される。
【０００５】
別の実施形態において、音響入力のための手段と、上記音響入力から音響信号を生成するための手段と、上記音響信号を送信するための手段と、上記音響信号を時間領域から周波数領域に変換するための手段と、類似性測定および遅延推定、統計的エコー検証、ならびにエコーパラメータ推定のうちの１つまたは複数を実施するための手段と、発話を検出するための手段と、ダブルトークを検出するための手段とを備える、通信ネットワークにわたる音響エコーを除去するためのシステムが説明される。
【０００６】
別の実施形態において、音響信号を変換するステップと、エコーモデルパラメータを初期化するステップと、発話に関する上記音響信号を分析するステップと、発話の存在を検出するステップと、エコー遅延を推定して上記エコーモデルを検証するステップと、エコーの存在を検出するステップと、ダブルトークの存在を検出するステップと、ダブルトークを有するエコーおよびエコーのうちの少なくとも１つに関するパラメータを計算するステップと、音響信号からエコーを減算するステップと、上記エコーモデルを更新するステップと、エコーの存在が低減されるか否かを判定するステップとを含む、音響エコー除去のための方法が説明される。
【図面の簡単な説明】
【０００７】
【図１】エコーの一実施形態を示す図である。
【図２】エコーキャンセラシステムの動作の一実施形態を示す図である。
【図３】修正エコーキャンセラシステムの動作の一実施形態を示す図である。
【図４】類似性測定の一実施形態を示す図である。
【図５】類似性モジュールの構成要素の一実施形態を示す図である。
【図６】ヒストグラムの一実施形態の図である。
【図７】エコー除去プロセスの一実施形態を示す流れ図である。
【図８】収束時間の一実施形態の図である。
【図９】低〜０収束時間でのエコー除去の一実施形態の図である。
【図１０】ＶｏＩＰネットワークにわたるエコーの一実施形態を示す図である。
【発明を実施するための形態】
【０００８】
本発明の原理の理解を促進する目的のために、ここで、図面に示されている実施形態が参照され、これを説明するために特定の文言が使用される。それにもかかわらず、それによって本発明の範囲の限定は意図されていないことは理解されよう。当業者に通常想起されるような、説明されている実施形態における任意の変更およびさらなる修正、ならびに、本明細書に記載されているような本発明の原理の任意のさらなる応用が企図されている。
【０００９】
電話会議などの環境において電話呼を正確に送達するためにエコーをなくすことが所望される。電話会議などの電話呼の間にハンズフリーデバイスを使用することによって、エコーが発生する可能性がある。たとえば、遠端発呼者からの発話がスピーカフォン、またはハンズフリー携帯電話から発せられ、その後、部屋の表面から反射することによって、それ自体が反復する。この結果、エコーがもたらされる。エコーはその後、遠端マイクロフォンによって拾われる場合がある。遠端発呼者が自身の音声のエコーを聞くというフィードバックループが形成される場合がある。海外の参加者を含む電話会議などのいくつかの状況においては、１秒よりも長い遅延がもたらされている。
【００１０】
呼からエコーを削除または除去するのに失敗すると、多くの場合、通話品質が著しく劣化する結果になり得る。音響およびハイブリッド環境には変動し制御できないという性質があり、その結果として、長い遅延、エコー効果の時間依存性、エコーテール、周波数依存エコー、およびエコー歪などの、複雑なエコーパターンがもたらされる可能性がある。たとえば、以前のエコー除去手段は、一般に、ネットワーク構成に基づいて発生する可能性がある非常にレベルの低いエコーを検出することができない。
【００１１】
フィードバックを止め、明瞭な通信を可能にするために、音響エコー除去のデジタル信号処理技法が使用され得る。ＶｏＩＰネットワークなどのネットワークは、信号が最小から中程度の劣化を被ることによって、雑音が多くなることが多い。エコー除去のための手段は、雑音の存在下で動作すべきである。上記手段はまた、これらのネットワークにおいて発生する待ち時間およびパケット損失の効果を考慮に入れることが可能でもあるべきである。最後に、エコーキャンセラによって実施される動作は、信号の処理に対して顕著な遅延を一切付加することなく、効率的であるべきである。
【００１２】
エコーキャンセラ（ＥＣ）は、たとえば、ＶｏＩＰおよび公衆交換電話網（ＰＳＴＮ）などの通信ネットワークにわたって、または、電話機などのエンドポイントにおいて受信される信号からエコーをなくす信号処理動作として動作し得る。一般的に、ＥＣは、変化する環境にある話者たちによる電話会議などの設定において生じる音響およびハイブリッドエコーの低減を実施する。音響エコーは、近端話者から送信される信号が、遠端話者のマイクロフォンによって拾われ、遠端話者の信号の一部として近端話者に戻るときに発生する。近端および遠端という用語は、通常、通信ネットワークの両端において動作しているものであり得る、論議中のＥＣに対して定義される。もう１つのエコー源は、ＰＳＴＮの配線特性の変動に起因する遠端からの電気エネルギーの反射であるハイブリッドエコーであり得る。
【００１３】
エコー除去のほとんどの既存の方法は、遅延を求めるために、時間領域方法を使用するか、または、２つの信号の離散コサイン変換の相互相関を使用するかのいずれかである。少なくとも１つの実施形態において、ＥＣは、信号雑音および長い遅延の存在下でこれをよりロバストにする有効なフィルタパラメータの統計的判定を実施する。
【００１４】
エコー除去は、いくつかのシステムにおいて、専用マイクロプロセッサ、たとえば、Ｔｅｘａｓ  Ｉｎｓｔｒｕｍｅｎｔｓ  ＴＭＳ３２０Ｃ８ｘによって実行され得る。これは、このアルゴリズムが１秒あたり１千万以上の命令という量の計算を必要とするためである。しかしながら、ＶｏＩＰネットワークにおいては、システム全体がサーバまたはコンピュータ内に存在するため、マイクロプロセッサを使用することはできない。ＶｏＩＰネットワークに関して、たとえば、ＶｏＩＰネットワークが、エコー信号と関連付けられる通常の遅延の上に、それ自体の遅延を付加するか否か、劣化を増大させるおそれがある、低ビットレートコーデックによって導入される信号圧縮アーティファクト、および、パケット損失をもたらすおそれがある、ＩＰネットワークの固有の信頼性の欠如などの問題を考えなければならない。単一のサーバ上で複数インスタンス（たとえば、数百の全二重電話呼）のエコーキャンセラを同時に取り扱うことも望ましい。
【００１５】
当業者は本開示から、本明細書に開示されている様々な方法は、非常に多くの異なる形態のデータ処理機器によって実施されてもよいことを認識しよう。機器は、非限定的なほんの一例を挙げると、（１または複数の）適切なソフトウェアプログラムを実行するためのデジタルマイクロプロセッサおよび関連メモリを含んでもよい。本明細書に開示する実施形態を実施するのに使用されるハードウェア、ファームウェアおよびソフトウェアの特定の形態は、本発明にとって重要ではない。
【００１６】
図１は、全体的に１００において示す通信ネットワークにおけるエコーの一実施形態を示す図である。通信ネットワークの一例は、限定ではないが、ＶｏＩＰネットワークを含んでもよい。送信される近端信号がＴＸとして表される。エコーが付加されている、受信される遠端信号１２５がＲＸとして表される。ネットワーク１１０を通じて遠端信号１２０が進む該ネットワーク１１０は、音響エコー１１５をも送信する。ＴＸ１０５がネットワーク１１０を通じて進むとき、エコー１１５は遠端話者のマイクロフォンによって生成され、遠端話者の信号の一部として近端話者に送信される。受信される遠端発話に加えてエコー信号が存在することから、ダブルトークがもたらされ得る。したがって、受信信号１２５はエコー１１５を含む。
【００１７】
図２は、全体的に２００において示すエコーキャンセラシステムの一般的な動作の一実施形態を示す図である。近端信号２１０は、ｙ（ｎ）によって表され得、一方で、遠端信号２５０は、ｘ（ｎ）＋ｒ（ｎ）によって表され得る。近端信号２１０は、音響入力２０５においてによって生成され得、その一例は人間の発話であってもよい。望ましくないエコー２１６はｒ（ｎ）として表され得るエコーキャンセラは、送信信号ｙ（ｎ）２１０および受信信号ｘ（ｎ）＋ｒ（ｎ）２５０を使用してｒ（ｎ）を推定し、それによって、エコーキャンセラはそれを除去することができる。信号は、話者２１５からエコー経路２３０を介して進んだ後、マイクロフォンｘ（ｎ）２５５において望ましくないエコー２１６と重ね合わされ得る。遠隔デバイス２６０は、マイクロフォン２５５およびスピーカ２１５を含んでもよい。遠隔デバイス２６０はシステムにわたるエコーを生成する場合がある。
【００１８】
近端信号ｙ（ｎ）２１０は、エコーキャンセラ２００のための基準信号として利用可能であり得る。これは、エコーキャンセラ２００によって、
【数１】
0006291501.tif 000002
として表されるエコー２２５の推定値を生成するために使用され得る。エコー削除段階２４５の間に、推定エコーが遠端信号＋エコーから減算されて、送信される遠端信号２４０、すなわちｕ（ｎ）がもたらされる。したがって、エコー推定器または図示されるようなＮＬＭＳ適応フィルタ２２０が
【数２】
0006291501.tif 000003
を推定するためにｘ（ｎ）＋ｒ（ｎ）を考える必要があるとき、送信される遠端信号２４０、すなわちｕ（ｎ）は、
【数３】
0006291501.tif 000004
として表すことができる。理想的には、
【数４】
0006291501.tif 000005
として表される任意の残差信号は、信号が、エコー除去後に、その一例が受信機であってもよい音響出力２３５に達したときに非常に小さいか、または聞こえないべきである。
【００１９】
正規化最小二乗平均（ＮＬＭＳ）適応フィルタ２２０は、最小二乗平均（ＬＭＳ）アルゴリズムの変形であるアルゴリズムを利用することができ、入力信号２１０の累乗を考慮に入れることができる。ＬＭＳアルゴリズムは、最急降下の勾配ベースの方法を使用する適応的アルゴリズムであり得る。適応フィルタは、その係数を調整して、その出力と未知のシステムのそれとの間の平均二乗誤差を最小化する。エコー除去は、サンプルごとに時間領域において実施される。
【００２０】
元々送信された信号が送信信号または受信信号に再現する場合に、エコー遅延が発生する。ＶｏＩＰネットワークのエコー遅延は、様々な要因に起因して非常に大きくなる場合がある。ネットワーク経路２６５は、エコー遅延の長さに関与する１つのそのような要因の一例であり得る。ネットワーク経路２６５が長くなっていることは、エコー遅延が長くなっていることを意味し得る。１秒を超える遅延が観測されている。時間領域実施態様において、そのような長いエコー遅延によって、エコーを除去するためにＮＬＭＳフィルタ２２０は、非常に多数のタップを有する必要があることになる。そのような長いフィルタは、過度に費用がかかり推定するのが実際的ではない計算量を必要とする。
【００２１】
図３は、全体的に３００において示す修正エコーキャンセラシステムの一実施形態を示す図である。このシステムにおいて、図２に示すようなＮＬＭＳ適応フィルタ２２０は、高速フーリエ変換（ＦＦＴ）モジュール３０５ａおよび３０５ｂ、類似性測定および遅延推定モジュール３１０、統計的エコー検証モジュール３１５、およびエコーパラメータ推定モジュール３２０を含んでもよい他の構成要素に置き換えられる。図面はエコーパラメータ推定モジュール３１０、統計的エコー検証モジュール３１５、および類似性測定および遅延推定モジュール３１０を単一のモジュール３０６にともにグループ化されるものとして示しているが、これは明瞭にするために行われており、それらはそのようにともにグループ化される必要はない。本発明におけるすべての動作は、以前に図２において使用されていたような時間領域の代わりに、高速フーリエ変換（ＦＦＴ）モジュール３０５ａ、３０５ｂを使用して、信号を変換することによって、周波数領域において実施される。
【００２２】
類似性測定および遅延推定モジュール３１０は、従来のＮＬＭＳアルゴリズムよりも少ない動作を実施する類似性測定を利用する。これは、図２におけるような１秒を超える遅延を取り扱うことが可能であるようにするために、ＮＬＭＳ適応フィルタを使用するときに必要になるサンプルごとの多大な乗算および加算に代わるものである。
【００２３】
エコー遅延は、送信信号が受信信号に再現するのにかかる時間を指し得る。遅延の推定は、１秒よりも長い遅延を有するエコーを検出することができ、システムの機能が単一のコンピュータでの多くの全二重呼に対してエコー除去を実施することを可能にするアルゴリズムを使用して実施される。エコーを認識するために、少なくとも１つの実施形態において、周波数領域において遠端信号の最近のフレームが保持される。これらのフレームはＮによって表され、ここでＮ＝１００、約１．５秒の音響信号のブロックを表し得る。周波数領域で表される近端信号の最近のフレームが保持される。Ｋ、ここでＫ＝５、によって表されるこれらのフレームは、約８０ミリ秒（ｍｓ）の音響信号のブロックを表し得る。近端信号および遠端信号からの最近のＫ個のフレームＮ−Ｋの比較が、以下のように試験される。
【００２４】
【数５】
0006291501.tif 000006
ここで、ｉ＝１，．．．，Ｎ−Ｋ
【００２５】
Ｄｉｆｆ（ｉ）がｉ＝Ｉについての閾値を下回る場合、エコーが存在し、ここで、ｉは１からＮ−Ｋまで変化するインデックスを表し、ｍも、この総和に使用されるインデックスを表す。
【００２６】
図４は、全体的に４００において示す類似性測定の一実施形態を示す図である。エコー追跡挙動およびウィンドウが、統計モデルによって、観測されるエコードリフトおよび待ち時間の補正に基づいて動的に求められ得る。遅延が分かっていない場合、少なくとも１つの実施形態において、この探索はＮフレーム４１０に及び得る。非限定例において、Ｎを１００フレームとする。これは約１．５秒の信号を含み得る。エコー遅延４１５が分かると、処理を低減するために、元のＮフレーム全体の代わりに、遅延の周囲の領域が探索される。Ｄがエコー遅延を表すと仮定すると、制限された探索領域は［Ｄ−Ｍ，．．．，Ｄ＋Ｍ］まで低減され、ここで、Ｍは探索間隔を定義し、１０に等しい。これは、約１６０ｍｓの信号を含む。少なくとも１つの実施形態において、エコー遅延が見つかると、その値は±１６０ｍｓの間隔において変動し得ると仮定される。したがって、計算負荷を１／３に低減することができる。
【００２７】
類似性測定および探索領域の低減のプロセスは、周波数領域において実施され、それによって、探索される各要素は、正規化振幅周波数ベクトルを表し得る。本開示に含まれる所与のサンプル値は、電話通信に使用される８ｋＨｚのサンプリングレートを有する信号に対して機能する特定の実施態様に特異的であることが留意されるべきである。これらの値は、他のサンプリングレートに対しては調整されることになる。少なくとも１つの実施形態において、正規化振幅周波数ベクトルは、１２８個のビンにおいて表され得る。遠端発話（ＲＸ）４０５、ここでＲＸはエコーと混合した遠端信号からのＫフレームと、近端発話（ＴＸ）４１０からのＮフレームとの間の差４２０が測定され、合計される。ｊによって表されるような各フレームについて、差の式は以下によってＤｊとして定義することができる。
【００２８】
【数６】
0006291501.tif 000007
【００２９】
式中、Ｘｊ（ｋ）およびＸｊ（ｋ）はそれぞれ、フレームｊの近端信号Ｘおよび遠端信号Ｙの、ビンＫにおける振幅値である。一般性を損なうことなく、この式は以下のように書き換えることができる。
【００３０】
【数７】
0006291501.tif 000008
【００３１】
この第２の式において、Ｄｊの値は、和がより小さい要素に分割されていることを除いて、第１の式におけるものと同じである。これらの部分和は、以下の式によって表すことができる。
【００３２】
【数８】
0006291501.tif 000009
【００３３】
異なる実施形態においては異なる数の要素が存在し得るが、この事例においては３２の増分が使用される。１から１２８に及ぶ第１の式において記載されている和に代わる、ｎからｎ＋３２に及ぶ上述したような部分和が、少なくとも１つの実施形態において使用されてもよい。
【００３４】
少なくとも１つの実施形態において、類似性測度Ｓは、以下のように、部分和を累算することによって４フレームごとに計算されてもよい。
【００３５】
Ｓ＝Σｎ＝１，３３，６５，９７Ｄｊ，ｎ
【００３６】
遅延の計算に使用される類似性測度はその後、たとえば、４フレームごとに更新される。１２８回に代わって３２回の減算が都度行われるため、この小さい遅延によって、計算負荷を１／４に低減することが可能になる。
【００３７】
一実施形態において、帯域のサイズは、１２８の値について、合計４帯域で３２であってもよい。帯域サイズは、同じ１２８の合計値について８のサイズで１６帯域が選択され得るように変更されてもよい。ネットワーク内で観測されるエコーのタイプに応じて、スペクトル帯域が重なる場合がある。エコー帯域のサイズは、所望のシステム性能に基づいて増減してもよい。帯域は必ずしも隣接している必要はない。たとえば、第Ｎの帯域ごとのようなストライドも使用されてもよい。これは以下の式に示されている。
【００３８】
【数９】
0006291501.tif 000010
【００３９】
【数１０】
0006291501.tif 000011
【００４０】
図５は、全体的に５００において示す、図３からの類似性モジュール３１０の構成要素の一実施形態を示す図である。類似性モジュールは、ＲＸ５０５ａおよびＴＸ５０５ｂ信号を周波数領域に変換することができる。少なくとも１つの実施形態において、変換は、１２８ビンＦＥＴを使用して実施される。２つのスペクトルが、それらの信号レベルが異なる場合において正規化される（すなわち、両方のスペクトルベクトルの成分の和が１に等しくされる）５１０ａ、５１０ｂ。ダブルトークが存在しない倍、ＴＸ信号のエネルギーはＲＸ信号のエネルギーよりも大きい。類似性計算５１５において所望されない信号内のスペクトル領域を一切なくすためにバンドパスフィルタリングが実施される。その後、類似性値５２０がモジュールから出力される。少なくとも１つの実施形態において、類似性値、または測度５２０は、５つのＲＸおよびＴＸフレームにわたって平均される２つのスペクトルベクトル間の距離（たとえば、１２８ビン）として定義される。０．６を下回る値、ここで０．６は固定閾値であるが、少なくとも１つの実施形態においてエコーを示し得る。
【００４１】
類似性モジュールは、フレームｋ、ｋ＋２、ｋ＋５について、ｄｉｆｆ（ｉ）がこれらのフレームの特定の閾値を下回るため、エコーの存在を報告し得る。類似性モジュールはまた、フレームｋ＋１、ｋ＋３、ｋ＋４について、ｄｉｆｆ（ｉ）がこれらのフレームの特定の閾値よりも大きいため、エコーが存在しないことも報告し得る。
【００４２】
これらの振動はエコーであるとは考えられないものであり得る。エコーの存在を検証するために、統計的エコー検証モデル３１５における統計的手法は、少なくとも１つの実施形態において、連続するＮ個について、「類似性測定およびエコー遅延推定」モジュールＫによって与えられる推定遅延の場合、これらのＮ個の遅延が７５％よりも大きい比Ｋ／Ｎと正確に同じ値を有する場合、エコーがあるという過程に基づいてもよい。
【００４３】
現在のデータから最も可能性の高い仮説を引き出すためにヒストグラムが分析され、モデルパラメータのより正確な推定が可能になる。本明細書に記載する手法によって、各帯域または帯域グループについてヒストグラムを保持することによって、ただの平均遅延の代わりに、個々の周波数帯域または帯域グループにおいてエコー遅延を求めることができる。多様な分布のヒストグラムを分析することによって、複数のエコーを引き出し、首尾よく削除することができる。フィルタパラメータの変化を追跡するために履歴値が選択されることを所与として、時間変動エコーも処理することができる。一実施形態において、最近の２０フレーム（３２０ｍｓ）についてモデルパラメータの統計が循環バッファ内に記憶され、最近のデータが利用可能になるので、最も古い値が削除される。図６において、例示的な遅延分布のヒストグラムが提供される。ヒストグラムは、２０個の推定遅延の分布、および、エコーが存在するか否かが判断されるプロセスを示す。このヒストグラムは一例として提供され、限定であるようには意図されない。２０個の遅延６０５のうち１５個が１１〜１５ｍｓであることが分かるため、受信信号は、１２．５ｍｓの遅延を有するエコーを含み得る。同様に、一実施形態において、２０個の推定遅延のうち６個が同じビン内に入る場合、エコーはないか、またはＲＸ信号内にエコーはもはや存在しないと判定することができる。たとえば、２０個の遅延のうち２個が１〜５ｍｓ、６１０にあることが分かる。これは、エコーがないか、またはもはや存在しないことを示し得る。
【００４４】
少なくとも１つの実施形態において、遠端信号に適用されるべきフィルタリングの性質は、信号内に存在するエコーに類似し得るように定義される必要がある。フィルタは、スピーカ、マイクロフォン、および部屋の音響属性のモデルであり得る。システムは周波数領域において動作するため、エコーパラメータ推定３２０（図３）中に、フィルタ特性をシミュレートするために、エコーパラメータが保持され得る。
【００４５】
エコー帰還損失は、送信信号（ＴＸ）レベルと、受信信号（ＲＸ）中に存在するエコーレベルとの間の比として記述することができる。これはデシベル（ｄＢ）単位で表される。周波数ビンあたりのエコー帰還損失が分かると、エコー削除のために近端信号（ＴＸ）を、エコーに類似するようにするために適切に重み付けすることが可能になり、周波数領域において正規化伝達関数も評価しなければならない。
【００４６】
エコーの合理的な推定値を得るために信号を修正するのに使用されるフィルタは、少なくとも１つの実施形態において、エコー帰還損失および正規化伝達関数によって特徴付けられる。フレーム番号ｋの遠端信号のＦＦＴはＹによって表され得、エコー帰還損失はＥＲＬによって表され得、遠端信号と近端信号との間の正規化伝達関数は
【数１１】
0006291501.tif 000012
によって表され得る。デジタル信号処理を使用して、以下の式によって表されるＥＲＬがｄＢ単位で評価される。
【００４７】
ＥＲＬ＝２０ｌｏｇ１０（Ｘｋ／Ｙｋ）
【００４８】
式中、Ｘは近端信号のＦＦＴである。したがって、修正またはフィルタリングされた遠端信号は以下の式によって与えられる。
【００４９】
【数１２】
0006291501.tif 000013
【００５０】
遅延Ｄが考慮に入れられる場合、出力Ｕは以下のように表され得る。
【００５１】
【数１３】
0006291501.tif 000014
【００５２】
時間領域信号ｕが逆高速フーリエ変換（ＩＦＦＴ）によって得られる。
【００５３】
ｕ＝ＩＦＦＴ（Ｕ）
【００５４】
この演算の結果として、重ね合わされて先行するブロックに付加されて出力信号を形成する２５６個のサンプルの信号ブロックがもたらされる。
【００５５】
図３は付加的に、エコーキャンセラ３００の少なくとも１つの実施形態に適用されるものとしての発話検出モジュールを示す。この適用は、種々のエコーパラメータを評価すべきか否かが判定され得る前に実施されなければならない。３つの発話検出器、すなわち、ＲＸ発話検出器３３０、ＴＸ発話検出器３３５、およびダブルトーク検出器３４０が図３に示されている。発話検出は、連続したフレームのスペクトルの変動性および推定信号電力に基づく。検出器は一般に、信号レベルが特定の閾値よりも大きい場合、発話が存在すると仮定するのが合理的であるという原理をもとに設計される。信号レベルを、複数のフレームにわたるスペクトルの変動と組み合わせることによって、システムの確度およびロバスト性を増大させることが可能である。
【００５６】
ＲＸ発話検出器３３０は、エコーと遠端発話者との間で区別しない。ＲＸ発話は、遠端発話者が話していること、または、エコーが存在することを意味し得る。エコーのレベルは相対的に低いものであり得るため、ＲＸ発話検出器は、他の２つの発話検出器よりも感度が高くてもよい。ＲＸ発話が存在する場合、遠端発話レベルが遠端発話閾値よりも高いこと、または、遠端発話スペクトル変動がスペクトル変動閾値よりも大きいことを仮定することができる。これらの閾値の値は、発話検出器が、背景雑音に対する誤トリガを最小限に抑えながら、低いエコーに対してトリガするように選択されなければならない。閾値が小さすぎる場合、背景雑音がマイクロフォンによって拾われ、誤検出がもたらされる場合がある。閾値が大きすぎる場合、発話の一部またはエコーの一部が検出されない場合がある。
【００５７】
ＴＸ発話検出器３３５は、エコーの存在についての探索を実施することができる。探索は、近端発話者の活動によってトリガされ得る。近端発話が存在する場合、近端発話レベルが近端発話閾値よりも高いこと、または、近端発話スペクトル変動がスペクトル変動閾値よりも大きいことを仮定することができる。この閾値は、遠端発話の閾値よりも高い値を有し得る。
【００５８】
ダブルトーク検出器３４０は、遠端および近端野療法の発話が存在するか否かを判定することができる。もはや有効であると期待されない類似性計算に基づいてパラメータが変化しないように、エコーの存在下でダブルトークを正確に検出することが必要である。ダブルトーク検出によって、少なくとも１つの実施形態において、発話が存在するときに削除されるエコーの量を制御することが可能である。エコーを超える３ｄＢの信号が、通常、ダブルトークの指標として考慮される。遠端発話が存在し、近端発話が存在し、かつ、遠端発話のレベルがエコーレベルに３ｄＢを加えた値よりも大きい場合、ダブルトークが存在すると仮定される。
【００５９】
エコーの音量が大きいため検出の信頼性が低減するおそれがある状況を考慮に入れるため、ＴＸと適当な遅延を有するＲＸとの間の類似性を測定するための類似性測定もシステム内に追加される。たとえば、電話会議において第１の発話者が話しているときなどに、２つの明瞭に異なるエコーレベルが存在する場合がある。発話者１は大きい音量で話しているものであり得、したがって、それらは高いエコーレベルを有し得る。発話者２はより小さい音量で話しているものであり得、したがって声が小さくなる結果として、エコーレベルが、発話者１が有し得るよりも小さくなり得る。したがって、ダブルトークの存在下では、類似性値は、エコーのみがある場合により高い。少なくとも１つの実施形態において、３ｄＢの制約に加えて０．６５〜０．８５の類似性値のヒステリシスが、ダブルトークの検証に使用される。
【００６０】
図７に示すように、全体的に７００において示す、エコー除去のためのプロセス７００の一実施形態が提供される。プロセスは、システム３００（図３）の要素のいずれかまたはすべてにおいて動作可能であってもよい。エコー除去自体は以下のような、周波数領域における、近端信号と推定エコーとの間の減算として定義され得る。
【００６１】
【数１４】
0006291501.tif 000015
【００６２】
式中、
【００６３】
【数１５】
0006291501.tif 000016
【００６４】
ステップ７０５において、エコーモデルパラメータが初期化される。たとえば、初期化は、信号が、ＦＦＴを使用して時間領域から周波数領域へと変換されることによってトリガされてもよい。制御はステップ７１０に引き継がれて、プロセス７００は継続する。
【００６５】
ステップ７１０において、発話の存在について音響が分析される。制御はステップ７１５に引き継がれて、プロセス７００は継続する。
【００６６】
ステップ７１５において、発話が検出されたか否かが判定される。発話が検出されたと判定される場合、制御はステップ７２０に引き継がれて、プロセス７００は継続する。発話が検出されなかったと判定される場合、制御はステップ７１０に戻って引き継がれて、プロセス７００は継続する。
【００６７】
ステップ７１５における判定は、任意の適切な基準に基づいて行われてもよい。たとえば、発話検出は、（図３において上述したような）ＴＸ発話検出器、ＲＸ発話検出器、およびダブルトーク検出器によって実施される。検出器は一般に、信号レベルが特定の閾値よりも大きい場合、発話が存在すると仮定するのが合理的であるという原理をもとに設計される。これらの閾値の値は、エコーキャンセラの一般的な使用事例から収集されるデータの分析から慎重に選択されなければならない。閾値が小さすぎる場合、背景雑音がマイクロフォンによって拾い上げられ、誤検出がもたらされる場合がある。閾値が大きすぎる場合、発話の一部またはエコーの一部が検出されない場合がある。近端発話が存在する場合、近端発話レベルが近端発話閾値よりも高いこと、または、近端発話スペクトル変動がスペクトル変動閾値よりも大きいことを仮定することができる。遠端発話が存在する場合、遠端発話レベルが遠端発話閾値よりも高いこと、または、遠端発話スペクトル変動がスペクトル変動閾値よりも大きいことを仮定することができる。この閾値は、近端発話の閾値よりも高い値を有し得る。
【００６８】
ステップ７２０において、エコー遅延が推定され、エコーモデルが検証される。たとえば、上述したようなアルゴリズムが使用されて、遅延が推定される。エコーモデルの検証は統計的であり、連続するＮ個について、これらのＮ個の遅延のうち、「類似性測定およびエコー遅延推定」モジュールＫによって与えられる推定遅延が７５％よりも大きい比Ｋ／Ｎと正確に同じ値を有する場合、エコーがあるという仮定に基づいてもよい。制御はステップ７２５に引き継がれて、プロセス７００は継続する。
【００６９】
ステップ７２５において、エコーが存在するか否かが判定される。エコーが存在すると判定される場合、制御はステップ７３０に引き継がれて、プロセス７００は継続する。エコーが存在しないと判定される場合、制御はステップ７１０に戻って引き継がれて、プロセス７００は継続する。
【００７０】
ステップ７２５における判定は、任意の適切な基準に基づいて行われてもよい。たとえば、上述したような統計的分析とともに、上述したようなアルゴリズムが使用されて、エコーが検出されるか否かが判定されてもよい。
【００７１】
ステップ７３０において、ダブルトークが存在するか否かが判定される。ダブルトークが存在すると判定される場合、制御はステップ７３５に引き継がれて、プロセス７００は継続する。ダブルトークが存在しないと判定される場合、制御はステップ７４０に引き継がれて、プロセス７００は継続する。
【００７２】
ステップ７３０における判定は、任意の適切な基準に基づいて行われてもよい。たとえば、ダブルトークの間、遠端の人が発話しているときに信号の任意の劣化を回避するために、推定エコー
【数１６】
0006291501.tif 000017
に減衰係数α、ここで０＜α＜１、が乗算されてもよく、このとき、出力は以下によって定義される。
【００７３】
【数１７】
0006291501.tif 000018
【００７４】
定数αは、ダブルトークの間に削除されるエコーの量を制御することができる。α＝０の場合、ダブルトークの間にエコーはまったく削除されず、これは概して、ほとんどのシステムにおけるダブルトークの間に当てはまる。ダブルトークの間のα＝０．５および他のときの１のシステム値によって、システムにわたるより良好な制御が可能になる。少なくとも１つの実施形態において、エコーレベルの上の３ｄＢの信号レベルがダブルトークの指標として考慮される。遠端発話が存在し、近端発話が存在し、かつ、遠端発話のレベルがエコーレベル＋３ｄＢよりも大きい場合、ダブルトークが存在すると仮定される。ダブルトークの間に削除されるエコーの量を変更する理由は、エコー削除後に信号内で聞こえるアーティファクトを回避または低減するためである。
【００７５】
ステップ７３５において、ダブルトークの存在下におけるエコーについてのパラメータが計算される。制御はその後ステップ７４５に引き継がれて、プロセス７００は継続する。
【００７６】
ステップ７４０において、ダブルトークの不在下におけるエコーについてのパラメータが計算される。制御はその後ステップ７４５に引き継がれて、プロセス７００は継続する。
【００７７】
ステップ７４５において、エコー減算が実施される。遅延が正確に求められると、ＲＸ信号に伝達関数を適用することによって、エコーが除去される。伝達関数は周波数（スペクトル）領域におけるＴＸ信号とＲＸ信号との比であり、（ＴＸ／ＲＸ）として表すことができる。
【００７８】
この比はヒストグラムから、最も可能性の高い遅延値に対応するものを選択することによって得られる。図６は、全体的に６００において示すヒストグラムの一実施形態である。少なくとも１つの実施形態において、エコー除去は、長い遅延および複数のエコーに対してより効果的である統計的手法を使用して、周波数領域において実施される。周波数領域において実施することによって、フィルタ係数を計算するための多大な計算を利用する適応フィルタリング、および、フィルタ係数に収束するための整定時間に加えての、エコーを完全に削除するための他の非線形演算の必要がなくなる。制御はステップ７５０に引き継がれて、プロセス７００は継続する。
【００７９】
ステップ７５０において、エコーが追跡されて、エコーモデルが更新される。制御はステップ７５５に引き継がれて、プロセス７００は継続する。
【００８０】
ステップ７５５において、エコーが依然として存在するか否かが判定される。エコーが依然として存在すると判定される場合、制御はステップ７３０に戻って引き継がれて、プロセス７００は継続する。エコーが存在しないと判定される場合、制御はステップ７０５に戻って引き継がれて、プロセス７００は継続する。
【００８１】
ステップ７５５における判定は、上述したような方法のように、任意の適切な基準に基づいて行われてもよい。制御がステップ７０５に戻って引き継がれると、エコーモデルにおけるパラメータがリセットされ、プロセスは継続する。
【００８２】
少なくとも１つの実施形態において、エコー除去は、自動音声認識（ＡＳＲ）を利用する対話型音声応答（ＩＶＲ）システムにおいて必要とされる。発呼者に対して再生されているプロンプトからのエコーがＡＳＲエンジン内の発話検出器をトリガしてしまうのを防止するために、エコー除去が重要な役割を果たす。エコーが存在する場合、誤った割り込みが繰り返される結果となり、したがってユーザ体験が不満足なものになってしまう。そのようなエコーは、除去されない場合、システムによって、誤った対話をトリガする可能性があるユーザからの応答として理解される可能性がある。
【００８３】
図８は、全体的に８００において示すエコーキャンセラにおける収束時間８０５の一実施形態の図である。収束中、エコー信号８１０のレベルは依然として相対的に高いため、これがＡＳＲエンジンの発話検出器をトリガする可能性があり、エコーがユーザからの応答と混同される。これが発生するのを防止するために、一実施形態において、エコーキャンセラの出力が、エコーの存在を検出するのに必要とされる予測フレーム数（収束時間）だけ遅延される。エコーが検出される場合、エコーは、その後ＡＳＲエンジンに出力される、バッファリングされているフレームから遡及的に削除される。本発明における収束時間は短いため、導入される遅延が、音声会話のユーザ体験を著しく損なうことはない。遅延の知覚をさらに低減するために、少なくとも１つの実施形態は、ＡＳＲエンジン内の発話検出器からの情報の代わりに、エコーキャンセラの状態情報から本発明によって導出される発話活動信号に基づいてプロンプト（「割り込み」）を停止する。別の実施形態において、エコーが遡及的に削除されたバッファが、後続の発話フレームに対する遅延を低減またはなくすために、リアルタイムよりも速く下流の消費者（ＡＳＲエンジンなど）に供給されてもよい。
【００８４】
図９は、全体的に９００において示す、低〜０収束時間でのエコー除去の一実施形態の例示的な図である。出力全体が、図示されているようにより均一になり得る。少なくとも１つの実施形態において、収束時間を反映するＴの値は１５０ｍｓに等しい。
【００８５】
少なくとも１つの実施形態において、ＰＳＴＮネットワークにわたる音響エコーは一般に、５００ｍｓよりも長い遅延を示さない。しかしながら、ＶｏＩＰネットワークにおいて、遅延はそれよりも長くなる可能性がある。図１０は、全体的に１０００において示す、ＶｏＩＰネットワークにわたるエコー、および、２つの電話機１００５ａ、１００５ｂ間の通信の一実施形態を示す。音響信号はネットワーク１０１５を通過して、電話機１００５ａと電話機１００５ｂとの間を進む。ネットワーク１０１５はまた、限定ではないが、コンピュータ１０１０ａ、１０１０ｂのような、他のデバイスにも接続されてもよい。デバイスの他の例は、サーバ、ファクシミリ機などを含んでもよい。ネットワークは、パケット損失１０２５、遅延１０３０、およびジッタ１０３５のような、音響に対するそれ自体の外乱１０２０を導入する。
【００８６】
遅延１０３０は、データビットがネットワークにわたって一点からもう一点へと進むのにかかり得る時間量を指定する。いくつかの他の遅延源は、処理遅延、待ち行列遅延、送信遅延、および伝搬遅延を含み得る。処理遅延は、ルータがパケットを処理するのにかかる時間であり得る。待ち行列遅延は、パケットがルーティング待ち行列において過ごす時間であり得る。送信遅延は、パケットをリンク上に押し出すのにかかる時間であり得る。伝搬遅延は、信号がその宛先に達するための時間であり得る。合計遅延を表すこれらすべての遅延の和が、実際のエコー遅延に付加されて、ネットワークにわたる最終的なエコー遅延が形成され得る。引き起こされる合計遅延は１秒を優に超える場合がある。本発明は、１秒よりもはるかに長い遅延に対処することができる。
【００８７】
ネットワーク１０１５によって導入される別の外乱が、ジッタ１０３５によって引き起こされる。少なくとも１つの実施形態において、ジッタ１０３５は、エコーキャンセラアルゴリズムによって分かる遅延に大幅な変動を導入する可能性がある、ネットワークにわたる待ち時間の変動の測度となる。ジッタ１０３５によって導入されるこれらの遅延の突然の変動は対処するのが困難であり、それによってアルゴリズムが一時的にエコーを見失ってしまう可能性がある。エコー遅延の探索間隔メカニズムによって、非常に長い遅延を有するエコーの処理、および、エコーが見つかった後にジッタ１０３５の影響を補償する制約された探索が可能になる。エコーが見つかった場合、エコーの探索は±２５０ｍｓの間隔にわたって行われ得る。ジッタ１０３５またはネットワーク１０１５にわたる待ち時間の変動が±２５０ｍｓよりも大きい場合、エコー遅延の探索は１．５秒の間隔内に再開することになる。
【００８８】
ネットワークによって引き起こされるもう１つの一般的な信号劣化はパケット損失１０３０である。パケット損失１０３０は、ネットワーク１０１５にわたって進む１つまたは複数のデータパケットがそれらの宛先に達することができないときに発生し得る。パケット損失１０３０は、多経路フェーディング、チャネル混雑によるパケットドロップ、または輸送中に拒絶されるパケット破損に起因する、ネットワークにわたる信号劣化などのいくつかの要因によって引き起こされる可能性がある。
【００８９】
パケット損失１０３０に対処するために、エコー検出プロセスはロバストである必要があり、単一の類似性測定のみに依拠することはできない。少なくとも１つの実施形態において、ヒストグラム方法による統計の使用によって、いくつかのデータフレームにわたって蓄積された情報に基づいて意思決定が実施されるため、システムはパケット損失に対してロバストになる。パケット損失によって影響を受け得る探索ウィンドウ内のいくつかのフレームは、一般的に、システムがエコーを見失う点まで統計を変化させることはない。
【００９０】
少なくとも１つの実施形態において、種々の履歴における類似性およびモデルパラメータ計算は、先行する瞬間において重なり合っているフレームに対して以前の部分値を利用する。エコーが存在する場合にのみ、正確な遅延値が計算される。エコーが求められており、エコー特性が経時的に変化しないと、ロックされている遅延推定値を用いて依然としてエコー除去が実施される必要はあるが、遅延判定に必要とされる計算は繰り返されない。エコー特性が経時的に変化する場合、ＥＣは遅延推定値をロック解除して、新たな一連のモデルパラメータが評価される。エコーが消失することによって、モデルパラメータがリセットさせられることになり、エコーキャンセラは動作の数を自動的に低減することになる。これらの最適化によって、ＥＣによって実施される計算動作の数が相当に低減する。
【００９１】
他の実施形態において、複数のエコーが受信信号（ＲＸ）中に存在する場合、遅延ヒストグラムは複数のピークを有する。これらの別個のエコーに対する推定値が作成され得、それらが同じように順に減算され得る。エコー帯域が重なり合っていると、エコー除去の、他のエコー除去による歪を回避するために、別個の伝達関数が融合される必要があり得る。
【００９２】
少なくとも１つの実施形態において、近端信号および遠端信号が特定の領域に集中したスペクトル濃度を有する場合、類似性計算は、対象の帯域に焦点を当てることによって最適化され得る。これによって、遠端チャネル全体にわたる類似性計算の反復性が高いことによる計算オーバヘッドが大幅に低減し、これは、長い遅延の探索が行われるときに非常に重要になり得る態様である。
【００９３】
本発明が図面および上記の説明において詳細に図示および説明されてきたが、これは例示と考えられるべきであり、文字通りに限定されると考えられるべきではなく、好ましい実施形態のみが図示および説明されていること、ならびに、本明細書においてかつ／または添付の特許請求の範囲によって説明されているような本発明の精神の範疇に入るすべての均等形態、変形形態、および変更形態が保護されることが所望されていることが理解される。
【００９４】
したがって、本発明の適切な範囲は、すべてのそのような変更形態および図面に示され明細書に記載されているものと均等なすべての関係を包含するように、添付の特許請求の範囲の最も広い解釈のみによって判断されるべきである。
【００９５】
本明細書において２つの非常に狭い特許請求の範囲が提示されているが、本発明の範囲は、その特許請求の範囲によって提示されているよりもはるかに広いことが認識されるべきである。本出願からの優先権の利益を主張する特許出願において、より広い特許請求の範囲が提出されることが意図されている。
【図１】
0006291501.tif 000023
【図２】
0006291501.tif 000024
【図３】
0006291501.tif 000025
【図４】
0006291501.tif 000026
【図５】
0006291501.tif 000027
【図６】
0006291501.tif 000028
【図７】
0006291501.tif 000029
【図８】
0006291501.tif 000030
【図９】
0006291501.tif 000031
【図１０】
0006291501.tif 000032