説明

反響消去方法、反響消去装置、そのプログラムおよび記録媒体

【課題】再生手段と収音手段との間の音響経路が非線形で、かつ、音量の変動が大きい場合でも、少ない演算量で安定かつ十分にエコーを消去し、よって通話品質の劣化を防ぐことができる反響消去方法を提供する。
【解決手段】所定の方法により受話信号を複数の成分に分割し、当該成分ごとに、各成分の大きさに応じて生成した乗算係数がそれぞれ設定された複数の適応フィルタを用いて疑似エコーを生成し、これを収音信号から差し引くことによりエコーが消去された送話信号を得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声信号の通信に際し効果的なエコー消去を行うための、適応フィルタ技術による反響消去方法、反響消去装置、プログラム、および記録媒体に関する。
【背景技術】
【0002】
エコーキャンセラ(反響除去装置)は、ハンズフリー通話装置などにおいてマイクロホンなどの収音手段により音声を収音する際に、スピーカなどの再生手段から放音され部屋の音響特性などを経て収音信号に混入したエコー成分を推定し、収音信号から差し引くことで、エコー成分が抑制された高品質な音声信号を確保するために用いられる装置である。
【0003】
従来のエコーキャンセラの技術として、例えば非特許文献1の「線形適応フィルタ」を用いた周波数領域エコーキャンセラや非特許文献2の「Volterraフィルタを用いた非線形エコーキャンセラ」が挙げられる。
【0004】
非特許文献1に示された技術による反響除去装置10の機能構成例を図15に示す。反響除去装置10は、時間領域の受話信号をフーリエ変換により周波数領域の成分に分割する第1周波数変換部110と、受話信号の各周波数成分から疑似エコーを生成し、かつ、受話信号と差信号とから自身のフィルタ係数を逐次更新する適応フィルタ13と、時間領域の収音信号をフーリエ変換により周波数領域の成分に分割する第2周波数変換部140と、周波数成分ごとに収音信号から疑似エコーを差し引いた差信号を生成する差信号生成部150と、周波数成分ごとの各差信号を逆フーリエ変換により合成して時間領域の送話信号を生成する周波数逆変換部160とから構成される。動作原理は以下のとおりである。
【0005】
【数1】

【0006】
とする(Lはフレーム長で2以上の整数、Tは転置)。これらのフーリエ変換をそれぞれ、
【0007】
【数2】

【0008】
とする(この場合、フーリエ変換の周波数分割数K=L/2+1)。周波数領域の適応フィルタのフィルタ係数を、
【0009】
【数3】

【0010】
となり、適応フィルタのフィルタ係数の更新は、
【0011】
【数4】

【0012】
またμは更新量を制御するステップサイズ(0<μ<2)である。
次に、非特許文献2のエコーキャンセラの動作原理について説明する。非特許文献2のエコーキャンセラでは、線形の適応フィルタ
【0013】
【数5】

【0014】
以外に、Volterra級数の高次項に対応する適応フィルタを用意し、その入力として受話信号に処理を加えたものを用いる。例えば、時刻nの2次のVolterraフィルタとその入力は、xの過去Lサンプル分を考慮すると、
【0015】
【数6】

