(57)【要約】【課題】  エコーパスの遅延時間を高精度に検出して、エコーパス状態の学習精度を高めることができるエコーキャンセラを提供する。【解決手段】  本発明は、適応フィルタ及びフィルタ係数更新部を有する擬似エコー信号作成手段が作成した擬似エコー信号を用い、送話信号に含まれているエコー成分を除去するエコーキャンセラに関する。そして、エコーキャンセラに入力される受話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する受話信号フィルタと、エコーキャンセラに入力される送話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する送話信号フィルタと、両フィルタから出力された生成信号間の相関が高くなる時間差を探索して、エコーパスでの遅延時間を検出し、フィルタ係数更新部に与える遅延時間検出手段とを有することを特徴とする。【選択図】      図１
2008124577.tif 000002
【特許請求の範囲】
【請求項１】
適応フィルタ及びフィルタ係数更新部を有する擬似エコー信号作成手段が作成した擬似エコー信号を用い、送話信号に含まれているエコー成分を除去するエコーキャンセラにおいて、
当該エコーキャンセラに入力される受話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する受話信号フィルタと、
当該エコーキャンセラに入力される送話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する送話信号フィルタと、
上記受話信号フィルタが生成した信号と、上記送話信号フィルタが生成した信号との相関が高くなる時間差を探索して、エコーパスでの遅延時間を検出し、上記フィルタ係数更新部に与える遅延時間検出手段と
を有することを特徴とするエコーキャンセラ。
【請求項２】
コンピュータを、
擬似エコー信号を作成する、適応フィルタ及びフィルタ係数更新部を有する擬似エコー信号作成手段と、
当該エコーキャンセラに入力される受話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する受話信号フィルタと、
当該エコーキャンセラに入力される送話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する送話信号フィルタと、
上記受話信号フィルタが生成した信号と、上記送話信号フィルタが生成した信号との相関が高くなる時間差を探索して、エコーパスでの遅延時間を検出し、上記フィルタ係数更新部に与える遅延時間検出手段として
機能させることを特徴とするエコーキャンセラプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はエコーキャンセラ及びエコーキャンセラプログラムに関し、例えば、ＩＰ網を介して音声通信を行うＩＰ電話機（ソフトフォンを含む）に適用し得るものである。
【背景技術】
【０００２】
エコーキャンセラは、受話信号が送話信号に回り込むエコーパスの状態を推定し、受話信号から擬似エコー信号を作成し、送話信号におけるエコー成分を擬似エコー信号との相殺によって除去するものである。
【０００３】
ここで、既存の電話機の場合、マイクロフォンからスピーカへ回り込む音響エコーでも、ハイブリッド回路での回線エコーでも、そのエコーパスでの受話信号の遅延時間は、温度などで変化するが、その変化幅は小さい。そのため、擬似エコー信号を作成する擬似エコー信号作成部（適応フィルタやそのフィルタ係数の学習構成など）が、エコーパスの状態を推定する学習アルゴリズムを開始する際の遅延時間の初期値を固定値としても、問題を生じない。
【０００４】
今日、ソフトフォンを含めＩＰ電話機がかなり普及し始めている。このようなＩＰ電話機などの中には、エコーキャンセラの受話信号出力端子から受話信号が出力された時点から、その受話信号に係るエコー成分がエコーキャンセラの送話信号入力端子に戻ってくるまでの時点間の遅延時間が、温度変化によるような小さな変化を超えて大きく変動するものがある。例えば、エコーキャンセラから出ていった後の受話信号の処理系（例えば、処理待ちバッファ等）による処理時間や処理タイミングの変動や、マイクロフォンが捕捉した送話信号がエコーキャンセラに入力されるまでの処理系による処理時間や処理タイミングの変動によって、遅延時間が大きく変動する。このようにエコー成分の遅延時間の変動が大きいにも拘わらず、学習アルゴリズムを開始する際の遅延時間の初期値を固定値にすると、実際の遅延時間と、遅延時間の初期値とが大きく異なることも生じ、エコーパス状態の学習時の収束が遅くなり、エコー成分を有効に除去できないことも生じる。
【０００５】
そのため、遅延時間を検出して、学習アルゴリズムを開始する際の遅延時間の初期値に設定することも考えられる。エコーキャンセラから出力される受話信号と、エコーキャンセラに出力される送話信号との相関処理によって（例えば、非特許文献１参照）、遅延時間を捉えることも考えられる。
【非特許文献１】三上直樹著、「デジタル信号処理入門−マイコン時代の波形処理技術の基礎と応用」、ｐ．１０７、ＣＱ出版社１９８８年発行
【発明の開示】
【発明が解決しようとする課題】
【０００６】
とろこで、擬似エコー信号を適切に生成できるタイミングを早めようとした場合、学習アルゴリズムに設定する遅延時間の値を、ダブルトーク状態でも検出することが望ましい。
【０００７】
しかしながら、受話信号に係る遠端話者と送話信号に係る近端話者の声が似ていて、通話で同じような表現を両者が用いた場合には（会話であるので同じ用語を話す可能性は高い）、受話信号とエコー成分との相関によってではなく、相関が高くなることもあり、遅延時間を誤って検出することも生じる。誤った遅延時間を、学習アルゴリズムで利用する設定値にすると、当然に、学習での収束も遅くなる。
【０００８】
なお、エコーキャンセラがハードウェア的に実現されている場合だけでなく、エコーキャンセラが、エコーキャンセラプログラムをＣＰＵが実行することによって実現されている場合にも、上述した課題を生じる。
【０００９】
そのため、エコーパスに係る遅延時間を高精度に検出して、エコーパス状態の学習精度を高めることができるエコーキャンセラ及びエコーキャンセラプログラムが望まれている。
【課題を解決するための手段】
【００１０】
第１の本発明は、適応フィルタ及びフィルタ係数更新部を有する擬似エコー信号作成手段が作成した擬似エコー信号を用い、送話信号に含まれているエコー成分を除去するエコーキャンセラにおいて、（１）当該エコーキャンセラに入力される受話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する受話信号フィルタと、（２）当該エコーキャンセラに入力される送話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する送話信号フィルタと、（３）上記受話信号フィルタが生成した信号と、上記送話信号フィルタが生成した信号との相関が高くなる時間差を探索して、エコーパスでの遅延時間を検出し、上記フィルタ係数更新部に与える遅延時間検出手段とを有することを特徴とする。
【００１１】
第２の本発明のエコーキャンセラプログラムは、コンピュータを、（１）擬似エコー信号を作成する、適応フィルタ及びフィルタ係数更新部を有する擬似エコー信号作成手段と、（２）当該エコーキャンセラに入力される受話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する受話信号フィルタと、（３）当該エコーキャンセラに入力される送話信号から、音声信号における個人差が大きい帯域に制限した信号を生成する送話信号フィルタと、（４）上記受話信号フィルタが生成した信号と、上記送話信号フィルタが生成した信号との相関が高くなる時間差を探索して、エコーパスでの遅延時間を検出し、上記フィルタ係数更新部に与える遅延時間検出手段として機能させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、エコーパスに係る遅延時間を高精度に検出して、エコーパス状態の学習精度を高めることができるエコーキャンセラ及びエコーキャンセラプログラムを提供できる。
【発明を実施するための最良の形態】
【００１３】
（Ａ）主たる実施形態
以下、本発明によるエコーキャンセラ及びエコーキャンセラプログラムによる一実施形態を、図面を参照しながら詳述する。
【００１４】
（Ａ−１）実施形態の構成
図１は、実施形態のエコーキャンセラ（エコーキャンセラ部）を含む電話端末の内部構成を示すブロック図である。
【００１５】
図１において、電話端末１００は、ネットワークＮＷを介して、図示しない他の電話端末と通話信号（受話信号及び送話信号）を授受するものである。なお、ネットワークＮＷは任意であるが、例えば、ＩＰ網である。
【００１６】
電話端末１００は、ネットワーク通信部１０１、エコーキャンセラ部１０２、スピーカ部１０３、マイクロフォン部１０４を有する（操作部や表示部などは省略している）。
【００１７】
ネットワーク通信部１０１は、ネットワークＮＷとの通信を行うものであり、例えば、パケットの組立、分解や、通信路変調、復調などを行うものである。
【００１８】
スピーカ部１０３は、受話信号を発音出力するものであり、図１の場合、レート変換やバッファリングやデジタル／アナログ変換などの機能も適宜含むものである。
【００１９】
マイクロフォン部１０４は、近端話者の送話を捕捉するものであり、図１の場合、フィルタやアナログ／デジタル変換やバッファリングなどの機能も適宜含むものである。
【００２０】
例えば、この実施形態の場合、８ｋＨｚ以下の広帯域音声信号を通信し得るものであり、デジタル信号におけるサンプリング周波数は１６ｋＨｚである。
【００２１】
エコーキャンセラ部１０２は、送話信号における受話信号のエコー成分を除去するものである。この実施形態の場合、例えば、インストールされたエコーキャンセラプログラムを、当該電話端末１００が有するＣＰＵが実行することにより、エコーキャンセラ部１０２が構成されるものであるが、機能的には、図１に示すように、受話信号フィルタ２００、送話信号フィルタ２０１、遅延計算部２０２、擬似エコー作成部２０３及びエコー相殺部２０４を有する。
【００２２】
なお、ネットワーク通信部１０１の一部機能も、エコーキャンセラプログラムと一体化されたプログラムとして用意するようにしても良い。
【００２３】
受話信号フィルタ２００は、受話信号から、個人差が大きい帯域に制限した信号を生成するものである。受話信号フィルタ２００としては、例えば、２ｋＨｚ〜４ｋＨｚの成分を通過させるバンドパスフィルタや、２ｋＨｚ以上の成分を通過させるハイパスフィルタ（２ｋＨｚ以下の成分を除外する低域除去フィルタであっても良い）などを適用できる。
【００２４】
送話信号フィルタ２０１は、エコー成分が除去される前の送話信号から、個人差が大きい帯域に制限した信号を生成するものである。送話信号フィルタ２０１としても、受話信号フィルタ２００と同様なバンドパスフィルタやハイパスフィルタを適用することができる。
【００２５】
なお、同一のフィルタを時分割的に、受話信号フィルタ２００又は送話信号フィルタ２０１として利用するようにしても良い。
【００２６】
図２は、複数人の音声信号の周波数特性をイメージ的に示す説明図である。図２に示すように、Ａ、Ｂ、Ｃという人の周波数特性は、２ｋＨｚ以下の成分は同様な特性であるが、２ｋＨｚ以上の成分では個人差が大きい。このような個人差が大きい帯域を利用することで、話者を弁別し易い。図２の周波数特性からだけ言えば、２ｋＨｚ以上の成分を利用すれば良いが、４ｋＨｚ以上の帯域はノイズの影響も受け易い。そのため、上述したような２ｋＨｚ〜４ｋＨｚの成分を通過させるバンドパスフィルタが好ましい。
【００２７】
遅延計算部２０２は、受話信号フィルタ２００から出力された信号と、送話信号フィルタ２０１から出力された信号との相関が最も高い時間差を探索することを通じて、エコーパスでの遅延時間を得るものである。すなわち、遅延計算部２０２は、当該エコーキャンセラ部１０２から出ていった受話信号が、当該エコーキャンセラ部１０２への送話信号にエコー成分として戻っているまでの遅延時間を算出するものである。
【００２８】
擬似エコー作成部２０３は、適応フィルタ及びフィルタ係数更新部からなり、受話信号（受話信号フィルタ２００によってフィルタリングされていない受話信号）などから、擬似エコー信号を作成するものである。擬似エコー作成部２０３のフィルタ係数更新部が、更新アルゴリズムを開始又は再開する際に必要とする遅延時間の初期値として、遅延計算部２０２が計算した遅延時間が利用される。フィルタ係数の更新アルゴリズムとしては、既存のＬＭＳ法、アフィン射影法、その他の方法などに従うアルゴリズムを適用することができる。
【００２９】
エコー相殺部２０４は、マイクロフォン部１０４からの送話信号に含まれているエコー成分を、擬似エコー作成部２０３からの擬似エコー信号を用いて除去するものであり、除去後の送話信号をネットワーク通信部１０１に与えるものである。
【００３０】
（Ａ−２）実施形態の動作
次に、以上のような構成を有する実施形態のエコーキャンセラ（エコーキャンセラ部１０２）の動作を、その周辺の動作と共に説明する。図３は、エコーキャンセラ部１０２がエコーキャンセラプログラムを中心として構成された場合における、概略的な処理の流れを示すフローチャートである。但し、実際上は、複数の処理が並列的に処理される。
【００３１】
ネットワーク通信部１０１によって、対向する端末との通話路が確立すると（ステップ３０１）、エコーキャンセラ部１０２が受話信号を取得してスピーカ部１０４から発音出力させる（ステップ３０２、３０３）。また、マイクロフォン部１０４が捕捉した送話信号がエコーキャンセラ部１０２に入力される（ステップ３０４）。
【００３２】
エコーキャンセラ部１０２から出力された受話信号及びエコーキャンセラ部１０２に入力される送話信号はそれぞれ、対応する受話信号フィルタ２００又は送話信号フィルタ２０１に入力され、個人差が大きい帯域のみが、これら受話信号フィルタ２００又は送話信号フィルタ２０１を通過し、遅延計算部２０２に与えられる（ステップ３０５）。個人差が大きい帯域のみにフィルタリングされた両信号の相関に基づき、遅延計算部２０２によって、エコーパスでの遅延時間が算出され、擬似エコー作成部２０３に与えられる（ステップ３０６）。
【００３３】
擬似エコー作成部２０３においては、与えられた遅延時間を初期値として、フィルタ係数の更新アルゴリズムが開始され、各時点のフィルタ係数を用いた適応フィルタの処理により擬似エコー信号が生成される（ステップ３０７）。そして、エコー相殺部２０４によって、マイクロフォン部１０４からの送話信号に含まれているエコー成分が、擬似エコー作成部２０３からの擬似エコー信号と相殺されて除去され、その除去後の操作信号がネットワーク通信部１０１によって、対向する端末に向けて送信される（ステップ３０８、３０９）。
【００３４】
通話路が切断されるまで、受話信号の取得（ステップ３０２）から始まる一連の処理が繰返し実行される。
【００３５】
なお、擬似エコー作成部２０３は、与えられた遅延時間を初期値としてフィルタ係数の更新アルゴリズムを開始した以降においては、与えられた遅延時間に基づいて、遅延時間の急激な変化が生じたか否かを判断する。そして、遅延時間に急激な変化が生じたと判断したときには、フィルタ係数の更新をリセットさせ、判断後の遅延時間を初期値としてフィルタ係数の更新アルゴリズムを再起動させる。
【００３６】
（Ａ−３）実施形態の効果
上記実施形態によれば、エコーパスにおける遅延時間を、受話信号及び送話信号から、個人差が大きい周波数帯域にフィルタリングして得た信号に基づいて検出するようにしたので、エコーパスにおける遅延時間の変動幅が広い場合にも、エコーパスに係る遅延時間を高精度に検出でき、エコーパス状態の学習精度を高め、エコー除去精度を向上させることができる。
【００３７】
例えば、遅延時間を検出しようとしたときに、遠端話者だけでなく近端話者も話している場合であっても、エコーパスに係る遅延時間を高精度に検出できる。
【００３８】
（Ｂ）他の実施形態
上記実施形態は、ソフトフォンに係るエコーキャンセラのようなエコーパスにおける遅延時間の変動幅が広い場合を意図してなされたものであるが、アナログ電話機用やハンズフリー電話機などの他の電話機用のエコーキャンセラに本発明を適用することができる。
【００３９】
また、上記実施形態においては、受話信号フィルタ２００及び送話信号フィルタ２０１の通過帯域が固定のものを示したが、通過帯域を、操作子（例えばボリューム）位置に応じて可変できるものであっても良い。ここで、受話信号フィルタ２００及び送話信号フィルタ２０１の帯域を連動して可変できるものであっても良く、また、個別に可変できるものであっても良い。また、通過帯域の可変を、通話を開始してから指示できるものであっても良い。
【００４０】
さらに、上記実施形態においては、遅延時間の検出処理が一段階のものを示したが、状況によっては多段階で検出を行うようにしても良い。例えば、受話信号及び送話信号を、２ｋＨｚ以上（〜上限周波数（８ｋＨｚ））にフィルタリングした信号に基づいた遅延時間の検出処理では、最も高い相関値でも閾値を超えていないときには、さらに、受話信号及び送話信号を、より帯域を狭くした３ｋＨｚ〜４ｋＨｚにフィルタリングした信号に基づいて遅延時間を検出するようにしても良い。
【００４１】
さらにまた、上記実施形態の説明では、エコーキャンセラが、エコーキャンセラプログラムとそれを実行するＣＰＵからなるソフトウェアを中心としたものとしたが、本発明は、ハードウェア構成によって実現しても良く、また、ソフトウェア構成とハードウェア構成とを混在させて実現しても良いことは勿論である。
【図面の簡単な説明】
【００４２】
【図１】実施形態のエコーキャンセラを含む電話端末の内部構成を示すブロック図である。
【図２】実施形態の受話信号フィルタ及び送話信号フィルタの特性の補助説明図である。
【図３】実施形態のエコーキャンセラの動作を示すフローチャートである。
【符号の説明】
【００４３】
１００…電話端末、１０１…ネットワーク通信部、１０２…エコーキャンセラ部、１０３…スピーカ部、１０４…マイクロフォン部、２００…受話信号フィルタ、２０１…送話信号フィルタ、２０２…遅延計算部、２０３…擬似エコー作成部、２０４…エコー相殺部。
【図１】
2008124577.tif 000003
【図２】
2008124577.tif 000004
【図３】
2008124577.tif 000005