説明

音源位置推定装置、音源位置推定方法、及び音源位置推定プログラム

【課題】音声信号の入力と同時に音源位置を実時間で推定する。
【解決手段】信号入力部は複数のチャネルの音声信号を入力し、時間差算出部はチャネル間の音声信号の時間差を算出する時間差算出部と、状態予測部は音源位置を含む音源状態情報である過去の音源状態情報から現在の前記音源状態情報を予測し、状態更新部は前記時間差算出部が算出した時間差と前記状態予測部が予測した前記音源状態情報に基づく時間差との間の誤差を減少させるように前記音源状態情報を推定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音源位置推定装置、音源位置推定方法、及び音源位置推定プログラムに関する。
【背景技術】
【0002】
従来から、音源の方向を推定する音源定位技術が提案されている。音源定位技術は、ロボットが周囲の環境を把握し、又は雑音への耐性を強化するために有用である。音源定位技術では、複数のマイクロホンからなるマイクロホンアレイを用い、チャネル間の音波の到来時刻の差を検出し、マイクロホンの配置に基づいて音源の方向を推定する。そのため、各マイクロホンの位置、もしくは音源と各マイクロホン間の伝達関数が既知であること、チャネル間で音声信号を同期収録すること、いずれも必要である。
【0003】
そこで、非特許文献1に記載の音源定位技術では、空間的に分散配置した複数のマイクロホンを用い、チャネル間で非同期に音源から音声信号を記録する。当該音源定位技術では、記録を終えた音声信号を用いて音源位置及びマイクロホン位置を推定する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】N.Ono,H.Kohno,N.Ito,and S.Sagayama、BLIND ALIGNMENT OF ASYNCHRONOUSLY RECORDED SIGNALS FOR DISTRIBUTED MICROPHONE ARRAY、「2009 IEEE Workshop on Application of Signal Processing to Audio and Acoustics」、IEEE、2009年10月18日、pp.161−164
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1に記載の音源定位技術では、音声信号の入力と同時に、音源位置を実時間で推定することができない。
【0006】
本発明は上記の点に鑑みてなされたものであり、音声信号の入力と同時に音源位置を実時間で推定することができる音源位置推定装置、音源位置推定方法、及び音源位置推定プログラムを提供する。
【課題を解決するための手段】
【0007】
(1)本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、複数のチャネルの音声信号を入力する信号入力部と、チャネル間の音声信号の時間差を算出する時間差算出部と、音源位置を含む音源状態情報である過去の音源状態情報から現在の音源状態情報を予測する状態予測部と前記時間差算出部が算出した時間差と前記状態予測部が予測した前記音源状態情報に基づく時間差との間の誤差を減少させるように前記音源状態情報を推定する状態更新部とを備えることを特徴とする音源位置推定装置である。
【0008】
(2)本発明のその他の態様は、上述の音源位置推定装置であって、前記状態更新部は、前記誤差に基づいてカルマンゲインを算出し、算出したカルマンゲインに前記誤差を乗ずることを特徴とする。
【0009】
(3)本発明のその他の態様は、上述の音源位置推定装置であって、前記音源状態情報は、前記音声信号を前記信号入力部に供給する収音部の位置を含むことを特徴とする。
【0010】
(4)本発明のその他の態様は、上述の音源位置推定装置であって、前記収音部の位置の変化に基づいて、前記音源位置の変化が収束したか否かを判断する収束判定部を備えることを特徴とする。
【0011】
(5)本発明のその他の態様は、上述の音源位置推定装置であって、前記複数のチャネルの入力信号を、予め定めた音源位置の評価点から前記複数のチャネルの各々に対応する収音部の位置までの位相で補償した信号を加算して得られる評価値を最大にする評価点を定め、定めた評価点と前記音源状態情報が表す音源位置までの距離に基づいて前記音源位置の変化が収束したか否かを判断する収束判定部を備えることを特徴とする。
【0012】
(6)本発明のその他の態様は、上述の音源位置推定装置であって、前記収束判定部は、前記評価点を、遅延和ビームフォーミング法を用いて定め、定めた評価点と上述の状態更新部が推定した音源状態情報が表す音源位置までの距離に基づいて、前記音源位置の変化が収束したか否かを判断することを特徴とする
【0013】
(7)本発明のその他の態様は、音源位置推定装置における方法において、前記音源位置推定装置が、複数のチャネルの音声信号を入力する過程と、前記音源位置推定装置が、チャネル間の音声信号の時間差を算出する過程と、前記音源位置推定装置が、音源位置を含む音源状態情報である過去の音源状態情報から現在の前記音源状態情報を予測する過程と前記音源位置推定装置が、前記算出した時間差と前記予測した前記音源状態情報に基づく時間差との間の誤差を減少させるように前記音源状態情報を推定する過程を有することを特徴とする音源位置推定方法である。
【0014】
(8)本発明のその他の態様は、音源位置推定装置のコンピュータに、複数のチャネルの音声信号を入力する手順、チャネル間の音声信号の時間差を算出する手順、音源位置を含む音源状態情報である過去の音源状態情報を予測する手順、前記算出した時間差と前記予測した前記音源状態情報に基づく時間差との間の誤差を減少させるように前記音源状態情報を推定する手順を実行させるための音源位置推定プログラムである。
【発明の効果】
【0015】
上述の(1)、(7)、(8)の態様によれば、音声信号の入力と同時に音源位置を実時間で推定することができる。
上述の(2)の態様によれば、音源位置の推定誤差が低減されるように音源位置を安定して推定することができる。
上述の(3)の態様によれば、音源位置とマイクロホンの位置を同時に推定することができる。
上述の(4)、(5)、(6)の態様によれば、誤差が収束した音源位置を取得することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の第1の実施形態に係る音源位置推定装置の構成を示す概略図である。
【図2】本実施形態に係る収音部の配置例を表す平面図である。
【図3】本実施形態に係る収音部における音源の観測時刻を表す図である。
【図4】音源状態情報の予測及び更新の概要を表す概念図である。
【図5】音源及び本実施形態に係る収音部の位置関係の一例を表す概念図である。
【図6】長方形運動モデルの一例を表す概念図である。
【図7】円運動モデルの一例を表す概念図である。
【図8】本実施形態に係る音源位置推定処理を表すフローチャートである。
【図9】本発明の第2の実施形態に係る音源位置推定装置の構成を示す概略図である。
【図10】本実施形態に係る収束判定部の構成を表す概略図である。
【図11】本実施形態に係る収束判定処理を表すフローチャートである。
【図12】推定誤差の時間変化の一例を表す図である。
【図13】推定誤差の時間変化のその他の例を表す図である。
【図14】観測時間誤差の一例を表す表である。
【図15】音源定位状況の一例を表す図である。
【図16】音源定位状況のその他の例を表す図である。
【図17】音源定位状況のその他の例を表す図である。
【図18】収束時間の一例を表す図である。
【図19】推定された音源位置の誤差の一例を表す図である。
【発明を実施するための形態】
【0017】
(第1の実施形態)
以下、図面を参照しながら本発明の実施形態について説明する。
図1は、本実施形態に係る音源位置推定装置1の構成を示す概略図である。
音源位置推定装置1は、N個の(Nは、1よりも大きい整数)収音部101−1〜101−Nと、信号入力部102、時間差算出部103、状態推定部104、収束判定部105、及び位置出力部106を含んで構成される。
状態推定部104は、状態更新部1041及び状態予測部1042を含んで構成される。
【0018】
収音部101−1〜101−Nは、空気の振動である音波を電気信号であるアナログ音声信号に変換する電気音響変換器を備える。収音部101−1〜101−Nは、変換したアナログ音声信号を信号入力部102に出力する。
収音部101−1〜101−Nは、例えば、音源位置推定装置1の筐体の外部に分散配置されていてもよい。この場合、収音部101−1〜101−Nは、各々、生成した1チャネルの音声信号を無線又は有線で信号入力部102に出力する。収音部101−1〜101−Nの各々は、例えば、マイクロホンユニットである。
【0019】
ここで、収音部101−1〜101−Nの配置例について説明する。
図2は、本実施形態に係る収音部101−1〜101−8の配置例を表す平面図である。
図2において、横方向がx軸方向であり、縦方向がy軸方向である。
図2に示された縦長の長方形は、高さ方向(z軸方向)の座標が一定である受聴室601の水平面を表す。図2において、黒丸は、各々収音部101−1〜101−8が配置されている位置を表す。
収音部101−1は、受聴室601の中央に配置されている。収音部101−2は、受聴室601の中央からx軸の正方向にずれた位置に配置されている。収音部101−3は、収音部101−2よりもy軸の正方向にずれた位置に配置されている。収音部101−4は、収音部101−3よりもx軸の負方向、y軸の正方向にずれた位置に配置されている。収音部101−5は、収音部101−4よりもx軸の負方向、y軸の負方向にずれた位置に配置されている。収音部101−6は、収音部101−5よりもy軸の負方向にずれた位置に配置されている。収音部101−7は、収音部101−6よりもx軸の正方向、y軸の負方向にずれた位置に配置されている。収音部101−8は、収音部101−7よりもx軸の正方向、y軸の正方向にずれた位置であって、収音部101−2よりもy軸の正方向にずれた位置に配置されている。このように、収音部101−2〜101−8は、収音部101−1を中心にx、y平面上を反時計回りに順に配置されている。
【0020】
図1に戻り、信号入力部102には、収音部101−1〜101−Nの各々からのアナログ音声信号が入力される。以下の説明では、収音部101−1〜101−Nに各々対応するチャネルを、チャネル1〜Nと呼ぶ。信号入力部102は、各チャネルのアナログ音声信号をアナログディジタル(A/D、Analog−to−Digital)変換して、ディジタル音声信号を生成する。
信号入力部102は、変換した各チャネルのディジタル音声信号を時間差算出部103に出力する。
【0021】
時間差算出部103は、信号入力部102から入力された音声信号についてチャネル間の時間差を算出する。時間差算出部103は、例えば、チャネル1の音声信号と、チャネルn(nは、1よりも大きく、Nと等しい又はNより小さい整数)の音声信号との時間差tn,k−t1,k(以下、Δtn,kと表す)を算出する。ここで、kは、離散時刻を表す整数である。時間差算出部103は、時間差Δtn,kを算出する際、例えば、チャネル1の音声信号とチャネルnの音声信号の間で時間差を与えて、両者間の相互相関を算出し、算出した相互相関が最大となる時間差を選択する。
【0022】
ここで、時間差Δtn,kについて図3を用いて説明する。
図3は、収音部101−1及び101−nにおける音源の観測時刻t1,k、tn,kをそれぞれ表す図である。
図3において、横軸が時刻t、縦軸が収音部を表す。図3において、Tは、音源が音波を発生させた時刻(発音時刻)を表す。t1,kは、収音部101−1に音源から受信した音波が観測される時刻(観測時刻)を表す。tn,kは、収音部101−nに音源から受信した音波が観測される観測時刻を表す。観測時刻t1,kは、発音時刻Tにチャネル1における観測時刻誤差mτと音源から収音部101−1までの音波の伝搬時間D1,k/cが加わった時刻である。観測時刻誤差mτとは、チャネル1の音声信号が観測される時刻の絶対時刻に対する差である。観測時刻誤差が生じる原因は、主に収音部101−nの位置と音源の位置の計測誤差や収音部101−nに音波が到達した到達時刻の観測誤差である。観測時刻誤差D1,kは、音源から収音部101−nまでの距離である。cは、音速である。観測時刻tn,kは、発音時刻Tにチャネルnにおける観測時刻誤差mτと音源から収音部101−nまでの音波の伝搬時間Dn,k/cが加わった時刻である。従って、時間差Δtn,k(=tn,k−t1,k)は式(1)で表される。
【0023】
【数1】

