(57)【要約】【課題】エコー経路の利得が１倍以上になるときでも、有限語長演算でオーバーフローが生じないようにして所望のエコー抑圧量を得て、受話信号・送話入力信号・送話出力信号の信号劣化を生じないエコーキャンセル回路を提供する。【解決手段】擬似エコー算出手段２ｊで求めた擬似エコー信号を、ボリューム値とモードに応じた利得αで乗算手段２ｋにて増幅し、これをエコー除去手段２ｌにて送話出力信号から減じることでエコー成分を除去するとともに、修正量算出手段２ｄ、係数更新量算出手段２ｆおよび係数更新手段２ｈにより、ノルム算出手段２ｂで求めたノルムの二乗と上記利得αの積の逆数と、上記エコー成分が除去された送話出力信号とに基づいて、係数記憶手段２ｉに格納され、上記擬似エコー信号生成に用いるタップ係数を更新するようにしたものである。【選択図】      図１
2006254084.tif 000002
【特許請求の範囲】
【請求項１】
送話信号からエコー成分を除去するエコーキャンセル回路において、
受話信号とタップ係数を畳込み演算して、擬似エコー信号を生成する擬似エコー生成手段と、
この擬似エコー生成手段が生成した擬似エコー信号を増幅する増幅手段と、
この増幅手段の利得を設定する利得制御手段と、
前記増幅手段によって増幅された擬似エコー信号に基づいて、前記送話信号からエコー成分を除去するエコー除去手段と、
前記受話信号に基づく情報信号を生成する情報生成手段と、
この情報生成手段が生成した情報信号を、前記利得制御手段が前記増幅手段に設定した利得を用いて減衰させる減衰手段と、
この減衰手段によって減衰した情報信号と、前記受話信号と、前記エコー除去手段にてエコー成分が除去された送話信号とに基づいて、前記擬似エコー生成手段が用いるタップ係数を可変するタップ係数変更手段とを具備したことを特徴とするエコーキャンセル回路。
【請求項２】
前記情報生成手段は、前記受話信号に含まれる受話データのノルムの二乗、前記受話信号に含まれる受話データのノルムの二乗和、または前記受話信号に含まれる受話データのノルムの二乗平均のうちのいずれかを求め、これを前記情報信号として出力することを特徴とする請求項１に記載のエコーキャンセル回路。
【請求項３】
送話信号からエコー成分を除去するエコーキャンセル回路において、
受話信号とタップ係数を畳込み演算して、擬似エコー信号を生成する擬似エコー生成手段と、
この擬似エコー生成手段が生成した擬似エコー信号を増幅する増幅手段と、
この増幅手段の利得を設定する利得制御手段と、
前記増幅手段によって増幅された擬似エコー信号に基づいて、前記送話信号からエコー成分を除去するエコー除去手段と、
前記受話信号と前記エコー除去手段にてエコー成分が除去された送話信号とのうち、少なくとも前記エコー除去手段にてエコー成分が除去された送話信号に基づいて、情報信号を生成する情報生成手段と、
この情報生成手段が生成した情報信号を、前記利得制御手段が前記増幅手段に設定した利得を用いて減衰させる減衰手段と、
この減衰手段によって減衰した情報信号と、前記受話信号とに基づいて、前記擬似エコー生成手段が用いるタップ係数を可変するタップ係数変更手段とを具備したことを特徴とするエコーキャンセル回路。
【請求項４】
送話信号からエコー成分を除去するエコーキャンセル回路において、
音声の入出力のモードを設定するモード設定手段と、
受話信号とタップ係数を畳込み演算して、擬似エコー信号を生成する擬似エコー生成手段と、
この擬似エコー生成手段が生成した擬似エコー信号を増幅する増幅手段と、
この増幅手段の利得を設定する利得制御手段と、
前記増幅手段によって増幅された擬似エコー信号に基づいて、前記送話信号からエコー成分を除去するエコー除去手段と、
前記モード設定手段により第１のモードが設定される場合には、前記エコー除去手段にてエコー成分が除去された送話信号とに基づく情報信号を生成し、一方、前記モード設定手段により第２のモードが設定される場合には、前記受話信号と、前記エコー除去手段にてエコー成分が除去された送話信号とに基づく情報信号を生成する情報生成手段と、
この情報生成手段が生成した情報信号を、前記利得制御手段が前記増幅手段に設定した利得を用いて減衰させる減衰手段と、
この減衰手段によって減衰した情報信号と、前記受話信号とに基づいて、前記擬似エコー生成手段が用いるタップ係数を可変するタップ係数変更手段とを具備したことを特徴とするエコーキャンセル回路。
【請求項５】
送話信号からエコー成分を除去するエコーキャンセル回路において、
時間領域の前記送話信号を周波数領域の送話信号に変換する送話変換手段と、
時間領域の受話信号を周波数領域の受話信号に変換する受話変換手段と、
この受話変換手段で変換された周波数領域の受話信号とタップ係数を畳込み演算して、擬似エコー信号を生成する擬似エコー生成手段と、
この擬似エコー生成手段が生成した擬似エコー信号を増幅する増幅手段と、
この増幅手段の利得を設定する利得制御手段と、
前記増幅手段によって増幅された擬似エコー信号に基づいて、前記送話変換手段で変換された周波数領域の送話信号からエコー成分を除去するエコー除去手段と、
前記受話変換手段で変換された周波数領域の受話信号と、前記エコー除去手段にてエコー成分が除去された周波数領域の送話信号とに基づいて、情報信号を生成する情報生成手段と、
この情報生成手段が生成した情報信号を、前記利得制御手段が前記増幅手段に設定した利得を用いて減衰させる減衰手段と、
この減衰手段によって減衰した情報信号に基づいて、前記擬似エコー生成手段が用いるタップ係数を可変するタップ係数変更手段と、
前記エコー除去手段にてエコー成分が除去された周波数領域の送話信号を時間領域の信号に変換する変換手段とを具備したことを特徴とするエコーキャンセル回路。
【請求項６】
前記情報生成手段は、前記受話変換手段で変換された周波数領域の受話信号の共役に、前記エコー除去手段にてエコー成分が除去された周波数領域の送話信号を乗算して、これを前記情報信号として出力することを特徴とする請求項５に記載のエコーキャンセル回路。
【請求項７】
前記減衰手段は、前記情報生成手段が生成した情報信号に、前記利得制御手段が前記増幅手段に設定した利得の逆数を乗算することで、前記情報信号を減衰させることを特徴とする請求項１乃至請求項６のいずれかに記載のエコーキャンセル回路。
【請求項８】
送話信号からエコー成分を除去するエコーキャンセル回路において、
受話信号とタップ係数を畳込み演算して、擬似エコー信号を生成する擬似エコー生成手段と、
この擬似エコー生成手段が生成した擬似エコー信号を増幅する増幅手段と、
この増幅手段の利得を設定する利得制御手段と、
前記増幅手段によって増幅された擬似エコー信号に基づいて、前記送話信号からエコー成分を除去するエコー除去手段と、
このエコー除去手段にてエコー成分が除去された送話信号とステップサイズとのうちの少なくとも一方と、前記受話信号とに基づいて、情報信号を生成する情報生成手段と、
この情報生成手段が生成した情報信号を、前記利得制御手段が前記増幅手段に設定した利得を用いて減衰させる第１減衰手段と、
この第１減衰手段によって減衰した情報信号に基づいて係数更新量を求める係数更新量算出手段と、
この係数更新量算出手段が求めた係数更新量を、前記利得制御手段が前記増幅手段に設定した利得を用いて減衰させる第２減衰手段と、
この第２減衰手段によって減衰した係数更新量に基づいて、前記擬似エコー生成手段が用いるタップ係数を可変するタップ係数変更手段とを具備したことを特徴とするエコーキャンセル回路。
【請求項９】
前記情報生成手段は、前記受話信号に含まれる受話データのノルムの二乗、前記受話信号に含まれる受話データのノルムの二乗和、または前記受話信号に含まれる受話データのノルムの二乗平均のうちのいずれかを求め、これを前記情報信号として出力することを特徴とする請求項８に記載のエコーキャンセル回路。
【請求項１０】
前記第１減衰手段と、前記第２減衰手段の減衰量の総量が、前記利得制御手段が前記増幅手段に設定した利得の逆数に等しくなるように、前記第１減衰手段の減衰量と、前記第２減衰手段の減衰量を設定することを特徴とする請求項８または請求項９に記載のエコーキャンセル回路。
【請求項１１】
送話信号からエコー成分を除去するエコーキャンセル回路において、
受話信号とタップ係数を畳込み演算して、擬似エコー信号を生成する擬似エコー生成手段と、
この擬似エコー生成手段が生成した擬似エコー信号を増幅する増幅手段と、
この増幅手段の利得を設定する利得制御手段と、
前記増幅手段によって増幅された擬似エコー信号に基づいて、前記送話信号からエコー成分を除去するエコー除去手段と、
前記受話信号に含まれる受話データの二乗和を求め、これを情報信号として出力する情報生成手段と、
この情報生成手段が生成した情報信号を、前記利得制御手段が前記増幅手段に設定した利得を用いて減衰させる第１減衰手段と、
前記エコー除去手段にてエコー成分が除去された送話信号とステップサイズとのうちの少なくとも一方と、前記第１減衰手段によって減衰した情報信号とに基づいて、修正量を求める修正量算出手段と、
この修正量算出手段が求めた修正量を、前記利得制御手段が前記増幅手段に設定した利得を用いて減衰させる第２減衰手段と、
前記受話信号に、前記第２減衰手段によって減衰した修正量を乗算して係数更新量を求める係数更新量算出手段と、
この係数更新量算出手段が求めた係数更新量を、前記利得制御手段が前記増幅手段に設定した利得を用いて減衰させる第３減衰手段と、
この第３減衰手段によって減衰した係数更新量に基づいて、前記擬似エコー生成手段が用いるタップ係数を可変するタップ係数変更手段とを具備したことを特徴とするエコーキャンセル回路。
【請求項１２】
前記第１減衰手段の減衰量と、前記第２減衰手段の減衰量と、前記第３減衰手段の減衰量の総量が、前記利得制御手段が前記増幅手段に設定した利得の逆数に等しくなるように、前記第１減衰手段の減衰量と、前記第２減衰手段の減衰量と、前記第３減衰手段の減衰量を設定することを特徴とする請求項１１に記載のエコーキャンセル回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば音声通信装置、特にハンズフリー通話機能を備えた電話機、インターフォン、携帯電話機、ＰＨＳ（Personal Handyphone System）端末、ＴＶ会議システムなどに好適するエコーキャンセル回路に関する。
【背景技術】
【０００２】
周知のように、従来のエコーキャンセル回路は、受話側ユーザボリュームやアナログフロントエンド（Ｄ／Ａ変換、受話アナログゲイン、スピーカ、マイク、送話アナログゲイン、Ａ／Ｄ変換）のレベルダイヤグラムや、音声通信装置の音響結合量によっては、エコー経路の利得（帰還経路の利得、Ｄ／Ａ変換される前の受話信号とＤ／Ａ変換された後のエコー成分のゲイン差）が１倍以上になることがある。
【０００３】
適応フィルタが固定小数点演算型のプロセッサで構成されている場合に、上述したようにエコー経路の利得が１倍以上になると、適応ディジタルフィルタの演算においてオーバーフローを生じ、所望のエコー抑圧量を得られないことがある。これに対して従来は、エコー経路の利得が１倍以上である場合に対応するために、送話入力信号を増幅させて残差信号を減衰させていた（例えば、特許文献１参照）。また、受話参照信号を増幅させるかまたは擬似エコー信号を増幅させていた（例えば、特許文献２参照）。
【０００４】
しかしながら、従来の手法では、減衰された残差信号の精度劣化に伴い適応フィルタの学習精度が劣化しやすく、これによってエコー抑圧性能が影響を受けて送話経路で信号を増減させることもあり、近端話者の信号が劣化しやすいという問題がある。また、受話参照信号を増幅させるかまたは擬似エコー信号を増幅させていたので、受話参照信号がオーバーフローしやすいためエコー抑圧性能が劣化しやすく、または適応ディジタルフィルタのタップ係数でオーバーフローしやすいため受話参照信号による正規化処理を含む適応アルゴリズムが利用できないという問題があった。
【特許文献１】特開２００１−４４８９６号公報
【特許文献２】特開２００２−２９０２８６公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のエコーキャンセル回路では、適応フィルタの学習精度が劣化しやすく、これによってエコー抑圧性能が影響を受けて近端話者の信号が劣化しやすいという問題がある。また、受話参照信号を増幅させるかまたは擬似エコー信号を増幅させていたので、受話参照信号がオーバーフローするかまたは受話参照信号による正規化処理を含む適応アルゴリズムが利用できないという問題があった。
【０００６】
この発明は上記の問題を解決すべくなされたもので、エコー経路の利得が１倍以上になるときでも、有限語長演算（固定小数点演算）を行うエコーキャンセラにおいてオーバーフローを生じないようにし、所望のエコー抑圧量を得て、なおかつ、受話信号・送話入力信号・送話出力信号の信号劣化を生じないエコーキャンセル回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、この発明は、送話信号からエコー成分を除去するエコーキャンセル回路において、受話信号とタップ係数を畳込み演算して、擬似エコー信号を生成する擬似エコー生成手段と、この擬似エコー生成手段が生成した擬似エコー信号を増幅する増幅手段と、この増幅手段の利得を設定する利得制御手段と、増幅手段によって増幅された擬似エコー信号に基づいて、送話信号からエコー成分を除去するエコー除去手段と、受話信号に基づく情報信号を生成する情報生成手段と、この情報生成手段が生成した情報信号を、利得制御手段が増幅手段に設定した利得を用いて減衰させる減衰手段と、この減衰手段によって減衰した情報信号と、受話信号と、エコー除去手段にてエコー成分が除去された送話信号とに基づいて、擬似エコー生成手段が用いるタップ係数を可変するタップ係数変更手段とを具備して構成するようにした。
【発明の効果】
【０００８】
この発明によれば、エコー経路の利得が１倍以上になるときでも、有限語長演算（固定小数点演算）を行うエコーキャンセラにおいてオーバーフローを生じないようにし、所望のエコー抑圧量を得て、なおかつ、受話信号・送話入力信号・送話出力信号の信号劣化を生じないエコーキャンセル回路を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、この発明の実施形態について説明する。図１は、この発明の第１の実施形態に係わるエコーキャンセル回路とその周辺の構成を示すブロック図である。このエコーキャンセル回路は、例えば携帯電話機などの通信機器に実装され、この回路の動作に先立って、上記通信機器により通信リンクが確立し、通信相手と双方向通話が可能な状態となる。
【００１０】
図示しない無線通信部によって受信された受信データは、図示しないデコーダによって、ディジタル信号に復号される。このディジタル信号は、受話信号として受話ディジタルユーザボリューム１に出力される。
【００１１】
ユーザボリューム入力手段１５は、利用者が設定する受話信号の音量をキー入力ないしボリュームつまみ操作などで受け付けるものであり、この受け付けた音量の値を示すボリューム値が制御手段（ＣＯＮＴ）１７によって読み出される。
【００１２】
モード入力手段１６は、例えばスルーモード（エコーキャンセル回路の機能オフ）、ハンドセットモード（ハンドセット用スピーカを用いたハンドセット通話）、ハンズフリーモード（ハンズフリー用スピーカを用いたハンズフリー通話）、イヤホンモード（イヤホンを用いた通話）、外部機器接続モード（外部接続されたスピーカを用いた通話）などの少なくとも２つ以上のモードのうち、利用者が希望するモードをキー入力ないしスイッチつまみ操作などで受け付けるものであり、この受け付けたモードを示すモード識別情報が制御手段１７によって読み出される。
【００１３】
制御手段１７は、ユーザボリューム入力手段１５およびモード入力手段１６から読み出した情報に基づいて、エコーキャンセラ２１を制御すると共に、モード入力手段１６から読み出したモード識別情報に基づいて、受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替え制御を行う。
【００１４】
この受話アナログパス切換手段４に対する切り替え制御では、２チャネルスピーカ６（６ａ、６ｂ）およびこの２チャネルスピーカの受話アナログゲイン５（５ａ、５ｂ）か、あるいはスピーカ８とこのスピーカ８の受話アナログゲイン７のいずれかを選択的に機能させる。
【００１５】
そして送話アナログパス切換手段１３に対する切り替え制御では、マイクロホン９およびこのマイクロホン９の送話アナログゲイン１０か、あるいはマイクロホン１１およびこのマイクロホン１１の送話アナログゲイン１２のいずれかを選択的に機能させる。
【００１６】
なお、２チャネルスピーカ６、受話アナログゲイン５およびマイクロホン９、送話アナログゲイン１０は、外部接続されるカーキットやBluetooth（登録商標）などの無線通信によって外部接続されるヘッドセットなどの機器に搭載されることを想定してもよい。このような機器を用いる場合には外部機器接続モードが設定され、受話アナログパス切換手段４に任意に着脱できる。これに代わって受話アナログパス切換手段４に、イヤホンマイクを接続することも可能である。この場合、上記イヤホンモードが設定される。
【００１７】
また制御手段１７は、ユーザボリューム入力手段１５から読み出したボリューム値および上記モード識別情報、内蔵するテーブルデータに基づいて、ユーザボリューム値を決定し、このユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報をエコーキャンセラ２１に出力する。なおここで、制御手段１７は、上記ボリューム値の代わりに上記ユーザボリューム値をエコーキャンセラ２１に出力してもよい。
【００１８】
図２に、制御手段１７が内蔵するテーブルデータの一例を示す。この例では、モード入力手段１６を通じて選択可能なモードがモード０、モード１、モード２の３モードあり、ユーザボリューム入力手段１５を通じて選択できるボリューム値が１から５の５段階であるときを示すもので、これらに対応づけたユーザボリューム値をｄＢ単位で格納している。なお、格納されている利得は、ｄＢ単位であっても、利得の乗算係数単位であってもよい。
【００１９】
受話ディジタルユーザボリューム１は、制御手段１７によって設定されるユーザボリューム値に基づいて、ディジタル処理により受話信号を増幅する。この増幅された受話信号は、エコーキャンセラ２１とＤ／Ａ変換器（Ｄ／Ａ）３に出力される。このように、受話ディジタルユーザボリューム１を、後述するエコーキャンセラ２１の信号記憶手段２ａより前段に設けることで、エコーキャンセラ２１にとっては、ユーザボリューム変動によるエコーパス変動を回避できる。このため、ダブルトーク検出が困難になったり適応学習が困難になったりすることを避けることができる。
【００２０】
また、アナログフロントエンド（Ｄ／Ａ変換器３、受話アナログゲイン５（５ａ、５ｂ）または７、スピーカ６（６ａ、６ｂ）または８、マイクロホン９または１１、送話アナログゲイン１０または１２、Ａ／Ｄ変換器１４）での非線形歪み等で、信号記憶手段２ａに記憶された受話信号と回り込む送話入力信号との相関が少なくなりエコー抑圧性能が劣化することを避けることができる。
【００２１】
Ｄ／Ａ変換器３は、上記受話信号をアナログ信号に変換する。このアナログ信号は、受話アナログパス切換手段４を通って、受話アナログゲイン５（５ａ、５ｂ）または７で増幅された後、スピーカ６（６ａ、６ｂ）または８より拡声出力される。
【００２２】
このようにして音響空間に出力された信号は、送話音声と音響結合してマイクロホン９または１１で集音され、アナログ信号に変換される。このアナログ信号は、送話アナログゲイン１０または１２で増幅された後、送話アナログパス切換手段１３を通じてＡ／Ｄ変換器１４に入力され、ディジタル信号に変換される。
【００２３】
エコーキャンセラ２１は、上記ディジタル信号からエコー成分を除去するものであって、そのエコー除去後の信号を送話出力信号として、図示しないエンコーダに出力するものであり、受話信号のノルムの二乗を用いる適応アルゴリズム、例えば学習同定法（ＮＬＭＳアルゴリズム）などで動作するものとする。以下、エコーキャンセラ２１の適応アルゴリズムを時間領域型の学習同定法で動作するものとして説明する。
【００２４】
エコーキャンセラ２１は、信号記憶手段（ＸＲＥＧ）２ａ、ノルム算出手段（ＮＯＲＭＸ）２ｂ、乗算手段２ｃ、修正量算出手段（ＫＣＡＬ）２ｄ、係数更新量算出手段（ＣＯＲＲ）２ｆ、係数更新手段（ＨＣＡＬ）２ｈ、係数記憶手段（ＨＲＥＧ）２ｉ、擬似エコー算出手段（ＣＯＮＶ）２ｊ、乗算手段２ｋ、エコー除去手段２ｌ、利得記憶手段（ＧＲＥＧ）２ｍ、乗算制御部（ＧＣＯＮ）２ｎを備える。
【００２５】
なお、エコーキャンセラ２１は、ダブルトークを検出する構成を備えるようにしてもよい。ダブルトークを検出する場合には、ダブルトーク検出手段（ＤＴＤ）２ｏや乗算手段２ｐを備える。以下の説明では、まず、これらの構成を備えない場合について説明し、ダブルトーク検出手段２ｏや乗算手段２ｐを備える場合については後述する。
【００２６】
信号記憶手段２ａは、受話ディジタルユーザボリューム１より出力される受話信号x(n)を一時的に蓄えて遅延させ、ノルム算出手段２ｂ、係数更新量算出手段２ｆおよび擬似エコー算出手段２ｊに出力する。
【００２７】
ノルム算出手段２ｂは、上記信号記憶手段２ａで遅延した受話信号x(n)の各データの二乗和であるノルムの二乗norm(n)を算出し、この算出結果の逆数を乗算手段２ｃに出力する。勿論、受話信号x(n)の各データの二乗平均を出力してもよい。
【数１】
2006254084.tif 000003
【００２８】
乗算手段２ｃは、上記ノルム算出手段２ｂで求めたノルムの二乗norm(n)の逆数に、後述する乗算制御部２ｎから出力された利得αの逆数を乗じ、この結果を修正量算出手段２ｄに出力する。このとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。
【数２】
2006254084.tif 000004
【００２９】
修正量算出手段２ｄは、上記乗算手段２ｃの乗算結果に、後述するエコー除去手段２ｌが出力する送話出力信号e(n-1)とステップサイズμを乗算して修正量k(n)を算出し、これを係数更新量算出手段２ｆに出力する。なお、ステップサイズμは収束係数とも呼ばれる正定数である。学習同定法の場合、０＜μ＜２の範囲であれば可変値でも固定値でもよい。
【数３】
2006254084.tif 000005
【００３０】
係数更新量算出手段２ｆは、上記信号記憶手段２ａで遅延した受話信号x(n)に、上記修正量算出手段２ｄで求めた修正量k(n)を乗算して、係数更新量Δh(n)を算出し、これを係数更新手段２ｈに出力する。
【数４】
2006254084.tif 000006
【００３１】
係数更新手段２ｈは、係数記憶手段２ｉに格納されているタップ係数h(n-1)と、上記係数更新量算出手段２ｆが算出した係数更新量Δh(n)とを加算して、更新したタップ係数h(n)を求め、これを上記タップ係数h(n-1)の代わりに係数記憶手段２ｉに格納（更新）する。
【数５】
2006254084.tif 000007
【００３２】
擬似エコー算出手段２ｊは、上記信号記憶手段２ａで遅延した受話信号x(n)と、係数記憶手段２ｉに格納されているタップ係数h(n)とを畳込み演算して、擬似エコー信号y’(n)を生成し、乗算手段２ｋに出力する。
【数６】
2006254084.tif 000008
【００３３】
利得記憶手段２ｍは、制御手段１７から出力されるボリューム値とモード識別情報に対応する利得のテーブルデータを予め記憶するものである。このテーブルデータに記憶される利得は、エコー経路の利得の変動幅に合わせるように動作開始前に外部から予め設定可能である。
【００３４】
図３に、利得記憶手段２ｍに記憶されるテーブルデータの一例を示す。この例では、前述した制御手段１７に対応し、モード入力手段１６を通じて選択可能なモードがモード０、モード１、モード２の３モードあり、ユーザボリューム入力手段１５を通じて選択できるボリューム値が１から５の５段階であるときを示すもので、これらに対応づけた利得をｄＢ単位で格納している。なお、格納されている利得は、ｄＢ単位であっても、利得の乗算係数単位であってもよい。
【００３５】
乗算制御部２ｎは、利得記憶手段２ｍが記憶する上記テーブルデータから、制御手段１７から出力されるボリューム値とモード識別情報に対応する利得αを選択的に読み込む。そして、乗算制御部２ｎは、その利得αを乗算手段２ｋの乗算係数として設定するとともに、その利得αの逆数を乗算手段２ｃの乗算係数として設定する。
【００３６】
乗算手段２ｋは、擬似エコー算出手段２ｊから与えられた擬似エコー信号y’(n)に、乗算制御部２ｎによって設定された利得αを乗じる。なおこのとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。
【数７】
2006254084.tif 000009
【００３７】
エコー除去手段２ｌは、Ａ／Ｄ変換器１４より出力された送話入力信号y(n)から上記利得αを乗じた擬似エコー信号を減じることでエコー成分を除去し、エコー成分が除去された信号e(n)を送話出力信号として、図示しないエンコーダおよび修正量算出手段２ｄに出力する。
【数８】
2006254084.tif 000010
【００３８】
このようにしてエコーキャンセラ２１から出力された送話出力信号は、図示しないエンコーダによって符号化される。この符号化によって得られたデータは、前述した無線通信部を通じて、送信データとして通信相手に無線送信される。
【００３９】
なお、ここではエコーキャンセラ２１の適応アルゴリズムを時間領域型の学習同定法で動作するものとして説明したが、受話信号のノルムを用いるその他の適応アルゴリズムも同様に動作させることができる。
【００４０】
次に、エコーキャンセラ２１がダブルトーク検出手段２ｏおよび乗算手段２ｐを備えて、ダブルトークの検出を行う場合について説明する。なおここでは、ダブルトーク検出手段２ｏのダブルトーク検出アルゴリズムとして、Ａ／Ｄ変換器１４の出力と上記信号記憶手段２ａで遅延した受話信号を用いる手法を例に挙げて説明する。
【００４１】
乗算手段２ｐは、上記エコー除去手段２ｌより出力された送話出力信号e(n)に、乗算制御部２ｎから与えられる利得αの逆数を乗じ、この結果をダブルトーク検出手段２ｏに出力する。
【００４２】
ダブルトーク検出手段２ｏは、Ａ／Ｄ変換器１４の出力、上記信号記憶手段２ａで遅延した受話信号および乗算手段２ｐの出力に基づいて、ダブルトーク状態か否かを判定する。具体的には、Ａ／Ｄ変換器１４の出力y(n)のパワー特性（パワー値またはピーク値）Py(n)と上記信号記憶手段２ａで遅延した受話信号x(n)のパワー特性（パワー値またはピーク値）Px(n)と乗算手段２ｐの出力のパワー特性（パワー値またはピーク値）Pe(n)とをサンプル単位で算出し、Pe(n)＞λ(n)・Px(n)またはPy(n)＞δ・Px(n)となる場合にダブルトーク状態と判定する。ここで、λ(n)はエコー経路の利得の推定値であり、タップ係数h(n)を適応学習したサンプル数に基づいて算出し、適応学習が進めば小さくなり、適応学習が間違っていれば大きくなる可変量である。また、δは動作開始前に外部から予め設定可能な固定値である。
【００４３】
なお、上記Pe(n)の代わりに、上記エコー除去手段２ｌより出力された送話出力信号e(n)のパワー特性（パワー値またはピーク値）に乗算制御部２ｎから乗算手段２ｃに与えられる利得αの逆数を乗じ、この結果をダブルトーク検出手段２ｏに出力する構成としてもよい。
【００４４】
ダブルトーク検出手段２ｏは、ダブルトーク状態を検出した場合、この旨を修正量算出手段２ｄ、係数更新量算出手段２ｆおよび係数更新手段２ｈに通知する。これに対して修正量算出手段２ｄ、係数更新量算出手段２ｆおよび係数更新手段２ｈは、上記通知を受けると、それぞれ上述した演算は行わない。これにより、ダブルトーク検出時には、係数記憶手段２ｉに格納されるタップ係数が、演算（更新）されることなく維持されることになり、計算量が少なくすることができる。
【００４５】
このような構成によれば、エコー経路の利得が、１倍以上になる時（エコー増幅時）と１倍未満になる時（エコー減衰時）とでダブルトーク検出アルゴリズムを大きく変更することなく、ダブルトーク検出精度が同程度のダブルトーク検出手段を実現することができる。
【００４６】
次に、上記構成のエコーキャンセル回路の動作について説明する。図４は、その動作を説明するフローチャートである。この図に示す処理は、実装される通信機器による発呼または通信相手からの着呼に伴って開始される。
【００４７】
まず、ｓｔｅｐ１０１において制御手段１７は、モード入力手段１６を通じて予め設定されたモード識別情報を読み込み、続いてｓｔｅｐ１０２において、ユーザボリューム入力手段１５を通じて予め設定されたボリューム値を読み込み、ｓｔｅｐ１０３に移行する。
【００４８】
ｓｔｅｐ１０３において制御手段１７は、ｓｔｅｐ１０１で読み込んだモード識別情報およびｓｔｅｐ１０２で読み込んだボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定し、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ１０４に移行する。
【００４９】
これに対してｓｔｅｐ１０４において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。そして、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、上記利得αの逆数を乗算手段２ｃに乗算係数として設定し、ｓｔｅｐ１０５に移行する。
【００５０】
そしてｓｔｅｐ１０５において制御手段１７は、ｓｔｅｐ１０１で読み込んだモード識別情報に基づいて受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替えを行う。その後、上記通信機器により通信相手と通信リンクが確立し、通信相手と双方向通話が可能な状態となると、ｓｔｅｐ１０６に移行する。双方向通話が可能な状態においては、エコーキャンセラ２１は所望の動作を行う。
【００５１】
ｓｔｅｐ１０６において制御手段１７は、モード入力手段１６を通じてモード変更の有無を判定し、ｓｔｅｐ１０７に移行する。ここで、モード変更有りと判定された場合には、ｓｔｅｐ１０９に移行し、一方、モード変更無しと判定された場合には、ｓｔｅｐ１０７に移行する。
【００５２】
ｓｔｅｐ１０７において制御手段１７は、ユーザボリューム入力手段１５を通じてボリューム値の変更の有無を判定する。ここで、ボリューム値変更有りと判定された場合には、ｓｔｅｐ１１２に移行し、一方、ボリューム値変更無しと判定された場合には、ｓｔｅｐ１０８に移行する。
【００５３】
ｓｔｅｐ１０９において制御手段１７は、モード入力手段１６からモード識別情報を読み込むとともに、ユーザボリューム入力手段１５からボリューム値を読み込み、そしてこれら読み込んだモード識別情報およびボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定する。そして制御手段１７は、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ１１０に移行する。
【００５４】
ｓｔｅｐ１１０において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。そして、乗算制御部２ｎは、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、上記利得αの逆数を乗算手段２ｃに乗算係数として設定し、ｓｔｅｐ１１１に移行する。
【００５５】
ｓｔｅｐ１１１において制御手段１７は、ｓｔｅｐ１０９で読み込んだモード識別情報に基づいて受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替えを行い、ｓｔｅｐ１０８に移行する。
【００５６】
一方、ｓｔｅｐ１１２において制御手段１７は、モード入力手段１６からモード識別情報を読み込むとともに、ユーザボリューム入力手段１５からボリューム値を読み込み、そしてこれら読み込んだモード識別情報およびボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定する。そして制御手段１７は、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ１１３に移行する。
【００５７】
ｓｔｅｐ１１３において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。そして、乗算制御部２ｎは、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、上記利得αの逆数を乗算手段２ｃに乗算係数として設定し、ｓｔｅｐ１０８に移行する。
【００５８】
ｓｔｅｐ１０８において制御手段１７は、終話要求が生じたか否かを判定する。ここで、終話要求が生じた場合には、当該処理を終了して、図示しない通信制御手段により通信リンクを切断し、双方向通信を終了する。終話要求が生じない場合には、ｓｔｅｐ１０６に移行する。
【００５９】
以上のように、上記構成のエコーキャンセル回路では、擬似エコー算出手段２ｊで求めた擬似エコー信号を、ボリューム値とモードに応じた利得αで増幅し、これを送話出力信号から減じることでエコー成分を除去するとともに、ノルム算出手段２ｂで求めたノルムの二乗と上記利得αの積の逆数と、上記エコー成分が除去された送話出力信号とに基づいて、上記擬似エコー信号生成に用いるタップ係数の更新を行うようにしている。
【００６０】
すなわち、エコー減衰時に比べてエコー増幅時では上記残留エコー信号が増大することになるが、上記構成のエコーキャンセル回路では、上記乗算手段２ｃを用いることで、修正量算出手段２ｄにおける演算量が、上記ノルムの二乗の次数分の乗算という比較的少ない演算量になり、修正量算出手段２ｄにおける桁落ちを防止できる。
【００６１】
したがって、上記構成のエコーキャンセル回路によれば、エコー減衰時とエコー増幅時で適応アルゴリズムを変更することなく、エコー経路の利得が１倍以上になるとき（エコー増幅時）でも、有限語長演算（固定小数点演算）過程でオーバーフローおよび桁落ちを生じないため所望のエコー抑圧量を得ることができ、受話信号、送話入力信号、残留エコー信号に音声品質劣化が生じることを防ぐことができる。
【００６２】
次に、この発明の第２の実施形態に係わるエコーキャンセル回路について説明する。図５は、上記エコーキャンセル回路とその周辺の構成を示すブロック図である。このエコーキャンセル回路は、例えば携帯電話機などの通信機器に実装され、この回路の動作に先立って、上記通信機器により通信リンクが確立し、通信相手と双方向通話が可能な状態となる。
【００６３】
図示しない無線通信部によって受信された受信データは、図示しないデコーダによって、ディジタル信号に復号される。このディジタル信号は、受話信号として受話ディジタルユーザボリューム１に出力される。
【００６４】
ユーザボリューム入力手段１５は、利用者が設定する受話信号の音量をキー入力ないしボリュームつまみ操作などで受け付けるものであり、この受け付けた音量の値を示すボリューム値が制御手段（ＣＯＮＴ）１７によって読み出される。
【００６５】
モード入力手段１６は、例えばスルーモード（エコーキャンセル回路の機能オフ）、ハンドセットモード（ハンドセット用スピーカを用いたハンドセット通話）、ハンズフリーモード（ハンズフリー用スピーカを用いたハンズフリー通話）、イヤホンモード（イヤホンを用いた通話）、外部機器接続モード（外部接続されたスピーカを用いた通話）などの少なくとも２つ以上のモードのうち、利用者が希望するモードをキー入力ないしスイッチつまみ操作などで受け付けるものであり、この受け付けたモードを示すモード識別情報が制御手段１７によって読み出される。
【００６６】
制御手段１７は、ユーザボリューム入力手段１５およびモード入力手段１６から読み出した情報に基づいて、エコーキャンセラ２２を制御すると共に、モード入力手段１６から読み出したモード識別情報に基づいて、受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替え制御を行う。
【００６７】
この受話アナログパス切換手段４に対する切り替え制御では、２チャネルスピーカ６（６ａ、６ｂ）およびこの２チャネルスピーカの受話アナログゲイン５（５ａ、５ｂ）か、あるいはスピーカ８とこのスピーカ８の受話アナログゲイン７のいずれかを選択的に機能させる。
【００６８】
そして送話アナログパス切換手段１３に対する切り替え制御では、マイクロホン９およびこのマイクロホン９の送話アナログゲイン１０か、あるいはマイクロホン１１およびこのマイクロホン１１の送話アナログゲイン１２のいずれかを選択的に機能させる。
【００６９】
なお、２チャネルスピーカ６、受話アナログゲイン５およびマイクロホン９、送話アナログゲイン１０は、外部接続されるカーキットやBluetoothなどの無線通信によって外部接続されるヘッドセットなどの機器に搭載されることを想定してもよい。このような機器を用いる場合には外部機器接続モードが設定され、受話アナログパス切換手段４に任意に着脱できる。これに代わって受話アナログパス切換手段４に、イヤホンマイクを接続することも可能である。この場合、上記イヤホンモードが設定される。
【００７０】
また制御手段１７は、ユーザボリューム入力手段１５から読み出したボリューム値および上記モード識別情報、内蔵するテーブルデータに基づいて、ユーザボリューム値を決定し、このユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報をエコーキャンセラ２２に出力する。なおここで、制御手段１７は、上記ボリューム値の代わりに上記ユーザボリューム値をエコーキャンセラ２２に出力してもよい。
【００７１】
図２に、制御手段１７が内蔵するテーブルデータの一例を示す。この例では、モード入力手段１６を通じて選択可能なモードがモード０、モード１、モード２の３モードあり、ユーザボリューム入力手段１５を通じて選択できるボリューム値が１から５の５段階であるときを示すもので、これらに対応づけたユーザボリューム値をｄＢ単位で格納している。なお、格納されている利得は、ｄＢ単位であっても、利得の乗算係数単位であってもよい。
【００７２】
受話ディジタルユーザボリューム１は、制御手段１７によって設定されるユーザボリューム値に基づいて、ディジタル処理により受話信号を増幅する。この増幅された受話信号は、エコーキャンセラ２２とＤ／Ａ変換器（Ｄ／Ａ）３に出力される。このように、受話ディジタルユーザボリューム１を、後述するエコーキャンセラ２２の信号記憶手段２ａより前段に設けることで、エコーキャンセラ２２にとっては、ユーザボリューム変動によるエコーパス変動を回避できる。このため、ダブルトーク検出が困難になったり適応学習が困難になったりすることを避けることができる。
【００７３】
また、アナログフロントエンド（Ｄ／Ａ変換器３、受話アナログゲイン５（５ａ、５ｂ）または７、スピーカ６（６ａ、６ｂ）または８、マイクロホン９または１１、送話アナログゲイン１０または１２、Ａ／Ｄ変換器１４）での非線形歪み等で、信号記憶手段２ａに記憶された受話信号と回り込む送話入力信号との相関が少なくなりエコー抑圧性能が劣化することを避けることができる。
【００７４】
Ｄ／Ａ変換器３は、上記受話信号をアナログ信号に変換する。このアナログ信号は、受話アナログパス切換手段４を通って、受話アナログゲイン５（５ａ、５ｂ）または７で増幅された後、スピーカ６（６ａ、６ｂ）または８より拡声出力される。
【００７５】
このようにして音響空間に出力された信号は、送話音声と音響結合してマイクロホン９または１１で集音され、アナログ信号に変換される。このアナログ信号は、送話アナログゲイン１０または１２で増幅された後、送話アナログパス切換手段１３を通じてＡ／Ｄ変換器１４に入力され、ディジタル信号に変換される。
【００７６】
エコーキャンセラ２２は、上記ディジタル信号からエコー成分を除去するものであって、そのエコー除去後の信号を送話出力信号として、図示しないエンコーダに出力するものであり、受話信号に基づいて係数更新量を算出する適応アルゴリズム、例えばＬＭＳアルゴリズム、学習同定法、ＮＬＭＳアルゴリズム、アフィン射影アルゴリズムなどで動作するものとする。
【００７７】
以下の説明でエコーキャンセラ２２は、モード１とモード２の２つのモードを選択できるものとし、モード１が選択される時は時間領域型のＬＭＳアルゴリズムで動作し、モード２が選択される時は時間領域型の２次のアフィン射影アルゴリズムで動作するものとする。
【００７８】
このように、エコー抑圧量が小さくてもエコー感が気になりにくく利用頻度が高いようなモードでは、計算量の少ない適応アルゴリズムを用い、エコー感が気になるためにエコー抑圧量を大きくしなければならないが利用頻度が少ないようなモードでは、計算量の多い適応アルゴリズムを用いることで、通信機器全体としての計算量の期待値は削減され、携帯電話機のような通信機器では待ち受け時間を長くすることができる。また、ここでは選択されたモードによって適応アルゴリズムが変化する例であるが、ボリューム値やエコーキャンセラの適応状態やその他のエコーキャンセラの状態によって適応アルゴリズムが変化する場合でも、ほぼ同様に動作する。
【００７９】
エコーキャンセラ２２は、信号記憶手段（ＸＲＥＧ）２ａ、修正量算出手段（ＫＣＡＬ）２ｄ、乗算手段２ｅ、係数更新量算出手段（ＣＯＲＲ）２ｆ、係数更新手段（ＨＣＡＬ）２ｈ、係数記憶手段（ＨＲＥＧ）２ｉ、擬似エコー算出手段（ＣＯＮＶ）２ｊ、乗算手段２ｋ、エコー除去手段２ｌ、利得記憶手段（ＧＲＥＧ）２ｍ、乗算制御部（ＧＣＯＮ）２ｎを備える。
【００８０】
なお、エコーキャンセラ２２は、ダブルトークを検出する構成を備えるようにしてもよい。ダブルトークを検出する場合には、ダブルトーク検出手段（ＤＴＤ）２ｏや乗算手段２ｐを備える。以下の説明では、まず、これらの構成を備えない場合について説明し、ダブルトーク検出手段２ｏや乗算手段２ｐを備える場合については後述する。
【００８１】
信号記憶手段２ａは、受話ディジタルユーザボリューム１より出力される受話信号x(n)を一時的に蓄えて遅延させ、係数更新量算出手段２ｆおよび擬似エコー算出手段２ｊに出力する。
【００８２】
修正量算出手段２ｄは、上記信号記憶手段２ａで遅延した受話信号x(n)と、後述するエコー除去手段２ｌが出力する送話出力信号e(n-1)と、ステップサイズμとに基づき、モード１の場合は下式（１）にしたがい、またはモード２の場合は下式（２）にしたがって修正量k(n)を算出し、これを乗算手段２ｅに出力する。
【数９】
2006254084.tif 000011
【００８３】
乗算手段２ｅは、上記修正量算出手段２ｄで求めた修正量k(n)に、後述する乗算制御部２ｎから出力された利得αの逆数を乗じ、この結果を係数更新量算出手段２ｆに出力する。このとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。なお、モード１の場合は下式（３）にしたがい、またはモード２の場合は下式（４）にしたがう。
【数１０】
2006254084.tif 000012
【００８４】
係数更新量算出手段２ｆは、上記信号記憶手段２ａで遅延した受話信号x(n)に上記乗算手段２ｅの乗算結果を乗算して、係数更新量Δh(n)を算出し、これを係数更新手段２ｈに出力する。なお、モード１の場合は下式（５）にしたがい、またはモード２の場合は下式（６）にしたがう。
【数１１】
2006254084.tif 000013
【００８５】
係数更新手段２ｈは、係数記憶手段２ｉに格納されているタップ係数h(n-1)と、上記係数更新量算出手段２ｆが算出した係数更新量Δh(n)とを加算して、更新したタップ係数h(n)を求め、これを上記タップ係数h(n-1)の代わりに係数記憶手段２ｉに格納（更新）する。
【数１２】
2006254084.tif 000014
【００８６】
擬似エコー算出手段２ｊは、上記信号記憶手段２ａで遅延した受話信号x(n)と、係数記憶手段２ｉに格納されているタップ係数h(n)とを畳込み演算して、擬似エコー信号y’(n)を生成し、乗算手段２ｋに出力する。
【数１３】
2006254084.tif 000015
【００８７】
利得記憶手段２ｍは、制御手段１７から出力されるボリューム値とモード識別情報に対応する利得のテーブルデータを予め記憶するものである。このテーブルデータに記憶される利得は、エコー経路の利得変動幅に合わせるように動作開始前に外部から予め設定可能である。
【００８８】
図３に、利得記憶手段２ｍに記憶されるテーブルデータの一例を示す。この例では、前述した制御手段１７に対応し、モード入力手段１６を通じて選択可能なモードがモード０、モード１、モード２の３モードあり、ユーザボリューム入力手段１５を通じて選択できるボリューム値が１から５の５段階であるときを示すもので、これらに対応づけた利得をｄＢ単位で格納している。なお、格納されている利得は、ｄＢ単位であっても、利得の乗算係数単位であってもよい。
【００８９】
乗算制御部２ｎは、利得記憶手段２ｍが記憶する上記テーブルデータから、制御手段１７から出力されるボリューム値とモード識別情報に対応する利得αを選択的に読み込む。そして、乗算制御部２ｎは、その利得αを乗算手段２ｋの乗算係数として設定するとともに、その利得αの逆数を乗算手段２ｅの乗算係数として設定する。
【００９０】
乗算手段２ｋは、擬似エコー算出手段２ｊから与えられた擬似エコー信号y’(n)に、乗算制御部２ｎによって設定された利得αを乗じる。なおこのとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。
【数１４】
2006254084.tif 000016
【００９１】
エコー除去手段２ｌは、Ａ／Ｄ変換器１４より出力された送話入力信号y(n)から上記利得αを乗じた擬似エコー信号を減じることでエコー成分を除去し、エコー成分が除去された信号e(n)を送話出力信号として、図示しないエンコーダおよび修正量算出手段２ｄに出力する。
【数１５】
2006254084.tif 000017
【００９２】
このようにしてエコーキャンセラ２２から出力された送話出力信号は、図示しないエンコーダによって符号化される。この符号化によって得られたデータは、前述した無線通信部を通じて、送信データとして通信相手に無線送信される。
【００９３】
なお、ここではエコーキャンセラ２２の適応アルゴリズムを、モード１が選択される時は時間領域型のＬＭＳアルゴリズムで動作し、モード２が選択される時は時間領域型の２次のアフィン射影アルゴリズムで動作するものとして説明したが、受話信号に基づいて係数更新量を算出するその他の適応アルゴリズムも同様に動作させることも可能である。
【００９４】
次に、エコーキャンセラ２２がダブルトーク検出手段２ｏおよび乗算手段２ｐを備えて、ダブルトークの検出を行う場合について説明する。なおここでは、ダブルトーク検出手段２ｏのダブルトーク検出アルゴリズムとして、Ａ／Ｄ変換器１４の出力と上記信号記憶手段２ａで遅延した受話信号を用いる手法を例に挙げて説明する。
【００９５】
乗算手段２ｐは、上記エコー除去手段２ｌより出力された送話出力信号e(n)に、乗算制御部２ｎから乗算手段２ｅに与えられる利得αの逆数を乗じ、この結果をダブルトーク検出手段２ｏに出力する。
【００９６】
ダブルトーク検出手段２ｏは、Ａ／Ｄ変換器１４の出力、上記信号記憶手段２ａで遅延した受話信号および乗算手段２ｐの出力に基づいて、ダブルトーク状態か否かを判定する。具体的には、Ａ／Ｄ変換器１４の出力y(n)のパワー特性（パワー値またはピーク値）Py(n)と上記信号記憶手段２ａで遅延した受話信号x(n)のパワー特性（パワー値またはピーク値）Px(n)と乗算手段２ｐの出力のパワー特性（パワー値またはピーク値）Pe(n)とをサンプル単位で算出し、Pe(n)＞λ(n)・Px(n)またはPy(n)＞δ・Px(n)となる場合にダブルトーク状態と判定する。ここで、λ(n)はエコー経路の利得の推定値であり、タップ係数h(n)を適応学習したサンプル数に基づいて算出し、適応学習が進めば小さくなり、適応学習が間違っていれば大きくなる可変量である。また、δは動作開始前に外部から予め設定可能な固定値である。
【００９７】
なお、上記Pe(n)の代わりに、上記エコー除去手段２ｌより出力された送話出力信号e(n)のパワー特性（パワー値またはピーク値）に乗算制御部２ｎから乗算手段２ｃに与えられる利得αの逆数を乗じ、この結果をダブルトーク検出手段２ｏに出力する構成としてもよい。
【００９８】
ダブルトーク検出手段２ｏは、ダブルトーク状態を検出した場合、この旨を修正量算出手段２ｄ、係数更新量算出手段２ｆおよび係数更新手段２ｈに通知する。これに対して修正量算出手段２ｄ、係数更新量算出手段２ｆおよび係数更新手段２ｈは、上記通知を受けると、それぞれ上述した演算は行わない。これにより、ダブルトーク検出時には、係数記憶手段２ｉに格納されるタップ係数が、演算（更新）されることなく維持されることになり、計算量が少なくすることができる。
【００９９】
このような構成によれば、エコー経路の利得が、１倍以上になる時（エコー増幅時）と１倍未満になる時（エコー減衰時）とでダブルトーク検出アルゴリズムを大きく変更することなく、ダブルトーク検出精度が同程度のダブルトーク検出手段を実現することができる。
【０１００】
次に、上記構成のエコーキャンセル回路の動作について説明する。図６は、その動作を説明するフローチャートである。この図に示す処理は、実装される通信機器による発呼または通信相手からの着呼に伴って開始される。
【０１０１】
まず、ｓｔｅｐ２０１において制御手段１７は、モード入力手段１６を通じて予め設定されたモード識別情報を読み込み、続いてｓｔｅｐ２０２において、ユーザボリューム入力手段１５を通じて予め設定されたボリューム値を読み込み、ｓｔｅｐ２０３に移行する。
【０１０２】
ｓｔｅｐ２０３において制御手段１７は、ｓｔｅｐ２０１で読み込んだモード識別情報およびｓｔｅｐ２０２で読み込んだボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定し、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ２０４に移行する。
【０１０３】
これに対してｓｔｅｐ２０４において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。そして、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、上記利得αの逆数を乗算手段２ｅに乗算係数として設定し、ｓｔｅｐ２０５に移行する。
【０１０４】
そしてｓｔｅｐ２０５において制御手段１７は、ｓｔｅｐ２０１で読み込んだモード識別情報に基づいて受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替えを行う。その後、上記通信機器により通信相手と通信リンクが確立し、通信相手と双方向通話が可能な状態となると、ｓｔｅｐ２０６に移行する。双方向通話が可能な状態においては、エコーキャンセラ２２は所望の動作を行う。
【０１０５】
ｓｔｅｐ２０６において制御手段１７は、モード入力手段１６を通じてモード変更の有無を判定し、ｓｔｅｐ２０７に移行する。ここで、モード変更有りと判定された場合には、ｓｔｅｐ２０９に移行し、一方、モード変更無しと判定された場合には、ｓｔｅｐ２０７に移行する。
【０１０６】
ｓｔｅｐ２０７において制御手段１７は、ユーザボリューム入力手段１５を通じてボリューム値の変更の有無を判定する。ここで、ボリューム値変更有りと判定された場合には、ｓｔｅｐ２１３に移行し、一方、ボリューム値変更無しと判定された場合には、ｓｔｅｐ２０８に移行する。
【０１０７】
ｓｔｅｐ２０９において制御手段１７は、モード入力手段１６からモード識別情報を読み込むとともに、ユーザボリューム入力手段１５からボリューム値を読み込み、そしてこれら読み込んだモード識別情報およびボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定する。そして制御手段１７は、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ２１０に移行する。
【０１０８】
ｓｔｅｐ２１０において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。そして、乗算制御部２ｎは、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、上記利得αの逆数を乗算手段２ｅに乗算係数として設定し、ｓｔｅｐ２１１に移行する。
【０１０９】
ｓｔｅｐ２１１において制御手段１７は、ｓｔｅｐ２０９で読み込んだモード識別情報に基づいて適応アルゴリズムを切り替えを行い、ｓｔｅｐ２１２に移行する。なお、モード１が選択される時は時間領域型のＬＭＳアルゴリズムで動作し、モード２が選択される時は時間領域型の２次のアフィン射影アルゴリズムで動作するように適応アルゴリズムを変更する。
【０１１０】
ｓｔｅｐ２１２において制御手段１７は、ｓｔｅｐ２０９で読み込んだモード識別情報に基づいて受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替えを行い、ｓｔｅｐ２０８に移行する。
【０１１１】
一方、ｓｔｅｐ２１３において制御手段１７は、モード入力手段１６からモード識別情報を読み込むとともに、ユーザボリューム入力手段１５からボリューム値を読み込み、そしてこれら読み込んだモード識別情報およびボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定する。そして制御手段１７は、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ２１４に移行する。
【０１１２】
ｓｔｅｐ２１４において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。そして、乗算制御部２ｎは、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、上記利得αの逆数を乗算手段２ｅに乗算係数として設定し、ｓｔｅｐ２０８に移行する。
【０１１３】
ｓｔｅｐ２０８において制御手段１７は、終話要求が生じたか否かを判定する。ここで、終話要求が生じた場合には、当該処理を終了して、図示しない通信制御手段により通信リンクを切断し、双方向通信を終了する。終話要求が生じない場合には、ｓｔｅｐ２０６に移行する。
【０１１４】
以上のように、上記構成のエコーキャンセル回路では、擬似エコー算出手段２ｊで求めた擬似エコー信号を、ボリューム値とモードに応じた利得αで増幅し、これを送話出力信号から減じることでエコー成分を除去するとともに、修正量算出手段２ｄで求めた修正量k(n)に上記利得αの逆数を乗じた積と、上記エコー成分が除去された送話出力信号とに基づいて、上記擬似エコー信号生成に用いるタップ係数の更新を行うようにしている。
【０１１５】
すなわち、エコー減衰時に比べてエコー増幅時では上記残留エコー信号が増大することになるが、上記構成のエコーキャンセル回路では、上記乗算手段２ｅを用いることで、係数更新量算出手段２ｆにおける演算量が、上記修正量k(n)の次数分の乗算という比較的少ない演算量になり、係数更新量算出手段２ｆにおける桁落ちを防止できる。
【０１１６】
したがって、上記構成のエコーキャンセル回路によれば、エコー減衰時とエコー増幅時で適応アルゴリズムを変更することなく、エコー経路の利得が１倍以上になるとき（エコー増幅時）でも、有限語長演算（固定小数点演算）過程でオーバーフローおよび桁落ちを生じないため所望のエコー抑圧量を得ることができ、受話信号、送話入力信号、残留エコー信号に音声品質劣化が生じることを防ぐことができる。
【０１１７】
また、上記構成のエコーキャンセル回路では、受話信号に基づいて係数更新量を算出する適応アルゴリズム、例えばＬＭＳ（Least-Mean-Square）アルゴリズム、ＮＬＭＳ（Normalized-Least-Mean-Square）アルゴリズム、学習同定法、アフィン射影（ＡＰ:Affine-Projection）アルゴリズム、逐次最小二乗（ＲＬＳ：Recursive-Least-Squares）アルゴリズムなどを時間領域処理・サブバンド処理・周波数領域処理で用いる場合において、上記エコーキャンセラの状態に応じて他の上記受話信号に基づいて上記係数更新量を算出する適応アルゴリズムを用いる動作に変化するときにでも、構成を変更することなく、上記修正量の次数分の乗算という比較的少ない演算量で、エコー増幅時に対応することができる。
【０１１８】
次に、この発明の第３の実施形態に係わるエコーキャンセル回路について説明する。図７は、上記エコーキャンセル回路とその周辺の構成を示すブロック図である。このエコーキャンセル回路は、例えば携帯電話機などの通信機器に実装され、この回路の動作に先立って、上記通信機器により通信リンクが確立し、通信相手と双方向通話が可能な状態となる。
【０１１９】
図示しない無線通信部によって受信された受信データは、図示しないデコーダによって、ディジタル信号に復号される。このディジタル信号は、受話信号として受話ディジタルユーザボリューム１に出力される。
【０１２０】
ユーザボリューム入力手段１５は、利用者が設定する受話信号の音量をキー入力ないしボリュームつまみ操作などで受け付けるものであり、この受け付けた音量の値を示すボリューム値が制御手段（ＣＯＮＴ）１７によって読み出される。
【０１２１】
モード入力手段１６は、例えばスルーモード（エコーキャンセル回路の機能オフ）、ハンドセットモード（ハンドセット用スピーカを用いたハンドセット通話）、ハンズフリーモード（ハンズフリー用スピーカを用いたハンズフリー通話）、イヤホンモード（イヤホンを用いた通話）、外部機器接続モード（外部接続されたスピーカを用いた通話）などの少なくとも２つ以上のモードのうち、利用者が希望するモードをキー入力ないしスイッチつまみ操作などで受け付けるものであり、この受け付けたモードを示すモード識別情報が制御手段１７によって読み出される。
【０１２２】
制御手段１７は、ユーザボリューム入力手段１５およびモード入力手段１６から読み出した情報に基づいて、エコーキャンセラ２３を制御すると共に、モード入力手段１６から読み出したモード識別情報に基づいて、受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替え制御を行う。
【０１２３】
この受話アナログパス切換手段４に対する切り替え制御では、２チャネルスピーカ６（６ａ、６ｂ）およびこの２チャネルスピーカの受話アナログゲイン５（５ａ、５ｂ）か、あるいはスピーカ８とこのスピーカ８の受話アナログゲイン７のいずれかを選択的に機能させる。
【０１２４】
そして送話アナログパス切換手段１３に対する切り替え制御では、マイクロホン９およびこのマイクロホン９の送話アナログゲイン１０か、あるいはマイクロホン１１およびこのマイクロホン１１の送話アナログゲイン１２のいずれかを選択的に機能させる。
【０１２５】
なお、２チャネルスピーカ６、受話アナログゲイン５およびマイクロホン９、送話アナログゲイン１０は、外部接続されるカーキットやBluetoothなどの無線通信によって外部接続されるヘッドセットなどの機器に搭載されることを想定してもよい。このような機器を用いる場合には外部機器接続モードが設定され、受話アナログパス切換手段４に任意に着脱できる。これに代わって受話アナログパス切換手段４に、イヤホンマイクを接続することも可能である。この場合、上記イヤホンモードが設定される。
【０１２６】
また制御手段１７は、ユーザボリューム入力手段１５から読み出したボリューム値および上記モード識別情報、内蔵するテーブルデータに基づいて、ユーザボリューム値を決定し、このユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報をエコーキャンセラ２３に出力する。なおここで、制御手段１７は、上記ボリューム値の代わりに上記ユーザボリューム値をエコーキャンセラ２３に出力してもよい。
【０１２７】
図２に、制御手段１７が内蔵するテーブルデータの一例を示す。この例では、モード入力手段１６を通じて選択可能なモードがモード０、モード１、モード２の３モードあり、ユーザボリューム入力手段１５を通じて選択できるボリューム値が１から５の５段階であるときを示すもので、これらに対応づけたユーザボリューム値をｄＢ単位で格納している。なお、格納されている利得は、ｄＢ単位であっても、利得の乗算係数単位であってもよい。
【０１２８】
受話ディジタルユーザボリューム１は、制御手段１７によって設定されるユーザボリューム値に基づいて、ディジタル処理により受話信号を増幅する。この増幅された受話信号は、エコーキャンセラ２３とＤ／Ａ変換器（Ｄ／Ａ）３に出力される。このように、受話ディジタルユーザボリューム１を、後述するエコーキャンセラ２３の信号記憶手段２ａより前段に設けることで、エコーキャンセラ２３にとっては、ユーザボリューム変動によるエコーパス変動を回避できる。このため、ダブルトーク検出が困難になったり適応学習が困難になったりすることを避けることができる。
【０１２９】
また、アナログフロントエンド（Ｄ／Ａ変換器３、受話アナログゲイン５（５ａ、５ｂ）または７、スピーカ６（６ａ、６ｂ）または８、マイクロホン９または１１、送話アナログゲイン１０または１２、Ａ／Ｄ変換器１４）での非線形歪み等で、信号記憶手段２ａに記憶された受話信号と回り込む送話入力信号との相関が少なくなりエコー抑圧性能が劣化することを避けることができる。
【０１３０】
Ｄ／Ａ変換器３は、上記受話信号をアナログ信号に変換する。このアナログ信号は、受話アナログパス切換手段４を通って、受話アナログゲイン５（５ａ、５ｂ）または７で増幅された後、スピーカ６（６ａ、６ｂ）または８より拡声出力される。
【０１３１】
このようにして音響空間に出力された信号は、送話音声と音響結合してマイクロホン９または１１で集音され、アナログ信号に変換される。このアナログ信号は、送話アナログゲイン１０または１２で増幅された後、送話アナログパス切換手段１３を通じてＡ／Ｄ変換器１４に入力され、ディジタル信号に変換される。
【０１３２】
エコーキャンセラ２３は、上記ディジタル信号からエコー成分を除去するものであって、そのエコー除去後の信号を送話出力信号として、図示しないエンコーダに出力するものである。以下、エコーキャンセラ２３の適応アルゴリズムを、周波数領域型のCircular-Convolution Method アルゴリズム（例えば、J.J.Shynk:”Frequency-Domain and Multirate Adaptive Filtering”,IEEE Signal Processing Magazine, Vol.9,Issue1,pp.14-37,1992/01.）で動作するものとして説明する。
【０１３３】
エコーキャンセラ２３は、信号記憶手段（ＸＲＥＧ）２ａ、乗算手段２ｇ、係数更新手段（ＨＣＡＬ）２ｈ、係数記憶手段（ＨＲＥＧ）２ｉ、擬似エコー算出手段（ＣＯＮＶ）２ｊ、乗算手段２ｋ、エコー除去手段２ｌ、利得記憶手段（ＧＲＥＧ）２ｍ、乗算制御部（ＧＣＯＮ）２ｎ、係数更新量算出手段（ＤＨＣＡＬ）２ｑ、周波数領域変換手段（ＦＴ）２ｒ、周波数領域変換手段（ＦＴ）２ｓ、周波数領域逆変換手段（ＩＦＴ）２ｔを備える。但し、信号記憶手段（ＸＲＥＧ）２ａ、乗算手段２ｇ、係数更新手段（ＨＣＡＬ）２ｈ、係数記憶手段（ＨＲＥＧ）２ｉ、擬似エコー算出手段（ＣＯＮＶ）２ｊ、乗算手段２ｋ、エコー除去手段２ｌ、利得記憶手段（ＧＲＥＧ）２ｍ、乗算制御部（ＧＣＯＮ）２ｎ、係数更新量算出手段（ＤＨＣＡＬ）２ｑは、事前に設定された周波数帯域分割幅ω毎に処理を行う。
【０１３４】
なお、エコーキャンセラ２３は、ダブルトークを検出する構成を備えるようにしてもよい。ダブルトークを検出する場合には、ダブルトーク検出手段（ＤＴＤ）２ｏや乗算手段２ｐを備える。以下の説明では、まず、これらの構成を備えない場合について説明し、ダブルトーク検出手段２ｏや乗算手段２ｐを備える場合については後述する。
【０１３５】
周波数領域変換手段２ｒは、受話ディジタルユーザボリューム１により出力される時間領域の受話信号x(n)をＦＦＴ（Fast Fourier Transform）などによって周波数領域に変換する。このようにして得られた周波数領域の受話信号X(n,ω)は、信号記憶手段２ａに出力される。
【０１３６】
信号記憶手段２ａは、周波数領域変換手段２ｒによって出力される周波数領域の受話信号X(n,ω)を一時的に蓄えて遅延させ、係数更新量算出手段２ｑおよび擬似エコー算出手段２ｊに出力する。
【０１３７】
係数更新量算出手段２ｑは、上記信号記憶手段２ａで遅延した受話信号X(n,ω)の共役（conjugate）に、後述するエコー除去手段２ｌが出力する送話出力信号E(n-1,ω)を乗算して、係数更新量ΔH(n,ω)を算出し、これを乗算手段２ｇに出力する。
【数１６】
2006254084.tif 000018
【０１３８】
乗算手段２ｇは、上記係数更新量算出手段２ｑで求められた係数更新量ΔH(n,ω)に、後述する乗算制御部２ｎから出力された利得α(ω)の逆数を乗じ、この結果を係数更新量として係数更新手段２ｈに出力する。このとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。
【数１７】
2006254084.tif 000019
【０１３９】
係数更新手段２ｈは、係数記憶手段２ｉに格納されている周波数領域のタップ係数H(n-1,ω)と、上記乗算手段２ｇから出力される係数更新量とを加算して、更新した周波数領域のタップ係数H(n,ω)を求め、これを上記タップ係数H(n-1,ω)の代わりに係数記憶手段２ｉに格納（更新）する。
【数１８】
2006254084.tif 000020
【０１４０】
擬似エコー算出手段２ｊは、上記信号記憶手段２ａで遅延した受話信号X(n,ω)と、係数記憶手段２ｉに格納されているタップ係数H(n,ω)とを畳込み演算して、擬似エコー信号Y’(n,ω)を生成し、乗算手段２ｋに出力する。
【数１９】
2006254084.tif 000021
【０１４１】
利得記憶手段２ｍは、制御手段１７から出力されるボリューム値とモード識別情報に対応する利得のテーブルデータを予め記憶するものである。このテーブルデータに記憶される利得は、エコー経路の利得の変動幅に合わせるように動作開始前に外部から予め設定可能である。
【０１４２】
図３に、利得記憶手段２ｍに記憶されるテーブルデータの一例を示す。この例では、前述した制御手段１７に対応し、モード入力手段１６を通じて選択可能なモードがモード０、モード１、モード２の３モードあり、ユーザボリューム入力手段１５を通じて選択できるボリューム値が１から５の５段階であるときを示すもので、これらに対応づけた利得をｄＢ単位で格納している。なお、格納されている利得は、ｄＢ単位であっても、利得の乗算係数単位であってもよい。
【０１４３】
乗算制御部２ｎは、利得記憶手段２ｍが記憶する上記テーブルデータから、制御手段１７から出力されるボリューム値とモード識別情報に対応する利得α(ω)を選択的に読み込む。そして、乗算制御部２ｎは、その利得α(ω)を乗算手段２ｋの乗算係数として設定するとともに、その利得α(ω)の逆数を乗算手段２ｇの乗算係数として設定する。
【０１４４】
乗算手段２ｋは、擬似エコー算出手段２ｊから与えられた擬似エコー信号Y’(n,ω)に、乗算制御部２ｎによって設定された利得α(ω)を乗じる。なおこのとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。
【数２０】
2006254084.tif 000022
【０１４５】
周波数領域変換手段２ｓは、Ａ／Ｄ変換器１４より出力された送話入力信号y(n)をＦＦＴ（Fast Fourier Transform）などによって周波数領域に変換する。このようにして得られた周波数領域の送話入力信号Y(n,ω)は、エコー除去手段２ｌに出力される。
【０１４６】
エコー除去手段２ｌは、周波数領域変換手段２ｓより出力された送話入力信号Y(n,ω)から上記利得α(ω)を乗じた擬似エコー信号を減じることでエコー成分を除去し、エコー成分が除去された信号E(n,ω)を送話出力信号として、図示しないエンコーダおよび係数更新量算出手段２ｑに出力する。
【数２１】
2006254084.tif 000023
【０１４７】
周波数領域逆変換手段２ｔは、エコー除去手段２ｌより出力された送話出力信号E(n,ω)を、ＩＦＦＴ（Inverse Fast Fourier Transform）などによって時間領域に変換し、図示しないエンコーダに出力する。このようにしてエコーキャンセラ２３から出力された送話出力信号は、エンコーダによって符号化される。この符号化によって得られたデータは、前述した無線通信部を通じて、送信データとして通信相手に無線送信される。
【０１４８】
なお、ここではエコーキャンセラ２３の適応アルゴリズムを周波数領域型のCircular-Convolution Method アルゴリズムで動作するものとして説明したが、その他の適応アルゴリズムも同様に動作させることができる。
【０１４９】
次に、エコーキャンセラ２３がダブルトーク検出手段２ｏおよび乗算手段２ｐを備えて、ダブルトークの検出を行う場合について説明する。なおここでは、ダブルトーク検出手段２ｏのダブルトーク検出アルゴリズムとして、周波数領域変換手段２ｓの出力と上記信号記憶手段２ａで遅延した受話信号を用いる手法を例に挙げて説明する。
【０１５０】
乗算手段２ｐは、上記エコー除去手段２ｌより出力された送話出力信号E(n,ω)に、乗算制御部２ｎから与えられる利得α(ω)の逆数を乗じ、この結果をダブルトーク検出手段２ｏに出力する。
【０１５１】
ダブルトーク検出手段２ｏは、周波数領域変換手段２ｓの出力、上記信号記憶手段２ａで遅延した受話信号および乗算手段２ｐの出力に基づいて、事前に設定された周波数分割帯域幅ω毎に処理を行い、ダブルトーク状態か否かを判定する。具体的には、周波数領域変換手段２ｓの出力Y(n,ω)のパワー特性（パワー値またはピーク値）Py(n,ω)と上記信号記憶手段２ａで遅延した受話信号X(n,ω)のパワー特性（パワー値またはピーク値）Px(n,ω)と乗算手段２ｐの出力のパワー特性（パワー値またはピーク値）Pe(n,ω)とを周波数帯域に基づいて算出し、Pe(n,ω)＞λ(n,ω)・Px(n,ω)またはPy(n,ω)＞δ(ω)・Px(n,ω)となる場合にダブルトーク状態と判定する。ここで、λ(n,ω)はエコー経路の利得の推定値であり、タップ係数H(n,ω)を適応学習したサンプル数に基づいて算出し、適応学習が進めば小さくなり、適応学習が間違っていれば大きくなる可変量である。また、δ(ω)は動作開始前に外部から予め設定可能な固定値である。
【０１５２】
なお、上記Pe(n,ω)の代わりに、上記エコー除去手段２ｌより出力された送話出力信号E(n,ω)のパワー特性（パワー値またはピーク値）に乗算制御部２ｎから乗算手段２ｃに与えられる利得α(ω)の逆数を乗じ、この結果をダブルトーク検出手段２ｏに出力する構成としてもよい。
【０１５３】
ダブルトーク検出手段２ｏは、ダブルトーク状態を検出した場合、この旨を係数更新量算出手段２ｑおよび係数更新手段２ｈに通知する。これに対して係数更新量算出手段２ｑおよび係数更新手段２ｈは、上記通知を受けると、それぞれ上述した演算は行わない。これにより、ダブルトーク検出時には、係数記憶手段２ｉに格納されるタップ係数が、演算（更新）されることなく維持されることになり、計算量が少なくすることができる。
【０１５４】
このような構成によれば、エコー経路の利得が、１倍以上になる時（エコー増幅時）と１倍未満になる時（エコー減衰時）とでダブルトーク検出アルゴリズムを大きく変更することなく、ダブルトーク検出精度が同程度のダブルトーク検出手段を実現することができる。
【０１５５】
次に、上記構成のエコーキャンセル回路の動作について説明する。図８は、その動作を説明するフローチャートである。この図に示す処理は、実装される通信機器による発呼または通信相手からの着呼に伴って開始される。
【０１５６】
まず、ｓｔｅｐ３０１において制御手段１７は、モード入力手段１６を通じて予め設定されたモード識別情報を読み込み、続いてｓｔｅｐ３０２において、ユーザボリューム入力手段１５を通じて予め設定されたボリューム値を読み込み、ｓｔｅｐ３０３に移行する。
【０１５７】
ｓｔｅｐ３０３において制御手段１７は、ｓｔｅｐ３０１で読み込んだモード識別情報およびｓｔｅｐ３０２で読み込んだボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定し、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ３０４に移行する。
【０１５８】
これに対してｓｔｅｐ３０４において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得α(ω)を上記テーブルデータから読み出す。そして、この読み出した利得α(ω)を乗算手段２ｋに乗算係数として設定するとともに、上記利得α(ω)の逆数を乗算手段２ｇに乗算係数として設定し、ｓｔｅｐ３０５に移行する。
【０１５９】
そしてｓｔｅｐ３０５において制御手段１７は、ｓｔｅｐ３０１で読み込んだモード識別情報に基づいて受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替えを行う。その後、上記通信機器により通信相手と通信リンクが確立し、通信相手と双方向通話が可能な状態となると、ｓｔｅｐ３０６に移行する。双方向通話が可能な状態においては、エコーキャンセラ２３は所望の動作を行う。
【０１６０】
ｓｔｅｐ３０６において制御手段１７は、モード入力手段１６を通じてモード変更の有無を判定し、ｓｔｅｐ３０７に移行する。ここで、モード変更有りと判定された場合には、ｓｔｅｐ３０９に移行し、一方、モード変更無しと判定された場合には、ｓｔｅｐ３０７に移行する。
【０１６１】
ｓｔｅｐ３０７において制御手段１７は、ユーザボリューム入力手段１５を通じてボリューム値の変更の有無を判定する。ここで、ボリューム値変更有りと判定された場合には、ｓｔｅｐ３１２に移行し、一方、ボリューム値変更無しと判定された場合には、ｓｔｅｐ３０８に移行する。
【０１６２】
ｓｔｅｐ３０９において制御手段１７は、モード入力手段１６からモード識別情報を読み込むとともに、ユーザボリューム入力手段１５からボリューム値を読み込み、そしてこれら読み込んだモード識別情報およびボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定する。そして制御手段１７は、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ３１０に移行する。
【０１６３】
ｓｔｅｐ３１０において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得α(ω)を上記テーブルデータから読み出す。そして、乗算制御部２ｎは、この読み出した利得α(ω)を乗算手段２ｋに乗算係数として設定するとともに、上記利得α(ω)の逆数を乗算手段２ｇに乗算係数として設定し、ｓｔｅｐ３１１に移行する。
【０１６４】
ｓｔｅｐ３１１において制御手段１７は、ｓｔｅｐ３０９で読み込んだモード識別情報に基づいて受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替えを行い、ｓｔｅｐ３０８に移行する。
【０１６５】
一方、ｓｔｅｐ３１２において制御手段１７は、モード入力手段１６からモード識別情報を読み込むとともに、ユーザボリューム入力手段１５からボリューム値を読み込み、そしてこれら読み込んだモード識別情報およびボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定する。そして制御手段１７は、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ３１３に移行する。
【０１６６】
ｓｔｅｐ３１３において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得α(ω)を上記テーブルデータから読み出す。そして、乗算制御部２ｎは、この読み出した利得α(ω)を乗算手段２ｋに乗算係数として設定するとともに、上記利得α(ω)の逆数を乗算手段２ｇに乗算係数として設定し、ｓｔｅｐ３０８に移行する。
【０１６７】
ｓｔｅｐ３０８において制御手段１７は、終話要求が生じたか否かを判定する。ここで、終話要求が生じた場合には、当該処理を終了して、図示しない通信制御手段により通信リンクを切断し、双方向通信を終了する。終話要求が生じない場合には、ｓｔｅｐ３０６に移行する。
【０１６８】
以上のように、上記構成のエコーキャンセル回路では、擬似エコー算出手段２ｊで求めた擬似エコー信号を、ボリューム値とモードに応じた利得α(ω)で増幅し、これを送話出力信号から減じることでエコー成分を除去するとともに、係数更新量算出手段２ｑで求めた係数更新量ΔH(n,ω)に上記利得α(ω)の逆数を乗じた積に基づいて、上記擬似エコー信号生成に用いるタップ係数の更新を行うようにしている。
【０１６９】
すなわち、エコー減衰時に比べてエコー増幅時では上記残留エコー信号が増大することになるが、上記構成のエコーキャンセル回路では、上記乗算手段２ｇを用いることで、係数更新手段２ｈにおける演算量が、上記係数更新量ΔH(n,ω)の次数分の乗算という比較的少ない演算量になり、係数更新手段２ｈにおける桁落ちを防止できる。
【０１７０】
したがって、上記構成のエコーキャンセル回路によれば、エコー減衰時とエコー増幅時で適応アルゴリズムを変更することなく、エコー経路の利得が１倍以上になるとき（エコー増幅時）でも、有限語長演算（固定小数点演算）過程でオーバーフローおよび桁落ちを生じないため所望のエコー抑圧量を得ることができ、受話信号、送話入力信号、残留エコー信号に音声品質劣化が生じることを防ぐことができる。
【０１７１】
また、上記構成のエコーキャンセル回路では、受話信号に基づいて係数更新量を算出する適応アルゴリズム、例えばＬＭＳ（Least-Mean-Square）アルゴリズム、ＮＬＭＳ（Normalized-Least-Mean-Square）アルゴリズム、学習同定法、アフィン射影（ＡＰ:Affine-Projection）アルゴリズム、逐次最小二乗（ＲＬＳ：Recursive-Least-Squares）アルゴリズムなどを時間領域処理・サブバンド処理・周波数領域処理で用いる場合において、上記エコーキャンセラの状態に応じて他の上記受話信号に基づいて上記係数更新量を算出する適応アルゴリズムを用いる動作に変化するときにでも、構成を変更することなく、エコー増幅時に対応することができる。
【０１７２】
例えば、係数更新量算出手段２ｑに代わって、周波数分割帯域ω毎に周波数領域で処理を行う、図１に示したノルム算出手段２ｂ、乗算手段２ｃ、修正量算出手段２ｄおよび係数更新量算出手段２ｆを備えるようにしてもよい。また、係数更新量算出手段２ｑに代わって、周波数分割帯域ω毎に周波数領域で処理を行う、図３に示した修正量算出手段２ｄ、乗算手段２ｅおよび係数更新量算出手段２ｆを備えるようにしてもよい。
【０１７３】
さらに、周波数領域変換手段２ｒ、周波数領域変換手段２ｓおよび周波数領域逆変換手段２ｔを省き、係数更新量算出手段２ｑに代わって、図１に示したノルム算出手段２ｂ、乗算手段２ｃ、修正量算出手段２ｄおよび係数更新量算出手段２ｆを備えるようにしてもよい。さらにまた、周波数領域変換手段２ｒ、周波数領域変換手段２ｓおよび周波数領域逆変換手段２ｔを省き、係数更新量算出手段２ｑに代わって、図３に示した修正量算出手段２ｄ、乗算手段２ｅおよび係数更新量算出手段２ｆを備えるようにしてもよい。
【０１７４】
次に、この発明の第４の実施形態に係わるエコーキャンセル回路について説明する。図９は、上記エコーキャンセル回路とその周辺の構成を示すブロック図である。このエコーキャンセル回路は、例えば携帯電話機などの通信機器に実装され、この回路の動作に先立って、上記通信機器により通信リンクが確立し、通信相手と双方向通話が可能な状態となる。
【０１７５】
図示しない無線通信部によって受信された受信データは、図示しないデコーダによって、ディジタル信号に復号される。このディジタル信号は、受話信号として受話ディジタルユーザボリューム１に出力される。
【０１７６】
ユーザボリューム入力手段１５は、利用者が設定する受話信号の音量をキー入力ないしボリュームつまみ操作などで受け付けるものであり、この受け付けた音量の値を示すボリューム値が制御手段（ＣＯＮＴ）１７によって読み出される。
【０１７７】
モード入力手段１６は、例えばスルーモード（エコーキャンセル回路の機能オフ）、ハンドセットモード（ハンドセット用スピーカを用いたハンドセット通話）、ハンズフリーモード（ハンズフリー用スピーカを用いたハンズフリー通話）、イヤホンモード（イヤホンを用いた通話）、外部機器接続モード（外部接続されたスピーカを用いた通話）などの少なくとも２つ以上のモードのうち、利用者が希望するモードをキー入力ないしスイッチつまみ操作などで受け付けるものであり、この受け付けたモードを示すモード識別情報が制御手段１７によって読み出される。
【０１７８】
制御手段１７は、ユーザボリューム入力手段１５およびモード入力手段１６から読み出した情報に基づいて、エコーキャンセラ２４を制御すると共に、モード入力手段１６から読み出したモード識別情報に基づいて、受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替え制御を行う。
【０１７９】
この受話アナログパス切換手段４に対する切り替え制御では、２チャネルスピーカ６（６ａ、６ｂ）およびこの２チャネルスピーカの受話アナログゲイン５（５ａ、５ｂ）か、あるいはスピーカ８とこのスピーカ８の受話アナログゲイン７のいずれかを選択的に機能させる。
【０１８０】
そして送話アナログパス切換手段１３に対する切り替え制御では、マイクロホン９およびこのマイクロホン９の送話アナログゲイン１０か、あるいはマイクロホン１１およびこのマイクロホン１１の送話アナログゲイン１２のいずれかを選択的に機能させる。
【０１８１】
なお、２チャネルスピーカ６、受話アナログゲイン５およびマイクロホン９、送話アナログゲイン１０は、外部接続されるカーキットやBluetoothなどの無線通信によって外部接続されるヘッドセットなどの機器に搭載されることを想定してもよい。このような機器を用いる場合には外部機器接続モードが設定され、受話アナログパス切換手段４に任意に着脱できる。これに代わって受話アナログパス切換手段４に、イヤホンマイクを接続することも可能である。この場合、上記イヤホンモードが設定される。
【０１８２】
また制御手段１７は、ユーザボリューム入力手段１５から読み出したボリューム値および上記モード識別情報、内蔵するテーブルデータに基づいて、ユーザボリューム値を決定し、このユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報をエコーキャンセラ２４に出力する。なおここで、制御手段１７は、上記ボリューム値の代わりに上記ユーザボリューム値をエコーキャンセラ２４に出力してもよい。
【０１８３】
図２に、制御手段１７が内蔵するテーブルデータの一例を示す。この例では、モード入力手段１６を通じて選択可能なモードがモード０、モード１、モード２の３モードあり、ユーザボリューム入力手段１５を通じて選択できるボリューム値が１から５の５段階であるときを示すもので、これらに対応づけたユーザボリューム値をｄＢ単位で格納している。なお、格納されている利得は、ｄＢ単位であっても、利得の乗算係数単位であってもよい。
【０１８４】
受話ディジタルユーザボリューム１は、制御手段１７によって設定されるユーザボリューム値に基づいて、ディジタル処理により受話信号を増幅する。この増幅された受話信号は、エコーキャンセラ２４とＤ／Ａ変換器（Ｄ／Ａ）３に出力される。このように、受話ディジタルユーザボリューム１を、後述するエコーキャンセラ２４の信号記憶手段２ａより前段に設けることで、エコーキャンセラ２４にとっては、ユーザボリューム変動によるエコーパス変動を回避できる。このため、ダブルトーク検出が困難になったり適応学習が困難になったりすることを避けることができる。
【０１８５】
また、アナログフロントエンド（Ｄ／Ａ変換器３、受話アナログゲイン５（５ａ、５ｂ）または７、スピーカ６（６ａ、６ｂ）または８、マイクロホン９または１１、送話アナログゲイン１０または１２、Ａ／Ｄ変換器１４）での非線形歪み等で、信号記憶手段２ａに記憶された受話信号と回り込む送話入力信号との相関が少なくなりエコー抑圧性能が劣化することを避けることができる。
【０１８６】
Ｄ／Ａ変換器３は、上記受話信号をアナログ信号に変換する。このアナログ信号は、受話アナログパス切換手段４を通って、受話アナログゲイン５（５ａ、５ｂ）または７で増幅された後、スピーカ６（６ａ、６ｂ）または８より拡声出力される。
【０１８７】
このようにして音響空間に出力された信号は、送話音声と音響結合してマイクロホン９または１１で集音され、アナログ信号に変換される。このアナログ信号は、送話アナログゲイン１０または１２で増幅された後、送話アナログパス切換手段１３を通じてＡ／Ｄ変換器１４に入力され、ディジタル信号に変換される。
【０１８８】
エコーキャンセラ２４は、上記ディジタル信号からエコー成分を除去するものであって、そのエコー除去後の信号を送話出力信号として、図示しないエンコーダに出力するものであり、受話信号のノルムを用いる適応アルゴリズム、例えば学習同定法やＮＬＭＳアルゴリズムなどで動作するものとする。以下、エコーキャンセラ２４の適応アルゴリズムを時間領域型の学習同定法で動作するものとして説明する。
【０１８９】
エコーキャンセラ２４は、信号記憶手段（ＸＲＥＧ）２ａ、ノルム算出手段（ＮＯＲＭＸ）２ｂ、乗算手段２ｃ、修正量算出手段（ＫＣＡＬ）２ｄ、乗算手段２ｅ、係数更新量算出手段（ＣＯＲＲ）２ｆ、乗算手段２ｇ、係数更新手段（ＨＣＡＬ）２ｈ、係数記憶手段（ＨＲＥＧ）２ｉ、擬似エコー算出手段（ＣＯＮＶ）２ｊ、乗算手段２ｋ、エコー除去手段２ｌ、利得記憶手段（ＧＲＥＧ）２ｍ、乗算制御部（ＧＣＯＮ）２ｎを備える。
【０１９０】
なお、エコーキャンセラ２４は、ダブルトークを検出する構成を備えるようにしてもよい。ダブルトークを検出する場合には、ダブルトーク検出手段（ＤＴＤ）２ｏや乗算手段２ｐを備える。以下の説明では、まず、これらの構成を備えない場合について説明し、ダブルトーク検出手段２ｏや乗算手段２ｐを備える場合については後述する。
【０１９１】
信号記憶手段２ａは、受話ディジタルユーザボリューム１より出力される受話信号x(n)を一時的に蓄えて遅延させ、ノルム算出手段２ｂ、係数更新量算出手段２ｆおよび擬似エコー算出手段２ｊに出力する。
【０１９２】
ノルム算出手段２ｂは、上記信号記憶手段２ａで遅延した受話信号x(n)の各データの二乗和であるノルムの二乗norm(n)を算出し、この算出結果の逆数を乗算手段２ｃに出力する。
【数２２】
2006254084.tif 000024
【０１９３】
乗算手段２ｃは、上記ノルム算出手段２ｂで求めたノルムの二乗norm(n)の逆数に、後述する乗算制御部２ｎから出力された利得βの逆数を乗じ、この結果を修正量算出手段２ｄに出力する。このとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。
【数２３】
2006254084.tif 000025
【０１９４】
修正量算出手段２ｄは、上記乗算手段２ｃの乗算結果に、後述するエコー除去手段２ｌが出力する送話出力信号e(n-1)とステップサイズμを乗算して修正量k(n)を算出し、これを乗算手段２ｅに出力する。
【数２４】
2006254084.tif 000026
【０１９５】
乗算手段２ｅは、上記修正量算出手段２ｄで求められた修正量k(n)に、後述する乗算制御部２ｎから出力された利得γの逆数を乗じ、この結果を係数更新量算出手段２ｆに出力する。このとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。
【数２５】
2006254084.tif 000027
【０１９６】
係数更新量算出手段２ｆは、上記信号記憶手段２ａで遅延した受話信号x(n)に、上記乗算手段２ｅから出力される修正量を乗算して、係数更新量Δh(n)を算出し、これを乗算手段２ｇに出力する。
【数２６】
2006254084.tif 000028
【０１９７】
乗算手段２ｇは、上記係数更新量算出手段２ｆで求められた係数更新量Δh(n)に、後述する乗算制御部２ｎから出力された利得εの逆数を乗じ、この結果を係数更新量として係数更新手段２ｈに出力する。このとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。
【数２７】
2006254084.tif 000029
【０１９８】
係数更新手段２ｈは、係数記憶手段２ｉに格納されているタップ係数h(n-1)と、上記乗算手段２ｇから出力される係数更新量とを加算して、更新したタップ係数h(n)を求め、これを上記タップ係数h(n-1)の代わりに係数記憶手段２ｉに格納（更新）する。
【数２８】
2006254084.tif 000030
【０１９９】
擬似エコー算出手段２ｊは、上記信号記憶手段２ａで遅延した受話信号x(n)と、係数記憶手段２ｉに格納されているタップ係数h(n)とを畳込み演算して、擬似エコー信号y’(n)を生成し、乗算手段２ｋに出力する。
【数２９】
2006254084.tif 000031
【０２００】
利得記憶手段２ｍは、制御手段１７から出力されるボリューム値とモード識別情報に対応する利得のテーブルデータを予め記憶するものである。このテーブルデータに記憶される利得は、エコー経路の利得の変動幅に合わせるように動作開始前に外部から予め設定可能である。
【０２０１】
図３に、利得記憶手段２ｍに記憶されるテーブルデータの一例を示す。この例では、前述した制御手段１７に対応し、モード入力手段１６を通じて選択可能なモードがモード０、モード１、モード２の３モードあり、ユーザボリューム入力手段１５を通じて選択できるボリューム値が１から５の５段階であるときを示すもので、これらに対応づけた利得をｄＢ単位で格納している。なお、格納されている利得は、ｄＢ単位であっても、利得の乗算係数単位であってもよい。
【０２０２】
乗算制御部２ｎは、利得記憶手段２ｍが記憶する上記テーブルデータから、制御手段１７から出力されるボリューム値とモード識別情報に対応する利得αを選択的に読み込む。そして、乗算制御部２ｎは、その利得αを乗算手段２ｋの乗算係数として設定するとともに、その利得αに基づいて決定される利得β、γ、εをそれぞれ上述したように乗算手段２ｃ、２ｅ、２ｇの乗算係数として設定する。
【０２０３】
利得αは、利得β、γ、εと下式の関係にある。そして、利得βは、乗算手段２ｃの出力が桁落ちまたはアンダーフローしないだけの値となるように設定され、そして、これに応じて、利得γは、乗算手段２ｅの出力が桁落ちまたはアンダーフローしないだけの値となるように設定され、そして利得εは、上記利得β、γの設定に応じて設定される。
【数３０】
2006254084.tif 000032
【０２０４】
乗算手段２ｋは、擬似エコー算出手段２ｊから与えられた擬似エコー信号y’(n)に、乗算制御部２ｎによって設定された利得αを乗じる。なおこのとき、上記利得が６ｄＢの倍数であったときは、上述した乗算にビットシフト演算を用いることも可能である。
【数３１】
2006254084.tif 000033
【０２０５】
エコー除去手段２ｌは、Ａ／Ｄ変換器１４より出力された送話入力信号y(n)から上記利得αを乗じた擬似エコー信号を減じることでエコー成分を除去し、エコー成分が除去された信号e(n)を送話出力信号として、図示しないエンコーダおよび修正量算出手段２ｄに出力する。
【数３２】
2006254084.tif 000034
【０２０６】
このようにしてエコーキャンセラ２４から出力された送話出力信号は、図示しないエンコーダによって符号化される。この符号化によって得られたデータは、前述した無線通信部を通じて、送信データとして通信相手に無線送信される。
【０２０７】
なお、ここではエコーキャンセラ２４の適応アルゴリズムを時間領域型の学習同定法で動作するものとして説明したが、受話信号のノルムを用いるその他の適応アルゴリズムも同様に動作させることができる。
【０２０８】
次に、エコーキャンセラ２４がダブルトーク検出手段２ｏおよび乗算手段２ｐを備えて、ダブルトークの検出を行う場合について説明する。なおここでは、ダブルトーク検出手段２ｏのダブルトーク検出アルゴリズムとして、Ａ／Ｄ変換器１４の出力と上記信号記憶手段２ａで遅延した受話信号を用いる手法を例に挙げて説明する。
【０２０９】
乗算手段２ｐは、上記エコー除去手段２ｌより出力された送話出力信号e(n)に、乗算制御部２ｎから与えられる利得αの逆数を乗じ、この結果をダブルトーク検出手段２ｏに出力する。
【０２１０】
ダブルトーク検出手段２ｏは、Ａ／Ｄ変換器１４の出力、上記信号記憶手段２ａで遅延した受話信号および乗算手段２ｐの出力に基づいて、ダブルトーク状態か否かを判定する。具体的には、Ａ／Ｄ変換器１４の出力y(n)のパワー特性（パワー値またはピーク値）Py(n)と上記信号記憶手段２ａで遅延した受話信号x(n)のパワー特性（パワー値またはピーク値）Px(n)と乗算手段２ｐの出力のパワー特性（パワー値またはピーク値）Pe(n)とをサンプル単位で算出し、Pe(n)＞λ(n)・Px(n)またはPy(n)＞δ・Px(n)となる場合にダブルトーク状態と判定する。ここで、λ(n)はエコー経路の利得の推定値であり、タップ係数h(n)を適応学習したサンプル数に基づいて算出し、適応学習が進めば小さくなり、適応学習が間違っていれば大きくなる可変量である。また、δは動作開始前に外部から予め設定可能な固定値である。
【０２１１】
なお、上記Pe(n)の代わりに、上記エコー除去手段２ｌより出力された送話出力信号e(n)のパワー特性（パワー値またはピーク値）に乗算制御部２ｎから乗算手段２ｃに与えられる利得αの逆数を乗じ、この結果をダブルトーク検出手段２ｏに出力する構成としてもよい。
【０２１２】
ダブルトーク検出手段２ｏは、ダブルトーク状態を検出した場合、この旨を修正量算出手段２ｄ、係数更新量算出手段２ｆおよび係数更新手段２ｈに通知する。これに対して修正量算出手段２ｄ、係数更新量算出手段２ｆおよび係数更新手段２ｈは、上記通知を受けると、それぞれ上述した演算は行わない。これにより、ダブルトーク検出時には、係数記憶手段２ｉに格納されるタップ係数が、演算（更新）されることなく維持されることになり、計算量が少なくすることができる。
【０２１３】
このような構成によれば、エコー経路の利得が、１倍以上になる時（エコー増幅時）と１倍未満になる時（エコー減衰時）とでダブルトーク検出アルゴリズムを大きく変更することなく、ダブルトーク検出精度が同程度のダブルトーク検出手段を実現することができる。
【０２１４】
次に、上記構成のエコーキャンセル回路の動作について説明する。図１０は、その動作を説明するフローチャートである。この図に示す処理は、実装される通信機器による発呼または通信相手からの着呼に伴って開始される。
【０２１５】
まず、ｓｔｅｐ４０１において制御手段１７は、モード入力手段１６を通じて予め設定されたモード識別情報を読み込み、続いてｓｔｅｐ４０２において、ユーザボリューム入力手段１５を通じて予め設定されたボリューム値を読み込み、ｓｔｅｐ４０３に移行する。
【０２１６】
ｓｔｅｐ４０３において制御手段１７は、ｓｔｅｐ４０１で読み込んだモード識別情報およびｓｔｅｐ４０２で読み込んだボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定し、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ４０４に移行する。
【０２１７】
これに対してｓｔｅｐ４０４において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。
【０２１８】
そして、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、上記利得αに基づいて決定した利得β、γ、εをそれぞれ乗算手段２ｃ、２ｅ、２ｇの乗算係数として設定し、ｓｔｅｐ４０５に移行する。
【０２１９】
ここで、ｓｔｅｐ４０４にてなされる乗算制御部２ｎに利得決定動作について説明する。図１１は、上記動作を説明するためのフローチャートである。  
ｓｔｅｐ５０１において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。そして、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、利得αの逆数を算出し、ｓｔｅｐ５０２に移行する。
【０２２０】
ｓｔｅｐ５０２において乗算制御部２ｎは、ｓｔｅｐ５０１で読み込んだ利得αの逆数が、予め設定された第１閾値よりも大きいか否かを判定する。なお、上記第１閾値は、乗算手段２ｃが乗算係数として用いた場合に、その出力が桁落ちまたはアンダーフローをしないような値となっている。ここで、利得αの逆数が、上記第１閾値よりも大きい場合には、ｓｔｅｐ５０９に移行し、一方、大きくない場合には、ｓｔｅｐ５０３に移行する。
【０２２１】
ｓｔｅｐ５０９において乗算制御部２ｎは、乗算手段２ｃで用いる乗算係数βの値を、乗算手段２ｋで用いる乗算係数αの値に設定し、ｓｔｅｐ５１０に移行する。  
ｓｔｅｐ５１０において乗算制御部２ｎは、乗算手段２ｅで用いる乗算係数γの値を「１」、すなわち０ｄＢに設定し、ｓｔｅｐ５１１に移行する。  
ｓｔｅｐ５１１において乗算制御部２ｎは、乗算手段２ｇで用いる乗算係数εの値を「１」、すなわち０ｄＢに設定し、当該処理を終了する。
【０２２２】
一方、ｓｔｅｐ５０３において乗算制御部２ｎは、乗算手段２ｃで用いる乗算係数βの値を、上記第１閾値の値に設定する。また乗算制御部２ｎは、乗算手段２ｋで用いる乗算係数αを上記第１閾値で除算（ｄＢ単位では減算）し、ｓｔｅｐ５０４に移行する。
【０２２３】
ｓｔｅｐ５０４において乗算制御部２ｎは、ｓｔｅｐ５０３の除算結果が、予め設定された第２閾値よりも大きいか否かを判定する。なお、上記第２閾値は、乗算手段２ｅが乗算係数として用いた場合に、その出力が桁落ちまたはアンダーフローをしないような値となっている。ここで、上記除算結果が、上記第２閾値よりも大きい場合には、ｓｔｅｐ５０７に移行し、一方、大きくない場合には、ｓｔｅｐ５０５に移行する。
【０２２４】
ｓｔｅｐ５０７において乗算制御部２ｎは、乗算手段２ｅで用いる乗算係数γの値を上記除算結果の値に設定し、ｓｔｅｐ５０８に移行する。  
ｓｔｅｐ５０８において乗算制御部２ｎは、乗算手段２ｇで用いる乗算係数εの値を「１」、すなわち０ｄＢに設定し、当該処理を終了する。
【０２２５】
一方、ｓｔｅｐ５０５において乗算制御部２ｎは、乗算手段２ｅで用いる乗算係数γの値を、上記第２閾値の値に設定する。また乗算制御部２ｎは、ｓｔｅｐ５０３で求めた除算結果の値を上記第２閾値で除算（ｄＢ単位では減算）し、ｓｔｅｐ５０６に移行する。  ｓｔｅｐ５０６において乗算制御部２ｎは、乗算手段２ｇで用いる乗算係数εの値を、ｓｔｅｐ５０５で求めた除算結果の値に設定し、当該処理を終了する。
【０２２６】
ここで例えば、利得記憶手段が図３に示したテーブルデータを記憶し、モードが「２」、ユーザボリューム値が「５」であったとき、乗算制御部２ｎは、乗算手段２ｋに１５ｄＢを設定し、その逆数−１５ｄＢを分配して、乗算手段２ｃ、乗算手段２ｅおよび乗算手段２ｇに設定する。
【０２２７】
ここで仮に、乗算手段２ｃの乗算係数を−１２ｄＢより大きくすると桁落ちまたはアンダーフローを生じ、乗算手段２ｅの乗算係数を−３ｄＢより大きくすると桁落ちまたはアンダーフローを生じるとき、すなわち第１閾値が−１２ｄＢで、第２閾値が−３ｄＢの時は、乗算手段２ｃの乗算係数を−１２ｄＢとし、乗算手段２ｅの乗算係数を−３ｄＢとし、乗算手段２ｇの乗算係数を０ｄＢとする。
【０２２８】
但しここで、第１閾値および第２閾値をそれぞれ６ｄＢの倍数にしておくことで、各乗算手段２ｃ、２ｅ、２ｇでの乗算がビットシフト演算で代用できるので演算量を少なくすることができる。
【０２２９】
ここで再び図１０を参照して、ｓｔｅｐ４０５以降の動作について説明する。  
ｓｔｅｐ４０５において制御手段１７は、ｓｔｅｐ４０１で読み込んだモード識別情報に基づいて受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替えを行う。その後、上記通信機器により通信相手と通信リンクが確立し、通信相手と双方向通話が可能な状態となると、ｓｔｅｐ４０６に移行する。双方向通話が可能な状態においては、エコーキャンセラ２４は所望の動作を行う。
【０２３０】
ｓｔｅｐ４０６において制御手段１７は、モード入力手段１６を通じてモード変更の有無を判定し、ｓｔｅｐ４０７に移行する。ここで、モード変更有りと判定された場合には、ｓｔｅｐ４０９に移行し、一方、モード変更無しと判定された場合には、ｓｔｅｐ４０７に移行する。
【０２３１】
ｓｔｅｐ４０７において制御手段１７は、ユーザボリューム入力手段１５を通じてボリューム値の変更の有無を判定する。ここで、ボリューム値変更有りと判定された場合には、ｓｔｅｐ４１２に移行し、一方、ボリューム値変更無しと判定された場合には、ｓｔｅｐ４０８に移行する。
【０２３２】
ｓｔｅｐ４０９において制御手段１７は、モード入力手段１６からモード識別情報を読み込むとともに、ユーザボリューム入力手段１５からボリューム値を読み込み、そしてこれら読み込んだモード識別情報およびボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定する。そして制御手段１７は、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ４１０に移行する。
【０２３３】
ｓｔｅｐ４１０において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。
【０２３４】
そして、乗算制御部２ｎは、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、上記利得αに基づいて決定した利得β、γ、εをそれぞれ乗算手段２ｃ、２ｅ、２ｇの乗算係数として設定し、ｓｔｅｐ４１１に移行する。なお、ここでの処理（上記乗算係数の決定アルゴリズム）は、図１１に示したｓｔｅｐ４０４の処理と同様であるため、詳細な説明は省略する。
【０２３５】
ｓｔｅｐ４１１において制御手段１７は、ｓｔｅｐ４０９で読み込んだモード識別情報に基づいて受話アナログパス切換手段４および送話アナログパス切換手段１３の切り替えを行い、ｓｔｅｐ４０８に移行する。
【０２３６】
一方、ｓｔｅｐ４１２において制御手段１７は、モード入力手段１６からモード識別情報を読み込むとともに、ユーザボリューム入力手段１５からボリューム値を読み込み、そしてこれら読み込んだモード識別情報およびボリューム値、図２に示したテーブルデータに基づいて、ユーザボリューム値を決定する。そして制御手段１７は、この決定したユーザボリューム値を受話ディジタルユーザボリューム１に設定するとともに、上記ボリューム値および上記モード識別情報を乗算制御部２ｎに出力し、ｓｔｅｐ４１３に移行する。
【０２３７】
ｓｔｅｐ４１３において乗算制御部２ｎは、制御手段１７から出力されたボリューム値およびモード識別情報と、利得記憶手段２ｍが記憶するテーブルデータとに基づいて、上記ボリューム値およびモード識別情報に対応する利得αを上記テーブルデータから読み出す。
【０２３８】
そして、乗算制御部２ｎは、この読み出した利得αを乗算手段２ｋに乗算係数として設定するとともに、上記利得αに基づいて決定した利得β、γ、εをそれぞれ乗算手段２ｃ、２ｅ、２ｇの乗算係数として設定し、ｓｔｅｐ４１１に移行する。なお、ここでの処理（上記乗算係数の決定アルゴリズム）は、図１１に示したｓｔｅｐ４０４の処理と同様であるため、詳細な説明は省略する。
【０２３９】
ｓｔｅｐ４０８において制御手段１７は、終話要求が生じたか否かを判定する。ここで、終話要求が生じた場合には、当該処理を終了して、図示しない通信制御手段により通信リンクを切断し、双方向通信を終了する。終話要求が生じない場合には、ｓｔｅｐ４０６に移行する。
【０２４０】
以上のように、上記構成のエコーキャンセル回路では、擬似エコー算出手段２ｊで求めた擬似エコー信号を、ボリューム値とモードに応じた利得αで増幅し、これを送話出力信号から減じることでエコー成分を除去するとともに、ノルム算出手段２ｂで求めたノルムの二乗と上記利得αの積の逆数と、上記エコー成分が除去された送話出力信号とに基づいて、上記擬似エコー信号生成に用いるタップ係数の更新を行うようにしている。
【０２４１】
以上のように、上記構成のエコーキャンセル回路では、擬似エコー算出手段２ｊで求めた擬似エコー信号を、ボリューム値とモードに応じた利得αで増幅し、これを送話出力信号から減じることでエコー成分を除去するとともに、ノルム算出手段２ｂで求めたノルムの二乗に基づいて上記擬似エコー信号生成に用いるタップ係数を更新する過程において、上記利得αの逆数が乗算係数として配分された乗算手段２ｃ、２ｅ、２ｇを用いるようにしている。
【０２４２】
すなわち、エコー減衰時に比べてエコー増幅時では上記残留エコー信号が増大することになるが、上記構成のエコーキャンセル回路では、上記乗算手段２ｃを用いることで、修正量算出手段２ｄにおける演算量が、上記ノルムの二乗の次数分の乗算という比較的少ない演算量になり、修正量算出手段２ｄにおける桁落ちを防止できる。
【０２４３】
同様に、上記乗算手段２ｅ、２ｇを用いることで、係数更新量算出手段２ｆおよび係数更新手段２ｈにおける演算量を、比較的少ない演算量にすることができ、係数更新量算出手段２ｆおよび係数更新手段２ｈにおける桁落ちを防止できる。
【０２４４】
したがって、上記構成のエコーキャンセル回路によれば、エコー減衰時とエコー増幅時で適応アルゴリズムを変更することなく、エコー経路の利得が１倍以上になるとき（エコー増幅時）でも、有限語長演算（固定小数点演算）過程でオーバーフローおよび桁落ちを生じないため所望のエコー抑圧量を得ることができ、受話信号、送話入力信号、残留エコー信号に音声品質劣化が生じることを防ぐことができる。
【０２４５】
また、上記構成のエコーキャンセル回路では、受話信号に基づいて係数更新量を算出する適応アルゴリズム、例えばＬＭＳ（Least-Mean-Square）アルゴリズム、ＮＬＭＳ（Normalized-Least-Mean-Square）アルゴリズム、学習同定法、アフィン射影（ＡＰ:Affine-Projection）アルゴリズム、逐次最小二乗（ＲＬＳ：Recursive-Least-Squares）アルゴリズムなどを時間領域処理・サブバンド処理・周波数領域処理で用いる場合において、上記エコーキャンセラの状態に応じて他の上記受話信号に基づいて上記係数更新量を算出する適応アルゴリズムを用いる動作に変化するときにでも、構成を変更することなく、エコー増幅時に対応することができる。
【０２４６】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また上記実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０２４７】
【図１】この発明に係わるエコーキャンセル回路の第１の実施の形態の構成を示す回路ブロック図。
【図２】図１に示したエコーキャンセル回路で用いられるテーブルデータの一例を示す図。
【図３】図１に示したエコーキャンセル回路で用いられるテーブルデータの一例を示す図。
【図４】図１に示したエコーキャンセル回路の動作を説明するためのフローチャート。
【図５】この発明に係わるエコーキャンセル回路の第２の実施の形態の構成を示す回路ブロック図。
【図６】図５に示したエコーキャンセル回路の動作を説明するためのフローチャート。
【図７】この発明に係わるエコーキャンセル回路の第３の実施の形態の構成を示す回路ブロック図。
【図８】図７に示したエコーキャンセル回路の動作を説明するためのフローチャート。
【図９】この発明に係わるエコーキャンセル回路の第４の実施の形態の構成を示す回路ブロック図。
【図１０】図９に示したエコーキャンセル回路の動作を説明するためのフローチャート。
【図１１】図９に示したエコーキャンセル回路の動作を説明するためのフローチャート。
【符号の説明】
【０２４８】
１…受話ディジタルユーザボリューム、２ａ…信号記憶手段、２ｂ…ノルム算出手段、２ｃ…乗算手段、２ｄ…修正量算出手段、２ｅ…乗算手段、２ｆ…係数更新量算出手段、２ｇ…乗算手段、２ｈ…係数更新手段、２ｉ…係数記憶手段、２ｊ…擬似エコー算出手段、２ｋ…乗算手段、２ｌ…エコー除去手段、２ｍ…利得記憶手段、２ｎ…乗算制御部、２ｏ…ダブルトーク検出手段、２ｐ…乗算手段、２ｑ…係数更新量算出手段、２ｒ…周波数領域変換手段、２ｓ…周波数領域変換手段、２ｔ…周波数領域逆変換手段、３…Ｄ／Ａ変換器、４…受話アナログパス切換手段、５ａ，５ｂ…受話アナログゲイン、６ａ，６ｂ…スピーカ、７…受話アナログゲイン、８…スピーカ、９…マイクロホン、１０…送話アナログゲイン、１１…マイクロホン、１２…送話アナログゲイン、１３…送話アナログパス切換手段、１４…Ａ／Ｄ変換器、１５…ユーザボリューム入力手段、１６…モード入力手段、１７…制御手段、２１，２２，２３，２４…エコーキャンセラ。
【図１】
2006254084.tif 000035
【図２】
2006254084.tif 000036
【図３】
2006254084.tif 000037
【図４】
2006254084.tif 000038
【図５】
2006254084.tif 000039
【図６】
2006254084.tif 000040
【図７】
2006254084.tif 000041
【図８】
2006254084.tif 000042
【図９】
2006254084.tif 000043
【図１０】
2006254084.tif 000044
【図１１】
2006254084.tif 000045