説明

音響処理装置

【課題】複数の音響の混合音を音源毎に高精度に分離する。
【解決手段】記憶装置24は、第1音源の音響の各成分の振幅スペクトルを示すK個の基底ベクトルを含む非負の基底行列Fを記憶し、行列分解部34は、基底行列Fを利用した非負値行列因子分解で第1音源の音響と第2音源の音響との混合音を示す音響信号SA(t)の振幅スペクトログラムを示す観測行列Yから、基底行列Fの各基底ベクトルに対する加重値の時間変化を示すK個の係数ベクトルを含む係数行列Gと、第2音源の音響の各成分の振幅スペクトルを示すD個の基底ベクトルを含む基底行列Hと、基底行列Hの各基底ベクトルに対する加重値の時間変化を示すD個の係数ベクトルを含む係数行列Uを生成し、音響生成部36は、基底行列Fと係数行列Gとに応じた音響信号SB(t)および基底行列Hと係数行列Uとに応じた音響信号SB(t)の少なくとも一方を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音響信号を音源毎に分離する技術に関する。
【背景技術】
【0002】
相異なる音源が発生した複数の音響の混合音を音源毎の音響に分離する音源分離技術が従来から提案されている。例えば非特許文献1や非特許文献2には、非負値行列因子分解(NMF:Non-negative Matrix Factorization)を利用した教師無音源分離が開示されている。
【0003】
非特許文献1や非特許文献2の技術では、図6に示すように、複数音の音響が混合された観測音の振幅スペクトログラムを示す観測行列Yが基底行列Hと係数行列(アクティベーション行列)Uとに分解される(Y≒HU)。基底行列Hは、観測音に含まれる各成分のスペクトルを示す複数の基底ベクトルhで構成され、係数行列Uは、各基底ベクトルの大きさ(加重値)の時間変化を示す複数の係数ベクトルuで構成される。基底行列Hの複数の基底ベクトルhと係数行列Uの複数の係数ベクトルuとを音源毎に区分し、所望の音源の基底ベクトルhと係数ベクトルuとを抽出および乗算することでその音源の音響の振幅スペクトログラムが生成される。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】A. CICHOCKI, et. al., "NEW ALGORITHMS FOR NON-NEGATIVE MATRIX FACTORIZATION IN APPLICATIONS TO BLIND SOURCE SEPARATION," ICASSP 2006
【非特許文献2】Tuomas Virtanen, "Monaural Sound Source Separation by Nonnegative Matrix Factorization With Temporal Continuity and Sparseness Criteria", IEEE Trans. Aurio, Speech and Language Processing, volume 15, pp.1066-1074, 2007
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、非特許文献1および非特許文献2の技術では、基底行列Hの複数の基底ベクトルhや係数行列Uの複数の係数ベクトルuを音源毎に正確に区分(クラスタリング)することが困難であるという問題や、基底行列Hの1個の基底ベクトルhのなかに複数の音源の音響が混在し得るという問題がある。したがって、複数の音響の混合音を音源毎に高精度に分離することは困難である。以上の事情を考慮して、本発明は、複数の音響の混合音を音源毎に高精度に分離することを目的とする。
【課題を解決するための手段】
【0006】
以上の課題を解決するために本発明が採用する手段を説明する。なお、本発明の理解を容易にするために、以下の説明では、本発明の各要素と後述の各実施形態の要素との対応を括弧書で付記するが、本発明の範囲を実施形態の例示に限定する趣旨ではない。
【0007】
本発明の音響処理装置は、第1音源の音響の各成分のスペクトル(例えば振幅スペクトルやパワースペクトル)を示す複数の基底ベクトルを含む非負の第1基底行列(例えば基底行列F)を記憶する記憶手段(例えば記憶装置24)と、第1基底行列を利用した非負値行列因子分解により、第1音源の音響と第1音源とは相違する第2音源の音響との混合音を示す音響信号(例えば音響信号SA(t))のスペクトルの時系列を示す観測行列(例えば観測行列Y)から、第1基底行列の各基底ベクトルに対する加重値の時間変化を示す複数の係数ベクトルを含む第1係数行列(例えば係数行列G)と、第2音源の音響の各成分のスペクトルを示す複数の基底ベクトルを含む第2基底行列(例えば基底行列H)と、第2基底行列の各基底ベクトルに対する加重値の時間変化を示す複数の係数ベクトルを含む第2係数行列(例えば係数行列U)とを生成する行列分解手段(例えば行列分解部34)と、第1基底行列と第1係数行列とに応じた音響信号および第2基底行列と第2係数行列とに応じた音響信号の少なくとも一方を生成する音響生成手段(例えば音響生成部36)とを具備する。以上の構成では、既知の第1基底行列を利用した観測行列の非負値行列因子分解により第1音源の第1係数行列と第2音源の第2基底行列および第2係数行列が生成される。すなわち、第1音源に対応する非負値行列(第1基底行列および第1係数行列)と第2音源に対応する非負値行列(第2基底行列および第2係数行列)とが個別に特定される。したがって、非特許文献1や非特許文献2の構成と比較して音響信号を音源毎に高精度に分離することが可能である。
【0008】
なお、第1音源は、第1基底行列が事前に用意された既知の音源を意味し、第2音源は第1音源とは相違する未知の音源を意味する。第1音源の第1基底行列のみを非負値行列因子分解に利用する場合、音響信号を構成する音響のうち第1音源以外の音響に対応する音源が第2音源に相当し、第1音源の第1基底行列を含む複数の既知の音源の基底行列を非負値行列因子分解に利用する場合、音響信号を構成する音響のうち第1音源を含む複数の既知の音源以外の音響に対応する音源が第2音源に相当する。第2音源は、単一の音源のほか、2種類以上の音源を含む音源群を包含する概念である。
【0009】
本発明の好適な態様において、行列分解手段は、第1基底行列と第2基底行列との類似性が低下する(理想的には無相関または距離最大となる)という拘束条件のもとで第1係数行列と第2基底行列と第2係数行列とを生成する。以上の態様では、第1基底行列と第2基底行列との類似性(相関や距離)が低下するように第1係数行列と第2基底行列と第2係数行列とが生成されるから、既知の第1基底行列の基底ベクトルと同等の基底ベクトルが第2基底行列に出現することで第1係数行列および第2係数行列の一方の係数ベクトルが零ベクトルとなる可能性が低減される。したがって、分離後の音響信号における音響の欠落を防止できるという利点がある。なお、以上の態様の具体例は、例えば第2実施形態として後述される。
【0010】
別の観点において、記憶手段に記憶された第1基底行列と行列分解手段が生成した第2基底行列とは相互に非類似である。非類似とは、第1基底行列と第2基底行列とが略無相関である場合、または、第1基底行列と第2基底行列との距離が略最大である場合を含意する。第1基底行列と第2基底行列とが略無相関である場合とは、第1基底行列と第2基底行列との相関が最小である場合のほか、第1基底行列と第2基底行列との相関が実質的に最小である場合を包含する。第1基底行列と第2基底行列との相関が実質的に最小である場合とは、音響処理装置の用途や仕様等の種々の事情に応じた合理的な精度(目標精度)の音源分離(第1音源および第2音源の少なくとも一方の音響の音響信号の生成)を実現することが可能な一定の範囲を意味する。同様に、第1基底行列と第2基底行列との距離が略最大である場合とは、第1基底行列と第2基底行列との距離が最大となる場合のほか、第1基底行列と第2基底行列との距離が実質的に最大となる場合を包含する。第1基底行列と第2基底行列との距離が実質的に最大となる場合とは、音響処理装置の用途や仕様等の種々の事情に応じた合理的な精度(目標精度)の音源分離を実現することが可能な一定の範囲を意味する。
【0011】
本発明の好適な態様において、行列分解手段は、第1基底行列および第1係数行列の積と第2基底行列および第2係数行列の積との和が観測行列と相違する度合を示す誤差項(例えば数式(3A)の第1項‖Y−FG−HU‖Fr2)と、第1基底行列および第2基底行列の類似性(例えば相関や距離)を示す相関項(例えば数式(3A)の第2項‖FTH‖Fr2や数式(3C)の第2項δ(F|H))とを含む評価関数が収束するように選定された更新式(例えば数式(12A))の反復演算により、第1係数行列と第2基底行列と第2係数行列とを生成する。以上の態様によれば、分離前の音響信号に含まれる各音源の音響を部分的な欠落を抑制しながら高精度に分離できるという利点がある。
【0012】
別の観点において、記憶手段に記憶された第1基底行列および行列分解手段が生成した第1係数行列の積と、行列分解手段が生成した第2基底行列および前記第2係数行列の積との和が観測行列と相違する度合を示す誤差項と、記憶手段に記憶された第1基底行列と行列分解手段が生成した第2基底行列との類似性を示す相関項とを含む評価関数が、所定値を下回る。評価関数の閾値となる所定値は、評価関数が収束したと評価できる数値に実験的または統計的に選定される。例えば、評価関数の演算の反復回数と評価関数の数値との関係を解析し、評価関数が所定値を下回れば評価関数が収束したと合理的に評価できるように前述の所定値が解析結果に応じて選定される。
【0013】
本発明の好適な態様において、行列分解手段は、誤差項および相関項の少なくとも一方が調整係数(例えば調整係数λ)により調整された評価関数(例えば数式(3B)の評価関数J)が収束するように選定された更新式(例えば数式(12B))の反復演算により、第1係数行列と第2基底行列と第2係数行列とを生成する。すなわち、評価関数の誤差項および相関項の少なくとも一方に調整係数が付加される。以上の態様では、評価関数の誤差項および相関項の少なくとも一方が、例えば両者の数値が近付くように調整係数により調整されるから、誤差項および相関項の双方の条件が高い水準で両立され、高精度な音源分離を実現することが可能である。なお、以上の態様の具体例は、例えば第3実施形態として後述される。
【0014】
以上の各態様に係る音響処理装置は、音響信号の処理に専用されるDSP(Digital Signal Processor)などのハードウェア(電子回路)によって実現されるほか、CPU(Central Processing Unit)などの汎用の演算処理装置とプログラムとの協働によっても実現される。本発明に係るプログラムは、第1音源の音響の各成分のスペクトルを示す複数の基底ベクトルを含む非負の第1基底行列を記憶する記憶手段を具備するコンピュータに、第1基底行列を利用した非負値行列因子分解により、第1音源の音響と第1音源とは相違する第2音源の音響との混合音を示す音響信号のスペクトルの時系列を示す観測行列から、第1基底行列の各基底ベクトルに対する加重値の時間変化を示す複数の係数ベクトルを含む第1係数行列と、第2音源の音響の各成分のスペクトルを示す複数の基底ベクトルを含む第2基底行列と、第2基底行列の各基底ベクトルに対する加重値の時間変化を示す複数の係数ベクトルを含む第2係数行列とを生成する行列分解処理と、第1基底行列と第1係数行列とに応じた音響信号および第2基底行列と第2係数行列とに応じた音響信号の少なくとも一方を生成する音響生成処理とを実行させる。以上のプログラムによれば、本発明に係る音響処理装置と同様の作用および効果が実現される。なお、本発明のプログラムは、コンピュータが読取可能な記録媒体に格納された形態で利用者に提供されてコンピュータにインストールされるほか、通信網を介した配信の形態でサーバ装置から提供されてコンピュータにインストールされる。
【図面の簡単な説明】
【0015】
【図1】本発明の第1実施形態に係る音響処理装置のブロック図である。
【図2】基底行列Fの生成の説明図である。
【図3】行列分解部の動作の説明図である。
【図4】第2実施形態の効果の説明図である。
【図5】第2実施形態の効果の説明図である。
【図6】背景技術における非負値行列因子分解の説明図である。
【発明を実施するための形態】
【0016】
<第1実施形態>
図1は、本発明の第1実施形態に係る音響処理装置100のブロック図である。図1に示すように、音響処理装置100には信号供給装置12と放音装置14とが接続される。信号供給装置12は、音響信号SA(t)を音響処理装置100に供給する。音響信号SA(t)は、相異なる種類種の音源の各々が発生した音響(楽音や音声)の混合音の時間波形を示す信号である。音響信号SA(t)を構成する音響を発生する複数種の音源のうち既知の音源を以下では第1音源と表記し、第1音源以外の音源を以下では第2音源と表記する。音響信号SA(t)が2種類の音源の音響で構成される場合、第2音源は第1音源以外の1種類の音源を意味し、音響信号SA(t)が3種類以上の音源の音響で構成される場合、第2音源は第1音源以外の2種類以上の音源(音源群)を意味する。周囲の音響を収音して音響信号SA(t)を生成する収音機器や、可搬型または内蔵型の記録媒体から音響信号SA(t)を取得して音響処理装置100に供給する再生装置や、通信網から音響信号SA(t)を受信して音響処理装置100に供給する通信装置が信号供給装置12として採用され得る。
【0017】
第1実施形態の音響処理装置100は、信号供給装置12から供給される音響信号SA(t)を音源分離することで音響信号SB(t)を生成する信号処理装置(音源分離装置)である。音響信号SB(t)は、音響信号SA(t)のうち第1音源の音響成分および第2音源の音響成分の一方の時間波形を示す信号である。具体的には、第1音源および第2音源のうち例えば利用者が選択した音源の音響成分を示す音響信号SB(t)が放音装置14に供給される。すなわち、音響信号SA(t)が音源毎に分離される。放音装置14(例えばスピーカやヘッドホン)は、音響処理装置100から供給される音響信号SB(t)に応じた音波を放射する。なお、音響信号SA(t)をアナログからデジタルに変換するA/D変換器や、音響信号SB(t)をデジタルからアナログに変換するD/A変換器の図示は便宜的に省略した。
【0018】
図1に示すように、音響処理装置100は、演算処理装置22と記憶装置24とを具備するコンピュータシステムで実現される。記憶装置24は、演算処理装置22が実行するプログラムPGMや演算処理装置22が使用する各種の情報(例えば基底行列F)を記憶する。半導体記録媒体や磁気記録媒体等の公知の記録媒体や複数種の記録媒体の組合せが記憶装置24として任意に採用され得る。音響信号SA(t)を記憶装置24に記憶した構成(したがって信号供給装置12は省略され得る)も好適である。
【0019】
第1実施形態の記憶装置24は、既知の第1音源の音響の特徴を示す基底行列Fを記憶する。第1音源は、基底行列Fが事前に用意(学習)された音源とも表現され得る。音響処理装置100は、記憶装置24に記憶された基底行列Fを事前情報(教師情報)として利用する教師有音源分離で音響信号SB(t)を生成する。基底行列Fは、既知の第1音源が単独で発生した音響(以下「学習音」という)から事前に生成されて記憶装置24に格納される。学習音は第2音源の音響を含まない。
【0020】
図2は、第1音源が発生した学習音から基底行列Fを生成する処理の説明図である。図2の観測行列Xは、第1音源の学習音を時間軸上で区分したN個のフレームの各々の振幅スペクトルの時系列(振幅スペクトログラム)を表現するM行N列の非負値行列である(MおよびNは自然数)。すなわち、観測行列Xの第n列(n=1〜N)は、学習音のうち第n番目のフレームの振幅スペクトルx[n]に相当する。振幅スペクトルx[n]の第m行(m=1〜M)の要素は、周波数軸上に設定されたM個の周波数のうち第m番目の周波数での振幅値を意味する。
【0021】
図2の観測行列Xは、以下の数式(1)で表現されるように、非負値行列因子分解(NMF)により基底行列Fと係数行列(アクティベーション行列)Qとに分解される。
【数1】

