(57)【要約】【課題】エコーキャンセラにおいてエコー消去能力と収束速度を改善する。【解決手段】第１の信号系列ｘ(t)にタップ係数を畳み込むフィルタ処理を行って第２の信号系列ｙ(t)を生成するフィルタ２と、第１の信号系列ｘ(t)のエコーが含まれる第３の信号系列ｍ(t)から第２の信号系列を減算して第４の信号系列ｅ(t)を生成する減算器３と、タップ係数を第４の信号系列ｅ(t)の関数Ｇ(e(t))をパラメータとする修正量に従って修正する修正部４と有する信号処理装置において、関数Ｇ(e(t))はｅ(t)が０のときのＧ(e(t))の傾き及び値をそれぞれ傾き及び切片として持つ直線Ｆ(e(t))に対して、ｅ(t)が負の範囲においてＦ(e(t))より小さい値をとる第１領域、及び第４の信号系列ｅ(t)が正の範囲においてＦ(e(t))より大きい値をとる第２領域の少なくとも一方を有し、かつ関数Ｇ(e(t))の値はリミッタがかけられていることを特徴とする。【選択図】  図１
2010226629.tif 000002
【特許請求の範囲】
【請求項１】
第１の信号系列にタップ係数を畳み込むフィルタ処理を行って第２の信号系列を生成するステップと、
前記第１の信号系列のエコーが含まれる第３の信号系列から前記第２の信号系列を減算して第４の信号系列を生成するステップと、
前記タップ係数を前記第４の信号系列の関数をパラメータとする修正量に従って修正するステップと、を具備し、
前記関数は、前記第４の信号系列が０のときの前記関数の傾き及び値をそれぞれ傾き及び切片として持つ直線に対して、前記第４の信号系列が負の範囲において前記直線より小さい値をとる第１領域及び前記第４の信号系列が正の範囲において前記直線より大きい値をとる第２領域の少なくとも一方を有し、かつ前記関数の値はリミッタがかけられていることを特徴とする信号処理方法。
【請求項２】
第１の信号系列にタップ係数を畳み込むフィルタ処理を行って第２の信号系列を生成するフィルタと、
前記第１の信号系列のエコーが含まれる第３の信号系列から前記第２の信号系列を減算して第４の信号系列を生成する減算器と、
前記タップ係数を前記第４の信号系列の関数をパラメータとする修正量に従って修正する修正部と、を具備し、
前記関数は、前記第４の信号系列が０のときの前記関数の傾き及び値をそれぞれ傾き及び切片として持つ直線に対して、前記第４の信号系列が負の範囲において前記直線より小さい値をとる第１領域、及び前記第４の信号系列が正の範囲において前記直線より大きい値をとる第２領域の少なくとも一方を有し、かつ前記関数の値はリミッタがかけられていることを特徴とする信号処理装置。
【請求項３】
前記関数は、傾きが正の領域を含むことを特徴とする請求項２に記載の信号処理装置。
【請求項４】
前記関数は、（ａ）前記第４の信号系列の絶対値が第１の閾値以下であるとき、前記第１の閾値より大きい第２の閾値の逆数を前記第４の信号系列に乗じた第１の値を出力し、（ｂ）前記絶対値が前記第１の閾値を越え、前記第２の閾値未満であるとき、前記第４の信号系列が負であれば前記第１の値より小さい第２の値を出力し、前記第４の信号系列が正であれば前記第１の値より大きい第３の値を出力し、（ｃ）前記絶対値が前記第２の閾値以上であるとき、前記第４の信号系列の符号関数を表す第４の値を出力することを特徴とする請求項２に記載の信号処理装置。
【請求項５】
前記関数は、前記第４の信号系列の絶対値が前記第１の閾値を超えるとき前記第４の信号系列の符号関数であることを特徴とする請求項４に記載の信号処理装置。
【請求項６】
前記関数は、傾きが０の領域を含むことを特徴とする請求項２に記載の信号処理装置。
【請求項７】
前記切片が０であることを特徴とする請求項２に記載の信号処理装置。
【請求項８】
前記関数は、前記第４の信号系列の絶対値が予め設定された閾値以下であるとき０を出力する第１の関数で与えられ、それ以外のとき前記第４の信号系列と同符号の値を出力する第２の関数で与えられることを特徴とする請求項２に記載の信号処理装置。
【請求項９】
コンピュータを
第１の信号系列にタップ係数を畳み込むフィルタ処理を行って第２の信号系列を生成するフィルタと、
前記第１の信号系列のエコーが含まれる第３の信号系列から前記第２の信号系列を減算して第４の信号系列を生成する減算器と、
前記タップ係数を前記第４の信号系列の関数をパラメータとする修正量に従って修正する修正部と、を具備し、
前記関数は、前記第４の信号系列が０のときの前記関数の傾き及び値をそれぞれ傾き及び切片として持つ直線に対して、前記第４の信号系列が負の範囲において前記直線より小さい値をとる第１領域、及び前記第４の信号系列が正の範囲において前記直線より大きい値をとる第２領域の少なくとも一方を有し、かつ前記関数の値はリミッタがかけられていることを特徴とする信号処理装置として機能させるための信号処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エコーキャンセルのための信号処理方法、装置及びプログラムに関する。
【背景技術】
【０００２】
音響エコーキャンセラは、例えば伝送路を通じて音声の送受信を行い、受信した相手端末からの音声（遠端音声）をスピーカから拡声出力し、マイクで受音した自端末の音声（近端音声）を送信する拡声通話装置に用いられる。スピーカから出力された遠端音声がマイクに拾われると、相手端末では自分の発した音声がエコー（音響エコーという）となって返ってくる現象が発生する。通常、伝送路にはある程度の遅延が発生するため、音響エコーは会話を行う上で妨害となることが知られている。
【０００３】
このような音響エコーを除去または低減するために、エコーキャンセラが用いられる。自端末側では音響エコーの元になっている受信入力が判っているので、音響エコーの回り込み経路であるエコーパスの伝達特性と同じ変換を受信入力に施せば、マイク出力に混入している音響エコーを模擬するエコーレプリカを内部的に作り出すことができる。このエコーレプリカをマイク出力から差し引くことで、音響エコーが抑えられた出力信号（誤差信号）を生成することができる。この処理を行う仕掛けがエコーキャンセラである。
【０００４】
エコーキャンセラでは、エコーパスの伝達特性を模擬するための線形フィルタとしてタップ数Ｎの非巡回型線形フィルタ（ＦＩＲフィルタ）がよく使われ、このフィルタのタップ係数を受信入力に畳み込むことでエコーレプリカを生成する。
【０００５】
一般に、時々刻々変化する未知のエコーパスの伝達特性を瞬時に正しくフィルタに与えることは難しい。そこで、観測信号に基づいて漸近的に見出していく適応アルゴリズムが用いられる。適応アルゴリズムの１グループとして、タップ係数に関する瞬時二乗誤差の勾配（確率勾配）方向にタップ係数を修正する確率勾配アルゴリズムが知られている。確率勾配アルゴリズムとしては、ＬＭＳアルゴリズム（最小平均二乗誤差アルゴリズム）やＮＬＭＳアルゴリズム（正規化ＬＭＳアルゴリズム）が知られている。
【０００６】
しかし、ＬＭＳアルゴリズムやＮＬＭＳアルゴリズムにおけるタップ係数修正量は、参照信号に比例し、かつ誤差信号にも比例する青天井の量となる。そのため、近端音声と遠端音声が同時に存在するダブルトーク時には、誤差信号に含まれる近端音声に呼応して大きな誤修正が発生してしまう。この誤修正を避けるため、ダブルトーク時にはタップ係数の修正を量的に抑制するか完全に停止する必要がある。これらのアルゴリズムを採用する場合、ダブルトークを検出してタップ係数修正部を制御するためにダブルトーク検出器を設けることが必要となる。
【０００７】
特許文献１（特許第３８７０８６１号公報）には、参照信号と誤差信号が相互に独立となるようタップ係数を修正させるために、情報エントロピー最大化に基づく独立成分分析（Infomax法）を応用したエコーキャンセラが開示されている。特許文献１のエコーキャンセラは、誤差信号e(t)の関数Ｇ(e(t))を符号関数：sign(e(t))、ハイパーボリックタンジェント関数：tanh(e(t))、あるいはシグモイド関数：1/(1+exp(-e(t)))としたタップ係数修正式を用いる。これらの関数を用いるアルゴリズムを総称して以後Infomax方式と呼ぶことにする。これらの関数の形状からInfomax方式では一定レベルを限界に係数の修正規模が頭打ちになるため、ダブルトーク時の誤修正が抑えられると考えられる。このことから、Infomax方式はダブルトーク検出器をことさら設ける必要がなく、装置構成をより小さくできるという長所を持つ。
【０００８】
しかしながら、Infomax方式の残留エコーレベルは高い、すなわちエコーの消し残しが大きい。これは微小誤差時の係数修正規模が過大であるため、オーバーシュートが発生するためと考えられる。
【０００９】
一方、特許文献２（特許第２８８５２６９号公報）には、符号アルゴリズムの小誤差域で修正量が誤差信号e(t)に比例する線形帯を関数Ｇ(e(t))に設けたタップ係数修正式が開示されている。この線形帯のオーバーシュート抑制効果により、特許文献２のアルゴリズムでは符号アルゴリズムよりも残留エコーレベルが小さくなる。別の見方をすれば、特許文献２のアルゴリズムはＬＭＳアルゴリズムに修正規模のリミッタを設けたアルゴリズムである。この関数を用いるアルゴリズムを以後Ideal Limiter方式と呼ぶことにする。このリミッタの効果により、Infomax方式と同様、特許文献２の方式もダブルトークへの頑健性を発揮する。しかし、Ideal Limiter方式によるタップ係数の収束速度は、Infomax方式のそれに比べて遅い。その理由が線形帯での相対的な修正規模の少なさにあることは、明白である。
【００１０】
さらに、特許文献３（特開２００４−６４６８１号公報）にはＬＭＦ(Least Mean Fourth)アルゴリズムと同様の収束性を加速する効果を奏する適応アルゴリズムが開示されている。しかし、特許文献３のアルゴリズムではＬＭＳアルゴリズムと同様にダブルトークへの頑健性は得られない。また、タップ係数の修正規模が誤差信号の瞬時絶対値に応じて単調増加するため、ＬＭＦ(Least Mean Fourth)アルゴリズムと同様にダブルトーク時の誤修正が大きくなる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第３８７０８６１号公報
【特許文献２】特許第２８８５２６９号公報
【特許文献３】特開２００４−６４６８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、エコー消去能力や収束速度を改善した信号処理方法と装置及びプログラムを提供することである。
【課題を解決するための手段】
【００１３】
本発明の一態様によると、第１の信号系列にタップ係数を畳み込むフィルタ処理を行って第２の信号系列を生成するフィルタと、前記第１の信号系列のエコーが含まれる第３の信号系列から前記第２の信号系列を減算して第４の信号系列を生成する減算器と、前記タップ係数を前記第４の信号系列の関数をパラメータとする修正量に従って修正する修正部と、を具備し、前記関数は、前記第４の信号系列が０のときの前記関数の傾き及び値をそれぞれ傾き及び切片として持つ直線に対して、前記第４の信号系列が負の範囲において前記直線より小さい値をとる第１領域、及び前記第４の信号系列が正の範囲において前記直線より大きい値をとる第２領域の少なくとも一方を有し、かつ前記関数の値はリミッタがかけられていることを特徴とする信号処理装置を提供する。
【発明の効果】
【００１４】
本発明によれば、エコーキャンセラにおけるエコー消去能力と収束速度の改善を図ることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る信号処理装置（音響エコーキャンセラ）を示すブロック図
【図２】図１の信号処理装置の処理の流れを示すフローチャート
【図３】Infomax方式の３つの関数のグラフを示す図
【図４】Ideal Limiter方式の関数のグラフを示す図
【図５】従来技術に基づく関数Ｇ(e(t))の形状を模式的に表した図
【図６】本発明の一実施形態に基づく関数Ｇ(e(t))の形状を模式的に表した図
【図７】本発明の一実施形態に基づく過修正帯Ideal Limiter方式の関数のグラフを示す図
【図８】過修正帯幅Ｂを変えたときのERLE最大値の推移
【図９】過修正帯幅Ｂを変えたときの収束速度の推移
【図１０】振幅を変えたときのERLE最大値の推移
【図１１】不感帯を与えたsign関数のグラフを示す図
【図１２】不感帯幅Ｃを変えたときのERLE最大値の推移を示す図
【図１３】振幅を変えたときのERLE最大値の推移を示す図
【図１４】関数を変えたときのERLE最大値の推移を示す図
【図１５】振幅を変えたときのERLE最大値の推移（正規化）を示す図
【図１６】振幅を変えたときの収束速度の推移（正規化）を示す図
【図１７】コンピュータを使った本発明の一実施形態に基づく信号処理装置を示すブロック図
【図１８】記録媒体を用いた実施形態を示す図
【図１９】本発明の他の実施形態に係る、音響エコーキャンセラと回線エコーキャンセラを備える拡声通話装置を示すブロック図
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について説明する。  
図１に示されるように、本発明の一実施形態に係る信号処理装置１は線形フィルタ２、減算器３及びタップ係数修正部４を有する。伝送路から受信入力端子５への受信入力である遠端音声は、参照信号ｘ(t)（第１の信号系列）として信号処理装置１の線形フィルタ２とタップ係数修正部４に入力されると共に、スピーカ６から拡声出力される。
【００１７】
一方、近端音声とスピーカ６からの拡声出力がエコーパスを通じて回り込んだ音響エコーとが受音されるマイクロホン７からの出力ｍ(t)（第３の信号系列）は、信号処理装置１に入力される。
【００１８】
線形フィルタ２は、エコーパスの伝達特性を模擬するためのタップ数Ｎの非巡回型線形フィルタ（ＦＩＲフィルタ）であり、受信入力された参照信号ｘ(t)から音響エコーのエコーレプリカ信号ｙ(t)（第２の信号系列）を式（１）に従って生成する。すなわち、線形フィルタ２では参照信号ｘ(t)にフィルタ２のタップ係数ｗ(k,t)を畳み込むフィルタ処理を行うことで、エコーレプリカ信号ｙ(t)を生成する。
【数１】
2010226629.tif 000003
【００１９】
ここで、エコーレプリカ信号ｙ(t)は時系列信号であり、時刻ｔにおけるエコーレプリカの値を表す。ｗ(k,t)は、フィルタ２のタップ番号ｋのタップ係数の時刻ｔにおける値を表す。ｘ(t-k)は、時刻ｔからｋ時刻過去に遡った参照信号の値である。Ｎは、タップ数である。Ｗ(t)とＸ(t)は、下記の式（２）に示すようにｋを０からＮ−１まで変えたときのタップ係数ｗ(k,t)及び参照信号ｘ(t-k)の値をそれぞれ並べた列ベクトルである。
【数２】
2010226629.tif 000004
【００２０】
こうして生成されたエコーレプリカ信号ｙ(t)は、式（３）に示すように減算器３においてマイク出力ｍ(t)から差し引かれる。これにより送信出力たる誤差信号（第４の信号系列）ｅ(t)（瞬時値）が生成され、送信出力端子８から出力される。
【数３】
2010226629.tif 000005
【００２１】
タップ係数修正部４では、式（４）の漸化式で表されるタップ係数修正式を用いて線形フィルタ２のタップ係数を修正する。
【数４】
2010226629.tif 000006
【００２２】
式（４）は、確率勾配アルゴリズムに基づく一般化されたタップ係数修正式である。Ｗ(t)は修正前のタップ係数、Ｗ(t+1)は修正後のタップ係数である。式（４）の右辺第２項は、タップ係数の修正量を表す。正数γは正規化係数、正数μは修正の規模を制御するためのステップサイズ、Ｇ(e(t))は誤差信号（瞬時値）ｅ(t)の関数であり、いずれもスカラ量である。なお、一般的には正規化係数γとステップサイズμの積を１つの量としてステップサイズと呼ぶが、ここでは説明のため、これら２つの量γ，μを分けて扱うものとする。
【００２３】
ここで、本実施形態では後述するようにタップ係数修正部４において使用される係数修正量のパラメータの一つである、誤差信号e(t)の関数Ｇ(e(t))の形状が従来技術とは異なる。
【００２４】
次に、図２を用いて本実施形態における処理の流れを説明する。  
初期設定処理ステップＳ１では、信号処理装置１の状態を初期化する。具体的には、線形フィルタ２のタップ係数をある初期値（多くの場合、この初期値は０である）に設定する。
【００２５】
信号入力処理ステップＳ２では、マイク出力ｍ(t)と遠端音声ｘ(t)を入力する。また、信号入力処理ステップＳ２は遠端音声ｘ(t)をスピーカ６より拡声出力する処理を含むこととする。
【００２６】
フィルタ処理ステップＳ３では、入力された遠端音声ｘ(t)を参照信号として音響エコーのエコーレプリカｙ(t)を式（１）に従って生成する。この処理は、線形フィルタ２によって実行される。
【００２７】
減算処理ステップＳ４では、マイク出力ｍ(t)からエコーレプリカｙ(t)を式（２）に従って差し引くことで、誤差信号ｅ(t)を生成する。また、減算処理ステップＳ４は得られた誤差信号ｅ(t)を送信出力する処理を含むこととする。この処理は、減算器３によって実行される。
【００２８】
タップ係数修正処理ステップＳ５では、誤差信号ｅ(t)から式（４）のタップ係数修正式を用いて線形フィルタ２のタップ係数を修正する。この処理は、タップ係数修正部４によって実行される。
【００２９】
次に、式（４）に含まれる、誤差信号e(t)の関数Ｇ(e(t))の形状について説明するが、その前に従来技術のアルゴリズムについて説明しておく。
【００３０】
式（４）に下記の式（５）で定義される関数Ｇ(e(t))と正規化係数γを適用したアルゴリズムは、ＬＭＳアルゴリズム（最小平均二乗誤差アルゴリズム）として知られている。
【数５】
2010226629.tif 000007
【００３１】
また、ＬＭＳアルゴリズムの正規化係数γを１ではなく１／ＸTＸとしたアルゴリズムは、ＮＬＭＳアルゴリズム（正規化ＬＭＳアルゴリズム）である。ＮＬＭＳアルゴリズムの定義については、後述する。ここで、ＸTＸは現在からＮ−１時刻過去までのＮ個の参照信号値のパワーの総和である。ＬＭＳアルゴリズムやＮＬＭＳアルゴリズムは、誤差信号の二乗平均値を最小化するタップ係数を各時刻の誤差信号ｅ(t)（瞬時値）を用いて漸近的に求めていくアルゴリズムとなる。
【００３２】
タップ係数修正量は、一般に式（４）に示したように参照信号ｘ(t)に比例するが、ＬＭＳアルゴリズムやＮＬＭＳアルゴリズムにおける係数修正量は、式（５）のＧ(e(t))＝ｅ(t)に示されるように誤差ｅ(t)にも比例する、いわゆる青天井の量となる。
【００３３】
一方、特許文献１のInfomax方式では、以下の式（６）に示す符号関数：sign(e(t))、ハイパーボリックタンジェント関数：tanh(e(t))、あるいはシグモイド関数：1/(1+exp(-e(t)))をパラメータとする係数修正式を用いる。
【数６】
2010226629.tif 000008
【００３４】
これら関数のグラフを図３（ａ）（ｂ）（ｃ）に示す。グラフの横軸は誤差信号ｅ(t)の値（瞬時値）、縦軸は関数Ｇ(e(t))の値である。sign(e(t))を採用した方式は、符号アルゴリズムとして知られている。tanh(e(t))と１／(1+exp(-e(t)))は、それぞれｅ(t)の全波領域（正負両域）と半波領域（専ら正領域）でsign(e(t))を近似する関数であり、これらの関数も符号アルゴリズムと同等の働きをすると考えられる。
【００３５】
図３（ａ）（ｂ）（ｃ）に示すように、Infomax方式では一定レベルを限界に係数の修正規模が頭打ちになるため、ダブルトーク時の誤修正が抑えられ、ダブルトーク検出器が不要となる。しかしながら、Infomax方式では残留エコーレベルが高い。これは微小誤差時（図３（ａ）（ｂ）（ｃ）の原点）の係数修正規模が過大であるため、オーバーシュートが発生するためと考えられる。
【００３６】
一方、特許文献２に開示されたタップ係数修正式は、次式（７）で定義されるように、符号アルゴリズムの小誤差域（|e(t)|≦Ａ）でタップ係数の修正量が誤差に比例する線形帯が関数Ｇ(e(t))に設けられている。
【数７】
2010226629.tif 000009
【００３７】
式（７）の関数のグラフを図４に示す。図４のグラフの横軸は誤差信号ｅ(t)（瞬時値）、縦軸は関数Ｇ(e(t))の値である。図４では、符号アルゴリズムの小誤差域でタップ係数の修正量が誤差信号e(t)に比例する線形帯（幅Ａとする）が関数Ｇ(e(t))に設けられており、この線形帯のオーバーシュート抑制効果により残留エコーレベルが小さくなる。別の見方をすれば、特許文献２のアルゴリズムはＬＭＳアルゴリズムにタップ係数の修正規模についてのリミッタを設けたものである。そこで、特許文献２の方式を以後Ideal Limiter方式と呼ぶことにする。このリミッタの効果により、Infomax方式と同様、Ideal Limiter方式もダブルトークへの頑健性を発揮する。
【００３８】
しかし、図４の線形帯での相対的なタップ係数修正規模が少ないため、特許文献２のIdeal Limiter方式によるタップ係数の収束速度は、特許文献１のInfomax方式のそれに比べて遅いという問題がある。
【００３９】
特許文献１のInfomax方式と特許文献２のIdeal Limiter方式の間では、誤差信号ｅ(t)（瞬時値）の関数であるＧ(e(t))の違いにより、上述のように残留エコーや収束速度の相違が生じている。このような相違が生じる理由は、ｅ(t)の出現確率にあると思われる。一般的に、タップ係数の修正初期には誤差の規模が大きい状態が続く。この状態では、微小誤差域や線形帯域に入るｅ(t)の出現確率は相対的に低い。従って、タップ係数の修正初期の期間では、両方式に差が生じにくいと考えられる。
【００４０】
一方、タップ係数の修正が進んで誤差の規模が小さくなると、微小誤差域や線形帯域に入るｅ(t)の出現確率は相対的に高くなる。そのため、特許文献１のInfomax方式では確率的にオーバーシュートが多く発生し、特許文献２のIdeal Limiter方式では相対的に修正量の不足が生じるのではないかと考えられる。
【００４１】
そこで、本実施形態では式（４）の関数Ｇ(e(t))の形状を変更することにより、オーバーシュートの確率的発生を抑えるために微小誤差域に対する修正規模を抑えつつ、収束を加速するために微小誤差域よりも値の大きい小誤差域で相対的に大きな修正規模を与えられるようにする。
【００４２】
図５は、上述した従来技術（ＬＭＳアルゴリズム、ＮＬＭＳアルゴリズム、Infomax方式及びIdeal Limiter方式）の関数Ｇ(e(t))の形状的特徴を模式的に示している。同様に、図６は本実施形態における関数Ｇ(e(t))の形状的特徴を模式的に示している。ここで、直線Ｆ(e(t))は関数Ｇ(e(t))のｅ(t)＝０における接線を表し、誤差信号（瞬時値）ｅ(t)が０に近いとき（微小誤差域）の修正特性を与える。
【００４３】
以下、従来技術における関数Ｇ(e(t))の形状的特徴について述べる。式（５）に示したＬＭＳアルゴリズムやＮＬＭＳアルゴリズムでは、関数Ｇ(e(t))は直線Ｆ(e(t))と同一である。すなわち、誤差の全域で線形の修正特性を持つ。これをタップ係数の修正規模が一定であるという。
【００４４】
式（６）のInfomax方式では、関数Ｇ(e(t))はｅ(t)＜０で直線Ｆ(e(t))の左側を通り、ｅ(t)＞０で直線Ｆ(e(t))の右側を通る。すなわち、微小誤差域に対して他よりもタップ係数を大きく修正する特性を持つ。言い替えれば、微小誤差域の修正規模に対して他の誤差域の修正規模が小さくなっている。
【００４５】
式（７）のIdeal Limiter方式では、線形帯ではＬＭＳアルゴリズムと同じ、それ以外ではInfomax方式と同じである。
【００４６】
このようにＬＭＳアルゴリズム、ＮＬＭＳアルゴリズム、Infomax方式及びIdeal Limiter方式といった従来技術では、いずれも図５に示されるように関数Ｇ(e(t))は(t)＜０で直線Ｆ(e(t))の右側を通ることがなく、ｅ(t)＞０で直線Ｆ(e(t))の左側を通ることがない。
【００４７】
これに対して、本実施形態では原点から離れた小誤差域（Ｃ＜｜ｅ(t)｜＜Ｄ：Ｃ＞０、Ｄ＞Ｃ）に対する修正規模を原点近傍の微小誤差域（｜ｅ(t)｜≦Ｃ）に対する修正規模よりも相対的に増大させた領域（過修正帯という）を設ける。ここで、Ｃ及びＤは第１の閾値及び第２の閾値である。このような過修正帯を設けて小誤差域で相対的に大きな修正を施すことで、小誤差域から微小誤差域への収束を加速する効果を期待できる。また、これは微小誤差域（｜ｅ(t)｜≦Ｃ）に対する修正規模を相対的に低下させることを意味し、微小誤差域での修正規模過大を防止する効果も期待している。
【００４８】
本実施形態に基づく図６に示した形状の関数Ｇ(e(t))は、過修正帯として誤差信号ｅ(t)に応じた２つの領域、すなわち誤差信号ｅ(t)が負の範囲（ｅ(t)＜０）において直線Ｆ(e(t))の右側を通る（すなわち、Ｆ(e(t))より小さい値をとる）第１領域と、誤差信号が正の範囲（ｅ(t)＞０）において直線Ｆ(e(t))の左側を通る（すなわち、Ｆ(e(t))より大きい値をとる）第２領域を有する。これら第１領域及び第２領域を関数Ｇ(e(t))と直線Ｆ(e(t))の大小関係を用いて表現すると、以下のようになる。
【００４９】
まず、直線Ｆ(e(t))はｅ(t)＝０のときの関数Ｇ(e(t))の傾き及び値をそれぞれ傾きａ及び切片ｂとして持つ直線と定義される。数式で表すと、Ｆ(e(t))＝ａ・ｅ(t)＋ｂ＝ΔＧ(0)・ｅ(t)＋Ｇ(0)である。この場合、第１領域はｅ(t)＜０においてＧ(e(t))＜Ｆ(e(t))となる領域であり、第２領域はｅ(t)＞０においてＧ(e(t))＞Ｆ(e(t))となる領域である。図６の関数Ｇ(e(t))は、過修正帯として第１領域及び第２領域の両方を有しているが、いずれか一方または両方を過修正帯として有してもよい。
【００５０】
さらに、図６の関数Ｇ(e(t))はInfomax方式やIdeal Limiter方式と同様にダブルトークへの頑健性が得られるように、リミッタが設けられている。具体的には、ある有限の正数δについて関数Ｇ(e(t))の値が±δを逸脱しない、すなわち｜Ｇ(e(t))｜≦δであるとする。この正数δの値は実験的に良好な値を選ぶものとするが、最低限の条件として｜ｅ(t)｜＝∞のとき、｜Ｇ(e(t))｜＜∞となる関数Ｇ(e(t))を採用することを意味する。
【００５１】
なお、直線Ｆ(e(t))の上記の定義により、ｅ(t)＝０のときの関数Ｇ(e(t))の傾きａは有限の値でなければならない。すなわち、ａ＝∞となる場合は含まれない。また、関数Ｇ(e(t))が前述の過修正帯（第１領域及び第２領域の少なくとも一方）を持つためには、関数Ｇ(e(t))は傾きａが正の領域を含む必要がある。さらに、切片ｂは必ずしも０である必要はないが、ｂが０となる関数Ｇ(e(t))を用いることで、誤差信号ｅ(t)の符号に対して対称なタップ係数修正特性を与えることが可能になる。
【００５２】
以上のように定義される、過修正帯を持つタップ係数修正式を総称して過修正帯付きアルゴリズムと呼ぶことにする。この過修正帯付きアルゴリズムを一般化して表現すると、関数Ｇ(e(t))は、（ａ）誤差信号ｅ(t)の絶対値｜ｅ(t)｜が第１の閾値Ｄ以下であるとき、第１の閾値Ｄより大きい第２の閾値Ａの逆数を誤差信号ｅ(t)に乗じた第１の値ｅ(t)／Ａを出力し、（ｂ）｜ｅ(t)｜が第１の閾値Ｄを越え、第２の閾値Ａ未満であるとき、ｅ(t)が負であればｅ(t)／Ａより小さい第２の値を出力し、ｅ(t)が正であればｅ(t)／Ａより大きい第３の値を出力し、（ｃ）｜ｅ(t)｜が第２の閾値Ａ以上であるとき、誤差信号ｅ(t)の符号関数を表す第４の値sign(e(t))を出力する、というアルゴリズムである。
【００５３】
次に、本実施形態における関数Ｇ(e(t))の形状を具体的に示しつつ、幾つかの過修正帯付きアルゴリズムの実装方法について説明する。図１のタップ係数修正部４は、以下に述べる過修正帯付きアルゴリズムの１つまたは複数の実装方法を実現可能であり、設定により適宜選択することができるものとする。
【００５４】
（過修正帯付きIdeal Limiter方式）  
図６に示した関数Ｇ(e(t))の形状的特徴を式（８）により簡便に実現する。
【数８】
2010226629.tif 000010
【００５５】
図７に例示するように、式（８）の関数Ｇ(e(t))はIdeal Limiter方式の線形帯の辺縁部（Ａ−Ｂ＜｜ｅ(t)｜＜Ａ：０＜Ｂ＜Ａ）にまでsign関数の影響範囲を拡大することで、この辺縁部に対する修正規模が線形帯より大きくなる、すなわち辺縁部が過修正帯となることが特徴である。ここで、Ａ−Ｂは先の第１の閾値Ｄに相当する。図６のような関数Ｇ(e(t))は、式（７）の閾値Ａ（線形帯幅）を第１の閾値Ｄ＝Ａ−Ｂに変更するだけで実現できる。このとき、Ｂを過修正帯幅と呼ぶことにする。
【００５６】
式（８）のアルゴリズムは、｜ｅ(t)｜≦Ａ−Ｂとなる微小誤差領域では線形に修正を行うが、そこに至るまでの小誤差領域（過修正帯）では線形よりも多めに修正を掛けることでIdeal Limiter方式の収束が加速することを期待したアルゴリズムである。以後、これを過修正帯付きIdeal Limiter方式と呼ぶことにする。ここで、線形帯幅Ａとすると、式（８）はＢ＝０のときIdeal Limiter方式、Ｂ＝ＡのときInfomax方式、０＜Ｂ＜Ａのとき過修正帯付きIdeal Limiter方式となる。
【００５７】
（過修正帯の効果を検証する簡単な実験）  
上述した過修正帯を設けることによる効果を検証すべく、１１，０２５Ｈｚ、１６ｂｉｔでサンプリングされた約２９秒間のガウス性白色雑音を参照信号ｘ(t)とし、これを３２サンプル分遅延させた音声をマイク出力ｍ(t)としたデータを使い、Ideal Limiter方式（Ｂ＝０）、過修正帯付きIdeal Limiter方式（０＜Ｂ＜Ａ）及びInfomax方式（Ｂ＝Ａ）について比較を行った。なお、線形帯幅Ａを１００、正規化係数γを１、ステップゲインμを０．００００００１、タップ数Ｎを２５６とした。
【００５８】
図８に、過修正帯幅Ｂを変えたときのERLE最大値の変化を示す。この実験から、エコー消去能力（ERLE最大値）に関して、Infomax方式（Ｂ＝１００）に対するIdeal Limiter方式（Ｂ＝０）の優位が分かるとともに、適度な過修正帯を与えることで、さらにエコー消去能力を改善できることが判明した。
【００５９】
次に、図９に過修正帯幅Ｂを変えたときのIdeal Limiter方式（Ｂ＝０）のERLEが３０ｄＢを超える４．４６秒経過時のERLEの変化を収束速度（ERLEの立ち上がりの速さ）の目安として比較した結果を示す。図９からIdeal Limiter方式（Ｂ＝０）に対するInfomax方式（Ｂ＝１００）の優位が分かるとともに、適度な過修正帯を与えることで、さらに収束速度を改善できることが判明した。
【００６０】
ところで、過修正帯幅Ｂは信号の振幅値に対する閾値であるから、誤差信号ｅ(t)のスケールに依存する。そこで、マイク出力ｍ(t)と参照信号ｘ(t)の振幅をともに２倍、３倍、４倍したときのエコー消去能力（ERLE最大値）を調べた。これは誤差信号ｅ(t)の振幅を２倍、３倍、４倍することに相当する。
【００６１】
図１０（ａ）（ｂ）（ｃ）（ｄ）に、振幅倍率を変えたときの過修正帯幅ＢとERLE最大値の関係を示す。図１０（ａ）（ｂ）（ｃ）（ｄ）において、過修正帯幅Ｂ＝０がIdeal Limiter方式、過修正帯幅Ｂ＝１００がInfomax方式である。ここで、過修正帯の原点寄りの端（過修正帯下端）をＣとすると、Ｃ＝Ａ−Ｂ（０＜Ｃ＜Ａ）であり、この実験から振幅を２倍、３倍、４倍すると、ERLE最大となるＣ＝Ａ−Ｂも大きくなる。この実験では、Ｃは概ね２倍、４倍、８倍になることが分かる。すなわち、振幅をｎ倍すると、ERLE最大となる過修正帯下端Ｃがほぼ２n-1倍になっている。このとき、Ｃを導入して記述した過修正帯付きIdeal Limiter方式は式（９）となる。また、この例における過修正帯下端Ｃの計算式は式（１０）と推察される。
【数９】
2010226629.tif 000011
【００６２】
【数１０】
2010226629.tif 000012
【００６３】
ここで、Ｃ０は事前の実験によって求められたERLE最大となる過修正帯下端であり、Ｍ０はそのとき用いられた誤差信号ｅ(t)の振幅絶対値の平均値（平均振幅絶対値）である。また、Ｍｅは実際の誤差信号ｅ(t)の現在から所定期間過去までの振幅絶対値の平均（移動平均振幅絶対値）である。このように、過修正帯下端Ｃは実験的に良好な値を選ぶものとする。
【００６４】
なお、図１０（ａ）（ｂ）（ｃ）（ｄ）から分かるように、ERLE最大となる過修正帯幅Ｂの右側では、急峻にERLE最大値が落ち込んでいる。そのため、式（１０）に従って計算された過修正帯下端Ｃをそのまま適用すると、Ｃ０，Ｍ０，Ｍｅなどの計測誤差のために、ERLE最大値が急峻に落ち込む領域に突入してしまう恐れがある。
【００６５】
そこで、タップ係数修正部４は、式（１０）に従って過修正帯下端Ｃを計算しつつも、その値に若干のマージンを加えた値に過修正帯下限Ｃを設定する。このマージンは実験的に良好な値を選ぶものとする。少なくともタップ係数修正部４は、移動平均振幅絶対値Ｍｅの増大に応じて過修正帯幅Ｂを減少させる制御を行う。
【００６６】
（不感帯付きInfomax方式）  
図６に示した関数Ｇ(e(t))の特殊な場合として、ｅ(t)＝０におけるＧ(e(t))の傾きが０、すなわち直線Ｆ(e(t))が水平であるとき、微小誤差域ではタップ係数の修正が行われない不感帯を形成させることができる。これをInfomax方式に適用すると、式（１１）のようになる。これを不感帯付きInfomax方式と呼ぶことにする。
【数１１】
2010226629.tif 000013
【００６７】
図１１に例示するように、式（１１）の関数Ｇ(e(t))はInfomax方式の微小誤差範囲（｜ｅ(t)｜＜Ｃ：０＜Ｃ）に修正規模が０となる不感帯を設けたことが特徴である。図１１の関数Ｇ(e(t))は、唯１つの閾値処理を加えるだけで実現できる。このとき、０より大きい値Ｃは式（９）の過修正帯下端に相当するが、ここでは特に不感帯幅と呼ぶことにする。式（１１）のアルゴリズムは、Infomax方式の修正規模過大を不感帯によって抑止する効果を期待したものである。
【００６８】
不感帯幅Ｃは信号の大きさに関係する。もちろん、運用環境における信号レベルがある程度予想されている場合には、固定の不感帯幅Ｃを用いても良い。一方、そうでない場合には、Ｃを動的に制御した方が良い。不感帯幅Ｃは誤差信号ｅ(t)の絶対値｜ｅ(t)｜に対する閾値であるから、タップ係数修正部４は現在から所定期間過去までの誤差信号ｅ(t)の振幅絶対値の移動平均値（移動平均振幅絶対値）を計算し、その値の増加に対して不感帯幅Ｃを増加させ、その減少に対して不感帯幅Ｃを減少させる。
【００６９】
式（１１）の不感帯付きInfomax方式を不感帯付きアルゴリズムとして一般化した場合、関数Ｇ(e(t))は、誤差信号ｅ(t)の絶対値｜ｅ(t)｜が閾値Ｃ以下であるとき０を出力する第１の関数で与えられ、それ以外のとき誤差信号ｅ(t)と同符号の値を出力する第２の関数で与えられる、ということになる。ここで、第２の関数は具体的にはsign(e(t))、tanh(e(t))、1/(1+exp(-e(t)))、あるいは1/(1+exp(-e(t)))である。図１１は、第２の関数がsign(e(t))の場合の例である。
【００７０】
（不感帯の効果を検証する簡単な実験）  
上述した不感帯を設けることによる効果を検証すべく、１１，０２５Ｈｚ、１６ｂｉｔでサンプリングされた約２９秒間のガウス性白色雑音を参照信号ｘ(t)とし、これを３２サンプル分遅延させた音声をマイク出力ｍ(t)としたデータを使い、sign(e(t))を採用した場合の式（６）に示したInfomax方式と式（１１）に示した不感帯付きInfomax方式を比較した。なお、正規化係数γを１、ステップゲインμを０．００００００１、タップ数Ｎを２５６とした。
【００７１】
図１２に、不感帯幅Ｃを変えたときの２９秒間におけるERLE最大値の変化を示す。この図１２で、不感帯幅Ｃ＝０のときが従来のInfomax方式である。この実験から、sign(e(t))に適度な不感帯を与えることで、エコー消去能力を改善できることが分かる。
【００７２】
ところで、不感帯幅Ｃは信号の振幅値に対する閾値であるから、誤差信号ｅ(t)のスケールに依存する。そこで、マイク出力ｍ(t)と参照信号ｘ(t)の振幅を共に２倍、３倍、４倍したときのエコー消去能力（ERLE最大値）を調べた。これは誤差信号ｅ(t)の振幅を２倍、３倍、４倍することに相当する。
【００７３】
図１３（ａ）（ｂ）（ｃ）（ｄ）に、振幅倍率を変えたときの不感帯幅ＣとERLE最大値の関係を示す。図１３（ａ）（ｂ）（ｃ）（ｄ）中、不感帯幅Ｃ＝０がInfomax方式である。この実験データでは、振幅を２倍、３倍、４倍するとERLE最大となる不感帯幅Ｃは概ね４倍、９倍、１６倍になることが分かる。すなわち、ERLE最大となる不感帯幅Ｃは振幅の二乗（パワー）に比例している。よって、この例におけるERLE最大となる不感帯幅Ｃは式（１２）によって求められる。
【数１２】
2010226629.tif 000014
【００７４】
ここで、Ｃ０は事前の実験によって求められたERLE最大となる付近の不感帯幅であり、Ｐ０はそのとき用いられた誤差信号ｅ(t)の平均パワーである。これらを基準不感帯幅Ｃ０、基準パワーＰ０と呼ぶことにする。また、Ｐｅは実際の誤差信号ｅ(t)の現在から所定期間過去までの移動平均パワーである。このように、不感帯幅Ｃは実験的に良好な値を選ぶものとする。
【００７５】
なお、図１３（ａ）（ｂ）（ｃ）（ｄ）から分かるように、ERLE最大となる不感帯幅Ｃの左側では右側よりも急峻にERLE最大値が落ち込んでいる。そのため、式（１２）に従って計算された不感帯幅Ｃをそのまま適用すると、Ｃ０，Ｐ０，Ｐｅなどの計測誤差のために、ERLE最大値が急峻に落ち込む領域に突入してしまう恐れがある。
【００７６】
そこで、タップ係数修正部４は、式（１２）に従って不感帯幅Ｃを計算しつつも、その値にマージンを加えた値に不感帯幅を設定する。このマージンは実験的に良好な値を選ぶものとする。少なくともタップ係数修正部４は、移動平均パワーＰｅの増大に応じて不感帯幅Ｃを増加させる制御を行う。
【００７７】
以上は関数をsign(e(t))としたときの結果であった。次に、関数をtanh(e(t))及び１／(1+exp(-e(t)))としたときの、不感帯幅ＣとERLE最大値の関係を図１４（ａ）（ｂ）に示す。図１４（ａ）（ｂ）において、不感帯幅Ｃ＝０が従来のInfomax方式である。sign(e(t))の場合と比べてERLE最大値がわずかに変動したものの、不感帯幅ＣとERLE最大値の関係はほとんど変わらず、同様の効果を得られることが判明した。
【００７８】
以上の実験から、sign(e(t))に限らず、Infomax方式として提案されているtanh(e(t))や１／(1+exp(-e(t)))においても同様の不感帯を与えることでエコー消去能力を改善できることが確認された。なお、式（１１）にはtanh(e(t))と同様の形状を有する関数として、２／(1+exp(-e(t)))-1も選択できるように記載している。また、tanh(α・e(t))のように、正数αを誤差信号のゲインとして与えることも可能である。
【００７９】
（過修正帯付き正規化Ideal Limiter方式）  
式（７）に示したIdeal Limiter方式は、ＬＭＳアルゴリズムの修正規模にリミッタを設けたものである。では、以下の式（１３）で定義されるＮＬＭＳアルゴリズムに同様のリミッタを設けるとどうなるであろうか。
【数１３】
2010226629.tif 000015
【００８０】
式（１３）を正規化Ideal Limiter方式と呼ぶことにし、以下の式（１４）で定義する。
【数１４】
2010226629.tif 000016
【００８１】
さらに、過修正帯を設けた過修正帯付き正規化Ideal Limiter方式を定義すると、式（１５）となる。また、Infomax方式を正規化したものを式（１６）で定義し、正規化Infomax方式と呼ぶことにする。Ｂ＝Ａ（Ａ＞０）のとき式（１５）は、式（１６）と同一になり、またＢ＝０のとき式（１４）と同一になる。
【数１５】
2010226629.tif 000017
【００８２】
【数１６】
2010226629.tif 000018
【００８３】
（０除算を防止するためのタップ係数修正停止）  
なお、参照信号ｘ(t)が継続して無音になると、上記式（１３）〜（１６）の正規化係数γの分母項ＸTＸが０になり、γを計算することができなくなる。そこで、分母項ＸTＸが小さな正数ｂを下回るときには、タップ係数の修正を一時的に停止させる。
【００８４】
なお、同様の効果を得るために、例えば小さな正数ｃで下駄を履かせて式（１７）のようにすることも可能である。あるいは、式（１８）のように、ＸTＸが小さな正数ｂを下回るときには、強制的にγ＝１／ｂとすることも可能である。これらはタップ係数の修正を一時的に停止する代わりに、１／ＸTＸを近似する決して０除算の発生しない正変数を用いる例である。
【数１７】
2010226629.tif 000019
【００８５】
【数１８】
2010226629.tif 000020
【００８６】
また、１／ＸＴＸは現在からＮ−１時刻過去までのＮ個の参照信号値のパワーの総和の逆数であるが、それを毎回計算する代わりに、ＸＴＸの求めるべき現在値をＰｗ(t)、既に計算済みの１時刻過去の値をＰｗ（ｔ−１）として、参照信号の現在値ｘ(t)と、１未満の正係数α（忘却係数）を用いて式（１９）のように計算することも可能である。最初に1回ＸＴＸを計算するだけで、以後式（１９）によって少ない計算量でＸＴＸの近似値Ｐｗ(t)を求めていく。これも１／ＸＴＸを近似する方法である。
【数１９】
2010226629.tif 000021
【００８７】
（正規化を伴う場合の過修正帯の効果を検証する簡単な実験）  
約２９秒間のガウス性白色雑音を参照信号とし、これを３２サンプル遅延させた音声をマイク出力としたデータを使って、過修正帯付き正規化Ideal Limiter方式（式（１４）について、マイク出力と参照信号の振幅をともに２倍、３倍、４倍したときのエコー消去能力（ERLE最大値）を調べた。なお、線形帯幅Ａを１００、正規化係数γをＸＴＸ、ステップサイズμを０．５×Ａ＝５０、タップ数Ｎを２５６とした。また、０除算を防止するために、ＸＴＸが１０２４を下回るときには修正を停止させた。
【００８８】
振幅倍率を変えたときの過修正帯幅ＢとERLE最大値の関係を図１５（ａ）（ｂ）（ｃ）（ｄ）に示す。図１５（ａ）（ｂ）（ｃ）（ｄ）において、過修正帯幅Ｂ＝０が正規化Ideal Limiter方式（１４）、過修正帯幅Ｂ＝１００が正規化Infomax方式の式（１６）である。試みた全ての信号倍率で、Ｂ＝８０（すなわち過修正帯下限Ｃ＝２０）付近の性能が最大となることが分かる。このように、過修正帯幅Ｂは実験的に良好な値を選ぶものとする。
【００８９】
なお、図１５（ａ）（ｂ）（ｃ）（ｄ）から分かるように、ERLE最大となる過修正帯幅Ｂの右側では左側よりも急峻にERLE最大値が落ち込んでいる。そこで、タップ係数修正部４は、ERLE最大となる過修正帯幅Ｂからマージンを差し引いた値に過修正帯幅Ｂを設定する。このマージンは実験的に良好な値を選ぶものとする。
【００９０】
また、収束速度の目安として入力信号１倍データにおける４．４６秒経過時のERLEを比較した結果を図１６に示す。正規化Infomax方式（Ｂ＝１００）に対する正規化Ideal Limiter方式（Ｂ＝０）の優位が分かるとともに、適度な過修正帯を与えることで、さらに収束速度を若干改善できることが判明した。
【００９１】
なお、過修正帯付きIdeal Limiter方式においては、関数Ｇ(e(t))の形状は上記（式８）や（式１５）に限定されず、ｅ(t)が過修正帯の範囲内にあるとき、ｅ(t)が負であればＧ(e(t))＜ｅ(t)／Ａ、ｅ(t)が正であればＧ(e(t))＞ｅ(t)／Ａに設定されれば良い。
【００９２】
（変形例）  
なお、本発明は上述した例に限定されず、その要旨を逸脱しない範囲で様々に変形して実施することが可能である。
【００９３】
（μ・Ｇの形状について）  
先の実施形態では、関数Ｇ(e(t))の形状に所定の特徴を与えているが、関数Ｇ(e(t))にステップサイズを乗じた後の関数μ・Ｇ(e(t))の形状に同様の特徴を与えてもよい。
【００９４】
例えば、関数Ｇ(e(t))が誤差信号ｅ(t)の全域において式（７）に示すIdeal Limiter方式や式（１４）に示す正規化Ideal Limiter方式に従うとする。式（４）におけるステップサイズμは、過修正帯ではμ＝μ１、それ以外ではμ＝μ２に設定されるものとする。この場合、μ１＞μ２であるとしても、式（１０）に示した過修正帯付きIdeal Limiter方式や、式（１５）に示した過修正帯付き正規化Ideal Limiter方式と同様の過修正帯による効果を奏することができる。
【００９５】
また、例えば関数Ｇ(e(t))が誤差信号ｅ(t)の全域において式（６）のInfomax方式に従うとする。式（４）におけるステップサイズμは、不感帯ではμ＝μ１、それ以外ではμ＝μ２に設定されるものとする。この場合、μ１＝０、μ２＞０であるとしても、式（８）に示した不感帯付きInfomax方式と同様の不感帯効果を奏することができる。
【００９６】
さらに、例えば関数Ｇ(e(t))を一定値（例えば１）に固定して、ステップサイズμを正数に限定せずに関数Ｇ(e(t))の形状に比例するように誤差ｅ(t)の関数として制御するようにしても、同様の効果を奏することができる。
【００９７】
要するに、μとγとＧの積に相当する関数をＨ(e(t))としたとき、Ｈ(e(t))が本実施形態に基づく関数Ｇ(e(t))の特徴を満たすように誤差信号の瞬時値ｅ(t)の関数として制御されるのであれば、その値の計算方法は様々に実施可能である。このときのタップ係数修正式を式（２０）に示す。
【数２０】
2010226629.tif 000022
【００９８】
（ステップサイズを長期的に制御する方式との相違）  
なお、一般に適応フィルタはステップサイズμが大きいと精度は悪いが速く収束し、ステップサイズμが小さいと速度は遅いが正確に収束することが知られている。したがって、例えば誤差信号の規模が小さくなっていく傾向を監視してフィルタ収束が進んでいることを知り、この進み具合に応じてステップサイズμを例えば小さくするなどの制御を行うことで、最初は収束速度を優先させ、収束が進んできたら精度を優先させるというμの長期的制御を行うことが可能である。しかしながら、誤差信号の瞬時値ｅ(t)は信号そのものであるから時々刻々とダイナミックに値を変化させる。そのため、誤差信号が小さくなっていく傾向はその瞬時値から読むことはできず、これを知るためにはある程度長い期間Ｍに対して測られる例えば誤差信号の平均パワー＜ｅ２＞などを求める必要がある。このときのタップ係数修正式は式（２１）のようになる。
【数２１】
2010226629.tif 000023
【００９９】
これは誤差信号の瞬時値ｅ(t)に従って毎時刻のタップ係数の修正規模を制御する本発明とは異なる。本発明は小誤差域に対する微小誤差域の修正規模を相対的に小さくすることから、専ら収束の進んだ（大誤差域の出現が減少し、小誤差域や微小誤差域が多く出現するようになる）段階で同様の効果（小誤差域で大きく修正して加速し、微小誤差域で小さく修正して精度を得る）効果を奏するところであるが、式（２１）のように一定期間の観測に基づいて収束の段階を推定し、推定された段階に応じて修正規模を（μの値として）制御して確定的に効果を得ようとするのではなく、常に誤差信号の瞬時値に従って修正規模を（Ｇの値として）制御しながら確率的に同様の効果を奏するものと考えられる。しかも、本発明では｜Ｇ(e(t))｜≦δと制限することにより、Ideal Limiter方式と同様のダブルトークへの頑健性を実現する。よって、ステップサイズの長期的制御式（２０）と本発明を組み合わせて使用することにより、後者の効果によってダブルトークへの頑健性を保ちながら、最初は専ら前者の効果によって収束速度を優先させ、収束が進んできたら専ら後者の効果によって精度を優先させつつ速度も改善することが可能になると期待される。すなわち、両者は組み合わせ可能な技術である。
【０１００】
（ＬＭＦアルゴリズムなどとの相違）  
また、上述したステップサイズの長期的制御式である式（２１）を誤差瞬時値ｅ(t)に適用した形式のアルゴリズムとして、式（２２）に示すＬＭＦ(Least Mean Fourth)アルゴリズムが知られている。
【数２２】
2010226629.tif 000024
【０１０１】
ＬＭＦアルゴリズムは、関数Ｇ(e(t))としてｅ(t)ではなくｅ3(t)を用いる。そのため、０を除く誤差の全域において、ｅ(t)＜０のときＧ(e(t))＜Ｆ(e(t))、ｅ(t)＞０のときＧ(e(t))＞Ｆ(e(t))となる。これは本実施形態に基づく過修正帯の満たすべき条件である。また、ＬＭＦアルゴリズムでは修正規模は誤差信号ｅ(t)の瞬時絶対値｜ｅ(t)｜に応じて単調増加する。この特性により、ＬＭＦアルゴリズムは最初は収束速度を優先させ、収束が進んできたら精度を優先させることを確率的に行うものと考えられる。
【０１０２】
しかし、ＬＭＦアルゴリズムには、本実施形態に基づく関数Ｇ(e(t))の満たすべきもう一つの条件、｜Ｇ(e(t))｜≦δとする制限がないので、ＬＭＳアルゴリズムと同様、ダブルトークへの頑健性は得られない。そればかりか、修正規模が｜ｅ(t)｜に応じて単調増加するため、ダブルトーク時の誤修正はＬＭＳアルゴリズムよりも大きくなる。
【０１０３】
さらに、ＬＭＦアルゴリズムと同様の効果を奏するアルゴリズムとして、先の特許文献３（特開２００４−６４６８１号公報）に開示されたアルゴリズムについて説明する。特許文献３に開示されたアルゴリズムは、式（２３）で表される。
【数２３】
2010226629.tif 000025
【０１０４】
この特許文献３に開示されたアルゴリズムでは、前述した正規化係数γ（特許文献２ではステップサイズμとしている）、具体的には式（１７）におけるｃの項に誤差信号の瞬時値ｅ(t)を含む。また、Ｈ(e(t))＝μ・γ・Ｇとした場合、０を除く誤差の全域においてｅ(t)＜０のときＨ(e(t))＜Ｆ(e(t))、ｅ(t)＞０のときＨ(e(t))＞Ｆ(e(t))となる。これは先に述べた過修正帯の満たすべき条件である。そして、タップ係数の修正規模は誤差信号ｅ(t)の瞬時絶対値｜ｅ(t)｜に応じて単調増加する。
【０１０５】
しかし、特許文献３に開示されたアルゴリズムにも、本実施形態に基づくＧ(e(t))の満たすべきもう一つの条件、｜Ｇ(e(t))｜≦δとする制限がなく、またタップ係数の修正規模が誤差信号ｅ(t)の瞬時絶対値｜ｅ(t)｜に応じて単調増加するため、ダブルトーク時の誤修正が大きくなるという点は、ＬＭＦアルゴリズムと同様である。
【０１０６】
（非線形フィルタによる実施）  
これまでの説明においては、エコーパスの伝達特性を模擬するためのフィルタとして図１の線形フィルタ２を用いてきたが、線形フィルタ２を非線形フィルタに置き換えて実施することも可能である。例えば、線形フィルタ２の代わりに非線形フィルタとして知られる２次以上のボルテラフィルタを使用することが可能である。ここで、２次のボルテラフィルタにおけるエコーレプリカｙ(t)を算出するための演算式を式（２４）に示す。右辺第１項は１次線形項であり、これまで述べた線形フィルタの式と同様である。右辺第２項は２次非線形項である。
【数２４】
2010226629.tif 000026
【０１０７】
タップ係数の修正は、ボルテラフィルタの線形項を成すＮ個のタップ係数ｗ１と非線形項を成すＮ×Ｎ個のタップ係数ｗ２に対して、それぞれ式（２５）と式（２６）に示すタップ係数修正式を適用することで実行される。なお、正規化係数γとステップサイズμと関数Ｇは式（２５）と式（２６）でそれぞれ独立に定めることができる。
【数２５】
2010226629.tif 000027
【０１０８】
【数２６】
2010226629.tif 000028
【０１０９】
（プログラムや記録媒体による実施）  
本発明の実施形態は図１のブロック図によって示される信号処理装置や図２のフローチャートによって示される信号処理方法のみでなく、コンピュータを図１の信号処理装置として機能させる、または図２の信号処理手順を実行させるプログラム、さらには当該プログラムを格納したコンピュータに読み取り可能な記録媒体として実施することも可能である。
【０１１０】
（コンピュータを使った実施携帯：プログラム）  
具体的には、本発明は図１７に示すようにコンピュータを使って実施することが可能である。マイクロホン１１及びスピーカ２３は、図１に示したマイクロホン７及びスピーカ６に対応している。
【０１１１】
マイクロホン１１によって近端側の音声が電気的な音響信号に変換され、Ａ／Ｄ変換器１２によってデジタル音響データに変換される。Ａ／Ｄ変換器１１２からのデジタル音響データは、プログラム命令を実行するＣＰＵ１３によって処理される。ＣＰＵ１３には、コンピュータを構成する標準的なデバイスであるＲＡＭ１４、ＲＯＭ１５、ＨＤＤ１６、ＬＡＮ１７、マウス／キーボード１８及びディスプレイ１９が接続される。回線インタフェース２０は、遠端側と少なくともデジタル音響データの送受信を行うデバイスである。外部から記憶メディアを介してプログラムやデータをコンピュータに供給するためのドライブ類（その他ストレージ）２１は、具体的にはＣＤ−ＲＯＭドライブ、フロッピー（登録商標）ディスクドライブ、ＣＦ／ＳＤカードスロットやＵＳＢインタフェースなどである。回線インタフェース２０を経由して受信入力された遠端側のデジタル音響データは、Ｄ／Ａ変換器２２により音響信号に変換され、スピーカ２３によって拡声出力される。
【０１１２】
図１７のコンピュータ装置では、図２に示した処理ステップを実行するエコーキャンセルのための信号処理プログラムをＨＤＤ１６に記憶し、これをＲＡＭ１４に読み出してＣＰＵ１３で実行する。その際、近端側のマイク出力ｍ(t)の入力にマイクロホン１１とＡ／Ｄ変換器１２を使い、回線インタフェース２０を経由して受信入力した遠端側からの受信入力ｘ(t)の拡声出力にＤ／Ａ変換器２２とスピーカ２３を使い、このマイク出力ｍ(t)と受信入力ｘ(t)をＣＰＵ１３で処理することでエコーキャンセル出力（誤差信号）ｅ(t)を生成し、回線インタフェース２０を経由して遠端側に送信出力する。
【０１１３】
この結果、図１７コンピュータ装置は音響エコーキャンセラとして機能する。また、このコンピュータ装置は、その他ストレージ２１に挿入される記録媒体やＬＡＮ１７を介して接続される他の装置からエコーキャンセル処理プログラムの供給を受けることが可能である。なお、このコンピュータ装置は、マウス／キーボード１８やディスプレイ１９を使うことで、利用者の操作入力を受け付けたり、利用者への情報呈示を行ったりすることも可能である。
【０１１４】
（記録媒体）  
また、本発明は図１８に示すようにプログラムを格納した記録媒体として実施することが可能である。本発明の実施形態に係るエコーキャンセルの信号処理プログラムを記録したＣＤ−ＲＯＭやＣＦやＳＤカードやフロッピーディスクやＵＳＢストレージなどで実現される記録媒体３１は、電子装置３２や３３、あるいはロボット３４に挿入することで当該プログラムを実行可能としたり、あるいはプログラムを供給された電子装置３３から通信によって別の電子装置３５やロボット３４に当該プログラムを供給したりすることで電子装置３５やロボット３４上で当該プログラムを実行可能とする。
【０１１５】
（回線エコーキャンセラとしての実施）  
なお、これまで本発明に係る信号処理装置をマイク出力からスピーカ出力のエコー（音響エコー）を取り除くための音響エコーキャンセラを例として説明してきた。一方、伝送路内に位置するハイブリッドトランスを介した２線４線式回線においても、ハイブリッドトランスに起因して送信出力が受信入力に回り込むエコーの発生が知られている。このエコーを回線エコーと呼ぶことにする。本発明の実施形態に係る信号処理装置は、このような回線エコーを取り除くための回線エコーキャンセラに用いることも可能である。
【０１１６】
図１９に、音響エコーキャンセラ１と回線エコーキャンセラ９の両方を備える拡声通話装置を示す。各エコーキャンセラ１及び９には、第１の実施形態で説明した信号処理装置が用いられる。近端側の音声を受音するマイクロホン７からのマイク出力ｍ(t))は、音響エコーキャンセラ１によって音響エコーが除去され、誤差信号ｅ(t)が出力される。
【０１１７】
一方、回線エコーキャンセラ９では伝送路を経由して受信した受信入力ｘ(t)から回線エコーが除去され、誤差信号ｆ(t)が出力される。誤差信号ｆ(t)はスピーカ６によって拡声出力される。このとき、音響エコーキャンセラ１は参照信号ｘ(t)として、回線エコーキャンセラ９から出力される誤差信号ｆ(t)を用いる。また、回線エコーキャンセラ９では、参照信号として音響エコーキャンセラ１から出力される誤差信号ｅ(t)を用いる。
【０１１８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１１９】
１・・・信号処理装置（音響エコーキャンセラ）
２・・・線形フィルタ
３・・・減算器
４・・・タップ係数修正部
５・・・受信入力端子
６・・・スピーカ
７・・・マイクロホン
８・・・送信出力端子
９・・・信号処理装置（回線エコーキャンセラ）
【図１】
2010226629.tif 000029
【図２】
2010226629.tif 000030
【図３】
2010226629.tif 000031
【図４】
2010226629.tif 000032
【図５】
2010226629.tif 000033
【図６】
2010226629.tif 000034
【図７】
2010226629.tif 000035
【図８】
2010226629.tif 000036
【図９】
2010226629.tif 000037
【図１０】
2010226629.tif 000038
【図１１】
2010226629.tif 000039
【図１２】
2010226629.tif 000040
【図１３】
2010226629.tif 000041
【図１４】
2010226629.tif 000042
【図１５】
2010226629.tif 000043
【図１６】
2010226629.tif 000044
【図１７】
2010226629.tif 000045
【図１８】
2010226629.tif 000046
【図１９】
2010226629.tif 000047