【0016】
と計算される。
【先行技術文献】
【非特許文献】
【0017】
【非特許文献1】M.Dentino, J.McCool and B.Widrow,"Adaptive Filtering in Frequency Domain", Proceedings of the IEEE, 1978, Vol.66, No.12, p.1658
【非特許文献2】A.Stenger, L.Trautmann and R.Rabenstein,"Nonlinear acoustic echo cancellation with 2nd order adaptive volterra filters", International Conference on Acoustics, Speech, and Signal Processing, 1999, Vol.2, p.877-880
【発明の概要】
【発明が解決しようとする課題】
【0018】
ハンズフリー通話装置において、スピーカの径が小さいなどの理由から、スピーカとマイクロホンとの間の音響経路が非線形になる場合がある。しかしこのような場合にも、非特許文献1のフィルタは音響経路の線形性を仮定して線形なエコーしか推定しないため、送話信号に非線形なエコーが残ってしまい通話品質が劣化する。また、非特許文献2のフィルタでは音響経路が非線形な場合も考慮されるが、高次項を考慮すると次数のべき乗でフィルタ長が長くなり演算量が多くなる。加えて、実測では定常音には高い性能を発揮するものの、音量に変動が大きい音声では推定が不安定になって効果が得られないことがあり、エコーキャンセラとして実用化するには問題が残る。
【0019】
本発明の目的は、再生手段と収音手段との間の音響経路が非線形で、かつ、音量の変動が大きい場合でも、少ない演算量で安定かつ十分にエコーを消去し、よって通話品質の劣化を防ぐことができる反響消去方法を提供することにある。
【課題を解決するための手段】
【0020】
本発明の反響消去方法は、所定の方法により受話信号を複数の成分に分割し、当該成分ごとに、各成分の大きさに応じて生成した乗算係数がそれぞれ設定された複数の適応フィルタを用いて疑似エコーを生成し、これを収音信号から差し引くことによりエコーが消去された送話信号を得る。
【発明の効果】
【0021】
本発明の反響消去方法は、「帯域ごとの特徴に注目し、帯域ごとに用意するフィルタ数を別にする」とともに、「帯域ごとに複数のフィルタを用意し、それらの線形結合の係数を入力の音量により変化させる」という技術的特徴を具体的構成及び処理に反映したものである。これにより、個々のフィルタは固定値を推定していても、全体としては変動するインパルス応答を精度よく推定することができる。そのため、再生手段と収音手段との間の音響経路が非線形で、かつ、音量の変動が大きい場合でも、音響経路を経由したエコーに近い疑似エコーを生成できるため、安定かつ十分にエコーを消去することができ、よって通話品質の劣化を防ぐことができる。また、帯域ごとに適した個数のフィルタを用意することができるため、メモリの効率化を図ることができる。更に、構成がシンプルであるため、少ない演算量で実現することができる。
【図面の簡単な説明】
【0022】
【図1】反響消去装置100の構成例を示すブロック図。
【図2】複合適応フィルタ部130の構成例を示すブロック図。
【図3】反響消去装置100に係る反響消去方法の処理フロー例を示す図。
【図4】反響消去装置200の構成例を示すブロック図。
【図5】複合適応フィルタ部230の構成例を示すブロック図。
【図6】反響消去装置200に係る反響消去方法の処理フロー例を示す図。
【図7】反響消去装置300の構成例を示すブロック図。
【図8】反響消去装置400の構成例を示すブロック図。
【図9】複合適応フィルタ部430の構成例を示すブロック図。
【図10】反響消去装置400に係る反響消去方法の処理フロー例を示す図。
【図11】5種類の音量で測定したインパルス応答の例を示す図。
【図12】図11のAで示す部分の拡大図。
【図13】図11のBで示す部分の拡大図。
【図14】本発明の反響消去方法と従来の反響消去方法との平均エコー消去量の比較を示す図。
【図15】従来技術による反響消去装置10の構成例を示すブロック図。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態について、詳細に説明する。
【実施例1】
【0024】
図1に実施例1の反響消去装置100の構成例を、図3に当該装置を用いた反響消去方法による処理フロー例を示す。
【0025】
反響消去装置100は、第1周波数変換部110とK個(Kは周波数成分の数)の乗算係数計算部120とK個の複合適応フィルタ部130と第2周波数変換部140とK個の差信号生成部150と周波数逆変換部160とを備える。また、k番目(k=1、2、・・・、K)の複合適応フィルタ部130は、図2に示すようにM個(Mはkの値に応じた正の整数)の適応フィルタ131とそれらの出力を加算する加算部132とを備える。なお、第1周波数変換部110と第2周波数変換部140と差信号生成部150と周波数逆変換部160は従来の反響除去装置10と同様の役割を果たす。
【0026】
第1周波数変換部110は、時刻nの時の時間領域の受話信号
【0027】
【数7】

【0028】
(Lはフレーム長)が入力され、フレーム単位で離散フーリエ変換により周波数分析を行い、K個の周波数成分X(1)、X(2)、・・・、X(K)に分割して出力する(S1)。ここで、KはL/2+1である。フレームシフトとフレーム長の設定の仕方や周波数分析方法には様々なものがあるが、例えばフレーム長Lに対してフレームシフトL/2とし、周波数分析の際には長さLのハミング窓
w(i)=0.54−0.46cos(2πn/L)
を用いて、
【0029】
【数8】