【0024】
音源から収音部101−nまでの距離Dn,kは、式(2)で表される。
【0025】
【数2】

【0026】
式(2)において、(x,y)は時刻kにおける音源の位置を表す。(m,m)は、収音部101−nの位置を表す。
ここで、各チャネルnの時間差Δtn,kを要素とする(N−1)列のベクトル[Δt2,k,…,Δtn,k,…,ΔtN,kを観測値ベクトルζと呼ぶ。ここで、Tは、行列又はベクトルの転置(transpose)を表す。時間差算出部103は、観測値ベクトルζを表す時間差情報を状態推定部104に出力する。
【0027】
図1に戻り、状態推定部104は、過去(例えば、時刻k−1)の音源状態情報から現在(時刻k)の音源状態情報を予測し、時間差算出部103から入力された時間差情報が表す時間差に基づいて音源状態情報を推定する。音源状態情報は、例えば、音源の位置(x,y)、各収音部101−nの位置(m,m)及び観測時刻誤差mτを表す情報を含む。状態推定部104は、音源状態情報を推定する際、時間差算出部103から入力された時間差情報が表す時間差と予測した音源状態情報に基づく時間差との間の誤差を減少させるように音源状態情報を更新する。状態推定部104は、音源状態情報の予測及び更新において、例えば、拡張カルマンフィルタ(Extended Kalman Filter;EKF)法を用いる。EKF法を用いた、予測及び更新については後述する。なお、状態推定部104は、拡張カルマンフィルタ法の代わりに、最小二乗平均誤差(Minimum Mean Squred Error;MMSE)法、その他の方式を用いてもよい。
状態推定部104は、推定した音源状態情報を収束判定部105に出力する。
【0028】
収束判定部105は、状態推定部104から入力された音源状態情報η’が表す音源位置の変化が収束したか否か判断する。収束判定部105は、音源の推定位置が収束したことを表す音源収束情報を位置出力部106に出力する。ここで、記号’は、推定値であることを表す記号である。
収束判定部105は、例えば、過去の収音部101−nの推定位置(mx,k−1’,my,k−1’)と現在の収音部101−nの推定位置(mx,k’,my,k’)の間の平均距離Δη’を算出する。収束判定部105は、平均距離Δη’が予め設定された閾値よりも小さくなったとき収束したと判断する。このように、音源の推定位置を直接収束判断に用いないのは、音源位置は未知であり時間経過によって変化するためである。反面、収音部101−nの推定位置(mx,k’,my,k’)を収束判断に用いるのは、収音部101−nの位置は固定であり、音源状態情報が、音源の推定位置の他、収音部101−nの推定位置にも依存するためである。
【0029】
位置出力部106は、収束判定部105から音源収束情報が入力された場合、収束判定部105から入力された音源状態情報に含まれる音源位置情報を外部に出力する。
【0030】
次に、EKF法を用いた音源状態情報の予測及び更新の概要を説明する。
図4は、音源状態情報の予測及び更新の概要を表す概念図である。
図4において、黒塗りの星印は、音源位置の真値を表す。白抜きの星印は、音源位置の推定値を表す。黒丸は、それぞれ収音部101−1、101−nの位置の真値を表す。白丸は、それぞれ収音部101−1、101−nの位置の推定値を示す。収音部101−nの位置を中心とする実線の円401は、収音部101−nの位置の観測誤差の大きさを表す。収音部101−nの位置を中心とする一点鎖線の円402は、後述する更新ステップを経た後の収音部101−nの位置の観測誤差の大きさを表す。即ち、円401及び402は、更新ステップでは、観測誤差が低減されるように収音部101−nの位置を含む音源状態情報が更新されることを表す。観測誤差は、後述する分散共分散行列P’で定量的に表される。音源の位置を中心とする破線の円403は、現実の音源の位置と、音源の移動モデルを用いて推定される音源の位置との間のモデル誤差Rを表す円である。モデル誤差は、後述する分散共分散行列Rで定量的に表される。
【0031】
EKF法は、I.観測ステップ、II.更新ステップ、III.予測ステップを含む。状態推定部104は、これらのステップを繰り返して実行する。
I.観測ステップでは、状態推定部104は、時間差算出部103から時間差情報を入力される。状態推定部104は、音源からの音声信号に対する収音部101−1、101−n間の時間差ΔTn,kを表す時間差情報ζが観測値として入力される。
II.更新ステップでは、状態推定部104は、観測値ベクトルζと音源状態情報η’に基づく観測値ベクトルζ’との観測誤差が低減されるように、音源状態情報の誤差を表す分散共分散行列P’と音源状態情報η’を更新する。
III.予測ステップでは、状態予測部1042は、真の音源の位置の時間変化を表す運動モデルに基づき、前時刻k−1の音源状態情報ηk−1’から現時刻kの音源状態情報ηk|K−1’を予測する。状態予測部1042は、前時刻k−1の分散共分散行列Pk−1’に音源位置の運動モデルと推定位置とのモデル誤差を表す分散共分散行列Rに基づいて分散共分散行列Pk−1’を更新する。
【0032】
ここで、音源状態情報η’は、例えば、音源の推定位置(x’,y’)、収音部101−1〜101−Nの推定位置(mx,k’,my,k’)〜(mx,k’,my,k’)及び観測時刻誤差の推定値mτ’〜mτ’を要素として含む。つまり、音源状態情報η’は、例えば、ベクトル[x’,y’,mx,k’,my,k’,mτ’,…,mx,k’,my,k’,mτ’]で表わされる情報である。このように、EKF法を用いることで、予測誤差が徐々に低減されるように、未知である音源位置、収音部101−1〜101−Nの位置及び観測時刻誤差が予測される。
【0033】
図1に戻り、状態推定部104の構成について説明する。
状態推定部104は、状態更新部1041と状態予測部1042とを含んで構成される。
状態更新部1041は、時間差算出部103から観測値ベクトルζを表す時間差情報が入力される(I.観測ステップ)。状態更新部1041は、状態予測部1042から入力された音源状態情報ηk|k−1’と共分散行列Pk|k−1が入力される。音源状態情報ηk|k−1’は、前時刻k−1の音源状態情報ηk−1’から予測された現時刻kの音源状態情報を表す。共分散行列Pk|k−1の各要素は、音源状態情報ηk|k−1’が表すベクトルにおける各要素間の共分散である。即ち、この共分散行列Pk|k−1は、音源状態情報ηk|k−1’の誤差を表す。その後、状態更新部1041は、音源状態情報ηk|k−1’を時刻kのηk|k−1’に更新し、共分散行列Pk|k−1を共分散行列Pに更新する(II.更新ステップ)。状態更新部1041は、更新した現時刻kの音源状態情報η’及び共分散行列Pを状態予測部1042に出力する。
【0034】
次に、更新ステップにおける更新処理について、より詳細に説明する。
状態更新部1041は、観測値ベクトルζに観測誤差ベクトルδを加算し、加算して得られた和に観測値ベクトルζを更新する。観測誤差ベクトルδは、平均値が0であり予め定めた共分散で分布しているガウス分布に従う乱数ベクトルである。この共分散を各行各列の要素として含む行列を共分散行列Qと表す。
【0035】
状態更新部1041は、音源状態情報ηk|k−1’、共分散行列Pk|k−1及び共分散行列Qに基づいて、例えば、式(3)を用いてカルマンゲインKを算出する。
【0036】
【数3】

【0037】
式(3)において、行列Hは、式(4)で表されるように観測関数ベクトルh(ηk|k−1’)の各要素を、音源状態情報ηk|k−1’の各要素で偏微分して得られるヤコビアンである。
【0038】
【数4】

【0039】
観測関数ベクトルh(η’)は、式(5)で表される。
【0040】
【数5】

【0041】
観測関数ベクトルh(η’)は、音源状態情報η’に基づく観測値ベクトルζ’である。そこで、状態更新部1041は、例えば式(5)を用いて、前時刻k−1の音源状態情報ηk−1’から予測された現時刻kの音源状態情報ηk|k−1’に対する観測値ベクトルζk|k−1’を算出する。
次に、状態更新部1041は、現時刻kの観測値ベクトルζ、算出した観測値ベクトルζk|k−1’及び算出したカルマンゲインKに基づいて、例えば式(6)を用いて現時刻kの音源状態情報η’を算出する。
【0042】
【数6】

【0043】
即ち、式(6)は、前時刻k−1の観測値ベクトルζ’から推定された現時刻kの観測値ベクトルζk|k−1’に、残差値を加算して現時刻kの音源状態情報η’を算出することを表す。加算される残差値は、観測された現時刻kの観測値ベクトルζから観測値ベクトルζk|k−1’の差にカルマンゲインKを乗じて得られるベクトル値である。
次に、状態更新部1041は、カルマンゲインK、行列H、及び前時刻k−1の共分散行列Pk−1から予測された現時刻kの共分散行列Pk|k−1に基づき、例えば式(7)を用いて現時刻kの共分散行列Pを算出する。
【0044】
【数7】

【0045】
式(7)において、Iは単位行列を表す。即ち、式(7)は、単位行列IからカルマンゲインKと行列Hとの積を減じて得られた行列を乗じて、音源状態情報η’の誤差の大きさを低減することを表す。
【0046】
状態予測部1042は、状態更新部1041から現時刻kの音源状態情報η’及び共分散行列Pが入力される。状態予測部1042は、前時刻k−1の音源状態情報ηk−1’から現時刻kの音源状態情報ηk|k−1’を予測し、共分散行列Pk−1から共分散行列Pk|k−1を予測する(III.予測ステップ)。
【0047】
次に、予測ステップにおける予測処理について、より詳細に説明する。
本実施形態では、例えば、前時刻k−1における音源位置(xk−1’,yk−1’)が、現時刻kでの間に、移動量(Δx,Δy)だけずれるという運動モデルを仮定する。
状態予測部1042は、移動量(Δx,Δy)に、その誤差を表す誤差ベクトルεを加算して、加算して得られた和に移動量(Δx,Δy)を更新する。誤差ベクトルεは、平均値が0でありガウス分布に従う乱数ベクトルである。このガウス分布の特性を表す共分散を各行各列の要素として含む行列を共分散行列Rと表す。
状態予測部1042は、前時刻k−1の音源状態情報ηk−1’から現時刻kの音源状態情報ηk|k−1’を、例えば式(8)を用いて予測する。
【0048】
【数8】

【0049】
式(8)において、行列Fηは、式(9)で表される2行2+3N列の行列である。
【0050】
【数9】

【0051】
次に、状態予測部1042は、前時刻k−1の共分散行列Pk−1から現時刻kの共分散行列Pk|k−1を、例えば式(10)を用いて予測する。
【0052】
【数10】

【0053】
即ち、式(10)は、移動量の誤差を表す共分散行列Rに、前時刻k−1の共分散行列Pk−1で表される音源状態情報ηk−1’の誤差を加算して現時刻kの共分散行列Pを算出することを表す。
【0054】
状態予測部1042は、算出した時刻kの音源状態情報ηk|lkk−1’と共分散行列Pk|k−1を状態更新部1041に出力する。状態予測部1042は、算出した時刻kの音源状態情報ηk|k−1’を収束判定部105に出力する。
【0055】
なお、上述では、状態推定部104は、I.観測ステップ、II.更新ステップ、III.予測ステップを時刻k毎に実行する旨、説明したが本実施形態では、これには限られない。本実施形態では、状態推定部104は、I.観測ステップ及びII.更新ステップを時刻k毎に実行し、III.予測ステップを、時刻l(エル)毎に実行してもよい。時刻lは、時刻kとは異なる時間間隔毎に計数される離散時刻である。例えば、前時刻l−1から現時刻lまでの時間間隔は、前時刻k−1から現時刻kまでの時間間隔よりも広くてもよい。これにより、状態推定部104の動作と時間差算出部103の動作タイミングが異なっても、相互の処理を同期させることができる。
そこで、状態更新部1041は、状態予測部1042が出力した時刻lの音源状態情報ηl|l−1’を対応する時刻kの音源状態情報ηk|k−1’として入力されるようにする。状態予測部1042が出力した共分散行列Pl|l−1を、状態更新部1041は、共分散行列Pk|k−1として入力されるようにする。また、状態予測部1042は、状態更新部1041が出力した音源状態情報η’を対応する前時刻l−1の音源状態情報ηl−1’として入力されるようにする。状態更新部1041が出力した共分散行列Pを、状態予測部1042は共分散行列Pl−1として入力されるようにする。
【0056】
次に、音源及び収音部101−nの位置関係の一例について説明する。
図5は、音源及び収音部101−nの位置関係の一例を表す概念図である。
図5において、黒塗りの★印は、前時刻k−1の音源位置(xk−1,yk−1)及び現時刻kの音源位置(x,y)を表す。音源位置(xk−1,yk−1)を起点とし、音源位置(x,y)を終点とする一点破線で表される矢印は、移動量(Δx,Δy)を表す。
黒塗りの●印は、収音部101−nの位置(m,mを表す。音源位置(x,yを起点とし、収音部101−nの位置(m,mを終点とする実線の近傍に表わされているDn,kは、これらの間の距離を表す。本実施形態では収音部101−nの真の位置は定数であると仮定されているが、収音部101−nの予測値には誤差が含まれている。そのため、収音部101−nの予測値は変数である。また、距離Dn,kの誤差に対する指標が共分散行列Pである。
【0057】
次に、音源の運動モデルの一例として長方形運動モデルについて説明する。
図6は、長方形運動モデルの一例を表す概念図である。
長方形運動モデルは、音源が長方形の軌道上を運動することを仮定する運動モデルである。図6において、横軸がx座標、縦軸がy座標を表す。図6に表される長方形は、音源が運動する軌道を表す。この長方形のx座標の最大値がxmax、最小値がxminである。y座標の最大値がymax、最小値がyminである。音源は、長方形の一辺の上を直進し、長方形の一頂点に到達したとき、つまり音源のx座標がxmaxもしくはxmin、y座標がymaxもしくはyminに到達したとき運動方向を90°回転する。
即ち、長方形運動モデルでは、音源の移動方向θs,l−1は、xの正方向を基準として0°、90°、180°、−90°の何れかである。音源が辺上を運動する場合、運動方向の変化量dθs,l−1Δtは、0°である。ここで、dθs,l−1は、音源の角速度を表し、Δtは、前時刻l−1から現時刻lまでの時間間隔を表す。音源が頂点に到達した場合、運動方向の変化量dθs,l−1Δtは、反時計回りを正値として90°又は−90°である。
【0058】
長方形運動モデルを用いる場合、本実施形態では、音源位置情報を、2次元の直交座標(x,x)と運動方向θを要素とする3次元のベクトルηs,lで表してもよい。音源位置情報ηs,lは、音源状態情報ηに含まれる情報である。この場合、状態予測部1042は、式(8)の代わりに式(11)を用いて音源位置情報の予測を行ってもよい。
【0059】
【数11】

【0060】
式(11)において、δηは、移動量の誤差ベクトルである。誤差ベクトルδηは、平均値が0であり予め定めた共分散で分布するガウス分布に従う乱数ベクトルである。この共分散を、各行各列の要素として含む行列を共分散行列Rと表す。
【0061】
状態予測部1042は、その後、現時刻lの共分散行列Pl|l−1を、例えば式(10)の代わりに式(12)を用いて予測する。
【0062】
【数12】

【0063】
式(1)において、行列Gは、式(13)で示される行列である。
【0064】
【数13】

【0065】
式(13)において、行列Fは、式(14)で示される行列である。
【0066】
【数14】

【0067】
式(14)において、I3×3は、3行3列の単位行列であり、O3×3は、3行3N列の零行列である。
【0068】
次に、音源の運動モデルの一例として円運動モデルについて説明する。
図7は、円運動モデルの一例を表す概念図である。
円運動モデルは、音源が円軌道上を運動することを仮定する運動モデルである。図7において、横軸がx座標、縦軸がy座標を表す。図7に表される円は、音源が運動する軌道を表す。円運動モデルでは、運動方向の変化量dθs,l−1Δtが、一定値Δθであり、音源方向もこれに応じて変化する。
【0069】
円運動モデルを用いる場合も、音源位置情報を、2次元の直交座標(x,x)と運動方向θを要素とする3次元のベクトルηs,lで表してもよい。この場合、状態予測部1042は、式(8)の代わりに式(15)を用いて音源位置情報の予測を行う。
【0070】
【数15】

【0071】
状態予測部1042は、現時刻lの共分散行列Pl|l−1を、式(12)を用いて予測する。但し、行列Gとして、式(13)に表される行列Gの代わりに、式(16)に表される行列Gを用いる。
【0072】
【数16】

【0073】
次に、本実施形態に係る音源位置推定処理について説明する。
図8は、本実施形態に係る音源位置推定処理を表すフローチャートである。
(ステップS101)音源位置推定装置1は、取り扱う変数の初期値を設定する。例えば、状態推定部104は、観測時刻k、予測時刻lを、それぞれ0と設定し、音源状態情報ηk|k−1と共分散行列Pk|k−1をそれぞれ予め定めた値に設定する。その後、ステップS102に進む。
(ステップS102)信号入力部102は、収音部101−1〜101−Nからチャネル毎の音声信号が各々入力される。信号入力部102は、音声信号の入力を継続するか否か判断する。入力を継続する場合(ステップS102 Y)、信号入力部102は、入力された音声信号をA/D変換して時間差算出部103に出力し、その後、ステップS103に進む。入力を継続しない場合(ステップS102 N)、処理を終了する。
【0074】
(ステップS103)時間差算出部103は、信号入力部102から入力された音声信号についてチャネル間の時間差を算出する。時間差算出部103は、算出されたチャネル間の時間差を要素とする観測値ベクトルζを表す時間差情報を状態更新部1041に出力する。その後、ステップS104に進む。
(ステップS104)状態更新部1041は、予め定めた時間毎に観測時刻kを1増加させて観測時刻kを更新する。その後、ステップS105に進む。
【0075】
(ステップS105)状態更新部1041は、時間差算出部103から入力された時間差情報が表す観測値ベクトルζに観測誤差ベクトルδを加算して観測値ベクトルζを更新する。
状態更新部1041は、音源状態情報ηk|k−1’、共分散行列Pk|k−1及び共分散行列Qに基づいて、例えば、式(3)を用いてカルマンゲインKを算出する。
状態更新部1041は、例えば式(5)を用いて、現観測時刻kの音源状態情報ηk|k−1’に対する観測値ベクトルζk|k−1’を算出する。
状態更新部1041は、現観測時刻kの観測値ベクトルζ、算出した観測値ベクトルζk|k−1’及び算出したカルマンゲインKに基づいて、例えば式(6)を用いて現観測時刻kの音源状態情報η’を算出する。
状態更新部1041は、カルマンゲインK、行列H、及び共分散行列Pk|k−1に基づき、例えば式(7)を用いて現観測時刻kの共分散行列Pを算出する。その後、ステップS106に進む。
【0076】
(ステップS106)状態更新部1041は、現観測時刻kが、予測処理を行う予測時刻lに相当するか否か判断する。例えば、観測及び更新ステップN回(Nは、1又は1よりも大きい整数、例えば、5)毎に予測ステップを1回行う場合、観測時刻kのNに対する剰余が0であるか判断する。現観測時刻kが予測時刻lと判断された場合(ステップS107 Y)、ステップS107に進む。現観測時刻kが予測時刻lと判断されない場合(ステップS107 N)、ステップS102に進む。
【0077】
(ステップS107)状態予測部1042は、状態更新部1041が出力した算出した現観測時刻kの音源状態情報η’及び共分散行列Pを、前予測時刻l−1の音源状態情報ηl−1’及び共分散行列Pl−1として入力される。
状態予測部1042は、前予測時刻l−1の音源状態情報ηl−1’から現予測時刻lの音源状態情報ηl|l−1’を、例えば式(8)、(11)又は(15)を用いて算出する。
状態予測部1042は、前予測時刻l−1の共分散行列Pl−1から現予測時刻lの共分散行列Pl|l−1を、例えば式(10)又は(12)を用いて算出する。
状態予測部1042は、現予測時刻lの音源状態情報ηl|l−1’と共分散行列Pl|l−1を状態更新部1041に出力する。状態予測部1042は、算出した現予測時刻lの音源状態情報ηl|l−1’を、収束判定部105に出力する。その後、ステップS108に進む。
【0078】
(ステップS108)状態更新部1041は、現予測時刻lに1を加えて予測時刻を更新する。状態更新部1041は、状態予測部1042が出力した予測時刻lの音源状態情報ηl|l−1’、共分散行列Pl|l−1を、観測時刻kのηk|k−1’、共分散行列Pk|k−1として入力される。その後、ステップS109に進む。
【0079】
(ステップS109)収束判定部105は、状態推定部104から入力された音源状態情報η’が表す音源位置の変化が収束したか否か判断する。収束判定部105は、例えば、過去の収音部101−nの推定位置と現在の収音部101−nの推定位置の間の平均距離Δη’が予め設定された閾値よりも小さくなったとき収束したと判断する。音源位置の変化が収束したと判断された場合(ステップS109 Y)、収束判定部105は、入力された音源状態情報η’を位置出力部106に出力する。その後、ステップS110に進む。音源位置の変化が収束したと判断されなかった場合(ステップS109 N)、ステップS102に進む。
(ステップS110)位置出力部106は、収束判定部105から入力された音源状態情報に含まれる音源位置情報を外部に出力する。その後、ステップS102に進む。
【0080】
このように、本実施形態は、複数のチャネルの音声信号を入力し、チャネル間の音声信号の時間差を算出し、過去の音源位置を含む音源状態情報から現在の前記音源状態情報を予測する。また、本実施形態は、算出した時間差と予測した前記音源状態情報に基づく時間差との間の誤差を減少させるように前記音源状態情報を更新する。これにより、音声信号の入力と同時に音源位置を推定することができる。
【0081】
(第2の実施形態)
以下、図面を参照しながら本発明の実施形態について説明する。第1の実施形態と同一の構成又は同一の処理については、同一の番号を付す。
図9は、本実施形態に係る音源位置推定装置2の構成を示す概略図である。
音源位置推定装置2は、N個の収音部101−1〜101−Nと、信号入力部102、時間差算出部103、状態推定部104、収束判定部205、及び位置出力部106を含んで構成される。即ち、音源位置推定装置2は、音源位置推定装置1(図1参照)の収束判定部105の代わりに収束判定部205を備え、信号入力部102が入力された音声信号を収束判定部205にも出力する点が異なる。その他の構成については、音源位置推定装置1と同様である。
【0082】
次に、収束判定部205の構成について説明する。
図10は、本実施形態に係る収束判定部205の構成を表す概略図である。
収束判定部205は、ステアリングベクトル(steering vector)算出部2051、周波数領域変換部2052、出力算出部2053、評価点選択部2054、及び距離判定部2055を含んで構成される。この構成により、収束判定部205は、遅延和ビームフォーミング(Delay−and−Sum Beamforming,DS−BF)法によって推定された評価点と状態推定部104から入力された音源状態情報に含まれる音源位置を比較する。ここで、収束判定部205は、評価点と音源位置に基づいて音源状態情報が収束したか否かを判断する。
【0083】
ステアリングベクトル算出部2051は、状態予測部1042から入力された音源状態情報ηl|l−1’が表す収音部101−nの位置(m’,m’)から音源位置の候補(以下、評価点と呼ぶ)ξ’’までの距離Dn,lを算出する。ステアリングベクトル算出部2051は、距離Dn,lを算出する際、例えば式(2)を用いる。但し、ステアリングベクトル算出部2051は、式(2)の(x,y)の代わりに評価点ξ’’の座標(x’’,y’’)を代入する。この評価点ξ’’は、例えば、予め定められた格子点であって、音源が配置されうる空間(例えば、図2に示す受聴室601)に配置された複数の格子点の1つである。
ステアリングベクトル算出部2051は、算出した距離Dn,lに基づく伝搬遅延Dn,l/cと推定された観測時刻誤差mτ’を加算してチャネル毎の推定観測時刻tn,l’’を算出する。ステアリングベクトル算出部2051は、算出した推定時間差tn,l’’に基づいて、ステアリングベクトルW(ξ’’,ξ’,ω)を、例えば式(17)を用いて周波数ω毎に算出する。
【0084】
【数17】

【0085】
式(17)において、ξ’は、収音部101−1〜101−Nの位置の集合を表す。従って、ステアリングベクトルW(η’,ω)の各要素は、対応するチャネルn(nは、1と等しい又は1よりも大きく、Nと等しい又はNよりも小さい)における音源から各収音部101−nまでの伝搬によって生じた位相の遅延を与える伝達関数である。ステアリングベクトル算出部2051は、算出したステアリングベクトルW(ξ’’,ξ’,ω)を出力算出部2053に出力する。
【0086】
周波数領域変換部2052は、信号入力部102から入力された各チャネルの音声信号sに対して時間領域から周波数領域に変換して、チャネル毎の周波数領域信号Sn,l(ω)を生成する。周波数領域変換部2052は、周波数領域に変換する方式として、例えば、離散フーリエ変換(Discrete Fourier Transform、DFT)を用いる。周波数領域変換部2052は、生成したチャネル毎の周波数領域信号Sn,l(ω)を出力算出部2053に出力する。
【0087】
出力算出部2053は、周波数領域変換部2052からチャネル毎の周波数領域信号Sn,l(ω)が入力され、ステアリングベクトル算出部2051からステアリングベクトルのW(ξ’’,ξ’,ω)が入力される。出力算出部2053は、周波数領域信号Sn,l(ω)を要素とする入力信号ベクトルS(ω)とステアリングベクトルのW(ξ’’,ξ’,ω)の内積P(ξ’’,ξ’,ω)を算出する。入力信号ベクトルS(ω)は[S1,l(ω),…,Sn,l(ω),…,SN,l(ω)]と表される。出力算出部2053は、例えば式(18)を用いて内積P(ξ’’,ξ’,ω)を算出する。
【0088】
【数18】

【0089】
式(18)において、*は、ベクトル又は行列の複素共役転置(complex conjugate transpose)を表す。式(18)によれば、入力信号ベクトルS(ω)の各チャネル成分の伝搬遅延による位相が補償され、各チャネル成分がチャネル間で同期する。そして、位相が補償された各チャネル成分がチャネル間で加算される。
出力算出部2053は、算出した内積P(ξ’’,ξ’,ω)を、例えば式(19)を用いて予め定めた周波数帯域にわたって累積して、帯域出力信号<P(ξ’’,ξ’)>を算出する。
【0090】
【数19】

【0091】
式(5)において、最低周波数ω(例えば、200Hz)を表し、最高周波数ω(例えば、7kHz)を表す。
出力算出部2053は、算出した帯域出力信号<P(ξ’’,ξ’)>を評価点選択部2054に出力する。
評価点選択部2054は、出力算出部2053から入力された帯域出力信号<P(ξ’’,ξ’)>の絶対値を評価値として最大となる評価点ξ’’を選択する。評価点選択部2054は、選択した評価点ξ’’を距離判定部2055に出力する。
距離判定部2055は、評価点選択部2054から入力された評価点ξ’’と状態予測部1042から入力された音源状態情報ηl|l−1’が表す音源位置(xl|l−1’,yl|l−1’)との間の距離が予め定めた閾値、例えば、上述の格子点の間隔よりも小さい場合に収束したと判定する。距離判定部2055は、収束したと判定した場合、音源の推定位置が収束したことを表す音源収束情報を位置出力部106に出力する。また、距離判定部2055は、入力された音源状態情報を位置出力部106に出力する。
【0092】
次に、収束判定部205における収束判定処理について説明する。
図11は、本実施形態に係る収束判定処理を表すフローチャートである。
(ステップS201)周波数領域変換部2052は、信号入力部102から入力された各チャネルの音声信号sに対して時間領域から周波数領域に変換し、チャネル毎の周波数領域信号Sn,l(ω)を生成する。周波数領域変換部2052は、生成したチャネル毎の周波数領域信号Sn,l(ω)を出力算出部2053に出力する。その後、ステップS202に出力する。
【0093】
(ステップS202)ステアリングベクトル算出部2051は、状態推定部104から入力された音源状態情報が表す収音部101−nの位置(m’,m’)から評価点ξ’’までの距離Dn,lを算出する。ステアリングベクトル算出部2051は、算出した距離Dn,lに基づく伝搬遅延Dn,l/cに推定された観測時刻誤差mτ’を加算してチャネル毎の推定観測時刻tn,l’’を算出する。ステアリングベクトル算出部2051は、算出した推定時間差tn,l’’に基づいて、ステアリングベクトルW(ξ’’,ξ’,ω)を周波数ω毎に算出する。ステアリングベクトル算出部2051は、算出したステアリングベクトルW(ξ’’,ξ’,ω)を出力算出部2053に出力する。その後、ステップS203に出力する。
【0094】
(ステップS203)出力算出部2053は、周波数領域変換部2052からチャネル毎の周波数領域信号Sn,l(ω)が入力され、ステアリングベクトル算出部2051からステアリングベクトルのW(ξ’’,ξ’,ω)が入力される。出力算出部2053は、周波数領域信号Sn,l(ω)を要素とする入力信号ベクトルS(ω)とステアリングベクトルのW(ξ’’,ξ’,ω)の内積P(ξ’’,ξ’,ω)を、例えば式(18)を用いて算出する。
出力算出部2053は、算出した内積P(ξ’’,ξ’,ω)を、例えば式(19)を用いて予め定めた周波数帯域にわたって累積し、出力信号<P(ξ’’,ξ’)>を算出する。出力算出部2053は、算出した出力信号<P(ξ’’,ξ’)>を評価点選択部2054に出力する。その後、ステップS204に進む。
【0095】
(ステップS204)出力算出部2053は、全ての評価点について出力信号<P(ξ’’,ξ’)>を算出したか否かを判断する。全ての評価点について算出したと判断された場合(ステップS204 Y)、ステップS206に進む。全ての評価点について算出していないと判断された場合(ステップS204 N)、ステップS205に進む。
【0096】
(ステップS205)出力算出部2053は、出力信号<P(ξ’’,ξ’)>を算出する評価点を、出力信号を算出していない他の評価点に変更する。その後、ステップS202に進む。
【0097】
(ステップS206)評価点選択部2054は、出力算出部2053から入力された出力信号<P(ξ’’,ξ’)>の絶対値を評価値として最大となる評価点ξ’’を選択する。評価点選択部2054は、選択した評価点ξ’’を距離判定部2055に出力する。その後、ステップS207に進む。
【0098】
(ステップS207)距離判定部2055は、評価点選択部2054から入力された評価点ξ’’と状態推定部104から入力された音源状態情報ηl|l−1’が表す音源位置(xl|l−1’,yl|l−1’)との間の距離が予め定めた閾値、例えば格子点の間隔よりも小さい場合に収束したと判定する。距離判定部2055は、収束したと判定した場合、音源の推定位置が収束したことを表す音源収束情報を位置出力部106に出力する。また、距離判定部2055は、入力された音源状態情報を位置出力部106に出力する。その後、処理を終了する。
【0099】
次に、本実施形態に係る音源位置推定装置2を用いて検証した結果について説明する。
検証において、受聴室として横4m×縦5m×高さ2.4mの防音室を用いた。受聴室の内部に、収音部101−1〜101−Nとして8個のマイクロホンをランダムな位置に配置した。受聴室の内部で、実験者は歩行しながら拍手を行う。実験では、この拍手が音源として用いられた。ここで、実験者は5歩進行する毎に1回の拍手を行う。1歩当たりの歩幅は0.3m、時間間隔は0.5秒である。音源の運動モデルとして長方形運動モデル、円運動モデル、各々について想定した。長方形運動モデルを想定した場合、実験者は、横1.2m×縦2.4mの長方形の経路上を歩行した。円運動モデルを想定した場合、実験者は、半径1.2mの円形の経路上を歩行した。この実験設定のもとで、音源位置推定装置2を、この音源の位置、8個のマイクロホンの位置及び各マイクロホンの観測時刻誤差を推定させた。
【0100】
音源位置推定装置2の動作条件として、音声信号のサンプリング周波数を16kHzとした。処理単位の窓長(window length)を512サンプル、処理窓のシフト長(shift length)を160サンプルとした。また、音源から各収音部までの到達時間の観測誤差における標準偏差を0.5×10−3とし、音源位置の標準偏差を0.1m、音源の観測方向の標準偏差を1度とした。
【0101】
図12は、推定誤差の時間変化の一例を表す図である。
図12は、運動モデルとして長方形運動モデルを想定した場合における、音源位置の推定誤差、収音部の位置の推定誤差、観測時刻誤差を、各々(a)、(b)、(c)に示す。
図12において、(a)の縦軸は音源位置の推定誤差を表し、(b)の縦軸は収音部の位置の推定誤差を表し、(c)の縦軸は観測時刻誤差を表す。但し、(b)に示す推定誤差は、N個の収音部間における絶対値の平均値である。(c)に示す観測時刻誤差は、N−1個の収音部間における絶対値の平均値である。(a)、(b)、(c)ともに、横軸は時刻を表す。時刻の単位は、拍手の回数である。即ち、横軸の拍手の回数は時刻の目安である。
【0102】
図12によれば、音源位置の推定誤差は、動作開始直後に初期値0.5mよりも大きい値2.6mとなるが、時間経過に伴いほぼ0に収束する。但し、収束する過程において、時間経過に伴う振動が認められる。この振動は、長方形運動モデルでは音源の移動方向が非線形に変化することが要因であると推定される。音源位置の推定誤差は、拍手回数が10回以内で、振動による振幅の範囲内に収まる。
収音位置の推定誤差は、初期値0.9mから時間経過に伴いほぼ単調に0に収束する。観測時間誤差の推定誤差は、時間経過に伴いほぼ2.4×10−3sと、初期値3.0×10−3sよりも小さい値に収束する。
従って、図12は、音源位置、収音位置、観測時間誤差ともに、時間経過に伴い高い精度で推定されることを示す。
【0103】
図13は、推定誤差の時間変化のその他の例を表す図である。
図13は、運動モデルとして円運動モデルを想定した場合における、音源位置の推定誤差、収音部の位置の推定誤差、観測時刻誤差を、各々(a)、(b)、(c)に示す。
図13において、縦軸と横軸の関係は図12と同様である。
【0104】
図13によれば、音源位置の推定誤差は、初期値3.0mから時間経過に伴いほぼ0に収束する。拍手回数が10回以内で、推定誤差が0に達する。但し、拍手回数が50回までの間は、長方形運動モデルの場合よりも長い周期で推定誤差が振動する。
収音位置の推定誤差は、時間経過に伴い初期値1.0mよりも十分小さい値0.1に収束する。但し、拍手回数14回付近において音源位置の推定誤差と同時に収音位置の推定誤差も増加する傾向が認められる。
観測時間誤差の推定誤差は、時間経過に伴いほぼ1.1×10−3sと、初期値2.4×10−3sよりも小さい値に収束する。
従って、図13は、音源位置、収音位置、観測時間誤差ともに、時間経過に伴い高い精度で推定されることを示す。
【0105】
図14は、観測時間誤差の一例を表す表である。
図14に示す観測時間誤差は、円運動モデルを想定して推定した値であって、時間経過により収束した値である。
図14は、最左列から右側へ順に、チャネル2〜8の観測時間誤差mτ〜収音部101−8のmτをそれぞれ示す。これらの値の単位は、10−3秒である。観測時間誤差mτ〜mτは、それぞれ、−0.85、−1.11、−1.42、0.87、−0.95、−2.81、−0.10である。
【0106】
図15は、音源定位状況の一例を表す図である。
図15において、X軸は受聴室601の横方向の座標軸、Y軸は縦方向の座標軸、Z軸は、帯域出力信号のパワーを表す。原点は、受聴室601のX−Y平面上の中心を表す。図15のX−Y平面上に、X=0又はY=0を表す破線を示す。
図15に示す、帯域出力信号のパワーは、評価点選択部2054が収音部101−1〜101−Nの位置の初期値に基づいて評価点毎に算出した値である。この値は、評価点により大きく異なる。従って、ピーク値をとる評価点が、音源位置として有意でないことを表す。
【0107】
図16は、音源定位状況のその他の例を表す図である。
図16において、X軸、Y軸、Z軸の関係は、図15と同様である。
図16に示す、帯域出力信号のパワーは、音源が原点に所在している時点であって、収束後の収音部101−1〜101−Nの推定された位置に基づいて評価点毎に算出した値である。この値は、原点においてピーク値をとる。
【0108】
図17は、音源定位状況のその他の例を表す図である。
図17において、X軸、Y軸、Z軸の関係は、図15と同様である。
図17に示す、帯域出力信号のパワーは、音源が原点に所在しているとき、現実の収音部101−1〜101−Nの位置に基づいて評価点毎に算出した値である。この値は、原点においてピーク値をとる。図16の結果を考慮すると、収束後の収音部の推定された位置を用いて帯域出力信号のピーク値をとる評価点が、音源位置として正しく推定されることを表す。
【0109】
図18は、収束時間の一例を表す図である。
図18は、横軸は音源位置が収束するまでの経過時間帯を表し、縦軸は経過時間帯毎の実験回数を示すヒストグラムである。ここで、収束とは、前時刻l−1から現時刻lまでの推定された音源位置の変化量が0.01mを下回った時点である。全実験回数は、100回である。実験毎に、収音部101−1〜101−8の位置をランダムに変更した。
図18において、経過時間帯が10〜19、20〜29、30〜39、40〜49、50〜59,60〜69、70〜79、80〜89、90〜99(いずれも拍手回数)の場合、実験回数は、それぞれ2、16、31、24、12、7、5、2、1である。その他の経過時間帯においては、いずれも実験回数は0回である。
【0110】
図19は、推定された音源位置の誤差の一例を表す図である。
図19において、横軸は経過時間、縦軸は経過時間毎の音源位置の誤差を表す。図19は、経過時間毎の平均値同士を結ぶ折れ線グラフと、経過時間毎の最大値及び最小値を結ぶエラーバーを表す。
図19において、経過時間が0、50、100、150、200(いずれも拍手回数)の場合、平均値は、0.9、0.13、0.1、0.08、0.07mである。このことも、時間経過とともに誤差が収束することが表される。また、経過時間が0、50、100、150、200(いずれも拍手回数)の場合、最大値は、2.26、0.5、0.4、0.35、0.3mとなり、最小値は、0.47、0.10、0.09、0.07、0.06mとなる。従って、時間経過とともに最大値と最小値の差が小さくなり、音源位置が安定して推定されることが示される。
【0111】
このように、本実施形態によれば、複数のチャネルの入力信号を、予め定めた音源位置の評価点から複数のチャネルの各々に対応するマイクロホンの位置までの位相で補償した信号を加算して得られる評価値を最大にする評価点を定める。また、本実施形態では、定めた評価点と音源状態情報が表す音源位置までの距離に基づいて音源位置の変化が収束したか否かを判断する収束判定部を備える。これにより、音声信号を収録しながら、未知の音源位置を収音部の位置と同時に推定することができる。また、音源位置を安定的に推定でき、推定精度が向上する。
【0112】
なお、上述では、音源状態情報が表す音源の位置や収音部101−1〜101−Nの位置が2次元の直交座標系で表される座標値である場合を例にとって説明したが、本実施形態ではこれには限られない。本実施形態では、2次元の直交座標系の代わりに、3次元の直交座標系であってもよいし、極座標系、等、他の変数空間で表される座標系であってもよい。3次元の座標系で表される座標値を扱う場合には、本実施形態ではチャネル数Nを少なくとも3よりも大きい整数とする。
【0113】
なお、上述では、音源の運動モデルが円運動モデル及び長方形運動モデルである場合を例にとって説明したが、本実施形態ではこれには限られない。本実施形態では、それ以外の運動モデル、例えば、直線運動モデル、正弦波運動モデルであってもよい。
【0114】
なお、上述では、位置出力部106は、収束判定部105から入力された音源状態情報に含まれる音源位置情報を出力する場合を例にとって説明したが、本実施形態ではこれには限られない。本実施形態では、音源状態情報に含まれる音源位置情報、運動方向情報、収音部101−1〜101−Nの位置情報、観測時刻誤差、又はこれらの任意の組み合わせを出力してもよい。
【0115】
なお、上述では、収束判定部205は、遅延和ビームフォーミング法を用いて推定された評価点と状態推定部104から入力された音源状態情報に含まれる音源位置に基づいて音源状態情報が収束したか否かを判断する場合を例にとって説明した。本実施形態では、これには限られない。本実施形態では、遅延和ビームフォーミング法を用いて推定された評価点の代わりに他の方式、例えばMUSIC(Multiple Signal Classification)法を用いて推定された音源位置を評価点として用いてもよい。
【0116】
なお、上述では、距離判定部2055は、入力された音源状態情報を位置出力部106に出力する場合を例にとって説明したが、本実施形態ではこれには限られない。本実施形態では、音源状態情報に含まれる音源位置情報の代わりに評価点選択部2054から入力された評価点を表す評価点情報を出力してもよい。
【0117】
なお、上述した実施形態における音源位置推定装置1、2の一部、例えば、時間差算出部103、状態更新部1041、状態予測部1042、収束判定部105、ステアリングベクトル算出部2051、周波数領域変換部2052、出力算出部2053、評価点選択部2054、距離判定部2055をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、音源位置推定装置1、2に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
また、上述した実施形態における音源位置推定装置1、2の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い音源位置推定装置1、2の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【0118】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0119】
1、2…音源位置推定装置、101−1〜101−N…収音部、102…信号入力部、
103…時間差算出部、104…状態推定部、1041…状態更新部、
1042…状態予測部
105、205…収束判定部、106…位置出力部、
2051…ステアリングベクトル算出部、2052…周波数領域変換部、
2053…出力算出部、2054…評価点選択部、2055…距離判定部

【特許請求の範囲】
【請求項1】
複数のチャネルの音声信号を入力する信号入力部と、
チャネル間の音声信号の時間差を算出する時間差算出部と、
音源位置を含む音源状態情報である過去の音源状態情報から現在の音源状態情報を予測する状態予測部と
前記時間差算出部が算出した時間差と前記状態予測部が予測した前記音源状態情報に基づく時間差との間の誤差を減少させるように前記音源状態情報を推定する状態更新部とを備える
ことを特徴とする音源位置推定装置。
【請求項2】
前記状態更新部は、
前記誤差に基づいてカルマンゲインを算出し、算出したカルマンゲインに前記誤差を乗ずることを特徴とする請求項1に記載の音源位置推定装置。
【請求項3】
前記音源状態情報は、前記音声信号を前記信号入力部に供給する収音部の位置を含むことを特徴とする請求項1又は2に記載の音源位置推定装置。
【請求項4】
前記収音部の位置の変化に基づいて、前記音源位置の変化が収束したか否かを判断する収束判定部を備えること
を特徴とする請求項3に記載の音源位置推定装置。
【請求項5】
前記複数のチャネルの入力信号を、予め定めた音源位置の評価点から前記複数のチャネルの各々に対応する収音部の位置までの位相で補償した信号を加算して得られる評価値を最大にする評価点を定め、定めた評価点と前記状態更新部が推定した音源状態情報が表す音源位置までの距離に基づいて、前記音源位置の変化が収束したか否かを判断する収束判定部を備えること
を特徴とする請求項3に記載の音源位置推定装置。
【請求項6】
前記収束判定部は、
前記評価点を、遅延和ビームフォーミング法を用いて定め、定めた評価点と請求項2に記載の状態更新部が推定した音源状態情報が表す音源位置までの距離に基づいて、前記音源位置の変化が収束したか否かを判断することを特徴とする請求項5に記載の音源位置推定装置。
【請求項7】
音源位置推定装置における方法において、
前記音源位置推定装置が、複数のチャネルの音声信号を入力する過程と、
前記音源位置推定装置が、チャネル間の音声信号の時間差を算出する過程と、
前記音源位置推定装置が、音源位置を含む音源状態情報である過去の音源状態情報から現在の前記音源状態情報を予測する過程と
前記音源位置推定装置が、前記算出した時間差と前記予測した前記音源状態情報に基づく時間差との間の誤差を減少させるように前記音源状態情報を推定する過程を有すること
を特徴とする音源位置推定方法。
【請求項8】
音源位置推定装置のコンピュータに、
複数のチャネルの音声信号を入力する手順、
チャネル間の音声信号の時間差を算出する手順、
音源位置を含む音源状態情報である過去の音源状態情報を予測する手順、
前記算出した時間差と前記予測した前記音源状態情報に基づく時間差との間の誤差を減少させるように前記音源状態情報を推定する手順
を実行させるための音源位置推定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図18】
image rotate

【図19】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate