JP3862548B2 - エコーキャンセラ - Google Patents

エコーキャンセラ Download PDF

Info

Publication number
JP3862548B2
JP3862548B2 JP2001337783A JP2001337783A JP3862548B2 JP 3862548 B2 JP3862548 B2 JP 3862548B2 JP 2001337783 A JP2001337783 A JP 2001337783A JP 2001337783 A JP2001337783 A JP 2001337783A JP 3862548 B2 JP3862548 B2 JP 3862548B2
Authority
JP
Japan
Prior art keywords
value
echo
signal
held
maximum value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001337783A
Other languages
English (en)
Other versions
JP2003143042A (ja
Inventor
真資 高田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2001337783A priority Critical patent/JP3862548B2/ja
Publication of JP2003143042A publication Critical patent/JP2003143042A/ja
Application granted granted Critical
Publication of JP3862548B2 publication Critical patent/JP3862548B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、通信ラインのインピーダンス不整合等により発生するエコー信号を除去するために電話システム等に使用されるエコーキャンセラに関する。
【0002】
【従来の技術】
エコーキャンセラに呼制御用の周期信号(例えば、呼び出し信号RBT)が入力するとき、該周期信号の擬似エコー信号を生成し、該周期信号のエコーをキャンセルするために適応フィルタのフィルタ係数を更新するようにすると、次に音声信号が入力されたとき、適応フィルタは再びフィルタ係数を更新して行く必要があるのでエコーは直ちには除去されず、通話品質が低下するという問題がある。
【0003】
この問題に対処するため、エコーキャンセラに入力される信号が周期信号か音声信号かを判別し、周期信号であれはエコーキャンセラの適応フィルタの係数更新を停止し、音声信号であればエコーキャンセラの適応フィルタの係数更新を行うことが例えば特開2001-024778号公報に開示されている。
【0004】
図12を参照して、この公報に開示されたエコーキャンセラの動作を簡単に説明する。図12は、インターネット電話(Voip)にエコーキャンセラを使用する例を示している。ここでは、近端者話者側のエコーキャンセラ101について説明する。近端話者Aが遠端話者Bに電話をかける場合、まず、呼び出し信号RBTが遠端話者Bに送られる。
【0005】
この呼び出し信号RBTは、近端話者側のエコーキャンセラ101とインターネット回線との間のゲートウェイ103、あるいは遠端話者側の不図示のゲートウェイまたは遠端話者側の不図示のPBXが発生する。この呼び出し信号は近端話者Aにも送られ、近端話者Aは「プルルー」というような呼び出し音を聞くことができる。
【0006】
この時、遠端話者Bが不在等の理由により電話に出ないとき、近端話者Aは通話をあきらめ受話器を下ろすが、この時、一般には、近端話者側のPBX106はこれを検知して、話中信号BTを出力する。この話中信号BTは、エコーキャンセラ101を通過し、ゲートウェイ103に入力する。ゲートウェイ103がこの話中信号BTを検出すると、近端話者Aが回線の確立を放棄したとみなし、回線を開放する。
【0007】
【発明が解決しようとする課題】
しかし、上記したようにこのエコーキャンセラ101は、周期信号が入力された時点でフィルタ係数の更新を停止しているので、周期信号のエコーを打ち消す能力が無い。そのため、近端話者Aがダイヤルし終えた時点でゲートウェイ103から近端話者側に送られる呼び出し信号RBTのエコーはエコーキャンセラ101によって除去されることなく、そのままゲートウェイ103の送信側入力端子に入る。その後、近端話者Aが通話をあきらめて受話器を置くと、例えばPBX106が生成した話中信号BTはハイブリッドトランス104及びエコーキャンセラ101を経由してゲートウェイの送信側入力端子に入る。従ってこの時点では、ゲートウェイ103の送信側入力端子には呼び出し信号RBTのエコー信号と話中信号BTの2種類の信号が重畳されて到来することになる。
【0008】
話中信号BTと呼び出し信号RBTは周波数が同ーであるシステムも多い。例えば日本国内では、話中信号BT及び呼び出し信号RBTは信号の断続周期こそ異なっているが、周波数はともに400Hzの周期信号である。また信号の最大振幅もほぼ等しい。このような場合、ゲートウェイ103は両者が混在した信号から話中信号BTを見つけることができず、回線を開放することができないので回線を新たな通信に使用することができなくなるという問題がある。
【0009】
一方、この問題に対処するため、周期信号が入力されたときにもフィルタ係数を更新するようにすると以下のような別の問題が発生することになる。
【0010】
即ち、エコーキャンセラ101には、周期信号で学習するエコー経路の様子(伝達経路波形)と、音声信号のようなある程度の周波数帯域を有する信号で学習するエコー経路の様子は異なるものとして観測される。回線接続初期の周期信号のやり取り時の学習を優先させる場合、エコーキャンセラ101は周期信号の周波数成分(例えば400Hz)のエコー経路成分を良く学習するが、他の周波数成分に関してはまったくの未学習状態となる。例えば呼び出し信号RBT信号に応答し、遠端話者が受話器を取り上げると、次に始まるのは音声信号による会話であるが、音声信号は電話回線上では、340Hz-4000Hz程度の周波数的広がりを持つ信号である。この時、エコーキャンセラ101にとっては、エコー経路の様子が急に変化することになる。特に音声信号の周波数成分のうちの未学習の周波数成分に関しては、どのような推定アルゴリズムを用いても、エコーを十分に除去できるようになるまでには学習時間が必要であり、通話品質が低下する。
【0011】
この問題は、ほとんどのエコーキャンセラには簡単なダブルトーク検出器が実装されているという理由からより大きくなる。ダブルトークとは、遠端話者の音声信号と近端話者の音声信号が同時に存在する状態を意味し、通常、この状態ではエコー信号と伝送すべき音声信号とを区別することが困難であり適応フィルタの係数更新を停止する。例えば、周期信号のエコーを除去する期間が終ると、エコーキャンセラ101は遠端話者の音声信号のエコー除去する期間に入るが、上に述べたように、エコーキャンセラ101は音声信号エコーを消す為の正しいエコー経路の波形を学習していないので遠端話者の音声信号のエコーを除去することができない。そのため、送信側出力端子Soutに観測されるエコー信号のレベルが高くなるので、特に、受信側入力端子Rinに入る音声信号のレベルと送信側出力端子Soutから出る音声信号のレベルとを比較してダブルトークを検出する通常のエコーキャンセラの場合、ダブルトーク状態と誤判定し、適応フィルタ係数更新を停止してしまうケースが多くなる。このとき、エコーキャンセラは継続的に適応フィルタの係数更新を停止したままとなり、話者はエコーの多い劣悪な通話を強いられることになる。
【0012】
以上説明したように、上記の従来の構成のエコーキャンセラでは、周期信号入力時にフィルタ係数の更新を停止するようにすれば、呼び出し信号のエコーと話中信号とが混在した場合、話中信号を検出できなくなるので回線を開放することができず、一方、周期信号のエコー除去を優先すると、肝心の会話中のエコー感を残してしまうという問題がる。
【0013】
それに加え、上記の従来のエコーキャンセラは、呼制御信号(周期信号)と音声信号が連続するような時はエコーを除去するためにエコーキャンセラを複雑に制御する必要があり、装置規模、あるいはソフトウェア規模が大きく、周期信号と音声信号の判別の為に複雑な信号検出器を必要とするので製造コストが高いという問題もある。
【0014】
本発明は、上記の問題に鑑みなされたものであり、周期信号と音声信号の両方のエコーを除去することのできるエコーキャンセラを低コストで提供することを課題とする。
【0015】
【課題を解決するための手段】
上記課題を解決すべく、請求項1に記載の発明は、受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を減衰させる擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
受信信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の減衰量を一定の時間間隔毎に計算する第1の手段と、
前記第1の手段により計算された減衰量の最大値を追跡し、保持する第2の手段と、
前記第2の手段の保持する減衰量の最大値からエコー信号の減衰量の現在値を差し引いた値が第1の閾値を超えたときに、該第2の手段から出力された減衰量の最大値を前記一定の時間間隔毎に一定の比率で減少させ、その値を保持する第3の手段と、
前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の乖離幅を前記一定の時間間隔で計算する第4の手段とを備え、
前記第4の手段が計算した乖離幅が第2の閾値を超えたときに、前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の両方をエコー信号の減衰量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0016】
請求項2に記載の発明は、請求項1に記載の発明において、前記第2の手段の保持する減衰量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する減衰量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する減衰量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする。
【0017】
請求項3に記載の発明は、請求項2に記載の発明において、ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0018】
請求項4に記載の発明は、請求項3に記載の発明において、前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする。
【0019】
請求項5に記載の発明は、請求項1から4のいずれか一項に記載の発明において、前記第1の手段は、該第1の手段に入力される受信信号及び擬似エコー信号の加算されたエコー信号のそれぞれについて、
入力信号のパワーを一定の時間間隔毎に計算するパワー計算手段と、
計算されたパワーの最大値を保持するとともに、該保持された最大値が更新されないとき、該保持する最大値を前記一定の時間間隔毎に一定の比率で減少させる最大値追跡/リーク手段とを備え、
該最大値追跡/リーク手段の出力する最大値に基づいてエコー信号の減衰量を計算することを特徴とする。
【0020】
上記課題を解決すべく、請求項6に記載の発明は、受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を減衰させる擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
受信信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の減衰量を一定の時間間隔毎に計算する第1の手段と、
前記第1の手段により計算された減衰量の最大値を追跡し、保持する第2の手段と、
前記第2の手段の保持する減衰量の最大値からエコー信号の減衰量の現在値を差し引いた値が所定の閾値を超えたときに、前記第2の手段から出力された減衰量の最大値を前記一定の時間間隔毎に一定の比率で減少させ、その値を保持する第3の手段と、
前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値とが乖離し始めてから経過した時間の長さを計測する第4の手段とを備え、
前記第4の手段が計測した時間が所定の値に達したときに、前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の両方をエコー信号の減衰量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0021】
請求項7に記載の発明は、請求項6に記載の発明において、前記第2の手段の保持する減衰量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する減衰量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する減衰量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする。
【0022】
請求項8に記載の発明は、請求項7に記載の発明において、ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0023】
請求項9に記載の発明は、請求項8に記載の発明において、前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする。
【0024】
請求項10に記載の発明は、請求項6から9のいずれか一項に記載の発明において、前記第1の手段は、該第1の手段に入力される受信信号及び擬似エコー信号の加算されたエコー信号のそれぞれについて、
入力信号のパワーを一定の時間間隔毎に計算するパワー計算手段と、
計算されたパワーの最大値を保持するとともに、該保持された最大値が更新されないとき、該保持する最大値を前記一定の時間間隔毎に一定の比率で減少させる最大値追跡/リーク手段とを備え、
該最大値追跡/リーク手段の出力する最大値に基づいてエコー信号の減衰量を計算することを特徴とする。
【0025】
上記課題を解決すべく、請求項11に記載の発明は、受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を減衰させる擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
受信信号のパワーとび擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の減衰量を一定の時間間隔で計算する第1の手段と、
前記第1の手段により計算された減衰量の最大値を追跡し、保持する第2の手段と、
前記第2の手段の保持する減衰量の最大値からエコー信号の減衰量の現在値を差し引いた値が第1の閾値を超えたときに、該第2の手段から出力された減衰量の最大値を前記一定の時間間隔で一定の比率で減少させ、その値を保持する第3の手段と、
前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の乖離幅を前記一定の時間間隔毎に計算し、且つ該第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値とが乖離し始めてから経過した時間の長さを計測する第4の手段とを備え、
前記第4の手段が計算した乖離幅が第2の閾値を超えるかあるいは該第4の手段が計測した時間が所定の値を超えたときに、前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の両方をエコー信号の減衰量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0026】
請求項12に記載の発明は、請求項11に記載の発明において、前記第2の手段の保持する減衰量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する減衰量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する減衰量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする。
【0027】
請求項13に記載の発明は、請求項12に記載の発明において、ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0028】
請求項14に記載の発明は、請求項13に記載の発明において、前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする。
【0029】
請求項15に記載の発明は、請求項11から14のいずれか一項に記載の発明において、前記第1の手段は、該第1の手段に入力される受信信号及び擬似エコー信号の加算されたエコー信号のそれぞれについて、
入力信号のパワーを一定の時間間隔毎に計算するパワー計算手段と、
計算されたパワーの最大値を保持するとともに、該保持された最大値が更新されないとき、該保持する最大値を前記一定の時間間隔毎に一定の比率で減少させる最大値追跡/リーク手段とを備え、
該最大値追跡/リーク手段の出力する最大値に基づいてエコー信号の減衰量を計算することを特徴とする。
【0030】
上記課題を解決すべく、請求項16に記載の発明は、受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を消去する擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
エコー信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の消去量を一定の時間間隔毎に計算する第1の手段と、
前記第1の手段により計算された消去量の最大値を追跡し、保持する第2の手段と、
前記第2の手段の保持する消去量の最大値からエコー信号の消去量の現在値を差し引いた値が第1の閾値を超えたときに、該第2の手段から出力された消去量の最大値を前記一定の時間間隔毎に一定の比率で減少させ、その値を保持する第3の手段と、
前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値の乖離幅を前記一定の時間間隔で計算する第4の手段とを備え、
前記第4の手段が計算した乖離幅が第2の閾値を超えたときに、前記第2の手段から出力された消去量の最大値と前記第3の手段の保持する値の両方をエコー信号の消去量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0031】
請求項17に記載の発明は、請求項16に記載の発明において、前記第2の手段の保持する消去量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する消去量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する消去量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする。
【0032】
請求項18に記載の発明は、請求項17に記載の発明において、ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0033】
請求項19に記載の発明は、請求項18に記載の発明において、前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする。
【0034】
上記課題を解決すべく、請求項20に記載の発明は、受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を消去する擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
エコー信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の消去量を一定の時間間隔毎に計算する第1の手段と、
前記第1の手段により計算された消去量の最大値を追跡し、保持する第2の手段と、
前記第2の手段の保持する消去量の最大値からエコー信号の消去量の現在値を差し引いた値が所定の閾値を超えたときに、前記第2の手段から出力された消去量の最大値を前記一定の時間間隔毎に一定の比率で減少させ、その値を保持する第3の手段と、
前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値とが乖離し始めてから経過した時間の長さを計測する第4の手段とを備え、
前記第4の手段が計測した時間が所定の値に達したときに、前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値の両方をエコー信号の消去量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0035】
請求項21に記載の発明は、請求項20に記載の発明において、前記第2の手段の保持する消去量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する消去量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する消去量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする。
【0036】
請求項22に記載の発明は、請求項20に記載の発明において、ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0037】
請求項23に記載の発明は、請求項22に記載の発明において、前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする。
【0038】
上記課題を解決すべく、請求項24に記載の発明は、受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を消去する擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
エコ信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の消去量を一定の時間間隔で計算する第1の手段と、
前記第1の手段により計算された消去量の最大値を追跡し、保持する第2の手段と、
前記第2の手段の保持する消去量の最大値からエコー信号の消去量の現在値を差し引いた値が第1の閾値を超えたときに、該第2の手段から出力された消去量の最大値を前記一定の時間間隔で一定の比率で減少させ、その値を保持する第3の手段と、
前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値の乖離幅を前記一定の時間間隔毎に計算し、且つ前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値とが乖離し始めてから経過した時間の長さを計測する第4の手段とを備え、
前記第4の手段が計算した乖離幅が第2の閾値を超えるかあるいは該第4の手段が計測した時間が所定の値を超えたときに、前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値の両方をエコー信号の減衰量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0039】
請求項25に記載の発明は、請求項24に記載の発明において、前記第2の手段の保持する消去量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する消去量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する消去量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする。
【0040】
請求項26に記載の発明は、請求項25に記載の発明において、ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする。
【0041】
請求項27に記載の発明は、請求項26に記載の発明において、前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする。
【0042】
【発明の実施の形態】
第1の実施形態
図1は本発明の第1の実施形態のエコーキャンセラの構成を示すブロック図であり、同図においてRinは受信側入力端子(以下、Rin端子と呼ぶ)、Routは受信側出力端子(以下、Rout端子と呼ぶ)、Sinは送信側入力端子(以下、Sin端子と呼ぶ)、Soutは送信側出力端子(以下、Sout端子と呼ぶ)、5及び7はパワー計算機、6はエコー減衰量計算機、9は最大値追跡器、8は最大値更新判定器、10は最大値リーク計算機、11は乖離幅判定器、12はダブルトーク検出器、13は適応フィルタ係数更新制御回路である。以下にこのエコーキャンセラの動作を説明する。ここでは、最初に受信側入力端子Rinに周期信号である呼び出し信号RBT(以下、RBT信号と呼ぶ)が入力されるものと仮定する。
【0043】
Rin端子からエコーキャンセラに入るRBT信号はパワー計算機5及び7、ダブルトーク検出器12、適応フィルタ15に入力される。この時、Sin端子には信号は入力されない。パワー計算機7はRin端子から入力された信号のレベルを計算し、計算結果をエコー減衰量計算機6に出力する。Rin端子から入力された信号はダブルトーク検出器12にも入力されるが、Sin端子に入力する信号は無いのでダブルトーク検出器12は何の信号も出力しない。
【0044】
適応フィルタ15は、「学習同定法」等の公知のアルゴリズムを用い、やがてSin端子に到来するであろうエコーyの反対信号(疑似エコー)y'を生成する。Sin端子に到来したエコーyは加算器14で疑似エコーy'と加算され相殺される。加算器14の出力する信号(Res信号と呼ぶ)はダブルトーク検出器12、適応フィルタ15,パワー計算機5に出力される。
【0045】
ダブルトーク検出器12は、Rin端子から入る信号(以下、Rin信号と呼ぶ)のレベルと、加算器14の出力するRes信号のレベルとを比較し、例えば、Res信号レベル×2>Rin信号レベル
であれば、ダブルトーク状態であると判定する。ダブルトーク検出器12がダブルトーク状態を検出すると、適応フィルタ係数更新制御回路13は適応フィルタ15の係数更新を停止する。ダブルトーク検出器12のダブルトーク状態の検出には、上記の信号レベルの比較以外の任意の公知の方法を用いることができる。
【0046】
一方、パワー計算機5はRes信号のレベルを計算し、エコー減衰量計算機6に出力する。また、パワー計算機7はRin信号のレベルを計算しエコー減衰量計算機6に出力する。パワー計算機5及び7のそれぞれは、例えば入力信号のレベルxを下記の式から求める。
【0047】
x(k) = x(k−1) × (1-δ)+|x(k)| × δ1 …(1)
ここでkはサンプル番号1,2,3,…,n、x(0)は0である。δ1は平滑定数(0< δ1 < 1)であり、本実施形態ではδ1 = 2-7 である。δ1の値を大きくすると信号の大まかな変化をよく表すことができ、一方、小さくすると信号レベルの変化に敏感となる。
【0048】
エコー減衰量計算機6はパワー計算機5,7からの2つの信号のレベルからエコー減衰量を計算する。具体的にはRin信号のレベルをL_rin(k)、Res信号のレベルをL_res(k)とするとき、エコー減衰量iacom(k)を下記の式に従って計算する。
【0049】
iacom(k) = 20 × LOG10 (L_rin(k))/L_res(k)) …(2)
(2)式の計算は、Rin端子に信号入力があるときに実行される。Rin端子への信号入力の有無は、レベル測定回路などの公知の手段を用いて行うことができる。
【0050】
エコー減衰量iacom(k)は最大値追跡器9に入力され、最大値追跡器9はiacom(k)が、その時点までに計算したエコー減衰量の中で最大であれば、最大値追跡変数imax_iacom(k)を
imax_iacom(k) = iacom(k) …(3)
とし、そうでなければ、
imax_iacom(k) = imax_iacom(k-1) …(4)
として以前の値を保持する。但し、iacom(0) = 0 である。
【0051】
最大値追跡器9は最大値追跡変数imax_iacom(k)を最大値更新判定器8と最大値リーク計算機10とに出力する。最大値リーク計算機10の動作に関しては後述する。最大値更新判定器8はimax_iacom(k-1)とimax_iacom(k)とを比較し、
imax_iacom(k-1) < imax_iacom(k) …(5)
であれば適応フィルタ係数更新制御回路13に係数更新信号adp(k)を出力し、係数更新動作を実行させる。一方、
imax_iacom(k-1) ≧ imax_iacom(k) …(6)
の時は、最大値更新判定器8は最大値が上昇していないと判断し、不図示の最大値上昇なしカウンタimax_iacom_sgc_comp_counterのカウンタ値を1だけ増加させる。そして
imax_iacom_sgc_comp_counter < K …(7)
である間は適応フィルタ係数更新制御回路13に係数更新信号adp(k)を出力し、係数更新動作を実行させる。また、
imax_iacom_sgc_comp_counter ≧ K …(8)
になった時には適応フィルタ係数更新制御回路13に係数更新信号not_adp(k)を出力し、係数更新動作を停止させる。本実施形態ではK = 8000としたが、これに限定されるものではない。
【0052】
次に最大値リーク計算機10の動作を説明する。最大値リーク計算機10は、
iacom(k) < imax_iacom(k) - α …(9)
のとき、最大値リーク変数imax_iacom_sgc_save(k)を下記の式に従い計算する。ここでαは定数であり、本実施形態では10dBであるが、これに限定されるものではない。
【0053】
imax_iacom_sgc_save(k) = imax_iacom_sgc_save(k-1) × δ2 …(10)
但しimax_iacom_sgc_save(0) = 0であり、また、(9)式が成立しない場合は、(10)式の動作は実行しない。(即ち、imax_iacom_sgc_save(k)を以前の値に保持する)。本実施形態ではδ2 = 0.99しているがこれに限定されるものではない。
【0054】
乖離幅判定器11には、最大値追跡変数imax_iacom(k)が最大値追跡器9から供給され、また最大値リーク変数imax_iacom_sgc_save(k)が最大値リーク計算機10から供給される。乖離幅判定器11は、
imax_iacom_sgc_save(k) × δ3 < imax_iacom(k)
となった時、適応フィルタ係数更新制御回路13に係数更新信号adpを出力し、適応フィルタ15の係数の更新を開始させる。本実施形態ではδ3=2.0倍(dB表示では6dB)としているが、これに限定されるものではない。尚、倍率A1とdB表示A2との間にはA2(dB) = 20 × LOG OA1(倍)の関係がある。
【0055】
また、最大値追跡器9はこのとき、最大値追跡変数imax_iacom(k)及び最大値リーク変数imax_iacom_sgc_save(k)を下記の式に従い、その時点のエコー減衰量iacom(k)にリセットする。
【0056】
imax_iacom_sgc-save(k) = imax_iacom(k) = iacom(k) …(11)
最大値更新判定器8、ダブルトーク検出器12、乖離幅判定器11のいずれかから係数更新信号が入力されると適応フィルタ係数更新制御回路13は適応フィルタ15の係数更新を開始または停止するが、その優先度は、
乖離幅判定器11>最大値更新判定器8>ダブルトーク検出器12
の順である。即ち、乖離幅判定器11からの係数更新の開始または停止の指示が最も優先され、次に最大値更新判定器8からの係数更新の開始または停止の指示が優先される。
【0057】
次に、上記構成のエコーキャンセラにおける、エコー減衰量iacom(k)、最大値追跡変数imax_iacom(k)、最大値リーク変数imax_iacom_sgc_save(k)の時間的変化の例を図2を参照して説明する。図2は、最初にRin端子にRBT信号が入力され、その後、音声信号が入力されたときのエコー減衰量iacom(k)、最大値追跡変数imax_iacom(k)、係数更新信号adp、最大値リーク変数imax_iacom_sgc_save(k)、δ3(乖離度)の変化の様子を示している。
【0058】
時刻T1において、imax_iacom_sgc_comp_counter = 8000が成立し、一旦、係数更新が完全に停止される。この後、時刻T2においてエコーキャンセラに入力する信号がRBT信号から音声信号に変化すると、エコー減衰量iacom(k)は急激に減少する。なぜならエコーキャンセラは音声帯域におけるエコーパスを学習していないからである。そのため、このとき、エコー減衰量iacom(k)と最大値追跡変数imax_iacom(k)との差は閾値αを超え、上記(10)式の動作により最大値リーク変数imax_iacom_sgc_save(k)も徐々に減少して行く。最大値追跡変数imax_iacom(k)と最大値リーク変数imax_iacom_sgc_save(k)の乖離がδ3に達した時点で係数更新信号adpが乖離幅判定器11から適応フィルタ係数更新制御回路13に出力されるとともに、最大値追跡変数imax_iacom(k)及び最大値リーク変数imax_iacom_sgc_save(k)がその時点のエコー減衰量iacom(k)にリセットされる。この後、最大値追跡変数の更新が行われている間はフィルタ係数が更新される。
【0059】
以上説明したように、本発明のエコーキャンセラは、周期信号と音声信号とを判別する特段の検出器を用いること無しに、エコーキャンセラに入力する信号が周期信号から音声信号に変化すると再学習を自動的に開始することができる。
【0060】
また、本発明のエコーキャンセラは、話中信号BT及び呼び出し信号RBTのエコーが同時にエコーキャンセラに入力している状態でも話中信号BTを検出することができ、従来のように話中信号BTが検出できず、回線が開放されなくなるという問題も生じない。その理由を以下に説明する。
【0061】
前述したように、遠端話者が電話に出ず、近端話者が呼び出し音(RBT信号)を聞いている状態で電話を切った場合、BT信号(話中信号)が生成されエコーキャンセラに入力される。この場合、エコーキャンセラのRin端子にRBT信号が数回入力されたあと、Sin端子にBT信号が入力されることになる。図2を参照して説明したようにRBT信号受信中の時刻T1でエコーキャンセラの係数更新は停止され、その時点でRBT信号についてのエコー経路の学習は完全に終了しているので時刻T1以降、RBT信号のエコーはほぼ完全に除去される。従って、時刻T1以降にSin端子からBT信号(話中信号)が入力されたとしても、RBT信号のエコーだけがほぼ完全に除去されるので、BT信号は打ち消されることなくSout端子から出力される。なぜなら、時刻T1において、エコーキャンセラの学習動作が停止しており、エコーキャンセラはもはやRBT信号のエコーを打ち消す信号以外の信号を生成しないからである。
【0062】
以上、説明したように、本発明の第1の実施形態では、
Rin端子、Sin端子から入力する信号のパワーを計算するパワー計算機5,7を設け、
計算されたパワーからエコー減衰量を計算するエコー減衰量計算機6を設け、
エコー減衰量計算機6の出力の最大値を追跡する最大値追跡器9を設け、
最大値が新たな最大値に更新されているかどうかを判定する最大値更新判定器8を設け、
最大値が更新されないとき、保持している最大値をリークして徐々に減少させる最大値リーク計算機10を設け、
最大値リーク計算機10の出力と最大値追跡器9の出力との乖離を計算する乖離幅判定器11を設け、
適応フィルタ15の係数更新の開始及び停止の制御を行う適応フィルタ15係数制御回路13を設け、
最大値更新判定器8が、あらかじめ定めた回数だけ最大値が更新されないときに適応フィルタ15の係数更新を停止し、RBTエコー信号の除去を確実に行いBT信号を打ち消すことなく透過できるようにし、
最大値更新判定器8が適応フィルタ15の係数更新を停止した後でも、乖離幅判定器11の判定結果によって、入力信号がRBT信号から音声信号に変化した際には自動的にエコーキャンセラが学習を再開できるようにしたので、
回線を開放できなくなる従来の問題を解決し、なおかつ、周期信号と音声信号とを判別するための複雑な装置を用いなくても、周期信号、音声信号両方のエコーを除去できる。
【0063】
第2の実施形態
図3は本発明の第2の実施形態のエコーキャンセラの構成を示すブロック図である。第2の実施形態は、乖離幅判定器11に代えて乖離時間判定器20を用いる点で第1の実施形態と異なり、その他の構成は同じである。従って以下では乖離時間判定器20と適応フィルタ係数更新制御回路13の動作について説明し、その他に関しては説明を省略する。
【0064】
最大値追跡器9での最大値更新の停止後、エコー減衰量iacom(k)と最大値追跡変数imax_iacom(k)との差が閾値αを超えるときは、最大値リーク計算機10が出力する最大値リーク変数imax_iacom_sgc_save(k)が徐々に低下するのは第1の実施形態と同じである。図4に示すように、乖離時間判定器20は最大値追跡器9の出力が最大値リーク計算機10の出力から乖離した状態が時間t1に渡って続いたとき、係数更新信号adpを適応フィルタ係数更新制御回路13に出力する。適応フィルタ係数更新制御回路13は係数更新信号adpに応答し、第1の実施形態と同様、適応フィルタ15の係数更新を再開し、エコー経路の再学習を開始させる。
【0065】
第2の実施形態は、エコー減衰量が一定の値まで低下するのを待つことなく、エコー経路の再学習開始タイミングを時間で制御することを可能にする。尚、実施の形態2では、乖離時間判定器20は最大値追跡器9の出力が最大値リーク計算機10の出力から乖離した状態が時間t1に渡って続いたとき、係数更新信号adpを適応フィルタ係数更新制御回路13に出力するが、必ずしも両者が完全に一致している状態でなく、両者の差が所定の閾値内に入らない状態が時間t1に渡って続いたとき係数更新信号adpを適応フィルタ係数更新制御回路13に出力するようにしてもよい。
【0066】
以上説明したように第2の実施形態は、乖離時間判定器20を設け、最大値追跡器9の出力が最大値リーク計算機10の出力から乖離した状態が時間t1に渡って続いたとき、係数更新信号adpを適応フィルタ係数更新制御回路13に出力するように構成したので、第1の実施形態と同じ効果を奏するエコーキャンセラを、エコー経路の再学習開始タイミングをエコー減衰量の劣化でなく時間で制御する構成とすることができる。
【0067】
第3の実施形態
図5は本発明の第3の実施形態のエコーキャンセラの構成を示すブロック図である。第3の実施形態は、乖離時間判定器20に代えてが乖離幅/乖離時間判定器30を用いた点で第2の実施形態と異なり、その他の構成は同じである。従って以下では乖離幅/乖離時間判定器30の動作についてのみ説明する。
【0068】
乖離幅/乖離時間判定器30は、第1の実施形態と同様、最大値リーク変数imax_iacom_sgc_save(k)と最大値追跡変数imax_iacom(k)との乖離幅がδ3に達したとき、あるいは、第2の実施形態と同様、最大値リーク変数imax_iacom_sgc_save(k)が最大値追跡変数imax_iacom(k)から乖離した状態が一定の時間t1に渡って続いたときの少なくとも一方が成立したときに、適応フィルタ係数更新制御回路13に係数更新信号adpを出力し、適応フィルタ15の係数更新を再開する。
【0069】
第3の実施形態によれば、第1及び第2の実施形態よりもより精緻に適応フィルタ15の係数更新タイミングを制御することができる。なぜなら、エコー除去量が急速に劣化する時でも、一定時間が経過すれば自動的にエコー経路の再学習が開始されるからであり、これにより通話品質の低下を防止することができる。
【0070】
第4の実施形態
図6は本発明の第4の実施形態のエコーキャンセラの構成を示すブロック図である。第4の実施形態は、エコー減衰量計算機6とパワー計算機5との間、及びエコー減衰量計算機6とパワー計算機7との間に、最大値検出/リーク計算機40及び42をそれぞれ設けた点で第1の実施形態と異なる。本実施形態で最大値検出/リーク計算機40及び42を設けた理由を以下に説明する。
【0071】
第1の実施形態において、エコー減衰量を計算するには比較的長い時間の平滑定数を用いなければならない。なぜなら、エコー経路は一般的に初期遅延を含み、この初期遅延のために、エコー信号がエコーキャンセラに入力するタイミングと参照信号(エコーの元になる信号)がエコーキャンセラに入力するタイミングとの間にずれがあるからである。例えば、エコー経路が次のような特性であったとする。すなわち、遅延時間が100サンプル、減衰量が6dB(振幅で0.5倍に相当する)のエコー経路を考えよう。エコーキャンセラに常にトーン信号のような一定のレベル、ー定の周期の信号が入力されるとき、エコーは常に100サンプル遅延後に観測され、その振幅は0.5倍になるので、観測したエコーが参照信号のどの部分のエコーであるのかを見出し、エコー信号と参照信号の冒頭部分を正しくタイミング合わせすることは容易である。
【0072】
しかし、参照信号がトーン信号からが音声信号に切り替わったとき、困難が発生する。なぜなら、音声信号はその振幅がランダムに変化するので、エコーを観測したとき、それが参照信号のどの部分のエコーであるのか分からず、エコー信号と参照信号の冒頭部分を正しくタイミング合わせすることができなくなる。エコー信号と参照信号の冒頭部分を正しくタイミング合わせしない限り、参照信号の振幅がどれだけ減少しているかを求めることができない。すなわちエコー減衰量を正確に求めることはできない。
【0073】
このように、周期信号から音声信号への切り替わり時、エコー経路は未学習であることからエコー信号と参照信号の冒頭部分を正確にタイミング合わせすることができない。従って、実施の形態1では、エコー信号の大局的な変化からエコー減衰量を求めるようにしており、そのため上述の式(1)では比較的大きな平滑定数でパワーを計算している。しかしながら、平滑定数を大きくするとエコーキャンセラの動作が緩慢になり応答速度が低下することは避けられない。第4の実施形態では、最大値検出/リーク計算機40及び42を設けることにより応答速度を速くしている。
【0074】
以下に第4の実施形態のエコーキャンセラのパワー計算機5,7及び最大値検出/リーク計算機40,42の動作を説明する。他の素子の動作は第1の実施形態と同じであるので、その説明は省略する。
【0075】
パワー計算機5,7は第1の実施形態と同様の方法でパワーを計算するが、第4の実施形態では平滑定数はδ1 = 2-3に小さくし、変化に対する応答性を高めている。
【0076】
例えば、パワー計算機7では、Rin信号のレベルL_rin(k)を、
L_irin(k) = L_irin(k-1) × (1-δ1) + |L_irin(k)| × δ1 …(12)
として計算する。
【0077】
パワー計算機5,7で計算された信号レベルは最大値検出/リーク計算機40,42にそれぞれ入力される。例えば、Rin端子側の最大値検出/リーク計算機42は、Rin信号のパワーの最大値imax_irinを下記の式(13)に従って計算し、最大値を追跡する。
【0078】
L_rin(k)がその時点までに計算したパワーの中で最大であれば、
imax_irin(k) = L_irin(k) …(13)
もしそうでなければ、
imax_irin(k) = imax_irin(k-1) …(14)
但しimax_irin(0) = 0である。
【0079】
上記同様に、加算器14の出力信号Resについても、最大値検出/リーク計算機40がimax_ires(k)を計算し、その最大値を追跡する。本実施形態では、追跡した最大値が更新されないときにはその値をリークさせ、徐々に減少させる。
【0080】
エコー減衰量計算機6では、最大値検出/リーク計算機40,42から出力される最大値imax_irin(k)及びimax_ires(k)を第1の実施形態におけるRin信号レベルL_rin(k)及びRes信号レベルL_res(k)と同様に扱い、エコー減衰量を計算する。以降の動作は第1の実施形態と同様であるのでここでは説明しない。
【0081】
本実施形態は、参照信号が極大となるときには、通常そのエコーも極大となるという性質を利用したものであり、この性質を用いる限り、信号の時間軸合わせを行う必要がなくなる。以上説明したように、本発明の第4の実施形態によれば、平滑したパラメータ同士を比較するのでなく、瞬時に検出でき、しかも遅延の影響を受けにくいパラメータ即ち、送信信号(参照信号)及び受信信号(エコー信号)のそれぞれの「最大振幅部分」のパワーをパラメータとしてエコー減衰量を計算するようにしたので、応答速度の速いエコーキャンセラが得られる。
【0082】
第5の実施形態
図7は本発明の第5の実施形態のエコーキャンセラの構成を示すブロック図である。第5の実施形態は、第4の実施形態の構成と第2の実施形態の構成とを組み合わせたものであり、乖離幅判定器11に代えて乖離時間判定器20を用いた点で実施の形態4と異なる。乖離時間判定器20の動作に関してはすでに説明した通りであるのでここでは説明しない。第5の実施形態によれば、第4の実施形態の適応フィルタ15の再学習タイミングをエコー減衰量の劣化ではなく、時間で制御することが可能になる。
【0083】
第6の実施形態
図8は本発明の第6の実施形態のエコーキャンセラの構成を示すブロック図である。第6の実施形態は、第4の実施形態と第3の実施形態とを組み合わせたものであり、乖離幅判定器11に代えて乖離幅/乖離時間判定器30を用いる点で第4の実施形態と異なる。乖離幅/乖離時間判定器30の動作に関してはすでに説明した通りであるのでここでは説明しない。
【0084】
第6の実施形態によれば、第4の実施形態の利点に加え、第3の実施形態の利点、即ち、より精緻にエコーキャンセラの再学習タイミングを制御できるという利点を有するエコーキャンセラが得られる。
【0085】
第7の実施形態
図9は本発明の第7の実施形態のエコーキャンセラの構成を示すブロック図である。第7の実施形態は、Rin端子に接続されるパワー計算機7に代えてSin端子に接続されるパワー計算機70を用いる点、及びエコー減衰量計算機6に代えてエコー消去量計算機71を用いる点で第1の実施形態と異なる。以下に、パワー計算機70とエコー消去量計算機71の動作を説明する。他の素子の動作は第1の実施形態と同じであるのでその説明は省略する。
【0086】
パワー計算機70はSin端子から加算器14に入力する信号のパワーL_Sin(k)を式(15)に従って計算し、パワー計算機5は、加算器14から出力される信号のパワーL_Res(k)を式(16)に従って計算する。
【0087】
L_Sin(k) = L_Sin(k-1) × (1-δ) + |Sin(k)| × δ4 …(15)
L_Res(k) = L_Res(k-1) × (1-δ) + |Res(k)| × δ4 …(16)
ここでδ4 = 2-3である。δ4は第1の実施形態よりも大きな値(応答が速い)に設定してもよい。計算されたパワーL_Sin(k)及びL_Res(k)はエコー消去量計算機71に出力される。エコー消去量計算機71は式(17)に従いエコー消去量iacanc(k)を計算する。
【0088】
iacanc(k) = 20 × LOG O (L_Sin(k)/L_Res(k)) …(17)
エコー消去量計算機71はiacanc(k)を最大値追跡器9に出力する。最大値追跡器9はこのエコー消去量iacanc(k)をエコー減衰量iacom(k)と同様に扱って最大値を追跡する。最大値追跡器9以降の素子の動作は第1の実施形態と同様であるのでここでは説明しない。
【0089】
第7の実施形態では、パワー計算機70及びパワー計算機5を加算器14の入力側及び出力側にそれぞれ設けたので、エコー消去量の計算はエコー経路の遅延の影響を一切受けない。そのため、小さい平滑定数を用いることによりSin端子に入る信号の最大値及びRes信号の最大値を検出しなくても応答速度を向上させることができる。更に、最大値検出機構が不要な分、ソフト、ハードの規模を小さくすることができる。
【0090】
第8の実施形態
図10は本発明の第8の実施形態のエコーキャンセラの構成を示すブロック図である。第8の実施形態は、乖離幅判定器11に代えて乖離時間判定器20を用いる点で第7の実施形態と異なる。乖離時間判定器20と乖離幅判定器11の動作の違いについては第2の実施形態で説明した通りであるのでここでは説明しない。
【0091】
第8の実施形態によれば、第7の実施形態の利点に加え、エコー経路の再学習タイミングを、エコー減衰量でなく時間的に制御できるという利点を有するエコーキャンセラが得られる。
【0092】
第9の実施形態
図11は本発明の第9の実施形態のエコーキャンセラの構成を示すブロック図である。第9の実施形態は、乖離幅判定器11に代えて乖離幅/乖離時間判定器30を用いる点で第7の実施形態と異なる。乖離幅/乖離時間判定器30と乖離幅判定器11の動作の違いについては第3の実施形態で説明した通りであるのでここでは説明しない。
【0093】
第9の実施形態によれば、第7の実施形態の利点に加え、エコー経路の再学習タイミングを時間、及びエコー減衰量の劣化の両方で制御できるという利点を有するエコーキャンセラが得られる。
【0094】
以上、本発明のエコーキャンセラをインターネット電話に使用した例について説明したが、本発明のエコーキャンセラの用途はこれに限定されるものではなく、一般の電話回線、移動電話、自動車電話、テレビ会議装置等、エコーを除去する必要のある任意の装置及びシステムに適用できる。
【0095】
【発明の効果】
本発明によれば、周期信号と音声信号の両方のエコーを除去することのできるエコーキャンセラを低コストで提供することができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態のエコーキャンセラの構成を示すブロック図である。
【図2】 第1の実施形態のエコーキャンセラにおけるエコー減衰量、最大値追跡変数及び最大値リーク変数の時間的変化の例を示す図である。
【図3】 本発明の第2の実施形態のエコーキャンセラの構成を示すブロック図である。
【図4】 第2の実施形態のエコーキャンセラにおけるエコー減衰量、最大値追跡変数及び最大値リーク変数の時間的変化の例を示す図である。
【図5】 本発明の第3の実施形態のエコーキャンセラの構成を示すブロック図である。
【図6】 本発明の第4の実施形態のエコーキャンセラの構成を示すブロック図である。
【図7】 本発明の第5の実施形態のエコーキャンセラの構成を示すブロック図である。
【図8】 本発明の第6の実施形態のエコーキャンセラの構成を示すブロック図である。
【図9】 本発明の第7の実施形態のエコーキャンセラの構成を示すブロック図である。
【図10】 本発明の第8の実施形態のエコーキャンセラの構成を示すブロック図である。
【図11】 本発明の第9の実施形態のエコーキャンセラの構成を示すブロック図である。
【図12】 従来のエコーキャンセラの動作を説明する図である。
【符号の説明】
101 エコーキャンセラ、 102 エコーキャンセラ、 103 ゲートウェイ、 104 ハイブリッドトランス、 105 ハイブリッドトランス、106 PBX、 5 パワー計算機、 6 エコー減衰量計算機、 7 パワー計算機、 8 最大値更新判定器、 9 最大値追跡器、 10 最大値リーク計算機、 11 乖離幅判定器、 12 ダブルトーク検出器、 13 適応フィルタ係数更新制御回路、 14 加算器、 15 適応フィルタ、 20乖離時間判定器、 30 乖離幅/乖離時間判定器、 40 最大値検出/リーク回路、 42 最大値検出/リーク回路、 70 パワー計算機、 71 エコー消費量計算機。

