説明

エコーキャンセラ

【課題】エコー経路が急峻に変化し、エコー信号の遅延が変わった場合でも、特段の装置規模を大きくすることなく、速やかにエコーを追従し、除去することができるエコーキャンセラを提供する。
【解決手段】本発明のエコーキャンセラは、適応フィルタを含む擬似エコー生成手段を備えるものであり、周波数マスキング効果によりマスキングされる特定周波数成分を含む参照信号を形成してエコー経路に出力し、さらに送話信号から参照信号に由来する特定周波数成分のエコー成分を検出し、特定周波数成分を含む参照信号の形成タイミングと、送話信号中の特定周波数成分のエコー成分の検出タイミングとに基づいてエコー経路の初期遅延量を求める初期遅延推定手段と、初期遅延推定手段からのエコー経路の初期遅延量を受話信号に付与して擬似エコー生成手段に与える遅延付与手段とを備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エコーキャンセラに関し、例えば、パーソナルコンピュータに搭載するエコーキャンセラに適用し得るものである。
【背景技術】
【0002】
近年、例えばインターネットのようなIPネットワークを利用して音声信号を通信するVoIPを用いたIP電話が普及している。この一例として、パーソナルコンピュータ(PC)上で動作するソフトフォンと呼ばれるIP電話も利用されている。このソフトフォンでは、PCに内蔵されるサウンドデバイス(A/D変換器やD/A変換器などを含む)を用いて音声の入出力を行っている。
【0003】
従来のサウンドデバイスを用いたエコーキャンセラの処理について図2を参照して説明する。
【0004】
図2において、図示しない遠端話者からの音声データは、インターネット100を通じてネットワーク端末装置115(例えばPC等)内の回線インターフェース114に入力される。
【0005】
そして、音声データは、復号器101で音声波形信号(以後、音声信号という)に復号される。音声信号は音声出力ドライバ102に入力され、音声出力ドライバ102の出力信号はネットワーク端末装置115に装備されたサウンドボード103の途切れ緩衝用蓄積バッファ104に入力される。
【0006】
途切れ緩衝用蓄積バッファ104は過去に蓄積された音声信号から順にディジタル−アナログ変換器(以後、D/Aという)105に出力し、D/A105は信号をアナログ信号に変換してスピーカ端子116を通じてスピーカ106とアナログ−ディジタル変換器(以後、A/Dという)108に出力する。
【0007】
スピーカ106で放射された音声信号はマイクロフォン107に回り込み、A/D108に入力される。A/D108に入力された信号のうち、D/A105から直接入力された信号は途切れ緩衝用蓄積バッファ109を経由して信号r(k)として、音声入力ドライバ110内の適応フィルタ111に入力される。
【0008】
一方、スピーカ106を経由してA/D108に入力された信号は途切れ緩衝用蓄積バッファ109を経由して加算器112に入力される。適応フィルタ111では、信号r(k)と信号f(k)を入力として打ち消し信号(擬似エコー信号)s(k)を作成する。この信号s(k)の作成に関しては、信号f(k)を最小にする適応アルゴリズム、例えば公知のNLMSアルゴリズムなどが使われるが、f(k)を最小にする適応アルゴリズムであれば種々の方法を適用することができる。
【0009】
加算器112では、スピーカ106から入力された信号(すなわち、エコー信号)と擬似エコー信号s(k)を相殺し、これにより得られた信号f(k)を適応フィルタ111及び符号化器113に出力する。また、符号化器113では、音声信号をインターネット100に出力するため、音声データをパケット整形して変換し、回線インターフェース114を通じてインターネット100に出力する。
【0010】
ところで、ネットワーク端末装置115が、例えばPC等のように通信処理の他にもいろいろな処理を実行する装置である場合、エコーキャンセラにとって不都合が発生する。
【0011】
これは、例えばPCのような汎用装置では、通信のようなリアルタイム性を必要とする処理の他にも、色々なアプリケーションプログラムを実行させており、計算資源(例えばPCUやメモリなどのリソース)を使用しているから、音声出力ドライバ102や音声入力ドライバ110は一旦処理を待機させることが発生するからである。
【0012】
通常、音声処理の待機はそのまま音声信号の断絶につながる。そこで、従来技術では途切れ緩衝用蓄積バッファ104及び109に予め音声データを蓄積しておき、音声処理の待機が発生しても、その間、途切れ緩衝用蓄積バッファ104及び109に蓄積済みの音声信号をD/A105やA/D108に出力し、音声の途切れを防ぐようになっている。なお、この途切れ緩衝用蓄積バッファ104及び109に蓄積されるデータがなくなれば音声データの出力ができなくなる。
【0013】
また、逆に音声出力ドライバ102や音声入力ドライバ109は動作しているのに、何らかの原因により途切れ緩衝用蓄積バッファ104及び109の出力が待機される場合がある。この場合、途切れ緩衝用蓄積バッファ104及び109にデータが流れ込むが、データ出力できないために、蓄積データが溜まってしまい蓄積量が飽和してしまう。この飽和中に、途切れ緩衝用蓄積バッファ104及び109に入力すると、そのデータを蓄積できず、破棄されてしまう。
【0014】
こうした、途切れ緩衝用蓄積バッファ104及び109のデータの枯渇や飽和は、音声信号として双方とも音声の途切れという現象になって現れる。
【0015】
さらに、このような音声信号の途切れや、途切れ緩衝用蓄積バッファ104及び109の蓄積量変動は、適応フィルタ111を用いたエコー除去にとって性能劣化にも繋がる。その理由は次の通りである。
【0016】
通常エコー除去のための適応フィルタ111(エコーキャンセラ)は、復号器101の出力と音声入力ドライバ109の出力を各々適応フィルタ111の入力として動作するように実装される。
【0017】
そのため、信号経路として音声出力ドライバ102から始まって、途切れ緩衝用蓄積バッファ104、スピーカ106、マイク107を経由して途切れ緩衝用蓄積バッファ109、音声入力ドライバ110に至るまでの経路は、2つの途切れ緩衝用バッファ104及び109の蓄積量変化(遅延変化)と、音声の途切れ(バッファの枯渇や飽和)がエコー経路の時変動と要因となる。
【0018】
公知のように適応フィルタ111は、エコー経路が時間不変である前提が成り立つときに効果を発揮するので、エコー経路に時間変動があると性能が大きく劣化することになる。
【0019】
図2において、従来のエコーキャンセラは、D/A105の出力から直接A/D108に信号を入力し、A/D108からの出力を途切れ緩衝用蓄積バッファ109を経由して適応フィルタ111に入力するようにする。すなわち、途切れ緩衝用蓄積バッファ109で途切れ(枯渇)、飽和の影響を受けた後の信号をアダプティブフィルタの参照入力信号r(k)として入力する。
【0020】
またその一方で、途切れ緩衝用蓄積バッファ109で途切れ(枯渇)、飽和の影響が反映されているエコー信号を加算器112に入力するようにする。
【0021】
このように、適応フィルタ111の入力にも途切れ緩衝用蓄積バッファ109の影響を取り込むことで、見かけ上、送受信の2つの経路上の途切れ緩衝用蓄積バッファ109の影響を相殺することができ、適応フィルタ111にとってエコー経路の時変動をなくすことでエコー除去能力の劣化を防止している。
【先行技術文献】
【特許文献】
【0022】
【特許文献1】特開2004−40589号公報
【特許文献2】特開2007−189543号公報
【特許文献3】特開2000−295461号公報
【非特許文献】
【0023】
【非特許文献1】小野測器,技術レポート「音質評価とは:5ラウドネス計算の基となる考え方」,2009年1月31日検索,http://www.onosokki.co.jp/HP-WK/c_support/newsreport/soundquality/soundquality_2.htm
【発明の概要】
【発明が解決しようとする課題】
【0024】
しかしながら、図2に示す従来技術では、エコー除去のため、スピーカ106からマイクロフォン107までを結線させる必要があり、専用のサウンドボード103を用いる必要がある。そのため、装置として高価なものになってしまうおそれがある。
【0025】
また、専用ボードを使用せずに済ませたい場合には、ステレオで動作する一方のチャンネルのスピーカ106用出力と他方のチャンネルのマイク端子とを電線で接続する必要がある。そのため、本来のステレオサウンドを用いることができなくなってしまうという欠点がある。さらにその上、エコーキャンセラの参照信号をマイクロフォン側の信号から採取するように変更する必要があり、ユーザがこれを実行するのはハードウェア的にもソフトウェア的にも大変困難であった。
【0026】
これらの不都合は、エコー経路の急峻な変化に起因するものである。そこで、本願発明者等は、特許文献2において、大まかな参照入力信号とエコー信号の特性、すなわち参照入力信号のパワーのエンベロープとエコー信号のエンベロープとを用いてエンベロープ同士で適応フィルタを駆動し、適応的に初期遅延を推定してエコーキャンセラのタップを配置して初期遅延の時間変動に追従する技術を提案した。
【0027】
しかし、エンベロープ特性を用いるためには、音声信号においてエンベロープが音声波形の様子を特徴的に表すまでの区間のデータを確保してからでないと相関関係が精度よく計算できないおそれが生じ得る。
【0028】
これは、元来緩やかに変動するものである音声エンベロープというものを算出するためには不可避な時間遅延が生じるから、エコー経路に上記のようなPC等のバッファのような跳躍的な遅延変化がかなりの頻度で前触れ無く発生する場合には、エンベロープ相関による追従性能が追いつかず、エコーを除去できないおそれがあるからである。
【0029】
本発明は、上記課題に鑑み、サウンドボードは汎用のものを使うことができ、特段のハードウェア的改造をすることなく、途切れ緩衝用蓄積バッファの状態によってエコーの遅延が変わっても速やかにエコーを追従、除去できるエコーキャンセラを提供することを目的とする。
【課題を解決するための手段】
【0030】
本発明のエコーキャンセラは、適応フィルタを含む擬似エコー生成手段が受話信号に基づいて擬似エコー信号を生成し、エコー消去手段が送話信号から擬似エコー信号を減算することにより、送話信号からエコー信号を消去するエコーキャンセラにおいて、(1)周波数マスキング効果によりマスキングされる特定周波数成分を含む参照信号を形成してエコー経路に出力し、さらに送話信号から参照信号に由来する特定周波数成分のエコー成分を検出し、特定周波数成分を含む参照信号の形成タイミングと、送話信号中の特定周波数成分のエコー成分の検出タイミングとに基づいてエコー経路の初期遅延量を求める初期遅延推定手段と、(2)初期遅延推定手段からのエコー経路の初期遅延量を受話信号に付与して擬似エコー生成手段に与える遅延付与手段とを備えることを特徴とする。
【発明の効果】
【0031】
本発明によれば、エコー経路が急峻に変化し、エコー信号の遅延が変わった場合でも、特段の装置規模を大きくすることなく、速やかにエコーを追従し、除去することができる。
【図面の簡単な説明】
【0032】
【図1】第1の実施形態のエコーキャンセラ及び周辺構成の構成を示す構成図である。
【図2】従来のエコーキャンセラの構成を示す構成図である。
【図3】第1の実施形態の初期遅延推定部の内部構成を示す内部構成図である。
【図4】エコー経路のインパルス応答の様子を説明する説明図である。
【図5】遅延量判定部が推定する遅延量を説明する説明図である。
【図6】第2の実施形態のエコーキャンセラ及び周辺構成の構成を示す構成図である。
【図7】第2の実施形態の遅延及び適応フィルタ長推定部の内部構成を示す内部構成図である。
【図8】遅延及び適応フィルタ長推定部が推定するタップ長を説明する説明図である。
【図9】第3の実施形態のエコーキャンセラ及び周辺構成の構成を示す構成図である。
【図10】第3の実施形態のパラメータ推定部の内部構成を示す内部構成図である。
【発明を実施するための最良の形態】
【0033】
(A)第1の実施形態
以下では、本発明のエコーキャンセラの実施形態を、図面を参照しながら説明する。
【0034】
第1の実施形態は、例えばPC上のソフトフォン(例えばハンズフリー通話装置)において、適用フィルタを設けてエコーを打ち消すエコーキャンセラに、本発明を適用した実施形態を例示して説明する。
【0035】
(A−1)第1の実施形態の構成
(A−1−1)全体構成
第1の実施形態のエコーキャンセラは、例えば、専用ボードとして構築されたものであっても良く、又DSP(ディジタルシグナルプロセッサ)へのエコーキャンセルプログラムの書き込みによって実現されたものであっても良く、又CPUと、CPUが実行するソフトウェアによって実現されたものであっても良いが、機能的には図1で示すことができる。
【0036】
図1は、第1の実施形態のエコーキャンセラ及びその周辺構成を示す構成図である。
【0037】
図1において、エコーキャンセラ1は、音声出力ドライバ5及び音声入力ドライバ15を介して、サウンドボード8と接続している。図1において、右側が近端話者(すなわち利用者)側であり、左側が図示しないネットワーク(例えばインターネット等)と接続し遠端話者側である。
【0038】
エコーキャンセラ1は、遅延付与部2、適応フィルタ(ADF)3、初期遅延推定部4、エコー打消し加算器16を少なくとも有する。
【0039】
なお、受信側入力端子Rin(以後、Rinという)からは、図示しない復号器により復号されたディジタル音声信号が入力され、また送信側出力端子Sout(以後、Soutという)からは、図示しない符号化器により符号化されたパケットがネットワークを通じて遠端話者に送出される。
【0040】
また、サウンドボード8は、受信データ途切れ緩衝用蓄積バッファ6、ディジタル−アナログ変換器(D/A)7、スピーカ10と接続するスピーカ出力端子9、マイクロフォン11と接続するマイク端子12、アナログ−ディジタル変換器(A/D)13、送信データ途切れ緩衝用蓄積バッファ14を少なくとも有する。
【0041】
初期遅延推定器4は、Rinから受信入力信号x(n)と、送信側入力端子Sin(以後、Sin)からエコー信号y1(n)とを入力し、これらの信号に基づいてエコー経路の初期遅延を推定して遅延付与部2に与えるものであり、その詳細な構成は後述する。
【0042】
ここで、エコー経路の初期遅延とは、受信出力端子Rout(以後、Rout)から、音声出力ドライバ5、受信データ途切れ緩衝用蓄積バッファ6、D/A7、スピーカ出力端子9、スピーカ10、マイクロフォン11、マイク端子12、A/D13、送信データ途切れ緩衝用蓄積バッファ14、音声入力ドライバ15を経由して、エコー打消し加算器16に入力するまでの経路遅延をいう。
【0043】
遅延付与部2は、初期遅延推定部4により推定された遅延量に応じて、Rinからの信号x(n)に遅延を与えて適応フィルタ3に与えるものである。
【0044】
適応フィルタ(ADF)3は、遅延付与部2により遅延付与された信号x(n)と、エコー打消し加算器16から出力される残差信号e(n)とを入力し、逐次e(n)のパワーが最小となるように擬似エコー信号y´(n)を作成し、これを打消し加算器16に出力するものである。
【0045】
打消し加算器16は、Sinから入力された送信入力信号y1(n)から擬似エコー信号y´(n)を減算して、エコー成分を除去した残差信号e(n)を出力するものである。
【0046】
音声出力ドライバ5は、Routからの送信出力信号を受信データ途切れ緩衝用蓄積バッファ6に出力すると共に、受信データ途切れ緩衝用蓄積バッファ6の蓄積量を制御するものである。
【0047】
受信データ途切れ緩衝用蓄積バッファ6は、音声出力ドライバ5の制御を受けて所定の蓄積量だけ蓄積したデータを古いものから順にD/A7に出力するものである。
【0048】
D/A7は、受信データ途切れ緩衝用蓄積バッファ6からのディジタルデータをアナログ信号に変換して、スピーカ出力端子9を介してスピーカ10に出力するものである。
【0049】
A/D13は、マイク端子12を介してマイクロフォン11が捕捉した音声信号を入力し、アナログ信号をディジタルデータに変換して送信データ途切れ緩衝用蓄積バッファ14に出力するものである。
【0050】
送信データ途切れ緩衝用蓄積バッファ14は、音声入力ドライバ15の制御を受けて、所定の蓄積量だけ蓄積したデータを古いものから順に音声入力ドライバ15に出力するものである。
【0051】
音声入力ドライバ15は、送信データ途切れ緩衝用蓄積バッファ14からの信号をSinに出力すると共に、送信データ途切れ緩衝用蓄積バッファ14の蓄積量を制御するものである。
【0052】
(A−1−2)初期遅延推定部4の内部構成
続いて、初期遅延推定部4の詳細な内部構成について説明する。図3は、初期遅延推定部4の内部構成を示す内部構成図である。
【0053】
図3において、第1の実施形態の初期遅延推定部4は、音声検出器(VAD)19、特定周波数断続部17、タイミング制御部1a、遅延判定部1b、送信側特定周波数波形再現部18とを少なくとも有する。
【0054】
また、特定周波数断続部17は、受信側時間/周波数変換部170、データ保持部171、受信側単成分ディジタルフーリエ変換部(以後、DFT部)172、受信側特定周波数成分保持部173、受信側周波数/時間変換部174、受信側単成分逆ディジタルフーリエ変換部(逆DFT部)175、逆DFT正規化部176、スイッチ177、純成分キャンセル加算器178を少なくとも有する。
【0055】
さらに、送信側特定周波数波形再現部18は、送信側時間/周波数変換部180、送信側単成分ディジタルフーリエ変換部(以後、DFT部)181、送信側特定周波数成分保持部182、送信側周波数/時間変換部184、送信側単成分逆ディジタルフーリエ変換部(以後、逆DFT部)183を少なくとも有する。
【0056】
上述したように、第1の実施形態の初期遅延推定部4は、エコー経路の初期遅延を求めるものであるが、このエコー経路の初期遅延を求める基本概念を以下に説明する。
【0057】
初期遅延推定部4は、後述するように人間の聴覚特性における周波数マスキング効果に鑑みてエコー経路の初期遅延を求めるものである。
【0058】
この周波数マスキング効果とは、簡潔に説明すると、人間の聴覚において、強い周波数成分の近傍の周波数成分はマスクされてしまい、マスクされた周波数成分が聞こえなくなる効果をいう。なお、周波数マスキング効果については、例えば非特許文献1に詳しい。
【0059】
この周波数マスキング効果には、さらに興味深い性質がある。それは、前述のように何か特に強い周波数成分があったとき、その成分を開始点として、高い周波数成分側に、マスクの効果を発揮し易いというものである。
【0060】
このことは、周波数成分が平坦ではなく、強弱のある信号では、その強い成分の近傍の周波数的にやや高い周波数成分は、聴覚感覚的にはあたかもないように振る舞っているということである。
【0061】
そこで、第1の実施形態の初期遅延推定部4は、このような周波数マスキング効果に鑑み、特定周波数断続部17が音声信号中の人間の音声の第1ピークである1kHz近辺と第2ピークである2kHz近辺との間から選択した単独(トーン)の周波数を選択し、周波数マスキング効果により人間が検知できない当該周波数成分信号(これを遅延推定参照信号ともいう)を利用する。
【0062】
特定周波数断続部17は、通常の可聴周波数信号(すなわち、可聴域の特定周波数成分)を断続的に消滅させた信号を参照信号x_ref(n)として、Routに出力するものである。このように、可聴域の特定の1種類の周波数成分を初期遅延の推定に用いるので、特段のハードウェア的な結線や改造が不要である。
【0063】
なお、特定周波数成分である遅延推定参照信号は、スピーカ10から放出され、音響結合によるエコー経路を介して、マイクロフォン11に入り込む。その結果、この遅延推定参照信号に相当する特定周波数成分がy1(n)中に含まれてSinに入力される。
【0064】
送信側特定周波数波形再現部18は、Sinからのエコー信号y1(n)を入力し、このエコー信号y1(n)に含まれ得る特定周波数を再現して、遅延量判定部1bに与えるものである。
【0065】
遅延量判定部1bは、上述した遅延推定参照信号x_ref(n)の信号レベルの急降下点の時刻txoffを求め、さらにエコー信号中に含まれる遅延推定参照信号に相当する特定周波数成分の信号レベルを検出して、このレベル上昇検出点の時刻tytonを求め、この時刻txoffと時刻tytonとの差分から、エコー経路の初期遅延量Tid´を求めて、遅延付与部2に出力するものである。このようにすることで、遅延付与部2がADF3の遅延推定参照信号の独自に遅延部分Tid´を補償し、ADF3が初期遅延量の変動に擾乱されないようにする。
【0066】
また、第1の実施形態の初期遅延推定部4は、特定周波数断続部17に純成分キャンセル加算器178を備える。
【0067】
この純成分キャンセル加算器178は、単一周波数でディジタルフーリエ変換又は逆ディジタルフーリエ変換で発生した特定周波数成分(例えば第i周波数成分)を音声信号に反転加算して、音声信号から特定周波数成分だけをキャンセルするものである。
【0068】
通常、このような単一周波数を除去あるいは抽出するためには、例えば膨大の次数を持つディジタル帯域阻止FIRフィルタやIIRフィルタが必要となる。
【0069】
しかし、第1の実施形態では、純成分キャンセル加算器178が音声信号から単一周波数成分をキャンセルするようにしたので、従来のような高次の帯域処理フィルタ等を具備することなく、簡単な複素三角関数の乗算と時間波形の減算だけで、理想的に単独の周波数成分を除去あるいは抽出することができ、さらに周波数選択性能に優れるだけでなく演算コストも従来技術にくらべ大幅に軽減することができる。
【0070】
(A−2)第1の実施形態の動作
次に、第1の実施形態のエコーキャンセラにおける処理を、図面を参照しながら説明する。
【0071】
まず、Rinから入力された信号x(n)はエコーキャンセラ1に入力される。またRoutから出力された信号は、音声出力ドライバ5を介して、受信データ途切れ緩衝用蓄積バッファ6に与えられる。
【0072】
このとき、汎用装置(例えばPC等)が音声処理よりも優先度の高いプログラムが実行状態にあるときには、音声出力ドライバ5は待機状態となり、受信データ途切れ緩衝用蓄積バッファ6に対してデータx(n)の出力がなされない。
【0073】
この間、受信データ途切れ緩衝用蓄積バッファ6に予め蓄積されたデータが、D/A7に出力される。そのため、音声出力ドライバ5からの出力がなくても、見かけ上、音声が欠けないように、スピーカ10に対して音声データが出力される。なお、受信データ途切れ緩衝用蓄積バッファ6が完全に枯渇すれば音声データはなくなってしまう。
【0074】
ただし、音声出力ドライバ5の待機状態が復帰さえすれば、音声信号x(n)は大きな遅延を受けながらも、やがてはスピーカ10から出力される。つまり現象としてば「音声遅れ」または「音声の間あき」になる。
【0075】
その一方、なんらかの都合で、D/A7による変換出力が待機するときは、逆に受信データ途切れ緩衝用蓄積バッファ6の蓄積容量が足りなくなり、飽和状態となると音声出力ドライバ5からの出力データは、蓄積することができず、破棄されてしまい、もはやスピーカ10からは出力されることはなく。すなわち「音声欠け」となる。
【0076】
上述のように、受信データ途切れ緩衝用蓄積バッファ6では、データの音声信号が極力途切れないようにデータの蓄積と出力を行う。すなわち、受信データ途切れ緩衝用蓄積バッファ6は、音声出力ドライバ5からの制御信号に応じた蓄積量だけ一旦蓄積し、その後古いものから順にD/A7に音声信号を出力するようにする。
【0077】
D/A7は、ディジタル音声信号をアナログ信号に変換して、スピーカ出力端子9を経由してスピーカ10に出力する。スピーカ10は、音声信号を空間に放出する。
【0078】
スピーカ10から空間に放射された音声信号の一部は、エコー信号yとなってマイクロフォン11にもれこむ。マイクロフォン11に入力された信号はマイク端子12を経由してA/D13に入力され、ディジタル信号y(n)に変換される。
【0079】
ディジタル信号に変換された信号y(n)は送信データ途切れ緩衝用蓄積バッファ14に出力される。送信データ途切れ緩衝用蓄積バッファ14は、データの音声信号が途切れないようにデータの蓄積を行う。
【0080】
ここで、マイクロフォン11側でもスピーカ10側で説明したと同じような状態が発生する場合があり、マイク11側での動作を説明しておく。
【0081】
汎用装置(例えばPC等)が音声処理よりも優先度の高いプログラムを実行しようとするときは、A/D13は送信データ途切れ緩衝用蓄積バッファ14に対してデータを出力できずに待機する。
【0082】
この間、送信データ途切れ緩衝用蓄積バッファ14に予め蓄積されたデータが音声入力ドライバ15に出力され、A/D13からの出力がなくても、見かけ上、音声が欠けないように、音声入力ドライバ15に対して音声データを出力する。なお、送信データ途切れ緩衝用蓄積バッファ14が完全に枯渇すれば音声データはなくなってしまう。
【0083】
ただし、音声入力ドライバ15の待機状態が復帰さえすれば、音声は大きな遅延を受けながらも、やがては音声入力ドライバ15から出力される。つまり現象としては送信する音声の「音声遅れ」または「音声の間あき」になる。
【0084】
その一方、なんらかの都合で、音声入力ドライバ15が待機するときは、送信データ途切れ緩衝用蓄積バッファ14は、音声入力ドライバ15にデータ出力できないので、逆に送信データ途切れ緩衝用蓄積バッファ14の蓄積容量が足りなくなり、飽和状態になると、A/D13からの出力データは、蓄積されず、破棄されてしまい、もはや音声入力ドライバ15に出力されなくなる。すなわち、「音声欠け」となる。
【0085】
このような音声欠けや音声遅れが極力発生しないように、送信データ途切れ緩衝用蓄積バッファ14や受信データ途切れ緩衝用蓄積バッファ6の蓄積量は予めネットワーク端末設計者によって適宜設定される。
【0086】
上述したように、送信データ途切れ緩衝用蓄積バッファ14は、音声欠けがないように、音声入力ドライバ15からの制御信号に応じた蓄積分だけ蓄積したあと、古いデータから順に音声入力ドライバ15に音声データを出力する。
【0087】
音声入力ドライバ15は、エコー信号y1(n)をSinに出力する。Sinは、信号をエコー打消し加算器16に出力する。エコー打消し加算器16では適応フィルタ3の出力y´(n)とy1(n)を相殺する。ここで、kをデータの順番とすると、エコー打消し加算器16は、y´(k)とy1(k)とを相殺する。
【0088】
エコー打消し加算器16の出力e(n)は、適応フィルタ3に出力される。適応フィルタ3は、信号x(n)と残差信号e(n)を入力として、逐次e(n)のパワーが最小になるように、擬似エコー信号y´(n)を出力する。この擬似エコー信号y´(n)の作成方法は、種々の方法を適用することができるが、例えば、公知の学習同定法などの係数更新アルゴリズムを用いる方法を適用でき、e(n)のパワーを最小にするアルゴリズムであれば広く適用することができる。
【0089】
エコー打消し加算器16からの出力はSoutに出力され、図示しない符号化器により符号化されて、遠端話者に向けて出力される。
【0090】
初期遅延推定部4には、Rinからの信号x(n)と、エコー信号y1(n)とが入力される。
【0091】
初期遅延推定部4は、この信号x(n)とエコー信号y1(n)とに基づいて、次のようにしてエコー信号経路の初期遅延を推定する。この初期遅延推定部4の動作について図3を用いて説明する。
【0092】
初期遅延推定部4は、x(n)、y1(n)を用いて、以下に説明するエコー経路の初期遅延を計算する。
【0093】
まず、遠端話者からの音声信号x(n)は、VAD19と特定周波数断続部17に入力される。
【0094】
VAD19では、入力された信号が音声であるか否かの判定を行う。この音声検出方法としては、例えば、|x(n)|の短期平均x_short(k)、長期平均x_long(k)を式(1)、式(2)を用いて計算し、下記の式(3)の条件が成立したときに、「音声あり」とする。
【0095】
x_short(k)=(1.0-δs)・x_short(k-1)+δs・|x(n)| …(1)
x_long(k)=(1.0-δl)・x_long(k-1)+δl・|x(n)| …(2)
ただし
0<δs≦1.0
0<δl(Lの小文字)≦1.0
(条件1)
x_short(k)≧x_long(k)+VAD_m (dB) …(3)
ここで、δs、δlは、平均の追従の速さを決定する定数である。δs、δlが大きいと時間変動に敏感に反応する代わりに背景ノイズの影響を受け易くなり、小さいと大まかな成分に追従し、ノイズの影響には鈍感になる。
【0096】
kは計算順序を表しており、式(1)〜式(3)に関してnが意味すると同じようにサンプル順と同じタイミングとしてもよい。このときは、式(1)〜式(3)のkをnと同じにしてよい。特に言及しない限り式(1)〜(3)以外のkはnと異なる。
【0097】
第1の実施形態では、例えば、δsについては時間相当で20msに相当する定数、δlについては5秒に相当する定数を用いて、VAD_mは6dBに相当する閾値を用いた。
【0098】
すなわち、式(3)は、dB表現をしなければ、通常表記で
x_short(k)≧x_long(k)×VAD_mlin …(3)
(VAD_mlinは2.0)
として表しても同じである。
【0099】
VAD19では、上記のようにして音声を検出するが、VAD19は、信号中の音声を検出できればどのような方法を適用してもよい。
【0100】
音声検出器19は、音声を検出すると、タイミング制御部1aに音声検出信号Vを出力する。タイミング制御部1aは、後述するタイミングでスイッチ177のON/OFFを行う。
【0101】
遠端からの音声信号x(n)は、特定周波数断続部17に入力される。まず、x(n)は、データ保持部171及び受信側時間/周波数変換部170に出力される。
【0102】
受信側時間/周波数変換部170では、DFT部172が予め定められた周波数成分だけを下記のようにして取り出す。
【0103】
ここで、理解容易のために、単一の周波数を処理する場合を例示するものとし、通常のディジタルフーリエ変換(DFT)を説明する。
【0104】
ディジタルフーリエ変換は、すでに多くの信号処理技術に用いられている手法であり、時間軸の信号と周波数軸の信号との間で変換する方法として最も良く知られている手法である。時間軸波形を周波数成分に変換するディジタルフーリエ変換は、式(4)のように表され、逆に周波数軸を時間軸に変換する手法は逆ディジタルフーリエ変換であり、式(5)のように表す。
【数1】

