(57)【特許請求の範囲】
【請求項１】
受信入力信号及び送信出力信号に基づいて通話状態を監視する通話状態監視手段と、
遠端から音声信号が入力される場合に動作する第１の適応フィルタ手段と、
遠端から音声信号が入力されない場合に動作する第２の適応フィルタ手段と、
上記通話状態監視手段による遠端からの音声検出結果に応じて、上記第１の適応フィルタ手段と上記第２の適応フィルタ手段との動作を切替制御する動作制御手段と、
上記通話状態監視手段により無通話状態と判断されたときに、送信出力信号に基づいて近端の背景ノイズのパワーを求める背景ノイズパワー計算手段と、
上記通話状態監視手段によりシングルトーク状態と判断されたときに、送信出力信号に基づいてエコーパワーを検出するエコーパワー検出手段と、
上記背景ノイズパワー計算手段により求められた近端の背景ノイズパワーの平均値と、上記エコーパワー検出手段により求められたエコーパワーの平均値とに基づいて、加算平均回数を求める加算回数制御手段と
を備え、
上記第２の適応フィルタ手段が、
上記音声検出手段により音声検出なしから音声検出ありに遷移した時点から、送信出力信号及び受信入力信号の所定期間長の各サンプリングデータを、送信入力ベクトル及び受信入力ベクトルとして逐次更新しながら保持する加算データ選択部と、
上記加算回数制御手段からの上記加算平均回数に従って、上記送信入力ベクトル及び上記受信入力ベクトルのそれぞれについて、所定設定回数を上限として同期加算平均する加算データ加工部と、
上記加算データ加工部により同期加算平均された上記受信入力ベクトルと逐次更新するフィルタ係数とを用いて擬似エコー信号を作成し、同期加算平均された上記送信入力ベクトルから上記擬似エコー信号を除去するものであって、収束したフィルタ係数を上記第１の適応フィルタ手段に与える適応フィルタ部と、
ダブルトーク状態の間、上記適応フィルタにおけるフィルタ係数の更新処理を停止させる更新停止指示部と
を有することを特徴とするエコーキャンセラ。
【請求項２】
上記加算回数制御手段が、上記エコーパワーの平均値と上記背景ノイズパワーの平均値との比と、予め設定された加算平均回数とを対応づけた対応テーブルを有し、この対応テーブルを参照して、上記加算平均回数を求めるものであることを特徴とする請求項１に記載のエコーキャンセラ。
【請求項３】
予め設定された所望エコー減衰量を保持する所望エコー減衰量保持手段と、
シングルトーク状態のとき、上記第１の適応フィルタ手段によりエコー除去された信号と、遠端からの上記受信入力信号とに基づいて、エコー減衰量を求めるエコー減衰量計算手段と
を備え、
上記加算回数制御手段が、上記エコー減衰量計算手段により求められた上記エコー減衰量と、上記所望エコー減衰量とに基づいて、上記加算平均回数を求めるものであることを特徴とする請求項１に記載のエコーキャンセラ。
【請求項４】
シングルトーク状態のとき、上記第１の適応フィルタ手段によりエコー除去された信号と、遠端からの上記受信入力信号とに基づいて、エコー減衰量を求めるエコー減衰量計算手段と、
上記エコー減衰量計算手段による前回のエコー減衰量と今回のエコー減衰量との変化量を監視するエコー減衰量監視手段と
を備え、
上記加算回数制御手段が、上記エコー減衰量監視手段による前回のエコー減衰量と今回のエコー減衰量との変化量に基づいて上記加算平均回数を求めるものであることを特徴とする請求項１に記載のエコーキャンセラ。
【請求項５】
上記加算回数制御手段が、予め設定した複数の閾値と、前回のエコー減衰量と今回のエコー減衰量との変化量との比較結果に応じて、上記加算平均回数を求めるものであることを特徴とする請求項４に記載のエコーキャンセラ。
【請求項６】
上記加算データ加工部は、動作開始後、予め設定された所定設定数のベクトルを確保できない場合には、その時点で確保できている数の送信入力ベクトル及び受信入力ベクトルを用いて同期加算平均を行うものであることを特徴とする請求項１〜５のいずれかに記載のエコーキャンセラ。
【請求項７】
コンピュータが、通話状態監視手段、第１の適応フィルタ手段、第２の適応フィルタ手段、動作制御手段、背景ノイズパワー計算手段、エコーパワー検出手段及び加算回数制御手段を備え、
上記通話状態監視手段が、受信入力信号及び送信出力信号に基づいて通話状態を監視する通話状態監視工程と、
上記第１の適応フィルタ手段が、遠端から音声信号が入力される場合に動作する第１の適応フィルタ工程と、
上記第２の適応フィルタ手段が、遠端から音声信号が入力されない場合に動作する第２の適応フィルタ工程と、
上記動作制御手段が、上記通話状態監視手段による遠端からの音声検出結果に応じて、上記第１の適応フィルタ手段と上記第２の適応フィルタ手段との動作を切替制御する動作制御工程と、
上記背景ノイズパワー計算手段が、上記通話状態監視手段により無通話状態と判断されたときに、送信出力信号に基づいて近端の背景ノイズのパワーを求める背景ノイズパワー計算工程と、
上記エコーパワー検出手段が、上記通話状態監視手段によりシングルトーク状態と判断されたときに、送信出力信号に基づいてエコーパワーを検出するエコーパワー検出工程と、
上記加算回数制御手段が、上記背景ノイズパワー計算手段により求められた近端の背景ノイズパワーの平均値と、上記エコーパワー検出手段により求められたエコーパワーの平均値とに基づいて、加算平均回数を求める加算回数制御工程と
を有し、
上記第２の適応フィルタ工程では、
加算データ選択手段部が、上記音声検出手段により音声検出なしから音声検出ありに遷移した時点から、送信出力信号及び受信入力信号の所定期間長の各サンプリングデータを、送信入力ベクトル及び受信入力ベクトルとして逐次更新しながら保持する加算データ選択工程と、
加算データ加工部が、上記加算回数制御手段からの上記加算平均回数に従って、上記送信入力ベクトル及び上記受信入力ベクトルのそれぞれについて、所定設定回数を上限として同期加算平均する加算データ加工工程と、
適応フィルタ部が、上記加算データ加工部により同期加算平均された上記受信入力ベクトルと逐次更新するフィルタ係数とを用いて擬似エコー信号を作成し、同期加算平均された上記送信入力ベクトルから上記擬似エコー信号を除去するものであって、収束したフィルタ係数を上記第１の適応フィルタ手段に与える適応フィルタ工程と、
更新停止指示部が、ダブルトーク状態の間、上記適応フィルタにおけるフィルタ係数の更新処理を停止させる更新停止指示工程と
を有することを特徴とするエコーキャンセル方法。
【請求項８】
コンピュータを、
受信入力信号及び送信出力信号に基づいて通話状態を監視する通話状態監視手段、
遠端から音声信号が入力される場合に動作する第１の適応フィルタ手段、
遠端から音声信号が入力されない場合に動作する第２の適応フィルタ手段、
上記通話状態監視手段による遠端からの音声検出結果に応じて、上記第１の適応フィルタ手段と上記第２の適応フィルタ手段との動作を切替制御する動作制御手段、
上記通話状態監視手段により無通話状態と判断されたときに、送信出力信号に基づいて近端の背景ノイズのパワーを求める背景ノイズパワー計算手段、
上記通話状態監視手段によりシングルトーク状態と判断されたときに、送信出力信号に基づいてエコーパワーを検出するエコーパワー検出手段、
上記背景ノイズパワー計算手段により求められた近端の背景ノイズパワーの平均値と、上記エコーパワー検出手段により求められたエコーパワーの平均値とに基づいて、加算平均回数を求める加算回数制御手段
として機能させるものであって、
上記第２の適応フィルタ手段が、
上記音声検出手段により音声検出なしから音声検出ありに遷移した時点から、送信出力信号及び受信入力信号の所定期間長の各サンプリングデータを、送信入力ベクトル及び受信入力ベクトルとして逐次更新しながら保持する加算データ選択部、
上記加算回数制御手段からの上記加算平均回数に従って、上記送信入力ベクトル及び上記受信入力ベクトルのそれぞれについて、所定設定回数を上限として同期加算平均する加算データ加工部、
上記加算データ加工部により同期加算平均された上記受信入力ベクトルと逐次更新するフィルタ係数とを用いて擬似エコー信号を作成し、同期加算平均された上記送信入力ベクトルから上記擬似エコー信号を除去するものであって、収束したフィルタ係数を上記第１の適応フィルタ手段に与える適応フィルタ部、
ダブルトーク状態の間、上記適応フィルタにおけるフィルタ係数の更新処理を停止させる更新停止指示部
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エコーキャンセラ、エコーキャンセル方法及びプログラムに関し、例えば、企業会議室向けや家庭用等のハンズフリーの拡声電話機に用いられるエコーキャンセラ、エコーキャンセル方法及びプログラムに適用し得るものである。
【背景技術】
【０００２】
近年、ＶｏＩＰの普及や携帯電話のサービス形態の多様化に伴い、各種電話の通信料金が安価になり、家庭やオフィスにおいては以前よりも通話料を気にかけずに、長時間電話ができるようになってきた。このような利用環境の変化に伴い、例えば、企業会議室向けや家庭用のハンズフリーの拡声電話機の普及が急速に要求されている。
【０００３】
ところで、拡声電話機には、通話中に両手が自由に使えて他の作業ができることと、装着ストレスがなく長時間電話ができることという２つの有効な機能がある。
【０００４】
例えばイヤホンマイクやヘッドホンやヘッドセット等のいわゆるハンズフリー機器は、上記の前者の機能を備えるものとして一般的によく知れている。
【０００５】
従来のハンズフリー機器は、通話中に両手が自由に使えて他の作業ができる、いわゆるハンズフリーの状態が可能であることから、例えば、携帯電話、自動車電話、オフィス向けの機器に適用されている。例えば、イヤホン（イヤホンマイク）やヘッドホン、他にはコールセンタなどでしばしば見られるヘッドセットとして適用されている。しかし、長時間イヤホンを使用すると、耳穴とイヤホンがこすれ、爛れが生じ苦痛を与えることとなったり、又ヘッドセットを長時間使用すると、その装着違和感のために相当の疲労を与えたりしてしまうことがある。このような長時間の装着が電話利用者に不都合を与えている場合がある。
【０００６】
近年、一般家庭においても長時間の通話が普通に行われており、通話中に他の作業を行えるという要望だけでなく、長時間快適に通話するということが強く要望されている。つまり、近年急速に普及してきたＶｏＩＰ通話などでは、話者の目的は携帯電話と異なり、最初から長時間ストレスがなく快適に通話をすることが主目的となってきた。
【０００７】
このような近年の機器発達と電話利用者の利用形態の変化の中で、イヤホンやヘッドセット等のハンズフリー機器を装着しなくても、快適に電話ができる実用的で安価なスピーカフォン形式の拡声電話機の普及が強く望まれている。
【０００８】
このようなスピーカフォン形式の拡声電話機を実現するためには、従来から音響エコーキャンセラを用いて、電話機を拡声にすることが知られており、実際に広く適用されている。
【０００９】
従来、音響エコーキャンセラを動作させるためのエコーキャンセラには、非特許文献１に開示されるような適用フィルタ技術が適用されている。その中でも、ＮＬＭＳ（NormalizedＬＭＳ）アルゴリズムは、収束速度が遅く、特に音声信号のような有色信号で収束が劣化するという欠点と引き換えても、動作の安定性、ディジタル信号処理プロセッサにかける処理量の負担の小ささに優れて電話機に実装することができるため、広く音響エコーキャンセラに適用されている。
【００１０】
今後、上記背景から、一層拡声電話機の普及が予測される。そこで、従来の企業会議自室向けの大規模かつ高価な機器ではなく、一般家庭向けの小規模、高機能かつ低価格な機器が望まれる。しかも、従来の電話音質をしのぐ広帯域音声での通話が可能なＶｏＩＰ機器が普及し始めているため、拡声電話機やそれに実装されるエコーキャンセラもこれらの音質で利用可能な技術の登場が待ち望まれている。
【００１１】
【特許文献１】特開平０８−２３７１７４号公報
【特許文献２】特公平０８−２１８８１号公報
【特許文献３】特開２００３−１１０４６９号公報
【非特許文献１】Ｓ．ヘイキン著、“適応フィルタ入門”，現代工学社，pp.149-158
【非特許文献２】ＮＴＴ東日本株式会社，“電話サービスのインターフェース  第５版”技術参考資料第５版．ＰＤＦ（日本語），Ｐ．２１，インターネット，２００８年１月２３日検索，<http://www.ntt-east.co.jp/gisanshi/analog/>
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、従来、広く使われている安定なＮＬＭＳ適用フィルタ更新アルゴリズムを、広帯域向けの音響エコーキャンセラとしてそのまま適用しようとすると、演算量と安定性の点に課題が生じ得る。
【００１３】
つまり、広帯域音質を実現するためには、細かいサンプリングが必要であるため、サンプリング速度を上昇させる。例えば、従来８ｋＨｚ帯域の音声品質が１６ｋＨｚ帯域の音質になると、サンプリング周波数が２倍になるので、単位時間に処理する音声データサンプルも２倍になる。
【００１４】
一方で、サンプリングされる側である音響エコー経路の時間的長さは変わらない。なぜなら、エコー経路の時間応答長はスピーカから出力された音声信号が空間を経由してマイクに到達する「エコー経路」を音が経由する時間に由来するので、エコー経路の応答長は、マイク−スピーカの距離や、音速、部屋の反響経路の数、音の反射の強さなどの「物理量」で決まる長さであって、ディジタル処理のためのサンプリング速度とは関係ない独立で特有の応答時間長をもつからである。
【００１５】
従って、適応フィルタのタップ数はサンプリング周波数の上昇に応じて大きくなってしまう。不都合なことに、エコーキャンセラを実現する適応フィルタのタップ数が大きくなるとエコーキャンセラの収束が遅くなるのは公知の事実である。
【００１６】
非特許文献１では、上記のような収束速度の低下を回避する技術が記載されており、収束速度を改善させるために、ＲＬＳアルゴリズムのような高度に複雑な演算を用いた同定アルゴリズムが適用される。
【００１７】
しかし、残念なことに、このような高速収束アルゴリズムは軌作の安定性に乏しいだけでなく、演算規模、メモリ容量規模も非常に大きくなる。そのため、通信品質が不安定の上に、装置規模やソフトウェア規模が大きくなるので、一般家庭向けの装置に適用しようとすると高価になってしまう。
【００１８】
だからといって、従来のＮＬＭＳアルゴリズムのような安定的なアルゴリズムをそのまま適用しようとすると、今度は有色信号での性能劣化やタップ長が大きくなった分の収束速度劣化などをそのまま被ってしまうので、エコーを除去するまでの収束時間がかかり、通信品質の結果を解決できないという問題がある。
【００１９】
このような問題に対して、特許文献１に記載のエコーキャンセラ制御方法を適用することも考えられる。
【００２０】
特許文献１には、エコーキャンセラの適応フィルタの係数を逐次補正する制御方法において、この推定値の逐次補正におけるステップゲインを推定インパルス応答長と、装置の動作開始からの経過時間とで制御しステップゲインを時間とともに減少させることにより、収束開始時の収束速度が大きく、定常時の推定精度が高い収束特性を実現する優れたエコーキヤンセラが開示されている。
【００２１】
しかし、特許文献１の技術では、有色信号による適応フィルタの収束速度の劣化は避けることができない。またエコーキヤンセラの入力信号として、非特許文献２に示されるような呼び出しトーン信号などの信号で一旦収束してしまった後に、いろいろな周波数成分を含む音声信号が入力された場合には、むしろステップゲインを小さくしてしまった分、トーン成分だけで推定したエコー経路から、音声帯域をカバーするための適応フィルタの再収束がむしろ阻害されてしまい、エコーがなかなか消えないという問題が生じ得る。
【００２２】
これらの問題を解決すべく、本願出願人は特願２００７−２８８４０４号に示される発明について特許出願を行っている。この特許出願には、速やかにエコーキャンセラが収束し、かつ、係数更新アルゴリズムは安定的なＮＬＭＳアルゴリズムを利用できる技術が記載されており、この技術は有効に機能するものである。
【００２３】
ところが、スピーカフォン形式の拡声電話機に上記特許出願に記載の技術を適用する場合、例えば、車のエンジン音や雑踏やオフィスノイズ（職場環境ノイズ）等の利用者の背景ノイズ環境によっては、特許文献２に記載の効果が十分に発揮されないおそれが生じ得る。
【００２４】
そのため、利用者の背景ノイズ環境が劣悪な場合でも、エコーキャンセラの効果が発揮するまでの時間を短くすることができ、エコー除去性能を向上させることができるエコーキャンセラ、エコーキャンセル方法及びプログラムが求められている。
【課題を解決するための手段】
【００２５】
かかる課題を解決するために、第１の本発明のエコーキャンセラは、（１）受信入力信号及び送信出力信号に基づいて通話状態を監視する通話状態監視手段と、（２）遠端から音声信号が入力される場合に動作する第１の適応フィルタ手段と、（３）遠端から音声信号が入力されない場合に動作する第２の適応フィルタ手段と、（４）通話状態監視手段による遠端からの音声検出結果に応じて、第１の適応フィルタ手段と第２の適応フィルタ手段との動作を切替制御する動作制御手段と、（５）通話状態監視手段により無通話状態と判断されたときに、送信出力信号に基づいて近端の背景ノイズのパワーを求める背景ノイズパワー計算手段と、（６）通話状態監視手段によりシングルトーク状態と判断されたときに、送信出力信号に基づいてエコーパワーを検出するエコーパワー検出手段と、（７）背景ノイズパワー計算手段により求められた近端の背景ノイズパワーの平均値と、エコーパワー検出手段により求められたエコーパワーの平均値とに基づいて、加算平均回数を求める加算回数制御手段とを備え、第２の適応フィルタ手段が、（２−１）音声検出手段により音声検出なしから音声検出ありに遷移した時点から、送信出力信号及び受信入力信号の所定期間長の各サンプリングデータを、送信入力ベクトル及び受信入力ベクトルとして逐次更新しながら保持する加算データ選択部と、（２−２）加算回数制御手段からの加算平均回数に従って、送信入力ベクトル及び受信入力ベクトルのそれぞれについて、所定設定回数を上限として同期加算平均する加算データ加工部と、（２−３）加算データ加工部により同期加算平均された受信入力ベクトルと逐次更新するフィルタ係数とを用いて擬似エコー信号を作成し、同期加算平均された送信入力ベクトルから擬似エコー信号を除去するものであって、収束したフィルタ係数を第１の適応フィルタ手段に与える適応フィルタ部と、（２−４）ダブルトーク状態の間、適応フィルタにおけるフィルタ係数の更新処理を停止させる更新停止指示部とを有することを特徴とする。
【００２６】
第２の本発明のエコーキャンセル方法は、コンピュータが、通話状態監視手段、第１の適応フィルタ手段、第２の適応フィルタ手段、動作制御手段、背景ノイズパワー計算手段、エコーパワー検出手段及び加算回数制御手段を備え、（１）通話状態監視手段が、受信入力信号及び送信出力信号に基づいて通話状態を監視する通話状態監視工程と、（２）第１の適応フィルタ手段が、遠端から音声信号が入力される場合に動作する第１の適応フィルタ工程と、（３）第２の適応フィルタ手段が、遠端から音声信号が入力されない場合に動作する第２の適応フィルタ工程と、（４）動作制御手段が、通話状態監視手段による遠端からの音声検出結果に応じて、第１の適応フィルタ手段と第２の適応フィルタ手段との動作を切替制御する動作制御工程と、（５）背景ノイズパワー計算手段が、通話状態監視手段により無通話状態と判断されたときに、送信出力信号に基づいて近端の背景ノイズのパワーを求める背景ノイズパワー計算工程と、（６）エコーパワー検出手段が、通話状態監視手段によりシングルトーク状態と判断されたときに、送信出力信号に基づいてエコーパワーを検出するエコーパワー検出工程と、（７）加算回数制御手段が、背景ノイズパワー計算手段により求められた近端の背景ノイズパワーの平均値と、エコーパワー検出手段により求められたエコーパワーの平均値とに基づいて、加算平均回数を求める加算回数制御工程とを有し、第２の適応フィルタ工程では、（２−１）加算データ選択手段部が、音声検出手段により音声検出なしから音声検出ありに遷移した時点から、送信出力信号及び受信入力信号の所定期間長の各サンプリングデータを、送信入力ベクトル及び受信入力ベクトルとして逐次更新しながら保持する加算データ選択工程と、（２−２）加算データ加工部が、加算回数制御手段からの加算平均回数に従って、送信入力ベクトル及び受信入力ベクトルのそれぞれについて、所定設定回数を上限として同期加算平均する加算データ加工工程と、（２−３）適応フィルタ部が、加算データ加工部により同期加算平均された受信入力ベクトルと逐次更新するフィルタ係数とを用いて擬似エコー信号を作成し、同期加算平均された送信入力ベクトルから擬似エコー信号を除去するものであって、収束したフィルタ係数を第１の適応フィルタ手段に与える適応フィルタ工程と、（２−４）更新停止指示部が、ダブルトーク状態の間、適応フィルタにおけるフィルタ係数の更新処理を停止させる更新停止指示工程とを有することを特徴とする。
【００２７】
第３の本発明のプログラムは、コンピュータを、（１）受信入力信号及び送信出力信号に基づいて通話状態を監視する通話状態監視手段、（２）遠端から音声信号が入力される場合に動作する第１の適応フィルタ手段、（３）遠端から音声信号が入力されない場合に動作する第２の適応フィルタ手段、（４）通話状態監視手段による遠端からの音声検出結果に応じて、第１の適応フィルタ手段と第２の適応フィルタ手段との動作を切替制御する動作制御手段、（５）通話状態監視手段により無通話状態と判断されたときに、送信出力信号に基づいて近端の背景ノイズのパワーを求める背景ノイズパワー計算手段、（６）通話状態監視手段によりシングルトーク状態と判断されたときに、送信出力信号に基づいてエコーパワーを検出するエコーパワー検出手段、（７）背景ノイズパワー計算手段により求められた近端の背景ノイズパワーの平均値と、エコーパワー検出手段により求められたエコーパワーの平均値とに基づいて、加算平均回数を求める加算回数制御手段として機能させるものであって、第２の適応フィルタ手段が、（２−１）音声検出手段により音声検出なしから音声検出ありに遷移した時点から、送信出力信号及び受信入力信号の所定期間長の各サンプリングデータを、送信入力ベクトル及び受信入力ベクトルとして逐次更新しながら保持する加算データ選択部、（２−２）加算回数制御手段からの加算平均回数に従って、送信入力ベクトル及び受信入力ベクトルのそれぞれについて、所定設定回数を上限として同期加算平均する加算データ加工部、（２−３）加算データ加工部により同期加算平均された受信入力ベクトルと逐次更新するフィルタ係数とを用いて擬似エコー信号を作成し、同期加算平均された送信入力ベクトルから擬似エコー信号を除去するものであって、収束したフィルタ係数を第１の適応フィルタ手段に与える適応フィルタ部、（２−４）ダブルトーク状態の間、適応フィルタにおけるフィルタ係数の更新処理を停止させる更新停止指示部として機能させるものである。
【発明の効果】
【００２８】
本発明によれば、利用者の背景ノイズ環境が劣悪な場合でも、エコーキャンセラの効果が発揮するまでの時間を短くすることができ、エコー除去性能を向上させることができる。
【発明を実施するための最良の形態】
【００２９】
（Ａ）第１の実施形態
以下では、本発明のエコーキャンセラ、エコーキャンセル方法及びプログラムの第１の実施形態を図面を参照しながら詳細に説明する。
【００３０】
第１の実施形態では、本発明を利用して拡声電話機に用いられるエコーキャンセラを実現する場合の適用を例示して説明する。
【００３１】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態のエコーキャンセラ１００の構成を示す構成図である。図１において、右側が図示しない近端話者側であり、左側が図示しない遠端話者側である。
【００３２】
図１において、第１の実施形態のエコーキャンセラ１００は、受信側入力端子Ｒｉｎ１、受信側出力端子Ｒｏｕｔ２、送信側入力端子Ｓｉｎ５、送信側出力端子Ｓｏｕｔ７、通常適応フィルタ（ＡＤＦ＿Ｎ）６、潜行型適応フィルタ（ＡＤＦ＿Ｓ）１７、音声検出部８、タイミング制御部９、適応モード制御部１０、ダブルトーク検出部（ＤＴＤ）１８、背景ノイズ計算部１９、加算器Ａｄｄ１、加算回数制御部１Ａ、エコーレベル検出部１Ｂを少なくとも有して構成される。
【００３３】
また、通常適応フィルタ（ＡＤＦ＿Ｎ）６は、適応フィルタ係数部１４ａ、積和演算部１４ｂ及び保持レジスタ１４ｃを有する通常擬似エコー作成部１４と、通常適用フィルタ係数適応部（通常＿ＡＤＰ）１５と、スイッチＳＷ１〜ＳＷ３とを有して構成される。
【００３４】
さらに、潜行型適用フィルタ（ＡＤＦ＿Ｓ）１７は、加算データ選択部１１ｒ、加算データ加工部１２ｒ、加算データ保存部１３ｒ、無音区間適応促進部（ＳＴＥＡＬＳ＿ＡＤＦ）１６、加算器（Ａｄｄ）２、加算データ保存部１３ｓ、加算データ加工部１２ｓ、加算データ選択部１１ｓを有して構成される。
【００３５】
受信側入力端子Ｒｉｎ１は、図示しない遠端話者側から入力された音声信号ｘ（ｎ）を、ダブルトーク検出部（ＤＴＤ）１８、音声検出部８、潜行型適応フィルタ（ＡＤＦ＿Ｓ）１７、通常適応フィルタ６及び受信側出力端子Ｒｏｕｔ２に与えるものである。なお、音声信号ｘ（ｎ）は、サンプリングされた第ｎサンプルデータであること示す。
【００３６】
受信側出力端子Ｒｏｕｔ２は、受信側入力端子Ｒｉｎ１から音声信号ｘ（ｎ）を受け取ると、その音声信号ｘ（ｎ）をスピーカ３に与えるものである。なお、図示しないが、受信側出力端子Ｒｏｕｔ２から出力された音声信号ｘ（ｎ）は、図示しないＤ／Ａ（ディジタル−アナログ）変換器にアナログ変換され、そのアナログ信号がスピーカ３に与えられる。これにより、スピーカ３から音声が放出される。
【００３７】
送信側入力端子Ｓｉｎ５は、マイクロホン４から入力された近端話者の音声信号を、加算器Ａｄｄ１、潜行型適用フィルタ１７及びエコーレベル検出部１Ｂに与えるものである。
【００３８】
なお、スピーカ３から放出された音声信号は、マイクロホン４にも漏れ込み、図示しないＡ／Ｄ（アナログ−ディジタル）変換器により変換されたディジタル信号として送信側入力端子Ｓｉｎ５に入り込み、加算器Ａｄｄ１に与えられる。
【００３９】
加算器Ａｄｄ１は、送信側入力端子Ｓｉｎ５から入力された入力信号とＳＷ２からの出力信号とを加算相殺し、入力信号から擬似エコー成分を除去した信号を、通常適応フィルタ係数適応部（通常＿ＡＤＰ）１５、背景ノイズ計算部１９、ダブルトーク検出部（ＤＴＤ）１８及び送信側出力端子Ｓｏｕｔ７に与えるものである。
【００４０】
通常適応フィルタ係数適応部１５は、加算器Ａｄｄ１からの出力信号を取り込み、この出力信号に基づいて適応フィルタの係数ベクトルを計算し、ＳＷ３及びＳＷ１を介して、係数ベクトルを適応フィルタ係数部１４ａに与えるものである。
【００４１】
ＳＷ３は、通常＿ＡＤＰ１５とＳＷ１との間に位置するスイッチであり、初期状態は閉じているものである。また、ＳＷ３は、ダブルトーク検出部（ＤＴＤ）１８から信号を受け取り、シングルトークを示す信号（信号ＳＴ）が与えられる場合にはスイッチを閉じ、その他の場合（すなわち、ダブルトーク状態、無音状態、ニアトーク状態）は開放するものである。
【００４２】
ＳＷ１は、ＳＷ３と適応フィルタ係数部１４ａとの間に位置するスイッチであり、初期状態はＳＷ３に接続する端子ｂに接続されているものである。また、ＳＷ１は、適応モード制御部１０からの接続切替信号に応じて接続切替を行うものである。
【００４３】
適応フィルタ係数部１４ａは、ＳＷ１を介して、通常＿ＡＤＰ１５からの係数ベクトルを受け取り、この係数ベクトルを擬似エコーを作成するフィルタの係数とするものである。
【００４４】
積和演算部１４ｂは、保持レジスタ１４ｃに保持される係数と適応フィルタ係数部１４ａの係数とを積和演算して、その積和演算結果を擬似エコーｙ´（ｎ）としてＳＷ２に与えるものである。
【００４５】
保持レジスタ１４ｃは、入力された音声信号ｘ（ｎ）を保持するレジスタである。
【００４６】
ＳＷ２は、積和演算部１４ｂと加算器Ａｄｄ１との間に位置するスイッチであり、初期状態は加算器Ａｄｄ１に接続する端子ｂに接続されているものである。また、ＳＷ２は、適応モード制御部１０からの図示しない接続切替信号に応じて接続切替を行うものである。
【００４７】
音声検出部８は、受信側入力端子Ｒｉｎ１からの音声信号ｘ（ｎ）に基づいて、話者音声の有無を検出し、その音声結果ｖ＿ｆｌｇを、適応モード制御部１０及びタイミング制御部９に与えるものである。音声検出部６は、例えば、音声ありの場合にはｖ＿ｆｌｇ＝１とし、音声なし場合にはｖ＿ｆｌｇ＝０とする。
【００４８】
なお、音声検出部８の音声検出方法は、既知の方法を広く適用することができ、たとえば、信号のパワー長期平均とパワー短期平均を計算して両者の計算結果の乖離が大きいことで音声ありを検出する方法等を広く適用することができる。
【００４９】
また、音声検出部８は、後述するダブルトーク検出部１８と別の機能部として説明するが、ダブルトーク検出部１８内部での機能部としてもよい。
【００５０】
タイミング制御部９は、音声検出部８から音声結果ｖ＿ｆｌｇを受け取り、その音声結果に応じた、後述するデータ選択のタイミングを、適応モード制御部１０、加算データ選択部１１ｒ及び加算データ選択部１１ｓに与えるものである。
【００５１】
適応モード制御部１０は、音声検出部８からの音声結果ｖ＿ｆｌｇに応じたモード選択信号steals＿adp＿goを、潜行型適応フィルタ１７のＳＴＥＡＬＳ＿ＡＤＦ１６及び通常適応フィルタ６のＳＷ１に与えるものである。
【００５２】
また、適応モード制御部１０は、ｖ＿ｆｌｇ＝１のときには、潜行型適応フィルタ１７のＳＴＥＡＬＳ＿ＡＤＦ１６に動作を停止するための信号steals＿adp＿go＝０を出力する。
【００５３】
さらに、適応モード制御部１０は、ｖ＿ｆｌｇ＝１のときには、ＳＷ１に対して端子ｂに接続切替させる信号を出力すると共に、ＳＷ２に対して端子ｂに接続切替させる信号を出力する。また、適応モード制御部１０は、ｖ＿ｆｌｇ＝０のときには、ＳＷ１に対して端子ａに接続切替させる信号を出力すると共に、ＳＷ２に対して端子ａに接続切替させる信号を出力する。
【００５４】
ダブルトーク検出部（ＤＴＤ）１８は、受信側入力端子Ｒｉｎ１からの信号と、加算器Ａｄｄ１からの出力信号とに基づいて通話状態を検出し、その通話状態を、ＳＴＥＡＬＳ＿ＡＤＦ１６、ＳＷ３、背景ノイズ計算部１９及びエコーレベル検出部１Ｂに与えるものである。
【００５５】
ここで、ダブルトーク検出部１８による通話状態の検出方法としては、種々の方法を広く適用することができ、例えば、特許文献３や特許文献４に開示される通話状態検出方法を適用することができる。
【００５６】
また、ダブルトーク検出部１８は、シングルトーク状態（遠端話者のみが話している状態）、ダブルトーク状態（遠端話者及び近端話者とが同時に離している状態）、無通話状態（両者とも話していない状態）、ニアトーク状態（近端話者のみが話している状態）の４つの状態を検出する。
【００５７】
しかし、ダブルトーク検出部１８は、少なくとも、無通話状態、ダブルトーク状態、シングルトーク状態の３つの状態が検出できれば種々の方法を適用することができる。ニアトーク状態検出の重要度が小さいのは、ニアトーク状態は、小パワーの受信信号ｘ（ｎ）と大パワーの信号Ｓｉｎ（ｎ）の一種のダブルトーク状態と区分けすることができるから、上記の３つの状態が区別できれば、エコーキャンセラ１００にとってはニアトーク状態をダブルトーク状態として取り扱っても不都合がないからである。
【００５８】
ダブルトーク検出部１８が出力する信号としては、シングルトーク状態のとき信号ＳＴと示し、無通話状態のとき信号ＩＤＬとし、ダブルトーク状態のとき信号ＤＴ（あるいは信号ＮＥＴ）とし、ニアトーク状態のとき信号ＮＥＴ（あるいは信号ＤＴ）とする。
【００５９】
背景ノイズ計算部１９は、ダブルトーク検出部１８から信号ＩＤＬを受けると（すなわち無通話状態のとき）、加算器Ａｄｄ１からの出力信号（すなわち近端側の背景ノイズ）の平均パワーＮ＿ＰＯＷを計算し、この背景ノイズの平均パワー平均値Ｎ＿ＰＯＷを加算回数制御部１Ａに与えるものである。ここで、背景ノイズ計算部１９が計算に係る平均の長さは、音声検出部８における短期平均（例えば３０ｍｓ）に合わせることが望ましいが、これに限定されるものではない。
【００６０】
エコーレベル検出部１Ｂは、ダブルトーク検出部１８から信号ＳＴを受けると（すなわちシングルトーク状態のとき）、送信側入力端子Ｓｉｎ５に入力される信号の平均パワーＥ＿ＰＯＷを計算し、このエコーパワー平均値Ｅ＿ＰＯＷを加算回数制御部１Ａに与えるものである。ここで、エコーレベル検出部１Ｂが計算に係る平均の長さは、音声検出部８における短期平均（例えば３０ｍｓ）に合わせることが望ましいが、これに限定されるものではない。
【００６１】
これは、ダブルトーク検出部１８が信号ＳＴを出力するときには、遠端から信号があり、スピーカ３から放出されている状態である。したがって、エコーが発生しており、かつ、近端での話者信号がないので、エコーパワーの計算に好適だからである。
【００６２】
加算回数制御部１Ａは、背景ノイズ計算部１９からの背景ノイズのパワー平均値Ｎ＿ＰＯＷと、エコーレベル検出部１Ｂからのエコーパワーの平均値Ｅ＿ＰＯＷとを受け取り、加算回数（平均回数）AVEL_PILE_CNTを、加算データ加工部１２ｓに与えるものである。なお、加算回数制御部１Ａの詳細な機能については動作の項で詳細に説明する。
【００６３】
潜行型適応フィルタ（ＡＤＦ＿Ｓ）１７は、音声検出部８の検出結果が音声あり（ｖ＿ｆｌｇ＝１）のとき、音声データを収集、加工して準備だけを進め、音声検出部８の検出結果が音声なし（ｖ＿ｆｌｇ＝０）のとき、エコーの同定（すなわち、エコー経路の同定）を行うものである。
【００６４】
加算データ選択部１１ｒ及び１１ｓは、音声検出部８により音声検出なしから音声検出ありに遷移した時点から、受信入力信号及び送信出力信号の所定期間長の各サンプリングデータを、送信入力ベクトル及び受信入力ベクトルとして逐次更新しながら保持するものである。
【００６５】
加算データ加工部１２ｒ及び１２ｓは、加算回数制御部１Ａからの加算平均回数に従って、受信入力ベクトル及び送信入力ベクトルのそれぞれについて、所定設定回数を上限として同期加算平均するものである。
【００６６】
加算データ保存部１３ｒ及び１３ｓは、加算データ加工部１２ｒ及び１２ｓからの受信入力ベクトル及び送信入力ベクトルを保存するものである。
【００６７】
ＳＴＥＡＬＳ＿ＡＤＦ１６は、加算データ加工部１２ｒ及び１２ｓにより同期加算平均された受信入力ベクトルと逐次更新するフィルタ係数とを用いて擬似エコー信号を作成し、同期加算平均された送信入力ベクトルから擬似エコー信号を除去するものであって、収束したフィルタ係数を通常適応フィルタ６に与えるものである。
【００６８】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態のエコーキャンセラ１００における処理について図面を参照しながら説明する。
【００６９】
図１において、遠端話者側からの音声信号ｘ（ｎ）が受信側入力端子Ｒｉｎ１に入力されると、音声信号ｘ（ｎ）は、ダブルトーク検出部１８、音声検出部８、加算データ選択部１１ｒ、保持レジスタ１４ｃ及び受信側出力端子Ｒｏｕｔ２に与えられる。
【００７０】
受信側出力端子Ｒｏｕｔ２から出力された信号は、アナログ変換されてスピーカ３から放出される。
【００７１】
一方、近端話者の音声はマイクロホン４に捕捉されて、ディジタル変換された信号が送信側入力端子Ｓｉｎ５に入力し、加算器Ａｄｄ１に与えられる。このとき、スピーカから放出された音声信号は、マイクロホン４に漏れこみ、ディジタル信号として送信側入力端子Ｓｉｎ５に入力する。
【００７２】
加算器Ａｄｄ１では、送信側入力端子Ｓｉｎ５からの信号と、ＳＷ２を介して入力された擬似エコーｙ´（ｎ）とを加算相殺して、擬似エコー成分を除去した信号が出力される。また、この加算器Ａｄｄ１からの出力信号は、通常＿ＡＤＰ１５、背景ノイズ計算部１９、ダブルトーク検出部１８及び送信側出力端子Ｓｏｕｔ７に与えられる。
【００７３】
（Ａ−２−１）通常適応フィルタ（通常ＡＤＦ＿Ｎ）６における動作
以下では、まず、通常適応フィルタ６における動作を説明する。通常適応フィルタ６において、ＳＷ１の初期状態はｂ端子に接続し、ＳＷ２の初期状態はｂ端子に接続し、ＳＷ３の初期状態は閉じている。
【００７４】
受信側入力端子Ｒｉｎ１に入力された信号が音声検出部８に入力すると、音声検出部８において、その入力信号に基づいて音声の有無が検出され、その音声結果ｖ＿ｆｌｇが適応モード制御部１０及びタイミング制御部９に与えられる。
【００７５】
ここで、音声検出部８における音声検出処理について説明する。音声検出方法は、音声の有無を検出することができれば、種々の方法を適用することができるが、例えば、入力信号のパワー長期平均を５秒の平均値ＬＰＯ＿Ｌとし、入力信号のパワー短期平均を３０ｍ秒の平均値ＬＰＯ＿Ｓとし、検出マージンをＶＤ＿δ（例えば、６ｄＢ）として、下記式を計算する。
【００７６】
ＬＰＯ＿Ｓ≧ＬＰＯ＿Ｌ＋ＶＤ＿δ      …（１）
そして、上記式（１）が成立した場合、音声検出部８は「音声あり」と判断し、ｖ＿ｆｌｇ＝１を出力し、上記式（１）が成立しない場合、音声検出部８は「音声なし」と判断し、ｖ＿ｆｌｇ＝０を出力する。
【００７７】
適応モード制御部１０において、音声検出部８からの音声結果ｖ＿ｆｌｇが与えられると、適応モード制御部１０は、ｖ＿ｆｌｇ＝１の場合に、ＳＴＥＡＬＳ＿ＡＤＦ１６に対して、動作を停止させる信号steals_adp_go＝０を出力する。また、適応モード制御部１０は、ｖ＿ｆｌｇ＝１の場合、ＳＷ１を端子ｂに接続させるように指示すると共に、ＳＷ２を端子ｂに接続させるように指示する。
【００７８】
また、適応モード制御部１０は、ｖ＿ｆｌｇ＝０の場合、ＳＷ１を端子ａに接続させるように指示すると共に、ＳＷ２を端子ａに接続させるように指示する。
【００７９】
ダブルトーク検出部１８は、シングルトーク状態のとき、ＳＷ３を閉じるように指示し、それ以外の状態のとき、ＳＷ３を開放するように指示する。なお、シングルトーク状態のとき、音声検出部８により「音声あり」と判断されており、ｖ＿ｆｌｇ＝１である。
【００８０】
従って、音声検出部８の出力がｖ＿ｆｌｇ＝１であっても、ダブルトーク状態のときにはＳＷ３が開放しているので、通常＿ＡＤＰ１５からの出力はＳＷ１に入力されず、結果として通常擬似エコー作成部１４の係数更新は発生されない。
【００８１】
一方、音声検出部８からの音声結果ｖ＿ｆｌｇは、タイミング制御部９にも与えられており、タイミング制御部９は、適応モード制御部１０、加算データ選択部１１ｓ及び１１ｒに対してデータ選択タイミングを出力するが、ｖ＿ｆｌｇ＝１の場合、タイミング制御部９は、適応モード制御部１０に何も出力しない。
【００８２】
ここでは、通常ＡＤＦ＿Ｎ６の動作を説明しているので、ｖ＿ｆｌｇ＝１の場合、ＡＤＦ＿Ｎ６の動作系（すなわち、ＡＤＦ＿Ｎ６、音声出力部８、適応モード制御部１０、受信側入力端子Ｒｉｎ１、受信側出力端子Ｒｏｕｔ２、送信側入力端子Ｓｉｎ５、送信側出力端子Ｓｏｕｔ７、スピーカ３及びマイクロホン４からなる構成系）は、ＡＤＦ＿Ｓ１７の影響は受けない。
【００８３】
ＳＷ３は、ダブルトーク検出部１８から信号ＳＴを受けたときだけ閉じ、その他のときは開放する。
【００８４】
背景ノイズ計算部１９は、ダブルトーク検出部１８から信号ＩＤＬを受けたときに、信号（近端側の背景ノイズ）の平均パワー値Ｎ＿ＰＯＷを計算し、加算平均回数制御部１Ａに出力する。平均の長さは音声検出部８における短期平均（例えば３０ｍｓ）に合わせることが望ましいが、これに限定されるものではない。
【００８５】
一方、エコーレベル検出部１Ｂは、ダブルトーク検出部１８から信号ＳＴを受けたときに、送信側入力端子Ｓｉｎ５に入力した信号（エコー）のエコーパワー平均値Ｅ＿ＰＯＷを計算し、加算平均回数制御部１Ａに出力する。信号ＳＴを受けたときは、遠端から信号があり、スピーカ３から放出されている状態であるから、エコーが発生している期間であるからである。平均の長さは音声検出部８における短期平均（例えば３０ｍｓ）に合わせることが望ましいが、これに限定されるものではない。
【００８６】
加算平均回数制御部１Ａは、エコーパワー平均値Ｅ＿ＰＯＷと背景ノイズパワー平均値Ｎ＿ＰＯＷを受けると、加算回数（平均回数）ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを加算データ加工部１２ｓ及び１２ｒに出力する。なお、加算データ加工部１２ｓ及び１２ｒの動作については後述する。
【００８７】
ｖ＿ｆｌｇ＝１の場合、適応モード制御部１０からの接続切替信号がＳＷ１、２に与えられ、ＳＷ１及びＳＷ２が端子ｂに切り替えられ、またダブルトーク検出部１８からの出力により、ＳＷ３が開閉されると、ＡＤＦ＿Ｎ６は、次のように動作する。
【００８８】
まず、受信側入力端子Ｒｉｎ１から出力された受信信号ｘ（ｎ）は、保持レジスタ１４ｃに格納される。
【００８９】
ここで、受信信号ｘ（ｎ）のデータベクトルは、次のように取り扱われる。
【００９０】
Ｘ（ｎ）＝[ｘ（ｎ）、ｘ（ｎ−１）、…、ｘ（ｎ−Ｎ＋１）]ｔ        …（２）
ｎはサンプル順、Ｎは適応フィルタのタップ数（第１の実施形態では、例えばＮ＝１０２４とする）、ｔは行列の転置を示す。
【００９１】
つまり、上記式（２）は、現在の時刻ｎを開始時点とし、過去のＮサンプルまでを保持したデータの集まりが、下記式（２）のベクトルを構成していることを表している。
【００９２】
一方、適応フィルタ係数部１４ａには、フィルタ係数が格納されており、Ｎ個の係数値がある。係数の値は、通常＿ＡＤＰ１５により時々刻々と更新される値である。適用フィルタ係数部１４ａのＮ個の係数も、１つも係数ベクトルとして、下記式（３）のように取り扱われる。
【００９３】
Ｈ（ｎ）＝[ｈ（０）、ｈ（１）、…、ｈ（Ｎ−１）]ｔ        …（３）
Ｎは適応フィルタのタップ数（Ｎ＝１０２４とする）。
【００９４】
積和演算部１４ｂは、適応フィルタ係数部１４ａの係数ベクトルと保持レジスタ１４ｃのデータベクトルを受け、下記式（４）のようにベクトルの積ｙ´（ｎ）を計算し、このｙ´（ｎ）がＳＷ２似出力される。このｙ´（ｎ）は擬似エコーのサンプルデータとなる。ｙ´（ｎ）は１つの値を持つ、スカラー値データである。
【００９５】
ｙ´（ｎ）＝Ｈｔ（ｎ）Ｘ（ｎ）        …（４）
このとき、ＳＷ２は、適応モード制御部１０の出力によって、端子ｂに接続されているので、擬似エコーｙ´（ｎ）は加算器Ａｄｄ１に出力される。
【００９６】
加算器Ａｄｄ１では、上述のようにスピーカ３からマイクロホン４に漏れこんだ打消し対象信号（すなわちエコー信号ｙ（ｎ））が入力されており、Ａｄｄ１は、式（５）のように信号を加算相殺し、残差信号ｅ（ｎ）を計算して、送信側出力端子Ｓｏｕｔ７、ダブルトーク検出部１８、背景ノイズ計算部１９に出力する。
【００９７】
ｅ（ｎ）＝ｙ（ｎ）−ｙ´（ｎ）        （５）
最終的に、送信側出力端子Ｓｏｕｔ７から出力された信号は、遠端への音声信号として出力される。
【００９８】
一方、加算器Ａｄｄ１の出力である残差信号ｅ（ｎ）は、通常＿ＡＤＰ１５に出力され、通常＿ＡＤＰ１５により適応フィルタのフィルタ係数値の更新が行なわれる。通常＿ＡＤＰ１５でのフィルタ係数の更新処理としては、例えば、式（６）に示すような公知のＮＬＭＳアルゴリズム（学習同定法も同じ）を適用することができる。
【数１】
0005061976.tif 000002
【００９９】
式（６）は、信号ｅ（ｎ）、ｘ（ｎ）から、次回の擬似エコー作成に用いるための適応フィルタ係数部１４ａの係数ベクトルが作成されることを示している。
【０１００】
通常＿ＡＤＰ１５により作成された係数ベクトルは、ＳＷ３及びＳＷ１を経由して、適応フィルタ係数部１４ａに出力され、次回の擬似エコーの作成に備える。
【０１０１】
式（６）の係数更新が進行し、式（５）の残差信号ｅ（ｎ）は徐々に小さくなり、やがて十分にｅ（ｎ）が小さくなると、式（６）でフィルタ係数の変化が起きなくなる。この状態が、「適応フィルタが収束した状態」である。
【０１０２】
以上のように、音声検出部８の検出結果が「音声あり」であり、ダブルトーク検出部１８の検出結果が「シングルトーク状態」であるとき、エコーキャンセラ１００は、ＡＤＦ＿Ｎ６が主体となって、エコーの同定と打ち消しを行う。
【０１０３】
（Ａ−２−２）潜行型適応フィルタ（ＡＤＦ＿Ｓ）１７における動作
ＡＤＦ＿Ｓ１７は、音声検出部８の音声結果が「音声あり」のときに、音声データを収集し、加工して準備だけを行う。また、音声結果が「音声なし」のときに、ＡＤＦ＿Ｓ１７は、エコーの同定（エコー経路の同定としても意味は同じ）を行うものである。
【０１０４】
このＡＤＦ＿Ｓ１７は、見かけ上、音声がない期間に、エコーキャンセラ１００の係数更新を進行させる適応フィルタといえる。また、音声検出部８の検出結果が「音声あり」のとき、潜行型適応フィルタ１７は、音声データの収集、加工をするだけであるから、通常適用フィルタ６の処理には影響を与えない。
【０１０５】
まず、遠端から信号ｘ（ｎ）が入力されると、音声検出部８により「音声あり」の信号ｖ＿ｆｌｇ＝１がタイミング制御部９に出力される。
【０１０６】
そうすると、タイミング制御部９は、受信側の加算データ選択部１１ｒ及び送信側の加算データ選択部１１ｓに対して、音声データの取り込みを指示する信号ＫＥＥＰを出力する。また、タイミング制御部９は、いったんｖ＿ｆｌｇ＝１が入力されると、その時点からデータサンプル数をカウントして、あらかじめ定められたサンプル数ＬＥＮＧＴＨに達するまでは、以後の音声信号の有無にかかわらず、信号ＫＥＥＰを出力する。
【０１０７】
加算データ選択部１１ｒ及び１１ｓでは、ＫＥＥＰが与えられている間、データを取り込みつつ取り込んだデータを一旦保存する。
【０１０８】
これにより、いったんｖ＿ｆｌｇ＝１が入力されると、データサンプルＬＥＮＧＴＨ個が保存され、そのデータサンプルの中には音声データサンプルと無音サンプルが混じっていることになる。
【０１０９】
なお、第１の実施形態では、第１の実施形態では、ＬＥＮＧＴ＝３８４００とするが、これに限定されるものではない。また、加算データ選択部１１ｒ及び１１ｓの動作に関しては、ダブルトーク検出部１８の状態検出の結果は関係ない。
【０１１０】
図２は、加算データ選択部１１ｒ及び１１ｓの動作を説明するタイミング図である。
【０１１１】
図２（Ａ）は、音声の有無の区間を示しており、黒い部分が音声ありの区間であり、このときｖ＿ｆｌｇ＝１である。
【０１１２】
図２（Ｂ）は、いったんｖ＿ｆｌｇ＝１を受けたタイミング制御部９がＬＥＮＧＴＨの期間だけ音声サンプルを切り出す時間の切り出し窓を示しており、一旦切り出しを開始すると、切り出し区間中のｖ＿ｆｌｇの値には関係なく音声を切り出す様子を示してものである。
【０１１３】
図２（Ｃ）は、タイミング制御部９の制御によって、音声データが切り出しを受けた結果、作成される格納データのベクトルの様子を示すものであり、図２（Ｃ）では一例としてＸ０〜Ｘ５の最大６個のベクトルが作成される様子が示されている。
【数２】
0005061976.tif 000003
【０１１４】
なお、図２では、説明を簡単にするために、音声がある部分は黒い部分とし、振幅も全て固定であるとする。また、図２では、最大６個のベクトルを作成しているが、ベクトル個数は特に限定されるものではない。後述するように、いつでも必ず６個のベクトルの全部を使うわけではなく、エコーと背景ノイズの状態によって個数は変化するが詳細は後述する。
【０１１５】
一方、送信側加算データ選択部１１ｓでも、データの切り出しを行うが、送信側の加算データ選択部１１ｓのデータ切り出しも、タイミング制御部９のデータ切り出し信号ＫＥＥＰがあるときだけ、送信側入力端子Ｓｉｎ５からの信号ｙ（ｎ）を切り出し保存する。
【０１１６】
つまり、音声データ切り出しのタイミングは、あくまでも受信側入力端子Ｒｉｎ１側の音声検出部８の音声結果によっている。
【０１１７】
前述したように、ｙ（ｎ）はエコー信号である。ｙ（ｎ）は、エコー経路を経ているから、その分の遅延ｄが時間遅れとして含まれている。
【０１１８】
図２（Ｄ）は、エコー信号を示しており、図２（Ａ）の信号がエコーとなってｙ（ｎ）となり、送信側の格納ベクトルが作成される様子を示している。データ切り出しタイミングは、タイミング制御部９からの信号ＫＥＥＰによるので、図２（Ｂ）の切り出しタイミングと同一であるから、図２（Ｄ）の信号を図２（Ｂ）と同じタイミングの切り出し窓（図２（Ｅ）に示す切り出し窓が相当する。）を用いて、エコー経路を経由してマイクロホン４に集音された信号を切り出すことに相当する。結果として格納されたベクトルは、式（８）のようである。
【数３】
0005061976.tif 000004
【０１１９】
加算データ選択部１１ｒ及び１１ｓは、上記のように動作した後もデータの選択と蓄積を継続するが、予め定めた数のベクトルを蓄積すると、今度は古い順にデータを上書きしていく。
【０１２０】
例えば、第１の実施形態では、予め６本のベクトルを蓄積するものとする。この場合、例えば、Ｘ５、Ｙ５が蓄積し終えると、今度は図示しない最初のベクトルデータ格納エリア（メモリ）に戻って、下記（８−１）のデータを（８−２）のデータに上書きしながら、データベクトルを蓄積していく。
【数４】
0005061976.tif 000005
【０１２１】
加算データ選択部１１ｒ及び１１ｓのそれぞれによって作成された入力ベクトルはそれぞれ、加算データ加工部１２ｒ及び１２ｓに出力される。また、加算データ選択部１１ｒ及び１１ｓは、１本のデータベクトルができあがるたびに、加算タイミング信号keep_flug_on_to_off＝１を、加算データ加工部１２ｒ及び１２ｓに出力し、それ以外のときは何も出力しない。もしくは、何も出力しない代わりに１以外の値（例えばkeep_flug_on_to_off＝０）を出力するようにしてもよい。
【０１２２】
加算データ加工部１２ｒ及び１２ｓでは、次のように動作する。すなわち、予め設計者がハードウェアのメモリ資源の限界から定めた最大本数（第１の実施形態では「６」とする）の限界内で、加算平均回数制御部１Ａからの出力ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴベクトルを、加算平均する。
【０１２３】
ここで、ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴは、必ず「ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ≦ＦＵＬＬ＿ＰＩＬＥ」である。
【０１２４】
実際には、加算データ選択部１１ｒと加算データ選択部１１ｓとから出力される、それぞれの加算タイミング信号keep_flug_on_to_offは同じタイミングであるので、例えば、いずれかの加算データ選択部（例えば受信側の加算データ選択部１１ｒ）からの加算タイミング信号keep_flug_on_to_offが、加算データ加工部１２ｒ及び１２ｓに出力されるようにしてもよい。
【０１２５】
そして、エコーキャンセラ１００が初期状態から動作し始め、ベクトルの蓄積が予め定めた本数ＦＵＬＬ＿ＰＩＬＥに達していないときには、加算データ加工部１２ｒ及び１２ｓは、その時点までに蓄積されている本数ｐｉｌｅ＿ｃｎｔからＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴの小さいほうで加算平均をとる。
【０１２６】
第１の実施形態では、ＦＵＬＬ＿ＰＩＬＥ＝６で設定したので、ベクトルが６本たまったあとは、最大６本の加算平均が可能であるが、エコーキャンセラ１００の初期動作時ではベクトルは６本まで蓄積されていない。このときは、蓄積済み本数文のうち、ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ、又は蓄積済み本数のどちらか小さいほうで換算平均をとるようにする。
【０１２７】
加算データ加工部１２ｒ及び１２ｓの動作は、入力されるデータが受信側のデータであるか又は送信側のデータであるかのみの違いであり、計算処理そのものは同じであるので、ここでは加算データ加工部１２及び１２ｓの処理について説明する。
【０１２８】
まず、最初に受信側加算データ加工部１２ｓ及び１２ｒは、１本〜ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ（又は蓄積済みｐｉｌｅ＿ｃｎｔ）本のベクトルの加算平均を式（９）、式（１０）のように求める。なお、加算平均する最大本数はＦＵＬＬ＿ＰＩＬＥの本数とする。
【０１２９】
ここで、添え字が０からはじまると平均の様子が分かりにくくなるので、式（９）、式（１０）にいたるベクトルの蓄積に伴って、１から始まり、順次カウントアップするｐｉｌｅ＿ｃｎｔの値を使って説明する。
【数５】
0005061976.tif 000006
【０１３０】
まず、上記（８−３）に示す最初のデータが蓄積されると、ｐｉｌｅ＿ｃｎｔは「１」セットされ、順次、ベクトル分のデータが蓄積されていき、ｐｉｌｅ＿ｃｎｔは「１」ずつカウントアップされていく。ｐｉｌｅ＿ｃｎｔ＝６に達すると、ｐｉｌｅ＿ｃｎｔはそれ以上増加しない。
【０１３１】
受信側加算データ加工部１２ｒは、受信側の加算データ選択部１１ｒからの加算タイミング信号keep_flug_on_to_off＝１が入力されると、それまでに蓄積したデータを開始点として一致させて加算を開始する。
【０１３２】
これにより、受信側加算データ加工部１２ｒは、潜行型適応フィルタＡＤＦ＿Ｓ１７の入力ベクトルとして、式（８−４）のように作成される。
【０１３３】
ｓｔｅａｌｓ＿ｒｉｎ＝[rin_keep[0]、…、rin_keep[LENGTH-1]]      …（８−４）
同様に、送信側加算データ加工部１２ｓでも、式（８−５）のよう作成される。
【０１３４】
ｓｔｅａｌｓ＿ｓｉｎ＝[sin_keep[0]、…、sin_keep[LENGTH-1]]    …（８−５）
【数６】
0005061976.tif 000007
【０１３５】
図３は、加算平均の様子を示す図である。図３のように、データの頭がそろったデータが、下向き矢印に沿って計算される加算平均である。作成手順は、送信側の加算データ加工部１２ｓにおいてもまったく同じである。
【０１３６】
ここで、加算平均の様子を説明するために、加算平均回数制御部１Ａの動作を説明する。
【０１３７】
加算平均回数制御部１Ａは、上述の背景ノイズ計算部１９による背景ノイズパワー平均値Ｎ＿ＰＯＷとエコーレベル検出部１Ｂによるエコーパワー平均値Ｅ＿ＰＯＷの比Ｅ／Ｎに応じて、加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを決定する。
【０１３８】
加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴは、１〜ＦＩＬＬ＿ＰＩＬＥの間であり、結果としては式（８−３）のいずれかのｐｉｌｅ＿ｃｎｔの値と一致する。
【０１３９】
加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴは、表１のように設定者によって、予めＥ／Ｎに応じて適当な値が定められている。第１の実施形態では、通話の開始時に一旦加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴが計算された後は、加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴは呼が切断されるまで固定値とするが、これに限定されるものではなく、通話中のＥ／Ｎに応じて最大加算回数ＦＵＬＬ＿ＰＩＬＥの範囲内で変化するものであってもよい。
【表１】
0005061976.tif 000008
【０１４０】
図４は、表１のように、加算平均回数が定められた場合、Ｅ／Ｎ＝３ｄＢの条件で受信入力ベクトルの加算平均ベクトルが作成される様子を示した図である。
【０１４１】
図４（Ａ）は、音声信号ｘ（ｎ）の様子を模式的に示しており、図２と同様に、黒い部分が音声ありの部分である。
【０１４２】
図４（Ｂ）に示すように、信号ｘ（ｎ）は、時間窓長による一定の切り出し時間だけサンプリングされて集められて、図４（Ｃ）に示すように、切り出されたベクトルとして取り扱われるようになる。
【０１４３】
図４（Ａ）〜図４（Ｃ）の１ブロック目のようにｘ（ｎ）が複数個サンプルされ蓄積されて、最初のベクトルは式（１１）のようになる。
【０１４４】
Steals_rin＝Ｘ０        （１１）
この時点では、加算データ加工部１２ｓにはまだ入力ベクトル１本だけである。従って、初めて作成される加算平均ベクトルは図４（Ｃ）の最初のようになり、平均をとっても何も変わらない。
【０１４５】
次に、ベクトルが蓄積されて、ベクトルが２本になると、以後は表１を参照し、式（１２）のような加算平均ベクトルとなる。
【０１４６】
Steals_rin＝（Ｘ０＋Ｘ１）／AVEL_PILE_CNT（又はpile_cnt）    …（１２）
図４では、ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ＝６の例を示しており、時刻ｔ５に達するまでは、まだベクトルがＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ分蓄積できていないので、除算はｐｉｌｅ＿ｃｎｔで行われる。
【０１４７】
例えば、時刻ｔ１では、第２番目の入力ベクトルまで揃うので加算平均処理は２本のベクトルで行われ、ベクトルデータが半分ずつ反映されたデータベクトルになり、図４（Ｃ）の左から２番目のブロックのようになる。以後、ベクトル１本入手できた時点で新たな加算平均ベクトルを計算できるようになる。
【０１４８】
図４のｔ０〜ｔ５のそれぞれの時刻になった時点で新たな加算平均ベクトルを加算して計算できるようになる。
【０１４９】
第１の実施形態では、ベクトルの加算平均による処理量の増加を避けるため、時刻ｔに対して加算平均処理のための時間のマージンδＡＶ（１６ｋＨｚサンプリング動作のとき、１６０サンプル。時間にして１０ｍｓ）をとり、加算平均ベクトルを実際にＡＤＦ＿Ｓ１７で入力として使うまでにマージンδＡＶの遅延を設けたが、説明の簡単のため以後の説明ではδＡＶについては言及、考慮しないこととして説明する。
【０１５０】
時刻ｔ５以後は、ベクトル１本入手できた時点で、直近の過去の複数本（第１の実施形態では６本）のベクトルで新たな加算平均ベクトルを計算する。以後、同様に、予め設定した最大蓄積ベクトル本数ＦＵＬＬ＿ＰＩＬＥまでの間に設定されたＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ個のベクトルを加算平均するようにする。エコーキャンセラ１００の初期動作時は、ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ又はｐｉｌｅ＿ｃｎｔの小さいほうとなる。
【０１５１】
送信側入力ベクトルも入力をｙ（ｎ）にして同様の手順で作成される。ただし、ベクトルを作成するタイミングはあくまでも受信信号のサンプル切り出し窓をタイミングにして、ｙ（ｎ）をサンプルする点が受信側のベクトル作成と異なる。
【０１５２】
受信側加算データ加工部１２ｒで作成された受信信号入力ベクトルは、受信側加算データ保存部１３ｒに出力されて保存され、送信側加算データ加工部１２ｓで作成された送信信号入力ベクトルは、送信側加算データ保存部１３ｓに出力されて保存される。
【０１５３】
受信側加算データ加工部１２ｒは、ベクトルの加算平均処理が終了すると、適応モード制御部１０に対して、潜行型適応フィルタ１７の係数更新準備ができたことを知らせるフラグsteals_adapt_goを１にセットして出力する。
【０１５４】
適応モード制御部１０は、steals_adapt_go＝１が入力されると、音声検出部８の出力ｖ＿ｆｌｇの出力と加算データ加工部１２ｓの出力steals_adapt_goに応じて適応モードの制御を行う。
【０１５５】
表２は、適応モード制御部１０における適応モードの制御の様子を示すものである。
【表２】
0005061976.tif 000009
【０１５６】
表２のように、適応モード制御部１０は、音声検出部８の出力ｖ＿ｆｌｇと受信側加算データ加工部１２ｒの出力steals_adapt_goの組み合わせに応じて、潜行型適応フィルタＡＤＦ＿Ｓ１７又は通常適応フィルタＡＤＦ＿Ｎ６のいずれかの適応動作を指示する。なお、ＡＤＦ＿Ｓ１７、ＡＤＦ＿Ｎ６の両方が同時に適応動作することはない。
【０１５７】
表２のように、音声がある期間ではＡＤＦ＿Ｎ６が適応動作し、ＡＤＦ＿Ｓ１７は動作しない。
【０１５８】
ＡＤＦ＿Ｓ１７が動作する期間は、音声がなく、かつ、steals_adapt_go＝１が受信側加算データ加工部１２ｒから適応モード制御部１０に与えられ、さらに後述のようにダブルトーク検出部１８からの状態検出結果が蓄積中を通じてＳＴのタイミングだけである。
【０１５９】
上述したように、steals_adapt_goは、加算平均ベクトルの計算が終了した時点で１にセットされて適応モード制御部１０に出力される。
【０１６０】
図５は、適応モード制御部１０に出力されるsteals_adapt_goの様子を説明する図である。図５（Ａ）〜図５（Ｃ）は、図４（Ａ）〜図４（Ｃ）と同じであるので説明を省略する。
【０１６１】
図５（Ｄ）は、音声検出部８の音声結果ｖ＿ｆｌｇであって、音声検出するとｖ＿ｆｌｇ＝１、音声検出しないとｖ＿ｆｌｇ＝０である。
【０１６２】
図５（Ｅ）は、steals_adapt_goを示しており、加算平均ベクトルの計算が終了して入力データの準備が完成すると、steals_adapt_go＝１、完成していないとsteals_adapt_go＝０である。
【０１６３】
図５（Ｆ）は、ＡＤＦ＿Ｎ６が適応フィルタとして動作するときはＯＮ、そうでないときはＯＦＦとなる信号であり、適応フィルタ制御部１０からＡＤＦ＿Ｎ６に出力される適応動作制御信号である。
【０１６４】
図５（Ｇ）は、後述する通話状態検出のフラグＮＯＴ＿ＳＤＴである。このＮＯＴ＿ＳＤＴについて後述する。
【０１６５】
図５（Ｈ）は、ＡＤＦ＿Ｓ１７が適応フィルタとして動作するときはＯＮ、そうでないときはＯＦＦとなる信号であり、適応モード制御部１０からＡＤＦ＿Ｓ１７に出力される適応動作制御信号である。このＯＮ／ＯＦＦは、上述したように、ｖ＿ｆｌｇ＝０、かつ、steals_adapt_go＝１のときで、ダブルトーク検出部１８の状態検出結果がダブルトーク（ＤＴ）でなかったとき、ＡＤＦ＿Ｓ１７＝ＯＮになる。
【０１６６】
ここで、steals_adapt_go＝１であっても、ｖ＿ｆｌｇ＝１のときには、ＡＤＦ＿Ｓ１７＝ＯＦＦとなることに注意する。これは、ＡＤＦ＿Ｓ１７が選択的に受信入力信号の無音期間で動作することを意味している。
【０１６７】
送信側入力ベクトルも同様に作成されるが、作成のタイミングは受信側の音声信号ｘ（ｎ）による音声検出部８のｖ＿ｆｌｇである。送信側及び受信側加算データ保存部１３ｒ及び１３ｓに保存されたデータを用いてＡＤＦ＿Ｓ１７を適応更新する。
【０１６８】
図６は、ＡＤＦ＿Ｓ１７内部のＳＴＥＡＬＳ＿ＡＤＦ１６の内部構成を示す構成図である。図６に示すように、ＳＴＥＡＬＳ＿ＡＤＦ１６は、適応フィルタ係数部１６ａ、積和演算部１６ｂ、保持レジスタ１６ｃ、Ｓ＿ＡＤＰ１６ｄ、更新停止指示部１６ｅを少なくとも有するものである。ＳＴＥＡＬＳ＿ＡＤＦ１６は、概ね通常擬似エコー作成部１４の内部構成と同様の構成である。
【０１６９】
ＡＤＦ＿Ｓ用保持レジスタ１６ｃには、受信側加算データ保存部１３ｒからの入力ベクトルの要素データが１個ずつ入力される。ＡＤＦ＿Ｓ用保持レジスタ１６ｃの初期値は０である。
【０１７０】
第１の実施形態ではＡＤＦ＿Ｓ用保持レジスタ１６ｃは受信側加算データ加工部１２ｒから出力され、適応モード制御部１０を経由した信号steals_adapt_goが０→１に遷移するときに一度０にリセットされる。
【０１７１】
ＡＤＦ＿Ｓ用適用フィルタ係数部１６ａの係数の個数はＡＤＦ＿Ｎ６の適応フィルタ係数部１４ａの係数の個数と同じであり、ここでは前述のＮ個として説明する。また、ＡＤＦ＿Ｓ用適応フィルタ係数部１６ａの係数ベクトルを下記のベクトルで示す。
【０１７２】
Ｗ（ｍ）＝[ｗ（０）、ｗ（１）、…、ｗ（Ｎ−１）]ｔ        …（１３）
ｍはサンプル順であり、ｔは転置行列を示す。
【０１７３】
式（１３）のベクトルは、エコーキャンセラ１００の動作開始時に０にリセットされ、その後はリセットされず係数の更新を重ねる。
【０１７４】
一方で、[rin_keep[0]、…、rin_keep[LENGTH-1]]から１個ずつＡＤＦ＿Ｓ用保持レジスタ１６ｃに入力された要素は順番に格納され、別のベクトルになる。
【０１７５】
つまり、１サンプルタイミングずつrin_keep[0]から順番にrin_keep[LENGTH-1]に向かって、保持レジスタ１６ｃに格納されてできあがる新たなベクトルになる。これをＳｘ（ｍ）と書き換えることにすると、下記式のようになる。
【０１７６】
ＳＸ（ｍ）＝[Ｓｘ（ｍ）、Ｓｘ（ｍ−１）、…、Ｓｘ（ｍ−Ｎ＋１）]ｔ    …（１４）
例えば、ｍ＝０であると、入力ベクトルの要素rin_keep[0]が１個だけＡＤＦ＿Ｓ用保持レジスタ１６ｃに入力されるからＳＸ（ｍ）は、次のようになる。
【０１７７】
ＳＸ（０）＝[rin_keep[0]、0、…、0]ｔ      …（１５）
ＡＤＦ＿Ｓ用積和演算部１６ｂは、式（１１）のベクトルと式（１２）のベクトルの積を計算し、ＡＤＦ＿Ｓ１７内部擬似エコー信号Ｓｙ´（ｍ）を作成し、加算器Ａｄｄ２に出力する。
【０１７８】
Ｓｙ´（ｍ）＝Ｗｔ（ｍ）ＳＸ（ｍ）        …（１６）
加算器Ａｄｄ２には、送信側加算データ保存部１３ｓから送信側ベクトル要素データsin_keep（ｍ）が、受信側加算データ保存部１３ｒと同じタイミングのｍで１サンプルずつ入力され、Ｓｙ´（ｍ）と相殺されて、残差信号Ｓｅ（ｍ）を出力する。残差信号Ｓｅ（ｍ）は、ＡＤＦ＿Ｓ用適応フィルタ係数更新部Ｓ＿ＡＤＰ１６ｄに出力される。
【０１７９】
Ｓ＿ＡＤＰ１６ｄには、更新停止指示部１６ｅからの係数更新停止フラグのベクトルＳＤＴが入力されている。
【０１８０】
更新停止指示部１６ｅは、ダブルトーク部１８が検出結果ＤＴを出力したサンプルをまとめて選択的に係数更新から排除するためのフラグＳＤＴを以下に説明するように作成する。
【数７】
0005061976.tif 000010
【０１８１】
例えば、式（１７）で加算蓄積中のベクトル（６本のうち、どれか１つでも）の第ｄサンプルでＤＴが発生したとしても要素として１が格納されるようにする。例えば、ｐｉｌｅ＿ｃｎｔ＝１のとき第０〜第１５９サンプルでＤＴが発生し、ｐｉｌｅ＿ｃｎｔ＝２のとき第１６０〜第３１９サンプルでＤＴが発生したとき、ダブルトークの発生のフラグが下記のようにまとめられる。
【０１８２】
ＳＤＴ＝[ｓＤＴ[０]〜ｓＤＴ[３１９]・・・ｓＤＴ[ＬＥＮＧＴＨ−１]]
＝[１〜１・・・０]                            …（１８）
そして、更新停止指示部１６ｅは、一旦ＳＤＴの論理否定を行い１と０を反転させＮＯＴ＿ＳＤＴを作成する。
【０１８３】
ＮＯＴ＿ＳＤＴ＝[ｓＤＴ[０]〜ｓＤＴ[３１９]・・・ｓＤＴ[ＬＥＮＧＴＨ−１]]
＝[０〜０…１…１]                            …（１９）
Ｓ＿ＡＤＰ１６ｄは、式（２１）のようにして、係数ベクトルＷ（ｍ）をＷ（ｍ＋１）として更新する。ただし、サンプル順がＳＤＴ＝[ｓＤＴ[０]〜ｓＤＴ[３１９]・・・ｓＤＴ[ＬＥＮＧＴＨ−１]]で要素１とタイミングが合致するデータに関しては当該データサンプルは係数更新を実行しない。
【０１８４】
つまり、時間の先頭を揃えて、加算平均したデータベクトル中にダブルトークサンプルが混じって平均されたサンプルに関してはＡＤＦ＿Ｓ１７の係数更新に用いない。
【数８】
0005061976.tif 000011
【０１８５】
上記の例であれば、式（２０）は係数更新が実行されないか、若しくは更新値を計算しても係数に反映しない。
【数９】
0005061976.tif 000012
【０１８６】
更新した係数は、図１のＳＷ１に向かって出力される。ＳＷ１は、音声検出結果を受けて適応モード制御部１０からの出力に応じて既に端子がａに閉じられている状態である。Ｗ（ｍ）は式（２２）のようにＡＤＦ＿Ｎ６の係数Ｈ（ｍ）として上書きコピーされる。
【０１８７】
Ｈ（ｍ）＝Ｗ（ｍ）              …（２２）
そして、次に音声が検出され、ＡＤＦ＿Ｎ６が再び駆動され始めるときの係数の係数初期値として使われる。すなわち、エコーキャンセラ１００は、遠端からの受信入力信号ｘ（ｎ）があるときは、通常の適応フィルタＡＤＦ＿Ｎ６を駆動してエコーキャンラの収束を進めてエコーを減少させ、その際、同時に通常の適応フィルタを駆動中の受信中の入力を、一定サンプル数だけタイミングを揃えて穂損しておき、音声がないときでもエコーキャンセラの収束を進めるための準備をする。
【０１８８】
音声がないときには、上述したように予め蓄えた受信入力音声データとエコー信号を各々加算平均して入力とは別のエコーキャンセラ収束用データを作成して、見かけ上音声がない区間でも、ＡＤＦ＿Ｓ１７を用いてエコーキャンセラを収束進行させる。
【０１８９】
そして、蓄積中にダブルトークが検出されたサンプルはエコーキャンセラの係数更新から除外するようになっている。
【０１９０】
第１の実施形態のエコーキャンセラでは、受信入力音声ベクトルＸとエコー信号ベクトルＹを背景ノイズに応じて加算平均するので、話者が背景ノイズがない好ましい使用環境にあるときは、利用者である話者が特段意識して調整をしなくても送信、受信データの加算平均の回数を少なくし、もってデータ蓄積の時間を短くして収束までの時間を短くしてすばやくエコーのない通話を実現し、さらに、このとき加算平均演算が少なくなる分、無駄な計算処理を節約するので消費電力が小さくてすむ効率のよいエコーキャンセラを提供できる。
【０１９１】
以上のことから、第１の実施形態は、以下のような構成のエコーキャンセラといえる。
【０１９２】
第１の実施形態のエコーキャンセラは、拡声用音響エコーキャンセラにおいて、遠端からの受信入力で音声があるかどうかを判定する音声検出部８を設け、音声検出部８は、例えば音声検出の時にｖ＿ｆｌｇ＝１、検出しないときにｖ＿ｆｌｇ＝０を出力するようにし、保持レジスタ１４ｃと積和演算部１４ｂと適応フィルタ係数部１４ａと、通常適応フィルタ係数適応部１５を設けて、通常適応フィルタＡＤＦ＿Ｎ６を構成するようにし、また、送信側加算データ選択部１１ｓ、受信側加算データ選択部１１ｒ、送信側加算データ加工部１２ｓ、受信側加算データ加工部１２ｒ、送信側加算データ保存部１３ｓ、受信側加算データ保存部１３ｒを設け、加算器Ａｄｄ２を設け、無音区間で係数を収束進行する潜行型適応フィルタＡＤＦ＿Ｓ１７を構成するようにし、適応モード制御部１０と２つのスイッチＳＷ１及びＳＷ２を設け、適応モード制御部１０は、ｖ＿ｆｌｇ＝１のときは通常適応フィルタＡＤＦ＿Ｎ６を動作させるための信号steals_adapt_go＝０を出力し、ｖ＿ｆｌｇ＝０のときは無線区間用適応フィルタＡＤＦ＿Ｓ１７を動作させるための信号steals_adapt_go＝１を出力し、音声検出区間ｖ＿ｆｌｇ＝１では通常適応フィルタＡＤＦ＿Ｎ６が適応動作するようにした。
【０１９３】
さらに、タイミング制御部９とダブルトーク検出部（ＤＴＤ）１８と、背景ノイズ計算ウ１９、エコーレベル検出部１Ｂ、加算平均回数制御部１Ａを設け、音声検出部８の出力が、ｖ＿ｆｌｇ＝０からｖ＿ｆｌｇ＝１に変わった点を開始点として、予め定めた一定時間ＬＥＮＧＴＨだけ、音声検出部８の検出結果を無視してデータをサンプルし、サンプルしたデータを保持する信号ＫＥＥＰを、潜行型適応フィルタＡＤＦ＿Ｓ１７の受信側加算データ選択部１１ｒと送信側加算データ選択部１１ｓに出力するようにし、ＳＴＳ１８は無通話状態を検出して無通話状態検出信号ＩＤＬを背景ノイズ計算部１９に出力し、背景ノイズ計算部１９はこのとき近端の背景ノイズの平均値を計算するようにし、ＤＴＤ１９は、シングルトーク状態を検出してシングルトーク検出信号ＳＴをエコーレベル検出部１Ｂに出力し、エコーレベル検出部１Ｂはこのときエコーの平均レベルを計算するようにし、加算平均回数制御部１Ａは、エコーレベル検出部１Ｂの出力と、背景ノイズ計算部１９の出力から、エコー／背景ノイズであるＥ／Ｎを計算して予め定めた参照テーブルを用いてデータの加算平均回数を出力するようにし、潜行型適応フィルタＡＤＦ＿Ｓ１７に送信側加算データ選択部１１ｓを設け、受信側と同様に、エコーである送信側入力データに関しても音声検出部８の出力がｖ＿ｆｌｇ＝０から１に変わった点を開始点として、予め定めた一定時間ＬＥＮＧＴＨだけ、音声検出部８の検出結果を無視してデータをサンプルし、サンプルしたデータを保持する信号ＫＥＥＰをＡＤＦ＿Ｓ１７の送信側加算データ選択部１１ｓに出力するようにし、潜行型適応フィルタ部１７には加算データ加工部１２ｓを設け、予め定めた個数を最大本数とする入力ベクトルを、加算平均回数制御部１Ａの出力である加算回数で加算して、送信側、受信側で、それぞれの潜行型適応フィルタ入力信号ベクトルを作成し、受信側加算データ加工部１２ｒは、上記定めた本数の入力ベクトルの計算が終了したときに適応モード制御部１０に対して、適応フィルタ駆動準備ができたことを知らせるフラグsteals_apapt_go＝１を出力し、そうでないときにはsteals_apapt_go＝０を出力するようにし、潜行型適応フィルタ１７に、無音区間適応信号部ＳＴＥＡＬＳ＿ＡＤＦ１６を設けて、適応モード制御部１０は、受信側加算データ加工部１２ｒからsteals_adapt_go＝１を受け取り、かつ、音声検出部８からｖ＿ｆｌｇ＝０を入力されているときに、受信側加算データ保存部１３ｒの出力、すなわち受信入力音声の開始時点をそろえて同期加算平均処理した音声の加算平均データと、受信音声の検出タイミングに一致して同期加算されたエコー信号のデータである送信側加算データ保存部の出力を用いて、加算データ適応フィルタＳＴＥＡＬＳ＿ＡＤＦを駆動して、無音区間にもエコーキャンセラの適応フィルタを収束させるようにし、潜行型適応フィルタ１７に更新停止指示部１６ｅを設け、更新停止指示部１６ｅは、ＤＴＤ１８の出力がダブルトーク状態以外のときに蓄積されたデータサンプルのタイミングを示す信号ＮＯＴ＿ＳＤＴをＡＤＦ＿Ｓ適応フィルタ係数更新部１６ｄに出力して、ダブルトーク状態でサンプルされたデータが加算平均後のベクトルに混じりこんだときはベクトル中の当該サンプルでは係数の更新を停止するようにして潜行型適応フィルタの係数が優乱をうけることを防止するようにしその後の潜行型適応フィルタ１７のフィルタ係数を通常適応フィルタの係数にコピーするようにした。
【０１９４】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、従来係数更新が不可能であった無音区間を利用してエコーキャンセラのフィルタ係数を収束させることができるので、高速アルゴリズムを用いなくてもフィルタ係数をはやく収束させることができ、その結果エコーを早期に除去することができる。
【０１９５】
また、第１の実施形態によれば、エコーキャンセラの動作を安定させることができるので、演算処理量を増加させることなく、利用者が複雑な設定をしなくても、エコーが良く除去できる。その結果、例えば、安価で高機能な拡声電話機用のエコーキャンセラを提供できる。
【０１９６】
（Ｂ）第２の実施形態
次に、本発明のエコーキャンセラ、エコーキャンセル方法及びプログラムの第２の実施形態を図面を参照しながら説明する。
【０１９７】
（Ｂ−１）第２の実施形態の構成及び動作
図７は、第２の実施形態のエコーキャンセラ２００の内部構成を示す構成図である。
【０１９８】
第２の実施形態のエコーキャンセラ２００が、第１の実施形態のエコーキャンセラ１００と異なる点は、ＤＴＤ１８が通話状態判定部（ＤＴＤ＿ＡＣＯＭ）２０に変わったこと、加算回数制御部１Ａが加算回数制御部２２に変わったこと、新たに所望ＡＣＯＭ入力部２１を加えたことである。
【０１９９】
通話状態判定部（ＤＴＤ＿ＡＣＯＭ）２０が、第１の実施形態のＤＴＤ１８の動作と異なる点は、通話状態検出に加えて、エコー減衰量の計算を行う点である。
【０２００】
ＤＴＤ＿ＡＣＯＭ２０は、通話状態がＳＴのとき、すなわち、遠端話者の信号ｘ（ｎ）だけがあるとき、エコーキャンセラのエコーキャンセル後の信号ｅ（ｎ）と遠端からの受信信号ｘ（ｎ）の時間平均を計算し、状態ＳＴで式（２３）のようにエコー除去ＡＣＯＭ（ｎ）を計算し、加算回数制御部２２に出力する点が異なっているのである。
【０２０１】
ＡＣＯＭ（ｎ）＝δ・ＡＣＯＭ（ｎ−１）
＋（１．０−δ）・２０ｌｏｇ｜ｘ（ｎ）／ｒｅｓ（ｎ）｜  …（２３）
一方、所望ＡＣＯＭ入力部２１には設定者が予め適当な目標エコー減衰量値ＴＧＴ＿ＡＣＯＭを設定しておく。第２の実施形態では、ＴＧＴ＿ＡＣＯＭとして３０ｄＢを設定するものとするが、この値は特に限定されるものではない。
【０２０２】
加算回数制御部２２は、所望ＡＣＯＭ入力部２１からＴＧＴ＿ＡＣＯＭを受け取り、一方、ＤＴＤ＿ＡＣＯＭ２０からＡＣＯＭ（ｎ）を受け取り、ＴＧＴ＿ＡＣＯＭ≧ＡＣＯＭ（ｎ）のとき、下記のように加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを制御する。
【０２０３】
AVEL_PILE_CNT＝ｉｎｔ｛（TGT_ACOM−ACOM(ｎ)）／６      …（２４）
式（２４）において、ｉｎｔは値を整数化する関数である。
【０２０４】
式（２４）は、所望ＡＣＯＭである（ＴＧＴ＿ＡＣＯＭ−ＡＣＯＭ（ｎ））の差に６ｄＢの差がでるたびに、加算回数が１回増加するようになっていることを表している。例えば、所望ＡＣＯＭとＡＣＯＭ（ｎ）の差がなければ、加算平均は実行されないし、所望ＡＣＯＭとＡＣＯＭ（ｎ）の差が１２ｄＢならば、加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ＝２となる。ただし、加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴは、必ず上限ＦＵＬＬ＿ＰＩＬＥ以下である。
【０２０５】
まず、図７では、ＡＣＯＭ（ｎ）を用いて、加算平均回数を計算するようにしたので、背景ノイズの大きさは実際のところ通話状態判定部２０の送信側入力（Ａｄｄ１の出力）に反映されており、エコーの大きさは通話状態判定部２０の受信側入力、送信側入力の比であるＡＣＯＭに反映されているので、装置規模を小さくしたいときは、エコーレベル計算部１Ｂ、背景ノイズ計算部１９を省いても上記の実施例が可能である。
【０２０６】
以上のように、第２の実施形態のエコーキャンセラ２００は、第１の実施形態の場合、加算回数平均回数の設定は、加算回数エコー／ノイズの参照表を用いて行うが、参照表を用いる方法は、参照表に設定された加算回数と背景ノイズの関係が性能を左右するのであって、必ずしもエコーキャンセラが動作している環境が参照表の設定と適合するわけではない。そのうえ、参照表の設計及び設定値は経験的に定める必要があるため、熟練した設計者が利用者の使用環境を調べて参照表を設定しなければならない。
【０２０７】
そこで、第２の実施形態のエコーキャンエラ２００は、以下のような構成を備えるといえる。
【０２０８】
第２の実施形態は、第１の実施形態の構成に加え又は代え、所望ＡＣＯＭ入力部２１を備え、設計者がエコーの除去量を入力して、入力された目標エコー減衰量値ＴＧＴ＿ＡＣＯＭを加算回数制御部２２に出力するようにし、第１の実施形態のＤＴＤ１８をＤＴＤ＿ＡＣＯＭ２０に代え、加算回数制御部１Ａを加算回数制御部２２に代え、ＤＴＤ＿ＡＣＯＭ２０は、エコー除去量ＡＣＯＭの平均値ＡＣＯＭ（ｎ）を計算して加算回数制御部２２に出力するようにし、加算回数制御部２２はＤＴＤ＿ＡＣＯＭ２０から入力されたエコー減衰量の平均値ＡＣＯＭ（ｎ）と所望ＡＣＯＭ入力部２１からの目標エコー減衰量値ＴＧＴ＿ＡＣＯＭとから、加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを式（２４）に従って求めるものとする。
【０２０９】
（Ｂ−２）第２の実施形態の効果
以上のように、第２の実施形態によれば、第１の実施形態の効果に加えて、熟練した設計者による参照表を設定しなくても、利用者が簡単な設定でエコーキャンセラの背景ノイズ環境にあわせたエコー除去を実現することができる。 
（Ｃ）第３の実施形態
以下、本発明のエコーキャンセラ、エコーキャンセル方法及びプログラムの第３の実施形態を図面を参照しながら説明する。
【０２１０】
（Ｃ−１）第３の実施形態の構成及び動作
図８は、第３の実施形態のエコーキャンセラの内部構成を示す構成図である。
【０２１１】
第３の実施形態が、第２の実施形態と異なる点は、通話状態判定部（以後ＤＴＤ＿ＡＣＯＭ）２０が、通話状態判定部３０に変わったことであり、加算回数制御部２２が加算回数制御部３２になったことであり、所望ＡＣＯＭ入力部２１がなくなり、新たにエコー減衰量監視部３１が設けられたことである。そのほかの部分に関しては第２の実施形態と同じであるので省略する。
【０２１２】
通話状態判定部３０の動作が第２の実施形態の通話状態判定部２０と異なるのは、式（１７）で計算したＡＣＯＭ（ｎ）をエコー減衰量監視都３１に出力する点だけである。その他に関しては通話状態判定部２０と同じであるのでここで再び説明はしない。
【０２１３】
エコー減衰量監視部３１は、一定期間おきにＡＣＯＭ（ｎ）の変化を計算するものである。第３の実施形態では、ＡＣＯＭ（ｎ）をＬＥＮＧＴＨ個、すなわち、ＬＥＮＧＴＨサンプル期間分蓄積してその平均値ＡＶ＿ＡＣＯＭを計算し、そして、ＬＥＮＧＴＨサンプル前に保存しておいたＡＶ＿ＡＣＯＭ＿ＯＬＤとの差分ＤＩＦＦ＿ＡＣＯＭを計算して、加算平均回数制御部３２に出力する。
【０２１４】
すなわち、ＤＩＦＦ＿ＡＣＯＭ＞０（ｄＢ）であれば、前回の時点からエコー減衰量の増加があったことを示しており、前回加算平均回数制御部３２が算出した加算平均回数制御によって、エコー減衰量の増加に効果を奏したことがわかる。
【０２１５】
逆に、ＤＩＦＦ＿ＡＣＯＭ≦０（ＤＢ）であれば、エコー減衰量は変わらないか、若しくは小さくなってしまったのだから、前回加算平均回数制御部３２が算出した加算平均回数の制御では、エコー減衰量の増加に効果がなかったことになる。
【０２１６】
このように、ＤＩＦＦ＿ＡＣＯＭの正負は、加算平均回数制御部３２の加算回数制御の成功／不成功の影響を表すパラメータとなる。
【０２１７】
加算平均回数制御部３２では、初期状態では加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ＝１である。
【０２１８】
第３の実施形態では、加算平均回数制御部３２には、エコー減衰量監視部３１からの出力ＤＩＦＦ＿ＡＣＯＭが入力されており、前回すなわちＬＥＮＧＴＨサンプル単位前におこなった加算平均回数の変更によって、エコー除去量が増加したかどうかが入力されることになる。そして、加算平均回数制御部３２はエコー減衰量監視部３１からの出力ＤＩＦＦ＿ＡＣＯＭによって、表３の様に加算平均回数を毎週来（ＬＥＮＧＴＨおきに）変更する。
【表３】
0005061976.tif 000013
【０２１９】
ただし、動作初期状態では初期値ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ＝１である。エコーキヤンセラの性質から、加算平均処理なしで動作させても初期状態の時は、必ず収束していくので、初期状態から２回目にかけては必ずＤＩＦＦ＿ＡＣＯＭ＞０（ｄＢ）が成立し、このときには条件１が成立する。
【０２２０】
結果初期動作から１度目の判定では、必ずＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ＝２になる。それ以後は加算平均回数制御部３２は、表３に示す回数制御条件に従って、ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを増減させる。
【０２２１】
以後、加算平均回数制御部３２は、加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴの増加制御が効果を発揮する場合は、加算平均回数を上限であるＦＵＬＬ＿ＰＩＬＥまでは順次増加させ、加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴの増加効果がほとんど見られない場合はＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを維持し、加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴの増加がむしろ悪影響である場合はＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ減少させる。
【０２２２】
第３の実施形態では、δ２＝６ｄＢ、δ３＝６ｄＢとするが、もちろん適切に定めてよく、この値に限定しない。
【０２２３】
ここで、各々の条件が成立する代表的な条件例を挙げておくと、条件１は、第３の実施形態に鑑みる主たる改善目的である背景ノイズがエコー除去性能を妨げになっている場合であり、ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを増加させることで、エコー除去性能の効果を発揮することができる。
【０２２４】
条件２は、物理的なエコー経路の長さに対して、ハードウェア資源の制約などから適応フィルタの割り当てタップ数（図示しない係数メモリの数）が不足している場合によく発生する条件であり、加算平均回数の増減はほとんどエコー除去性能に効果がなく、根本的には適応フィルタへのハードウェアメモリ資源の割り当てなどの物理的資源増加で対応する必要があり、このときには必要以上の加算平均処理を行ったとしても無駄演算となる。
【０２２５】
条件３は、エコー経路が時間変動している場合によく発生し、この場合、加算平均の準備のためにデータを長時間蓄積することは逆に、それだけエコーキャンセラのエコー経路変動に対する追従が遅れることを意味しており、むしろデータの蓄積や加算平均処理をやめ、できるだけ時間的に直近のデータだけを重点的に利用するのが望ましいことを鑑みたものである。
【０２２６】
図８では、ＤＩＦＦ＿ＡＣＯＭを用いて加算平均回数を計算するようにしたので、実際には背景ノイズの大きさは通話状態判定部３０の送信側入力（Ａｄｄ１の出力）に反映されており、エコーの大きさは通話状態判定部３０の受信側入力、送信側入力（Ａｄｄ１の出力）の比であるＡＣＯＭに反映されているので、装置規模を小さくしたいときはエコーレベル計算部１Ｂ、背景ノイズ計算部１９を省いても支障なく実現することができる
第２の実施形態では、熟練設計者が利用者毎の使用環境に対応する参照表を設定しなくても、使用環境にいる利用者自身が簡単な設定をすることで、エコーキャンセラが背景ノイズ環境に適応した性能を発揮できるようにした。
【０２２７】
しかしながら、一般には利用者が通信に対する知識があり、大まかにでもエコーキャンセラの所望ＡＣＯＭ入力部２１に適当な目標エコー減衰量値ＡＴＧＴ＿ＡＣＯＭの代表値を入力できる場合は少ない。むしろ、実際の一般的な利用者は通信技術になじみのない場合のほうが多い。このようなとき、第２の実施形態において、製品出荷時にやみくもに大きな目標エコー減衰量値ＴＧＴ＿ＡＣＯＭを設定したとしても、性能が発揮されない場合があるのは上述したとおりである。
【０２２８】
しかも上述したように、加算平均の大きさは大きければそれだけデータ蓄積にかかる時間も長くなるので、エコーキヤンセラの収束速度の観点からは好ましくない場合がある。
【０２２９】
そこで、第３の実施形態のエコーキャンセラは、第２の実施形態の通話状態判定部２０の代わりに通話状態判定部３０を設け、加算平均回数制御部２２の代わりに加算平均加算平均回数制御部３２を設け、所望ＡＣＯＭ入力部２１をなくし、新たにエコー減衰量監視部３１を設けて通話状態判定部３０は、計算したＡＣＯＭ（ｎ）をエコー減衰量監視部３１に出力するようにし、エコー減衰量監視部３１は、ＡＣＯＭ（ｎ）を一定サンプル、すなわちＬＥＮＧＴＨ個蓄積して、その平均値ＡＶＥＬ＿ＡＣＯＭを計算し、ＬＥＮＧＴＨサンプル前に保存しておいたＡＶＥＬ＿ＡＣＯＭ＿ＯＬＤとの差分ＤＩＦＦ＿ＡＣＯＭを計算して加算平均回数制御部３２に出力するようにし、加算平均回数制御部３２は、エコー減衰量監視部３１の出力ＤＩＦＦ＿ＡＣＯＭに応じて、予め設定した加算平均回数変更閾値δ２、δ３を用いて、以下のようにする。
【０２３０】
δ２≦ＤＩＦＦ＿ＡＣＯＭのときに、加算平均回数ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを増加させる。
【０２３１】
−δ３＜ＤＩＦＦ＿ＡＣＯＭ＜δ２のときに、ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを維持する。
【０２３２】
ＤＩＦＦ＿ＡＣＯＭ≦−δ３のときに、ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴを１減少させる。
【０２３３】
そして、ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴは、１≦ＡＶＥＬ＿ＰＩＬＥ＿ＣＮＴ≦ＦＵＬＬ＿ＰＩＬＥ担うようにしたので、エコーキャンセラが動作を開始し、収束を開始するに従って、通話状態判定部３０が通話状態を判定しつつ、エコー減衰量監視部３１がエコーキャンセラのエコー除去量ＡＣＯＭの変化を計算して、加算平均回数制御部３２に対して加算平均回数の増減するためのパラメータを出力するようにする。
【０２３４】
（Ｃ−２）第３の実施形態の効果
以上のように、第３の実施形態によれば、第１及び第２の実施形態の効果に加えて、利用者が特段の知識、技術を有していなくても、エコーキャンセラが自動的に最も効果的な加算平均数に設定することができるので、効果的にエコーを除去することができる。
【０２３５】
（Ｄ）他の実施形態
上述した第１〜第３の実施形態で説明したエコーキャンセラはソフトウェア処理により実現されるものである。すなわち、ＣＰＵ、ＲＯＭ、ＲＡＭなどで構成されるハードウェアにおいて、ＣＰＵが、ＲＯＭに格納される処理プログラムを実行することにより、上述したエコーキャンセル処理が実現される。
【図面の簡単な説明】
【０２３６】
【図１】第１の実施形態のエコーキャンセラの内部構成を示す構成図である。
【図２】第１の実施形態の送信側及び受信側入力ベクトルの作成の様子を示す図である。
【図３】第１の実施形態の加算データ加工部の加算平均データの作成の様子を示す図である。
【図４】第１の実施形態の受信側入力ベクトルの加算平均ベクトルの作成の様子を示す図である。
【図５】第１の実施形態の受信側入力ベクトルの加算平均ベクトルの作成の様子を示す図である。
【図６】第１の実施形態の潜行型適応フィルタの内部構成示す構成図である。
【図７】第２の実施形態のエコーキャンセラの内部構成を示す構成図である。
【図８】第３の実施形態のエコーキャンセラの内部構成を示す構成図である。
【符号の説明】
【０２３７】
１００、２００、３００…エコーキャンセラ、６…通常適応フィルタ、８…音声検出部、９…タイミング制御部、１０…適応モード制御部、１１ｒ及び１１ｓ…加算データ選択部、１２ｒ及び１２ｓ…加算データ加工部、１３ｒ及び１３ｓ…加算データ保存部、１４ａ…適応フィルタ係数部、１４ｂ…積和演算部、１４ｃ…保持レジスタ、１５…通常＿ＡＤＰ、１６…ＳＴＥＡＬＳ＿ＡＤＦ、１７…潜行型適応フィルタ、１８…ＤＴＤ、１９…背景ノイズ計算部、１Ａ…加算回数制御部、１Ｂ…エコーレベル検出部、ＳＷ１、ＳＷ２、ＳＷ３、ＡＤＤ１、ＡＤＤ２、２０及び３０…ＤＴＤ＿ＡＣＯＭ、２１…所望ＡＣＯＭ入力部、２２及び３２…加算回数制御部、３１…ＡＣＯＭ監視部。
【図１】
0005061976.tif 000014
【図２】
0005061976.tif 000015
【図３】
0005061976.tif 000016
【図４】
0005061976.tif 000017
【図５】
0005061976.tif 000018
【図６】
0005061976.tif 000019
【図７】
0005061976.tif 000020
【図８】
0005061976.tif 000021