ブラインド信号源分離
![]() |
ブラインド信号源分離(ブラインドしんごうげんぶんり、blind source separation、BSS)は、複数の未知の信号系列を未知の線形混合系で混合した複数の測定値系列から、それぞれの信号を分離することである。
ブラインド情報源分離とも訳す。また、ブラインド分離 (blind separation)、ブラインド信号分離 (blind signal separation、BSS) ともいう。
音声に対し使われることが多く、その場合ブラインド音源分離と訳すことが多い。ほかに、画像、無線通信、脳波などに対し使われる。
BSSは、複数の音源を複数のマイクで録音したデータから、それぞれの音源を分離するようなときに使われる。また、雑音混じりの録音を信号と雑音に分離することで、ノイズリダクションにも使われる。
「ブラインド(盲目)」とは混合系が未知であることを意味する。音声なら、音源とマイクの位置関係などの情報が未知ということである。なお、ブラインドでない場合も含めて、信号源分離などということがある。
応用
[編集]画像処理
[編集]図2はブラインド信号源分離の基本的な概念を示している。図2では個々の信号源を示すと同時に混合信号も示してある。ブラインド信号源分離は、混合信号のみが既知で、元々の信号あるいはそれらがどのように混合されたかは未知の条件下で使用される。分離された信号はあくまでも元々の信号の近似でしかない。元々の画像は、PythonやShogun toolboxの独立成分分析に基づく固有行列の同時近似対角化などを使って分離される。このツールボックスの手法は多次元に対して使用可能だが、実際には2次元の簡単な目に見える画像を対象としている。
定式化
[編集]遅延がない場合
[編集]まず特殊なケースとして、遅延がない場合について論ずる。画像や電波に対しては、遅延はないか無視できる。BSSが対象とする混合された測定値は、
で表される。ここで、 はある時刻の複数の信号、 はある時刻の複数の測定値を、それぞれ列ベクトルで表したもので、添数 は離散化された時刻を表す。 は混合系を表す行列で、混合行列と呼ばれる。時間に対しては変化しない。
BSSの結果は、多くの手法では
の形で得られる。 は推定された信号を列ベクトルで表したものである。 は分離系を表す行列である。
遅延がある場合
[編集]音声に対しては、遅延が無視できないことが多い。遅延がある場合、測定値は、
で表され、各遅延に対する混合結果を足し合わせたものとなっている。 は最大遅延である。
BSSの結果は
で表される。
遅延が存在するBSSは自由度が高すぎるため、信号の時間に対する無相関を仮定することが多い。これは音声信号に対しては成り立たないことが多く、有色信号を分離した結果が白色信号になってしまう。そのため、BSSの前処理として白色化フィルタをかけ、後処理としてその逆フィルタをかけ周波数特性を復元するなどのテクニックが使われる。
手法
[編集]一般のBSSは自由度が高すぎ、一般的な解法はない。しかし、いくつかの条件を仮定すれば、次のような手法で解くことができる。
- 時間周波数マスキング (TFM)
- 主成分分析 (PCA)
- 特異値分解 (SVD)
- 非負行列因子分解 (NMF)
- 独立成分分析 (ICA)
たとえばICAでは、
などを仮定している。そのため、これらが成り立たない状況では適切な結果が出ない。