説明

音源分離装置及び音源分離方法

【課題】音源が変動しても音源信号を分離することができる音源分離装置及び音源分離方法を提供する。
【解決手段】伝達関数記憶部は音源からの伝達関数を記憶し、音源変動検出部は収音部から入力された入力信号に基づき音源の変動を表す変動状態情報を生成し、パラメータ選択部は前記音源変動検出部が生成した変動状態情報に基づいて初期分離行列を算出し、音源分離部はパラメータ選択部が算出した初期分離行列を用いて、前記収音部から入力された入力信号に対して音源分離を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音源分離装置及び音源分離方法に関する。
【背景技術】
【0002】
複数の未知の信号系列が混合された観測信号から、それぞれの信号を分離するブラインド信号源分離(blind source separation;BSS)技術が提案されている。BSS技術は、例えば、騒音下における音声認識に応用されている。ここで、BSS技術は、周囲雑音、又はロボット等の動作によって発生する駆動音等から人間が発声した音声を分離するために用いられている。
BSS技術では、信号を分離するために各音源からの空間的な伝搬特性を利用することが提案されている。
【0003】
例えば、特許文献1に記載の音源分離システムは、入力信号と音源信号との相関関係を表す分離行列により定義され、かつ、音源信号の分離度を評価するためのコスト関数の次回値が今回値よりも最小値に近づくように今回の分離行列が次回の分離行列に更新される処理が繰り返される。
分離行列の更新量はコスト関数の今回値が大きいほど多くなり、かつ、コスト関数の今回の勾配が急なほど少なくなるように調節される。
そして、複数のマイクロホンのそれぞれの入力信号と最適分離行列とに基づき音源信号が高精度で分離される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許4444345号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の音源分離システムでは、音源が変動すると分離行列が著しく変化するため、分離行列が更新されても最適値に近似するとは限らない。よって、この分離行列を用いて入力信号から音源信号を分離できないという問題があった。
【0006】
本発明は上記の点に鑑みてなされたものであり、音源が変動しても音源信号を分離することができる音源分離装置又は音源分離方法を提供する。
【課題を解決するための手段】
【0007】
(1)本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、音源からの伝達関数を記憶する伝達関数記憶部と、収音部から入力された入力信号に基づき音源の変動を表す変動状態情報を生成する音源変動検出部と、前記音源変動検出部が生成した変動状態情報に基づいて初期分離行列を算出するパラメータ選択部と、前記パラメータ選択部が算出した初期分離行列を用いて、前記収音部から入力された入力信号に対して音源分離を行う音源分離部とを備えることを特徴とする音源分離装置である。
【0008】
(2)本発明のその他の態様は、音源からの伝達関数を記憶する伝達関数記憶部を備え、前記パラメータ選択部は、前記伝達関数記憶部から伝達関数を読み出し、読み出した前記伝達関数を用いて前記初期分離行列を算出することを特徴とする(1)の音源分離装置である。
【0009】
(3)本発明のその他の態様は、前記音源変動検出部は、前記変動状態情報として、音源方向が予め設定された閾値よりも大きく変化したことを検出して、音源方向の切り替わりを表す情報を生成することを特徴とする(1)の音源分離装置である。
【0010】
(4)本発明のその他の態様は、前記音源変動検出部は、前記変動状態情報として、前記入力信号の振幅が予め設定された閾値よりも大きくなったことを検出して、発話が開始したことを表す情報を生成することを特徴とする(1)の音源分離装置である。
【0011】
(5)本発明のその他の態様は、前記音源分離部は、前記指標値として、一の音源が他の音源として分離される度合いを表す分離尖鋭度及び前記出力信号と前記音源信号との誤差の度合いを表す幾何制約関数のうち少なくとも一方に基づくコスト関数を用いて前記分離行列を更新することを特徴とする(1)−(4)のいずれかに記載の音源分離装置である。
【0012】
(6)本発明のその他の態様は、前記音源分離部は、前記コスト関数として、前記分離尖鋭度と前記幾何制約関数を重み付け加算したコスト関数を用いることを特徴とする(5)の音源分離装置である。
【0013】
(7)本発明のその他の態様は、音源からの伝達関数を記憶する伝達関数記憶部を備える音源分離装置における音源分離方法において、前記音源分離装置が、収音部から入力された入力信号に基づき音源の変動を表す変動状態情報を生成する過程と、前記音源分離装置が、前記生成した変動状態情報に基づいて初期分離行列を算出する過程と、前記音源分離装置が、前記算出した初期分離行列を用いて、前記収音部から入力された入力信号に対して音源分離を行う過程とを備えることを特徴とする音源分離方法である。
【発明の効果】
【0014】
本発明の一態様である(1)の音源分離装置によれば、音源の変動に基づいて算出した初期分離行列を音源分離に用いるため、音源が変動しても音響信号を分離することができる。
本発明のその他の態様である(2)の音源分離装置によれば、音源からの伝達関数を用いて初期分離行列を算出するため、伝達関数の変動に応じて音響信号を分離することができる。
本発明のその他の態様である(3)の音源分離装置によれば、音源方向の切り替わりに伴い初期分離行列を設定することができる。
本発明のその他の態様である(4)の音源分離装置によれば、発話の開始に伴い初期分離行列を設定することができる。
本発明のその他の態様である(5)の音源分離装置によれば、1つの音源として他の音源による成分が混在する度合い、又は分離誤差を低減することができる。
本発明のその他の態様である(6)の音源分離装置によれば、1つの音源として他の音源による成分が混在する度合いを低減し、かつ分離誤差を低減することができる。
本発明のその他の態様である(7)の音源分離方法によれば、音源の変動に基づいて読み出した伝達関数を用いて初期分離行列を音源分離に用いるため、音源が変動しても音響信号を分離することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施形態に係る音源分離装置の構成を示す概念図である。
【図2】本実施形態に係る音源分離処理を表すフローチャートである。
【図3】本実施形態に係る初期化処理を表すフローチャートである。
【図4】発話者の発話位置の一例を示す概念図である。
【図5】本実施形態に係る単語正答率の一例を示す図である。
【図6】発話者の発話位置のその他の例を示す概念図である。
【図7】本実施形態に係る単語正解精度の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら本発明の実施形態について説明する。
図1は、本発明の実施形態に係る音源分離装置1の構成を示す概略図である。
音源分離装置1は、収音部11、パラメータ切替部12、音源分離部13、相関算出部14及び音源出力部15を含んで構成される。
【0017】
収音部(sound input)11は、受信した音波を音響信号に変換する収音手段(例えば、マイクロホン)を複数個備え、各収音手段は異なる位置に配置される。収音部11は、例えば、M個(Mは2以上の整数)のマイクロホンを備えるマイクロホンアレーである。
収音部11は、変換した音響信号を並列して多チャネル(例えばMチャネル)音響信号としてパラメータ切替(parameter switching)部12の音源定位(sound source localization)部121並びに音源変動検出部(sound change detection)122、音源分離(sound source separation)部13の音源推定(sound estimation)部131及び相関(correlation)算出部14の入力相関(input correlation)算出部141に出力する。
【0018】
パラメータ切替部12は、収音部11から入力された多チャネル音響信号に基づき音源方向を推定し、推定した音源方向の変動をフレーム(時刻)毎に検出する。音源方向の変動とは、例えば、音源方向の切替わり(switching)、発話(utterance)を含む。パラメータ切替部12は、検出した音源方向に対応した伝達関数(transfer function)を要素とする伝達関数行列(transfer function matrix)と、その伝達関数に基づく初期分離行列(initial separation matrix)を音源分離部13に出力する。伝達関数行列及び初期分離行列については後述する。
パラメータ切替部12は、音源定位部121、音源変動検出部122、伝達関数記憶部123及びパラメータ選択部124を含んで構成される。
【0019】
音源定位部121は、収音部11から入力された多チャネル音響信号に基づき音源方向を推定する。音源定位部121は、音源方向を推定するために、例えばMUSIC(multiple signal classification;多信号分類)法を用いる。例えば、MUSIC法を用いる場合、音源定位部121は、次に述べる処理を行う。
【0020】
音源定位部121は、収音部11から入力された多チャネル音響信号を構成するチャネル毎の音響信号をフレーム単位で離散フーリエ変換(discrete Fourier transform;DFT)を行って周波数領域に変換したスペクトルを生成する。これにより、音源定位部121は、チャネル毎のスペクトルの値を要素とするM列の入力ベクトルxを周波数毎に算出する。音源定位部121は、算出した入力ベクトルxに基づきスペクトル相関行列(spectrum correlation matrix)Rspを、式(1)を用いて周波数毎に算出する。
【0021】
【数1】

