(57)【要約】【課題】  ＬｉｆｔｉｎｇをＦａｓｔＩＣＡに組み合わせることにより、いかなる混合信号に対しても有効に高速分離を可能とした。【解決手段】  処理部１は、入力部２又は記憶部５の観測信号ファイル５１からＮ種類（Ｎ個）の観測信号を入力する（Ｓ１０）。処理部１は、入力された観測信号にＬｉｆｔｉｎｇをかける（Ｓ２０）。処理部１は、Ｌｉｆｔｉｎｇされた信号をＦａｓｔＩＣＡで分離する（Ｓ３０）。処理部１は、分離された信号に逆Ｌｉｆｔｉｎｇをかける（Ｓ４０）。処理部１は、逆Ｌｉｆｔｉｎｇされた信号を原信号を表す分離信号として記憶部５の分離信号ファイル５２に記憶、出力部３に出力、及び／又は、表示部４に表示する（Ｓ５０）。【選択図】  図７
2005078579.tif 000002
【特許請求の範囲】
【請求項１】
処理部は、互いに独立なＮ種類の原信号が線形に重ね合わされたＮ種類の観測信号を入力するステップと、
処理部は、Ｎ種類の観測信号の各データを実際値と予測値との誤差に置き換えて、各観測信号の信号分布がどれだけ尖っているかを表す尖度を高めるための、ウェーブレット変換の一種で可逆なリフティング処理を実行するステップと、
処理部は、リフティング処理された尖度の高いＮ種類の信号を、独立性の基準として尖度又はネゲントロピーを用いて、Ｎ種類の信号間の独立性が最大になるように、Ｎ種類の独立成分信号に分離するＦａｓｔＩＣＡ（Ｆａｓｔ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：高速独立成分分析）処理を実行するステップと、
処理部は、独立成分信号を前記リフティング処理の逆変換により、尖度を低くするように戻すことにより、Ｎ種類の分離信号を求めるための逆リフティング処理を実行するステップと、
処理部は、Ｎ種類の分離信号を記憶部に記憶、出力部に出力、及び／又は、表示部に表示するステップと、
を含む信号分離方法。
【請求項２】
前記ＦａｓｔＩＣＡステップは、
処理部は、リフティング処理されたＮ種類の信号を行又は列のいずれかとする行列Ｘに対して、各データ系列から各平均値を減算することにより中心化するステップと、
処理部は、さらに、データ系列間の相関を無相関とすることにより白色化して、行列Ｘ’を求めるステップと、
処理部は、分離行列Ｗを構成するベクトルｗｉ（ｉ＝１、・・・、Ｎ）の各成分の初期値をランダムに生成するステップと、
処理部は、各行又は列のいずれかが中心化及び白色化された行列Ｘ’を構成するベクトルｘ’ｉ（ｉ＝１、・・・、Ｎ）を用いて、独立性の指標である尖度又はネゲントロピーに基づき、非ガウス性を最大化するための予め定められた漸化式によりベクトルｗｉを更新することにより、分離行列Ｗを決定するステップと、
処理部は、中心化及び白色化される前の行列Ｘと分離行列Ｗとの積により、独立成分信号を決定するステップと、
を含む請求項１に記載の信号分離方法。
【請求項３】
前記分離行列Ｗを更新するステップは、さらに、
処理部は、分離行列Ｗを構成するベクトルｗｉの大きさを１とするステップと、
処理部は、ベクトルｗｉを他のベクトルｗｊに対して直交化するステップと、
処理部は、直交化されたベクトルｗｉの大きさを１とするステップと、
処理部は、更新前後のベクトルｗｉの距離が近くなるように収束するまで上記各ステップを繰り返しベクトルｗｉを求めるステップと、
を含む請求項２に記載の信号分離方法。
【請求項４】
前記漸化式は、
ｗｉ←Ｅ（ｘｉ（ｗｉＴｘｉ）３）−３ｗｉ 
（ここで、Ｅは算術平均）
である請求項２又は３に記載の信号分離方法。
【請求項５】
前記漸化式は、次式である請求項２又は３に記載の信号分離方法。
ｗｉ←Ｅ（ｘ’ｉｇ（ｗｉＴｘ’ｉ））−Ｅ（ｇ’（ｗｉＴｘ’ｉ））ｗｉ
（ここに、関数ｇ及びそれを微分した関数ｇ’は、次のいずれかである。
ｇ1（ｙ）＝ｔａｎｈ（ａ＊ｙ）、ｇ’1（ｙ）＝ａ＊（１−ｔａｎｈ2（ａ＊ｙ））
（ａは、１以上２以下の定数）
ｇ2（ｙ）＝ｙ＊ｅｘｐ（−ｙ2／２）、ｇ’2（ｙ）＝（１−ｙ2）＊ｅｘｐ（−ｙ2／２）
ｇ3（ｙ）＝ｙ3、ｇ’3（ｙ）＝３＊ｙ２                              ）
【請求項６】
処理部は、偶数番又は奇数番の一方のデータをその両側のデータの平均と予測して、平均との誤差に置き換えるステップと、
処理部は、偶数番又は奇数番の他方のデータを両側のデータにより調整するステップと、
処理部は、前記調整するステップにより調整した部分を第１の部分に、前記誤差に置き換えるステップにより置き換えた部分を第２の部分にソートするステップと、
処理部は、第１の部分に対して上記各ステップを繰り返し実行するステップと
を含む請求項１乃至５のいずれかに記載の信号分離方法。
【請求項７】
処理部は、計算範囲を設定するステップと、
処理部は、第１の部分のデータを奇数部分に、第２の部分のデータを偶数部分に入れ替えるステップと、
処理部は、奇数番のデータを両側のデータにより調整するステップと、
処理部は、偶数番のデータに、両側のデータの平均を加えるステップと、
処理部は、計算範囲を倍として、上記各ステップを繰り返し実行するステップと、
を含む請求項１乃至６のいずれかに記載の信号分離方法。
【請求項８】
信号は、音声又は画像であることを特徴とする請求項１乃至７のいずれかに記載の信号分離方法。
【請求項９】
処理部は、互いに独立なＮ種類の原信号が線形に重ね合わされたＮ種類の観測信号を入力するステップと、
処理部は、Ｎ種類の観測信号の各データを実際値と予測値との誤差に置き換えて、各観測信号の信号分布がどれだけ尖っているかを表す尖度を高めるための、ウェーブレット変換の一種で可逆的なリフティング処理を実行するステップと、
処理部は、リフティング処理された尖度の高いＮ種類の信号を、独立性の基準として尖度又はネゲントロピーを用いて、Ｎ種類の信号間の独立性が最大になるように、Ｎ種類の独立成分信号に分離するＦａｓｔＩＣＡ（Ｆａｓｔ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：高速独立成分分析）処理を実行するステップと、
処理部は、独立成分信号を前記リフティング処理の逆変換により、尖度を低くするように戻すことにより、Ｎ種類の分離信号を求めるための逆リフティング処理を実行するステップと、
処理部は、Ｎ種類の分離信号を記憶部に記憶、出力部に出力、及び／又は、表示部に表示するステップと、
をコンピュータに実行させるための信号分離プログラム。
【請求項１０】
処理部は、互いに独立なＮ種類の原信号が線形に重ね合わされたＮ種類の観測信号を入力するステップと、
処理部は、Ｎ種類の観測信号の各データを実際値と予測値との誤差に置き換えて、各観測信号の信号分布がどれだけ尖っているかを表す尖度を高めるための、ウェーブレット変換の一種で可逆的なリフティング処理を実行するステップと、
処理部は、リフティング処理された尖度の高いＮ種類の信号を、独立性の基準として尖度又はネゲントロピーを用いて、Ｎ種類の信号間の独立性が最大になるように、Ｎ種類の独立成分信号に分離するＦａｓｔＩＣＡ（Ｆａｓｔ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：高速独立成分分析）処理を実行するステップと、
処理部は、独立成分信号を前記リフティング処理の逆変換により、尖度を低くするように戻すことにより、Ｎ種類の分離信号を求めるための逆リフティング処理を実行するステップと、
処理部は、Ｎ種類の分離信号を記憶部に記憶、出力部に出力、及び／又は、表示部に表示するステップと、
をコンピュータに実行させるための信号分離プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号分離方法、信号分離プログラム及びそのプログラムを記録した記録媒体に係り、特に、信号解析・ノイズ除去・圧縮に使われているウェーブレット変換をＦａｓｔＩＣＡと呼ばれる独立成分分析に適用することで、従来のＦａｓｔＩＣＡでは分離不可能であった信号を分離する信号分離方法、信号分離プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
一般に、複数の互いに独立な信号源の信号が線形に混合された観測信号を元の独立した信号に分離抽出する手法が独立成分分析（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：ＩＣＡ）である。本発明ではいくつかあるＩＣＡのアルゴリズムのうち収束が高速であるＦａｓｔＩＣＡ（高速独立成分分析）に着目した。ＦａｓｔＩＣＡは、高速に独立成分分析を行うアルゴリズムであり、数ある独立成分分析のアルゴリズムのなかでも、その高速性ゆえに最も広く使われている。ＦａｓｔＩＣＡの詳細な説明は非特許文献１を参照。また、独立成分分析については、例えば、非特許文献２を参照。
【０００３】
また、特許文献１には、背景雑音、反射、マルチパス等が存在する実環境において混合された電波、光、音等の源信号を、その観測信号のみを使って分離処理するためのブラインド信号分離処理装置が記載されている。
また、Ｌｉｆｔｉｎｇ（リフティング）とはウェーブレット変換の一種であり、元々圧縮やノイズ除去などに応用されていた。ウェーブレットの中でも高速で可逆であることがＬｉｆｔｉｎｇの特徴である。Ｌｉｆｔｉｎｇについての詳細な説明は非特許文献３を参照。
【０００４】
【特許文献１】特開２００３−０７８４２３号公報
【非特許文献１】Ａ．Ｈｙｖａｒｉｎｅｎ、Ｊ．Ｋａｒｈｕｎｅｎ  ａｎｄ  Ｅ．Ｏｊａ、”Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ”Ｗｉｌｅｙ．２００１、ｃｈａｐｔｅｒ  ８  ｐｐ．１６５−２０３．
【非特許文献２】甘利俊一・村田昇編著、「独立成分分析」数理科学  ＳＧＣライブラリ  １８、サイエンス社、２００２
【非特許文献３】Ｗ．Ｓｗｅｌｄｅｎｓ、”Ｗａｖｅｌｅｔｓ  ａｎｄ  ｔｈｅ  Ｌｉｆｔｉｎｇ  Ｓｃｈｅｍｅ：Ａ  ５  Ｍｉｎｕｔｅ  Ｔｏｕｒ”Ｚｅｉｔｓｃｈｒｉｆｔ  ｆｕｒ  Ａｎｇｅｗａｎｄｔｅ  Ｍａｔｈｅｍａｔｉｋ  ｕｎｄ  Ｍｅｃｈａｎｉｋ、  ｖｏｌ．７６（Ｓｕｐｐｌ．２）、ｐｐ．４１−４４、１９９６．
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のＦａｓｔＩＣＡは、信号の分布が尖っている（尖度が高い）信号に対しては有効だが、信号の分布が平坦な（尖度が低い）場合はうまく分離できない場合がある。これは、ＦａｓｔＩＣＡが、分布の尖度を頼りに元の信号の分離を行うためである。尖度が低い信号に対して、ＦａｓｔＩＣＡ以外に有効なＩＣＡのアルゴリズムも存在するが、計算量が多く分離に時間がかかることが課題であった。
そこで本発明は、以上の点に鑑み、Ｌｉｆｔｉｎｇと呼ばれるウェーブレット変換をＦａｓｔＩＣＡに組み合わせることにより、今まで分離が困難だった信号も含めいかなる観測信号に対しても有効に高速分離を可能とした信号分離方法及びプログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
ＦａｓｔＩＣＡは非ガウス性を独立性の基準にして分離を行うが、非ガウス性を測る量のひとつとして尖度がある。ここで、尖度とは信号の分布の尖り具合を表す。一般に、尖度が高ければＦａｓｔＩＣＡは非常に有効である。一方、Ｌｉｆｔｉｎｇは、信号の尖度を高める効果があるので、これをＦａｓｔＩＣＡに適用することにより信号の尖度に関係なくどんな観測信号でも精度の高い分離が可能になる。
本発明の解決手段によると、
処理部は、互いに独立なＮ種類の原信号が線形に重ね合わされたＮ種類の観測信号を入力するステップと、
処理部は、Ｎ種類の観測信号の各データを実際値と予測値との誤差に置き換えて、各観測信号の信号分布がどれだけ尖っているかを表す尖度を高めるための、ウェーブレット変換の一種で可逆なリフティング処理を実行するステップと、
処理部は、リフティング処理された尖度の高いＮ種類の信号を、独立性の基準として尖度又はネゲントロピーを用いて、Ｎ種類の信号間の独立性が最大になるように、Ｎ種類の独立成分信号に分離するＦａｓｔＩＣＡ（Ｆａｓｔ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：高速独立成分分析）処理を実行するステップと、
処理部は、独立成分信号を前記リフティング処理の逆変換により、尖度を低くするように戻すことにより、Ｎ種類の分離信号を求めるための逆リフティング処理を実行するステップと、
処理部は、Ｎ種類の分離信号を記憶部に記憶、出力部に出力、及び／又は、表示部に表示するステップと、
を含む信号分離方法、及び、これら各ステップをコンピュータに実行させるための信号分離プログラム並びに該プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【発明の効果】
【０００７】
従来、ＦａｓｔＩＣＡは高速だが尖度の低い信号は分離できない場合があったが、本発明により、今までは分離できない信号も信号の分布によらずＦａｓｔＩＣＡの高速性を失うことなく分離可能になる。
【発明を実施するための最良の形態】
【０００８】
本実施の形態では、主に、複数種類の信号を行列の各行で表現した場合について説明するが、複数種類の信号を行列の各列で表現してもよく、この場合も適宜同様の処理を実行することができる。
【０００９】
１．信号の分離
本実施の形態において扱う信号は、音声、画像等に関わらずあらゆる信号を用いることができる。ここでは、分離信号については、分かりやすくするために、まず、音声について説明する。
図１及び図２に、音声分離についての説明図（１）及び（２）を示す。
例えば、部屋のなかに、静かな音楽が流れており、さらに、ある人が本を朗読しているとする。そのとき、信号源は音楽と朗読の２種類である。この場合、Ｎ＝２である。この部屋に録音用のマイクが２つ互いに離れた場所に設置してあり、それぞれのマイクで音を録音する。録音された音は、マイクが２つあるので、２種類ある。ここで、これら２つのマイクで録音した音から、音楽だけの音と朗読だけの音に分離抽出したいということを考える。この手法が、独立成分分析である。
ここでは、音の例を挙げたが、対象は音に限る必要はなく、画像などの他の信号でも可能である。本実施の形態では、画像での効果が大きいので、画像を例にしたサンプルが多いが、音声でも全く問題なく使える。
図３に、画像分離についての説明図を示す。
観測信号とは、上述の音声の場合では、与えられているのは、マイクで録音した音だけである。一方、画像の場合では、観測画像と書かれている画像だけである。また、分離信号とは、上述の音声の例では、独立成分解析を施した後の「音楽だけの音」と「朗読だけの音」を意味する。画像の例では、重なり合った画像（観測画像）から分離抽出された画像を分離信号と読んでいる。
独立成分解析のアルゴリズムの目的は、観測信号から分離信号を求めることだが、観測信号は分離信号が線形に重なり合って生成されていると仮定するので、通常、観測信号と分離信号の関係は行列で表現される。つまり、観測信号にある行列をかければ、分離信号が得られるはずであり、この行列さえわかれば、分離信号が得られることになる。この行列のことを分離行列と呼ぶ。オリジナルのＦａｓｔＩＣＡでは、この分離行列を１行ずつ求めている。なお、一度に、この分離行列を求めるアルゴリズムも提案されている。
【００１０】
２．ＦａｓｔＩＣＡ
独立成分分析の問題は、互いに独立なＮ種類の情報源から発生した信号が線形に重ね合わされたＮ種類の観測情報を得たとき、それら観測情報から元の独立な情報を分離抽出して復元したいという問題である。
Ｎ＝２のときの独立成分分析の問題を例にして説明する。（以下、一般のＮについても、全く同じ議論を展開できる。）Ｎ＝２のとき、観測信号を表す確率変数ｙ１、ｙ２に対して、独立な情報源の信号を表す確率変数ｘ１、ｘ２が存在して、次の関係を満たす。
ｙ１＝ａ＊ｘ１＋ｂ＊ｘ２
ｙ２＝ｃ＊ｘ１＋ｄ＊ｘ２
ここで、ａ、ｂ、ｃ、ｄはａｄ−ｂｃ≠０を満たす未知定数である。前述した、独立成分分析の問題は、観測信号ｙ１、ｙ２から独立な情報源の信号ｘ１、ｘ２を分離抽出して復元したいという問題である。そのためには、未知定数ａ、ｂ、ｃ、ｄがわかればよい。実際、上の線形な関係より、既知の観測情報で構成されるベクトル［ｙ１  ｙ２］の転置（この場合、２次元の縦ベクトルになる）に対して、２×２の行列［ａ  ｂ；ｃ  ｄ］（１行目がａ  ｂ、２行目がｃ  ｄの行列、混合行列と呼んでいる）の逆行列（これも、２×２の行列。この行列を分離行列という）を左からかければ、情報源の信号［ｘ１  ｘ２］が得られる。
【００１１】
ここで、問題として、既知なのは、「Ｎ種類の観測情報（上の例では、Ｎ＝２）」と「情報源が互いに独立である」と「情報源の信号を線形に重ね合わせると観測信号が得られる（ただし、その重ね合わせの比率などは未知）」という３種類の情報だけである。そこで、これら３種類の情報から、上記の問題を解くのであるが、その際に、２番目の情報の「独立性」の基準をもとに、情報源の信号を求める。つまり、Ｎ種類の観測情報から、もともとのＮ種類の情報源の間の独立性が最も大きくなるように分離抽出する。この独立性を測る基準は、さまざまあり、その基準の数に応じて、多くのアルゴリズムが提案されている。
ＦａｓｔＩＣＡのアルゴリズムでは、中心極限定理により、「一般に、いくつかの互いに独立な情報源から発生した信号を線形に重ねるとその分布はガウス分布に近づく」という事実を用いる。中心極限定理を数式を用いてより、詳細に表すと次のようになる。
確率変数ｘ１、ｘ２、．．．．．が平均値０、分散１の同一分布にしたがい、独立であるとする。このとき、確率変数：
（ｘ１＋  ｘ２＋．．．＋  ｘｎ）／√ｎ
は、ｎ→∞のとき、平均値０、分散１のガウス分布に収束する。
この中心極限定理において重要なのは、必ずしもガウス分布でない分布に従う確率変数（複数）も、それらの線形結合をとると、よりガウス的になる（ガウス分布に近くなる）ことを示唆している点である。先のＮ＝２の場合の例でいえば、この中心極限定理より、観測情報ｙ１、ｙ２は、情報源の信号ｘ１、ｘ２よりも、よりガウス的であると考えられる。ＦａｓｔＩＣＡでは、このことを逆に考えて、独立成分分析に用いる。つまり、観測情報ｙ１、ｙ２から非ガウス性が最大になるようなｘ１、ｘ２を求めれば、それらは、情報源であろうと考えるのである。（ただし、ｘ１、ｘ２のいずれも、もともとガウス分布に従わないという仮定は必要である。この仮定は実際に独立成分分析の問題に応用する場合、ほとんど問題ない仮定である。）
そこで、観測情報ｙ１、ｙ２からなる次の量：
ｗ１＊ｙ１＋ｗ２＊ｙ２
を考えて、これの非ガウス性を最大化することを考える。もし、ベクトル［ｗ１  ｗ２］が上記の係数ａ、ｂ、ｃ、ｄからなる２×２の行列［ａ  ｂ；  ｃ  ｄ］（１行目がａ  ｂ、２行目がｃ  ｄの行列、混合行列と呼んでいる）の逆行列（これも、２×２の行列、分離行列と呼んでいる）のある一行に等しければ、これは、ｘ１またはｘ２のどちらかに等しいはずである。
ここで、はじめに、ベクトル［ｗ１  ｗ２］の各成分の値は、アルゴリズム上では、ランダムな値を与える。そして、独立性の指標である尖度により、ベクトル［ｗ１  ｗ２］を更新し、分離行列Ｗの各行を求めていくのである。
非ガウス性を測る基準としては尖度やネゲントロピーなどがある。
【００１２】
２．１  尖度
さて、上述の非ガウス性であるが、ガウス性とは、その分布がどれだけガウス分布に近いかを表し、「ガウス性＝その分布とガウス分布の近さ」であり、「非ガウス性＝その分布とガウス分布の遠さ」を表していると考える。その近さ・遠さの指標として、分布の尖度を使う。
尖度（ｋｕｒｔｏｓｉｓ）とは、信号の分布がどれだけ尖っているかを表す。ガウス分布であれば尖度は０になる。尖度が正であればガウス分布より尖っていて（ＳｕｐｅｒＧａｕｓｓｉａｎ）、尖度が負であればガウス分布より平坦である（ＳｕｂＧａｕｓｓｉａｎ）。信号をＸ＝｛ｘｉ｝、信号の数をＴ、標準偏差をσとすると尖度（ｋｕｒｔ（Ｘ））は、例えば、式（１）のように表される。
【００１３】
【数１】
2005078579.tif 000003
【００１４】
２．２  アルゴリズム
情報源の各信号系列を各行に割り当てた、原信号行列をＳ（行の数はＮ）、混合行列をＡ（２．１のＮ＝２の場合の例では、２×２の行列［ａ  ｂ；  ｃ  ｄ］）とすると観測される信号行列はＸ＝ＡＳ（各行は観測信号の各信号系列）と表せる。このＸに分離行列Ｗをかけることで分離信号Ｙを得る。Ａは未知であるので、Ｗを信号の尖度を手がかりにＷ＝Ａ−１となるようＷを求めていく方法が基本となる。
固定小数点法と呼ばれるアルゴリズムは分離行列Ｗのある一行のベクトルをｗとして次式（２）のように表せる。ただし、||ｗ||＝１である。
ｗ←Ｅ（ｘ（ｗＴｘ）３）−３ｗ          （２）
式中のＥは、算術平均である。Ｘはベクトルであるから、Ｘ＝［２  ４  ８  １０］であれば、Ｅ［Ｘ］は、（２＋４＋８＋１０）／４＝６である。なお、ＦａｓｔＩＣＡの詳細な説明は非特許文献１を参照。
この式（２）のような漸化式は、非ガウス性を逐次的に最大化するために使用される。非ガウス性の尺度として尖度を用いた場合、式（２）は、式（１）に示したような、分布ｗＴｘ’ｉの尖度ｋｕｒｔ（ｗＴｘ’ｉ）の、ｗに関する微分から得られる。また、後述の処理フローチャートでは、式（２）の行列ｘには、行列ｘの各行を中心化及び白色化処理した後の行列ｘ’が用いられる。なお、後述のように、非ガウス性の尺度としてネゲントロピーを用いることもできる。
【００１５】
３．Ｌｉｆｔｉｎｇ（リフティング）
Ｌｉｆｔｉｎｇとはウェーブレット変換の一種であり、元々圧縮やノイズ除去などに応用されていた。ウェーブレットの中でも高速で可逆であることがＬｉｆｔｉｎｇの特徴である。そのＬｉｆｔｉｎｇを、ここでは信号の尖度、分布の尖度を高める方法として使用する。
Ｌｉｆｔｉｎｇの原理は予測誤差に基づくものである。信号をｘ＝｛ｘｉ｝とするとｘｉをｘｉ−１とｘｉ＋１の平均であると予測し、実際の値との誤差を求め、値を置き換える。
【００１６】
【数２】
2005078579.tif 000004
【００１７】
信号が急激に変化することがなければ予測誤差は０に近い値となる。
Ｌｉｆｔｉｎｇを使って特に有効な場合は、信号源の分布の尖度が低い場合である。画像は一般的に尖度が低い場合が多いので、Ｌｉｆｔｉｎｇを使って尖度を大きくすることが有効な場合が少なくない。ＬｉｆｔｉｎｇのＦａｓｔＩＣＡへの適用にあたって、有利に働くＬｉｆｔｉｎｇの性質を、以下に例示する。なお、Ｌｉｆｔｉｎｇについての詳細な説明は非特許文献２を参照。
（１）Ｌｉｆｔｉｎｇ・逆Ｌｉｆｔｉｎｇともに、高速な手続きであり、ＦａｓｔＩＣＡの高速性を失わない。
（２）他の線形変換と可逆である。（この性質が無ければ、ＦａｓｔＩＣＡの直後の分離結果が、原画像にＬｉｆｔｉｎｇを施した画像にならない。ＦａｓｔＩＣＡの後、逆Ｌｉｆｔｉｎｇが必要な理由）
（３）信号源の独立性を失わない。
【００１８】
図４に、Ｌｉｆｔｉｎｇの処理に関しての説明図を示す。
今回、用いた画像データは、２５６階調のグレースケールのデータで、画像の各ピクセルには、０（白）〜２５５（黒）の値が割り当てられている。画像の左上を始点として、左→右、上→下の順番でこれらのデータが並んでいる。その一例として、図示のように、１番目の１０１と３番目の１０６の平均値は、１０３．５である。２番目の１０５との差は、１０５−１０３．５＝１．５であるから、２番目の１０５を１．５で置き換える。同様に、４番目・６番目・・・など、偶数番目のデータを置き換えていく。置き換えられた偶数番目のデータは、すべて後半に置き換え、奇数番目は、前半に移動する。
この後半に移動したデータを高周波成分と読んでいる。偶数番目のデータは、その前後の予測誤差で置き換えられているので、データ間の揺れが大きいほど、予測誤差も大きくなる。このことから、後半に移動したデータをハイパスフィルタを通して出てくる信号成分と考え、高周波成分と呼んでいる。これに対して、前半に移動した奇数番目のデータは、低周波成分と呼んでいる。
上述と同じ処理を、さらに、この前半に移動したデータについて同様に実行する。このとき、対象データは、全体の１／２になっていることに注意する。全体の１／２の対象データに上と同じ処理をすると、前半に低周波成分、後半に高周波成分になる。このとき、前半の低周波成分は、全体の１／４になっている。この処理を繰り返すと、低周波成分は無くなっていき、高周波成分だけになることがわかる。
なお、データの置き換え又は調整について、奇数番目の処理と偶数番目の処理を逆にしても良い。また、上述の説明では、奇数部分を前に偶数部分を後ろにソートしているが、これとは逆に、奇数部分を後ろに偶数部分を前にソートして、同様の処理を適宜実行してもよい。
３．１  画像に適用した例
図５に、Ｌｉｆｔｉｎｇを適用した説明図を示す。図５（Ａ）は、左側に原画像、右側にＬｉｆｔｉｎｇ後の画像を示す。これは、８ｂｉｔ、２５６×２５６画素の画像にＬｉｆｉｔｎｇを適用した例である。また、図５（Ｂ）に、この２枚の画像の画素値分布を示す。
図示のように、Ｌｉｆｔｉｎｇを掛けると画素値の分布が非常に偏ることが見て取れる。つまり、Ｌｉｆｔｉｎｇを掛けると、原画像では低かった尖度が非常に高くなることがわかる。本実施の形態では、この性質をＦａｓｔＩＣＡに応用する。
【００１９】
４．ハードウェア
図６は、本実施の形態に関するハードウェアの構成図である。
このハードウェアは、中央処理装置（ＣＰＵ）である処理部１、入力部２、出力部３、表示部４及び記憶部５を有する。また、処理部１、入力部２、出力部３、表示部４及び記憶部５は、スター又はバス等の適宜の接続手段で接続されている。
入力部２は、音声であればマイク、画像であればデジタルカメラやスキャナ等のように、処理される信号に応じて、適宜の入力手段が用いられる。記憶部５は、観測信号ファイル５１、分離信号ファイル５２を含む。また、記憶部５は、以下で詳述するような行列Ｘ、Ｘ’、Ｗ、Ｗ’、Ｙ、Ｙ’等の各行列やｘ、ｘ’、ｗ、ｗ’、ｙ、ｙ’等のベクトル、各種データを記憶するための手段を、必要に応じて適宜備えるようにしてもよい。
【００２０】
５．ソフトウェア
上述したように、ＦａｓｔＩＣＡは尖度の高い信号に対して特に有効である。そこで、本実施の形態では、ＦａｓｔＩＣＡの前処理としてＬｉｆｔｉｎｇを施し、尖度の高い状態でＦａｓｔＩＣＡをかける手法を提案する。それにより得られた分離信号はＬｉｆｔｉｎｇされた状態なので、逆Ｌｉｆｔｉｎｇにより元の尖度の状態に戻す。
図７に、信号分離処理についての概要フローチャートを示す。以下のように、処理部１は、処理を実行する。
ステップＳ１０：処理部１は、入力部２又は記憶部５の観測信号ファイル５１からＮ種類（Ｎ個）の観測信号を入力する。
ステップＳ２０：処理部１は、入力された観測信号にＬｉｆｔｉｎｇをかける。
ステップＳ３０：処理部１は、Ｌｉｆｔｉｎｇされた信号をＦａｓｔＩＣＡで分離する。
ステップＳ４０：処理部１は、分離された信号に逆Ｌｉｆｔｉｎｇをかける。
ステップＳ５０：処理部１は、逆Ｌｉｆｔｉｎｇされた信号を原信号を表す分離信号として記憶部５の分離信号ファイル５２に記憶、出力部３に出力、及び／又は、表示部４に表示する。
この手法の特徴として、
１．ＦａｓｔＩＣＡの高速性を失わない
２．どんな観測信号に対しても有効
といったＦａｓｔＩＣＡの利点をそのままにして分離精度を大幅に向上することができる。
【００２１】
５．１  詳細メインフロー
つぎに、図８及び図９に、信号分離の詳細な全体フローチャート（１）及び（２）を示す。処理部１は、以下のように実行する。
なお、本実施の形態では、主に、Ｎ種類の信号を行列Ｘ、Ｘ’、Ｙ、Ｙ’等の各行ｘ、ｘ’、ｙ、ｙ’等で表現した場合について説明するが、Ｎ種類の信号を行列Ｘ、Ｘ’、Ｙ、Ｙ’等の各列ｘ、ｘ’、ｙ、ｙ’等で表現してもよく、この場合も適宜同様の処理を実行することができる。
（ステップＳ１０１）
まず、処理部１は、分離したい次のようなＮ種類の観測信号ベクトルｘを含む観測信号Ｘを、入力部２又は観測信号ファイル５１から入力する。
Ｘ＝ｘｎ（ｔ）、ｎ＝１、・・・、Ｎ（Ｎ:信号の数（種類））
（ステップＳ２０１）
処理部１は、ｎを１とする。
（ステップＳ２０３）
処理部１は、入力された信号に基づき、その尖度を高める変換を行う（後述のサブルーチン１参照。）。
（ステップＳ２０５、Ｓ２０７）
処理部１は、ｎに１を加算し、ｎがＮを超えるまで、ステップＳ２０３及びＳ２０５の処理を繰り返す。
（ステップＳ３０１）
処理部１は、変換された信号Ｘ＝ｘｎ（ｔ）の各ｎ＝１、・・・、Ｎに対して、ｘｎ（ｔ）の平均が０になるように中心化の処理を行う。中心化は、データの平均値を求めて、各データから先に求めた平均値を引く操作である。この操作により、平均値は０になる。たとえば、
「６、４、８」
の３つのデータの平均値は６であるから、各データから平均値６を引くと、
「０、−２、２」
となり、これらの平均値は０になる。行列Ｘの各行ｘｎ（ｔ）が中心化されたデータは行列Ｘ’として必要に応じて適宜、記憶部５に記憶される。
なお、中心化は、Ｎ種類の観測信号を行列Ｘの行で表現した場合は各行毎に実行し、一方、Ｎ種類の観測信号を行列Ｘの列で表現した場合は各列毎に実行する。
（ステップＳ３０３）
処理部１は、行列Ｘ’を必要に応じて、記憶部５から読み出し、行列Ｘ’の各行ｘ’ｎ（ｔ）に対して分散を１にして独立成分分析のパラメータを減らすために白色化の処理を行う。白色化されたデータは行列Ｘ’として必要に応じて適宜、記憶部５に記憶される。白色化は、データ系列｛ｘ’ｎ（ｔ）：ｎ＝１、・・・、Ｎ｝の間の相関を無相関にするための操作である。ここでいう無相関とは、次の共分散が０になることである。たとえば、Ｎ＝２の場合、データ系列ｘ’１（ｔ）とｘ’２（ｔ）の共分散は、次の式で定義される。
ｃｏｖ（ｘ’１，ｘ’２）：＝Ｅ［（ｘ’１−Ｅ（ｘ’１））＊（ｘ’２−Ｅ（ｘ’２））］
ここに、ｘ’１とｘ’２は、それぞれあるデータ系列（又は確率変数）で、Ｅ（ｘ’１），Ｅ（ｘ’２）は、それぞれのデータ系列の平均値である。先の中心化の作業により、これらＥ（ｘ’１），Ｅ（ｘ’２）は０になっているはずである。したがって、このとき、上の共分散は、
ｃｏｖ（ｘ’１，ｘ’２）＝Ｅ［ｘ’１＊ｘ’２］
となり、無相関は、積ｘ’１＊ｘ’２の平均値が０になるという意味である。これは、大数の法則により、データ系列のサイズが大きいとき、算術平均に等しくなるから、結局のところ、２つのデータ系列の内積が０という意味である。内積が０ということは、２つのデータ系列は直交しているということを意味している。
つまり、白色化とは、ある座標上に与えられているデータに対して、互いにできるだけ直交するような新たな座標を見つけ、その座標で各データを書き直すという処理である。具体的には、データからつくられる共分散行列（共分散を要素とする行列）の固有値・固有ベクトルを求めて、各データをその固有ベクトルで改めて表現しなおすという操作をしている。このような操作は、主成分分析という統計手法と同様である。
なお、白色化も、中心化と同様に、Ｎ種類の観測信号を行列Ｘの行で表現した場合は各行毎に実行し、一方、Ｎ種類の観測信号を行列Ｘの列で表現した場合は各列毎に実行する。
（ステップＳ３０５）
処理部１は、ｉを１とする。
（ステップＳ３０７）
処理部１は、ベクトルｗｉを全くランダムに発生させる。ここで、分離行列Ｗのある一行をベクトルｗｉ（ｉ＝１、・・・、Ｎ）とする。なお、このベクトルの次元はＮであり、Ｎは信号の種類の数を表す。例えば、２つの画像に分離したいのであれば、Ｎ＝２である。ランダムに発生させる方法は、プログラム上で乱数を発生させる関数を使う。このような乱数としては、例えば、一様分布に従う乱数である一様乱数を使用するのが一般的である。
（ステップＳ３０９）
処理部１は、分離行列のある一行をｗｉとして、固定小数点アルゴリズムと呼ばれるアルゴリズム（後述のサブルーチン２参照。）によってｗｉを求める。
したがって、ステップＳ３０７で発生させたベクトルｗｉと分離したい観測信号ｘｉは無関係である。ただし、その後のステップＳ３０９で更新されたベクトルｗｉは、分離したい観測信号ｘｉと関係がある。処理部１は、後述のように、更新のときに、中心化及び白色化された観測信号ｘ’ｉを使う。そして、処理部１は、例えば、式（１）で示したような尖度の微分・近似により得られた、式（２）で示したような更新のための漸化式を用いて、各信号の非ガウス性が最大となるように独立成分信号を分離抽出する。
（ステップＳ３１３、Ｓ３１５）
処理部１は、分離信号Ｗのすべての行ベクトルｗｉが求まるまでステップＳ３０７及びＳ３０９を繰り返し、分離行列Ｗを決定し、必要に応じて記憶部５に記憶する。
（ステップＳ３１７）
処理部１は、必要に応じて記憶部５から分離行列Ｗと中心化・白色化の処理前の観測信号Ｘを読み出し、または、予め得た分離行列Ｗ及び観測信号Ｘを用いて、観測信号Ｘと分離行列Ｗの積を計算し、独立成分信号Ｙ’として求める。独立成分信号は行列Ｙ’として必要に応じて適宜、記憶部５に記憶される。
なお、この積の計算は、Ｎ種類の観測信号を行列Ｘの行ｘで表現するか又は列ｘで表現するかにより、Ｙ’＝ＷＸ  又は  Ｙ’＝ＸＷ  のいずれかにより適宜計算することができる。
（ステップＳ４０１）
処理部１は、ｎを１とする。
（ステップＳ４０３）
処理部１は、得られた独立成分信号Ｙ’は尖度が高められたままであるので、これを元に戻す処理を行う。ここで、ｙｎ（ｔ）は行列Ｙの行成分であり、この行列Ｙの各行が分離信号となる。
（ステップＳ４０５、Ｓ４０７）
処理部１は、ｎを更新し、ｎがＮを超えるまで、ステップＳ４０３、Ｓ４０５の処理を繰り返し、分離信号の行列Ｙを求める。
（ステップＳ５０１）
処理部１は、求めた分離信号の行列Ｙを分離信号ファイル５２に記憶し、必要に応じて、表示部６に表示する。
【００２２】
５．２  サブルーチン１
つぎに、図１０に、Ｌｉｆｔｉｎｇのサブルーチン１のフローチャートを示す。処理部１は、以下のような処理を実行する。
（ステップＳ２５１）
処理部１は、計算の範囲を設定する。例えば、１≦ｔ≦Ｔ０（Ｔ０：入力信号のサイズ）とする。
（ステップＳ２５３）
処理部１は、例えば次式により、ｔが偶数のときｘ（ｔ）をその両側の平均と予測してその誤差に置き換える。
ｘ（ｔ）←ｘ（ｔ）−｛ｘ（ｔ−１）＋ｘ（ｔ＋１）｝／２  高周波成分の抽出
（ステップＳ２５５）
処理部１は、例えば次式により、ｔが奇数のときｘ（ｔ）をｘ（ｔ−１）とｘ（ｔ＋１）によって値を調整する。
ｘ（ｔ）←ｘ（ｔ）＋｛ｘ（ｔ−１）＋ｘ（ｔ＋１）｝／４
（奇数成分のみで構成しても全体の平均値が変わらない。）
（ステップＳ２５７）
処理部１は、奇数部分を前半に偶数部分を後半にソートする。
（ステップＳ２５９）
処理部１は、計算の範囲を前半のみに絞る。
（ステップＳ２６１）
処理部１は、奇数部分（前半）に対して、ステップＳ２５３〜Ｓ２５９のように、繰り返し変換を行い、すべてが高周波成分になったとき終了する。
なお、上述の説明では、ステップＳ２５３、Ｓ２５５において、データの置き換え又は調整について、奇数番目の処理と偶数番目の処理を逆にして、適宜処理を実行しても良い。また、ステップＳ２５７、Ｓ２５９において、奇数部分を前に偶数部分を後ろにソートしているが、これとは逆に、奇数部分を後ろに偶数部分を前にソートして、同様の処理を適宜実行してもよい。
【００２３】
５．３  サブルーチン２
図１１に、ＦａｓｔＩＣＡのサブルーチン２のフローチャートを示す。
（ステップＳ３５１）
処理部１は、ｗｉを漸化式によって更新する。上述のように、漸化式は、非ガウス性を逐次的に最大化するために使われる。この漸化式の具体例のひとつは、上述の式（２）等である。この漸化式のなかに、観測信号Ｘの行ベクトルｘが含まれていることがわかる。処理部１は、この漸化式のｘに、先に求めた中心化及び白色化した信号ｘ’を代入してｗを更新する。なお、この漸化式は、一例であり、その他にも何種類か存在し、提案されている。一般に、ＩＣＡでは、信号源の信号間の独立性を基準にして、観測信号を分離して、信号源の信号を分離抽出・復元する。この独立性の基準（ものさし）には、様々なものがあり、その多様性に応じて、提案されているアルゴリズムも様々ある。
ＦａｓｔＩＣＡでは、観測信号の分布の尖度を独立性の基準にしている。分布の尖度とは、上述の式（１）で定義される。
図１２に、信号の度数分布の説明図を示す。図示のように正規分布（ガウス分布）の場合は、尖度は０であるが、それよりも尖る場合は正、鈍る場合は負になる。確率論の中心極限定理では、独立な信号の線形結合（重ね合わせ）は、その重ね合わせる信号の数が多いほど、よりガウス分布に近づくという主張がある。つまり、信号源の信号の線形結合は、もとの信号源の信号よりも、よりガウス分布に近づくという主張である。
このことを逆に用いて、ＦａｓｔＩＣＡでは、ガウス分布から離れるような分離を実現するアルゴリズムが提案されている。そこで、ガウス分布からの距離として尖度を使うことができる。このように、非ガウス性の尺度として尖度を用いた場合、例えば、尖度を測る基準（ものさし）を変数（ベクトル）ｗに関して微分・近似して、漸化式を得ることができる。
尖度の定義をそのまま使うこともできるが、非ガウス性を測るもう一つの基準であるネゲントロピーを使ったアルゴリズムも提案されている。このような漸化式の具体例としては、次式がある。
ｗｉ←Ｅ（ｘ’ｉｇ（ｗｉＴｘ’ｉ））−Ｅ（ｇ’（ｗｉＴｘ’ｉ））ｗｉ
関数ｇの候補としては、次の関数を使う。
ｇ1（ｙ）＝ｔａｎｈ（ａ＊ｙ）
ｇ2（ｙ）＝ｙ＊ｅｘｐ（−ｙ2／２）
ｇ3（ｙ）＝ｙ3
ここで、ａは、１以上２以下の定数で、ａ＝１とすることが多い。また、ｇ’は、関数ｇの微分で、上の各関数の候補に対して、次のように定まる。
ｇ’1（ｙ）＝ａ＊（１−ｔａｎｈ2（ａ＊ｙ））
ｇ’2（ｙ）＝（１−ｙ2）＊ｅｘｐ（−ｙ2／２）
ｇ’3（ｙ）＝３＊ｙ２
このように非ガウス性の尺度としてを用いた場合、分布ｗＴｘ’ｉのネゲントロピーのｗに関する微分とその近似から、上記の漸化式が得られる。
なお、ネゲントロピー（ｎｅｇｅｎｔｒｏｐｙ）の定義は、次の通りである。
分布Ｚのネゲントロピー＝（ガウス分布のエントロピー）−（分布Ｚのエントロピー）
（分布Ｚは、ここでは、ｗＴｘ’ｉ）
ネゲントロピーは、常に正の値をとることが知られている。ネゲントロピー＝０ならば、その分布Ｚは、ほぼガウス分布であることがこの定義からわかる。一方、ネゲントロピーが正の、しかも大きな値であればあるほど、その分布Ｚは、ガウス分布から離れていること、つまり、この場合、非ガウス性が大きいことがわかる。
非ガウス性の尺度として尖度又はネゲントロピーのいずれを用いた場合も、これら漸化式を繰り返し用いることにより、ガウス分布からもっとも離れる分布（非ガウス性が最大の分布）になるようなｗに収束する。
【００２４】
（ステップＳ３５３）
処理部１は、ｗｉの大きさを１とする。ここで、「大きさを１とする」とは、ベクトルｗの大きさを１にするという意味である。具体的には、ベクトルの大きさは、そのベクトルの各成分の２乗の総和の平方根で表される。
例えば、ベクトルｗ＝［１  ２］の大きさは、
√（１２＋２２）＝√５＝２．２３６１．．．
である。ここでいうベクトルｗの大きさを１にするという意味は、ベクトルｗをその長さで割ることを意味する。上の例では、ｗ＝［１  ２］の大きさを１にするためには、ｗ＝［１  ２］をその長さ（√５）で割ればいいということである。したがって、大きさが１のベクトルはｗ’は、
ｗ’＝［１／√５  ２／√５］＝［０．４４７２．．．  ０．８９４４．．．］
である。
（ステップＳ３５５）
処理部１は、ｗｉと他のｗｊ（ｊ＜ｉ）が直交になるよう直交化する。「直交化」は、あるベクトルに対して、そのベクトルと直交するように、ベクトルを変更することをいう。具体的には、二次元で考えると、
ｗ１＝［１／２  （３／４）０．５］＝［０．５  ０．８６６．．．］
というベクトルがすでに得られていて、
ｗ２＝［３  ４］
が漸化式により得られたとする。ここで、ベクトルｗ１の大きさが１になっていることに注意する。実際、ｗ１の大きさを求めると、
（１／２）２＋（３／４）（０．５＊２）＝１／４＋３／４＝１
となり、その大きさが１であることがわかる。
さて、ここで
ｗ１とｗ２の内積＝（１／２）＊３＋（（３／４）０．５）＊４
となり、０ではない。内積が０であれば、直交していると言えるが、直交していないので、ｗ２がｗ１に対して直交するような操作をする。これを直交化という。具体的には、例えば、グラムシュミットの直交化法という手法を使う。上記の例では、次の計算をする。
ｗ２−（ｗ１とｗ２の内積）＊ｗ１
＝［３  ４］−｛（１／２）＊３＋（３／４）０．５＊４｝＊［１／２  （３／４）０．５］
＝［０．５１７９  −０．２９９０］
先のｗ２に代わって、これをｗ２とする。これとｗ１の内積をとるとほぼ０になり、ほぼ直交していることがわかる。ただし、これは通常大きさが１になっていない。
なお、この場合は、２次元ベクトルを考えていたので、互いに直交するベクトルは高々２個であるが、例えば、３次元ベクトルの場合は、互いに直交するベクトルは、３個になる。このときは、ｗ１が初め求められ、ｗ２は、上と同様の方法で、直交化する。ｗ３は、
ｗ３−（ｗ１とｗ３の内積）＊ｗ１−（ｗ２とｗ３の内積）＊ｗ２
を計算すると、その結果をｗ３に代えると、ｗ３は、ｗ１とｗ２の両方に直交したベクトルが得られる。
（ステップＳ３５７）
処理部１は、ステップＳ３５３と同様に、ｗｉの大きさを１とする。
（ステップＳ３５９）
処理部１は、更新の幅（更新前後のｗｉの差）Δｗｉが小さくなれば収束とみなし、処理を終了する。Δｗｉは、ｗｉの更新の前後の差である。ただし、両方とも大きさは１に統一している。たとえば、１回目では、ｗｉ（０）はランダムに与えられ、ステップＳ３５１の更新により、ｗｉ（１）になったとする。ただし、両者とも大きさは１にしておく。この差をΔｗｉとおいている。ただ、差の定義は、アルゴリズムによって様々である。ｗｉ（０）−ｗｉ（１）を求めて、これはベクトルであるから、その大きさをΔｗｉとしてもいいし、そのベクトルの成分の絶対値の最大値をΔｗとしてもいい。要は、ｗｉ（０）とｗｉ（１）が十分近いかどうかをΔｗｉ＜ｅ（ここで、ｅは予め定められた値）で判定する。もし、Δｗｉ＜ｅを満たさなければ、再度、ステップＳ３５１で更新して、ｗｉ（２）を求めたとすると、Δｗは、２つのベクトルｗｉ（１）とｗｉ（２）の差である。
【００２５】
５．４  サブルーチン３
図１３に、逆Ｌｉｆｔｉｎｇのサブルーチン３のフローチャートを示す。
サブルーチン３は、サブルーチン１の全く逆の操作を行う。
（ステップＳ４５１）
処理部１は、Ｔの値を２とする。
（ステップＳ４５３）
処理部１は、計算の範囲の設定を行う。（１≦ｔ≦Ｔ）
（ステップＳ４５５）
処理部１は、求められた独立成分信号の行列Ｙ’の行ベクトルｙ’ｎ（ｔ）を必要に応じて記憶部５から読み出し、ｙ’ｎ（ｔ）について、前半を奇数部分に後半を偶数部分に入れ替える。
（ステップＳ４５７）
処理部１は、例えば次式により、ｔが奇数のときｙ’（ｔ）をｙ’（ｔ−１）とｙ’（ｔ＋１）によって値を調整する。
ｙ’（ｔ）←ｙ’（ｔ）−｛ｙ’（ｔ−１）＋ｙ’（ｔ＋１）｝／４
（ステップＳ４５９）
処理部１は、例えば次式により、ｔが偶数のときｙ’（ｔ）にその両側の平均を加える。
真値＝予測誤差＋予測値
ｙ’（ｔ）←ｙ’（ｔ）＋｛ｙ’（ｔ−１）＋ｙ’（ｔ＋１）｝／２
（ステップＳ４６１）
処理部１は、計算の範囲を倍にする。（Ｔ←２Ｔ）
（ステップＳ４６３）
処理部１は、範囲Ｔが信号のサイズＴ０より大きいか判断し、信号のサイズＴ０より大きくなるまで、ステップＳ４５３以降の処理を繰り返し、ｙ’ｎの逆Ｌｉｆｔｉｎｇを実行して、求めた行ベクトルｙ’
ｎをｙｎとして、ｙｎを各行とする分離信号の行列Ｙを求める。
なお、上述の説明では、ステップＳ４５３、Ｓ４５５において、前半を奇数部分に後半を偶数部分に入れ替えているが、これとは逆に、後半を奇数部分に前半を偶数部分に入れ替えて、同様の処理を適宜実行してもよい。また、ステップＳ４５７、Ｓ４５９において、データの置き換え又は調整について、奇数番目の処理と偶数番目の処理を逆にして、適宜処理を実行しても良い。
【００２６】
６．シミュレーション
図１４に、シミュレーションの図を示す。
このシミュレーションは、予め２枚の画像を用意し、逆行列をもつ混合行列を用いて線形に混合する。これらの混合画像を観測画像とみなし、従来のＦａｓｔＩＣＡと本発明のＬｉｆｔｉｎｇを組み合わせたＦａｓｔＩＣＡの両方で分離し比較する。用意した画像は８ｂｉｔ、２５６×２５６画素の画像を使用した。図は上から原画像、混合画像、従来法の結果、提案法の結果をそれぞれ示す。図示のように、従来法では全く分離していないが、本発明では綺麗に分離することがわかった。他の画像も数十種類試してみたがどれも従来法よりも分離の精度が高くなった。
その理由としては、例えば、次の点が考えられる。すなわち、一般に画像は画素値が急激に変化することはエッジ部分以外では起こらないのでＬｉｆｔｉｎｇをかけると予測誤差が０に近くなり尖度が高くなる。つまり信号の分布がガウス分布より大きく外れることになりこの状態であれば独立性の基準として尖度を使うＦａｓｔＩＣＡにおいて独立成分を見つけやすいと考えられる。
【００２７】
７．ＦａｓｔＩＣＡの効果
７．１  分離精度の評価
分離精度の定量的な評価値を考える。分離画像が原画像にどの程度近いかを分離精度の基準とする。画像をベクトルとして考え原画像をベクトルｓ→、分離画像をベクトルｙ→とする（ただし、「→」は、ｓやｙの上に付くものであるが、出願の都合上横に記載する。以下同様。）。
そしてｓ→とｙ→の内積を考えたとき二つのベクトルのなす角θは次のように表せる。
【００２８】
【数３】
2005078579.tif 000005
【００２９】
二つの画像（原画像ｓ→と分離画像ｙ→）が類似しているほどなす角θは小さくなり、ｃｏｓθの値は最大値１に近づく。このｃｏｓθの値から類似度を次のような式で定義する。
【００３０】
【数４】
2005078579.tif 000006
【００３１】
二つの画像が完全に一致していれば類似度は最高の１００になる。分離の精度が低ければ類似度も低い値となる。
【００３２】
７．２  実験結果の例
図１５は、実験結果の例を示す図である。この表図は５つの画像（図示せず）を信号源（ｓ１，ｓ２，ｓ３，ｓ４，ｓ５）として線形に混合し、それを従来のＦａｓｔＩＣＡで分離した結果と提案した精度の高いＦａｓｔＩＣＡで分離した結果について類似度を計算したものである。
実験データ１の場合は従来の手法では収束しなかったが、本発明の手法では分離することができ類似度も高い値となった。以下データ２とデータ３についても本発明の方はどれも９０を超える高い値であり、平均値も従来法より大幅に上回っている。
【００３３】
７．３  類似度と分離の程度について
図１６に、類似度と実際の分離の程度についての説明図を示し、以下に補足をする。類似度が９０を超えている場合はコントラストを除いて二つの画像は見た目で完全に一致している。それに対し、９０以下の場合の分離結果はどの程度の類似性があるかを調べた。
まず、ｌｅｎａと呼ばれる画像（画像処理で一般的に使われる画像）を用意し、それにある一定の割合でノイズを上記実験と同様に混合する。そしてノイズの加わった画像と元の画像（ｌｅｎａ）の類似度を計算する。ノイズを混合する割合を変化させることで類似度も変化していく。例えばｌｅｎａが７２％、ノイズが２８％の割合で混合した場合、元のｌｅｎａに対する類似度は８０であった（表参照）。
同様に割合を変化させた場合の結果を表にまとめた。この表を目安に考えると分離結果の類似度が７０であればもとの独立成分が６２％程度でその他の成分が３８％程度含まれているといえる。しかし元の独立成分が６０％前後しか抽出されていなければ視覚的に分離が成功しているとはいえない。
【００３４】
７．４  実験結果のグラフ
図１７及び図１８に、実験結果をまとめたグラフを示す。横軸は原画像（ｓ１，ｓ２，ｓ３，ｓ４，ｓ５）に対する画像であり、その順番に意味はない。縦軸はそれぞれ分離結果の類似度である。縦軸の横に類似度に対して上記のｌｅｎａとノイズの混合画像を示す。これは分離結果がどの程度なのかを類似度という数値以外に視覚的に表現するためである。
【００３５】
７．５  ＦａｓｔＩＣＡについて
ＦａｓｔＩＣＡのアルゴリズムは以下のサイトにあるＭＡＴＬＡＢのコードを利用した。これはＦａｓｔＩＣＡの実装として標準的に使われるコードである。
ｈｔｔｐ：／／ｗｗｗ．ｃｉｓ．ｈｕｔ．ｆｉ／ｐｒｏｊｅｃｔｓ／ｉｃａ／ｆａｓｔｉｃａ／
【００３６】
８．付記
本発明の信号分離方法又は信号分離装置・システムは、その各手順をコンピュータに実行させるための信号分離プログラム、信号分離プログラムを記録したコンピュータ読み取り可能な記録媒体、信号分離プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、そのプログラムを含むサーバ等のコンピュータ、等により提供されることができる。
【産業上の利用可能性】
【００３７】
従来のＦａｓｔＩＣＡは尖度の低い信号はそれほど分離精度が良くなかった。しかし、本発明では、前処理にＬｉｆｔｉｎｇを適用することで信号の尖度を高めることができるので、ＦａｓｔＩＣＡによって尖度の低い信号でも分離することができるようになった。Ｌｉｆｔｉｎｇは非常に高速であるためＦａｓｔＩＣＡの長所を損なわず、しかもほとんどの画像で尖度を高めることが可能なのでＦａｓｔＩＣＡの有効性を最大に引き出すことができる。
本発明で処理する信号は、上述のように音声、画像等の各種の様々なデータを対象とすることができ、上述の実施の形態の他に、医療、通信、画像処理等への様々な分野にも応用することができる。例えば、医療分野への応用としては、磁気共鳴機能画像（ｆｕｎｃｔｉｏｎａｌ  Ｍａｇｎｅｔｉｃ  Ｒｅｓｏｎａｎｃｅ  Ｉｍａｇｉｎｇ）、脳の活動状況を視覚的に捉えたものとしてボジトロン断層現象法（Ｐｏｓｉｔｒｏｎ  Ｅｍｉｓｓｉｏｎ  ｃｏｍｐｕｔｅｄ  Ｔｏｍｏｇｒａｐｈｙ，ＰＥＴ）とか脳磁図（Ｍａｇｎｅｔｏｅｎｃｅｐｈａｌｏｇｒａｐｈｙ，ＭＥＧ）、事象関連磁気共鳴機能画像法（ｅｖｅｎｔｒｅｌａｔｅｄ  ｆＭＲＩ）、肌画像をメラニン色素分布とヘモグロビンの色素分布を分離する色素成分分離計測法等が挙げられる。
【図面の簡単な説明】
【００３８】
【図１】音声分離についての説明図（１）。
【図２】音声分離についての説明図（２）。
【図３】画像分離についての説明図。
【図４】Ｌｉｆｔｉｎｇの処理に関しての説明図。
【図５】Ｌｉｆｔｉｎｇを適用した説明図。
【図６】ハードウェアの構成図。
【図７】信号分離処理についての概要フローチャート。
【図８】信号分離の詳細な全体フローチャート（１）。
【図９】信号分離の詳細な全体フローチャート（２）。
【図１０】Ｌｉｆｔｉｎｇのサブルーチン１のフローチャート。
【図１１】ＦａｓｔＩＣＡのサブルーチン２のフローチャート。
【図１２】信号の度数分布の説明図。
【図１３】逆Ｌｉｆｔｉｎｇのサブルーチン３のフローチャート。
【図１４】シミュレーションの図。
【図１５】実験結果の例を示す図。
【図１６】類似度と実際の分離の程度についての説明図。
【図１７】実験結果をまとめたグラフ（１）。
【図１８】実験結果をまとめたグラフ（２）。
【符号の説明】
【００３９】
Ｓ１０    観測信号
Ｓ２０    Ｌｉｆｔｉｎｇ
Ｓ３０    ＦａｓｔＩＣＡ
Ｓ４０    逆Ｌｉｆｔｉｎｇ
Ｓ５０    分離信号
１    処理部１
２    入力部
３    出力部
４    表示部
５    記憶部
５１  観測信号ファイル
５２  分離信号ファイル
【図２】
2005078579.tif 000007
【図４】
2005078579.tif 000008
【図６】
2005078579.tif 000009
【図７】
2005078579.tif 000010
【図８】
2005078579.tif 000011
【図９】
2005078579.tif 000012
【図１０】
2005078579.tif 000013
【図１１】
2005078579.tif 000014
【図１２】
2005078579.tif 000015
【図１３】
2005078579.tif 000016
【図１５】
2005078579.tif 000017
【図１】
2005078579.tif 000018
【図３】
2005078579.tif 000019
【図５】
2005078579.tif 000020
【図１４】
2005078579.tif 000021
【図１６】
2005078579.tif 000022
【図１７】
2005078579.tif 000023
【図１８】
2005078579.tif 000024