【0030】
と計算することができる。
【0031】
乗算係数計算部120と複合適応フィルタ部130は周波数成分X(k)ごとに設けられる。周波数成分X(k)に対応するk番目の乗算係数計算部120は、第1周波数変換部110で得られた周波数成分X(k)の大きさである絶対値|X(k)|と、予め設定したM−1個の閾値vk,j(vk,jは正の実数でvk,j-1<vk,j(j=2、・・・、M−1))とを用いて、M個の乗算係数βk,m(m=1,2,・・・, M)を生成する(S2)。乗算係数βk,mは周波数成分X(k)に対し、M個の適応フィルタ131(のフィルタ係数)をそれぞれいかなる重みで適用するかを設定する係数である。また、閾値vk,jは|X(k)|の値に応じてM個の適応フィルタ131のうちいずれを適用するかを画するものである。そのため、M=2の時は閾値は1つだけであり、M=1の時は閾値は存在しない(つまり複合適応フィルタ部130は単一適応フィルタである)。
【0032】
が2以上である時、乗算係数βk,mは具体的には以下のように求める。なお、iは除外されている部分を除き、i=1,2,・・・,Mである。
【0033】
【数9】

【0034】
また、閾値vk,jは例えば、周波数成分の絶対値|X(k)|の取りうる最大値を線形または対数スケールでM等分し、
【0035】
【数10】

【0036】
とするなどにより求める。
【0037】
なお、閾値vk,jと適応フィルタ131の個数Mは、それぞれkに依存せず同一の値としてもよいし、kによって値を変えてもよい。Mは、|X(k)|の大きさの変化に応じ、通常2〜10程度の値を用いる。
【0038】
周波数成分X(k)に対応するk番目の複合適応フィルタ部130のm番目の適応フィルタ131のフィルタ係数はHk,mであり、当該適応フィルタ131は、対応する乗算係数βk,mと周波数成分X(k)とを用い、例えば次式により当該m番目の適応フィルタ131による疑似エコーY'(k,m)を求める(S3)。
【0039】
【数11】

【0040】
なお、適応フィルタ131はフィルタ係数Hk,mを、乗算係数βk,mと周波数成分X(k)と差信号E(k)とを用いて更新するが、それについては後述する。
【0041】
加算部132は、適応フィルタ131ごとの疑似エコーY'(k,1)、Y'(k,2)、・・・、Y'(k,M)を加算し、周波数成分X(k)に基づくトータルでの疑似エコーY'(k)を生成する。
【0042】
第2周波数変換部140は、時刻nの時の時間領域の収音信号
【0043】
【数12】

【0044】
が入力され、フレーム単位で離散フーリエ変換によりK個の周波数成分Y(1)、Y(2)、・・・、Y(K)に変換して出力する(S4)。ここで、KはL/2+1である。具体的な変換方法としては第1周波数変換部110の説明で例示したものが挙げられる。
【0045】
差信号生成部150は周波数成分ごとに合計K個設けられ、それぞれ収音信号の周波数成分Y(k)から疑似エコーY'(k)を差し引いて差信号E(k)を生成する(S5)。
【0046】
周波数逆変換部160は、各周波数成分の差信号E(1), E(2),・・・,E(L/2+1),E*(L/2),E*(L/2−1),・・・,E*(2)(*は複素共役を表す)を逆フーリエ変換により周波数合成し、時間領域の送話信号
【0047】
【数13】

【0048】
を生成する(S6)。周波数分析を周波数変換部110の説明で例示した方法で行った場合、合成の際には隣り合う2つのフレームからの再合成結果を加算して、
【0049】
【数14】

【0050】
【数15】

【0051】
により計算する。なお、X(k)はx(n−L+1)からx(n)の信号で計算された周波数分析値であり、Xn-L/2(k)はx(n−3L/2+1)からx(n−L/2)の信号で計算された周波数分析値であり、Xn+L/2(k)はx(n−L/2+1)からx(n+L/2)の信号で計算された周波数分析値である。
【0052】
反響消去装置100への収音信号、受話信号の入力が続いている間、周波数成分X(k)に対応するk番目の複合適応フィルタ部130のm番目の適応フィルタ131は、差信号生成部150で生成された差信号E(k)と受話信号の周波数成分X(k)と乗算係数βk,mとを用いて逐次、フィルタ係数Hk,mを更新する(S7)。フレーム番号をtとし、更新前のフィルタ係数をHk,m(t)とした時、更新後のフィルタ係数Hk,m(t+1)は次式により求めることができる。
【0053】
【数16】

【0054】
ここで、*は複素共役を表し、P(k)は平滑化された信号パワーで
【0055】
【数17】

