<A:第1実施形態>
図1は、第1実施形態に係る信号処理装置100のブロック図である。相互に間隔をあけて平面PL内に配置された収音機器M1および収音機器M2が信号処理装置100に接続される。収音機器M1および収音機器M2の周辺の相異なる位置には音源S1および音源S2が存在する。音源S1は、平面PLの法線Lnに対して角度θ1の方向に位置し、音源S2は、法線Lnに対して角度θ2(θ2≠θ1)の方向に位置する。角度θ1および角度θ2は未知である。なお、収音機器M(M1,M2)の個数や音源S(S1,S2)の個数は任意に変更され得る。
音源S1が発生した音響SV1と音源S2が発生した音響SV2との混合音が収音機器M1および収音機器M2に到達する。収音機器M1は観測信号V1(t)を生成し、収音機器M2は観測信号V2(t)を生成する。観測信号V1(t)および観測信号V2(t)の各々は、音響SV1と音響SV2との混合音の時間波形を表す音響信号である。
信号処理装置100は、観測信号V1(t)および観測信号V2(t)に対する音源分離(フィルタ処理)で分離信号Y1(t)および分離信号Y2(t)を生成する。分離信号Y1(t)は、音源S1からの音響SV1を強調(音源S2からの音響SV2を抑制)した音響信号であり、分離信号Y2(t)は、音響SV2を強調(音響SV1を抑制)した音響信号である。すなわち、音響SV1と音響SV2とが分離(音源分離)される。
分離信号Y1(t)および分離信号Y2(t)は、スピーカやヘッドホン等の放音機器(図示略)に供給されることで音響として再生される。なお、分離信号Y1(t)および分離信号Y2(t)の一方のみを再生する構成(例えば分離信号Y2(t)を雑音として破棄する構成)も採用される。なお、観測信号V1(t)および観測信号V2(t)をアナログからデジタルに変換するA/D変換器や、分離信号Y1(t)および分離信号Y2(t)をデジタルからアナログに変換するD/A変換器の図示は便宜的に省略されている。
図1に示すように、信号処理装置100は、演算処理装置12と記憶装置14とを含むコンピュータシステムで実現される。記憶装置14は、観測信号V1(t)および観測信号V2(t)から分離信号Y1(t)および分離信号Y2(t)を生成するためのプログラムや各種のデータを記憶する。半導体記録媒体や磁気記録媒体などの公知の記録媒体や複数種の記録媒体の組合せが記憶装置14として任意に採用される。
演算処理装置12は、記憶装置14に格納されたプログラムを実行することで複数の要素(周波数分析部22,信号分離部24,信号合成部26,分離行列生成部28)として機能する。なお、音源分離に専用される電子回路(DSP)が図1の各要素を実現する構成や、図1の各要素を複数の集積回路に分散した構成も採用され得る。
周波数分析部22は、観測信号V1(t)の周波数スペクトル(複素スペクトル)Q1と観測信号V2(t)の周波数スペクトル(複素スペクトル)Q2とを、時間軸上の複数のフレームの各々について生成する。図2に示すように、周波数スペクトルQ1は、周波数軸上に設定されたK個の周波数(実際には周波数帯域)f1〜fKの各々における成分値x1(m,f1)〜x1(m,fK)の系列である。同様に、周波数スペクトルQ2は、K個の周波数f1〜fKの各々における成分値x2(m,f1)〜x2(m,fK)の系列である。記号mは、フレームの番号(時間軸上に離散的に設定された各時点)を意味する。周波数スペクトルQ1および周波数スペクトルQ2の算定には公知の技術(例えば短時間フーリエ変換)が任意に採用される。
周波数分析部22が生成した周波数スペクトルQ1および周波数スペクトルQ2は図1の信号分離部24に供給される。信号分離部24は、観測信号V1(t)における周波数fk(k=1〜K)の成分(成分値x1(m,fk))と観測信号V2(t)における周波数fkの成分(成分値x2(m,fk))とに対する音源分離をK個の周波数f1〜fKの各々について個別に実行することで分離信号Y1(t)の周波数スペクトルR1と分離信号Y2(t)の周波数スペクトルR2とを生成する。周波数スペクトルR1は成分値y1(m,f1)〜y1(m,fK)の系列であり、周波数スペクトルR2は成分値y2(m,f1)〜y2(m,fK)の系列である。
図3は、信号分離部24のブロック図である。図3に示すように、信号分離部24は、相異なる周波数fk(f1〜fK)に対応するK個の処理部P1〜PKで構成される。周波数fkの処理部Pkは、成分値x1(m,fk)および成分値x2(m,fk)から分離信号Y1(t)の成分値y1(m,fk)を生成するフィルタ32と、成分値x1(m,fk)および成分値x2(m,fk)から分離信号Y2(t)の成分値y2(m,fk)を生成するフィルタ34とを含んで構成される。
フィルタ32およびフィルタ34は、遅延加算型(DS(delay-sum)型)のビーム形成を実行する。すなわち、処理部Pkのフィルタ32は、以下の数式(1A)で定義されるように、係数w11(fk)に応じた遅延を成分値x1(m,fk)に付加する遅延素子321と、係数w12(fk)に応じた遅延を成分値x2(m,fk)に付加する遅延素子323と、遅延素子321および遅延素子323の各出力の加算で成分値y1(m,fk)を生成する加算部325とを含んで構成される。同様に、フィルタ34は、以下の数式(1B)で定義されるように、係数w21(fk)に応じた遅延を成分値x1(m,fk)に付加する遅延素子341と、係数w22(fk)に応じた遅延を成分値x2(m,fk)に付加する遅延素子343と、遅延素子341および遅延素子343の各出力の加算で成分値y2(m,fk)を生成する加算部345とを含む。なお、死角制御型(null)のビーム形成も処理部Pkに適用され得る。
y1(m,fk)=w11(fk)・x1(m,fk)+w12(fk)・x2(m,fk) ……(1A)
y2(m,fk)=w21(fk)・x1(m,fk)+w22(fk)・x2(m,fk) ……(1B)
図1の信号合成部26は、信号分離部24がフレーム毎に生成した周波数スペクトルR1(y1(m,f1)〜y1(m,fK))の逆フーリエ変換で時間領域の音響信号を生成するとともに前後のフレームを相互に連結することで分離信号Y1(t)を生成する。同様に、信号合成部26は、信号分離部24が生成した周波数スペクトルR2(y2(m,f1)〜y2(m,fK))から時間領域の分離信号Y2(t)を生成する。
図1に示すように、周波数分析部22が生成した周波数スペクトルQ1および周波数スペクトルQ2は、信号分離部24に供給されるとともに観測ベクトルX(m,f1)〜X(m,fK)として記憶装置14に格納される。観測ベクトルX(m,fk)は、図2に示すように、成分値x1(m,fk)と成分値x2(m,fk)とを要素とするベクトル(X(m,fk)=(x1(m,fk),x2(m,fk))T)である。記号Tは行列の転置を意味する。記憶装置14に格納された観測ベクトルX(m,f1)〜X(m,fK)は、図2に示すように、所定個(例えば50個)のフレームで構成される単位区間TU毎に学習データD(f1)〜D(fK)に区分される。すなわち、学習データD(fk)は、単位区間TU内の各フレームについて算定された周波数fkの観測ベクトルX(m,fk)の時系列である。
図1および図3の分離行列生成部28は、信号分離部24が音源分離に適用する分離行列W(f1)〜W(fK)を生成する。周波数fkの分離行列W(fk)は、図3に示すように、処理部Pkのフィルタ32に適用される係数w11(fk)および係数w12(fk)とフィルタ34に適用される係数w21(fk)および係数w22(fk)とを要素とする2行2列の行列である。分離行列W(fk)は、記憶装置14の学習データD(fk)を利用した学習処理(反復的な更新)で単位区間TU毎に順次に生成される。図4は、分離行列生成部28のブロック図であり、図5は、分離行列生成部28の動作の説明図である。図4に示すように、分離行列生成部28は、有意指標算定部42と周波数選別部44と第1処理部50と第2処理部60とを含んで構成される。
有意指標算定部42は、周波数fkの学習データD(fk)を適用した学習処理の有意性の尺度となる有意指標値Z(fk)(Z(f1)〜Z(fK))をK個の周波数f1〜fKの各々について算定する。有意指標値Z(fk)は、学習データD(fk)を利用した学習処理の結果として分離行列W(fk)による音源分離の精度が向上する度合を示す数値に相当する。周波数選別部44は、図5に示すように、K個の周波数f1〜fKの各々を有意指標値Z(fk)に応じて第1周波数fAと第2周波数fBとに選別(分類)する。第1周波数fAは、学習データD(fk)を適用した学習処理の有意性が第2周波数fBと比較して高い周波数である。
第1実施形態の有意指標算定部42は、学習データD(fk)(観測ベクトルX(m,fk))の共分散行列Rxx(fk)の行列式z1(fk)を有意指標値Z(fk)として周波数fk毎に算定する要素であり、図6に示すように共分散行列算定部422と行列式算定部424とを含んで構成される。
共分散行列算定部422は、K個の周波数f1〜fKの各々について学習データD(fk)の共分散行列Rxx(fk)(Rxx(f1)〜Rxx(fK))を算定する。周波数fkの共分散行列Rxx(fk)は、学習データD(fk)内の複数の観測ベクトルX(m,fk)の共分散を要素とする行列である。すなわち、共分散行列Rxx(fk)は、例えば以下の数式(2)で算定される。
Rxx(fk)=E[X(m,fk)X(m,fk)H] ……(2)
記号Hは行列の転置(共役転置)を意味し、記号E[ ]は、単位区間TU内の複数のフレーム(学習データD(fk)の全体)にわたる平均値または加算値を意味する。すなわち、共分散行列Rxx(fk)は、単位区間TU毎(学習データD(fk)毎)に生成される2行2列の正方行列である。
図6の行列式算定部424は、共分散行列算定部422が算定したK個の共分散行列Rxx(f1)〜Rxx(fK)の各々について行列式z1(fk)(z1(f1)〜z1(fK))を算定する。行列式z1(fk)の算定には公知の方法が任意に採用されるが、例えば共分散行列Rxx(fk)の特異値分解を利用した以下の方法が好適である。なお、以下では便宜的に共分散行列Rxx(fk)をJ行J列(本実施形態ではJ=2)と一般化する。
共分散行列Rxx(fk)は以下の数式(3)のように特異値分解される。数式(3)における行列Fは、2行2列の直交行列であり、行列Dは、対角成分(d1,……,dJ)以外の要素がゼロとなるJ行J列の特異値行列(対角行列)である。
Rxx(fk)=FDFH ……(3)
数式(3)の特異値分解を考慮すると、共分散行列Rxx(fk)の行列式z1(fk)は、以下の数式(4)で表現される。数式(4)の導出には、行列Fの共役転置行列FHと行列Fとの積がJ次の単位行列であるという関係(FHF=I)や、行列ABの行列式det(AB)が行列BAの行列式det(BA)に等しいという関係を利用した。
z1(fk)=det(Rxx(fk))
=det(FDFH)
=det(D)
=d1・d2・……・dJ ……(4)
数式(4)から理解されるように、共分散行列Rxx(fk)の行列式z1(fk)は、共分散行列Rxx(fk)の特異値分解で特定される特異値行列DのJ個の対角成分(d1,……,dJ)の乗算値に相当する。図6の行列式算定部424は、K個の周波数f1〜fKの各々について数式(4)の演算を実行することで行列式z1(f1)〜z1(fK)を算定する。
図7は、単位区間TU内の各観測ベクトルX(m,fk)の散布図である。横軸は成分値x1(m,fk)を意味し、縦軸は成分値x2(m,fk)を意味する。図7の部分(A)は、行列式z1(fk)が大きい場合の散布図であり、図7の部分(B)は、行列式z1(fk)が小さい場合の散布図である。図7の部分(A)のように、行列式z1(fk)が大きい場合には、観測ベクトルX(m,fk)の分布する領域の軸線(基底)が音源S毎に明確に区別される。具体的には、音源S1からの音響SV1が優勢な観測ベクトルX(m,fk)が軸線α1に沿って分布する領域A1と、音源S2からの音響SV2が優勢な観測ベクトルX(m,fk)が軸線α2に沿って分布する領域A2とが明確に区別される。他方、行列式z1(fk)が小さい場合、散布図で明確に区別できる観測ベクトルX(m,fk)の分布の領域の個数(軸線の本数)が実際の音源Sの総数を下回る。例えば、図7の部分(B)のように、音源S2からの音響SV2に対応する明確な領域A2(軸線α2)が存在しない。
以上の傾向から理解されるように、共分散行列Rxx(fk)の行列式z1(fk)は、学習データD(fk)を構成する各観測ベクトルX(m,fk)の分布における基底(観測ベクトルX(m,fk)が分布する領域の軸線)の総数の指標として機能する。すなわち、行列式z1(fk)が大きい周波数fkほど基底が多いという傾向がある。行列式z1(fk)がゼロとなる周波数fkには独立な基底が1個しか含まれない。分離行列W(fk)の学習処理に適用される独立成分分析は、独立な基底を音源Sの個数だけ特定する処理と等価であるから、K個の周波数f1〜fKのうち共分散行列Rxx(fk)の行列式z1(fk)が小さい周波数fkの学習データD(fk)については学習の有意性(学習処理の前後で音源分離の精度が向上する度合)が低いと言える。
行列式z1(fk)の以上の性質を利用して、図4の周波数選別部44は、K個の周波数f1〜fKのうち行列式z1(fk)が大きい1以上の周波数fkを第1周波数fAに選別し、行列式z1(fk)が小さい残余の周波数fkを第2周波数fBに選別する。具体的には、周波数選別部44は、K個の周波数f1〜fKのうち行列式z1(f1)〜z1(fK)の降順で上位に位置する所定個の周波数fkや、K個の周波数f1〜fKのうち行列式z1(fk)が所定の閾値を上回る1個以上の周波数fkを第1周波数fAに選別し、第1周波数fA以外の周波数fkを第2周波数fBに選別する。周波数選別部44による第1周波数fA/第2周波数fBの選別は、例えば単位区間TU毎に順次に実行される。
図4の第1処理部50および第2処理部60は、信号分離部24で使用される分離行列W(fk)(W(f1)〜W(fK))を周波数fk毎に生成する。第1処理部50は、周波数選別部44が第1周波数fAに選別した各周波数fkについて分離行列W(fk)(以下では特に「分離行列WA(fk)」と表記する場合がある)を生成し、第2処理部60は、周波数選別部44が第2周波数fBに選別した各周波数fkについて分離行列W(fk)(以下では特に「分離行列WB(fk)」と表記する場合がある)を生成する。
図4に示すように、第1処理部50は、初期行列設定部52と第1学習部54と補正処理部56とを含んで構成される。初期行列設定部52は、分離行列WA(fk)を生成する学習処理の初期値(以下「初期分離行列」という)WA[0](fk)を設定する。初期分離行列WA[0](fk)の設定の方法は任意であるが、例えば単位行列が初期分離行列WA[0](fk)として設定され得る。以上のように観測ベクトルX(m,fk)とは無関係に初期分離行列WA[0](fk)を設定する構成によれば、音源S1や音源S2に関する事前情報が不要であるという利点がある。
図4の第1学習部54は、図5に示すように、初期行列設定部52が設定した初期分離行列WA[0](fk)を初期値とした逐次的な更新(以下「1次学習処理」という)で、第1周波数fAに選別された各周波数fkの分離行列WA(fk)を生成する。第1学習部54による1次学習処理には公知の技術が任意に採用され得るが、例えば、第(n+1)回目の更新後の分離行列W[n+1](fk)を直前の分離行列W[n](fk)(分離行列W[1](fk)の算定時には初期分離行列WA[0](fk))から算定する数式(5)の演算が好適である。
W[n+1](fk)=W[n](fk)−η{off-diag(E[φ(m,fk)Y[n](m,fk)H]W[n](fk) ……(5)
数式(5)の記号ηは所定の定数(ステップサイズ)であり、記号off-diag( )は、対角成分をゼロに置換する演算子である。また、記号φ( )は非線形関数を意味する。例えば双曲線正接関数(tanh:ハイパボリックタンジェント)が非線形関数φ( )として適用され得る。数式(5)の記号Y[n](m,fk)は、直前の分離行列W[n-1](m,fk)を適用した数式(1A)および数式(1B)の演算で算定される成分値y1(m,fk)と成分値y2(m,fk)とを要素とするベクトル(Y[n](m,fk)=(y1(m,fk),y2(m,fk))T)である。第1学習部54は、数式(5)の演算をNA回だけ反復した時点の分離行列W[NA](fk)を分離行列WA(fk)として確定する。ただし、第1学習部54は、数式(5)で算定される分離行列W[n+1](fk)が収束したと判定される場合には反復がNA回に到達する以前に1次学習処理を終了し、その時点での分離行列W[n+1](fk)を分離行列WA(fk)として確定する。
ところで、独立成分分析(1次学習処理)で算定される分離行列WA(fk)には、音源分離の実行後の各信号の振幅が不定であるという問題(scaling問題)と、音源分離後の各信号と各音源との組合せが周波数fk毎に変化し得るという問題(permutation問題)とがある。図4の補正処理部56は、第1周波数fAに選別された各周波数fkについて第1学習部54が生成した各分離行列WA(fk)をscaling問題とpermutation問題とが解決されるように補正する。
以上のscaling問題およびpermutation問題の解決には公知の技術が任意に採用される。例えば、分離行列WA(fk)の逆行列の対角成分で構成される対角行列を分離行列WA(fk)に乗算することでscaling問題が解決され、分離行列WA(fk)から推定される各音源の方向が整合するように分離行列WA(fk)の各行を相互に置換することでpermutation問題が解決される。補正処理部56による補正後の各分離行列WA(fk)が、信号分離部24のK個の処理部P1〜PKのうち第1周波数fAに選別された各周波数fkの処理部Pkにて適用される。scaling問題やpermutation問題の解決については、猿渡ほか5名,“Blind Source Separation Combininb Independent Component Analysis and Beamforming",EURASIP Journal on Applied Signal Processing Vol.2003, No.11, p.1135-1146, 2003(以下「非特許文献2」という)にも詳述されている。
図4の第2処理部60は、周波数選別部44が第2周波数fBに選別した各周波数fkの分離行列WB(fk)を、第1処理部50が生成した分離行列WA(fk)を利用して生成する。図4に示すように、第2処理部60は、方向推定部62と初期行列設定部64と第2学習部66とを含んで構成される。
方向推定部62は、第1処理部50が生成した各分離行列WA(fk)から音源S1の方向θ1と音源S2の方向θ2とを推定する。方向θ1および方向θ2の推定には公知の技術(例えば非特許文献2に開示された方法)が任意に採用されるが、例えば以下の方法が好適である。第1に、方向推定部62は、図5に示すように、第1周波数fAに選別された周波数fk毎に方向θ1(fk)と方向θ2(fk)とを分離行列WA(fk)から推定する。例えば、分離行列WA(fk)の係数w11(fk)と係数w12(fk)とから方向θ1(fk)が特定され、係数w21(fk)と係数w22(fk)とから方向θ2(fk)が特定される。第2に、方向推定部62は、図5に示すように、各周波数fk(第1周波数fA)の方向θ1(fk)および方向θ2(fk)から音源S1の方向θ1と音源S2の方向θ2とを算定する。例えば、各方向θ1(fk)の代表値(平均値や中央値)が方向θ1として特定され、各方向θ2(fk)の代表値が方向θ2として特定される。
図4の初期行列設定部64は、図5に示すように、方向推定部62が推定した方向θ1および方向θ2に応じて分離行列WB(fk)の初期分離行列WB[0](fk)を設定する。初期分離行列WB[0](fk)の生成には、例えば非特許文献2に開示された死角制御型のビーム形成が適用される。具体的には、初期行列設定部64は、方向推定部62が推定した方向θ2に収音の死角(収音感度が低い領域)が形成されるように算定された係数w11(fk)および係数w12(fk)と、方向推定部62が推定した方向θ1に収音の死角が形成されるように算定された係数w21(fk)および係数w22(fk)とを要素とする初期分離行列WB[0](fk)を生成する。初期分離行列WB[0](fk)は、周波数選別部44が第2周波数fBに選別した周波数fk毎に個別に生成される。
なお、以上の例示では死角制御型のビーム形成で初期分離行列WB[0](fk)を生成したが、初期分離行列WB[0](fk)の生成には、収音感度が高い領域(ビーム)を生成するビーム形成(例えば遅延加算型のビーム形成)も採用され得る。すなわち、方向θ1に収音のビームが指向するように初期分離行列WB[0](fk)の係数w11(fk)および係数w12(fk)が設定され、方向θ2に収音のビームが指向するように初期分離行列WB[0](fk)の係数w21(fk)および係数w22(fk)が設定される。
図4の第2学習部66は、図5に示すように、初期行列設定部64が設定した初期分離行列WB[0](fk)を初期値とした逐次的な更新(以下「2次学習処理」という)で、第2周波数fBに選別された各周波数fkの分離行列WB(fk)を生成する。2次学習処理には公知の技術が任意に採用され得るが、1次学習処理と同様に、数式(5)の演算が好適に採用される。すなわち、第2学習部66は、初期行列設定部64が設定した初期分離行列WB[0](fk)を初期値とし、第2周波数fBに選別された各周波数fkの学習データD(fk)から数式(1A)および数式(1B)で算定されるベクトルY[n](m,fk)を利用して数式(5)の演算を反復する。
第2学習部66による数式(5)の反復回数NBは、第1学習部54の反復回数NAを下回るように設定される(NB<NA)。第2学習部66は、数式(5)の演算をNB回だけ反復した時点の分離行列W[NB](fk)を第2周波数fBの分離行列WB(fk)として算定する。第1学習部54と同様に、第2学習部66は、分離行列W[n+1](fk)が収束した場合には反復がNB回に到達する以前に2次学習処理を終了し、その時点での分離行列W[n+1](fk)を分離行列WB(fk)として確定する。以上の2次学習処理で生成された分離行列WB(fk)が、信号分離部24のK個の処理部P1〜PKのうち第2周波数fBに選別された各周波数fkの処理部Pkにて適用される。なお、1次学習処理と2次学習処理とで演算の内容を相違させた構成も採用され得る。
方向θ1と方向θ2とに応じた初期分離行列WB[0](fk)から算定される分離行列WB(fk)には、事前情報を適用せずに生成される分離行列WA(fk)と比較すると、前述のscaling問題やpermutation問題は発生し難い。そこで、第2学習部66が生成した分離行列WB(fk)には、scaling問題やpermutation問題を解決するための補正は実行されない。もっとも、第2学習部66が生成した分離行列WB(fk)を補正処理部56が補正する構成も採用され得る。
以上に説明したように、本実施形態では、第1周波数fAに選別された各周波数fkについては反復回数NAの1次学習処理で分離行列WA(fk)が生成され、第2周波数fBに選別された各周波数fkについては、分離行列WA(fk)に応じて生成された初期分離行列WB[0](fk)を初期値とした反復回数NB(NB<NA)の2次学習処理で分離行列WB(fk)が生成される。したがって、K個の周波数f1〜fKの全部について数式(5)の演算をNA回だけ反復する構成と比較して、演算処理装置12(分離行列生成部28)の演算量が削減されるという利点がある。また、分離行列WA(fk)から生成される初期分離行列WB[0](fk)を初期値とした2次学習処理で第2周波数fBの分離行列WB(fk)が生成されるから、初期分離行列WB[0](fk)を分離行列WB(fk)として音源分離に利用する特許文献1の構成(すなわち、2次学習処理を省略した構成)と比較して、高精度な音源分離が可能な分離行列WB(fk)を生成できるという利点がある。
図8は、K個(K=513)のうち第1周波数fAに選別した周波数fkの個数(横軸)と数式(5)の演算の総回数(以下「学習総回数」という)との関係を示すグラフである。第1実施形態では1次学習処理の回数と2次学習処理の回数との合計値が学習総回数に相当する。図8では、1次学習処理の反復回数NAを500回に設定するとともに2次学習処理の反復回数NBを100回に設定し、分離行列W(fk)の収束が検出された場合には学習処理を停止する場合が想定されている。
図8には、反復回数NA(500回)の1次学習処理を全部(513個)の周波数fkについて実行した場合(分離行列W(fk)の収束時には学習処理を終了)が対比例1(REF1)および対比例2(REF2)として併記されている。対比例1は、1次学習処理の初期分離行列W[0](fk)として単位行列を使用した場合であり、対比例2は、既知の方向θ1および方向θ2を利用して死角制御型のビーム形成で生成した分離行列を1次学習処理の初期分離行列W[0](fk)として使用した場合である。対比例1および対比例2では2次学習処理は実行していない。また、図8には、音源S1が発生した音響SV1と音源S2が発生した音響SV2との振幅比RA(RA=1,0.87,0.71,0.5,0.32)を変化させた複数の場合の各々について学習総回数が図示されている。なお、横軸の各場合の条件や振幅比RAの条件は、後掲の図9から図12でも同様である。
図8から理解されるように、1次学習処理を選択的に実行する第1実施形態では、全周波数fkに対して1次学習処理を実行する対比例1や対比例2と比較して、分離行列W(fk)の生成に必要な学習総回数が大幅に削減される。1次学習処理の対象となる第1周波数fAの個数が減少するほど、第1実施形態と対比例1や対比例2との学習総回数の差異は拡大する。すなわち、第1実施形態によれば、対比例1や対比例2と比較して、分離行列W(f1)〜W(fK)の生成に必要な演算量が削減されるという利点がある。以上の傾向は、音響SV1と音響SV2との振幅比RAに関わらず同様に確認できる。
図9は、本実施形態および各対比例での雑音抑圧率(NRR:Noise Reduction Rate)のグラフであり、図10は、本実施形態および各対比例でのケプストラム歪のグラフである。雑音抑圧率は、分離信号Y1(t)における音響SV2に対する音響SV1の強度比SNR_OUTと、観測信号V1(t)における音響SV2に対する音響SV1の強度比SNR_INとの差分(SNR_OUT−SNR_IN)である。したがって、雑音抑圧率が高い(図9の上方)ほど音源分離の精度が高い。ケプストラム歪は、音響SV1と分離信号Y1(t)とのケプストラムの相違の指標である。ケプストラム歪が小さい(図10の上方)ほど、音源分離に起因した波形(スペクトル包絡)の変化が小さい(すなわち、音響SV1が忠実に分離される)ことを意味する。
図9および図10から理解されるように、音響SV1と音響SV2とで振幅が過度に相違しない範囲内(RA=1,0.87,0.71)では、1次学習処理の対象となる第1周波数fAを減少させて演算量を削減した場合でも、対比例1や対比例2と比較して、雑音抑圧率の低下やケプストラム歪の増加は殆ど発生しない。第1周波数fAの個数を256個または384個とした場合には、対比例1や対比例2と比較して雑音抑圧率やケプストラム歪の改善さえ確認できる。以上のように、第1実施形態によれば、分離行列W(fk)の生成に必要な演算量を削減しながら音源分離の高精度化を実現することが可能である。
図11および図12は、第1実施形態のもとで2次学習処理を省略した場合(以下「対比例3」という)の雑音抑圧率(図11)およびケプストラム歪(図12)のグラフである。すなわち、対比例3(REF3)では、非特許文献1の技術と同様に、初期行列設定部64が設定した初期分離行列WB[0](fk)が第2周波数fBの分離行列WB(fk)として音源分離に適用される。2次学習処理の省略以外の条件は図8から図10に示した第1実施形態と同様である。
図11に示すように、対比例3のもとでは、第1周波数fAの個数が減少するほど雑音抑圧率が向上するように見える。しかし、図12を参照すると、第1周波数fAの個数が減少するほどケプストラム歪が増加することが確認できる。すなわち、図11で第1周波数fAの個数が少ない場合に雑音抑圧率が向上しているのは、分離信号Y1(t)の波形と本来の音響SV1の波形とが乖離していることに起因しており、音源分離の精度が高水準に維持されているわけではないと理解できる。他方、図9や図10に示すように、第2周波数fBについて2次学習処理を実行する第1実施形態のもとでは、ケプストラム歪を充分に抑制しながら雑音抑圧率も高水準に維持することが可能である。したがって、雑音抑圧率の維持とケプストラム歪の低減とを両立する(すなわち高精度な音源分離を実現する)という観点からは、対比例3よりも第1実施形態が有利である。また、音響SV1と音響SV2との振幅比RAが高い範囲内(RA=1,0.87,0.71)に着目して図10と図12とのケプストラム歪の数値を対比すると、第1実施形態では、対比例3と比較してケプストラム歪が抑制されることが確認できる。したがって、音響SV1や音響SV2の忠実な分離という観点からしても第1実施形態が有利である。
<B:第2実施形態>
本発明の第2実施形態を説明する。なお、以下の各例示において作用や機能が第1実施形態と同等である要素については、以上と同じ参照符号を流用して各々の詳細な説明を適宜に省略する。
第1実施形態では、第2周波数fBに選別された全部の周波数fkについて2次学習処理を実行したが、収音機器M1および収音機器M2による収音条件によっては、2次学習処理を実行しないほうが高精度な音源分離を実現できる場合もある。
例えば、図9や図10から把握されるように、第1実施形態では、音響SV1と音響SV2とで強度(振幅やパワー)が乖離する場合(RA=0.5,0.32)に、音源分離の精度が対比例1や対比例2を下回る。他方、図9と図11との対比や図10と図12との対比から把握されるように、2次学習処理を実行しない対比例3の構成では、振幅比RAが低い場合でも、対比例1や対比例2に匹敵する精度の音源分離が実現される。したがって、音源分離の対象となる音響SV1と音響SV2との強度の相違(以下「音源強度差」という)が大きい場合(すなわち、収音条件が悪い場合)には、2次学習処理を実行しないほうが高精度な音源分離を実現できると理解できる。以上の傾向を考慮して、第2実施形態では、収音条件の良否に応じて2次学習処理の実行/停止を可変に制御する。
音源S1が発生する音響SV1と音源S2が発生する音響SV2との収音条件について以下に検討する。音響SV1の成分値s1(m,fk)と音響SV2の成分値s2(m,fk)とを要素とするベクトルS(m,fk)(S(m,fk)=(s1(m,fk),s2(m,fk))T)を想定すると、観測信号V1(t)および観測信号V2(t)の観測ベクトルX(m,fk)は、以下の数式(6)で表現される。数式(6)の行列A(fk)は、音源S1および音源S2の各々から収音機器M1および収音機器M2の各々に到達するまでに付与される音響特性を示す混合行列である。
X(m,fk)=A(fk)S(m,fk) ……(6)
数式(2)と数式(6)とを考慮すると、観測ベクトルX(m,fk)の共分散行列Rxx(fk)は、ベクトルS(m,fk)の共分散行列Rss(m,fk)(Rss(m,fk)=E[S(m,fk)S(m,fk)H])と混合行列A(fk)とを含む以下の数式(7)で表現される。
Rxx(fk)=E[X(m,fk)X(m,fk)H]
=E[A(fk)S(m,fk){A(fk)S(m,fk)}H]
=E[A(fk)S(m,fk)S(m,fk)HA(fk)H]
=A(fk)E[S(m,fk)S(m,fk)H]A(fk)H
=A(fk)Rss(fk)A(fk)H ……(7)
他方、共分散行列Rss(fk)は、以下の数式(8)のように固有値分解される。
Rss(fk)=Q(fk)Λ(fk)Q(fk)H ……(8)
数式(8)の行列Q(fk)は正規直交行列であるから、行列Q(fk)Q(fk)Hの行列式(det(Q(fk)Q(fk)H)は1である。したがって、共分散行列Rss(fk)の行列式det(Rss(fk))は、対角行列Λ(fk)の行列式det(Λ(fk))に等しい(det(Rss(fk))=det(Λ(fk)))。以上を考慮すると、共分散行列Rxx(fk)の行列式det(Rxx(fk))は、数式(7)を変形した以下の数式(9)で表現される。なお、数式(9)の記号Πは総乗(総積)の演算子(Πλi(fk)=λ1(fk)・λ2(fk))を意味する。
det(Rxx(fk))=det(A(fk)Rss(fk)A(fk)H)
=det(A(fk))det(Rss(fk))det(A(fk)H)
=|det(A(fk))|2det(Λ(fk))
=|det(A(fk))|2Πλi(fk) ……(9)
数式(9)の行列式det(A(fk))は、混合行列Aを適用した線形写像における定数倍の要素に相当するから、収音機器M1および収音機器M2の各々に対する音響SV1や音響SV2の伝播が阻害される度合(以下「伝播阻害度」という)が大きいほど(収音条件が悪いほど)、数式(9)の行列式det(A(fk))は小さい数値となる。他方、数式(9)の記号λi(fk)は対角行列Λの成分(共分散行列Rss(fk)の固有値)である。すなわち、固有値λ1(fk)は音響SV1の周波数fkの成分の強度(パワー)に相当し、固有値λ2(fk)は音響SV2の周波数fkの成分の強度(パワー)に相当する。したがって、音源強度差が大きいほど(収音条件が悪いほど)、数式(9)の総乗Πλi(fk)は小さい数値となる。
以上の説明から理解されるように、収音条件が悪いほど(伝播阻害度や音源強度差が大きいほど)、共分散行列Rxx(fk)の行列式z1(fk)(z1(fk)=det(Rxx(fk)))は小さい数値になるという傾向がある。以上の傾向を考慮して、第2実施形態では、収音条件の良否の判定に行列式z1(fk)を適用する。
図13は、第2実施形態における分離行列生成部28Aのブロック図である。第2実施形態の分離行列生成部28Aは、第1実施形態の分離行列生成部28の各要素に条件判定部72を追加した構成である。条件判定部72は、第2周波数fBに選別された周波数fk毎に収音条件の良否を判定する。条件判定部72による判定には、周波数選別部44による周波数fkの選別のために有意指標算定部42が算定した行列式z1(fk)が流用される。すなわち、条件判定部72は、行列式z1(fk)が所定の閾値を上回る場合には周波数fkの収音条件が良い(伝播阻害度や音源強度差が小さい)と判定し、行列式z1(fk)が閾値を下回る場合には周波数fkの収音条件が悪い(伝播阻害度や音源強度差が大きい悪条件である)と判定する。
図13の第2学習部66は、条件判定部72の判定の結果に応じて2次学習処理の実行/停止を周波数fk毎に決定する。すなわち、第2周波数fBに選別された周波数fkのうち行列式z1(fk)が大きい(収音条件が良い)と判定された周波数fkについて、第2学習部66は、第1実施形態と同様に、初期分離行列WB[0](fk)を初期値とした2次学習処理で分離行列WB(fk)を生成する。他方、第2周波数fBに選別された周波数fkのうち行列式z1(fk)が小さい(収音条件が悪い)と判定された周波数fkについて、第2学習部66は、2次学習処理を停止し、初期行列設定部64が設定した初期分離行列WB[0](fk)を分離行列WB(fk)として確定する。したがって、行列式z1が小さい(悪条件)の学習データD(fk)は分離行列WB(fk)の生成に使用されない。
第2実施形態においても第1実施形態と同様の効果が実現される。また、第2実施形態では、収音条件の良否に応じて2次学習処理の実行/停止が制御されるから、第2周波数fBに選別された各周波数fkについて収音条件に関わらず2次学習処理を実行する場合と比較して、音源分離の精度を維持しながら分離行列W(fk)の生成の演算量が削減されるという格別の効果が実現される。
<C:第3実施形態>
第2実施形態では、第2周波数fBに選別された周波数fkのうち収音条件が悪いと判定された周波数fkについて、初期行列設定部64が死角制御型のビーム形成で生成した初期分離行列WB[0](fk)を分離行列WB(fk)として利用したが、収音条件が悪い周波数fkのについて分離行列WB(fk)を設定する方法は、第3実施形態として以下に例示するように適宜に変更される。
観測信号V1(t)や観測信号V2(t)の周波数fkの成分が1個の音源Sの音響SVのみを含む場合、条件判定部72は周波数fkの収音条件が悪いと判定する。他方、1個の音源Sの音響SVのみが周波数fkに存在するのであれば、音源分離の前後で周波数fkの成分を変化させる必要性は低い。そこで、収音条件が悪い(1個の音源Sのみを含む)と条件判定部72が判定した周波数fkについては、第2学習部66による2次学習処理に加えて初期行列設定部64による初期分離行列WB[0](fk)の生成も停止し、音源分離の前後で周波数fkの成分が過度に変化しないように分離行列WB(fk)を設定する構成が採用され得る。具体的な構成を以下に詳述する。
図14は、第3実施形態における分離行列生成部28Bのブロック図である。第3実施形態の分離行列生成部28Bは、第2実施形態の分離行列生成部28Aに方向推定部74と行列設定部76とを追加した構成である。
方向推定部74は、第2周波数fBに選別された周波数のうち収音条件が悪いと条件判定部72が判定した周波数fk毎に、学習データD(fk)を利用して音源方向(すなわち、周波数fkの成分を含む音響を放射する1個の音源の方向)θe(fk)を推定する。音源方向θe(fk)の推定には公知の技術が任意に採用され得る。行列設定部76は、方向推定部74が推定した音源方向θe(fk)から到来する音響を観測信号V1(t)および観測信号V2(t)から分離する分離行列WB(fk)を生成する。例えば、行列設定部76は、収音条件が悪いと判定された周波数fk毎に以下の処理を実行することで分離行列WB(fk)を生成する。
第1に、行列設定部76は、以下の数式で定義される抽出行列C(fk)を生成する。記号dは収音機器M1と収音機器M2との間隔を意味し、記号cは音速を意味する。したがって、記号τは、音源方向θe(fk)から到来する音響が収音機器M1および収音機器M2の各々に到達する時間差に相当する。抽出行列C(fk)の第1行は、遅延加算型のビーム形成に適用した場合に音源方向θe(fk)からの到来音を強調する。
第2に、行列設定部76は、方向推定部62が分離行列WA(fk)から推定した方向θ1および方向θ2と方向推定部74が推定した音源方向θe(fk)との関係に応じて抽出行列C(fk)の各行を相互に置換することで分離行列WB(fk)を生成する。具体的には、行列設定部76は、音源方向θe(fk)が方向θ1に近い場合には周波数fkの成分が分離信号Y1(t)にて強調され、音源方向θe(fk)が方向θ2に近い場合には周波数fkの成分が分離信号Y2(t)にて強調されるように、抽出行列C(fk)の各行の位置を調整する。
例えば、分離行列WA(fk)の第1行(w11(fk),w12(fk))が方向θ1の音響SV1を強調する(方向θ2に死角を形成する)ように作用し、分離行列WA(fk)の第2行(w21(fk),w22(fk))が方向θ2の音響SV2を強調する(方向θ1に死角を形成する)ように作用する場合を想定する。音源方向θe(fk)が方向θ1に近い場合、行列設定部76は、前述の抽出行列C(fk)を分離行列WB(fk)として確定する。したがって、分離信号Y1(t)のうち収音条件が悪いと判定された周波数fkの成分値y1(m,fk)は音源方向θe(fk)からの到来音を強調した数値に設定され、分離信号Y2(t)の当該周波数fkの成分値y2(m,fk)はゼロに設定される。他方、音源方向θe(fk)が方向θ2に近い場合、行列設定部76は、抽出行列C(fk)の第1行と第2行とを入替えた行列を分離行列WB(fk)として確定する。したがって、分離信号Y1(fk)のうち収音条件が悪いと判定された周波数fkの成分値y1(m,fk)はゼロに設定され、分離信号Y2(t)の当該周波数fkの成分値y2(m,fk)は音源方向θe(fk)からの到来音を強調した数値に設定される。
第3実施形態においても第1実施形態や第2実施形態と同様の効果が実現される。また、第3実施形態では、収音条件が悪い周波数fkについて、第2学習部66による2次学習処理に加えて初期行列設定部64による初期分離行列WB[0](fk)の生成も停止するから、分離行列WB(fk)の生成に必要な演算量が第2実施形態と比較して削減されるという利点もある。
なお、抽出行列C(fk)の内容は以上の例示に限定されない。例えば、以下に例示する抽出行列C(fk)を利用すれば、観測信号V1(t)または観測信号V2(t)に含まれる周波数fkの成分がそのまま分離信号Y1(t)または分離信号Y2(t)の周波数fkの成分として信号分離部24から出力される。
<D:第4実施形態(有意指標値の例示)>
以上の各形態において周波数選別部44による選別の基準となる有意指標値Z(fk)は共分散行列Rxx(fk)の行列式z1(fk)に限定されない。具体的には、以下の各態様に例示する数値(統計量)が有意指標値Z(fk)として採用され得る。
<D-1:第1の態様(条件数z2(fk))>
学習データD(fk)を構成する複数の観測ベクトルX(m,fk)の共分散行列Rxx(fk)の条件数z2(fk)は以下の数式(10)で定義される。数式(10)の演算子‖A‖は、行列Aのノルム(行列の距離)を意味する。共分散行列Rxx(fk)に逆行列が存在する場合(正則である場合)に条件数z2(fk)は小さく、共分散行列Rxx(fk)に逆行列が存在しない場合に条件数z2(fk)は大きい数値となる。
z2(fk)=‖Rxx(fk)‖・‖Rxx(fk)-1‖ ……(10)
共分散行列Rxx(fk)は以下の数式(11A)のように固有値分解される。数式(11A)の行列Uは固有行列(固有ベクトルを要素とする行列)であり、行列Σは、固有値を要素とする対角行列である。また、共分散行列Rxx(fk)の逆行列は、数式(11A)を変形した以下の数式(11B)で表現される。
Rxx(fk)=UΣUH ……(11A)
Rxx(fk)-1=UΣ-1UH ……(11B)
行列Σの要素にゼロが含まれる場合には数式(11B)の行列Σ-1が無限大に発散するため、共分散行列Rxx(fk)の逆行列は存在しない(すなわち、数式(10)の条件数z2(fk)は大きい数値となる)。一方、行列Σの要素(共分散行列Rxx(fk)の固有値)がゼロに近い数値を含むということは、観測ベクトルX(m,fk)の分布における基底の総数が少ないことを意味する。したがって、観測ベクトルX(m,fk)の基底の総数が少ないほど共分散行列Rxx(fk)の条件数z2(fk)が大きい(基底の総数が多いほど条件数z2(fk)は小さい)という傾向が把握される。つまり、共分散行列Rxx(fk)の条件数z2(fk)は、行列式z1(fk)と同様に、観測ベクトルX(m,fk)の基底の総数の指標として機能する。
以上の傾向を考慮して、第1の態様においては、共分散行列Rxx(fk)の条件数z2(fk)を有意指標値Z(fk)として利用する。すなわち、有意指標算定部42は、K個の周波数f1〜fKの各々の共分散行列Rxx(fk)について数式(10)の演算を実行することで条件数z2(fk)(z2(f1)〜z2(fK))を算定する。周波数選別部44は、有意指標算定部42の算定した条件数z2(fk)が小さい1個以上の周波数fk(例えば、昇順で上位に位置する所定個の周波数fkや閾値を下回る周波数fk)を第1周波数fAに選別するとともに残余の周波数fkを第2周波数fBに選別する。
<D-2:第2の態様(相互相関z3(fk),相互情報量z4(fk))>
独立成分分析の学習処理は、音源分離後の各信号が統計的に独立となるように分離行列W(fk)を更新する処理であるから、観測信号V1(t)と観測信号V2(t)とで統計的な相関が低い周波数fkほど、学習データD(fk)を使用した分離行列W(fk)の学習の有意性が高いと言える。そこで、第2の態様においては、観測信号V1(t)および観測信号V2(t)の相互間の独立性に応じた指標値(例えば相互相関z3(fk))を有意指標値Z(fk)として利用する。
観測信号V1(t)の周波数fkの成分と観測信号V2(t)の周波数fkの成分との相互相関z3(fk)は以下の数式(12)で表現される。数式(12)の記号σ1は、単位区間TU内の強度x1(m,fk)の標準偏差を意味し、記号σ2は、単位区間TU内の強度x2(m,fk)の標準偏差を意味する。
z3(fk)=E[{x1(m,fk)−E(x1(m,fk))}{x2(m,fk)−E(x2(m,fk))}]/σ1σ2 ……(12)
数式(12)から理解されるように、観測信号V1(t)と観測信号V2(t)との独立性が高い(相関が低い)周波数fkほど相互相関z3(fk)は小さい数値となる。以上の傾向を考慮して、第2の態様においては、K個の周波数f1〜fKの各々について数式(12)の演算を実行することで有意指標算定部42が相互相関z3(fk)(z3(f1)〜z3(fK))を算定し、周波数選別部44は、K個の周波数f1〜fKのうち相互相関z3(fk)が低い1個以上の周波数fk(例えば、昇順で上位の周波数fkや閾値を下回る周波数fk)を第1周波数fAに選別するとともに残余の周波数fkを第2周波数fBに選別する。
また、以下の数式(13)で定義される相互情報量z4(fk)も有意指標値Z(fk)として利用され得る。相互相関z3(fk)と同様に、観測信号V1(t)と観測信号V2(t)との独立性が高い(相関が低い)周波数fkほど相互情報量z4(fk)は小さい数値となる。したがって、周波数選別部44は、K個の周波数f1〜fKのうち相互情報量z4(fk)が低い1個以上の周波数fkを第1周波数fAに選別する。
z4(fk)=(−1/2)log(1−z3(fk)2) ……(13)
<D-3:第3の態様(トレースz5(fk))>
共分散行列Rxx(fk)のトレース(パワー)z5(fk)は共分散行列Rxx(fk)の対角成分の総和として定義される。共分散行列Rxx(fk)の対角成分は、単位区間TUにおける観測信号V1(t)の強度x1(m,fk)の分散σ12と単位区間TUにおける観測信号V2(t)の強度x2(m,fk)の分散σ22とに相当するから、共分散行列Rxx(fk)のトレースz5(fk)は、強度x1(m,fk)の分散σ12と強度x2(m,fk)の分散σ22との加算値(z5(fk)=σ12+σ22)としても定義される。
図15は、単位区間TU内の各観測ベクトルX(m,fk)の散布図である。図15の部分(A)は、トレースz5(fk)が大きい場合の散布図であり、図15の部分(B)は、トレースz5(fk)が小さい場合の散布図である。図15の部分(A)および部分(B)には、図7の部分(A)と同様に、音源S1からの音響SV1が優勢な観測ベクトルX(m,fk)が分布する領域A1と、音源S2からの音響SV2が優勢な観測ベクトルX(m,fk)が分布する領域A2とが模式的に図示されている。
強度x1(m,fk)の分散σ12と強度x2(m,fk)の分散σ22との加算値という定義からも理解されるように、共分散行列Rxx(fk)のトレースz5(fk)が大きいほど観測ベクトルX(m,fk)は広範に分布する。したがって、トレースz5(fk)が大きい場合には、図15の部分(A)のように、観測ベクトルX(m,fk)の分布する領域(領域A1および領域A2)が音源S毎に明確に区別され、トレースz5(fk)が小さい場合には、図15の部分(B)のように領域A1と領域A2との区別は曖昧になるという傾向がある。つまり、トレースz5(fk)は、観測ベクトルX(m,fk)が分布する領域の形状(広がり)の指標値として機能する。そして、分離行列W(fk)の学習処理(独立成分分析)は、独立な基底を音源Sの個数だけ特定する処理と等価であるから、観測ベクトルX(m,fk)の分布する領域(基底)が音源S毎に明確に区別される周波数fk(すなわちトレースz5(fk)が大きい周波数fk)ほど、学習データD(fk)を使用した分離行列W(fk)の学習の有意性が高いと言える。
以上の傾向を考慮して、第3の態様では、共分散行列Rxx(fk)のトレースz5(fk)を有意指標値Z(fk)として利用する。すなわち、有意指標算定部42は、K個の周波数f1〜fKの各々の共分散行列Rxx(fk)の対角成分を加算することでトレースz5(fk)(z5(f1)〜z5(fK))を算定する。周波数選別部44は、有意指標算定部42の算定したトレースz5(fk)が大きい1個以上の周波数fk(例えば、降順で上位の周波数fkや閾値を上回る周波数fk)を第1周波数fAに選別するとともに残余の周波数fkを第2周波数fBに選別する。
<D-4:第4の態様(尖度z6(fk))>
観測信号V1(t)の強度x1(m,fk)の度数分布(強度x1(m,fk)を確率変数とする分布関数)における尖度(カートシス)z6(fk)は、以下の数式(14)で定義される。
z6(fk)=μ4(fk)/{μ2(fk)}2 ……(14)
数式(14)の記号μ4(fk)は、以下の数式(15A)で定義される4次のモーメントを意味し、数式(14)の記号μ2(fk)は、数式(15B)で定義される2次のモーメントを意味する。数式(15A)や数式(15B)の記号m(fk)は、単位区間TU内の複数のフレームにわたる強度x1(m,fk)の平均値を意味する。
μ4(fk)=E{x1(m,fk)−m(fk)}4 ……(15A)
μ2(fk)=E{x1(m,fk)−m(fk)}2 ……(15B)
音響SV1の成分SV1(fk)および音響SV2の成分SV2(fk)の一方のみが観測信号V1(t)に含まれる(あるいは支配的である)場合には尖度z6(fk)が大きい数値となり、成分SV1(fk)および成分SV2(fk)の双方が略同等の強度で観測信号V1(t)に含まれる場合には尖度z6(fk)が小さい数値となる(中心極限定理)。分離行列W(fk)の学習処理(独立成分分析)は、独立な基底を音源Sの個数だけ特定する処理と等価であるから、有意な音量で観測信号V1(t)に含まれる音響SVの音源Sの個数が多い周波数fk(すなわち、尖度z6(fk)が小さい周波数fk)ほど、学習データD(fk)を使用した分離行列W(fk)の学習の有意性が高いと言える。
以上の傾向を考慮して、第4の態様では、観測信号V1(t)の強度x(m,fk)の度数分布における尖度z6(fk)を有意指標値Z(fk)として利用する。すなわち、有意指標算定部42は、K個の周波数f1〜fKの各々について数式(14)の演算を実行することで尖度z6(f1)〜z6(fK)を算定する。周波数選別部44は、K個の周波数f1〜fKのうち尖度z6(fk)が小さい1個以上の周波数fk(例えば、昇順で上位の周波数fkや閾値を下回る周波数fk)を第1周波数fAに選別するとともに残余の周波数fkを第2周波数fBに選別する。
ところで、人間の音声の尖度は概ね40から70までの範囲内の数値となる。また、雑音が存在する環境で尖度が低下すること(中心極限定理)や尖度の測定の誤差などを考慮すると、人間の音声の尖度は概ね20から80までの範囲(以下「音声範囲」という)内に収まる。一方、空調設備の動作音や人込みでの雑踏音などの定常的な雑音のみが存在する周波数fkについては、観測信号V1(t)の尖度は充分に低い数値(例えば20を下回る数値)となるから、周波数選別部44にて第1周波数fAに選別される可能性が高い。しかし、音源分離の対象音(SV1,SV2)が人間の音声であるならば、定常的な雑音の周波数fkの学習データD(fk)を使用した分離行列Wの学習の有意性は低いと言える。
そこで、定常的な雑音の周波数fkを第1周波数fAに選別することが回避されるように数式(14)の尖度を補正する構成が好適に採用される。例えば、有意指標算定部42は、数式(14)で定義される数値(以下「補正前尖度」という)と加重値qとの乗算値を補正後の尖度z6(fk)として算定する。加重値qは、例えば図16の例示のように補正前尖度に対して非線形に選定される。すなわち、補正前尖度が音声範囲の下限値(例えば20)を下回る範囲については、加重値qの乗算による補正後の尖度z6(fk)が音声範囲内の上限値(例えば80)を上回るように、補正前尖度に応じて加重値qが可変に選定され、音声範囲内の尖度については加重値qは所定値(例えば1)に設定される。なお、音声範囲の上限値を上回る範囲については、補正前尖度が充分に高い(すなわち周波数fkが第1周波数fAに選別される可能性は低い)ため、加重値qは音声範囲内と同等の数値に設定される。以上の構成によれば、所期の音声を高精度に分離できる分離行列W(fk)を生成することが可能である。
<E:変形例>
以上の各形態には様々な変形が加えられる。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は適宜に併合され得る。
(1)変形例1
周波数f1〜fKを第1周波数fAおよび第2周波数fBに選別する方法は適宜に変更される。例えば、以上に例示した複数種の指標から有意指標値Z(fk)を算定する構成が採用され得る。すなわち、有意指標算定部42は、以上に例示した指標(z1(fk)〜z6(fk))から選択された複数種の指標の加重和(例えば行列式z1(fk)とトレースz5(fk)の加重和)を有意指標値Z(fk)として算定する。
なお、第1周波数fAと第2周波数fBとの選別に有意指標値Z(fk)を利用する構成(有意指標算定部42)は省略され得る。具体的には、観測ベクトルX(m,fk)(学習データD(fk))とは無関係に周波数fkを選別する構成も採用され得る。例えば、周波数選別部44は、周波数f1〜fKの配列から所定個毎に選択した各周波数fkを第1周波数fAに選別するとともに残余の周波数fkを第2周波数fBに選別する。また、観測信号V1(t)および観測信号V2(t)に想定される音響特性や学習処理の内容等の事情から、学習処理の有意性が高い周波数fkが例えば実験的または統計的に事前に判明しているならば、当該周波数fkを第1周波数fAに選別するとともに残余の周波数fkを第2周波数fBに選別する構成が採用され得る。以上の例示のように有意指標値Z(fk)の算定を省略すれば、演算処理装置12の演算量が削減されるという利点がある。
(2)変形例2
第2実施形態では、観測ベクトルX(m,fk)の共分散行列Rxx(fk)の行列式z1(fk)を収音条件の良否の判定に適用したが、収音条件の良否の判定の方法は任意である。例えば、観測ベクトルX(m,fk)の共分散行列Rxx(fk)の条件数z2(fk)は、数値解析の難易の尺度として機能する。学習データD(fk)の数値解析が容易であるほど収音条件が良いという観点からすると、有意指標算定部42が算定する条件数z2(fk)に応じて収音条件の良否を判定する構成が採用され得る。条件数z2(fk)が1に近いほど収音条件は良いと評価できるから、条件判定部72は、条件数z2(fk)が閾値を下回る場合には周波数fkの収音条件が良い(良条件)と判定し、条件数z2(fk)が閾値を上回る場合には周波数fkの収音条件が悪い(悪条件)と判定する。収音条件が悪い周波数fk(第2周波数fB)については2次学習処理が省略される。
なお、図9および図10を参照すると、振幅比RAが0.5を下回る場合に雑音抑圧率の低下やケプストラム歪の増加が顕在化するから、振幅比RAが0.5を下回る場合に悪条件と評価するのが妥当である。条件数z2(fk)は、音響SV1と音響SV2とのパワーの相対比に相当するから、振幅比RAが0.5である(パワーの相対比が0.25)である場合には、条件数z2(fk)が4となることが期待される。したがって、収音条件の良否の判定に条件数z2(fk)を利用する場合には、収音条件の良否の閾値を4に設定する(すなわち、条件数z2(fk)が4を下回る場合に良条件と判定し、条件数z2(fk)が4を上回る場合に悪条件と判定する)構成が好適に採用され得る。
以上の例示のように、周波数fkの選別に適用される有意指標Z(fk)(z1(fk),z2(fk))を収音条件の良否の判定に流用する構成によれば、周波数fkの選別と収音条件の判定とに別個の指標を適用する構成と比較して演算量が削減されるという利点がある。ただし、周波数fkの選別と収音条件の判定とに別個の指標を適用する構成も採用され得る。例えば、収音条件の判定には行列式z1(fk)を適用し、周波数fkの選別には行列式z1(fk)以外の有意指標Z(fk)(z2(fk)〜z6(fk))を適用する構成が採用される。
(3)変形例3
初期行列設定部52が初期分離行列WA[0](fk)を生成する方法は任意である。例えば、乱数を要素とする初期分離行列WA[0](fk)を初期行列設定部52が生成する構成が採用され得る。以上では音源S1の角度θ1や音源S2の角度θ2が未知である場合(事前情報を利用しない場合)を例示したが、事前情報(角度θ1や角度θ2)を利用して初期分離行列WA[0](fk)を生成する構成も好適である。事前情報を利用した初期分離行列WA[0](fk)の生成には、橘ほか5名,“Efficient Blind Source Separation Combining Closed-Form Second Order ICA and Nonclosed-Form Higher-Order ICA”, International Conference on Acoustics, Speech, and Signal Processing (ICASSP), Vol. 1, p. 45-48, Apr. 2007に開示された主成分分析や2次統計量ICAなどの部分空間法、または、特許第3949074号公報に開示された適応型ビーム形成が好適に採用され得る。また、MUSIC(MUltiple SIgnal Classification)法や最小分散法で推定した各音源Sの方向から各種のビーム形成(例えば適応型ビーム形成)を利用して初期分離行列WA[0](fk)を生成する方法や、因子分析で特定した因子ベクトルや正準相関分析で特定した正準ベクトルから初期分離行列WA[0](fk)を生成する方法も採用される。