(57)【要約】【課題】従来の独立成分分析では、音源数がマイク数を上回る場合、性能が劣化するという問題があった。従来のｌ１ノルム最小化法では、音源以外の雑音が一切存在しないことを仮定しており、反響や残響などの音声以外の雑音が存在する環境では、性能が劣化するという問題があった。【解決手段】本発明では、ｌ１ノルム最小化法が音を分離するときのコスト関数としていたｌ１ノルムのほかに、分離音に含まれる雑音成分のパワーをコスト値として考慮する。またｌ１ノルム最小化法では、音声が時間方向に関連性を持っていないという前提でコスト関数が定義されていたが、本発明では音声が時間方向に関連性を持っているという前提でコスト関数を定義しており、時間方向に関連性を持っている解が選択されやすくなる仕組みを備えている。【選択図】図２
2007235646.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つ以上のマイクロホン素子を備えるマイクロホンアレイからのアナログ信号をデジタル信号に変換するA/D変換手段と、
該デジタル信号を帯域分割する帯域分割手段と、
上記帯域毎に、上記マイクロホン素子数以上の音源が値０を取るようなベクトルの中から、値０となる要素の数が等しいベクトル毎に、該ベクトルと予め登録するステアリングベクトルとから計算される推定信号と入力信号との誤差が最小となる解を出力する誤差最小解計算手段と、
上記帯域毎に値０となる音源の数毎の誤差最小解のうちでlpノルム値と該誤差の重み付き和が最小となる解を選択する最適モデル計算部と、
該選択解を時間領域信号に変換する信号合成手段とを備えることを特徴とする音源分離装置。
【請求項２】
前記ステアリングベクトルは予め音源定位を行うことで得られたものであることを特徴とする請求項１に記載の音源分離装置。
【請求項３】
前記誤差最小解計算手段は、
上記値０となる音源の数及び値０となる要素等しいベクトル毎に誤差が最小となる解を計算し、
上記最適モデル計算部は、上記出力される誤差最小解から、該誤差の移動平均値とlpノルムの移動平均値との重み付き和が最小となるような解を選択することを特徴とする請求項１又は２に記載の音源分離装置。
【請求項４】
少なくとも２つ以上のマイクロホン素子を備えるマイクロホンアレイからのアナログ信号をデジタル信号に変換し、
該デジタル信号を帯域分割し、
上記帯域毎に、上記マイクロホン素子数以上の音源が値０を取るようなベクトルの中から、値０となる要素の数が等しいベクトル毎に、該ベクトルと予め登録するステアリングベクトルとから計算される推定信号と入力信号との誤差が最小となる解を出力し、
上記帯域毎に値０となる音源の数毎の誤差最小解のうちでlpノルム値と該誤差の重み付き和が最小となる解を選択し、
該選択解を時間領域信号に変換して信号合成を行うことを特徴とする音源分離プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間に複数の音源が異なる位置に配置されている場合に、２本以上のマイクロホンを用いて、音源毎に音を分離する音源分離装置、方法及びこの方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
音源毎に音を分離する技術として、独立成分分析に基づく手法があった（例えば、非特許文献１参照）。独立成分分析とは、音源の原信号が音源間で独立であることを利用する音源分離技術である。独立成分分析ではマイク数と等しい次元の線形フィルタを音源数分だけ用いる。音源数がマイク数以下である場合、原信号を完全に復元することが可能である。独立成分分析に基づく音源分離技術は、音源数がマイク数以下である場合に有効な技術である。
【０００３】
また音源数がマイク数を上回る場合の音源分離技術として、音声のパワースペクトルの確率分布がガウス分布ではなく、ラプラス分布に近いことを利用したｌ１ノルム最小化法がある（例えば、非特許文献２参照）。
【０００４】
【非特許文献１】A.Hyvaerinen,J.Karhunen, and E.Oja, "Independent component analysis," John Wiley & Sons,2001.
【０００５】
【非特許文献２】P.Bofill and M.Zibulevsky, "Blind separation of more sources than mixtures using sparsity of their short-time fourier transform," Proc.ICA2000, pp.87-92,2000/06.
【非特許文献３】村田 昇, “入門独立成分分析,” 東京電機大学出版局, pp. 215-216, 2004/07.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
独立成分分析では、音源数がマイク数を上回る場合、性能が劣化するという問題があった。独立成分分析で用いるフィルタ係数の次元はマイク数と等しいため、フィルタにかける制約はマイク数以下でなければならない。音源数がマイク数を下回る場合、ある特定の音源のみを強調し、それ以外の全ての音源を抑圧するという制約をかけたとしても、制約の数は高々マイク数個であるため、制約を満たすフィルタを生成可能である。しかし、音源数がマイク数を上回る場合、制約の数もマイク数を上回るため、制約を満たすフィルタを生成することができず、出力されるフィルタを使っても十分に分離された信号を得ることはできない。ｌ１ノルム最小化法では、音源以外の雑音が一切存在しないことを仮定しているため、反響や残響などの音声以外の雑音が存在する環境では、性能が劣化するという問題があった。
【課題を解決するための手段】
【０００７】
本願で開示する代表的な発明の概要は以下の通りである。
少なくとも２つ以上のマイクロホン素子を備えるマイクロホンアレイからのアナログ信号をデジタル信号に変換するA/D変換手段と、該デジタル信号を帯域分割する帯域分割手段と、上記帯域毎に、上記マイクロホン素子数以上の音源が値０を取るようなベクトルの中から、値０となる要素が等しいベクトル毎に、該ベクトルと予め登録するステアリングベクトルとから計算される推定信号と入力信号との誤差が最小となる解を出力する誤差最小解計算手段と、上記帯域毎に値０となる音源の数毎の誤差最小解のうちでlpノルム値と該誤差の重み付き和が最小となる解を選択する最適モデル計算部と、該選択解を時間領域信号に変換する信号合成手段とを備える音源分離装置又は、その実行のためのプログラム。
【発明の効果】
【０００８】
本発明では音源数がマイク数を上回り、かつ多少の背景雑音や反響・残響が生じる環境であっても、高いＳ／Ｎで音源毎に音を分離することが可能となる。その結果、ハンズフリー通話などで、聞きやすい音で通話可能となる。
【実施例１】
【０００９】
本実施例のハードウェア構成を図1に示す。中央演算処理装置１内で本実施例に含まれる全ての計算を実施する。記録装置2は、例えばRAMで構成されるワークメモリであり、計算を行う際に使用する変数は全て記憶装置2上に確保される。計算時に使用するデータ及びプログラムは全て例えばROMで構成される記憶装置3に保存されているものとする。マイクロホンアレイ4は少なくとも２つ以上のマイクロホン素子から構成される。個々のマイクロホン素子は,アナログの音圧値を計測する。マイクロホン素子の数はMとする。A/D変換装置はアナログ信号をデジタル信号に変換（サンプリング）する装置であり、Mチャンネル以上の信号を同期サンプリングできる装置である。マイクロホンアレイ4で取り込んだマイクロホン素子毎のアナログの音圧値はA/D変換装置5に送られる。分離する音の数は予め設定し、記録装置２又は３に保存する。分離する音の数をNと表記する。Nが大きいほど、処理量が増加するため、中央演算処理装置１の処理能力で処理可能な程度の値を設定する。
【００１０】
本実施例のソフトウェアのブロック図を図２に示す。本発明では、ｌ１ノルム最小化法が音を分離するときのコスト関数としていたｌ１ノルムのほかに、分離音に含まれる雑音成分のパワーをコスト値として考慮する。２０５の最適モデル選択部では、雑音信号のパワーとｌ１ノルム値の重み付き和の最小解を出力する。またｌ１ノルム最小化法では、音声が時間方向に関連性を持っていないという前提でコスト関数が定義されていたが、本発明では音声が時間方向に関連性を持っているという前提でコスト関数を定義しており、時間方向に関連性を持っている解が選択されやすくなる仕組みを備えている。
【００１１】
各手段は中央演算装置１において実行される。201のA/D変換手段では、アナログの音圧値を各チャンネル毎にデジタルデータに変換する。A/D変換装置5におけるデジタルデータへの変換は、予め設定するサンプリングレートのタイミングで行う。例えば、サンプリングレートが11025Hzの場合,１秒間に11025回、等間隔でデジタルデータに変換する。変換されたデジタルデータをx(t,j)とする。tは離散化された時間である。A/D変換装置5がA/D変換を始めた時点をt=0とし、１回サンプリングを行う毎に、ｔは１ずつ加算される。jはマイクロホン素子の番号である。例えば、０番目のマイクロホン素子の100回目のサンプリングデータはx(100,0)と表記される。 x(t,j)の内容は、サンプリング毎にRAM2の設定した領域に書き込まれる。あるいはサンプリングしたデータを、A/D変換装置5の中内のバッファに一時的に貯めておき、バッファ内に、ある一定量のデータが溜まるたびに、それらデータをRAM2の設定した領域に転送するという方法でも良い。x(t,j)の内容が書き込まれたRAM2内の領域をx(t,j)と定義することにする。
【００１２】
202の帯域分割手段では,t=τ*frame_shiftからt=τ*frame_shift+frame_sizeまでのデータに対して、フーリエ変換またはウェーブレット解析を行い、帯域分割信号に変換する。帯域分割信号はj=1...Mまでのマイク素子毎に行う。変換された帯域分割信号を各マイク素子毎の信号を要素に持つベクトルとして（数１）と表記する。
【００１３】
【数１】
2007235646.tif 000003
【００１４】
ここで、fは帯域分割番号を意味するインデックスである。
【００１５】
人間の音声や音楽のような音は、大きい振幅値をとることが稀であり、０の値を多く取るスパースな信号である。そのため、音声信号、ガウス分布よりむしろ、０の値を取る確率が高いラプラス分布で近似できることができる。音声信号をラプラス分布で近似すると、対数尤度は、l1ノルム値の符号を正負逆転したものと考えるこができる。また反響や残響、背景雑音が混合した雑音信号は、ガウス分布で近似することができる。そのため、入力信号中に含まれる雑音信号の対数尤度は、入力信号と音声信号との間の２乗誤差の符号を正負逆転したものと考えることができる。確率的に最も尤もらしい解(最尤解)を求めるMAP推定の観点では、雑音信号の対数尤度と音声信号の対数尤度の和が最大となる解が最尤解となるため、入力信号との２乗誤差とl1ノルム値の重み付き和が最小となる信号を最尤解であると考えることができる。しかし、そのような解を求めることは困難であるため、何かしらの近似を行って解を求める必要がある。例えば、l1ノルム最小法では入力信号との誤差が全くなく、l1ノルム値の重み付き和を最小とする信号を解として求める。しかし、反響や残響や背景雑音が存在する環境では、入力信号との誤差が全くないと仮定することはできないため、このような近似は粗い近似となり、分離性能の劣化につながる。そこで、本発明では、入力信号との誤差が存在することを仮定した上で、入力信号との誤差とｌ１ノルム値の重み付き和が最小となる信号を、近似的に求める。前述したように、人間の音声や音楽のような音は、大きい振幅値をとることが稀なスパースな信号である。つまり、値０となる要素が多い信号であると考えられる。そこで、時間・周波数毎に、マイク数以下の音源のみ値０以外の振幅値を取ると仮定する。また、ｌ１ノルム値は、値０となる要素が増えるにしたがって、小さい値になり、値０となる要素が減るに従って、大きい値になるため、スパースさの尺度と考えることができる（非特許文献３参照）。そこで、値０となる音源の数が等しい場合、ｌ１ノルム値は一定の値になると近似する。この近似を適用すると、音源数をNとした場合、値0を取るようなN次の複素ベクトルの中で解の候補となりうるのは、最も入力信号との誤差が小さい解ということになる。
【００１６】
そこで、まず203の誤差最小解計算手段で、
【００１７】
【数２】
2007235646.tif 000004
【００１８】
に従い、L次スパース集合毎に、誤差最小解を計算する。L次スパース集合とは、L個の要素が値0を取るような, N次の複素ベクトルである。計算された誤差最小解は、L次スパース集合の中での、各音源信号の最尤解となる。誤差最小解はN次の複素ベクトルである。各要素は、各音源の原信号の推定値となっている。A(f)はM行N列の複素行列で各音源位置からマイクロホン素子までの音の伝わり方（ステアリングベクトル）を列に持つ行列である。例えば、A(f)の１列目は１つ目の音源からマイクロホンアレイまでのステアリングベクトルである。A(f)は209の方向探索部で計算され出力される。203ではL=1〜Mの各Lについて、誤差最小解を計算する。L=Mの場合、誤差最小解が複数解算出されるが、その場合は、複数解全てをL=Mの誤差最小解として出力する。ここでは、値０となる音源の数が等しいＮ次複素ベクトル毎に、誤差最小解を求めたが、音源の数だけでなく、値０となる要素が等しいＮ次複素ベクトル毎に解を求めても良い。ただし値０となる要素が等しくなくても、音源の数が等しいだけで、l1ノルム値が一定の値になると近似できるため、値０となる音源の数毎に誤差最小解を求めるだけで十分と考えられる。
【００１９】
上記（数２）の代わりに（数３）を適用することも可能である。
【００２０】
【数３】
2007235646.tif 000005
【００２１】
ΩL,i  は、L次スパース集合の中で、同じ要素の値が０となるN次複素ベクトルの集合である。音声のパワーは時間方向に正の相関を持っている。そのため、あるτで大きい値を取る音源はτ±ｋでも同様に大きい値を取る可能性が大きいと考えられる。これを発展させると誤差項のτ方向への移動平均が小さい解ほど真の解に近い解だと考えることができる。つまり、モデルΩL,i  毎に誤差項の移動平均を新しい誤差項とすることで、より真の解に近い解を求めることができる。γ(m)は移動平均の重みである。この構成により、時間方向に関連性を持っている解が選択されやすくなる。移動平均を使い誤差最小解を求める場合は、値０となる音源の数だけでなく要素も等しいＮ次複素ベクトル毎に、誤差最小解を計算する必要がある。なぜなら、音源の数が等しくても、要素が違えば、時間方向に正の相関を持ってると近似することはできないからである。
【００２２】
204のlpノルム計算手段では、L次スパース集合毎に計算された誤差最小解をもとに
【００２３】
【数４】
2007235646.tif 000006
【００２４】
でlpノルム値を計算する。
【００２５】
【数５】
2007235646.tif 000007
【００２６】
は、
【００２７】
【数６】
2007235646.tif 000008
【００２８】
のi番目の要素である。pは0〜1の間で予め設定するパラメータである。lpノルム値は、（数６）のスパース度合いの尺度であり（非特許文献３参照）、（数６）の中に０に近い要素が多く含まれているほど、小さい値となる。音声はスパースであるため、（数４）の値が小さいほど、（数６）が真の解に近いと考えることができる。つまり（数４）は、真の解を選択する際の選択基準として用いることができる。
（数４）のｌpノルムの計算値は誤差最小解の計算と同様に移動平均
【００２９】
【数７】
2007235646.tif 000009
【００３０】
でおきかえることも可能である。音声のパワーは時間方向に正の相関を持っているため、移動平均におきかえることでより真の解に近い解を求めることができる。音声のパワーは時間方向に緩やかにしか変化しない。そのため、あるフレームで大きい振幅値をとる音源はその前後のフレームにおいても大きい振幅値をとると考えることができる。205の最適モデル選択部では各L次スパース集合毎に求めた誤差最小解の中で最適な解を
【００３１】
【数８】
2007235646.tif 000010
【００３２】
【数９】
2007235646.tif 000011
【００３３】
に基づき求める。（数８）（数９）は、誤差項とｌｐノルム項の重み付き平均値が最小となる解を出力する。この解は事後確率最大解でもある。最適解を求める式（数８）（数９）は、誤差最小解およびｌ１ノルム最小解の場合と同様に、移動平均値
【００３４】
【数１０】
2007235646.tif 000012
【００３５】
で置き換えることが可能である。
【００３６】
従来205に相当する処理で、L=2...Mまでの解を選択対象とせず、L=1の解を最適解とする方式が存在するが、この手法はミュージカルノイズが発生するという問題があった。L=１の解はf、τごとに、一つの音源以外は全て値０となる解である。時には、一つの音源以外は全て値が０に近くなる解がありうる。それが成り立つときは、L=1の解が最適解になるが、常にそれが成り立つとは限らない。L=1を常に仮定すると、２つ以上の音源が大きい値を取った場合に、解を算出することができず、ミュージカルノイズが発生してしまう。  205では、各L次スパース集合毎に求めた誤差最小解の中で最適な解を求めるため、いわばL=1  〜Mまでどのスパース集合が最適であるかを判定する仕組みをもっており２つ以上の音源の値が０より大きくなったときでも、解を算出することができ、ミュージカルノイズの発生を抑えることができる。
【００３７】
206の信号合成手段では、帯域毎に算出した最適解
【００３８】
【数１１】
2007235646.tif 000013
【００３９】
を逆フーリエ変換または逆ウェーブレット変換にかけて、時間領域の信号
【００４０】
【数１２】
2007235646.tif 000014
【００４１】
に戻す。こうすることで各音源の時間領域の推定信号を得ることができる。207の音源定位部では、
【００４２】
【数１３】
2007235646.tif 000015
【００４３】
に基づき、音源方向を計算する。Ωは音源の探索範囲であり、予めROM3に設定されているものとする。
【００４４】
【数１４】
2007235646.tif 000016
【００４５】
は、音源方向θからマイクロホンアレイまでのステアリングベクトルで、大きさは１に正規化されているとする。原信号をs(f,τ)とすると、音源方向θから到来した音はマイクロホンアレイで
【００４６】
【数１５】
2007235646.tif 000017
【００４７】
のように観測される。（数１３）に含まれる全ての音源のΩは予めROM3に記憶されているものとする。208の方向パワー計算部では、方向毎の音源パワーを
【００４８】
【数１６】
2007235646.tif 000018
【００４９】
で計算する。δは引数の等式が成立する場合のみ１となり、成立しない場合は０となる関数である。209 方向探索部では、P(θ)をピークサーチして、音源方向を算出し、算出した音源方向のステアリングベクトルを列に持つM行N列のステアリングベクトル行列A(f)を出力する。ピークサーチは、P(θ)を降順にならべ、上位N個を音源方向として算出してもよいし、前後の方向よりP(θ)が上回る場合（極大値になるとき）の中で、上位N個を音源方向として算出しても良い。203では、この情報を（数２）におけるA(f)として利用し、誤差最小解を求める。209の方向探索部でA(f)を探索することで音源方向が予め未知であっても、音源方向を自動推定し、音源分離することが可能となる。
【００５０】
本実施例の処理フローを図３に示す。入力の音声は、各マイクロホン素子で音圧値として受音される。各マイクロホン素子の音圧値をデジタルデータに変換し、frame_shift毎にデータをシフトさせながら、frame_sizeの帯域分割処理を行う（S1）。得た帯域分割信号のうちτ=1...k分だけ用いて、音源方向を推定し、ステアリングベクトル行列A(f)を計算する（S２）。
A(f)を用いて、τ＝１…  の帯域分割信号の真の解を探索する。そして得た最適解を合成し、各音源毎の推定信号を得る（S３）。（S３）で合成した各音源毎の推定信号が出力信号である。この出力信号は各音源毎に音が分離された信号となり、各音源毎の発話内容が聞き取りやすい音になっている。
【図面の簡単な説明】
【００５１】
【図１】本発明のハードウェア構成を示した図。
【図２】本発明のソフトウェアのブロック図。
【図３】本発明の処理フロー図。
【符号の説明】
【００５２】
１…中央演算処理装置、２…ＲＡＭなどで構成される記憶装置、３…ＲＯＭなどで構成される記憶装置、４…少なくとも２つ以上のマイクロホン素子からなるマイクロホンアレイ、５…アナログの音圧値をデジタルデータに変換するＡ／Ｄ変換装置、２０１…Ａ／Ｄ変換手段、２０２…デジタルの音圧データを帯域分割信号に変換する帯域分割手段、２０３…誤差最小解計算手段、２０４…ｌｐノルム計算手段、２０５…最適モデル計算部、２０６…信号合成手段、２０７…音源定位部、２０８…方向パワー計算部、２０９…方向探索部、Ｓ１…入力音声受音および帯域分割処理、Ｓ２…ステアリングベクトル行列の計算処理、Ｓ３…信号合成処理。
【図１】
2007235646.tif 000019
【図２】
2007235646.tif 000020
【図３】
2007235646.tif 000021