(57)【要約】本発明は、パケット・ネットワーク内でエコーを検出し、抑制する方法および装置を含む。一実施形態による方法は、基準パケット・ストリームのパケットから音声コーディング・パラメータを抽出するステップと、ターゲット・パケット・ストリームのパケットから音声コーディング・パラメータを抽出するステップと、基準パケット・ストリームの音声コーディング・パラメータおよびターゲット・パケット・ストリームの音声コーディング・パラメータを処理することによって、ターゲット・パケット・ストリームの音声内容が基準パケット・ストリームの音声内容に類似するかどうかを判定するステップと、ターゲット・パケット・ストリームの音声内容が基準パケット・ストリームの音声内容に類似するかどうかに関する判定に基づいて、ターゲット・パケット・ストリームが基準パケット・ストリームのエコーを含むかどうかを判定するステップとを含む。
2011515881.tif 000002
【特許請求の範囲】
【請求項１】
ターゲット・パケット・ストリームのターゲット・パケットから音声コーディング・パラメータを抽出するステップと、
基準パケット・ストリームの基準パケットから音声コーディング・パラメータを抽出するステップと、
前記ターゲット・パケットの前記音声コーディング・パラメータおよび前記基準パケットの前記音声コーディング・パラメータを処理することによって、前記ターゲット・パケット・ストリームの音声内容が前記基準パケット・ストリームの音声内容に類似するかどうかを判定するステップと、
前記ターゲット・パケット・ストリームの前記音声内容が前記基準パケット・ストリームの音声内容に類似するかどうかに関する前記判定に基づいて、前記ターゲット・パケット・ストリームが前記基準パケット・ストリームのエコーを含むかどうかを判定するステップとを含む、パケットベースの通信ネットワークでエコーを検出する方法。
【請求項２】
前記ターゲット・パケット・ストリームが前記基準パケット・ストリームのエコーを含むという判定に応答して、ターゲット・パケット・ストリームの前記エコーを抑制するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記ターゲット・パケット・ストリームの音声内容が前記基準パケット・ストリームの音声内容に類似するかどうかを判定するステップは、
（ａ）前記ターゲット・パケット・ストリームの前記ターゲット・パケットのうちでスライディング・ウィンドウに関連する連続するパケットのセットからＬＳＰのセットを抽出するステップと、
（ｂ）前記基準パケット・ストリームの前記基準パケットのうちの連続するパケットのＫ個のセットからＬＳＰのＫ個のセットを抽出するステップと、
（ｃ）前記ターゲット・パケット・ストリームからのＬＳＰの前記セットを前記基準パケット・ストリームからのＬＳＰの前記Ｋ個のセットのそれぞれと比較するステップと、
（ｄ）前記ターゲット・パケット・ストリームからのＬＳＰの前記セットの前記基準パケット・ストリームからのＬＳＰの前記Ｋ個のセットのそれぞれとの前記比較を使用して、前記ターゲット・パケット・ストリームの音声内容が前記基準パケット・ストリームの音声内容に類似するかどうかを判定するステップとを含む、請求項１に記載の方法。
【請求項４】
前記ターゲット・パケット・ストリームからのＬＳＰの前記セットを前記基準パケット・ストリームからのＬＳＰの前記Ｋ個のセットのそれぞれと比較するステップ（ｃ）は、
（ｃ１）前記基準パケット・ストリームからのＬＳＰの前記Ｋ個のセットのうちの１つを選択するステップと、
（ｃ２）前記ターゲット・パケットからのＬＳＰの前記セットと前記基準パケット・ストリームからのＬＳＰの前記Ｋ個のセットのうちの前記選択された１つとの距離値を計算するステップと、
（ｃ３）前記基準パケット・ストリームからのＬＳＰの前記Ｋ個のセットのそれぞれについてステップ（ｃ１）〜（ｃ２）を繰り返すステップと、
（ｃ４）前記距離値のうちの少なくとも１つをＬＳＰ類似性しきい値と比較するステップと、
（ｃ５）前記距離値のうちの少なくとも１つが前記ＬＳＰ類似性しきい値を満足することの判定に応答して、前記ターゲット・パケット・ストリームの音声内容と前記基準パケット・ストリームの音声内容との間の類似性を識別するステップとを含む、請求項３に記載の方法。
【請求項５】
前記ターゲット・パケット・ストリームの音声内容が前記基準パケット・ストリームの音声内容に類似するかどうかに関する前記判定は、レート／パターン・マッチング、レート／タイプ・マッチング、および音量比較のうちの少なくとも１つを使用して実行される、請求項１に記載の方法。
【請求項６】
レート／パターン・マッチングは、
前記ターゲット・パケット・ストリームの前記ターゲット・パケットのうちでスライディング・ウィンドウに関連する連続するパケットのセットから音声コーディング・パラメータのセットを抽出するステップと、
前記基準パケット・ストリームの前記基準パケットのうちの連続するパケットのＫ個のセットから音声コーディング・パラメータのＫ個のセットを抽出するステップと、
前記ターゲット・パケットおよび前記基準パケットのそれぞれを比較可能または比較不能として分類するステップとを含み、前記ターゲット・パケットおよび前記基準パケットは、前記めいめいのパケットから抽出されたパケット・レート情報を使用して分類され、さらに、
比較不能として分類されたパケットから抽出された音声コーディング・パラメータを無視しながら、前記ターゲット・パケット・ストリームからの音声コーディング・パラメータの前記セットを前記基準パケット・ストリームからの音声コーディング・パラメータの前記Ｋ個のセットのそれぞれと比較するステップと、
前記ターゲット・パケット・ストリームからの音声コーディング・パラメータの前記セットの前記基準パケット・ストリームからの音声コーディング・パラメータの前記Ｋ個のセットのそれぞれとの前記比較を使用して、前記ターゲット・パケット・ストリームの音声内容が前記基準パケット・ストリームの音声内容に類似するかどうかを判定するステップとを含む、請求項５に記載の方法。
【請求項７】
レート／タイプ・マッチングは、
前記ターゲット・パケット・ストリームの前記ターゲット・パケットのうちの連続するパケットのセットの前記ターゲット・パケットのそれぞれを、前記パケットのレートおよび前記パケットのタイプを使用して分類するステップと、
前記基準パケット・ストリームの前記基準パケットのうちの連続するパケットのＫ個のセットの前記ターゲット・パケットのそれぞれを、前記パケットのレートおよび前記パケットのタイプを使用して分類するステップと、
基準パケットの前記Ｋ個のセットのそれぞれについて、
前記ターゲット・パケットのパケット・カテゴリを基準パケットのそのセットの前記基準パケットのパケット・カテゴリと比較し、
ターゲット・パケットのパケット・カテゴリの基準パケットのパケット・カテゴリとの各比較に関連する重みを判定し、
前記めいめいの比較の前記重みを合計することによって、レート／タイプ・マッチング値を計算し、
前記レート／タイプ・マッチング値をレート／タイプ・マッチングしきい値と比較する、ことを実行するステップとを含む、請求項５に記載の方法。
【請求項８】
前記音量比較技法は、
前記ターゲット・パケット・ストリームの前記ターゲット・パケットのうちの連続するパケットのセットから音量値のセットを抽出するステップと、
前記基準パケット・ストリームの前記基準パケットのうちの連続するパケットのＫ個のセットから音量値のＫ個のセットを抽出するステップと、
前記ターゲット・パケットからの音量値の前記セットおよび基準パケットの前記Ｋ個のセットからの音量値の前記複数のセットを使用してＫ個の音量比較値を計算するステップと、
前記Ｋ個の音量比較値のそれぞれを音量しきい値と比較するステップとを含む、請求項５に記載の方法。
【請求項９】
ターゲット・パケット・ストリームのターゲット・パケットから音声コーディング・パラメータを抽出する手段と、
基準パケット・ストリームの基準パケットから音声コーディング・パラメータを抽出する手段と、
ターゲット・パケットの音声コーディング・パラメータおよび基準パケットの音声コーディング・パラメータを処理することによって、ターゲット・パケット・ストリームの音声内容が基準パケット・ストリームの音声内容に類似するかどうかを判定する手段と、
ターゲット・パケット・ストリームの音声内容が基準パケット・ストリームの音声内容に類似するかどうかに関する判定に基づいて、ターゲット・パケット・ストリームが基準パケット・ストリームのエコーを含むかどうかを判定する手段とを含む、パケットベースの通信ネットワークでエコーを検出する装置。
【請求項１０】
コンピュータによって実行される時に前記コンピュータにパケットベースの通信ネットワークでエコーを検出する方法を実行させる命令を格納するコンピュータ可読媒体であって、前記方法が、
ターゲット・パケット・ストリームのターゲット・パケットから音声コーディング・パラメータを抽出するステップと、
基準パケット・ストリームの基準パケットから音声コーディング・パラメータを抽出するステップと、
ターゲット・パケットの音声コーディング・パラメータおよび基準パケットの音声コーディング・パラメータを処理することによって、ターゲット・パケット・ストリームの音声内容が基準パケット・ストリームの音声内容に類似するかどうかを判定するステップと、
ターゲット・パケット・ストリームの音声内容が基準パケット・ストリームの音声内容に類似するかどうかに関する判定に基づいて、ターゲット・パケット・ストリームが基準パケット・ストリームのエコーを含むかどうかを判定するステップとを含む、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークの分野に関し、より具体的には、エコー検出およびエコー抑制に関する。
【背景技術】
【０００２】
パケットベースの音声テクノロジが成熟したので、サービス・プロバイダは、運営上の出費を減らすためにパケットベースの音声実施態様を実施し始めた。音声呼中に、呼の当事者は、音声呼の最遠端部でのエコーに起因して彼自身の声を聞く場合がある。そのようなエコーの可能性は、音声呼の当事者が、スピーカホンなどのハンズフリー通信機能を使用する時に高まる。そのようなエコーを除去するための最も一般的な手法は、アコースティック・エコー・キャンセレーション（ＡＥＣ）である。時分割多重（ＴＤＭ）ネットワークでのアコースティック・エコー・キャンセレーションは、よく開発されているが、不利なことに、現在、Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＶｏＩＰ）ネットワークなどのパケット・ネットワークでアコースティック・エコー・キャンセレーションを実行する、認められた形はない。さらに、アコースティック・エコーの問題は、ネットワーク・パケット遅延がパケットごとに大きく変化する可能性があるのでパケット・ネットワークによって、ならびに、パケット・ネットワークでの通常のパケット伝搬待ち時間がＴＤＭネットワークと比較して大幅に増えたという事実によって、悪化してきた。
【発明の概要】
【課題を解決するための手段】
【０００３】
従来技術の様々な不足は、パケット・ネットワーク内でエコーを検出し、抑制する方法および装置という本発明を介して対処される。一実施形態による方法は、基準パケット・ストリームのパケットから音声コーディング・パラメータを抽出するステップと、ターゲット・パケット・ストリームのパケットから音声コーディング・パラメータを抽出するステップと、基準パケット・ストリームの音声コーディング・パラメータおよびターゲット・パケット・ストリームの音声コーディング・パラメータを使用することによって、ターゲット・パケット・ストリームの音声内容が基準パケット・ストリームの音声内容に類似するかどうかを判定するステップと、ターゲット・パケット・ストリームの音声内容が基準パケット・ストリームの音声内容に類似するかどうかに関する判定に基づいて、ターゲット・パケット・ストリームが基準パケット・ストリームのエコーを含むかどうかを判定するステップとを含む。
【０００４】
本発明の教示は、添付図面と共に次の詳細な説明を検討することによってすぐに理解することができる。
【図面の簡単な説明】
【０００５】
【図１】本発明のエコー検出機能およびエコー抑制機能が通信ネットワーク内で実施される、通信ネットワークを示す高水準ブロック図である。
【図２】図１の音声呼の伝送の一方向についてエコー検出およびエコー抑制を提供する、図１の音声呼の表現を示す図である。
【図３】本発明の一実施形態による、エコーを検出し、抑制する方法を示す図である。
【図４】本発明の一実施形態による、ターゲット音声内容と基準音声内容との間の類似性を判定する方法を示す図である。
【図５】本発明の一実施形態による、ターゲット音声内容と基準音声内容との間の類似性を判定する方法を示す図である。
【図６】ターゲット・パケット・ストリームの音声パケットと基準パケット・ストリームの音声パケットとの間の関係を示す高水準ブロック図である。
【図７】レート・パターン・マッチング処理を説明する、レート・パターン・マッチングの例を示す図である。
【図８】本発明のエコー検出機能およびエコー抑制機能がエンド・ユーザ端末内で実施される、通信ネットワークを示す高水準ブロック図である。
【図９】本発明のエコー検出機能およびエコー抑制機能がエンド・ユーザ端末内で実施される、通信ネットワークを示す高水準ブロック図である。
【図１０】本明細書に記載の機能を実行する際の使用に適する汎用コンピュータを示す高水準ブロック図である。
【発明を実施するための形態】
【０００６】
理解を容易にするために、可能な場合には、複数の図面に共通する同一の要素を指定するのに、同一の符号を使用した。
【０００７】
本発明は、音声内容がボコーダ・パケットを使用してエンド・ユーザ端末の間で伝えられるパケット・ネットワークでのエコー検出およびエコー抑制を提供する。ボコーダは、通常はエンコーダおよびデコーダを含むが、ボイスキャリー・パケット（ｖｏｉｃｅ−ｃａｒｒｙ  ｐａｃｋｅｔ）から抽出された音声コーディング・パラメータを使用して、パケット・ネットワークを介して音声内容を伝える。エンコーダは、入ってくる音声情報を音声セグメントにセグメント化し、音声セグメントを分析して音声コーディング・パラメータを判定し、音声コーディング・パラメータをビット表現に量子化し、ビット表現をエンコードされた音声パケットにパックし、パケットを伝送フレームにフォーマットし、パケット・ネットワークを介して伝送フレームを送信する。デコーダは、パケット・ネットワークを介して伝送フレームを受信し、伝送フレームからパケットを抽出し、ビット表現をアンパックし、ビット表現を逆量子化して音声コーディング・パラメータを回復し、音声コーディング・パラメータから音声セグメントを再合成する。
【０００８】
本発明を使用すると、基準パケット・ストリームのエンコードされた音声パケットに含まれる音声内容の音声コーディング・パラメータは、基準パケット・ストリームのエンコードされた音声パケットから抽出され、ターゲット・パケット・ストリームのエンコードされた音声パケットに含まれる音声内容の音声コーディング・パラメータは、ターゲット・パケット・ストリームのエンコードされた音声パケットから抽出され、抽出された音声コーディング・パラメータは、基準パケット・ストリームの音声内容とターゲット・パケット・ストリームの音声内容との間の類似性を識別するために処理され、エコーが検出されるか否かに関する判定が、ターゲット・パケット・ストリームの音声内容と基準パケット・ストリームの音声内容との間の類似性の識別に基づいて実行される。本発明を使用すると、ターゲット・パケット・ストリームに関連するエコー・パス遅延（ｅｃｈｏ  ｐａｔｈ  ｄｅｌａｙ）（基準パケット・ストリームとターゲット・パケット・ストリームとの間の時間におけるオフセットを示す）を、エコー検出プロセスの副産物として自動的に判定することができる。
【０００９】
図１に、通信ネットワークの高水準ブロック図を示す。具体的に言うと、図１の通信ネットワーク１００は、エンド・ユーザ端末１０３Ａを使用するエンド・ユーザＡとエンド・ユーザ端末１０３Ｚ（集合的に、エンド・ユーザ端末１０３）を使用するエンド・ユーザＺとの間の通信を容易にするパケット・ネットワーク１０２を含む。具体的に言うと、パケット・ネットワーク１０２は、エンド・ユーザＡとエンド・ユーザＺとの間の音声呼をサポートする。パケット・ネットワーク１０２は、音声内容をエンコードされた音声パケットとしてエンコードし、パケット・ネットワーク１０２を介してエンコードされた音声パケットを送信することによって、音声内容を伝える（エンド・ユーザＡからエンド・ユーザＺへおよびエンド・ユーザＺからエンド・ユーザＡへ）。図１に示されているように、音声呼は、音声呼内のアコースティック・エコーを検出し、抑制／キャンセルするように適合されたアコースティック・エコー処理モジュール（ＡＥＰＭ）１２０をトラバースする。
【００１０】
図１に示されているように、エンド・ユーザ端末１０３は、オーディオ入出力デバイス（たとえば、マイクロホン、スピーカ、および類似物）、パケット・ネットワーク・インターフェース（たとえば、送信器／受信器機能、ボコーダ機能、および類似物を含む）、および類似物など、パケット・ネットワークを介する音声通信をサポートするコンポーネントを含む。具体的に言うと、エンド・ユーザ端末１０３Ａは、オーディオ入力デバイス１０４Ａ、ネットワーク・インターフェース１０５Ａ、およびオーディオ出力デバイス１０６Ａを含み、エンド・ユーザ端末１０３Ｚは、オーディオ入力デバイス１０４Ｚ、ネットワーク・インターフェース１０５Ｚ、およびオーディオ出力デバイス１０６Ｚを含む。エンド・ユーザ端末１０３のコンポーネントは、個々の物理デバイスとすることができ、あるいは、１つまたは複数の物理デバイスに組み合わせることができる。たとえば、エンド・ユーザ端末１０３は、音声機能を有するコンピュータ、ＶｏＩＰ電話機、および類似物、ならびにこれらの様々な組合せを含むことができる。
【００１１】
図１に示された音声呼などの音声呼では、エンド・ユーザ・デバイスの音声入力デバイスは、（１）ローカル・エンド・ユーザの音声と、（２）リモート・エンド・ユーザから受信され、ローカル・エンド・ユーザの音声出力デバイスを介して再生される音声との両方を感知する可能性がある。たとえば、ローカル・エンド・ユーザがスピーカホンを使用している場合に、そのローカル・エンド・ユーザ・デバイスのマイクロホンが、ローカル・エンド・ユーザの音声と、スピーカホンから発するリモート・エンド・ユーザの音声との両方を感知する可能性がある。ローカル・エンド・ユーザの音声入力デバイスによって受け取られるリモート・エンド・ユーザの音声は、スピーカホンからマイクロホンへの音声の直接結合および／またはリモート・エンド・ユーザの音声がローカル・エンド・ユーザの位置で反響する時のスピーカホンからマイクロホンへの音声の間接結合である可能性がある。
【００１２】
図１に関して、エンド・ユーザＡからエンド・ユーザＺに伝搬される音声内容は、エンド・ユーザＺの位置で反響し、エンド・ユーザＡからの反響する音声内容は、エンド・ユーザＺのエンド・ユーザ端末によって感知され、エンド・ユーザＺからエンド・ユーザＡに伝搬される音声内容が、エンド・ユーザＺの音声とエンド・ユーザＡの音声のエコーとの組合せになる可能性がある。同様に、エンド・ユーザＺからエンド・ユーザＡに伝搬される音声内容は、エンド・ユーザＡの位置で反響し、エンド・ユーザＺからの反響する音声内容が、エンド・ユーザＡのエンド・ユーザ端末によって感知され、エンド・ユーザＡからエンド・ユーザＺに伝搬される音声内容が、エンド・ユーザＡの音声とエンド・ユーザＺの音声のエコーとの組合せになる可能性がある。言い換えると、エコーは、両方向通信チャネルの両方の方向で導入される可能性がある。
【００１３】
エンド・ユーザ・デバイス１０３Ａで導入されるエコーについて、エンド・ユーザ・デバイス１０３Ａは、エンド・ユーザＡの音声を感知し、オプションで、音声出力デバイス１０６Ａによって再生されるエンド・ユーザＺの音声を感知する（エコー・カップリング（ｅｃｈｏ  ｃｏｕｐｌｉｎｇ）として表される）。音声は、音声入力デバイス１０４Ａによって感知され、ネットワーク・インターフェース１０５Ａに供給され、ネットワーク・インターフェース１０５Ａは、その音声を処理して、音声コーディング・パラメータを判定し、判定された音声コーディング・パラメータをパケット化して、音声パケット・ストリーム１１２を形成する。エンド・ユーザ・デバイス１０３Ａは、音声パケット・ストリーム１１２をＡＥＰＭ  １２０に伝搬させる。ＡＥＰＭ  １２０は、音声パケット・ストリーム１１２を処理して、エンド・ユーザＺのすべての音声を検出し、抑制し、これによって、エンド・ユーザＺがエコーを聞かないようにする。ＡＥＰＭ  １２０は、音声パケット・ストリーム１１２’（エコーが検出されたかどうかに依存して、音声パケット・ストリーム１１２の変更された版である場合とそうでない場合とがある）をエンド・ユーザ・デバイス１０３Ｚに伝搬させる。音声パケット・ストリーム１１２’は、ネットワーク・インターフェース１０５Ｚによって受信され、ネットワーク・インターフェース１０５Ｚは、エンコードされた音声パラメータを逆パケット化（ｄｅｐａｃｋｅｔｉｚｅ）し、処理して、エンド・ユーザＡの音声を回復し、エンド・ユーザＡの回復された音声を音声出力デバイス１０６Ｚに供給し、音声出力デバイス１０６Ｚは、エンド・ユーザＡの音声をエンド・ユーザＺに再生する。
【００１４】
エンド・ユーザ・デバイス１０３Ｚで導入されるエコーについて、エンド・ユーザ・デバイス１０３Ｚは、エンド・ユーザＺの音声を感知し、おそらくは、音声出力デバイス１０６Ｚによって再生されるエンド・ユーザＡの音声を感知する（エコー・カップリングとして表される）。音声は、音声入力デバイス１０４Ｚによって感知され、ネットワーク・インターフェース１０５Ｚに供給され、ネットワーク・インターフェース１０５Ｚは、その音声を処理して、音声コーディング・パラメータを判定し、判定された音声コーディング・パラメータをパケット化して、音声パケット・ストリーム１１４を形成する。エンド・ユーザ・デバイス１０３Ｚは、音声パケット・ストリーム１１４をＡＥＰＭ  １２０に伝搬させる。ＡＥＰＭ  １２０は、音声パケット・ストリーム１１４を処理して、エンド・ユーザＺのすべての音声を検出し、抑制し、これによって、エンド・ユーザＡがエコーを聞くのを防ぐ。ＡＥＰＭ  １２０は、音声パケット・ストリーム１１４’（エコーが検出されたかどうかに依存して、音声パケット・ストリーム１１４の変更された版である場合とそうでない場合とがある）をエンド・ユーザ・デバイス１０３Ａに伝搬させる。音声パケット・ストリーム１１４’は、ネットワーク・インターフェース１０５Ａによって受信され、ネットワーク・インターフェース１０５Ａは、エンコードされた音声パラメータを逆パケット化し、処理して、エンド・ユーザＺの音声を回復し、エンド・ユーザＺの回復された音声を音声出力デバイス１０６Ａに供給し、音声出力デバイス１０６Ａは、エンド・ユーザＡのためにエンド・ユーザＺの音声を再生する。
【００１５】
したがって、図１に示されているように、音声呼の両方の方向が、パケット・ネットワーク１０２内に展開されたＡＥＰＭ  １２０をトラバースする。ＡＥＰＭ  １２０は、エンド・ユーザＡとエンド・ユーザＺとの間で伝搬される音声内容内のエコーを検出し、エコーが検出される場合に、音声内容を受信するエンド・ユーザがそのエコーを聞かなくなるように、検出されたエコーを抑制しまたはキャンセルするように適合される。ＡＥＰＭ  １２０は、基準パケット・ストリームのエンコードされた音声パケットおよびターゲット・パケット・ストリームのエンコードされた音声パケットから音声コーディング・パラメータを抽出することと、ターゲット・パケット・ストリームによって伝えられる音声内容と基準パケット・ストリームによって伝えられる音声内容とが類似するかどうかを判定する形で、抽出された音声コーディング・パラメータを処理することとによってエコーを検出する。ターゲット・パケット・ストリームおよび基準パケット・ストリームによって伝えられるエンコードされた音声パケットから音声コーディング・パラメータを抽出する際の、および抽出された音声コーディング・パラメータを使用してエコーを検出し、抑制する際のＡＥＰＭ  １２０の動作を、図２〜図６に関してよりよく理解することができる。
【００１６】
図２に、図１の音声呼の伝送の一方向についてエコー検出およびエコー抑制を提供する（エンド・ユーザ端末１０３Ｚで導入されるエコーを検出し、抑制する）、図１の音声呼の表現を示す。エンド・ユーザ端末１０３Ａは、エンコードされた音声パケットのストリーム（基準パケット・ストリーム２０２と表される）をＡＥＰＭ  １２０に伝搬させる。ＡＥＰＭ  １２０は、基準パケット・ストリーム２０２の最近に受信されたエンコードされた音声パケットのバッファを維持し、エンド・ユーザ端末１０３Ｚへの基準パケット・ストリーム２０２の音声パケットの伝搬を継続する。エンド・ユーザ端末１０３Ｚは、音声パケットのストリーム（ターゲット・パケット・ストリーム２０４と表される）をＡＥＰＭ  １２０に伝搬させる。ＡＥＰＭ  １２０は、ターゲット・パケット・ストリーム２０４の最近受信されたエンコードされた音声パケットのバッファを維持する。ＡＥＰＭ  １２０は、バッファリングされたターゲット・パケットおよびバッファリングされた基準パケットを処理して、ターゲット・パケット・ストリーム２０４の音声パケットによって伝えられる音声内容が基準パケット・ストリーム２０２の音声パケットによって伝えられる音声内容のエコーを含むかどうかを判定する。
【００１７】
ＡＥＰＭ  １２０は、ターゲット・パケット・ストリーム２０４’をエンド・ユーザ端末１０３Ａに提供する。ターゲット・パケット・ストリーム２０４のエンコードされた音声パケットによって伝搬される音声内容が、基準パケット・ストリーム２０２のエンコードされた音声パケットによって伝えられる音声内容のエコーを含むと判定されない場合には、ＡＥＰＭ  １２０は、エンド・ユーザ端末１０３Ａへのターゲット・パケット・ストリーム２０４のエンコードされた音声パケットの伝搬を継続する（すなわち、ターゲット・パケット・ストリーム２０４のエンコードされた音声パケットをエコーを抑制する形で適合させずに）。ターゲット・パケット・ストリーム２０４のエンコードされた音声パケットによって伝えられる音声内容が、基準パケット・ストリーム２０２のエンコードされた音声パケットによって伝えられる音声内容のエコーを含むと判定される場合には、ＡＥＰＭ  １２０は、基準パケット・ストリーム２０２のエンコードされた音声パケットによって伝えられる音声内容のエコーを含むターゲット・パケット・ストリーム２０４のエンコードされた音声パケットを、エコーを抑制する形で適合させ、適合されたターゲット・パケット・ストリーム２０４’のエンコードされた音声パケットをエンド・ユーザ端末１０３Ａに伝搬させる。
【００１８】
本明細書で説明するように、図２は、伝送の一方の方向のみに関してすなわちエンド・ユーザ端末１０３Ａに向けて伝搬される、エンド・ユーザ端末１０３Ｚで導入されるエコーのみに関してエコー検出およびエコー抑制を提供する、図１の音声呼の表現を示す。したがって、伝送の他方の方向のエコー検出およびエコー抑制に関して（すなわち、エンド・ユーザ端末１０３Ｚに向けて伝搬される、エンド・ユーザ端末１０３Ａで導入されるエコーに関して）、基準パケット・ストリーム２０２は、ターゲット・パケット・ストリームとして使用され、ターゲット・パケット・ストリーム２０４は、基準パケット・ストリームとして使用されるはずである。したがって、エコーが、音声呼の伝送の両方の方向で導入され得るので、本発明のエコー検出機能およびエコー抑制機能の説明において、基準パケット・ストリーム２０２内に存在し得るエコーのすべての成分は、無視される。
【００１９】
図３に、本発明の一実施形態による方法を示す。具体的に言うと、図３の方法３００は、ターゲット・パケット・ストリームの音声内容内の基準パケット・ストリームの音声内容のエコーを検出し、検出される場合に、ターゲット・パケット・ストリームの音声内容からそのエコーを抑制する方法を含む。順次実行されるものとして図示され、説明されるが、図３の方法３００のステップの少なくとも一部を、同時にまたは図３に関して示され、説明されるものとは異なる順序で実行することができる。方法３００は、ステップ３０２で開始され、ステップ３０４に進む。
【００２０】
ステップ３０４で、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間の類似性を判定する。ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間の類似性は、ターゲット音声パケットから音声コーディング・パラメータを抽出することと、基準音声パケットから音声コーディング・パラメータを抽出することと、抽出された音声コーディング・パラメータを処理して、ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかを判定することとによって判定することができる。ターゲット音声パケットおよび基準音声パケットから抽出された音声コーディング・パラメータを使用してターゲット音声パケットの音声内容と基準音声パケットの音声内容との間の類似性を判定する方法を、図４に示し、図４に関して説明する。
【００２１】
ステップ３０６で、ターゲット音声パケットの音声内容が基準音声パケットの音声内容のエコーを含むかどうかに関する判定を行う。ターゲット音声パケットの音声内容が基準音声パケットの音声内容のエコーを含むかどうかに関する判定は、ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかに関する判定を使用して行われる。ターゲット音声パケットの音声内容が基準音声パケットの音声内容のエコーを含まない場合には、方法３００はステップ３０４に戻る（すなわち、現在のターゲット音声パケット（１つまたは複数）は、適合されない）。ターゲット音声パケットの音声内容が基準音声パケットの音声内容のエコーを含む場合には、方法３００はステップ３０８に進む。
【００２２】
ステップ３０８で、エコー抑制をターゲット音声パケット（１つまたは複数）に適用する。ターゲット音声パケット（１つまたは複数）の音声内容は、検出されたエコーを抑制しまたはキャンセルするために適合される。ターゲット音声パケット（１つまたは複数）の音声内容を、検出されたエコーを抑制しまたはキャンセルする任意の形で適合させることができる。一実施形態では、ターゲット・パケット（１つまたは複数）の音声内容を、ターゲット音声パケット（１つまたは複数）の音声内容の利得を減衰させることによって適合させることができる。一実施形態では、ターゲット音声パケット（１つまたは複数）を、置換パケット（１つまたは複数）に置換することができる。置換パケットは、雑音パケット（たとえば、白色雑音、コンフォート・ノイズ（ｃｏｍｆｏｒｔ  ｎｏｉｓｅ）、および類似物など、あるタイプの雑音を含むパケット）、無音パケット（たとえば、空のパケット）、および類似物、ならびにその様々な組合せとすることができる。
【００２３】
図３に示されているように、ステップ３０８から、方法３００はステップ３１０に進む。ステップ３１０で、音声呼がアクティブであるかどうかに関する判定を行う。音声呼がまだアクティブである場合には、方法３００はステップ３０４に戻る（すなわち、エコー検出および抑制処理が、呼の音声内容からエコーを検出し、除去するために継続される）。音声呼がアクティブではない場合には、方法３００は、ステップ３１２に進み、ここで方法３００は終了する。したがって、方法３００は、音声呼の持続時間にわたって繰り返され続ける。エコー抑制が適用された後に実行されるものとして図示されているが、方法３００は、音声呼がもはやアクティブではないことの判定に応答して、方法３００内の任意の点で終了することができる。
【００２４】
図４に、本発明の一実施形態による方法を示す。具体的に言うと、図４の方法４００は、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間の類似性を判定する方法を含む。順次実行されるものとして図示され、説明されるが、図４の方法４００のステップの少なくとも一部を、同時にまたは図４に関して示され、説明されるものとは異なる順序で実行することができる。方法４００は、ステップ４０２で開始され、ステップ４０４に進む。
【００２５】
ステップ４０４で、音声コーディング・パラメータを、ターゲット音声パケットから抽出する。一実施形態では、音声コーディング・パラメータは、Ｎ個の最も最近のターゲット音声パケットのそれぞれから抽出される（すなわち、Ｎは、ターゲット・パケット・ストリームに関連するターゲット・ウィンドウのサイズである）。ステップ４０６で、音声コーディング・パラメータを、基準音声パケットから抽出する。一実施形態では、音声コーディング・パラメータは、Ｋ＋Ｎ個の最も最近の基準音声パケットのそれぞれから抽出される。音声コーディング・パラメータを、音声パケットから音声コーディング・パラメータを抽出する任意の形で音声パケットから抽出することができる。ターゲット音声パケットおよび基準音声パケットから抽出される音声コーディング・パラメータは、周波数パラメータ、音量パラメータ、および類似物など、任意の音声コーディング・パラメータを含むことができる。
【００２６】
本明細書で説明されるように、音声パケットから抽出される音声コーディング・パラメータは、音声内容をエンコード／デコードするのに使用されるコーデックのタイプ、音声内容を伝えるのに使用される伝送テクノロジ、および類似する要因などの多数の要因ならびにその様々な組合せに基づいて変化する可能性がある。たとえば、音声パケットから抽出される音声コーディング・パラメータは、Ｃｏｄｅ  Ｅｘｃｉｔｅｄ  Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｏｎ（ＣＥＬＰ）コーディング、Ｐｒｏｔｏｔｙｐｅ−Ｐｉｔｃｈ  Ｐｒｅｄｉｃｔｉｏｎ（ＰＰＰ）コーディング、Ｎｏｉｓｅ−Ｅｘｃｉｔｅｄ−Ｌｉｎｅａｒ  Ｐｒｅｄｉｃｔｉｏｎ（ＮＥＬＰ）コーディング、および類似物など、本発明を適用できる異なるタイプのコーディングについて異なるものとすることができる。
【００２７】
たとえば、ＣＥＬＰベースのコーディングについて、音声コーディング・パラメータに、線スペクトル対（Ｌｉｎｅ  Ｓｐｅｃｔｒａｌ  Ｐａｉｒ、ＬＳＰ）、固定コードブック利得（Ｆｉｘｅｄ  Ｃｏｄｅｂｏｏｋ  Ｇａｉｎ、ＦＣＧ）、適応コードブック利得（Ａｄａｐｔｉｖｅ  Ｃｏｄｅｂｏｏｋ  Ｇａｉｎ、ＡＣＧ）、エンコーディング・レート、および類似物のうちの１つまたは複数ならびにその様々な組合せを含めることができる。たとえば、ＰＰＰベースのコーディングについて、音声コーディング・パラメータは、ＬＳＰ、振幅パラメータ、および類似物を含むことができる。たとえば、ＮＥＬＰベースのコーディングについて、音声コーディング・パラメータは、ＬＳＰ、エネルギＶＱ、および類似物を含むことができる。さらに、他の音声コーディング・パラメータを使用することができる（たとえば、ピッチ遅延、固定コードブック形状（ｆｉｘｅｄ  ｃｏｄｅｂｏｏｋ  ｓｈａｐｅ）（たとえば、固定コードブック自体）および類似物、ならびにその様々な組合せ）。
【００２８】
たとえば、ＣＥＬＰベース・コーディングの１つの形は、Ｅｎｈａｎｃｅｄ  Ｖａｒｉａｂｌｅ  Ｒａｔｅ  Ｃｏｄｉｎｇ（ＥＶＲＣ）であり、これは符号分割多元接続（ＣＤＭＡ）ネットワーク内で使用されるＣＥＬＰベースのコーダの特定の実施態様である。たとえば、ＣＥＬＰベースおよび非ＣＥＬＰベースの音声コーディング・パラメータを含むＥＶＲＣの拡張版であるＥＶＲＣ−Ｂが、ＣＤＭＡネットワークおよび他のネットワークで使用される。ＥＶＲＣ−Ｂ音声コーディングでは、ＰＰＰフレームのＡｍｐｌｉｔｕｄｅ、Ｇｌｏｂａｌ  Ａｌｉｇｎｍｅｎｔ、およびＢａｎｄ  Ａｌｉｇｎｍｅｎｔなど、異なる圧縮タイプ（たとえば、ＰＰＰまたはＮＥＬＰ）に関する追加の音声コーディング・パラメータを使用することができる（すなわち、通常のＣＥＬＰベースの音声コーディング・パラメータに加えて）。たとえば、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ（ＧＳＭ）ネットワークは、ａｌｇｅｂｒａｉｃ  ＣＥＬＰ（ＡＣＥＬＰ）を使用するＡｄａｐｔｉｖｅ  Ｍｕｌｔｉｒａｔｅ（ＡＭＲ）圧縮を使用する。さらに、たとえば、テレタイプ（ＴＴＹ）端末データを、エンコードされた音声パケットから抽出することができる。
【００２９】
ステップ４０７（オプションのステップ）で、前処理を実行することができる。一実施形態では、前処理を、抽出された音声コーディング・パラメータの一部またはすべてに対して実行することができる。たとえば、ターゲット音声パケットおよび基準音声パケットから抽出された生音声コーディング・パラメータを処理して、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間に類似性があるかどうかを判定する際に使用される抽出された音声コーディング・パラメータを平滑化することができる。一実施形態では、前処理を、めいめいのターゲット音声パケットおよび基準音声パケットから抽出された関連する音声コーディング・パラメータに基づいて、ターゲット音声パケットおよび／または基準音声パケットの一部またはすべてに対して実行することができる。
【００３０】
一実施形態では、ターゲット・パケットの音声内容と基準パケットの音声内容との間に類似性があるかどうかを判定するのに利用される１つまたは複数のしきい値を、めいめいの音声パケットから抽出された音声コーディング・パラメータの一部またはすべての前処理に基づいて動的に調整することができる。一実施形態では、たとえば、１つまたは複数のしきい値を調整するために、ターゲット・ウィンドウごとの平均音量を、判定し（すなわち、ターゲット・ウィンドウのターゲット・パケットのそれぞれから抽出された音量情報を使用して）、使用することができる。１つのそのような実施形態では、ターゲット・ウィンドウごとの平均音量を、ターゲット・パケットの音声内容と基準パケットの音声内容との間に類似性があるかどうかを判定するために使用されるしきい値を動的に調整する（たとえば、図５に関して図示され、説明されるように、ＬＳＰ類似性しきい値を動的に調整する）のに使用することができる。
【００３１】
ステップ４０８で、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間の類似性を、ターゲット音声パケットから抽出された音声コーディング・パラメータおよび基準音声パケットから抽出された音声コーディング・パラメータを使用して判定する。一実施形態では、類似性判定は、２進判定である（たとえば、類似性が検出されるまたは類似性が検出されないのいずれかである）。この実施形態では、たとえば、類似性インジケータを、類似性判定の結果に基づいて、ターゲット・パケットごとにセットすることができる（たとえば、ＳＩＭＩＬＡＲＩＴＹ＝ＹＥＳまたはＳＩＭＩＬＡＲＩＴＹ＝ＮＯ）。一実施形態では、類似性判定は、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間の類似性のレベルに関する判定とすることができる。この実施形態では、たとえば、音声内容類似性を、ある範囲の値（たとえば、０〜１０の範囲、ここで、０は、類似性なしを示し、１０は、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間の完全な一致を示す）を使用して表すことができる。
【００３２】
一実施形態では、ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかの判定を、周波数情報だけを使用して（または、周波数情報を使用して判定された結果の妥当性を評価するのに使用できる他の音声特性表現情報と組み合わせて、少なくとも主に周波数情報を使用して）実行することができる。たとえば、１つのそのような実施形態では、ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかに関する判定を、ＬＳＰ（たとえば、ＣＥＬＰベースのコーディングを使用してエンコードされた音声パケットについて）のみを使用して実行することができる。ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかを判定するのにＬＳＰを使用する方法を、図５に示し、図５に関して本明細書で説明する。
【００３３】
一実施形態では、ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかに関する判定を、ＬＳＰ比較と共にレート・パターン・マッチングを使用して実行することができる。１つのそのような実施形態では、レート・パターン・マッチングを使用して、ＬＳＰ比較を使用して行われた類似性判定の妥当性を判定することができる。類似性判定の妥当性を判定するためのレート・パターン・マッチングの使用は、図７に関してよりよく理解することができる。
【００３４】
一実施形態では、ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかに関する判定を、ＬＳＰ比較と共にレート／タイプ・マッチングを使用して実行することができる。１つのそのような実施形態では、レート／タイプ・マッチングを使用して、ＬＳＰ比較を使用して行われる類似性判定の妥当性を判定することができる。もう１つの実施形態では、ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかに関する判定を、ＬＳＰ比較の代わりにレート／タイプ・マッチングを使用して実行することができる。
【００３５】
一実施形態では、前処理として実行されるものとして説明された（すなわち、オプションのステップ４０７に関して説明された）処理の一部を、ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかに関する判定の間に実行することができる。たとえば、ターゲット・パケットおよび／または基準パケットから抽出された他の音声コーディング・パラメータを、ターゲット音声パケットの音声内容が基準音声パケットの音声内容に類似するかどうかに関する判定の間に使用することができる（たとえば、音声パケットのうちの選択されたパケットがターゲット音声パケットと基準音声パケットとの間の比較に使用されないように、これらの音声パケットを無視するために、音声パケットのうちの選択されたパケットに重みを割り当てるために、類似性判定を実行する際に使用される１つまたは複数のしきい値を動的に変更するために、および類似物、ならびにその様々な組合せ）。
【００３６】
ステップ４０９（オプションのステップ）で、後処理を実行することができる。一実施形態では、後処理を、類似性判定の結果に対して実行することができる。後処理を、ターゲット音声パケットおよび基準音声パケットから抽出された音声コーディング・パラメータの一部またはすべてを使用して実行することができる。一実施形態では、後処理に、類似性判定の結果を評価することを含めることができる。たとえば、１つのそのような実施形態では、類似性判定の結果を、２進の形で（たとえば、結果を有効または無効と宣言する、すなわち、結果を真陽性または偽陽性と宣言する形で）評価することができる。たとえば、一実施形態では、類似性判定の結果を、類似性判定の結果に重みまたは重要性を割り当てる形で評価することができる。類似性判定の結果を、様々な他の形で判定することができる。
【００３７】
いくつかのそのような実施形態では、類似性判定の結果の評価を、有効／使用可能と考えられるターゲット音声パケットのパーセンテージおよび／または有効／使用可能と考えられる基準音声パケットのパーセンテージに基づくものとすることができる。一実施形態では、類似性判定を実行するのに使用される音声パケットの音量特性を使用して、めいめいの音声パケットの妥当性／使用可能性を判定することができる。たとえば、ターゲット音声パケットのうちのあるパーセンテージが、しきい値未満の音量を有し、かつ／または基準音声パケットのうちのあるパーセンテージが、しきい値未満の音量を有する場合に、類似性判定の結果が、無効であるか、少なくともより高いパーセンテージの音声パケットが有効／使用可能と判定される類似性判定より有用ではないと判定することができる。主に音量に関して説明したが、様々な他の抽出された音声コーディング・パラメータを使用して、類似性判定の結果を評価することができる。
【００３８】
図４に示されているように、ステップ４０８から（またはオプションでステップ４０９から）、方法４００は、ステップ４０４に戻り、方法４００が繰り返される（すなわち、音声コーディング・パラメータが、抽出され、ターゲット音声パケットと基準音声パケットとの音声内容の間に類似性があるかどうかの判定のために処理される）。方法４００を、必要なだけ何回でも繰り返すことができる。たとえば、一実施形態では、方法４００を、ターゲット音声パケットごとに繰り返すことができる。１つのそのような実施形態では、バッファリングされるターゲット・パケット・ストリームのＮ個のターゲット音声パケットがスライディング・ウィンドウとして動作することができ、受信されるターゲット音声パケットごとにＮ個の最も最近に受信されたターゲット音声パケットが、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間の類似性を判定するために最も最近に受信されたＫ＋Ｎ個の基準音声パケットのうちのＫ個のセットと比較されるようになる。方法４００を、より低い頻度でまたはより高い頻度で繰り返すことができる。
【００３９】
図５に、本発明の一実施形態による方法を示す。具体的に言うと、図５の方法５００は、ターゲット音声パケットおよび基準音声パケットから抽出された周波数情報を使用して、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間の類似性を判定する方法を含む。一実施形態では、方法５００を、図３の方法３００のステップ３０４として実行することができる。順次実行されるものとして図示され、説明されるが、図５の方法５００のステップの少なくとも一部を、同時にまたは図５に関して示され、説明されるものとは異なる順序で実行することができる。方法５００は、ステップ５０２で開始され、ステップ５０４に進む。
【００４０】
ステップ５０４では、線スペクトル対（ＬＳＰ）値をターゲット・パケット・ストリームのＮ個のターゲット・パケットのセット内のターゲット・パケットから抽出する。一実施形態では、Ｍ個のＬＳＰ値のセットが、Ｎ個のターゲット・パケットのセット内のＮ個のターゲット・パケットのそれぞれから抽出される。
【００４１】
一実施形態では、Ｎ個のターゲット・パケットのセットは、連続するターゲット・パケットである。この実施形態では、Ｎは、ターゲット・パケットのストリームに関連するターゲット・ウィンドウのサイズである。Ｎの値には、任意の値をセットすることができる。たとえば、一実施形態では、Ｎに、５〜１０個の範囲内のターゲット・パケットをセットすることができる（Ｎの値を、より小さくまたはより大きくすることができるが）。一実施形態では、Ｎの値を動的に適合させる（たとえば、動的に増やすか減らす）ことができる。
【００４２】
一実施形態では、Ｍ個のＬＳＰ値が、Ｎ個のターゲット・パケットのそれぞれから抽出される。一実施形態では、Ｍ個の値に、ターゲット・パケットごとに値をセットすることができる。たとえば、一実施形態では、Ｍ個に、ターゲット・パケットごとに１０個のＬＳＰ値をセットすることができる（より少数またはより多数のＬＳＰ値を各ターゲット・パケットから抽出することができるが。
【００４３】
一実施形態では、Ｎ個のターゲット・パケットから抽出されたＬＳＰ値のセットを、２次元行列として表すことができる。この２次元行列は、ＭおよびＮの次元を有し、Ｍは、各ターゲット・パケットから抽出されるＬＳＰ値の個数であり、Ｎは、ＬＳＰがそこから抽出される連続するターゲット・パケットの個数である（すなわち、Ｎは、ターゲット・パケットのストリームに関連するスライディング・ウィンドウのサイズである）。Ｎ個のターゲット・パケットから抽出されたＭ個のＬＳＰ値のＮ個のセットについて定義される例示的な２次元行列を、
【数１】
2011515881.tif 000003
と表すことができる。
【００４４】
Ｎ個の連続するターゲット・パケットから抽出されたＬＳＰ値のセットについて定義される２次元行列に示されているように、ｌは、ＬＳＰ値であり、Ｔは、ＬＳＰ値がターゲット・パケットから抽出されることを示し、最初の添字は、ＬＳＰ値がそこから抽出されたターゲット・パケットを識別し（ｉからｉ＋Ｎまでの範囲内で）、第２の添字は、第１の添字によって識別されるターゲット・パケットから抽出されたＬＳＰ値を識別する。言い換えると、ＬＴｉは、この２次元行列がターゲット・パケットｉについて作成されたことを示し、この２次元行列の各行は、この２次元行列のその行のＬＳＰ値のそれぞれに関連する第１の添字によって識別されるターゲット・パケットから抽出されたＭ個のＬＳＰ値を含む。
【００４５】
ステップ５０６で、線スペクトル対（ＬＳＰ）値を、基準パケット・ストリームのＫ＋Ｎ個の基準パケットのセット内の基準パケットから抽出する。一実施形態では、Ｍ個のＬＳＰ値のセットが、Ｋ＋Ｎ個の基準パケットのグループ内のＫ＋Ｎ個の基準パケットのそれぞれから抽出される。
【００４６】
Ｋ＋Ｎ個の基準パケットのグループは、基準パケットのＫ個のセットとして編成され、基準パケットのＫ個のセットのそれぞれは、Ｎ個の基準パケットを含み、これによって、基準パケットのＫ個のセットからのＬＳＰ値のＫ個のセットがもたらされる。これは、Ｎ個のターゲット・パケットのセットの、Ｎ個の基準パケットのＫ個のセットのそれぞれとの対単位の評価を可能にする。一実施形態では、基準パケットのＫ個のセットのそれぞれのＮ個の基準パケットは、連続する基準パケットである。ターゲット・パケットに関して説明したように、Ｎの値には、任意の値をセットすることができ、いくつかの実施形態では、動的に適合させることができる。
【００４７】
一実施形態では、Ｍ個のＬＳＰ値が、基準パケットのＫ個のセットのそれぞれのＮ個の基準パケットのそれぞれから抽出される。一実施形態では、Ｍの値は、ターゲット・パケットに関連するＭの値と等しく、これによって、Ｎ個のターゲット・パケットのそれぞれのＬＳＰ値の、基準パケットのＫ個のセットのそれぞれに含まれるＮ個の基準パケットのそれぞれのＬＳＰ値との対単位の評価が可能になる。ターゲット・パケットに関して説明したように、Ｍの値には、任意の値をセットすることができ、いくつかの実施形態では、基準パケットにまたがって変更することができる。
【００４８】
Ｋの値は、構成可能なパラメータであり、基準パケットの個数として表すことができる。Ｋの値は、サポートされることが要求されるエコー・パス遅延を表す。エコー・パス遅延（時間単位での）は、パケット・サンプリング・インターバルの粒度を有しなければならない。たとえば、ＥＶＲＣコーディングに関して、パケット・サンプリング・インターバルは、２０ｍｓである。したがって、この例では、本発明によるアコースティック・エコー・キャンセレーション・モジュールは、５００ｍｓまでのエコー・パス遅延を検出することを要求され（たとえば、ＥＶＲＣコーディングの場合のように）、Ｋの値には、少なくとも２５音声パケット（またはそれより多数）がセットされなければならない。
【００４９】
一実施形態では、基準パケットのＫ個のセットから抽出されたＬＳＰ値のＫ＊Ｎ個のセットを、１つの３次元行列（Ｍ×Ｎ×Ｋ）またはＫ個の２次元行列（それぞれがｋの特定の値に関するＭ×Ｎ）として表すことができ、ここで、Ｎは、ターゲット・ウィンドウ（したがって、基準ウィンドウ）のサイズであり、Ｋは、基準パケットのセットの個数（ここで、Ｋ＝Ｋｍａｘ−Ｋｍｉｎ＋１）であり、ｊ∈（ｉ−Ｋｍｉｎ…ｉ−Ｋｍａｘ）である。ＫｍｉｎおよびＫｍａｘの値には、任意の値をセットすることができる（それらの値がＫ＝Ｋｍａｘ−Ｋｍｉｎ＋１を満足する限り）。たとえば、Ｋ＝２５の場合に、ＫｍｉｎおよびＫｍａｘに、それぞれ０および２４をセットすることができる。基準パケットのＫ個のセットから抽出されたＬＳＰ値のＫ個のセットのそれぞれについて定義された例示的な２次元行列を、
【数２】
2011515881.tif 000004
と表すことができる。
【００５０】
Ｋ個の連続する基準パケットから抽出されたＬＳＰ値のＫ個のセットについて定義されたＫ個の２次元行列のそれぞれに示されているように、ｌは、ＬＳＰ値であり、Ｒは、ＬＳＰ値が基準パケットから抽出されたことを指定し、第１の添字は、ＬＳＰ値がそこから抽出された基準パケットを示し（ｊからｊ＋Ｎまでの範囲内で）、第２の添字は、第１の添字によって識別される基準パケットから抽出されたＬＳＰ値を識別する。言い換えると、ＬＲｉは、この２次元行列が、基準パケットｊから作成され、この２次元行列の各行が、この２次元行列のその行のＬＳＰ値のそれぞれに関連する第１の添字によって識別される基準パケットから抽出されたＭ個のＬＳＰ値を含むことを示す。
【００５１】
ターゲット・パケットからのＬＳＰ値（または他の音声コーディング・パラメータ）の抽出、ＬＳＰ値（または他の音声コーディング・パラメータ）基準パケットの抽出、および抽出されたＬＳＰ値の評価（たとえば、対単位の形での）は、図６に関してよりよく理解することができる。
【００５２】
図６に、ターゲット・パケット・ストリームの音声パケットと基準パケット・ストリームの音声パケットとの間の関係を示し、ターゲット・パケット・ストリームおよび基準パケット・ストリームの処理の説明を容易にする、高水準ブロック図を示す。ターゲット・パケット・ストリームは、ターゲット音声パケットを含む。ターゲット音声パケットは、ターゲット・ストリーム・バッファを使用してＡＥＰＭ（明瞭にするために省略されている）によってバッファリングされる。ターゲット・ストリーム・バッファは、少なくともＮ個のターゲット・パケットを格納し、Ｎは、ターゲット・パケット・ストリームからのエコーの検出および抑制に関してターゲット・パケットを評価するのに使用されるスライディング・ウィンドウのサイズである。基準パケット・ストリームは、基準音声パケットを含む。基準音声パケットは、基準ストリーム・バッファを使用してＡＥＰＭによってバッファリングされる。基準ストリーム・バッファは、少なくともＫ＋Ｎ個の基準パケットを格納し、Ｋは、ターゲット・バッファに格納されたＮ個のターゲット・パケットに対して比較されるＮ個の基準パケットのセットの個数である。
【００５３】
図６に示されているように、ターゲット・ストリーム・バッファは、４つ（Ｎ）のパケット（Ｐ１、Ｐ２、Ｐ３、およびＰ４と表される）を格納し、基準ストリーム・バッファは、１１個（Ｋ＋Ｎ）のパケット（Ｐ１、Ｐ２、…、Ｐ１０、Ｐ１１と表される）を格納する。言い換えると、この例では、Ｋは、７と等しい（０から６までの値として表すことができる）。現在のターゲット・ウィンドウに関して、パケット比較のＫ個のセットが、基準ウィンドウをＫ回スライドすることによって（たとえば、毎回１パケットずつ）実行される。具体的に言うと、最初の比較に関して、ターゲット・パケットＰ１、Ｐ２、Ｐ３、およびＰ４が、めいめいの基準パケットＰ１、Ｐ２、Ｐ３、およびＰ４と比較され、２回目の比較に関して、ターゲット・パケットＰ１、Ｐ２、Ｐ３、およびＰ４が、めいめいの基準パケットＰ２、Ｐ３、Ｐ４、およびＰ５と比較され、ターゲット・パケットＰ１、Ｐ２、Ｐ３、およびＰ４がめいめいの基準パケットＰ８、Ｐ９、Ｐ１０、およびＰ１１（すなわち、基準パケットＰＫ−ＰＫ＋Ｎ）と比較されるまで、以下同様である。
【００５４】
本明細書で説明するように、パケットの間の比較は、ターゲット・パケットおよび比較される基準パケットから入手可能な１つまたは複数のタイプの音声コーディング・パラメータの比較（または他の評価技法）（たとえば、ＬＳＰ比較、音量比較、および類似物のうちの１つまたは複数ならびにその様々な組合せを使用する）を含むことができる。そのようなターゲット・パケットと基準パケットとの間の対単位の関連付けを使用するターゲット・パケットの音声コーディング・パラメータおよび基準パケットの音声コーディング・パラメータの評価は、図５に関してよりよく理解することができ、したがって、戻って図５を参照する。
【００５５】
ステップ５０７（オプションのステップ）で、前処理を実行する。前処理は、すべての前処理（たとえば、図４の方法４００のステップ４０７に関して図示され、説明された前処理の異なる形のうちの１つまたは複数など）を含むことができる。たとえば、ターゲット・パケットおよび／または基準パケットのうちの選択されたパケットを無視することができ（たとえば、１／８レート音声パケット、エラーを有する音声パケット、テレタイプ情報を含む音声パケット、および比較に不適切と考えられる他の音声パケットなど、比較に不適切と考えられる音声パケットを無視するように、レート・パターン・マッチングを実行する）、異なる重みをターゲット音声パケットおよび／または基準音声パケットの異なるパケットに割り当てることができ、類似性判定を実行するのに使用される１つまたは複数のしきい値を動的に調整することができ、重みを類似性判定の結果に先取り式に割り当てることができ、類似物ならびにその様々な組合せを行うことができる。
【００５６】
本明細書で説明されるように、一実施形態では、レート・パターン・マッチングを、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間に類似性があるかどうかに関する判定中に使用することができる。
【００５７】
レート・パターン・マッチング処理の結果を、複数の形で使用することができる。一実施形態では、レート・パターン・マッチング処理の結果を使用して、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間に類似性があるかどうかに関する判定中に実行されるＬＳＰ比較の回数を減らすことができる（すなわち、ターゲット・パケットと音声パケットとの不適切な対が、無視され、ＬＳＰ比較に使用されなくなる）。一実施形態では、レート・パターン・マッチング処理の結果を使用して、類似性判定の結果が有効または無効のどちらであるかを判定することができる。レート・パターン・マッチング処理の結果を、様々な他の目的に使用することができる。
【００５８】
一実施形態では、レート・パターン・マッチング処理は、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間に類似性があるかどうかの判定に使用されるめいめいのパケットの適切性に関してパケット（ターゲット・パケットおよび／または基準パケット）を分類することによって実行される。パケットを、比較可能（すなわち、類似性があるかどうかの判定に使用するのに適切）または比較不能（すなわち、類似性があるかどうかの判定に使用するのに不適切）のいずれかとして分類することができる。
【００５９】
パケットを、様々な判断基準を使用して分類することができる。一実施形態では、パケットを、それぞれ、分類されるパケットから抽出された音声コーディング・パラメータを使用して分類することができる。たとえば、一実施形態では、パケットを、そのパケットから抽出されたパケット・レート情報を使用して分類することができる。たとえば、１つのそのような実施形態では、フル・レート・パケットおよびハーフ・レート・パケットが、比較可能として分類され、無音（１／８レート）パケット、エラー・パケット、およびテレタイプ・パケットが、比較不能として分類される。本明細書で説明するように、他の判断基準を、ターゲット・パケットおよび／または基準パケットを比較可能または比較不能として分類するのに使用することができる。
【００６０】
レート・パターン・マッチング処理の結果が、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間に類似性があるかどうかに関する判定中に実行されるＬＳＰ比較の回数を減らすのに使用される一実施形態では、比較可能なパケットだけが、ＬＳＰ比較に使用される（すなわち、比較不能パケットは、破棄されるか無視される）。
【００６１】
レート・パターン・マッチング処理の結果が、類似性判定の結果の妥当性を判定するのに使用される一実施形態では、レート・パターン・マッチングを、一致すると考えられる対応するターゲット・パケットおよび基準パケットの個数を判定することと、比較可能（比較不能に対して）と考えられるターゲット・パケットの個数を判定することと、一致するレートを有する対応するターゲット・パケットおよび基準パケットの個数を比較可能と考えられるターゲット・パケットの個数によって割ることによってレート・パターン・マッチング値を判定することと、レート・パターン・マッチング値をレート・パターン・マッチングしきい値と比較することとによって実行することができる。ターゲット・パケットおよび基準パケットは、ターゲット・パケットと基準パケットとの両方が比較可能と考えられる場合に一致すると考えられる（ターゲット・パケットおよび基準パケットの一方または両方が比較不能と考えられる場合には、一致はない）。このプロセスを、図７の例に関してよりよく理解することができる。
【００６２】
図７に、レート・パターン・マッチング処理を説明する、レート・パターン・マッチングの例を示す。具体的に言うと、４つのレート・パターン・マッチングの例が示されている（比較例７１０、７２０、７３０、および７４０として符号を付けられている）。図７に示されているように、各比較例は、４つのターゲット・パケット（「Ｔ」ならびにパケット番号Ｐ１、Ｐ２、Ｐ３、およびＰ４によって表され、めいめいのパケットのパケット・レートを示す情報を含む）と４つの基準パケット（「Ｒ」ならびにパケット番号Ｐ１、Ｐ２、Ｐ３、およびＰ４によって表され、めいめいのパケットのパケット・レートを示す情報を含む）との比較を含む。
【００６３】
比較例７１０では、ターゲット・パケットＰ１、Ｐ２、Ｐ３、およびＰ４は、それぞれ１、１／２、１／８、および１／２のパケット・レートを有し、基準パケットＰ１、Ｐ２、Ｐ３、およびＰ４は、それぞれ１／２、１、１、および１／２のパケット・レートを有する。この例では、基準パケットに対するターゲット・パケットの３つの一致（Ｐ１、Ｐ２、およびＰ４）があり、３つの比較可能なターゲット・パケットがあり（Ｐ３は比較不能である）、したがって、レート・パターン・マッチング値は３／３＝１００％である。この例のしきい値は７５％なので、関連する類似性判定は、レート・パターン・マッチング値がレート・パターン・マッチングしきい値を満足するので有効と考えられる。
【００６４】
比較例７２０では、ターゲット・パケットＰ１、Ｐ２、Ｐ３、およびＰ４は、それぞれ１、１／２、１／２、および１／２のパケット・レートを有し、基準パケットＰ１、Ｐ２、Ｐ３、およびＰ４は、それぞれ１／２、１、１／８、および１／２のパケット・レートを有する。この例では、基準パケットに対するターゲット・パケットの３つの一致（Ｐ１、Ｐ２、およびＰ４）があり、４つの比較可能なターゲット・パケットがあり、したがって、レート・パターン・マッチング値は３／４＝７５％である。この例のしきい値は７５％なので、関連する類似性判定は、レート・パターン・マッチング値がレート・パターン・マッチングしきい値を満足するので有効と考えられる。
【００６５】
比較例７３０では、ターゲット・パケットＰ１、Ｐ２、Ｐ３、およびＰ４は、それぞれ１、１／２、１／８、および１／２のパケット・レートを有し、基準パケットＰ１、Ｐ２、Ｐ３、およびＰ４は、それぞれ１／８、１／２、１、および１／２のパケット・レートを有する。この例では、基準パケットに対するターゲット・パケットの２つの一致（Ｐ２およびＰ４）があり、３つの比較可能なターゲット・パケットがあり（Ｐ３は比較不能である）、したがって、レート・パターン・マッチング値は２／３＝６７％である。この例のしきい値は７５％なので、関連する類似性判定は、レート・パターン・マッチング値がレート・パターン・マッチングしきい値を満足しないので無効と考えられる。
【００６６】
比較例７４０では、ターゲット・パケットＰ１、Ｐ２、Ｐ３、およびＰ４は、それぞれ１／８、１／２、１／８、および１／２のパケット・レートを有し、基準パケットＰ１、Ｐ２、Ｐ３、およびＰ４は、それぞれ１／８、１／２、１、および１／２のパケット・レートを有する。この例では、基準パケットに対するターゲット・パケットの２つの一致（Ｐ２およびＰ４）があり、２つの比較可能なターゲット・パケットがあり（Ｐ１およびＰ３は比較不能である）、したがって、レート・パターン・マッチング値は２／２＝１００％である。この例のしきい値は７５％なので、関連する類似性判定は、レート・パターン・マッチング値がレート・パターン・マッチングしきい値を満足するので有効と考えられる。
【００６７】
レート・パターン・マッチング値を判定する特定の形に関して図示され、説明されるが、レート・パターン・マッチング値は、様々な他の形で判定することができる。たとえば、一実施形態では、レート・パターン・マッチング値を、比較可能と考えられる基準パケットの個数を使用して計算することができる（上で説明したように、レート・パターン・マッチング値が比較可能と考えられるターゲット・パケットの個数を使用して計算されるのではなく）。レート・パターン・マッチング値を、他の形で計算することができる。
【００６８】
主にレート・パターン・マッチングしきい値が特定の値である（すなわち、レート・パターン・マッチングしきい値＝７５％）実施形態に関して図示され、説明されるが、レート・パターン・マッチングしきい値を、任意の値とすることができる。さらに、いくつかの実施形態では、レート・パターン・マッチングしきい値を静的とすることができ、他の実施形態では、レート・パターン・マッチングしきい値を動的に更新することができる（たとえば、抽出された音声コーディング・パラメータ、前処理結果、および類似物のうちの１つまたは複数ならびにその様々な組合せに基づいて）。
【００６９】
主に比較可能パケットまたは比較不能パケットとして分類されることに関して図示され、説明されるが、音声パケットを、異なるパケット・カテゴリを使用しておよび／またはより多数のパケット・カテゴリを使用して分類することができる。主に音声パケットのそれぞれに関連するある種の情報に基づいて分類されることに関して図示され、説明されるが、音声パケットのそれぞれを、様々な他の判断基準または判断基準の組合せ（めいめいの音声パケットから抽出された音声コーディング・パラメータを含んでも含まなくてもよい）に基づいて分類することができる。
【００７０】
一実施形態では、レート／タイプ・マッチングを、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間に類似性があるかどうかに関する判定中に使用することができる。
【００７１】
レート／タイプ・マッチング処理の結果を、複数の形で使用することができる。一実施形態では、レート／タイプ・マッチング処理の結果を使用して、ターゲット音声パケットの音声内容と基準音声パケットの音声内容との間に類似性があるかどうかに関する判定中に実行されるＬＳＰ比較の回数を減らすことができる（すなわち、ターゲット・パケットと音声パケットとの不適切な対が無視される）。一実施形態では、レート／タイプ・マッチング処理の結果を使用して、類似性判定の結果が有効または無効のどちらであるかを判定することができる。レート／タイプ・マッチング処理の結果を、様々な他の目的に使用することができる。
【００７２】
一実施形態では、レート／タイプ・マッチングは、パケットを分類することによって実行され、ここで、各パケットは、パケットのレートおよびパケットのタイプの組合せを使用して分類される。タイプは、パケットの１つまたは複数の特性に基づいて割り当てることができる。たとえば、一実施形態では、パケットのタイプを、パケットのエンコーディングのタイプに基づいて割り当てることができる。ターゲット・ウィンドウ内のターゲット・パケットのパケット・カテゴリは、基準ウィンドウ内の対応する基準パケットのパケット・カテゴリと比較される。パケット比較の異なる可能な組合せには、めいめいの重みが割り当てられる。ターゲット・ウィンドウ内のターゲット・パケットと基準ウィンドウ内の基準パケットとの間のパケット比較に関連する重みの合計は、関連する類似性判定が有効または無効のどちらと考えられるかを判定するために、しきい値と比較される。
【００７３】
たとえば、ＥＶＲＣ−Ｂでは、異なるパケット・レート（たとえば、フル、ハーフ、１／４、１／８）および異なるパケット・エンコーディング（たとえば、ＣＥＬＰ、ＰＰＰ、ＮＥＬＰ）がある。パケット・レートおよびパケット・タイプの組合せを使用すると、現在、９つのパケット・カテゴリ（たとえば、フル・レート、ハーフ・レート、および特殊ハーフ・レートのＣＥＬＰ、フル・レート、特殊ハーフ・レート、および１／４レートのＰＰＰ、特殊ハーフ・レートおよび１／４レートのＮＥＬＰ、ならびに１／８レートである無音）があり、これは、８１個の可能な順列組合せを与えることができる。このＥＶＲＣ−Ｂの例では、パケット比較の各タイプが、１つの重みを割り当てられる。たとえば、ターゲット・パケットの比較これはフル・レートＣＥＬＰである基準パケットに対するフル・レートＣＥＬＰは、ある重みを割り当てられ、特殊ハーフ・レートＰＰＰである基準パケットに対する１／４レートＮＥＬＰであるターゲット・パケットの比較は、ある重みを割り当てられ、以下同様である。ターゲット・パケットのターゲット・ウィンドウおよび基準パケットの基準ウィンドウに関する類似性判定は、ターゲット・パケットが基準パケットと比較される時に識別される比較タイプの重みを合計することと、重みの合計をしきい値と比較することとによって評価される。
【００７４】
このＥＶＲＣ−Ｂの例は、少なくとも９つの異なるパケット・カテゴリをもたらすので、レート／タイプ・マッチングの動作の説明において明瞭にするために、Ａ、Ｂ、およびＣと表される３つのパケット・カテゴリがあると仮定する。この単純化された例では、ターゲット・パケットと基準パケットとの間のパケット比較の９つの可能な組合せすなわち、Ａ−Ａ（０）、Ａ−Ｂ（１）、Ａ−Ｃ（２）、Ｂ−Ａ（１）、Ｂ−Ｂ（０）、Ｂ−Ｃ（３）、Ｃ−Ａ（２）、Ｃ−Ｂ（３）、およびＣ−Ｃ（０）があり、これらのそれぞれが、関連する重み（比較タイプの隣の括弧内にリストされている）を割り当てられる。この例では、重みの合計が２以下である場合に類似性判定が有効になり、重みの合計が２を超える場合に類似性判定が無効になるように、しきい値が２であると仮定する。
【００７５】
この例の継続において、基準ウィンドウに対するターゲット・ウィンドウの第１の比較があると仮定する。ターゲット・ウィンドウは、（Ｂ，Ａ，Ｃ，Ａ）であり、基準ウィンドウは、（Ａ，Ｂ，Ｃ，Ａ）であり、（１，１，０，０）という関連する重みを有する（Ｂ−Ａ，Ａ−Ｂ，Ｃ−Ｃ，Ａ−Ａ）というパケット比較がもたらされる。この例では、重みの合計は２であり、これはしきい値と等しい。したがって、この例では、類似性判定が有効であるという判定が行われる。
【００７６】
この例の継続において、基準ウィンドウに対するターゲット・ウィンドウの第２の比較があると仮定する。ターゲット・ウィンドウは、（Ｃ，Ｂ，Ｃ，Ａ）であり、基準ウィンドウは、（Ａ，Ｂ，Ｃ，Ａ）であり、（２，０，０，０）という関連する重みを有する（Ｃ−Ａ，Ｂ−Ｂ，Ｃ−Ｃ，Ａ−Ａ）というパケット比較がもたらされる。この例では、重みの合計は２であり、これはしきい値と等しい。したがって、この例では、類似性判定が有効であるという判定が行われる。
【００７７】
この例の継続において、基準ウィンドウに対するターゲット・ウィンドウの第３の比較を有すると仮定する。ターゲット・ウィンドウは、（Ａ，Ｃ，Ｃ，Ａ）であり、基準ウィンドウは、（Ａ，Ｂ，Ｃ，Ａ）であり、（０，３，０，０）という関連する重みを有する（Ａ−Ａ，Ｃ−Ｂ，Ｃ−Ｃ，Ａ−Ａ）というパケット比較がもたらされる。この例では、重みの合計は３であり、これはしきい値より大きい。したがって、この例では、類似性判定が無効であるという判定が行われる。
【００７８】
主に重みが対称である（たとえば、Ａ−Ｂの重みが１であり、Ｂ−Ａの重みが１である）例に関して図示され、説明されるが、他の実施形態では、非対称重みを使用することができる（たとえば、Ａ−Ｂの重みを１とすることができ、Ｂ−Ａの重みを３とすることができる）。しきい値未満の重みの合計が、類似性判定が有効であることを示す実施形態に関して説明されるが、他の実施形態では、重みをパケット比較に割り当てることができ、しきい値を超える重みの合計が、類似性判定が有効であることを示すようになる。重みおよびしきい値の特定の値に対する要求と共に説明されるが、重みおよび／またはしきい値（静的なしきい値および／または動的なしきい値を含む）の様々な他の値を使用することができる。
【００７９】
主に、ターゲット・パケットの音声内容と基準パケットの音声内容との間に類似性があるかどうかを判定するためのＬＳＰ比較と組み合わされるレート／タイプ・マッチングの使用（たとえば、ＬＳＰ比較を使用して行われた類似性判定が有効または無効のどちらであるかの判定）に関して説明されるが、一実施形態では、レート／タイプ・マッチングを、ターゲット・パケットの音声内容と基準パケットの音声内容との間に類似性があるか否かを判定するためのＬＳＰ比較の代わりに使用することもできる。この実施形態では、しきい値との重みの合計の比較は、ターゲット・パケットの音声内容と基準パケットの音声内容との間に類似性があるか否かを判定するのに使用される（上で説明したように、ＬＳＰ比較を使用して行われた類似性判定の妥当性を判定するためではなく）。
【００８０】
ステップ５０８で、距離ベクトル（ＥＴｉと表される）を生成する。距離ベクトルＥＴｉは、Ｎ個のターゲット・パケットから抽出されたＬＳＰ値と、ｉ−Ｋｍｉｎ・・・ｉ−Ｋｍａｘのウィンドウ中に受信されたＮ個の基準パケットのＫ個のセットから抽出されたＬＳＰ値のＫ個のセットのそれぞれとの間の距離として計算されたＫ個の距離値を含む。より具体的に言うと、距離ベクトルＥｉＴは、ターゲット・パケットｉから始まるＮ個のターゲット・パケットのウィンドウに対応するが、次のように、Ｋ個の距離値のベクトルとして定義され（ここで、Ｋ＝Ｋｍａｘ−Ｋｍｉｎ＋１である）、
【数３】
2011515881.tif 000005
ここで、各距離値ｅＴｉ，ｋ（ただし、Ｋｍｉｎ≦ｋ≦Ｋｍａｘ）は、次のように定義される。
【数４】
2011515881.tif 000006
【００８１】
ステップ５１０では、距離ベクトルｅＴｉの最小距離値ｅＴｉ，ｋを、
【数５】
2011515881.tif 000007
として識別する。ステップ５１２では、最小距離値ｍｉｎ［ｅＴｉ，ｋ］がＬＳＰ類似性しきい値ｅｔｈ）を満足するかどうかを判定するために、最小距離値ｍｉｎ［ｅＴｉ，ｋ］をしきい値（ＬＳＰ類似性しきい値ｅｔｈと表される）と比較する。この比較は、
【数６】
2011515881.tif 000008
として実行することができる。
【００８２】
一実施形態では、ＬＳＰ類似性しきい値ｅｔｈは、事前定義のしきい値である。一実施形態では、ＬＳＰ類似性しきい値ｅｔｈは、動的に適合可能である。一実施形態では、ＬＳＰ類似性しきい値ｅｔｈを、抽出された音声コーディング・パラメータに基づいて動的に適合させることができる。たとえば、１つのそのような実施形態では、ＬＳＰ類似性しきい値ｅｔｈを、抽出された音声コーディング・パラメータの動的に適合される処理とすることができる（たとえば、抽出された音声コーディング・パラメータを、前処理中に、ＬＳＰ類似性判定処理中に、および類似物、ならびにその様々な組合せの間に処理することができる）。
【００８３】
たとえば、一実施形態では、ＬＳＰ類似性しきい値ｅｔｈを、ターゲット・パケットおよび／または基準パケットから抽出された音量情報に基づいて動的に適合させることができる。たとえば、１つのそのような実施形態では、ターゲット・パケット（１つまたは複数）内の音声内容の音量が小さい（たとえば、しきい値未満である）ときに、ＬＳＰ類似性しきい値ｅｔｈを増やすことができる（ターゲット・パケット（１つまたは複数）内の音声内容の音量が小さい場合には、エンコードされた音声が量子化／エンコーディング効果に起因してひずむことがありえるので）。主に音声内容の音量に基づくＬＳＰ類似性しきい値ｅｔｈの適合に関して説明されるが、ＬＳＰ類似性しきい値ｅｔｈを、様々な他のパラメータに基づいて適合させる（すなわち、増やすか減らす）ことができる。
【００８４】
本明細書で説明する時に、距離ベクトルＥＴｉの最小距離ｅＴｉ，ｋは、現在のターゲット・パケット（すなわち、ターゲット・パケットｉ）について類似性が検出されるかどうかを判定するために、ＬＳＰ類似性しきい値ｅｔｈと比較される。ｍｉｎ［ｅＴｉ，ｋ］＞ｅｔｈである場合には、類似性は、現在のターゲット・パケットについて検出されず（ステップ５１４として示される）、ステップ５１４から、方法５００はステップ５０４に戻って、次の現在のターゲット・パケットすなわちｉ＝ｉ＋１）について方法５００を再実行する。ｍｉｎ［ｅＴｉ，ｋ］＜ｅｔｈである場合には、類似性は、現在のターゲット・パケットについて検出され（ステップ５１６として示される）、ステップ５１６から、方法５００はステップ５０４に戻って、次の現在のターゲット・パケットすなわちｉ＝ｉ＋１）について方法５００を再実行する。
【００８５】
主にターゲット・パケットおよび基準パケットのセットから抽出されたＬＳＰ値の行列の維持に関して図示され、説明されるが、抽出されたＬＳＰ値を、抽出されたＬＳＰ値の評価を可能にする任意の形で維持することができる。主にＫ個の距離値を含む距離ベクトルＥＴｉの生成に関して図示され、説明されるが、それぞれＬＳＰ値のＫ個のセットに関連するＫ個の距離値を、ベクトル内でＫ個の距離値を維持することなく計算することができる（たとえば、Ｋ個の距離値を、類似性が識別されるかどうかを判定するためにＫ個の距離値を処理するために単純にメモリに格納することができる）。
【００８６】
主に最小距離値（すなわち、距離値のうちのただ１つ）が、類似性が識別されるかどうかを判定するためにＬＳＰ類似性しきい値と比較される実施形態に関して図示され、説明されるが、他の実施形態では、複数の距離値とを、類似性が識別されるかどうかを判定するためにＬＳＰ類似性しきい値と比較することができる。たとえば、１つのそのような実施形態では、類似性が識別されるためには、ある個数の距離値がＬＳＰ類似性しきい値未満でなければならない（すなわち、類似性が識別されるためには、しきい値個数の距離値がＬＳＰ類似性しきい値未満でなければならない）。
【００８７】
主に距離ベクトルのすべての距離値が、ＬＳＰ類似性しきい値との比較が行われる前に計算される実施形態に関して本明細書で図示され、説明されるが、一実施形態では、距離ベクトルの各距離値を、その距離値が計算される時にＬＳＰ類似性しきい値と比較することができる。
【００８８】
１つのそのような実施形態では、類似性が識別されるために１つの距離値だけがＬＳＰ類似性しきい値未満であることを要求される場合に、類似性を、距離値のうちの１つがＬＳＰ類似性しきい値未満であることの判定に応答して（すなわち、距離ベクトルの残りの距離値を計算するのではなく）識別することができる。たとえば、Ｋ＝２５の場合に、ＬＳＰ類似性しきい値未満である最初の距離値の検出（これは、１個から２５個までのいずれかの距離値が計算された後に判定することができる）時に、類似性が識別されたと考えることができる。
【００８９】
類似性が識別されるために複数の距離値がＬＳＰ類似性しきい値未満であることが要求される（たとえば、しきい値個数の距離値がＬＳＰ類似性しきい値未満でなければならないもう１つのそのような実施形態では、しきい値個数の距離値がＬＳＰ類似性しきい値未満であることの判定に応答して（すなわち、距離ベクトルの残りの距離値を計算するのではなく）識別することができる。たとえば、Ｋ＝２５であり、類似性が識別されるために、２５個の距離値のうちの少なくとも１０個がＬＳＰ類似性しきい値未満でなければならない場合に、ＬＳＰ類似性しきい値未満である１０番目の距離値の検出（これは、１０個から２５個までのいずれかの距離値が計算された後に判定することができる）時に、類似性が識別されたと考えることができる。
【００９０】
主に距離値が抽出されたＬＳＰ値を使用して計算される実施形態に関して図示され、説明されるが、他の実施形態では、距離値を、重み付きＬＰＳ値を使用して計算することができる。
【００９１】
たとえば、一実施形態では、各ターゲット・パケットおよび各基準パケットから抽出されるＭ個のＬＳＰ値のそれぞれに、重みを割り当てることができ、ＬＳＰ値を、距離値を計算する前に、割り当てられた重みに従って調整することができる。
【００９２】
たとえば、もう１つの実施形態では、音声パケットごとに、音声パケットから抽出されたＬＳＰ値の合計に、その音声パケットの１つまたは複数の他の特性に基づいて重みを割り当てることができる。たとえば、重みを、パケット・タイプ（たとえば、ハーフ・レート、フル・レート、および類似物）、パケット・カテゴリ（たとえば、比較可能および／または比較不能ならびに他のカテゴリ）、信頼の度合（たとえば、抽出された音声コーディング・パラメータ（音量、レート、および類似物）のうちの１つまたは複数、１つまたは複数のシーケンスから導出されたメトリック、および類似物、ならびにその様々な組合せに比例するものとすることができる）のうちの１つまたは複数に基づいて、音声パケットから抽出されたＬＳＰ値の合計に割り当てることができる。
【００９３】
主に距離値がユークリッド距離値である実施形態に関して図示され、説明されるが、他の実施形態では、他のタイプの距離値を、ターゲット・パケットの音声内容と基準パケットの音声内容との間に類似性があるかどうかを判定するのに使用することができる。たとえば、線形距離値、３次距離値、および類似物などの他のタイプの距離値を、ターゲット・パケットの音声内容と基準パケットの音声内容との間に類似性があるかどうかを判定するのに使用することができる。
【００９４】
さらに、距離値が、主にターゲット・パケットの音声内容と基準パケットの音声内容との間に類似性があるかどうかを判定するのに使用されることに関して図示され、説明されるが、ターゲット・パケットの音声内容と基準パケットの音声内容との間に類似性があるかどうかに関する判定を、他のタイプの比較を使用して実行することができる。
【００９５】
図５に示されているように、一実施形態では、オプションの後処理を実行することができる。この後処理は、すべての最適化ヒューリスティックを含むことができる。一実施形態では、後処理を、類似性が識別されることの最終的な判定が行われる前に実行することができる。１つのそのような実施形態では、後処理は、識別された類似性が有効または無効のどちらであるかを判定する形で実行される。言い換えると、後処理を、偽陽性を除去することを試みる形で（すなわち、ターゲット・パケットの音声内容と基準パケットの音声内容との類似性の誤った識別を除去するために）実行することができる。
【００９６】
図５に示されているように、後処理が実行される実施形態では、ステップ５１２で類似性が識別される場合に、方法５００は、ステップ５１２からステップ５１２Ａに進む（ステップ５１６に直接に進むのではなく）。ステップ５１２Ａでは、１つまたは複数の最適化ヒューリスティックスを含むことができる前処理を実行して、識別された類似性の妥当性を評価する（すなわち、ステップ５１２で識別された類似性が偽陽性であるか否かを判定する）。ステップ５１５Ｂでは、識別された類似性が有効であるかどうかに関する判定を行う。識別された類似性が有効であるかどうかに関する判定は、後処理に基づいて行われる。
【００９７】
識別された類似性が有効ではない（すなわち、識別された類似性が偽陽性であるとの判定が行われる）場合には、類似性は、現在のターゲット・パケットについて識別されず（すなわち、方法５００はステップ５１４に進む）、ステップ５１４から方法５００はステップ５０４に戻って、次の現在のターゲット・パケットすなわちｉ＝ｉ＋１）について方法５００を再実行する。識別された類似性が有効である（すなわち、識別された類似性が偽陽性ではないとの判定が行われる）場合には、類似性が現在のターゲット・パケットについて識別され（すなわち、方法５００はステップ５１６に進む）、ステップ５１６から、方法５００はステップ５０４に戻って、次の現在のターゲット・パケットすなわちｉ＝ｉ＋１）について方法５００を再実行する。
【００９８】
後処理は、識別された類似性が有効であるか否かを評価する任意の形で実行することができる。一実施形態では、後処理は、ターゲット・パケットおよび基準パケットから抽出されたＬＳＰ値を使用して実行される。一実施形態では、後処理を、ターゲット・パケットおよび／または基準パケットから抽出された他の音声コーディング・パラメータ（たとえば、レート情報、エンコーディング・タイプ情報、音量／出力情報、利得情報、および類似物、ならびにその様々な組合せ）を使用して実行することができる。他の音声コーディング・パラメータを、任意の時に（たとえば、ＬＳＰ値が抽出される時、類似性が抽出されたＬＳＰ値を使用して識別された後、および類似物）ターゲット・パケットおよび基準パケットから抽出することができる。一実施形態では、後処理を、図４の方法４００のステップ４０９に関して図示し、説明したように実行することができる。
【００９９】
一実施形態では、ターゲット・パケット・ストリームの音声内容と基準パケット・ストリームの音声内容との間の類似性が識別される時に、識別された類似性の妥当性を評価することができる。識別された類似性の妥当性の評価を、複数の異なる形で実行することができる。本明細書で説明するように、識別された類似性の妥当性の評価を、ターゲット音声パケットおよび基準音声パケットと、レート・パターン・マッチングと、レート／タイプ・マッチングと、類似物と、ならびにその様々な組合せの評価を使用して実行することができる。
【０１００】
一実施形態では、識別された類似性の妥当性の評価を、ターゲット・パケットの音声内容の音量特性と基準パケットの音声内容の音量特性との比較を使用して実行することができる。識別された類似性の妥当性の評価を、音量特性の比較を使用して実行することができ、識別された類似性の妥当性を評価する他の方法と共にまたはその代わりに実行することができる。
【０１０１】
たとえば、１つのそのような実施形態では、音量情報が、各ターゲット・パケットから抽出され、音量情報が、各基準パケットから抽出され、抽出された音量情報が、評価される。抽出された音量情報を、対単位の形で（すなわち、図５に関して図示し、説明した対単位ＬＳＰ比較に類似する形で）評価することができる。音量情報は、任意の形で、プロセス内の任意の点で抽出することができる。たとえば、音量情報を、ＬＳＰ情報が抽出される時に抽出することができ、あるいは、類似性が判定された後に限って抽出することができる（たとえば、音量比較を実行する必要がない場合に音量情報の抽出を防ぐために）。
【０１０２】
一実施形態では、Ｋ回の音量比較すなわち、Ｎ個のターゲット・パケットとＮ個の基準パケットのＫ個のセットのうちの１つの組合せごとに１回の音量比較を行うことができる。この実施形態では、音量比較値は、Ｎ個のターゲット・パケットとＮ個の基準パケットのＫ個のセットのうちの１つの組合せごとに計算され、これによって、Ｋ個の音量比較値のセット（またはベクトル）が作られる。一実施形態では、Ｋ個の音量比較値のそれぞれが、音量しきい値ｖＴＨと比較される。音量比較値がｖＴＨを満足する場合には、Ｎ個のターゲット・パケットとＮ個の基準パケットのＫ個のセットのうちの関連する１つのその組合せに関する関連するＬＳＰ比較が、有効と考えられ、音量比較値がｖＴＨを満足しない場合には、Ｎ個のターゲット・パケットとＮ個の基準パケットのＫ個のセットのうちの関連する１つのその組合せに関する関連するＬＳＰ比較が、無効と考えられる。
【０１０３】
一実施形態では、Ｋ個の音量比較値は、Ｎ個のターゲット・パケットから抽出された音量値と、ｉ−Ｋｍｉｎ…ｉ−Ｋｍａｘ−Ｎというウィンドウ中に受け取られたＮ個の基準パケットのＫ個のセットから抽出された音量値のＫ個のセットのそれぞれとの間の比として計算される。一実施形態では、Ｋ個の音量比較値は、音量比較ベクトル（ＶＴｉと表される）を形成する。この実施形態では、音量比較ベクトルＶＴｉは、ターゲット・パケットｉから始まるＮ個のターゲット・パケットのウィンドウに対応するが、次のように、Ｋ個の音量比較値のベクトルとして定義される（ここで、Ｋ＝Ｋｍａｘ−Ｋｍｉｎ＋１である）。
【数７】
2011515881.tif 000009
一実施形態では、音量比較値ＶＴｉ，ｋ（ただし、Ｋｍｉｎ≦ｋ≦Ｋｍａｘ）は、次のように計算される。
【数８】
2011515881.tif 000010
【０１０４】
主に、識別された類似性が有効と考えられるかどうかを判定するレート・パターン・マッチング技法、レート／タイプ・マッチング技法、および／または音量比較技法に関して図示され、説明されるが、識別された類似性が有効と考えられるかどうかの判定に、ターゲット・音声パケットおよび／または基準音声パケットから抽出された様々な他の音声コーディング・パラメータを使用することができる。たとえば、ＦＣＢ利得情報、ＡＣＢ利得情報、ピッチ情報、および類似物、ならびにその様々な組合せのうちの１つまたは複数を、識別された類似性が有効と考えられるかどうかの判定に使用することができる。
【０１０５】
図５に示されているように、類似性が、現在のターゲット・パケットに関して識別される（ステップ５１６として示されている）場合に、エコー末尾が、類似性判定の副産物として自動的に識別される。エコー・パス遅延は、ＤＥＬＡＹ＝ｋ＊ｆとして計算され、ここで、ｋは、最小距離値（すなわち、図５の方法５００のステップ５１０で識別されたｍｉｎ［ｅＴｉ，ｋ］）であり、ｆは、使用されるコーディングのタイプに依存して変化し得るサンプリング・インターバルである（たとえば、ＥＶＲＣコーディングに関して２０ｍｓ）。したがって、本発明を使用すると、エコー・パス遅延は、ターゲット・パケット・ストリームのターゲット・パケットによって伝えられる音声内容と基準パケット・ストリームの基準パケットによって伝えられる音声内容との間に類似性があるか否かに関する判定の副産物として簡単に判定される。
【０１０６】
本明細書で説明するように、ヒステリシスを、ターゲット・パケットの音声内容が基準パケットの音声内容のエコーを含むか否かの判定に使用してもしなくてもよい。ヒステリシスが使用されない実施形態では、現在のターゲット・パケットについて実行された処理に基づく類似性の識別は、ターゲット・パケット・ストリームの音声内容内の基準パケット・ストリームの音声内容のエコーの識別と考えられる。ヒステリシスが使用される実施形態では、現在のターゲット・パケットについて実行された処理に基づく類似性の識別は、ターゲット・パケット・ストリームの音声内容内の基準パケット・ストリームの音声内容のエコーの識別と考えても考えなくてもよい（すなわち、この判定は、１つまたは複数のヒステリシス条件に依存する）。
【０１０７】
一実施形態では、本発明のエコー検出へのヒステリシスの適用は、エコーが検出されたことの判定が行われる前に、ｈ個の連続するターゲット・パケットの類似性の識別（すなわち、類似性が識別される、方法５００のｈ回の連続する実行）を必要とする場合がある。一実施形態では、連続するターゲット・パケット内で類似性が識別され続ける限り（たとえば、ｈより多数の連続するターゲット・パケットごとに）、ターゲット・パケットの音声内容が、基準パケットの音声内容のエコーを含むと考えることができる。一実施形態では、ｈ個の連続するターゲット・パケットが、類似性の識別なしで処理されるまで、ターゲット・パケットの音声内容が、基準パケットの音声内容のエコーを含むと考えることができる。言い換えると、ｈ＝１の場合に、単一の類似性の識別が、エコーの検出であると考えられる（すなわち、ｈ＝１は非ヒステリシス実施形態である）。
【０１０８】
一実施形態では、ヒステリシス判定を、各ターゲット・パケット・ストリームに関連する状態を使用して管理することができる。１つのそのような実施形態では、各ターゲット・パケット・ストリームは、必ず、２つの状態すなわち、非エコー状態（すなわち、エコーが検出されたと考えられない状態）およびエコー状態（すなわち、エコーが検出されたと考えられる状態）のうちの１つであることができる。ターゲット・パケット・ストリームが非エコー状態である場合に、ターゲット・パケット・ストリームは、ｈ個の連続するパケットについて類似性が識別されるまで（その時点でターゲット・パケット・ストリームはエコー状態に切り替えられる）非エコー状態のままである。ターゲット・パケット・ストリームがエコー状態である場合に、ターゲット・パケット・ストリームは、ｈ個（またはある他の個数）の連続するターゲット・パケットが類似性の識別なしで処理されるまで（その時点でターゲット・パケット・ストリームは非エコー状態に切り替えられる）エコー状態のままである。
【０１０９】
したがって、エコーが検出される前にｈ個の連続するターゲット・パケットについて類似性の識別を必要とするヒステリシスに関して、方法５００が図３の方法３００のステップ３０４として実行される場合に、図３の方法３００のステップ３０４は、図５の方法５００のｈ回の連続する実行が類似性の識別を生じるまで繰り返される必要がある。言い換えると、明瞭にするために省略されているが、方法３００のステップ３０６は、図５の方法５００のｈ回の連続する実行が類似性の識別を生じるまでエコーの検出を防ぐことによって、ヒステリシスを実施することができる。さらに、ヒステリシスがエコーを検出するために使用される場合に、エコーが検出されたことの最初の判定に応答して、エコー抑制がターゲット・パケット（１つまたは複数）に適用される前に、追加の後処理を実行することができる。この追加の後処理（図３のステップ３０６と３０８との間に配置されるオプションの処理ステップとして動作することができる）は、図４のステップ４０９および図５のステップ５１５に関して説明した後処理に類似する後処理を含むがこれに限定されない任意のタイプの後処理とすることができる。
【０１１０】
主にパケット・ネットワーク内で展開されたアコースティック・エコー処理モジュールを使用する（実例として、図１のパケット・ネットワーク１０２内で展開されたＡＥＰＭ  １２０を使用する）エコー検出およびエコー抑制の提供に関して図示され、説明されるが、本発明のエコー検出機能およびエコー抑制機能を、エンド・ユーザ端末で実施することができる（本明細書では端末ベースの実施態様と称する）。本発明の端末ベースの実施態様は、図７および図８に関してよりよく理解することができる。
【０１１１】
図８に、本発明のエコー検出機能およびエコー抑制機能がエンド・ユーザ端末内で実施される、通信ネットワークの高水準ブロック図を示す。具体的に言うと、図８の通信ネットワーク８００は、パケット・ネットワーク８０２を介して通信するエンド・ユーザ端末８０３Ａおよびエンド・ユーザ端末８０３Ｚを含む。具体的に言うと、パケット通信ネットワーク８０２は、エンド・ユーザ端末８０３Ａとエンド・ユーザ端末８０３Ｚとの間のパケットベースの音声呼をサポートする。図８に示されているように、エンド・ユーザ端末８０３Ａは、ＡＥＰＭ  ８１３Ａを含み、エンド・ユーザ端末８０３Ｚは、ＡＥＰＭ  ８１３Ｚを含む。ＡＥＰＭ  ８１３Ａは、エンド・ユーザ端末１０３Ａのエンド・ユーザＡに本発明のエコー検出機能およびエコー抑制機能を提供し（および、オプションで、端末１０３Ｚのエンド・ユーザＺにエコー検出機能およびエコー抑制機能を提供することができ）、同様に、ＡＥＰＭ  ８１３Ｚは、エンド・ユーザ端末１０３Ｚのエンド・ユーザＺに本発明のエコー検出機能およびエコー抑制機能を提供する（および、オプションで、端末１０３Ａのエンド・ユーザＡにエコー検出機能およびエコー抑制機能を提供することができる）。
【０１１２】
パケットベースの音声呼の各エンド・ユーザ端末８０３がＡＥＰＭ  ８１３を含む音声呼に関して図示され、説明されるが、パケットベースの音声呼にかかわるエンド・ユーザの一方だけがＡＥＰＭ  ８１３を含むエンド・ユーザ端末８０３を使用する場合に、本発明のエコー検出機能およびエコー抑制機能を提供することができる。エンド・ユーザ端末８０３のＡＥＰＭ  ８１３が単一方向のエコー検出およびエコー抑制をサポートする、１つのそのような実施形態では、エンド・ユーザの一方（すなわち、エコー検出およびエコー抑制をその代わりにリモート・エンド・ユーザに提供することができるが、おそらくＡＥＰＭ  ８１３を含むエンド・ユーザ端末８０３に関連するローカル・エンド・ユーザ）だけが、本発明のエコー検出機能およびエコー抑制機能の利益を実現する。エンド・ユーザ端末８０３のＡＥＰＭ  ８１３が両方向のエコー検出およびエコー抑制をサポートする、もう１つのそのような実施形態では、エンド・ユーザの両方が、本発明のエコー検出機能およびエコー抑制機能の利益を実現する。
【０１１３】
図９に、本発明のエコー検出機能およびエコー抑制機能がエンド・ユーザ端末内で実施される、通信ネットワークの高水準ブロック図を示す。具体的に言うと、図９の通信ネットワーク９００は、パケット・ネットワーク９０２を介して通信するエンド・ユーザ端末８０３Ａおよびエンド・ユーザ端末８０３Ｚを含み、各エンド・ユーザ端末８０３は、音声通信をサポートするコンポーネントを含む。図９に示されているように、エンド・ユーザ端末８０３は、オーディオ入力デバイス（たとえば、マイクロホン）、オーディオ出力デバイス（たとえば、スピーカ）、およびネットワーク・インターフェースなど、パケット・ネットワークを介する音声通信をサポートするコンポーネントを含む。
【０１１４】
具体的に言うと、エンド・ユーザ端末８０３Ａは、オーディオ入力デバイス８０４Ａ、ネットワーク・インターフェース８０５Ａ、およびオーディオ出力デバイス８０６Ａを含み、エンド・ユーザ端末８０３Ｚは、オーディオ入力デバイス８０４Ｚ、ネットワーク・インターフェース８０５Ｚ、およびオーディオ出力デバイス８０６Ｚを含む。オーディオ入力デバイス８０４およびオーディオ出力デバイスは、図１のエンド・ユーザ端末１０３のオーディオ入力デバイス１０４およびオーディオ出力デバイス１０６に類似する形で動作する。エンド・ユーザ端末８０３のコンポーネントは、個々の物理デバイスとすることができ、あるいは、１つまたは複数の物理デバイスに組み合わせることができる。たとえば、エンド・ユーザ端末８０３は、コンピュータ、ＶｏＩＰ電話機、および類似物を含むことができる。
【０１１５】
ネットワーク・インターフェース８０５は、エンコーディング／デコーディング機能、パケット化機能、および類似物に関して図１のネットワーク・インターフェース１０５に類似する形で動作するが、図１のエンド・ユーザ端末１０３とは異なって、図９のエンド・ユーザ端末８０３Ａ（および、オプションでエンド・ユーザ端末８０３Ｚ）は、本発明のエコー検出機能およびエコー抑制／キャンセレーション機能をサポートするＡＥＰＭを含むように適合される。ネットワーク・インターフェース８０５Ａは、エンコーダ８１１Ａ、ネットワーク・ストリーミング・モジュール８１２Ａ、ＡＥＰＭ  ８１３Ａ、およびデコーダ８１４Ａを含む。ネットワーク・インターフェース８０５Ｚは、エンコーダ８１１Ｚ、ネットワーク・ストリーミング・モジュール８１２Ｚ、ＡＥＰＭ  ８１３Ｚ、およびデコーダ８１４Ｚを含む。
【０１１６】
エンド・ユーザ端末８０３Ａは、エンド・ユーザ端末８０３Ｚに音声を供給する。エンド・ユーザＡの音声は、オーディオ入力デバイス８０４Ａによって感知される（明瞭にするために、エンド・ユーザ端末８０３Ａでのエコー・カップリングはないと仮定する）。オーディオ入力デバイス８０４Ａは、エンコーダ８１１Ａに音声を供給し、エンコーダ８１１Ａは、その音声をエンコードする。エンコーダ８１１Ａは、エンコードされた音声をパケット通信ネットワーク８０２を介してエンド・ユーザ端末８０３Ｚに向けてストリーミングするために、エンコードされた音声をネットワーク・ストリーミング・モジュール８１２Ａに供給する。エンコーダは、ターゲット・パケット・ストリーム（エンド・ユーザ端末８０３Ｚから受信される）内のエンド・ユーザＡの音声のエコーを検出し、抑制／キャンセルするために、エンコードされた音声を基準パケット・ストリームとしてＡＥＰＭ  ８１３Ａにも供給する。エンド・ユーザ端末８０３Ｚは、ストリーミングされたエンコードされた音声をエンド・ユーザ端末８０３Ａから受信する。ネットワーク・ストリーミング・モジュール８１２Ｚは、ストリーミングされたエンコードされた音声をエンド・ユーザ端末８０３Ａから受信する。ネットワーク・ストリーミング・モジュール８１２Ｚは、エンコードされた音声をデコーダ８１４Ａに供給する。デコーダ８１４Ｚは、エンコードされた音声をデコードし、エンド・ユーザＡのデコードされた音声をオーディオ出力デバイス８０６Ｚに供給し、オーディオ出力デバイス８０６Ｚは、エンド・ユーザＡの音声を再生する。
【０１１７】
エンド・ユーザ端末８０３Ｚは、音声をエンド・ユーザ端末８０３Ａに供給する。エンド・ユーザＺの音声は、オーディオ入力デバイス８０４Ｚによって感知される。エンド・ユーザＡの音声（すなわち、オーディオ出力デバイス８０６Ｚによって再生される音声）も、オーディオ入力デバイス８０４Ｚによって感知される場合がある（すなわち、エコーとして）。オーディオ入力デバイス８０４Ｚは、エンコーダ８１１Ｚに音声を供給し、エンコーダ８１１Ｚは、その音声をエンコードする。エンコーダ８１１Ｚは、エンコードされた音声をパケット・ネットワーク８０２を介してエンド・ユーザ端末８０３Ａに向けてストリーミングするために、エンコードされた音声をネットワーク・ストリーミング・モジュール８１２Ｚに供給する。エンド・ユーザ端末８０３Ａは、ストリーミングされたエンコードされた音声をエンド・ユーザ端末８０３Ｚから受信する。ネットワーク・ストリーミング・モジュール８１２Ａは、ストリーミングされたエンコードされた音声をエンド・ユーザ端末８０３Ｚから受信する。ネットワーク・ストリーミング・モジュール８１２Ａは、ターゲット・パケット・ストリーム内のエンド・ユーザＡの音声のエコーを検出し、抑制するために、エンコードされた音声をターゲット・パケット・ストリームとしてＡＥＰＭ  ８１３Ａに供給する。ＡＥＰＭ  ７１３Ａは、すべてのエコーを検出し、抑制／キャンセルし、適合されたターゲット・パケット・ストリームをデコーダ８１４Ａに供給する。デコーダ８１４Ａは、エンコードされた音声をデコードし、エンド・ユーザＺのデコードされた音声をオーディオ出力デバイス８０６Ａに供給し、オーディオ出力デバイス８０６Ａは、エンド・ユーザＺの音声を再生する。
【０１１８】
図９に示されているように、エンド・ユーザ端末８０３Ａは、エンド・ユーザ端末８０３Ａからエンド・ユーザ端末８０３Ｚに送信される音声パケットのオリジナル・ストリーム（基準パケット・ストリームとして示される）へのアクセスを有し、エンド・ユーザ端末８０３Ｚからエンド・ユーザ端末８０３Ａに送信される音声パケットの戻りストリーム（ターゲット・パケット・ストリームとして示される）へのアクセスを有するので、エンド・ユーザ端末８０３Ａは、エンド・ユーザ端末７０３Ａに関連するエンド・ユーザＡのエコーを検出し、抑制するために、本発明のエコー検出機能およびエコー抑制機能を適用することができる。しかし、図９に示されているように、エンド・ユーザ端末は、本発明のエコー検出および抑制／キャンセレーション処理を実行するために、様々な他の形で基準パケット・ストリームおよびターゲット・パケット・ストリームにアクセスすることができる。
【０１１９】
図９に示され、図９に関して説明したように、エコー検出および抑制／キャンセレーションがエンド・ユーザ端末で実施される一実施形態では、本発明のエコー検出機能および抑制／キャンセレーション機能を、受信するエンド・ユーザ端末上でターゲット・パケット・ストリームに適用することができる。たとえば、エンド・ユーザ端末８０３ＡのＡＥＰＭ  ８１３Ａは、エコー処理を適用して、エコーがエンド・ユーザ端末８０３Ａから再生されるオーディオに含まれないようにすることができる（すなわち、エコー処理は、ターゲット・パケット・ストリームが既にエンド・ユーザ端末８０３Ｚからパケット・ネットワーク８０２をトラバースした後に適用される）。同様に、たとえば、エンド・ユーザ端末８０３ＺのＡＥＰＭ  ８１３Ｚは、エコー処理を適用して、エコーがエンド・ユーザ端末８０３Ｚから再生されるオーディオに含まれないようにすることができる（すなわち、エコー処理は、ターゲット・パケット・ストリームが既にエンド・ユーザ端末８０３Ａからパケット・ネットワーク８０２をトラバースした後に適用される）。
【０１２０】
図９に示され、図９に関して説明したように、エコー検出および抑制／キャンセレーションがエンド・ユーザ端末で実施される一実施形態では、本発明のエコー検出機能およびエコー抑制／キャンセレーション機能を、送信するエンド・ユーザ端末上でターゲット・パケット・ストリームに対して実施することができる。たとえば、エンド・ユーザ端末８０３ＺのＡＥＰＭ  ８１３Ｚは、エコー処理を適用して、エコーがエンド・ユーザ端末８０３Ａから再生されるオーディオに含まれないようにすることができる（すなわち、エコー処理は、ターゲット・パケット・ストリームがエンド・ユーザ端末８０３Ｚからエンド・ユーザ端末８０３Ａまでパケット・ネットワーク８０２をトラバースする前に適用される）。同様に、たとえば、エンド・ユーザ端末８０３ＡのＡＥＰＭ  ７１３Ａは、エコー処理を適用して、エコーがエンド・ユーザ端末８０３Ｚから再生されるオーディオに含まれないようにすることができる（すなわち、エコー処理は、ターゲット・パケット・ストリームがエンド・ユーザ端末８０３Ａからエンド・ユーザ端末８０３Ｚまでパケット・ネットワーク８０２をトラバースする前に適用される）。
【０１２１】
さらに、主に代替実施形態として図示され、説明されるが一実施形態では、エンド・ユーザ端末は、伝送の両方の方向でエコー検出およびエコー抑制をサポートすることができる。１つのそのような実施形態では、単一のＡＥＰＭを、（１）ターゲット・パケット・ストリームがネットワークをトラバースする前に送信方向でエコー検出およびエコー抑制を提供するためにエンコーダとネットワーク・ストリーミング・モジュールとの間で、および（２）ターゲット・パケット・ストリームがネットワークをトラバースした後に受信方向でエコー検出およびエコー抑制を提供するためにネットワーク・ストリーミング・モジュールとデコーダとの間で、実施することができる。もう１つの実施形態では、エンド・ユーザ端末を、送信方向および受信方向について別々のＡＥＰＭを使用して実施することができる。
【０１２２】
したがって、２つのエンド・ユーザ端末がパケット・ネットワークを介するパケットベースの音声呼に参加するが、２つのエンド・ユーザ端末のうちの１つだけが本発明のエコー検出機能およびエコー抑制機能を含む場合に、パケットベースのエコー検出およびエコー抑制をサポートしないエンド・ユーザ端末を使用するエンド・ユーザが、それでもパケットベースのエコー検出およびエコー抑制の利益を享受するように、一方のエンド・ユーザ端末が、それでも伝送の両方の方向でエコー検出およびエコー抑制を提供できることに留意されたい。
【０１２３】
主に両方向音声呼の伝送の一方向でのエコー検出およびエコー抑制の提供に関して図示され、説明されるが、本発明によるエコー検出およびエコー抑制を、両方向音声呼の伝送の両方の方向で提供することができる。一実施形態では、エコー検出およびエコー抑制を、ネットワーク・ベースの実施態様（すなわち、伝送の両方の方向がネットワーク・ベースのＡＥＣＭをトラバースする）を使用して伝送の両方の方向で提供することができる。一実施形態では、エコー検出およびエコー抑制を、端末ベースの実施態様（すなわち、両方のエンド・ユーザ端末がＡＥＣＭを含む）を使用して伝送の両方の方向で提供することができる。一実施形態では、エコー検出およびエコー抑制を、ネットワーク・ベースの実施態様および端末ベースの実施態様の組合せを使用して伝送の両方の方向で提供することができる。たとえば、１つのエンド・ユーザ端末だけがＡＥＣＭを含む場合に、エコー・キャンセレーションおよびエコー抑制を、伝送の一方の方向ではそのエンド・ユーザ端末によって、伝送の他方の方向ではネットワークによって（または両方の方向でネットワークによって）提供することができる。
【０１２４】
主に２つのエンド・ユーザの間のパケットベースの音声呼に関して図示され、説明されるが、本発明によるエコー検出機能およびエコー抑制機能を、３つ以上のエンド・ユーザの間のパケットベースの音声呼の間のエコー検出およびエコー抑制に使用することができる。そのような実施形態では、ネットワーク・ベースのエコー検出およびエコー抑制ならびに／または端末ベースのエコー検出およびエコー抑制を、パケットベースの音声呼に参加するエンド・ユーザの異なる組合せの間でエコーを検出し、抑制するために利用することができる。
【０１２５】
主に１つの音声呼に関して図示され、説明されるが、本発明を、ネットワークによってサポートされる音声呼ごとに実行することができる。ネットワーク・ベースの実施態様について、ＡＥＰＭの設計に応じて、１つのＡＥＰＭが、ネットワークがサポートできる大量の呼をサポートできるものとすることができ、あるいは、ネットワークがサポートできるすべての音声呼について本発明のエコー検出機能およびエコー抑制機能をサポートできるように、複数のＡＥＰＭをネットワーク内で展開することができる。端末ベースの実施態様について、本発明のエコー検出機能およびエコー抑制機能に関するサポートのスケーリングは、エンド・ユーザが既存ユーザ端末を本発明のエコー検出機能およびエコー抑制機能を提供するＡＥＰＭを含む機能強化されたユーザ端末に交換する時に行われる。
【０１２６】
一実施形態では、本発明のエコー検出機能およびエコー抑制機能のネットワーク・ベースの実施態様および端末ベースの実施態様の組合せが使用される。この組み合わされた実施態様は、様々な異なる理由のために、たとえば、エンド・ユーザが既存エンド・ユーザ端末（本発明のＡＥＰＭを含まない）から本発明のエコー検出機能およびエコー抑制機能を提供するＡＥＰＭを含むエンド・ユーザ端末に切り替えている推移期間中にエコー検出およびエコー抑制を提供するために、使用することができる。ネットワーク・ベースの実施態様と端末ベースの実施態様との間のバランスは、多数の異なる形で管理することができる。
【０１２７】
たとえば、１つのそのような実施形態では、端末ベースの実施態様の推定値を使用して、ネットワーク・ベースの実施態様をスケーリングすることができる（たとえば、ネットワーク・ベースの実施態様が、本発明のエコー検出機能およびエコー抑制機能をサポートするエンド・ユーザ端末を有しないエンド・ユーザにエコー検出およびエコー抑制を提供するのに使用される場合）。言い換えると、エンド・ユーザが、既存エンド・ユーザ端末（本発明のＡＥＰＭを含まない）から本発明のエコー検出機能およびエコー抑制機能を提供するＡＥＰＭを含むエンド・ユーザ端末への切替を開始する時に、ネットワーク・ベースの実施態様のスコープを、それ相応にスケール・バックすることができる。
【０１２８】
主にポイントツーポイント呼の音声内容に関するエコー検出およびエコー抑制の提供に関して図示され、本明細書で説明されるが、本発明のエコー検出機能およびエコー抑制機能を使用して、多者間呼（ｍｕｌｔｉ−ｐａｒｔｙ  ｃａｌｌｉｎｇ）（たとえば、音声会議）の音声内容に関するエコー検出およびエコー抑制を提供することができる。主に音声内容に関するエコー検出およびエコー抑制の提供に関して図示され、説明されるが、本発明のエコー検出機能およびエコー抑制機能を使用して、他のタイプのオーディオ内容に関するエコー検出およびエコー抑制を提供することができる。同様に、オーディオ内容全般に関するエコー検出およびエコー抑制の提供に関して図示され、本明細書で説明されるが、本発明のエコー検出機能およびエコー抑制機能を使用して、エコーを含む場合がある他のタイプの内容に関するエコー検出およびエコー抑制を提供することができる。さらに、主にアコースティック・エコーの検出および抑制に関して図示され、説明されるが、本発明を、オーディオベースの通信システムに導入される可能性がある他のタイプのエコー（たとえば、回線エコー、ハイブリッド・エコー、および類似物、ならびにその様々な組合せ）の検出および抑制に使用することができる。言い換えると、本発明は、エコーのタイプまたはエコーが導入され得る内容のタイプによって限定されることを意図されていない。
【０１２９】
図１０に、本明細書に記載の機能を実行する際の使用に適する汎用コンピュータの高水準ブロック図を示す。図１０に示されているように、システム１０００は、プロセッサ要素１００２（たとえば、ＣＰＵ）、メモリ１００４、たとえばランダム・アクセス・メモリ（ＲＡＭ）および／または読取り専用メモリ（ＲＯＭ）、アコースティック・エコー処理モジュール（ＡＥＰＭ）１００５、および様々な入出力デバイス１００６（たとえば、テープ・ドライブ、フロッピ・ドライブ、ハード・ディスク・ドライブ、またはコンパクト・ディスク・ドライブを含むがこれに限定されないストレージ・デバイス、受信器、送信器、スピーカ、ディスプレイ、出力ポート、およびユーザ入力デバイス（キーボード、キーパッド、マウス、および類似物））を含む。
【０１３０】
本発明を、ソフトウェアならびに／またはソフトウェアおよびハードウェア、たとえば、特定用途向け集積回路（ＡＳＩＣ）、汎用コンピュータ、または他のハードウェア機器の組合せで実施できることに留意されたい。一実施形態では、本ＡＥＣプロセス１００５を、メモリ１００４にロードし、プロセッサ要素１００２によって実行して、上で述べた機能を実施することができる。したがって、本発明のＡＥＣプロセス１００５（関連するデータ構造を含む）を、コンピュータ可読媒体または担体、たとえば、ＲＡＭメモリ、磁気ドライブ、磁気ディスケット、光ドライブ、または光ディスケット、および類似物に格納することができる。
【０１３１】
本明細書でソフトウェア方法として述べたステップの一部を、ハードウェア内で、たとえば、様々な方法ステップを実行するためにプロセッサと協力する回路網として実施できることが企図されている。本発明の諸部分を、コンピュータ・プログラム製品として実施することができ、ここで、コンピュータ命令は、コンピュータによって処理される時に、本発明の方法および／または技法が呼び出されるか他の形で提供されるようにコンピュータの動作を適合させる。発明的方法を呼び出す命令を、固定媒体もしくは取外し可能媒体に格納し、放送信号担持媒体もしくは他の信号担持媒体内のデータ・ストリームを介して伝送し、かつ／または命令に従って動作するコンピューティング・デバイス内の作業メモリ内に格納することができる。
【０１３２】
本発明の教示を組み込む様々な実施形態を図示し、本明細書で詳細に説明したが、当業者は、それでもこれらの教示を組み込む多数の他の変更された実施形態をたやすく考案することができる。
【図１】
2011515881.tif 000011
【図２】
2011515881.tif 000012
【図３】
2011515881.tif 000013
【図４】
2011515881.tif 000014
【図５】
2011515881.tif 000015
【図６】
2011515881.tif 000016
【図７】
2011515881.tif 000017
【図８】
2011515881.tif 000018
【図９】
2011515881.tif 000019
【図１０】
2011515881.tif 000020
【国際調査報告】
2011515881.tif 000021
2011515881.tif 000022