Loading [MathJax]/jax/output/HTML-CSS/jax.js

6.3.1 BGNEstimator

6.3.1.1 ノードの概要

マルチチャネル信号のパワースペクトルから,信号に含まれる 定常ノイズ (例えば,ファンノイズや背景ノイズ,BackGround Noise) を推定する. 推定した定常ノイズは,PostFilter ノードで使用される.

6.3.1.2 必要なファイル

無し.

6.3.1.3 使用方法

どんなときに使うのか

信号に含まれるフ定常ノイズ (ファンノイズや背景ノイズ,BackGround Noise) を 推定する.この推定値が必要になるノードは,PostFilter である. PostFilter ノードでは,この背景ノイズと,PostFilter 内で推定されるチャネル間リークをもとに,分離処理でとりきれないノイズを抑制する.

典型的な接続例

BGNEstimator ノードの接続例を図 6.56 に示す. 入力には,音声波形を周波数領域に変換し求めたパワースペクトルを入力する. 出力は,PostFilter ノードで利用される.

\includegraphics[width=.8\textwidth ]{fig/modules/BGNEstimator}
Figure 6.56: BGNEstimator の接続例

6.3.1.4 ノードの入出力とプロパティ

Table 6.40: BGNEstimator のパラメータ表

パラメータ名

デフォルト値

単位

説明

DELTA

float 

3.0

 

パワー比閾値

L

int 

150

[frame]

検出時間幅

ALPHA_S

float 

0.7

 

入力信号の平滑化係数

NOISE_COMPENS

float 

1.0

 

定常ノイズの混入率

ALPHA_D_MIN

float 

0.05

 

平滑化係数の最小値

NUM_INIT_FRAME

int 

100

[frame]

初期化フレーム数

入力

INPUT_POWER

: Matrix<float> 型. マルチチャネルパワースペクトル

出力

NOISE_POWER

: Matrix<float> 型. 推定された定常ノイズのパワースペクトル.

パラメータ

DELTA

: float 型. 3.0 がデフォルト値. パワースペクトルの周波数ビンに 音声などの目的音が含まれているかどうかの閾値. 大きい値にすると,より多くのパワーを定常ノイズとみなす.

L

: int 型. 150 がデフォルト値. 目的音が含まれるかの判断基準となる, 過去最もパワーの小さいスペクトル (定常ノイズ成分) を保持する時間. AudioStreamFromWave ノードなどで指定される ADVANCE パラメータ分の シフトが行われる回数として指定する.

ALPHA_S

: float 型. 0.7 がデフォルト値. 入力信号を時間方向に平滑化する 際の係数. 値が大きいほど,過去のフレームの値の重みを大きく平滑化する.

NOISE_COMPENS

: float 型. 1.0 がデフォルト値. 目的音が含まれないと 判断されたフレームを,定常ノイズとして重みづけして加算する (定常ノイズの平滑化) ときの重み.

ALPHA_D_MIN

: float 型. 0.05 がデフォルト値. 定常ノイズの平滑化処理で, 目的音が含まれたと判断されたフレームのパワースペクトルを加える際の最小重み.

NUM_INIT_FRAME

: int 型. 100 がデフォルト値. 処理を開始した際, このフレーム数だけ目的音の有無判定を行わず,全て定常ノイズとみなす.

6.3.1.5 ノードの詳細

以下では,定常ノイズを導出する過程を示す. 時間,周波数,チャネルインデックスは 表6.1 に準拠する.

Table 6.41: 変数表

変数名

対応パラメータ,または,説明

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 の通り.

\includegraphics[width=.8\textwidth ]{fig/modules/BGNEstimator-flow.eps}
Figure 6.57: 定常ノイズ推定の流れ

1. 時間方向,周波数方向平滑化: 時間方向の平滑化は,入力パワースペクトル S(f,ki) と, 前フレームの定常ノイズパワースペクトル λ(f1,ki) の内分により行う.

  Ssmo,tm(f,ki) = αsλm(f1,ki)+(1αs)Sm(f,ki)   (34)

周波数方向の平滑化は,時間平滑化された Ssmo,tm(f,ki) に対して行う.

  Ssmom(f,ki) = 0.25Ssmom(f,ki1)+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(f1,ki),Ssmom(f,ki)},if  fnL   (36)
  Sminm(f,ki) = {min{Stmpm(f1,ki),Ssmom(f,ki)},if  f=nLmin{Sminm(f1,ki),Ssmom(f,ki)},if  fnL   (37)

ただし,n は任意の整数である.

3. 定常ノイズ推定:

  1. 目的音有無の判定
    以下にいずれかが成り立つ場合,該当する時間,周波数に目的音のパワーは存在せず,ノイズのみがあるとみなされる.

      Ssmom(f,ki) < δSminm(f,ki)   (38)
      f < N   (39)
      Ssmom(f,ki) < λm(f1,ki)   (40)
  2. 平滑化係数の算出
    定常ノイズのパワーを計算する際に用いられる平滑化係数αdは,

      αd = {1f+1,if  (1f+1αmind)αmind,if  (1t+1<αmind)0()   (41)

    として計算する. 定常ノイズは以下の式によって求める.

      λm(f,ki) = (1αd)λm(f1,ki)+αdθSm(f,ki)   (42)