(A)各実施形態に共通する技術思想
まず、後述する複数の実施形態の雑音抑圧装置で共通する技術思想、すなわち、抑圧ゲインの切り替わりを受聴者に感じさせずにミュージカルノイズの発生を抑えられるようにした考え方を説明する。
ミュージカルノイズは、入力信号では知覚されず、抑圧後信号で知覚される。つまり、ミュージカルノイズが雑音抑圧によって生じているのは明らかであるから、ミュージカルノイズが生じる原因は抑圧ゲインにある。ミュージカルノイズは孤立周波数成分であり、孤立周波数成分を生じさせる抑圧ゲインは、時間方向と周波数方向に急激に変化する(例えば、所定時間でなる単位時間の1つ又は/及び所定帯域でなる単位周波数帯域の1つの間に十数dB以上変化するような)特性を有するはずである。逆に言えば、抑圧ゲインが時間方向と周波数方向に滑らかな特性を有していれば、ミュージカルノイズは生じない。また、滑らかな特性を有するゲインは、やや局所的な範囲(例えば、3〜10程度の単位時間及び周波数帯域)で見れば、音量を変化させているだけと見なせる。従って、滑らかな特性を有するゲインは、ミュージカルノイズだけでなくあらゆる歪みを生じさせない。以下、時間方向と周波数方向に滑らかな特性を有するゲインを歪無ゲインと呼ぶ。
歪無ゲインは、歪みを生じさせない反面、音声成分をも減衰させてしまう。従って、音声成分を強調するためには、音声成分が存在する場合に異なる抑圧ゲインを用いる必要がある。しかし、特許文献1及び特許文献2の記載技術のように全周波数帯域で同時にゲインを切り替えると、不自然な音響信号となってしまう。そもそも音声成分は、全周波数帯域に同時に存在するわけではなく、むしろごく一部の周波数帯域だけに存在する。そこで、ゲインを切り替えるタイミングを周波数帯域ごとに適切に行うことで、不自然な音響信号となることを回避できる。
ゲインの切り替えのためには、各周波数帯域において、当該時刻の入力スペクトル要素が音声成分を含むか否か(有音か否か)を判定する必要がある。このような判定技術は一般に音声区間検出という名で知られている。抑圧後の歪みを抑えながら音声を強調するためには、周波数帯域ごとの音声区間検出には高い精度が要求される。高精度な音声区間検出の多くは「検出対象の信号」の周波数特性を用いる(例えば、零交差比も周波数特性を陽に求めるものではないが、高域通過フィルタ出カのパワーと正の相関を有するので、周波数特性を表すパラメータと言える)。しかし、ここでの「検出対象の信号」は各周波数帯域の入力スペクトル要素であるから、その周波数特性を得ることは意味をなさない。従って、ここでは入力スペクトル要素のパワーのみを用いて音声区間検出を行う必要があるが、パワーのみを用いる音声区間検出は精度が低いことが知られている。
パワーのみを用いる音声区間検出の精度が低い原因は、以下の通りである。入力された入力パワーが音声成分を含むか否かは、雑音パワーと比較することで判定できる。雑音パワーは未知ゆえに推定しなければならない。そして、雑音パワーを推定するためには、当該パワーが音声成分を含むか否か、又は、音声成分をどの程度含んでいるかを知る必要があり、論理が循環してしまう。ここで、推定する雑音パワーを瞬時値でなく所定期間(例えば0.2〜1秒)の平均値であるとすると、雑音パワーは1単位時間では大きく変化しないので、現在の雑音パワーの代わりに1単位時間前の推定雑音パワーを用いることで、当該入力パワーが音声成分を含むかどうかを判定でき、得られた判定結果に基づいて雑音パワーを推定することができる。しかし、推定雑音パワーが所定期間の平均値であっても1単位時間の遅延は無視できず、さらには平均していない真の雑音成分は小刻みに変動している。従って、当該入力パワーが1単位時間前の推定雑音パワーより大きい場合にも、確実に音声成分が含まれているとは言えず、結果として精度の高い音声区間検出が困難となる。
そこで、本発明の各実施形態では、雑音パワーや音声区間などの雑音環境を分析するモジュールを2つ用意し、モジュールごとに得られた雑音環境情報を2つのモジュール間で交換し合い、得られた2組の雑音環境情報を効果的に統合することで、上述した音声区間検出の低精度問題を克服する。各モジュールは互いが出力する雑音環境情報を必要とするため同時には実行できず、順次実行することとなる。すなわち、先に実行されるモジュールM1は後に実行されるモジュールM2が1単位時間前に出力した雑音環境情報を利用し、モジュールM2はモジュールM1が同一の単位時間内に出力した雑音環境情報を利用する。
このように2つのモジュールに情報を交換させる方法は、概ね、次のような3つのメリットを生む。第1に、モジュールM2はモジュールM1から与えられる遅延のない雑音環境情報を利用できるため、モジュールM2における雑音環境情報の推定精度が向上する。第2に、モジュールM1がモジュールM2から与えられる雑音環境情報は上述した通り高い推定精度を有するため、モジュールM1における雑音環境情報の推定精度も向上する。第3に、モジュールM1及びモジュールM2のパラメータ及び構成の少なくとも一方に違いを持たせることにより、推定の観点(すなわち、雑音環境情報の情報量)を増やすことができ、モジュールM1やモジュールM2における雑音環境情報の推定精度や、統合された雑音環境情報の推定精度が向上する。
なお、歪無ゲインは、時間方向と周波数方向に滑らかな特性を有していれば、雑音成分抑圧後の歪みを抑えることができる。しかし、歪無ゲインと音声成分に対する抑圧ゲインとの特性差が大きいと、音声成分の歪みが強調されてしまう。そこで、歪無ゲインは抑圧ゲインと関連を持つ方が良く、特に、抑圧ゲインを時間方向と周波数方向に十分平滑化した値を歪無ゲインとする方法が好適である。
(B)第1の実施形態
以下、本発明による雑音抑圧装置及びプログラムの第1の実施形態を、図面を参照しながら説明する。
(B−1)第1の実施形態の構成
図1は、第1の実施形態の雑音抑圧装置の構成を示すブロック図である。
第1の実施形態の雑音抑圧装置は、図1で示す構成部分をハードウェアで構成することも可能であり、また、CPUが実行するソフトウェア(雑音抑圧プログラム)とCPUとで実現することも可能であるが、いずれの実現方法を採用した場合であっても、機能的には図1で表すことができる。
図1において、第1の実施形態の雑音抑圧装置100は、周波数解析部101、帯域別雑音抑圧部102−1〜102−K、ゲイン平滑化部103及び波形復元部104を有する。
周波数解析部101は、入力信号を周波数解析して周波数スペクトルを算出し、得られた入力スペクトルを帯域別雑音抑圧部102−1〜102−Kに与えるものである。周波数解析には、例えば、高速フーリエ変換(Fast Fourier Transform:FFT)やウェーブレット変換やフィルタバンクなどを適用することができるが、FFTが好適である。以下では、入力スペクトルは複素数で与えられるものとする。
帯域別雑音抑圧部102−1〜102−Kは、周波数解析部101によって得られるスペクトル(周波数帯域)の数(K)だけ設けられている。以下、各帯域別雑音抑圧部102−1〜102−Kへの入力スペクトルの各要素X1〜XKを入力周波数要素と呼ぶこととする。
各帯域別雑音抑圧部102−1〜102−K(以下、枝番「1」〜「K」を適宜省略して説明する)は、入力される入力周波数要素は異なるが同様な構成を有する。帯域別雑音抑圧部102は、自己への入力周波数要素に対して後述するような雑音抑圧を行って、得られた抑圧後周波数要素Y(Y1〜YK)を波形復元部104に与える。
ゲイン平滑化部103には、全ての帯域別雑音抑圧部102−1〜102−Kの内部で後述するように算出された抑圧ゲインが与えられる。ゲイン平滑化部103は、複数の抑圧ゲインを用いて、抑圧ゲインを時間方向と周波数方向に平滑化し、各帯域別雑音抑圧部102−1〜102−K用の後述の歪無ゲインを得て帯域別雑音抑圧部102−1〜102−Kに返すものである。ゲイン平滑化部103によるゲイン平滑化の詳細については、後述する動作の項の説明で明らかにする。
波形復元部104は、全ての帯域別雑音抑圧部102−1〜102−Kから与えられた抑圧後周波数要素Y1〜YKで成る抑圧後周波数スペクトルを時間領域の信号に変換し、得られた抑圧後信号を、当該雑音抑圧装置100の出力として次段に出力するものである。時間領域の信号への変換は、周波数解析部101で用いた周波数解析技術と対をなす方法を用いる。例えば、周波数解析技術がFFTであれば時間領域の信号への変換には逆高速フーリエ変換(Inverse FFT;IFFT)を用いる。
なお、次段の処理部が、周波数領域の信号を取扱うものである場合には、波形復元部104を省略するようにすれば良い。
各帯域別雑音抑圧部102はそれぞれ、第1の雑音環境分析部110、第2の雑音環境分析部111、遅延部112、情報統合部113、抑圧ゲイン算出部114、ゲイン選択部115及び乗算部116を有する。
帯域別雑音抑圧部102に与えられた入力周波数要素Xは、第1の雑音環境分析部110、第2の雑音環境分析部111、抑圧ゲイン算出部114及び乗算部116に与えられる。
第1の雑音環境分析部110は、入力周波数要素Xと第2の雑音環境分析部111から遅延部112を介して与えられた第2の雑音環境情報NI2とに基づいて雑音環境を推定し、得られた第1の雑音環境情報NI1を第2の雑音環境分析部111及び情報統合部113に与える。第1の雑音環境情報NI1は、音声又は雑音のパワーの推定値である第1の平滑化パワーP1と、入力周波数要素Xが音声成分を含むか否かを判定した第1の判定結果SL1とを少なくとも含む。第1の雑音環境分析部110の詳細な機能については後述する。
第2の雑音環境分析部111は、入力周波数要素Xと第1の雑音環境分析部110から与えられた第1の雑音環境情報NI1とに基づいて雑音環境を推定し、得られた第2の雑音環境情報NI2を、遅延部112を介して第1の雑音環境分析部110に与えると共に、上述した第2の雑音環境情報NI2を情報統合部113に与える。第2の雑音環境情報NI2は、雑音又は音声のパワーの推定値である第2の平滑化パワーP2と、入力周波数要素Xが音声成分を含むか否かを判定した第2の判定結果SL2とを少なくとも含む。第2の雑音環境分析部111の詳細な機能については後述する。
情報統合部113は、第1の雑音環境情報NI1と第2の雑音環境情報NI2とを統合し、得られた推定雑音パワーPNを抑圧ゲイン算出部114に与えると共に、得られた音声区間判定結果SLをゲイン選択部115に与える。情報統合部113の詳細な機能については後述する。
抑圧ゲイン算出部114は、入力周波数要素Xと推定雑音パワーPNとに基づいて雑音成分を抑圧して音声成分を強調する抑圧ゲインGSを算出し、得られた抑圧ゲインGSをゲイン平滑化部103及びゲイン選択部115に与える。帯域別雑音抑圧部102における雑音抑圧技術として、公知の雑音抑圧技術を用いることができ、例えば、SS法やウィナーフィルタ、MMSE−STSA法、事後確率最大化に基づく方法などを適用することができる。抑圧ゲイン算出部114は、適用している雑音抑圧技術によって定まる公知の算出方法を適用して抑圧ゲインGSを算出する。なお、第1の実施形態(他の実施形態も同様)によれば、いかなる雑音抑圧技術を用いても歪み(ミュージカルノイズを含む)を生じさせないので、処理量の少ないSS法又は雑音抑圧性能の高いウィナーフィルタが好適に用いられる。
ゲイン選択部115は、最終抑圧ゲイン決定部として設けられたものであり、情報統合部113から与えられた音声区間判定結果SLに基づいて、抑圧ゲイン算出部114からの抑圧ゲインGS又はゲイン平滑化部103からの歪無ゲインGFの一方を選択し、得られた雑音抑圧に適用される最終的な抑圧ゲイン(以下、最終抑圧ゲインと呼ぶ)GCを乗算部116に与えるものである。具体的には、ゲイン選択部115は、音声区間判定結果SLが音声区間であれば最終抑圧ゲインGCとして抑圧ゲインGSを選択し、音声区間判定結果SLが音声区間でなければ最終抑圧ゲインGCとして歪無ゲインGFを選択する。
乗算部116は、入力周波数要素Xに最終抑圧ゲインGCを乗じ、得られた抑圧後周波数要素Yを波形復元部104に与える。
図2は、第1の雑音環境分析部110の詳細構成例を示すブロック図である。図2において、第1の雑音環境分析部110は、第1のパワー算出部201、第1のパワー平滑化部202、第1の閾値算出部203及び第1の比較部204を有する。
第1の雑音環境分析部110に与えられた入力周波数要素Xは、第1のパワー算出部201に与えられ、第1の雑音環境分析部110に与えられた第2の雑音環境情報NI2のうち第2の判定結果SL2は、第1のパワー平滑化部202に与えられる。
第1のパワー算出部201は、入力周波数要素Xのパワーを算出し、得られた第1の入力パワーPX1を第1のパワー平滑化部202及び第1の比較部204に与える。ここで、入力周波数要素Xのパワーの算出方法は限定されるものではなく、例えば、入力周波数要素Xの絶対値の2乗をパワーとして算出するようにしても良く、また、入力周波数要素Xの絶対値をパワーとして算出するようにしても良い。
第1のパワー平滑化部202は、第2の判定結果SL2に基づいて第1の入力パワーPX1を時間方向に平滑化し、得られた第1の平滑化パワーP1を第1の閾値算出部203に与える。第1のパワー平滑化部202は、第2の判定結果SL2が真値(すなわち、音声区間を表す値)であるときには第1の入力パワーPX1を平滑化して第1の平滑化パワーP1を更新し、第2の判定結果SL2が偽値(すなわち、雑音区間を表す値)であるときには第1の平滑化パワーP1を更新しない。従って、第1の平滑化パワーP1が意味するのは音声パワーの平滑化値(音声パワーの平均的な値)である。なお、平滑化方法や平滑化構成は何ら限定されるものではない。例えば、第1のパワー平滑化部202は、時定数が0.8秒の時定数フィルタを用いて平滑化する。
第1の閾値算出部203は、第1の平滑化パワーP1に0より大きく1以下の値をとる所定の定数係数C1(以下、第1の係数と呼ぶ)を乗じて、第1の入力パワーPX1と比較する第1の閾値H1を形成して第1の比較部204に与える。音声パワーと雑音パワーとを切り分けるための第1の閾値H1を定めるために音声パワーの平均的な値を意味する第1の平滑化パワーP1に乗算される第1の係数C1の値は、限定されるものではないが、例えば0.5を適用することができる。
第1の比較部204は、第1の閾値H1と第1の入力パワーPX1とを比較して、入力周波数要素Xに音声成分が含まれているか否かを判定し、第1の判定結果SL1を出力する。第1の比較部204は、第1の入力パワーPX1が第1の閾値H1より大きければ第1の判定結果SL1として真値を出力し、そうでなければ偽値を出カする。
なお、第1の閾値H1と第1の入力パワーPX1とを比較する際にハングオーバー動作を実行するようにしても良い。以下、ハングオーバー動作について説明する。第1の比較部204に関して、最後に真値が出力されてからの経過時間TEに対する所定のハングオーバー時間THを定めておく。第1の比較部204は、第1の閾値H1と第1の入力パワーPX1を比較した際、(i)PX1>H1である場合には真値の第1の判定結果SL1を出力すると共に経過時間TEを0にクリアし、(ii)PX1≦H1かつTE≦THである場合には真値の第1の判定結果SL1を出力すると共に経過時間TEを1単位時間分だけインクリメントし、(iii)PX1≦H1かつTE>THである場合には偽値の第1の判定結果SL1を出力する。なお、好適なハングオーバー時間については後述する。
図3は、第2の雑音環境分析部111の詳細構成例を示すブロック図である。図3において、第2の雑音環境分析部111、第2のパワー算出部301、第2のパワー平滑化部302、第2の閾値算出部303及び第2の比較部304を有する。
第2の雑音環境分析部111に与えられた入力周波数要素Xは、第2のパワー算出部301に与えられ、第2の雑音環境分析部111に与えられた第1の雑音環境情報NI1のうち第1の判定結果SL1は、第2のパワー平滑化部302に与えられる。
第2のパワー算出部301は、入力周波数要素Xのパワーを算出し、得られた第2の入力パワーPX2を第2のパワー平滑化部202及び第2の比較部204に与える。ここで、入力周波数要素Xのパワーの算出方法は限定されるものではなく、例えば、入力周波数要素Xの絶対値の2乗をパワーとして算出するようにしても良く、また、入力周波数要素Xの絶対値をパワーとして算出するようにしても良い。また、第2のパワー算出部301で用いられるパワー算出方法は、第1のパワー算出部201と同じとするのが好適だが、異なる方法を用いても良い。
第2のパワー平滑化部302は、第1の判定結果SL1に基づいて第2の入力パワーPX2を時間方向に平滑化し、得られた第2の平滑化パワーP2を第2の閾値算出部303に与える。第2のパワー平滑化部302は、第1の判定結果SL1が偽値(すなわち、雑音区間を表す値)であるときには第2の入力パワーPX2を平滑化して第2の平滑化パワーP2を更新し、第1の判定結果SL1が真値(すなわち、音声区間を表す値)であるときには第2の平滑化パワーP2を更新しない。従って、第2の平滑化パワーP2が意味するのは雑音パワーの平滑化値(雑音パワーの平均的な値)である。なお、平滑化方法や平滑化構成は何ら限定されるものではない。例えば、第2のパワー平滑化部は、時定数が0.2秒の時定数フィルタを用いて平滑化する。
第2の閾値算出部303は、第2の平滑化パワーP2に1以上の値をとる所定の定数係数C2(以下、第2の係数と呼ぶ)を乗じて、第2の入力パワーPX2と比較する第2の閾値H2を形成して第2の比較部304に与える。音声パワーと雑音パワーとを切り分けるための第2の閾値H2を定めるために音声パワーの平均的な値を意味する第2の平滑化パワーP2に乗算される第2の係数C2の値は、限定されるものではないが、例えば2.0を適用することができる。
第2の比較部304は、第2の閾値H2と第2の入力パワーPX2とを比較して、入力周波数要素Xに音声成分が含まれているか否かを判定し、第2の判定結果SL2を出力する。第2の比較部304は、第2の入力パワーPX2が第2の閾値H2より大きければ第2の判定結果SL2として真値を出力し、そうでなければ偽値を出力する。
なお、第1の比較部204と同様に、第2の比較部304においても、第2の閾値H2と第2の入力パワーPX2H2とを比較する際に、ハングオーバー動作を実行するようにしても良い。第2の比較部304におけるハングオーバー動作は、第1の比較部204におけるハングオーバー動作と同様なので、その説明を省略する。なお、好適なハングオーバー時間については後述する。
次に、第1の比較部204及び第2の比較部304のそれぞれの好適なハングオーバー時間について説明する。
第1の比較部204が出力した第1の判定結果SL1は、雑音パワーの平均的な値を推定するために第2のパワー平滑化部302に与えられる。入力周波数要素Xが音声成分を含んでいるのに第1の入力パワーPX1を平滑化してしまう誤りを回避するために、第1の比較部204ではハングオーバー動作を実施して音声区間の誤棄却率を減少させることが望ましく、例えば、ハングオーバー時間を0.2秒とするのが好適である。
第2の比較部304が出力した第2の判定結果SL2は、音声パワーの平均的な値を推定するために第1のパワー平滑化部202に与えられる。入力周波数要素Xが音声成分を含んでいないのに第2の入力パワーPX2を平滑化してしまう誤りを回避するために、第2の比較部304ではハングオーバー時間を短く設定するか、ハングオーバー動作を実施しないことで、音声区間の誤受理率を減少させることが望ましい。
次に、情報統合部113における具体的な機能を、推定雑音パワーPNの決定と、音声区間判定結果SLの決定とに分けて詳細に説明する。
第1の実施形態においては、第2のパワー平滑化部302で算出される第2の平滑化パワーP2が雑音パワーの平均的な値の推定値を表していることから、情報統合部113が、第2の平滑化パワーP2をそのまま推定雑音パワーPNとして決定に算出するのが最適である。なお、第2の平滑化パワーP2を更に時間方向に平滑化した値を推定雑音パワーPNとすることも好適である。
第2の判定結果SL2は、同一の単位時間内に算出された第1の雑音環境情報NI1に基づいて音声区間を推定していることから、推定精度の点で第1の判定結果SL1に勝り、音声区間判定結果SLとして第2の判定結果SL2をそのまま適用することが好適である。なお、音声区間判定結果SLの決定方法はこれに限定されるものでなく、例えば、音声区間判定結果SLとして第1の判定結果SL1をそのまま適用しても良く、また、第1の判定結果SL1と第2の判定結果SL2の論理和(SL1+SL2と書くこととする)や論理積(SL1×SL2と書くこととする)を音声区間判定結果SLとするようにしても良い。また、一旦得た統合結果(SL1、SL2、SL1+SL2、又はSL1×SL2)に対して、ハングオーバー動作を実行して最終的な音声区間判定結果SLを得るようにしても良い。
(B−2)第1の実施形態の動作
次に、上述した構成を有する第1の実施形態の雑音抑圧装置100の動作を説明する。まず、第1の実施形態の雑音抑圧装置100の全体動作を説明した後、各帯域別雑音抑圧部102及びゲイン平滑化部103の動作を説明し、さらに、第1の雑音環境分析部110及び雑音環境分析部111の動作を説明する。
図1において、第1の実施形態の雑音抑圧装置100への入力信号は周波数解析部101に与えられ、周波数解析部101において、入力信号は周波数解析されて入力周波数スペクトルが算出され、得られた入力周波数スペクトルの各要素である入力周波数要素X(X1〜XK)がそれぞれ帯域別雑音抑圧部102(102−1〜102−K)に与えられる。
各帯域別雑音抑圧部102においては、自己へ入力された入力周波数要素Xに対して雑音抑圧を行って、得られた抑圧後周波数要素Yが波形復元部104に与えられる。
波形復元部104において、全ての帯域別雑音抑圧部102−1〜102−Kから与えられた抑圧後周波数要素Y1〜YKで成る抑圧後周波数スペクトルが時間領域の信号に変換され、得られた抑圧後周波数スペクトルが、当該雑音抑圧装置100の次段に出力される。
次に、各帯域別雑音抑圧部102及びゲイン平滑化部103の動作を説明する。
帯域別雑音抑圧部102に与えられた入力周波数要素Xは、第1の雑音環境分析部110、第2の雑音環境分析部111、抑圧ゲイン算出部114及び乗算部116に与えられる。
第1の雑音環境分析部110においては、入力周波数要素Xと第2の雑音環境分析部111から遅延部112を介して与えられた第2の雑音環境情報NI2とに基づいて、雑音環境が推定され、得られた第1の雑音環境情報NI1が第2の雑音環境分析部111及び情報統合部113に与えられる。
また、第2の雑音環境分析部111においては、入力周波数要素Xと第1の雑音環境分析部110から与えられた第1の雑音環境情報NI1とに基づいて、雑音環境が推定され、得られた第2の雑音環境情報NI2が、遅延部112を介して第1の雑音環境分析部110に与えられると共に、上述した第2の雑音環境情報NI2が情報統合部113に与えられる。
情報統合部113においては、第1の雑音環境情報NI1と第2の雑音環境情報NI2とが統合され、統合により得られた推定雑音パワーPNが抑圧ゲイン算出部114に与えられ、統合により得られた音声区間判定結果SLがゲイン選択部115に与えられる。
抑圧ゲイン算出部114においては、入力周波数要素Xと推定雑音パワーPNとに基づいて、雑音成分を抑圧して音声成分を強調する抑圧ゲインGSが算出され、得られた抑圧ゲインGSがゲイン平滑化部103及びゲイン選択部115に与えられる。
ゲイン平滑化部103においては、各帯域別雑音抑圧部102の抑圧ゲイン算出部114から与えられた抑圧ゲインGS1〜GSKが時間方向及び周波数方向に平滑化され、得られた歪無ゲインGF1〜GFKが各帯域別雑音抑圧部102のゲイン選択部115に与えられる。ここでは便宜上、GS及びGFに周波数帯域を規定する枝番を付して、それぞれGS1〜GSK及びGF1〜GFKと書くこととする。
ゲイン選択部115においては、音声区間判定結果SLが音声区間であれば最終抑圧ゲインGCとして抑圧ゲインGSが選択され、音声区間判定結果SLが音声区間でなければ最終抑圧ゲインGCとして歪無ゲインGFが選択されて、乗算部116に与えられる。
乗算部116においては、入力周波数要素Xに最終抑圧ゲインGCが乗算され、得られた抑圧後周波数要素Yが波形復元部104に与えられる。
抑圧ゲインGSを時間方向及び周波数方向に平滑化できる方法であれば、ゲイン平滑化部103における平滑化方法として任意の方法が適用できる。この平滑化方法として、まず周波数方向に平滑化した後、続いて時間方向に平滑化する方法が好適である。
好適な具体的な平滑化方法は、以下のような4つの手順PR1〜PR4を有する。すなわち、手順PR1;K個の周波数帯域を数個のグループに分け、手順PR2;グループごとに抑圧ゲインの平均値を算出し(この処理は周波数方向の平滑化処理になっている)、手順PR3;グループごとに時定数フィルタ(リーク積分とも呼ばれる)によって時間方向に平滑化し、手順PR4;線形補間によってK個の周波数帯域に分配する。
手順PR1におけるグループ数をN(但し、N<K)個とする。各グループに含まれる周波数帯域の数は等しくして良く、また、異なっていても良い。例えば、グループに含まれる周波数帯域の数は、臨界帯域幅又は臨界帯域幅を所定の定数倍(例えば2倍)した値を、入力周波数要素の1周波数帯域の帯域幅で除し、得られた値を整数に丸めた値(例えば、四捨五入した値)に定めることが好適である。また、隣り合うグループは共通の周波数帯域を含まないようにしても良く、共通の周波数帯域を含むようにしても良いが、前者の方が好適である。グループ数Nは、4〜10個が好適である。
以上では、臨界帯域幅を考慮して平滑化する例を説明したが、その理由は以下の通りである。聴覚系は、聴覚フィルタと呼ばれる中心周波数が異なる帯域のフィルタ群としてモデル化することができ、聴覚フィルタの帯域幅は臨界帯域幅と呼ばれている。臨界帯域幅、音の大きさの知覚や聴覚マスキング(ある音が、別の大きな音の存在によって聴こえなくなる現象)と強い関連がある。臨界帯域幅に沿って平滑化することは、聴覚との相性が良いため、より自然な処理音が得られることが期待できる。
手順PR2における周波数方向の平均値の算出方法には、相加平均が好適である。ここで、手順PR1におけるグループ化において、隣り合うグループが共通の周波数帯域を含む場合には、加重相加平均を用いるようにしても良い。手順PR2によって得られたゲイン(グループごとの周波数方向の平均ゲイン)をGA1〜GANと書くこととする。
手順PR3では、グループごとのゲインGA1〜GANに対して、時定数がtauG(0<tauG<1)の時定数フィルタをかけることにより、これらゲインGA1〜GANのそれぞれを時間方向に平滑化する。時定数tauGの値として、0.4秒が好適である。あるグループn(n=1〜N)について適用する、時定数フィルタによるフィルタリングは(1)式で表さすことができる。(1)において、GBnはゲインGAnを時間方向に平滑化したゲインであり、GB’nは1単位時間前のGBnである。
GBn=GAn+tauG×(GB’n−GAn) …(1)
手順PR4において、各グループの代表の周波数帯域の番号kc1〜kcNは、各グループに含まれる周波数帯域の通し番号群kan〜kbn(kanは最小番号、kbnは最大番号)の中心とする。すなわち、あるグループn(n=1〜N)に対して、kcn=(kan+kbn)/2とする。kcnは小数でも構わない。kc1≦k≦kcNで表される周波数帯域kの歪無ゲインGFkは、GBnを線形補間することによって与えられる。そして、両端の周波数帯域に対しては、以下のような定値が用いられる。第1グループ(最低グループ)の中心周波数帯域以下の周波数帯域、すなわち、k≦kc1の周波数帯域kについてはその歪無ゲインGFkをグループの代表ゲインGB1とし、第Nグループ(最高グループ)の中心周波数帯域以上の周波数帯域、すなわち、k≧kcNの周波数帯域kについてはその歪無ゲインGFkをグループの代表ゲインGBNとする。
図4〜図7はそれぞれ、ゲイン平滑化部103による上述した平滑化方法をイメージ的に示す説明図である。なお、図4〜図7において、周波数軸の目盛は臨界帯域幅に比例した間隔で示している。
図4は、入力周波数スペクトル(X1〜XK)のパワー(入力パワー)の単位時間ごとの変化を示している。図5は、図4に示す入力周波数スペクトルの各入力周波数要素について得られた抑圧ゲインをグループに分けた後、グループごとに抑圧ゲインの平均値を求め、そのグループごとの平均値の単位時間ごとの変化を示している。すなわち、手順PR1及びPR2を実行した段階の値の単位時間ごとの変化を示している。図6は、図5に示すグループごとの平均値の時間変化に対して、時定数フィルタによって時間方向に平滑化して得た値の単位時間ごとの変化を示している。すなわち、手順PR3を実行した段階の値の単位時間ごとの変化を示している。図7は、図6に示す時間方向の平滑化が終わった後のグループ毎の代表値に基づいて、必要な全ての周波数帯域の値を補間によって得た場合の単位時間ごとの変化を示している。すなわち、手順PR4を実行した段階の値の単位時間ごとの変化を示している。
次に、第1の雑音環境分析部110の動作を、上述した図2に加え、図8を参照しながら説明する。図8は、第1の雑音環境分析部110における各部信号波形及び判定結果などを示す説明図である。
第1の雑音環境分析部110に与えられた入力周波数要素Xは、第1のパワー算出部201に与えられ、第1の雑音環境分析部110に与えられた第2の雑音環境情報NI2のうち第2の判定結果SL2(図8の上側の「×」列参照)は、第1のパワー平滑化部202に与えられる。
第1のパワー算出部201においては、入力周波数要素Xのパワーが算出され、得られた第1の入力パワーPX1(図8の細実線参照)が第1のパワー平滑化部202及び第1の比較部204に与えられる。
第1のパワー平滑化部202においては、第2の判定結果SL2が真値(すなわち、音声区間を表す値)であるときには、第1の入力パワーPX1が平滑化されて第1の平滑化パワーP1(図8の太実線参照)が更新され、第2の判定結果SL2が偽値(すなわち、雑音区間を表す値)であるときには、第1の平滑化パワーP1が更新されずに直前の値を維持する。このようにして得られた第1の平滑化パワーP1が第1の閾値算出部203に与えられる。
第1の閾値算出部203においては、第1の平滑化パワーP1に0より大きく1以下の値をとる第1の係数C1が乗算されて、第1の入力パワーPX1と比較される第1の閾値H1(図8の破線参照)が形成されて第1の比較部204に与えられる。
そして、第1の比較部204において、第1の閾値H1と第1の入力パワーPX1とが比較され、すなわち、入力周波数要素Xに音声成分が含まれているか否かが判定され、第1の判定結果SL1(図8の下側の「+」列参照)として出力される。
なお、図8は、第1の閾値H1と第1の入力パワーPX1とを比較する際に、上述したハングオーバー動作を実行するようにした場合を示している。
次に、第2の雑音環境分析部111の動作を、上述した図3に加え、図9を参照しながら説明する。図9は、第2の雑音環境分析部111における各部信号波形及び判定結果などを示す説明図である。
第2の雑音環境分析部111に与えられた入力周波数要素Xは、第2のパワー算出部301に与えられ、第2の雑音環境分析部111に与えられた第1の雑音環境情報NI1のうち第1の判定結果SL1(図9の下側の「+」列参照)は、第2のパワー平滑化部302に与えられる。
第2のパワー算出部301においては、入力周波数要素Xのパワーが算出され、得られた第2の入力パワーPX2(図9の細実線参照)が第2のパワー平滑化部202及び第2の比較部204に与えられる。
第2のパワー平滑化部302においては、第1の判定結果SL1(図9参照)に基づいて、第2の入力パワーPX2が時間方向に平滑化され、得られた第2の平滑化パワーP2(図9の太実線参照)が第2の閾値算出部303に与えられる。
第2の閾値算出部303においては、第2の平滑化パワーP2に1以上の値をとる第2の係数C2が乗算されて、第2の入力パワーPX2と比較する第2の閾値H2(図9の破線参照)が形成されて第2の比較部304に与えられる。
そして、第2の比較部304において、第2の閾値H2と第2の入力パワーPX2とが比較され、すなわち、入力周波数要素Xに音声成分が含まれているか否かが判定され、第2の判定結果SL2(図9の上側の「×」列参照)が出力される。
(B−3)第1の実施形態の効果
第1の実施形態によれば、周波数帯域ごとに高い精度で音声成分が含まれているか否かを判定し、音声成分が含まれている場合には、従来と同様に算出した抑圧ゲインを用いて雑音成分を抑圧し(言い換えると音声成分を強調し)、音声成分が含まれていない場合には、上述した抑圧ゲインを時間方向と周波数方向に平滑化した歪無ゲインを用いて雑音成分を抑圧するようにしたので、音声区間又は雑音区間の抑圧ゲインの切り替わりによる不自然さを伴うことなく、しかも、歪み(ミュージカルノイズを含む)を生じさせずに、雑音成分を抑圧することができる。
(B−4)第1の実施形態の変形実施形態
図10は、第1の実施形態を変形した実施形態の雑音抑圧装置100Aの構成を示すブロック図であり、第1の実施形態に係る図1との同一、対応部分には同一、対応符号を付して示している。
上述した第1の実施形態の雑音抑圧装置100においては、抑圧ゲインを平滑化するゲイン平滑化部103を、全ての帯域別雑音抑圧部102−1〜102−Kの外部に設けていた。そして、ゲイン平滑化部103が抑圧ゲインを周波数方向及び時間方法に平滑化するものであった。上述したように、ゲイン平滑化部103は、抑圧ゲインを周波数方向及び時間方法に平滑化するものであれば良く、その詳細構成などは限定されないものであった。そのため、ゲイン平滑化部103による抑圧ゲインの平滑化は、周波数方向の平滑化及び時間方向の平滑化の順序も問われず、時間方向の平滑化を周波数方向の平滑化より先に行っても良い。
図10に示す雑音抑圧装置100Aは、抑圧ゲインの平滑化を、時間方向の平滑化、周波数方向の平滑化の順に行う場合の変形実施形態であり、帯域別雑音抑圧部102A(102A−1〜102A−K)内に設けられた時間平滑化部117が時間方向の平滑化を行い、全ての帯域別雑音抑圧部102A−1〜102A−Kの外部に設けられた周波数平滑化部103Aが時間方向の平滑化が終了したゲインに対して周波数方向の平滑化を行い、得られた周波数帯域ごとの歪無ゲインを帯域別雑音抑圧部102A−1〜102A−Kに返すものである。
特許請求の範囲における「ゲイン平滑化手段」の用語は、このような時間平滑化部117が分散配置されている場合を含むものとする。
(C)第2の実施形態
次に、本発明による雑音抑圧装置及びプログラムの第2の実施形態を、図面を参照しながら説明する。
第1の実施形態では、抑圧ゲインを時間方向と周波数方向に平滑化することで歪無ゲインを算出していた。しかし、時間方向と周波数方向の平滑化は、それ相応の処理量が必要となる。
そこで、第2の実施形態では、歪無ゲインを所定の定数値で与えることにより、第1の実施形態より処理量を少なくした。
図11は、第2の実施形態の雑音抑圧装置の構成を示すブロック図であり、上述した第1の実施形態に係る図1との同一、対応部分には同一、対応符号を付して示している。
図11において、第2の実施形態の雑音抑圧装置100Bは、第1の実施形態とは異なって全体構成にゲイン平滑化部103を含まず、帯域別雑音抑圧部102Bの中に歪無ゲイン記憶部118を有する。歪無ゲイン記憶部118が記憶している歪無ゲインはゲイン選択部115に与えられる。
歪無ゲイン記憶部118は、所定の定数値でなる歪無ゲインGF(GF1〜GFK)が外部から与えられて(設定されて)記憶しているものである。各周波数帯域の歪無ゲインGF1〜GFKは、全て同じ値としても良く、また、異なる値としても良く、前者の方が好適である。但し、歪無ゲインGF1〜GFKを異なる値とする場合には、「歪無ゲインは(時間方向と)周波数方向に滑らかである」という特性を満たすように設定しなければならず、例えば、隣り合う周波数帯域の歪無ゲインの差を0〜1dBとするのが好ましい。所定の定数値として与えられる歪無ゲインGFの値は、可能な限り、抑制ゲインGSの平均的な値に近い値にすることが好適である。例えば、雑音抑圧装置100Bが、雑音の小さい環境でのみ使用されるならば歪無ゲインGFを小さな値(例えば0.01)として雑音抑圧量を大きくするのが好ましく、逆に、雑音が大きい環境で使用されるならば歪無ゲインGFをそれほど小さくない値(例えば0.2)として雑音抑圧量を小さくすることが好ましい。
第2の実施形態のゲイン選択部115は、歪無ゲインの供給元が第1の実施形態とは異なるが、第1の実施形態と同様に機能する。すなわち、ゲイン選択部115は、音声区間判定結果SLが音声区間であれば最終抑圧ゲインGCとして抑圧ゲインGSを選択し、音声区間判定結果SLが音声区間でなければ最終抑圧ゲインGCとして歪無ゲイン記憶部118から読み出された歪無ゲインGFを選択する。
第2の実施形態によれば、歪無ゲインを予め設定するようにしたので、抑圧ゲインの平滑化処理が不要となり、より少ない処理量で、また、より簡単な構成で、音声区間又は雑音区間の抑圧ゲインの切り替わりによる不自然さを伴うことなく、しかも、歪み(ミュージカルノイズを含む)を生じさせずに、雑音成分を抑圧することができる。
以下、第2の実施形態のいくつかの変形実施形態を説明する。
以上では、歪無ゲイン記憶部118に記憶している歪無ゲインは1種類の場合を示したが、歪無ゲイン記憶部118に複数種類の歪無ゲインを記憶しておき、ユーザなどが選択し得るようにしても良い。ここで、複数種類の選択は、帯域別雑音抑圧部102B−1〜102B−K毎に行うことができるようにしても良く、また、帯域別雑音抑圧部102B−1〜102B−Kを複数のグループに分けてグループごとにできるようにしても良く、さらには、全ての帯域別雑音抑圧部102B−1〜102B−Kについて連動して一括選択できるようにしても良い。
第1の実施形態のようなゲイン平滑化部(図1参照)を備え、歪無ゲイン記憶部118に記憶している歪無ゲインを適用するか、ゲイン平滑化部が得た歪無ゲインを適用するかをユーザなどが選択可能とするようにしても良い。
(D)第3の実施形態
次に、本発明による雑音抑圧装置及びプログラムの第3の実施形態を、図面を参照しながら説明する。
第1の実施形態では、ゲイン選択部115は、情報統合部113から与えられた音声区間判定結果SLに基づいて、抑圧ゲインGS又は歪無ゲインGFを選択していた(切り換えていた)。しかし、切り替えるタイミングが全周波数帯域で同時でない場合にも、周波数帯域ごとのゲイン値が急激に変化すると、受聴者に多少の不自然さを知覚させる可能性がある。
そこで、第3の実施形態では、論理値である音声区間判定結果SLを実数値(真値なら1.0、偽値なら0.0)として扱い、これを時間方向及び周波数方向の少なくとも一方について平滑化して音声が存在する確率的な値である音声存在確率SPPを算出し、音声存在確率SPPに基づいて、抑圧ゲインGS又は歪無ゲインGFを合成して最終抑圧ゲイン(最終的な抑圧ゲイン)GCを得ることにより、抑圧後信号の歪みを第1の実施形態以上に軽減しようとした。
(D−1)第3の実施形態の構成
図12は、第3の実施形態の雑音抑圧装置の構成を示すブロック図であり、上述した第1の実施形態に係る図1との同一、対応部分には同一、対応符号を付して示している。
図12及び図1の比較から明らかなように、第3の実施形態の雑音抑圧装置100Cは、第1の実施形態の構成に判定結果平滑化部105が追加されていると共に、各帯域別雑音抑圧部(符号102Cを用いている)におけるゲイン選択部115がゲイン合成部115Cに置き換わっている。
判定結果平滑化部105は、各帯域別雑音抑圧部102C−1〜102C−Kから与えられた音声区間判定結果SL1〜SLKを実数値と見なして時間方向及び周波数方向の少なくとも一方について平滑化し、得られた音声存在確率SPP1〜SPPKをそれぞれ対応するゲイン合成部115C−1〜115C−Kに与えるものである。判定結果平滑化部105は、音声区間判定結果SL(SL1〜SLK)の真値(すなわち、音声区間を表す値)を1.0として扱い、偽値(すなわち、雑音区間を表す値)を0.0として扱って平滑化する(以下、実数値化された音声区間判定結果をSLrと書くこととする)。平滑化後の値は、入力周波数要素Xに音声が含まれる確率(音声存在確率)と見なすことができる。
音声存在確率を得る平滑化方法には任意の方法が適用することができる。この平滑化方法として、ゲイン平滑化部103における平滑化方法と同様な方法を採用することは好適である。すなわち、時間方向と周波数方向の両方向に音声区間判定結果SLrを平滑化することとし、まず周波数方向に平滑化して、続いて時間方向に平滑化する。第1の実施形態のゲイン平滑化部103で説明した平滑化方法の具体的な手順において、手順PR1のグループ数Nはゲイン平滑化部103と同様に4〜10個が好適であり、手順PR3の時間平滑化では0.1秒の時定数の時定数フィルタを適用することが好適である。なお、時間方向にだけ平滑化する場合には、各周波数帯域において手順PR3を実行すれば良い。この場合、判定結果平滑化部105を、各帯域別雑音抑圧部102C−1〜102C−Kのそれぞれの内部に設けることができる。周波数方向にだけ平滑化する場合には、手順PR1、手順PR2、手順PR4を順に実行すれば良い。
ゲイン合成部115Cは、最終抑圧ゲイン決定部としてゲイン選択部に代えて設けられたものである。ゲイン合成部115Cは、与えられた音声存在確率SPPに基づいて、抑圧ゲインGSと歪無ゲインGFとを合成し、得られた最終抑圧ゲインGCを乗算部116に与える。抑圧ゲインGSと歪無ゲインGFの合成方法として、GCの値の範囲が、GF≦GSならGF≦GC≦GSに、GS≦GFならGS≦GC≦GFに収めるという制約下で任意の方法が適用することができる。例えば、抑圧ゲインGSと歪無ゲインGFの合成方法として、音声存在確率SPPを重み係数とした(2)式に示す凸結合(重み付け平均)が好適である。
GC=SPP×GS+(1−SPP)×GF …(2)
(D−2)第3の実施形態の動作
第3の実施形態の雑音抑圧装置100Cの動作として、以下では、第1の実施形態とは異なる、各帯域別雑音抑圧部102C及び判定結果平滑部105の動作を説明する。
帯域別雑音抑圧部102Cにおいて、第1の雑音環境分析部110、第2の雑音環境分析部111、遅延部112、情報統合部113及び抑圧ゲイン算出部114は、第1の実施形態と同様に動作する。
第3の実施形態の場合、情報統合部113が得た音声区間判定結果SLは判定結果平滑部105に与えられる。
判定結果平滑化部105において、各帯域別雑音抑圧部102C−1〜102C−Kから与えられた音声区間判定結果SL1〜SLKは実数値と取り扱われて時間方向及び周波数方向の少なくとも一方について平滑化され、得られた音声存在確率SPP1〜SPPKがそれぞれ対応するゲイン合成部115C−1〜115C−Kに与えられる。
ゲイン合成部115Cにおいては、与えられた音声存在確率SPPに基づいて、抑圧ゲインGSと歪無ゲインGFとが合成され、合成により得られた最終抑圧ゲインGCが乗算部116に与えられる。
乗算部116においては、入力周波数要素Xに最終抑圧ゲインGCが乗算され、得られた抑圧後周波数要素Yが波形復元部104に与えられる。すなわち、乗算部116の動作は、第1の実施形態と同様である。
(D−3)第3の実施形態の効果
第3の実施形態によれば、抑圧ゲインと歪無ゲインとを合成して得られた最終抑圧ゲインの特性が時間方向及び周波数方向の少なくとも一方に滑らかに変化するので、抑圧ゲインの切り替わりによる不自然さと歪み(ミュージカルノイズを含む)とを一段と軽減した雑音抑圧後の音声信号を得ることができる。
(D−4)第3の実施形態の変形実施形態
第3の実施形態では、判定結果平滑部105に与える音声区間判定結果SLが2値の場合を示したが、判定結果平滑部105に与える音声区間判定結果SLが3値以上であっても良い。なお、後述する「変形実施形態」の項では、第1の判定結果SL1や第2の判定結果SL2について同様な変形実施形態を説明している。
例えば、音声区間判定結果SLが3値の場合、音声区間を表す値を実数1.0に対応付け、雑音区間を表す値を実数0.0に対応付け、音声区間とも雑音区間とも言い切れない中間区間を表す値を実数0.5に対応付けて平滑化を行うようにすれば良い。
情報統合部(図1の符号113参照)は、例えば、以下のようにして、3値の音声区間判定結果SLを得ることができる。第1の雑音環境分析部110からの第1の判定結果SL1と、第2の雑音環境分析部111からの第2の判定結果SL2が共に真値のときに、情報統合部は、音声区間判定結果SLの値を、3値中の音声区間を表す値にする。第1の判定結果SL1と第2の判定結果SL2が共に偽値のときに、情報統合部は、音声区間判定結果SLの値を、3値中の雑音区間を表す値にする。第1の判定結果SL1と第2の判定結果SL2の値の一方が真値で他方が偽値のときに、情報統合部は、音声区間判定結果SLの値を、3値中の中間区間を表す値にする。
(E)第4の実施形態
次に、本発明による雑音抑圧装置及びプログラムの第4の実施形態を、図面を参照しながら説明する。
第1の実施形態、第2の実施形態及び第3の実施形態では、第1の雑音環境分析部110は、推定した音声パワーの平均的な値に基づいて入力パワーに対する閾値を算出していた。しかし、入力パワーに対する最適な閾値は、音声と雑音のパワーバランスによって変化するため、上記のように算出された閾値では種々の雑音環境に十分に適応できないこともある。
そこで、第4の実施形態の第1の雑音環境分析部では、第2の雑音環境分析部(図1の符号111参照)で推定した雑音パワーの平均的な値を利用して事後的なSNR(a posteriori signal−to−noise ratio;入力パワーを雑音パワーで除した値で、以下、単にSNRと呼ぶ)を推定し、このSNRに基づいて入力周波数要素Xが音声成分を含むか否かを判定することとした。
(E−1)第4の実施形態の構成
第4の実施形態の雑音推定装置(以下、符号「100D」を用いる)の全体構成も、上述した図1で表すことができる。
但し、第4の実施形態の帯域別雑音抑圧部(以下、符号「102D」を用いる)の構成に含まれる第1の雑音環境分析部(以下、符号「110D」を用いる)の詳細な構成が第1の実施形態と異なっている。そのため、以下では、主として、第1の雑音環境分析部110Dの詳細構成を説明する。
図13は、第1の雑音環境分析部110Dの詳細構成例を示すブロック図である。図13において、第1の雑音環境分析部110Dは、SNR算出部401、SNR平滑化部402、SNR比較用閾値算出部403及びSNR比較部404を有する。
第1の雑音環境分析部110Dに与えられた入力周波数要素XはSNR算出部401に与えられ、第1の雑音環境分析部110Dに与えられた第2の雑音環境情報NI2のうち、第2の平滑化パワーPX2はSNR算出部401に与えられ、第2の判定結果SL2はSNR平滑化部402に与えられる。
SNR算出部401は、入力周波数要素Xと第2の平滑化パワーPX2とに基づいてSNR値Rを算出し、得られたSNR値RをSNR平滑化部402及びSNR比較部404に与える。SNR値Rを算出するためには、入力周波数要素Xのパワー(すなわち、入力パワー)を算出する必要がある。第2の雑音環境分析部111における第2のパワー算出部301と同じ方法で入力パワーを求めた場合には、当該入力パワーを第2の平滑化パワーPX2で除すことでSNR値Rを算出することができる。仮に、入力パワーの算出方法が異なる場合には、第2の平滑化パワーPX2の尺度を当該入力パワーの算出方法に合わせた値で当該入力パワーを除すことでSNR値Rを算出することができる。
SNR平滑化部402は、第2の判定結果SL2に基づいて、SNR値Rを時間方向に平滑化し、得られた平滑化SNR値RAをSNR用閾値算出部403に与える。SNR平滑化部402は、第2の判定結果SL2が真値(すなわち、音声区間を表す値)であるときにはSNR値Rを平滑化して平滑化SNR値RAを更新し、第2の判定結果SL2が偽値(すなわち、雑音区間を表す値)であるときには平滑化SNR値RAを更新しないで維持する。従って、平滑化SNR値RAが意味するのは音声区間のSNRの平滑化値(音声のSNRの平均的な値)である。なお、平滑化方法や平滑化構成は何ら限定されるものではない。SNR平滑化部402は、例えば、時定数が0.8秒の時定数フィルタを用いて平滑化する。
SNR用閾値算出部403は、0より大きく1以下の値をとる所定の定数指数β(以下、第1の指数と呼ぶ)を予め決めておき、平滑化SNR値RAのβ乗を算出することでSNR値Rと比較するSNR用閾値H1Dを形成して、得られたSNR用閾値H1DをSNR比較部404に与える。音声パワーと雑音パワーとのいずれが優勢かを切り分けるためのSNR用閾値H1Dを定めるために、音声区間のSNRの平均的な値を意味する平滑化SNR値RAをべき乗する際の第1の指数βの値は、限定されるものではない。例えば、第1の指数βとして0.5を適用することができる。
SNR用比較部404は、SNR用閾値H1DとSNR値Rとを比較して、入力周波数要素Xに音声成分が含まれているか否かを判定し、第1の判定結果(以下、第1の実施形態と同様に符号SL1を用いる)を出力する。SNR用比較部404は、SNR値RがSNR用閾値H1Dより大きければ第1の判定結果SL1として真値を出力し、そうでなければ偽値を出力する。
なお、第1の実施形態における第1の比較部204と同様に、第4の実施形態におけるSNR用比較部404においても、SNR用閾値H1DとSNR値Rとを比較する際にハングオーバー動作を実行するようにしても良い。SNR用比較部404におけるハングオーバー方法は、第1の実施形態における第1の比較部204におけるハングオーバー方法と同様であるので、その説明を省略する。なお、好適なハングオーバー時間は、第1の比較部204と同様に0.2秒である。
(E−2)第4の実施形態の動作
第4の実施形態の雑音抑圧装置100Dの全体の動作は、第1の実施形態の雑音抑圧装置100と同様であるので、その説明を省略する。
各帯域別雑音抑圧部102Dを構成する各ブロックとゲイン平滑化部103の動作も、第1の雑音環境分析部110Dから出力される第1の雑音環境情報NI1Dが、入力周波数要素Xが音声成分を含むか否かを判定した第1の判定結果SL1を少なくとも含む点と、第2の雑音環境分析部111から出力される第2の雑音環境情報NI2が、雑音のパワーの推定値である第2の平滑化パワーP2と入力周波数要素Xが音声成分を含むか否かを判定した第2の判定結果SL2とを少なくとも含む点とを除けば、第1の実施形態の第2の雑音環境分析部111と同様なので、その説明を省略する。
以下では、既述した実施形態と異なる第1の雑音環境分析部110Dの詳細な動作を、上述した図13に加え、図14を参照しながら説明する。図14は、第1の雑音環境分析部110Dにおける各部信号波形及び判定結果などを示す説明図である。なお、図15には、第2の雑音環境情報NI2をイメージ的に理解できるように、第2の雑音環境分析部111における各部信号波形及び判定結果などを示している。図15は、上述した図9と同様な図面であるので、図中の信号の説明は省略する。
第1の雑音環境分析部110Dに与えられた入力周波数要素Xは、SNR算出部401に与えられ、第1の雑音環境分析部110Dに与えられた第2の雑音環境情報NI2のうち第2の平滑化パワーPX2(図15参照)はSNR算出部401に与えられ、第1の雑音環境分析部110Dに与えられた第2の雑音環境情報NI2のうち第2の判定結果SL2(図14及び図15の上側の「×」列参照)はSNR平滑化部402に与えられる。
SNR算出部401においては、入力周波数要素Xと第2の平滑化パワーPX2とに基づいて、SNR値R(図14の細実線参照)が算出され、得られたSNR値RがSNR平滑化部402及びSNR比較部404に与えられる。
SNR平滑化部402においては、第2の判定結果SL2に基づいて、SNR値Rが時間方向に平滑化され、得られた平滑化SNR値RA(図14の太実線参照)がSNR用閾値算出部403に与えられる。具体的には、第2の判定結果SL2が真値のときにSNR値Rが平滑化されて平滑化SNR値RAが更新され、第2の判定結果SL2が偽値のときに平滑化SNR値RAが更新されずに維持される。
SNR用閾値算出部403においては、平滑化SNR値RAのβ乗が算出されてSNR用閾値H1D(図14の破線参照)が形成されてSNR比較部404に与えられる。
そして、SNR比較部404において、SNR用閾値H1DとSNR値Rとが比較されて、入力周波数要素Xに音声成分が含まれているか否かが判定され、得られた第1の判定結果SL1(図14及び図15の下側の「+」列参照)が出力される。
(E−3)第4の実施形態の効果
第4の実施形態によれば、第1の雑音環境分析部においてSNRを指標として入力周波数要素が音声成分を含むか否かを判定するようにしたので、入力周波数要素が音声成分を含むか否かの最終的な判定結果(上述した符号SL参照)の精度を一段と向上させることができ、これにより、抑圧ゲインの切り替わりによる不自然さと歪み(ミュージカルノイズを含む)とを一段と軽減した雑音抑圧後の音声信号を得ることができる。
(F)他の実施形態
上記各実施形態の説明においても種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
第1〜第4の実施形態(これらの上述した変形実施形態を含む)の特徴構成を、互いに組み合わせ可能な場合には、組み合わせて、一つの雑音抑圧装置を構成するようにしても良い。
例えば、第3の実施形態における判定結果平滑化部105を、第2の実施形態及び第4の実施形態に導入するようにしても良い。また例えば、第4の実施形態における第1の雑音環境分析部110Dの構成を、第2の実施形態及び第3の実施形態における第1の雑音環境分析部110に適用するようにしても良い。
第1の実施形態においては、第1の雑音環境分析部110内の第1のパワー平滑化部202が音声パワーの平均的な値を推定し、第2の雑音環境分析部111内の第2のパワー平滑化部302が雑音パワーの平均的な値を推定するように説明したが、逆に、推定するようにしても良い。すなわち、第1のパワー平滑化部202が、1単位時間前の第2の判定結果SL2が偽値であるときには第1のパワーPX1を平滑化して第1の平滑化パワーP1を更新し、第2の判定結果SL2が真値であるときには第1の平滑化パワーP1を更新しないことにより、音声パワーの平均的な値を推定し、第2のパワー平滑化部302が、同一の単位時間内の第1の判定結果SL1が真値であるときには第2のパワーPX2を平滑化して第2の平滑化パワーP2を更新し、第1の判定結果SL1が偽値であるときには第2の平滑化パワーP2を更新しないことにより、雑音パワーの平均的な値を推定するようにしても良い。
また、第1の雑音環境分析部110内の第1のパワー平滑化部202と第2の雑音環境分析部111内の第2のパワー平滑化部302との両方が雑音パワーの平均的な値を推定するようにしても良い。すなわち、第1のパワー平滑化部202は、1単位時間前の第2の判定結果SL2が偽値であるときに第1のパワーPX1を平滑化して第1の平滑化パワーP1を更新し、1単位時間前の第2の判定結果SL2が真値であるときには第1の平滑化パワーP1を更新しないで維持し、また、第2のパワー平滑化部302は、同一の単位時間内の第1の判定結果SL1が偽値であるときに第2のパワーPX2を平滑化して第2の平滑化パワーP2を更新し、同一の単位時間内の第1の判定結果SL1が真値であるときには第2の平滑化パワーP2を更新しないで維持するようにしても良い。
第4の実施形態においては、第1の雑音環境分析部110Dと第2の雑音環境分析部111の機能や内部構成を逆転させるようにしても良い。すなわち、第1の雑音環境分析部は、図3に示すような構成を有し、1単位時間前の第2の雑音環境情報NI2と自己が算出する平滑化パワー等の出力とに基づいて第1の雑音環境情報NI1を算出して出力し、第2の雑音環境分析部は、図13に示すような構成を有し、同一の単位時間内の第1の雑音環境情報NI1と自己が算出するSNR等の出力とに基づいて第2の雑音環境情報NI2を算出して出力するようにしても良い。
第1〜第3の実施形態においては、第1の雑音環境分析部110及び第2の雑音環境分析部111がそれぞれ入力パワーを別々に算出する場合を示したが、入力パワーの算出方法が同一であるならば、第1の入力パワー算出部201及び第2の入力パワー算出部301に代え、第1の雑音環境分析部110と第2の雑音環境分析部111の前に共通な入力パワー算出部を設けて、この共通な入力パワー算出部が算出した入力パワーを第1のパワー平滑化部202及び第2のパワー平滑化部203に与えるようにしても良い。また、第4の実施形態についても、同様な変形実施形態を挙げることができる。すなわち、第1の雑音環境分析部110Dと第2の雑音環境分析部111の前に共通な入力パワー算出部を設けて、この共通な入力パワー算出部が算出した入力パワーを、SNR算出部401や第2のパワー平滑化部203に与えるようにしても良い。
第1〜第4の実施形態(第3の実施形態の変形実施形態を除く)においては、第1の雑音環境分析部110、110Dが内部で算出する第1の判定結果SL1が2値である場合を示したが、第1の判定結果SL1は2値に限定されず、3値以上の離散値又は0.0〜1.0の実数値とするようにしても良い。
例えば、第1の判定結果SL1を3値とする場合には、2つの閾値を用意し、閾値との比較対象(第1の比較部204では第1の入力パワー、SNR比較部404ではSNR)が大きい方の閾値より大きければ第1の判定結果SL1を1とし、大きい方の閾値以下かつ小さい方の閾値より大きければ第1の判定結果SL1を0.5とし、小さい方の閾値以下であれば第1の判定結果SL1を0とするようにしても良い。また例えば、第1の判定結果SL1を0.0〜1.0の実数値とする場合には、2つの閾値H1a及びH1b(但し、H1a<H1b)を用意して、第1の比較部204では(3)式に従って、SNR比較部404では(4)式に従って、閾値H1a又はH1bとの相違に応じた第1の判定結果SL1を算出するようにしても良い。(3)式及び(4)式において、max{a,b}はaとbの大きい方を出力する演算子であり、min{a,b}はaとbの小さい方を出力する演算子である。
SL1=max{0,min{1,(PX1−H1a)/(H1b−H1a)}…(3)
SL1=max{0,min{1,(R−H1a)/(H1b−H1a)} …(4)
同様に、第2の雑音環境分析部111における第2の比較部304が算出する第2の判定結果SL2についても、第1の判定結果SL1と同様な変形を行うようにしても良い。この場合には、第1の判定結果SL1について書かれた(3)式におけるSL1、H1a、H1b、PX1をそれぞれSL2、H2a、H2b、PX2に置き換えるようにすれば良い。
第2の判定結果SL2が3値以上の離散値又は0.0〜1.0の実数値である場合には、第1のパワー平滑化部202及びSNR平滑化部402の動作も変更しなければならない。例えば、第2の判定結果SL2に対する所定の閾値HSL2を定めておき、第2の判定結果SL2が閾値HSL2以上ならば第1のパワーPX1又はSNR値Rを平滑化して第1の平滑化パワーP1又は平滑化SNR値RAを更新し、第2の判定結果SL2が閾値HSL2未満ならば第1の平滑化パワーP1又は平滑化SNR値RAを更新しないで維持する。この際の閾値HSL2としては0.5が好適である。
詳述は避けるが、同様に、第1の判定結果SL1が3値以上の離散値又は0.0〜1.0の実数値である場合には、第2のパワー平滑化部302の動作も変更しなければならない。
第1の判定結果SL1及び第2の判定結果SL2の少なくとも一方が3値以上の離散値又は0.0〜1.0の実数値である場合には、情報統合部113の第1の判定結果SL1と第2の判定結果SL2の統合動作も変更しなければならない。この場合、音声区間判定結果SLが真値又は偽値の2値又は0.0〜1.0の実数値を取るように任意の統合方法を用いることができる。例えば、(5)式のように第1の判定結果SL1と第2の判定結果SL2の平均値を算出して実数値の音声区間判定結果SLを得る方法が好適である。但し、真値は1.0、偽値は0.0として扱う。なお、音声区間判定結果SLが0.0〜1.0の実数値である場合には、第1及び第2の実施形態におけるゲイン選択部115に代えて、第3の実施形態で説明したようなゲイン合成部115Cを適用することを要する。
SL=(SL1+SL2)/2 …(5)
第1の判定結果SL1、第2の判定結果SL2又は音声区間判定結果SLが3値以上の離散値又は0.0〜1.0の実数値である場合には、第1の比較部204又はSNR比較部404、第2の比較部304、又は、情報統合部113におけるハングオーバー動作も変更しなければならない。いずれの処理ブロックにおいても同じ変更が適用できるので、以下では第1の比較部204を例としてハングオーバー動作の変形例を説明する。
例えば、上述のように第1のパワーPX1に対して2つの閾値H1a及びH1bが設定されていて、第1の判定結果SL1が0.0、0.5及び1.0の3値を取る場合には、最後に真値が出力されてからの経過時間TEに対する所定のハングオーバー時間THを定めておいて、(i)第1のパワーPX1が大きい方の閾値H1bより大きい場合には第1の判定結果SL1を1.0にすると共に経過時間TEを0にクリアし、(ii)第1のパワーPX1が大きい方の閾値H1b以下でしかも経過時間TEがハングオーバー時間TH以下である場合には第1の判定結果SL1を1.0にすると共に経過時間TEを1単位時間分だけインクリメントし、(iii)第1のパワーPX1が小さい方の閾値H1aより大きく、大きい方の閾値H1b以下でしかも経過時間TEがハングオーバー時間THを超えた場合には第1の判定結果SL1を0.5にし、(iv)第1のパワーPX1が小さい方の閾値H1a以下でしかも経過時間TEがハングオーバー時間THを超えた場合には第1の判定結果SL1を0.0にするようにすれば良い。
また例えば、上述のように第1のパワーPX1に対して1つの閾値H1が設定されていて、第1の判定結果SL1が0.0〜1.0の実数値を取る場合には、最後に真値が出力されてからの経過時間TEに対する所定のハングオーバー時間THを定めておき、(i)第1のパワーPX1が閾値H1より大きい場合には第1の判定結果SL1を1.0にすると共に経過時間TEを0にクリアし、(ii)第1のパワーPX1が閾値H1以下でしかも経過時間TEがハングオーバー時間TH以下である場合には、第1の判定結果SL1を、ハングオーバー時間THに対する経過時間TEの割合を反映させた算出式である(6)式に従って算出すると共に経過時間TEを1単位時間分だけインクリメントし、(iii)第1のパワーPX1が閾値H1以下でしかも経過時間TEがハングオーバー時間THを超えた場合には第1の判定結果SL1を0.0にするようにすれば良い。
SL1=1.0−TE/TH …(6)
上記各実施形態では、各帯域別雑音抑圧部がそれぞれ独立に機能するものを示したが、静的又は動的に影響し合うようにしても良い。例えば、全ての帯域別雑音抑圧部における第1の雑音環境分析部からの第1の判定結果を多数決や論理積や論理和などにより統合して全ての帯域別雑音抑圧部における第2の雑音環境分析部に与え、全ての帯域別雑音抑圧部における第2の雑音環境分析部からの第2の判定結果を多数決や論理積や論理和などにより統合し、遅延部を介して全ての帯域別雑音抑圧部における第1の雑音環境分析部に与えるようにしても良い。
上記各実施形態では、第1の雑音環境分析部及び第2の雑音環境分析部が完全に別個の構成になっている場合を示したが、同一の主要部(パワー平滑化部、閾値算出部、比較部)を1単位時間内に時分割で適用して、第1の雑音環境分析部及び第2の雑音環境分析部として機能させるようにしても良い。この場合には、第1の雑音環境分析部として機能する際には、第2の雑音環境分析部に関するデータ(例えば、第2の平滑化パワーP2や第2の係数C2等)を退避させ、第2の雑音環境分析部として機能する際には、第1の雑音環境分析部に関するデータ(例えば、第1の平滑化パワーP1や第1の係数C1等)を退避させるメモリなど、補助的な構成を設けることを要する。特許請求の範囲の表現はこのような同一構成を時分割で利用する場合を含むものとする。
上記各実施形態では、特徴量の平滑値に基づいて音声区間検出に用いる閾値を決定するものを示したが、他の方法によって閾値を決定するようにしても良い。例えば、雑音区間と判定された直前過去の所定期間(例えば3秒間;断続的に雑音区間が生じている場合には合算時間が3秒間)における入力パワーの最小値の所定倍を閾値とするようにしても良く、音声区間と判定された直前過去の所定期間(例えば3秒間)における入力パワーの最大値の所定倍を閾値とするようにしても良い。また、第4の実施形態のように特徴量としてSNRを用いる場合であれば、音声区間と判定された直前過去の所定期間(例えば3秒間)におけるSNRの最大値の所定倍を閾値とするようにしても良い。
上記各実施形態では、雑音に対比される目的音が音声である場合を示したが、本発明はこれに限定されるものではない。例えば、機械のモータ音が雑音に対比される目的音になっている場合にも、本発明の技術思想を適用することができる。