JP5061853B2 - エコーキャンセラ及びエコーキャンセルプログラム - Google Patents

エコーキャンセラ及びエコーキャンセルプログラム Download PDF

Info

Publication number
JP5061853B2
JP5061853B2 JP2007288404A JP2007288404A JP5061853B2 JP 5061853 B2 JP5061853 B2 JP 5061853B2 JP 2007288404 A JP2007288404 A JP 2007288404A JP 2007288404 A JP2007288404 A JP 2007288404A JP 5061853 B2 JP5061853 B2 JP 5061853B2
Authority
JP
Japan
Prior art keywords
end input
pseudo
input signal
signal
filter coefficient
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
JP2007288404A
Other languages
English (en)
Other versions
JP2009118139A (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 JP2007288404A priority Critical patent/JP5061853B2/ja
Priority to EP08168265A priority patent/EP2059014B1/en
Priority to US12/289,882 priority patent/US8073132B2/en
Publication of JP2009118139A publication Critical patent/JP2009118139A/ja
Application granted granted Critical
Publication of JP5061853B2 publication Critical patent/JP5061853B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephone Function (AREA)
  • Circuit For Audible Band Transducer (AREA)

Description

本発明は、エコーキャンセラ及びエコーキャンセルプログラムに関し、例えばハンズフリー電話端末に適用し得る。
近年VoIPの普及にともない、通信量が安価になり、家庭やオフィスにおいては以前よりも通話料を気にかけずに電話ができるようになってきた。結果、通話時間が従来よりも長くなるケースが多くなった。このような環境の変化にともない、電話端末のハンドセットを長時間通話の間中、ずっと耳に押し当てておく苦痛を解消させるために「ハンズフリー電話端末」装置の普及の要求が急速にたかまってきた。ハンズフリーを実現する最も簡単な方法はイヤホンやヘッドホンを装着することであるが、長時間イヤホンを使ったのでは、やはり耳穴とイヤホンのこすれ、爛れを起こす結果になり苦痛を生じ、ヘッドセットの使用でも長時間の装着違和感のために疲労を起こしてしまう。このような近年の機器の変化中でイヤホンを装着しなくてもハンズフリーを実現できる、実用的で安価なスピーカフォン形式のハンズフリー電話端末の普及が望まれている。
このようなスピーカフォンでハンズフリーを実現するために「音響エコーキャンセラ」をもちいて電話機をハンズフリーにすることが知られており、実際実用に供されている。従来音響エコーキャンセラを動作させるためのエコーキャンセラには非特許文献1に開示されているような、適応フィルタ技術を使うのが通例であり、中でもNLMSアルゴリズムは、収束速度が遅く、特に音声信号のような「有色信号」で収束が劣化するとうい欠点と引き換えても、動作の安定性に優れて電話機に実装することができるため、広くエコーキャンセラに使われており、今後も有力なアルゴリズムのひとつであることに変わりはない。
上述のように今後一層のハンズフリー通話の普及が予想される現状では、企業会議室向けの高価で装置規模の大きい機器でハンズフリーが出来ればよいだけでなく、たとえば家庭でも設置が可能な装置規模、価格が廉価で高性能のハンズフリー電話機が望まれてくる。しかも従来の電話音質をしのぐ広帯域音声での通話が可能になる機器が、すでにVoIPの普及にともなって需要が拡大しはじめており、ハンズフリー機器やそれに含まれるエコーキャンセラも、広帯域音声で利用可能なものが望まれている。
従来、広く使われている安定なNLMS適応フィルタ更新アルゴリズムを広帯域向けの音響エコーキャンセラとしてそのまま流用しようとすると、演算量と安定性の点で問題があった。細かなサンプリングを実施して広帯域音質を実現するためにサンプリング速度は上昇するからである。例えば、従来8kHz帯域の音声品質が16kHz帯域の音声品質になるとサンプリング周波数が2倍になるので、単位時間に処理すべきデータサンプルも2倍になる。
一方でサンプリングされる側である音響エコー経路の時間的長さは変わらない。なぜなら、エコー経路の時間応答長はスピーカから出力された音声信号が空間を経由してマイクに到達する「エコー経路」を音が経由する時間が基本であるので、エコー経路の応答長は、マイクースピーカの距離や、音速、部屋の反響経路の数、反射のなどの「物理量」で決まる長さであって、デジタル処理のためのサンプリング速度とは関係ない独立で特有の応答時間長をもつからである。
したがって適応フィルタのタップ数はサンプリング周波数の上昇に応じて大きくなってしまう。一方、エコーキャンセラを実現する適応フィルタのタップ数が大きくなるとエコーキャンセラの収束は遅くなる。このような収束速度の低下を回避する技術が非特許文献1に述べられている。例えば、収束速度を改善するためには、非特許文献1に開示されるNLMSアルゴリズムのような高度に複雑な演算を用いた高度な同定アルゴリズムをつかうことになる。しかし、このような高速収束アルゴリズムは動作の安定性に乏しいだけでなく、演算規模、メモリ容量規模も非常に大きくなる。すなわち、通話品質が不安定な上に、ハードウェアやソフトウエアの規模が大きく、コストが高くになるという問題点があった。
一方で、従来の安定なアルゴリズム、例えば、現在広く用いられている公知のNLMSをそのまま使うと、今度は有色信号での性能劣化や、タップ長が大きくなった分の収束速度劣化などをそのまま被ってしまうので、こんどはエコーを除去するまでの収束時間がかかり、通話品質の劣化を解決できないという問題点があった。
上述のような問題に対して、特許文献1では、適応フィルタの係数を逐次補正するエコーキャンセラの制御方法において、この推定値の逐次補正におけるステップゲインを推定インパルス応答長と、装置の動作開始からの経過時間で制御しステップゲインを時間と共に減少させることにより、収束開始時の収束速度が大きく、定常時の推定精度が高い収束特性を実現するエコーキャンセラが開示されている。
特開平08−237174号公報 「適応フィルタ入門」,S.へイキン著,現代工学社,P149〜P158 「技術参考資料 電話サービスのインタフェース 第5版」,東日本電信電話株式会社編,P19〜P21,[Online],INTERNET,[2007年10月9日検索],<URL:http://www.ntt-east.co.jp/gisanshi/analog/edit5j.pdf>
しかしながら、特許文献1に記載の技術においても有色性信号による適応フィルタの収束速度の劣化は避けることができなかった。また、一旦呼制御トーン信号などで収束してしまった後、いろいろな周波数成分を含む音声信号が入力された場合などは、むしろステップゲインを小さくしてしまった分、トーン成分だけで推定したエコー経路から、音声帯域をカバーするための適応フィルタの再収束がむしろ阻害されてしまい、エコーの収束時間が長くなるという問題点があった。
そこで、低コストでエコーの収束時間を短くすることができるエコーキャンセラが望まれている。
第1の本発明のエコーキャンセラは、(1)遠端入力信号を利用して擬似エコー信号を形成するフィルタと、上記擬似エコー信号を用いて近端入力信号に含まれるエコー成分を除去するエコー成分除去手段とを備えるエコーキャンセラにおいて、(2)遠端入力信号について、有音状態又は無音状態を検出する有音無音検出手段と(3)上記有音無音検出手段により有音状態が検出されている間、近端入力信号に基づいて、上記フィルタに設定するフィルタ係数を求め、求めたフィルタ係数を上記フィルタに設定するフィルタ係数更新設定手段と、(4)上記有音無音検出手段により、有音状態が検出された場合に、遠端入力信号及び近端入力信号を取得する信号取得手段と、(5)上記信号取得手段が取得した遠端入力信号及び近端入力信号に基づいて、擬似遠端入力信号及び擬似近端入力信号を生成する擬似信号生成手段と、(6)上記擬似近端入力信号に含まれるエコー成分を、上記フィルタを用いて除去すると仮定した場合に、上記擬似遠端入力信号及び上記擬似近端入力信号に基づいて、上記フィルタに適用するフィルタ係数を求める潜行型フィルタ係数算出手段と、(7)上記有音無音検出手段により、無音状態から有音状態に遷移したことが検出されたとき、上記潜行型フィルタ係数算出手段が算出したフィルタ係数を、上記フィルタ係数更新設定手段が更新するフィルタ係数の初期値として設定するフィルタ係数初期値設定手段とを有することを特徴とする。
第2の本発明のエコーキャンセルプログラムは、(1)遠端入力信号を利用して擬似エコー信号を形成するフィルタと、上記擬似エコー信号を用いて近端入力信号に含まれるエコー成分を除去するエコー成分除去手段とを備えるエコーキャンセラに搭載されたコンピュータを、(2)遠端入力信号について、有音状態又は無音状態を検出する有音無音検出手段と、(3)上記有音無音検出手段により有音状態が検出されている間、近端入力信号に基づいて、上記フィルタに設定するフィルタ係数を求め、求めたフィルタ係数を上記フィルタに設定するフィルタ係数更新設定手段と、(4)上記有音無音検出手段により、有音状態が検出された場合に、遠端入力信号及び近端入力信号を取得する信号取得手段と、(5)上記信号取得手段が取得した遠端入力信号及び近端入力信号に基づいて、擬似遠端入力信号及び擬似近端入力信号を生成する擬似信号生成手段と、(6)上記擬似近端入力信号に含まれるエコー成分を、上記フィルタを用いて除去すると仮定した場合に、上記擬似遠端入力信号及び上記擬似近端入力信号に基づいて、上記フィルタに適用するフィルタ係数を求める潜行型フィルタ係数算出手段と、(7)上記有音無音検出手段により、無音状態から有音状態に遷移したことが検出されたとき、上記潜行型フィルタ係数算出手段が算出したフィルタ係数を、上記フィルタ係数更新設定手段が更新するフィルタ係数の初期値として設定するフィルタ係数初期値設定手段として機能させることを特徴とする。
本発明によれば、低コストでエコーの収束時間を短くするエコーキャンセラを提供することができる。
(A)第1の実施形態
以下、本発明によるエコーキャンセラ及びエコーキャンセルプログラムの第1の実施形態を、図面を参照しながら詳述する。
(A−1)第1の実施形態の動作
図1は、第1の実施形態のエコーキャンセラ1の機能的構成を示すブロック図である。
遠端から入力された遠端入力信号X(n)が受信入力端子受信入力端子Rin、受信出力端子Routを介して、スピーカSPに出力される。そして、スピーカSPから音響信号が放出され、近端話者に供せられる。一方、スピーカSPから放出された音響信号は、マイクロホンMICに漏れこみ、エコーY(n)として送信側入力端子Sin、送信側出力端子Soutを介して遠方に出力される。エコーキャンセラ1は、このような音響エコーを消去(除去)するものである。また、スピーカSP、マイクロホンMICを有する近端側の端末が、例えば、2線−4線変換回路(ハイブリッド回路ともいう)を備え、回線エコーが発生する場合には、回線エコーの消去(除去)にエコーキャンセラ1を用いても良い。
エコーキャンセラ1は、上述のようなエコーを消去するものであって、通常適応フィルタ部10、潜行型適応フィルタ部20、音声検出器30、タイミング制御部40、適応モード制御部50を有している。
遠端入力信号X(n)がデジタル信号である場合には、D/A(デジタル/アナログ)変換器を別途設けて、アナログ信号に変換してスピーカSPに入力するようにしても良い。又、近端から入力される近端入力信号が、デジタル信号である必要がある場合には、A/D(アナログ/デジタル)変換器を別途設けてマイクロホンMICから出力されたアナログ信号をデジタル信号に変換して、近端入力信号として出力しても良い。ここでは、エコーキャンセラ1の各部に入力される遠端入力信号及び近端入力信号は、デジタル信号であるものとして説明する。遠端入力信号及び近端入力信号がアナログ信号である場合には、別途D/A変換器、A/D変換器を設けて変換して入出力するようにしても良い。
また、エコーキャンセラ1は、例えば、DSPなどの専用チップにより実現しても良いし、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)に、実施形態のエコーキャンセルプログラム等をインストールすることにより構築しても良いが、機能的には図1のように表すことができる。
音声検出器30は、受信側入力端子Rinを介して入力される遠端入力信号X(n)において、有音又は無音を検出し、有音状態又は無音状態に応じた信号を、タイミング制御部40及び適応モード制御部50に与えるものである。
有音・無音の検出には、例えば、信号のパワー長期平均とパワー短期平均を計算し、両者の計算結果の牽離の大きさに基づいて検出方法を用いてもよい。例えば、パワー長期平均を5secの平均値LPO_Lとし、パワー短期平均を30msecの平均値LPO_Sとし、検出マージンをVD_δ(ここではでは6dBとする)とした場合、下記の(1)式が成立したときに有音を検出し、成立しないときは無音を検出しても良い。
LPO_S ≧ LPO_L + VD_δ…(1)
音声検出器30が有音を検出した場合にタイミング制御部40及び適応モード制御部50に与える信号(以下、「v_flg」と表す)は、例えば、有音区間の場合には「v_flg=1」、無音区間の場合には「v_flg=0」としても良い。
通常適応フィルタ部10、潜行型適応フィルタ部20は、いずれもエコーY(n)消去のための適応動作(フィルタの係数ベクトル(フィルタ係数)の更新)をするものであるが、通常適応フィルタ部10、潜行型適応フィルタ部20が同時に適応動作はせず、いずれか一方のみが適応動作するものである。通常適応フィルタ部10は、音声検出器30により有音が検出された場合にのみ適応動作し、潜行型適応フィルタ部20は無音区間が検出されている場合のみ適応動作を行う。なお、潜行型適応フィルタ部20は無音区間、通常適応フィルタ部10は有音区間であっても、適応動作を行わない区間があっても良い。通常適応フィルタ部10、潜行型適応フィルタ部20が適応動作を行う区間の詳細については後述する。
通常適応フィルタ部10は、通常擬似エコー作成部11、通常フィルタ係数適応部12、SW13、SW14、加算器15を有している。
通常擬似エコー作成部11は、擬似エコーを作成し、加算器15に与えるものであり、適応フィルタ係数部111、積和演算部112、保持レジスタ113を有している。
適応フィルタ係数部111は、通常適応フィルタ部10において適用する係数ベクトルのデータを格納し、積和演算部112に与える。適応フィルタ係数部111に格納する係数ベクトルは、SW13を介して通常フィルタ係数適応部12又は、潜行型適応フィルタ部20(後述する無音区間適応促進部24)から与えられた係数ベクトルとなる。SW13の詳細については後述する。
保持レジスタ113は、遠端入力信号X(n)の値のデータを格納し、積和演算部112に与えるものである。
積和演算部112は、適応フィルタ係数部111から与えられたベクトル係数と、保持レジスタ113から与えられた値を積和演算(畳み込み演算ともいう)し、積和演算した結果(以下、「擬似エコーy'(n)」と表す)を、SW14を介して加算器15に与える。なお、SW14の詳細に関しては後述する。
加算器15は、送信側入力端子Sinを介して近端側から与えられる信号と、通常擬似エコー作成部11からの擬似エコーy'(n)とが入力されると、加算相殺(近端側から与えられる信号から、擬似エコーy'(n)を減算する)して残差信号e(n)を生成し、送信側出力端子Soutを介して遠方に出力する。又、加算器15は、残差信号e(n)を、通常フィルタ係数適応部12にも与える。
通常フィルタ係数適応部12は、加算器15から与えられた残差信号e(n)に応じて擬似エコーy'(n)を作成するための係数ベクトルを計算し、SW13を介して適応フィルタ係数部111に与えるものである。通常フィルタ係数適応部12は、近端入力信号として、エコーY(n)以外の信号が入力された場合、すなわち、近端入力信号が有音状態となっている場合には、それを検出して、係数ベクトルを計算する適応動作を行わないようにしても良い。又、音声検出器30において、無音状態が検出されている間は、適応動作を行わないようにしても良い。
潜行型適応フィルタ部20は音声検出器30の検出結果が「有音状態」のときに音声データを収集、加工して準備だけをすすめ、音声検出器30の検出結果が「無音状態」の時に主体となってもっぱらエコーの同定(エコー経路の同定としても意味は同じ)を行うものである。潜行型適応フィルタ部20は見かけ上無音期間にエコーキャンセラの係数更新を進行させる適応フィルタといえる。
潜行型適応フィルタ部20は、受信側加算データ選択部211、受信側加算データ加工部221、受信側加算データ保存部231、送信側加算データ選択部212、送信側加算データ加工部222、送信側加算データ保存部232、無音区間適応促進部24、加算器25を有している。
SW14は、図1において図示は省略しているが、適応モード制御部50の制御に応じて動作するスイッチであって、通常擬似エコー作成部11(積和演算部112)から、加算器15に擬似エコーy'(n)を与えるか否かを選択するものである。また、SW13は、適応モード制御部50の制御に応じて動作するスイッチであって、適応フィルタ係数部111に与えるベクトル係数について、通常フィルタ係数適応部12又は、潜行型適応フィルタ部20(後述する無音区間適応促進部24)のいずれかを選択するものである。
潜行型適応フィルタ部20は、受信側加算データ選択部211、受信側加算データ加工部221、受信側加算データ保存部231、送信側加算データ選択部212、送信側加算データ加工部222、送信側加算データ保存部232、無音区間適応促進部24、加算器25を有している。
図6は、無音区間適応促進部24の内部構成を示したブロック図である。
無音区間適応促進部24は、適応フィルタ係数部241、積和演算部242、保持レジスタ243、潜行型フィルタ係数適応部244を有している。
受信側加算データ選択部211は、タイミング制御部40により制御されたタイミング(KEEP信号が入力されている間)で、遠端入力信号X(n)のデータ(サンプル値)を所定のサンプリング間隔で取得し、受信側加算データ加工部221に与えるものである。送信側加算データ選択部212も同様に、タイミング制御部40により制御されたタイミングで、マイクロホンMICから入力された近端入力信号(エコーY(n))のデータ(値)を、所定のサンプリング間隔で取得し、送信側加算データ加工部222に与えるものである。受信側加算データ選択部211、送信側加算データ選択部212によるデータ選択の詳細については、後述する動作説明で明らかにする。
受信側加算データ加工部221は、受信側加算データ選択部211から与えられたデータに基づいて、後述する遠端入力信号
X(n)を擬似的に表したデータベクトルを生成するものである。送信側加算データ加工部222も同様に、送信側加算データ選択部212から与えられたデータに基づいて後述するデータベクトルを生成し、送信側加算データ保存部232に与えるものである。受信側加算データ加工部221、送信側加算データ加工部222によるデータ加工(データベクトルの生成)の詳細については、後述する動作説明で明らかにする。
また、受信側加算データ加工部221は、後述するデータベクトルを生成が完了すると、適応モード制御部50に対して、無音区間での適応フィルタ更新準備ができたことを知らせる制御信号(以下「steals_adapt_go」と表す)を出力する。
受信側加算データ保存部231は、受信側加算データ加工部221から与えられたデータベクトルのデータを保存し、無音区間適応促進部24(適応フィルタ係数部241)に与えるものである。
送信側加算データ保存部232は、送信側加算データ加工部222から与えられたデータベクトルのデータを保存し、加算器25に与える。
保持レジスタ243は、受信側加算データ保存部231からデータベクトルのデータが与えられると、そのデータを保存し、積和演算部242に与える。
適応フィルタ係数部241は、潜行型フィルタ係数適応部244から、係数ベクトルが与えられると、その係数ベクトルを、積和演算部242及び、適応フィルタ係数部111に与える。
積和演算部242は、適応フィルタ係数部241から与えられた係数ベクトルと、保持レジスタ243から与えられたデータベクトルを積和演算(畳み込み演算ともいう)し、演算結果の値を加算器25に与える。
加算器25は、送信側加算データ保存部232から与えられたデータベクトルから、積和演算部242から与えられた値を減算し、残差を潜行型フィルタ係数適応部244に与えるものである。
潜行型フィルタ係数適応部244は、加算器25から与えられた信号に基づいて、ADFにおける係数ベクトルを計算し、適応フィルタ係数部241に与えるものである。
タイミング制御部40は、音声検出器30から与えられる制御信号(v_flg)に応じて、後述する潜行型適応フィルタ部20(受信側加算データ選択部211、送信側加算データ選択部212)に、遠端入力信号又は近端入力信号を取り込むタイミングを指示する信号(以下「KEEP信号」と表す)を与えるものである。タイミング制御部40では、音声検出器30から与えられる制御信号(v_flg)が、v_flg=0から、v_flg=1に遷移した際に、所定の時間KEEP信号を出力するようにしても良い。
適応モード制御部50は、音声検出器30、タイミング制御部40から与えられる制御信号に応じて、通常適応フィルタ部10及び潜行型適応フィルタ部20を制御するものである。
適応モード制御部50において、音声検出器30から、v_flg=1が与えられると、適応モード制御部50は、SW13を端子b1に接続させるとともに、SW14を端子b2に接続させる。この場合、通常フィルタ係数適応部12において計算された係数ベクトルが、通常擬似エコー作成部11(適応フィルタ係数部111)に与えられ、通常擬似エコー作成部11(積和演算部112)において生成された擬似エコーy'(n)が、加算器15に与えられることになる。
適応モード制御部50において、音声検出器30から、v_flg=0が与えられると、適応モード制御部50は、SW13を端子a1に接続させるとともに、SW14を端子a2に接続させる。この場合、潜行型適応フィルタ部20(無音区間適応促進部24)において計算された係数ベクトルが、通常擬似エコー作成部11(適応フィルタ係数部111)に与えられるが、通常擬似エコー作成部11(積和演算部112)において生成された擬似エコーy'(n)は、加算器15に与えられないことになる。
また、適応モード制御部50は、音声検出器30から与えられる制御信号(v_flg)及び、受信側加算データ加工部221から与えられる制御信号(keep_flag_on_to_off)に応じて、無音区間適応促進部24(潜行型フィルタ係数適応部244)の動作を制御する。適応モード制御部50による、無音区間適応促進部24(潜行型フィルタ係数適応部244)の制御の詳細については後述する動作説明において明らかにする。
(A−2)第1の実施形態の動作
次に、以上のような構成を有するこの実施形態のエコーキャンセラ1の動作を説明する。
(A−2−1)通常適応フィルタ部の動作について。
まず、通常適応フィルタ部10の動作について説明する。
ここでは、初期状態として、SW13は端子b1に接続され、SW14は、端子b2に接続しているものとする。
まず、受信側入力端子Rinから出力された遠端入力信号X(n)は、保持レジスタ113に格納され、データベクトルX(n)として取り扱われる。ここでデータベクトルX(n)は以下の(2)式で表されるものとする。
Figure 0005061853
nはサンプル順、Nはフィルタのタップ数(例えば、1024としても良い)tは行列の転置を表している。すなわち、(2)式は現在の時刻nを開始時点とし、過去のNサンプルまでを保持したデータの集まりが、ベクトルX(n)を構成していることを表している。
一方、適応フィルタ係数部111にはフィルタの係数が格納されており、N個の係数値を持つ。係数の値は後述するように、通常フィルタ係数適応部12で時々刻々と更新される。ここでは、通常フィルタ係数適応部12のN個の係数も以下の(3)式のように1つの係数ベクトルH(n)として扱う。
Figure 0005061853
ここでのNはフィルタのタップ数(例えば、1024としても良い)である。積和演算部112では適応フィルタ係数部111の係数H(n)と保持レジスタ113のX(n)をうけ、以下の(4)式のように、ベクトルの積y'(n)を計算するが、このy'(n)が擬似エコーである。なお、ベクトルの積の結果であるy'(n)は1つの値を持つ、スカラー値である。
Figure 0005061853
上述のように作成された擬似エコーy'(n)はSW14に与えられる。初期状態においてSW14は、上述の通り、適応モード制御部50の制御によって、端子b2に接続されているので、y'(n)は加算器15に与えられる。
加算器15では、上述のように、スピーカSPからマイクロホンMICに漏れこんだ信号すなわちエコー信号Y(n)が入力されており、以下の式(5)のように、スピーカSPからの信号を加算相殺して残差信号e(n)を計算して、送信側出力端子Soutに出力する。
e(n)=y(n)-y'(n) …(5)
送信側出力端子Soutから出力した信号は図示しない遠端への信号として出力される。一方、加算器15の出力である残差信号e(n)は、通常フィルタ係数適応部12に出力され、以下の(6)式のように、例えば、NLMSアルゴリズム(学習同定法と同様)を用いて、あらたな適応フィルタのフィルタ係数値を計算し、更新する。
Figure 0005061853
上記の(6)式は、e(n)、X(n)から、次回の擬似エコー作成に用いる適応フィルタ係数部111の係数ベクトルが作成されることを示している。通常フィルタ係数適応部12で作成された係数ベクトルは、SW14を経由して適応フィルタ係数部111に出力され、次回の擬似エコーの作成に備えられる。上記の(6)式の係数更新が進行し、上記の(5)式の残差信号e(n)は徐々に小さくなり、やがて十分にe(n)が小さくなると、上記の(6)式で係数の変化が起きなくなり、これが「適応フィルタが収束した」状態となる。以上のように、音声検出器30の出力が有音のとき、第1の実施形態のエコーキャンセラは通常適応フィルタ部10が主体となってエコーY(n)の同定と打消しを担う。
(A−2−2)潜行型適応フィルタ部の動作について。
次に、潜行型適応フィルタ部20の動作の詳細について説明する。
まず、前述の説明と同様に、遠端入力信号X(n)が音声検出器30に与えられ、有音状態が検出されると、v_flg=1がタイミング制御部40に入力される。そして、タイミング制御部40は、受信側加算データ選択部211、送信側加算データ選択部212にKEEP信号を出力する。加算データ選択部211,212ではKEEPが与えられる間、入力信号を取り込む。 すなわち受信側加算データ選択部211KEEPが与えられる間、遠端入力信号X(n)を取り込みつつ一旦保存する。送信側加算データ選択部212はKEEPが与えられる間、近端入力信号Y(n)を取り込みつつ一旦保存する。
タイミング制御部40では、一旦v_flg=1が入力されると、その時点からカウントして、あらかじめ定めたサンプル数LENGTHに達するまでは以後の音声信号の有無にかかわらず信号KEEPを出力する。すなわち、一旦v_flg=1が入力されれば、データサンプルLENGTH個の中には音声データサンプルと無音サンプルが混じっていることになる。LENGTHは、例えば38400としても良い。
図2は、受信側加算データ選択部211(送信側加算データ選択部212)の動作を説明したタイミングチャートである。
図2において、図2(A)は音声の有無の区間を模擬的に表したもので、黒い部分が音声のある部分を示しており、音声検出器30がv_flg=1を出力する部分である。
図2(B)は、一旦v_flg=1を受けたタイミング制御部40がLENGTHの期間だけ音声サンプルを切り出す時間切り出し窓を表しており、いったん切り出しを開始すると、切り出し区間中のv_flgの値には関わり無く音声を切り出す様子を示したものである。
図2(C)は、タイミング制御部40の制御によって、音声データブロックが切り出しを受けた結果、作成されるベクトルの様子を示すものであり、図2では、例として、以下の(7)式に示すようなX0〜X5の最大6個のベクトルが作成される様子が示されている。
Figure 0005061853
図2においては、説明を簡易にするために音声がある部分は黒い部分であり、振幅もすべて固定として記載している。また、図2においては、最大6個のベクトルを作成することとして説明するが、ベクトルの個数はこれに限定されないものである。
一方、送信側加算データ選択部212でもデータの切り出しを実施するが、送信側加算データ選択部212のデータ切り出しも、タイミング制御部40のデータ切り出し信号KEEPがあるときだけ端子Sinからの信号Y(n)を切り出し保存する。すなわち、音声データ切り出しのタイミングはあくまでも受信側入力端子Rin側の音声検出器30の音声検出結果v_flgによっている。上述したように、Y(n)はエコー信号であるから、エコー経路を経てきた分遅延(以下、「遅延d」と表す)が時間遅れとして含まれている。
図2(D)は、エコー信号を示しており、図2(A)に示す信号がエコーとなってY(n)としてサンプリングされ、送信側加算データ選択部212のベクトルが作成される様子を示している。データの切り出しタイミングはタイミング制御部40からの信号KEEPによるので、図2(B)の切り出しタイミングと同一であるから、図2においては、図2(D)の信号を、切り出し窓(図2(B)でも図2(E)でも同じ)を用いて、エコー経路を経由してマイクロホンMICに集音された信号を切り出すことに相当し、以下の(8)式のように表される。
Figure 0005061853
受信側加算データ選択部211、送信側加算データ選択部212は上述の様に動作し、以後もデータの選択と蓄積を継続するが、予め定めた本数のベクトルを蓄積すると、今度は古い順にデータを上書きしていく。例えば、ここでは予め6本のベクトルを蓄積するように設定した。この場合ではたとえば、ベクトルX5、Y5が蓄積し終わると、今度は図示しない最初のベクトルデータ格納エリア(メモリ)に戻って、
X0=[X(n0)…X(n0+LENGTH-1)]、
Y0=[y(n0)…(n0+LENGTH-1)]
を、
X6=[X(n6)…X(n6+LENGTH-1)]、
Y6=[y(n6)…(n6+LENGTH-1)]
で上書きしながらデータベクトルを蓄積していく。
受信側加算データ選択部211、送信側加算データ選択部212によって作成された入力ベクトルは、受信側加算データ加工部221、送信側加算データ加工部222に、各々与えられる。また、受信側加算データ選択部211、送信側加算データ選択部212は、1本のデータベクトルが出来上がるたびに加算タイミング信号「keep_flag_on_to_off=1」を、受信側加算データ加工部221、送信側加算データ加工部222に出力し、それ以外のときは何も出力しないようにしても良い。(もしくは、keep_flag_on_to_off=0を出力するようにしても良い。)
受信側加算データ加工部221、送信側加算データ加工部222は、以下のように動作する。すなわち、あらかじめ定めた本数のベクトルを、各々の受信側加算データ選択部211、送信側加算データ選択部212からの加算タイミング信号keep_flag_on_to_off=1に応じて、加算平均する。実際には受信側加算データ選択部211、送信側加算データ選択部212からの加算タイミング信号keep_flag_on_to_offは同じタイミングであるので、たとえば受信側加算データ選択部211からの加算タイミング信号keep_flag_on_to_offを送信側加算データ加工部222に出力するようにしてもよい。
そして、装置が初期状態から動作し始め、ベクトルの蓄積が予め定めた本数FULL_PILEに達していないときは、その時点までに蓄積されている本数pile_cnt分で加算平均をとる。ここでは、FULL_PILE=6とし、ベクトルがX0〜X5(Y0〜Y5)の6本たまった後は、6本の加算平均を計算するが、それ以前では、ベクトルは6本以下しか蓄積されていないので、蓄積されてベクトルとして扱える本数分だけで加算平均を計算する。
送信側加算データ加工部222の動作は、入力されるデータがX(遠端入力信号)かY(エコー)かが異なるだけで、計算処理そのものは同じであるので説明を省略し、ここでは、受信側加算データ加工部221についてのみ説明をする。
まず最初に、受信側加算データ加工部221は1本〜pile_cnt(最大はFULL_PILE個)本のベクトルの加算平均を、最終的には以下の(9)式、(10)式のように求める。(9)式、(10)式にいたるベクトルの蓄積にともなってカウントアップするpile_cntの値を併記しながら説明する。まず、
X0=[X(n0)…X(n0+LENGTH-1)]→pile_cnt=1、
X1=[X(n1)…X(n1+LENGTH-1)]→pile_cnt=2、
X2=[X(n2)…X(n2+LENGTH-1)]→pile_cnt=3、
X3=[X(n3)…X(n3+LENGTH-1)]→pile_cnt=4、
X4=[X(n4)…X(n4+LENGTH-1)]→pile_cnt=5、
X5=[X(n5)…X(n5+LENGTH-1)]→pile_cnt=6 =FULL_PILE
のように、最初にX0のデータが蓄積されるとpile_cntは、1にセットされ、順次ベクトル分のデータが蓄積されていき、それに伴ってpile_cntは1ずつカウントアップされていくが、pile_cnt=6に達すると、pile_cntはそれ以上増加しない。
受信側加算データ加工部221は、受信側加算データ選択部211からのベクトル加算開始信号keep_flag_on_to_off=1を入力されると、それまでに蓄積したデータを開始点を一致させて加算し、新たに、潜行型適応フィルタ部20の入力ベクトルsteals_rin、steals_sinを作成する。
より具体的には、ベクトルsteals_rin=[rin_keep[0]、…rin_keep[LENGTH-1]]を作成する。同様に送信側加算データ選択部212でもベクトルYでsteals_sinを計算し、ベクトルsteals_sin=[sin_keep[0]、…sin_keep[LENGTH-1] ]を作成する。ここで、rin_keep[k]は、以下の(9)式により表される。また、sin_keep[k]は、以下の(10)式により表される。
Figure 0005061853
図3は、受信側加算データ選択部211(送信側加算データ選択部212)における加算平均の計算について示した説明図である。
加算平均の様子は図3のようにデータの頭が揃ったデータが下向き矢印にそって計算される加算平均となる。作成の手順は送信側の送信側加算データ加工部222においても同様である。
図4は受信入カベクトルの加算平均ベクトルsteals_rinが作成される様子を示した図である。
図4(A)は、X(n)の様子を模擬的に示しており、黒い部分が、有音の部分である。図2と同様にX(n)は、図4(B)の時間窓長による一定の切り出し時間だけサンプリングされ集められて、図4(C)のように切り出されたベクトルとして取り扱われるようになる。図4(B)、図4(C)、図4(D)の1ブロック目のようにX(n)が複数個サンプルされ蓄積されてベクトルX0になる。この時点では、加算データ加工部にはまだ入力ベクトルはX0が1本だけしかない。したがって初めて作成される加算平均ベクトルは図4(D)の最初のブロックのようになり、平均をとっても何も変わらない。次にベクトルが蓄積されてベクトルがX0とX1の2本になると加算平均ベクトルsteals_rin=(X0+X1)/2となる。音声部分も両方が半分ずつ反映されたデータになるので左から2番目のブロックのようになる。以後、ベクトルが1本入手できた時点で加算平均ベクトルを計算できるようになるので、図4のt0〜t5の各々の時刻になった時点で新たな加算平均ベクトルを計算できるようになる。また、ここではベクトルの加算平均による処理量の増加を避けるため、時刻tに対して加算平均処理のための時間のマージンδAVをとり、加算平均ベクトルを実際に潜行型適応フィルタ部20で入力として使うまでにマージンδAVの遅延を設けても良い。δAVは、例えば、16kHzサンプリング動作の時、160サンプル(時刻にして10msec)としても良い。
時刻t5以後はベクトルが1本入手できた時点で、直近の過去の複数本(ここでは6本)のベクトルとあわせて新たな加算平均ベクトルを計算する。以後、同様に、あらかじめ設定した最大蓄積ベクトル本数FULL_PILE(例えばここでは、6とする)まで、順次加算個数が増えていき、ベクトルを加算する個数はFULL_PILEで頭打ちになり、以後、最新の直近6個のベクトルを加算平均するようになる。送信側入力ベクトルsteals_sinも入力をY(n)にして同様の手順で作成される。ただし、ベクトルを作成するタイミングはあくまでも受信信号のサンプル切り出し窓をタイミングにして、Y(n)をサンプルする点が受信側のベクトル作成と異なっている。受信側加算データ加工部221で作成された受信信号入力ベクトルsteals_rinは受信側加算データ保存部231に出力されて保存され、送信側加算データ加工部222Cで作成された送信信号入力ベクトルsteals_sinは送信側加算データ保存部232に出力されて保存される。
受信側加算データ加工部221はベクトルの加算平均処理が終了すると、適応モード制御部50に対して、無音区間での適応フィルタ更新準備ができたことを知らせるフラグsteals_adapt_goを1にセット(steals_adapt_go=1)して出力する。適応モード制御部50はsteals_adapt_go=1が入力されると、音声検出器30の出力v_flgの出力と加算データ加工部の出力steals_adapt_goに応じて適応モードの制御をおこなう。
図8は、通常適応フィルタ部10と潜行型適応フィルタ部20の適応動作の関係(組み合わせ)について示した説明図である。
図8に示すように音声検出器30の出力v_flgと受信側加算データ加工部221の出力steals_adapt_goの組み合わせに応じて、適応フィルタ潜行型適応フィルタ部20か通常適応フィルタ部10のどちらかが適応動作する。潜行型適応フィルタ部20か通常適応フィルタ部10の両方が同時に適応動作することはない。潜行型適応フィルタ部20の適応動作の詳細に関しては後述する。また、図8に示す通り、音声がある期間では通常適応フィルタ部10が適応動作し、潜行型適応フィルタ部20は適応動作しない。潜行型適応フィルタ部20が動作するのは、無音状態で、且つ、steals_adapt_go=1が受信側加算データ加工部221から適応モード制御部50に入力されたときだけである。上述したように、steals_adapt_goは加算平均ベクトルの計算が終了した時点で1にセットされて適応モード制御部50に出力される。
図5は、受信側加算データ選択部211(送信側加算データ選択部212)において、受信入カベクトルの加算平均をする際の各フラグの遷移について示した説明図である。
図5(A)〜(C)に関しては図4(A)〜(C)と同様のものであるので説明を省略する。図5(D)は、音声検出器30の音声検出フラグv_flgであって音声検出するとv_flg=1、検出しないとv_flg=0である。図5(E)は、steals_adapt_goをあらわしており、加算平均ベクトルの計算が終了して入力データの準備が完成すると、steals_adapt_go=1、完成していないとsteals_adapt_go=0である。
図5(F)は、通常適応フィルタ部10が適応フィルタとして動作するときはONそうでないときはOFFとなる信号であり、適応モード制御器から通常適応フィルタ部10に出力される適応動作制御信号である。
図5(G)は、潜行型適応フィルタ部20が適応フィルタとして動作するときはONそうでないときはOFFとなる信号であり、適応モード制御器から潜行型適応フィルタ部20に出力される適応動作制御信号である。図5(G)の潜行型適応フィルタ部20のON/OFFは上述したように、v_flg=0かつ、steals_adapt_go=1のときに、潜行型適応フィルタ部20=ONになる。なお、steals_adapt_go=1であっても、v_flg=1の時には潜行型適応フィルタ部20=OFFとなる。これは潜行型適応フィルタ部20が選択的に受信入力信号の無音期間で動作することを意味している。送信側入力ベクトルsteals_sinも同様に作成されるが、作成のタイミングは受信側の音声信号X(n)による音声検出器30のv_flgである。
上述のように加算平均ベクトルが、
steals_rin=[rin_keep[0]、…rin_keep[LENGTH-1]]、
steals_sin=[sin_keep[0]、…sin_keep[LENGTH-1]]のように作成され、受信側加算データ保存部231、送信側加算データ保存部232に与えられる。
受信側加算データ保存部231、送信側加算データ保存部232に保存されたデータを用いて、潜行型適応フィルタ部20では適応更新がされる。
次に、無音区間適応促進部24(図6参照)の動作を説明する。
保持レジスタ243には、受信側加算データ保存部231からベクトルsteals_rinの要素データが、1個ずつ入力されてくる。保持レジスタ243の初期値は、例えば、ここでは0とする。この実施形態では保持レジスタ243は、適応モード制御部50からの信号steals_adapt_goが0から1に遷移するときに一度0にリセットされるようにしたが、これに限定せず、保持レジスタのなかみの古いデータから順に新しいデータを上書きするようにしてもよい。適応フィルタ係数部241の係数の個数は通常適応フィルタ部10の適応フィルタ係数部111の係数の個数と同じであり、ここでは前述のN個として説明する。また適応フィルタ係数部241の係数ベクトルを以下の(11)式のように表す。なお、以下の(11)式においてmはサンプル順である。
Figure 0005061853
ただし、上記の(11)式は、装置の動作開始時に0にリセットされ、その後はリセットされず係数の更新を重ねる。一方で、ベクトルsteals_rin=[rin_keep[0]、…rin_keep[LENGTH-1]]から1個ずつ保持レジスタ243に入力され、ベクトルsteals_rinの要素が順番に格納される別のベクトルになる。すなわち、1サンプルタイミングずつrin_keep[0]から順番にrin_keep[LENGTH-1]に向かって、レジスタに格納され、できあがる新たなべクトルになる。これをSX(m)とすると、以下の(12)式のように書き換えることができる。
Figure 0005061853
例えば、m=0であれば、ベクトルsteals_rinの要素rin_keep[0]が1個だけ保持レジスタ243に入力されるから、以下の(13)式が成立する。
Figure 0005061853
積和演算部242はベクトルSX(m)とベクトルW(m)の積和演算を計算し、潜行型適応フィルタ部20内部の擬似エコー信号Sy'(m)を作成し、加算器25に出力する。Sy’(m)は、以下の(14)式のようになる。
Figure 0005061853
加算器25には受信側加算データ保存部231からベクトルsteals_sinの要素データsin_keep(m)が受信側加算データ保存部231と同じタイミングのmで1サンプルずつ入力され、Sy'(m)と相殺され、残差信号Se(m)が出力される。残差信号Se(m)は、潜行型フィルタ係数適応部244に出力される。潜行型フィルタ係数適応部244では以下の(15)式のようにして係数ベクトルの要素W(m)をW(m+1)として更新する。
Figure 0005061853
更新した係数は、SW13(上述の図1参照)に向かって出力される。SW13は音声検出結果を受けた適応モード制御部50からの出力に応じて既に端子がa1に閉じられている状態である。W(m)は下記の(16)式のように通常適応フィルタ部10の係数H(m)として上書きコピーされる。
Figure 0005061853
そして、次に有音状態が検出され、通常適応フィルタ部10が再び駆動され始めるときのベクトルH(m)の係数初期値として使われる。
(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
エコーキャンセラ1では、遠端入力信号に基づく複数のベクトルXと、エコー信号に基づく複数のベクトルYが、それぞれ受信側加算データ加工部221、送信側加算データ加工部222によって加算平均されるので、様々な音声成分をもつ区間が集まった集合データになるため、周波数的な偏りが解消され、比較的均一な周波数特性を持つ入力信号になり、信号の有色性(周波数の偏在)を解消することができる。これにより、従来の安定アルゴリズムの欠点、すなわち安定なエコーキャンセラルゴリズム(たとえばNLMS)がもつ欠点である「有色信号で収束を進行させると収束が非常に遅くなる」という現象も改善する効果を奏する。
また、エコーキャンセラ1では、遠端入力信号X(n)において有音状態の場合にあるときは、通常適応フィルタ部10を駆動してエコーキャンセラの収束を進めてエコーを減少させ、その際、同時に潜行型適応フィルタ部20において、受信中の入力を一定サンプル数だけタイミングをそろえて保存しておいて、無音状態であってもエコーキャンセラの収束を進めるための準備をする。そして無音状態のときには上述のように予め蓄えた受信入力信号に基づくベクトルデータを各々加算平均して、入力信号とは別のエコーキャンセラ収束用データを作成して、見かけ上無音の区間でも、エコーキャンセラを収束進行させるのである。これにより、従来フィルタの係数更新が不可能であった無音区間を利用して、エコーキャンセラのフィルタ係数を収束させるので、高速アルゴリズムを用いなくてもよいため動作が安定であり、演算処理量も増加することがなく、エコーをすばやく消去できる。
(B)第2の実施形態
以下、本発明によるエコーキャンセラ及びエコーキャンセルプログラムの第2の実施形態を、図面を参照しながら詳述する。
(B−1)第2の実施形態の構成
図7は、第2の実施形態のエコーキャンセラ1Aの機能的構成を示すブロック図であり、上述した図1との同一、対応部分には同一、対応符号を付して示している。
第2の実施形態のエコーキャンセラ1Aは、第1の実施形態のエコーキャンセラ1とほぼ同様の構成を有しているため、詳しい説明を省略し、第1の実施形態との差異についてのみ説明する。第2の実施形態のエコーキャンセラ1Aは、SW16が、通常適応フィルタ部10Aと潜行型適応フィルタ部20Aとの間に設けられ、通常適応フィルタ部10A内部の適応フィルタ係数部111が適応フィルタ係数部111Aに置き換わり、無音区間適応促進部24が、無音区間適応促進部24Aに置き換わっている点で、第1の実施形態と異なっている。
無音区間適応促進部24Aは、上述の図6に示す、第1の実施形態のエコーキャンセラ1における無音区間適応促進部24と、ほぼ同様の構成を有するため、ここでは、詳しい説明を省略し、第1の実施形態と異なる部分についてのみ説明する。第2の実施形態の無音区間適応促進部24Aは、無音区間適応促進部24A内部の適応フィルタ係数部241が、適応フィルタ係数部241Aに置き換わっている点で、第1の実施形態と異なっている。適応フィルタ係数部241Aの詳細については後述する。
図7において図示は省略しているが、適応モード制御部50は、SW16と接続している。SW16は、適応モード制御部50の制御に基づいて、通常適応フィルタ部10A(適応フィルタ係数部111A)と、潜行型適応フィルタ部20A(適応フィルタ係数部241A)とを接続させるか否かをスイッチするものである。
SW16により、適応フィルタ係数部241Aと、適応フィルタ係数部111Aとが接続されると、適応フィルタ係数部111Aに格納された係数ベクトルが、適応フィルタ係数部241Aにコピーされることになる。
(B−2)第2の実施形態の動作
次に、以上のような構成を有するこの実施形態のエコーキャンセラ1Aの動作を説明する。
第2の実施形態が第1の実施形態と異なるのは、SW16の動作と通常適応フィルタ部10A内部の適応フィルタ係数部111A、無音区間適応促進部24A、無音区間適応促進部24A内部の適応フィルタ係数部241Aだけでありここでは第1の実施形態と相違のある部分だけを説明する。より具体的には第2の実施形態が第1の実施形態と異なるのは、適応フィルタ係数部241Aの係数ベクトルと、通常適応フィルタ部10A内部の適応フィルタ係数部111Aの係数ベクトルのコピーの動作が追加されている点である。
第2の実施形態では第1の実施形態と異なり、適応フィルタ係数部111Aの係数ベクトルW(m)は装置の動作開始時にだけは0にリセットされるが、その後は適応モード制御部50からの出力steals_adapt_goが、steals_adapt_go=0からsteals_adapt_go=1に移るたびに、適応モード制御部50が、SW16を制御して閉じ、直前のsteals_adapt_go=0であった時点の通常適応フィルタ部10A内部の適応フィルタ係数部111Aの係数ベクトルH(m)を適応フィルタ係数部111Aの係数ベクトルW(m)の初期値としてコピーしてから、W(m)の更新を開始する点が異なっている。
第1の実施形態では、一方的に適応フィルタ係数部241の係数ベクトルW(m)が通常適応フィルタ部10(適応フィルタ係数部111)にコピーされる。これに対して、第2の実施形態においては、潜行型適応フィルタの係数ベクトルW(m)が通常適応フィルタのフィルタ係数H(m)と、相互に行き来して継続して更新されていく点が異なっている。
(B−2)第2の実施形態の効果
第2の実施形態は、第1の実施形態において、遠方から到来する信号の種別によっては、まれに加算平均処理をほどこしても周波数の偏在が解消できなかったり、収束進行が進まない場合があることを鑑みたものである。たとえばハンズフリー電話に適用するとき、話者の音声でなく、呼び出しトーンなど、呼制御信号の段階からスピーカを鳴動することはよくあることである。このような場合、エコーキャンセラに入力される入力信号は音声信号ではなく、呼び出しトーン信号(RBT)などのトーン信号である。
例えば、非特許文献によれば、呼び出しトーン信号(RBT)は日本国内であれば:周波数400±20Hzを15〜20Hzで変調した、断続比20IPM±20%、メーク率33±10%の信号である。より具体的には、1秒鳴って、2秒休むボリウム変動を伴った400Hzのトーン信号とみなせる。トーン信号はもっとも有色程度の強い有色信号のひとつであり、エコーキャンセラはこのような信号が入力された時、エコー経路の真値をなかなか推定できない。このような場合、第1の実施形態では音声検出器30に検出されるのは通話はじめのうち、すべて400Hzのトーン信号であり、加算平均をどれだけ繰り返しても得られるのは400Hz成分だけを持った信号でしかない。
第1の実施形態では、一方的に潜行型適応フィルタ部20の係数ベクトルが、通常適応フィルタ部10の適応フィルタ係数部111にコピーされるので、このような有色性の極端な呼び出しトーン信号の後に、話者同士が会話を始めて通常適応フィルタ部10が係数ベクトルの更新を始めたとき、せっかく周波数帯域が広くなった信号で通常適応フィルタ部10が係数更新を収束進行させても、潜行型適応フィルタ部20の保持レジスタ243の中身からトーン信号データが無くなりきるまでは、無音区間が到来して潜行型適応フィルタ部20が動作するたびに、トーン信号由来で収束させた潜行型適応フィルタの適応フィルタ係数ベクトルW(m)によって、通常適応フィルタ部10内部の適応フィルタ係数部111の係数ベクトルH(m)を上書きしてしまうので、そのたびにエコー消去性能が劣化してしまう可能性がある。
第2の実施形態ではこの点を、鑑みたものであり、第1の実施形態の効果に加え、以下のような効果を奏することができる。
SW16を設け、適応モード制御部50は出力がsteals_adapt_go=0からsteals_adapt_go=1に移るたびに、適応モード制御部50が、SW16を閉じるようにし、 直前のsteals_adapt_go=0であった時点の通常適応フィルタ部10A内部の適応フィルタ係数部111Aの係数ベクトルH(m)を適応フィルタ係数部111Aの係数ベクトルW(m)を初期値としてコピーしてから、W(m)の更新を開始するようにして、上述のような信号の種別が変わったあとでも、通常適応フィルタ部10Aの係数収束が潜行型適応フィルタ部20Aの係数に反映し、その逆も行われるので、エコーキャンセラ1A全体としてみたとき、エコー経路を推定する適応フィルタの係数は常に、滞りなく最新の入力データによって係数更新がなされたデータが反映され続けるので、たとえエコーキャンセラが呼制御トーンのような特殊な信号から動作開始した場合であってもすばやくエコーを除去することができる。
(C)第3の実施形態
以下、本発明によるエコーキャンセラ及びエコーキャンセルプログラムの第3の実施形態を、図面を参照しながら詳述する。
(C−1)第3の実施形態の構成
この実施形態のエコーキャンセラ1Bは、上述の図1に示す、第1の実施形態のエコーキャンセラ1とほぼ同様の構成を有している。ここでは、この実施形態のエコーキャンセラ1Bについては、詳しい説明を省略し、上述の図1に示す第1の実施形態と異なる部分の構成についてのみ説明する。
第3の実施形態が第1の実施形態と異なるのは、受信側加算データ選択部211が受信側加算データ選択部211Bに送信側加算データ選択部212が送信側加算データ選択部212Bに受信側加算データ加工部221が受信側加算データ加工部221Bに変わったことであり、送信側加算データ加工部222が送信側加算データ加工部222Bに変わったことである。
この実施形態の、受信側加算データ選択部211B(送信側加算データ選択部212B)、受信側加算データ加工部221B(送信側加算データ加工部222B)は、蓄積した複数本のベクトルの単純加算平均を計算するのではなく、第1の実施形態よりも少ない入力ベクトルで、後述する重み付平滑計算を行い、潜行型適応フィルタ部20Bの入力ベクトルを作成する点で第1の実施形態と異なっている。その他に関しては第1の実施形態と同じである。
(C−2)第3の実施形態の動作
次に、以上のような構成を有するこの実施形態のエコーキャンセラ1Bの動作を説明する。
受信側加算データ選択部211B(送信側加算データ選択部212B)では以下のように平均を計算する。
まず、入力された時刻nでのベクトルを、以下の(17)式とする。
Figure 0005061853
一方、第3の実施形態においても第1の実施形態で説明したものと同様に、潜行型適応フィルタ部20Bの入力ベクトルsteals_rin、steals_sinを計算するが、第3の実施形態では、X(n)は下記のような点が異なっている。
受信側加算データ加工部221Bは受信側加算データ選択部211Bから加算タイミング信号keep_flag_on_to_off=1を入力されるたびに下記のような計算を実行する。ここでは、keep_flag_on_to_off=1が順次発生し、入力されるタイミングを(K(0),K(1),K(n)…)とする。K(n)は整数であって、keep_flag_on_to_off=1が発生した順番である。第3の実施形態ではこのタイミングK(n)が重要であるので、これらのタイミング時点でのベクトルX(n)、Y(n)、steals_rin、steals_sinを、を各々X(K(n))、Y(K(n))、steals_rin(K(n))、steals_sin(K(n))と表すものとする。
この場合、タイミングK(0)で、X(K(0))=[X(K(0))、X(K(0)-1)、…X(K(0)-N+1)]が蓄積完了されたとする。例えば、次にベクトルが蓄積完了し、keep_flag_on_to_off=1が発生するのはタイミングK(1)であるからこのときには、X(K(1))=[X(K(1))、X(K(1)-1)、…X(K(1)-N+1)]となる。ここで注意すべき点は、ベクトルX(K(n))は音声検出の有無の結果で蓄積タイミングが決まるので、サンプリング周期のような一定のタイミングと異なり、K(0)やK(1)は一定値ではなく、そのときの音声信号の入力される様子によって異なるタイミングである。
まず始めに受信ベクトルの平均加算の様子を説明する。なお、送信側加算データ加工部222Bの動作も受信側加算データ加工部221Bと同様の計算方法である。
受信側加算データ選択部211Bからkeep_flag_on_to_off=1とベクトルX(K(n))を入力された受信側加算データ加工部221Bは以下の(18)式のように潜行型適応フィルタ部20Bの入力ベクトルsteals_rin[K(n)]を計算する。
Figure 0005061853
δ_LPOは上記の(18)式の重み付平滑計算において、ベクトルX(K(n))がsteals_rin[K(n)]に占める比重をきめる定数であり、0≦δ_LPO≦1.0なる定数である。例えば、δ_LPO=0.5としても良い。
上記の(18)式の通り、δ_LPO=0にすると、潜行型適応フィルタ部20Bの入力ベクトルsteals_rin[K(n)]の成分として巡回的に更新される1本前のベクトルsteals_rin[K(n-1)]だけが反映されることを意味し、δ_LPO=1.0にすると、潜行型適応フィルタ部20Bの入力ベクトルsteals_rin[K(n-1)]として新しいベクトルX(K(n))だけを反映することを意味している。
定数δ_LPOがその間の値0≦δ_LPO≦1.0ならばその中間の重みで過去のベクトルと最新のベクトルとが重み配分されて潜行型適応フィルタ部20Bの入力ベクトルに反映することを意味している。
ここでは新しい入力ベクトルX(K(n))が重く反映されるようにδ_LPO=0.8としても良い。更新された計算結果の潜行型適応フィルタ部20Bの入力ベクトルsteals_rin[K(n)]は第1の実施形態と同様、受信側加算データ保存部231に出力される。
また、送信側加算データ選択部212Bでも同様にデータ選択と、重み付平滑計算がおこなわれる。つまりY(K(n))ベクトルを用い、同様の計算を以下の(19)式のように潜行型適応フィルタ部20Bの入力ベクトルとして計算し、steals_sin[K(n)]は送信側加算データ保存部232に出力される。以後の動作は第1の実施形態と同様である。
Figure 0005061853
(C−3)第3の実施形態の効果
第3の実施形態によれば、以下のような効果を奏することができる。
例えば、従来のDSP(Digital Signal Processor)でエコーキャンセラのような信号処理装置を実現しようとすると、演算規模の中に「メモリ」間におけるデータ転送も制限中に含まれるのが通常である。メモリ間のデータ転送はおもに、データの複写や移動にともなって発生し、DSPの処理量を消費するのだが、数式的なアルゴリズムの表現には現れてこないために演算規模として気がつかないままカウントされず、アルゴリズムを実用化するときに初めてDSPの演算規模が不足していることに気がつくことが多い。例えば、第2の実施形態を実現するためには通常適応フィルタ部10Aの適応フィルタ係数部111Aと、潜行型適応フィルタ部20Aの適応フィルタ係数部の複写がモード変更のたびに発生し、上述のようなデータ複写にともなう、いわば「隠れた処理量消費」のために装置実現が困難になることが考えられる。
第3の実施形態では、このような問題点を鑑みたものであり、簡単な重み定数δ_LPOの加減で過去のベクトルと最新のベクトルが重み配分されて潜行型適応フィルタ部20Bの入力ベクトルに反映され、あたかも、平滑定数の設定次第で、過去のベクトルを巡回的に加算平均し、潜行型適応フィルタ部20の保持レジスタ243の中身から早期にトーン信号が無くなりきる状態に近づける。これにより、第2の実施形態のように、通常適応フィルタ部10A(適応フィルタ係数部111A)から、潜行型適応フィルタ部20A(適応フィルタ係数部241A)に、係数ベクトルを複写しない場合でも、特殊な信号(例えば、上述のトーン信号など)が通話の冒頭にある場合に、入力信号の側で最新データを反映する重み付けを実施しているので、エコーをすばやく除去でき、しかも、第2の実施形態よりも保持するベクトル数が少なくできるので、受信入カベクトルと送信入カベクトルを保持する記憶装置たとえばメモリの規模を小さくでき、装置規模も小さいエコーキャンセラを実現できるのである。
(D)第4の実施形態
以下、本発明によるエコーキャンセラ及びエコーキャンセルプログラムの第4の実施形態を、図面を参照しながら詳述する。
(D−1)第4の実施形態の構成
この実施形態のエコーキャンセラ1Cは、上述の図7に示す、第2の実施形態のエコーキャンセラ1Aとほぼ同様の構成を有している。ここでは、この実施形態のエコーキャンセラ1Cについては、詳しい説明を省略し、上述の図7に示す第2の実施形態と異なる部分の構成についてのみ説明する。
第4の実施形態のエコーキャンセラ1Cが、第2の実施形態のエコーキャンセラBと異なるのは、受信側加算データ選択部211が上述の第3の実施形態における受信側加算データ選択部211Bに、送信側加算データ選択部212が上述の送信側加算データ選択部212Bに、受信側加算データ加工部221が上述の受信側加算データ加工部221Bに、送信側加算データ加工部222が上述の送信側加算データ加工部222Bに置き変わったことである。その他の構成に関しては第2の実施形態と同様である。
(D−2)第4の実施形態の動作
第4の実施形態のエコーキャンセラ1Cにおいて、第2の実施形態のエコーキャンセラ1Aの動作と異なる動作は、受信側加算データ選択部211B、送信側加算データ選択部212B、受信側加算データ加工部221B、送信側加算データ加工部222Bの動作であるが、これらは第3の実施形態と同様であるので説明を省略する。
(D−3)第4の実施形態の効果
第4の実施形態によれば以下のような効果を奏することができる。
第4の実施形態は第2の実施形態のように、エコーキャンセラ全体としての適応フィルタの係数が通常適応フィルタ部10と潜行型適応潜行型適応フィルタ部20で交互にやり取りされながら更新されて、たとえエコーキャンセラが呼制御トーンのような特殊な信号から動作開始した場合であってもすばやくエコーを除去することができる効果に加え、第3の実施形態のように、受信入力ベクトルと送信入カベクトルを保持する記憶装置、たとえばメモリ等の規模を小さくでき、装置規模も小さく、低コストでエコーキャンセラを実現できる。
(F)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(F−1) 上記の各実施形態のエコーキャンセラは、ハンズフリー用の電話端末にエコーキャンセラとして適用しても良いし、これに限らず、その他ハンズフリーに対応したパソコン(ソフトフォン)を用いた会議電話装置などに広く用いることができるのは当然である。
(F−2) 上記の各実施形態において、例えば、遠端入力信号X(n)について有音状態が検出され、かつ、近端側からの入力信号(マイクロホンMICへの入力信号)において、近端側の話者の通話信号があった場合などの、いわゆるダブルトーク状態を検出するダブルトーク手段を、エコーキャンセラに別途設けて、その検出した状態により、エコーキャンセラを制御しても良い。上述のダブルトーク検出手段により、ダブルトーク状態が検出された場合には、例えば、受信側加算データ選択部及び送信側加算データ選択部において、X(n)、Y(n)が、それぞれ無音状態を示すダミーのデータを取得させるようにしても良い。また、例えば、受信側加算データ選択部及び送信側加算データ選択部において、X(n)、Y(n)の取得を停止したり、取得データをクリアするようにしてもよい、すなわちダブルトーク検出手段を用いて、ダブルトーク状態における送信および受信データが受信側加算データ選択部及び送信側加算データ選択部に取得されないようにする事はよりいっそう望ましい。
第1の実施形態に係るエコーキャンセラの全体構成を示すブロック図である。 第1の実施形態に係る、受信側加算データ選択部(送信側加算データ選択部)の動作を説明したタイミングチャートである。 第1の実施形態に係る、受信側加算データ選択部(送信側加算データ選択部)における加算平均の計算について示した説明図である。 第1の実施形態に係る、受信入カベクトルの加算平均ベクトルsteals_rinが作成される様子を示したタイミングチャートである。 第1の実施形態に係る、受信側加算データ選択部(送信側加算データ選択部)において、受信入カベクトルの加算平均をする際の各フラグの遷移について示したタイミングチャートである。 第1の実施形態に係る、無音区間適応促進部の内部構成を示したブロック図である。 第2の実施形態に係るエコーキャンセラの全体構成を示すブロック図である。 通常適応フィルタ部と潜行型適応フィルタ部の適応動作の関係(組み合わせ)について示した説明図である。
符号の説明
1…エコーキャンセラ、10…通常適応フィルタ部、11…通常擬似エコー作成部、111…適応フィルタ係数部、112…積和演算部、113…保持レジスタ、12…通常適用フィルタ係数適応部、13…SW、14…SW、15…加算器、20…潜行型適応フィルタ部、211…受信側加算データ選択部、221…受信側加算データ加工部、231…受信側加算データ保存部、212…送信側加算データ選択部、222…送信側加算データ加工部、232…送信側加算データ保存部、24…無音区間適応促進部、241…適応フィルタ係数部、242…積和演算部、243…保持レジスタ、244…潜行型適応フィルタ係数適応部、25…加算器、30…音声検出器、40…タイミング制御部、50…適応モード制御部。

Claims (7)

  1. 遠端入力信号を利用して擬似エコー信号を形成するフィルタと、上記擬似エコー信号を用いて近端入力信号に含まれるエコー成分を除去するエコー成分除去手段とを備えるエコーキャンセラにおいて、
    遠端入力信号について、有音状態又は無音状態を検出する有音無音検出手段と、
    上記有音無音検出手段により有音状態が検出されている間、近端入力信号に基づいて、上記フィルタに設定するフィルタ係数を求め、求めたフィルタ係数を上記フィルタに設定するフィルタ係数更新設定手段と、
    上記有音無音検出手段により、有音状態が検出された場合に、遠端入力信号及び近端入力信号を取得する信号取得手段と、
    上記信号取得手段が取得した遠端入力信号及び近端入力信号に基づいて、擬似遠端入力信号及び擬似近端入力信号を生成する擬似信号生成手段と、
    上記擬似近端入力信号に含まれるエコー成分を、上記フィルタを用いて除去すると仮定した場合に、上記擬似遠端入力信号及び上記擬似近端入力信号に基づいて、上記フィルタに適用するフィルタ係数を求める潜行型フィルタ係数算出手段と、
    上記有音無音検出手段により、無音状態から有音状態に遷移したことが検出されたとき、上記潜行型フィルタ係数算出手段が算出したフィルタ係数を、上記フィルタ係数更新設定手段が更新するフィルタ係数の初期値として設定するフィルタ係数初期値設定手段と
    を有することを特徴とするエコーキャンセラ。
  2. 上記信号取得手段は、上記有音無音検出手段により、無音状態から有音状態に遷移したことが検出された場合、その遷移を検出してから所定の時間の間、所定の間隔ごとに、遠端入力信号及び近端入力信号を取得することを特徴とする請求項1に記載のエコーキャンセラ。
  3. 上記擬似信号生成手段が最近に生成した擬似遠端入力信号のうち複数の擬似遠端入力信号と、上記擬似信号生成手段が最近に生成した擬似近端入力信号のうち複数の擬似近端入力信号とを蓄積する擬似信号蓄積手段と、
    上記擬似信号蓄積手段が蓄積している複数の擬似遠端入力信号を加算平均して合成擬似遠端入力信号を生成し、上記擬似信号蓄積手段が蓄積している複数の擬似近端入力信号を加算平均して合成擬似近端入力信号を生成する合成擬似信号生成手段とをさらに有し、
    上記潜行型フィルタ係数算出手段は、上記合成擬似近端入力信号に含まれるエコー成分を、上記フィルタを用いて除去すると仮定した場合に、上記合成擬似遠端入力信号及び上記擬似近端入力信号に基づいて、上記フィルタに適用するフィルタ係数を算出する
    ことを特徴とする請求項2に記載のエコーキャンセラ。
  4. 上記潜行型フィルタ係数算出手段は、上記有音無音検出手段により、無音状態が検出されている間のみ上記フィルタに適用するフィルタ係数を算出することを特徴とする請求項1〜3のいずれかに記載のエコーキャンセラ。
  5. 上記潜行型フィルタ係数算出手段が、上記フィルタに適用するフィルタ係数の算出を開始又は再開するときに、上記フィルタ係数更新設定手段が算出したフィルタ係数を、上記潜行型フィルタ係数算出手段がフィルタ係数を算出する初期値に設定する潜行型フィルタ係数初期値設定手段をさらに有することを特徴とする請求項4に記載のエコーキャンセラ。
  6. 上記合成擬似信号生成手段は、複数の擬似遠端入力信号を重み付平滑計算により合成擬似遠端入力信号を生成し、複数の擬似近端入力信号を重み付平滑計算により合成擬似近端入力信号を生成することを特徴とする請求項3〜5のいずれかに記載のエコーキャンセラ。
  7. 遠端入力信号を利用して擬似エコー信号を形成するフィルタと、上記擬似エコー信号を用いて近端入力信号に含まれるエコー成分を除去するエコー成分除去手段とを備えるエコーキャンセラに搭載されたコンピュータを、
    遠端入力信号について、有音状態又は無音状態を検出する有音無音検出手段と、
    上記有音無音検出手段により有音状態が検出されている間、近端入力信号に基づいて、上記フィルタに設定するフィルタ係数を求め、求めたフィルタ係数を上記フィルタに設定するフィルタ係数更新設定手段と、
    上記有音無音検出手段により、有音状態が検出された場合に、遠端入力信号及び近端入力信号を取得する信号取得手段と、
    上記信号取得手段が取得した遠端入力信号及び近端入力信号に基づいて、擬似遠端入力信号及び擬似近端入力信号を生成する擬似信号生成手段と、
    上記擬似近端入力信号に含まれるエコー成分を、上記フィルタを用いて除去すると仮定した場合に、上記擬似遠端入力信号及び上記擬似近端入力信号に基づいて、上記フィルタに適用するフィルタ係数を求める潜行型フィルタ係数算出手段と、
    上記有音無音検出手段により、無音状態から有音状態に遷移したことが検出されたとき、上記潜行型フィルタ係数算出手段が算出したフィルタ係数を、上記フィルタ係数更新設定手段が更新するフィルタ係数の初期値として設定するフィルタ係数初期値設定手段と
    して機能させることを特徴とするエコーキャンセルプログラム。
JP2007288404A 2007-11-06 2007-11-06 エコーキャンセラ及びエコーキャンセルプログラム Expired - Fee Related JP5061853B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007288404A JP5061853B2 (ja) 2007-11-06 2007-11-06 エコーキャンセラ及びエコーキャンセルプログラム
EP08168265A EP2059014B1 (en) 2007-11-06 2008-11-04 Echo canceller and echo cancelling program
US12/289,882 US8073132B2 (en) 2007-11-06 2008-11-06 Echo canceler and echo canceling program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007288404A JP5061853B2 (ja) 2007-11-06 2007-11-06 エコーキャンセラ及びエコーキャンセルプログラム

Publications (2)

Publication Number Publication Date
JP2009118139A JP2009118139A (ja) 2009-05-28
JP5061853B2 true JP5061853B2 (ja) 2012-10-31

Family

ID=40377292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007288404A Expired - Fee Related JP5061853B2 (ja) 2007-11-06 2007-11-06 エコーキャンセラ及びエコーキャンセルプログラム

Country Status (3)

Country Link
US (1) US8073132B2 (ja)
EP (1) EP2059014B1 (ja)
JP (1) JP5061853B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5223576B2 (ja) * 2008-10-02 2013-06-26 沖電気工業株式会社 エコーキャンセラ、エコーキャンセル方法及びプログラム
US20100172232A1 (en) * 2009-01-07 2010-07-08 Mario Traeber Noise compensation in data transmission
JP5321372B2 (ja) * 2009-09-09 2013-10-23 沖電気工業株式会社 エコーキャンセラ
US8634569B2 (en) * 2010-01-08 2014-01-21 Conexant Systems, Inc. Systems and methods for echo cancellation and echo suppression
US9654609B2 (en) 2011-12-16 2017-05-16 Qualcomm Incorporated Optimizing audio processing functions by dynamically compensating for variable distances between speaker(s) and microphone(s) in an accessory device
US9232071B2 (en) * 2011-12-16 2016-01-05 Qualcomm Incorporated Optimizing audio processing functions by dynamically compensating for variable distances between speaker(s) and microphone(s) in a mobile device
GB2515592B (en) * 2013-12-23 2016-11-30 Imagination Tech Ltd Echo path change detector
US10594869B2 (en) * 2017-08-03 2020-03-17 Bose Corporation Mitigating impact of double talk for residual echo suppressors
US10542153B2 (en) 2017-08-03 2020-01-21 Bose Corporation Multi-channel residual echo suppression
US10863269B2 (en) 2017-10-03 2020-12-08 Bose Corporation Spatial double-talk detector
US11394425B2 (en) * 2018-04-19 2022-07-19 Cisco Technology, Inc. Amplifier supporting full duplex (FDX) operations
US10964305B2 (en) 2019-05-20 2021-03-30 Bose Corporation Mitigating impact of double talk for residual echo suppressors

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0821882B2 (ja) * 1987-11-20 1996-03-04 株式会社日立製作所 ハンズフリー電話機
US5307405A (en) * 1992-09-25 1994-04-26 Qualcomm Incorporated Network echo canceller
JP3145269B2 (ja) 1995-02-24 2001-03-12 松下電器産業株式会社 エコーキャンセラ制御方法
JPH08265224A (ja) * 1995-03-22 1996-10-11 Nec Corp エコーキャンセラ
JP2001016142A (ja) * 1999-07-01 2001-01-19 Matsushita Electric Ind Co Ltd エコーキャンセラ方法、装置およびプログラム記録媒体
JP3566158B2 (ja) * 1999-12-07 2004-09-15 三菱電機株式会社 エコーキャンセラ装置
JP3673727B2 (ja) * 2000-11-22 2005-07-20 日本電信電話株式会社 反響消去方法、その装置、そのプログラム及びその記録媒体
JP2007104167A (ja) * 2005-10-03 2007-04-19 Oki Electric Ind Co Ltd 送話状態判定方法
JP5013580B2 (ja) * 2006-02-28 2012-08-29 学校法人千葉工業大学 適応フィルタ装置、エコーキャンセラ、フィルタ係数の更新方法

Also Published As

Publication number Publication date
EP2059014B1 (en) 2012-05-16
US20090074177A1 (en) 2009-03-19
US8073132B2 (en) 2011-12-06
EP2059014A1 (en) 2009-05-13
JP2009118139A (ja) 2009-05-28

Similar Documents

Publication Publication Date Title
JP5061853B2 (ja) エコーキャンセラ及びエコーキャンセルプログラム
JP5223576B2 (ja) エコーキャンセラ、エコーキャンセル方法及びプログラム
US8311234B2 (en) Echo canceller and communication audio processing apparatus
KR101655003B1 (ko) 능동 노이즈 소거 적응형 필터를 위한 사전-성형 직렬 필터
KR101250124B1 (ko) 에코 억제 필터를 위한 제어 정보를 계산하는 장치 및 방법 및 지연 값을 계산하는 장치 및 방법
JP5332733B2 (ja) エコーキャンセラ
US7564964B2 (en) Echo canceller
US8160239B2 (en) Echo canceller and speech processing apparatus
JP5061976B2 (ja) エコーキャンセラ、エコーキャンセル方法及びプログラム
WO1999014868A1 (fr) Procede de suppression d'echo, annuleur d'echo et commutateur vocal
US8867735B2 (en) Echo cancelling device, communication device, and echo cancelling method having the error signal generating circuit
Martin et al. Coupled adaptive filters for acoustic echo control and noise reduction
JP2003324372A (ja) 改善された音響エコーキャンセレーション
JP2005533427A (ja) モデルミスマッチ補償をもつエコーキャンセラ
JP2009017029A (ja) 音声信号処理装置、音声信号処理方法
US8666058B2 (en) Time domain adaptive filter bank for network echo reduction or cancellation
JP2006080660A (ja) エコーキャンセラ付き通信端末及びそのエコーキャンセル方法
JP7043344B2 (ja) エコー抑圧装置、エコー抑圧方法及びエコー抑圧プログラム
JP2005530443A (ja) 非定常エコーキャンセラ
JP4456594B2 (ja) 音響結合量算出装置、音響結合量算出装置を用いたエコー消去装置及びボイススイッチ装置、通話状態判定装置、これらの方法、これらのプログラム及びその記録媒体
Fukui et al. Acoustic echo canceller software for VoIP hands-free application on smartphone and tablet devices
JP4346414B2 (ja) 信号処理装置、コンピュータプログラム
JP2012105115A (ja) エコーキャンセラ及びエコーキャンセルプログラム、並びに電話装置
JP6635211B1 (ja) エコーキャンセラおよびip電話機
JPH11122144A (ja) エコー消去方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120622

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: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120723

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees