説明

雑音推定装置、雑音推定方法および雑音推定プログラム

【課題】雑音推定において、母音区間や小声区間のような音声区間が、雑音モデルに反映されるのを抑える。
【解決手段】雑音推定装置10は、1個以上のマイクで取得した音情報における複数フレーム間のスペクトルの相関値を算出する相関算出部6と、音情報における少なくとも1つの対象フレームの音レベルを表すパワー値を算出するパワー算出部7と、対象フレームのパワー値、および対象フレームを含むフレーム間の相関値とを用いて、記録部12に記録された雑音モデルに対して対象フレームをどの程度反映させるかを示す更新度合いまたは雑音モデルの更新の要否を決定する更新決定部8と、決定にしたがって、音情報を雑音モデルに反映させる更新部9とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マイクで取得した音に対する雑音抑圧処理(ノイズキャンセラ)に使用可能な雑音モデルを推定する技術に関する。
【背景技術】
【0002】
従来、マイクで受音した音信号の雑音抑圧処理のため、入力された音信号の対象となる区間が音声区間か否か、あるいは定常か非定常かを判断する方法が開示されている。例えば、背音を表す信号を含むフレームが定常的か非定常的かを判定する方法として、スペクトルの変化が小さい場合の連続するフレーム数を計測し、その値がしきい値以上の場合に定常雑音と判定する方法がある(例えば、下記特許文献1参照)。
【0003】
また、音声区間であるか否かの評価方法として、隣接するフレーム間のスペクトルの相関係数を用いる方法がある(例えば、下記特許文献2参照)。あるいは音響信号を自動判別するための定常性・非定常性の特徴量として相関係数を用いるものが開示されている(例えば、下記特許文献3参照)。
【0004】
また、従来の雑音抑圧処理として、スペクトルから雑音バイアスの値を差し引くことで雑音を抑圧する方法(スペクトルサブトラクション法:例えば、下記特許文献4参照)、推定された雑音の目標値が、雑音抑圧後のスペクトルより大きな場合は、雑音抑圧後のスペクトルを目標値に補正することで、出力信号の歪みを抑制する方法(例えば、下記特許文献5参照)がある。このように雑音抑圧処理では、雑音の推定値が様々な用途で用いられる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表平8−505715号公報
【特許文献2】国際公開第2004/111996号パンフレット
【特許文献3】特開2004−240214号公報
【特許文献4】米国特許第4,897,878号明細書
【特許文献5】特開2007−183306号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、推定された雑音を表すデータである雑音モデルを作成するには、入力された音のうち雑音区間における音情報を用いるのが有効である。そのため、例えば、入力信号における処理対象の区間が、定常か非定常か、あるいは音声区間か否かを判定し、その判定結果と入力信号に基づいて雑音モデルを推定する方法が考えられる。
【0007】
しかしながら、母音区間(特に長母音)や小声で話している区間が複数連続する場合、これらの区間ではパワースペクトルは一定になる傾向がある。そのため、上記従来技術を用いて、このような母音区間や小声区間のパワースペクトルを計算して、定常雑音か否かを判定する場合、その区間が定常雑音と判断されることがある。この判断に従って、母音区間や小声区間の音声スペクトルを用いて雑音モデルを更新し、そのような雑音モデルを用いて雑音抑圧処理を実行すると、母音区間や小声区間における音声成分を雑音として抑圧してしまう。ゆえに、本発明は、雑音推定において、母音区間や小声区間のような音声区間が、雑音モデルに反映されるのを抑えることを目的とする。
【課題を解決するための手段】
【0008】
本願開示の雑音推定装置は、1個以上のマイクで取得した音情報における複数フレーム間のスペクトルの相関値を算出する相関算出部と、前記音情報における少なくとも1つの対象フレームの音レベルを表すパワー値を算出するパワー算出部と、前記対象フレームのパワー値、および前記対象フレームを含むフレーム間の相関値を用いて、記録部に記録された雑音モデルに対して対象フレームをどの程度反映させるかを示す更新度合いまたは雑音モデルの更新の要否を決定する更新決定部と、前記決定にしたがって、前記音情報を前記雑音モデルに反映させる更新部とを備える。
【発明の効果】
【0009】
本願明細書の開示によれば、雑音推定処理において、音声区間が、雑音モデルに反映されるのを抑えることができる。
【図面の簡単な説明】
【0010】
【図1】図1は、第1の実施形態にかかる雑音推定装置を含む雑音抑制装置の構成を示す機能ブロック図である。
【図2】図2は、雑音推定装置の動作例を示すフローチャートである。
【図3A】図3Aは、母音区間における連続する2フレームのスペクトルの例を示す図である。
【図3B】図3Bは、定常雑音区間における連続する2フレームのスペクトルの例を示す図である。
【図4A】図4Aは、更新度合いの計算の変形例を説明するための図である。
【図4B】図4Aは、更新度合いの計算の変形例を説明するための図である。
【図5】図5は、第2の実施形態にかかる雑音推定装置を含む雑音抑制装置の構成を示す機能ブロック図である。
【図6】図6は、雑音推定装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0011】
(第1の実施形態)
[雑音抑制装置20の構成例]
図1は、第1の実施形態にかかる雑音推定装置10を含む雑音抑制装置20の構成を示す機能ブロック図である。図1に示す雑音抑制装置20は、マイク1から音情報を取得し、雑音を抑制した音声信号を出力する装置である。雑音抑制装置20は、例えば、携帯電話機や音声入力機能付きカーナビゲーション装置等に設けることができる。なお、雑音推定装置10や雑音抑制装置20の用途は上記例に限定されず、その他のユーザからの音声を受け付ける機能を有する機器に設けることができる。
【0012】
雑音抑制装置20は、音情報取得部2、フレーム処理部3、スペクトル算出部4、雑音推定装置10および雑音抑圧部11を備える。
【0013】
音情報取得部2は、筐体に装着されたマイク1で受音されるアナログの信号をディジタル信号に変換する。AD変換の前にサンプリング周波数に従ったLPF(アンチエイリアジングフィルタと呼ぶ)をアナログの音信号に掛けておくことが好ましい。音情報取得部2は、AD変換器を含んでもよい。
【0014】
フレーム処理部3は、ディジタル信号をフレーム化する。これにより、ディジタル信号で表される音波形は、時系列の複数のフレーム単位に分割されて切り出される。フレーム化処理は、例えば、予め決められたサンプル長(フレーム長と呼ばれる)の区間を取り出して分析する処理を、区間をオーバーラップさせながら分析する区間を一定長(フレームシフト長と呼ばれる)進めて繰り返し実行する処理とすることができる。一例として、フレーム長は20〜30ms程度、フレームシフト長は10〜20msとすることができる。取り出したフレームに対して分析窓と呼ばれる重みが掛けられる。分析窓としては、例えば、ハニング窓、ハミング窓等がよく使われる。なお、フレーム化処理は特定のものに限定されず、その他、音声情報処理や音響処理で用いられる種々の手法を用いることができる。
【0015】
スペクトル算出部4は、音波形の各フレームのFFTを実行することにより、各フレームのスペクトルを算出する。なお、スペクトル算出部4は、FFTの代わりに、フィルタバンクを用い、フィルタバンクにより得られる複数の帯域の波形を時間領域で処理してもよい。また、FFTの代わりに、他の時間領域から周波数領域への変換(ウェーブレット変換等)を用いてもよい。
【0016】
このように、音情報取得部2、フレーム処理部3およびスペクトル算出部4により、マイク1が受音した音情報は、フレーム毎(分析窓毎)のスペクトルまたは波形のデータとして、雑音推定装置10で利用可能になる。雑音推定装置10は、各フレームのスペクトルまたは波形のデータを受け付けて、記録部12に記録された雑音モデルを更新する。これにより、雑音モデルは、マイク1により取得された音情報に応じて更新される。
【0017】
雑音抑圧部11は、雑音モデルを用いて雑音抑圧処理を実行する。雑音モデルは、例えば、雑音スペクトルの推定値を表すデータであり、より具体的には、時間変化の小さい周囲雑音のスペクトルの平均的な値とすることができる。雑音抑圧部11は、スペクトル算出部4で算出された各フレームのスペクトルの値から雑音モデルで示される雑音のスペクトルの値を引くことにより、雑音成分が除去されたスペクトルを算出することができる。雑音モデルには、時間変化の大きい非定常雑音や音声の情報は含まれないことが好ましい。このような雑音モデルを用いた雑音抑圧処理により、定常雑音が抑制された音声信号を出力することができる。なお、雑音モデルを用いた雑音抑制処理は上記例に限定されない。
【0018】
[雑音推定装置10の構成例]
雑音推定装置10は、スペクトル変化算出部5、相関算出部6、パワー算出部7、更新決定部8および更新部9を備える。
【0019】
スペクトル変化算出部5は、マイク1により取得された音における少なくとも一部の区間におけるスペクトルの時間変化を算出する。スペクトル変化算出部5は、例えば、スペクトル算出部4においてFFT処理によって得られた各フレームの複素スペクトルを、パワースペクトルに変換する。そして、前のフレームのパワースペクトルを記録しておき、現フレームのパワースペクトルとの差分を算出する。例えば、スペクトル変化算出部5は、1フレーム前に保存しておいたパワースペクトルと現フレームのパワースペクトルとの差分を算出する。これにより、フレーム間のパワースペクトルの変化を計算することができる。
【0020】
更新決定部8は、スペクトル変化算出部5が算出したスペクトルの時間変化を基に、その区間の音を雑音モデルに反映させる更新を行うか否かを判定することができる。例えば、現フレームのスペクトルが、前のフレームのスペクトルに比べて所定値以上変化していると判断した場合、更新決定部8は、現クレームの情報を雑音モデルに反映させる必要はないと決定することができる。
【0021】
相関算出部6は、1個以上のマイクで取得した音情報における複数フレーム間のスペクトルの相関値を算出する。相関値は、フレーム間のスペクトルの相関の度合いを表す値である。例えば、時間的に近接するフレーム間のスペクトルの相関係数を相関値として計算することができる。近接するフレーム間の相関係数に限られず、例えば、複数フレームにわたる相関係数の和または代表値(例えば、平均値)等を相関値として計算してもよい。
【0022】
パワー算出部7は、少なくとも1つの対象フレームの音レベルを表すパワー値を算出する。これにより、現フレームのパワー値が求められる。フレームのパワー値は、例えば、フレームにおける音の時系列波形の振幅を用いて求めることができる。具体的には、フレーム内のサンプル値の二乗和をパワー値として計算することができる。なお、パワー値の計算は、これに限られない。パワー算出部7は、例えば、スペクトル算出部4により算出されたスペクトルを用いてフレームのパワー値を計算することもできる。
【0023】
更新決定部8は、対象フレームのパワー値、および対象フレームを含むフレーム間の相関値とを用いて、記録部12に記録された雑音モデルに対して対象フレームをどの程度反映させるかを示す更新度合いまたは雑音モデルの更新の要否を決定する。更新度合いは、例えば、更新速度を示す値、より具体的には、時定数で表すことができるが、これらに限定されない。更新部9は、更新決定部8による決定にしたがって、マイクから取得した音情報を雑音モデルに反映させる。
【0024】
このように、更新決定部8は、対象フレームのパワー値および、対象フレームを含むフレーム間の相関値を用いるので、対象フレームの母音区間らしさを、フレームの音レベルに応じて適切に判断することができる。そのため、対象フレームの母音区間らしさに応じて、更新度合いまたは更新の有無を適切に制御することができる。そのため、母音や小声の区間の音情報が、誤って雑音モデルの更新に用いられるのを抑えることができる。その結果、推定雑音を表すデータである雑音モデルに、母音や小声の成分が含まれることが抑えられる。特に、雑音モデルを定常雑音モデルとする場合、母音や小声の区間は、誤って定常雑音区間と判断されて、定常雑音モデルの更新にして用いられる可能性が高いが、本実施形態1によれば、母音や小声の区間の音情報が定常雑音モデルへ反映されるのが効果的に抑えられる。
【0025】
上記構成において、更新決定部8は、雑音モデル更新の要否を、前記相関値をしきい値と比較することにより決定することができる。そして、このしきい値は、パワー算出部7が算出した対象フレームのパワー値によって決めることができる。具体的には、更新決定部8は、現フレームパワーの値に従って、相関値を用いた雑音モデル更新要否を判断する処理のパラメータを制御することができる。これにより、例えば、低フレームパワー時(静かな環境・小声)と高フレームパワー時(雑音環境・通常発話時)それぞれの場合において、母音らしさを考慮した雑音モデル更新要否のための最適な際のパラメータ設定が可能となる。
【0026】
このように、フレームのパワー値という絶対量を用いて雑音モデル更新の要否の基準となるしきい値を制御することで、定常雑音レベルやSNR等のような推定値を用いて雑音モデル更新を制御する場合に比べて、安定した雑音モデル推定が可能になる。すなわち、適切な雑音モデルを安定して推定することができる。
【0027】
また、更新決定部8は、雑音モデルの更新度合いを、対象フレームのパワー値に応じて決定することもできる。具体的には、更新決定部8は、パワー算出部7が算出した現フレームのパワー値に従って、雑音モデルの更新速度(一例として時定数)を制御することができる。
【0028】
このように、フレームのパワー値という絶対量を用いて更新度合いを制御することにより、安定した雑音モデルの推定が可能になる。例えば、低フレームパワー時(静かな環境・小声)と高フレームパワー時(雑音環境・通常発話時)それぞれの場合において最適な更新度合いでの雑音モデル更新が可能となる。その結果、安定に雑音モデルを推定することが可能となる。
【0029】
[雑音推定装置10の動作例]
図2は、雑音推定装置10の動作例を示すフローチャートである。図2に示す例は、雑音推定装置10が、マイク1で受音した音情報のフレーム単位のスペクトルを、スペクトル算出部4から受け取って、雑音モデルを更新する処理の一例である。
【0030】
まず、スペクトル変化算出部5は、前フレームと現フレームとのパワースペクトルの差分(変化量)を計算する(Op1)。パワースペクトルの差分の値がしきい値TPOW以下(Op2でYes)である場合に、現フレームは定常雑音の可能性ありと判断して、現フレームのパワースペクトルを用いて雑音モデルを更新するための処理(Op3〜Op9)が実行される。なお、このOp2の判断処理では、例えば、長母音や小声の音声のように、スペクトル変化が小さい音声も定常雑音と判断される可能性がある。そのため、以降の処理Op3〜Op8では、これらのスペクトル変化の小さい音声は雑音モデルの更新に使われないよう制御される。一方、パワースペクトルの差分の値がしきい値TPOWを超える(Op2でNo)場合、すなわち、前フレームからの現フレームのスペクトルの変化が大きい場合は、現フレームは定常雑音でないと判断され、現フレームのパワースペクトルは雑音モデルの更新に使用されない。
【0031】
Op2でYesの場合、パワー算出部7が、現フレームのパワー値を算出する(Op3)。現フレームのパワー値は、入力音のレベルを表す値である。例えば、パワー算出部7は、フレーム処理部3で切り出された現フレームの波形を用いてパワー値を計算することができる。具体例としては、下記のように、フレーム内のN個のサンプルをx(n)としてフレームのパワーを下記式(1)で求めることができる。
【0032】
【数1】

