<A:第1実施形態>
図1は、本発明の第1実施形態に係る信号処理装置100のブロック図である。相互に間隔をあけて平面PL内に配置された収音機器M1および収音機器M2が信号処理装置100に接続される。収音機器M1および収音機器M2の周囲には音源SAおよび音源SBが存在する。収音機器M1および収音機器M2の各々は、周囲の音を収音するマイクロホンである。収音機器M1は音響信号V1(t)を生成し、収音機器M2は音響信号V2(t)を生成する。音響信号V1(t)および音響信号V2(t)は、音源SAから放射された音SVAと音源SBから放射された音SVBとの混合音の波形を表す時間領域(時間t)の信号である。
音源SAの方向LAや音源SBの方向LBは、基準点p(例えば収音機器M1と収音機器M2との中点)から平面PLに垂直に延在する法線Lnの方向を基準(ゼロ)とした角度で表現される。図1に示すように、音源SAは法線Lnの線上に位置する。したがって、音源SAの方向LAの角度θAはゼロである。また、法線Lnに対して角度θBの方向LBには音源SBが位置し得る。
音源SAの方向LAは既知の方向θA(θA=0°)に確定している。例えば、信号処理装置100が自動車の車内に設置された場合を想定すると、運転席に座る運転者の頭部の方向が音源(すなわち運転者)SAの方向LAに相当する。また、利用者の発声音を入力する電子機器(例えば携帯電話機)に信号処理装置100が搭載された場合を想定すると、電子機器の本体に対して正面の方向が音源(すなわち発声者)SAの方向LAに相当する。他方、音源SBの方向LB(角度θB)は未確定(未知)である。
音源SAが放射する音SVAは、図2の部分(A)および図2の部分(B)に示すように、角度θAの方向LAから収音機器M1および収音機器M2に到来する単方向音(実質的な点音源からの到来音)である。他方、音源SBが放射する音SVBは、図2の部分(A)に示すように特定の角度θBの方向LBから収音機器M1および収音機器M2に到来する単方向音である場合と、図2の部分(B)のように複数の方向から収音機器M1および収音機器M2に到来する多方向音である場合とがある。多方向音は、ひとつの音源からの放射後に拡散して複数の方向から収音機器M1および収音機器M2に到来する音や、収音機器M1および収音機器M2の周囲に存在する複数の音源SB(点音源または面音源)から放射された同種の音(例えば空調設備の動作音や人混み内での雑踏音)である。典型的には音SVAが目的音に相当し、音SVBが雑音に相当する。
図1の信号処理装置100は、音響信号V1(t)および音響信号V2(t)に対してフィルタ処理(音源分離)を実行することで分離信号U1(t)および分離信号U2(t)を生成する。分離信号U1(t)は、音源SAからの音SVAを強調した信号(音源SBからの音SVBを抑制した信号)であり、分離信号U2(t)は、音SVBを強調した信号(音SVAを抑制した信号)である。すなわち、音源SAからの音SVAと音源SBからの音SVBとが分離(音源分離)される。
分離信号U1(t)や分離信号U2(t)は、例えば、スピーカやヘッドホンなどの放音機器(図示略)に供給されることで音響として再生される。ただし、分離信号U1(t)や分離信号U2(t)の用途は任意である。例えば、音SVBが強調された分離信号U2(t)を推定雑音信号として雑音抑圧に利用する構成も好適である。なお、音響信号V1(t)および音響信号V2(t)をデジタル信号に変換するA/D変換器や、分離信号U1(t)および分離信号U2(t)をアナログ信号に変換するD/A変換器の図示は便宜的に省略されている。
図1に示すように、信号処理装置100は、周波数分析部12と信号処理部14と信号合成部16と分離行列生成部18とを含んで構成される。信号処理装置100の各要素は、例えば、記録媒体に記録されたプログラムを実行する演算処理装置(CPU)や特定の信号処理に専用される電子回路(DSP)で実現される。また、信号処理装置100の各要素が複数の集積回路に分散して搭載された構成も採用される。
周波数分析部12は、音響信号V1(t)の周波数スペクトルQ1(m)と音響信号V2(t)の周波数スペクトルQ2(m)とを時間軸上のフレーム毎に順次に算定する。記号mはフレームの番号を示す。図3に示すように、第m番目のフレームの周波数スペクトルQ1(m)は、周波数軸上に設定されたK個の周波数(周波数帯域)f1〜fKの各々における強度x1(m,f1)〜x1(m,fK)の系列である(Kは自然数)。同様に、周波数スペクトルQ2(m)は、K個の強度x2(m,f1)〜x2(m,fK)で構成される。
図1の信号処理部14は、強度x1(m,f1)〜x1(m,fK)および強度x2(m,f1)〜x2(m,fK)に対するフィルタ処理(音源分離)で強度u1(m,f1)〜u1(m,fK)および強度u2(m,f1)〜u2(m,fK)をフレーム毎に順次に生成する。信号合成部16は、信号処理部14が生成した強度u1(m,f1)〜u1(m,fK)を時間領域の信号に変換するとともに前後のフレームにて連結することで分離信号U1(t)を生成する。同様に、信号合成部16は、信号処理部14が生成した強度u2(m,f1)〜u2(m,fK)から時間領域の分離信号U2(t)を生成する。
図4は、信号処理部14のブロック図である。図4に示すように、信号処理部14は、K個の周波数f1〜fKの各々に対応するK個の処理部P1〜PKで構成される。周波数fk(k=1〜K)に対応する処理部Pkは、強度x1(m,fk)および強度x2(m,fk)から強度u1(m,fk)を生成するフィルタ部32と、強度x1(m,fk)および強度x2(m,fk)から強度u2(m,fk)を生成するフィルタ部34とを含んで構成される。
処理部Pkのフィルタ部32およびフィルタ部34は、遅延加算型(DS(delay-sum)型)または死角制御型(null)のビームフォーマとして機能する。遅延加算型のビームフォーマは、所定の方向に周波数fkのビーム(すなわち、周波数fkの音に対する感度が高い領域)を形成する。他方、死角制御型のビームフォーマは、所定の方向を収音の死角(すなわち、周波数fkの音に対する感度が低い領域)とする周波数fkのビームを形成する。
図4および以下の数式(1A)から理解されるように、処理部Pkのフィルタ部32は、係数w11(fk)に応じた遅延を強度x1(m,fk)に付加する遅延素子321と、係数w12(fk)に応じた遅延を強度x2(m,fk)に付加する遅延素子323と、遅延素子321の出力と遅延素子323の出力との加算(または減算)で強度u1(m,fk)を生成する加算部325とを含んで構成される。同様に、フィルタ部34は、数式(1B)から理解されるように、係数w21(fk)に応じて強度x1(m,fk)を遅延させる遅延素子341と、係数w22(fk)に応じて強度x2(m,fk)を遅延させる遅延素子343と、遅延素子341の出力と遅延素子343の出力との加算(または減算)で強度u2(m,fk)を生成する加算部345とを含む。
u1(m,fk)=w11(fk)・x1(m,fk)+w21(fk)・x2(m,fk) ……(1A)
u2(m,fk)=w21(fk)・x1(m,fk)+w22(fk)・x2(m,fk) ……(1B)
図1の分離行列生成部18は、信号処理部14に適用される分離行列W(f1)〜W(fK)を生成する。分離行列W(fk)は、図4に示すように、係数列w1(fk)と係数列w2(fk)とで構成される2行2列の行列である。係数列w1(fk)は、処理部Pkにおけるフィルタ部32の係数w11(fk)および係数w12(fk)で構成され、係数列w2(fk)は、処理部Pkにおけるフィルタ部34の係数w21(fk)および係数w22(fk)で構成される。
係数列w1(fk)は、方向LAに指向するビームの形成(遅延加算型ビームフォーマ)で音SVAのうち周波数fkの成分が強調され、または、方向LBを死角とするビームの形成(死角制御型ビームフォーマ)で音SVBのうち周波数fkの成分が抑圧されるように生成された行列(音源SAを強調する分離行列)である。他方、係数列w2(fk)は、方向LBに指向するビームの形成で音SVBのうち周波数fkの成分が強調され、または、方向LAを死角とするビームの形成で音SVAのうち周波数fkの成分が抑圧されるように生成された行列(音源SBを強調する分離行列)である。すなわち、分離行列W(fk)は、音SVAの周波数fkの成分と音SVBの周波数fkの成分とを分離するように生成される。
図1に示すように、分離行列生成部18は、初期値決定部22と学習処理部24と判定部26とを含んで構成される。初期値決定部22は、初期的な分離行列W0(f1)〜W0(fK)を生成する。分離行列W0(fk)は、信号処理部14に実際に適用される分離行列W(fk)の学習時に初期値として使用される2行2列の行列である。分離行列W0(fk)は、音SVAのうち周波数fkの成分と音SVBのうち周波数fkの成分とが分離されるように設定される。
学習処理部24は、分離行列W0(fk)を初期値とした逐次的な学習で分離行列W(fk)を生成する。分離行列W(fk)の生成には、分離信号U1(t)(強度u1(m,fk))と分離信号U2(t)(強度u2(m,fk))とが統計的に相互に独立となるように分離行列W(fk)を逐次的に更新する独立成分分析(例えば高次ICA)が好適に採用される。なお、信号処理装置100の起動の直後に生成された分離行列W(f1)〜W(fK)が継続的に信号処理部14に適用される構成(すなわち、信号処理装置100の起動の直後に分離行列生成部18が動作する構成)を以下では便宜的に例示するが、例えば、信号処理装置100の動作中に分離行列W(f1)〜W(fK)(分離行列W0(f1)〜W0(fK))が順次に生成および更新される構成も好適である。
判定部26は、音源SBから収音機器M1や収音機器M2に到来する音SVBが単方向音および多方向音の何れに該当するかを判定する。初期値決定部22による分離行列W0(f1)〜W0(fK)の生成の方法や学習処理部24による分離行列W(f1)〜W(fK)の学習の方法は、音SVBが単方向音であると判定部26が判定した場合と音SVBが多方向音であると判定部26が判定した場合とで相違する。判定部26による判定の方法や初期値決定部22および学習処理部24の処理との関係については後述する。
図5は、分離行列生成部18の具体的なブロック図である。図5に示すように、初期値決定部22は、係数列生成部42と角度特定部44と行列生成部46とを含んで構成される。係数列生成部42は、音源SBの方向LBの角度θBの推定に利用される係数列wA(f1)〜wA(fK)を生成する。図6に示すように、第1実施形態の係数列生成部42は、共分散行列生成部52と係数設定部54と方向ベクトル特定部56とを含んで構成される。
共分散行列生成部52は、音響信号V1(t)の強度x1(m,fk)および音響信号V2(t)の強度x2(m,fk)の共分散行列Rxx(fk)を周波数f1〜fKの各々について算定する。図3に示すように、第m番目のフレームの周波数スペクトルQ1(m)のうち周波数fkにおける強度x1(m,fk)と当該フレームの周波数スペクトルQ2(m)のうち同じ周波数fkの強度x2(m,fk)とを要素とする観測ベクトルX(m,fk)(X(m,fk)=[x1(m,fk) x2(m,fk)]T)を導入すると(符号Tは行列の転置を意味する)、共分散行列Rxx(fk)は、観測ベクトルX(m,fk)の共分散を要素とする行列として以下の数式(2)で定義される。符号Hは行列の転置(エルミート転置)を意味する。
Rxx(fk)=E[X(m,fk)X(m,fk)H] ……(2)
数式(2)の記号E[ ]は、所定個(複数)のフレームにわたる平均値(期待値)または加算値を意味する。図6の共分散行列生成部52は、周波数分析部12から順次に供給される強度x1(m,fk)と強度x2(m,fk)とについて数式(2)の演算を実行することで共分散行列Rxx(fk)を算定する。
係数設定部54は、周波数f1〜fKについて係数列wA(f1)〜wA(fK)を生成する。具体的には、係数設定部54は、係数列wA(fk)を係数列w1(fk)として処理部Pkのフィルタ部32に適用したときのフィルタ処理が、角度θA(方向LA)から到来する音源SAの音SVAのうち周波数fkの成分を強調する適応ビームフォーマ(すなわち、方向LAに指向するビームの形成)となるように、係数列wA(fk)を設定する。
図7は、適応ビームフォーマで設定されるビームの模式図である。図7においては、収音の感度が所定値を上回る領域(ビームが形成された領域)αが図示されている。図7に示すように、ビームは音源SAの方向LAに指向する。さらに、適応ビームフォーマでは、ビームが指向する方向LA以外の音源SBの方向LBに収音の死角が形成される。すなわち、係数設定部54は、角度θAの方向LAから到来する周波数fkの成分が強調されるとともに角度θBの方向LBに収音の死角が形成されるように係数列wA(fk)を特定する。したがって、係数列wA(f1)〜wA(fK)に反映される死角の方向を音源SBの角度θBとして特定することが可能である。係数設定部54による係数列wA(fk)の算定について以下に詳述する。
強度x1(m,fk)および強度x2(m,fk)で構成される観測ベクトルX(m,fk)と、係数w11(fk)および係数w12(fk)で構成される係数列wA(fk)(wA(fk)=[w11(fk) w12(fk)]T)とを導入すると、数式(1A)は以下の数式(3)に変形される。すなわち、強度u1(m,fk)は、係数列wA(fk)の転置(エルミート転置)と観測ベクトルX(m,fk)との乗算(内積)に相当する。
u1(m,fk)=wA(fk)HX(m,fk) ……(3)
ここで、収音機器M1が生成する音響信号V1(t)の強度x1(m,fk)は、以下の数式(4A)に示すように、音源SAから到来した音SVAの強度a1(m,fk)と音源SBから到来した音SVBの強度b1(m,fk)との加算として表現される。同様に、音響信号V2(t)の強度x2(m,fk)は、数式(4B)に示すように、音源SAから到来した音SVAの強度a2(m,fk)と音源SBから到来した音SVBの強度b2(m,fk)との加算に相当する。したがって、観測ベクトルX(m,fk)は、以下の数式(5)のように表現される。
x1(m,fk)=a1(m,fk)+b1(m,fk) ……(4A)
x2(m,fk)=a2(m,fk)+b2(m,fk) ……(4B)
X(m,fk)=A(m,fk)+B(m,fk) ……(5)
数式(5)の記号A(m,fk)は、数式(4A)の強度a1(m,fk)と数式(4B)の強度a2(m,fk)とを要素とするベクトル(すなわち、音源SAからの音SVAに対応したベクトル)を意味する。同様に、数式(5)の記号B(m,fk)は、数式(4A)の強度b1(m,fk)と数式(4B)の強度b2(m,fk)とを要素とするベクトル(すなわち、音源SBからの音SVBに対応したベクトル)を意味する。数式(5)を数式(3)に代入することで以下の数式(6)が導出される。
u1(m,fk)=wA(fk)HA(m,fk)+wA(fk)HB(m,fk) ……(6)
ここで、音源SAからの音SVAが収音機器M1に到達する時点と収音機器M2に到達する時点との時間差は角度θAに応じた時間(遅延量)e
−jθAであるから、ベクトルA(m,fk)は、以下の数式(7)のように表現される。数式(7)のベクトルdA(θA(fk))は、角度θAの方向LAから到来する周波数fkの音が収音機器M1および収音機器M2の各々に到達する時間差(e
−jθA(fk))を示す方向ベクトル(ステアリングベクトル)である。
数式(7)の代入で数式(6)は以下の数式(6A)に変形される。
u1(m,fk)=wA(fk)HdA(θA(fk))a1(m,fk)+wA(fk)HB(m,fk) ……(6A)
数式(6A)の第1項は、音源SAからの音SVAのうち強度u1(m,fk)に残存する成分を意味し、数式(6A)の第2項は、音源SBからの音SVBのうち強度u1(m,fk)に残存する成分を意味する。したがって、係数列wA(fk)を適用したフィルタ処理で音SVAの強調と音SVBの抑圧とを実現するためには、数式(6A)の第1項を音SVAの強度a1(m,fk)に近づけるという条件(以下「条件1」という)と、数式(6A)の第2項をゼロに近づけるという条件(以下「条件2」という)とが必要である。条件1は以下の数式(8)で表現される。ただし、条件1は、数式(8)の左辺を最大化する(音SVAの強調を最大化する)という処理に変更され得る。
wA(fk)HdA(θA(fk))=1 ……(8)
条件2を検討するために、数式(6A)の第2項の絶対値の自乗(|wA(fk)HB(m,fk)|2)を所定個のフレームにわたって平均化した強度P(fk)を検討する。強度P(fk)は、音源SBからの音SVBのうち強度u1(m,fk)に残存する成分のパワーに相当する。強度P(fk)は以下の数式(9)に変形される。数式(9)の記号E[ ]は、数式(2)と同様に、所定個のフレームにわたる平均(期待値)を意味する。数式(9)の導出においては、係数列wA(fk)が経時的に変化しない(E[wA(fk)H]=wA(fk)H,E[wA(fk)]=wA(fk))という性質を利用した。
P(fk)=E[|wA(fk)HB(m,fk)|2]
=E[wA(fk)HB(m,fk)B(m,fk)HwA(fk)]
=wA(fk)HE[B(m,fk)B(m,fk)H]wA(fk)
=wA(fk)HRBB(fk)wA(fk) ……(9)
数式(9)の記号RBB(fk)は、強度x1(m,fk)のうち音SVBに由来する強度b1(m,f)と強度x2(m,fk)のうち音SVBに由来する強度b2(m,f)との共分散行列(所定個のフレームにわたるベクトルB(m,fk)の共分散行列)を意味する。しかし、音響信号V1(t)や音響信号V2(t)からベクトルB(m,fk)のみを抽出して共分散行列RBB(fk)を算定することは困難であるから、本実施形態においては、音響信号V1(t)の強度x1(m,fk)と音響信号V2(t)の強度x2(m,fk)との共分散行列Rxx(fk)(数式(2))で共分散行列RBB(fk)を代用する。すなわち、数式(9)は以下の数式(9A)で近似される。したがって、条件2は、数式(9A)で表現される強度P(fk)を最小化するという条件に相当する。
P(fk)=wA(fk)HRBB(fk)wA(fk)
≒wA(fk)HRxx(fk)wA(fk) ……(9A)
図6の係数設定部54は、共分散行列生成部52が生成した共分散行列Rxx(fk)を数式(9A)に代入したときの強度P(fk)が、数式(8)の条件1が成立する範囲内で最小となるように、係数列wA(fk)を算定する。以上の手順で算定された係数列wA(fk)は、角度θAの方向LAに指向するとともに角度θBの方向LBを死角とするビームを形成する適応ビームフォーマとしてフィルタ部32を動作させたときの係数列w1(fk)に相当する。
図6の方向ベクトル特定部56は、音源SAの方向LAが既知の角度θAに確定していることを利用して、K個の周波数f1〜fKについて角度θA(f1)〜θA(fK)を特定するとともに、各角度θA(fk)から数式(8)の方向ベクトルdA(θA(fk))を算定する。角度θA(f1)〜θA(fK)の算定には公知の技術が任意に採用される。
具体的には、方向ベクトル特定部56は、既知の角度θAに応じた係数列w1(f1)〜w1(fK)を特定したうえで各係数列w1(fk)に対応した角度θA(fk)を算定する。例えば、方向LAの音源SAにてインパルス音を発生させたときに収音機器M1および収音機器M2が収音したインパルス応答を解析することで、音源SAからの音SVAのうち周波数fkの成分が強調されるように係数列w1(fk)を算定する方法が採用される。また、方向LAから到来する音SVAのうち周波数fkの成分がフィルタ部32によるフィルタ処理で強調される(すなわち、フィルタ部32が方向LAにビームを形成する)ように既知の角度θAから係数列w1(f1)〜w1(fK)を算定する方法も好適である。方向ベクトル特定部56は、周波数fkの係数列w1(fk)から角度θA(fk)を算定する。係数列w1(fk)から角度θA(fk)を算定する処理には公知の技術が任意に採用される。例えば、非特許文献2に開示された方法が好適である。
そして、方向ベクトル特定部56は、角度θA(f1)〜θA(fK)の各々について遅延量e−jθA(fk)を算定することで数式(7)の方向ベクトルdA(θA(fk))をK個の周波数f1〜fKの各々について算定する。係数設定部54は、方向ベクトル特定部56が算定した方向ベクトルdA(θA(fk))を数式(8)に適用することで係数列wA(fk)を算定する。以上が係数列生成部42の構成および動作である。
図5の角度特定部44は、係数列生成部42が生成した係数列wA(f1)〜wA(fK)から音源SBの方向LBの角度θBを特定(推定)する。図5に示すように、角度特定部44は、第1処理部441と第2処理部442とを含んで構成される。第1処理部441は、K個の周波数f1〜fKに対応する角度θB(f1)〜θB(fK)を係数列wA(f1)〜wA(fK)に応じて算定する。角度θB(fk)は、係数列生成部42による係数列wA(fk)の算定時に死角を想定した角度として特定される。
例えば、第1処理部441は、角度θB(fk)の候補値ΘB(fk)に対応する方向ベクトルdB(Θ(fk))と係数列wA(fk)との内積を当該候補値ΘB(fk)の角度での収音の感度として算定し、複数の候補値ΘB(fk)のうち感度が最小となる(すなわち収音の死角となる)候補値ΘB(fk)を確定的な角度θB(fk)として選択する。あるいは、角度特定部44は、角度θB(fk)の候補値ΘB(fk)を含む所定の範囲内の複数の角度φ(fk)の各々の方向ベクトルd(φ(fk))と係数列wA(fk)との内積を複数の角度φ(fk)について加算した数値を当該候補値ΘB(fk)の角度での感度として算定し、複数の候補値ΘB(fk)のうち感度が最小となる候補値ΘB(fk)を確定的な角度θB(fk)として選択する。また、非特許文献1に開示された方法も角度θB(fk)の特定に採用される。
第1処理部441は、所定の角度θ0を中央値とする所定の範囲A内の数値として角度θB(f1)〜θB(fK)を算定する。本実施形態における範囲Aの中央値(すなわち、範囲Aの上限値と下限値との平均値)θ0は既知の音源SAの角度θA(θA=0°)に設定される。具体的には、範囲Aは、角度θ0(θ0=θA=0°)を中央値として−90°から+90°までの範囲(−90≦θB(fk)≦+90)に設定される。ただし、角度θ0と角度θAとが相違する構成も採用される。
図5の第2処理部442は、第1処理部441が算定したK個の角度θB(f1)〜θB(fK)から音源SBの角度θBの推定値(以下「推定角度」という)θBeを生成するための処理を実行する。例えば、第2処理部442は、K個の角度θB(f1)〜θB(fK)の中央値(最大値と最小値との平均値)や平均値(算術平均や加重平均)を推定角度θBeとして算定する。したがって、推定角度θBeは範囲A内の数値に設定される。
図8および図9は、第1処理部441が特定する角度θB(f1)〜θB(fK)のグラフである。横軸は周波数(f1〜fK)に相当する。図8は、音源SBから放射される音SVBが図2の部分(A)における単方向音(角度θBの方向LBから到来する音)である場合の角度θB(f1)〜θB(fK)を示し、図9は、音源SBから放射される音SVBが図2の部分(B)における多方向音である場合の角度θB(f1)〜θB(fK)を示す。
図8に示すように、音SVBが単方向音である場合、第1処理部441が特定する角度θB(f1)〜θB(fK)は、範囲Aのうち実際の角度θBを中心(平均値)とする狭い範囲内に偏在する。したがって、第2処理部442が算定する推定角度θBeは、実際の方向LBの角度θBに略一致する。なお、図8に示すように、低域側(周波数f1の近傍)および広域側(周波数fKの近傍)の各周波数fkでは角度θB(fk)に誤差(実際の角度θBとの相違)が発生し易い。したがって、低域側の周波数(周波数f1の付近)と高域側の周波数(周波数fKの付近)とを除外した各周波数fkにおける角度θB(fk)から第2処理部442が推定角度θBeを算定する構成も好適である。
他方、音SVBが多方向音である場合、収音機器M1や収音機器M2を中心とする全方向から略同等の強度で音SVBが到来するから、第1処理部441が特定する角度θB(f1)〜θB(fK)はひとつの角度θBに収束しない。すなわち、図9に示すように、角度θB(f1)〜θB(fK)は、角度θAを中央値θ0(θ0=0)とする範囲Aの全域(正数および負数の双方の領域)にわたって略均等に分布する。したがって、第2処理部442が算定する推定角度θBeは、角度θB(f1)〜θB(fK)の正数と負数とが相殺されることで中央値θ0(音源SAの既知の角度θA)に略一致する。すなわち、音SVBが多方向音である場合の推定角度θBeは、実際の音源SBの角度θBには必ずしも合致しない。
以上の傾向を考慮して、判定部26は、角度特定部44が特定した推定角度θBeが範囲A内の中央値θ0に近いか否かに応じて、音源SBからの音SVBが単方向音および多方向音の何れに該当するのかを判定する。例えば、図10に示すように、判定部26は、推定角度θBeと範囲Aの中央値θ0(角度θA)との差分値(絶対値)δを算定し(δ=|θBe−θ0|)、差分値δが所定の閾値τを上回るか否かを判定する(ステップS1)。ステップS1の結果が否定である場合(δ≦τ)には音SVBが単方向音である可能性が高く、ステップS1の結果が肯定である場合(δ>τ)には音SVBが多方向音である可能性が高い。本実施形態においては中央値θ0が音源SAの角度θAに設定されるから、判定部26による判定は、推定角度θBeが既知の角度θAに近いか否かの判定に相当する。
図5の行列生成部46は、既知の角度θA(方向LA)と角度特定部44が特定した推定角度θBe(方向LB)とに応じて初期的な分離行列W0(f1)〜W0(fK)を生成する。行列生成部46が分離行列W0(f1)〜W0(fK)を生成する方法は、判定部26による判定の結果に応じて相違する。行列生成部46の動作の具体例を以下に詳述する。
図10のステップS1の結果が否定である場合(すなわち、音SVBが単方向音であると判定部26が判定した場合)、行列生成部46は、図2の部分(A)に示すように、周波数fkのビームBa1が形成されるように係数w1(fk)(w11(fk),w12(fk))を設定するとともに、周波数fkのビームBa2が形成されるように係数w2(fk)(w21(fk),w22(fk))を設定する(ステップS2A)。ビームBa1は、推定角度θBeの方向LBを収音の死角とする領域であり、ビームBa2は、角度θAの方向LAを収音の死角とする領域である。行列生成部46は、係数列w1(fk)および係数列w2(fk)で構成される分離行列W0(fk)を生成する。したがって、分離行列W0(fk)を処理部Pkに適用すると、係数列w1(fk)で音SVBを抑圧した強度u1(m,fk)と、係数列w2(fk)で音SVAを抑圧した強度u2(m,fk)とが生成される。
他方、図10のステップS1の結果が肯定である場合(すなわち、音SVBが多方向音であると判定部26が判定した場合)、行列生成部46は、図2の部分(B)に示すように、角度θAに指向する周波数fkのビームBb1が形成されるように係数w1(fk)(w11(fk),w12(fk))を設定するとともに、周波数fkのビームBb2が形成されるように係数w2(fk)(w21(fk),w22(fk))を設定する(ステップS2B)。ビームBb2は、推定角度θBeの方向LBを収音の死角とする領域である。ビームBb2の形成は、多方向音たる音SVBを抽出するフィルタ処理に相当する。行列生成部46は、係数列w1(fk)および係数列w2(fk)で構成される分離行列W0(fk)を生成する。したがって、分離行列W0(fk)を処理部Pkに適用すると、係数列w1(fk)で音SVAを強調した強度u1(m,fk)と、係数列w2(fk)で音SVAを抑圧した強度u2(m,fk)とが生成される。
図1の学習処理部24は、以上の手順で行列生成部46が生成した分離行列W0(f1)〜W0(fK)を初期値とした学習処理(分離行列W(fk)の逐次的な更新)で分離行列W(f1)〜W(fK)を生成する。以下に詳述するように、学習処理部24による学習処理の内容は、判定部26による判定の結果に応じて変更される。
学習処理部24による学習処理は以下の数式(10)で定義される。数式(10)の記号Wn(fk)は、n回の更新を実行した時点における分離行列W(fk)を意味する。数式(10)から理解されるように、分離行列Wn(fk)は、過去(典型的には直前)の分離行列Wn-1(fk)(分離行列W1(fk)の算定時には初期値決定部22が生成した分離行列W0(fk))と変数ξとの乗算値を当該分離行列Wn-1(fk)に加算することで算定される。
Wn(fk)=Wn-1(fk)+ξ・Wn-1(fk) ……(10)
図10のステップS1の結果が否定である場合(すなわち、音SVBが単方向音であると判定部26が判定した場合)、学習処理部24は、以下の数式(11A)で定義される変数ξのもとで数式(10)の演算を実行することで分離行列Wn(fk)を算定する(ステップS3A)。数式(11A)は、非ガウス性が優勢な単方向音(典型的には音声)を対象とした学習処理にとって好適な内容に設定されている。
ξ=η(I−E[tanh(Y(m,fk))Y(m,fk)H]) ……(11A)
数式(11A)の記号Y(m,fk)は、過去(直前)の分離行列Wn-1(fk)で信号処理部14が生成した強度u1(m,fk)および強度u2(m,fk)を要素とするベクトル(以下「分離信号ベクトル」という)を意味する。記号ηは定数(比例定数)を意味し、記号Iは2行2列の単位行列を意味する。また、記号tanh(Y(fk))は、分離信号ベクトルY(m,fk)の双曲線正接(ハイパボリックタンジェント)を意味する。記号E[ ]は、数式(2)と同様に、所定個のフレームにわたる平均(期待値)である。以上のように、音SVBが単方向音である場合、学習処理部24は、分離信号ベクトルY(m,fk)の双曲線正接と分離信号ベクトルY(m,fk)の転置(エルミート転置)との積の平均から更新後の分離行列Wn(fk)を生成する。
他方、図10のステップS1の結果が肯定である場合(すなわち、音SVBが多方向音であると判定部26が判定した場合)、学習処理部24は、以下の数式(11B)で定義される変数ξのもとで数式(10)の演算を実行することで分離行列Wn(fk)を算定する(ステップS3B)。数式(11B)は、ガウス性が優勢な多方向音(例えば、空調設備の動作音や人混み内での雑踏音などの無方向性の雑音)を対象とした学習処理にとって好適な内容に設定されている。具体的には、学習処理部24は、分離信号ベクトルY(m,fk)と分離信号ベクトルY(m,fk)の転置(エルミート転置)との積の平均から更新後の分離行列Wn(fk)を生成する。
ξ=η(I−E[Y(m,fk)Y(m,fk)H]) ……(11B)
以上が学習処理部24の機能である。学習処理部24が生成した分離行列W(f1)〜W(fK)が信号処理部14に適用されることで分離信号U1(t)および分離信号U2(t)が生成される。
以上の形態においては、角度特定部44による推定角度θBeが範囲Aの中央値θ0(本実施形態では音源SAの角度θA)に近いか否かに応じて、音源SBからの音SVBが単方向音および多方向音の何れに該当するかを簡易かつ高精度に判定することが可能である。したがって、以下に詳述するように、音源SAからの音SVAと音源SBからの音SVBとを高精度に分離できる分離行列W(f1)〜W(fK)を生成することが可能である。
まず、初期値決定部22(行列生成部46)よる分離行列W0(f1)〜W0(fk)の生成の方法が判定部26による判定の結果に応じて変更されるから、以下に詳述するように、音SVAと音SVBとを高精度に分離できる分離行列W(f1)〜W(fK)を生成できるという利点がある。
図11は、雑音抑圧率を第1実施形態と対比例1と対比例2とについて示す図表である。雑音抑圧率(NRR:noise reduction rate)は、分離信号U1(t)における音SVBの強度に対する音SVAの強度の比率(すなわち、音SVAを目的音として音SVBを雑音としたときのSN比)SNR_OUTと、音響信号V1(t)における音SVBの強度に対する音SVAの強度の比率(すなわち、処理前のSN比)SNR_INとの差分である(NRR=SNR_OUT−SNR_IN)。したがって、雑音抑圧率が高いほど音SVAと音SVBとの分離の精度(音SVAの強調の度合および音SVBの抑制の度合)が高い。
図11の対比例1は、音SVBが単方向音および多方向音の何れであるかに拘わらず、図2の部分(A)の例示と同様に、角度θAを死角とするビームと推定角度θBeを死角とするビームとが形成されるように分離行列W(fk)を生成する構成である。音SVBが単方向音である場合、図8のように推定角度θBeは実際の角度θBに近似するから、対比例1のもとでも高い雑音抑圧率(NRR=12.0)を実現できる。しかし、音SVBが多方向音である場合、図9のように推定角度θBeは音源SAの角度θAに近似するから、係数列w1(fk)および係数列w2(fk)の双方が角度θAからの到来音SVAを強調する内容に設定される。したがって、音SVBが多方向音である場合には雑音抑圧率が顕著に低下する(NRR=2.8)という問題がある。
図11の対比例2は、音SVBが単方向音および多方向音の何れであるかに拘わらず、図2の部分(B)の例示と同様に、角度θAに指向するビームと角度θAを死角とするビームとが形成されるように分離行列W(fk)を生成する構成である。図11から理解されるように、音SVBが多方向音である場合には、対比例2でも高い雑音抑圧率(NRR=7.9)を実現できる。しかし、音SVBが角度θBの単方向音である場合には、角度θAのみが除外された広い範囲(角度θBだけでなく他の角度を含む範囲)からの到来音が強度u2(m,fk)にて強調される。したがって、音SVBが単方向音である場合に雑音抑圧率が顕著に低下する(NRR=6.5)という問題がある。
対比例1や対比例2とは対照的に、第1実施形態においては、音SVBが単方向音である場合と多方向音である場合とで行列生成部46による分離行列W0(fk)の生成の方法(ビームの態様)が変更されるから、図11に示すように、音SVBが単方向音である場合(NRR=12.1)および多方向音である場合(NRR=7.9)の何れにおいても高い雑音抑圧率を実現することが可能である。
また、音SVBが多方向音であるという状況が初期的な分離行列W0(fk)に反映されるから、音SVAと音SVBとを高精度に分離できる特性(現実の状況にとって適切な特性)に近い分離行列W0(f1)〜W0(fK)を初期値の段階から生成することが可能である。すなわち、分離行列W0(fk)の初期値と学習後の分離行列W(fk)との乖離が低減される。したがって、学習処理に必要な時間が短縮されるという利点や、分離行列W(fk)が学習処理の過程で不適切な特性に収束する可能性が低減されるという利点もある。
さらに、学習処理部24による学習処理の内容が判定部26による判定の結果に応じて変更されるから、音SVAと音SVBとを高精度に分離できる分離行列W(f1)〜W(fK)を生成できるという利点がある。例えば、音SVBが単方向音および多方向音の何れであるかに拘わらず、非ガウス性の音を前提とする数式(11A)を学習処理に適用すると、音SVBが多方向音(ガウス性が優勢な音)である場合に、高精度な分離が可能な分離行列W(fk)の生成が困難となる。同様に、音SVBが単方向音および多方向音の何れであるかに拘わらず、ガウス性の音を前提とする数式(11B)を学習処理に適用すると、音SVBが単方向音(非ガウス性が優勢な音)である場合に、高精度な分離が可能な分離行列W(fk)の生成が困難となる。第1実施形態においては、音SVBが多方向音であるか否かに応じて数式(11A)および数式(11B)が選択的に適用されるから、音SVBが単方向音および多方向音の何れでも、音SVAと音SVBとを高精度に分離できる分離行列W(f1)〜W(fK)を生成することが可能である。
ところで、分離行列W(fk)の生成には、主成分分析や二次統計量ICA(independent component analysis)などの部分空間法(例えば非特許文献2)や、目的音の方向にビームを形成する適応ビームフォーマ(例えば特許文献1)などの公知の技術も利用され得る。しかし、非特許文献1の方法では、第1主成分を強調する係数列(分離行列)と第2主成分を強調する係数列とが直交するという制約のもとで分離行列が特定されるから、各音源の方向(位置)によっては分離行列の高精度な推定が困難となる場合がある。また、特許文献1の方法は、分離行列のうち目的音を強調するための係数列の推定に適応ビームフォーマが利用されるに過ぎないから、目的音の係数列と非目的音の係数列とが直交する必要があるという制約は非特許文献1と同様である。
非特許文献2や特許文献1の技術とは対照的に、第1実施形態においては、音源SAの方向LAにビームを形成(適応ビームフォーマ)したときの死角の方向が音源SBの方向LB(角度θB(f1)〜θB(fK))として特定されるから、係数列の直交という条件は不要である。したがって、係数列の直交という制約のもとで分離行列の初期値を設定する従来の技術と比較すると、音SVAと音SVBとの分離に最適な特性に近い分離行列W0(fk)を生成することが可能である。したがって、学習に必要な時間が短縮されるという利点や、分離行列W(fk)が不適切な特性に収束する可能性が低減されるという利点がある。
<B:第2実施形態>
次に、本発明の第2実施形態について説明する。なお、以下の各形態において作用や機能が第1実施形態と同様である要素については、以上と同じ符号を付して各々の詳細な説明を適宜に省略する。
第2実施形態においては、図6に例示した第1実施形態の係数列生成部42に代えて図12の係数列生成部42Aが採用される。図12に示すように、係数列生成部42Aは、共分散行列生成部62と共分散行列生成部64と減次部66と係数設定部68とを含んで構成される。共分散行列生成部62は、第1実施形態の共分散行列生成部52と同様に、所定個のフレームにわたる観測ベクトルX(m,fk)から共分散行列Rxx(f1)〜Rxx(fK)を生成する。なお、共分散行列Rxx(fk)の算定に使用される複数の観測ベクトルX(m,fk)はゼロ平均とする。すなわち、共分散行列Rxx(fk)の算定に使用される総ての観測ベクトルX(m,fk)を加算(平均)した行列は零行列となる。
図13は、周波数fkの観測ベクトルX(m,fk)を複数のフレームについてプロットした散布図である。図13の横軸は音響信号V1(t)の強度x1(m,fk)に相当し、図13の縦軸は音響信号V2(t)の強度x2(m,fk)に相当する。音源SAからの音SVAが優勢な観測ベクトルX(m,fk)は軸線α1に沿って領域A1内に分布し、音源SBからの音SVBが優勢な観測ベクトルX(m,fk)は軸線α2に沿って領域A2内に分布するという傾向が把握される。軸線α1と軸線α2とは交差する。
いま、音源SAからの音SVAに対応する共分散行列RxxA(fk)と、音源SBからの音SVBに対応する共分散行列RxxB(fk)とを想定する。共分散行列RxxA(fk)は、図13の領域A1に分布する観測ベクトルX(m,fk)の共分散に相当し、共分散行列RxxB(fk)は、図13の領域A2に分布する観測ベクトルX(m,fk)の共分散に相当する。図13からも理解されるように、観測ベクトルX(m,fk)の共分散行列Rxx(fk)は、音源SAからの音SVAが優勢な観測ベクトルX(m,fk)に対応した共分散行列RxxA(fk)と、音源SBからの音SVBが優勢な観測ベクトルX(m,fk)に対応した共分散行列RxxB(fk)との加算として近似される(数式(12))。したがって、音源SBからの音SVBの共分散行列RxxB(fk)は、以下の数式(12A)に示すように、観測ベクトルX(m,fk)の共分散行列Rxx(fk)と音源SAからの音SVAの共分散行列RxxA(fk)との差分として近似される。
Rxx(fk)≒RxxA(fk)+RxxB(fk) ……(12)
RxxB(fk)≒Rxx(kf)−RxxA(fk) ……(12A)
図12の共分散行列生成部64は、音源SAの方向LAが既知の角度θAに確定していることを利用してK個の共分散行列RxxA(f1)〜RxxA(fK)を生成する。本実施形態の共分散行列生成部64は、角度θAに応じた係数列w1(fk)から共分散行列RxxA(fk)を生成する。係数列w1(fk)の算定には公知の技術が任意に採用されるが、第1実施形態の方向ベクトル特定部56が係数列w1(fk)を生成する前述の方法が好適である。係数列w1(fk)を利用した共分散行列RxxA(fk)の生成には例えば以下の方法が好適に採用される。
いま、係数列w1(f)が領域A1の軸線α1に対応することを考慮して、共分散行列RxxA(fk)を以下の数式(13)で定義する。
RxxA(fk)=σ2wA(fk)wA(fk)H ……(13)
数式(13)の係数σ2は、係数列wA(fk)で規定されるベクトルの長さを軸線α1の方向における領域A1の長さに調整するための数値(以下「調整係数」という)である。共分散行列生成部64は、観測ベクトルX(m,fk)の共分散行列Rxx(fk)から数式(13)の共分散行列RxxA(fk)を減算した行列の各要素がゼロ以上になる(すなわち、共分散行列RxxB(fk)が正定値行列である)という数式(14)の条件のもとで係数σ2が最大値となるように数式(13)の共分散行列RxxA(fk)を算定する。
Rxx(fk)−σ2w1(fk)w1(fk)H≧0 ……(14)
音源SAの角度θAが確定している音SVAについては以上のように共分散行列RxxA(fk)を所期の精度で特定することが可能である。他方、音源SBの角度θBは確定していない(未知である)から、共分散行列RxxA(fk)と同様の方法で音源SBからの音SVBの共分散行列RxxB(fk)を高精度に特定することは困難である。そこで、図12の減次部66は、数式(12A)に示したように、共分散行列生成部62が生成した共分散行列Rxx(fk)から、共分散行列生成部64が生成した共分散行列RxxA(fk)を減次(deflation)することで、音源SBの音SVBの共分散行列RxxB(fk)をK個の周波数f1〜fKの各々について算定する。減次部66による減次(減算)は、図14に模式的に図示したように、音源SAからの音SVAが優勢な観測ベクトルX(m,fk)(図13における領域A1内の観測ベクトルX(m,fk))を観測ベクトルX(m,fk)の全体の集合から除去する処理に相当する。
図12の係数設定部68は、減次部66が算定した共分散行列RxxB(fk)から係数列wB(fk)(wB(f1)〜wB(fK))を生成する。係数列wB(fk)は、処理部Pkのフィルタ部34の係数列w2(fk)として当該係数列wB(fk)を適用したときに音源SBからの音SVBのうち周波数fkの成分が強調されるように設定される。図5および図6から理解されるように、共分散行列RxxB(fk)においては、音源SAからの音SVAが優勢な観測ベクトルX(m,fk)の影響が除去されているから、音源SBからの音SVBを適切に分離できる係数列wB(fk)を共分散行列RxxB(f)から高精度に特定することが可能である。共分散行列RxxB(fk)を利用した係数列wB(fk)の生成には公知の技術が任意に採用されるが、例えば以下に例示する解法1および解法2が好適である。
[解法1]
強度x1(m,fk)および強度x2(m,fk)で構成される観測ベクトルX(m,fk)と、係数w21(fk)および係数w22(fk)で構成される係数列wB(fk)とを導入すると、処理部Pkのフィルタ部34の作用に相当する数式(1B)は以下の数式(15)に変形される。
u2(m,fk)=wB(fk)HX(m,fk) ……(15)
所定個のフレームにわたる数式(15)の絶対値の自乗(|wB(fk)HX(m,fk)|2)の平均値を分離信号U2(t)の強度(パワー)P2(fk)として検討する。強度P2(fk)は、数式(9)の導出と同様の理由で以下の数式(16)に変形される。
P2(fk)=E[|wB(fk)HX(m,fk)|2]
=E[wB(fk)HX(m,fk)X(m,fk)HwB(fk)]
=wB(fk)HE[X(m,fk)X(m,fk)H]wB(fk)
=wB(fk)HRxx(fk)wB(fk) ……(16)
数式(16)から理解されるように、数式(17)の演算値(wB(fk)HRxx(fk)wB(fk))が最大化するように係数列wB(fk)を選定すれば、分離信号U2(t)の強度P2(fk)を最大化する(すなわち音源SBからの音SVBを強調する)ことが可能である。すなわち、共分散行列Rxx(fk)の固有ベクトル(第1固有ベクトル)に相当する係数列wB(fk)を算定する固有値問題は、数式(16)の強度P2(fk)を最大化するという最適化問題(主成分分析)と等価であると言える。
そこで、係数設定部68は、以下の数式(17B)の条件のもとで、数式(17A)に示すように、係数列wB(fk)の転置(エルミート転置)wB(fk)Hと減次部66が算定した共分散行列RxxB(fk)と係数列wB(fk)との積が最大となるように係数列wB(fk)を選定する。数式(17A)の記号maxは括弧内の数値の最大化を意味する。
max{wB(fk)HRxxB(fk)wB(fk)} ……(17A)
wB(fk)HwB(fk)=1 ……(17B)
[解法2]
共分散行列RxxB(fk)が共分散行列Rxx(fk)と共分散行列RxxA(fk)の差分に近似されるという数式(12A)の関係を考慮すると、前述の数式(17A)は以下の数式(17C)に変形される。
max{wB(fk)H(Rxx(fk)−RxxA(fk))wB(fk)}
=max{wB(fk)HRxx(fk)wB(fk)−wB(fk)HRxxA(fk)wB(fk)} ……(17C)
共分散行列RxxA(fk)は正定値行列であるから、数式(17C)の第2項(wB(fk)HRxxA(fk)wB(fk))は正数となる。したがって、数式(17C)は、第2項(wB(fk)HRxxA(fk)wB(fk))に対する第1項(wB(fk)HRxx(fk)wB(fk))の相対比を最大化する(すなわち、第1項を最大化しつつ第2項を最小化する)最適化問題として把握される。すなわち、数式(17C)は以下の数式(17D)に置換される。
max{wB(fk)HRxx(fk)wB(fk)/wB(fk)HRxxA(fk)wB(fk)} ……(17D)
ラグランジュの未定乗数法を利用すると、数式(17D)の最適化問題は、以下の数式(17E)の関数J(wB(fk))を最小化する問題に置換される。数式(17E)の記号λはラグランジュの未定乗数である。
J(wB(fk))=wB(fk)HRxx(fk)wB(fk)−λwB(fk)HRxxA(fk)wB(fk) ……(17E)
関数J(wB(fk))を係数列wB(fk)で微分した結果がゼロとなる(すなわち関数J(wB(fk))の関数値が最小となる)。したがって、係数設定部68は、以下の数式(17F)における一般化固有値問題の固有ベクトルとして係数列wB(fk)を算定する。以上が係数列w2(f)を特定する具体的な方法である。
Rxx(fk)wB(fk)=λRxxA(fk)wB(fk) ……(17F)
角度特定部44の第1処理部441(図5参照)は、図12の係数列生成部42Aが生成した係数列wB(f1)〜wB(fK)から角度θB(f1)〜θB(fK)を算定する。係数wB(fk)を利用した角度θB(fk)の特定には公知の技術(例えば非特許文献1に開示された方法)が任意に採用される。第2処理部442が角度θB(f1)〜θB(fK)から推定角度θBeを算定する方法は第1実施形態と同様である。
推定角度θBeを利用した判定部26の判定や、判定部26による判定の結果に応じた行列生成部46や学習処理部24の動作は第1実施形態と同様である。したがって、第2実施形態においても第1実施形態と同様の作用および効果が実現される。また、共分散行列Rxx(fk)から共分散行列RxxA(fk)を減次(減算)することで未知の音源SBからの音SVBの共分散行列RxxB(fk)が算定されるから、係数列w1(fk)と係数列w2(fk)(wB(fk))とが直交するという条件は不要である。したがって、第1実施形態と同様に、適切な分離行列W0(f1)〜W0(fK)(ひいては分離行列W(f1)〜W(fK))を生成できるという利点がある。
<C:第3実施形態>
図15は、本発明の第3実施形態に係る信号処理装置100Aのブロック図である。図15に示すように、信号処理装置100Aは、第1実施形態の信号処理装置100に雑音抑圧部72を追加した構成である。音SVA(目的音)を強調した強度u1(m,f1)〜u1(m,fK)の成分c1と、音SVB(雑音)を強調した強度u2(m,f1)〜u2(m,fK)の成分c2とが、信号処理部14から雑音抑圧部72にフレーム毎に順次に供給される。
信号処理部14(フィルタ部32)による音源分離で音SVBを完全に除去することは困難であるから、信号処理部14による処理後の成分c1は、目的音成分(音SVA)と音源分離後に残留した雑音成分(音SVB)とを含む。雑音抑圧部72は、雑音成分の推定値(以下「推定雑音成分」という)を成分c1から抑圧する雑音抑圧処理で目的音成分(推定値)を生成する。雑音抑圧処理には、成分c1(強度u1(m,f1)〜u1(m,fK))のパワースペクトル|C1(m,fk)|2から推定雑音成分のパワースペクトル(以下「推定雑音スペクトル」という)μ(m,fk)を減算するスペクトル減算(後掲の数式(20A))が採用される。
推定雑音スペクトルμ(m,fk)は、以下の数式(18)で定義されるように、強度u2(m,f1)〜u2(m,fK)で特定される成分c2の周波数スペクトルC2(m,fk)(強度u2(m,fk))のパワー|C2(m,fk)|2を所定個のフレームについて平均(加算)したスペクトルである。
μ(m,fk)=E[|C2(m,fk)|2] ……(18)
雑音抑圧処理で生成される目的音成分の周波数スペクトルC3(m,fk)は、パワースペクトルΠ(m,fk)と周波数スペクトルC1(m,fk)の位相Ψ(m,fk)とを利用して以下の数式(19)で定義される。
C3(m,fk)=Π(m,fk)1/2・ejΨ(m,fk) ……(19)
数式(19)のパワースペクトルΠ(m,fk)は、減算係数αとフロアリング係数βとを含む以下の数式(20A)および数式(20B)で定義される。
すなわち、成分c1のパワースペクトル|C1(m,fk)|2が閾値THを上回る場合、雑音抑圧部72は、数式(20A)に示すように、推定雑音スペクトルμ(m,fk)と減算係数αとの乗算値を成分c1のパワースペクトル|C1(m,fk)|2から減算することでパワースペクトルΠ(m,fk)を算定する。閾値THは、例えば、推定雑音スペクトルμ(m,fk)と減算係数αとの乗算値α・μ(m,fk)に設定される。他方、成分c1のパワースペクトル|C1(m,fk)|2が閾値THを下回る場合、雑音抑圧部72は、数式(20B)に示すように、推定雑音スペクトルμ(m,fk)とフロアリング係数βとの乗算値をパワースペクトルΠ(m,fk)として算定する。そして、雑音抑圧部72は、数式(19)の演算で目的音成分の周波数スペクトルC3(m,fk)を算定する。信号合成部16は、周波数スペクトルC3(m,fk)から時間領域の音響信号U3(t)(すなわち、雑音が抑圧された信号)を生成する。
ところで、図2の部分(A)のように音SVBが単方向音である場合には音SVAおよび音SVBの各方向に死角を形成することで音SVAと音SVBとを高精度に分離することが可能である。したがって、成分c1に残留する雑音成分(音SVB)は少ない。他方、図2の部分(B)のように音SVBが多方向音である場合、音SVAを強調するビームBb1の方向LAからも音SVBが到来するから、音SVBが単方向音である場合と比較すると音SVAと音SVBとの分離の精度は低い。すなわち、図2の部分(A)の場合と比較して多くの雑音成分(音SVB)が成分c1に残留する。
以上の傾向を考慮して、雑音抑圧部72は、判定部26による判定の結果に応じて減算係数αおよびフロアリング係数βを可変に制御する。具体的には、音SVBが単方向音であると判定部26が判定した場合(すなわち、成分c1に残留する雑音成分が少ない場合)、雑音抑圧部72は、減算係数αを小さい数値に設定するとともにフロアリング係数βを大きい数値に設定することで雑音抑圧処理を抑制する。他方、音SVBが多方向音であると判定部26が判定した場合(すなわち、多くの雑音成分が成分c1に残留する場合)、雑音抑圧部72は、減算係数αを大きい数値に設定するとともにフロアリング係数βを小さい数値に設定することで雑音抑圧処理を強化する。
以上の形態においては、雑音抑圧処理の内容(減算係数αやフロアリング係数β)が判定部26による判定の結果に応じて変更されるから、音SVBが単方向音および多方向音の何れに該当する場合でも、音SVB(雑音)を適切に抑圧した音響信号U3(t)を生成することが可能である。具体的には、音SVBが単方向音である場合の過剰な雑音抑圧や、音SVBが多方向音である場合の雑音抑圧の不足が防止されるという利点がある。なお、第2実施形態にも雑音抑圧部72が追加され得る。
なお、雑音抑圧処理に適用される係数(α,β)を判定部26による判定の結果に応じて変化させる形態(すなわち、ひとつの雑音抑圧処理の程度を変化させる形態)を以上では例示したが、音SVBが単方向音であると判定された場合と多方向音であると判定された場合とで雑音抑圧部72が別種の雑音抑圧処理を実行する構成も好適である。例えば、成分c1の目的音成分を強調するスペクトルゲインを音源分離後の強度u1(m,f1)〜u1(m,fK)や強度u2(m,f1)〜u2(m,fK)から生成して成分c1の周波数スペクトルC1(m,fk)(パワースペクトル|C1(m,fk)|2)に乗算する乗算型の雑音抑圧処理(例えば、MMSE-STSA法やMAP法)と以上に例示した減算型の雑音抑圧処理とを、判定部26による判定の結果に応じて選択する構成も好適である。例えば、音SVBが単方向音であると判定部26が判定した場合には雑音抑圧部72が減算型の雑音抑圧処理を実行し、音SVBが多方向音であると判定部26が判定した場合には雑音抑圧部72が乗算型の雑音抑圧処理を実行する。なお、雑音抑圧部72による選択の候補となる雑音抑圧処理の内容は以上の例示に限定されない。以上の例示から理解されるように、雑音抑圧部72は、判定部26による判定の結果に応じて雑音抑圧処理の内容(処理に適用される係数や処理の種類)を異ならせる要素として包括される。
<D:第4実施形態>
本発明の第4実施形態は、第1実施形態の分離行列生成部18を図16の分離行列生成部18Aに置換した形態である。分離行列生成部18Aは、第1実施形態の分離行列生成部18の判定部26を判定部26Aに置換するとともに指標算定部74を追加した構成である。
指標算定部74は、角度特定部44(第1処理部441)が周波数f1〜fKについて特定したK個の角度θB(f1)〜θB(fK)から指標値vを算定する。指標値vは、角度θB(f1)〜θB(fK)の散らばりの尺度となる数値(統計量)である。例えば、角度θB(f1)〜θB(fK)の分散や標準偏差が指標値vとして好適である。角度θB(f1)〜θB(fK)の散らばりの度合が大きいほど指標値vが大きい数値となる場合を以下では想定する。
音SVBが単方向音である場合、図8のように角度θB(f1)〜θB(fK)は実際の角度θBの近傍に偏在する(散らばりの度合は小さい)。他方、音SVBが多方向音である場合、図9のように角度θB(f1)〜θB(fK)は範囲Aの全域にわたって略均等に分布する(散らばりの度合は大きい)。したがって、音SVBが単方向音である場合の指標値vは、音SVBが多方向音である場合の指標値vよりも小さいという傾向がある。
以上の傾向を考慮して、図16の判定部26Aは、指標算定部74が算定した指標値vの大小に応じて、音SVBが単方向音および多方向音の何れに該当するかを判定する。具体的には、判定部26Aは、指標値vが所定の閾値vTHを下回る場合(角度θB(f1)〜θB(fK)の散らばりの度合が小さい場合)には音SVBが単方向音であると判定し、指標値vが所定の閾値vTHを上回る場合には音SVBが多方向音であると判定する。判定部26Aによる判定の結果に応じて行列生成部46や学習処理部24の動作が変更される点は第1実施形態と同様である。
第4実施形態においても第1実施形態と同様の効果が実現される。なお、角度θB(f1)〜θB(fK)の指標値vを判定部26Aの判定に利用する第4実施形態の構成は、第2実施形態や第3実施形態にも同様に適用される。また、指標値vの大小と角度θB(f1)〜θB(fK)の散らばりの度合との相関は任意である。例えば、角度θB(f1)〜θB(fK)の散らばりが大きいほど指標値vが小さい数値となるように指標値vを定義した構成も採用される。
<E:変形例>
以上に例示した各形態は様々に変形され得る。具体的な変形の態様を以下に例示する。なお、以下の例示から任意に選択された2以上の態様は適宜に併合され得る。
(1)変形例1
係数列生成部42が係数列wA(fk)を生成する方法や係数列生成部42Aが係数列wB(fk)を生成する方法は任意である。また、角度特定部44が角度θB(f1)〜θB(fK)および推定角度θBeを特定する方法も任意である。さらに、行列生成部46が生成する分離行列W0(f1)〜W0(fK)で形成されるビームの種類は適宜に変更される。例えば、音源SBからの音SVBが単方向音である場合(図2の部分(A))、行列生成部46は、既知の角度θAに周波数fkのビームが指向するように係数列w1(fk)を生成し、推定角度θBeに周波数fkのビームが指向するように係数列w2(fk)を生成することも可能である。さらに、学習処理部24による学習処理の内容は、数式(10)と数式(11A)または数式(11B)とを利用した以上の例示から適宜に変更される。また、行列生成部46および学習処理部24の一方のみの処理を判定部26や判定部26Aによる判定の結果に応じて変更する構成も採用される。
(2)変形例2
周波数分析部12や信号合成部16は以上の各形態の信号処理装置100から省略され得る。例えば、記憶装置に格納された観測ベクトルX(m,f1)〜X(m,fK)の時系列から分離行列生成部18が分離行列W(f1)〜W(fK)を生成する構成では周波数分析部12が省略される。また、信号処理部14が生成した強度u1(m,f1)〜u1(m,fK)と強度u2(m,f1)〜u2(m,fK)とを信号処理装置100とは別体の装置の信号合成部16に提供することで分離信号U1(t)や分離信号U2(t)を生成する場合には信号処理装置100から信号合成部16が省略される。
学習処理部24は以上の各形態の信号処理装置100から省略され得る。例えば、初期値決定部22(行列生成部46)が生成した分離行列W0(f1)〜W0(fK)を分離信号U1(t)および分離信号U2(t)の生成(音源分離)に適用する構成や、初期値決定部22が生成した分離行列W0(f1)〜W0(fK)を信号処理装置100とは別体の装置の学習処理部24に提供することで分離行列W(f1)〜W(fK)を生成する構成が採用される。また、信号処理部14は以上の各形態の信号処理装置100から省略され得る。例えば、初期値決定部22が生成した分離行列W0(f1)〜W0(fK)や学習処理部24が生成した分離行列W(f1)〜W(fK)を信号処理装置100とは別体の装置の信号処理部14に提供することで音源分離に適用する構成も採用される。また、判定部26や判定部26Aによる判定の結果を信号処理装置100とは別体の装置に提供して分離行列W0(f1)〜W0(fK)や分離行列W(f1)〜W(fK)の生成に利用する構成においては、行列生成部46や学習処理部24も信号処理装置100から省略され得る。
以上の説明から理解されるように、本発明の好適な態様は、音SVBが単方向音および多方向音の何れに該当するかを推定角度θBeまたは角度θB(f1)〜θB(fK)に応じて判定する要素(判定部26または判定部26A)を含む信号処理装置100として実現され、他の要素の有無や機能の如何は不問である。
(3)変形例3
第1実施形態における方向ベクトル特定部56が方向ベクトルdA(θA(fk))を特定する方法は任意である。具体的には、第1実施形態に例示したように既知の角度θAに応じた係数列w1(f1)〜w1(fK)から角度θA(f1)〜θA(fK)を算定したうえで方向ベクトルdA(θA(f1))〜dA(θA(fK))を特定する構成において、係数列w1(f1)〜w1(fK)を生成する方法は適宜に変更される。例えば、第1実施形態においては、音源SAから採取したインパルス応答が強調されるように遅延加算型ビームフォーマ(フィルタ部32)の係数列w1(fk)を決定したが、遅延加算型ビームフォーマに代えて、死角制御型ビームフォーマや適応ビームフォーマを利用して係数列w1(fk)を決定する構成も採用される。また、MUSIC(multiple signal classification)法や最小分散法で推定した音源SAの角度θAから各種のビームフォーマ(例えば適応型ビームフォーマ)を利用して係数列w1(fk)を特定する方法、あるいは、因子分析で特定した因子ベクトルや正準相関分析で特定した正準ベクトルを係数列w1(f)として特定する方法も採用される。また、音源SAの方向LA(角度θA)が既知であることは必須ではない。例えば、音源SAの方向LAを所定の方法で推定したうえで方向ベクトルdA(θA(fk))を特定する構成も採用される。
(4)変形例4
以上の各形態においては音源S(SA,SB)が2個である場合を例示したが、3個以上の音源Sからの音を分離する場合にも本発明は当然に適用される。ただし、音源分離の対象となる音源の個数以上の収音機器が必要である。