(57)【要約】【課題】  ダブルトーク発生の有無に関係なく、収音信号のエコー成分をより確実に除去する。【解決手段】  エコー成分除去部５１２は、収音信号と、再生出力する音声に対応する参照信号とから、時間領域の適応フィルタによりエコー成分を推定して、収音信号からエコー成分を除去する。パラメータ更新部５１３は、μ算出部５２０により指定される更新量μに応じて適応フィルタパラメータ５０１を更新する。適応フィルタパラメータ５０１の更新量μは、μ算出部５２０により、収音信号からエコー成分を除去したエラー信号と参照信号とのコヒーレンスに応じて指定される。このため、ダブルトークの発生時に更新量が最適化されるように確実に制御できるようになり、エラー信号の品質を向上させることができる。【選択図】  図２
2006270709.tif 000002
【特許請求の範囲】
【請求項１】
再生出力された音声の収音部への回り込みにより生じるエコー成分を収音信号から除去するエコー除去装置において、
前記収音信号と再生出力する音声に対応する参照信号とから時間領域の適応フィルタにより前記エコー成分を推定して、前記収音信号から前記エコー成分を除去するエコー成分除去手段と、
前記適応フィルタのパラメータを更新するパラメータ更新手段と、
前記収音信号から前記エコー成分を除去したエラー信号と前記参照信号とのコヒーレンスに応じて、前記パラメータ更新手段による前記パラメータの更新量を指定する更新量指定手段と、
を有することを特徴とするエコー除去装置。
【請求項２】
前記更新量指定手段は、
一定期間に入力された前記収音信号および前記参照信号を基に算出したコヒーレンスを周波数成分ごとに加算し、その加算値を前記周波数成分の数で除算することで平均コヒーレンス値を算出する平均値算出手段と、
前記平均コヒーレンス値を前記パラメータの更新量に変換するデータ変換手段と、
を備えることを特徴とする請求項１記載のエコー除去装置。
【請求項３】
前記データ変換手段は、前記平均コヒーレンス値の増加に対して前記パラメータの更新量の変化量が０以上となるように、前記平均コヒーレンス値を前記パラメータの更新量に変換することを特徴とする請求項２記載のエコー除去装置。
【請求項４】
前記データ変換手段は、以前の所定期間における前記平均コヒーレンス値の傾向に応じて、前記平均コヒーレンス値を前記更新量に変換する際の変換パターンを変えることを特徴とする請求項２記載のエコー除去装置。
【請求項５】
前記平均値算出手段は、前記収音信号および前記参照信号を基に算出したコヒーレンスのうち、一部の周波数成分に対応するコヒーレンスを用いて前記平均コヒーレンス値を算出することを特徴とする請求項２記載のエコー除去装置。
【請求項６】
前記平均値算出手段は、前記収音信号および前記参照信号を基に算出したコヒーレンスを前記周波数成分ごとに重み付けした値を用いて、前記平均コヒーレンス値を算出することを特徴とする請求項２記載のエコー除去装置。
【請求項７】
前記平均値算出手段は、現在の前記平均コヒーレンス値と、それ以前の期間に算出された前記平均コヒーレンス値とを時定数に基づく所定の割合で加算した値を出力し、
前記データ変換手段は、前記加算値を前記パラメータの更新量に変換することを特徴とする請求項２記載のエコー除去装置。
【請求項８】
前記パラメータ更新手段は、前記平均値算出手段により算出された前記平均コヒーレンス値が所定のしきい値より低い場合には、前記パラメータの更新を一時的に停止することを特徴とする請求項２記載のエコー除去装置。
【請求項９】
ネットワークを通じて音声信号および映像信号を相互に送受信することで遠隔地との会議を実現する電子会議装置において、
収音信号と再生出力する音声に対応する参照信号とから時間領域の適応フィルタによりエコー成分を推定して、前記収音信号から前記エコー成分を除去するエコー成分除去手段と、
前記適応フィルタのパラメータを更新するパラメータ更新手段と、
前記収音信号から前記エコー成分を除去したエラー信号と前記参照信号とのコヒーレンスに応じて、前記パラメータ更新手段による前記パラメータの更新量を指定する更新量指定手段と、
を有するエコー除去部を備えたことを特徴とする電子会議装置。
【請求項１０】
再生出力された音声の収音部への回り込みにより生じるエコー成分を収音信号から除去するためのエコー除去方法において、
エコー成分除去手段が、前記収音信号と再生出力する音声に対応する参照信号とから時間領域の適応フィルタにより前記エコー成分を推定して、前記収音信号から前記エコー成分を除去するステップと、
パラメータ更新手段が、前記適応フィルタのパラメータを更新するステップと、
更新量指定手段が、前記収音信号から前記エコー成分を除去したエラー信号と前記参照信号とのコヒーレンスに応じて、前記パラメータ更新手段による前記パラメータの更新量を指定するステップと、
を含むことを特徴とするエコー除去方法。
【請求項１１】
再生出力された音声の収音部への回り込みにより生じるエコー成分を収音信号から除去する処理をコンピュータに実行させるエコー除去プログラムにおいて、
前記収音信号と再生出力する音声に対応する参照信号とから時間領域の適応フィルタにより前記エコー成分を推定して、前記収音信号から前記エコー成分を除去するエコー成分除去手段、
前記適応フィルタのパラメータを更新するパラメータ更新手段、
前記収音信号から前記エコー成分を除去したエラー信号と前記参照信号とのコヒーレンスに応じて、前記パラメータ更新手段による前記パラメータの更新量を指定する更新量指定手段、
として前記コンピュータを機能させることを特徴とするエコー除去プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再生出力された音声の収音部への回り込みにより生じるエコー成分を収音信号から除去するエコー除去装置、このエコー除去装置を備えた電子会議装置、エコー除去方法およびエコー除去プログラムに関し、特に、ダブルトークが発生した場合にエコー成分を良好に除去できるようにしたエコー除去装置、電子会議装置、エコー除去方法およびエコー除去プログラムに関する。
【背景技術】
【０００２】
例えば電子会議システムなど、マイクロフォンによる収音信号を双方向で通信するシステムでは、相手側で収音された音声信号が自分側のスピーカなどで出力され、その再生音声が自分側のマイクロフォンに回り込んで収音された場合に、エコーが発生して送受信する音声の品質が低下することが知られている。このため、このような従来のシステムでは、マイクロフォンによる収音信号からエコー成分を除去するエコーキャンセラが一般的に用いられていた。
【０００３】
従来のエコーキャンセラとしては、音声信号を時間領域のまま処理する適応フィルタによってエコー成分を推定するものと、音声信号を時間領域から周波数領域に変換して処理する適応フィルタを用いるものとが知られている。後者の例としては、収音信号のパワースペクトル、およびこの信号と再生信号とのクロススペクトルを求めるとともに、再生信号と１チャネル以上の収音信号とのコヒーレンスを求めて、これらから周波数帯域ごとの収音信号に占めるエコー成分の比率を推定し、比率からエコー抑圧ゲインを算出して、収音信号のエコーを抑圧する方法があった（例えば、特許文献１参照）。
【特許文献１】特開２００３−３０９４９３号公報（段落番号〔００１７〕〜〔００２０〕、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上述した適応フィルタの処理手法のうち、音声信号を時間領域のままで処理する手法には、自分側と相手側の両者が同時に音声を発するダブルトークの状態では、適応フィルタの学習速度を緩めた方がエコー成分を確実に除去でき、音声品質が向上することが知られている。一方、音声信号を周波数領域に変換して処理する手法では、コヒーレンスという尺度を用いることでダブルトークの状態を含めて、エコー成分除去後の音声品質を向上できる手法が提案されている。しかし、時間領域のままで処理する手法では周波数領域の尺度であるコヒーレンスをそのまま扱うことができないため、ダブルトーク発生を正確に検出して音声品質を向上させることが困難であった。
【０００５】
本発明はこのような点に鑑みてなされたものであり、ダブルトーク発生の有無に関係なく、収音信号のエコー成分をより確実に除去できるエコー除去装置を提供することを目的とする。
【０００６】
また、本発明の他の目的は、ダブルトーク発生の有無に関係なく、収音信号のエコー成分をより確実に除去できる電子会議装置を提供することである。
さらに、本発明の他の目的は、ダブルトーク発生の有無に関係なく、収音信号のエコー成分をより確実に除去できるエコー除去方法を提供することである。
【０００７】
また、本発明の他の目的は、ダブルトーク発生の有無に関係なく、収音信号のエコー成分をより確実に除去できるエコー除去プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、再生出力された音声の収音部への回り込みにより生じるエコー成分を収音信号から除去するエコー除去装置において、前記収音信号と再生出力する音声に対応する参照信号とから時間領域の適応フィルタにより前記エコー成分を推定して、前記収音信号から前記エコー成分を除去するエコー成分除去手段と、前記適応フィルタのパラメータを更新するパラメータ更新手段と、前記収音信号から前記エコー成分を除去したエラー信号と前記参照信号とのコヒーレンスに応じて、前記パラメータ更新手段による前記パラメータの更新量を指定する更新量指定手段とを有することを特徴とするエコー除去装置が提供される。
【０００９】
ここで、エコー成分除去手段は、収音信号と、再生出力する音声に対応する参照信号とから、時間領域の適応フィルタによりエコー成分を推定して、収音信号からエコー成分を除去する。パラメータ更新手段は、更新量指定手段により指定される更新量に応じて、適応フィルタのパラメータを更新する。パラメータの更新量は、更新量指定手段により、収音信号からエコー成分を除去したエラー信号と参照信号とのコヒーレンスに応じて指定される。ダブルトークの発生時には通常コヒーレンスが低くなることから、ダブルトークの発生時に更新量が最適化されるように確実に制御できるようになる。
【発明の効果】
【００１０】
本発明のエコー除去装置によれば、時間領域の適応フィルタにより除去すべきエコー成分を推定するので、周波数領域での処理と比較して処理による遅延を減少させ、かつエコー成分の推定処理の追従性を高くできる。これに加えて、適応フィルタのパラメータを、エラー信号と参照信号とのコヒーレンスに応じて変化させることにより、ダブルトークの発生時に更新量が最適化されるように確実に制御できるようになる。従って、ダブルトークの発生の有無に関係なく、収音信号のエコー成分を確実に除去することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を電子会議システムの端末装置に適用した場合を例に、本発明の実施の形態について図面を参照して詳細に説明する。
図１は、実施の形態に係る電子会議システムの構成例を示す図である。
【００１２】
本実施の形態の電子会議システムは、図１に示すように、電子会議端末１０および２０がネットワーク３０に接続された構成を有している。電子会議端末１０および２０は、遠隔地の会議室の間で電子会議を行うための端末であり、ネットワーク３０を通じて画像信号および音声信号を送受信できるようになっている。
【００１３】
ここでは例として電子会議端末１０の概略構成について説明する。この電子会議端末１０は、ネットワーク３０を通じて画像・音声データを送受信するネットワークインタフェース（Ｉ／Ｆ）１１と、画像信号の符号化／復号化を行う画像ＣＯＤＥＣ（COder/DECoder）１２と、表示画像信号や撮像画像信号の入出力処理を行う画像Ｉ／Ｆ１３と、音声データの符号化／復号化を行う音声ＣＯＤＥＣ１４と、収音信号からエコー成分を除去するエコーキャンセラ１５と、出力音声信号や収音信号の入出力処理を行う音声Ｉ／Ｆ１６とを具備している。また、電子会議端末１０の外部には、カメラ１３ａ、モニタ１３ｂ、マイクロフォン１６ａ、およびスピーカ１６ｂが接続されている。
【００１４】
この電子会議端末１０において、カメラ１３ａにより撮像された画像信号は、画像Ｉ／Ｆ１３によりデジタル信号に変換され、画像ＣＯＤＥＣ１２により所定の符号化方式で符号化される。また、マイクロフォン１６ａにより収音された音声信号は、音声Ｉ／Ｆ１６によりデジタル信号に変換され、エコーキャンセラ１５によりエコー成分が除去された後、音声ＣＯＤＥＣ１４により所定の符号化方式で符号化される。符号化された画像および音声のデータは、ネットワークＩ／Ｆ１１によりパケットに多重化され、ネットワーク３０上に送出される。
【００１５】
また、ネットワーク３０を通じて受信された画像および音声のデータは、ネットワークＩ／Ｆ１１により分離されてそれぞれ画像ＣＯＤＥＣ１２および音声ＣＯＤＥＣ１４に入力される。分離された画像データは画像ＣＯＤＥＣ１２により復号化され、画像Ｉ／Ｆ１３により表示画像信号に変換されてモニタ１３ｂに出力され、これにより画像が再生表示される。また、ネットワークＩ／Ｆ１１で分離された音声データは、音声ＣＯＤＥＣ１４により復号化され、音声Ｉ／Ｆ１６によりアナログ信号に変換されてスピーカ１６ｂに出力され、これにより音声が再生出力される。また、音声ＣＯＤＥＣ１４で復号化された音声信号はエコーキャンセラ１５にも供給され、参照信号としてエコー除去処理に利用される。
【００１６】
このような電子会議システムでは、例えば電子会議端末１０において収音された音声が、電子会議端末２０の側で再生され、その再生音声が回り込んで収音されることがある。電子会議端末１０の側でも同様な音声の回り込みが発生することがある。そこで、電子会議端末１０には、このような場合に発生するエコーの成分をエコーキャンセラ１５により除去することで、送受信される音声の品質を向上させている。
【００１７】
なお、エコーキャンセラ１５の機能は、電子会議端末１０に限らず、例えばマイクロフォン１６ａに内蔵されていてもよい。この場合、マイクロフォン１６ａは例えば、収音信号を出力する他に、シリアル通信Ｉ／Ｆなどを通じて、電子会議端末１０から参照信号（相手側の電子会議端末２０からの音声信号）の供給を受ける。
【００１８】
図２は、エコーキャンセラ１５の内部構成例を示す図である。
エコーキャンセラ１５は、図２に示すように、適応フィルタによりエコー成分を除去する処理を行うエコーキャンセル処理部５１０と、適応フィルタのパラメータの更新量μを算出するμ算出部５２０とを具備する。エコーキャンセル処理部５１０は、参照信号バッファ５１１、エコー成分除去部５１２、パラメータ更新部５１３、パラメータ記憶部５１４、およびリスト記憶部５１５を具備している。また、μ算出部５２０は、コヒーレンス算出部５２１およびコヒーレンス／μ変換部５２２を具備している。
【００１９】
参照信号バッファ５１１は、相手側の電子会議端末２０からネットワーク３０を通じて受信し、音声ＣＯＤＥＣ１４により復号化した参照信号を一時的に蓄積し、エコー成分除去部５１２やパラメータ更新部５１３、リスト記憶部５１５に出力する。
【００２０】
エコー成分除去部５１２は、マイクロフォン１６ａによる収音信号を音声Ｉ／Ｆ１６を通じて受信し、その収音信号からエコー成分を除去し、エラー信号として音声ＣＯＤＥＣ１４、パラメータ更新部５１３およびリスト記憶部５１５に出力する。このエコー成分除去部５１２は、パラメータ記憶部５１４に記憶された適応フィルタパラメータ（以下、単にパラメータと呼ぶ）５０１を用い、入力された収音信号と、参照信号バッファ５１１からの参照信号とから、時間領域で処理する適応フィルタによりエコー成分を推定する。
【００２１】
パラメータ更新部５１３は、適応フィルタのパラメータ５０１の学習処理を行うブロックであり、μ算出部５２０からパラメータ５０１の更新量μの指定を受け、この更新量μに応じてエコー成分の推定に用いる適応フィルタのパラメータ５０１を更新する。パラメータ記憶部５１４は、パラメータ更新部５１３により更新されるパラメータ５０１を記憶して、エコー成分除去部５１２に出力する。
【００２２】
リスト記憶部５１５は、エコー成分除去部５１２からのエラー信号、および参照信号バッファ５１１からの参照信号を、それぞれ同じ一定の時間ごとに順次蓄積したエラー信号リスト５０２および参照信号リスト５０３に記憶する。ここで、音声ＣＯＤＥＣ１４からの参照信号と、音声Ｉ／Ｆ１６からの収音信号とはエコーキャンセラ１５への信号出力タイミングが一致しており、リスト記憶部５１５のエラー信号リスト５０２および５０３には、同じサンプル数の音声データが常に蓄積される。
【００２３】
一方、μ算出部５２０のコヒーレンス算出部５２１は、リスト記憶部５１５に記憶されたエラー信号リスト５０２および参照信号リスト５０３を基にして、エラー信号と参照信号とのコヒーレンス値を算出する。コヒーレンス／μ変換部５２２は、コヒーレンス算出部５２１で算出されたコヒーレンス値を更新量μに変換し、パラメータ更新部５１３に対して更新量μを指定する。
【００２４】
次に、エコーキャンセル処理部５１０による処理について説明する。
このエコーキャンセル処理部５１０におけるエコー成分の除去処理は、音声信号を時間領域で処理する適応フィルタを用いてエコー成分を推定するものであり、その処理手順自体は従来から実行されていたものを適用できる。ｎ回目のエコーキャンセル処理におけるエコー成分は、次の式（１）により推定できる。
【００２５】
【数１】
2006270709.tif 000003
【００２６】
ここで、ｙ（ｔ）は時刻ｔにおけるエコー成分の推定値、ｗは適応フィルタのパラメータ５０１、ｘは参照信号の時間領域データ、ｋはベクトルの要素数を示す。また、ｗ（ｎ）は、｛ｗ0，ｗ1，ｗ2，……，ｗk-1｝の順で配列されたパラメータ５０１のベクトル、ｘ（ｎ）は、｛ｘt，ｘt-1，ｘt-2，……，ｘt-(k-1)｝の順で配列された参照信号の時間領域データのベクトルを示しており、ｗ（ｎ）ｘ（ｎ）は、２つのベクトルｗ（ｎ），ｘ（ｎ）の内積を示す。
【００２７】
エコー成分除去部５１２は、パラメータ記憶部５１４内のパラメータ５０１および参照信号を基に、上記の式（１）に従ってエコー成分を推定し、その成分を収音音声から減算してエラー信号を出力する。
【００２８】
一方、パラメータ更新部５１３は、所定の適応アルゴリズムを用いて適応フィルタのパラメータ５０１を更新する。適応アルゴリズムの例として射影法を用いた場合、ｎ回目のパラメータ５０１の更新は次の式（２）により計算される。なお、式（３）は、式（２）中のａ１，ａ２を求めるための行列式であり、ｅはエラー信号の時間領域データを示す。
【００２９】
【数２】
2006270709.tif 000004
【００３０】
上記の式（２）において、更新量μを大きくすると、パラメータ５０１の学習速度（更新速度）が高くなる。ここで、ダブルトークが発生していない状態では、収音信号中のエコー成分と参照信号との相関が高いため、更新量μを大きくして学習速度を高くした方が、エコー成分を確実に除去して出力音声の品質を向上できる。しかし、ダブルトークが発生した状態では、更新量μを小さくして学習速度を緩めた方が音質はよくなる。
【００３１】
そこで、このエコーキャンセラ１５では、収音信号からエコー成分を除去したエラー信号と参照信号とのコヒーレンスを求め、その値に応じてパラメータの更新量μを調整することで、ダブルトークの発生の有無などに関係なくエラー信号の品質を向上させる。エラー信号と参照信号とのコヒーレンスが高い場合は、除去したいエコー成分と収音信号との相関が高いことになるため、更新量μを高めることでエコー成分をより確実に除去できる。逆に、コヒーレンスが低い場合には、パラメータ５０１がすでに収束しているか、あるいはダブルトークが発生している可能性が高く、更新量μを低下させることでエラー信号の品質を向上できる。
【００３２】
図３は、エコーキャンセル処理部５１０の処理の流れを示すフローチャートである。
〔ステップＳ１０１〕エコーキャンセル処理部５１０が音声信号を受信すると、以下の処理が割り込み処理として実行される。
【００３３】
〔ステップＳ１０２〕エコー成分除去部５１２は、収音信号を受信するとともに、参照信号を参照信号バッファ５１１を介して受信する。
〔ステップＳ１０３〕エコー成分除去部５１２は、パラメータ記憶部５１４から適応フィルタのパラメータ５０１を読み出し、このパラメータ５０１を基に上記式（１）を用いてエコー成分を推定する。
【００３４】
〔ステップＳ１０４〕エコー成分除去部５１２は、推定したエコー成分を収音信号から減算し、エラー信号を出力する。
〔ステップＳ１０５〕エコー成分除去部５１２から出力されたエラー信号は、パラメータ更新部５１３および音声ＣＯＤＥＣ１４に出力されるとともに、リスト記憶部５１５に供給され、リスト記憶部５１５は、エラー信号をエラー信号リスト５０２に記憶する。また、リスト記憶部５１５は、参照信号バッファ５１１に格納された最新の参照信号を、参照信号リスト５０３に記憶する。
【００３５】
〔ステップＳ１０６〕パラメータ更新部５１３は、μ算出部５２０からの更新量μ、エラー信号、参照信号、およびパラメータ記憶部５１４に記憶されたパラメータ５０１を基にして、式（２）を用いてパラメータ５０１の更新値を算出し、パラメータ記憶部５１４の記憶データを更新する。
【００３６】
一方、μ算出部５２０による処理は、エコーキャンセル処理部５１０が、音声信号を受信してエコー成分を収音信号から除去し、さらに適応フィルタのパラメータ５０１を更新した後、次の音声信号を受信するまでの残りの時間を利用して実行される。この理由は、エコーキャンセル処理部５１０の処理は音声信号の受信ごとに必ず実行される必要があることにある。そのため、次の音声信号の受信までにμ算出部５２０の処理が完了しない場合には、音声信号の受信時にエコーキャンセル処理部５１０による割り込み処理が実行され、処理終了後にμ算出部５２０の処理が再開される。
【００３７】
次に、μ算出部５２０の処理について詳しく説明する。始めに、μ算出処理に用いられるエラー信号リスト５０２および参照信号リスト５０３の例について説明する。
図４は、リスト記憶部５１５の構成例を示す図である。
【００３８】
図４に示すように、リスト記憶部５１５は、それぞれ２つの記憶領域に分割されたエラー信号リスト５０２ａおよび５０２ｂ、参照信号リスト５０３ａおよび５０３ｂと、これらの記憶領域を管理するためのリスト管理部５１６とを具備している。エラー信号リスト５０２ａおよび５０２ｂでは、その一方が満たされると他方を満たしていくように、エコー成分除去部５１２からのエラー信号が順次蓄積される。参照信号も同様に、参照信号リスト５０３ａおよび５０３ｂを交互に満たすように順次蓄積されていく。
【００３９】
これらのエラー信号リスト５０２ａおよび５０２ｂと、参照信号リスト５０３ａおよび５０３ｂは、すべて同じサンプル数の音声データを記憶するようになっており、そのサンプル数は、後述するμ算出部５２０によるＤＦＴ（Discrete Fourier Transform）のポイント数とされる。
【００４０】
リスト管理部５１６は、リスト選択フラグＦＬ１およびμ算出許可フラグＦＬ２を保持している。リスト選択フラグＦＬ１は、エコー成分除去部５１２からのエラー信号が現在、エラー信号リスト５０２ａおよび５０２ｂのどちらに入力されているかを示すフラグである。例えば、エラー信号リスト５０２ａにデータ蓄積中の場合「１」とされ、そのリストが満たされてエラー信号リスト５０２ｂへのデータ蓄積が開始されると「０」に反転される。またその場合、「１」であるときは参照信号リスト５０３ａ、「０」であるときは参照信号リスト５０３ｂに対するデータ蓄積中であることも示す。
【００４１】
μ算出許可フラグＦＬ２は、エラー信号リスト５０２ａおよび５０２ｂ（あるいは参照信号リスト５０３ａおよび５０３ｂ）のいずれか一方に、これらを満たすだけのサンプル数の新たな音声データが蓄積されたときに「１」とされる。そして、その音声データがμ算出部５２０のコヒーレンス算出部５２１によって読み出されると、「０」に戻される。ここで、μ算出部５２０による更新量μの算出処理は、新たに蓄積が開始されたエラー信号リスト５０２ａおよび参照信号リスト５０３ａ、またはエラー信号リスト５０２ｂおよび参照信号リスト５０３ｂのいずれかが満たされる時間内に完了するものとする。
【００４２】
μ算出部５２０のコヒーレンス算出部５２１は、コヒーレンスを算出するためにエラー信号リスト５０２ａおよび参照信号リスト５０３ａ、またはエラー信号リスト５０２ｂおよび参照信号リスト５０３ｂのいずれかを読み出すが、このときにリスト選択フラグＦＬ１を参照することでどちらのリストを読み出せばいいかを判定できる。すなわち、リスト選択フラグＦＬ１が示す選択中のリストとは別の他方のリストから、音声データを読み出せばよい。また、μ算出許可フラグＦＬ２を参照することで、新たな音声データの読み出しか可能か否かを判定できる。
【００４３】
図５は、μ算出部５２０の処理の流れを示すフローチャートである。なお、図５の一連の処理の実行中に、エコーキャンセル処理部５１０において次の音声信号が受信された場合には、エコーキャンセル処理部５１０の処理が割り込み実行され、その実行終了後に図５の続きの処理が実行される。
【００４４】
〔ステップＳ２０１〕コヒーレンス算出部５２１は、リスト管理部５１６のμ算出許可フラグＦＬ２を参照し、その値が「１」となったときにステップＳ２０２の処理を実行する。
【００４５】
〔ステップＳ２０２〕コヒーレンス算出部５２１は、リスト選択フラグＦＬ１に基づき、所定サンプル数の音声データが新たに蓄積されたエラー信号リスト５０２ａまたは５０２ｂと、参照信号リスト５０３ａまたは５０３ｂからそれぞれ音声データを読み込む。
【００４６】
〔ステップＳ２０３〕コヒーレンス算出部５２１は、リストから読み出したエラー信号および参照信号をＤＦＴにより周波数領域の値に変換し、コヒーレンスを算出する。具体的には、ＤＦＴの結果に基づき、周波数ｆの成分ごとに、エラー信号および参照信号の各パワースペクトルＷxx（ｆ）およびＷyy（ｆ）と、各信号のクロススペクトルＷxy（ｆ）とを算出する。そして、次の式（４）を用いて周波数ｆに対応するコヒーレンスＣ（ｆ）を算出する。
【００４７】
【数３】
2006270709.tif 000005
【００４８】
この式（４）では、最新のＷxx（ｆ），Ｗyy（ｆ），Ｗxy（ｆ）を含む過去Ｍフレーム（Ｍは自然数）のエラー信号および参照信号のスペクトルの平均値を利用している。この個数Ｍの値が小さいほど、収音状態の変化に素早く反応して演算できるものの、算出されるコヒーレンスの値が安定しにくくなる。逆に、個数Ｍを大きくするとコヒーレンスの安定度は向上するが、反応が遅くなるため、反応速度とコヒーレンスの安定度とのバランスを考慮して個数Ｍを決定することが望ましい。
【００４９】
なお、このステップＳ２０３では、ＤＦＴの代わりにＦＦＴ（Fast Fourier Transform）などの各種フーリエ変換により、エラー信号および参照信号のスペクトルを算出してもよい。
【００５０】
〔ステップＳ２０４〕コヒーレンス算出部５２１は、コヒーレンスの値を基に平均コヒーレンス値Ｃ＿ａｖｇを算出する。この平均コヒーレンス値Ｃ＿ａｖｇは、ステップＳ２０３で算出した周波数ｆごとのコヒーレンスＣ（ｆ）をすべて加算し、その加算値を、ＤＦＴにより算出された周波数成分の数で除算することで算出する。
【００５１】
〔ステップＳ２０５〕コヒーレンス／μ変換部５２２は、算出された平均コヒーレンス値Ｃ＿ａｖｇを、パラメータ５０１の更新量μの値に変換する。上述したように、エラー信号と参照信号との相関が高いほど、すなわち平均コヒーレンス値Ｃ＿ａｖｇが高いほど、更新量μが高くなるように設定することで、エラー信号の品質を向上させることができる。
【００５２】
このコヒーレンス／μ変換部５２２では、例えば平均コヒーレンス値Ｃ＿ａｖｇを定数倍することで更新量μを算出してもよいが、それだけでは全体としてパラメータ５０１の収束速度が遅く、処理の開始から、エラー信号の品質が良好となるようにパラメータ５０１が収束するまで時間がかかる。このため、例えば次の図６に示すような変換グラフを用いて変換を行うようにする。
【００５３】
〔ステップＳ２０６〕コヒーレンス／μ変換部５２２は、変換した更新量μを、パラメータ更新部５１３に設定する。この後、μ算出部５２０は、例えばユーザの操作入力などに応じて処理が終了されるまで、図５の処理を繰り返す。
【００５４】
図６は、コヒーレンス／μ変換処理で用いられる変換グラフの一例を示す図である。
この変換グラフでは、更新量μの最小値が０より大きくなるように変換することで、適応フィルタのパラメータ５０１の収束時間を高め、より短期間で音質向上効果を得られるようにしている。図６では例として、平均コヒーレンス値Ｃ＿ａｖｇが０〜ａ１のときに更新量μを最小値ｃ１とし、平均コヒーレンス値Ｃ＿ａｖｇがａ１〜ｂ１のときに更新量μを一定の割合で増加させ、さらに平均コヒーレンス値Ｃ＿ａｖｇがｂ１〜１のときに更新量μを最大値ｄ１にしている。
【００５５】
以上説明したように、本実施の形態のエコーキャンセラ１５では、直近のエラー信号および参照信号を蓄積した各リストを基にコヒーレンスを求め、そのコヒーレンスに基づき、エラー信号と参照信号との相関の高さに応じて適応フィルタのパラメータ５０１の更新量μを変化させることで、ダブルトークの発生の有無に関係なく、エコー成分を収音信号からより確実に除去することができる。また、エコー成分の推定には、音声信号を時間領域で処理する適応フィルタを用いており、さらに周波数領域で処理するμ算出部５２０の処理を、エコー成分推定の処理の間にその推定処理間隔以上の周期で行うようにしたことで、効率よく処理できる。
【００５６】
［リスト記憶部の他の構成例］
図７は、リスト記憶部の他の構成例を示す図である。
この図７に示すリスト記憶部５１５ａは、図４に示したリスト記憶部５１５に代わって設けられるものであり、エラー信号リスト５０２および参照信号リスト５０３をそれぞれ蓄積するリングバッファ５１７および５１８を具備している。リングバッファ５１７および５１８は、コヒーレンス算出部５２１によりＤＦＴを行うのに必要なサンプル数分の音声データの２倍の容量をそれぞれ備えている。なお、各リングバッファ５１７および５１８は、エコーキャンセラ１５の動作開始時にはすべてデータ「０」で初期化されるものとする。
【００５７】
また、リスト記憶部５１５ａはさらに、リスト管理部５１８を具備しており、このリスト管理部５１８には、リングバッファ５１７および５１８における読み出し可能位置を示すカウンタであるリングカウンタ５１９を具備するとともに、μ算出許可フラグＦＬ３を保持している。リングカウンタ５１９は、各リングバッファ５１７および５１８の記憶領域が１／４だけ音声データで埋まるごとにカウント値を更新する。そして、カウント値の更新時にμ算出許可フラグＦＬ３が「１」とされ、該当する読み出し位置から音声データがコヒーレンス算出部５２１に読み出されると、μ算出許可フラグＦＬ３が「０」に反転される。
【００５８】
ここで、μ算出部５２０による更新量μの算出処理が、各リングバッファ５１７および５１８の１／４の容量分だけ音声データが入力される時間内に完了できるものとする。このとき、コヒーレンス算出部５２１は、μ算出許可フラグＦＬ３が「１」となると、リングカウンタ５１９のカウント値を基に、リングバッファ５１７および５１８の対応する位置から、各バッファの１／２の容量分のエラー信号および参照信号を読み出し、コヒーレンスの演算を行う。
【００５９】
例えば、リングバッファ５１７の記憶領域がデータの蓄積順に４つの均等な領域５１７ａ〜５１７ｄを持つとすると、領域５１７ｂまでエラー信号が満たされたときは、領域５１７ａおよび５１７ｂに記憶されたエラー信号がコヒーレンス算出部５２１に読み出される。次に、領域５１７ｃまでエラー信号が満たされたときは、領域５１７ｂおよび５１７ｃのエラー信号が読み出される。
【００６０】
このような動作により、例えば図４に示したリスト記憶部５１５と比較すると、更新量μの出力周期を１／２にして、適応フィルタのパラメータ５０１をより的確に更新できる。また、エラー信号リスト５０２および参照信号リスト５０３を蓄積するためのバッファ容量を増加させることなく、コヒーレンス算出に用いる音声データのサンプル数に変わりはなく、常に最新の音声データを使用して演算を行うことが可能となり、エラー信号の品質をより向上させることができる。
【００６１】
なお、この図７の例では、各リングバッファ５１７および５１８の記憶領域の１／４ずつ読み出すようにしたが、これに限らずコヒーレンスの計算を行うタイミングは自在に変更することが可能である。
【００６２】
［コヒーレンス算出の他の処理例］
コヒーレンス算出部５２１において平均コヒーレンス値Ｃ＿ａｖｇを求める場合には、より多くの（すなわち長い期間の）コヒーレンスＣ（ｆ）を用いることで、平均コヒーレンス値Ｃ＿ａｖｇの安定度を高めることができる。しかしその反面、演算処理の負荷が大きくなり、また内部に必要なメモリの容量も大きくなる。
【００６３】
そこで、ＤＦＴにより求めた周波数成分の一部のみを利用して、平均コヒーレンス値Ｃ＿ａｖｇを求めるようにしてもよい。例えば、ＤＦＴにより求めた周波数成分を１つずつ間引き、間引き後の周波数成分においてコヒーレンスＣ（ｆ）を求め、その平均コヒーレンス値Ｃ＿ａｖｇを算出する。これにより、同じメモリ量や処理能力を持つ場合にも、より長い期間の音声データに基づいて演算できるようになる。また、演算に用いる周波数成分を、例えば、周波数の低い順に所定の数だけ選択する、ランダムに選択するといった方法を採ってもよい。
【００６４】
さらに、平均コヒーレンス値Ｃ＿ａｖｇの演算時に、周波数成分ごとに重み付けを行ってもよい。例えば、マイクロフォンやスピーカ、ＣＯＤＥＣの特性などに応じて重み付けの割合を設定する。あるいは、電子会議装置を設置する部屋の大きさや、マイクロフォン、スピーカの数などに応じて、重み付けの割合を設定変更可能にしてもよい。これにより、定常ノイズを含む周波数成分をあまり考慮しないようにするなど、状況に応じて更新量μのとる値を変更してエラー信号の品質低下を抑制することが可能となる。
【００６５】
一方、μ算出部５２０の内部メモリ量やリスト記憶部５１５の記憶容量を抑えたために、コヒーレンス算出に用いる音声データのサンプル数（サンプル期間）が短くなった場合には、平均コヒーレンス値Ｃ＿ａｖｇの演算において時定数Ｄ（ただし、０＜Ｄ＜１）を用いることで、演算結果の安定性を向上させるようにしてもよい。この場合、Ｎターン目に算出される平均コヒーレンス値Ｃ＿ａｖｇ（Ｎ）を、例えば次の式（５）で算出する。なお、Ｎターン目において、周波数成分ごとに算出されたコヒーレンスＣ（ｆ）をすべて加算した後、その周波数成分の数で除算した値を、Ｃ＿ｓｍａｌｌ＿ａｖｅ（Ｎ）とする。
Ｃ＿ａｖｇ（Ｎ）＝｛Ｄ×Ｃ＿ａｖｇ（Ｎ−１）｝＋｛（１−Ｄ）×Ｃ＿ｓｍａｌｌ＿ａｖｅ（Ｎ）｝                                                          ……（５）
このような演算を行うことにより、音声データのサンプル数が少ない場合にも平均コヒーレンス値Ｃ＿ａｖｇの値が安定化されて、エラー信号の品質が高まる。なお、時定数Ｄを大きくすると算出結果の安定性は高まるものの、音声信号の成分変化に対する追従性が低くなるため、それらのバランスを考慮して時定数Ｄを設定することが望ましい。
【００６６】
［平均コヒーレンス／μ変換の他の処理例］
コヒーレンス／μ変換部５２２において平均コヒーレンス値Ｃ＿ａｖｇを更新量μに変換する際に用いる変換グラフは、図６に示したものに限らず、以下のように様々なパターンを用いることができる。
【００６７】
図８〜図１０は、コヒーレンス／μ変換処理で用いられる変換グラフの他の例を示す図である。
図８（Ａ）では、平均コヒーレンス値Ｃ＿ａｖｇが０から１まで上昇するに連れて、更新量μを最小値ａ２から最大値ｂ２まで一定の割合で増加させている。図８（Ｂ）では、平均コヒーレンス値Ｃ＿ａｖｇがしきい値ａ３より小さいときに更新量μを最小値ｂ３、平均コヒーレンス値がしきい値ａ３以上のとき更新量μを最大値ｃ３として、変換処理を単純化している。
【００６８】
図９（Ａ）では、平均コヒーレンス値Ｃ＿ａｖｇがａ４，ｂ４，ｃ４，ｄ４となる場合を境界として更新量μの上昇率（ただし０以上）を変えており、更新量をより細かく制御できるようになっている。図９（Ｂ）では、平均コヒーレンス値Ｃ＿ａｖｇの上昇に連れて、更新量μが最小値ａ５から最大値ｂ５まで滑らかな曲線状に上昇している。
【００６９】
さらに図１０のように、平均コヒーレンス値Ｃ＿ａｖｇと更新量μとの対応を示す２つの曲線５２２ａおよび５２２ｂを用意し、状況に応じて使い分けるようにしてもよい。例えば、平均コヒーレンス値Ｃ＿ａｖｇの履歴を保持しておき、最近の一定期間に算出された平均コヒーレンス値Ｃ＿ａｖｇが高い傾向にある場合（例えばそれらの平均値がしきい値以上の場合）には、エラー信号と参照信号との関連度が高く、エラー信号中にエコー成分が多く残存していると考えられるので、曲線５２２ａを用いて変換し、適応フィルタのパラメータ５０１の収束速度を高めるようにする。逆に最近の平均コヒーレンス値Ｃ＿ａｖｇが低い傾向にある場合には、曲線５２２ｂを用いて変換することで、パラメータ５０１を安定化して音質劣化を防止するなどといった使い分けを行う。また、使用する変換グラフを３つ以上用意して、より細かい条件に応じて使い分けるようにしてもよい。
【００７０】
さらに、平均コヒーレンス値Ｃ＿ａｖｇがあるしきい値より低くなったときには、適応フィルタのパラメータ５０１の更新を停止させてもよい。更新を停止させるためには、更新量μを０にする手法、コヒーレンス／μ変換部５２２が更新停止信号を出力し、パラメータ更新部５１３がこの更新停止信号を受信した場合には動作を停止する手法などが適用できる。さらに、更新停止時あるいは更新停止からの復帰時においては、例えば以下の図１１あるいは図１２で用いられる条件に基づいて処理を実行してもよい。
【００７１】
なお、上記の各例ではいずれも、平均コヒーレンス値Ｃ＿ａｖｇの増加に伴う更新量μの変化量が０以上となっている。しかし通常、平均コヒーレンス値Ｃ＿ａｖｇが１に近すぎる場合には不正確な検出が行われている可能性があるため、例えば平均コヒーレンス値Ｃ＿ａｖｇがあるしきい値を超えたときには、更新量μを低下させるような変換グラフを用いてもよい。
【００７２】
図１１は、平均コヒーレンス値Ｃ＿ａｖｇを更新量μに変換する他の処理例（その１）を示すフローチャートである。なお、この図１１の処理は、コヒーレンス／μ変換部５２２によって実行される図５のステップＳ２０５の処理に対応する。
【００７３】
〔ステップＳ３０１〕算出した平均コヒーレンス値Ｃ＿ａｖｇが、しきい値Ｔｈ１未満であるか否かを判定し、しきい値Ｔｈ１未満である場合はステップＳ３０２に、しきい値Ｔｈ１以上である場合はステップＳ３０５に進む。
【００７４】
〔ステップＳ３０２〕変数ｐに「１」を加算する。
〔ステップＳ３０３〕変数ｐがしきい値Ｔｈ２以上であるか否かを判定する。しきい値Ｔｈ２以上である場合はステップＳ３０４に進み、しきい値Ｔｈ２未満である場合はステップＳ３０７に進む。
【００７５】
〔ステップＳ３０４〕パラメータ更新部５１３に対する更新停止信号をＨレベルとする。
〔ステップＳ３０５〕変数ｐを「０」に初期化する。
【００７６】
〔ステップＳ３０６〕更新停止信号をＬレベルにする。
〔ステップＳ３０７〕所定の変換グラフに基づき、平均コヒーレンス値Ｃ＿ａｖｇを更新量μに変換し、パラメータ更新部５１３に設定する。
【００７７】
以上の処理では、平均コヒーレンス値Ｃ＿ａｖｇが、しきい値Ｔｈ２の示す回数以上連続してしきい値Ｔｈ１より小さくなった場合には、パラメータ更新部５１３におけるパラメータ５０１の更新処理を停止させる（ステップＳ３０１〜Ｓ３０２）。そしてその後、平均コヒーレンス値Ｃ＿ａｖｇがしきい値Ｔｈ１以上となったときに、変換グラフに基づいて変換した更新量μをパラメータ更新部５１３に設定して、更新処理を再開させる。従って、平均コヒーレンス値Ｃ＿ａｖｇが低い傾向にある場合には、適応フィルタのパラメータ５０１を安定化して音質劣化を防止することができる。
【００７８】
図１２は、平均コヒーレンス値Ｃ＿ａｖｇを更新量μに変換する他の処理例（その２）を示すフローチャートである。なお、この図１２の処理も同様に、コヒーレンス／μ変換部５２２によって実行される図５のステップＳ２０５の処理に対応する。
【００７９】
〔ステップＳ４０１〕算出した平均コヒーレンス値Ｃ＿ａｖｇが、しきい値Ｔｈ３未満であるか否かを判定し、しきい値Ｔｈ３未満である場合はステップＳ４０２に、しきい値Ｔｈ３以上である場合はステップＳ４０４に進む。
【００８０】
〔ステップＳ４０２〕変数ｑを「０」に初期化する。
〔ステップＳ４０３〕更新停止信号をＨレベルにする。
〔ステップＳ４０４〕変数ｑに「１」を加算する。
【００８１】
〔ステップＳ４０５〕変数ｑがしきい値Ｔｈ４以上であるか否かを判定する。しきい値Ｔｈ４以上である場合はステップＳ４０６へ、しきい値Ｔｈ４未満である場合はステップＳ４０３に進む。
【００８２】
〔ステップＳ４０６〕更新停止信号をＬレベルにする。
〔ステップＳ４０７〕所定の変換グラフに基づき、平均コヒーレンス値Ｃ＿ａｖｇを更新量μに変換し、パラメータ更新部５１３に設定する。
【００８３】
以上の処理では、平均コヒーレンス値Ｃ＿ａｖｇが１回でもしきい値Ｔｈ３未満になれば、パラメータ更新部５１３の更新処理が停止される。そしてその後は、平均コヒーレンス値Ｃ＿ａｖｇが、しきい値Ｔｈ４の示す回数以上連続してしきい値Ｔｈ３以上になるまで、パラメータ５０１の更新処理が再開されない。従って、平均コヒーレンス値Ｃ＿ａｖｇがほぼしきい値Ｔｈ３以下で変動している場合に、適応フィルタのパラメータ５０１を安定化し、音質の変化が不自然にならないようにすることができる。
【００８４】
なお、以上の実施の形態では、本発明を電子会議端末に適用した場合について説明したが、これに限らず、例えば上記電子会議システムに用いるマイクロフォンや、電話機などの双方向で音声を送受信する端末に対して、本発明を適用したエコーキャンセラを搭載することができる。さらに、マイクロフォンと音声送受信のための電子会議端末などの端末との双方に適用することも可能である。
【００８５】
また、上記の処理機能は、コンピュータによって実現することができる。その場合、上記実施の形態で示したエコーキャンセラが有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disk）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【００８６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００８７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【００８８】
【図１】実施の形態に係る電子会議システムの構成例を示す図である。
【図２】エコーキャンセラの内部構成例を示す図である。
【図３】エコーキャンセル処理部の処理の流れを示すフローチャートである。
【図４】リスト記憶部の構成例を示す図である。
【図５】μ算出部の処理の流れを示すフローチャートである。
【図６】コヒーレンス／μ変換処理で用いられる変換グラフの一例を示す図である。
【図７】リスト記憶部の他の構成例を示す図である。
【図８】コヒーレンス／μ変換処理で用いられる変換グラフの他の例（その１）を示す図である。
【図９】コヒーレンス／μ変換処理で用いられる変換グラフの他の例（その２）を示す図である。
【図１０】コヒーレンス／μ変換処理で用いられる変換グラフの他の例（その３）を示す図である。
【図１１】平均コヒーレンス値を更新量に変換する他の処理例（その１）を示すフローチャートである。
【図１２】平均コヒーレンス値を更新量に変換する他の処理例（その２）を示すフローチャートである。
【符号の説明】
【００８９】
１０……電子会議端末、１１……ネットワークＩ／Ｆ、１２……画像ＣＯＤＥＣ、１３……画像Ｉ／Ｆ、１３ａ……カメラ、１３ｂ……モニタ、１４……音声ＣＯＤＥＣ、１５……エコーキャンセラ、１６……音声Ｉ／Ｆ、１６ａ……マイクロフォン、１６ｂ……スピーカ、２０……電子会議端末、３０……ネットワーク、５０１……適応フィルタパラメータ、５０２……エラー信号リスト、５０３……参照信号リスト、５１０……エコーキャンセル処理部、５１１……参照信号バッファ、５１２……エコー成分除去部、５１３……パラメータ更新部、５１４……パラメータ記憶部、５１５……リスト記憶部、５２０……μ算出部、５２１……コヒーレンス算出部、５２２……コヒーレンス／μ変換部
【図１】
2006270709.tif 000006
【図２】
2006270709.tif 000007
【図３】
2006270709.tif 000008
【図４】
2006270709.tif 000009
【図５】
2006270709.tif 000010
【図６】
2006270709.tif 000011
【図７】
2006270709.tif 000012
【図８】
2006270709.tif 000013
【図９】
2006270709.tif 000014
【図１０】
2006270709.tif 000015
【図１１】
2006270709.tif 000016
【図１２】
2006270709.tif 000017