【0033】
上記式において、例えばサンプリングレートが8kHzでフレーム長が32msであればNの値は256となる。dB単位に変換するのは、低フレームパワーか高フレームパワーかを判断するためのしきい値の調整を容易にするためである。
【0034】
更新決定部8は、パワー算出部7が算出した現フレームのパワー値がしきい値Th1より小さいか否かを判断する(Op4)。しきい値Th1は、現フレームが低フレームパワーか、高フレームパワーかを判断するためのしきい値の一例である。しきい値Th1は、予め記録部12に記録しておくことができ、例えば、50dBA(騒音レベルがA特性のときのフレームパワー値)に設定することができる。
【0035】
更新決定部8は、現フレームのパワー値によって、雑音モデル更新処理におけるパラメータを制御する。具体的には、音モデル更新要否決定(母音検出)のためのしきい値、および更新度合いを制御するパラメータ(時定数と呼ぶ)が現レフ−ムのパワー値によって決定される。
【0036】
下記表1は、雑音モデル更新処理におけるパラメータ値の一例である。低フレームパワー時は、現フレームのパワー値がしきい値Th1より小さい場合であり、高フレームパワー時は、現フレームのパワー値がしきい値Th1以上の場合とすることができる。相関係数のしきい値Th2は、直前のフレームと現フレームとの相関係数を用いて母音区間か否かを判断して、雑音モデル更新の要否を決定するためのしきい値の一例である。時定数は、雑音モデルの更新速度を示す値の一例である。
【0037】
【表1】

【0038】
低フレームパワー時は、雑音区間の相関係数も小声区間の相関係数も小さくなる傾向があるため、上記表1の例のように、しきい値Th2を高フレームパワー時に比べて小さめに設定することが好ましい。逆に高フレームパワー時には、雑音区間の相関係数が大きくなるので、しきい値を低フレームパワー時よりも大きめに設定することが好ましい。しきい値Th2、時定数の値は予め記録部12に記録しておくことができる。
【0039】
また、低フレームパワー時は定常雑音のレベルが小さい静かな環境であり、このような環境では音声区間を定常雑音区間と誤って更新したときの、雑音モデルの推定値に占める音声成分の割合が大きくなる。その結果、雑音モデルを用いた雑音抑圧で、音声を定常雑音とみなして抑圧することにより、雑音抑圧後の音声の歪みへ与える影響が大きくなる。そこで、上記表1の例のように、低フレームパワー時に雑音モデルの更新の時定数を大きくし、更新を遅くすることができる。時定数を大きくし、音声が定常雑音区間と誤って判断されたとしても、雑音モデルの推定値に占める音声の割合を減らすことができる。その結果、音声歪みの悪影響を抑えることができる。なお、時定数は予備実験に基づいて設定することができる。時定数が1に近いほど更新速度は遅くなる。
【0040】
図2に示す例では、Op4において、現フレームパワーがしきい値Th1以上と判断された場合、すなわち、現フレームが高フレームパワー区間と判断されたときは、Th2=0.7、時定数=0.9(通常)に設定される(Op5)。現フレームが低フレームパワー区間と判断された場合(Op4でNoの場合)、Th2=0.5、時定数=0.999(通常より遅い更新速度)に設定される(Op6)。
【0041】
なお、本実施形態では、更新決定部8の処理の分岐により、現フレームパワーに応じた雑音モデル更新のパラメータの設定を行っているが、雑音モデル更新の制御方法はこれに限られない。例えば、記録部12に、現フレームパワーの値と、相関係数および時定数の組とを対応付けるデータまたは関数を記録しておき、更新決定部8が、このデータを参照することにより、または、関数の処理を実行することにより、現フレームパワーに応じたパラメータを決定することができる。また、現フレームのパワー値の評価も上記例のように、低フレームパワーと高フレームパワーの2段階に限定されず、3段階以上で評価することもできる。
【0042】
次に、相関算出部6は、直前のフレームと現フレーム間のスペクトルの相関係数を計算し、しきい値を超えれば母音区間、下回れば定常雑音区間と判断する(Op7、Op8)。相関係数は、例えば、下記式(2)によって算出することができる。
【0043】
【数2】

