エコー除去
エコー除去(エコーじょきょ、Echo cancellation)とは、電話などの音声通信において、自分の発した声が受話器から聞こえてくる不具合(反響)を解消する技術である。違和感のない通話を実現するだけでなく、ハウリングを防ぐ効果もある。
エコー除去は、まず本来の信号がある程度の遅延を伴って再度出現することを認識することから始まる。エコーを認識したら、受信(あるいは転送中の)信号からそれを引くことでエコーを除去する。一般にデジタルシグナルプロセッサ (DSP) を使って実装されるが、ソフトウェアで実装することも可能である。エコー除去は、エコーサプレッサ(英: Echo suppressor)やエコーキャンセラ(英: Echo canceller)、あるいは両方を使って行われる。
エコーには音響エコー(acoustic echo)とハイブリッドエコー(hybrid echo)がある。
電話における「エコー」の定義は、一般的な反響と同じである。人間が言葉を発したとき、その一部が反射して話者に戻り、耳に入る。やまびこも同じ原理であって、峡谷などでは観光客の楽しみの一つとなるが、電話ではわずらわしい雑音に感じられる。反射は2種類に分類される。遅延が大きいほど好ましくない。遅延がある程度大きければ(数百ミリ秒以上)、話者の耳には反射された音声が遅れて聞こえてくるため、非常にわずらわしく感じられる。遅延が小さい場合(10ミリ秒以下)、その現象を「側音; sidetone」と呼び、人間の耳にとってはそれほどわずらわしくないが、モデムにとっては大きな問題となる。
電気通信の初期のころ、人間の通話の性質を利用したエコーサプレッサによってエコーの除去が行われた。それは、電話回線が全二重であっても、人間が話をするときは両者が同時に話すことがないという性質を利用したものであった。エコーサプレッサは、信号レベルの大きい方の通信路で話者が話していると想定し、逆方向の通信路の信号を減衰させる。当然ながら、このような方式では完全なエコー除去はできない。両方向で同時に話した場合や、通話相手の返事が非常に素早いためにエコーサプレッサが追いつかない場合などがあり、声を発しているのに減衰させられてしまう場合がある。
エコーキャンセラは、そのような問題のあるエコーサプレッサの代替として1950年代に開発が始まった。当初それは人工衛星による通信での長い遅延に対応するためのものであった。最初のエコーキャンセラは、理論的にはAT&Tのベル研究所で1960年代初めに完成した。しかし、実物が開発されたのは1970年代後半になって電子工学技術が進歩してからである。エコーキャンセラのコンセプトは、話者の信号からエコーを予測して合成し、それを逆方向の通信路の信号から引くというものである。この技法には高度な信号処理技術を必要とする。
デジタル信号処理が急速に進化し、エコーキャンセラは小型化・低価格化されていった。1990年代にはエコーキャンセラは独立した機器ではなくなり、電話交換機内に実装されるようになった(最初のエコーキャンセラ内蔵式の電話交換機はノーテルの DMS-250)。エコー除去機能が電話交換機に内蔵されたことで、通話毎にエコー除去の有無を自動選択できるようになり、音声とデータの区別をする必要がなくなった。
音響エコーは、スピーカーからの音声(例えば、電話機の受話器の耳にあてる部分)をマイクロフォン(例えば、同じ受話器の口にあてる部分)が拾ってしまうことで発生する。一般に、電気信号を使った双方向の音声通信では常にスピーカーとマイクロフォンが近くにあるため、音響エコーも多かれ少なかれ存在する。音響エコーの身近な例として、次のようなものがある。
電話会議システム(Polycom の Soundstation など)
部屋の天井などにスピーカー、テーブル上にマイクロフォンを配置したシステム
物理的な結合(スピーカーの振動が受話器本体を伝わって、マイクロフォンに拾われる)
いずれの場合も、スピーカーからの音声はほとんど変化することなくマイクロフォンに拾われる。これを直接音響経路エコー(direct acoustic path echo)と呼ぶ。エコー除去の困難な点は、このときの周囲の環境によって音響エコーの特性がオリジナルの信号とは変わってしまう点にある。このとき、マイクロフォンが拾う音の音色は変わってしまう。例えば、柔らかい家具などが音を一部吸収するために一部の周波数成分が無くなったり、周波数によって反射する強さが異なったりということがある。スピーカーとマイクロフォンのある部屋での音の反射は様々な遅延を生じ、これが残響となる。
音響エコーはオリジナルの音声を発した側に到達する。つまり、A から B に音声が送信されたとき、B の部屋の中で音響エコーが発生し、それが A に送信されるのである。音響エコーは常に何らかの遅延を生じるため、耳障りなものとなる。
ハイブリッドエコーは公衆交換電話網において、ハイブリッドと呼ばれる機器での電気エネルギーの反射によって生じる。ハイブリッドとは、網の終端である電話機への2線式リンクと、網内の4線式リンクのインタフェースとなる変換器である。一般に2箇所を接続する際の通信経路で、ハイブリッドは2つ存在し、近い方で生じるハイブリッドエコーは遅延が小さく、遠い方で生じるハイブリッドエコーは遅延が大きい。遅延が小さいエコーは側音として認識されるので、遠い方でのハイブリッドエコーの方が重大である。しかし、どちらにしても音響エコーほどの遅延は生じない。
エコーサプレッサは、音声信号が流れている方向を検出し、逆方向の通信路を減衰させる。一般に、近い方で音声が発生したとき、遠い方の通信路を減衰させる。これにより、話者が自分の音声を聞くことを防ぐ。
この技法は効果的だが、次に挙げるようないくつかの問題を生じる。
通常の会話では、双方が同時に話すこともある。するとエコーサプレッサがあるとき、両方向から音声信号が来るため、全体として両方向に減衰がかけられる。これを防ぐため、両方の音声信号のレベルが高いときはエコーサプレッサが働かないようにすることがある。
エコーサプレッサは信号レベルを監視して減衰をかけるかかけないかを判断しているが、このとき微妙な遅延が生じる。このため、一方が話し始めたときに最初の数音が聞こえないという状況が発生する。これをクリッピング(clippng)と呼ぶ。
通話相手が騒々しい環境にいるとき、相手が話している間、その背後の騒音も聞こえるが、こちらが話している間はエコーサプレッサが相手の騒音も減衰させる。このとき、スピーカーが突然無音になるため、回線が切れたと誤解することがある。
ベル研究所での発明以来、エコー除去アルゴリズムは改良が加えられてきた。エコーキャンセラは次のように機能する。
受信音声信号をデジタル的に標本化し、参照信号とする。
その受信音声信号をスピーカーで再生する。
マイクロフォンが直接経路音や反射音を拾う。
マイクロフォンが拾った音声もエコー信号としてデジタル標本化する。
参照信号とエコー信号を比較する。理想的な系では、これらは全く同じである。
参照信号と180°位相をずらしたエコー信号を合成する。理想的な系では、これによってエコー信号が完全に除去される。
この過程を常に繰り返す。
エコーキャンセラには、2つの大きな問題がある。第一に、スピーカー、マイクロフォン、周囲の空間などの特性によってエコー信号が変質することである。第二は、エコー信号の変質の特性はその時どきで変わるという点である。
第一の問題に対しては、音響空間を時系列領域と周波数領域でモデル化することで対処する。音響エコー除去アルゴリズムは、現在と過去のサンプルの差分を比較することで、次のサンプルを予測する。単純化すると、サンプルはスピーカーが再生する直前とマイクロフォンで拾った直後に採られる。これらを周波数領域で比較する。これはフーリエ変換によって視覚化できる。結果として得られる情報は、次の音が音響経路によってどのように変化させられるかを予測するのに使われる。この音響空間のモデルは継続的に更新される。更新は即時ではなく、約 0.5 秒程度の遅延がある。
古いエコーキャンセラでは、インパルスやピンクノイズを使ったトレーニングが必要だった。最近のシステムは無音状態から55dBのキャンセルまで、約 200ms で追随する。
エコーの特性の変化は、主に部屋の音響環境の変化によるものである。例えば、何か動くものがあったり、マイクロフォンを部屋の中で動かした場合などに特性が変化する。ドアを開閉したり、イスとテーブルの位置が変わったり、引き出しを出し入れしても音響空間の反射特性が変わる。このため、エコーキャンセラのアルゴリズムでは非線形処理(Non-Linear Processing、NLP)と呼ばれる積極的な適応も行われる。ただし、NLPを多用すると、キャンセルし過ぎの状態となる。その場合、エコー信号が弱いながらも逆位相で残ってしまう。
エコーサプレッサは正しい信号も削除してしまうという副作用がある。これにより本来なら聞こえているはずの信号が消されてしまう「クリッピング」という現象が発生する。理想的な状態ではエコーキャンセラだけで十分エコー除去できる。しかし現実には、多くの場合それだけでは不十分である。そのため、エコーキャンセラとエコーサプレッサを組み合わせて、それなりの性能を達成しているのが現状である。
電話回線でモデムを使ったデータ通信を行う場合、エコー除去機能が働くとデータが壊れてしまう可能性がある。電話機器の中には、2100Hz か 2225Hz のアンサートーンを検出するとエコー除去をしないようにしているものもある。これは、ITU-Tの G.164 や G.165 に規定されている。
1990年代、V32やそれ以降のモデムは、内部にエコーキャンセラを装備していた。これにより双方向で同じ周波数帯域を使うことが可能となり、転送レートが向上した。コネクションを確立する過程で、双方のモデムがラインプローブ信号を送り、エコーを計測し、遅延を設定する。この場合のエコーは音響エコーではなく、ハイブリッドエコーである。
デジタル加入者線でも自動的なエコー除去が行われている。送信側と受信側では周波数帯域を分けるのが一般的だが、スペクトルオーバーラップ伝送方式ではエコーキャンセラによる信号の分離が必須となっている。