(57)【特許請求の範囲】
【請求項１】
ディジタル化された入力信号を利用して適応フィルタ係数を更新しエコーを除去するエコー除去方法であって、
前記入力信号をサンプリングして参照入力信号を得るステップ、
前記参照入力信号を擬似的に白色化して擬似白色化信号を得るステップ、
前記擬似白色化信号および前記適応フィルタ係数に基づいて擬似エコー信号を生成するステップ、
エコー信号および前記擬似エコー信号に基づいて除去誤差信号を得るステップ、ならびに
前記除去誤差信号、前記適応フィルタ係数および前記擬似白色化信号に基づいて前記適応フィルタ係数を更新するステップを備え、
前記入力信号のサンプリング位置を通過した前記入力信号はそのままＤ／Ａ変換されて出力信号として出力される、エコー除去方法。
【請求項２】
ディジタル化された入力信号を利用して適応フィルタ係数を更新しエコーを除去するためのエコーキャンセラであって、
前記入力信号をサンプリングして得られた参照入力信号を擬似的に白色化して擬似白色化信号を得る白色化手段、
前記擬似白色化信号および前記適応フィルタ係数に基づいて擬似エコー信号を生成する擬似エコー信号生成手段、
エコー信号および前記擬似エコー信号に基づいて除去誤差信号を得る除去誤差信号算出手段、ならびに
前記除去誤差信号、前記適応フィルタ係数および前記擬似白色化信号に基づいて前記適応フィルタ係数を更新する係数更新手段を備え、
前記白色化手段は、前記入力信号を出力するための第１経路から分岐した第２経路上に設けられ、
前記第１経路と前記第２経路との分岐点を通過した前記第１経路上の前記入力信号はそのままＤ／Ａ変換されるように出力される、エコーキャンセラ。
【請求項３】
前記白色化手段はＩＩＲフィルタまたはＦＩＲフィルタを含む、請求項２に記載のエコーキャンセラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はエコー除去方法およびエコーキャンセラに関し、特にたとえばハンズフリー電話やテレビ会議などでフルデュプレクスを実現するために利用される、エコー除去方法およびエコーキャンセラに関する。
【０００２】
【従来の技術】
従来、ハンズフリー電話やテレビ会議などにおいてフルデュプレクスを実現するために利用されるエコーキャンセラでは、通話音声を用いて適応フィルタ係数を更新し、エコーパスを推定する。この推定アルゴリズムとしては、演算量の比較的少ない学習同定法が多く用いられている。
【０００３】
図９に、従来のエコーキャンセラ１の一例を示す。エコーキャンセラ１は、回線エコーを除去する回線エコーキャンセラとして構成されたものであり、学習同定法によって適応フィルタ係数を更新する。
【０００４】
図９および図１０を参照してエコーキャンセラ１の動作を説明する。
【０００５】
エコーキャンセラ１では、まず、エコー信号ｙ、擬似エコー信号Ｙ、適応フィルタ係数、参照入力信号バッファ内の値ｘ、除去誤差信号ｅ等が初期化される（ステップＳ１）。そして、Ａ／Ｄ変換器２によってディジタル化されたマイク入力信号がサンプリングされて参照入力信号Ｘとして参照入力信号バッファ３に入力される（ステップＳ３）。
【０００６】
ついで、時刻ｊにおける、適応フィルタ４内の適応フィルタ係数Ｐｊ（ｉ）と、参照入力信号Ｘすなわち参照入力信号バッファ３内の値ｘｊ（ｉ）とが積和演算部５で数１に示すように積和演算され、時刻ｊにおける擬似エコー信号Ｙｊが生成される（ステップＳ５）。
【０００７】
【数１】
0003609611.tif 000002
【０００８】
そして、Ａ／Ｄ変換器６より出力されるエコー信号ｙｊから擬似エコー信号Ｙｊが減算器７において数２に示すように減算されて、時刻ｊにおける除去誤差信号ｅｊが算出される（ステップＳ７）。
【０００９】
【数２】
0003609611.tif 000003
【００１０】
その後、時刻ｊにおける、除去誤差信号ｅｊ、適応フィルタ係数Ｐｊ（ｉ）、参照入力信号Ｘすなわち参照入力信号バッファ３内の値ｘｊ（ｉ）に基づいて、係数更新部８で数３に示すように適応フィルタ係数Ｐｊ＋１（ｉ）が更新され、時刻ｊ＋１における適応フィルタ係数とされる（ステップＳ９）。
【００１１】
【数３】
0003609611.tif 000004
【００１２】
上述のステップＳ３〜ステップＳ９を繰り返すことによって、適応フィルタ係数が更新されていく。
【００１３】
なお、数１〜数３において、ｙｊは時刻ｊにおけるエコー信号、Ｙｊは時刻ｊにおける擬似エコー信号、Ｐｊ（ｉ）は時刻ｊにおける適応フィルタのｉ番目の遅延素子の係数、ｘｊ（ｉ）は時刻ｊにおける参照入力信号バッファのｉ番目の値、ｅｊは時刻ｊにおける除去誤差信号、Ｎは適応フィルタのタップ数、μはステップゲインと呼ばれる緩和係数である。後述する発明の実施の形態においても同様である。
【００１４】
【発明が解決しようとする課題】
上述のエコーキャンセラ１による適応フィルタ係数を更新する動作では、数３によって、適応フィルタ係数は参照入力信号ベクトル方向に更新される。したがって、自己相関性の高い音声信号では学習速度が劣化する。また、適応フィルタ係数を更新する過程において、参照入力信号ベクトルのノルムによって正規化するので、音声信号の周波数成分の偏りによって、周波数成分の少ない周波数領域の学習精度が劣化する。なお、参照入力信号ベクトルとは、参照入力信号バッファ３内の値をベクトルとしてとらえたものである。
【００１５】
したがって、エコーキャンセラ１のように、通話音声を用いてエコーパスの推定を行う場合には、入力信号の周波数成分に偏りがあるため、十分に学習を行った場合でもハウリングが発生する場合がある。
【００１６】
因みに、一般に音声信号の周波数特性は次のようになる。
【００１７】
図１１（ａ）に示すように、有声音は、−６ｄＢ／ｏｃｔ（１オクターブ周波数が上昇すると、信号レベルが６ｄＢ減衰する）の特性を有し、図１１（ｂ）に示すように、無声音は、＋６ｄＢ／ｏｃｔ（１オクターブ周波数が上昇すると、信号レベルが６ｄＢ増加する）の特性を有する。
【００１８】
したがって、学習同定法を用いたエコーキャンセラの学習速度、学習精度を向上するためには、学習に使用する信号の周波数特性の偏りを少なくすることが考えられる。
【００１９】
そこで、音声信号の周波数特性の偏りを少なくする白色化フィルタ９を、図１２に示す位置に挿入するエコーキャンセラ１ａが考えられるが、エコーキャンセラ１ａでは、白色化フィルタ９の影響によって、回線出力信号の音質が劣化してしまうという問題点があった。
【００２０】
それゆえにこの発明の主たる目的は、出力信号の音質が劣化することなく、学習速度および学習精度を向上できる、エコー除去手段およびエコーキャンセラを提供することである。
【００２１】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載のエコー除去方法は、ディジタル化された入力信号を利用して適応フィルタ係数を更新しエコーを除去するエコー除去方法であって、入力信号をサンプリングして参照入力信号を得るステップ、参照入力信号を擬似的に白色化して擬似白色化信号を得るステップ、擬似白色化信号および適応フィルタ係数に基づいて擬似エコー信号を生成するステップ、エコー信号および擬似エコー信号に基づいて除去誤差信号を得るステップ、ならびに除去誤差信号、適応フィルタ係数および擬似白色化信号に基づいて適応フィルタ係数を更新するステップを備え、入力信号のサンプリング位置を通過した入力信号はそのままＤ／Ａ変換されて出力信号として出力されることを特徴とする。
【００２２】
請求項２に記載のエコーキャンセラは、ディジタル化された入力信号を利用して適応フィルタ係数を更新しエコーを除去するためのエコーキャンセラであって、入力信号をサンプリングして得られた参照入力信号を擬似的に白色化して擬似白色化信号を得る白色化手段、擬似白色化信号および適応フィルタ係数に基づいて擬似エコー信号を生成する擬似エコー信号生成手段、エコー信号および擬似エコー信号に基づいて除去誤差信号を得る除去誤差信号算出手段、ならびに除去誤差信号、適応フィルタ係数および擬似白色化信号に基づいて適応フィルタ係数を更新する係数更新手段を備え、白色化手段は、入力信号を出力するための第１経路から分岐した第２経路上に設けられ、第１経路と第２経路との分岐点を通過した第１経路上の入力信号はそのままＤ／Ａ変換されるように出力されることを特徴とする。
【００２５】
請求項３に記載のエコーキャンセラは、請求項２に記載のエコーキャンセラにおいて、白色化手段はＩＩＲフィルタまたはＦＩＲフィルタを含むものである。
【００２６】
上述のように構成されるエコー除去方法およびエコーキャンセラでは、ディジタル化された入力信号をサンプリングして得られた参照入力信号が、ＩＩＲフィルタやＦＩＲフィルタなどからなる白色化手段によって擬似的に白色化されて、周波数的な偏りが軽減された擬似白色化信号が得られる。これは、入力信号となる音声信号は周波数上昇に応じて信号レベルが変動するという特性を有する点に鑑み、音声信号の周波数上昇に応じた信号レベルの変動を軽減できるフィルタを用いて、参照入力信号をフィルタリングして白色化するものである。
【００２７】
このように周波数的な偏りの軽減された擬似白色化信号と適応フィルタ係数とに基づいて擬似エコー信号が生成され、エコー信号と擬似エコー信号とに基づいて除去誤差信号が得られる。たとえば、擬似白色化信号と適応フィルタ係数とを積和演算して擬似エコー信号が生成され、エコー信号から擬似エコー信号を減算して除去誤差信号が得られる。そして、除去誤差信号、適応フィルタ係数および擬似白色化信号に基づいて適応フィルタ係数が更新される。
【００２８】
また、入力信号をサンプリングして得られた参照入力信号から擬似白色化信号を得るので、擬似白色化する処理は入力信号には何ら影響を及ぼさず、入力信号がＤ／Ａ変換された出力信号は音質の劣化なしに出力される。
【００２９】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。
【００３０】
図１は、この発明の一実施形態のエコーキャンセラ１０をその周辺回路とともに示したブロック図である。
【００３１】
エコーキャンセラ１０は、ＣＰＵ１２、ＲＯＭ１４およびＲＡＭ１６を用いて構成される。
【００３２】
ＲＯＭ１４には、上述した数１〜数３および後述する数４の計算式を含む、エコーキャンセラ１０の動作を制御するためのプログラムや、予め設定されたデータが格納される。ＲＯＭ１４に格納されるデータとしては、適応フィルタ２８（後述）のタップ数Ｎ、ステップゲインμ等が含まれる。
【００３３】
ＲＡＭ１６には、ＣＰＵ１２での演算によって得られた計算値等のデータが一時的に格納される。ＲＡＭ１６に格納されるデータとしては、エコー信号ｙ、擬似エコー信号Ｙ、適応フィルタ係数、参照入力信号バッファ内の値ｘ、除去誤差信号ｅ等が含まれる。適応フィルタのタップ数Ｎ、ステップゲインμはＲＡＭ１６に格納されてもよい。
【００３４】
ＲＯＭ１４やＲＡＭ１６に格納されたプログラム、データを用いてＣＰＵ１２を動作させることによって、エコーキャンセラ１０が実現される。その機能ブロック図を図２に示す。
【００３５】
図２に示すエコーキャンセラ１０は、回線エコーを除去する回線エコーキャンセラとして構成された例である。エコーキャンセラ１０は、たとえばＩＩＲフィルタ（無限インパルス応答フィルタ）からなる、高域強調フィルタである白色化フィルタ１８を含む。白色化フィルタ１８では、マイク入力信号をＡ／Ｄ変換器２０によってディジタル化した信号をサンプリングして参照入力信号Ｘとして入力し、その参照入力信号Ｘから擬似白色化信号Ｘ１が得られる。擬似白色化信号Ｘ１は参照入力信号バッファ２２に与えられ、擬似白色化信号Ｘ１は所定のタイミングで積和演算部２４および係数更新部２６に与えられる。積和演算部２４では、擬似白色化信号Ｘ１とＦＩＲフィルタ（有限インパルス応答フィルタ）からなる適応フィルタ２８内の適応フィルタ係数とに基づいて、擬似エコー信号Ｙが算出される。そして、減算器３０において、Ａ／Ｄ変換器３２からのエコー信号ｙから擬似エコー信号Ｙが減算され、除去誤差信号ｅが得られ、Ｄ／Ａ変換器３４によってアナログ変換された後、スピーカ出力信号として出力される。係数更新部２６では、擬似白色化信号Ｘ１、適応フィルタ係数、除去誤差信号ｅに基づいて、インパルス応答に近づくように適応フィルタ係数が更新されていく。
【００３６】
ここで注目すべきは、白色化フィルタ１８の挿入箇所であり、白色化フィルタ１８は、Ａ／Ｄ変換器２０からＤ／Ａ変換器３６への経路Ａ上ではなく、経路Ａから分岐した経路Ｂ上に挿入される。これによって、Ｄ／Ａ変換器３６にはＡ／Ｄ変換器２０からのディジタル化されたマイク入力信号がそのまま与えられるため、Ｄ／Ａ変換器３６から出力される回線出力信号の音質は劣化しなくなる。
【００３７】
図２に示すエコーキャンセラ１０の主要部は、等価的には図３に示すように構成される。図３からわかるように、白色化フィルタ１８を挿入することによって、エコーキャンセラ１０ａから見たエコーパスは、Ｈ（ｚ）・１／Ｃ（ｚ）となる。すなわち、逆フィルタ１８ａから出力される回線出力信号は参照入力信号Ｘと等しい値となるので、エコーキャンセラ１０ａは、擬似白色化信号Ｘ１に基づいて、マイク入力信号Ｘと同様の信号が回線出力信号として出力されたときのエコーパスＨ（ｚ）を推定することができる。したがって、エコーパスＨ（ｚ）の推定動作に問題は生じない。
【００３８】
なお、白色化フィルタ１８としては、たとえば図４に示すような１次ＩＩＲ型ハイパスフィルタが用いられる。この１次ＩＩＲ型ハイパスフィルタは、８ＫＨｚサンプリングの信号に対してカットオフ周波数が２ＫＨｚに設定された高域強調フィルタであり、周波数が１オクターブ上がる毎に＋３ｄＢとなる（３ｄＢ強調する）。音声信号は統計的に周波数が１オクターブ上がる毎にレベルが６ｄＢ程度減衰する特性を有するが、この１次ＩＩＲ型ハイパスフィルタを用いることによって、その減衰特性を軽減し、周波数的な偏りが軽減された擬似白色化信号Ｘ１が得られる。
【００３９】
白色化フィルタ１８は、それぞれたとえば０．５、−０．５、１．０、０．０の係数を有する乗算器３７、３８、４０、４２、１サンプル分遅延するための遅延回路４４、４６、および加算器４８を有し、白色化フィルタ１８の周波数特性は図５に示すようになる。白色化フィルタ１８の係数からわかるように、白色化フィルタ１８は１次の自己相関性を打ち消すような働きをする。
【００４０】
なお、白色化フィルタ１８を使用した場合、３００Ｈｚ付近より下の周波数成分がほとんどなくなるため、その領域の学習が劣化するおそれがある。しかし、たとえば電話システムにエコーキャンセラ１０を使用した場合には、その通過帯域が３００〜３２００Ｈｚになるよう帯域制限をかけるため、特に問題とはならない。
【００４１】
このようにエコーキャンセラ１０では、白色化フィルタ１８によって擬似白色化された擬似白色化信号Ｘ１を用いて、学習同定法によって適用フィルタ係数を更新する。
【００４２】
図６を参照して、エコーキャンセラ１０の動作を説明する。
【００４３】
まず、ＲＡＭ１６に格納されるエコー信号ｙ、擬似エコー信号Ｙ、適応フィルタ係数、参照入力信号バッファ２２内の値ｘ、除去誤差信号ｅ等が初期化される（ステップＳ１１）。そして、Ａ／Ｄ変換器２０によってディジタル化されたマイク入力信号がサンプリングされて参照入力信号Ｘとして白色化フィルタ１８に入力され、白色化フィルタ１８によって参照入力信号Ｘがフィルタリングされて擬似白色化信号Ｘ１が得られ（ステップＳ１３）、擬似白色化信号Ｘ１は参照入力信号バッファ２２に入力される（ステップＳ１５）。
【００４４】
ついで、時刻ｊにおける、適応フィルタ２８内の適応フィルタ係数Ｐｊ（ｉ）と、擬似白色化信号Ｘ１すなわち参照入力信号バッファ２２内の値ｘｊ（ｉ）とが積和演算部２４で数１に示すように積和演算され、時刻ｊにおける擬似エコー信号Ｙｊが生成される（ステップＳ１７）。そして、減算器３０によって、Ａ／Ｄ変換器３２より出力されるエコー信号ｙｊから擬似エコー信号Ｙｊが数２に示すように減算されて、時刻ｊにおける除去誤差信号ｅｊが算出される（ステップＳ１９）。
【００４５】
その後、係数更新部２６によって、時刻ｊにおける、除去誤差信号ｅｊ、適応フィルタ係数Ｐｊ（ｉ）、擬似白色化信号Ｘ１すなわち参照入力信号バッファ２２内の値ｘｊ（ｉ）に基づいて、数３に示すように適応フィルタ係数Ｐｊ＋１（ｉ）が更新され、時刻ｊ＋１における適応フィルタ係数とされる（ステップＳ２１）。
【００４６】
上述のステップＳ１１〜ステップＳ２１を繰り返すことによって、適応フィルタ係数が更新されていく。
【００４７】
このようなエコーキャンセラ１０によれば、周波数的な偏りの少ないすなわち自己相関性の低い、擬似的に白色化された擬似白色化信号Ｘ１を用いて学習することができるため、学習速度、学習精度を向上できる。
【００４８】
また、白色化フィルタ１８を経路Ａから分岐した経路Ｂ上に挿入し、参照入力信号Ｘのみを擬似的に白色化して擬似白色化信号Ｘ１を生成するので、擬似白色化する処理はＤ／Ａ変換器３６によってＤ／Ａ変換すべきマイク入力信号には全く影響を与えず、マイク入力信号がＤ／Ａ変換され外部へ出力される信号すなわち回線出力信号の音質が劣化することもない。
【００４９】
エコーキャンセラ１０は、従来のエコーキャンセラ１に擬似白色化のための白色化フィルタ１８を追加するだけなので、エコーキャンセラ１とほぼ同程度の処理量で、能力の向上したエコーキャンセラを実現できる。
【００５０】
さらに、エコーキャンセラ１０の学習法（白色フィルタ＋学習同定法）と図９に示す従来のエコーキャンセラ１の学習同定法とを、数４によって評価値を算出して比較した。評価値は学習の進度を示し、学習が進めば評価値は１．０に近づく。なお、数４において、Ｈ（ｉ）はエコーパスのインパルス応答、ｈ（ｉ）は学習係数である。評価値の算出は、ステップゲインμ＝０．０５、タップ数＝１２８タップという共通条件の下で、図７（ｂ）に示す音声信号を入力して行われた。
【００５１】
【数４】
0003609611.tif 000005
【００５２】
図７からわかるように、エコーキャンセラ１０は、従来のエコーキャンセラ１より高速に学習が進むことがわかる。
【００５３】
上述のように、学習同定法の学習速度、学習精度を改善するためには、参照入力信号Ｘとなる音声信号の周波数的な偏りを減らせばよい。ここで、たとえば、有声音に対して、図８（ａ）に示すように、周波数が１オクターブ上がる毎に５〜６ｄＢ強調する特性を有する白色化フィルタを用いれば、有声音のレベルの減衰を相殺できる。
【００５４】
しかしながら、この白色化フィルタを無声音に対して用いた場合、図８（ｂ）に示すような結果となり、さらに学習速度、学習精度が劣化すると考えられる。
【００５５】
したがって、有声音と無声音とに対して、それぞれ異なった白色化フィルタを用意する必要が生じる。しかし、入力信号毎に白色化フィルタの特性を変えることは、エコーキャンセラ１０からみた場合、エコーパスＨ（ｚ）が変動したことになり、かえって性能が劣化する。
【００５６】
実際には、通常の会話において、有声音と無声音の出現する比率は異なる。また、エコーキャンセラの制御として、無音と判断される場合には学習を停止するという処理を行った場合には、比較的レベルの低い無声音に対しては、学習が停止する頻度が増える。したがって、これらを踏まえた、全体として効果が大きく表れる白色化フィルタを用いることによって、学習速度、学習精度を向上できる。
【００５７】
この発明において用いられる白色化フィルタの特性は、有声音と無声音の統計的な出現頻度や、エコーキャンセラの学習制御方法によって決定される。また、白色化フィルタとしてはＦＩＲフィルタが用いられてもよい。
【００５８】
この発明のエコーキャンセラ１０は、回線エコーキャンセラだけではなく、音響エコーキャンセラにも適用できることはいうまでもない。
【００５９】
また、エコーキャンセラ１０は、たとえば音声録音再生機能付きファクスモデムなどに適用され得る。
【００６０】
なお、ＣＰＵ１２に代えて、ＤＳＰが用いられてもよい。
【００６１】
【発明の効果】
この発明によれば、擬似白色化フィルタを挿入することによって、周波数的な偏りの軽減された擬似白色化信号を用いて適応フィルタ係数を更新でき、エコーキャンセラを実質的に変更することなく、学習速度および学習精度を向上できる。
【００６２】
また、エコーキャンセラの参照入力信号のみを擬似的に白色化して擬似白色化信号を生成するので、外部へ出力される信号の音質は劣化しない。
【図面の簡単な説明】
【図１】この発明の一実施形態を示すブロック図である。
【図２】図１の実施形態を示す機能ブロック図である。
【図３】図２の主要部の等価回路図である。
【図４】白色化フィルタの一例を示すブロック図である。
【図５】図４の白色化フィルタの周波数特性を示すグラフである。
【図６】この発明の実施の形態の動作の一例を示すフロー図である。
【図７】（ａ）は、この発明の学習法（白色化フィルタ＋学習同定法）の効果を従来の学習同定法との比較において示すグラフであり、（ｂ）は入力音声信号を示す波形図である。
【図８】白色化フィルタの特性を示すグラフである。
【図９】従来技術を示す機能ブロック図である。
【図１０】図９の従来技術の動作の一例を示すフロー図である。
【図１１】音声信号の周波数特性を示すグラフである。
【図１２】他の従来技術を示す機能ブロック図である。
【符号の説明】
１０      エコーキャンセラ
１２      ＣＰＵ
１４      ＲＯＭ
１６      ＲＡＭ
１８      白色化フィルタ
２２      参照入力信号バッファ
２４      積和演算部
２６      係数更新部
２８      適応フィルタ
３０      減算器
３７、３８、４０、４２      乗算器
４４、４６      遅延回路
４８      加算器
【図１】
0003609611.tif 000006
【図２】
0003609611.tif 000007
【図３】
0003609611.tif 000008
【図４】
0003609611.tif 000009
【図５】
0003609611.tif 000010
【図６】
0003609611.tif 000011
【図７】
0003609611.tif 000012
【図８】
0003609611.tif 000013
【図９】
0003609611.tif 000014
【図１０】
0003609611.tif 000015
【図１１】
0003609611.tif 000016
【図１２】
0003609611.tif 000017