【0044】
上記例では、相関係数は−1から1の値を取る。相関係数が1に近いほど相関が高く0に近いほど相関がないことを意味している。(相関係数が−1に近い場合には逆相関があると言うことができる)。図3Aは、母音区間における連続する2フレームのスペクトルの例、図3Bは、定常雑音区間における連続する2フレームのスペクトルの例を示す図である。図3Aおよび図3Bでは、線Pは前フレームのスペクトル、線Cは現フレームのスペクトルを示す。図3Aに示す2フレーム間のスペクトルの相関係数は0.84、図3Bに示す2フレーム間のスペクトルの相関係数は−0.09である。このように、母音区間では複数フレームに渡ってスペクトルが比較的ゆっくり変化する音声特有の傾向があるため、連続する2フレームのスペクトルの形状は変化が少なく相関係数が0.84と高い値になっている。これに対し、定常雑音区間では、周囲からランダムに到来するため、連続する2フレーム間のスペクトル形状は似ておらず相関係数が0に近くなっている。
【0045】
本実施形態では前フレームと現フレームとの相関を求めているが、フレームシフト長が短い場合(例えば、5msや10msの場合)には、母音区間では2フレーム過去のフレームとの相関係数も大きくなるので、母音区間検出に2フレーム過去のフレームとの相関係数を使用することも可能である。このように、相関係数の算出に用いるフレームは、現フレームと直前のフレームに限定されない。
【0046】
更新決定部8は、相関係数がTh2より小さい場合(Op8でYes)、現フレームは雑音区間であると判断して、現フレームを用いて雑音モデルを更新することを決定する。相関係数がTh2以上の場合(Op8でNo)、雑音モデルの更新はしないこと決定する。すなわち、更新決定部8は、Op7で算出された現フレームと前フレーム間のスペクトルとの相関係数を、しきい値Th2と比較し、相関係数がしきい値Th2を下回れば定常雑音区間、上回れば母音区間と判断することができる。この相関係数は上記式を複数の周波数帯域について計算し、周波数帯域ごとにしきい値Th2と比較することができる。しきい値も周波数帯域ごとに設けられてもよい。定常雑音区間と判定された周波数帯域についてのみ、セットされた時定数に従って雑音モデルの更新を行うようにすることができる。
【0047】
Op8でYesの場合、更新部9は、定常雑音区間と判定されたフレームのスペクトルを用いて、Op5またはOp6で決めたれた時定数で雑音モデルを更新する。例えば、時定数がαの場合には、現フレームのパワースペクトルの値S(ω)を使い、周波数ωにおける雑音モデルmodel(ω)を、周波数ごとに、下記式(3)を用いて更新することができる。この処理は、雑音モデルを平均化することに相当する。
【0048】
【数3】

