(57)【特許請求の範囲】
【請求項１】
音響エコーキャンセラであって、
可変フィルタ係数の組によって制御され、マイクロホン信号中のエコーの推定値を消去して、出力信号を提供するように構成された伝達関数を有する線形フィルタ、および
可変適応レートに基づいて前記可変フィルタ係数の組を更新するように構成された係数計算機
を備える、適応フィルタと、
前記可変フィルタ係数のエネルギーの変化を計算するように構成されたダブルトーク検出器と
を備え、
音響エコーキャンセラが、前記可変フィルタ係数のエネルギーが発振しているか、または着実に変化しているかのいずれかであることが決定されるかどうかに基づいて前記可変適応レートを調整するように構成され、
前記ダブルトーク検出器が、前記可変フィルタ係数のエネルギーの変化の傾向を決定し、前記変化の大きさを閾値と比較するように構成され、前記音響エコーキャンセラが、変化の前記傾向と前記比較とに基づいて前記可変適応レートを調整するように構成され、前記傾向は、一貫して増加または減少することである、音響エコーキャンセラ。
【請求項２】
前記ダブルトーク検出器が、前記可変適応レートを調整するための倍率を決定するように構成される、請求項1に記載の音響エコーキャンセラ。
【請求項３】
前記音響エコーキャンセラが、調整後の適応レートを前記倍率と固定適応値との積として計算するように構成される、請求項2に記載の音響エコーキャンセラ。
【請求項４】
前記ダブルトーク検出器が、前記倍率を前記適応フィルタに提供するように構成され、前記適応フィルタが、前記調整後の適応レートを前記倍率と前記固定適応値との積として計算する、請求項3に記載の音響エコーキャンセラ。
【請求項５】
前記ダブルトーク検出器が、前記倍率を前記係数計算機に提供するように構成され、前記係数計算機が、前記調整後の適応レートを前記倍率と前記固定適応値との積として計算する、請求項4に記載の音響エコーキャンセラ。
【請求項６】
前記ダブルトーク検出器が、前記調整後の適応レートを前記倍率と前記固定適応値との積として計算し、前記調整後の適応レートを前記係数計算機に提供するように構成される、請求項3に記載の音響エコーキャンセラ。
【請求項７】
前記ダブルトーク検出器が、前記比較に基づいて前記可変適応レートを調整するための倍率を決定するように構成される、請求項1に記載の音響エコーキャンセラ。
【請求項８】
前記音響エコーキャンセラが、調整後の可変適応レートを前記倍率と固定適応値との積として計算するように構成される、請求項7に記載の音響エコーキャンセラ。
【請求項９】
前記ダブルトーク検出器が、前記可変フィルタ係数のエネルギーの変化の傾向に基づく統計値の前記大きさが前記閾値以上である場合、前記可変適応レートを調整するための第1の倍率を提供し、前記大きさが前記閾値未満である場合、前記可変適応レートを調整するための第2の異なる倍率を提供するように構成される、請求項7に記載の音響エコーキャンセラ。
【請求項１０】
前記第2の倍率が、前記可変適応レートを1よりも小さい係数で低減する、請求項9に記載の音響エコーキャンセラ。
【請求項１１】
前記第1の倍率が1であり、したがって、前記大きさが前記閾値以上である場合、前記可変適応レートがそのまま使用される、請求項9に記載の音響エコーキャンセラ。
【請求項１２】
前記ダブルトーク検出器が、前記可変フィルタ係数のエネルギーの前記傾向を平滑化するための低域フィルタを備え、前記ダブルトーク検出器が、前記平滑化された傾向の前記大きさを計算するように構成される、請求項1に記載の音響エコーキャンセラ。
【請求項１３】
音響エコーキャンセラであって、
可変フィルタ係数の組によって制御され、マイクロホン信号中のエコーの推定値を消去して、出力信号を提供するように構成された伝達関数を有する線形フィルタ、および
可変適応レートに基づいて前記可変フィルタ係数の組を更新するように構成された係数計算機
を備える、適応フィルタと、
前記可変フィルタ係数のエネルギーの変化の傾向を決定し、前記変化の大きさを閾値と比較するように構成されたダブルトーク検出器と
を備え、
音響エコーキャンセラが、変化の前記傾向と前記比較とに基づいて前記可変適応レートを調整するように構成され、
前記傾向は、一貫して増加または減少することである、音響エコーキャンセラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音響エコーキャンセレーションのためのダブルトーク検出に関する。
【先行技術文献】
【非特許文献】
【０００２】
【非特許文献１】Adaptive Filter Theory、4th Edition by Simon Haykin、ISBN 013091261
【発明の概要】
【課題を解決するための手段】
【０００３】
以下に述べるすべての例および特徴は、任意の技術的に可能なやり方で組み合わせることができる。
【０００４】
一態様において、音響エコーキャンセラは、適応フィルタとダブルトーク検出器とを含む。適応フィルタは、線形フィルタと係数計算機とを含む。線形フィルタは、可変フィルタ係数の組によって制御され、マイクロホン信号中のエコーの推定値を消去して、出力信号を提供するように構成される伝達関数を有する。係数計算機は、可変適応レートに基づいて可変フィルタ係数の組を更新するように構成される。ダブルトーク検出器は、可変フィルタ係数のエネルギーの変化(係数の更新の間の)を計算するように構成される。音響エコーキャンセラは、可変フィルタ係数のエネルギーが発振しているか、または着実に変化しているか(増加または減少しているか)のいずれかであることが決定されるかどうかに基づいて可変適応レートを調整するように構成される。
【０００５】
実装形態は、以下の特徴のうちの1つ、またはそれらの任意の組合せを含むことができる。
【０００６】
いくつかの実装形態において、ダブルトーク検出器は、可変適応レートを調整するための倍率を決定するように構成される。
【０００７】
ある実装形態において、音響エコーキャンセラは、調整後の適応レートを倍率と固定適応値との積として計算するように構成される。
【０００８】
場合によっては、ダブルトーク検出器は、倍率を適応フィルタに提供するように構成され、適応フィルタは、調整後の適応レートを倍率と固定適応値との積として計算する。
【０００９】
ある場合には、ダブルトーク検出器は、倍率を係数計算機に提供するように構成され、係数計算機は、調整後の適応レートを倍率と固定適応値との積として計算する。
【００１０】
いくつかの例においては、ダブルトーク検出器は、調整後の適応レートを倍率と固定適応値との積として計算し、調整後の適応レートを係数計算機に提供するように構成される。
【００１１】
ある例においては、ダブルトーク検出器は、可変フィルタ係数のエネルギーの傾向を決定し、傾向の大きさを閾値と比較するように構成され、音響エコーキャンセラは、比較に基づいて適応レートを調整するように構成される。
【００１２】
いくつかの実装形態において、ダブルトーク検出器は、比較に基づいて可変適応レートを調整するための倍率を決定するように構成される。
【００１３】
ある実装形態において、ダブルトーク検出器は、フィルタ係数エネルギー傾向に基づく統計値の大きさが閾値以上である場合、可変適応レートを調整するための第1の倍率を提供し、大きさが閾値未満である場合、可変適応レートを調整するための第2の異なる倍率を提供するように構成される。
【００１４】
場合によっては、第2の尺度値は、適応レートを1よりも大幅に小さい係数、例えば、約0.01〜約0.05(例えば、0.025)で低減する。
【００１５】
ある場合には、第1の倍率は1であり、したがって、大きさが閾値以上である場合、全適応値が使用される。
【００１６】
いくつかの例においては、ダブルトーク検出器は、可変フィルタ係数のエネルギーの傾向を平滑化するための低域フィルタを含み、ダブルトーク検出器は、平滑化された傾向の大きさを計算するように構成される。
【００１７】
別の態様において、音響エコーキャンセラが、適応フィルタとダブルトーク検出器とを含む。適応フィルタは、線形フィルタと係数計算機とを含む。線形フィルタは、可変フィルタ係数の組によって制御され、マイクロホン信号中のエコーの推定値を消去して、出力信号を提供するように構成される伝達関数を有する。係数計算機は、可変適応レートに基づいて可変フィルタ係数の組を更新するように構成される。ダブルトーク検出器は、可変フィルタ係数のエネルギーの傾向を決定し、傾向の大きさを閾値と比較するように構成される。音響エコーキャンセラは、比較に基づいて適応レートを調整するように構成される。
【００１８】
実装形態は、上記の特徴のうちの1つ、またはそれらの任意の組合せを含むことができる。
【図面の簡単な説明】
【００１９】
【図１】音響エコーキャンセラの略図である。
【図２】図1の音響エコーキャンセラからのダブルトーク検出器の略図である。
【図３】図1の音響エコーキャンセラを実装するための音響エコーキャンセレーションシステム略図である。
【図４】音響エコーキャンセラの別の実装形態を示す略図である。
【発明を実施するための形態】
【００２０】
図面のいくつかの図の要素を構成図における個別要素として示し、説明することができ、特に他の指示がない限り、「回路」または「モジュール」と呼ぶことができるが、要素は、アナログ回路、デジタル回路、またはソフトウェア命令を実行する1つまたは複数のマイクロプロセッサのうちの1つ、またはそれらの組合せとして実装することができる。ソフトウェア命令は、デジタル信号処理(DSP:digital signal processing)命令を含むことができる。特に他の指示がない限り、信号線は、個別アナログ、またはデジタル信号線として実装することができる。複数の信号線は、音声信号の別々のストリームを処理する適切な信号処理を用いて1つの個別の難しい信号線として、またはワイヤレス通信システムの要素として実装することができる。処理動作のいくつかは、係数の計算および適用によって表すことができる。係数を計算することおよび適用することの同等のものは、他のアナログ、またはDSP技法によって実施することができ、本特許出願の範囲内に含まれる。特に他の指示がない限り、音声信号は、デジタルまたはアナログ形式のいずれかで符号化することができる。従来のデジタル/アナログ、およびアナログ/デジタル変換器は、回路図に示さない可能性がある。
【００２１】
音響エコーキャンセラ(AEC)は、すぐ近くのマイクロホンによってとらえられたスピーカからの音を除去する必要があるシステムに使用される。AECは、スピーカ入力からマイクロホン出力までの間の伝達関数をモデル化するために適応フィルタを使用する。フィルタが収束すると、フィルタ出力は、フィルタを通してスピーカ入力信号を供給したとき、マイクロホンによってとらえられたスピーカ音に厳密に一致する。したがって、フィルタ出力をマイクロホン信号から減算したとき、マイクロホン信号のスピーカ成分が消去される。
【００２２】
マイクロホン信号とフィルタ出力との差は、適応フィルタ係数(別名「適応フィルタの重み」)を更新する際に使用される。スピーカ出力がマイクロホンによってとらえられた唯一の音である場合、この差は、伝達関数モデル化誤差である。適切に調整された適応フィルタは、迅速に収束して、誤差を最小限に抑え、正しい伝達関数を正確にモデル化する。マイクロホン信号が顕著な干渉音を含む場合、それらは、伝達関数の正確なモデルに収束するために適応アルゴリズムの能力を抑制する傾向がある。
【００２３】
例えば、スピーカおよびマイクロホンがハンズフリースピーカホンの一部である場合、遠端通話と同時の近端通話の存在により、フィルタの収束に中断が生じる。この状況はダブルトークとして知られる。ダブルトークが検出されたとき、フィルタの不整合を抑制するために、フィルタの適応を減速し、または無効にすることが有益であり得る。
【００２４】
ダブルトークがいつ起きたのかを決定することへの多くの先行技術の取り組みがあるが、多くは同じ一般的な取り組みを使用し、それはスピーカに送られた信号(x[n])、マイクロホン信号(d[n])、および/または適応フィルタ誤差信号(e[n])(別名「出力信号」)から定式化された検出統計値を使用することである。この検出統計値は、ダブルトーク条件が存在するかどうかを決定するために閾値と比較される。そのような方法は、マイクロホン信号に顕著な無相関雑音があるとき、性能が低下する傾向がある。これは、ほぼ連続した道路、駆動系、および風切り音のため、音響エコーキャンセレーションを車両に適用したときによくあることである。
【００２５】
本明細書に説明するシステムおよび方法は、適応フィルタ係数のエネルギーの挙動に基づいて異なる統計値を利用する。その考え方は、適応フィルタの重みのエネルギーが一貫して増加または減少している場合、フィルタは、解に向けて収束するかまたは発散する可能性が最も高いということである。重みのエネルギーが発振している場合、フィルタは、すでに収束されているか、またはダブルトーク条件によって中断されているかのどちらかである。エネルギーが発振している、どちらの場合でも、適応は減速されるかまたは無効にされるべきである。
【００２６】
図1は、音響エコーキャンセラ100の略図である。出力経路において、端から遠い音声信号x[n]が、遠端(遠隔)音源から受け取った音声を表すが、デジタル/アナログ(D/A)変換器102によってデジタル形式からアナログ信号に変換され、電力増幅器104によって増幅され、スピーカ106を介して音響エネルギーに変換される。
【００２７】
入力経路において、マイクロホン108が、音響入力を近端(局部)音源から受け取る。音響入力は、近端ユーザからの通話と、近端周囲雑音と、スピーカ106からのエコーとを含むことができる。マイクロホン108からの信号は、マイクロホン信号d[n]を提供するために、増幅器110によって増幅され、アナログ/デジタル(A/D)変換器112を介してアナログからデジタル形式に変換される。
【００２８】
適応フィルタ114が、遠端音声信号x[n]とマイクロホン信号d[n]とを受け取り、出力信号y[n]を生成する。適応フィルタ114は、線形フィルタ116を用いて遠端音声信号x[n]をフィルタリングして、マイクロホン信号d[n]内にエコーの推定値を提供する。次いで、エコーの推定値y[n]は、アナログ加算器118によってマイクロホン信号d[n]から減算されて、誤差信号e[n]を得る。次いで、誤差信号e[n]は、係数計算機120にまた供給されて、線形フィルタ116のフィルタ係数W[n]の組を更新する。誤差信号e[n]は、遠端ユーザへの再生のために遠端音源にまた伝送される出力も表す。
【００２９】
線形フィルタ114は、フィルタ係数W[n]によって決まる伝達関数を有する有限インパルス応答(FIR)フィルタとして実装することができる。係数計算機120は、適応アルゴリズムに基づいてフィルタ係数を更新する。係数計算機120用の適切な適応アルゴリズムは、Adaptive Filter Theory、4th Edition by Simon Haykin、ISBN 013091261において見出すことができ、最小二乗平均(LMS)または拡張最小二乗平均(XLMS)アルゴリズムを含む。フィルタ係数W[n]は、適応レートμ[n](別名「ステップサイズ」)に基づいて調整される。
【００３０】
音響エコーキャンセラ100は、ダブルトークの存在を検出するためのダブルトーク検出器130を含む。ダブルトークとは、通話の両当事者が同時に話しているときなど、近端音声および遠端音声の両方が存在する状況をいう。ダブルトーク検出器130は、係数計算機120からの入力として、フィルタ係数W[n]を受け取り、フィルタ係数W[n]は、ダブルトークの存在を検出するのに使用される。
【００３１】
具体的には、ダブルトーク検出器130は、フィルタ係数W[n]のエネルギーに基づいてダブルトークの存在を検出する。その考え方は、フィルタ係数W[n]のエネルギーが一貫して増加または減少している場合、適応フィルタ114は、解に向けて収束するか、または発散する可能性が最も高いということである。その代わりに、フィルタ係数W[n]のエネルギーが発振している場合、適応フィルタ114は、すでに収束しているか,またはダブルトーク条件によって中断されている。いずれの場合も、適応は減速されるか、または無効にされるべきである。
【００３２】
次いで、ダブルトーク検出器130は、制御信号132をまた係数計算機120に提供する。係数計算機120は、この制御信号132を使用して、その後のサンプル周期のフィルタ係数を計算する。
【００３３】
図2は、ダブルトーク検出器130の実装形態の略図である。ダブルトーク検出器130は、フィルタ係数W[n]のエネルギーを計算するエネルギー計算モジュール200を含む。その次の2つのモジュール(すなわち、遅延202およびアナログ加算器204)は、フィルタ係数の現在と近接過去との組の間のエネルギー差を計算する。符号モジュール206が、差の大きさにかかわらず、エネルギーが増加または減少しているかどうかを決定する。低域フィルタ208が、フィルタ係数エネルギーの傾向を平滑化するのに設けられる。次に、大きさ計算モジュール210が、傾向の大きさを計算し、比較器212が、計算された大きさを閾値と比較する。比較器212の出力は、スイッチ214を介して適応フィルタ114の適応レートの倍率を設定するのに使用される。計算された大きさが閾値以上である場合、倍率は1に設定され、したがって、全適応レートが使用される。計算された大きさが閾値未満である場合、適応レートは、所定の値で低減される。一例において、その所定の値は、約0.01〜約0.05(例えば、0.025)でよい。
【００３４】
図示する例において、ダブルトーク検出器130の出力は、倍率である。すなわち、制御信号132は倍率を表す。次いで、係数計算機120は、倍率を使用して、更新された適応レートを倍率と適応レートの現在の値との積として計算することができる。
【００３５】
代替として、係数計算機120は、適応レートの現在の値をダブルトーク検出器130に提供することができ、ダブルトーク検出器130は、決定された倍率および適応レートの現在の値を使用して、更新された適応レートを計算することができる。その場合、制御信号132は、更新された適応レートを表すことができる。
【００３６】
図3は、音響エコーキャンセレーションシステム300の実装形態の略図である。この実装形態において、システム300は、デジタル信号プロセッサ(DSP)302と、メモリ304と、アナログ処理回路306と、スピーカ106と、マイクロホン108とを含む。DSP302は、図1に示す、適応フィルタ114とダブルトーク検出器130とを実装するように構成することができる。メモリ304は、DSP302によって使用されるプログラムコードおよびデータの記憶装置を提供する。アナログ処理回路306は、アナログ処理を実施し、出力経路においてD/A変換器102と電力増幅器104とを、入力経路において増幅器110とA/D変換器112とを含むことができる。
【００３７】
図4を参照すると、音響エコーキャンセラ100は、入力フィルタ400を含むこともできる。入力フィルタ400は、伝達関数によって特徴付けられるが、音響エコーキャンセラ100の構成部品(電力増幅器104およびスピーカ106を含む)のうちのマイクロホン108によって変換されたエネルギーにおける、および音響エコーキャンセラ100が動作する環境の影響を補償する。例示した実装形態において、入力フィルタ400は、x[n]を受け取り、フィルタリングされた入力信号x'[n]を係数計算機120に提供する。次いで、係数計算機120は、このフィルタリングされた入力信号x'[n]をフィルタ係数W[n]の計算に使用する。最小二乗平均誤差基準に基づく適応フィルタ114へのこの入力フィルタの使用は、フィルタリングされたxのLMSの取り組みとして一般に知られている。
【００３８】
いくつかの実装形態を説明してきた。それにもかかわらず、本明細書に説明した本発明概念の範囲から逸脱することなく追加の変更を加えることができること、したがって、他の実装形態は以下の特許請求の範囲内にあることが理解されよう。
【符号の説明】
【００３９】
100  音響エコーキャンセラ
102  デジタル/アナログ(D/A)変換器
104  電力増幅器
106  スピーカ
108  マイクロホン
110  増幅器
112  アナログ/デジタル(A/D)変換器
114  適応フィルタ
116  線形フィルタ
118  アナログ加算器
120  係数計算機
130  ダブルトーク検出器
132  制御信号
200  エネルギー計算モジュール
202  遅延モジュール
204  アナログ加算器モジュール
206  符号モジュール
208  低域フィルタ
210  大きさ計算モジュール
212  比較器
214  スイッチ
300  音響エコーキャンセレーションシステム
302  デジタル信号プロセッサ(DSP)
304  メモリ
306  アナログ処理回路
400  入力フィルタ
d[n]  マイクロホン信号
e[n]  誤差信号
W[n]  フィルタ係数
x[n]  音声信号
y[n]  出力信号、エコーの推定値
【図１】
0006723353.tif 000002
【図２】
0006723353.tif 000003
【図３】
0006723353.tif 000004
【図４】
0006723353.tif 000005