【0105】
式(4)の右辺は、周波数軸での第m番目の成分が計算できることを示し、式(5)の右辺は、時間軸の第nサンプルが右辺から計算できることを示している。ここで小文字jは複素数の演算であることを表している。式(5)の係数1/Nは、逆変換の際に時間波形がもとのとおりに再現されるような定数であり、図3では逆DFT正規化部176がこれを行う。
【0106】
第1の実施形態では、式(5)で除算したが、式(4)と式(5)での軸の変換は可逆変換であるので、ディジタルフーリエ変換と逆ディジタルフーリエ変換との両方で√Nを計算し1/√Nを乗算するようにしてもよい。すなわち、上記の変換は可逆変換であるから、一旦ディジタルフーリエ変換した周波数成分を逆ディジタルフーリエ変換すれば、時間軸の波形は元通り復元される。
【0107】
また、第1の実施形態では、式(4)、式(5)のうち第i成分だけに限定して用いる。第1の実施形態では、この中で、第i成分だけをディジタルフーリエ変換し、さらに逆ディジタルフーリエ変換するが、受信側単成分ディジタルフーリエ変換部172で式(6)を実行し、受信側周波数/時間変換部174で式(7)を実行する。
【0108】
つまり、受信側単成分ディジタルフーリエ変換部172は、予め定められた連続Nサンプルのデータについて、式(5)のときと異なり、M=0,1,2,…,N−1のうち、第i周波数成分、M=iすなわち、x(i)の計算だけについて実行する。
【数2】

