• 検索結果がありません。

BeamForming

ドキュメント内 HARK Document (ページ 140-146)

第 6 章 ノードリファレンス 45

6.3 Separation カテゴリ

6.3.2 BeamForming

図6.46:BeamFormingの接続例 ノードの入出力とプロパティ

入力

INPUT FRAMES :Matrix<complex<float> >型.マルチチャネル複素スペクトル.行がチャネル,つまり,

各マイクロホンから入力された波形の複素スペクトルに対応し,列が周波数ビンに対応する.

INPUT SOURCES :Vector<ObjectRef>型.音源定位結果等が格納されたSource型オブジェクトのVector配 列である.典型的には,SourceTrackerノード,SourceIntervalExtenderノードと繋げ,その出力を用いる.

INPUT NOISE SOURCES : Vector<ObjectRef> 型.INPUT SOURCESと同じSource型オブジェクトの

Vector配列である.雑音方向の情報のオプション入力である.NULL,ILSEでの音源分離を行う際,雑

音方向にビームフォーマの死角を形成することができる.

出力

OUTPUT :Map<int, ObjectRef>型.分離音の音源IDと,分離音の1チャネル複素スペクトル (Vector<complex<float> >型)のペア.

パラメータ

LENGTH :int型.分析フレーム長[samples].前段階における値(AudioStreamFromMic,MultiFFTノード など)と一致している必要がある.デフォルト値は512[samples].

ADVANCE :int型.フレームのシフト長[samples].前段階における値(AudioStreamFromMic,MultiFFTノー ドなど)と一致している必要がある.デフォルト値は160[samples].

SAMPLING RATE :int型.入力波形のサンプリング周波数[Hz].デフォルト値は16000[Hz].

TF CONJ FILENAME :string型.伝達関数の記述されたバイナリファイル名を記す.ファイルフォーマッ トは??節を参照.BF METHODの全てにおいて有効.

SS METHOD :string型.ブラインド音源分離のためのステップサイズの算出方法を選ぶ.BF METHOD=GICA の時のみ有効で,GICAの場合は独立成分分析であるICA (Independent Component Analysis),のステッ プサイズを決定する.FIX, LC MYU, ADAPTIVEから選択.FIXの場合はSS MYUがステップサイズと なる.LC MYUの場合はSS MYU=LC MYUとなる.ADAPTIVEは適応的ステップサイズとなる.

SS MYU : float型.ブラインド音源分離のための分離行列更新時のステップサイズ.デフォルト値は1.0.

BF METHOD=GICAの時のみ有効.SS METHOD=FIXの場合はSS MYUが固定ステップサイズの値と なる.SS METHOD=LC MYUの場合は無視される.SS METHOD=ADAPTIVEの場合は適応的に決定さ れたステップサイズにSS MYUのゲインを乗算してステップサイズとする.この値とLC MYUを0にし,

Delay and Sum型のビームフォーマの分離行列をINITW FILENAMEとして渡し,BF METHOD=GICA を選択することで,BeamFormingは,Delay and Sum型のビームフォーマと等価な処理が可能となる.

LC METHOD :string型.幾何制約に基づくステップサイズの算出方法を選ぶ.BF METHOD=LCMV, GJ, GICAの時のみ有効で,全ての場合において幾何拘束に基づく音源分離であるGC (Geometric Constraint) のステップサイズを決定する.FIX, ADAPTIVEから選択.FIXの場合はLC MYUがステップサイズと なる.ADAPTIVEは適応的ステップサイズとなる.

LC MYU :float型.幾何制約に基づく分離行列更新時のステップサイズ.デフォルト値は1.0.BF METHOD=LCMV, GJ, GICA の時のみ有効.LC METHOD=FIX の場合は LC MYU が固定ステップサイズの値となる.

LC METHOD=ADAPTIVE の場合は適応的に決定されたステップサイズにLC MYU のゲインを乗算

してステップサイズとする.この値とSS MYUを0にし,Delay and Sum型のビームフォーマの分離行列 をINITW FILENAMEとして渡し,BF METHOD=GICAのどれかを選択することで,BeamFormingは,

Delay and Sum型のビームフォーマと等価な処理が可能となる.

ALPHA :float型.フィルタ更新係数.BF METHOD=MSNRの時のみ有効.デフォルト値は0.99.

NL FUNC :string型.BF METHOD=GICAの時に,高次相関行列計算に使う関数を指定する.デフォルト 値はTANHで,双曲線正接関数(tanh)を使用する.現在はTANHのみがサポートされている.

