(57)【要約】【課題】  複数の信号源から発せられた信号が混合された混合信号から目的信号を小さな歪みで分離抽出する。【解決手段】  まず、窓関数の長さTの1/S（S>2）倍シフトで設定された各フレームにおいて当該窓関数を混合信号に掛け合わせ、それらの各演算結果を時間周波数領域の信号に変換する。次に、これらの時間周波数領域の信号から抽出した特徴量をクラスタリングしてクラスタを生成し、これを用いて時間周波数毎のマスクを生成する。その後、マスクと時間周波数領域の信号とを用い、時間周波数毎に時間周波数領域の分離信号を抽出し、この時間周波数領域の分離信号を時間領域の分離信号に変換し、各フレームに対応する時間領域の分離信号を加算合成する。【選択図】        図２
2006243664.tif 000002
【特許請求の範囲】
【請求項１】
複数の信号源から発せられた信号が混合された混合信号を当該信号に分離する信号分離装置であって、
窓関数の長さTの1/S（S>2）倍シフトで設定された各フレームにおいて当該窓関数を前記混合信号に掛け合わせ、それらの各演算結果を時間周波数領域の信号に変換する時間周波数領域変換手段と、
前記時間周波数領域の信号から抽出した特徴量をクラスタリングし、クラスタを生成するクラスタリング手段と、
前記クラスタの情報を用い、時間周波数毎のマスクを生成するマスク生成手段と、
前記マスクと前記時間周波数領域の信号とを用い、時間周波数毎に時間周波数領域の分離信号を抽出する時間周波数領域信号抽出手段と、
前記時間周波数領域の分離信号を時間領域の分離信号に変換する時間領域変換手段と、
各フレームに対応する前記時間領域の分離信号を加算合成する重畳加算手段と、
を有することを特徴とする信号分離装置。
【請求項２】
請求項１記載の信号分離装置であって、
前記窓関数が、
各フレームに対応する前記時間領域の分離信号が有する窓関数成分の加算合成値が時間軸上の所定の範囲において一定となる関数である、
ことを特徴とする信号分離装置。
【請求項３】
請求項１記載の信号分離装置であって、
Ｔ及びＳが２のべき乗である、
ことを特徴とする信号分離装置。
【請求項４】
請求項１記載の信号分離装置であって、
時間周波数領域変換手段が、
離散時刻r+m・T/S(ｒ，ｍは整数）における前記混合信号を抽出するＴ／Ｓシフト手段と、
離散時刻r+m・T/Sにおける前記混合信号を離散時刻ｒにおける窓関数の値に掛け合わせる乗算手段と、
前記乗算手段における演算結果に離散フーリエ変換を施す離散フーリエ変換手段と、
を有することを特徴とする信号分離装置。
【請求項５】
複数の信号源から発せられた信号が混合された混合信号を当該信号に分離する信号分離方法であって、
前記混合信号が入力された時間周波数領域変換手段が、窓関数の長さTの1/S（S>2）倍シフトで設定された各フレームにおいて当該窓関数を前記混合信号に掛け合わせ、それらの各演算結果を時間周波数領域の信号に変換する手順と、
クラスタリング手段が、前記時間周波数領域の信号から抽出した特徴量をクラスタリングし、クラスタを生成する手順と、
マスク生成手段が、前記クラスタの情報を用い、時間周波数毎のマスクを生成する手順と、
時間周波数領域信号抽出手段が、前記マスクと前記時間周波数領域の信号とを用い、時間周波数毎に時間周波数領域の分離信号を抽出する手順と、
時間領域変換手段が、前記時間周波数領域の分離信号を時間領域の分離信号に変換する手順と、
重畳加算手段が、各フレームに対応する前記時間領域の分離信号を加算合成する手順と、
を有することを特徴とする信号分離方法。
【請求項６】
請求項１から４の何れかに記載の信号分離装置としてコンピュータを機能させるための信号分離プログラム。
【請求項７】
請求項６記載の信号分離プログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理の技術分野に関し、特に目的信号に他のノイズなどが重畳されて観測される状況において目的信号を推定し分離抽出する技術に関する。
【背景技術】
【０００２】
複数のセンサを用いた信号抽出技術としては、ビームフォーマ（beamformer）（ビームフォーミング（beamforming）とも呼ぶ)が広く知られている（例えば、非特許文献１参照）。しかし、ビームフォーマでは、目的信号の方向や目的信号がアクティブでない時間区間などの情報を必要とし、これらの情報が正確に与えられない（または推定できない）場合、信号抽出の精度は低くなる。また、別の技術として、独立成分分析（Independent Component Analysis: ICA）によるブラインド信号分離（Blind Signal Separation: BSS）がある（例えば、非特許文献２参照）。BSSでは、上記ビームフォーマが必要とした情報を必要としない点が優れている。しかし、ビームフォーマ、BSSともに、センサ数Mが信号数N（目的信号数＋ノイズの数）と同じか多い場合（N≦M）にしか精度良く信号抽出を行うことはできない。
【０００３】
一方、センサ数Mが信号数Nよりも少ない場合（N＞M）の技術としては、時間周波数マスク（時間周波数毎のマスクを意味し、例えば、１か０の値をとるバイナリマスクが広く用いられる）による方法（例えば、非特許文献３参照）がある。この方法によると、N＞Mの場合についても信号抽出が可能である。
【非特許文献１】B. D. Van Veen and K. M. Buckley, "Beamforming: a versatile approach to special filtering, "IEEE ASSP Magazine, pp. 2-24, April 1988
【非特許文献２】A. Hyvaerinen and J. Karhunen and E. Oja, "Independent Component Analysis," John Wiley & Sons, 2001, ISBN 0-471-40540
【非特許文献３】O. Yilmaz and S. Rickard, "Blind separation of speech mixtures via time-frequency masking," IEEE Trans. on SP, vol. 52, no. 7, pp. 1830-1847, 2004.
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、時間周波数マスクによる処理は非線形処理であることから、時間周波数マスクによる方法によって抽出された信号には非線形歪みが生じるという難点がある。特に、音響信号の場合、この非線形歪みはmusical noiseと呼ばれ、可聴で不快なノイズとして知覚されてしまう。
つまり、この時間周波数マスクによる処理は時間周波数領域で行われるが、信号を時間周波数領域に変換する際に用いる短時間フーリエ変換（Short-Time Fourier Transform: STFT）では、用いる窓関数の長さTの半分の窓シフト（T／２シフト）を用いることが多い。そして、時間周波数マスクは、このT／２シフトで求められた観測信号の時間周波数信号に対して推定され適用される。すなわち、時間周波数マスクによる非線形処理が、窓関数の半分の長さ毎に行われ、その粒度で抽出信号が急に立ち上がったり立ち下がったりする。これが歪みの大きな要因である。なお、Ｔは短時間フーリエ変換に用いるサンプル数に等しい整数（この好ましくは偶数）である。また、窓関数の実際の時間長は、サンプリング周波数をfsとすると、T/fs秒である。
【０００５】
本発明はこのような点に鑑みてなたものであり、目的信号を小さな歪みで分離抽出することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明では上記課題を解決するために、まず、窓関数の長さTの1/S（S>2）倍シフトで設定された各フレーム（窓）において当該窓関数を混合信号に掛け合わせ、それらの各演算結果を時間周波数領域の信号に変換する。そして、時間周波数領域の信号から抽出した特徴量をクラスタリングし、クラスタを生成し、このクラスタの情報を用い、時間周波数毎のマスクを生成する。さらに、これらのマスクと時間周波数領域の信号とを用い、時間周波数毎に時間周波数領域の分離信号を抽出し、時間周波数領域の分離信号を時間領域の分離信号に変換して、各フレームに対応する時間領域の分離信号を加算合成（重畳加算）する。
【０００７】
ここで、本発明では、窓関数の長さTの1/S（S>2）倍シフトで各フレームを設定している。すなわち、従来、観測信号の時間周波数表現を得る際、T/２シフト長で各フレームを設定していたところを、それよりも細かい窓シフト（ファインシフト）で各フレームを設定している。このように細かい窓シフト（短い窓シフト長）を用いることで、時間軸上における各フレーム間の重複範囲と重複数とを増加させることができる。また、本発明では、各フレームにおいて窓関数を混合信号に掛け合わせた演算結果をそれぞれ時間周波数領域の信号に変換し、それらを用いて時間周波数領域の分離信号を抽出し、それを時間領域の分離信号に変換して加算合成する。ここで各フレームは時間軸上で密に重複しているため、時間領域に変換された分離信号も時間軸上で密に重複している。そして、最後にこれらを加算合成することにより、各フレームに対応する各分離信号が各離散時刻において平均化され、分離信号の平滑化効果を得ることができる。その結果、分離信号の急な立ち上がりや立ち下がりが減少し、非線形歪みが低減される。
【０００８】
また、本発明において好ましくは、窓関数が、各フレームに対応する時間領域の分離信号が有する当該窓関数成分の加算合成値が各離散時刻において一定となる関数である。これにより、加算合成された信号の強度の揺らぎを防止でき、質の高い分離信号を再現できる。
さらに、本発明において好ましくは、Ｔ及びＳを２のべき乗とする。これにより、時間周波数領域の信号への変換処理に高速フーリエ変換（Fast Fourier Trasform：FFT）を利用することが可能となり、処理を高速化できる。
【発明の効果】
【０００９】
以上のように、本発明では、Ｎ＞Ｍの場合でも目的信号を小さな歪みで分離抽出することが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面を参照して説明する。
＜原理＞
まず、本形態の原理を説明する。
ブラインド信号分離では、複数の信号源から発せられた原信号が混合し、複数のセンサで観測される状況下において、その観測信号のみから、原信号と推測される分離信号を取り出す。
［混合信号（観測信号）のモデル］
Ｎを信号源の数、Ｍをセンサの数とする。尚、本形態ではN＞Mであるものとする。また、ｓｉをｉ（ｉ＝１，…，Ｎ）番目の信号源ｉから発せられた信号、ｈｊｉを信号源ｉからｊ（ｊ＝１，…，Ｍ）番目のセンサｊまでのインパルス応答とする。この場合、センサｊで観測される信号ｘｊは、これら原信号ｓｉとインパルス応答ｈｊｉとの畳み込み混合
【数１】
2006243664.tif 000003
でモデル化される。ここで、式（１）におけるｎはサンプリング時刻を、ｐは掃引のための変数を、それぞれ示している。また、すべての信号はあるサンプリング周波数でサンプリングされ、離散的に表現されるものとする。
【００１１】
［時間周波数領域表現］
ブラインド信号分離では、このように畳み込み混合でモデル化される観測信号から原信号を分離抽出するが、この畳み込み混合の問題は扱いが繁雑である。そのため、式（１）に短時間フーリエ変換（STFT）を施して、観測信号を時間周波数領域に変換した上で問題を扱うことが有効である。
時間周波数領域では、式（１）は、
【数２】
2006243664.tif 000004
と各周波数での単純混合に近似表現できる。ここで、ｆは周波数であり、f=0,fs/T,...,fs (T-1)/Tのような離散値である。また、fsはサンプリング周波数を表す。また、Ｔは短時間フーリエ変換に用いるサンプル数（整数、好ましくは偶数）である。さらに、ｍはSTFTに用いる窓関数の離散時刻（各フレームに対応する整数）を表す。また、Hji(f)は信号源ｉからセンサｊまでの周波数応答であり、Si(f,m)は原信号siに短時間離散フーリエ変換を施したものである。式（２）を行列とベクトルとを用いて表記すると、
X(f,m)= H(f)・S(f,m)  …(3)
となる。ここで、H(f)は、ｊｉ要素に信号源ｉからセンサｊまでの周波数応答Hji(f)を持つ（N×M）行列（今後これを混合行列と呼ぶ）、S(f,m)= [S1(f,m),…,SN(f,m)]T及びX(f,m)=[X1(f,m),…,XM(f,m)]Tは、それぞれ、原信号si及び観測信号xjのSTFT結果を要素に持つベクトルである。尚、[*]Tは[*]の転置ベクトルを示す。
【００１２】
［本形態のポイント］
前述した通り、非線形歪みは分離信号の急な立ち上がり立ち下がりに起因する。これを減らすために本形態では、（ａ）観測信号を時間周波数領域の信号に変換する際の窓シフト長を短くし、（ｂ）時間周波数領域の信号を時間領域の信号に戻す際に重畳加算法を用い、（ｃ）この重畳加算に適した窓関数を用いる。
このように窓シフト長を短くすることで、時間軸上における各フレーム間の重複範囲と重複数とを増加させることができる。そして、時間周波数領域の信号を時間領域の信号に戻す際に重畳加算法を用いることにより、各フレームに対応する各分離信号を各離散時刻において平均化でき、分離信号の平滑化効果を得ることができる。その結果、分離信号の急な立ち上がりや立ち下がりが減少し、非線形歪みが低減される。そして、この重畳加算に適した窓関数を用いることにより、高い品質の分離信号を得ることができる。
【００１３】
＜本形態の具体例＞
次に、本形態の具体例について説明する。
［ハードウェア構成］
図１は、本形態における信号分離装置１のハードウェア構成を例示したブロック図である。
図１に例示するように、この例の信号分離装置１は、ＣＰＵ（Central Processing Unit）１０、入力部２０、出力部３０、補助記憶装置４０、ＲＡＭ（Random Access Memory）５０、ＲＯＭ（Read Only Memory）６０及びバス７０を有している。
【００１４】
この例のＣＰＵ１０は、制御部１１、演算部１２及びレジスタ１３を有し、レジスタ１３に読み込まれた各種プログラムに従って様々な演算処理を実行する。また、この例の入力部２０は、データが入力される入力ポート、キーボード、マウス等であり、出力部３０は、データを出力する出力ポート、ディスプレイ等である。補助記憶装置４０は、例えば、ハードディスク、ＭＯ（Magneto-Optical disc）、半導体メモリ等であり、本形態の信号分離処理を実行するための信号分離プログラムを格納した信号分離プログラム領域４１及びセンサで観測された時間領域の混合信号等の各種データが格納されるデータ領域４２を有している。また、ＲＡＭ５０は、例えば、ＳＲＡＭ (Static Random Access Memory)、ＤＲＡＭ (Dynamic Random Access Memory)等であり、信号分離プログラムが書き込まれる信号分離プログラム領域５１及び各種データが書き込まれるデータ領域５２を有している。また、この例のバス７０は、ＣＰＵ１０、入力部２０、出力部３０、補助記憶装置４０、ＲＡＭ５０及びＲＯＭ６０を通信可能に接続している。
【００１５】
＜ハードウェアとソフトウェアとの協働＞
この例のＣＰＵ１０は、読み込まれたＯＳ（Operating System）プログラムに従い、補助記憶装置４０の信号分離プログラム領域４１に格納されている信号分離プログラムを、ＲＡＭ５０の信号分離プログラム領域５１に書き込む。同様にＣＰＵ１０は、補助記憶装置４０のデータ領域４２に格納されている時間領域の混合信号等の各種データをＲＡＭ５０のデータ領域５２に書き込む。さらに、ＣＰＵ１０は、この信号分離プログラムや各種データが書き込まれたＲＡＭ５０上のアドレスをレジスタ１３に格納する。そして、ＣＰＵ１０の制御部１１は、レジスタ１３に格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すＲＡＭ５０上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部１２に順次実行させ、その演算結果をレジスタ１３に格納していく。
【００１６】
図２は、このようにＣＰＵ１０に信号分離プログラムが読み込まれることにより構成される信号分離装置１のブロック図の例示である。また、図３（ａ）は、図２における時間周波数領域変換部１３０の詳細を例示したブロック図であり、図３（ｂ）は、図２における時間領域変換部１６０及び重畳加算部１７０の構成を示したブロック図である。尚、これらの図において、実線の矢印は実際のデータの流れを示し、破線の矢印は理論上の情報の流れを示す。また、説明の簡略化のため、制御部１８０に出入りするデータの流れの記載は省略してある。
【００１７】
図２に例示するように、本形態の信号分離装置１は、メモリ１１０と、窓関数の長さTの1/S（S>2）倍シフトで設定された各フレームにおいて当該窓関数を混合信号に掛け合わせ、それらの各演算結果を時間周波数領域の信号に変換する時間周波数領域変換部１３０と、時間周波数毎のマスクを生成する時間周波数マスク推定部１４０と、マスクと時間周波数領域の信号とを用い、時間周波数毎に時間周波数領域の分離信号を抽出する時間周波数領域信号抽出部１５０と、時間周波数領域の分離信号を時間領域の分離信号に変換する時間領域変換部１６０と、各フレームに対応する時間領域の分離信号を加算合成する重畳加算部１７０と、信号分離装置１全体を制御する制御部１８０とを有している。
【００１８】
ここで、時間周波数マスク推定部１４０は、時間周波数領域の信号から抽出した特徴量をクラスタリングし、クラスタを生成するクラスタリング部１４１と、クラスタの情報を用い、時間周波数毎のマスクを生成するマスク生成部１４２とを有している。また、メモリ１１０は記憶領域１１１〜１２１を有し、制御部１８０は一時メモリ１８１を有している。尚、この例のメモリ１１０及び一時メモリ１８１は、補助記憶装置４０のデータ領域４２、ＲＡＭ５０のデータ領域５１及びレジスタ１３の何れか或いはこれらの組合せである。
【００１９】
また、図３（ａ）に例示するように、時間周波数領域変換部１３０は、窓関数生成部１３１、シフト量Ｓを調整するシフト調整部１３２と、カウンタ１３３〜１３６と、離散時刻r+m・T/S(ｒは整数）における混合信号を抽出するＴ／Ｓシフト部１３７と、離散時刻r+m・T/Sにおける混合信号を離散時刻ｒにおける窓関数の値に掛け合わせる乗算部１３８と、乗算部１３８における演算結果に離散フーリエ変換を施す離散フーリエ変換部１３９とを有している。
また、図３（ｂ）に例示するように、時間領域変換部１６０は、離散フーリエ逆変換によって時間周波数領域の信号を時間領域の信号に変換する機能を有し、重畳加算部１７０は、入力された複数の時間領域の信号を重畳加算して出力する機能を有する。
【００２０】
＜処理＞
次に、本形態における信号分離装置１の処理について説明する。尚、以下の各処理は、制御部１８０の制御のもと行われ、特に明示しない限り、演算途中の各データは一時メモリ１８１に読み書きされながらそれぞれの演算処理に用いられる。
［処理の全体］
図４は、本形態における信号分離装置１の処理の全体を説明するためのフローチャートである。以下、このフローチャートに沿って、本形態における信号分離装置１の処理の全体を説明する。
信号分離装置１に対する入力は、Ｍ個のセンサｊによって観測された時間領域の混合信号xj(n)(j={1,...,M})を要素とする観測信号ベクトルx(n)=[x1(n),...,xM(n)]Tである。この例の場合、これらの時間領域の混合信号xj(n)は、対応するセンサｊ及びサンプリング時刻ｎに関連付けてメモリ１１０の記憶領域１１１に格納される。また、使用する窓関数の長さＴをメモリ１１０の記憶領域１１２に格納しておく。
【００２１】
信号分離が開始されると、まず、時間周波数領域変換部１３０に観測信号ベクトルx(n)=[x1(n),...,xM(n)]Tが入力され、時間周波数領域変換部１３０は、短時間フーリエ変換（STFT）により、それを時間周波数領域の観測信号ベクトルX(f,m)=[Ｘ1(f,m),...,ＸM(f,m)]Tに変換する。この例の場合、時間周波数領域変換部１３０は、まず、メモリ１１０の記憶領域１１１から混合信号xjを読み出す。時間領域の混合信号xjが入力された時間周波数領域変換部１３０は、窓関数w(n)の長さTの1/S（S>2）倍シフトで設定された各フレームにおいて当該窓関数w(n)を混合信号xj(n)に掛け合わせ、それらの各演算結果を時間周波数領域の信号Ｘj(f,m)に変換し、それらをメモリ１１０の記憶領域１１５に格納する（ステップＳ１）。尚、ｍは各フレームに対応する整数である。また時間周波数領域変換部１３０の処理の詳細については後述する。
【００２２】
次に、時間周波数マスク推定部１４０に観測信号ベクトルX(f,m)=[Ｘ1(f,m),...,ＸM(f,m)]Tが入力され、時間周波数マスク推定部１４０は、この観測信号ベクトルX(f,m)=[Ｘ1(f,m),...,ＸM(f,m)]Tを用い、信号を分離抽出するマスクM(f,m)= [M1(f,m),...,MK(f,m)]Tを時間周波数毎に推定する。ここで、Mk(f,m)（k={1,...,M}）は、ｋ番目の分離信号を抽出するためのマスク、Kは分離抽出する信号の数（≦Ｎ）である。この例の場合、まず、クラスタリング部１４１が、メモリ１１０の記憶領域１１５から時間周波数領域の信号Ｘj(f,m)（j∈{1,...,M}）を読み出し、それから特徴量θ(f,m)を抽出し、これらをメモリ１１０の記憶領域１１６に格納する（ステップＳ２）。次に、クラスタリング部１４１において、メモリ１１０の記憶領域１１５から特徴量θ(f,m)を読み出し、これらの特徴量θ(f,m)をクラスタリングしてクラスタを生成し、各クラスタを特定するための情報θk〜（k={1,...,K}）をメモリ１１０の記憶領域１１７に格納する（ステップＳ３）。次に、マスク生成部１４２において、ｋ番目の分離信号を抽出するマスクMk(f,m)を時間周波数毎に生成し、これらをメモリ１１０の記憶領域１１８に格納する（ステップＳ４）。尚、時間周波数マスク推定部１４０の処理の詳細については後述する。
【００２３】
次に、時間周波数領域信号抽出部１５０において、時間周波数領域の分離信号
Y(f,m)=M(f,m)ＸJ(f,m)
が算出される。ここで、Y(f,m)は、時間周波数領域の分離信号Yk(f,m)を要素とする分離信号ベクトルY(f,m)=[Y1(f,m),...,YK(f,m)]Tを意味する。また、ＸJ(f,m)は、時間周波数領域の信号Ｘj(f,m)の１つでありＪ∈{1,...,M}である。また、M(f,m)は［M1(f,m),...,MK(f,m)］Tである。この例の場合、まず、時間周波数領域信号抽出部１５０において、メモリ１１０の記憶領域１１８からマスクMk(f,m)を、記憶領域１１５から時間周波数領域の信号の１つＸJ(f,m)を読み出す。そして、時間周波数領域信号抽出部１５０は、これらを用いて時間周波数毎に
Yk(f,m)=Mk(f,m)ＸJ(f,m)
の演算を行い、時間周波数領域の分離信号Yk(f,m)を抽出し、抽出した時間周波数領域の分離信号Yk(f,m)をメモリ１１０の記憶領域１１９に格納する（ステップＳ５）。
【００２４】
尚、ここでは、Yk(f,m)=Mk(f,m)ＸJ(f,m)の演算によって時間周波数領域の分離信号Yk(f,m)を抽出する例を説明したが、他の信号分離抽出手法とマスクMk(f,m)とを組み合わせた手法を用いて時間周波数領域の分離信号Yk(f,m)を抽出することとしてもよい。例えば、時間周波数毎のマスクと独立成分分析（ICA）とを組み合わせた手法（例えば「S. Araki, S. Makino, A. Blin, R. Mukai and H. Sawada, "Blind separation of more speech than sensors with less distortion by combining sparseness and ICA," Proc. IWAENC2003, pp. 271-274, 2003.」参照）や、時間周波数毎のマスクとビームフォーマとを組み合わせた手法（例えば「N. Roman and D. Wang, "Binaural sound segregation for multisource reverberant environments," Proc. ICASSP2004, pp. 373-386, 2004.」参照）などを用いて時間周波数領域の分離信号Yk(f,m)を抽出することとしてもよい。
【００２５】
次に、時間領域変換部１６０において、メモリ１１０の記憶領域１１９から時間周波数領域の分離信号Yk(f,m),Yk(f,m+1),Yk(f,m+2),...,Yk(f,m+S−1)を読み出し、短時間フーリエ逆変換（STIFT）によってこれらを時間領域の分離信号
【数３】
2006243664.tif 000005
に変換し、各時間領域の分離信号ykm(n)をメモリ１１０の記憶領域１２０に格納する（図３（ｂ），ステップＳ６）。尚、vは虚数単位であり、g=n−m・R、R=T/Sである。また、時間領域変換部１６０の処理の詳細については後述する。
最後に、重畳加算部１７０において、メモリ１１０の記憶領域１２０から各サンプリング時刻ｎに対応する時間領域の分離信号ykm(n),ykm+1(n),ykm+2(n),...,ykm+S-1(n)を読み出して加算合成し（図３（ｂ））、時間領域の分離信号yk(n)を算出し、記憶領域１２１に格納する（ステップＳ７）。尚、重畳加算部１７０の処理の詳細については後述する。
【００２６】
［時間周波数領域変換部１３０の処理の詳細］
時間周波数領域変換部１３０は、観測された時間領域の混合信号xj(n)から長さＴの窓関数w(n)にて信号を切り出し、それに対して離散フーリエ変換を行うことで時間周波数領域の信号Ｘj(f,m)を算出する。そして、この窓関数を従来（T/2シフト）よりも細かいT/S（S>2）シフトでずらしながら、順次、時間周波数領域の信号Ｘj(f,m)を算出していく。以下、この時間周波数領域変換部１３０による処理の詳細を説明する。
【００２７】
最初に時間周波数領域変換部１３０が行う前処理について説明する。
まず、時間周波数領域変換部１３０は、窓関数生成部１３１においてメモリ１１０の記憶領域１１２から長さＴを読み出し、長さＴの窓関数w(n)を生成してメモリ１１０の記憶領域１１３に格納する。尚、本形態に適した窓関数w(n)については後述する。また、窓関数生成部１３１を設けず、使用する窓関数w(n)を予めメモリ１１０の記憶領域１１３に格納しておいてもよい。
【００２８】
次に、シフト調整部１３２において、シフト率1/S（S>2）を決定し、このパラメータＳをメモリ１１０の記憶領域１１２に格納する。ここで、シフト調整部１３２は、分離信号に求められる品質（非線型歪みをどこまで許すか）と、システムに許される計算時間（Ｓが大きいほど計算時間大）とを比較考慮し、適切なパラメータＳを決めて出力する。具体的には、例えば、分離信号に求められる品質とシステムに許される計算時間とをキーとしてパラメータＳが特定される表（lookup table）をメモリ１１０に格納しておき、シフト調整部１３２がこの表を参照しつつ、別途与えられた分離信号に求められる品質とシステムに許される計算時間とに適したパラメータＳを決定する。また、シフト調整部１３２を設けず、人間が適切なパラメータＳを選択し、これをメモリ１１０の記憶領域１１２に格納しておくこととしてもよい。尚、上述した長さＴ及びパラメータＳは、２のべき乗であることが望ましい。これにより、後述する離散フーリエ変換部１３９における処理に高速フーリエ変換を利用することが可能となり、処理を高速化できるからである。
【００２９】
次に、本形態の時間周波数領域変換部１３０による時間領域から時間周波数領域への変換処理について説明する。
時間周波数領域変換部１３０は、
【数４】
2006243664.tif 000006
の演算によって、時間領域の混合信号xjを時間周波数領域の信号Ｘj(f,m)に変換する。尚、Ｒは窓シフト長を示しR=T/Sを満たす。またｖは虚数単位（v2=−１）を示す。以下、この処理をフローチャートを用いて説明する。
【００３０】
図５は、この時間周波数領域変換部１３０による時間領域から時間周波数領域への変換処理を説明するためのフローチャートである。
まず、時間周波数領域変換部１３０のカウンタ１３３においてｊを１に初期化し（ステップＳ１１）、カウンタ１３４においてｍを０に初期化し（ステップＳ１２）、カウンタ１３６においてｆを０に初期化し（ステップＳ１３）、カウンタ１３５においてｒを０に初期化し、制御部１８０において0を代入したＸを一時メモリ１８１に格納する（ステップＳ１４）。
【００３１】
次に、Ｔ／Ｓシフト部１３７において、メモリ１１０の記憶領域１１２からＳ及びＴを読み出し、カウンタ１３４からｍを受け取り、カウンタ１３５からｒを受け取り、
r+m・R（R=T/S）
の演算を行い、その演算結果を一時メモリ１８１に格納する（ステップＳ１５）。次に、Ｔ／Ｓシフト部１３７において、一時メモリ１８１からr+m・Rを読み出し、メモリ１１０の記憶領域１１１から時間領域の混合信号xj(r+m・R)を抽出し、乗算部１３８に送る（ステップＳ１６）。乗算部１３８は、さらにメモリ１１０の記憶領域１１３から窓関数w(n)を読み出し、カウンタ１３５からｒを受け取り、
w(r)・xj(r+m・R)
を演算し、これをメモリ１１０の記憶領域１１４に格納する（ステップＳ１７）。
【００３２】
次に、離散フーリエ変換部１３９において、メモリ１１０の記憶領域１１４からw(r)・xj(r+m・R)を読み出し、カウンタ１３５からｒを受け取り、カウンタ１３６からｆを受け取り、一時メモリ１８１からＸを読み出し、
X+ w(r)・xj(r+m・R)・e-v2πft
の演算を行い、その演算結果を新たなＸとして一時メモリ１８１に格納する（ステップＳ１８）。
【００３３】
次に、制御部１８０において、カウンタ１３５のｒがT-1であるか否かを判断する（ステップＳ１９）。ここで、r=T-1でなければ、カウンタ１３５においてr+1を新たなｒとし（rをカウントアップし）、ステップＳ１５の処理に戻る（ステップＳ２０）。一方、r=T-1であれば、離散フーリエ変換部１３９において、一時メモリ１８１に格納されている最新のXを時間周波数領域の信号Xj(f,m)として、メモリ１１０の記憶領域１１５に格納する（ステップＳ２１）。
【００３４】
次に、制御部１８０において、メモリ１１０の記憶領域１１２からＴを読み出し、カウンタ１３６のｆが(T−1)fs/Tであるか否かを判断する（ステップＳ２２）。ここで、f=(T−1)fs/Tでなければ、カウンタ１３６において、f+fs/Tを新たなfとし（カウントアップし）、ステップＳ１４に戻る（ステップＳ２３）。一方、f=(T−1)fs/Tならば、制御部１８０において、カウンタ１３４のｍがｍmax（ｍの最大値）であるか否かを判断する（ステップＳ２４）。尚、この例の場合ｍmaxの値は予め定めておくものとする。ここで、ｍ=ｍmaxでなければ、カウンタ１３４においてｍ+1を新たなｍとし（ｍをカウントアップし）、ステップＳ１３の処理に戻る（ステップＳ２５）。一方、ｍ=ｍmaxであれば、制御部１８０において、カウンタ１３３のｊがMであるか否かを判断する（ステップＳ２６）。ここで、ｊ=Mでなければ、カウンタ１３３においてj+1を新たなjとし（カウントアップし）、ステップＳ１２に戻る。一方、ｊ=Mであれば、ステップＳ１の処理を終了する。
【００３５】
［時間周波数マスク推定部１４０の処理の詳細］
次に、時間周波数マスク推定部１４０の処理の詳細について説明する。
本形態の手法では、信号のスパース性を仮定する。ここでスパースとは、信号が殆どのサンプリング時刻ｎにおいて０であることを指す。信号のスパース性は、例えば音声信号で確認される。信号のスパース性を仮定することで、複数の信号が存在していても、各時間周波数ポイント(f,m)では互いに重なって観測される確率が低いことを仮定できる。よって、各時間周波数ポイント(f,m)の各センサにおける観測信号は、その時間周波数ポイント(f,m)でアクティブな信号Si(f,m)から各センサまでの周波数応答Hi(f)=[H1i(f),...,HMi(f)]Tを反映して観測される。従って、観測信号ベクトルは、その反映する周波数応答Hi(f)によってクラスタリングすることができる。そして、それぞれのクラスに属するメンバの時間周波数に対応する観測信号X(f,m)のみを抽出する時間周波数毎のマスクM(f,m)を用いることで各信号を分離抽出できる。以下に、この時間周波数毎のマスクを生成する手法を例示する。
【００３６】
まず、時間周波数マスク推定部１４０のクラスタリング部１４１において、メモリ１１０の記憶領域１１５から時間周波数領域の信号Xj(f,m)を読み出し、これらを用いてクラスタリングに用いる特徴量を抽出する。この例の場合、クラスタリング部１４１において、メモリ１１０の記憶領域１１５から時間周波数領域の信号Xj(f,m)を順次読み出し、２つのセンサ（各センサｊと基準となるセンサＪ'）における観測信号Xj(f,m)，XJ'(f,m)間の位相差
【数５】
2006243664.tif 000007
を算出し、それから信号の推定到来方向（Direction of Arrival : DOA）
【数６】
2006243664.tif 000008
を算出し、これを特徴量としてメモリ１１０の記憶領域１１６に格納する（ステップＳ２）。尚、Ｊ'はセンサｊの何れか１つ（Ｊ'∈{1,...,M}）である。また、dはセンサｊとセンサＪ'との距離、ｃは信号速度を示す。
【００３７】
次にクラスタリング部１４１において、メモリ１１０の記憶領域１１６から信号の推定到来方向θ(f,m)（「特徴量」に相当）を読み出し、これらを例えばk-means法（例えば、”R. O. Duda, P. E. Hart, and D. G. Stork,(尾上守夫監訳）, パターン認識,  John Wiley & Sons, 新技術コミュニケーションズ，ISBN 0-471-05669-3, 2003.”参照）等を用いてクラスタリングし、クラスタを生成する。そして、クラスタリング部１４１は、生成した各クラスタの平均値θk〜（k={1,...,K}）（「各クラスタを特定するための情報」に相当）を求め、これらをメモリ１１０の記憶領域１１７に格納する（ステップＳ３）。次に、マスク生成部１４２において、メモリ１１０の記憶領域１１７から各クラスタの平均値θk〜を読み出し、
【数７】
2006243664.tif 000009
という時間周波数毎のマスクを生成し、これらをメモリ１１０の記憶領域１１８に格納する（ステップＳ４）。このマスクMk(f,m)は、θk〜−Δ≦θ(f,m)≦θk〜＋Δの範囲に属する信号の推定到来方向θ(f,m)に対して１の値をとり、それ以外の範囲に属する信号の推定到来方向θ(f,m)に対して０の値をとるバイナリマスクである。ここで、ΔはマスクMk(f,m)を用いて抽出できる分離信号の範囲を与える。すなわち、Δを十分小さくすると良い分離抽出性能が得られるが非線型歪みが大きくなる。また、Δを大きくすると、非線型歪みは減少するが分離性能が劣化する。
【００３８】
尚、ここでは、信号の推定到来方向を特徴量としてクラスタリングを行ったが、例えば、２つのセンサ（各センサｊと基準となるセンサＪ'）における観測信号Xj(f,m)，XJ'(f,m)間の位相差（式（４））自身や、両者のゲイン比
【数８】
2006243664.tif 000010
を特徴量としてクラスタリングを行うこととしてもよい。また、観測信号ベクトルX(f,m)をクラスタリングすることもできる。
【００３９】
［時間領域変換部１６０の処理の詳細］
次に、時間領域変換部１６０の処理の詳細について説明する。
時間領域変換部１６０は、離散フーリエ逆変換により時間周波数領域の分離信号Yk(f,m)を時間領域の分離信号ykm(n)に変換する。この例の場合、時間領域変換部１６０において、メモリ１１０の記憶領域１１２からＳ，Ｔを読み出し、記憶領域１１９からｋ毎にＳフレーム分の分離信号Yk(f,m),Yk(f,m+1),Yk(f,m+2),...,Yk(f,m+S−1)を読み出す。そして、時間領域変換部１６０は、ｋ毎に各フレームmに対して以下のような時間領域の分離信号ykm(n)を算出して、メモリ１１０の記憶領域１２０に格納する（ステップＳ６）。尚、以下においてvは虚数単位であり、g=n−m・R、R=T/Sである。
【数９】
2006243664.tif 000011
【００４０】
図６は、時間周波数領域の分離信号Yk(f,m)から時間領域の分離信号ykm(n)が生成され、さらにそれらが加算合成される様子を例示した概念図である。
この図に示すように、この時間領域変換部１６０の処理により、各フレーム{m, m+1,m+2,...,m+S−1}の時間周波数領域の分離信号Yk(f,m),Yk(f,m+1),Yk(f,m+2),...,Yk(f,m+S−1)は、それぞれn=m・Rから長さTだけ値を持ち、あとは０であるような時間領域の分離信号ykm(n)に変換される。
【００４１】
尚、式（６）の右辺（m・R≦ｎ≦m・R＋Ｔ−１）は、
【数１０】
2006243664.tif 000012
の関係を満たす。すなわち、ここで算出された時間領域の分離信号ykm(n)は、本来の時間領域の分離信号yk(n)に窓関数成分w(n−m・R)を乗じたものとなっている。これは、時間周波数領域変換部１３０の乗算部１３８において混合信号に窓関数w(n)を乗じていたことに起因するものである。
【００４２】
［重畳加算部１７０の処理の詳細］
次に、重畳加算部１７０の処理の詳細について説明する。
この例の場合、重畳加算部１７０において、メモリ１１０の記憶領域１２０から各フレーム{m, m+1,m+2,...,m+S−1}の時間領域の分離信号ykm(n),ykm+1(n),ykm+2(n),...,ykm+S-1(n)を読み出し、これらを以下の式に従って加算合成し、その合成結果を時間領域の分離信号yk(n)としてメモリ１１０の記憶領域１２１に格納する（ステップ７）。尚、この例のＣは窓関数w(n)とシフト率1／Ｓによって決められた定数である（後述）。
【数１１】
2006243664.tif 000013
この処理により、図６に示すような加算合成された分離信号yk(n)が生成される。尚、ここでは分離信号yk(n)の順序は規定されない。すなわちyk(n)が原信号sk(n)の推定値とは限らない。
【００４３】
［本形態に適した窓関数w(n)］
次に、本形態に適した窓関数w(n)について説明する。
上述した通り、時間周波数領域変換部１３０の乗算部１３８において混合信号に窓関数w(n)を乗じている関係上、時間領域変換部１６０で算出される時間領域の分離信号ykm(n)は、本来の時間領域の分離信号yk(n)に窓関数成分w(n−m・R)（式（７））を乗じたものとなっている。よって、式（８）に従って時間領域の分離信号ykm(n)を加算合成した際における窓関数成分w(n−m・R)の加算合成分が歪みの原因とならないよう適切な窓関数w(n)を選択しなければならない。具体的には、各フレームｍに対応する時間領域の分離信号ykm(n)が有する窓関数成分w(n−m・R)の加算合成値が時間軸上の所定の範囲において一定となる窓関数w(n)を用いることが望ましい。すなわち、窓関数w(n)は、
【数１２】
2006243664.tif 000014
を満たすものであることが望ましい。
【００４４】
このような条件を満たす窓関数としては以下のものを例示できる。
ハニング窓（Hanning window）
w(n)=0.5−0.5・cos(2πn/T） (n=0,...,T−1）
ハミング窓（Hamming window）
w(n)=0.54−0.46・cos(2πn/T） (n=0,...,T−1）
バートレット（三角）窓（Bartlett window）
【数１３】
2006243664.tif 000015
【００４５】
図７（ａ）〜（ｃ）は、これらのハニング窓（Hanning window）、ハミング窓（Hamming window）及びバートレット（三角）窓（Bartlett window）をそれぞれ式（９）に従って加算合成した様子を示した図である。この図に示すように各窓関数の窓関数波形２０１，２１１，２２１を式（９）に従って加算合成した加算合成波形２０２，２１２，２２２は、n=500〜1300程度の範囲において１となっている。
【００４６】
尚、上述したハニング窓やバートレット窓を用いる場合、式（８）における定数Ｃは、0.5Sであることが望ましく、ハミング窓を用いる場合には、0.54Sであることが望ましい。また、一般化してハニング窓やバートレット窓をｂ倍した窓関数を用いる場合には、定数Ｃは、0.5S・bであることが望ましく、ハミング窓を用いる場合には、0.54S・bであることが望ましい。さらに、式（８）で算出される分離信号yk(n)の出力レベルが問題にならないのであれば、定数Ｃをこれ以外の値（例えば、窓関数w(n)やシフト率1／Ｓに依存しない値）としてもよい。
【００４７】
＜本形態の特徴＞
［聴感上の特徴］
以上説明した通り、時間周波数毎のマスクMk(f,m)による非線形処理によって時間周波数領域の分離信号Yk(f,m)が抽出され、時間領域変換部１６０において長さＴの時間領域の信号ykm(n)に変換され、式（８）によって加算合成して分離信号yk(n)を算出する。ここでは、滑らかに分離信号yk(n)が抽出されるかを定性的に確かめるため重畳加算されたマスクの形状を示す。これは、式（５）において各周波数ｆ，各離散時刻ｍで決めた時間周波数毎のマスクMk(f,m)を式（８）と同様に重畳加算したものであり、次のように表されるものである。
【数１４】
2006243664.tif 000016
【００４８】
図８は、縦軸をMf(n)とし横軸をサンプリング時刻ｎとしたグラフである。ここで、図８（ａ）は、S=2（粗いシフト）の場合におけるMf(n)のグラフであり、図８（ｂ）は、S=8（細かいシフト）の場合におけるMf(n)のグラフである。また、T=512（サンプリング周波数=8000Hzでの実験のため、64msに相当）であり、S=2の場合のシフト量R=T/Sは256（サンプリング周波数=8000Hzでの実験のため、32msに相当）であり、S=8の場合のシフト量R=T/Sは64（サンプリング周波数=8000Hzでの実験のため、8msに相当）である。また、図８のMf(n)は、図９の実験条件において信号源Ｓ１から発せられた信号を抽出するマスクMk(f,m)に式（１０）を適用したものである。
【００４９】
図８から、S=2のときにMf(n)には32ms(>22ms)のギャップがあることが分かる（図８（ａ）の位置（Ａ）や位置（Ｃ））。ここで、時間方向の音響信号の平滑さについて、「ヒトは、22ms以上のギャップ（連続信号の中の急な立ち上がり／立ち下がりを伴う無音区間)を認知できる」とされている（例えば、"B. C. J. Moore, An introduction to the psychology of hearing, 3rd Ed., Academic Press, 1989."参照）。よって、このギャップがmusical noiseの一因となっていることは十分考えられる。
一方、S=8のときは、ギャップは見られるものの（図８（ｂ）の位置（Ｂ））その長さは8msであり、ヒトには認知されない。さらに、図８（ｂ）の位置（Ｄ）付近では、Mf(n)の値は徐々に変化している。そのため、位置（Ｄ）付近のギャップはmusical noiseの原因となりにくい。すなわち、シフト長を短くすることによりmusical noiseの発生を低減させることができると考えられる。
【００５０】
また、Mf(n)の振幅の変化を見た場合、S=2（粗いシフト）の場合は一段が0.5と大きいのに比べ、S=8（細かいシフト）の場合は一段が0.125と小さい。これは、Mk(f,m)∈｛1，0｝であるので一段の大きさが必ず1/Sとなることに起因する。すなわち、細かいシフトを用いた場合、Mf(n)の振幅が急激に変化することはない。よって本形態で用いる細かいシフトと加算合成とは、musical noiseの一因である分離信号の振幅の急激な変化を起こさないことが分かる。
以上のようにS=2の場合に比べて有利な効果を有するのはS=4の場合についても同様である。
【００５１】
［実験結果（分離性能による客観評価およびＭＯＳによる主観評価］
図１０は、本形態においてシフト量Ｓを変化させた場合の分離信号yk(n)の性能比較を示した表である。ここでSIR（信号対干渉信号比）は分離性能を、SDR（信号対歪み比）は信号の歪みの程度を、MOS（Mean Opinion Score）は聴感上の品質を表す。特にMOSは、実際に20名の被験者が抽出された出力信号(音)を聞いて点数をつけたものの平均値である。どの評価値についでも、値が大きい方が性能が良いことを示す。また、図１０（ａ）は残響のない環境における結果を示しており、図１０（ｂ）は残響時間RT60=130msのときの結果を示している。
【００５２】
原信号としては、3人の話者（男性2名・女性1名）による音声信号を用いた（図９）。図１０（ａ）では、残響のない環境における２つの無指向性マイクでの観測信号を模擬した。図１０（ｂ）では、130msの残響のある部屋で観測したインパルス応答を原信号に畳み込み、式（１）に従って観測信号を作成した。また、ＤＯＡでクラスタリングを行い、窓関数としてはハニング窓w(n)=0.5−0.5・cos(2πn/T） (n=0,...,T−1）を用い、式（８）におけるCは0.5Sとした。
図１０の結果より、シフト長を短くする（=Sを大きくする）ことで、分離性能（SIR）を落とすことなく、SDR及び'MOSの値を向上させることが可能であることが分かる。ここで、MOSだけでなくSDRの値も上がっている。よって本形態の手法では、音響信号musical noiseの除去のみでなく、一般の信号の非線型歪みの除去にも有効であると期待される。尚、MOS値については、分散分析により有意性が認められた。
【００５３】
さらに、シフトを細かくすることでSIRも向上している。これは、細かい窓シフト長（ファインシフト）を用いることで各周波数でのサンプル点が多くなり、クラスタリングの精度が上がるためと考えられる。これもファインシフトの効果の1つである。
図１１は、その他の信号分離抽出手法を用いたときの窓シフト量による性能を比較した結果である。ここで図１１（ａ）は、前述したマスクMk(f,m)と独立成分分析（ICA）とを組み合わせた手法を用いたときの性能比較を示しており、図１１（ｂ）は、前述したマスクMk(f,m)とビームフォーマとを組み合わせた手法を用いたときの性能比較を示している。尚、共に前述の残響のある環境下での結果を示している。ここでもシフトを細かくする（Ｓを大きくする）ことで、分離性能（SIR）を落とすことなく、SDRの値を向上できていることが分かる。尚、本形態により聴感上良い音が得られることを＜URL＞http://www.kecl.ntt.co.jp/icl/signal/araki/fineshift.htmlのホームページ上に示す。
【００５４】
尚、本発明は上述の実施の形態に限定されるものではない。例えば、図４や図５等に示した各種の処理は、記載に従った時系列で実行されるのみならず、必要に応じてその処理順序を入れ替えて実行してもよい。また、これらの各処理は、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行してもよい。
【００５５】
また、本形態では、マスクとして式（５）に示したようなハイレベル値（上述の例では「１」）からローレベル値（上述の例では「０」）への推移が不連続なバイナリマスクを使用することとした。しかし、その代わりにハイレベル値からローレベル値への推移が連続的な滑らかな形状のマスクを使用することとしてもよい（例えば、「S. Araki, S. Makino, H. Sawada and R. Mukai, "Underdetermined Blind Speech Separation with Directivity Pattern based Continuous Mask and ICA, "EUSIPCO2004, pp.1991-1994, Sept. 2004.」参照）。ここで「滑らかな形状のマスク」は、物理的に限定されたある方向からセンサに届いたと推定される信号を、空間的に１／０で切ることをせず、滑らかに取り出そうとするマスクであり、いわば空間的に滑らかなマスクであるといえる。これに対し、上述した本形態は、時間方向の信号の急激な変化を抑える効果があり、いわば時間的に滑らかなマスクを生成していたといえる。よって、本形態の構成に空間的に滑らかなマスクを組み合わせることにより、より一層分離信号の歪を低減させることができるといえる。
【００５６】
また、本形態の信号分離手法として、このような滑らかな形状のマスクと他の信号分離抽出手法、例えば、独立成分分析（ICA）とを組み合わせた手法（例えば、「S. Araki, S. Makino, H. Sawada and R. Mukai, "Underdetermined Blind Speech Separation with Directivity Pattern based Continuous Mask and ICA, "EUSIPCO2004, pp.1991-1994, Sept. 2004.」参照）を用いることとしてもよい。
また、本形態ではN＞Mであることとしたが、Ｎ≦Ｍの場合に本発明を適用することとしてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００５７】
また、上述の処理内容を記述した信号分離プログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００５８】
また、この信号分離プログラムの流通は、例えば、その信号分離プログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、この信号分離プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータに転送することにより流通させる構成としてもよい。
【００５９】
また、上述した信号分離プログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接信号分離プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータから信号分離プログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへの信号分離プログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。尚、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００６０】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００６１】
本発明により、様々なノイズ・妨害信号・干渉信号が存在する環境下においても、目的信号を精度よく分離抽出することが可能となる。例えば、本発明をオーディオ分野へ応用した場合、音声認識機の入力マイクロホンと話者とが離れた位置にありマイクロホンが目的話者音声以外の音まで収音してしまう状況でも、目的音声を分離抽出することで認識率の高い音声認識系を構築できる。
【図面の簡単な説明】
【００６２】
【図１】信号分離装置のハードウェア構成を例示したブロック図。
【図２】ＣＰＵに信号分離プログラムが読み込まれることにより構成される信号分離装置のブロック図。
【図３】（ａ）は、図２における時間周波数領域変換部の詳細を例示したブロック図。（ｂ）は、図２における時間領域変換部及び重畳加算部の構成を示したブロック図。
【図４】信号分離装置の処理の全体を説明するためのフローチャート。
【図５】時間周波数領域変換部による時間領域から時間周波数領域への変換処理を説明するためのフローチャート。
【図６】時間周波数領域の分離信号Yk(f,m)から時間領域の分離信号ykm(n)が生成され、さらにそれらが加算合成される様子を例示した概念図。
【図７】（ａ）はハニング窓（Hanning window）を式（９）に従って加算合成した様子を示した図。（ｂ）はハミング窓（Hamming window）を式（９）に従って加算合成した様子を示した図。（ｃ）はバートレット（三角）窓（Bartlett window）を式（９）に従って加算合成した様子を示した図。
【図８】縦軸をMf(n)とし横軸をサンプリング時刻ｎとしたグラフ。ここで、図８（ａ）は、S=2（粗いシフト）の場合におけるMf(n)のグラフ。（ｂ）は、S=8（細かいシフト）の場合におけるMf(n)のグラフ。
【図９】実験条件を示した図。
【図１０】シフト量Ｓを変化させた場合の分離信号yk(n)の性能比較を示した表。
【図１１】（ａ）は、マスクMk(f,m)と独立成分分析（ICA）とを組み合わせた手法を用いたときの性能比較を示した表。（ｂ）は、前述したマスクMk(f,m)とビームフォーマとを組み合わせた手法を用いたときの性能比較を示した表。
【符号の説明】
【００６３】
１  信号分離装置
１３０  時間周波数領域変換部
１４０  時間周波数マスク推定部
１５０  時間周波数領域信号抽出部
１６０  時間領域変換部
１７０  重畳加算部
【図１】
2006243664.tif 000017
【図２】
2006243664.tif 000018
【図３】
2006243664.tif 000019
【図４】
2006243664.tif 000020
【図５】
2006243664.tif 000021
【図６】
2006243664.tif 000022
【図７】
2006243664.tif 000023
【図８】
2006243664.tif 000024
【図９】
2006243664.tif 000025
【図１０】
2006243664.tif 000026
【図１１】
2006243664.tif 000027