【0022】
式(1)において、*は、複素共役転置演算子を示す。E[xx]は、xxの期待値を示す演算子である。期待値とは、例えば、現在までの予め設定した時間にわたる時間平均である。
音源定位部121は、式(2)を満たすようにスペクトル相関行列Rspの固有値λと固有ベクトルeを算出する。
【0023】
【数2】

【0024】
音源定位部121は、式(2)を満たす固有値λと固有ベクトルeとの組を保持する。iは、1以上M以下の整数であるインデックスを示す。インデックスiの順序、1、2...Mは、固有値λの降順である。
音源定位部121は、伝達関数記憶部123から選択した伝達関数ベクトルD(θ)と、算出した固有ベクトルeに基づき、式(3)を用いて空間スペクトル(spatial spectrum)P(θ)を算出する。
【0025】
【数3】

【0026】
式(3)において、|D(θ)D(θ)|は、スカラー値D(θ)D(θ)の絶対値を示す。Nは、認識可能な最大音源個数であって、予め設定した値(例えば3)である。本実施形態では、N<Mであることが好ましい。Kは、音源定位部121が保持した固有ベクトルeの数であって、M又はMよりも小さい予め設定した整数である。Tは、ベクトル又は行列の転置を示す。即ち、固有ベクトルe(N+1≦i≦K)は、音源以外とみなされた成分(例えば、雑音)の特性を示すベクトル値である。従って、空間スペクトルP(θ)は、音源から伝搬した成分の、音源以外の成分の割合を表す。
【0027】
音源定位部121は、式(3)を用いて、予め設定した周波数帯域の空間スペクトルP(θ)を取得する。予め設定した周波数帯域とは、例えば、音源として可能性がある音響信号による音圧が大きい周波数帯域であり、かつ雑音の音圧が小さい周波数帯域である。その周波数帯域は、人間が発声する音声が音源である場合、例えば、0.5〜2.8kHzである。
【0028】
音源定位部121は、算出した周波数帯域の空間スペクトルP(θ)を、その周波数帯域よりも広帯域に拡張して拡張(extended)空間スペクトルPext(θ)を算出する。
ここで、音源定位部121は、入力された多チャネル音響信号に基づきS/N比(signal−to−noise ratio;信号雑音比)を算出し、算出したS/N比が予め設定した閾値よりも高い(即ち、ノイズが少ない)周波数帯域ωを選択する。
音源定位部121は、選択した周波数帯域ωにおいて式(2)を用いて算出した固有値λのうち、最大となる最大固有値λmaxの平方根に、空間スペクトルP(θ)で式(4)を用いて重み付け加算して拡張空間スペクトルPext(θ)を算出する。
【0029】
【数4】

【0030】
式(4)において、Ωは周波数帯域の集合を示し、|Ω|は集合Ωの要素数、kは周波数帯域を示すインデックスを示す。これにより拡張空間スペクトルPext(θ)には、空間スペクトルP(θ)の値が大きい周波数帯域ωの特性が強く反映される。
【0031】
音源定位部121は、拡張空間スペクトルPext(θ)のピーク値(極大値)と、対応する角度θを選択する。この選択されたθが音源方向として推定される。
ピーク値とは、角度θの拡張空間スペクトルの値Pext(θ)が、角度θから微小量Δθだけ負方向にずれた角度θ−Δθにおける値Pext(θ−Δθ)、及び角度θから微小量Δθだけ正方向にずれた角度θ+Δθにおける値Pext(θ+Δθ)よりも大きな値である。Δθは、音源方向θの量子化幅(quantization width)、例えば1°(度)である。
【0032】
音源定位部121は、拡張空間スペクトルPext(θ)のピーク値のうち、最大値からN番目に大きい値まで抽出し、抽出したピーク値に各々対応する音源方向θを選択する。音源定位部121は、選択した音源方向θを表す音源方向情報を定める。
なお、音源定位部121は、音源毎の方向情報を推定するために、上述のMUSIC法の代わりに、例えば、WDS−BF(weighted delay and sum beam forming)法を用いてもよい。
音源定位部121は、定めた音源方向情報を音源変動検出部122、パラメータ選択(parameter selecting)部124及び音源分離部13の音源推定部131に出力する。
【0033】
音源変動検出部122は、収音部11から入力された多チャネル音響信号、又は音源定位部121から入力された音源方向情報に基づき音源の変動状態を検出し、検出した変動状態を表す変動状態情報を生成する。音源変動検出部122は、生成した変動状態情報をパラメータ選択部124、音源分離部13の音源推定部131及び相関算出部14の入力相関算出部141並びに出力相関(output correlation)算出部142に出力する。
音源変動検出部122は、音源の変動として、例えば、次の2種類の状態(1)、(2)をフレーム時刻毎に独立に検出する。(1)音源方向の切替わり(switching of sound source direction、以下、POSとも略記する)、(2)発話(utterance、以下、IDとも略記する)。音源変動検出部122は、音源方向の切替わりの状態と発話の状態を同時に検出し、両方の状態を表す変動状態情報を生成することもある。
【0034】
音源方向の切替わりとは、音源方向が瞬間的に著しく変化することを意味する。
音源変動検出部122は、例えば、音源方向情報が示す少なくとも1つの音源方向であって現在のフレーム時刻における音源方向と1フレーム時刻過去のその音源方向が、予め設定した方向変化の閾値θth(例えば、5°)を越えたとき、音源方向の切替わりの状態を検出する。このとき、音源変動検出部122は、音源方向の切替わりの状態を表す変動状態情報を生成する。
【0035】
発話とは、音響信号が立ち上がる状態(onset)、即ち音響信号の振幅が予め定めた振幅やパワーを超える状態が開始することを意味する。本実施形態では、発話とは、必ずしも人間が発声を開始することに限らず、楽器、機器、等の物体が音を発生開始することも含む。
音源変動検出部122は、例えば、予め定めたフレーム数(例えば、1秒に相当するフレーム数)だけ過去の時刻から1フレーム時刻過去まで一貫して音響信号のパワーが予め設定したパワーの閾値pth(例えば、定常雑音のパワーの10倍)よりも小さく、現在の音響信号のパワーが閾値pthを超えたとき、発話の状態と検出する。このとき、音源変動検出部122は、発話の状態を表す変動状態情報を生成する。
【0036】
伝達関数(transfer function)記憶部123には、複数の伝達関数ベクトルを音源方向情報と対応付けて予め記憶されている。その伝達関数ベクトルは、音源から収音部11が備える各収音手段(チャネル)までの音波の伝搬特性を表す伝達関数を要素値として含むM列のベクトルである。また、伝達関数ベクトルは音源の位置(方向)によって異なり周波数ω毎に異なる。伝達関数記憶部123において、伝達関数に対応する音源方向は、予め設定した間隔に離散化されている。例えば、この間隔が5°の場合、伝達関数記憶部123には、72組の伝達関数ベクトルが記憶されている。
【0037】
パラメータ選択部124には、音源定位部121から音源方向情報が入力され、音源変動検出部122から変動状態情報が入力される。
パラメータ選択部124は、入力された変動状態情報が音源方向の切替わりの状態、又は発話の状態を表すとき、入力された音源方向情報が表す各音源方向に最も近似する音源方向を表す音源方向情報に対応する伝達関数ベクトルを伝達関数記憶部123から読み出す。伝達関数記憶部123に記憶されている伝達関数ベクトルに対応する音源方向情報は離散値であり、連続値ではないからである。
音源方向情報が複数の音源方向を表す場合には、パラメータ選択部124は、読み出した複数の伝達関数ベクトルを統合して伝達関数行列を構成する。即ち、伝達関数行列は、各音源から各受音手段までの伝達関数を要素として含み周波数毎に定められる行列である。音源方向情報が1個の音源方向を表す場合には、パラメータ選択部124は、読み出した伝達関数ベクトルを伝達関数行列とする。
パラメータ選択部124は、伝達関数行列を音源分離部13の音源推定部131及び幾何誤差(geometric error)算出部132に出力する。
【0038】
パラメータ選択部124は、各音源方向に対応する伝達関数ベクトルに基づき分離行列(separation matrix)の初期値である初期分離行列を算出し、算出した初期分離行列を音源分離部13の音源推定部131に出力する。分離行列については、後述する。このようにして、音源分離部13が、音源方向の切り替わり、及び発話の際に、伝達関数行列及び分離行列を初期化(initialize)できるようにする。
パラメータ選択部124は、初期分離行列Winitとして、伝達関数行列Dに基づいて、例えば、式(5)を用いて算出する。
【0039】
【数5】

