(57)【要約】【課題】  複数の信号が混合された音声信号を独立成分分析を用いて信号毎に分離する際に、原信号についての知識やマイクロホンの位置等についての情報を利用することなく高い精度でパーミュテーション問題を解消する。【解決手段】  短時間フーリエ変換部１２は、時間領域の観測信号から観測信号のスペクトログラムを生成し、信号分離部１３は、観測信号のスペクトログラムを信号毎に分離し、分離信号のスペクトログラムを生成する。パーミュテーション問題解消部１５は、パーミュテーションの程度に対応した尺度、具体的には多次元確率密度関数を用いて計算されるKullback-Leiblar情報量、又は多次元の尖度を分離信号のスペクトログラムの略々全体から計算し、当該尺度に基づいて分離信号のスペクトログラムの各周波数binの信号をチャンネル間で入れ替えることでパーミュテーション問題を解消する。【選択図】  図１３
2006337851.tif 000002
【特許請求の範囲】
【請求項１】
音声信号を含む複数の信号が混合された複数チャンネルの時間領域の観測信号を独立成分分析を用いて信号毎に分離し、分離信号を生成する音声信号分離装置において、
上記時間領域の観測信号を時間周波数領域に変換し、観測信号のスペクトログラムを生成する変換手段と、
上記観測信号のスペクトログラムから分離信号のスペクトログラムを生成する分離手段と、
上記分離信号のスペクトログラムのパーミュテーション問題を解消するパーミュテーション問題解消手段とを備え、
上記パーミュテーション問題解消手段は、パーミュテーションの程度に対応した尺度を上記分離信号のスペクトログラムの略々全体から計算し、当該尺度に基づいて上記分離信号のスペクトログラムの各周波数binの信号をチャンネル間で入れ替えることでパーミュテーション問題を解消する
ことを特徴とする音声信号分離装置。
【請求項２】
上記パーミュテーションの程度に対応した尺度は、多次元確率密度関数を用いて計算されるKullback-Leiblar情報量、又は多次元の尖度であることを特徴とする請求項１記載の音声信号分離装置。
【請求項３】
上記多次元確率密度関数は、Ｌ−Ｎノルム又は楕円分布に基づくものであることを特徴とする請求項２記載の音声信号分離装置。
【請求項４】
音声信号含む複数の信号が混合された複数チャンネルの時間領域の観測信号を独立成分分析を用いて信号毎に分離し、分離信号を生成する音声信号分離方法において、
上記時間領域の観測信号を時間周波数領域に変換し、観測信号のスペクトログラムを生成する変換工程と、
上記観測信号のスペクトログラムから分離信号のスペクトログラムを生成する分離工程と、
上記分離信号のスペクトログラムのパーミュテーション問題を解消するパーミュテーション問題解消工程とを有し、
上記パーミュテーション問題解消工程では、パーミュテーションの程度に対応した尺度を上記分離信号のスペクトログラムの略々全体から計算し、当該尺度に基づいて上記分離信号のスペクトログラムの各周波数binの信号をチャンネル間で入れ替えることでパーミュテーション問題を解消する
ことを特徴とする音声信号分離方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の信号が混合された音声信号を独立成分分析（Independent Component Analysis；ＩＣＡ）を用いて信号毎に分離する音声信号分離装置及びその方法に関する。
【背景技術】
【０００２】
複数の原信号が未知の係数によって線形に混合されているときに、信号の統計的な性質を利用して原信号を分離・復元するという独立成分分析の手法が信号処理の分野で注目されている。この独立成分分析を音声信号に応用することで、例えば複数の話者が同時に発声した音声を複数のマイクロホンで観測し、観測された音声を話者毎に分離したり、話者の音声とノイズとに分離したりすることが可能となる。
【０００３】
ここで、時間周波数領域の独立成分分析を用いて、複数の信号が混合された音声信号を信号毎に分離する場合について、図３８を用いて説明する。なお、時間周波数領域の独立成分分析とは、複数のマイクロホンで観測された時間領域の信号を、短時間フーリエ変換によって時間周波数領域の信号（スペクトログラム）に変換し、時間周波数領域で分離を行う方式のことである（非特許文献１を参照）。
【０００４】
ｎ個の音源が発するお互いに独立な原信号をｓ１〜ｓｎとし、それらを要素とするベクトルをｓとする。マイクロホンで観測される観測信号は、複数の原信号が混合されたものである。ｎ個のマイクロホンで観測された信号をｘ１〜ｘｎとし、それらを要素とするベクトルをｘとする。マイクロホンの数ｎが２であるとき、すなわちチャンネル数が２であるときの観測信号ｘの例を図３９（Ａ）に示す。次に、観測信号ｘに対して短時間フーリエ変換を施し、時間周波数領域の観測信号Ｘを得る。Ｘの要素をＸｋ（ω，ｔ）とすると、Ｘｋ（ω，ｔ）は複素数値をとる。Ｘｋ（ω，ｔ）の絶対値である｜Ｘｋ（ω，ｔ）｜を色の濃淡で表現した図をスペクトログラムという。観測信号Ｘのスペクトログラムの例を図３９（Ｂ）に示す。この図において、ｔはフレーム番号（１≦ｔ≦Ｔ）を示し、ωは周波数bin番号（１≦ω≦Ｍ）を示す。続いて、信号Ｘの各周波数binに分離行列Ｗ（ω）を乗算することで分離信号Ｙ’を得る。分離信号Ｙ’のスペクトログラムの例を図３９（Ｃ）に示す。
【０００５】
ところで、上述した時間周波数領域の独立成分分析では、信号の分離処理を周波数bin毎に行っており、周波数binの間の関係は考慮していない。そのため、分離自体は成功しても、周波数binの間で分離先の不統一が発生することが多い。この分離先の不統一とは、例えばω＝１ではＹ１にｓ１由来の信号が現れるのに対してω＝２ではＹ１にｓ２由来の信号が現れる、というような現象のことであり、パーミュテーション（permutation）問題と呼ばれている。
【０００６】
そこで、後処理として周波数bin毎に信号を入れ替え、分離先を揃えることにより、パーミュテーション問題を解消する。パーミュテーション問題が解消された分離信号Ｙのスペクトログラムの例を図３９（Ｄ）に示す。最後に、分離信号Ｙに逆フーリエ変換を施すことにより、図３９（Ｅ）に示すような時間領域の分離信号ｙを得る。
【０００７】
【非特許文献１】村田昇著，「入門・独立成分分析」，東京電気大学出版局
【特許文献１】特開２００４−１４５１７２号公報
【特許文献２】特開２００４−１２６１９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述のように、パーミュテーション問題を解消するためには、後処理による入れ替えが行われる。この後処理では、先ず周波数bin毎の分離によって図３９（Ｃ）のようなスペクトログラムを得て、その後、何らかの基準に従ってチャンネル間で分離信号の入れ替えを行うことで図３９（Ｄ）のようなスペクトログラムを得る。入れ替えの基準としては、（ａ）エンベロープの類似性（非特許文献１を参照）を利用するもの、（ｂ）推定された音源方向を利用するもの（特許文献１の［従来の技術］を参照）、（ｃ）ａとｂとの組合せ（特許文献１を参照）、（ｄ）ニューラルネットワークを利用するもの（特許文献２を参照）が挙げられる。
【０００９】
しかしながら、上記（ａ）は、周波数binによってはエンベロープの違いが不明瞭なことがあり、そのような場合には入れ替え間違いが発生してしまう。また、入れ替えを１度間違えると、それ以降の周波数binでは全て分離先を間違えてしまうことになる。また、上記（ｂ）は、方向推定の精度に問題があり、さらにマイクロホンの位置・方向・間隔等の情報が必要である。また、両者を組み合わせた上記（ｃ）は、入れ替えの精度は向上しているものの、上記（ｂ）と同様にマイクロホンの位置情報等が必要である。また、上記（ｄ）は、事前にニューラルネットワークを構築しておく必要があり、原信号についての何らかの知識を必要とする。
【００１０】
このように、従来は、原信号についての知識やマイクロホンの位置等についての情報を利用することなく高い精度でパーミュテーション問題を解消する方法が存在しないのが現状であった。
【００１１】
本発明は、このような従来の実情に鑑みて提案されたものであり、複数の信号が混合された音声信号を独立成分分析を用いて信号毎に分離する際に、原信号についての知識やマイクロホンの位置等についての情報を利用することなく高い精度でパーミュテーション問題を解消することが可能な音声信号分離装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した目的を達成するために、本発明に係る音声信号分離装置は、音声信号を含む複数の信号が混合された複数チャンネルの時間領域の観測信号を独立成分分析を用いて信号毎に分離し、分離信号を生成する音声信号分離装置において、上記時間領域の観測信号を時間周波数領域に変換し、観測信号のスペクトログラムを生成する変換手段と、上記観測信号のスペクトログラムから分離信号のスペクトログラムを生成する分離手段と、上記分離信号のスペクトログラムのパーミュテーション問題を解消するパーミュテーション問題解消手段とを備え、上記パーミュテーション問題解消手段は、パーミュテーションの程度に対応した尺度を上記分離信号のスペクトログラムの略々全体から計算し、当該尺度に基づいて上記分離信号のスペクトログラムの各周波数binの信号をチャンネル間で入れ替えることでパーミュテーション問題を解消することを特徴とする。
【００１３】
また、上述した目的を達成するために、本発明に係る音声信号分離方法は、音声信号含む複数の信号が混合された複数チャンネルの時間領域の観測信号を独立成分分析を用いて信号毎に分離し、分離信号を生成する音声信号分離方法において、上記時間領域の観測信号を時間周波数領域に変換し、観測信号のスペクトログラムを生成する変換工程と、上記観測信号のスペクトログラムから分離信号のスペクトログラムを生成する分離工程と、上記分離信号のスペクトログラムのパーミュテーション問題を解消するパーミュテーション問題解消工程とを有し、上記パーミュテーション問題解消工程では、パーミュテーションの程度に対応した尺度を上記分離信号のスペクトログラムの略々全体から計算し、当該尺度に基づいて上記分離信号のスペクトログラムの各周波数binの信号をチャンネル間で入れ替えることでパーミュテーション問題を解消することを特徴とする。
【発明の効果】
【００１４】
本発明に係る音声信号分離装置及びその方法によれば、複数の信号が混合された音声信号を独立成分分析を用いて信号毎に分離する際に、原信号についての知識やマイクロホンの位置等についての情報を利用することなく高い精度でパーミュテーション問題を解消することが可能とされる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、複数の信号が混合された音声信号を独立成分分析を用いて信号毎に分離する音声信号分離装置に適用したものである。特に、本実施の形態における音声信号分離装置は、パーミュテーションの程度を測る尺度として、多次元確率密度関数を用いて計算されるKullback-Leiblar情報量（以下、「ＫＬ情報量」という。）、又は多次元の尖度をスペクトログラム全体（あるいは略々全体）から計算し、パーミュテーションの程度が最小となるように周波数bin毎の信号を入れ替える。
【００１６】
ここで、本実施の形態におけるスペクトログラムの一例を図１に示す。この図１は、チャンネルｋ（１≦ｋ≦ｎ）のスペクトログラムＹｋを示したものである。本明細書では、このスペクトログラムＹｋからフレーム番号ｔ（１≦ｔ≦Ｔ）の部分を切り出したベクトルをＹｋ（ｔ）と記し、周波数bin番号ω（１≦ω≦Ｍ）の部分を切り出したベクトルをＹｋ（ω）と記す。また、スペクトログラムＹｋの各要素をＹｋ（ω，ｔ）と記す。また、Ｙ１（ω）〜Ｙｎ（ω）を要素とするベクトルをＹ（ω）と記し、Ｙ１〜Ｙｎを要素とするベクトルをＹと記す。これらのベクトルＹ、Ｙ（ω）、Ｙｋ（ｔ）、Ｙｋ（ω）を下記式（１）〜（４）に示す。
【００１７】
【数１】
2006337851.tif 000003
【００１８】
以下では先ず、多次元確率密度関数を用いて計算されるＫＬ情報量と多次元の尖度とがパーミュテーションの程度を測る尺度として利用できる点について説明し、次いで、本実施の形態における音声信号分離装置の具体的構成について説明する。
【００１９】
（多次元確率密度関数を用いて計算されるＫＬ情報量）
ＫＬ情報量とは、複数の信号間の独立性を表す尺度であり、下記式（５）のように定義される。この式（５）において、Ｈ（Ｙｋ）はチャンネルｋのスペクトログラムＹｋから計算されるエントロピーであり、Ｈ（Ｙ）は全チャンネルのスペクトログラムＹから計算される同時エントロピーである。チャンネル数＝２のときのＨ（Ｙｋ）とＨ（Ｙ）との関係を図２に示す。
【００２０】
【数２】
2006337851.tif 000004
【００２１】
式（５）で定義されるＫＬ情報量はスペクトログラム全体から計算される量であるため、スペクトログラムにパーミュテーションが発生しているか否かで値が異なる。以下、説明する。
【００２２】
分離直後のパーミュテーションが発生しているスペクトログラムをＹ'、パーミュテーション問題の解消後のスペクトログラムをＹとし、パーミュテーション問題を解消する操作（同じ周波数binのチャンネル間で信号を入れ替える操作）を表す行列をＰとすると、Ｙ＝ＰＹ’と書くことができる。したがって、上記式（５）は上記式（６）のように変形できる。式（６）の１項目はエントロピーの定義式に基づくものであり、２項目及び３項目はＹ＝ＰＹ’からＨ（Ｙ）＝ｌｏｇ|ｄｅｔ（Ｐ）|＋Ｈ（Ｙ’）という関係が導出されることに基づく。行列Ｐは単位行列の行を入れ替えたものなのでｄｅｔ（Ｐ）＝±１であり、Ｈ（Ｙ’）はパーミュテーション問題を解消するにあたっては定数と見なせるため、上記式（６）は上記式（７）のように変形できる。つまり、ＫＬ情報量の大小は、各チャンネルのエントロピーＨ（Ｙｋ）の総和で決まり、全チャンネルの同時エントロピーＨ（Ｙ）に依存しない。
【００２３】
チャンネルｋのエントロピーＨ（Ｙｋ）を求める際には、スペクトログラムＹｋからフレーム番号ｔの部分を切り出したベクトルＹｋ（ｔ）を、Ｙｋの確率密度関数（ＰＤＦ）であるＰＹｋ（）に代入することでベクトルの発生確率を求める。Ｈ（Ｙｋ）は、その発生確率の対数値にマイナスをつけ、それを全時刻で平均したものとして計算される。Ｅｔ［］は時間方向の平均を表す。
【００２４】
なお、Ｙｋ（ｔ）をＰＹｋ（）に代入して発生確率を求める際、必ずしもＹｋ（ｔ）の全要素を使用する必要はない。例えば、周波数bin毎（ω毎）のパワーＤ（ω）を下記式（８）に従って計算し、パワーの上位Ｌ本の周波数binに該当する要素のみを使用するようにしても構わない。
【００２５】
【数３】
2006337851.tif 000005
【００２６】
ここで、ＫＬ情報量の大小とパーミュテーションの程度とには関係があり、確率密度関数ＰＹｋ（）の設定次第で、パーミュテーションが発生していない場合をＫＬ情報量の最大値又は最小値とすることができる。
【００２７】
一例として、スペクトログラムＹｋの確率密度関数を下記式（９）で定義する。すなわち、スカラー値を引数とする任意の非負関数ｆ（）に対してＹｋ（ｔ）のＬ−Ｎノルムを代入したものを確率密度関数として用いる。なお、Ｌ−Ｎノルムとは、下記式（１０）に示すように、ベクトルの要素の絶対値をＮ乗してから総和し、最後にＮ乗根をとったものである。また、式（９）におけるｈは、ＰＹｋ（Ｙｋ（ｔ））の全引数について−∞〜＋∞の範囲で積分した値を１に調整するため、すなわち発生確率の総和を１に調整するための定数である。但し、パーミュテーション問題を解消するにあたってはＫＬ情報量の大小のみが重要であるため、正の値であればどのような値でも構わない。以下ではｈ＝１とする。
【００２８】
【数４】
2006337851.tif 000006
【００２９】
上記式（９）における関数ｆ（）としては様々なものが使用可能である。ｆ（）の例と、そのときのｌｏｇＰＹｋ（Ｙｋ（ｔ））とを下記式（１１）〜（２０）に示す。なお、式（１５）におけるｆ（ｘ）＝１／|ｘ|ｍを用いたＰＹｋ（Ｙｋ（ｔ））は積分値が発散するため確率密度関数の性質を満たさないが、エントロピー自体は計算可能であるため、本明細書では確率密度関数の一例として挙げている。
【００３０】
【数５】
2006337851.tif 000007
【００３１】
【数６】
2006337851.tif 000008
【００３２】
【数７】
2006337851.tif 000009
【００３３】
【数８】
2006337851.tif 000010
【００３４】
【数９】
2006337851.tif 000011
【００３５】
以下、ＫＬ情報量が最大値又は最小値をとるのはパーミュテーションが発生していない場合に限られることを検証した実験について説明する。この実験では、パーミュテーションが発生していない２枚のスペクトログラムに対して人工的にパーミュテーションを発生させ、パーミュテーションの程度とＫＬ情報量との関係をプロットして、ＫＬ情報量が最大値又は最小値をとるのはパーミュテーションが発生していない場合に限られることを検証した。
【００３６】
先ず、チャンネル数＝２の場合について説明する。
【００３７】
この実験では、先ず、ウェブページ（http://www.kecl.ntt.co.jp/icl/signal/mukai/demo/hscma2005/）で公開されている「s1.wav」及び「s2.wav」というファイル（サンプリング周波数１６ｋＨｚ）からそれぞれ先頭の４万サンプルを取り出し、この時間領域の信号に対して短時間フーリエ変換（窓長＝５１２，シフト幅＝１２８）を施して、パーミュテーションが発生していない２枚のスペクトログラム（周波数bin数＝２５７，フレーム数＝４９７）を生成した。そして、この２枚のスペクトログラムに対して、ある基準に従って周波数binを１本選択し、その周波数binの信号を入れ替えて人工的にパーミュテーションを発生させた。なお、周波数binの選択基準としては、（ａ）パワーの大きな周波数binから選択、（ｂ）ω＝１から選択、（ｃ）（ｄ）ランダムに選択、の４通りを試し、いずれも既に選択された周波数binは選択しないものとした。
【００３８】
周波数binをランダムに選択して入れ替えた場合のスペクトログラムの様子を図３に示す。図３（Ａ）〜（Ｄ）は、元のスペクトログラムの周波数binをそれぞれ０％（０本）、３３％（８５本）、６７％（１７１本）、１００％（２５７本）入れ替えたものである。なお、周波数binを１００％入れ替えたものはスペクトログラム自体を入れ替えたものと等しいため、パーミュテーションは発生していない。
【００３９】
周波数binの信号を入れ替える毎にＫＬ情報量を計算し、入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係をプロットした結果を図４〜図６に示す。グラフが上に凸となるか下に凸となるかは、ｆ（）及びＮの値によって異なるが、いずれの場合もグラフの両端、すなわちパーミュテーションが発生していない状態で、ＫＬ情報量が最小値（グラフが上に凸の場合）又は最大値（グラフが下に凸の場合）となっている。つまり、ＫＬ情報量はパーミュテーションの程度を測る尺度になり得ることが実験的に確かめられた。
【００４０】
図４〜図６に示していない関数についての結果を以下の表１に示す。この表１において、「∩」は上に凸のグラフ（両端が最小値）を表し、「∪」は下に凸のグラフ（両端が最大値）を表し、「一定」はパーミュテーションの程度に関わらず一定値となることを表している。なお、空欄は計算が発散して値が計算できないことを表す。
【００４１】
【表１】
2006337851.tif 000012
【００４２】
上に凸となる関数を用いた場合には、ＫＬ情報量が減少するように周波数binの信号を入れ替えることでパーミュテーション問題を解消することができ、下に凸となる関数を用いた場合には、ＫＬ情報量が増大するように周波数binの信号を入れ替えることでパーミュテーション問題を解消することができる。
【００４３】
なお、ＫＬ情報量のグラフが上に凸となるか下に凸となるかは、ｆ（）を１次元の確率密度関数と見なしたときに、分布がスーパーガウシアン（super-gaussian）であるかサブガウシアン（sub-gaussian）であるかに依存する。スーパーガウシアンとは、正規分布（gaussian）と比べて平均値付近の分布が鋭く尖っている一方で周辺の分布がなだらか（裾野が広い）なものを表す。一方、サブガウシアンとは、平均値付近の分布は広いが周辺の分布は少ないものを表す。
【００４４】
次に、チャンネル数＝３の場合について説明する。
【００４５】
この実験においても、先ず、ウェブページ（http://www.kecl.ntt.co.jp/icl/signal/mukai/demo/hscma2005/）で公開されている「s1.wav」、「s2.wav」及び「s3.wav」というファイル（サンプリング周波数１６ｋＨｚ）からそれぞれ先頭の４万サンプルを取り出し、この時間領域の信号に対して短時間フーリエ変換（窓長＝５１２，シフト幅＝１２８）を施して、パーミュテーションが発生していない３枚のスペクトログラム（周波数bin数＝２５７，フレーム数＝４９７）を生成した。そして、この３枚のスペクトログラムに対して、上述した（ａ）〜（ｄ）の基準に従って周波数binを１本選択し、その周波数binの信号を入れ替えて人工的にパーミュテーションを発生させた。
【００４６】
周波数binをランダムに選択して入れ替えた場合のスペクトログラムの様子を図７に示す。図７（Ａ）〜（Ｄ）は、元のスペクトログラムの周波数binをそれぞれ０％（０本）、３３％（８５本）、６７％（１７１本）、１００％（２５７本）入れ替えたものである。なお、チャンネル数＝３であるため、周波数binを１００％入れ替えた場合であってもパーミュテーションは発生している。
【００４７】
周波数binの信号を入れ替える毎にＫＬ情報量を計算し、入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係をプロットした結果を図８〜図１０に示す。グラフが上に凸となるか下に凸となるかは、ｆ（）及びＮの値によって異なるが、いずれの場合もグラフの左端、すなわちパーミュテーションが発生していない状態で、ＫＬ情報量が最小値（グラフが上に凸の場合）又は最大値（グラフが下に凸の場合）となっている。つまり、ＫＬ情報量はパーミュテーションの程度を測る尺度になり得ることが実験的に確かめられた。
【００４８】
以上、一例としてＬ−Ｎノルムに基づく多次元確率密度関数を用いた場合について説明したが、他の多次元確率密度関数も使用可能である。
【００４９】
例えば、上記式（９）においてｆ（）に代入している値をＬ−Ｎノルムからマハラノビス距離（Ｙｋ（ｔ）ＨΣｋ−１Ｙｋ（ｔ）の平方根）に置き換えると、下記式（２１）が得られる。この式（２１）で与えられる確率密度関数は楕円分布と呼ばれる。本実施の形態では、この楕円分布に基づく確率密度関数も使用可能である。この式（２１）において、Ｙｋ（ｔ）Ｈ はＹｋ（ｔ）のエルミート転置（要素を共役複素数に置き換えると共に、ベクトルや行列を転置する）である。また、ΣｋはＹｋ（ｔ）の分散共分散行列であり、下記式（２２）に従って計算される。
【００５０】
【数１０】
2006337851.tif 000013
【００５１】
チャンネル数＝２、ｆ（ｘ）＝ｅｘｐ（−|ｘ|）である場合に、周波数binの入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係をプロットした結果を図１１（Ａ）に示す。グラフが上に凸となるか下に凸となるかはｆ（）によって決まり、その傾向は、Ｌ−Ｎノルムを用いた場合のＮ＝２と同様である。但し、分散共分散行列Σｋの逆行列を乗じることで、周波数bin毎のパワーには依存せず、略々中間で極大（又は極小）となる滑らかなグラフが得られる。上述した図４〜図６に示すように、Ｌ−Ｎノルムを用いて計算したＫＬ情報量のグラフには局所的な逆転、例えば、基本的には上に凸のグラフであるが、パーミュテーションの程度が増大するにも拘わらずＫＬ情報量が減少するような個所が含まれる場合があり、パーミュテーション問題の解消が失敗する原因ともなり得るが、楕円分布を用いてＫＬ情報量を計算した場合にはその可能性が少ない。
【００５２】
なお、周波数binの信号を入れ替える毎に分散共分散行列を計算するのは時間がかかるため、分散共分散行列の対角要素のみを使用するようにしてもよい。その場合にも図１１（Ｂ）に示すように略々同じ特性を持ったグラフが得られる。
【００５３】
本実施の形態では、さらに他の多次元確率密度関数として、コピュラ（Copula）モデルに基づく確率密度関数も使用可能である。コピュラモデルに基づく多次元確率密度関数については、本件出願人が先に提案した特願２００５−１８８２２の明細書及び図面に記載されている。
【００５４】
（多次元の尖度）
尖度（kurtosis）とは、４次のキュムラントとも称され、信号の分布が正規分布からどの程度離れているかを測る尺度として用いられる。
【００５５】
多次元量（周波数bin数＝Ｍのスペクトログラムを用いるため、次元数はＭ）の尖度は、下記式（２３）で定義される。尖度は、ベクトルＹｋ（ｔ）の分布が正規分布（多変量正規分布）のときに０、スーパーガウシアンのときに正の値、サブガウシアンのときに負の値をとる。
【００５６】
【数１１】
2006337851.tif 000014
【００５７】
ここで、パーミュテーションが発生していない状態のスペクトログラムが正規分布以外の分布であると仮定する。一般に、断続的に発生する音（音声など）は分布がスーパーガウシアンになり易く、連続的に発生する音（音楽など）は分布がサブガウシアンになり易い。一方で、パーミュテーションが発生すると、複数の信号を混合することになるため、分布が正規分布に近付く。つまり、各チャンネルの尖度を計算したとき、パーミュテーションの程度が大きいほど０に近い値をとる。したがって、下記式（２４）のような各チャンネルの尖度の絶対値を総和したもの（以下、「全体の尖度」という。）を、パーミュテーションの程度を測る尺度として利用することができる。因みに、パーミュテーションの程度が小さいほど全体の尖度は大きくなる。
【００５８】
【数１２】
2006337851.tif 000015
【００５９】
上述した「s1.wav」及び「s2.wav」というファイルから得られた２枚のスペクトログラムに対して、上述した（ａ）〜（ｄ）の基準に従って周波数binを１本選択し、その周波数binの信号を入れ替える毎に全体の尖度を計算したときの、入れ替えの本数（横軸）と全体の尖度（縦軸）との関係をプロットした結果を図１２（Ａ）に示す。また、上述した「s1.wav」、「s2.wav」及び「s3.wav」というファイルから得られた３枚のスペクトログラムに対して、上述した（ａ）〜（ｄ）の基準に従って周波数binを１本選択し、その周波数binの信号を入れ替える毎に全体の尖度を計算したときの、入れ替えの本数（横軸）と全体の尖度（縦軸）との関係をプロットした結果を図１２（Ｂ）に示す。何れも場合も、パーミュテーションが発生していない状態（図１２（Ａ）では両端、図１２（Ｂ）では左端）で全体の尖度が最大値となっている。したがって、パーミュテーションの程度を測る尺度として全体の尖度を用いた場合には、全体の尖度が増大するように周波数binの信号をチャンネル間で入れ替えることで、パーミュテーション問題を解消することができる。
【００６０】
なお、尖度を利用する場合にも、楕円分布の場合と同様に、分散共分散行列の全要素を計算する代わりに、分散共分散行列の対角要素のみを使用するようにしても構わない。
【００６１】
また、必ずしもＹｋ（ｔ）の全要素を使用する必要はない。例えば、周波数bin毎（ω毎）のパワーＤ（ω）を上記式（８）に従って計算し、パワーの上位Ｌ本の周波数binに該当する要素のみを使用するようにしても構わない。
【００６２】
（音声信号分離装置の具体的な構成）
以上、多次元確率密度関数を用いて計算されるＫＬ情報量と多次元の尖度とがパーミュテーションの程度を測る尺度として利用できる点について説明したが、以下では本実施の形態における音声信号分離装置の具体的な構成について説明する。
【００６３】
本実施の形態における音声信号分離装置の概略構成を図１３に示す。この音声信号分離装置１において、ｎ個のマイクロホン１０１〜１０ｎは、ｎ個の音源が発する独立な音を観測し、Ａ／Ｄ（Analogue/Digital）変換部１１は、この信号をＡ／Ｄ変換して観測信号を得る。短時間フーリエ変換部１２は、観測信号に対して短時間フーリエ変換を施して観測信号のスペクトログラムを生成する。信号分離部１３は、観測信号のスペクトログラムに対して周波数bin毎に分離処理を行い、分離信号のスペクトログラムを生成する。
【００６４】
リスケーリング部１４は、分離信号のスペクトログラムの各周波数binに対してスケールを揃える処理を行う。また、分離処理前に観測信号に対して標準化処理（平均や分散の調整）を施していた場合には元に戻す処理を行う。パーミュテーション問題解消部１５は、パーミュテーションが発生している分離信号のスペクトログラムについて、多次元確率密度関数を用いて計算されるＫＬ情報量又は多次元の尖度に基づいて周波数bin毎の信号を入れ替え、パーミュテーション問題を解消する。逆フーリエ変換部１６は、パーミュテーション問題が解消された分離信号のスペクトログラムに対して逆フーリエ変換を施し、時間領域の分離信号を生成する。Ｄ／Ａ変換部１７は、時間領域の分離信号をＤ／Ａ変換し、ｎ個のスピーカ１８１〜１８ｎは、それぞれ独立の音を再生する。
【００６５】
なお、この音声信号分離装置１では、ｎ個のスピーカ１８１〜１８ｎを介して音を再生するものとしたが、分離信号を出力し、音声認識等に用いるようにすることも可能である。この場合には、逆フーリエ変換処理を適宜省略しても構わない。
【００６６】
この音声信号分離装置の処理の概略を図１４のフローチャートを用いて説明する。先ずステップＳ１において、マイクロホンを介して音声信号を観測し、ステップＳ２において、観測信号に対して短時間フーリエ変換を施してスペクトログラムを生成する。次にステップＳ３において、観測信号のスペクトログラムに対して周波数bin毎に分離処理を行い、分離信号のスペクトログラムを生成する。この分離処理には、extended infomax法、Fast ICA、JADEなど、既存の独立成分分析の手法を用いることができる。
【００６７】
このステップＳ３で得られた分離信号は、パーミュテーションが発生しており、且つ、周波数bin毎にスケールが異なっている。そこでステップＳ４では、リスケーリング処理を行い、周波数binの間のスケールを揃える。ここでは、標準化処理で変更した平均と標準偏差とを元に戻す処理も行う。続いてステップＳ５において、パーミュテーションが発生している分離信号のスペクトログラムについて、多次元確率密度関数を用いて計算されるＫＬ情報量又は多次元の尖度に基づいて周波数bin毎の信号を入れ替え、パーミュテーション問題を解消する。なお、このステップＳ５における処理の詳細は後述する。続いてステップＳ６において、パーミュテーション問題が解消された分離信号のスペクトログラムに対して逆フーリエ変換を施して時間領域の分離信号を生成し、ステップＳ７において、この分離信号をスピーカから再生する。
【００６８】
上述したステップＳ５におけるパーミュテーション問題解消処理の詳細を図１５を用いて説明する。なお、チャンネル数をｎとすれば、入れ替えの組合せは周波数bin毎にｎ！通りあるため、周波数binの本数をＭとすれば、全体の組合せは（ｎ！）Ｍという莫大な数になる。したがって、全ての組合せを検証することは実質的に不可能であるため、図１５のフローチャートでは、以下のアルゴリズムによって、ｎ！×Ｍのオーダで最適に近い組合せを検索している。
【００６９】
先ずステップＳ１１において、周波数binの番号からなる順列を生成する。つまり、周波数binの本数をＭとしたとき、１からＭまでの数字が１回ずつ出現する数列を生成する。以降の処理では、この順列に従って周波数binが選ばれていく。順列としては、例えば、（ａ）ω＝１からω＝Ｍの順に並んだ順列、（ｂ）ω＝Ｍからω＝１の順に並んだ順列、（ｃ）パワーの大きな周波数binから並んだ順列、（ｄ）ランダムに並んだ順列、の何れかを用いる。（ｃ）の順列については、上記式（８）に従って周波数bin毎のパワーを求め、それを降順にソートすることで生成することができる。以下、このようにして生成された順列を［bin（１），・・・，bin（Ｍ）］と表す。
【００７０】
次にステップＳ１２において、チャンネル番号からなる順列を全て生成する。これは、周波数bin毎の信号をチャンネル間で入れ替える際のチャンネル間の組合せを示したものであり、チャンネル数をｎとするとｎ！通りの組合せがある。生成された順列を［ａ１，・・・，ａｋ，・・・，ａｎ］と表すと、ａｋは「入れ替え後のチャンネルｋの信号は、入れ替え前のチャンネルａｋと同じ」ということを意味している。例えばｎ＝２の場合、順列は［１，２］と［２，１］との２通りであり、それぞれ「何も置換しない」こと、「チャンネル１と２とを入れ替える」ことを意味している。ｎ＝３の場合、順列は［１，２，３］から［３，２，１］までの６通りあり、例えばそのうちの［２，１，３］は、「チャンネル１と２とを入れ替え、チャンネル３はそのまま」であることを意味している。以降では、これらの順列をｐ（１），ｐ（２），・・・，ｐ（ｎ！）という変数で表す。また、ｐ（１）は  ［１，２，…，ｎ］、すなわち「どのチャンネルも置換しない」ことを意味しているものとする。
【００７１】
続いてステップＳ１３において、ＹにＹ’を代入する。このＹは、周波数binの信号を入れ替えた後のスペクトログラムを格納する変数であり、Ｙ’は、分離直後のパーミュテーションが発生しているスペクトログラムである。
【００７２】
ステップＳ１４〜Ｓ２４は外側のループを構成しており、後述する回数だけ繰り返される。なお、この外側のループの意味については後述する。また、ステップＳ１５〜Ｓ２３は周波数binについてのループを構成している。このループでは、ステップＳ１１で生成した順列（［bin（１），・・・，bin（Ｍ）］）に従って周波数binを選択し、その周波数binの信号をチャンネル間で入れ替える。以降ではω番目の周波数binの信号を何度も使うため、ステップＳ１６では、ω番目の周波数binの信号をＹｔｍｐという変数に格納しておく。ＹｔｍｐはＹ（ω）と同次元、すなわちｎ本の行ベクトルＹｔｍｐ１〜Ｙｔｍｐｎからなる行列である。また、ステップＳ１７〜Ｓ２０はチャンネル番号の順列についてのループを構成している。このループでは、ステップＳ１２で生成したｎ！通りの順列（ｐ（１），ｐ（２），・・・，ｐ（ｎ！））についてループを回し、各順列に従って周波数binの信号をチャンネル間で入れ替える。
【００７３】
具体的に、ステップＳ１８では、Ｙｔｍｐに対してｐ（ｊ）に従った入れ替えを行ったものをＹ（ω）に代入する。例えば、ｎ＝３且つｐ（ｊ）＝［２，１，３］の場合、Ｙ１（ω）＝Ｙｔｍｐ２，Ｙ２（ω）＝Ｙｔｍｐ１，Ｙ３（ω）＝Ｙｔｍｐ３となる。
【００７４】
続いてステップＳ１９では、Ｙ全体のＫＬ情報量又は多次元の尖度を計算する。ここで、Ｙ（ω）だけでなくＹ全体（或いは、略々全体）を使用しているため、仮に特定の周波数binで入れ替え間違いが発生しても、以降の周波数binで全て入れ替え間違えが発生するといった危険性はない。
【００７５】
ステップＳ１８、Ｓ１９の処理をチャンネル番号の全ての順列について行い、ＫＬ情報量又は多次元の尖度を計算すると、ステップＳ２１では、それらの最大値又は最小値に対応したインデックスを求める。求めたインデックスをｊ’とすると、ｊ’に対応した入れ替えの組合せｐ（ｊ’）こそが、ω番目の周波数binのパーミュテーション問題を解消する入れ替え方法である可能性が高い。そこで、ステップＳ２２では、Ｙｔｍｐに対してｐ（ｊ’）に従った入れ替えを行ったものをＹ（ω）に代入する。このステップＳ１６〜Ｓ２２の処理を全ての周波数binに対して行う。
【００７６】
ここで、ステップＳ１５〜Ｓ２３の処理は、１周だけではなく ２周・３周と繰り返すことでパーミュテーション問題の解消の度合いが増すことがある。すなわち、１周目ではパーミュテーション問題が解消しない周波数binが残っていても、２周目以降で解消する場合がある。そこで、ステップＳ１５〜Ｓ２３の外側でもループを回す。外側のループの繰り返し回数としては、固定した回数（例えば３回）としてもよく、ステップＳ２２においてパーミュテーションが発生した、すなわちｊ’≠１となった周波数binの本数が一定数（例えば１０本）以下、或いは一定割合（例えば５％）以下になるまでとしてもよい。
【００７７】
この外側ループを抜けた段階で、変数Ｙにはパーミュテーション問題が解消したスペクトログラムが格納されている。
【００７８】
なお、上述したフローチャートでは、ステップＳ１１で生成された周波数binの番号からなる順列を使い続けるものとして説明したが、このステップＳ１１を外側のループの内部に移動し、外側のループを繰り返す毎に異なる順列を使用するようにしても構わない。例えば、１周目は「パワーの大きな周波数binから並んだ順列」を使用し、２周目は「ω＝１からω＝Ｍの順に並んだ順列」を使用するようにしても構わない。
【００７９】
（パーミュテーション問題の解消結果の具体例）
以下、パーミュテーション問題の解消結果の具体例を示す。以下では、上記式（９）のＬ−Ｎノルムに基づく多次元確率密度関数においてｆ（ｘ）＝１／|ｘ|ｍ、且つＬ＝１としてＫＬ情報量を計算し、このＫＬ情報量に基づいてパーミュテーション問題を解消した。また、使用した観測信号のサンプリング周波数は１６ｋＨｚであり、短時間フーリエ変換では、窓長５１２（周波数binの本数は２５７）のハニング窓をシフト幅１２８で使用した。さらに、図１５のフローチャートにおける外側ループは３回繰り返し、図１５のステップＳ１１で生成される周波数binの番号からなる順列は、パワーの大きな周波数binから並んだ順列とした。
【００８０】
先ず、ウェブページ（http://www.ism.ac.jp/~shiro/research/blindsep.html）で公開されている「X_rsm2.wav」というファイル（サンプリング周波数１６ｋＨｚ）の先頭４万サンプルに対して、既存の独立成分分析の手法、具体的にはpre-whiteningありのextended infomax法で分離処理を施した結果（Ｙ’に相当）を図１６に示す。図１６から分かるように、矢印を付した周波数binにおいて帯状にパーミュテーションが発生している。
【００８１】
このスペクトログラムに対して本実施の形態の手法でパーミュテーション問題解消処理を行った結果（Ｙに相当）を図１７に示す。図１７から分かるように、パーミュテーション問題がほぼ解消している。なお、Ｙ１は“ワン、ツー、スリー、フォー”という音声に対応したスペクトログラムであり、Ｙ２は音楽に対応したスペクトログラムである。
【００８２】
次に、人工的に発生させたパーミュテーションに対して本実施の形態の手法でパーミュテーション問題解消処理を行った結果について説明する。
【００８３】
先ず、チャンネル数＝２の場合について２例示す。
【００８４】
図３（Ａ）のスペクトログラムの約３３％の周波数binに対してパーミュテーションを発生させたものを図１８（Ａ）に示す。図１８（Ａ）のうち、パーミュテーションが発生している周波数binを黒線で表すと図１８（Ｂ）のようになる。全体で５１４本（２５７×２）ある周波数binのうちパーミュテーションが発生している周波数binの本数は、Ｙ１、Ｙ２共に８４本、全体で１６８本（３２．６８％）である。この図１８（Ａ）のスペクトログラムに対して本実施の形態の手法でパーミュテーション問題解消処理を行った結果を図１９に示す。この図１９に示すスペクトログラムにおいてパーミュテーションが発生している周波数binの本数は０本であり、パーミュテーション問題が完全に解消されている。
【００８５】
同様に、２枚のスペクトログラムの約５０％の周波数binに対してパーミュテーションを発生させたものを図２０（Ａ）、（Ｂ）に示す。全体で５１４本ある周波数binのうちパーミュテーションが発生している周波数binの本数は、Ｙ１、Ｙ２共に１２８本、全体で２５６本（４９．８１％）である。この図２０（Ａ）のスペクトログラムに対して本実施の形態の手法でパーミュテーション問題解消処理を行った結果を図２１に示す。この図２１に示すスペクトログラムにおいてパーミュテーションが発生している周波数binの本数は０本であり、パーミュテーション問題が完全に解消されている。
【００８６】
次に、チャンネル数＝３の場合について２例示す。
【００８７】
図７（Ａ）のスペクトログラムの約３３％の周波数binに対してパーミュテーションを発生させたものを図２２（Ａ）、（Ｂ）に示す。全体で７１１本（２５７×３）ある周波数binのうちパーミュテーションが発生している周波数binの本数は、Ｙ１が７１本、Ｙ２が７２本、Ｙ３が７１本、全体で２１４本（２７．７６％）である。この図２２（Ａ）のスペクトログラムに対して本実施の形態の手法でパーミュテーション問題解消処理を行った結果を図２３に示す。この図２３に示すスペクトログラムにおいてパーミュテーションが発生している周波数binの本数は０本であり、パーミュテーション問題が完全に解消されている。
【００８８】
同様に、３枚のスペクトログラムの全ての周波数binに対してパーミュテーションを発生させたものを図２４（Ａ）、（Ｂ）に示す。全体で７１１本ある周波数binのうちパーミュテーションが発生している周波数binの本数は、Ｙ１が１３４本、Ｙ２が１５４本、Ｙ３が１４９本、全体で４３７本（５６．６８％）である。この図２４（Ａ）のスペクトログラムに対して本実施の形態の手法でパーミュテーション問題解消処理を行った結果を図２５に示す。この図２５に示すスペクトログラムにおいてパーミュテーションが発生している周波数binの本数は０本であり、パーミュテーション問題が完全に解消されている。
【００８９】
最後に、チャンネル数＝４の場合について示す。
【００９０】
図７（Ａ）のスペクトログラムに、同じウェブページで公開されている「s4.wav」というファイルから得られたスペクトログラムを追加し、約６６％の周波数binに対してパーミュテーションを発生させたものを図２６（Ａ）、（Ｂ）に示す。全体で１０２８本（２５７×４）ある周波数binのうちパーミュテーションが発生している周波数binの本数は、Ｙ１が１３２本、Ｙ２が１３６本、Ｙ３が１３４本、Ｙ３が１４４本、全体で５４６本（５３．１１％）である。この図２６（Ａ）のスペクトログラムに対して本実施の形態の手法でパーミュテーション問題解消処理を行った結果を図２７（Ａ）に示す。図２７（Ａ）のうち、パーミュテーションが発生している周波数binを黒線で表すと図２７（Ｂ）のようになる。この図２７（Ａ）に示すスペクトログラムにおいてパーミュテーションが発生している周波数binの本数は、Ｙ２が１本、Ｙ３が１本、Ｙ３が２本、全体で４本（０．３９％）であり、パーミュテーション問題が大幅に解消されている。
【００９１】
同様に、４枚のスペクトログラムの全ての周波数binに対してパーミュテーションを発生させたものを図２８（Ａ）、（Ｂ）に示す。全体で１０２８本ある周波数binのうちパーミュテーションが発生している周波数binの本数は、Ｙ１が１７１本、Ｙ２が１８７本、Ｙ３が１７７本、Ｙ３が１７８本、全体で７１３本（６９．３６％）である。この図２８（Ａ）のスペクトログラムに対して本実施の形態の手法でパーミュテーション問題解消処理を行った結果を図２９（Ａ）、（Ｂ）に示す。この図２８（Ａ）に示すスペクトログラムにおいてパーミュテーションが発生している周波数binの本数は、Ｙ１が１本、Ｙ２が２本、Ｙ４が１本、全体で４本（０．３９％）であり、パーミュテーション問題が大幅に解消されている。
【００９２】
以上のように、本実施の形態における音声信号分離装置１によれば、複数の信号が混合された音声信号を独立成分分析を用いて信号毎に分離することができ、また、多次元確率密度関数を用いて計算されるＫＬ情報量又は多次元の尖度をパーミュテーションの程度を測る尺度として利用することにより、原信号の特徴やマイクロホンの位置等の情報を用いることなく、高い精度で分離信号のパーミュテーション問題を解消することができる。
【００９３】
（第１の変形例）
ところで、図１５にアルゴリズムを示すパーミュテーション問題解消処理では、ｎ！Ｍのオーダの計算量が必要とされるため、チャンネル数ｎが大きくなると処理時間が長くなってしまう。そこで、以下に説明するように、チャンネル毎に周波数binの信号の入れ替え方法を決定することで、計算量をｎ２Ｍのオーダに抑えることができる。このパーミュテーション問題解消処理の詳細を図３０を用いて説明する。
【００９４】
先ずステップＳ３１において、周波数binの番号からなる順列［bin（１），・・・，bin（Ｍ）］を生成し、ステップＳ３２において、ＹにＹ’を代入する。このＹは、周波数binの信号を入れ替えた後のスペクトログラムを格納する変数であり、Ｙ’は、分離直後のパーミュテーションが発生しているスペクトログラムである。
【００９５】
ステップＳ３３〜Ｓ４７は第１の外側のループを構成している。このループは、繰り返すことでパーミュテーション問題の解消の度合いを上げるためのものである。また、ステップＳ３４〜Ｓ４６は第１のチャンネルループを構成しており、ステップＳ３５〜Ｓ４５ではｋ番目のチャンネルのスペクトログラムについて、周波数binの信号の入れ替え方法が決定される。なお、ｎ−１個のチャンネルに対して周波数binの信号の入れ替え方法が決定すれば残りの１チャンネルの入れ替え方法も自動的に決定するため、ループはチャンネル１からチャンネル（ｎ−１）までで構わない。
【００９６】
ステップＳ３５〜Ｓ４５は第１の外側のループを構成している。このループも、繰り返すことでパーミュテーション問題の解消の度合いを上げるためのものである。ステップＳ３６〜Ｓ４４では、ｋ番目のチャンネルについて、周波数binの信号の入れ替え方法を決定する。この目的のため、処理結果を格納する変数をＹｔｍｐとし、初期値としてＹｋを代入しておく。ステップＳ３７〜Ｓ４４は周波数binについてのループを構成している。このループでは、ステップＳ３１で生成した順列（［bin（１），・・・，bin（Ｍ）］）に従って周波数binを選択し、選択したω番目の周波数binの信号をチャンネルｊ（ｊ＝ｋ，ｋ＋１，・・・ｎ）との間で入れ替え、チャンネルｋのエントロピーＨ（Ｙｋ）が最大又は最小となり、又は尖度が最大となる（以下、「エントロピー又は尖度が最適になる」という。）入れ替え方法を見つけ出す。なお、チャンネル１からチャンネル（ｋ−１）までについては、既にパーミュテーション問題が解消しているため、周波数binの信号を入れ替える必要はない。
【００９７】
ステップＳ３８〜Ｓ４１は第２のチャンネルループを構成している。このループでは、ｋからｎの順に選択されたチャンネルｊの周波数binの信号とチャンネルｋの周波数binの信号とが入れ替えられ、入れ替え後のエントロピー又は尖度が計算される。具体的にステップＳ３９では、チャンネルｊのω番目の周波数binの信号Ｙｊ（ω）とＹｔｍｐのω番目の周波数binの信号Ｙｔｍｐ（ω）とが入れ替えられ、ステップＳ４０では、Ｙｔｍｐのエントロピー又は尖度がＳｃｏｒｅ（ｊ）に代入される。チャンネルｋからチャンネルｎまでのＳｃｏｒｅ（ｊ）が得られると、ステップＳ４２では、それらの最大値又は最小値に対応したインデックスを求める。求めたインデックスをｊ’とすると、ｊ’に対応した入れ替えこそが、ω番目の周波数binのパーミュテーション問題を解消する入れ替え方法である可能性が高い。そこで、ステップＳ４３では、チャンネルｋのω番目の周波数binの信号Ｙｋ（ω）とチャンネルｊ’のω番目の周波数binの信号Ｙｊ’（ω）とを入れ替えると共に、チャンネルｊ’のω番目の周波数binの信号Ｙｊ’（ω）をＹｔｍｐのω番目の周波数binの信号Ｙｔｍｐ（ω）として代入する。このステップＳ３８〜Ｓ４３の処理を全ての周波数binに対して行えば、チャンネルｋのエントロピー又は尖度は最適となり、パーミュテーション問題が解消している。そして、この処理を全チャンネルに対して行えば、全チャンネルのパーミュテーション問題が解消する。  
（第２の変形例）
上述したように、図１５にアルゴリズムを示すパーミュテーション問題解消処理では、ｎ！Ｍのオーダの計算量が必要とされるため、チャンネル数ｎが大きくなると処理時間が長くなってしまう。そこで、以下に説明するように遺伝的アルゴリズムを用いることによっても、計算量を削減することができる。この方法では、遺伝子として置換列（[1, 3, 2] など）を、染色体（遺伝子の列。「個体」とも呼ぶ）として置換列からなる列を用い、各染色体の優劣を測る尺度として多次元確率密度関数を用いて計算されるＫＬ情報量や多次元の尖度を用いる。このパーミュテーション問題解消処理の詳細を図３１を用いて説明する。
【００９８】
先ずステップＳ５１において、初期個体群として、ランダムに生成した置換列からなる染色体を任意の個数だけ生成する。染色体の形式を図３２に示す。このように、周波数bin毎の置換列を周波数binの個数だけ縦に並べたものを染色体として用いる。
【００９９】
次にステップＳ５２において、終了条件を満たすか否かを判別する。終了条件としては、ステップＳ５３〜Ｓ５５の処理を所定回数だけ繰り返したことや、個体群が収束した、すなわち最適解が変化しないことなどが挙げられる。終了条件を満たしていない場合にはステップＳ５３に進む。
【０１００】
続いてステップＳ５３において、個体群に対して交叉を適用する。交叉とは、個体群の中から染色体を２本以上選び出し、それらの間で遺伝子（置換列）を交換することである。これを任意の回数繰り返す。なお、交叉には、図３３（Ａ）に示す１点交叉や、図３３（Ｂ）に示す２点交叉や、図３３（Ｃ）に示す多点交叉など様々なバリエーションがあるが、どれを用いても構わない。また、ランダムにωを選び、ω番目の置換列だけを交換してもよい。さらに、ωをランダムに選ぶ代わりに、図１５のステップＳ１１と同様の基準でωを決めてもよい。
【０１０１】
続いてステップＳ５４では、このようにして生成された新しい染色体及び以前の染色体に対して、ある確率に基づいて突然変異又は染色体内入れ替えを適用する。突然変異とは、図３４に示すように、染色体を任意に１本抽出し、任意の個所の遺伝子（置換列）を別の遺伝子と取り替えることである。一方、染色体内入れ替えとは、図３５に示すように、１本の染色体内で置換列を交換することである。このように突然変異又は染色体内入れ替えを適用することで、交叉だけでは生成できない染色体を生成することができる。
【０１０２】
続いてステップＳ５５では、このようにして生成された各染色体に対して、選択（淘汰）を適用して、次世代の個体群を決定する。なお、この選択処理の詳細については後述する。選択処理が終了するとステップＳ５２に戻る。そして、終了条件が満たされるまでステップＳ５３〜Ｓ５５の処理を繰り返す。
【０１０３】
上述したステップＳ５５における選択処理の詳細について、図３６のフローチャートを用いて説明する。
【０１０４】
先ずステップＳ６１において、変数Ｓを次の世代に残す個体（染色体）からなる集合とし、初期値として空集合を代入しておく。
【０１０５】
ステップＳ６２〜Ｓ６９は個体についてのループを構成している。このループでは、交叉・突然変異・染色体内入れ替えといった操作によって生成された新しい染色体（及び、必要に応じて操作前の染色体）それぞれに対してステップＳ６３〜Ｓ６８の処理を行う。
【０１０６】
ステップＳ６３では、ｋ番目の染色体に対応したスペクトログラムを求める。すなわち、分離処理後のスペクトログラムＹ’の各周波数binに対して、ｋ番目の染色体が表す入れ替え方法を適用することで、新しいスペクトログラムを生成する。ステップＳ６４では、生成したスペクトログラムに対して、ＫＬ情報量又は尖度を計算する。
【０１０７】
続いてステップＳ６５において、ＫＬ情報量又は尖度の値に応じて、その個体の生存確率を計算する。尖度を用いる場合、尖度は値が大きいほどパーミュテーションの度合いが小さいため、値が大きいほど生存確率が高くなるように、図３７（Ａ）に示すような下に凸の関数を用いて生存確率を計算する。一方、ＫＬ情報量を用いる場合、上述した表１で「∪」となっている確率密度関数では図３７（Ａ）に示すような関数を用いて生存確率を計算し、「∩」となっている確率密度関数では図３７（Ｂ）に示すような関数を用いて生存確率を計算する。
【０１０８】
生存確率を計算したら、ステップＳ６６〜Ｓ６８では、その値に基づいて各遺伝子を残すか否かを決定する。具体的に、ステップＳ６６では、乱数で０〜１の間の値を発生させ、ステップＳ６７では、生存確率の値がその乱数値よりも大きいか否かを判別する。そして、生存確率の値が乱数値以下である場合にはその個体を消滅させ、生存確率の値が乱数値よりも大きい場合には、その個体を次世代に残すため、ステップＳ６８においてその個体を集合Ｓに追加する。
【０１０９】
ステップＳ６３〜Ｓ６８の処理を全ての個体に対して行うことで、次世代の個体が生成される。その後、ステップＳ７０では、個数による制限を行う。すなわち、生存確率が大きい順に上位Ｌ個の個体のみを残す。
【０１１０】
以上、本発明を実施するための最良の形態について説明したが、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【０１１１】
【図１】本実施の形態におけるスペクトログラムの一例を示す図である。
【図２】チャンネル数＝２のときの、各チャンネルのエントロピーＨ（Ｙｋ）と全チャンネルの同時エントロピーＨ（Ｙ）との関係を示す図である。
【図３】チャンネル数＝２のときに周波数binをランダムに選択して入れ替えた場合のスペクトログラムの様子を示す図である。
【図４】チャンネル数＝２のときの、周波数binの入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係を示す図である。
【図５】チャンネル数＝２のときの、周波数binの入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係を示す図である。
【図６】チャンネル数＝２のときの、周波数binの入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係を示す図である。
【図７】チャンネル数＝３のときに周波数binをランダムに選択して入れ替えた場合のスペクトログラムの様子を示す図である。
【図８】チャンネル数＝３のときの、周波数binの入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係を示す図である。
【図９】チャンネル数＝３のときの、周波数binの入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係を示す図である。
【図１０】チャンネル数＝３のときの、周波数binの入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係を示す図である。
【図１１】チャンネル数＝２、ｆ（ｘ）＝ｅｘｐ（−|ｘ|）のときの、周波数binの入れ替えの本数（横軸）とＫＬ情報量（縦軸）との関係を示す図である。
【図１２】チャンネル数＝２，３のときの、周波数binの入れ替えの本数（横軸）と全体の尖度（縦軸）との関係を示す図である。
【図１３】本実施の形態における音声信号分離装置の概略構成を示す図である。
【図１４】同音声信号分離装置の処理の概略を説明するフローチャートである。
【図１５】パーミュテーション問題解消処理の一例を詳細に説明するフローチャートである。
【図１６】既存の手法で分離処理を行った結果を示す図である。
【図１７】図１６のスペクトログラムに対して、本実施の形態の手法でパーミュテーション問題を解消した結果を示す図である。
【図１８】チャンネル数＝２のときに約３３％の周波数binの信号を入れ替えた場合のスペクトログラムを示す図である。
【図１９】図１８のスペクトログラムに対して、本実施の形態の手法でパーミュテーション問題を解消した結果を示す図である。
【図２０】チャンネル数＝２のときに約５０％の周波数binの信号を入れ替えた場合のスペクトログラムを示す図である。
【図２１】図２０のスペクトログラムに対して、本実施の形態の手法でパーミュテーション問題を解消した結果を示す図である。
【図２２】チャンネル数＝３のときに約３３％の周波数binの信号を入れ替えた場合のスペクトログラムを示す図である。
【図２３】図２２のスペクトログラムに対して、本実施の形態の手法でパーミュテーション問題を解消した結果を示す図である。
【図２４】チャンネル数＝３のときに全ての周波数binの信号を入れ替えた場合のスペクトログラムを示す図である。
【図２５】図２４のスペクトログラムに対して、本実施の形態の手法でパーミュテーション問題を解消した結果を示す図である。
【図２６】チャンネル数＝４のときに約６６％の周波数binの信号を入れ替えた場合のスペクトログラムを示す図である。
【図２７】図２６のスペクトログラムに対して、本実施の形態の手法でパーミュテーション問題を解消した結果を示す図である。
【図２８】チャンネル数＝４のときに全ての周波数binの信号を入れ替えた場合のスペクトログラムを示す図である。
【図２９】図２８のスペクトログラムに対して、本実施の形態の手法でパーミュテーション問題を解消した結果を示す図である。
【図３０】パーミュテーション問題解消処理の他の例を詳細に説明するフローチャートである。
【図３１】遺伝的アルゴリズムを用いたパーミュテーション問題解消処理の例を詳細に説明するフローチャートである。
【図３２】遺伝的アルゴリズムにおける染色体の例を示す図である。
【図３３】遺伝的アルゴリズムにおける交叉の例を示す図である。
【図３４】遺伝的アルゴリズムにおける突然変異の例を示す図である。
【図３５】遺伝的アルゴリズムにおける染色体内入れ替えの例を示す図である。
【図３６】選択操作の一例を詳細に説明するフローチャートである。
【図３７】選択操作で用いる生存確率の関数の一例を示す図である。
【図３８】時間周波数領域における従来の独立成分分析の概略を説明する図である。
【図３９】観測信号及びそのスペクトログラムと、分離信号、そのスペクトログラム、及びパーミュテーション問題解消後のスペクトログラムとを示す図である。
【符号の説明】
【０１１２】
１  音声信号分離装置、１０１〜１０ｎ  マイクロホン、１１  Ａ／Ｄ変換部、１２  短時間フーリエ変換部、１３  信号分離部、１４  リスケーリング部、１５  パーミュテーション問題解消部、１６  逆フーリエ変換部、１７  Ｄ／Ａ変換部、１８１〜１８ｎ  スピーカ
【図１】
2006337851.tif 000016
【図２】
2006337851.tif 000017
【図３】
2006337851.tif 000018
【図４】
2006337851.tif 000019
【図５】
2006337851.tif 000020
【図６】
2006337851.tif 000021
【図７】
2006337851.tif 000022
【図８】
2006337851.tif 000023
【図９】
2006337851.tif 000024
【図１０】
2006337851.tif 000025
【図１１】
2006337851.tif 000026
【図１２】
2006337851.tif 000027
【図１３】
2006337851.tif 000028
【図１４】
2006337851.tif 000029
【図１５】
2006337851.tif 000030
【図１６】
2006337851.tif 000031
【図１７】
2006337851.tif 000032
【図１８】
2006337851.tif 000033
【図１９】
2006337851.tif 000034
【図２０】
2006337851.tif 000035
【図２１】
2006337851.tif 000036
【図２２】
2006337851.tif 000037
【図２３】
2006337851.tif 000038
【図２４】
2006337851.tif 000039
【図２５】
2006337851.tif 000040
【図２６】
2006337851.tif 000041
【図２７】
2006337851.tif 000042
【図２８】
2006337851.tif 000043
【図２９】
2006337851.tif 000044
【図３０】
2006337851.tif 000045
【図３１】
2006337851.tif 000046
【図３２】
2006337851.tif 000047
【図３３】
2006337851.tif 000048
【図３４】
2006337851.tif 000049
【図３５】
2006337851.tif 000050
【図３６】
2006337851.tif 000051
【図３７】
2006337851.tif 000052
【図３８】
2006337851.tif 000053
【図３９】
2006337851.tif 000054