JP2006157498A - 音響エコーキャンセラとそれを用いたハンズフリー電話及び音響エコーキャンセル方法 - Google Patents
音響エコーキャンセラとそれを用いたハンズフリー電話及び音響エコーキャンセル方法 Download PDFInfo
- Publication number
- JP2006157498A JP2006157498A JP2004345382A JP2004345382A JP2006157498A JP 2006157498 A JP2006157498 A JP 2006157498A JP 2004345382 A JP2004345382 A JP 2004345382A JP 2004345382 A JP2004345382 A JP 2004345382A JP 2006157498 A JP2006157498 A JP 2006157498A
- Authority
- JP
- Japan
- Prior art keywords
- filter coefficient
- section
- filter
- magnitude
- acoustic echo
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】エコーキャンセラでフィルタ処理と係数更新に関し、フィルタ結果の誤差計算は全区間を用いて行っており、フィルタ係数の更新はスケジューリングで選ばれた区間で行っているため、誤差計算の区間と更新の区間が一致せず、適応動作が理論通りにならず適応の精度に限界があった。
【解決手段】残響時間検出回路10で検出した残響時間によりフィルタ処理区間を決定し、変動エコー検出回路12でフィルタ係数が時間的に変動する区間を検出し、フィルタ係数を更新する区間を決定し、フィルタ回路7で、フィルタ処理と誤差計算処理を独立して行うことにより、誤差計算の区間と更新の区間させ、かつ、フィルタ処理のみ長い区間で行うことで、適応の精度向上と長い残響時間への対応を実現した。
【選択図】図1
【解決手段】残響時間検出回路10で検出した残響時間によりフィルタ処理区間を決定し、変動エコー検出回路12でフィルタ係数が時間的に変動する区間を検出し、フィルタ係数を更新する区間を決定し、フィルタ回路7で、フィルタ処理と誤差計算処理を独立して行うことにより、誤差計算の区間と更新の区間させ、かつ、フィルタ処理のみ長い区間で行うことで、適応の精度向上と長い残響時間への対応を実現した。
【選択図】図1
Description
本発明は、長い残響時間の部屋で用いられる音響エコーキャンセラに関するものである。
長い残響時間の部屋で動作するFIRフィルタを用いた音響エコーキャンセラでは、エコー経路のインパルス応答を模擬できる長い残響時間に対応したタップ長が必要である。しかし、タップ長が長くなると適応動作のためのステップサイズパラメータを小さくしなければならず、収束速度が遅くなってしまうことは良く知られていることである。また、タップ長が長くなると誤調整度が増加するため、適応動作において雑音が増加してしまうことも知られている。
その結果、エコー経路が変化した時、音響エコーキャンセラの動作がエコー経路の変化に追従できない場合には、音響エコーキャンセラの動作が不安定になるという問題がある。また、収束時間を優先するために短いタップ長を用いた場合には、エコー経路のインパルス応答より短いタップ長であるため表現できなかった誤差により、音響エコーキャンセラの動作がやはり不安定になるという問題がある。そのため、長い残響時間の部屋で動作する音響エコーキャンセラでは、長いタップ長で、かつ収束時間の速い相反する条件を満たすことが必要である。
従来の長いタップ長で、かつ、収束時間の速い相反する条件を満たす音響エコーキャンセラについて、図を用いてその動作を説明する。
図10は従来の長いタップ長で、かつ、収束時間の速い相反する条件を満たす音響エコーキャンセラである。受話信号入力端子101から受話信号を入力し、受話信号出力端子102からスピーカを経由して、音響空間に信号が出力される。そして、送話信号入力端子103に接続されたマイクから、音響空間に出力され残響特性が加わった信号が入力される。その送話信号入力端子103からの信号を音響エコーキャンセル処理して送話出力信号端子104に出力するものである。
受話信号入力端子101からの信号は、サンプリング毎の遅延素子105を経て、トランスバーサル形式のフィルタの入力信号となる。また、経路スイッチ106を経て、係数発生回路107の係数と掛算器108で掛け算され、全ての積の和を加算器109で求めることでフィルタ演算が行われる。
小さい信号でフィルタ係数の更新や後で述べるタップ位置の更新を行うと不正確な動作になるために、入力信号の各遅延素子105のそれぞれの出力信号110に対し、入力信号評価回路111で各遅延素子毎の出力の自乗パワーなどの計算で大きさを評価する。
ここで、遅延素子105の出力が予め決められたしきい値より小さい部分と、スピーカからマイクまでの伝達時間相当の遅延による遅延素子105の出力が小さい部分を除くためにタップ制御回路112は、経路スイッチ106にどのタップを使用するかのタップ位置情報113を出力する。経路スイッチ106はその情報に従って、遅延素子105の出力と実際にフィルタ演算で使用するトランスバーサルフィルタの掛算器108を結合する。
また、入力信号評価回路111からの出力において、入力信号が予め決められた第一のしきい値より小さいときは、タップ制御回路112は、ステップサイズ信号114をゼロにすることにより、全てのフィルタ処理の係数をゼロにして、フィルタ係数の更新をしないようにする。
また、入力信号評価回路111からの出力において、各遅延素子105からの入力信号のうち、どれかが予め決められた第二のしきい値より小さいときは、タップ制御回路112は、各タップの係数発生回路107からの係数信号115から一番小さい係数を無効にして、該当タップの遅延素子105と掛算器108の結合を取りやめ、該当の係数発生回路107を係数クリア信号116でクリアする。
そして、タップ制御回路112に記憶している次の接続候補を選択して、タップ経路情報113で、次の候補を結合するように制御する。
以上のようにして各遅延素子105の出力とフィルタ係数である係数発生回路107の積の和を加算器109で求めてフィルタ処理の結果とする。フィルタ処理結果と送話信号入力端子103との誤差信号を減算器117で計算することにより誤差を求め、係数発生回路107において、新しいフィルタ係数を発生させることで、適応動作を行う。
以上のように動作することで、各タップのフィルタ係数の大きさを求めて、フィルタ係数の大きさがしきい値より小さいタップは積和演算から除くことにより、音響エコーキャンセラのタップ長を見かけ上短くし、適応動作を速くすることを実現していた(例えば特許文献1参照)。
また、図11は長いタップ長では演算量が不足するという問題点に対応するために、スピーカからマイクへの直接で変動しないエコー経路に対応するフィルタ係数の区間と人や周りのものからの音響パスが変動するエコー経路に対応するフィルタ係数の区間を分離し、変動しないエコー経路に対応するフィルタ係数の区間は1サンプル毎、人や周りのものからの音響パスが変動するエコー経路に対応するフィルタ係数の区間フィルタ係数の区間は複数サンプル毎の時間間隔で更新をするというスケジューリングをするものである。
受話信号入力端子121から受話信号を入力し、受話信号出力端子122からスピーカを経由して、音響空間に信号が出力される。そして、送話信号入力端子123に接続されたマイクから音響空間に出力され残響特性が加わった信号が入力される。その送話信号入力端子123からの信号を音響エコーキャンセル処理して送話出力信号端子124に出力するものである。
フィルタ処理は受話信号入力端子121からの入力を受信バッファ125に蓄積し、ブロック可変分割フィルタ係数126と畳み込み回路127で畳み込み演算することでフィルタ処理を行う。その畳み込み回路127の出力と、送話信号入力端子123経由でマイクから入力した信号との誤差信号を減算回路128で誤差を計算する。ブロック分割フィルタ係数補正回路129において誤差信号を参照し、ブロック分割可変フィルタ係数126の係数を補正することで、適応動作を行うものである。
本従来例では、ブロック可変フィルタ係数がN個のブロックに分割されており、それぞれのブロックの係数の累積加算の大きさの平均値が累積加算電力演算回路130で計算する。
係数補正量平均電力演算回路131では、各ブロックの適応動作の係数補正量の平均電力値を計算する。係数補正量比率算出回路132では、累積加算平均電力演算回路130の出力と係数補正量平均電力演算回路131とから、各ブロックの係数に対する補正量の比率を計算する。
係数変動量検出回路133では、その比率の時間的な変動量を計算する。その結果、ブロック化されたフィルタ係数のうち、どのブロックの係数の変動が大きいかがわかる。また、累積加算平均電力比較回路134では、係数の値そのものが大きいブロックを選択する。
累積加算平均電力比較回路134と係数変動量検出回路133からの信号によって、係数系列ブロック選択回路135では直接音の優性なブロックと、音響空間で人や物が移動しているために変化しているブロックを選択する。処理量を減らすことを目的としているが、そこで選択されたブロックのみを適応動作のフィルタ演算に使用することで、フィルタ処理するタップ長を選択的に短くし、適応動作を速くし、実際にフィルタ係数の更新演算するタップ長より長い残響時間に対応できるという効果があると考えられる(例えば特許文献2参照)。
特開平11−145878号公報
特開平7−321716号公報
しかしながら、図10や図11のような従来の構成では、音響エコーキャンセラを実装するDSP(Digital Signal Processor)の処理量を減少させるために、係数更新するタップとフィルタ処理するタップが異なっていた。エコー経路を模擬したインパルス応答のフィルタ係数を用いた誤差計算は全タップを用いて行っており、フィルタ係数の更新を常に行うフィルタ係数のブロックとスケジューリングで選ばれたフィルタ係数のブロックとで行っているため、誤差計算の区間と更新の区間が一致せず、適応動作が理論通りにならず適応の精度に限界があった。
LMS(Least means square)アルゴリズムやNLMS(Normalized LMS)アルゴリズムの基本構成では、エコーキャンセル処理の適応フィルタの結果と実際に模擬したい音響空間からの信号の誤差を求める際、実際のエコー経路の伝達特性は全部のタップ相当を全て含んだ伝達特性であるのに対し、従来の方法ではフィルタ処理は全フィルタ係数を対象とし、フィルタ係数の補正は限られた区間のフィルタ係数だけを対象としている。そのため、フィルタ係数の補正において、補正の対象となっていない区間による誤差を含んでいることにより、適応動作が理論通りにならず精度に限界があった。
本発明は、上記目的を達成するために、残響時間に対応する区間をフィルタ係数の形から簡易な方法で推定する。また、スピーカからマイク周辺の変化する伝達特性と、部屋の壁や天井などの変化しない残響特性を分離し、フィルタ係数が変化している区間を検出することによりフィルタ係数を更新する区間を設定する。このようにエコー経路の残響時間に対応するフィルタ処理および実際の音響空間からの信号からフィルタ処理した信号を減算する処理と、フィルタ係数が変化している区間に対するフィルタ係数の更新処理を別々に行う。
本発明は、変化しているフィルタ係数の区間に対するフィルタ係数更新処理により、フィルタ係数更新のためのフィルタ処理とフィルタ係数補正の区間が一致させることができるようになった。また、そこで求めた変化するフィルタ係数と予め求めておいた変化しないフィルタ係数を使用したフィルタ処理により、長い残響時間に対応できるようになった。そのため、収束が早く、かつ、精度の高い音響エコーキャンセラを提供できるという効果を奏する。
本発明の実施の形態においては、マイクを介して入力されたスピーカからの音声について、フィルタ係数を補正する補正値を演算し、この演算された補正値に基づいてフィルタ係数を補正し、この補正されたフィルタ係数に基づいて、音声からエコーをキャンセルする音響エコーキャンセラであって、
フィルタ係数及び補正値の少なくとも一方に基づいて、フィルタ係数の補正値の大きさを演算する変動エコー検出回路と、
変動エコー検出回路により演算されたフィルタ係数の補正値の大きさが所定値以上となる区間を検出するフィルタ係数補正区間制御回路と、
フィルタ係数補正区間制御回路により検出された区間についてフィルタ係数を補正するフィルタ係数補正回路と、
フィルタ係数補正回路により補正されたフィルタ係数に基づいて、フィルタ処理を実行して擬似エコーを演算し、マイクを介して入力された音声から演算された擬似エコーを減算する、擬似エコー生成減算回路とを備えたことを特徴とするように構成されたものである。
フィルタ係数及び補正値の少なくとも一方に基づいて、フィルタ係数の補正値の大きさを演算する変動エコー検出回路と、
変動エコー検出回路により演算されたフィルタ係数の補正値の大きさが所定値以上となる区間を検出するフィルタ係数補正区間制御回路と、
フィルタ係数補正区間制御回路により検出された区間についてフィルタ係数を補正するフィルタ係数補正回路と、
フィルタ係数補正回路により補正されたフィルタ係数に基づいて、フィルタ処理を実行して擬似エコーを演算し、マイクを介して入力された音声から演算された擬似エコーを減算する、擬似エコー生成減算回路とを備えたことを特徴とするように構成されたものである。
あるいは、マイクを介して入力されたスピーカからの音声について、フィルタ係数を補正する補正値を演算し、この演算された補正値に基づいてフィルタ係数を補正し、この補正されたフィルタ係数に基づいて、音声からエコーをキャンセルする音響エコーキャンセルする方法であって、
フィルタ係数及び補正値の少なくとも一方に基づいて、フィルタ係数の補正値の大きさを演算する変動エコー検出工程と、
変動エコー検出工程により演算されたフィルタ係数の補正値の大きさが所定値以上となる区間を検出するフィルタ係数補正区間制御工程と、
フィルタ係数補正区間制御工程により検出された区間についてフィルタ係数を補正するフィルタ係数補正工程と、
フィルタ係数補正工程により補正されたフィルタ係数に基づいて、フィルタ処理を実行して擬似エコーを演算し、マイクを介して入力された音声から演算された擬似エコーを減算する、擬似エコー生成減算工程とから構成された方法である。
フィルタ係数及び補正値の少なくとも一方に基づいて、フィルタ係数の補正値の大きさを演算する変動エコー検出工程と、
変動エコー検出工程により演算されたフィルタ係数の補正値の大きさが所定値以上となる区間を検出するフィルタ係数補正区間制御工程と、
フィルタ係数補正区間制御工程により検出された区間についてフィルタ係数を補正するフィルタ係数補正工程と、
フィルタ係数補正工程により補正されたフィルタ係数に基づいて、フィルタ処理を実行して擬似エコーを演算し、マイクを介して入力された音声から演算された擬似エコーを減算する、擬似エコー生成減算工程とから構成された方法である。
この構成により、変化しているフィルタ係数の区間に対するフィルタ係数更新処理により、フィルタ係数更新のためのフィルタ処理とフィルタ係数補正の区間を一致させることができるようになった。また、そこで求めた変化するフィルタ係数と予め求めておいた変化しないフィルタ係数を使用したフィルタ処理により、長い残響時間に対応できるようになった。そのため、収束が早く、かつ、精度の高い音響エコーキャンセラを提供できるという効果を奏する。
また、フィルタ係数に基づいて、マイクを介して入力された音声の残響時間を検出する残響時間検出回路と、
残響時間検出回路により検出された残響時間に基づいて、フィルタ処理を実行すべきフィルタ処理区間を設定するフィルタ処理区間制御回路とを備え、
擬似エコー生成減算回路は、フィルタ処理区間制御回路により設定されたフィルタ処理区間について、フィルタ処理を実行して擬似エコーを演算する構成にしても良い。
残響時間検出回路により検出された残響時間に基づいて、フィルタ処理を実行すべきフィルタ処理区間を設定するフィルタ処理区間制御回路とを備え、
擬似エコー生成減算回路は、フィルタ処理区間制御回路により設定されたフィルタ処理区間について、フィルタ処理を実行して擬似エコーを演算する構成にしても良い。
あるいは、フィルタ係数に基づいて、マイクを介して入力された音声の残響時間を検出する残響時間検出工程と、
残響時間検出工程により検出された残響時間に基づいて、フィルタ処理を実行すべきフィルタ処理区間を設定するフィルタ処理区間制御工程とを備え、
擬似エコー生成減算工程は、フィルタ処理区間制御工程により設定されたフィルタ処理区間について、フィルタ処理を実行して擬似エコーを演算する構成にしても良い。
残響時間検出工程により検出された残響時間に基づいて、フィルタ処理を実行すべきフィルタ処理区間を設定するフィルタ処理区間制御工程とを備え、
擬似エコー生成減算工程は、フィルタ処理区間制御工程により設定されたフィルタ処理区間について、フィルタ処理を実行して擬似エコーを演算する構成にしても良い。
この構成により、残響時間に対応するフィルタ長を設定できるようになり、処理量が少なく、収束が早く、かつ、精度の高い音響エコーキャンセラを提供できるという効果を奏する。
また、フィルタ係数補正区間制御回路は、当該音響エコーキャンセラが動作する音響空間に対して、スピーカと使用者とマイクの間の距離に基づいて、区間を検出する構成にしても良い。
あるいは、フィルタ係数補正区間制御工程は、当該音響エコーキャンセラが動作する音響空間に対して、スピーカと使用者とマイクの間の距離に基づいて、区間を検出する方法でも良い。
上記の構成において、エコーキャンセラが設置される状態を予め決めておくことにより、音響エコーキャンセラから出力される信号を再生するスピーカと使用者と音響空間からの音を収音するマイクの間の距離を決定することができる。この距離に基づいて予め一定値のフィルタ係数を補正する区間を定めておくことができる。この構成によりフィルタ係数を補正する区間の検出を簡略化した構成とすることができる。
残響時間検出回路は、
フィルタ係数の大きさが最大であるタップ位置を基準として決めた第2の始点と第2の終点とから構成される第2の区間と、フィルタ係数の大きさの最大であるタップ位置を基準として決めた、フィルタ係数が減衰する第3の始点と第3の終点とから構成される第3の区間とを求めるタップ始点終点演算回路と、
第2の区間のフィルタ係数の大きさと、第3の区間のフィルタ係数の大きさとを演算するフィルタ係数の大きさ演算回路とを有し、
フィルタ処理区間制御回路は、大きさ演算回路により演算された、第2の区間のフィルタ係数の大きさと前記第3の区間のフィルタ係数の大きさとに基づいて、フィルタ回路の第1の始点から第1の終点までをフィルタ処理区間として設定する構成にしてもよい。
フィルタ係数の大きさが最大であるタップ位置を基準として決めた第2の始点と第2の終点とから構成される第2の区間と、フィルタ係数の大きさの最大であるタップ位置を基準として決めた、フィルタ係数が減衰する第3の始点と第3の終点とから構成される第3の区間とを求めるタップ始点終点演算回路と、
第2の区間のフィルタ係数の大きさと、第3の区間のフィルタ係数の大きさとを演算するフィルタ係数の大きさ演算回路とを有し、
フィルタ処理区間制御回路は、大きさ演算回路により演算された、第2の区間のフィルタ係数の大きさと前記第3の区間のフィルタ係数の大きさとに基づいて、フィルタ回路の第1の始点から第1の終点までをフィルタ処理区間として設定する構成にしてもよい。
あるいは、残響時間検出工程は、
フィルタ係数の大きさが最大であるタップ位置を基準として決めた第2の始点と第2の終点とから構成される第2の区間と、フィルタ係数の大きさの最大であるタップ位置を基準として決めた、フィルタ係数が減衰する第3の始点と第3の終点とから構成される第3の区間とを求めるタップ始点終点演算工程と、
第2の区間のフィルタ係数の大きさと、第3の区間のフィルタ係数の大きさとを演算するフィルタ係数の大きさ演算工程とを有し、
フィルタ処理区間制御工程は、大きさ演算回路により演算された、第2の区間のフィルタ係数の大きさと第3の区間のフィルタ係数の大きさとに基づいて、フィルタ回路の第1の始点から第1の終点までをフィルタ処理区間として設定する方法にしてもよい。
フィルタ係数の大きさが最大であるタップ位置を基準として決めた第2の始点と第2の終点とから構成される第2の区間と、フィルタ係数の大きさの最大であるタップ位置を基準として決めた、フィルタ係数が減衰する第3の始点と第3の終点とから構成される第3の区間とを求めるタップ始点終点演算工程と、
第2の区間のフィルタ係数の大きさと、第3の区間のフィルタ係数の大きさとを演算するフィルタ係数の大きさ演算工程とを有し、
フィルタ処理区間制御工程は、大きさ演算回路により演算された、第2の区間のフィルタ係数の大きさと第3の区間のフィルタ係数の大きさとに基づいて、フィルタ回路の第1の始点から第1の終点までをフィルタ処理区間として設定する方法にしてもよい。
この構成により、フィルタ係数バッファから簡易な方法で、残響時間に対応するフィルタ長を設定できるという効果を奏する。
また、タップ始点終点演算回路は、区間の長さが同じになるように、第2の区間と第3の区間とを求めるようにしても良い。
あるいは、タップ始点終点演算工程は、区間の長さが同じになるように、第2の区間と前記第3の区間とを求めるようにしても良い。
この構成により、大きさの値をそれぞれの区間の長さで正規化の演算をすることなく大きさを算出することができる。
また、フィルタ係数バッファのフィルタ係数の大きさとして、区間のフィルタ係数の自乗パワーの平均値を用いることにより、デジタルシグナルプロセッサなどで実施した場合に、積和演算命令を利用し、処理数が少なく累積パワーを求めることができる。また、フィルタ係数バッファのフィルタ係数の大きさとして、区間のフィルタ係数の絶対値の平均値を用いることにより、積和演算命令を持たない汎用CPUでも処理することが可能である。また、フィルタ係数バッファのフィルタ係数の大きさとして、区間のフィルタ係数の絶対値の最大値を用いることにより、加算累積する必要がないため、比較演算のみで処理することが可能で処理量が少なくすることができる。
また、音響エコーキャンセル動作の際、定期的あるいは動作開始時に、フィルタ処理区間とフィルタ係数を補正する区間を長くするあるいは全区間とするように、フィルタ処理区間とフィルタ係数補正でフィルタ係数を補正する区間を制御するものである。この構成により、フィルタ係数を全体にわたって更新することができ、音響エコーキャンセラ動作開始時および動作環境の変化時に速く対応できるものである。
また、これらの音響エコーキャンセラをハンズフリー電話用いたことにより、
残響時間の長い部屋でも人の移動などによる部屋の環境の変化に追従する速度が速く安定した、かつ、エコー消去量が大きく会話のしやすいハンズフリー電話を提供することができる。
残響時間の長い部屋でも人の移動などによる部屋の環境の変化に追従する速度が速く安定した、かつ、エコー消去量が大きく会話のしやすいハンズフリー電話を提供することができる。
(実施例1)
以下、本発明の実施例1における音響エコーキャンセラについて図面を参照しながら説明する。
以下、本発明の実施例1における音響エコーキャンセラについて図面を参照しながら説明する。
図1において、受話信号入力端子1は、相手からの受話信号を入力する端子である。受話信号出力端子2は、この端子にスピーカを接続し、音響空間に受話信号を出力する端子である。送話信号入力端子3はエコーキャンセラの動作において模擬したい外部の音響空間の残響特性を経た信号を入力する端子である。送話信号出力端子4は、送話信号入力端子3からの信号に対し音響エコーキャンセラ処理された信号を相手に出力する信号端子である。リファレンス信号バッファ5は、受話信号入力端子1からの信号をフィルタ処理に必要な時間分だけ蓄積しておくバッファである。
フィルタ係数バッファ6は、模擬したい残響特性の伝達関数のフィルタ係数を蓄積しておくバッファである。フィルタ回路7は、フィルタ係数バッファ6とリファレンス信号バッファ5を用いてフィルタ処理し模擬した結果のデータを誤差計算回路8へ出力するフィルタ回路である。誤差計算回路8は、送話信号入力端子3へ入力されてくる信号とフィルタ回路8において音響空間の特性を模擬した信号との誤差信号を送話信号出力端子4とフィルタ係数補正回路9へ出力する回路である。フィルタ係数補正回路9は、受話信号入力端子1と誤差計算回路8との信号から、フィルタ回路7の信号が送話信号入力端子3の信号に近づくようにフィルタ係数バッファ6のフィルタ係数を補正する回路である。また、27は音響エコーキャンセラ全体を示すものである。
変動エコー検出回路12は、エコーキャンセル動作においてフィルタ係数が順次補正されている際に、フィルタ補正回路9が出力する補正値あるいはフィルタ係数バッファ6のフィルタ係数が補正前後の差に基づいて、補正値の大きさを計算する回路である。フィルタ係数変動区間検出回路13では、変動エコー検出回路12における補正値の大きさが、予め決められたしきい値より大きい第1の始点から第1の終点までの区間を検出する。
残響時間検出回路10は、フィルタ係数バッファ6のフィルタ係数から、フィルタ係数の残響時間を検出する。フィルタ処理区間制御回路11は、残響時間検出回路10から出力される残響時間に基づいて、フィルタ回路7でフィルタ処理する区間の始点から終点までの区間に対応した第4の始点と第4の終点を設定する。
音響エコーキャンセラの動作する環境には、スピーカとその周囲にいて相手からの受話信号を聞く人と、相手への音声を収音するマイクとスピーカやマイクを設置する机などとそれら全部が入っている部屋がある。音響エコーキャンセラを動作させた場合、スピーカから直接マイクにマイクに入ってくる経路と、スピーカから机を反射してマイクに入ってくる経路と、スピーカからスピーカの音声を聞いている、あるいはマイクに向かって話している人に反射してマイクに入ってくる経路と、スピーカから部屋の壁や天井や床に反射してマイクに入ってくる経路が重なって、残響特性となる。
しかし、このうち変化する経路は、スピーカやマイクに近い経路にある人や人が操作するような物の近くの経路だけである。そこで、音響エコーキャンセラの動作で検出したフィルタ係数バッファ6のフィルタ係数から変動エコー検出回路12で、音響エコーキャンセラの動作において更新されるフィルタ係数のタップ部分を検出することで実際に変動するものからの経路による補正区間長を設定できる。
上記の構成により、残響時間が長い部屋で音響エコーキャンセラを動作させた場合、たとえ長い残響時間を必要としたとしても、スピーカから直接マイクにマイクに入ってくる経路と、スピーカから机を反射してマイクに入ってくる経路と、スピーカからスピーカの音声を聞いている、あるいはマイクに向かって話している人に反射してマイクに入ってくる経路との変動する区間のみを対象にして係数補正ことができる。ここで、第4の終点が第1の終点より遅延の少ないタップ位置に設定してあることにより、音響エコーキャンセラにおいて、係数の補正と補正された係数でのフィルタ演算を、誤差の計算式
と、適応フィルタの補正式
として示す。ここで、ここでkは時刻を示す添え字、εkは時刻kにおける入力とフィルタ出力の誤差、Xkは時刻kにおけるリファレンス信号バッファの第1の始点から第1の終点までのデータからなるベクトル、Wkはフィルタ係数バッファの第1の始点から第1の終点までのフィルタ係数ベクトル、μは適応の速度を制御する定数、‖Xk‖2はリファレンス信号バッファの第1の始点から第1の終点までの入力信号ベクトルの自乗ノルムである。Tは転置行列を示す。誤差の計算式(数1)における
の演算区間に誤差の演算区間とフィルタ係数ベクトルWkの補正区間を一致して計算することができる。この適応動作において、XkおよびWkはタップの第1の始点から第1の終点までのベクトルである。
長い残響時間の部屋で、スピーカから部屋の壁や天井や床に反射してマイクに入ってくる経路の予め得ておいた第4の始点から第4の終点までの残響特性に対応するフィルタ係数を用いたフィルタ処理の計算式
を用いて残響成分を計算する。ここで、Ykはリファレンス信号バッファの第4の始点から第4の終点までのデータからなるベクトル、Vkはフィルタ係数バッファの第4の終点から第1の終点までのデータからなるベクトルである。
フィルタ処理における第4の始点から第4の終点までの区間のフィルタ係数のうち、フィルタ係数が補正された第1の始点から第1の終点までの区間のみを補正されたフィルタ係数を用いることで、残響時間の長い部屋で使用された音響エコーキャンセラにより、対応する残響時間は長く、かつ更新するフィルタ係数は短いので収束速度が速く、かつ、フィルタ処理と更新処理の区間が同じなのでフィルタ更新式に合致した精度の高い更新が実現できる。
その結果として、残響時間の長い部屋で使用された場合でも、安定したエコーキャンセラ動作と、大きなエコー消去量が得られるため、相手からの音声を大きく再生でき、相手への音声において再生した音が消える量が大きい、使いやすい音響エコーキャンセラを提供できる。
(実施例2)
以下、本発明の実施例2における音響エコーキャンセラについて図2を参照しながら説明する。
以下、本発明の実施例2における音響エコーキャンセラについて図2を参照しながら説明する。
なお、実施例1と同様の構成を有するものに付いては、同一符号を付しその説明を省略する。
図2において、実施例1と相違する点は、図1のフィルタ回路7と誤差計算回路8を合わせて擬似エコー生成減算回路14で構成した点と、残響時間検出回路10をタップ始点終点演算回路10aと大きさ演算回路10bとで構成した点である。
まず、相違した部分のみ相互のブロックの関係を示す。
実施例2では、フィルタ係数バッファ6のフィルタ係数の一番大きい区間のフィルタ係数の大きさと、一番フィルタ係数が大きいところから減衰した区間のフィルタ係数の大きさから、残響時間を推定する。タップ始点終点演算回路10aは、フィルタ係数の一番大きい区間と一番フィルタ係数が大きいところから減衰した区間を検出する。
大きさ演算回路10bは、フィルタ係数の一番大きい区間の大きさとフィルタ係数の減衰した区間の大きさからフィルタ処理区間を選択する回路である。例えば、8kHzサンプリングで信号処理を行う場合に、512タップ、1024タップ、2048タップ、4096タップの切替を行うとし、音響エコーキャンセラにおいて40dBの減衰量が得られるとすると、それぞれ約100ミリ秒、約200ミリ秒、約400ミリ秒、約800ミリ秒の残響時間に対応できるものとなる。
以上のような構成において、まず、タップ始点終点演算回路10aと大きさ演算回路10bとフィルタ処理区間制御回路11とから構成されるフィルタ処理区間設定方法について説明する。
タップ始点終点演算回路10aは、フィルタ係数バッファ6のフィルタ係数を参照して、一番大きなフィルタ係数のタップ位置付近の第2の始点から第2の終点のフィルタ係数の大きさと、時間軸でその後の第3の始点から第3の終点のフィルタ係数の大きさとを比較する第3の始点と第3の終点を計算する回路である。大きさ演算回路10bは、フィルタ係数バッファ6の第2の始点から第2の終点までのフィルタ係数の大きさと第3の始点から第3の終点までのフィルタ係数の大きさを算出する回路である。
大きさ演算回路10bは、第2の始点から第2の終点までのフィルタ係数の大きさと第3の始点から第3の終点までのフィルタ係数の大きさを比較することにより、フィルタ区間の始点と終点であるフィルタ区間の始点と第1の終点を擬似エコー生成減算回路14に出力して、フィルタ処理区間を変更する。
実際に適応フィルタが動作して収束した後のフィルタ係数を図3と図4に示す。横軸が8000Hzサンプリングに対応する時間、縦軸が符号付16ビットで表現したときの各タップのフィルタ係数を表している。以降、実際に適応フィルタを動作させたときのインパルス応答を表すフィルタ係数を示すので、インパルス応答を表す表現としてフィルタ係数を用いる。
図3は残響時間が100msの部屋のフィルタ係数、図4は残響時間が400msの部屋のフィルタ係数である。減衰時間だけではなく、最大のフィルタ係数のタップ位置も異なることがわかる。また、収束しても環境雑音の影響と誤調整度の影響で収束時にフィルタ係数が零になるわけではないこともわかる。
フィルタ係数がほぼ一定値になることを基準に、図3のグラフから最適なフィルタ処理区間は1000タップ程度、図4のグラフから最適なフィルタ処理区間は2500タップ程度と推定できる。
このようにいろいろなフィルタ係数の形に対応し、かつ最短のフィルタ処理区間としたいので、誤調整度が少なくなるように最短のフィルタ処理区間としてフィルタ区間の始点から第1の終点を設定し可変の処理区間とする。
図3と図4の例に限らずいろいろな伝達特性を考えると、フィルタ回路7でのフィルタ処理区間を大きくすれば、残響時間が長い部屋でのエコーキャンセラ動作が可能であるが、同時に適応動作の誤調整度が増加してしまうという問題点がある。そのために、最適なフィルタ処理区間長で動作させることが必要となる。
フィルタ処理区間を長くするかあるいは短くするかの判断をする方法として、図3のような減衰特性となっている残響特性を利用して、フィルタ係数が最大のタップ位置付近のフィルタ係数の大きさとそれより後ろのフィルタ係数の大きさを比較することにより、現在設定されているフィルタ処理区間長が適切かどうか判断する。
フィルタ処理区間の始点から第1の終点の中で、フィルタ係数バッファ6の一番大きな係数のタップ位置付近の第2の始点から第2の終点のフィルタ係数の大きさと、時間軸でその後の第3の始点から第3の終点のフィルタ係数の大きさとを比較することで、フィルタ処理区間を長くするか、あるいは短くするか判断する。
フィルタ係数バッファ6の第2の始点から第2の終点のフィルタ係数の大きさをA、第3の始点から第3の終点のフィルタ係数の大きさをBとすると次の式で、フィルタ処理区間を長くするか、あるいは短くするかの判断を行う。
判断条件は次の通りである。α>B/Aならば、この畳み込み演算区間で充分に収束しているのでフィルタ処理区間を縮める。α<B/A<βならば、ほぼ収束状態なのでこのフィルタ処理区間をそのまま使用する。B/A>βならば、まだ収束していないのでフィルタ処理区間を長くする。ここで、αとβは予め決定しておく判断のための係数である。
現在のフィルタ処理区間長が1024タップならば、フィルタ処理区間長を短くする際には512タップのフィルタ処理区間長に変更することになり、また、フィルタ処理区間長を長くする際には2048タップのフィルタ処理区間長に変更することになる。
音響エコーキャンセラを実際に動作させる信号は、理想的である周波数スペクトルが広がったホワイトノイズのような信号で動作するわけではない。実際には、例えば音声のような周波数スペクトルが偏った信号で第2の始点から第2の終点で決定される区間と、第3の始点から第3の終点で決定される区間を決定しなければならない。そのため、収束したフィルタ係数でも理想状態で学習した結果に比べて誤差が生じている。この誤差を取り除くために、ある程度の区間長を用いて誤差を少なくする必要である。
まず、タップ始点終点演算回路10aの動作を図5と図6を参考にして、第2の始点と第2の終点と第3の始点と第3の終点との決定方法を説明する。
まず第2の始点から第2の終点で決定される区間の設定方法を説明する。フィルタ係数の一番大きいタップを含む区間であることが必要であるため、第2の始点をフィルタ係数最大のタップ位置から畳み込み区間の30%前のタップ位置とする。また、第2の終点をフィルタ係数が一番大きいタップ位置から畳み込み区間の30%後ろのタップ位置とする。
まず、現在の畳み込み演算区間を512タップとする。図4において、フィルタ係数が一番大きいタップ位置は40タップの位置である。フィルタ係数の一番大きいタップ位置から、フィルタ処理区間512タップの30%の153タップ前のタップ位置を第2の始点とする。この場合先頭のタップより前になってしまうので先頭のタップ位置とする。また、フィルタ係数の一番大きいタップ位置から、フィルタ処理区間512タップの30%の153タップ後ろのタップ位置を第2の終点とする。
同様に図5において、フィルタ係数が一番大きいタップ位置は130タップの位置である。フィルタ係数の一番大きいタップ位置から、フィルタ処理区間512タップの30%の153タップ前のタップ位置を第2の始点とする。また、フィルタ係数の一番大きいタップ位置から、フィルタ処理区間512タップの30%の153タップ分後ろのタップ位置を第2の終点とする。
次に、第3の始点から第3の終点で決定される区間の設定方法は次のとおりとする。第2の終点の次のタップ位置を第3の始点としフィルタ処理区間の最後をタップ位置を第3の終点とする。
図4においては、第2の終点の次のタップ位置の194タップを第3の始点とし、畳み込み区間の最後のタップ位置である512タップを第3の終点とする。
図5においては、第2の終点の次のタップ位置の284タップを第3の始点とし、畳み込み区間の最後のタップ位置である512タップを第3の終点とする。
大きさ演算回路10bは、第2の始点から第2の終点と第3の始点から第3の終点のそれぞれの区間における大きさを演算する。第2の始点から第2の終点までのおおきさについては、第2の始点から第2の終点で決定される区間のフィルタ係数の累積自乗和を該当区間のタップ長で正規化する。同様に第3の始点から第3の終点で決定される区間のフィルタ係数の累積自乗和を該当区間のタップ長で正規化する。
フィルタ処理区間制御回路11では、このようにして求められた第2の始点から第2の終点で決定される区間正規化された累積自乗和と第3の始点から第3の終点で決定される区間正規化された累積自乗和を用いて、判断基準に基づいて畳み込み演算区間を長く、あるいはそのまま、あるいは短く変更する。その結果を第4の始点と第4の終点とし、議事エコー生成減算回路14に出力する。
上記の構成において、短い畳み込み区間を含めて、どんな畳み込み区間長においてもその区間で適応フィルタが充分に機能しているかどうかが判断できることとなり、収束したフィルタ係数で伝達特性を実現できる畳み込み区間を設定できる。
この実施例で、第2の始点と第2の終点と第3の始点から第3の終点を決定するにあたって、フィルタ処理区間長の30%の区間長を設定しているが、使用される環境での伝達関数の特性に合わせた値を設定することで、最適な効果を得ることができる。
次に、変動エコー検出回路12とフィルタ係数補正区間制御回路13とから構成されるフィルタ係数補正区間設定方法について説明する。
フィルタ係数変動区間検出回路は17は、フィルタ係数バッファ6のフィルタ係数に基づいてフィルタ更新区間を決定する。フィルタ係数バッファ6の各タップでのフィルタ係数のサンプリング毎の変化分の自乗
をタップ番号i毎に計算する。ここで現時刻をk、1サンプリング前の時刻をk−1と表記している。
全タップについて、フィルタ係数のサンプリング毎の変化分の自乗を計算して、最大値となるタップ番号と、それより遅延の大きいタップ番号に向かってフィルタ係数のサンプリング毎の変化分の自乗が、最大値の定数倍より小さくなるタップ番号を探す。ここで、定数として1より小さい値を予め決めておく。このタップ番号の位置をフィルタ係数変動区間を示す第1の終点とする。第1の始点は、フィルタ係数バッファの遅延の一番少ないタップとすることができる。あるいは、フィルタ係数の遅延の少ない部分において、理論的にフィルタ係数が変わることが有り得なければ、そのタップを第1の始点としても良い。音響エコーキャンセラにおいては、スピーカからマイクへの空気中での音波の伝播時間分の遅延をこの第1の始点に対応させることができる。
フィルタ係数補正区間制御回路13は第1の始点と第1の終点をフィルタ係数補正回路9に出力し、フィルタ係数補正の範囲を決定する。また、同様に第1の始点と第1の終点をフィルタ誤差計算回路14に出力する。
エコーキャンセル動作用のフィルタ処理と誤差計算処理方法を図7を用いて詳細に説明する。図7は、リファレンス信号バッファ5とフィルタ係数バッファ6とフィルタ誤差計算回路14とその周辺のブロックとの入出力を記載したものである。
リファレンス信号バッファ5が、リファレンス信号前半バッファ5aとリファレンスバッファ5bで構成される。フィルタ係数バッファ6がフィルタ係数前半バッファ6aとフィルタ係数後半バッファ6bで構成される。フィルタ誤差計算回路14がフィルタ前半回路14aとフィルタ後半回路14bと誤差計算回路14cと加算回路14dと引き算回路14eから構成される。
フィルタ前半回路14aの処理範囲はフィルタ係数補正区間制御回路13から出力される第1の始点から第1の終点までの区間である。また、フィルタ後半回路14bの処理範囲はフィルタ係数補正区間制御回路13から出力される第1の終点からフィルタ処理区間制御回路11から出力される第4の終点までの区間である。
フィルタ前半回路14aはリファレンス信号前半バッファ5aとフィルタ前半バッファ6aを用いてフィルタ処理し、誤差計算回路14cと加算回路14dに出力する。誤差計算回路14cは送話信号入力端子3を経由して入力される音響空間からの信号とフィルタ前半回路14aの出力の誤差を計算し、誤差をフィルタ係数補正回路9に出力する。以上のようにすることで、フィルタ係数の最初から第4の終点までのフィルタ係数の変動の大きい部分のみのフィルタ係数が更新される。
フィルタ後半回路14bはリファレンス信号後半バッファ5bと変動ていない音響空間での残響特性を持つフィルタ後半バッファ6bを用いてフィルタ処理を行う。
変動している音響空間に対するエコーキャンセラ処理を行った区間分の出力であるフィルタ前半回路14aの出力と、変動していない音響空間でのフィルタ処理を行った区間分の出力であるフィルタ後半回路14bの出力を、加算回路14dで加算して全タップ長のフィルタ計算結果とし、引き算回路14eで音響空間からの信号を入力したマイクからの信号を送話入力端子3からの信号から差し引き、音響エコーキャンセル結果とし、送話出力端子4から出力する。
このフィルタ演算を、2つの区間別々に実施し、後で加算することで音響空間からの特性を模擬したものすることで、フィルタ処理に重複がなく計算量の削減が実現でき、安価な音響エコーキャンセラを提供できる。
(実施例3)
実施例2のエコーキャンセル動作用のフィルタ処理と誤差計算処理方法の別の実施例をを図8を用いて詳細に説明する。図8はリファレンス信号バッファ5とフィルタ係数バッファ6とフィルタ誤差計算回路14とその周辺のブロックとの入出力を記載したものである。
実施例2のエコーキャンセル動作用のフィルタ処理と誤差計算処理方法の別の実施例をを図8を用いて詳細に説明する。図8はリファレンス信号バッファ5とフィルタ係数バッファ6とフィルタ誤差計算回路14とその周辺のブロックとの入出力を記載したものである。
リファレンス信号バッファ5が、リファレンス信号前半バッファ5aとリファレンスバッファ5bで構成される。フィルタ係数バッファ6がフィルタ係数前半バッファ6aとフィルタ係数後半バッファ6bで構成される。フィルタ誤差計算回路14がフィルタ前半回路14aとフィルタ後半回路14bと誤差計算回路14cと引き算回路14eから構成される。
フィルタ前半回路14aの処理範囲はフィルタ係数補正区間制御回路13から出力される第1の始点から第1の終点までの区間である。
フィルタ処理区間制御回路11とフィルタ係数補正区間制御回路13からの制御信号でリファレンス信号バッファ5とフィルタ係数バッファ6には、フィルタ前半バッファ6aに対し始点からフィルタ係数補正区間制御回路13から出力される第4の終点までの区間のフィルタ係数と、リファレンス信号前半バッファ5aに対し始点からフィルタ係数補正区間制御回路13から出力される第4の終点までの区間のリファレンス信号が出力されるようにする。
フィルタ前半回路14aはリファレンス信号前半バッファ5aとフィルタ前半バッファ6aを用いてフィルタ処理し、誤差計算回路14cと加算回路14dに出力する。誤差計算回路14cは送話信号入力端子3を経由して入力される音響空間からの信号とフィルタ前半回路14aの出力の誤差を計算し、誤差をフィルタ係数補正回路9に出力する。以上のようにすることで、フィルタ係数の第1の始点から第1の終点までのフィルタ係数の変動の大きい部分のみのフィルタ係数が更新される。
フィルタ回路14fは、リファレンス信号前半バッファ5aとリファレンス信号後半バッファ5bと変動しない音響空間での残響特性を持つフィルタ前半バッファ6aとフィルタ後半バッファ6bを用いてフィルタ処理のみを行う。
フィルタ回路14fは、変動している音響空間に対する残響特性としてリファレンス信号前半バッファ5aとフィルタ前半バッファ6aと、変動していない音響空間に対する残響特性としてリファレンス信号バッファ5bとフィルタ後半バッファ6bとを用いて、フィルタの第4の始点から第4の終点までの変動する区間と変動しない区間をあわせたフィルタ処理の出力を行う。引き算回路14eで、送話入力端子3から入力した音響空間からの信号から、変動する音響空間と変動しない音響空間との残響特性を合わせた伝達特性を模擬した結果を差し引き、音響エコーキャンセル出力とし、送話出力端子4から出力する。
このように、フィルタ係数が変動する区間での音響エコーキャンセル処理のフィルタ演算及び係数更新処理と、残響時間に対応するフィルタ演算処理を別々に行うことにより、デジタルシグナルプロセッサ(DSP)などで本発明を実現した場合にプログラムの自由度が増し、プログラム容量の減少や、早期のプログラム開発が実現できる。とくに、フィルタ処理と係数更新の部分は速い処理速度が必要なため、DSPを用いたアセンブラ言語で書かれることが多く、フィルタ処理と係数更新処理のプログラムが簡潔に作成できる。
その結果として、処理量の少ないDSPや汎用プロセッサを用いることができ、安価な音響エコーキャンセラを提供できる。
なお、実施例2において、フィルタ係数の大きさを算出するために、フィルタ係数バッファの第2の始点から第2の終点までの区間長と第3の始点から第3の終点までの区間長をを同じ長さにすることにより、それぞれを区間長で正規化の演算をすることなく大きさを比較することができる。正規化の除算が不要になり処理量の削減が可能である。
また、実施例2において、フィルタ係数の大きさを算出する方法として、フィルタ係数の区間正規化された累積自乗和を求めていたが、フィルタ係数の大きさとして区間で平均されたフィルタ係数の絶対値を用いても、同様の効果が得られる。絶対値を用いた場合、上記の構成において、積和演算命令を持たない汎用CPUでも処理することが可能である。
また、実施例2において、フィルタ係数の大きさを算出する方法として、フィルタ係数の累積自乗和を求めていたが、フィルタ係数の大きさとして始点から終点までの区間のフィルタ係数の最大値を用いても、同様の効果が得られる。最大値を用いた場合、上記の構成において、積和演算命令を持たない汎用CPUでも処理することが可能であり、累積計算をする必要がないため、累積による演算の桁あふれをなくすことが可能である。
また、実施例2において、フィルタ係数の大きさを算出する方法として、フィルタ係数の絶対値を求めていたが、フィルタ係数を自乗したものをフィルタ係数の大きさとして用いても、同様の効果が得られる。上記の構成において、積和演算命令を持つDSPではプロセッサの持つ機能を活用し精度の高い処理をすることが可能である。
なお、変動エコー検出回路とフィルタ係数補正回路の動作において、エコーキャンセラが設置される状態を予め決めておくことにより、音響エコーキャンセラから出力される信号を再生するスピーカと使用者と音響空間からの音を収音するマイクの間の距離を決定することにより、その距離とサンプリング周波数から変動する区間を予め決定しておくことができる。
例えば、スピーカから出力された音波が使用者に反射してマイクに入力する距離として往復3.4mとすると音速が約340mであることから、スピーカから出力されマイクに入ってくるまでの時間は約10msとなる。サンプリング周波数を8000Hzとすると10msに対応するフィルタ係数補正の区間長は80タップとなる。実環境では使用者から直接反射してくるだけではなく、複数の使用者を経由した反射した、あるいは机や机の上に置いてあるものを経由した反射をマイクで入力することになり、フィルタ係数が変動する区間として数倍のタップ長を固定値として予め決めておくことができる。
この場合、DSPで実現した場合、プログラムを簡単にするために256タップや512タップなど2のべき乗のタップ数を設定しても良い。
なお、フィルタ係数を補正する区間およびフィルタ係数の補正に関連するフィルタ処理をする区間を定期的に長くする制御をすることも可能である。これにより、使用者が増加する、あるいは、使用している部屋においてある物が増えるなどの音響空間の変化に対応できるようになる。
また、フィルタ係数を補正する区間およびフィルタ係数の補正に関連するフィルタ処理をする区間を音響エコーキャンセラ初期動作時に全区間とする制御をすることも可能である。これにより、最初に全区間のフィルタ係数を準備しておくことで、フィルタ係数を補正する区間およびフィルタ係数の補正に関連するフィルタ処理をする区間が長くなった際に、予め準備しておいたフィルタ係数からフィルタ係数の補正を行うことにより収束時間の短縮化をはかることができる。
(実施例4)
以下、本発明の実施例4におけるハンズフリー電話について図面を参照しながら説明する。
以下、本発明の実施例4におけるハンズフリー電話について図面を参照しながら説明する。
図9において、回線入力端子29が筐体28の内部にある実施例2の音響エコーキャンセラ27の受信信号入力端子1に電気的に接続されている。また、同様に音響エコーキャンセラ27の送信信号出力端子4が回線信号出力端子30に電気的に接続されている。
筐体28の内部にスピーカ25とマイク26が固定され、音響エコーキャンセラ27の受話信号出力端子2にスピーカ25が電気的に接続されている。また、音響エコーキャンセラ27の送話信号入力端子3にマイク26が電気的に接続されている。
この実施例では、回線入力端子29からの音声が再生できるよう筐体27の上面に向けてスピーカ25が設置されている。また、筐体28の周囲全体の話者の音声を収音するために4個のマイク26を水平方向の指向性となるように設置している。
また、回線信号入力端子29からの信号は、音響エコーキャンセラ27の受信信号端子21に接続され、スピーカ25から音声が出力されることで、ハンズフリー電話周辺にいる人に回線からの音声を聞かせることができる。
筐体28内のスピーカ25から出力された音声の音波は、設置してある部屋の残響が付加された音波となって、筐体28周辺から発生する音波を合わせてマイク25から収音され、音響エコーキャンセラ27の送話信号入力端子3に入力される。
音響エコーキャンセラ27は、スピーカ25から出力され、部屋の残響が付加された成分をマイク26で収音した信号から除去する。そのため、筐体28周辺から発生する音波のみを音響エコーキャンセラ27の送信信号出力端子2に接続された回線信号出力端子30へ出力する。これにより、筐体28周辺の人の音声のみを回線信号出力端子30へ出力することができ、ハンズフリー電話が実現できる。
この実施例4の音響エコーキャンセラを用いた構成により、残響時間の長い部屋でも人の移動などによる部屋の環境の変化に追従する速度が速く安定した、かつ、エコー消去量が大きく会話のしやすいハンズフリー電話電話を提供することができる。
本発明は、伝達関数の長さをインパルス応答の形から簡易な方法で推定することと、インパルス応答の変化からエコーキャンセラを動作させる区間を設定することにより、長い残響時間に対応でき、収束が早く、かつ、フィルタ処理と係数補正の区間が一致する適応フィルタ理論に合致した、精度の高いエコーキャンセラとハンズフリー電話を提供できるという効果を奏する。
1 受話信号入力端子
2 受話信号出力端子
3 送話信号入力端子
4 送話信号出力端子
5 リファレンス信号バッファ
6 フィルタ係数バッファ
7 フィルタ回路
8 誤差計算回路
9 フィルタ係数補正回路
10 残響時間検出回路
10a タップ始点終点演算回路
10b 大きさ演算回路
11 フィルタ処理区間制御回路
12 変動エコー検出回路
13 フィルタ係数補正区間制御回路
14 擬似エコー生成減算回路
25 スピーカ
26 マイク
27 音響エコーキャンセラ
28 筐体
29 回線信号入力端子
30 回線信号出力端子
2 受話信号出力端子
3 送話信号入力端子
4 送話信号出力端子
5 リファレンス信号バッファ
6 フィルタ係数バッファ
7 フィルタ回路
8 誤差計算回路
9 フィルタ係数補正回路
10 残響時間検出回路
10a タップ始点終点演算回路
10b 大きさ演算回路
11 フィルタ処理区間制御回路
12 変動エコー検出回路
13 フィルタ係数補正区間制御回路
14 擬似エコー生成減算回路
25 スピーカ
26 マイク
27 音響エコーキャンセラ
28 筐体
29 回線信号入力端子
30 回線信号出力端子
Claims (21)
- マイクを介して入力されたスピーカからの音声について、フィルタ係数を補正する補正値を演算し、この演算された補正値に基づいて前記フィルタ係数を補正し、この補正されたフィルタ係数に基づいて、前記音声からエコーをキャンセルする音響エコーキャンセラであって、
前記フィルタ係数及び前記補正値の少なくとも一方に基づいて、前記フィルタ係数の補正値の大きさを演算する変動エコー検出回路と、
前記変動エコー検出回路により演算されたフィルタ係数の補正値の大きさが所定値以上となる区間を検出するフィルタ係数補正区間制御回路と、
前記フィルタ係数補正区間制御回路により検出された区間について前記フィルタ係数を補正するフィルタ係数補正回路と、
前記フィルタ係数補正回路により補正されたフィルタ係数に基づいて、フィルタ処理を実行して前記擬似エコーを演算し、前記マイクを介して入力された音声から前記演算された擬似エコーを減算する、擬似エコー生成減算回路とを備えた、
ことを特徴とする音響エコーキャンセラ。 - 前記フィルタ係数に基づいて、前記マイクを介して入力された音声の残響時間を検出する残響時間検出回路と、
前記残響時間検出回路により検出された残響時間に基づいて、前記フィルタ処理を実行すべきフィルタ処理区間を設定するフィルタ処理区間制御回路とを備え、
前記擬似エコー生成減算回路は、前記フィルタ処理区間制御回路により設定されたフィルタ処理区間について、前記フィルタ処理を実行して前記擬似エコーを演算する、
ことを特徴とする請求項1記載の音響エコーキャンセラ。 - 前記フィルタ係数補正区間制御回路は、当該音響エコーキャンセラが動作する音響空間に対して、前記スピーカと使用者と前記マイクの間の距離に基づいて、区間を検出する、
ことを特徴とする請求項1または2記載の音響エコーキャンセラ。 - 前記残響時間検出回路は、
前記フィルタ係数の大きさが最大であるタップ位置を基準として決めた第2の始点と第2の終点とから構成される第2の区間と、前記フィルタ係数の大きさの最大であるタップ位置を基準として決めた、前記フィルタ係数が減衰する第3の始点と第3の終点とから構成される第3の区間とを求めるタップ始点終点演算回路と、
前記第2の区間のフィルタ係数の大きさと、前記第3の区間のフィルタ係数の大きさとを演算するフィルタ係数の大きさ演算回路とを有し、
前記フィルタ処理区間制御回路は、前記大きさ演算回路により演算された、前記第2の区間のフィルタ係数の大きさと前記第3の区間のフィルタ係数の大きさとに基づいて、前記フィルタ回路の第1の始点から第1の終点までをフィルタ処理区間として設定する、
ことを特徴とする請求項2記載の音響エコーキャンセラ。 - 前記タップ始点終点演算回路は、区間の長さが同じになるように、前記第2の区間と前記第3の区間とを求める、
ことを特徴とする請求項4記載の音響エコーキャンセラ。 - 前記大きさ演算回路は、区間のフィルタ係数の自乗パワーの平均値を用いて、前記フィルタ係数の大きさを演算する、
ことを特徴とする請求項4または5記載の音響エコーキャンセラ。 - 前記大きさ演算回路は、区間のフィルタ係数の絶対値の平均値を用いて、前記フィルタ係数の大きさを演算する、
ことを特徴とする請求項項4または5記載の音響エコーキャンセラ。 - 前記大きさ演算回路は、区間のフィルタ係数の絶対値の最大値を用いて、前記フィルタ係数の大きさを演算する、
ことを特徴とする請求項項4または5記載の音響エコーキャンセラ。 - 音響エコーキャンセル動作時に定期的に、フィルタ処理区間とフィルタ係数を補正する区間を長くするように動作する、
ことを特徴とする請求項項1から8いずれか1項に記載の音響エコーキャンセラ。 - 音響エコーキャンセル動作開始時に、フィルタ処理区間とフィルタ係数を補正する区間をフィルタ係数の全区間とし、全フィルタ係数を初期値から更新した後、フィルタ処理区間とフィルタ係数を補正する区間を制御する、
ことを特徴とする請求項項1から8いずれか1項に記載の音響エコーキャンセラ。 - 請求項1から10いずれか1項に記載の音響エコーキャンセラを用いた、
ことを特徴とするハンズフリー電話。 - マイクを介して入力されたスピーカからの音声について、フィルタ係数を補正する補正値を演算し、この演算された補正値に基づいて前記フィルタ係数を補正し、この補正されたフィルタ係数に基づいて、前記音声からエコーをキャンセルする音響エコーキャンセルする方法であって、
前記フィルタ係数及び前記補正値の少なくとも一方に基づいて、前記フィルタ係数の補正値の大きさを演算する変動エコー検出工程と、
前記変動エコー検出工程により演算されたフィルタ係数の補正値の大きさが所定値以上となる区間を検出するフィルタ係数補正区間制御工程と、
前記フィルタ係数補正区間制御工程により検出された区間について前記フィルタ係数を補正するフィルタ係数補正工程と、
前記フィルタ係数補正工程により補正されたフィルタ係数に基づいて、フィルタ処理を実行して前記擬似エコーを演算し、前記マイクを介して入力された音声から前記演算された擬似エコーを減算する、擬似エコー生成減算工程とを備えた、
ことを特徴とする音響エコーキャンセル方法。 - 前記フィルタ係数に基づいて、前記マイクを介して入力された音声の残響時間を検出する残響時間検出工程と、
前記残響時間検出工程により検出された残響時間に基づいて、前記フィルタ処理を実行すべきフィルタ処理区間を設定するフィルタ処理区間制御工程とを備え、
前記擬似エコー生成減算工程は、前記フィルタ処理区間制御工程により設定されたフィルタ処理区間について、前記フィルタ処理を実行して前記擬似エコーを演算する、
ことを特徴とする請求項12記載の音響エコーキャンセル方法。 - 前記フィルタ係数補正区間制御工程は、当該音響エコーキャンセラが動作する音響空間に対して、前記スピーカと使用者と前記マイクの間の距離に基づいて、区間を検出する、
ことを特徴とする請求項12または13記載の音響エコーキャンセル方法。 - 前記残響時間検出工程は、
前記フィルタ係数の大きさが最大であるタップ位置を基準として決めた第2の始点と第2の終点とから構成される第2の区間と、前記フィルタ係数の大きさの最大であるタップ位置を基準として決めた、前記フィルタ係数が減衰する第3の始点と第3の終点とから構成される第3の区間とを求めるタップ始点終点演算工程と、
前記第2の区間のフィルタ係数の大きさと、前記第3の区間のフィルタ係数の大きさとを演算するフィルタ係数の大きさ演算工程とを有し、
前記フィルタ処理区間制御工程は、前記大きさ演算回路により演算された、前記第2の区間のフィルタ係数の大きさと前記第3の区間のフィルタ係数の大きさとに基づいて、前記フィルタ回路の第1の始点から第1の終点までをフィルタ処理区間として設定する、
ことを特徴とする請求項13記載の音響エコーキャンセル方法。 - 前記タップ始点終点演算工程は、区間の長さが同じになるように、前記第2の区間と前記第3の区間とを求める、
ことを特徴とする請求項15記載の音響エコーキャンセル方法。 - 前記大きさ演算工程は、区間のフィルタ係数の自乗パワーの平均値を用いて、前記フィルタ係数の大きさを演算する、
ことを特徴とする請求項15または16記載の音響エコーキャンセル方法。 - 前記大きさ演算工程は、区間のフィルタ係数の絶対値の平均値を用いて、前記フィルタ係数の大きさを演算する、
ことを特徴とする請求項15または16記載の音響エコーキャンセル方法。 - 前記大きさ演算工程は、区間のフィルタ係数の絶対値の最大値を用いて、前記フィルタ係数の大きさを演算する、
ことを特徴とする請求項15または16記載の音響エコーキャンセル方法。 - 音響エコーキャンセル動作時に定期的に、フィルタ処理区間とフィルタ係数を補正する区間を長くするように動作する、
ことを特徴とする請求項12から19いずれか1項に記載の音響エコーキャンセル方法。 - 音響エコーキャンセル動作開始時に、フィルタ処理区間とフィルタ係数を補正する区間をフィルタ係数の全区間とし、全フィルタ係数を初期値から更新した後、フィルタ処理区間とフィルタ係数を補正する区間を制御する、
ことを特徴とする請求項12から19いずれか1項に記載の音響エコーキャンセル方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004345382A JP2006157498A (ja) | 2004-11-30 | 2004-11-30 | 音響エコーキャンセラとそれを用いたハンズフリー電話及び音響エコーキャンセル方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004345382A JP2006157498A (ja) | 2004-11-30 | 2004-11-30 | 音響エコーキャンセラとそれを用いたハンズフリー電話及び音響エコーキャンセル方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006157498A true JP2006157498A (ja) | 2006-06-15 |
Family
ID=36635235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004345382A Pending JP2006157498A (ja) | 2004-11-30 | 2004-11-30 | 音響エコーキャンセラとそれを用いたハンズフリー電話及び音響エコーキャンセル方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006157498A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009194672A (ja) * | 2008-02-15 | 2009-08-27 | Yamaha Corp | 放収音装置 |
US8280037B2 (en) | 2009-09-09 | 2012-10-02 | Oki Electric Industry Co., Ltd. | Echo canceller having its effective filter taps adaptively controlled with echo cancellation amount monitored |
WO2013122183A1 (ja) * | 2012-02-17 | 2013-08-22 | 株式会社日立製作所 | 残響除去パラメータ推定装置及び方法、残響・エコー除去パラメータ推定装置、残響除去装置、残響・エコー除去装置、並びに、残響除去装置オンライン会議システム |
CN110808025A (zh) * | 2019-11-11 | 2020-02-18 | 重庆中易智芯科技有限责任公司 | 基于fpga的主动噪声控制系统模块化设计方法 |
CN111445916A (zh) * | 2020-03-10 | 2020-07-24 | 浙江大华技术股份有限公司 | 一种会议系统中音频去混响方法、装置及存储介质 |
WO2020195041A1 (ja) * | 2019-03-25 | 2020-10-01 | カシオ計算機株式会社 | フィルタ効果付与装置、電子楽器及び電子楽器の制御方法 |
-
2004
- 2004-11-30 JP JP2004345382A patent/JP2006157498A/ja active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009194672A (ja) * | 2008-02-15 | 2009-08-27 | Yamaha Corp | 放収音装置 |
US8280037B2 (en) | 2009-09-09 | 2012-10-02 | Oki Electric Industry Co., Ltd. | Echo canceller having its effective filter taps adaptively controlled with echo cancellation amount monitored |
WO2013122183A1 (ja) * | 2012-02-17 | 2013-08-22 | 株式会社日立製作所 | 残響除去パラメータ推定装置及び方法、残響・エコー除去パラメータ推定装置、残響除去装置、残響・エコー除去装置、並びに、残響除去装置オンライン会議システム |
JP2013171076A (ja) * | 2012-02-17 | 2013-09-02 | Hitachi Ltd | 残響除去パラメータ推定装置及び方法、残響・エコー除去パラメータ推定装置、残響除去装置、残響・エコー除去装置、並びに、残響除去装置オンライン会議システム |
CN104115223A (zh) * | 2012-02-17 | 2014-10-22 | 株式会社日立制作所 | 混响去除参数估计装置以及方法、混响/回波去除参数估计装置、混响去除装置、混响/回波去除装置、以及混响去除装置在线会议系统 |
US9288576B2 (en) | 2012-02-17 | 2016-03-15 | Hitachi, Ltd. | Dereverberation parameter estimation device and method, dereverberation/echo-cancellation parameter estimation device, dereverberation device, dereverberation/echo-cancellation device, and dereverberation device online conferencing system |
JP2020160101A (ja) * | 2019-03-25 | 2020-10-01 | カシオ計算機株式会社 | 音響効果付与装置及び電子楽器 |
WO2020195041A1 (ja) * | 2019-03-25 | 2020-10-01 | カシオ計算機株式会社 | フィルタ効果付与装置、電子楽器及び電子楽器の制御方法 |
CN113678194A (zh) * | 2019-03-25 | 2021-11-19 | 卡西欧计算机株式会社 | 滤波器效果赋予装置、电子乐器以及电子乐器的控制方法 |
JP7375317B2 (ja) | 2019-03-25 | 2023-11-08 | カシオ計算機株式会社 | フィルタ効果付与装置、電子楽器及び電子楽器の制御方法 |
CN110808025A (zh) * | 2019-11-11 | 2020-02-18 | 重庆中易智芯科技有限责任公司 | 基于fpga的主动噪声控制系统模块化设计方法 |
CN110808025B (zh) * | 2019-11-11 | 2023-12-08 | 重庆中易智芯科技有限责任公司 | 基于fpga的主动噪声控制系统模块化设计方法 |
CN111445916A (zh) * | 2020-03-10 | 2020-07-24 | 浙江大华技术股份有限公司 | 一种会议系统中音频去混响方法、装置及存储介质 |
CN111445916B (zh) * | 2020-03-10 | 2022-10-28 | 浙江大华技术股份有限公司 | 一种会议系统中音频去混响方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4654777B2 (ja) | 音響エコーキャンセル装置 | |
US8243941B2 (en) | Active noise reduction system and active noise reduction method | |
JP4082649B2 (ja) | 複数のセンサで信号のレベル及び遅延を測定する方法及び装置 | |
JP5284475B2 (ja) | 前白色化を伴うlmsアルゴリズムによって適応させられる適応フィルタの更新済みフィルタ係数を決定する方法 | |
JP5061853B2 (ja) | エコーキャンセラ及びエコーキャンセルプログラム | |
JPWO2005024787A1 (ja) | 信号処理方法および装置 | |
US20080260172A1 (en) | Echo Canceller and Speech Processing Apparatus | |
JP5205935B2 (ja) | 雑音消去装置、雑音消去方法および雑音消去プログラム | |
JP4591685B2 (ja) | ダブルトーク状態判定方法、エコーキャンセル方法、ダブルトーク状態判定装置、エコーキャンセル装置およびプログラム | |
JP3787088B2 (ja) | 音響エコー消去方法、装置及び音響エコー消去プログラム | |
JP2006157498A (ja) | 音響エコーキャンセラとそれを用いたハンズフリー電話及び音響エコーキャンセル方法 | |
JPH07264102A (ja) | ステレオエコーキャンセラ | |
CN110731088B (zh) | 信号处理装置、远程会议装置以及信号处理方法 | |
JP5057109B2 (ja) | エコーキャンセラ装置 | |
JP4396449B2 (ja) | 残響除去方法及びその装置 | |
JP2009021859A (ja) | 通話状態判定装置および該通話状態判定装置を備えたエコーキャンセラ | |
US20100002866A1 (en) | Voice communication apparatus | |
US8363821B2 (en) | Apparatus and method for canceling echo | |
JP2006157499A (ja) | 音響エコーキャンセラとそれを用いたハンズフリー電話及び音響エコーキャンセル方法 | |
JP2010156742A (ja) | 信号処理装置および方法 | |
JP4239993B2 (ja) | ハウリングキャンセラ | |
JP2019036917A (ja) | パラメータ制御装置、方法及びプログラム | |
JP2006128758A (ja) | 適応フィルタおよびそれを用いた音響エコーキャンセラ装置並びにハンズフリー電話、および適応フィルタ方法およびそれを用いた音響エコーキャンセラ方法 | |
JP4591102B2 (ja) | エコーキャンセラおよびそれを用いたハンズフリー電話とエコーキャンセル方法 | |
JP2006173871A (ja) | 音響エコーキャンセラとそれを用いたハンズフリー電話及び音響エコーキャンセル方法 |