(57)【要約】【課題】混合信号に対する音源分離を高精度かつ計算量を削減して行うことを可能とする装置、方法を提供する。【解決手段】複数音源の混合信号に基づいて生成した観測信号から選択された第１周波数ビンに対して１段目の分離処理を実行する。例えば独立成分分析（ＩＣＡ）を適用した学習により第１分離結果を生成する。さらに第１分離結果に基づいてチャンネル対応の時間方向のパワー変化に相当するエンベロープを求め。エンベロープを固定値としたスコア関数を適用して第２周波数ビンに対して２段目の分離処理を実行して第２分離結果を取得する。最後に第１，第２分離結果を統合して最終分離結果を生成する。この処理により学習処理の計算量が大幅に削減される。【選択図】図５
2011215317.tif 000002
【特許請求の範囲】
【請求項１】
複数音源からの出力が混合された信号を複数のセンサで取得し、前記取得信号を短時間フーリエ変換（ＳＴＦＴ）することによって時間周波数領域の観測信号を生成する信号変換部と、
前記観測信号の分離処理により、各音源に対応した音源分離結果を生成する音源分離部を有し、
前記音源分離部は、
前記観測信号から選択された第１周波数ビン集合に対して、独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を適用した学習処理により、第１周波数ビン集合に含まれる混合信号を分離する分離行列を算出し、算出した分離行列を適用して前記第１周波数ビン集合に対する第１分離結果を取得する１段目分離部と、
前記１段目分離部において生成した第１分離結果から得られるエンベロープであり、前記センサ各々に対応するチャンネル対応の時間方向のパワー変化に相当するエンベロープを固定値として設定したスコア関数を用い、前記観測信号から選択された第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理を実行して前記第２周波数ビン集合に対する第２分離結果を取得する２段目分離部と、
前記１段目分離部の算出した第１分離結果と、前記２段目分離部の算出した第２分離結果とを統合して最終的な分離結果を生成する合成部と、
を有する信号処理装置。
【請求項２】
前記２段目分離部は、
前記エンベロープを分母として設定したスコア関数を用い、前記観測信号から選択された第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理を実行して前記第２周波数ビン集合に対する第２分離結果を取得する請求項１に記載の信号処理装置。
【請求項３】
前記２段目分離部は、
第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理において、各チャンネルｋに対応する分離結果Ｙｋのエンベロープが、前記第１分離結果から得られる同一のチャンネルｋの分離結果のエンベロープｒｋと類似するように分離する分離行列を算出する請求項１または２に記載の信号処理装置。
【請求項４】
前記２段目分離部は、
前記第１分離結果から得られるエンベロープの逆数を重みとして設定した観測信号の共分散行列である観測信号の重みつき共分散行列を算出し、該観測信号の重みつき共分散行列を、前記第２分離結果を取得する学習処理におけるスコア関数として利用する請求項１または２に記載の信号処理装置。
【請求項５】
前記２段目分離部は、
前記１段目分離部において分離処理の対象とした第１周波数ビン集合以外の観測信号を第２周波数ビン集合として設定して分離処理を実行する請求項１〜４いずれかに記載の信号処理装置。
【請求項６】
前記２段目分離部は、
前記１段目分離部において分離処理の対象とした第１周波数ビン集合と重複する周波数ビンを含む観測信号を第２周波数ビン集合として設定して分離処理を実行する請求項１〜４いずれかに記載の信号処理装置。
【請求項７】
前記２段目分離部は、
自然勾配法アルゴリズムを適用した学習処理により前記第２分離結果を取得する請求項１〜６いずれかにに記載の信号処理装置。
【請求項８】
前記２段目分離部は、
等分散適応的分離（ＥＡＳＩ：Ｅｑｕｉｖａｒｉａｎｔ  Ａｄａｐｔｉｖｅ  Ｓｅｐａｒａｔｉｏｎ  ｖｉａ  Ｉｎｄｅｐｅｎｄｅｎｃｅ）アルゴリズム、または、正規直交制約付き勾配法、または、不動点法、または、観測信号の重みつき共分散行列の同時対角化を適用した学習処理により前記第２分離結果を取得する請求項１〜６いずれかにに記載の信号処理装置。
【請求項９】
前記信号処理装置は、
前記第１周波数ビン集合と前記第２周波数ビン集合の設定を行う周波数ビン分類部を有し、
前記周波数ビン分類部は、
（ａ）後段処理において利用する周波数領域を前記第１周波数ビン集合に含める設定、
（ｂ）既知の妨害音に対応する周波数領域を前記第１周波数ビン集合に含める設定、
（ｃ）パワーの大きな成分が含まれている周波数領域を前記第１周波数ビン集合に含める設定、
上記（ａ）〜（ｃ）のいずれかまたは複数を組み合わせた設定に従って前記第１周波数ビン集合と前記第２周波数ビン集合の設定を行う請求項１〜８いずれかに記載の信号処理装置。
【請求項１０】
複数音源からの出力が混合された信号を複数のセンサで取得し、前記取得信号を短時間フーリエ変換（ＳＴＦＴ）することによって時間周波数領域の観測信号を生成する信号変換部と、
前記観測信号の分離処理により、各音源に対応した音源分離結果を生成する音源分離部を有し、
前記複数のセンサの各々は指向性マイクであり、
前記音源分離部は、
前記観測信号から前記指向性マイク各々に対応するチャンネル対応の時間方向のパワー変化に相当するエンベロープを算出し、該エンベロープを固定値として設定したスコア関数を用い、前記混合信号を分離する分離行列を算出する学習処理を実行して分離結果を取得する信号処理装置。
【請求項１１】
信号処理装置において実行する信号処理方法であり、
信号変換部が、複数のセンサが取得した複数音源の出力の混合信号に対する短時間フーリエ変換（ＳＴＦＴ）によって時間周波数領域の観測信号を生成する信号変換ステップと、
音源分離部が、前記観測信号の分離処理により、音源対応の音源分離結果を生成する音源分離ステップを有し、
前記音源分離ステップは、
前記観測信号から選択された第１周波数ビン集合に対して、独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を適用した学習処理により、第１周波数ビン集合に含まれる混合信号を分離する分離行列を算出し、算出した分離行列を適用して前記第１周波数ビン集合に対する第１分離結果を取得する１段目分離ステップと、
前記１段目分離ステップにおいて生成した第１分離結果から得られるエンベロープであり、前記センサ各々に対応するチャンネル対応の時間方向のパワー変化に相当するエンベロープを固定値として設定したスコア関数を用い、前記観測信号から選択された第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理を実行して前記第２周波数ビン集合に対する第２分離結果を取得する２段目分離ステップと、
前記１段目分離ステップにおいて算出した第１分離結果と、前記２段目分離ステップにおいて算出した第２分離結果とを統合して最終的な分離結果を生成する合成ステップとを有する信号処理方法。
【請求項１２】
信号処理装置において信号処理を実行させるプログラムであり、
信号変換部に、複数のセンサが取得した複数音源の出力の混合信号に対する短時間フーリエ変換（ＳＴＦＴ）によって時間周波数領域の観測信号を生成させる信号変換ステップと、
音源分離部に、前記観測信号の分離処理により、音源対応の音源分離結果を生成させる音源分離ステップを有し、
前記音源分離ステップは、
前記観測信号から選択された第１周波数ビン集合に対して、独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を適用した学習処理により、第１周波数ビン集合に含まれる混合信号を分離する分離行列を算出し、算出した分離行列を適用して前記第１周波数ビン集合に対する第１分離結果を取得させる１段目分離ステップと、
前記１段目分離ステップにおいて生成した第１分離結果から得られるエンベロープであり、前記センサ各々に対応するチャンネル対応の時間方向のパワー変化に相当するエンベロープを固定値として設定したスコア関数を用い、前記観測信号から選択された第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理を実行して前記第２周波数ビン集合に対する第２分離結果を取得させる２段目分離ステップと、
前記１段目分離ステップにおいて算出した第１分離結果と、前記２段目分離ステップにおいて算出した第２分離結果とを統合して最終的な分離結果を生成させる合成ステップとを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理装置、および信号処理方法、並びにプログラムに関する。さらに、詳細には複数の信号が混合された信号を独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を用いて分離する信号処理装置、および信号処理方法、並びにプログラムに関する。
【０００２】
本発明は、特に、独立成分分析（ＩＣＡ）を用いた音源分離において、周波数ビンの間引きおよび補間によって計算量の削減を可能とした信号処理装置、および信号処理方法、並びにプログラムに関する。
【背景技術】
【０００３】
まず、本発明の背景技術として、独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）について説明し、さらに、周波数ビンの間引きおよび補間による計算量の削減処理について説明し、最後に従来技術の問題点について説明する。すなわち、以下の項目順に説明する。
ａ．ＩＣＡの説明
ｂ．周波数ビンの間引きおよび補間による計算量の削減処理について
ｃ．従来技術の問題点について
【０００４】
［ａ．ＩＣＡの説明］
ＩＣＡとは、多変量分析の一種であり、信号の統計的な性質を利用して多次元信号を分離する手法のことである。ＩＣＡ自体の詳細については、例えば非特許文献１［『入門・独立成分分析』（村田昇著、東京電機大学出版局）］などを参照されたい。
【０００５】
以下では、音信号のＩＣＡ、特に時間周波数領域のＩＣＡについて説明する。
図１に示すように、Ｎ個の音源から異なる音が鳴っていて、それらをｎ個のマイクで観測するという状況を考える。音源が発した音（原信号）がマイクに届くまでには、時間遅れや反射などがある。従って、マイクロホンｋで観測される信号（観測信号）は式［１．１］のように、原信号と伝達関数（transfer function）との畳み込み演算（convolution）を全音源について総和した式して表わすことができる。この混合を以下では「畳み込み混合」（convolutive mixtures）と呼ぶ。
なお、マイクｎの観測信号をｘｎ（ｔ）とする。マイク１、マイク２の観測信号はそれぞれｘ１（ｔ），ｘ２（ｔ）となる。
全てのマイクについての観測信号を一つの式で表わすと、以下に示す式［１．２］のように表わせる。
【０００６】
【数１】
2011215317.tif 000003
【０００７】
ただし、ｘ（ｔ），ｓ（ｔ）はそれぞれｘｋ（ｔ），ｓｋ（ｔ）を要素とする列ベクトルであり、Ａ［ｌ］はａ［ｌ］ｋｊを要素とするｎ×Ｎの行列である。以降では、ｎ≧Ｎとする。
【０００８】
時間領域の畳み込み混合は、時間周波数領域では瞬時混合で表わされることが知られており、その特徴を利用したのが時間周波数領域のＩＣＡである。
【０００９】
時間周波数領域ＩＣＡ自体については、非特許文献２［『詳解  独立成分分析』の「１９．２．４．フーリエ変換法」］や、特許文献１（特開２００６−２３８４０９号公報  『音声信号分離装置・雑音除去装置および方法』）などを参照されたい。
【００１０】
以下では、主に本発明と関係ある点を説明する。
上記の式［１．２］の両辺を短時間フーリエ変換すると、以下に示す式［２．１］が得られる。
【００１１】
【数２】
2011215317.tif 000004
【００１２】
上記式［２．１］において、
ωは周波数ビンの番号、
ｔはフレームの番号、
である。
【００１３】
ωを固定すると、この式は瞬時混合（時間遅れのない混合）と見なせる。そこで、観測信号を分離するには、分離結果［Ｙ］の算出式［２．５］を用意した上で、分離結果：Ｙ（ω，ｔ）の各成分が最も独立になるように分離行列Ｗ（ω）を決める。
【００１４】
従来の時間周波数領域ＩＣＡでは、パーミュテーション問題と呼ばれる、「どの成分がどのチャンネルに分離されるか」が周波数ビンごとに異なるという問題が発生していたが、本願と同一発明者による前の特許出願である特許文献１（特開２００６−２３８４０９号公報）『音声信号分離装置・雑音除去装置および方法』］に示した構成によって、このパーミュテーション問題は、ほぼ解決することができた。本発明でもこの方法を用いるため、特許文献１（特開２００６−２３８４０９号公報）に開示したパーミュテーション問題の解決手法ついて簡単に説明する。
【００１５】
特許文献１（特開２００６−２３８４０９号公報）では、分離行列Ｗ（ω）を求めるために、以下に示す式［３．１］から式［３．３］までを分離行列Ｗ（ω）が収束するまで（または一定回数）繰り返し実行する。
【００１６】
【数３】
2011215317.tif 000005
2011215317.tif 000006
【００１７】
この繰り返し実行を以降では「学習」と呼ぶ。ただし、式［３．１］〜式［３．３］は、全ての周波数ビンに対して行ない、さらに式［３．１］は、蓄積された観測信号の全てのフレームに対しても行なう。また、式［３．２］において、＜・＞ｔは全フレームについての平均を表わす。Ｙ（ω，ｔ）の右上についている上付きのＨはエルミート転置（ベクトルや行列の転置を取ると共に、要素を共役複素数に変換する）である。
【００１８】
分離結果Ｙ（ｔ）は式［３．４］で表わされる、分離結果の全チャンネル・全周波数ビンの要素を並べたベクトルである。φω（Ｙ（ｔ））は、式［３．５］で表わされるベクトルである。各要素φω（Ｙｋ（ｔ））はスコア関数と呼ばれ、Ｙｋ（ｔ）の多次元（多変量）確率密度関数（ＰＤＦ）の対数微分である（式［３．６］）。多次元ＰＤＦとして、例えば式［３．７］で表わされる関数を用いることができ、その場合、スコア関数φω（Ｙｋ（ｔ））は式［３．９］のように表わせる。
ただし、‖Ｙｋ（ｔ）‖２はベクトルＹｋ（ｔ）のＬ２ノルム（全要素の２乗和を求め、さらに平方根をとったもの）である。Ｌ２ノルムを一般化したＬｍノルムは式［３．８］で定義され、Ｌ２ノルムは、式［３．８］でｍ＝２とすることで求められる。
【００１９】
式［３．７］および式［３．９］のγは、スコア関数の重みであり、例えばＭ１／２（周波数ビン数の平方根）といった適切な正の定数を代入しておく。式［３．３］のηは学習率や学習係数と呼ばれる正の小さな値（例えば０．１程度）である。これは、式［３．２］で計算されたΔＷ（ω）を分離行列Ｗ（ω）に少しずつ反映させるために用いられる。
【００２０】
なお、式［３．１］は一つの周波数ビンにおける分離（図２（ａ）参照）を表わしているが、全周波数ビンの分離を一つの式で表わす（図２（ｂ）参照）ことも可能である。
【００２１】
そのためには、上述した式［３．４］で表わされる全周波数ビンの分離結果Ｙ（ｔ）および、式［３．１３］で表わされる観測信号Ｘ（ｔ）、さらに式［３．１２］で表わされる全周波数ビン分の分離行列を用いればよく、それらのベクトルと行列を用いることで、分離は式［３．１４］のように表わすことができる。本発明は、必要に応じて式［３．１］と式［３．１４］とを使い分ける。
【００２２】
なお、図２に示したＸ１〜ＸｎおよびＹ１〜Ｙｎの図はスペクトログラムと呼ばれ、短時間フーリエ変換（ＳＴＦＴ）の結果を周波数ビン方向とフレーム方向とに並べたものである。縦方向が周波数ビン、横方向がフレームである。式［３．４］や式［３．１３］では低い周波数を上に書いてあるが、スペクトログラムでは低い周波数を下に描いてある。
【００２３】
さらに、Ｘｋ（ω，＊）のような、フレーム番号ｔをアスタリスク"＊"に置き換えた表記は、全フレーム分のデータを表わす。例えば図２（１）に示すＸ１（ω，＊）は、図２（２）に示す観測信号のスペクトログラムＸｋの中でω番目の周波数ビンに対応した横一列分のデータ２１を表わす。
【００２４】
［ｂ．周波数ビンの間引きおよび補間による計算量の削減処理の説明］
上述のＩＣＡによる音源分離は、他の方法による音源分離と比べ、計算量が大きいという課題がある。具体的には、以下のような点である。
（１）分離行列は、閉形式（ｃｌｏｓｅｄ  ｆｏｒｍ（"Ｗ＝"の形の式））では解けず、反復学習が必要である。
（２）学習ループの回数に比例した計算量を要する。
【００２５】
なお、学習１ループあたりの計算量も大きい。
具体的には、学習１ループあたりの計算量は、学習に用いる観測信号の周波数ビン数とフレーム数に比例し、チャンネル数の２乗に比例する。
【００２６】
ただし、閉形式（ｃｌｏｓｅｄ  ｆｏｒｍ（"Ｗ＝"の形の式））の解法が存在しないというのは、高次特徴量を利用したＩＣＡの場合である。別種のＩＣＡとして、二次統計量を利用するものもあり、それには閉形式（ｃｌｏｓｅｄ−ｆｏｒｍ）の解法が存在する。しかし、二次統計量利用のＩＣＡは、高次特徴量利用のＩＣＡよりも分離精度が低いという課題がある。
【００２７】
すなわち、ＩＣＡの学習に要する計算量（Ｏ）は、
チャンネル数＝ｎ、
周波数ビン数＝Ｍ、
フレーム数＝Ｔ、
学習処理の反復回数＝Ｌ、
とすると、
計算量Ｏ（ｎ２ ＭＴＬ）である。
なお、Ｏはｏｒｄｅｒの頭文字であり、計算量がカッコ内の値に比例することを表わす表記である。
【００２８】
以下、ＩＣＡの学習の計算量について簡単に説明する。
先に説明したように、ＩＣＡによる信号分離処理では、分離行列Ｗ（ω）を求めるために、前述の式［３．１］から式［３．３］までを分離行列Ｗ（ω）が収束するまで（または一定回数）繰り返し実行する。
この学習処理（（式［３．１］〜［３．３］の繰り返し）において計算量が特に大きい箇所は、行列やベクトルの積を全フレームに渡って演算している項であり、具体的には式［３．１］の右辺と、式［３．２］の＜・＞ｔの項の計算量である。
これらの項はいずれも、フレーム数に比例した計算量を要するが、式［３．２］の＜・＞ｔの項の内部に非線形関数φω（Ｙ（ｔ））が含まれている関係で、学習ループ内で毎回計算する必要がある。つまり、学習前に式［３．２］の＜・＞ｔの項を予め計算しておくといったことができない。
【００２９】
計算量の問題に対処するため、ＩＣＡの学習は限定された周波数ビンに対して行ない、残りの周波数ビンに対してはＩＣＡ以外の方法で分離行列または分離結果を推定するという方法が提案されている。以降では、周波数ビンを限定することを「（周波数ビンの）間引き」、残りの周波数ビンについて分離行列や分離結果を推定することを「（周波数ビンの）補間」と呼ぶことにする。
すなわち、「（周波数ビンの）間引き」を行って、限定された周波数ビンに対してＩＣＡの学習を実行し、
その学習結果を用いて、学習処理の対象からはずされた残りの周波数ビンについて、上記の学習結果を適用して分離行列や分離結果を推定する「（周波数ビンの）補間」を行うことで、全体の計算量の削減が可能となる。
【００３０】
ＩＣＡの計算量は周波数ビンの本数に比例するため、周波数ビンを間引く分だけ計算量を削減できる。そして、残りの周波数ビンに対する補間処理の計算量が、ＩＣＡを適用する場合よりも小さければ、全体として計算量が削減される。
この戦略において重要なのは補間の方法であるため、以下では補間に注目して、従来技術における処理と問題点について説明する。
【００３１】
ＩＣＡを適用した信号分離処理において、間引き処理や補間処理による計算量の削減を開示した従来技術としては、例えば、以下のものがある。
特許文献２［特開２００８−１３４２９８号公報「信号処理装置、信号処理方法およびプログラム」］
非特許文献３［『死角制御型ビームフォーマによる周波数帯域補間を用いた高速ブラインド音源分離』大迫  慶一・森  康充・猿渡  洋・鹿野  清宏］  電子情報通信学会技術研究報告．ＥＡ，応用音響  Ｔｅｃｈｎｉｃａｌ  ｒｅｐｏｒｔ  ｏｆ  ＩＥＩＣＥ．ＥＡ  １０７（１２０）ｐｐ．２５−３０  ２００７０６２２］
日特許文献４［『死角制御型ビームフォーマによる周波数帯域補間を用いたブラインド音源分離の高速化手法』大迫慶一，森康充，猿渡洋，鹿野清宏  日本音響学会講演論文集，２−１−２，ｐｐ．５４９−５５０，Ｍａｒｃｈ  ２００７．］
【００３２】
上記の従来技術において開示している補間処理は、いずれも音源方向に基づく補間処理を行なっている。すなわち、以下の手順である。
ステップ１：
制限された周波数ビンに対してＩＣＡの学習を適用し、分離行列を求める。
ステップ２：
周波数ビンごとに分離行列から音源方向を求め、さらに周波数ビン間で平均するなどして代表の音源方向を求める。
ステップ３：
残りの周波数ビンに対して、音源方向から分離行列に相当するフィルター（分離フィルター）を求める。
【００３３】
ステップ３の処理は、その周波数ビンにＩＣＡの学習を適用するよりも計算量が少ないため、全体として計算量が削減される。
【００３４】
［ｃ．従来技術の問題点について］
次に、従来技術の問題点について説明する。上述特許文献や非特許文献に記載のＩＣＡを適用した信号分離処理における補間処理は、いずれも音源方向に基づく補間処理である。しかしながら、音源方向に基づく方式には、いくつか問題がある。以下、これらの問題点について説明する。
【００３５】
（第１の問題点）
第１に、音源方向を求めるためにはマイクの設置位置または設置間隔などの情報が必要である。そのため、それらの情報が不明な環境で収録された音に対しては補間が行なえない。言い換えると、ＩＣＡ自体には「マイクの配置に関する情報が不明でも分離が可能」という利点があるにも関わらず、補間において音源方向を用いると、そのような特徴が無くなってしまう。
【００３６】
（第２の問題点）
第２に、上記のステップ２で求めた代表の音源方向は、補間される周波数ビンにおいては最適とは限らないという点である。その点について、図１を再び用いて説明する。
【００３７】
音源からマイクに届く音は、図１に示すように直接波の他に反射波も存在する。なお、反射波は一通りとは限らないが、ここでは簡単のため一通りに限定して説明する。直接波と反射波のマイクに対する到達時間の差がＳＴＦＴの１フレームよりも短ければ両者は混合するため、時間周波数領域において、例えば、図１に示す音源１由来の信号は、直接波と反射波との間の方向から到来する信号として観測される。これを図１に点線で示す仮想的な音源方向と呼ぶことにする。
【００３８】
音源方向から分離フィルタを生成する場合、必要なのは直接波の方向ではなく、仮想的な音源方向である。しかし、直接波と反射波との大きさの比や、反射の度合い（何回反射してからマイクに届くか）などは周波数ごとに異なるため、仮想的な音源方向は周波数ごとに異なる値となる。そのため、ある周波数ビンで求めた音源方向は、他の周波数ビンでは必ずしも分離に最適な音源方向とはならない。
一方、ＩＣＡを適用した場合は、仮想的な音源方向を反映した分離行列を自動的に得ることができる。
【００３９】
（第３の問題点）
第３に、音源方向から分離フィルタを生成する方法よっては、マイクの感度のばらつきがあった場合に、補間における分離精度が落ちるという点がある。例えば、『死角制御型ビームフォーマによる周波数帯域補間を用いた高速ブラインド音源分離』においては、補間の方法として死角制御型ビームフォーマ（ｎｕｌｌ  ｂｅａｍｆｏｒｍｅｒ：ＮＢＦ）が使用されているが、ＮＢＦはマイクの感度が均一でない場合に十分な死角が形成されず、結果として分離の精度が落ちてしまう。
一方、ＩＣＡを適用した場合は、マイク間の感度のばらつきを反映した分離行列
を自動的に得ることができる。
【００４０】
上述した第２と第３の問題点が意味することは、次の通りである。ＩＣＡを適用した場合と比べ、音源方向に基づく補完は、計算量は削減されるが分離の精度も落ちる可能性がある。すなわち、計算量と分離精度との間にトレードオフが存在する。
【００４１】
第２と第３の問題点に対処するため、『死角制御型ビームフォーマによる周波数帯域補間を用いたブラインド音源分離の高速化手法』においては、ＮＢＦで求めた分離フィルタを分離にそのまま使用する代わりに、これを分離行列の初期値として残りの周波数ビンにおいてもＩＣＡを行なうことが提案されている。また、残りの全ての周波数ビンに対して一度にＩＣＡを適用するのではなく、一定回数の反復の度に、ＩＣＡを適用する周波数ビンを増やしていくという手法が用いられている。
【００４２】
適切な初期値があると、少ない回数でＩＣＡの学習を収束させることができるため、この方法の計算量は、初めから全周波数ビンにＩＣＡを適用する場合と比べて小さくすることができる。さらに、ＮＢＦの後でＩＣＡを適用するため、第２と第３の問題点は解消する。
【００４３】
この方法は、計算量と分離精度との関係を細かく変化させることができる。しかし、依然としてトレードオフは残る。
【００４４】
このように、従来技術において、以下の２点を同時に満たす補間方法は、今まで存在しなかった。
（１）ＩＣＡよりも少ない計算量を実現、
（２）ＩＣＡと同程度の分離精度を実現、
【先行技術文献】
【特許文献】
【００４５】
【特許文献１】特開２００６−２３８４０９号公報
【特許文献２】特開２００８−１３４２８９号公報
【非特許文献】
【００４６】
【非特許文献１】『入門・独立成分分析』（村田昇著、東京電機大学出版局）
【非特許文献２】『詳解  独立成分分析』の「１９．２．４．フーリエ変換法」
【非特許文献３】『死角制御型ビームフォーマによる周波数帯域補間を用いた高速ブラインド音源分離』大迫  慶一・森  康充・猿渡  洋・鹿野  清宏］  電子情報通信学会技術研究報告．ＥＡ，応用音響  Ｔｅｃｈｎｉｃａｌ  ｒｅｐｏｒｔ  ｏｆ  ＩＥＩＣＥ．ＥＡ  １０７（１２０）ｐｐ．２５−３０  ２００７０６２２
【非特許文献４】『死角制御型ビームフォーマによる周波数帯域補間を用いたブラインド音源分離の高速化手法』大迫慶一，森康充，猿渡洋，鹿野清宏  日本音響学会講演論文集，２−１−２，ｐｐ．５４９−５５０，Ｍａｒｃｈ  ２００７
【発明の概要】
【発明が解決しようとする課題】
【００４７】
本発明は、このような状況に鑑みてなされたものであり、独立成分分析（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ；ＩＣＡ）を用いて各音源信号単位の高精度な分離処理を実行する構成において、計算量を削減した分離処理を実現する信号処理装置、および信号処理方法、並びにプログラムを提供することを目的とする。
【００４８】
さらに、本発明の一実施例の構成では、「（周波数ビンの）間引き」を行って、限定された周波数ビンに対してＩＣＡの学習を実行し、その学習結果を用いて、学習処理の対象からはずされた残りの周波数ビンについて、上記の学習結果を適用して分離行列や分離結果を推定する「（周波数ビンの）補間」を行うことで、全体の計算量の削減を実現する信号処理装置、および信号処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００４９】
本発明の第１の側面は、
複数音源からの出力が混合された信号を複数のセンサで取得し、前記取得信号を短時間フーリエ変換（ＳＴＦＴ）することによって時間周波数領域の観測信号を生成する信号変換部と、
前記観測信号の分離処理により、各音源に対応した音源分離結果を生成する音源分離部を有し、
前記音源分離部は、
前記観測信号から選択された第１周波数ビン集合に対して、独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を適用した学習処理により、第１周波数ビン集合に含まれる混合信号を分離する分離行列を算出し、算出した分離行列を適用して前記第１周波数ビン集合に対する第１分離結果を取得する１段目分離部と、
前記１段目分離部において生成した第１分離結果から得られるエンベロープであり、前記センサ各々に対応するチャンネル対応の時間方向のパワー変化に相当するエンベロープを固定値として設定したスコア関数を用い、前記観測信号から選択された第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理を実行して前記第２周波数ビン集合に対する第２分離結果を取得する２段目分離部と、
前記１段目分離部の算出した第１分離結果と、前記２段目分離部の算出した第２分離結果とを統合して最終的な分離結果を生成する合成部と、
を有する信号処理装置にある。
【００５０】
さらに、本発明の信号処理装置の一実施態様において、前記２段目分離部は、前記エンベロープを分母として設定したスコア関数を用い、前記観測信号から選択された第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理を実行して前記第２周波数ビン集合に対する第２分離結果を取得する。
【００５１】
さらに、本発明の信号処理装置の一実施態様において、前記２段目分離部は、第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理において、各チャンネルｋに対応する分離結果Ｙｋのエンベロープが、前記第１分離結果から得られる同一のチャンネルｋの分離結果のエンベロープｒｋと類似するように分離する分離行列を算出する。
【００５２】
さらに、本発明の信号処理装置の一実施態様において、前記２段目分離部は、前記第１分離結果から得られるエンベロープの逆数を重みとして設定した観測信号の共分散行列である観測信号の重みつき共分散行列を算出し、該観測信号の重みつき共分散行列を、前記第２分離結果を取得する学習処理におけるスコア関数として利用する。
【００５３】
さらに、本発明の信号処理装置の一実施態様において、前記２段目分離部は、前記１段目分離部において分離処理の対象とした第１周波数ビン集合以外の観測信号を第２周波数ビン集合として設定して分離処理を実行する。
【００５４】
さらに、本発明の信号処理装置の一実施態様において、前記２段目分離部は、前記１段目分離部において分離処理の対象とした第１周波数ビン集合と重複する周波数ビンを含む観測信号を第２周波数ビン集合として設定して分離処理を実行する。
【００５５】
さらに、本発明の信号処理装置の一実施態様において、前記２段目分離部は、自然勾配法アルゴリズムを適用した学習処理により前記第２分離結果を取得する。
【００５６】
さらに、本発明の信号処理装置の一実施態様において、前記２段目分離部は、等分散適応的分離（ＥＡＳＩ：Ｅｑｕｉｖａｒｉａｎｔ  Ａｄａｐｔｉｖｅ  Ｓｅｐａｒａｔｉｏｎ  ｖｉａ  Ｉｎｄｅｐｅｎｄｅｎｃｅ）アルゴリズム、または、正規直交制約付き勾配法、または、不動点法、または、重みつき共分散行列の同時対角化を適用した学習処理により前記第２分離結果を取得する。
【００５７】
さらに、本発明の信号処理装置の一実施態様において、前記信号処理装置は、前記第１周波数ビン集合と前記第２周波数ビン集合の設定を行う周波数ビン分類部を有し、前記周波数ビン分類部は、
（ａ）後段処理において利用する周波数領域を前記第１周波数ビン集合に含める設定、
（ｂ）既知の妨害音に対応する周波数領域を前記第１周波数ビン集合に含める設定、
（ｃ）パワーの大きな成分が含まれている周波数領域を前記第１周波数ビン集合に含める設定、
上記（ａ）〜（ｃ）のいずれかまたは複数を組み合わせた設定に従って前記第１周波数ビン集合と前記第２周波数ビン集合の設定を行う。
【００５８】
さらに、本発明の第２の側面は、
複数音源からの出力が混合された信号を複数のセンサで取得し、前記取得信号を短時間フーリエ変換（ＳＴＦＴ）することによって時間周波数領域の観測信号を生成する信号変換部と、
前記観測信号の分離処理により、各音源に対応した音源分離結果を生成する音源分離部を有し、
前記複数のセンサの各々は指向性マイクであり、
前記音源分離部は、
前記観測信号から前記指向性マイク各々に対応するチャンネル対応の時間方向のパワー変化に相当するエンベロープを算出し、該エンベロープを固定値として設定したスコア関数を用い、前記混合信号を分離する分離行列を算出する学習処理を実行して分離結果を取得する信号処理装置にある。
【００５９】
さらに、本発明の第３の側面は、
信号処理装置において実行する信号処理方法であり、
信号変換部が、複数のセンサが取得した複数音源の出力の混合信号に対する短時間フーリエ変換（ＳＴＦＴ）によって時間周波数領域の観測信号を生成する信号変換ステップと、
音源分離部が、前記観測信号の分離処理により、音源対応の音源分離結果を生成する音源分離ステップを有し、
前記音源分離ステップは、
前記観測信号から選択された第１周波数ビン集合に対して、独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を適用した学習処理により、第１周波数ビン集合に含まれる混合信号を分離する分離行列を算出し、算出した分離行列を適用して前記第１周波数ビン集合に対する第１分離結果を取得する１段目分離ステップと、
前記１段目分離ステップにおいて生成した第１分離結果から得られるエンベロープであり、前記センサ各々に対応するチャンネル対応の時間方向のパワー変化に相当するエンベロープを固定値として設定したスコア関数を用い、前記観測信号から選択された第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理を実行して前記第２周波数ビン集合に対する第２分離結果を取得する２段目分離ステップと、
前記１段目分離ステップにおいて算出した第１分離結果と、前記２段目分離ステップにおいて算出した第２分離結果とを統合して最終的な分離結果を生成する合成ステップとを有する信号処理方法にある。
【００６０】
さらに、本発明の第４の側面は、
信号処理装置において信号処理を実行させるプログラムであり、
信号変換部に、複数のセンサが取得した複数音源の出力の混合信号に対する短時間フーリエ変換（ＳＴＦＴ）によって時間周波数領域の観測信号を生成させる信号変換ステップと、
音源分離部に、前記観測信号の分離処理により、音源対応の音源分離結果を生成させる音源分離ステップを有し、
前記音源分離ステップは、
前記観測信号から選択された第１周波数ビン集合に対して、独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を適用した学習処理により、第１周波数ビン集合に含まれる混合信号を分離する分離行列を算出し、算出した分離行列を適用して前記第１周波数ビン集合に対する第１分離結果を取得させる１段目分離ステップと、
前記１段目分離ステップにおいて生成した第１分離結果から得られるエンベロープであり、前記センサ各々に対応するチャンネル対応の時間方向のパワー変化に相当するエンベロープを固定値として設定したスコア関数を用い、前記観測信号から選択された第２周波数ビン集合に含まれる混合信号を分離する分離行列を算出する学習処理を実行して前記第２周波数ビン集合に対する第２分離結果を取得させる２段目分離ステップと、
前記１段目分離ステップにおいて算出した第１分離結果と、前記２段目分離ステップにおいて算出した第２分離結果とを統合して最終的な分離結果を生成させる合成ステップとを実行させるプログラムにある。
【００６１】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な画像処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００６２】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００６３】
本発明の一実施例の構成によれば、混合信号に対する音源分離を高精度かつ計算量を削減して行うことを可能とする装置、方法が提供される。具体的には、複数音源からの出力を混合した混合信号からなる観測信号から選択された第１周波数ビンに対して１段目の分離処理を実行する。例えば、独立成分分析（ＩＣＡ）を適用した学習処理により分離行列を求めて第１分離結果を生成する。さらに第１分離結果に基づいてチャンネル対応の時間方向のパワー変化に相当するエンベロープを求め。エンベロープを固定値として設定したスコア関数を適用して第２周波数ビンに対して２段目の分離処理を実行して第２分離結果を生成する。最後に第１分離結果と第２分離結果とを統合して最終的な分離結果を生成する。この処理により、第２分離処理における学習処理の計算量が大幅に削減される。
【図面の簡単な説明】
【００６４】
【図１】Ｎ個の音源から異なる音が鳴っていて、それらをｎ個のマイクで観測するという状況について説明する図である。
【図２】周波数ビンにおける分離（図２（ａ）参照）と、全周波数ビンの分離処理（図２（ｂ）参照）について説明する図である。
【図３】本発明における信号処理、特に「ペア単位ＩＣＡ」との関係について説明する図である。
【図４】本発明の信号処理装置の一構成例について説明する図である。
【図５】本発明の信号処理装置内の音源分離部の詳細構成図である。
【図６】本発明の信号処理装置の全体処理について説明するフローチャートを示す図である。
【図７】短時間フーリエ変換処理の詳細について説明する図である。
【図８】図６に示すフローチャートのステップＳ１０４の１段目の分離処理の詳細について説明するフローチャートを示す図である。
【図９】図６に示すフローチャートのステップＳ１０５の２段目の分離処理の詳細について説明するフローチャートを示す図である。
【図１０】図６に示すフローチャートのステップＳ１０５の２段目の分離処理の異なる処理態様の詳細について説明するフローチャートを示す図である。
【図１１】図９のフローチャートのステップＳ３０１において実行する前処理の詳細について説明するフローチャートを示す図である。
【図１２】図６に示す全体処理フローにおけるステップＳ１０６の再合成処理の詳細について説明するフローチャートを示す図である。
【図１３】１段目の信号分離処理において、ＩＣＡ以外の音源分離方式として、指向性マイクを使う方法について説明する図である。
【図１４】本発明の信号処理の効果の実証実験の環境について説明する図である。
【図１５】実験結果として得られる原信号と観測信号のスペクトログラムの例について説明する図である。
【図１６】従来型の信号分離処理を行った場合の分離結果について説明する図である。
【図１７】本発明に従った分離処理を行った場合の分離結果について説明する図である。
【発明を実施するための形態】
【００６５】
以下、図面を参照しながら本発明の信号処理装置、および信号処理方法、並びにプログラムの詳細について説明する。説明は以下の項目に従って行う。
１．本発明の信号処理の概要について
２．本発明の信号処理装置の具体的実施例について
２−１．本発明の信号処理装置の構成について
２−２．本発明の信号処理装置の処理について
３．本発明の信号処理装置の変形例について
３−１．２段目の信号分離処理において、他のアルゴリズムを使用する変形例
（１ａ）  ＥＡＳＩ
（１ｂ）  正規直交制約付き勾配法
（１ｃ）  不動点法
（１ｄ）  閉形式
３−２．１段目の信号分離処理において、ＩＣＡ以外を使用する変形例
４．本発明の信号処理による効果の説明
【００６６】
［１．本発明の信号処理の概要について］
まず、本発明の構成と処理の概要について説明する。
本発明は、複数の信号が混合された信号を独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）を用いて分離する処理を行うものである。
【００６７】
本発明の処理は、例えば、先に説明した図１に示すＮ個の音源から異なる音が鳴っていて、それらをｎ個のマイクで観測し、これらの観測信号を利用して分離結果を得るものである。マイクロホンｋで観測される信号（観測信号）（＝前述の式［１．１］）を取得して、この観測信号に基づいて、独立成分分析（ＩＣＡ）を用いて分離信号を求める。マイクｎの観測信号をｘｎ（ｔ）とし、マイク１、マイク２の観測信号はそれぞれｘ１（ｔ），ｘ２（ｔ）とする。この分離処理においては、分離結果［Ｙ］の算出式［２．５］に基づいて、分離結果：Ｙ（ω，ｔ）の各成分が最も独立になるように分離行列Ｗ（ω）を決めることが必用となる。
【００６８】
しかしながら、前述したように、ＩＣＡによる信号分離処理では、分離行列Ｗ（ω）を求めるための学習処理が必要となる。すなわち、前述の式［３．１］から式［３．３］までを分離行列Ｗ（ω）が収束するまで（または一定回数）繰り返し実行することが必要となる。この学習処理（（式［３．１］〜［３．３］の繰り返し）は、計算量が大きく処理コストが増大する。
【００６９】
この学習量の削減のためには、前述したようにＩＣＡの学習は限定された周波数ビンに対して行ない、残りの周波数ビンに対してはＩＣＡ以外の方法で分離行列または分離結果を推定するという方法が有効である。すなわち、「（周波数ビンの）間引き」を行って、限定された周波数ビンに対してＩＣＡの学習を実行し、その学習結果を用いて、学習処理の対象からはずされた残りの周波数ビンについて、上記の学習結果を適用して分離行列や分離結果を推定する「（周波数ビンの）補間」を行うものである。
【００７０】
しかし、上述したように、従来型の間引きおよび補間処理の構成では、分離精度を低下させずに計算量を削減する構成は実現されない。
本発明では、分離精度を低下させることなく計算量を削減する信号分離処理を実現する。
本発明では、補間のステップにおいて特殊なスコア関数を用いてＩＣＡの学習を行なう。
本発明の信号分離処理は、以下のような手順（ステップ）で処理を実行する。
【００７１】
（ステップ１）
制限された周波数ビンに対してＩＣＡの学習を適用し、分離結果を求める。
（ステップ２）
チャンネルごとに、ステップ１で用いた周波数ビンの間で分離結果の時間方向エンベロープを総和することで、共通のエンベロープを求める。
（ステップ３）
残りの周波数ビンに対して、共通のエンベロープをスコア関数に反映させた特殊なＩＣＡを用いて学習を行なう。
【００７２】
以下、各処理の概要について説明する。以下の説明は本発明の概要を説明するものであり、詳細な処理については、後段の実施例において説明する。
なお、本発明では上記のステップ１とステップ３の両ステップにおいてＩＣＡおよびＩＣＡ類似の学習が使用されるが、両者を区別するため、ステップ１のＩＣＡを「１段目のＩＣＡ」（または、「１段目の学習」「１段目の分離」）、ステップ３のＩＣＡを「２段目のＩＣＡ」（または、「２段目の学習」「２段目の分離」）や「補間におけるＩＣＡ」と表現する。
【００７３】
また、周波数ビン自体についても区別の必要があるため、ステップ１とステップ３で使用される周波数ビンの集合を、それぞれ、
ステップ１のＩＣＡにおいて使用する周波数ビンの集合をΩ［１ｓｔ］、
ステップ３のＩＣＡにおいて使用する周波数ビンの集合をΩ［２ｎｄ］、
と呼ぶ。
【００７４】
Ω［１ｓｔ］とΩ［２ｎｄ］の要素は周波数ビンの番号であり、両者に重複があっても構わない。（すなわち、１段目（ステップ１）でＩＣＡを適用した周波数ビンに対して２段目（ステップ３）で補間を適用してもよい。）また、他の変数や関数についても、１段目と２段目とを区別する区別する場合は、必要に応じて［１ｓｔ］（１段目）および［２ｎｄ］（２段目）という上付き文字を付与する。
【００７５】
ステップ１においては、観測周波数の全周波数から選択された一部の周波数、すなわち、制限された周波数ビンにについてのみ、ＩＣＡの学習を行なう。
従来の学習は、前述したように、式［３．１］〜［３．３］の繰り返しとして実行していたが、本発明の学習処理では、式［３．２］の代わりに以下に示す式［４．４］，［４．５］を利用する。
【００７６】
【数４】
2011215317.tif 000007
【００７７】
すなわち、Ω［１ｓｔ］に含まれる周波数ビン番号ωに対して、式［３．１］，［４．４］，［４．５］，［３．３］を繰り返し適用する。
【００７８】
従来の学習処理（全周波数ビンについて式［３．１］〜［３．３］を適用）との違いは、スコア関数（式［４．６］および［４．７］）に含まれるＬ２ノルムの計算方法と、スコア関数に付与する係数の値である。Ｌ２ノルムは、１段目（ステップ１）のＩＣＡにおいて使用する周波数ビンの集合をΩ［１ｓｔ］に含まれる周波数ビンのみから計算し（式［４．４］）、それに合わせてスコア関数の係数γ［１ｓｔ］はΩ［１ｓｔ］の要素数Ｍ［１ｓｔ］の平方根とする（式［４．８］）。
【００７９】
なお、１段目のＩＣＡで使用されるスコア関数は、周波数ビンに依存した処理をするため、どの周波数ビン用かを区別するために下付き文字ωを付与している。周波数ビンに依存した処理とは、Ｍ次元ベクトルである引数Ｙｋ（ｔ）からω次元目の要素Ｙｋ（ω，ｔ）を取り出すことである。
そうすることで、Ω［１ｓｔ］に含まれる周波数ビンについては、パーミュテーションの一貫した分離結果が得られる。
【００８０】
次にステップ２において、以下に示す式［５．１］を用いてチャンネルごとの時間エンベロープ（時間方向のパワー変化）を求める。
【００８１】
【数５】
2011215317.tif 000008
【００８２】
上記式［５．１］の右辺は前述の式［４．４］と同一であり、１段目のＩＣＡが終了した時点での‖Ｙｋ［１ｓｔ］（ｔ）‖２が得られる。
【００８３】
全てのｋ（チャンネル数＝観測信号数＝マイク数），ｔ（フレーム数）についてこの式を適用し、時間エンベロープを求める。以降、単に「エンベロープ」というと時間エンベロープを表わすものとする。
【００８４】
エンベロープは、同一の音源に由来する成分であれば、どの周波数ビンにおいても類似した傾向を示す。例えば、ある音源が大きな音で鳴っている瞬間は、各周波数ビンにおいても絶対値の大きな成分があり、小さな音で鳴っている瞬間は、その逆である。すなわち、制限された周波数ビンから計算されたエンベロープｒｋ（ｔ）は、全部の周波数ビンから計算されたエンベロープと、（スケールの違いを除いて）ほぼ同じ形をしている。また、これから補間しようとしている周波数ビンの分離結果も、ほぼ同じ形のエンベロープを持つはずである。
【００８５】
そこでステップ３では、エンベロープｒ１（ｔ）〜ｒｎ（ｔ）をリファレンスとして用い、チャンネルｋには、１段目の制限された周波数ビンに対する分離処理において得られた同じチャンネルｋのエンベロープｒｋ（ｔ）とほぼエンベロープを持つ分離結果を「引き寄せる」ような処理を行なう。
【００８６】
そのためステップ３においては、ｒｋ（ｔ）を分母とするスコア関数を用意し（式［５．２］）、残りの周波数ビンについて、この式を用いてＩＣＡ（２段目）の学習を行なう。すなわち、Ω［２ｎｄ］に含まれる周波数ビン番号ωに対して、式［３．１］・［５．５］（または式［５．６］）・［３．３］を繰り返し適用する。ただし、式［５．５］については、この式をそのまま使用する代わりに、計算量が減少するように変形した式（後述）を実際には用いる。
【００８７】
式［５．２］のγ［２ｎｄ］については、基本的にはγ［１ｓｔ］と同様に、Ｍ［１ｓｔ］（１段目のＩＣＡで使用される周波数ビンの個数）の平方根を用いればよい（式［５．７］）。
式［５．２］の分母ｒｋ（ｔ）も、式［４．７］の分母‖Ｙｋ［１ｓｔ］（ｔ）‖２と同様に、Ｍ［１ｓｔ］本の周波数ビンについての和であるからである。
【００８８】
（式［５．５］のφ［２ｎｄ］（Ｙ（ω，ｔ），ｒ（ｔ））については、式［５．３］と式［５．４］を参照）。
また、式［５．６］は、式［５．５］のカッコを展開した式であるが、後段で説明する式（７．１〜７．１１）の説明用として敢えて記載している。式［５．２］のスコア関数は、Ｙｋ（ω，ｔ）とｒ（ｔ）との両方に依存するため、２つの引数をとる。その一方で、周波数ビンωに依存した処理は無いため、下付き文字のωはつかない。
【００８９】
２段目（ステップ３）の学習の結果、Ω［２ｎｄ］に含まれる周波数ビンについても分離が行なわれると共に、全部の周波数ビンの間でパーミュテーションの一貫した分離結果が自動的に得られる。すなわち、Ω［２ｎｄ］に含まれる周波数ビンの間についても、１段目（ステップ１）と２段目（ステップ３）のＩＣＡの間についても、パーミュテーションが一貫している。
【００９０】
ステップ１〜３を適用することで、全部の周波数ビンに対してステップ１を適用した場合と比べ、同程度に分離された結果を少ない計算量で得ることができる。
【００９１】
次に、以下の２点について理由を説明する。
１．本発明の処理によって、なぜ間引きのないＩＣＡ分離処理と同程度の精度で分離でき、しかもパーミュテーションが一貫するのか。
２．本発明の処理によって、なぜ計算量が削減できるのか。
【００９２】
（１．本発明の処理によって、なぜ間引きのないＩＣＡ分離処理と同程度の精度で分離でき、しかもパーミュテーションが一貫するのか）
まず、本発明の処理における信号分離精度とパーミュテーションの一貫性について説明する。
ステップ３において分離ができ、しかもパーミュテーションが一貫する原理については、「ペア単位（ｐａｉｒ−ｗａｓｅ）の分離」の近似として説明できる。なお、「ペア単位（ｐａｉｒ−ｗａｓｅ）の分離」については、特開２００８−９２３６３号公報に説明がある。
【００９３】
「ペア単位（ｐａｉｒ−ｗａｓｅ）の分離」について簡単に説明する。なお、「ペア単位（ｐａｉｒ−ｗａｓｅ）の分離」を以降、「ペア単位のＩＣＡ」と呼ぶ。
「ペア単位のＩＣＡ」は、分離結果のなかで依存関係を持たせたいものが存在している場合に、依存関係を持ったペアの単位で分離を行なうという手法である。そのような分離を実現するために、依存関係を持たせたい信号同士を引数とする多変量確率密度関数およびその確率密度関数から導出される多変量スコア関数をＩＣＡの学習に用いる。
【００９４】
本発明における信号処理、特に「ペア単位ＩＣＡ」との関係について、図３を参照して説明する。図３（ａ）１段目分離結果に示す分離結果Ｙ１［１ｓｔ］〜Ｙｎ［１ｓｔ］１３１〜１３２は１段目（ステップ１）のＩＣＡ分離処理における学習で求まった分離結果である。（ａ）１段目分離結果中のスペクトログラム上で黒くマスクされている部分は、１段目の学習では使用されなかった周波数ビンを表わす。グレーの部分が、間引き処理によって処理対象として選択された周波数ピン対応の分離結果である。
【００９５】
図３（ｂ）エンベロープ（固定）に示す信号ｒ１（＊）〜ｒｎ（＊）１３３〜１３４は縦軸が信号パワー、横軸が時間に対応する。図３（ｂ）に示すグラフは時間方向のパワー変化を示しており、第１段目の限定された周波数ビンに対するＩＣＡ分離処理によって得られたエンベロープである。
すなわち、図３（ｂ）エンベロープ（固定）に示す信号ｒ１（＊）〜ｒｎ（＊）１３３〜１３４は、分離結果Ｙ１［１ｓｔ］〜Ｙｎ［１ｓｔ］１３１〜１３２から求めた時間方向エンベロープ（時間方向のパワー変化）である。なお、アスタリスク"＊"は、全フレーム分のデータを表わす。
【００９６】
さらに、図３（ｃ）２段目分離結果に示す分離結果Ｙ１［２ｎｄ］〜Ｙｎ［２ｎｄ］１３５〜１３６は、２段目（ステップ３）の学習においてω番目の周波数ビンに対応した分離結果である。ただし、学習の途中であり、分離結果は収束していないとする。２段目の学習においては、Ｙｋ（ω，＊）のエンベロープがｒｋ（＊）と類似するように分離されて欲しい。すなわち、ｋ番目のチャンネルには、ｎ個ある分離結果のうち、エンベロープがｒｋ（＊）に似ているものが出現して欲しいわけである。そのためには、［ｒ１（＊），Ｙ１（ω，＊）］１３７〜［ｒｎ（＊），Ｙｎ（ω，＊）］１３８というペアを考え、ペア同士は独立にする一方で、ペア内の要素同士は依存関係があるような分離行列を決めればよい。
【００９７】
そのような分離を行なうために、［ｒｋ（＊），Ｙｋ（ω，＊）］というペアを引数に取る確率密度関数（すなわち、２次元の確率密度関数）を用意し、それをＰ（ｒｋ（＊），Ｙｋ（ω，＊））とおく。以下の式［６．１］の左辺に示す設定である。さらに、スコア関数として、この確率密度関数の対数微分を用いる（式［６．２］）。
【００９８】
【数６】
2011215317.tif 000009
【００９９】
確率密度関数として式［６．１］を用いると、スコア関数として式［６．３］が導出される。ただし、γ［２ｎｄ］はスコア関数の重みであり、γ［１ｓｔ］と同一の値でよいが、異なる値を用いてもよい。
【０１００】
式［６．３］は、以下の近似によって、最終的に式［５．２］に帰着する。その過程について説明する。なお、式［５．２］の代わりに式［６．３］を用いて２段目の学習を行なった場合、分離自体は可能だが、計算量削減の利点はない。
【０１０１】
Ｙｋ（ω，ｔ）とｒｋ（ｔ）とで絶対値を比較すると、Ｍ［１ｓｔ］が１よりも十分大きければ、｜Ｙｋ（ω，ｔ）｜＜＜ｒｋ（ｔ）（「＜＜」は「後者の方がはるかに大きい」ことを表わす記号）の関係が成り立つ。なぜなら、Ｙｋ（ω，ｔ）は1つの周波数ビンでの値なのに対し、ｒｋ（ｔ）はＭ［１ｓｔ］本分の周波数ビンの間での和だからである。その場合、式［６．７］の近似が成立する。この近似は、角度θの絶対値が０に近いときに、ｓｉｎθがｔａｎθで近似できることと同じ意味である。
【０１０２】
式［６．３］は、式［６．４］のように変形することで式［６．７］の近似が適用できる。その結果、式［６．５］を経て式［６．６］が得られる。この式は式［５．２］と同一である。
【０１０３】
すなわち、式［５．２］のスコア関数を用いて学習を行なうと、以下の２点を満たす分離が近似的に行なわれる。
（１）エンベロープｒｋ（＊）と分離結果Ｙｋ（ω，＊）というペアの単位で独立性が最大。
（２）ペア内のエンベロープｒｋ（＊）と分離結果Ｙｋ（ω，＊）とは時間方向エンベロープが類似。
【０１０４】
このように、間引きされ、１段目（ステップ１）で制限された周波数のみのＩＣＡ分離処理を実行し、この分離処理によって得られたエンベロープ（時間方向のパワー変化）を用いて、２段目（ステップ３）においてエンベロープｒｋ（＊）と分離結果Ｙｋ（ω，＊）というペアを設定して、ペア同士は独立にする一方で、ペア内の要素同士は依存関係があるような分離行列を求めるという第２段目の分離処理を実行することで、間引きのないＩＣＡ分離処理と同程度の精度で分離でき、しかもパーミュテーションが一貫するという効果が得られる。
【０１０５】
（２．本発明の処理によって、なぜ計算量が削減できるのか）
次に、本発明の処理によって、なぜ計算量が削減できるのかについて説明する。
本発明の処理では、１段目（ステップ１）において、選択された周波数ビンに対してのみＩＣＡ分離処理を実行している。
しかし、さらに、２段目（ステップ３）においても、上述したように共通のエンベロープをスコア関数に反映させた特殊なＩＣＡを用いて学習を行なっている。この２段目（ステップ３）の学習処理の計算量が従来のＩＣＡと同程度であれば全体として計算量の削減は実現されない。
【０１０６】
この２段目（ステップ３）の学習処理の計算量について説明する。従来のＩＣＡの学習処理は、前述したように式［３．１］〜［３．３］の繰り返しである。
本発明の処理における２段目（ステップ３）の学習処理では、前述したように、ステップ３のＩＣＡにおいて使用する周波数ビンの集合Ω［２ｎｄ］に対して、式［３．１］・［５．５］（または式［５．６］）・［３．３］を繰り返し適用する学習処理を行う。ただし、式［５．５］については、この式をそのまま使用する代わりに、計算量が減少するように変形した式を実際には用いる。
【０１０７】
式［５．５］自体の計算量は式［３．２］とほぼ同じであり、フレーム数Ｔに依存する。しかし、式［５．５］はＴに依存しない式へ変形することが可能であり、そうすることで２段階目のＩＣＡの計算量を大幅に削減することができる。その過程について、以下に示す式［７．１］〜［７．１１］を用いて説明する。
【０１０８】
【数７】
2011215317.tif 000010
【０１０９】
まず、分離行列Ｗ（ω）とその変化分ΔＷ（ω）について、それぞれからｋ行目を抽出したベクトルを用意し、それぞれＷｋ（ω）・ΔＷｋ（ω）とする（式［７．１］・［７．２］）。
すると、ＩＣＡの分離結果Ｙ（ω，ｔ）のｋ行目の要素であるＹｋ（ω，ｔ）は、式［７．３］のように示すことができる。
【０１１０】
これらの変数を用いて、式［５．６］からｋ行目の要素についての式を抽出すると、式［７．４］のように表わすことができる。この式の＜・＞ｔは全フレームについての平均であり、この操作を学習のループ内で毎回行なうのは計算量が大きい。そこでこの部分を、式［５．２］・式［５．３］・式［７．３］の関係を用いて式［７．５］のように変形する。
【０１１１】
式［７．５］の右辺において＜・＞ｔの項は、２段目の学習の間は一定であるため、２段目の学習の前に１回だけ計算すればよい。この項とγ［２ｎｄ］とを合わせてＣｋ（ω）とおくと（式［７．７］）、式［７．５］の左辺は式［７．６］のように示すことができる。最終的に、式［７．４］は式［７．８］のように変形できる。
【０１１２】
式［７．８］では平均操作（＜・＞ｔの操作）を学習ループ内で行なう必要がない。また、この式は分離結果Ｙ（ω，ｔ）を含まないため、式［３．１］や式［７．３］を実行する必要もない。つまり学習は、式［７．８］を全てのｋについて行なってから式［３．３］を行なうということを繰り返せばよく、その計算量はフレーム数には依存しない。従って、全部の周波数ビンに１段目のＩＣＡを適用した場合（従来法）と比較すると、フレーム数が多いほど計算量削減の効果がある。
【０１１３】
さらに、式［７．６］をＵｋ（ω）とおき（式［７．９］）、Ｕ１（ω）〜Ｕｎ（ω）を行ベクトルとする行列Ｕ（ω）を用いると、ΔＷ（ω）の更新式は式［７．１１］のように示すことができる。
【０１１４】
すなわち、２段目（ステップ３）の学習処理においては、従来の学習処理で使用した式［３．１］〜［３．３］の繰り返しの代わりに、
式［７．９］・［７．１０］・［７．１１］・［３．３］
を繰り返し適用すればよく、それらの式はフレーム数Ｔには依存せず、計算量を大きく削減することが可能となる。具体的には、２段目の学習処理において周波数ビンあたりの計算量を約１／Ｔにすることができる。
【０１１５】
なお、上述の式［７．１］〜［７．１１］を参照して説明した処理は、自然勾配法と呼ばれるアルゴリズムを用いた式だったが、他のアルゴリズムについても、計算量の少ない式への変形が可能である。詳細は後段の［３．本発明の信号処理装置の変形例について］の欄で説明する。
【０１１６】
なお、式［７．７］のＣｋ（ω）と、観測信号の共分散行列である＜Ｘ（ω，ｔ）Ｘ（ω，ｔ）Ｈ＞ｔとを比較すると、Ｃｋ（ω）は１／ｒｋ（ｔ）という重みを付けて観測信号の共分散行列＜Ｘ（ω，ｔ）Ｘ（ω，ｔ）Ｈ＞ｔを平均した結果と見なすことができる。そこで、以降はＣｋ（ω）を「（観測信号の）重みつき共分散行列」（ｗｅｉｇｈｔｅｄ  ｃｏｖａｒｉａｎｃｅ  ｍａｔｒｉｘ）と呼ぶ。
【０１１７】
［２．本発明の信号処理装置の具体的実施例について］
次に、本発明の信号処理装置の具体的実施例について説明する。
（２−１．本発明の信号処理装置の構成について）
本発明の信号処理装置の一構成例について、図４および図５を参照して説明する。
図４は信号処理装置全体の構成であり、図５は、図４に示す信号処理装置内の音源分離部１５４の詳細構成図である。
【０１１８】
複数のマイクロホン１５１で収集された音データは、ＡＤ変換部１５２でアナログ信号からデジタル信号へ変換される。次に、フーリエ変換部（ＳＴＦＴ部）１５３において短時間フーリエ変換（ＳＴＦＴ：ｓｈｏｒｔ−ｔｉｍｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）が適用され、デジタル信号は時間周波数領域の信号へ変換される。この信号を観測信号と呼ぶ。短時間フーリエ変換（ＳＴＦＴ）処理の詳細については後段で説明する。
【０１１９】
短時間フーリエ変換（ＳＴＦＴ）によって生成された時間周波数領域の観測信号は、音源分離部１５４に入力され、音源分離部１５４において実行される信号分離処理によって独立な成分へと分離される。
【０１２０】
なお、音源分離部１５４において実行される信号分離処理においては、先に説明した「（周波数ビンの）間引き」を行って、限定された周波数ビンに対してＩＣＡの学習を実行し、その学習結果を用いて、学習処理の対象からはずされた残りの周波数ビンについて学習結果を適用した分離行列や分離結果を推定する「（周波数ビンの）補間」処理が実行される。すなわち、先に［１．本発明の信号処理の概要について］の項目で説明した以下の書くステップ１〜３の処理が実行されることになる。
（ステップ１）
制限された周波数ビンに対してＩＣＡの学習を適用し、分離結果を求める。
（ステップ２）
チャンネルごとに、ステップ１で用いた周波数ビンの間で分離結果の時間方向エンベロープを総和することで、共通のエンベロープを求める。
（ステップ３）
残りの周波数ビンに対して、共通のエンベロープをスコア関数に反映させた特殊なＩＣＡを用いて学習を行なう。
この処理の詳細は後述する。
【０１２１】
音源分離部１５４の処理結果としての分離結果は、逆フーリエ変換部（逆ＦＴ部）１５５に入力されて、フーリエ逆変換が実行され、時間領域の信号へと変換される。
【０１２２】
時間領域の分離結果は、必要に応じて、出力デバイス（または後段処理部）１５５に送られ、さらに処理される。なお、出力デバイス（または後段処理部）１５５には、例えば音声認識機・録音装置・音声通話装置などが含まれる。なお、後段処理部も短時間フーリエ変換（ＳＴＦＴ）処理を行なうデバイスである場合は、出力デバイス（または後段処理部）１５５内のＳＴＦＴ処理と逆フーリエ変換部（逆ＦＴ部）１５５をまとめて省略する構成とすることも可能である
【０１２３】
次に、音源分離部１５４の詳細構成と処理について、図５を参照して説明する。
制御部１７１は、音源分離部１５４の各モジュールを制御するためのものであり、各モジュールとは制御信号の入出力線（図示せず）で接続されているものとする。
【０１２４】
観測信号記憶部１７２は、時間周波数領域の観測信号を格納するバッファである。このデータは、１段目の学習と、重みつき行分散行列の計算とにおいて使用される。なお、分離の方法によっては、１段目分離部１７５においても使用される。
【０１２５】
周波数ビン分類部１７３は、ある基準に基づき、各周波数ビンを２つの集合に分類する。２つの集合とは、それぞれ、１段目の学習に適用する周波数ビン集合（１段目用）１７４と、２段目の学習に適用する周波数ビン集合（２段目用）１７９とである。分類の基準については後述する。
【０１２６】
それぞれの周波数ビン集合には、観測信号のデータそのものを格納する必要はなく、観測信号データのインデックス、例えば周波数ビン番号を格納しておけばよい。また、２つの集合の和が周波数ビン全体と一致するのであれば、両集合に重複があっても構わない。例えば、周波数ビン集合（１段目用）１７４は限定された周波数ビン、周波数ビン集合（２段目用）１７９は全ての周波数ビンという構成もあり得る。
【０１２７】
１段目分離部１７５は、周波数ビン集合（１段目用）１７４に含まれる周波数ビンに対して、独立成分分析（ＩＣＡ）における分離行列算出のための学習処理を行ない、その結果である分離行列と分離結果とを１段目分離行列および分離結果記憶部１７６に格納する。
【０１２８】
重みつき共分散行列計算部１７７は、前記した式［７．７］のＣｋ（ω）や、それに関連する値、例えば２段目の学習で使用する各種の値のうち、学習前に計算可能なものを計算し、結果を重みつき共分散行列記憶部１７８に格納する。
なお、先に説明したように、式［７．７］のＣｋ（ω）と、観測信号の共分散行列である＜Ｘ（ω，ｔ）Ｘ（ω，ｔ）Ｈ＞ｔとを比較すると、Ｃｋ（ω）は１／ｒｋ（ｔ）という重みを付けて平均した結果と見なすことができ、本明細書では、式［７．７］のＣｋ（ω）は「（観測信号の）重みつき共分散行列」（ｗｅｉｇｈｔｅｄ  ｃｏｖａｒｉａｎｃｅ  ｍａｔｒｉｘ）と呼んでいる。
【０１２９】
２段目分離部１８０は、周波数ビン集合（２段目用）１７９に含まれる周波数ビンに対して２段目の分離処理を行ない、その結果である分離行列と分離結果とを２段目分離行列および分離結果記憶部１８１に格納する。
【０１３０】
再合成部１８２は、１段目分離行列および分離結果記憶部１７６に格納されたデータと、２段目分離行列および分離結果記憶部１８１に格納されたデータとを合成することで全周波数ビンの分離行列と分離結果とを生成し、結果を、全体分離行列および分離結果記憶部１８３に格納する。
【０１３１】
なお、
１段目分離行列および分離結果記憶部１７６、
２段目分離行列および分離結果記憶部１８１、
全体分離行列および分離結果記憶部１８３、
ここれらの各記憶部において、分離結果についての記憶処理は適宜省略することができる。なぜなら、分離行列Ｗ（ω）と観測信号Ｘ（ω，ｔ）とがあれば、先に示した式［３．１］の関係を用いて分離結果Ｙ（ω，ｔ）は容易に生成可能だからである。
【０１３２】
（２−２．本発明の信号処理装置の処理について）
次に、本発明の信号処理装置の全体処理について、図６に示すフローチャートを参照して説明する。
まず、ステップＳ１０１において、マイクから入力された信号に対して、ＡＤ変換処理および短時間フーリエ変換（ＳＴＦＴ：ｓｈｏｒｔ−ｔｉｍｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ）が実行される。これは、図４に示すＡＤ変換部１５２、フーリエ変換部（ＳＴＦＴ部）１５３において実行される処理である。
【０１３３】
マイクに入力されたアナログの音信号をデジタル信号へ変換し、さらに短時間フーリエ変換（ＳＴＦＴ）によって時間周波数領域の信号へ変換する。なお、入力はマイクからの他に、必要に応じてファイルやネットワークなどから行なってもよい。ＳＴＦＴの詳細については、後述する。
【０１３４】
なお、入力チャンネル数は、複数（マイクロホンの個数分）であるため、ＡＤ変換やフーリエ変換もチャンネル数だけ行なう。以降では、全チャンネル・１フレーム分のフーリエ変換結果をＸ（ｔ）というベクトルで表わす。先に示した式［３．１３］で表わされるベクトルである。
【０１３５】
なお、式［３．１３］において、ｎはチャンネル数（＝マイク数）である。Ｍは周波数ビンの総数であり、短時間フーリエ変換のポイント数をＬとすると、Ｍ＝Ｌ／２＋１である。
【０１３６】
次のステップＳ１０２の蓄積処理は、短時間フーリエ変換（ＳＴＦＴ）処理によって時間周波数領域に変換された観測信号を、所定の時間分だけ（例えば１０秒分）蓄積する処理である。言い換えると、その時間に対応したフレーム数をＴとすると、連続するＴフレーム分の観測信号を記憶部（バッファ）に蓄積する。図５に示す観測信号記憶部１７２に対する記憶処理である。
【０１３７】
次のステップＳ１０３の周波数ビン分類処理は、Ｍ本の周波数ビンにそれぞれついて、１段目と２段目のどちら（または両方）の学習で使用するかを決定する処理である。図５に示す周波数ビン分類部１７３の実行する処理である。分類の基準については後述する。以下では、分類の結果として生成された周波数ビンの集合を、それぞれ以下のように定義する。
１段目のＩＣＡにおいて使用する周波数ビンの集合をΩ［１ｓｔ］、
２段目のＩＣＡにおいて使用する周波数ビンの集合をΩ［２ｎｄ］、
【０１３８】
ステップＳ１０４の１段目の分離処理は、ステップＳ１０３の周波数ビン分類処理において選択された周波数ビン集合Ω［１ｓｔ］に含まれる周波数ビンについてＩＣＡの学習を行なって分離処理を実行する処理である。この処理は、図５に示す１段目分離部１７５の処理である。処理の詳細については後述する。この段階でのＩＣＡは、周波数ビンが制限されている点を除けば、基本的に従来のＩＣＡ（例えば特開２００６−２３８４０９『音声信号分離装置・雑音除去装置および方法』）と同様の処理である。
【０１３９】
次のステップＳ１０５の２段目の分離処理は、ステップＳ１０３の周波数ビン分類処理において選択された周波数ビン集合Ω［２ｎｄ］に含まれる周波数ビンについて学習を行なって分離処理を実行する処理である。この処理は、図５に示す２段目分離部１８０の処理である。処理の詳細については後述する。この段階においては、１段階目の学習で得られた分離結果の時間方向エンベロープや、そこから計算できる重みつき共分散行列を利用することで、通常のＩＣＡよりも計算量の少ない処理を行なう。
【０１４０】
ステップＳ１０６の再合成処理は、１段目・２段目それぞれの分離結果（または分離行列）を合成して全ての周波数ビンの分離行列および分離結果を生成する。また、学習の後処理などもこの段階において行なわれる。この処理は、図５に示す再合成部１８２が実行する。処理の詳細については後述する。
【０１４１】
全ての周波数ビンの分離結果が生成されたら、ステップＳ１０７において逆フーリエ変換（逆ＦＴ）処理を実行して時間領域の分離結果（すなわち波形）へと変換する。この処理は、図４に示す逆フーリエ変換部（逆ＦＴ部）１５５の処理である。時間領域の分離結果は、ステップＳ１０８において、必要に応じて後段の処理で使用される。
【０１４２】
なお先に図４を参照して説明したように、後段の処理によっては、ステップＳ１０７の逆フーリエ変換（逆ＦＴ）処理を省略してもよい。例えば後段で音声認識を行なう場合、その音声認識モジュールに含まれるＳＴＦＴとステップＳ１０７の逆ＦＴとをまとめて省略することが可能である。すなわち、時間周波数領域の分離結果を音声認識へ直接渡してもよい。
【０１４３】
ステップＳ１０１〜Ｓ１０８の処理が終了したら、ステップＳ１０９において、処理を継続するかを判定し、継続と判定されたらステップＳ１０１に戻り、処理を繰り返す。ステップＳ１０９において終了と判定された終了する。
【０１４４】
次に、ステップＳ１０１において実行する短時間フーリエ変換処理の詳細についてを、図７を参照して説明する。
【０１４５】
例えば図１に示すような環境においてｋ番目のマイクによって収録された観測信号ｘｋ（＊）を図７（ａ）に示す。ｋはマイクの番号である。この観測信号ｘｋ（＊）から一定長を切り出した切り出しデータであるフレーム１９１〜１９３にハニング窓やサイン窓等の窓関数を作用させる。なお、切り出した単位をフレームと呼ぶ。１フレーム分のデータに対して、短時間フーリエ変換を施すことにより、周波数領域のデータであるスペクトルＸｋ（ｔ）を得る（ｔはフレーム番号）。
【０１４６】
切り出すフレームの間には、図に示すフレーム１９１〜１９３のように重複があってもよく、そうすることで連続するフレームのスペクトルＸｋ（ｔ−１）〜Ｘｋ（ｔ＋１）を滑らかに変化させることができる。また、スペクトルをフレーム番号に従って並べたものをスペクトログラムと呼ぶ。図７（ｂ）がスペクトログラムの例である。
【０１４７】
なお、短時間フーリエ変換（ＳＴＦＴ）において切り出すフレーム間に重複がある場合は、逆フーリエ変換（ＦＴ）においてもフレームごとの逆変換結果（波形）を重複つきで重ね合わせる。これをオーバーラップ加算（ｏｖｅｒｌａｐ  ａｄｄ）という。逆変換結果は、オーバーラップ加算（ｏｖｅｒｌａｐ  ａｄｄ）の前にサイン窓等の窓関数を再び作用させても良く、これを、ｗｅｉｇｈｔｅｄ  ｏｖｅｒｌａｐ  ａｄｄ（ＷＯＬＡ）という。ＷＯＬＡにより、フレーム間の不連続性に由来するノイズを低減することができる。
【０１４８】
次に、図６のフローに示すステップＳ１０３の処理である周波数ビン分類処理について説明する。ステップＳ１０３の周波数ビン分類処理は、Ｍ本の周波数ビンにそれぞれついて、１段目と２段目のどちら（または両方）の学習で使用するかを決定する処理であり、図５に示す周波数ビン分類部１７３の実行する処理である。分類の基準について、以下の式［８．１］〜を参照して説明する。
【０１４９】
【数８】
2011215317.tif 000011
【０１５０】
式［８．１］〜［８．３］は、１段目の学習で使用される周波数ビンについての分類方法（選択方法）である。
式［８．１］は、α本おきに周波数ビンを採用する例である。
α，βは固定された整数、
Ｎは０以上の整数、
を表わす。
ただし、
α＞１かつ０＜＝β＜α、
Ｎの最大値Ｎｍａｘは、Ｎｍａｘα＋β＜＝Ｍを満たす最大の値、
である。
【０１５１】
例えばα＝４，β＝２，Ｍ＝２５７とすると、
１段目の学習では周波数ビンの番号：ω＝２，６，１０，...，２５４が使用される。
【０１５２】
式［８．２］は、制限された周波数帯域内の観測信号のみを１段目で使用する例である。このような帯域制限が有効な場合は、大きく分けて２通りある。
【０１５３】
１つめは、後段処理、すなわち、図４に示す出力デバイス（または後段処理部）１５６において使用する周波数帯域に合わせる場合である。例えば、出力デバイス（または後段処理部）１５６の実行する処理が音声認識処理であり、例えば、３００Ｈｚ〜３４００Ｈｚの範囲の周波数成分を主に使用する（電話回線における帯域と同じ）場合、式［８．２］のωｍｉｎ，ωｍａｘをそれぞれ３００Ｈｚ，３４００Ｈｚに対応した値にする。例えば、サンプリング周波数＝１６ｋＨｚかつ周波数ビン数Ｍ＝２５７の場合、ωｍｉｎ＝１０，ωｍａｘ＝１１０である。
【０１５４】
２つめは、除去すべき妨害音の周波数が既知の場合である。例えば、妨害音の周波数が１０００ｋＨｚ〜２０００ｋＨｚに制限されていると分かっている場合は、ωｍｉｎ，ωｍａｘをそれぞれ１０００Ｈｚ，２０００Ｈｚに対応した値に設定する。例えば、サンプリング周波数＝１６ｋＨｚかつ周波数ビン数Ｍ＝２５７の場合、ωｍｉｎ＝３３，ωｍａｘ＝６４となる。
【０１５５】
固定された周波数ビンを使用する代わりに、パワーの大きな成分が含まれている周波数ビンを使うという選別方法も利用可能である。例えば、パワーの小さな成分しか含まれていない周波数ビンは使用せず、ある程度以上のパワーを持つ周波数成分のみを選択して使用するといった選別手法を適用してもよい。
【０１５６】
この処理のためには、式［８．３］を用い、観測信号の周波数ビンごとの分散（パワー）を計算する。この式を周波数ビンの番号ωごとに計算し、σ（１）２〜σ（Ｍ）２を求める。それらを大きい順にソートし、トップから所定の順位までの周波数ビンを使用すればよい。
【０１５７】
以上の３種類の方法の内、複数を組み合わせてもよい。例えば、式［８．１］と式［８．２］とを組み合わせると、ωｍｉｎからωｍａｘの間の周波数ビンをαおきに採用することになる。また、式［８．２］と式［８．３］の方法とを組み合わせると、ωｍｉｎからωｍａｘの間の周波数ビンの中からパワー順の上位を採用することになる。
【０１５８】
式［８．４］〜［８．５］は、２段目の学習で使用される周波数ビンの分類基準（選択基準）である。
【０１５９】
基本的な処理例としては、２段目の学習は１段目で使用されなかった周波数ビンに対して行なう。すなわち、式［８．４］を用いればよい。
ただし、全ての周波数ビンに対して２段目の学習を行なってもよい。すなわち、１段目で学習済みの周波数ビンについても含めた全ての周波数ビンに対して２段目の学習を行なってもよい。この場合の周波数ビンの集合は、式［８．５］によって示すことができる。
なお、１段目で学習済みの周波数ビンについても含めた全ての周波数ビンに対して２段目の学習を行なった場合は、２段目の学習結果が最終的な結果として利用される。
【０１６０】
次に、図６に示すフローチャートのステップＳ１０４の１段目の分離処理の詳細について、図８に示すフローチャートを用いて説明する。この処理は、パーミュテーションの一貫した分離結果を生成することを特徴とするＩＣＡ（特開２００６−２３８４０９など参照）の適用であり、図６のフローのステップＳ１０３において、１段目の分離対象として選択された周波数ビン集合Ω［１ｓｔ］に属する周波数ビンに対してＩＣＡに従った学習を行なって信号を分離する処理が実行される。
【０１６１】
図８に示すフローのステップＳ２０１では、学習前の準備として、観測信号に対して必要に応じて正規化や無相関化を行なう。正規化は観測信号の分散を１に調整する処理であり、以下に示す式［９．１］および式［９．２］を適用した処理として行なう。
【０１６２】
【数９】
2011215317.tif 000012
【０１６３】
無相関化は観測信号の共分散行列が単位行列になるような変換を適用することであり、上に示す式［９．３］〜式［９．８］によって行なう。すなわち、式［９．５］で観測信号の共分散行列を計算し、その共分散行列に対して式［９．６］で表わされる固有値分解（ｅｉｇｅｎｖａｌｕｅ  ｄｅｃｏｎｐｏｓｉｔｉｏｎ）を行なう。ただし、
Ｖは固有ベクトルからなる行列、
Ｄは固有値を対角要素にもつ対角行列、
である。
行列Ｖ，Ｄを用いて、式［９．７］で表わされる行列Ｐ（ω）を求めると、Ｐ（ω）はＸ（ω，ｔ）を無相関化する行列になる。すなわち、Ｘ（ω，ｔ）にＰ（ω）を適用した結果をＸ'（ω，ｔ）とおくと（式［９．３］）、Ｘ'（ω，ｔ）の共分散行列は単位行列になる（式［９．４）］。
【０１６４】
以降、図８に示すフローのステップＳ２０２〜Ｓ２０８の処理に適用する式に含まれる観測信号Ｘ（ω，ｔ）は、観測信号Ｘ（ω，ｔ）を正規化または無相関化した観測信号Ｘ'（ω，ｔ）も表わし得るものとする。
【０１６５】
次に、ステップＳ２０２において、１段目の分離処理の処理対象である周波数ビンの集合Ω［１ｓｔ］に含まれる周波数ビンに対応した分離行列Ｗに対して初期値を代入する。初期値は単位行列で良いが、前回の学習において求まった分離行列が存在している場合は、それを初期値として用いてもよい。
【０１６６】
ステップＳ２０３〜Ｓ２０８は学習を表わすループであり、分離行列や分離結果が収束するまでか、あるいは予め規定した所定の回数だけ繰り返しを行なう。
【０１６７】
ステップＳ２０４において、分離結果Ｙ［１ｓｔ］（ｔ）を求める。分離結果Ｙ［１ｓｔ］（ｔ）は、１段目の学習途中における分離結果であり、先に示した式［４．１２］で表わされる。ただし、ω１〜ωＭ［１ｓｔ］は、１段目の分離処理の処理対象である周波数ビンの集合Ω［１ｓｔ］の要素である。Ｙ［１ｓｔ］（ｔ）を求めるには、Ω［１ｓｔ］に属するωについて式［３．１］を適用すればよい。また、このステップにおいて、式［４．４］を用いてＹｋ［１ｓｔ］（ｔ）のノルムも求めておく。
【０１６８】
ステップＳ２０５〜Ｓ２０８は周波数ビンについてのループであり、Ω［１ｓｔ］に属するωについてステップＳ２０６〜Ｓ２０７を実行する。このループには順番の依存性がないため、ループの代わりに並列で処理しても構わない。以降の周波数ビンのループについても同様である。
【０１６９】
ステップＳ２０６において、分離行列Ｗ（ω）の変化分ΔＷ（ω）を計算する。具体的には、式［４．５］を用いてΔＷ（ω）を計算する。ただし、この式に現れるスコア関数は式［４．６］〜式［４．８］で計算される。先に説明したように、φω（Ｙｋ（ｔ））はスコア関数と呼ばれ、Ｙｋ（ｔ）の多次元（多変量）確率密度関数（ＰＤＦ）の対数微分である（式［３．６］）。
なお、ΔＷ（ω）を計算には、式［４．５］以外の式も適用可能である。他の算出手法については後述する。
【０１７０】
次に、ステップＳ２０７において、分離行列Ｗ（ω）を更新する。具体的には、先に示した式［３．３］を適用する。
【０１７１】
１段目の分離処理の処理対象である周波数ビンの集合Ω［１ｓｔ］に含まれる全ての周波数ビンωについてステップＳ２０５〜Ｓ２０６の処理を実行したら、ステップＳ２０３に戻る。学習が収束しているか、一定回数を繰り返したら、分岐を右に進み、１段目の学習処理を終了する。
【０１７２】
ここで、ステップＳ２０６における分離行列Ｗ（ω）の変化分ΔＷ（ω）の算出処理に、式［４．５］以外の式を適用する場合について説明する。式［４．５］は、自然勾配法と呼ばれるアルゴリズムに基づく式であったが、別のアルゴリズムとして「独立性による等分散適応的分離（ＥＡＳＩ：Ｅｑｕｉｖａｒｉａｎｔ  Ａｄａｐｔｉｖｅ  Ｓｅｐａｒａｔｉｏｎ  ｖｉａ  Ｉｎｄｅｐｅｎｄｅｎｃｅ）に基づく式である、先に示した式［４．１０］を適用することができる。ただし、この式［４．１０］に含まれるＱ（ω）は式［４．９］で計算される行列である。
【０１７３】
また、前処理として無相関化（前記の式［９．３］〜［９．７］に従った処理）を行なっている場合は、分離行列Ｗ（ω）が正規直交行列（Ｗ（ω）Ｗ（ω）Ｈ＝Ｉを満たす行列）に限定されるため、収束の早い別のアルゴリズムも適用可能である。なお、Ｗ（ω）ＨのＨはエルミート転置を示す。
【０１７４】
収束の早い別のアルゴリズムとして、例えば、正規直交制約に基づく勾配法である式［４．１１］が適用可能である。この式のＱ（ω）は式［４．９］で計算されるが、式［４．９］のＹ［１ｓｔ］（ｔ）の要素やＹ（ω，ｔ）は、式［３．１］ではなく、式［９．８］で計算する。
以上で、１段目の分離処理についての説明を終わる。
【０１７５】
次に、図６に示すフローチャートのステップＳ１０５の２段目の分離処理の詳細について、図９に示すフローチャートを用いて説明する。この処理は、１段目の分離結果から求めたエンベロープを参照情報（リファレンス）として用いることで、通常のＩＣＡを適用する場合と同程度の分離精度を維持して、かつ少ない計算量で信号の分離を実現するものである。
【０１７６】
この２段目の分離処理の対象は、図６のフローのステップＳ１０３において、２段目の分離対象として選択された周波数ビン集合Ω［２ｎｄ］に属する周波数ビンである。先に説明したように、基本的な処理例としては、２段目の学習は１段目で使用されなかった周波数ビンに対して行なう。すなわち、式［８．４］を用いればよい。ただし、全ての周波数ビンに対して２段目の学習を行なってもよい。すなわち、１段目で学習済みの周波数ビンについても含めた全ての周波数ビンに対して２段目の学習を行なってもよい。この場合の周波数ビンの集合は、式［８．５］によって示すことができる。なお、１段目で学習済みの周波数ビンについても含めた全ての周波数ビンに対して２段目の学習を行なった場合は、２段目の学習結果が最終的な結果として利用される。
【０１７７】
図９に示すフローを参照して、２段目の分離処理の詳細について説明する。
ステップＳ３０１の前処理では、まず、先に１段目の処理として説明した図８のステップＳ２０１の処理と同様の処理を行う。すなわち、観測信号に対して必要に応じて正規化や無相関化を行なう。さらに、２段目の分離処理の前処理においては、これらの処理の他に、１段目分離結果のエンベロープ（式［５．１］）や、観測信号の重みつき共分散行列（式［７．７］）などの量を、２段目の分離処理の学習前に計算しておく。なお、この処理の詳細については後述する。
【０１７８】
次に、ステップＳ３０２において、２段目の分離処理の処理対象である周波数ビンの集合Ω［２ｎｄ］に含まれる周波数ビンに対応した分離行列Ｗに対して初期値を代入する。初期値は単位行列で良いが、前回の学習において求まった分離行列が存在している場合は、それを初期値として用いてもよい。また、従来の補間方法と同様に、１段目の分離処理で求まった分離行列から音源方向を推定し、その音源方向の値に基づいて学習初期値を生成してもよい。
【０１７９】
ステップＳ３０３〜Ｓ３１０は学習を表わすループであり、分離行列や分離結果が収束するまでか、あるいは予め規定した所定の回数だけ繰り返しを行なう。２段目の分離処理の処理対象である周波数ビンの集合Ω［２ｎｄ］に含まれる周波数ビンωについてステップＳ３０５〜Ｓ３０９を実行する。
【０１８０】
ステップＳ３０５〜Ｓ３０７はチャンネルについてのループであり、ステップＳ３０６において式［７．９］に示すＵｋ（ω）、すなわち、
Ｕｋ（ω）＝−Ｗｋ（ω）Ｃｋ（ω）Ｗ（ω）Ｈ
を求めると、ループを抜けたときには式［７．１０］のＵ（ω）が求まる。
【０１８１】
ステップＳ３０８において、分離行列Ｗ（ω）の変化分ΔＷ（ω）を計算する。具体的には、式［７．１１］を用いる。他の式も適用可能だが、それについては、後段で説明する［３．本発明の信号処理装置の変形例について］の項目において説明する。
【０１８２】
次に、ステップＳ２０７において、分離行列Ｗ（ω）を更新する。具体的には、先に示した式［３．３］を適用する。
【０１８３】
２段目の分離処理の処理対象である周波数ビンの集合Ω［２ｎｄ］に含まれる全ての周波数ビンωについてステップＳ３０５〜Ｓ３０９の処理を実行したら、ステップＳ３０３に戻る。学習が収束しているか、一定回数を繰り返したら、分岐を右に進み、２段目の学習処理を終了する。
【０１８４】
なお、２段目の分離処理においては、学習のループと周波数ビンのループとで順番を入れ替えることができる。
すなわち、図９に示すフローでは、周波数ビンのループ（Ｓ３０４〜Ｓ３１０）を内側、学習のループ（Ｓ３０３〜Ｓ３１０）を外側としたフローであるが、周波数ビンのループを外側、学習のループを内側とした処理としてもよい。このフローチャートを図１０に示す。
【０１８５】
図１０に示す処理フローについて説明する。なお、図９のフローにおけるステップＳ３０１（前処理），Ｓ３０２（分離行列Ｗの初期値設定）の処理の後、図１０に示すステップＳ４０１以下の処理が実行される。
【０１８６】
図１０に示すフローでは、周波数ビンのループ（Ｓ４０１〜Ｓ４０８）を外側、学習のループ（Ｓ４０２〜Ｓ４０８）を内側とした処理構成となっている。
図１０に示すフローチャートにおいては、周波数ビンループの内部を各周波数ビン単位の処理として複数並列に動作させることができる。例えば、複数のＣＰＵコアを持つシステムを用いることで、２段目の分離処理の処理対象である周波数ビンの集合Ω［２ｎｄ］に含まれる周波数ビンωの各々の学習処理を並列に動作させることができる。そのため、周波数ビンのループを逐次実行する場合に比べ、２段目の学習に要する時間を短縮することができる。
【０１８７】
なお、図８のフローチャートを参照して説明した１段目の分離処理では、学習ループ内で分離結果Ｙ［１ｓｔ］（ｔ）を毎回計算する必要があるため、ループの順番を入れ替えることはできない。
以上で、２段目の分離処理の全体シーケンスについての説明を終わる。
【０１８８】
次に、２段目の分離処理において実行する前処理、すなわち図９のフローチャートのステップＳ３０１において実行する前処理の詳細について図１１に示すフローチャートを参照して説明する。
【０１８９】
ステップＳ５０１〜Ｓ５０６は周波数ビンについてのループであり、２段目の分離処理の処理対象である周波数ビンの集合Ω［２ｎｄ］に含まれる周波数ビンωについてステップＳ５０２〜Ｓ５０５を実行する。
【０１９０】
ステップＳ５０２の正規化または無相関化は、先に１段目の処理として説明した図８のステップＳ２０１の処理と同様の処理である。すなわち、観測信号に対して必要に応じて正規化や無相関化を行なう。すなわち、必要に応じて先に示した式［９．１］〜［９．２］（正規化）または式［９．３］〜［９．７］（無相関化）を観測信号に適用する。
【０１９１】
ステップＳ５０３〜Ｓ５０５はチャンネルについてのループであり、ｋ＝１，...，ｎについて、先に示した式［７．７］を用いて、２段目の学習処理におけるスコア関数として適用可能なＣｋ（ω）を求める。なお、先に説明したように、式［７．７］のＣｋ（ω）は、１段目の処理で求められるエンベロープｒｋ（ｔ）を用いて、１／ｒｋ（ｔ）という重みを付けて観測信号の共分散行列＜Ｘ（ω，ｔ）Ｘ（ω，ｔ）Ｈ＞ｔを平均した結果であり、Ｃｋ（ω）は、「（観測信号の）重みつき共分散行列」（ｗｅｉｇｈｔｅｄ  ｃｏｖａｒｉａｎｃｅ  ｍａｔｒｉｘ）である。
【０１９２】
なお、ステップＳ５０２において正規化または無相関化を行なった場合、式［７．７］の観測信号を示すデータＸ（ω，ｔ）は正規化または無相関化を行なった後の値である。以下に示す式［１０．２］を参照。
【０１９３】
【数１０】
2011215317.tif 000013
【０１９４】
ステップＳ５０６において、周波数ビンのループを閉じる。以上で、２段目の分離処理において実行する前処理（図９に示すフローのステップＳ３０１）の詳細処理についての説明を終わる。
【０１９５】
次に、図６に示す全体処理フローにおけるステップＳ１０６の再合成処理の詳細について、図１２に示すフローチャートを参照して説明する。
ステップＳ１０６の再合成処理は、１段目・２段目それぞれの分離結果（または分離行列）を合成して全ての周波数ビンの分離行列および分離結果を生成する処理である。また、学習の後処理としてのリスケーリング処理（周波数ビン間でスケールを調整する処理）も実行される。
【０１９６】
まず、ステップＳ６０１において、
再合成後の分離行列をＷ'、
再合成後の分離結果をＹ'、
として設定し、各データの領域を確保する初期化処理を行う。
【０１９７】
ステップＳ６０２〜Ｓ６０５は周波数ビンについてのループであり、
１段目の分離処理の処理対象である周波数ビンの集合Ω［１ｓｔ］に属する周波数ビンωについて、ステップＳ６０３〜Ｓ６０４を実行する。
【０１９８】
なお、１段目の分離処理対象の周波数ビンの集合Ω［１ｓｔ］と、２段目の分離処理対象の周波数ビンの集合Ω［２ｎｄ］とに共通する要素がある場合、この共通要素については、ステップＳ６０３〜Ｓ６０４はスキップしてもよい。この後のΩ［２ｎｄ］についてのループにおいて値が上書きされるためである。
【０１９９】
例えば、２段目の分離処理対象の周波数ビンの集合Ω［２ｎｄ］として、先に示した式［８．５］（すなわち全周波数ビン）を用いた場合は、Ω［１ｓｔ］の全要素がΩ［２ｎｄ］と重複するため、ステップＳ６０２〜Ｓ６０５を完全にスキップしてもよい。
【０２００】
ステップＳ６０３において、以下の２つの処理を行なう。
先に説明した１段目の分離処理における前処理（図８のステップＳ２０１）、および２段目の分離処理における前処理（図９のステップＳ３０１）において観測信号に対する正規化または無相関化を行なっていた場合、その係数や行列を分離行列に反映させる分離行列更新処理を実行する。
【０２０１】
以下に示す式［１１．１］が観測信号に対する正規化処理を実行した場合の分離行列更新処理を示す式である。式［１１．２］が観測信号に対する無相関化処理を実行した場合の分離行列更新処理を示す式である。
【０２０２】
【数１１】
2011215317.tif 000014
【０２０３】
このような分離行列更新処理を実行することで分離行列Ｗ（ω）は、観測信号Ｘ（ω，ｔ）を正規化または無相関化した観測信号Ｘ'（ω，ｔ）を分離する行列から、観測信号Ｘ（ω，ｔ）を分離する行列へと変換される。
【０２０４】
次に、分離行列Ｗ（ω）の逆行列であるＢ（ω）を計算し（式［１１．３］）、そのｉ行目を要素とする対角行列をＷ（ω）に乗じることで、リスケーリングされた分離行列Ｗ'（ω）を得る（式［１１．４］）。ただしｉは、射影先マイクの番号である。「射影」の意味については後述する。
【０２０５】
ステップＳ６０３において、リスケーリング済みの分離行列Ｗ'（ω）が求まったら、次に、ステップＳ６０４において、式［１１．５］を用いて、リスケーリング済みの分離結果Ｙ'（ω，ｔ）を得る。これを、全てのフレームについて行なう。
【０２０６】
ここで、「射影」の意味について説明する。リスケーリング前の分離結果Ｙｋ（ω，ｔ）をマイクｉへ射影するとは、分離結果Ｙｋ（ω，ｔ）に対応した音源のみが鳴っていると仮定したときにマイクｉで観測される信号を推定することである。すなわち、各チャンネルの分離結果の各周波数ビンにおけるスケールを、その分離結果に対応した音源が一つだけ鳴っているときの観測信号のスケールに合わせるわけである。
【０２０７】
ステップＳ６０５において、周波数ビンのループを閉じる。
ステップＳ６０６〜Ｓ６０９は周波数ビンについてのループであり、２段目の分離処理対象の周波数ビンの集合Ω［２ｎｄ］に属する周波数ビンωについてステップＳ６０７〜Ｓ６０８を実行する。ステップＳ６０７〜Ｓ６０８は、先に攻め対したステップＳ６０３〜Ｓ６０４の処理と同様であるため、説明は省略する。
【０２０８】
ステップＳ６０９が終了すると、分離行列Ｗ'（ω）と、分離結果Ｙ'（ω，ｔ）にそれぞれ、全周波数ビンかつリスケーリング済みの分離行列と分離結果とが格納される。
以上で、処理の説明を終わる。
【０２０９】
［３．本発明の信号処理装置の変形例について］
次に、本発明の信号処理装置の変形例について説明する。
本発明の信号処理装置の変形例として、以下の２種類の変形例（１），（２）が存在する。
（１）．２段目の信号分離処理において、他のアルゴリズムを使用する。
（２）．１段目の信号分離処理において、ＩＣＡ以外を使用する。
【０２１０】
さらに、変形例（１）において適用する２段目の信号分離処理に適用するアルゴリズムとしては、例えば以下のアルゴリズムがある。
（１ａ）  ＥＡＳＩ
（１ｂ）  正規直交制約付き勾配法
（１ｃ）  不動点法
（１ｄ）  閉形式
以下、これらの変形例について説明する。
【０２１１】
［３−１．２段目の信号分離処理において、他のアルゴリズムを使用する変形例］
まず、２段目の信号分離処理において、他のアルゴリズムを使用する変形例について説明する。先に説明した実施例では、２段目の信号分離処理において式［７．１］〜［７．１１］を適用した自然勾配法アルゴリズムを用いていた。２段目の信号分離処理においては、この自然勾配法アルゴリズム以外に、上記のＥＡＳＩ、正規直交制約付き勾配法、不動点法、閉形式などが適用可能である。以下、これらのアルゴリズムについて説明する。
【０２１２】
（１ａ）  ＥＡＳＩ
ＥＡＳＩとは、「独立性による等分散適応的分離（ＥＡＳＩ：Ｅｑｕｉｖａｒｉａｎｔ  Ａｄａｐｔｉｖｅ  Ｓｅｐａｒａｔｉｏｎ  ｖｉａ  Ｉｎｄｅｐｅｎｄｅｎｃｅ）の略である。従来のＥＡＳＩの式は、以下に示す式［１２．１］の通りであるが、本発明の２段目の学習においては、式［１２．１］を式［１２．３］のように変形して利用できる。
【０２１３】
【数１２】
2011215317.tif 000015
【０２１４】
ただし、この式［１２．３］中のＲ（ω）は式［１２．２］で計算される、観測信号の共分散行列であり、Ｕ（ω）は先に示した式［７．９］〜［７．１０］で計算される行列である。これらの式において、フレーム間平均＜・＞ｔを含む量は学習前に計算しておくことができるため、式［１２．３］の計算量は式［１２．１］よりも小さい。
【０２１５】
（１ｂ）  正規直交制約付き勾配法
２段目の信号分離処理における前処理（図９のフローのステップＳ３０１）において無相関化（式［９．３］〜［９．７］）を行なってある場合は、分離行列Ｗ（ω）が正規直交行列（Ｗ（ω）Ｗ（ω）Ｈ＝Ｉを満たす行列）に限定されるため、収束の早い別のアルゴリズムも適当可能である。ここでは、正規直交制約に基づく勾配法を適用する場合について説明する。
【０２１６】
従来の正規直交制約付き勾配法の式は先に示した式［１０．１］の通りであるが、本発明の２段目の学習においては、式［１０．６］のように変形できる。ただし、この式［１０．６］のＵ'（ω）は式［１０．４］〜［１０．５］  で計算され、式［１０．４］のＣｋ'（ω）は式［１０．２］〜［１０．３］で計算される。これらの式も、計算量は式［１０．１］よりも小さい。
【０２１７】
（１ｃ）  不動点法
無相関化を前提とし、分離行列を正規直交行列に制限するアルゴリズムは、他にも存在する。ここでは、不動点法について説明する。このアルゴリズムは、分離行列の差文ΔＷ（ω）の代わりに分離行列Ｗ（ω）を直接更新する方法であり、通常は、以下に示す式［１３．１］で表わされる更新を行う処理である。
【０２１８】
【数１３】
2011215317.tif 000016
【０２１９】
ただし、この式［１３．１］のｏｒｔｈｉｎｏｒｍａｌ（・）は、カッコ内の行列を正規直交行列へ変換する操作を表わす。（複素数値をとる行列に対してはユニタリ行列へ変換する。）すなわち、ｏｒｔｈｉｎｏｒｍａｌ（Ａ）の値をＢとおくと（式［１３．２］）、Ｂは式［１３．３］を満たす。
【０２２０】
この式も、本発明の２段目の学習で用いる場合は、計算量の小さな形に変形可能である。変形した式は、式［１３．４］〜［１３．６］で表わされる。ただし、式［１３．５］に含まれるＣｋ'（ω）は、正規直交制約付き勾配法の場合と同様に、先に説明した式［１０．２］〜［１０．３］によって計算される。
【０２２１】
（１ｄ）  閉形式
２段目の分離処理においては、分離行列Ｗ（ω）を閉形式（反復を用いない式）で求めることも可能である。その方式について以下の式を参照して説明する。
【０２２２】
【数１４】
2011215317.tif 000017
【０２２３】
式［１４．１］のＣ１（ω）〜Ｃｎ（ω）はそれぞれ、式［７．７］で定義される行列である。行列Ｗ（ω）が、式［１４．１］の各式を同時に満たす場合、そのようなＷ（ω）を式［７．１１］に代入するとΔＷ（ω）＝０が得られる。すなわち、式［１４．１］を同時に満たすＷ（ω）は、式［７．１１］で表わされる学習が収束したときの値の1つとなっている。式［１４．１］は行列の同時対角化と呼ばれ、以下の手順によって閉形式で解けることが知られている。
【０２２４】
Ｃ１（ω）〜Ｃｎ（ω）の総和をＣとする（式［１４．２］）。次に行列Ｃの−１／２乗を求め、それをＦと置く。具体的には、行列Ｃに固有値分解を適用し（式［１４．３］）、その結果から式［１４．４］によってＦを求める。
次に、式［１４．５］によって定義される行列Ｇを求める。この式において、Ｃｋ（ω）はＣ１（ω）〜Ｃｎ（ω）のどれの行列でもよく、どれを用いても最終的に同一のＷ（ω）が求まることが数学的に証明されている。行列Ｇに対して固有値分解を適用し、その結果を用いて式［１４．７］の右辺のような計算を行なうと、それが目的の分離行列Ｗ（ω）である。
式［１４．７］を式［１４．１］の左辺に代入し、さらに式［１４．４］〜式［１４．６］の関係を用いると、単位行列が得られるため、式［１４．７］で求めたＷ（ω）は式［１４．１］の解になっている。
【０２２５】
なお、同時対角化によって分離行列を求める方法について、詳細は以下の論文を参照されたい。以下の論文と本発明との違いは、前者では複数の区間でそれぞれ計算された観測信号共分散行列を同時対角化するのに対し、本発明では、同一の区間において異なる重みづけがなされた複数の重みつき共分散行列を同時対角化している点である。
『解析型二次統計量ICAとkurtosisに基づく学習区間判定を用いたリアルタイムブラインド音源抽出』藤原  裕樹  高橋  祐  橘  健太郎  宮部  滋樹  猿渡  洋  鹿野  清宏  田中  章  電子情報通信学会論文誌A  Vol.J92-A  No.5  pp.314-326発行日:2009/05/01
【０２２６】
［３−２．１段目の信号分離処理において、ＩＣＡ以外を使用する変形例］
先に図３を参照して説明した通り、本発明の２段目の分離では、１段目の分離で得た分離結果から時間方向エンベロープを計算し、それを学習内で使用している。言い換えると、時間エンベロープが計算できるのであれば、１段目の分離はＩＣＡに基づいて実行する必要はなく、さらに、周波数ごとに分離結果が求まっている必要もない。
【０２２７】
ここでは、１段目の信号分離処理において、ＩＣＡ以外の音源分離方式として、指向性マイクを使う方法について説明する。
【０２２８】
図１３は、指向性マイクの配置の例である。３１１〜３１４は指向性マイクであり、
れぞれ矢印の方向に指向性があるとする。すると、音源１，３０１はマイク１，３１１で最も強く観測され、音源２，３０２はマイク４，３１４で最も強く観測されるはずである。ただし、指向性の強さによっては、他のマイクでもある程度は観測される。例えば、音源１，３０１の音は、マイク２，３１２やマイク４，３１４の観測信号にも、ある程度は混入する。
【０２２９】
そこで、指向性マイクの観測信号から時間方向エンベロープをそれぞれ生成し、そのエンベロープを用いて２段目の分離を行なうと、精度の高い分離結果が得られる。具体的には、マイク１，３１１〜マイク４，３１４の観測信号を短時間フーリエ変換（ＳＴＦＴ）した結果を観測信号Ｘ１（ω，ｔ）〜Ｘ４（ω，ｔ）とし、それぞれについて、以下に示す式［１５．１］を用いて時間方向エンベロープｒｋ（ｔ）を計算する。ここで求まったｒｋ（ｔ）を２段目の信号分離処理に用いる。
【０２３０】
【数１５】
2011215317.tif 000018
【０２３１】
この場合の処理は、以下のようになる。
まず、複数の指向性マイクが取得した複数音源の出力の混合信号に対する短時間フーリエ変換（ＳＴＦＴ）によって時間周波数領域の観測信号を生成する。
さらに、音源分離部は、観測信号から指向性マイク各々に対応するチャンネル対応の時間方向のパワー変化に相当するエンベロープを算出し、エンベロープを固定値として設定したスコア関数を用いて、混合信号を分離する分離行列を算出する学習処理を実行して分離結果を取得する。この分離処理は、図９または図１０を参照して説明した分離処理と同様の処理である。
【０２３２】
なお、この例では指向性マイクを用いたが、代わりに、複数マイクによるビームフォーミングの技術を用いて、指向性や死角などを動的に形成してもよい。
【０２３３】
［４．本発明の信号処理による効果の説明］
次に、本発明の信号処理による効果について説明する。
実データを用いて、本発明の方法（２段目位の分離）が、従来の方法である全周波数ビンにＩＣＡを適用した場合と同等の分離結果が得られることについて説明する。
【０２３４】
収録環境を図１４に示す。マイクを４本（マイク１，４１１〜マイク４，４１４を用い、それぞれ５ｃｍ間隔で設置した。スピーカーを、マイク３，４１３から１ｍ離れた２つの地点に設置した。正面スピーカー（音源１）４０１と、左スピーカー（音源２）４０２である。
【０２３５】
正面スピーカー（音源１）４０１からは「ストップ」という音声を、左スピーカー（音源２）４０２からは音楽を鳴らした。
収録は、それぞれの音源を単独に鳴らして行ない、波形の混合は計算機上で行なった。  サンプリング周波数は１６ｋＨｚであり、観測信号の長さは４秒である。
【０２３６】
短時間フーリエ変換（ＳＴＦＴ）はポイント数５１２、シフト幅１２８を用いている。４秒のデータにこのＳＴＦＴを作用させると、周波数ビン数２５７、フレーム数２４９のスペクトログラムが生成される。
【０２３７】
図１４に示す収録環境での実験結果として得られる原信号と観測信号のスペクトログラムを図１５に示す。図１５には、
（ａ）正面スピーカー（音源１）４０１由来の成分
（ｂ）左スピーカー（音源２）４０２由来の成分
（ｃ）観測信号
（ｄ）ＳＩＲ（ｓｉｇｎａｌ−ｔｏ−ｉｎｔｅｒｆｅｒｅｎｃｅ  ｒａｔｉｏ）
これらの信号を示している。
信号（ａ）〜（ｃ）において、横軸がフレーム、縦軸が周波数に相当し、縦軸は、上方向がより高い周波数となる。（ｄ）ＳＩＲについては後段で説明する。
【０２３８】
（ａ）正面スピーカー（音源１）４０１由来の成分に示す信号５１１〜５１４はそれぞれ、正面スピーカー（音源１）４０１から「ストップ」という音声を鳴らしたときに各マイク（マイク１，４１１〜マイク４，４１４）で同時に観測された信号である。「ストップ」という音声は一瞬のみ出力され、この部分が黒い縦ライントして示されている。
【０２３９】
（ｂ）左スピーカー（音源２）４０２由来の成分に示す信号５２１〜５２４はそれぞれ、左スピーカー（音源２）４０２から「音楽」を鳴らしたときに各マイク（マイク１，４１１〜マイク４，４１４）で同時に観測された信号である。
音楽は継続的に出力されているため、全体として、横方向に広がった観測信号が得られている。
【０２４０】
（ｃ）観測信号は、正面スピーカー（音源１）４０１からの「ストップ」という音声と、左スピーカー（音源２）４０２からの「音楽」が同時に鳴った場合の観測信号として各マイク（マイク１，４１１〜マイク４，４１４）で同時に観測された信号である。（ｃ）観測信号は、信号（ａ），（ｂ）の和として表わされる。
【０２４１】
（ｄ）ＳＩＲは、周波数ビンごとのＳＩＲ（ｓｉｇｎａｌ−ｔｏ−ｉｎｔｅｒｆｅｒｅｎｃｅ  ｒａｔｉｏ）をプロットしたものである。ＳＩＲとは、対象とする信号（この例では、周波数ビンごとの観測信号）において、原信号がどのようなパワー比で混合しているかを常用対数で表わした値である。例えば、ある周波数ビンの観測信号において、音源１と音源２とが１：１０のパワー比で混合されている場合、
音源１についてのＳＩＲは１０ｌｏｇ（１／１０）＝−１０、
音源２についてのＳＩＲは１０ｌｏｇ（１０／１）＝１０、
となる。
【０２４２】
この図１５（ｄ）においては、ほぼ右側に示される丸のついた折れ線が左スピーカー（音源２）４０２についてのＳＩＲを表わしている。左側の無印の折れ線が正面スピーカー（音源１）４０１についてのＳＩＲを表わしている。縦軸が周波数に相当し、上方向が高い周波数となる。図１５（ｄ）に示すＳＩＲデータにより、観測信号については、ほとんどの周波数ビンにおいて音源２（左スピーカー（音源２）４０２）の音が優勢であり、音源１（正面スピーカー（音源１）４０１）が優勢な周波数ビンは高域の一部に限られていることが分かる。
【０２４３】
次に、図１４に示す収録環境で、図１５に示すような観測信号の得られる状況で、
（Ａ）従来型の信号分離処理を行った場合の分離結果と、
（Ｂ）本発明に従った分離処理を行った場合の分離結果、
についてのデータを、図１６、図１７を参照して説明する。
【０２４４】
従来信号分離処理、すなわち、全周波数領域において同様の学習処理を伴うＩＣＡによる分離処理を行った場合の分離結果を図１６に示す。全周波数ビンに対して、無相関化を適用した後で、式［４．１１］を適用した。ループ回数は、１５０回である。
【０２４５】
４つのチャンネルの（ａ）分離結果に示す分離結果信号６１１〜６１４のうち、正面スピーカー（音源１）４０１（「ストップ」）の音は、分離結果信号６１３として示されている。
また、左スピーカー（音源２）４０２の（音楽）に対応する音は、分離結果信号６１１に現れている。なお、分離結果信号６１２，６１４は、どちらの音源にも対応しない、無音に近い成分であり、音源数（＝２）よりもマイク数（＝４）の方が多い場合は、このような信号も分離結果の中に現れる。
【０２４６】
次に、本発明による分離結果を図１７に示す。図１７には、
（１）１段目の信号分離処理において、分離処理対象とする周波数ビンを１／４に間引いた場合の（１ａ）分離結果と（１ｂ）ＳＩＲ、
（２）１段目の信号分離処理において、分離処理対象とする周波数ビンを１／１６に間引いた場合の（２ａ）分離結果と（２ｂ）ＳＩＲ、
これらのデータを示している。
【０２４７】
周波数ビンを１／４に間引いた場合の計算量は、従来法に比較するとほぼ１／４に削減され、周波数ビンを１／１６に間引いた場合の計算量は、従来法に比較するとほぼ１／１６に削減される。
【０２４８】
分離処理対象とする周波数ビンを１／４に間引いた場合の（１ａ）分離結果に示す分離結果信号７１１〜７１４において、１段目の学習は、２ｋＨｚ〜４ｋＨｚに相当する周波数ビン７２０に対して行ない、２段目の学習は全周波数ビンに対して（式［８．５］参照）行なった。１段目の学習では正規直交制約付き勾配法（式［４．１１］）を、２段目の学習ではＥＡＳＩ（式［１２．３］）を用いた。反復回数は、どちらも１５０回である。
この実験では、正面スピーカー（音源１）４０１（「ストップ」）の音は、分離結果信号７１３に、左スピーカー（音源２）４０２の（音楽）に対応する音は、分離結果信号７１２に現れている。
【０２４９】
また、分離処理対象とする周波数ビンを１／１６に間引いた場合の（２ａ）分離結果に示す分離結果信号７３１〜７３４において、１段目の学習は、２ｋＨｚ〜４ｋＨｚに相当する周波数ビン７２０のさらに１／４の周波数ビンのみに対して行なった。周波数ビンの選別方法は式［８．１］と式［８．２］との組み合わせであり、さらに式［８．２］においてα＝４とした。その結果、１段目の学習において周波数ビンは１／１６に間引かれている。
【０２５０】
２段目の学習は全周波数ビンに対して（式［８．５］参照）行なった。１段目の学習では正規直交制約付き勾配法（式［４．１１］）を、２段目の学習ではＥＡＳＩ（式［１２．３］）を用いた。反復回数は、どちらも１５０回である。
この実験では、正面スピーカー（音源１）４０１（「ストップ」）の音は、分離結果信号７３３に、左スピーカー（音源２）４０２の（音楽）に対応する音は、分離結果信号７３２および分離結果７３４に現れている。
【０２５１】
このように、本発明は、１段目の分離（限定された周波数ビンに対するＩＣＡ）と２段目の分離（１段目の分離結果から計算された時間方向エンベロープを利用した学習）とを組み合わせることで、従来法（全周波数ビンに対してＩＣＡを適用）と比較して、同等の分離精度を保ちながら、計算量を削減することができる。
【０２５２】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０２５３】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２５４】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０２５５】
以上、説明したように、本発明の一実施例の構成によれば、混合信号に対する音源分離を高精度かつ計算量を削減して行うことを可能とする装置、方法が提供される。具体的には、複数音源からの出力を混合した混合信号からなる観測信号から選択された第１周波数ビンに対して１段目の分離処理を実行する。例えば、独立成分分析（ＩＣＡ）を適用した学習処理により分離行列を求めて第１分離結果を生成する。さらに第１分離結果に基づいてチャンネル対応の時間方向のパワー変化に相当するエンベロープを求め。エンベロープを固定値として設定したスコア関数を適用して第２周波数ビンに対して２段目の分離処理を実行して第２分離結果を取得する。最後に第１分離結果と第２分離結果とを統合して最終的な分離結果を生成する。この処理により、第２分離処理における学習処理の計算量が大幅に削減される。
【符号の説明】
【０２５６】
１５１  マイクロホン
１５２  ＡＤ変換部
１５３  フーリエ変換部（ＳＴＦＴ部）
１５４  音源分離部
１５５  逆フーリエ変換部（逆ＦＴ部）
１５６  出力デバイス（または後段処理部）
１７１  制御部
１７２  観測信号記憶部
１７３  周波数ビン分類部
１７４  周波数ビン集合（１段目用）
１７５  １段目分離部
１７６  １段目分離行列および分離結果記憶部
１７７  重みつき共分散行列計算部
１７８  重みつき共分散行列記憶部
１７９  周波数ビン集合（２段目用）
１８０  ２段目分離部
１８１  ２段目分離行列および分離結果記憶部
１８２  再合成部
１８３  全体分離行列および分離結果記憶部
３０１，３０２  音源
３１１〜３１４  マイク
４０１，４０２  音源
４１１〜４１４  マイク
【図４】
2011215317.tif 000019
【図５】
2011215317.tif 000020
【図６】
2011215317.tif 000021
【図８】
2011215317.tif 000022
【図９】
2011215317.tif 000023
【図１０】
2011215317.tif 000024
【図１１】
2011215317.tif 000025
【図１２】
2011215317.tif 000026
【図１４】
2011215317.tif 000027
【図１】
2011215317.tif 000028
【図２】
2011215317.tif 000029
【図３】
2011215317.tif 000030
【図７】
2011215317.tif 000031
【図１３】
2011215317.tif 000032
【図１５】
2011215317.tif 000033
【図１６】
2011215317.tif 000034
【図１７】
2011215317.tif 000035