(57)【要約】【課題】コストアップを抑えて、初期引込み期間におけるフィルタ係数の適応をより速くすることができるエコーキャンセラ装置を提供する。【解決手段】エコーキャンセラ装置は、適応フィルタのフィルタ係数ω（ｎ）の演算を、初期引込み期間までは適応速度を向上させる方式で実行し、初期引込み期間の経過後は、適応精度を向上させる方式で実行するように切替える。具体的には、フィルタ係数ω（ｎ）の演算パラメータである学習係数μを、初期引込み期間においては一定値ｆに置き換え（ステップＳ１〜Ｓ４）、初期引込み期間の経過後は、（３）式に基づいて演算する（ステップＳ５〜Ｓ８）。【選択図】  図１
2004266726.tif 000002
【特許請求の範囲】
【請求項１】
デジタル化された出力音響信号に基づいてＮＬＭＳアルゴリズムを用いた適応フィルタによりエコーパスの音響特性をシミュレートし、前記音響信号に前記適応フィルタのフィルタ係数を乗じることで擬似エコー信号を生成し、デジタル化された入力音響信号から前記擬似エコー信号を減算して前記エコーパスにより発生するエコー信号成分を除去するエコーキャンセル処理を行うエコーキャンセラ装置において、
前記フィルタ係数の演算を、エコーキャンセル処理の開始時から所定時間が経過する初期引込み期間までは適応速度を向上させる方式で実行し、前記初期引込み期間の経過後は、適応精度を向上させる方式で実行するように切替えることを特徴とするエコーキャンセラ装置。
【請求項２】
前記フィルタ係数の演算パラメータである学習係数をエコー除去信号と送信信号との電力比の逆数に基づいて演算する場合、前記初期引込み期間においては、前記学習係数を前記演算の結果よりも大となる一定値に置き換え、前記初期引込み期間の経過後は、前記学習係数を前記演算によって求めることを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項３】
前記フィルタ係数の演算パラメータである学習係数をエコー除去信号と送信信号との電力比の逆数に基づいて演算する場合、前記初期引込み期間においては、前記学習係数を、前記演算の式に前記電力比を乗じて求め、前記初期引込み期間の経過後は、前記学習係数を前記演算によって求めることを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項４】
送信系と受信系との間に発生するダブルトーク状態を検出するダブルトーク検出手段を備え、
前記初期引込み期間においてダブルトーク状態が発生している場合は、前記フィルタ係数の演算を、適応精度を向上させる方式で実行することを特徴とする請求項１乃至３の何れかに記載のエコーキャンセラ装置。
【請求項５】
デジタル化された出力音響信号に基づいてＮＬＭＳアルゴリズムを用いた適応フィルタによりエコーパスの音響特性をシミュレートし、前記音響信号に前記適応フィルタのフィルタ係数を乗じることで擬似エコー信号を生成し、デジタル化された入力音響信号から前記擬似エコー信号を減算して前記エコーパスにより発生するエコー信号成分を除去するエコーキャンセル処理におけるフィルタ係数計算方法において、
前記フィルタ係数の演算を、エコーキャンセル処理の開始時から所定時間が経過する初期引込み期間までは適応速度を向上させる方式で実行し、前記初期引込み期間の経過後は、適応精度を向上させる方式で実行するように切替えることを特徴とするエコーキャンセル処理のフィルタ係数計算方法。
【請求項６】
前記フィルタ係数の演算パラメータである学習係数をエコー除去信号と送信信号との電力比の逆数に基づいて演算する場合、前記初期引込み期間においては、前記学習係数を前記演算の結果よりも大となる一定値に置き換え、前記初期引込み期間の経過後は前記学習係数を前記演算によって求めることを特徴とする請求項５記載のエコーキャンセル処理のフィルタ係数計算方法。
【請求項７】
前記フィルタ係数の演算パラメータである学習係数をエコー除去信号と送信信号との電力比の逆数に基づいて演算する場合、前記初期引込み期間においては前記学習係数を前記演算の式に前記電力比を乗じて求め、前記初期引込み期間の経過後は、前記演算によって求めることを特徴とする請求項５記載のエコーキャンセル処理のフィルタ係数計算方法。
【請求項８】
前記初期引込み期間において、送信系と受信系との間にダブルトーク状態が発生している場合は、前記フィルタ係数の演算を、適応精度を向上させる方式で実行することを特徴とする請求項５乃至７の何れかに記載のエコーキャンセル処理のフィルタ係数計算方法。
【請求項９】
デジタル化された出力音響信号に基づいてＮＬＭＳアルゴリズムを用いた適応フィルタによりエコーパスの音響特性をシミュレートし、前記音響信号に前記適応フィルタのフィルタ係数を乗じることで擬似エコー信号を生成し、デジタル化された入力音響信号から前記擬似エコー信号を減算して前記エコーパスにより発生するエコー信号成分を除去するエコーキャンセル処理機能を実現するためのプロセッサによって実行されるコンピュータプログラムであって、
前記フィルタ係数の演算を、エコーキャンセル処理の開始時から所定時間が経過する初期引込み期間までは適応速度を向上させる方式で実行させ、前記初期引込み期間の経過後は、適応精度を向上させる方式で実行させるように切替えることを特徴とするコンピュータプログラム。
【請求項１０】
前記フィルタ係数の演算パラメータである学習係数をエコー除去信号と送信信号との電力比の逆数に基づいて演算させる場合、前記初期引込み期間においては、前記学習係数を前記演算の結果よりも大となる一定値に置き換えさせ、前記初期引込み期間の経過後は、前記学習係数を前記演算によって求めさせることを特徴とする請求項９記載のコンピュータプログラム。
【請求項１１】
前記フィルタ係数の演算パラメータである学習係数をエコー除去信号と送信信号との電力比の逆数に基づいて演算させる場合、前記初期引込み期間においては、前記学習係数を前記演算の式に前記電力比を乗じてもとめさせ、前記初期引込み期間の経過後は、前記学習係数を前記演算によって求めさせることを特徴とする請求項９記載のコンピュータプログラム。
【請求項１２】
送信系と受信系との間に発生するダブルトーク状態を検出させ、
前記初期引込み期間において、ダブルトーク状態が発生している場合は、前記フィルタ係数の演算を、適応精度を向上させる方式で実行させることを特徴とする請求項９乃至１１の何れかに記載のコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル化された出力音響信号に基づいて、ＮＬＭＳアルゴリズムを用いた適応フィルタによりエコーキャンセル処理を行うエコーキャンセラ装置、及びエコーキャンセル処理におけるフィルタ係数計算方法、並びに、エコーキャンセル処理機能を実現するためのプロセッサによって実行されるコンピュータプログラムに関する。
【０００２】
【従来の技術】
例えば、カーナビゲーション装置（カーナビ）は、ナビゲーションの指示内容を音声によって出力する機能を備えているものが多い。また、ある種のカーナビでは、ユーザが発生した音声を音声認識処理することで、目的地の設定や地図画面の呼び出しなどを行う機能を備えているものがある。更に、そのような処理を行うためカーナビにハンズフリー方式の携帯電話装置を組み合わせて、その電話機能と共に上記の音声処理を行わせる構成を採用する場合もある。
【０００３】
斯様な構成では、携帯電話装置の送話部たるスピーカと受話部たるマイクロフォンとが開放された状態で互いに近接した位置にあることから、スピーカより出力される音声信号がマイクロフォンに回り込む（エコーパス）ことが想定される。このように音声信号が回り込むとその信号が正帰還増幅されてハウリングを生じたり、受話音声が再び通話相手側に送信されてエコーを発生させるため、エコーキャンセラ機能によってエコー信号成分を除去することが行われている。
【０００４】
エコーキャンセラは、エコーパスの音響特性を推定し、スピーカより出力されようとする音声信号に基づいて擬似エコー信号を生成する。そして、生成した擬似エコー信号をマイクに入力された音声信号から差し引くことでエコー信号成分を除去するものである。
【０００５】
エコーパスの音響特性を推定する方式の１つとして、ＮＬＭＳ（Ｎｏｒｍａｌｉｚｅｄ  Ｌｅａｓｔ  Ｍｅａｎ  Ｓｑｕａｒｅ）アルゴリズムに基づく適応フィルタを用いるものがある。この適応フィルタを用いたエコーキャンセラの概略的な構成を図８に機能ブロックで示す。エコーキャンセラ１は、ＩＩＲ（Ｉｎｆｉｎｉｔｅ  Ｉｎｐｕｌｓｅ  Ｒｅｓｐｏｎｃｅ）  フィルタ２、適応フィルタ３，学習係数計算部４，パワー計算部５，ハイパスフィルタ（ＨＰＦ）６などで構成されている。
【０００６】
入力側に配置されているＩＩＲフィルタ２は、入力信号の帯域を制限すると共にオフセット成分を除去するものである。また、出力側に配置されているハイパスフィルタ６は、出力信号に含まれるオフセット成分を除去するようになっている。
【０００７】
適応フィルタ３における各タップ毎のフィルタ係数ωは、（１）式で演算される。
2004266726.tif 000003
但し、ｎは時刻，ｘ（ｎ）はスピーカより出力される音声信号（Ａ／Ｄ変換される前のデジタル信号），ｙ（ｎ）はマイクより入力された音声信号（ＩＩＲフィルタ２の出力信号），ｅ（ｎ）はエコー除去信号（適応フィルタ３より出力されるエコー信号成分除去後の信号），αはリーキー積分の忘却係数，βは残留係数，μは学習係数である。そして、エコー除去信号ｅ（ｎ）は（２）式で演算される。
ｅ（ｎ）＝ｙ（ｎ）−ｘ（ｎ）Ｔ・ｗ（ｎ）                  …（２）
【０００８】
また、学習係数μは、パワー計算部５の出力結果に基づき、学習係数計算部４において（３）式で演算される。
μ＝Ｍ／（１＋ＥＰＷＲ／（ＸＰＷＲ＋１））        ・・・（３）
ここで、Ｍは係数、ＥＰＷＲはエコー除去信号ｅ（ｎ）の電力値であり、ＸＰＷＲは出力音声信号ｘ（ｎ）の電力値である。尚、斯様な構成の従来技術は、例えば特許文献１に開示されている。
【０００９】
【特許文献１】
特開２００１−１４８６４４
【００１０】
【発明が解決しようとする課題】
ところで、以上の処理については、以下のような問題があった。即ち、ダブルトーク状態が発生すると、基本的に学習は正常に行なわれなくなるため、学習自体を停止させるか、或いは学習係数μを極力小さい値に設定することが好ましい。そして、ダブルトーク状態では（３）式の右辺における電力値ＥＰＷＲが急激に大きくなるので、学習係数μは小さい値になるように演算される。
【００１１】
しかしながら、例えば、装置に対して電源を投入した時のようなエコーキャンセル処理の開始時である所謂初期引込み期間においては、各演算を行なうためのフィルタ係数などのバッファ値は０クリアされた状態にあることから、その値に基づいて得られるエコー除去信号の電力値ＥＰＷＲも大きい値になる。すると、学習係数μは小さい値になることから、図９に示すように、フィルタ係数ωがエコーパスの伝達関数に適応した目標値に到達して収束するまでに極めて長い時間を要してしまう。
【００１２】
このように、フィルタ係数ωの収束が遅くなるということは、エコーパスの伝達関数に適応するのが遅くなることであるから、初期引込み期間においてはエコー成分が除去しきれず、音声認識処理や通話等が困難となる不具合がある。
【００１３】
斯様な問題を解決するためには、例えば、フィルタ係数をバックアップしておくことも考えられるが、そのためのメモリが必要となるため、システムコストが上昇することになる。
【００１４】
本発明は上記事情に鑑みてなされたものであり、その目的は、コストアップを抑えて、初期引込み期間におけるフィルタ係数の適応をより速くすることができるエコーキャンセラ装置、及びエコーキャンセル処理におけるフィルタ係数計算方法、並びに、エコーキャンセル処理機能を実現するためのプロセッサによって実行されるコンピュータプログラムを提供することにある。
【００１５】
【課題を解決するための手段】
請求項１記載のエコーキャンセラ装置によれば、適応フィルタのフィルタ係数の演算を、初期引込み期間までは適応速度を向上させる方式で実行し、初期引込み期間の経過後は、適応精度を向上させる方式で実行するように切替える。即ち、各処理期間における演算方式を適切に切替えるだけであるから、フィルタ係数を記憶させるメモリを用意する必要がない。そして、初期引込み期間ではフィルタ係数を高速に適応させてエコーキャンセル処理を実効あるものとすることができる。
【００１６】
請求項２記載のエコーキャンセラ装置によれば、フィルタ係数の演算パラメータである学習係数を、エコー除去信号の電力値が大きな値となる初期引込み期間においては後述の演算結果よりも大となる一定値に置き換え、初期引込み期間の経過後は、エコー除去信号と送信信号との電力比の逆数に基づいて演算する。斯様に構成すれば、初期引込み期間における学習係数は、前記演算の結果よりも大きな値となるので、フィルタ係数を、エコーパスの伝達関数に対して高速に適応させることができる。
【００１７】
請求項３記載のエコーキャンセラ装置によれば、初期引込み期間においては学習係数を前記演算の式に前記電力比の逆数を乗じて求め、初期引込み期間の経過後は、前記演算により求める。斯様に構成すれば、初期引込み期間におけるフィルタ係数の演算に電力比が及ぼす影響（即ち、フィルタ係数の適応速度の低下）を打ち消すことができ、フィルタ係数を、エコーパスの伝達関数に対して高速に適応させることができる。
【００１８】
請求項４記載のエコーキャンセラ装置によれば、初期引込み期間においてダブルトーク状態が発生している場合は、フィルタ係数の演算を、適応精度を向上させる方式で実行する。即ち、初期引込み期間であっても、同時にダブルトーク状態が発生している場合は、フィルタ係数の収束速度を低下させて適応精度を優先しなければ適切な学習を行なうことはできない。従って、請求項４のように構成すれば適切な学習が可能となる。
【００１９】
【発明の実施の形態】
（第１実施例）
以下、本発明の第１実施例について図１乃至図４を参照して説明する。尚、図８と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。図３は図８相当図であるが、学習係数計算部４が学習係数計算部１１に置き換わっているだけであり、その他の構成は図７と同様である。
【００２０】
図４は、エコーキャンセラ装置１２の全体構成図である。エコーキャンセラ装置１２は、マイク１３より入力される音声信号をＡ／Ｄ変換するＡ／Ｄ変換部１４，上述した適応フィルタ３，学習係数計算部１１，パワー計算部５に対応する処理をプログラム（コンピュータプログラム）１５に基づいて実行するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ，プロセッサ）１６，スピーカ１７によって外部に出力される音声信号をＤ／Ａ変換するためのＤ／Ａ変換部１８等を備えている。
【００２１】
そして、エコーキャンセラ装置１２は、エコーキャンセル処理した音声信号を例えばカーナビゲーション装置や携帯電話機等に転送し、また、それらによって与えられる音声信号を受けてスピーカ１７により外部に出力するようになっている。
【００２２】
次に、本実施例の作用について図１及び図２をも参照して説明する。図１は、ＤＳＰ１５によって実行されるエコーキャンセル処理のうち、主に学習係数計算部１１と、適応フィルタ３に関する処理内容を示すフローチャートである。例えば、エコーキャンセラ装置１２に電源が投入されて起動すると（スタート）、学習係数計算部１１は、学習係数μの初期値ｆを設定する（ステップＳ１）。
【００２３】
ここでの初期値ｆは、エコーキャンセル処理の演算に使用される全てのパラメータがゼロクリアされている状態で得られるエコー除去信号ｅ（ｎ）の電力値ＥＰＷＲと、出力音声信号ｘ（ｎ）の電力値ＸＰＷＲとに基づいて、（３）式で演算される学習係数μよりも十分大きな値を選択する。
【００２４】
それから、適応フィルタ３は、フィルタ係数ω（ｎ）を演算すると（ステップＳ２）、その演算結果ω（ｎ）と前回の演算結果ω（ｎ−１）との差の絶対値を求め、その差の絶対値が所定値ｄ未満か否かを判断する（ステップＳ３）。所定値ｄは、フィルタ係数ω（ｎ）が略適応状態となることで、演算結果の差が十分小さくなったものと判断するのに適切な値とする。
【００２５】
ステップＳ３で「ＮＯ」と判断すると、適応フィルタ３は、フィルタ係数ω（ｎ）をω（ｎ−１）に代入してから（ステップＳ４）ステップＳ２に戻る。従って、ステップＳ３で「ＹＥＳ」と判断するまでは、ステップＳ２〜Ｓ４のループを回り続ける。
【００２６】
以上のループを回っている期間（この期間を、初期引込み期間とする）では、学習係数μが比較的大なる初期値ｆに設定されていることにより、フィルタ係数ω（ｎ）の値は図２に示すように急激に上昇する。また、フィルタ係数ω（ｎ）がエコーパスの伝達関数に適応する目標係数に近付くと、その目標係数を中心として比較的大きな振れ幅で振動する。
【００２７】
そして、以上のループを回っている間にフィルタ係数ω（ｎ）が目標係数付近に収束することで、ステップＳ３において「ＹＥＳ」と判断すると、適応フィルタ３は、ステップＳ４と同様にフィルタ係数ω（ｎ）をω（ｎ−１）に代入する（ステップＳ５）。それから、学習係数計算部１１は、学習係数μを（３）式によって従来と同様に演算する（ステップＳ６）。
【００２８】
また、適応フィルタ３は、ステップＳ６によって得られた学習係数μに基づいてフィルタ係数ω（ｎ）を演算する（ステップＳ７）。それから、エコーキャンセル処理が終了か否かを判断し（ステップＳ８）、終了しなければ（「ＮＯ」）ステップＳ５に戻って処理を継続する。
【００２９】
以上のように本実施例によれば、エコーキャンセラ装置１２は、適応フィルタ３のフィルタ係数ω（ｎ）の演算を、初期引込み期間までは適応速度を向上させる方式で実行し、初期引込み期間の経過後は、適応精度を向上させる方式で実行するように切替える。具体的には、フィルタ係数ω（ｎ）の演算パラメータである学習係数μを、初期引込み期間においては一定値ｆに置き換え、初期引込み期間の経過後は、（３）式に基づいて演算するようにした。
【００３０】
従って、各処理期間における演算方式を適切に切替えるだけであるから、フィルタ係数ω（ｎ）を記憶させるメモリを用意する必要がない。そして、初期引込み期間ではフィルタ係数ω（ｎ）を高速に適応させてエコーキャンセル処理を実効あるものとすることができ、その後は、従来と同様の適応精度を確保することが可能となる。
【００３１】
尚、本実施例の手法によれば、初期引き込み期間におけるフィルタ係数ω（ｎ）の振動振幅は比較的大きくなるが、目標係数により速く収束させることで、当該期間におけるエコーキャンセル機能は従来に比較してより有効に作用することになる。
【００３２】
（第２実施例）
図５は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第２実施例では、図３に示す構成の学習係数計算部１１による処理内容が第１実施例とは若干異なるだけである。
【００３３】
図５に示すフローチャートでは、ステップＳ１に代わってステップＳ９が配置されている。そのステップＳ９においては、学習係数μを（４）式によって演算する。
【００３４】
2004266726.tif 000004
即ち、（４）式は、（３）式に電力比ＥＰＷＲ／ＸＰＷＲを乗じたものである。そして、ステップＳ４を実行するとステップＳ９に戻るようになっている。その他の処理は第１実施例と同様である。
【００３５】
以上のように第２実施例によれば、学習係数計算部１１は、初期引込み期間においては学習係数μを（３）式に電力比ＥＰＷＲ／ＸＰＷＲを乗じて求め、初期引込み期間の経過後は、学習係数μを（３）式によって求めるので、初期引込み期間におけるフィルタ係数ω（ｎ）の演算に電力比ＥＰＷＲ／ＸＰＷＲが及ぼす影響（即ち、適応速度の低下）を打ち消すことができ、フィルタ係数ω（ｎ）を、エコーパスの伝達関数に対して高速に適応させることができる。
【００３６】
（第３実施例）
図６及び図７は本発明の第３実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第２実施例では、図３に示す構成の学習係数計算部１１を学習係数計算部１９に置き換え、ダブルトークディテクタ（ダブルトーク検出手段）１９を加えた構成である。
【００３７】
ダブルトークディテクタ２０は、パワー計算部５より得られるエコー除去信号と送信信号との電力比ＥＰＷＲ／ＸＰＷＲが所定値を超えた場合にダブルトーク状態の発生を検出し、検出信号ＤＴを学習係数計算部１９に出力するように構成されている。
【００３８】
次に、第３実施例の作用について図７をも参照して説明する。図７に示すフローチャートにおいて、学習係数計算部１９はステップＳ４の実行後にステップＳ１０に移行して、ダブルトークディテクタ２０が検出信号ＤＴを出力しているか否かを判断する。そして、検出信号ＤＴを出力していなければ（「ＮＯ」）ステップＳ２に戻り、ダブルトーク状態が検出され、検出信号ＤＴが出力されていれば（「ＹＥＳ」）ステップＳ５に移行する。
【００３９】
即ち、ステップＳ２〜Ｓ４のループを回っている初期引込み期間にある場合でも、ダブルトーク状態が検出された時はステップＳ５に移行して、学習係数μを（３）式によって演算する。ダブルトーク状態が発生した場合は、フィルタ係数ω（ｎ）の収束速度を低下させて適応精度を優先しなければ適切な学習を行なうことができないからである。
【００４０】
以上のように第３実施例によれば、学習係数計算部１９は、初期引込み期間においてダブルトーク状態が発生している場合は、フィルタ係数ω（ｎ）の演算を、（３）式に基づき適応精度を向上させる方式で実行するので、状況に応じて適切な学習を行なうことができる。
【００４１】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、以下のような変形または拡張が可能である。
第２実施例において、ダブルトークディテクタ２０の機能を、学習係数計算部１９の内部に持たせても良い。
【図面の簡単な説明】
【図１】本発明の第１実施例であり、エコーキャンセル処理のうち、主に学習係数計算部と、適応フィルタに関する処理内容を示すフローチャート
【図２】エコーキャンセル処理の開始からの時間経過に伴うフィルタ係数ωの変化を示す図
【図３】エコーキャンセラの概略的な構成を示す機能ブロック図
【図４】エコーキャンセラ装置の全体構成図
【図５】本発明の第２実施例を示す図１相当図
【図６】本発明の第３実施例を示す図３相当図
【図７】図１相当図
【図８】従来技術を示す図３相当図
【図９】図２相当図
【符号の説明】
３は適応フィルタ、１１は学習係数計算部、１２はエコーキャンセラ装置、１５はプログラム（コンピュータプログラム）、１６はＤＳＰ、１９は学習係数計算部、２０はダブルトークディテクタ（ダブルトーク検出手段）を示す。
【図１】
2004266726.tif 000005
【図２】
2004266726.tif 000006
【図３】
2004266726.tif 000007
【図４】
2004266726.tif 000008
【図５】
2004266726.tif 000009
【図６】
2004266726.tif 000010
【図７】
2004266726.tif 000011
【図８】
2004266726.tif 000012
【図９】
2004266726.tif 000013