【0040】
式(5)において、diag[DD]は、行列DDの対角成分からなる対角行列である。[DD]−1は、行列DDの逆行列を示す。例えば、行列DDが、その非対角要素がすべてゼロである対角行列である場合、初期分離行列Winitは、伝達関数行列Dの擬似逆行列となる。また、音源が1個、つまり行列Dの列数が1列であるベクトルである場合には、初期分離行列Winitは、行列Dの各要素値を二乗和で除算した値となる。
なお、本実施形態では、式(5)で算出される初期分離行列Winitの代わりに、伝達関数行列Dの擬似逆行列(DD)−1を初期分離行列Winitとして算出してもよい。
【0041】
音源分離部13は、分離行列Wを推定し、推定した分離行列Wに基づいて収音部11から入力された多チャネル音響信号から音源毎の成分に分離し、分離した出力スペクトル(ベクトル)として音源出力部15に出力する。分離行列Wは、多チャネル音響信号のスペクトルx(ベクトル)のi番目の要素値に乗算して出力スペクトルy(ベクトル)のj番目の要素値への寄与を算出する要素値wijを要素値として含む行列である。音源分離部13が理想的な分離行列Wを推定した場合、出力スペクトルy(ベクトル)は、各音源のスペクトルを要素値として含む音源スペクトルs(ベクトル)と等しくなる。
【0042】
音源分離部13は、分離行列Wを推定するために、例えば、GSS(geometric source separation;幾何制約付き音源分離)法を用いる。GSS法とは、分離尖鋭度(separation sharpness)JSSと幾何制約度(geometric constraint)JGCを加算して得られるコスト関数(cost function)Jを最小化するように分離行列Wを適応的に(adaptively)算出する方法である。
【0043】
分離尖鋭度JSSとは、式(6)に示す指標値であり、BSS技術(BSS法)で分離行列Wを算出するために用いられるコスト関数である。
【0044】
【数6】

【0045】
式(6)において、|E(yy−diag(yy))|は、行列E(yy−diag(yy))のフロベニウスノルム(Frobenius norm)である。フロベニウスノルムとは、行列を構成する各要素値の二乗和(スカラー値)である。E(yy−diag(yy))は、行列yy−diag(yy)の期待値、即ち予め設定した時間だけ過去の時刻から現在までの時間平均である。式(6)によれば、分離尖鋭度JSSは、出力スペクトルの非対角成分の大きさ、つまり、ある1つの音源が他の音源として誤って分離される度合いを表す指標値である。また、分離尖鋭度JSSを、入力スペクトルx(ベクトル)の要素値毎に微分した行列が、分離誤差行列(separation error matrix)J’SSである。但し、この微分において、y=Wxであると仮定する。
【0046】
幾何制約度JGCとは、式(7)に示す指標値であり、BF(beam forming;ビームフォーミング)法で分離行列Wを算出するために用いられるコスト関数である。
【0047】
【数7】