Claims (27)

  1. 受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を減衰させる擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
    受信信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の減衰量を一定の時間間隔毎に計算する第1の手段と、
    前記第1の手段により計算された減衰量の最大値を追跡し、保持する第2の手段と、
    前記第2の手段の保持する減衰量の最大値からエコー信号の減衰量の現在値を差し引いた値が第1の閾値を超えたときに、該第2の手段から出力された減衰量の最大値を前記一定の時間間隔毎に一定の比率で減少させ、その値を保持する第3の手段と、
    前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の乖離幅を前記一定の時間間隔で計算する第4の手段とを備え、
    前記第4の手段が計算した乖離幅が第2の閾値を超えたときに、前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の両方をエコー信号の減衰量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とするエコーキャンセラ。
  2. 前記第2の手段の保持する減衰量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する減衰量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する減衰量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする請求項1に記載のエコーキャンセラ。
  3. ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする請求項2に記載のエコーキャンセラ。
  4. 前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする請求項3に記載のエコーキャンセラ。
  5. 前記第1の手段は、該第1の手段に入力される受信信号及び擬似エコー信号の加算されたエコー信号のそれぞれについて、
    入力信号のパワーを一定の時間間隔毎に計算するパワー計算手段と、
    計算されたパワーの最大値を保持するとともに、該保持された最大値が更新されないとき、該保持する最大値を前記一定の時間間隔毎に一定の比率で減少させる最大値追跡/リーク手段とを備え、
    該最大値追跡/リーク手段の出力する最大値に基づいてエコー信号の減衰量を計算することを特徴とする請求項1から4のいずれか一項に記載のエコーキャンセラ。
  6. 受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を減衰させる擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
    受信信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の減衰量を一定の時間間隔毎に計算する第1の手段と、
    前記第1の手段により計算された減衰量の最大値を追跡し、保持する第2の手段と、
    前記第2の手段の保持する減衰量の最大値からエコー信号の減衰量の現在値を差し引いた値が所定の閾値を超えたときに、前記第2の手段から出力された減衰量の最大値を前記一定の時間間隔毎に一定の比率で減少させ、その値を保持する第3の手段と、
    前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値とが乖離し始めてから経過した時間の長さを計測する第4の手段とを備え、
    前記第4の手段が計測した時間が所定の値に達したときに、前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の両方をエコー信号の減衰量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とするエコーキャンセラ。
  7. 前記第2の手段の保持する減衰量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する減衰量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する減衰量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする請求項6に記載のエコーキャンセラ。
  8. ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする請求項7に記載のエコーキャンセラ。
  9. 前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする請求項8に記載のエコーキャンセラ。
  10. 前記第1の手段は、該第1の手段に入力される受信信号及び擬似エコー信号の加算されたエコー信号のそれぞれについて、
    入力信号のパワーを一定の時間間隔毎に計算するパワー計算手段と、
    計算されたパワーの最大値を保持するとともに、該保持された最大値が更新されないとき、該保持する最大値を前記一定の時間間隔毎に一定の比率で減少させる最大値追跡/リーク手段とを備え、
    該最大値追跡/リーク手段の出力する最大値に基づいてエコー信号の減衰量を計算することを特徴とする請求項6から9のいずれか一項に記載のエコーキャンセラ。
  11. 受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を減衰させる擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
    受信信号のパワーとび擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の減衰量を一定の時間間隔で計算する第1の手段と、
    前記第1の手段により計算された減衰量の最大値を追跡し、保持する第2の手段と、
    前記第2の手段の保持する減衰量の最大値からエコー信号の減衰量の現在値を差し引いた値が第1の閾値を超えたときに、該第2の手段から出力された減衰量の最大値を前記一定の時間間隔で一定の比率で減少させ、その値を保持する第3の手段と、
    前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の乖離幅を前記一定の時間間隔毎に計算し、且つ該第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値とが乖離し始めてから経過した時間の長さを計測する第4の手段とを備え、
    前記第4の手段が計算した乖離幅が第2の閾値を超えるかあるいは該第4の手段が計測した時間が所定の値を超えたときに、前記第2の手段の保持する減衰量の最大値と前記第3の手段の保持する値の両方をエコー信号の減衰量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とするエコーキャンセラ。
  12. 前記第2の手段の保持する減衰量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する減衰量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する減衰量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする請求項11に記載のエコーキャンセラ。
  13. ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする請求項12に記載のエコーキャンセラ。
  14. 前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする請求項13に記載のエコーキャンセラ。
  15. 前記第1の手段は、該第1の手段に入力される受信信号及び擬似エコー信号の加算されたエコー信号のそれぞれについて、
    入力信号のパワーを一定の時間間隔毎に計算するパワー計算手段と、
    計算されたパワーの最大値を保持するとともに、該保持された最大値が更新されないとき、該保持する最大値を前記一定の時間間隔毎に一定の比率で減少させる最大値追跡/リーク手段とを備え、
    該最大値追跡/リーク手段の出力する最大値に基づいてエコー信号の減衰量を計算することを特徴とする請求項11から14のいずれか一項に記載のエコーキャンセラ。
  16. 受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を消去する擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
    エコー信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の消去量を一定の時間間隔毎に計算する第1の手段と、
    前記第1の手段により計算された消去量の最大値を追跡し、保持する第2の手段と、
    前記第2の手段の保持する消去量の最大値からエコー信号の消去量の現在値を差し引いた値が第1の閾値を超えたときに、該第2の手段から出力された消去量の最大値を前記一定の時間間隔毎に一定の比率で減少させ、その値を保持する第3の手段と、
    前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値の乖離幅を前記一定の時間間隔で計算する第4の手段とを備え、
    前記第4の手段が計算した乖離幅が第2の閾値を超えたときに、前記第2の手段から出力された消去量の最大値と前記第3の手段の保持する値の両方をエコー信号の消去量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とするエコーキャンセラ。
  17. 前記第2の手段の保持する消去量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する消去量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する消去量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする請求項16に記載のエコーキャンセラ。
  18. ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする請求項17に記載のエコーキャンセラ。
  19. 前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする請求項18に記載のエコーキャンセラ。
  20. 受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を消去する擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
    エコー信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の消去量を一定の時間間隔毎に計算する第1の手段と、
    前記第1の手段により計算された消去量の最大値を追跡し、保持する第2の手段と、
    前記第2の手段の保持する消去量の最大値からエコー信号の消去量の現在値を差し引いた値が所定の閾値を超えたときに、前記第2の手段から出力された消去量の最大値を前記一定の時間間隔毎に一定の比率で減少させ、その値を保持する第3の手段と、
    前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値とが乖離し始めてから経過した時間の長さを計測する第4の手段とを備え、
    前記第4の手段が計測した時間が所定の値に達したときに、前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値の両方をエコー信号の消去量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とするエコーキャンセラ。
  21. 前記第2の手段の保持する消去量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する消去量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する消去量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする請求項20に記載のエコーキャンセラ。
  22. ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする請求項21に記載のエコーキャンセラ。
  23. 前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする請求項22に記載のエコーキャンセラ。
  24. 受信信号のエコー信号が送信側に戻ることを防止するために、該エコー信号に加算され、該エコー信号を消去する擬似エコー信号を生成する適応フィルタを有するエコーキャンセラにおいて、
    エコ信号のパワーと擬似エコー信号の加算されたエコー信号のパワーとからエコー信号の消去量を一定の時間間隔で計算する第1の手段と、
    前記第1の手段により計算された消去量の最大値を追跡し、保持する第2の手段と、
    前記第2の手段の保持する消去量の最大値からエコー信号の消去量の現在値を差し引いた値が第1の閾値を超えたときに、該第2の手段から出力された消去量の最大値を前記一定の時間間隔で一定の比率で減少させ、その値を保持する第3の手段と、
    前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値の乖離幅を前記一定の時間間隔毎に計算し、且つ前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値とが乖離し始めてから経過した時間の長さを計測する第4の手段とを備え、
    前記第4の手段が計算した乖離幅が第2の閾値を超えるかあるいは該第4の手段が計測した時間が所定の値を超えたときに、前記第2の手段の保持する消去量の最大値と前記第3の手段の保持する値の両方をエコー信号の減衰量の現在値にリセットするとともに、前記適応フィルタのフィルタ係数更新動作を開始することを特徴とするエコーキャンセラ。
  25. 前記第2の手段の保持する消去量の最大値が更新されたか否かを検出する第5の手段を備え、前記第2の手段の保持する消去量の最大値が更新されたことを該第5の手段が出したときに前記適応フィルタのフィルタ係数更新動作を開始し、前記第2の手段の保持する消去量の最大値が一定の期間に渡り更新されなかったことを該第5の手段が検出したときに前記適応フィルタのフィルタ係数更新動作を停止することを特徴とする請求項24に記載のエコーキャンセラ。
  26. ダブルトーク状態にあるか否かを検出する第6の手段を備え、ダブルトーク状態が該第6の手段により検出されたときに前記適応フィルタのフィルタ係数更新動作を停止し、該第6の手段がダブルトーク状態を検出しなくなったときに前記適応フィルタのフィルタ係数更新動作を開始することを特徴とする請求項25に記載のエコーキャンセラ。
  27. 前記適応フィルタのフィルタ係数更新動作の開始及び停止の制御が、前記第4の手段の出力>前記第5の手段の出力>前記第6の手段の出力の順の優先順位で行われることを特徴とする請求項26に記載のエコーキャンセラ。
