"レーザレンジファインダにより人の位置を検出する人位置検出手段と、マイクロホンアレイの出力から得られる複数チャンネルの音源信号の各々と、前記マイクロホンアレイに含まれる各マイクロホンの間の位置関係と、前記人位置検出手段の出力とに基づいて、前記マイクロホンアレイの位置に関連して定められる点を中心とする空間内で定義された複数の方向の各々について、所定時間ごとにMUSICパワーを算出し、当該MUSICパワーのピークを音源位置として前記所定時間ごとに検出するための音源定位手段と、前記マイクロホンアレイの出力信号から、前記音源定位手段により検出された音源位置からの音声信号を分離する音源分離手段と、前記音源分離手段により分離された音声信号の属性を判定する音源属性判定手段とを含む、音源定位装置。前記音源属性判定手段は、複数の個人の音声の音響的特徴量の統計的モデルである複数の個人別音響モデルと、人間以外の音源であって、属性が既知の雑音源からの音響的特徴量の統計的モデルである複数の雑音音響モデルと、前記人位置検出手段の出力と、前記音源定位手段の出力とを受け、音源方向に人が存在するときには前記複数の個人別音響モデル及び前記複数の雑音音響モデルとを選択し、音源方向に人が存在しないときには前記複数の雑音音響モデルを選択する、音響モデル選択手段と、前記音響モデル選択手段により選択された音響モデルを用い、前記音源分離手段により分離された音声信号の属性を確率的手法により推定する統計的推定手段とを含む、請求項1に記載の音源定位装置。前記音源定位手段は、マイクロホンアレイの出力から得られる複数チャンネルの音源信号の各々と、前記マイクロホンアレイに含まれる各マイクロホンの間の位置関係とに基づき、前記複数の方向の各々について、所定時間ごとにMUSICパワーを算出し、当該MUSICパワーがしきい値を超えるピークが存在する位置及び方向を音源の概略の位置として推定する概略位置推定手段と、前記概略位置推定手段により推定された位置及び方向のうち、前記人位置検出手段により人が検出された位置及び方向を中心としてより詳細に前記MUSICパワーのピークを検出することにより、音源位置を検出するための詳細検出手段とを含む、請求項1または請求項2に記載の音源定位装置。しかし、特許文献1に記載された方法にはさらに改善の余地があると思われる。例えば、人間とそれ以外の雑音源とが混在している場合、人間の発生する音声と雑音とを精度高く分離する必要がある。そうした音源分離の精度が高くならなければ、例えば音声認識又は話者の同定などの処理の精度を高くすることもできない。特に、人間のように動く音源が存在する場合、又は音源定位をロボットなどのように移動可能なものに設ける場合などにこうしたことが問題となる。さらに、音声認識及び話者同定などに先立ち、音の種類が判定できれば、後続する処理の負担を軽減でき、さらに好ましい。それゆえに本発明の目的は、音源定位とそれら音源の属性の判定とを行なうことができる音源定位装置を提供することである。本発明の第1の局面にかかる音源定位装置は、レーザレンジファインダにより人の位置を検出する人位置検出手段と、マイクロホンアレイの出力から得られる複数チャンネルの音源信号の各々と、マイクロホンアレイに含まれる各マイクロホンの間の位置関係と、人位置検出手段の出力とに基づいて、マイクロホンアレイの位置に関連して定められる点を中心とする空間内で定義された複数の方向の各々について、所定時間ごとにMUSICパワーを算出し、当該MUSICパワーのピークを音源位置として所定時間ごとに検出するための音源定位手段と、マイクロホンアレイの出力信号から、音源定位手段により検出された音源位置からの音声信号を分離する音源分離手段と、音源分離手段により分離された音声信号の属性を判定する音源属性判定手段とを含む。レーザレンジファインダにより検出される人位置が、音源定位のための情報に用いられる。音声信号のみを用いる場合と比較して、音源定位精度を高くできる。音源定位の精度を高くすることができると、分離した音源からの属性を安定して精度高く推定できる。その結果、音源定位とそれら音源の属性の判定とを行なうことができる音源定位及び音属性推定装置を提供することができる。好ましくは、音源属性判定手段は、複数の個人の音声の音響的特徴量の統計的モデルである複数の個人別音響モデルと、人間以外の音源であって、属性が既知の雑音源からの音響的特徴量の統計的モデルである複数の雑音音響モデルと、人位置検出手段の出力と、音源定位手段の出力とを受け、音源方向に人が存在するときには複数の個人別音響モデル及び複数の雑音音響モデルとを選択し、音源方向に人が存在しないときには複数の雑音音響モデルを選択する、音響モデル選択手段と、音響モデル選択手段により選択された音響モデルを用い、音源分離手段により分離された音声信号の属性を確率的手法により推定する統計的推定手段とを含む。音声信号の属性を推定するときに、レーザレンジファインダにより検出される人位置に応じ、その音声信号の音源が人である可能性があれば個人別音響モデルと雑音音響モデルとを用いる。レーザレンジファインダにより人位置が検出されない場合には、雑音音響モデルのみが用いられる。そのため、音源の属性を推定する際の計算量を削減し、処理速度を高めることができるとともに、属性判定の精度を高くすることができる。さらに好ましくは、音源定位手段は、マイクロホンアレイの出力から得られる複数チャンネルの音源信号の各々と、マイクロホンアレイに含まれる各マイクロホンの間の位置関係とに基づき、複数の方向の各々について、所定時間ごとにMUSICパワーを算出し、当該MUSICパワーがしきい値を超えるピークが存在する位置及び方向を音源の概略の位置として推定する概略位置推定手段と、概略位置推定手段により推定された位置及び方向のうち、人位置検出手段により人が検出された位置及び方向を中心としてより詳細にMUSICパワーのピークを検出することにより、音源位置を検出するための詳細検出手段とを含む。音声信号から得られた音源の情報により、大まかな音源定位をした後に、人が検出された位置を中心により細かく音源定位を行なうことができる。人位置を中心とした音源定位の精度を高めることができ、そのための計算量の増加も抑えることができる。以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。以下の実施の形態では、レーザレンジファインダLRFと呼ばれる、対象物との距離を測定し、人物が測定範囲内に存在するか否かを判定し、さらに測定された人物のトラッキングをする技術を用いる。そうした技術は、周囲の環境を測定しながら移動する必要のある移動ロボットの分野では広く普及している。また、LRFの出力を用い、検出された物体と、予め登録された物体とのマッチングをとることにより、物体の同定を行なう技術も開発されている。そのような技術については、例えば以下の参考文献1に記載されている。さらに、人の位置だけでなくその向きまで推定する技術も開発されている参考文献2。なお、人の位置を検出するための装置がLRFに限定されるわけではない。カメラ等により撮影された画像に対し画像処理技術を用いても良い。[参考文献1]坂場俊介、冨澤哲雄、大場光太郎、和田和義、分散配置された物体形状の知識とLRFを併用したパスプラニングに関する研究第8回計測自動制御学会システムインテグレーション部門講演会S12007資料、2007年12月7日、計測自動制御学会。[参考文献2]宮下敬宏、GlasDylan、石黒浩、萩田紀博、レーザ距離計による適応型人形状モデルを利用した人追跡手法、第25回日本ロボット学会学術講演会、1I13、2007。このようにLRFを用いた物体の位置、向き、及び既知の物体とのマッチングなどについては開発が進んでいる。しかし、LRFを音源定位と組合わせることについては従来は全く考慮されていなかった。本実施の形態では、LRFを用いた人間の追跡及び人間同定の技術を音源の追跡及び音源種類の同定に適用することにより、音源分離、音源追跡、及び音源種類の判定の精度を高める。[構成]図1に、本発明の1実施の形態の構成の原理を概念的に示す。本発明に係る音源定位装置の1例である音源分離及び音種類判定装置は、図1には図示していないLRFと、LRFの出力から周囲の人間の位置とその種類人間の識別子とを判定する人位置計測装置と、音源定位のための、特許文献1で開示されている技術とを組合わせることにより、音源種類の判定と音源定位とを行なう。なお、図1がフローチャート形式で示されていることからも分かるように、本実施の形態は、CPU中央演算処理装置を含むコンピュータハードウェアと、コンピュータハードウェアにより実行されることにより、音源種類の判定と音源定位とを行なうコンピュータプログラムとにより実現される。もちろん、そのような組合せでの実現に本発明が限定されるわけではない。例えばプログラムと同様のアルゴリズムをハードウェアにより実現する装置、プログラムをハードワイア化した装置によっても同様の効果を得られることはいうまでもない。図1を参照して、この実施の形態に係る音源定位装置の動作を制御するプログラムは、環境内に人が存在するか否かを、LRF、図示しない赤外線センサ、又は図示しない熱センサなどにより感知し、人が存在しないと判定されたときにはこの装置の動作を終了させるステップ30と、ステップ30の判定が肯定のとき人がいると判定されたとき、装置の動作を終了させるための処理終了処理がユーザにより行なわれたか否かを判定し、行なわれていれば装置の動作を停止させるステップ32と、ステップ32の判定が否定のときに、図示しない複数のマイクロホンアレイ、及び図示しない人位置判定装置の出力に基づいて、音源定位を行なうステップ34と、ステップ34での処理の結果を用い、各音源の音種類の同定を行ない、人の音声と人以外の音声とを分離するステップ36と、ステップ36で分離された人の音声をトラッキングし、適切なラベルを付して蓄積することにより対話音声データベースを順次構築するステップ38とを含む。ステップ38の処理が終了すると制御はステップ32に戻り、以後ステップ32~ステップ38の処理が、ユーザにより終了指示が行われるまで繰返し実行される。図2を参照して、この装置を含む音源定位システムは、複数のマイクロホンアレイを含むマイクロホンアレイ群52と、複数のLRFを含むLRF群56と、予め周囲にいる可能性のある人間に関する特徴とその識別子とを記憶し、LRF群56の出力を用いて、どの位置にどの人間が存在するかを示す情報位置情報及び人間の識別子。以後これらをまとめて人位置情報と呼ぶ。を出力する人位置計測装置58と、システムを構成する各部の同期を制御するための同期用タイムサーバ54と、マイクロホンアレイ群52の出力、同期用タイムサーバ54から出力される同期用制御信号、及び人位置計測装置58から出力される人位置情報を受けるように接続され、マイクロホンアレイ群52から出力される音声信号に基づいて音源定位を行なって音源を分離し、さらに各音源についてその種類を同定して出力する音源定位装置50とを含む。音源定位装置50は、マイクロホンアレイ群52から各マイクロホンアレイの出力する音声信号を受け、人位置計測装置58から人位置情報を受け取り、音源定位処理を行なって、音源から得られたと考えられる音の方向多くの場合、これは音源の数に対応する複数である。を示す情報を出力する音源定位処理部60と、音源定位処理部60から得られる複数音の方向を示す情報と、マイクロホンアレイ群52から得られる音声信号とを受け、音源定位処理部60から得られた方向の音源からの音声信号74を他の音声信号から分離して出力する音源分離処理部70と、音源分離処理部70の出力する音声信号74、人位置計測装置58の出力する人位置情報、及び音源定位処理部60の出力する複数の音信号の方向及び位置に関する情報を用い、各音源からの音種類を同定し、出力する音源種類同定処理部72とを含む。図3を参照して、図2に示す音源定位処理部60は、音源定位を行なうために探索すべき複数の方向を特定する位置ベクトルを記憶する位置ベクトルDBデータベース80と、マイクロホンアレイ群52に含まれる各マイクロホンアレイの位置を示す位置ベクトルを記憶するアレイ位置DB82と、マイクロホンアレイ群52内の各マイクロホンアレイに対応して設けられ、それぞれ位置ベクトルDB80から探索方向の位置ベクトルを、アレイ位置DB82から対応のマイクロホンアレイの位置ベクトルを、図1に示す人位置計測装置58から人位置情報を、それぞれ受け取り、公知のMUSIC法による音源定位の方式に加え、さらに人位置情報を用いた音源定位により音源方向を高精度に決定し、それぞれ出力するための、複数の音源定位部84,...,86,...,88と、アレイ位置DB82から得られる、各マイクロホンアレイの位置情報と、位置ベクトルDB80に記憶された、各方位の位置ベクトルとを用い、各マイクロホンアレイに対する各方位の相対位置ベクトルを生成し出力する相対位置ベクトル生成部108と、複数の音源定位部84,...,86,...,88がそれぞれ出力する音源方位情報と、相対位置ベクトル生成部108から出力される相対位置ベクトルと、人位置計測装置58から与えられる人位置情報とを用い、MUSICスペクトルのピークが存在する可能性の高い位置を詳細に探索し、ピーク位置を示す信号を出力する詳細探索部110とを含む。複数の音源定位部84,...,86,...,88はいずれも同じ構造を持つ。したがって、以下では代表として音源定位部84についてその構造を説明する。図4を参照して、音源定位部84は、対応するマイクロホンアレイからアレイに含まれるマイクロホンの数例えば14個のアナログ音源信号を受け、アナログ/デジタルA/D変換を行なって同数のデジタル音源信号を出力するA/D変換器100と、A/D変換器100から出力される複数のデジタル音声信号を受け、音声信号を所定時間毎にフレーム化し、各フレームについてMUSIC応答の算出のために必要なマイクロホン出力に関する相関行列と、その最大固有値と、最大固有値以外の固有値に対応する固有ベクトルである雑音空間とを算出し出力する固有ベクトル算出部102と、固有ベクトル算出部102から所定時間ごとに出力される情報を使用し、位置ベクトルDB80から得られる位置ベクトルにより定まる各方向についてMUSIC法により算出されるMUSIC応答を出力するMUSIC処理部104と、MUSIC処理部104の出力するMUSIC応答をしきい値と比較することにより、MUSIC音源が存在する可能性の高い方位を、すなわちピークの方位を推定し音源の方向を示す情報を出力するピーク検出部106とを含む。本実施の形態では、A/D変換器100は、一般的な16kHz/16ビットで各マイクロホンの出力であるアナログ信号をデジタル信号に変換する。固有ベクトル算出部102は、A/D変換器100の出力する複数個のデジタル音源信号を所定のフレーム長及び所定のシフト長でフレーム化するためのフレーム化処理部120と、フレーム化処理部120の出力する複数チャンネルのフレーム化された音源信号に対してそれぞれFFTFastFourierTransformationを施し、所定個数の周波数領域以下、各周波数領域をビンと呼び、周波数領域の数をビン数と呼ぶ。に変換して出力するFFT処理部122と、FFT処理部122からフレーム化処理部120におけるシフト長に応じた時間間隔で出力される各チャネルの各ビンの値の間の相関を要素とする相関行列を所定時間ごとに算出し出力する相関行列算出部124と、相関行列算出部124から出力される相関行列を固有値分解し、最大固有地及び雑音空間からなる出力112をMUSIC処理部104に出力する固有値分解部126とを含む。なお本実施の形態では、音源信号の周波数成分のうち、空間的分解能が低い1kHz以下の帯域と、空間的エイリアシングが起こり得る6kHz以上の帯域を除外する。MUSIC処理部104は、対応するマイクロホンアレイに含まれる各マイクロホンの位置を表す位置ベクトルを位置ベクトルDB80から受け、固有値分解部126から出力される固有ベクトル及び雑音空間を用い、音源数が固定されているものとしてMUSIC法によりMUSIC空間スペクトルを算出し出力するMUSIC空間スペクトル算出部140と、MUSIC空間スペクトル算出部140により算出されたMUSIC空間スペクトルに基づいて、MUSIC法にしたがいMUSIC応答と呼ばれる値を位置ベクトルに応じた各方位について算出し出力するためのMUSIC応答算出部142とを含む。ここでいう方位とは、音源位置を探索するために3次元空間に定義されたメッシュの各枠のことをいう。このメッシュは、以下の実施の形態では、仰角5度の範囲で空間を輪状に区切り、仰角の大きさにより異なる数の探索点を設けた。ここでいう探索点とは、上記したメッシュの中央の点のことをいう。探索点の数は、仰角が0度の輪においては隣接する探索点への方向角が5度となるように選ばれている。探索点の数は仰角が0度の輪で最大であり、仰角が大きくなるにつれて少なくなる。この際、一つの輪内の探索点の間の距離角度と考えてもよい。は互いに等しく、その距離角度は仰角が0度の輪における隣接する探索点同士の距離角度とできるだけ近くなるように選ばれている。図5を参照して、音源分離処理部70は、マイクロホンアレイに対応して設けられ、音源定位処理部60から出力される1つの音源の方向及び位置を示す情報に基づき、その音源方向に近いマイクロホンアレイからの出力に対し、目的方向からの信号を強調し、他の方向からの妨害音を抑圧することにより、音源の音声信号を分離し出力するための、複数の適応ビームフォーマ160,...,162,...,164を含む。複数の適応ビームフォーマ160,...,162,...,164の出力は、分離された音源からの音声信号74として音源種類同定処理部72に与えられる。図6を参照して、音源種類同定処理部72は、各々が個人別の音響モデルである、複数の個人別GMM180と、各々が特定の種類の雑音に対応する音響モデルである、複数の雑音GMM182と、各々が、音源定位処理部60から受ける音源の方向及び位置に基づいて、その音源が人間か否かを判定し、判定結果に応じて複数の個人別GMM180又は複数の雑音GMM182のいずれかを選択して音源の属性を判定する、複数の音源属性判定部190,...,192,...,194とを含む。音源属性判定部190,...,192,...,194はいずれも同様の構成を有する。したがって、以下ではこれらを代表して音源属性判定部190の構成について説明する。図7を参照して、音源属性判定部190は、人位置計測装置58から与えられる人の位置に関する情報と、音源定位処理部60から与えられる音源の方向及び位置に関する情報とを比較し、両者が一致するか否かに基づいて音源が人によるものか否かを示す信号を出力する比較部210と、複数の個人別GMM180に接続された入力と、複数の雑音GMM182に接続された入力とを持ち、比較部210の出力に基づき、音源の方向に人がいるときには両者を選択し、人がいないときには雑音GMM182のみを選択して出力する選択部212とを含む。音源属性判定部190はさらに、分離された音源であって比較部210への入力に対魚する音源の音声信号から、フレームごとにMFCCなどの音響特徴量を抽出し、特徴ベクトルの系列として出力する特徴抽出部214と、特徴抽出部214により抽出された特徴ベクトルの系列に対し、選択部212により選択されたGMM群複数の雑音GMM182、又は、複数の個人別GMM180及び複数の雑音GMM182を用い、音声の属性を推定し、推定結果を出力する音源属性推定部216とを含む。音源属性推定部216の出力は、音源が人間であれば、候補の人間の識別子とその尤度とからなる候補リストであり、音源が人間以外であれば候補の雑音の特定情報とその尤度とからなる候補リストである。このように、音源方向に人がいる場合には複数の個人別GMM180と雑音GMM182とを用いて音源の属性を推定し、人がいないと考えられる場合には雑音GMM182のみを属性推定に用いる。人がいない場合には雑音GMM182のみにモデルが絞られるため、処理量が削減され、処理時間が短縮化される上、推定の精度も高くなる。音源属性推定部216から出力される検出ID尤度リスト230は尤度を伴う。したがって途中で音源の属性が入れ替わる場合もあり得る。そのため、図1に示すステップ38により行なわれるトラッキングでは、検出ID尤度リスト230上で候補の順序に変化が生じたか否かを常に監視する必要がある。図8Aを参照して、図7に示す検出ID尤度リスト230は、複数の属性の推定結果の候補であって、それぞれの尤度にしたがって配列された複数の候補のエントリを含む。検出ID尤度リスト230の各候補のエントリは、候補の識別子CIDnnは検出ID尤度リスト230上における順番を示す。と、音声がその候補により発生されたものである確率を示す尤度CProbnnはCIDnのnと同様。とを含む。検出ID尤度リスト230には、こうした候補が複数個配列されている。なお、図1に示すステップ38の処理のため、この装置は、検出ID尤度リスト230の時系列を音源属性のトラッキングの履歴として保存する。フレームの各音声とこれら履歴とを互いに関連付けてあるため、結果として各発話に対し、その発話者のラベル及び発話位置を付した対話データベースが維持できる。図8Bを参照して、図に示すステップ38の処理のため、この装置は、上記した検出ID尤度リスト230をコピーした作業用の候補リスト240と、上記した履歴の先頭の候補リストをコピーした、作業用の履歴リスト242とを用いる。履歴リスト242の各候補は候補リスト240内の各候補と同じ構成を持っている。ここでは、直前候補は識別子HIDnnは履歴リスト242における順位により表し、その尤度をHProbnnはHIDnのnと同様により表す。候補リスト240及び履歴リスト242を使用して、図1のステップ38で属性交換のチェックが行なわれる。その方法について図9及び図10を参照して説明する。図9に、図1のステップ38を実現するためのプログラムの制御構造の概略をフローチャート形式で示す。なお図9では、図を分かりやすくするために各ステップを単一の音源に対して行なった場合を示してあるが、実際にはこれら処理は音源の全てに対して行なわれる。図9を参照して、このプログラムは、履歴の末尾の候補リスト直前サイクルで図7の音源属性推定部216から出力された検出ID尤度リスト230と同じを履歴リスト242にコピーするステップ250と、現在のサイクルで音源属性推定部216から出力された検出ID尤度リスト230を候補リスト240にコピーするステップ252と、候補リスト240と履歴リスト242とを引数にして図10に制御構造を示すID交換チェックルーチンを呼出すステップ254とを含む。後述するように、ID交換チェックルーチンは再帰的に自己を呼出すプログラムであり、最終的にステップ254に制御が戻ってきた段階ではIDの交換がもしあれば交換がされた後のリストが履歴リスト242に、もしなければ引数で渡した履歴リスト242がそのまま、戻り値として返される。このルーチンの内容については図10を参照して後述する。このプログラムはさらに、ステップ254においてID交換チェックルーチンからの戻り値である履歴リスト242にもし空白部があれば、検出ID尤度リスト230の、対応する要素候補の識別子及び尤度をコピーするステップ256と、こうして最終的に得られた履歴リスト242を履歴の末尾に追加するステップ258と、対話データベースに、各音声データをその発話者のID及び位置情報とともに追加し、処理を終了するステップ260とを含む。図10を参照して、図9のステップ254で呼出されるID交換チェックルーチンは、以下の制御構造を持つ。すなわち、このプログラムは、候補リスト240の要素数が1か否かを判定し、判定結果により制御の流れを分岐させるステップ280と、ステップ280の判定が否定のときに、さらに候補リスト240の先頭の候補の識別子CID1と、履歴リスト242の先頭の候補の識別子HID1とが一致するか否かを判定し、判定結果により制御の流れを分岐させるステップ282と、ステップ280又はステップ282の判定が肯定のときに実行され、候補リスト240を履歴リスト242にコピーしてこのルーチンの実行を終了して呼出元ルーチンに制御を戻すステップ306とを含む。なお、このルーチンが呼出元ルーチンに制御を戻すときには、戻り値として履歴リスト242が戻されるものとする。このプログラムはさらに、ステップ282の判定が否定のときに、候補リスト240の1番目及び2番目の候補の識別子CID1及びCID2の尤度CProb1及びCProb2に基づき以下の式によりそれぞれ新たな尤度NProb1及びNprob2を再計算するステップ284を含む。ただしwは0<w<1を満たす任意の値である。このプログラムはさらに、ステップ284に続き、新たに計算された尤度NProb1が尤度NProb2より大きいか否かを判定し、判定結果に従って制御の流れを分岐させるステップ286と、ステップ286の判定が肯定のときに実行され、候補リスト240の1番目の候補の識別子CID1を履歴リスト242の1番目の候補の識別子HID1に代入し、候補リスト240の1番目の候補について再計算された尤度NProb1を履歴リスト242の1番目の候補の尤度HProb1に代入するステップ288と、ステップ288に続き、候補リスト240の2番目の候補の識別子CID2を履歴リスト242の2番目の候補の識別子HID2に代入し、候補リスト240の2番目の候補について再計算された尤度NProb2を履歴リスト242の2番目の候補の尤度HProb2に代入して呼出元ルーチンに制御を戻すステップ290とを含む。このプログラムはさらに、ステップ286の判定が否定のときに、新たに計算された尤度NProb2が尤度HProb2より大きいか否かを判定し、判定が否定のときには制御の流れをステップ288に分岐させるステップ292と、ステップ292の判定が肯定のときに実行され、候補リスト240の2番目の候補の識別子CID2を履歴リスト242の1番目の候補の識別子HID1に代入し、候補リスト240の2番目の候補について再計算された尤度NProb2を履歴リスト242の1番目の候補の尤度HProb1に代入するステップ294と、ステップ294に続き、候補リスト240の1番目の候補の識別子CID1を履歴リスト242の2番目の候補の識別子HID2に代入し、候補リスト240の1番目の候補について再計算された尤度NProb1を履歴リスト242の2番目の候補の尤度HProb2に代入するステップ296とを含む。このプログラムはさらに、ステップ296に続き、履歴リスト242のうち、先頭の候補HID1のエントリを除いたリストを新たな引数履歴リスト242として自分自身を再帰的に呼出すステップ298と、ステップ298の処理による戻り値の履歴リスト242の先頭に、先頭の候補HID1のエントリを追加して、履歴リスト242を戻り値として呼出元ルーチンに制御を戻すステップ300とを含む。[動作]上に説明した音源分離及び音種類判定装置は以下のように動作する。この動作に先立ち、図2に示す人位置計測装置58には、測定対象となる人物をLRF群56の出力に基づいて識別するために必要な情報と、各人物の識別子とが記憶されているものとする。また図3に示す位置ベクトルDB80には音源分離及び音種類判定装置がMUSIC応答を算出するための空間グリッドの各点方位を特定する位置ベクトルが予め記憶されている。アレイ位置DB82には、マイクロホンアレイ群52を構成する各マイクロホンアレイの位置が記憶される。複数の個人別GMM180としては、測定対象となる人物についてそれぞれ予め作成された音響モデルが準備される。雑音GMM182としては、予め収集された、属性が予め分かっている雑音に関する音響モデルが準備される。音源分離及び音種類判定装置が動作を開始すると、図1及び図2を参照して、LRF群56が周囲に存在する人物に関する情報を出力し、人位置計測装置58に与える。人位置計測装置58は、LRF群56からの出力に基づき、周囲に存在している人物の位置と、それら各人物の識別子とを音源定位処理部60及び音源種類同定処理部72に出力する。人物が何ら検知されないときには図1のステップ30にてNO音源分離及び音種類判定装置は動作を終了する。人物が検知され、かつこの装置に対して動作の終了を指示する操作がされなければステップ32においてNO、音源定位処理がステップ34で実行される。音源定位処理は以下のように行なわれる。図2を参照して、マイクロホンアレイ群52の各マイクロホンアレイは、各位置で、複数のマイクロホンにより音声をアナログ電気信号である電気信号に変換し、音源定位処理部60に与える。図3及び図4を参照して、音源定位処理部60の音源定位部84の各々において、以下の処理が実行される。特に図4を参照して、A/D変換器100が、対応のマイクロホンアレイから与えられる複数の音声信号を複数チャネルのデジタル音声信号に変換し、固有ベクトル算出部102のフレーム化処理部120に与える。フレーム化処理部120は、所定フレーム長及び所定シフト長でこれら複数チャネルのデジタル音声をフレーム化し、FFT処理部122に与える。FFT処理部122は、与えられる複数チャネルのデジタル音声信号の各々について、フレームごとにFFTを施し、周波数領域に変換して相関行列算出部124に与える。相関行列算出部124は、FFT処理部122の出力する各ビンの値の間の相関を要素とする相関行列を所定時間ごとに算出し固有値分解部126に与える。固有値分解部126は、この相関行列の最大固有値と、最大固有値以外の固有値に対応する固有ベクトルである雑音空間とを求め、出力112としてMUSIC空間スペクトル算出部140に与える。MUSIC空間スペクトル算出部140は、この音源定位部84に対応するマイクロホンアレイ内のマイクロホンの位置を表す位置ベクトルを位置ベクトルDB80から受け、固有値分解部126から受けた固有ベクトル及び雑音空間を用い、MUSIC法によりMUSIC空間スペクトルを算出し出力する。このとき、MUSIC空間スペクトル算出部140は、音源数を固定したものとしてMUSIC空間スペクトルの算出を行なう。算出されたMUSIC空間スペクトルはMUSIC応答算出部142に与えられる。MUSIC応答算出部142は、与えられたMUSIC空間スペクトルに基づいて、MUSIC法にしたがいMUSIC応答を位置ベクトルに応じた各方位について算出しピーク検出部106に出力する。ピーク検出部106は、MUSIC応答算出部142から出力される各方位についてのMUSIC応答の値としきい値とを比較し、MUSIC応答のピーク位置の候補を音源位置として定め、その方向を示す情報を詳細探索部110図3に与える。図3を参照して、相対位置ベクトル生成部108は、位置ベクトルDB80に記憶された各位置ベクトルと、アレイ位置DB82に記憶されたマイクロホンアレイ群52内のマイクロホンアレイの位置とに基づき、各マイクロホンアレイに対する相対位置ベクトルを算出し、詳細探索部110に与える。詳細探索部110は、人位置計測装置58図2から与えられる人位置及びIDと、相対位置ベクトル生成部108から与えられる各相対位置ベクトルとを用い、音源定位部84からそれぞれ出力される音源方位情報に基づき、マイクロホンアレイの位置を起点とし、音源位置を通る半直線の交点位置を中心とした所定の範囲内においてさらに詳細にMUSIC応答の値が高い位置を探索し、その位置を示す信号を音源分離処理部70に対して出力する。以上が、図1のステップ34の処理に相当する。図5を参照して、音源分離処理部70の複数の適応ビームフォーマ160,...,162,...,164はそれぞれ、対応する詳細探索部110から出力される音源の方向及び位置の情報を用い、マイクロホンアレイの出力する音声信号からその音源の音声信号を分離し、音源種類同定処理部72に与える。図6を参照して、音源種類同定処理部72の音源属性判定部190,...,192,...,194はそれぞれ、人位置計測装置58から与えられる人の位置及びIDを示す情報と、と、音源定位処理部60から与えられる音源の方向及び位置を示す情報とに基づき、音源の属性を以下のように判定してその結果を出力する。図7を参照して、例えば音源属性判定部190の比較部210は、人の位置と音源の方向及び位置とを比較し、両者が一致していれば複数の個人別GMM180と複数の雑音GMM182を、さもなければ複数の雑音GMM182のみを、それぞれ選択して音源属性推定部216に与える。一方、特徴抽出部214は、処理対象となる音源からの音声信号から所定の特徴量を抽出し、フレームごとの特徴量ベクトルの系列を音源属性推定部216に与える。音源属性推定部216は、選択部212により選択された、複数の雑音GMM182のみ、又は複数の個人別GMM180及び雑音GMM182を用い、特徴抽出部214からの特徴量ベクトルの系列が各個人又は各雑音源によるものから生じた尤度を算出し、上位の所定個数からなる候補リストである候補リスト240を作成して出力する。検出ID尤度リスト230は図8Aに示す候補リスト240と同様の構成を持ち、その音源を発生した個人又は雑音源の候補を尤度順に並べたもので、各エントリは個人又は雑音源の識別子CIDとその尤度とを含む。音源属性推定部216は、フレームシフト時間に対応した間隔でこの検出ID尤度リスト230を出力する。以上が、図1のステップ36の処理に相当する。図1を参照して、ステップ38のトラッキング処理は以下のように行なわれる。ここでは、既に音源属性推定部216により出力された各音源の尤度リストの履歴が保存されており、対話データベースにもそれに対応した音声データが蓄積されているものとする。図9を参照して、この音源分離及び音種類判定装置は、音源属性推定部216から検出ID尤度リスト230が出力されると、ステップ250において、既に記憶されていた履歴の末尾のリストを履歴リスト242にコピーする。続くステップ252において、音源属性推定部216が出力した検出ID尤度リスト230を候補リスト240にコピーする。続くステップ254では、図10に制御構造を示すID交換チェックルーチンを呼出す。図10を参照して、ID交換チェックルーチンは以下のように実行される。ここでは、2つの場合について順に説明する。説明を分かりやすくするため、音源属性推定部216が出力する検出ID尤度リスト230の要素数は3であるものとする。最初に、検出ID尤度リスト230の先頭の候補の識別子が、履歴の末尾のリストの先頭の候補の識別子と同一である場合を説明する。次に、検出ID尤度リスト230の1番目と2番目の候補の識別子が、履歴の末尾のリストの1番目と2番目の候補の識別子を入替えたものである場合を説明する。新旧の第1及び第2の候補が同一の場合最初にステップ280で候補リスト240の要素数候補のエントリ数が1か否かが判定される。判定結果が肯定であれば制御はステップ306に進み、候補リスト240が履歴リスト242にコピーされ、呼出元ルーチンに復帰する。ここでは、検出ID尤度リスト230の要素数が3である場合を想定しているのでステップ280の判定は否定となり、ステップ282に制御が進む。ステップ282では、候補リスト240の1番目の候補の識別子CID1が履歴リスト242の1番目の候補の識別子HID1と等しいか否かが判定される。判定結果が否定であれば制御はステップ284に進む。ここでは、仮定から判定結果が肯定となるので、制御はステップ306に進み、候補リスト240が履歴リスト242にコピーされ、制御は呼出元ルーチンに復帰する。図9を参照して、ステップ256で、履歴リスト242の空白部に、候補リスト240の対応要素がコピーされる。ここでは、既に候補リスト240が履歴リスト242にコピーされているのでステップ256では何も処理されない。続くステップ258では、ステップ254及びステップ256の結果得られた履歴リスト242が、履歴の末尾に追加される。ステップ260では、対話データベースに、このときの音声データを履歴リスト242の先頭の識別子とともに記録し、次の処理図1のステップ32に制御が戻る。新旧の第1及び第2の候補が入れ替わった場合図10を参照して、ステップ280の判定結果はNOとなる。続くステップ282の判定結果もNOとなる。制御はステップ284に進み、CID1とCID2との尤度を前述の式にしたがって再計算し、その結果、NProb1とNProb2とが得られる。ステップ286ではNProb1がNProb2より大きいか否かが判定される。判定が肯定の場合には制御はステップ288に進み、さもなければ制御はステップ292に進む。ステップ292ではさらにNProb2が履歴リスト242の2番目の尤度HProb2より大きいか否かが判定され、その結果にしたがって制御の流れが分岐する。以下、3つの場合に分けて動作を説明する。1ステップ286の判定が肯定この場合、ステップ288の処理により、新たな候補リスト240の1番目の候補の識別子CID1が履歴リスト242の1番目の候補の識別子HID1に代入され、候補リスト240の1番目の候補の尤度NProb1が履歴リスト242の1番目の候補の尤度HProb1に代入される。さらに、ステップ292の処理により、新たな候補リスト240の2番目の候補の識別子CID2が履歴リスト242の2番目の候補の識別子HID2に代入され、候補リスト240の2番目の候補の尤度NProb2が履歴リスト242の2番目の候補の尤度HProb2に代入される。すなわち、履歴リスト242の1、2番目の候補に代えて、候補リスト240の1番目及び2番目の候補が履歴リスト242の1番目及び2番目にそれぞれ代入される。この後、図9のステップ256に制御が戻る。ここでは履歴リスト242の3番目には前回の3番目の候補の情報が入っている。したがってステップ256では何も処理されない。続くステップ258で、履歴リスト242が履歴の末尾に追加され、ステップ260で対話データベースにデータが追加される。要するにこの1の場合、1番目と2番目の候補は前回と同様であり、入れ替わらない。2ステップ286の判定が肯定、ステップ292の判定が肯定この場合には、ステップ294で、新たな候補リスト240の2番目の候補の識別子CID2が履歴リスト242の1番目の候補の識別子HID1に代入され、候補リスト240の2番目の候補の尤度NProb2が履歴リスト242の1番目の候補の尤度HProb1に代入される。さらに、ステップ296で、新たな候補リスト240の1番目の候補の識別子CID1が履歴リスト242の2番目の候補の識別子HID2に代入され、候補リスト240の1番目の候補の尤度NProb1が履歴リスト242の2番目の候補の尤度HProb2に代入される。要するに、直前の1番目及び2番目の候補が入れ替わることになる。ステップ298では、さらに、候補リスト240及び履歴リスト242からそれぞれ先頭の要素を除いたものを引数にして自分自身を呼出す。この処理については後述する。ここでは、ステップ298の処理の結果、新たな引数となった候補リスト240及び履歴リスト242を用い、尤度の再計算の結果、1番目の候補と2番目の候補を入替える必要があった場合にはそのように変更された履歴リスト242が戻り値として戻され、そのような入れ替えが必要でないときには、候補の入替がない形の履歴リスト242が戻り値として戻されることを指摘しておく。ただし、尤度についてはステップ284の結果により修正されている可能性がある。ステップ298の処理後、ステップ300において、ステップ298で戻り値として得られた履歴リスト242の先頭に、ステップ298において取り除いておいた先頭の候補のエントリを付加し手新たな履歴リスト242を生成する。この履歴リスト242を戻り値としてこのルーチンの実行を終了し、呼出元ルーチン図9のステップ256に戻る。以下の処理は上記1の場合と同様である。3ステップ286の判定が肯定、ステップ292の判定が否定この場合には上記1と同じ処理が実行される。再帰的処理図10のステップ298で、再帰的な呼出がおこなわれた場合のこのプログラムによる処理について説明する。説明を分かりやすくするため、図9のルーチンを主ルーチン、主ルーチンから呼出された図10のルーチンを子ルーチン、子ルーチンから呼出された図10のルーチンを孫ルーチン、孫ルーチンから呼出された図10のルーチンをひ孫ルーチンと呼ぶことにする。上記説明にしたがえば、孫ルーチンでは、新たな候補リスト240及び履歴リスト242の要素数は、いずれも2となっている。説明を分かりやすくするため、引数として渡される候補リスト240及び履歴リスト242の各エントリの識別子及び尤度については、親ルーチンのときと同じ呼び方で示すものとする。この例では、ステップ280の判定結果は否定となる。以後は子ルーチンの実行時と同様の処理が、引数として渡された、要素数2の候補リスト240及び履歴リスト242に対して実行され、処理により得られた新たな履歴リスト242要素数は2を戻り値としてこのルーチンの実行を終了し制御は子ルーチンに戻る。ただし、図10のステップ298での処理が問題となる。すなわちこのステップの処理が行なわれる場合、孫ルーチンで再度、このルーチンの呼出しが行なわれる。ただし、孫ルーチンにおいて引数としてこのルーチンに渡される候補リスト240及び履歴リスト242は、いずれも先頭の要素を除いたリストとなるので、それらの要素数はいずれも1となる。したがって、ひ孫ルーチンでは、ステップ280の判定結果が肯定となり、その要素のみを持つ履歴リスト242が戻り値として孫ルーチンに戻される。したがって、孫ルーチンのステップ298の戻り値は、引数として孫ルーチンがひ孫ルーチンに渡した履歴リスト242そのものとなる。ステップ300ではこのリストの先頭に、ステップ298で取り除いた候補のエントリを付加して子ルーチンに戻り値として戻す。その結果、子ルーチンのステップ298では、要素数が2の履歴リスト242が戻り値として得られ、子ルーチンのステップ298で取り除いておいた要素が、履歴リスト242の先頭に付加され、3個のエントリを持つ履歴リスト242が主ルーチンに戻り値として返される。以上の処理により、図9のステップ254の結果、候補の交代の可能性を、各候補の尤度を再計算した結果に基づいて調整した履歴リスト242が得られることになる。なお、ここでは説明を分かりやすくするためにもとの履歴リスト242のエントリ数が3であることを前提に説明した。しかし、エントリ数が4以上である場合にも、再帰的な処理により同様の結果が得られる。[コンピュータによる実現]この実施の形態に係る音源分離及び音種類判定装置は、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図11はこのコンピュータシステム530の外観を示し、図12はコンピュータシステム530の内部構成を示す。図11を参照して、このコンピュータシステム530は、メモリポート552及びDVDDigitalVersatileDiscドライブ550を有するコンピュータ540と、キーボード546と、マウス548と、モニタ542とを含む。図12を参照して、コンピュータ540は、メモリポート552及びDVDドライブ550に加えて、CPU中央処理装置556と、CPU556、メモリポート552及びDVDドライブ550に接続されたバス566と、ブートアッププログラム等を記憶する読出専用メモリROM558と、バス566に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリRAM560とを含む。コンピュータ540はさらに、ローカルエリアネットワークLANへの接続をコンピュータ540に提供するネットワークインタフェイスカードNIC574と、マイクロホンアレイからの入力を受けてデジタル音声信号に変換する、A/D変換機能を持つサウンドボード568とを含む。図2に示す同期用タイムサーバ54及び人位置計測装置58との通信については、CPU556は、バス566及びNIC574を用いたネットワーク通信により行なう。コンピュータシステム530に音源分離及び音種類判定装置としての動作を行なわせるためのコンピュータプログラムは、DVDドライブ550又はメモリポート552に挿入されるDVD562又は半導体メモリ564に記憶され、さらにハードディスク554に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ540に送信されハードディスク554に記憶されてもよい。プログラムは実行の際にRAM560にロードされる。DVD562から、半導体メモリ564から、又はネットワークを介して、直接にRAM560にプログラムをロードしてもよい。このプログラムは、コンピュータ540にこの実施の形態の音源分離及び音種類判定装置として動作を行なわせる複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ540上で動作するオペレーティングシステムOSもしくはサードパーティのプログラム、又はコンピュータ540にインストールされる各種ツールキットのモジュールにより提供される。従って、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はツールを呼出すことにより、上記した音源分離及び音種類判定装置としての動作を実行する命令のみを含んでいればよい。コンピュータシステム530の動作は周知であるので、ここでは繰返さない。以上のように本実施の形態によれば、マイクロホンアレイからの音声だけではなく、LRFにより検出された人位置に関する情報も、音源定位及び音源の属性推定に使用する。音声だけの場合と比較して、音源定位の精度を高くすることができ、そのときの処理量の増加を抑えることもできる。音源の属性推定の場合にも、人がいる可能性のある場合のみ、個人別GMMを用いるため、計算量の増加を抑制しながら音源の属性を精度よく行なうことができる。今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。"