【0048】
式(7)によれば、幾何制約度JGCとは、出力スペクトルと音源スペクトルとの誤差の度合いを表す指標値である。また、幾何制約度JGCを、入力スペクトルx(ベクトル)の要素値毎に微分した行列が、幾何誤差行列J’GCである。
従って、GSS法は、BSS法とBF法を統合した解法であり、音源間での分離精度のと音源スペクトルの推定精度の両者の向上を図る解法である。
音源分離部13が、GSS法を用いる場合、音源推定部131、幾何誤差算出部132、第1ステップサイズ算出部133、分離誤差算出部134、第2ステップサイズ算出部135及び更新行列算出部136を備える。
【0049】
音源推定部131は、パラメータ選択部124から入力された初期分離行列Winitを初期値として、フレーム時刻t毎に分離行列Wを算出する。
音源推定部131は、現フレーム時刻tにおける分離行列Wに、更新行列算出部136から入力された更新行列(update matrix)ΔWを減算して、次のフレーム時刻t+1における分離行列Wを算出する。これにより、音源推定部131は、分離行列Wをフレーム毎に更新する。
【0050】
音源推定部131は、音源変動検出部122から入力された音源変動情報が音源方向の切替わりを表すとき、直前に算出した分離行列Wを最適分離行列Woptとして自部が備える記憶部に記憶する。そして、音源推定部131は、分離行列Wを初期化する。このとき、音源推定部131は、パラメータ選択部124から入力された初期分離行列Winitを分離行列Wとして設定する。
音源推定部131は、音源変動検出部122から入力された音源変動情報が発話の状態を表すとき、最適分離行列Woptを設定する。このとき、音源推定部131は、音源定位部121から入力された音源方向情報に対応する最適分離行列Woptを読み出し、読み出した最適分離行列Woptを分離行列Wとして設定する。
【0051】
なお、音源推定部131は、更新行列ΔWに基づいて分離行列Wの変化が収束(converge)したか否かフレーム時刻毎に判断するようにしてもよい。この判断のために、音源推定部131は、例えば、分離行列Wの変化量である更新行列ΔWの大きさ(例えば、ノルム)と分離行列Wの大きさの比率を表す指標値を算出する。この指標値が予め定めた閾値(例えば、0.03、約−30dBに相当)よりも小さい場合、音源推定部131は分離行列Wの変化が収束したと判断する。この指標値が、予め定めた閾値と等しいか、又はこの閾値より大きい場合、音源推定部131は分離行列Wの変化が収束していないと判断する。
音源推定部131は、分離行列Wの変化が収束したと判断したとき、自部が備える記憶部に、音源定位部121から入力された音源方向情報と算出した分離行列Wを対応付けて最適分離行列Woptとして記憶する。
【0052】
音源推定部131は、分離行列Wの変化が収束していないと判断し、かつ音源変動検出部122から入力された音源変動情報が音源方向の切替わりを表すとき、分離行列Wを初期化する。このとき、音源推定部131は、パラメータ選択部124から入力された初期分離行列Winitを分離行列Wとして設定する。
音源推定部131は、分離行列Wの変化が収束したと判断し、かつ音源変動検出部122から入力された音源変動情報が音源方向の切替わりを表すとき、最適分離行列Woptを設定する。このとき、音源推定部131は、音源定位部121から入力された音源方向情報に対応する最適分離行列Woptを記憶部から読み出し、読み出した最適分離行列Woptを分離行列Wとして設定する。
【0053】
音源推定部131は、分離行列Wの変化が収束していないと判断し、かつ音源変動検出部122から入力された音源変動情報が発話の状態を表すとき、分離行列Wを初期化する。このとき、音源推定部131は、パラメータ選択部124から入力された初期分離行列Winitを分離行列Wとして設定する。
音源推定部131は、分離行列Wの変化が収束したと判断したとき、かつ音源変動検出部122から入力された音源変動情報が発話の状態を表すとき、最適分離行列Woptを設定する。このとき、音源推定部131は、音源定位部121から入力された音源方向情報に対応する最適分離行列Woptを読み出し、読み出した最適分離行列Woptを分離行列Wとして設定する。
【0054】
音源推定部131は、音源変動検出部122から入力された音源変動情報が音源方向の切替わりと発話の状態の両方を表す場合、分離行列Wを初期化する。このとき、音源推定部131は、パラメータ選択部124から入力された初期分離行列Winitを分離行列Wとして設定する。このような場合には、音源推定部131は、分離行列Wの変化が収束したと判断した場合でも、最適分離行列Woptを設定しない。音源方向の切替わりと発話の状態が同時に発生した場合、必ず音源からの伝達関数が変動するので、最適分離行列Woptも変動するからである。
【0055】
音源推定部131は、収音部11から入力された多チャネル音響信号を構成するチャネル毎の音響信号をフレーム単位で離散フーリエ変換を行って周波数領域に変換したスペクトルを生成する。これにより、音源推定部131は、チャネル毎のスペクトルの値を要素ちとするM列のベクトルである入力ベクトルxを周波数毎に算出する。
音源推定部131は、算出した入力スペクトルx(ベクトル)に分離行列Wを乗算して出力スペクトルy(ベクトル)を周波数毎に算出する。音源推定部131は、出力スペクトルyを音源出力部15に出力する。
音源推定部131は、算出した分離行列Wを幾何誤差算出部132、分離誤差算出部134及び相関算出部14の出力相関算出部142に出力する。
【0056】
幾何誤差算出部132は、パラメータ選択部124から入力された伝達関数行列Dと音源推定部131から入力された分離行列Wに基づいて、例えば式(8)を用いて幾何誤差行列J’GCを算出する。
【0057】
【数8】

【0058】
式(8)において、行列EGCは、式(9)に示されるように、分離行列Wと伝達関数行列Dの積から単位行列Iを減算して得られる行列である。幾何誤差算出部132は、式(9)を用いて行列EGCを算出する。
【0059】
【数9】

【0060】
即ち、幾何誤差行列J’GCは、音源推定部131からの出力スペクトルyの音源信号スペクトルsからの誤差のうち、分離行列Wの推定誤差の寄与分を表す行列である。
幾何誤差算出部132は、算出した幾何誤差行列J’GCを第1ステップサイズ算出部133及び更新行列算出部136に出力し、算出した行列EGCを第1ステップサイズ算出部133に出力する。
【0061】
第1ステップサイズ(step size)算出部133は、幾何誤差算出部132から入力された行列EGCと幾何誤差行列J’GCに基づいて、例えば式(10)を用いて第1ステップサイズμGCを算出する。
【0062】
【数10】

【0063】
式(10)において、第1ステップサイズμGCは、行列EGCの大きさの幾何誤差行列J’GCの大きさに対する割合を示すパラメータである。このようにして、第1ステップサイズ算出部133は、第1ステップサイズμGCを適応的に算出することができる。
第1ステップサイズ算出部133は、算出した第1ステップサイズμGCを更新行列算出部136に出力する。
【0064】
分離誤差算出部134は、相関算出部14の入力相関算出部141から入力された入力相関行列Rxx、出力相関算出部142から入力された出力相関行列Ryy及び音源推定部131から入力された分離行列Wに基づいて、例えば式(11)を用いて分離誤差行列J’SSを算出する。
【0065】
【数11】

【0066】
式(11)において、行列ESSは、式(12)に示されるように、出力相関行列Ryyの非対角成分を表す行列である。分離誤差算出部134は、式(12)を用いて行列ESSを算出する。
【0067】
【数12】

【0068】
即ち、分離誤差行列J’SSは、ある1つの音源からの音響信号が伝搬する際に、他の音源からの音響信号からの音響信号が混合する度合いを表す行列である。
分離誤差算出部134は、算出した分離誤差行列J’SSを第2ステップサイズ算出部135及び更新行列算出部136に出力し、算出した行列ESSを第2ステップサイズ算出部135に出力する。
【0069】
第2ステップサイズ算出部135は、分離誤差算出部134から入力された行列ESSと分離誤差行列J’SSに基づいて、例えば式(13)を用いて第2ステップサイズμSSを算出する。
【0070】
【数13】

【0071】
即ち、第2ステップサイズμSSは、行列ESSの大きさの分離誤差行列J’SSの大きさに対する割合を示すパラメータである。このようにして、第2ステップサイズ算出部135は、第2ステップサイズμSSを適応的に算出することができる。
第2ステップサイズ算出部135は、算出した第2ステップサイズμSSを更新行列算出部136に出力する。
【0072】
更新行列算出部136には、幾何誤差算出部132から幾何誤差行列J’GCが入力され、分離誤差算出部134から分離誤差行列J’SSが入力される。更新行列算出部136には、第1ステップサイズ算出部133から第1ステップサイズμGCが入力され、第2ステップサイズ算出部135から第2ステップサイズμSSが入力される。
更新行列算出部136は、幾何誤差行列J’GCと分離誤差行列J’SSを、第1ステップサイズμGCと第2ステップサイズμSSで重み付け加算してフレーム毎に更新行列ΔWを算出する。更新行列算出部136は、算出した更新行列ΔWを音源推定部131に出力する。
このようにして、音源分離部13は、GSS法に基づいて分離行列Wを逐次に算出する。
【0073】
本実施形態では、音源分離部13は、GSS法の代わりに、BSS法を用いて分離行列Wを算出してもよい。その場合、音源分離部13は、幾何誤差算出部132及び第1ステップサイズ算出部133を省略し、更新行列算出部136は、更新行列ΔWを−μSSJ‘SSと定める。
また、本実施形態では、音源分離部13は、GSS法の代わりに、BF法を用いてもよい。その場合、音源分離部13は、分離誤差算出部134及び第2ステップサイズ算出部135を省略し、更新行列算出部136は、更新行列ΔWを−μGCJ‘GCと定める。
【0074】
相関算出部14は、収音部11から入力された多チャネル音響信号に基づき入力相関行列Rxxを算出し、音源分離部13から入力された分離行列Wを更に用いて出力相関行列Ryyを算出する。相関算出部14は、算出した入力相関行列Rxx及び出力相関行列Ryyを分離誤差算出部134に出力する。
相関算出部14は、入力相関算出部141、出力相関算出部142及び窓長算出部143を含んで構成される。
【0075】
入力相関算出部141は、収音部11から入力された多チャネル音響信号に基づき入力相関行列Rxx(t)をサンプル時刻t毎に算出する。入力相関算出部141は、例えば式(14)に示すように、時間窓関数(time window)w(t)で規定される時間N(t)内においてチャネル間のサンプル値の積を累積した累積値を要素とする行列を、入力相関行列の瞬時値(instanteneous value)R(i)xx(t)として算出する。
【0076】
【数14】