【0056】
である。また、μは更新量を制御するステップサイズ(0<μ<2)であり、αは平滑化のための定数(0<α<1)である。
【0057】
なお、以上の説明においては、絶対値|X(k)|が各周波数成分X(k)の大きさを示す値であるとして数式に適用したが、適用する大きさを示す値は必ずしも|X(k)|である必要はなく、例えば|X(k)|など他の値を用いてもよい。以下の実施例でも同様である。
【0058】
以上、説明した本発明の反響消去装置100及びこれを用いた反響消去方法は、「帯域ごとの特徴に注目し、帯域ごとに用意するフィルタ数を別にする」とともに、「帯域ごとに複数のフィルタを用意し、それらの線形結合の係数を入力の音量により変化させる」という技術的特徴を具体的構成及び処理に反映したものである。これにより、個々のフィルタは固定値を推定していても、全体としては変動するインパルス応答を精度よく推定することができる。そのため、再生手段と収音手段との間の音響経路が非線形で、かつ、音量の変動が大きい場合でも、音響経路を経由したエコーに近い疑似エコーを生成できるため、安定かつ十分にエコーを消去することができ、よって通話品質の劣化を防ぐことができる。また、帯域ごとに適した個数のフィルタを用意することができるため、メモリの効率化を図ることができる。更に、構成がシンプルであるため、少ない演算量で実現することができる。
【実施例2】
【0059】
周波数領域のエコーキャンセラのバリエーションである参考文献1の構成に本発明の構成を応用することができる。参考文献1の構成は周波数領域での計算精度がより高く得られる構成である。実施例2の反響消去装置200は参考文献1の構成に本発明の構成を応用した構成例であり、図4にそのブロック図を、図6に当該装置を用いた反響消去方法による処理フロー例を示す。
〔参考文献1〕E.R.Ferrara,"Fast Implimentation of LMS Adaptive Filters", IEEE Transactions on Acoustics, Speech, and Signal Processing, 1980, Vol.28, No.4, p.474-475
【0060】
反響消去装置200は、第1周波数変換部210とK個(Kは周波数成分の数)の乗算係数計算部120とK個の複合適応フィルタ部230と周波数逆変換部260とブロック抽出部270とゼロ付加部280と第2周波数変換部240と更新係数計算部290とを備える。また、k番目(k=1、2、・・・、K)の複合適応フィルタ部230は、図5に示すようにM個(Mはkの値に応じた正の整数)の適応フィルタ231とそれらの出力を加算する加算部132とを備える。なお、実施例1の反響消去装置100と同じ符号を付した乗算係数計算部120と加算部132は反響消去装置100と同じものであるため、詳細な説明は省略する。
【0061】
第1周波数変換部210は、時刻nの時の時間領域の受話信号
【0062】
【数18】

【0063】
(Lはフレーム長)が入力され、フレーム単位で離散フーリエ変換により周波数分析を行い、K個の周波数成分X(1)、X(2)、・・・、X(K)に変換して出力する(S11)。ここで、Kは2Lである。実施例1の第1周波数変換部110との相違は、取り込むフレーム長が2Lとなっている点にある。
【0064】
続いて、実施例1と同様に、乗算係数計算部120にて乗算係数βk,mを生成し(S12)、適応フィルタ231にて疑似エコーY'(k,m)を求め、加算部132にてM個の適応フィルタごとの疑似エコーY'(k,m)を加算して周波数成分X(k)に基づくトータルでの疑似エコーY'(k)を生成する(S13)。適応フィルタ231での疑似エコーY'(k,m)の生成方法は実施例1と同じであるが、フィルタ係数の更新方法が異なるため異なる符号を付している。なお、フィルタ係数の更新方法については後述する。
【0065】
周波数逆変換部260は、各周波数成分の疑似エコーY'(1), Y'(2),・・・, Y'(K)を逆フーリエ変換により周波数合成し、時間領域の疑似エコー
【0066】
【数19】

【0067】
を生成する(S14)。
ブロック抽出部270は、周波数逆変換部260で得られた時間領域の疑似エコーの要素のうち後半のL個
【0068】
【数20】

【0069】
を抽出する(S15)。
差信号生成部250は周波数成分ごとに合計K個設けられ、ブロック抽出部270で抽出したL個の要素を、収音信号
【0070】
【数21】

【0071】
の対応する各要素からそれぞれ差し引くことにより、送話信号
【0072】
【数22】

【0073】
を生成する(S16)。
【0074】
反響消去装置200への収音信号、受話信号の入力が続いている間、周波数成分X(k)に対応するk番目の複合適応フィルタ部230のm番目の適応フィルタ231は逐次フィルタ係数Hk,mを更新する。更新に際し、反響消去装置200は以下の処理を実行する。
【0075】
ゼロ付加部280は、差信号生成部250で生成された送話信号の先頭にL個のゼロを付加し、ゼロ付加送話信号
【0076】
【数23】