【0022】
数式(1)の基底行列Fは、図2に示すように、第1音源の学習音を構成する各成分に対応するK個の基底ベクトルf[1]〜f[K]を横方向に配列したM行K列の非負値行列である。基底行列Fのうち第k列(k=1〜K)の基底ベクトルf[k]は、学習音を構成するK個の成分(基底)のうち第k番目の成分の振幅スペクトルに相当する。すなわち、基底ベクトルf[k]の第m行(基底行列Fの第m行第k列)の要素は、学習音の第k番目の成分の振幅スペクトルのうち周波数軸上の第m番目の周波数での振幅値を意味する。
【0023】
数式(1)の係数行列Qは、図2に示すように、基底行列Fの各基底ベクトルf[k]に対応するK個の係数ベクトルq[1]〜q[K]を縦方向に配列したK行N列の非負値行列である。係数行列Qの第k行の係数ベクトルq[k]は、基底行列Fの基底ベクトルf[k]に対する加重値(活性度)の時系列に相当する。
【0024】
基底行列Fと係数行列Qとを乗算した行列FQが観測行列Xに近似する(すなわち行列FQと観測行列Xとの差異が最小化する)ように基底行列Fおよび係数行列Qが算定されて基底行列Fが記憶装置24に格納される。基底行列FのK個の基底ベクトルf[1]〜f[K]の各々は、概略的には第1音源の学習音の相異なる音高に対応する。したがって、基底行列Fの生成に使用される学習音は、分離対象の音響信号SA(t)にて第1音源の音響に想定され得る全部の音高を含むように生成され、基底行列Fの基底ベクトルf[k]の総数(基底数)Kは、音響信号SA(t)にて第1音源の音響に想定され得る音高の総数以上の数値に設定される。以上が基底行列Fの生成の手順である。
【0025】
図1の演算処理装置22は、記憶装置24に記憶されたプログラムPGMを実行することで、音響信号SA(t)から音響信号SB(t)を生成する複数の機能(周波数分析部32,行列分解部34,音響生成部36)を実現する。演算処理装置22の各要素による処理は、音響信号SA(t)を時間軸上で区分したN個のフレームを単位として順次に反復される。なお、演算処理装置22の各機能を複数の集積回路に分散した構成や、専用の電子回路(DSP)が一部の機能を実現する構成も採用され得る。
【0026】
図3は、周波数分析部32および行列分解部34による処理の説明図である。周波数分析部32は、音響信号SA(t)のN個のフレームを単位として図3の観測行列Yを順次に生成する。観測行列Yは、図3に示すように、音響信号SA(t)を時間軸上で区分したN個のフレームの各々の振幅スペクトルの時系列(振幅スペクトログラム)を表現するM行N列の非負値行列である。すなわち、観測行列Yの第n列は、音響信号SA(t)のうち第n番目のフレームの振幅スペクトルy[n](M個の周波数の各々での振幅値の系列)に相当する。観測行列Yの生成には例えば短時間フーリエ変換等の公知の周波数分析が利用される。
【0027】
図1の行列分解部34は、記憶装置24に格納された既知の基底行列Fを事前情報として利用した非負値行列因子分解(NMF)を観測行列Yに対して実行する。第1実施形態では、以下の数式(2)で表現されるように、周波数分析部32が生成した観測行列Yを、基底行列Fと係数行列Gと基底行列Hと係数行列Uとに分解する。
【数2】


