(A)主たるの実施形態
以下、本発明による雑音推定装置、プログラム及び方法、並びに、音声処理装置の一実施形態を、図面を参照しながら詳述する。この実施形態では、本発明の雑音推定装置、プログラム及び方法を音声処理装置における雑音推定手段に適用した例について説明する。
(A−1)実施形態の構成
[音声処理装置の全体構成について]
まず、この実施形態の音声処理装置100の全体構成の概要について図2を用いて説明する。
図2は、この実施形態の音声処理装置100の全体構成について示したブロック図である。
音声処理装置100は、音声を含む音声信号(時間領域の音声信号)である入力信号x(時間領域の入力信号)について雑音抑圧を行って、抑圧後信号y(時間領域の出力信号)を生成するものである。
音声処理装置100は、周波数解析手段101、K個の帯域処理手段102−1〜102−K、及び波形復元手段103を有している。
帯域処理手段102−1〜102−Kは、それぞれ異なる周波数帯域の帯域処理を行うものである。帯域処理手段102−1〜102−Kに添えられた1〜Kの符号(添え字;番号)は、それぞれ周波数帯域に係る識別子(番号)を示している。
周波数解析手段101は、フーリエ変換に代表される任意の周波数解析手法、またはフィルタバンクに代表される任意の帯域分割手法によって、入力信号x(入力音声)をK個の帯域に分割する。そして、周波数解析手段101は、得られたK個の帯域入力信号X1〜XKは帯域処理手段102−1〜102−Kにそれぞれ与えられる(以下、必要に応じて周波数帯域の番号を表す添え字を省略する)。
帯域処理手段102は、K個の帯域ごとに、共通の処理を行う。帯域処理手段102は、パワー算出手段104、雑音推定手段105および雑音抑圧手段106を有している。
パワー算出手段104は、帯域入力信号Xのパワー(帯域入力パワー)を算出し、得られた入力パワーPxを雑音推定手段105に与える。
雑音推定手段105は、帯域ごとに雑音のパワーを推定し、得られた雑音パワーPnを雑音抑圧手段106に与える。
雑音抑圧手段106は、帯域入力信号Xと雑音パワーPnを用いて、帯域入力信号X中の音声成分を強調し、得られた帯域抑圧後信号Yを波形復元手段103に与える。
以下では、帯域処理手段102−1〜102−Kが生成する帯域抑圧後信号をY1〜YKと表すものとする。
波形復元手段103は、周波数解析手段101で用いた周波数解析手法または帯域分割手法に対応する波形復元手法を用いて、帯域抑圧後信号Y1〜YKから時間波形を再構成し、得られた抑圧後信号yを出力する。
[雑音推定手段105の内部構成について]
次に、図1を用いて雑音推定手段105の内部構成の概要について説明する。
図1は、雑音推定手段105内部の機能的構成について示したブロック図である。
以下では、尤度関数と事前確率、および後述されるそれらのパラメータを確率モデルと呼ぶ。雑音推定において、確率モデルは、雑音そのもの又は加工された雑音(例えば、音声信号が重畳された雑音(入力信号のこと)や、雑音パワーで入力パワーを除したもの(事後SNRのこと)など)を確率変数と見なして設計される。
雑音推定手段105は、第1の事後確率最大化手段201と、第2の事後確率最大化手段202と、雑音パワー記憶手段203とを有する。
第1の事後確率最大化手段201は、入力パワーPxと単位時間前の雑音パワー推定値Po’(雑音パワー記憶手段203から供給される雑音パワー推定値Po’)に基づいて雑音パワー予測値Ppを算出し、得られたPpを第2の事後確率最大化手段202に与える。第1の事後確率最大化手段201は、所定の最大事後確率推定方法(詳細については後述する)により、雑音パワー予測値Ppを算出する。
第2の事後確率最大化手段202は、雑音パワー予測値Ppに基づいて雑音パワーPoを推定し、得られたPoを雑音パワー記憶手段203に与えるとともに、雑音推定方法(手段)105の出力として後段の処理に与える。第2の事後確率最大化手段202は、第2の最大事後確率推定方法(詳細については後述する)により、雑音パワー予測値Poを算出する。
雑音パワー記憶手段203は、雑音パワーPoを記憶し、一単位時間後に雑音パワー推定値Po’として第1の事後確率最大化手段201に与える。すなわち、雑音パワー記憶手段203は遅延素子のような役割を果たす。
次に、雑音推定手段105において行われる雑音推定処理(雑音推定方法)の概要について説明する。
雑音推定方法において最も注意しなければならない点は、雑音推定値が目的音声を含まないようにすることである。もし雑音推定値が目的音声を含むと、後段の雑音抑圧方法によって得られる強調音声が歪んだり小さくなったりしてしまい、強調音声の明瞭度や単語了解度を向上させるという雑音抑圧方法の目的を果たせなくなる。
一方、雑音推定方法には非定常な雑音も推定できる性能を求められることもある。しかし、非定常雑音と音声とを区別するのは難しいため、非定常雑音を推定する性能と雑音推定値が音声を含まない性能との間にはトレードオフが生じる。それゆえ、従来のような定常雑音と非定常雑音を同時に推定する方法は、雑音推定値が音声を含んでしまい、安定性が低下する課題があった。
そこで、雑音推定手段105では、推定対象を定常雑音に限定することによって、より高い安定性を有する雑音推定方法を実現する。このために、最大事後確率推定の枠組みを用いる。そして、雑音推定手段105では、上述の通り、第1の事後確率最大化手段201と、第2の事後確率最大化手段202という、2つの方式の異なる事後確率最大化手段を用いることで、雑音パワーを安定的、適応的かつ高精度に推定することができる。最大事後確率推定を2回行うことで、雑音パワーを安定的、適応的かつ高精度に推定することができる理由(根拠)については後述する。
[第1の事後確率最大化手段201の処理概要について]
まず、第1の事後確率最大化手段201の処理の概要(第1の最大事後確率推定方法)について説明する。以下では、第1の事後確率最大化手段201が行う計算処理の例について説明する。
後で雑音の定常性を導入するので、時刻tにおいて、過去の雑音パワーNt−1、Nt−2、…が観測された条件の下で、現在の雑音パワーNtの事後確率が最大となるように雑音パワーNtを算出する問題を考える。但し、パワーは対数尺度の方が扱い易いので、これ以降は、帯域雑音対数パワー^Nt=10log10Ntについて考える。ここで、帯域雑音対数パワーの単位がデシベルとなるような対数変換を行っているが、対数の底はネイピア数や2でも良く、10倍しなくても良く、10以外の他の任意の定数係数を乗じても良い。
帯域雑音対数パワーNtには、まだ、集音環境やマイク感度による自由度が残っている。これを正規化するために、ここでは帯域雑音対数パワーを直接扱うのでなく、帯域雑音対数パワーを帯域入力対数パワーから減じた(すなわち、雑音パワーで入力パワーを除した)事後SNRを使うこととする。
推定対象である時刻tでの事後SNR^γ
tは、帯域入力対数パワーを^X
tとおくと、(1)式で表される。雑音の定常性を導入するために、時刻
tの帯域入力対数パワー^X
tを所定時間だけ過去の帯域雑音対数パワー^N
t−mで減じた、(2)式で表される予測事後SNR^γ
t|t−mを導入する。ここで、時間差mは任意であるが、直前の値(直前フレームの値)、すなわち、m=1の帯域雑音対数パワーN
t−1を用いるのが最良である。さらに、(3)式で表される過去の平均事後SNR ̄γ
t−1を導入する。
平均事後SNR ̄γt−1を導入する意図は、事後SNRの潜在的な分布が集音時の雑音レベルの大小の影響を受けることをモデルに組み込むためである。例えば、事後SNRが20dBや30dBとなることは、無響室のような雑音がほとんど存在しない環境ではよくあるが、工事現場のような音声がほとんど聞き取れないような劣悪な環境ではほとんど生じない。
以上の3つの事後SNRを使うと、最大化すべき事後確率は、(4)式の左辺に記述しているように、予測事後SNR^γ
t|t−mと過去の平均事後SNR ̄γ
t−1とが確定している条件下で事後SNR^γ
tが生じる確率となり、これをベイズの定理で展開すると、(4)式の右辺が得られる。
(4)式の最大化は事後SNR^γ
tに対して行うので、右辺の分母は最大化には影響しない。また、右辺におけるp( ̄γ
t−1)は、集音時の雑音レベルの潜在的な確率を意味しているが、どのような環境で集音するかは不確定であるのが普通なので、一様分布を仮定することにする。これにより、3つの確率の乗算で表されている(4)式の右辺の分子における、前側の2つの確率の乗算値の最大化を図れば良い。さらに、MAP推定は、線形な事後確率よりも対数事後確率を最大化する方が簡単なケースが多いことも考慮する。このような考慮を加えることにより、事後SNR^γ
tの最適値を算出する評価関数Jmap(^γ
t)を、(5)式で定義することとした。
(5)式の右辺第1項は、事後SNR^γ
tの対数尤度関数である。また、(5)式の右辺第1項は、現在(時刻t)の事後SNR^γ
tと、現在の帯域入力対数パワー^X
tを所定時間だけ過去の帯域雑音対数パワー^N
t−mで減じた事後SNR^γ
t|t−mの関係、言い換えると、現在の帯域雑音対数パワー^N
tと、時間差mだけ過去の帯域雑音対数パワー^N
t−mが生じた場合における現在の帯域雑音対数パワーの推定値^N
t|t−mの関係を表していることから、これは雑音の定常性を表している。条件に、1単位時間だけ過去の平均事後SNR ̄γ
t−1が含まれているが、対数尺度では雑音の定常性の特性は、過去の平均事後SNR ̄γ
t−1に依らず不変と考えられる(線形尺度で雑音パワーの時間変化量を考えると、過去の平均事後SNRと比例するが、対数尺度では対数雑音パワーの時間変化率を考えているためである)。従って、(5)式は、(6)式のように書き直すことができる。
(6)式の右辺第2項は、過去の平均事後SNR ̄γt−1を条件とした現在の事後SNR^γtの対数事前確率、すなわち、平均事後SNRが ̄γt−1である集音環境における現在の事後SNR^γtの出現確率を意味している。
尤度関数及び事前確率は、互いの極端な最適化を抑制し是正する働きを持つ。定常性を表す尤度関数だけを使って最適化すると、最も高い定常性が得られる^γt=^γt|t−mが解となるので事後SNRが更新されなくなる。また、先天的な出現確率を表す事前確率だけを使って最適化すると、常に事前確率が最も高くなる^γtが解となるので定常性が考慮されなくなる。それに対して、(6)式によって最適化すると、定常性と先天的な出現確率の両方を満たそうとするため、極端ではない適切な解を得ることができる。
今、(6)式の最適解が^γ
* tであるとする。現在の帯域入力(対数)パワー^X
tと共にこの最適解^γ
* tを(1)式に適用すると、(7)式に示すように、最適解を適用した帯域雑音対数パワー^N
* tが得られる。帯域雑音パワーN
tと帯域雑音対数パワー^N
tとの間には、上述したように、^N
t=10log10N
tという関係があり、この関係式を(7)式に代入することにより、帯域雑音パワーの推定値(最適値)N
* tは、(8)式で表される。
ここで、(8)式は、帯域雑音対数パワー^Ntの単位がデシベルであることが前提となっているが、上述したように、対数変換を他の方法で行った場合には、底や定数倍の値などがその方法に対応した異なる式を、(8)式の代わりに使うこととなる。
次に、(6)式に示す評価関数Jmap(^γt)を規定する尤度関数と事前確率の具体的な関数形(後述する各実施形態の説明では確率モデル情報と呼んでいる)を考える。
尤度関数p(^γt|t−m|^γt)は、(1)式及び(2)式を代入することにより、p(^Xt−^Nt−m|^Xt−^Nt)と書くことができる。この書き換えた尤度関数をp(^Nt−m|^Nt)と比較すると、一方の関数の帯域雑音対数パワー^Nt−m及び^Ntの符号を反転させて同じだけ平行移動させたものが他方の関数となっているから、確率密度関数の分布形状は同様であり、p(^γt|t−m|^γt)に代えてp(^Nt−m|^Nt)を考慮しても良いことが分かる。この関数p(^Nt−m|^Nt)は、現在の帯域雑音対数パワー^Ntが確定した条件の下での時間差m分(mフレーム)だけ過去の帯域雑音対数パワー^Nt−mの出現確率であるから、定常性を考慮すると、^Nt−m=^Ntで最も大きな確率となり、過去の帯域雑音対数パワー^Nt−mが現在の帯域雑音対数パワー^Ntから離れるほど確率は小さくなるべきである(言い換えると、|^Nt−m−^Nt|→∞でp(^Nt−m|^Nt)→0となるべきである)。すなわち、帯域雑音対数パワー^Ntの尤度関数p(^Nt−m|^Nt)として、左右対称の山形状の確率密度関数を適用すれば良い。
このような左右対称の山形状の確率密度関数の代表は正規分布である。そこで、帯域雑音対数パワー^N
tの尤度関数(N
t−mの条件付き確率密度関数)p(^N
t−m|^N
t)を正規分布でモデリングすると、(11)式で表すことができる。(11)式において、σ
2は正規分布の分散パラメータであり、定常性の強さを表す。例えば、σ
2として42を適用できる。
また、より柔軟なモデルとして、尤度関数p(^N
t−m|^N
t)に、(12)式に示すような一般化正規分布を選択することも可能である。(12)式において、Γ(・)はガンマ関数であり、αとβは定常性の特性を決めるパラメータである。例えば、α=7.6、β=1.9を適用できる。
以上の2例以外にも、^Nt−m=^Ntで最も大きな確率となり、|^Nt−m−^Nt|→∞でp(^Nt−m|^Nt)→0となるような任意の確率密度関数を、尤度関数p(^Nt−m|^Nt)として選択することができる。
事後SNRで表現される尤度関数p(^γ
t|t−m|^γ
t)は、(11)式又は(12)式の変数(帯域雑音対数パワーの部分)^N
t−m−^N
tを、(13)式のように変形することによって得ることができる。
次に、(6)式に示す評価関数Jmap(^γt)を規定する事前確率について考察する。すなわち、過去の平均事後SNR ̄γt−1を条件とした現在の事後SNR^γtの事前確率p(^γt| ̄γt−1)について考察する。
第1に、(1)式で表される現在の事後SNR^γtの取り得る値の範囲について考察する。入力音声は、音声と雑音の両方を含んでいるので帯域入力対数パワー^Xtは帯域雑音対数パワー^Ntより小さくならないので、事後SNR^γtは非負である。第2に、音声のスパース性(出現がまばらである性質)について考察する。一般に、音声の時間周波数表現はスパースであることから、帯域入力対数パワー^Xtが帯域雑音対数パワー^Ntと等しくなる頻度が高いため、出現確率が一番高いのは、事後SNR^γtが0(dB)のときである。第3に、高SNRの出現確率について考察する。音声の大きさは有限であるから帯域入力対数パワー^Xtも有限であり、一方、雑音は、音声に比してスパース性が弱いために小さな値を取り難くなるので、事前確率p(^γt| ̄γt−1)は^γt→∞で0に収束する。
以上の3つの考察より、過去の平均事後SNR ̄γ
t−1を条件とした現在の事後SNR^γ
tの事前確率p(^γ
t| ̄γ
t−1)の候補の一つとして、(14)式に示す指数分布を選ぶことは自然である(但し、後述するように指数分布に限定されない)。
(14)式において、λ
tは分布の広がりを表すパラメータであり、λ
tが小さいほど分布の広がりは大きい。平均事後SNR ̄γ
t−1が大きくなるほど現在の事後SNR^γ
tも大きな値を取り易くなるから、パラメータλ
tは平均事後SNR ̄γ
t−1に反比例するか、平均事後SNR ̄γ
t−1と負の相関を持つように決定する。例えば、パラメータλ
tを(15)式に従って算出する。
以上では、事前確率p(^γt| ̄γt−1)として指数分布を適用可能であることを説明したが、指数分布以外にも、上述した3つの考察が示す条件を満たす任意の確率密度関数を事前確率として選択することができる。例えば、ガンマ分布や片側正規分布や、より柔軟な片側一般化正規分布を適用できる。
次に、(6)式に示す評価関数Jmap(^γt)を最大化する事後SNR^γtの最適解^γ* tを求める方法を説明する。最適解^γ* tは、評価関数Jmap(^γt)を最大化する現在の事後SNR^γtであるから、(6)式の右辺を現在の事後SNR^γtで微分した式が0となるような現在の事後SNR^γ* tを求めれば良い。
(6)式に示す評価関数Jmap(^γ
t)における尤度関数に(11)式に示す正規分布を適用し、事前確率に(14)式に示す指数分布を適用した場合、最適解^γ
* tは、(16)式のように求めることができる。また、(6)式に示す評価関数Jmap(^γ
t)における尤度関数に(12)式に示す一般化正規分布を適用し、事前確率に(14)式に示す指数分布を適用した場合、最適解^γ
* tは、(17)式のように求めることができる。(16)式及び(17)式において、max{a,b}はaとbの大きい方を選択する関数であり、第1の考察で説明した非負を実現するために導入した関数である。
いずれの場合も、予測事後SNR^γ
t|t−mからある値を減じたものが最適解^γ
* tとなっている。すなわち、(16)式においては(19)式のように、(17)式においては(20)式のように係数^c
tを決めると、(16)式及び(17)式は共に(21)式のように表現することができる。なお、係数^γ
tは(18)式に示すように、係数γ
tの対数である。
この(21)式と上述した(7)式とより、帯域雑音対数パワーの推定値^N
* t(以下、この「^N
* t」を「第1の推定値」とも呼ぶものとする)は(22)式によって算出でき、この(22)式と、対数尺度から線形尺度への変換式(例えば、(18)式参照)とから、帯域雑音パワーの第1の推定値N
* tは(23)式によって算出できる。(22)式及び(23)式において、min{a,b}はaとbの小さい方を選択する関数である。
(23)式から、帯域雑音パワーの推定値(第1の推定値)は、過去の平均事後SNRに対して最適な割合で常に増大するが、帯域入力パワーより大きくなることはないことが分かる。増大の継続と帯域入力パワーを上限としていることで、集音環境が少しずつ変化する場合や雑音が急激に小さくなった場合には速やかに追従することができる。一方、雑音が急激に大きくなった場合には、環境の変化直後は平均事後SNRが大きくなるために追従が遅れるが、雑音パワーの推定値(第1の推定値)を増大させ続けることで次第に環境に適応していくことができる。
[第1の事後確率最大化手段201の内部構成について]
次に、図3を用いて第1の事後確率最大化手段201の内部構成について説明する。
なお、この実施形態において、確率モデルとは、上述した(6)式における尤度関数p(^γt|t−m|^γt)と事前確率p(^γt| ̄γt−1)の関数形と、これら関数のパラメータとを意味するものとする。
また、この実施形態において、時間差mは、1単位時間、すなわちm=1とする。
尤度関数p(^γt|t−1|^γt)は、確率密度関数としてとらえた場合には現在の事後SNRが確定した条件の下で予測事後SNRが観測される確率であり、現在の事後SNRを変数とする。該尤度関数には、予測事後SNRが現在の事後SNRと等しいときに最大となり、予測事後SNRが現在の事後SNRから離れるほど0に近づくような任意の確率密度関数を選択することができるが、ここでは、例として、上述した(11)式に示した平均値が0の正規分布を適用する。正規分布は分散パラメータσ2を有しており、例えば、分散パラメータσ2として42を適用できる。
事前確率p(^γt| ̄γt−1)は、過去の平均事後SNRの下で現在の事後SNRが観測される潜在的な確率である。該事前確率には、現在の事後SNRが非負で定義され、現在の事後SNRが0dBのときに最大となり、現在の事後SNRが大きくなるほど0に近付くような任意の確率密度関数を選択することができるが、ここでは、例として、上述した(14)式に示した指数分布を適用する。指数分布は、速度パラメータλtを有している。速度パラメータλtは過去の平均事後SNRにより変化する。速度パラメータλtの算出方法は、過去の平均事後SNRと反比例の関係になる、又は、負の比例関係になる任意の方法を選択することができるが、一例として、上述した(15)式に従って算出されたものを適用する。
確率モデルは任意のタイミングで変更することが可能である。また、その変更は、分散パラメータσ2の値や(15)式の数値を更新するだけでも良く、速度パラメータλtの算出方法を変更しても良く、尤度関数p(^γt|t−1|^γt)や事前確率p(^γt| ̄γt−1)の関数形を変更しても良く、時間差mを変更しても良い。
第1の事後確率最大化手段201では、現在の帯域入力パワー、所定時間過去の帯域雑音パワー推定値、及び、後述する増幅係数算出手段304で保持されている確率モデルに基づいて、雑音パワーの推定が実行される。そして、第1の事後確率最大化手段201は、得られた雑音パワーの推定値(第1の推定値)を第2の事後確率最大化手段202に供給する。
図3は、第1の実施形態における第1の事後確率最大化手段201の詳細構成を示す機能ブロック図である。
第1の事後確率最大化手段201は、入力パワー記憶手段301、事後SNR算出手段302、事後SNR平滑化手段303、増幅係数算出手段304、雑音パワー増幅手段305及び予測雑音パワー決定手段306を有する。
第1の事後確率最大化手段201では、帯域入力パワーPxは、入力パワー記憶手段301及び予測雑音パワー決定手段306に供給される。また、第1の事後確率最大化手段201では、雑音パワー記憶手段203からの前回の帯域雑音パワーPo’が、事後SNR算出手段302及び雑音パワー増幅手段305に供給される。さらに、増幅係数算出手段304では、事前に設計された雑音の定常性に関する確率モデルの情報(以下、単に確率モデルと呼ぶ)を保持しているものとする。増幅係数算出手段304が保持している確率モデルは、上述のMAP推定に基づいて設計された確率モデル(上述した考え方に従ったモデル)であるものとする。
入力パワー記憶手段301は、与えられた帯域入力パワーPxを、単位処理時間(例えば1フレーム時間)だけ遅延させた後に事後SNR算出手段302に供給する。
事後SNR算出手段302は、前回入力された帯域入力パワーを前回算出された帯域雑音パワー推定値で除算して、前回の事後SNRを算出する。そして、事後SNR算出手段302は、算出した前回の事後SNRを事後SNR平滑化手段303に供給する。
事後SNR平滑化手段303には、事後SNR算出手段302から与えられた過去の事後SNRが少なくとも1つ以上記憶されている。そして、事後SNR平滑化手段303では、記憶されている過去の事後SNRが適用されて、新たに与えられた前回の事後SNRが時間平滑化されて、平均事後SNRが得られる。事後SNR平滑化手段303で得られた平均事後SNRは増幅係数算出手段304に供給される。
事後SNR平滑化手段303による時間平滑化の方法は限定されるものではなく、任意の方法を適用することができる。時間平滑化の代表的な方法には、移動平均法と時定数フィルタ(リーク積分とも呼ばれる)があるが、ここでは、例として移動平均法を使うこととする。現在の時刻をtとして、T個の過去の事後SNRを使う場合、現在の事後SNRをγ
tと書くことにすると、移動平均法による前回までの平均事後SNRγ
t−1は(24)式で定義される。例えば、Tは20とする。なお、(24)式の代わりに(25)式の更新則を使うと、加減算を(T−3)回だけ減らせて効率を向上させることができる。
増幅係数算出手段304は、保持している確率モデルのパラメータ(第1の実施形態の場合σ2及びλt)と事後SNR平滑化手段303から与えられた平均事後SNR ̄γt−1とに基づいて、雑音増幅係数ctを算出する。そして、増幅係数算出手段304は、得られた雑音増幅係数ctを雑音パワー増幅手段305に供給する。この実施形態では、確率モデルにおける尤度関数として正規分布を適用しているので、雑音増幅係数ctは、上述した(19)式によって算出される。
雑音パワー増幅手段305は、与えられた前回の帯域雑音パワー推定値に、増幅係数算出手段304から得られた雑音増幅係数ctを乗算して帯域雑音パワー暫定推定値を算出し、得られた帯域雑音パワー暫定推定値を予測雑音パワー決定手段306へ供給する。
予測雑音パワー決定手段306は、与えられた現在の帯域入力パワーと雑音パワー増幅手段305から与えられた帯域雑音パワー暫定推定値とを比較し、小さい方を帯域雑音パワーの推定値(第1の推定値)として選択する。そして、予測雑音パワー決定手段306は、得られた(選択した)帯域雑音パワーの推定値(第1の推定値)を、後段(第2の事後確率最大化手段202)に供給する。すなわち、(23)式の演算が予測雑音パワー決定手段306によって実行されている。
[第2の事後確率最大化手段202の処理概要について]
次に、第2の事後確率最大化手段が、雑音パワー予測値から雑音パワー推定値を高精度に算出できる理屈を説明する。以下では、第2の事後確率最大化手段202が行う計算処理の例について説明する。
定常性を利用して現在の雑音パワーPnを推定するために、雑音パワー予測値PpからPnを推定する問題を考える。ただし、集音環境やマイク感度による自由度をキャンセルするために、雑音パワーの平均値 ̄Pnを導入し、正規化雑音パワーν(ニュー)=Pn/ ̄Pnを導入する。同様に、直前の正規化雑音パワーはν’=Pn’/ ̄Pnとする。そして、直前の正規化雑音パワーν’が観測された下での正規化雑音パワーνの事後確率p(ν|ν’)を最大化する問題を考える。当該事後確率を最大化することで、正規化雑音パワーνが得られる。
まず、事後確率p(ν|ν’)をベイズの定理に基づいて展開すると式(31)が得られる。式(31)において、νは観測済みで確定しているので、分母は省略できる。また、事後確率よりも対数事後確率を最大化する方が簡単な場合が多いので、最大化する評価関数J(ν)を式(32)とする。
次に、評価関数の尤度関数p(ν|ν’)と事前確率p(ν)を設計する。定常雑音が平均0の正規分布に従う場合、雑音を周波数解析して得られる雑音スペクトルの各要素の雑音振幅はレイリー分布に従うことが知られている。また、レイリー分布に従う確率変数の2乗は指数分布に従うから、当該雑音振幅を2乗して得られる雑音パワーも式(33)に示す指数分布に従う。式(33)において、μは確率変数(正規化雑音パワー)νの平均値である。事前確率p(ν)は式(33)で与えられる。
尤度関数p(ν|ν’)は、ν’の立場で考えると、νが観測された下でν’が観測される確率である。そこで、(ν|ν’)の確率密度関数をこの尤度関数とする。ν’もνも同じμの式(33)に従うとすると、尤度関数p(ν|ν’)は式(34)となる。
式(33)と式(34)を式(32)に代入すると、評価関数J(ν)は式(35)となり、J(ν)を最小化するνを得るために、J(ν)のνに関する導関数がゼロとなるような方程式を解くと、式(36)となる。
式(36)によると、0≦ν≦2μとなるから、雑音パワーの推定値は雑音パワーの平均値 ̄Pnの2μ倍以下となることが保証されているので、安定的に雑音パワーを推定することができる。例えば、入力パワーが目的音声や非定常雑音の成分を含んでいる場合、当該入力パワーは真の雑音パワーより大きくなるが、雑音パワーの推定値は雑音パワーの平均値 ̄Pnの2μ倍以下となるので、目的音声や非定常雑音の成分を誤って雑音パワーとして推定してしまうことはない。
また、パラメータμは正規化雑音パワーνの平均値であるから、μ=1である。
[第2の事後確率最大化手段202の内部構成について]
次に、第2の事後確率最大化手段202の詳細な動作を、図4を参照しながら説明する。
図4は、第2の事後確率最大化手段202の詳細な構成を示すブロック図である。図4に示すように、第2の事後確率最大化手段202は、予測雑音パワー正規化手段401と、正規化雑音パワー推定手段402と、雑音パワー非正規化手段403と、雑音パワー平均手段404と、平均雑音パワー記憶手段405とを有する。
予測雑音パワー正規化手段401は、雑音パワー予測値Ppを、後述する平均雑音パワー記憶手段405より与えられる一単位時間前の平均雑音パワー ̄Pn’で除し、得られた正規化雑音パワー予測値ν’を正規化雑音パワー推定手段402に与える。
正規化雑音パワー推定手段402は、正規化雑音パワー予測値ν’に基づいて事後確率が最大となる現在の正規化雑音パワーνを推定し、得られたνを雑音パワー非正規化手段403に与える。正規化雑音パワー推定手段402は、ν’を式(36)に代入してνを推定する。なお、パラメータμはμ=1とするのが好適である。
雑音パワー非正規化手段403は、正規化雑音パワーνに一単位時間前の平均雑音パワー ̄Pn’を乗じ、得られた雑音パワーPnを雑音パワー平均手段404に与えるとともに、第2の事後確率最大化手段202の出力とする(雑音パワーPnを、雑音パワーPoとして出力する)。
雑音パワー平均手段404は、雑音パワーPnの平均値を算出し、得られた平均雑音パワー ̄Pnを平均雑音パワー記憶手段405に与える。平均値の算出には、時定数フィルタ(リーク積分とも呼ばれる)や移動平均法などを用いることができるが、時定数フィルタが好適に用いられる。
平均雑音パワー記憶手段405は、平均雑音パワー ̄Pnを記憶し、一単位時間後に予測雑音パワー正規化手段401および雑音パワー非正規化手段403に与える。すなわち、平均雑音パワー記憶手段405は遅延素子のような役割を果たす。
(A−2)実施形態の動作
次に、以上のような構成を有するこの実施形態の音声処理装置100の動作(実施形態に係る音声処理方法)を説明する。
まず、図1を用いて、音声処理装置100の全体動作について説明する。
周波数解析手段101は、入力信号xから、K個の帯域入力信号X1〜XKを取得し、帯域入力信号X1〜XKをそれぞれ帯域処理手段102−1〜102−Kに供給する。
そして、帯域処理手段102−1〜102−Kは、それぞれ帯域入力信号X1〜XKについて雑音パワーを推定する。そして、帯域処理手段102−1〜102−Kは、それぞれ雑音パワーの推定結果に基づいて帯域入力信号X1〜XKに対して雑音抑制処理を行い、帯域抑圧後信号Y1〜YKを生成し、波形復元手段103に供給する。
そして、波形復元手段103は、帯域抑圧後信号Y1〜YKから時間波形を再構成し、得られた抑圧後信号yを出力する。
次に、各帯域処理手段102内部の動作について説明する。帯域処理手段102−1〜102−Kは、それぞれ処理する周波数成分が異なるだけで、共通の動作を行う。
パワー算出手段104は、帯域入力信号Xのパワーを算出し、得られた入力パワーPxを雑音推定手段105に与える。
雑音推定手段105は、帯域ごとに雑音のパワーを推定し、得られた雑音パワーPnを雑音抑圧手段106に与える。
雑音抑圧手段106は、帯域入力信号Xと雑音パワーPnを用いて、帯域入力信号X中の音声成分を強調し、得られた帯域抑圧後信号Yを波形復元手段103に与える。
次に、図1を用いて、この実施形態の雑音推定手段105内部の動作について説明する。
第1の事後確率最大化手段201は、入力パワーPxと単位時間前の雑音パワー推定値Po’に基づいて雑音パワー予測値Ppを算出し、得られたPpを第2の事後確率最大化手段202に与える。
そして、第2の事後確率最大化手段202は、与えられた雑音パワー予測値Ppに基づいて雑音パワーPoを推定し、得られたPoを雑音パワー記憶手段203に与えるとともに、雑音推定方法(手段)105の出力として後段の処理(第2の事後確率最大化手段202)に与える。
雑音パワー記憶手段203は、雑音パワーPoを記憶し、一単位時間後に雑音パワー推定値Po’として第1の事後確率最大化手段201に与える。
次に、図3を用いて、第1の事後確率最大化手段201の内部の動作について説明する。
次に、図3を用いて、この実施形態の第1の事後確率最大化手段201の動作について説明する。
入力パワー記憶手段301は、与えられた帯域入力パワーPxを、単位処理時間(例えば1フレーム時間)だけ遅延させた後に事後SNR算出手段302に供給する。
事後SNR算出手段302は、前回入力された帯域入力パワーを前回算出された帯域雑音パワー推定値で除算して、前回の事後SNRを算出し、事後SNR平滑化手段303に供給する。
事後SNR平滑化手段303では、記憶されている過去の事後SNRが適用されて、新たに与えられた前回の事後SNRが時間平滑化されて、平均事後SNRが得られる。そして、事後SNR平滑化手段303は、得られた平均事後SNRを増幅係数算出手段304に供給する。
増幅係数算出手段304は、保持している確率モデルのパラメータ(第1の実施形態の場合σ2及びλt)と事後SNR平滑化手段303から与えられた平均事後SNR ̄γt−1とに基づいて、雑音増幅係数ctを算出し、雑音パワー増幅手段305に供給する。
雑音パワー増幅手段305は、与えられた前回の帯域雑音パワー推定値に、増幅係数算出手段304から得られた雑音増幅係数ctを乗算して帯域雑音パワー暫定推定値を算出し、得られた帯域雑音パワー暫定推定値を予測雑音パワー決定手段306へ供給する。
予測雑音パワー決定手段306は、与えられた現在の帯域入力パワーと雑音パワー増幅手段305から与えられた帯域雑音パワー暫定推定値とを比較し、小さい方を帯域雑音パワーの推定値(第1の推定値)として、第2の事後確率最大化手段202に供給する。
次に、図4を用いて、この実施形態の第2の事後確率最大化手段202の動作について説明する。
予測雑音パワー正規化手段401は、雑音パワー予測値Ppを、後述する平均雑音パワー記憶手段405より与えられる一単位時間前の平均雑音パワー ̄Pn’で除し、得られた正規化雑音パワー予測値ν’を正規化雑音パワー推定手段402に与える。
正規化雑音パワー推定手段402は、正規化雑音パワー予測値ν’に基づいて事後確率が最大となる現在の正規化雑音パワーνを推定し、得られたνを雑音パワー非正規化手段403に与える。
雑音パワー非正規化手段403は、正規化雑音パワーνに一単位時間前の平均雑音パワー ̄Pn’を乗じ、得られた雑音パワーPnを雑音パワー平均手段404に与えるとともに、第2の事後確率最大化手段202の出力とする(雑音パワーPnを、雑音パワーPoとして出力する)。
雑音パワー平均手段404は、雑音パワーPnの平均値を算出し、得られた平均雑音パワー ̄Pnを平均雑音パワー記憶手段405に与える。
平均雑音パワー記憶手段405は、平均雑音パワー ̄Pnを記憶し、一単位時間後に予測雑音パワー正規化手段401および雑音パワー非正規化手段403に与える。
(A−3)実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
この実施形態の雑音推定手段105では、第1の事後確率最大化手段201が、入力パワーPxと単位時間前の雑音パワー推定値Po’に基づいて雑音パワー予測値Ppを算出し、第2の事後確率最大化手段202が雑音パワー予測値Ppに基づいて雑音パワーPoを推定している。
この実施形態の雑音推定手段105では、第1の事後確率最大化手段201及び第2の事後確率最大化手段202を有しているが、本来、第2の事後確率最大化手段202だけを用いて、入力パワーPxと単位時間前の雑音パワー推定値Po’に基づき、雑音パワーPoを推定することもできる。
例えば、図1において、第1の事後確率最大化手段201を除外し、第2の事後確率最大化手段202に直接入力パワーPxを供給するようにしてもよい。この場合、第2の事後確率最大化手段202は、入力パワーPxを平均雑音パワー ̄Pn’で正規化した正規化入力パワーξ’に基づいて、事後確率が最大となる現在の正規化雑音パワーνを推定することになる。また、この場合、第2の事後確率最大化手段202では、正規化雑音パワーνを非正規化して推定結果としての雑音パワーPnを取得する。さらに、この場合、第2の事後確率最大化手段202は、上記の(36)式を用いて、正規化雑音パワーνを推定する。そして、上述の通り、上記の(36)式によれば、0≦ν≦2μとなるから、雑音パワーの推定値は雑音パワーの平均値Pnの2μ倍以下となることが保証されているので、第2の事後確率最大化手段202は、安定的に雑音パワーを推定することができる。また、第2の事後確率最大化手段202では、正規化入力パワーξ’に基づいて、事後確率が最大となる現在の正規化雑音パワーνを推定するため、近似する処理を行わずに、正規化雑音パワーνを取得することが可能なる。これは、上記の(36)式を求める過程(上記の(31)式〜(36)式の過程)で、近似式を用いた計算を行っていないことからも明らかである。これにより、第2の事後確率最大化手段202では、精度よく(推定誤差の少ない)雑音パワーを推定することができる。
また、例えば、図1において、第2の事後確率最大化手段202を除外し、第1の事後確率最大化手段201の出力(雑音パワー予測値Pp)を、雑音パワーPoとして雑音推定手段105の出力とするようにしてもよい。
しかしながら、最大事後確率推定を行うためには、尤度関数と事前確率を設計しなければならない。確率モデルを設計するにはそれらの確率変数の確率密度関数(確率変数が離散的なら確率分布)がわかっている必要がある。定常雑音は、多くの場合複数の環境音が混ざったものなので、中心極限定理からガウス分布に近づく。しかし、雑音抑圧によって強調したい音声信号は通常1つであり、また音声信号は非定常であり、言語や話者などの要因によっても変化するため、1つの確率密度関数を割り当てることはできない。
以上から、入力パワーに1つの確率密度関数を割り当てる第1の事後確率最大化手段201や、入力パワーがガウス分布に従うものとして雑音パワーを推定する第2の事後確率最大化手段202では、高い精度で雑音を推定することができない。しかし、第1の事後確率最大化手段201には入力パワーをガウス分布に限定していないという長所があり、第2の事後確率最大化手段202には入力パワーがガラス分布に従っていれば高い精度で雑音を推定できるという長所がある。
そのため、この実施形態では、まず第1の事後確率最大化手段201を用いて入力パワーと単位時間前の雑音パワー推定値から現在の雑音パワー予測値を算出し、当該雑音パワー予測値に基づき、第2の事後確率最大化手段202を用いて雑音パワー推定値を得る。雑音パワー予測値は、雑音パワーの推定値の1つであるから、入力パワーよりもガウス分布に近い確率密度関数に従う。そのような雑音パワー予測値を入力することで、第2の事後確率最大化手段202は高い精度で雑音パワー推定値を算出することができる。
(B)他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(B−1)上記の各実施形態では、雑音推定装置としての雑音推定手段を、音声処理装置の一部として構築する例について示したが、雑音推定装置を単体の装置として構築するようにしてもよい。また、上記の各実施形態において、1つの雑音推定装置(雑音推定手段)で1つの周波数帯の雑音パワーを推定するものとして説明したが、本発明の雑音推定装置は、複数の周波数帯の雑音パワーを推定する装置として構築するようにしてもよい。すなわち、上記の各実施形態に示す雑音推定手段を複数備える装置を、本発明の雑音推定装置として構築するようにしてもよい。
(B−2)上記の実施形態の雑音推定手段105では、第1の事後確率最大化手段201(入力パワーに1つの確率密度関数を割り当てる方式)を用いて、第2の事後確率最大化手段202に供給する雑音パワー予測値Ppを求めているが、第1の事後確率最大化手段201において雑音パワー予測値Ppを求める方式は上述の第1の事後確率最大化手段201の方式に限定されない。すなわち、雑音推定手段105において、第1の事後確率最大化手段201とは異なる方式で雑音パワー予測値Ppを求めるようにしてもよい。雑音パワー予測値Ppを求める方式いついては限定されないものであるが、雑音の定常性を利用して雑音パワー予測値Ppを求める方式であることが望ましい。