【文献】
Christof Faller et al.,Suppressing acoustic echo in a spectral envelope space, IEEE Transactions on Speech and Audio Processing,米国,IEEE,2005年 8月15日,Vol.13, Issue.5,第1048-1062頁
(58)【調査した分野】(Int.Cl.,DB名)
試験音響信号と、前記試験音響信号の音が放音されて前記近端入力信号として入力された試験音響近端入力信号とから、前記放音されてから入力されるまでの空間伝達特性を取得する試験音響信号エコーパス特性計算部をさらに備えることを特徴とする請求項1ないし請求項3のいずれか一項に記載されたエコー抑圧装置。
【発明を実施するための形態】
【0020】
(A)第1の実施形態
以下では、本発明のエコー抑圧装置及びエコー抑圧プログラムの第1の実施形態を、図面を参照しながら詳細に説明する。
なお、各図は、本発明について概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【0021】
(A−1)第1の実施形態の構成
図1は、第1の実施形態に係るエコー抑圧装置100の構成を示すブロック図である。
第1の実施形態に係るエコー抑圧装置100は、遠端出力信号が音響エコー信号として近端側のマイクに回り込んで入力されたときでも、近端入力信号に対してエコーサプレス処理(エコー抑圧処理)を行い、音響エコー信号を適切に抑圧するものである。
第1の実施形態のエコー抑圧装置100は、例えば専用ボードとして構築されるようにしてもよいし、DSP(デジタルシグナルプロセッサ)へのエコー抑圧プログラムの書き込みによって実現されたものであってもよく、CPU(Central Processing Unit)と、CPUが実行するソフトウェア(エコー抑圧プログラム)によって実現されたものであってもよいが、機能的には、
図1で表すことができる。
【0022】
図1において、第1の実施形態に係るエコー抑圧装置100は、遠端入力信号入力端子101、出力バッファ102、DA変換器103、スピーカ104、試験音響信号生成部105、マイク106、AD変換器107、入力バッファ108、試験音響信号エコーパス特性計算部109、エコーパス特性保持部110、遠端出力信号周波数領域変換部111、遠端出力信号振幅スペクトル計算部112、近端入力信号周波数領域変換部113、近端入力信号振幅スペクトル計算部114、推定エコー信号計算部115、推定エコー信号保持部116、遅延量計算部117、エコーサプレスゲイン計算部118、エコーサプレス部119、近端出力信号時間領域変換部120、近端出力信号端子(発振部)121を備える。
【0023】
遠端入力信号入力端子101は、遠端側(電話205)からのデジタル音信号が遠端入力信号を遠端出力信号として出力バッファ102及びエコー抑圧装置100の遠端出力信号周波数領域変換部111に出力するものである。遠端入力信号は、エコー抑圧装置100の近端に対して遠端側(電話205)に位置する装置から有線回線または無線回線を通じて入力されたデジタル音信号である。
【0024】
出力バッファ102は、エコー抑圧装置100の処理待ち用のバッファであり、遠端入力信号入力端子101から出力された遠端出力信号を一時保持し、例えばフレーム単位で音データが蓄積され次第、DA変換器103にデジタル音信号として出力する。
【0025】
DA変換器103は、出力バッファ102から出力されたデジタル音信号をアナログ音信号に変換し、スピーカ104に出力する。
【0026】
スピーカ104は、放音部であり、DA変換器103から出力されたアナログ音信号を、物理振動に変換し音として放音する。
【0027】
試験音響信号生成部105は、近端側のエコーパス特性を求めるために、周波数分布が均一な試験音響信号を生成する。この試験音響信号は、例えば、ホワイトノイズ等である。本実施形態において、この試験音響信号は、試験音響遠端出力信号として試験音響信号エコーパス特性計算部109と出力バッファ102とに出力される。出力バッファ102に出力された試験音響遠端出力信号は、出力バッファ102で一時保持されてからDA変換に出力され、DA変換器103を介して、スピーカ104から放音された後、マイク106に音響エコー信号として入力され、AD変換器107を介して、入力バッファ108で一時保持され、試験音響近端入力信号として試験音響信号エコーパス特性計算部109に出力される。
【0028】
マイク106は、集音部であり、近端話者が発した音声や環境音や音響エコー信号(スピーカ104から出力された音信号が近端側の空間を伝達してマイク106に入力される音)等の音信号が重畳して入力され、アナログ音信号(電気信号)に変換され、その変換したアナログ音信号をAD変換器107に出力するものである。
【0029】
AD変換器107は、マイク106から出力されたアナログ音信号をデジタル音信号に変換し、入力バッファ108に出力する。
【0030】
入力バッファ108は、エコー抑圧装置100の処理待ち用のバッファであり、AD変換器107から出力されたデジタル音信号を一時保持し、エコー抑圧装置100による処理開始の準備ができ次第、順次、近端入力信号周波数領域変換部113に近端入力信号として出力する。
【0031】
試験音響信号エコーパス特性計算部109は、エコー抑圧装置100が処理を開始してから一定時間、試験音響信号生成部105で生成された試験音響遠端出力信号と、その試験音響信号が出力バッファ102、DA変換器103を通りスピーカ104から出力され、音響エコー信号としてマイク106で入力され、AD変換器107、入力バッファ108と通った試験音響近端入力信号とを収録する。そして、例えば、高速フーリエ変換(Fast Fourier Transform、FFT)等により、周波数スペクトルに変換し、試験音響エコーパス特性を求める。
【0032】
エコーパス特性とは、スピーカ104から放音された後、マイク106に音響エコー信号として入力されるまでの空間伝達特性であり、本実施形態では、振幅スペクトルで表される。
そして、求めた試験音響エコーパス特性をエコー抑圧装置100で用いられている周波数分解能にしてからエコーパス特性保持部110に出力する。
【0033】
エコーパス特性保持部110は、試験音響信号エコーパス特性計算部109で算出されたエコーパス特性を記憶する記憶部である。
【0034】
遠端出力信号周波数領域変換部111は、遠端入力信号入力端子101が受信したデジタル音信号(遠端入力デジタル信号)を、例えば、高速フーリエ変換等により、周波数スペクトルに変換し、遠端出力信号の周波数スペクトルを求める。遠端出力信号周波数領域変換部111は、算出した遠端出力信号の振幅スペクトルを遠端出力信号振幅スペクトル計算部112に出力する。
【0035】
遠端出力信号振幅スペクトル計算部112は、遠端出力信号周波数領域変換部111から出力された遠端出力信号の周波数スペクトルに基づいて、遠端出力信号の振幅スペクトルを算出するものである。遠端出力信号振幅スペクトル計算部112は、算出した遠端出力信号の振幅スペクトルを推定エコー信号計算部115に出力する。
【0036】
近端入力信号周波数領域変換部113は、入力バッファ108に記録されたデジタル音信号(近端入力デジタル信号)を、例えば、高速フーリエ変換等により、周波数スペクトルに変換し、近端入力信号の周波数スペクトルを求める。近端入力信号周波数領域変換部113は、変換した近端入力信号の周波数スペクトルを近端入力信号振幅スペクトル計算部114及びエコーサプレス部119に出力する。
【0037】
近端入力信号振幅スペクトル計算部114は、近端入力信号周波数領域変換部113から出力された近端入力信号の周波数スペクトルに基づいて、近端入力信号の振幅スペクトルを算出するものである。近端入力信号振幅スペクトル計算部114は、算出した近端入力信号の振幅スペクトルを遅延量計算部117及びエコーサプレスゲイン計算部118に出力する。
【0038】
推定エコー信号計算部115は、エコーパス特性保持部110に記憶されたエコーパス特性と、遠端出力信号振幅スペクトル計算部112で求めた遠端出力信号の振幅スペクトルとを乗じて、推定エコー信号の振幅スペクトルを算出するものである。この推定エコー信号の振幅スペクトルの算出方法については詳細を後記する。推定エコー信号計算部115は、算出した推定エコー信号を推定エコー信号保持部116に出力する。
【0039】
推定エコー信号保持部116は、推定エコー信号計算部115で算出された推定エコー信号の振幅スペクトルを所定時間記憶する記憶部である。そして、後記する遅延量計算部117で求まったフレーム遅延量を用いて該当遅延量のフレームを読出し、遅延推定エコー信号としてエコーサプレスゲイン計算部118に出力する。
【0040】
遅延量計算部117は、推定エコー信号保持部116に記憶された推定エコー信号の振幅スペクトルと、近端入力信号振幅スペクトル計算部114で求めた近端入力信号の振幅スペクトルとの誤差の合計値を計算する。そして、誤差の合計値が最小になるフレーム遅延量を特定し、推定エコー信号保持部116に出力する。
【0041】
エコーサプレスゲイン計算部118は、近端入力信号周波数領域変換部113で求めた近端入力信号の振幅スペクトルと、推定エコー信号保持部116から出力される遅延推定エコー信号の振幅スペクトルから、エコーサプレスゲインを計算する。エコーサプレスゲイン計算部118は、算出したエコーサプレスゲインをエコーサプレス部119に出力する。
【0042】
エコーサプレス部119は、エコーサプレスゲイン計算部118で算出したエコーサプレスゲインと、近端入力信号周波数領域変換部113で求めた近端入力信号の周波数スペクトルとを乗じることにより、近端入力信号の周波数スペクトルに重畳されている音響エコー信号が抑圧された信号の周波数スペクトルを得る。エコーサプレス部119は、音響エコー信号を抑圧した近端入力信号の周波数スペクトルを近端出力信号として、近端出力信号時間領域変換部120に出力する。
【0043】
近端出力信号時間領域変換部120は、エコーサプレス部119で得られた近端出力信号の周波数スペクトルを、例えば、逆高速フーリエ変換(Inverse FFT)等により、時間領域のデジタル信号に変換し、近端出力信号端子121に近端出力信号(デジタル音信号)として出力する。
【0044】
近端出力信号端子121(発信部)は、近端出力信号時間領域変換部120から出力される近端出力信号(デジタル信号)を、通信相手である遠端側に向けて出力するものである。
【0045】
図2は、本発明における音声送受信システム200である。音声通話端末201と、電話205との間で音声通話するシステムであり、音声通話端末201と電話205との間には、音声データを転送する伝送路を備える。本実施形態では、音声通話端末201をスマートフォン、電話205を固定電話としているため、音声データを転送する伝送路として無線202、基地局203、及び電話回線204を備える。
【0046】
電話205は、固定電話だけでなく、ソフトフォンやスマートフォン等であってもよい。
無線202は、音声通話端末201と基地局203とを通信可能に接続する伝送路である。
基地局203は、無線202と電話回線204とを接続する中継装置である。
電話回線204は、基地局203と電話205とを通信可能に接続する伝送路である。
遠端側発話者206は、遠端側の発話者であり、近端側発話者207は近端側の発話者である。
【0047】
この音声通話端末201によれば、遠端側(電話205)からのデジタル音信号を遠端入力信号として遠端入力信号入力端子101が受信して、スピーカ104から放音される。また、近端出力信号端子121から出力されるデジタル音信号を近端出力信号として遠端側(電話205)へ送信される。
【0048】
≪試験音響信号エコーパス特性計算部109≫
図3は、第1の実施形態に係る試験音響信号エコーパス特性計算部109の詳細な構成を示す構成図である。
図3において、試験音響信号エコーパス特性計算部109は、試験音響遠端出力信号録音部301、試験音響近端入力信号録音部302、試験音響遠端出力信号周波数変換部303、試験音響近端入力信号周波数変換部304、試験音響遠端出力信号振幅スペクトル計算部305、試験音響近端入力信号振幅スペクトル計算部306、試験音響エコーパス特性計算部307、エコーパス特性調整部308を備える。
【0049】
試験音響遠端出力信号録音部301は、試験音響信号生成部105で生成された試験音響信号を記録する。
【0050】
試験音響近端入力信号録音部302は、試験音響信号生成部105で生成された試験音響信号が出力バッファ102、DA変換器103を通りスピーカ104から出力され、音響エコー信号としてマイク106で入力され、AD変換器107、入力バッファ108を通った試験音響近端入力信号とを録音する。
【0051】
試験音響遠端出力信号周波数変換部303は、試験音響遠端出力信号録音部301に記憶された試験音響遠端出力信号を、例えば、高速フーリエ変換等により、周波数スペクトルに変換し、試験音響遠端出力信号の周波数スペクトルを求める。試験音響遠端出力信号周波数変換部303は、試験音響遠端出力信号の周波数スペクトルを試験音響遠端出力信号振幅スペクトル計算部305に出力する。
【0052】
試験音響近端入力信号周波数変換部304は、試験音響近端入力信号録音部302に記憶された試験音響近端入力信号を、例えば、高速フーリエ変換等により、周波数スペクトルに変換し、試験近端入
力信号の周波数スペクトルを求める。試験音響近端入力信号周波数変換部304は、試験音響近端入力信号の周波数スペクトルを試験音響近端入力信号振幅スペクトル計算部306に出力する。
【0053】
試験音響遠端出力信号振幅スペクトル計算部305は、試験音響遠端出力信号周波数変換部303から出力された試験音響遠端出力信号の周波数スペクトルに基づいて、試験音響遠端出力信号の振幅スペクトルを算出するものである。試験音響遠端出力信号振幅スペクトル計算部305は、算出した試験音響遠端出力信号の振幅スペクトルをエコーパス特性調整部308に出力する。
【0054】
試験音響近端入力信号振幅スペクトル計算部306は、試験音響近端入力信号周波数変換部304から出力された試験音響近端出力信号の周波数スペクトルに基づいて、試験音響近端入力信号の振幅スペクトルを算出するものである。試験音響近端入力信号振幅スペクトル計算部306は、算出した試験音響近端入力信号の振幅スペクトルをエコーパス特性調整部308に出力する。
【0055】
試験音響エコーパス特性計算部307は、試験音響遠端出力信号振幅スペクトル計算部305で求めた試験音響遠端出力信号振幅スペクトルと、試験音響近端入力信号振幅スペクトル計算部306で求めた試験音響近端入力信号の振幅スペクトルとから、各信号の振幅スペクトルを求めて、2つの信号間の音響的な大きさの比である試験音響エコーパス特性(振幅スペクトル)を計算する。
【0056】
エコーパス特性調整部308は、試験音響エコーパス特性計算部307で算出した試験音響エコーパス特性を、例えば、移動平均をとり、遠端出力信号周波数領域変換部111や近端入力信号周波数領域変換部113の周波数分解能と同じ周波数分解能に調整する。そして、調整後の試験音響エコーパス特性(以下、単に「エコーパス特性」と称する)をエコーパス特性保持部110に記憶させる。
【0057】
≪推定エコー信号保持部116≫
図4は、第1の実施形態に係る推定エコー信号保持部116の詳細な構成を示す構成図である。
図4は、推定エコー信号バッファ401の構造を抽象化したものである。
図4において、推定エコー信号保持部116は、推定エコー信号バッファ401と、誤差最小フレーム読出部402とを備える。
【0058】
推定エコー信号バッファ401は、推定エコー信号計算部115で算出された推定エコー信号の振幅スペクトルを記憶するバッファである。横軸がフレーム番号、縦軸が周波数を示している。推定エコー信号バッファ401には過去のフレームの推定エコー信号の振幅スペクトルがフレーム毎に記憶される。
【0059】
誤差最小フレーム読出部402は、遅延量計算部117により特定されたフレーム遅延量を用いて、該当遅延量のフレームを読出し、遅延推定エコー信号としてエコーサプレスゲイン計算部118に出力する。
【0060】
≪遅延量計算部117≫
図5は、第1の実施形態に係る遅延量計算部117の詳細な構成を示す構成図である。
図5に示すように、遅延量計算部117は、フレーム誤差計算部501と、フレーム遅延量特定部502とを備える。
【0061】
フレーム誤差計算部501は、推定エコー信号保持部116に記憶された推定エコー信号の振幅スペクトル数フレームと、近端入力信号周波数領域変換部113で求めた近端入力信号の周波数スペクトルを取得し、周波数ビン毎の誤差を求め、その誤差の合計値を計算する。フレーム誤差計算部501は、求めた誤差の合計値をフレーム遅延量特定部502に出力する。
【0062】
フレーム遅延量特定部502は、フレーム誤差計算部501から出力された誤差の合計値うち、各フレームにおける誤差の最小値を求め、その最小になるフレーム遅延量を特定し、推定エコー信号保持部116に出力する。
【0063】
(A−2)第1の実施形態の動作
次に、第1の実施形態に係るエコー抑圧装置100におけるエコー抑圧処理の動作を詳細に説明する。
【0064】
まず、エコー抑圧装置100の動作開始直後、エコーパス特性を求めるためにエコーパス特性計測処理(図
6)を所定時間実行して、試験音響信号を出力した場合のエコーパス特性を求める。所定時間経過後、エコーサプレス処理(
図8,
図9)を実行し、求めたエコーパス特性を用いて、マイク106に入力された音声(近端入力信号)から音響エコー信号を抑圧する。
【0065】
≪エコーパス特性計測処理 S100≫
図
6を用いて、音声通話端末201におけるエコーパス特性計測処理の動作について説明する。ここでは、エコーパス特性計測処理が実行されるタイミングを、音声通話端末201が着信して、利用者が着信ボタンを押して通話開始が指示されたときとする。
【0066】
音声通話端末201が着信して、利用者に着信ボタンが押されることで、エコー抑圧装置100は、エコーパス特性計測処理を実行して、エコーパス特性の計測を開始する。
まず、試験音響信号生成部105は、試験音響信号を生成して、試験音響遠端出力信号として出力バッファ102と試験音響信号エコーパス特性計算部109の試験音響遠端出力信号録音部301に出力する(ステップS101)。
【0067】
試験音響遠端出力信号録音部301は、エコーパス特性計測処理を開始してから所定時間内の試験音響信号エコーパス特性計算部109の試験音響遠端出力信号録音部301に出力された試験音響遠端出力信号から出力される試験音響遠端出力信号を記憶する(ステップS111)。
【0068】
一方、出力バッファに出力された試験音響遠端入力信号は、出力バッファ102に一時保持された後(ステップS102)、DA変換器103にてアナログ音信号に変換され(ステップS103)、スピーカ104から音として放音される(ステップS104)。放音された試験音響信号は、近端側の空間を伝達し、音響エコー信号としてマイク106に入力され(ステップS105)、アナログ音信号に変換されてAD変換器107に出力される。アナログ音信号は、AD変換器107にてデジタル音信号に変換され(ステップS106)、入力バッファ108に一時保持される(ステップS107)。
【0069】
試験音響近端入力信号録音部302は、エコーパス特性計測処理を開始してから所定時間内に入力バッファ108から出力される試験音響近端入力信号を記憶する(ステップS108)。
【0070】
試験音響近端入力信号周波数変換部304は、エコーパス特性計測処理を開始してから所定時間経過すると、試験音響近端入力信号録音部302に記憶された試験音響近端入力信号を例えば、高速フーリエ変換等により、周波数スペクトルに変換し、試験音響近端入力信号の周波数スペクトルSIN_TS(i,ω
L)を試験音響近端入力信号振幅スペクトル計算部306に出力する(ステップS109)。
【0071】
試験音響遠端出力信号周波数変換部303は、エコーパス特性計測処理を開始してから所定時間経過すると、試験音響遠端出力信号録音部301に記憶された試験音響遠端出力信号を例えば、高速フーリエ変換等により、周波数スペクトルに変換し、試験音響遠端出力信号の周波数スペクトルROUT_TS(i,ω
L)を試験音響遠端出力信号振幅スペクトル計算部305に出力する(ステップS112)。
【0072】
試験音響遠端出力信号振幅スペクトル計算部305は、試験音響遠端出力信号周波数変換部303からの試験音響遠端入力信号の周波数スペクトルROUT_ST(i,ω
L)を用いて、(1)式に従い、試験音響遠端出力信号の振幅スペクトル|ROUT_TS(i,ω
L)|を求める。
【0074】
(1)式で、iはフレーム、ω
Lは周波数ビン、ROUT_TS_real(i,ω
L)とROUT_TS_image(i,ω
L)は、フレームiにおける周波数ビンω
Lの試験音響遠端出力信号の周波数スペクトルの実数部と虚数部を示しており、遠端出力信号の周波数スペクトルROUT_TS(i,ω
L)は(2)式で表すことができる。
【0076】
(2)式で、jは虚数を表している。そして、試験音響遠端出力信号振幅スペクトル計算部305は、試験音響遠端出力信号の振幅スペクトル|ROUT_TS(i,ω
L)|を試験音響エコーパス特性計算部307に出力する(ステップS113)。そして、後記するステップS114の処理を行う。
【0077】
試験音響近端入力信号振幅スペクトル計算部306は、試験音響近端入力信号周波数変換部304からの試験音響遠端出力信号の周波数スペクトルSIN_TS(i,ω
L)を用いて、(3)式に従い、試験音響近端入力信号の振幅スペクトル|SIN_TS(i,ω
L)|を求める(ステップS110)。
【0079】
(3)式で、iはフレーム、ω
Lは周波数ビン、SIN_TS_real(i,ω
L)とSIN_TS_image(i,ω
L)は、フレームiにおける周波数ビンω
Lの試験音響近端入力信号の周波数スペクトルの実数部と虚数部を示しており、試験音響近端入力信号の周波数スペクトルSIN_TS(i,ω
L)は(4)式で表すことができる。
【0081】
(4)式で、jは虚数を表している。そして、試験音響近端入力信号振幅スペクトル計算部306は、試験音響近端入力信号の振幅スペクトルを試験音響エコーパス特性計算部307に出力する。
【0082】
≪ステップS114の処理≫
試験音響エコーパス特性計算部307は、試験音響遠端出力信号の振幅スペクトル|ROUT_TS(i,ω
L)|と、試験音響近端入力信号の振幅スペクトル|SIN_TS(i,ω
L)|とから、(5)式を用いて、試験音響エコーパス特性|H
L(i,ω
L)|を計算する(ステップS114)。
【0084】
(5)式で、iはフレーム、ω
Lは周波数ビンである。そして、試験音響エコーパス特性計算部307は、試験音響エコーパス特性|H
L(i,ω
L)|をエコーパス特性調整部308に出力する。
【0085】
エコーパス特性調整部308は、試験音響エコーパス特性計算部307で算出した試験音響エコーパス特性|H
L(i,ω
L)|を例えば、移動平均等をとり遠端出力信号周波数領域変換部111や近端入力信号周波数領域変換部113で使用される周波数変換(例えば、高速フーリエ変換)と同じ周波数分解能になるように調整し、エコーパス特性|H(i,ω)|を求める(ステップS115)。
そして、エコーパス特性調整部308は、調整後のエコーパス特性|H(i,ω)|をエコーパス特性保持部110に記憶させる(ステップS116)。
これでエコーパス特性計測処理S100を終了する。
【0086】
≪エコーサプレス処理 S200≫
次に、図
7、図
8を用いて、音声通話端末201におけるエコーサプレス処理の動作について説明する。このエコーサプレス処理は、エコーパス特性計測処理(S100)が終了したタイミングで実行される。このとき、音声通話端末201は通話中であり、音声通話端末201の遠端入力信号入力端子101は、ネットワーク網(IP網)や携帯電話の電波を介して、遠端側の利用者が発する音声や環境音等のデジタル音信号を遠端入力信号として受信する。そして、遠端入力信号入力端子101は、入力された遠端入力信号を、遠端出力信号として出力バッファ102及び遠端出力信号周波数領域変換部111に出力する(ステップS201)。
【0087】
まず、ステップS201の処理において、遠端出力信号周波数領域変換部111に出力された遠端出力信号について説明する(ステップS211〜ステップS214)。
遠端出力信号周波数領域変換部111は、遠端入力信号入力端子101から出力された遠端出力信号を例えば、高速フーリエ変換等により、周波数スペクトルに変換し、その変換された遠端出力信号の周波数スペクトルROUT(i,ω)を遠端出力信号振幅スペクトル計算部112に出力する(ステップS211)。
【0088】
遠端出力信号振幅スペクトル計算部112は、遠端出力信号周波数領域変換部111からの遠端出力信号の周波数スペクトルROUT(i,ω)を用いて、(6)式に従い、遠端出力信号の振幅スペクトル|ROUT(i,ω)|を求める(ステップS212)。
【0090】
(6)式で、iはフレーム、ωは周波数ビン、ROUT_real(i,ω)とROUT_image(i,ω)は、フレームiにおける周波数ビンωの遠端出力信号の周波数スペクトルの実数部と虚数部を示しており、遠端出力信号の周波数スペクトルROUT(i,ω)は(7)式で表すことができる。
【0092】
(7)式で、jは虚数を表している。そして、遠端出力信号振幅スペクトル計算部112は、遠端出力信号の振幅スペクトル|ROUT(i,ω)|を推定エコー信号計算部115に出力する。
【0093】
推定エコー信号計算部115は、エコーパス特性保持部110からエコーパス特性|H(i,ω)|と、遠端出力信号振幅スペクトル計算部112から遠端出力信号の振幅スペクトル|ROUT(i,ω)|を取得し、(6)式により、推定エコー信号の振幅スペクトル|ECHO(i,ω)|が求める(ステップS213)。つまり、推定エコー信号計算部115は、(8)式を用いて、遠端出力信号の振幅スペクトル|ROUT(i,ω)|に、エコーパス特性保持部110に保持されているエコーパス特性|H(i,ω)|を乗じて、推定エコー信号の振幅スペクトル|ECHO(i,ω)|を求める(ステップS213)。
【0095】
そして、推定エコー信号計算部115は、(9)式に示すように、推定エコー信号の振幅スペクトル|ECHO(i,ω)|を推定エコー信号保持部116の推定エコー信号バッファ401(Buffer(u,ω))に出力する(ステップS213)。
推定エコー信号保持部116は、推定エコー信号計算部115から出力された推定エコー信号の振幅スペクトル|ECHO(i,ω)|を推定エコー信号バッファ401に書込む(ステップS214)。
【0097】
(9)式で、uは推定エコー信号バッファ401での推定エコー信号の振幅スペクトル|ECHO(i,ω)|の書き込みフレーム番号である。つまり、推定エコー信号計算部115で推定エコー信号の振幅スペクトル|ECHO(i,ω)|が求まると、推定エコー信号バッファ401のフレーム番号uに記録される。
【0098】
推定エコー信号バッファ401(Buffer(u,ω))は、過去の推定エコー信号の振幅スペクトルが数フレーム保存されている(例えば、推定エコー信号バッファ401の容量が100フレーム記憶できる場合は、過去の100フレームの推定エコー信号の振幅スペクトルが記録できる)。推定エコー信号がフレーム番号uに記録されるとフレーム番号uに1を加算して、フレーム番号を1つ進める。フレーム番号が推定エコー信号バッファ401の容量より大きくなると(例えば、推定エコー信号バッファ401の容量が100フレーム記憶できる場合は、uが100以上になったとき)、uに0を代入して、推定エコー信号バッファ401の最初から推定エコー信号を書込むようにする。
【0099】
そして、推定エコー信号保持部116は保持している過去の推定エコー信号の振幅スペクトルBuffer(u−k,ω)(kはフレーム遅延量であり、k=1,2,…,N。Nは、例えば、過去の10フレームの推定エコー信号の振幅スペクトルを出力する場合はN=10となる)を遅延量計算部117に出力する。
【0100】
次に、ステップS201の処理において、出力バッファ102に出力された遠端出信号について説明する(ステップS201〜ステップS209)。
【0101】
遠端出力信号は、出力バッファ102に一時保持された後(ステップS202)、DA変換器103にてアナログ音信号に変換され(ステップS203)、スピーカ104から音として放音される(ステップS204)。そして、放音された音は、空間を伝達して、音響エコー信号としてマイク106に入力され(ステップS205)、アナログ音信号に変換されてAD変換器107に出力される。アナログ信号は、AD変換器107にてデジタル信号に変換され(ステップS206)、入力バッファ108に一時保持される(ステップS207)。
【0102】
近端入力信号周波数領域変換部113は、入力バッファ108から出力された近端入力信号を、例えば、高速フーリエ変換等により、周波数スペクトルに変換し、その変換された近端入力信号の周波数スペクトルSIN(i,ω)を近端入力信号振幅スペクトル計算部114及びエコーサプレス部119に出力する(ステップS208)。
近端入力信号振幅スペクトル計算部114は、近端入力信号周波数領域変換部113からの近端入力信号の周波数スペクトルSIN(i,ω)を用いて、(10)式に従い、近端入力信号の振幅スペクトル|SIN(i,ω)|を求める(ステップS209)。
【0104】
(10)式で、iはフレーム、ωは周波数ビン、SIN_real(i,ω)とSIN_image(i,ω)は、フレームiにおける周波数ビンωの近端入力信号の周波数スペクトルの実数部と虚数部を示しており、近端入力信号の周波数スペクトルSIN(i,ω)は(11)式で表すことができる。
【0106】
(11)式で、jは虚数を表している。そして、近端入力信号周波数領域変換部113は、近端入力信号の振幅スペクトル|SIN(i,ω)|を遅延量計算部117及び、エコーサプレスゲイン計算部118に出力する。
【0107】
≪遅延量計算部117≫
遅延量計算部117のフレーム誤差計算部501は、推定エコー信号保持部116の推定エコー信号バッファ401から出力された過去の推定エコー信号の振幅スペクトルBuffer(u−k,ω)と、近端入力信号振幅スペクトル計算部114から近端入力信号の振幅スペクトル|SIN(i,ω)|を取得し、(12)式を用いて、フレーム毎に周波数ビン毎の誤差の合計値を計算する(ステップS215)。
【0109】
ここで、iはフレーム、ωは周波数ビン、Fsはサンプリング周波数、Error(k)は、近端入力信号の振幅スペクトル|SIN(i,ω)|と過去の推定エコー信号の振幅スペクトルBuffer(u−k,ω)との周波数ビン毎の誤差の合計値、uは推定エコー信号バッファ401での推定エコー信号の振幅スペクトル|ECHO(i,ω)|の書込みフレーム番号である。つまり、推定エコー信号バッファ401のフレーム番号uから過去のkフレームの推定エコー信号の振幅スペクトルBuffer(u−k,ω)と、近端入力信号の振幅スペクトル|SIN(i,ω)|との誤差の合計値をフレーム毎に計算して、フレーム毎の誤差の合計値を求める。
【0110】
フレーム遅延量特定部502は、フレーム誤差計算部501が算出した周波数ビン毎の誤差の合計値をフレーム毎に取得し、(13)式を用いて、誤差の合計値が最小になるフレーム遅延量k
minを求める(ステップS216)。
【0112】
(13)式で、argmin(x(k))という関数は、x(k)が最小になる引数を出力する関数であり、誤差の合計値Error(k)が最小になるフレーム遅延量を出力しk
minに代入するという式である。そして、フレーム遅延量特定部502は、誤差の合計値が最小になるフレーム遅延量k
minを推定エコー信号保持部116に出力する。
以上により、遅延量が大きい装置や遅延量の変動が大きい装置でも誤差が最小になるフレーム遅延量k
minが得られる。
【0113】
推定エコー信号保持部116の誤差最小フレーム読出部402は、フレーム特定部503から出力された差の合計値が最小になるフレーム遅延量k
minを用いて推定エコー信号バッファ401のフレーム番号u−k
minに記録される推定エコー信号の振幅スペクトルを読出し、(14)式に示すように、遅延推定エコー信号の振幅スペクトル|ECHO_Delay(i,ω)|とする(ステップS217)。
【0115】
そして、誤差最小フレーム読出部402は、遅延推定エコー信号の振幅スペクトル|ECHO_Delay(i,ω)|をエコーサプレスゲイン計算部118に出力する(ステップS217)。
【0116】
≪エコーサプレスゲイン計算部118≫
エコーサプレスゲイン計算部118は、近端入力信号振幅スペクトル計算部114から近端入力信号の振幅スペクトル|SIN(i,ω)|と推定エコー信号保持部116から遅延推定エコー信号の振幅スペクトル|ECHO_Delay(i,ω)|を取得し、て、(15)式を用いて、エコーサプレスゲインG(i,ω)を求める(ステップS218)。
【0118】
(15)式で、iはフレーム、ωは周波数ビンである。そして、エコーサプレスゲイン計算部118は、エコーサプレスゲインG(i,ω)をエコーサプレス部119に出力する。
【0119】
エコーサプレス部119は、近端入力信号周波数領域変換部113から近端入力信号の周波数スペクトルSIN(i,ω)の実数部SIN_real(i,ω)と虚数部SIN_image(i,ω)と、エコーサプレスゲイン計算部118からエコーサプレスゲインG(i,ω)を取得する。そして、(16)式、(17)式を用いて、近端入力信号の周波数スペクトルSIN(i,ω)と、エコーサプレスゲインG(i,ω)とを乗算して、近端入力信号の周波数スペクトルSIN(i,ω)に重畳されている音響エコー信号を抑圧した近端出力信号の周波数スペクトルSOUT(i,ω)を算出する(ステップS219)。
【0122】
(16)式及び(17)式で、SOUT_real(i,ω)とSOUT_image(i,ω)は、時刻iにおける周波数ビンωの近端出力信号の周波数スペクトルの実数部と虚数部を示しており、近端出力信号の周波数スペクトルSOUT(i,ω)は(18)式で表すことができる。
【0124】
(18)式で、jは虚数を表している。そして、エコーサプレス部119は、音響エコー信号を抑圧した近端出力信号の周波数スペクトルSOUT(i,ω)を近端出力信号時間領域変換部120に出力する。
【0125】
近端出力信号時間領域変換部120は、エコーサプレス部119から出力された近端出力信号の周波数スペクトルSOUT(i,ω)が、例えば、逆高速フーリエ変換等により、時間領域の信号に変換され、変換後の時間領域の信号を近端出力信号として近端出力信号端子121に出力する(ステップS220)。
【0126】
近端出力信号端子121は、
図2の音声通話端末に搭載されているアンテナ等を用いて、近端出力信号をネットワーク網(IP網)や携帯電話の無線ネットワークで使用される電波を介して、遠端側の電話205へデジタル音信号を送信する(ステップS221)。
【0127】
以上のように、フレーム遅延量k
minが求まれば、遅延推定エコー信号の振幅スペクトル|ECHO_Delay(i,ω)|が求まり、近端入力信号の振幅スペクトル|SIN(i,ω)|と遅延推定エコー信号の振幅スペクトル|ECHO_Delay(i,ω)|とを用いてエコーサプレスゲインG(i,ω)求まる。そして、求めたエコーサプレスゲインG(i,ω)と近端入力信号の周波数スペクトルSIN(i,ω)と乗算し、近端入力信号に含まれる音響エコー信号が抑圧された近端出力信号の周波数スペクトルSOUT(i,ω)を求まり、音響エコー信号が抑圧された近端出力信号の周波数スペクトルSOUT(i,ω)を周波数領域の信号から再び時間領域の信号に変換して、音響エコー信号が抑圧された近端出力信号を遠端側の電話205へ送信することができる。
【0128】
(B)第2の実施形態
次に、本発明の第2の実施形態を、図面を参照しながら説明する。
第2の実施形態は、試験信号を用いるのではなく、遅延させた遠端出力信号と近端入力信号を用いてエコーパス特性を求める実施例である
【0129】
第2の実施形態では、遠端出力信号保持部901が追加され、エコーパス特性計算部902の構成が、第1の実施形態に係るエコー抑圧装置100と異なるのみであり、それ以外の構成要素は第1の実施形態に係る
図2のエコー抑圧装置100の構成要素と同一または対応するものである。
【0130】
第2の実施形態のエコー抑圧装置900も、例えば専用ボードとして構築されるようにしてもよいし、DSP(デジタルシグナルプロセッサ)へのエコー抑圧プログラムの書き込みによって実現されたものであってもよく、CPUと、CPUが実行するソフトウェア(エコー抑圧プログラム)によって実現されたものであってもよいが、機能的には、
図9で表すことができる。
【0131】
(B−1)第2の実施形態の構成
図9は、第2の実施形態に係るエコー抑圧装置900の詳細な構成を示す構成図である。
なお、
図9において、第1の実施形態に係るエコー抑圧装置100の構成要素と同一または対応するものについては同一の符号を付している。また、第1の実施形態と同一または対応する構成要素の詳細な説明は重複することになるため、ここでは省略する。
【0132】
遠端出力信号保持部901は、推定エコー信号保持部116に推定エコー信号が記録されるとき、推定エコー信号バッファ401のフレーム番号uと同じフレーム番号に遠端入力信号の振幅スペクトルが保持される。そして遅延量計算部117で求めたフレーム遅延量だけ遅延させた遅延遠端入力信号の振幅スペクトルがエコーパス特性計算部902に出力される。
【0133】
エコーパス特性計算部902は、近端入力信号振幅スペクトル計算部114から出力される近端入力信号の振幅スペクトルと、遠端出力信号保持部901出力される遅延遠端入力信号の振幅スペクトルとを取得し、エコーパス特性を算出する。エコーパス特性計算部902は求めたエコーパス特性をエコーパス特性保持部110に出力する。
【0134】
(遠端出力信号保持部901)
図10は、第1の実施形態に係る遠端出力信号保持部901の詳細な構成を示す構成図であり、推定エコー信号バッファ401の構造を抽象化したものである。
図10において遠端出力信号保持部901は、遠端出力信号バッファ1001と、誤差最小フレーム読出部1002とを備える。
【0135】
遠端出力信号バッファ1001は、遠端出力信号振幅スペクトル計算部112で算出された遠端出力信号の振幅スペクトルを記憶するバッファである。横軸がフレーム番号、縦軸が周波数を示している。バッファの容量は推定エコー信号保持部116の推定エコー信号バッファ401と同じ容量である。遠端出力信号バッファ1001には、過去のフレームの推定エコー信号の振幅スペクトルがフレーム毎に記憶される。
【0136】
誤差最小フレーム読出部1002は、誤差最小フレーム読出部402と機能的には同じであり、遅延量計算部117により特定されたフレーム遅延量を用いて、遠端出力信号バッファ1001の該当遅延量のフレームを読出し、遅延遠端出力信号の振幅スペクトルとしてエコーパス特性計算部902に出力する。
【0137】
(B−2)第2の実施形態の動作
次に、第2の実施形態に係るエコー抑圧装置900におけるエコー抑圧処理の動作を詳細に説明する。
なお、
図9において、第1の実施形態に係るエコー抑圧装置100の構成要素と同一または対応するものについては同一の符号を付している。また、第1の実施形態と同一または対応する構成要素の動作の詳細な説明は重複することになるためここでは省略する。
【0138】
遠端出力信号振幅スペクトル計算部112は、遠端出力信号周波数領域変換部111からの遠端出力信号の周波数スペクトルROUT(i,ω)を用いて、(6)式に従い、遠端出力信号の振幅スペクトル|ROUT(i,ω)|が求め(ステップS212)、遠端出力信号の振幅スペクトル|ROUT(i,ω)|を推定エコー信号計算部115と遠端出力信号保持部901に出力する。
【0139】
遠端出力信号保持部901は、遠端出力信号振幅スペクトル計算部112から出力された遠端出力信号の振幅スペクトル|ROUT(i,ω)|を遠端出力信号バッファ1001((ROUT_Buffer(u,ω))に書込む(ステップS301)。
【0141】
(19)式で、uは遠端出力信号バッファ1001での遠端出力信号の振幅スペクトル|ROUT(i,ω)|の書込みフレーム番号であり、遅延量計算部117の推定エコー信号バッファ401の書込みフレーム番号uと同じ値である。つまり、遠端出力信号バッファ1001の遅延量計算部117の推定エコー信号バッファ401と同じフレーム番号uに端出力信号の振幅スペクトル|ROUT(i,ω)|の書込むということである。
【0142】
遠端出力信号バッファ1001(ROUT_Buffer(u,ω))は、過去の遠端出力信号の振幅スペクトルが数フレーム保存されている(例えば、推定エコー信号バッファ401と同様に遠端出力信号バッファ1001の容量が100フレーム記憶できる場合は、過去の100フレームの遠端出力信号の振幅スペクトルが記録できる)。ただし、遠端出力信号の振幅スペクトル|ROUT(i,ω)|が、書込みフレーム番号uに記録されても書込みフレーム番号uに1を加算しない。遅延量計算部117の推定エコー信号バッファ401の書込みフレーム番号uに推定エコー信号の振幅スペクトル|ECHO(i,ω)|が書込まれてから書込みフレーム番号uに1を加算し、書込みフレーム番号を1つ進める。
【0143】
遅延量計算部117のフレーム誤差計算部501は、推定エコー信号保持部116の推定エコー信号バッファ401から出力された過去の推定エコー信号の振幅スペクトルBuffer(u−k,ω)と、近端入力信号振幅スペクトル計算部114から近端入力信号の振幅スペクトル|SIN(i,ω)|を取得し、(12)式を用いて、フレーム毎に周波数ビン毎の誤差の合計値を計算する(ステップS216)。
【0144】
フレーム遅延量特定部502は、フレーム誤差計算部501が算出した周波数ビン毎の誤差の合計値をフレーム毎に取得し、(13)式を用いて、誤差の合計値が最小になるフレーム遅延量k
minを求める。そして、フレーム遅延量特定部502は、誤差の合計値が最小になるフレーム遅延量k
minを推定エコー信号保持部116と遠端出力信号保持部901に出力する。
【0145】
遠端出力信号保持部901の誤差最小フレーム読出部1002は、遅延量計算部117から出力された差の合計値が最小になるフレーム遅延量k
minを用いて遠端出力信号バッファ1001のフレーム番号u−k
minに記録される遠端出力信号の振幅スペクトルを読出し、(20)式に示すように、遅延遠端出信号の振幅スペクトル|ROUT_Delay(i,ω)|とする(ステップS302)。
【0147】
(20)式で、iはフレーム、ωは周波数ビンである。そして、誤差最小フレーム読出部1002は、遅延遠端出力信号の振幅スペクトル|ROUT_Delay(i,ω)|をエコーパス特性計算部902に出力する。
【0148】
エコーパス特性計算部902は、遠端出力信号保持部901から出力される遅延遠端出信号の振幅スペクトル|ROUT_Delay(i,ω)|と、近端入力信号振幅スペクトル計算部114から出力される近端入力信号の振幅スペクトル|SIN(i,ω)|とから、(21)式を用いて、エコーパス特性|H(i,ω)|を計算する(ステップS303)。
【0150】
(21)式で、iはフレーム、ωは周波数ビンである。エコーパス特性計算部902は、エコーパス特性|H(i,ω)|をエコーパス特性保持部110に出力する。
【0151】
以上のように、フレーム遅延量k
minが求まれば、遅延遠端出力の振幅スペクトル|ROUT_Delay(i,ω)|が求まり、近端入力信号の振幅スペクトル|SIN(i,ω)|と遅延推定エコー信号の振幅スペクトル|ECHO_Delay(i,ω)|とを用いてエコーパス特性|H(i,ω)|が求まる。この求めたエコーパス特性|H(i,ω)|から推定エコー信号、フレーム遅延量、エコーサプレスゲインG(i,ω)を求め、求めたエコーサプレスゲインG(i,ω)と近端入力信号の周波数スペクトルSIN(i,ω)と乗算し、近端入力信号に含まれる音響エコー信号が抑圧された近端出力信号の周波数スペクトルSOUT(i,ω)を求まり、音響エコー信号が抑圧された近端出力信号の周波数スペクトルSOUT(i,ω)を周波数領域の信号から再び時間領域の信号に変換して、音響エコー信号が抑圧された近端出力信号を遠端側の電話205へ送信することができる。
【0152】
本発明は、前記した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
例えば、本実施形態では、エコーサプレス部119を備えるエコー抑圧装置100やエコー抑圧装置900であるが、エコーサプレス部119の代わりに減算器を備えて、エコー除去装置としてもよい。このとき、減算器は、エコーサプレスゲイン計算部118が求めたエコーサプレスゲインG(i,ω)を、減算量として扱えばよい。
【0153】
本実施形態では、音声通話端末201がスマートフォンの場合として記載したが、ソフトフォン等でもよく、多数の人が話し合う電話会議システム等に用いることができる。
また、電話205の代わりに本発明の音声通話端末201を用いることで、互いの通話端末で音響エコー信号を抑圧することができるため、通話品質の高いシステムを提供することができる。
【0154】
第1の実施形態で、エコーパス特性計測処理が実行されるタイミングを、利用者が着信ボタンを押したときとしたが、発信ボタンを押した場合であってもよい。
また、最初にエコーパス特性計測処理を1回だけ実行して、得られたエコーパス特性をその後に実行されるエコーサプレス処理で繰り返し用いてもよい。