【0109】
受信側単成分ディジタルフーリエ変換部172で計算された結果である第i成分の周波数成分x(i)が、特定周波数成分保持部173に保持される。
【0110】
ここで、第i成分の選択方法については、iは人間の音声の第iピークである1kHz近辺と、第2ピークである2kHz近辺との間に選択される。例えば、第1の実施形態では、1.6kHzを第i成分としたが、これに限定されるものではない。また、第1の実施形態では、サンプリング周波数を16kHzとし、Nを10サンプルとした。
【0111】
特定周波数成分保持部173は、第i成分のデータx(i)を受信側周波数/時間変換部174に出力する。そして、受信側周波数/時間変換部174は式(7)を実行する。
【数3】

【0112】
受信側周波数/時間変換部174では、受信側単成分逆ディジタルフーリエ変換部175が、特定周波数成分保持部173からの周波数成分x(i)についてのみ周波数逆変換(逆ディジタルフーリエ変換)を行い、Nサンプル分の時間波形を再現する。
【0113】
ここで、式(7)より、周波数逆変換によって再現される波形は、第i周波数成分を持つ信号であり、音声信号に含まれるディジタルフーリエ変換における第i周波数成分の純成分を持つ信号、すなわち第i成分トーン波形である。
【0114】
つまり、式(6)、式(7)の過程で音声信号中に含まれている第i周波数成分だけを抜き出し、時間波形に復元したものである。
【0115】
受信側周波数/時間変換部174からの出力x´(n)は、スイッチ177に出力される。
【0116】
スイッチ177では、タイミング制御部1aの制御に従って、以下のタイミングで開閉する。
【0117】
タイミング制御部1aは、VAD19から音声検出信号Vが入力されると、図示しないカウンタをインクリメントする。そして、タイミング制御部1aは、音声検出から始まって最初のNサンプルの間はスイッチ177を閉じる信号Sonをスイッチ177に出力する。それ以外の場合、タイミング制御部1aは、信号Sonを出力しない。
【0118】
スイッチ177は、タイミング制御部1aから信号Sonが入力されたときにはスイッチ177を閉じ、受信側周波数/時間変換部174からの信号を純成分キャンセル加算器178に透過する。つづくNサンプルの区間ではスイッチ177には何も出力しない。
【0119】
ここで、Nサンプルの区間は、音声が定常信号とみなさせる時間長に設定するのが望ましく、例えば10ms〜30ms程度の時間長に設定することが望ましい。
【0120】
スイッチ177は、タイミング制御部1aから信号Sonが出力されないときにはスイッチ177を開放する。
【0121】
次に、タイミング制御部1aは、最初のNサンプル区間が過ぎると、次のNサンプル区間ではスイッチ177を開放する。
【0122】
タイミング制御部1a及びスイッチ177は、上記動作を、音声信号が検出されている間、順次繰り返す。
【0123】
純成分キャンセル加算器178には、スイッチ177からの出力x´sw(n)が入力される。また、純成分キャンセル加算器178には、データ保持部171からの出力xh(n)が入力される。
【0124】
そして、純成分キャンセル加算器178は、スイッチ177からの出力x´sw(n)と、データ保持部171からの出力xh(n)とを加算する。また、純成分キャンセル加算器178の出力はRoutに出力される。
【0125】
ここで、データ保持部171は、遠端話者からの入力信号x(n)を一定時間(すなわちNサンプル時間分)だけ保持して遅延させる処理を行う。
【0126】
この一定時間Nは、ディジタルフーリエ変換を行うサンプル数に等しくする。これは、純成分キャンセル加算器178において、音声信号波形そのものと、第i成分抽出波形x´(n)とを加算する際に、これらのタイミングを一致させるためである。
【0127】
また、純成分キャンセル加算器178の出力はRoutに出力される。Routに出力された信号は、上述したように、D/A7でアナログ信号に変換された後、スピーカ10から放射され、図示しない近端話者への音声信号として供されるとともに、その一部は音響結合によってマイクロフォン11にエコー信号yとなって入力される。
【0128】
マイクロフォン11に入力されたエコー信号yは、A/D13でディジタル変換され、送信データ途切れ緩衝用蓄積バッファ14及び音声入力ドライバ15を経由して、y1(n)としてエコーキャンセラ1のSinに入力される。
【0129】
Sinからの信号は、初期遅延推定部4の送信側特定周波数波形再現部18に入力される。
【0130】
送信側特定周波数波形再現部18に入力されたエコー信号y1(n)は、受信側と同様に、式(8)のようにDFT部181で周波数の第i成分だけを抽出して再現される。
【0131】
ここで、第i成分は、受信側で選択された第i成分と同一成分であるようにすることが重要である。
【数4】