SS SCAL :float型.1.0がデフォルト.高次相関行列計算における双曲線正接関数(tanh)のスケールファク タを指定する.0より大きい正の実数を指定する.値が小さいほど非線形性が少なくなり通常の相関行列 計算に近づく.

REG FACTOR :int型.0.0001がデフォルト.BF METHOD=MLの時における,既知雑音相関行列の対角 成分調整パラメータ.ノードの詳細を参照.

BF METHOD :string型.音源分離手法を指定する.現在は以下の音源分離手法をサポートしている.

• DS :遅延和ビームフォーミング(Delay-and-Sum beamforming)[1]

• WDS :重み付き遅延和ビームフォーミング(Weighted Delay-and-Sum beamforming)[1]

• NULL : NULL制御つきビームフォーミング(NULL beamforming)[1]

• ILSE :最小平均二乗誤差制御つきビームフォーミング(Iterative Least Squares with Enumeration)[2]

• LCMV :線形拘束付最小分散型(Linearly Constrained Minimum Variance)ビームフォーミング[3]

• GJ : Griffiths-Jimビームフォーミング[4]

• GICA :幾何学的独立成分分析(Geometrically constrained Independent Component Analysis)[7]  

ENABLE DEBUG :bool型.デフォルトはfalse.trueが与えられると,分離状況が標準出力に出力される.

表6.36: BF METHOD=DS,WDS,NULL,ILSEで利用するパラメータ パラメータ名 デフォルト値 単位 説明

LENGTH int 512 [pt] 分析フレーム長

ADVANCE int 160 [pt] フレームのシフト長

SAMPLING RATE int 16000 [Hz] サンプリング周波数

TF CONJ FILENAME string マイクロホンアレーの伝達関数を記したファイ

ル名.

ENABLE DEBUG bool false デバッグ出力の可否

表6.37: BF METHOD=LCMVで利用するパラメータ パラメータ名 デフォルト値 単位 説明

LENGTH int 512 [pt] 分析フレーム長

ADVANCE int 160 [pt] フレームのシフト長

SAMPLING RATE int 16000 [Hz] サンプリング周波数

TF CONJ FILENAME string マイクロホンアレーの伝達関数を記したファイ

ル名.

LCMV LC METHOD string ADAPTIVE 幾何制約に基づくステップサイズの算出方法.

LCMV LC MYU float 1.0 幾何制約に基づく分離行列更新時のステップサ

イズ.

ENABLE DEBUG bool false デバッグ出力の可否

表6.38: BF METHOD=GJで利用するパラメータ パラメータ名 デフォルト値 単位 説明

LENGTH int 512 [pt] 分析フレーム長

ADVANCE int 160 [pt] フレームのシフト長

SAMPLING RATE int 16000 [Hz] サンプリング周波数

TF CONJ FILENAME string マイクロホンアレーの伝達関数を記したファイ

ル名.

GJ LC METHOD string ADAPTIVE 幾何制約に基づくステップサイズの算出方法.

GJ LC MYU float 1.0 幾何制約に基づく分離行列更新時のステップサ

イズ.

ENABLE DEBUG bool false デバッグ出力の可否

表6.39: BF METHOD=GICAで利用するパラメータ パラメータ名 デフォルト値 単位 説明

LENGTH int 512 [pt] 分析フレーム長

ADVANCE int 160 [pt] フレームのシフト長

SAMPLING RATE int 16000 [Hz] サンプリング周波数

TF CONJ FILENAME string マイクロホンアレーの伝達関数を記したファイ

ル名.

GICA SS METHOD string ADAPTIVE ブラインド音源分離のためのステップサイズの 算出方法.

GICA SS MYU float 1.0 ブラインド音源分離のための分離行列更新時の

ステップサイズ.

GICA LC METHOD string ADAPTIVE 幾何制約に基づくステップサイズの算出方法.

GICA LC MYU float 1.0 幾何制約に基づく分離行列更新時のステップサ

イズ.

SS SCAL float 1.0 高次相関行列計算におけるスケールファクタ.

ENABLE DEBUG bool false デバッグ出力の可否

ノードの詳細

技術的な詳細: 基本的に詳細は下記の参考文献を参照されたい.

音源分離概要: 音源分離問題で用いる記号を表6.51にまとめる.演算はフレーム毎に周波数領域において行わ れるため,各記号は周波数領域での,一般には複素数の値を表す.音源分離はK個の周波数ビン(1≤kK) それぞれに対して演算が行われるが,本節ではそれを略記する.N,M, f をそれぞれ,音源数,マイク数,フ レームインデックスとする.

音のモデルは以下の一般的な線形モデルを扱う.

