マルチチャネル信号のパワースペクトルから,信号に含まれる 定常ノイズ (例えば,ファンノイズや背景ノイズ,BackGround Noise) を推定する. 推定した定常ノイズは,PostFilter ノードで使用される.
無し.
どんなときに使うのか
信号に含まれるフ定常ノイズ (ファンノイズや背景ノイズ,BackGround Noise) を 推定する.この推定値が必要になるノードは,PostFilter である. PostFilter ノードでは,この背景ノイズと,PostFilter 内で推定されるチャネル間リークをもとに,分離処理でとりきれないノイズを抑制する.
典型的な接続例
BGNEstimator ノードの接続例を図 6.56 に示す. 入力には,音声波形を周波数領域に変換し求めたパワースペクトルを入力する. 出力は,PostFilter ノードで利用される.
パラメータ名 |
型 |
デフォルト値 |
単位 |
説明 |
DELTA |
3.0 |
パワー比閾値 |
||
L |
150 |
[frame] |
検出時間幅 |
|
ALPHA_S |
0.7 |
入力信号の平滑化係数 |
||
NOISE_COMPENS |
1.0 |
定常ノイズの混入率 |
||
ALPHA_D_MIN |
0.05 |
平滑化係数の最小値 |
||
NUM_INIT_FRAME |
100 |
[frame] |
初期化フレーム数 |
入力
: Matrix<float> 型. マルチチャネルパワースペクトル
出力
: Matrix<float> 型. 推定された定常ノイズのパワースペクトル.
パラメータ
: float 型. 3.0 がデフォルト値. パワースペクトルの周波数ビンに 音声などの目的音が含まれているかどうかの閾値. 大きい値にすると,より多くのパワーを定常ノイズとみなす.
: int 型. 150 がデフォルト値. 目的音が含まれるかの判断基準となる, 過去最もパワーの小さいスペクトル (定常ノイズ成分) を保持する時間. AudioStreamFromWave ノードなどで指定される ADVANCE パラメータ分の シフトが行われる回数として指定する.
: float 型. 0.7 がデフォルト値. 入力信号を時間方向に平滑化する 際の係数. 値が大きいほど,過去のフレームの値の重みを大きく平滑化する.
: float 型. 1.0 がデフォルト値. 目的音が含まれないと 判断されたフレームを,定常ノイズとして重みづけして加算する (定常ノイズの平滑化) ときの重み.
: float 型. 0.05 がデフォルト値. 定常ノイズの平滑化処理で, 目的音が含まれたと判断されたフレームのパワースペクトルを加える際の最小重み.
: int 型. 100 がデフォルト値. 処理を開始した際, このフレーム数だけ目的音の有無判定を行わず,全て定常ノイズとみなす.
以下では,定常ノイズを導出する過程を示す. 時間,周波数,チャネルインデックスは 表6.1 に準拠する.
変数名 |
対応パラメータ,または,説明 |
S(f,ki)=[S1(f,ki),...,SM(f,ki)]T |
時間フレーム f,周波数ビン ki の入力パワースペクトル |
λ(f,ki)=[λ1(f,ki),...,λM(f,ki)]T |
推定されたノイズスペクトル |
δ |
DELTA,デフォルト 0.3 |
L |
L,デフォルト 150 |
αs |
ALPHA_S,デフォルト 0.7 |
θ |
NOISE_COMPENS,デフォルト 1.0 |
αmind |
ALPHA_D_MIN,デフォルト 0.05 |
N |
NUM_INIT_FRAME,デフォルト 100 |
導出のフローは,図6.57 の通り.
1. 時間方向,周波数方向平滑化: 時間方向の平滑化は,入力パワースペクトル S(f,ki) と, 前フレームの定常ノイズパワースペクトル λ(f−1,ki) の内分により行う.
Ssmo,tm(f,ki) | = | αsλm(f−1,ki)+(1−αs)Sm(f,ki) | (34) |
周波数方向の平滑化は,時間平滑化された Ssmo,tm(f,ki) に対して行う.
Ssmom(f,ki) | = | 0.25Ssmom(f,ki−1)+0.5Ssmom(f,ki)+0.25Ssmom(f,ki+1) | (35) |
2. 最小エネルギーの更新: 目的音の有無を判定するため,処理を開始してからの 各チャネル,周波数ビンについての最小のエネルギーSminを計算する. Smin は,各チャネル,周波数ビンごとの,処理を開始してからの最小エネルギーで, Stmp は,L フレームごとに更新される暫定最小エネルギーである.
Stmpm(f,ki) | = | {Ssmom(f,ki),if f=nLmin{Stmpm(f−1,ki),Ssmom(f,ki)},if f≠nL | (36) | ||
Sminm(f,ki) | = | {min{Stmpm(f−1,ki),Ssmom(f,ki)},if f=nLmin{Sminm(f−1,ki),Ssmom(f,ki)},if f≠nL | (37) |
ただし,n は任意の整数である.
3. 定常ノイズ推定:
目的音有無の判定
以下にいずれかが成り立つ場合,該当する時間,周波数に目的音のパワーは存在せず,ノイズのみがあるとみなされる.
Ssmom(f,ki) | < | δSminm(f,ki)または | (38) | ||
f | < | Nまたは | (39) | ||
Ssmom(f,ki) | < | λm(f−1,ki) | (40) |
平滑化係数の算出
定常ノイズのパワーを計算する際に用いられる平滑化係数αdは,
αd | = | {1f+1,if (1f+1≥αmind)αmind,if (1t+1<αmind)0(目的音が含まれるとき) | (41) |
として計算する. 定常ノイズは以下の式によって求める.
λm(f,ki) | = | (1−αd)λm(f−1,ki)+αdθSm(f,ki) | (42) |