(57)【特許請求の範囲】
【請求項１】
第１の入力信号を出力することに起因するエコーを第２の入力信号から抑圧するエコー抑圧処理装置であって、
前記第１の入力信号と第１の推定エコー経路特性を用いて第２の入力信号に含まれるエコー成分を推定する第１のエコー推定手段と、
前記第１のエコー推定手段によって推定されたエコー成分を第２の入力信号から抑圧して第１のエコー低減信号を算出する第１のエコー抑圧手段と、
前記第２の入力信号と前記第１のエコー低減信号の少なくとも一方の信号と前記第１の入力信号とを用いてエコー経路の特性を推定し、第１の推定エコー経路特性を更新するエコー経路特性推定手段と、
前記第１の入力信号と第２の推定エコー経路特性を用いて第２の入力信号に含まれるエコー成分を推定する第２のエコー推定手段と、
前記第２のエコー推定手段によって推定されたエコー成分を第２の入力信号から抑圧して第２のエコー低減信号を算出する第２のエコー抑圧手段と、
第２の入力信号に含まれるノイズレベルを推定するノイズ推定手段と、
第１の推定エコー経路特性と第２の推定エコー経路特性のいずれか一方の推定エコー経路特性を用いた他方の推定エコー経路特性の設定を、前記ノイズ推定手段によって推定されたノイズレベルに基づいて制御する制御手段を有することを特徴とするエコー抑圧処理装置。
【請求項２】
前記制御手段は、前記第１の推定エコー経路特性と第２の推定エコー経路特性のいずれか一方の推定エコー経路特性を用いた他方の推定エコー経路特性の設定を、前記推定されたノイズレベルと前記第１のエコー低減信号のパワー比に基づいて制御することを特徴とする請求項１に記載のエコー抑圧処理装置。
【請求項３】
第１の入力信号を出力することに起因するエコーを第２の入力信号から抑圧するエコー抑圧処理装置であって、
前記第１の入力信号と第１の推定エコー経路特性によって前記第２の入力信号に含まれるエコー成分を推定する第１のエコー推定手段と、
前記第１のエコー推定手段によって推定されたエコー成分を前記第２の入力信号から抑圧して第１のエコー低減信号を算出する第１のエコー抑圧手段と、
前記第２の入力信号と前記第１のエコー低減信号の少なくとも一方の信号と前記第１の入力信号と推定エコー経路特性の更新量を制御する推定エコー経路特性更新量制御値とを用いてエコー経路の特性を推定し、前記第１の推定エコー経路特性を更新するエコー経路特性推定手段と、
前記第１の入力信号と第２の推定エコー経路特性によって前記第２の入力信号に含まれるエコー成分を推定する第２のエコー推定手段と、
前記第２のエコー推定手段によって推定されたエコー成分を前記第２の入力信号から抑圧して第２のエコー低減信号を算出する第２のエコー抑圧手段と、
第２の入力信号に含まれるノイズレベルを推定するノイズ推定手段と、
前記推定エコー経路特性更新量制御値が所定の値よりも大きい場合には前記第１の推定エコー経路特性を用いた前記第２の推定エコー経路特性の更新を前記第１のエコー低減信号と前記第２の入力信号とを比較した比較結果に基づいて制御し、前記推定エコー経路特性更新量制御値が所定の値以下の場合には前記第１の推定エコー経路特性を用いた前記第２の推定エコー経路特性の更新を前記ノイズレベルと前記第１のエコー低減信号のパワー比に基づいて制御する制御手段を有することを特徴するエコー抑圧処理装置。
【請求項４】
第１の入力信号を出力することに起因するエコーを第２の入力信号から抑圧するエコー抑圧処理装置であって、
前記第１の入力信号と第１の推定エコー経路特性を用いて第２の入力信号に含まれるエコー成分を推定する第１のエコー推定手段と、
前記第１のエコー推定手段によって推定されたエコー成分を第２の入力信号から抑圧して第１のエコー低減信号を出力する第１のエコー抑圧手段と、
前記第２の入力信号と前記第１のエコー低減信号の少なくとも一方の信号と前記第１の入力信号とを用いてエコー経路の特性を推定し、第１の推定エコー経路特性を更新する第１のエコー経路特性推定手段と、
前記第１の入力信号と第２の推定エコー経路特性を用いて第２の入力信号に含まれるエコー成分を推定する第２のエコー推定手段と、
前記第２のエコー推定手段によって推定されたエコー成分を第２の入力信号から抑圧して第２のエコー低減信号を出力する第２のエコー抑圧手段と、
第２の入力信号に含まれるノイズレベルを推定するノイズ推定手段と、
前記ノイズ推定手段によって推定されたノイズレベルが所定の閾値未満の状態から所定の閾値以上の状態に変化したときに前記第１の推定エコー経路特性を用いて前記第２の推定エコー経路特性を設定し、前記ノイズレベルが所定の閾値以上の状態から所定の閾値未満の状態に変化したときに前記第２の推定エコー経路特性を用いて前記第１の推定エコー経路特性を設定するよう制御する制御手段を有することを特徴とするエコー抑圧処理装置。
【請求項５】
第１の入力信号を出力することに起因するエコーを第２の入力信号から抑圧するエコー抑圧処理装置であって、
前記第１の入力信号と第１の推定エコー経路特性を用いて第２の入力信号に含まれるエコー成分を推定する第１のエコー推定手段と、
前記第１のエコー推定手段によって推定されたエコー成分を第２の入力信号から抑圧して第１のエコー低減信号を出力する第１のエコー抑圧手段と、
前記第２の入力信号と前記第１のエコー低減信号の少なくとも一方の信号と前記第１の入力信号とを用いてエコー経路の特性を推定し、第１の推定エコー経路特性を更新する第１のエコー経路特性推定手段と、
前記第１の入力信号と第２の推定エコー経路特性を用いて第２の入力信号に含まれるエコー成分を推定する第２のエコー推定手段と、
前記第２のエコー推定手段によって推定されたエコー成分を第２の入力信号から抑圧して第２のエコー低減信号を出力する第２のエコー抑圧手段と、
第２の入力信号に含まれるノイズレベルを推定するノイズ推定手段と、
前記ノイズ推定手段によって推定されたノイズレベルに応じて前記第１のエコー低減信号と前記第２のエコー低減信号のいずれか一方を選択して出力し、第１のエコー低減信号を出力していた状態から第２のエコー低減信号を出力する状態に切り換えたときに前記第１の推定エコー経路特性を用いて前記第２の推定エコー経路特性を設定し、第２のエコー低減信号を出力していた状態から第１のエコー低減信号を出力する状態に切り換えたときに前記第２の推定エコー経路特性を用いて前記第１の推定エコー経路特性を設定する制御手段を有することを特徴とするエコー抑圧処理装置。
【請求項６】
前記第１のエコー抑圧手段はバックグラウンドフィルタであり、前記第２のエコー抑圧手段はフォアグラウンドフィルタであることを特徴とする請求項１乃至請求項５に記載のエコー抑圧処理装置。
【請求項７】
前記第１のエコー抑圧手段と前記第２のエコー抑圧手段のいずれか一方がフォアグラウンドバックグラウンド方式のエコー抑圧手段であることを特徴とする請求項１乃至請求項５に記載のエコー抑圧処理装置。
【請求項８】
前記第１のエコー抑圧手段は適応フィルタによるエコー抑圧処理を含み、ダブルトーク検出処理を行って、検出結果に応じてエコー経路特性の推定処理を行うことを特徴とする請求項１乃至請求項６に記載のエコー抑圧処理装置。
【請求項９】
前記第１のエコー抑圧手段は前記第１の推定エコー経路特性としてフィルタ係数を用いて時間領域の適応フィルタによるエコー抑圧処理を行い、
前記第２のエコー抑圧手段は前記第２の推定エコー経路特性として周波数領域毎の音響結合量を用いて周波数領域でのエコー抑圧処理を行うことを特徴とする請求項１乃至請求項５に記載のエコー抑圧処理装置。
【請求項１０】
第１の入力信号を出力することに起因するエコーを第２の入力信号から抑圧するエコー抑圧処理装置であって、
第１の推定エコー経路特性を用いて推定したエコー成分を前記第２の入力信号から抑圧して第１のエコー低減信号を算出し、その第１のエコー低減信号を用いて前記第１の推定エコー経路特性を更新する第１のエコー低減手段、および第２の推定エコー経路特性を用いて推定したエコー成分を前記第２の入力信号から抑圧して得られた第２のエコー低減信号を出力する第２のエコー低減手段から構成される第１のエコー抑圧手段と、
第３の推定エコー経路特性を用いて推定したエコー成分を前記第２の入力信号から抑圧して得られた第３のエコー低減信号を出力し、ダブルトーク状態であるか否かを判定して、ダブルトーク状態でない場合に前記第３のエコー低減信号を用いて前記第３の推定エコー経路特性を更新する第２のエコー抑圧手段と、
第２の入力信号に含まれるノイズレベルを推定するノイズ推定手段と、
前記ノイズ推定手段によって推定されたノイズレベルに応じて前記第２の推定エコー経路特性を用いた前記第３の推定エコー経路特性の更新、および前記第３の推定エコー経路特性を用いた前記第１の推定エコー経路特性と前記第２の推定エコー経路特性の更新を制御する制御手段を有するエコー抑圧処理装置。
【請求項１１】
前記制御手段は、前記推定されたノイズレベルが所定の閾値未満の状態から所定の閾値以上の状態に変わるときに前記第２の推定エコー経路特性を用いて前記第３の推定エコー経路特性を更新し、前記推定されたノイズレベルが所定の閾値以上の状態から所定の閾値未満の状態に変わるときに前記第３の推定エコー経路特性を用いて前記第１の推定エコー経路特性および前記第２の推定エコー経路特性を更新することを特徴とする請求項１０に記載のエコー抑圧処理装置。
【請求項１２】
前記制御手段は、前記推定されたノイズレベルに応じて前記第１のエコー抑圧手段と前記第２のエコー抑圧手段のどちらか一方を動作させ、前記第１のエコー抑圧手段が動作していた状態から前記第２のエコー抑圧手段を動作させる状態に切り換えるときに前記第２の推定エコー経路特性を用いて前記第３の推定エコー経路特性を更新し、前記第２のエコー抑圧手段が動作していた状態から前記第１のエコー抑圧手段が動作していた状態に切り換えるときに前記第３の推定エコー経路特性を用いて前記第１の推定エコー経路特性および前記第２の推定エコー経路特性を更新する制御手段を有することを特徴とする請求項１０に記載のエコー抑圧処理装置。
【請求項１３】
前記推定されたノイズレベルと前記第１のエコー低減手段によって算出される前記第１のエコー低減信号とのパワー比に基づいて、前記第１の推定エコー経路特性を用いた前記第２の推定エコー経路特性の設定を制御する手段を更に有することを特徴とする請求項１０に記載のエコー抑圧処理装置。
【請求項１４】
前記第１のエコー低減信号を用いた前記第１の推定エコー経路特性の更新と前記第３のエコー低減信号を用いた前記第３の推定エコー経路特性の更新には共通の内部状態の値を用い、前記第１のエコー抑圧手段が動作するときには前記第１のエコー抑圧手段からの出力に基づいて前記内部状態の値を更新し、前記第２のエコー抑圧手段が動作するときには前記第２のエコー抑圧手段からの出力に基づいて前記内部状態の値を更新することを特徴とする請求項１０に記載のエコー抑圧処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通話装置あるいはハンズフリー通話装置におけるエコー抑圧処理装置に関する。
【背景技術】
【０００２】
通話装置あるいはハンズフリー通話装置において、マイクロホンによって取得された音声から受信信号のエコーをキャンセルするために、エコー抑圧処理装置が用いられている。エコー抑圧処理方式として、例えばフォアグラウンドバックグラウンド（ＦＧ／ＢＧ）方式が提案されている。ＦＧ／ＢＧ方式のエコー抑圧処理装置は、入力信号に含まれるエコー成分を除去して送信信号として出力する半固定フィルタ（ＦＧフィルタ）と、フィルタ係数を逐次更新する適応フィルタ（ＢＧフィルタ）とを備え、ＢＧフィルタの方がＦＧフィルタよりもエコー抑圧性能が高いときに、ＢＧフィルタのフィルタ係数をＦＧフィルタに転送する。
【０００３】
しかしながら、このようなエコー抑圧処理装置は、周囲のノイズレベルが大きい場合やダブルトークの状態である場合に、フィルタの転送条件が破綻し、エコー抑圧性能が劣化するという問題がある。そこで、常にＦＧフィルタによってエコー抑圧処理を行った信号を送話信号として出力するのではなく、ノイズレベルが大きい場合にはＢＧフィルタによってエコー抑圧処理を行った信号を送話信号として出力するエコー抑圧処理装置が提案されている（例えば、特許文献１参照。）。
【特許文献１】特開２００４−８０６４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の発明では、ノイズレベルが大きい場合には、常にフィルタ係数を更新しているＢＧフィルタの残差信号を送話信号として出力する。しかしながら、ノイズが大きい状態でもＢＧフィルタのフィルタ係数は更新されるため、ＢＧフィルタでのエコー抑圧性能が劣化し、結果としてエコーが適切に抑圧されていない信号が送話信号として出力されるという問題点がある。
【０００５】
また、特許文献１に記載の発明では、ダブルトーク中にＢＧフィルタが劣化した場合にＦＧフィルタからＢＧフィルタへフィルタ係数を転送するが、一般的にノイズが大きい場合には、ダブルトーク検出精度を高く保つのが難しいため、ノイズが大きくかつダブルトーク中である場合には、エコー抑圧性能が劣化しやすいという問題点もある。
【０００６】
そこで本発明は、処理量をそれほど増大させることなく、いかなるノイズレベルであっても高いエコー抑圧性能を保つことができるエコー抑圧処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明によるエコー抑圧処理装置は、第１の入力信号を出力することに起因するエコーを第２の入力信号から抑圧するエコー抑圧処理装置であって、前記第１の入力信号と第１の推定エコー経路特性を用いて第２の入力信号に含まれるエコー成分を推定する第１のエコー推定手段と、前記第１のエコー推定手段によって推定されたエコー成分を第２の入力信号から抑圧して第１のエコー低減信号を算出する第１のエコー抑圧手段と、前記第２の入力信号と前記第１のエコー低減信号の少なくとも一方の信号と前記第１の入力信号とを用いてエコー経路の特性を推定し、第１の推定エコー経路特性を更新するエコー経路特性推定手段と、前記第１の入力信号と第２の推定エコー経路特性を用いて第２の入力信号に含まれるエコー成分を推定する第２のエコー推定手段と、前記第２のエコー推定手段によって推定されたエコー成分を第２の入力信号から抑圧して第２のエコー低減信号を算出する第２のエコー抑圧手段と、第２の入力信号に含まれるノイズレベルを推定するノイズ推定手段と、第１の推定エコー経路特性と第２の推定エコー経路特性のいずれか一方の推定エコー経路特性を用いた他方の推定エコー経路特性の設定を、前記ノイズ推定手段によって推定されたノイズレベルに基づいて制御する制御手段を有することを特徴としている。
【発明の効果】
【０００８】
本発明によれば、処理量をそれほど増大させることなく、いかなるノイズレベルであっても高いエコー抑圧性能を保つことができるエコー抑圧処理装置を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施形態について図面を参照して説明する。
【実施例１】
【００１０】
図１は、第１の実施形態であるエコー抑圧処理装置の構成を示すブロック図である。本実施形態のエコー抑圧処理装置１は、エコー抑圧処理部１０２、エコー抑圧量推定部１０４、雑音推定部１０６から成り、スピーカ１０１とマイク１０５が接続されている。
【００１１】
本実施例では、エコー抑圧処理部１０２は、時間領域型の学習同定法（ＮＬＭＳアルゴリズム）でフィルタ係数の推定を行うＦＧ／ＢＧ方式によって動作するものとして説明する。ただし、時間領域型の学習同定法に限らず、アフィン射影法など他の適応アルゴリズムを用いても良いし、周波数領域型・サブバンド型であっても良い。
【００１２】
エコー抑圧処理装置１は、例えば携帯電話機などの通信機器（図示しない）に実装される。この回路の動作に先立って、通信機器の通信手段によって通信リンクが確立し、通信相手との双方向通話が可能な状態となる。この通信手段によって受信した受信データは、通信機器のデコーダ部によって所定の処理単位ごとに受話信号ｘ［ｎ］としてディジタル信号に復号される。なお、以降、通信機器のデコーダ部でのディジタル信号への復号の処理単位（１フレーム）はＦサンプルであり、サンプリング周波数はｆｓ（Ｈｚ）であるとする。
【００１３】
デコーダ部によって復号して得られたディジタル信号（受話信号ｘ［ｎ］）は、１フレームごとにエコー抑圧処理装置１のエコー抑圧処理部１０２へ出力される。また、このディジタル信号は図示しないＤ／Ａ変換器によってアナログ信号に変換され、スピーカ１０１に出力される。スピーカ１０１は、このアナログ信号に変換された受話信号ｘ（ｔ）を音響空間へ出力する。
【００１４】
マイク１０５は、音を収音してアナログ信号を取得する。このアナログ信号には、近端話者の音声ｓ（ｔ）に併せて、雑音や受話信号ｘ（ｔ）のエコーも含まれている。マイク１０５によって取得されたアナログ信号は、図示しないＡ／Ｄ変換器によってディジタル信号に変換され、送話入力信号ｚ［ｎ］としてエコー抑圧処理部１０２および雑音推定部１０６に出力される。
【００１５】
（雑音推定部１０６）
雑音推定部１０６には、送話入力信号ｚ［ｎ］が入力される。雑音推定部１０６は、送話入力信号ｚ［ｎ］に含まれる雑音レベルを１フレーム単位で推定し、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］として出力する。ここで、ｋはフレーム番号を表す。図２は、雑音推定部１０６の構成を示すブロック図である。雑音推定部１０６は、周波数領域変換部１０６Ａ、帯域雑音推定部１０６Ｂ、時間雑音推定部１０６Ｃから構成される。
【００１６】
周波数領域変換部１０６Ａは、送話入力信号ｚ［ｎ］をＦＦＴやＱＭＦなどの帯域分割フィルタバンクによって所定数ＢＡＮＤ（例えば、ＢＡＮＤ＝１６）のグループに帯域分割する。そして、帯域分割した送話入力信号を帯域雑音推定部１０６Ｂに出力する。
【００１７】
帯域雑音推定部１０６Ｂは、帯域分割された送話入力信号に基づいて、１フレーム単位で帯域ごとの周波数ノイズレベルＰＮｏｉｓｅ［ｋ，ｊ］を算出し、時間雑音推定部１０６Ｃへ出力する。帯域別の周波数ノイズレベルの算出については、例えば、米国で規格化された可変レート音声符号化である”Ｅｎｈａｎｃｅｄ  Ｖａｒｉａｂｌｅ  Ｒａｔｅ  Ｃｏｄｅｃ，Ｓｐｅｅｃｈ  Ｓｅｒｖｉｃｅ  Ｏｐｔｉｏｎ  ３  ｆｏｒ  Ｗｉｄｅｂａｎｄ  Ｓｐｒｅａｄ  Ｓｐｅｃｔｒｕｍ  Ｄｉｇｉｔａｌ  Ｓｙｓｔｅｍ”（ＴＩＡ  ＩＳ１２７）にオプションで規定されたノイズキャンセラにおける雑音推定処理や、ＩＴＵ−Ｔ規格Ｇ７２２．２に記載されているＶＡＤ（音声検出）における雑音推定処理や、特開２００１−３４４０００に記載されている帯域別の雑音パワー算出により、求められる。
【００１８】
時間雑音推定部１０６Ｃは、帯域雑音推定部１０６Ｂによって算出された周波数ノイズレベルＰＮｏｉｓｅ［ｋ，ｊ］を入力として、パーセバルの定理を利用して時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を算出する。このとき、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］は単位をｄＢとして算出する。
【数１】
0004945429.tif 000002
以上のように雑音推定部１０６は、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を算出し、エコー抑圧量推定部１０４とフィルタ制御部１０２Ｄへ出力する。
【００１９】
（エコー抑圧量推定部１０４）
エコー抑圧量推定部１０４は、エコー抑圧処理部１０２でのエコー抑圧量を推定し、推定したエコー抑圧量に基づいて、後述の適応学習部１０２Ａでのフィルタ係数の学習に用いる可変ステップサイズμ［ｎ］を制御する。
【００２０】
エコー抑圧推定部１０４には、受話信号ｘ［ｎ］、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］、およびエコー抑圧処理部１０２から送話出力信号として出力される残差信号ｅＦＧ［ｎ］が入力される。
【００２１】
エコー抑圧推定部１０４は、エコー抑圧量を推定するために、まず、受話信号ｘ［ｎ］のパワー特性Ｐｘ［ｎ］と、残差信号ｅＦＧ［ｎ］のパワー特性Ｐｅ［ｎ］とをサンプルごとに単位をｄＢとして算出する。そして、これらの値と時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を用いてエコー経路の利得の推定量を表すλ［ｎ］を算出する。λ［ｎ］の算出は、１サンプル前のλ［ｎ−１］の値が数２もしくは数３のどちらを満たすか判定し、判定結果に応じた式によって行う。
【数２】
0004945429.tif 000003
【数３】
0004945429.tif 000004
数２を満たす場合には、λ［ｎ］＝λ［ｎ−１］−δ１として算出する。それに対して、数３を満たす場合にはλ［ｎ］＝λ［ｎ−１］＋δ２として算出する。但し、λ［ｎ］の初期値は１であり、０＜λ［ｎ］≦１とする。また、δ１，δ２の値は、正定値であるとする。このように、最終的にはλが数４と等しくなるように１サンプルごとにλの値を変化させている。
【数４】
0004945429.tif 000005
更に、エコー抑圧量推定部１０４は、可変ステップサイズμ［ｎ］を制御するために用いる可変値φ［ｎ］（但し、φ［ｎ］＞０）の設定を行う。可変値φ［ｎ］の設定には、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］の値を用いる。時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］が所定の値よりも大きければ、φ［ｎ］＝φ［ｎ−１］＋δ３と設定してφ［ｎ］を大きくし、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］が所定の値よりも小さければ、φ［ｎ］＝φ［ｎ−１］−δ４と設定してφ［ｎ］を小さくする。また、δ３，δ４の値は、正定値であるとする。
【００２２】
そして、エコー経路の利得の推定量λ［ｎ］と可変値φ［ｎ］を用いて、可変ステップサイズμ［ｎ］を算出する。
【数５】
0004945429.tif 000006
但し、可変ステップサイズμ［ｎ］の初期値は１であるとし、０＜μ［ｎ］≦１とする。算出した可変ステップサイズμ［ｎ］は、エコー抑圧処理部１０２内の適応学習部１０２Ａに出力する。
【００２３】
このように、ノイズレベルを考慮して可変ステップサイズμ［ｎ］を算出するため、背景雑音が大きい場合でもエコー経路の利得の推定値の推定精度を向上することができる。このため、背景雑音が大きい場合にも可変ステップサイズμ［ｎ］を小さくし過ぎるようなことなく、適切な可変ステップサイズμ［ｎ］を設定することができ、エコー抑圧処理部１０２でのエコー抑圧量を大きくすることができる。
【００２４】
（エコー抑圧処理部１０２）
エコー抑圧処理部１０２について説明する。エコー抑圧処理部１０２は、エコー経路特性の推定値をフィルタ係数として設定されたフィルタを用いてエコー成分を推定し、送話入力信号ｚ［ｎ］からそのエコー成分を除去して、エコー除去後の残差信号ｅ［ｎ］を送話出力信号として出力する。エコー抑圧処理部１０２は、第１のエコー推定抑圧部１０２−１、第２のエコー推定抑圧部１０２−２、およびフィルタ制御部１０２Ｄから成る。第１のエコー推定抑圧部１０２−１は、適応学習部１０２ＡおよびＢＧフィルタ部１０２Ｂを含み、第２のエコー推定抑圧部１０２−２は、ＦＧフィルタ部１０２Ｅを含む。ここでは、ＢＧフィルタとＦＧフィルタのフィルタ長が共にＬであるとする。フィルタ制御部１０２Ｄは、ＦＧフィルタとＢＧフィルタのフィルタ係数を一方から他方へ転用するか否かを判定し、フィルタ係数の転用の制御を行う。
【００２５】
第１のエコー推定抑圧部１０２−１、第２のエコー推定抑圧部１０２−２、フィルタ制御部１０２Ｄの各部の処理について説明する。
【００２６】
（第１のエコー推定抑圧部１０２−１）
第１のエコー推定抑圧部１０２−１は、ＢＧフィルタ部１０２Ｂ、減算部１０２Ｃ、適応学習部１０２Ａから構成される。
【００２７】
ＢＧフィルタ部１０２Ｂは、受話信号ｘ［ｎ］と適応学習部１０５Ａによって学習されたフィルタ係数ｈＢＧ［ｎ，ｉ］（ただし、ｉ＝０，１，・・・，Ｌ−１）とを入力として、数６によって擬似エコー信号ｙＢＧ［ｎ］を算出する。
【数６】
0004945429.tif 000007
ＢＧフィルタ部１０２Ｂによって算出された擬似エコー信号ｙＢＧ［ｎ］は、減算器１０２Ｃへ出力される。減算器１０２Ｃでは、擬似エコー信号ｙＢＧ［ｎ］と送話入力信号ｚ［ｎ］とを入力として、数７によって残差信号ｅＢＧ［ｎ］を算出し、適応学習部１０２Ａと、フィルタ制御部１０２Ｄに出力する。
【数７】
0004945429.tif 000008
適応学習部１０２Ａでのフィルタ係数ｈＢＧ［ｎ，ｉ］の学習は、受話信号ｘ［ｎ］、減算部１０２Ｃから出力された残差信号ｅＢＧ［ｎ］、およびエコー抑圧量推定部１０４から出力される可変ステップサイズμ［ｎ］を入力として、学習同定法により行う。
【数８】
0004945429.tif 000009
（第２のエコー推定抑圧部１０２−２）
第２のエコー推定抑圧部１０２−２は、ＦＧフィルタ部１０２Ｅ、減算器１０２Ｆから構成される。
【００２８】
ＦＧフィルタ部１０２Ｅは、受話信号ｘ［ｎ］とフィルタ係数ｈＦＧ［ｎ，ｉ］とを入力として、数９によって擬似エコー信号ｙＦＧ［ｎ］を算出する。
【数９】
0004945429.tif 000010
ＦＧフィルタ部１０２Ｅによって算出された擬似エコー信号ｙＦＧ［ｎ］は、減算器１０２Ｆに出力される。減算器１０２Ｆでは、送話入力信号ｚ［ｎ］と擬似エコー信号ｙＦＧ［ｎ］とを入力として、数１０によって残差信号ｅＦＧ［ｎ］を算出し、フィルタ制御部１０２Ｄ、エコー抑圧量推定部１０４へ出力する。
【数１０】
0004945429.tif 000011
また、残差信号ｅＦＧ［ｎ］は、送話出力信号として図示しないエンコーダ部に出力され、エンコーダ部によって１フレームごとに符号化されて、通信手段によって送信される。
【００２９】
（フィルタ制御部１０２Ｄ）
フィルタ制御部１０２Ｄの構成を図３に示す。フィルタ制御部１０２Ｄは、判定部１０２Ｄ−Ａ、第１の切換部１０２Ｄ−Ｂ、および第２の切換部１０２Ｄ−Ｃを備える。
【００３０】
判定部１０２Ｄ−Ａは、ＦＧフィルタ部１０２ＥからＢＧフィルタ部１０２Ｂへフィルタ係数を転用するか否か、また、ＢＧフィルタ部１０２ＢからＦＧフィルタ部１０２Ｅへフィルタ係数を転用するか否かの判定を行い、判定結果に応じて、第１の切換部１０２Ｄ−Ｂおよび第２の切換部１０２Ｄ−Ｃの切換を制御する。
【００３１】
判定部１０２Ｄ−Ａへの入力信号は、残差信号ｅＢＧ［ｎ］、残差信号ｅＦＧ［ｎ］、送話入力信号ｚ［ｎ］、および雑音推定部１０６から出力される時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］である。また、エコー抑圧量推定部１０４から出力される可変ステップサイズμ［ｎ］も判定に用いても良い。
【００３２】
可変ステップサイズμ［ｎ］を判定に用いない場合、判定部１０２Ｄ−Ａは、数１１および数１２を用いてＢＧフィルタ部１０２ＢからＦＧフィルタ部１０２Ｅへフィルタ係数を転用するか否か判定を行う。数１１と数１２に示した条件の両方とも満たす状態が所定の期間（Ｄフレーム）継続する場合、第１の切換部１０２Ｄ−Ｂのパスを接続するように切り換える。これによって、ＢＧフィルタ部１０２Ｂはフィルタ係数ｈＢＧ［ｎ，ｉ］をＦＧフィルタ部１０２Ｅに出力し、ＦＧフィルタ部１０２Ｅは、ｈＦＧ［ｎ，ｉ］に、ｈＢＧ［ｎ，ｉ］の値を格納する。
【数１１】
0004945429.tif 000012
【数１２】
0004945429.tif 000013
また、判定部１０２Ｄ−Ａは、数１３及び数１４を用いてＦＧフィルタ部１０２ＥからＢＧフィルタ部１０２Ｂへフィルタ係数を転用するか否か判定を行う。数１３と数１４に示した条件の両方とも満たす状態が所定の期間（Ｄフレーム）継続する場合、第２の切換部１０２Ｄ−Ｃのパスを接続するように切り換える。もしくは、数１４の条件を用いずに、数１３の条件を満たす状態が所定のＤフレーム継続した場合に、第２の切換部１０２Ｄ−Ｃのパスを接続するように切り換えても良い。第２の切換部１０２Ｄ−Ｃを接続することによって、ＦＧフィルタ部１０２Ｅはフィルタ係数ｈＦＧ［ｎ，ｉ］をＢＧフィルタ部１０２Ｂに出力し、ＢＧフィルタ部１０２Ｂは、ｈＢＧ［ｎ，ｉ］に、ｈＦＧ［ｎ，ｉ］の値を格納する。
【数１３】
0004945429.tif 000014
【数１４】
0004945429.tif 000015
なお、数１１乃至数１４で用いたＭとＤは正定値、βは０＜β＜１を満たす値、αとδは０＜α＜δを満たす値とした。また、γ≧１．０、ε≧１．０であり、例えばγの値をγ＝１．１とし、εの値をε＝１．１とする。
【００３３】
このように、第１の切換部１０２Ｄ−Ｂと第２の切換部１０２Ｄ−Ｃの切り換え条件として、フィルタ係数ｈＢＧ［ｎ，ｉ］をＦＧフィルタ部１０２Ｅへフィルタ係数ｈＦＧ［ｎ，ｉ］として出力することの条件として、数１１と数１３のようなＢＧフィルタ部１０２ＢとＦＧフィルタ部１０２Ｅのフィルタ性能を比較する条件だけでなく、数１２と数１４のようなノイズレベルを考慮した条件を用いる。
【００３４】
適応フィルタを用いる場合、残差信号のパワーは、ノイズのパワーよりも通常大きくなる。数１２や数１４は、ノイズと残差信号とのパワー比がどのくらい１に近づいているかを判定する式であり、エコー抑圧できる限界レベルはノイズレベルと同等であると仮定して、残差信号ｅＦＧ［ｎ］と残差信号ｅＢＧ［ｎ］とがエコー抑圧できる限界レベルであるノイズレベルに近い値かどうかを監視している。そのため、ノイズが大きい環境下であっても、ＢＧフィルタ部１０２ＢとＦＧフィルタ部１０２Ｅとで精度良くエコー抑圧ができているかどうかを判定し、適切にフィルタ係数を設定することができるので、エコー抑圧性能を向上することができる。
【００３５】
エコー抑圧量推定部１０４から出力される可変ステップサイズμ［ｎ］も判定部１０２Ｄ−Ａの判定に用いる場合には、数１１に示した条件と数１５に示した条件がＤフレーム継続するかどうかを判定し、数１２と数１５に示した条件の両方とも満たす状態がＤフレーム継続する場合、第１の切換部１０２Ｄ−Ｂのパスを接続するように切り換える。
【数１５】
0004945429.tif 000016
なお、第２の切換部１０２Ｄ−Ｃの切り換えは、可変ステップサイズμ［ｎ］を用いないときと同様、数１３および数１４の両方がＤフレーム継続するか否か（もしくは数１３がＤフレーム継続するか否か）を判定することによって行う。
【００３６】
可変ステップサイズμ［ｎ］は初期値を１として、１フレームの処理ごとに変更していくため、通話初期状態での可変ステップサイズμ［ｎ］は１に近い値となる。そこで、数１５に示したように可変ステップサイズμ［ｎ］に応じてフィルタ係数ｈＢＧ［ｎ，ｉ］をＦＧフィルタ部１０２Ｅへ出力する条件を変えることによって、通話初期においてフィルタ係数ｈＢＧ［ｎ，ｉ］がＦＧフィルタ部１０２Ｅへ出力されないことによるエコー抑圧性能の劣化を防ぐことができる。
【００３７】
以上のような構成のエコー抑圧処理装置１が１フレームの受話信号ｘ［ｎ］と送話入力信号ｚ［ｎ］とを取得して、エコー抑圧処理を行うときの処理の流れを図４に示す。エコー抑圧処理装置１にマイクで収音された音がＡ／Ｄ変換された送話入力信号ｚ［ｎ］が入力されると、雑音推定部１０６によって送話入力信号ｚ［ｎ］に含まれる時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を算出する（Ｓ１０１）。そして、第１のエコー推定抑圧部１０２−１と第２のエコー推定抑圧部１０２−２それぞれで、擬似エコー信号を生成する（Ｓ１０２、Ｓ１０５）。この擬似エコー信号を送話入力信号から減算処理し、第１のエコー推定抑圧部１０２−１の残差信号ｅＢＧ［ｎ］と、第２のエコー推定抑圧部１０２−２の残差信号ｅＦＧ［ｎ］とを算出する（Ｓ１０３、Ｓ１０６）。
【００３８】
その後、第１のエコー推定抑圧部１０２−１では、ステップＳ１０３によって得られた残差信号ｅＢＧ［ｎ］に基づいて、ＢＧフィルタ部１０２Ｂのフィルタ係数の適応学習処理を行い、ｈＢＧ［ｎ＋１，ｉ］を算出する（Ｓ１０４）。
【００３９】
第２のエコー推定抑圧部１０２−２で得られた残差信号ｅＦＧ［ｎ］は、送話出力信号として、携帯電話機などのエンコーダに出力される。また、残差信号ｅＦＧ［ｎ］を用いて、エコー抑圧量推定部１０４ではエコーの抑圧量を推定し、その値に基づいて、実行される第１のエコー推定抑圧部１０２−１の適応学習処理に用いる可変ステップサイズμ［ｎ＋１］を算出する（Ｓ１０７）。
【００４０】
そして、ステップＳ１０８乃至ステップＳ１１１では、フィルタ制御部１０２Ｄによって、ＦＧフィルタの係数を更新するか否か、ＢＧフィルタの係数を更新するか否かを判定し、判定結果に基づいて係数の更新を行う。このときのフィルタ係数更新の判定にはステップＳ１０１の雑音推定処理において推定された時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を用いる。
【００４１】
このように、送話入力信号ｚ［ｎ］に含まれる時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］の値をステップＳ１０１でまず算出し、この値を用いて、ステップＳ１０８乃至ステップＳ１１１でのフィルタ係数の更新判定を行う。そのため、フィルタ係数の更新判断においては、ノイズレベルに基づいてフィルタ係数の更新判断を適切に行うことができるため、エコー抑圧性能の劣化を防ぐことができる。また、ステップＳ１０７でのステップサイズ更新にもノイズレベルを用いる場合には、背景雑音が大きい場合でも、エコー経路の利得の推定値を算出するときの推定精度が向上するため、更にエコー抑圧を精度良く行うことができる。そのうえ、これらに用いるノイズレベルの算出では、処理量をそれほど増大させることはない。
【００４２】
以上のように、適応学習を行うＢＧフィルタと適応学習を行わないＦＧフィルタによってエコー成分の推定生成を行い、ノイズレベルに従ってエコー成分の推定生成に用いるフィルタ係数を一方から他方に転用することで、ノイズが大きい場合にも、処理量を増大させずに、エコー抑圧性能の劣化を防ぐことができる。
【００４３】
なお、上記実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において、適宜変更しても良い。例えば、本実施形態の説明では、ステップサイズを可変としたが、ステップサイズを固定としても良いし、ダブルトーク検出部を更に備え、ダブルトークか否かに応じて適応学習部を制御しても良い。
【実施例２】
【００４４】
図５は、第２の実施形態であるエコー抑圧処理装置の構成を示すブロック図である。第１の実施形態のエコー抑圧処理装置１と同一の動作の部分は、図１と同じ符号を付与し、説明を省略する。また、第２の実施形態に係るエコー抑圧処理装置も、第１の実施形態のエコー抑圧処理装置１と同様、時間領域型の学習同定法（ＮＬＭＳアルゴリズム）で動作するとして説明するが、アフィン射影法など他のアルゴリズムを用いても良いし、周波数領域型・サブバンド型であっても良い。
【００４５】
第２の実施形態のエコー抑圧処理装置２は第１の実施形態のエコー抑圧処理装置１と比較して、ダブルトーク検出部を有するエコー抑圧処理部２０３が更に設けられるとともに、エコー抑圧処理部２０３とエコー抑圧処理部１０２とのフィルタ係数更新を制御するフィルタ制御部２０８および、エコー抑圧処理部１０２とエコー抑圧処理部２０３のどちらか一方によってエコー抑圧処理を行うよう制御し、送話出力信号ｅ［ｎ］を出力する制御部２０７が更に設けられている。
【００４６】
（エコー抑圧量推定部２０４）
エコー抑圧量推定部２０４には、受話信号ｘ［ｎ］、送話入力信号ｚ［ｎ］、送話出力信号ｅ［ｎ］、および雑音推定部１０６から出力された時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］が入力され、これらの値に基づいてエコー抑圧量を推定し、推定したエコー抑圧量に基づいて可変ステップサイズμ［ｎ］を制御する。
【００４７】
エコー抑圧量推定部２０４は、まず、送話入力信号ｚ［ｎ］のパワー特性Ｐｚ［ｎ］、受話信号ｘ［ｎ］のパワー特性Ｐｘ［ｎ］、および送話出力信号ｅ［ｎ］のパワー特性Ｐｅ［ｎ］をサンプルごとに単位をｄＢとして算出する。そして、パワー特性Ｐｘ［ｎ］、パワー特性Ｐｅ［ｎ］、および時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を用いて、エコー経路の利得の推定量を表すλ［ｎ］を算出する。λ［ｎ］の算出は、１サンプル前のλ［ｎ−１］の値が数１６もしくは数１７のどちらを満たすか判定し、判定結果に応じた式によって行う。
【数１６】
0004945429.tif 000017
【数１７】
0004945429.tif 000018
数１６を満たす場合には、λ［ｎ］＝λ［ｎ−１］−δ１として算出する。それに対して、数１７を満たす場合にはλ［ｎ］＝λ［ｎ−１］＋δ２として算出する。但し、λ［ｎ］の初期値は１であり、０＜λ［ｎ］≦１とする。また、δ１，δ２の値は、正定値であるとする。このように、最終的にはλが数１８と等しくなるように１サンプルごとにλの値を変化させている。
【数１８】
0004945429.tif 000019
更に、エコー抑圧量推定部２０４は、可変ステップサイズμ［ｎ］を制御するために用いる可変値φ［ｎ］（但し、φ［ｎ］＞０）の設定を行う。可変値φ［ｎ］の設定には、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］の値を用いる。時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］が所定の値よりも大きければ、φ［ｎ］＝φ［ｎ−１］＋δ３と設定してφ［ｎ］を大きくし、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］が所定の値よりも小さければ、φ［ｎ］＝φ［ｎ−１］−δ４と設定してφ［ｎ］を小さくする。また、δ３，δ４の値は、正定値であるとする。
【００４８】
そして、エコー経路の利得の推定量λ［ｎ］と可変値φ［ｎ］を用いて、可変ステップサイズμ［ｎ］を算出する。但し、可変ステップサイズμ［ｎ］の初期値は１であるとし、０＜μ［ｎ］≦１とする。
【数１９】
0004945429.tif 000020
このようにエコー算出部２０４で算出した可変ステップサイズμ［ｎ］は、エコー抑圧処理部１０２内の適応学習部１０２Ａ、フィルタ制御部１０２Ｄ、およびエコー抑圧処理部２０３内の適応学習部２０３Ｂに出力する。
【００４９】
また、エコー算出部２０４で算出したパワー特性Ｐｚ［ｎ］、パワー特性Ｐｘ［ｎ］、パワー特性Ｐｅ［ｎ］、およびエコー経路の利得の推定値λ［ｎ］とは、エコー抑圧処理部２０３内のダブルトーク検出部２０３Ａに出力する。
【００５０】
（エコー抑圧処理部２０３）
エコー抑圧処理部２０３は、ダブルトーク検出部２０３Ａ、適応学習部２０３Ｂ、適応フィルタ部２０３Ｃ、減算器２０３Ｄから構成され、適応学習部２０３Ｂによってエコー経路特性の推定値であるフィルタ係数を学習し、適応フィルタ部２０３Ｃでは、このフィルタ係数を用いて擬似エコーを生成する。ただし、適応学習部２０３Ｂは、ダブルトーク検出部２０３Ａのダブルトークであるか否かの判定に応じて学習処理の実行を制御する。ここで、適応フィルタ部２０３Ｃのフィルタ長はＬで、ＢＧフィルタやＦＧフィルタのフィルタ長と等しいとする。以下、エコー抑圧処理部２０３の構成要素についてそれぞれ説明する。
【００５１】
適応フィルタ部２０３Ｃは、受話信号ｘ［ｎ］と後述の適応学習部２０３Ｂから出力されるフィルタ係数ｈＡＦ［ｎ，ｉ］（ただし、ｉ＝０，１，・・・，Ｌ−１）とが入力され、擬似エコー信号ｙＡＦ［ｎ］を算出する。
【数２０】
0004945429.tif 000021
そして、算出した擬似エコー信号ｙＡＦ［ｎ］は、減算器２０３Ｄへ出力する。また、後述のフィルタ制御部２０８の制御に応じて、フィルタ制御部２０８へフィルタ係数ｈＡＦ［ｎ，ｉ］を出力する。
【００５２】
減算器２０３Ｄは、送話入力信号ｚ［ｎ］と擬似エコー信号ｙＡＦ［ｎ］とが入力され、残差信号ｅＡＦ［ｎ］を算出する。
【数２１】
0004945429.tif 000022
そして、算出した残差信号ｅＡＦ［ｎ］を制御部２０７へ出力するとともに、適応学習部２０３Ｂへ出力する。
【００５３】
ダブルトーク検出部２０３Ａには、エコー抑圧量推定部２０４から出力されたパワー特性Ｐｚ［ｎ］、パワー特性Ｐｘ［ｎ］、パワー特性Ｐｅ［ｎ］、およびエコー経路の利得の推定値λ［ｎ］が入力され、これらの値を用いてダブルトークであるか否かを判定する。そして、この判定に基づいて、適応学習部２０３Ｂで適応フィルタ部２０３Ｃのフィルタ係数を学習するかどうか制御するために、制御信号ｓｔａｔｅ［ｎ］を適応学習部２０３Ｂへ出力する。
【００５４】
ダブルトークであるか否かの判定には、数２２および数２３を用いる。数２２または数２３のいずれか一方でも満たす場合にダブルトークの状態であると判定し、数２２も数２３も満たさない場合にはシングルトークの状態であると判定する。なお、数２３で用いるδは、動作開始前に予め設定される正の固定値である。
【数２２】
0004945429.tif 000023
【数２３】
0004945429.tif 000024
以上の条件に基づいてダブルトークであると判定した場合には、ｓｔａｔｅ［ｎ］＝０として適応学習部２０３Ｂへ出力し、シングルトークであると判定した場合には、ｓｔａｔｅ［ｎ］＝１として適応学習部２０３Ｂへ出力する。
【００５５】
適応学習部２０３Ｂには、受話信号ｘ［ｎ］、可変ステップサイズμ［ｎ］、制御信号ｓｔａｔｅ［ｎ］、および後述の減算器２０３Ｄによって算出される残差信号ｅＡＦ［ｎ］が入力される。
【００５６】
適応学習部２０３Ｂでは、まず制御信号ｓｔａｔｅ［ｎ］を用いて、適応フィルタ部２０３Ｃのフィルタ係数ｈＡＦ［ｎ，ｉ］を学習するか否かを判定する。制御信号ｓｔａｔｅ［ｎ］＝０のときには、ダブルトーク検出部２０３Ａでダブルトーク状態であると判定されている状態であるため、フィルタ係数ｈＡＦ［ｎ，ｉ］の学習を行わない。
【００５７】
制御信号ｓｔａｔｅ［ｎ］＝１の場合には、学習同定法により、フィルタ係数ｈＡＦ［ｎ，ｉ］の学習を行い、フィルタ係数ｈＡＦ［ｎ＋１，ｉ］を適応フィルタ部２０３Ｃに出力して更新する。
【数２４】
0004945429.tif 000025
（制御部２０７）
制御部２０７は、雑音推定部１０６から出力される時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を用いて、エコー抑圧処理１０２とエコー抑圧処理２０３のどちらか一方を動作させるよう制御する。
【００５８】
具体的には、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］と所定の閾値Ｎｔｈとを比較し、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］＜Ｎｔｈである場合には、ダブルトーク検出部を備えないで常にフィルタ係数の適応学習処理を実行するエコー抑圧処理部１０２を動作させるよう制御する。エコー抑圧処理部１０２を動作させたとき、制御部２０７にはエコー抑圧処理部１０２から残差信号ｅＦＧ［ｎ］が入力され、制御部２０７は、残差信号ｅＦＧ［ｎ］を送話出力信号ｅ［ｎ］として出力する。
【００５９】
それに対して、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］がＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］≧Ｎｔｈとなる場合には、ダブルトーク検出部を備えてダブルトークであるか否かによってフィルタ係数を学習するエコー抑圧処理部２０３を動作させるよう制御する。このとき、制御部２０７は、エコー抑圧処理部２０３からの出力である残差信号ｅＡＦ［ｎ］を送話出力信号ｅ［ｎ］として出力する。
【００６０】
なお、制御部２０７から出力された送話出力信号ｅ［ｎ］は、図示しないエンコーダに入力され、エンコーダによって送信データに１フレームごとに符号化され、図示しない無線通信部によって送信される。
【００６１】
このように、エコー抑圧処理部１０２とエコー抑圧処理部２０３のいずれか一方が動作してエコー抑圧処理を行う構成となっており、どちらが動作するかは時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］で表される雑音レベルに基づいて判定する。なお、エコー抑圧処理部１０２によってエコー抑圧処理を行う状態とエコー抑圧処理部２０３によってエコー抑圧処理を行う状態とが頻繁に切り換わるのを防ぐために、ハングオーバータイムを設けても良い。
【００６２】
（フィルタ制御部２０８）
フィルタ制御部２０８は、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］に基づいて、エコー抑圧処理部２０３とエコー抑圧処理部１０２とのフィルタ係数の入出力を制御する。
【００６３】
図６は、フィルタ制御部２０８の構成を示す図である。フィルタ制御部２０８は、判定部２０８Ａ、第１の切換部２０８Ｂ、第２の切換部２０８Ｃを備える。
【００６４】
判定部２０８Ａには、雑音推定部１０６からノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］が入力される。判定部２０８Ａは、このノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］と、所定の閾値Ｎｔｈとを比較し、その比較結果に基づいて、第１の切換部２０８Ｂと第２の切換部２０８Ｃを切り換える。
【００６５】
具体的には、判定部２０８Ａは、１つ前の時刻の時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］がＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］≧Ｎｔｈであり、かつＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］＜Ｎｔｈとなる場合には、第１の切換部２０８Ｂのパスを接続するように切り換える。
【００６６】
このように、第１の切換部２０８Ｂのパスを接続するように切り換えることによって、エコー抑圧処理部２０３の適応フィルタ部２０３Ｃはフィルタ係数ｈＡＦ［ｎ，ｉ］をフィルタ制御部２０８を介してエコー抑圧処理部１０２に出力し、ＢＧフィルタ部１０２Ｂはフィルタ係数ｈＢＧ［ｎ，ｉ］としてｈＡＦ［ｎ，ｉ］の値を格納し、ＦＧフィルタ部１０２Ｅはフィルタ係数ｈＦＧ［ｎ，ｉ］としてｈＡＦ［ｎ，ｉ］の値を格納する。
【００６７】
第１の切換部２０８Ｂのパスを接続する条件の１つであるＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］≧Ｎｔｈを満たすということは、１つ前の時刻では、エコー抑圧処理部２０３が動作するよう制御部２０７によって制御されていたことを示している。また、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］＜Ｎｔｈを満たすということは、現在はエコー抑圧処理部１０２が動作するよう制御部２０７によって制御されることを示す。すなわち、エコー抑圧処理部２０３が動作していた状態から、エコー抑圧処理部１０２が動作する状態に変わるときに、エコー抑圧処理部２０３のフィルタ係数をエコー抑圧処理部１０２へ出力する。
【００６８】
一方、判定部２０８Ａは、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］＜Ｎｔｈであり、かつＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］≧Ｎｔｈとなる場合には、第２の切換部２０８Ｃのパスを接続するように切り換える。これによって、エコー抑圧処理部１０２のＦＧフィルタ部１０２Ｅからフィルタ係数ｈＦＧ［ｎ，ｉ］を適応フィルタ部２０３Ｃに出力し、適応フィルタ部２０３Ｃは、フィルタ係数ｈＡＦ［ｎ，ｉ］として、フィルタ係数ｈＦＧ［ｎ，ｉ］の値を格納する。なお、エコー抑圧処理部１０２から出力されるのは、ＦＧフィルタ部１０２Ｅのフィルタ係数ｈＦＧ［ｎ，ｉ］に限定されるのではなく、ＢＧフィルタ部１０２Ｂのフィルタ係数ｈＢＧ［ｎ，ｉ］とＦＧフィルタ部１０２Ｅのフィルタ係数ｈＦＧ［ｎ，ｉ］の線形和（例えば、平均）であっても良い。
【００６９】
第２の切換部２０８Ｃのパスを接続する条件の１つであるＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］＜Ｎｔｈを満たすということは、１つ前の時刻では、エコー抑圧処理部１０２が動作するよう制御部２０７によって制御されていたことを示している。また、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］≧Ｎｔｈを満たすということは、現在はエコー抑圧処理部２０３が動作するよう制御部２０７によって制御されることを示す。すなわち、エコー抑圧処理部１０２が動作していた状態から、エコー抑圧処理部２０３が動作する状態に変わるときに、エコー抑圧処理部１０２のフィルタ係数をエコー抑圧処理部２０３へ出力する。
【００７０】
このように、フィルタ制御部２０８は、第１の切換部２０８Ｂと第２の切換部２０８Ｃのそれぞれを接続または開放するよう切り換えることによって、エコー抑圧処理部２０３からエコー抑圧処理部１０２へのフィルタ係数の出力とエコー抑圧処理部１０２からエコー抑圧処理部２０３へのフィルタ係数の出力とを制御する。
【００７１】
以上のような構成のエコー抑圧処理装置２が１フレームの受話信号ｘ［ｎ］と送話入力信号ｚ［ｎ］とを取得して、エコー抑圧処理を行うときの処理の流れを図７に示す。なお、図７では、図４に示したエコー抑圧処理と共通するステップを同じ記号で示す。また、図７では、制御部２０７によってエコー抑圧処理部１０２のエコー抑圧処理とエコー抑圧処理部２０３のエコー抑圧処理とが頻繁に切り換わらないようにするためのハングオーバータイムは設定しないものとして説明する。
【００７２】
エコー抑圧処理装置２にマイクで収音された音がＡ／Ｄ変換されて送話入力信号ｚ［ｎ］として入力されると、雑音推定部１０６は送話入力信号ｚ［ｎ］に含まれる時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を算出する（Ｓ１０１）。そして、制御部２０７は、この時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］の値が所定の閾値以上であるか否かを判定する（Ｓ２０１）。時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］が所定の閾値以上である場合には（Ｓ２０１のＹｅｓ）、ステップＳ２０４乃至ステップＳ２０９に示すエコー抑圧処理部２０３でのエコー抑圧処理を動作させる。また、１つ前の時刻の雑音レベルが所定の閾値未満であったならば（Ｓ２０２のＹｅｓ）、エコー抑圧処理部２０３でのエコー抑圧処理に先立って、エコー抑圧処理部１０２からエコー抑圧処理部２０３へフィルタ係数の転送処理を行う（Ｓ２０３）。エコー抑圧処理部２０３は適応フィルタ部２０３Ｃによって擬似エコー信号を生成し（Ｓ２０４）、減算器２０３Ｄによって送話入力信号ｚ［ｎ］からこの擬似エコー信号を差し引いて残差信号ｅＡＦ［ｎ］を算出し（Ｓ２０５）、残差信号ｅＡＦ［ｎ］を制御部２０７へ出力する。
【００７３】
そして、エコー抑圧量推定部２０４は、ステップＳ２０５によって算出された残差信号ｅＡＦ［ｎ］の値を用いて、エコー抑圧処理部２０３でのエコーの抑圧量が推定し、このエコー抑圧量の推定値に基づいて可変ステップサイズμ［ｎ］を制御する（Ｓ２０６）。
【００７４】
また、エコー抑圧処理部２０３のダブルトーク検出部２０３Ａはダブルトーク状態かシングルトーク状態かを検出して、その検出結果を適応学習部２０３Ｂに出力する（Ｓ２０７）。適応学習部２０３Ｂは、ダブルトーク検出部２０３Ａにおいてシングルトーク状態であると判定されたとき（Ｓ２０８のＮｏ）、受話信号ｘ［ｎ］、ステップＳ２０５で算出された残差信号ｅＡＦ［ｎ］、およびステップＳ２０６で制御された可変ステップサイズμ［ｎ］を用いてフィルタ係数の学習を行う（Ｓ２０９）。
【００７５】
一方、ステップＳ２０１において、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］の値が所定の閾値未満であると判定された場合（Ｓ２０１のＮｏ）、ステップＳ１０２乃至ステップＳ１１１に示すエコー抑圧処理部１０２でのエコー抑圧処理を動作させる。また、１つ前の時刻の雑音レベルが所定の閾値以上であったならば（Ｓ２１０のＹｅｓ）、エコー抑圧処理部１０２でのエコー抑圧処理の動作に先立って、エコー抑圧処理部２０３からエコー抑圧処理部１０２へフィルタ係数の転送処理を行う（Ｓ２１１）。
【００７６】
エコー抑圧処理部１０２では、実施例１で示したエコー抑圧処理装置１と同様に、ＢＧフィルタ部１０２ＢとＦＧフィルタ部１０２Ｅの両方で擬似エコー信号を生成し（Ｓ１０２、Ｓ１０５）、それぞれの擬似エコー信号を送話入力信号から差し引くことによって残差信号ｅＢＧ［ｎ］およびｅＦＧ［ｎ］を算出し（Ｓ１０３、Ｓ１０６）、残差信号ｅＦＧ［ｎ］は制御部２０７へ出力する。
【００７７】
エコー抑圧量推定部２０４は、この残差信号ｅＦＧ［ｎ］の値を用いて、エコー抑圧処理部１０２でのエコーの抑圧量を推定し、このエコー抑圧量の推定値に基づいて可変ステップサイズμ［ｎ］を制御する（Ｓ１０７）。
【００７８】
また、ＢＧフィルタ部１０２Ｂのフィルタ係数は適応学習部１０２Ａによって学習を行って更新する（Ｓ１０４）。
【００７９】
その後、ステップＳ１０１によって算出された時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］の値を用いて、ＢＧフィルタ部１０２Ｂのフィルタ係数をＦＧフィルタ１０２Ｅへ転送するか否か、また、ＦＧフィルタ１０２Ｅのフィルタ係数をＢＧフィルタ１０２Ｂへ転送するか否かを判定し、判定結果に応じてフィルタ係数を転送する（Ｓ１０８〜Ｓ１１１）。
【００８０】
このように、エコー抑圧処理装置２では、ノイズレベルによってＢＧフィルタとＦＧフィルタのフィルタ係数転送を制御するだけでなく、ノイズレベルに応じてエコー抑圧処理部２０３とエコー抑圧処理部１０２のどちらでエコー抑圧処理を実行するかを判定する。
【００８１】
ノイズに対して頑健性を高めたダブルトーク検出器（ＤＴＤ）を備えたエコー抑圧処理部２０３でのエコー抑圧処理と、ＤＴＤを備えないで常時適応学習する適応学習部２０３Ｂを含むエコー抑圧処理部１０２でのエコー抑圧処理のエコー抑圧性能を比較すると、ある程度ノイズがある環境では、ＤＴＤを備えたエコー抑圧処理部２０３の方がよりエコー抑圧性能が高く、ほぼノイズがない環境ではエコー抑圧処理部１０２の方がよりエコー抑圧性能が高い。更に、ノイズが大きくかつダブルトークの状態では、ＤＴＤを備えたエコー抑圧処理部２０３の方がエコー抑圧性能は高くなる。
【００８２】
そのため、ノイズに対して頑健性を高めたＤＴＤを備えたエコー抑圧処理と、ＤＴＤを備えないで常時適応学習する処理を含むエコー抑圧処理とをノイズレベルに基づいて切り換えることによって、いかなるノイズレベルであってもエコー抑圧性能が高い状態を保つことができる。なお、この切り換えの判定に用いるのはノイズレベルであるため、処理量をそれほど増やさずに実現することができる。
【００８３】
また、エコー抑圧処理装置２では、ＤＴＤを備えたエコー抑圧処理とＤＴＤを備えないで常時適応学習する処理を含むエコー抑圧処理とを切り換えるタイミングを、１つ前の時刻のノイズレベルと現在のノイズレベルとに基づいて判定し、エコー抑圧処理を切り換える直前に用いていたフィルタ係数を、切り換え後にエコー抑圧処理を実行するフィルタへ転送する。これによって、最新のエコー経路特性に追従することが可能となり、エコー抑圧性能の劣化を防止することができる。
【００８４】
更に、エコー抑圧処理装置２では、適応学習に関する内部状態（可変ステップサイズなど）を、ＤＴＤを備えたエコー抑圧処理部２０３とＤＴＤを備えずに常時適応学習する処理を含むエコー抑圧処理部１０２とで別個に算出するのではなく、共通に用いて、どちらのエコー抑圧処理を実行しても、その処理結果に基づいてこの適応学習に関する内部状態を更新することによって、処理量を増大させることなく、最新のエコー経路特性に追従することが可能となり、エコー抑圧性能の劣化を防止することができる。
【００８５】
なお、上記実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において、適宜変更しても良い。
【００８６】
変更の一例としては、エコー抑圧処理部１０２とエコー抑圧処理部２０３の両方が動作してエコー抑圧処理を行う構成としてもよい。このとき、制御部２０７は、どちらの残差信号を出力するか、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］で表される雑音レベルに基づいて判定する。
【００８７】
このように制御部２０７でどちらの残差信号を出力するか判定するには、例えば、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］と所定の閾値Ｎｔｈとの比較によって判定する方法がある。時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］と所定の閾値Ｎｔｈとを比較し、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］＜Ｎｔｈである場合には、ダブルトーク検出部を備えないで常にフィルタ係数の適応学習処理を実行するエコー抑圧処理部１０２から制御部２０７に残差信号ｅＦＧ［ｎ］が入力され、制御部２０７は、残差信号ｅＦＧ［ｎ］を送話出力信号ｅ［ｎ］として出力する。それに対して、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］がＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］≧Ｎｔｈとなる場合には、ダブルトーク検出部を備えてダブルトークであるか否かによってフィルタ係数を学習するエコー抑圧処理部２０３から制御部２０７に残差信号ｅＡＦ［ｎ］が入力され、制御部２０７は、残差信号ｅＡＦ［ｎ］を送話出力信号ｅ［ｎ］として出力する。
【００８８】
あるいは、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］と残差信号ｅＡＦとのパワー比がどのくらい１に近づいているかによってどちらの残差信号を出力するか判定しても良い。数２５と数２６に示した条件の両方とも満たす状態が所定の期間（Ｄフレーム）継続する場合には、ダブルトーク検出部を備えてダブルトークであるか否かによってフィルタ係数を学習するエコー抑圧処理部２０３から制御部２０７に残差信号ｅＡＦ［ｎ］が入力され、制御部２０７は、残差信号ｅＡＦ［ｎ］を送話出力信号ｅ［ｎ］として出力する。それ以外の場合には、ダブルトーク検出部を備えないで常にフィルタ係数の適応学習処理を実行するエコー抑圧処理部１０２から制御部２０７に残差信号ｅＦＧ［ｎ］が入力され、制御部２０７は、残差信号ｅＦＧ［ｎ］を送話出力信号ｅ［ｎ］として出力する。
【数２５】
0004945429.tif 000026
【数２６】
0004945429.tif 000027
時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］と残差信号ｅＡＦとのパワー比がどのくらい１に近づいているかによってどちらの残差信号を出力するか判定するときには、エコー抑圧量推定部２０４から出力される可変ステップサイズμ［ｎ］も判定に用いても良い。数２５に示した条件と数２７に示した条件がＤフレーム継続するかどうかを判定し、ダブルトーク検出部を備えてダブルトークであるか否かによってフィルタ係数を学習するエコー抑圧処理部２０３から残差信号ｅＡＦ［ｎ］が入力され、制御部２０７は、残差信号ｅＡＦ［ｎ］を送話出力信号ｅ［ｎ］として出力する。それ以外の場合には、ダブルトーク検出部を備えないで常にフィルタ係数の適応学習処理を実行するエコー抑圧処理部１０２から残差信号ｅＦＧ［ｎ］が入力され、制御部２０７は、残差信号ｅＦＧ［ｎ］を送話出力信号ｅ［ｎ］として出力する。
【数２７】
0004945429.tif 000028
またあるいは、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］と残差信号ｅＦＧとのパワー比がどのくらい１に近づいているかによってどちらの残差信号を出力するか判定しても良い。数２８と数２９に示した条件の両方とも満たす状態が所定の期間（Ｄフレーム）継続する場合には、ダブルトーク検出部を備えないで常にフィルタ係数の適応学習処理を実行するエコー抑圧処理部１０２から制御部２０７に残差信号ｅＦＧ［ｎ］が入力され、制御部２０７は、残差信号ｅＦＧ［ｎ］を送話出力信号ｅ［ｎ］として出力する。それ以外の場合には、ダブルトーク検出部を備えてダブルトークであるか否かによってフィルタ係数を学習するエコー抑圧処理部２０３から制御部２０７に残差信号ｅＡＦ［ｎ］が入力され、制御部２０７は、残差信号ｅＡＦ［ｎ］を送話出力信号ｅ［ｎ］として出力する。
【数２８】
0004945429.tif 000029
【数２９】
0004945429.tif 000030
このように、エコー抑圧処理部１０２とエコー抑圧処理部２０３の両方が動作し、制御部２０７によって、いずれか一方の残差信号を出力するように制御する場合、フィルタ制御部２０８は、制御部２０７の制御に応じて第１の切換部２０８Ｂと第２の切換部２０８Ｃを切り換えるよう制御する。エコー抑圧処理部２０３の残差信号を出力する状態からエコー抑圧処理部１０２の残差信号を出力する状態に変化したとき、第１の切換部２０８Ｂを接続するように切り換えて、ＦＧフィルタ１０２Ｅのフィルタ係数ｈＦＧ［ｎ，ｉ］とＢＧフィルタ１０２Ｂのフィルタ係数ｈＢＧ［ｎ，ｉ］とを適応フィルタ２０３Ｃのフィルタ係数ｈＡＦ［ｎ，ｉ］に基づいて更新する。また、エコー抑圧処理部１０２の残差信号を出力する状態からエコー抑圧処理部２０３の残差信号を出力する状態に変化したときには、第２の切換部２０８Ｃを接続するように切り換えて、適応フィルタ２０３Ｃのフィルタ係数ｈＡＦ［ｎ，ｉ］をＦＧフィルタ１０２Ｅのフィルタ係数ｈＦＧ［ｎ，ｉ］に基づいて更新する。
【実施例３】
【００８９】
図８は、第３の実施形態であるエコー抑圧処理装置の構成を示すブロック図である。なお、第１の実施形態のエコー抑圧処理装置１と同一の動作を行う部分は、図１と同じ符号を付与し、説明を省略する。
【００９０】
第３の実施形態に係るエコー抑圧処理装置３は、エコー抑圧処理部３０３、エコー抑圧処理部３１３、雑音推定部３０６、制御部３０７、フィルタ制御部３０８から構成される。
【００９１】
（雑音推定部３０６）
雑音推定部３０６は、送話入力信号ｚ［ｎ］に含まれる雑音レベルを推定する。図９は、雑音推定部３０６の構成を示すブロック図である。雑音推定部３０６は、周波数領域変換部１０６Ａ、帯域雑音推定部１０６Ｂ、時間雑音推定部１０６Ｃから構成される。周波数領域変換部１０６Ａ、帯域雑音推定部１０６Ｂ、時間雑音推定部１０６Ｃの処理は、第１の実施形態のエコー抑圧処理装置１の雑音推定部１０６と同じであるため、説明を省略する。
【００９２】
時間雑音推定部１０６Ｃによって算出された時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］は、制御部３０７とフィルタ制御部３０８へ出力される。また、帯域雑音推定部１０６Ｂで算出された周波数ノイズレベルＰＮｏｉｓｅ［ｋ，ｊ］は時間雑音推定部１０６Ｃに出力されるだけでなく、エコー抑圧処理部３０３の音響結合推定部３０３Ｅと抑圧ゲイン算出部３０３Ｇへも出力される。
【００９３】
（エコー抑圧処理部３１３）
エコー抑圧処理部３１３は、マイク１０５から入力された送話入力信号ｚ［ｎ］に対して、時間領域でのエコー抑圧処理を行い、エコー除去後の残差信号ｅＡＦ［ｎ］を制御部３０７へ出力する。以降、エコー抑圧処理部３１３は、時間領域型の勾配制限型学習同定法（ＧＬ−ＮＬＭＳアルゴリズム）でフィルタ係数の推定学習を行う方式（例えば、島内ら：”音響エコーキャンセラのための学習同定法のロバスト化”，（社）電子情報通信学会論文誌，Ｖｏｌ．Ｊ８８−Ａ，Ｎｏ．８，ｐｐ．９２６−９３４，２００５／０８を参照）で動作するものとして説明する。
【００９４】
エコー抑圧処理部３１３は、適応学習部３１３Ｂ、適応フィルタ部３１３Ｃ、減算器３１３Ｄを備える。ここで、適応フィルタ部３１３Ｃのフィルタ長はＬであるとする。なお、エコー抑圧処理部３１３は、ステップサイズμ［ｎ］が固定の値であって、ダブルトーク検出部を有さないとして説明するが、実施例２で説明したエコー抑圧処理部２０３のように、ステップサイズμ［ｎ］は可変の値であっても良く、ダブルトーク検出部を設けて、その検出結果に応じて適応学習部３１３Ｂの動作を制御しても良い。
【００９５】
適応フィルタ部３１３Ｃは、受話信号ｘ［ｎ］と後述の適応学習部３１３Ｂによって学習されるフィルタ係数ｈＡＦ［ｎ，ｉ］（ただし、ｉ＝０，１，・・・Ｌ−１）とを入力として、擬似エコー信号ｙＡＦ［ｎ］を算出し、減算器３１３Ｄへ出力する。また、フィルタ制御部３０８の制御に応じて、フィルタ係数ｈＡＦ［ｎ，ｉ］をフィルタ制御部３０８へ出力する。
【数３０】
0004945429.tif 000031
減算器３１３Ｄは、送話入力信号ｚ［ｎ］と擬似エコー信号ｙＡＦ［ｎ］とを入力として、残差信号ｅＡＦ［ｎ］を算出し、適応学習部３１３Ｂと制御部３０７へ出力する。
【数３１】
0004945429.tif 000032
適応学習部３１３Ｂは、受話信号ｘ［ｎ］と減算器３１３Ｄから出力される残差信号ｅＡＦ［ｎ］とを入力として、勾配制限型学習同定法によりフィルタ係数ｈＡＦ［ｎ，ｉ］（ｉ＝０，１，・・・Ｌ−１）を常に学習し、フィルタ係数ｈＡＦ［ｎ，ｉ］を適応フィルタ部３１３Ｃに出力して更新する。なお、数３２のｓｇｎ（）は、符号を返す関数である。
【数３２】
0004945429.tif 000033
（エコー抑圧処理部３０３）
エコー抑圧処理部３０３は、マイク１０５から入力された送話入力信号ｚ［ｎ］を周波数領域に変換し、周波数領域でのエコー抑圧処理を行った後、時間領域に変換して得られたエコー除去後の送話信号ｓＥＲ［ｎ］を送話出力信号ｓ［ｎ］として出力する。
【００９６】
エコー抑圧処理部３０３は、周波数領域変換処理部３０３Ａ、周波数領域変換処理部３０３Ｂ、パワー算出部３０３Ｃ、パワー算出部３０３Ｄ、音響結合推定部３０３Ｅ、エコーレベル推定部３０３Ｆ、抑圧ゲイン算出部３０３Ｇ、スペクトル抑圧部３０３Ｈ、時間領域変換処理部３０３Ｉを備える。
【００９７】
周波数領域変換処理部３０３Ａには、受話信号ｘ［ｎ］が入力される。周波数領域変換処理部３０３Ａは、受話信号ｘ［ｎ］の過去１フレームと当該フレームから周波数変換処理に用いる所定数の信号を取得し、その受話信号に対してハミング窓などによる窓掛けを行ったうえで、ＦＦＴなどによって周波数領域に変換する。周波数領域への変換によって得られた受話信号の周波数スペクトルＸ［ｋ，ω］は、パワー算出部３０３Ｃへ出力する。なお、ωは周波数帯域のｂｉｎを表す。以降では、このように周波数帯域ｂｉｎ単位で処理するものとして説明するが、複数の周波数ｂｉｎをグルーピングした周波数帯域の単位で処理しても良い。
【００９８】
周波数領域変換処理部３０３Ｂには、送話入力信号ｚ［ｎ］が入力される。周波数領域変換処理部３０３Ｂは、送話入力信号ｚ［ｎ］の過去１フレームと当該フレームから周波数変換処理に用いる所定数の信号を取得し、その送話入力信号に対してハミング窓などによる窓掛けとオーバーラップをさせたうえで、ＦＦＴなどによって周波数領域に変換する。周波数領域への変換によって得られた送話入力信号の周波数スペクトルＺ［ｋ，ω］は、パワー算出部３０３Ｄとスペクトル抑圧部３０３Ｈへ出力する。
【００９９】
パワー算出部３０３Ｃには、受話信号の周波数スペクトルＸ［ｋ，ω］が入力される。パワー算出部３０３Ｃは、受話信号の周波数スペクトルＸ［ｋ，ω］のパワースペクトルである受話パワースペクトル｜Ｘ［ｋ，ω］｜２を算出して、エコーレベル推定部３０３Ｆへ出力する。また、受話パワースペクトルの値をスムージングして、スムージングした受話パワースペクトル｜Ｘｓ［ｋ，ω］｜２を音響結合推定部３０３Ｅへ出力する。スムージングした受話パワースペクトル｜Ｘｓ［ｋ，ω］｜２の算出は、１フレーム前のスムージングした受話パワースペクトル｜Ｘｓ［ｋ−１，ω］｜２を用いて、数３３のように行う。なお、数３３で用いているαＸ［ω］は、０＜αＸ［ω］＜１を満たす値である。
【数３３】
0004945429.tif 000034
パワー算出部３０３Ｄには、送話入力信号の周波数スペクトルＺ［ｋ，ω］が入力される。パワー算出部３０３Ｄは、送話入力信号の周波数スペクトルＺ［ｋ，ω］のパワースペクトルである送話パワースペクトル｜Ｚ［ｋ，ω］｜２を算出して、抑圧ゲイン算出部３０３Ｇへ出力する。また、送話パワースペクトルの値をスムージングして、スムージングした送話パワースペクトル｜Ｚｓ［ｋ，ω］｜２を音響結合推定部３０３Ｅへ出力する。スムージングした送話パワースペクトル｜Ｚｓ［ｋ，ω］｜２の算出は、１フレーム前のスムージングした送話パワースペクトル｜Ｚｓ［ｋ−１，ω］｜２を用いて、数３４のように行う。なお、数３４で用いているαＺ［ω］は、０＜αＺ［ω］＜１を満たす値である。
【数３４】
0004945429.tif 000035
音響結合推定部３０３Ｅには、パワー算出部３０３Ｃからスムージングした受話パワースペクトル｜Ｘｓ［ｋ，ω］｜２、パワー算出部３０３Ｄからスムージングした送話パワースペクトル｜Ｚｓ［ｋ，ω］｜２、雑音推定部３０６から周波数ノイズレベルＰＮｏｉｓｅ［ｋ，ｊ］が入力される。音響結合推定部３０３Ｅは、周波数ノイズレベルＰＮｏｉｓｅ［ｋ，ｊ］に対してωごとにパワーを算出して｜ＰＮｏｉｓｅ［ｋ，ω］｜２の値を得る。そして、これらの値を用いてエコー経路特性の推定値である音響結合量｜Ｈ［ｋ，ω］｜２を算出する。
【数３５】
0004945429.tif 000036
ただし、音響結合量｜Ｈ［ｋ，ω］｜２が急激に変化する場合（｜Ｈ［ｋ，ω］｜２＞βＨ［ω］・｜Ｈ［ｋ−１，ω］｜２が満たされる場合。但し、βＨ［ω］は所定の値。）、もしくは、受話入力信号が十分に大きくない場合（｜Ｘｓ［ｋ，ω］｜２＜βＸ［ω］が満たされる場合。但し、βＸ［ω］は所定の値。）には、ダブルトークとなる周波数帯域での音響結合量の算出を行わないようにするため、音響結合量を更新しないで、１フレーム前の音響結合量｜Ｈ［ｋ−１，ω］｜２の値を音響結合量｜Ｈ［ｋ，ω］｜２として用いる。
【０１００】
音響結合推定部３０３Ｅは、このように算出した音響結合量｜Ｈ［ｋ，ω］｜２をエコーレベル推定部３０３Ｆに出力する。また、後述のフィルタ制御部３０８の制御に応じて、フィルタ制御部３０８へも出力する。
【０１０１】
エコーレベル推定部３０３Ｆには、パワー算出部３０３Ｃから受話パワースペクトル｜Ｘ［ｋ，ω］｜２、音響結合推定部３０３Ｅから音響結合量｜Ｈ［ｋ，ω］｜２が入力される。エコーレベル推定部３０３Ｆは、これらの値を用いて、推定エコー量｜Ｙ［ｋ，ω］｜２を算出し、抑圧ゲイン算出部３０３Ｇへ出力する。
【数３６】
0004945429.tif 000037
抑圧ゲイン算出部３０３Ｇには、エコーレベル推定部３０３Ｆから推定エコー量｜Ｙ［ｋ，ω］｜２、パワー算出部３０３Ｄから送話パワースペクトル｜Ｚ［ｋ，ω］｜２、雑音推定部から周波数ノイズレベルＰＮｏｉｓｅ［ｋ，ｊ］が入力される。抑圧ゲイン算出部３０３Ｇは、これらの値を用いてエコー抑圧ゲインＧ［ｋ，ω］を算出する。ただし、数３７のγＧ［ω］は事前に設定しておく所定のパラメータ値である。
【数３７】
0004945429.tif 000038
なお、エコー抑圧ゲインＧ［ｋ，ω］の値によっては、雑音レベルよりも過剰にエコー抑圧する場合がある。そこで、エコー抑圧ゲインＧ［ｋ，ω］の値が、数３８に示すＧＦＬＯＯＲ［ｋ，ω］よりも小さくならないよう、制御する。
【数３８】
0004945429.tif 000039
このように算出したエコー抑圧ゲインＧ［ｋ，ω］は、スペクトル抑圧部３０３Ｈへ出力する。
【０１０２】
スペクトル抑圧部３０３Ｈは、送話入力信号の周波数スペクトルＺ［ｋ，ω］とエコー抑圧ゲインＧ［ｋ，ω］を入力として、エコーが抑圧された送話信号の周波数スペクトルＳ［ｋ，ω］を算出し、時間領域変換処理部３０３Ｉへ出力する。
【数３９】
0004945429.tif 000040
時間領域変換処理部３０３Ｉには、スペクトル抑圧部３０３Ｈから出力されたエコーが抑圧された送話信号の周波数スペクトルＳ［ｋ，ω］が入力され、この値に対して周波数領域から時間領域への変換を行い、エコーが抑圧された送話信号ｓＥＲ［ｎ］を制御部３０７へ出力する。ただし、周波数領域変換処理部３０３Ｂにおいて、送話信号ｚ［ｎ］に対して窓掛けやオーバーラップの処理を行っているため、エコーが抑圧された送話信号の周波数スペクトルＳ［ｋ，ω］をＩＦＦＴなどによって時間領域の信号に変換した後、周波数窓掛けを考慮しながら過去のエコーが抑圧された送話信号を用いてオーバーラップを戻す処理を行って、エコーが抑圧された送話信号ｓＥＲ［ｎ］を算出する。
【０１０３】
（制御部３０７）
制御部３０７は、雑音推定部３０６から入力される時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を用いて、エコー抑圧処理部３１３とエコー抑圧処理部３０３のどちらか一方が動作するよう制御する。
【０１０４】
具体的には、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］と所定の閾値Ｎｔｈとを比較し、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］≧Ｎｔｈ満たす場合には、エコー抑圧処理部３０３を動作させ、その出力であるエコーが抑圧された送話信号ｓＥＲ［ｎ］を送話出力信号ｓ［ｎ］として出力する。一方、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］＜Ｎｔｈを満たす場合には、エコー抑圧処理部３１３を動作させ、その出力である残差信号ｅＡＦを送話出力信号ｓ［ｎ］として出力する。
【０１０５】
そして、制御部３０７から出力された送話出力信号ｓ［ｎ］は、図示しないエンコーダに入力され、エンコーダによって送信データに１フレームごとに符号化され、図示しない無線通信部によって送信される。
【０１０６】
このように、エコー抑圧処理部３１３とエコー抑圧処理部３０３のいずれか一方が動作してエコー抑圧処理を行う構成となっており、どちらが動作するかは時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］で表される雑音レベルに基づいて判定する。なお、エコー抑圧処理部３１３によってエコー抑圧処理を行う状態とエコー抑圧処理部３０３によってエコー抑圧処理を行う状態とが頻繁に切り換わるのを防ぐために、ハングオーバータイムを設けても良い。
【０１０７】
（フィルタ制御部３０８）
フィルタ制御部３０８は、雑音推定部３０６から入力される時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］に基づいて、エコー抑圧処理部３０３とエコー抑圧処理部３１３のエコー成分推定生成のための特性情報の入出力を制御する。
【０１０８】
図１０は、フィルタ制御部３０８の構成を示すブロック図である。フィルタ制御部３０８は、判定部３０８Ａ、第１の切換部３０８Ｂ、第２の切換部３０８Ｃ、周波数領域変換処理部３０８Ｄ、位相記憶部３０８Ｅ、および時間領域変換処理部３０８Ｆを備える。
【０１０９】
判定部３０８Ａは、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］と所定の閾値Ｎｔｈを比較し、その結果に基づいて第１の切換部３０８Ｂと第２の切換部３０８Ｃを切り換える。
【０１１０】
具体的には、１つ前の時刻の時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］がＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］＜Ｎｔｈであり、なおかつ、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］≧Ｎｔｈであれば、第１の切換部３０８Ｂのパスを接続するように切り換える。これによって、エコー抑圧処理部３１３から出力されたフィルタ係数ｈＡＦ［ｎ，ｉ］が周波数領域変換処理部３０８Ｄへ入力される。周波数領域変換処理部３０８Ｄでは、フィルタ係数ｈＡＦ［ｎ，ｉ］をＦＦＴなどによって周波数領域に変換して、パワースペクトルを算出しエコー抑圧処理部３０３の音響結合推定部３０３Ｅへ出力する。音響結合推定部３０３Ｅは、このパワースペクトルを音響結合量｜Ｈ［ｋ，ω］｜２として、音響結合量の値を更新する。また、このとき位相記憶部３０８Ｅは、フィルタ係数ｈＡＦ［ｎ，ｉ］の位相スペクトルを保持する。
【０１１１】
第１の切換部３０８Ｂのパスを接続する条件の１つであるＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］＜Ｎｔｈを満たすということは、１つ前の時刻では、エコー抑圧処理部３１３が動作するよう制御部３０７によって制御されていたことを示している。また、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］≧Ｎｔｈを満たすということは、現在はエコー抑圧処理部３０３が動作するよう制御部３０７によって制御されることを示す。すなわち、エコー抑圧処理部３１３が動作していた状態から、エコー抑圧処理部３０３が動作する状態に変わるときに、エコー抑圧処理部３１３によって直前に使われていたフィルタ係数の値に基づいて、エコー抑圧処理部３０３で用いる音響結合量の値を更新する。
【０１１２】
一方、１つ前の時刻の時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］がＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］≧Ｎｔｈであり、なおかつ、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］＜Ｎｔｈであれば、第２の切換部３０８Ｃのパスを接続するように切り換える。そして、エコー抑圧処理部３０３から出力された音響結合量｜Ｈ［ｋ，ω］｜２が時間領域変換処理部３０８Ｆへ入力される。時間領域変換処理部３０８Ｆでは、音響結合量｜Ｈ［ｋ，ω］｜２と、位相記憶部３０８Ｅに格納されたフィルタ係数ｈＡＦ［ｎ，ｉ］の位相スペクトルとに基づいて、フィルタ係数ｈＡＦ［ｎ，ｉ］の周波数スペクトルを推定し、ＩＦＦＴなどによって時間領域の値に変換して、エコー抑圧処理部３１３の適応フィルタ部３１３Ｃへ出力する。適応フィルタ部３１３Ｃは、この値をフィルタ係数ｈＡＦ［ｎ，ｉ］としてフィルタ係数の値を更新する。
【０１１３】
第２の切換部３０８Ｃのパスを接続する条件の１つであるＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］≧Ｎｔｈを満たすということは、１つ前の時刻では、エコー抑圧処理部３０３が動作するよう制御部３０７によって制御されていたことを示している。また、Ｐｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］＜Ｎｔｈを満たすということは、現在はエコー抑圧処理部３１３が動作するよう制御部３０７によって制御されることを示す。すなわち、エコー抑圧処理部３０３が動作していた状態から、エコー抑圧処理部３１３が動作する状態に変わるときに、エコー抑圧処理部３０３によって直前に使われていた音響結合量の値に基づいて、エコー抑圧処理部３１３で用いるフィルタ係数の値を更新する。
【０１１４】
このように、フィルタ制御部３０８は、時間ノイズレベルに応じて第１の切換部３０８Ｂと第２の切換部３０８Ｃのそれぞれを接続または開放するよう切り換えることによって、エコー抑圧処理部３０３のフィルタ係数を用いたエコー抑圧処理部３１３の音響結合量の更新と、エコー抑圧処理部３１３の音響結合量を用いたエコー抑圧処理部３０３のフィルタ係数の更新を制御する。
【０１１５】
以上のような構成のエコー抑圧処理装置３が１フレームの受話信号ｘ［ｎ］と送話入力信号ｚ［ｎ］とを取得して、エコー抑圧処理を行うときの処理の流れを図１１に示す。なお、図１１では、制御部２０７によってエコー抑圧処理部１０２のエコー抑圧処理とエコー抑圧処理部２０３のエコー抑圧処理とが頻繁に切り換わらないようにするためのハングオーバータイムは設定しないものとして説明する。
【０１１６】
エコー抑圧処理装置３に送話入力信号ｚ［ｎ］が入力されると、雑音推定部３０６によって送話入力信号ｚ［ｎ］に含まれる周波数ノイズレベルＰＮｏｉｓｅ［ｋ，ｊ］および時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］を算出する（Ｓ１０１）。そして、制御部３０７は、雑音推定部３０６によって算出された時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］の値が所定の閾値以上であるか否かを判定する（Ｓ３０１）。
【０１１７】
時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］が所定の閾値以上である場合には（Ｓ３０１のＹｅｓ）、ステップＳ３０６乃至ステップＳ３１５に示すエコー抑圧処理部３０３によるエコー抑圧処理を実行させる。また、１つ前の時刻の時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］が所定の閾値未満である場合には（Ｓ３０４のＹｅｓ）、エコー抑圧処理部３０３によるエコー抑圧処理に先立って、エコー抑圧処理部３１３のフィルタ係数ｈＡＦ［ｎ，ｉ］を周波数領域に変換した値を用いてエコー抑圧処理部３０３の音響結合量｜Ｈ［ｋ，ω］｜２を更新する（Ｓ３０５）。
【０１１８】
エコー抑圧処理部３０３では、まず受話信号ｘ［ｎ］と送話入力信号ｚ［ｎ］を取得し（Ｓ３０６、Ｓ３０９）、そのそれぞれに対して周波数領域変換部３０３Ａと周波数領域変換部３０３Ｂによって周波数変換を行い（Ｓ３０７、Ｓ３１０）、パワー算出部３０３Ｃとパワー算出部３０３Ｄによってパワースペクトルを算出して、パワースペクトルのスムージングを行う（Ｓ３０８、Ｓ３１１）。
【０１１９】
これらのスムージングされた受話信号のパワースペクトル、スムージングされた送話信号のパワースペクトル、およびステップＳ１０１で算出された周波数ノイズレベルＰＮｏｉｓｅ［ｋ，ｊ］は、音響結合推定部３０３Ｅに入力され、音響結合量｜Ｈ［ｋ，ω］｜２が推定される（Ｓ３１２）。
【０１２０】
そして、この音響結合量｜Ｈ［ｋ，ω］｜２、および受話信号のパワースペクトルがエコーレベル推定部３０３Ｆに入力されて、推定エコー量が算出される（Ｓ３１３）。この推定エコー量と送話入力信号のパワースペクトルとを用いて、抑圧ゲイン算出部３０３Ｇによってエコー抑圧のためのゲインを算出する（Ｓ３１４）。そして、このゲインを用いて送話入力信号の周波数スペクトルからエコーを抑圧し、エコー抑圧された送話入力信号の周波数スペクトルを時間領域に変換して、送話出力信号として出力する（Ｓ３１５）。
【０１２１】
一方、ステップＳ３０１において、時間ノイズレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ］の値が所定の閾値未満であると判定された場合には（Ｓ３０１のＮｏ）、ステップＳ１０２乃至ステップＳ１０４に示すエコー抑圧処理部３１３の処理が実行される。また、１つ前の時刻の時間レベルレベルＰｏｗｅｒ＿Ｎｏｉｓｅ［ｋ−１］が所定の閾値以上であった場合には（Ｓ３０２のＹｅｓ）、エコー抑圧処理部３１３でのエコー抑圧処理に先立って、エコー抑圧処理部３０３の音響結合量｜Ｈ［ｋ，ω］｜２を時間領域に変換した値に基づいて、エコー抑圧処理部３１３のフィルタ係数ｈＡＦ［ｎ，ｉ］を更新する（Ｓ３０３）。
【０１２２】
エコー抑圧処理部３１３では、まずフィルタ係数ｈＡＦ［ｎ，ｉ］を用いて擬似エコー信号を生成し（Ｓ１０２）、この擬似エコー信号を送話入力信号から差し引いた残差信号ｅＡＦ［ｎ］を送話出力信号ｓ［ｎ］として出力する（Ｓ１０３）。そして、適応フィルタ部３１３Ｃで用いるフィルタ係数ｈＡＦ［ｎ，ｉ］の値は、適応学習３１３Ｂで学習を行い、更新する（Ｓ１０４）。
【０１２３】
このように、エコー抑圧処理装置３では、ノイズレベルに従って、時間領域の適応フィルタによるエコー抑圧処理と、周波数領域でのエコー抑圧処理とを切り換えて、どちらか一方を動作させている。
【０１２４】
時間領域の適応フィルタによるエコー抑圧処理には、送話出力信号の音声の自然性を保つことが出来るという特徴があり、周波数領域のエコー抑圧処理には、ノイズに対する頑健性が高いという特徴がある。すなわち、エコー抑圧処理装置３では、ノイズレベルが小さく、送話出力信号の音質が目立つような場合には時間領域の適応フィルタによるエコー抑圧処理を行い、ノイズレベルが大きい場合には周波数領域のエコー抑圧処理を行うことによって、状況に応じたエコー抑圧処理を実行し、エコー抑圧性能を高く保つことができる。
【０１２５】
また、エコー抑圧処理装置３では、時間領域のエコー抑圧処理と周波数領域のエコー抑圧処理とを切り換えるタイミングを判定し、１つ前の時刻のノイズレベルと現在のノイズレベルとに基づいて判定し、切り換える直前に用いていたエコー経路の特性（フィルタ係数や音響結合量）を用いて、切り換え後のエコー抑圧処理で用いるエコー経路の特性を更新することによって、最新のエコー経路特性に追従することが可能となり、エコー抑圧性能の劣化を防止することができる。
【０１２６】
なお、上記実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において、適宜変更しても良い。
【図面の簡単な説明】
【０１２７】
【図１】本発明の第１の実施形態に係るエコー抑圧処理装置のブロック図。
【図２】本発明の第１の実施形態に係るエコー抑圧処理装置の雑音推定部の構成を示すブロック図。
【図３】本発明の第１の実施形態に係るエコー抑圧処理装置のフィルタ制御部の構成を示すブロック図。
【図４】本発明の第１の実施形態に係るエコー抑圧処理装置の処理フローチャート。
【図５】本発明の第２の実施形態に係るエコー抑圧処理装置のブロック図。
【図６】本発明の第２の実施形態に係るエコー抑圧処理装置の雑音推定部の構成を示すブロック図。
【図７】本発明の第２の実施形態に係るエコー抑圧処理装置の処理フローチャート。
【図８】本発明の第３の実施形態に係るエコー抑圧処理装置のブロック図。
【図９】本発明の第３の実施形態に係るエコー抑圧処理装置の雑音推定部の構成を示すブロック図。
【図１０】本発明の第３の実施形態に係るエコー抑圧処理装置のフィルタ制御部の構成を示すブロック図。
【図１１】本発明の第３の実施形態に係るエコー抑圧処理装置の処理フローチャート。
【符号の説明】
【０１２８】
１  エコー抑圧処理装置、１０１  スピーカ、１０２  エコー抑圧処理部  １０４  エコー抑圧量推定部、１０５  マイク、１０６  雑音推定部、１０２−１  第１のエコー推定抑圧部、１０２−２  第２のエコー推定抑圧部、２  エコー抑圧処理装置、２０３  エコー抑圧処理部、２０４  エコー抑圧量推定部、２０７  制御部、２０８  フィルタ制御部、３  エコー抑圧処理装置、３０３  エコー抑圧処理部、３０６  雑音推定部、３０７  制御部、３０８  フィルタ制御部、３１３  エコー抑圧処理部
【図１】
0004945429.tif 000041
【図２】
0004945429.tif 000042
【図３】
0004945429.tif 000043
【図４】
0004945429.tif 000044
【図５】
0004945429.tif 000045
【図６】
0004945429.tif 000046
【図７】
0004945429.tif 000047
【図８】
0004945429.tif 000048
【図９】
0004945429.tif 000049
【図１０】
0004945429.tif 000050
【図１１】
0004945429.tif 000051