【0077】
を生成する(S17)。
【0078】
第2周波数変換部240は、ゼロ付加部280で生成されたゼロ付加送話信号が入力され、フレーム単位で離散フーリエ変換によりK個の周波数成分E'(1)、E'(2)、・・・、E'(K)に変換して出力する(S18)。ここで、Kは2Lである。実施例1の第2周波数変換部140との相違は、取り込むフレーム長が2Lとなっている点にある。
【0079】
更新係数計算部290は、ゼロ付加送話信号の周波数成分E'(k)と受話信号の周波数成分X(k)とから更新係数S(k)を生成する(S19)。具体的には、
【0080】
【数24】

【0081】
により生成する。
【0082】
そして、周波数成分X(k)に対応するk番目の複合適応フィルタ部230のm番目の適応フィルタ231は、更新係数S(k)と受話信号の周波数成分X(k)と乗算係数βk,mとを用いて逐次、フィルタ係数Hk,mを更新する(S20)。フレーム番号をtとし、更新前のフィルタ係数をHk,m(t)とした時、更新後のフィルタ係数Hk,m(t+1)は次式により求めることができる。
【0083】
【数25】

【0084】
ここで、P(k)は平滑化された信号パワーで
【0085】
【数26】

【0086】
である。また、μは更新量を制御するステップサイズ(0<μ<2)であり、αは平滑化のための定数(0<α<1)である。
【0087】
実施例2の構成は、実施例1の構成で得られる効果に加え、実施例1の構成に比べ周波数領域での計算精度が高いため、エコー消去量をより大きくすることができる。
【実施例3】
【0088】
実施例3は、実施例1、2における乗算係数計算部120を乗算係数計算部320に置き換えた構成である。図7にその構成例である反響除去装置300を示す。実施例1、2においては、乗算係数計算部120において乗算係数βk,mを周波数成分X(k)ごとに計算したが、いくつかの周波数成分をまとめて評価することで、音量に相当する値の変化が緩やかになり、各周波数の変化に過敏にならず安定した乗算係数の計算を行うことができる。
【0089】
具体的には、乗算係数計算部320における計算についてのみ、K=L/2+1とする代わりに、
【0090】
【数27】

【0091】
のように、L−Lk-1個ずつ周波数成分を束ねたものの組数をKと定義する(L,・・・,Lは2以上の整数で0=L<L<・・・<L=L/2+1)。そして、実施例1、2の乗数係数計算部120においてはβk,mをX(k)の絶対値を用いて計算するが、実施例3の乗数係数計算部320においては
【0092】
【数28】

【0093】
乗算係数をこのように求めることから、各適応フィルタにおいて当該乗算係数を適用するに際し、束ねられた周波数成分に係る乗算係数βk,mはL<k≦Li+1(0≦i≦K−1)の範囲において同一の値となる。例えば、図7に示すようにX(1)とX(2)とを乗算係数計算部320において束ねて評価した場合、
【0094】
【数29】

【0095】
となる。
【0096】
なお、例えば音量変化の大きい周波数領域では束ねないか又は少なく束ね、音量変化の小さい周波数領域では多く束ねるなどにより、効率的にメモリを使用することができる。
【実施例4】
【0097】
図8に実施例4の反響消去装置400の構成例を、図10に当該装置を用いた反響消去方法による処理フロー例を示す。
【0098】
反響消去装置400は、第1帯域分割部410とK個(Kは帯域分割数)の乗算係数計算部420とK個の複合適応フィルタ部430と第2帯域分割部440とK個の差信号生成部450と帯域合成部460とを備える。また、k番目(k=1、2、・・・、K)の複合適応フィルタ部430は、図9に示すようにM個(Mはkの値に応じた正の整数)の適応フィルタ431とそれらの出力を加算する加算部432とを備える。実施例1の反響消去装置100との相違の核心は、第1、第2周波数変換部110、140が第1、第2帯域分割部410、440に置き換わり、周波数逆変換部160が帯域合成部460に置き換わっている点にある。すなわち、実施例1の反響消去装置100では入力信号を周波数領域に変換し、処理を周波数領域で行った上で時間領域に逆変換するのに対し、実施例4の反響消去装置400では周波数領域に変換することなく時間領域において処理を行う点が異なる。その他の相違点は、すべて上記の処理領域の相違に起因し、乗算係数計算部、複合適応フィルタ部及び差信号生成部が果たす機能そのものは実施例1と同様である。
【0099】
第1帯域分割部410は、時刻nの時の時間領域の受話信号x(n)(nは時刻を表す整数)をK個の帯域成分x(k=1,2,・・・,K、Kは2以上の整数)に分割する(S21)。帯域成分への分割方法は、例えば参考文献2で開示された方法、すなわちk番目の帯域成分を、
【0100】
【数30】