X(f) = HS(f)+N(f). (6.28)

表6.40:変数の定義

変数 説明

S(f)=[

S1(f), . . . ,SN(f)]T

f フレーム目の音源の複素スペクトル X(f)=[

X1(f), . . . ,XM(f)]T

マイクロホン観測複素スペクトルのベクトル.INPUT FRAMES入力に対応.

N(f)=[

N1(f), . . . ,NM(f)]T

加法性雑音

H=[H1, . . . ,HN]∈CM×N 1≤nN番目の音源から1≤mM番目のマイクまでの伝達関数行列 W(f)=[W1, . . . ,WM]∈CN×M 分離行列

Y(f)=[

Y1(f), . . . ,YN(f)]T

分離音複素スペクトル

分離の目的は,

Y(f) = W(f)X(f) (6.29)

として,Y(f) が S(f) に近づくように,W(f) を推定することである.最後に推定された W(f) は,EX-PORT W=trueにし,EXPORT W FILENAMEで指定した適当なファイル名で保存することができる.

TF CONJ FILENAMEで指定する伝達関数ファイルには計測されたHを格納する.今後はこれを実際の伝

達関数と区別するため,Hˆ と表記する.

BF METHOD=DS,WDS,NULL,ILSEの場合: INPUT SOURCES入力端子とINPUT NOISE SOURCES入 力端子から入ってくる音源方向と雑音方向の情報を用いて,Hˆ を用いてW(f)を決定する.

BF METHOD=LCMV,GJの場合: 分離行列更新のための評価関数JL(W(f))は,INPUT SOURCES入力

端子とINPUT NOISE SOURCES入力端子から入ってくる音源方向と雑音方向の情報で定義される.分離行列

の更新は略記すると以下のようになる.

W(f+1) = W(f)+µ∇WJL(W)(f) (6.30) ただし,∇WJL(W)=JL(W)

W である.このµをLC MYUで指定できる.LC METHOD=ADAPTIVEに指定 した場合は,

µ = JL(W)

WJL(W)2

W=W(f) (6.31)

と適応的にステップサイズが計算される.

BF METHOD=GICAの場合: 分離行列更新のための評価関数JG(W(f))は,INPUT SOURCES入力端子

とINPUT NOISE SOURCES入力端子から入ってくる音源方向と雑音方向の情報とで以下で定義される.

JG(W(f)) = JSS(W(f))+JLC(W(f)) (6.32) ただし,JSS(W(f))は,ブラインド音源分離に基づく音源分離手法のための評価関数,JLC(W(f))は幾何制 約に基づく音源分離手法のための評価関数である.分離行列の更新は略記すると以下のようになる.

W(f +1) = W(f)+µSS∇WJSS(W)(f)+µLC∇WJLC(W)(f) (6.33) ただし,∇W は,式(6.30)と同様にW についての偏微分を表す.このµSSとµLC をそれぞれ,SS MYU, LC MYUで指定できる.SS METHOD=ADAPTIVEに指定した場合は,

µSS = JSS(W)

WJSS(W)2

W=W(f) (6.34)

と,LC METHOD=ADAPTIVEに指定した場合は,

µLC = JLC(W)

WJLC(W)2

W=W(f) (6.35)

と適応的にステップサイズが計算される.

トラブルシューティング: 基本的にはGHDSSノードのトラブルシューティングと同じ.

参考文献

[1 ] H. Krim and M. Viberg, ’Two decades of array signal processing research: the parametric approach’, in IEEE Signal Processing Magazine, vol. 13, no. 4, pp. 67–94, 1996. D. H. Johnson and D. E. Dudgeon, Array Signal Processing: Concepts and Techniques, Prentice-Hall, 1993.

[2 ] S. Talwar, et al.: ’Blind separation of synchronous co-channel digital signals using an antenna array. I. Algo-rithms’, IEEE Transactions on Signal Processing, vol. 44 , no. 5, pp. 1184 - 1197.

[3 ] O. L. FrostIII, ’An Algorithm for Lineary Constrained Adaptive array processing’, Proc. of the IEEE, Vol. 60, No.8, 1972

[4 ] L. Griffiths and C. Jim, ’An alternative approach to linearly constrained adaptive beamforming’, IEEE trans.

on ant. and propag. Vol. AP-30, No.1, 1982

[5 ] H. Nakajima, et al.: ’Blind Source Separation With Parameter-Free Adaptive Step-Size Method for Robot Audition’, IEEE Trans. ASL Vol.18, No.6, pp.1476-1485, 2010.

ドキュメント内 HARK Document (ページ 140-146)