【0049】
なお、雑音モデルの更新処理は、上記式(3)を用いた処理に限られない。例えば、時定数αは周波数ごとに設定された値α(ω)を用いることができる。また、上記処理では、相関係数がしきい値Th2を上回った場合には、母音区間として雑音モデルを更新しない構成になっているが、相関係数がしきい値を上回った場合には更新の時定数を1.0(実質更新は行われない値)に設定した上で、更新部9の処理を実行する構成にしてもよい。
【0050】
上記のOp1〜Op9の処理は、全てのフレームについて終了するまで(Op10でYesと判断されるまで)繰り返される。すなわち、時間軸上に並ぶフレームごとに、順次上記Op1〜Op9の処理が実行される。
【0051】
上記のように、図2に示す動作例では、Op3で算出された現フレームパワーの値によって、相関係数を用いて雑音モデルの更新有無を判断する際のしきい値と、雑音モデルの更新速度とを制御している。これにより、雑音モデルへの母音区間の影響を抑えることができる。また、上記動作例では、スペクトルの相関係数による母音検出を雑音モデルの推定に単に用いるだけでなく、現フレームパワーによって雑音モデル更新要否判断のしきい値や雑音モデルの更新の時定数を切り替えている。これは、最適なしきい値や雑音モデルの更新度合いは、現フレームパワーの値によって異なるという知見に基づくものである。
【0052】
雑音モデルの推定値やSNR(入力音と雑音モデルの差)を用いて、しきい値や雑音モデル更新処理を切り替える方法だと、推定値を用いて雑音を推定することになるので、安定動作を保証できない。これに対し、上記実施形態のように、現フレームパワーの絶対量を用いることにより、推定処理結果に依存しない安定な雑音推定処理が可能になる。
【0053】
[変形例]
図4Aおよび図4Bは、更新決定部8による更新度合いの計算の変形例を説明するための図である。図4Aは、低フレームパワーの場合の、相関係数と時定数との関係の例を示す。図4Bは、高フレームパワーの場合の、相関係数と時定数との関係の例を示す。図4Aおよび図4Bに示す例では、相関係数のしきい値が、2箇所(Th2−1、Th2−2)で設定されている。相関係数が上のしきい値Th2−2以上の場合、更新決定部8は、更新の時定数を1.0として雑音モデルの更新を止める。相関係数が下のしきい値Th2−1以下の場合、時定数は0.999に設定される。相関係数が下のしきい値Th2−1と上のしきい値Th2−2との間の場合は、更新決定部8は、相関係数の値に応じて連続的に更新の時定数が増加するように、時定数を決定する。このように、2つのしきい値Th2−1、Th2−2の間のグレーゾーンを設けることができる。
【0054】
また、更新決定部8は、相関係数が更新しない領域の値になった場合に、例えば、後に続く6フレームは相関係数の値がTh2−2を下回っても強制的に更新の時定数を1.0に設定することができる。これにより、更新決定部8が雑音モデル更新が不要と判断した場合に、更新部9が対象フレームから一定時間内のフレームについては雑音モデルの更新を行わないようにすることができる。
【0055】
すなわち、更新決定部8は、相関係数を用いて現フレームが音声区間であると判定した場合、その現フレーム以降の数フレームに渡って強制的に音声区間の更新速度を雑音モデルの更新に適用することができる。これにより、音素と音素の渡りや子音区間等、母音らしさが出にくくなる音声区間が雑音モデルの更新に用いられることを抑えることができる。このように、いわゆるガードフレームを設けることにより、相関係数の値が小さくなる傾向にある、異なる母音間の渡りや、子音を定常雑音区間として誤って雑音モデルの更新に使用することが抑制される。
【0056】
(第2の実施形態)
図5は、第2の実施形態にかかる雑音推定装置10aを含む雑音抑制装置20aの構成を示す機能ブロック図である。図5において、図1と同じブロックには同じ番号を付している。図5に示す雑音抑制装置20aは、2台のマイク1a、1bから受音された音情報を受け付ける。
【0057】
マイク1a、1bの形態は特定のものに限定されないが、ここでは、一例として、マイク1a、1bが、携帯電話の正面と背面にマイクが装備されたマイクアレイで構成される場合について説明する。音情報取得部2は、2台のマイク1a、1bにて受音されたアナログ信号を受け取る。2台のマイク1a、1bそれぞれのアナログ信号は、それぞれアンチエイリアジングフィルタに掛られた後、ディジタル信号に変換される。フレーム処理部3およびスペクトル算出部4は、2台のマイク1a、1bで受音したそれぞれのディジタル信号それぞれに対して、上記第1の実施形態と同様に、フレーム化処理およびパワースペクトル算出処理を実行する。
【0058】
[雑音抑制装置20aの構成例]
また、雑音推定装置10aは、2台のマイク1a、1bで取得した音情報から、マイク間のレベル差を算出するレベル差算出部13をさらに備える。レベル差算出部13は、例えば、スペクトル算出部4から、マイク1a、1bそれぞれのチャンネルのスペクトルを受け取り、それぞれのチャンネルについて、各フレームのパワースペクトルを計算する。これにより、マイク1a、1bそれぞれのチャンネルについて、フレーム毎に音レベルを計算することができる。マイク1aのチャンネルの音レベルと、マイク1bのチャンネルの音レベルとの差分をフレーム毎かつ周波数毎に計算することでマイクのチャンネル間のレベル差をフレーム毎かつ周波数毎に計算することができる。あるいは、マイク1a、1bそれぞれのチャンネルにおける音情報の波形信号からフレーム毎に、周波数毎ではなく帯域全体(例えば8kHzサンプリングの場合には0〜4kHz)の音のレベルを計算することもできる。この場合、フレームの音のレベル計算は、上記第1の実施形態におけるパワー算出部7の現フレームのパワー値計算と同様にすることもできる。
【0059】
更新決定部8aは、レベル差算出部13が算出したレベル差をさらに用いて、雑音モデルの更新度合いまたは更新要否を決定する。この構成により、更新決定部8は、2つのマイクが受音した音のレベル差に応じてマイク近傍で発声された音声らしさを判断することができる。そのため、例えば、このマイク近傍で発声された音声らしさに基づいて雑音モデルの更新速度を制御することができる。具体的には、更新決定部8aは、2個のマイク間のレベル差がしきい値より大きい区間には、マイクの近傍で発声された音声の区間と判断して、その判断に応じて雑音モデル更新の度合いを示す時定数を適切に制御することができる。そのため、音声の成分が雑音モデルに含まれるのを抑えることができる。
【0060】
さらに、雑音推定装置10aは、2台のマイク1a、1bで取得した音情報からマイク間の位相差を算出する位相差算出部14をさらに備える。位相差算出部14は、スペクトル算出部4から、マイク1a、1bそれぞれのチャンネルの複素スペクトルを受け取り、マイク1aのチャンネルの複素スペクトルと、マイク1bのチャンネルの複素スペクトルとの位相差を、フレーム毎かつ周波数毎に、計算する。これにより、マイク1a、1bのチャンネル間の位相差スペクトルを算出することができる。位相差スペクトルから、例えば、音の到来方向(音源の方向)を周波数毎に判断することができる。
【0061】
更新決定部8aは、位相差算出部14が計算した位相差をさらに用いて、雑音モデルの更新度合いまたは更新要否を決定する。更新決定部8aは、例えば、位相差に基づいてユーザの口方向から発声された音声らしさを判定し、ユーザの口方向から発声された音声らしさに基づいて雑音モデルの更新速度を制御することができる。このように、2個のマイク間の位相差から得られる音声らしさに基づいて雑音モデルの更新の時定数を適切に制御することができる。その結果、雑音モデルにユーザの口方向から発声した音声成分が含まれることを抑えることができる。
【0062】
図5に示す例では、レベル差算出部13および位相差算出部14は、マイク1aおよびマイク1b双方のチャンネルのスペクトルをそれぞれ受け取る。これに対して、パワー算出部7、スペクトル変化算出部5、相関算出部6および雑音抑制部11は、マイク1aまたはマイク1bいずれかのチャンネルのスペクトルを受け取って処理を行うことができる。例えば、携帯電話の場合は、マイク1a、マイク1bのうち携帯電話の正面に設けられたマイクのチャネルの信号のみを、パワー算出部7、スペクトル変化算出部5、相関算出部6および雑音抑制部11で用いる構成とすることができる。
【0063】
図5に示す例では、雑音推定装置10aは、レベル差算出部13および位相差算出部14の双方を備えているが、これらのうち少なくとも1つを備える構成であってもよい。また、更新決定部8aは、パワー算出部7が算出したパワー値に応じて、更新度合いまたは前記更新要否の決定にレベル差および/または位相差をさらに用いるか否かを切り替える構成とすることもできる。これにより、例えば、現フレームパワー値に従って、近傍で発声された音声らしさとユーザの口方向から発声された音声らしさの情報を、雑音モデルの更新度合いの制御に使用するか否かを切り替えることが可能になる。その結果、低フレームパワー時(静かな環境・小声)と高フレームパワー時(雑音環境・通常発話時)それぞれの場合において最適な雑音モデルの更新が可能となる。ひいては、安定に雑音モデルを推定することが可能となる。
【0064】
[雑音推定装置10aの動作例]
図6は、雑音推定装置10aの動作例を示すフローチャートである。図6において、図2に示す処理と同じ処理には同じ番号を付している。図6に示す動作は、図2に示す第1の実施形態の動作に対して、高フレームパワー時(Op4でYesの場合)のユーザ音声検出処理(Op41〜Op44)が追加されたものになっている。
【0065】
図6に示す例では、現フレームパワーがしきい値Th1以下である場合、レベル差算出部13がマイク間の音のレベル差を算出し(Op41)、更新決定部8aは、2台のマイク間のレベル差の情報を用いて、現フレームの音声区間らしさを判断する(Op42)。
【0066】
例えば、ユーザがマイク近傍で発声した場合、口に近い方のマイクと遠い方のマイクのレベルに差が生じる。これを利用して、Op42において、更新決定部8aは、2マイク間にレベル差があれば、そのフレームのスペクトルは近傍音声として雑音モデルの更新に用いないようにする。
【0067】
具体的には、マイク1aのチャンネルの現フレームの音レベルと、マイク1bのチャンネルの現フレームの音とのレベル差がTh3より大きく、かつTh4より小さい場合(Op42でYesの場合)に、更新決定部8aは、現フレームは音声区間ではないと判断することができる。Op42でNoの場合は、現フレームは、音声区間であると判断され、現フレームで雑音モデルを更新しないと決定される。ここで、2つのしきい値Th3、Th4(Th3<Th4)が設けられている。例えば、Th3は正面のマイク近傍での発声による音声区間であるか否かを判断するためのしきい値、Th4は背面のマイク近傍での発声による音声区間であるか否かを判断するためのしきい値とすることができる。
【0068】
Op42でYesの場合、位相差算出部14がマイク間の位相差を算出し(Op43)、更新決定部8aが、2台のマイク間の位相差の情報を用いて、現フレームの音声区間らしさを判断する(Op44)。
【0069】
Op43、Op44の動作により、例えば、ある区間のフレームについて、マイク1a、1bそれぞれのチャンネル間の位相差から推定される音の到来方向がユーザの口方向である場合に、その区間のフレームのスペクトルはユーザ音声として雑音モデルの更新に用いないようにすることができる。具体的には、現フレームを含む区間におけるマイク1a、1bそれぞれのチャンネル間の平均位相差が、しきい値Th5より大きい場合(Op44でYesの場合)、現フレームは雑音区間の可能性があると判断され、雑音モデルの更新処理(Op5以降)が行われる。Op44でNoの場合は、現フレームは音声区間と判断され、現フレームでの雑音モデルの更新は行わないと決定される。例えば、Th5はユーザの正面からの発声を検出するためのしきい値とすることができる。
【0070】
なお、図6に示す例では、低フレームパワー時(Op4でNoの場合)は、2マイク間のレベル差と位相差の情報によるユーザ音声検出処理(Op41〜Op44)を行わないように制御している。これにより、低フレームパワー時のユーザ音声が小声であるために、SNRが悪くレベル差や位相差が乱れやすくなり、安定にユーザ音声を検出できない状態となるのを避けることができる。
【0071】
さらに図6に示す例では、レベル差算出部13で算出されるレベル差および位相差算出部14で算出される位相差スペクトルは、周波数毎に求められる。そのため、周波数毎にしきい値Th3、Th4およびTh5と比較し、周波数毎に雑音モデルを更新するか否かを決定することができる。
【0072】
このように、本実施形態によれば、2台のマイクからの音声情報から得られるユーザの口方向を示す位相差や、マイクと口の距離を示すレベル差を、音声区間の判定に使用することができる。その結果、雑音モデルの更新にユーザ音声成分が使われるのを抑えることができる。なお、マイクの数は2台に限られず、3台以上のマイクがある構成においても、同様に、マイク間の音レベル差や位相差を計算し、雑音モデルの更新制御に用いることができる。
【0073】
[コンピュータ構成、その他]
上記第1および第2の実施形態における雑音抑制装置20,20a、および雑音推定装置10,10aは、コンピュータを用いて具現化することができる。雑音抑制装置20,20a、や雑音推定装置10,10aを構成するコンピュータは、少なくともCPU、DSP(Digital Signal Processor)等のプロセッサ、ROM、RAM等のメモリを備える。上記の音情報取得部2、フレーム処理部3、スペクトル算出部4、雑音推定装置10、雑音抑圧部11、スペクトル変化算出部5、相関算出部6、パワー算出部7、更新決定部8,8aおよび更新部9、レベル差算出部13および位相差算出部14の各機能は、CPUがメモリに記録されたプログラムを実行することによって実現することもできる。また、上記各機能をプログラムおよび各種データが組み込まれた1または2以上のDSPにより実現することもできる。記録部12は、雑音抑制装置20,20aがアクセス可能なメモリによって実現することができる。
【0074】
また、これらの各機能をコンピュータに実行させるためのコンピュータ読取可能なプログラムおよびそのプログラムを記録した記録媒体も本発明の実施形態に含まれる。この記録媒体は、一時的でないもの(non-transitory)であり、信号そのもののような一時的なメディア(transitory media)を含まない。
【0075】
なお、雑音抑制装置20,20a、および雑音推定装置10,10aが組み込まれた携帯電話やカーナビゲーションシステム等の電子機器も本発明の実施形態に含まれる。
【0076】
上記第1および第2の実施形態によれば、スペクトルの時間変化を用いた手法だけでは判別が難しい母音区間や小声区間を判別して、雑音モデルの更新に使われないようにすることができる。そのため、雑音モデルを用いた雑音抑圧処理によって処理音声が歪むのを抑制することが可能となる。
【符号の説明】
【0077】
1 マイク
2 音情報取得部
3 フレーム処理部
4 スペクトル算出部
10 雑音推定装置
11 雑音抑圧部
12 記録部
13 レベル差算出部
14 位相差算出部
20 雑音抑制装置

