JP5700850B2 - 遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体 - Google Patents

遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体 Download PDF

Info

Publication number
JP5700850B2
JP5700850B2 JP2012223361A JP2012223361A JP5700850B2 JP 5700850 B2 JP5700850 B2 JP 5700850B2 JP 2012223361 A JP2012223361 A JP 2012223361A JP 2012223361 A JP2012223361 A JP 2012223361A JP 5700850 B2 JP5700850 B2 JP 5700850B2
Authority
JP
Japan
Prior art keywords
delay
signal
unit
estimation
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012223361A
Other languages
English (en)
Other versions
JP2014075756A (ja
Inventor
小林 和則
和則 小林
仲 大室
仲 大室
島内 末廣
末廣 島内
羽田 陽一
陽一 羽田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012223361A priority Critical patent/JP5700850B2/ja
Publication of JP2014075756A publication Critical patent/JP2014075756A/ja
Application granted granted Critical
Publication of JP5700850B2 publication Critical patent/JP5700850B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Circuit For Audible Band Transducer (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Description

本発明は、例えばエコー消去装置等に利用することができる遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体に関する。
エコー消去装置は、受話信号をスピーカから音響信号として出力し、マイクロホンで収音した送話信号に回り込んでくるエコー信号成分を適応フィルタにより推定し、送話信号からエコー信号成分を消去するものである。ディジタルテレビやスマートフォンなどの機器では、音声を途切れないようにする目的で受話信号と送話信号のそれぞれにバッファが挿入される場合がある。また、ディジタルテレビの映像のコーデックで発生する映像と音声のずれを調整するリップシンク機能で用いられるバッファ等が知られている。
図20に、受話信号と送話信号の双方にバッファを挿入したエコー消去装置900の概略的な機能構成例を示す。エコー消去装置900は、適応フィルタ901と、加算回路902と、受話信号バッファ903と、送話信号バッファ904と、を備える。受話信号バッファ903は、遠端話者からの受話信号を、数10ms〜数100msの間保存し、保存した順に受話信号をスピーカに出力する。送話信号バッファ904は、マイクロホンで収音した近端話者からの送話信号を、一時的に保存し、保存した順に送話信号を加算回路902に出力する。なお図20において、ディジタル信号をアナログ信号に変換するA/D変換器や、その逆の変換をするD/A変換器等の機能部の表記は省略している。
この受話信号バッファ903と送話信号バッファ904は、例えば複数のアプリケーションを並行して実行するためにCPUの負荷が重くなり、エコー消去処理が間に合わない場合でも音声が途切れないようにする目的で設けられたものである。よって、このバッファ部分で遅延が発生する。一般にエコー消去装置の持つ適応フィルタは100ms程度の長さであり、この適応フィルタの長さを超える遅延時間のエコー成分を消去することができない。
そこで、従来から図21に示すような遅延推定を用いたエコー消去装置950が考えられている。エコー消去装置950は、上記したエコー消去装置900に対して遅延推定部951と遅延挿入部952を備える点で異なる。遅延推定部951は、受話信号バッファ903に入力される前の受話信号である遅延前信号と、送話信号バッファ904から出力される送話信号である遅延後信号との間の遅延時間を推定し、推定した遅延時間を適応フィルタの前の遅延挿入部952に与えることで、大きな遅延時間があっても適応フィルタ901でエコー信号成分の消去を可能にするものである。
図22に、特許文献1に開示された従来の遅延推定装置960の機能構成図を示して、その動作を簡単に説明する。FFT部111〜111は、マイクロホン11〜11からの収音信号を周波数領域に変換する。白色化部112〜112は、周波数領域に変換された収音信号を、周波数スペクトルで白色化(フラット)する。次に、マイクロホン対選択部113は、白色化部112〜112の出力信号のうち2つを選択する。乗算部114は、マイクロホン対選択部113で選ばれた信号のうち一方だけ共役をとり、2つの信号を周波数成分ごとに乗算し、クロススペクトルを求める。乗算部114の出力信号をIFFT部115により、時間領域に変換し、白色化相互相関を求める。次に、最大ピーク検出部116で、IFFT部115の出力の相互相関の最大ピークを検出し、その最大ピークの地点を収音信号間遅延時間差として出力する。
遅延推定装置960の考えを、上記した遅延推定部951に適用すると、遅延前信号が例えばFFT部111、遅延後信号が例えばFFT部111、にそれぞれ入力される関係になる。以下、数式を用いて更に遅延推定装置960の動作原理を説明する。
まず、遅延前信号の時間領域信号をx(t)、遅延後信号の時間領域信号をy(t)、推定したい遅延経路のインパルス応答をh(t)とすれば式(1)の関係が成立する。
ここで*は畳み込み演算を表す。
遅延経路のインパルス応答h(t)が求められれば、そのピークの位置から遅延を推定することができる。h(t)を求めるには、観測可能な遅延前信号の時間領域信号x(t)と、遅延後信号の時間領域信号y(t)を用いて、式(1)をh(t)について解けばよい。しかし、式(1)は畳み込み演算となっているため、解くには信号点数の2乗のオーダの演算が必要となる。そこで、遅延推定装置960は、式(1)の信号を周波数領域の信号に変換して解くことで計算量を削減する。
遅延前信号の周波数領域信号をX(ω)、遅延後信号の周波数領域信号をY(ω)、推定したい遅延経路の周波数領域のインパルス応答をH(ω)とすれば式(1)は式(2)に変形される。
式(2)をH(ω)について解けば、式(3)となる。
式(3)によりH(ω)を求め、H(ω)を逆FFTすれば、h(t)を求めることができる。FFTの演算量のオーダはN・logNであるので、時間領域で解くよりも少ない演算量となる。
具体的な計算方法について説明する。上記したNは、遅延前信号と遅延後信号をFFT処理するデータ点数であり、白色化相互相関を求める信号長である。乗算部114は、遅延前信号の周波数領域信号X(ω)の共役を取ったものと遅延後信号の周波数領域信号Y(ω)とを周波数ビンごとに乗算して、式(3)の分子(クロススペクトル)を計算する。また、白色化部112において計算された遅延前信号の周波数領域信号X(ω)のノルムの2乗(式(3)の分母)の逆数を、クロススペクトルに乗算する。乗算部114の出力信号を、IFFT部115で、N点逆FFTすれば白色化相互相関が求められ、これが遅延経路のインパルス応答h(t)となる。最大ピーク検出部116は、その遅延経路のインパルス応答h(t)の最大ピーク位置を求め、推定遅延量として出力する。
このように、従来の遅延推定装置960は、N点のFFTと逆FFTを用いて計算することで、時間領域で計算するよりも演算量を削減することができる。
特開2007−81455号公報
しかしながら、正確な遅延推定をするためには、数100ms以上の信号長で相互相関を計算する必要があり、FFTを用いたとしても多くの演算量(具体的な計算量は後述する)が必要となる。
本発明は、この課題に鑑みてなされたものであり、正確な遅延推定を少ない演算量で実現する遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体を提供することを目的とする。
本発明の遅延推定方法は、第1の周波数分析過程と、第2の周波数分析過程と、第1のバッファ過程と、第2のバッファ過程と、クロススペクトル計算過程と、白色化係数計算過程と、白色化過程と、時間領域変換過程と、時間シフト加算過程と、最大ピーク位置探索過程と、を備える。第1の周波数分析過程は、白色化相互相関を求める時間幅の遅延前信号から採取されるサンプル点数をNとした時に、上記遅延前信号を上記N点よりも少ない2N/M点の周波数分析で周波数領域に変換する処理をM回単位で繰り返す。第2の周波数分析過程は、遅延前信号を遅延させた遅延後信号を2N/M点の周波数分析で周波数領域に変換する処理を、上記Mフレームに遅延を推定する範囲であるKフレームを加えたM+K−1回の単位で繰り返す。第1のバッファ過程は、第1の周波数分析過程で周波数領域の信号に変換した遅延前信号を上記M個分保存する。第2のバッファ過程は、第2の周波数分析過程で周波数領域の信号に変換した遅延後信号を、上記M+K−1個分保存する。クロススペクトル計算過程は、第1のバッファ過程で保存された遅延前信号の共役を取った信号と、第2のバッファ段階で保存された遅延後信号とを同一周波数毎に乗算し、当該乗算結果をフレームについて加算し上記K要素までのクロススペクトルを計算する。白色化係数計算過程は、第1のバッファ過程で保存された遅延前信号のノルムの2乗の逆数を白色化係数として計算する。白色化過程は、上記クロススペクトルに上記白色化係数を乗算する。時間領域変換過程は、白色化過程で白色化されたクロススペクトルを、時間領域に変換する。時間シフト加算過程は、時間領域変換過程の出力を時間シフトしながら第1要素から上記K要素まで加算して保存する。最大ピーク位置探索過程は、時間シフト加算過程で保存された信号の最大ピーク位置を推定遅延量として求める。
また、この発明のエコー消去方法は、上に示した遅延推定方法に加えて、遅延挿入過程と周波数領域適応フィルタ過程と、加算過程と、を備える。遅延挿入過程は、上記した第1の周波数分析過程で周波数領域の信号に変換された受話信号を、上記遅延推定方法で推定された推定遅延量分の時間遅延させる。周波数領域適応フィルタ過程は、遅延挿入過程で遅延が挿入された受話信号を入力として擬似エコー信号を生成する。加算過程は、周波数領域の遅延後信号から擬似エコー信号を除去する。
本発明の遅延推定方法によれば、白色化相互相関を求める時間長から得られるサンプル数Nよりも少ない数の2N/M点の周波数分析と時間領域変換の演算、つまり従来技術よりも少ない演算量で推定遅延量を求めることができる。
また、本発明のエコー消去方法によれば、この発明の遅延推定方法で推定した遅延時間を、適応フィルタの前に与えることで、長い遅延があってもエコー成分を消去することが可能である。また、周波数分析過程を共用することで演算量を大幅に削減することができる。
この発明の遅延推定装置100の機能構成例を示す図。 遅延推定装置100の動作フローを示す図。 サンプル点数Nと、Mとの関係を説明する図。 遅延推定装置100のより具体的な動作フローを示す図。 白色化係数計算部40の機能構成例を示す図。 クロススペクトルX″(ω)Y″(ω)の第1要素の計算を示す図。 クロススペクトルX″(ω)Y″(ω)の第2要素の計算を示す図。 時間シフト加算部70の動作を示す図。 白色化係数計算部240の機能構成例を示す図。 白色化係数計算部240の動作フローを示す図。 遅延推定装置300の機能構成例を示す図。 推定区間設定部301の機能構成例を示す図。 推定区間設定部301の動作フローを示す図。 マイクロホンで収音する収音信号のレベルを模式的に表した図。 従来の遅延推定装置(FFT点数4096点)の推定結果の例を示す図。 従来の遅延推定装置(FFT点数1024点)の推定結果の例を示す図。 この発明の遅延推定装置の推定結果の例を示す図。 遅延推定の正解率の比較を示す図。 この発明のエコー消去装置400の機能構成例を示す図。 従来のエコー消去装置900の機能構成を示す図。 従来のエコー消去装置950の機能構成を示す図。 従来の遅延推定装置960の機能構成を示す図。
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
図1に、この発明の遅延推定装置100の機能構成例を示す。その動作フローを図2に示す。遅延推定装置100は、第1の周波数分析部10と、第2の周波数分析部12と、第1のバッファ部20と、第2のバッファ部22と、クロススペクトル計算部30と、白色化係数計算部40と、白色化部50と、時間領域変換部60と、時間シフト加算部70と、最大ピーク位置探索部80と、制御部90と、を備える。遅延推定装置100は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれて、CPUがそのプログラムを実行することで実現されるものである。
第1の周波数分析部10は、白色化相互相関を求める時間幅のサンプル点数をNとした時に、遅延前信号を上記N点よりも少ない2N/M点の周波数分析で周波数領域に変換する処理をM回単位で繰り返す(ステップS10)。第1のバッファ部20は、第1の周波数分析部10で周波数領域に変換された遅延前信号をM個分保存する(ステップS20)。
第2の周波数分析部12は、遅延前信号を遅延させた遅延後信号を2N/M点の周波数分析で周波数領域に変換する処理を、上記Mフレームに遅延を推定する範囲であるKフレームを加えたM+K−1回の単位で繰り返す(ステップS12)。第2のバッファ部22は、第2の周波数分析部12で周波数領域に変換された遅延後信号を、M+K−1個分保存する(ステップS22)。
クロススペクトル計算部30は、第1のバッファ部20で保存された信号の共役を取った遅延前信号と第2のバッファ部22で保存された遅延後信号とを、同一周波数毎に乗算し、当該乗算結果をK要素まで加算したクロススペクトルを計算する(ステップS30)。白色化係数計算部40は、第1のバッファ部20で保存された遅延前信号のノルムの2乗の逆数を白色化係数として計算する(ステップS40)。
白色化部50は、クロススペクトルに白色化係数を乗算する(ステップS50)。時間領域変換部60は、白色化部50で白色化されたクロススペクトルを、時間領域に変換する(ステップS60)。時間シフト加算部70は、時間領域変換部60の出力信号を時間シフトしながら第1要素からK要素まで加算して保存する(ステップS70)。最大ピーク位置探索部80は、時間シフト加算部70で保存された信号の最大ピーク位置を推定遅延量として求める(ステップS80)。制御部90は、遅延推定動作を終了するまで、或いは遅延前信号が無くなるまでステップS10〜S80の処理を繰り返すように、各部の動作を制御する。
ここで、図3を参照して第1の周波数分析部10と第2の周波数分析部12で周波数分析処理するサンプル点数N、及びMについて説明する。周波数分析の手法は、FFT(Fast Fourier Transform)、DFT(Discrete Fourier Transformation)、ウエーブレット変換等の何れの周知な方法を用いることができる。以降の説明ではFFTを用いた例で説明を行う。
白色化相互相関を取る信号時間幅を、例えば512ms、連続信号を離散値化するサンプリング周波数を8kHzと、仮定する。512msの時間幅で得られるサンプル数は0.512×8k=4096となる。従来技術の遅延推定法では、その仮定においてはサンプル数N=4096のFFT処理を行っていた。
その従来技術に対してこの発明は、NをM毎に区切った(N/M)フレーム単位で、遅延量を推定する。つまり、サンプル数2N/Mで、シフト量N/MのFFT処理を、M回(この例ではM=64)繰り返す処理を行う点で、従来技術と異なる。
このように遅延推定装置100では、信号長Nよりも短い(2N/M)点のFFTをM回演算させることで、遅延前信号と遅延後信号を周波数領域の信号に変換する。ここでMは整数であり、(2N/M)を、遅延推定装置100を組み込むエコー消去装置で使用するFFTと同じサンプル点数になるように、NとMを設定する。m回目(mはMより小さい任意の整数)に周波数領域に変換された遅延前信号をX′(ω)と表し、m回目に周波数領域に変換された遅延後信号をY′(ω)と表し、遅延経路のインパルス応答を(N/M)毎に区切って周波数領域に変換したものをH′(ω)と表せば、次式の関係が成立する。
ここでKは、遅延を推定するフレーム範囲を決定する整数であり、(KN/M)が、遅延の推定範囲のサンプル数となる。式(4)の各行列を式(5)〜式(7)で表せば、
式(4)は式(8)で表せる。
式(8)をH″(ω)について解けば式(9)となる。
は行列の共役転置を表す。
M個の周波数領域に変換された遅延前信号X′(ω),…,X′(ω)と、M+K−1個の周波数領域に変換された遅延後信号Y′(ω),…,Y′(ω)から、式(9)を用いてH″(ω)を求めることができる。しかし、{X″(ω)X″′(ω)}−1の計算については、M行M列の逆行列を計算する必要があり、演算量が多い。そこで、近似を用いて演算を省略する。X″(ω)X″′(ω)の各要素を計算すれば式(10)となる。
ここで、式(10)の対角成分は全て同じ値X′ (ω)X′(ω)+…+X′ (ω)X′(ω)である。この値はベクトル{X′(ω)+…+X′(ω)}のノルムの2乗に等しい。これに対して対角以外の成分については、同一時刻ではない信号の掛け算となっている。
遅延前信号x(t)の自己相関のN/Mサンプル以上の箇所が、信号パワーに比べ十分に小さいと仮定できれば、式(10)の対角成分以外は対角成分に比べ十分に小さい値となり、式(11)に示すように対角成分のみで近似することができる。一般に音声では、自己相関は数10msで小さくなるので近似が可能である。
式(11)を用いれば、式(9)の逆行列はスカラーの積で表すことができ式(12)で近似される。
式(12)を用いることで遅延経路の応答H″(ω)を、演算量を大幅に削減して求めることができる。遅延経路の応答H″(ω)を時間領域に戻すには、H″(ω)のK個の要素に対して、(2N/M)点の逆FFTをそれぞれ実施して(N/M)点ずつシフトして加算すればよい。
式(12)の遅延経路の応答H″(ω)の具体的な計算方法と、遅延経路の応答H″(ω)を時間領域に変換する方法について図4に動作フローを示し、図1と対応させながら具体的に説明する。遅延前信号を周波数領域の信号に変換する第1の周波数分析部10は、遅延前信号を2N/M点のFFTで周波数領域に変換する(ステップS10、図4)。信号のシフト量はN/Mサンプルであり、M回のFFTを実施する。第1のバッファ部20は周波数領域に変換された遅延前信号のM回分を保存する(ステップS20)。これらの処理により、周波数領域に変換された遅延前信号X′(ω),…,X′(ω)が、第1のバッファ部20に保存される。
遅延後信号を周波数領域に変換する第2の周波数分析部12は、遅延後信号を2N/M点のFFTで周波数領域の信号に変換する(ステップS12)。信号のシフト量はN/Mサンプルであり、M+K−1回のFFTを実施する。第2のバッファ部22は周波数領域に変換された遅延後信号のM+K−1回分を保存する(ステップS22)。これらの処理により、周波数領域に変換された遅延後信号Y′(ω),…,Y′M+K−1(ω)が、第2のバッファ部22に保存される。
白色化係数計算部40は、第1のバッファ部20に保存されている遅延前信号X′(ω),…,X′(ω)から、白色化係数を計算する(ステップS40)。図5に白色化係数計算部40のより具体的な機能構成例を示す。白色化係数計算部40は、ノルム計算手段41と、逆数計算手段42と、を備える。ノルム計算手段41は、遅延前信号X′(ω),…,X′(ω)のノルムの2乗X′ (ω)X′(ω)+…+X′ (ω)X′(ω)を計算する。逆数計算手段42は、ノルムの2乗の逆数を計算して白色化係数として出力する。
クロススペクトル計算部30は、第1のバッファ部20に保存されている遅延前信号X′(ω),…,X′(ω)と、第2のバッファ部22に保存されている遅延後信号Y′(ω),…,Y′M+K−1(ω)から、クロススペクトルX″(ω)Y″(ω)を計算する。
図6と図7を用いてクロススペクトルの計算方法を説明する。図6に、クロススペクトルX″(ω)Y″(ω)の第1要素の計算を示す。第1要素とは、第1のバッファ部20と第2のバッファ部22の読み出し位置を先頭に設定した場合である(ステップS31)。第1のバッファ部20と第2のバッファ部22の同じフレーム番号の信号について、周波数ビン毎にそれぞれ乗算(ステップS32)し、フレーム番号について加算する(ステップS33)。第1のバッファ部20のデータは共役を取ってから乗算される。なお、フレーム番号は、何回目のFFTの結果であるかを表す番号である。図7に、クロススペクトルX″(ω)Y″(ω)の第2要素の計算を示す。第2要素とは、第1のバッファ部20の読み出し位置は変えずに、第2のバッファ部22の読み出し位置を1フレームずらして、周波数ビン毎にそれぞれ乗算し、フレーム番号について加算をしたものである。この第2バッファ部22の読み出し位置を1フレームずらす処理は、フレームをM+K−1個ずらすまで繰り返される。
白色化部50は、クロススペクトル計算部30が出力するクロススペクトルX″(ω)Y″(ω)に白色化係数1/{X′ (ω)X′(ω)+…+X′ (ω)X′(ω)}を乗じて遅延経路の応答H″(ω)を計算する(ステップS50)。
時間領域変換部60は、遅延経路の応答H″(ω)の各要素を、2N/M点の逆FFTで時間領域の信号に変換する(ステップS60)。時間シフト加算部70は、時間領域変換部60の出力信号を時間シフトしながら加算して保存する(ステップS70)。図8に、時間シフト加算部70の動作を示す。時間シフト加算部70は、時間領域変換部60が出力するクロススペクトルの第1要素〜第K要素を、N/Mサンプルずつずらして加算し、時間領域の白色化相互相関h(t)(推定した遅延経路のインパルス応答)を求める。
遅延を推定する範囲であるKフレームについてのステップS32〜S70の処理が終了するまで、第2のバッファ部22の読み出し位置を1フレームずつ進めながら(ステップS34)その処理を繰り返す(ステップS90のNO)。クロススペクトルX″(ω)Y″(ω)の計算は、フレームの第M+K−1要素まで繰り返される(ステップS90のYES)。
最大ピーク位置探索部80は、時間領域の白色化相互相関h(t)の最大ピーク位置を探索し、その位置を推定遅延量として出力する(ステップS80)。
以上説明したようにこの発明の遅延推定方法では、第1の周波数分析部10におけるサンプル点数2N/MのM回のFFT処理と、第2の周波数分析部12におけるサンプル点数2N/MのM+K−1回のFFT処理と、時間領域変換部60におけるサンプル点数2N/MのK回の逆FFTと、の積和演算で推定遅延量を求めることができる。例えば、N=4096、M=128、K=16、とした時の各部で計算する積和演算回数は、第1の周波数分析部10で49152回、第2の周波数分析部12で54912回、時間領域変換部60で6144回、それらを合計すると110208回の積和演算回数となる。
これに対して従来技術の遅延推定方法では、N点のFFTが2回と、N点の逆FFTが1回必要なので、その積和演算回数は147456回(3NlogN)である。このようにこの発明の遅延推定方法は、積和演算の回数を約25%削減することができる。
図9に、この発明の実施例2の遅延推定装置200の白色化係数計算部240の機能構成を示す。遅延推定装置200は、白色化係数計算部240の構成のみが遅延推定装置100と異なり、雑音に対する耐性を向上させたものである。
遅延前信号の周波数成分のうちパワーの小さい成分は、雑音の影響を受け易いため、遅延量推定の推定精度の低下の原因となる。白色化係数計算部240は、このようなパワーの小さな周波数成分に対する白色化係数を小さく設定することで、雑音に対する耐性を向上させる。
白色化係数計算部240は、ノルム計算手段41、フルバンドパワー計算手段241、係数乗算手段242、加算手段243、逆数計算手段42、を備える。図10に、各手段の動作ステップを示す。ノルム計算手段41は、実施例1と同様に周波数領域に変換された遅延前信号X′(ω),…,X′(ω)のノルムの2乗X′ (ω)X′(ω)+…+X′ (ω)X′(ω)を計算する(ステップS41)。
フルバンドパワー計算手段241は、ノルムの2乗を周波数について加算平均したフルバンド平均パワーを計算する(ステップS241)。係数乗算手段242は、フルバンドパワー計算手段241の出力に、予め設定した定数αを乗じる(ステップS242)。定数αを小さくすると白色化が厳密に行われるようになり、定数αを大きくすると雑音に対する耐性を向上させることができる。定数αは、白色化の効果と、雑音に対する耐性のバランスのとれた適切な値に設定する必要がある。
加算手段243は、ノルム計算手段41の出力と係数乗算部の出力を加算する(ステップS243)。逆数計算手段42は、加算手段243の出力の逆数を計算して、白色化係数として出力する(ステップS42)。
白色化係数計算部240で計算される白色化係数β(ω)は式(13)で表せる。
ここでWは使用する周波数の最大値である。
式(13)において、分母にフルバンドの平均パワーが加算されたことで、パワーの小さい周波数でも分母が極端に小さな値にならなくなる。それにより、パワーの小さい周波数成分に対して白色化係数が非常に大きくなることが防止でき、雑音に対する耐性を向上させることができる。
図11に、この発明の実施例3の遅延推定装置300の機能構成例を示す。遅延推定装置300は、遅延推定装置100,200の構成に、推定区間設定部301を追加したものである。
推定区間設定部301は、遅延前信号を入力として遅延量推定に適した信号区間を設定する。遅延量推定に適した信号区間で遅延量の推定をすることで、推定誤りを減らして推定精度を高くすることができる。
まず、どのような信号区間が遅延量の推定に適した区間であるかについて説明する。遅延量の推定において、推定精度を低下させる要因としては、マイクロホンに収音される周囲騒音と部屋の残響音が挙げられる。これらの影響を少なくするためには、スピーカからの出力音量が大きく、なるべく残響音がマイクロホンに収音されない区間を選択すれば良い。
図12に、マイクロホンに収音される収音信号のパワーを模式的に表す。図12の横軸は経過時間、縦軸はパワーである。周囲騒音のパワーは、ほぼ一定レベルでマイクロホンに収音される(黒の塗つぶし部分)。周囲騒音の影響の少ないところを見つけるには、振幅の大きな部分を検出すれば良い。よって、雑音レベルを推定し、それに係数を掛け合わせた閾値を越える区間を抽出することで、周囲騒音の影響を受け難い区間を得ることができる。
残響音(細かい破線)は、スピーカから出てマイクロホンに直接到達する直接音(細い実線)から少し送れて到達する。したがって、残響音成分の少ない区間は、音声の立上り部分に存在する。その区間は、遅延前信号の振幅から残響音のレベルを推定し、その残響音のレベルよりも大きいレベルの区間である。
残響音成分が少なくて周囲騒音の影響を受け難い区間、つまり、遅延推定精度の高い区間は、収音信号のパワーが雑音レベルよりも大きく、且つ残響音信号のパワーよりも大きい区間である。推定区間設定部301は、その区間を設定する。
図13に、推定区間設定部301の機能構成例を示す。その動作フローを図14に示す。推定区間設定部301は、雑音レベル推定手段3010と、残響レベル推定手段3011と、閾値設定手段3012と、区間検出手段3013と、で構成される。
雑音レベル推定手段3010は、遅延前信号を入力として、当該遅延前信号の振幅のディップホールドを行って雑音レベルを推定する(ステップS3010)。雑音レベル推定手段3010は、遅延前信号のレベルP(t)のディップホールドを行うことで、雑音レベルN(t)を推定する。これは、例えば式(14)を用いて行われる。
過去の推定ノイズレベルN(t−1)が、遅延前信号のレベルP(t)よりも大きい場合は、推定ノイズレベルに遅延前信号のレベルを代入する。過去の推定ノイズレベルN(t−1)が、遅延前信号のレベルP(t)よりも小さい場合は、過去の推定ノイズレベルN(t−1)に1以上の定数uを乗じてわずかにノイズレベルを上昇させる。ここでuは1以上の定数であり事前に設定する。uは推定ノイズレベルの上昇係数であり1に近いほど緩やかな上昇となり、ディップホールド効果が得られる。
残響レベル推定手段3011は、遅延前信号を入力として、当該遅延前信号の振幅のピークホールドを行って残響音レベルR(t)を推定する(ステップS3011)。残響音レベルR(t)の推定は、遅延前信号のレベルP(t)をピークホールドすることで行う(式(15))。
過去の推定残響音レベルR(t−1)が、遅延前信号のレベルP(t)よりも大きい場合は、推定残響音レベルR(t−1)に1未満の定数vを乗じて残響音レベルを減少させる。過去の推定残響音レベルR(t−1)が、遅延前信号のレベルP(t)よりも小さい場合は、残響音レベルに遅延前信号のレベルを代入する。ここでvは、推定残響音レベルの減衰係数であり残響時間に対応した値を設定する。
閾値設定手段3012は、推定雑音レベルN(t)に1以上の定数を乗じた値と、推定残響音レベルR(t)に1未満の定数を乗じた値と、を比較し大きい方を閾値として設定する(ステップS3012)。区間検出手段3013は、その閾値と遅延前信号の振幅とを比較して閾値よりも遅延前信号の振幅が大きい区間を、遅延推定する区間として検出する(ステップS3013)。
遅延推定装置100,200は、推定区間設定部301が出力する推定区間で遅延推定を行う。このように遅延推定装置300は、遅延推定に適した遅延前信号から遅延推定を行うので、周囲雑音や残響音の影響を受けずに高い精度で遅延推定を行うことができる。
〔評価実験〕
この発明の遅延推定方法の効果を確認する目的で評価実験を行った。図15に、従来の遅延推定装置で、FFTの点数を4096点で遅延推定をした結果を示す。横軸は時刻(ms)、縦軸は遅延推定結果(ms)である。この時の実際の遅延は65msであり、多くの遅延推定結果(+)が65ms付近に集中しているが、推定誤りも多い。
図16に、FFTの点数を1024点として従来の遅延推定方法で遅延推定した結果を示す。遅延推定結果(+)が一様に分布してしまい推定が全く出来ていないことが分かる。この原因は、残響時間に対して相関計算に使用する信号長が短すぎることになる。このように、従来の遅延推定方法では、精度の高い推定を行うためには長い点数のFFTが必要であり、多くの演算が必要となる。
図17に、この発明の実施例3で説明した遅延推定方法で、FFTの点数128点で35フレーム分の相関を計算して遅延推定を行った結果を示す。全ての遅延推定結果が実際の遅延である65ms付近にあり、正確に遅延推定が出来ていることが分かる。
図18に、遅延推定の正解率を従来技術と比較した結果を示す。縦軸は正解率、横軸は遅延推定方法を表す。遅延推定方法は、左からFFTの点数4096点の従来法、FFTの点数1024点の従来法、FFTの点数128点で35フレーム分は共通で実施例1と実施例2と実施例3と順に並んでいる。
この発明の実施例1で説明した遅延推定方法でも、従来技術のFFTの点数4096点の正解率65%を上回る69%の正解率が得られた。また、実施例2の遅延推定方法では75%、実施例3では100%ぼ正解率が得られた。このようにこの発明の遅延推定方法によれば、周波数分析のデータ数が少なくても精度の良い遅延推定を行うことができる。
〔応用例〕
この発明の遅延推定装置100,200,300は、エコー消去装置に用いることができる。図19に、この発明の遅延推定装置を用いたエコー消去装置400の機能構成例を示す。エコー消去装置400は、遅延推定装置100と、遅延挿入部952と、周波数領域適応フィルタ401と、加算回路902と、を具備する。遅延推定装置100は、上記した遅延推定装置200又は300であっても良い。
遅延推定装置100は、受話信号である時間領域の遅延前信号と、送話信号である時間領域の遅延後信号と、を入力としてその両信号間の推定遅延量を求める。遅延挿入部952は、遅延推定装置100の内部の第1の周波数分析部10で、サンプル点数をNとした時に、Nよりも少ない2N/M点の周波数分析によって周波数領域の信号に変換された遅延前信号を、上記遅延推定装置で推定された推定遅延量分の時間遅延させる。
周波数領域適応フィルタ部401は、遅延挿入部952で遅延が挿入された遅延前信号を入力として擬似エコー信号を生成する。加算部902は、遅延推定装置100の内部の第2の周波数分析部12で、2N/M点の周波数分析によって周波数領域の信号に変換された遅延後信号から擬似エコー信号を除去する。擬似エコー信号が除去された周波数領域の遅延後信号は、2N/M点IFFT部402において、2N/M点の逆FFTがK回実行されて時間領域の送話信号に変換される。
エコー消去装置400は、エコーキャンセラの為の周波数分析部と、遅延推定の為の周波数分析部と、を共通に用いるようにした構成に特徴がある。この構成にすることで、従来の遅延推定装置を用いたエコー消去装置では、N点のFFTが2回と、N点の逆FFTが1回必要である。この部分の積和演算は147456回である。
これに対してこの発明のエコー消去装置400では、信号変換に必要な演算量は、2N/M点の逆FFTをK回行うのみである。ここでN=4096、M=64、K=16とした条件で、この発明のエコー消去装置400において追加となるFFTの演算量は、14336回となる。このようにこの発明のエコー消去装置400は、周波数領域への信号変換処理の演算量を約1/10に削減することができる。
上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto Optical disc)等を、半導体メモリとしてEEP-ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (12)

  1. 白色化相互相関を求める時間幅の遅延前信号から採取されるサンプル点数をNとした時に、上記遅延前信号を上記N点よりも少ない2N/M点の周波数分析で周波数領域に変換する処理をM回単位で繰り返す第1の周波数分析過程と、
    上記遅延前信号を遅延させた遅延後信号を2N/M点の周波数分析で周波数領域に変換する処理を、上記Mフレームに遅延を推定する範囲であるKフレームを加えたM+K−1回の単位で繰り返す第2の周波数分析過程と、
    上記第1の周波数分析過程で周波数領域の信号に変換した遅延前信号を上記M個分保存する第1のバッファ過程と、
    上記第2の周波数分析過程で周波数領域の信号に変換した遅延後信号を、上記M+K−1個分保存する第2のバッファ過程と、
    上記第1のバッファ過程で保存された遅延前信号の共役を取った信号と、上記第2のバッファ過程で保存された遅延後信号とを同一周波数毎に乗算し、当該乗算結果をフレームについて加算し上記K要素までのクロススペクトルを計算するクロススペクトル計算過程と、
    上記第1のバッファ過程で保存された遅延前信号のノルムの2乗の逆数を白色化係数として計算する白色化係数計算過程と、
    上記クロススペクトルに上記白色化係数を乗算する白色化過程と、
    上記白色化過程で白色化されたクロススペクトルを、時間領域に変換する時間領域変換過程と、
    上記時間領域変換過程の出力を時間シフトしながら第1要素から上記K要素まで加算して保存する時間シフト加算過程と、
    上記時間シフト加算過程で保存された信号の最大ピーク位置を推定遅延量として求める最大ピーク位置探索過程と、
    を備える遅延推定方法。
  2. 請求項1に記載した遅延推定方法において、
    上記白色化係数計算過程は、
    上記第1のバッファ過程で保存された上記遅延前信号のノルムの2乗を計算するノルム計算ステップと、
    上記ノルムの2乗を周波数について加算平均してフルバンド平均パワーを計算するフルバンド平均パワー計算ステップと、
    上記フルバンド平均パワーに、予め設定された定数αを乗じる係数乗算ステップと、
    上記ノルムの2乗に、上記フルバンド平均パワーに定数αを乗じた値を加算する加算ステップと、
    上記加算ステップで出力される出力信号の逆数を計算し、白色化係数として出力する逆数計算ステップと、
    を含むことを特徴とする遅延推定方法。
  3. 請求項1又は2に記載した遅延推定方法と、
    上記遅延推定方法に加えて、
    上記遅延前信号から遅延推定に適した区間を設定する推定区間設定過程を備え、
    上記推定区間設定過程で設定した区間の上記遅延前信号を用いて遅延推定を行うことを特徴とする遅延推定方法。
  4. 請求項3に記載した遅延推定方法において、
    上記推定区間設定過程は、
    上記遅延前信号の振幅のディップホールドを行って雑音レベルを推定する雑音レベル推定ステップと、
    上記遅延前信号の振幅のピークホールドを行って残響音レベルを推定する残響レベル推定ステップと、
    上記雑音レベルに1以上の定数を乗じた値と、上記残響レベルに1未満の定数を乗じた値と、を比較し大きい方を閾値として設定する閾値設定ステップと、
    上記閾値と上記遅延前信号の振幅とを比較して当該閾値よりも上記遅延前信号の振幅が大きい区間を、遅延推定する区間として検出する区間検出ステップと、
    を含むことを特徴とする遅延推定方法。
  5. 請求項1乃至4の何れかに記載した遅延推定方法と、
    上記遅延推定方法に加えて、
    上記第1の周波数分析過程で周波数領域の信号に変換された受話信号を、上記遅延推定方法で推定された推定遅延量分の時間遅延させる遅延挿入過程と、
    上記遅延挿入過程で遅延が挿入された受話信号を入力として擬似エコー信号を生成する周波数領域適応フィルタ過程と、
    上記周波数領域の遅延後信号から上記擬似エコー信号を除去する加算過程と、
    上記擬似エコー信号が除去された周波数領域の遅延後信号を、2N/M点の逆FFTをK回実行して時間領域の送話信号に変換する2N/M点IFFT過程と、
    を備えたエコー消去方法。
  6. 白色化相互相関を求める時間幅の遅延前信号から採取されるサンプル点数をNとした時に、上記遅延前信号を上記N点よりも少ない2N/M点の周波数分析で周波数領域に変換する処理をM回単位で繰り返す第1の周波数分析部と、
    上記遅延前信号を遅延させた遅延後信号を2N/M点の周波数分析で周波数領域に変換する処理を、上記Mフレームに遅延を推定する範囲であるKフレームを加えたM+K−1回の単位で繰り返す第2の周波数分析部と、
    上記第1の周波数分析部で周波数領域の信号に変換した遅延前信号を上記M個分保存する第1のバッファ部と、
    上記第2の周波数分析部で周波数領域の信号に変換した遅延後信号を、上記M+K−1個分保存する第2のバッファ部と、
    上記第1のバッファ部で保存された遅延前信号の共役を取った信号と、上記第2のバッファ部で保存された遅延後信号とを同一周波数毎に乗算し、当該乗算結果をフレームについて加算し上記K要素までのクロススペクトルを計算するクロススペクトル計算部と、
    上記第1のバッファ部で保存された遅延前信号のノルムの2乗の逆数を白色化係数として計算する白色化係数計算部と、
    上記クロススペクトルに上記白色化係数を乗算する白色化部と、
    上記白色化部で白色化されたクロススペクトルを、時間領域に変換する時間領域変換部と、
    上記時間領域変換部の出力を時間シフトしながら第1要素から上記K要素まで加算して保存する時間シフト加算部と、
    上記時間シフト加算部で保存された信号の最大ピーク位置を推定遅延量として求める最大ピーク位置探索部と、
    を具備する遅延推定装置。
  7. 請求項6に記載した遅延推定装置において、
    上記白色化係数計算部は、
    上記第1のバッファ部で保存された上記遅延前信号のノルムの2乗を計算するノルム計算手段と、
    上記ノルムの2乗を周波数について加算平均してフルバンド平均パワーを計算するフルバンド平均パワー計算手段と、
    上記フルバンド平均パワーに、予め設定された定数αを乗じる係数乗算手段と、
    上記ノルムの2乗に、上記フルバンド平均パワーに定数αを乗じた値を加算する加算手段と、
    上記加算手段が出力する出力信号の逆数を計算し、白色化係数として出力する逆数計算手段と、
    を備えることを特徴とする遅延推定装置。
  8. 請求項6又は7に記載した遅延推定装置において、
    更に、上記遅延前信号から遅延推定に適した区間を設定する推定区間設定部を備え、
    上記推定区間設定部で設定した区間の上記遅延前信号を用いて遅延推定を行うことを特徴とする遅延推定装置。
  9. 請求項8に記載した遅延推定装置において、
    上記推定区間設定部は、
    上記遅延前信号の振幅のディップホールドを行って雑音レベルを推定する雑音レベル推定手段と、
    上記遅延前信号の振幅のピークホールドを行って残響音レベルを推定する残響レベル推定手段と、
    上記雑音レベルに1以上の定数を乗じた値と、上記残響レベルに1未満の定数を乗じた値と、を比較し大きい方を閾値として設定する閾値設定手段と、
    上記閾値と上記遅延前信号の振幅とを比較して当該閾値よりも上記遅延前信号の振幅が大きい区間を、遅延推定する区間として検出する区間検出手段と、
    を備えることを特徴とする遅延推定装置。
  10. 請求項6乃至9の何れかに記載した遅延推定装置と、
    更に、
    上記第1の周波数分析部で周波数領域の信号に変換された受話信号を、上記遅延推定装置で推定された推定遅延量分の時間遅延させる遅延挿入部と、
    上記遅延挿入部で遅延が挿入された受話信号を入力として擬似エコー信号を生成する周波数領域適応フィルタ部と、
    上記周波数領域の遅延後信号から上記擬似エコー信号を除去する加算部と、
    上記擬似エコー信号が除去された周波数領域の遅延後信号を、2N/M点の逆FFTをK回実行して時間領域の送話信号に変換する2N/M点IFFT部と、
    を具備するエコー消去装置。
  11. 請求項6乃至9の何れかに記載した遅延推定装置、又は、請求項10に記載したエコー消去装置としてコンピュータを機能させるためのプログラム。
  12. 請求項11に記載した何れかのプログラムを記録したコンピュータで読み取り可能な記録媒体。
JP2012223361A 2012-10-05 2012-10-05 遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体 Active JP5700850B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012223361A JP5700850B2 (ja) 2012-10-05 2012-10-05 遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012223361A JP5700850B2 (ja) 2012-10-05 2012-10-05 遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体

Publications (2)

Publication Number Publication Date
JP2014075756A JP2014075756A (ja) 2014-04-24
JP5700850B2 true JP5700850B2 (ja) 2015-04-15

Family

ID=50749614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012223361A Active JP5700850B2 (ja) 2012-10-05 2012-10-05 遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体

Country Status (1)

Country Link
JP (1) JP5700850B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872156B (zh) * 2016-05-25 2019-02-12 腾讯科技(深圳)有限公司 一种回声时延跟踪方法及装置
CN107566011A (zh) * 2016-06-30 2018-01-09 晨星半导体股份有限公司 回波消除电路、用于数字通信系统的接收器及回波消除方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003051879A (ja) * 2001-08-08 2003-02-21 Fujitsu Ltd 通話装置
JP2004297236A (ja) * 2003-03-26 2004-10-21 Hitachi Communication Technologies Ltd 通信装置、および、それに用いるエコーキャンセラ
JP2006014359A (ja) * 2005-07-27 2006-01-12 Fujitsu Ltd エコー抑制処理システム
JP4422662B2 (ja) * 2005-09-09 2010-02-24 日本電信電話株式会社 音源位置・受音位置推定方法、その装置、そのプログラム、およびその記録媒体
JP4621266B2 (ja) * 2008-03-25 2011-01-26 富士通株式会社 測定方法、エコー発生箇所特定方法、測定装置、およびエコー発生箇所特定装置

Also Published As

Publication number Publication date
JP2014075756A (ja) 2014-04-24

Similar Documents

Publication Publication Date Title
EP3703052B1 (en) Echo cancellation method and apparatus based on time delay estimation
JP4568733B2 (ja) 雑音抑圧装置、雑音抑圧方法、雑音抑圧プログラムおよびコンピュータに読み取り可能な記録媒体
JP5672770B2 (ja) マイクロホンアレイ装置及び前記マイクロホンアレイ装置が実行するプログラム
JP4916394B2 (ja) エコー抑圧装置、エコー抑圧方法及びコンピュータプログラム
Brandt et al. Integrating time signals in frequency domain–Comparison with time domain integration
US7577262B2 (en) Microphone device and audio player
JP5087024B2 (ja) エコー消去装置とその方法と、プログラム
JP2003534570A (ja) 適応ビームフォーマーにおいてノイズを抑制する方法
JP5079761B2 (ja) 直間比推定装置、音源距離測定装置、雑音除去装置、各装置の方法と、装置プログラム
US10524049B2 (en) Method for accurately calculating the direction of arrival of sound at a microphone array
CN102612711A (zh) 信号处理方法、信息处理装置和用于存储信号处理程序的存储介质
JP4422662B2 (ja) 音源位置・受音位置推定方法、その装置、そのプログラム、およびその記録媒体
JP4787851B2 (ja) エコー抑圧ゲイン推定方法とそれを用いたエコー消去装置と、装置プログラムと記録媒体
JP5700850B2 (ja) 遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体
JP3878892B2 (ja) 収音方法、収音装置、および収音プログラム
JP2014194437A (ja) 音声処理装置、音声処理方法および音声処理プログラム
JP2007235358A (ja) 収音装置、プログラム及びこれを記録した記録媒体
JP5889224B2 (ja) エコー抑圧ゲイン推定方法とそれを用いたエコー消去装置とプログラム
JP5769670B2 (ja) エコー抑圧ゲイン推定方法とそれを用いたエコー消去装置とプログラム
JP3720795B2 (ja) 音源受音位置推定方法、装置、およびプログラム
JP5562451B1 (ja) エコー抑圧ゲイン推定方法とそれを用いたエコー消去装置とプログラム
US11004463B2 (en) Speech processing method, apparatus, and non-transitory computer-readable storage medium for storing a computer program for pitch frequency detection based upon a learned value
JP5325134B2 (ja) 反響消去方法、反響消去装置、そのプログラムおよび記録媒体
JP5713979B2 (ja) 遅延推定方法とその装置とプログラムとその記録媒体
JP7252779B2 (ja) 雑音除去装置、雑音除去方法およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150216

R150 Certificate of patent or registration of utility model

Ref document number: 5700850

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150