前述のように基底行列Fには第1音源の音響(学習音)の特性が反映されるから、基底行列Fおよび係数行列Gは音響信号SA(t)のうち第1音源の音響成分に対応する。他方、基底行列Hおよび係数行列Uは、音響信号SA(t)のうち第1音源以外の音源(すなわち第2音源)の音響成分に対応する。
【0028】
記憶装置24に格納された既知の基底行列Fは、前述の通り、第1音源の音響の各成分に対応するK個の基底ベクトルf[1]〜f[K]を横方向に配列したM行K列の非負値行列である。他方、数式(2)の係数行列(アクティベーション行列)Gは、図3に示すように、基底行列Fの各基底ベクトルf[k]に対応するK個の係数ベクトルg[1]〜g[K]を縦方向に配列したK行N列の非負値行列である。係数行列Gの第k行の係数ベクトルg[k]は、基底行列Fの基底ベクトルf[k]に対する加重値(活性度)の時系列に相当する。すなわち、係数ベクトルg[k]の第n列の要素は、音響信号SA(t)の第n番目のフレームにおける第1音源の基底ベクトルf[k]の大きさ(加重値)を意味する。以上の説明から理解されるように、数式(2)の右辺の第1項の行列FGは、音響信号SA(t)のうち第1音源の音響成分の振幅スペクトログラムを表現するM行N列の非負値行列である。
【0029】
数式(2)の基底行列Hは、図3に示すように、音響信号SA(t)のうち第2音源の音響の各成分に対応するD個の基底ベクトルh[1]〜h[D]を横方向に配列したM行D列の非負値行列である。基底行列Fの列数Kと基底行列Hの列数Dとの異同は不問である。基底行列Fと同様に、基底行列Hの第d列(d=1〜D)の基底ベクトルh[d]は、音響信号SA(t)に含まれる第2音源の音響成分を構成するD個の成分(基底)のうち第d番目の成分の振幅スペクトルに相当する。すなわち、基底ベクトルh[d]の第m行の要素は、音響信号SA(t)の第2音源の音響成分を構成する第d番目の成分の振幅スペクトルのうち周波数軸上の第m番目の周波数での振幅値を意味する。
【0030】
数式(2)の係数行列Uは、図3に示すように、第2音源の基底行列Hの各基底ベクトルh[d]に対応するD個の係数ベクトルu[1]〜u[D]を縦方向に配列したD行N列の非負値行列である。係数行列Gと同様に、係数行列Uの第d行の係数ベクトルu[d]は、基底行列Hの基底ベクトルh[d]に対する加重値の時系列を意味する。したがって、数式(2)の右辺の第2項の行列HUは、音響信号SA(t)のうち第2音源の音響成分の振幅スペクトログラムを表現するM行N列の非負値行列である。
【0031】
図1の行列分解部34は、第1音源の行列FGと第2音源の行列HUとを加算した行列(FG+HU)が観測行列Yに近似する(すなわち両者間の相違が最小化する)という数式(2)の条件が成立するように第1音源の係数行列Gと第2音源の基底行列Hおよび係数行列Uとを生成する。第1実施形態では、数式(2)の条件を評価するために以下の数式(3)の評価関数Jを導入する。なお、以下の説明では、任意の行列Aのうち第i行第j列の要素を記号Aijと表記する。例えば、記号Gknは、係数行列Gの第k行第n列の要素を意味する。
【数3】