【特許請求の範囲】
【請求項1】
1個以上のマイクで取得した音情報における複数フレーム間のスペクトルの相関値を算出する相関算出部と、
前記音情報における少なくとも1つの対象フレームの音レベルを表すパワー値を算出するパワー算出部と、
前記対象フレームのパワー値、および前記対象フレームを含むフレーム間の相関値を用いて、記録部に記録された雑音モデルに対して対象フレームをどの程度反映させるかを示す更新度合いまたは雑音モデルの更新の要否を決定する更新決定部と、
前記決定にしたがって、前記音情報を前記雑音モデルに反映させる更新部とを、備えた雑音推定装置。
【請求項2】
少なくとも2個のマイクで取得した音情報から、前記少なくとも2個のマイク間のレベル差を算出するレベル差算出部をさらに備え、
前記更新決定部は、前記レベル差をさらに用いて、前記雑音モデルの更新度合いまたは更新要否を決定する、請求項1に記載の雑音推定装置。
【請求項3】
少なくとも2個のマイクで取得した音情報から、前記少なくとも2個のマイク間の位相差を算出する位相差算出部をさらに備え、
前記更新決定部は、前記位相差をさらに用いて、前記雑音モデルの更新度合いまたは更新要否を決定する、請求項1または2に記載の雑音推定装置。
【請求項4】
前記更新決定部は、前記雑音モデル更新の要否を、前記相関値をしきい値と比較することにより決定し、前記しきい値は、前記対象フレームのパワー値によって決められる、請求項1〜3のいずれか1項に記載の雑音推定装置。
【請求項5】
前記更新決定部は、前記雑音モデル更新度合いを、前記対象フレームのパワー値に応じて決定する、請求項1〜4のいずれか1項に記載の雑音推定装置。
【請求項6】
前記更新部は、前記更新決定部が、前記雑音モデル更新が不要と判断した場合、前記対象フレームから一定時間内のフレームについては前記雑音モデルの更新を行わない、請求項1〜5のいずれか1項に記載の雑音推定装置。
【請求項7】
前記更新決定部は、前記パワー算出部が算出したパワー値に応じて、前記更新度合いまたは前記更新要否の決定に前記レベル差をさらに用いるか否かを切り替える、請求項2に記載の雑音推定装置。
【請求項8】
前記更新決定部は、前記パワー算出部が算出したパワー値に応じて、前記更新度合いまたは前記更新要否の決定に前記位相差をさらに用いるか否かを切り替える、請求項3に記載の雑音推定装置。
【請求項9】
1個以上のマイクで取得した音情報における複数フレーム間のスペクトルの相関値を算出する相関算出処理と、
前記音情報における少なくとも1つの対象フレームの音レベルを表すパワー値を算出するパワー算出処理と、
前記対象フレームのパワー値、および前記対象フレームを含むフレーム間の相関値を用いて、記録部に記録された雑音モデルに対して対象フレームをどの程度反映させるかを示す更新度合いまたは雑音モデルの更新の要否を決定する更新決定処理と、
前記決定にしたがって、前記音情報を前記雑音モデルに反映させる更新処理とを、コンピュータに実行させる雑音推定プログラム。
【請求項10】
コンピュータが、1個以上のマイクで取得した音情報における複数フレーム間のスペクトルの相関値を算出する相関算出工程と、
コンピュータが、前記音情報における少なくとも1つの対象フレームの音レベルを表すパワー値を算出するパワー算出工程と、
コンピュータが、前記対象フレームのパワー値、および前記対象フレームを含むフレーム間の相関値を用いて、記録部に記録された雑音モデルに対して対象フレームをどの程度反映させるかを示す更新度合いまたは雑音モデルの更新の要否を決定する更新決定工程と、
コンピュータが、前記決定にしたがって、前記音情報を前記雑音モデルに反映させる更新工程と含む、雑音推定方法。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate

【図6】
image rotate