(57)【特許請求の範囲】
【請求項１】
次数を変更可能な適応フィルタによって推定エコー信号を形成するエコーキャンセラ本体に対し、上記適応フィルタの次数を指示する適応フィルタ次数制御装置において、
遠端話者が話中状態、近端話者が受聴状態にあるシングルトーク状態のシングルトーク検出手段と、
シングルトーク状態中に、遠端話者からの受信信号の信号レベルと、当該受信信号が近端話者側に存在するエコー経路を介して遠端話者に戻るエコー信号の信号レベルを測定し、エコーリターンロスを検出するエコーリターンロス検出手段と、
上記エコーリターンロスが既定値に到達するまで、上記適応フィルタの次数を初期値から徐々に大きくしていって、上記適応フィルタの次数を定める適応フィルタ次数探索手段と
を有することを特徴とする適応フィルタ次数制御装置。
【請求項２】
エコーリターンロスが既定値に到達後に、上記適応フィルタの収束したフィルタ係数の分布から、切り詰め可能な係数の最後尾側の区間を決定し、その区間に相当する分だけ上記適応フィルタの次数を減少させる適応フィルタ次数減少手段をさらに有することを特徴とする請求項１に記載の適応フィルタ次数制御装置。
【請求項３】
次数を変更可能な適応フィルタによって推定エコー信号を形成するエコーキャンセラ本体に対し、上記適応フィルタの次数を指示する適応フィルタ次数制御プログラムであって、
コンピュータを、
遠端話者が話中状態、近端話者が受聴状態にあるシングルトーク状態のシングルトーク検出手段と、
シングルトーク状態中に、遠端話者からの受信信号の信号レベルと、当該受信信号が近端話者側に存在するエコー経路を介して遠端話者に戻るエコー信号の信号レベルを測定し、エコーリターンロスを検出するエコーリターンロス検出手段と、
上記エコーリターンロスが既定値に到達するまで、上記適応フィルタの次数を初期値から徐々に大きくしていって、上記適応フィルタの次数を定める適応フィルタ次数探索手段と
して機能させることを特徴とする適応フィルタ次数制御プログラム。
【請求項４】
次数を変更可能な適応フィルタによって推定エコー信号を形成するエコーキャンセラ本体と、
上記エコーキャンセラ本体に対し、上記適応フィルタの次数を指示する請求項１又は２に記載の適応フィルタ次数制御装置と
を有することを特徴とするエコーキャンセラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は適応フィルタ次数制御装置及びプログラム、並びに、エコーキャンセラに関し、特に、回線エコーキャンセラ又は音響エコーキャンセラに内蔵されている適応フィルタの次数をエコー経路に適合するように動的に変更しようとしたものである。
【背景技術】
【０００２】
エコーキャンセラでは、周知のように、適応フィルタがエコー信号を推定した推定エコー信号を形成する。このように用いられる適応フィルタの次数（タップ数）は、従来、例えば、以下のような方法１〜方法３によって定められていた。
【０００３】
＜従来方法１＞
従来方法１は、エコー経路のインパルス応答時間の最大値を前もって想定しておき、エコーキャンセラの適応フィルタ次数もこの最大値に設定しておく方法である。従来方法１では、上述した最大値に設定された適応フィルタ次数をその後に変更することはない。
【０００４】
＜従来方法２＞
従来方法２は、エコー経路のインパルス応答時間の最大値を前もって想定しておき、適応フィルタが収束するまで待ち、適応フィルタ収束後に、適応フィルタの係数の分布を解析し、適応制御区間を定める方法である（特許文献１、２参照）。具体的に説明すると、例えば、反射が２回発生するエコー経路を考えてみると、エコーキャンセラの適応フィルタ収束後には、適応フィルタの係数は、ほぼ反射が２回発生するエコー経路のインパルス応答と同様の分布を示すことになる。よって、適応フィルタの全長は、各回の反射によるエコー経路のインパルス応答区間を共に含む区間に相当する値に設定し直し、適応制御区間は、１回目の反射によるエコー経路のインパルス応答区間と２回目の反射によるエコー経路のインパルス応答区間の長い区間に相当する区間に限定すれば、最小のリソースで最大の効果を得ることが可能となる。
【０００５】
＜従来方法３＞
従来方法３では、まず、エコーキャンセラの適応フィルタの次数を適当な値に設定しておき、そして、エコーリターンロス改善量（ＥＲＬＥ：Ｅｃｈｏ  Ｒｅｔｕｒｎ  Ｌｏｓｓ  Ｅｎｈａｎｃｅｍｅｎｔ）が前もって定めた閾値を下回るときは、適応フィルタ次数が足りないと判断し、適宜、適応フィルタの次数を増加させ、ＥＲＬＥが閾値以上となるまでこの処理を繰り返す（特許文献３、４参照）。ＥＲＬＥは、エコー信号が含まれている送信信号の２乗を、エコー成分を除去した後のエコー除去後信号の２乗で割り、このような除算結果の統計的平均として定義される値である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１２８７５８号公報
【特許文献２】特開２００９−１７０２９号公報
【特許文献３】特表２００１−５０３２１７号公報
【特許文献４】特開平１１−１２２１４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来方法１は、エコー経路のインパルス応答長が想定される最大値であることを前提とし、適応フィルタの次数もこれに対応させているので、実際のエコー経路のインパルス応答長が当該最大値よりも小さい場合、その差分に相当するエコーキャンセラのリソース、処理、ならびに、電力が無駄に消費されることとなり、さらに、適応フィルタの収束時間もこの差分に相当する分だけ長くなることになる。特に、エコーキャンセラを１つの装置内に多チャンネル分だけ実装するときは、装置の原価、大きさ、消費電力の上昇を招くことになる。
【０００８】
従来方法２は、適応フィルタの収束後では最適なリソース配分を実現しているが、収束が完了するまでの間は、従来方法１と同等のリソースを必要とする。これは、特に、エコーキャンセラを多チャンネル実装する装置において、一斉発呼数の能力を低下させることになる。一斉発呼数とは、同時に通信開始可能な通話数のことであり、音声通信装置の能力を表す重要な指標の一つとなっている。
【０００９】
従来方法３の課題は、エコーキャンセラのＥＲＬＥの値に基づいて、適応フィルタ次数を変更することにある。
【００１０】
エコーが極めて微量しか発生しない状況下ではＥＲＬＥはほぼ１となり、適応フィルタでエコーが全く消去されていないと判定され、エコーは発生していないにもかかわらず、適応フィルタの次数を増加し続けることになる。特に、エコーキャンセラの数値演算に固定小数点を採用している場合にこの問題は発生し易い。
【００１１】
エコーが極めて微量しか発生しない状況の例として、回線エコーキャンセラの場合では、２線／４線変換素子を使用しない４線アナログ電話又はＩＳＤＮ回線のデジタル電話を用いる場合がこれに相当し、音響エコーキャンセラの場合では、個別のスピーカを使用せずに、受話器又はヘッドセット（のスピーカ）を用いる場合がこれに相当する。
【００１２】
そのため、エコーキャンセラに内蔵されている適応フィルタの次数をエコー経路に適合するように動的にしかも追従性良く変更できる適応フィルタ次数制御装置及びプログラム、並びに、エコーキャンセラが望まれている。
【課題を解決するための手段】
【００１３】
第１の本発明は、次数を変更可能な適応フィルタによって推定エコー信号を形成するエコーキャンセラ本体に対し、上記適応フィルタの次数を指示する適応フィルタ次数制御装置において、（１）遠端話者が話中状態、近端話者が受聴状態にあるシングルトーク状態のシングルトーク検出手段と、（２）シングルトーク状態中に、遠端話者からの受信信号の信号レベルと、当該受信信号が近端話者側に存在するエコー経路を介して遠端話者に戻るエコー信号の信号レベルを測定し、エコーリターンロスを検出するエコーリターンロス検出手段と、（３）上記エコーリターンロスが既定値に到達するまで、上記適応フィルタの次数を初期値から徐々に大きくしていって、上記適応フィルタの次数を定める適応フィルタ次数探索手段とを有することを特徴とする。
【００１４】
第２の本発明は、次数を変更可能な適応フィルタによって推定エコー信号を形成するエコーキャンセラ本体に対し、上記適応フィルタの次数を指示する適応フィルタ次数制御プログラムであって、コンピュータを、（１）遠端話者が話中状態、近端話者が受聴状態にあるシングルトーク状態のシングルトーク検出手段と、（２）シングルトーク状態中に、遠端話者からの受信信号の信号レベルと、当該受信信号が近端話者側に存在するエコー経路を介して遠端話者に戻るエコー信号の信号レベルを測定し、エコーリターンロスを検出するエコーリターンロス検出手段と、（３）上記エコーリターンロスが既定値に到達するまで、上記適応フィルタの次数を初期値から徐々に大きくしていって、上記適応フィルタの次数を定める適応フィルタ次数探索手段として機能させることを特徴とする。
【００１５】
第３の本発明のエコーキャンセラは、次数を変更可能な適応フィルタによって推定エコー信号を形成するエコーキャンセラ本体と、上記エコーキャンセラ本体に対し、上記適応フィルタの次数を指示する第１の本発明の適応フィルタ次数制御装置とを有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、エコーリターンロスを指標として、適応フィルタの次数を探索するようにしたので、適応フィルタの次数をエコー経路に適合するように動的にしかも追従性良く変更できる適応フィルタ次数制御装置及びプログラム、並びに、エコーキャンセラを提供できる。
【図面の簡単な説明】
【００１７】
【図１】エコー発生箇所が１か所の場合におけるエコー経路のインパルス応答ｈ（ｎ）の具体例を示す説明図である。
【図２】エコー発生箇所が２か所の場合におけるエコー経路のインパルス応答ｈ（ｎ）の具体例を示す説明図である。
【図３】エコーキャンセラ周辺の一般的な構成を模式的に示すブロック図である。
【図４】第１の実施形態に係るエコーキャンセラの構成を示すブロック図である。
【図５】第１の実施形態に係る適応フィルタ次数制御装置の詳細構成を示すブロック図である。
【図６】第１の実施形態におけるシングトーク検出器がシングルトーク状態と判断する３つの条件式による受信信号及び送信信号の領域を示すグラフである。
【図７】第１の実施形態における適応フィルタ次数決定部の処理を示すフローチャートである。
【図８】第２の実施形態に係るエコーキャンセラの構成を示すブロック図である。
【図９】第２の実施形態における適応フィルタ次数決定部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
（Ａ）各実施形態に共通する前提
本発明による適応フィルタ次数制御装置及びプログラム、並びに、エコーキャンセラの各実施形態を説明する前に、各実施形態に共通する前提を説明する。
【００１９】
（Ａ−１）デジタル信号処理
各実施形態は、連続値系であるアナログ信号のエコーという物理現象に係るものではあるが、今日ではアナログ信号処理よりもコスト／パフォーマンスに圧倒的に優れるデジタル信号処理が普及しており、各実施形態もデジタル信号処理による実現を想定している。以下の説明では、アナログ信号の現象や処理であったとしても、離散値系で説明していることを前もって断っておく。
【００２０】
（Ａ−２）回線エコーキャンセラ
各実施形態の技術思想は、回線エコーキャンセラにも音響エコーキャンセラにも適用し得るものである。以下では、各実施形態が適用可能な回線エコーキャンセラと音響エコーキャンセラを順に確認しておく。
【００２１】
アナログ電話機を収容する企業の構内私設交換機や通信事業者の加入者交換機には、２線／４線変換素子と呼ばれるアナログ部品が搭載されており、当該部品において、インピーダンス不整合により、通信相手（遠端話者）から受信した音声信号の一部が当該通信相手（近端話者）の送信信号にエコー信号として漏れ込む。この現象は、通話している２者間の伝搬遅延時間が小さいときは、エコー信号が瞬時に話者に戻ってくるため遠端話者には側音（モニタ）として聞こえ通話品質が劣化することはない。しかしながら、長距離通話のように伝搬遅延時間が増大する場合、もしくは、近距離通話であってもＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）のようにパケット化通信のために伝搬遅延時間が増大する場合には、遠端話者は遅れて戻ってくる自身の声のエコーのために煩わしく感じるようになり、通話品質は劣化する。回線エコーキャンセラは、この漏れ込んだエコー信号を除去し、劣化した通話品質を改善することを目的とした装置である。
【００２２】
なお、遠端話者の音声信号が２線／４線変換素子を介してエコー信号となって当該遠端話者に戻る通信路は、エコー経路と呼ばれている。音声通信において、エコー経路は１つとは限らず、複数箇所に存在し得る。例えば、企業網では、公専公（公衆電話網−専用線−公衆電話網）接続のような多段リンクを介して音声通信する場合があり、このような状況下ではアナログ回線が複数箇所に現れることがあり、２線／４線変換素子も複数箇所に現れるので、複数のエコー経路が同時に存在することになる。このような場合、回線エコーキャンセラは多重反射のことを考慮して設計する必要があり、本発明の各実施形態は多重反射に対応し得るものとなっている。
【００２３】
（Ａ−３）音響エコーキャンセラ
音響エコーキャンセラは、スピーカとマイクを使用するハンズフリーホンや会議装置において、通信相手（遠端話者）から受信した音声信号がスピーカから音波として放射され、当該音波がマイクに回り込むエコー信号（音響エコー）となって遠端話者に戻り、通話品質が劣化することを抑制する装置である。
【００２４】
音響エコーの場合も、音波がスピーカからマイクまで回り込むエコー経路は１つとは限らず、通常は、複数のエコー経路が同時に存在する。例えば、音波がスピーカからマイクまで空間を介して直接回り込む経路と、室内の壁、床、天井、設置物を１回以上反射して回り込む経路がある。さらに、通信中における、人や物体の移動若しくはドアの開閉などにより、動的にエコー経路が変動する場合もある。そのため、音響エコーキャンセラも、これら多重反射のことを考慮して設計する必要があり、本発明の各実施形態は多重反射に対応し得るものとなっている。
【００２５】
（Ａ−４）エコー経路の表現
各実施形態が前提としている、エコーを生成するエコー経路の数学的な表現は、以下の通りである。
【００２６】
エコーを生成するエコー経路を線形回路と見なすとき、エコー経路は、有限インパルス応答（ＦＩＲ：Ｆｉｎｉｔ  Ｉｍｐｕｌｓｅ  Ｒｅｓｐｏｎｓｅ）フィルタＨ（ｚ）で表現することが可能である。ここで、ＦＩＲフィルタＨ（ｚ）はｚ関数であり、１次のＦＩＲフィルタで構成されると想定すると、（１）式で表現することができる。（２）式に示すように、（１）式のタップ係数ｈ（ｋ）は、Ｈ（ｚ）を逆ｚ変換して得られる時間領域のインパルス応答ｈ（ｎ）でもある。（２）式において、ｊは純虚数であり、Ｃはｚ平面の原点を内包する周回積分路である。
【数１】
0005510288.tif 000002
【００２７】
一般に、エコー経路は、周波数領域では（１）式の伝達関数Ｈ（ｚ）で表現され、時間領域では（２）式のインパルス応答ｈ（ｎ）で表現される。
【００２８】
図１は、エコー経路のインパルス応答ｈ（ｎ）の具体例を示す説明図である。
【００２９】
図１において、Ｎｔｏｔａｌはインパルス応答ｈ（ｎ）の全体の長さを表し、Ｎｄはエコーキャンセラとエコー経路の間の往復伝搬遅延時間（≒スピーカから反射物を経てマイクへ至る時間）を表し、Ｎｈｙｂは、エコー経路の中に存在してエコーを発生させる素子（例えば、２線／４線変換素子）のインパルス応答時間を表している。エコーを発生させる素子が１個であれば、Ｎｔｏｔａｌ＝Ｎｄ＋Ｎｈｙｂである。
【００３０】
図１に示したエコー経路のインパルス応答は、エコーの発生が１力所の場合であった。企業網などでは、公専公接続などの多段リンク構成により、アナログ回線が複数箇所に存在する場合、エコー経路も複数箇所に存在し、話者には多重反射されたエコーが戻ることとなる。図２は、エコー経路が２カ所に存在するときのインパルス応答の例を示している。図２において、Ｎｔｏｔａｌはインパルス応答ｈ（ｎ）の全体の長さを表し、Ｎｄｉ（ｉは１又は２）はそれぞれ、エコーキャンセラと第ｉのエコー経路の間の往復伝搬遅延時間を表し、Ｎｈｙｂｉは、第ｉのエコー経路の中に存在してエコーを発生させる素子のインパルス応答時間を表している。ここで、Ｎｔｏｔａｌ＝Ｎｄ２＋Ｎｈｙｂ２である。
【００３１】
（Ａ−５）エコーキャンセラの基本原理
図３は、エコーキャンセラ周辺の一般的な構成を模式的に示すブロック図である。
【００３２】
受信信号ｘ（ｎ）は、図３に記載されていない遠端話者から受信した信号であり、これは、推定エコー信号形成部３−１とエコー経路３−２に供給される。受信信号ｘ（ｎ）は、エコー経路３−２を介してエコー信号ｙ（ｎ）となる。エコー信号ｙ（ｎ）は、加算器３−３において近端話者信号ｄ（ｎ）と加算され、送信信号ｄ（ｎ）としてエコーキャンセラに提供される。通常、エコー経路３−２と加算器３−３は、２線／４線変換素子が有する機能であるが、図３では説明の便宜上、分離して描かれている。
【００３３】
受信信号ｘ（ｎ）は、推定エコー信号形成部３−１を介してエコー信号ｙ（ｎ）の推定値である推定エコー信号＾ｙ（ｎ）に変換される。減算器３−４において、送信信号ｄ（ｎ）から推定エコー信号＾ｙ（ｎ）が減算されてエコー成分が除去され、除去し切れずに残っているエコー成分を含む送信信号であるエコー除去後信号ｅ（ｎ）が算出される。減算器３−４及び推定エコー信号形成部３−１によってエコーキャンセラが構成されている。エコー除去後信号ｅ（ｎ）は、遠端話者に送出されると同時に、推定エコー信号形成部３−１にフィードバックされている。推定エコー信号形成部３−１は、推定エコー信号＾ｙ（ｎ）を算出する適応フィルタを内蔵している。
【００３４】
次に、適応フィルタについて説明する。適応フィルタに採用されている典型的なアルゴリズムは学習同定法である。以下の（３）式〜（５）式は、学習同定法を数式で示したものである。
【数２】
0005510288.tif 000003
【００３５】
（３）式〜（５）式において、Ｎは適応フィルタの次数、＾ｈｎ（ｋ）は時刻ｎにおける適応フィルタのｋ番目のタップ係数、μは０＜μ≦１を満たす定数である。
【００３６】
なお、エコー経路のインパルス応答をｈ（ｋ）とするとき、＾ｈｎ（ｋ）はｈｎ（ｋ）に対する推定値である。つまり、推定エコー信号形成部３−１は、エコー信号ｙ（ｎ）を推定する以前に、エコー経路のインパルス応答ｈ（ｋ）を推定している。
【００３７】
図３において、送信信号ｄ（ｎ）はエコー信号ｙ（ｎ）と近端話者信号ｗ（ｎ）の和となっている（ｄ（ｎ）＝ｙ（ｎ）＋ｗ（ｎ））。推定エコー信号形成部３−１は、エコー信号ｙ（ｎ）を推定することは可能であるが、近端話者信号ｗ（ｎ）は当然のことながら推定不可能であり、近端話者信号ｗ（ｎ）は適応フィルタから見ると、外乱雑音として振る舞うこととなる。近端話者が喋っていないときでも近端話者の背景雑音は外乱雑音として振る舞うことになる。従って、（５）式の適応フィルタの係数更新は、遠端話者が喋り近端話者が黙っているとき、換言すると、送信信号ｄ（ｎ）が遠端話者信号のエコー信号ｙ（ｎ）でほぼ占有されているときに限定して実施されるべきである。なお、この遠端話者が喋り近端話者が黙っている状況は、シングルトークと呼ばれている。
【００３８】
（Ａ−６）各実施形態（従って本発明）の動機付け
（３）式で現れる適応フィルタの次数Ｎは、実際のエコー経路をＦＩＲフィルタで表現したときの当該ＦＩＲフィルタ次数をＭとすると、Ｍ以上でしかも極力Ｍに近い値であることが、エコーキャンセラのエコー消去量と追従速度の観点から、また、処理量、装置実装規模、コスト、消費電力などの観点から望ましい。
【００３９】
回線エコーキャンセラの観点からは、公専公接続のような多段リンクによりエコーの各重反射が発生したり、通信中の呼の転送などによりエコー経路が変動したりしても追従可能であることが望ましい。
【００４０】
音響エコーキャンセラの観点からは、様々な音場環境に追従でき、かつ、通信中の動的な音場環境変化にも追従可能であることが望ましい。
【００４１】
以上のような要望を満足させることを動機として、各実施形態を考えるに至った。
【００４２】
（Ａ−７）各実施形態の概要
適応フィルタの次数が充足しているか、それとも不足しているかを判断するには、シングルトーク中（遠端話者：話中状態、近端話者：受聴状態）に、遠端話者から受信した信号レベルと、当該受信信号が近端話者側に存在するエコー経路を介して遠端話者に戻るエコー信号レベルを測定し、これらから、エコーリターンロス（＝エコー信号レベル／受信信号レベル）を算出し、当該ロスが規定値以上のときは適応フィルタの次数は充足していると判断でき、逆に、規定値未満のときは適応フィルタの次数は不足していると判断できる。
【００４３】
従って、シングルトーク状態の正確な検出、適応フィルタ次数の充足／不足の判定契機、適応フィルタ次数の増加方法がポイントとなる。このようなポイントを適切に実現した実施形態として、第１の実施形態を説明する。
【００４４】
また、上述したポイントとなる機能に対するオプショナルな機能として、適応フィルタ次数が最適値を超過したときに最適化する機能があり、この機能を実現した実施形態として、第１の実施形態を説明する。
【００４５】
（Ｂ）第１の実施形態
以下、本発明による適応フィルタ次数制御装置及びプログラム、並びに、エコーキャンセラの第１の実施形態を、図面を参照しながら説明する。
【００４６】
（Ｂ−１）第１の実施形態の構成
図４は、第１の実施形態に係るエコーキャンセラの構成を示すブロック図である。第１の実施形態に係るエコーキャンセラは、ハードウェアで構成することも、プログラムとそれを実行するＣＰＵとによってソフトウェア的に構成することも可能であるが、いずれの場合にせよ、図４の機能ブロック図で表すことができる。
【００４７】
図４において、第１の実施形態に係るエコーキャンセラ４は、エコーキャンセラ本体４−１と適応フィルタ次数制御装置４−２とを有する。
【００４８】
エコーキャンセラ本体４−１は、上述した図３における推定エコー信号形成部３−１及び減算器３−４が相当するものであり、推定エコー信号を形成する中心部材である適応フィルタ４−３を内蔵している。
【００４９】
エコーキャンセラ本体４−１には、対向する遠端話者からの受信信号ｘ（ｎ）、近端話者から遠端話者方向への送信信号ｄ（ｎ）が入力されると共に、適応フィルタ次数制御装置４−２が出力した適応フィルタ４−３の次数Ｎ及びシングルトーク検出信号ＳＧＬ＿ｄｅｔが与えられるようになされている。
【００５０】
エコーキャンセラ本体４−１は、受信信号ｘ（ｎ）を適応フィルタ４−３に入力してエコー信号の推定値である推定エコー信号＾ｙ（ｎ）（図３参照）を形成し、送信信号ｄ（ｎ）から推定エコー信号＾ｙ（ｎ）を減算してエコー成分を除去し、除去し切れずに残っているエコー成分を含む送信信号であるエコー除去後信号ｅ（ｎ）を得る。エコー除去後信号ｅ（ｎ）は、遠端話者側に送信されるだけでなく、適応フィルタ次数制御装置４−２に与えられる。適応フィルタ４−３が推定エコー信号＾ｙ（ｎ）を形成するために適用する次数は、適応フィルタ次数制御装置４−２から指示された適応フィルタ次数Ｎに従う。また、適応フィルタ４−３の係数更新は、適応制御フィルタ次数制御装置４−２から通知されるシングルトーク検出信号ＳＧＬ＿ｄｅｔがアクティブ（有意）であるときのみ実施するようになされている。
【００５１】
適応フィルタ次数制御装置４−２には、対向する遠端話者からの受信信号ｘ（ｎ）、近端話者から遠端話者方向への送信信号ｄ（ｎ）、エコーキャンセラ本体４−１から出力されたエコー除去後信号ｅ（ｎ）が与えられるようになされている。
【００５２】
適応フィルタ次数制御装置４−２は、受信信号ｘ（ｎ）、送信信号ｄ（ｎ）、エコー除去後信号ｅ（ｎ）に基づいて、シングルトーク状態を検出し、シングルトーク検出結果ＳＧＬ＿ｄｅｔをエコーキャンセラ本体４−１内の適応フィルタ４−３に通知すると共に、適応フィルタ４−３の現在の次数の充足／不足を判定し、その判定に応じて適宜算出した適応フィルタ４−３の新たな次数Ｎを適応フィルタ４−３に指示する。
【００５３】
ここで、適応フィルタ４−３は、以下の要求条件Ｒ１〜Ｒ６を満たしているものである。なお、適応フィルタ４−３のアルゴリズムとして良く適用されている上述した学習同定法アルゴリズムは、下記の要求条件を満たすことが可能なものである。
【００５４】
（Ｒ１）適応フィルタのタイプは、（３）式に示す有限インパルス応答型であること
（Ｒ２）近端話者側に配置されているエコー経路のインパルス応答を推定可能であること
（Ｒ３）推定したエコー経路のインパル応答と、遠端からの受信信号とから、近端話者側からの送信信号に含まれているエコー信号を推定可能であること（（３）式参照）
（Ｒ４）適応フィルタの次数は、通信中に指定された値に変更可能であること（（３）式参照）
（Ｒ５）遠端話者が話中かつ近端話者が受聴となっているシングルトーク状態であることを外部から通知されたときにのみ、適応フィルタ係数の更新を実施すること（（５）式参照）
（Ｒ６）以上の機能を使用して、近端話者からの送信信号に含まれている遠端話者信号のエコー信号を除去することが可能であること（（４）式参照）
ここで、要求条件Ｒ４は、上述した（３）式における総和Σの範囲を変更することで容易に応じられる。要求条件Ｒ５は、上述した（５）式における時刻ｎから時刻ｎ＋１への移行を、シングルトーク状態中に限り実施させることで容易に応じられる。
【００５５】
図５は、図４に示す適応フィルタ次数制御装置４−２の内部の詳細構成を示す機能ブロック図である。なお、上述したように、適応フィルタ次数制御装置４−２を、プログラムとそのプログラムを実行するＣＰＵとで実現するようにしても良い。
【００５６】
図５において、適応フィルタ次数制御装置４−２は、受信信号絶対値化器（受信信号ＡＢＳ）５−１、送信信号絶対値化器（送信信号ＡＢＳ）５−２、除去後信号絶対値化器（除去後信号ＡＢＳ）５−３、受信信号短時間平均値化器（受信信号ＬＰＦ＿Ｓ）５−４、受信信号中時間平均値化器（受信信号ＬＰＦ＿Ｍ）５−５、受信信号長時間平均値化器（受信信号ＬＰＦ＿Ｌ）５−６、送信信号短時間平均値化器（送信信号ＬＰＦ＿Ｓ）５−７、送信信号長時間平均値化器（送信信号ＬＰＦ＿Ｌ）５−８、除去後信号中時間平均値化器（除去後信号ＬＰＦ＿Ｍ）５−９、シングルトーク検出器５−１０及び適応フィルタ次数決定部５−１１を有する。
【００５７】
受信信号絶対値化器５−１、送信信号絶対値化器５−２及び除去後信号絶対値化器５−３にはそれぞれ、対応する受信信号ｘ（ｎ）、送信信号ｄ（ｎ）、エコー除去後信号ｅ（ｎ）が与えられるようになっている。
【００５８】
受信信号絶対値化器５−１は、受信信号ｘ（ｎ）の絶対値を取り、その絶対値出力を、受信信号短時間平均値化器５−４、受信信号中時間平均値化器５−５及び受信信号長時間平均値化器５−６に与えるものである。
【００５９】
送信信号絶対値化器５−２は、送信信号ｄ（ｎ）の絶対値を取り、その絶対値出力を、送信信号短時間平均値化器５−７及び送信信号長時間平均値化器５−８に与えるものである。
【００６０】
除去後信号絶対値化器５−３は、エコー除去後信号ｅ（ｎ）の絶対値を取り、その絶対値出力を、除去後信号中時間平均値化器５−９に与えるものである。
【００６１】
図５では、受信信号ｘ（ｎ）、送信信号ｄ（ｎ）、エコー除去後信号ｅ（ｎ）の信号レベルを捉えるために、それぞれを絶対値化するものを示しているが、２乗するようにしても良い。
【００６２】
受信信号短時間平均値化器５−４は、例えば、低域濾波器でなり、受信信号絶対値化器５−１からの出力を平滑化し、受信信号ｘ（ｎ）の短時間平均植ｘｓを算出し、得られた短時間平均値ｘｓをシングルトーク検出器５−１０に与えるものである。ここで、平均に供する短時間は、適応フィルタ次数Ｎに相当する時間であり、そのため、適応フィルタ次数決定部５−１１から出力された適応フィルタ次数Ｎが受信信号短時間平均値化器５−４に与えられるようになされている。
【００６３】
受信信号中時間平均値化器５−５は、例えば、低域濾波器でなり、受信信号絶対値化器５−１からの出力を平滑化し、受信信号ｘ（ｎ）の中時間平均植ｘｍを算出し、得られた中時間平均値ｘｍを適応フィルタ次数決定部５−１１に与えるものである。ここで、平均に供する中時間は、適応フィルタ次数Ｎの初期値ＮＩＮＩに対応して適応フィルタ４−３の収束に要する時間のことであり、言い換えると、受信信号ｘ（ｎ）の信号レベルが極力正確に推定エコー信号＾ｙ（ｎ）（図３参照）に反映されるようになる適応フィルタ４−３の収束にかかる時間のことである。この時間は、固定時間であって、適応フィルタ次数Ｎの初期値ＮＩＮＩを考慮して、シミュレーションなどによって予め定めておく。受信信号中時間平均値化器５−５には、シングルトーク検出器５−１０の検出結果ＳＧＬ＿ｄｅｔが与えられるようになっており、受信信号中時間平均値化器５−５は、シングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブのときに処理を実施し、シングルトーク検出ＳＧＬ＿ｄｅｔがインアクティブのときに処理を停止し、その出力ｘｍは直前の値を保持する。
【００６４】
受信信号長時間平均値化器５−６は、例えば、低域濾波器でなり、受信信号絶対値化器５−１からの出力を平滑化し、受信信号ｘ（ｎ）の長時間平均植ｘｌを算出し、得られた長時間平均値ｘｌをシングルトーク検出器５−１０に与えるものである。ここで、平均に供する長時間は、エコー経路の正確な減衰率（＝シングルトーク状態における（送信信号の平均レベル）／（受信信号の平均レベル））を得られる時間である。この時間は、固定時間であって、シミュレーションなどに基づいて予め定めておく。受信信号長時間平均値化器５−６には、シングルトーク検出器５−１０の検出結果ＳＧＬ＿ｄｅｔが与えられるようになっており、受信信号長時間平均値化器５−６は、シングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブのときに処理を実施し、シングルトーク検出ＳＧＬ＿ｄｅｔがインアクティブのときに処理を停止し、その出力ｘｌは直前の値を保持する。
【００６５】
送信信号短時間平均値化器５−７は、例えば、低域濾波器でなり、送信信号絶対値化器５−２からの出力を平滑化し、送信信号ｄ（ｎ）の短時間平均植ｄｓを算出し、得られた短時間平均値ｄｓをシングルトーク検出器５−１０に与えるものである。平均に供する短時間は、上述した受信信号短時間平均値化器５−４における短時間と同一である。
【００６６】
送信信号長時間平均値化器５−８は、例えば、低域濾波器でなり、送信信号絶対値化器５−２からの出力を平滑化し、送信信号ｄ（ｎ）の長時間平均植ｄｌを算出し、得られた長時間平均値ｄｌをシングルトーク検出器５−１０に与えるものである。平均に供する長時間は、上述した受信信号長時間平均値化器５−６における長時間と同一である。送信信号長時間平均値化器５−８には、シングルトーク検出器５−１０の検出結果ＳＧＬ＿ｄｅｔが与えられるようになっており、送信信号長時間平均値化器５−８は、シングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブのときに処理を実施し、シングルトーク検出ＳＧＬ＿ｄｅｔがインアクティブのときに処理を停止し、その出力ｄｌは直前の値を保持する。
【００６７】
除去後信号中時間平均値化器５−９は、例えば、低域濾波器でなり、除去後信号絶対値化器５−３からの出力を平滑化し、除去後信号ｅ（ｎ）の中時間平均植ｅｍを算出し、得られた中時間平均値ｅｍを適応フィルタ次数決定部５−１１に与えるものである。平均に供する中時間は、上述した受信信号長時間平均値化器５−６における中時間と同一である。除去後信号中時間平均値化器５−９には、シングルトーク検出器５−１０の検出結果ＳＧＬ＿ｄｅｔが与えられるようになっており、除去後信号中時間平均値化器５−９は、シングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブのときに処理を実施し、シングルトーク検出ＳＧＬ＿ｄｅｔがインアクティブのときに処理を停止し、その出力ｅｍは直前の値を保持する。
【００６８】
以上では、各平均値化器５−４〜５−９を低域濾波器で構成した場合を説明したが、他の構成によって平均値化器を構成するようにしても良い。例えば、所定期間のサンプル値をバッファリングするメモリと、所定期間のサンプル値の単純平均を算出する平均算出器で平均値化器を構成するようにしても良い。但し、以下の動作説明では、低域濾波器で構成されている場合を説明している。
【００６９】
シングルトーク検出器５−１０には、上述のように、受信信号ｘ（ｎ）の短時間平均値ｘｓと長時間平均値ｘｌ、並びに、送信信号ｄ（ｎ）の短時間平均値ｄｓと長時間平均値ｄｌが与えられる。シングルトーク検出器５−１０は、これらの短時間平均値ｘｓ、長時間平均値ｘｌ、短時間平均値ｄｓ及び長時間平均値ｄｌに基づいて、遠端話者が話中で近端話者が受聴となっているシングルトーク状態を検出し、検出結果ＳＧＬ＿ｄｅｔを、適応フィルタ４−３（図４参照）、受信信号中時間平均値化器５−５、受信信号長時間平均値化器５−６、送信信号長時間平均値化器５−８及び除去後信号中時間平均値化器５−９に出力するものである。シングルトーク検出器５−１０の検出方法の詳細については、動作の項で明らかにする。
【００７０】
適応フィルタ次数決定部５−１１には、上述のように、受信信号ｘ（ｎ）の中時間平均値ｘｍとエコー除去後信号ｅ（ｎ）の中時間平均値ｅｍが与えられる。適応フィルタ次数決定部５−１１は、これらの中時間平均値ｘｍと中時間平均値ｅｍに基づいてエコーリターンロス（ＥＲＬ：Ｅｃｈｏ  Ｒｅｔｕｒｎ  Ｌｏｓｓ）を検出し、この検出値ＥＲＬに基づいて適応フィルタ４−３（図４参照）で採用すべき次数Ｎを決定し、決定した適応フィルタ次数Ｎを、適応フィルタ４−３、受信信号短時間平均値化器５−４及び送信信号短時間平均値化器５−７に出力するものである。適応フィルタ次数決定部５−１１の検出方法の詳細については、動作の項で明らかにする。
【００７１】
（Ｂ−２）第１の実施形態の動作
次に、第１の実施形態のエコーキャンセラ４の動作を、適応フィルタ次数制御装置４−２の動作を中心に説明する。
【００７２】
エコーキャンセラ本体４−１が実行するエコー信号を除去する動作自体は、既存のエコーキャンセラと同様である。但し、適応フィルタ４−３として、上述した要求条件Ｒ１〜Ｒ６を満足するものを適用することを要し、適応フィルタ４−３が、適応フィルタ次数制御装置４−２から変更された適応フィルタ次数Ｎが与えられたときにはその新たな次数Ｎを適用して動作し、また、適応フィルタ次数制御装置４−２から出力されたシングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブのときだけフィルタ係数の更新動作を実行する。
【００７３】
ここで、エコーキャンセラ本体４−１がいわゆるダブルトーク検出器を内蔵し、適応フィルタ次数制御装置４−２から出力されたシングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブであってダブルトーク検出器の検出結果がシングルトーク以外の場合には、適応フィルタ次数制御装置４−２から出力されたシングルトーク検出結果ＳＧＬ＿ｄｅｔを優先させることとなっている。
【００７４】
次に、適応フィルタ次数制御装置４−２における動作について説明する。
【００７５】
受信信号ｘ（ｎ）は、受信信号絶対値化器５−１によって絶対値に変換された後、受信信号短時間平均値化器５−４、受信信号中時間平均値化器５−５及び受信信号長時間平均値化器５−６に与えられ、各平均値化器５−３、５−４、５−５のそれぞれによって処理されることにより、受信信号レベルの短時間平均値ｘｓ、中時間平均値ｘｍ及び長時間平均値ｘｌが得られる。受信信号レベルの短時間平均値ｘｓ及び長時間平均値ｘｌは、シングルトーク検出器５−１０に与えられ、受信信号レベルの中時間平均値ｘｍは、適応フィルタ次数決定部５−１１に与えられる。
【００７６】
ここで、受信信号中時間平均値化器５−５及び受信信号長時間平均値化器５−６には、シングルトーク検出器５−１０の検出結果ＳＧＬ＿ｄｅｔが与えられるようになっており、受信信号中時間平均値化器５−５及び受信信号長時間平均値化器５−６はそれぞれ、シングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブのときに処理を実施し、シングルトーク検出ＳＧＬ＿ｄｅｔがインアクティブのときに処理を停止し、その出力ｘｓ、ｘｌは直前の値を保持する。
【００７７】
受信信号短時間平均値化器５−４に係る短時間とは、適応フィルタ次数Ｎに相当する時間のことである。例えば、音声信号の標本化周波数を８ｋＨｚ（標本化周期は１／８ｋＨｚ）、適応フィルタ次数Ｎを２５６とするとき、２５６×８ｋＨｚ＝３２ｍｓである。従って、受信信号短時間平均値化器（低域濾波器）５−４のフィルタ係数は、時間３２ｍｓの平均を算出するように選定すれば良い。この第１の実施形態の場合、適応フィルタ次数Ｎは変動するため、適応フィルタ次数Ｎと受信信号短時間平均値化器５−４のフィルタ係数の対応表を前もって作成しておき、受信信号短時間平均値化器５−４は、その時点の適応フィルタ次数Ｎをキーとして対応表からフィルタ係数を取出して設定することにより、適応フィルタ次数Ｎに相当した短時間平均値ｘｓを得ることができる。なお、受信信号短時間平均値化器５−４と送信信号短時間平均値化器５−７は同様な機能を担っているので、上述した対応表を共用することができる。
【００７８】
受信信号中時間平均値化器５−５に係る中時間とは、適応フィルタ次数Ｎの初期値ＮＩＮＩが適応フィルタ４−３に設定されて収束動作を開始した後、適応フィルタ４−３が収束し、受信信号ｘ（ｎ）の信号レベルが極力正確に推定エコー信号＾ｙ（ｎ）に反映されるようになるまでの時間のことである。従って、受信信号中時間平均値化器（低域濾波器）５−５のフィルタ係数は、この中時間の平均を算出するように選定すれば良い。平均に供する中時間は固定時間であるので、受信信号中時間平均値化器５−５のフィルタ係数が変更されることはない。
【００７９】
受信信号長時間平均値化器５−６に係る長時間とは、エコー経路の正確な減衰率を得られる時間であり、例えば、１秒程度を適用できる。従って、受信信号長時間平均値化器（低域濾波器）５−６のフィルタ係数は、この長時間の平均を算出するように選定すれば良い。平均に供する長時間は固定時間であるので、受信信号長時間平均値化器５−６のフィルタ係数が変更されることはない。
【００８０】
送信信号ｄ（ｎ）は、送信信号絶対値化器５−２によって絶対値に変換された後、送信信号短時間平均値化器５−７及び送信信号長時間平均値化器５−８に与えられ、各平均値化器５−７、５−８のそれぞれによって処理されることにより、送信信号レベルの短時間平均値ｄｓ及び長時間平均値ｄｌが得られ、シングルトーク検出器５−１０に与えられる。
【００８１】
ここで、送信信号長時間平均値化器５−８にも、シングルトーク検出器５−１０の検出結果ＳＧＬ＿ｄｅｔが与えられるようになっており、送信信号長時間平均値化器５−８は、シングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブのときに処理を実施し、シングルトーク検出ＳＧＬ＿ｄｅｔがインアクティブのときに処理を停止し、その出力ｄｌは直前の値を保持する。
【００８２】
送信信号短時間平均値化器５−７に係る平均化時間は、受信信号短時間平均値化器５−４に係る平均化時間と同一であり、送信信号長時間平均値化器５−８に係る平均化時間は、受信信号短時間平均値化器５−６に係る平均化時間と同一である。
【００８３】
エコー除去後信号ｅ（ｎ）は、除去後信号絶対値化器５−３によって絶対値に変換された後、除去後信号中時間平均値化器５−９に与えられ、この平均値化器５−９によって処理されることにより、エコー除去後信号レベルの中時間平均値ｅｍが得られ、適応フィルタ次数決定部５−１１に与えられる。
【００８４】
ここで、除去後信号中時間平均値化器５−９にも、シングルトーク検出器５−１０の検出結果ＳＧＬ＿ｄｅｔが与えられるようになっており、除去後信号中時間平均値化器５−９は、シングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブのときに処理を実施し、シングルトーク検出ＳＧＬ＿ｄｅｔがインアクティブのときに処理を停止し、その出力ｅｍは直前の値を保持する。
【００８５】
除去後信号中時間平均値化器５−９に係る平均化時間は、受信信号中時間平均値化器５−５に係る平均化時間と同一である。
【００８６】
次に、シングルトーク検出器５−１０について説明する。シングルトーク状態とは、上述したように、遠端話者のみが話中で、近端話者は受聴になっている状態のことを指す。
【００８７】
第１の実施形態のシングルトーク検出器５−１０は、以下の（６）式〜（８）式に示す３つの条件が全て成立したときに、シングルトーク状態であると判定する。
【００８８】
ｘｓ＞ｘｓ＿ｔｈ                            …（６）
０．５・ｘｓ＞ｄｓ                          …（７）
α・ｘｓ・ｄｌ＞ｄｓ・ｘｌ
但し、αはα＞１を満たす定数である        …（８）
（６）式の条件は、受信信号ｘ（ｎ）の短時間平均値ｘｓが、前もって規定した閾値ｘｓ＿ｔｈを超過するときに条件が成立する。閾値ｘｓ＿ｔｈは、（６）式の条件が成立したときに遠端話者が話中であると判断できる値に選定されている。
【００８９】
（７）式を（９）式のように変形すると、（７）式の条件が意味するところを理解し易くなる。
【００９０】
０．５＞ｄｓ／ｘｓ                          …（９）
（９）式は、ＩＴＵ−Ｔ勧告Ｇ．１６８で規定されているエコーキャンセラの外的動作条件になっており、この外的動作条件は、エコー経路の減衰率が０．５未満であることを要求している。一般に、電話回線のエコー経路の減衰率は０．５よりも低く設定されている。なお、エコー経路の減衰率が０．５未満の場合でも、近端話者が話中状態のときは、送信信号ｄ（ｎ）の短時間平均値ｄｓに近端話者の音声が重量されて（９）式が成立しなくなる可能性があるが、その際は、シングルトーク状態ではないと判断され、適応フィルタ４−３の係数更新が停止され、フィルタ係数の発散が防止される。（７）式の条件は、一面で（条件不成立）、近端話者の話中状態を検出する条件と見なすこともできる。しかしながら、近端話者の話中検出は、（８）式の条件の方がより感度に優れている。
【００９１】
（８）式を（１０）式のように変形すると、（８）式の条件が意味するところを理解し易くなる。
【００９２】
α・（ｄｌ／ｘｌ）＞ｄｓ／ｘｓ            …（１０）
（１０）式において、ｄｌ／ｘｌとｄｓ／ｘｓは共に、エコー経路の減衰率を表しているが、ｄｌ／ｘｌは、長時間平均で、しかも、シングルトーク状態中にのみ観測した値になっているのに対して、ｄｓ／ｘｓは、短時間平均で常時測定した値になっている。従って、エコー経路の長時間減衰率ｄｌ／ｘｌはエコー経路の正確な減衰率を示している。これに対して、エコー経路の短時間減衰率ｄｓ／ｘｓは、近端話者が喋りだすと長時間減衰率ｄｌ／ｘｌよりも大きくなると共に、短時間平均なのでエコー経路の減衰率変動に対する追従速度が速いものである。（８）式の条件の長所は、信号レベルを絶対レベルと判定するのではなく、ｄｌ／ｘｌとｄｓ／ｘｓとを相対比較していることである。これは、受信信号ｘ（ｎ）の信号レベルのダイナミックレンジが広いときでも正確にシングルトーク状態を判定できることを意味している。但し、受信信号ｘ（ｎ）の信号レベルが小さくなるほど、（８）式の条件を単体で見るとその信頼性は劣化するが、（６）式の条件により受信信号ｘ（ｎ）に一定以上のレベルがあることが保証されているので、（８）式の条件の信頼性は十分である。
【００９３】
以上のことは、（１０）式の両辺の対数を取って得た（１１）式のように変形することで明らかとなる。（１１）式はさらに（１２）式のように変形することができる。
【００９４】
２０ｌｏｇ１０α＋２０ｌｏｇ１０（ｄｌ／ｘｌ）
＞２０ｌｏｇ１０（ｄｓ／ｘｓ）    …（１１）
２０ｌｏｇ１０ｘｓ＋２０ｌｏｇ１０α＋２０ｌｏｇ１０（ｄｌ／ｘｌ）
＞２０ｌｏｇ１０ｄｓ    …（１２）
ここで、（１１）式において、短時間平均であるｄｓ／ｘｓの観点からは、ｄｌ／ｘｌは定数と見なすことが可能である。（６）式、（７）式、（１２）式を図６のように図示することで、シングルトークの動作領域が明確化される。図６は両対数グラフである。縦軸は２０ｌｏｇ１０ｄｓであり、すなわち、送信信号ｄ（ｎ）の短時間平均値ｄｓのｄＢｍ表示である。横軸は２０ｌｏｇ１０ｘｓであり、すなわち、受信信号ｘ（ｎ）の短時間平均値ｘｓのｄＢｍ表示である。
【００９５】
（６）式の条件は横軸と２０ｌｏｇ１０（ｘｓ＿ｔｈ）で交わる垂線であり、（６）式の条件だけから見れば、この垂線の右側がシングルトーク領域である。（７）式の条件は、縦軸と−６ｄＢｍで交わる４５度の傾きを有する直線となり、（７）式の条件だけから見れば、この直線の下側がシングルトーク領域である。(１２)式の条件は、縦軸と２０ｌｏｇ１０（ｄｌ／ｘｌ）＋２０ｌｏｇ１０αで交わる４５度の傾きを有する直線となり、（１２）式の条件だけから見れば、この直線の下側がシングルトーク領域である。以上、３つの条件式が重なる領域がシングルトークの動作領域であり、ハッチで示している。
【００９６】
なお、（１２）式の条件に係る４５度の傾きを有する直線が、（７）式の条件に係る４５度の傾きを有する直線に一致するか下方に存在することを保証するように、受信信号ｘ（ｎ）の長時間平均値ｘｌと送信信号ｄ（ｎ）の長時間平均値ｄｌの初期値が、０．５・ｘｌ＝ｄｌを満足するように、受信信号長時間平均値化器（低域濾波器）５−６と送信信号長時間平均値化器（低域濾波器）５−８とを初期化しておくことが好ましい。
【００９７】
（６）式〜（８）式の条件が全て成立するときにのみ、シングルトーク検出器５−１０は、シングルトーク検出結果ＳＧＬ＿ｄｅｔをアクティブにする。
【００９８】
次に、適応フィルタ次数決定部５−１１について説明する。
【００９９】
適応フィルタ次数決定部５−１１は、受信信号ｘ（ｎ）の中時間平均値ｘｍとエコー除去後信号ｅ（ｎ）の中時間平均値ｅｍとから、エコー信号の減衰率、すなわち、エコーリターンロスＥＲＬ＝ｅｍ／ｘｍを算出し、エコー信号の減衰率が既定値に到達していないときには適応フィルタ４−３の次数が不足していると判断して、適応フィルタ４−３の次数Ｎを増加させるものである。
【０１００】
エコーリターンロスＥＲＬ＝ｅｍ／ｘｍを検出するに際し、適応フィルタ４−３の収束過程はシングルトーク状態中にのみ進行すること、換言すると、シングルトーク状態中にのみ適応フィルタの係数更新を繰り返しながら適応フィルタ４−３のフィルタ係数を収束させていくことに留意する。例えば、適応フィルタ４−３の次数の初期値をＮ１とし、エコー経路をＦＩＲフィルタに仮想的に置換したときのＦＩＲフィルタ次数がＮ１以下であるとき、適応フィルタ４−３の収束に要する係数更新回数をＭ１とする。適応フィルタ次数決定部５−１１は、シングルトーク検出器５−１０からシングルトーク検出結果ＳＧＬ−ｄｅｔの供給を受けており、シングルトーク検出結果ＳＧＬ−ｄｅｔがアクティブのときだけ適応フィルタ４−３はフィルタ係数の更新を実施するので、適応フィルタ次数決定部５−１１はシングルトーク検出結果ＳＧＬ＿ｄｅｔがアクティブとなっているときに標本化クロックに同期してカウントアップすることで係数更新回数を知ることができる。従って、適応フィルタ次数決定部５−１１は、動作開始後、係数更新回数がＭ１に到達した時点で、エコーリターンロスＥＲＬ＝ｅｍ／ｘｍをチェックし、既定値に達していないときは、適応フィルタ次数Ｎ（＝Ｎ１）をＮ２に変更する。同様に、適応フィルタ次数Ｎ２のときに収束に要する係数更新回数をＭ２とする。適応フィルタ次数ＮをＮ２に変更後、係数更新回数がＭ２に到達した段階でエコーリターンロスＥＲＬ＝ｅｍ／ｘｍをチェックし、既定値に達していないときは、適応フィルタ次数Ｎ（＝Ｎ２）をＮ３に変更する。以下、同様とする。ここで、適応フィルタ次数Ｎ１、Ｎ２、…と収束に要する係数更新回数Ｍ１、Ｍ２、…の対応表は、前もって用意しておく。
【０１０１】
図７は、以上の適応フィルタ次数決定部５−１１の処理を実現する際のフローチャートを示している。
【０１０２】
適応フィルタ次数決定部５−１１は、図７に示す動作を開始すると、まず、適応フィルタ次数と収束に要する係数更新回数との対応表におけるインデックスｉを初期値「１」にし、また、適応フィルタ次数Ｎも初期値Ｎｉに設定し、さらに、係数更新カウンタの値ＵＰＤＣＮＴも初期値「０」にする（ステップ７−１）。
【０１０３】
以上のような初期設定が終了すると、適応フィルタ次数決定部５−１１は、標本化クロックによる割込みを待ち受ける（ステップ７−２）。割込みが発生すると、適応フィルタ次数決定部５−１１は、係数更新カウンタ値ＵＰＤＣＮＴを１インクリメントした後（ステップ７−３）、新たな係数更新カウンタ値ＵＰＤＣＮＴが適応フィルタ次数Ｎを見直す値Ｍｉに到達したか否かを判別する（ステップ７−４）。新たな係数更新カウンタ値ＵＰＤＣＮＴが適応フィルタ次数Ｎを見直す値Ｍｉに到達していない場合には、適応フィルタ次数決定部５−１１は、標本化クロックによる割込みを待ち受けるステップ７−２に戻る。
【０１０４】
新たな係数更新カウンタ値ＵＰＤＣＮＴが適応フィルタ次数Ｎを見直す値Ｍｉに到達すると、適応フィルタ次数決定部５−１１は、係数更新カウンタ値ＵＰＤＣＮＴを０クリアした後（ステップ７−５）、現在のエコーリターンロスＥＲＬを算出し、得られたエコーリターンロスＥＲＬが、エコー信号の減衰が十分か否かを切り分けるための既定値（閾値）ＥＲＬ＿ｔｈ以下になっているか否かを判別する（ステップ７−６）。エコーリターンロスＥＲＬが既定値（閾値）ＥＲＬ＿ｔｈ以下になっていると、適応フィルタ次数決定部５−１１は、標本化クロックによる割込みを待ち受けるステップ７−２に戻る。なお、エコーリターンロスＥＲＬが既定値（閾値）ＥＲＬ＿ｔｈ以下になっている場合は、適応フィルタ次数Ｎとして適切な次数Ｎｉを見付けた場合であるので、図７に示す一連の処理を終了させることも考えられるが、エコー経路の将来的な変動を考慮し、標本化クロックによる割込みを待ち受けるステップ７−２に戻ることとした。
【０１０５】
これに対して、エコーリターンロスＥＲＬが既定値（閾値）ＥＲＬ＿ｔｈを超過していると、適応フィルタ次数決定部５−１１は、インデックスｉを１インクリメントし、更新されたインデックスｉをキーとして対応表から適応フィルタ次数Ｎｉを取出して、適応フィルタ４−３に与える適応フィルタ次数Ｎに設定し（ステップ７−７）、標本化クロックによる割込みを待ち受けるステップ７−２に戻る。なお、更新されたインデックスｉが対応表における最後のインデックスに到達し、適応フィルタ次数Ｎとして対応表から定まる最大値を設定したときには、図７に示す一連の処理を終了するようにしても良い。
【０１０６】
（Ｂ−３）第１の実施形態の効果
上記第１の実施形態によれば、以下の効果を奏することができる。
【０１０７】
＜エコー消去時間の広範囲化＞
一般的には、エコーキャンセラ４の適応フィルタ４−３の次数をＮとし、エコー経路を仮想的にＦＩＲフィルタで表現したときの次数をＭとすると、適応フィルタ次数Ｎが固定の場合、エコーキャンセラ４はＭ≦Ｎなるエコー経路のエコーしか消去することができない。第１の実施形態では、適応フィルタ次数Ｎを動的に増加させることができるので、適応フィルタ次数Ｎが取り得る最大値までのＭに対応させることができる。
【０１０８】
すなわち、エコーキャンセラ４のエコー消去時間能力の広範囲化を可能としている。このことにより、例えば、１つのデバイス又は装置に多数の電話回線を収容する際には、これら多数の電話回線のエコー経路のインパルス応答長が広範囲に分布してもそれぞれの電話回線のエコーを消去することができるようになる。
【０１０９】
＜適応制御の追従特性の向上＞
エコーキャンセラ４の適応フィルタ次数Ｎと、エコー経路を仮想的にＦＩＲフィルタで表現したときの次数Ｍとが一致するときに、エコーキャンセラ４はエコー経路の各種特性の時間的変動に最も適切に追従することが知られている。第１の実施形態では、適応フィルタ次数Ｎを動的に増加させることができるので、次数Ｍが未知であっても適応フィルタ次数ＮをＭ以上の極力Ｍに近い値にすることが可能であり、良好な追従性を実現することができる。
【０１１０】
＜転送サービスへの対応＞
通信中の転送サービスにより、エコー経路のインパルス応答長が突如増大しても、第１の実施形態では対処可能である。
【０１１１】
（Ｃ）第２の実施形態
次に、本発明による適応フィルタ次数制御装置及びプログラム、並びに、エコーキャンセラの第２の実施形態を、図面を参照しながら説明する。
【０１１２】
（Ｃ−１）第２の実施形態の構成
図８は、第２の実施形態に係るエコーキャンセラの構成を示すブロック図であり、第１の実施形態に係る図４との同一、対応部分には同一、対応符号を付して示している。
【０１１３】
第２の実施形態のエコーキャンセラ４Ａは、適応フィルタ４−３のフィルタ係数＾ｈ（ｋ）を適応フィルタ次数制御装置４−２Ａから読み取れるようになっている点が第１の実施形態と異なっている。第２の実施形態の場合も、適応フィルタ次数制御装置４−２Ａ内部の構成要素は第１の実施形態と同様であるが（図５参照）、適応フィルタ次数決定部５−１１がフィルタ係数＾ｈ（ｋ）をも利用して適応フィルタ次数Ｎを定めている点が第１の実施形態と異なっている。
【０１１４】
これらの点以外は、第１の実施形態と同様であるので、その説明は省略する。
【０１１５】
（Ｃ−２）第２の実施形態の動作
第２の実施形態に関しては、適応フィルタ次数決定部５−１１が実行する適応フィルタ次数Ｎの決定動作を説明する。
【０１１６】
上述した第１の実施形態では、適応フィルタ次数を動的に増加させることが可能であったが、動的に減少させることには対応していなかった。減少させることを実行しなくても問題が生じない理由は以下の通りである。適応フィルタ次数をＮとし、エコー経路を仮想的にＦＩＲフィルタで表現したときの次数をＭとすると、Ｍ≦Ｎなる条件が成立するときにエコー消去量は最大となる。従って、通信途中で次数Ｍが小さくなってもエコー消去は継続して可能であり、適応フィルタ次数の動的減少に対応していなくても通話品質上は問題は生じない。
【０１１７】
しかしながら、エコー経路の次数Ｍが通信中に大幅に減少することが多い通信環境の場合、また、エコーキャンセラ４Ａで消費するリソースを僅かでも経済化したい要求がある場合には、動的に適応フィルタ次数を減少させる方法が望まれる。第２の実施形態は、このような要望に応えている。
【０１１８】
第２の実施形態における適応フィルタ次数決定部５−１１の動作は、第１の実施形態における動作に比較し、以下のような動作が増えている点が異なっている。
【０１１９】
エコーリターンロスＥＲＬ（＝ｅｍ／ｘｍ）が規定値を下回り、エコー消去量が目標を達成しているものとする。このとき、通信中にエコー経路が切り替わり、例えば、次数５１２の適応フィルタの係数が図２のように収束していたとする。この場合、インパルス応答長Ｎｔｏｔａｌは約３５０であり、適応フィルタ次数を３５０にまで減少させることが可能である。
【０１２０】
一般に、エコー経路のインパルス応答は減衰振動を示すので、以下のようにして適応フィルタ次数Ｎを切り詰める区間（上述の例であれば、最後の方の５１２−３５０の区間）を決定することが可能となる。
【０１２１】
適応フィルタ４−３の次数をＮ、切り詰める区間を最後からＬとし、全区間、切り詰める区間でのフィルタ係数の電力をＰａｌｌ、ＰＬとすると、各電力Ｐａｌｌ、ＰＬはそれぞれ、（１３）式、（１４）式で表すことができる。なお、（１３）式及び（１４）式の２乗和に代えて、絶対値和を適用するようにしても良い。
【数３】
0005510288.tif 000004
【０１２２】
全区間の電力Ｐａｌｌに比較して切り詰める区間の電力ＰＬが小さいならば、切り詰めても悪影響は生じない。そこで、（１５）式を満足する限り切り詰める区間Ｌを増加させていくことができる。（１５）式において、Ｐｔｈは前もって適切に定めた閾値である。
【０１２３】
ＰＬ／Ｐａｌｌ＞Ｐｔｈ                                …（１５）
区間Ｌを増加単位ΔＬずつ徐々に増加させながら、（１５）式を満足するか否かを確認し、（１５）式を満足するようになったとき、そのときの区間Ｌより増加単位ΔＬだけ短い区間Ｌ−ΔＬが切り詰めてよい区間であり、（１６）式に示すように、適応フィルタ次数Ｎを、今までの値から切り詰めて良い区間Ｌ−ΔＬだけ小さく更新させる。
【０１２４】
Ｎ＝Ｎ−（Ｌ−ΔＬ）                            …（１６）
図９は、第２の実施形態の適応フィルタ次数決定部５−１１の処理を示すフローチャートであり、第１の実施形態に係る図７との同一ステップには同一符号を付している。図９は、上述したような第２の実施形態に特有な処理を含むものである。
【０１２５】
第２の実施形態の場合、適応フィルタ次数決定部５−１１は、算出したエコーリターンロスＥＲＬが、エコー信号の減衰が十分か否かを切り分けるための既定値（閾値）ＥＲＬ＿ｔｈ以下になっていると（ステップ７−６でＮＯ）、適応フィルタ次数の切り詰め区間候補値Ｌを初期値０にすると共に、適応フィルタ４−３からフィルタ係数＾ｈ（ｋ）を適用して、上述した（１３）式の演算を実行して全区間の電力Ｐａｌｌを算出する（ステップ８−１）。
【０１２６】
次に、適応フィルタ次数決定部５−１１は、切り詰め区間候補値Ｌを増加単位ΔＬだけ増大させると共に、増大させた切り詰め区間候補値Ｌを適用して、上述した（１４）式の演算を実行して切り詰め区間の電力ＰＬを算出する（ステップ８−２）。そして、適応フィルタ次数決定部５−１１は、上述した（１５）式を満足しているか否かを判別する（ステップ８−３）。（１５）式を満足していない場合には、適応フィルタ次数決定部５−１１は、切り詰め区間の候補をより長くすべく上述したステップ８−２に戻る。
【０１２７】
一方、（１５）式を満足した場合には、適応フィルタ次数決定部５−１１は、上述した（１６）式を実行して適応フィルタ次数Ｎを小さい値に更新し（ステップ８−４）、標本化クロックによる割込みを待ち受けるステップ７−２に戻る。
【０１２８】
なお、ステップ８−１〜８−４の一連の処理で切り詰めることが可能な最大区間長を決定しておくようにしても良い。この場合には、ステップ８−２及び８−３のループを繰り返して最大区間長に達した場合には、その最大区間長分だけ適応フィルタ次数Ｎを小さい値に更新するようにすれば良い。
【０１２９】
（Ｃ−３）第２の実施形態の効果
第２の実施形態によっても、上述した第１の実施形態と同様な効果を奏することができる。第２の実施形態によれば、さらに、以下の効果を奏することができる。適応フィルタ次数Ｎを、その次数で定まる適応フィルタのフィルタ係数の電力に対する、最後尾側の電力を確認しつつ、インパルス応答の振動がないと捉えられる最後尾側の区間に相当する分だけ、適応フィルタ次数Ｎを切り詰めるようにしたので、エコー経路の次数Ｍが通信中に大幅に減少することが多い通信環境の場合や、エコーキャンセラで消費するリソースを僅かでも経済化したい要求がある場合に有効である。
【０１３０】
（Ｄ）他の実施形態
上記各実施形態では、（６）式〜（８）式の条件を適用してシングルトーク状態を検出するシングルトーク検出器５−１０の検出結果を、適応フィルタ次数決定部５−１１が利用するものを示したが、エコーキャンセラ本体に設けられているダブルトーク検出器のシングルトーク状態という検出結果を利用するようにしても良い。
【０１３１】
上記第２の実施形態では、減衰振動が終了して変化していないと捉えられる最後尾側の区間を、全区間に対する電力比で検出するものを示したが、適応フィルタのフィルタ係数の分布（図２参照）から、変化していないと捉えられる最後尾側の区間を決定できるのであれば、他の方法を適用するようにしても良い。例えば、０若しくは０と見なせる値をとるフィルタ係数の最後尾側の連続区間を検出するようにしても良い。
【０１３２】
本発明は、アナログ電話の通話回線で発生するエコーを消去する回線エコーキャンセラにも、スピーカとマイクを使用したハンズフリーホン又は会議システムで発生するエコーを消去する音響エコーキャンセラにも適用可能である。
【符号の説明】
【０１３３】
４、４Ａ…エコーキャンセラ、４−１…エコーキャンセラ本体、４−２、４−２Ａ…適応フィルタ次数制御装置、５−１…受信信号絶対値化器（受信信号ＡＢＳ）、５−２…送信信号絶対値化器（送信信号ＡＢＳ）、５−３…除去後信号絶対値化器（除去後信号ＡＢＳ）、５−４…受信信号短時間平均値化器（受信信号ＬＰＦ＿Ｓ）、５−５…受信信号中時間平均値化器（受信信号ＬＰＦ＿Ｍ）、５−６…受信信号長時間平均値化器（受信信号ＬＰＦ＿Ｌ）、５−７…送信信号短時間平均値化器（送信信号ＬＰＦ＿Ｓ）、５−８…送信信号長時間平均値化器（送信信号ＬＰＦ＿Ｌ）、５−９…除去後信号中時間平均値化器（除去後信号ＬＰＦ＿Ｍ）、５−１０…シングルトーク検出器、５−１１…適応フィルタ次数決定部。
【図１】
0005510288.tif 000005
【図２】
0005510288.tif 000006
【図３】
0005510288.tif 000007
【図４】
0005510288.tif 000008
【図５】
0005510288.tif 000009
【図６】
0005510288.tif 000010
【図７】
0005510288.tif 000011
【図８】
0005510288.tif 000012
【図９】
0005510288.tif 000013