近年、テレビ会議装置や携帯電話などのような音声通信機器では、音質を向上させるために、所望の話者の音声を選択的に収音できるように、マイクロフォンアレーを利用して指向性を形成して収音することができるような装置が増えている。
マイクロフォンアレーを用いて指向性を形成する手法は公知であり、以下に、一例として遅延減算処理による方式の説明をする。
図10は、従来の遅延減算型マイクロフォンアレーの機能的構成の例について示したブロック図である。
本明細書では、2つのマイクロフォンm1、m2を結ぶ線に対する垂直平面を0度の方向と呼び、時計回りの方向を正の角度、反時計回りの方向を負の角度として方向を表すものとする。すなわち、上述の方向は−180度〜180度(−180度と180度は同じ方向)の範囲で表される。なお、以下では、0度の方向を前方、90度の方向を右方向、−90度の方向を左方向、180度(−180度)の方向は後方と表すものとする。
図10で図示した方向θから音波が到来し、マイクm1とマイクm2とが距離lだけ隔てて設置されているとする。この時、音波がマイクm1とマイクm2に到達するまでには時間差τが生じる。音の経路差をdとすると、d=l×sinθとなるため、この到達時間差τは、以下の(1)式で示すことができる。ただし、以下の(1)式においてcは音速を表わしている。
τ=l×sinθ/c …(1)
そして、s1(t)に上記の(1)式で算出したτだけ遅延を与えた信号s1(t−τ)は、s2(t)と同一の信号であるといえる。したがって、両者の差をとった信号y(t)=s2(t)−s1(t−τ)は、θ方向から到来した音が除去された信号となる。そして、結果として、図10に示すマイクロフォンアレーは図11のような指向特性を持つようになる。
図11に示すように、図10に示すマイクロフォンアレーは、θ方向から到来した音を除去するフィルタ(空間フィルタ)として機能している。言い換えると、このマイクロフォンアレーでは、フィルタの指向性をθ方向に向けて、θ方向から到来した音を抑圧している。以下では、マイクロフォンアレーにおいて、音を抑圧する方向を「死角」とも呼ぶものとする。
なお、ここでは時間領域での演算を記したが、周波数領域で行っても同様な効果が得られる。この場合の演算式は、以下の式(2)式の通りである。
なお、以下の(2)式において、Y(f)はy(t)を周波数領域に変換した信号である。また、X1(f)はs1(t)を周波数領域に変換した信号である。さらに、X2(f)は、s2(t)を周波数領域に変換した信号である。さらにまた、Sはサンプリング周波数である。また、NはFFT(高速フーリエ変換)分析フレーム長である。さらに、τはマイク間の音波到達時間差である。さらにまた、iは虚数単位である。
ところで、従来の図10に示すようなマイクロフォンアレー技術のみでは、背景雑音の抑圧効果が不十分である。この点を改良するための技術の一つとして、特許文献1の音源分離装置が挙げられる。
従来の音源分離装置の構成例を、図12を用いて説明する。なお、以降説明の簡単化のために、入力マイク数は2chとするが、必ずしもこの設定に限定されるものではない。
図12のように従来の音源分離装置E10は、FFT部E11、第1の指向性形成部E12、第2の指向性形成部E13、第3の指向性形成部E14、目的音選択部E15、周波数減算部E16、及びIFFT部E17を有している。
なお、本明細書では、当該装置(音源分離装置)の利用者(話者)の発する音声のことを「目的音」、当該装置の利用者以外の人物が発する音声のことを「妨害音」、オフィスノイズのような暗騒音を「背景音」、背景音と妨害音を合わせて「雑音」、目的音・妨害音・背景音の区別なくマイクから入力される信号全てを「入力信号」と呼ぶものとする。また目的音は、概ね前方(0度の方向)から到来するものとして説明する。
まず、音源分離装置E10では、マイクm1、マイクm2から、図示しないAD変換器を通して、入力信号s1(n)、s2(n)を取得したものとする。取得した2ch分の入力信号s1(n)、s2(n)は、FFT部E11で、それぞれ周波数領域信号X1(f)、X2(f)に変換されるものとする。なお、X1(f)とX2(f)は複素数である。また、FFT部E11におけるFFT処理時の分析フレーム長は例えば、1024サンプルとしても良いが、これに限定されず、装置利用者の所望の長さに調整するようにしても良い。
次に第1の指向性形成部E12の処理について説明する。第1の指向性形成部E12は、X1(f)とX2(f)について、以下の(3)式のような演算を行い、出力信号B1(f)を得る。
図13は、第1の指向性形成部E12の指向性について示した説明図である。
第1の指向性形成部E12では、以下の(3)式の演算によって、図13でいうとマイクm1から取得した信号に遅延を付与し、右方向から到来する信号を消去している。たとえば、到来方向θを90度とした場合には、図13の太線のような指向性が形成される。
次に第2の指向性形成部E13の処理について説明する。第2の指向性形成部E13は、X1(f)とX2(f)について、以下の(4)式のような演算を行い、出力信号B2(f)を得る。
図14は、第2の指向性形成部E13の指向性について示した説明図である。
第2の指向性形成部E13では、以下の(4)式の演算によって、図14でいうとマイクm2から取得した信号に遅延を付与し、左方向から到来する信号を消去している。たとえば、到来方向θを−90度とした場合には、図14の太線のような指向性が形成される。
次に、第3の指向性形成部E14の処理について説明する。第3の指向性形成部E14では、X1(f)とX2(f)について、以下の(5)式のような演算を行い、出力信号B3(f)を取得し、これを雑音信号として取り扱う。
B3(f)=X1(f)−X2(f)…(5)
図15は、第3の指向性形成部E14の指向性について示した説明図である。
次に、上記の(5)式の意味を説明する。まず、マイクm1とマイクm2と音源との間の音響経路の時間差が小さい方位(例えば、前方)から到来する音は、各マイクで同程度のレベルで収音されるために、(5)式の減算によって相殺されるが、時間差が大きい方位(例えば、左右)から到来する信号はマイクm1とマイクm2の収音レベル差が生じるために相殺されない。このように、前後から到来する音は相殺されるのに対して、左右から到来する音は残留するので、図15の太線のような指向性が形成されることになる。今、目的音は前から到来すると仮定しているので、(5)式で得られる信号は目的音以外の信号、つまり雑音信号とみなすことができる。
次に、目的音選択部E15の処理について説明する。目的音選択部E15は、図16に示すような構成を備えており、図17に示すフローチャートに示す動作を行う。具体的には、目的音選択部E15は、B1(f)とB2(f)に以下の(6)式の演算を施して、信号P(f)を取得し、これを目的音信号とする。
P(f)=MIN[|B1(f)|,|B2(f)|]…(6)
なお、(6)式のMIN[x,y]は、xとyから小さい方を選択する演算を表しており、(6)式は周波数ごとにB1(f)とB2(f)のうちレベルが小さい方を選び出して、当該周波数における目的音成分とする、ということを表している。このような演算を施す理由は以下の通りである。
B1(f)とB2(f)の前方に対する収音感度は同等なので、両者は目的音を同程度に含んでいる。一方、前方以外から到来する雑音の収音性能には差が発生し、妨害音や背景音の発生源の方向に死角を向けている信号のほうが雑音の含有量は小さい。例えば、雑音源が右にある場合には、右に死角を持つB1(f)では雑音を除去できているので雑音含有量は少ないが、B2(f)は除去できていないので雑音を多く含んでいる。よって、B1(f)とB2(f)からレベルが小さい信号を選ぶことは、目的音を同程度に含んでいて、雑音成分の含み方には差がある二つの信号のうち、雑音成分がより少ない信号を選ぶことである、と言い換えることができる。従ってレベルが小さい信号の方が目的音として相応しいといえる。以上が、上記の(6)式によって目的音成分を推定する背景である。
次に、周波数減算部E16の処理について説明する。周波数減算部E16は、P(f)とB3(f)に、以下の(7)式のような演算を施してD(f)を得る。このような周波数減算部E16の処理により、雑音を含む目的音信号P(f)から雑音信号B3(f)が減算されるので、P(f)に残留している雑音成分を消去できる。
D(f)=P(f)−B3(f) …(7)
次に、IFFT部E17の処理について説明する。IFFT部E17は、D(f)を時間領域信号に変換(逆フーリエ変換)することで、雑音などが抑圧された出力信号y(t)が得られる。
(A)第1の実施形態
以下、本発明による音源分離装置、プログラム及び方法の第1の実施形態を、図面を参照しながら詳述する。
(A−1)第1の実施形態の構成
図1は、第1の実施形態の音源分離装置10の全体構成を示すブロック図である。なお、図1において、括弧内の符号は、後述する第2の実施形態においてのみ用いられる符号である。
音源分離装置10は、マイクから入力される入力信号から、雑音を分離(抑制)して、目的音を抽出するものである。音源分離装置10の用途は限定されるものではないが、例えば、音声認識装置や、携帯電話などの電話装置に搭載して、音声捕捉に用いるようにしても良い。具体的には、例えば、音源分離装置10を電話会議装置に搭載して、遠隔発話を行う複数の話者による混合音声から任意の話者の音声を目的音として分離したり、遠隔発話を行う話者の音声とその他の音との混合音から話者の音声を目的音として分離したりすることに用いるようにしても良い。
音源分離装置10は、マイクm1、m2、FFT部11、第1の指向性形成部12、第2の指向性形成部13、第3の指向性形成部14、目的音選択部15、周波数減算部16、IFFT部17、及び制御信号生成部18を有している。
音源分離装置10は、マイク等のハードウェア以外の構成要素に関しては、プロセッサ(CPU等)を有する装置に、実施形態の音源分離プログラムをインストールすることにより実現するようにしても良い。また、音源分離装置10の一部又は全部の構成要素について、専用のハードウェア(例えば、半導体チップ)を用いて実現するようにしても良い。
マイクm1、m2は、図12に示す従来の音源分離装置と同様のものを適用することができるので、詳しい説明を省略する。また、音源分離装置10におけるマイクm1、m2も、上述の図10と同様の配置となっているものとする。
なお、以下では、上述の従来技術の場合と同様に、2つのマイクm1、マイクm2を結ぶ線に対する垂直平面を0度の方向と呼ぶものとする。そして、0度の方向を前方、90度の方向を右方向、−90度の方向を左方向、180度(−180度)の方向は後方と表すものとする。また、以下では、音源分離装置10において、目的音が概ね前方(0度)から到来することを想定した構成であるものとして説明する。
第1の指向性形成部12及び第2の指向性形成部13は、目的音の成分が優勢となるスペクトルを得るための構成要素であり、それぞれ、妨害音が到来すると予測される方向(目的音が到来する方向とは、異なる方向)に死角を向けたフィルタである。
ここでは、第1の指向性形成部12は、上述の従来技術における第1の指向性形成部E12と同様に、右方向(90度の方向)を死角とするフィルタ(上述の図13参照)であるものとする。すなわち、第1の指向性形成部12は、X1(f)とX2(f)について、上記の(3)式のような演算を行い、出力信号B1(f)を得るものとする。
また、第2の指向性形成部13は、上述の従来技術における第2の指向性形成部E13と同様に、左方向(−90度の方向)を死角とするフィルタ(上述の図14参照)であるものとする。すなわち、第2の指向性形成部13は、X1(f)とX2(f)について、上記の(4)式のような演算を行い、出力信号B2(f)を得るものとする。
なお、上述の通り、音源分離装置10では、目的音は、概ね0度の方向から到来することが想定されているため、第1の指向性形成部12及び第2の指向性形成部13では、目的音が到来する方向とは異なる方向に、死角を向けているが、目的音が到来すると想定される方向に応じて、指向性形成部の数や適用する死角の組み合わせを変更するようにしても良い。
第3の指向性形成部14は、雑音の成分が優勢となるスペクトルを抽出するために目的音が到来する方向に死角を向けたフィルタである。具体的には、第3の指向性形成部14は、上述の従来技術における第3の指向性形成部E14と同様に、目的音の到来方向を含む所定の範囲内の方向にフィルタの死角を向けて、雑音信号を抽出するものとする。
ここでは、第3の指向性形成部14は、上述の第3の指向性形成部E14と同様に、前方向(0度の方向)を死角に含むフィルタ(上述の図15参照)であるものとする。すなわち、第3の指向性形成部14では、X1(f)とX2(f)について、上記の(5)式のような演算を行い、出力信号B3(f)を取得し、これを雑音信号として取り扱うものとする。
音源分離装置10では、雑音の成分が優勢となるスペクトルを抽出するために、第3の指向性形成部14を用いているが、用いる指向性形成部の数や適用する死角の組み合わせは限定されないものである。例えば、目的音が到来すると想定される方向を含む所定の範囲内の方向に死角を持つ指向性形成部を複数用いた構成としても良い。
目的音選択部15は、B1(f)とB2(f)から適当なものを選択し、これを目的音信号P(f)とするものである。目的音選択部15の具体的な処理については後述するが、制御信号生成部18の制御に応じた処理を行う点で、上述の従来技術における目的音選択部E15とは異なっている。
周波数減算部16は、上述の従来技術における周波数減算部E16と同様に、雑音信号を含む目的音信号P(f)から、雑音信号B3(f)を減算して、P(f)に残留している雑音成分を消去するものである。ここでは、周波数減算部16は、上述の従来技術における周波数減算部E16と同様に、P(f)とB3(f)に、上記の(7)式のような演算を施してD(f)を得るものとする。
IFFT部17は、上述の従来技術におけるIFFT部E17と同様に、D(f)を時間領域信号に変換(逆フーリエ変換)することで、雑音などが抑圧された出力信号y(t)を得るものである。
次に、制御信号生成部18について説明する。
制御信号生成部18の機能について説明する前に、まず、妨害音と雑音との関係について整理する。音源分離装置10において、「妨害音のレベルが小さい場合」とは、「妨害音が存在しない」、又は、「妨害音(話者以外の人間の声)の区間であっても、音声としての周波数成分が少ない」という場合に該当する。この場合の信号成分は、上述の図18のように背景音としての特性が強いので、そもそも目的音選択の処理を行うこと自体に意味が無い。それにも関わらず選択結果に寄与してしまうために、上述のような実際の音響環境と反する現象が発生してしまう。また、目的音選択部の動作は別の見方をすると、妨害音の到来方向(すなわち、目的音とは異なる到来方向)を推定し、その方向に死角を有する信号成分を選択している、と言い換えることもできる。したがって、前記課題は「妨害音のレベルが小さい場合には妨害音の到来方位の推定に失敗する」と換言できる。
したがって、音源分離装置10では、妨害音のみの区間で、妨害音のレベルが大きく音声としての信頼性が高い成分で妨害音到来方位の推定を行うようにし、信頼性が低い成分では信頼性が高い箇所での選択結果を流用するようにすることで先の課題を解決している。これを実現するために、音源分離装置10では、制御信号生成部18を設け、妨害音の到来方位の選択に相応しい信号成分を抽出し、目的音選択部15の選択動作を制御する制御信号を生成して、目的音選択部15に供給している。そして、目的音選択部15では、制御信号生成部18からの制御信号に従った選択動作を行っている。
図2は、制御信号生成部18の機能的構成について示した説明図である。
制御信号生成部18は、上述の通り、目的音選択部15での選択動作を制御する制御信号を生成するものであり、妨害音区間判定部181、信頼性判定部182、制御信号更新部183、及び制御信号送信部185を有している。
妨害音区間判定部181は、雑音信号B3(f)に基づいて、妨害音が発生している区間(以下、「妨害音区間」という)であるか、妨害音が発生していない区間(以下、「非妨害音区間」という)であるかを判定する。
なお、ここでいう「区間」とは、FFT部11で、入力信号を時間領域から周波数領域に変換する際における、時間領域上の処理単位の期間を表わすものとする。また、以下では、時間領域上での1区間分の信号を「フレーム」とも呼ぶものとする。妨害音検出部181では、区間ごとに妨害音区間にかかる判定を行う。
ここでは、例として、妨害音区間判定部181は、雑音信号B3(f)における雑音のレベル(以下「雑音レベルLv」という)を、以下の(8)式を用いて算出し、算出した雑音レベルLvを以下の(9)式に適用した判定を行う。すなわち、妨害音検出部181では、以下の(9)式に示すように、算出した雑音レベルLvについて所定の閾値(以下、「検出閾値Ψ」という)以上であれば妨害音区間と判定し、小さければ非妨害音区間(妨害音区間ではない)と判定する。雑音レベルLvは、時間領域上で当該区間の雑音のパワーを表わしたものとも言える。なお、雑音レベルLvの計算方法や判定方法については、これらの計算式に限定されるものではない。
信頼性判定部182では、入力信号X1(n)の周波数成分ごとのレベル|X1(f)|を観測し、所定の閾値(以下、「信頼性判定閾値Ξ」という)と比較する。そして、信頼性判定部182は、妨害音区間判定部181での判定の結果と組み合わせて、周波数成分ごとに、高信頼性成分か否かを判定する。
ここでは、妨害音区間判定部181により判定された結果当該フレームは妨害音区間であり、かつ、|X1(f)|が信頼性判定閾値Ξ以上の場合、信頼性判定部182は、その周波数成分は高信頼性成分と判定するものとする。そして、信頼性判定部182は、それ以外の周波数成分については、低信頼性成分(高信頼性成分でない)と判定するものとする。そして、信頼性判定部182は、上述の要領で判定した結果を、制御信号更新部183に与える。
ここで、信頼性判定部182における判定を、|X1(f)|の大小によって、判定する意図について説明する。音源分離装置10に入力される入力信号において音声成分の周波数特性は、上述の図18のように、極大値と極小値が繰り返される構造となっている。そして、入力信号において音声成分に雑音成分が重畳されている場合において、極小値近辺では雑音成分の特徴が優勢になってしまっていることがあるため、極小値近辺は後段の目的音選択部15による目的音選択動作に寄与させるに足る信頼性を有していないといえる。一方、入力信号における音声成分で、極大値近辺では、雑音成分にマスクされておらず(埋もれておらず)、音声成分の特徴を有している(雑音成分に対して音声成分が十分に大きい)ため、目的音選択動作に寄与させるに相応しいといえる。したがって、入力信号において、音声成分が極大値となる近辺の成分を選択する動作を簡易的に実現しているのが、所定の閾値より大きい|X1(f)|を選ぶ、という処理となる。なおX1(f)は妨害音だけでなく背景雑音も含むが、B3(f)のように指向性を有さないため背景雑音の特性がより正確に反映される。そのため、背景雑音成分による影響を判断するのに適した信号であるといえる。こうして、信頼性判定部182では、妨害音の到来方位の推定(後段の目的音選択)に寄与させるに足る「音声としての信頼性」を有する信号成分を選択することができる。
すなわち、ここでは信頼性判定部182は、以下の(10)式に示すように、|X1(f)|が、信頼性判定閾値Ξ以上の場合には、当該周波数成分について高信頼性成分と判定し、|X1(f)|が信頼性判定閾値Ξ未満の場合には、当該周波数成分について低信頼性成分と判定するものとする。ただし、上述の処理は、信頼性判定部182による信頼性判定方式の一例であり、これに限定されるものではない。例えば、以下の(10)式においてX1(f)をX2(f)に置き換えるようにしても良い。
そして、ここでは、信頼性判定部182は、各周波数成分(X1(f))と、当該周波数成分に係る信頼性判定結果(「1」又は「0」)とを対応付けたデータ配列(1フレーム分の各周波数成分に係る制御信号)を、判定結果情報として、制御信号更新部183に供給するものとする。
制御信号更新部183は、妨害音区間判定部181から受信した情報から妨害音区間か否かを判定し、妨害音区間という判定結果であれば、信頼性判定部182から受け取った信頼性判定結果を制御信号C[f]として、制御信号送信部185を介して目的音選択部15に出力する。
一方、制御信号更新部183は、妨害音区間判定部181から受け取った判定結果が、非妨害音区間という結果であれば、信頼性判定部182から受け取った信頼性判定結果を棄却し、制御信号C[f]=0として、制御信号送信部185を介して目的音選択部15に出力する。
次に、目的音選択部15の構成について説明する。
図3は、目的音選択部15の機能的構成について示した説明図である。
目的音選択部15は、音響信号及び制御信号受信部151、制御切替部152、最小値抽出部153、死角方位記憶部154、死角方位参照及び信号選択部155、目的音信号生成部156、及び目的音信号送信部157を有している。
音響信号及び制御信号受信部151は、B1(f)、B2(f)及び制御信号C[f]の入力を受付けて、制御切替部152に供給する。音響信号及び制御信号受信部151は、fが同一の値となるB1(f)、B2(f)、及び制御信号C[f]を一組のデータとして対応付けて、制御切替部152に与える。
そして、制御切替部152は、B1(f)及びB2(f)について、対応する制御信号C[f]の値に応じて、最小値抽出部153、又は、死角方位参照及び信号選択部155のいずれかに振り分ける。制御切替部152は、制御信号C[f]が1の場合には、対応するB1(f)及びB2(f)を、最小値抽出部153に振り分ける。また、制御切替部152は、制御信号C[f]が0の場合には、対応するB1(f)及びB2(f)を、死角方位参照及び信号選択部155に振り分ける。
最小値抽出部153は、B1(f)及びB2(f)が与えられると、以下の(11)式(上述の従来技術と同様の処理)によって、B1(f)とB2(f)のうちレベルが小さい方を採用し、信号A(f)として目的音信号生成部156に供給する。そして、最小値抽出部153は、B1(f)又はB2(f)のうち、以下の(11)式により選択された信号に対応する死角方位φ(f)を、死角方位記憶部154に記録する処理を行う。
なお、「死角方位」とは、B1(f)又はB2(f)に対応する指向性形成部のフィルタが音を抑圧する方向を示すものである。例えば、B1(f)に対応する第1の指向性形成部12の死角方位は90度(右方向)であるので、最小値抽出部153でB1(f)が選択された場合には、死角方位φ(f)は90度となる。一方、最小値抽出部153でB2(f)が選択された場合には、死角方位φ(f)は−90度(左方向)となる。なお、以下では、死角方位記憶部154への記録形式の例として、B1(f)に対応する第1の指向性形成部12の死角方位を「1」と表わし、B2(f)に対応する第2の指向性形成部13の死角方位を「2」と表わすものとする。
A(f)=MIN[|B1(f)|,|B2(f)|]…(11)
一方、死角方位参照及び信号選択部155は、B1(f)及びB2(f)が与えられると、死角方位記憶部154に記憶された死角方位φを参照して、その参照結果に基づき、B1(f)とB2(f)のうち、いずれかに対応する死角方位を採用するものとする。そして、死角方位参照及び信号選択部155は、B1(f)とB2(f)のうち、採用した死角方位に対応する方を、A(f)として目的音信号生成部156に供給する。
死角方位参照及び信号選択部155が、死角方位記憶部154の内容を参照する処理方式については限定されないものであるが、例えば、同一フレームの別周波数成分での死角方位を利用しても良いし、過去のフレームの周波数成分ごとに死角方位を記録しておき、該当する周波数成分ごとに過去の死角方位を参照するようにしてもよい。
目的音信号生成部156では、最小値抽出部153又は死角方位参照及び信号選択部155から供給された周波数成分ごとの信号A(f)を、周波数順に再構成して1フレーム分の目的音信号のP(f)として生成し、目的音信号送信部157を介して周波数減算部16に出力する。
(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態の音源分離装置10の動作(実施形態の音源分離方法)を説明する。
音源分離装置10では、マイクm1、マイクm2から入力された信号が、まず、FFT部11で時間領域から周波数領域に変換してX1(f)、X2(f)が形成され、さらに、第1の指向性形成部12、第2の指向性形成部13、及び第3の指向性形成部14により、所定の方位に死角を有する信号B1(f)、B2(f)、及びB3(f)が形成される。
そして、制御信号生成部18では、制御信号C[f]が生成され、目的音選択部15に供給される。
次に、制御信号生成部18の動作について説明する。
図4は、制御信号生成部18の動作について示したフローチャートである。
図4のフローチャートにおいて、F_INIとF_FINは周波数領域での演算処理の繰り返し回数を制御するための定数であり、装置利用者が任意に設定するようにしてもよい。ここでは、例として、F_INI=0、F_FIN=1023とするが、これに限定するものではない。また、図4のフローチャートでは、fを繰りかえし処理のための変数として用いており、繰り返す際に1ずつインクリメントしているが、インクリメントする単位はこれに限定されないものである(例えば、周波数領域に変換される際の最小単位としても良い)。また、図4のフローチャートでは、X1(f)、X2(f)について、1フレーム分(f=F_INI〜F_FIN=0〜1023)処理を行うことについて示している。
まず、制御信号生成部18では、fがF_INI(=0)に初期化される(S101)。
次に、制御信号生成部18では、fがF_FIN以下であるか否かが判定され(S102)、fがF_FIN以下と判定された場合には、後述するステップS103の処理から動作し、そうでない場合(f>F_FIN)の場合には、当該区間(フレーム)の処理を終了する。
上述のステップS102において、fがF_FIN以下であると判定された場合には、信頼性判定部182により、入力信号X1(n)に基づいて、当該周波数成分が高信頼性成分か否かが判定され、判定結果が制御信号更新部183に供給される。そして、制御信号更新部183では、妨害音判定部181による当該区間の判定結果が参照され(S103)、判定結果が妨害音区間だった場合には、後述するステップS104から動作し、そうでない場合(非妨害音区間の場合)には、後述するステップS105から動作する。なお、妨害音判定部181の判定処理については、周波数成分ごとではなく区間(フレーム)ごとに行うこと(すなわち1つの区間につき1回だけ行うこと)が望ましい。
妨害音判定部181の判定結果が妨害音区間の場合には、制御信号更新部183は、信頼性判定部182から供給された判定結果(1又は0)を、当該周波数成分に対応する制御信号C[f]として、制御信号送信部185を介して目的音選択部15に供給する(S104)。
一方、妨害音判定部181の判定結果が妨害音区間でない場合(非妨害音区間の場合)には、制御信号更新部183は、信頼性判定部182から受け取った信頼性判定結果は棄却し、制御信号C[f]=0として、目的音選択部15に供給する(S105)。
ステップS104、S105により、目的音選択部15へ制御信号C[f]が供給されると、制御信号生成部18では、変数fがインクリメント(f++、すなわち、f=f+1)され(S106)、上述のステップS102の処理から動作する。
以上のように、制御信号生成部18では、周波数成分ごとに制御信号C[f]が生成され、目的音選択部15に供給される。そして、目的音選択部15では、制御信号C[f]に応じて、B1(f)及びB2(f)に対する選択処理を行い、目的音信号P(f)を生成する。
次に、目的音選択部15の動作について説明する。
図5、図6は、目的音選択部15の動作について示したフローチャートである。
図5、図6のフローチャートにおける、定数F_INI、F_FIN、及び変数fは、上述の図4と同様のものである。また、図5、図6のフローチャートでは、B1(f)、B2(f)について、1フレーム(区間)分(f=F_INI〜F_FIN=0〜1023)処理を行うことについて示している。
まず、目的音選択部15では、fがF_INI(=0)に初期化される(S201)。
次に、目的音選択部15では、fがF_FIN以下であるか否かが判定され(S202)、fがF_FIN以下と判定された場合には、後述するステップS203の処理から動作し、そうでない場合(f>F_FIN)の場合には、当該区間の処理を終了する。
F_FIN以下と判定された場合には、制御切替部152により、B1(f)、B2(f)、及び制御信号C[f]の組のデータが読み込まれ、まず、制御信号C[f]の値が参照される。そして、制御切替部152では、制御信号C[f]の内容が確認され(S203)、制御信号C[f]=1であった場合には、後述するステップS204の処理から動作し、そうでない場合には、後述するステップS206の処理から動作する。
上述のステップS203において、制御信号C[f]=1と確認された場合には、制御切替部152は、その制御信号C[f]に対応するB1(f)及びB2(f)を、最小値抽出部153に供給する。そして、最小値抽出部153は、B1(f)又はB2(f)のいずれかを、上記の(11)式により選択して、信号A(f)として生成する(S204)。
そして、最小値抽出部153は、B1(f)又はB2(f)のうち、上述のステップS204で信号A(f)として選択したものに対応する死角方位を示すパラメータを、死角方位記憶部154に記録する処理を行う(S205)。
次に、ステップS205における最小値抽出部153による処理の例について、図6を用いて行う。
最小値抽出部153は、まず、上述のS204で信号A(f)としてB1(f)が選択されていたか否かを判定する(S301)。そして、上述のS204で信号A(f)としてB1(f)が選択されていた場合には、最小値抽出部153は、B1(f)に対応する死角方位を示すパラメータ「1」を、当該周波数成分に対応する死角方位φ(f)として決定する(S302)。一方、上述のS204で信号A(f)としてB1(f)が選択されていなかった場合(すなわち、B2(f)が選択されていた場合)には、最小値抽出部153は、B2(f)に対応する死角方位を示すパラメータ「2」を、当該周波数成分に対応する死角方位φ(f)として決定する(S303)。そして、最小値抽出部153は、ステップS302又はS303で決定した当該周波数成分に対応する死角方位φ(f)のパラメータを、死角方位記憶部154に記録する(S304)。
最小値抽出部153は、以上のような処理で、死角方位φ(f)を、死角方位記憶部154に記録する処理を行う。
一方、上述のステップS203において、制御信号C[f]=1でないと確認された場合(制御信号C[f]=0の場合)には、制御切替部152は、その制御信号C[f]に対応するB1(f)及びB2(f)を、死角方位参照及び信号選択部155に供給する。そして、死角方位参照及び信号選択部155は、死角方位記憶部154の内容を参照し、その参照結果に基づいてB1(f)又はB2(f)のいずれかを選択し、信号A(f)として生成する(S206〜S209)。上述の通り、死角方位参照及び信号選択部155により参照される死角方位記憶部154の内容、及び、B1(f)又はB2(f)の選択方法については限定されないものである。ここでは、例として、ステップS206で、同一フレーム内の任意の死角方位(例えば、当該周波数fともっとも近い周波数に対応する死角方位)を読み込むものとする。そして、ステップS207〜S209の処理により、B1(f)又はB2(f)のうち、読み込んだ死角方位に対応するものを選択し、信号A(f)として生成している。
そして、最小値抽出部153(上述のステップS204)、又は、死角方位参照及び信号選択部155(ステップS206〜S209)により生成された信号A(f)が、目的音信号P(f)として、目的音信号送信部157を介して、周波数減算部16に供給される(S210)。
上述のステップS210により、周波数減算部16へ、目的音信号P(f)が供給されると、目的音選択部15では、変数fがインクリメント(f++、すなわち、f=f+1)され(S211)、上述のステップS202の処理から動作する。
以上のように、目的音選択部15では、1フレーム分の目的音信号P(f)が生成される。
そして、周波数減算部16では、目的音選択部15から目的音信号P(f)の供給を受けると、目的音信号P(f)から、雑音信号B3(f)が減算され、雑音除去後信号D(f)が算出され、IFFT部17に供給される。そして1フレーム分の雑音除去後信号D(f)は、IFFT部17で時間領域信号y(t)に変換されることで、音源分離装置10による音源分離処理は終了する。
(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
音源分離装置10では、妨害音の到来方位を正確に推定して、適切な目的音を生成するために相応しい成分を、制御信号生成部18によって事前に選別し、その結果に基づいて制御信号C[f]を生成し、これに基づいて目的音選択部15による目的音選択処理(妨害音の死角方位の推定)を制御している。これにより、従来技術における、同一フレーム内で生じていた周波数ごとの死角方位の不一致や、実際の音響環境とは無関係な死角方位の変動が軽減され、最終出力音の歪みが解消される。したがって、第1の実施形態の音源分離装置10では、従来技術と比較して、分離処理後の音の品質低下を抑制することができる。例えば、これにより、第1の実施形態の音源分離装置10をテレビ会議システムや携帯電話などの通信装置に適用することで、通話音質の向上が期待できる。
(B)第2の実施形態
以下、本発明による音源分離装置、プログラム及び方法の第2の実施形態を、図面を参照しながら詳述する。
第1の実施形態での、制御信号生成部18は、妨害音の大小のみを基準として制御信号を生成している。しかし、装置利用者(話者)が話している場合には、側方からの妨害音だけでなく、前方からの目的音も入力されることになる。目的音選択部15の選択動作は、言い換えれば、妨害音の到来方位の推定にあたるが、この方位推定にとって目的音は外乱要因となりうる(側方から到来する音だけを捕捉したいのに、前方から音が到来するため)。そのため、第1の実施形態では、目的音が存在することによって、目的音選択部15の選択動作に影響が出る場合があり、この結果、従来技術と同様の課題が再発してしまい、音質が低下してしまうという問題があった。以下、第2の実施形態において、このような課題を解決する構成について説明する。
(B−1)第2の実施形態の構成
第2の実施形態の音源分離装置10Aの機能的構成も上述の図1を用いて示すことができる。なお、図1において、括弧内の符号は、第2の実施形態においてのみ用いられる符号である。
以下、第2の実施形態について、第1の実施形態との差異について説明する。
第2の実施形態では、制御信号生成部18が制御信号生成部18Aに置き換わっている点で、第1の実施形態と異なっている。
図7は、制御信号生成部18Aの機能的構成について示したブロック図である。
制御信号生成部18Aは、妨害音区間判定部181、制御信号更新部183が、それぞれ、非目的音区間及び妨害音区間判定部186、制御信号更新部183Aに置き換わっている点で、第1の実施形態の制御信号生成部18と異なっている。
非目的音区間及び妨害音区間判定部186では、1フレーム分の入力信号X1(f)と雑音信号B3(f)が入力されると、以下の(12)式により、2つの信号のレベル差を示すTLvを算出することで、近似的ではあるが目的音のレベルを得ることができる。
ここで、以下の(12)式で、近似的に目的音レベルが計算できる理由を補足する。X1(f)は前後左右の音を全指向性で取得した信号で、B3(f)は左右から到来する雑音信号であるので、両者の差を計算すると、前後の信号成分のみが残る。今、目的音は前方から到来することを想定しているので、残った信号は目的音であることが期待できる。
すなわち、非目的音区間及び妨害音区間判定部186では、得られたTLvの大きさが一定以上であれば目的音区間であり、そうでなければ非目的音区間であると判定することができる。
ここでは、例として、算出したTLvを、以下の(13)式に適用した判定を行う。すなわち、非目的音区間及び妨害音区間判定部186では、以下の(13)式に示すように、算出したTLvについて所定の閾値(以下、「検出閾値Г」という)以上であれば目的音区間と判定し、小さければ非目的音区間と判定するものとする。なお、目的音区間の判定方法については、これらの計算式に限定されるものではない。例えば、上記の(12)式においてX1(f)をX2(f)に置き換えて同様の処理を行うようにしても良い。
このように、非目的音区間及び妨害音区間判定部186では、目的音区間の情報を推定し、制御信号更新部183Aに供給する。そして、非目的音区間及び妨害音区間判定部186では、さらに、第1の実施形態の妨害音判定部181と同様の妨害音区間の判定処理も行い、その判定結果も制御信号更新部183Aに供給する。
その結果、制御信号更新部183Aでは、「非目的音区間で、かつ、妨害音区間」という区間を検出することができる。
そして、制御信号更新部183Aは、非目的音区間及び妨害音区間判定部186から供給された情報から、「非目的音区間で、かつ、妨害音区間」に該当するか否かを識別し、該当する区間であれば、信頼性判定部182から受け取った信頼性判定結果を制御信号C[f]として、制御信号送信部185を介して目的音選択部15に出力する。
一方、制御信号更新部183Aは、非目的音区間及び妨害音区間判定部186から供給された情報から、「非目的音区間で、かつ、妨害音区間」に該当しない区間であれば、第1の実施形態と同様に、信頼性判定部182から受け取った信頼性判定結果は棄却し、制御信号C[f]=0として、制御信号送信部185を介して目的音選択部15に出力するものとする。
(B−2)第2の実施形態の動作
次に、以上のような構成を有する第2の実施形態の音源分離装置10Aの動作(実施形態の音源分離方法)を説明する。
第2の実施形態の音源分離装置10Aは、上述の通り、第1の実施形態と異なるのは制御信号生成部18Aだけであるため、以下では、制御信号生成部18Aの動作についてのみ説明する。その他の部分の動作は第1の実施形態と同様であるので、詳しい説明は省略する。
図8は、制御信号生成部18Aの動作について示したフローチャートである。
図8のフローチャートにおける、定数F_INI、F_FIN、及び変数fは、上述の図4と同様のものである。また、図8のフローチャートでは、B1(f)、B2(f)について、1フレーム分(f=F_INI〜F_FIN=0〜1023)処理を行うことについて示している。
まず、制御信号生成部18Aでは、fがF_INI(=0)に初期化される(S401)。
次に、制御信号生成部18Aでは、fがF_FIN以下であるか否かが判定され(S402)、fがF_FIN以下と判定された場合には、後述するステップS403の処理から動作し、そうでない場合(f>F_FIN)の場合には、当該区間の処理を終了する。
上述のステップS402において、fがF_FIN以下であると判定された場合には、信頼性判定部182により、入力信号X1(n)に基づいて、当該周波数成分が高信頼性成分か否かが判定され、判定結果が制御信号更新部183Aに供給される。そして、制御信号更新部183Aでは、非目的音区間及び妨害音区間判定部186による当該区間の判定結果が参照され(S403)、「非目的音区間で、かつ、妨害音区間」という判定結果だった場合には、後述するステップS404から動作し、そうでない場合には、後述するステップS405から動作する。なお、非目的音区間及び妨害音区間判定部186による判定処理については、周波数成分ごとではなく区間(フレーム)ごとに行うこと(すなわち1つの区間につき1回だけ行うこと)が望ましい。 当該区間が「非目的音区間で、かつ、妨害音区間」に該当する場合には、制御信号更新部183Aは、信頼性判定部182から供給された判定結果(1又は0)を、当該周波数成分に対応する制御信号C[f]として、制御信号送信部185を介して目的音選択部15に供給する(S404)。
一方、当該区間が「非目的音区間で、かつ、妨害音区間」に該当しない場合には、制御信号更新部183Aは、信頼性判定部182から受け取った信頼性判定結果は棄却し、制御信号C[f]=0として、目的音選択部15に供給する(S405)。
ステップS404、S405により、目的音選択部15へ制御信号C[f]が供給されると、制御信号生成部18Aでは、変数fがインクリメント(f++、すなわち、f=f+1)され(S406)、上述のステップS402の処理から動作する。
以上のように、制御信号生成部18Aでは、周波数成分ごとに制御信号C[f]が生成され、目的音選択部15に供給される。
(B−3)第2の実施形態の効果
第2の実施形態によれば、第1の実施形態の効果に加えて以下のような効果を奏することができる。
第2の実施形態の音源分離装置10Aでは、装置利用者(話者)が話していない区間(非目的音区間)を検出し、その区間において妨害音の到来方位を推定するようにしたため、目的音と妨害音が同時に存在する場合に発生する目的音選択部15での判定ミスを解消することができる。これにより、第2の実施形態の音源分離装置10Aでは、分離処理後の音の品質低下を、第1の実施形態よりも抑制することができる。
(C)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(C−1)上記の各実施形態では、信頼性判定部で、フレーム内の全ての周波数成分について信頼性判定を行っているが、一部の周波数成分についてだけ信頼性判定を行うようにしても良い。以下、その場合の変形例について説明する。
音声の周波数特性は、高周波数成分になるほど振幅が小さくなるため、図9に示すように、背景音に埋もれてしまう場合が多く、全般的に信頼性は低い。また、マイクロフォンアレーには、空間サンプリング定理により、境界周波数(マイク間隔に依存)よりも高い周波数成分は現実の音響特性を再現できない、という原理的な課題があるので、この意味でも目的音選択に寄与させるに足る信頼性を保持しているとはいえない。
そこで、上記の各実施形態の音源分離装置では、閾値(以下、「閾値Tf」と呼ぶものとする)以上の周波数の成分に対しては制御信号生成部の動作を停止させてしまい、はじめから同一フレーム内の高信頼性成分の結果を適用するように設定してもよい。これにより、制御信号生成部の演算量を削減するという効果を奏する。具体的には、例えば、制御信号生成部に上述の処理を行う「演算実行判定部」を設け、周波数が閾値Tfよりも小さければ制御信号生成演算を実行し、そうでなければ停止するように制御しても良い。
閾値Tfとして適用する値は限定されないものであるが、例えば、背景音の大きさに応じた閾値や、空間サンプリング定理から算出した閾値を適用するようにしても良い。なお空間サンプリング定理によって、閾値を計算する場合には、以下の(14)式を用いるようにしても良い。なお、以下の(14)式において、lはマイク間距離であり、cは音速を示している。
Tf=c/2l …(14)
(C−2)上記の各実施形態の音源分離装置で、周波数領域で行っている処理について、一部を時間領域で行うようにしても良い。
(C−3)第1の実施形態の「妨害音区間判定部」及び「信頼性判定部」で用いられる判定閾値や、第2の実施形態の「非目的音区間」及び「妨害音区間判定部」で用いられる判定閾値については、固定値ではなく、適応的に変動させるようにしてもよい。例えば、各判定閾値として、周波数ごとに異なる値を適用するようにしても良い。
(C−4)上記の各実施形態では、音源分離装置に入力される入力信号は、マイクが捕捉してアナログ/ディジタル変換されたものとして説明したが、マイクを省略して、他の方法により入力するようにしても良い。例えば、記録媒体などから読み出されたものであっても良いし、他の装置から通信によって与えられたものであっても良い。すなわち、音源分離装置10において、X1(f)、X2(f)が保持できれば、マイクやFFT部を省略した構成としても良い。
また、音源分離装置の信号の出力形式についても限定されないものであり、例えば、IFFT部を省略して、周波数領域で表わされた信号をそのまま出力するようにしても良い。
(C−5)第1の実施形態では、制御信号C[f]の生成にあたって、信頼性判定部の判定結果と、妨害音区間判定部の判定結果を反映しているが、信頼性判定部の判定結果だけに基づいて制御信号C[f]を生成するようにしても良い。例えば、信頼性判定部の判定結果が高信頼性成分という結果であった場合には、制御信号C[f]=1、そうでない場合には制御信号C[f]=0としても良い。この場合、信頼性判定部ではX1(f)ではなく、B3(f)を参照して制御信号を生成した方が目的音による影響を除去できるので望ましい。
(C−6)上記の各実施形態の目的音選択部15では、フレーム内の周波数成分ごとに、B1(f)とB2(f)のうちいずれかを選択して、目的音の信号A(f)を生成しているが、フレーム単位でB1(f)又はB2(f)のいずれかを目的音の信号A(f)に採用するか決定するようにしても良い。
例えば、高信頼性成分を有する妨害音区間のフレームについては、高信頼性成分について最小値抽出部13が選択した結果を、全ての周波数成分について適用するようにしても良い。また、例えば、高信頼性成分を有する妨害音区間のフレームで、任意の高信頼性成分(例えば、最も|X1(f)|または|X2(f)|の値が大きい成分)について最小値抽出部13が選択した結果(B1(f)又はB2(f)のいずれか)を、全ての周波数成分について適用するようにしても良い。さらに、例えば、高信頼性成分を有する妨害音区間のフレームで、高信頼性成分のそれぞれについて最小値抽出部13が選択した結果を集計し、B1(f)又はB2(f)のうち、選択された回数の多かった選択結果を、全ての周波数成分に適用するようにしても良い。そして、この場合、非妨害音区間のフレームについては、高信頼性成分を有する他の妨害音区間のフレーム(例えば、直近の該当するフレーム)の選択結果をそのまま適用するようにしても良い。