【0132】
DFT部181で再現されたy1(i)が特定周波数成分保持部182に出力されると、特定周波数成分保持部182は、y1(i)を一旦保持する。
【0133】
特定周波数成分保持部182の出力は、受信側と同様に逆DFT部183で時間波形yt(n)に逆ディジタルフーリエ変換される。
【数5】

【0134】
この逆DFT部183で逆ディジタルフーリエ変換されたyt(n)は、遅延量判定部1bに出力される。
【0135】
遅延量判定部1bは、タイミング制御部1aからタイミング信号Tが入力され、タイミング制御部1aの制御により、エコー経路の初期遅延を推定するものである。
【0136】
図4は、エコー経路のインパルス応答の様子を説明する説明図である。図4において、エコー経路の時間の早い部分に振幅が小さい部分があり、時間Tidで振幅が最大となる。そして時間Tid経過後に、振幅が徐々に小さくなっていく散乱応答が時刻Tdsだけ続く様子が示されている。
【0137】
遅延量判定部1bは、図4に示す初期遅延時間Tid部分を、遅延付与部2が挿入する遅延量に相当する遅延量となるように制御し、ADF3の図示しないフィルタ係数を割り当てないようにして、ADF3が初期遅延の変動によっていちいち擾乱を受けないようにするものである。
【0138】
図5は、遅延量判定部1bが推定する遅延量を説明する説明図である。
【0139】
図5(A)は、VAD19による音声検出信号Vのタイムチャートである。また、遅延量判定部1bにはタイミング制御部1aからタイミング信号Tが入力されており、図5(B)はスイッチ177の開閉タイミングを示す。
【0140】
図5(B)及び(C)において、スイッチ177が閉じている場合、遅延量判定部1bは、スイッチ177から受信側周波数/時間変換部174の出力x´sw(n)が入力される。このスイッチ177からの出力は、上述したように、第i周波数成分を持つトーン信号である。
【0141】
ところで、スイッチ177が閉じている場合、純成分キャンセル加算器178において、音声信号から第i成分が減算される。そのため、純成分キャンセル加算器178の出力の音声信号の中には第i周波数成分x(i)が除去されている。
【0142】
当然、遅延推定参照信号が時間軸に変換されて、スピーカ10から放射された結果のエコー信号yにも、第i周波数成分は存在しない。
【0143】
しかし、次のNサンプル区間では、スイッチ177が開放しているから(図5(B)、(c)参照)、純成分キャンセル加算器178において、音声信号から第i成分が減算されず、エコー信号にも第i周波数成分が存在することとなる(図5(D)参照)。
【0144】
そこで、遅延量判定部1bは、このエコー信号中に含まれる第i周波数成分の存在を検出し、次のようにして遅延量を求める。
【0145】
まず、遅延量判定部1bは、送信側特定周波数波形再現部18の出力yt(n)から第i周波数成分を検出する。この検出方法は、VAD19による音声検出方法と同様の方法を適用することができる。
【0146】
次に、遅延量判定部1bは、スイッチ177から入力される信号x´sw(n)から第i周波数成分を検出する。この検出方法も、VAD19による音声検出方法と同様の方法を適用することができる。
【0147】
そして、遅延量判定部1bは、スイッチ177から信号x´sw(n)の出力検出がなくなった時刻txoff(図5(C)参照)から、送信側特定周波数波形再現部18からの信号yt(n)が検出された時刻tytonまでの時間Tid´を遅延量として遅延付与部2に出力する。
【0148】
ここで、エコー経路の初期遅延量Tid´を求める方法について、遅延量推定部1bは、スイッチ177からの信号x´sw(n)のレベル又はパワーの急降下時刻と、エコー信号から抽出した第i周波数成分信号のレベル又はパワーの急上昇時刻との差を初期遅延Tid´としてもよい。
【0149】
また、別の方法としては、遅延量判定部1bは、スイッチ177の閉から開への開放時刻と、エコー信号から抽出した特定周波数信号のレベル又はパワーの急上昇時刻との差を初期遅延Tid´としてもよい。
【0150】
その後、遅延付与部2では、遅延量Tid´に相当するサンプル数の遅延を信号x(n)に与えてADF3に出力する。
【0151】
また、ADF3では、遅延付与部2により遅延付与されたx(n)とエコー信号y1(n)と残差信号e(n)から公知のNLMSアルゴリズムを用いて擬似エコー信号y´(n)を作成する。ここで、エコー推定アルゴリズムは、エコーを推定できれば種々のアルゴリズムを広く適用することができる。
【0152】
(A−3)第1の実施形態の効果
以上のように、第1の実施形態によれば、聴覚マスキング効果を用いて、初期遅延推定のための遅延推定参照信号をスピーカに出力するようにし、さらに周波数マスキング効果のために近端話者に気づかれず、マイクロフォンに再入力されたエコー信号の中から遅延推定参照信号に由来する特定周波数成分のエコー成分を取り出すようにした。
【0153】
そして、遅延推定参照信号発生タイミング若しくは遅延推定参照信号の成分除去タイミングと、エコー信号から遅延推定参照信号に由来する特定周波数成分の検出タイミングとに基づいてエコー経路の初期遅延を求めることで、この遅延量を補償することができる。その結果、適応フィルタが初期遅延の変換に擾乱されることがないエコーキャンセラを提供できる。
【0154】
また、第1の実施形態によれば、初期遅延の変動があっても、初期遅延判定部が速やかにエコー初期遅延の変化に追従して、遅延不要部に遅延を付与することができる。そのため、途切れ緩衝用蓄積バッファの蓄積時間の変動を打ち消すことができ、適応フィルタは変動した初期遅延以外の部分(すなわち時間不変)のエコー経路部分だけを推定でき、途切れ緩衝用蓄積バッファの変動等の変動があっても速やかにエコー信号を除去することができる。
【0155】
さらに、第1の実施形態では、単一周波数でのディジタルフーリエ変換又はその逆変換で発生した所定の単独の第i周波数信号からなる時間信号x´(n)を純成分キャンセル加算器で、音声信号に加算して特定周波数成分だけを信号中からキャンセルするようにしたので、高次の帯域処理フィルタを具備することなく、簡単な複素三角関数の乗算と時間波形の減算だけで、単独の周波数成分を除去あるいは抽出することができ、また演算コストも大幅に軽減できる。
【0156】
(B)第2の実施形態
次に、本発明のエコーキャンセラの第2の実施形態について図面を参照しながら説明する。
【0157】
例えば、ハンズフリー通話装置用の音響エコーキャンセラに適用した場合を例示する。このような場合、エコー経路の初期遅延部分は、上述したようにパソコン動作などの機械的な動作で前触れなく変動することが多く、遅延量の変化が極めて急峻である。
【0158】
実際には、このような遅延量の変化のほかにも、種々のエコー経路の変動要素がある。例えば、音響エコー経路では、通話を行なっている近端話者自体の動きを考慮する必要がある。なぜなら、近端話者はハンズフリー通話を行なっている間、身じろぎなどをするのは通常であり、これを受けてエコー経路の散乱応答時間部分が変動することも珍しくない。
【0159】
第2の実施形態は、このような事実に鑑みたものである。
【0160】
(B−1)第2の実施形態の構成
図6は、第2の実施形態のエコーキャンセラ及びその周辺構成を示す構成図である。
【0161】
第2の実施形態が、第1の実施形態と異なる点は、初期遅延推定部4の代わりに遅延および適応フィルタ長推定部20を備える点と、ADF3の代わりにADF21を備える点である。
【0162】
遅延および適応フィルタ長推定部20は、Rinから信号x(n)と、Sinからエコー信号y1(n)とを入力して、エコー経路の初期遅延を推定すると共に、適応フィルタ(ADF)21の有効タップ長(有効フィルタ長)を推定するものである。
【0163】
遅延および適応フィルタ長推定部20は、遠端からの音声信号が到来するたびに、エコー経路の初期遅延及び適応フィルタ21の有効タップ長を計算する。これにより、常時正しいエコー経路の初期遅延及び推定エコー経路が求まる。
【0164】
適応フィルタ21は、予め全体のタップ長(フィルタ長)が設けられており、遅延および適応フィルタ長推定部20から推定されたタップ長を受け取り、このタップ長の適応フィルタとして動作するものである。
【0165】
図7は、第2の実施形態の遅延および適応フィルタ長推定部20の内部構成を示す内部構成図である。
【0166】
第2の実施形態の遅延および適応フィルタ長推定部20が、第1の実施形態の初期遅延推定部4と異なる点は、遅延量判定部1bの代わりに遅延量およびタップ長判定部22を備える点である。
【0167】
遅延量およびタップ長判定部22は、第1の実施形態のエコー経路の初期遅延を推定すると共に、遅延推定参照信号発生タイミング若しくはこの遅延推定参照信号の成分除去のタイミングと、推定済みの初期遅延とに基づいて、エコー散乱時間をカバーする適応フィルタの有効フィルタ長(タップ長)を求めるものであり、このフィルタ長をADF21に与えるものである。
【0168】
(B−2)第2の実施形態の動作
次に、第2の実施形態のエコーキャンセラにおける処理の動作について図面を参照しながら説明する。
【0169】
第2の実施形態では、遅延および適応フィルタ長推定部20が備える遅延量およびタップ長判定部22の処理動作が、第1の実施形態の動作と異なる。そのため、以下では、遅延および適応フィルタ長推定部20の処理動作を中心に説明する。
【0170】
なお、図6及び図7で、図1及び図3で付した番号と同じ番号を付した構成要件の処理動作は、第1の実施形態と同じであるから割愛する。
【0171】
図6において、遅延および適応フィルタ長推定部20は、第1の実施形態と同様にして、エコー経路の初期遅延を推定し、この推定した遅延量Tid´を遅延付与部2に与える。
【0172】
また、遅延および適応フィルタ長推定部20は、ADF21のタップ長(すなわち有効フィルタ長)を計算してADF21に与える。
【0173】
以下では、特に遅延および適応フィルタ長推定部20によるタップ長の推定処理を説明する。図8は、タップ長推定の説明図である。
【0174】
図8において、遅延量及びタップ長推定部22は、txoffを検出すると、図8(c)のように、次にスイッチ177が閉じられた時刻txonから、エコー信号から抽出された第i周波数成分の信号レベルを計算するものである。
【0175】
この信号レベルの計算方法としては、種々の方法を適用することができ、例えば、入力サンプルの絶対値の平均を計算する方法を適用しても良いし、又VAD19で説明したように、平滑定数を用いた巡回式を用いて平滑レベルを計算する方法を適用するようにしても良い。
【0176】
また、遅延量及びタップ長推定部22は、時刻txonからTid´相当の時刻サンプルまでの第i周波数成分の信号レベルIv_hを計算して保持する(図8(E)参照)。
【0177】
次に、遅延量及びタップ長推定部22は、時刻txonからTid´相当の時刻サンプル時点の時刻をTlv_hとする。また、遅延量及びタップ長推定部22は、時刻txonからTlv_hまでの期間で計算したレベルから、式(10)を満たすようなタップ長終点レベルlv_lにエコー信号のレベルが降下する時刻Tlv_lを検出する。
【0178】
判定閾値=20・log(lv_l/lv_h) …(10)
第2の実施形態では、判定閾値を「−40(dB)」としがこれに限定されるものではない。
【0179】
式(10)は、lv_lがlv_hよりもレベルで40dB降下した点を判定することを表している。すなわち、lv_lは、図4に示したエコー経路の初期遅延部分が終わり、散乱応答部分Tdsに達し、なおかつ、散乱応答の大部分(例えば40dB相当分)が終わったことを意味する。
【0180】
次に、遅延量およびタップ長判定部22は、Tlv_hとTlv_lとの時間差(相当サンプル差)に基づいて式(11)に従って有効タップ長LOCを計算し、ADF21に出力する。
【0181】
LOC=Tlv_l−Tlv_h …(11)
ADF21は、入力されたタップ長LOCに従い、予め余裕を持って実装された全体フィルタ長Lのうち、フィルタ長LOCを用いて、前述したNLMS等アルゴリズムを用いた適応フィルタ動作を行って、擬似エコー信号y´(n)の作成を行う。
【0182】
第2の実施形態では、L=512としたがこれに限定しない。したがって、選択フィルタ長LOCと全体フィルタ長Lの関係は式(12)のようであり、もし式(11)で計算したLOCがL以上であったときにはLOCはLを上限に制限されたあと、ADF21に出力される。
【0183】
LOC≦L …(12)
したがって、このときADF21はタップ長Lの適応フィルタとして動作してエコーキャンセルを行う。
【0184】
(B−3)第2の実施形態の効果
以上のように、第2の実施形態によれば、第1の実施形態の効果に加えて、遅延量およびタップ長判定部22がADF21の有効タップ長も推定することができ、ADFが全体フィルタ長のうち推定されたタップ長を用いて擬似エコー信号を作成することにより、ADF21のタップを有効に機能させることができ、適切にフィルタ長を小さくすることができる。
【0185】
また、第2の実施形態は、例えば、ハンズフリー通話装置用の音響エコーキャンセラに適用した場合に、実際に生じ得るエコー経路の変動要素にも対処できるようにした。つまり、ADF21のタップ長は短いほうが収束速度が速いことから、純粋遅延Tid分のタップは遅延量およびタップ長判定部22が補償し、エコー散乱時間Tdsの有効成分の部分を最小限にADF21が受け持ってエコーを除去できる。
【0186】
また、第2の実施形態によれば、エコー経路の初期遅延の変動があった場合や、近端話者の動きによってエコー経路の散乱応答部分が変化した場合でも、演算コストを小さく抑えたまま、エコーキャンセラのエコー打消し追従速度が高速にできるため、消費電力も小さく、エコー打消し性能にも優れたエコーキャンセラを実現できる。
【0187】
(C)第3の実施形態
次に、本発明のエコーキャンセラの第3の実施形態について図面を参照しながら説明する。
【0188】
第1及び第2の実施形態では、時間/周波数変換と周波数/時間変換に用いる周波数を固定の周波数として説明した。
【0189】
しかし、実際のところ、遠端話者は声質がさまざまであるから、遠端話者の音声周波数成分もさまざまであり、必ずしも事前設定した固定の周波数で時間/周波数変換と周波数/時間変換して作成した遅延推定参照信号x_ref(n)が、実際の遠端話者の音声信号の周波数成分にうまくマスクされる範囲に入らないことも考えられる。
【0190】
そこで、第3の実施形態では、上記問題にも対応できるように、時間/周波数変換と周波数/時間変換に用いる周波数を自動的に設定できるようにする。
【0191】
(C−1)第3の実施形態の構成
図9は、第3の実施形態のエコーキャンセラ及び周辺構成の構成を示す構成図である。
【0192】
第3の実施形態が第2の実施形態と異なる点は、遅延量及び適応フィルタ長推定部20に代えてパラメータ推定部30を備える点である。
【0193】
図10は、第3の実施形態のパラメータ推定部30の内部構成を示す内部構成図である。
【0194】
図10のパラメータ推定部30が、図7の遅延量及び適応フィルタ長推定部20の内部構成と異なる点は、新たに周波数決定部31を備える点である。それ以外の構成要素は第1及び第2の実施形態と同じであるので、ここでの詳細な説明を省略する。
【0195】
周波数決定部31は、Rinから信号x(n)とVAD19から音声検出信号Vとを入力して、後述する特定周波数f1を決定するものである。また、周波数決定部31は、後述する計算方法により特定周波数f1の角速度ωを、受信側DFT172及び受信側逆DFT175と、送信側DFT181及び送信側逆DFT183とに与えるものである。
【0196】
(C−2)第3の実施形態の動作
次に、第3の実施形態のエコーキャンセラにおける処理の動作について図面を参照しながら説明する。
【0197】
以下では、パラメータ推定部30が備える周波数決定部31の処理動作を中心に説明する。それ以外の構成要素の処理動作は、第1及び第2の実施形態と同じであるのでここでの詳細な説明は省略する。
【0198】
周波数決定部31は、VAD19から音声信号検出信号Vを入力する。周波数決定部31は、入力された遠端の音声信号のうち、周波数成分が最も強い周波数f1を計算する。
【0199】
ここで、周波数f1の計算方法としては、種々の方法を適用することができるが、例えば、特許文献3に記載されている方法を適用することができ、入力された信号のうち最もパワーの強い成分を計算する方法を適用することができる。
【0200】
なお、特許文献3では、入力信号中の最もパワーの強い周波数成分f1の検出後、さらにこの検出した周波数成分f1が呼制御信号やFAX信号のいずれかに相当するかどうかを推定している。しかし、第3の実施形態では、その周波数成分f1を検出できればよいので、その周波数成分f1がどのような信号であるかの推定を行なわずに適用できる。
【0201】
また、周波数決定部31は、周波数成分f1を検出した後、式(13)に従って角速度ωを求める。
【0202】
ω=2πf1+Δω …(13)
第3の実施形態では、非特許文献1の「文献Aの5.5臨界帯域幅」で開示されている周波数マスキングの効果がよく発揮される周波数臨界帯域幅内に参照信号周波数が形成されるべく、Δω=0.15ω(rad/sec)としたが、これに限定されるものでない。
【0203】
ただし、周波数マスキング効果の有効性からΔωは式(14)の関係であることが望ましい。
【0204】
0<Δω≦0.2ω …(14)
周波数決定部31は、VAD19から音声ありを示す音声検出信号Vを出力する期間と、それに続くしばらくの期間T_holdだけ、式(13)で計算したωを、受信側DFT172及び受信側逆DFT175と、送信側DFT181及び送信側逆DFT183とに与えるものである。
【0205】
この期間T_holdを設けたのは、送信側に入力されるエコー信号がエコー経路の遅延を受けて入力されるため、これを考慮したからである。また、第3の実施形態では、T_holdを0.5secとしたがこれに限定されるものではない。
【0206】
従って、ωは、音声検出期間+T_holdの期間の間だけ周波数決定部31から出力される。
【0207】
受信側DFT172及び受信側逆DFT175と、送信側DFT181及び送信側逆DFT183とは、ωを用いて前述のようにディジタルフーリエ変換とその逆変換を用いて、各々時間/周波数変換と、周波数/時間変換とを行うが、その変換の様子は第1の実施形態で説明したので、ここでの説明は省略する。
【0208】
(C−3)第3の実施形態の効果
以上のように、第3の実施形態によれば、第1及び第2の実施形態の効果に加えて、時間/周波数変換と周波数/時間変換とに用いる周波数を自動的に設定することができるので、利用者がωの選択に関する事前知識や経験による機器の初期設定をしなくても自動的に最適なωの値を設定することができる。
【0209】
その結果、エコー経路の初期遅延及び適応フィルタのフィルタ長を最適に推定することができるので、エコー経路の初期遅延変動や散乱応答の変動に追従できるエコーキャンセラを提供できる。
【0210】
(D)他の実施形態
第1〜第3の実施形態では、txoffを検出するのに、打ち消し用トーン信号レベルの急降下点をレベル検出して計算するようにしたが、これに代えて、タイミング制御部1aからのスイッチ177OFFの時刻を直接用いるようにしても良い。その際には、受信側のレベル計算処理と長期平均、短期平均によるx´sw(i)の降下点検出を省くことができ、装置規模、ソフトウェア規模をさらに小さくすることができる。
【0211】
第3の実施形態では、第2の実施形態の遅延及び適応フィルタ長推定部に周波数決定部を設けた場合を例示したが、第1の実施形態の初期遅延推定部に周波数決定部を設けても同様の効果を奏する。
【符号の説明】
【0212】
1…エコーキャンセラ、2…遅延付与部、3及び21…ADF、4…初期遅延推定部、
5…音声出力ドライバ、6…受信データ途切れ緩衝用蓄積バッファ、
7…ディジタル/アナログ変換器(D/A)、8…サウンドボード、
9…スピーカ出力端子、10…スピーカ、11…マイクロフォン、12…マイク端子、
13…アナログ/ディジタル変換器(A/D)、
14…送信データ途切れ緩衝用蓄積バッファ、15…音声入力ドライバ、
16…エコー打消し加算器、
20…遅延及び適応フィルタ長推定部、
30…パラメータ推定部、
17…特定周波数断続部、
170…受信側時間/周波数変換部、171…データ保持部、
172…受信側単成分ディジタルフーリエ変換(DFT)部、
173…特定周波数成分保持部、174…受信側周波数/時間変換部、
175…受信側単成分逆ディジタルフーリエ変換(逆DFT)部、
176…逆DFT正規化部、177…スイッチ、178…純成分キャンセル加算器、
18…送信側特定周波数波形再現部、
180…送信側時間/周波数変換部、
181…送信側単成分ディジタルフーリエ変換(DFT)部、
182…特定周波数成分保持部、
183…送信側単成分逆ディジタルフーリエ変換(逆DFT)部、
184…送信側周波数/時間変換部、
19…音声検出部(VAD)、1a…タイミング制御部、1b…遅延量判定部、
22…遅延量及びタップ長判定部、33…周波数決定部。

