(57)【要約】【課題】汎用機器において容易に音響エコーを抑制すること。【解決手段】信号加算部１０３Ａは、遅延検出信号出力部１０４によって生成された非可聴域の周波数成分の遅延検出信号を受話入力信号に重畳し、スピーカ１０９は音響空間に出力する。遅延検出信号抽出部１１４は、マイクによって集音された送話入力信号から遅延検出信号を抽出する。遅延量算出部１１５は、遅延検出信号出力部１０６から出力された遅延検出信号と、遅延検出信号抽出部１１４によって抽出された遅延検出信号とから、受話入力信号と受話入力信号の回り込みである音響エコーとの遅延時間を算出する。遅延処理部１１７は、受話入力信号を遅延時間の時間分遅延せしめて遅延受話入力信号を生成する。エコー抑圧処理部１１８は、遅延受話入力信号を用いて送話入力信号に含まれる音響エコー成分を抑圧する。【選択図】    図２
2008259032.tif 000002
【特許請求の範囲】
【請求項１】
受話入力信号が入力される受話信号入力部と、
非可聴域の周波数成分の遅延検出信号を生成する遅延検出信号生成部と、
前記受話入力信号に前記遅延検出信号を重畳する重畳処理部と、
前記遅延検出信号が重畳された前記受話入力信号を音響空間に出力するスピーカと、
前記音響空間の音を集音し、送話入力信号を出力するマイクと、
前記送話入力信号から前記遅延検出信号を抽出する抽出部と、
前記遅延検出信号生成部から出力された遅延検出信号と、前記抽出された遅延検出信号とから、前記受話入力信号と前記受話入力信号の回り込みによる前記送話入力信号に含まれる音響エコー成分との遅延時間を算出する算出部と、
前記受話入力信号を前記遅延時間の時間分遅延せしめて遅延受話入力信号を生成する遅延部と、
前記遅延受話入力信号を用いて前記送話入力信号に含まれる前記音響エコー成分を抑圧するエコー抑圧処理部とを具備することを特徴とする信号処理装置。
【請求項２】
前記受話入力信号は標本化周波数として第１周波数を有し、前記送話入力信号は標本化周波数として前記第１周波数より高い第２周波数を有し、
前記送話入力信号の標本化周波数を前記第１周波数に変換し、変換された前記送話入力信号を前記エコー抑圧処理部に出力する変換部と、
前記遅延時間を前記第１周波数にあわせて補正処理を行う補正処理部とを更に具備することを特徴とする請求項１記載の信号処理装置。
【請求項３】
前記遅延検出信号生成部は、前記非可聴域の高域側の周波数成分の前記遅延検出信号を断続的、且つ連続する前記遅延検出信号の生成間隔が前記非可聴域の低域側の周波数帯域になるように前記遅延検出信号を生成することを特徴とする請求項１記載の信号処理装置。
【請求項４】
前記遅延検出信号生成部は、前記非可聴域の高域側の周波数成分の前記遅延検出信号を断続的、且つ連続する前記遅延検出信号の周波数成分が異なるように前記遅延検出信号を生成することを特徴とする請求項１記載の信号処理装置。
【請求項５】
前記抽出された遅延検出信号の音量を算出する音量算出部と、
前記算出された音量に応じて前記遅延検出信号の音量を制御する音量制御部を更に具備することを特徴とする請求項１記載の信号処理装置。
【請求項６】
システムリソースを取得し、前記取得されたシステムリソースに応じて、前記遅延検出信号が生成されるタイミングを制御する制御部を更に具備することを特徴とする請求項１記載の信号処理装置。
【請求項７】
前記遅延検出信号生成部は、ユーザの年齢情報に応じた非可聴域の周波数成分の前記遅延検出信号を生成することを特徴とする請求項１記載の信号処理装置。
【請求項８】
コンピュータに、送話入力信号に含まれるエコーを抑圧する処理を実行させるプログラムであって、
前記制御信号に応じて、非可聴域の周波数成分の遅延検出信号を生成する処理を前記コンピュータに実行させる手順と、
受話入力信号に前記遅延検出信号を重畳する処理を前記コンピュータに実行させる手順と、
前記遅延検出信号が重畳された前記受話入力信号をスピーカから音響空間に出力させる処理をコンピュータに実行させる手順と、
前記音響空間の音を集音し、送話入力信号をマイクから出力させる処理をコンピュータに実行させる手順と、
前記送話入力信号から前記遅延検出信号を抽出する処理を前記コンピュータに実行させる手順と、
前記受話入力信号に重畳された遅延検出信号と、前記抽出された遅延検出信号とから、前記受話入力信号と前記受話入力信号の回り込みによる前記送話入力信号に含まれる音響エコー成分との遅延時間を算出する処理を前記コンピュータに実行させる手順と、
前記受話入力信号を前記遅延時間の時間分遅延せしめて遅延受話入力信号を生成する処理を前記コンピュータに実行させる手順と、
前記遅延受話入力信号を用いて前記送話入力信号に含まれる前記音響エコー成分を抑圧する処理を前記コンピュータに実行させる手順と
を具備することを特徴とするプログラム。
【請求項９】
前記受話入力信号は標本化周波数として第１周波数を有し、前記送話入力信号は標本化周波数として前記第１周波数より高い第２周波数を有し、
前記送話入力信号の標本化周波数を前記第１周波数に変換する処理を前記コンピュータに実行させる手順と、
前記遅延時間を前記第１周波数にあわせて補正を行う処理を前記コンピュータに実行させる手順とを更に具備することを特徴とする
補正処理部とを更に具備することを特徴とする請求項８記載のプログラム。
【請求項１０】
前記非可聴域の高域側の周波数成分の前記遅延検出信号を断続的、且つ連続する前記遅延検出信号の生成間隔が前記非可聴域の低域側の周波数帯域になるように前記遅延検出信号を生成することを特徴とする請求項８記載のプログラム。
【請求項１１】
前記非可聴域の高域側の周波数成分の前記遅延検出信号を断続的、且つ連続する前記遅延検出信号の周波数成分が異なるように前記遅延検出信号を生成することを特徴とする請求項８記載のプログラム。
【請求項１２】
前記抽出された遅延検出信号の音量を算出する処理を前記コンピュータに実行させる手順と、
前記算出された音量に応じて前記遅延検出信号の音量を制御する処理を前記コンピュータに実行させる手順とを更に具備することを特徴とする請求項８記載のプログラム。
【請求項１３】
システムリソースを取得する処理を前記コンピュータに実行させる手順と、
前記取得されたシステムリソースに応じて、前記遅延検出信号が生成されるタイミングを制御する処理を前記コンピュータに実行させる手順とを更に具備することを特徴とする請求項８記載のプログラム。
【請求項１４】
ユーザの年齢情報に応じた非可聴域の周波数成分の前記遅延検出信号を生成する処理を前記コンピュータに実行させる手順を更に具備することを特徴とする請求項８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置およびプログラムに係り、エコーを抑圧する信号処理装置、およびプログラムに関する。
【背景技術】
【０００２】
音声信号の高品質化処理、例えば、通話装置などにおいて、通話を行うに際し、通話信号以外の信号、すなわち音響エコーなどを抑圧する処理が種々知られている。
【０００３】
音響エコーを抑制するために、通信装置からエコー反射源までの距離を測定し、測定された距離に応じて遅延させた受話入力信号と送話入力信号とを用いて音響エコーを抑圧する技術が開示されている（特許文献１）。
【特許文献１】特開２００７−２７９５９号公報（［００１０］，［００１１］）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、パーソナルコンピュータの処理能力の増大並びに通信の高速化に伴い、パーソナルコンピュータによって、インターネットプロトコル（ＩＰ）上で音声通話（ＩＰ通信）が実行されることもある。パーソナルコンピュータのようなマルチタスクシステムを用いた通信装置では、記憶装置へのアクセスタイミングが均一にならずに、同一呼内でも送話入力信号と受話入力信号との同期に揺らぎが発生する。この同期揺らぎによりエコー抑圧処理の誤処理が発生し、送話出力信号において音響エコーの抑制が困難になり異音が発生するなど音声信号の品質が劣化するという課題があった。
【０００５】
上述した通信装置では、装置からエコー反射源までの距離を測定するための装置を設けなければならない。パーソナルコンピュータのような汎用機器には距離を測定するための装置がないので、パーソナルコンピュータには、上述した技術を適用することが困難である。また、距離を測定するための装置を設けたとしても、記憶装置へのアクセスタイミングが均一にならないため、音響エコーの抑制が困難である。
【０００６】
本発明の目的は、音響エコーを抑制することが可能な信号処理装置、およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一例に係わる信号処理装置は、受話入力信号が入力される受話信号入力部と、非可聴域の周波数成分の遅延検出信号を生成する遅延検出信号生成部と、前記受話入力信号に前記遅延検出信号を重畳する重畳処理部と、前記遅延検出信号が重畳された前記受話入力信号を音響空間に出力するスピーカと、前記音響空間の音を集音し、送話入力信号を出力するマイクと、前記送話入力信号から前記遅延検出信号を抽出する抽出部と、前記遅延検出信号生成部から出力された遅延検出信号と、前記抽出された遅延検出信号とから、前記受話入力信号と前記受話入力信号の回り込みによる前記送話入力信号に含まれる音響エコー成分との遅延時間を算出する算出部と、前記受話入力信号を前記遅延時間の時間分遅延せしめて遅延受話入力信号を生成する遅延部と、前記遅延受話入力信号を用いて前記送話入力信号に含まれる前記音響エコー成分を抑圧するエコー抑圧処理部とを具備する。
【０００８】
本発明の一例に係わるプログラムは、コンピュータに、送話入力信号に含まれるエコーを抑圧する処理を実行させるプログラムであって、前記制御信号に応じて、非可聴域の周波数成分の遅延検出信号を生成する処理を前記コンピュータに実行させる手順と、受話入力信号に前記遅延検出信号を重畳する処理を前記コンピュータに実行させる手順と、前記遅延検出信号が重畳された前記受話入力信号をスピーカから音響空間に出力させる処理をコンピュータに実行させる手順と、前記音響空間の音を集音し、送話入力信号をマイクから出力させる処理をコンピュータに実行させる手順と、前記送話入力信号から前記遅延検出信号を抽出する処理を前記コンピュータに実行させる手順と、前記受話入力信号に重畳された遅延検出信号と、前記抽出された遅延検出信号とから、前記受話入力信号と前記受話入力信号の回り込みによる前記送話入力信号に含まれる音響エコー成分との遅延時間を算出する処理を前記コンピュータに実行させる手順と、前記受話入力信号を前記遅延時間の時間分遅延せしめて遅延受話入力信号を生成する処理を前記コンピュータに実行させる手順と、前記遅延受話入力信号を用いて前記送話入力信号に含まれる前記音響エコー成分を抑圧する処理を前記コンピュータに実行させる手順とを具備する。
【発明の効果】
【０００９】
音響エコーを抑制することが可能な信号処理装置、およびプログラムを提供する。
【発明を実施するための最良の形態】
【００１０】
本発明の実施の形態を以下に図面を参照して説明する。
【００１１】
（第１の実施形態）
図１は、本発明の第１の実施形態に係わる情報処理装置としてのパーソナルコンピュータの概略構成を示すブロック図である。
【００１２】
本コンピュータ１０は、図１に示されているように、ＣＰＵ１１、ノースブリッジ１２、メインメモリ１３、グラフィクスコントローラ１４、表示パネル１５、サウスブリッジ１６、ハードディスクドライブ（ＨＤＤ）１７、ネットワークコントローラ１８、ＢＩＯＳ−ＲＯＭ１９、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２０、および電源コントローラ２１等を備えている。
【００１３】
ＣＰＵ１１は本コンピュータの動作を制御するために設けられたプロセッサであり、ハードディスクドライブ（ＨＤＤ）１７からメインメモリ１３にロードされる、オペレーティングシステム（ＯＳ）および各種アプリケーションプログラムを実行する。
【００１４】
また、ＣＰＵ１１は、ＢＩＯＳ−ＲＯＭ１９に格納されたシステムＢＩＯＳ（Basic Input Output System）をメインメモリ１３にロードした後、実行する。システムＢＩＯＳはハードウェア制御のためのプログラムである。
【００１５】
ノースブリッジ１２はＣＰＵ１１のローカルバスとサウスブリッジ１６との間を接続するブリッジデバイスである。ノースブリッジ１２には、メインメモリ１３をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１２は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１４との通信を実行する機能も有している。
【００１６】
サウスブリッジ１６は、ディジタル音声信号をアナログ信号に変換する機能（Ｄ／Ａコンバータ）、およびマイク１１０から入力されたアナログ音声信号をディジタル信号に変換する機能（Ａ／Ｄコンバータ）を含むオーディオコントローラの機能を有する。Ｄ／Ａコンバータによって変換されたアナログ信号はスピーカ１０９から出力される。
【００１７】
グラフィクスコントローラ１４は本コンピュータのディスプレイモニタとして使用される表示パネル１５を制御する表示コントローラである。このグラフィクスコントローラ１４はビデオメモリ（ＶＲＡＭ）を有しており、ＯＳ／アプリケーションプログラムによってビデオメモリに描画された表示データから、表示パネル１５に表示すべき表示イメージを形成する映像信号を生成する。グラフィクスコントローラ１４によって生成された映像信号はラインに出力される。
【００１８】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）２０は、入力手段としてのキーボード２２、タッチパッド２３、およびタッチパッドコントロールボタン２４のコントロールを行うコントローラとして機能する。エンベデッドコントローラ／キーボードコントローラＩＣ２０は、本コンピュータ１０のシステム状態に関わらず、各種のデバイス（周辺装置やセンサ、電源回路等）を監視し制御するワンチップ・マイコンである。
【００１９】
電源コントローラ２１は、ＡＣアダプタ２１Ｂを介して外部電源が供給されている場合、ＡＣアダプタ２１Ｂから供給される外部電源を用いて本コンピュータ１０の各コンポーネントに供給すべきシステム電源を生成する。また、ＡＣアダプタ２１Ｂを介して外部電源が供給されていない場合、バッテリ２１Ａを用いて本コンピュータ１０の各コンポーネントに供給すべきシステム電源を生成する。
【００２０】
ネットワークコントローラ１８は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。
【００２１】
上述したパーソナルコンピュータによって、インターネットプロトコル（ＩＰ）上で音声通話（ＩＰ通信）が実行される。音声通信の実行時、コンピュータ１０では送話入力信号に含まれるエコー成分を抑圧する処理が行われる。
【００２２】
ＩＰ通信を実行する信号処理部の構成について図２〜図４を参照して説明する。図２は、本発明の第１の実施形態に係る信号処理部の構成を示すブロック図である。この信号処理部は、通信部（受話信号入力部）１０１、アップサンプリング処理部１０２、信号付加制御部１０３、遅延検出信号出力部１０４、リソース監視部１０５、遅延検出信号制御部１０６、Ｄ／Ａ変換部１０７、受話増幅器１０８、スピーカ１０９、マイク１１０、送話増幅器１１１、Ａ／Ｄ変換部１１２、ダウンサンプリング処理部１１３、遅延検出信号抽出部１１４、遅延量算出部１１５、遅延量補正部１１６、遅延処理部１１７、およびエコー抑圧処理部１１８等を有する。
【００２３】
図３は、リソース監視部１０５の構成を示すブロック図である。リソース監視部１０５は、リソース情報取得部１０５Ａ、およびリソース情報出力部１０５Ｂ等を有する。
【００２４】
図４は、エコー抑圧処理部１１８の構成を示すブロック図である。エコー抑圧処理部１１８は、適応フィルタ１１８Ａ、信号減算処理部１１８Ｂ、ダブルトーク検出部１１８Ｃ、等を有する。
【００２５】
上記のように構成された、本発明の第１の実施形態に係る信号処理部の各部の動作を、図２〜図４を参照して説明する。
【００２６】
通信部１０１は遠端側から受信したデータ（エコー抑圧処理部１１８で用いるサンプリング周波数（標本化周波数）（例えば８ｋＨｚ）のデータ）を事前に決められた処理時間の単位である１フレーム（Ｎサンプル）ごとに復号化し、受話入力信号ｘ［ｎ］（ｎ＝０，１，・・・，Ｎ−１）としてアップサンプリング処理部１０２と遅延処理部１１７に出力する。  アップサンプリング処理部１０２は、音響空間に出力するためのＤ／Ａ変換部１０７のサンプリング周波数（標本化周波数）（例えば４８ｋＨｚ）にアップサンプリングし、信号付加制御部１０３に出力する。
【００２７】
遅延検出信号出力部１０４は、周波数設定部１０４Ａと遅延検出信号生成部１０４Ｂと信号増幅部１０４Ｃ等を有する。周波数設定部１０４Ａは、後述する付加時間制御部１０６Ａから出力される遅延検出信号の遅延検出信号１周期の時間パターンと遅延検出信号位置情報に従って、遅延検出信号の周波数成分を非可聴域の周波数帯域でかつエコー抑圧処理部１１８で用いない周波数帯域（例えば２２ｋＨｚ）に設定し、遅延検出信号生成部１０４Ｂに出力する。また周波数設定部１０４Ａは、遅延検出信号の遅延検出信号１周期の周波数パターン（遅延検出信号の時間方向における周波数成分のパターン）を付加時間制御部１０６Ａに出力する。
【００２８】
このとき、周波数設定部１０４Ａが設定する遅延検出信号の周波数成分を、図５に示すように順次異なる周波数成分に変えることで、受話入力信号ｘ［ｎ］と送話入力信号ｚ［ｎ］に含まれるエコー成分とにおける長い時間の遅延量が検出できる。遅延検出信号は複数の周波数成分を有しても構わない。また、遅延検出信号が有する周波数成分を順次異なる複数の周波数成分に変えることでも同様に長い時間の遅延量が検出できる。
【００２９】
遅延検出信号生成部１０４Ｂは、設定された周波数帯域の信号（例えば２２ｋＨｚの正弦波信号）を生成し、信号増幅部１０４Ｃに出力する。信号増幅部１０４Ｃは音量制御部１０６Ｃから出力された音量情報αに従って遅延検出信号ｇ［ｎ］を増幅し、信号加算部１０３Ａにα・ｇ［ｎ］を出力する。
【００３０】
信号加算部１０３Ａは受話入力信号ｘ［ｎ］に増幅された遅延検出信号α・ｇ［ｎ］を加算する。制御スイッチ１０３Ｂは付加時間制御部１０６Ａから出力される付加時間情報に従って受話入力信号ｘ［ｎ］か遅延検出信号が加算された信号ｘ［ｎ］＋α・ｇ［ｎ］をＤ／Ａ変換部１０７に出力する。
【００３１】
リソース監視部１０５は、ハードウェアのリソース（ＣＰＵ１１の処理負担、メモリ１３の処理負担、バッテリ２１Ａの残量）を監視し、リソースの不足具合であるリソース情報を付加時間制御部１０６Ａに出力する。
【００３２】
リソース情報取得部１０５Ａは、例えばＷｉｎｄｏｗｓ（登録商標）タスクマネージャなどのようなプロセス管理ソフトウェアからＣＰＵ１１、メモリ１３、およびバッテリ２１Ａのリソース情報を取得し、リソース情報出力部１０５Ｂに渡す。そして、リソース情報出力部１０５Ｂは、付加時間制御部１０６Ａに、リソース情報を出力する。
【００３３】
付加時間制御部１０６Ａは、遅延検出信号の１周期の時間パターン（時間継続長および間欠長）が格納されており、遅延検出信号を付加する時間継続長および間欠長（時間間隔）を設定する。付加時間制御部１０６Ａは、設定された遅延検出信号の１周期の時間パターンを付加時間情報として制御スイッチ１０３Ｂに出力して制御スイッチ１０３Ｂを制御する。また、付加時間制御部１０６Ａは、付加時間情報（遅延検出信号の１周期の時間パターン）と今出力している遅延検出信号が遅延検出信号１周期中のどこに相当するかの遅延検出信号位置情報を周波数設定部１０４Ａへ出力する。
【００３４】
付加時間制御部１０６Ａは、遅延検出信号を付加する時間間隔（間欠長）を低域の非可聴域になる間隔に設定する。例えば、図５に示すように、遅延検出信号を付加する時間間隔を２００ｍｓ（＝５Ｈｚ）に設定する。このようにすることで、遅延検出信号を付加する時間間隔による周期性の音が近端側の話者に可聴されるのを防ぐことができる。あるいは、付加時間制御部１０６Ａは、付加する時間間隔をＭ系列によるランダムな間隔に設定することにより、近端側の話者に可聴されるのを防ぐことができる。
【００３５】
また、付加時間制御部１０６Ａは、リソース情報出力部１０５Ｂから出力されるリソース情報におうじて、遅延検出信号の１周期の時間パターンを変更する。例えば図６（Ａ）に、リソース情報にかかわらずに一定である、遅延検出信号の１周期の時間パターン・周波数パターンを示す。ここで、図６（Ａ）に示す、ハードウエアリソースが不足する期間があったとする。この区間では、メモリ１３へのアクセスに遅れが生じ、メモリ１３へのアクセスが均一にならない。また、メモリ１３の使用量が多くなると、空き容量を増やすための処理が行われメモリ１３へのアクセスが均一にならない。また、バッテリの残量が減ると、ＣＰＵ１１の動作周波数が自動的に減少し処理速度が不足することによって、メモリ１３へのアクセスに遅れが生じ、メモリ１３へのアクセスが均一にならない。また、ＣＰＵ１１の負荷が高いと、メモリ１３へのアクセスに遅れが生じやすく、メモリ１３へのアクセスが均一にならない。このような状態では、受話入力信号ｘ［ｎ］と送話入力信号ｚ［ｎ］に含まれるエコー成分とにおける遅延量が変動しやすい。
【００３６】
そこで、付加時間制御部１０６Ａは、図６（Ｂ）に示すように、ハードウェアのリソース情報に応じてリソース不足時には、遅延検出信号の間欠長を短くする。また、図６（Ｂ）に示すように、付加時間制御部１０６Ａは、ハードウェアのリソース情報に応じてリソースが確保され、リソース不足区間が終わり次第、直ぐに遅延検出信号を付加するように制御する。遅延検出信号を頻繁に付加することで、リソース不足に伴う遅延量の変動にすばやく追従することができる。
【００３７】
また、付加時間制御部１０６Ａは今出力している遅延検出信号の遅延検出信号が遅延検出信号１周期中のどこに相当するかの遅延検出信号位置情報と遅延検出信号の１周期の時間パターンと周波数設定部１０４Ａから出力された周波数パターンを付加時間周波数情報として遅延量算出部１１５に出力する。
【００３８】
Ｄ／Ａ変換部１０７はディジタル信号をアナログ信号に変換し受話増幅器１０８に出力する。受話増幅器１０８はアナログ信号を増幅し受話アナログ信号ｘ（ｔ）としてスピーカ１０９に出力する。スピーカ１０９は音響空間へ受話アナログ信号ｘ（ｔ）を出力する。
【００３９】
マイク１１０は近端側の話者の音声ｓ（ｔ）を含む音響空間の音を収音し、送話増幅部１１１に出力する。このとき、近端話者の音声ｓ（ｔ）だけでなく、雑音や受話アナログ信号ｘ（ｔ）の回り込み（音響エコー）が入り込む。送話増幅部１１１ではアナログ信号を増幅し、Ａ／Ｄ変換部１１２に出力する。
【００４０】
Ａ／Ｄ変換部１１２は増幅されたアナログ信号をディジタル信号に変換し、送話入力信号ｚ［ｎ］としてダウンサンプリング部１１３と遅延検出信号抽出部１１４に出力する。このときＡ／Ｄ変換部１１２は音響空間から入力するためのサンプリング周波数（例えば４８ｋＨｚ）で変換を行う。ダウンサンプリング部１１３ではＡ／Ｄ変換部１１２のサンプリング周波数からエコー抑圧処理部１１８で用いるサンプリング周波数（例えば８ｋＨｚ）にダウンサンプリングし、エコー抑圧処理部１１８に出力する。
【００４１】
遅延検出信号抽出部１１４は、遅延検出信号ｇ［ｎ］を抽出するために（時間領域型の）ＨＰＦ（ハイパスフィルタ）などで遅延検出信号ｇ［ｎ］が入った高域の周波数帯域を抽出し、音量算出部１０６Ｂと遅延量算出部１１５に出力する。音量算出部１０６Ｂは回り込んだ遅延検出信号のパワーを計算し、音量制御部１０６Ｃに出力する。音量制御部１０６Ｃは、遅延検出信号のパワーが少ない場合は、遅延検出信号の回り込みが小さいとし、遅延検出信号の音量を大きくするように信号増幅部１０４Ｃへ音量情報を出力する。逆に、遅延検出信号のパワーが大きい場合は、遅延検出信号の回り込みが大きいとし、遅延検出信号の音量を小さくするように信号増幅部１０４Ｃへ音量情報を出力する。遅延検出信号のパワーが十分である場合は、遅延検出信号の音量を保つように信号増幅部１０４Ｃへ音量情報を出力する。
【００４２】
遅延量算出部１１５は過去に遅延検出信号生成部１０４Ｂから出力した遅延検出信号と付加時間周波数情報と回り込んだ遅延検出信号とを用いて、過去に遅延検出信号生成部１０４Ｂから出力した遅延検出信号と回り込んだ遅延検出信号との同期をとって遅延量を算出し、その結果を遅延量補正部１１６に出力する。具体的には、回り込んだ遅延検出信号の周波数成分をＦＦＴ等の周波数変換あるいは時間領域でのＢＰＦ（バンドパスフィルタ）によって算出し、付加時間周波数情報を用いてその周波数成分を有する遅延検出信号が出力された時間と現在の時間との差を遅延量として算出する。こうして算出された遅延量は周波数算出による誤差と、遅延検出信号の継続時間長分の誤差を含む。そのため、さらに、過去に遅延検出信号生成部１０４Ｂから出力した遅延検出信号と回り込んだ遅延検出信号との相互相関を、この算出された遅延量と遅延検出信号の継続時間長を考慮した短時間区間のみ時間領域で計算し、より正確な遅延量を算出する。
【００４３】
遅延量補正部１１６はエコー処理で用いるサンプリング周波数に合わせるために、遅延量を丸める処理をする。また、遅延検出信号抽出部１１４でのフィルタ処理による処理遅延を考慮して遅延量を補正する。さらに、事前に遅延検出信号に用いる周波数帯域での遅延とエコー処理で用いる受話入力信号ｘ［ｎ］の周波数帯域での遅延との差を格納しておき、その差を用いて遅延検出信号の遅延量から受話入力信号ｘ［ｎ］と送話入力信号ｚ［ｎ］に含まれるエコー成分との遅延量を算出する。このようにすることで、回り込みにおいて直接音が支配的ではない場合には高域の遅延検出信号が回り込みが速くなることがあるため、エコー処理で用いる周波数帯域での遅延量を正確に算出できる。このようにして算出された受話入力信号ｘ［ｎ］と送話入力信号ｚ［ｎ］に含まれるエコー成分との遅延量をＤとして遅延処理部１１７に出力する。
【００４４】
遅延処理部１１７は受話入力信号ｘ［ｎ］を遅延量Ｄの分だけ遅延してエコー抑圧処理部１１８に出力する。エコー抑圧処理部１１８はエコーを抑圧する処理を行い、その結果の信号を送話出力信号ｓ'［ｎ］として通信部１０１に出力する。
【００４５】
通信部１０１は送話出力信号ｓ'［ｎ］（ｎ＝０，１，・・・，Ｎ−１）を１フレーム（Ｎサンプル）ごとに符号化し、遠端側へデータとして送信する。
【００４６】
エコー抑圧処理部１１８は、ダウンサンプリング処理部１１３から出力された送話入力信号ｚ［ｎ］と、遅延処理部１１７から出力された遅延した受話入力信号ｘ［ｎ−Ｄ］を入力とし、送話入力信号ｚ［ｎ］からエコー成分を抑圧し、そのエコー抑圧後の信号を送話出力信号ｓ'［ｎ］（ｎ＝０，１，・・・，Ｎ−１）として出力する。更に、ダブルトーク情報ＥＣstate［ｎ］を出力する。
【００４７】
適応フィルタ１１８Ａは、長さＬのフィルタ係数ｈ［ｉ］（ｉ＝０，１，・・・，Ｌ−１）が可変のトランスバーサルフィルタ（Transversal Filter）で構成される適応フィルタである。
【００４８】
適応フィルタ１１８Ａは遅延処理部１１７から出力された遅延した受話入力信号ｘ［ｎ−Ｄ］と、信号減算処理部１１８Ｂから出力されたエコー抑圧後の１サンプル前の送話出力信号である残差信号ｅ［ｎ−１］と、ダブルトーク検出部１１８Ｃから出力されたダブルトーク情報ＥＣｓｔａｔｅ［ｎ］とを入力とし、ダブルトーク情報ＥＣｓｔａｔｅ［ｎ］がダブルトーク状態でなかった場合はフィルタ係数ｈ［ｉ］をサンプルｎごとに適応学習し、ダブルトーク情報ＥＣｓｔａｔｅ［ｎ］がダブルトーク状態であった場合は、適応学習を行わない。
【００４９】
また、適応フィルタ１１８Ａは、遅延処理部１１７から出力された遅延した受話入力信号ｘ［ｎ−Ｄ］とフィルタ係数ｈ［ｉ］を用いて擬似エコー信号ｙ'［ｎ］（ｎ＝０，１，・・・，Ｎ−１）を算出して出力する。
【００５０】
適応フィルタ１１８Ａは、フィルタ係数ｈ［ｉ］の更新幅を制御する固定あるいは可変のステップサイズμT［ｎ］（ｎ＝０，１，・・・，Ｎ−１）を用いて適応学習を行う。
【００５１】
また、適応フィルタ１１８Ａは、例えばＬＭＳ（Least-Mean-Square）アルゴリズム、ＮＬＭＳ（Normalized-Least-Mean-Square）アルゴリズム、学習同定法、アフィン射影（ＡＰ：Affine-Projection）アルゴリズム、逐次最小二乗（ＲＬＳ：Recursive-Least-Squares）アルゴリズムなどの線形適応アルゴリズムに基づく適応フィルタや勾配制限型学習同定法（Gradient-limited Normalized-Least-Mean-Square）、適応ボルテラフィルタ（Adaptive Volterra Filter）などの非線形適応アルゴリズムに基づく適応フィルタで構成される。また、本実施形態では時間領域型適応フィルタの例を示しているが、サブバンド型（帯域分割型）・周波数領域型で用いる適応フィルタで構成してもよい。
【００５２】
信号減算処理部１１８Ｂは、ダウンサンプリング部１１３から出力された送話入力信号ｚ［ｎ］と、適応フィルタ１１８Ａから出力された擬似エコー信号ｙ’［ｎ］を入力とし、送話入力信号ｚ［ｎ］から擬似エコー信号ｙ’［ｎ］をサンプルｎごとに減算することでエコー成分を抑圧し、そのエコー抑圧後の信号である残差信号ｅ［ｎ］を出力する。また、残差信号ｅ［ｎ］を送話出力信号ｓ’［ｎ］（ｎ＝０，１，・・・，Ｎ−１）として通信部１０１へ出力する。
【００５３】
ダブルトーク検出部１１８Ｃは、遅延処理部１１７から出力された遅延した受話入力信号ｘ［ｎ−Ｄ］と、信号減算処理部１１８Ｂから出力された１サンプル前の送話出力信号である残差信号ｅ［ｎ−１］を入力とし、サンプルｎごとにダブルトーク状態か否かを判定する。
【００５４】
具体的には、ダブルトーク検出部１１８Ｃは、送話入力信号ｚ［ｎ］のパワー特性（パワー値またはピーク値。以下、「パワー特性」と称する。）ＰZ［ｎ］（ｎ＝０，１，・・・，Ｎ−１）と遅延した受話入力信号ｘ［ｎ−Ｄ］のパワー特性ＰX［ｎ］（ｎ＝０，１，・・・，Ｎ−１）と残差信号ｅ［ｎ］のパワー特性ＰE［ｎ］（ｎ＝０，１，・・・，Ｎ−１）とをサンプルｎごとに算出し、ＰE［ｎ］＞λ［ｎ］・ＰX［ｎ］またはＰZ［ｎ］＞δ・ＰX［ｎ］となる場合にダブルトーク状態と判定する。ここで、λ［ｎ］（ｎ＝０，１，・・・，Ｎ−１）はエコーパスロスの推定値であり、フィルタ係数ｈ［ｉ］（ｉ＝０，１，・・・，Ｌ−１）を適応学習したサンプルｎごとに算出し、適応学習が進めば小さくなり、適応学習が間違っていれば大きくなる可変量である。また、δは動作開始前に外部から予め設定可能な固定値である。そして、ダブルトーク検出部１１８Ｃは、ダブルトーク状態か否かの情報であるダブルトーク情報ＥＣｓｔａｔｅ［ｎ］を出力する。
【００５５】
ダブルトーク検出部１１８Ｃを備えないエコー抑圧処理部１１８であっても構わない。この場合、適応フィルタ１１８Ａとは、ダブルトーク情報ＥＣstate［ｎ］がダブルトーク状態でないことを示す場合の動作をする。
【００５６】
上記のように構成された、第１の実施形態に係る信号処理装置の処理の流れを、図７〜図９を参照して説明する。図７は、全体の処理の流れを示すフローチャートである。図８は、遅延量算出処理の流れを示すフローチャートである。図９はエコー抑圧処理部１１８におけるエコー抑圧処理の流れを示すフローチャートである。
【００５７】
図７において、発呼又は着呼があると、通信部１０１は通信リンクを確立する処理を行い、また各パラメータや各バッファの初期化などの初期設定処理を行う（ステップＳ１００１）。通信リンクが確立することにより、通信相手と双方向通話が可能な状態となり、双方向の通話が開始されると、通信部１０１にあり図示されないデコーダは１サンプルごとに復号化され受話入力信号ｘ［ｎ］として読み込む。また、マイク１１１を介して送話入力信号ｚ［ｎ］が読み込まれる（ステップＳ１００２）。
【００５８】
そして、遅延量算出部１１５は、遅延量を検出する処理を行う（ステップＳ１００３）。また、遅延処理部１１７は受話入力信号ｘ［ｎ］を一時的に蓄えて遅延させる処理を行う（ステップＳ１００４）。これら遅延した受話入力信号ｘ［ｎ−Ｄ］と送話入力信号ｚ［ｎ］を入力として、エコー抑圧処理部１１８はエコー抑圧処理を行う（ステップＳ１００５）。そして、ステップＳ１００２からステップＳ１００５の処理を、通話が終了するまで行う（ステップＳ１００６）。
【００５９】
ステップＳ１００３における遅延量算出処理について図８を参照して説明する。まず、遅延検出信号出力部１０４は、増幅された遅延検出信号α・ｇ［ｎ］を生成する（ステップＳ１１０１）。生成された遅延検出信号α・ｇ［ｎ］は、信号付加制御部１０３によって受話入力信号ｘ［ｎ］に付加され、スピーカから出力１０９され、マイク１１０に回り込む。
【００６０】
次いで、遅延検出信号抽出部１１４は、マイク１１０で収音した送話入力信号ｚ［ｎ］に含まれる遅延検出信号ｇ［ｎ］を抽出する（ステップＳ１１０２）。
【００６１】
音量算出部１０６Ｂは、遅延検出信号抽出部１１４によって抽出された遅延検出信号ｇ［ｎ］のパワーを計算し、音量制御部１０６Ｃに出力する。音量制御部１０６Ｃは、遅延検出信号のパワーに応じた音量情報αを更新して信号増幅部１０４Ｃに出力する（ステップＳ１１０３）。
【００６２】
付加時間制御部１０６Ａは、リソース監視部１０５から供給されるリソース情報に応じて遅延検出信号ｇ［ｎ］の付加時間を決定し、付加時間情報を周波数設定部１０４Ａおよび制御スイッチ１０３Ｂに出力する。また、付加時間制御部１０６Ａは、遅延検出信号位置情報を周波数設定部１０４Ａに出力し、付加時間周波数情報を遅延量算出部１１５に出力する（ステップＳ１１０４）。
【００６３】
遅延量算出部１１５は、過去に出力した遅延検出信号ｇ［ｎ］と付加時間周波数情報と回り込んだ遅延検出信号ｇ［ｎ］を用いて、過去に出力した遅延検出信号と回り込んだ遅延検出信号との同期をとって遅延量を算出する（ステップＳ１１０５）。遅延量補正部１１６は、遅延量を補正する（ステップＳ１１０６）。
【００６４】
ステップＳ１００５におけるエコー抑圧処理について図９を参照して説明する。まず、ダブルトーク検出部１１８Ｃがダブルトーク検出処理を行う（ステップＳ１２０１）。次に、適応フィルタ部１１８Ａはダブルトーク情報ＥＣstate［ｎ］の制御を受けながら、適応フィルタ処理を行い、擬似エコーを生成する（ステップＳ１２０２）。そして、信号減算処理部１１８Ｂは、送話入力信号ｚ［ｎ］から、適応フィルタ部１１８Ａから出力された擬似エコー信号ｙ'［ｎ］を減算（ステップＳ１２０３）し、送話出力信号ｓ'［ｎ］を算出して出力し、エコーキャンセラ処理が終了する。
【００６５】
以上説明したように、断続的に短時間の遅延検出信号を受話入力信号に重畳し、送話入力信号から遅延検出信号の成分を抽出して受話入力信号に重畳する前の遅延検出信号と比較することで、受話入力信号と送話入力信号に含まれるエコー成分との遅延量を計算し、計算された遅延量に基づいてエコーを抑圧することで、同一呼内での遅延量の変動（同期揺らぎ）に対応できる。遅延検出信号の周波数成分はエコー抑圧処理に用いない周波数帯域でかつ非可聴域（聴覚上聞こえない高域の周波数帯域）の信号なので、近端話者の音声やダブルトークや雑音の影響を受けにくいため遅延量の推定精度が良くなる。また、聴覚上聞こえないため近端話者が不快にならない。
【００６６】
また、遅延検出信号を出力する時間間隔（間欠長）を低域の非可聴域にすることで、遅延検出信号の周期性による周期音による不快感を無くすことができる。さらに、遅延検出信号を断続的に短時間出すことで、ユーザが動くことによるドップラー効果の影響を受け遅延検出信号を聴いてしまってユーザに不快感を与える可能性を低減することができる。
【００６７】
音量算出部１０６Ｂと音量制御部１０６Ｃにより、遅延検出信号が送話入力側へ回り込んだ音量を算出し、その音量によって受話入力信号に付加する音量を変化させることで、音響空間の特性や受話増幅器１０８や送話増幅器１１１が変化した場合でも、安定して遅延量が算出でき、エコー抑圧処理部１１８での突発的なエコーの消し残りによる異音発生を防止できる。
【００６８】
リソース監視部１０５によりハードウェアのリソース（プロセッサの処理負担、記憶装置の処理負担、電池残量）を監視し、付加時間制御部１０６Ａによりハードウェアのリソース情報に応じて遅延検出信号を出すタイミングを変化させることで、リソース不足に伴う同期揺らぎを対応でき、エコー抑圧処理部１１８での突発的なエコーの消し残りによる異音発生を防止できる。
【００６９】
(第２の実施形態)
図１０は、本発明の第２の実施形態に係る信号処理部の構成を示すブロック図である。この信号処理部が第１の実施形態に係る信号処理部と異なる点について説明する。
【００７０】
この信号処理部は、スピーカ１０９への出力経路とマイク１１０からの入力経路が共に、第１の実施形態の信号処理部に比べて高サンプリングレートである。
【００７１】
例えば、高ビットレート通信部２０１から出力される受話入力信号ｘ［ｎ］のサンプリング周波数（標本化周波数）、およびＡ／Ｄ変換部１１２のサンプリング周波数（標本化周波数）が共に４８ｋＨｚであって、エコー抑圧処理部１１８が処理するデータのサンプリング周波数（標本化周波数）が１６ｋＨｚである。
【００７２】
ダウンサンプリング処理部２０２は、高ビットレート通信部２０１から出力された受話入力信号ｘ［ｎ］を入力とし、サンプリング周波数（標本化周波数）が４８ｋＨｚの受話入力信号ｘ［ｎ］をサンプリング周波数（標本化周波数）が１６ｋＨｚのデータに変換し、遅延処理部１１７に出力する。
【００７３】
アップサンプリング処理部２１９は、エコー抑圧処理部２１８から出力された送話出力信号ｓ'［ｎ］を入力とする。アップサンプリング処理部２１９は、サンプリング周波数（標本化周波数）が１６ｋＨｚの送話出力信号ｓ'［ｎ］をサンプリング周波数（標本化周波数）が４８ｋＨｚの送話出力信号に変換して、高ビットレート通信部２０１に出力する。
【００７４】
次に、図１０に示す信号処理部のエコー抑圧処理部２１８の構成について図１１を参照して説明する。図１１は、本発明の第２の実施形態に係わるエコー抑圧処理部２１８の構成を示すブロック図である。
【００７５】
このエコー抑圧処理部２１８は、周波数領域変換処理部２１８Ａ、周波数領域適応フィルタ２１８Ｂ、周波数領域逆変換処理部２１８Ｃ、信号減算処理部２１８Ｄ、周波数領域変換処理部２１８Ｅ、周波数領域ダブルトーク検出部２１８Ｆ等を有する。
【００７６】
エコー抑圧処理部２１８は、ダウンサンプリング処理部１１３から出力された送話入力信号ｚ［ｎ］と、遅延処理部１１７から出力された遅延した受話入力信号ｘ［ｎ−Ｄ］を入力とし、オーバーラップ保存法（Overlap-Save Method）、あるいはオーバーラップ加算法（Overlap-Add Method）に基づき、送話入力信号ｚ［ｎ］からエコー成分を抑圧し、そのエコー抑圧後の信号を送話出力信号ｓ'［ｎ］（ｎ＝０，１，・・・，Ｎ−１）として出力する。
【００７７】
周波数領域変換処理部２１８Ａは、遅延処理部１１７から出力された遅延した受話入力信号ｘ［ｎ−Ｄ］を入力とし、ＦＦＴ（Fast Fourier Transform）などによって周波数領域に変換して、受話入力信号の周波数スペクトルＸFDAF［ｆ，ω］を算出して出力する。このとき適宜、オーバーラップ保存法（Overlap-Save Method）、あるいはオーバーラップ加算法（Overlap-Add Method）に基づき、ハミング窓などによる窓掛けや、過去のサンプルを用いたり零補間したりオーバーラップを行う。なお、ここでは１フレーム（Ｎサンプル）毎に周波数変換するとし、ｆはその周波数変換するフレーム番号を表す。また、ωは周波数領域に変換された後の周波数帯域を表す。
【００７８】
周波数領域適応フィルタ２１８Ｂは、フィルタ係数ＨFDAF［ｆ，ω］が可変のトランスバーサルフィルタ（Transversal Filter）で構成される。また、周波数領域適応フィルタ２１８Ｂは、周波数領域変換処理部２１８Ａから出力された受話入力信号の周波数スペクトルＸFDAF［ｆ，ω］と、周波数領域変換処理部２１８Ｅから出力された１フレーム前の送話出力信号の周波数スペクトルＥFDAF［ｆ−１，ω］と、周波数領域ダブルトーク検出部２１８Ｆから出力されたダブルトーク情報ＥＣstate［ｆ，ω］とを入力とする。周波数領域適応フィルタ２１８Ｂは、ダブルトーク情報ＥＣstate［ｆ，ω］がダブルトーク状態でなかった場合はフィルタ係数ＨFDAF［ｆ，ω］をフレームｆ及び周波数帯域ωごとに適応学習し、ダブルトーク情報ＥＣstate［ｆ，ω］がダブルトーク状態であった場合は適応学習を行わない。このようにしてフィルタ係数ＨFDAF［ｆ，ω］を算出して周波数領域適応フィルタ２１８Ｂに出力する。  周波数領域適応フィルタ２１８Ｂは、周波数領域変換処理部２１８Ａから出力された受話入力信号の周波数スペクトルＸFDAF［ｆ，ω］と、フィルタ係数ＨFDAF［ｆ，ω］とを用いて擬似エコー信号の周波数スペクトルＹ'FDAF［ｆ，ω］をＹ'FDAF［ｆ，ω］＝ＨFDAF［ｆ，ω］・ＸFDAF［ｆ，ω］として算出して出力する。
【００７９】
周波数領域適応フィルタ２１８Ｂは、フィルタ係数ＨFDAF［ｆ，ω］の更新幅を制御する固定あるいは可変のステップサイズμF［ｆ，ω］を用いて、適応学習を行う。
【００８０】
周波数領域適応フィルタ２１８Ｂは、例えばＬＭＳ（Least-Mean-Square）アルゴリズム、ＮＬＭＳ（Normalized-Least-Mean-Square）アルゴリズム、学習同定法、アフィン射影（ＡＰ：Affine-Projection）アルゴリズム、逐次最小二乗（ＲＬＳ：Recursive-Least-Squares）アルゴリズムなどの線形適応アルゴリズム、或いは勾配制限型学習同定法（Gradient-limited Normalized-Least-Mean-Square）、適応ボルテラフィルタ（Adaptive Volterra Filter）などの非線形適応アルゴリズムに基づいてフィルタ係数を決定する。また、本実施形態では勾配拘束のない（gradient unconstrained）周波数領域型適応フィルタの例を示しているが、勾配拘束のある（gradient constrained）周波数領域型適応フィルタで構成してもよい。
【００８１】
周波数領域逆変換処理部２１８Ｃは、周波数領域適応フィルタ２１８Ｂから出力された擬似エコー信号の周波数スペクトルＹ'FDAF［ｆ，ω］を入力とし、ＩＦＦＴ（Inverse Fast Fourier Transform）などによって擬似エコー信号ｙ'FDAF［ｎ］（ｎ＝０，１，・・・，Ｎ−１）を算出して周波数領域逆変換処理部２１８Ｃに出力する。このとき適宜、オーバーラップ保存法（Overlap-Save Method）あるいはオーバーラップ加算法（Overlap-Add Method）に基づき、過去のサンプルを用いたり零補間したりオーバーラップを戻したりする処理を行う。
【００８２】
信号減算処理部２１８Ｄは、ダウンサンプリング処理部１１３から出力された送話入力信号ｚ［ｎ］と、周波数領域逆変換処理部２１８Ｃから出力された擬似エコー信号ｙ'FDAF［ｎ］とを入力とし、送話入力信号ｚ［ｎ］から擬似エコー信号ｙ'FDAF［ｎ］をサンプルｎごとに減算し、エコー成分を抑圧し、そのエコー抑圧後の信号である残差信号ｅ［ｎ］を送話出力信号ｓ'［ｎ］として出力する。
【００８３】
周波数領域変換処理部２１８Ｅは、信号減算処理部２１８Ｄから出力された時間領域の送話出力信号ｓ'［ｎ］（残差信号ｅ［ｎ］）を入力として、ＦＦＴ（Fast Fourier Transform）などによって周波数領域に変換して、送話出力信号の周波数スペクトルＥFDAF［ｆ，ω］を算出して出力する。このとき適宜、オーバーラップ保存法（Overlap-Save Method）、あるいはオーバーラップ加算法（Overlap-Add Method）に基づき、ハミング窓などによる窓掛けや、過去のサンプルを用いたり零補間したりオーバーラップを行う。
【００８４】
周波数領域ダブルトーク検出部２１８Ｆは、周波数領域変換処理部２１８Ａから出力された受話入力信号の周波数スペクトルＸFDAF［ｆ，ω］と、周波数領域変換処理部２１８Ｅから出力された１フレーム前の送話出力信号の周波数スペクトルＥFDAF［ｆ−１，ω］とを入力とし、フレームｆ及び周波数帯域ωごとにダブルトーク状態か否かを判定し、ダブルトーク状態か否かを示す情報であるダブルトーク情報ＥＣstate［ｆ，ω］を算出する。ダブルトーク情報ＥＣstate［ｆ，ω］は、周波数領域適応フィルタ２１８Ｂに出力される。
【００８５】
具体的には、まず周波数領域ダブルトーク検出部２１８Ｆは、受話入力信号の周波数スペクトルＸFDAF［ｆ，ω］から受話入力信号のパワースペクトル｜ＸFDAF［ｆ，ω］｜2を、１フレーム前の送話出力信号の周波数スペクトルＥFDAF［ｆ−１，ω］から送話出力信号のパワースペクトル｜ＥFDAF［ｆ−１，ω］｜2をフレームｆ及び周波数帯域ωごとに算出する。そして、不等式｜ＥFDAF［ｆ−１，ω］｜2＞λFDAF［ｆ，ω］×｜ＸFDAF［ｆ，ω］｜2が成り立つ場合にダブルトーク状態であると判定する。ここでλFDAF［ｆ，ω］は、エコーパスロスの推定値であり、フィルタ係数ＨFDAF［ｆ，ω］の適応学習が進めば小さくなり、適応学習が間違っていれば大きくなる可変量である。また、λFDAF［ｆ，ω］は、フィルタ係数ＨFDAF［ｆ，ω］を適応学習したフレームｆ及び周波数帯域ωごとに更新して算出する。そして、上記不等式が成り立たない場合、ダブルトーク状態ではないと判定する。
【００８６】
もちろん、周波数領域ダブルトーク検出部２１８Ｆを備えないエコー抑圧処理部２１８であっても構わない。この場合、周波数領域適応フィルタ２１８Ｂは、周波数領域ダブルトーク情報ブルトーク情報ＥＣstate［ｆ，ω］がダブルトーク状態でないことを示す場合の動作をする。
【００８７】
図１０に示す信号処理部全体の動作の流れは図７のフローチャートで説明した流れと同様なので説明を省略する。また、遅延量算出処理の流れも図８のフローチャートで説明した流れと同様なので説明を省略する。
【００８８】
図１１に示したエコー抑圧処理部２１８の処理の流れについて図１２のフローチャートを参照して説明する。エコー抑圧処理部２１８の処理は、次のように行われる。まず、受話入力信号ｘ［ｎ−Ｄ］を周波数領域に変換して、受話入力信号の周波数スペクトルＸFDAF［ｆ，ω］を算出し（ステップＳ２２０１）、送話出力信号ｓ'［ｎ］を周波数領域に変換して、送話出力信号の周波数スペクトルＥFDAF［ｆ，ω］を算出する（ステップＳ２２０２）。
【００８９】
次に、周波数領域ダブルトーク検出部２１８Ｆが受話入力信号の周波数スペクトルＸFDAF［ｆ，ω］と、１フレーム前の送話出力信号の周波数スペクトルＥFDAF［ｆ−１，ω］とを用いて、周波数領域ダブルトーク検出処理を行う（ステップＳ２２０３）。
【００９０】
そして、周波数領域適応フィルタ２１８Ｂはダブルトーク情報ＥＣstate［ｆ，ω］の制御を受けながら、受話入力信号の周波数スペクトルＸFDAF［ｆ，ω］と、１フレーム前の送話出力信号の周波数スペクトルＥFDAF［ｆ−１，ω］とを用いて周波数領域適応フィルタ処理を行い、擬似エコー信号の周波数スペクトルＹ'FDAF［ｆ，ω］を生成する（ステップＳ２２０４）。
【００９１】
次に、周波数領域逆変換処理部２１８Ｃは、擬似エコー信号の周波数スペクトルＹ'FDAF［ｆ，ω］を周波数領域逆変換して、擬似エコー信号ｙ'FDAF［ｎ］を算出する（ステップＳ２２０５）。そして、信号減算処理部２１８Ｄは、送話入力信号ｚ［ｎ］から、周波数領域逆変換処理部２１８Ｃから出力された擬似エコー信号ｙ'FDAF［ｎ］を減算し（ステップＳ２２０６）、送話出力信号ｓ'［ｎ］を算出して出力、エコーキャンセラ処理が終了する。
【００９２】
（第３の実施形態）
図１３は、本発明の第３の実施形態に係る信号処理部の構成を示すブロック図である。この信号処理部が第１の実施形態に係る信号処理部と異なる点について説明する。
【００９３】
事前にユーザの年齢に基づく非可聴域を格納しておく可聴特性格納部１０４Ｄが設けられている。可聴特性格納部１０４Ｄは、例えばユーザのプロフィールを格納する図示しない記憶部からユーザの年齢を入力される。年をとると、可聴域の下限はあまり変わらないが、上限の方は変化し高い周波数帯域の音が聞きにくくなる。そこで、可聴域の上限の周波数帯域を可聴特性格納部１０４Ｄに年齢に応じた可聴特性、則ち可聴域の上限を格納する。年齢に応じた可聴域の上限の例を以下に示す。
【００９４】
１５歳：２２ｋＨｚ
２０歳：２０ｋＨｚ
３０歳：１７ｋＨｚ
４０歳：１５ｋＨｚ
可聴特性格納部１０４Ｄは、可聴域の上限の周波数帯域を周波数設定部１０４Ａに出力し、周波数設定部１０４Ａは出力された可聴域の上限の周波数帯域を超えないように、遅延検出信号が有する周波数成分を非可聴域の周波数帯域でかつエコー抑圧処理部１１８で用いない周波数帯域に設定する。
【００９５】
また、図１３に示す信号処理部では、帯域分割部３２０は、抽出された遅延検出信号あるいは回り込んだ遅延検出信号からＱＭＦ（直交鏡像分割フィルタ）などのフィルタバンクを用いて高域成分を抽出し、かつエコー抑圧処理部３１８でのサンプリング周波数に合わせるようにダウンサンプリングして低いサンプリング周波数に変換する。遅延量算出部３１５は、元の高域成分を保持している低いサンプリング周波数の信号を用いて遅延量を算出する。また、遅延量補正部３１６では、遅延量の丸め処理を行わない。
【００９６】
次に、図１３に示す信号処理部のエコー抑圧処理部３１８の構成について図１４を参照して説明する。図１４は、本発明の第３の実施形態に係わるエコー抑圧処理部の構成を示すブロック図である。
【００９７】
図１４は、エコー抑圧処理部３１８の構成を示すブロック図である。このエコー抑圧処理部３１８は、遅延処理部１１７と接続される周波数領域変換処理部３１８Ａと、ダウンサンプリング処理部１１３と接続される周波数領域変換処理部３１８Ｂと、受話パワー算出部３１８Ｃと、送話パワー算出部３１８Ｄと、音響結合量推定部３１８Ｅと、エコー量推定部３１８Ｆと、周波数領域制御部３１８Ｇと、ゲイン格納部３１８Ｈと、エコー抑圧ゲイン算出部３１８Ｉと、信号抑圧部３１８Ｊと、通信部１０１と接続される周波数領域逆変換処理部３１８Ｋから構成される。
【００９８】
エコー抑圧処理部３１８は、遅延処理部１１７から出力された遅延した受話入力信号ｘ［ｎ−Ｄ］と、ダウンサンプリング処理部１１３から出力された送話入力信号ｚ［ｎ］とを入力とし、送話入力信号ｚ［ｎ］からエコー成分を抑圧し、そのエコー抑圧後の信号を送話出力信号ｓ'［ｎ］（ｎ＝０，１，・・・，Ｎ−１）として１フレーム（Ｎサンプル）ごとに出力する。
【００９９】
周波数領域変換処理部３１８Ａは、遅延処理部１１７から出力された遅延した受話入力信号ｘ［ｎ−Ｄ］を入力として、ＦＦＴ（Fast Fourier Transform）などの処理によって周波数領域に変換して、受話入力信号の周波数スペクトルＸ［ｆ，ω］を算出して出力する。
【０１００】
周波数領域変換処理部３１８Ｂは、ダウンサンプリング処理部１１３から出力された送話入力信号ｚ［ｎ］をＦＦＴなどによって周波数領域に変換して、送話入力信号の周波数スペクトルＺ［ｆ，ω］を算出して出力する。
【０１０１】
周波数領域変換処理部３１８Ａ、及び周波数領域変換処理部３１８Ｂは、適宜、ハミング窓などによる窓掛けや、過去のサンプルを用いたり零補間したりオーバーラップを行う。例えば、過去１フレーム分と当該フレームからＦＦＴ点数分の信号を取り出し、ハミング窓による窓掛けを行い、ＦＦＴを行う。
【０１０２】
受話パワー算出部３１８Ｃは、周波数領域変換処理部３１８Ａから出力された受話入力信号の周波数スペクトルＸ［ｆ，ω］を入力とし、そのパワースペクトルである受話パワースペクトル｜Ｘ［ｆ，ω］｜2を算出して出力する。そして、受話パワー算出部３１８Ｃは、１フレーム前の値｜ＸS［ｆ−１，ω］｜2を用いてスムージングした受話パワースペクトル｜ＸS［ｆ，ω］｜2を算出して出力する。
【０１０３】
送話パワー算出部３１８Ｄは、周波数領域変換処理部３１８Ｂから出力された送話入力信号の周波数スペクトルＺ［ｆ，ω］を入力とし、そのパワースペクトルである送話パワースペクトル｜Ｚ［ｆ，ω］｜2を算出して出力する。そして、送話パワー算出部３１８Ｄは、１フレーム前の値｜ＺS［ｆ−１，ω］｜2を用いてスムージングした送話パワースペクトル｜ＺS［ｆ，ω］｜2を算出して出力する。
【０１０４】
音響結合量推定部３１８Ｅは、受話パワー算出部３１８Ｃから出力されたスムージングされた受話パワースペクトル｜ＸS［ｆ，ω］｜2と、送話パワー算出部３１８Ｄから出力されたスムージングされた送話パワースペクトル｜ＺS［ｆ，ω］｜2と、周波数領域制御部３１８Ｇから出力される周波数領域ダブルトーク情報ＥＲstate［ｆ，ω］とを入力とし、送話入力信号に基づく｜ＺS［ｆ，ω］｜2を用いて、周波数帯域ω毎に音響結合量｜Ｈ［ｆ，ω］｜2を算出する。周波数領域ダブルトーク情報ＥＲstate［ｆ，ω］がダブルトーク状態ではない周波数帯域ωでは、｜Ｈ［ｆ，ω］｜2を｜ＺS［ｆ，ω］｜2／｜ＸS［ｆ，ω］｜2として更新する。周波数領域ダブルトーク情報ＥＲstate［ｆ，ω］がダブルトーク状態である周波数帯域ωでは、１フレーム前の値｜Ｈ［ｆ−１，ω］｜2を保持する。  そして、音響結合量推定部３１８Ｅは、音響結合量｜Ｈ［ｆ，ω］｜2をエコー量推定部３１８Ｆに出力する。
【０１０５】
エコー量推定部３１８Ｆは、受話パワー算出部３１８Ｃから出力されたスムージングされた受話パワースペクトル｜ＸS［ｆ，ω］｜2と、音響結合量推定部３１８Ｅから出力された音響結合量｜Ｈ［ｆ，ω］｜2とを入力とし、送話入力信号の周波数スペクトルＺ［ｆ，ω］に含まれるエコー量｜Ｙ［ｆ，ω］｜2を周波数帯域ω毎に｜Ｈ［ｆ，ω］｜2×｜ＸS［ｆ，ω］｜2として出力する。
【０１０６】
そして、エコー量推定部３１８Ｆは、１フレーム前の値を用いてスムージングしたエコー量｜ＹS［ｆ，ω］｜2を周波数帯域ω毎に算出して出力する。
【０１０７】
周波数領域制御部３１８Ｇは、受話パワー算出部３１８Ｃから出力されたスムージングされた受話パワースペクトル｜ＸS［ｆ，ω］｜2と、音響結合量推定部３１８Ｅから出力された１フレーム前の音響結合量｜Ｈ［ｆ−１，ω］｜2とを入力とし、ダブルトーク状態か否かを示す情報である周波数領域ダブルトーク情報ＥＲstate［ｆ，ω］を出力する。
【０１０８】
周波数領域制御部３１８Ｇは、音響結合量が急激に変化する場合、即ち、｜Ｈ［ｆ，ω］｜2＞βH［ω］・｜Ｈ［ｆ−１，ω］｜2が満たされる場合、かつ受話入力信号が十分に大きい場合、即ち、｜ＸS［ｆ，ω］｜2＜βX［ω］が満たされる場合には、周波数領域ダブルトーク情報ＥＲstate［ｆ，ω］をダブルトーク状態とする。そうでない場合には、周波数領域ダブルトーク情報ＥＲstate［ｆ，ω］をダブルトーク状態でないとする。
【０１０９】
もちろん、周波数領域制御部３１８Ｇを備えないエコー抑圧処理部３１８であっても構わない。この場合、音響結合量推定部３１８Ｅは、周波数領域ダブルトーク情報ＥＲstate［ｆ，ω］がダブルトーク状態でないことを示す場合の動作をする。
【０１１０】
ゲイン格納部３１８Ｈは、事前に設定された非線形エコー抑圧量を制御するパラメータγ［ω］を格納して出力する。ただし、γ［ω］は１．０〜２．０程度が望ましい。
【０１１１】
エコー抑圧ゲイン算出部３１８Ｉは、送話パワー算出部３１８Ｄから出力されたスムージングされた送話パワースペクトル｜ＺS［ｆ，ω］｜2と、エコー量推定部３１８Ｆから出力されたスムージングしたエコー量｜ＹS［ｆ，ω］｜2と、ゲイン格納部３１８Ｈから出力されたパラメータγ［ω］とを入力とし、エコー抑圧ゲインＧ［ｆ，ω］を式１のように算出して出力する。
【０１１２】
【数１】
2008259032.tif 000003
【０１１３】
また、エコー抑圧ゲイン算出部３２０Ｉは、過剰なエコー抑圧により送話音声の品質が劣化するのを防止するため、エコー抑圧ゲインＧ［ｎ，ω］が０以上１以下になるように制御する。
【０１１４】
信号抑圧部３１８Ｊは、周波数領域変換処理部３１８Ｂから出力された送話入力信号の周波数スペクトルＺ［ｎ，ω］と、エコー抑圧ゲイン算出部３１８Ｉから出力されたエコー抑圧ゲインＧ［ｎ，ω］とを入力として、周波数領域変換処理部３１８Ｂから出力された送話入力信号の周波数スペクトルＺ［ｎ，ω］のエコーを抑圧し、送話出力信号のスペクトルＳ'［ｆ，ω］として出力する。具体的には、送話出力信号の振幅スペクトル｜Ｓ'［ｆ，ω］｜を送話入力信号の振幅スペクトル｜Ｚ［ｎ，ω］｜とエコー抑圧ゲインＧ［ｎ，ω］の積で算出し、送話出力信号の位相スペクトルは送話入力信号の位相スペクトルと同じとする。
【０１１５】
周波数領域逆変換処理部３１８Ｋは、信号抑圧部３１８Ｊから出力された周波数スペクトルＳ'［ｆ，ω］を入力とし、ＩＦＦＴ（Inverse Fast Fourier Transform）などによって送話出力信号ｓ'［ｎ］（ｎ＝０，１，・・・，Ｎ−１）を算出して出力する。このとき適宜、周波数領域変換処理部３１８Ａ及び周波数領域変換処理部３１８Ｂの窓掛けを考慮して、過去のサンプルのｓ'［ｎ］を用いてオーバーラップを戻す処理を行う。
【０１１６】
図１４に示したエコー抑圧処理部３１８の処理の流れについて図１５のフローチャートを参照して説明する。周波数領域変換処理部３１８Ａは遅延した受話入力信号ｘ［ｎ−Ｄ］を周波数領域に変換して、受話入力信号の周波数スペクトルＸ［ｆ，ω］を算出して（ステップＳ３２０１ｒ）、受話パワー算出部３１８Ｃは受話パワースペクトル｜Ｘ［ｆ，ω］｜2及びスムージングされた受話パワースペクトル｜ＸS［ｆ，ω］｜2を算出する（ステップＳ３２０２ｒ）。
【０１１７】
同様に、周波数領域変換処理部３１８Ｂは送話入力信号ｚ［ｎ］を周波数領域に変換して、送話入力信号の周波数スペクトルＺ［ｆ，ω］を算出して（ステップＳ３２０１ｓ）、送話パワー算出部３１８Ｄは送話パワースペクトル｜Ｚ［ｆ，ω］｜2及びスムージングされた送話パワースペクトル｜ＺS［ｆ，ω］｜2を算出する（ステップＳ３２０２ｓ）。
【０１１８】
そして、周波数領域制御部３１８Ｇは周波数領域ダブルトーク情報ＥＲstate［ｆ，ω］を出力し、音響結合量推定部３１８Ｅは、スムージングされた受話パワースペクトル｜ＸS［ｆ，ω］｜2とスムージングされた送話パワースペクトル｜ＺS［ｆ，ω］｜2と、周波数領域ダブルトーク情報ＥＲstate［ｆ，ω］とを入力として音響結合量｜Ｈ［ｆ，ω］｜2を算出する（ステップＳ３２０３）。エコー量推定部３１８Ｆは、音響結合量｜Ｈ［ｆ，ω］｜2とスムージングした受話パワースペクトル｜ＸS［ｆ，ω］｜2とを入力として送話入力信号に含まれるエコー量｜ＹS［ｆ，ω］｜2を推定する（ステップＳ３２０４）。
【０１１９】
エコー抑圧ゲイン算出部３１８Ｉは、送話パワー算出部３１８Ｄから出力されたスムージングされた送話パワースペクトル｜ＺS［ｆ，ω］｜2と、エコー量推定部３１８Ｆから出力されたスムージングしたエコー量｜ＹS［ｆ，ω］｜2と、ゲイン格納部３１８Ｈから出力されたパラメータγ［ω］とを入力として、エコー抑圧ゲインＧ［ｆ，ω］を算出する。また、エコー抑圧ゲイン算出部３２０Ｉはエコー抑圧ゲインＧ［ｆ，ω］を０以上１以下になるように制御する（ステップＳ３２０５）。
【０１２０】
そして、信号抑圧部３１８Ｊは、エコー抑圧ゲイン算出部３１８Ｉで算出されたエコー抑圧ゲインＧ［ｆ，ω］を入力として、エコーを抑圧する（ステップＳ３２０６）。最終的に、周波数領域逆変換処理部３１８Ｋは、信号抑圧部３１８Ｊから出力された周波数スペクトルＳ'［ｆ，ω］を周波数逆変換処理することによって（ステップＳ３２０７）、エコー抑圧処理が終了する。
【０１２１】
なお、上記実施形態のエコー抑圧処理の例として順に、適応フィルタ、周波数領域適応フィルタ、周波数領域エコー抑圧処理（エコーリダクション）を挙げて説明したが、各実施形態は本発明の要旨を逸脱しない範囲でこれらのエコー抑圧処理の入れ換えあるいは組み合わせにおいても実施し得ることが可能である。
【０１２２】
なお、上記実施形態の遅延検出信号の付加、遅延検出信号の遅延量を検出する等の送話出力信号に含まれるエコーを抑圧するための処理は全てコンピュータプログラムによって実現されているので、このコンピュータプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールするだけで、本実施形態と同様の効果を容易に実現することができる。また、このコンピュータプログラムは、パーソナルコンピュータのみならず、プロセッサを内蔵した各種電子機器上で実行することができる。
【０１２３】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【０１２４】
【図１】第１の実施形態に係わる情報処理装置としてのパーソナルコンピュータの概略構成を示すブロック図。
【図２】第１の実施形態に係る信号処理部の構成を示すブロック図。
【図３】図２に示すリソース監視部の構成を示すブロック図。
【図４】エコー抑圧処理部の構成を示すブロック図。
【図５】図２に示す遅延検出信号出力部が生成する遅延検出信号を示す図。
【図６】図２に示す遅延検出信号出力部が生成する遅延検出信号を示す図。
【図７】図２の信号処理部における全体の処理の流れを示すフローチャート。
【図８】第１の実施形態に係わる遅延量算出処理の流れを示すフローチャート。
【図９】第１の実施形態に係わるエコー抑圧処理部におけるエコー抑圧処理の流れを示すフローチャート。
【図１０】第２の実施形態に係る信号処理部の構成を示すブロック図。
【図１１】図１０に示すエコー抑圧処理部の構成を示すブロック図である。
【図１２】第２の実施形態に係わるエコー抑圧処理部におけるエコー抑圧処理の流れを示すフローチャート。
【図１３】第３の実施形態に係わる信号処理部の構成を示すブロック図。
【図１４】図１３に示すエコー抑圧処理部の構成を示すブロック図である。
【図１５】第３の実施形態に係わるエコー抑圧処理部におけるエコー抑圧処理の流れを示すフローチャート。
【符号の説明】
【０１２５】
１０１…通信部，１０２…アップサンプリング処理部，１０３…信号付加制御部，１０４…遅延検出信号出力部，１０５…リソース監視部，１０６…遅延検出信号制御部，１０７…Ｄ／Ａ変換部，１０８…受話増幅器，１０９…スピーカ，１１０…マイク，１１１…送話増幅部，１１２…Ａ／Ｄ変換部，１１３…ダウンサンプリング処理部，１１４…遅延検出信号抽出部，１１５…遅延量算出部，１１６…遅延量補正部，１１７…遅延処理部，１１８…エコー抑圧処理部，１１８Ａ…適応フィルタ，１１８Ｂ…信号減算処理部，１１８Ｃ…ダブルトーク検出部。
【図１】
2008259032.tif 000004
【図２】
2008259032.tif 000005
【図３】
2008259032.tif 000006
【図４】
2008259032.tif 000007
【図５】
2008259032.tif 000008
【図６】
2008259032.tif 000009
【図７】
2008259032.tif 000010
【図８】
2008259032.tif 000011
【図９】
2008259032.tif 000012
【図１０】
2008259032.tif 000013
【図１１】
2008259032.tif 000014
【図１２】
2008259032.tif 000015
【図１３】
2008259032.tif 000016
【図１４】
2008259032.tif 000017
【図１５】
2008259032.tif 000018