【0077】
式(14)において、τは、現サンプル時刻tを基準として過去に遡るサンプル時刻を示す。時間窓関数w(t)は、τ=0から時間N(t)だけ過去に遡ったサンプル時刻までの間の値を1とし、N(t)よりも遡った時刻での値を0とする関数である。即ち、時間窓関数w(t)はτ=0からN(t)までの間の信号値を抽出する関数である。ここで、信号値を抽出する区間の大きさであるN(t)を窓長(window length)と呼ぶ。このようにして、入力相関算出部141は、時間領域で入力相関行列の瞬時値R(i)xx(t)を算出する。
そこで、入力相関算出部141は、窓長算出部143から入力された窓長N(t)に基づいて時間窓関数w(t)を定め、式(14)を用いて瞬時値R(i)xx(t)を算出する。
【0078】
入力相関算出部141は、減衰パラメータ(decay parameter)α(t)を用いて、前サンプル時刻t−1の入力相関行列Rxx(t−1)と現サンプル時刻tの瞬時値R(i)xx(t)を重み付け加算(weight sum)し、現在のサンプル時刻の入力相関行列Rxx(t)を、例えば式(15)を用いて算出する。算出された入力相関行列Rxx(t)は、短時間平均値からなる行列である。
【0079】
【数15】

【0080】
式(15)において、減衰パラメータα(t)は、過去の値による寄与を時間経過に伴って指数的(exponentially)に減衰させる度合いを表す係数である。入力相関算出部141は、減衰パラメータα(t)を、例えば、窓長算出部143から入力された窓長N(t)に基づき、式(16)を用いて算出する。
【0081】
【数16】

【0082】
式(16)を用いて算出された減衰パラメータα(t)によれば、現在の入力相関行列Rxx(t)への影響が及ぶ瞬時値R(i)xxの時間範囲は窓長N(t)と同程度になる。
【0083】
入力相関算出部141は、時間領域の入力相関行列Rxx(t)をフレーム単位で離散フーリエ変換して周波数領域の入力相関行列Rxxをフレーム時刻毎に算出する。
入力相関算出部141は、音源変動検出部122から音源の切替わりの状態を表す変動状態情報、又は発話の状態を表す変動状態情報を入力された場合、入力相関行列Rxxの初期値として単位行列に設定する。
入力相関算出部141は、算出又は設定した入力相関行列Rxxを分離誤差算出部134に出力し、時間領域の入力相関行列Rxx(t)を出力相関算出部142に出力する。
【0084】
出力相関算出部142は、入力相関算出部141から入力された時間領域の入力相関行列Rxx(t)と音源推定部131から入力された分離行列Wに基づいて出力相関行列Ryy(t)を算出する。
出力相関算出部142は、音源推定部131から入力された分離行列Wを逆離散フーリエ変換(inverse discrete Fourier transform;IDFT)して時間領域の分離行列W(t)を算出する
出力相関算出部142は、例えば式(17)に示すように、入力相関行列Rxx(t)の左側に分離行列W(t)を乗算し、右側に分離行列の複素共役転置行列W(t)を乗算して時間領域の出力相関行列Ryy(t)を算出する。
【0085】
【数17】

【0086】
出力相関算出部142は、算出した時間領域の出力相関行列Ryy(t)をフレーム時刻毎に離散フーリエ変換して周波数領域の出力相関行列Ryyを算出する。
【0087】
なお、出力相関算出部142は、式(17)を用いずに、音源推定部131から入力された出力スペクトルyに基づいて周波数領域の出力相関行列Ryyを算出し、算出した周波数領域の出力相関行列Ryyを逆離散フーリエ変換して時間領域の出力相関行列Ryy(t)を算出してもよい。
出力相関算出部142は、音源変動検出部122から音源の切替わりの状態を表す変動状態情報、又は発話の状態を表す変動状態情報を入力された場合、周波数領域の出力相関行列Ryyの初期値として単位行列に設定する。
出力相関算出部142は、算出又は設定した周波数領域の相関行列Ryyを音源分離部13の分離誤差算出部134に出力し、時間領域の出力相関行列Ryy(t)を窓長算出部143に出力する。
【0088】
窓長算出部143は、出力相関算出部142から入力された時間領域の出力相関行列Ryy(t)に基づき窓長N(t)を算出し、算出した窓長N(t)を入力相関算出部141に出力する。
窓長算出部143は、例えば、式(18)に示されるように分離尖鋭度の最小値の逆数に基づいて定める。
【0089】
【数18】