【0032】
数式(3)の記号‖ ‖Frはフロベニウスノルム(ユークリッド距離)を意味する。条件(4)は、係数行列Gと基底行列Hと係数行列Gとが非負値行列であるという条件である。数式(3)から理解されるように、第1音源の行列FGと第2音源の行列HUとの加算が観測行列Yに近似する(近似誤差が減少する)ほど評価関数Jは減少する。以上の傾向を考慮して、評価関数Jが最小となるように係数行列Gと基底行列Hと係数行列Uとを生成することを検討する。
【0033】
数式(3)のフロベニウスノルムを行列のトレースに置換して変形すると、以下の数式(5)が導出される。なお、数式(5)の記号Tは行列の転置を意味し、記号tr{ }は行列のトレースを意味する。
【数4】

【0034】
評価関数Jを検討するために以下の数式(6)のラグランジアンLを導入する。
【数5】

【0035】
また、前述の条件(4)を考慮すると、KKT(Karuch Kuhn Tucker)の相補条件は以下の数式(7a)から数式(7c)で表現される。
【数6】

【0036】
係数行列Gを目的変数としたラグランジアンLの偏微分を0とおくと以下の数式(8)が導出される。
【数7】

【0037】
数式(8)において行列の第k行第n列の成分のみに着目し、係数行列Gの第k行第n列の要素Gknを数式(8)の両辺に乗算すると、以下の数式(9)が導出される。
【数8】

【0038】
前述の数式(7c)を数式(9)に適用することで以下の数式(10)が導出される。
【数9】

【0039】
数式(10)を変形することで、係数行列Gの要素Gknを逐次的に更新する以下の更新式(11)が導出される。
【数10】

【0040】
同様に、基底行列Hを目的変数とした数式(6)のラグランジアンLの偏微分を0として数式(7a)を適用することで、基底行列Hの要素Hmdを逐次的に更新する以下の更新式(12)が導出される。
【数11】

【0041】
また、係数行列Uを目的変数としたラグランジアンLの偏微分を0として数式(7b)を適用することで、係数行列Uの要素Udnを逐次的に更新する以下の更新式(13)が導出される。
【数12】