【特許請求の範囲】
【請求項1】
適応フィルタを含む擬似エコー生成手段が受話信号に基づいて擬似エコー信号を生成し、エコー消去手段が送話信号から擬似エコー信号を減算することにより、送話信号からエコー信号を消去するエコーキャンセラにおいて、
周波数マスキング効果によりマスキングされる特定周波数成分を含む参照信号を形成してエコー経路に出力し、さらに送話信号から上記参照信号に由来する上記特定周波数成分のエコー成分を検出し、上記特定周波数成分を含む上記参照信号の形成タイミングと、上記送話信号中の上記特定周波数成分のエコー成分の検出タイミングとに基づいてエコー経路の初期遅延量を求める初期遅延推定手段と、
上記初期遅延推定手段からの上記エコー経路の初期遅延量を上記受話信号に付与して上記擬似エコー生成手段に与える遅延付与手段と
を備えることを特徴とするエコーキャンセラ。
【請求項2】
上記初期遅延推定手段は、上記受話信号から上記特定周波数成分を間欠的に除去することで、上記特定周波数成分を含む上記参照信号を形成することを特徴とする請求項1に記載のエコーキャンセラ。
【請求項3】
上記初期遅延推定手段は、特定周波数断続部、特定周波数波形再現部及び遅延量判定部とを備え、
上記特定周波数断続部が、
上記受話信号から、少なくとも1種類の周波数成分についてディジタルフーリエ変換を行なう受話側ディジタルフーリエ変換部と、
ディジタルフーリエ変換された周波数成分を保持する受話側周波数成分保持部と、
上記受話側周波数成分保持部に保持される、少なくとも1種類の周波数成分について逆ディジタルフーリエ変換を行なう受話側逆ディジタルフーリエ変換部と、
上記受話信号を保持する受話信号保持部と、
上記受話信号保持部から出力される上記受話信号から、上記受話側逆ディジタルフーリエ変換部から出力される上記各周波数成分を間欠的に除去する周波数成分除去部と
を有し、
上記特定周波数波形再現部が、
上記送話信号から、少なくとも1種類の周波数成分についてディジタルフーリエ変換を行なう送話側ディジタルフーリエ変換部と、
ディジタルフーリエ変換された周波数成分を保持する周波数成分保持部と、
上記周波数成分保持部に保持される、少なくとも1種類の周波数成分について逆ディジタルフーリエ変換を行なう送話側逆ディジタルフーリエ変換部と
を有し、
上記遅延量判定部が、上記特定周波数断続部からの出力信号と、上記特定周波数波形再現部からの出力信号とのパワー又はレベルの急変時刻差に基づいて上記エコー経路の初期遅延量を求める
ことを特徴とする請求項1又は2に記載のエコーキャンセラ。
【請求項4】
上記遅延量判定部が、上記特定周波数断続部からの出力信号の上記特定周波数成分の除去に係るパワー又はレベルの急降下時刻と、上記特定周波数波形再現部からの出力信号の上記特定周波数成分のパワー又はレベルの急上昇時刻との差を、上記エコー経路の初期遅延量とすることを特徴とする請求項3に記載のエコーキャンセラ。
【請求項5】
上記受話側逆ディジタルフーリエ変換部と、上記周波数成分除去部との間に設けられ、上記受話信号から検出した音声の検出結果に応じて接続切替を行なう切替部を更に備え、
上記遅延量判定部が、上記切替部の切替時刻と、上記特定周波数波形再現部からの出力信号の上記特定周波数成分のパワー又はレベルの急上昇時刻との差を、上記エコー経路の初期遅延量とすることを特徴とする請求項3に記載のエコーキャンセラ。
【請求項6】
上記初期遅延推定手段による上記特定周波数成分を含む上記参照信号の形成タイミングと、上記初期遅延推定手段が求めた上記エコー経路の初期遅延量とに基づいて、上記適応フィルタの有効フィルタ長を求めるフィルタ長推定手段を更に備えることを特徴とする請求項1〜5のいずれかに記載のエコーキャンセラ。
【請求項7】
上記受話信号からパワー又はレベルの強い周波数を求め、この周波数を用いて、上記特定周波数断続部で特定する周波数を決定する周波数決定部を更に備えることを特徴とする請求項1〜6のいずれかに記載のエコーキャンセラ。
【請求項8】
上記周波数決定部が、上記受話信号から求めたパワー又はレベルの強い周波数に対して周波数を角速度Δωだけずらした角速度ωを求め、この角速度ωを、受話側ディジタルフーリエ変換部、受話側逆ディジタルフーリエ変換部、送話側ディジタルフーリエ変換部及び送話側逆ディジタルフーリエ変換部に与えることを特徴とする請求項7に記載のエコーキャンセラ。
【請求項9】
上記周波数決定部において、上記角速度Δωは、0<Δω≦0.2ωに設定されることを特徴とする請求項8に記載のエコーキャンセラ。
【請求項10】
上記周波数決定部が、上記受話信号から求めたパワー又はレベルの強い周波数を高周波数側にずらすことを特徴とする請求項8又は9に記載のエコーキャンセラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−206515(P2010−206515A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−49665(P2009−49665)
【出願日】平成21年3月3日(2009.3.3)
【出願人】(000000295)沖電気工業株式会社 (6,645)
【Fターム(参考)】