【0090】
式(18)において、min(a)は、スカラー値aの最小値を示し、βは許容誤差パラメータ(例えば0.99)を示す予め設定された値である。但し、窓長算出部143は、算出した窓長N(t)が予め定めた最大値Nmax(例えば、1000サンプル)を越える場合には、窓長N(t)を最大値Nmaxに設定する。
窓長算出部143が算出した窓長N(t)は長いほど分離行列Wの推定精度が向上するが、適応速度(adaptation speed)が遅くなる関係がある。上述のように、本実施形態によれば、分離行列Wの収束性が劣る場合に、窓長算出部143が短い窓長を算出して適応速度を速くし、分離行列Wの収束性が優れる場合に、長い窓長を算出して推定精度を向上させることができる。
【0091】
音源出力部15は、音源推定部131から入力された周波数毎の出力ベクトルが示すスペクトルをフレーム時刻毎に逆離散フーリエ変換して時間領域の出力信号を生成する。音源出力部15は生成した出力信号を音源分離装置1の外部に出力する。
【0092】
次に、本実施形態に係る音源分離装置1が行う音源分離処理について説明する。
図2は、本実施形態に係る音源分離処理を表すフローチャートである。
(ステップS101)音源定位部121は、収音部11から入力された多チャネル音響信号に基づき、例えばMUSIC法を用いて音源方向を推定する。
音源定位部121は、推定した音源方向を表す音源方向情報を音源変動検出部122、パラメータ選択部124及び音源推定部131に出力する。その後、ステップS102に進む。
【0093】
(ステップS102)音源変動検出部122は、収音部11から入力された多チャネル音響信号又は音源定位部121から入力された音源方向情報に基づき音源方向の変動状態を検出し、検出した変動状態を表す変動状態情報を生成する。
ここで、音源変動検出部122は、現在のフレーム時刻における音源方向と1フレーム時刻過去のその音源方向が、予め設定した角度の閾値θthを越えたとき、音源方向の切替わりの状態を表す変動状態情報を生成する。
音源変動検出部122は、予め定めたフレーム数だけ過去の時刻から1フレーム時刻過去まで一貫して音響信号のパワーが予め設定した閾値よりも小さく、現在の音響信号のパワーがその閾値を超えたとき、発話の状態と検出する。このとき、音源変動検出部122は、発話の状態を表す変動状態情報を生成する。
音源変動検出部122は、生成した変動状態情報をパラメータ選択部124、音源推定部131及び入力相関算出部141並びに出力相関算出部142に出力する。その後、ステップS103に進む。
【0094】
(ステップS103)音源変動検出部122が音源方向の切替わりの状態又は発話の状態を表す変動状態情報が出力したとき、音源分離装置1は、分離行列W及びこれを算出するためのパラメータを初期化する。初期化に係る具体的な処理については、後述する。その後、ステップS104に進む。
【0095】
(ステップS104)幾何誤差算出部132は、パラメータ選択部124から入力された伝達関数行列Dと音源推定部131から入力された分離行列Wに基づいて、例えば式(9)を用いて行列EGCを算出し、例えば式(8)を用いて幾何誤差行列J’GCを算出する。
幾何誤差算出部132は、算出した幾何誤差行列J’GCを第1ステップサイズ算出部133及び更新行列算出部136に出力し、算出した行列EGCを第1ステップサイズ算出部133に出力する。その後、ステップS105に進む。
【0096】
(ステップS105)第1ステップサイズ算出部133は、幾何誤差算出部132から入力された行列EGCと幾何誤差行列J’GCに基づいて、例えば式(10)を用いて第1ステップサイズμGCを算出する。第1ステップサイズ算出部133は、算出した第1ステップサイズμGCを更新行列算出部136に出力する。その後、ステップS106に進む。
【0097】
(ステップS106)分離誤差算出部134は、相関算出部14の出力相関算出部142から入力された出力相関行列Ryyに基づいて式(12)を用いて行列ESSを算出する。分離誤差算出部134は、算出した行列ESS、相関算出部14から入力された入力相関行列Rxx及び音源推定部131から入力された分離行列Wに基づいて、例えば式(11)を用いて分離誤差行列J’SSを算出する。
分離誤差算出部134は、算出した分離誤差行列J’SSを第2ステップサイズ算出部135及び更新行列算出部136に出力し、算出した行列ESSを第2ステップサイズ算出部135に出力する。その後、ステップS107に進む。
【0098】
(ステップS107)第2ステップサイズ算出部135は、分離誤差算出部134から入力された行列ESSと分離誤差行列J’SSに基づいて、例えば式(13)を用いて第2ステップサイズμSSを算出する。
第2ステップサイズ算出部135は、算出した第2ステップサイズμSSを更新行列算出部136に出力する。その後、ステップS108に進む。
【0099】
(ステップS108)更新行列算出部136には、幾何誤差算出部132から幾何誤差行列J’GCが入力され、分離誤差算出部134から分離誤差行列J’SSが入力される。更新行列算出部136は、第1ステップサイズ算出部133から第1ステップサイズμGCが入力され、第2ステップサイズ算出部135から第2ステップサイズμSSが入力される。
更新行列算出部136は、幾何誤差行列J’GCと分離誤差行列J’SSを、第1ステップサイズμGCと第2ステップサイズμSSで重み付け加算してフレーム毎に更新行列ΔWを算出する。更新行列算出部136は、算出した更新行列ΔWを音源推定部131に出力する。その後、ステップS109に進む。
【0100】
(ステップS109)音源推定部131は、現フレーム時刻tにおける分離行列Wに、更新行列算出部136から入力された更新行列ΔWを減算して、次のフレーム時刻t+1における分離行列Wを算出する。音源推定部131は、算出した分離行列Wを幾何誤差算出部132、分離誤差算出部134及び出力相関算出部142に出力する。その後、ステップS110に進む。
【0101】
(ステップS110)音源変動検出部122から入力された音源変動情報が音源方向の切替わりを表すとき、直前に算出した分離行列Wを最適分離行列Woptとして自部が備える記憶部に記憶し、音源推定部131は、分離行列Wを初期化する。分離行列Wを初期化する処理については後述する。その後、ステップS111に進む。
【0102】
(ステップS111)入力相関算出部141は、窓長算出部143から入力された窓長N(t)に基づき、サンプル時刻t毎に、収音部11から入力された多チャネル音響信号の入力相関行列の瞬時値R(i)xx(t)を、例えば式(14)を用いて算出する。
入力相関算出部141は、窓長N(t)に基づき、例えば式(16)を用いて減衰パラメータα(t)を算出する。
入力相関算出部141は、算出した減衰パラメータα(t)と入力相関行列の瞬時値R(i)xx(t)に基づき、現在のサンプル時刻の入力相関行列Rxx(t)を、例えば式(15)を用いて算出する。
入力相関算出部141は、サンプル時刻毎に算出した時間領域の入力相関行列Rxx(t)を出力相関算出部142に出力し、フレーム毎に周波数領域の入力相関行列Rxxを分離誤差算出部134に出力する。その後、ステップS112に進む。
【0103】
(ステップS112)出力相関算出部142は、入力相関算出部141から入力された時間領域の入力相関行列Rxx(t)と音源推定部131から入力された分離行列Wに基づいて、例えば式(17)を用いて時間領域の出力相関行列Ryy(t)を算出する。
出力相関算出部142は、算出した時間領域の出力相関行列Ryy(t)を窓長算出部143に出力し、周波数領域の出力相関行列Ryy(t)を分離誤差算出部134に出力する。その後、ステップS113に進む。
【0104】
(ステップS113)窓長算出部143は、出力相関算出部142から入力された出力相関行列Ryy(t)に基づき、例えば式(18)を用いて窓長N(t)を算出し、算出した窓長N(t)を入力相関算出部141に出力する。その後、ステップS114に進む。
【0105】
(ステップS114)音源推定部131は、収音部11から入力された多チャネル音響信号を構成するチャネル毎の音響信号をフレーム単位で離散フーリエ変換を行い周波数領域に変換し、入力ベクトルxを周波数毎に算出する。
音源推定部131は、算出した入力ベクトルxに分離行列Wを乗算して出力ベクトルyを周波数毎に算出する。音源推定部131は、出力ベクトルyを音源出力部15に出力する。
音源出力部15は、音源推定部131から入力された周波数毎の出力ベクトルが示すスペクトルをフレーム時刻毎に逆離散フーリエ変換して時間領域の出力信号を生成する。音源出力部15は生成した出力信号を音源分離装置1の外部に出力する。その後、処理を終了する。
【0106】
次に、本実施形態に係る音源分離装置1が行う初期化処理について説明する。
図3は、本実施形態に係る初期化処理を表すフローチャートである。
(ステップS201)パラメータ選択部124は、音源方向の切替わりの状態、又は発話の状態を表す変動状態情報が入力されたとき、音源定位部121から入力された音源方向情報が表す各音源方向に最も近似する音源方向を表す音源方向情報に対応する伝達関数ベクトルを伝達関数記憶部123から読み出す。パラメータ選択部124は、読み出した伝達関数ベクトルを用いて伝達関数行列を構成し、構成した伝達関数行列を音源推定部131及び幾何誤差算出部132に出力する。その後、ステップS202に進む。
(ステップS202)パラメータ選択部124は、構成した伝達関数行列に基づき、例えば式(5)を用いて初期分離行列Winitを算出し、算出した初期分離行列Winitを音源推定部131に出力する。その後、ステップS203に進む。
【0107】
(ステップS203)音源推定部131は、音源変動検出部122から音源方向の切替わり、又は発話の状態を表す変動状態情報を入力された場合のいずれか、あるいは音源方向の切替わり及び発話の状態を表す変動状態情報を入力された場合か判断する。
音源推定部131は、音源変動検出部122から音源方向の切替わり又は発話の状態を表す変動状態情報を入力された場合のいずれかであると判断した場合(ステップS203 Y)、ステップS204に進む。音源推定部131は、音源変動検出部122から音源方向の切替わり及び発話の状態を表す変動状態情報を入力された場合と判断した場合(ステップS203 N)、ステップS205に進む。
【0108】
(ステップS204)音源推定部131は、音源定位部121から入力された音源方向情報に対応する最適分離行列Woptを記憶部から読み出し、読み出した最適分離行列Woptを分離行列Wとして設定する。その後、ステップS206に進む。
(ステップS205)音源推定部131は、直前に算出した分離行列Wを最適分離行列Woptとして記憶部に記憶する。音源推定部131は、パラメータ選択部124から入力された初期分離行列Winitを分離行列Wとして設定する。その後、ステップS206に進む。
【0109】
(ステップS206)入力相関算出部141は、音源変動検出部122から音源の切替わりの状態を表す変動状態情報、又は発話の状態を表す変動状態情報を入力された場合、入力相関行列Rxxの初期値として単位行列に設定する。その後、ステップS207に進む。
【0110】
(ステップS207)出力相関算出部142は、音源変動検出部122から音源の切替わりの状態を表す変動状態情報、又は発話の状態を表す変動状態情報を入力された場合、周波数領域の出力相関行列Ryyの初期値として単位行列に設定する。その後、初期化に係る処理を終了する。
【0111】
次に、本実施形態にかかる音源分離装置1から取得した出力信号を用いて音声認識を行った結果について説明する。音源分離装置1は、人型ロボットに備えられ、収音部11は、ロボットの頭部に設置した。音源分離装置1からの出力信号を音声認識システムに入力した。音声認識システムでは、ミッシングフィーチャ理論に基づく自動音声認識方法(missing feature theory based automatic speech recognition;MFT−ASR)を採用した。音声認識に用いる音響モデル(acoustic model)として、日本語新聞記事読み上げ音声コーパス(Japanese Newspaper Article Sentences;JNAS)を用いた。このコーパスは、60分以上の音声データからなる。
【0112】
第1の実験(Experiment 1;Ex.1)では、音声認識システムに備えたれた単語データベースに含まれる236個の単語を2名の発話者(speaker)に、単語毎に区切って発声させ、孤立単語認識(isolated word recognition)における単語正答率(word correct rate)を調べた。従って、本実験では、この2名の発話者が音源となり、音源が2個とは、2名が同時に発声した場合、音源が1個とは、2名のうちいずれか一方が発声した場合を指す。
【0113】
次に第1の実験において発話者が発話する位置について説明する。
図4は、発話者の発話位置の一例を示す概念図である。
図4において、水平方向をx方向とし、垂直方向をy方向とする。
図4に示すように、第1の実験では、ロボット201をy座標の負方向を正面方向として向け、動作音を発生させずに静止させた。一方の発話者202は、ロボット201の正面前方から60°左前方に静止した状態で発話した。他方の発話者203は、ロボットの正面前方0°から右側方−90°にかけて移動しながら発話する。ここで、音源分離装置1は、空間音源分離(geometric sound separation;GSS)、ステップサイズ適応(adaptive step size;AS)、AS・OCRA(optima controlled recursive average;最適制御再帰平均)の3通りのうち何れかの動作モードで動作させた。
【0114】
動作モードGSSでは、第1ステップサイズ算出部133及び第2ステップサイズ算出部135を動作させずにステップサイズμGC、μSSを予め定めた一定値に固定し、相関算出部14の窓長算出部143を動作させずに窓長N(t)を固定した。
動作モードASでは、第1ステップサイズ算出部133及び第2ステップサイズ算出部135を動作させてステップサイズμGC、μSSを逐次に算出し、相関算出部14の窓長算出部143を動作させずに窓長N(t)を固定した。
動作モードAS・OCRAでは、第1ステップサイズ算出部133及び第2ステップサイズ算出部135を動作させてステップサイズμGC、μSSを逐次に算出し、相関算出部14の窓長算出部143を動作させ窓長N(t)を逐次に算出した。
【0115】
次に、本実施形態に係る単語正答率の一例について説明する。
図5は、本実施形態に係る単語正答率の一例を示す図である。
図5において、最左列から3番目の列から順に、動作モードがGSS、AS、AS・OCRAの場合の単語正答率を示し、最上列から順に、音源が1個の場合であって、静止している利用者、移動している利用者、音源が2個の場合であって、静止している利用者、移動している利用者を示す。
図5によれば、静止している利用者と移動している利用者の間で比較すると、各動作モード、各音源数について単語正答率は同様である。動作モードGSS、AS及びAS・OCRA間で比較すると、GSSについて最も単語正答率が低くなり、AS・OCRAについて最も単語正答率が高くなる。但し、AS及びAS・OCRA間の差異は、GSS及びAS間の差異よりも小さい。図5に示す結果によれば、とりわけ、動作モードASを導入することにより有効に音源が分離でき単語正答率を向上させることができることを示す。
【0116】
音源数間で比較すると、音源が1個のほうが2個の場合よりも単語正答率が高い。GSSでも音源が1個であれば、90%以上の認識が得られる。このことは、音源が1個(例えば、比較的雑音が少ない環境)であれば、本実施形態により有効に音源が分離できることを示す。また、音源が2個の場合でも動作モードASやOCRAを導入することで、単語正答率を向上できることが示される。
【0117】
第2の実験(Experiment 2;Ex.2)では、10名の利用者の各々に日本音響学会音韻均衡日本語文型コーパス(ASJ phonetically−balanced Japanese sentence corpus)から選択された50個の文章を発話させた。この場合において、第2の実験では、単語正解精度(word accuracy)を調べた。単語正解精度Waは、式(19)を用いて定義される。
【0118】
【数19】