【0042】
図1の行列分解部34は、数式(11)から数式(13)の演算を反復し、反復回数が所定の回数Rに到達した時点での演算結果(Gkn,Hmd,Udn)を係数行列G,基底行列Hおよび係数行列Uとして確定する。数式(11)から数式(13)の演算の回数Rは、回数Rにわたる反復の時点で評価関数Jがゼロに到達するかまたは一定値に収束するように実験的または統計的に選定される。また、係数行列G(要素Gkn),基底行列H(要素Hmd)および係数行列U(要素Udn)の初期値は例えば乱数に設定される。以上の説明から理解される通り、行列分解部34は、音響信号SA(t)の観測行列Yと既知の基底行列Fとに対して数式(2)の関係を満たすように係数行列Gと基底行列Hと係数行列Uとを生成する。
【0043】
図1の音響生成部36は、行列分解部34が生成した行列(G,H,U)を利用して音響信号SB(t)を生成する。具体的には、第1音源が指定された場合、音響生成部36は、記憶装置24に格納された基底行列Fと行列分解部34が生成した係数行列Gとを乗算することで音響信号SA(t)のうち第1音源の音響の振幅スペクトログラムを算定し、各フレームの振幅スペクトルと音響信号SA(t)のそのフレームでの位相スペクトルとを適用した逆フーリエ変換で時間領域の音響信号SB(t)を生成する。他方、第2音源が指定された場合、音響生成部36は、行列分解部34が生成した基底行列Hと係数行列Uとを乗算することで音響信号SA(t)のうち第2音源の音響の振幅スペクトログラムを算定し、各フレームの振幅スペクトルと音響信号SA(t)のそのフレームでの位相スペクトルとから時間領域の音響信号SB(t)を生成する。すなわち、音響信号SA(t)を音源毎に分離した音響信号SB(t)が生成される。音響生成部36が生成した音響信号SB(t)が放音装置14に供給されて音波として再生される。なお、第1音源の音響信号SB(t)と第2音源の音響信号SB(t)の双方を生成して例えば各音響信号SB(t)に別個の音響処理を実行することも可能である。
【0044】
以上に説明した第1実施形態では、第1音源の既知の基底行列Fを利用した観測行列Yの非負値行列因子分解により、第1音源の係数行列Gと第2音源の基底行列Hおよび係数行列Uとが生成されるから、音響信号SA(t)のうち第1音源の音響成分は行列FGに反映され、音響信号SA(t)のうち第2音源の音響成分は行列HUに反映される。すなわち、第1音源に対応する行列FGと第2音源に対応する行列HUとが個別に特定される。したがって、非特許文献1や非特許文献2の構成と比較して、音響信号SA(t)を音源毎に高精度に分離できるという利点がある。
【0045】
<第2実施形態>
本発明の第2実施形態を以下に説明する。なお、以下に例示する各形態において作用や機能が第1実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【0046】
第1実施形態では、第1音源の基底行列Fと第2音源の基底行列Hとの関係は拘束されないから、行列分解部34が算定する基底行列Hの基底ベクトルh[d]が既知の基底行列Fの基底ベクトルf[k]と同等となる可能性がある。基底ベクトルh[d]と基底ベクトルf[k]とが共通する場合、数式(2)を成立させるために、係数行列Gの係数ベクトルg[k]と係数行列Uの係数ベクトルu[d]との一方が零ベクトルに収束する。しかし、係数ベクトルg[k]が零ベクトルである場合には第1音源の音響のうち基底ベクトルf[k]に対応する成分が音響信号SB(t)から欠落し、係数ベクトルu[d]が零ベクトルである場合には第2音源のうち基底ベクトルh[d]に対応する成分が音響信号SB(t)から欠落する結果となる。以上の事情を考慮して、本発明の第2実施形態では、第1音源の基底行列Fと第2音源の基底行列Hとの相関が低下する(理想的には無相関となる)ように、行列分解部34が第1音源の係数行列Gと第2音源の基底行列Hおよび係数行列Uとを生成する。
【0047】
基底行列Fと基底行列Hとの相関(類似性)を評価するために、基底行列Fと基底行列Hとの相関行列FTHを導入する。基底行列Fの各基底ベクトルf[k]と基底行列Hの各基底ベクトルh[d]との相関が低い(例えば各基底ベクトルf[k]と各基底ベクトルh[d]とが直交する)ほど相関行列FTHは零行列に近付く。そこで、第2実施形態の行列分解部34は、相関行列FTHが零行列に近付く(理想的には零行列に合致する)という拘束条件のもとで係数行列Gと基底行列Hと係数行列Uとを生成する。
【0048】
相関行列FTHが零行列に近付くという条件を前述の数式(2)の条件と併せて評価するために、相関行列FTHのフロベニウスノルムの自乗‖FTH‖Fr2を罰則項として数式(3)に追加した数式(3A)の評価関数Jを導入する。すなわち、第2実施形態の評価関数Jは、第1音源の行列FGおよび第2音源の行列HUを加算した行列(FG+HU)と観測行列Yとの相違(近似誤差)の度合を示す第1項(以下「誤差項」という)‖Y−FG−HU‖Fr2と、基底行列Fおよび基底行列Hの相関を示す第2項(以下「相関項」という)‖FTH‖Fr2とを含んで構成される。
【数13】


基底行列Fと基底行列Hとの相関が低下するほど数式(3A)の相関項は減少する。以上の傾向を考慮して、数式(3A)の評価関数Jが最小となるように第1音源の係数行列Gと第2音源の基底行列Hおよび係数行列Uとを生成することを検討する。なお、前述の条件(4)は第2実施形態でも同様に適用される。
【0049】
数式(3A)のフロベニウスノルムを行列のトレースに置換して変形すると、以下の数式(5A)が導出される。
【数14】

【0050】
第1実施形態と同様に、評価関数Jとして数式(5A)を適用した数式(6)のラグランジアンLを基底行列Hで偏微分して0と置き、前述の数式(7a)を適用すると、基底行列Hの要素Hmdを逐次的に更新する以下の更新式(12A)が導出される。なお、係数行列Gの要素Gknの更新式は数式(11)と同様であり、係数行列Uの要素Udnの更新式は数式(13)と同様である。
【数15】

【0051】
第2実施形態の行列分解部34は、数式(11),数式(12A)および数式(13)の演算を反復し、反復回数がR回に到達した段階での演算結果を係数行列G,基底行列Hおよび係数行列Uとして確定する。反復回数Rや各行列の初期値については第1実施形態と同様である。以上の説明から理解されるように、行列FGと行列HUとの加算行列(FG+HU)が観測行列Yに近付き、かつ、基底行列Fと基底行列Hとの相関が低下する(理想的には無相関となる)ように、第1音源の係数行列Gと第2音源の基底行列Hおよび係数行列Uとが生成される。
【0052】
第2実施形態においても第1実施形態と同様の効果が実現される。また、第2実施形態では、基底行列Fと基底行列Hとの相関が低下するように係数行列Gと基底行列Hと係数行列Uとが生成される。すなわち、既知の基底行列Fの基底ベクトルf[k]と同等の基底ベクトルh[d]は第2音源の基底行列Hに出現しない。したがって、係数行列Gの係数ベクトルg[k]と係数行列Uの係数ベクトルu[d]との一方が零ベクトルに収束する可能性は低減され、結果的に音響信号SB(t)における音響の欠落を防止することが可能である。
【0053】
図4は、第1実施形態と比較した第2実施形態の効果の説明図である。以下の説明では、第1音源をフルートとして第2音源をクラリネットとし、音響信号SA(t)のうちフルートの音響を音響信号SB(t)として分離する場合を想定する。図4の部分(A)は、音階が共通する旋律の楽音をフルートとクラリネットとについて音源回路に並列に生成させた場合(ユニゾン)の音響信号SA(t)の振幅スペクトログラムであり、図4の部分(B)は、同様の旋律の楽音をフルートのみについて生成させた場合の振幅スペクトログラム(すなわち音響信号SB(t)の振幅スペクトログラムの規範)である。
【0054】
図4の部分(C)は、第1実施形態で生成された音響信号SB(t)の振幅スペクトログラムである。図4の部分(C)を部分(B)と比較すると、第1実施形態の構成では、音響信号SA(t)に含まれる第1音源の音響の一部(図面内の破線部分)が分離後の音響信号SB(t)にて欠落していることが確認できる。
【0055】
他方、図4の部分(D)は、第2実施形態で生成された音響信号SB(t)の振幅スペクトログラムである。図4の部分(D)に示すように、第2実施形態によれば、音響信号SB(t)における第1音源の音響の欠落が第1実施形態と比較して抑制され、図4の部分(B)と同等のフルートの音響が高精度に抽出されていることが確認できる。以上に説明したように、第2実施形態によれば、分離後の各音源の音響の欠落を防止しながら音響信号SA(t)を音源毎に高精度に分離できるという利点がある。
【0056】
図5は、第1実施形態および第2実施形態における分離後の音響信号SB(t)の信号対歪比(SDR:Signal to Distortion Ratio)の測定値である。目的の音源の音響が高精度に分離され、かつ、音源分離の前後にわたる波形の歪みが小さいほど、信号対歪比は大きい数値となる。図5では、第1音源をフルートとして第2音源をクラリネットとした場合が想定されている。
【0057】
図5の部分(A)は、フルートの音響を音響信号SB(t)として抽出した場合の測定値であり、図5の部分(B)は、クラリネットの音響を音響信号SB(t)として抽出した場合の測定値である。フルートおよびクラリネットの何れの音響を抽出する場合でも、第2実施形態の信号対歪比が第1実施形態を上回ることが図5から定量的に確認できる。すなわち、第2実施形態によれば、第1実施形態と比較して、音源分離後の各音源の音響の欠落を防止しながら音響信号SA(t)を音源毎に高精度に分離することが可能である。
【0058】
<第3実施形態>
第2実施形態で例示した数式(3A)の評価関数Jにおいては、誤差項‖Y−FG−HU‖Fr2および相関項‖FTH‖Fr2の各数値が顕著に相違する可能性がある。すなわち、評価関数Jの増減に対する寄与の度合が誤差項と相関項とで顕著に相違し得る。そして、例えば誤差項が相関項と比較して充分に大きい場合には誤差項が減少しさえすれば評価関数Jは充分に減少するため、相関項が充分に減少しない可能性がある。同様に、相関項が誤差項と比較して充分に大きい場合には誤差項が充分に減少しない可能性がある。
【0059】
そこで、第3実施形態では、評価関数Jの誤差項と相関項とを近付けることを検討する。具体的には、基底行列Fと基底行列Hとの相関に関する相関項‖FTH‖Fr2に所定の定数(以下「調整係数」という)λを付与した数式(3B)の評価関数Jを導入する。
【数16】


数式(3B)の調整係数λは、誤差項および相関項の数値が近付く(バランスする)ように実験的または統計的に選定される。また、誤差項と相関項とを試行的に算定し、誤差項と相関項との相違が低減されるように調整係数λを可変に設定することも可能である。数式(3B)の評価関数Jを使用した場合、基底行列Hの要素Hmdの更新式は、調整係数λを含む以下の数式(12B)で定義される。
【数17】

【0060】
第3実施形態においても第1実施形態や第2実施形態と同様の効果が実現される。また、第3実施形態では、評価関数Jの誤差項‖Y−FG−HU‖Fr2と相関項‖FTH‖Fr2とが調整係数λにより調整されるから、誤差項が減少するという条件と相関項が減少するという条件とが高い水準で両立される。したがって、音響の部分的な欠落を防止しながら音響信号SA(t)を音源毎に高精度に分離できるという第2実施形態の効果は格別に顕著となる。なお、以上の説明では、評価関数Jの相関項に調整係数λを付加したが、誤差項に調整係数λを付加する構成や誤差項および相関項の双方に別個の調整係数λを付加する構成も採用され得る。
【0061】
<第4実施形態>
第2実施形態では、第1音源の基底行列Fと第2音源の基底行列Hとの相関が低下するという拘束条件を設定した。第4実施形態では、第1音源の基底行列Fと第2音源の基底行列Hとの距離が増加する(理想的には最大となる)という拘束条件のもとで第1音源の係数行列Gと第2音源の基底行列Hおよび係数行列Uとを生成する。
【0062】
第4実施形態では、前掲の数式(3A)の評価関数Jに代えて、以下の数式(3C)で表現される評価関数Jを導入する。なお、条件(4)として前述した通り、係数行列Gと基底行列Hと係数行列Gとは非負値行列である。
【数18】

