(57)【要約】【課題】精度よく音響エコーを抑制することが可能なエコーキャンセル装置、方法を提供する。【解決手段】フィルタ部は、第１音声信号に所定のタップ係数を畳み込み、第３音声信号を作成する。減算部は、第２音声信号から、第３音声信号を差し引き、第４音声信号を作成する。推定部は、第１音声信号の音量が所定の閾値未満であるか否かを判定し、判定が真の場合に、第２音声信号の音量を第１の値とする。修正部は、第１の値に基づいて、タップ係数の修正に用いられるステップサイズを決定する決定部と、決定されたステップサイズを用いて、タップ係数を修正する。【選択図】図１
2011217179.tif 000002
【特許請求の範囲】
【請求項１】
第１音声信号に所定のタップ係数を畳み込み、第３音声信号を作成するフィルタ部と、
第２音声信号から、前記第３音声信号を差し引き、第４音声信号を作成する減算部と、
前記第１音声信号の音量が所定の閾値未満であるか否かを判定し、判定が真の場合に、前記第２音声信号の音量を第１の値とする推定部と、
前記第１の値に基づいて、前記タップ係数の修正に用いられるステップサイズを決定する決定部と、
決定された前記ステップサイズを用いて、前記タップ係数を修正する修正部と
を備えることを特徴とするエコーキャンセル装置。
【請求項２】
前記推定部は、
前記判定が偽となった時点で、前記第１の値を決定部に供給し、
前記第１の値は、該時点の前記第２音声信号の音量であり、
前記決定部は、
前記第１の値が大きいほど、前記ステップサイズを小さくする
ことを特徴とする、請求項１記載のエコーキャンセル装置。
【請求項３】
トークスイッチを備えた音声対話装置に用いられるエコーキャンセル装置であって、
前記音声対話装置側から入力された第１音声信号に所定のタップ係数を畳み込み、第３音声信号を作成するフィルタ部と、
話者側から入力された第２音声信号から、前記第３音声信号を差し引き、第４音声信号を作成する減算部と、
前記トークスイッチがオン状態となったときから、最初に前記第１音声信号の音量が所定の閾値以上となったときの前記第２音声信号の音量を第１の値とする推定部と、
前記第１の値に基づいて、前記タップ係数に用いられるステップサイズを決定する決定部と、
決定された前記ステップサイズを用いて、前記タップ係数を修正する修正部と
を備えることを特徴とするエコーキャンセル装置。
【請求項４】
前記決定部は、
前記第１の値が大きいほど、前記ステップサイズを小さくする
ことを特徴とする、請求項３記載のエコーキャンセル装置。
【請求項５】
第１音声信号に所定のタップ係数を畳み込み、第３音声信号を作成し、
第２音声信号から、前記第３音声信号を差し引き、第４音声信号を作成し、
前記第１音声信号の音量が所定の閾値未満であるか否かを判定し、判定が真の場合に、前記第２音声信号の音量を第１の値とし、
前記第１の値に基づいて、前記タップ係数の修正に用いられるステップサイズを決定し、
決定された前記ステップサイズを用いて、前記タップ係数を修正する
ことを特徴とするエコーキャンセル方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エコーキャンセル装置、方法に関する。
【背景技術】
【０００２】
自端末側のスピーカから出力された相手端末側の音声が、自端末側のマイクに回り込んで受音され、再び相手端末側に送信されることにより起こる「音響エコー」を抑制するエコーキャンセル装置がある。
【０００３】
このようなエコーキャンセル装置は、タップ数Ｎの適応フィルタを用いて、相手端末側の音声の音声信号ｘ（ｔ）（第１音声信号）から擬似的な音響エコーであるエコーレプリカ信号ｙ（ｔ）を作る。
【０００４】
自端末側のマイクに入力される音声の音声信号ｍ（ｔ）（第２音声信号）と、エコーレプリカ信号ｙ（ｔ）（第３音声信号）とから、式１、式２により誤差信号ｅ（ｔ）（第４音声信号）を作る。誤差信号ｅ（ｔ）が、相手端末側で出力される。
【数１】
2011217179.tif 000003
【０００５】
式２は、いわゆる畳み込み演算である。ｗ（ｋ，ｔ）は、適応フィルタの時刻ｔにおけるｋ番目のタップ係数である。ｘ（ｔ−ｋ）は、時刻（ｔ−ｋ）の第１音声信号である。
【０００６】
Ｗ（ｔ）は、式３で表わされるタップ係数の列ベクトルである。Ｘ（ｔ）は、式４で表わされる参照信号の列ベクトルである。
【数２】
2011217179.tif 000004
【０００７】
エコーキャンセル装置は、適用アルゴリズム（例えば、式５で表わされるＬＭＳアルゴリズム）を用いて、タップ係数ｗ（ｋ，ｔ）をリアルタイムに更新して修正する。
【数３】
2011217179.tif 000005
【０００８】
式５中のμは、適応フィルタのタップ係数の修正の度合いを決定するパラメータであり、ステップサイズと呼ばれる。
【０００９】
ステップサイズμが大きいと、第２音声信号ｍ（ｔ）が第１音声信号ｘ（ｔ）の音響エコー成分のみの場合に、タップ係数ｗ（ｔ）を早く収束させることができ、音響エコーを早く抑制できる。
【００１０】
しかし、第２音声信号ｍ（ｔ）に第１音声信号ｘ（ｔ）の音響エコー以外の成分が含まれている場合、タップ係数ｗ（ｔ）を早く収束させられず、音響エコーをうまく抑制できないことがある。
【００１１】
そこで、例えば、特許文献１記載のエコーキャンセル装置は、第２音声信号ｍ（ｔ）の音量が大きいほど、第２音声信号ｍ（ｔ）に第１音声信号ｘ（ｔ）の音響エコー以外の成分が多く含まれていると仮定して、ステップサイズμの値を小さくする。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特許第３８７７２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述したエコーキャンセル装置では、音響エコー自体の音量が大きくなっても、ステップサイズμは小さくなり、精度よく音響エコーを抑制することが困難である。
【００１４】
本発明は、精度よく音響エコーを抑制することが可能なエコーキャンセル装置、方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明の一側面に係るエコーキャンセル装置は、第１音声信号に所定のタップ係数を畳み込み、第３音声信号を作成するフィルタ部と、第２音声信号から、前記第３音声信号を差し引き、第４音声信号を作成する減算部と、前記第１音声信号の音量が所定の閾値未満であるか否かを判定し、判定が真の場合に、前記第２音声信号の音量を第１の値とする推定部と、前記第１の値に基づいて、前記タップ係数の修正に用いられるステップサイズを決定する決定部と、決定された前記ステップサイズを用いて、前記タップ係数を修正する修正部とを備えることを特徴とする。
【００１６】
また、本発明の他の一側面に係るエコーキャンセル方法は、第１音声信号に所定のタップ係数を畳み込み、第３音声信号を作成し、第２音声信号から、前記第３音声信号を差し引き、第４音声信号を作成し、前記第１音声信号の音量が所定の閾値未満であるか否かを判定し、判定が真の場合に、前記第２音声信号の音量を第１の値とし、前記第１の値に基づいて、前記タップ係数の修正に用いられるステップサイズを決定し、決定された前記ステップサイズを用いて、前記タップ係数を修正することを特徴とする。
【発明の効果】
【００１７】
本発明により、精度よく音響エコーを抑制することができる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施の形態に係るエコーキャンセル装置１を表すブロック図。
【図２】エコーキャンセル装置１のフローチャート。
【図３】第１の実施の形態における、非エコーレベルｂとステップサイズμの関係図。
【図４】第１の実施の形態のハードウエア構成例を表すブロック図。
【図５】第２の実施の形態に係るエコーキャンセル装置２を表すブロック図。
【発明を実施するための形態】
【００１９】
（第１の実施の形態）
図１は、第１の実施の形態に係るエコーキャンセル装置１を表すブロック図である。エコーキャンセル装置１は、例えば電話等の、音声通話を目的とした通信機器に用いられ得る。
【００２０】
例えば、スピーカ２１と、マイク２２とが近い配置にあるシステムの場合には、スピーカ２１の音響エコーがマイク２２で受音されてしまうことがある。このように回り込んだ音響エコーを抑制するために、本実施の形態は好適である。
【００２１】
エコーキャンセル装置１には、スピーカ２１と、マイク２２とが接続される。エコーキャンセル装置１には、第１音声信号ｘ（ｔ）が伝送路Ａを介して入力される。例えば、第１音声信号ｘ（ｔ）は、通話相手（不図示）の音声であり、通話相手側のマイク９２から伝送路Ａを介して入力される。スピーカ２１は、第１音声信号ｘ（ｔ）を音声として出力する。
【００２２】
また、マイク２２は、受音した音声を第２音声信号ｍ（ｔ）としてエコーキャンセル装置１に入力する。第２音声信号ｍ（ｔ）には、話者（不図示）が話した音声（目的音声）や背景雑音、及び第１音声信号ｘ（ｔ）の音響エコーが含まれる場合がある。エコーキャンセル装置１は、第２音声信号ｍ（ｔ）から音響エコーを抑制した誤差信号ｅ（ｔ）を、伝送路Ｂを介して出力する。例えばエコーキャンセル装置１は、誤差信号ｅ（ｔ）を、伝送路Ｂを介して、通話相手側のスピーカ９１に出力する。
【００２３】
エコーキャンセル装置１は、第２音声信号ｍ（ｔ）に音響エコーが含まれないと判定したときの、第２音声信号ｍ（ｔ）に基づいてステップサイズμを制御するものである。
【００２４】
エコーキャンセル装置１は、入力された第１音声信号ｘ（ｔ）の音量を計測する。該音量が所定閾値未満のときに、第２音声信号ｍ（ｔ）の音量の大きさに基づいて、ステップサイズμを制御する。ステップサイズμが制御されたエコーレプリカ信号ｙ（ｔ）を作る。音声信号ｍ（ｔ）とエコーレプリカ信号ｙ（ｔ）とから、式１により誤差信号ｅ（ｔ）を作る。誤差信号ｅ（ｔ）を出力する。
【００２５】
エコーキャンセル装置１は、推定部１１と、決定部１２と、修正部１３と、フィルタ部１４と、減算部１５とを備える。
【００２６】
第１音声信号ｘ（ｔ）は、スピーカ２１と、推定部１１と、修正部１３と、フィルタ部１４とに供給される。第２音声信号ｍ（ｔ）は、推定部１１と、減算部１５に供給される。
【００２７】
フィルタ部１４は、第１音声信号ｘ（ｔ）にタップ係数ｗ（ｋ，ｔ）を畳み込み（式２により）、エコーレプリカ信号ｙ（ｔ）を作る。
【００２８】
減算部１５は、第２音声信号ｍ（ｔ）とエコーレプリカ信号ｙ（ｔ）とから、式１により、誤差信号ｅ（ｔ）を作る。
【００２９】
推定部１１は、第１音声信号ｘ（ｔ）の音量Ｐｘ（ｔ）が所定閾値未満であるかを判定する。判定が真の場合、推定部１１は、そのときの第２音声信号ｍ（ｔ）の音量Ｐｍ（ｔ）を非エコーレベルｂとして、非エコーレベルｂを決定部１２に供給する。
【００３０】
決定部１２は、非エコーレベルｂに基づいて、ステップサイズμを決定する。
【００３１】
修正部１３は、フィルタ部１４が次の時刻のエコーレプリカ信号ｙ（ｔ＋１）を作る際に用いるタップ係数ｗ（ｋ，ｔ＋１）を、決定されたステップサイズμを用いて修正する。
【００３２】
修正部１３とフィルタ部１４とで、タップ数Ｎの適応フィルタを構成することができる。
【００３３】
推定部１１と、決定部１２と、修正部１３と、フィルタ部１４と、減算部１５は、中央演算処理装置（ＣＰＵ）、及びＣＰＵが用いるメモリにより実現されて良い。
【００３４】
なお、本実施の形態における時刻ｔは、サンプリング間隔とサンプリング数の積で表わされる。すなわち、時刻ｔは、これまでに入力された信号のサンプリング数と同値であり、サンプリング間隔とサンプリング数の積で表わされる離散的な時刻を表すタイムインデックスである。
【００３５】
推定部１１は、第１音声信号ｘ（ｔ）の音量Ｐｘ（ｔ）及び第２音声信号ｍ（ｔ）の音量Ｐｍ（ｔ）を式６又は式７により算出する。
【数４】
2011217179.tif 000006
【数５】
2011217179.tif 000007
【００３６】
αは、０＜α＜１を満たす係数である。例えば、αは０．９５である。ｘ（０）は、第１音声信号ｘ（ｔ）の初期値である。ｍ（０）は、第２音声信号ｍ（ｔ）の初期値である。
【００３７】
図２は、エコーキャンセル装置１の処理を表すフローチャートである。エコーキャンセル装置１の動作が開始されると、フィルタ部１４は、タップ係数ｗ（ｋ，ｔ）及びステップサイズμを所定の値に初期化する（Ｓ２０１）。例えば、フィルタ部１４は、タップ係数ｗ（ｋ，０）を０に初期化する。ステップサイズをμｍａｘに初期化する。
【００３８】
フィルタ部１４は、記憶部（不図示）を備え、該記憶部にタップ係数ｗ（ｋ，ｔ）を記憶させておいてもよい。
【００３９】
第１音声信号ｘ（ｔ）が、伝送路Ａから入力されると、スピーカ２１は、第１音声信号ｘ（ｔ）を出力する。他方で、マイク２２からは第２音声信号ｍ（ｔ）が、推定部１１と、減算部１５に供給される（Ｓ２０２）。
【００４０】
推定部１１は、第１音声信号ｘ（ｔ）の音量Ｐｘ（ｔ）が所定閾値Ｔｈ未満のときの第２音声信号ｍ（ｔ）の音量Ｐｍを新たな非エコーレベルｂとする（Ｓ２０３）。Ｐｘが所定閾値Ｔｈ以上のときは、この非エコーレベルｂを変更しない。詳細は後述する。
【００４１】
決定部１２は、非エコーレベルｂに応じて、ステップサイズμを決定する（Ｓ２０４）。決定したステップサイズμを修正部１３に供給する。
【００４２】
フィルタ部１４は、第１音声信号ｘ（ｔ）から、式２により、エコーレプリカ信号ｙ（ｔ）を作る（Ｓ２０５）。フィルタ部１４は、エコーレプリカ信号ｙ（ｔ）を減算部１５に供給する。
【００４３】
減算部１５は、第２音声信号ｍ（ｔ）とエコーレプリカ信号ｙ（ｔ）を用いて、式１により誤差信号ｅ（ｔ）を作る（Ｓ２０６）。減算部１５は、誤差信号ｅ（ｔ）を修正部１３に供給する。また、減算部１５は、誤差信号ｅ（ｔ）を伝送路Ｂに出力する。
【００４４】
修正部１３は、フィルタ部１４が次の時刻のエコーレプリカ信号ｙ（ｔ＋１）を作る際に用いるタップ係数ｗ（ｋ，ｔ＋１）を、決定されたステップサイズμを用いて修正する（Ｓ２０７）。すなわち、修正部１３は、現時刻のタップ係数ｗ（ｋ，ｔ）と、決定されたステップサイズμと、誤差信号ｅ（ｔ）と、第１音声信号ｘ（ｔ）とに基づき、フィルタ部１４が用いる、時刻（ｔ＋１）のタップ係数ｗ（ｋ，ｔ＋１）を式５により計算し、修正する。
【００４５】
ステップＳ２０３について詳細に説明する。
【００４６】
推定部１１は、式６又は式７により、第１音声信号ｘ（ｔ）の音量Ｐｘ（ｔ）を計算する（Ｓ２０３Ａ）。推定部１１は、Ｐｘ（ｔ）がＴｈ以上からＴｈ未満に変化したか否かを判定する（Ｓ２０３Ｂ）。すなわち、推定部１１は、Ｐｘ（ｔ−１）＞＝Ｔｈ、かつ、Ｐｘ（ｔ）＜Ｔｈであるときに、Ｐｘ（ｔ）がＴｈ以上からＴｈ未満に変化したと判定する。
【００４７】
ステップＳ２０３Ｂにおける判定がＹＥＳの場合、推定部１１は、式６又は式７により、第２の音声信号ｍ（ｔ）の音量Ｐｍ（ｔ）を更新するバックグラウンド処理を開始する（Ｓ２０３Ｃ）。そして、ステップＳ２０５に遷移する。
【００４８】
ステップＳ２０３Ｂにおける判定がＮＯの場合、推定部１１は、Ｐｘ（ｔ）がＴｈ未満からＴｈ以上に変化したか否かを判定する（Ｓ２０３Ｄ）。すなわち、推定部１１は、Ｐｘ（ｔ−１）＜Ｔｈ、かつ、Ｐｘ（ｔ）＞＝Ｔｈであるときに、Ｐｘ（ｔ）がＴｈ未満からＴｈ以上に変化したと判定する。
【００４９】
ステップＳ２０３Ｄにおける判定がＮＯの場合、ステップＳ２０５に遷移する。
【００５０】
ステップＳ２０３Ｄにおける判定がＹＥＳの場合、推定部はＰｍ（ｔ）の更新を行うバックグラウンド処理をやめる（Ｓ２０３Ｅ）。推定部１１は、このときのＰｍ（ｔ）の値を非エコーレベルｂとする。推定部１１は、非エコーレベルｂを決定部１２に供給する。
【００５１】
決定部１２は、非エコーレベルｂに基づいて、ステップサイズμを決定する（Ｓ２０４）。
【００５２】
推定部１１が推定した非エコーレベルｂと、決定部１２が決定するステップサイズμについて説明する。
【００５３】
図３は、本実施の形態における、非エコーレベルｂとステップサイズμの関係図である。決定部１２は、非エコーレベルｂに対して単調減少となるステップサイズμの決定式を用いて、非エコーレベルｂからステップサイズμを決定する。
【００５４】
例えば、図３のグラフＡに示したように、非エコーレベルｂに対して線形に減少するようなステップサイズμの決定式を用いて、非エコーレベルｂからステップサイズμを決定してもよい。
【００５５】
グラフＢに示したように、非エコーレベルｂが小さい範囲と大きい範囲では、ステップサイズμが一定となり、その間では線形に減少するようなステップサイズμの決定式を用いて、非エコーレベルｂからステップサイズμを決定してもよい。
【００５６】
グラフＣに示したように、ステップサイズμが変局点を持って減少するようなステップサイズμの決定式を用いて、非エコーレベルｂからステップサイズμを決定してもよい。
【００５７】
グラフＤに示したように、ステップサイズμが階段状に減少するようなステップサイズμの決定式を用いて、非エコーレベルｂからステップサイズμを決定してもよい。
【００５８】
また、推定部１２は、ステップサイズμの決定式ではなく、非エコーレベルｂに対応するステップサイズμを決定するための対応テーブルを用いて、非エコーレベルｂからステップサイズμを決定してもよい。
【００５９】
本実施の形態により、精度よく音響エコーを抑制することができる。
【００６０】
本実施の形態では、タップ係数の列ベクトルＷ（ｔ）の修正の用いる適用アルゴリズムに、式５で表わされるＬＭＳアルゴリズムを用いたがこれに限られない。例えば、ＮＬＭＳアルゴリズムを用いてもよい。すなわち、タップ係数をステップサイズμにより制御できるアルゴリズムであれば、様々なアルゴリズムを用いることができる。
【００６１】
また、本実施の形態では、音響エコーを抑制する例について説明してが、これに限られない。例えば、音響エコーではなく、伝送路において発生した回線エコーについても、同様の処理で抑制することができる。
【００６２】
なお、本実施の形態では、本実施の形態で示した処理を実行するプログラムとして実施されてもよい。図４は、本実施の形態におけるＣＰＵ及び周辺機器の機能を表すブロック図である。
【００６３】
本実施の形態の処理を実行するプログラムは、ストレージ４０３に格納されている。第１音声信号ｘ（ｔ）は、外部インタフェース４０４を経由して外部からＣＰＵ４００に入力される。ＣＰＵ４００からＤ／Ａ変換器４０１に供給された第１音声信号ｘ（ｔ）は、Ｄ／Ａ変換器４０１でＤ／Ａ変換されて、スピーカ２１から出力される。マイク２２から入力された音声は、Ａ／Ｄ変換器４０２でＡ／Ｄ変換されて、第２音声信号ｍ（ｔ）として、ＣＰＵ４００に供給される。
【００６４】
ＣＰＵ４００は、ストレージ４０３からプログラムを読み出して、本実施の形態の処理を行ない誤差信号ｅ（ｔ）を作り、外部インタフェース４０４を経由して、外部に出力する。なお、入出力される各種信号及びプログラム実行中に生成される各種データなどを格納するメモリはＣＰＵ４００内に備えられているものとする。
【００６５】
また、プログラムを格納したストレージ４０３は、記憶媒体として取り外し可能であってよい。
【００６６】
（第２の実施の形態）
第２の実施の形態に係るエコーキャンセル装置２は、トークスイッチ５００を備えた音声対話装置５０に接続される。トークスイッチ５００が押下されると、音声対話装置５０はガイダンス音声（第１音声信号ｘ（ｔ））をエコーキャンセル装置２に入力する。ガイダンス音声は、スピーカ２１から出力される。
【００６７】
話者（不図示）は、トークスイッチ５００を押下した後、マイク２２に音声を入力する。通常、話者は、スピーカ２１から出力されるガイダンス音声に従って、マイク２２に音声を入力する。このとき、スピーカ２１からガイダンス音声が出力されている間、又はその直後に話者がマイク２２に音声を入力すると、マイク２２からエコーキャンセル装置２に入力される第２音声信号ｍ（ｔ）には、ガイダンス音声（第１音声信号ｘ（ｔ））の音響エコーが含まれる場合がある。
【００６８】
エコーキャンセル装置２では、トークスイッチ５００の押下に基づいて、推定部１１が非エコーレベルｂを決定する点が、第１の実施の形態と異なる。
【００６９】
図５は、エコーキャンセル装置２及び音声対話装置５０の構成を表すブロック図である。音声対話装置５０は、認識部５０１と、制御部５０２と、合成部５０３と、トークスイッチ５００とを備える。
【００７０】
話者（不図示）が、トークスイッチを押下すると、制御部５０２がこれを検知する。制御部５０２は、合成部５０３を制御し、ガイダンス音声を合成させる。合成部５０３は、ガイダンス音声をエコーキャンセル装置２に入力する。ガイダンス音声の音声信号は、第１の実施の形態における第１音声信号ｘ（ｔ）に対応する。
【００７１】
また、トークスイッチを押下すると、認識部５０１は、マイク２２が受音した音声の第２音声信号ｍ（ｔ）から第１音声信号ｘ（ｔ）の音響エコーを抑制した誤差信号ｅ（ｔ）の入力を開始する。認識部５０１は、誤差信号ｅ（ｔ）を認識する。制御部５０２は、認識部５０１が認識した誤差信号ｅ（ｔ）に基づいて、この認識結果に応じた様々な処理を行なう。
【００７２】
推定部１１は、トークスイッチ５００が押下された時点から、マイク２２が受音した音声（第２音声信号ｍ（ｔ））の音量Ｐｍ（ｔ）と第１音声信号ｘ（ｔ）の音量Ｐｘ（ｔ）を計測する。推定部１１は、第１音声信号ｘ（ｔ）の音量Ｐｘ（ｔ）が所定閾値以上となった時点のＰｍ（ｔ）の値を非エコーレベルｂとする。このようにすることで、トークスイッチ５００の押下から第１音声信号ｘ（ｔ）の音量Ｐｘ（ｔ）が所定閾値以上となるまでの間のエコーの無い状態での第２音声信号ｍ（ｔ）の音量Ｐｍ（ｔ）に基づいてステップサイズμが決定されるようになる。
【００７３】
エコーキャンセル装置２は、音声対話装置５０に接続された場合にも、精度よく音響エコーを抑制することができる。
【符号の説明】
【００７４】
１、２  エコーキャンセル装置
１１  推定部
１２  決定部
１３  修正部
１４  フィルタ部
１５  減算部
２１、９１  スピーカ
２２、９２  マイク
【図１】
2011217179.tif 000008
【図２】
2011217179.tif 000009
【図３】
2011217179.tif 000010
【図４】
2011217179.tif 000011
【図５】
2011217179.tif 000012