JP4406428B2 - 信号分離装置、信号分離方法、信号分離プログラム及び記録媒体 - Google Patents

信号分離装置、信号分離方法、信号分離プログラム及び記録媒体 Download PDF

Info

Publication number
JP4406428B2
JP4406428B2 JP2006520556A JP2006520556A JP4406428B2 JP 4406428 B2 JP4406428 B2 JP 4406428B2 JP 2006520556 A JP2006520556 A JP 2006520556A JP 2006520556 A JP2006520556 A JP 2006520556A JP 4406428 B2 JP4406428 B2 JP 4406428B2
Authority
JP
Japan
Prior art keywords
signal
vector
frequency
unit
normalization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006520556A
Other languages
English (en)
Other versions
JPWO2006085537A1 (ja
Inventor
宏 澤田
章子 荒木
良 向井
昭二 牧野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2006085537A1 publication Critical patent/JPWO2006085537A1/ja
Application granted granted Critical
Publication of JP4406428B2 publication Critical patent/JP4406428B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2134Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis
    • G06F18/21347Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on separation criteria, e.g. independent component analysis using domain transformations
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L2021/02161Number of inputs available containing the signal or the noise to be suppressed
    • G10L2021/02165Two microphones, one receiving mainly the noise signal and the other one mainly the speech signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Indication And Recording Devices For Special Purposes And Tariff Metering Devices (AREA)

Description

本発明は、信号処理の技術分野に属し、特に複数の源信号が空間内で混合された混合信号から源信号を抽出する技術に関する。
複数のセンサを用いることによりある信号を抽出してその他の信号を抑圧する従来の技術として、ビームフォーマ(beamformer)(ビームフォーミング(beamforming)とも呼ぶ)が広く知られている(例えば、非特許文献1参照)。しかし、ビームフォーマでは、目的信号の方向に関する情報を必要とするため、そのような情報が得られない(または推定できない)状況では利用しにくいという欠点がある。
また、より新しい別の技術としては、ブラインド信号分離(BSS:Blind Signal Separation)が挙げられる(例えば、非特許文献2参照)。これは、上記ビームフォーマが必要とした情報を必要としないという点で優れており、様々な状況での利用が期待されている。以下、このブラインド信号分離による信号分離について説明する。
[ブラインド信号分離]
まず、ブラインド信号分離の定式化を行う。すべての信号はあるサンプリング周波数fでサンプリングされ、離散的に表現されるものとする。また、N個の信号が混合されてM個のセンサで観測されたとする。以下では、信号の発生源からセンサまでの距離により信号が減衰・遅延し、また壁などにより信号が反射して伝送路の歪みが発生しうる状況を扱う。このような状況で混合される信号は、信号源kからセンサq(qはセンサの番号を示す〔q=1,…,M〕。また、kは信号源の番号を示す〔k=1,…,N〕。)へのインパルス応答hqk(r)による畳み込み混合
Figure 0004406428
で表現できる。ここでtはサンプリング時刻を示している。また、sk(t)は、サンプリング時刻tにおいて信号源から発せられる源信号を示しており、xq(t)は、サンプリング時刻tにおいてセンサqで観測される信号を示している。また、rは掃引のための変数を示している。
一般的なインパルス応答hqk(r)は、適当な時間経過後にパルス的な強い応答を持ち、時間と共に減衰していく。ブラインド信号分離の目的は、源信号s1(t),…,sN(t)やインパルス応答h11(r),…,h1N(r),…,hM1(r),…,hMN(r)を知らずに、観測信号(以下「混合信号」と呼ぶ)x1(t),…,xM(t)のみから、源信号s1(t),…,sN(t)にそれぞれ対応する分離信号y1(t),…,yN(t)を求めることにある。
[周波数領域]
次に、従来のブラインド信号分離の手順について説明する。
ここでは周波数領域において分離の操作を行う。そのためにセンサqでの混合信号x(t)にL点の短時間離散フーリエ変換(STFT:Short-Time Fourier Transform)を適用し、周波数ごとの時間系列
Figure 0004406428
を求める。ここでfは周波数でありf=0,fs/L,…,fs(L-1)/Lと離散化されている(fはサンプリング周波数)。また、τは離散時間であり、jは虚数単位である。さらにg(r)は窓関数である。窓関数としては、例えば、ハニング窓
Figure 0004406428
などのg(0)にパワーの中心を持つ窓関数を用いる。この場合、Xq(f,τ)は時刻t=τを中心とする混合信号xq(t)の周波数特性を表現する。なお、Xq(f,τ)はLサンプルにわたる情報を含んでいるため、すべてのτに対してXq(f,τ)を求める必要はなく、適当な間隔のτごとにXq(f,τ)を求める。
周波数領域で処理を行うと、式(1)で示される時間領域での畳み込み混合が、
Figure 0004406428
と各周波数での単純混合に近似表現でき、分離の操作が単純になる。ここで、Hqk(f)は源信号kからセンサqまでの周波数応答であり、Sk(f,τ)は式(2)と同様な式に従って源信号sk(t)に短時間離散フーリエ変換を施したものである。ベクトルを用いて式(3)を表記すると、
Figure 0004406428
となる。ここで、X(f,τ)=[X1(f,τ),…,XM(f,τ)]Tは混合信号ベクトル、Hk(f)=[H1k(f),…,HMk(f)]Tは信号源kから各センサへの周波数応答をまとめたベクトルである。なお、[*]Tは[*]の転置ベクトルを示す。
[独立成分分析による信号分離]
ブラインド信号分離手法の1つとして、独立成分分析(ICA:Independent Component Analysis) による信号分離がある。このICAによる手法では、混合信号ベクトルX(f,τ)のみから、N行M列の分離行列W(f)及び分離信号ベクトル
Y(f,τ)=W(f)X(f,τ) …(5)
を算出する。ここで、分離行列W(f)は、分離信号ベクトルY(f,τ)=[Y1(f,τ),...,YN(f,τ)]Tの各要素(分離信号)Y1(f,τ),...,YN(f,τ)が互いに独立になるように算出される。そのためのアルゴリズムには、非特許文献4に記載されているものなどがある。
ICAでは信号の独立性に着目して分離を行うため、得られる分離信号Y1(f,τ),...,YN(f,τ)には、順序の任意性がある。信号の順序が入れ替わってもそれらの独立性は保たれるからである。この順序の任意性の問題は、パーミュテーション(permutation)の問題と呼ばれ、周波数領域での信号分離において非常に重要な問題である。そして、このパーミュテーションの問題は、同じ源信号Sk(f,τ)に対応する分離信号Yp(f,τ)の添字pが、すべての周波数fで同じになるように解決されなければならない。
このパーミュテーション問題を解決する従来手法として、例えば非特許文献5に示されるものがある。この手法では、選択された2つのセンサ(センサペア)の位置を基準として信号源の位置に関する情報(方向と距離比)を推定する。そして、複数のセンサペアでの推定値を統合することで、より詳細な位置情報が得られる。そして、これらの位置情報としての推定値をクラスタリングし、同じクラスタに属する推定値は同じ信号源に対応するものとみなしてパーミュテーション問題を解決する。
[時間周波数マスクによる信号分離]
また、他のブラインド信号分離手法として、時間周波数マスクによる方法がある。この手法は、信号源の数Nとセンサ数MがM<Nの関係にある場合でも有効な信号分離抽出手法である。
この手法では信号のスパース性を仮定する。スパースとは、信号が殆どの離散時間τにおいて0であることを指す。信号のスパース性は、例えば、周波数領域での音声信号で確認される。信号のスパース性と相互独立性を仮定することで、複数の信号が同時に存在していても、各時間周波数ポイント(f,τ)では互いに重なって観測される確率が低いことを仮定できる。よって、各時間周波数ポイント(f,τ)の各センサにおける混合信号は、その時間周波数ポイント(f,τ)でアクティブな1つの信号sp(f,τ)のみから成ると仮定できる。よって、混合信号ベクトルを適当な特徴量によりクラスタリングし、各クラスタCのメンバの時間周波数(f,τ)に対応する混合信号X(f,τ)を抽出する時間周波数マスクMk(f,τ)を推定し、
Yk(f,τ)=Mk(f,τ)XQ'(f,τ)
により、各信号を分離抽出する。ここで、XQ'(f,τ)は混合信号のうちの1つであり、Q’∈{1,…,M}である。
クラスタリングに用いる特徴量としては、例えば、2つのセンサ(センサqと基準センサQ〔なお、Qを基準値と呼び、基準値Qに対応するセンサを基準センサQと表記する。〕)における混合信号の位相差
Figure 0004406428

から計算される信号の推定到来方向(Direction of Arrival : DOA)
Figure 0004406428

を例示できる(例えば、非特許文献3参照)。なお、dはセンサqと基準センサQとの距離であり、cは信号速度である。また、クラスタリングには、k-means法(例えば、非特許文献6参照)等を用いることができる。また、時間周波数マスクMk(f,τ)としては、例えばそれぞれのクラスタCに属するメンバの平均値θ θ2 ,…,θN を求め、
Figure 0004406428
のようにして生成したものを用いることができる。ここでΔは信号を抽出する範囲を与える。この方法では、Δを小さくすると、よい分離抽出性能が得られるが非線形型歪みは大きくなる。また、Δを大きくすると、非線形型歪みは減少するが分離性能が劣化する。
その他、クラスタリングの特徴量として、2つのセンサ(センサqと基準センサQ)における混合信号の位相差(式(8))や両者のゲイン比
Figure 0004406428
を用いてもよい。
B. D. Van Veen and K. M. Buckley, "Beamforming: a versatile approach to spacial filtering," IEEE ASSP Magazine, pp. 4-24, April 1988 S. Haykin, eds, "Unsupervised Adaptive Filtering," John-Wiley & Sons, 2000, ISBN 0-471-29412-8 S. Araki, S. Makino, A. Blin, R. Mukai, and H. Sawada, "Underdetermined blind separation for speech in real environments with sparseness and ICA," in Proc. ICASSP 2004, vol. III, May 2004, pp. 881-884 A. Hyvarinen and J. Karhunen and E. Oja, "Independent Component Analysis," John Wiley & Sons, 2001, ISBN 0-471-40540 R. Mukai, H. Sawada, S. Araki and S. Makino, "Frequency Domain Blind Source Separation using Small and Large Spacing Sensor Pairs," in Proc. of ISCAS 2004, vol. V, pp.1-4, May 2004. R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classification, Wiley Interscience, 2nd edition, 2000
しかし、上述した従来の技術では、複数のセンサによる観測信号から得られた情報を容易かつ効率的に利用して信号分離処理を行うことができないという問題点があった。
例えば、独立成分分析による信号分離の場合、正確にパーミュテーション問題を解決するためには繁雑な操作が必要となるという問題がある。すなわち、従来のパーミュテーション問題の解決手法では、センサペア毎に方向と距離比とが推定される。従って、正確にパーミュテーション問題を解決するためには複数のセンサペアでの推定値を統合する必要があった。また、この推定値には誤差が含まれているが、より誤差が少ないと思われるセンサペアを優先的に用いたり、誤差をうまく吸収できるように統合方法を工夫したりする必要があった。さらに、この従来手法では、信号源の位置に関する情報を推定する必要性から、センサの位置情報をあらかじめ取得しておかなければならないという問題点もあった。これはセンサを不規則に配置する場合に不利である。また、たとえセンサを規則的に配置するとしても、配置情報を厳密に知ることは困難であり、より正確なパーミュテーション問題の解決のためにはキャリブレーションなどの操作を必要とする。
また、従来の時間周波数マスクによる信号分離手法の場合、センサが2個の場合のための手法しか提案されておらず、センサが3個以上ある場合であっても、そのうち特定の2つのセンサq,Qのみの情報しか用いずに特徴量を計算していた。これは次元の低下を意味し、全てのセンサを用いる場合に比べて情報量が欠落する。そのため、全てのセンサの情報を効率的に使えず性能に限度があった。また、全てのセンサの情報を有効利用するには、例えば、非特許文献5にならって、複数のセンサペアで求めた特徴量を統合することも可能であろうが、この統合のためには、特徴量抽出のための更なる処理が必要であり、より統合誤差が少ないと思われるセンサペアを優先的に用いるなど、統合の際に工夫する必要があると思われる。さらに、この手法でも、センサの厳密な配置情報をあらかじめ知っておかなければならないという問題点がある。これは、センサを自由に配置する場合に不利である。また、たとえ規則的に配置するとしても、配置情報を厳密に知ることは困難であり、より正確な信号抽出のためにはキャリブレーションなどの操作を必要とする。
さらに、ブラインド信号分離の処理の基本は、センサで観測された混合信号を分離して、複数の分離信号を出力することである。しかし、すべての分離信号が重要なわけではなく、一部の分離信号のみに目的とする目的信号が含まれていることもある。そのような場合、目的信号が含まれている分離信号を選択する必要があるが、従来のブラインド信号分離では、どの分離信号に目的信号が含まれているかという情報までは提供されない。従って、何らかの別の手段によって、どの分離信号に目的信号が含まれているかを判定しなければならない。
本発明はこのような点に鑑みてなされたものであり、複数のセンサによる観測信号から得られた情報を容易かつ効率的に利用して信号分離処理を行うことが可能な技術を提供することを目的とする。
本発明では、上記課題を解決するために、まず、周波数領域変換部が、複数のセンサで観測された混合信号を、周波数領域の混合信号に変換する。次に、正規化部が、当該周波数領域の混合信号を用いて生成された複素ベクトルを正規化し、当該複素ベクトルの周波数依存性を排除した正規化ベクトルを生成する。次に、クラスタリング部が、当該正規化ベクトルをクラスタリングし、クラスタを生成する。そして、このクラスタを用いて信号分離処理を行う。
ここで、当該クラスタの生成には、混合信号を観測する各センサの厳密な位置情報を、入力情報として直接用いることは必要としない。また、各クラスタは、各信号源の位置に依存する情報に基づき形成される。これらより、本発明では、各センサの厳密な位置情報を用いることなく、信号分離処理が可能となる。
また、本発明において好ましくは、正規化部は、複素ベクトルが具備する特定の1つの要素を基準として当該複素ベクトルの各要素の偏角を正規化する第1正規化部と、第1正規化部で正規化された各要素の偏角を周波数に比例した値で除算する第2正規化部とを有する。
これらの正規化後の複素ベクトルは、信号源の位置に依存したクラスタを形成する。これにより、各センサの厳密な位置情報を用いることなく、信号分離処理を行うことが可能となる。
また、本発明において好ましくは、正規化部は、第2正規化部で正規化された各要素からなるベクトルのノルムを所定の値に正規化する第3正規化部をさらに有する。
これらの正規化後の複素ベクトルは、信号源の位置に依存したクラスタを形成する。また、第2正規化された各要素からなるベクトルのノルムを正規化することにより、クラスタリングの処理が簡略化される。
また、好ましい第1の本発明では、まず、周波数領域変換部が、複数のセンサで観測された混合信号を、周波数領域の混合信号に変換する。次に、分離行列算出部が、周波数領域の混合信号を用いて、周波数毎に分離行列を算出し、逆行列算出部が、分離行列の一般化逆行列を算出する。次に、基底ベクトル正規化部が、一般化逆行列を構成する基底ベクトルの正規化を行い、正規化基底ベクトルを算出する。次に、クラスタリング部が、正規化基底ベクトルをクラスタリングし、クラスタを生成する。その後、順列算出部が、クラスタの中心ベクトルと正規化基底ベクトルとを用い、分離行列の要素を並び替えるための順列を算出する。なお、基底ベクトルは、複素ベクトルに含まれる概念である。
この第1の本発明では、基底ベクトルを正規化してクラスタリングし、パーミュテーション問題解決のための順列を算出する。そのため、このクラスタリングに際し、センサの位置情報をあらかじめ取得しておく必要がない。さらに、この好ましい本発明では、正規化基底ベクトルのすべての要素を対象としてクラスタリングを行い、その結果からパーミュテーション問題解決のための順列を算出する。そのため、従来のように推定結果を統合するための操作を必要としない。
また、当該第1の本発明において、より好ましくは、基底ベクトル正規化部は、基底ベクトルの周波数依存性を排除する正規化を行う。そして、より好ましくは、当該基底ベクトルの周波数依存性を排除する正規化は、基底ベクトルが具備する特定の1つの要素を基準として当該基底ベクトルの各要素の偏角を正規化し、さらに、各要素の偏角を周波数に比例した値で除算する正規化である。このような正規化により、信号源の位置に依存したクラスタの形成が可能となる。
また、当該第1の本発明において、より好ましくは、基底ベクトルの周波数依存性を排除する正規化は、基底ベクトルAp(f)(p=1,...,N、Nは信号源の数)の各要素Aqp(f)(q=1,...,M、Mは混合信号を観測するセンサの数)に対し、
Figure 0004406428
の演算を行う正規化である。ただし、expをネピア数とし、arg[・]を偏角とし、fを周波数とし、jを虚数単位とし、cを信号の伝達速度とし、QをM以下の自然数から選択された基準値とし、dを実数とする。すなわち、式(10)の演算によって行われる正規化は、基底ベクトルが具備する特定の1つの要素を基準として当該基底ベクトルの各要素の偏角を正規化し、さらに、各要素の偏角を周波数に比例した値で除算する正規化である。この正規化により、周波数への依存性を排除できる。また、当該正規化には、センサの厳密な配置情報を必要としない。
また、上述の式(10)の実数dは、要素AQp(f)に対応する基準センサQと他のセンサとの最大距離dmaxであることが望ましい。クラスタリングの精度が一般的に向上するからである。この詳細は後述する。
また、第1の本発明において好ましくは、基底ベクトルを周波数に依存しない周波数正規化ベクトルに正規化し、この周波数正規化ベクトルをノルムが規定値をとる正規化基底ベクトルに正規化する。以上の二段階の正規化によって生成された正規化基底ベクトルは、周波数に依存せず、信号源の位置のみに依存する。なお、ノルムの正規化により、クラスタリングの処理が簡略化できる。
さらにまた、第1の本発明において好ましくは、分離信号のエンベロープ(分離信号の絶対値の包絡線)とクラスタの中心ベクトルと正規化基底ベクトルとを用いて順列を算出する。これにより、より精度よくパーミュテーション問題を解決することができる。
また、好ましい第2の本発明では、周波数領域変換部が、複数のセンサで観測された混合信号を周波数領域の混合信号に変換し、信号分離部が、周波数領域の混合信号を用い、周波数毎に分離行列と分離信号とを算出する。そして、目的信号選択部が、複数の分離信号から、目的信号を含むものを選択信号として選択する。その手順は、分離行列の一般化逆行列の列である基底ベクトルを正規化し、その正規化された基底ベクトルをクラスタリングし、そのクラスタの分散を指標として選択信号を決定するものである。なお、分離行列が正方行列の場合、「一般化逆行列」は逆行列に相当する。すなわち、ここでの一般化逆行列は、通常の逆行列をも含む概念である。
クラスタの分散を指標とすることで、センサに近い信号を目的信号として位置付け、そのような目的信号を含む分離信号を選択信号として選び出すことができる。その理由を以下に述べる。ここで、基底ベクトルの正規化は、複数の信号源から発せられた信号の畳み込み混合を所定のモデル(例えば、近距離場モデル)に近似した場合に、正規化された基底ベクトルが信号源の位置のみに依存したクラスタを形成するように行われる。しかし、実環境では、このようなモデルに反映されない様々な因子が存在する。例えば、近距離場モデルでは、信号が壁などに反射することによって生じる伝送歪みが反映されない。このような実環境とモデルとの乖離は、信号源からセンサまでの距離が大きいほど大きくなり、センサに近い信号ほど小さくなる。従って、センサに近い信号ほど実環境に近い条件で正規化ができ、実環境とモデルとの乖離に起因するクラスタの分散を小さくできる。好ましい第2の本発明では、この関係に着目し、クラスタの分散指標として、センサに近い信号である目的信号を含む選択信号を抽出する。以上の操作により、目的信号を抽出し、他の妨害信号をある程度抑圧することができる。
しかし、分離行列及び分離信号の算出を独立成分分析(ICA:Independent Component Analysis)で行う場合、以上の処理によって完全に抑制できる妨害信号の数はセンサの数から1を引いた数までである。すなわち、妨害信号の数がそれ以上の場合は抑圧しきれない残留成分が残る。そのため、本発明において好ましくは、更に、マスク生成部が、周波数領域の混合信号と基底ベクトルとを用いて時間周波数マスクを生成し、マスキング部が、この時間周波数マスクを、選択された選択信号に適用する。これにより、信号源の数がセンサ数より多い場合でも、選択信号に残留した妨害信号をより良く抑圧することができる。
更に、第2の本発明において好ましくは、マスク生成部は、周波数領域の混合信号を用いて白色化行列を生成し、白色化行列を用い、周波数領域の混合信号を要素とする混合信号ベクトルを変換した白色化混合信号ベクトルと、基底ベクトルを変換した白色化基底ベクトルとを算出し、白色化混合信号ベクトルと白色化基底ベクトルとがなす角度を時間周波数毎に算出し、この角度を要素とする関数を用いて時間周波数マスクを生成する。この時間周波数マスクを選択信号に適用することにより、選択信号に残留した妨害信号を更に抑圧できる。
また更に、第2の本発明において好ましくは、白色化行列が、周波数をfとし、離散時間をτとし、混合信号ベクトルをX(f,τ)とし、ベクトル*を時間平均したベクトルを<*>τとし、ベクトル*の複素共役転置ベクトル(各要素の複素共役を採り転置したベクトル)を*Hとし、R(f)=<X(f,τ)・X(f,τ)H>τとした場合におけるV(f)=R(f)−1/2である。そして、Z(f,τ)=V(f)・X(f,τ)の演算により、白色化混合信号ベクトルZ(f,τ)を算出し、基底ベクトルをA(f)とした場合におけるB(f)=V(f)・A(f)の演算により、白色化基底ベクトルB(f)を算出する。また、ベクトル*の絶対値を|*|とし、ベクトル*のノルムを‖*‖とした場合におけるθ(f,τ)=cos−1(|BH(f)・Z(f,τ)|/‖B(f)‖・‖Z(f,τ)‖)の演算により、角度θ(f,τ)を算出し、α,g,θTを実数とした場合におけるロジスティック関数M(θ(f,τ))=α/(1+eg・(θ(f,τ)−θT))を時間周波数マスクとして算出する。この時間周波数マスクを、抽出した選択信号に適用することにより、選択信号に残留した妨害信号を更に抑圧できる。
また、第2の本発明において好ましくは、目的信号選択部は、基底ベクトルの周波数依存性を排除する正規化を行う。第2の本発明において、より好ましくは、基底ベクトルの周波数依存性を排除する正規化は、基底ベクトルが具備する特定の1つの要素を基準して当該基底ベクトルの各要素の偏角を正規化し、さらに、各要素の偏角を周波数に比例した値で除算する正規化である。またさらに、第2の本発明において、好ましくは、基底ベクトルの周波数依存性を排除する正規化は、基底ベクトルAp(f)(pは自然数)の各要素Aqp(f)(q=1,...,M、Mは混合信号を観測するセンサの数)に対し、
Figure 0004406428
の演算を行う正規化である。ただし、expをネピア数とし、arg[・]を偏角とし、fを周波数とし、jを虚数単位とし、cを信号の伝達速度とし、QをM以下の自然数から選択された基準値とし、dを実数とする。このような正規化により、複数の信号源から発せられた信号の畳み込み混合を所定のモデルに近似した場合に、正規化された基底ベクトルが信号源の位置に依存したクラスタを形成することとなる。その結果、上述のようにクラスタの分散の大きさを指標として、目的信号が含まれる分離信号を選択することが可能となる。なお、当該正規化には、センサの厳密な配置情報を必要としない。
またさらに、上述の式(11)の実数dは、基準センサQと他のセンサとの最大距離dmaxであることが望ましい。クラスタリングの精度が一般的に向上するからである。この詳細は後述する。
また、第2の本発明において好ましくは、目的信号選択部は、分散が最小となるクラスタを選択し、選択されたクラスタに対応する分離信号を目的信号が含まれるものとして選択する。これにより、モデルからの乖離が最も少ない信号(例えば、センサに最も近い信号)を目的信号として抽出することができる。
また、好ましい第3の本発明では、まず、周波数領域変換部が、複数のセンサで観測された混合信号を周波数領域の混合信号に変換する。次に、ベクトル正規化部が、周波数領域の混合信号から構成される混合信号ベクトルの正規化を行い、正規化ベクトルを算出する。そして、クラスタリング部が、正規化ベクトルをクラスタリングし、クラスタを生成する。その後、分離信号生成部が、k番目のクラスタに属する正規化ベクトルの時間周波数に対応する混合信号ベクトルから所定番目の要素を抽出し、これをk番目の要素とした分離信号ベクトルを生成する。
ここで、第3の本発明では、全てのセンサで観測された混合信号を正規化してクラスタリングを行い、各クラスタの情報を用いて分離信号ベクトルを生成している。これは、全てのセンサの情報を同時に用いて分離信号を抽出していることを意味する。また、この処理では、センサの厳密な配置情報を必要としない。以上より、第3の本発明では、センサの厳密な配置情報を必要とすることなく、全ての観測信号から得られた情報を容易かつ効率的に利用して信号分離を行うことができる。
また、第3の本発明において、好ましくは、ベクトル正規化部は、周波数領域の混合信号から構成される混合信号ベクトルの周波数依存性を排除する正規化を行う。また、さらに好ましくは、混合信号ベクトルの周波数依存性を排除する正規化は、混合信号ベクトルが具備する特定の1つの要素を基準として当該基底ベクトルの各要素の偏角を正規化し、さらに、各要素の偏角を周波数に比例した値で除算する正規化である。またさらに好ましくは、混合信号ベクトルの周波数依存性を排除する正規化は、混合信号ベクトルの各要素Xq(f,τ) (q=1,...,M、Mは混合信号を観測するセンサの数)に対し、
Figure 0004406428
の演算を行う正規化である。ただし、expをネピア数とし、arg[・]を偏角とし、jを虚数単位とし、cを信号の伝達速度とし、QをM以下の自然数から選択された値とし、dを実数とし、fを周波数とし、τを離散時間とする。これにより、周波数の依存性を排除できる。これにより、信号源の位置に依存したクラスタを形成できる。なお、当該正規化には、センサの厳密な配置情報を必要としない。
また、上述の式(12)の実数dは、要素X(f,τ)に対応するセンサと他のセンサとの最大距離dmaxであることが望ましい。クラスタリングの精度が一般的に向上するからである。この詳細は後述する。
また、第3の本発明において、好ましくは、ベクトル正規化部は、混合信号ベクトルの周波数依存性を排除する正規化と、ノルムを規定値にする正規化とを行う。これにより、クラスタリングの処理が簡略化される。
以上のように、本発明では、複数のセンサによる観測信号から得られた情報を容易かつ効率的に利用して信号分離処理を行うことができる。
例えば、第1の発明では、厳密なセンサ配置に係る情報の事前取得や煩雑な操作を必要とせずに正確にパーミュテーション問題を解決できる。また、第2の発明では、目的信号の方向に関する情報を知ることなく、複数の信号源から発せられた信号が混合された混合信号から目的信号を抽出することができる(たとえN>Mであったとしても)。また、第3の発明では、センサの厳密な配置情報を必要とすることなく、全ての観測信号から得られた情報を容易かつ効率的に利用して信号分離を行うことができる(たとえN>Mであったとしても)。
図1は、本発明の原理を備えた信号分離装置の機能構成を例示したブロック図である。 図2は、第1の実施の形態における信号分離装置のハードウェア構成を例示したブロック図である。 図3は、第1の実施の形態における信号分離装置のブロック図の例示である。 図4Aは、図3におけるパーミュテーション問題解決部の詳細を例示したブロック図である。図4Bは、図4Aの基底ベクトル正規化部の詳細を例示したブロック図である。 図5は、第1の実施の形態における信号分離装置の処理の全体を説明するためのフローチャートである。 図6は、第1の実施の形態の正規化処理の詳細を説明するためのフローチャートである。 図7Aは、dmax/2≧dである場合における、パラメータd毎の正規化基底ベクトルの要素Aqp''(f)とその偏角arg[Aqp''(f)]との関係を説明するための複素平面図である。図7Bは、dmax/2<d<dmaxである場合における、パラメータd毎の正規化基底ベクトルの要素Aqp''(f)とその偏角arg[Aqp''(f)]との関係を説明するための複素平面図である。 図8Aは、d=dmaxである場合における、パラメータd毎の正規化基底ベクトルの要素Aqp''(f)とその偏角arg[Aqp''(f)]との関係を説明するための複素平面図である。図8Bは、d>dmaxである場合における、パラメータd毎の正規化基底ベクトルの要素Aqp''(f)とその偏角arg[Aqp''(f)]との関係を説明するための複素平面図である。 図9は、第2の実施の形態における信号分離装置のブロック図の例示である。 図10Aは、図9におけるパーミュテーション問題解決部の詳細を例示したブロック図である。図10Bは、図10Aの順列修正部の詳細を例示したブロック図である。 図11は、第2の実施の形態における信号分離装置の処理の全体を説明するためのフローチャートである。 図12は、図11におけるステップS58の例を説明するためのフローチャートである。 図13は、図11におけるステップS58の例を説明するためのフローチャートである。 図14Aは、第1の実施の形態及び第2の実施の形態による音源分離実験条件を示した図である。図14Bは、第1の実施の形態及び第2の実施の形態による音源分離実験結果を示した図である。 図15Aは、第1の実施の形態及び第2の実施の形態による音源分離実験条件を示した図である。図15Bは、第1の実施の形態及び第2の実施の形態による音源分離実験結果を示した図である。 図16は、第3の実施の形態における信号分離装置の構成を例示したブロック図である。 図17Aは、図16における目的信号選択部の詳細構成を例示したブロック図である。図17Bは、図17Aにおける基底ベクトルクラスタリング部の詳細構成を例示したブロック図である。 図18Aは、図16における時間周波数マスキング部の詳細構成を例示したブロック図である。図18Bは、図18Aにおけるマスク生成部の詳細を例示したブロック図である。 図19は、第3の実施の形態における信号分離処理の全体を説明するためのフローチャートである。 図20は、第3の実施の形態における目的信号選択部の処理の詳細を説明するためのフローチャートである。 図21Aは、ステップS112の周波数正規化の詳細を説明するためのフローチャートである。図21Bは、ステップS113のノルム正規化の詳細を説明するためのフローチャートである。 図22は、選択信号の選択手順(ステップS115)の詳細を例示したフローチャートである。 図23は、図19におけるステップS104の詳細を説明するためのフローチャートである。 図24Aは、二種類の実数パラメータθ,gに対し、式(46)に従って算出された時間周波数マスクM(f,τ)を例示した図である。図24Bは、ある時間周波数位置(f,τ)において目的信号(I(f)=1とする)に対応するベクトルV(f)・H1(f)の他に、妨害信号に対応ベクトルするV(f)・H2(f),V(f)・H3(f)が共存することを示した図である。 図25は、第4の実施の形態における信号分離装置のブロック図の例示である。 図26は、第4の実施の形態における信号分離装置の処理を説明するためのフローチャートである。 図27は、第5の実施の形態における信号分離装置のブロック図の例示である。 図28Aは、図27における時間周波数マスキング部の詳細構成を示すブロック図である。図28Bは、図28Aのマスク生成部の詳細構成を示すブロック図である。 図29は、第5の実施の形態における時間周波数マスクの生成処理を説明するためのフローチャートである。 図30Aは、図29におけるステップS171の詳細を説明するためのフローチャートである。図30Bは、図29におけるステップS172の詳細を説明するためのフローチャートである。 図31Aは、第3の実施の形態及び第4の実施の形態による効果を示すための実験条件を示した図である。図31Bは、ICAのみの場合(第4の実施の形態)と、ICAと時間周波数マスキングの両方を組み合わせた場合(第3の実施の形態)のSIRの平均改善量を示す表である。 図32は、第6の実施の形態における信号分離装置のブロック図の例示である。 図33は、図32における信号分離部の詳細を例示したブロック図である。 図34は、第6の実施の形態における信号分離装置の処理の全体を説明するためのフローチャートである。 図35Aは、図34に示したステップS202の処理の詳細を説明するためのフローチャートである。図35Bは、図34に示したステップS203の処理の詳細を説明するためのフローチャートである。 図36は、図34に示したステップS205の処理の詳細を説明するためのフローチャートである。 図37Aは、dmax/2≧dの場合における、パラメータd毎のノルム正規化ベクトルX''(f,τ)の要素Xq''(f,τ)と、その偏角arg[Xq'' (f,τ)]との関係を説明するための複素平面図である。図37Bは、dmax/2<d<dmaxの場合における、パラメータd毎のノルム正規化ベクトルX''(f,τ)の要素Xq'' (f,τ)と、その偏角arg[Xq''(f,τ)]との関係を説明するための複素平面図である。 図38Aは、d=dmaxの場合における、パラメータd毎のノルム正規化ベクトルX''(f,τ)の要素Xq''(f,τ)と、その偏角arg[Xq''(f,τ)]との関係を説明するための複素平面図である。図38Bは、d>dmaxの場合における、パラメータd毎のノルム正規化ベクトルX''(f,τ)の要素Xq''(f,τ)と、その偏角arg[Xq''(f,τ)]との関係を説明するための複素平面図である。 図39Aは、第6の実施の形態による音源分離実験条件を示した図である。図39Bは、第6の実施の形態による音源分離実験結果を示した図である。 図40Aは、第6の実施の形態による音源分離実験条件を示した図である。図40Bは、第6の実施の形態による音源分離実験結果を示した図である。 図41Aは、第6の実施の形態による音源分離実験条件を示した図である。図41Bは、第6の実施の形態による音源分離実験結果を示した図である。
符号の説明
1,10,200,1001,1200,1300,2001 信号分離装置
以下、本発明の実施の形態を図面を参照して説明する。
〔原理〕
まず、本発明の原理について説明する。
図1は、本発明の原理を備えた信号分離装置1の機能構成を例示したブロック図である。なお、後述のように、信号分離装置1は、例えば、公知のノイマン型のコンピュータに所定のプログラムを実行させることにより構成される。
信号分離装置1は、複数の信号源から発せられた源信号の混合からなる混合信号を当該源信号に分離する装置である。図1に例示するように、信号分離装置1は、周波数領域変換部2と、複素ベクトル生成部3と、正規化部4と、クラスタリング部5とを有している。ここで、正規化部4は、複素ベクトルが具備する特定の1つの要素を基準として当該複素ベクトルの各要素の偏角を正規化する第1正規化部4aと、第1正規化部4aで正規化された各要素の偏角を周波数に比例した値で除算する第2正規化部4bと、第2正規化部4bで正規化された各要素からなるベクトルのノルムを所定の値に正規化する第3正規化部4cとを有する。なお、第1正規化部4a及び第2正規化部4bにより、複素ベクトルの周波数依存性が排除される(周波数正規化)。
信号分離装置1によって信号分離処理を行う場合、まず、複数のセンサで観測された混合信号(時間領域の信号)が周波数領域変換部2に入力される。周波数領域変換部2は、短時間離散フーリエ変換等によって、複数のセンサで観測された混合信号(時間領域の信号)を、周波数領域の混合信号に変換する。次に、複素ベクトル生成部3が、当該周波数領域の混合信号を用い、複素数の要素からなる複素ベクトルを生成する。次に、正規化部4が、当該複素ベクトルを正規化し、当該複素ベクトルの周波数依存性を排除した正規化ベクトルを生成する。
図1の例の正規化では、まず、第1正規化部4aが、時間周波数毎に、当該複素ベクトルが具備する特定の1つの要素を基準として当該複素ベクトルの各要素の偏角を正規化する。これにより、複素ベクトルの各要素の偏角は、源信号の位相や振幅に依存せず、各センサに対する信号源の相対位置や周波数のみに依存することになる(詳細は後述)。次に、第2正規化部4bが、第1正規化部4aで正規化された各要素の偏角を周波数に比例した値で除算する。これにより、各複素ベクトルの各要素の周波数依存性が排除され、複素ベクトルは、各センサに対する各信号源の相対位置のみに依存したものに正規化される。さらに、第3正規化部4cが、第2正規化部4bで正規化された各要素からなるベクトルのノルムを所定の値に正規化する。
次に、クラスタリング部5が、このような正規化が行われた正規化ベクトルのクラスタリングを行い、クラスタを生成する。これらのクラスタは、各センサに対する各信号源の相対位置のみに依存したものになる。分離信号生成部6は、これらのクラスタを利用して各種の信号分離処理を行い、周波数領域の分離信号を生成する。最後に、時間領域変換部が、周波数領域の分離信号を時間領域の分離信号に変換する。
上述のように、これらのクラスタを生成するために、各センサの厳密な位置情報を事前に取得しておく必要はない。また、これらのクラスタの生成には、全てのセンサでの観測信号の情報が用いられている。すなわち、本発明では、複数のセンサによる観測信号から得られた情報を容易かつ効率的に利用して信号分離処理を行うことができる。
なお、ノルムを正規化しなくても、クラスタリングの方法を工夫することにより、各センサに対する各信号源の相対位置のみに依存したクラスタを生成することは可能である。しかし、クラスタリングの処理を簡略化するため、第3正規化部4cによるノルムの正規化を行うことが望ましい。
以下、本発明の各実施の形態を詳細に説明する。
〔第1の実施の形態(「第1の本発明」の例)〕
まず、本発明における第1の実施の形態について説明する。
本形態は、上述の原理により、厳密なセンサ配置に係る情報の事前取得や煩雑な操作を必要とせずに正確にパーミュテーション問題を解決する形態である。なお、本形態では、後述する「基底ベクトル」が上述の「複素ベクトル」に相当する。
<ハードウェア構成>
図2は、第1の実施の形態における信号分離装置10のハードウェア構成を例示したブロック図である。
図2に例示するように、この例の信号分離装置10は、CPU(Central Processing Unit)10a、入力部10b、出力部10c、補助記憶装置10f、RAM(Random Access Memory)10d、ROM(Read Only Memory)10e及びバス10gを有している。
この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10ac有し、レジスタ10acに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、この例の入力部10bは、データが入力される入力ポート、キーボード、マウス等であり、出力部10cは、データを出力する出力ポート、ディスプレイ等である。補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、本形態の信号分離処理を実行するための信号分離プログラムを格納した信号分離プログラム領域10fa及びセンサで観測された時間領域の混合信号等の各種データが格納されるデータ領域10fbを有している。また、RAM10dは、例えば、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、信号分離プログラムが書き込まれる信号分離プログラム領域10da及び各種データが書き込まれるデータ領域10dbを有している。また、この例のバス10gは、CPU10a、入力部10b、出力部10c、補助記憶装置10f、RAM10d及びROM10eを通信可能に接続している。
<ハードウェアとソフトウェアとの協働>
この例のCPU10aは、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置10fの信号分離プログラム領域10faに格納されている信号分離プログラムを、RAM10dの信号分離プログラム領域10daに書き込む。同様にCPU10aは、補助記憶装置10fのデータ領域10fbに格納されている時間領域の混合信号等の各種データをRAM10dのデータ領域10dbに書き込む。さらに、CPU10aは、この信号分離プログラムや各種データが書き込まれたRAM10d上のアドレスをレジスタ10acに格納する。そして、CPU10aの制御部10aaは、レジスタ10acに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM10d上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部10abに順次実行させ、その演算結果をレジスタ10acに格納していく。
図3は、このようにCPU10aに信号分離プログラムが読み込まれることにより構成される信号分離装置10のブロック図の例示である。また、図4Aは、図3におけるパーミュテーション問題解決部140の詳細を例示したブロック図であり、図4Bは、図4Aの基底ベクトル正規化部142の詳細を例示したブロック図である。
図3に例示するように、信号分離装置10は、メモリ100、周波数領域変換部120、分離行列算出部130、パーミュテーション問題解決部140、分離信号生成部150、時間領域変換部160及び制御部170を有している。また、この例のパーミュテーション問題解決部140は、逆行列算出部141(「複素ベクトル生成部」に対応)、基底ベクトル正規化部142(「正規化部」に対応)、クラスタリング部143、順列算出部144及び並び替え部145を有しており、基底ベクトル正規化部142は、周波数正規化部142a及びノルム正規化部142bを有している。また、周波数正規化部142aは、第1正規化部142aaと第2正規化部142abとを有している。さらに、制御部170は一時メモリ171を有している。
ここでメモリ100及び一時メモリ171は、レジスタ10ac、補助記憶装置10fのデータ領域10fb或いはRAM10dのデータ領域10db等に相当する。また、周波数領域変換部120、分離行列算出部130、パーミュテーション問題解決部140、分離信号生成部150、時間領域変換部160及び制御部170は、CPU10aにOSプログラムや信号分離プログラムが読み込まれることにより構成されるものである。
なお、図3及び図4における破線の矢印は理論上の情報の流れを示し、実線の矢印は実際のデータの流れを示す。また、これらの図において制御部170に出入りするデータの流れに対応する矢印は省略してあり、図4における実際のデータの流れに対応する矢印も省略してある。
<処理>
次に、本形態の信号分離装置10の処理について説明する。なお、以下では、N個の源信号が混合され、M個のセンサで観測された状況を取り扱う。また、前処理において、各センサで観測された時間領域の混合信号xq(t)(q=1,...,M)がメモリ100の記憶領域101に格納され、信号の伝達速度c、M以下の自然数から選択された基準値Q(M個のセンサから選択された1つの基準センサの添字番号)及び実数dの各パラメータが記憶領域107に格納されているものとする。
図5は、第1の実施の形態における信号分離装置10の処理の全体を説明するためのフローチャートである。以下、この図に沿って、本形態における信号分離装置10の処理を説明していく。
[周波数領域変換部120の処理]
まず、周波数領域変換部120において、メモリ100の記憶領域101から時間領域の混合信号xq(t)を読み出し、これらを短時間離散フーリエ変換等によって周波数毎の時系列の信号(「周波数領域の混合信号」と呼ぶ)Xq(f,τ)(q=1,...,M)に変換し、メモリ100の記憶領域102に格納する(ステップS1)。
[分離行列算出部130の処理]
次に、分離行列算出部130において、メモリ100の記憶領域102から周波数領域の混合信号Xq(f,τ)を読み出す。周波数領域の混合信号Xq(f,τ)を読み出した分離行列算出部130は、これらからなる混合信号ベクトルX(f,τ)=[X1(f,τ),...,XM(f,τ)]Tを用い、独立成分分析(ICA)によって、周波数毎に第1の分離行列W(f)と分離信号ベクトルY(f,τ)=[Y1(f,τ),...,YN(f,τ)]Tとを算出する。そして、算出された第1の分離行列W(f)はメモリ100の記憶領域103に格納される(ステップS2)。
ここで、分離行列算出部130において算出された第1の分離行列W(f)には、順序の任意性が含まれている。よって、以下のようにパーミュテーション問題解決部140において、第1の分離行列W(f)を順序の任意性を解決した第2の分離行列W’(f)に変更する。
[パーミュテーション問題解決部140の処理]
まず、逆行列算出部141において、メモリ100の記憶領域103から第1の分離行列W(f)を読み出し、そのムーア・ペンローズ(Moore-Penrose)型一般化逆行列W+(f)=[A1(f),...,AN(f)](M=Nの場合は逆行列W-1(f)に一致)を計算し、これを構成する基底ベクトルAp(f)=[A1p(f),...,AMp(f)]T (p=1,...,N)をメモリ100の記憶領域104に格納する(ステップS3)
次に、基底ベクトル正規化部142において、メモリ100の記憶領域104から基底ベクトルAp(f)(p=1,...,N、f=0,fs/L,…,fs(L-1)/L)を読み出し、これらを正規化した正規化基底ベクトルAp''(f)を算出し、メモリ100の記憶領域106に格納する(ステップS4)。なお、基底ベクトル正規化部142は、全ての基底ベクトルAp(f)(p=1,...,N、f=0,fs/L,…,fs(L-1)/L)を正規化し、それらを周波数に依存せず、信号源の位置のみに依存する正規化基底ベクトルAp''(f)に正規化する。その結果、それらをクラスタリングした際に、各クラスタが各信号源に対応するようになる。この正規化を適切に行わないとクラスタが形成されない。また、本形態における正規化は周波数正規化とノルム正規化との二段階からなる。周波数正規化は、周波数正規化部142a(図4B)において、基底ベクトルを周波数に依存しない周波数正規化ベクトルに正規化するものである。ノルム正規化は、ノルム正規化部142bにおいて、周波数正規化ベクトルをノルムが規定値(この例では1)をとる正規化基底ベクトルに正規化するものである。これらの正規化処理の詳細については後述する。
次に、クラスタリング部143において、メモリ100の記憶領域106から正規化基底ベクトルAp''(f)を読み出し、これらの正規化基底ベクトルAp''(f)をクラスタリングしてN個のクラスタC(k=1,...,N)を生成し、各クラスタCとそれらのセントロイド(中心ベクトル)ηを特定する情報をメモリ100の記憶領域108,109に格納する(ステップS5)。このクラスタリングは、例えば、各クラスタCの要素(正規化基底ベクトルAv''(f))と各クラスタCのセントロイドηとの間の二乗和Uの総和U
Figure 0004406428
を最小値化することを基準に行われる。この最小値化は、例えば、非特許文献6などで解説されているk-meansクラスタリングを用いることによって効果的に行うことができる。なお、クラスタCのセントロイドηは、
Figure 0004406428
によって計算される。ここで|Ck|はクラスタCkにおける要素(正規化基底ベクトルAv'' (f))の数である。また、ここでは、距離としてユークリッド距離の自乗を用いているが、これを一般化したミンコフスキー距離などを用いてもよい。なお、正規化基底ベクトルAp'' (f)がクラスタを形成する理由については後述する。
次に、順列算出部144において、メモリ100の記憶領域106から正規化基底ベクトルAp''(f)を、記憶領域109から各クラスタCのセントロイドηをそれぞれ読み出す。そして、順列算出部144は、これらを用い、第1の分離行列W(f)の要素を並び替えるための順列Π({1,2,…,N}から{1,2,…,N}への全単射な関数)を周波数f毎に算出し、メモリ100の記憶領域110に格納する(ステップS6)。なお、この順列Πは、
Figure 0004406428

によって決定される。ここで式(13)におけるargminΠ・は、・を最小値化するΠを意味するなお、式(13)に従って順列Πを決定する手順としては、例えば、採り得るすべての順列Π(N!通り)に対して
Figure 0004406428
を算出し、その最小値に対応するΠを順列Πとして決定する手順を例示できる。以下にこの具体例を示す。
[順列Π決定の具体例1]
信号源の数Nが3であり、ある周波数fにおける正規化基底ベクトルA1''(f),A2''(f),A3''(f)と各セントロイドη,η,ηとの距離の自乗が、以下の表に示されるものであったとする。
Figure 0004406428
この場合、式(13)により得られる順列は、
Π:[1,2,3]→[2,3,1]
となる。なぜなら、
‖η1- Aπ(1)''(f)‖2=‖η1- A2''(f)‖2=0.1
‖η2- Aπ(2)''(f)‖2=‖η2- A3''(f)‖2=0.2
‖η3- Aπ(3)''(f)‖2=‖η3- A1''(f)‖2=0.15
という組合せが、
Figure 0004406428
を最小とするからである(順列Π決定の具体例1の説明終わり)。
しかし、この手順はNが大きくなると現実的ではない。そのため、その近似法として、順番に‖ηk-AΠ(k)''(f)‖2を最小値化するAΠ(k)''(f)を重複がないように選択していき、この選択されたAΠ(k)''(f)を正規化基底ベクトルAk''(f)に移す順列を順列Πとする手順等を用いてもよい。以下、上述の[順列Π決定の具体例1]と同じ条件に対し、この近似法を適用して順列Πを決定する手順を示す。
[順列Π決定の具体例2]
まず、上記の表1の場合、距離の自乗の最小値は0.1(正規化基底ベクトルA2''(f)と各セントロイドηとの距離の自乗)であるため、Π(1)=2を決定する。そして、正規化基底ベクトルA2''(f)と各セントロイドηとに関連する行と列とを消すと以下のようになる。
Figure 0004406428
この表2の場合、距離の自乗の最小値は0.15(正規化基底ベクトルA1''(f)と各セントロイドη3との距離の自乗)であるため、Π(3)=1を決定する。そして、最後にΠ(2)に残りの3を割り当てる([順列Π決定の具体例2]の説明終わり)。
次に、並び替え部145において、メモリ100の記憶領域103から第1の分離行列W(f)を、記憶領域110から順列Πを読み出す。そして、並び替え部145は、この第1の分離行列W(f)の行を順列Πに従って並び替えた第2の分離行列W’(f)を生成してメモリ100の記憶領域111に格納する(ステップS7)。なお、第1の分離行列W(f)の行を順列Πに従って並び替えるとは、上述のムーア・ペンローズ型一般化逆行列W+(f)における要素AΠ(k)''(f)からAk''(f)への並び替えに対応する並び替えを、第1の分離行列W(f)に対して行うことを意味する。すなわち、第1の分離行列W(f)の順列Π(k)行目が第2の分離行列W’(f)のk行目になるように並び替える。上述の[順列Π決定の具体例1,2]の場合、第1の分離行列W(f)の2,3,1行目が、それぞれ第2の分離行列W’(f)の1,2,3行目になる。
[分離信号生成部150の処理]
その後、分離信号生成部150において、メモリ100の記憶領域102から周波数領域の混合信号Xq(f,τ)を、記憶領域111から第2の分離行列W’(f)を読み出す。そして、分離信号生成部150は、周波数領域の混合信号Xq(f,τ)からなる混合信号ベクトルX(f,τ)=[X1(f,τ),...,XM(f,τ)]Tと第2の分離行列W’(f)とを用い、分離信号ベクトル
Y(f,τ)=W’(f)・X(f,τ)
を算出し、これらの各要素である周波数領域の信号(「周波数領域の混合信号」と呼ぶ)Yp(f,τ)をメモリ100の記憶領域112に格納する(ステップS8)。
[時間領域変換部160の処理]
最後に時間領域変換部160において、メモリ100の記憶領域112から周波数領域の分離信号Yp(f,τ)を読み出し、これを添え字p毎に(Yp(f,τ)毎に)短時間逆フーリエ変換等によって時間領域の分離信号yp(t)に変換し、これらの時間領域の分離信号yp(t)をメモリ100の記憶領域113に格納する(ステップS9)。
[正規化処理の詳細(ステップS4の詳細)]
次に、前述した基底ベクトル正規化部142における正規化処理の詳細(ステップS4の詳細)について説明する。
図6は、この正規化処理の詳細を説明するためのフローチャートである。
まず、制御部170(図3)においてパラメータpに1を代入し、これを一時メモリ171に格納する(ステップS11)。また、制御部170においてパラメータqに1を代入し、これを一時メモリ171に格納する(ステップS12)。次に、周波数正規化部142a(図4)において、メモリ100の記憶領域107から前述のパラメータd,c,Qを読み出し、一時メモリ171からパラメータp,qを読み出し、基底ベクトルAp(f)の要素Aqp(f)に対し、
Figure 0004406428
の演算を行い、当該演算結果Aqp’(f)を周波数正規化ベクトルAp’(f)の各要素Aqp’(f)としてメモリ100の記憶領域105に格納する(ステップS13)。なお、arg[・]は偏角を意味し、jは虚数単位を意味する。
より詳細には、まず、周波数正規化部142aの第1正規化部142aaが、基底ベクトルAp(f)の特定の1つの要素AQp(f)を基準として当該基底ベクトルAp(f)の各要素Aqp(f)の偏角を、以下の演算によって正規化する。
Figure 0004406428
次に、周波数正規化部142aの第2正規化部142abが、第1正規化部142aaで正規化された各要素Aqp'''(f)の偏角を、以下のように周波数fに比例した値4fc-1dで除算する。
Figure 0004406428
次に、制御部170において、一時メモリ171に格納されたパラメータqがq=Mを満たすか否かを判断する(ステップS14)。ここでq=Mでなければ、制御部170は、q+1の演算結果を新たなパラメータqの値とし、これを一時メモリ171に格納し(ステップS15)、処理をステップS13へ戻す。一方、q=Mであれば、制御部170は、さらにp=Nを満たすか否かを判断する(ステップS16)。
ここでp=Nでなければ、制御部170において、p+1の演算結果を新たなパラメータpの値とし、これを一時メモリ171に格納し(ステップS17)、処理をステップS12へ戻す。一方、p=Nであれば、制御部170においてパラメータpに1を代入し、これを一時メモリ171に格納し(ステップS18)、ノルム正規化部142bにおける処理を開始する。まず、ノルム正規化部142bにおいて、メモリ100の記憶領域105から周波数正規化ベクトルAp’(f)の各要素Aqp’(f)を読み出し、
Figure 0004406428
の演算を行って、周波数正規化ベクトルAp’(f)のノルム‖Ap’(f)‖を求め、周波数正規化ベクトルAp’(f)及びそのノルム‖Ap’(f)‖を一時メモリ171に格納する(ステップS19)。
次に、ノルム正規化部142bにおいて、一時メモリ171から周波数正規化ベクトルAp’(f)及びそのノルム‖Ap’(f)‖を読み出し、
Ap'' (f)=Ap’(f)/‖Ap’(f)‖ …(18)
の演算を行って正規化基底ベクトルAp'' (f)を求め、これをメモリ100の記憶領域106に格納する(ステップS20)。
その後、制御部170において、一時メモリ171に格納されたパラメータpがp=Nを満たすか否かを判断する(ステップS21)。ここでp=Nでなければ、制御部170は、p+1の演算結果を新たなパラメータpの値とし、これを一時メモリ171に格納し(ステップS22)、ステップS19の処理に戻す。一方、p=Nであれば、制御部170は、ステップS4の処理を終了させる。
このように生成された正規化基底ベクトルAp''(f)は、周波数に依存せず、信号源の位置のみに依存するベクトルとなる。その結果、この正規化基底ベクトルAp''(f)はクラスタを形成することになる。以下にこの理由を説明する。
[正規化基底ベクトルAp''(f)がクラスタを形成する理由]
基底ベクトルAp(f)の各要素Aqp(f)は、源信号pに対応する信号源kからセンサqヘの周波数応答Hqkに比例した(ある複素数スカラが掛かった)ものになっている。これらの複素数スカラは離散時間に応じ変化するが、源信号pとセンサqとに対応する複素数スカラと、源信号pとセンサQとに対応する複素数スカラとの相対値は、離散時間が変化しても一定である(周波数fが同じであれば)。すなわち、周波数fが同じであれば、源信号pとセンサqとに対応する複素数スカラの偏角と、源信号pとセンサQとに対応する複素数スカラの偏角との相対値は一定である。
前述のように、周波数正規化部142aの第1正規化部142aaは、基底ベクトルAp(f)の特定の1つの要素AQp(f)を基準として当該基底ベクトルAp(f)の各要素Aqp(f)の偏角を正規化する。これにより、上述の複素数スカラの位相に起因する不確定性を取り除き、源信号pとセンサqとに対応する基底ベクトルAp(f)の要素Aqp(f)の偏角を、源信号pと基準センサQ(基準値Qに対応)とに対応する基底ベクトルAp(f)の要素AQp(f)の偏角に対する相対値として表現する。なお、この場合、要素AQp(f)の偏角に対応する当該相対値は0と表現される。信号源kからセンサqヘの周波数応答を、反射や残響の無い直接波モデルで近似して考える。すると、上記の第1正規化部142aaにより正規化された偏角は、信号源kからセンサへの波の到達時間差と周波数fの双方に比例したものになる。ここでの到達時間差とは、信号源kからの波がセンサqに到達するまでの時間と、当該波が基準センサQに到達するまでの時間との時間差である。
また、前述のように、第2正規化部142abは、第1正規化部142aaで正規化された各要素Aqp''' (f)の偏角を周波数fに比例した値で除算する。これにより、各要素Aqp''' (f)を、それらの偏角の周波数依存性を排除した各要素Aqp'(f)に正規化する。これにより、正規化された各要素Aqp'(f)は、直接波モデルに従えば、信号源kからセンサへの波の到達時間差のみに依存するものとなる。ここで、信号源kからセンサへの波の到達時間差は、信号源k,センサq,基準センサQの相対位置にのみ依存する。そのため、信号源k,センサq,基準センサQが同じであれば、周波数fが異なっても各要素Aqp'(f)の偏角は同一となる。従って、周波数正規化ベクトルAp' (f)は、周波数fには依存せず、信号源kの位置のみに依存する。
そのため、周波数正規化ベクトルAp' (f)のノルムを正規化した正規化基底ベクトルAp''(f)のクラスタリングによって、同じ信号源毎に対応するクラスタが形成される。なお、実際の環境では、反射や残響などの影響により、直接波モデルは厳密には満たされないが、後述の実験結果に示すとおり十分に良い近似となっている。
次に、正規化基底ベクトルAp''(f)がクラスタを形成する理由を、モデルを用いて説明する。前述した式(1)に示されるインパルス応答hqk(r)を直接波(近距離場)混合モデルを用いて近似し、周波数領域で表すと
Figure 0004406428
となる。ここで、dqkは信号源kとセンサqとの間の距離であり、また、減衰1/dqkは、距離dqkによって決まり、遅延(dqk-dQk)/cは、基準センサQの位置で正規化された距離によって決まる。
また、独立成分分析(ICA)における順序の任意性とスケーリングの任意性とを考慮すると、基底ベクトルAp(f)と式(4)における信号源kから各センサへの周波数応答をまとめたベクトルHk(f)との間には、以下の関係が成り立つ。
Ap(f)=εp・Hk(f), Aqp(f)=εp・Hqk(f) …(20)
ここで、εpはスケーリングの任意性を表現する複素スカラ値であり、添え字kとが異なる可能性が順序の任意性を表現している。ここで、式(16)(18)(19)(20)より、
Figure 0004406428
となる。この式から分かるように、正規化基底ベクトルAp''(f)の各要素Aqp''(f)は、周波数fからは独立であり、信号源kとセンサqの位置のみに依存する。従って、正規化基底ベクトルAp''(f)をクラスタリングすると、同じ信号源ごとに対応するクラスタが形成される。
同様なことは、信号の減衰を考慮していない近距離場混合モデルでモデル化した場合にも言える。すなわち、前述した式(1)に示される畳み込み混合モデルを、減衰を無視した近距離場混合モデルで近似し、周波数領域で表すと
Figure 0004406428
となる。この場合、式(16)(18)(20)(22)より、
Figure 0004406428
となる。この場合も、正規化基底ベクトルAp''(f)の各要素Aqp''(f)は、周波数fからは独立であり、信号源kとセンサqの位置のみに依存している。
さらに、近距離場混合モデルだけではなく、遠距離場混合モデルでも同様なことがいえる。すなわち、前述した式(1)に示される畳み込み混合モデルを遠距離場混合モデルで近似し、周波数領域で表すと
Figure 0004406428
となる。なお、SEq及びSEQはセンサq,Qの位置を示すベクトルである。またθk qQは、センサq,Qを結ぶ直線と、センサq,Qの中心点と信号源kとを結ぶ直線と、で成す角度を示す。この場合、式(16)(18)(20)(24)より、
Figure 0004406428

となる。この場合も、正規化基底ベクトルAp''(f)の各要素Aqp''(f)は、周波数fからは独立であり、信号源kとセンサqの位置のみに依存している。
また、式(21)からパラメータdの値は、d>dmax/2であることが望ましく(dmaxは要素AQp(f)に対応する基準センサQと他のセンサとの最大距離意味する。)、より好ましくはd≧dmaxであることが望ましく、さらにより好ましくはd=dmaxであることが望ましいことが分かる。以下、この理由について説明する。
図7及び図8は、パラメータd毎の正規化基底ベクトルの要素Aqp''(f)とその偏角arg[Aqp''(f)]との関係を説明するための複素平面図である。なお、これらにおける横軸は実軸を縦軸は虚軸を示している。
図7Aはdmax/2≧dの場合における複素平面図である。ここで上述のdmaxの定義より、任意のq及びkに対しdqk-dQkの絶対値はdmax以下となる。よってdmax/2≧dの場合、(π/2)・(dqk-dQk)/d≦-π,(π/2)・(dqk-dQk)/d≧πと成り得る。その結果、式(21)で表されるAqp''(f)の偏角arg[Aqp''(f)]は、2πを超えるα1≦arg[Aqp''(f)]≦α2(α1≦-π、α2≧π)の範囲に分布する可能性がある。そのため、異なる正規化基底ベクトルの要素Aqp''(f)の偏角が一致する可能性があり、前述したクラスタリングにおいて、異なる正規化基底ベクトルAp''(f)を同じクラスタにクラスタリングしてしまう可能性がある。よって、d>dmax/2であることが望ましい。しかし、この偏角の重複範囲に対応する正規化基底ベクトルAp''(f)のサンプルが存在しないならばdmax/2≧dとしても問題はない。
図7Bはdmax/2<d<dmaxの場合における複素平面図である。この場合、-π<(π/2)・(dqk-dQk)/d<-π/2,π/2<(π/2)・(dqk-dQk)/d<πと成り得る。その結果、式(21)で表されるAqp''(f)の偏角arg[Aqp''(f)]は、β1≦arg[Aqp''(f)]≦β2(-π<β1<-π/2、π/2<β2<π)の範囲に分布する可能性がある。そのため、-π<arg[Aqp''(f)]<-π/2及びπ/2<arg[Aqp''(f)]<πの範囲において、異なる周波数正規化ベクトル要素間の偏角の差の増加に伴い、これらの周波数正規化ベクトル要素間の距離が単調増加しないこともありうる。これは、前述したクラスタリングの精度を低下させる可能性がある。よってd≧dmaxであることがより望ましい。
図8Aはd=dmaxの場合における複素平面図であり、図8Bはd>dmaxの場合における複素平面図である。ここでd>dmaxの場合、-π/2<(π/2)・(dqk-dQk)/d<0,0<(π/2)・(dqk-dQk)/d<π/2と成り得る。その結果、式(21)で表されるAqp''(f)の偏角arg[Aqp''(f)]は、図8Bに示すように、γ1≦arg[Aqp''(f)]≦γ2(-π/2<γ1<0、0<γ2<π/2)の範囲に分布する。そして、dが大きくなればなるほどその分布範囲は狭くなっていき、狭い範囲にクラスタが密集していく。これは、前述したクラスタリングの精度を低下させる。
これに対し、d=dmaxである場合、-π/2≦(π/2)・(dqk-dQk)/d<0,0<(π/2)・(dqk-dQk)/d≦π/2と成り得る。その結果、式(21)で表されるAqp''(f)の偏角arg[Aqp''(f)]は図8Aに示すように-π/2≦arg[Aqp''(f)]≦π/2の範囲に分布する。この場合、周波数正規化ベクトルの要素間における偏角の差の増加に対して、それらの距離も単調増加するという関係を維持しつつ、できるだけ広い範囲にクラスタを分散させることができる。その結果、一般的にクラスタリングの精度を向上させることができる。
〔第2の実施の形態(「第1の本発明」の例)〕
次に本発明における第2の実施の形態について説明する。
第1の実施の形態では、基底ベクトルから得られる情報によりパーミュテーション問題を解決したが、本形態では、これに特開2004−145172号公報や「H. Sawada, R. Mukai, S. Araki, S. Makino, "A Robust and Precise Method for Solving the Permutation Problem of Frequency-Domain Blind Source Separation," IEEE Trans. Speech and Audio processing, vol. 12, no. 5, pp. 530-538, Sep. 2004.(以下「参考文献」と呼ぶ)」で示されているような分離信号のエンベロープの情報を統合することで、より精度よくパーミュテーション問題を解決する。なお、これらの文献では、基底ベクトルの代わりに信号源の方向に関する情報が利用されている。
以下では、第1の実施の形態との相違点を中心に説明を行い、これと共通する事項については説明を省略する。
<構成>
図9は、第2の実施の形態における信号分離装置200のブロック図の例示である。なお、本形態の信号分離装置200もCPU10a(図2)に信号分離プログラムが読み込まれることにより構成されるものである。また、図10Aは、図9におけるパーミュテーション問題解決部240の詳細を例示したブロック図であり、図10Bは、図10Aの順列修正部247の詳細を例示したブロック図である。なお、図9及び図10において第1の実施の形態と共通する部分については第1の実施の形態と同じ符号を付した。また、図9及び図10における破線の矢印は理論上の情報の流れを示し、実線の矢印は実際のデータの流れを示す。また、これらの図において制御部170に出入りするデータの流れに対応する矢印は省略してあり、図10における実際のデータの流れに対応する矢印も省略してある。
本形態の第1の実施の形態のとの相違点は、主にパーミュテーション問題解決部240の構成である。すなわち、本形態のパーミュテーション問題解決部240は、第1の実施の形態のパーミュテーション問題解決部140に、順列評価部246と順列修正部247とを付加したものとなっている(図9,図10A)。なお、順列評価部246は、周波数毎に順列の信頼度を評価するものであり、順列修正部247は、順列の信頼度が低いと評価された周波数に対し、分離信号のエンベロープを用いて新たな順列を算出するものである。また、順列修正部247は、判定部247aと分離信号生成部247bとエンベロープ算出部247cと順列再算出部247dと再並び替え部247eを有している(図10B)。また、本形態では、順列算出部144と順列修正部247とによって請求項4の「順列算出部」を構成している。
<処理>
図11は、第2の実施の形態における信号分離装置200の処理の全体を説明するためのフローチャートである。以下、この図に沿って、本形態における信号分離装置200の処理を説明していく。
ステップS51からS57の処理は、第1の実施の形態におけるステップS1からS7までと同じであるため説明を省略する。本形態では、このステップS57の処理の後に、順列評価部246において、周波数毎に順列Πfの信頼度を評価し、順列Πfの信頼度が低いと評価された周波数に対し、分離信号のエンベロープを用いて順列Πf’を算出し、この周波数のみについて第2の分離行列W’(f)の行を順列Πf’に従って並び替えて第3の分離行列W''(f)を生成し、メモリ100の記憶領域110に格納する(ステップS58)。なお、この処理の詳細については後述する。
その後、分離信号生成部150において、メモリ100の記憶領域102から周波数領域の混合信号Xq(f,τ)を、記憶領域111から第3の分離行列W''(f)を読み出す。そして、分離信号生成部150は、周波数領域の混合信号Xq(f,τ)からなる混合信号ベクトルX(f,τ)=[X1(f,τ),...,XM(f,τ)]Tと第3の分離行列W''(f)とを用い、分離信号ベクトル
Y(f,τ)=W''(f)・X(f,τ)
を算出し、周波数領域の分離信号Yp(f,τ)をメモリ100の記憶領域112に格納する(ステップS59)。
最後に時間領域変換部160において、メモリ100の記憶領域112から周波数領域の分離信号Yp(f,τ)を読み出し、これを添え字p毎に時間領域の分離信号yp(t)に変換し、これらの時間領域の分離信号yp(t)をメモリ100の記憶領域113に格納する(ステップS60)。
[ステップS58の処理の詳細」
図12及び図13は、図11におけるステップS58の例を説明するためのフローチャートである。以下、このフローチャートに沿ってステップS58の詳細を説明していく。
まず、制御部170においてパラメータfに0を代入し、集合Fを空集合とし、これらを示す情報を一時メモリ171に格納する(ステップS71)。次に、順列評価部246において、メモリ100の記憶領域110に格納された順列Πの信頼度を周波数毎に評価し、その評価結果trust(f)を一時メモリ171に格納する(ステップS72)。ここで、順列Πの信頼性が高いとは、例えば、正規化基底ベクトルAp''(f)が、それぞれに対応するセントロイドηkに十分近いということである。また、正規化基底ベクトルAp''(f)が、それぞれに対応するセントロイドηkに十分近いかどうかは、例えば、正規化基底ベクトルAp''(f)とセントロイドηkとの距離がクラスタCの分散U/|C|より小さいかどうか、すなわち、
Uk/|Ck|>‖ηk-AΠ(k)''(f)‖2 …(26)
により判定できる。よって、このステップでは、例えばまず、順列評価部246において、メモリ100の記憶領域105から正規化基底ベクトルAp''(f)を、記憶領域109からセントロイドηを、記憶領域110から順列Πをそれぞれ読み出す。そして、順列評価部246は、周波数f毎に、式(26)を満たすか否かを判断し、満たす場合にはtrust(f)=1を、満たさない場合にはtrust(f)=0を出力し、一時メモリ171に格納する。
次に、順列修正部247の判定部247aが、一時メモリ171から周波数f毎に評価結果trust(f)を読み出し、trust(f)=1であるか否かを判断する(ステップS73)。ここで、trust(f)=0である場合、そのままステップS76の処理に進む。一方、trust(f)=1である場合、制御部170において、集合Fと{f}の和集合を新たな集合Fとして一時メモリ171に格納し(ステップS74)、再並び替え部247eにおいて、この周波数fにおける第2の分離行列W'(f)を第3の分離行列W''(f)としてメモリ100の記憶領域111に格納し(ステップS75)、ステップS76に進む。
ステップS76では、制御部170において、一時メモリ171に格納されたパラメータfの値がf=(L-1)fs/Lを満たすか否かを判断し(ステップS76)、これを満たさなければf+fs/Lの演算結果を新たなパラメータfの値として(ステップS77)一時メモリ171に格納し、ステップS72に戻る。
一方、f=(L-1)fs/Lを満たす場合、分離信号生成部247bにおいて、集合Fに属しない周波数fを1つ選択する。そして、分離信号生成部247bは、この周波数fとその近傍であって集合Fに属する全ての周波数g(g∈F,|g-f|≦δ,δは定数)とに対し、メモリ100の記憶領域102から周波数領域の混合信号X(f,τ)=[X1(f,τ),…,XM(f,τ)]T, X(g,τ)=[X1(g,τ),…,XM(g,τ)]Tを読み出し、記憶領域111から第2の分離行列W’(f),W’(g)を読み出し、
Y(f,τ)=W’(f)・X(f,τ)
Y(g,τ)=W’(g)・X(g,τ)
によって分離信号Y(f,τ)=[Y1(f,τ),…,YN(f,τ)]T, Y(g,τ)=[Y1(g,τ),…,YN(g,τ)]Tを算出して一時メモリ171に格納する(ステップS78)。
次に、エンベロープ算出部247cにおいて、一時メモリ171から全ての周波数領域の分離信号Yp(f,τ), Yp(g,τ)を読み出し、これらのエンベロープ
vp f(τ)=|Yp(f,τ)|
vp g(τ)=|Yp(g,τ)|
を算出して一時メモリ171に格納する(ステップS79)。
そして、順列再算出部247dにおいて、周波数の差δ以下の近傍における相関corの和の最大値
Figure 0004406428
を算出して一時メモリに格納する(ステップS80)。ここで、Π’は周波数gに対し、既に決定された順列である。なお、この式における相関cor(Φ,Ψ)は、2つの信号Φ,Ψの相関を示し、以下のように定義される。
cor(Φ,Ψ)=(<Φ,Ψ>-<Φ>・<Ψ>)/(σΦ・σΨ
ただし、<ζ>はζの時間平均であり、σΦはΦの標準偏差である
また、順列再算出部247dにおいて、この相関corの和を最大値化する順列
Figure 0004406428
を算出してメモリ100の記憶領域110に格納する(ステップS81)。ここで、Π’は周波数gに対し、既に決定された順列である。なお、argmaxΠνは、νを最大値化するΠを意味する。
次に、制御部170において集合Fと{ζ}(ζ=argmaxfRf)との和集合を新たな集合Fとして一時メモリ171に格納する(ステップS82)。そして、再並び替え部247eにおいて、f=ζとし、第2の分離行列W’(f)の行を順列Πf’に従って並び替えた第3の分離行列W''(f)を生成し、これをメモリ100の記憶領域111に格納する(ステップS83)。
次に、制御部170において、一時メモリ171に格納された集合Fが全ての離散化された周波数f=0,fs/L,…,fs(L-1)/Lの要素を有するか否かを判断する(ステップS84)。ここで、集合Fが全ての離散化された周波数f=0,fs/L,…,fs(L-1)/Lの要素を有しないのであれば、制御部170は、処理をステップS78に戻す。一方、集合Fが全ての離散化された周波数f=0,fs/L,…,fs(L-1)/Lの要素を有するのであれば、制御部170は、ステップS58の処理を終了させる。
なお、以上の方法を用いず、前述した特開2004−145172号公報や「参考文献」に記載されたその他の方法を用い、ステップS58の処理を実行してもよい。
<実験結果>
次に、上述した第1の実施の形態及び第2の実施の形態による音源分離実験結果を示す。
[実験結果1]
1つ目の実験は不規則なセンサ配置によるものである。実験条件は図14Aに示す通りである。ここでは4つの無指向性マイクを不規則に配置したものを用いたが、これらの配置情報としては、マイク間隔の上限が4cmであるということだけを信号分離装置に与えた。音源の数は3つであり、3秒間の英語の音声をスピーカから流した。結果を図14BにSIR(signal-to-interference ratio)によって示す。大きいSIRほど分離性能が良いことを示す。ここではパーミュテーション問題を解決する4種類の手法に関して結果を比較した。Envは分離信号のエンベロープ|Yp(f,τ)|の情報のみを用いたもの、Basisは正規化基底ベクトルAp''(f)のクラスタリングによるもの(第1の実施の形態の手法)、Basis+Envはそれら2種類の情報を統合してより精度良く問題を解決したもの(第2の実施の形態の手法)、Optimalは源信号skとインパルス応答hqk(r)を知って得た最適な順列によるものである。
結果を考察すると、Envだけでは性能にばらつきがあるが、第1の実施の形態のBasisはそれだけで十分な分離性能を得ている。また、双方を統合した第2の実施の形態のBasis+Envの結果はほぼOptimalに近い。このように不規則なセンサ配置を用いた場合でも、本発明により、周波数領域でのブラインド信号分離が高性能で達成された。
[実験結果2]
2つ目の実験は規則的なセンサ配置によるものである。実験条件は図15Aに示す通りである。3つの無指向性マイクを直線状に4cm間隔で配置した。音源の数は同様に3つであり、3秒問の英語の音声をスピーカから流した。結果を図15Bに示す。この実験では、従来技術として示した信号源の位置に関する推定値をクラスタリングする方法も比較対象とし、6種類の手法に関して結果を比較した。DOAは信号の到来方向(DOA:direction-of-arrival)の推定値のみでパーミュテーション問題を解決したもの、DOA+Envはさらに分離信号のエンベロープ情報を統合したものある。
従来技術であるDOA及びDOA+Envと、本発明であるBasis及びBasis+Envの結果を比較すると、従来手法が適用可能である規則的なセンサ配置に対しても、総じて本発明により結果が改善されていることがわかる。なお、演算量に関しては、従来技術とほぼ同等であった。
<第1,2の実施の形態の特徴>
以上より、上述した第1,2の実施の形態の特徴をまとめると以下のようになる。
(1)センサの配置情報を厳密に知る必要がなく、ある基準センサから他のセンサヘの距離の上限のみを知ればよいため、不規則なセンサ配置を採用でき、さらに位置をキャリブレーションする必要が無い。(2)基底ベクトルから得られる情報をすべて用いてクラスタリングを行うためパーミュテーション問題をより正確に解決することができ、信号分離の性能が向上する。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述した各実施の形態では、一般化行列としてムーア・ペンローズ型一般化逆行列を用いたが他の一般化行列を利用する形態でもよい。
また、第1の実施の形態では、周波数正規化部142aの第1正規化部142aaが、基底ベクトルAp(f)の特定の1つの要素AQp(f)を基準とし、式(15)によって当該基底ベクトルAp(f)の各要素Aqp(f)の偏角を正規化することとした。しかし、例えば、以下のような式に従って、第1正規化部142aaが、基底ベクトルAp(f)の特定の1つの要素AQp(f)を基準として、当該基底ベクトルAp(f)の各要素Aqp(f)の偏角を正規化する構成であってもよい。
Figure 0004406428
ただし、・は、・の複素共役である。また、ψ{・}は関数であり、クラスタリング精度の観点から好ましくは単調増加関数であることが望ましい。
また、周波数正規化部142aが式(14)の代わりに、
Figure 0004406428
等の演算によって周波数正規化を行うこととしてもよい。ただし、ρは定数である(例えば、ρ=1)。
また、上述の実施の形態では、ノルム正規化部142bにおいてノルムが1になるような正規化を行ったが、ノルムが1以外の規定値となるように正規化を行ってもよい。さらに、ノルム正規化部142bを設けず、ノルム正規化を行わない構成であってもよい。この場合、クラスタリング部143は、周波数正規化ベクトルAp’(f)のクラスタリングを行うことになる。しかし、周波数正規化ベクトルAp’(f)は、ノルムが統一されていない。そこで、この場合のクラスタリング基準は、ベクトルがノルムを含めて似ているかどうかではなく、ベクトルの方向のみが似ているかどうかになる。これは、類似度を用いた評価になる。類似度の1つとしてコサイン距離
cosθ=|ApH(f)・ηk|/(‖Ap’(f)‖・‖ηk‖)
を例示できる。ここでθは、周波数正規化ベクトルAp’(f)と、セントロイドηkのベクトルとがなす角度である。コサイン距離を用いる場合、クラスタリング部143は、コサイン距離の総和
Figure 0004406428
を最小値化するクラスタを生成する。なお、セントロイドηkは、各クラスタのメンバの平均として算出する。
さらに、上記の第2の実施の形態では、周波数毎に順列の信頼度を評価し、順列の信頼度が低いと評価された周波数に対し、分離信号のエンベロープを用いて新たな順列を算出することとした。しかし、分離信号のエンベロープとクラスタの中心ベクトルと正規化基底ベクトルとを一度に統合して順列を算出することとしてもよい。
また、まず分離信号のエンベロープを用いて順列を算出し、その順列の信頼度を周波数毎に評価し、信頼度が低いと評価された周波数に対して、第1の実施の形態の手法を適用して新たな順列を算出することとしてもよい。
さらに、上記の第2の実施の形態では、第2の分離行列W’(f)を用いて分離信号のエンベロープを算出したが、第1の分離行列W(f)或いはその行を並び替えた分離行列を用いてエンベロープを算出する構成としてもよい。
また、パラメータdは、全てのセンサqに対して同一であってもよいし、各センサqに対応して複数の値を設定しておいてもい。例えば、基準センサとセンサqとの距離を、それぞれのセンサqに対応するパラメータdの値としてもよい。
〔第3の実施の形態(「第2の本発明」の例)〕
次に、本発明における第3の実施の形態について説明する。
本形態は、前述の原理を用い、目的信号の方向に関する情報を知ることなく、複数の信号源から発せられた信号が混合された混合信号から目的信号を抽出する形態である。
<構成>
本形態の信号分離装置も、第1の実施の形態と同様、公知のノイマン型のコンピュータに信号分離プログラムが読み込まれることにより構成される。図16は、第3の実施の形態における信号分離装置1001の構成を例示したブロック図である。
この図に例示するように、信号分離装置1001は、記憶領域1101〜1114を有するメモリ1100、周波数領域変換部1120、信号分離部1130、目的信号選択部1140、時間周波数マスキング部1150(「分離信号生成部」に相当)、時間領域変換部1160、制御部1170及び一時メモリ1180を有する。ここでメモリ1100及び一時メモリ1180は、例えば、レジスタ10ac、補助記憶装置10fのデータ領域10fb或いはRAM10dのデータ領域10db(図2)の少なくとも一部に相当するが、特にこれに限定されない。また、周波数領域変換部1120、信号分離部1130、目的信号選択部1140、時間周波数マスキング部1150、時間領域変換部1160、制御部1170及び一時メモリ1180は、例えば、CPU10a(図2)にOSプログラムや信号分離プログラムが読み込まれることにより構成されるものである。
図17Aは、図16における目的信号選択部1140の詳細構成を例示したブロック図であり、図17Bは、図17Aにおける基底ベクトルクラスタリング部1142の詳細構成を例示したブロック図である。
これらの図に例示するように、目的信号選択部1140は、逆行列算出部1141(「複素ベクトル生成部」に対応)、基底ベクトルクラスタリング部1142及び選択部1143を有している。また、基底ベクトルクラスタリング部1142は、周波数正規化部1142a(「正規化部」を構成)、ノルム正規化部1142b(「正規化部」を構成)、クラスタリング部1142c及び分散判定部1142dを有している。また、周波数正規化部1142aは、第1正規化部1142aa及び第2正規化部1142abを有している。
図18Aは、図16における時間周波数マスキング部1150の詳細構成を例示したブロック図であり、図18Bは、図18Aにおけるマスク生成部1151の詳細を例示したブロック図である。
これらの図に例示するように、時間周波数マスキング部1150は、マスク生成部1151及びマスキング部1152を有している。また、マスク生成部1151は、白色化行列生成部1151a、白色化部1151b、角度計算部1151c及び関数演算部1151dを有している。
なお、図16〜図18における実線の矢印は実際のデータの流れを示し、破線の矢印は理論上の情報の流れを示すが、制御部1170及び一時メモリ1180に出入りするデータの流れは省略してある。また、信号分離装置1001は制御部1170の制御のもと各処理を実行する。また、特に示さない限り、制御部1170は、必要なデータを一時メモリ1180に読み書きしながら各処理を実行していく。
<処理>
次に、本形態における信号分離装置1001の処理について説明する。
空間内にN個の信号源k(k∈{1,2,...,N})が存在し、それらの信号sk(t)(tはサンプリング時刻)が混合され、M個のセンサq(q∈{1,2,...,M})で混合信号xqとして観測されるとする。本形態では、混合信号x1(t),...,xM(t)のみから、何れかの信号源から発せられた目的信号を抽出してその他の妨害信号を抑圧した信号y(t)を算出する。なお、信号源の数Nはセンサの数Mよりも多くても少なくてもよく、また同数であってもよい。さらに、信号源の数Nを事前に知る必要もなく、また信号源の数が数えられないような状況であっても構わない。
[処理の全体]
図19は、第3の実施の形態における信号分離処理の全体を説明するためのフローチャートである。以下、この図を用いて本形態における信号分離処理の全体を説明する。
まず、前処理において、M個のセンサで観測された時間領域の混合信号xq(t)(q∈{1,...,M})をメモリ1100の記憶領域1101に格納しておく。信号分離処理が開始されると、まず、周波数領域変換部1120において、メモリ1100の記憶領域1101から時間領域の混合信号xq(t)を読み出す。そして、周波数領域変換部1120は、これらを短時間フーリエ変換などにより周波数領域の混合信号Xq(f,τ)に変換し、メモリ1100の記憶領域1102に格納する(ステップS101)。
次に、信号分離部1130において、メモリ1100の記憶領域1102から周波数領域の混合信号Xq(f,τ)を読み出す。この例の信号分離部1130は、読み出した混合信号Xq(f,τ)を要素とする混合信号ベクトルX(f,τ)=[X1(f,τ),…,XM(f,τ)]Tに、独立成分分析(ICA)を適用し、周波数f毎にM行M列の分離行列W(f)=[W1(f),...,WM(f)]H(*Hは行列*の複素共役転置行列)と分離信号ベクトル
Y(f,τ)=W(f)・X(f,τ) …(30)
とを算出する(ステップS102)。なお、算出された分離行列W(f)はメモリ1100の記憶領域1103に格納される。また、分離信号ベクトルY(f,τ)=[Y1(f,τ),…,YM(f,τ)]Tを構成する分離信号Yp(f,τ)(p∈{1,..,M})は、記憶領域1107に格納される。ステップS102の詳細については後述する。
次に、目的信号選択部1140において、メモリ1100の記憶領域1103から分離行列W(f)を読み出し、その一般化逆行列の列である基底ベクトルを正規化し、その正規化された基底ベクトルをクラスタリングする。そして、目的信号選択部1140は、そのクラスタの分散を指標として、メモリ1100の記憶領域1107の分離信号から目的信号を含む選択信号YI(f)(f,τ)とそれに対応する基底ベクトルAI(f)(f)とを周波数f毎に選択し、メモリ1100の記憶領域1111に格納する(ステップS103)。なお、本形態では、センサに近く、そのためセンサで観測されるパワーがその他の源信号と比べて支配的であり、さらに情報として有用である信号を目的信号として抽出する。このステップS103の詳細については後述する。
次に、時間周波数マスキング部1150において、メモリ1100の記憶領域1102から周波数領域の混合信号Xq(f,τ)を読み出し、記憶領域1104から選択信号YI(f)(f,τ)に対応する基底ベクトルAI(f)(f)を読み出し、これらを用いて時間周波数マスクM(f,τ)を生成して記憶領域1112に格納する(ステップS104)。なお、ステップS104の処理(時間周波数マスキング部1150の処理)の詳細については後述する。
次に、時間周波数マスキング部1150において、メモリ1100の記憶領域1107から目的信号選択部1140で選択された選択信号YI(f)(f,τ)を読み出し、記憶領域1112から時間周波数マスクM(f,τ)を読み出す。そして、時間周波数マスキング部1150は、この時間周波数マスクM(f,τ)を選択信号YI(f)(f,τ)に適用し、選択信号YI(f)(f,τ)に残存する妨害信号成分をより一層抑圧したマスク処理選択信号YI(f)'(f,τ)を生成し、メモリ1100の記憶領域1113に格納する(ステップS105)。なお、このステップS105の処理の詳細(時間周波数マスキング部1150の処理)については後述する。
最後に、時間領域変換部1160において、メモリ1100の記憶領域1113から、周波数領域における選択された分離信号YI(f)'(f,τ)を読み出し、それに短時間逆フーリエ変換などを施して時間領域の分離信号y(t)を生成し、メモリ1100の記憶領域1114に格納する(ステップS106)。
[ステップS102の処理(信号分離部1130の処理)の詳細]
前述のように、この例の信号分離部1130は、独立成分分析(ICA)によって、混合信号ベクトルX(f,τ)=[X1(f,τ),…,XM(f,τ)]TからM行M列の分離行列W(f)=[W1(f),...,WM(f)]Hと分離信号ベクトルY(f,τ)=[Y1(f,τ),…,YM(f,τ)]Tとを算出する(ステップS102)。独立成分分析(ICA)は、分離信号ベクトルY(f,τ)=[Y1(f,τ),…,YM(f,τ)]Tの各要素が互いに独立になるように分離行列W(f)を算出する手法であり、そのアルゴリズムとしては、非特許文献4に記載されているものなど様々なものが紹介されている。なお、独立成分分析(ICA)は、パワーが小さく、ガウス性が高い妨害信号よりも、パワーが大きく、非ガウス性が高い本形態の目的信号をより有利に分離抽出できる手法である。
[ステップS103の処理(目的信号選択部1140の処理)の詳細]
独立成分分析(ICA)では、信号の独立性に着目してそれらの分離を行うため、得られる分離信号Yp(f,τ)には順序の任意性がある。その順序が入れ替わっても独立性が保たれるからである。従って、目的信号に対応する分離信号を周波数毎に選択しなければならない。目的信号選択部1140では、以下に示す処理により、この選択を行う。
図20は、第3の実施の形態における目的信号選択部1140の処理の詳細を説明するためのフローチャートである。以下では、この図を用い、目的信号選択部1140の処理の詳細を説明する。
まず、逆行列算出部1141において、周波数毎にメモリ1100の記憶領域1103からM行M列の分離行列W(f)を読み出し、それらの逆行列
W(f)-1=[A1(f),...,AM(f)](ただし、その列Ap(f)=[A1p(f),...,AMp(f)]T)…(31)
を算出する。
ここで、式(30)の両辺に式(31)を掛け合わせることにより、周波数領域の混合信号X(f,τ)の分解
Figure 0004406428
を得ることができる。このAp(f)は基底ベクトルであり、それぞれが各周波数の分離信号Yp(f,τ)毎に対応する。式(31)のように算出された基底ベクトルAp(f)はメモリ1100の記憶領域1104に格納される(ステップS111)。
次に、基底ベクトルクラスタリング部1142において、全ての基底ベクトルAp(f)(p=1,...,M、f=0,fs/L,…,fs(L-1)/L)を正規化する。この正規化は、複数の信号源から発せられた信号の畳み込み混合を所定のモデル(例えば、近距離場モデル)に近似した場合に、正規化された基底ベクトルAp(f)が信号源の位置のみに依存したクラスタを形成するように行われる。この例では、第1の実施の形態と同様な周波数正規化とノルム正規化とを行う。
周波数正規化は、基底ベクトルクラスタリング部1142の周波数正規化部1142a(図17B)において行われる。すなわち、周波数正規化部1142aにおいて、メモリ1100の記憶領域1104の基底ベクトルAp(f)(p=1,...,M、f=0,fs/L,…,fs(L-1)/L)を読み出し、これらを周波数に依存しない周波数正規化ベクトルAp'(f)に正規化してメモリ1100の記憶領域1105に格納する(ステップS112)。なお、この正規化は基底ベクトルAp(f)の要素Aqp(f)毎に行われる(詳細は後述)。ノルム正規化は、基底ベクトルクラスタリング部1142のノルム正規化部1142b(図17B)において行われる。すなわち、ノルム正規化部1142bにおいて、メモリ1100の記憶領域1105から周波数正規化ベクトルAp'(f)を読み出し、これらをノルムが規定値(この例では1)をとる正規化基底ベクトルAp''(f)に正規化してメモリ1100の記憶領域1106に格納する(ステップS113)。なお、この正規化は周波数正規化ベクトルAp'(f)毎に行われる(詳細は後述)。
基底ベクトルの正規化が終了すると、次にクラスタリング部1142c(図17B)において、正規化基底ベクトルAp''(f)によって形成されるM個のクラスタCi(i∈{1,...,M})を同定する。この例の場合、クラスタリング部1142cにおいて、メモリ1100の記憶領域1106から正規化基底ベクトルAp''(f)を読み出し、これらをクラスタリングしてM個のクラスタCi(i=1,...,M)を生成し、各クラスタCiを特定する情報(例えば、各クラスタに属する正規化基底ベクトルAp''(f)を示す情報)と各クラスタCiのセントロイド(中心ベクトル)ηiとをそれぞれメモリ1100の記憶領域1109,1110に格納する(ステップS114)。なお、このクラスタリングは、例えば、各クラスタCiの要素(正規化基底ベクトルAv''(f))と各クラスタCiのセントロイドηiとの間の二乗和Uiの総和U
Figure 0004406428
を最小値化することを基準に行われる。この最小値化は、例えば、非特許文献6などで解説されているk-meansクラスタリングを用いることによって効果的に行うことができる。なお、クラスタCiのセントロイドηiは、
Figure 0004406428
によって計算される。ここで|Ci|はクラスタCiにおける要素(正規化基底ベクトルAv'' (f))の数であり、‖*‖はベクトル*のノルムである。また、ここでは、距離としてユークリッド距離の自乗を用いているが、これを一般化したミンコフスキー距離などを用いてもよい。
M個のクラスタCiが得られると、次に分散判定部1142d(図17B)において、目的信号に対応するクラスタを選択し、選択したクラスタを示す選択情報I(f)をメモリ1100の記憶領域1111に格納する(ステップS115)。なお本形態では、クラスタの分散Ui/|Ci|を指標に、目的信号を含む分離信号が選択される。すなわち、本形態における基底ベクトルの正規化は、複数の信号源から発せられた信号の畳み込み混合を所定のモデルに近似した場合に、正規化された基底ベクトルが信号源の位置のみに依存したクラスタを形成するように行われる。しかし、実環境では、このようなモデルに反映されない様々な因子が存在し、このような実環境とモデルとの乖離は、信号源からセンサまでの距離が大きいほど大きくなる。例えば、近距離場モデルでは、信号が壁などに反射することによる反射波成分が考慮されておらず、直接波成分に対する反射波成分の割合は、信号源がセンサから離れるに従って大きくなる。そのため、信号がセンサから離れるに従ってモデルが成り立ちにくくなる。その結果、センサに近い信号ほど実環境に近い条件で正規化ができ、実環境とモデルとの乖離に起因するクラスタの分散を小さくできる。本形態ではセンサに近い信号を目的信号とするため、分散の小さいクラスタを目的信号に対応するクラスタとして選択すればよいことになる。なお、この選択手順(ステップS115)の詳細については後述する。
各周波数fに対する選択情報I(f)が算出されると、次に、各周波数fにおける選択信号YI(f)(f,τ)とそれに対応する基底ベクトルAI(f)(f)とを選択する。すなわち、まず、選択部1143において、メモリ1100の記憶領域1111から選択情報I(f)を読み出す。そして、選択部1143は、この選択情報I(f)に対応する分離信号を選択信号YI(f)(f,τ)として記憶領域1107から読み出し、それに対応する基底ベクトルAI(f)(f)を記憶領域1104から読み出し、これらを記憶領域1111に格納する(ステップS116)。
次に、ステップS112,113(図20)の正規化の詳細を示す。
[ステップS112(周波数正規化)の詳細]
図21Aは、ステップS112の周波数正規化の詳細を説明するためのフローチャートである。
まず、制御部1170(図16)においてパラメータpに1を代入し、これを一時メモリ1180に格納する(ステップS121)。また、制御部1170においてパラメータqに1を代入し、これを一時メモリ1180に格納する(ステップS122)。次に、周波数正規化部1142a(図17B)において、メモリ1100の記憶領域1108から前述のパラメータd,c,Qを読み出し、記憶領域1104から基底ベクトルAp(f)の要素Aqp(f)を読み出し、一時メモリ1180からパラメータp,qを読み出す。そして、この周波数正規化部1142aは、基底ベクトルAp(f)の要素Aqp(f)に対し、
Figure 0004406428
の演算を行い、当該演算結果Aqp’(f)を周波数正規化ベクトルAp’(f)の各要素Aqp’(f)としてメモリ1100の記憶領域1105に格納する(ステップS123)。なお、arg[・]は偏角を意味し、expはネピア数を意味し、jは虚数単位を意味する。より詳細には、前述の式(15)(16)の演算によって、この正規化を行う。
次に、制御部1170において、一時メモリ1180に格納されたパラメータqがq=Mを満たすか否かを判断する(ステップS124)。ここでq=Mでなければ、制御部1170は、q+1の演算結果を新たなパラメータqの値とし、これを一時メモリ1180に格納し(ステップS125)、処理をステップS123へ戻す。一方、q=Mであれば、制御部1170は、さらにp=Mを満たすか否かを判断する(ステップS126)。
ここでp=Mでなければ、制御部1170は、p+1の演算結果を新たなパラメータpの値とし、これを一時メモリ1180に格納し(ステップS127)、処理をステップS122へ戻す。一方、p=Mであれば、制御部1170は、ステップS112の処理を終了させる(ステップS112(周波数正規化)の詳細の説明終わり)。
[ステップS113(ノルム正規化)の詳細]
図21Bは、ステップS113のノルム正規化の詳細を説明するためのフローチャートである。
まず、制御部1170において、パラメータpに1を代入し、これを一時メモリ1180に格納する(ステップS131)。次に、ノルム正規化部1142bにおいて、メモリ1100の記憶領域1105から周波数正規化ベクトルAp’(f)の各要素Aqp’(f)を読み出し、
Figure 0004406428
の演算を行って、周波数正規化ベクトルAp’(f)のノルム‖Ap’(f)‖を求め、周波数正規化ベクトルAp’(f)及びそのノルム‖Ap’(f)‖を一時メモリ1180に格納する(ステップS132)。
次に、ノルム正規化部1142bにおいて、一時メモリ1180から周波数正規化ベクトルAp’(f)及びそのノルム‖Ap’(f)‖を読み出し、
Ap'' (f)=Ap’(f)/‖Ap’(f)‖ …(39)
の演算を行って正規化基底ベクトルAp'' (f)を求め、これをメモリ1100の記憶領域1106に格納する(ステップS133)。その後、制御部1170において、一時メモリ1180に格納されたパラメータpがp=Mを満たすか否かを判断する(ステップS134)。ここでp=Mでなければ、制御部1170は、p+1の演算結果を新たなパラメータpの値とし、これを一時メモリ1180に格納し(ステップS135)、ステップS132の処理に戻す。一方、p=Mであれば、制御部1170は、ステップS113の処理を終了させる。なお、正規化基底ベクトルAp'' (f)がクラスタを形成する理由は、第1の実施の形態で示した通りである(ステップS113(ノルム正規化)の詳細の説明終わり)。
このように生成された正規化基底ベクトルAp''(f)は、第1の実施の形態で示した通り、周波数に依存せず、信号源の位置のみに依存するベクトルとなる。
[選択信号の選択手順(ステップS115)の詳細]
次に、前述した選択信号の選択手順(ステップS115)の詳細を例示する。
クラスタの選択手順1:
第1の例は、最も分散が小さいクラスタを目的信号に対応するクラスタとして選択するものである。図22は、この第1の例を説明するためのフローチャートである。
この場合、まず分散判定部1142d(図17B)おいて、メモリ1100の記憶領域1109からクラスタCi(i∈{1,...,M})を特定する情報を読み出し、さらに記憶領域1106,1110から、それぞれ正規化基底ベクトルAp''(f)∈Ci及びセントロイドηiを読み出す。そして、分散判定部1142dは、各iについて、式(33)のようにUを求め、Cに属する要素(正規化基底ベクトルAv'' (f))の数をカウントすることにより|Ci|を求め、クラスタCiの分散Ui/|Ci|を算出して一時メモリ1180に格納する。そして、分散判定部1142dは、この一時メモリ1180に格納された分散Ui/|Ci|から最小なものを選択し、それに対応するクラスタを示す情報をクラスタ選択情報
ι=argmini Ui/|Ci| …(40)
として一時メモリ1180に格納する(ステップS141)。なお、式(40)におけるargmini*は、*を最小にするiを意味する。
次に、制御部1170(図16)において、パラメータfに0を代入し、これを一時メモリ1180に格納する(ステップS142)。
次に、分散判定部1142dは、一時メモリ1180からクラスタ選択情報ιを読み出し、メモリ1100の記憶領域1110からクラスタ選択情報ιに対応するセントロイドηιを読み出す。また、分散判定部1142dは、メモリ1100の記憶領域1106から正規化基底ベクトルAp'' (f)(p∈{1,...,M})を読み出す。そして、分散判定部1142dは、周波数f毎に選択情報
I(f)=argminp‖Ap''(f)−ηι2 …(41)
を算出し、記憶領域1111に格納する(ステップS143)。
次に、制御部1170において、一時メモリ1180からパラメータfを読み出し、f=(L-1)・fs/Lであるか否かを判断する(ステップS144)。ここでf=(L-1)・fs/Lでなければ、制御部1170は、このパラメータfにfs/Lを加算した値を新たなfとして一時メモリ1180に格納し(ステップS145)、処理をステップS143に戻す。一方、f=(L-1)・fs/Lであれば、制御部1170は、ステップS115の処理を終了させる。
クラスタの選択手順2:
第2の例は、予め定められたしきい値よりも分散が小さいクラスタを目的信号に対応するクラスタとして選択するものである。なお、このしきい値は、例えば実験結果又は経験に基づき定められる値であり、事前にメモリ1100に格納しておくものである。
この場合、ステップS141(図22)の処理の代わりに、分散判定部1142dにおいて、まず各クラスタの分散Ui/|Ci|を公知の並び替えアルゴリズムによって昇順或いは降順に並び替える。そして、分散判定部1142dは、メモリ1100に格納されたしきい値を読み取り、分散Ui/|Ci|がしきい値よりも小さくなるクラスタを選択し、選択したクラスタに対応する添字iの集合をクラスタ選択情報ιとして一時メモリ1180に格納する。それ以外は、クラスタの選択手順1と同様である。
クラスタの選択手順3:
第3の例は、最も分散の小さいクラスタだけではなく、最も分散が小さいクラスタから所定番目に分散が小さいクラスタまで(例えば、最も分散の小さいクラスタから3番目に分散が小さいクラスタまで)を目的信号に対応するクラスタとして選択するものである。
この場合、ステップS141(図22)の処理の代わりに、分散判定部1142dにおいて、まず各クラスタの分散Ui/|Ci|を、公知の並び替えアルゴリズムによって昇順或いは降順に並び替える。そして、分散判定部1142dは、最も分散Ui/|Ci|が小さいクラスタから所定番目に分散Ui/|Ci|が小さいクラスタまでを選択する。この選択後、分散判定部1142dは、選択したクラスタに対応する添字iの集合をクラスタ選択情報ιとして一時メモリ1180に格納する。それ以外は、クラスタの選択手順1と同様である。
なお、クラスタの選択手順1の代わりに分散の小ささが2番目以降のいずれかのクラスタを選択することとしてもよく、上述したクラスタの選択手順の一部を組み合わせた手順を適用してもよい(ステップS115の説明終わり/ステップS103の処理(目的信号選択部1140の処理)の詳細の説明終わり)。
[時間周波数マスキング部1150の処理(ステップS104,S105)の詳細]
次に、時間周波数マスキング部1150の処理について説明する。前述のように、時間周波数マスキング部1150は、目的信号選択部1140で選択された選択信号YI(f)(f,τ)に残存する妨害信号成分をさらに抑圧するものである。以下ではまず、なぜ選択信号YI(f)(f,τ)に妨害信号が残存するのかについて説明する。
前述した式(30)を選択信号のみに関して書くと、
YI(f)(f,τ)=WI(f) H(f)・X(f,τ) …(42)
となる。また、これに式(4)を代入して周波数fを省略して書くと、
Figure 0004406428
と表記できる。もしN≦Mであれば、独立成分分析(ICA)により、WI H・Hk=0,k∈{1,...,I-1,I+1,...,N}を満たすようなWIを設定することが可能である。そのため、式(43)の第二項は0になる。しかし、より一般的に信号源数Nがセンサ数Mよりも多い場合には、WI H・Hk≠0,k∈κとなるκ⊆{1,...,I-1,I+1,...,N }が存在してしまう。その場合、選択信号YI(f)は不必要な残留成分(妨害信号の残留成分)
Figure 0004406428
を含んでしまう(以後fを省略せず)。
時間周波数マスキング部1150の目的は、この選択信号YI(f,τ)に含まれる不必要な残留成分を抑圧し、選択信号YI(f,τ)よりも妨害信号の残留成分が少ないマスク処理選択信号YI'(f,τ)を生成することである。そのために、時間周波数マスキング部1150は、まずマスク生成部1151(図18)において、妨害信号の残留成分を有する時間周波数スロットに対して小さな値を採り、妨害信号の残留成分が少ない時間周波数スロットに対して大きな値を採る時間周波数マスク0≦M(f,τ)≦1を生成する。そして、マスキング部1152において、
YI(f)'(f,τ)=M(f,τ)・YI(f)(f,τ) …(44)
に従ってマスキング処理を行い、マスク処理選択信号YI(f)'(f,τ)を出力する。以下、この詳細について説明する。
[ステップS104(マスク生成部1151)の処理の詳細]
図23は、図19におけるステップS104の詳細を説明するためのフローチャートである。以下、この図を用い、ステップS104(マスク生成部1151)の処理の詳細を説明する。
この例のマスク生成部1151は、周波数領域の混合信号ベクトルX(f,τ)を白色化する空間(白色化空間)において、混合信号ベクトルX(f,τ)と選択信号に対応する基底ベクトルAI(f)(f)とのなす角度θI(f)(f,τ)を求め、その角度θI(f)(f,τ)に基づき、時間周波数マスクを生成する。なお、白色化とは、混合信号ベクトルX(f,τ)を線形に変形し、その共分散行列が単位行列と等しくなるようにすることである。
そのためにまず、白色化行列生成部1151aにおいて、周波数領域の混合信号Xq(f,τ)を用い、混合信号ベクトルX(f,τ)を白色化空間に移す白色化行列V(f)を生成する(ステップS151)。この例の場合、白色化行列生成部1151aは、メモリ1100の記憶領域1102から混合信号Xq(f,τ)を読み出し、R(f)=<X(f,τ)・X(f,τ)H>τとした場合におけるV(f)=R(f)−1/2を白色化行列V(f)として算出し、これを記憶領域1112に格納する。なお、<*>τはベクトル*を時間平均したベクトルを意味し、*Hは*の複素共役転置を意味し、R−1/2は、R-1/2・R・(R-1/2H=I(Iは単位行列)を満たす行列を意味する。また、白色化行列V(f)を算出する代表的な方法として、R(f)を固有値分解R(f)=E(f)・D(f)・E(f)H(E(f)はユニタリ行列、D(f)は対角行列)し、V(f)=D(f)-1/2・E(f)Hの演算を行う方法を例示できる。なお、D(f)-1/2は、対角行列D(f)の各要素の(-1/2)乗した対角行列と等価となるため、対角行列D(f)の各要素の(-1/2)乗することによって算出できる。
次に、白色化部1151bにおいて、この白色化行列V(f)を用い、混合信号ベクトルX(f,τ)を白色化空間に写像した白色化混合信号ベクトルZ(f,τ)と、基底ベクトルAI(f)(f)を白色化空間に写像した白色化基底ベクトルBI(f)(f)とを算出する(ステップS152)。この例の場合、まず白色化部1151bにおいて、メモリ1100の記憶領域1102から混合信号Xq(f,τ)を、記憶領域1111から選択信号YI(f)(f,τ)に対応する基底ベクトルAI(f)(f)を、記憶領域1112から白色化行列V(f)をそれぞれ読み出す。そして、白色化部1151bは、Z(f,τ)=V(f)・X(f,τ)の演算により白色化混合信号ベクトルZ(f,τ)を算出し、BI(f)(f)=V(f)・AI(f)(f)の演算により白色化基底ベクトルBI(f)(f)を算出し、これらをメモリ1100の記憶領域1112に格納する。
次に、角度計算部1151cにおいて、白色化混合信号ベクトルZ(f,τ)と白色化基底ベクトルBI(f)(f)とがなす角度θI(f)(f,τ)を時間周波数毎に算出する(ステップS153)。この例の場合、まず角度計算部1151cにおいて、メモリ1100の記憶領域1112から白色化混合信号ベクトルZ(f,τ)と白色化基底ベクトルBI(f)(f)とを読み出す。そして、角度計算部1151cは、
θI(f)(f,τ)=cos−1(|BI(f) H(f)・Z(f,τ)|/‖BI(f)(f)‖・‖Z(f,τ)‖) …(45)
の演算により、各時間周波数スロットに対して角度θI(f)(f,τ)を算出し、記憶領域1112に格納する。なお、式(45)における|*|はベクトル*の絶対値を意味し、‖*‖はベクトル*のノルムを意味する。
次に、関数演算部1151dにおいて、角度θI(f)(f,τ)を要素とする関数である時間周波数マスクM(f,τ)を生成する(ステップS154)。この例の場合、関数演算部1151dにおいて、まず、メモリ1100の記憶領域1108から実数パラメータθ,gを、記憶領域1112から角度θI(f)(f,τ)を、それぞれ読み出す。そして、関数演算部1151dは、ロジスティック関数
M(θ(f,τ))=1/(1+eg・(θ(f,τ)−θT)) …(46)
を時間周波数マスクM(f,τ)として算出する(θTはθ を意味する)。なお、実数パラメータθ,gは、それぞれ時間周波数マスクM(f,τ)の転移点と傾き度を指定するパラメータであり、前処理によって記憶領域1108に格納しておいたものである。図24Aに、二種類の実数パラメータθ,gに対し、式(46)に従って算出された時間周波数マスクM(f,τ)を例示する。この図に例示すように、実数パラメータθが小さいほど、時間周波数マスクM(f,τ)が大きな値(この例では1)をとる領域が狭くなる。これは実数パラメータθが小さいほど、マスク処理選択信号YI(f)'(f,τ)に残存する妨害信号成分が少なくなるが、その反面、マスク処理選択信号YI(f)'(f,τ)が不自然なものとなるといった傾向に現れる。例えば、音声信号を目的信号とする場合、実数パラメータθを小さくするほどミュージカルノイズ(musical noise)が大きくなる。また、実数パラメータgが大きくなるほど時間周波数マスクM(f,τ)の波形(大きな値(この例では1)から小さな値(この例では0)への遷移)は急峻になる。ここで、できるだけマスク処理選択信号YI(f)'(f,τ)に残存する妨害信号成分を減らし、マスク処理選択信号YI(f)'(f,τ)を自然な信号とするためには実数パラメータgを小さくし、時間周波数マスクM(f,τ)の波形を滑らかなものとすることが望ましい。
なお、これらの実数パラメータθ,gを周波数毎に設定しておく構成としてもよい。また、さらに実数パラメータαを導入し、ロジスティック関数
M(θ(f,τ))=α/(1+eg・(θ(f,τ)−θT)) …(47)
を時間周波数マスクM(f,τ)としてもよい。さらに、角度θI(f)(f,τ)が0に近い領域において大きな値を採り、角度θI(f)(f,τ)が大きな領域において小さな値を採る0≦M(θ(f,τ))≦1の関数であれば、他の関数を時間周波数マスクM(f,τ)として用いてもよい(ステップS104(マスク生成部1151)の処理の詳細の説明終わり)。
[ステップS105(マスキング部1152)の処理の詳細]
マスキング部1152は、メモリ1100の記憶領域1111から選択信号YI(f)(f,τ)を、記憶領域1112から時間周波数マスクM(f,τ)をそれぞれ読み出す。そして、マスキング部1152は、
YI(f)'(f,τ)=M(f,τ)・YI(f)(f,τ) …(48)
の演算によってマスク処理選択信号YI(f)'(f,τ)を求め、これをメモリ1100の記憶領域1113に格納する(ステップS105(マスキング部1152)の処理の詳細の説明終わり)。
[時間周波数マスキングの効果]
次に、上述した時間周波数マスクM(f,τ)によるマスキングの効果について説明する。
信号源のスパース性が高く、信号源Sk(f,τ)がゼロに近くなる可能性が高いなら、式(4)は、
Figure 0004406428
として近似される。なお、式(49)におけるkは各信号源に対応する添字であり、時間周波数位置(f,τ)毎に決まる。よって、目的信号が唯一アクティブ或いはそれに近い時間周波数位置(f,τ)では、白色化混合信号ベクトルZ(f,τ)は、
Figure 0004406428
と近似できる。ここで、YI(f)(f,τ)はスカラ値である。また、前述のように白色化基底ベクトルBI(f)(f)は、
BI(f)(f)=V(f)・AI(f)(f) …(50)
である。以上より、目的信号が唯一アクティブ或いはそれに近い時間周波数位置(f,τ)では、白色化混合信号ベクトルZ(f,τ)と白色化基底ベクトルBI(f)(f)とがなす角度θI(f)(f,τ)は0に近くなることが分かる。そして、前述のように時間周波数マスクM(f,τ)は、角度θI(f)(f,τ)が0に近い領域において大きな値を採るのである。よって、時間周波数マスクM(f,τ)は、目的信号が唯一アクティブ或いはそれに近い時間周波数位置(f,τ)における選択信号YI(f)(f,τ)をマスク処理選択信号YI(f)'(f,τ)として抽出するものといえる(式(48)参照)。
一方、仮にI(f)=1とおいた場合、目的信号が殆どアクティブでない時間周波数位置(f,τ)では、白色化混合信号ベクトルZ(f,τ)は、
Figure 0004406428
と近似できる。ここで、信号源のNが、センサの数Mと同等かそれより少ないならば、白色化空間でのベクトルV(f)・H1(f),...,V(f)・Hk(f)は互いに直交する。なお、式(51)のSk(f,τ)はスカラ値である。これより、白色化混合信号ベクトルZ(f,τ)と白色化基底ベクトルBI(f)(f)とがなす角度θI(f)(f,τ)が大きくなることがわかる。またN>Mでも、白色化基底ベクトルB1(f)(I(f)=1)は、目的信号以外のベクトルV(f)・H2(f),...,V(f)・Hk(f)とは大きい角度を持つ傾向がある。以上より、目的信号が殆どアクティブでない時間周波数位置(f,τ)では、角度θI(f)(f,τ)が大きな値を採ることが分かる。そして、時間周波数マスクM(f,τ)は、角度θI(f)(f,τ)が0から離れた領域において小さな値を採るのであるから、目的信号が殆どアクティブでない時間周波数位置(f,τ)における選択信号YI(f)(f,τ)をマスク処理選択信号YI(f)'(f,τ)から排除するものといえる(式(28)参照)。
以上より、時間周波数マスクM(f,τ)による時間周波数マスキング処理は、選択信号YI(f)(f,τ)に残存する妨害信号成分をより一層抑圧するものであることがわかる。
なお、この時間周波数マスキング処理は、音声や音楽などスパース性を持つ信号に対して特に有効である。スパース性が低い場合、目的信号がアクティブである時間周波数位置(f,τ)であっても他の妨害信号成分も多く含まれ、式(49)の近似が成り立たなくなり、角度θI(f)(f,τ)が0から離れてしまうからである。すなわちスパースでない場合、例えば、図24Bのように、ある時間周波数位置(f,τ)において目的信号(I(f)=1とする)に対応するベクトルV(f)・H1(f)の他に、妨害信号に対応するベクトルV(f)・H2(f),V(f)・H3(f)が共存することになる。この例の場合、白色化混合信号ベクトルZ(f,τ)は、
Figure 0004406428
となるため、白色化混合信号ベクトルZ(f,τ)と白色化基底ベクトルBI(f)(f)とがなす角度θI(f)(f,τ)も0から離れてしまう。これは目的信号がアクティブである時間周波数位置(f,τ)の信号をマスク処理選択信号YI(f)'(f,τ)から排除してしまう可能性があることを示している。
また、この時間周波数マスキング処理は、目的信号のパワーが妨害信号のパワーに比べて十分に大きい場合に特に有効である。すなわち、目的信号のパワーが妨害信号のパワーに比べ十分に大きい場合、たとえスパース性が低く、目的信号がアクティブである時間周波数位置(f,τ)に他の妨害信号成分も含まれる状況であっても、式(49)の近似が比較的成り立ち、角度θI(f)(f,τ)が0に近づくからである。例えば、目的信号のパワーが妨害信号のパワーに比べ十分に大きい場合、式(52)における妨害信号の寄与度は低くなり、白色化混合信号ベクトルZ(f,τ)と白色化基底ベクトルBI(f)(f)とがなす角度θI(f)(f,τ)も0に近づく。これは、目的信号がアクティブである時間周波数位置(f,τ)の信号が、マスク処理選択信号YI(f)'(f,τ)から排除されてしまう可能性を低くできることを示している。また、マスク処理選択信号YI(f)'(f,τ)に尚も残存する妨害信号成分を相対的に低くできることを意味している(ステップS105(マスキング部1152)の処理の詳細の説明終わり)。
〔第4の実施の形態(「第2の本発明」の例)〕
次に、本発明における第4の実施の形態について説明する。
本形態は、第3の実施の形態の変形例であり、時間周波数マスクによる処理を行わない点のみが第3の実施の形態と相違する。以下では、第3の実施の形態との相違点を中心に説明し、第3の実施の形態と共通する事項については説明を省略する。
<構成>
図25は、第4の実施の形態における信号分離装置1200のブロック図の例示である。
図25に例示するように、本形態の信号分離装置1200の信号分離装置1001との相違点は、メモリ1100に記憶領域1112,1113を有しない点、及び時間周波数マスキング部1150を有しない点である。
<処理>
次に、本形態における信号分離装置1200の処理について説明する。
図26は、第4の実施の形態における信号分離装置1200の処理を説明するためのフローチャートである。以下では、第3の実施の形態との相違点を中心に説明する。
まず、第3の実施の形態と同様に、周波数領域変換部1120において、メモリ1100の記憶領域1101から時間領域の混合信号xq(t)を読み出す。そして、周波数領域変換部1120は、これらを短時間フーリエ変換などにより周波数領域の混合信号Xq(f,τ)に変換し、メモリ1100の記憶領域1102に格納する(ステップS161)。
次に、信号分離部1130において、メモリ1100の記憶領域1102から周波数領域の混合信号Xq(f,τ)を読み出す。この例の信号分離部1130は、読み出した混合信号Xq(f,τ)を要素とする混合信号ベクトルX(f,τ)=[X1(f,τ),…,XM(f,τ)]Tに、独立成分分析(ICA)を適用し、周波数f毎にM行M列の分離行列W(f)=[W1(f),...,WM(f)]H(*Hは行列*の複素共役転置行列)と分離信号ベクトルY(f,τ)=W(f)・X(f,τ)とを算出する(ステップS162)。なお、算出された分離行列W(f)はメモリ1100の記憶領域1103に格納される。また、分離信号ベクトルY(f,τ)=[Y1(f,τ),…,YM(f,τ)]Tを構成する分離信号Yp(f,τ)(p∈{1,..,M})は記憶領域1107に格納される。
次に、目的信号選択部1140において、メモリ1100の記憶領域1103から分離行列W(f)を読み出し、その一般化逆行列の列である基底ベクトルを正規化し、その正規化された基底ベクトルをクラスタリングする。そして、目的信号選択部1140は、そのクラスタの分散を指標として、メモリ1100の記憶領域1107の分離信号から選択信号YI(f)(f,τ)を周波数f毎に選択し、メモリ1100の記憶領域1111に格納する(ステップS163)。
次に、時間領域変換部1160において、メモリ1100の記憶領域1111から選択された分離信号YI(f)(f,τ)を読み出し、それに短時間逆フーリエ変換などを施して時間領域の分離信号y(t)を生成し、メモリ1100の記憶領域1114に格納する(ステップS164)。
〔第5の実施の形態(「第2の本発明」の例)〕
次に、本発明における第5の実施の形態について説明する。
本形態は、第3の実施の形態の変形例であり、時間周波数マスクの生成方法のみが第3の実施の形態と相違する。以下では、第3の実施の形態との相違点を中心に説明し、第3の実施の形態と共通する事項については説明を省略する。
<構成>
図27は、第5の実施の形態における信号分離装置1300のブロック図の例示である。また、図28Aは、図27における時間周波数マスキング部1350の詳細構成を示すブロック図であり、図28Bは、図28Aのマスク生成部1351の詳細構成を示すブロック図である。なお、これらの図において第3の実施の形態と共通する部分については、第3の実施の形態の図と同じ符号を付した。
図27に例示するように、本形態の信号分離装置1300の信号分離装置1001との相違点は、信号分離装置1300が、時間周波数マスキング部1150の代わりに時間周波数マスキング部1350を有する点、メモリ1100が記憶領域1108,1112の代わりに記憶領域1308,1312を有する点である。また、図28Aに示すように、時間周波数マスキング部1350は、マスク生成部1351及びマスキング部1152を有する。また、図28Bに示すように、マスク生成部1351は、周波数正規化部1351a、ノルム正規化部1351b、セントロイド抽出部1351c、自乗距離算出部1351d及び関数生成部1351eを有している。また、周波数正規化部1351aは、第1正規化部1351aa及び第2正規化部1351abを有しており、セントロイド抽出部1351cは、セントロイド選択部1351ca及びノルム正規化部1351cbを有している。
<マスク生成処理>
本形態と第3の実施の形態との相違点は、時間周波数マスクの生成処理(ステップS104)のみである。以下では、本形態の時間周波数マスクの生成処理のみを説明する。
図29は、第5の実施の形態における時間周波数マスクの生成処理を説明するためのフローチャートである。また、図30Aは、図29におけるステップS171の詳細を説明するためのフローチャートである。また図30Bは、図29におけるステップS172の詳細を説明するためのフローチャートである。以下、これらの図を用い、本形態の時間周波数マスクの生成処理を説明する。
まず、マスク生成部1351の周波数正規化部1351aが、メモリ1100の記憶領域1102に格納されている周波数領域の混合信号Xq(f,τ)から構成される混合信号ベクトルX(f,τ)を、周波数に依存しない周波数正規化ベクトルX’(f,τ)に正規化し(周波数正規化)、当該周波数正規化ベクトルX’(f,τ)の各要素Xq'(f,τ)をメモリ1100の記憶領域1312に格納する(ステップS171)。
[周波数正規化処理(ステップS171)の詳細]
以下に、この周波数正規化処理(ステップS171)の詳細を説明する。
まず、制御部1170(図27)においてパラメータqに1を代入し、これを一時メモリ1180に格納する(ステップS181)。次に、周波数正規化部1351a(図28B)において、メモリ1100の記憶領域1308から前述のパラメータd,c,Qを読み込み、記憶領域1102から各(f,τ)に対応する混合信号ベクトルX(f,τ)の要素Xq(f,τ)を読み込み、一時メモリ1180からパラメータqを読み込む。そして、周波数正規化部1351aは、
Figure 0004406428
の演算を行い、当該演算結果を周波数正規化ベクトルX'(f,τ)=[X1'(f,τ),...,XM'(f,τ)]Tの各要素として、メモリ1100の記憶領域1312に格納する(ステップS182)。なお、arg[・]は偏角を意味し、jは虚数単位を意味する。
より詳細には、まず、周波数正規化部1351aの第1正規化部1351aaが、混合信号ベクトルX(f,τ)の特定の1つの要素Xq(f,τ)を基準として当該混合信号ベクトルX(f,τ)の各要素Xq(f,τ)の偏角を、以下の演算によって正規化する。
Figure 0004406428
次に、周波数正規化部1351aの第2正規化部1351abが、第1正規化部1351aaで正規化された各要素Xq'''(f,τ)の偏角を、以下のように周波数fに比例した値4fc-1dで除算する。
Figure 0004406428
次に、制御部1170において、一時メモリ1180に格納されたパラメータqがq=Mを満たすか否かを判断する(ステップS183)。ここでq=Mでなければ、制御部1170は、q+1の演算結果を新たなパラメータqの値とし、これを一時メモリ1180に格納し(ステップS184)、処理をステップS182へ戻す。一方、q=Mであれば、制御部1170はステップS171の処理を終了させ、以下のステップS172の処理を実行させる(周波数正規化処理(ステップS171)の詳細終わり)。
次に、マスク生成部1351のノルム正規化部1351bが、メモリ1100の記憶領域1312に格納されている各要素Xq'(f,τ)からなる周波数正規化ベクトルX’(f,τ)を、ノルムが所定の値(この例では1)になるノルム正規化ベクトルX’’(f,τ)に正規化し(ノルム正規化)、それら各要素Xq’’(f,τ)を記憶領域1312に格納する(ステップS172)。
[ノルム正規化処理(ステップS172)の詳細]
以下に、このノルム正規化処理(ステップS172)の詳細を説明する。
まず、ノルム正規化部1351b(図28B)において、メモリ1100の記憶領域1312から、各(f,τ)に対応する周波数正規化ベクトルX'(f,τ)=[X1'(f,τ),...,XM'(f,τ)]Tを読み込む。そして、ノルム正規化部1351bは、
Figure 0004406428
の演算を行ってそれらのノルム‖X'(f,τ)‖を求め、周波数正規化ベクトルX'(f,τ)及びノルム‖X'(f,τ)‖を一時メモリ1180に格納する(ステップS185)。
次に、ノルム正規化部1351bは、一時メモリ1180から各(f,τ)に対応する周波数正規化ベクトルX'(f,τ)及びノルム‖X'(f,τ)‖を読み出し、
X''(f,τ)=X'(f,τ)/‖X'(f,τ)‖
の演算を行ってノルム正規化ベクトルX''(f,τ)を求める(ステップS186)。
求められたノルム正規化ベクトルX''(f,τ)は、メモリ1100の記憶領域1312に格納される。これによりステップS172の処理が終了する(ノルム正規化処理(ステップS172)の詳細の説明終わり)。
次に、セントロイド抽出部1351cのセントロイド選択部1351caが、一時メモリ1180からクラスタ選択情報ιを読み込み(ステップS141参照)、このクラスタ選択情報ιに対応するセントロイドηιをメモリ1100の記憶領域1110から読み込む(ステップS173)。次に、ノルム正規化部1351cbが、セントロイド選択部1351caが読み込んだセントロイドηιのノルムを所定の値(ステップS172の所定の値〔この例では1〕)に正規化する。このノルム正規化後のセントロイドηιをノルム正規化セントロイドηι’と呼ぶ(ステップS174)。なお、ノルム正規化の手順は、ステップS185,S186と同様である。また、ノルム正規化セントロイドηι’は、メモリ1100の記憶領域1312に格納される。
次に、自乗距離算出部1351dが、メモリ1100の記憶領域1312から、ノルム正規化ベクトルX''(f,τ)とノルム正規化セントロイドηι’とを読み込み、それらの距離の自乗
DS(f,τ)=‖ηι’-X''(f,τ)‖2
を算出し(ステップS175)、その距離の自乗DS(f,τ)をメモリ1100の記憶領域1312に格納する。
次に、関数生成部1351eが、メモリ1100の記憶領域1312から距離の自乗DS(f,τ)を読み込み、これを変数とする関数を用いて時間周波数マスクM(f,τ)を生成し、メモリ1100の記憶領域1312に格納する(ステップS176)。具体的には、関数生成部1351eは、例えば、メモリ1100の記憶領域1308から実数パラメータg,Dを読み込み、以下のロジスティック関数を時間周波数マスクM(DS(f,τ))として生成する。なお、Dは事前に記憶領域1308に格納しておいたものである。また、eはネピア数である。
Figure 0004406428
そして、以上のように生成された時間周波数マスクM(DS(f,τ))は、第3の実施の形態と同様、マスキング部1152でのマスキング処理に用いられる。
〔実験結果〕
第3,第4の実施の形態の効果を示すために、マイクロホンに近い主要音声を強調して抽出する実験を行った。この実験では、図31Aに示す実験条件でインパルス応答hqk(r)を測定した。ここでは、カクテルパーティの状況を再現するようにスピーカを配置した。また、全てのスピーカの音量はほぼ等しくなるようにし、特別なスピーカの音量のみが著しく大きくならないようにした。マイクロホンでの混合は、8kHzでサンプリングした6秒間の英語音声を、測定したインパルス応答と畳み込むことにより作成した。マイクロホン配置は、図31Aに示すように3次元的にしたが、信号分離装置を実装したシステム(装置)には、基準マイクロホン(Mic.2)とその他のマイクロホン間の最大距離(3.5cm)のみを情報として与え、詳細なマイクロホン配置は与えていない。各実験において、マイクロホンに近い4つのスピーカ位置(a120,b120,c120,c170)の中から1つを目的音源として選び、残りの3つのスピーカは無音状態にした。マイクロホンから離れた6個のスピーカは、各実験で常に妨害音として作動させた。抽出結果はInput SIR−Output SIRであるSIR(signal−to−interference ratio)の改善量によって評価した。この値が大きいほど、より良く目的音声を抽出し、他の妨害音をより抑圧できたことを意味する。これら2種類のSIRは、
Figure 0004406428
はsk(t)からy1(t)へのインパルス応答である。
実験は、各目的音源位置に対して、7つの音声(目的音声1個と妨害音声6個)からなる組合せを16種類作成して行った。図31Bは、ICAのみの場合(第4の実施の形態)と、ICAと時間周波数マスキングの両方を組み合わせた場合(第3の実施の形態)とのSIRの平均改善量を示す表である。SIRの改善量は、目的音源の位置によって多少左右されるが、おおむね良好な結果を得ている。位置a120とb120とでの結果が良いのは、妨害音が異なった位置から到来するからである。位置c120とc170は、2次元的に見ると、同様の方向から多くの妨害音が到来するため困難な位置に思えるが、実際に位置c170での結果は大変良かった。これは、cl70の高さが妨害音と異なり、3次元状に配列されたマイクロホンによって、本システムが高さの違いを自動的に利用して抽出処理を行っているからである。また、図31Bの表によると、時間周波数マスキングにより性能が改善されることが分かる。時間周波数マスクを決定する式(46)に対して図31Aに示す3種類のパラメータを用いた。より小さいθTを用いることで、より大きいSIR改善量が達成されている。しかしながら、小さいθTによるいくつかの音は、不自然な音(musical noise)を伴った。実験の結果、多くの場合においてパラメータ(θT,g)=(0.333π,20)が、十分に妨害音の抑圧を行いながら、かつ自然な音を出力することを確認した。
〔変形例等〕
なお、本発明は上述の第3から第5の実施の形態に限定されるものではない。例えば、上述した各実施の形態では、信号分離部1130においてM行M列の分離行列W(f)を算出することとしたが、N行M列など正方行列以外の分離行列W(f)を算出する構成としてもよい。この場合、基底ベクトルは、分離行列W(f)の一般化逆行列W+(f)(例えばムーア・ペンローズ(Moore-Penrose)型一般化逆行列)の各列となる。
また、第3の実施の形態では、時間周波数マスクを用いて選択信号YI(f)(f,τ)から妨害信号成分をさらに抑制したマスク処理選択信号YI(f)'(f,τ)を生成することとしたが、他の方法によって妨害信号成分を抑制したマスク処理選択信号YI(f)'(f,τ)を生成することとしてもよい。例えば、信号源が2個だけである場合、抽出された分離信号Y1(f,τ),Y2(f,τ)の大きさを比較し、|Y1(f,τ)|>|Y2(f,τ)|ならばY1(f,τ)をマスク処理選択信号YI(f)'(f,τ)として抽出し、|Y1(f,τ)|<|Y2(f,τ)|ならばY2(f,τ)をマスク処理選択信号YI(f)'(f,τ)として抽出する時間周波数マスクを生成し、分離信号Y1(f,τ),Y2(f,τ)を要素とするベクトルに掛け合わせることとしてもよい。
さらに、上述の第3の実施の形態では、信号分離部1130が独立成分分析(ICA)を用いて分離行列と分離信号とを算出することとしたが、時間周波数マスク(時間周波数毎のマスクを意味し、例えば、1か0の値をとるバイナリマスク)によって観測信号から分離信号を抽出し(例えば、「O. Yilmaz and S. Rickard, "Blind separation of speech mixtures via time-frequency masking," IEEE Trans. an SP, vol. 52, no. 7, pp. 1830-1847, 2004.」参照)、その算出結果から分離行列を生成することとしてもよい。
また、上述の第3の実施の形態では、周波数正規化部1142aの第1正規化部1142aaが、基底ベクトルAp(f)の特定の1つの要素AQp(f)を基準とし、式(35)の一部である式(15)によって当該基底ベクトルAp(f)の各要素Aqp(f)の偏角を正規化することとした。しかし、例えば、前述した式(27-1)〜(27-3)等に従って、第1正規化部1142aaが、基底ベクトルAp(f)の特定の1つの要素AQp(f)を基準として、当該基底ベクトルAp(f)の各要素Aqp(f)の偏角を正規化する構成であってもよい。
また、周波数正規化部1142aが、式(35)の代わりに、前述した式(28-1)〜(28-4)等の演算によって周波数正規化を行うこととしてもよい。
また、上述の第3の実施の形態では、ノルム正規化部1142bにおいてノルムが1になるような正規化を行ったが、ノルムが1以外の規定値となるように正規化を行ってもよい。さらに、ノルム正規化部1142bを設けず、ノルム正規化を行わない構成であってもよい。この場合のクラスタリングは、前述した通り、ベクトルの方向の類似度を基準にして行う。
また、パラメータdは、全てのセンサqに対して同一であってもよいし、各センサqに対応して複数の値を設定しておいてもよい。例えば、基準センサとセンサqとの距離を、それぞれのセンサqに対応するパラメータdの値としてもよい。
〔第6の実施の形態(「第3の本発明」の例)〕
次に、本発明における第6の実施の形態について説明する。
本形態は、前述の原理を用い、センサの厳密な配置情報を必要とすることなく、全ての観測信号から得られた情報を容易かつ効率的に利用して信号分離を行う形態である。本形態では、後述する「混合信号ベクトル」が前述の「複素ベクトル」に相当する。
<構成>
本形態の信号分離装置2001も、第1の実施の形態と同様、公知のノイマン型のコンピュータに信号分離プログラムが読み込まれることにより構成される。図32は、第6の実施の形態における信号分離装置2001の構成を例示したブロック図である。また、図33は、図32における信号分離部2120の詳細を例示したブロック図である。なお、これらの図における実線の矢印は実際のデータの流れを示し、破線の矢印は理論的な情報の流れを示す。また、これらの図において制御部2140に出入りするデータの流れに対応する矢印は省略してある。
図32,図33に例示するように、信号分離装置2001は、メモリ2100、周波数領域変換部2110(「複素ベクトル生成部」に相当する機能を含む)、信号分離部2120、時間領域変換部2130及び制御部2140を有している。また、この信号分離部2120は、周波数正規化部2121(「正規化部」を構成)、ノルム正規化部2122(「正規化部」を構成)、クラスタリング部2123及び分離信号生成部2124を有している。また、周波数正規化部2121は、第1正規化部2121a及び第2正規化部2121bを有している。また、制御部2140は一時メモリ2141を有している。
ここでメモリ2100及び一時メモリ2141は、レジスタ10ac、補助記憶装置10f及びRAM10d等に相当する。また、周波数領域変換部2110、信号分離部2120、時間領域変換部2130及び制御部2140は、CPU10aにOSプログラムや信号分離プログラムが読み込まれ、CPU10aがこれらを実行することにより構成されるものである。
<処理>
次に、本形態の信号分離装置2001の処理について説明する。なお、以下では、N個の源信号が混合され、M個のセンサで観測された状況を取り扱う。また、前処理において、各センサで観測された時間領域の混合信号xq(t)(q=1,...,M)がメモリ2100の記憶領域2101に格納され、信号の伝達速度c、M以下の自然数から選択された基準値Q,Q’(それぞれM個のセンサから選択された基準センサの添字番号)及び実数dの各パラメータが記憶領域2105に格納されているものとする。
図34は、本形態における信号分離装置2001の処理の全体を説明するためのフローチャートである。以下、この図に沿って、本形態における信号分離装置2001の処理を説明していく。
[処理の全体]
まず、周波数領域変換部2110において、メモリ2100の記憶領域2101から時間領域の混合信号xq(t)を読み出し、これらを短時間離散フーリエ変換等によって周波数毎の時系列信号(「周波数領域の混合信号」と呼ぶ)Xq(f,τ)(q=1,...,M、f=0,fs/L,…,fs(L-1)/L、fはサンプリング周波数)に変換し、メモリ2100の記憶領域2102に格納する(ステップS201)。
次に、信号分離部2120の周波数正規化部2121において、メモリ2100の記憶領域2102から周波数領域の混合信号Xq(f,τ)を読み出す。周波数領域の混合信号Xq(f,τ)を読み出した周波数正規化部2121は、これらからなる混合信号ベクトルX(f,τ)=[X1(f,τ),...,XM(f,τ)]Tを、周波数fに依存しない周波数正規化ベクトルX’(f,τ)に正規化する(ステップS202)。生成された各周波数正規化ベクトルX’(f,τ)はメモリ2100の記憶領域2103に格納される。なお、ステップS202の処理の詳細については後述する。
次に、信号分離部2120のノルム正規化部2122において、メモリ2100の記憶領域2103から各周波数正規化ベクトルX’(f,τ)を読み込み、これらをノルムが所定の値(例えば1)になるノルム正規化ベクトルX''(f,τ)に正規化する。そして、ノルム正規化部2122は、生成した各ノルム正規化ベクトルX''(f,τ)をメモリ2100の記憶領域2104に格納する(ステップS203)。なお、この詳細については後述する。
次に、信号分離部2120のクラスタリング部2123において、メモリ2100の記憶領域2104から各ノルム正規化ベクトルX''(f,τ)を読み込み、これらをクラスタリングし、クラスタを生成する。そして、クラスタリング部2123は、各クラスタを特定するクラスタ情報C(k(k=1,...,N)番目のクラスタのメンバX''(f,τ)を特定する情報)をメモリ2100の記憶領域2106に格納する(ステップS204)。なお、この詳細については後述する。
次に、信号分離部2120の分離信号生成部2124において、メモリ2100の記憶領域2106,2105からクラスタ情報C及び基準値Q’を読み込む。そして、分離信号生成部2124は、クラスタ情報C及び基準値Q’を用い、k番目のクラスタに属するノルム正規化ベクトルX''(f,τ)に対応する混合信号ベクトルX(f,τ)からQ’番目の要素XQ’(f,τ)を記憶領域2102から抽出し、これをk番目の要素Yk(f,τ)とした分離信号ベクトルY(f,τ)を生成する。そして、分離信号生成部2124は、生成した分離信号ベクトルY(f,τ)をメモリ2100の記憶領域2107に格納する(ステップS205)。なお、この詳細については後述する。
最後に、時間領域変換部2130において、メモリ2100の記憶領域2107から分離信号ベクトルY(f,τ)を読み込み、その分離信号成分Yk(f,τ)を添字k毎に短時間逆フーリエ変換等により、時間領域の分離信号y(t)に変換する。そして、時間領域変換部2130は、変換した時間領域の分離信号y(t)をメモリ2100の記憶領域2108に格納する(ステップS206)。
次に、各処理の詳細について説明する。
[周波数正規化部2121・ノルム正規化部2122の処理の詳細]
周波数正規化部2121及びノルム正規化部2122は、全ての混合信号ベクトルX(f,τ)=[X1(f,τ),...,XM(f,τ)]T(f=0,fs/L,…,fs(L-1)/L)を正規化し、それらを周波数に依存せず、信号源の位置のみに依存するノルム正規化ベクトルX''(f,τ)に正規化する。これにより、それらをステップS204でクラスタリングした際に、各クラスタが各信号源のみに対応するようになる。この正規化を適切に行わないとクラスタが形成されない。前述した通り、本形態における正規化は、周波数正規化とノルム正規化とからなる。周波数正規化は、周波数正規化部2121において、混合信号ベクトルX(f,τ)を周波数に依存しない周波数正規化ベクトルX’(f,τ)に正規化するものである。ノルム正規化は、ノルム正規化部2122において、周波数正規化ベクトルX’(f,τ)をノルムが規定値(この例では1)をとるノルム正規化ベクトルX''(f,τ)に正規化するものである。以下にこれらの正規化の詳細を説明する。
[周波数正規化部2121における処理の詳細(ステップS202の処理の詳細)]
図35Aは、図34に示したステップS202の処理の詳細を説明するためのフローチャートである。以下、この図に沿ってステップS202の処理の詳細を説明する。
まず、制御部2140(図32)においてパラメータqに1を代入し、これを一時メモリ2141に格納する(ステップS211)。次に、周波数正規化部2121(図32,図33)において、メモリ2100の記憶領域2105から前述のパラメータd,c,Qを読み込み、記憶領域2102から各(f,τ)に対応する混合信号ベクトルX(f,τ)の要素Xq(f,τ)を読み込み、一時メモリ2141からパラメータqを読み込む。そして、周波数正規化部2121は、
Figure 0004406428
の演算を行い、当該演算結果を周波数正規化ベクトルX'(f,τ)=[X1'(f,τ),...,XM'(f,τ)]Tの各要素として、メモリ2100の記憶領域2103に格納する(ステップS212)。なお、arg[・]は偏角を意味し、jは虚数単位を意味する。
より詳細には、まず、周波数正規化部2121の第1正規化部2121aが、混合信号ベクトルX(f,τ)の特定の1つの要素Xq(f,τ)を基準として当該混合信号ベクトルX(f,τ)の各要素Xq(f,τ)の偏角を、以下の演算によって正規化する。
Figure 0004406428
次に、周波数正規化部2121の第2正規化部2121bが、第1正規化部2121aで正規化された各要素Xq'''(f,τ)の偏角を、以下のように周波数fに比例した値4fc-1dで除算する。
Figure 0004406428
次に、制御部2140において、一時メモリ2141に格納されたパラメータqがq=Mを満たすか否かを判断する(ステップS213)。ここでq=Mでなければ、制御部2140は、q+1の演算結果を新たなパラメータqの値とし、これを一時メモリ2141に格納し(ステップS214)、処理をステップS212へ戻す。一方、q=Mであれば、制御部2140はステップS202の処理を終了させ、以下のステップS203の処理を実行させる。
[ノルム正規化部2122における処理の詳細(ステップS203の詳細)]
図35Bは、図34に示したステップS203の処理の詳細を説明するためのフローチャートである。以下、この図に沿ってステップS03の処理の詳細を説明する。
ノルム正規化部2122(図32,図33)において、メモリ2100の記憶領域2103から、各(f,τ)に対応する周波数正規化ベクトルX'(f,τ)=[X1'(f,τ),...,XM'(f,τ)]Tを読み込む。そして、ノルム正規化部2122は、
Figure 0004406428
の演算を行ってそれらのノルム‖X'(f,τ)‖を求め、周波数正規化ベクトルX'(f,τ)及びノルム‖X'(f,τ)‖を一時メモリ2141に格納する(ステップS221)。
次に、ノルム正規化部2122は、一時メモリ2141から各(f,τ)に対応する周波数正規化ベクトルX'(f,τ)及びノルム‖X'(f,τ)‖を読み出し、
X''(f,τ)=X'(f,τ)/‖X'(f,τ)‖ …(63)
の演算を行ってノルム正規化ベクトルX''(f,τ)を求める(ステップS222)。求められた各ノルム正規化ベクトルX''(f,τ)は、メモリ2100の記憶領域2104に格納される。これによりステップS203の処理が終了する。
このように生成されたノルム正規化ベクトルX''(f,τ)は、周波数に依存せず、信号源の位置のみに依存するベクトルとなる。その結果、このノルム正規化ベクトルX''(f,τ)はクラスタを形成することになる。以下にこの理由を説明する。
[ノルム正規化ベクトルX''(f,τ)がクラスタを形成する理由]
本形態では源信号のスパース性を仮定しているので、混合信号ベクトルX(f,τ)の各要素X(f,τ)は、源信号pに対応する信号源kからセンサqヘの周波数応答Hqkに比例した(ある複素数スカラである源信号Sk(f,τ)が掛かった)ものになっている(Xq(f,τ)=Hqk(f,τ)・Sk(f,τ))。
これらの源信号Sk(f,τ)は離散時間に応じて(すなわち位相に応じて)変化するが、当然ながら、周波数fが同じであれば、センサqで観測される源信号Sk(f,τ)の偏角と、基準センサQで観測される源信号Sk(f,τ)の偏角との相対値は離散時間が変化しても一定である。
前述のように、周波数正規化部2121の第1正規化部2121aは、混合信号ベクトルX(f,τ)の特定の1つの要素XQ(f,τ)を基準として当該混合信号ベクトルX(f,τ)の各Xq(f,τ)の偏角を正規化する。
これにより、上述の源信号Sk(f,τ)の位相に起因する不確定性を取り除き、源信号pとセンサqとに対応する混合信号ベクトルX(f,τ)の各要素Xq(f,τ)の偏角を、源信号pと基準センサQ(基準値Qに対応)とに対応する混合信号ベクトルX(f,τ)の要素XQ(f,τ)の偏角に対する相対値として表現する。なお、この場合、要素XQ(f,τ)の偏角に対応する相対値は0と表現される。
信号源kからセンサqヘの周波数応答を、反射や残響の無い直接波モデルで近似して考える。すると、上記の第1正規化部2121aにより正規化された偏角は、信号源kからセンサへの波の到達時間差と周波数fの双方に比例したものになる。ここでの到達時間差とは、信号源kからの波がセンサqに到達するまで時間と、当該波が基準センサQに到達するまでの時間との時間差である。
また、前述のように、第2正規化部2121bは、第1正規化部2121aで正規化された各要素Xq'''(f,τ)の偏角を周波数fに比例した値で除算する。これにより、各要素Xq''' (f,τ)を、それらの偏角の周波数依存性を排除した各要素Xq'(f,τ)に正規化する。これにより、正規化された各要素Xq'(f,τ)は、直接波モデルに従えば、信号源kからセンサへの波の到達時間差のみに依存するものとなる。ここで、信号源kからセンサへの波の到達時間差は、信号源k,センサq,基準センサQの相対位置にのみ依存する。そのため、信号源k,センサq,基準センサQが同じであれば、周波数fが異なっても各要素Xq'(f,τ)の偏角は同一となる。従って、周波数正規化ベクトルX'(f,τ)は、周波数fには依存せず、信号源kの位置のみに依存する。そのため、周波数正規化ベクトルX'(f,τ)のノルムを正規化したノルム正規化ベクトルX''(f,τ)のクラスタリングによって、同じ信号源毎に対応するクラスタが形成される。なお、実際の環境では、反射や残響などの影響により、直接波モデルは厳密には満たされないが、後述の実験結果に示すとおり十分に良い近似となっている。
次に、ノルム正規化ベクトルX''(f,τ)がクラスタを形成する理由を、モデルを用いて説明する。
前述した式(1)に示されるインパルス応答hqk(r)を直接波(近距離場)混合モデルを用いて近似し、周波数領域で表すと、
Figure 0004406428
となる。ここで、dqkは信号源kとセンサqとの間の距離であり、γ(f)は周波数に依存した定数である。また、減衰γ(f)/dqkは、距離dqkと定数γ(f)によって決まり、遅延(dqk-dQk)/cは、基準センサQの位置で正規化された距離によって決まる。
また、信号のスパース性を仮定すると、各時間周波数(f,τ)において以下の関係が成り立つ。
Xq(f,τ)=Hqk(f,τ)・Sk(f,τ) …(65)
ここで、式(62)(63)(64)(65)より、
Figure 0004406428
となる。
この式から分かるように、ノルム正規化ベクトルX''(f,τ)の各要素Xq'' (f,τ)は、周波数fからは独立であり、信号源kとセンサqの位置のみに依存する。従って、ノルム正規化ベクトルをクラスタリングすると、同じ信号源ごとに対応するクラスタが形成される。
また、同様なことは、信号の減衰を考慮していない近距離場混合モデルや遠距離場混合モデルでモデル化した場合にも言える(1の実施の形態と同様)。
また、第1の実施の形態と同様、式(66)から、パラメータdの値は、d>dmax/2であることが望ましく(dmaxは要素XQ'' (f,τ)に対応する基準センサと他のセンサとの最大距離を意味する。)、より好ましくはd≧dmaxであることが望ましく、さらにより好ましくはd=dmaxであることが望ましいことが分かる。
図37及び図38は、パラメータd毎のノルム正規化ベクトルX''(f,τ)の要素Xq'' (f,τ)と、その偏角arg[Xq'' (f,τ)]との関係を説明するための複素平面図である。なお、これらにおける横軸は実軸を縦軸は虚軸を示している。
図37Aはdmax/2≧dの場合における複素平面図である。ここで上述のdmaxの定義より、任意のq及びkに対しdqk-dQkの絶対値はdmax以下となる。よってdmax/2≧dの場合、(π/2)・(dqk-dQk)/d≦-π,(π/2)・(dqk-dQk)/d≧πと成り得る。その結果、式(66)で表されるXq'' (f,τ)の偏角arg[Xq'' (f,τ)]は、2πを超えるα1≦arg[Xq'' (f,τ)]≦α2(α1≦-π、α2≧π)の範囲に分布する可能性がある。そのため、異なるノルム正規化ベクトルX''(f,τ)の要素Xq'' (f,τ)の偏角が一致する可能性があり、前述したクラスタリングにおいて、異なるノルム正規化ベクトルX''(f,τ)を同じクラスタにクラスタリングしてしまう可能性がある。よって、d>dmax/2であることが望ましい。しかし、この偏角の重複範囲に対応するノルム正規化ベクトルX''(f,τ)のサンプルが存在しないならばdmax/2≧dとしても問題はない。
図37Bはdmax/2<d<dmaxの場合における複素平面図である。この場合、-π<(π/2)・(dqk-dQk)/d<-π/2,π/2<(π/2)・(dqk-dQk)/d<πと成り得る。その結果、式(66)で表されるXq'' (f,τ)の偏角arg[Xq'' (f,τ)]は、β1≦arg[Xq'' (f,τ)]≦β2(-π<β1<-π/2、π/2<β2<π)の範囲に分布する可能性がある。そのため、-π<arg[Xq'' (f,τ)]<-π/2及びπ/2<arg[Xq'' (f,τ)]<πの範囲において、異なるノルム正規化ベクトルX''(f,τ)の要素間における偏角の差の増加に伴い、これらの要素間の距離が単調増加しないこともありうる。これは、前述したクラスタリングの精度を低下させる可能性がある。よってd≧dmaxであることがより望ましい。
図38Aはd=dmaxの場合における複素平面図であり、図38Bはd>dmaxの場合における複素平面図である。ここでd>dmaxの場合、-π/2<(π/2)・(dqk-dQk)/d<0,0<(π/2)・(dqk-dQk)/d<π/2と成り得る。その結果、式(66)で表されるXq'' (f,τ)の偏角arg[Xq'' (f,τ)]は、図38Bに示すように、γ1≦arg[Xq'' (f,τ)]≦γ2(-π/2<γ1<0、0<γ2<π/2)の範囲に分布する。そして、dが大きくなればなるほどその分布範囲は狭くなっていき、狭い範囲にクラスタが密集していく。これは、前述したクラスタリングの精度を低下させる。
これに対し、d=dmaxである場合、-π/2≦(π/2)・(dqk-dQk)/d<0,0<(π/2)・(dqk-dQk)/d≦π/2と成り得る。その結果、式(66)で表されるXq'' (f,τ)の偏角arg[Xq'' (f,τ)]は図38Aに示すように-π/2≦arg[Xq'' (f,τ)]≦π/2の範囲に分布する。この場合、ノルム正規化ベクトルX''(f,τ)の要素間における偏角の差の増加に対して、それらの距離も単調増加するという関係を維持しつつ、できるだけ広い範囲にクラスタを分散させることができる。その結果、一般的にクラスタリングの精度を向上させることができる([周波数正規化部2121・ノルム正規化部2122の処理の詳細]の説明終わり)。
[クラスタリング部2123の処理の詳細(ステップS204の詳細)]
前述のようにクラスタリング部2123は、メモリ2100の記憶領域2104からノルム正規化ベクトルX''(f,τ)を読み込み、これらをクラスタリングしてM個のクラスタを生成する。このクラスタリングは、例えば、各クラスタのメンバ(X''(f,τ)∈Ck)と各クラスタのセントロイドηとの間の二乗和Uの総和U
Figure 0004406428
を最小化することを基準に行われる。この最小化は、例えば、非特許文献6などで解説されているk-meansクラスタリングを用いることによって効果的に行うことができる。なお、クラスタ情報Cが示すクラスタのセントロイド(中心ベクトル)ηは、
Figure 0004406428
によって計算される。ここで|Ck|はクラスタ情報Ckが示すクラスタのメンバ(ノルム正規化ベクトルX''(f,τ))の数である。また、ここでは、距離としてユークリッド距離の自乗を用いているが、これを一般化したミンコフスキー距離などを用いてもよい([クラスタリング部2123の処理の詳細]の説明終わり)。
[分離信号生成部2124の処理の詳細(ステップS205の詳細)]
図36は、図34に示したステップS205の処理の詳細を説明するためのフローチャートである。以下、この図に沿ってステップS205の処理の詳細を説明する。
まず、制御部2140(図32)において、全てのパラメータk(k=1,...,N)及び時間周波数(f,τ)(定義された範囲における全てのfとτ)に対するY(f,τ)の値を0に初期化し、これらをメモリ2100の記憶領域2107に格納する(ステップS230)。
次に、制御部2140においてパラメータkに1を代入し、これを一時メモリ2141に格納する(ステップS231)。次に、分離信号生成部2124(図32,図33)において、メモリ2100の記憶領域2106のクラスタ情報Cを読み込み、これが示すk番目のクラスタのメンバ(ノルム正規化ベクトルX''(f,τ))を抽出し、これらを一時メモリ2141に格納する(ステップS232)。次に、分離信号生成部2124は、ステップS232で一時メモリ2141に格納された各ノルム正規化ベクトルX''(f,τ)を参照し、これらに対応する時間周波数(f,τ)の各混合信号ベクトルX(f,τ)をメモリ2100の記憶領域2102から読み込み、これらを一時メモリ2141に格納する(ステップS233)。次に、分離信号生成部2124は、メモリ2100の記憶領域2105から基準値Q’を読み込み、一時メモリ2141から、ステップS233で格納された混合信号ベクトルX(f,τ)のQ’番目の要素XQ’(f,τ)を抽出する(各時間周波数(f,τ)について)。そして、分離信号生成部2124は、抽出した要素XQ’(f,τ)を分離信号ベクトルY(f,τ)のk番目の要素Yk(f,τ)としてメモリ2100の記憶領域2107の値を更新する(ステップS234)。すなわち、この例の分離信号生成部2124は、
Figure 0004406428
として要素Yk(f,τ)を抽出する。
次に、制御部2140において、一時メモリ2141に格納されたパラメータkがk=Nを満たすか否かを判断する(ステップS235)。ここでk=Nでなければ、制御部2140は、k+1の演算結果を新たなパラメータkの値とし、これを一時メモリ2141に格納し(ステップS236)、処理をステップS232へ戻す。一方、k=Nであれば、制御部2140はステップS205の処理を終了させる([分離信号生成部2124の処理の詳細]の説明終わり)。
<実験結果>
次に、本形態による音源分離実験結果を示す。ここでは、本形態の効果を示すために二種類の信号分離の実験を行った。
1つ目の実験は、2つのセンサによる分離実験である。その実験条件は図39Aに示す通りである。信号源の数は3つであり、6秒間の英語の音声をスピーカから流した。また、この実験結果を図39Bの表に示す。この表では、SIR(signal-to-interference ratio)の向上量を示している。大きい数字ほど分離性能が良いことを示す。ここでは、分離前のセンサでの観測結果[InputSIR]と、DOAによるクラスタリングによる結果[DOA(Previous)]と、本形態(正規化によるクラスタリング)による結果[Normalized obser. vector(Proposed)]を示している。この結果より、2つのセンサの場合、本形態の方法によって、DOAのみによるクラスタリング結果と同等の性能で信号分離が可能であることが確認できた。
2つ目の実験は、不規則なセンサ配置によるものである。実験条件は図40Aに示す通りである。この実験では、4つの無指向性マイク(センサ)を直線的ではない配置とした。また、これらの配置情報としては、マイク間隔の上限が4cmであるということだけを分離システムに与えた。信号源の数は4つであり、6秒問の英語の音声をスピーカから流した。このようなセンサや信号源の配置においてDOAを使おうとすると、それぞれのセンサペア毎にDOAを推定→センサペア毎にクラスタリング→全てのセンサペアについでのクラスタリング結果を統合、という繁雑な処理を行う必要がある。しかし、本形態の方法ではそのような繁雑な統合処理を行うことなく、図40Bの表に示すような高い分離性能を得ることができる。また、2つ目の実験を図41Aのような条件で行った場合も同様に図41Bの表に示すような高い分離性能を得ることができた。
<第6の実施の形態の特徴>
以上より、上述した実施の形態の特徴をまとめると以下のようになる。
(1)混合信号ベクトルから得られる情報をすべて用いてクラスタリングを行うため、全てのセンサの情報を有効に活用でき、信号分離の性能が向上する。
(2)センサの配置情報を厳密に知る必要がないため、不規則なセンサ配置を採用でき、さらにセンサ位置をキャリブレーションする必要が無い。
<変形例等>
なお、本発明は、上述の第6の実施の形態に限定されるものではない。例えば、第6の実施の形態では、周波数正規化部2121の第1正規化部2121aが、混合信号ベクトルX(f,τ)の特定の1つの要素Xq(f,τ)を基準として当該混合信号ベクトルX(f,τ)の各要素Xq(f,τ)の偏角を、式(61)の演算によって正規化することとした。しかし、例えば、以下のような式に従って、周波数正規化部2121の第1正規化部2121aが、混合信号ベクトルX(f,τ)の特定の1つの要素Xq(f,τ)を基準として当該混合信号ベクトルX(f,τ)の各要素Xq(f,τ)の偏角を正規化する構成であってもよい。
Figure 0004406428
ただし、・は、・の複素共役である。また、ψ{・}は関数であり、クラスタリング精度の観点から好ましくは単調増加関数であることが望ましい。
また、周波数正規化部2121が式(60)の代わりに、
Figure 0004406428
等の演算によって周波数正規化を行うこととしてもよい。ただし、ρは定数である(例えば、ρ=1)。
また、上述の第6の実施の形態では、ノルム正規化部2122においてノルムが1になるような正規化を行ったが、ノルムが1以外の規定値となるように正規化を行ってもよい。さらに、ノルム正規化部2122を設けず、ノルム正規化を行わない構成であってもよい。この場合、クラスタリング部2123は、周波数正規化ベクトルX'(f,τ)のクラスタリングを行うことになる。しかし、周波数正規化ベクトルX'(f,τ)は、ノルムが統一されていない。そこで、この場合のクラスタリング基準は、ベクトルがノルムを含めて似ているかどうかではなく、ベクトルの方向のみが似ているかどうかになる。これは、類似度を用いた評価になる。類似度の1つとしてコサイン距離
cosθ=|X'H(f,τ)・ηk|/(‖X'(f,τ)‖・‖ηk‖)
を例示できる。ここでθは、周波数正規化ベクトルX'(f,τ)と、セントロイドηkのベクトルとがなす角度である。コサイン距離を用いる場合、クラスタリング部2123は、コサイン距離の総和
Figure 0004406428
を最小値化するクラスタを生成する。なお、セントロイドηkは、各クラスタのメンバの平均として算出する。
また、上述した基準値Q,Q’は互いに等しくてもよく、異なっていてもよい。
また、パラメータdは、全てのセンサqに対して同一であってもよいし、各センサqに対応して複数の値を設定しておいてもよい。例えば、基準センサとセンサqとの距離を、それぞれのセンサqに対応するパラメータdの値としてもよい。
また、分離信号生成部2124において、
Figure 0004406428
とする代わりに、バイナリマスク
Figure 0004406428

を作成し、
Yk(f,τ)=Mk(f,τ)XQ'(f,τ)
として分離信号ベクトルY(f,τ)のk番目の要素Yk(f,τ)を得ることとしてもよい。
さらに、上述の各実施の形態では、フーリエ変換及び逆フーリエ変換によって周波数領域と時間領域との間の変換を行うこととしたが、wavelet変換、DFTフィルタバンク、ポリフェイズフィルタバンクなどを用い、この変換を行うこととしてもよい(例えば、「R. E. Crochiere, L. R. Rabiner, "Multirate Digital Signal Processing." Eaglewood Cliffs, NJ: Prentice-Hall,1983 (ISBN 0-13-605162-6) )。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の各実施の形態の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
これらの処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
また、上述した実施形態とは別の実行形態として、コンピュータが可搬型記録媒体から直接このプログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本技術により、様々な妨害信号が発生する実環境において、目的の信号を精度良く取り出すことが可能となる。音信号に対する応用例としては、例えば、音声認識器のフロントエンドとして働く音声分離システムなどが挙げられる。話者とマイクが離れた位置にあり、マイクが話者の音声以外を集音してしまうような状況でも、そのようなシステムを使うことで、話者の音声のみを取り出して正しく音声を認識することができる。

Claims (29)

  1. 複数の信号源から発せられた源信号の混合からなる混合信号を、当該源信号の推定信号である分離信号に分離する信号分離装置であって、
    複数のセンサで観測された前記混合信号を、周波数領域の混合信号に変換する周波数領域変換部と、
    前記周波数領域の混合信号を用いて、周波数毎に分離行列を算出する分離行列算出部と、
    前記分離行列の一般化逆行列を算出する逆行列算出部と、
    前記一般化逆行列を構成する基底ベクトルの正規化を行い、正規化基底ベクトルを算出する基底ベクトル正規化部と、
    前記正規化基底ベクトルをクラスタリングし、クラスタを生成するクラスタリング部と、
    前記クラスタの中心ベクトルと前記正規化基底ベクトルとを用い、前記分離行列の要素を並び替えるための順列を算出する順列算出部と、
    前記順列に従って前記分離行列の行を並び替えた第2の分離行列を生成する並び替え部と、
    前記第2の分離行列に、各センサで観測された前記混合信号から変換された前記周波数領域の混合信号を要素とする混合信号ベクトルを乗じ、周波数領域の各分離信号を要素とする分離信号ベクトルを生成する分離信号生成部と、
    を有する信号分離装置
  2. 請求項1記載の信号分離装置であって、
    前記基底ベクトル正規化部は、
    前記基底ベクトルの周波数依存性を排除する正規化を行うことを特徴とする信号分離装置
  3. 請求項2記載の信号分離装置であって、
    前記基底ベクトルの周波数依存性を排除する正規化は、
    前記基底ベクトルが具備する特定の1つの要素を基準として当該基底ベクトルの各要素の偏角を正規化し、さらに、各要素の偏角を周波数に比例した値で除算する正規化であることを特徴とする信号分離装置
  4. 請求項2記載の信号分離装置であって、
    前記基底ベクトルの周波数依存性を排除する正規化は、
    前記基底ベクトルAp(f)(p=1,...,N、Nは前記信号源の数)の各要素Aqp(f)(q=1,...,M、Mは前記混合信号を観測するセンサの数)に対し、expをネピア数とし、arg[・]を偏角とし、fを周波数とし、jを虚数単位とし、cを信号の伝達速度とし、QをM以下の自然数から選択された基準値とし、dを実数とした場合における、
    Figure 0004406428
    の演算によって行われる正規化であることを特徴とする信号分離装置
  5. 請求項4記載の信号分離装置であって、
    前記dは、
    前記要素AQp(f)に対応する基準センサと他のセンサとの最大距離dmaxであることを特徴とする信号分離装置
  6. 請求項1記載の信号分離装置であって、
    前記基底ベクトル正規化部は、
    前記基底ベクトルの周波数依存性を排除する正規化と、ノルムを規定値にする正規化とを行うことを特徴とする信号分離装置
  7. 複数の信号源から発せられた源信号の混合からなる混合信号を、当該源信号の推定信号である分離信号に分離する信号分離装置であって、
    複数のセンサで観測された前記混合信号を周波数領域の混合信号に変換する周波数領域変換部と、
    前記周波数領域の混合信号を用いて、周波数毎に分離行列を算出する分離行列算出部と、
    前記分離行列の一般化逆行列を算出する逆行列算出部と、
    前記一般化逆行列を構成する基底ベクトルの正規化を行い、正規化基底ベクトルを算出する基底ベクトル正規化部と、
    前記正規化基底ベクトルをクラスタリングし、クラスタを生成するクラスタリング部と、
    前記周波数領域の混合信号と前記分離行列或いはその行を並び替えた分離行列とから求めた分離信号のエンベロープと、前記クラスタの中心ベクトルと、前記正規化基底ベクトルとを用い、前記分離行列の要素を並び替えるための順列を算出する順列算出部と、
    前記順列に従って前記分離行列の行を並び替えた第2の分離行列を生成する並び替え部と、
    周波数毎に前記順列の信頼度を評価し、前記順列の信頼度が低いと評価された周波数に対し、前記分離信号のエンベロープを用いて第2の順列を算出し、この周波数のみについて第2の分離行列の行を前記第2の順列に従って並び替えた第3の分離行列を生成する順列評価部と、
    前記第3の分離行列に、各センサで観測された前記混合信号から変換された前記周波数領域の混合信号を要素とする混合信号ベクトルを乗じ、各信号源に対応する周波数領域の分離信号を要素とする分離信号ベクトルを生成する分離信号生成部と、
    を有する信号分離装置
  8. 複数の信号源から発せられた源信号の混合からなる混合信号を、当該源信号の推定信号である分離信号に分離する信号分離装置であって、
    複数のセンサで観測された前記混合信号を周波数領域の混合信号に変換する周波数領域変換部と、
    前記周波数領域の混合信号を用い、周波数毎に分離行列と、周波数領域の各分離信号を要素とする分離信号ベクトルを算出する信号分離部と、
    前記各分離信号に対応する前記分離行列の一般化逆行列の列である基底ベクトルを生成する逆行列算出部と、
    前記基底ベクトルを正規化し、正規化された基底ベクトルを生成する正規化部と、
    前記正規化された基底ベクトルをクラスタリングしてクラスタを生成するクラスタリング部と、
    前記各クラスタの分散を指標として1個以上のクラスタを選択する分散判定部と、
    選択されたクラスタの中心ベクトルとの距離が最も近い正規化された基底ベクトルに対応する分離信号を、目的信号を含む選択信号として選択する選択部と、を有する信号分離装置
  9. 請求項8に記載の信号分離装置であって、
    更に、前記周波数領域の混合信号と前記基底ベクトルとを用いて時間周波数マスクを生成するマスク生成部と、
    前記時間周波数マスクを前記選択部で選択された前記選択信号に適用し、マスク処理選択信号を生成するマスキング部と、を有することを特徴とする信号分離装置
  10. 請求項9に記載の信号分離装置であって、
    前記マスク生成部は、
    前記周波数領域の混合信号を用いて白色化行列を生成する白色化行列生成部と、
    前記白色化行列を用い、前記周波数領域の混合信号を要素とする混合信号ベクトルを変換した白色化混合信号ベクトルと、前記基底ベクトルを変換した白色化基底ベクトルとを算出する白色化部と、
    前記白色化混合信号ベクトルと前記白色化基底ベクトルとがなす角度を時間周波数毎に算出する角度計算部と、
    前記角度を要素とする関数である前記時間周波数マスクを生成する関数演算部と、を有することを特徴とする信号分離装置
  11. 請求項10に記載の信号分離装置であって、
    前記白色化行列は、
    周波数をfとし、離散時間をτとし、前記混合信号ベクトルをX(f,τ)とし、ベクトル*を時間平均したベクトルを<*>τとし、ベクトル*の複素共役転置ベクトルを*Hとし、R(f)=<X(f,τ)・X(f,τ)H>τとした場合におけるV(f)=R(f) 1/2であり、
    前記白色化部は、
    Z(f,τ)=V(f)・X(f,τ)の演算により、前記白色化混合信号ベクトルZ(f,τ)を算出し、前記基底ベクトルをA(f)とした場合におけるB(f)=V(f)・A(f)の演算により、前記白色化基底ベクトルB(f)を算出し、
    前記角度計算部は、
    ベクトル*の絶対値を|*|とし、ベクトル*のノルムを‖*‖とした場合におけるθ(f,τ)=cos 1(|B H(f)・Z(f,τ)|/‖B(f)‖・‖Z(f,τ)‖)の演算により、前記角度θ(f,τ)を算出し、
    前記関数演算部は、
    α,g,θTを実数とした場合におけるロジスティック関数M(θ(f,τ))=α/(1+eg ・(θ( f, τ)−θ T )を前記時間周波数マスクとして算出することを特徴とする信号分離装置
  12. 請求項9に記載の信号分離装置であって、
    前記マスク生成部は、
    前記周波数領域の混合信号を用いて生成された混合信号ベクトルX(f,τ)を、周波数に依存しない周波数正規化ベクトルX'(f,τ)に正規化する周波数正規化部と、
    前記周波数正規化ベクトルX'(f,τ)を、ノルムが所定の値になるノルム正規化ベクトルX''(f,τ)に正規化する第1ノルム正規化部と、
    前記選択信号に対応するセントロイドηιを抽出するセントロイド選択部と、
    前記選択信号に対応するセントロイドηιを、そのノルムが前記所定の値になるノルム正規化セントロイドηι’に正規化する第2ノルム正規化部と、
    前記周波数正規化ベクトルX'(f,τ)と前記ノルム正規化セントロイドηι’との距離の自乗DS(f,τ)を算出する自乗距離算出部と、
    前記距離の自乗DS(f,τ)を要素とする関数を用いた前記時間周波数マスクを生成する関数生成部と、を有することを特徴とする信号分離装置
  13. 請求項8に記載の信号分離装置であって、
    前記正規化部は、
    前記基底ベクトルの周波数依存性を排除する正規化を行うことを特徴とする信号分離装置
  14. 請求項13記載の信号分離装置であって、
    前記基底ベクトルの周波数依存性を排除する正規化は、
    前記基底ベクトルが具備する特定の1つの要素を基準として当該基底ベクトルの各要素の偏角を正規化し、さらに、各要素の偏角を周波数に比例した値で除算する正規化であることを特徴とする信号分離装置
  15. 請求項14記載の信号分離装置であって、
    前記基底ベクトルの周波数依存性を排除する正規化は、
    前記基底ベクトルAp(f)(pは自然数)の各要素Aqp(f)(q=1,...,M、Mは前記混合信号を観測するセンサの数)に対し、expをネピア数とし、arg[・]を偏角とし、fを周波数とし、jを虚数単位とし、cを信号の伝達速度とし、QをM以下の自然数から選択された基準値とし、dを実数とした場合における、
    Figure 0004406428
    の演算によって行われる正規化であることを特徴とする信号分離装置
  16. 請求項15記載の信号分離装置であって、
    前記実数dは、
    前記基準値Qに対応する基準センサと他のセンサとの最大距離dmaxであることを特徴とする信号分離装置
  17. 請求項8記載の信号分離装置であって、
    前記正規化部は、
    前記基底ベクトルの周波数依存性を排除する正規化と、ノルムを規定値にする正規化とを行うことを特徴とする信号分離装置
  18. 請求項8に記載の信号分離装置であって、
    前記分散判定部は、
    分散が最小となるクラスタを選択し、選択されたクラスタに対応する前記分離信号を前記選択信号として選択することを特徴とする信号分離装置
  19. 複数の信号源から発せられた源信号の混合からなる混合信号を、当該源信号の推定信号である分離信号に分離する信号分離装置であって、
    複数のセンサで観測された前記混合信号を周波数領域の混合信号に変換する周波数領域変換部と、
    前記周波数領域の混合信号から構成される混合信号ベクトルの正規化を行い、正規化ベクトルを算出するベクトル正規化部と、
    前記正規化ベクトルをクラスタリングし、クラスタを生成するクラスタリング部と、
    k番目の前記クラスタに属する前記正規化ベクトルの時間周波数に対応する前記混合信号ベクトルから所定番目の要素を抽出し、これをk番目の要素とした分離信号ベクトルを生成する分離信号生成部と、を有し、
    前記分離信号生成部で生成された前記分離信号ベクトルの各要素が、周波数領域の各分離信号であることを特徴とする信号分離装置
  20. 請求項19に記載の信号分離装置であって、
    前記ベクトル正規化部は、
    前記周波数領域の混合信号から構成される混合信号ベクトルの周波数依存性を排除する正規化を行うことを特徴とする信号分離装置
  21. 請求項20記載の信号分離装置であって、
    前記混合信号ベクトルの周波数依存性を排除する正規化は、
    前記混合信号ベクトルが具備する特定の1つの要素を基準として当該基底ベクトルの各要素の偏角を正規化し、さらに、各要素の偏角を周波数に比例した値で除算する正規化であることを特徴とする信号分離装置
  22. 請求項21記載の信号分離装置であって、
    前記混合信号ベクトルの周波数依存性を排除する正規化は、
    Mを前記センサの数とし、q=1,...,Mとし、前記混合信号ベクトルの各要素をXq(f,τ)とし、expをネピア数とし、arg[・]を偏角とし、jを虚数単位とし、cを信号の伝達速度とし、QをM以下の自然数から選択された値とし、dを実数とし、fを周波数とし、τを離散時間とした場合における、
    Figure 0004406428
    の演算によって行われることを特徴とする信号分離装置
  23. 請求項22記載の信号分離装置であって、
    前記dは、
    前記要素XQ(f,τ)に対応するセンサと他のセンサとの最大距離dmaxであることを特徴とする信号分離装置
  24. 請求項19に記載の信号分離装置であって、
    前記ベクトル正規化部は、
    前記混合信号ベクトルの周波数依存性を排除する正規化と、ノルムを規定値にする正規化とを行うことを特徴とする信号分離装置
  25. 複数の信号源から発せられた源信号の混合からなる混合信号を、当該源信号の推定信号である分離信号に分離する信号分離方法であって、
    複数のセンサで観測された前記混合信号を周波数領域の混合信号に変換して出力する過程と、
    入力された前記周波数領域の混合信号を用い、周波数毎に分離行列を算出して出力する過程と、
    入力された前記分離行列の一般化逆行列を算出して出力する過程と、
    入力された前記一般化逆行列を構成する基底ベクトルの正規化を行い、正規化基底ベクトルを算出して出力する過程と、
    入力された前記正規化基底ベクトルをクラスタリングし、クラスタを生成して出力する過程と、
    入力された前記クラスタの中心ベクトルと前記正規化基底ベクトルとを用い、前記分離行列の要素を並び替えるための順列を算出して出力する過程と、
    前記順列に従って前記分離行列の行を並び替えた第2の分離行列を生成する過程と、
    前記第2の分離行列に、各センサで観測された前記混合信号から変換された前記周波数領域の混合信号を要素とする混合信号ベクトルを乗じ、周波数領域の各分離信号を要素とする分離信号ベクトルを生成する過程と、
    を有する信号分離方法
  26. 複数の信号源から発せられた源信号の混合からなる混合信号を、当該源信号の推定信号である分離信号に分離する信号分離方法であって、
    複数のセンサで観測された前記混合信号を周波数領域の混合信号に変換して出力する過程と、
    入力された前記周波数領域の混合信号を用い、周波数毎に分離行列と、周波数領域の各分離信号を要素とする分離信号ベクトルを算出して出力する過程と、
    入力された前記分離行列の一般化逆行列の列である基底ベクトルを生成する過程と、
    前記基底ベクトルを正規化し、正規化された基底ベクトルを生成する過程と、
    前記基底ベクトルを正規化し、正規化された基底ベクトルを生成する過程と、
    前記正規化された基底ベクトルをクラスタリングしてクラスタを生成する過程と、
    前記各クラスタの分散を指標として1個以上のクラスタを選択する過程と、
    選択されたクラスタの中心ベクトルとの距離が最も近い正規化された基底ベクトルに対応する分離信号を、目的信号を含む選択信号として選択する過程と、
    を有する信号分離方法
  27. 複数の信号源から発せられた源信号の混合からなる混合信号を、当該源信号の推定信号である分離信号に分離する信号分離方法であって、
    複数のセンサで観測された前記混合信号を周波数領域の混合信号に変換して出力する過程と、
    入力された前記周波数領域の混合信号から構成される混合信号ベクトルの正規化を行い、正規化ベクトルを算出して出力する過程と、
    入力された前記正規化ベクトルをクラスタリングし、クラスタを生成して出力する過程と、
    k番目の前記クラスタに属する前記正規化ベクトルの時間周波数に対応する前記混合信号ベクトルから所定番目の要素を抽出し、これをk番目の要素とした分離信号ベクトルを生成して出力する過程と、を有し、
    生成された前記分離信号ベクトルの各要素が、周波数領域の各分離信号であることを特徴とする信号分離方法
  28. 請求項1から24の何れかに記載の信号分離装置としてコンピュータを機能させるための信号分離プログラム。
  29. 請求項28記載の信号分離プログラムを格納したコンピュータ読み取り可能な記録媒体。
JP2006520556A 2005-02-08 2006-02-07 信号分離装置、信号分離方法、信号分離プログラム及び記録媒体 Active JP4406428B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP2005031824 2005-02-08
JP2005031824 2005-02-08
JP2005069768 2005-03-11
JP2005069768 2005-03-11
JP2005166760 2005-06-07
JP2005166760 2005-06-07
PCT/JP2006/302092 WO2006085537A1 (ja) 2005-02-08 2006-02-07 信号分離装置、信号分離方法、信号分離プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2006085537A1 JPWO2006085537A1 (ja) 2008-06-26
JP4406428B2 true JP4406428B2 (ja) 2010-01-27

Family

ID=36793109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006520556A Active JP4406428B2 (ja) 2005-02-08 2006-02-07 信号分離装置、信号分離方法、信号分離プログラム及び記録媒体

Country Status (5)

Country Link
US (1) US7647209B2 (ja)
EP (1) EP1752969A4 (ja)
JP (1) JP4406428B2 (ja)
CN (1) CN1942932B (ja)
WO (1) WO2006085537A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014215385A (ja) * 2013-04-24 2014-11-17 日本電信電話株式会社 モデル推定装置、音源分離装置、モデル推定方法、音源分離方法及びプログラム
US11373672B2 (en) * 2016-06-14 2022-06-28 The Trustees Of Columbia University In The City Of New York Systems and methods for speech separation and neural decoding of attentional selection in multi-speaker environments

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521529B2 (en) * 2004-10-18 2013-08-27 Creative Technology Ltd Method for segmenting audio signals
JP2006337851A (ja) * 2005-06-03 2006-12-14 Sony Corp 音声信号分離装置及び方法
JP4676893B2 (ja) * 2006-01-27 2011-04-27 日本電信電話株式会社 信号到来方向推定装置、信号到来方向推定方法、信号到来方向推定プログラム及び記録媒体
US7769118B2 (en) * 2006-02-10 2010-08-03 Interdigital Technolgy Corporation Method and apparatus for equalizing received signals based on independent component analysis
US7893872B2 (en) * 2006-04-27 2011-02-22 Interdigital Technology Corporation Method and apparatus for performing blind signal separation in an OFDM MIMO system
JP4897519B2 (ja) * 2007-03-05 2012-03-14 株式会社神戸製鋼所 音源分離装置,音源分離プログラム及び音源分離方法
JP4787777B2 (ja) * 2007-03-13 2011-10-05 日本電信電話株式会社 信号分離装置、信号分離方法、信号分離プログラム、記録媒体
JP5034595B2 (ja) * 2007-03-27 2012-09-26 ソニー株式会社 音響再生装置および音響再生方法
US20090018826A1 (en) * 2007-07-13 2009-01-15 Berlin Andrew A Methods, Systems and Devices for Speech Transduction
US8144896B2 (en) * 2008-02-22 2012-03-27 Microsoft Corporation Speech separation with microphone arrays
JP5642339B2 (ja) * 2008-03-11 2014-12-17 トヨタ自動車株式会社 信号分離装置及び信号分離方法
CZ303191B6 (cs) * 2008-11-27 2012-05-23 Technická univerzita v Liberci Zpusob slepé separace akustických signálu z jejich konvolutorní smesi
KR101280253B1 (ko) * 2008-12-22 2013-07-05 한국전자통신연구원 음원 분리 방법 및 그 장치
JP5605575B2 (ja) * 2009-02-13 2014-10-15 日本電気株式会社 多チャンネル音響信号処理方法、そのシステム及びプログラム
WO2010092913A1 (ja) * 2009-02-13 2010-08-19 日本電気株式会社 多チャンネル音響信号処理方法、そのシステム及びプログラム
US8275148B2 (en) * 2009-07-28 2012-09-25 Fortemedia, Inc. Audio processing apparatus and method
AU2010305313B2 (en) * 2009-10-07 2015-05-28 The University Of Sydney Reconstruction of a recorded sound field
US8521477B2 (en) * 2009-12-18 2013-08-27 Electronics And Telecommunications Research Institute Method for separating blind signal and apparatus for performing the same
US8731923B2 (en) * 2010-08-20 2014-05-20 Adacel Systems, Inc. System and method for merging audio data streams for use in speech recognition applications
JP5974901B2 (ja) * 2011-02-01 2016-08-23 日本電気株式会社 有音区間分類装置、有音区間分類方法、及び有音区間分類プログラム
JP2012234150A (ja) * 2011-04-18 2012-11-29 Sony Corp 音信号処理装置、および音信号処理方法、並びにプログラム
CN102811034A (zh) 2011-05-31 2012-12-05 财团法人工业技术研究院 信号处理装置及信号处理方法
JP2012252240A (ja) * 2011-06-06 2012-12-20 Sony Corp 再生装置、信号処理装置、信号処理方法
CN102866296A (zh) 2011-07-08 2013-01-09 杜比实验室特许公司 估计非线性失真的方法和系统、调节参数的方法和系统
US8442591B1 (en) * 2011-09-29 2013-05-14 Rockwell Collins, Inc. Blind source separation of co-channel communication signals
CN102735937B (zh) * 2012-06-29 2014-06-25 中国科学院半导体研究所 信号相位差测量的方法
US9192319B2 (en) * 2012-07-13 2015-11-24 Electrical Geodesics, Inc. Method for separating signal sources by use of physically unique dictionary elements
TWI463477B (zh) * 2012-12-26 2014-12-01 Univ Nat Cheng Kung 用以組成光源組之點光源的料碼配量方法與其電腦程式產品
JP6274872B2 (ja) * 2014-01-21 2018-02-07 キヤノン株式会社 音処理装置、音処理方法
CN107507624B (zh) * 2016-06-14 2021-03-09 瑞昱半导体股份有限公司 声源分离方法与装置
US10770091B2 (en) * 2016-12-28 2020-09-08 Google Llc Blind source separation using similarity measure
JP6915579B2 (ja) * 2018-04-06 2021-08-04 日本電信電話株式会社 信号分析装置、信号分析方法および信号分析プログラム
CN110658514B (zh) * 2018-06-28 2021-10-22 中国科学院声学研究所 一种水下静态目标的分类识别方法
US10796692B2 (en) * 2018-07-17 2020-10-06 Marcos A. Cantu Assistive listening device and human-computer interface using short-time target cancellation for improved speech intelligibility
US11252517B2 (en) * 2018-07-17 2022-02-15 Marcos Antonio Cantu Assistive listening device and human-computer interface using short-time target cancellation for improved speech intelligibility
JP6992709B2 (ja) * 2018-08-31 2022-01-13 日本電信電話株式会社 マスク推定装置、マスク推定方法及びマスク推定プログラム
FR3085785B1 (fr) * 2018-09-07 2021-05-14 Gracenote Inc Procedes et appareil pour generer une empreinte numerique d'un signal audio par voie de normalisation
CN112151061B (zh) * 2019-06-28 2023-12-12 北京地平线机器人技术研发有限公司 信号排序方法和装置、计算机可读存储介质、电子设备
US12032628B2 (en) 2019-11-26 2024-07-09 Gracenote, Inc. Methods and apparatus to fingerprint an audio signal via exponential normalization
US11798577B2 (en) 2021-03-04 2023-10-24 Gracenote, Inc. Methods and apparatus to fingerprint an audio signal
CN113721219B (zh) * 2021-10-08 2023-07-04 中国电子科技集团公司第三十八研究所 一种基于多参数聚类的雷达信号分选方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0990306B1 (en) * 1997-06-18 2003-08-13 Clarity, L.L.C. Methods and apparatus for blind signal separation
JP3975153B2 (ja) 2002-10-28 2007-09-12 日本電信電話株式会社 ブラインド信号分離方法及び装置、ブラインド信号分離プログラム並びにそのプログラムを記録した記録媒体
JP4170072B2 (ja) 2002-11-18 2008-10-22 富士通株式会社 音声抽出装置
WO2004079388A1 (ja) 2003-03-04 2004-09-16 Nippon Telegraph And Telephone Corporation 位置情報推定装置、その方法、及びプログラム
EP2068308B1 (en) * 2003-09-02 2010-06-16 Nippon Telegraph and Telephone Corporation Signal separation method, signal separation device, and signal separation program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014215385A (ja) * 2013-04-24 2014-11-17 日本電信電話株式会社 モデル推定装置、音源分離装置、モデル推定方法、音源分離方法及びプログラム
US11373672B2 (en) * 2016-06-14 2022-06-28 The Trustees Of Columbia University In The City Of New York Systems and methods for speech separation and neural decoding of attentional selection in multi-speaker environments
US11961533B2 (en) 2016-06-14 2024-04-16 The Trustees Of Columbia University In The City Of New York Systems and methods for speech separation and neural decoding of attentional selection in multi-speaker environments

Also Published As

Publication number Publication date
WO2006085537A1 (ja) 2006-08-17
US20080215651A1 (en) 2008-09-04
EP1752969A1 (en) 2007-02-14
US7647209B2 (en) 2010-01-12
CN1942932B (zh) 2010-07-28
EP1752969A4 (en) 2007-07-11
JPWO2006085537A1 (ja) 2008-06-26
CN1942932A (zh) 2007-04-04
EP1752969A8 (en) 2007-07-04

Similar Documents

Publication Publication Date Title
JP4406428B2 (ja) 信号分離装置、信号分離方法、信号分離プログラム及び記録媒体
CN110148422B (zh) 基于传声器阵列确定声源信息的方法、装置及电子设备
EP3387648B1 (en) Localization algorithm for sound sources with known statistics
US10390130B2 (en) Sound processing apparatus and sound processing method
EP3635718B1 (fr) Traitement de donnees sonores pour une separation de sources sonores dans un signal multicanal
JP6538624B2 (ja) 信号処理装置、信号処理方法および信号処理プログラム
WO2022106765A1 (fr) Localisation perfectionnée d&#39;une source acoustique
JP2016143042A (ja) 雑音除去装置及び雑音除去プログラム
JP4769238B2 (ja) 信号分離装置、信号分離方法、プログラム及び記録媒体
JP6570673B2 (ja) 音声抽出装置、音声抽出方法および音声抽出プログラム
Keronen et al. Mask estimation and imputation methods for missing data speech recognition in a multisource reverberant environment
KR102048370B1 (ko) 우도 최대화를 이용한 빔포밍 방법
JP4676893B2 (ja) 信号到来方向推定装置、信号到来方向推定方法、信号到来方向推定プログラム及び記録媒体
JP4630203B2 (ja) 信号分離装置、信号分離方法、信号分離プログラム及び記録媒体、並びに、信号到来方向推定装置、信号到来方向推定方法、信号到来方向推定プログラム及び記録媒体
JP5387442B2 (ja) 信号処理装置
JP4738284B2 (ja) ブラインド信号抽出装置、その方法、そのプログラム、及びそのプログラムを記録した記録媒体
Dwivedi et al. Spherical harmonics domain-based approach for source localization in presence of directional interference
Traa Multichannel source separation and tracking with phase differences by random sample consensus
JP4676920B2 (ja) 信号分離装置、信号分離方法、信号分離プログラム及び記録媒体
WO2019235194A1 (ja) 音響信号分離装置、学習装置、それらの方法、およびプログラム
Adiloğlu et al. A general variational Bayesian framework for robust feature extraction in multisource recordings
Guzik et al. Convolutive ntf for ambisonic source separation under reverberant conditions
Nakatani Speaker-aware neural network based beamformer for speaker extraction in speech mixtures
JP5498452B2 (ja) 背景音抑圧装置、背景音抑圧方法、およびプログラム
JP4787777B2 (ja) 信号分離装置、信号分離方法、信号分離プログラム、記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091027

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4406428

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350