(57)【特許請求の範囲】
【請求項１】
受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去方法であって、
受話信号と収音信号を用い、所定のサンプル数の前記受話信号と前記収音信号の相関値をある時間間隔毎に計算する相関値計算過程と、
前記相関値を用い、時間経過に伴う前記相関値のピーク位置の変動を検出することで、前記受話信号と前記収音信号のサンプリング周期のずれの大きさを推定し、そのずれから伸縮係数αを計算する伸縮係数計算過程と、
前記受話信号と前記伸縮係数αと補間式を用い、前記受話信号のサンプリング周期をα倍した場合に得られる補間受話信号を推定する受話信号補間過程と、
前記補間受話信号と送話信号を用い、擬似エコー信号を算出するエコー模擬過程と、
前記収音信号と前記擬似エコー信号を用い、前記収音信号と前記擬似エコー信号の差である前記送話信号を算出する差信号生成過程とを含むことを特徴とするエコー消去方法。
【請求項２】
請求項１記載のエコー消去方法において、
前記伸縮係数計算過程はある時間間隔毎に計算される前記相関値同士の相関を計算することで前記ピーク位置の変動を検出することを特徴とするエコー消去方法。
【請求項３】
請求項２記載のエコー消去方法において、
前記伸縮係数計算過程は前記ピーク位置の変動を検出する際、前記相関値同士の相関を計算するＦＦＴ長をゼロ詰めにより補間して長くすることを特徴とするエコー消去方法。
【請求項４】
受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去方法であって、
受話信号と収音信号を用い、所定のサンプル数の前記受話信号と前記収音信号のインパルス応答をある時間間隔毎に計算するインパルス応答計算過程と、
前記インパルス応答を用い、時間経過に伴う前記インパルス応答のピーク位置の変動を検出することで、前記受話信号と前記収音信号のサンプリング周期のずれの大きさを推定し、そのずれから伸縮係数αを計算する伸縮係数計算過程と、
前記受話信号と前記伸縮係数αと補間式を用い、前記受話信号のサンプリング周期をα倍した場合に得られる補間受話信号を推定する受話信号補間過程と、
前記補間受話信号と送話信号を用い、擬似エコー信号を算出するエコー模擬過程と、
前記収音信号と前記擬似エコー信号を用い、前記収音信号と前記擬似エコー信号の差である前記送話信号を算出する差信号生成過程とを含むことを特徴とするエコー消去方法。
【請求項５】
請求項４記載のエコー消去方法において、
前記伸縮係数計算過程はある時間間隔毎に計算される前記インパルス応答同士の相関を計算することで前記ピーク位置の変動を検出することを特徴とするエコー消去方法。
【請求項６】
請求項５記載のエコー消去方法において、
前記伸縮係数計算過程は前記ピーク位置の変動を検出する際、前記インパルス応答同士の相関を計算するＦＦＴ長をゼロ詰めにより補間して長くすることを特徴とするエコー消去方法。
【請求項７】
受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去装置であって、
受話信号と収音信号が入力され、所定のサンプル数の前記受話信号と前記収音信号の相関値をある時間間隔毎に計算して出力する相関値計算部と、
前記相関値が入力され、時間経過に伴う前記相関値のピーク位置の変動を検出することで、前記受話信号と前記収音信号のサンプリング周期のずれの大きさを推定し、そのずれから伸縮係数αを計算して出力する伸縮係数計算部と、
前記受話信号と前記伸縮係数αが入力され、補間式を用いて前記受話信号のサンプリング周期をα倍した場合に得られる補間受話信号を推定し、出力する受話信号補間部と、
前記補間受話信号と送話信号が入力され、擬似エコー信号を算出して出力するエコー模擬部と、
前記収音信号と前記擬似エコー信号が入力され、前記収音信号と前記擬似エコー信号の差である前記送話信号を算出して出力する差信号生成部とを具備し、
前記伸縮係数計算部はある時間間隔毎に入力される前記相関値同士の相関を計算することで前記ピーク位置の変動を検出することを特徴とするエコー消去装置。
【請求項８】
受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去装置であって、
受話信号と収音信号が入力され、所定のサンプル数の前記受話信号と前記収音信号のインパルス応答をある時間間隔毎に計算して出力するインパルス応答計算部と、
前記インパルス応答が入力され、時間経過に伴う前記インパルス応答のピーク位置の変動を検出することで、前記受話信号と前記収音信号のサンプリング周期のずれの大きさを推定し、そのずれから伸縮係数αを計算して出力する伸縮係数計算部と、
前記受話信号と前記伸縮係数αが入力され、補間式を用いて前記受話信号のサンプリング周期をα倍した場合に得られる補間受話信号を推定し、出力する受話信号補間部と、
前記補間受話信号と送話信号が入力され、擬似エコー信号を算出して出力するエコー模擬部と、
前記収音信号と前記擬似エコー信号が入力され、前記収音信号と前記擬似エコー信号の差である前記送話信号を算出して出力する差信号生成部とを具備し、
前記伸縮係数計算部はある時間間隔毎に入力される前記インパルス応答同士の相関を計算することで前記ピーク位置の変動を検出することを特徴とするエコー消去装置。
【請求項９】
請求項１乃至６記載のいずれかのエコー消去方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去方法、エコー消去装置に関する。
【背景技術】
【０００２】
音声対話システムにおいて、スピーカで再生された音が受聴者側のマイクロホンによって収音され、発話者側のスピーカで再生された音をエコーと呼ぶ。このエコーが存在すると通話が困難になるため、音声対話システムにはこのエコーを消去するためのエコー消去装置が導入される。
【０００３】
図１は適応フィルタを用いた従来のエコー消去装置１００の構成を示したものである。なお、以下、対応する構成には同様の符号を付す。このエコー消去装置１００の動作は以下のようになっている。
【０００４】
受話端１１から得られた受話信号ｘ（ｎ）は、Ｄ／Ａ変換部１２とエコー模擬部１１０に入力される。受話信号ｘ（ｎ）はＤ／Ａ変換部１２によってアナログ化され、ｘ（ｔ）となる。なお、ｎは離散サンプル番号を表し、ｔは連続時間値を表す。ｘ（ｔ）はスピーカ１３によって再生され、再生された音はエコー経路３１を通ってマイクロホン２１で収音され、ｙ（ｔ）となる。ｙ（ｔ）はＡ／Ｄ変換部２２によってデジタル化され、収音信号ｙ（ｎ）となる。
【０００５】
エコー模擬部１１０において、受話信号ｘ（ｎ）は、擬似エコー経路部１１１と適応フィルタ更新部１１２に入力される。擬似エコー経路部１１１では、適応フィルタｈ＾（ｎ）→のタップ長Ｌ以上の受話信号ｘ（ｎ）を蓄積し、以下のように、受話信号ｘ（ｎ）→とｈ＾（ｎ）→を畳み込むことで擬似エコー信号ｙ＾（ｎ）を得る。
【０００６】
ｙ＾（ｎ）＝ｈ＾Ｔ（ｎ）→・ｘ（ｎ）→        （１）
但し、ｈ＾（ｎ）→＝［ｈ（ｎ）（１），ｈ（ｎ）（２），…，ｈ（ｎ）（Ｌ）］Ｔ
ｘ（ｎ）→＝［ｘ（ｎ），ｘ（ｎ−１），…，ｘ（ｎ−Ｌ＋１）］Ｔ
Ｔは転置を表し、ｈ（ｎ）（ｉ）はサンプル番号ｎの時刻における適応フィルタのｉ番目のフィルタ係数を表す。
【０００７】
差信号生成部１２０は、以下のように収音信号ｙ（ｎ）から擬似エコー信号ｙ＾（ｎ）を差し引き、送話信号ｅ（ｎ）を生成する。
【０００８】
ｅ（ｎ）＝ｙ（ｎ）−ｙ＾（ｎ）        （２）
送話信号ｅ（ｎ）は、送話端２３及び適応フィルタ更新部１１２に入力され、送話端２３においてはＤ／Ａ変換器を介し、スピーカ等により再生される。適応フィルタ更新部１１２は、非特許文献１に記載されているＮＬＭＳアルゴリズムを用いる場合、以下のように受話信号ｘ（ｎ）→と送話信号ｅ（ｎ）とからｈ＾（ｎ）→を更新し、擬似エコー経路部１１１に出力する。
【０００９】
【数１】
0005421877.tif 000002
但し、μは更新量を制御するステップサイズ（０＜μ＜２）を表し、σは式（３）右辺第２項の分数の分母が０にならないようにするための微小な正の定数を表す。
【００１０】
この図１に示したエコー消去装置１００は、受話信号ｘ（ｎ）と収音信号ｙ（ｎ）のサンプリング周期が完全に一致していることを前提としている。しかし、ＰＤＡなどエコー消去装置を動作させることを念頭に作られていないデバイスでは、スピーカとマイクロホンのシステムが別々に動作していて、受話信号ｘ（ｎ）と収音信号ｙ（ｎ）のサンプリング周期がわずかにずれることがある。サンプリング周期がずれた場合、受話信号ｘ（ｎ）と収音信号ｙ（ｎ）の関係が線形のエコー経路で表せなくなり、図１に示したエコー消去装置１００では、エコーを十分に消去できないか、又は全くエコーを消去できないことになる。
【００１１】
この問題に関し、特許文献１には、受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去装置、エコー消去方法が記載されている。
【００１２】
図２はこの特許文献１に記載されているエコー消去装置２００の構成を示したものである。エコー消去装置２００は、ｍ個（但し、ｍは４以上の整数）の評価用受話信号補間部２０１１〜２０１ｍと、ｍ個の評価用エコー模擬部２１０１〜２１０ｍと、ｍ個の評価用差信号生成部２２０１〜２２０ｍと、誤差評価部２０３と、伸縮係数計算部２０５と、送話用受話信号補間部２６１と、送話用エコー模擬部２７０と、送話用差信号生成部２８０とを有する。このエコー消去装置２００の動作は以下のようになっている。
【００１３】
受話端１１から得られた受話信号ｘ（ｎ）は、Ｄ／Ａ変換部１２、ｍ個の評価用受話信号補間部２０１１〜２０１ｍ及び送話用受話信号補間部２６１に入力される。受話信号ｘ（ｎ）はＤ／Ａ変換部１２によってアナログ化され、ｘ（ｔ）となる。ｘ（ｔ）はスピーカ１３によって再生され、再生された音はエコー経路３１を通ってマイクロホン２１で収音され、ｙ（ｔ）となる。ｙ（ｔ）はＡ／Ｄ変換部２２によってデジタル化され、収音信号ｙ（ｎ）となり、ｍ個の評価用差信号生成部２２０１〜２２０ｍと送話用差信号生成部２８０に入力される。ここで、収音信号ｙ（ｎ）を複数の区間ｊ（ｊは正の整数）に分割する。区間ｊの最初のサンプル番号をｎｊと表す。サンプル番号ｎが区間ｊに属する場合には、ｎｊ≦ｎ≦ｎｊ＋１−１と表される。
【００１４】
ｍ個の評価用受話信号補間部２０１１〜２０１ｍは、対応する評価用伸縮係数αｉ，ｊ（但し、ｉは正の整数であり、１≦ｉ≦ｍとする）と受話信号ｘ（ｎ）が入力され、補間式を用いて受話信号ｘ（ｎ）のサンプリング周期をαｉ，ｊ倍した場合に得られる評価用受話信号ｘ’ｉ（ｎ）を推定し、出力する。評価用受話信号ｘ’ｉ（ｎ）の補間式は例えば以下とされる。
【００１５】
ｘ’（ｎ）＝（ｌｎ−ｋ＋１）｛ｘ（ｋ）−ｘ’（ｎ−１）｝＋ｘ（ｋ−１）                                                                                （４）
但し、ｌｎは、
ｌｎ＝ｌｘｉ，ｊ＋（ｎ−ｌｙ，ｊ）αｉ，ｊ          （５）
とする。なお、ｘ’（０）は例えば、ｘ’（０）＝０とする。ｌｘｉ，ｊは受話信号を伸縮させる際の基準となる受話信号のサンプル番号を表し、ｌｙ，ｊはｌｘｉ，ｊに対応する収音信号のサンプル番号を表す。また、ｋはこのｌｎを下回らない最小の整数を表す。
【００１６】
【数２】
0005421877.tif 000003
以上の補間処理を、ｍ個の評価用受話信号補間部２０１１〜２０１ｍにおいて行い、評価用受話信号ｘ’ｉ（ｎ）を出力する。なお、評価用受話信号補間部２０１１〜２０１ｍは、区間ｊからｊ＋１へと移行する際、ｉ０に対応するｌｘｉ，ｊの値ｌｘ０，ｊを送話用受話信号補間部２６１へ出力する。なお、ｉ０は、区間ｊにおいて、予め定めた基準での誤差が最も小さいｉの値を表す。また、新たに伸縮係数計算部２０５から得られるｍ個の評価用伸縮係数αｉ，ｊ＋１の伸縮の基準となる受話信号ｘ（ｎ）のサンプル番号は、前の区間ｊの最終サンプルｙ（ｎｊ＋１−１）に対し、
【００１７】
【数３】
0005421877.tif 000004
と置く。但し、αｉ０，ｊは、ｉ０に対応する評価用伸縮係数である。このようにすることによって、求めるべき評価用伸縮係数が１の場合、つまりサンプリング周期にズレがない場合でも問題なく動作する。
【００１８】
評価用エコー模擬部２１０１〜２１０ｍは、評価用受話信号ｘ’ｉ（ｎ）と誤差信号ｅｉ（ｎ）が入力され、評価用擬似エコー信号ｙ＾ｉ（ｎ）を出力する。各評価用エコー模擬部２１０１〜２１０ｍは、図示していないが、図１に示したエコー模擬部１１０と同様、擬似エコー経路部１１１と適応フィルタ更新部１１２を有しており、それぞれ以下の処理を行う。擬似エコー経路部１１１は、評価用受話信号ｘ’ｉ（ｎ）が入力され、評価用擬似エコー信号ｙ＾ｉ（ｎ）を出力する。例えば、擬似エコー経路部１１１では、適用フィルタｈ＾ｉ（ｎ）→のタップ長Ｌ以上の評価用受話信号ｘ’ｉ（ｎ）を蓄積し、以下のように、評価用受話信号ｘ’ｉ（ｎ）→とｈ＾ｉ（ｎ）→を畳み込むことで擬似エコー信号ｙ＾ｉ（ｎ）を得る。
【００１９】
ｙ＾ｉ（ｎ）＝ｈ＾ｉＴ（ｎ）→・ｘ’ｉ（ｎ）→        （８）
但し、
ｈ＾ｉ（ｎ）→＝［ｈｉ（ｎ）（１），ｈｉ（ｎ）（２），…，ｈｉ（ｎ）（Ｌ）］Ｔ
ｘ’ｉ（ｎ）→＝［ｘ’ｉ（ｎ），ｘ’ｉ（ｎ−１），…，ｘ’ｉ（ｎ−Ｌ＋１）］Ｔ
適応フィルタ更新部１１２は、評価用受話信号ｘ’ｉ（ｎ）→と誤差信号ｅｉ（ｎ）が入力され、適応フィルタを更新する。適応フィルタ更新部１１２は、非特許文献１に記載されているＮＬＭＳアルゴリズムを用いる場合、以下のように評価用受話信号ｘ’ｉ（ｎ）→と誤差信号ｅｉ（ｎ）とからｈ＾ｉ（ｎ）→を更新する。
【００２０】
【数４】
0005421877.tif 000005
更新した適応フィルタをコピーし、擬似エコー経路部１１１に出力する。
【００２１】
評価用差信号生成部２２０１〜２２０ｍは、収音信号ｙ（ｎ）と対応する評価用擬似エコー信号ｙ＾ｉ（ｎ）が入力され、ｙ（ｎ）とｙ＾ｉ（ｎ）の差である誤差信号ｅｉ（ｎ）を出力する。
【００２２】
ｅｉ（ｎ）＝ｙ（ｎ）−ｙ＾ｉ（ｎ）          （１０）
誤差評価部２０３は、誤差信号ｅｉ（ｎ）が入力され、区間ｊにおいて、予め定めた基準での誤差が最も小さいｉの値をｉ０として出力する。例えば、誤差評価部２０３は、区間ｊにおいて、各誤差信号ｅｉ毎の平均二乗誤差ｅ−ｉを算出し、最も平均二乗誤差の小さいｉの値をｉ０として出力する。誤差評価部２０３に区間ｊの最終サンプルｎ＝ｎｊ＋１−１に対応する誤差信号が入力された場合に、以下のように区間ｊでの平均二乗誤差を算出する。
【００２３】
【数５】
0005421877.tif 000006
伸縮係数計算部２０５は、ｉ０が入力され、ｉ０を用いて送話用伸縮係数α０，ｊ＋１を決定する。さらに、送話用伸縮係数α０，ｊ＋１を用いて新たな評価用伸縮係数αｉ，ｊ＋１を算出し、送話用伸縮係数α０，ｊ＋１を送話用受話信号補間部２６１へ、評価用伸縮係数αｉ，ｊ＋１を評価用受話信号補間部２０１１〜２０１ｍへ出力する。なお、区間ｊ＝１のときに、評価用受話信号補間部２０１１〜２０１ｍで用いる評価用伸縮係数αｉ，ｊの初期値αｉ，１には、伸縮係数の真値を含むように範囲［αｍｉｎ，１，αｍａｘ，１］を設定し、評価伸縮係数の初期値αｉ，１のうち少なくとも一つが真値近傍の単峰性に近い挙動を示す範囲に含まれるように分割数（ｍ−１）を設定してもよい。例えば、区間ｊ＝１の場合、評価用伸縮係数αｉ，１は、
【００２４】
【数６】
0005421877.tif 000007
として計算して求め、評価用受話信号補間部２０１１〜２０１ｍへ出力する。区間ｊ≧２の場合には、ｉ０に対応する評価用伸縮係数を送話用伸縮係数αｉ０，ｊ（＝α０，ｊ）とし、区間ｊ＋１における伸縮係数の範囲［αｍｉｎ，ｊ＋１，αｍａｘ，ｊ＋１］を以下のように式（１３），（１３）’または（１３）’’によって求める。
αｉ０，ｊ＝αｍｉｎ，ｊの場合、
αｍｉｎ，ｊ＋１＝αｉ０，ｊ ，αｍａｘ，ｊ＋１＝αｉ０＋１，ｊ    （１３）
αｉ０，ｊ＝αｍａｘ，ｊの場合、
αｍｉｎ，ｊ＋１＝αｉ０−１，ｊ ，αｍａｘ，ｊ＋１＝αｉ０，ｊ    （１３）’
それ以外の場合、
αｍｉｎ，ｊ＋１＝αｉ０〜１，ｊ ，αｍａｘ，ｊ＋１＝αｉ０＋１，ｊ 
（１３）’’
更に、以下のように式（１４）によって、新たな評価用伸縮係数αｉ，ｊ＋１を算出する。
【００２５】
【数７】
0005421877.tif 000008
送話用受話信号補間部２６１は、受話信号ｘ（ｎ）と送話用伸縮係数α０，ｊが入力され、補間式を用いて受話信号ｘ（ｎ）のサンプリング周期をα０，ｊ倍した場合に得られる送話用受話信号ｘ’０（ｎ）を推定し、出力する。サンプルを補間する際の基準となるサンプル番号ｌｘ０，ｊについてはｉ０に対応する評価用受話信号補間部２０１より入力されるｌｘ０，ｊ−１を用いる。送話用受話信号を出力する処理については以上の処理を除いて評価用受話信号補間部２０１と同一である。送話用受話信号ｘ’０（ｎ）の推定は、例えば評価用受話信号補間部で用いた補間式（４）を用いて行う。
【００２６】
送話用エコー模擬部２７０は、送話用受話信号ｘ’０（ｎ）と送話信号ｅ０（ｎ）が入力され、送話用擬似エコー信号ｙ＾０（ｎ）を出力する。送話用エコー模擬部２７０は、図示していないが、評価用エコー模擬部２１０１〜２１０ｍと同様に、擬似エコー経路部１１１と適応フィルタ更新部１１２を有し、それぞれ以下の処理を行う。擬似エコー経路部１１１は、送話用受話信号ｘ’０（ｎ）が入力され、送話用擬似エコー信号ｙ＾０（ｎ）を出力する。例えば、擬似エコー経路部１１１では、適用フィルタｈ＾０（ｎ）→のタップ長Ｌ以上の送話用受話信号ｘ’０（ｎ）を蓄積し、式（８）により、送話用受話信号ｘ’０（ｎ）→とｈ＾０（ｎ）→を畳み込むことで擬似エコー信号ｙ＾０（ｎ）を得る。
【００２７】
適応フィルタ更新部１１２は、送話用受話信号ｘ’０（ｎ）→と送話信号ｅ０（ｎ）が入力され、適応フィルタを更新する。適応フィルタ更新部１１２は、非特許文献１に記載されているＮＬＭＳアルゴリズムを用いる場合、式（９）により送話用受話信号ｘ’０（ｎ）→と送話信号ｅ０（ｎ）とからｈ＾０（ｎ）→を更新する。更新した適応フィルタをコピーし、擬似エコー経路部１１１に出力する。
【００２８】
送話用差信号生成部２８０は、式（１０）により、収音信号ｙ（ｎ）と送話用擬似エコー信号ｙ＾０（ｎ）が入力され、ｙ（ｎ）とｙ＾０（ｎ）の差である送話信号ｅ０（ｎ）を出力する。
【先行技術文献】
【特許文献】
【００２９】
【特許文献１】特開２０１０−５６７７８号公報
【非特許文献】
【００３０】
【非特許文献１】Simon Haykin, Adaptive Filter Theory, Prentice Hall International Inc, third edition, 1996, p.432-437.
【発明の概要】
【発明が解決しようとする課題】
【００３１】
上述したように、特許文献１に記載されているエコー消去装置では、適応フィルタを複数用意し、それぞれにサンプル間隔を修正した補間受話信号（評価用受話信号）を入力し、最も消去量が大きくなるフィルタを選ぶことで伸縮係数を求め、エコー消去性能を向上させることで、受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を良好に消去することができるものとなっている。
【００３２】
しかしながら、正しい補間受話信号を計算するための伸縮係数を探索するため、多くの適応フィルタを用意しなくてはならず、演算量が増加し、また全体の構成が非常に複雑になってしまうといった問題があった。
【００３３】
この発明の目的はこの問題に鑑み、受話信号と収音信号のサンプリング周期がずれている場合であっても簡易な構成で収音信号からエコー信号を良好に消去することができ、かつ演算量も従来に比し、削減することができるようにしたエコー消去方法、エコー消去装置及びエコー消去プログラムを提供することにある。
【課題を解決するための手段】
【００３４】
請求項１の発明によれば、受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去方法は、受話信号と収音信号を用い、所定のサンプル数の受話信号と収音信号の相関値をある時間間隔毎に計算する相関値計算過程と、前記相関値を用い、時間経過に伴う相関値のピーク位置の変動を検出することで、受話信号と収音信号のサンプリング周期のずれの大きさを推定し、そのずれから伸縮係数αを計算する伸縮係数計算過程と、受話信号と伸縮係数αと補間式を用い、受話信号のサンプリング周期をα倍した場合に得られる補間受話信号を推定する受話信号補間過程と、補間受話信号と送話信号を用い、擬似エコー信号を算出するエコー模擬過程と、収音信号と擬似エコー信号を用い、収音信号と擬似エコー信号の差である送話信号を算出する差信号生成過程とを含む。
【００３５】
請求項２の発明では請求項１の発明において、伸縮係数計算過程はある時間間隔毎に計算される相関値同士の相関を計算することでピーク位置の変動を検出する。
【００３６】
請求項３の発明では請求項２の発明において、伸縮係数計算過程はピーク位置の変動を検出する際、相関値同士の相関を計算するＦＦＴ長をゼロ詰めにより補間して長くする。
【００３７】
請求項４の発明によれば、受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去方法は、受話信号と収音信号を用い、所定のサンプル数の受話信号と収音信号のインパルス応答をある時間間隔毎に計算するインパルス応答計算過程と、前記インパルス応答を用い、時間経過に伴うインパルス応答のピーク位置の変動を検出することで、受話信号と収音信号のサンプリング周期のずれの大きさを推定し、そのずれから伸縮係数αを計算する伸縮係数計算過程と、受話信号と伸縮係数αと補間式を用い、受話信号のサンプリング周期をα倍した場合に得られる補間受話信号を推定する受話信号補間過程と、補間受話信号と送話信号を用い、擬似エコー信号を算出するエコー模擬過程と、収音信号と擬似エコー信号を用い、収音信号と擬似エコー信号の差である送話信号を算出する差信号生成過程とを含む。
【００３８】
請求項５の発明では請求項４の発明において、伸縮係数計算過程はある時間間隔毎に計算されるインパルス応答同士の相関を計算することでピーク位置の変動を検出する。
【００３９】
請求項６の発明では請求項５の発明において、伸縮係数計算過程はピーク位置の変動を検出する際、インパルス応答同士の相関を計算するＦＦＴ長をゼロ詰めにより補間して長くする。
【００４０】
請求項７の発明によれば、受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去装置は、受話信号と収音信号が入力され、所定のサンプル数の受話信号と収音信号の相関値をある時間間隔毎に計算して出力する相関値計算部と、前記相関値が入力され、時間経過に伴う相関値のピーク位置の変動を検出することで、受話信号と収音信号のサンプリング周期のずれの大きさを推定し、そのずれから伸縮係数αを計算して出力する伸縮係数計算部と、受話信号と伸縮係数αが入力され、補間式を用いて受話信号のサンプリング周期をα倍した場合に得られる補間受話信号を推定し、出力する受話信号補間部と、補間受話信号と送話信号が入力され、擬似エコー信号を算出して出力するエコー模擬部と、収音信号と擬似エコー信号が入力され、収音信号と擬似エコー信号の差である送話信号を算出して出力する差信号生成部とを具備し、伸縮係数計算部はある時間間隔毎に入力される相関値同士の相関を計算することでピーク位置の変動を検出する。
【００４１】
請求項８の発明によれば、受話信号のサンプリング周期とは必ずしも一致しないサンプリング周期で収音される収音信号からエコー信号を消去するエコー消去装置は、受話信号と収音信号が入力され、所定のサンプル数の受話信号と収音信号のインパルス応答をある時間間隔毎に計算して出力するインパルス応答計算部と、前記インパルス応答が入力され、時間経過に伴うインパルス応答のピーク位置の変動を検出することで、受話信号と収音信号のサンプリング周期のずれの大きさを推定し、そのずれから伸縮係数αを計算して出力する伸縮係数計算部と、受話信号と伸縮係数αが入力され、補間式を用いて受話信号のサンプリング周期をα倍した場合に得られる補間受話信号を推定し、出力する受話信号補間部と、補間受話信号と送話信号が入力され、擬似エコー信号を算出して出力するエコー模擬部と、収音信号と擬似エコー信号が入力され、収音信号と擬似エコー信号の差である送話信号を算出して出力する差信号生成部とを具備し、伸縮係数計算部はある時間間隔毎に入力されるインパルス応答同士の相関を計算することでピーク位置の変動を検出する。
【発明の効果】
【００４２】
この発明によれば、受話信号と収音信号のサンプリング周期がずれている場合であっても簡易な構成で収音信号からエコー信号を効果的に消去することができ、かつ演算量も従来に比し、削減することができる。
【図面の簡単な説明】
【００４３】
【図１】エコー消去装置の従来構成例を示すブロック図。
【図２】受話信号と収音信号のサンプリング周期がずれている場合であってもエコー信号を消去することができるようにしたエコー消去装置の従来構成例を示すブロック図。
【図３】この発明によるエコー消去装置の第１の実施例の構成を示すブロック図。
【図４】この発明によるエコー消去装置の第２の実施例の構成を示すブロック図。
【図５】実験結果を説明するためのグラフ。
【発明を実施するための形態】
【００４４】
以下、この発明の実施形態を図面を参照して実施例により説明する。
【実施例１】
【００４５】
図３はこの発明によるエコー消去装置の実施例１の構成を示したものであり、エコー消去装置３００は相関値計算部３１０と、伸縮係数計算部３２０と、受話信号補間部３３０と、エコー模擬部１１０と、差信号生成部１２０とを有する。エコー模擬部１１０は、図１に示したエコー模擬部１１０と同様の構成とされ、擬似エコー経路部１１１と適応フィルタ更新部１１２を有する。
【００４６】
受話端１１から得られた受話信号ｘ（ｎ）はＤ／Ａ変換部１２、相関値計算部３１０及び受話信号補間部３３０に入力される。受話信号ｘ（ｎ）はＤ／Ａ変換部１２によってアナログ化され、ｘ（ｔ）となる。ｘ（ｔ）はスピーカ１３によって再生され、再生された音はエコー経路３１を通ってマイクロホン２１で収音され、ｙ（ｔ）となる。ｙ（ｔ）はＡ／Ｄ変換部２２によってデジタル化され、収音信号ｙ（ｎ）となり、相関値計算部３１０と差信号生成部１２０に入力される。
【００４７】
相関値計算部３１０では受話信号ｘ（ｎ）と収音信号ｙ（ｎ）の相関値を計算する。現在から過去Ｎ個のサンプルを用いて、
ｘ（ｎ）→＝［ｘ（ｎ），ｘ（ｎ−１），…，ｘ（ｎ−Ｎ＋１）］
ｙ（ｎ）→＝［ｙ（ｎ），ｙ（ｎ−１），…，ｙ（ｎ−Ｎ＋１）］
のように表記すると、相関値ｃ（ｎ）→は、
ｃ（ｎ）→＝ＩＦＦＴ［ＦＦＴ［ｘ（ｎ）→］＊ＦＦＴ［ｙ（ｎ）→］］  （１５）
と計算することができる。ここで、＊は複素共役を表す。また、ｃ（ｎ）→は、
ｃ（ｎ）→＝［ｃ（０，ｎ），ｃ（１，ｎ），…，ｃ（ｌ，ｎ），…，ｃ（Ｎ−１，ｎ）］
であり、ｌは０≦ｌ≦Ｎ−１の整数である。ＮはＦＦＴ長のため、通常は２のべき乗とすることが多い。
【００４８】
相関値計算部３１０はここでは式（１５）に示した時間軸の相関そのものではなく、相関の周波数領域表現である
Ｃ（ｎ）→＝ＦＦＴ［ｘ（ｎ）→］＊ＦＦＴ［ｙ（ｎ）→］      （１６）
をある時間間隔Ｍ毎に計算し、計算した相関値Ｃ（ｎ）→を伸縮係数計算部３２０に出力する。なお、Ｍはサンプル数（１以上の整数で、受話信号ｘ（ｎ）側を基準に計測）を表し、つまりＭサンプル分の時間間隔毎に相関値計算部３１０は相関値Ｃ（ｎ）→を計算して出力する。このＭは固定値でもよいし、変動する値でもよい。変動する場合はこのＭの値も伸縮係数計算部３２０に出力する。固定値であれば、例えばＭ＝Ｎと置く。
【００４９】
伸縮係数計算部３２０では時間間隔Ｍ毎に送られてくる相関値Ｃ（ｎ）→を保持し、比較する。受話信号ｘ（ｎ）と収音信号ｙ（ｎ）にサンプリング周期のずれがある場合には時間がＭサンプル分経過すると、相関値Ｃ（ｎ）→のピーク位置がその分だけずれるため、時間経過に伴う相関値Ｃ（ｎ）→のピーク位置の変動を検出することで、受話信号ｘ（ｎ）と収音信号ｙ（ｎ）のサンプリング周期のずれの大きさを推定することができる。ここでは、相関値Ｃ（ｎ）→同士のさらに相関をとることでピーク位置がずれた量を検出する。相関値Ｃ（ｎ）→の相関をｄＭ→とすると、
ｄＭ→＝ＩＦＦＴ［［Ｃ（ｎ＋Ｍ）→］＊［Ｃ（ｎ）→］］      （１７）
のように計算することができる。ここで、ｄＭ→は、
ｄＭ→＝［ｄＭ（０），ｄＭ（１），…，ｄＭ（Ｎ−１）］
である。
【００５０】
ところで、受話信号ｘ（ｎ）と収音信号ｙ（ｎ）のサンプリング周期のずれ量はわずかであるため、通常はＮサンプルのＦＦＴ長では正確なピーク位置の計算を行うことは困難となる。そのため、ＦＦＴ長をＩ倍して長くし、ピーク位置計算のためにゼロ詰めによる補間を行う。
【００５１】
ＦＦＴ長がＮのとき、ＦＦＴ長をＩ倍にすることを考えると、
ＤＭ→＝［Ｃ（ｎ＋Ｍ）→］＊［Ｃ（ｎ）→］          （１８）
但し、ＤＭ→＝［ＤＭ（０），ＤＭ（１），…，ＤＭ（Ｎ−１）］に対し、
【００５２】
【数８】
0005421877.tif 000009
とし、
ｄＭ，Ｉ→＝ＩＦＦＴ［ＤＭ，Ｉ→］            （２０）
として、ｄＭ→のサンプル値をゼロ詰めにより補間したｄＭ，Ｉ→を求める。
【００５３】
このｄＭ，Ｉ→のうちで、最も大きな正のピークを持つ値を求め、そのサンプルのインデックスをｌ０（０≦１０≦ＩＮ−１）とすると、受話信号１サンプル当り、収音信号が何サンプル分ずれているかという値ｇは、
ｇ＝ｌ０／ＩＭ            （２１）
として計算することができる。このｇを用いて、
α＝１−ｇ              （２２）
とすれば、伸縮係数αを求めることができる。
【００５４】
この伸縮係数αの計算は、最初に一度だけ行ってもよいし、時間間隔Ｍの値を変えながら計算し、相関値の相関の値が最も大きくなった時のαを最適値として更新していってもよい。相関値は離散的にしか求まらないため、相関値とサンプルの位置関係により求まる最大値が異なり、よって時間間隔Ｍを変えながら計算し、伸縮係数αの値を更新していくのが好ましい。但し、このように異なる相関値の相関を比較する際には、信号の大きさに関する正規化が必要になるため、
【００５５】
【数９】
0005421877.tif 000010
のように正規化されたＤＭ，ｎ→を用いる。伸縮係数αｊ（ｊは区間番号を表す）は受話信号補間部３３０に出力される。
【００５６】
受話信号補間部３３０には伸縮係数αｊと受話信号ｘ（ｎ）が入力される。受話信号補間部３３０は補間式を用いて受話信号ｘ（ｎ）のサンプリング周期をαｊ倍した場合に得られる補間受話信号ｘ’（ｎ）を推定し、出力する。
【００５７】
補間受話信号ｘ’（ｎ）の補間式は例えば前述の式（４）と同様、以下のようになる。
【００５８】
ｘ’（ｎ）＝（ｌｎ−ｋ＋１）｛ｘ（ｋ）−ｘ’（ｎ−１）｝＋ｘ（ｋ−１）                                                                            （２４）
但し、ｌｎは、
ｌｎ＝ｌｘ，ｊ＋（ｎ−ｌｙ，ｊ）αｊ          （２５）
とする。なお、ｘ’（０）には適当な値を設定してもよい。例えば、ｘ’（０）＝０とする。ｌｘ，ｊは受話信号を伸縮させる際の基準となる受話信号のサンプル番号を表し、ｌｙ，ｊはｌｘ，ｊに対応する収音信号のサンプル番号を表す。ｋはこのｌｎを下回らない最小の整数を表す。
【００５９】
なお、補間式として式（２４）に代えて、以下の線形補間式を用いてもよい。
【００６０】
ｘ’（ｎ）＝（ｌｎ−ｋ＋１）ｘ（ｋ）＋（ｋ−ｌｎ）ｘ（ｋ−１）  （２６）
また、ｐ次のニュートン補間を用いてもよい。例えば、ｐ＝２の場合、補間式は、
【００６１】
【数１０】
0005421877.tif 000011
となる。この式ではｘ（ｋ）からｘ（ｋ−ｐ）までの信号が補間に必要となる。この時、図示していないが、受話信号補間部３３０に受話信号蓄積部を設けてもよい。
【００６２】
以上の補間処理を受話信号補間部３３０において行い、補間受話信号ｘ’（ｎ）を出力する。なお、受話信号を伸縮させる際の基準となる受話信号のサンプル番号は、前の区間ｊの最終サンプルｙ（ｎｊ＋１−１）に対し、
【００６３】
【数１１】
0005421877.tif 000012
と置く。なお、伸縮係数αｊの初期値α１には適当な値を設定してもよい。例えば、α１＝１と設定してもよい。
【００６４】
エコー模擬部１１０は補間受話信号ｘ’（ｎ）と送話信号ｅ（ｎ）が入力され、擬似エコー信号ｙ＾（ｎ）を出力する。エコー模擬部１１０の擬似エコー経路部１１１と適応フィルタ更新部１１２はそれぞれ以下の処理を行う。
【００６５】
擬似エコー経路部１１１には補間受話信号ｘ’（ｎ）が入力され、擬似エコー信号ｙ＾（ｎ）を出力する。例えば、擬似エコー経路部１１１では適応フィルタｈ＾（ｎ）→のタップ長Ｌ以上の補間受話信号ｘ’（ｎ）を蓄積し、式（８）により、補間受話信号ｘ’（ｎ）→とｈ＾（ｎ）→を畳み込むことで擬似エコー信号ｙ＾（ｎ）を得る。
【００６６】
適応フィルタ更新部１１２には補間受話信号ｘ’（ｎ）→と送話信号ｅ（ｎ）が入力され、適応フィルタを更新する。適応フィルタ更新部１１２は、非特許文献１に記載されているＮＬＭＳアルゴリズムを用いる場合、式（９）により補間受話信号ｘ’（ｎ）→と送話信号ｅ（ｎ）とからｈ＾（ｎ）→を更新する。更新した適応フィルタをコピーし、擬似エコー経路部１１１に出力する。
【００６７】
差信号生成部１２０には収音信号ｙ（ｎ）と擬似エコー信号ｙ＾（ｎ）が入力され、式（１０）によりｙ（ｎ）とｙ＾（ｎ）の差である送話信号ｅ（ｎ）を計算して出力する。
【００６８】
以上説明したように、この例では伸縮係数を相関値から直接求めるものとなっており、伸縮係数を適応フィルタの消去量から探索していく従来例に比し、構成の簡略化と探索処理の省略を図ることができ、演算量を大幅に削減することができる。
【００６９】
なお、上述した例ではゼロ詰めにより補間し、ＦＦＴ長をＩ倍しているが、必ずしもこのようにする必要はない。但し、ピーク位置をより精度良く得るためにはゼロ詰めにより補間し、ＦＦＴ長を長くするのが好ましい。
【実施例２】
【００７０】
図４はこの発明によるエコー消去装置の実施例２の構成を示したものであり、この例ではエコー消去装置４００は図３に示した実施例１の構成における相関値計算部３１０に代えてインパルス応答計算部４１０を具備するものとなっている。
【００７１】
インパルス応答計算部４１０には受話信号ｘ（ｎ）と収音信号ｙ（ｎ）が入力され、インパルス応答計算部４１０はインパルス応答を計算する。インパルス応答ｈ（ｎ）→は、
【００７２】
【数１２】
0005421877.tif 000013
と計算することができる。実施例１で式（１５）のように相関値ｃ（ｎ）→を計算する代わりにこのようにインパルス応答ｈ（ｎ）→を計算し、相関値ｃ（ｎ）→の代わりに用いることができる。つまり、必要なのは相関値のピークそのものではなく、相関値のピーク位置が時間経過と共にどうずれるかを見ることなので、ピークのあるインパルス応答波形でも同様に目的が達せられる。
【００７３】
インパルス応答計算部４１０はここでは式（２９）に示した時間軸のインパルス応答ではなく、インパルス応答の周波数領域表現である。
【００７４】
【数１３】
0005421877.tif 000014
をある時間間隔Ｍ毎に計算し、計算したインパルス応答Ｈ（ｎ）→を伸縮係数計算部４２０に出力する。
【００７５】
伸縮係数計算部４２０では時間間隔Ｍ毎に送られてくるインパルス応答Ｈ（ｎ）→を保持し、比較する。受話信号ｘ（ｎ）と収音信号ｙ（ｎ）にサンプリング周期のずれがある場合には時間がＭサンプル分経過すると、インパルス応答ｈ（ｎ）→のピーク位置がその分だけずれるため、時間経過に伴うインパルス応答ｈ（ｎ）→のピーク位置の変動を検出することで、受話信号ｘ（ｎ）と収音信号ｙ（ｎ）のサンプリング周期のずれの大きさを推定することができる。ここでは実施例１の場合と同様、インパルス応答ｈ（ｎ）→同士の相関をとることでピーク位置がずれた量を検出する。また、実施例１と同様、精度良くピーク位置を得るためにＦＦＴ長をＩ倍して長くし、ゼロ詰めによる補間を行う。
【００７６】
伸縮係数計算部４２０では上記のようにして実施例１と同様、最も大きな正のピーク値を持つサンプルのインデックスｌ０が求められ、式（２１），（２２）により伸縮係数αｊが求められる。伸縮係数αｊは受話信号補間部３３０に出力される。以下、受話信号補間部３３０等の処理は実施例１と同様に行われる。
［実験結果］
図５は実施例１の手法をシミュレーションデータに対して適用した結果を示したものである。
【００７７】
受話信号ｘ（ｎ）には８ＫＨｚサンプリングの白色雑音を用い、収音信号ｙ（ｎ）としては受話信号ｘ（ｎ）に予め用意したインパルス応答を畳み込んだ後、ダウンサンプラとアップサンプラを用い、サンプリング周期を1.001倍に変更した信号を用いた。この場合の伸縮係数αの真値は、
１０００／１００１＝0.999000999
である。
【００７８】
まず、ＦＦＴ長ＮをＮ＝２５６として、ある時刻での受話信号ｘ（ｎ）と収音信号ｙ（ｎ）の相関値を計算する（図５（ａ））。そして、Ｍ＝５１２０サンプル後に再び受話信号ｘ（ｎ）と収音信号ｙ（ｎ）の相関値を計算する（図５（ｂ））。この２つの相関値のさらに相関をとり、Ｉ＝４としてオーバーサンプリングしたものを図５（ｃ）に示す。
【００７９】
図５（ｃ）のグラフから最も大きな正のピーク位置のインデックスｌ０はｌ０＝２１と求まり、伸縮係数αは、
【００８０】
【数１４】
0005421877.tif 000015
と計算される。真値との誤差は0.003％である。
【００８１】
この求まった伸縮係数αを元に非特許文献１のＮＬＭＳアルゴリズムを用い、エコー消去を行ったところ、受話信号ｘ（ｎ）の補正前（補間前）は２ｄＢ程度の消去量しか得られなかったものが、23.98ｄＢのエコー消去量を得ることができた。
【００８２】
以上説明したエコー消去装置、エコー消去方法はコンピュータと、コンピュータにインストールされたエコー消去プログラムによって実現することができる。コンピュータにインストールされたエコー消去プログラムはコンピュータのＣＰＵによって解読されてコンピュータに上述したエコー消去方法を実行させる。
【産業上の利用可能性】
【００８３】
この発明によるエコー消去装置・方法はハンズフリー通話やハンズフリー音声認識などの分野で活用される。
【符号の説明】
【００８４】
１１０  エコー模擬部                  １１１  擬似エコー経路部
１１２  適応フィルタ更新部            １２０  差信号生成部
３００  エコー消去装置                ３１０  相関値計算部
３２０  伸縮係数計算部                ３３０  受話信号補間部
４００  エコー消去装置                ４１０  インパルス応答計算部
４２０  伸縮係数計算部
【図１】
0005421877.tif 000016
【図２】
0005421877.tif 000017
【図３】
0005421877.tif 000018
【図４】
0005421877.tif 000019
【図５】
0005421877.tif 000020