【0119】
式(19)において、Numは、利用者が発話した単語数である。Subは、置換誤り(substitution error)の数である。置換誤りとは、発話した単語と異なる単語に置き換えられたものと認識されることを意味する。Delは、脱落誤り(deletion error)の数である。脱落誤りとは、実際に発話されたにも関わらず認識されないことを意味する。Insは、挿入誤り(insertion error)の数である。挿入誤りとは、実際に発話されていない単語が認識結果に現れることを意味する。第2の実験では、単語正解精度を分離行列の切替パターン毎に収集した。但し、比較のために、パラメータ選択部124が選択した伝達関数の代わりに、音源から収音手段までの距離に応じた位相に基づいて逐次に算出した伝達関数を用いた場合の結果も収集した。
【0120】
次に、第2の実験における発話者の発話位置について説明する。
図6は、発話者の発話位置のその他の例を示す概念図である。
図6において、水平方向をx方向とし、垂直方向をy方向とする。図6において、ロボット201を、y座標の負方向を正面として向きながら動作させた。このとき、ロボット201は、主として後方から動作に伴う自己騒音(ego−noise)を発生させる。
図6に示すように、第2の実験では、発話者204は、ロボット201の正面前方に静止しながら発話する。もしくは、発話者204は、ロボットの右前方−20°から左前方20°の間を移動しながら発話する。ここで、音源分離装置1は、上述のAS・OCRAの動作モードで動作させた。
【0121】
次に、本実施形態に係る単語正解精度の一例について説明する。
図7は、本実施形態に係る単語正解精度の一例を示す図である。
図7において、最左列から3番目の列から順に、静止、移動各々における単語正解精度を表す。静止とは利用者が静止しながら発話する場合、移動とは移動しながら発話する場合を意味する。
最左列は、伝達関数の切替モード、即ち、パラメータ選択部124が入力された変動状態情報、即ち、音源方向の切り替わりの状態(POS)、発話の状態(ID)及び上述のように伝達関数を算出した場合(CALC)の何れかを示す。最左列から2番目の列は、分離行列Wの切替モード、即ち、音源推定部131が、入力された変動状態情報、即ち、音源方向の切り替わりの状態(POS)、発話の状態(ID)又は音源方向の切り替わりの状態と発話の状態両方(ID_POS)に従って、分離行列Wを初期化した場合の何れかを示す。
【0122】
図7の結果は、音源方向の切り替わりの状態や発話の状態を検知した分離行列Wを初期化すれば、上述のように伝達関数を算出した場合よりも、単語認識精度が有意に向上することを表す。また、本実施形態では、単語認識精度が、伝達関数の切替モードや分離行列Wの切替モードの依存性が比較的少ないことを表す。即ち、本実施形態に係る音源分離装置1により分離行列Wの推定が、音源の移動に追従できていることを表す。
また、分離行列Wの切替モードがIDの場合、利用者が移動している場合に単語認識精度が他の切替モードより高い反面、利用者が静止している場合には単語認識精度が他の切替モードより低い。これにより、音源位置が顕著に移動しない場合には、音源推定部131は、初期分離行列Winitよりも、最適分離行列Woptを用いて分離行列Wを設定することが好ましいことを示す。また、音源位置が移動する場合には、音源推定部131は、初期分離行列Winitを用いて分離行列Wを設定することが好ましいことを示す。
【0123】
このように、本実施形態によれば、入力信号に基づき音源の変動を表す変動状態情報を生成し、生成した変動状態情報に基づいて伝達関数を読み出し、読み出した伝達関数を用いて初期分離行列を算出し、算出した初期分離行列を用いて、入力信号に対して音源分離を行う。
これにより、音源の変動に基づいて読み出した伝達関数を用いて初期分離行列を音源分離に用いるため、音源が変動しても音響信号を分離することができる。
【0124】
また、本実施形態によれば、入力信号に対して音源分離を行う分離行列を逐次に更新し、分離行列の更新量に基づいて分離行列が収束したか否か判断し、分離行列が収束したと判断したとき分離行列を記憶しておき、初期分離行列の代わりに記憶した分離行列を初期値とする。
これにより、分離行列が収束した場合には、以前に収束した場合の分離行列を初期分離行列の代わりに用いるため、分離行列を設定した後でも分離行列が収束する状態が維持される。そのため、音響信号を高精度で分離することができる。
【0125】
また、本実施形態によれば、変動状態情報として、音源方向が予め設定された閾値よりも大きく変化したことを検出して、音源方向の切り替わりを表す情報を生成する。
これにより、音源方向の切り替わりに伴い初期分離行列を設定することができる。
【0126】
また、本実施形態によれば、変動状態情報として、入力信号の振幅が予め設定された閾値よりも大きくなったことを検出して、発話が開始したことを表す情報を生成する。
これにより、発話の開始に伴い初期分離行列を設定することができる。
【0127】
また、本実施形態によれば、指標値として、一の音源が他の音源として分離される度合いを表す分離尖鋭度及び出力信号と音源信号との誤差の度合いを表す幾何制約関数のうち少なくとも一方に基づくコスト関数を用いる。
これにより、1つの音源として他の音源による成分が混在する度合い、又は分離誤差を低減することができる。
【0128】
また、本実施形態によれば、コスト関数として、分離尖鋭度と幾何制約関数を重み付け加算したコスト関数を用いる。
これにより、1つの音源として他の音源による成分が混在する度合いを低減し、かつ分離誤差を低減することができる。
【0129】
なお、上述した実施形態における音源分離装置1の一部、例えば、音源定位部121、音源変動検出部122、パラメータ選択部124、音源推定部131、幾何誤差算出部132、第1ステップサイズ算出部133、分離誤差算出部134、第2ステップサイズ算出部135、更新行列算出部136、入力相関算出部141、出力相関算出部142及び窓長算出部143をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、音源分離装置1に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
また、上述した実施形態における音源分離装置1の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現しても良い。音源分離装置1の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【0130】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0131】
1…音源分離装置、11…収音部、12…パラメータ切替部、121…音源定位部、
122…音源変動検出部、123…伝達関数記憶部、124…パラメータ選択部、
13…音源分離部、131…音源推定部、132…幾何誤差算出部、
133…第1ステップサイズ算出部、134…分離誤差算出部、
135…第2ステップサイズ算出部、136…更新行列算出部、
14…相関算出部、141…入力相関算出部、142…出力相関算出部、
143…窓長算出部、
15…音源出力部

