(57)【要約】【課題】音源への制約を緩和しつつ、マイクロホン数以上の音源を扱うことのできる音源定位と音源分離のための音響信号処理装置、音響信号処理方法、音響信号処理プログラム、及び音響信号処理プログラムを記録した記録媒体を提供する。【解決手段】  音響信号入力部２に入力されたマイク１ａ及び１ｂの２つの振幅データは周波数分解部３により解析され、２次元データ化部４により両者の位相差が周波数毎に求められる。周波数毎の位相差は２次元の座標値を与えられて２次元データ化される。図形検出部５は生成されたＸＹ平面上の２次元データを解析して図形を検出する。音源情報生成部６は検出された図形の情報を処理し、音響信号の発生源たる音源の数、各音源の空間的な存在範囲、各音源が発した音の時間的な存在期間、各音源音の成分構成、各音源毎の分離音声、各音源音声の記号的内容を含む音源情報を生成する。【選択図】図１
2006340391.tif 000002
【特許請求の範囲】
【請求項１】
空間的に同一でない２以上の地点で捉えられた複数の音響信号を入力する音響信号入力手段と、
前記複数の音響信号の各々を分解し、周波数毎の位相値を表す複数の周波数分解データセットを求める周波数分解手段と、
前記複数の周波数分解データセットの異なる組において、周波数毎の位相差値を算出する位相差算出手段と、
前記組のそれぞれについて、周波数の関数を第１の軸とし、前記位相差値から算出される到達時間差を第２の軸とする２次元座標系上の座標値を有する点群を表す２次元データを生成する２次元データ化手段と、
前記２次元データ化手段により生成された座標値を有する点を、直線ハフ変換により投票空間に投票することにより得票分布を生成し、前記生成された得票分布から、得票が所定閾値以上となる極大位置を上位所定数まで検出することにより、該検出された極大位置のそれぞれに対応する直線を前記２次元データから検出する図形検出手段と、
前記直線のそれぞれを前記音響信号から抽出された音源と成し、前記音響信号の発生源に相当する音源の数、各音源の空間的な存在範囲、前記各音源の発した音声の時間的な存在期間、音源毎に分離された分離音声、各音源が発した音声の記号的内容の少なくともいずれかの情報と、各音源の発した音声の成分構成の情報とを含む、前記抽出された各音源に関する音源情報を生成する音源情報生成手段と、
前記音源情報を出力する出力手段とを具備する音響信号処理装置であって、
前記音源情報生成手段は、前記図形検出手段により検出された直線について、周波数毎に、前記座標値と前記直線との距離を算出し、該距離に基づいて前記直線に対応する音源が発する音の周波数成分を推定する音源成分推定手段を具備したことを特徴とする音響信号処理装置。
【請求項２】
空間的に同一でない２以上の地点で捉えられた複数の音響信号を入力する音響信号入力手段と、
前記複数の音響信号の各々を分解し、周波数毎の位相値を表す複数の周波数分解データセットを求める周波数分解手段と、
前記複数の周波数分解データセットの異なる組において、周波数毎の位相差値を算出する位相差算出手段と、
前記組のそれぞれについて、周波数の関数を第１の軸とし、前記位相差値から算出される到達時間差を第２の軸とする２次元座標系上の座標値を有する点群を表す２次元データを生成する２次元データ化手段と、
前記２次元データ化手段により生成された座標値を有する点を、所定方向に投影した投票空間に投票することにより、射影投票された周辺分布からなる得票分布を生成し、前記生成された得票分布から、得票が所定閾値以上となる極大位置を上位所定数まで検出することにより、該検出された極大位置のそれぞれに対応する直線を前記２次元データから検出する図形検出手段と、
前記直線のそれぞれを前記音響信号から抽出された音源と成し、前記音響信号の発生源に相当する音源の数、各音源の空間的な存在範囲、前記各音源の発した音声の時間的な存在期間、音源毎に分離された分離音声、各音源が発した音声の記号的内容の少なくともいずれかの情報と、各音源の発した音声の成分構成の情報とを含む、前記抽出された各音源に関する音源情報を生成する音源情報生成手段と、
前記音源情報を出力する出力手段とを具備する音響信号処理装置であって、
前記音源情報生成手段は、前記図形検出手段により検出された直線について、周波数毎に、前記座標値と前記直線との距離を算出し、該距離に基づいて前記直線に対応する音源が発する音の周波数成分を推定する音源成分推定手段を具備したことを特徴とする音響信号処理装置。
【請求項３】
前記図形検出手段は、前記投票空間に固定の値を投票し、前記２次元座標系において各周波数の点の多くを通る直線を検出する請求項１及び２記載の音響信号処理装置。
【請求項４】
前記周波数分解手段は、前記周波数毎の位相値のみならず周波数毎のパワー値をも計算し、前記図形検出手段は、前記パワー値に基づく数値を投票し、前記２次元座標系において各周波数のパワーの大きい点を多く通る直線を検出する請求項１及び２記載の音響信号処理装置。
【請求項５】
前記音源情報生成手段は、前記図形検出手段により検出された直線と前記第２の軸との交点に基づいて、前記音源の空間的な存在範囲を、前記音響信号を捉えた２つの地点間を結ぶ線分に対する角度として算出する方向推定手段を具備する請求項１及び２記載の音響信号処理装置。
【請求項６】
前記音源情報生成手段は、前記図形検出手段により検出された直線について、周波数毎に、前記座標値と前記直線との距離を算出し、該距離に基づいて前記直線に対応する音源が発する音の周波数成分を推定する音源成分推定手段と、
推定された前記音の周波数成分から当該音源が発する音響信号データを合成する分離音声抽出手段とを具備する請求項１及び２記載の音響信号処理装置。
【請求項７】
前記音源成分推定手段は、前記座標値の前記直線に対する距離が所定閾値内である周波数を前記直線に対応する音源の発する音の周波数成分とする請求項１及び２記載の音響信号処理装置。
【請求項８】
前記音源成分推定手段は、前記座標値の前記直線に対する距離が所定閾値内である周波数を前記直線に対応する音源の発する音の周波数成分の候補とし、同一周波数成分について、最も近い方の直線に帰属させる請求項１及び２記載の音響信号処理装置。
【請求項９】
前記周波数分解手段は、前記周波数毎の位相値のみならず周波数毎のパワー値をも計算し、前記音源成分推定手段は、前記座標値の前記直線に対する距離の増加に応じて単調減少する非負係数を算出し、前記周波数のパワーに前記非負係数を乗じた値を前記直線に対応する音源の発する音の当該周波数成分のパワー値とする請求項１及び２に記載の音響信号処理装置。
【請求項１０】
前記音源情報生成手段は、前記図形検出手段により検出された直線と前記第２の軸との交点に基づいて、前記音源の空間的な存在範囲を、前記音響信号を捉えた２つの地点間を結ぶ線分に対する角度として算出する方向推定手段と、
前記角度に基づいて音源方向に関する追従範囲を設定し、該追従範囲内に存在する音源からの音声のみを通過させることで当該音源が発する音の音響信号のデータを抽出する適応アレイ処理手段とを具備する請求項１及び２記載の音響信号処理装置。
【請求項１１】
装置の動作に関する設定情報の確認と変更を利用者が行うためのユーザインタフェース手段を具備する請求項１記載の音響信号処理装置。
【請求項１２】
装置の動作に関する設定情報の保存と読み込みを利用者が行うためのユーザインタフェース手段を具備する請求項１記載の音響信号処理装置。
【請求項１３】
前記２次元データ、又は前記図形を利用者に呈示するためのユーザインタフェース手段を具備する請求項１記載の音響信号処理装置。
【請求項１４】
前記音源情報を利用者に呈示するためのユーザインタフェース手段を具備する請求項１記載の音響信号処理装置。
【請求項１５】
前記図形検出手段は、前記２次元データセットの時系列からなる３次元データセットから前記図形を検出する請求項１記載の音響信号処理装置。
【請求項１６】
空間的に同一でない２以上の地点で捉えられた複数の音響信号を入力する音響信号入力ステップと、
前記複数の音響信号の各々を分解し、周波数毎の位相値を表す複数の周波数分解データセットを求める周波数分解ステップと、
前記複数の周波数分解データセットの異なる組において、周波数毎の位相差値を算出する位相差算出ステップと、
前記組のそれぞれについて、周波数の関数を第１の軸とし、前記位相差値から算出される到達時間差を第２の軸とする２次元座標系上の座標値を有する点群を表す２次元データを生成する２次元データ化ステップと、
前記２次元データ化ステップにより生成された座標値を有する点を、直線ハフ変換により投票空間に投票することにより得票分布を生成し、前記生成された得票分布から、得票が所定閾値以上となる極大位置を上位所定数まで検出することにより、該検出された極大位置のそれぞれに対応する直線を前記２次元データから検出する図形検出ステップと、
前記直線のそれぞれを前記音響信号から抽出された音源と成し、前記音響信号の発生源に相当する音源の数、各音源の空間的な存在範囲、前記各音源の発した音声の時間的な存在期間、音源毎に分離された分離音声、各音源が発した音声の記号的内容の少なくともいずれかの情報と、各音源の発した音声の成分構成の情報とを含む、前記抽出された各音源に関する音源情報を生成する音源情報生成ステップと、
前記音源情報を出力する出力ステップとを具備する音響信号処理方法であって、
前記音源情報生成ステップは、前記図形検出ステップにより検出された直線について、周波数毎に、前記座標値と前記直線との距離を算出し、該距離に基づいて前記直線に対応する音源が発する音の周波数成分を推定する音源成分推定ステップを具備したことを特徴とする音響信号処理方法。
【請求項１７】
空間的に同一でない２以上の地点で捉えられた複数の音響信号を入力する音響信号入力ステップと、
前記複数の音響信号の各々を分解し、周波数毎の位相値を表す複数の周波数分解データセットを求める周波数分解ステップと、
前記複数の周波数分解データセットの異なる組において、周波数毎の位相差値を算出する位相差算出ステップと、
前記組のそれぞれについて、周波数の関数を第１の軸とし、前記位相差値から算出される到達時間差を第２の軸とする２次元座標系上の座標値を有する点群を表す２次元データを生成する２次元データ化ステップと、
前記２次元データ化ステップにより生成された座標値を有する点を、所定方向に投影した投票空間に投票することにより、射影投票された周辺分布からなる得票分布を生成し、前記生成された得票分布から、得票が所定閾値以上となる極大位置を上位所定数まで検出することにより、該検出された極大位置のそれぞれに対応する直線を前記２次元データから検出する図形検出ステップと、
前記直線のそれぞれを前記音響信号から抽出された音源と成し、前記音響信号の発生源に相当する音源の数、各音源の空間的な存在範囲、前記各音源の発した音声の時間的な存在期間、音源毎に分離された分離音声、各音源が発した音声の記号的内容の少なくともいずれかの情報と、各音源の発した音声の成分構成の情報とを含む、前記抽出された各音源に関する音源情報を生成する音源情報生成ステップと、
前記音源情報を出力する出力ステップとを具備する音響信号処理方法であって、
前記音源情報生成ステップは、前記図形検出ステップにより検出された直線について、周波数毎に、前記座標値と前記直線との距離を算出し、該距離に基づいて前記直線に対応する音源が発する音の周波数成分を推定する音源成分推定ステップを具備したことを特徴とする音響信号処理方法。
【請求項１８】
空間的に同一でない２以上の地点で捉えられた複数の音響信号を入力する音響信号入力手順と、
前記複数の音響信号の各々を分解し、周波数毎の位相値を表す複数の周波数分解データセットを求める周波数分解手順と、
前記複数の周波数分解データセットの異なる組において、周波数毎の位相差値を算出する位相差算出手順と、
前記組のそれぞれについて、周波数の関数を第１の軸とし、前記位相差値から算出される到達時間差を第２の軸とする２次元座標系上の座標値を有する点群を表す２次元データを生成する２次元データ化手順と、
前記２次元データ化手順により生成された座標値を有する点を、直線ハフ変換により投票空間に投票することにより得票分布を生成し、前記生成された得票分布から、得票が所定閾値以上となる極大位置を上位所定数まで検出することにより、該検出された極大位置のそれぞれに対応する直線を前記２次元データから検出する図形検出手順と、
前記直線のそれぞれを前記音響信号から抽出された音源と成し、前記音響信号の発生源に相当する音源の数、各音源の空間的な存在範囲、前記各音源の発した音声の時間的な存在期間、音源毎に分離された分離音声、各音源が発した音声の記号的内容の少なくともいずれかの情報と、各音源の発した音声の成分構成の情報とを含む、前記抽出された各音源に関する音源情報を生成する音源情報生成手順と、
前記音源情報を出力する出力手順とをコンピュータに実行させるための音響信号処理プログラムであって、
前記音源情報生成手順は、前記図形検出手順により検出された直線について、周波数毎に、前記座標値と前記直線との距離を算出し、該距離に基づいて前記直線に対応する音源が発する音の周波数成分を推定する音源成分推定手順を具備したことを特徴とする音響信号処理プログラム。
【請求項１９】
空間的に同一でない２以上の地点で捉えられた複数の音響信号を入力する音響信号入力手順と、
前記複数の音響信号の各々を分解し、周波数毎の位相値を表す複数の周波数分解データセットを求める周波数分解手順と、
前記複数の周波数分解データセットの異なる組において、周波数毎の位相差値を算出する位相差算出手順と、
前記組のそれぞれについて、周波数の関数を第１の軸とし、前記位相差値から算出される到達時間差を第２の軸とする２次元座標系上の座標値を有する点群を表す２次元データを生成する２次元データ化手順と、
前記２次元データ化手順により生成された座標値を有する点を、所定方向に投影した投票空間に投票することにより、射影投票された周辺分布からなる得票分布を生成し、前記生成された得票分布から、得票が所定閾値以上となる極大位置を上位所定数まで検出することにより、該検出された極大位置のそれぞれに対応する直線を前記２次元データから検出する図形検出手順と、
前記直線のそれぞれを前記音響信号から抽出された音源と成し、前記音響信号の発生源に相当する音源の数、各音源の空間的な存在範囲、前記各音源の発した音声の時間的な存在期間、音源毎に分離された分離音声、各音源が発した音声の記号的内容の少なくともいずれかの情報と、各音源の発した音声の成分構成の情報とを含む、前記抽出された各音源に関する音源情報を生成する音源情報生成手順と、
前記音源情報を出力する出力手順とをコンピュータに実行させるための音響信号処理プログラムであって、
前記音源情報生成手順は、前記図形検出手順により検出された直線について、周波数毎に、前記座標値と前記直線との距離を算出し、該距離に基づいて前記直線に対応する音源が発する音の周波数成分を推定する音源成分推定手順を具備したことを特徴とする音響信号処理プログラム。
【請求項２０】
請求項１８もしくは１９に記載の音響信号処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は音響信号処理に関し、特に、媒質中を伝播してきた音波の発信源の数、各発信源の方向、各発信源から到来した音波の周波数成分などの推定に関する。
【背景技術】
【０００２】
近年、ロボット用の聴覚研究の分野で、雑音環境下で複数の目的音源音の数とその方向を推定し（音源定位）、各音源音を分離抽出する（音源分離）方式が提案されている。
【０００３】
例えば、下記非特許文献１には、背景雑音のある環境でＮ個の音源音をＭ個のマイクロホンで観測し、各マイクロホン出力を短時間フーリエ変換（ＦＦＴ）処理したデータから空間相関行列を生成し、これを固有値分解して値の大きい主要な固有値を求めることで、この主要な固有値の数として音源の数Ｎを推定する方法が記載されている。これは、音源音のように方向性のある信号は主要な固有値にマッピングされ、方向性のない背景雑音は全ての固有値にマッピングされる性質を利用したものである。主要な固有値に対応する固有ベクトルは音源からの信号が張る信号部分空間の基底ベクトルとなり、残りの固有値に対応する固有ベクトルは背景雑音信号が張る雑音部分空間の基底ベクトルとなる。この雑音部分空間の基底ベクトルを利用してＭＵＳＩＣ法を適用することで、各音源の位置ベクトルを探索することができ、探索の結果得られた方向に指向性を与えられたビームフォーマで当該音源からの音声を抽出することができる。しかしながら、音源数Ｎがマイクロホン数Ｍと同数であるときは、雑音部分空間を定義できず、また、音源数ＮがＭを越えるときは検出できない音源が存在することになる。したがって、推定可能な音源の数はマイクロホン数Ｍ以上となることはない。この方法は、音源について特に大きな制約はなく、数学的にもきれいな方法であるが、多数の音源を扱うためには、それを超える数のマイクロホンが必要になるという制限がある。
【０００４】
また、下記非特許文献２には、一対のマイクロホンを用いて音源定位と音源分離を行う方法について記載されている。この方法は、人間の声のように管（調音器官）を通して発生される音声に特有の調波構造（基本周波数とその高調波とからなる周波数構造）に着目し、マイクロホンで捉えた音声信号をフーリエ変換したデータから基本周波数の異なる調波構造を検出することで、検出された調波構造の数を発話者の数とし、調波構造毎の両耳間位相差（ＩＰＤ）と両耳間強度差（ＩＩＤ）とを用いてその方向を確信度付きで推定し、調波構造それ自体によって各音源音を推定する。この方法は、フーリエ変換データから複数の調波構造を検出することで、マイクロホン数以上の音源を処理することができる。しかしながら、音源数と方向と音源音の推定の基礎を調波構造に立脚して行うため、扱うことのできる音源は人間の声のような調波構造を持つものに限定され、さまざまな音に対応できるものではない。
【非特許文献１】浅野太、“音を分ける”、計測と制御、第４３巻、第４号、ｐｐ．３２５−３３０、２００４年４月号
【非特許文献２】中臺一博ほか、“視聴覚情報の階層的統合による実時間アクティブ人物追跡”、人工知能学会ＡＩチャレンジ研究会、ＳＩＧ−Ｃｈａｌｌｅｎｇｅ−０１１３−５、ｐｐ．３５−４２、Ｊｕｎｅ  ２００１
【発明の開示】
【発明が解決しようとする課題】
【０００５】
以上で述べたように、（１）音源に制約を設けない場合は、音源数はマイクロホン数以上にはできない、（２）音源数をマイクロホン数以上にする場合、音源に例えば調波構造を仮定するなどの制約がある、という二律背反の問題あり、音源を制約せずにマイクロホン数以上の音源を扱うことのできる方式は確立されていない。
【０００６】
本発明は上記の問題点に鑑みてなされたものであり、音源への制約をより緩和し、かつ、マイクロホン数以上の音源を扱うことのできる音源定位と音源分離のための音響信号処理装置、音響信号処理方法、音響信号処理プログラム、及び音響信号処理プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一観点に係る音響信号処理装置は、空間的に同一でない２以上の地点で捉えられた複数の音響信号を入力する音響信号入力手段と、前記複数の音響信号の各々を分解し、周波数毎の位相値を表す複数の周波数分解データセットを求める周波数分解手段と、前記複数の周波数分解データセットの異なる組において、周波数毎の位相差値を算出する位相差算出手段と、前記組のそれぞれについて、周波数の関数を第１の軸とし、前記位相差算出手段により算出された位相差値の関数を第２の軸とする２次元座標系上の座標値を有する点群を表す２次元データを生成する２次元データ化手段と、同一音源に由来する周波数と位相差との間の比例関係を反映した図形を前記２次元データから検出する図形検出手段と、前記音響信号の発生源に相当する音源の数、各音源の空間的な存在範囲、各音源が発した音声の時間的な存在期間、各音源が発した音声の成分構成、音源毎に分離された分離音声、各音源が発した音声の記号的内容の少なくともいずれかを含み、区別された音源に関する音源情報を前記図形に基づいて生成する音源情報生成手段と、前記音源情報を出力する出力手段とを具備する音響信号処理装置である。
【発明の効果】
【０００８】
本発明によれば、音源への制約をより緩和し、かつ、マイクロホン数以上の音源を扱うことのできる音源定位と音源分離のための音響信号処理装置、音響信号処理方法、音響信号処理プログラム、及び音響信号処理プログラムを記録したコンピュータ読み取り可能な記録媒体を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明に係る音響信号処理装置の実施形態を図面に従って説明する。
【００１０】
図１は本発明の一実施形態に係る音響信号処理装置の機能ブロック図である。この音響信号処理装置は、マイク１ａと、マイク１ｂと、音響信号入力部２と、周波数分解部３と、２次元データ化部４と、図形検出部５と、音源情報生成部６と、出力部７と、ユーザインタフェース部８とを具備する。
【００１１】
［周波数成分毎の位相差に基づく音源推定の基本概念］  
マイク１ａとマイク１ｂは、空気などの媒質中に所定の距離をあけて配置された２つのマイクロホンであり、異なる２地点での媒質振動（音波）をそれぞれ電気信号（音響信号）に変換するための手段である。以後、マイク１ａとマイク１ｂとをひとまとめに扱う場合、これをマイクロホン対と呼ぶことにする。
【００１２】
音響信号入力部２は、マイク１ａとマイク１ｂによる２つの音響信号を所定のサンプリング周期Ｆｒで定期的にＡ／Ｄ変換することで、マイク１ａとマイク１ｂによる２つの音響信号のデジタル化された振幅データを時系列的に生成する手段である。
【００１３】
マイクロホン間距離に比べて十分遠い場所に音源が位置していることを仮定すると、図２（ａ）に示すように、音源１００から発してマイクロホン対に到達する音波の波面１０１はほぼ平面となる。マイク１ａとマイク１ｂとを用いることにより異なる２地点でこの平面波を観測すると、マイク１ａとマイク１ｂとを結ぶ線分１０２（これをベースラインと呼ぶ）に対する音源１００の方向Ｒに応じて、マイクロホン対で変換される音響信号に所定の到達時間差ΔＴが観測されるはずである。なお、音源が十分遠いとき、この到達時間差ΔＴが０になるのは、音源１００がベースライン１０２に垂直な平面上に存在するときであり、この方向をマイクロホン対の正面方向と定義する。
【００１４】
参考文献１「鈴木薫ほか、“視聴覚連携によるホームロボットの「呼べば来る」機能の実現”、第４回計測自動制御学会システムインテグレーション部門講演会（ＳＩ２００３）講演論文集、２Ｆ４−５、２００３」には、一方の振幅データのどの部分が他方の振幅データのどの部分と類似しているかをパタン照合によって探索することで、２つの音響信号（図２（ｂ）の１０３と１０４）の間の到達時間差ΔＴを導き出す方法について記載されている。しかしながら、この方法は強い音源が１つしか存在しない場合には有効であるが、強い背景雑音や複数の音源が存在する場合、複数方向からの強い音の混在した波形上に類似部分が明瞭に現れず、パタン照合に失敗することがある。
【００１５】
そこで、本発明では入力された振幅データを周波数成分毎の位相差に分解して解析する。複数の音源が存在する場合、各音源の周波数成分について、２つのデータ間でその音源方向に応じた位相差が観測される。そこで、もし音源についての強い制約を仮定することなく周波数成分毎の位相差を同方向のグループに分けることができれば、より幅広い種類の音源について、幾つの音源が存在し、その各々がどちらの方向にあり、それぞれが主に、どのように特徴的な周波数成分の音波を発しているかを把握できるはずである。この理屈自体は非常に単純明快であるが、実際のデータを分析する際には幾つかの克服すべき課題が存在している。その課題とともに、このグループ分けを行なうための機能ブロック（周波数分解部３、２次元データ化部４、図形検出部５）について引き続き説明する。
【００１６】
［周波数分解部３］  
さて、振幅データを周波数成分に分解する一般的な手法として高速フーリエ変換（ＦＦＴ）がある。代表的なアルゴリズムとしては、Ｃｏｏｌｅｙ−Ｔｕｒｋｅｙ  ＤＦＴアルゴリズムなどが知られている。
【００１７】
周波数分解部３は、図３に示すように、音響信号入力部２による振幅データ１１０について、連続するＮ個の振幅データをフレーム（Ｔ番目のフレーム１１１）として抜き出して高速フーリエ変換を行うとともに、この抜き出し位置をフレームシフト量１１３ずつずらしながら繰り返す（Ｔ＋１番目のフレーム１１２）。
【００１８】
フレームを構成する振幅データは、図４（ａ）に示すように窓掛け１２０を施された後、高速フーリエ変換１２１がなされる。この結果、入力されたフレームの短時間フーリエ変換データが実部バッファＲ［Ｎ］と虚部バッファＩ［Ｎ］（１２２）に生成される。なお、窓掛け関数（Ｈａｍｍｉｎｇ窓掛けあるいはＨａｎｎｉｎｇ窓掛け）１２４の一例を図４（ｂ）に示す。
【００１９】
ここで生成される短時間フーリエ変換データは、当該フレームの振幅データをＮ／２個の周波数成分に分解したデータであり、ｋ番目の周波数成分ｆｋについてバッファ１２２内の実部Ｒ［ｋ］と虚部Ｉ［ｋ］の数値が、図４（ｃ）に示すように複素座標系１２３上の点Ｐｋを表す。このＰｋの原点Ｏからの距離の２乗が当該周波数成分のパワーＰｏ（ｆｋ）であり、Ｐｋの実部軸からの符号付き回転角度θ｛θ：−π＞θ≧π［ラジアン］｝が当該周波数成分の位相Ｐｈ（ｆｋ）である。
【００２０】
サンプリング周波数がＦｒ［Ｈｚ］、フレーム長がＮ［サンプル］のとき、ｋは０から（Ｎ／２）−１までの整数値をとり、ｋ＝０が０［Ｈｚ］（直流）、ｋ＝（Ｎ／２）−１がＦｒ／２［Ｈｚ］（最も高い周波数成分）を表し、その間を周波数分解能Δｆ＝（Ｆｒ／２）÷（（Ｎ／２）−１）［Ｈｚ］で等分したものが各ｋにおける周波数となり、ｆｋ＝ｋ・Δｆで表される。
【００２１】
なお、前述したように、周波数分解部３はこの処理を所定の間隔（フレームシフト量Ｆｓ）を空けて連続的に行うことで、入力振幅データの周波数毎のパワー値と位相値とからなる周波数分解データセットを時系列的に生成する。
【００２２】
（２次元データ化部４と図形検出部５）
図５に示すように、２次元データ化部４は位相差算出部３０１と座標値決定部３０２とを具備する。図形検出部５は投票部３０３と直線検出部３０４とを具備する。
【００２３】
［位相差算出部３０１］  
位相差算出部３０１は、周波数分解部３により得られた同時期の２つの周波数分解データセットａとｂとを比較して、同じ周波数成分毎に両者の位相値の差を計算して得たａｂ間位相差データを生成する手段である。例えば図６に示すように、ある周波数成分ｆｋの位相差ΔＰｈ（ｆｋ）は、マイク１ａにおける位相値Ｐｈ１（ｆｋ）とマイク１ｂにおける位相値Ｐｈ２（ｆｋ）との差を計算し、その値が｛ΔＰｈ（ｆｋ）：−π＜ΔＰｈ（ｆｋ）≦π｝に収まるように、２πの剰余系として算定する。
【００２４】
［座標値決定部３０２］  
座標値決定部３０２は、位相差算出部３０１により得られた位相差データを元に、各周波数成分に両者の位相値の差を計算して得た位相差データを所定の２次元のＸＹ座標系上の点として扱うための座標値を決定する手段である。ある周波数成分ｆｋの位相差ΔＰｈ（ｆｋ）に対応するＸ座標値ｘ（ｆｋ）とＹ座標値ｙ（ｆｋ）は、図７に示す式によって決定される。Ｘ座標値は位相差ΔＰｈ（ｆｋ）、Ｙ座標値は周波数成分番号ｋである。
【００２５】
［同一時間差に対する位相差の周波数比例性］  
位相差算出部３０１によって、図６に示したように算出される周波数成分毎の位相差は、同一音源（同一方向）に由来するものどうしが同じ到達時間差を表しているはずである。ＦＦＴによって得られたある周波数の位相値及びマイクロホン間の位相差はその周波数の周期を２πとして算出された値である。ここで、同じ時間差であっても、周波数が２倍になれば位相差も２倍となるような比例関係の存在に着目する。これを図８に示す。図８（ａ）に示すように、同一時間Ｔについて、周波数ｆｋ［Ｈｚ］の波１３０は１／２周期、すなわちπだけの位相区間を含むが、２倍の周波数２ｆｋ［Ｈｚ］の波１３１は１周期、すなわち２πの位相区間を含む。これは、位相差についても同様である。すなわち、同一時間差ΔＴについて、位相差は周波数に比例して大きくなる。このような位相差と周波数との間の比例関係を図８（ｂ）に示す。同一音源から発せられてΔＴを共通にする各周波数成分の位相差を図７に示した座標値計算により２次元座標系上にプロットすると、各周波数成分の位相差を表す座標点１３２が直線１３３の上に並ぶことがわかる。ΔＴが大きいほど、すなわち音源までの距離がマイクロホン間で異なるほど、この直線の傾きは大きくなる。
【００２６】
［位相差の循環性］  
但し、マイクロホン間の位相差が図８（ｂ）に示したように全域で周波数に比例するのは、解析対象となる最低周波数から最高周波数まで通して真の位相差が±πを逸脱しない場合に限られる。この条件はΔＴが、最高周波数（サンプリング周波数の半分）Ｆｒ／２［Ｈｚ］の１／２周期分の時間、すなわち１／Ｆｒ［秒］以上とならないことである。もし、ΔＴが１／Ｆｒ以上となる場合には、次に述べるように位相差が循環性を持つ値としてしか得られないことを考慮しなければならない。
【００２７】
周波数成分毎の位相値は図４に示した回転角度θの値として２πの幅（本実施形態では-πからπの間の２πの幅）でしか得ることができない。これは、その周波数成分における実際の位相差がマイクロホン間で１周期以上であっても、周波数分解結果として得られる位相値からそれを知ることができないことを意味する。そのため、本実施形態では位相差を図６に示したように-πからπの間で得るようにしている。しかし、ΔＴに起因する真の位相差は、ここで求められた位相差の値に２πを加えたり差し引いたり、あるいはさらに４πや６πを加えたり差し引いたりした値である可能性がある。これを模式的に示すと図９のようになる。図９において、周波数ｆｋの位相差ΔＰｈ（ｆｋ）が黒丸１４０で表すように＋πであるとき、１つ高い周波数ｆｋ＋１の位相差は白丸１４１で表すように＋πを超えている。しかしながら、計算された位相差ΔＰｈ（ｆｋ＋１）は、本来の位相差から２πを差し引いた、黒丸１４２で表すように−πよりもやや大きい値となる。図示しないが、その３倍の周波数でも同様の値を示すことになるが、これは実際の位相差から４πを差し引いた値である。このように位相差は周波数が高くなるにつれて２πの剰余系として−πからπの間で循環する。この例ように、ΔＴが大きくなると、ある周波数ｆｋ＋１から上では、白丸で表した真の位相差が黒丸で示したように反対側に循環してしまう。
【００２８】
［複数音源存在時の位相差］  
一方、複数の音源から音波が発せられている場合、周波数と位相差のプロット図は図１０に模式的に示すような様相となる。この図は２つの音源がマイクロホン対に対して異なる方向に存在している場合を示したものであり、図１０（ａ）は２つの音源音が互いに同じ周波数成分を含んでいない場合であり、図１０（ｂ）は一部の周波数成分が双方に含まれている場合である。図１０（ａ）では、各周波数成分の位相差はΔＴを共通にする直線のいずれかに乗っており、傾きの小さい直線１５０では５点、傾きの大きい直線１５１（循環した直線１５２を含む）では６点が直線上に配置されている。図１０（ｂ）では、双方に含まれる２つの周波数成分１５３と１５４では波が混ざって位相差が正しく出ないため、いずれの直線にも乗らず、特に傾きの小さい直線１５５では３点しか直線上に乗っていない。
【００２９】
音源の数と方向を推定する問題は、このようなプロット図上で、図示したような直線を発見することに帰着できる。また、音源毎の周波数成分を推定する問題は、検出された直線に近い位置に配置された周波数成分を選別することに帰着できる。本実施形態において、２次元データ化部４が出力する２次元データは、周波数分解部３による周波数分解データセットの２つを使って周波数と位相差の関数として決定される点群、もしくはそれら点群を２次元座標系上に配置（プロット）した画像とする。なお、この２次元データは時間軸を含まない２軸によって定義され、故に、２次元データの時系列としての３次元データが定義できる。図形検出部５はこの２次元データ（もしくはその時系列たる３次元データ）として与えられる点群配置から直線状の配置を図形として検出するものとする。
【００３０】
［投票部３０３］  
投票部３０３は、座標値決定部３０２によって（ｘ，ｙ）座標を与えられた各周波数成分に対して、後述するように直線ハフ変換を適用し、その軌跡をハフ投票空間に所定の方法で投票する手段である。ハフ変換については、参考文献２「岡崎彰夫、“はじめての画像処理”、工業調査会、２０００年１０月２０日発行」の第１００頁〜第１０２頁に解説されているが、ここでもう一度説明する。
【００３１】
［直線ハフ変換］  
図１１に模式的に示すように、２次元座標上の点ｐ（ｘ，ｙ）を通り得る直線は１６０、１６１、１６２に例示するように無数に存在するが、原点Ｏから各直線に下ろした垂線１６３のＸ軸からの傾きをθとし、この垂線１６３の長さをρとして表現すると、１つの直線についてθとρは一意に決まる。ある点（ｘ，ｙ）を通る直線の取り得るθとρとの組は、θρ座標系上で（ｘ，ｙ）の値に固有の軌跡１６４（ρ＝ｘｃｏｓθ＋ｙｓｉｎθ）を描くことが知られている。このような、（ｘ，ｙ）座標値から、（ｘ，ｙ）を通り得る直線の（θ，ρ）の軌跡への変換を直線ハフ変換という。なお、直線が左に傾いているときθは正値、垂直のときは０、右に傾いているときは負値であるとし、また、θの定義域は｛θ：-π＜θ≦π｝を逸脱することはない。
【００３２】
ハフ曲線はＸＹ座標系上の各点について独立に求めることができるが、図１２に示すように、例えば３点ｐ１、ｐ２、ｐ３を共通に通る直線１７０は、ｐ１、ｐ２、ｐ３に対応した軌跡１７１、１７２、１７３が交差する点１７４の座標（θ０，ρ０）で定められる直線として求めることができる。多くの点を通る直線であればあるほど、その直線を表すθとρの位置を多くの軌跡が通過する。このように、ハフ変換は点群から直線を検出する用途に向いている。
【００３３】
［ハフ投票］  
点群から直線を検出するため、ハフ投票という工学的な手法が使われる。これはθとρを座標軸とする２次元のハフ投票空間に各軌跡の通過するθとρの組を投票することで、ハフ投票空間の得票の大きい位置に多数の軌跡の通過するθとρの組、すなわち直線の存在を示唆させるようにする手法である。一般的には、まずθとρについての必要な探索範囲分の大きさを持つ２次元の配列（ハフ投票空間）を用意して０で初期化しておく。次いで、点毎の軌跡をハフ変換によって求め、この軌跡が通過する配列上の値を１だけ加算する。これをハフ投票という。全ての点についてその軌跡を投票し終えると、得票０の位置（軌跡が１つも通過しなかった）には直線が存在せず、得票１の位置（軌跡が１つだけ通過した）には１つの点を通る直線が、得票２の位置（軌跡が２つだけ通過した）には２つの点を通る直線が、得票ｎの位置（軌跡がｎ個だけ通過した）にはｎ個の点を通る直線がそれぞれ存在することがわかる。ハフ投票空間の分解能を無限大にできれば、上述した通り、軌跡の通過する点のみが、そこを通過する軌跡の数だけの得票を得ることになるが、実際のハフ投票空間はθとρについて適当な分解能で量子化されているため、複数の軌跡が交差する位置の周辺にも高い得票分布が生じる。そのため、ハフ投票空間の得票分布から極大値を持つ位置を探すことで、軌跡の交差する位置をより正確に求める必要がある。
【００３４】
投票部３０３は、次の投票条件を全て満たす周波数成分についてハフ投票を行う。この条件により、所定の周波数帯で所定閾値以上のパワーを持つ周波数成分のみが投票されることになる。
【００３５】
すなわち、投票条件１は、周波数が所定範囲にあるもの（低域カットと高域カット）とする。また、投票条件２は、当該周波数成分ｆｋのパワーＰ（ｆｋ）が所定閾値以上のもの、とする。
【００３６】
投票条件１は、一般に暗騒音が乗っている低域をカットしたり、ＦＦＴの精度の落ちる高域をカットしたりする目的で使われる。この低域カットと高域カットの範囲は運用に合わせて調整可能である。最も広く周波数帯域を使う場合、低域カットは直流成分のみ、高域カットは最大周波数のみとする設定が適している。
【００３７】
暗騒音程度の非常に弱い周波数成分ではＦＦＴ結果の信頼性が高くないと考えられる。投票条件２は、このような信頼性の低い周波数成分をパワーで閾値処理することで投票に参加させないようにする目的で使われる。マイク１ａにおけるパワー値Ｐｏ１（ｆｋ）、マイク１ｂにおけるパワー値Ｐｏ２（ｆｋ）とすると、このとき評価されるパワーＰ（ｆｋ）の決め方には次の３つが考えられる。なお、いずれの条件を使用するかは運用に合わせて設定可能である。
【００３８】
（平均値）：Ｐｏ１（ｆｋ）とＰｏ２（ｆｋ）の平均値とする。両方のパワーがともに適度に強いことを必要とする条件である。
【００３９】
（最小値）：Ｐｏ１（ｆｋ）とＰｏ２（ｆｋ）の小さい方とする。両方のパワーが最低でも閾値以上あることを必要とする条件である。
【００４０】
（最大値）：Ｐｏ１（ｆｋ）とＰｏ２（ｆｋ）の大きい方とする。一方が閾値未満でも他方が十分強ければ投票するという条件である。
【００４１】
また、投票部３０３は、投票に際して次の２つの加算方式を行うことが可能である。
【００４２】
すなわち、加算方式１では、軌跡の通過位置に所定の固定値（例えば１）を加算する。加算方式２では、軌跡の通過位置に当該周波数成分ｆｋのパワーＰ（ｆｋ）の関数値を加算する。
【００４３】
加算方式１は、ハフ変換による直線検出問題で一般的によく用いられている方式であり、通過する点の多さに比例して得票に順位がつくため、多くの周波数成分を含む直線（すなわち音源）を優先的に検出するのに適している。このとき、直線に含まれる周波数成分について調波構造（含まれる周波数が等間隔であること）の制限がないので、人間の音声に限らずより幅広い種類の音源を検出することができる。
【００４４】
また、加算方式２は、通過する点が少なくても、パワーの大きい周波数成分を含んでいれば上位の極大値を得ることのできる方式であり、周波数成分が少なくてもパワーの大きい有力な成分を持つ直線（すなわち音源）を検出するのに適している。加算方式２におけるパワーＰ（ｆｋ）の関数値はＧ（Ｐ（ｆｋ））として計算される。図１３は、Ｐ（ｆｋ）をＰｏ１（ｆｋ）とＰｏ２（ｆｋ）の平均値とした場合のＧ（Ｐ（ｆｋ））の計算式を示したものである。この他にも上述した投票条件２と同様、Ｐｏ１（ｆｋ）とＰｏ２（ｆｋ）の最小値や最大値としてＰ（ｆｋ）を計算することも可能であり、投票条件２とは別に運用に合わせて設定可能である。中間パラメータＶの値はＰ（ｆｋ）の対数値ｌｏｇ１０（Ｐ（ｆｋ））に所定のオフセットαを足した値として計算される。そしてＶが正であるときはＶ＋１の値を、Ｖがゼロ以下であるときには１を、関数Ｇ（Ｐ（ｆｋ））の値とする。このように最低でも１を投票することで、パワーの大きい周波数成分を含む直線（音源）が上位に浮上するだけでなく、多数の周波数成分を含む直線（音源）も上位に浮上するという加算方式１の多数決的な性質を併せ持たせることができる。投票部３０３は、設定によって加算方式１と加算方式２のいずれを行うことも可能であるが、特に後者を用いることで、周波数成分の少ない音源も同時に検出することが可能になり、さらに幅広い種類の音源を検出できるようになる。
【００４５】
［複数ＦＦＴ結果をまとめて投票］  
さらに、投票部３０３は、１回のＦＦＴ毎に投票を行うことも可能だが、一般的に連続するｍ回（ｍ≧１）の時系列的なＦＦＴ結果についてまとめて投票を行なうこととする。長期的には音源の周波数成分は変動するものであるが、このようにすることで、周波数成分の安定している適度に短期間の複数時刻のＦＦＴ結果から得られるより多くのデータを用いて、より信頼性の高いハフ投票結果を得ることができるようになる。なお、このｍは運用に合わせてパラメータとして設定可能とする。
【００４６】
［直線検出部３０４］  
直線検出部３０４は、投票部３０３によって生成されたハフ投票空間上の得票分布を解析して有力な直線を検出する手段である。但し、このとき、図９で述べた位相差の循環性など、本問題に特有の事情を考慮することで、より高精度な直線検出を実現する。
【００４７】
図１４に、室内雑音環境下で１人の人物がマイクロホン対の正面約２０度左より発話した実際の音声を用いて処理したときの周波数成分のパワースペクトル、連続する５回分（前述のｍ＝５）のＦＦＴ結果から得た周波数成分毎の位相差プロット図、同じ５回分のＦＦＴ結果から得たハフ投票結果（得票分布）を示す。ここまでの処理は音響信号入力部２から投票部３０３までの一連の機能ブロックで実行される。
【００４８】
マイクロホン対で取得された振幅データは、周波数分解部３によって周波数成分毎のパワー値と位相値のデータに変換される。図１４において、１８０と１８１は、横軸を時間として、周波数成分毎のパワー値の対数を輝度表示（黒いほど大きい）したものである。縦の１ラインが１回のＦＦＴ結果に対応し、これを時間経過（右向き）に沿ってグラフ化した図である。上段１８０がマイク１ａ、下段１８１がマイク１ｂからの信号を処理した結果であり、多数の周波数成分が検出されている。この周波数分解結果を受けて、位相差算出部３０１により周波数成分毎の位相差が求められ、座標値決定部３０２によりその（ｘ，ｙ）座標値が算出される。図１４において、１８２はある時刻１８３から連続５回分のＦＦＴによって得た位相差をプロットした図である。この図で原点から左に傾いた直線１８４に沿う点群分布が認められるが、その分布は直線１８４上にきれいに乗っているわけではなく、またこの直線１８４から離れた多数の点が存在している。投票部３０３により、このような分布を示している各点がハフ投票空間に投票されて得票分布１８５を形成する。なお、図の１８５は加算方式２を用いて生成された得票分布である。
【００４９】
［ρ＝０の制約］  
ところで、マイク１ａとマイク１ｂの信号が音響信号入力部２によって同相でＡ／Ｄ変換される場合、検出されるべき直線は必ずρ＝０、すなわちＸＹ座標系の原点を通る。したがって、音源の推定問題は、ハフ投票空間上でρ＝０となるθ軸上の得票分布Ｓ（θ，０）から極大値を探索する問題に帰着する。図１４で例示したデータに対してθ軸上で極大値を探索した結果を図１５に示す。
【００５０】
図１５において、得票分布１９０は図１３における得票分布１８５と同一のものである。棒グラフ１９２は、θ軸１９１上の得票分布Ｓ（θ，０）をＨ（θ）として抜き出したものである。この得票分布Ｈ（θ）には幾つか極大箇所（突出部）が存在している。直線検出部３０４は、得票分布Ｈ（θ）に対して、（１）ある位置について左右に自身と同点のものが続く限り探索したときに、最後に自身より低得票のものだけが現れた箇所を残す。この結果、得票分布Ｈ（θ）上の極大部が抽出されるが、この極大部には平坦な頂を持つものが含まれるので、そこでは極大値が連続する。そこで直線検出部３０４は、（２）細線化処理によって極大部の中央位置だけを極大位置１９３として残す。そして最後に、（３）得票が所定閾値以上となる極大位置のみを直線として検出する。このようにすることで十分な得票を得た直線のθを正確に割り出すことができる。図の例では、上記（２）において検出された極大位置１９４、１９５、１９６のうち、極大位置１９４が平坦な極大部から細線化処理によって残された中央位置（偶数連続時は右が優先）である。また、唯一１９６だけが閾値以上の得票を得て検出された直線となる。この極大位置１９６によって与えられるθとρ（＝０）とにより、直線（基準直線）１９７は定義される。なお、細線化処理のアルゴリズムは、ハフ変換の説明で参照した参考文献２の第８９頁〜第９２頁に記載される「田村の方法」を１次元化して使うことが可能である。直線検出部３０４は、このようにして１乃至複数の極大位置（所定閾値以上の得票を得た中央位置）を検出すると、その得票の多い順に順位を付けて各極大位置のθとρの値を出力する。
【００５１】
［位相差循環を考慮した直線群の定義］  
ところで、図１５で例示した直線１９７は、（θ０，０）なる極大位置１９６によって定義されたＸＹ座標原点を通る直線である。しかし、実際には位相差の循環性によって、図１５の直線１９７がΔρ１９９だけ平行移動してＸ軸上の反対側から循環してくる直線１９８もまた１９７と同じ到達時間差を示す直線である。この直線１９８のように直線１９７を延長してＸの値域からはみ出した部分が反対側から循環的に現れる直線を、直線１９７の「循環延長線」、基準となった直線１９７を「基準直線」とそれぞれ呼ぶことにする。もし、基準直線１９７がさらに傾いておれば、循環延長線はさらに数を増すことになる。ここで係数ａを０以上の整数とすると、到達時間差を同じくする直線は全て（θ０，０）で定義される基準直線１９７をΔρずつ平行移動させた直線群（θ０，ａΔρ）となる。さらに、起点となるρについてρ＝０の制約をはずしてρ＝ρ０として一般化すると、直線群は（θ０，ａΔρ＋ρ０）として記述できることになる。このとき、Δρは直線の傾きθの関数Δρ（θ）として図１６に示す式で定義される符号付きの値である。
【００５２】
図１６において、基準直線２００は（θ，０）で定義される。このとき、基準直線２００が右に傾いているので定義に従いθは負値であるが、図ではその絶対値として扱う。図１６における直線２０１は基準直線２００の循環延長線であり、点ＲにおいてＸ軸と交差している。また、基準直線２００と循環延長線２０１の間隔は補助線２０２で示す通りΔρであり、補助線２０２は点Ｏにおいて基準直線２００と垂直に交差し、点Ｕにおいて循環延長線２０１と垂直に交差している。このとき、基準直線が右に傾いているので定義に従いΔρも負値であるが、図ではその絶対値として扱う。図１６における△ＯＱＰは辺ＯＱの長さがπとなる直角三角形であり、これと合同な三角形が△ＲＴＳである。故に辺ＲＴの長さもπであり、△ＯＵＲの斜辺ＯＲの長さが２πであることがわかる。このとき、Δρは辺ＯＵの長さであるから、Δρ＝２πｃｏｓθとなる。そして、θとΔρの符号を考慮すると図の計算式が導き出される。
【００５３】
［位相差循環を考慮した極大位置検出］  
位相差の循環性から、音源を表す直線は１つではなく基準直線と循環延長線とからなる直線群として扱われるべきであることを述べた。このことは得票分布から極大位置を検出する際にも考慮されなければならない。通常、位相差の循環が起きないか、起きても小規模で収まるマイクロホン対の正面付近のみで音源を検出する場合に限れば、ρ＝０（あるいはρ＝ρ０）上の得票値（すなわち基準直線の得票値）のみで極大位置を探索する上述の方法は性能的に十分であるばかりか、探索時間の短縮と精度の向上に効果がある。しかし、より広い範囲に存在する音源を検出しようとする場合には、あるθについてΔρずつ離れた数箇所の得票値を合計して極大位置を探索する必要がある。この違いを以下で説明する。
【００５４】
図１７に、室内雑音環境下で２人の人物がマイクロホン対の正面約２０度左と約４５度右から同時に発話した実際の音声を用いて処理したときの周波数成分のパワースペクトル、５回分（ｍ＝５）のＦＦＴ結果から得た周波数成分毎の位相差プロット図、同じ５回分のＦＦＴ結果から得たハフ投票結果（得票分布）を示す。
【００５５】
マイクロホン対で取得された振幅データは、周波数分解部３によって周波数成分毎のパワー値と位相値のデータに変換される。図１７において、２１０と２１１は、縦軸を周波数、横軸を時間として、周波数成分毎のパワー値の対数を輝度表示（黒いほど大きい）したものである。縦の１ラインが１回のＦＦＴ結果に対応し、これを時間経過（右向き）に沿ってグラフ化した図である。上段２１０がマイク１ａ、下段２１１がマイク１ｂからの信号を処理した結果であり、多数の周波数成分が検出されている。この周波数分解結果を受けて、位相差算出部３０１により周波数成分毎の位相差が求められ、座標値決定部３０２によりその（ｘ，ｙ）座標値が算出される。プロット図２１２は、ある時刻２１３から連続５回分のＦＦＴによって得た位相差をプロットしものである。このプロット図２１２において原点から左に傾いた基準直線２１４に沿う点群分布と右に傾いた基準直線２１５に沿う点群分布が認められる。投票部３０３により、このような分布を示している各点がハフ投票空間に投票されて得票分布２１６を形成する。なお、得票分布２１６は、加算方式２を用いて生成されたものである。
【００５６】
図１８はθ軸上の得票値のみで極大位置を探索した結果を示した図である。図１８における得票分布２２０は図１７における得票分布２１６と同一のものである。棒グラフ２２２は、θ軸２２１上の得票分布Ｓ（θ，０）をＨ（θ）として抜き出して棒グラフにしたものである。この得票分布Ｈ（θ）には幾つか極大箇所（突出部）が存在しているが、総じてθの絶対値が大きくなるほど得票が少なくなることがわかる。この得票分布Ｈ（θ）からは、極大位置グラフ２２３に示すように４つの極大位置２２４、２２５、２２６、２２７が検出される。このうち、唯一、極大位置２２７だけが閾値以上の得票を得る。これにより１つの直線群（基準直線２２８と循環延長線２２９）が検出される。この直線群はマイクロホン対の正面約２０度左からの音声を検出したものであるが、マイクロホン対の正面約４５度右からの音声は検出できていない。原点を通る基準直線ではその角度が大きいほどＸの値域を超えるまでに少ない周波数帯しか通過できないため、基準直線が通過する周波数帯の広さはθによって異なる（不公平がある）。そして、ρ＝０の制約は、この不公平な条件で基準直線だけの得票を競わせることになるため、角度の大きい直線ほど得票で不利になるのである。これが約４５度右からの音声を検出できなかった理由である。
【００５７】
一方、図１９はΔρずつ離れた数箇所の得票値を合計して極大位置を探索した結果を示した図である。図中の２４０は、図１７における得票分布２１６上に、原点を通る直線をΔρずつ平行移動させたときのρの位置を破線２４２〜２４９で表示したものである。このとき、θ軸２４１と破線２４２〜２４５、及びθ軸２４１と破線２４６〜２４９はそれぞれΔρ（θ）の自然数倍で等間隔に離れている。なお、直線がＸの値域を越えずにプロット図の天井まで抜けることが確実なθ＝０には破線が存在しない。
【００５８】
あるθ０の得票Ｈ（θ０）は、θ＝θ０の位置で縦に見たときのθ軸２４１上の得票と破線２４２〜２４９上の得票の合計値、すなわちＨ（θ０）＝Σ｛Ｓ（θ０，ａΔρ（θ０））｝として計算される。この操作はθ＝θ０となる基準直線とその循環延長線の得票を合計することに相当する。この得票分布Ｈ（θ）を棒グラフにしたものが図中の２５０である。図１８の２２２と異なり、この分布ではθの絶対値が大きくなっても得票が少なくなっていない。これは、得票計算に循環延長線を加えたことで全てのθについて同じ周波数帯を使うことができるようになったからである。この得票分布２５０からは図中２５１に示す１０個の極大位置が検出される。このうち、極大位置２５２と２５３が閾値以上の得票を得て、マイクロホン対の正面約２０度左からの音声を検出した直線群（極大位置２５３に対応する基準直線２５４と循環延長線２５５）と、マイクロホン対の正面約４５度右からの音声を検出した直線群（極大位置２５２に対応する基準直線２５６と循環延長線２５７と２５８）の２つが検出される。このようにΔρずつ離れた箇所の得票値を合計して極大位置を探索することで、角度の小さい直線から角度の大きい直線まで安定に検出できるようになる。
【００５９】
［非同相の場合を考慮した極大位置検出：一般化］  
さて、マイク１ａとマイク１ｂの信号が音響信号入力部２によって同相でＡ／Ｄ変換されない場合、検出されるべき直線はρ＝０、すなわちＸＹ座標原点を通らない。この場合はρ＝０の制約をはずして極大位置を探索する必要がある。
【００６０】
ρ＝０の制約をはずした基準直線を一般化して（θ０，ρ０）と記述すると、その直線群（基準直線と循環延長線）は（θ０，ａΔρ（θ０）＋ρ０）と記述できる。ここでΔρ（θ０）はθ０によって決まる循環延長線の平行移動量である。音源がある方向から来るときに、それに対応したθ０における直線群は最も有力なものが１つ存在するだけである。その直線群は、様々にρ０を変えたときの直線群の得票Σ｛Ｓ（θ０，ａΔρ（θ０）＋ρ０）｝が最大となるρ０の値ρ０ｍａｘを使って（θ０，ａΔρ（θ０）＋ρ０ｍａｘ）で与えられる。そこで、各θにおける得票Ｈ（θ）をそれぞれのθにおける最大得票値Σ｛Ｓ（θ，ａΔρ（θ）＋ρ０ｍａｘ）｝とすることで、ρ＝０の制約時と同じ極大位置検出アルゴリズムを適用した直線検出を行なうことができるようになる。
【００６１】
なお、このようにして検出された直線群の数が音源の数である。
【００６２】
［音源情報生成部６］  
図２０に示すように、音源情報生成部６は、方向推定部３１１と、音源成分推定部３１２と、音源音再合成部３１３と、時系列追跡部３１４と、継続時間評価部３１５と、同相化部３１６と、適応アレイ処理部３１７と、音声認識部３１８とを具備する。
【００６３】
［方向推定部３１１］  
方向推定部３１１は、以上で述べた直線検出部３０４による直線検出結果、すなわち直線群毎のθ値を受けて、各直線群に対応した音源の存在範囲を計算する手段である。このとき、検出された直線群の数が音源の数（全候補）となる。マイクロホン対のベースラインに対して音源までの距離が十分遠い場合、音源の存在範囲はマイクロホン対のベースラインに対してある角度を持った円錐面となる。これを図２１を参照して説明する。
【００６４】
マイク１ａとマイク１ｂの到達時間差ΔＴは±ΔＴｍａｘの範囲で変化し得る。図２１（ａ）のように、正面から入射する場合、ΔＴは０となり、音源の方位角φは正面を基準にした場合０°となる。また、図２１（ｂ）のように音声が右真横、すなわちマイク１ｂ方向から入射する場合、ΔＴは＋ΔＴｍａｘに等しく、音源の方位角φは正面を基準にして右回りを正として＋９０°となる。同様に、図２１（ｃ）のように音声が左真横、すなわちマイク１ａ方向から入射する場合、ΔＴは−ΔＴｍａｘに等しく、方位角φは−９０°となる。このように、ΔＴを音が右から入射するとき正、左から入射するとき負となるように定義する。
【００６５】
以上を踏まえて図２１（ｄ）のような一般的な条件を考える。マイク１ａの位置をＡ、マイク１ｂの位置をＢとし、音声が線分ＰＡ方向から入射すると仮定すると、△ＰＡＢは頂点Ｐが直角となる直角三角形となる。このとき、マイク間中心Ｏ、線分ＯＣをマイクロホン対の正面方向として、ＯＣ方向を方位角０°とした左回りを正にとる角度を方位角φと定義する。△ＱＯＢは△ＰＡＢの相似形となるので、方位角φの絶対値は∠ＯＢＱ、すなわち∠ＡＢＰに等しく、符号はΔＴの符号に一致する。また、∠ＡＢＰはＰＡとＡＢの比のｓｉｎ−１として計算可能である。このとき、線分ＰＡの長さをこれに相当するΔＴで表すと、線分ＡＢの長さはΔＴｍａｘに相当する。したがって、符号も含めて、方位角はφ＝ｓｉｎ−１（ΔＴ／ΔＴｍａｘ）として計算することができる。そして、音源の存在範囲は点Ｏを頂点、ベースラインＡＢを軸として、（９０−φ）°開いた円錐面２６０として推定される。音源はこの円錐面２６０上のどこかにある。
【００６６】
図２２に示すように、ΔＴｍａｘはマイク間距離Ｌ［ｍ］を音速Ｖｓ［ｍ／ｓｅｃ］で割った値である。このとき、音速Ｖｓは気温ｔ［℃］の関数として近似できることが知られている。今、直線検出部３０４によって直線２７０がハフの傾きθで検出されているとする。この直線２７０は右に傾いているのでθは負値である。ｙ＝ｋ（周波数ｆｋ）のとき、直線２７０で示される位相差ΔＰｈはｋとθの関数としてｋ・ｔａｎ（−θ）で求めることができる。このときΔＴ［ｓｅｃ］は、位相差ΔＰｈ（θ，ｋ）の２πに対する割合を、周波数ｆｋの１周期（１／ｆｋ）［ｓｅｃ］に乗じた時間となる。θが符号付きの量なので、ΔＴも符号付きの量となる。すなわち、図２１（ｄ）で音が右から入射する（位相差ΔＰｈが正値となる）とき、θは負値となる。また、図２１（ｄ）で音が左から入射する（位相差ΔＰｈが負値となる）とき、θは正値となる。そのために、θの符号を反転させている。なお、実際の計算においては、ｋ＝１（直流成分ｋ＝０のすぐ上の周波数）で計算を行えば良い。
【００６７】
［音源成分推定部３１２］  
音源成分推定部３１２は、座標値決定部３０２により与えられた周波数成分毎の（ｘ，ｙ）座標値と、直線検出部３０４により検出された直線との距離を評価することで、直線近傍に位置する点（すなわち周波数成分）を当該直線（すなわち音源）の周波数成分として検出し、この検出結果に基づいて音源毎の周波数成分を推定するための手段である。
【００６８】
［距離閾値方式による検出］  
図２３に複数の音源が存在するときの音源成分推定の原理を模式的に示す。図２３（ａ）は図９に示したものと同じ周波数と位相差のプロット図であり、２つの音源がマイクロホン対に対して異なる方向に存在している場合を示している。図２３（ａ）の２８０は１つの直線群をなし、図２３（ａ）の２８１と２８２は別の直線群をなす。図２３（ａ）の黒丸は周波数成分毎の位相差位置を表している。
【００６９】
直線群２８０に対応する音源音を構成する周波数成分は、図２３（ｂ）に示すように、直線２８０から左右にそれぞれ水平距離２８３だけ離れた直線２８４と直線２８５に挟まれる領域２８６内に位置する周波数成分（図の黒丸）として検出される。ある周波数成分がある直線の成分として検出されることを、周波数成分が直線に帰属する（あるいは属する）ということにする。
【００７０】
同様に、直線群（２８１、２８２）に対応する音源音を構成する周波数成分は、図２３（ｃ）に示すように、直線２８１と直線２８２から左右にそれぞれ水平距離２８３だけ離れた直線に挟まれる領域２８７と２８８内に位置する周波数成分（図の黒丸）として検出される。
【００７１】
なお、このとき周波数成分２８９と原点（直流成分）の２点は、領域２８６と領域２８８の両方に含まれるので、両音源の成分として二重に検出される（多重帰属）。このように、周波数成分と直線との水平距離を閾値処理して、直線群（音源）毎に閾値内に存在する周波数成分を選択し、そのパワーと位相をそのまま当該音源音の成分とする方式を「距離閾値方式」と呼ぶことにする。
【００７２】
［最近傍方式による検出］  
図２４は、図２３において多重帰属する周波数成分２８９について、どちらか最も近い方の直線群にのみ属させるようにした結果を示した図である。直線２８０と直線２８２に対する周波数成分２８９の水平距離を比較した結果、周波数成分２８９は直線２８２に最も近いことが判明する。このとき、周波数成分２８９は直線２８２近傍の領域２８８に入っている。よって、周波数成分２８９は、図２４（ｂ）に示すように直線群（２８１、２８２）に属する成分として検出される。このように、周波数成分毎に水平距離で最も近い直線（音源）を選択し、その水平距離が所定閾値内にある場合に当該周波数成分のパワーと位相をそのまま当該音源音の成分とする方式を「最近傍方式」と呼ぶことにする。なお、直流成分（原点）は特別扱いとして両方の直線群（音源）に帰属させるものとする。
【００７３】
［距離係数方式による検出］  
上記２つの方式は、直線群を構成する直線に対して所定の水平距離閾値内に存在する周波数成分だけを選択し、そのパワーと位相をそのままにして直線群に対応する音源音の周波数成分としていた。一方、次に述べる「距離係数方式」は、周波数成分と直線との水平距離ｄの増大に応じて単調減少する非負係数αを計算し、これを当該周波数成分のパワーに乗じることで、直線から水平距離で遠い成分ほど弱いパワーで音源音に寄与するようにした方式である。
【００７４】
このとき、水平距離による閾値処理を行う必要はなく、ある直線群に対する各周波数成分の水平距離（直線群の中の最も近い直線との水平距離）ｄを求め、その水平距離ｄに基づいて定められる係数αを当該周波数成分のパワーに乗じた値を、当該直線群における当該周波数成分のパワーとする。水平距離ｄの増大に応じて単調減少する非負係数αの計算式は任意であるが、一例として図２５に示すシグモイド（Ｓ字曲線）関数α＝ｅｘｐ（−（Ｂ・ｄ）Ｃ）が挙げられる。このとき図に例示したように、Ｂを正の数値（図では１．５）、Ｃを１より大きい数値（図では２．０）とすると、ｄ＝０のときα＝１、ｄ→∞のときα→０となる。非負係数αの減少の度合いが急峻、すなわちＢが大きいと直線群からはずれた成分が排除され易くなるので、音源方向に対する指向性が鋭くなり、逆に非負係数αの減少の度合いが緩慢、すなわちＢが小さいと指向性が鈍くなる。
【００７５】
［複数ＦＦＴ結果の扱い］  
既に述べたように、投票部３０３は１回のＦＦＴ毎に投票を行うことも、連続するｍ回（ｍ≧１）のＦＦＴ結果をまとめて投票することも可能である。したがって、ハフ投票結果を処理する直線検出部３０４以降の機能ブロックは１回のハフ変換が実行される期間を単位として動作する。このとき、ｍ≧２でハフ投票が行われるときは、複数時刻のＦＦＴ結果がそれぞれの音源音を構成する成分として分類されることになり、時刻の異なる同一周波数成分が別々の音源音に帰属させられることも起こり得る。これを扱うために、ｍの値に関わらず、座標値決定部３０２によって、各周波数成分（すなわち、図２４に例示した黒丸）にはそれが取得されたフレームの開始時刻が取得時刻の情報として付与されており、どの時刻のどの周波数成分がどの音源に帰属するかを参照可能にする。すなわち、音源音がその周波数成分の時系列データとして分離抽出される。
【００７６】
［パワー保存オプション］  
なお、上述した各方式において、複数（Ｎ個）の直線群（音源）に属する周波数成分（最近傍方式では直流成分のみ、距離係数方式では全周波数成分が該当）では、各音源に配分される同一時刻の当該周波数成分のパワーを、その合計が配分前の当該時刻のパワー値Ｐｏ（ｆｋ）に等しくなるように正規化してＮ分割することも可能である。このようにすることで、同一時刻の周波数成分毎に音源全体での合計パワーを入力と同じに保つことができる。これを「パワー保存オプション」と呼ぶことにする。配分の仕方には次の２つの考え方がある。
【００７７】
すなわち、（１）Ｎ等分（距離閾値方式と最近傍方式に適用可能）と、（２）各直線群との距離に応じた配分（距離閾値方式と距離係数方式に適用可能）である。
【００７８】
（１）はＮ等分することで自動的に正規化が達成される配分方法であり、距離に関係なく配分を決める距離閾値方式と最近傍方式に適用可能である。
【００７９】
（２）は距離係数方式と同様にして係数を決めた後、さらにそれらの合計が１になるように正規化することでパワーの合計を保存する配分方法であり、原点以外で多重帰属の発生する距離閾値方式と距離係数方式に適用可能である。
【００８０】
なお、音源成分推定部３１２は、設定によって距離閾値方式と最近傍方式と距離係数方式のいずれを行うことも可能である。また、距離閾値方式と最近傍方式において上述したパワー保存オプションを選択することが可能である。
【００８１】
［音源音再合成部３１３］  
音源音再合成部３１３は、各音源音を構成する同一取得時刻の周波数成分を逆ＦＦＴ処理することによって、当該時刻を開始時刻とするフレーム区間の当該音源音（振幅データ）を再合成する。図３に図示したように、１つのフレームは次のフレームとフレームシフト量だけの時間差をおいて重複している。このように複数のフレームで重複している区間では、重複する全てのフレームの振幅データを平均して最終的な振幅データと成すことができる。このような処理によって、音源音をその振幅データとして分離抽出することが可能になる。
【００８２】
［時系列追跡部３１４］  
上述した通り、投票部３０３によるハフ投票毎に直線検出部３０４により直線群が求められる。ハフ投票は連続するｍ回（ｍ≧１）のＦＦＴ結果についてまとめて行われる。この結果、直線群はｍフレーム分の時間を周期（これを「図形検出周期」と呼ぶことにする）として時系列的に求められることになる。また、直線群のθは方向推定部３０５により計算される音源方向φと１対１に対応しているので、音源が静止していても移動していても、安定な音源に対応しているθ（あるいはφ）の時間軸上の軌跡は連続しているはずである。一方、直線検出部３０４により検出された直線群の中には、閾値の設定具合によって背景雑音に対応する直線群（これを「雑音直線群」と呼ぶことにする）が含まれていることがある。しかしながら、このような雑音直線群のθ（あるいはφ）の時間軸上の軌跡は連続していないか、連続していても短いことが期待できる。
【００８３】
時系列追跡部３１４は、このように図形検出周期毎に求められるφを時間軸上で連続なグループに分けることで、φの時間軸上の軌跡を求める手段である。図２６を用いてグループ分けの方法を説明する。
【００８４】
（１）軌跡データバッファを用意する。軌跡データバッファは軌跡データの配列である。１つの軌跡データＫｄは、その開始時刻Ｔｓと、終了時刻Ｔｅと、当該軌跡を構成する直線群データＬｄの配列（直線群リスト）と、ラベル番号Ｌｎとを保持することができる。１つの直線群データＬｄは、当該軌跡を構成する１つの直線群のθ値とρ値（直線検出部３０４による）と、この直線群に対応した音源方向を表すφ値（方向推定部３１１による）と、この直線群に対応した周波数成分（音源成分推定部３１２による）と、それらが取得された時刻とからなる一群のデータである。なお、軌跡データバッファは最初空である。また、ラベル番号を発行するためのパラメータとして新規ラベル番号を用意し、初期値を０に設定する。
【００８５】
（２）ある時刻Ｔにおいて、新しく得られたφのそれぞれ（以後φｎとし、図中では黒丸３０３と黒丸３０４で示される２つが得られたものとする）について、軌跡データバッファに保持されている軌跡データＫｄ（図中の矩形３０１と３０２）の直線群データＬｄ（図中の矩形内に配置された黒丸）を参照し、そのφ値とφｎの差（図中の３０５と３０６）が所定角度閾値Δφ内にあり、かつその取得時刻の差（図中の３０７と３０８）が所定時間閾値Δｔ内にあるＬｄを持つ軌跡データを検出する。この結果、黒丸３０３については軌跡データ３０１が検出されたが、黒丸３０４については最も近い軌跡データ３０２も上記条件を満たさなかったとする。
【００８６】
（３）黒丸３０３のように、もし、（２）の条件を満たす軌跡データが見つかった場合は、φｎはこの軌跡と同一の軌跡を成すものとして、このφｎとそれに対応したθ値とρ値と周波数成分と現時刻Ｔとを当該軌跡Ｋｄの新たな直線群データとして直線群リストに追加し、現時刻Ｔを当該軌跡の新たな終了時刻Ｔｅとする。このとき、複数の軌跡が見つかった場合には、それら全てが同一の軌跡を成すものとして、最も若いラベル番号を持つ軌跡データに統合して、残りを軌跡データバッファから削除する。統合された軌跡データの開始時刻Ｔｓは統合前の各軌跡データの中で最も早い開始時刻であり、終了時刻Ｔｅは統合前の各軌跡データの中で最も遅い終了時刻であり、直線群リストは統合前の各軌跡データの直線群リストの和集合である。この結果、黒丸３０３は軌跡データ３０１に追加される。
【００８７】
（４）黒丸３０４のように、もし、（２）の条件を満たす軌跡データが見つからなかった場合は、新規の軌跡の始まりとし、軌跡データバッファの空き部分に新しい軌跡データを作成し、開始時刻Ｔｓと終了時刻Ｔｅを共に現時刻Ｔとし、φｎとそれに対応したθ値とρ値と周波数成分と現時刻Ｔとを直線群リストの最初の直線群データとし、新規ラベル番号の値をこの軌跡のラベル番号Ｌｎとして与え、新規ラベル番号を１だけ増加させる。なお、新規ラベル番号が所定の最大値に達したときは、新規ラベル番号を０に戻す。この結果、黒丸３０４は新たな軌跡データとして軌跡データバッファに登録される。
【００８８】
（５）もし、軌跡データバッファに保持されている軌跡データで、最後に更新されてから（すなわちその終了時刻Ｔｅから）現時刻Ｔまでに前記所定時間Δｔを経過したものがあれば、追加すべき新たなφｎの見つからなかった、すなわち追跡の満了した軌跡として、この軌跡データを次段の継続時間評価部３１５に出力した後、当該軌跡データを軌跡データバッファから削除する。図の例では軌跡データ３０２がこれに該当する。
【００８９】
［継続時間評価部３１５］  
継続時間評価部３１５は、時系列追跡部３１４により出力された追跡の満了した軌跡データの開始時刻と終了時刻から当該軌跡の継続時間を計算し、この継続時間が所定閾値を越えるものを音源音に基づく軌跡データと認定し、それ以外を雑音に基づく軌跡データと認定する。音源音に基づく軌跡データを音源ストリーム情報と呼ぶことにする。音源ストリーム情報には、当該音源音の開始時刻Ｔｓ、終了時刻Ｔｅ、当該音源方向を表すθとρとφの時系列的な軌跡データが含まれる。なお、図形検出部５による直線群の数が音源の数を与えるが、そこには雑音源も含まれている。継続時間評価部３１５による音源ストリーム情報の数は、雑音に基づくものを除いた信頼できる音源の数を与えてくれる。
【００９０】
［同相化部３１６］  
同相化部３１６は、時系列追跡部３１４による音源ストリーム情報を参照することで、当該ストリームの音源方向φの時間推移を得て、φの最大値φｍａｘと最小値φｍｉｎから中間値φｍｉｄ＝（φｍａｘ＋φｍｉｎ）／２を計算して幅φｗ＝φｍａｘ−φｍｉｄを求める。そして、当該音源ストリーム情報の元となった２つの周波数分解データセットａとｂの時系列データを、当該ストリームの開始時刻Ｔｓより所定時間遡った時刻から終了時刻Ｔｅより所定時間経過した時刻まで抽出して、中間値φｍｉｄで逆算される到達時間差をキャンセルするように補正することで同相化する。
【００９１】
あるいは、方向推定部３１１による各時刻の音源方向φをφｍｉｄとして、２つの周波数分解データセットａとｂの時系列データを常時同相化することもできる。音源ストリーム情報を参照するか、各時刻のφを参照するかは動作モードで決定され、この動作モードはパラメータとして設定・変更可能である。
【００９２】
［適応アレイ処理部３１７］  
適応アレイ処理部３１７は、抽出・同相化された２つの周波数分解データセットａとｂの時系列データを、正面０°に中心指向性を向け、±φｗに所定のマージンを加えた値を追従範囲とする適応アレイ処理に掛けることで、当該ストリームの音源音の周波数成分の時系列データを高精度に分離抽出する。この処理は方法こそ異なるが、周波数成分の時系列データを分離抽出する点において音源成分推定部３１２と同様の働きをする。それ故、音源音再合成部３１３は、適応アレイ処理部３１７による音源音の周波数成分の時系列データからも、その音源音の振幅データを再合成することができる。
【００９３】
なお、適応アレイ処理としては、参考文献３「天田皇ほか“音声認識のためのマイクロホンアレー技術”，東芝レビュー２００４，ＶＯＬ．５９，ＮＯ．９，２００４」に記載のように、それ自体がビームフォーマの構成方法として知られている「Ｇｒｉｆｆｉｔｈ−Ｊｉｍ型一般化サイドローブキャンセラ」を主副２つに用いるなど、設定された指向性範囲内の音声を明瞭に分離抽出する方法を適用することができる。
【００９４】
通常、適応アレイ処理を用いる場合、事前に追従範囲を設定し、その方向からの音声のみを待ち受ける使い方をするため、全方位からの音声を待ち受けるためには追従範囲を異ならせた多数の適応アレイを用意する必要があった。一方、本実施形態では、実際に音源の数とその方向を求めたうえで、音源数に応じた数の適応アレイだけを稼動させることができ、その追従範囲も音源の方向に応じた所定の狭い範囲に設定することができるので、音声を効率良くかつ品質良く分離抽出できる。
【００９５】
また、このとき、事前に２つの周波数分解データセットａとｂの時系列データを同相化することで、適応アレイ処理における追従範囲を正面付近にのみ設定するだけで、あらゆる方向の音を処理できるようになる。
【００９６】
［音声認識部３１８］  
音声認識部３１８は、音源成分推定部３１２もしくは適応アレイ処理部３１７により抽出された音源音の周波数成分の時系列データを解析照合することで、当該ストリームの記号的な内容、すなわち、言語的な意味や音源の種別や話者の別を表す記号（列）を抽出する。
【００９７】
なお、方向推定部３１１から音声認識部３１８までの各機能ブロックは、必要に応じて図２０に図示しない結線によって情報のやりとりが可能であるものとする。
【００９８】
［出力部７］  
出力部７は、音源情報生成部６による音源情報として、図形検出部５による直線群の数として得られる音源の数、方向推定部３１１により推定される、音響信号の発生源たる各音源の空間的な存在範囲（円錐面を決定させる角度φ）、音源成分推定部３１２により推定される、各音源が発した音声の成分構成（周波数成分毎のパワーと位相の時系列データ）、音源音再合成部３１３により合成される、音源毎に分離された分離音声（振幅値の時系列データ）、時系列追跡部３１４と継続時間評価部３１５とに基づいて決定される、雑音源を除く音源の数、時系列追跡部３１４と継続時間評価部３１５とにより決定される、各音源が発した音声の時間的な存在期間、正面化部３１６と適応アレイ部３１７とにより求められる、音源毎の分離音声（振幅値の時系列データ）、音声認識部３１８により求められる、各音源音声の記号的内容、の少なくとも１つを含む情報を出力する手段である。
【００９９】
［ユーザインタフェース部８］  
ユーザインタフェース部８は、上述した音響信号処理に必要な各種設定内容の利用者への呈示、利用者からの設定入力受理、設定内容の外部記憶装置への保存と外部記憶装置からの読み出しを実行したり、図１７や図１９に示した（１）マイク毎の周波数成分の表示、（２）位相差（あるいは時間差）プロット図の表示（すなわち２次元データの表示）、（３）各種得票分布の表示、（４）極大位置の表示、（５）プロット図上の直線群の表示、図２３や図２４に示した（６）直線群に帰属する周波数成分の表示、図２６に示した（７）軌跡データの表示、のように各種処理結果や中間結果を可視化して利用者に呈示したり、所望のデータを利用者に選択させてより詳細に可視化するための手段である。このようにすることで、利用者が本実施形態に係る音響信号処理装置の働きを確認したり、所望の動作を行ない得るように調整したり、以後は調整済みの状態で本装置を利用したりすることが可能になる。
【０１００】
［処理の流れ図］  
図２７は本実施形態に係る音響信号処理装置が実行する処理の流れを示すフローチャートである。この処理は、初期設定処理ステップＳ１と、音響信号入力処理ステップＳ２と、周波数分解処理ステップＳ３と、２次元データ化処理ステップＳ４と、図形検出処理ステップＳ５と、音源情報生成処理ステップＳ６と、出力処理ステップＳ７と、終了判断処理ステップＳ８と、確認判断処理ステップＳ９と、情報呈示・設定受理処理ステップＳ１０と、終了処理ステップＳ１１とを有する。
【０１０１】
初期設定処理ステップＳ１は、上述したユーザインタフェース部８における処理の一部を実行する処理ステップであり、音響信号処理に必要な各種設定内容を外部記憶装置から読み出して、装置を所定の設定状態に初期化する。
【０１０２】
音響信号入力処理ステップＳ２は、上述した音響信号入力部２における処理を実行する処理ステップであり、空間的に同一でない２つの位置で捉えられた２つの音響信号を入力する。
【０１０３】
周波数分解処理ステップＳ３は、上述した周波数分解部３における処理を実行する処理ステップであり、前記音響信号入力処理ステップＳ２による入力音響信号のそれぞれを周波数分解して、周波数毎の少なくとも位相値（と必要ならパワー値）を算出する。
【０１０４】
２次元データ化処理ステップＳ４は、上述した２次元データ化部４における処理を実行する処理ステップであり、前記周波数分解処理ステップＳ３により算出された各入力音響信号の周波数毎の位相値を比較して、両者の周波数毎の位相差値を算出し、該周波数毎の位相差値を、周波数の関数をＹ軸、位相差値の関数をＸ軸とするＸＹ座標系上の点として、各周波数とその位相差により一意に決定される（ｘ，ｙ）座標値に変換する。
【０１０５】
図形検出処理ステップＳ５は、上述した図形検出部５における処理を実行する処理ステップであり、前記２次元データ化処理ステップＳ４による２次元データから所定の図形を検出する。
【０１０６】
音源情報生成処理ステップＳ６は、上述した音源情報生成部６における処理を実行する処理ステップであり、前記図形検出処理ステップＳ５により検出された図形の情報に基づいて、前記音響信号の発生源たる音源の数、各音源の空間的な存在範囲、前記各音源を発した音声の成分構成、前記音源毎の分離音声、前記各音源を発した音声の時間的な存在期間、前記各音源を発した音声の記号的内容、の少なくとも１つを含む音源情報を生成する。
【０１０７】
出力処理ステップＳ７は、上述した出力部７における処理を実行する処理ステップであり、前記音源情報生成処理ステップＳ６により生成された音源情報を出力する。
【０１０８】
終了判断処理ステップＳ８は、上述したユーザインタフェース部８における処理の一部を実行する処理ステップであり、利用者からの終了命令の有無を検査して、終了命令が有る場合には終了処理ステップＳ１１へ（左分岐）、無い場合には確認判断処理ステップＳ９へ（上分岐）と処理の流れを制御する。
【０１０９】
確認判断処理ステップＳ９は、上述したユーザインタフェース部８における処理の一部を実行する処理ステップであり、利用者からの確認命令の有無を検査して、確認命令が有る場合には情報呈示・設定受理処理ステップＳ１０へ（左分岐）、無い場合には音響信号処理ステップＳ２（上分岐）と処理の流れを制御する。
【０１１０】
情報呈示・設定受理処理ステップＳ１０は、利用者からの確認命令を受けて実行される、上述したユーザインタフェース部８における処理の一部を実行する処理ステップであり、音響信号処理に必要な各種設定内容の利用者への呈示、利用者からの設定入力受理、保存命令による設定内容の外部記憶装置への保存、読み出し命令による設定内容の外部記憶装置からの読み出しを実行したり、各種処理結果や中間結果を可視化して利用者に呈示したり、所望のデータを利用者に選択させてより詳細に可視化することで、利用者が音響信号処理の動作を確認したり、所望の動作を行ない得るように調整したり、以後調整済みの状態で処理を継続したりすることを可能にする。
【０１１１】
終了処理ステップＳ１１は、利用者からの終了命令を受けて実行される、上述したユーザインタフェース部８における処理の一部を実行する処理ステップであり、音響信号処理に必要な各種設定内容の外部記憶装置への保存を自動実行する。
【０１１２】
［変形例］  ここで、上述した実施形態の変形例を説明する。
【０１１３】
［垂直線の検出］  
２次元データ化部４は、その座標値決定部３０２によって、図７に示すようにＸ座標値を位相差ΔＰｈ（ｆｋ）、Ｙ座標値を周波数成分番号ｋとして点群を生成した。このとき、Ｘ座標値を位相差ΔＰｈ（ｆｋ）からさらに計算される到達時間差の周波数毎の推定値ΔＴ（ｆｋ）＝（ΔＰｈ（ｆｋ）／２π）×（１／ｆｋ）とすることも可能である。位相差の代わりに到達時間差を使うと、同一の到達時間差を持つ、すなわち同一音源に由来する点は垂直な直線上に並ぶことになる。
【０１１４】
このとき、周波数が高くなるほどΔＰｈ（ｆｋ）で表現可能な時間差ΔＴ（ｆｋ）は小さくなる。図２８（ａ）に模式的に示すように、周波数ｆｋの波２９０の１周期が表す時間をＴとすると、２倍の周波数２ｆｋの波２９１の１周期が表すことのできる時間はＴ／２と半分になってしまう。このとき、図２８（ａ）のようにＸ軸を時間差とすると、その範囲は±Ｔｍａｘであり、これを超えて時間差が観測されることはない。ところが、Ｔｍａｘが１／２周期（すなわちπ）以下となる限界周波数２９２以下の低い周波数では、位相差ΔＰｈ（ｆｋ）から到達時間差ΔＴ（ｆｋ）が一意に求められるが、限界周波数２９２を超えた高い周波数では、算出されたΔＴ（ｆｋ）は理論上可能なＴｍａｘよりも小さく、図２８（ｂ）に示すように直線２９３と２９４に挟まれる範囲しか表現できない。これは上述した位相差循環の問題と同じ問題である。
【０１１５】
そこで、この位相差循環の問題を解決するために、限界周波数２９２を超える周波数域については、図２９に模式的に示すように、座標値決定部３０２が１つのΔＰｈ（ｆｋ）について２π、４π、６πなどを足したり引いたりした位相差に対応するΔＴの位置にも冗長な点を、±Ｔｍａｘの範囲内で生成して２次元データとする。生成された点群が図中の黒丸であり、限界周波数２９２を超えた周波数域では１つの周波数について複数の黒丸がプロットされている。
【０１１６】
このようにすることで、１つの位相差値に対して１乃至複数の点として生成される２次元データから、投票部３０３と直線検出部３０４から有力な垂直線（図中の２９５）をハフ投票によって検出することが可能になる。このとき、垂直線はハフ投票空間上でθ＝０となる直線なので、垂直線の検出問題はハフ投票後の得票分布でθ＝０となるρ軸上の極大位置で所定閾値以上の得票を得るものを検出することで解くことができる。ここで検出された極大位置のρ値が垂直線とＸ軸の交点、すなわち到達時間差ΔＴの推定値を与えてくれる。なお、投票に際しては投票部３０３の説明に記載した投票条件と加算方式をそのまま用いることが可能である。また、音源に対応した直線は直線群ではなく単一の垂直線である。
【０１１７】
この極大位置を求める問題は、上述の冗長な点群のＸ座標値を投票した１次元の得票分布（Ｙ軸方向へ射影投票した周辺分布）上の極大位置で所定閾値以上の得票を得るものを検出することで解くこともできる。このように、位相差の代わりに到達時間差をＸ軸に用いることで、異なる方向に存在する音源を表す証拠が全て同じ傾きの（すなわち垂直な）直線に写されるので、ハフ変換によらずとも周辺分布によって簡便に検出可能になる。
【０１１８】
垂直線を求めることで得られる音源方向の情報はθではなくρとして得られる到達時間差ΔＴである。よって、方向推定部３１１はθを介在させることなくΔＴから直ちに音源方向φを算出可能となる。
【０１１９】
このように、２次元データ化部４による２次元データは１種類に限らず、図形検出部５による図形の検出法も１つとは限らない。なお、図２９に例示した到達時間差を使った点群のプロット図と検出された垂直線もユーザインタフェース部８による利用者への情報呈示対象である。
【０１２０】
［複数系統の並列実装］  
また、以上の例はマイクロホンを２つ備えた最も単純な構成で説明したものであるが、図３０に示すように、マイクロホンをＮ（Ｎ≧３）個備え、最大Ｍ（１≦Ｍ≦ＮＣ２）個のマイクロホン対を構成することも可能である。
【０１２１】
図中の１１〜１３はＮ個のマイクロホンである。図中の２０はＮ個のマイクロホンによるＮ個の音響信号を入力する手段であり、図中の２１は入力されたＮ個の音響信号をそれぞれ周波数分解する手段である。図中の２２はＮ個の音響信号のうちの２つからなるＭ（１≦Ｍ≦ＮＣ２）組の対の各々について２次元データを生成する手段であり、図中の２３は生成されたＭ組の２次元データからそれぞれ所定の図形を検出する手段である。図中の２４は検出されたＭ組の図形の情報のそれぞれから音源の情報を生成する手段であり、図中の２５は生成された音源の情報を出力する手段である。図中の２６は各対を構成するマイクロホンの情報を含む各種設定値の利用者への呈示、利用者からの設定入力受理、外部記憶装置への設定値の保存、外部記憶装置からの設定値の読み出し、及び各種処理結果の利用者への呈示を実行する手段である。各マイクロホン対における処理は上述した実施形態と同様であり、そのような処理が複数のマイクロホン対について並列的に実行される。
【０１２２】
このようにすることで、1つのマイクロホン対では方向への得て不得手があっても、複数の対でカバーすることで正しい音源情報を取りこぼす危険を軽減することが可能になる。
【０１２３】
［汎用コンピュータを使った実施：プログラム］  
また、本発明は、図３１に示すように本発明に係る音響信号処理機能を実現するためのプログラムを実行可能な汎用コンピュータとして実施することも可能である。図中の３１〜３３はＮ個のマイクロホンである。図中の４０はＮ個のマイクロホンによるＮ個の音響信号を入力するＡ／Ｄ変換手段であり、図中の４１は入力されたＮ個の音響信号を処理するためのプログラム命令を実行するＣＰＵである。図中の４２〜４７はコンピュータを構成する標準的なデバイスであり、それぞれＲＡＭ４２、ＲＯＭ４３、ＨＤＤ４４、マウス／キーボード４５、ディスプレイ４６、ＬＡＮ４７である。また、図中の５０〜５２は外部から記憶メディアを介してプログラムやデータをコンピュータに供給するためのドライブ類であり、それぞれＣＤＲＯＭ５０、ＦＤＤ５１、ＣＦ／ＳＤカード５２である。図中の４８は音響信号を出力するためのＤ／Ａ変換手段であり、その出力にスピーカ４９が繋がっている。このコンピュータ装置は、図２７に示した処理ステップを実行するための音響信号処理プログラムをＨＤＤ４４に記憶し、これをＲＡＭ４２に読み出してＣＰＵ４１で実行することで音響信号処理装置として機能する。また、外部記憶装置としてのＨＤＤ４４、操作入力を受け付けるマウス／キーボード４５、情報呈示手段としてのディスプレイ４６とスピーカ４９を使うことで、上述したユーザインタフェース部８の機能を実現する。また、音響信号処理によって得られた音源情報をＲＡＭ４２やＲＯＭ４３やＨＤＤ４４に保存出力したり、ＬＡＮ４７を介して通信出力する。
【０１２４】
［記録媒体］  
また、本発明は図３２に示すようにコンピュータ読み取り可能な記録媒体として実施することも可能である。図中の６１は本発明に係る音響信号処理プログラムを記録したＣＤ−ＲＯＭやＣＦやＳＤカードやフロッピー（登録商標）ディスクなどで実現される記録媒体である。この記録媒体６１をテレビやコンピュータなどの電子装置６２や電子装置６３やロボット６４に挿入することで当該プログラムを実行可能としたり、あるいはプログラムを供給された電子装置６３から通信によって別の電子装置６５やロボット６４に当該プログラムを供給することで、電子装置６５やロボット６４上で当該プログラムを実行可能とする。
【０１２５】
［温度センサによる音速の補正］  
また、本発明は装置に外気温を測定するための温度センサを備え、該温度センサによって計測された気温データに基づいて図２２における音速Ｖｓを補正して、正確なＴｍａｘを求めるように実施することも可能である。
【０１２６】
あるいは、本発明は装置に所定の間隔を空けて配置された音波の発信手段と受信手段とを備え、該発信手段を発した音波が該受信手段に到達するまでの時刻を計測手段で測ることで、直接的に音速Ｖｓを計算・補正して、正確なＴｍａｘを求めるように実施することも可能である。
【０１２７】
［φの等間隔化のためのθの不等間隔化］  
また、本発明は直線群の傾きを得るためにハフ変換を実行する際にθを例えば１°刻みというように量子化を行うが、このようにθを等間隔に刻むと推定可能な音源方向φの値が不等間隔に量子化されてしまう。そこで、本発明はφを等間隔とするようにθの量子化を行うことで、音源方向の推定精度に粗密が生じにくいように実施することも可能である。
【０１２８】
上記非特許文献２に記載の方法は、周波数分解データから調波構造を構成する基本周波数成分とその高調波成分を検出することで、音源の数、方向、成分の推定を行っている。調波構造を仮定することから、この方法は人間の声に特化したものであるといえる。しかし、実際の環境では、ドアの開閉音など、調波構造を持たない音源も多く存在するため、この方法ではそのような音源音を扱うことができない。
【０１２９】
また、上記非特許文献１に記載の方法は、特定のモデルに縛られないが、２つのマイクロホンを使う限り、扱うことのできる音源は１つに限られてしまう。
【０１３０】
一方、本発明の実施形態によれば、ハフ変換を使って周波数成分毎の位相差を音源毎のグループに分けることで、２つのマイクロホンを使いながら２つ以上の音源を定位し、かつ分離する機能を実現することができる。このとき、調波構造のような限定的なモデルを使用しないので、より広範な性質の音源に適用することができる。
【０１３１】
本発明の実施形態が奏する他の作用効果を纏めると以下の通りである。
【０１３２】
・ハフ投票に際して周波数成分の多い音源やパワーの強い音源の検出に適した投票方法を使うことで、幅広い種類の音源を安定に検出することができる。
【０１３３】
・直線検出に際してρ＝０の制約や位相差循環の考慮を行うことで、効率良くかつ精度良く音源を検出することができる。
【０１３４】
・直線検出結果を用いて、音響信号の発生源たる音源の空間的な存在範囲、音源を発した音源音の時間的な存在期間、音源音の成分構成、音源音の分離音声、音源音の記号的内容を含む有益な音源情報を求めることができる。
【０１３５】
・各音源音の周波数成分を推定する際に、単純に直線近傍の成分を選択したり、ある成分がどの直線に帰属するかを判定したり、各直線と成分の距離に応じた係数掛けを行うことで、簡便な方法で音源音を個々に分離することができる。
【０１３６】
・各音源の方向を予め知ることで、適応アレイ処理の指向性範囲を適応的に設定して、より高精度に音源音を分離することができる。
【０１３７】
・各音源音を高精度に分離して認識することで、音源音の記号的内容を判別することができる。
【０１３８】
・利用者が本装置の働きを確認したり、所望の動作を行ない得るように調整したり、以後調整済みの状態で本装置を利用したりすることが可能になる。
【０１３９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１４０】
【図１】本発明の一実施形態に係る音響信号処理装置の機能ブロック図
【図２】音源方向と、音響信号において観察される到達時間差とを示す図
【図３】フレームとフレームシフト量との関係を示す図
【図４】ＦＦＴ処理の手順および短時間フーリエ変換データを示す図
【図５】２次元データ化部および図形検出部のそれぞれの内部構成を示す機能ブロック図
【図６】位相差算出の手順を示す図
【図７】座標値計算の手順を示す図
【図８】同一時間について周波数と位相との間の比例関係、および同一時間差について位相差と周波数との間の比例関係を示す図
【図９】位相差の循環性を説明するための図
【図１０】複数の音源が存在する場合の周波数と位相差のプロット図
【図１１】直線ハフ変換について説明するための図
【図１２】ハフ変換により点群から直線を検出することについて説明するための図
【図１３】投票される平均パワーの関数（計算式）を示す図
【図１４】実際の音声から生成された周波数成分、位相差プロット図、ハフ投票結果を示す図
【図１５】実際のハフ投票結果から求められた極大位置と直線を示す図
【図１６】θとΔρの関係を示す図
【図１７】２人の人物の同時発話時の周波数成分、位相差プロット図、ハフ投票結果を示す図
【図１８】θ軸上の得票値のみで極大位置を探索した結果を示す図
【図１９】Δρずつ離れた数箇所の得票値を合計して極大位置を探索した結果を示す図
【図２０】音源情報生成部の内部構成を示す機能ブロック図
【図２１】方向推定を説明するための図
【図２２】θとΔＴとの関係を示す図
【図２３】複数音源存在時の音源成分推定（距離閾値方式）について説明するための図
【図２４】最近傍方式について説明するための図
【図２５】係数αの計算式の例とそのグラフを示す図
【図２６】φの時間軸上の追跡を説明した図
【図２７】音響信号処理装置が実行する処理の流れを示すフローチャート
【図２８】周波数と表現可能な時間差との関係を示す図
【図２９】冗長点を生成した場合における時間差のプロット図
【図３０】Ｎ個のマイクロホンを具備する変形実施形態に係る音響信号処理装置の機能ブロック構成図
【図３１】本発明に係る音響信号処理機能を汎用コンピュータを用いて実現する実施形態に係る機能ブロック図
【図３２】本発明に係る音響信号処理機能を実現するためのプログラムを記録した記録媒体による実施形態を示した図
【符号の説明】
【０１４１】
１ａ，１ｂ…マイク；
２…音響信号入力部；
３…周波数分解部；
４…２次元データ化部；
５…図形検出部；
６…音源情報生成部；
７…出力部；
８…ユーザインタフェース部
【図１】
2006340391.tif 000003
【図２】
2006340391.tif 000004
【図３】
2006340391.tif 000005
【図４】
2006340391.tif 000006
【図５】
2006340391.tif 000007
【図６】
2006340391.tif 000008
【図７】
2006340391.tif 000009
【図８】
2006340391.tif 000010
【図９】
2006340391.tif 000011
【図１０】
2006340391.tif 000012
【図１１】
2006340391.tif 000013
【図１２】
2006340391.tif 000014
【図１３】
2006340391.tif 000015
【図１４】
2006340391.tif 000016
【図１５】
2006340391.tif 000017
【図１６】
2006340391.tif 000018
【図１７】
2006340391.tif 000019
【図１８】
2006340391.tif 000020
【図１９】
2006340391.tif 000021
【図２０】
2006340391.tif 000022
【図２１】
2006340391.tif 000023
【図２２】
2006340391.tif 000024
【図２３】
2006340391.tif 000025
【図２４】
2006340391.tif 000026
【図２５】
2006340391.tif 000027
【図２６】
2006340391.tif 000028
【図２７】
2006340391.tif 000029
【図２８】
2006340391.tif 000030
【図２９】
2006340391.tif 000031
【図３０】
2006340391.tif 000032
【図３１】
2006340391.tif 000033
【図３２】
2006340391.tif 000034