JP2001337783A 2001-11-02 2001-11-02 エコーキャンセラ Expired - Fee Related JP3862548B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001337783A JP3862548B2 (ja) 2001-11-02 2001-11-02 エコーキャンセラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001337783A JP3862548B2 (ja) 2001-11-02 2001-11-02 エコーキャンセラ

Publications (2)

Publication Number Publication Date
JP2003143042A JP2003143042A (ja) 2003-05-16
JP3862548B2 true JP3862548B2 (ja) 2006-12-27

Family

ID=19152373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001337783A Expired - Fee Related JP3862548B2 (ja) 2001-11-02 2001-11-02 エコーキャンセラ

Country Status (1)

Country Link
JP (1) JP3862548B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4700969B2 (ja) * 2005-01-06 2011-06-15 富士通株式会社 監視情報提供装置、監視情報提供方法および監視情報提供プログラム
JP2006203357A (ja) * 2005-01-18 2006-08-03 Oki Electric Ind Co Ltd エコーキャンセラ

Also Published As

Publication number Publication date
JP2003143042A (ja) 2003-05-16

Similar Documents

Publication Publication Date Title
JP2538176B2 (ja) エコ―制御装置
US8184818B2 (en) Double-talk detector with accuracy and speed of detection improved and a method therefor
JP2518433B2 (ja) ダブルト―ク検出回路
JP2626437B2 (ja) 残留エコー制御装置
US8041027B2 (en) Electricity echo cancellation device and method
JPH06188789A (ja) 双方向通話状態検出回路
WO1995031051A1 (fr) Compensateur d&#39;echo et son procede d&#39;apprentissage
JP2011055494A (ja) エコーキャンセラ
JP4403776B2 (ja) エコーキャンセラ
JPS6050092B2 (ja) 適応制御型反響阻止装置
JP3862548B2 (ja) エコーキャンセラ
JP2009218849A (ja) 音響エコー・キャンセル制御方法と装置。
JP2002280938A (ja) エコーキャンセラ装置
JPH07226697A (ja) 反響消去装置、反響消去方法及び反響消去装置を有する送受話器
JP3303524B2 (ja) エコーキャンセラ学習方法
JP3212796B2 (ja) エコーキャンセラ
JP3304609B2 (ja) エコーキャンセラ学習方法
JP3499055B2 (ja) エコーキャンセラ
JP4442381B2 (ja) エコー・キャンセラ制御方法と装置。
JP3248551B2 (ja) 反響消去装置
JP3187716B2 (ja) 反響消去装置
JPH07303072A (ja) ダブルトーク検出方法および装置
JPH07303070A (ja) ダブルトーク検出方法
KR101009867B1 (ko) 통신 단말을 위한 음향반향 제거기 및 방법
JPH07283859A (ja) エコーキャンセラー

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060926

R150 Certificate of patent or registration of utility model

Ref document number: 3862548

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101006

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111006

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121006

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131006

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees