(57)【特許請求の範囲】
【請求項１】
適応フィルタを有するエコーキャンセラにおいて、
加算器回路、
第１の近端音声検出器であって、
受信した音声信号（ｘ（ｋ））および所定の近端信号（ｙ（ｋ））が供給され、近端音声が存在するか否かを検出し、前記近端音声が存在することを示す第１の状態および前記近端音声が存在しないことを示す第２の状態を有する検出結果を生成する手段を含む第１の近端音声検出器、並びに
第２の近端音声検出器であって、
遠端音声信号源へ延びるコネクションを介して音声信号を受信し、所定の遠端音声の信号レベルを生成するために前記受信した音声信号（ｘ（ｋ））を処理する手段、
前記所定の遠端音声信号レベルに応じて、前記遠端音声信号レベルと可変しきい値の現在値との関数として、該エコーキャンセラからの出力として供給される信号がエコー信号よりも大きいかどうかを判定する手段、及び
前記判定した結果及び前記第１の近端音声検出器からの近端音声の不在を示す前記第２の状態の検出結果の場合、前記しきい値を制御して減少させ、それ以外の場合、前記しきい値を増大させる手段を有する第２の近端音声検出器
からなることを特徴とするエコーキャンセラ。
【請求項２】
前記しきい値は第１の所定の割合に応じて減少させられる
ことを特徴とする請求項１のエコーキャンセラ。
【請求項３】
前記しきい値は第２の所定の割合に応じて増大させられる
ことを特徴とする請求項２のエコーキャンセラ。
【請求項４】
前記遠端の音声信号源はセルラ網である
ことを特徴とする請求項１のエコーキャンセラ。
【請求項５】
前記第１の所定の割合は前記第２の所定の割合より小さい
ことを特徴とする請求項３のエコーキャンセラ。
【請求項６】
前記しきい値が所定の最大値より大きい値に達したことに応じて、前記しきい値を該最大値に設定する手段をさらに有する
ことを特徴とする請求項１のエコーキャンセラ。
【請求項７】
前記しきい値が所定の最小値より小さい値に達したことに応じて、前記しきい値を該最小値に設定する手段をさらに有する
ことを特徴とする請求項１のエコーキャンセラ。
【請求項８】
前記第２の近端音声検出器は、さらに、
音声信号が前記遠端源から受信される順序に基づいて、前記受信した音声信号から現在の音声信号列を形成する手段、
前記音声の音声信号列を形成する音声信号のうちのいずれの大きさが最大であるかを判定する手段、及び
現在の近端信号の大きさが、遠端音声信号のうち大きさが最大のものと所定のしきい値との関数として導出される値以上である場合に所定の表示を生成する手段
を含むことを特徴とする請求項１のエコーキャンセラ。
【請求項９】
エコーキャンセラのための音声検出装置において、
遠端音声信号源への一方向通信路を介して接続され、前記遠端音声信号を受信し、該遠端音声の信号レベル値を生成する手段、
遠端信号源へ延びるもう１つの一方向通信路を監視し、前記近端信号が近端音声を含むときに出力として表示を生成する第１の近端音声検出手段であって、前記出力が、前記近端音声が存在する時には第１の状態を有し、近端音声が存在しない時には第２の状態を有する第１の近端音声検出、及び
前記遠端音声信号レベル値と適応しきい値αＥの現在値との関数として、前記エコーキャンセラからの出力の大きさがエコー信号の大きさより大きいか否か判定する第２の近端音声検出手段であって、さらに、（ａ）前記監視手段から前記第１の近端音声検出器における近端音声が不在であることを示す前記出力状態が出力されず、かつ（ｂ）現在の前記近端信号が前記エコー信号の大きさより大きい、という条件が成立した場合、前記適応しきい値αＥを制御して減少させ、前記条件が成立しない場合、前記適応しきい値を増大させる手段を有する第２の近端音声検出手段
からなることを特徴とする音声検出装置。
【請求項１０】
前記遠端の信号源はセルラ網である
ことを特徴とする請求項９の装置。
【請求項１１】
前記適応しきい値αＥの増大および減少は、それぞれ、互いに等しくない第１および第２の所定の割合に従ってなされる
ことを特徴とする請求項９の装置。
【請求項１２】
前記しきい値αＥが所定の最大値より大きいことに応じて、前記しきい値を該最大値に設定する手段をさらに有する
ことを特徴とする請求項９の装置。
【請求項１３】
前記しきい値αＥが所定の最小値より小さいことに応じて、前記しきい値を該最小値に設定する手段をさらに有する
ことを特徴とする請求項９の装置。
【請求項１４】
適応フィルタ、加算器回路および近端音声検出器からなるエコーキャンセラを動作させる方法において、
（Ａ）遠端音声信号源へ延びるコネクションを介して音声信号を受信し、遠端音声の信号レベルを生成するために前記受信した音声信号を処理するステップ、
（Ｂ）前記近端音声検出器において、近端音声が存在するか否かを検出し、近端音声信号が存在する時に出力として表示を生成し、前記出力が、前記近端音声が存在する時には第１の状態を有し、近端音声が存在しない時には第２の状態を有するステップ、
（Ｃ）前記近端音声検出器において、前記遠端音声信号の前記信号レベルの値に応じて、前記遠端音声信号レベルの値と可変しきい値の現在値との関数として、前記エコーキャンセラからの出力の大きさがエコー信号の大きさより大きいかどうかを判定するステップ、及び
（Ｄ）前記近端音声検出器において、前記判定した結果及び前記第１の近端音声検出器からの近端音声の不在を示す前記第２の状態の検出結果の場合、前記しきい値を制御して減少させ、それ以外の場合、前記しきい値を増大させるステップ
からなることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エコーキャンセラなどに関する。
【０００２】
【従来の技術】
入力信号の部分的反射により特徴づけられるエコーは、伝送システムにおいて、４線伝送路と２線伝送路の間の接合部のように、インピーダンス不連続あるいは不整合が存在するときにはいつでも生じる。いわゆるエコーパス遅延が非常に小さい場合、反射信号は一般にもとの信号の発信源では認められない。しかし、エコーパス遅延が非常に小さくはない場合、エコーは、定性的には、発信源、例えば、話者には非常に不快なものとなる。エコーキャンセラとして知られるエコー制御デバイスは、エコー信号の評価値を合成し、その評価値を出力信号から差し引いて、実質的にエコー信号を「消去」する。例えば、図１に、従来のエコーキャンセラを含む伝送網を示す。この伝送網は、ハイブリッド１０１を介して、双方向伝送路（伝送設備）１０２を、一方向伝送路（伝送設備）１０３と、出力一方向パス（設備）１０４を含む回路に接続する。このような入出力回路は、例えば、４線伝送設備を構成する。
【０００３】
この場合、入力音声信号は、一方向パス１０３を介して、キャンセラ１０６の適応フィルタ１０６−１の１つの入力と、ＮＥＳ（Near End Speech）検出器１０６−２の１つの入力に供給される。また、入力音声信号は、局Ｓ１に与えるために、ハイブリッド１０１にも供給される。（注意すべき点であるが、パス１０３を介して遠端から受信される入力音声信号をここでは遠端音声ともいい、ｘ（ｋ）で表す。）このような信号は、ハイブリッド１０１を介して局Ｓ１に供給される。同様に、双方向パス１０２、ハイブリッド１０１および一方向パス１０４を介して局Ｓ１から受信される出力音声信号は、近端音声（Near End Speech, ＮＥＳ）検出器１０６−２の入力と、加算回路１０６−３の１つの入力（＋）に送られる。（注意すべき点であるが、局Ｓ１から発信される音声信号を近端音声（ＮＥＳ）ともいう。ＮＥＳとエコーの和をｙ（ｋ）で表し、パス１０５に供給される信号をｅ（ｔ）で表す。）ＮＥＳ検出器１０６−２は、通常のようにパス１０４を監視し、エコーをＮＥＳから区別する。このような監視および検出で、ＮＥＳがパス１０４に存在することが示された場合、検出器１０６−２は、フィルタ１０６−１がパス１０４上のエコーのレベルに適応することを抑止する適応制御信号（抑止信号）を出力する。他方、ＮＥＳが検出されない場合、この抑止信号を除去し、周知のように、フィルタ１０６−１がパス１０４のエコー信号に適応するようにする。この場合、フィルタ１０６−１は、加算回路１０６−３の入力（−）に、エコー信号の評価値を実質的に構成する信号を供給する。加算回路１０６−３は、パス１０４を介して受信される信号からその評価値を差し引き、その結果を、遠端への送信のために一方向パス１０５に出力する。理解されるように、フィルタ１０６−１は、最初は、エコーの粗い評価値を出力するが、その適応プロセスを通じて、最終的には、パス１０４のエコーの精密な評価値に到達する。（注意すべき点であるが、同様のエコー消去プロセスは遠端でも行われる。）
【０００４】
上記のように、ＮＥＳ検出器１０６−２は、遠端音声（Far End Speech, ＦＥＳ）と、一方向パス１０４を介して供給される直接のＮＥＳを区別しようとする。ＮＥＳ検出器１０６−２は、ｙ（ｋ）信号のパワーレベルの評価値を、ｘ（ｋ）信号のパワーレベルの評価値と比較することによってこれを行う。ｙ（ｋ）の評価レベルがｘ（ｋ）のレベルの一部（例えば０．５。これは−６ｄＢに対応する）より大きい場合、ＮＥＳ検出器１０６−２はｙ（ｋ）信号がＮＥＳを含むと判定し、フィルタ１０６−１の適応プロセスを抑止する。しかし、この比較で、ｘ（ｋ）信号のパワーレベルが、ｙ（ｋ）信号のパワーレベルよりも所定しきい値だけ超えることが示された場合、検出器１０６−２は、ｙ（ｋ）信号が純粋なエコーであると判定し、適応プロセスを進行させる。
【０００５】
【発明が解決しようとする課題】
エコーの存在を検出する上記のプロセスはいくら良くても不完全である。その理由は、測定される短期音声レベルは、誰が話しているか、および、特定の瞬間に何を言っているかに依存するためである。さらに、ＦＥＳおよびＮＥＳの伝送路における伝送損失もまたこのような測定値に影響を及ぼす。これは、ＮＥＳパスにおける伝送損失がＦＥＳパスにおける伝送損失より大きいようなアプリケーションではＮＥＳ検出はあまり信頼性がないという事実によって強調される。この「ずれ」は特にセルラ網において明らかとなる。
【０００６】
【課題を解決するための手段】
エコー消去の技術は、近端信号ｙ（ｋ）が音声を含むかどうかの「粗い」表示を提供する近端音声検出器と、その表示を用いてその近端信号が純粋なエコーであるときをさらに正確に識別するようにｘ（ｋ）信号およびｅ（ｋ）信号の処理を動的に制御するもう１つの近端音声検出器を設けることによって改善される。
【０００７】
本発明の一実施例によれば、遠端音声の信号レベルの表示が、遠端から受信される音声信号から導出される。次に、この表示と、あるしきい値を用いて、近端の信号源から受信される信号の大きさがエコー信号のみの大きさより大きいかどうかを判定する。近端の信号源から受信される信号の大きさのほうが大きく、かつ、近端音声の存在の表示がない場合、しきい値を第１の方向に調節し、それ以外の場合、しきい値を第２の方向に調節して、エコー検出の精度をさらに「微調整」する。
【０００８】
【発明の実施の形態】
図２に、エコーキャンセラ２０６と遠端ディジタル網１００の間の通信コネクションの概略を示す。このコネクションは、一方向パス２０３および２０４から構成される。破線は、双方向パスの両端で顕著なエコーパス遅延を引き起こすのに十分な長さのコネクションの部分を表す。図から分かるように、エコーキャンセラ２０６は、とりわけ、適応フィルタ２０６−１を有する。適応フィルタ２０６−１は、有限インパルス応答（ＦＩＲ）フィルタとして設定された通常のディジタル信号プロセッサ（ＤＳＰ）でよい。また、エコーキャンセラ２０６は、加算器２０６−３およびＮＥＳ検出器２０６−２を有する。ＮＥＳ検出器２０６−２もまた通常のＤＳＰでよい。ＮＥＳ検出器２０６−２は、パス２０７を介して、一方向パス２０３における遠端音声信号（ｘ（ｋ））の存在を監視し、また、一方向パス２０４における近端音声信号の存在を監視する。しかし、図１のＮＥＳ検出器１０６−２とは異なり、ＮＥＳ検出器２０６−２は、本発明の特徴によれば、キャンセラ２０６のＥ側に存在する信号のレベルをも監視して、ＮＥＳが存在するかどうかを判定する（詳細は後述）。
【０００９】
特に、遠端網１００から受信されるディジタル音声サンプルは通常の方法（図示せず）でアナログ信号に変換された後、パス２０２を介して局Ｓ２へ送るためにハイブリッド２０１に供給される。遠端音声サンプルもまた、パス２０３を介して受信されると、ＮＥＳ検出器２０６−２のＸポートおよび適応フィルタ２０６−１の入力に供給される。同様に、ハイブリッド２０１を介して局Ｓ２から受信されるアナログ信号は通常の方法（図示せず）でディジタル音声サンプルに変換された後、加算器２０６−３およびパス２０５を介して最終的に遠端へ送るためにキャンセラ２０６のＹポートに供給される。ｙ（ｋ）信号およびｅ（ｋ）信号はそれぞれ、ＮＥＳ検出器２０６−２のＹポートおよびＥポートにも供給される。ＮＥＳ検出器２０６−２は、所定数Ｎ（例えば５１２）個のメモリ位置からなる内部Ｘポートメモリバッファ（図示せず）にｘ（ｋ）サンプルを順に格納し、現在のサンプルがバッファ内に格納されていた最も古いＸポートサンプルの代わりに格納されるようにする。こうして、ＮＥＳ検出器２０６−２は、遠端（例えば網１００）から受信される順序でＸポートバッファに最近の５１２個のＸポート音声サンプルを格納する。従って、バッファの内容は、所定期間（例えば６４ミリ秒。これは、５１２個の連続するＸポート音声サンプルの継続時間と等価である）にわたる移動ウィンドウ（すなわち、シフトレジスタ）を表す。新たなサンプルがＸポートバッファに格納されるごとに、ＮＥＳ検出器２０６−２の動作を制御するＤＳＰはバッファの内容をスキャンし、格納されているサンプルのうち絶対値（パワーレベル）が最大のものを見つける。
【００１０】
次に、ＮＥＳ検出器２０６−２は、ｙ（ｋ）信号とｘ（ｋ）信号の相対的なレベルを比較することに基づいて、ＮＥＳが存在するかどうかを判定する。注意すべき点であるが、このような判定をするためにさまざまな方法が周知である。例えば、いわゆるGeigelアルゴリズムはそのような方法の１つであり、１９７８年５月にIEEE Transactions on Communications誌に公表された"A Twelve Channel Digital Echo Canceler"と題するD. L. Duttweilerによる論文に記載されている。Geigelアルゴリズムは、パス２０８を介して受信されるｙ（ｋ）の現在のサンプルの絶対値と、ｘmax（ｋ）の現在の値を次のようにして比較する。
｜ｙ（ｋ）｜≧αYｘmax（ｋ）    （１）
ただし、αYは、予想される最悪のエコーパス損失に基づく所定の値（多くの場合０．５であり、これは−６ｄＢに相当する）である。検出器２０６−２は、式（１）が満たされていることが分かると、論理値ξY,big（ｋ）を真に設定する。しかし、Ｙ側からの予備的なＮＥＳ表示はξY,big（ｋ）ではなく、次式で与えられる。
【数１】
0003667478.tif 000002
ただし、ハングオーバ区間Ｍは例えば３２ｍｓｅｃ（あるいは、クロックレートが１２５ミリ秒のシステムでは２５６信号サンプル）である。ＮＥＳの存在の表示として、まさに現在のξY,big（ｋ）ではなく、最近の過去に生じたξY,big（ｋ）を使用する必要があるのは、以下に「強力な」ＮＥＳであっても、音声波形のゼロ交差に対応する時刻には小さいレベルのｙ（ｋ）しか生成しないためである。
【００１１】
理解されるように、Ｙ側の音声検出アルゴリズム（例えば上記のGeigelアルゴリズム）は、エコー中のＮＥＳの存在の検出ができない可能性がある。これは、ディジタルセルラ網で起こる「レベルずれ」の場合に特にそうである。
【００１２】
本発明の特徴によれば、この問題は、エコーキャンセラのＥ側でＮＥＳの存在を検出するとともに、Ｅ側しきい値（αE（ｋ））が所定の最小値に到達するまで、ＮＥＳの検出の「警報誤り（フォールスアラーム）」が起こらない限り、継続的にαE（ｋ）を下方へ適応させることによってそのような検出を改善することにより解決される（詳細は後述）。しきい値（αE（ｋ））の値が、Ｅ側が誤ってＮＥＳを宣言する点に到達した場合、ＮＥＳ検出器２０６−２のＥポート検出プロセスはしきい値（αE（ｋ））を情報に調節して（例えば、別の所定レートでその値を増大させて）、その誤りを訂正する（詳細は後述）。
【００１３】
また、ＮＥＳ検出器２０６−２のＥ側ポートは、ｘmax（ｋ）の現在の値を用いて、音声が加算器２０６−３のＥ側に存在するかどうかを判定する。これは、パス２０９を介して受信する現在のｅ（ｋ）サンプルの絶対値をｘmax（ｋ）の現在の値と次のように比較することによって行われる。
ξE,big（ｋ）＝｜ｅ（ｋ）｜≧αE（ｋ）ｘmax（ｋ）    （３）
ただし、しきい値αE（ｋ）は上記のように適応的に増減される。すなわち、αE（ｋ）の現在の値は次のように適応的に増加される。
αE（ｋ）＝αE（ｋ−１）（１＋εEｒE）    （４）
ただし、εEの値は例えば０．０００５という値に設定され、ｒEはたとえば１０．０という値に設定される。他方、αE（ｋ）の値は、次のように適応的に減少される。
αE（ｋ）＝αE（ｋ−１）（１−εE）    （５）
【００１４】
ＮＥＳ検出器２０６−２が式（４）または（５）のいずれかを実行することから得る結果を用いる方法について図３を参照して後述する。
【００１５】
前と同様に、ξE,big（ｋ）が最初に真になった後のハングオーバ期間（時間）の間、次式のような最終的なＥ側ＮＥＳ表示が宣言される。
【数２】
0003667478.tif 000003
【００１６】
注意すべき点であるが、ＮＥＳ表示は、適応フィルタがエコーを評価する能力をＮＥＳが劣化させないように適応フィルタ２０６−１の適応を抑止するために使用される。
【００１７】
上記のように、ＮＥＳ検出器２０６−２は、式（４）または（５）に従ってしきい値αＥを変化させ、図３のプログラムを用いてその機能の実施を制御する。具体的には、プログラムが開始されるとブロック３０１に進み、Ｅ側しきい値（αＥ）の値を所定の値（例えば０．５）に初期化する。次に、プログラムはいわゆるハングオーバカウントＥｃｏｕｎｔをクリアして、上記のハングオーバ時間の実施に備える。次に、プログラムは、破線で表されているように、遠端音声信号ｘ（ｋ）の次のディジタルサンプルの受信を待機する。サンプルを受信すると、プログラムはブロック３０２に進み、式（３）に従って判定されるように、ｅ（ｋ）をしきい値と比較する。サンプルの絶対値が大きい場合、プログラム（ブロック３０５）はＥｃｏｕｎｔの値を最大値（例えば２５５）に設定して、Ｅｃｏｕｎｔ（ハングオーバ時間）の値が次の２５５サンプルのｘ（ｋ）に対して真（非零）になるようにする。すなわち、プログラムは、次の２５５サンプルの間ＮＥＳが存在すると仮定する（後述）。そうでない場合、プログラム（ブロック３０４）はＥｃｏｕｎｔの値を所定の値（例えば、値１）だけデクリメントする。
【００１８】
この後、プログラムはブロック３０６に進み、（ａ）遠端音声ｘ（ｋ）が存在すること、および、（ｂ）近端音声が存在するというＹポート検出器からの表示がないことを検査する。注意すべき点であるが、遠端音声を検出するさまざまな方法が周知である。遠端音声を検出するための１つの単純であるが満足なアルゴリズムは次のものである。
ＦＥＳ（ｋ）＝（ｘmax（ｋ）≧αFES）    （７）
ただし、αFESは、約−４２ｄｂｍｏの正弦波パワーレベルに相当するように設定される。
【００１９】
ＦＥＳが存在し、かつ、ＮＥＳＹ（ｋ）が真になっていない場合に、プログラムはブロック３０７に進む。それ以外の場合、プログラムは、遠端音声信号ｘ（ｋ）の次のディジタルサンプルの受信を待機するために復帰する。ブロック３０７で、プログラムは、上記のようにして、近端音声がまだ存在するかどうか（すなわち、Ｅｃｏｕｎｔが０より大きいかどうか）を判定する。この条件以外の場合、Ｅ側検出処理はＹポート検出処理と一致している（すなわち、Ｅｃｏｕｎｔが０に等しいことはＮＥＳＥ（ｋ）が存在しないことを示す）ことを意味し、プログラムは、ＮＥＳの検出を改善するために、しきい値αＥの設定においてさらに積極的になっても良いと判断する。その場合、そのために、プログラム（ブロック３１１）は、αＥの値を（式（５）を用いて）減少させる。次に、プログラム（ブロック３１２）は、この減少によって、αＥが所定の最小値（例えば０．０６２５という値）を下回ったかどうかを検査する。下回っていない場合、プログラムはｘ（ｋ）の次のサンプルの受信を待機するために復帰する。下回った場合、プログラム（ブロック３１３）は、αＥの値を前記の最小値に設定してその値を下回らないようにした後、ｘ（ｋ）の次のサンプルの受信を待機するために復帰する。
【００２０】
ブロック３０７における判定がYESである場合（これは、Ｅ側検出プロセスがＹポート検出プロセスと一致していないことを意味する）、プログラムは、αＥの設定において積極的すぎたと判断する。その場合、プログラム（ブロック３０８）は、上記のように（すなわち、式（５）を用いて）αＥの値を増大させる。次に、プログラム（ブロック３０９）は、αＥの新しい値が所定の最大値（例えば、０．６３という値。これは−４ｄＢと等価である）を超えるかどうかを検査する。超えていない場合、プログラムは、ｘ（ｋ）の次のディジタルサンプルの受信を待機するために復帰する。超えている場合、プログラム（ブロック３１０）は、αＥをその最大値に設定してαＥがその値を超えないようにしてから同様に復帰する。
【００２１】
【発明の効果】
以上述べたごとく、本発明によれば、エコー消去の技術は、近端信号ｙ（ｋ）が音声を含むかどうかの「粗い」表示を提供する近端音声検出器と、その表示を用いてその近端信号が純粋なエコーであるときをさらに正確に識別するようにｘ（ｋ）信号およびｅ（ｋ）信号の処理を動的に制御するもう１つの近端音声検出器を設けることによって改善される。
【図面の簡単な説明】
【図１】従来技術によって構成されたエコーキャンセラを用いた伝送網の概略ブロック図である。
【図２】本発明の原理によって構成されたエコーキャンセラを用いた伝送網の概略ブロック図である。
【図３】図２のＮＥＳ検出器において本発明の原理を実現するプログラムの流れ図である。
【符号の説明】
１００  遠端ディジタル網
１０１  ハイブリッド
１０２  双方向パス
１０３  一方向パス
１０４  一方向パス
１０５  一方向パス
１０６  エコーキャンセラ
１０６−１  適応フィルタ
１０６−２  近端音声（ＮＥＳ）検出器
１０６−３  加算回路
２０１  ハイブリッド
２０２  双方向パス
２０３  一方向パス
２０４  一方向パス
２０５  一方向パス
２０６  エコーキャンセラ
２０６−１  適応フィルタ
２０６−２  ＮＥＳ検出器
２０６−３  加算器
【図１】
0003667478.tif 000004
【図２】
0003667478.tif 000005
【図３】
0003667478.tif 000006