【0063】
数式(3C)の記号δ(x|y)は、行列xと行列yとの距離(距離規範)を意味する。すなわち、数式(3C)の評価関数Jは、第1音源の行列FGおよび第2音源の行列HUを加算した行列(FG+HU)と観測行列Yとの距離(誤差の度合)を示す誤差項δ(Y|FG+HU)と、基底行列Fおよび基底行列Hの距離を示す相関項δ(F|H)とを含んで構成される。
【0064】
距離δ(x|y)の種類は任意であり、例えばフロベニウスノルムやIS(Itakura-Saito)ダイバージェンスやβダイバージェンスを採用することも可能であるが、以下の例示では、数式(13)で定義されるIダイバージェンス(一般化KLダイバージェンス)を距離δ(x|y)として例示する。
【数19】

【0065】
数式(3C)から理解される通り、基底行列Fと基底行列Hとの距離δ(F|H)が増加する(類似性が低下する)ほど評価関数Jは減少する。以上の傾向を考慮して、第4実施形態では、数式(3C)の評価関数Jが最小になる(距離δ(F|H)が最大となる)という拘束条件のもとで第1音源の係数行列Gと第2音源の基底行列Hおよび係数行列Uとを生成する。
【0066】
具体的には、数式(3C)の評価関数Jを最小化するという条件から、各行列(G,H,U)を逐次的に更新するための以下の数式(14)から数式(16)が導出される。
【数20】

【0067】
数式(14)から数式(16)の記号.A/Bは、行列Aと行列Bとの要素毎の除算を意味し、記号A.×Bは、行列Aと行列Bとの要素毎の乗算を意味する。また、行列Ixyは、全部の要素が1に設定されたx行y列の行列を意味する。第4実施形態の行列分解部34は、数式(14)の反復で未知の基底行列Hを算定し、数式(15)の反復で係数行列Uを算定し、数式(16)の反復で係数行列Gを算定する。演算の反復回数Rや各行列の初期値については第1実施形態と同様である。
【0068】
第4実施形態においても第2実施形態と同様の効果が実現される。第2実施形態の拘束条件と第4実施形態の拘束条件とは、既知の基底行列Fと未知の基底行列Hとの類似性(Similarity)を低下させる条件として包括される。すなわち、基底行列Fと基底行列Hとの類似性が低下するという条件は、基底行列Fと基底行列Hとの相関が低下するという条件(第2実施形態)と、基底行列Fと基底行列Hとの距離が増加するという条件(第4実施形態)との双方を包含する。
【0069】
なお、第3実施形態で例示した調整係数λを第4実施形態の評価関数Jに適用することも可能である。調整係数λを適用した評価関数Jは例えば以下の数式(3D)で表現され、未知の基底行列Hの算定に利用される前掲の更新式(14)は以下の数式(14A)に置換される。
【数21】

【0070】
なお、数式(3D)では相関項δ(F|H)に調整係数λを付加したが、誤差項δ(Y|FG+HU)に調整係数λを付加した構成や、誤差項δ(Y|FG+HU)および相関項δ(F|H)の双方に別個の調整係数λを付加した構成も採用され得る。
【0071】
<変形例>
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は適宜に併合され得る。
【0072】
(1)前述の各形態では、観測行列Xに対する非負値行列因子分解で基底行列Fを生成したが、基底行列Fを生成する方法は任意である。基底行列Fは、第1音源の音響に想定されるK個の振幅スペクトルで構成されるから、例えば、K個の音高の各々について第1音源の音響の平均的な振幅スペクトルを算定し、各音高に対応するK個の振幅スペクトルを配列することで基底行列Fを生成することも可能である。すなわち、音響の振幅スペクトルを特定する任意の技術が基底行列Fの生成に適用される。
【0073】
(2)前述の各形態では、フロベニウスノルムを適用した非負値行列因子分解を例示したが、非負値行列因子分解に適用される距離規準はフロベニウスノルムに限定されない。具体的には、Kullback-Leibler擬距離やダイバージェンス等の公知の距離規準が任意に採用される。また、スパースネスの拘束条件を適用した非負値行列因子分解も採用される。
【0074】
(3)前述の各形態では、既知の1種類の第1音源の基底行列Fを利用して音響信号SA(t)を第1音源とそれ以外の第2音源とに分離する場合を例示したが、既知の2種類以上の音源の基底行列を利用して音源信号SA(t)を既知の音源とそれ以外の音源とに分離する場合にも本発明が同様に適用される。例えば第1音源から第3音源までの3種類の音源が存在する場合、第1音源の基底行列Fと第3音源の基底行列Eとが事前に記憶装置24に格納されたうえで、以下の数式(2A)で示すように、第1音源に対応する行列FGと第2音源(第1音源および第3音源以外の1種類以上の音源)に対応する行列HUと第3音源に対応する行列EVとを加算した行列が観測行列Yに近似するように、第1音源の係数行列Gと第2音源の基底行列Hおよび係数行列Uと第3音源の係数行列Vとが算定される。
【数22】

【0075】
第2実施形態において3種類の音源を想定した場合、前述の例示と同様に既知の基底行列Fと未知の基底行列Hとの相関行列FTHが零行列になるという拘束条件(FTH=0)に加えて、既知の基底行列Eと未知の基底行列Hとの相関行列ETHが零行列になるという拘束条件(ETH=0)を充足するように行列分解部34は未知の各行列(G,H,U,V)を生成する。同様に、第4実施形態にて3種類の音源を想定した場合、基底行列Hと基底行列Hとの距離δ(F|H)が減少する(零行列になる)という拘束条件に加えて、基底行列Eと基底行列Hとの距離δ(E|H)が減少するという拘束条件を充足するように、行列分解部34は未知の各行列(G,H,U,V)を生成する。
【0076】
任意の個数の基底行列Zi(i=1,2,……)が既知である場合を想定すると、行列分解部34による処理は、前掲の数式(2)や数式(2A)を一般化した以下の数式(17)で表現される。
【数23】

