以下に、本願に係る信号処理装置、信号処理方法および信号処理プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
[本発明における音源定位について]
音源信号は通常、時間周波数平面上の疎な点でのみ大きいパワーを持つというスパース性を持つため、複数の音源信号が同時に鳴っている状況でも、各時間周波数点では観測信号は音源信号のうち高々1つしか含まないとみなすことができる。そのため、例えば、M個(M>1)の異なる位置で取得された観測信号の時間周波数変換からなるM次元縦ベクトルである観測信号ベクトルy(t,f)(tはフレームの番号(t=1〜T)、fは周波数ビンの番号(f=1〜F))は、当該時間周波数点(t,f)において観測信号に含まれる音源信号の音源位置によって定まる固有の方向を向いているとみなすことができる。正確には、雑音や残響の影響により、観測信号ベクトルy(t,f)の方向は、上記の音源位置によって定まる固有の方向を中心として多少の広がりを持って分布する。観測信号の上記の性質を利用すれば、観測信号ベクトルy(t,f)の方向に基づいて、音源位置を推定することができる。
本発明の実施形態では、音源定位を、複数(L個)の音源位置候補のうち、実際に音を発しているものを特定する問題、すなわち実際に音を発している音源位置候補(の番号)の集合を推定する問題として定式化する。この音源位置候補は、例えば、音源定位を行う部屋の中の複数の場所(例えば、部屋の中を格子状に細かく分割したときの各格子点に対応する場所)を音源位置候補とすることができる。また、音源位置候補は、音源が存在し得る領域が既知の場合には、その領域内の複数の場所を音源位置候補とすることができる。例えば、テーブルを囲んで座った複数人の会話の収録音に対し音源定位を行う場合、音源である話者はテーブルの外周付近にのみ存在しうるとみなせるから、テーブルの外周付近の複数の場所を音源位置候補とすることができる(図1参照)。そこで、観測信号の上記のような性質に基づき、本発明の実施形態では、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルz(t,f)の、音源位置を表す状態が複数(L個)の音源位置候補のそれぞれに対応する状態を取る条件下での条件付き確率分布のモデルパラメータを記憶しておき、当該モデルパラメータを事前情報として音源位置の推定に利用する。上述のように、観測信号ベクトルy(t,f)の方向は音源位置によって定まるとみなすことができるから、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルz(t,f)は音源位置によって定まる固有の確率分布を持つ。前記条件付き確率分布は、音源位置を表す状態が複数(L個)の音源位置候補のそれぞれに対応する状態を取る条件下での、特徴ベクトルz(t,f)の確率分布を表す。
観測信号ベクトルy(t,f)の方向とは、数学的には、観測信号ベクトルy(t,f)の全てのマイクロホンに対する要素比y(1,t,f):y(2,t,f):・・・:y(M,t,f)を指す(言い換えれば、複素数体上のM次元ベクトル空間における互いにスカラ倍の関係にあるベクトルを同一視することにより得られる空間である、複素数体上のM−1次元射影空間の元を指す)。ここで、y(m,t,f)は、ベクトルy(t,f)の第m要素を表す。したがって、特徴ベクトルz(t,f)が観測信号ベクトルy(t,f)の方向の情報を含んだベクトルであるとは、特徴ベクトルz(t,f)が与えられたときに観測信号ベクトルy(t,f)の全てのマイクロホンに対する要素比y(1,t,f):y(2,t,f):・・・:y(M,t,f)が一意に定まることを意味する。前記観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルとしては、例えば観測信号ベクトルに平行な単位ベクトルを用いることができる。また、観測信号ベクトルy(t,f)自体も、当然観測信号ベクトルy(t,f)の方向の情報を含んでいるから、これを観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルとして用いることもできる。観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルは、音源位置に関する情報として、位相差と振幅比の両方の情報を含んでいる。これは、振幅比を用いず位相差のみを用いる従来の特徴量(例えば、Time Difference of Arrival(TDOA)やDirection Of Arrival(DOA))と大きく異なる。そのため、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルは、振幅比を用いず位相差のみを用いる従来の特徴量と比較して、より多くの音源位置に関する情報を用いており、より正確な音源定位が可能である。また、限られたデータ長から音源位置に関する情報を最大限に抽出することができるため、本発明の実施形態において、観測信号長が短い場合であっても音源定位を正確に行うことができるという特長に貢献している。観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルを用いることで、位相差のみを用いる場合と比較して、より効果的な信号処理(例えば、音源分離や雑音除去)が可能であることが示されている(参考文献「H. Sawada, S. Araki, and S. Makino, “Underdetermined Convolutive Blind Source Separation via Frequency Bin-Wise Clustering and Permutation Alignment,” IEEE Transactions on Audio, Speech, and Language Processing, vol. 19, no. 3, pp. 516-527, Mar. 2011. 」)。なお、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルが、音源位置に関する情報として、位相差と振幅比の両方の情報を含んでいるということは、下記のように説明できる。上述のように、観測信号ベクトルy(t,f)の方向とは観測信号ベクトルy(t,f)の全てのマイクロホンに対する要素比y(1,t,f):y(2,t,f):・・・:y(M,t,f)を指すが、これは、全てのマイクロホン対(m,n)に対する、2つのマイクロホン(m,n)に対する要素比y(m,t,f):y(n,t,f)と情報として等価である。さらに、複素数の比が位相差および絶対値の比(振幅比)と情報として等価であることに注意すると、全てのマイクロホン対(m,n)に対する、2つのマイクロホン(m,n)に対する要素比y(m,t,f):y(n,t,f)は、全てのマイクロホン対(m,n)に対する、2つのマイクロホン(m,n)に対する位相差および振幅比と情報として等価である。したがって、観測信号ベクトルy(t,f)の方向は、全てのマイクロホン対(m,n)に対する、2つのマイクロホン(m,n)に対する位相差および振幅比と情報として等価である。すなわち、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルは、音源位置に関する情報として、位相差と振幅比の両方の情報を含んでいる。
図1を用いて、テーブルを囲んで座った複数人の会話の収録音に対し音源定位を行う場合の例について説明する。図1は、本発明における音源定位について説明するための図である。まず、図1に示すように、信号処理装置は、テーブル100の周りの領域を等間隔に細かく分割したL点を音源位置候補110とすることができる。図1の例では、L=8である。また、テーブル100には、3つのマイクロホン120が置かれている。この例では、音源はテーブルの外周にのみ存在しうるとみなせ、また座高は個人に依らずほぼ一定とみなしうるから、音源位置はマイクロホン120から見た方向(方位角)によって指定することができる。
信号処理装置は、マイクロホン120によって観測された観測信号を基に、観測信号ベクトルy(t,f)および観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルz(t,f)を計算する。そして、信号処理装置は、条件付き確率分布のモデルパラメータに基づき、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での特徴ベクトルz(t,f)の条件付き確率分布の荷重和である混合モデルを、特徴ベクトルz(t,f)に当てはめることにより、上記荷重和における荷重である事前確率分布を計算する。このとき、計算された事前確率分布は、音源位置で大きい値を取るため、この事前確率分布に基づいて音源位置を推定することができる。このとき、例えば、事前確率分布が、l=2である音源位置候補110で最も大きい値を取っている場合、音源位置は、矢印130が示す方向であるとみなすことができる。
[第1の実施形態]
第1の実施形態に係る信号処理装置は、音源数Nが未知の条件下で音源位置の集合を推定する。ここで、音源数NはN=0であってもよい(音源位置の集合が空集合の場合に対応)。本実施形態では、信号処理装置は、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルz(t,f)として観測信号ベクトルy(t,f)の方向ベクトルを用い、音源位置を表す状態として複数の音源位置候補のそれぞれに対応する状態を用い、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での特徴ベクトルz(t,f)の条件付き確率分布として複素ワトソン分布を用い、目的信号が球面波として伝播するという仮定に基づいて複素ワトソン分布のモデルパラメータを計算して記憶し、事前確率分布として時不変の事前確率分布を用いる。
図2を用いて、第1の実施形態に係る信号処理装置の構成について説明する。図2は、第1の実施形態に係る信号処理装置の構成の一例を示す図である。図2に示すように、信号処理装置1は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50を有する。
時間周波数分析部10は、複数の異なる位置で取得された収録音であるM個のマイクロホンによる観測信号y(m,τ)(mはマイクロホンの番号(m=1〜M)、τは時刻の番号)に時間周波数分析を適用して観測信号の時間周波数変換y(m,t,f)(tはフレームの番号(t=1〜T)、fは周波数ビンの番号(f=1〜F))を計算し、y(m,t,f)(m=1〜M)からなるM次元縦ベクトルである観測信号ベクトルy(t,f)を作成する。前記複数の異なる位置で取得された収録音は、複数の異なる位置で取得された後、何らかの前処理(例えば残響除去処理、空間的白色化処理など)が施された収録音でもよい(参考文献「T. Yoshioka, T. Nakatani, M. Miyoshi, and H. G. Okuno, “Blind separation and dereverberation of speech mixtures by joint optimization,” IEEE Trans. Audio, Speech, Language Process., vol. 19, no. 1, pp. 69-84, 2011.」、参考文献「H. Sawada, S. Araki, and S. Makino, “Underdetermined Convolutive Blind Source Separation via Frequency Bin-Wise Clustering and Permutation Alignment,” IEEE Transactions on Audio, Speech, and Language Processing, vol. 19, no. 3, pp. 516-527, Mar. 2011. 」)。
特徴ベクトル計算部20は、時間周波数分析部10から観測信号ベクトルy(t,f)を受け取って、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルz(t,f)を式(1)により計算する。
ここで、||・||は、ユークリッドノルムであり、矢印←は左辺に右辺を代入することを表す。本実施形態におけるモデル化では、観測信号ベクトルy(t,f)はN個(Nは未知でもよく、またN=0でもよい。)の目的信号からなり、背景雑音は含まないと仮定する。また、本発明の実施形態におけるモデル化では、各目的信号は時間周波数平面の疎な点でのみ大きいパワーを持つというスパース性を持つと仮定する。これらの仮定に基づき、本実施形態では、観測信号ベクトルy(t,f)は各時間周波数点において1つの目的信号のみを含むと仮定する。すなわち、観測信号ベクトルy(t,f)は式(2)によりモデル化される。
ここで、s(n,t,f)はn番目の目的信号の時間周波数変換であり、nは目的信号の番号(n=1〜N)である。また、ベクトルh(n,f)はn番目の目的信号の空間伝達特性を表すステアリングベクトルであり、n番目の目的信号の音源位置によって固有の値を取る。式(2)は、観測信号ベクトルy(t,f)がn番目(nは時間周波数点(t,f)によって変化する)の目的信号のみからなることを表している。
観測信号ベクトルy(t,f)のM次元複素ベクトル空間における方向(すなわち、M次元複素ベクトル空間において観測信号ベクトルy(t,f)が張る1次元部分空間)は、当該時間周波数点(t,f)において観測信号に含まれる音源信号の音源位置によって定まる固有の方向(具体的にはステアリングベクトルh(n,f)の方向)となる。より正確には、雑音や残響の影響で、観測信号ベクトルy(t,f)の方向は、上記の音源位置によって定まる固有の方向を中心として多少の広がりを持って分布する。本実施形態では、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルとして、観測信号ベクトルy(t,f)の方向ベクトルである式(1)の特徴ベクトルを用いる。
本実施形態では、音源位置を表す状態が複数(L個)の音源位置候補のそれぞれに対応する状態を取る条件下での特徴ベクトルz(t,f)の条件付き確率分布を複素ワトソン分布によりモデル化する(他にも複素ビンガム分布、複素角度中心ガウス分布(complex angular central Gaussian distribution)、複素ガウス分布、混合複素ワトソン分布、混合複素ビンガム分布、混合複素角度中心ガウス分布、混合複素ガウス分布等の確率分布によりモデル化することができる)。すなわち、特徴ベクトルz(t,f)は式(3)によりモデル化される。
ここで、g(t,f)は時間周波数点(t,f)における音源位置を表す状態である。本実施形態では、音源位置を表す状態は、複数(L個)の音源位置候補のそれぞれに対応する状態1〜Lのいずれかの値を取るとする。ここで、状態lは、時間周波数点(t,f)において観測信号ベクトルy(t,f)に含まれる音源信号の音源位置がl番目の音源位置候補である状態と定義する。p(z(t,f)|g(t,f)=l)はg(t,f)=lの条件下での特徴ベクトルz(t,f)の条件付き確率分布である。ベクトルa(l,f)はl番目の音源位置候補に対する特徴ベクトルz(t,f)の平均方向を定めるモデルパラメータであり、平均方向ベクトルと呼ばれ、式(4)を満たす。κ(l,f)はl番目の音源位置候補に対する特徴ベクトルz(t,f)の確率分布の平均方向ベクトルa(l,f)のまわりへの集中度を定めるモデルパラメータであり、集中パラメータと呼ばれる。
W(z;a,κ)は平均方向ベクトルがa、集中パラメータがκであるベクトルzの複素ワトソン分布であり、式(5)で表される。
このとき、Kは式(6)の無限級数により定義されるKummer関数(第1種合流型超幾何関数)であり、上付きのHはエルミート転置である。ただし、i=0のときξ(ξ+1)・・・(ξ+i−1)/[η(η+1)・・・(η+i−1)]=1と定める。
パラメータ記憶部30は、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での、特徴ベクトルの条件付き確率分布のモデルパラメータを記憶する。具体的に、パラメータ記憶部30は、式(3)の条件付き確率分布の音源位置をモデル化するモデルパラメータである平均方向ベクトルa(l,f)(l=1〜L、f=1〜F)および集中パラメータκ(l,f)(l=1〜L、f=1〜F)を記憶する。本実施形態では、これらのモデルパラメータを以下のように計算する。すなわち、目的信号が球面波として伝播するという仮定に基づき、平均方向ベクトルa(l,f)の第m要素を式(7)により計算する。
ここで、ベクトルq(m)はm番目のマイクロホンの直交座標である3次元実ベクトル(本実施形態では既知と仮定)、ベクトルr(l)はl番目の音源位置候補の直交座標である3次元実ベクトル(既知)、jは虚数単位、ω(f)はf番目の周波数ビンの角周波数、cは音速であり、左辺における下付きのmは第m要素であることを表し、右辺の分母の平方根の項は、平均方向ベクトルa(l,f)が式(4)の制約条件を満たすようにするための正規化係数である。
一方、集中パラメータκ(l,f)は、例えば周波数(ω(f)/2π)のマイナス2乗に比例すると仮定して、式(8)により計算する。式(8)は、観測信号ベクトルy(t,f)の方向が、低い周波数ほど小さい分散(大きい集中度)を持つという性質に基づいている。このように、前記性質を適切に考慮することにより、事前確率分布の推定、及びそれに基づく音源定位を正確に行うことができる。比例定数βはどのように定めてもよいが、例えばβ=6.4×10^7Hz^2と定めればよい。
次に、本実施形態における特徴ベクトルz(t,f)の周辺確率分布のモデル化について説明する。本実施形態では、特徴ベクトルz(t,f)の周辺確率分布を、音源位置を表す状態g(t,f)の事前確率分布P(g(t,f)=l)を荷重とする条件付き確率分布p(z(t,f)|g(t,f)=l)の荷重和である、式(9)の混合モデルによりモデル化する。
条件付き確率分布p(z(t,f)|g(t,f)=l)は音源位置を表す状態が既知の場合の特徴ベクトルz(t,f)の確率分布であるのに対し、式(9)の周辺確率分布p(z(t,f))は音源位置を表す状態が未知の場合の特徴ベクトルz(t,f)の確率分布である。事前確率分布P(g(t,f)=l)は、「時変」の場合と「時不変」の場合がある。前者の場合、事前確率分布P(g(t,f)=l)は時間区間(例えばフレーム)ごとに異なる値を取り得る。後者の場合、事前確率分布P(g(t,f)=l)は時間区間(例えばフレーム)によらず同一の値を取る。
事前確率分布P(g(t,f)=l)が時不変の場合、音源位置で大きい値を取る事前確率分布を全ての時間区間(例えばフレーム)を用いて推定することから、時変の場合よりも長いデータを推定に用いることができるため、音源の移動や発話交替がない状況では音源位置をより正確に推定できるという効果がある。その反面、音源位置推定を時間区間(例えばフレーム)ごとに行うことができず、またそのため、時変の場合の方が、音源の移動や発話交替がある動的な状況でのトラッキングやダイアリゼーション等には適している。
一方、事前確率分布P(g(t,f)=l)が時変の場合、音源位置で大きい値を取る関数である事前確率分布を時間区間(例えばフレーム)ごとに推定するため、音源位置推定を時間区間(例えばフレーム)ごとに行うことができるという効果に加え、時間区間(例えばフレーム)ごとの音源位置推定に基づいてトラッキングやダイアリゼーションを行うことができるという効果がある。例えば、複数人会話の音声認識では、雑音を音声とみなして誤認識することを防ぐために、「いつ誰が話したか」を推定するダイアリゼーションを行うことで音声認識を適用すべき区間を切り出す必要があるが、「時変」の場合はこのような場合にも応用可能である。
本実施形態では、事前確率分布P(g(t,f)=l)は時不変と仮定する。本実施形態では更に、事前確率分布P(g(t,f)=l)は周波数にも依らないと仮定する。すなわち、本実施形態では、事前確率分布P(g(t,f)=l)がフレームおよび周波数ビンに依存しないと仮定し、α(l)で表す。ただし、α(l)は制約条件α(1)+…+α(L)=1を満たす。周波数に依らない事前確率分布を用いることで、全ての周波数において観測された特徴ベクトルz(t,f)の情報を用いて事前確率分布を推定することができるため、周波数に依存する事前確率分布を用いる場合と比べて、事前確率分布の推定により多くの情報を利用することができ、より正確な事前確率分布の推定およびそれに基づく音源定位が実現できるとともに、観測信号長が短い場合でもより正確な事前確率分布の推定およびそれに基づく音源定位が実現できる。
事前確率分布計算部40は、音源位置を表す状態の事前確率分布α(l)(l=1〜L)を荷重とする、パラメータ記憶部30に記憶されたモデルパラメータである平均方向ベクトルa(l,f)と集中パラメータκ(l,f)に基づく、音源位置を表す状態が既知の条件下での、特徴ベクトルの条件付き確率分布の荷重和である混合モデルを、特徴ベクトル計算部20によって計算された特徴ベクトルに当てはめ、事前確率分布α(l)(l=1〜L)を計算する。
式(9)の混合モデルを特徴ベクトルz(t,f)に当てはめる方法には様々な方法があり、例えば式(9)に関する尤度を目的関数とし(他にも事後確率等を目的関数とすることができる。)、これを勾配法により事前確率分布α(l)(l=1〜L)に関して最大化する(他にもExpectation−Maximization(EM)アルゴリズム等により最大化できる)。
勾配法に基づく方法は、EMアルゴリズムに基づく方法と比べて、計算量の面で有利である。EMアルゴリズムに基づく方法では、反復ごとに、事前確率分布α(l)(l=1〜L)に加えて、時間周波数点ごとの各音源位置候補の寄与率を計算する必要がある。これに対し、勾配法では、反復ごとに事前確率分布α(l)(l=1〜L)のみを計算すれば良いため、EMアルゴリズムに比べて計算量を大幅に削減することができる。事前確率分布計算部40における処理は、例えば下記の通りである。
まず、α(l)←1/L(l=1〜L)によりα(l)を初期化する。次に、下記の式(10)および(11)によるα(l)(l=1〜L)の処理を、交互に所定回数(例えば10回)反復する。
そして、α(l)(l=1〜L)を出力する。ただし、ベクトルαはα(l)(l=1〜L)からなるL次元縦ベクトル、ベクトルw(t,f)はW(z(t,f);a(l,f),κ(l,f))(l=1〜L)からなるL次元縦ベクトル、上付きのTは転置、λは所定の正の定数(例えばλ=1)である。
ここで、式(10)(11)の導出について説明する。目的関数である尤度は、z(t,f)(t=1〜T,f=1〜F)が観測される確率であり、式(12)で表される。
式(12)の最大化は、自然対数を取った式(13)の最大化と等価である。
ここでlnは自然対数を表し、=の上の△は定義であることを表す。式(13)の勾配を取ると、式(14)を得、これより式(10)が従う。一方、式(11)はα(l)が制約条件α(1)+…+α(L)=1を満たすようにするための処理である。なお、式(13)において、荷重を用いずに和を取るのではなく、信頼度に基づく荷重を用いて荷重和を取るように変更した目的関数を用いてもよい。これにより、信頼度の高い時間周波数点における特徴ベクトルにより大きい重みを与えることができ、事前確率分布推定およびそれに基づく音源定位の精度を向上させることができる。例えば、観測信号ベクトルy(t,f)のノルムが小さい時間周波数点が雑音に対応し、前記ノルムが大きい時間周波数点が目的信号に対応するとの仮定に基づき、前記ノルムを信頼度に基づく荷重として用いることができる。
音源位置計算部50は、事前確率分布計算部40から事前確率分布α(l)(l=1〜L)を受け取って、事前確率分布α(l)(l=1〜L)のピーク位置の集合Jを計算し、ピーク位置の集合Jに基づいて音源位置の集合Gを計算し出力する。
ピーク位置の集合Jは例えば次のように計算できる。各番号l=1〜Lに対し、l番目の音源位置候補に隣接する音源位置候補の番号の集合が既知であると仮定する。このとき、「番号lがピーク位置であるとは、l番目の音源位置候補に隣接する全ての音源位置候補の番号l´に対しα(l)>α(l´)が成り立つことである」と定義し、各番号l=1〜Lに対して番号lがピーク位置であるか否かを判定することで、ピーク位置の集合Jを計算できる。このピーク位置の集合Jに基づいて、音源位置を指定する番号lの集合または座標(直交座標、極座標、球座標等)の集合である検出された音源位置の集合Gを次のように計算できる。
例えば、ピーク位置の集合Jをそのまま検出された音源位置の集合Gとしてもよいし、ピーク位置lのうちピーク値α(l)が所定の閾値Sを超えるピーク位置lの集合{l∈J|α(l)>S}を検出された音源位置の集合Gとしてもよい。閾値Sはどのように定めてもよいが、例えばS=1/Lとすればよい。また、ピーク位置lに対応する音源位置候補の座標であるベクトルr(l)の集合{r(l)|l∈J}を検出された音源位置の集合Gとしてもよいし、ピーク値α(l)が所定の閾値Sを超えるピーク位置lに対応する音源位置候補の座標であるベクトルr(l)の集合{r(l)|l∈J,α(l)>S}を検出された音源位置の集合Gとしてもよい。
[第1の実施形態の処理]
図3を用いて、信号処理装置1の処理の流れについて説明する。図3は、第1の実施形態に係る信号処理装置の処理の流れを示すフローチャートである。図3に示すように、まず、時間周波数分析部10は、観測信号に対し、時間周波数分析を行い、観測信号ベクトルを計算する(ステップS11)。
次に、特徴ベクトル計算部20は、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルを計算する(ステップS12)。そして、事前確率分布計算部40は、パラメータ記憶部30から、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での特徴ベクトルの条件付き確率分布モデルのパラメータを取得する(ステップS13)。
次に、事前確率分布計算部40は、各音源位置を表す状態の事前確率分布を初期化する(ステップS14)。そして、事前確率分布計算部40は、事前確率分布を更新する(ステップS15)。
このとき、事前確率分布計算部40は、例えば、パラメータ記憶部から取得したモデルパラメータによって表される特徴ベクトルの条件付き確率分布を、事前確率分布で荷重した混合モデルを用いて特徴ベクトルの周辺確率分布をモデル化する。そして、事前確率分布計算部40は、勾配法を用い、当該周辺確率分布の尤度を目的関数としたときの尤度が最大化されるように事前確率分布を更新する。そして、事前確率分布の更新が所定回数反復して行われていない場合(ステップS16、No)、事前確率分布計算部40は、さらに事前確率分布の更新を行う(ステップS15)。
一方、事前確率分布の更新が所定回数反復して行われた場合(ステップS16、Yes)、音源位置計算部50は、事前確率分布計算部40によって計算された事前確率に基づいて音源位置を計算する(ステップS17)。このとき、音源位置計算部50は、例えば、事前確率がピークとなる音源位置を計算結果とすることができる。
[第1の実施形態の効果]
時間周波数分析部10は、M個の異なる位置で取得された収録音に時間周波数変換を適用し、M次元ベクトルである観測信号ベクトルを計算する。そして、特徴ベクトル計算部20は、時間周波数分析部10によって計算された観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルを、時間周波数点ごとに計算する。また、パラメータ記憶部30は、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での、特徴ベクトルの条件付き確率分布のモデルパラメータを記憶する。
ここで、事前確率分布計算部40は、音源位置を表す状態の事前確率分布を荷重とする、パラメータ記憶部30に記憶されたモデルパラメータに基づく、音源位置を表す状態が既知の条件下での、特徴ベクトルの条件付き確率分布の荷重和である混合モデルを、特徴ベクトル計算部20によって計算された特徴ベクトルに当てはめ、事前確率分布を計算する。そして、音源位置計算部50は、事前確率分布計算部40によって計算された事前確率分布に基づいて、特徴ベクトルに対応する音源位置を計算する。
このように、第1の実施形態によれば、観測信号ベクトルの共分散行列を用いずに、音源位置にて大きい値を取る関数である空間スペクトルとみなせる事前確率分布を計算することができるため、観測信号長が短い場合でも正確に音源定位を行うことができる。そのため、観測信号長が短い場合に正確な音源定位が困難であったCapоn法やMUSIC法等の従来の音源定位法に比べて、音源位置が時間的に変化する状況や、発話交替のある会話状況などの動的な状況下で有利である。また、第1の実施形態によれば、複数の音源からの音源信号が混在する状況でも、それぞれの音源の音源位置を推定することができる。そのため、複数の音源位置の推定が困難であった遅延和アレイや一般化相互相関関数法等の従来の音源定位法に比べて、発話の重なりがある会話状況などの複数音源が存在する状況下で有利である。また、音源数が未知である状況でも、音源定位を行うことができる。そのため、実際の応用では音源数は事前に分からないことが多いが、そのような状況下でも本実施形態により音源定位が可能である。これは、音源数の事前情報を必要とするMUSIC法等の従来の音源定位法に比べて有利である。さらに、第1の実施形態の方法で得られた事前確率分布は、トラッキング、ダイアリゼーション、マスク推定、音声強調、音声認識といった様々な応用に用いることができる。さらに、第1の実施形態によれば、周波数に依らない事前確率分布を用いることで、全ての周波数において観測された特徴ベクトルz(t,f)の情報を用いて事前確率分布を推定することができる(これは、式(10)において、全ての周波数におけるベクトルw(t,f)を用いてベクトルαを更新していることからも分かる。)ため、周波数に依存する事前確率分布を用いる場合と比べて、事前確率分布の推定により多くの情報を利用することができ、より正確な事前確率分布の推定およびそれに基づく音源定位が実現できるとともに、観測信号長が短い場合でもより正確な事前確率分布の推定およびそれに基づく音源定位が実現できる。なお、上では、全てのフレームにおける観測信号を一度に処理するバッチ処理について説明したが、フレームごと(またはいくつかのフレームごと)に観測信号を処理し、音源位置を推定するブロックバッチ処理(またはオンライン処理)とすることもできる。
[第2の実施形態]
次に、第2の実施形態の構成について説明する。第2の実施形態は、本発明に基づいて音源位置を推定する例であり、第1の実施形態を基にして、事前確率分布として時変の事前確率分布を用いるという変更を加えたものである。すなわち、第2の実施形態では、事前確率分布を時間区間(例えばフレーム)ごとに推定する。このことにより、音源位置推定を時間区間(例えばフレーム)ごとに行うことができるという効果に加え、時間区間(例えばフレーム)ごとの音源位置推定に基づいてトラッキングやダイアリゼーションを行うことができるという効果が得られる。
第2の実施形態に係る信号処理装置の構成の一例は、第1の実施形態に係る信号処理装置1と同様、図2で示される。第2の実施形態に係る信号処理装置1は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50を有する。時間周波数分析部10、特徴ベクトル計算部20、およびパラメータ記憶部30については、第1の実施形態と同様であるから、以下では相違点である事前確率分布計算部40と音源位置計算部50について詳しく説明する。第1の実施形態と本実施形態との主な相違点は次の通りである。第1の実施形態では、事前確率分布計算部40で時間区間に依らない事前確率分布を計算し、この事前確率分布に基づき、音源位置計算部50で時間区間に依らない音源位置を計算する。これに対し、本実施形態では、事前確率分布計算部40で時間区間ごとの事前確率分布を計算し、この事前確率分布に基づき、音源位置計算部50で時間区間ごとの音源位置を計算する。
事前確率分布計算部40は、音源位置を表す状態の事前確率分布α(l,t)(l=1〜L、t=1〜T)を荷重とする、パラメータ記憶部30に記憶されたモデルパラメータである平均方向ベクトルa(l,f)および集中パラメータκ(l,f)に基づく、音源位置を表す状態が既知の条件下での、特徴ベクトルz(t,f)の条件付き確率分布の荷重和である式(15)の混合モデルを、特徴ベクトル計算部20によって計算された特徴ベクトルz(t,f)に当てはめ、事前確率分布α(l,t)(l=1〜L、t=1〜T)を計算する。ただし、α(l,t)は制約条件α(1,t)+…+α(L,t)=1を満たす。
ここで、第1の実施形態とは異なり、式(15)における荷重が時不変のα(l)ではなく時変のα(l,t)となっていることに注意する。式(15)の混合モデルを特徴ベクトルz(t,f)に当てはめる方法には様々な方法があり、例えば式(15)に関する尤度を勾配法により最大化する。
事前確率分布計算部40における処理は、例えば下記の通りである。
1.α(l,t)←1/L(l=1〜L、t=1〜T)により事前確率分布α(l,t)を初期化する。
2.下記の式(16)および式(17)による事前確率分布α(l,t)(l=1〜L、t=1〜T)の更新を交互に所定回数(例えば10回)反復する。
3.事前確率分布α(l,t)(l=1〜L、t=1〜T)を出力する。
ただし、ベクトルα(t)はα(l,t)(l=1〜L)からなるL次元縦ベクトルである。式(16)および(17)の導出は、式(10)および(11)の導出と同様であるため省略する。
音源位置計算部50は、事前確率分布計算部40から事前確率分布α(l,t)(l=1〜L、t=1〜T)を受け取って、事前確率分布α(l,t)(l=1〜L、t=1〜T)のピーク位置の集合J(t)をフレームごとに計算し、ピーク位置の集合J(t)に基づいて検出された音源位置の集合G(t)をフレームごとに計算し出力する。
ピーク位置の集合J(t)は例えば次のように計算できる。l番目(l=1〜L)の音源位置候補に隣接する音源位置候補の番号の集合(既知と仮定)を集合A(l)で表す。このとき、ピーク位置の集合J(t)は、「集合A(l)に属する全ての番号l´に対しα(l,t)>α(l´,t)」となる番号lの集合J(t)={l|∀l´∈A(l),α(l,t)>α(l´,t)}として計算できる。このピーク位置の集合J(t)に基づいて、音源位置を指定する番号lの集合または座標(直交座標、極座標、球座標等)の集合である検出された音源位置の集合G(t)を次のように計算することができる。
例えば、ピーク位置の集合J(t)をそのまま検出された音源位置の集合G(t)とすることができる。また、ピーク位置lのうち対応するピーク値α(l,t)が所定の閾値Sを超えるものの集合{l∈J(t)|α(l,t)>S}を検出された音源位置の集合G(t)とすることもできる。ここで閾値Sはどのように定めてもよいが、例えばS=1/Lとすればよい。また、ピーク位置lに対応する音源位置候補の座標であるベクトルr(l)の集合{r(l)|l∈J(t)}を検出された音源位置の集合G(t)とすることもできる。また、ピーク位置lのうちピーク値α(l,t)が所定の閾値Sを超えるものに対応する音源位置候補の座標であるベクトルr(l)の集合{r(l)|l∈J(t),α(l,t)>S}を検出された音源位置の集合G(t)としてもよい。
[第3の実施形態]
次に、第3の実施形態の構成について説明する。第3の実施形態は、本発明に基づいて音源位置を推定する例であり、第1の実施形態を基にして、音源位置を表す状態として、複数(L個)の音源位置候補のそれぞれに対応する状態(状態1〜Lとする)に加え、背景雑音に対応する状態(状態0とする)も考慮するとともに、音源位置を表す状態が状態0を取る条件下での、特徴ベクトルの条件付き確率分布を、超球面上の一様分布によりモデル化する、という変更を加えたものである。これにより、背景雑音を含む観測信号を適切にモデル化し、背景雑音下でも高精度に音源定位を行うことが可能になるという利点がある。
第3の実施形態に係る信号処理装置の構成の一例は、第1の実施形態に係る信号処理装置1と同様、図2で示される。第3の実施形態に係る信号処理装置1は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50を有する。時間周波数分析部10、特徴ベクトル計算部20については、第1の実施形態と同様であるから、以下では相違点であるパラメータ記憶部30、事前確率分布計算部40、および音源位置計算部50について詳しく説明する。第1の実施形態と本実施形態との主な相違点は次の通りである。第1の実施形態では、パラメータ記憶部30において、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での条件付き確率分布のモデルパラメータを記憶し、事前確率分布計算部40において、複数の音源位置候補に対応する状態に対する事前確率分布を計算し、音源位置計算部50において、前記事前確率分布に基づいて音源位置を計算する。これに対し、本実施形態では、パラメータ記憶部30において、音源位置を表す状態が背景雑音に対応する状態を取る条件下での条件付き確率分布のモデルパラメータをさらに記憶し、事前確率分布計算部40において、複数の音源位置候補および背景雑音に対応する状態の事前確率分布を計算し、音源位置計算部50において、前記事前確率分布に基づいて音源位置を計算する。
まず、本実施形態における観測信号ベクトルy(t,f)のモデル化について説明する。本実施形態におけるモデル化では、観測信号ベクトルy(t,f)はN個(Nは未知でもよい。N=0でもよい。)の目的信号に加えて背景雑音も含むと仮定する。本実施形態では更に、観測信号ベクトルy(t,f)は、各時間周波数点において目的信号のうち高々1つの目的信号を含むと仮定するとともに、背景雑音は全ての時間周波数点において観測信号ベクトルy(t,f)に含まれると仮定する。このとき、観測信号ベクトルy(t,f)は式(18)または(19)のいずれかの式によりモデル化される。
ここで、式(18)は時間周波数点(t,f)において目的信号のうちn番目(nは時間周波数点(t,f)によって変化しうる)の目的信号のみが観測信号ベクトルy(t,f)に含まれる場合、式(19)は時間周波数点(t,f)において観測信号ベクトルy(t,f)に目的信号が1つも含まれない場合を表しており、ベクトルs(n,t,f)はn番目の目的信号、ベクトルv(t,f)は背景雑音である。
第1の実施形態の場合と異なり本実施形態では、式(19)のように観測信号ベクトルy(t,f)に目的信号が1つも含まれず背景雑音のみが含まれる場合も考慮に入れたモデル化がなされており、背景雑音下での観測信号をより正確にモデル化することができる。
上述のように本実施形態では、式(19)のように観測信号ベクトルy(t,f)に目的信号が1つも含まれない場合も考慮する。本実施形態では、このような場合も適切にモデル化できるように、各時間周波数点における観測信号ベクトルが取り得る音源位置を表す状態として、複数の音源位置候補に対応する状態に加えて、背景雑音に対応する状態をさらに考慮する。前者は式(18)、後者は式(19)に対応する。
以下、時間周波数点(t,f)における前記音源位置を表す状態をg(t,f)により表す。g(t,f)=l(l=1〜L)の条件下での特徴ベクトルz(t,f)の条件付き確率分布は、第1の実施形態の場合と同様、式(3)の複素ワトソン分布によりモデル化される(他にも複素ビンガム分布、複素角度中心ガウス分布、複素ガウス分布、混合複素ワトソン分布、混合複素ビンガム分布、混合複素角度中心ガウス分布、混合複素ガウス分布等の確率分布によりモデル化することができる)。
一方、g(t,f)=0の条件下での特徴ベクトルz(t,f)の条件付き確率分布は、式(20)に示すように、M次元複素ベクトル空間における単位球面上の一様分布によりモデル化される。
式(20)は、背景雑音はあらゆる方向から一様に到来するという仮定に基づいている。本実施形態では、式(20)を導入することにより、式(19)のように背景雑音に対応する状態も適切にモデル化することが可能になり、背景雑音下でも音源位置を正確に推定できる。
次に、本実施形態における特徴ベクトルz(t,f)の周辺確率分布のモデル化について説明する。本実施形態では、特徴ベクトルz(t,f)の周辺確率分布を、音源位置を表す状態の事前確率分布P(g(t,f)=l)を荷重とする、条件付き確率分布p(z(t,f)|g(t,f)=l)の荷重和である式(21)の混合モデルによりモデル化する。
本実施形態では、事前確率分布P(g(t,f)=l)がフレームおよび周波数ビンに依存しないと仮定し、α(l)(l=0〜L)で表す。ただし、α(l)は制約条件α(0)+…+α(L)=1を満たす。κ=0であり、aが任意の単位ベクトルであるとき、複素ワトソン分布W(z;a,κ)は式(20)の一様分布に一致することに注意すると、式(21)を式(22)のように書き直すこともできる。ただし、κ(0,f)=0とし、ベクトルa(0,f)は任意の単位ベクトルとする。周波数に依らない事前確率分布を用いることで、全ての周波数において観測された特徴ベクトルz(t,f)の情報を用いて事前確率分布を推定することができるため、周波数に依存する事前確率分布を用いる場合と比べて、事前確率分布の推定により多くの情報を利用することができ、より正確な事前確率分布の推定およびそれに基づく音源定位が実現できるとともに、観測信号長が短い場合でもより正確な事前確率分布の推定およびそれに基づく音源定位が実現できる。さらに、全ての周波数において観測された特徴ベクトルz(t,f)の情報を用いて事前確率分布を推定することができるため、雑音や残響の影響により一つの周波数において観測された特徴ベクトルz(t,f)だけでは音源位置が確実には分からないような場合にも、より正確に音源定位を行うことができ、周波数に依存する事前確率分布を用いる場合と比べて、雑音や残響に対する頑健性を向上させることができる。
パラメータ記憶部30は、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での条件付き確率分布のモデルパラメータ、および音源位置を表す状態が背景雑音に対応する状態を取る条件下での条件付き確率分布のモデルパラメータを記憶する。前者は例えば第1の実施形態に記載の方法により計算することができ、後者は例えばκ(0,f)←0、ベクトルa(0,f)は任意の単位ベクトルとすることができる。
事前確率分布計算部40は、音源位置を表す状態の事前確率分布α(l)(l=0〜L)を荷重とする、パラメータ記憶部30に記憶されたモデルパラメータである平均方向ベクトルa(l,f)(l=0〜L、f=1〜F)と集中パラメータκ(l,f)(l=0〜L、f=1〜F)に基づく、音源位置を表す状態が既知の条件下での、特徴ベクトルの条件付き確率分布の荷重和である式(21)の混合モデルを、特徴ベクトル計算部20によって計算された特徴ベクトルz(t,f)に当てはめ、事前確率分布α(l)(l=0〜L)を計算する。
式(21)の混合モデルを特徴ベクトルz(t,f)に当てはめる方法には様々な方法があり、例えば式(21)に関する尤度を目的関数とし(他にも事後確率等を目的関数とすることができる。)、これを勾配法により事前確率分布α(l)(l=0〜L)に関して最大化する(他にもEMアルゴリズム等により最大化できる)。
事前確率分布計算部40における処理は、例えば下記の通りである。
1.事前確率分布α(l)(l=0〜L)をα(l)←1/(L+1)により初期化する。
2.下記の式(23)および(24)による事前確率分布α(l)(l=0〜L)の更新を交互に所定回数(例えば10回)反復する。
3.事前確率分布α(l)(l=0〜L)を出力する。
ここで、ベクトル〜α(αの前の記号「〜」はαの上に記号「〜」を付すことを表す。)はα(l)(l=0〜L)からなる(L+1)次元縦ベクトルであり、ベクトル〜w(t,f)はW(z(t,f);a(l,f),κ(l,f))(l=0〜L)からなる(L+1)次元縦ベクトルである。なお、式(23)および式(24)の導出については、第1の実施形態と同様であるから省略する。
音源位置計算部50は、事前確率分布計算部40から受け取った事前確率分布α(l)(l=0〜L)に基づいて、検出された音源位置の集合Gを計算し出力する。具体的には、lの定義域を目的音源に対応するl=1〜Lに制限したα(l)(l=1〜L)に対して、第1の実施形態に記載の処理を適用することにより、検出された音源位置の集合Gを計算する。
[第4の実施形態]
次に、第4の実施形態の構成について説明する。第4の実施形態は、本発明に基づいて音源位置を推定する例であり、第1の実施形態を基にして、条件付き確率分布のモデルパラメータを目的信号が球面波として伝播するという仮定に基づいて計算するのではなく、実測データを学習データとして用いて事前学習するようにするという変更を加えたものである。目的信号が球面波として伝播するという上記の仮定は、無響室のような反射・残響・回折等の存在しない理想的な環境を想定している。したがって、第1の実施形態では、反射・残響・回折等がある環境では、想定している環境と音源定位を行う環境との間にミスマッチが存在するため、音源定位の性能が低下する問題がある。これに対し本実施形態では、音源定位を行う環境における実測データを用いて条件付き確率分布のモデルパラメータを事前学習することで、そのようなミスマッチを解消し、反射・残響・回折等がある場合でも音源位置を正確に推定することが可能になる、という利点がある。反対に、第1の実施形態には、本実施形態と異なり上記実測データを取得する手間が省けるという利点がある。
第4の実施形態に係る信号処理装置の構成の一例は、第1の実施形態に係る信号処理装置1と同様、図2で示される。第4の実施形態に係る信号処理装置1は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50を有する。時間周波数分析部10、特徴ベクトル計算部20、事前確率分布計算部40、および音源位置計算部50については、第1の実施形態と同様であるから、以下では相違点であるパラメータ記憶部30について詳しく説明する。第1の実施形態と本実施形態との主な相違点は次の通りである。第1の実施形態におけるパラメータ記憶部30は、目的信号が球面波として伝播するという仮定に基づいて計算された、条件付き確率分布のモデルパラメータを記憶する。これに対し、本実施形態におけるパラメータ記憶部30は、残響下で取得された学習データを用いて学習された、条件付き確率分布のモデルパラメータを記憶する。
パラメータ記憶部30は、残響下で取得された学習データを用いて学習されたモデルパラメータであって、音源位置を表す状態が複数(L個)の音源位置候補のそれぞれに対応する状態を取る条件下での、特徴ベクトルz(t,f)の条件付き確率分布である複素ワトソン分布のモデルパラメータである平均方向ベクトルa(l,f)(l=1〜L、f=1〜F)と集中パラメータκ(l,f)(l=1〜L、f=1〜F)を記憶する。前記残響下で取得された学習データとしては、例えば、背景雑音が存在しない状況で複数の音源位置候補のそれぞれからのみ音が発せられた場合の観測信号x(l,m,τ)を用いることができる。
上記事前学習は、例えば次の手順で行うことができる。
1.1つの音源位置候補のみから音が発せられた場合の観測信号x(l,m,τ)を生成する。例えば、L個の音源位置候補のそれぞれに対し、当該音源位置候補のみから音が発せられている状況で収録を行うことにより、x(l,m,τ)を生成できる。もしくは、L個の音源位置候補のそれぞれに対し、当該音源位置候補から各マイクロホン位置までのインパルス応答を計測し、このインパルス応答を目的信号に畳み込むことにより、x(l,m,τ)を生成できる。
2.x(l,m,τ)の時間周波数変換x(l,m,t,f)(m=1〜M)からなるM次元ベクトルx(l,t,f)を計算する。
3.特徴ベクトルζ(l,t,f)を下記の式(25)により計算する。
4.特徴共分散行列R(l,f)を下記の式(26)により計算する。
5.特徴共分散行列R(l,f)の固有値分解を行い、最大固有値μ(l,f)および最大固有値に対応するノルム1の固有ベクトルe(l,f)を求める。
6.平均方向ベクトルa(l,f)をa(l,f)←e(l,f)とする。
7.集中パラメータκ(l,f)を下記の式(27)により計算する。
上記の処理の導出について説明する。上記の処理は、特徴ベクトルζ(l,t,f)が式(28)に従って生成されるという仮定の下、式(28)に関する対数尤度である式(29)を平均方向ベクトルa(l,f)および集中パラメータκ(l,f)に関して最大化することにより導かれる。
式(29)において、平均方向ベクトルa(l,f)(l=1〜L、f=1〜F)および集中パラメータκ(l,f)(l=1〜L、f=1〜F)のいずれにも依存しない定数項を無視すると、式(30)のように書き直せる。
ここで、行列R(l,f)は式(26)により定義される。式(27)におけるベクトルa(l,f)に依存する項は式(31)である。
Courant-Fisherの定理より、式(31)を式(4)の制約条件下で最大化するベクトルa(l,f)は、特徴共分散行列R(l,f)の最大固有値μ(l,f)に対応するノルム1の固有ベクトルe(l,f)である。また、式(30)における集中パラメータκ(l,f)に依存する項は、式(32)である。
ここで、集中パラメータκ(l,f)に関する偏微分を0と置くと、式(33)を得る。
参考文献1「S.Sra and D.Karp,"The multivariate Watson distribution: Maximum-likelihood estimation and other aspects," Journal of Multivariate Analysis,2013年2月,vol.114,p.256-269.」中の式(3.8)に基づいて、式(33)を集中パラメータκ(l,f)について近似的に解くと式(27)を得る。本実施形態では、学習データから集中パラメータを学習するため、第1の実施形態と同様、前述の、観測信号ベクトルy(t,f)の方向が、低い周波数ほど小さい分散(大きい集中度)を持つという性質を適切に考慮することができ、事前確率分布の推定、及びそれに基づく音源定位を正確に行うことができる。
[第5の実施形態]
次に、第5の実施形態の構成について説明する。第5の実施形態は、本発明に基づいて音源位置を推定する例であり、第3の実施形態を基にして、背景雑音に対する条件付き確率分布として一様分布を用いるのではなく、実測データを用いて事前学習した条件付き確率分布を用いるようにするという変更を加えたものである。
第3の実施形態における上記の一様分布の仮定は、雑音があらゆる方向から一様に到来する理想的な環境を想定している。したがって、第3の実施形態では、雑音の到来方向に偏りがある環境では、想定している環境と音源定位を行う環境との間にミスマッチが存在し、音源定位の性能が低下する恐れがある。これに対し本実施形態では、音源定位を行う環境における実測データを用いて、条件付き確率分布のモデルパラメータを事前学習することで、上記のミスマッチを解消し、雑音の到来方向に偏りがある場合でも音源位置を正確に推定することを可能にする、という利点がある。
第5の実施形態に係る信号処理装置の構成の一例は、第3の実施形態に係る信号処理装置1と同様、図2で示される。第5の実施形態に係る信号処理装置1は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50を有する。時間周波数分析部10、特徴ベクトル計算部20、事前確率分布計算部40、および音源位置計算部50については、第3の実施形態と同様であるから、以下では相違点であるパラメータ記憶部30について詳しく説明する。第3の実施形態と本実施形態との主な相違点は次の通りである。第3の実施形態におけるパラメータ記憶部30では、音源位置を表す状態が背景雑音に対応する状態を取る条件下での条件付き確率分布のモデルパラメータとして、一様分布に対応するモデルパラメータを記憶する。これに対し、本実施形態におけるパラメータ記憶部30では、音源位置を表す状態が背景雑音に対応する状態を取る条件下での条件付き確率分布のモデルパラメータとして、学習データを用いて学習したモデルパラメータを記憶する。
本実施形態では、各時間周波数点における観測信号ベクトルy(t,f)の音源位置を表す状態がg(t,f)=l(l=0〜L)である条件下での特徴ベクトルz(t,f)の条件付き確率分布を、式(3)の複素ワトソン分布によりモデル化する(他にも複素ビンガム分布、複素角度中心ガウス分布、複素ガウス分布、混合複素ワトソン分布、混合複素ビンガム分布、混合複素角度中心ガウス分布、混合複素ガウス分布等の確率分布によりモデル化することができる)。
パラメータ記憶部30は、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態(状態1〜L)を取る条件下での条件付き確率分布のモデルパラメータ、および音源位置を表す状態が背景雑音に対応する状態(状態0)を取る条件下での条件付き確率分布のモデルパラメータを記憶する。音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での条件付き確率分布のモデルパラメータは、例えば第1または第4の実施形態に記載の方法により計算することができる。
一方、音源位置を表す状態が背景雑音に対応する状態を取る条件下での条件付き確率分布のモデルパラメータは、例えば次のように事前学習される。
1.実測した背景雑音x(0,m,τ)の時間周波数変換x(0,m,t,f)(m=1〜M)からなるM次元縦ベクトルx(0,t,f)を作成する。
2.特徴ベクトルζ(0,t,f)を次の式(34)により計算する。
3.特徴共分散行列R(0,f)を次の式(35)により計算する。
4.特徴共分散行列R(0,f)の固有値分解を行い、最大固有値μ(0,f)および最大固有値に対応するノルム1の固有ベクトルe(0,f)を求める。
5.平均方向ベクトルa(0,f)をa(0,f)←e(0,f)とする。
6.集中パラメータκ(0,f)を次の式(36)により計算する。
なお、上記の処理の導出は、第4の実施形態の場合と同様であるから省略する。
[第6の実施形態]
次に、第6の実施形態の構成について説明する。第6の実施形態は、本発明に基づいて音源位置を推定する例であり、第4の実施形態を基にして、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での特徴ベクトルz(t,f)の条件付き確率分布として複素ワトソン分布ではなく複素角度中心ガウス分布を用いるようにするという変更を加えたものである。複素ワトソン分布では、観測信号ベクトルの方向である式(1)の特徴ベクトルの条件付き確率分布が回転対称である場合しか表せないのに対し、複素角度中心ガウス分布ではこの条件付き確率分布が回転対称な場合だけでなく楕円状の分布である場合も表すことができる。式(1)の特徴ベクトルの分布は必ずしも回転対称とは限らないため、本実施形態により、式(1)の特徴ベクトルの分布を第4の実施形態よりも正確にモデル化することができ、その結果、音源位置をより正確に推定できる。
第6の実施形態に係る信号処理装置の構成の一例は、第4の実施形態に係る信号処理装置1と同様、図2で示される。第6の実施形態に係る信号処理装置1は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50を有する。時間周波数分析部10、特徴ベクトル計算部20、および音源位置計算部50については、第4の実施形態と同様であるから、以下では相違点であるパラメータ記憶部30および事前確率分布計算部40について詳しく説明する。第4の実施形態と本実施形態との主な相違点は次の通りである。第4の実施形態では、パラメータ記憶部30において、条件付き確率分布をモデル化する複素ワトソン分布のモデルパラメータを記憶し、事前確率分布計算部40において、前記複素ワトソン分布のモデルパラメータに基づいて事前確率分布を計算する。これに対し、本実施形態では、パラメータ記憶部30において、条件付き確率分布をモデル化する複素角度中心ガウス分布のモデルパラメータを記憶し、事前確率分布計算部40において、前記複素角度中心ガウス分布のモデルパラメータに基づいて事前確率分布を計算する。
本実施形態では、L個の音源位置候補に対するL個の条件付き確率分布を、複素角度中心ガウス分布によりモデル化する。すなわち、条件付き確率分布p(z(t,f)|g(t,f)=l)を式(37)によりモデル化する。
ここで、行列Σ(l,f)はl番目の音源位置候補に対する特徴ベクトルz(t,f)の分布の位置・広がり・方向・形状を定めるモデルパラメータである正定値エルミート行列であり、パラメータ行列と呼ばれ、A(z;Σ)は、パラメータ行列が行列Σであるベクトルzの複素角度中心ガウス分布であり、式(38)で表される。
パラメータ記憶部30は、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での、特徴ベクトルz(t,f)の条件付き確率分布である複素角度中心ガウス分布のモデルパラメータであるパラメータ行列Σ(l,f)(l=1〜L、f=1〜F)を記憶する。パラメータ行列Σ(l,f)は、L個の音源位置候補のそれぞれに対し、当該音源位置候補のみから音が発せられた場合の観測信号x(l,m,τ)を用いて事前学習される。本実施形態では、特徴量z(t,f)の条件付き確率分布の位置・広がり・方向・形状を定めるパラメータ行列Σ(l,f)を学習データから学習するため、第1の実施形態と同様、前述の、観測信号ベクトルy(t,f)の方向が、低い周波数ほど小さい分散(前記広がりに相当)を持つという性質を適切に考慮することができ、事前確率分布の推定、及びそれに基づく音源定位を正確に行うことができる。
この事前学習は、例えば以下の手順で行うことができる。
1.特徴ベクトルζ(l,t,f)(l=1〜L、t=1〜T、f=1〜F)を第4の実施形態と同様に計算する。
2.パラメータ行列Σ(l,f)(l=1〜L、f=1〜F)をM×Mの単位行列により初期化する。
3.次の式(39)によるパラメータ行列Σ(l,f)(l=1〜L、f=1〜F)の更新を所定回数(例えば10回)反復する。
4.パラメータ行列Σ(l,f)(l=1〜L、f=1〜F)をパラメータ記憶部30に記憶する。
式(39)の導出について説明する。式(39)は、特徴ベクトルζ(l,t,f)が式(37)の条件付き確率分布に従って生成されたという仮定の下、式(37)に関する対数尤度である式(40)をパラメータ行列Σ(l,f)に関して最大化することにより導かれる。
式(40)におけるパラメータ行列Σ(l,f)によらない定数項を無視すると、式(40)は、式(41)のように書き換えられる。
式(41)のパラメータ行列Σ(l,f)に関する偏微分を0と置いて整理すると、式(39)を得る。
事前確率分布計算部40は、音源位置を表す状態の事前確率分布を荷重とする、パラメータ記憶部30に記憶されたモデルパラメータであるパラメータ行列Σ(l,f)(l=1〜L、f=1〜F)に基づく、音源位置を表す状態が既知の条件下での、特徴ベクトルz(t,f)の条件付き確率分布である複素角度中心ガウス分布の荷重和である混合モデルを、特徴ベクトル計算部20によって計算された特徴ベクトルz(t,f)に当てはめ、事前確率分布を計算する。本実施形態では、前記事前確率分布として時不変の事前確率分布α(l)(l=1〜L)を考える。
事前確率分布計算部40における事前確率分布の計算は、例えば次のように行えばよい。すなわち、ベクトルw(t,f)を条件付き確率である複素角度中心ガウス分布A(z(t,f);Σ(l,f))(l=1〜L)からなるL次元縦ベクトルとし、ベクトルw(t,f)に対して第1の実施形態の事前確率分布計算部40における処理を適用する。ただし、第1の実施形態とはベクトルw(t,f)の定義が異なることに注意する。なお、上記の処理の導出は、第1の実施形態の場合と同様であるから省略する。
[第7の実施形態]
次に、第7の実施形態の構成について説明する。第7の実施形態は、本発明に基づいて音源位置を推定する例であり、第4の実施形態を基にして、観測信号ベクトルy(t,f)の方向の情報を含んだベクトルである特徴ベクトルz(t,f)として式(1)の方向ベクトルではなく観測信号ベクトルy(t,f)そのものを用いるようにし、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での特徴ベクトルz(t,f)の条件付き確率分布として複素ワトソン分布ではなく複素時変ガウス分布を用いるようにし、複素時変ガウス分布のモデルパラメータである空間共分散行列を事前学習して記憶するようにするという変更を加えたものである。
複素ワトソン分布では観測信号ベクトルの方向の分布が回転対称である場合しか表せないのに対し、複素時変ガウス分布では観測信号ベクトルの方向の分布が回転対称である場合だけでなく楕円状の分布である場合も表せる。観測信号ベクトルの方向の分布は必ずしも回転対称とは限らないため、本実施形態により、音源位置を特徴づける観測信号ベクトルの方向の分布を第4の実施形態よりも正確にモデル化することができ、このモデル化に基づき音源位置をより正確に推定できる。
第7の実施形態に係る信号処理装置の構成の一例は、第4の実施形態に係る信号処理装置1と同様、図2で示される。第7の実施形態に係る信号処理装置1は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50を有する。時間周波数分析部10と音源位置計算部50については第4の実施形態と同様であるから、以下では相違点である特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40について詳しく説明する。第4の実施形態と本実施形態との主な相違点は次の通りである。第4の実施形態では、特徴ベクトル計算部20において式(1)の特徴ベクトルを計算し、パラメータ記憶部30において、前記特徴ベクトルの条件付き確率分布をモデル化する複素ワトソン分布のモデルパラメータを記憶し、事前確率分布計算部40において、音源位置を表す状態の事前確率分布を荷重とする、条件付き確率分布をモデル化する複素ワトソン分布の荷重和である混合モデルを前記特徴ベクトルに当てはめることにより、前記事前確率分布を計算する。これに対し、本実施形態では、特徴ベクトル計算部20は、時間周波数分析部10からの観測信号ベクトルを特徴ベクトルとして出力し、パラメータ記憶部30において、特徴ベクトルである観測信号ベクトルの条件付き確率分布をモデル化する複素時変ガウス分布のモデルパラメータである空間共分散行列を記憶し、事前確率分布計算部40において、音源位置を表す状態の事前確率分布を荷重とする、条件付き確率分布をモデル化する複素時変ガウス分布の荷重和である混合モデルを特徴ベクトルである観測信号ベクトルに当てはめることにより、前記事前確率分布を計算する。
特徴ベクトル計算部20は、時間周波数分析部10から観測信号ベクトルy(t,f)を受け取って、観測信号ベクトルy(t,f)を特徴ベクトルz(t,f)として出力する。
本実施形態では、L個の音源位置候補に対するL個の条件付き確率分布として、複素時変ガウス分布を用いる。すなわち、条件付き確率分布p(z(t,f)|g(t,f)=l)を式(42)によりモデル化する。
式(42)におけるφ(l,t,f)は、特徴ベクトルz(t,f)の「大きさ(ノルム)」の分布を制御する正のパラメータである。一方、式(42)における行列B(l,f)は、特徴ベクトルz(t,f)の「方向」の分布を制御する(具体的には、特徴ベクトルz(t,f)の方向の分布の位置・広がり・方向・形状を制御する)パラメータである。行列B(l,f)は正定値エルミート行列であり、空間共分散行列と呼ばれる。N(z;0,Φ)は平均がベクトル0、共分散行列が行列Φであるベクトルzの複素ガウス分布であり、式(43)で表される。
式(42)は時変の共分散行列φ(l,t,f)B(l,f)を持つことから、ここでは複素時変ガウス分布と呼ぶ。
パラメータ記憶部30は、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での、特徴ベクトルz(t,f)である観測信号ベクトルy(t,f)の条件付き確率分布のモデルパラメータである空間共分散行列B(l,f)(l=1〜L、f=1〜F)を記憶する。本実施形態では、パラメータ記憶部30は、前記条件付き確率分布のモデルパラメータである空間共分散行列B(l,f)とφ(l,t,f)のうち、音源位置に関係する空間共分散行列B(l,f)のみを記憶する。一方、φ(l,t,f)は信号のパワーに依存するから、パラメータ記憶部30には記憶せず、後で述べるように事前確率分布計算部40において特徴ベクトル計算部20からの特徴ベクトルを用いて推定する。本実施形態では、観測信号ベクトルy(t,f)の方向の分布の位置・広がり・方向・形状を定めるパラメータ行列B(l,f)を学習データから学習するため、第1の実施形態と同様、前述の観測信号ベクトルy(t,f)の方向が、低い周波数ほど小さい分散(前記広がりに相当)を持つという性質を適切に考慮することができ、事前確率分布の推定、及びそれに基づく音源定位を正確に行うことができる。
空間共分散行列B(l,f)は、L個の音源位置候補のうちの1つの音源位置候補のみから音が発せられた場合の観測信号x(l,m,τ)を用いて、例えば以下の手順により事前学習される。
1.x(l,m,τ)の時間周波数変換x(l,m,t,f)(m=1〜M)からなるM次元縦ベクトルx(l,t,f)(l=1〜L、t=1〜T、f=1〜F)を作成する。特徴ベクトルζ(l,t,f)をζ(l,t,f)←x(l,t,f)とする。ここで、特徴ベクトルζ(l,t,f)の計算方法が、第4の実施形態とは異なることに注意する。
2.空間共分散行列B(l,f)(l=1〜L、f=1〜F)をM×Mの単位行列により初期化する。
3.次の式(44)による空間共分散行列B(l,f)(l=1〜L、f=1〜F)の更新を所定回数(例えば10回)反復する。
4.空間共分散行列B(l,f)(l=1〜L、f=1〜F)をパラメータ記憶部30に記憶する。
式(44)の導出について説明する。式(44)は、ベクトルζ(l,t,f)が式(42)の条件付き確率分布に従って生成されたという仮定の下、式(42)に関する対数尤度である式(45)を空間相関行列B(l,f)およびφ(l,t,f)に関して最大化することにより導かれる。
式(45)における空間相関行列B(l,f)およびφ(l,t,f)によらない定数項を無視すると、式(45)は、式(46)に書き換えられる。
式(46)のφ(l,t,f)に関する偏微分を0と置いて整理すると、式(47)を得る。
また、式(46)のB(l,f)に関する偏微分を0と置くと、式(48)を得、式(48)に式(47)を代入すると式(44)を得る。
次に、本実施形態における特徴ベクトルz(t,f)の周辺確率分布のモデル化について説明する。本実施形態では、特徴ベクトルz(t,f)の周辺確率分布を、音源位置を表す状態g(t,f)の事前確率分布P(g(t,f)=l)を荷重とする、条件付き確率分布p(z(t,f)|g(t,f)=l)の荷重和である式(49)の混合モデルによりモデル化する。
事前確率分布計算部40は、音源位置を表す状態の事前確率分布α(l)(l=1〜L)を荷重とする、パラメータ記憶部30に記憶されたモデルパラメータである空間相関行列B(l,f)(l=1〜L、f=1〜F)に基づく、音源位置を表す状態が既知の条件下での、特徴ベクトルz(t,f)の条件付き確率分布の荷重和である式(49)の混合モデルを、特徴ベクトル計算部20によって計算された特徴ベクトルz(t,f)に当てはめ、事前確率分布α(l)(l=1〜L)を計算する。
式(49)の混合モデルを特徴ベクトルz(t,f)に当てはめる方法には様々な方法があり、例えば式(49)に関する尤度を目的関数とし(他にも事後確率等を目的関数とすることができる。)、これを勾配法に基づいて最大化する(他にもEMアルゴリズム等に基づいて最大化できる)。
事前確率分布計算部40における事前確率分布α(l)(l=1〜L)の推定は、第1の実施形態と同様にして行うことができる。ただし、第1の実施形態とは異なり、ベクトルw(t,f)を、N(z(t,f),0,φ(l,t,f)B(l,f))(l=1〜L)からなるL次元縦ベクトルとする。ここで、φ(l,t,f)は次式により計算できる。
上記の処理の導出について説明する。目的関数である尤度は、特徴ベクトルz(t,f)(t=1〜T,f=1〜F)が観測される確率であり、式(51)で表される。
式(50)は式(51)のφ(l,t,f)に関する最大化により導かれる。式(51)のφ(l,t,f)に関する最大化は、ln[N(z(t,f),0,φ(l,t,f)B(l,f))]のφ(l,t,f)に関する最大化と等価である。そこで、ln[N(z(t,f),0,φ(l,t,f)B(l,f))]のφ(l,t,f)に関する偏微分を0とおくと、式(50)を得る。あとは、第1の実施形態と同様にして、事前確率分布α(l)(l=1〜L)の更新式である式(10)および式(11)を導出することができる。
[第8の実施形態]
次に、第8の実施形態の構成について説明する。第8の実施形態は、第2の実施形態に係る信号処理装置1により検出された音源位置の集合G(t)を用いて、音源位置のトラッキングを行い、音源ごとフレームごとの音源位置ρ(n,t)(n=1〜N、t=1〜T、Nは音源数)を計算する例である。本実施形態では音源位置が方位角のみで指定されるものとし、G(t)は方位角の集合であり、ρ(n,t)は方位角であるとする。そのような状況としては、例えばマイクロホンが載っているテーブルを囲んで何人かが会話をしている状況が挙げられる。
図4を用いて、第8の実施形態に係る信号処理装置の構成について説明する。図4は、第8の実施形態に係る信号処理装置の構成の一例を示す図である。図4に示すように、信号処理装置2は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50、トラッキング部51を有する。時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50については、第2の実施形態と同様であるから、以下では相違点であるトラッキング部51について詳しく説明する。
トラッキング部51は、音源位置計算部50からの検出された音源位置(方位角)の集合G(t)(t=1〜T)を受け取り、音源位置のトラッキングを行って、音源ごとフレームごとの音源位置(方位角)ρ(n,t)(n=1〜N,t=1〜T)を計算し出力する。このトラッキングは様々な方法により行うことができる。以下ではその一例として、各音源の大まかな音源位置(方位角)が既知であると仮定し、これを利用してトラッキングを行う例を示す。各音源の大まかな音源位置(方位角)が既知である状況の例としては、マイクロホンが置かれた机を囲んで、複数人が椅子に座って会議をしている状況が挙げられる。この場合、椅子が既知の位置にほぼ固定されており、かつ会話中の話者の座席移動がないとすると、椅子の位置(既知)を各音源(話者)の大まかな音源位置として用いることができる。
まず、上記の各音源の大まかな音源位置を、音源位置(方位角)ρ(n,t)の初期値ρ(n,0)とする。
フレームt−1での音源位置(方位角)ρ(n,t−1)が得られていると仮定すると、フレームtでの音源位置(方位角)ρ(n,t)は、次の処理により求めることができる。
1.ρ(n,t)をρ(n,t)←ρ(n,t−1)により初期化する。
2.検出された音源位置(方位角)r∈G(t)(0≦r<2π)のそれぞれに対し、次の2−1および2−2の処理を行う。
2−1.次の式(52)により、検出された音源位置(方位角)rに最も近い音源の番号νを計算する。
2−2.ν番目の音源の音源位置(方位角)ρ(ν,t)を式(53)により更新する。
式(53)におけるd(ξ,η)は、式(54)により定義される円周上の距離である。
また、式(53)において、∠に下付きの[0,2π)を付した記号は、非零の複素数に対し[0,2π)の範囲の偏角を計算する演算子であり、∠に下付きの[−π,π)を付した記号は、非零の複素数に対し[−π,π)の範囲の偏角を計算する演算子であり、δは0<δ<1を満たす定数(例えばδ=0.005)である。
[第9の実施形態]
次に、第9の実施形態の構成について説明する。第9の実施形態は、第8の実施形態に係る信号処理装置2による処理結果に基づいて、ダイアリゼーション(diarization)を行う例である。このダイアリゼーションは、フレームごとに各音源が存在するか存在しないかを判定する(hard decision)ことによって行ってもよいし、フレームごとに各音源の存在確率を計算する(soft decision)ことによって行ってもよい。ここでは、前者の場合の例を示す。
図5を用いて、第9の実施形態に係る信号処理装置の構成について説明する。図5は、第9の実施形態に係る信号処理装置の構成の一例を示す図である。図5に示すように、信号処理装置3は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50、トラッキング部51、ダイアリゼーション部60を有する。時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50、トラッキング部51については、信号処理装置2と同様であるから、以下では相違点であるダイアリゼーション部60について詳しく説明する。
ダイアリゼーション部60は、音源位置計算部50からの検出された音源位置の集合G(t)(t=1〜T)と、トラッキング部51からの音源ごとフレームごとの音源位置(方位角)ρ(n,t)(n=1〜N、t=1〜T)とを受け取って、音源ごとフレームごとのダイアリゼーション結果d(n,t)を計算し出力する。ただし、フレームtで音源nが存在するときd(n,t)=1、フレームtで音源nが存在しないときd(n,t)=0と定める。
ダイアリゼーション結果d(n,t)の計算方法としては様々な方法が考えられるが、例えば次のように計算すればよい。
1.d(n,t)(n=1〜N、t=1〜T)をd(n,t)←0により初期化する。
2.t=1〜Tに対して次の処理を行う:検出された音源位置(方位角)r∈G(t)のそれぞれに対し、距離d(r,ρ(n,t))が最小となる音源番号nであるνを求め、d(ν,t)←1とする。
3.d(n,t)(n=1〜N、t=1〜T)をダイアリゼーション結果とする。
なお、第9の実施形態において、各音源の正確な音源位置(方位角)が既知の状況では、トラッキング部51で計算された音源位置(方位角)を用いる代わりに、既知の音源位置(方位角)を音源ごとフレームごとの音源位置(方位角)ρ(n,t)として用いてもよい。そのような状況としては例えば、話者が固定された椅子に座って会話をしている状況や、ビデオカメラの映像により音源位置(方位角)が分かっている状況等がある。
[第10の実施形態]
次に、第10の実施形態の構成について説明する。第10の実施形態は、背景雑音下でN個(N>0)の目的信号が混在する状況において、本発明により推定した音源位置に基づいて各目的信号の波形を推定する例である。本実施形態により、混ざった目的信号を個々の目的信号に分離するとともに、背景雑音を除去することができる。
図6を用いて、第10の実施形態に係る信号処理装置の構成について説明する。図6は、第10の実施形態に係る信号処理装置の構成の一例を示す図である。図6に示すように、信号処理装置4は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50、トラッキング部51、ダイアリゼーション部60、マスク推定部70、信号強調部80を有する。時間周波数分析部10、特徴ベクトル計算部20、トラッキング部51、およびダイアリゼーション部60については信号処理装置3と同様であるから、以下では相違点であるパラメータ記憶部30、事前確率分布計算部40、音源位置計算部50、マスク推定部70、信号強調部80について詳しく説明する。信号処理装置3と信号処理装置4の主な相違点は次の通りである。信号処理装置3では、パラメータ記憶部30において、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での条件付き確率分布のモデルパラメータを記憶し、事前確率分布計算部40において、前記モデルパラメータに基づいて複数の音源位置候補に対応する状態の事前確率分布を計算し、音源位置計算部50において、前記事前確率分布に基づいて音源位置を計算する。これに対し、信号処理装置4では、パラメータ記憶部30において、音源位置を表す状態が背景雑音に対応する状態を取る条件下での条件付き確率分布のモデルパラメータをさらに記憶し、事前確率分布計算部40において、前記モデルパラメータに基づいて複数の音源位置候補および背景雑音に対応する状態の事前確率分布を計算し、音源位置計算部50において、前記事前確率分布に基づいて音源位置を計算する。信号処理装置4では更に、マスク推定部70において、各目的信号および背景雑音の時間周波数点ごとの寄与度(事後確率)であるマスクを推定し、信号強調部80において、前記マスクに基づいて各目的信号の波形を計算する。
パラメータ記憶部30は、音源位置を表す状態が複数の音源位置候補のそれぞれに対応する状態を取る条件下での、特徴ベクトルz(t,f)の条件付き確率分布である複素ワトソン分布のモデルパラメータである平均方向ベクトルa(l,f)(l=1〜L、f=1〜F)と集中パラメータκ(l,f)(l=1〜L、f=1〜F)、および音源位置を表す状態が背景雑音に対応する状態を取る条件下での、特徴ベクトルz(t,f)の条件付き確率分布である複素ワトソン分布のモデルパラメータである平均方向ベクトルa(0,f)(f=1〜F)と集中パラメータκ(0,f)(f=1〜F)を記憶する。これらのモデルパラメータは、音源位置候補のそれぞれに対応する状態に対しては例えば第4の実施形態に記載の方法により計算でき、背景雑音に対応する状態に対しては例えば第3の実施形態に記載の方法により計算できる。
事前確率分布計算部40は、音源位置を表す状態の事前確率分布を荷重とする、パラメータ記憶部30に記憶されたモデルパラメータである平均方向ベクトルa(l,f)(l=0〜L、f=1〜F)と集中パラメータκ(l,f)(l=0〜L、f=1〜F)に基づく、音源位置を表す状態が既知の条件下での、特徴ベクトルz(t,f)の条件付き確率分布の荷重和である式(21)の混合モデルを、特徴ベクトル計算部20によって計算された特徴ベクトルz(t,f)に当てはめ、事前確率分布を計算する。本実施形態では、事前確率分布P(g(t,f)=l)がフレームに依存すると仮定し、α(l,t)(l=0〜L,t=1〜T)で表す。α(l,t)は制約条件α(0,t)+…+α(L,t)=1を満たす。式(21)の混合モデルを特徴ベクトルz(t,f)に当てはめる方法には様々な方法があるが、本実施形態では式(21)に関する尤度を勾配法により事前確率分布α(l,t)(l=0〜L、t=1〜T)に関して最大化することにより行う。
事前確率分布計算部40における処理は、例えば下記の通りである。
1.事前確率分布α(l,t)(l=0〜L、t=1〜T)をα(l,t)←1/(L+1)により初期化する。
2.次の式(55)および式(56)による事前確率分布α(l,t)(l=0〜L、t=1〜T)の更新を交互に所定回数(例えば10回)反復する。
3.事前確率分布α(l,t)(l=0〜L、t=1〜T)を出力する。
ここで、ベクトル〜α(t)(αの前の記号「〜」はαの上に記号「〜」を付すことを表す。)はα(l,t)(l=0〜L)からなる(L+1)次元縦ベクトルであり、ベクトル〜w(t,f)はW(z(t,f);a(l,f),κ(l,f))(l=0〜L)からなる(L+1)次元縦ベクトルである。なお、式(55)および式(56)の導出については、第1の実施形態の場合と同様であるから省略する。
音源位置計算部50は、事前確率分布計算部40から受け取った事前確率分布α(l,t)(l=0〜L、t=1〜T)に基づいて、検出された音源位置の集合G(t)(t=1〜T)を計算し出力する。具体的には、事前確率分布α(l,t)(l=0〜L、t=1〜T)の定義域を目的音源に対応するl=1〜Lに制限したα(l,t)(l=1〜L、t=1〜T)に対して、第2の実施形態の音源位置計算部50における処理を適用することにより、検出された音源位置の集合G(t)(t=1〜T)を計算する。
マスク推定部70は、パラメータ記憶部30からの平均方向ベクトルa(l,f)(l=0〜L、f=1〜F)と集中パラメータκ(l,f)(l=0〜L、f=1〜F)、事前確率分布計算部40からの事前確率分布α(l,t)(l=0〜L、t=1〜T)、およびトラッキング部51からの音源ごとフレームごとの音源位置(方位角)ρ(n,t)(n=1〜N,t=1〜T)を受け取って、特徴ベクトルz(t,f)に対する背景雑音および各目的信号の時間周波数点ごとの寄与度(事後確率)であるマスクγ(n,t,f)(n=0〜N、t=1〜T、f=1〜F)を計算し出力する。ここで、γ(0,t,f)は背景雑音に対応するマスクであり、γ(n,t,f)(n=1〜N)は目的信号nに対応するマスクである。
マスクγ(n,t,f)は様々な方法により計算することができるが、例えば以下のように計算する。
1.特徴ベクトルz(t,f)が与えられた条件下でg(t,f)=lとなる事後確率P(g(t,f)=l|z(t,f))(l=0〜L、t=1〜T、f=1〜F)を次の式(57)および式(58)により計算する。
2.背景雑音に対応するマスクγ(0,t,f)(t=1〜T、f=1〜F)を次の式(59)により計算する。
3.フレームtにおいて各目的信号nに対応する音源位置候補の番号lの集合J(n,t)(n=1〜N、t=1〜T)を次の式(60)により計算する。
4.目的信号に対応するマスクγ(n,t,f)(n=1〜N、t=1〜T、f=1〜F)を次の式(61)により計算する。
5.マスクγ(n,t,f)(n=0〜N、t=1〜T、f=1〜F)を出力する。
信号強調部80は、時間周波数分析部10からの観測信号ベクトルy(t,f)、ダイアリゼーション部60からの0または1のいずれかの値を取るダイアリゼーション結果d(n,t)(n=1〜N、t=1〜T)、およびマスク推定部70からの背景雑音および各目的信号のマスクγ(n,t,f)(n=0〜N、t=1〜T、f=1〜F)を受け取って、各目的信号s(n,τ)を推定する。
信号強調部80における具体的な処理の例は以下の通りである。
1.観測信号の共分散行列Φ(f)を次の式(62)により計算する。
2.ダイアリゼーション結果d(n,t)(n=1〜N、t=1〜T)を用いて修正したマスク〜γ(n,t,f)(n=0〜N、t=1〜T、f=1〜F)を次の式(63)および式(64)により計算する。式(63)は、d(n,t)=0のときにはフレームtにおける音源nのマスクを0で置き換えることを意味している。また、式(64)は、マスク〜γ(n,t,f)のnに関する総和が1になるようにするための処理である。
3.共分散行列Ψ(n,f)(n=0〜N、f=1〜F)を次の式(65)により計算する。ここで、行列Ψ(0,f)は背景雑音に対応する共分散行列であり、行列Ψ(n,f)(n=1〜N)はn番目の目的信号と背景雑音の和に対応する共分散行列である。
4.n番目の目的信号と背景雑音の和に対応する共分散行列Ψ(n,f)から背景雑音に対応する共分散行列Ψ(0,f)を減算することにより、n番目の目的信号に対応する共分散行列〜Ψ(n,f)(n=1〜N、f=1〜F)を求める。次に、各目的信号のステアリングベクトルh(n,f)(n=1〜N、f=1〜F)を、行列〜Ψ(n,f)の最大固有値に対応する固有ベクトルとして求める。そして、ベクトルh(n,f)の第1要素が1に等しくなるように、h(n,f)←h(n,f)/h(1,n,f)によりベクトルh(n,f)を正規化する。ここで、h(1,n,f)はベクトルh(n,f)の第1要素を表す。
5.最小分散ビームフォーマに基づき、各目的信号の時間周波数変換s(n,t,f)(n=1〜N、t=1〜T、f=1〜F)を次の式(67)により計算する。
6.各目的信号の時間周波数変換s(n,t,f)(n=1〜N、t=1〜T、f=1〜F)に時間周波数変換の逆変換を適用することにより、各目的信号s(n,τ)を計算する。
[第11の実施形態]
次に、第11の実施形態の構成について説明する。第11の実施形態は、背景雑音下でN個(N>0)の目的音声が存在する状況において、本発明により推定した音源位置に基づいて各目的音声の波形を推定し、各目的音声に対して既存の音声認識技術を適用することで各目的音声を音声認識する例である。本発明によれば、背景雑音や複数の話者による音声が混在した状況でも、混ざった目的信号を個々の目的信号に分離するとともに、背景雑音を除去し、高精度な音声認識を実現できる。応用例としては、例えば様々な音が鳴っているオフィスの片隅で行われた会議の自動書き起こし等が挙げられる。
図7を用いて、第11の実施形態に係る信号処理装置の構成について説明する。図7は、第11の実施形態に係る信号処理装置の構成の一例を示す図である。図7に示すように、信号処理装置5は、時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50、トラッキング部51、ダイアリゼーション部60、マスク推定部70、信号強調部80、音声認識部90を有する。時間周波数分析部10、特徴ベクトル計算部20、パラメータ記憶部30、事前確率分布計算部40、音源位置計算部50、トラッキング部51、ダイアリゼーション部60、マスク推定部70、信号強調部80については第10の実施形態と同様である。音声認識部90は、信号強調部80から各目的信号の波形を受け取って、これに既存の音声認識技術を適用することで、各目的信号に対する認識結果を出力する。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
実施形態の信号処理装置1〜5は、パッケージソフトウェアやオンラインソフトウェアとして上記の音源定位、トラッキング、ダイアリゼーション、音声強調、音声認識を実行する信号処理プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の信号処理プログラムを情報処理装置に実行させることにより、情報処理装置を信号処理装置1〜5として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
また、信号処理装置1〜5は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の信号処理に関するサービスを提供する信号処理サーバ装置として実装することもできる。例えば、信号処理サーバ装置は、観測信号を入力とし、音源の位置を出力とする音源定位サービスを提供するサーバ装置として実装される。この場合、信号処理サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の信号処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
図8は、プログラムが実行されることにより信号処理装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、信号処理装置1〜5の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、信号処理装置1〜5における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。