【0101】
により計算する。なお、Mは帯域制限をした信号を間引きする間隔で2以上の整数、Iは間引き後の信号の数で2以上の整数、rはn/M、f(i)は1≦i≦M・Iで定義されるローパスフィルタで通過域が[−π/K、π/K]であるものである。
〔参考文献2〕牧野昭二、「サブバンド信号処理 −実時間動作化の奥の手−」、日本音響学会誌、2000年、56巻12号、p.845-851
乗算係数計算部420は、帯域成分x(r)ごとにM個の乗算係数βk,m(m=1,2,・・・, M)を、各帯域成分の大きさに応じて生成する(S22)。具体的には以下のように生成する。
【0102】
第1帯域分割部410から出力される帯域成分x(r)に基づく帯域成分ベクトル
【0103】
【数31】

【0104】
を用い、まず各信号の音量P(r)を計算する。なお、LはM個間隔の間引きを行った後のフィルタタップ長で2以上の整数であり、間引き前後のタップ長を同一にするならばI=Lであるが、原理的には必ずしもI=Lである必要はない。音量P(r)としては、例えばベクトルのL2ノルムを用い、
【0105】
【数32】

【0106】
により計算する。そしてこのP(r)と予め設定したM−1個の閾値vk,j(vk,jは正の実数でvk,j-1<vk,j(j=2、・・・、M−1))とを用いて、M個の乗算係数βk,m(m=1,2,・・・, M)を生成する。
【0107】
が2以上である時、乗算係数βk,mは具体的には以下のように求める。なお、iは除外されている部分を除き、i=1,2,・・・,Mである。
【0108】
【数33】

【0109】
また、閾値vk,jは例えば、ノルムP(r)の取りうる最大値を線形または対数スケールでM等分し、
【0110】
【数34】

【0111】
とするなどにより求める。
【0112】
なお、vk,jとMはそれぞれkに依存せず同一の値としてもよいし、kによって値を変えてもよい。
【0113】
帯域成分x(r)に対応するk番目の複合適応フィルタ部430のm番目の適応フィルタ431のフィルタ係数はベクトル
【0114】
【数35】

【0115】
であり、当該適応フィルタ431は、対応する乗算係数βk,mと帯域成分ベクトル
【0116】
【数36】

【0117】
とを用い、例えば次式により当該適応フィルタ431による疑似エコーy'k,m(r)を求める(S23)。
【0118】
【数37】

【0119】
なお、適応フィルタ431は
【0120】
【数38】

【0121】
差信号e(r)とを用いて更新するが、それについては後述する。
【0122】
加算部432は、適応フィルタ431ごとの疑似エコー
【0123】
【数39】

【0124】
を加算し、帯域成分x(r)に基づくトータルでの疑似エコーy'(r)を生成する。
【0125】
第2帯域分割部440は、第1帯域分割部410と同じ方法により時刻nの時の時間領域の収音信号y(n)(nは時刻を表す整数)をK個の帯域成分y(r)(k=1,2,・・・,K、Kは2以上の整数)に分割する(S24)。
差信号生成部450は帯域成分ごとに合計K個設けられ、それぞれ収音信号の帯域成分y(r)から疑似エコーy'(r)を差し引いて差信号e(r)を生成する(S25)。
【0126】
帯域合成部460は、各帯域成分の差信号e(r),e(r),・・・,e(r)を帯域合成し、送話信号e(n)を生成する(S26)。帯域合成は例えば、
【0127】
【数40】

【0128】
により行う。
【0129】
反響消去装置400への収音信号、受話信号の入力が続いている間、帯域成分x(r)に対応するk番目の複合適応フィルタ部430のm番目の適応フィルタ431は、差信号生成部450で生成された差信号e(r)と
【0130】
【数41】