【特許請求の範囲】
【請求項1】
収音部から入力された入力信号に基づき音源の変動を表す変動状態情報を生成する音源変動検出部と、
前記音源変動検出部が生成した変動状態情報に基づいて初期分離行列を算出するパラメータ選択部と、
前記パラメータ選択部が算出した初期分離行列を用いて、前記収音部から入力された入力信号に対して音源分離を行う音源分離部と、
を備えることを特徴とする音源分離装置。
【請求項2】
音源からの伝達関数を記憶する伝達関数記憶部を備え、
前記パラメータ選択部は、前記伝達関数記憶部から伝達関数を読み出し、読み出した前記伝達関数を用いて前記初期分離行列を算出することを特徴とする請求項1に記載の音源分離装置。
【請求項3】
前記音源変動検出部は、前記変動状態情報として、音源方向が予め設定された閾値よりも大きく変化したことを検出して、音源方向の切り替わりを表す情報を生成することを特徴とする請求項1に記載の音源分離装置。
【請求項4】
前記音源変動検出部は、前記変動状態情報として、前記入力信号の振幅が予め設定された閾値よりも大きくなったことを検出して、発話が開始したことを表す情報を生成することを特徴とする請求項1に記載の音源分離装置。
【請求項5】
前記音源分離部は、前記指標値として、一の音源が他の音源として分離される度合いを表す分離尖鋭度及び前記出力信号と前記音源信号との誤差の度合いを表す幾何制約関数のうち少なくとも一方に基づくコスト関数を用いて前記分離行列を更新することを特徴とする請求項1ないし4のいずれか1項に記載の音源分離装置。
【請求項6】
前記音源分離部は、前記コスト関数として、前記分離尖鋭度と前記幾何制約関数を重み付け加算したコスト関数を用いることを特徴とする請求項5に記載の音源分離装置。
【請求項7】
音源からの伝達関数を記憶する伝達関数記憶部を備える音源分離装置における音源分離方法において、
前記音源分離装置が、収音部から入力された入力信号に基づき音源の変動を表す変動状態情報を生成する過程と、
前記音源分離装置が、前記生成した変動状態情報に基づいて初期分離行列を算出する過程と、
前記音源分離装置が、前記算出した初期分離行列を用いて、前記収音部から入力された入力信号に対して音源分離を行う過程と、
を備えることを特徴とする音源分離方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−42953(P2012−42953A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2011−175396(P2011−175396)
【出願日】平成23年8月10日(2011.8.10)
【出願人】(000005326)本田技研工業株式会社 (23,863)