本ノードは,Histogram-based Recursive Level Estimation (HRLE)法に よって定常ノイズレベルを推定する.HRLEは,入力スペクトルのヒストグラム (頻度分布)を計算し,その累積分布とパラメータ $Lx$ により指定した 正規化累積頻度からノイズレベルを推定する.ヒストグラムは,指数窓により 重み付けされた過去の入力スペクトルから計算され,1フレームごとに指数窓の 位置は更新される.
無し
どんなときに使うのか
スペクトル減算によるノイズ抑圧を行うときに用いる.
典型的な接続例
図6.59に示すように,入力は GHDSS などの分離ノードの後に接続し,出力は CalcSpecSubGain などの最適ゲインを求めるノードに接続する.図6.60は,EstimateLeak を併用した場合の接続例である.
パラメータ名 |
型 |
デフォルト値 |
単位 |
説明 |
LX |
0.85 |
正規化累積頻度($Lx$ 値). |
||
TIME_CONSTANT_METHOD |
LEGACY |
時定数の定義方法. |
||
TIME_CONSTANT |
[pt] |
時定数. |
||
DECAY_FACTOR |
[ms] |
時定数. |
||
ADVANCE |
160 |
[pt] |
フレームのシフト長. |
|
SAMPLING_RATE |
16000 |
[Hz] |
サンプリング周波数. |
|
NUM_BIN |
1000 |
ヒストグラムのビン数. |
||
MIN_LEVEL |
-100 |
[dB] |
ヒストグラムの最小レベル. |
|
STEP_LEVEL |
0.2 |
[dB] |
ヒストグラムのビンの幅. |
|
DEBUG |
false |
デバッグモード. |
入力
: Map<int, ObjectRef> 型. 入力信号のパワースペクトル
出力
: Map<int, ObjectRef> 型. 推定ノイズのパワースペクトル
パラメータ
: float 型. 累積頻度分布上の正規化累積頻度を0–1の範囲で指定する. 0を指定すると最小レベル,1を指定すると最大レベル,0.5を指定するとメジアン(中央値)を推定する. デフォルトは 0.85.
: string 型. 時定数の定義方法をサンプル数で指定する LEGACY または、ミリ秒で指定する MILLISECOND から選択する. デフォルトは LEGACY. LEGACY の場合,パラメータ TIME_CONSTANT により時定数を指定し, MILLISECOND の場合,パラメータ DECAY_FACTOR により時定数を指定する.
: float 型. 時定数(0以上)を時間サンプル単位で指定する.
: int 型. 時定数(0以上)をミリ秒で指定する.
: int 型. フレームのシフト長[samples]を指定する. デフォルトは 160. 前段階のノード(AudioStreamFromMic , MultiFFT など)における値と一致している必要がある.
: int 型. 入力波形のサンプリング周波数[Hz]を指定する. デフォルトは 16000.
: float 型. ヒストグラムのビン数を指定する. デフォルトは 1000.
: float 型. ヒストグラムの最小レベル[dB]を指定する. デフォルトは -100.
: float 型. ヒストグラムのビンの幅[dB]を指定する. デフォルトは 0.2.
: bool 型. デバッグモードを指定する. デフォルトは false. デバッグモード(true)の場合,累積ヒストグラムの値がコンマ区切りテキストファイル形式で100フレーム毎に標準出力に出力される. 出力値は,複数の行と列を含む複素行列数値形式であり,行は周波数ビンの位置,列はヒストグラムの位置, 各要素は丸括弧で区切られた複素数値(左側が実数,右側が虚数部)を示す. (累積ヒストグラムは,実数値であるため,通常では虚数部は0である.しかし今後のバージョンでも0であることは保障されない.) 1つのサンプルに対する累積ヒストグラムの加算値は,1ではなく指数的に増大している(高速化のため). そのため累積ヒストグラム値は,累積頻度そのものを表してはいない事に注意されたい. 各行の累積ヒストグラム値のほとんどが0で,最後の列に近い位置のみに値を含む場合, 入力値が設定したヒストグラムのレベル範囲を超えて大きい状態(オーバーフロー状態)にあるので, NUM_BIN, MIN_LEVEL,STEP_LEVELの一部またはすべてを高い値に設定しなおすべきである. また逆に各行の累積ヒストグラム値がほとんど一定値で,最初の列に近い位置のみに異なる低い値が含まれる場合, 入力値が設定したヒストグラムのレベル範囲より小さい状態(アンダーフロー状態)にあるので, MIN_LEVELを低い値に設定しなおすべきである.
出力の例:
---------- Compmat.disp() ---------- [(1.00005e-18,0), (1.00005e-18,0), (1.00005e-18,0), ..., (1.00005e-18,0); (0,0), (0,0), (0,0), ..., (4.00084e-18,0); ... (4.00084e-18,0), (4.00084e-18,0), (4.00084e-18,0), .., , (4.00084e-18,0)]^T Matrix size = 1000 x 257
図6.62にHRLEの処理フローを示す. HRLE は,入力パワーからレベルのヒストグラムを求め,その累積分布から $Lx$ レベルを推定する処理となっている.$Lx$ レベルとは,図6.63 に示すように,累積頻度分布上の正規化累積頻度 が $x$ になるレベルである. $x$ は,パラメータであり,例えば,$x=0$ であれば最小値,$x=1$ であれば最大値, $x=0.5$ であれば中央値を推定する処理となる.
HRLE の具体的な処理手順は,下記の7つの数式(図6.62の各処理に対応) で示すとおりである.式中で,$t$ は時刻(フレーム単位),$y_ p$ は入力パワー (INPUT_SPEC),$n_ p$ は推定ノイズパワー(NOISE_SPEC]),$x$,$\alpha $, $L_{min}$,$L_{step}$ はヒストグラムに関わるパラメータでそれぞれ 正規化累積頻度(LX),時定数(TIME_CONSTANT),ビンの最小レベル(MIN_LEVEL), ビンのレベル幅(STEP_LEVEL),$\lfloor a \rfloor $ は $a$ 以下の$a$に最も 近い整数を示している. また,パラメータを除く全ての変数は,周波数の関数であり,各周波数毎に独立して 同じ処理が施される.式中では,簡略化のため周波数を省略した.
$\displaystyle Y_ L(t) $ | $\displaystyle = $ | $\displaystyle 10 \log _{10} y_ p(t), \label{eqn:revcon1} $ | (66) | ||
$\displaystyle I_ y(t) $ | $\displaystyle = $ | $\displaystyle \lfloor (Y_ L(t) - L_{min}) / L_{step} \rfloor , \label{eqn:revcon2} $ | (67) | ||
$\displaystyle N(t, l) $ | $\displaystyle = $ | $\displaystyle \alpha N(t-1, l) + (1 - \alpha )\delta (l - I_ y(t)), \label{eqn:hitso} $ | (68) | ||
$\displaystyle S(t, l) $ | $\displaystyle = $ | $\displaystyle \sum _{k=0}^ l N(t, k), \label{eqn:cumul} $ | (69) | ||
$\displaystyle I_ x(t) $ | $\displaystyle = $ | $\displaystyle \mathop {\rm argmin}_ I \left[ S(t, I_{max}) \frac{x}{100} - S(t, I) \right], \label{eqn:search} $ | (70) | ||
$\displaystyle L_ x(t) $ | $\displaystyle = $ | $\displaystyle L_{min} + L_{step} \cdot I_ x(t), $ | (71) | ||
$\displaystyle n_ p(t) $ | $\displaystyle = $ | $\displaystyle 10^{L_ x(t)/10} $ | (72) |
(1) H. Nakajima, G. Ince, K. Nakadai and Y. Hasegawa: “An Easily-configurable Robot Audition System using Histogram-based Recursive Level Estimation”, Proc. of IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), 2010 (to be appeared).