(57)【要約】【課題】エコー信号の遅延時間が不明又は遅延時間に変化が発生しやすい環境下においても、エコー信号の遅延時間を短時間に精度よく決定してエコーを効果的に消去する。【解決手段】エコーキャンセラ１０は、遠端からの入力信号(受信信号)と、ハイブリッド回路等で反射されるエコー信号(送信信号)の相互相関を計算する相関処理部１０３と、相互相関値に基づく遅延時間と、遅延時間の評価値を決定する統計処理部１０４と、適応フィルタ１０６のフィルタ係数を監視し監視結果を上記評価値に反映するフィルタ監視部１０７と、決定された遅延時間に従い受信信号を遅延させてエコー除去手段に入力する遅延処理部１０８と、受信信号から疑似エコーを推定し送信信号から減算するエコー消去部１３０を有する。エコーの遅延時間が変化した際に生じる適応フィルタのフィルタ係数の変化も遅延時間の決定要因に用いることが出来、より短い時間で遅延時間を決定できる。【選択図】図１
2017098861.tif 000002
【特許請求の範囲】
【請求項１】
適応フィルタを用いて遠端側への送信信号に含まれるエコー信号を消去するエコー消去部と、
遠端側からの受信信号と遠端側への送信信号の一方を、所定時間ずつシフトさせながら両信号の相互相関を求め、該相互相関に基づき、受信信号に対する遅延時間の候補を複数求める相関処理部と、
求められた相互相関の履歴に基づき、遅延時間の候補に対する評価値を求める統計処理部と、
前記統計処理部により求められた評価値を遅延時間と対応して記憶する記憶部と、
前記記憶部に記憶された評価値に基づいて遅延時間の候補のひとつを選択し、選択された遅延時間に従い受信信号を遅延させて前記適応フィルタへ出力する遅延処理部と、
前記適応フィルタのフィルタ係数又は前記エコー消去部でのエコー消去量を監視し、監視結果に応じて前記記憶部に記憶された評価値を変更するフィルタ監視部と
を備えたエコーキャンセラ。
【請求項２】
前記フィルタ監視部は、前記適応フィルタのフィルタ係数に基づいて、前記適応フィルタによる畳み込み加算の結果が所望のインパルス応答の形状になるか判定し、所望の形状でない場合に前記記憶部に記憶された評価値を低減させる請求項１に記載のエコーキャンセラ。
【請求項３】
前記フィルタ監視部は、前記適応フィルタのフィルタ係数のピーク領域が、全フィルタ係数の前半部分になければ所望のインパルス応答の形状でないと判定し、前記記憶部に記憶された評価値を低減させる請求項２に記載のエコーキャンセラ。
【請求項４】
前記フィルタ監視部は、前記適応フィルタのフィルタ係数のピーク値が、予め定められた閾値以下であれば所望のインパルス応答の形状でないと判定し、前記記憶部に記憶された評価値を低減させる請求項２に記載のエコーキャンセラ。
【請求項５】
前記フィルタ監視部は、前記エコー消去部でのエコー消去量を示す指標を求め、該指標又は該指標に基づく統計値が予め定められた閾値以下であれば前記記憶部に記憶された評価値を低減させる請求項１に記載のエコーキャンセラ。
【請求項６】
前記統計処理部は、求められた相互相関に応じた重みを積算することにより遅延時間の候補に対する評価値を求める請求項１に記載のエコーキャンセラ。
【請求項７】
適応フィルタを用いて遠端側への送信信号に含まれるエコー信号を消去するエコーキャンセル方法であって、
遠端側からの受信信号と遠端側への送信信号の一方を、所定時間ずつシフトさせながら両信号の相互相関を求め、該相互相関に基づき、受信信号に対する遅延時間の候補を複数求め、
求められた相互相関の履歴に基づき、遅延時間の候補に対する評価値を求め、
求められた評価値を遅延時間と対応して記憶し、
記憶された評価値に基づいて遅延時間の候補のひとつを選択し、選択された遅延時間に従い受信信号を遅延させて適応フィルタへ出力し、
適応フィルタのフィルタ係数又はエコー消去量を監視し、監視結果に応じて記憶された評価値を低減させるエコーキャンセル方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エコーキャンセラに係り、特に、電話網等で発生するエコーを消去するためのエコーキャンセラに関する。
【背景技術】
【０００２】
電話網では、電話機から加入者線（２線：双方向）と中継線（４線：片方向ずつ（２線）が独立に２つ）との間を、ハイブリッドと呼ばれる２線−４線変換回路で接続して２つの電話機間の通話が行われる。しかし、このようなハイブリッドを用いたシステムではインピーダンス不整合により、通話相手から受信した信号が自電話機のハイブリッドで反射し、通話相手に回り込むエコーが発生する。エコーは遅延を伴って通話相手に聞こえることとなり、通話に支障をきたすことから、エコーを消去する必要があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２９７２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図１６は、従来のエコーキャンセラの構成を示す。エコーキャンセラは、ハイブリッド回路の近傍に設置され、近端側の電話機の対向である遠端側の電話機に戻るエコー信号をキャンセルする。
エコーキャンセラ１は、通常、適応フィルタ２を備えている。適応フィルタ２は、遠端側の話者からの受信信号ｘ（ｎ）に対して畳み込み演算を行い、疑似エコー信号ｙ’（ｎ）を生成する。エコーキャンセラ１は、エコーを含んだ遠端話者への送信信号ｙ（ｎ）から疑似エコー信号ｙ’（ｎ）を減算することにより該エコーを除去して出力送信信号ｚ（ｎ）を得る。ここでｎ（ｎ＝１、２、３、．．．）は時間軸上のサンプル点であり、信号が離散信号であることを示す。
適応フィルタ２は、通常、ＦＩＲ（Ｆｉｎｉｔｅ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ  Ｆｉｌｔｅｒ）フィルタによって実現される。ＦＩＲフィルタの出力ｙ’（ｎ）は、時間軸上のサンプルｎのそれぞれにおける単位インパルス応答に相当する複数のフィルタ係数ｈ（ｉ）（ｉ＝１、２、３．．．）と入力ｘ（ｎ−ｉ＋１）との積の総和、すなわち畳み込み加算により表される。そして、各フィルタ係数を推定するための適応アルゴリズムには、ＬＭＳ（ｌｅａｓｔ  ｍｅａｎ  ｓｑｕａｒｅ）や学習同定法等のアルゴリズムが用いられる。なお、適応信号処理、音響エコーキャンセラに関する一般的な技術は、電子情報通信学会、１群９編  信号・システム  ３章  適応信号処理、及び、２群６編  音響信号処理  ５章、音響エコーキャンセラ等に開示されている。
【０００５】
一例として、１２８タップのＦＩＲフィルタで構成される適応フィルタでは、各フィルタ係数の利得を調整して受信信号ｘ（ｎ）から擬似エコー信号を作成し、エコーキャンセラ内でエコーを消去する。８ｋＨｚでサンプルされた受信信号ｘを考えた場合、１２８×１２５μＳｅｃ．＝１６ｍＳｅｃ．迄の遅延を持つエコーを消去することが可能である。
一方で、上述のタップ数のエコーキャンセラでは１６ｍＳｅｃ．以上遅延するエコーについては十分な消去量を見込むことはできない。このようなエコーは、エコーキャンセラに入力する信号に固定的な遅延を持たせることで消去することができるが、この場合、事前に遅延時間がわかっていないとエコーを効果的に消去できない。さらに、遅延時間が変化した場合(例えば、エコー路に変化があった場合等)にはエコーを効果的に消去できないという課題がある。なお、通信時間が変化する例として、ハイブリッド回路が交換されること、音声変換等の処理を実行するソフトウェアが変更又は更新されること、音声変換等の機能の一部が適用される／されないなど切り替わることなどがあげられる。
【０００６】
特許文献１では、遠端の電話機から入力される信号とエコー信号の相互相関から遅延時間を推定し、ヒストグラムを用いて頻度が最大となる遅延時間をエコーキャンセラへ入力する信号として適用する。しかし、特許文献１の技術では、遅延時間の決定に相互相関に基づく値の積算値を用いており、遅延時間に変化が発生した場合、遅延時間が変更されるまで時間がかかる場合があり、その間エコーの消去性能が劣化する課題があった。
本発明は、以上の点に鑑み、エコー信号の遅延時間が不明又は遅延時間に変化が生じてもエコーを消去するエコーキャンセラを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第1の解決手段によると、
適応フィルタを用いて遠端側への送信信号に含まれるエコー信号を消去するエコー消去部と、
遠端側からの受信信号と遠端側への送信信号の一方を、所定時間ずつシフトさせながら両信号の相互相関を求め、該相互相関に基づき、受信信号に対する遅延時間の候補を複数求める相関処理部と、
求められた相互相関の履歴に基づき、遅延時間の候補に対する評価値を求める統計処理部と、
前記統計処理部により求められた評価値を遅延時間と対応して記憶する記憶部と、
前記記憶部に記憶された評価値に基づいて遅延時間の候補のひとつを選択し、選択された遅延時間に従い受信信号を遅延させて前記適応フィルタへ出力する遅延処理部と、
前記適応フィルタのフィルタ係数又は前記エコー消去部でのエコー消去量を監視し、監視結果に応じて前記記憶部に記憶された評価値を変更するフィルタ監視部と
を備えたエコーキャンセラが提供される。
【０００８】
本発明の第２の解決手段によると、
適応フィルタを用いて遠端側への送信信号に含まれるエコー信号を消去するエコーキャンセル方法であって、
遠端側からの受信信号と遠端側への送信信号の一方を、所定時間ずつシフトさせながら両信号の相互相関を求め、該相互相関に基づき、受信信号に対する遅延時間の候補を複数求め、
求められた相互相関の履歴に基づき、遅延時間の候補に対する評価値を求め、
求められた評価値を遅延時間と対応して記憶し、
記憶された評価値に基づいて遅延時間の候補のひとつを選択し、選択された遅延時間に従い受信信号を遅延させて適応フィルタへ出力し、
適応フィルタのフィルタ係数又はエコー消去量を監視し、監視結果に応じて記憶された評価値を低減させるエコーキャンセル方法が提供される。
【発明の効果】
【０００９】
本発明によると、エコー信号の遅延時間が不明又は遅延時間に変化が生じてもエコーを消去するエコーキャンセラを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態におけるエコーキャンセラの構成例を示すブロック図である。
【図２】エコーキャンセラのハードウェア構成図である。
【図３】エコーキャンセラの動作概要を示す動作フロー図である。
【図４】バッファの説明図である。
【図５】相関処理の詳細動作例を示す動作フロー図である。
【図６】相関処理により取得する相互相関と遅延時間の関係を表すグラフである。
【図７】管理テーブルの例である。
【図８】統計処理の詳細動作例を示す動作フロー図である。
【図９】遅延処理の詳細動作例を示す動作フロー図である。
【図１０】フィルタ監視処理の詳細動作例を示す動作フロー図である。
【図１１】評価値加減処理の詳細動作例を示す動作フロー図である。
【図１２】評価値が低減された管理テーブルの例である。
【図１３】実施例２におけるフィルタ監視処理の詳細動作例を示す動作フロー図である。
【図１４】実施例３におけるフィルタ監視処理の詳細動作例を示す動作フロー図である。
【図１５】本発明の変形例における電話会議システムの概略構成図である。
【図１６】従来のエコーキャンセラの構成例を示すブロック図である。
【発明を実施するための形態】
【００１１】
（実施例１）
図１は、本実施の形態におけるエコーキャンセラ１０の構成を示すブロック図である。図１はエコーキャンセラ１０の論理的な構成を示すものであり、後述するプロセッサ（ＣＰＵ）及びメモリ等のハートウェア構成によって実現される。
エコーキャンセラ１０は、図１６に示すエコーキャンセラ１と同様に、遠端電話機からの信号（Ｒｉｎ）を受信し、遠端電話機へ信号（Ｓｏｕｔ）を送信する。また、エコーキャンセラ１０は、近端電話機からの信号（Ｓｉｎ）を例えばハイブリッド回路を介して受信し、近端電話機への信号（Ｒｏｕｔ）を例えばハイブリッド回路に出力することで近端電話機へ送信する。エコーキャンセラ１０は、例えば通信装置に備えられることができる。
エコーキャンセラ１０は、例えば、遠端電話機からの受信信号ｘ（ｎ）、および遅延したエコーを含む遠端電話機への送信信号ｙ（ｎ）をバッファへコピーするバッファ処理部１００と、遠端電話機からの受信信号を蓄積する受信バッファ１０１と、遅延したエコー信号を含む遠端電話機への送信信号を蓄積する送信バッファ１０２と、受信バッファ１０１と送信バッファ１０２に蓄積された信号の相互相関から遅延時間の候補を選定する相関処理部１０３と、相関処理部１０３の出力結果として得られる相互相関並びに遅延時間に対する統計処理を行い、および遅延時間の妥当性を評価し評価値を決定する統計処理部１０４と、統計処理部１０４の出力結果として得られる相互相関、遅延時間及び評価値を記憶する管理テーブル（記憶部）１０５と、エコー消去手段として用いる適応フィルタ１０６と、適応フィルタ１０６のフィルタ係数およびエコー消去量を監視し、管理テーブル１０５に記憶される遅延時間の評価値を監視結果に基づき加減するフィルタ監視部１０７と、データ線路１１０から入力される音声を、管理テーブル１０８に記憶される遅延時間のうち評価値が高い遅延時間だけ遅延させて適応フィルタ１０６へ出力する遅延処理部１０８と、エコーを含む遠端電話機への送信信号ｙ（ｎ）から疑似エコー信号を減算してエコーを消去する減算器１０９と、遠端電話機から近端電話機への論理的なデータ線路１１０と、近端電話機から遠端電話機への論理的なデータ線路１２０とを備える。適応フィルタ１０６と減算器１０９がエコー消去部１３０を構成する。
【００１２】
以下、各ブロックについて、説明する。
バッファ処理部１００は、遠端電話機から受信した受信信号を受信バッファ１０１蓄積する。また、バッファ処理部１００は、遅延したエコー信号を含む遠端電話機への送信信号を送信バッファ１０２へ蓄積する。
相関処理部１０３は、受信バッファ１０１および送信バッファ１０２に蓄積された受信信号、送信信号の相互相関を算出する。相関処理部１０３は、相互相関が大きい位置の遅延時間を決定し、後述の統計処理部１０４に遅延時間の候補として出力する。
統計処理部１０４は、相関処理部１０３の出力結果として得られる相互相関及び遅延時間に対し統計的な処理を行い、管理テーブル１０５に記憶する。統計的な処理を行う理由は、瞬間的には大きく変化する相互相関、遅延時間を平均化することで瞬間的な変化に対するエコーキャンセラの耐性を高めるためである。
【００１３】
また、統計処理部１０４は、遅延時間の評価値を算出し、管理テーブル１０５に記憶する。評価値は、例えば、相互相関に基づいた重みを管理テーブル１０５が更新される毎に積算する値である。すなわち、過去から現在までの相互相関の履歴が反映される値である。具体的には管理テーブル１０５に保持される該遅延時間の更新回数が多いほど、また相互相関が大きいほどに該遅延時間は高く評価される。
管理テーブル１０５は、遅延時間、相互相関及び評価値を対応して記憶する記憶領域である。管理テーブル１０５は統計処理部１０４およびフィルタ監視部１０７によって値が更新される。
適応フィルタ１０６は、上述の適応フィルタ２で示した従来と同様のエコー消去手段である。
フィルタ監視部１０７は、適応フィルタ１０６のフィルタ係数を監視し、適応フィルタ１０６が想定されるフィルタ係数になっていない場合には管理テーブル１０５に記憶されている該遅延時間の評価値を低減し、想定するフィルタ係数になっている場合は評価値を増加することで、後述の遅延処理部１０８が使用する遅延時間の変更を促す。
遅延処理部１０８は、管理テーブル１０５に記憶される複数の遅延時間のうち、高い評価値を持つ遅延時間を選択し、該遅延時間だけ遅延させて適応フィルタ１０６へ出力する。
【００１４】
図２は、エコーキャンセラ１０のハードウェア構成図である。
エコーキャンセラ１０は、例えば、プロセッサ２１と、メモリ２２と、インタフェース２３を備える。プロセッサ２１は、エコーキャンセラ１０の処理を実行する処理部である。メモリ２２は、プロセッサ２１により実行されて図１に示す各部を実現するプログラムが記憶される。また、メモリ２２は、図１に示す受信バッファ１０１、送信バッファ１０２、及び、管理テーブル１０５に相当する記憶領域を有する。
以下、図３〜図１３を用いて本実施の形態のエコーキャンセラ１０の動作を詳細に説明する。具体的には、８ｋＨｚでサンプリングされた信号に対して処理を行い、最大１２８ｍｓまで遅延するエコーを消去する例を説明する。またエコー消去手段として用いる適応フィルタ１０６には、１２８タップで最大１６ｍｓ遅延までのエコーを消去可能なものを想定する。
【００１５】
図３はエコーキャンセラの動作を示すフロー図である。エコーキャンセラ１０は、概略以下のように動作する。
バッファ処理２１０では、バッファ処理部１００が、データ線路１１０、１２０から逐次コピーする受信信号及び送信信号を受信バッファ１０１及び送信バッファ１０２へそれぞれ蓄積する。
相関処理２２０では、相関処理部１０３が、受信バッファ１０１、送信バッファ１０２に蓄積された信号の一方を時間方向にずらしながら（遅延時間に相当）、両信号の相互相関を算出し、高い相互相関を持つ遅延時間を複数選定し、統計処理２３０への入力とする。
統計処理２３０では、統計処理部１０４が、相関処理２２０からの入力に基づき管理テーブル１０５を更新する。
遅延処理２４０では、遅延処理部１０８が、管理テーブル１０５から高い評価値を持つ遅延時間を取得し、受信信号を該遅延時間分遅らせて適応フィルタ１０６へ入力する。
エコー消去処理２５０では、適応フィルタ１０６が、遅延処理２４０により遅延させられた受信信号を、従来のエコーキャンセラ２と同一の方法で疑似エコーを作成し、送信信号から減算することでエコーを消去する。
フィルタ監視処理２６０では、フィルタ監視部１０７が、適応フィルタ１０６のフィルタ係数が最大となる位置を監視し、監視結果を評価値加減処理２７０への入力とする。
評価値加減処理２７０では、フィルタ監視部１０７が、フィルタ監視処理２６０の結果に基づき、フィルタ係数の最大値が適応フィルタ１０６の前半部分に位置しない場合には、管理テーブル１０５が持つ遅延時間の評価値を低減する。一方、フィルタ監視部１０７は、フィルタ係数の最大値が適応フィルタ１０６の前半部分に位置する場合には、管理テーブル１０５が持つ遅延時間の評価値を増加する。
【００１６】
図４は、バッファの説明図である。本実施例で説明するエコーキャンセラ１０は、最大１２８ｍｓまで遅延するエコーを消去することを想定するため、受信バッファ１０１のサイズＲｌｅｎを１２８ｍｓに相当する領域とする。また、適応フィルタ１０６は１２８タップを想定するため、送信バッファ１０２のサイズＳｌｅｎを１６ｍｓに相当する領域とする。なお、バッファのサイズは、エコー消去の対象とする遅延量及び適応フィルタのタップ数に応じた適宜のサイズとすることができる。
受信バッファ１０１及び送信バッファ１０２はそれぞれＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）型のバッファであり、新たに信号が入力された場合、バッファの先頭に蓄積された信号（最も過去に蓄積された信号）が破棄され、新たな信号が末尾に蓄積される。
【００１７】
図５は、相関処理２２０の詳細フロー図である。相関処理２２０では、相関処理部１０３は、受信バッファ１０１に蓄積された信号Ｒに対して、送信バッファ１０２に蓄積された信号Ｓを時間方向に逐次ずらしながら、送信信号の遅延時間Ｄｅｌａｙ（ｉ）と、受信信号と送信信号の相互相関ＣＣｏｒ（ｉ）を計算する(処理４１０〜４５０)。図示の例では、送信バッファ１０２に蓄積された信号Ｓを１２５ｍＳｅｃ．づつずらしているが、ずらす値は適宜の値でよい。相関処理部１０３は、求めた相互相関ＣＣｏｒ（ｉ）のうち値が高い相互相関と、対応する遅延時間との組をひとつ又は複数組、統計処理部２３０に出力する（処理４６０）。例えば、相互相関が高い方から所定数の組を出力してもよいし、相互相関が予め定められた閾値より大きい組を出力してもよいし、他の予め定められた基準に従い相互相関が比較的高い組を出力してもよい。
【００１８】
図６は、図５の相関処理２２０によって得られる相互相関ＣＣｏｒ（ｉ）と遅延時間Ｄｅｌａｙ（ｉ）のイメージ図である。本実施例では、一例として、図５におけるｉ＝２５６（遅延時間３２ｍＳｅｃ．に相当）及びｉ＝５１２（遅延時間６４ｍＳｅｃ．に相当）に該当する相互相関と遅延時間の組（２組）が統計処理２３０へ出力されることを想定する。
【００１９】
図７は、管理テーブル１０５の一例を示す説明図である。管理テーブル１０５は、遅延時間Ｄ５１０、相互相関Ｃ５２０及び評価値Ｅ５３０を対応づけて保持する。本実施例では、列番号ｍ＝０〜２の３つの配列をもつ管理テーブル５００を考える。
【００２０】
図８は、統計処理２３０の詳細フロー図である。統計処理部１０４は、相関処理部１０３から入力した遅延時間Ｄｅｌａｙ（ｉ）に対応する、管理テーブル５００の相互相関Ｃの値を更新する。このとき、統計処理部１０４は、更新する相互相関Ｃの前回値と相関処理部１０３から入力した相互相関Ｃの値の移動平均をとる等の統計処理を行うことで、瞬間的な相互相関の変化に対して耐性を持たせることが可能である（処理６２０）。なお、移動平均以外にも、更新する相互相関Ｃの前回値が、更新後の相互相関Ｃに影響するような適宜の統計処理でもよい。
また、統計処理部１０４は評価値Ｅを算出する。ここで、評価値Ｅは、相互相関Ｃの大きさに応じた重みｗを、該遅延時間Ｄの更新毎に積算して得られる値である。相互相関Ｃの値が大きく、かつ該遅延時間Ｄの更新回数が多いほどに高い評価値Ｅを持つようにすることができる。図８では一例として、相互相関Ｃに対する閾値として１００を用い、相互相関Ｃの値が１００以下の場合に重みｗ＝０とし、相互相関Ｃが１００より大きい場合に重みｗ＝２として評価値Ｅに積算することで、相互相関が高い遅延時間は評価値が高くなるようにしている（処理６３０〜６６０）。
【００２１】
図９は、遅延処理２４０の詳細フロー図である。遅延処理部１０８は、管理テーブル１０５（５００）を参照して評価値Ｅが最大の欄を特定し、最大の評価値Ｅに対応する遅延時間Ｄを取得する（処理７１０）。遅延処理部１０８は、線路１１０から入力される受信信号を、取得した遅延時間Ｄに相当する量遅延させて適応フィルタ１０６へ出力する（処理７２０）。これにより、受信信号は、送信信号と相関が高くなるように時間方向の位置が調整されて適応フィルタ１０６に出力されるため、エコー消去処理２５０において、１２８タップ（１６ｍｓ）の適応フィルタであっても、最大１２８ｍｓまで遅延するエコーを消去することができる。
【００２２】
図１０は、フィルタ監視処理２６０の詳細フロー図である。フィルタ監視部１０７は、１２８タップの適応フィルタをＮ＝８タップずつＭ＝１６個のブロックに区切って、ブロック毎のフィルタ係数ｈの平均値であるｈａｖｅ（ｎ）を求め、全ブロックのうちフィルタ係数の平均値ｈａｖｅ（ｎ）が最大となる位置（当該ブロックの時間軸上の位置を示すブロック識別情報）を算出する（処理８２０〜８４０）。処理８２０〜８４０を全１６ブロックに対して行い(処理８１０〜８６０)、算出されたｈａｖｅ（ｎ）が最大となる位置（ブロック識別情報）を評価値加減処理２７０へ提供する（処理８７０）。ここでＮは適応フィルタの分割単位であって、１ブロックに含まれるタップ数を示す。ＭはＮタップ毎に区切られた適応フィルタのブロック数である。
【００２３】
図１１は、評価値加減処理２７０の詳細フロー図である。
一般的に、エコー経路内に存在するエコー発生要素（例えば、ハイブリッド回路や壁など）自身のインパルス応答は、最初急激に立ち上がり、その後は減衰振動を示す。そのため、適応フィルタにおいても最大値をとるフィルタ係数は、時間軸の前半部分に相当するフィルタ係数であり、フィルタ係数の時間軸上の位置が最大値をとるフィルタ係数から遠くなるに従いフィルタ係数は小さな値をとる状態が、精度良くエコー発生要素を近似している状態と考えることが出来る。
この想定に基づき、フィルタ監視部１０７は、フィルタ監視処理で求められた、適応フィルタのフィルタ係数の平均値が最大となるブロックの位置が、適応フィルタの全フィルタ係数のうち時間軸上で前半部分に位置しない場合には（処理９１０：Ｙｅｓ）、管理テーブル１０５（５００）中で最大の評価値Ｅ５３０を低減する（処理９２０）。一方、フィルタ監視部１０７は、フィルタ係数の平均値が最大となるブロックの位置が適応フィルタの全フィルタ係数のうち時間軸上で前半部分に位置する場合（処理９１０：Ｙｅｓ）、管理テーブル５００中で最大の評価値Ｅ５３０を増加する（処理９３０）。
本実施例では、１２８タップの適応フィルタを想定するため、統計処理部１０４から入力されるフィルタ係数の平均値が最大となるブロックの位置が、１６／２＝８以降に位置する場合に、換言すると、時間軸上で前半部分に位置しない場合に、管理テーブル５００中で最大値を持つ評価値Ｅを１／２に低減させる。一方、フィルタ係数の平均値が最大となるブロックの位置が８より前に位置する場合、換言すると、時間軸上で前半部分に位置する場合は、管理テーブル５００中で最大値を持つ評価値Ｅを２倍に増加させる（処理９１０〜９３０）。
【００２４】
上記処理により、相互相関Ｃから最も高い評価値Ｅを導かれた遅延時間Ｄを適用した場合に、適応フィルタ１０５のフィルタ係数が、期待するフィルタ係数にならないと判断される場合は、適用した遅延時間に対応する評価値Ｅを強制的に低減させて、次に高い評価値Ｅを持つ遅延時間Ｄが適用されることを促すことが出来る。一方で、遅延時間Ｄにおいて期待するフィルタ係数となる場合、より高い評価値Ｅに更新することで該遅延時間Ｄの評価を高めることが出来る。
なお、図１１中で使用する定数は一例であり、適応フィルタのインパルス応答の精度を高めたい場合は、フィルタ係数が最大となる位置を適応フィルタのより前半部分（例えば、前方１／３や１／４など）に限定することで実現可能である。また、評価値の加減についても、評価値へ乗算する定数を適宜設定して評価値の加減度合を調整することが可能である。また、定数を乗算する以外の適宜の手法で評価値を加減してもよい。
【００２５】
図１２は、管理テーブルの別例である。上述のフィルタ監視処理２６０および評価値加減処理２７０により評価値Ｅ（１）が図７の状態から半分に低減された状態を表す。
相関処理２２０及び統計処理２３０によって高い評価値Ｅ（１）を得た遅延時間Ｄ（１）を用いて遅延処理２４０及びエコー消去処理２５０を行った結果、フィルタ監視処理２６０及び評価値加減処理２７０によりフィルタ係数の平均値が最大となるブロックの位置が想定と異なると判断され、評価値Ｅ（１）の値が５０（＝１／２×１００）に低減されている。この結果、エコーキャンセラ１０は、評価値Ｅ（０）を持つ遅延時間Ｄ（０）を使用して動作する。上記動作より、フィルタの監視結果に応じて使用する遅延時間がＤ（１）からＤ（０）へ入れ替わるため、遅延時間の変化に対して素早く追従することが可能となる。
なお、上述の例では、ブロックを単位としてフィルタ係数の平均値を求め、フィルタ係数の平均値が最大となるブロック位置を基準に判断しているが、平均値以外にも、ブロック内のフィルタ係数に基づく適宜の値を基準としてもよいし、個々のフィルタ係数を基準とすることも可能である。上述の例のようにブロックを単位としてフィルタ係数の平均値を求めると、瞬間的な挙動を吸収できるため、動作が安定しやすい。
【００２６】
（実施例２）
図１３は、実施例２におけるフィルタ監視処理のフローチャートである。実施例２におけるフィルタ監視処理２６０（１０００）では、実施例１のようにフィルタ係数の平均値が最大となるブロック位置を求めるのではなく、フィルタ係数の最大値を計算してフィルタの監視を行う（処理１０１０〜１０４０）。本実施例でも、フィルタ係数をブロックに分割し、ブロック内でのフィルタ係数の平均値ｈａｖｅを求めて、フィルタ係数のブロック平均値の最大値を求める。本実施例では、評価値加減処理２７０へはフィルタ係数の平均値の最大値を提供する（処理１０７０）。評価値加減処理は、図１１に示す実施例１の処理と同様であるが、処理９１０が異なる。本実施例では、フィルタ監視部１０７は、フィルタ係数の平均値の最大値が予め定められた閾値以下か否かを判断し、閾値以下であれば処理９２０へ移り、閾値以下でなければ処理９３０へ移る。フィルタ係数の平均値の最大値が予め定められた閾値以下の場合、適応フィルタには明確なピークが存在しておらず想定するインパルス応答ではないと判断することができる。例えば、適用した遅延時間に対して、実際の遅延時間が大きい場合、適応フィルタが有効に作用する期間（例えば、１６ｍｓ）の間にインパルス応答のピークがないことが考えられる。
なお、装置の構成及び他の処理は実施例１と同様である。
【００２７】
（実施例３）
図１４は、実施例３におけるフィルタ監視処理のフローチャートである。実施例３におけるフィルタ監視処理２６０（１１００）では、エコー消去量に基づいてフィルタの監視を行う。本実施例では、エコー消去量としてＥＲＬＥ（Ｅｃｈｏ  Ｒｅｔｕｒｎ  Ｌｏｓｓ  Ｅｎｈａｎｃｅｍｅｎｔ）という指標を用いる。フィルタ監視部１０７は、エコー信号ｙ（ｎ）と疑似エコー信号ｙ’（ｎ）に基づき、例えば図１４の処理１１００に示す式に従い、適応フィルタのＥＲＬＥの特定時間内における平均値ＥＲＬＥａｖｅを計算する（処理１１１０）。評価値加減処理２７０へはＥＲＬＥａｖｅを提供する（処理１１２０）。
評価値加減処理は、図１１に示す実施例１の処理と同様であるが、処理９１０が異なる。本実施例では、フィルタ監視部１０７は、ＥＲＬＥａｖｅが予め定められた閾値以下か否かを判断し、閾値以下であれば処理９２０へ移り、閾値以下でなければ処理９３０へ移る。ＥＲＬＥａｖｅが予め定められた閾値以下の場合はエコー消去量が十分ではないと判断し、該遅延時間の評価値Ｅを低減させることができる。
上述の各実施例によるエコーキャンセラ及びエコー消去方法によれば、エコー信号の遅延時間が不明又は遅延時間に変化が発生しやすい環境下においても、エコー信号の遅延時間を短時間に精度よく決定することが可能であり、安定したエコー消去を実現することが可能である
【００２８】
（変形例）
図１５は、本実施の形態の変形例を示す図である。
エコーキャンセラ１０は、電話機に接続される以外にも、例えば、マイク３１とスピーカ３２を備えた電話会議システム（スピーカフォン）に用いられてもよい。この場合、上述の各実施例における近端電話機からの送信信号Ｓｉｎが、本変形例ではマイク３１を介して入力された話者の音声信号に相当する。また、上述の各実施例における近端電話機への受信信号Ｒｏｕｔが、本変形例ではスピーカ３２から出力される音声信号に相当する。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれている。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００２９】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【産業上の利用可能性】
【００３０】
本発明は、例えば、通信システム、通信網を介した会議システム等に利用可能である。
【符号の説明】
【００３１】
１０：エコーキャンセラ
１００：バッファ処理部
１０１：受信バッファ
１０２：送信バッファ
１０３：相関処理部
１０４：統計処理部
１０５：管理テーブル
１０６：適応フィルタ
１０７：フィルタ監視部
１０８：遅延処理部
１１０：データ線路
１２０：データ線路
１３０：エコー消去部
【図１】
2017098861.tif 000003
【図２】
2017098861.tif 000004
【図３】
2017098861.tif 000005
【図４】
2017098861.tif 000006
【図５】
2017098861.tif 000007
【図６】
2017098861.tif 000008
【図７】
2017098861.tif 000009
【図８】
2017098861.tif 000010
【図９】
2017098861.tif 000011
【図１０】
2017098861.tif 000012
【図１１】
2017098861.tif 000013
【図１２】
2017098861.tif 000014
【図１３】
2017098861.tif 000015
【図１４】
2017098861.tif 000016
【図１５】
2017098861.tif 000017
【図１６】
2017098861.tif 000018