【0077】
数式(17)の基底行列Wは、複数の既知の基底行列Ziを配列した大行列(W=[Z1,Z2,……])を意味し、行列Aは、行列Wの各基底行列Ziに対応する複数の係数行列を配列した行列を意味する。第2実施形態の拘束条件は、既知の基底行列Wと未知の基底行列Hとの相関行列WTHが零行列に近付く(あるいは相関行列WTHのフロベニウスノルム‖WTH‖2が最小化する)という条件に一般化され、第4実施形態の拘束条件は、既知の基底行列Wと未知の基底行列Hとの距離δ(W|H)が最大化するという条件に一般化される。
【0078】
以上の例示から理解されるように、以上の各形態における行列分解部34は、既知の第1音源について事前に用意(学習)された基底行列Fを利用した非負値行列因子分解を観測行列Yに対して実行することで、基底行列Fに対応する係数行列Gと第1音源とは相違する第2音源の基底行列Hおよび係数行列Uとを生成する要素として包括される。すなわち、既知の第1音源の基底行列Fを利用して第1音源の係数行列Gと未知の第2音源(1種類以上の音源)の基底行列Hおよび係数行列Uを生成する要素であれば、第1実施形態の例示のように第1音源の基底行列Fのみを利用する場合のほか、第1音源の基底行列Fに加えて既知の他の音源の基底行列(数式(2A)における第3音源の基底行列E)を利用する場合も本発明の範囲に包含される。
【0079】
(4)前述の各形態では、行列分解部34が生成した基底行列Hと係数行列Uとの乗算で第2音源の音響の音響信号SB(t)を生成したが、観測行列Yと第1音源に対応する行列FGとの差分(Y−FG)を時間領域または周波数領域で第2音源の行列HU(すなわち第2音源の音響の振幅スペクトログラム)として算定することも可能である。数式(2A)のように3種類の音源が存在する場合も同様に、第1音源の行列FGと第2音源の行列HUとを観測行列Yから減算することで、第3音源の音響の振幅スペクトログラムを示す行列EV(EV=Y−FG−HU)を周波数領域または時間領域にて算定することが可能である。
【0080】
(5)前述の各形態では音響信号SA(t)の全帯域を処理対象としたが、音響信号SA(t)のうち特定の帯域を処理対象とすることも可能である。音響信号SA(t)のうち所望の音源に想定される帯域成分のみを処理対象とすれば、その音源の分離精度を向上することが可能である。
【0081】
(6)前述の各形態では、数式(11),数式(12)(数式(12A),数式(12B))および数式(13)の演算を所定の回数Rにわたり反復することを条件に反復演算を停止したが、反復演算の停止条件は適宜に変更される。具体的には、数式(3)(数式(3A),数式(3B))で算定される評価関数Jに応じて行列分解部34が反復停止の可否を判定することも可能である。例えば、行列分解部34は、各回の演算による更新後の行列(G,H,U)を利用して評価関数Jを算定し、評価関数Jが一定値に収束したと判定できる場合(例えば前回の評価関数Jと今回の更新後の評価関数Jとの差異が所定値を下回る場合)に反復演算を停止する。また、評価関数Jがゼロとなった場合に反復演算を停止することも可能である。
【0082】
(7)係数行列G,基底行列Hおよび係数行列Uの初期値を設定する方法は任意である。例えば、既知の基底行列Fと観測行列Yとの相関行列FTYを係数行列Gの初期値に適用すれば、係数行列Gを迅速に収束させることが可能である。
【符号の説明】
【0083】
100……音響処理装置、12……信号供給装置、14……放音装置、22……演算処理装置、24……記憶装置、32……周波数分析部、34……行列分解部、36……音響生成部、F,H……基底行列、G,U……係数行列、X,Y……観測行列。


【特許請求の範囲】
【請求項1】
第1音源の音響の各成分のスペクトルを示す複数の基底ベクトルを含む非負の第1基底行列を記憶する記憶手段と、
前記第1基底行列を利用した非負値行列因子分解により、前記第1音源の音響と前記第1音源とは相違する第2音源の音響との混合音を示す音響信号のスペクトルの時系列を示す観測行列から、前記第1基底行列の各基底ベクトルに対する加重値の時間変化を示す複数の係数ベクトルを含む第1係数行列と、前記第2音源の音響の各成分のスペクトルを示す複数の基底ベクトルを含む第2基底行列と、前記第2基底行列の各基底ベクトルに対する加重値の時間変化を示す複数の係数ベクトルを含む第2係数行列とを生成する行列分解手段と、
前記第1基底行列と前記第1係数行列とに応じた音響信号および前記第2基底行列と前記第2係数行列とに応じた音響信号の少なくとも一方を生成する音響生成手段と
を具備する音響処理装置。
【請求項2】
前記行列分解手段は、前記第1基底行列と前記第2基底行列との類似性が低下するように前記第1係数行列と前記第2基底行列と前記第2係数行列とを生成する
請求項1の音響処理装置。
【請求項3】
前記行列分解手段は、前記第1基底行列および前記第1係数行列の積と前記第2基底行列および前記第2係数行列の積との和が前記観測行列と相違する度合を示す誤差項と、前記第1基底行列および前記第2基底行列の類似性を示す相関項とを含む評価関数が収束するように選定された更新式の反復演算により、前記第1係数行列と前記第2基底行列と前記第2係数行列とを生成する
請求項2の音響処理装置。
【請求項4】
前記行列分解手段は、前記誤差項および前記相関項の少なくとも一方が調整係数により調整された前記評価関数が収束するように選定された更新式の反復演算により、前記第1係数行列と前記第2基底行列と前記第2係数行列とを生成する
請求項3の音響処理装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図4】
image rotate


【公開番号】特開2013−33196(P2013−33196A)
【公開日】平成25年2月14日(2013.2.14)
【国際特許分類】
【出願番号】特願2011−284075(P2011−284075)
【出願日】平成23年12月26日(2011.12.26)
【出願人】(504143441)国立大学法人 奈良先端科学技術大学院大学 (226)
【出願人】(000004075)ヤマハ株式会社 (5,930)