(57)【特許請求の範囲】
【請求項１】
送信信号の信号レベルとエコー伝播経路を介して帰還した前記送信信号のエコー信号の信号レベルとに基づいて、前記エコー信号の前記送信信号に対する減衰量を算出する減衰量算出手段と、
この減衰量算出手段により算出された減衰量に基づいて前記送信信号の信号レベルを減衰させた信号を、参照入力信号として出力する参照入力信号生成手段と、
この参照入力信号生成手段が出力した参照入力信号を入力し、所定のアルゴリズムに基づいた演算処理を実行することで擬似エコー信号を生成する擬似エコー生成手段と、
を具備したことを特徴とするエコーキャンセラ。
【請求項２】
前記擬似エコー生成手段は各種の演算器を備え、該演算器を用いて前記所定のアルゴリズムに基づいた演算処理を実行する、
ことを特徴とする請求項１記載のエコーキャンセラ。
【請求項３】
前記参照入力信号生成手段は、前記減衰量算出手段により前回算出された減衰量に基づいて前記送信信号の信号レベルを減衰させた信号を、参照入力信号として出力する、
ことを特徴とする請求項１、または２記載のエコーキャンセラ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、テレビ電話システムや拡声通信システム等において送信側から受信側に回り込む信号（エコー）を消去するエコーキャンセラに関する。
【０００２】
【従来の技術】
近年、衛星や海底ケーブル等の長距離回線を用いた通信需要が増大している一方、多様な通信サービスに対応するため、複雑な処理を行う信号処理装置が通信システムに導入されるようになってきていることから、各種通信システムにおいては信号の伝搬遅延時間が大きくなる傾向がある。遅延時間が大きくなると、送信側から受信側に回り込むエコーの消去が不可欠となることから、このエコーを消去するエコーキャンセラは広く通信システムに用いられるようになってきている。
【０００３】
このエコーキャンセラは、一般に、それが接続された回線固有のエコー伝搬経路（以降、エコー経路と記す）の周波数特性を時間系列のインパルス応答としてトランスバーサルフィルタを用いて適応的に推定し、疑似的なエコー信号（擬似エコー）を生成してエコーと相殺させるものである。
【０００４】
例えば、テレビ会議システムにおける音声通信は、スピーカ／マイクロホンを用いて高品質な音声でテレビ（相手）をみながら会議を行うものである。しかし、このようなシステムではスピーカとマイクロホンが音響的に結合し、エコーが発生することから、このようなシステムにおいてもエコーキャンセラが用いられている。
【０００５】
図３は、従来のエコーキャンセラが適用されたシステム構成（テレビ会議システム）を示す概略ブロック図であり、３０１はエコーキャンセラ、３０２はスピーカ、３０３はマイクロホンである。図３を参照して、このエコーキャンセラ３０１の動作について説明する。
【０００６】
端子ｃには特には図示しない送信回路が接続されており、スピーカ３０２は、この送信回路から出力された送信信号ｘを入力することで音声を放音する。一方のマイクロホン３０３は、音声を収音することで得た受信信号を、加算器３０４を介して端子ｄに出力する。この端子ｄには、特には図示していないが受信信号を受信する受信回路が接続されている。
【０００７】
このシステムでは、スピーカ３０２が放音した音声は音響空間を経てマイクロホン３０３に収音されることでエコーが発生する。マイクロホン３０３は、スピーカ３０２が放音した音声を収音することで、エコー信号ｙを出力する。
【０００８】
エコーキャンセラ３０１はＤＳＰ（Digital Signal Processor）を用いたものであり、ＬＭＳアルゴリズム等のアルゴリズムに基づいた演算処理を実行することでエコー信号ｙを消去するための処理を実行する。具体的には、先ず、送信信号ｘを参照入力信号ｘとして入力し、この参照入力信号ｘと、逐次推定したスピーカ３０２とマイクロホン３０３間の音響空間（エコー経路）のインパルス応答ｈとを用いた畳み込み積分を行うことにより擬似エコー信号ｙ’を生成し、これを加算器３０４に出力する。
【０００９】
インパルス応答ｈの推定は、アダプティブトランスバーサルフィルタを用いて行われる。このトランスバーサルフィルタは、一般に、所定時間毎に配置した各タップの係数をアダプティブに調整することで、エコー経路の特性に合った最適のインパルス応答ｈを得るものであり、シフトレジスタ、乗算器、加算器等からＤＳＰ１０７内に構成されたものである。
【００１０】
生成された擬似エコー信号ｙ’は、エコーキャンセラ３０１からその信号レベルを反転されて加算器３０４に出力される。加算器３０４は、擬似エコー信号ｙ’を入力すると、マイクロホン３０３から出力された受信信号と擬似エコー信号ｙ’を加算することで、受信信号から擬似エコー信号ｙ’分を差し引く。これにより、この受信信号に含まれているエコー信号ｙが消去される。
【００１１】
以上がエコーキャンセラ３０１の概略動作である。次に、図４を参照して、上述したエコーキャンセラ３０１の動作を詳細に説明する。図４は、この従来における擬似エコー信号生成処理を示すフローチャートである。
【００１２】
この処理では、先ず、アダプティブトランスバーサルフィルタの初期化、即ちそれが備えた各タップの係数に初期値をセットする（Ｓ４０１）。このフィルタ係数の初期化が終了すると、次に送信信号ｘ（ｋ）を参照入力信号ｘ（ｋ）として入力する（Ｓ４０２）。この参照入力信号ｘ（ｋ）の入力は、アダプティブトランスバーサルフィルタへの入力であり、上記のｘ（ｋ）は、時刻ｋのときの参照入力信号（送信信号）ｘを表している（以下、他の記号においても同様）。
【００１３】
参照入力信号ｘ（ｋ）の入力が終了すると、次にエコー信号ｙ（ｋ）、即ちマイクロホン３０３が出力した受信信号を入力する（Ｓ４０３）。エコー信号ｙを入力すると、既に入力した参照入力信号ｘ（ｋ）とインパルス応答ｈ（ｎ）（ｎは各タップを表す数）を用いて畳み込み積分演算を実行し、擬似エコー信号ｙ’を生成する（Ｓ４０４）。この擬似エコー信号ｙ’の生成は、例えば、以下に示す数１を用いて行われる。
【００１４】
【数１】
0003671232.tif 000002
【００１５】
このようにして擬似エコー信号ｙ’を生成すると、この生成した擬似エコー信号ｙ’を加算器３０４に出力することでエコー信号ｙの打ち消しを行うとともに、エコー信号ｙと擬似エコー信号ｙ’の差である誤差ｅ（ｋ）を算出する（Ｓ４０５）。この誤差ｅ（ｋ）は、ノイズを無視したとすると、数２で算出されるものである（ノイズを考慮する場合は、ノイズをＮｚ（ｋ）とすると、このＮｚ（ｋ）を右辺に加算する形で挿入した式となる）。
【００１６】
【数２】
ｅ（ｋ）  ＝  ｙ（ｋ）−ｙ’（ｋ）
ステップＳ４０５の処理が終了すると、例えば、数３を用いてアダプティブトランスバーサルフィルタのフィルタ係数、即ちインパルス応答ｈ（ｋ）を修正して（Ｓ４０６）、ステップＳ４０２に戻って次の時刻（ｋ＋１）の処理に移行する。このインパルス応答ｈ（ｋ）の修正は、上記した誤差ｅ（ｋ）を最小化する、即ち０に近づけるための修正である。
【００１７】
【数３】
0003671232.tif 000003
【００１８】
【発明が解決しようとする課題】
エコーキャンセラにおいては、経済的な面からＬＳＩ（Large Scale Integrated Circuit）化が図られており、ＬＳＩとしては汎用ＬＳＩのエコーキャンセラへの適用が注目されている。これは、汎用ＬＳＩはそれ自体を新たに開発することがなく、既存のＬＳＩに所望の処理を実行させるためのソフトウェアの開発費用が主となることから、経済性や開発期間といった点でカスタムＬＳＩといった他の種類と比べて大きな利点があるためである。
【００１９】
エコーキャンセラに適用される汎用ＬＳＩとしては、ＭＰＵ（マイクロプロセッサ）、或いはＤＳＰとなる。この両者を対比すると、ＭＰＵはメモリ管理、判断機能、割り込み機能といった比較的複雑な制御機能や論理処理についてはＤＳＰより優れているが、乗算器のような強力な演算器をＤＳＰのように内蔵していないので、演算処理の高速性においてはＤＳＰのほうが優れている。
【００２０】
エコーキャンセラはエコー信号を消去するためにリアルタイムで処理を実行しなければならない。しかし、例えば、５０ｍｓ程度のエコー遅延量をカバーしようとすると、アダプティブトランスバーサルフィルタの長さ、即ちそのタップの総数は４００程必要となり、また、上記の数１、及び数３に示したように、擬似エコー信号の生成には乗算を行う回数も多いことから、演算処理を高速に行えることが必要である。このため、従来例のように、通常はＤＳＰがエコーキャンセラに用いられている。
【００２１】
しかし、アダプティブトランスバーサルフィルタのタップの総数は多く、また、演算式には乗算も多く登場するので、エコーキャンセラが１つの時刻（サンプル周期毎）で実行する演算処理は膨大である。このため、演算処理を含む各種の処理の負担を軽減するための研究が行われている。
【００２２】
エコーキャンセラにおいては、擬似エコー信号を生成するためのアルゴリズム（図４の例では、ＬＭＳアルゴリズムである）は大体数式で表現できるので、サンプリング周期毎に実行される演算量のそのおよその値をつかむことができる。しかし、この値は有力な指標とはなるが、ＤＳＰが備えた演算器やメモリといった基本のハードウェアによって同じ演算量であってもその演算量を処理する時間が異なることになる。
【００２３】
最近では、浮動小数点方式の乗算器を備えたＤＳＰも製造されているが、この乗算器は固定小数点方式のものと比較してハードウェアが重いことから、固定小数点方式の乗算器を備えたＤＳＰと比較して高価である。
【００２４】
通常、エコー信号は送信信号よりもかなり小さいことから、インパルス応答はエコー信号よりもさらに小さいことになる。このため、例えば、１６ビットの固定小数点方式の乗算器を用いて数１の演算を実行した場合、送信信号ｘを１６ビットで表すと、インパルス応答ｈを表すには通常１６ビット以上必要となる。
【００２５】
エコーキャンセラは、演算処理を高速に行うことの他に、計算精度を維持することも重要である。１６ビットの固定小数点方式の乗算器において、たとえインパルス応答ｈを１６ビットで表せたとしてもその有効桁数が少ないと、その計算精度は低くなるので、計算精度を維持させる必要がある。このため、実際上、何方か一方の信号を表すデータのビット操作等が必要となり、この操作を実行することで演算速度が低下することから、必要な演算速度が得にくいという問題点が発生することになる。これは、特にＲＩＳＣ（Reduced Instruction Set Computer）等をエコーキャンセラに適用するときにその問題点が大きくなる。
【００２６】
本発明の課題は、計算精度を維持しつつ演算速度を向上させることにある。
【００２７】
【課題を解決するための手段】
本発明のエコーキャンセラは、送信信号の信号レベルとエコー伝播経路を介して帰還した前記送信信号のエコー信号の信号レベルとに基づいて、前記エコー信号の前記送信信号に対する減衰量を算出する減衰量算出手段と、この減衰量算出手段により算出された減衰量に基づいて前記送信信号の信号レベルを減衰させた信号を、参照入力信号として出力する参照入力信号生成手段と、この参照入力信号生成手段が出力した参照入力信号を入力し、所定のアルゴリズムに基づいた演算処理を実行することで擬似エコー信号を生成する擬似エコー生成手段とを具備したことを特徴とする。
【００２８】
上記の構成において、擬似エコー生成手段は、演算処理を高速に行ううえで、各種の演算器を備え、該演算器を用いて前記所定のアルゴリズムに基づいた演算処理を実行することが望ましい。
【００２９】
また、参照入力信号生成手段は、前記減衰量算出手段により前回算出された減衰量に基づいて前記送信信号の信号レベルを減衰させた信号を、参照入力信号として出力することが望ましい。
【００３０】
【作用】
本発明のエコーキャンセラは、送信信号の信号レベルとエコー伝播経路を介して帰還した前記送信信号のエコー信号の信号レベルとに基づいて、前記エコー信号の前記送信信号に対する減衰量を算出し、この算出された減衰量に基づいて前記送信信号の信号レベルを減衰させた信号を、擬似エコー信号を生成する際のベースとなる参照入力信号として出力する構成にし、所定のアルゴリズムに基づいた演算処理を信号レベルがエコー信号の信号レベルと同レベルに引き下げられたこの参照入力信号を用いて実行することで擬似エコー信号を生成する。
【００３１】
演算処理は、乗算器等の演算器を用いることでこの処理を高速に行うことができる。参照入力信号の信号レベルは、エコー信号の信号レベルと同レベルに引き下げられているので、乗算器が扱う全てのデータの精度が常に高く維持されることになる。また、これにより、固定小数点方式の乗算器においては、計算精度を維持させるためのビット操作等の演算処理に付随する処理の実行が回避され、演算速度が向上される。更に、減衰量算出手段により前回算出された減衰量に基づいて送信信号の信号レベルを減衰させた信号を参照入力信号として用いることにより、演算速度は更に向上する。
【００３２】
【実施例】
以下、本発明の実施例について、図面を参照して詳細に説明する。
図１は、本発明が適用されたエコーキャンセラ１０１を用いたシステム構成を示す概略ブロック図であり、１０１は本実施例によるエコーキャンセラ、１０２はスピーカ、１０３はマイクロホン、１０４は加算器である。この図１の構成を参照して、その概略動作を説明する。
【００３３】
端子ａには特には図示しない送信回路が接続されており、スピーカ１０２は、送信回路から出力された送信信号ｘを入力することで音声を放音する。一方のマイクロホン１０３は、音声を収音することで得た受信信号を、加算器１０４を介して端子ｂに出力する。この端子ｂには、特には図示していないが受信信号を受信する受信回路が接続されている。
【００３４】
このシステムでは、スピーカ１０２が放音した音声は音響空間を経てマイクロホン１０３に収音されることでエコーが発生する。マイクロホン１０３は、スピーカ１０２が放音した音声を収音することで、エコー信号ｙを出力する。
【００３５】
エコーキャンセラ１０１は、図１に示す如く、後述するようにして送信信号ｘの減衰量βを算出する演算装置１０５と、この演算装置１０５が算出した減衰量βに応じて送信信号ｘの信号レベルを変更した参照入力信号ｘ’を生成するプリアンプ１０６と、このプリアンプ１０６により生成された参照入力信号ｘ’を入力し、擬似エコー信号ｙ’を生成するＤＳＰ１０７とから構成されている。
【００３６】
このＤＳＰ１０７は、アダプティブトランスバーサルフィルタ（ＦＩＲフィルタ）をその内部に有するものであり、所定のビット数を有する固定小数点方式の乗算器（図示せず）を備えたものである。また、詳細は後述するが、入力した参照入力信号ｘ’をこのアダプティブトランスバーサルフィルタに与え、逐次更新したスピーカ１０２とマイクロホン１０３間のエコー経路のインパルス応答ｈを用いた畳み込み積分を行うことにより擬似エコー信号ｙ’を生成する。
【００３７】
生成した擬似エコー信号ｙ’は、その信号レベルが反転されて加算器１０４に出力される。加算器１０４は、擬似エコー信号ｙ’を入力すると、マイクロホン１０３が出力した受信信号にこの擬似エコー信号ｙ’を加算することで、受信信号からこの擬似エコー信号ｙ’分を差し引く。
【００３８】
ＤＳＰ１０７は、擬似エコー信号ｙ’を加算器１０４に出力した後、端子ｂに出力される受信信号の信号レベル、即ち受信信号に残留した分のエコー信号ｙ（誤差ｅ）を算出する。この誤差ｅを算出すると、この誤差ｅから新たにタップ係数を更新することで、インパルス応答ｈを修正する。
【００３９】
以上がエコーキャンセラ１０１の概略動作である。次に、図２を参照して、上述したエコーキャンセラ１０１の動作を詳細に説明する。図２は、本実施例による擬似エコー信号生成処理を示すフローチャートである。
【００４０】
電源が投入され、擬似エコー信号ｙ’の生成が指示されると、先ず、ＤＳＰ１０７はアダプティブトランスバーサルフィルタを初期化、即ちそれが備えた各タップの係数に初期値をセットする（Ｓ２０１）。このフィルタの初期化が終了すると、次に参照入力信号ｘ’（ｋ）を入力し（Ｓ２０２）、続けてエコー信号ｙ（ｋ）、即ちマイクロホン１０３から出力された受信信号を入力する（Ｓ２０３）。
【００４１】
ＤＳＰ１０７がエコー信号ｙを入力すると、演算装置１０５は参照入力として送信信号ｘ（ｋ）、及び受信信号（エコー信号ｙ（ｋ））を入力して、これら２つの入力信号のエネルギ値（信号レベル）を各々算定し（Ｓ２０４）、続けて送信信号ｘ（ｋ）を減衰させる減衰量βを計算する（Ｓ２０５）。以下に示す数４は上記したエネルギ値を算定する計算式、数５は減衰量βを算出する計算式である。
【００４２】
【数４】
Ｐ１（ｋ）＝（１−ρ）×Ｐ１（ｋ−１）＋ρ×ｙ（ｋ）
Ｐ２（ｋ）＝（１−ρ）×Ｐ２（ｋ−１）＋ρ×ｘ（ｋ）
但し、Ｐ１（ｋ）：受信信号のエネルギ値（時刻ｋのとき）
Ｐ２（ｋ）：送信信号のエネルギ値（時刻ｋのとき）
ρ      ：所定の定数
【００４３】
【数５】
β  ＝  Ｐ１（ｋ）／Ｐ２（ｋ）
数４から分かるように、本実施例では入力信号ｘ、ｙの急激な変化に追随しないようにエネルギ値Ｐ１及びＰ２を算定しているので、ノイズ等の影響を低減させることができる。減衰量βの計算が終了すると、演算装置１０５は、この減衰量βの値に応じてプリアンプ１０６を調整する。これにより、プリアンプ１０６は、この減衰量βに応じて送信信号ｘを減衰させてＤＳＰ１０７に出力することになる。
【００４４】
ところで、減衰量βの計算（更新）は、ＤＳＰ１０７が参照入力信号ｘ’（ｋ）を入力した後に行われることから、ＤＳＰ１０７が入力したこの参照入力信号ｘ’（ｋ）は、前回に計算された減衰量βに応じて送信信号ｘ（ｋ）が変更されたものである。本実施例でこのようにした理由は、プリアンプ１０６の調整には比較的時間がかかり、また、サンプリング周期（時刻ｋと時刻ｋ−１の時間間隔）は短いことから、この周期間での信号の変動は通常小さいためである。
【００４５】
演算装置１０５が減衰量βを計算すると、次にＤＳＰ１０７は既に入力した参照入力ｘ’（ｋ）をアダプティブトランスバーサルフィルタに与え、参照入力信号ｘ’（ｋ）とインパルス応答ｈ（ｎ）を用いて畳み込み積分演算を実行することにより擬似エコー信号ｙ’を生成する（Ｓ２０６）。この擬似エコー信号ｙ’の生成は、数６を用いて行われる。
【００４６】
【数６】
0003671232.tif 000004
【００４７】
擬似エコー信号ｙ’を生成すると、ＤＳＰ１０７は、この生成した擬似エコー信号ｙ’を加算器１０４に出力することでエコー信号ｙの打ち消しを行うとともに、エコー信号ｙと擬似エコー信号ｙ’の差である誤差ｅ（ｋ）を算出する（Ｓ２０７）。この誤差ｅ（ｋ）の算出は、前述した数２を用いて行われる
誤差ｅ（ｋ）を検出すると、次にこの誤差ｅ（ｋ）を用いてフィルタ係数、即ちインパルス応答ｈ（ｋ）を修正して（Ｓ２０８）、ステップＳ２０２に戻って次の時刻（ｋ＋１）の処理に移行する。このインパルス応答ｈ（ｋ）の修正は、数７に示す計算式を用いて行われる。
【００４８】
【数７】
0003671232.tif 000005
【００４９】
本実施例では、上記した数４及び数５からも明らかなように、減衰量βで減衰された後の信号である参照入力信号ｘ’（ｋ）は、エコー信号ｙ（ｋ）と同じレベル（２つの信号の比は０〜２間）となる。このため、数６の演算処理、即ちステップＳ２０６の処理を実行する場合、例えば、乗算器（固定小数点方式）が１６ビットとすると、インパルス応答ｈ（ｎ）もビット操作等の処理を行うことなく１６ビットで表すことができるようになるので、計算精度を維持しつつ、演算処理の速度を向上させることができる。
【００５０】
図２に示したフローチャートにおいて、演算処理量は特にステップＳ２０６とステップＳ２０８に集中、即ち擬似エコー信号ｙ’の生成とフィルタ係数ｈ（ｎ）の修正に時間がかかる。これは、タップの総数Ｎが大きくなる程その傾向がある。
【００５１】
しかし、本実施例では、ステップＳ２０６の擬似エコー信号ｙ’の生成において、それに要する処理時間を短縮することができる。従って、特に処理時間を要する処理の１つが高速に行われることから、処理時間を大きく短縮、即ち演算処理の速度を大きく向上させることができる。これは、固定小数点方式の乗算器を備えた安価なＤＳＰをエコーキャンセラに適用できる、即ちエコーキャンセラのコストを抑えることができることを意味している。この本実施例に示した構成、及び動作により実験を行った結果、計算精度、及び演算速度の向上において良好な結果が得られることが確認されている。
【００５２】
本実施例は、擬似エコー信号ｙ’を生成する際の参照入力信号として、エコー伝播経路を介して帰還したエコー信号の信号レベルの減衰量に基づいて送信信号ｘの信号レベルをエコー信号の信号レベルと同等のレベルに減衰させた信号を使用するものであるが、この信号レベルの変更は図１からも分かるように、簡易な構成で行われるものである。このため、エコーキャンセラのコストを抑えることができるという効果の他に、既存のエコーキャンセラに対しても本発明を容易に適用できるという効果もある。
【００５３】
なお、本実施例では、擬似エコー信号ｙ’の生成にＬＭＳアルゴリズムを用いているが、このアルゴリズムだけに限定されるものではなく、各種アルゴリズムに対応することができるものである。
【００５４】
また、本実施例はテレビ電話等のシステムに適用されたものであるが、本願発明は、このようなシステムに限定されるものではなく、電話網といった他のシステムにも同様に適用できるものである。
【００５５】
【発明の効果】
以上、説明したように本発明のエコーキャンセラは、送信信号の信号レベルとエコー伝播経路を介して帰還した前記送信信号のエコー信号の信号レベルとに基づいて、前記エコー信号の前記送信信号に対する減衰量を算出し、この算出された減衰量に基づいて前記送信信号の信号レベルを減衰させた信号を、擬似エコー信号を生成する際のベースとなる参照入力信号として出力する構成にし、所定のアルゴリズムに基づいた演算処理を信号レベルがエコー信号の信号レベルと同レベルに引き下げられたこの参照入力信号を用いて実行することで擬似エコー信号を生成するようにしているため、計算精度を維持しつつ演算速度を向上させることができる。
【図面の簡単な説明】
【図１】本実施例によるエコーキャンセラが適用されたシステム構成を示す概略ブロック図である。
【図２】本実施例による擬似エコー信号生成処理を示すフローチャートである。
【図３】従来のエコーキャンセラが適用されたシステム構成を示す概略ブロック図である。
【図４】従来における擬似エコー信号生成処理を示すフローチャートである。
【符号の説明】
１０１  エコーキャンセラ
１０５  演算装置
１０６  プリアンプ
１０７  ＤＳＰ
【図１】
0003671232.tif 000006
【図２】
0003671232.tif 000007
【図３】
0003671232.tif 000008
【図４】
0003671232.tif 000009