【文献】
中谷智広他,"音源スペクトルHMMと音源方向モデルの教師無し同時学習に基づく多チャンネル音源分離",日本音響学会2011年春季研究発表会講演論文集[CD−ROM],2011年 3月,pp.805-808
【文献】
高橋徹他,"実環境音声認識のためのロボット聴覚システム開発とパラメータチューニング ",情報処理学会創立50周年記念(第72回)全国大会講演論文集,2010年 3月,pp.5-29〜5-30
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述の音源分離及び音源定位の2つの問題を同時に解決することができれば、例えば、自律ロボットが障害物回避を行いながら、騒音環境下で特定のユーザの指令コマンドを音声で受け取って行動することなど、非常に高度な知能システムを実現することができる。
【0007】
しかしながら、非特許文献1に代表される既存手法では、音源分離及び音源定位という相互依存する問題を個別に解決している。例えば、非特許文献1の手法は音源分離を主目的としており、音源分離完了後に各音源の定位を行うことを前提にしている。また、非特許文献2の手法は逆に各音源の定位を完了した後に、各音源が発する音声信号を分離している。これらの従来手法のように、まず、音源分離及び音源定位の一方の問題を何らかの事前情報や強い仮定を伴う方法で解決した後に、他方の問題を解決する場合には、最初に解決した一方の問題の精度が悪かった場合に、他方の問題の精度も大きく劣化してしまう、という問題がある。
【0008】
本発明は上記問題点を解決するために成されたものであり、音源分離及び音源定位の両方の問題に対して、安定して高い性能を得ることができる音源分離定位装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明の音源分離定位装置は、複数の音源の各々から発せられた各音の混合音を、各々異なる位置に配置された複数の観測手段により観測した混合音信号を受け付ける受付手段と、前記受付手段により受け付けた混合音信号を、前記複数の音源の各々に対応するように分離する音源分離と、前記観測手段を基準とした前記複数の音源の各々が存在する方向を推定する音源定位とを、前記音源分離と前記音源定位とで相互に依存させた変数を用いて反復処理する同時最適化により解析する解析手段と、前記解析手段により解析された音源分離及び音源定位の結果を出力する出力手段と、を含んで構成されている。
【0010】
本発明の音源分離定位装置によれば、受付手段が、複数の音源の各々から発せられた各音の混合音を、各々異なる位置に配置された複数の観測手段により観測した混合音信号を受け付ける。そして、解析手段が、受付手段により受け付けた混合音信号を、複数の音源の各々に対応するように分離する音源分離と、観測手段を基準とした複数の音源の各々が存在する方向を推定する音源定位とを、音源分離と音源定位とで相互に依存させた変数を用いて反復処理する同時最適化により解析する。相互に依存させた変数を用いるとは、音源分離及び音源定位の一方で求めた変数を、他方の変数を求める際に用いることである。最後に、出力手段が、解析手段により解析された音源分離及び音源定位の結果を出力する。
【0011】
このように、音源分離と音源定位とを相互に依存させて同時最適化により解析することにより、音源分離及び音源定位の両方の問題に対して、安定して高い性能を得ることができる。
【0012】
また、前記受付手段は、前記混合音信号を、時間フレームt及び周波数ビンf毎の各要素からなる時間周波数領域の観測信号x
tfに変換して前記解析手段に受け渡すことができる。また、前記解析手段は、前記観測信号x
tfの各要素が、仮想的に設定した複数の音源の各々へ該各要素を割り当てる複数のマスクのk番目のマスクに対応する信号である確率を表すマスク変数ξ
tfkを、前記複数のマスクの各々について計算する音源時間周波数マスク変数計算手段と、前記k番目のマスクに対応した音源が、前記観測手段を基準として分割された複数の方向のd番目の方向に存在する確率を表す音源定位変数η
kdを、前記複数の方向の各々について計算する音源定位変数計算手段と、前記マスク変数ξ
tfk及び前記音源定位変数η
kdの計算に用いられる統計量を計算する統計量計算手段と、前記音源時間周波数マスク変数計算手段、前記音源定位変数計算手段、及び前記統計量計算手段の計算を、予め定めた収束条件を満たすまで反復させる収束条件判定手段と、を含んで構成することができ、前記マスク変数ξ
tfkの計算に前記音源定位変数η
kdを用い、前記音源定位変数η
kdの計算に前記マスク変数ξ
tfkを用いることができる。これにより、音源分離と音源定位とを相互に依存させて、効率よく同時最適化を行うことができる。
【0013】
また、前記解析手段は、無響環境において測定された前記複数の観測手段のステアリングベクトルを用いて、前記音源分離及び前記音源定位を解析することができる。これにより、様々な残響環境にも適用することができる。
【0014】
また、本発明の音源分離定位方法は、受付手段と、解析手段と、出力手段とを含む音源分離定位装置における音源分離定位方法であって、前記受付手段が、複数の音源の各々から発せられた各音の混合音を、各々異なる位置に配置された複数の観測手段により観測した混合音信号を受け付け、前記解析手段が、前記受付手段により受け付けた混合音信号を、前記複数の音源の各々に対応するように分離する音源分離と、前記観測手段を基準とした前記複数の音源の各々が存在する方向を推定する音源定位とを、前記音源分離と前記音源定位とで相互に依存させた変数を用いて反復処理する同時最適化により解析し、前記出力手段が、前記解析手段により解析された音源分離及び音源定位の結果を出力する方法である。
【0015】
また、前記解析手段が、音源時間周波数マスク変数計算手段と、音源定位変数計算手段と、統計量計算手段と、収束条件判定手段とを含む音源分離定位装置における音源分離定位方法であって、前記受付手段が、前記混合音信号を、時間フレームt及び周波数ビンf毎の各要素からなる時間周波数領域の観測信号x
tfに変換して前記解析手段に受け渡し、前記音源時間周波数マスク変数計算手段が、前記観測信号x
tfの各要素が、仮想的に設定した複数の音源の各々へ該各要素を割り当てる複数のマスクのk番目のマスクに対応する信号である確率を表すマスク変数ξ
tfkを、前記複数のマスクの各々について計算し、前記音源定位変数計算手段が、前記k番目のマスクに対応した音源が、前記観測手段を基準として分割された複数の方向のd番目の方向に存在する確率を表す音源定位変数η
kdを、前記複数の方向の各々について計算し、前記統計量計算手段が、前記マスク変数ξ
tfk及び前記音源定位変数η
kdの計算に用いられる統計量を計算し、前記収束条件判定手段が、前記音源時間周波数マスク変数計算手段、前記音源定位変数計算手段、及び前記統計量計算手段の計算を、予め定めた収束条件を満たすまで反復させ、前記マスク変数ξ
tfkの計算に前記音源定位変数η
kdを用い、前記音源定位変数η
kdの計算に前記マスク変数ξ
tfkを用いることができる。
【0016】
また、本発明の音源分離定位方法において、前記解析手段が、無響環境において測定された前記複数の観測手段のステアリングベクトルを用いて、前記音源分離及び前記音源定位を解析することができる。
【0017】
また、本発明の音源分離定位プログラムは、コンピュータを、上記の音源分離定位装置を構成する各手段として機能させるためのプログラムである。
【発明の効果】
【0018】
以上説明したように、本発明の音源分離定位装置、方法、及びプログラムによれば、音源分離と音源定位とを相互に依存させて同時最適化により解析することにより、音源分離及び音源定位の両方の問題に対して、安定して高い性能を得ることができる、という効果が得られる。
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0021】
<概要>
まず、本実施の形態の概要について説明する。
図1及び
図2は、本実施の形態の概要を示すイメージ図である。
【0022】
図1に示すように、音源分離は、観測した混合音をフーリエ変換によって時間周波数領域の信号に変換した観測信号中の各(t,f)要素を、K種類の音源に割り振ることで実現する。なお、tは時間フレームを表すインデックス、fは周波数ビンを表すインデックスである。この方法は、時間周波数領域の観測信号のスパース性を利用した音源分離手法として、非特許文献1などで利用されており、良い音源分離性能を示すことが知られている。時間周波数領域の観測信号の各音源への割り当ては「音源時間周波数マスク」と呼ばれる。このマスクによって混合音を音源毎に分離し、各音源から発せられた音を復元することができる。
【0023】
図2に示すように、音源定位は、K種類の音源の方向を、マイクロフォンアレイを中心とした360度方向のいずれかに決定することで実現する。数学的には、マイクロフォンの方向解像度などの制約に従って、方向をD種類へ離散化(分割)する。そして、各音源をD種類の方向中のいずれかの方向1つへ割り当てる、すなわちD種類の方向へクラスタリングすることによって定位する。
【0024】
これら個々の手法自体は新しいものではないが、本実施の形態では、音源分離及び音源定位を同時に、かつ相互依存する形で解決する枠組みを特徴とする。すなわち、本実施の形態では、音源時間周波数マスクを計算することで音源分離を可能とする。また、音源クラスタ毎にその方向を計算することで音源定位を可能とする。さらに、これらの音源分離及び音源定位を交互反復して同時最適化し、繰り返し計算手法により収束させることで、複数音源の同時分離及び定位を可能とすることを特徴とする。
【0025】
さらに、本実施の形態のもう一つの特徴として、マイクロフォンアレイの無響ステアリングベクトルを利用する点がある。無響ステアリングベクトルとは、各マイクロフォンアレイの音響的な固有の性質である、無響室のインパルス応答である。この情報は実際の有響環境下における観測状況でのインパルス応答は異なるが、そのインパルス応答を予測する上では非常に有効であることが多い。本実施の形態では、この無響ステアリングベクトルを事前に計測、入力しておき、実際の混合音に適した音響特性の推定を音源分離及び定位と同時に行う。これにより、残響環境によらず、良い分離及び定位性能を得ることができる。
【0026】
<システム構成>
本実施の形態に係る音源分離定位装置10は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述する音源分離定位処理ルーチンを実行するためのプログラムを記憶したROM(Read Only Memory)とを備えたコンピュータで構成されており、CPUが音源分離定位処理ルーチンを実行するためのプログラムを、内部記憶装置であるROMから読み込んで実行することにより形成される。
【0027】
このコンピュータは、機能的には、
図3に示すように、解析したい混合音及びマイクロフォンアレイの音響特性を示すデータの入力を受け付ける受付部1と、音源分離及び音源定位の解析に必要な変数を計算及び更新する解析部2と、受け付けたデータ及び計算された情報を記憶する記憶部3と、解析結果を出力する出力部4とを含んだ構成で表すことができる。
【0028】
受付部1は、さらに、混合音観測部11と、時間周波数領域観測変換部12と、事前設定値受付部13とを含んだ構成で表すことができる。
【0029】
混合音観測部11は、記憶装置などの入力器または本装置に付随するマイクロフォンアレイから、観測された混合音が電子データに変換された混合音信号を受け付ける。例えば、既にマイクロフォンアレイによって観測され、電子データに変換された上で、一旦記憶装置に記憶された混合音信号を記憶装置から読み込むことにより、入力データとして受け付けることができる。また、本装置に付随するマイクロフォンアレイで観測された混合音を、直接電子データに変換して受け付けることもできる。
【0030】
時間周波数領域観測変換部12では、混合音観測部11で受け付けた混合音信号を、フーリエ変換を利用して時間周波数領域の信号へと変換する。以下、混合音信号を時間周波数領域に変換した信号を観測信号と呼ぶ。
【0031】
事前設定値受付部13は、キーボードや記憶装置などの入力器から、後述する本装置の実装したモデルに必要な定数、入力された混合音を観測したマイクロフォンアレイの無響ステアリングベクトル情報を含む統計量初期値の一部、及び収束判定閾値の値を受け付ける。
【0032】
解析部2は、さらに、初期値生成部21と、音源時間周波数マスク変数計算部22と、音源定位変数計算部23と、統計量計算部24と、収束条件判定部25とを含んだ構成で表すことができる。
【0033】
初期値生成部21は、受付部1で受け付けた情報を記憶部3の各部へ記憶すると共に、記憶部3の各部に記憶された値の初期化を行う。
【0034】
音源時間周波数マスク変数計算部22は、記憶部3に保存された情報を利用して、音源時間周波数マスク変数を計算し、保存及び更新する。
【0035】
音源定位変数計算部23は、記憶部3に保存された情報を利用して、音源定位変数を計算し、保存及び更新する。
【0036】
統計量計算部24は、記憶部3に保存された情報を利用して、統計量を計算し、保存及び更新する。
【0037】
収束条件判定部25は、記憶部3に保存された情報を利用して、解析部2の計算処理を継続するか、終了するかを判定する。終了する場合は、解析結果を出力部4へ渡す。
【0038】
記憶部3には、
図4に示すように、定数記憶部31、観測信号記憶部32、音源時間周波数マスク変数記憶部33、音源定位変数記憶部34、統計量記憶部35、統計量初期値記憶部36、及び収束判定閾値記憶部37の各記憶部が設けられている。
【0039】
定数記憶部31には、本装置の実装したモデルに必要な定数が記憶される。
【0040】
観測信号記憶部32には、時間周波数領域観測変換部12で変換された観測信号が記憶される。
【0041】
音源時間周波数マスク変数記憶部33には、主に音源分離の解析結果を表現する情報を表す音源時間周波数マスク変数が記憶される。
【0042】
音源定位変数記憶部34には、主に音源定位の解析結果を表現する情報を表す音源定位変数が記憶される。
【0043】
統計量記憶部35には、音源分離及び音源定位に必要となる各種統計量が記憶される。
【0044】
統計量初期値記憶部36には、統計量の計算に必要となる初期値である統計量初期値が記憶される。
【0045】
収束判定閾値記憶部37には、解析結果の収束を判定するために用いる閾値が記憶される。
【0046】
出力部4は、さらに、分離音抽出部41と、音声波形復元部42と、音源方向抽出部43と、最終出力部44とを含んだ構成で表すことができる。
【0047】
分離音抽出部41は、記憶部3に保存された情報を利用して、時間周波数領域での分離音信号を計算して音声波形復元部42へと渡す。
【0048】
音声波形復元部42は、記憶部3に保存された情報、及び分離音抽出部41から渡された各分離音の時間周波数領域信号を利用して、各分離音の時間周波数領域信号を逆フーリエ変換によって分離音の音声信号へと復元する。
【0049】
音源方向抽出部43は、記憶部3に保存された情報を利用して、各音源の方向を計算及び定位する。
【0050】
最終出力部44は、ディスプレイ、プリンタ、スピーカー、磁気ディスクなどで実装された出力装置に、ユーザの所望の形式で音源分離及び音源定位の解析結果を出力する。
【0051】
<本実施の形態の作用>
次に、本実施の形態に係る音源分離定位装置10の作用について説明する。まず、複数のマイクロフォンを任意の配置で設置したマイクロフォンアレイを利用して観測された混合音が記憶装置に混合音信号として記憶された状態、または本装置に付随するマイクロフォンアレイにより混合音が観測されている状態で、音源分離定位装置10において、
図5に示す音源分離定位処理ルーチンが実行される。
【0052】
ステップ100で、混合音観測部11が、記憶装置に記憶された混合音信号を読み込むことにより受け付けるか、または、マイクロフォンアレイにより観測された混合音を電子データである混合音信号に変換して直接受け付ける。
【0053】
次に、ステップ102で、時間周波数領域観測変換部12が、上記ステップ100で受け付けた混合音信号を時間周波数領域の信号である観測信号へ変換する。変換には短時間フーリエ変換(STFT)あるいは高速フーリエ変換(FFT)を利用することができる。変換した観測信号をx
tfで表す。各x
tfは時間フレームt(t=1,...,T)、フーリエ変換によるf(f=1,...,F)番目の周波数ビン(周波数帯)における音声信号の変換表現である。各x
tfはマイク数に相当する要素数のベクトルであり、各要素は複素数である。以後、このx
tfを本装置にとっての観測量として用いる。この観測量は、本実施の形態の中では複素正規分布から生成されるものと仮定する。入力された混合音信号全てを時間周波数領域へ変換し、変換した各x
tfを初期値生成部21に渡す。
【0054】
次に、ステップ104で、事前設定値受付部13が、音源分離定位装置10における解析処理に必要な定数を受け付ける。定数には、観測信号の総時間フレーム数T、観測信号の総周波数ビン数F、仮想的に設定する音源の最大数であるマスク数K、音源方向をクラスタリングするための方向クラス数D、混合音を観測したマイクロフォンアレイのマイク数M、及び統計量の初期値を計算する際に利用される正実数である正則化定数εが含まれる。マスク数Kは、例えば12とすることができるが、さらに多数の音源が予想される場合には、音源数を十分上回る数を設定する。また、正則化定数εは、例えば0.0001と設定することができる。
【0055】
また、事前設定値受付部13は、解析に必要な統計量の初期値の一部(β
k0、κ
d0、a
tf0、v
fd0)も受け付ける。β
k0は音源時間周波数マスク変数の数学モデルに利用されるディリクレ分布の初期パラメータであり、k=1,...,Kに対し0より大きい値を設定する。例えば、β
10=β
20=...=β
K0とすることができる。κ
d0は音源定位変数の数学モデルに利用されるディリクレ分布の初期パラメータであり、d=1,...,Dに対し0より大きい値を設定する。例えば、κ
10=κ
20=...=κ
D0とすることができる。a
tf0は時間周波数領域観測信号の数学モデルで利用されるガンマ分布の初期パラメータである。v
fd0は時間周波数領域観測信号の数学モデルで利用される複素ウィシャート分布の初期パラメータである。例えば、t=1,...,T,f=1,...,F,d=1,...,Dに対しa
tf0=1、v
fd0=Mと設定することができる。
【0056】
さらに、事前設定値受付部13は、マイクロフォンアレイの音響的特性を表す、無響ステアリングベクトルqも受け付ける。無響ステアリングベクトルは周波数ビンf及び方向d毎に式(1)に示すように、M本のマイク毎に事前に無響室で測定したものである。
【0058】
例えば非特許文献1や非特許文献3等の従来手法では、利用するマイクの配置や無響室でのインパルス応答といった、システム固有の音響的特性を利用していない。これは利用するシステムの設定に寄らない一般性を持つものの、音響特性の事前情報が利用できないことで様々な残響環境において高精度な音源分離及び定位性能を得る可能性が低くなってしまう。
【0059】
そこで、本実施の形態では、システム固有の音響特性である無響ステアリングベクトルを事前に測定及び入力しておくことで、様々な残響環境にも適応できる高精度な解析を実現することができる。
【0060】
さらに、事前設定値受付部13は、解析処理の収束判定に利用する収束判定閾値θも受け付ける。収束判定閾値θの値は、ユーザの設定した収束判定基準によって変わるが、本実施の形態では、音源分離解析の変化幅を利用するため、正の実数となる。
【0061】
次に、ステップ200〜600で、解析部2が、記憶部3に定義される変数を最適化するための計算を実施する。記憶部3に定義される変数の最適化には様々な最適化法(例えば、非特許文献4「C.M.ビショップ、“パターン認識と機械学習 上・下”、シュプリンガー・ジャパン、2007.」)を利用できるが、本実施の形態では、変分ベイズ法に基づく音源分離及び音源定位の同時最適化を行う。
【0062】
まず、ステップ200で、初期値生成部21が
図6に示す初期値生成処理ルーチンを実行して初期値を設定する。そして、ステップ300で、音源時間周波数マスク変数計算部22が
図7に示す音源時間周波数マスク変数計算処理ルーチンを実行し、ステップ400で、音限定位変数計算部23が
図8に示す音限定位変数計算処理ルーチンを実行し、ステップ500で、統計量計算部24が
図9に示す統計量計算処理ルーチンを実行して順番に各値を計算し、収束条件を満足するまで繰り返し反復計算を行うことで最適化する。変分ベイズ法に基づく計算では、必ず計算結果が収束することが保証されている。
【0063】
以下、各処理について詳述する。なお、音源時間周波数マスク変数計算処理ルーチン、音限定位変数計算処理ルーチン、及び統計量計算処理ルーチンの実行の順番は任意でよい。
【0064】
まず、初期値生成処理ルーチン(
図6)では、ステップ202で、上記ステップ104において事前設定値受付部13が受け付けた総時間フレーム数T、総周波数ビン数F、マスク数K、方向クラス数D、マイク数M、及び正則化定数εを、定数記憶部31に保存する。
【0065】
次に、ステップ204で、上記ステップ102において時間周波数領域観測変換部12の計算の結果得られた観測信号x
tfを、観測信号記憶部32に保存する。
【0066】
次に、ステップ206で、上記ステップ104において事前設定値受付部13が受け付けた収束判定閾値θを、収束判定閾値記憶部37に保存する。
【0067】
次に、ステップ208で、統計量の初期値を設定する。まず、上記ステップ104において事前設定値受付部13が受け付けた統計量初期値の一部(β
k0、κ
d0、a
tf0、v
fd0)を統計量初期値記憶部36に保存する。さらに、上記ステップ104において事前設定値受付部13が受け付けた無響ステアリングベクトルq
fd、及び上記ステップ102で計算された観測信号x
tfを利用して、式(2)及び(3)に示すように、統計量初期値の一部であるG
fd0及びb
tf0を計算する。なお、Hはエルミート転置を示し、I
MはM次元の単位行列を表す。
【0069】
式(2)及び(3)により計算された統計量初期値の一部(G
fd0、b
tf0)を統計量初期値記憶部36に保存する。
【0070】
次に、ステップ210で、式(4)により、音源時間周波数マスク変数の初期値ξ
tfk0を計算し、計算したξ
tfk0をξ
tfkとして音源時間周波数マスク変数記憶部33に保存する。なお、Zはkに関する和を1にするための正規化項である。
【0072】
次に、ステップ212で、式(5)及び(6)により、音源定位変数の初期値η
kd0を計算し、計算したη
kd0をη
kdとして音源定位変数記憶部34に保存する。
【0074】
以上、初期値の設定が終了すると、初期値生成処理ルーチンを終了して、音源分離定位処理ルーチンへリターンする。
【0075】
次に、音源時間周波数マスク変数計算処理ルーチン(
図7)では、ステップ302で、記憶部3から必要な情報をロードし、次に、ステップ304で、時間フレームに対応する変数tを1にセットし、次に、ステップ306で、周波数ビンに対応する変数fを1にセットする。
【0076】
次に、ステップ308で、式(7)により、k=1,...,Kについて音源時間周波数マスク変数ξ
tfkを計算する。なお、Ψはディガンマ関数である。
【0078】
音源時間周波数マスク変数ξ
tfkは、観測信号を分離するために計算する変数である。t=1,...,T、f=1,...,F、k=1,...,Kとする。ξ
tfkは時間フレームt、周波数ビンfにおける観測信号がk番目の音源(マスク)による信号である確率を表す。この音源時間周波数マスク変数ξ
tfkに従って、観測信号をK音源に分離することで、音源毎の分離音を復元することができる。この音源時間周波数マスク変数ξ
tfkは、本実施の形態では多項分布から生成されると仮定しており、その多項分布のパラメータは統計量βでパラメタライズされたディリクレ分布によって決定されるものとする。
【0079】
式(7)のポイントは、右辺第4項にあるように、音源定位変数η
kdが必要であるという点である。これは、音源定位の情報を使って音源分離が改善されることを表している。
【0080】
次に、ステップ310で、上記ステップ308でk=1,...,Kについて計算された音源時間周波数マスク変数ξ
tfkを、式(8)により正規化する。ξ
tfkは確率であるので、各t及びf毎に、全てのkに対する和が常に1となるように正規化する。
【0082】
次に、ステップ312で、fを1インクリメントして、次のステップ314で、fが総周波数ビン数Fを超えたか否かを判定し、fが未だFに到達していない場合には、ステップ308へ戻って、ステップ308〜312の処理を繰り返す。
【0083】
一方、fがFを超えた場合には、ステップ316へ移行し、tを1インクリメントして、次のステップ318で、tが総時間フレーム数Tを超えたか否かを判定し、tが未だTに到達していない場合には、ステップ306へ戻って、ステップ306〜316の処理を繰り返す。
【0084】
一方、tがTを超えた場合には、ステップ320へ移行し、計算された音源時間周波数マスク変数ξ
tfkを音源時間周波数マスク変数記憶部33に保存して更新し、音源時間周波数マスク変数計算処理ルーチンを終了して、音源分離定位処理ルーチンへリターンする。
【0085】
次に、音源時定位変数計算処理ルーチン(
図8)では、ステップ402で、記憶部3から必要な情報をロードし、次に、ステップ404で、各マスクに対応する変数kを1にセットする。
【0086】
次に、ステップ406で、式(9)により、d=1,...,Dについて音源定位変数η
kdを計算する。
【0088】
音源定位変数η
kdは、複数音源の定位、すなわち各音源のマイクロフォンアレイに対する方向を推定するために計算する変数である。k=1,...,K、d=1,...,Dとする。η
kdは音源kの方向がd番目の離散化された方向にある確率を表す。この変数に従って各音源の方向を推定することができる。この変数は、本実施の形態では多項分布から生成されると仮定しており、その多項分布のパラメータは統計量κでパラメタライズされたディリクレ分布によって決定されるものとする。
【0089】
式(9)のポイントは、右辺第3項にあるように、音源時間周波数マスク変数ξ
tfkが必要であるという点である。これは、音源分離の情報を使って音源定位が改善されることを表している。
【0090】
次に、ステップ408で、上記ステップ406でd=1,...,Dについて計算された音源定位変数η
kdを、式(10)により正規化する。η
kdは確率であるので、k毎に、全てのdに対する和が常に1となるように正規化される。
【0092】
次に、ステップ410で、kを1インクリメントして、次のステップ412で、kが設定された最大マスク数Kを超えたか否かを判定し、kが未だKに到達していない場合には、ステップ406へ戻って、ステップ406〜410の処理を繰り返す。
【0093】
一方、kがKを超えた場合には、ステップ414へ移行し、計算された音源定位変数η
kdを音源定位変数記憶部34に保存して更新し、音源定位変数計算処理ルーチンを終了して、音源分離定位処理ルーチンへリターンする。
【0094】
次に、統計量計算処理ルーチン(
図9)では、音源時間周波数マスク変数計算処理ルーチン及び音源定位変数計算処理ルーチンで用いる各統計量を計算する。まず、ステップ502で、記憶部3から必要な情報をロードする。
【0095】
次に、ステップ504で、音源時間周波数マスク変数の数学モデルに利用されるディリクレ分布のパラメータであるβ
tkを、t=1,...,T及びk=1,...,Kについて、式(11)により計算する。β
tkは、直感的には時間フレームtにおいて、各周波数ビンf上の観測信号が音源kからの信号で説明される可能性の強さを表すパラメータであり、0より大きい値となる。。
【0097】
次に、ステップ506で、音源定位変数の数学モデルに利用されるディリクレ分布のパラメータであるκ
dを、d=1,...,Dについて、式(12)により計算する。κ
dは、直感的には音源kが方向dに存在する可能性の強さを表すパラメータであり、0より大きい値となる。
【0099】
次に、ステップ508で、時間周波数領域観測信号の数学モデルで利用されるガンマ分布のパラメータであるa
tfkを、t=1,...,T、f=1,...,F、及びk=1,...,Kについて、式(13)により計算する。
【0101】
次に、ステップ510で、時間周波数領域観測信号の数学モデルで利用されるガンマ分布のパラメータであるb
tfkを、t=1,...,T、f=1,...,F、及びk=1,...,Kについて、式(14)により計算する。
【0103】
次に、ステップ512で、時間周波数領域観測信号の数学モデルで利用される複素ウィシャート分布のパラメータであるv
fdを、f=1,...,F及びd=1,...,Dについて、式(15)により計算する。
【0105】
次に、ステップ514で、時間周波数領域観測信号の数学モデルで利用される複素ウィシャート分布のパラメータであるG
fdを、f=1,...,F及びd=1,...,Dについて、式(16)により計算する。G
fdは、無響ステアリングベクトルの情報を取り込んだ、実際の有響環境の音響情報を含む行列である。
【0107】
次に、ステップ516で、上記ステップ504〜514で計算した各統計量を、統計量記憶部35に保存して更新し、統計量計算処理ルーチンを終了して、音源分離定位処理ルーチンにリターンする。
【0108】
音源分離定位処理ルーチンでは、次に、ステップ600へ移行し、収束条件判定部25が、記憶部3に保存された各値を監視して、計算の収束条件が満たされたか否かを判定する。収束条件は反復計算の繰り返し回数など任意に設定してよいが、変分ベイズ法に基づく解析計算を行う本実施の形態では、例えば、式(17)に示すような収束条件を用いることができる。ただし、ξ’は更新前のξの値を表す。この収束条件を用いた場合には、必ず各値の計算が収束することが知られている。
【0110】
なお、式(17)では、音源時間周波数マスク変数ξ
thkの変化幅を収束条件として用いているが、音源定位変数η
kdの変化幅を収束条件として用いてもよい。
【0111】
収束条件を満たしていない場合には、ステップ300へ戻り、各値の計算を繰り返す。一方、収束条件を満たした場合には、ステップ700へ移行する。
【0112】
ステップ700では、分離音抽出部41が、観測信号x
tf及び音源時間周波数マスク変数ξ
tfkを利用することで、各音源に対応した時間周波数領域での分離音信号を計算する。まず、K個の音源マスク数、すなわち仮想的な最大の音源数に対して、N<=Kとなる抽出音源数Nを決定する。これは事前に指定しておいてもよいし、解析終了後に記憶部3の情報を利用して何らかの決定則に基づいて自動的または人手で決定してもよい。
【0113】
同時に、音源時間周波数マスク変数ξ
tfkのインデックスの順番を入れ替える。具体的に入れ替えるインデックスはξ
tfkの最後のインデックスであるkである。インデックスの順番を入れ替える方法は、下記に示すように、音源インデックスk毎に全てのマスク変数の総和を計算し、この総和が大きい順番に入れ替える。
【0115】
上記のインデックスの並べ替えは、直観的には、音源kを予想される音量が大きい順番に入れ替えることに相当する。入れ替えた音源のインデックスをnで表す。
【0116】
そして、入れ替えたインデックスのもとで、式(18)を利用して、n番目に音量の大きい音源の時間フレームt、周波数ビンfでの時間周波数領域の分離音信号y
tfnを計算する。
【0118】
式(18)の意味は、右辺第1項の時間周波数マスク変数ξ
tfkの分数によって、N個の音源の中で各(t,f)における音源nの音が占める割合を計算し、この割合で混合音の時間周波数領域表現であるx
tfを分配するというものである。全てのt=1,...,T、f=1,...,F、及びn=1,...,Nに対して式(18)の計算が終了したら、音源毎の時間周波数領域の分離音信号の計算結果を音声波形復元部42へ渡すと共に、入れ替えた音源インデックス情報nを音源方向抽出部43へ渡す。
【0119】
次に、ステップ702で、音声波形復元部42が、上記ステップ700において分離音抽出部41より受け取った分離音信号y
tfnを変換して、通常の音声波形を復元する。具体的には、時間周波数領域観測変換部12の逆変換である逆フーリエ変換を音源n毎に実施する。
【0120】
次に、ステップ704で、音源方向抽出部43が、上記ステップ700において分離音抽出部41より受け取った入れ替えた音源インデックスn、及び音源定位変数η
kdを利用して、N個の音源の方向を計算する。具体的には、各nに対して式(19)の計算を行えばよい。これによって音源nの存在する方向のインデックスd
nを求めることができる。
【0122】
次に、ステップ706で、最終出力部44が、記憶部3、分離音抽出部41、音声波形復元部42、及び音源方向抽出部43の情報を用いて、ユーザの所望の形で解析結果を出力して、音源分離定位処理ルーチンを終了する。
【0123】
なお、上記ステップ702及び704の処理はいずれを先に行ってもよい。
【0124】
以上説明したように、本実施の形態に係る音源分離定位装置によれば、複数音源の各々から発せられた音の混合音を観測した際に、各音源への音源分離と音源の方向定位とを、同時に一つの統計的枠組みによって解決することにより、既存手法のように「一方の問題で失敗した結果、他方の問題まで失敗する」という状況を回避し、両方の問題に対して、安定して高い性能を得ることができる。
【0125】
また、音源分離と音源定位とは相互依存の問題であるため、両問題を同時に解決することにより、各問題に対して個別に解決するよりも高い精度を得ることができる。
【0126】
さらに、複数音源の同時分離及び定位に、混合音を観測するマイクロフォンアレイについて事前に計測した無響環境のステアリングベクトルを利用することにより、現実の未知有響環境下でステアリングベクトルを再計測することなく、様々な環境に適合して、音源分離及び定位を実施することができる。
【0127】
<実験例>
次に、本実施の形態に係る音源分離定位装置における実験の結果について説明する。
【0128】
図10に実験のセットアップを示す。本実験では、音源数N=2または3を既知として、マイク数M=2,4,8のパターンで各音源の分離及び定位の性能評価を行う。実験では、離散化した方向の数はD=72、すなわち5度おきに方向を区分けする。
【0129】
図11は音源定位の性能を示すグラフである。同図(a)は音源数が2、(b)は音源数が3の場合である。図中RT
60は、混合音の観測環境の残響時間を表している。これによれば、残響が長くなるとその分定位性能が落ちることがわかる。しかし、マイク数が多い、例えばM=8の場合には、定位誤差はほとんどゼロで済むという結果である。すなわち、特にマイク数が多い場合、本実施の形態に係る音源分離定位装置によれば、高精度に音源の定位を実現することができる。
【0130】
図12は音源分離の性能を示すグラフである。ここでは従来手法との比較を行った。比較対象は、マイク数と音源数との組み合わせによって変更する。まず、M>=Nの場合、すなわちマイク数の方が音源よりも多い場合は非特許文献3のIVA法を利用する。一方、M<N、すなわちマイク数の方が音源よりも少ない場合は非特許文献1の方法(TF−perm)を利用する。
【0131】
図12では、(a)、(c)、及び(e)は音源数が2の場合、(b)、(d)、及び(f)は音源数が3の場合である。また、(a)及び(b)はRT
60=20msec、(c)及び(d)はRT
60=400msec、(e)及び(f)はRT
60=600msecである。すなわち、上から下の行に移る毎に残響時間が長い環境での実験結果を示している。(b)、(d)、及び(f)ではマイク数が2のときに非特許文献1の手法の結果を掲載している。
【0132】
同図より明らかなように、ほぼ全ての実験環境及びマイク数で、本実施の形態に係る音源分離定位装置は、従来手法よりも良い分離精度を達成することができている。これは、音源分離を音源定位と同時に問題を解決することで、より良い音源分離が達成できることを意味しており、本発明の有効性を示すものである。
【0133】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0134】
例えば、上述の音源分離定位装置は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
【0135】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。