【0131】
により求めることができる。
ここで、μは更新量を制御するステップサイズ(0<μ<2)でり、δは微小な正の定数である。
【0132】
《実験結果》
本発明が有効である理由の説明のため、以下に実験結果を示す。
まず、非線形歪がインパルス応答に及ぼす影響を調べるために、振幅の異なる複数のM系列を用いてインパルス応答の測定を行った。図11にM系列を用いて測定した5つのインパルス応答を示す。振幅の小さいM系列で測定したものから順にインパルス応答1〜5と表記する。各インパルス応答は同じ概形であるが正確な値は異なっていることがわかる。
【0133】
点線で囲んだ部分A、Bを拡大したものをそれぞれ図12、図13に示す。図12では950Hz付近のプロットを表示している。この図では入力のM系列の振幅を大きくすればするほど応答の値が小さくなっている。また、図13では2300Hz付近のプロットを表示している。この図では入力のM系列の振幅を大きくすればするほど応答の値が大きくなっている。
【0134】
このように、入力信号の大きさにより周波数特性に違いが生じ、しかも帯域ごとに挙動が異なることがわかる。
【0135】
次に、平均反響消去量による従来法と本発明の方法との性能比較を行った。まず、音声信号を実環境で再生・収録し、実施例2をPC上のプログラムとして実装した。次に、収録した音声信号をシミュレーションにかけて時間方向に平均した反響消去量を算出した。なお、周波数方向の分割数Kは8であり、L=1024である。結果を図14に示す。単一フィルタ(従来法)では反響消去量が13.495dBであったのに対し、フィルタを全帯域で2つずつ又は4つずつ用意した場合ではそれぞれ14.227dB、14.257dBであった。
【0136】
一方、帯域ごとにフィルタの個数を2個から4個の間で変化させることで14.260dBの反響消去量を得ることができた。このときのフィルタ切替の閾値は、フィルタが全周波数で4個の場合と同じ値を使用した(例えば、フィルタを2つ用いる周波数では、フィルタを4つ用いる周波数での閾値3つのうち1つのみを用いた)。フィルタに必要なメモリ量は、全周波数でフィルタが4個の場合を100とした場合、フィルタが2個の場合は50であり、フィルタの個数を2個から4個の間で変化させた場合は75であった。このことから、全帯域に多く(この場合は4個)のフィルタを用意するよりも、帯域ごとに個数を最適化した方がメモリ使用量を減らすことができ、かつ同等かそれ以上の反響消去量を得ることができることがわかる。
【0137】
上記反響消去方法をコンピュータによって実現する場合、割当制御部が担う処理機能はプログラムによって記述される。そしてパソコンや携帯端末上で、入力手段や各種記憶手段とCPUとのデータのやりとりを通じてこのプログラムを実行することにより、ハードウェアとソフトウェアが協働し、上記処理機能がコンピュータ上で実現されて本発明の反響消去方法の作用効果を奏する。なおこの場合、処理機能の少なくとも一部をハードウェア的に実現することとしてもよい。また、上記の各種処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【0138】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、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)等を用いることができる。
【0139】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0140】
また、上述した実施形態とは別の実行形態として、コンピュータが可搬型記録媒体から直接このプログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。

【特許請求の範囲】
【請求項1】
所定の方法により受話信号を複数の成分に分割し、当該成分ごとに、各成分の大きさに応じて生成した乗算係数がそれぞれ設定された複数の適応フィルタを用いて疑似エコーを生成し、これを収音信号から差し引くことによりエコーが消去された送話信号を得る反響消去方法。
【請求項2】
請求項1に記載の反響消去方法であって、
時間領域の受話信号
【数42】


(nは時刻を表す整数、Lはフレーム長)をK個の周波数成分X(k) (k=1,2,・・・,K、Kは2以上の整数)に変換する第1周波数変換ステップと、
上記周波数成分X(k)ごとにM個(Mはkの値に応じた正の整数)の乗算係数βk,m(m=1,2,・・・, M)を、各周波数成分の大きさに応じて生成する乗算係数生成ステップと、
上記周波数成分X(k)ごとにそれぞれ用意されたM個の適応フィルタにおいて、当該適応フィルタのフィルタ係数Hk,mと上記乗算係数βk,mと上記周波数成分X(k)とを用いて、適応フィルタごとの疑似エコーY'(k,1), Y'(k,2),・・・, Y'(k, M)を求め、これらを合算して周波数成分X(k)に対するトータルでの疑似エコーY'(k)を生成する疑似エコー生成ステップと、
時間領域の収音信号
【数43】


をK個の周波数成分Y(k)に変換する第2周波数変換ステップと、
上記周波数成分Y(k)から上記疑似エコーY'(k)を差し引いて差信号E(k)を生成する差信号生成ステップと、
上記差信号E(1), E(2),・・・,E(L/2+1),E*(L/2),E*(L/2−1),・・・,E*(2)(*は複素共役を表す)を合成し時間領域の送話信号
【数44】


