(57)【要約】【課題】エコーパス変動への追従性の向上したエコーキャンセラ装置を提供する。【解決手段】計測周波数を有する計測信号を発生する計測音波発生器８と、記計測信号を前記受信信号に混合する混合部１と、第２フィルタ係数を変更しながら、第２フィルタによって第２エコーレプリカ信号を生成して、第２減算器１１からの第２差分信号のパワーを最小化させ、最小化したときの第２フィルタ係数を求める第２線形適応フィルタ１０と、第１フィルタ係数候補と第２フィルタ係数候補を組にして予め記憶するフィルタ係数ＤＢ１３と、最小化したときの第２フィルタ係数に対応する第２フィルタ係数候補をフィルタ係数ＤＢ１３から探索し、探索された第２フィルタ係数候補の組に含まれる第１フィルタ係数候補を、第１フィルタ係数として設定するフィルタ係数選択器１４と、前記設定した第１フィルタ係数を用いて第１エコーレプリカ信号を生成する第１線形フィルタ６を有する。【選択図】      図１
2010011265.tif 000002
【特許請求の範囲】
【請求項１】
通話周波数帯域を有する受信信号を音響空間に拡声出力する拡声出力部と、
前記音響空間からの音を入力する音入力部と、
前記受信信号に第１フィルタ係数を畳み込むことで前記受信信号のエコーレプリカである第１エコーレプリカ信号を生成する第１フィルタと、
前記入力した入力音信号中の前記通話周波数帯域の信号を通過させる第１バンドパスフィルタ部と、
前記第１バンドパスフィルタ部を通過した信号から前記第１エコーレプリカ信号を差し引いて第１差分信号を出力する第１減算器と、
前記第１差分信号を、エコーキャンセルしたエコーキャンセラ信号として出力するエコーキャンセラ信号出力部と、
任意の計測周波数を有する計測信号を発生する計測音波発生部と、
前記計測信号を前記受信信号に混合する混合部と、
前記計測信号に第２フィルタ係数を畳み込むことで前記計測信号のエコーレプリカである第２エコーレプリカ信号を生成する第２フィルタと、
前記入力音信号中の前記計測周波数の信号を通過させる第２バンドパスフィルタ部と、
前記第２バンドパスフィルタ部を通過した信号から前記第２エコーレプリカ信号を差し引いて第２差分信号を出力する第２減算器と、
前記第２減算器からの前記第２差分信号のパワーが最小化するよう前記第２フィルタ係数を修正する第２フィルタ更新部と、
前記第１フィルタ係数の候補である第１フィルタ係数候補と前記第２フィルタ係数の候補である第２フィルタ係数候補を組にして予め記憶するフィルタ係数記憶部と、
現在の前記第２フィルタ係数に対応する第２フィルタ係数候補を前記フィルタ係数記憶部から探索し、前記探索された前記第２フィルタ係数候補の組に含まれる前記第１フィルタ係数候補を、前記第１フィルタ係数として設定するフィルタ係数選択部とを具備し、前記第１フィルタは、前記設定した第１フィルタ係数を用いて前記第１エコーレプリカ信号を生成することを特徴とするエコーキャンセラ装置。
【請求項２】
前記第１フィルタ係数候補と前記第２フィルタ係数候補の組を学習する学習モードを行うものであって、前記学習モードにおいて、前記第１フィルタ係数を変更しながら、前記第１フィルタによって前記第１エコーレプリカ信号を再生成して、前記第１減算器からの前記第１差分信号のパワーを最小化させ、前記最小化したときの前記第１フィルタ係数を求める第１フィルタ更新部と、
前記学習モードにおいて、前記最小化された第１フィルタ係数と、前記第２フィルタ更新部によって求めた前記第２フィルタ係数とを組にして、前記第１フィルタ係数候補と前記第２フィルタ係数候補の組として前記フィルタ係数記憶部に記憶させるフィルタ係数登録部とをさらに具備したことを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項３】
前記入力音信号と前記第１差分信号からエコー消去能力量を求める評価部をさらに具備し、前記エコー消去能力量が任意の第１閾値より低いとき、前記第１フィルタ更新部が前記学習モードに入ることを特徴とする請求項２記載のエコーキャンセラ装置。
【請求項４】
前記音響空間におけるエコーパスの伝達特性の変動量を求める評価部をさらに具備し、
前記変動量が、任意の第２閾値より高いとき、前記第１フィルタ更新部が前記学習モードに入ることを特徴とする請求項２記載のエコーキャンセラ装置。
【請求項５】
前記計測周波数が、２０Ｈｚ以下、または、１５０００Ｈｚ以上の非可聴域周波数であることを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項６】
前記計測音波発生部は、
前記計測信号の発生を停止させた状態で、前記入力音信号に関して、任意の周波数候補の中の周波数毎の任意の期間の時間平均パワーを計測し、前記時間平均パワーの低い順に前記周波数候補から前記計測周波数を選択することを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項７】
前記計測音波発生部は、
前記計測周波数の複数の周波数候補の各周波数を合成した音波を発生させ、前記音波の前記各周波数に対する任意の期間内のエコー強度をそれぞれ計測し、
前記各エコー強度の中で任意の第３閾値より高くなる前記周波数を前記計測周波数として選択することを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項８】
前記計測音波発生部は、
前記計測周波数の複数の周波数候補の中の一つの周波数を持つ音波を順番に発生させ、前記各音波に対する任意の期間内の前記第２フィルタ係数の変動量を計測し、前記変動量が任意の第４閾値より高い前記周波数を前記計測周波数として選択することを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項９】
前記計測音波発生部は、
前記通話周波数帯域の前記入力音の周波数成分毎のパワーをそれぞれ計測し、前記各パワーの任意の期間の時間平均パワーが任意の第５閾値より低くなる前記周波数を前記計測周波数として選択することを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項１０】
前記計測音波発生部は、
任意の期間内の前記受信信号のレベルを計測し、前記計測信号を前記受信信号よりも小さいレベルで出力することを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項１１】
前記第２フィルタのフィルタ長が、前記第１フィルタのフィルタ長よりも短いことを特徴とする請求項１記載のエコーキャンセラ装置。
【請求項１２】
前記計測音波発生部は、
前記計測周波数の周波数候補の中の一つの周波数を持つ音波を発生させ、前記音波に対する前記第１フィルタ係数の変化と前記第２フィルタ係数の変化が同期する同期度を計測し、前記同期度の高い順に前記計測周波数を選択することを特徴とする請求項２記載のエコーキャンセラ装置。
【請求項１３】
通話周波数帯域を有する受信信号を音響空間に拡声出力する拡声出力部と、
前記音響空間からの音を入力する音入力部と、
を具備するエコーキャンセラ装置におけるエコーキャンセラ方法において、
前記受信信号に第１フィルタ係数を畳み込むことで前記受信信号のエコーレプリカである第１エコーレプリカ信号を生成する第１フィルタステップと、
前記入力した入力音信号中の前記通話周波数帯域の信号を通過させる第１バンドパスフィルタステップと、
前記第１バンドパスフィルタステップを通過した信号から前記第１エコーレプリカ信号を差し引いて第１差分信号を出力する第１減算ステップと、
前記第１差分信号を、エコーキャンセルしたエコーキャンセラ信号として出力するエコーキャンセラ信号出力ステップと、
任意の計測周波数を有する計測信号を発生する計測音波発生ステップと、
前記計測信号を前記受信信号に混合する混合ステップと、
前記計測信号に第２フィルタ係数を畳み込むことで前記計測信号のエコーレプリカである第２エコーレプリカ信号を生成する第２フィルタステップと、
前記入力音信号中の前記計測周波数の信号を通過させる第２バンドパスフィルタステップと、
前記第２バンドパスフィルタステップを通過した信号から前記第２エコーレプリカ信号を差し引いて第２差分信号を出力する第２減算ステップと、
前記第２差分信号のパワーが最小化するよう前記第２フィルタ係数を修正する第２フィルタ更新ステップと、
現在の前記第２フィルタ係数に対応する第２フィルタ係数候補を、前記第１フィルタ係数の第１フィルタ係数候補と前記第２フィルタ係数候補を組にして予め記憶したフィルタ係数記憶部から探索し、前記探索された前記第２フィルタ係数候補の組に含まれる前記第１フィルタ係数候補を、前記第１フィルタ係数として設定するフィルタ係数選択ステップとを有し、前記第１フィルタステップは、前記設定した第１フィルタ係数を用いて前記第１エコーレプリカ信号を生成することを特徴とするエコーキャンセラ方法。
【請求項１４】
通話周波数帯域を有する受信信号を音響空間に拡声出力する拡声出力部と、
前記音響空間からの音を入力する音入力部と、
を具備するエコーキャンセラ装置におけるエコーキャンセラプログラムにおいて、
前記受信信号に第１フィルタ係数を畳み込むことで前記受信信号のエコーレプリカである第１エコーレプリカ信号を生成する第１フィルタ機能と、
前記入力した入力音信号から前記通話周波数帯域の信号を通過させる第１バンドパスフィルタ機能と、
前記第１バンドパスフィルタ機能を通過した信号から前記第１エコーレプリカ信号を差し引いて第１差分信号を出力する第１減算機能と、
前記第１差分信号を、エコーキャンセルしたエコーキャンセラ信号として出力するエコーキャンセラ信号出力機能と、
任意の計測周波数を有する計測信号を発生する計測音波発生機能と、
前記計測信号を前記受信信号に混合する混合機能と、
前記計測信号に第２フィルタ係数を畳み込むことで前記計測信号のエコーレプリカである第２エコーレプリカ信号を生成する第２フィルタ機能と、
前記入力音信号から前記計測周波数の信号を通過させる第２バンドパスフィルタ機能と、
前記第２バンドパスフィルタ機能を通過した信号から前記第２エコーレプリカ信号を差し引いて第２差分信号を出力する第２減算機能と、
前記第２差分信号のパワーが最小化するよう前記第２フィルタ係数を修正する第２フィルタ更新機能と、
現在の前記第２フィルタ係数に対応する第２フィルタ係数候補を、前記第１フィルタ係数の第１フィルタ係数候補と前記第２フィルタ係数候補を組にして予め記憶したフィルタ係数記憶部から探索し、前記探索された前記第２フィルタ係数候補の組に含まれる前記第１フィルタ係数候補を、前記第１フィルタ係数として設定するフィルタ係数選択機能とをコンピュータによって実現し、
前記第１フィルタ機能は、前記設定した第１フィルタ係数を用いて前記第１エコーレプリカ信号を生成することを特徴とするエコーキャンセラプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エコーキャンセル技術に係り、特に適応フィルタのフィルタ係数学習方式を用いたエコーキャンセラ装置及びその方法に関する。
【背景技術】
【０００２】
伝送路を通じて音声の送受信を行い、受信した遠端音声をスピーカ出力し、マイクで受音した近端音声を送信する拡声通話装置においては、スピーカとマイクの間の空間に音響結合が生じると、スピーカ出力がマイク入力に回り込んで音響エコーが発生することが問題となる。
【０００３】
この音響エコーを消去するために、特許文献１（図４）の線形適応フィルタを用いたエコーキャンセラ装置が一般的に知られている。
【０００４】
受信入力である受信信号として送られてくる遠端音声はスピーカを通じて拡声出力され、エコーパスを経由した音響エコーとなってマイクに受音される。また近端音声もマイクに受音されるので、マイク入力は近端音声と音響エコーの和となる。このうち近端音声だけを送信出力したいので、マイク入力に混入した音響エコーをいかにして取り除くかが問題となる。これがエコーキャンセル問題である。
【０００５】
音響エコーの元となっている受信信号は判明しているため、エコーパスの伝達特性と同じ変換を受信信号に施せば、マイク入力に混入している音響エコーと同じ信号（エコーレプリカ）を内部的に作り出すことができる。これをマイク入力から差し引くことで、送信出力から音響エコーを取り除くことができるはずである。
【０００６】
線形適応フィルタは、エコーパスの伝達特性を模擬するためのフィルタであり、受信信号（以下では、フィルタへの入力として呼ぶとき、これを「参照信号」と呼ぶ）にこの伝達特性を計算的に反映させることで、音響エコーを模擬するエコーレプリカ信号を生成する。
【０００７】
減算器は、マイク入力からこのエコーレプリカ信号を差し引くことで、近似的な近端音声を生成することができ、これを送信出力すれば、通話先には音響エコーの抑えられた音声が届くことになる。伝達特性の反映、すなわちエコーレプリカ信号の生成は、参照信号とフィルタ係数の畳み込み演算で行われる。
【０００８】
線形適応フィルタは、エコーパスの伝達特性を模擬するために、近端音声のないときを選んで、減算器の差分信号（残差信号、誤差信号とも呼ぶ）のパワーを最小化するフィルタ適応を行う。
【０００９】
この適応方式としてはＬＭＳアルゴリズムやＮＬＭＳアルゴリズムなど幾つかの適応アルゴリズムが知られている。適応アルゴリズムについては、非特許文献１に開示されているので、ここでは代表的なＬＭＳアルゴリズムについて簡単に説明する。
【００１０】
時刻ｔにおける差分信号の値、そのときの参照信号の値、フィルタ係数、更新の大きさを決定するパラメータとから差分信号を小さくする新たなフィルタ係数を求めるフィルタ更新式を各時刻で繰り返し計算することで、差分信号のパワーは次第に最小化されていく。この最小化（以下、「適応」または「学習の収束」と呼ぶ）過程にはある程度の時間が掛かることになるが、μを大きく取ることでその時間を短くできる。
【００１１】
しかし、その結果、フィルタ係数が振動的になり、エコーレプリカ信号の精度が悪くなるという短所が知られている。一方、μを小さく取ることで、エコーレプリカ信号の精度を上げることができるが、反面、フィルタ係数が適値に収束するまでの時間は長くなり、エコーパス変動への追従性が悪くなる。
【００１２】
近端音声がなく、遠端音声が存在する状態を「シングルトーク」と呼ぶ。一方、近端音声と遠端音声が同時に存在する状態を「ダブルトーク」と呼ぶ。シングルトーク状態ではマイク入力は遠端音声が回り込んだ音響エコーのみとなる。この状態で差分信号のパワーを最小化、端的にはゼロにするように線形適応フィルタがそのフィルタ係数を学習すると、生成されるエコーレプリカ信号を音響エコーに近づけることができる。そして、学習の進んだフィルタ係数は未知のエコーパスの伝達特性を模擬したものになる。
【００１３】
線形適応フィルタがこのような学習を行えるよう、ダブルトーク検出器が近端音声の有無を判定する。特許文献１中の従来技術として開示されるように、この判定は、最も簡便には差分信号の差分出力レベルに対する受信信号の受信入力レベルの比を求めることで行える。
【００１４】
遠端音声だけがあるとき、エコー消去後の差分信号は小さくなるので、このレベル比は大きくなる。一方、近端音声があるときはエコー消去後の差分信号がそれほど小さくならないので、このレベル比Ｒは相対的に小さくなる。そのため、レベル比Ｒが所定の閾値より小さくなるとき、近端音声が存在する状態（ダブルトーク状態）であると判定することができる。
【００１５】
ダブルトーク検出器がダブルトーク状態と判定した場合、線形適応フィルタは学習を一時的に停止する。これは、ダブルトーク状態では差分信号に近端音声が存在するため、差分信号パワーを最小化する適応アルゴリズムを用いても、フィルタがエコーパスの伝達特性を正しく学習できないからである。
【００１６】
なお、非ダブルトーク状態で線形適応フィルタの学習が進行するため、近端音声と遠端音声が共にないときにもフィルタ適応が行われることになる。本来、遠端音声がなければ学習に意味がないのだが、ＬＭＳなどの適応アルゴリズムは遠端音声の大きさに比例してフィルタ係数を動かすので実害が生じない。
【００１７】
また、このダブルトーク判定方式では、近端音声も遠端音声もないときにレベル比が小さくなって、ダブルトーク状態と誤判定される可能性があるが、遠端音声がないので線形適応フィルタの学習を停止させても同様に問題は生じない。なお、上記の特許文献１では、ダブルトーク検出の前後でその検出閾値を動的に変えることで、より検出精度を向上させている。また、この他にも多くのダブルトーク検出方式が提案されている。
【００１８】
また、従来、特許文献２に開示されるように、複数の適応フィルタを持ち、性能の良いフィルタを動的に選択して送信出力を決定することで、エコーパス変動への追従性を向上させる試みが提案されている。
【非特許文献１】「音響システムとディジタル信号処理」  （社）電子情報通信学会刊
【特許文献１】特許第３２０２２５６号公報
【特許文献２】特許４０２６６９３号公報
【特許文献３】特開２００７−３３６３６４公報
【特許文献４】特許第２９２３９６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
上記のように従来の典型的なエコーキャンセラ装置では、ダブルトーク状態を除いて線形適応フィルタを学習させ続けることで、非ダブルトーク状態でのエコーパスの変動、例えば人体の移動などに追従できるようになっている。
【００２０】
しかしながら、ダブルトーク状態でエコーパスが変動しても、これには追従することができず、その場合、変動の影響としてエコーの消し残しが大きくなるという問題点が存在した。
【００２１】
そこで、本発明は上記の問題点に鑑みて成されたものであり、その目的とするところは、エコーパス変動への追従性の向上したエコーキャンセラ装置及びその方法を提供することである。
【課題を解決するための手段】
【００２２】
本発明は、通話周波数帯域を有する受信信号を音響空間に拡声出力する拡声出力部と、前記音響空間からの音を入力する音入力部と、前記受信信号に第１フィルタ係数を畳み込むことで前記受信信号のエコーレプリカである第１エコーレプリカ信号を生成する第１フィルタと、前記入力した入力音信号から前記通話周波数帯域の信号を通過させる第１バンドパスフィルタ部と、前記第１バンドパスフィルタ部を通過した信号から前記第１エコーレプリカ信号を差し引いて第１差分信号を出力する第１減算器と、前記第１差分信号を、エコーキャンセラしたエコーキャンセラ信号として出力するエコーキャンセラ信号出力部と、任意の計測周波数を有する計測信号を発生する計測音波発生部と、前記計測信号を前記受信信号に混合する混合部と、前記計測信号に第２フィルタ係数を畳み込むことで前記計測信号のエコーレプリカである第２エコーレプリカ信号を生成する第２フィルタと、前記入力音信号から前記計測周波数の信号を通過させる第２バンドパスフィルタ部と、前記第２バンドパスフィルタ部を通過した信号から前記第２エコーレプリカ信号を差し引いて第２差分信号を出力する第２減算器と、前記第２差分信号のパワーが最小化するよう前記第２フィルタ係数を修正する第２フィルタ更新部と、前記第１フィルタ係数の候補である第１フィルタ係数候補と前記第２フィルタ係数の候補である第２フィルタ係数候補を組にして予め記憶するフィルタ係数記憶部と、現在の前記第２フィルタ係数に対応する第２フィルタ係数候補を前記フィルタ係数記憶部から探索し、前記探索された前記第２フィルタ係数候補の組に含まれる前記第１フィルタ係数候補を、前記第１フィルタ係数として設定するフィルタ係数選択部と、を具備し、前記第１フィルタは、前記設定した第１フィルタ係数を用いて前記第１エコーレプリカ信号を生成する、エコーキャンセラ装置である。
【発明の効果】
【００２３】
本発明によれば、通話音声帯域においてダブルトーク状態であっても、エコーパス変動への追従性が向上する。
【発明を実施するための最良の形態】
【００２４】
以下、本発明に係るエコーキャンセラ装置の一実施形態を図面に従って説明する。
【００２５】
（第１の実施形態）
まず、本発明の最も基本的な構成である第１の実施形態のエコーキャンセラ装置について図１に基づいて説明する。図１は、本実施形態のエコーキャンセラ装置の機能ブロック構成を示す。
【００２６】
図１に示しように、エコーキャンセラ装置は、受信音声と他の音声を所定の比率で混合する混合器（図では「ＭＩＸ」と呼ぶ）１、混合器１の出力を拡声出力するスピーカ２、音響結合により生じるエコーパス３、マイク４、音声通話に用いられる周波数帯域（通話帯域）の音声を選択的に通過させる第１バンドパスフィルタ（図では「ＢＰＦ１」と呼ぶ）５、通話帯域音声のエコーレプリカ（第１エコーレプリカ信号）を生成する第１線形フィルタ（図では「ＬＦ１」と呼ぶ）６、第１バンドパスフィルタ（図では「ＢＰＦ１」と呼ぶ）５を通過した通話帯域音声から第１線形フィルタ（図では「ＬＦ１」と呼ぶ）６で生成されたエコーレプリカ（第２エコーレプリカ信号）を差し引くことで、第１差分信号を出力を得るための第１減算器７からなり、この第１差分信号が最終的な近接信号（エコーキャンセラ信号）として送信出力される。
【００２７】
第１線形フィルタ６のフィルタ係数が通話帯域のエコーパス３を模擬していると仮定すれば、以上の機能ブロックにより、拡声通話装置のためのエコーキャンセラが構成されることになる。
【００２８】
本実施形態のエコーキャンセラ装置では、上記の構成に図中の各部８〜１２で示される機能ブロックをさらに有する。
【００２９】
エコーキャンセラ装置は、図１に示すように、所定の周波数を持つ計測音波を発生させる計測音波発生器（図中では「ＳＧＥＮ」と呼ぶ）８、この計測音波を選択的に通過させる第２バンドパスフィルタ（図中では「ＢＰＦ２」と呼ぶ）９、この計測音波のエコーパスを学習する第２線形適応フィルタ（図中では「ＬＡＦ２」と呼ぶ）１０、第２減算器１１、この計測音波のダブルトーク状態を検出する第２ダブルトーク検出器（図中では「ＤＴＤ２」と呼ぶ）１２をさらに有する。
【００３０】
第２ダブルトーク検出器１２には、上記の特許文献１に開示される方法を用いることができる。この構成により、計測音波発生器８で発生された所定周波数の計測信号が混合器１で受信信号と混合されて計測音波としてスピーカ２より出力される。
【００３１】
出力された計測音波は、エコーパス３を経由してマイク４で受音され、第２バンドパスフィルタ９を通過する。
【００３２】
第２線形適応フィルタ１０は、エコーパス３の計測音波に関する伝達特性を模擬するフィルタであり、計測音波発生器８からの計測信号にこの伝達特性を計算的に反映させることで、計測音波に関する音響エコーを模擬する第２エコーレプリカ信号を生成する。
【００３３】
第２減算器１１は、第２バンドパスフィルタ９の通過信号からこの第２エコーレプリカ信号を差し引くことで、第２差分信号を生成する。
【００３４】
第２線形適応フィルタ１０は、第２ダブルトーク検出器１２が非ダブルトーク状態と判定している間、第２差分信号のパワーを最小化する適応を行うことで、この計測音波のエコーパスを学習するフィルタ適応を行う。この適応にはＬＭＳアルゴリズムを用いる。この結果、第２線形適応フィルタ１０と第２減算器１１が、計測音波に関するエコーキャンセラとなるが、その出力が送信出力に算入されることはない。
【００３５】
エコーキャンセラ装置も２つのフィルタ６と１０を持つが、フィルタ１０の出力は送信出力には直接算入されることはなく、フィルタ６の出力のみから送信出力が決定される。
【００３６】
さらにエコーキャンセラ装置では、上記の構成に図１中の各部１３〜１４で示される機能ブロックを有する。
【００３７】
エコーキャンセラ装置は、図１に示すように、少なくとも第１線形フィルタ６のフィルタ係数Ｗ１の候補と第２線形適応フィルタ１０のフィルタ係数Ｗ２の候補を組にしたフィルタ係数データ候補Ｄ＝［Ｗ１，Ｗ２］を記憶するためのフィルタ係数データベース（図中では「ＦＤＢ」と呼ぶ）１３、第２線形適応フィルタ１０のフィルタ係数Ｗ２が更新されるたびに、このフィルタ係数Ｗ２に基づいて、これに適合するフィルタ係数データ候補Ｄをフィルタ係数データベース１３から選択し、そこに組となっている第１線形フィルタ６のフィルタ係数Ｗ１の候補を第１線形フィルタ６に設定するフィルタ係数選択器１４をさらに有する。なお、適合するフィルタ係数を選択する方法については後述する。
【００３８】
第１線形フィルタ６は、この設定されたフィルタ係数Ｗ１を使って受信信号（参照信号）から通話帯域の第１エコーレプリカ信号を生成する。
【００３９】
第１減算器７は、第１バンドパスフィルタ５を通過してきたマイク入力に含まれる通話帯域音声からこの第１エコーレプリカ信号を差し引くことで、音響エコーの抑圧されたエコーキャンセラ信号を生成する。
【００４０】
通常、計測音波のようなごく限られた周波数でエコーパス３の伝達特性を推定しても、その特性が通話帯域全体の伝達特性を正確に表していることはあまり期待できない。しかしながら、音響結合を形成している元となる音を反射・吸収する物体の配置が同じなら、特定のごく限られた周波数で測った伝達特性と通話帯域全体の伝達特性には一定の相関が成立している。
【００４１】
エコーキャンセラ装置では、この相関関係を仮定して、第１線形フィルタ６のフィルタ係数Ｗ１と第２線形適応フィルタ１０のフィルタ係数Ｗ２を予想される様々な条件で計測しておき、または、シミュレーションしておき、同一条件における値の組をフィルタ係数データ候補Ｄ＝［Ｗ１，Ｗ２］としてフィルタ係数データベース１３に格納しておく。
【００４２】
この結果、計測音波の伝達特性を測る、すなわちフィルタ係数Ｗ２を求めることで、このフィルタ係数Ｗ２に対応する、その環境に適した第１線形フィルタ６のフィルタ係数Ｗ１をフィルタ係数データ候補Ｄ＝［Ｗ１，Ｗ２］から選択決定できる。
【００４３】
以上の説明では、フィルタ係数データ候補Ｄは、少なくとも第１線形フィルタ６のフィルタ係数Ｗ１と第２線形適応フィルタ１０のフィルタ係数Ｗ２の候補を組にしたものとしていた。
【００４４】
しかし、これは計測信号の計測周波数が変化しない場合を想定したものである。計測信号の計測周波数が異なれば、同一環境であっても学習されるフィルタ係数Ｗ２の値が異なる可能性がある。後述するように、エコーキャンセラ装置では、計測音波発生器８が計測信号の計測周波数を変えられるように構成される。
【００４５】
そのため、フィルタ係数データ候補Ｄは、Ｗ１とＷ２に加え、Ｗ２を学習させたときの計測信号の計測周波数Ｆも含まなければならない。計測周波数Ｆは、予め設定されているＬ個の計測周波数候補のうち、どの周波数を使用したかを示す情報であり、使用された計測周波数に対応する要素を１、それ以外の要素を０としたＬ次元のベクトルである。このＦを含めた結果、フィルタ係数データはＤ＝［Ｗ１，Ｗ２，Ｆ］となる。
【００４６】
そして、フィルタ係数選択器１４も、下記のようにして、ＦとＷ２の両方が適合するフィルタ係数データ候補Ｄをフィルタ係数データベース１３から選択する。
【００４７】
通話帯域の第１エコーレプリカ信号を生成するための第１線形フィルタ６のフィルタ長をＮとすると、そのフィルタ係数Ｗ１はＮ次元ベクトルで表される。
【００４８】
また、計測音波でエコーパスを学習するための第２線形適応フィルタ１０のフィルタ長をＭとすると、そのフィルタ係数Ｗ２はＭ次元ベクトルとなる。
【００４９】
また、このＷ２を学習したときの計測周波数Ｆは、上記した通り、Ｌ次元のベクトルである。
【００５０】
１を持つＦの要素の数は１つに限らず、複数の周波数を合成した計測音波を用いる場合には、複数の要素が１になる。また、ベクトルＦの各要素に対応する周波数の並びは適当でも良いが、ここでは周波数の低いものから高いものまでを順に並べることとする。
【００５１】
このとき、１を持つＦの要素に隣接する１を持たない要素にも０より大きく１より小さい値、例えば０．５を持たせる。なお、隣接する要素の周波数が所定閾値を超えてかけ離れている場合にはこの値を持たせない。このようにすることで、似た計測周波数の組を使用したベクトルＦは似たものになるため、後述する適合性を評価する場合に都合が良い。この３種のベクトル（Ｗ１，Ｗ２，Ｆ）を組にしたデータをフィルタ係数データ候補Ｄ（ｋ）＝［Ｗ１（ｋ），Ｗ２（ｋ），Ｆ（ｋ）］とし、フィルタ係数データベース１３に記憶する。ここで添え字ｋはフィルタ係数データベース１３に記憶されているｋ番目のデータを指す。
【００５２】
フィルタ係数選択器１４が適合するフィルタ係数データ候補Ｄを選択する方法は次のようになる。
【００５３】
現在の第２線形適応フィルタ１０のフィルタ係数をＷ２c、そのときの計測周波数をＦc、フィルタ係数データベース１３に記憶されているｋ番目のフィルタ係数データ候補をＤ（ｋ）＝［Ｗ１（ｋ），Ｗ２（ｋ），Ｆ（ｋ）］とする。
【００５４】
まず、全てのｋについて、ＦcとＦ（ｋ）の内積をノルムで正規化した値ＣＦ（ｋ）を求め、その値が任意の閾値以上を得たフィルタ係数データだけを拾い出す。この閾値は調節可能であるが、より厳密に一致するものだけを得たい場合には、ＣＦ（ｋ）＝１．０となるものだけを拾い出すようにもできる。
【００５５】
そして、拾い出されたフィルタ係数データの中で、Ｗ２cとＷ２（ｋ）の内積をノルムで正規化した値ＣＷ（ｋ）を求め、その値が任意の閾値以上で最大値を得るフィルタ係数データを選択する。
【００５６】
最後に、この選択されたフィルタ係数データにあるＷ１（ｋ）が第１線形フィルタ６の新しいフィルタ係数として設定される。ここで、ＣＦ（ｋ）とＣＷ（ｋ）は次の（１）式で表される。
【数１】
2010011265.tif 000003
【００５７】
なお、ＣＦやＣＷが任意の閾値以上となるフィルタ係数データ候補Ｄが見つからないときは、エコーキャンセラ装置は適切なフィルタ係数Ｗ１を選択できずに破綻する。このような事態をさけるために、フィルタ係数データベース１３には十分なバリエーションのフィルタ係数データ候補を記憶させておく。
【００５８】
なお、計測音波発生器８が計測信号の計測周波数を変更しない場合には、フィルタ係数データ候補Ｄに記載されるベクトルＦは不要となる。同時に、上記したＣＦ（ｋ）によるデータの拾い出しも行う必要がない。よってこの場合は、フィルタ係数データベース１３に記憶されている全てのフィルタ係数データ候補Ｄ（ｋ）についてＣＷ（ｋ）だけが評価されることになる。また、エコーキャンセラ装置はパラメータにより計測周波数を固定／可変いずれにも設定可能である。
【００５９】
次に、計測音波について考察しつつ、その取り扱いについて説明する。
【００６０】
エコーキャンセラ装置における計測信号の計測周波数は、人間の可聴域（一般に２０Ｈｚ〜２００００Ｈｚ）でも構わないが、その場合には、受信入力に含まれる遠端音声のレベルよりも低いレベルで計測音波を出力すると良い。このようにすれば、計測音波が利用者の耳障りになりにくい。
【００６１】
また、計測信号の計測周波数を可聴域でも人間の聴覚レベルが落ちる高周波域（年齢にも依存するが、例えばモスキート音付近の１５０００Ｈｚ以上）や、さらには可聴域の外（一般に２０Ｈｚ以下や２００００Ｈｚ以上）であれば、計測音波が利用者の耳障りにならず好適である。
【００６２】
なお、非可聴音波を使ってエコー遅延量を推定する提案（例えば、特開２００７−３３６３６４公報）があるが、本実施形態のようなエコー消去用フィルタの係数Ｗ１を選択するというものではない。
【００６３】
また、通話に先駆けて教示用音声を用いてエコー消去用の適応フィルタを事前学習させる方法が提案（例えば、特許第２９２３９６４号公報）されている。しかし、この教示用音声で学習されるのはエコーキャンセラ装置で言えば第１線形フィルタ６の係数Ｗ１である。よって、この事前学習が成功するためには、教示用音声の周波数成分が通話音声に似ている必要がある。一方、本実施形態のエコーキャンセラ装置では、その原理上、計測信号の計測周波数成分は通話音声と似ている必要はない。なお、エコーキャンセラ装置はパラメータにより計測周波数を任意に設定可能である。
【００６４】
但し、計測音波と通話音声が似ている必要がないとしても、エコーキャンセラ装置のように計測音波のエコーパスと通話帯域のエコーパスの間の相関を利用しようとする場合、少ない周波数で測られた計測音波のフィルタ係数Ｗ２と、より広い周波数を覆う通話帯域のフィルタ係数Ｗ１の関係は１対１対応ではなく、１対多対応になる可能性がある。すなわち、計測音波のエコーパスに大きな変動が現れなくても、通話帯域のエコーパスは変動している可能性がある。そのような計測周波数を用いた場合、Ｗ２に現れないエコーパスの変動に対して装置が追従できないことになる。よって、計測周波数のどのように選択するかは重要である。
【００６５】
この問題を改善するため、エコーキャンセラ装置では、計測音波を複数の周波数成分の混合音とすることも可能とする。
【００６６】
この場合、第２バンドパスフィルタ９は、計測音波を構成する各周波数に対する中心透過性を持つコムフィルタ（櫛形フィルタ）となる。このようにすることで、エコーパス変動をより高い精度で測ることができ、またＷ１とＷ２の相関をより安定化させられる。なお、エコーキャンセラ装置は計測周波数を幾つ用いるかをパラメータで設定可能である。
【００６７】
特に、低い周波数域（例えば２０Ｈｚ以下）と高い周波数域（例えば１５０００Ｈｚ以上、または２００００Ｈｚ以上）からそれぞれ少なくとも１つずつの周波数成分を混合した計測音波を用いることで、利用者の耳障りにならず、かつ、環境のエコーパスをより良好な精度で測れる確率が増大する。
【００６８】
計測音波の低域成分は通話帯域の低域に近く、高域成分は通話帯域の高域に近いことから、このように通話帯域を上下で挟む高低合わせた計測音波を用いる。この結果、計測音波の伝達特性と通話帯域の伝達特性の間の相関を、そうしないときよりも安定させられる。
【００６９】
次に、計測周波数を環境に合わせて動的に選択する方法について述べる。エコーキャンセラ装置は以下の３つの観点で計測周波数を選択することが可能である。
【００７０】
（ａ）環境中に別音源の存在しない周波数を選ぶ。すなわち、シングルトークの確保である。
【００７１】
（ｂ）エコーの強い周波数を選ぶ。すなわち、エコーパス変動への感度の確保である。
【００７２】
（ｃ）エコーパス変動量の大きい周波数を選ぶ。すなわち、エコーパス変動への感度の確保である
まず、上記（ａ）について説明する。
【００７３】
環境中に別音源の存在しない周波数を計測周波数に選ぶことは重要である。別音源の存在しない計測周波数を用いることができれば、通話帯域がダブルトーク状態であっても、計測音波は常にシングルトーク状態になり、その間も第２線形適応フィルタ１０の学習を進めて、刻々と第１線形フィルタ６のフィルタ係数Ｗ１を切り替えることができ、原理的にはエコーパス変動への追従性をフルタイムで維持できるようになる。そこで、エコーキャンセラ装置ではこのような周波数を以下のようにして動的に探索して選択する。
【００７４】
計測音波発生器８が計測音波を発生すると、環境中には計測信号の計測周波数を持つ音が存在することになる。ここで、別の音源により計測音波と同じ周波数を含む音が発生すると、第２ダブルトーク検出器１２がダブルトーク状態を検出することになる。
【００７５】
そこで、計測音波発生器８は、ある計測周波数Ｆの適用と共に、第２ダブルトーク検出器１２の検出状況を監視する。
【００７６】
もし、現在の計測音波周波数Ｆが頻繁にダブルトーク状態になるようであれば、計測音波発生器８は、Ｆについて環境中にＦを構成する周波数の少なくとも１つと同一の周波数成分を持つ別音源が存在していると判断して、そのような周波数を避けるよう計測周波数を変更する。この頻度は計測音波発生期間に対するダブルトーク検出期間の割合として計測する。
【００７７】
そして、ダブルトークの検出頻度が任意の閾値以上になったとき、計測音波発生器８は、現在のＦとは別の有効な計測周波数Ｆ’を探索する。
【００７８】
なお、計測信号の計測周波数を変えても動作可能なように、計測音波発生器８は、使用する周波数を第２バンドパスフィルタ９に通知し、第２バンドパスフィルタ９はこの通知された各周波数に対するフィルタバンクを動的に形成できるようになっている。具体的には、第２バンドパスフィルタ９は、予め定められたそれぞれに異なる周波数に対して、これを通過させる狭帯域のバンドパスフィルタの集合で成るフィルタバンクとして構成され、計測音波発生器８により通知された１乃至複数の周波数に対応するフィルタバンク出力を合成することで、コムフィルタ（櫛形フィルタ）と成るように作られている。ゆえに、「フィルタバンク出力」とは、フィルタバンクを成す各バンドパスフィルタの出力を、「第２バンドパスフィルタ９の出力」とは、それらを合成して成る前記コムフィルタの出力を指す。
【００７９】
有効な計測周波数Ｆ’を探索する方法の１つとして、周波数を１つずつ切り替えながら、第２ダブルトーク検出器１２の出力を調べる方法がある。
【００８０】
具体的には、所定の周波数候補一覧Ｂの中で、現在の計測周波数Ｆを除いた周波数を探索候補周波数Ｃとし、これを所定の順番で出力しながら、各々の周波数について、上記した方法と同様にして所定期間のダブルトーク検出頻度を測定する。１つの周波数の頻度を求めるためには所定期間が必要となるため、任意の閾値未満の頻度を得た周波数を必要数だけ発見すると、これを新しい計測周波数Ｆ’とし、ここで探索を打ち切るようにする。このようにすることで、可能な限り早期にＦ’を得られるようにする。但し、以上の処理で必要数の周波数を見つけきれない場合には、頻度の低い順に必要数に満たない分の周波数を補う。
【００８１】
例えば、周波数候補一覧をＢ＝［ｆ１，ｆ２，．．．，ｆ２０］、現在の計測周波数をＦ＝［ｆ２，ｆ８，ｆ１８］とすると、探索候補周波数はＢからＦを除いたＣ＝［ｆ１，ｆ３，．．．，ｆ７，ｆ９，．．．，ｆ１７，ｆ１９，ｆ２０］となる。このとき、Ｆの要素の数で判るように必要な周波数の数は３である。新しい３つの周波数を探すために、Ｃの各候補について順番にダブルトーク検出頻度を測ったところ、ｆ１、ｆ５、ｆ７の順で閾値未満の周波数が見つかり、その結果、新しい計測周波数はＦ’＝［ｆ１，ｆ５，ｆ７］となる。この例から判るように、一旦探索が行われると、通常は計測周波数の総入れ替えが起こる。
【００８２】
また、有効な計測周波数を探索する別の方法として、第２バンドパスフィルタ９を探索候補の全ての周波数に対するフィルタバンクになるよう構成し、計測音波の出力を停止した状態で、各フィルタバンク出力の大きさを調べる方法がある。
【００８３】
計測音波発生器８は、所定の周波数候補一覧Ｂの中で、現在の計測周波数Ｆを除いた周波数を探索候補周波数Ｃとし、第２バンドパスフィルタ９に通知して、これらの周波数をそれぞれ通過させるようフィルタバンクを動的に構成させる。そして、計測音波を停止した状態で、各フィルタバンク出力の時間平均パワーを測り、その低い順に必要数の周波数を選択して新たな計測周波数Ｆ’とする。
【００８４】
例えば、周波数候補一覧をＢ＝［ｆ１，ｆ２，．．．，ｆ２０］、現在の計測周波数をＦ＝［ｆ２，ｆ８，ｆ１８］とすると、探索候補周波数はＢからＦを除いたＣ＝［ｆ１，ｆ３，．．．，ｆ７，ｆ９，．．．，ｆ１７，ｆ１９，ｆ２０］となる。このとき、計測周波数の必要数は３である。そこで、新しい３つの周波数を探すために、Ｃの各候補についてフィルタバンク出力を調べたところ、ｆ１９、ｆ５、ｆ７の順で時間平均パワーが小さかったとする。この結果、新しい計測周波数はＦ’＝［ｆ５，ｆ７，ｆ１９］となる。なお、この方法も計測周波数の総入れ替えとなる。
【００８５】
計測音波の停止で言わば強制的に無遠端音声状態を作り出し、その間にフィルタバンク出力を監視することで、計測音波と同じ周波数成分を持つ別音源の有無を複数の周波数について同時に調べられるこの方法は、簡便かつ高速に有効な計測周波数を探索できる方法である。
【００８６】
また、これとは別に、エコーキャンセラ装置は、次のように動作することも可能である。
【００８７】
計測音波発生器８が計測音波の発生と停止を周期的に繰り返すようにし、第２ダブルトーク検出器１２が、計測音波停止中の所定の期間、具体的には計測音波停止から一定の残響時間（第２線形適応フィルタ１０のフィルタ長に相当）の経過後、次の計測音波発生までの間で、第２バンドパスフィルタ９の各フィルタバンク出力の時間平均パワーを監視する。このとき、第２バンドパスフィルタ９のフィルタバンク出力が任意の閾値以上の大きさで観測される場合には、そのフィルタバンクを通過する周波数には別音源が存在している（ダブルトーク状態である）とする。また、第２ダブルトーク検出器１２は、フィルタバンク出力が１つでも任意の閾値以上となったことを検出すると、ダブルトーク状態であること示す出力を行う。
【００８８】
計測音波発生器８は、ある計測周波数Ｆの適用と共に、第２ダブルトーク検出器１２の上記した検出状況を監視し、ダブルトークの検出頻度が任意の閾値以上になったとき、現在のＦとは別の有効な計測周波数Ｆ’を探索する。
【００８９】
なお、上記のダブルトーク検出方法では、計測音波発生中のダブルトーク状態を知ることができない。そこで、計測音波発生器８は、計測音波の発生と停止を繰り返す周期を極力短くすることで、ダブルトーク検出タイミングの時間密度を上げる。ダブルトーク状態が上記の繰り返し周期よりも長く継続するなら、この方法により簡便でありながら有効なダブルトーク検出器を得ることができる。なお、エコーキャンセラ装置は、上記したダブルトーク検出方式のいずれを用いるかをパラメータで設定可能である。
【００９０】
また、上記した閾値は実際の使用環境に応じてその適値が変わるため、装置導入時に適宜調節のうえ定めるものとする。ゆえに、本実施形態における各種閾値は適宜調節可能なパラメータとする。
【００９１】
第２ダブルトーク検出器１２をこのように動作させた場合、その出力はダブルトーク検出の有無だけでなく、どの計測周波数でダブルトークが発生しているかも示すことができる。
【００９２】
そこで、計測音波発生器８は、ダブルトーク状態にある計測周波数についてのみ別周波数を探索することができる。これを次に示す。
【００９３】
計測音波発生器８は、所定の周波数候補一覧Ｂの中で、現在の計測周波数Ｆを除いた周波数を探索候補周波数Ｃとし、第２バンドパスフィルタ９に通知して、これらの周波数をそれぞれ通過させるようフィルタバンクを構成させる。そして、計測音波を停止した状態で、各フィルタバンク出力の時間平均パワーを測り、その低い順に不足分の周波数を選択して新たな計測周波数Ｆ’とする。
【００９４】
例えば、周波数候補一覧をＢ＝［ｆ１，ｆ２，．．．，ｆ２０］、現在の計測周波数をＦ＝［ｆ２，ｆ８，ｆ１８］とすると、探索候補周波数はＢからＦを除いたＣ＝［ｆ１，ｆ３，．．．，ｆ７，ｆ９，．．．，ｆ１７，ｆ１９，ｆ２０］となる。ここで、Ｆに含まれる周波数ｆ８とｆ１８に別音源が存在したとすると、不足分はｆ８とｆ１８の代わりになる２つの周波数である。そこで、Ｃの各候補についてフィルタバンク出力を調べたところ、ｆ５、ｆ７の順で時間平均パワーが小さかったとする。その結果、新しい計測周波数はＦ’＝［ｆ２，ｆ５，ｆ７］となる。
【００９５】
以上で述べた別音源の監視と計測周波数の変更は、エコーキャンセラ装置がエコーキャンセラとして稼動している状態を想定している。そのため、周波数探索の間、装置は一時的にエコーパス変動への追従能力を失うことになるが、上記したフィルタバンク出力を調べる方法を使うことで、エコーパス変動に追従できなくなる期間を減らすことが可能になる。
【００９６】
一方、エコーキャンセラ装置がこのような稼動状態でなく、例えば、音声通話の開始前の待機状態にあるときを想定すると、その間に、計測音波発生器８が、上記したような計測周波数を選ぶ作業だけを行うことも可能である。
【００９７】
具体的には、所定の周波数候補一覧Ｂの全ての周波数について、それぞれの周波数を通過させるよう第２バンドパスフィルタ９のフィルタバンクを動的に構成し、計測音波の発生を停止した状態で各フィルタバンク出力の時間平均パワーを測る。そして、時間平均パワーの低い順に必要数の周波数を選択して計測周波数Ｆとする。
【００９８】
このようにすることで、通話開始以前に、環境に別音源の存在しない計測周波数を予め選び終えておくことができ、通話中の計測周波数変更の頻度を抑え、エコーパス変動に追従できなくなる期間をさらに減らすことが可能になる。なお、エコーキャンセラ装置はこの機能をパラメータで選択可能である。
【００９９】
次に、上記の（ｂ）について説明する。
【０１００】
運用環境において音響エコーの生じにくい計測周波数を使用すると、エコーパス変動に対するＷ２の感度を上げられない。そこで、エコーキャンセラ装置では、計測音波発生器８が、エコー強度の大きい周波数を動的に探索して計測周波数を選択することも可能とする。
【０１０１】
エコー強度は、計測音波発生中に、第２バンドパスフィルタ９の各フィルタバンク出力の時間平均パワーを監視することで判明する。計測音波発生器８は、各フィルタバンク出力を監視し、所定期間、任意の閾値以上とならない周波数を検出すると、これとは別の周波数を探索する。
【０１０２】
具体的には、所定の周波数候補一覧Ｂの中で、現在の計測周波数Ｆを除いた周波数を探索候補周波数Ｃとし、これらの周波数を通過させるよう、第２バンドパスフィルタ９のフィルタバンクを構成する。
【０１０３】
その後、探索候補周波数Ｃの全周波数成分を等しいパワーで合成した計測音波を発生した状態で、各フィルタバンク出力の時間平均パワーを測る。
【０１０４】
そして、その高い順に足りない分の周波数を選択して新たな計測周波数Ｆ’とする。なお、エコーキャンセラ装置はこの機能をパラメータで選択可能である。
【０１０５】
また、上記した別音源の検出の場合と同様、この周波数探索を通話開始以前に実行することも可能である。
【０１０６】
次に、上記の（ｃ）について説明する。
【０１０７】
運用環境において、第２線形適応フィルタ１０のフィルタ係数Ｗ２が相対的に変化しない計測周波数は、エコーパスの変動に対する感度の悪い周波数であると考えられる。そこで、エコーキャンセラ装置では、計測音波発生器８が、フィルタ係数Ｗ２の時間変化量が他の周波数に比べて相対的に大きい周波数を動的に探索して計測周波数を選択することも可能とする。
【０１０８】
ここでフィルタ係数Ｗ２の変化量は、計測音波発生中のＷ２の時間差分ベクトルΔＷ２＝Ｗ２（ｔ＋１）−Ｗ２（ｔ）のＭ個の要素のうち、その絶対値が最大となるものと定義する。計測音波発生器８は、ΔＷ２のＭ個の要素を監視し、その変化量が所定期間、任意の閾値以上とならないとき、別の計測周波数を探索する。
【０１０９】
探索は次のように行う。所定の周波数候補一覧Ｂの中で、現在の計測周波数Ｆを除いた周波数を探索候補周波数Ｃとし、これらの周波数を順番に通過させるよう、第２バンドパスフィルタ９のフィルタバンクを動的に構成し、同じく順番にその周波数成分だけを含む計測音波を発生した状態で、それぞれの周波数に対するＷ２の変化量を測る。そして、この値の高い順に必要数の周波数を選択して新たな計測周波数Ｆ’とする。なお、エコーキャンセラ装置はこの機能をパラメータで選択可能である。また、上記した別音源の検出の場合と同様、この周波数探索を通話開始以前に実行することも可能である。
【０１１０】
また、エコーキャンセラ装置では、計測周波数のエコーパスと通話帯域のエコーパスを近づけるために、計測周波数に通話帯域の空き周波数を使うことも可能である。
【０１１１】
第２バンドパスフィルタ９の場合と同様、第１バンドパスフィルタ５をフィルタバンクで構成し、所定期間過去から現時点までのフィルタバンク出力の時間平均パワーを、計測音波発生器８が時間平均パワーデータＰとして記憶するようにしておく。ここで、Ｐは第１バンドパスフィルタ５のフィルタバンク数を要素数とするベクトルである。
【０１１２】
上記した別音源の検出の場合と同様、ある計測周波数Ｆで稼働中に、ダブルトーク検出頻度が任意の閾値以上となったことを検知した計測音波発生器８は、記憶してある時間平均パワーデータＰから空き周波数を時間平均パワーの小さい順に必要数選び出して、新たな計測周波数Ｆ’とする。なお、エコーキャンセラ装置はこの機能をパラメータで選択可能である。また、上記した別音源の検出の場合と同様、この周波数探索を通話開始以前に実行することも可能である。
【０１１３】
通話帯域の周波数を計測周波数とした場合、計測音波は利用者に聴こえる音となっている。そこで、計測音波発生器８は、この音が耳障りになりにくいよう、計測音波の音量が受信入力される遠端音声の音量よりも十分小さくなるように、非可聴域を用いるときよりもその出力レベルを下げて計測音波を発生する。
【０１１４】
なお、エコーキャンセラ装置では、第１線形フィルタ６と第２線形適応フィルタ１０のフィルタ長を異なる長さに設定しておくことが可能である。
【０１１５】
例えば、第２線形適応フィルタ１０のフィルタ長を第１線形フィルタ６のフィルタ長よりも短くすることで、従来の典型的なエコーキャンセラのように第１線形フィルタ６を適応フィルタとして、より長いフィルタ長で学習させた場合よりも、フィルタの学習に要する計算コストを下げることが可能になる。
【０１１６】
（第２の実施形態）
次に、本発明の第２の実施形態のエコーキャンセラ装置について図２に基づいて説明する。図２は、本実施形態のエコーキャンセラ装置の機能ブロック構成を示す。本実施形態のエコーキャンセラ装置は第１の実施形態に前記フィルタ係数データを学習蓄積できる学習モードの機能を追加した構成である。
【０１１７】
この構成により、上記のＣＦやＣＷが任意の閾値以上となるフィルタ係数データ候補Ｄが見つからないときに、装置の破綻を防ぐことができる。
【０１１８】
図２中の各部１〜５、７〜１４は第１の実施形態と同一の機能ブロックである。但し、第１の実施形態では、第１線形フィルタ６であったものが、第１線形適応フィルタ（図中では「ＬＡＦ１」と呼ぶ）１５となり、新たに第１ダブルトーク検出器（図中では「ＤＴＤ１」と呼ぶ）１６と、フィルタ係数登録器（図中では「ＦＲＥＧ」と呼ぶ）１７が加わっている。
【０１１９】
第１の実施形態と同じく、図２に示すように、遠端音声と他の音声を混合して出力する混合器１、混合器１の出力を拡声出力するスピーカ２、音響結合により生じるエコーパス３、マイク４、通話帯域音声を選択的に通過させる第１バンドパスフィルタ５、第１減算器７を有する。
【０１２０】
また、図２に示すように、単なる線形フィルタではなく、適応アルゴリズムを用いて通話帯域のエコーパスを学習するための第１線形適応フィルタ１５、通話帯域のダブルトーク状態を検出する第１ダブルトーク検出器１６を有する。
【０１２１】
この第１ダブルトーク検出器１６には、上記の特許文献１に開示される方法を用いることができる。
【０１２２】
第１線形適応フィルタ１５は、受信信号を参照信号として通話帯域音声の第１エコーレプリカ信号を生成する。
【０１２３】
第１減算器７は、第１バンドパスフィルタ５を通過した通話帯域音声から第１線形適応フィルタ１５で生成された第１エコーレプリカ信号を差し引くことで、送信出力としての第１差分信号を得る。
【０１２４】
さらに、第１線形適応フィルタ１５は、第１ダブルトーク検出器１６がダブルトークを検出していない期間で、第１差分信号のパワーを最小化するフィルタ適応をＬＭＳアルゴリズムで行う。この結果、図２に例示したような線形適応フィルタを用いたエコーキャンセラが構成される。
【０１２５】
また、第１の実施形態と同じく、図２に示すように、所定の周波数を持つ計測音波を発生させる計測音波発生器８、この計測音波を選択的に通過させる第２バンドパスフィルタ９、この計測音波のエコーパスを学習する第２線形適応フィルタ１０、第２減算器１１、この計測音波のダブルトーク状態を検出する第２ダブルトーク検出器１２を有する。
【０１２６】
計測音波発生器８で発生された所定周波数の計測音波が混合器１で受信信号と混合されてスピーカ２より出力される。出力された計測音波はエコーパス３を経由してマイク４で受音され、第２バンドパスフィルタ９を通過する。
【０１２７】
第２線形適応フィルタ１０は、エコーパス３の計測音波に関する伝達特性を模擬するフィルタであり、計測音波発生器８からの計測信号にこの伝達特性を計算的に反映させることで、計測音波に関する音響エコーを模擬する第２エコーレプリカ信号を生成する。
【０１２８】
第２減算器１１は、第２バンドパスフィルタ９の通過信号からこの第２エコーレプリカ信号を差し引くことで、第２差分信号を生成する。
【０１２９】
第２線形適応フィルタ１０は、ダブルトーク検出器１２が非ダブルトーク状態と判定している間、第２差分信号のパワーを最小化する適応を行うことで、この計測音波のエコーパスを学習するフィルタ適応を行う。
【０１３０】
図２に示すように、計測信号の計測周波数と第２線形適応フィルタ１０のフィルタ係数Ｗ２と第１線形適応フィルタ１５のフィルタ係数Ｗ１の候補を組にしたフィルタ係数データ候補Ｄを記憶するためのフィルタ係数データベース１３、第２線形適応フィルタ１０のフィルタ係数Ｗ２と計測周波数に基づいて、所定のフィルタ係数Ｗ１をフィルタ係数データベース１３から選択して第１線形適応フィルタ１５に設定するフィルタ係数選択器１４を有する。
【０１３１】
また、図２に示すように、第１線形適応フィルタ１５のフィルタ係数Ｗ１と第２線形適応フィルタ１０のフィルタ係数Ｗ２と計測周波数Ｆを組にしてフィルタ係数データベース１３に記憶させるフィルタ係数登録器１７を有する。
【０１３２】
エコーキャンセラ装置では、フィルタ係数データベース１３に十分なフィルタ係数データ候補Ｄが蓄積されていない場合がある。
【０１３３】
すなわち、フィルタ係数選択器１４が、第２線形適応フィルタ１０のフィルタ係数Ｗ２と計測周波数Ｆに基づいて、適合するフィルタ係数データをフィルタ係数データベース１３のデータ候補から選択するとき、計測周波数Ｆとフィルタ係数Ｗ２の適合するものが見つからなかった場合がある。
【０１３４】
そのときには、フィルタ係数選択器１４が、第１線形適応フィルタ１５に対してエコーパスの学習を、フィルタ係数登録器１７に対して動作の開始をそれぞれ指令して学習モードに入る。
【０１３５】
学習モードにおいて、フィルタ係数登録器１７は、この第１線形適応フィルタ１５のフィルタ係数Ｗ１の変化を監視し始め、変化量が任意の閾値未満に収束した段階で、このときのフィルタ係数Ｗ１と、第２線形適応フィルタ１０のフィルタ係数Ｗ２と、計測周波数Ｆとを組にして、フィルタ係数データベース１３にデータ候補として登録する。
【０１３６】
この登録が完了すると、フィルタ係数登録器１７による学習モードは停止し、再びフィルタ係数選択器１４が動作を開始する。
【０１３７】
本実施形態によれば、エコーキャンセラ装置は、事前に十分なフィルタ係数データの候補の蓄積がなくても、または、蓄積していたフィルタ係数データが通用しない未知の環境であっても、上記した学習モードを行うことで、次第にその環境で通用するフィルタ係数データを運用中に蓄積し、蓄積後は第１の実施形態の如く動作することで、通話帯域音声がダブルトークであってもエコーパス変動に追従できる。
【０１３８】
なお、第１の実施形態と同様、エコーキャンセラ装置も、別音源の有無、エコー強度、フィルタ係数Ｗ２の時間変化量などの情報に基づいて計測周波数の動的な探索を行うことができる。
【０１３９】
そして、エコーキャンセラ装置は、エコーキャンセラとして稼動している状態で周波数探索を行うときは、フィルタ係数選択器１４を停止させ、第１線形適応フィルタ１５を適応フィルタとして稼動させて通話帯域のエコーパス変動に追従する。この結果、本装置は、第１の実施形態のように周波数探索中にエコーパス変動への追従能力を失うことがない。
【０１４０】
また、エコーキャンセラ装置では、計測音波発生器８が、定期的に第１線形適応フィルタ１５を適応フィルタとして動作させ、その間のフィルタ係数Ｗ１の変化と、このとき同時に稼動している第２線形適応フィルタ１０のフィルタ係数Ｗ２の変化とを比較し、両者の同期が取れているか否かを評価することも可能である。
【０１４１】
フィルタ係数をベクトルＷで表すと、そのノルム（長さ）を所定期間分、時系列に配置して成るベクトルをＱと定義する。ＱはＷの時間変化を表すベクトルである。同期の度合いを表す同期度ＣＳを、フィルタ係数Ｗ１とＷ２について各々求めた時間変化ベクトルＱ１とＱ２の内積をノルムで正規化した値として次の（２）式で定義する。計測音波発生器８は、このＣＳが任意の閾値未満であることを検知すると、現在の計測周波数Ｆとは別の有効な計測周波数Ｆ’を探索する。
【数２】
2010011265.tif 000004
【０１４２】
探索は次のように行う。
【０１４３】
所定の周波数候補一覧Ｂの中で、現在の計測周波数Ｆを除いた周波数を探索候補周波数Ｃとし、これらの周波数を順番に通過させるよう、第２バンドパスフィルタ９のフィルタバンクを動的に構成し、同じく順番にその周波数成分だけを含む計測音波を発生した状態で、それぞれの周波数に対する同期度ＣＳを測る。
【０１４４】
そして、この値の高い順に必要数の周波数を選択して新たな計測周波数Ｆ’とする。なお、エコーキャンセラ装置はこの機能をパラメータで選択可能である。また、上記した別音源の検出の場合と同様、この周波数探索を通話開始以前に実行することも可能である。
【０１４５】
（第３の実施形態）
次に、本発明の第３の実施形態のエコーキャンセラ装置について図３に基づいて説明する。図３は、本実施形態のエコーキャンセラ装置の機能ブロック構成を示す。
【０１４６】
本実施形態のエコーキャンセラ装置は、第２の実施形態に新たにエコー消去能力評価器（図中では「ＥＣＥＶ」と呼ぶ）１８と、フィルタ係数評価器（図中では「ＦＶＥＶ」と呼ぶ）１９を加えた構成となっており、図３中の各部１〜１７は第２の実施形態の構成と同じである。
【０１４７】
本実施形態では、エコー消去能力評価器１８でエコー消去能力を評価し、このエコー消去能力が所定の基準に満たないとき、フィルタ係数選択器１４によるフィルタ係数選択の破綻を検知し、フィルタ係数登録器１７による学習モードに入る。
【０１４８】
エコー消去能力は、シングルトーク状態で測ったマイク入力パワーを第１差分信号の差分出力パワーで割った値の対数値として次の（３）式で定義されるエコー消去能力量Ｅを使って評価する。
【数３】
2010011265.tif 000005
【０１４９】
エコー消去能力評価器１８はマイク入力と第１差分信号のそれぞれについて、第１ダブルトーク検出器１６が非ダブルトーク状態を出力している間の移動平均パワーを計算し、その値からエコー消去能力量Ｅを求めて監視する。
【０１５０】
そして、このエコー消去能力量Ｅが任意の閾値を下回るのを検出すると、フィルタ係数選択器１４に停止指令を、フィルタ係数登録器１７に作動指令を送る。
【０１５１】
停止指令を受けたフィルタ係数選択器１４は第１線形適応フィルタ１５にエコーパスの学習モードを開始させる。
【０１５２】
同時に、フィルタ係数登録器１７は学習モードを開始した第１線形適応フィルタ１５のフィルタ係数Ｗ１の変化量を監視し、差分ベクトルΔＷ１＝Ｗ１（ｔ＋１）−Ｗ１（ｔ）のＮ個の要素全ての絶対値が任意の閾値未満となる状態が所定期間継続したとき、学習が収束したと判断して、このときのフィルタ係数Ｗ１と、第２線形適応フィルタ１０のフィルタ係数Ｗ２と、計測周波数Ｆとを組にして、フィルタ係数データベース１３に登録する。
【０１５３】
このとき、フィルタ係数データ候補Ｄとして登録しようとしているフィルタ係数データとＦ及びＷ２が共に一致するフィルタ係数データ候補Ｄがフィルタ係数データベース１３に存在した場合は、そのＷ１を新しいＷ１の値で上書きする。そうでない場合は、新たなフィルタ係数データを生成してフィルタ係数データベース１３にフィルタ係数データ候補Ｄとして記憶させる。
【０１５４】
この登録が完了すると、フィルタ係数登録器１７は停止し、再びフィルタ係数選択器１４が動作を開始して通常の動作モードに入る。
【０１５５】
本実施形態によれば、エコーキャンセラ装置は、ＦとＷ２を見る限り適合しているはずのフィルタ係数Ｗ１がエコーを消去しきれないような未知の環境変動が生じても、上記した学習処理を行うことで、その環境で通用するフィルタ係数データを運用中に蓄積し、蓄積後は第１の実施形態の如く動作することで、通話帯域音声がダブルトークであってもエコーパス変動に追従できる。
【０１５６】
（第４の実施形態）
次に、本発明の第４実施形態のエコーキャンセラ装置について図４に基づいて説明する。図４は、本実施形態のエコーキャンセラ装置の機能ブロック構成を示す。
【０１５７】
エコーキャンセラ装置は、第３の実施形態に新たにフィルタ係数評価器（図中では「ＦＶＥＶ」と呼ぶ）１９を加えた構成となっている。図４に示すように、各部１〜１８は第３の実施形態の構成と同じである。
【０１５８】
本実施形態では、フィルタ係数評価器１９が第２線形適応フィルタ１０のフィルタ係数Ｗ２の変化を監視する。そして、差分ベクトルΔＷ２＝Ｗ２（ｔ＋１）−Ｗ２（ｔ）のＭ個の要素のうち、１つでもその絶対値が任意の閾値以上となったとき、エコーパスが急激に変動したと判断し、フィルタ係数選択器１４に停止指令を送り、フィルタ係数登録器１７に作動指令を送る。
【０１５９】
停止指令を受けたフィルタ係数選択器１４は、第１線形適応フィルタ１５にエコーパスの学習モードを開始させる。
【０１６０】
同時に、フィルタ係数登録器１７は学習モードを開始した第１線形適応フィルタ１５のフィルタ係数Ｗ１の変化量を監視し、差分ベクトルΔＷ１＝Ｗ１（ｔ＋１）−Ｗ１（ｔ）のＮ個の要素全ての絶対値が任意の閾値未満となる状態が所定期間継続したとき、学習が収束したと判断する。このときのフィルタ係数Ｗ１と、第２線形適応フィルタ１０のフィルタ係数Ｗ２と、計測周波数Ｆとを組にして、フィルタ係数データベース１３に候補として登録する。
【０１６１】
このとき、データ候補として登録しようとしているフィルタ係数データとＦ及びＷ２が共に一致するフィルタ係数データ候補Ｄが、フィルタ係数データベース１３に存在した場合は、そのＷ１を新しいＷ１の値で上書きする。そうでない場合は、新たなフィルタ係数データ候補Ｄを生成してフィルタ係数データベース１３に記憶させる。
【０１６２】
この登録が完了すると、フィルタ係数登録器１７は停止し、再びフィルタ係数選択器１４が動作を開始して通常の動作モードに入る。
【０１６３】
本実施形態によれば、エコーキャンセラ装置は、急激な環境変動が生じた場合、フィルタ係数データベース１３に記憶されているフィルタ係数データが変動後の環境で通用するか否かを評価することなく、最新のフィルタ係数データを即座に学習し、その後は第１の実施形態の如く動作することで、通話帯域音声がダブルトークであってもエコーパス変動に追従できる。
【０１６４】
（変更例）
本発明は。上記各実施形態で述べた構成に限定されるものではなく、その要旨を逸脱しない限り様々に変形して実施することが可能である。
【０１６５】
（１）変更例１
上記各実施形態では、音響エコーとして、受信信号と線形フィルタを畳み込むことで模擬可能な線形エコーを考慮してきた。そのため、通話帯域のエコー除去するフィルタとして、第１線形フィルタ６や第１線形適応フィルタ１５という線形フィルタを用いる実施形態を示してきた。しかし、スピーカによる歪みや筐体を通じてスピーカの振動がマイクに伝わるなどの原因で、音響エコーに非線形エコー成分が含まれることがある。この非線形エコー成分があると、線形適応フィルタで模擬できないため、差分信号にはこの成分が消し残ってしまう。一方、非線形フィルタを用いると、この非線形エコー成分を模擬できることが知られている。
【０１６６】
そのため、変更例としては、通話帯域のエコー除去する第１線形フィルタ６や第１線形適応フィルタ１５を非線形フィルタや非線形適応フィルタで構成することも可能である。
【０１６７】
非線形エコーの伝達特性はスピーカの性能や筐体内のマイクとスピーカの設置方法が変わらなければ大きく変動しない。そのため、計測音波によるフィルタ係数Ｗ２と非線形フィルタのフィルタ係数の相関関係は線形エコー成分に大きく依存する。ゆえに、非線形フィルタを用いても、フィルタ係数選択器１４が適当なフィルタ係数を選択可能であると考えられる。
【０１６８】
非線形フィルタとしては、「Volterra Kernel」が知られている。
【０１６９】
また、非線形適応フィルタとしては、「適応Volterra Filter」が知られている。
【０１７０】
（２）変更例２
上記各実施形態のエコーキャンセラ装置の混合器１、第１バンドパスフィルタ５、第１線形フィルタ６、第１減算器７、計測音波発生器８，第２バンドパスフィルタ９、第２線形適応フィルタ１０、第２減算器１１，第２ダブルトーク検出器１２、フィルタ係数選択器１４の各部の機能をコンピュータに格納されたプログラムによっても実現可能である。
【図面の簡単な説明】
【０１７１】
【図１】本発明に係る第１の実施形態のエコーキャンセラ装置の機能ブロック構成を示した図である。
【図２】第２の実施形態のエコーキャンセラ装置の機能ブロック構成を示した図である。
【図３】第３の実施形態のエコーキャンセラ装置の機能ブロック構成を示した図である。
【図４】第４の実施形態のエコーキャンセラ装置の機能ブロック構成を示した図である。
【符号の説明】
【０１７２】
１    混合器（ＭＩＸ）
２    スピーカ
３    エコーパス
４    マイク
５    第１バンドパスフィルタ（ＢＰＦ１）
６    第１線形フィルタ
７    第１減算器
８    計測音波発生器（ＳＧＥＮ）
９    第２バンドパスフィルタ（ＢＰＦ２）
１０    第２線形適応フィルタ（ＬＡＦ２）
１１    第２減算器
１２    第２ダブルトーク検出器（ＤＴＤ２）
１３    フィルタ係数データベース（ＦＤＢ）
１４    フィルタ係数選択器（ＦＳＥＬ）
【図１】
2010011265.tif 000006
【図２】
2010011265.tif 000007
【図３】
2010011265.tif 000008
【図４】
2010011265.tif 000009