3.4 パラメータ推定
3.4.1 SNR 推定
Noisy reverberant
signal Analysis
block (Filterbank)
Power envelope extraction
Power envelope subtraction Power envelope restoration
Power envelope restoration
Power envelope inverse-filtering
Parameter estimation
Recovered envelope restoration
Power envelope restoration y(t)
#1
#k
#K . . . . .
. . . . .
e (t)^2y,k
e (t)^2x,k
e (t)^2x,1
e (t)^2x,K
a, T^ ^R
図 3.5: MTFに基づく帯域分割型パワーエンベロープ回復処理のブロックダ イア
グラム.
帯域幅フィルタバンクを用いて帯域分割を行うのは,帯域分割したパワーエンベ ロープ回復処理がASRの前処理として利用できるためである[151].
を推定する方法が必要であると考えるが,現在はその提案にまでは至っておらず,
ここでは,VADを前提としたglobal SNRの推定法を紹介する.ここで紹介する global SNRの推定法は,帯域分割型VAD法の最適設計に基づくSNR推定法[152]
を改良したものである.
まず,雑音音声のSNR推定について考える.SNRは推定された音声区間SˆV AD かつ雑音が定常であれば,次式のように推定できる.
SN Rˆ = 10 log 10
(PS(y(t),SˆV AD(t;e2y(t),B))ˆ PN(y(t),SˆV AD(t;e2y(t),Bˆ))
)
[dB] (3.8)
PS(y(t),SˆV AD(t;e2y(t),B))ˆ
=
∫ T
0
(
y2(t) ˆSV AD(t;e2y(t),B)ˆ )
dt−PN( ˆSV AD(t;e2y(t),(3.9)B))ˆ PN( ˆSV AD(t;e2y(t),B)) =ˆ
∫ T
0
(
PN( ˆSV AD(t;e2y(t),B)) ˆˆ SV AD(t;e2y(t), B) )
dt (3.10)
PN( ˆSV AD(t;e2y(t),B)) =ˆ
∫T
0
( y2(t)
(
1−SˆV AD(t;e2y(t),B)ˆ ))
dt
∫T
0
(
1−SˆV AD(t;e2y(t),B)ˆ )
dt
(3.11)
ここで,PNは雑音の平均パワー,PNとPSは雑音と音声のパワーである.実際に は,音声区間は未知であり,音声区間を検出する必要がある.そこで,VADの時 と同様にパワー閾値を最適化することでこの問題を解決できると考え,SNR推定 においては多くの雑音残響信号のパワーエンベロープを用いてパワー閾値Bˆを最 適化することを考えた.最適化の手順はVADの時と同様であるが,回復パワーエ ンベロープ e2y(t)なのか雑音残響信号のパワーエンベロープeˆ2x(t)なのかが異なる.
本研究では,雑音信号のみでの最適化かつ帯域分割処理を用いて実現している.
global SNRを推定するにあたり音声成分と雑音成分を判別する必要があり,こ
の判別にVADがよく用いられているが,雑音残響の影響によりVADの性能が低 下し,SNRの推定性能も低下する.音声に対する雑音の影響は,周波数帯域ごと に異なっていることから多くの音声信号処理では,帯域分割処理が用いられてい る.提案するSNR推定法では,帯域分割処理を用いて帯域信号を求める.各帯域 に異なった閾値を設定してパワー閾値によるVADを行うことで音声/非音声区間 が得られ,帯域ごとに音声パワーと雑音パワーを求め,最終的に全帯域の音声パ ワーと雑音パワーを合算することでglobal SNRを推定できる.
Constant -band Filterbank
Threshold decision
VAD
VAD
VAD
#1
#k
#K Noisy
speech
Power calculation Power calculation
Power calculation Total power calculation of speech
Total power calculation of noise
SNR
calculation Estimated SNR PS
SNR PN
PS
PN
PS
PN
x(t)
x (t) x (t)
1
k 1
k
K K
K
PS
PN 1
K
k
x (t)1
Subband VAD SNR estimation
Pre-SNR
B B
^
図 3.6: grobal SNR推定法のブロックダ イアグラム.
本SNR推定法のブロックダ イアグラムを図3.6に示す.図中のkは帯域番号,K は帯域分割数を意味する.図3.6に示す通り,本SNR推定法は大きく分けて二つの ブロック(二つの破線のブロック)で構成されている.図中の前半は帯域分割信号 に対するVADであり,図中の後半は各帯域における雑音パワーと音声パワーの推 定と最終的なSNRの計算である.フィード バック処理では,推定された各帯域の
local SNRを返し,各帯域のパワー閾値を再設定し,繰り返し処理を行う.そして,
フィード バック処理を繰り返した後,最終的なglobal SNRが求まる.各帯域の閾 値は,雑音音声を帯域分割し,ROC曲線上での誤受理率と誤棄却率のトレード オ フの関係を最適化し ,最適な閾値とlocal SNRの関係をまとめることで求めた.
帯域分割処理には,定Qフィルタバンク(CQFB: constant-Q filterbank)や定 帯域幅フィルタバンク(CBFB: constant-bandwidth filterbank)がよく利用され ている.本研究では,定帯域分割処理を利用してASRを行っていることから,帯 域分割処理に帯域幅 100 Hz固定のCBFBを利用した.サンプ リング周波数が20 kHzの場合,帯域分割数Kは100帯域となる.
帯域分割信号は,帯域ごとにSNRが異なるため,帯域ごとに異なった閾値を設 定して音声/非音声を判別する必要がある.2.1節で述べたFARとFRRを各帯域分 割信号で置き換えると,FAR(Bk)とFRR(Bk)と表現され,Bkはk番目の帯域の 閾値を意味する.多くのVADでは,ROC曲線上のある一点を決めることで,VAD の目的に合わせて性能を調整している.様々な条件の雑音音声を用いて学習する ことで求めたROC曲線上の最適な閾値を決定する.
FAR FRR
FAR FAR
SNR = 20 dB SNR = 10 dB
SNR = 0 dB
FRR FRR
SNR [dB]
SNR_20 SNR_10
SNR_0
SNR_0
SNR_10
SNR_20
ROC curves
Threshold-SNR curve B
B B B
B B B
図 3.7: 各SNR条件下でのVAD閾値決定法.
k番目の帯域及び SNR条件ごとに,FAR(Bk)とFRR(Bk)からROC曲線を求 めて,FARとFRRの二乗平均平方根(RMS)を次式のように求めた.
RMS(Bk)=
√
FAR2(Bk) + FRR2(Bk)
2 , (3.12)
また,VADの性能を最大限発揮できる最適な閾値を次式を用いて求めた.
Bk∗= arg min
Bk
RMS(Bk). (3.13)
式(3.12)のようにFARとFRRのRMSを求める方法は,音声/非音声の検出性能 を容易に予測できることから,VADの性能を評価して最適な閾値を決定するのに 有効な方法である.
様々なSNR条件における雑音音声のデータベースを用いて学習を行うことで,
SNR条件ごと,帯域ごとの最適な閾値を求めた.すべてのSNR条件において学 習で閾値を最適化することは困難である.そのため,図3.7に示すように,実際に はいくつかのSNR条件において学習を行い,SNR条件ごとにROC曲線を求めて 最適な閾値を決定し,各SNR条件の最適な閾値を布置してシグモイド 関数で近似 することでThreshold-local SNR曲線を描画した.そして,フィード バック処理で pre-local SNRを返し Threshold-local SNR曲線を用いて各帯域の閾値Bkを再設 定することで,推定誤差の低減を図った.
P
+ P P
Frequency No. 1 No. 2 No. 3 No. k No. K-1 No. K
Signal powerSignal power
Time Signal+Noise Noise Noise
P P
PST1
NT2 ST3
NTK-1 NTK NT1 P
ST2 NT3
STk NTk
P +
P P +
P P +
STK-1 STK
P =0P =0
NTk
Filterbank STk
No. 1 No. 2 No. 3 No. k Noisy speech
No. K-1 No. K
Subbands
Filter band signal
Power of speech and noise in each subbands
SNR=10log ( )10 k=1 K
k=1 K
PSTk
PNTk
Final SNR calculation
図 3.8: グローバルSNR推定のパワー計算の流れ.
パーセバルの定理に基づき時間信号のパワーは,各帯域のパワーの合算として 求めることができる.SNR推定の流れを図3.8に示す.帯域ごとに音声に対する 雑音の影響が異なっていることを考慮して,VADによる音声/非音声の判別とパ ワー計算は帯域ごとに行われた.そして,最終的なSNRはパーセバルの定理に基 づいて全帯域の音声パワーと雑音のパワーを合算し比を取ることで,次式のよう に求めることができる.
SNR = 10 logˆ 10
( ∑K
k=1PSTk
∑K
k=1PN Tk )
, (3.14)
PN Tk =
∫ T
0
PNk(t)HNk(t)dt, (3.15) PSTk =
∫ T
0
PSk(t)HSk(t)dt
−
∫ T
0
PN TkHSk(t)dt, (3.16) ここで,PSTkはk番目の帯域の音声パワーの合計,PN Tkはk番目の帯域の雑音パ ワーの合計である.PN Tkはk番目の帯域の非音声区間の平均雑音パワーである.
このコンセプトは,図3.6の二つ目のブロックを示している.k番目の帯域の帯 域分割雑音音声信号に対して,ある区間が非音声として判別された場合,雑音パ
ワーはこの区間の帯域分割信号の合計として計算される.そして,残りの区間が 音声として分類された場合,その区間の帯域分割信号には,音声と雑音が存在し ている.本研究では,この音声と雑音が存在する区間の平均雑音パワーが,非音 声区間の平均雑音パワーと等しいと仮定して,音声と雑音が存在する区間の帯域 分割信号の合計パワーから,この区間の長さの平均雑音パワーの合計を減算する ことで,音声と雑音が存在する区間の音声のパワーの合計を求めることができる.
各帯域でこの計算を行い,全帯域の音声パワーと雑音パワーの比を取ることで,最 終的にSNRが求まる.