に変換する周波数逆変換ステップと、
上記適応フィルタのフィルタ係数Hk,mを、上記差信号E(k)と上記周波数成分X(k)と上記乗算係数βk,mとを用いて更新するフィルタ係数更新ステップと、
を実行する反響消去方法。
【請求項3】
請求項1に記載の反響消去方法であって、
時間領域の受話信号
【数45】


(nは時刻を表す整数、Lはフレーム長)をK個の周波数成分X(k) (k=1,2,・・・,K、Kは2以上の整数)に変換する第1周波数変換ステップと、
上記周波数成分X(k)ごとにM個(Mはkの値に応じた正の整数)の乗算係数βk,m(m=1,2,・・・, M)を、各周波数成分の大きさに応じて生成する乗算係数生成ステップと、
上記周波数成分X(k)ごとにそれぞれ用意されたM個の適応フィルタにおいて、当該適応フィルタのフィルタ係数Hk,mと上記乗算係数βk,mと上記周波数成分X(k)とを用いて、適応フィルタごとの疑似エコーY'(k,1), Y'(k,2),・・・, Y'(k, M)を求め、これらを合算して周波数成分X(k)に対するトータルでの疑似エコーY'(k)を生成する疑似エコー生成ステップと、
K個の上記疑似エコーY'(1), Y'(2),・・・, Y'(K)を合成し時間領域の疑似エコー
【数46】


に変換する周波数逆変換ステップと、
上記周波数逆変換ステップで得られた時間領域の疑似エコーの要素のうち後半のL個
【数47】


を抽出するブロック抽出ステップと、
上記ブロック抽出ステップで抽出したL個の要素を、収音信号
【数48】


の対応する各要素からそれぞれ差し引くことにより、送話信号
【数49】


を生成する送話信号生成ステップと、
上記送話信号の先頭にL個のゼロを付加し、ゼロ付加送話信号
【数50】


を生成するゼロ付加ステップと、
上記ゼロ付加送話信号を、K個の周波数成分E'(k)に変換する第2周波数変換ステップと、
上記周波数成分X(k)と上記ゼロ付加送話信号の周波数成分E'(k)とから更新係数S(k)を計算する更新係数計算ステップと、
上記適応フィルタのフィルタ係数Hk,mを、上記更新係数S(k)と上記周波数成分X(k)と上記乗算係数βk,mとを用いて更新するフィルタ係数更新ステップと、
を実行する反響消去方法。
【請求項4】
請求項1乃至3のいずれかに記載の反響消去方法であって、
上記乗算係数を、複数の周波数成分X(k)の大きさをまとめて評価することにより生成することを特徴とする反響消去方法。
【請求項5】
請求項1に記載の反響消去方法であって、
受話信号x(n)(nは時刻を表す整数)をK個の帯域成分x(k=1,2,・・・,K、Kは2以上の整数)に分割する第1帯域分割ステップと、
上記帯域成分xごとにM個(Mはkの値に応じた正の整数)の乗算係数βk,m(m=1,2,・・・, M)を、各帯域成分の大きさに応じて生成する乗算係数生成ステップと、
上記帯域成分xごとにそれぞれ用意されたM個の適応フィルタにおいて、当該適応フィルタのフィルタ係数と上記乗算係数βk,mと上記帯域成分xとを用いて、それぞれ疑似エコー
【数51】


を求め、これらを合算して疑似エコーy'を生成する疑似エコー生成ステップと、
収音信号y(n)をK個の帯域成分yに分割する第2帯域分割ステップと、
上記帯域成分yから上記疑似エコーy'を差し引いて差信号eを生成する差信号生成ステップと、
K個の上記差信号e,e,・・・,eを合成し時間領域の送話信号e(n)に変換する帯域合成ステップと、
上記適応フィルタのフィルタ係数を、上記差信号eと上記帯域成分xと上記乗算係数βk,mとを用いて更新するフィルタ係数更新ステップと、
を実行する反響消去方法。
【請求項6】
所定の方法により受話信号を複数の成分に分割し、当該成分ごとに、各成分の大きさに応じて生成した乗算係数がそれぞれ設定された複数の適応フィルタを用いて疑似エコーを生成し、これを収音信号から差し引くことによりエコーが消去された送話信号を得る反響消去装置。
【請求項7】
請求項1乃至5のいずれかに記載の反響消去方法をコンピュータに実行させるためのプログラム。
【請求項8】
請求項1乃至5のいずれかに記載の反響消去方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図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

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図11】
image rotate


【公開番号】特開2011−166239(P2011−166239A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−23554(P2010−23554)
【出願日】平成22年2月4日(2010.2.4)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】