(57)【要約】【課題】その時点で最も適している適応フィルタの係数を用いる。【解決手段】複数の適応フィルタ１（１ａ）、適応フィルタ２（１ｂ）、・・・、適応フィルタＮ（１ｃ）は、異なるタップ長が設定されており、それぞれ適応アルゴリズムに従ってフィルタ係数を逐次更新している。適応フィルタ判定手段３は、複数の適応フィルタ各々についてエコー消去量を算出し、算出されたエコー消去量が所定の基準を満たしているかどうかを判定する。係数設定手段４は、適応フィルタ判定手段３による判定結果に応じて、その時点で最も適している適応フィルタのフィルタ係数を選択し、半固定フィルタ２に設定する。これにより、その時点で最も適したフィルタ係数が選択される。【選択図】図１
2007180646.tif 000002
【特許請求の範囲】
【請求項１】
スピーカとマイクロフォンを備える拡声通話系の音声処理装置において、
タップ長が各々異なる値に設定され、それぞれが前記タップ長に応じてフィルタ係数を逐次決定する複数の適応フィルタと、
前記複数の適応フィルタそれぞれが決定した前記フィルタ係数を用いて算出されるエコー消去量が所定の基準を満たすかどうかを判定する適応フィルタ判定手段と、
前記適応フィルタ判定手段による判定結果に応じて、最も適している前記適応フィルタのフィルタ係数を選択する係数設定手段と、
を具備することを特徴とする音声処理装置。
【請求項２】
前記係数設定手段により選択された前記適応フィルタのフィルタ係数が設定される半固定フィルタを具備し、
前記適応フィルタ判定手段は、前記半固定フィルタにより算出されるエコー消去量を基準として、前記基準のエコー消去量を超える前記適応フィルタのフィルタ係数について前記所定の基準を満たすと判定し、
前記係数設定手段は、前記所定の基準を満たす前記適応フィルタのフィルタ係数が検出された場合は当該フィルタ係数で前記半固定フィルタを更新し、検出されない場合は前記半固定フィルタのフィルタ係数を保持する、
ことを特徴とする請求項１記載の音声処理装置。
【請求項３】
前記係数設定手段は、前記所定の基準を満たした前記適応フィルタのフィルタ係数が複数ある場合には、予め設定された優先度に従って前記半固定フィルタに設定する前記適応フィルタのフィルタ係数を選択する、
ことを特徴とする請求項２記載の音声処理装置。
【請求項４】
前記優先度は、前記適応フィルタに設定される前記タップ長が短いほど高く設定される、
ことを特徴とする請求項３記載の音声処理装置。
【請求項５】
前記適応フィルタ判定手段は、さらに、前記適応フィルタのフィルタ係数により算出されるエコー消去量が、所定の回数以上連続して前記所定の基準を満たした場合にのみ、前記所定の基準が満たされたと判定する、
ことを特徴とする請求項１記載の音声処理装置。
【請求項６】
前記適応フィルタ判定手段は、さらに、前記複数の適応フィルタそれぞれが決定した前記フィルタ係数を用いて算出されるエコー消去量が所定の逆コピー基準を満たすかどうかを判定し、
前記係数設定手段は、前記所定の逆コピー基準が満たされた場合は、前記係数設定手段により選択された前記適応フィルタのフィルタ係数が設定される半固定フィルタのフィルタ係数を前記適応フィルタのフィルタ係数に設定する、
ことを特徴とする請求項１記載の音声処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は音声処理装置に関し、特にスピーカとマイクロフォン（以下、マイクとする）を備える拡声通話系の音声処理装置に関する。
【背景技術】
【０００２】
ハンズフリー電話やテレビ会議システムなど、各装置がスピーカとマイクを備えた拡声通話系では、ネットワークを介して接続する遠端装置と近端装置間において、遠端装置のマイクで収音された音声が近端装置に送られ、近端装置のスピーカから放音される。一方、近端装置が装備するマイクから収音される近端話者の音声も遠端装置へ送られ、遠端装置のスピーカから放音されるように構成されている。このため、遠端装置、近端装置それぞれでスピーカから放音される相手の音声がマイクに印加される。何も処理を行わない場合は、この音声が再び相手装置へ送られるため、自分の発声がこだまのように少し遅れてスピーカから聞こえる「エコー」という現象を引き起こす。エコーが大きくなると、再びマイクに印加されて系をループし、ハウリングを引き起こす。
【０００３】
従来、このようなエコーやハウリングを防止するための音声処理装置としてエコーキャンセラが知られている。エコーキャンセラでは、一般的に、適応フィルタを用いてスピーカとマイク間のインパルスレスポンスを学習し、スピーカから放音されるリファレンス信号に学習したインパルスレスポンスを畳み込んだ擬似エコーを生成し、マイクから入力した音声から差し引くことでエコーを除去する。
【０００４】
しかし、スピーカとマイクの間のインパルスレスポンスの学習では、エコー経路の変化や瞬間的なノイズ音などの系の変動から係数が収束するまでにある程度の時間がかかる。そこで、リファレンス信号、目標信号および誤差信号の時間平均エネルギーの大きさに応じてタップ係数の更新を制御して、エコーキャンセリングの精度を高めるエコーキャンセラがある（たとえば、特許文献１参照）。
【特許文献１】特開２００３−２８４１８４号公報（段落番号〔０１００〕〜〔０１４３〕、図９）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のように、音声処理装置は、スピーカとマイク間のインパルスレスポンスを学習し、所定の適応アルゴリズムによって適応フィルタの係数を逐次更新しているが、たとえばマイクを向ける方向の変化や、話者の移動などによるエコー経路の変化や、たとえばドアの開閉音などの瞬間的なノイズ音の発生に的確に対応する適応フィルタの係数を設定することは難しいという問題点がある。
【０００６】
適応フィルタのフィルタ係数は、スピーカとマイク間のインパルスレスポンス学習の際の適応フィルタのタップ長を短く設定すると、係数の収束は速いが収束限界は浅く、逆にタップ長を長く設定すると、収束限界は深いが収束は遅くなってしまうという特徴がある。したがって、タップ長を固定としていたのでは、その時点で最も適した的確な適応フィルタの係数を設定することが難しい。しかしながら、ダブルトークの状態などにおいてタップ長を更新すると、適応フィルタが正常な値に収束しなくなる、もしくは収束までに時間がかかるという問題がある。
【０００７】
本発明はこのような点に鑑みてなされたものであり、その時点で最も適したフィルタ係数を用いることができ、かつ、フィルタ係数が崩れにくく安定的な音声処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、スピーカとマイクを備える拡声通話系の音声処理装置であって、複数の適応フィルタ、適応フィルタ判定手段および係数設定手段を具備する音声処理装置が提供される。複数の適応フィルタは、それぞれタップ長が異なる値に設定されており、それぞれに設定されたタップ長に応じてフィルタ係数を逐次決定している。適応フィルタ判定手段は、複数の適応フィルタそれぞれが決定したフィルタ係数を用いて算出されるエコー消去量が所定の基準を満たすかどうかを判定する。係数設定手段は、適応フィルタ判定手段による判定結果に応じて、最も適している適応フィルタのフィルタ係数を選択する。
【０００９】
このような音声処理装置によれば、タップ長が異なる複数の適応フィルタは、それぞれに設定されたタップ長に応じて、マイクから入力する音声信号とリファレンス信号に基づきフィルタ係数を逐次決定する。タップ長が短い適応フィルタは、フィルタ係数の収束は速いが収束限界は浅く、タップ長の長い適応フィルタは、収束限界は深いが収束は遅いという特徴がある。適応フィルタ判定手段は、複数の適応フィルタ各々についてエコー消去量を算出し、算出されたエコー消去量が所定の基準を満たしているかどうかを判定する。係数設定手段は、適応フィルタ判定手段による判定結果に応じて、その時点で最も適している適応フィルタのフィルタ係数を選択する。選択されたフィルタ係数を用いることにより、その時点で最も適した適応フィルタによって音声処理が実行される。
【発明の効果】
【００１０】
本発明の音声処理装置によれば、タップ長が異なる複数の適応フィルタを設け、それぞれに適応計算を行わせて係数を更新させておく。そして、その時点で最もよいと思われる係数を選択することで、タップ長の短い適応フィルタと、タップ長の長い適応フィルタの利点を活かし、欠点を補い合うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、実施の形態に適用される発明の概念図である。
【００１２】
本発明にかかる音声処理装置は、それぞれタップ長が異なる適応フィルタ１（１ａ）、適応フィルタ２（１ｂ）、・・・、適応フィルタＮ（１ｃ）、音声処理に適用される半固定フィルタ２、適応フィルタのフィルタ係数が基準を満たしているかどうかを判定する適応フィルタ判定手段３、半固定フィルタ２のフィルタ係数を設定する係数設定手段４および判定情報を記憶する判定情報データベース（以下、ＤＢとする）５を具備する。以下、特に適応フィルタ１（１ａ）、適応フィルタ２（１ｂ）、・・・、適応フィルタＮ（１ｃ）を指定する必要がない場合は、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）と表記する。
【００１３】
タップ長が異なる適応フィルタ１（１ａ）、適応フィルタ２（１ｂ）、・・・、適応フィルタＮ（１ｃ）は、スピーカへ出力する音声信号に基づくリファレンス信号６とマイクから入力する音声信号であるマイク入力信号７からマイク入力信号７に含まれるエコー成分の推定値を算出し、所定の適応アルゴリズムに基づきフィルタ係数を更新する。タップ長が短く設定されている場合は、係数の収束は速いが、収束限界が浅い。一方、タップ長が長く設定されている場合は、収束限界は深いが、係数の収束は遅くなってしまう。適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数は、適応フィルタ判定手段３から読み出し可能であるとともに、係数設定手段４から読み出しと書き込みが可能である。
【００１４】
半固定フィルタ２は、リファレンス信号６とマイク入力信号７を入力し、係数設定手段４によって設定されたフィルタ係数に基づきマイク入力信号７に含まれるエコー成分の推定値を算出し、マイク入力信号７から算出されたエコー成分の推定値を差し引くことによってエコー除去処理を行う。半固定フィルタ２のフィルタ係数は、適応フィルタ判定手段３から読み出し可能であるとともに、係数設定手段４から読み出しと書き込みが可能である。また、逐次フィルタ係数を更新する適応フィルタ（１ａ、１ｂ、・・・、１ｃ）とは異なり、フィルタ係数は、係数設定手段４によって更新される場合を除き、設定された値に固定されている。
【００１５】
適応フィルタ判定手段３は、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）各々についてエコー消去量を算出し、算出されたエコー消去量が所定の基準を満たしているかどうかを判定する。所定の基準は、系に応じて予め設定される値でもよいが、処理用適用フィルタに最も適したフィルタ係数を設定するためには、基準値を半固定フィルタ２に設定されるフィルタ係数より算出されるエコー消去量とする。そして、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）により算出されたエコー消去量が基準値より大きいかどうかを判定基準とする。判定基準が満たされた場合、現時点で選択されている半固定フィルタ２のフィルタ係数よりも、当該適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数がよりエコーを除去できる、すなわち、より適したフィルタ係数であると判断できる。なお、半固定フィルタ２のフィルタ係数を安定的に変化させるためには、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）が、予め決められた所定の回数連続してエコー消去量の基準値を超えた場合に、基準を満たしたと判定する。適応フィルタ（１ａ、１ｂ、・・・、１ｃ）が基準を満たしたかどうかなどの判定結果は、係数設定手段４へ送る。また、判定基準などの閾値情報などは、判定情報ＤＢ５に格納し、逐次参照する。
【００１６】
さらに、必要に応じて、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のエコー消去量が所定の基準値よりも小さい状態が連続して発生したかどうかの判定を行うようにする。一旦、フィルタ係数が崩れてしまうと、戻るまでにはある程度の時間がかかる。そこで、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のエコー消去量が所定の基準値よりも小さい状態が連続して発生した場合、当該適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数が崩れていると判定する。
【００１７】
係数設定手段４は、適応フィルタ判定手段３による判定結果に応じて、最も適している適応フィルタのフィルタ係数を選択し、選択したフィルタ係数を半固定フィルタ２にコピーする。適応フィルタ判定手段３によって、基準を満たすと判定された適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数が複数検出された場合、所定の優先度に従ってフィルタ係数を選択する。たとえば、系変動時は、系への追従性を優先させるため、最もタップ長の短い適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数を選択し、これを半固定フィルタ２に設定する。以下、このように適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数を半固定フィルタ２に設定する処理を順コピーという。さらに、必要に応じて、適応フィルタ判定手段３によって、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のエコー消去量が所定の基準値よりも小さい状態が所定の回数以上連続して発生したと判定された場合には、当該適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数に半固定フィルタ２のフィルタ係数を設定する。以下、このように、半固定フィルタ２のフィルタ係数を適応フィルタ（１ａ、１ｂ、・・・、１ｃ）に設定する処理を逆コピーという。
【００１８】
判定情報ＤＢ５は、判定に関する情報を格納する記憶手段である。適応フィルタ判定手段３が参照する適応フィルタ（１ａ、１ｂ、・・・、１ｃ）が基準を満たしたと判定する「エコー消去量が基準値を超えた回数」などの判定基準となる閾値情報や、基準値を超えた回数などのワーク情報が記憶される。
【００１９】
このような構成の音声処理装置の動作について説明する。
適応フィルタ１（１ａ）、適応フィルタ２（１ｂ）、・・・、適応フィルタＮ（１ｃ）は、タップ長がそれぞれ異なっており、リファレンス信号６とマイク入力信号７を入力し、所定の適応アルゴリズムに基づいてフィルタ係数を逐次更新している。半固定フィルタ２には、所定のフィルタ係数が設定されており、リファレンス信号６とマイク入力信号７を入力し、擬似エコー成分（エコー消去量）を算出してマイク入力信号７から差し引くことによってマイク入力信号７からエコーを除去している。
【００２０】
ここで、タップ長の違いと、係数の収束の深さについて説明する。図２は、タップ長の違いと係数の収束の深さの関係を定性的に示した図である。横軸は、経過時間、縦軸は収束の深さを示している。縦軸の値が小さいほど、収束が深く、安定している状態にある。
【００２１】
図に示したように、タップ長が短い（８）場合、収束は速い（より短い時間で収束が深くなる）が、収束が最も深くなる収束限界は浅い。一方、タップ長が長い（９）場合、タップ長が短い場合に比べて、収束限界は深いが、収束は遅い。したがって、系が変動した場合、タップ長を短くして系に追従させ、ある程度収束が深くなったらタップ長を長くして収束限界をより深くすることが望ましい。
【００２２】
適応フィルタ判定手段３は、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）それぞれに設定されるフィルタ係数により算出されるエコー消去量と、エコー消去量の基準値、たとえば、半固定フィルタ２に設定されるフィルタ係数により算出されるエコー消去量を比較し、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のエコー消去量が基準値を超えているかどうかを判定する。このとき、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）が所定の回数連続して基準値を超えたかどうかを順コピーの条件とし、順コピー条件が成立したかどうかを判定する。なお、順コピー条件となる、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）が連続して基準値を超える回数は、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）の優先度に応じて設定しておくこともできる。優先度の高い適応フィルタ（１ａ、１ｂ、・・・、１ｃ）の回数を小さくしておくことにより、優先度の高い適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数が優先的に順コピーされる。係数設定手段４は、順コピー条件が成立した適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数を半固定フィルタ２にコピーする。これにより、半固定フィルタ２のフィルタ係数は、より適した値に更新される。なお、順コピー条件となる適応フィルタ（１ａ、１ｂ、・・・、１ｃ）が連続して基準値を超える回数はすべて同じにしておき、予め設定された優先度に従って選択する適応フィルタ（１ａ、１ｂ、・・・、１ｃ）を係数設定手段４が決定するようにしてもよい。
【００２３】
また、適応フィルタ判定手段３は、順コピー条件とは反対に、適応フィルタ（１ａ、１ｂ、・・・、１ｃ）が所定の回数連続して基準値を下回ったかどうかを逆コピーの条件とし、逆コピー条件が成立したかどうかを判定する。係数設定手段４は、適応フィルタ判定手段３によって逆コピー条件が成立したと判定された適応フィルタ（１ａ、１ｂ、・・・、１ｃ）のフィルタ係数に半固定フィルタ２のフィルタ係数をコピーする。
【００２４】
このように、半固定フィルタは、適応フィルタのフィルタ係数の方が適していると判定された場合に更新され、常に、その時点で最も適したフィルタ係数が設定されている。フィルタ係数のコピー元は、タップ長が短く、系変動への追従性はよいが収束限界は浅い適応フィルタから、タップ長が長く、収束限界は深いが系変動への追従性はよくない適応フィルタまで、タップ長の異なる複数の適応フィルタのうち、その時点で最も効果的な適応フィルタのフィルタ係数である。したがって、系変動への追従性と収束限界の深さをともに満たすことが可能となる。
【００２５】
さらに、各々の適応フィルタで係数が大きく崩れてしまった場合であっても、半固定フィルタからの逆コピーを行うことで、より正しいと思われる係数に修正される。これにより、すべての適応フィルタが半固定フィルタを介してお互いのフィルタ係数を修正することができる。
【００２６】
以下、実施の形態を、テレビ会議システムの音声処理部に適用した場合を例に図面を参照して詳細に説明する。
図３は、本発明の実施の形態のテレビ会議システムの構成を示した図である。図では、本発明の説明と関係のない画像に関する処理部を省略している。
【００２７】
本実施の形態のテレビ会議システムは、スピーカ２１ａとマイク２２ａを接続する会議端末１０ａと、スピーカ２１ｂとマイク２２ｂを接続する会議端末１０ｂが通信回線２３によって接続されている。以下、任意の話者の近くに配置される会議端末１０ａを近端装置、近端装置１０ａと通信回線２３を介して接続し、この話者からは遠方に位置する会議端末１０ｂを遠端装置１０ｂとする。近端装置１０ａと遠端装置１０ｂは、同様の構成をしており、図では遠端装置１０ｂの内部ブロック図を省略している。なお、通信回線２３は、イーサネット（登録商標）などの一般的なディジタル通信回線である。
【００２８】
近端装置１０ａに接続されたスピーカ２１ａは、遠端装置１０ｂに接続されたマイク２２ｂで収音された音声を近端装置１０ａで処理して放音する。近端装置１０ａに接続されたマイク２２ａは、近端装置１０ａのテレビ会議出席者の発言音声を収音する。このとき、空間を介して入力されるスピーカ２１ａから放音される音声が重畳して収音される。遠端装置１０ｂの場合も同様である。
【００２９】
以下、近端装置１０ａおよび遠端装置１０ｂの内部構成を近端装置１０ａの場合で説明する。近端装置１０ａは、スピーカ２１ａに接続するＤ／Ａ変換器１１、マイク２２ａに接続するＡ／Ｄ変換器１２、音声信号を処理する信号処理部１３、音声信号の符号化／復号処理を行う音声コーデック１４および通信回線２３に接続する通信部１５を具備する。
【００３０】
Ｄ／Ａ変換器１１は、信号処理部１３で処理されたディジタル音声データをアナログへ変換する。アナログ音声信号は、図示しない増幅器で増幅された後、スピーカ２１ａから放音される。Ａ／Ｄ変換器１２は、マイク２２ａで収音された音声が、図示しない増幅器で増幅されたアナログ音声信号をディジタル音声データに変換する。信号処理部１３は、ディジタルシグナルプロセッサー（ＤＳＰ）で構成され、入力および出力の音声データを所望のデータへ変換する処理を行うとともに、入力音声データからエコーを除去するエコーキャンセリング処理を実行する。このエコーキャンセリング処理の詳細は後述する。音声コーデック１４は、信号処理部１３から送られてくるマイク２２ａ入力に基づく音声データをテレビ会議システムの通信で標準的に定められている符号へ変換するとともに、通信部１５から送られてくる遠端装置１０ｂによって符号化された音声データをデコードし、信号処理部１３へ送る。通信部１５は、遠端装置１０ｂとの間で、符号化された音声データを含む入出力データを、所定のディジタルデータ通信プロトコルに基づき、通信回線２３を介して送受信する。
【００３１】
このような構成の近端装置における音声処理について説明する。
図４は、本発明の実施の形態の近端装置（音声処理装置）の処理手順を示すフローチャートである。
【００３２】
近端装置１０ａは、遠端装置１０ｂから音声データを受信すると同時に、マイク２２ａが収音した音声データの処理を行う。まず、遠端装置１０ｂからのデータ受信処理について説明する。
【００３３】
［ステップＳ０１ａ］  近端装置１０ａは、通信回線２３を介して遠端装置１０ｂから送信される符号化された音声データを通信部１５で受信する。受信データは、音声コーデック１４へ送る。
【００３４】
［ステップＳ０２ａ］  音声コーデック１４は、この受信データをデコードし、たとえば、３２ＫＨｚサンプリング１６ビットストレートＰＣＭのディジタル音声データとして信号処理部１３へ送る。ディジタル音声データは、同時に、Ｄ／Ａ変換器１１にも送る。
【００３５】
次に、同時に実行されるマイクで収音した音声データの処理について説明する。
［ステップＳ０１ｂ］  マイク２２ａは、近端装置１０ａの周辺の音を収音する。したがって、マイク２２ａの入力信号には、近端装置１０ａの周辺にいる話者の音声のほか、スピーカ２１ａから放音された音声信号が含まれる。
【００３６】
［ステップＳ０２ｂ］  マイク２２ａの入力信号をＡ／Ｄ変換器１２によってディジタル音声データに変換し、信号処理部１３へ送る。
以上の処理手順が実行されることにより、Ｄ／Ａ変換器１１には遠端装置１０ｂの音声データが、そして信号処理部１３には、遠端装置１０ｂの音声信号と、マイク２２ａで収音した入力信号が入力される。
【００３７】
［ステップＳ０３］  Ｄ／Ａ変換器１１は、ステップＳ０２ａによって送られたディジタル音声データをアナログ信号に変換する。
［ステップＳ０４］  ステップＳ０３により生成されたアナログ信号は、アンプによって増幅された後、スピーカ２１ａから放音される。
【００３８】
一方、信号処理部１３には、マイク２２ａの入力信号とともに、遠端装置１０ｂの音声データが参照信号として入力される。この参照信号とマイク２２ａの入力信号は、常に１サンプルずつ、同じタイミングで与えられるものとする。
【００３９】
［ステップＳ０５］  信号処理部１３は、ステップＳ０２ａにより入力された参照信号に基づき、ステップＳ０２ｂにより入力されたマイク２２ａの入力信号からエコー成分を除去する音声信号処理を行う。詳細は、後述する。
【００４０】
［ステップＳ０６］  信号処理部１３によってエコー成分が除去されたマイク２２ａの入力信号は、音声コーデック１４で、予め定められている符号へエンコードし、通信部１５へ送る。
【００４１】
［ステップＳ０７］  通信部１５は、音声コーデック１４でエンコードされた音声データを、通信回線２３を介して遠端装置１０ｂへ送信する。
このように、近端装置１０ａは、遠端装置１０ｂによってエコー成分が除去された音声データをスピーカ２１ａから出力するとともに、マイク２２ａが収音した入力信号からスピーカ２１ａからの放音に由来するエコー成分を除去した音声データを遠端装置１０ｂに送信する。
【００４２】
このように、近端装置１０ａは、遠端装置１０ｂによってエコー成分が除去された音声データをスピーカ２１ａから出力するとともに、マイク２２ａが収音した入力信号からスピーカ２１ａからの放音に由来するエコー成分を除去した音声データを遠端装置１０ｂに送信する。
【００４３】
次に、信号処理部１３による音声処理について詳細に説明する。
図５は、本発明の実施の形態の信号処理部の構成を示した図である。なお、信号処理部３０は、図３に示した会議端末の信号処理部１３に組み込まれる。
【００４４】
信号処理部３０は、タップ長の異なる適応フィルタ１（３１ａ）、適応フィルタ２（３１ｂ）、・・・、適応フィルタＮ（３１ｃ）および音声処理に適用される半固定フィルタ３２を有する。また、信号処理部３０へは、リファレンス信号３６と、マイク入力信号３７が入力される。なお、リファレンス信号３６とマイク入力信号３７は、常に１サンプルずつ同じタイミングで与えられるものとする。
【００４５】
適応フィルタ１（３１ａ）、適応フィルタ２（３１ｂ）、・・・、適応フィルタＮ（３１ｃ）は、それぞれにタップ長の異なる適応フィルタである。タップ長は、適応フィルタの係数ベクトルの次元を規定し、タップ長が短く設定されると、系変動への追従性はよいが収束限界は浅い。一方、タップ長が長く設定されると、収束限界は深いが系変動への追従性はよくない。
【００４６】
半固定フィルタ３２は、マイク入力信号３７とリファレンス信号３６を入力して擬似エコー成分を算出し、マイク入力信号３７から擬似エコー成分を差し引くことによってエコーを除去し、その信号を音声コーデック１４へ出力する。
【００４７】
リファレンス信号３６は、音声コーデック１４から入力し、Ｄ／Ａ変換器１１を経てスピーカ２１ａから出力される音声データである。
マイク入力信号３７は、マイク２２ａによって収音された音声信号で、Ａ／Ｄ変換器１２を経て入力し、エコーキャンセリング処理を施した後、音声コーデック１４へ出力する。
【００４８】
このような信号処理部３０における処理の大まかな流れについて説明する。図６は、本発明の実施の形態の信号処理部の処理手順を示すフローチャートである。
１サンプルのリファレンス信号３６とマイク入力信号３７が与えられて処理が開始される。
【００４９】
［ステップＳ５１］  まず、半固定フィルタ３２のフィルタ係数を用いてエコーキャンセリング処理を行う。エコーキャンセリング処理では、
【００５０】
【数１】
2007180646.tif 000003
【００５１】
によって、エコーキャンセリング処理の対象となる時刻ｔのマイク入力信号３７に含まれるエコー成分の推定値ｙ（ｔ）を算出する。そして、その値をマイク入力信号３７の値から減算（エコーキャンセリング）して音声コーデック１４へ送る。
【００５２】
ここで、ｗ（ｎ）は、｛ｗ０，ｗ１，・・・，ｗｐ−１｝の順で配列されたｎ回目のエコーキャンセリング処理での適応フィルタの係数ベクトル（ｐ次元）、ｘ（ｎ）は，｛ｘｔ，ｘｔ−１，ｘｔ−２，・・・，ｘｔ−（ｐ−１）｝の順で配列されたリファレンス信号の時間領域データベクトルを表す。
【００５３】
［ステップＳ５２］  適応フィルタ１（３１ａ）、適応フィルタ２（３１ｂ）、・・・、適応フィルタＮ（３１ｃ）において、それぞれ式（１）によりエコーキャンセリング処理の対象となる時刻ｔのマイク入力信号３７に含まれるエコー成分の推定値ｙ（ｔ）を算出する。次に、推定されたｙ（ｔ）をマイク入力信号３７から減算した値をエラーｅ（ｎ）として、たとえば、次の更新式、式（２）、式（３）を用いて、ｎ＋１ターン目の係数ベクトルｗ（ｎ＋１）を決定する。
【００５４】
ｗ（ｎ＋１）＝ｗ（ｎ）＋μ｛ａ１ｘ（ｎ）＋ａ２ｘ（ｎ−１）｝            （２）
【００５５】
【数２】
2007180646.tif 000004
【００５６】
ここで、式（１）の係数ベクトルの次元ｐは、適応フィルタのタップ長と呼ばれ、これを短めに設定すると係数の収束は速いが係数の収束限界が浅くなり、逆に長く設定すると収束限界は深くなるものの、収束は遅くなってしまう。また、このような更新式は他にもいくつか存在し、使用する更新式によって性質は多少異なる。
【００５７】
［ステップＳ５３］  適応フィルタ１（３１ａ）、適応フィルタ２（３１ｂ）、・・・、適応フィルタＮ（３１ｃ）から半固定フィルタ３２への順コピー判定を行い、順コピー条件を満たした適応フィルタのなかで最も優先度の高い適応フィルタの係数を半固定フィルタ３２へコピーする。順コピー処理の詳細は後述する。
【００５８】
［ステップＳ５４］  半固定フィルタ３２から適応フィルタ１（３１ａ）、適応フィルタ２（３１ｂ）、・・・、適応フィルタＮ（３１ｃ）への逆コピー判定を行い、逆コピー条件を満たした適応フィルタには、半固定フィルタ３２の係数をコピーする。逆コピー処理の詳細は後述する。
【００５９】
ここで、順コピー処理の詳細について説明する。図７は、本実施の形態の順コピー処理の手順を示したフローチャートである。
なお、ここでは、半固定フィルタがなるべく速く収束するように、適応フィルタはタップ長の長い順に１からＮの番号が割り振られており、タップ長が短いほどコピー優先度が高いものとする。したがって、Ｎ番目は最タップ長が短く設定されている適応フィルタで、優先度が最も高い。
【００６０】
［ステップＳ５０１］  ２つの使い捨て変数ｉ、ｊを初期化する。ｉは、半固定フィルタ３２と比較を行う適応フィルタに割り振られた番号に対応し、１（適応フィルタの最小番号）に初期化する。ｊは、順コピー条件を満たした適応フィルタの中で最も優先度の高い適応フィルタを記憶するための変数であり、０（順コピー条件を満たす適応フィルタなし）に初期化する。以下、ｉ番目の適応フィルタを適応フィルタ（ｉ）と表記する。
【００６１】
［ステップＳ５０２］  対象の適応フィルタを指示するｉと、適応フィルタの総数（Ｎ）を比較する。ｉがＮより大きい場合、全適応フィルタに対する処理が終了したと判断し、処理をステップＳ５０９へ進める。ｉがＮ以下の場合、ｉが指示する対象の適応フィルタに対し、ステップＳ５０３以降の処理を行う。
【００６２】
［ステップＳ５０３］  適応フィルタ（ｉ）と、半固定フィルタ３２を比較する。ここでは、各々のフィルタ係数から算出されるエラー信号ｅ（ｎ）の二乗値（パワー値）を比較し、値の小さい方を勝ちとする。ｅ（ｎ）は、マイクの入力信号値からエコー成分の推定値ｙ（ｔ）を減算した値であり、ｅ（ｎ）が小さい、すなわちエコー消去量が大きいほど、よいフィルタと考えられる。半固定フィルタ３２が勝ちの場合、処理をステップＳ５０４に進め、適応フィルタが勝ちの場合、処理をステップＳ５０５へ進める。
【００６３】
［ステップＳ５０４］  半固定フィルタ３２が勝ちの場合、半固定フィルタ３２のフィルタ係数の方が適していると判断し、適応フィルタ（ｉ）に対応する勝利回数カウンタ（図では、単にカウンタとしている）Ｖｉのカウンタ値を１減算する。具体的には、逆コピー条件も同一のカウンタで管理するため、勝利回数カウンタＶｉの値に応じて、Ｖｉが正の値であれば、Ｖｉ＝−１を設定する。そして、Ｖｉが負の値であれば、１減算する。そして、処理をステップＳ５０８へ進める。
【００６４】
［ステップＳ５０５］  適応フィルタが勝ちの場合、適応フィルタのフィルタ係数の方が適していると判断し、適応フィルタ（ｉ）に対応する勝利回数カウンタＶｉをカウントアップする。具体的には、勝利回数カウンタＶｉが負の値の場合もあるので、勝利回数カウンタＶｉが負の値ならば、Ｖｉ＝１を設定し、正の値であればＶｉの値を１増加させる。
【００６５】
［ステップＳ５０６］  勝利回数カウンタＶｉの値と、順コピー条件を満たす連続勝利回数の閾値（閾値１）を比較し、適応フィルタ（ｉ）が順コピー条件を満たしたかどうかを判定する。勝利回数カウンタＶｉの値が閾値１に到達した場合は、順コピー条件成立と判定し、処理をステップＳ５０７へ進める。閾値１に到達しない場合は、順コピー条件不成立と判定し、処理をステップＳ５０８へ進める。
【００６６】
［ステップＳ５０７］  ステップＳ５０６によって順コピー条件成立と判定された場合、ｊにｉの値を代入する。
［ステップＳ５０８］  ｉを１増加させてステップＳ５０２に戻って、次の適応フィルタに関する処理を繰り返す。
【００６７】
以上の処理手順が実行されることにより、優先度の低い適応フィルタから順に半固定フィルタ３２との比較が行われる。適応フィルタが勝った場合は勝利回数カウンタを正の方向に増加させる（１から開始し、１ずつ増加させる）。半固定フィルタ３２が勝った場合は、勝利回数カウンタを負の方向に減少させる（−１から開始し、１ずつ減少させる）。したがって、符号が正である場合、Ｖｉの値は連続して勝利した連続勝利回数を表し、符号が負である場合Ｖｉの絶対値は連続して敗北した連続敗北回数を表す。そして、連続勝利回数が閾値１を超えている場合には、適応フィルタ（ｉ）をｊに格納する。ｉ＝１から順に繰り返すことにより、ｊには、順コピー条件が成立した適応フィルタのうち、最も優先度の高い適応フィルタの番号が設定される。
【００６８】
［ステップＳ５０９］  すべての適応フィルタについて比較が行われたので、順コピー条件が成立した適応フィルタがあれば、ｊにはそのうち最も優先度の高い適応フィルタの番号が設定されている。ｊが０でないかどうかを判定し、０であれば、順コピー条件成立なしと判断し、処理を終了する。
【００６９】
［ステップＳ５１０］  ｊが０でなければ、ｊが指示する適応フィルタ（ｊ）のフィルタ係数を半固定フィルタ３２にコピーして、フィルタ係数を更新する。さらに、各適応フィルタに対応する勝利回数カウンタＶｉ〜ＶＮの値を０に設定し、処理を終了する。
【００７０】
以上の処理手順が実行されることにより、順コピー条件が成立した適応フィルタのうち、最も優先度の高い適応フィルタのフィルタ係数が半固定フィルタ３２にコピーされる。
次に、続けて実行される逆コピー処理手順について説明する。
【００７１】
図８は、本実施の形態の順コピー終了後の逆コピー処理手順を示したフローチャートである。図７に示した順コピー処理により、勝利回数カウンタＶｉには、値が設定されているとする。
【００７２】
［ステップＳ５１１］  まず、使い捨て変数ｉを１に初期化する。ｉは、図７の場合と同様に、適応フィルタを指示する。
［ステップＳ５１２］  ｉと、適応フィルタの総数（Ｎ）を比較する。ｉがＮより大きい場合、全適応フィルタに対する処理が終了したと判断し、処理を終了する。ｉがＮ以下の場合、ｉが指示する対象の適応フィルタに対し、以下の処理を行う。
【００７３】
［ステップＳ５１３］  勝利回数カウンタＶｉの値と、逆コピー条件である閾値２とを比較し、逆コピー条件が成立するかどうかを判定する。閾値２で指定された連続敗北回数となった場合、逆コピー条件を満たしたと判定し、処理をステップＳ５１４へ進める。連続敗北回数に到達しない場合、処理をステップＳ５１６へ進める。
【００７４】
［ステップＳ５１４］  逆コピー条件が満たされた場合、適応フィルタ（ｉ）のフィルタ係数に半固定フィルタ３２のフィルタ係数をコピーする。
［ステップＳ５１５］  勝利回数カウンタＶｉの値を０に初期化する。
【００７５】
［ステップＳ５１６］  ｉを１増加させてステップＳ５１２に戻って、次の適応フィルタに関する処理を繰り返す。
以上の処理手順が実行されることにより、逆コピー条件が成立した適応フィルタに、半固定フィルタのフィルタ係数がコピーされる。
【００７６】
なお、上記の説明の実施の形態は、一例であり、本発明はこれに限定されない。実施の形態の変形例など、他にも様々な適用形態が可能である。
たとえば、上記の説明では、適応フィルタから半固定フィルタへの順コピー条件と、半固定フィルタから適応フィルタへの逆コピー条件がすべての適応フィルタで同じとしたが、この条件は各々の適応フィルタで異なっていてもよい。たとえば、適応フィルタ１（３１ａ）では、エラーのパワー値が小さい方を勝ちとし、６０回連続で勝利したら半固定フィルタへの順コピー条件を満たし、３０回連続で敗北したら逆コピー条件を満たすとする。これに対し、適応フィルタ２（３１ｂ）では、半分の３０回連続で勝利したら順コピー条件を満たし、１５回連続で敗北したら逆コピー条件を満たすといった設定も可能である。
【００７７】
また、上記の説明では、順コピーが行われた後、勝利回数カウンタＶｉ〜ＶＮのすべての値を０に初期化したが、負の値をとるものに関しては、初期化を行わないなどの方法も考えられる。
【００７８】
さらに、タップ長の短いものほど優先度を高くしたが、上述のように適応フィルタごとに順コピー条件・逆コピー条件が異なる場合などには、これに限る必要はない。
また、図６に示した音声処理手順も、以下のような変形例が可能である。
【００７９】
図６の音声処理手順では、半固定フィルタのエコーキャンセリング処理（ステップＳ５１）は、順コピー処理（ステップＳ５３）および逆コピー処理（ステップＳ５４）よりも前に行うとしているが、後に行うようにすることもできる。この場合、コピーが行われる前の半固定フィルタでのエラーを予め算出しておかなければならないが、半固定フィルタの係数の更新が図６の処理手順よりも１ターン分早くなるという利点がある。
【００８０】
また、上記の説明では、順コピー処理（ステップＳ５３）を実行した後、逆コピー処理（ステップＳ５４）を実行するとしたが、その順番は逆であってもよい。
逆コピー処理、順コピー処理と行う場合の処理手順について説明する。なお、ｉ、ｊ、Ｖｉ、適応フィルタの並び順については、図７、図８と同様である。
【００８１】
図９は、本実施の形態の順コピーの前に実行する逆コピー処理手順を示したフローチャートである。
［ステップＳ５２１］  使い捨て変数ｉを１に初期化する。
【００８２】
［ステップＳ５２２］  対象の適応フィルタを指示するｉと、適応フィルタの総数（Ｎ）を比較する。ｉがＮより大きい場合、全適応フィルタに対する処理が終了したと判断し、処理を終了する。ｉがＮ以下の場合、ｉが指示する対象の適応フィルタに対し、以下の処理を行う。
【００８３】
［ステップＳ５２３］  適応フィルタ（ｉ）と、半固定フィルタ３２を比較する。図７と同様に、各々のフィルタ係数から算出されるエラー信号ｅ（ｎ）の二乗値（パワー値）を比較し、値の小さい方を勝ちとする。半固定フィルタ３２が勝ちの場合、処理をステップＳ５２５に進め、適応フィルタが勝ちの場合、処理をステップＳ５２４へ進める。
【００８４】
［ステップＳ５２４］  適応フィルタが勝ちの場合、適応フィルタのフィルタ係数の方が適していると判断し、適応フィルタ（ｉ）に対応する勝利回数カウンタＶｉをカウントアップする。具体的には、勝利回数カウンタＶｉが負の値の場合もあるので、勝利回数カウンタＶｉが負の値ならば、Ｖｉ＝１を設定し、正の値であればＶｉの値を１増加させる。そして、処理をステップＳ５２８に進める。
【００８５】
［ステップＳ５２５］  半固定フィルタ３２が勝ちの場合、半固定フィルタ３２のフィルタ係数の方が適していると判断し、適応フィルタ（ｉ）に対応する勝利回数カウンタＶｉのカウンタ値を１減算する。具体的には、逆コピー条件も同一のカウンタで管理するため、勝利回数カウンタＶｉの値に応じて、Ｖｉが正の値であれば、Ｖｉ＝−１を設定する。そして、Ｖｉが負の値であれば、１減算する。
【００８６】
［ステップＳ５２６］  勝利回数カウンタＶｉの値と、逆コピー条件である閾値２とを比較し、逆コピー条件が成立するかどうかを判定する。閾値２で指定された連続敗北回数となった場合、逆コピー条件を満たしたと判定し、処理をステップＳ５２７へ進める。連続敗北回数に到達しない場合、処理をステップＳ５２８へ進める。
【００８７】
［ステップＳ５２７］  逆コピー条件が満たされた場合、適応フィルタ（ｉ）のフィルタ係数に半固定フィルタ３２のフィルタ係数をコピーし、勝利回数カウンタＶｉの値を０に初期化する。
【００８８】
［ステップＳ５２８］  ｉを１増加させてステップＳ５２２に戻って、次の適応フィルタに関する処理を繰り返す。
以上の処理手順が実行されることにより、優先度の低い適応フィルタから順に半固定フィルタとの比較が行われる。適応フィルタが勝った場合は勝利回数カウンタを正の方向に増加させる（１から開始し、１ずつ増加させる）。半固定フィルタが勝った場合は、勝利回数カウンタを負の方向に減少させる（−１から開始し、１ずつ減少させる）。したがって、符号が正である場合、Ｖｉの値は連続して勝利した連続勝利回数を表し、符号が負である場合Ｖｉの絶対値は連続して敗北した連続敗北回数を表す。そして、連続敗北回数が閾値２に到達した場合には、逆コピー条件が成立したとみなし、適応フィルタ（ｉ）のフィルタ係数に、半固定フィルタのフィルタ係数をコピーする。
【００８９】
続けて、順コピー処理が行われる。
図１０は、本実施の形態の逆コピー終了後の順コピー処理手順を示したフローチャートである。
【００９０】
［ステップＳ５３１］  ２つの使い捨て変数ｉを１に、ｊを０に初期化する。
［ステップＳ５３２］  対象の適応フィルタを指示するｉと、適応フィルタの総数（Ｎ）を比較する。ｉがＮより大きい場合、全適応フィルタに対する処理が終了したと判断し、処理をステップＳ５３６へ進める。ｉがＮ以下の場合、以下の処理を行う。
【００９１】
［ステップＳ５３３］  勝利回数カウンタＶｉの値と、順コピー条件を満たす勝利回数の閾値（閾値１）を比較し、適応フィルタ（ｉ）が順コピー条件を満たしたかどうかを判定する。勝利回数カウンタＶｉの値が閾値１に到達しない場合は、順コピー条件不成立と判定し、処理をステップＳ５３５へ進める。
【００９２】
［ステップＳ５３４］  ステップＳ５３３によって順コピー条件成立と判定された場合、ｊにｉの値を代入する。
［ステップＳ５３５］  ｉを１増加させてステップＳ５３２に戻って、次の適応フィルタに関する処理を繰り返す。
【００９３】
［ステップＳ５３６］  すべての適応フィルタについて比較が行われたので、順コピー条件が成立した適応フィルタがあれば、ｊにはそのうち最も優先度の高い適応フィルタの番号が設定されている。ｊが０でないかどうかを判定し、０であれば、順コピー条件成立なしと判断し、処理を終了する。
【００９４】
［ステップＳ５３７］  ｊが０でなければ、ｊが指示する適応フィルタ（ｊ）のフィルタ係数を半固定フィルタ３２にコピーして、フィルタ係数を更新する。さらに、各適応フィルタに対応する勝利回数カウンタＶｉ〜ＶＮの値を０に設定し、処理を終了する。
【００９５】
以上の処理手順が実行されることにより、順コピー条件が成立した適応フィルタのうち、最も優先度の高い適応フィルタのフィルタ係数が半固定フィルタにコピーされる。
【図面の簡単な説明】
【００９６】
【図１】実施の形態に適用される発明の概念図である。
【図２】タップ長の違いと係数の収束の深さの関係を定性的に示した図である。
【図３】本発明の実施の形態のテレビ会議システムの構成を示した図である。
【図４】本発明の実施の形態の近端装置（音声処理装置）の処理手順を示すフローチャートである。
【図５】本発明の実施の形態の信号処理部の構成を示した図である。
【図６】本発明の実施の形態の信号処理部の処理手順を示すフローチャートである。
【図７】本実施の形態の順コピー処理の手順を示したフローチャートである。
【図８】本実施の形態の順コピー終了後の逆コピー処理手順を示したフローチャートである。
【図９】本実施の形態の順コピーの前に実行する逆コピー処理手順を示したフローチャートである。
【図１０】本実施の形態の逆コピー終了後の順コピー処理手順を示したフローチャートである。
【符号の説明】
【００９７】
１ａ……適応フィルタ１、１ｂ……適応フィルタ２、１ｃ……適応フィルタＮ、２……半固定フィルタ、３……適応フィルタ判定手段、４……係数設定手段、５……判定情報データベース（ＤＢ）、６……リファレンス信号、７……マイク入力信号
【図１】
2007180646.tif 000005
【図２】
2007180646.tif 000006
【図３】
2007180646.tif 000007
【図４】
2007180646.tif 000008
【図５】
2007180646.tif 000009
【図６】
2007180646.tif 000010
【図７】
2007180646.tif 000011
【図８】
2007180646.tif 000012
【図９】
2007180646.tif 000013
【図１０】
2007180646.tif 000014