(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
例えば、従来のテレビ会議システムや電話会議システム等の拡声通話システムでは、スピーカから放音された音(ここで、音は音響や音声等を含む)がマイクに回り込んで送話側に戻る音響エコー信号が発生する。音響エコー信号は通話の著しい妨げとなるため、その抑圧方法に関しては、これまでも多くの研究、開発が行なわれている。
【0003】
従来、音響エコー信号を抑圧する1つの手法として、エコーサプレッサー(エコー抑圧装置)を使用する手法がある。エコーサプレッサーとは、遠端出力信号と近端入力信号からエコーパス特性、推定エコー信号、エコーサプレスゲインを求めて、近端入力信号とエコーサプレスゲインを乗算することで音響エコー信号を抑圧する手法である。このエコーサプレッサーを使用して音響エコー信号を抑圧する手法が非特許文献1によって提案されている。
【0004】
非特許文献1のエコーサプレッサーは、過去のフレームの遠端出力信号と近端入力信号とに基づいてエコーパス特性を求める。そして、求めたエコーパス特性と遠端出力信号を乗算した信号を推定エコー信号とし、エコーサプレッサーは、近端入力信号と推定エコー信号とに基づいてエコーサプレスゲインを求め、エコーサプレスゲインを近端入力信号と乗算して音響エコー信号を抑圧する。
【0005】
非特許文献1に開示されるエコー抑圧装置は、過去のフレームの遠端出力信号と近端入力信号とに基づいてエコーパス特性を求める。そして、求めたエコーパス特性と遠端出力信号とを乗算した信号を推定エコー信号とし、エコー抑圧装置は、近端入力信号と推定エコー信号とに基づいてエコーサプレスゲインを求め、エコーサプレスゲインを近端入力信号と乗算して音響エコー信号を抑圧する。
【0006】
非特許文献1に記載の従来のエコー抑圧装置について、
図5を参照しながら説明する。エコー抑圧装置500は、遠端信号入力端子501、DA変換器502、スピーカ503、マイク504、AD変換器505、第1周波数分析部506、第2周波数分析部507、音響結合量計算部508、推定エコー信号計算部509、ゲイン計算部510、積算部511、周波数-時間変換部512、近端信号出力端子513を有する。
【0007】
遠端信号入力端子501は、例えば、インターネットプロトコル(IP)網等のネットワークや、携帯電話等の無線ネットワークの電波を介して遠端側(相手側)遠端信号(相手側のデジタル音信号)が入力される。
【0008】
DA変換器502は、遠端信号入力端子501に入力された遠端信号をデジタル音信号からアナログ音信号に変換し、スピーカ503に出力する。
【0009】
スピーカ503は、DA変換器502はから出力されたアナログ信号を近端側(自分側)に出力する。
【0010】
マイク504は、近端側の話者が発した音声等の音信号や環境音や音響エコー信号(例えば、スピーカ503から出力されたアナログ音信号が近端側の空間を伝達して回り込んだ信号)等が重畳したアナログ音信号を受音する。
【0011】
AD変換器505は、マイク504から出力されたアナログ音信号をデジタル音信号に変換し、変換したデジタル音信号を第2周波数分析部507に出力する。
【0012】
第1周波数分析部506は、遠端信号入力端子501に入力された遠端信号を遠端出力信号として周波数領域の信号に変換し、遠端出力信号の周波数スペクトルを出力する。
【0013】
第2周波数分析部507は、AD変換器505から出力されたデジタル音信号を近端入力信号として周波数領域の信号に変換し、近端入力信号の周波数スペクトルを出力する。
【0014】
音響結合量計算部508は、遠端出力信号の周波数スペクトルと近端入力信号の周波数スペクトルとを入力として、エコーパス特性を推定し、推定したエコーパス特性を推定エコー信号計算部509に出力する。
【0015】
推定エコー信号計算部509は、遠端出力信号の周波数スペクトルと推定したエコーパス特性に基づいて、推定エコー信号を計算する。
【0016】
ゲイン計算部510は、推定エコー信号と近端入力信号の周波数スペクトルとを入力として、エコーサプレスゲインを計算し、積算部511に出力する。
【0017】
積算部511は、近端入力信号の周波数スペクトルにエコーサプレスゲインを乗じて音響エコー信号を抑圧した信号の周波数スペクトルを近端出力信号の周波数スペクトルとして周波数-時間変換部512に出力する。
【0018】
周波数-時間変換部512は、近端出力信号の周波数スペクトルを周波数領域の信号から時間領域のデジタル音信号に変換し、変換したデジタル音信号を近端信号(相手側に出力されるのデジタル音信号)として近端信号出力端子513に出力する。
【0019】
近端出力信号出力部513は、例えば、インターネットプロトコル(IP)網等のネットワークや、携帯電話等の無線ネットワークの電波に接続されており,近端出力信号時間領域変換部117から出力された近端信号を接続されている回線を介して通信相手である遠端側に出力する。
【発明を実施するための形態】
【0032】
(A)主たる実施形態
以下、本発明によるエコー抑圧装置、及びエコー抑圧プログラムの一実施形態を、図面を参照しながら詳細に説明する。
【0033】
主たる実施形態は、実施形態は、例えば、テレビ会議システムや電話会議システム等の拡声通話システムの音声送受信装置のエコー抑圧装置及びプログラムに本発明を適用する場合を例示する。
【0034】
(A−1)実施形態の構成
図1は、この実施形態に係るエコー抑圧装置100の構成を示すブロック図である。
【0035】
実施形態に係るエコー抑圧装置100は、上述した非特許文献1の課題を解決するエコー抑圧装置を実装したものであり、遠端出力信号が音響エコー信号として近端側のマイクに回り込んで入力されたときでも、近端入力信号に対してエコー抑圧処理(エコーサプレス処理)を行い、音響エコー信号を適切に抑圧するものである。
【0036】
実施形態のエコー抑圧装置100は、例えば専用ボードとして構築されるようにしても良いし、DSP(デジタルシグナルプロセッサ)へのエコー抑圧プログラムの書き込みによって実現されたものであっても良く、CPUと、CPUが実行するソフトウェア(エコー抑圧プログラム)によって実現されたものであっても良く、CPUやメモリ等を有するコンピュータ(プログラムの実施構成)に、実施形態に係るエコー抑圧プログラムをインストールすることにより実現するようにしても良いが、機能的には、
図1で表すことができる。
【0037】
最初に、エコーサプレス装置100の内部構成について
図1を用い説明する。
【0038】
図1において実施形態に係るエコー抑圧装置100は、遠端信号入力端子101、出力バッファ102、DA変換器103、スピーカ104、マイク105、AD変換器106、入力バッファ107、遠端出力信号周波数領域変換部108、遠端出力信号振幅スペクトル計算部109、エコーパス特性保持部110、推定エコー信号計算部111、推定エコー信号保持部112、近端入力信号周波数領域変換部113、近端入力信号振幅スペクトル計算部114、フレーム遅延量推定部115、推定エコー信号補正部116、遠端出力信号保持部117、エコーパス特性計算部118、エコーサプレスゲイン計算部119、エコーサプレス部120、近端出力信号時間領域変換部121、近端信号端子122を有する。
【0039】
遠端信号入力端子101は、例えば、インターネットプロトコル(IP)網等のネットワークや、携帯電話等の無線ネットワークの電波を介して遠端信号が入力される。
【0040】
出力バッファ102は、エコー抑圧装置100の処理待ち用のバッファであり、遠端信号入力端子101に入力された遠端信号を出力バッファ102に一時保持し、、DA変換器103の処理準備ができ次第、DA変換器103に遠端信号を出力する。
【0041】
DA変換器103は、出力バッファ102から出力された遠端信号をデジタル音信号からアナログ音信号に変換してスピーカ104に出力する。
【0042】
スピーカ104は、DA変換器103から出力されたアナログ音信号を近端側に出力するものである。
【0043】
マイク105は、近端話者が発した音声等の音信号や環境音や音響エコー信号(例えば、スピーカ104から出力されたアナログ音信号が近端側の空間を伝達して回り込んだ信号)等が重畳したアナログ音信号を受音する。マイク105は、受音したアナログ音信号をAD変換器106に出力する。
【0044】
AD変換器106は、マイク105から出力されたアナログ音信号をデジタル音信号に変換し、変換したデジタル音信号を入力バッファ107に出力する。
【0045】
入力バッファ107は、エコー抑圧装置100の処理待ち用のバッファであり、AD変換器106から出力されたデジタル音信号を入力バッファ107に一時保持し、エコー抑圧装置100の準備ができ次第、デジタル音信号を近端信号周波数変換部113に出力する。
【0046】
遠端出力信号周波数領域変換部108は、遠端信号入力端子101に入力された遠端信号を遠端出力信号として、例えば、高速フーリエ変換(FFT)等により、周波数スペクトルに変換するものである。遠端出力信号周波数領域変換部108は、変換した遠端出力信号の周波数スペクトルを遠端出力信号振幅スペクトル計算部107に出力する。
【0047】
遠端出力信号振幅スペクトル計算部109は、遠端出力信号周波数領域変換部106から出力された遠端出力信号の周波数スペクトルに基づいて、遠端出力信号の振幅スペクトルを算出するものである。遠端出力信号振幅スペクトル計算部109は、算出した遠端出力信号の振幅スペクトルをエコーパス特性更新部111及び遠端出力信号保持部117に出力する。
【0048】
エコーパス特性保持部110は、1フレーム前に推定したエコーパス特性を保持する。エコーパス特性保持部110は、保持している推定エコーパス特性を推定エコー信号計算部111に出力する。
【0049】
推定エコー信号計算部111は、遠端出力信号振幅スペクトル計算部109から出力された遠端出力信号の振幅スペクトルと、エコーパス特性保持部110に保持されている推定したエコーパス特性とを乗じて推定エコー信号の振幅スペクトルを算出するものである。推定エコー信号計算部109は、算出した推定エコー信号の振幅スペクトルを推定エコー信号保持部112に出力する。
【0050】
推定エコー信号保持部112は、推定エコー信号計算部111で算出された推定エコー信号の振幅スペクトルを所定時間保持する。推定エコー信号保持部112は、フレーム遅延量推定部115にフレーム遅延量を推定するために過去の推定エコー信号の振幅スペクトルを複数フレーム出力する。さらに、後記するフレーム遅延量推定部115で推定したフレーム遅延量を用いて、該当遅延量のフレームと該当フレームの前後のフレームを読出し、推定エコー信号補正部116に出力する。
【0051】
近端信号周波数領域変換部113は、入力バッファ107から出力されたデジタル音信号を近端入力信号として、例えば、高速フーリエ変換(FFT)等により、周波数スペクトルに変換するものである。近端入力信号周波数領域変換部113は、変換した近端入力信号の周波数スペクトルを近端入力信号振幅スペクトル計算部114、及びエコーサプレス部120に出力する。
【0052】
近端入力信号振幅スペクトル計算部114は、近端入力信号周波数領域変換部113から出力された近端入力信号の周波数スペクトルに基づいて、近端入力信号の振幅スペクトルを算出するものである。近端入力信号振幅スペクトル計算部114は、算出した近端入力信号の振幅スペクトルをエコーパス特性保持部110、フレーム遅延量推定部117、及びエコーサプレスゲイン計算部119に出力する。
【0053】
フレーム遅延量推定部115は、推定エコー信号保持部112に保持されている過去数フレームの推定エコー信号の振幅スペクトルと、近端入力信号振幅スペクトル計算部114で求めた近端入力信号の振幅スペクトルとの誤差のフレーム毎に計算する。そして、誤差の合計値が最小になるフレームを特定し、推定エコー信号計算部116と遠端出力信号保持部117とに出力する。
【0054】
推定エコー信号補正部116は、フレーム遅延量推定部115で求めたフレーム遅延量だけ遅延させた推定エコー信号と、その前後の複数フレームの推定エコー信号を読出し、読出した複数フレームの推定エコー信号から推定エコー信号の振幅スペクトルを求める。推定エコー信号補正部116は、推定エコー信号をエコーサプレスゲイン計算部119に出力する。
【0055】
遠端出力信号保持部117は、遠端出力信号振幅スペクトル計算部109から出力させた遠端出力信号の振幅スペクトルを推定エコー信号保持部112と同じ所定時間保持する。推定エコー信号保持部112に推定エコー信号が保持されるとき、推定エコー信号保持部112の推定エコー信号バッファ201の書込みと同じフレームに遠端出力信号の振幅スペクトルが保持される。そして、フレーム遅延量推定部115で推定したフレーム遅延量だけ遅延させた遠端出力信号の振幅スペクトルをエコーパス特性計算部118に出力する。
【0056】
エコーパス特性計算部118は、近端入力信号振幅スペクトル計算部113から出力される近端入力信号の振幅スペクトルと、遠端出力信号保持部117から出力される遅延遠端出力信号の振幅スペクトルとを取得し、エコーパス特性を算出する。エコーパス特性計算部118は求めたエコーパス特性をエコーパス特性保持部110に出力する。
【0057】
エコーサプレスゲイン計算部119は、近端入力信号振幅スペクトル計算部114で求めた近端入力信号の振幅スペクトルと、推定エコー信号補正部116から出力される推定エコー信号の振幅スペクトルからエコーサプレスゲインを計算し、算出したエコーサプレスゲインをエコーサプレス部120に出力する。
【0058】
エコーサプレス部120は、エコーサプレスゲイン計算部119で算出したエコーサプレスゲインと、近端入力信号周波数領域変換部113で求めた近端入力信号の周波数スペクトルとを乗じることにより、近端入力信号の周波数スペクトルに重畳されている音響エコー信号が抑圧された信号の周波数スペクトルを得ることができる。エコーサプレス部120は、音響エコー信号を抑圧した近端入力信号の周波数スペクトルを近端出力信号の周波数スペクトルとして、近端出力信号時間領域変換部121に出力する。
【0059】
近端出力信号時間領域変換部121は、エコーサプレス部120で得られた近端出力信号の周波数スペクトルを、例えば、逆高速フーリエ変換(Inverse FFT)等により、周波数領域の信号から時間領域のデジタル音信号に変換し、変換したデジタル音信号を近端信号(相手側に出力されるのデジタル音信号)として近端信号出力端子122に出力する。
【0060】
近端出力信号端子122は、例えば、インターネットプロトコル(IP)網等のネットワークや、携帯電話等の無線ネットワークの電波に接続されており,近端出力信号時間領域変換部121から出力された近端信号を接続されている回線を介して通信相手である遠端側に出力する。
【0061】
次に、推定エコー信号保持部112の内部構成について
図2を用いて説明する。
【0062】
推定エコー信号保持部112は、推定エコー信号バッファ201を有している。
【0063】
推定エコー信号バッファ201は、推定エコー信号を一定時間保持し、推定エコー信号をフレーム遅延量推定部115と推定エコー信号補正部116に出力する。推定エコー信号バッファ201は、上述の通り、時系列ごとにインクリメントされた各フレーム番号のフレーム(周波数ごとの振幅値により構成される振幅スペクトル)が保持されている。
【0064】
推定エコー信号補正部116は、フレーム読出し部301と、フレーム周波数ビン比較部302を有している。
【0065】
フレーム読出し部301は、近端入力信号の振幅スペクトルと過去の推定エコー信号の振幅スペクトルの誤差が最小になるフレームとその前後の複数フレーム読出す。フレーム読出し部301は、読み出したフレームをフレーム周波数ビン比較部302に出力する。
【0066】
フレーム周波数ビン比較部302は、フレーム読出し部301で読み出した複数フレーム周波数ビン毎に比較し推定エコー信号を補正してエコーサプレス部120に出力する。
【0067】
遠端出力信号保持部117は、遠端出力信号バッファ401を有している。
【0068】
遠端出力信号バッファ401は、遠端出力信号を一定時間保持し、遠端出力信号をエコーパス特性計算部118に出力する。遠端出力信号バッファ401は、上述の通り、時系列ごとにインクリメントされた各フレーム番号のフレーム(周波数ごとの振幅値により構成される振幅スペクトル)が保持されている。
【0069】
(A−2)実施形態の動作
本発明であるエコーサプレス装置100におけるエコー抑圧処理の動作開始からエコーを抑圧するまでの動作について説明する。
【0070】
エコーサプレス装置100が動作を開始すると、遠端信号入力端子101にネットワーク網(IP網)や携帯電話の電波等が接続されており、接続されている回線を介して遠端側の音声や環境音などのデジタル音信号が遠端信号として入力される。
【0071】
出力バッファ102は、遠端信号入力端子101に入力された遠端信号をバッファに一時保持し、DA変換器103の準備ができ次第、順次DA変換器103にバッファに保持されている遠端信号を出力する。
【0072】
DA変換103は、出力バッファ102から出力された遠端信号をデジタル音信号からアナログ音信号に変換しスピーカ104に出力し、スピーカ104に出力する。
【0073】
スピーカ104は、DA変換器103から出力されたアナログ音信号(電気信号)を音信号として近端側に出力する。
【0074】
マイク105は、近端側の話者が発した音声や環境音や音響エコー信号等の音信号が重畳したアナログ音信号を受音し、受音したアナログ音信号をAD変換器106に出力する。
【0075】
AD変換器106は、マイク105から出力されたアナログ音信号を標本化、量子化、符号化等の処理を行いデジタル音信号に変換し、変換したデジタル音信号を入力バッファ107に出力する。
【0076】
入力バッファ107は、AD変換器106から出力されたデジタル音信号をバッファに一時保持し、エコー抑圧装置100の準備ができ次第、デジタル音信号を近端信号周波数変換部113に出力する。
【0077】
遠端出力信号周波数領域変換部108では、遠端信号入力端子101に入力された遠端信号を遠端出力信号として、例えば、高速フーリエ変換(FFT)等により周波数スペクトルに変換され、その変換された遠端出力信号の周波数スペクトルROUT(i,ω)は遠端出力信号振幅スペクトル計算部109に出力する。
【0078】
遠端出力信号振幅スペクトル計算部109では、遠端出力信号周波領域変換部108から出力された遠端出力信号の周波数スペクトルROUT(i,ω)を用いて、(1)式に従い、遠端出力信号の振幅スペクトル|ROUT(i,ω)|が求められる。
【数1】
【0079】
ここで、iはフレーム、ωは周波数ビン、ROUT_real(i,ω)とROUT_image(i,ω)は、フレームiにおける周波数ビンωの遠端
出力信号の周波数スペクトルの実数部と虚数部を示しており、遠端出力信号の周波数スペクトルROUT(i,ω)は、
【数2】
【0080】
で表すことができる。(2)式のjは虚数を表している。そして、遠端出力信号振幅スペクトル計算部109により求められた遠端出力信号の周波数の振幅スペクトル|ROUT(i,ω)|は、推定エコー信号計算部111及び遠端出力信号保持部116に出力する。
【0081】
推定エコー信号計算部111では、エコーパス保持部110に保持されているエコーパス特性|H(i,ω)|と、遠端
出力信号振幅スペクトル計算部109からの遠端
出力信号の振幅スペクトル|ROUT(i,ω)|とを用いて、(
3)式により、推定エコー信号の振幅スペクトル|ECHO(i,ω)|が求められる。つまり、推定エコー信号計算部111は、遠端
出力信号の振幅スペクトル|ROUT(i,ω)|に、エコーパス保持部110に保持されているエコーパス特性|H(i,ω)|の対応する周波数ビンを乗じて、当該周波数ビンの推定エコー信号の振幅スペクトル|ECHO(i,ω)|を求める。
【数3】
【0082】
そして、推定エコー信号計算部109により求められた推定エコー信号の振幅スペクトル|ECHO(i,ω)|は、推定エコー信号保持部112の推定エコー信号バッファ201に出力する。
【0083】
推定エコー信号保持部112では、推定エコー信号計算部111からの推定エコー信号の振幅スペクトル|ECHO(i,ω)|を推定エコー信号バッファ201に書込む。
【数4】
【0084】
ここで、uは推定エコー信号バッファ201での推定エコー信号の振幅スペクトル|ECHO(i,ω)|の書き込みフレーム番号である。つまり、推定エコー信号計算部111で推定エコー信号の振幅スペクトル|ECHO(i,ω)|が求まると、推定エコー信号バッファ201のフレーム番号uに記録される。
【0085】
推定エコー信号バッファ201(Buffer(u,ω))は、過去の推定エコー信号の振幅スペクトルが数フレーム保存されている(例えば、推定エコー信号バッファ201の容量が100フレーム記憶できる場合は、過去100フレームの推定エコー信号の振幅スペクトルが記録できる)。推定エコー信号がフレーム番号uに記録されるとフレーム番号uに1を加算して、フレーム番号を1つ進める。フレーム番号が推定エコー信号バッファ201の容量より大きくなると(例えば、推定エコー信号バッファ201の容量が100フレーム記憶できる場合は、uが100以上になったとき)、uに0を代入して、推定エコー信号バッファ201の最初から推定エコー信号を書込むようにする。
【0086】
次に、入力バッファ107から出力されたデジタル音信号について説明する。
【0087】
近端入力信号周波数領域変換部113では、入力バッファ107から出力されたデジタル音信号を近端入力信号として、例えば、高速フーリエ変換(FFT)等により、近端入力信号が周波数スペクトルに変換され、その変換された近端入力信号の周波数スペクトルSIN(i,ω)は、近端入力信号振幅スペクトル計算部114及びエコーサプレス部120に出力する。
【0088】
近端入力信号振幅スペクトル計算部114は、近端入力信号周波数領域変換部110からの近端入力信号の周波数スペクトルSIN(i,ω)を用いて、(5)式に従い、近端入力信号の振幅スペクトル|SIN(i,ω)|が求められる。
【数5】
【0089】
ここで、SIN_real(i,ω)とSIN_image(i,ω)は、フレームiにおける周波数ビンωの近端入力信号の周波数スペクトルの実数部と虚数部を示しており、近端入力信号の周波数スペクトルSIN(i,ω)は
【数6】
【0090】
で表すことができる。(6)式のjは虚数を表している。 そして、近端入力信号振幅スペクトル計算部114により求められた近端入力信号の振幅スペクトル|SIN(i,ω)|は、フレーム遅延量推定部115及びエコーパス特性計算部118及びエコーサプレスゲイン計算部119に出力する。
【0091】
フレーム遅延量推定部115は、推定エコー信号保持部112の推定エコー信号バッファ201から出力された過去副数フレームの推定エコー信号の振幅スペクトルBuffer(u−k,ω)(k=1,2・・・N)と、近端入力信号振幅スペクトル計算部114から近端入力信号の振幅スペクトル|SIN(i,ω)|を取得し、式(7)を用いて、フレーム毎に周波数ビン毎の誤差の合計値を計算する。
【数7】
【0092】
ここで、iはフレーム、ωは周波数ビン、Fsはサンプリング周波数、Error(k)(k=1、2、…、N)は、近端入力信号の振幅スペクトル|SIN(i,ω)|と過去の推定エコー信号の振幅スペクトルBuffer(u−k,ω)(k=1、2、…、N)との周波数ビン毎の誤差の合計値、uは推定エコー信号バッファ201での推定エコー信号の振幅スペクトル|ECHO(i,ω)|の書込みフレーム番号である。つまり、推定エコー信号バッファ201のフレーム番号uから過去kフレームの推定エコー信号の振幅スペクトルBuffer(u−k,ω)(k=1、2、…、N)と、近端入力信号の振幅スペクトル|SIN(i,ω)|との誤差の合計値をフレーム毎に計算して、フレーム毎の誤差の合計値を求める。フレーム遅延量推定部115は、周波数ビン毎の誤差の合計値をフレーム毎に取得し、式(8)を用いて、誤差の合計値が最小になるフレーム遅延量k
minを求める。
【数8】
【0093】
ここで、式(8)のarg min(x(k))という関数は、x(k)が最小になる引数を出力する関数であり、誤差の合計値Error(k)が最小になるフレーム遅延量を出力しk
minに代入するという式である。そして、フレーム遅延量推定部115は、誤差の合計値が最小になるフレーム遅延量k
minを推定エコー信号補正部116と遠端出力信号保持部117とに出力する。
【0094】
推定エコー信号補正部116は、フレーム読出し部301でフレーム遅延量推定部115からのk
minを用いて、推定エコー信号保持部112の推定エコー信号バッファ201から、近端入力信号の振幅スペクトル|SIN(i,ω)|と誤差が最小になるフレームBuffer(u−k
min,ω)と、その前後の複数フレームBuffer(u−(k
min±m),ω)(例えば、前後1フレームとするとM=−1、1)を読出し、フレーム周波数ビン比較部302で周波数ビン毎に比較し、例えば、最も値が大きくなるフレームの推定エコー信号を推定エコー信号の振幅スペクトル|ECHO_Delay(i,ω)|とする。
【数9】
【0095】
そして、推定エコー信号補正部116により求められた推定エコー信号の振幅スペクトル|ECHO_Delay(i,ω)|が求まれば、エコーサプレスゲイン算出部推定エコー信号保持部に出力する。
【0096】
ここで、推定エコー信号補正部116のフレーム周波数ビン比較部302による推定エコー信号の補正方法は、種々の方法を適応でき、例えば、誤差が最小になるフレームと、その前後の複数フレームの平均値を推定エコー信号としても良い。
【0097】
遠端出力信号保持部117は、遠端出力信号振幅スペクトル計算部109から出力された遠端出力信号の振幅スペクトル|ROUT(i,ω)|を、(9)式に示すように推定エコー信号保持部112と同じ書込みフレーム番号uに書込む。
【数10】
【0098】
遠端出力信号バッファ401(Buffer_ROUT(u,ω))は、過去の遠端出力信号の振幅スペクトルが複数フレーム保存されている(例えば、遠端出力信号バッファ401の容量が100フレーム記憶できる場合は、過去100フレームの遠端出力信号の振幅スペクトルが記録できる)。遠端出力信号がフレーム番号uに記録されるとフレーム番号uに1を加算して、フレーム番号を1つ進める。フレーム番号が遠端出力信号バッファ401の容量より大きくなると(例えば、遠端出力信号バッファ401の容量が100フレーム記憶できる場合は、uが100以上になったとき)、uに0を代入して、遠端出力信号バッファ401の最初から遠端出力信号を書込むようにする。
【0099】
そして、遠端出力信号保持部117は、フレーム遅延量推定部115からのフレーム遅延量k
minだけ遅延させたフレームBuffer_ROUT(u-kmin,ω)を遅延遠端出力信号の振幅スペクトル|ROUT_Delay(i,ω)|として出力し、エコーパス特性計算部118に出力する。
【数11】
【0100】
エコーパス特性計算部118は、遠端出力信号保持部117から出力される遅延遠端出信号の振幅スペクトル|ROUT_Delay(i,ω)|と、近端入力信号振幅スペクトル114から出力される近端入力信号の振幅スペクトル|SIN(i,ω)|とから、式(12)を用いて、エコーパス特性|H1(i,ω)|を計算する。
【数12】
【0101】
ここで、iはフレーム、ωは周波数ビンである。エコーパス特性計算部118は、エコーパス特性|H(i,ω)|をエコーパス特性保持部110に出力する。
【0102】
エコーパス特性保持部110は、エコーパス特性計算部118からのエコーパス特性と保持しているエコーパス特性を用いて、例えば(13)式で示している時定数フィルタ等を用いてエコーパス特性を更新する。
【数13】
【0103】
エコーサプレスゲイン計算部119は、近端入力信号振幅スペクトル計算部114から近端入力信号の振幅スペクトル|SIN(i,ω)|と推定エコー信号補正部116から出力された|ECHO_Delay(i、ω)|とを取得して、式(14)を用いて、エコーサプレスゲインG(i,ω)を求める。
【数14】
【0104】
ここで、iはフレーム、ωは周波数ビンである。そして、エコーサプレスゲイン計算部119は、エコーサプレスゲインG(i,ω)をエコーサプレス部120に出力する
エコーサプレス部120は、近端入力信号周波数領域変換部113から近端入力信号の周波数スペクトルSIN(i,ω)の実数部SIN_real(i,ω)と虚数部SIN_image(i,ω)と、エコーサプレスゲイン計算部119からエコーサプレスゲインG(i,ω)を取得する。そして、式(15)、式(16)を用いて、近端入力信号の周波数スペクトルSIN(i,ω)と、エコーサプレスゲインG(i,ω)とを乗算して、近端入力信号の周波数スペクトルSIN(i,ω)に重畳されている音響エコー信号を抑圧した近端出力信号の周波数スペクトルSOUT(i,ω)を算出する。
【数15】
【0105】
ここで、SOUT_real(i,ω)とSOUT_image(i,ω)は、フレームiにおける周波数ビンωの近端出力信号の周波数スペクトルの実数部と虚数部を示しており、近端出力信号の周波数スペクトルSOUT(i,ω)は
【数16】
【0106】
で表すことができる。(17)式のjは虚数を表している。
【0107】
そして、エコーサプレス部120は、音響エコー信号を抑圧した近端出力信号の周波数スペクトルSOUT(i,ω)を近端出力信号時間変換部121に出力する。
【0108】
近端出力信号時間変換部121は、エコーサプレス部120から出力された近端出力信号の周波数スペクトルSOUT(i,ω)を、例えば、逆高速フーリエ変換等により、時間領域の信号に変換し、変換後のデジタル音信号を近端出力信号として近端信号出力端子121に出力する。
【0109】
近端信号出力端子121は、エコーサプレスゲイン計算部119から出力されたデジタル音信号をネットワーク網(IP網)や携帯電話の電波を介して遠端側に出力する。
【0110】
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【0111】
本発明のエコーサプレス装置100では、推定エコー信号を複数フレーム使用して推定エコー信号を補正することで、周波数の谷が少しずれた場合でも、推定エコー信号やエコーサプレスゲインを正しく算出し、音響エコー信号を抑圧することができるエコー抑圧装置及びエコー抑圧プログラムを提供することができる。
【0112】
具体的には、エコーサプレス装置100は、エコーパス特性と遠端入力信号から推定エコー信号を求めバッファに保存し、近端入力信号とバッファに保存されている推定エコー信号の誤差を計算し、最小になるフレームとその前後のフレームから推定エコー信号を求める。そして、エコーサプレス装置100は、近端入力信号と求めた推定エコー信号からエコーサプレスゲインを求め、近端入力信号と乗算することでエコーを抑圧する。これにより、エコーサプレス装置100では、遅延量が大きい場合や遅延量の変動が大きい動作環境でも、安定的にエコーの抑圧処理を行うことができる。
【0113】
また、エコーサプレス装置100では、誤差が最小となるフレームとその前後のフレームを周波数ビン毎に比較し、最も値が大きくなるフレームの推定エコー信号を推定エコー信号とすることで、周波数ビン毎に推定エコー信号を補正し、エコーを抑圧することができる。
【0114】
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【0115】
(B−1)上記の実施形態では、本発明のエコー抑圧装置(エコーサプレス装置)を、テレビ会議や電話会議などの拡声通話系の電話端末に適用する例について説明したが、その他の電話端末(例えば、携帯電話端末やソフトフォンとして機能するPC等種々の電話端末)に適用するようにしてもよい。
【0116】
また、上記の実施形態では、本発明のエコー抑圧装置(エコーサプレス装置)を、電話端末に搭載する例について説明したが、エコー抑圧装置(エコーサプレス装置)を、単体の装置として構築するようにしてもよい。