(57)【要約】【課題】深層学習に基づく、分析長が異なる実数周波数変換を利用した音源強調技術を提供する。【解決手段】xtをt番目のブロックの観測信号、φtを観測信号xtから抽出して得られるt番目のブロックの音響特徴量とし、音響特徴量φtから、t番目のブロックがアタックであるか否かの判定結果を示すベクトルであるアタック判定ベクトルatを生成するアタック判定ベクトル生成部と、アタック判定ベクトルatから、窓関数ベクトルztを生成する窓関数ベクトル生成部と、第j窓関数に対応する計算ユニットを用いて、観測信号xtと音響特徴量φtから、第j出力音s^j,tCを生成する第j出力音生成部と、第j出力音s^j,tCと窓関数ベクトルztから、観測信号xtに含まれる目的音を強調した出力音s^tを生成する出力音生成部とを含む。【選択図】図５
2020030373.tif 000002
【特許請求の範囲】
【請求項１】
Tを2以上の整数、Llongを1以上の整数、xt（1≦t≦T）を時間領域の観測信号を重なりのないT個の、長さLlong/2のブロックへ分割して得られるt番目のブロックの観測信号、φt（1≦t≦T）を前記観測信号xtから抽出して得られるt番目のブロックの音響特徴量とし、
前記音響特徴量φt（1≦t≦T）から、t番目のブロックがアタックであるか否かの判定結果を示すベクトルであるアタック判定ベクトルat（1≦t≦T）を生成するアタック判定ベクトル生成部と、
前記アタック判定ベクトルat（1≦t≦T）から、窓関数ベクトルzt（1≦t≦T）を生成する窓関数ベクトル生成部と、
j=1, …, J（Jを1以上の整数）とし、
第j窓関数に対応する計算ユニットを用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第j出力音s^j,tC（1≦t≦T）を生成する第j出力音生成部と、
前記第j出力音s^j,tC（1≦t≦T）（j=1, …, J）と前記窓関数ベクトルzt（1≦t≦T）から、前記観測信号xt（1≦t≦T）に含まれる目的音を強調した出力音s^t（1≦t≦T）を生成する出力音生成部と
を含む音源強調装置。
【請求項２】
請求項１に記載の音源強調装置であって、
前記アタック判定ベクトル生成部は、ニューラルネットワークMAを用いて、前記アタック判定ベクトルat（1≦t≦T）を生成し、
J=4とし、
前記第j窓関数に対応する計算ユニットは、第j窓関数に対応するニューラルネットワークMjであり、
前記第j出力音生成部は、
実数で定義された周波数変換を用いて、前記観測信号xt（1≦t≦T）から、第j観測信号周波数変換スペクトルXj,tC（1≦t≦T）を生成する第j周波数変換部と、
前記ニューラルネットワークMjを用いて、前記音響特徴量φt（1≦t≦T）から、第j時間周波数マスクG^j,tC（1≦t≦T）を推定する第j時間周波数マスク推定部と、
前記第j時間周波数マスクG^j,tC（1≦t≦T）と前記第j観測信号周波数変換スペクトルXj,tC（1≦t≦T）から、第j出力音周波数変換スペクトルS^j,tC（1≦t≦T）を生成する第j時間周波数マスク処理部と、
実数で定義された逆周波数変換を用いて、前記第j出力音周波数変換スペクトルS^j,tC（1≦t≦T）から、前記第j出力音s^j,tC（1≦t≦T）を生成する第j逆周波数変換部とを含む
ことを特徴とする音源強調装置。
【請求項３】
請求項２に記載の音源強調装置であって、
LshortをLshort=Llong/2m（mは1以上の整数）を満たす1以上の整数とし、
前記実数で定義された周波数変換及び前記実数で定義された逆周波数変換は、第j窓関数に対応する分析行列Aj（以下、第j分析行列という）により定義されるものであり、
前記第j観測信号周波数変換スペクトルXj,kCは、次式により計算され、
【数３７】
2020030373.tif 000039
（ただし、第j分析行列Ajは、それぞれ次式で定義される。
【数３８】
2020030373.tif 000040
ここで、ClongとCshortはそれぞれ分析長がLlongであるMDCT行列と分析長がLshortであるMDCT行列、wlとwsはそれぞれ第1窓関数のためのLlong次元サイン窓ベクトルと第3窓関数のためのLshort次元サイン窓ベクトル、wl1st=(wl0, …, wl(L_long)/2-1)T, wl2nd=(wl(L_long)/2, …, wl(L_long)-1)T, ws1st=(ws0, …, ws(L_short)/2-1)T, ws2nd=(ws(L_short)/2, …, ws(L_short)-1)T, 1L_long/4-L_short/4と0L_long/4-L_short/4はそれぞれ要素が1であるLlong/4-Lshort/4次元ベクトルと要素が0であるLlong/4-Lshort/4次元ベクトル、IC(n)とIR(n) (n∈{0, 1, …, Llong/Lshort-1})はそれぞれ次式で表される行列のインデックスである。
【数３９】
2020030373.tif 000041
）
前記第j出力音s^j,tCは、次式により計算される
【数４０】
2020030373.tif 000042
ことを特徴とする音源強調装置。
【請求項４】
請求項１に記載の音源強調装置であって、
at=(a1,t, a2,t)T, zt=(z1,t, z2,t, z3,t, z4,t)Tとし、
前記窓関数ベクトルztは、次式により計算される
【数４１】
2020030373.tif 000043
（ただし、Qi,k,jは次式で定義される状態遷移行列である。
【数４２】
2020030373.tif 000044
）
ことを特徴とする音源強調装置。
【請求項５】
Tを2以上の整数、Llongを1以上の整数、xt（1≦t≦T）を時間領域の観測信号を重なりのないT個の、長さLlong/2のブロックへ分割して得られるt番目のブロックの観測信号、st（1≦t≦T）を前記時間領域の観測信号に含まれる目的音を重なりのないT個の、長さLlong/2のブロックへ分割して得られるt番目のブロックの目的音、φt（1≦t≦T）を前記観測信号xtから抽出して得られるt番目のブロックの音響特徴量とし、
ニューラルネットワークMAを用いて、前記音響特徴量φt（1≦t≦T）から、t番目のブロックがアタックであるか否かの判定結果を示すベクトルであるアタック判定ベクトルat（1≦t≦T）を生成するアタック判定ベクトル生成部と、
前記アタック判定ベクトルat（1≦t≦T）から、窓関数ベクトルzt（1≦t≦T）を生成する窓関数ベクトル生成部と、
窓関数ロング（以下、第1窓関数という）に対応するニューラルネットワークM1を用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第1出力音s^1,tC（1≦t≦T）を生成する第1出力音生成部と、
窓関数スタート（以下、第2窓関数という）に対応するニューラルネットワークM2を用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第2出力音s^2,tC（1≦t≦T）を生成する第2出力音生成部と、
窓関数ショート（以下、第3窓関数という）に対応するニューラルネットワークM3を用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第3出力音s^3,tC（1≦t≦T）を生成する第3出力音生成部と、
窓関数ストップ（以下、第4窓関数という）に対応するニューラルネットワークM4を用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第4出力音s^4,tC（1≦t≦T）を生成する第4出力音生成部と、
前記第1出力音s^1,tC（1≦t≦T）と前記第2出力音s^2,tC（1≦t≦T）と前記第3出力音s^3,tC（1≦t≦T）と前記第4出力音s^4,tC（1≦t≦T）と前記窓関数ベクトルzt（1≦t≦T）から、前記観測信号xt（1≦t≦T）に含まれる目的音を強調した出力音s^t（1≦t≦T）を生成する出力音生成部と、
前記出力音s^t（1≦t≦T）と前記目的音st（1≦t≦T）から、出力音の推定誤差を示す目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)（ただし、ΘA, Θ1, Θ2, Θ3, Θ4はそれぞれ前記ニューラルネットワークMA, M1, M2, M3, M4のパラメータである）の値を計算する目的関数計算部と、
前記目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)の値を最適化するように前記パラメータΘA, Θ1, Θ2, Θ3, Θ4を更新するパラメータ更新部と、
所定の収束条件が満たされた場合に前記パラメータΘA, Θ1, Θ2, Θ3, Θ4を出力する収束判定部と
を含む音源強調学習装置であって、
前記目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)は、ブロック単位での出力音の推定誤差E(st, s^t)を用いて定義される関数である
音源強調学習装置。
【請求項６】
Tを2以上の整数、Llongを1以上の整数、xt（1≦t≦T）を時間領域の観測信号を重なりのないT個の、長さLlong/2のブロックへ分割して得られるt番目のブロックの観測信号、φt（1≦t≦T）を前記観測信号xtから抽出して得られるt番目のブロックの音響特徴量とし、
音源強調装置が、前記音響特徴量φt（1≦t≦T）から、t番目のブロックがアタックであるか否かの判定結果を示すベクトルであるアタック判定ベクトルat（1≦t≦T）を生成するアタック判定ベクトル生成ステップと、
前記音源強調装置が、前記アタック判定ベクトルat（1≦t≦T）から、窓関数ベクトルzt（1≦t≦T）を生成する窓関数ベクトル生成ステップと、
j=1, …, J（Jを1以上の整数）とし、
前記音源強調装置が、第j窓関数に対応する計算ユニットを用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第j出力音s^j,tC（1≦t≦T）を生成する第j出力音生成ステップと、
前記音源強調装置が、前記第j出力音s^j,tC（1≦t≦T）（j=1, …, J）と前記窓関数ベクトルzt（1≦t≦T）から、前記観測信号xt（1≦t≦T）に含まれる目的音を強調した出力音s^t（1≦t≦T）を生成する出力音生成ステップと
を含む音源強調方法。
【請求項７】
請求項１ないし４のいずれか１項に記載の音源強調装置または請求項５に記載の音源強調学習装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロホンなどを用いて雑音下で収音した音響信号から、所望の目的音だけを強調し、他の雑音を抑圧する音源強調技術に関する。
【背景技術】
【０００２】
深層学習(DL: deep learning)を利用した音源強調（以下、DL音源強調という）として、離散フーリエ変換(DFT: discrete Fourier transform)領域の実数の時間周波数マスクを深層ニューラルネットワーク(DNN: deep neural network)で推定する方法がある。このDFT領域のDL音源強調の問題点は、(1)実数の時間周波数マスクでは、位相スペクトルを制御できないため、観測信号から目的音を完全再構成することが理論的に不可能である点と、(2)時間周波数スペクトル分析の時間周波数分解能のトレードオフが解決できない点である。
【０００３】
(2)の問題について、詳しく説明する。周波数分析長（例えば、DFTの点数）が長いほど周波数分解能が上がるため、母音のような調波構造を持つ音については解析をしやすい。一方、周波数分析長が短いほど時間分解能が上がるため、子音のような時間変化が速い音については解析をしやすい。これらはトレードオフの関係にある。したがって、母音と子音の解析精度を両方とも上げるには、例えば、各時刻ごとに母音か子音かを判定して、適切な周波数分析長を選択するとよい。しかし、DFT領域のDL音源強調では、動的に周波数分析長を変化させることができないため、このトレードオフを解決することができない。
【０００４】
また、別のDL音源強調として、非特許文献１に記載があるような、修正離散コサイン変換(MDCT: modified discrete cosine transform)領域の実数の時間周波数マスクを深層ニューラルネットワークで推定する方法がある。このMDCT領域のDL音源強調は、(1)の問題については解決することができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Y. Koizumi, N. Harada, Y. Haneda, Y. Hioka, K. Kobayashi, “End-to-End Sound Source Enhancement Using Deep Neural Network in the Modified Discrete Cosine Transform Domain”, in Proc. ICASSP 2018, pp.706-710, 2018.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、非特許文献１に記載のMDCT領域のDL音源強調でも、(2)の問題については解決することができない。
【０００７】
そこで本発明では、深層学習に基づく、分析長が異なる実数周波数変換を利用した音源強調技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様は、Tを2以上の整数、Llongを1以上の整数、xt（1≦t≦T）を時間領域の観測信号を重なりのないT個の、長さLlong/2のブロックへ分割して得られるt番目のブロックの観測信号、φt（1≦t≦T）を前記観測信号xtから抽出して得られるt番目のブロックの音響特徴量とし、前記音響特徴量φt（1≦t≦T）から、t番目のブロックがアタックであるか否かの判定結果を示すベクトルであるアタック判定ベクトルat（1≦t≦T）を生成するアタック判定ベクトル生成部と、前記アタック判定ベクトルat（1≦t≦T）から、窓関数ベクトルzt（1≦t≦T）を生成する窓関数ベクトル生成部と、j=1, …, J（Jを1以上の整数）とし、第j窓関数に対応する計算ユニットを用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第j出力音s^j,tC（1≦t≦T）を生成する第j出力音生成部と、前記第j出力音s^j,tC（1≦t≦T）（j=1, …, J）と前記窓関数ベクトルzt（1≦t≦T）から、前記観測信号xt（1≦t≦T）に含まれる目的音を強調した出力音s^t（1≦t≦T）を生成する出力音生成部とを含む。
【０００９】
本発明の一態様は、Tを2以上の整数、Llongを1以上の整数、xt（1≦t≦T）を時間領域の観測信号を重なりのないT個の、長さLlong/2のブロックへ分割して得られるt番目のブロックの観測信号、st（1≦t≦T）を前記時間領域の観測信号に含まれる目的音を重なりのないT個の、長さLlong/2のブロックへ分割して得られるt番目のブロックの目的音、φt（1≦t≦T）を前記観測信号xtから抽出して得られるt番目のブロックの音響特徴量とし、ニューラルネットワークMAを用いて、前記音響特徴量φt（1≦t≦T）から、t番目のブロックがアタックであるか否かの判定結果を示すベクトルであるアタック判定ベクトルat（1≦t≦T）を生成するアタック判定ベクトル生成部と、前記アタック判定ベクトルat（1≦t≦T）から、窓関数ベクトルzt（1≦t≦T）を生成する窓関数ベクトル生成部と、窓関数ロング（以下、第1窓関数という）に対応するニューラルネットワークM1を用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第1出力音s^1,tC（1≦t≦T）を生成する第1出力音生成部と、窓関数スタート（以下、第2窓関数という）に対応するニューラルネットワークM2を用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第2出力音s^2,tC（1≦t≦T）を生成する第2出力音生成部と、窓関数ショート（以下、第3窓関数という）に対応するニューラルネットワークM3を用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第3出力音s^3,tC（1≦t≦T）を生成する第3出力音生成部と、窓関数ストップ（以下、第4窓関数という）に対応するニューラルネットワークM4を用いて、前記観測信号xt（1≦t≦T）と前記音響特徴量φt（1≦t≦T）から、第4出力音s^4,tC（1≦t≦T）を生成する第4出力音生成部と、前記第1出力音s^1,tC（1≦t≦T）と前記第2出力音s^2,tC（1≦t≦T）と前記第3出力音s^3,tC（1≦t≦T）と前記第4出力音s^4,tC（1≦t≦T）と前記窓関数ベクトルzt（1≦t≦T）から、前記観測信号xt（1≦t≦T）に含まれる目的音を強調した出力音s^t（1≦t≦T）を生成する出力音生成部と、前記出力音s^t（1≦t≦T）と前記目的音st（1≦t≦T）から、出力音の推定誤差を示す目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)（ただし、ΘA, Θ1, Θ2, Θ3, Θ4はそれぞれ前記ニューラルネットワークMA, M1, M2, M3, M4のパラメータである）の値を計算する目的関数計算部と、前記目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)の値を最適化するように前記パラメータΘA, Θ1, Θ2, Θ3, Θ4を更新するパラメータ更新部と、所定の収束条件が満たされた場合に前記パラメータΘA, Θ1, Θ2, Θ3, Θ4を出力する収束判定部とを含み、前記目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)は、ブロック単位での出力音の推定誤差E(st, s^t)を用いて定義される関数である。
【発明の効果】
【００１０】
本発明によれば、深層学習により、分析長が異なる実数周波数変換を利用して推定した時間周波数マスクを用いて、音源強調が可能となる。
【図面の簡単な説明】
【００１１】
【図１】窓関数切り替えの状態遷移の様子を示す図。
【図２】本願の音源強調処理の過程を示す図。
【図３】音源強調学習装置１００の構成の一例を示すブロック図。
【図４】音源強調学習装置１００の動作の一例を示すフローチャート。
【図５】音源強調処理部１２０の構成の一例を示すブロック図。
【図６】音源強調処理部１２０の動作の一例を示すフローチャート。
【図７】第j出力音生成部１２６jの構成の一例を示すブロック図。
【図８】第j出力音生成部１２６jの動作の一例を示すフローチャート。
【図９】音源強調装置２００の構成の一例を示すブロック図。
【図１０】音源強調装置２００の動作の一例を示すフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１３】
＜記法＞
_（アンダースコア）は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
【００１４】
＜技術的背景＞
MDCTには、動的に分析長を変化させることができるウィンドウスイッチング(window switching)という特性がある。本発明の実施形態は、この特性を利用する。具体的には、ウィンドウスイッチングにおける分析長を変化させるか否かの判定を行うDNNを構成し、このDNNと長い分析長に対応する時間周波数マスクを推定するDNNと短い分析長に対応する時間周波数マスクを推定するDNNを用いてMDCT領域のDL音源強調技術を構成する。
【００１５】
《問題設定》
時間領域において、目的音をσk、雑音をνkとおき、観測信号χkを以下のように表現する。
【００１６】
【数１】
2020030373.tif 000003
【００１７】
ここで、k∈{1, 2, …, K}は時間のインデックスである。
【００１８】
そして、観測信号χk(1≦k≦K)を、ある時間長で重なりのあるT個（ただし、Tは2以上の整数）の時間フレームに分割し、それをDFTすることにより、式(1)を以下のように変形する。
【００１９】
【数２】
2020030373.tif 000004
【００２０】
ここで、Xt,f、St,f、Nt,fは、それぞれ観測信号のDFTスペクトル、目的音のDFTスペクトル、雑音のDFTスペクトルである。また、f∈{1, 2, …, F}とt∈{1, 2, …, T}は、それぞれ時間周波数領域における、周波数のインデックスと時間のインデックスである。
【００２１】
DFT領域における時間周波数マスクによる音源強調では、以下の式で出力音のDFTスペクトルS^t,fを得る。
【００２２】
【数３】
2020030373.tif 000005
【００２３】
ここで、Gt,fは、例えばウィーナー(Wiener)フィルタなどで実装される時間周波数マスクである。
【００２４】
ここで得られた出力音のDFTスペクトルS^t,fを逆DFTした信号を重畳加算することにより、時間領域の出力音を得る。
【００２５】
《DFT領域のDL音源強調》
DL音源強調では、時間フレームtの時間周波数マスクを縦に並べたベクトルGt:=(Gt,1, …, Gt,F)T（ただし、右肩のTは転置を表す）を以下のように推定する。
【００２６】
【数４】
2020030373.tif 000006
【００２７】
ここで、G^tはGtを推定したベクトルを表す。また、Mはニューラルネットワークを利用した回帰関数、φtは観測信号χk（1≦k≦K）から抽出したtフレーム目の音響特徴量、ΘはニューラルネットワークM（回帰関数Mを計算するニューラルネットワーク）のパラメータである。なお、ウィーナーフィルタのように時間周波数マスクGt,fの値域を0≦Gt,f≦1に制限する場合、ニューラルネットワークMの出力層にはシグモイド(sigmoid)活性化関数を利用することが多い（参考非特許文献１）。
（参考非特許文献１：H. Erdogan, J. R. Hershey, S. Watanabe, J. L. Roux, “Phase-sensitive and recognition-boosted speech separation using deep recurrent neural networks”, in Proc. ICASSP 2015, 2015.）
【００２８】
そして、パラメータΘは、例えば以下の目的関数τ(Θ)を最小化するように、誤差逆伝搬法を利用した勾配法で学習することができる。
【００２９】
【数５】
2020030373.tif 000007
【００３０】
ここで、St:=(St,1, …, St,F)T、Xt:=(Xt,1, …, Xt,F)T、Ttrnは学習データの総フレーム数である。また、||・||pはLpノルム（ここでは、p=2）、○はベクトルの要素積（アダマール積）を表す。
【００３１】
ところで、DFTで得られる周波数スペクトルは複素数値であるため、観測信号から目的音を完全に復元するためには、観測信号の振幅スペクトルと位相スペクトルの両方を操作する必要がある。すなわち、目的音を完全に復元するには複素数の時間周波数マスクを利用しなくてはならない。にもかかわらず、一般的なDL音源強調では式(4)のように実数値の時間周波数マスクを推定することが多い。これは、一般的なニューラルネットワークでは、複素数を直接出力することができないことに起因する。
【００３２】
以下、観測信号の振幅スペクトルと位相スペクトルの両方を操作することができる、実数の周波数変換（具体的にはMDCT）を利用する方法を非特許文献１に従い説明する。
【００３３】
《MDCT領域のDL音源強調》
実数の周波数変換には、離散サイン変換など様々なものがあるが、ここでは、MDCTを利用した方法について説明する。
【００３４】
まず、MDCTを行列形式で定義する。最初に、観測信号χk(1≦k≦K)を重なりのないT個（ただし、Tは2以上の整数）のブロックへ分割する。ここでt番目のブロックの観測信号xtは以下のように表現できる。
【００３５】
【数６】
2020030373.tif 000008
【００３６】
ここで、LはMDCTの分析長である。なお、t番目のブロックの観測信号xtはL/2次元ベクトル（ただし、Lは1以上の整数）である。
【００３７】
すると、MDCTと逆MDCT（IMDCT: inverse MDCT）はそれぞれ以下のように記述できる。
【００３８】
【数７】
2020030373.tif 000009
【００３９】
ここで、XtC:=(Xt,1C, …, Xt,L/2C)Tであり、Xt,1C, …, Xt,L/2Cはそれぞれ観測信号のMDCTスペクトルである。また、A(=CW)は分析行列である。ただし、C∈RL/2×L（ただし、Rは実数の集合）は、MDCT行列であり、その(p, q)要素（1≦p≦L/2, 1≦q≦L）は以下のように記述できる。
【００４０】
【数８】
2020030373.tif 000010
【００４１】
また、W∈RL×Lは、分析／合成窓を表す対角行列（以下、窓関数行列という）であり、ここではプリンセン−ブラッドレイ(Princen-Bradley)条件を満たす窓関数を利用する。例えば、以下のサイン(sin)窓が利用できる。
【００４２】
【数９】
2020030373.tif 000011
【００４３】
ただし、Wq,qはWの(q, q)要素である。
【００４４】
ここで、MDCT行列CはL/2×Lの行列であるため、逆行列は存在しない。ゆえに、逆MDCTの出力であるxt(C1)とxt(C2)には、時間歪み（time-domain aliasing）が含まれる。しかし、この歪みは、以下の重畳加算により除去することができる。
【００４５】
【数１０】
2020030373.tif 000012
【００４６】
この特性は時間歪み除去（TDAC: time-domain aliasing cancellation）と呼ばれる。以上の演算をまとめると、MDCTを利用した分析合成は以下の行列演算で記述できる。
【００４７】
【数１１】
2020030373.tif 000013
【００４８】
ただし、OOLA=[0L/2×L/2, IL/2×L/2, IL/2×L/2, 0L/2×L/2]は重畳加算行列であり、0L/2×L/2とIL/2×L/2はそれぞれL/2×L/2のゼロ行列とL/2×L/2の単位行列である。つまり、重畳加算行列OOLAは、L/2×2Lの行列である。
【００４９】
ここでMDCTスペクトルは実数であるため、実数の時間周波数マスクを用いてMDCT領域の振幅と位相の両方を制御できる。つまり、実数の時間周波数マスクを用いて目的音を完全に復元することができる。今、MDCT領域における時間周波数マスクによる音源強調処理を以下のように定義する。
【００５０】
【数１２】
2020030373.tif 000014
【００５１】
ここで、Gt,qC(=St,qC/Xt,qC)はMDCT領域の時間周波数マスクである。
【００５２】
そして、DFT領域のDL音源強調と同様に、時間フレームtの時間周波数マスクを縦に並べたベクトルGtC:=(Gt,1C, …, Gt,LC)Tを
【００５３】
【数１３】
2020030373.tif 000015
【００５４】
により推定し（ただし、φtはt番目のブロックの音響特徴量である）、時間周波数マスクを以下のように乗算することを考える。
【００５５】
【数１４】
2020030373.tif 000016
【００５６】
ここで、S^tC:=(S^t,1C, …, S^t,LC)Tである。
【００５７】
すると、式(12)〜式(15)より、MDCT領域のDL音源強調は以下の行列演算で記述できる。
【００５８】
【数１５】
2020030373.tif 000017
【００５９】
ここで、出力音s^tは、M(φt|Θ)の出力を利用した線形演算で記述されているため、出力音s^tはパラメータΘで微分可能である。すなわち、出力音の推定精度（つまり、目的音と出力音の誤差）を定義する目的関数を時間領域で定義することで、パラメータΘを誤差逆伝搬法などの勾配法で学習することができる。目的関数T(Θ)には、例えば以下の絶対平均誤差を利用することができる。
【００６０】
【数１６】
2020030373.tif 000018
【００６１】
ここで、stはt番目のブロックの目的音であり、以下のように表される。
【００６２】
【数１７】
2020030373.tif 000019
【００６３】
なお、目的関数T(Θ)は、時間領域で定義される関数であればどのようなものでもよく、例えば、二乗誤差や重み付き二乗誤差を利用することができる。
【００６４】
《本発明のアイディア》
本発明の実施形態は、MDCT領域のDL音源強調にウィンドウスイッチングを用いることに特徴がある。
【００６５】
先述した通り、DFTやMDCTなどを用いた時間周波数スペクトル分析には、時間周波数分解能のトレードオフが存在する。周波数分析長が長いほど周波数分解能が上がるため、母音のような調波構造を持つ音については解析がしやすいが、音量が時間的に速く変化する子音については解析がしづらい。また、分析フレームの後半で音量が急激に上昇すると、分析合成後の信号の前半にプリエコーが生じるという問題もある。一方、周波数分析長が短いほど時間分解能が上がるため、子音のような時間変化が速い音については解析がしやすいが、母音などの周期的な音については解析がしづらい。これらはトレードオフの関係にあるため、母音と子音の解析精度を両方とも上げるためには、各時刻ごとに母音か子音かを判定して、適切な周波数分析長を選択する必要がある。
【００６６】
この問題を解決するために、MDCTでは動的に分析長を変化させるウィンドウスイッチングという方法が開発されている（参考非特許文献２、参考非特許文献３）。この方法は、MPEG-1 Layer III (MP3)などの音声符号化で実際に利用されているものである（参考非特許文献３）。
（参考非特許文献２：T. Mochizuki, “Perfect Reconstruction Conditions for Adaptive Blocksize MDCT”, IEICE Trans. on Fund. of Elect., Comm. and Computer Sciences, Vol.E77-A, No.5, pp.894-899, 1994.）
（参考非特許文献３：V. Britanak, et al., “Cosine-/Sine- Modulated Filter Banks”, Springer, 2018.）
【００６７】
従来の分析長の切り替えは、聴覚モデルに基づくルールによってアタック(Attack)判定（つまり、音量が大きく変化する部分の検出）をし、決定論的に窓を切り替えることにより、実現されている。そのため、信号の復元精度を直接最大化するようなアタック判定にはなっていない。本発明の実施形態では、信号の復元精度を直接最大化するようなアタック判定になるように分析長を変化させるか否かの判定を行うDNNと、音源強調性能を最大化するように長い分析長に対応する時間周波数マスクを推定するDNNと短い分析長に対応する時間周波数マスクを推定するDNNを同時に最適化する。以下、詳しく説明する。
【００６８】
《ウィンドウスイッチング》
まず、ウィンドウスイッチングについて説明する。ウィンドウスイッチングは、完全再構成条件を保ちつつ時間周波数分解能のトレードフを解決するために開発された手法である。代表的な実装では、ロング(Long)、スタート(Start)、ショート(Short)、ストップ(Stop)の4種類の窓関数を利用する。ロング、ショートは、それぞれ長さがLlong、Lshortの窓関数であり（ただし、Llong>Lshort）、サイン窓などで実装される。母音などの周期的な音を解析するためにロングが利用され、子音などの時間的な変化が速い音を解析するためにショートが利用される。しかし、ロングを利用したフレームと隣接するフレームでショートを利用すると、その切り替え箇所でプリンセン−ブラッドレイ条件を満たさなくなるため、完全再構成条件を満足することができない（すなわち、切り替え箇所において２つの窓関数が滑らかにつながらない）。そこで、ロングからショートへの切り替えを滑らかにする窓関数（スタート）とショートからロングへの切り替えを滑らかにする窓関数（ストップ）を利用する。このため、窓関数の切り替えには完全な自由度があるわけではない。具体的には、図１に示す状態遷移により制約される。図１は４つの窓関数の切り替えの状態遷移を示すものである。MPEG-1 Layer III(MP3)における窓関数の切り替えでは、聴覚心理モデルに基づくアタック判定の結果に基づいて、図１に示す状態遷移ルールに従い決定論的に窓関数を切り替える。
【００６９】
《本発明の実施形態における音源強調処理》
DL音源強調において、信号の性質に合わせて適応的にMDCTの分析長を変化させるために、ウィンドウスイッチングを導入することを考える。そのため、アタック判定を行い、目的音の復元精度を最大化するようなDNNを構成、つまり学習することを考える。しかし、このようなDNNの学習を実現するためには、以下の２つの問題を解決しなくてはならない。
【００７０】
(1)フレームの同期問題
DL音源強調の多くでは、式(17)のように、時間フレームtごとに計算される出力音の推定精度を用いて定義される目的関数を利用してDNNの学習を行う。しかし、分析長が異なる窓を制約なく利用すると、ロングを利用した場合とショートを利用した場合で、フレームの同期がとれなくなり、その結果、目的関数が定義できなくなる。例えば、Llong=512、Lshort=128とした場合、ショートはLlong/Lshort=4の倍数回で利用しないと、Llongを利用した場合とフレーム同期をとることができなくなる。フレーム同期をとれない場合、式(17)のようなフレーム単位で定義された目的関数を用いて、アタック判定を行うDNNと時間周波数マスクを推定するDNNを同時に最適化することができなくなる。したがって、DL音源強調でウィンドウスイッチングを行うためには、窓関数の切り替えに対して制約を設けなくてはならない。
【００７１】
(2)目的関数の微分可能性問題
DNNを学習するためには、目的関数をDNNのパラメータで微分可能な形で記述する必要がある。窓関数の切り替えは、アタック／非アタック(attack/non-attack)の二値判定結果をもとに、窓関数の決定論的な遷移で実現される（図１参照）。これを単純にプログラムとして実装する場合にはif分岐やswitch分岐を利用する必要があるが、プログラムによる決定論的な分岐は、DNNのパラメータで微分できない。したがって、アタック判定を行うDNNを学習するためには、これらの決定論的な分岐を、DNNのパラメータで微分可能な数式で記述する必要がある。
【００７２】
上記２つの問題を解決するため、本発明の実施形態では以下の方法をとる。
(1)フレームの同期問題
プリンセン−ブラッドレイ条件を満たし、同期がとれるような窓関数に対応する分析行列を定義することにより解決する。
【００７３】
(2)目的関数の微分可能性問題
アタック判定を行うDNNは、時間フレームtがアタックである確率を表す2次元ベクトルp(at)とし（式(28)参照）、ガンベル−ソフトマックス(Gumbel-softmax)を用いてベクトルp(at)から時間フレームtがアタックであるか否かを示す2次元ベクトルatを出力する（式(31)参照）。この出力ベクトルatから状態遷移行列Qi,k,j（式(35)参照）を用いて再帰的に時間フレームtの窓関数を選択し、各分析窓を利用して音源強調した結果の線形和として出力音s^tを求める（式(36)参照）。上記の演算は、決定論的な窓関数の切り替えとほぼ同等の動作をすること及びDNNのパラメータで微分可能な演算であることから、アタック判定を行うDNNを学習できるようになる。なお、ガンベル−ソフトマックス(Gumbel-softmax)は、例えば、参考非特許文献４に記載されている。
（参考非特許文献４：E. Jang, S. Gu, B. Poole, “Categorical reparameterization with gumbel-softmax”, arXiv preprint arXiv:1611.01144, 2016.）
【００７４】
以下、これらの解決法について詳しく説明する。まず、(1)フレームの同期問題の解決法について説明する。
【００７５】
本発明の実施形態では、フレーム同期を保証するために、ロング、スタート、ショート、ストップの4種類の窓関数を利用する。その際、ロングにおけるMDCTの分析長LlongとショートにおけるMDCTの分析長Lshortに以下の関係が成立するものとする。
【００７６】
【数１８】
2020030373.tif 000020
【００７７】
ここで、mは1以上の整数とする。
【００７８】
このような窓関数を利用すると、プリンセン−ブラッドレイ条件を満たすように窓関数を設計した際、ショートを利用して2m回分析したデータ点数が、ロングを利用して1回分析したデータ点数（Llong）と一致する。すなわち、式(7)の形式において分析行列A（つまり、MDCT行列Cと窓関数行列W）を入れ替えるだけで、ウィンドウスイッチングを利用した信号分析を実現することができる。ロング、スタート、ショート、ストップの各窓関数に対応する分析行列A1, A2, A3, A4は、以下のようになる。
【００７９】
【数１９】
2020030373.tif 000021
【００８０】
ここで、ClongとCshortは、それぞれ式(9)で定義される、分析長がLlongとLshortであるMDCT行列である。つまり、MDCT行列Clongの(p, q)要素（1≦p≦Llong/2, 1≦q≦Llong）、MDCT行列Cshortの(p, q)要素（1≦p≦Lshort/2, 1≦q≦Lshort）は、それぞれ以下のようになる。
【００８１】
【数２０】
2020030373.tif 000022
【００８２】
また、wlとwsは、それぞれロングのためのサイン窓ベクトルとショートのためのサイン窓ベクトルを表し、そのq番目の要素wlq(q∈{0, 1, …, Llong-1}), wsq(q∈{0, 1, …, Lshort-1})はそれぞれ以下のようになる。
【００８３】
【数２１】
2020030373.tif 000023
【００８４】
つまり、wlはLlong次元サイン窓ベクトル、wsはLshort次元サイン窓ベクトルとなる。また、wl1stとwl2ndはwlの前半部と後半部、ws1stとws2ndはwsの前半部と後半部を表す。つまり、wl1st=(wl0, …, wl(L_long)/2-1)T, wl2nd=(wl(L_long)/2, …, wl(L_long)-1)T, ws1st=(ws0, …, ws(L_short)/2-1)T, ws2nd=(ws(L_short)/2, …, ws(L_short)-1)Tである。1L_long/4-L_short/4と0L_long/4-L_short/4はそれぞれ要素が1であるLlong/4-Lshort/4次元ベクトルと要素が0であるLlong/4-Lshort/4次元ベクトルである。また、IC(n)とIR(n) (n∈{0, 1, …, Llong/Lshort-1})は以下で表される行列のインデックスである。
【００８５】
【数２２】
2020030373.tif 000024
【００８６】
ここで、[1:N]は、[1, 2, 3, ..., N]の数列を表す。
【００８７】
したがって、A3は、A3(IC(0), IR(0)), A3(IC(0), IR(1)), …, A3(IC(2m-1), IR(2m-1))の2m×2m個のLshort/2×Lshortの行列を用いて定義されることになる。
【００８８】
なお、ロング、スタート、ショート、ストップの各窓関数をそれぞれ第1窓関数、第2窓関数、第3窓関数、第4窓関数という。また、第j窓関数に対応する分析行列Aj(j=1, 2, ,3 ,4)を第j分析行列という。
【００８９】
次に、(2)目的関数の微分可能性問題の解決法について説明する。ウィンドウスイッチングを実現するためには、時間フレームtがアタックであるか否かを判定すればよいので、a1,t=1は非アタックであること、a2,t=1はアタックであることを示す二値変数の組(a1,t, a2,t)を推定すればよい（以下、at=(a1,t, a2,t)Tをアタック判定ベクトルということにする）。単純に考えると、従来のDNNを用いた識別問題のように、出力層の活性化関数がソフトマックス(softmax)であるDNN MA（ΘAを当該ニューラルネットワークのパラメータとする）を利用して、以下のように時間フレームtがアタックである確率を推定し、
【００９０】
【数２３】
2020030373.tif 000025
【００９１】
次式の閾値判定をすることにより、実現できるように思える。
【００９２】
【数２４】
2020030373.tif 000026
【００９３】
しかし、この閾値判定はパラメータΘAで微分不可能な関数であるため、誤差逆伝搬法によりパラメータΘAを学習することができない。
【００９４】
そこで本発明の実施形態では、閾値判定の代わりにガンベル−ソフトマックスを用いて、p(at)から近似的にアタック判定ベクトルatを推定する。
【００９５】
【数２５】
2020030373.tif 000027
【００９６】
ここで、λは温度パラメータであり10-3程度に設定すればよい。また、式(33)の〜は右辺の確率分布からのサンプリングを表し、Uniform(0,1)は定義域が0から1の一様分布を表す。
【００９７】
この手法で得られるアタック判定ベクトルatは、近似的にワン−ホット−ベクトル(one-hot-vector)、つまり、１つの要素が1、その他の要素はすべて0となるベクトルとなる。
【００９８】
そして、アタック判定ベクトルatが得られれば、時間フレームtの窓関数ベクトルzt=(z1,t, z2,t, z3,t, z4,t)Tは、以下の式により、再帰的に求めることができる。
【００９９】
【数２６】
2020030373.tif 000028
【０１００】
ここで、z1,t=1はロング(long)、z2,t=1はスタート(start)、z3,t=1はショート(short)、z4,t=1はストップ(stop)を表し、Qi,k,jは以下で定義される状態遷移行列である。
【０１０１】
【数２７】
2020030373.tif 000029
【０１０２】
式(34)によりzk,tを求めると、窓関数ベクトルztもワン−ホット−ベクトルとなるため、時間フレームtの出力音s^tは、４つの窓関数で分析した出力音の和として、以下のように求めることができる。
【０１０３】
【数２８】
2020030373.tif 000030
【０１０４】
ここで、
【０１０５】
【数２９】
2020030373.tif 000031
【０１０６】
であり、xltはt番目のブロックの観測信号である（式(6)参照）。また、Mj(j=1,…,4)は、第j窓関数を利用してj番目の出力音s^j,tC（以下、第j出力音という）を求めるDNN（第j窓関数に対応するニューラルネットワーク）であり、Θjはそのパラメータである。
【０１０７】
図２は、観測信号xtと音響特徴量φtから出力音s^tを生成するまでの音源強調処理の過程を示す図である。アタック判定ベクトル生成部は、DNN MAにより構成され、式(28)及び式(31)の計算を行う構成部である。窓関数ベクトル生成部は、式(34)の計算を行う構成部である。第j出力音生成部（j=1, 2, 3, ,4）は、DNN Mjにより構成され、式(37)の計算を行う構成部である。出力音生成部は、式(36)の計算を行う構成部である。なお、すべてのDNN（つまり、MA, M1, M2, M3, M4）のパラメータ（つまり、ΘA, Θ1, Θ2, Θ3, Θ4）で微分可能な形式で全体の計算過程が記述されているため、式(17)のような目的関数を利用してパラメータを学習することができる。
【０１０８】
＜第１実施形態＞
ここでは、＜技術的背景＞で説明したDL音源強調を学習する音源強調学習装置１００について説明する。
【０１０９】
以下、図３〜図４を参照して音源強調学習装置１００を説明する。図３は、音源強調学習装置１００の構成を示すブロック図である。図４は、音源強調学習装置１００の動作を示すフローチャートである。図３に示すように音源強調学習装置１００は、信号重畳部１１０と、信号分割部１１５と、音源強調処理部１２０と、目的関数計算部１３０と、パラメータ更新部１４０と、収束条件判定部１５０と、記録部１９０を含む。記録部１９０は、音源強調学習装置１００の処理に必要な情報を適宜記録する構成部である。記録部１９０は、例えば、学習対象となるニューラルネットワークMA, M1, M2, M3, M4のパラメータΘA, Θ1, Θ2, Θ3, Θ4を記録する。ニューラルネットワークMA, M1, M2, M3, M4は、全結合ニューラルネットワークや長期短期記憶(LSTM: Long Short Term Memory)ネットワークなどとして定義すればよい。また、パラメータΘA, Θ1, Θ2, Θ3, Θ4は、例えば乱数を用いて初期化すればよい。その他、記録部１９０は、例えば、分析長Llong, Lshortを記録する。Llong=512、Lshort=64と設定すればよい。
【０１１０】
音源強調学習装置１００は、目的音学習データ記録部９１０、雑音学習データ記録部９２０に接続している。目的音学習データ記録部９１０、雑音学習データ記録部９２０には、事前に収音した目的音と雑音が学習データとして記録されている。目的音学習データ、雑音学習データは、時間領域信号である。例えば、音声を目的音とする場合、目的音学習データは、無響室などで収録した発話データである。この発話データは8秒間程度の発話であり、5000発話程度以上集めることが望ましい。また、雑音学習データは、使用を想定する環境で収録した雑音である。
【０１１１】
音源強調学習装置１００の各構成部で用いる各種パラメータ（例えば、パラメータΘA, Θ1, Θ2, Θ3, Θ4や分析長Llong, Lshort）については、目的音学習データや雑音学習データと同様、外部から入力するようにしてもよいし、事前に各構成部に設定されていてもよい。
【０１１２】
図４に従い音源強調学習装置１００の動作について説明する。信号重畳部１１０は、目的音学習データと雑音学習データから、時間領域の観測信号χk（1≦k≦K、Kは1以上の整数）を生成する（Ｓ１１０）。具体的には、まず、目的音学習データ（先ほどの例でいうと、8秒間程度の発話データ）をランダムに1つ選択し、目的音学習データと同じ長さの雑音学習データをランダムに1つ選択する。さらに、式(1)に基づいて目的音学習データと雑音学習データを重畳することにより、観測信号を生成する。目的音学習データと雑音学習データの比率は使用を想定する環境に合わせて設定するのが好ましいが、例えば、信号対雑音比で-12〜12dB程度となるように重畳するとよい。したがって、観測信号χkは、目的音σkと雑音νkの和として表される（式(1)参照）。
【０１１３】
信号分割部１１５は、Ｓ１１０で生成した観測信号χk（1≦k≦K）から、観測信号xt（1≦t≦T、Tは2以上の整数）と目的音st（1≦t≦T）を生成する（Ｓ１１５）。具体的には、観測信号χk（1≦k≦K）を重なりのないT個の、長さLlong/2（Llongは1以上の整数）のブロックへ分割して、t番目のブロックの観測信号xt（1≦t≦T）を得る。つまり、観測信号xtは、以下のようなLlong/2次元ベクトルとなる（式(6)参照）。
【０１１４】
【数３０】
2020030373.tif 000032
【０１１５】
同様に、観測信号χk（1≦k≦K）に含まれる目的音を重なりのないT個の、長さLlong/2のブロックへ分割して、t番目のブロックの目的音st（1≦t≦T）を得る。つまり、目的音st（1≦t≦T）は、以下のようなLlong/2次元ベクトルとなる（式(18)参照）。
【０１１６】
【数３１】
2020030373.tif 000033
【０１１７】
音源強調処理部１２０は、ニューラルネットワークMA, M1, M2, M3, M4を用いて、Ｓ１１５で生成した観測信号xt（1≦t≦T）から、出力音s^t（1≦t≦T）を推定する（Ｓ１２０）。なお、出力音s^t（1≦t≦T）は、観測信号xtに含まれる目的音を強調した信号である。以下、図５〜図６を参照して音源強調処理部１２０について説明する。図５は、音源強調処理部１２０の構成を示すブロック図である。図６は、音源強調処理部１２０の動作を示すフローチャートである。図５に示すように音源強調処理部１２０は、音響特徴量抽出部１２３と、アタック判定ベクトル生成部１２４と、窓関数ベクトル生成部１２５と、第1出力音生成部１２６1と、第2出力音生成部１２６2と、第3出力音生成部１２６3と、第4出力音生成部１２６4と、出力音生成部１２７を含む。
【０１１８】
図６に従い音源強調処理部１２０の動作について説明する。音響特徴量抽出部１２３は、Ｓ１１５で生成した観測信号xt（1≦t≦T）から、音響特徴量φt（1≦t≦T）を抽出する（Ｓ１２３）。音響特徴量φtはt番目のブロックの音響特徴量である。音響特徴量を抽出する方法はどのようなものであってもよい。
【０１１９】
アタック判定ベクトル生成部１２４は、ニューラルネットワークMAを用いて、Ｓ１２３で抽出した音響特徴量φt（1≦t≦T）から、アタック判定ベクトルat（1≦t≦T）を生成する（Ｓ１２４）。アタック判定ベクトルatは、t番目のブロックがアタックであるか否か（つまり、音量が大きく変化する部分であるか否か）の判定結果を示すベクトルである。具体的には、以下のようにして生成する。まず、アタック判定ベクトル生成部１２４は、ニューラルネットワークMAを用いて、音響特徴量φtから式(28)で計算されるベクトルp(at)を生成する。次に、アタック判定ベクトル生成部１２４は、ベクトルp(at)から式(31)によりアタック判定ベクトルatを生成する。
【０１２０】
窓関数ベクトル生成部１２５は、Ｓ１２４で生成したアタック判定ベクトルat（1≦t≦T）から、窓関数ベクトルzt（1≦t≦T）を生成する（Ｓ１２５）。窓関数ベクトルztは、４つの窓関数で分析した出力音、つまり、第1出力音s^1,tC、第2出力音s^2,tC、第3出力音s^3,tC、第4出力音s^4,tCの和を生成するために用いるベクトルである。具体的には、窓関数ベクトル生成部１２５は、式(35)で定義される状態遷移行列を用いて、アタック判定ベクトルatから式(34)で計算されるzk,t(k=1, 2, 3, , 4)を第k成分とするベクトルztを生成する。
【０１２１】
第j出力音生成部１２６j(j=1, 2, 3, 4)は、第j窓関数に対応するニューラルネットワークMjを用いて、Ｓ１１５で生成した観測信号xt（1≦t≦T）とＳ１２３で抽出した音響特徴量φt（1≦t≦T）から、第j出力音s^j,tC（1≦t≦T）を生成する（Ｓ１２６j）。以下、図７〜図８を参照して第j出力音生成部１２６jについて説明する。図７は、第j出力音生成部１２６jの構成を示すブロック図である。図８は、第j出力音生成部１２６jの動作を示すフローチャートである。図７に示すように第j出力音生成部１２６jは、第j周波数変換部１２６２jと、第j時間周波数マスク推定部１２６３jと、第j時間周波数マスク処理部１２６４jと、第j逆周波数変換部１２６５jを含む。
【０１２２】
図８に従い第j出力音生成部１２６jの動作について説明する。
【０１２３】
第j周波数変換部１２６２jは、実数で定義された周波数変換を用いて、Ｓ１１５で生成した観測信号xt（1≦t≦T）から、第j観測信号周波数変換スペクトルXj,tC（1≦t≦T）を生成する（Ｓ１２６２j）。実数で定義された周波数変換としてMDCTを用いる場合、実数で定義された周波数変換は、第j分析行列Ajにより定義され、第j観測信号周波数変換スペクトルXj,kCは、次式により計算される（式(7)参照）。
【０１２４】
【数３２】
2020030373.tif 000034
【０１２５】
ここで、第j分析行列Ajは、第j窓関数に対応する分析行列であり、式(20)〜式(23)で定義される。
【０１２６】
第j時間周波数マスク推定部１２６３jは、第j窓関数に対応するニューラルネットワークMjを用いて、Ｓ１２３で抽出した音響特徴量φt（1≦t≦T）から、第j時間周波数マスクG^j,tC（1≦t≦T）を推定する（Ｓ１２６３j）。MDCTを用いる場合、第j時間周波数マスクG^j,tCは次式により計算される（式(14)参照）。
【０１２７】
【数３３】
2020030373.tif 000035
【０１２８】
最初に回帰関数Mj(φt|Θj)の値（時間周波数マスクG^j,tC）を計算するときは、事前に与えてあるパラメータΘjの初期値を用いる。その後は、後述するＳ１４０で更新されたパラメータΘjを用いて回帰関数Mj(φt|Θj)の値を計算する。
【０１２９】
第j時間周波数マスク処理部１２６４jは、Ｓ１２６３jで推定した第j時間周波数マスクG^j,tC（1≦t≦T）とＳ１２６２jで生成した第j観測信号周波数変換スペクトルXj,tC（1≦t≦T）から、第j出力音周波数変換スペクトルS^j,tC（1≦t≦T）を生成する（Ｓ１２６４j）。MDCTを用いる場合、第j出力音周波数変換スペクトルS^j,tCは次式により計算される（式(15)参照）。
【０１３０】
【数３４】
2020030373.tif 000036
【０１３１】
第j逆周波数変換部１２６５jは、実数で定義された逆周波数変換を用いて、１２６４jで生成した第j出力音周波数変換スペクトルS^j,tC（1≦t≦T）から、第j出力音s^j,tC（1≦t≦T）を生成する（Ｓ１２６５j）。実数で定義された周波数変換としてMDCTを用いる場合、実数で定義された逆周波数変換として逆MDCTを用いることになる。この場合、実数で定義された逆周波数変換は、第j分析行列Ajにより定義され、第j出力音s^j,tCは次式により計算される（式(37)参照）。
【０１３２】
【数３５】
2020030373.tif 000037
【０１３３】
出力音生成部１２７は、Ｓ１２６1で生成した第1出力音s^1,tC（1≦t≦T）とＳ１２６2で生成した第2出力音s^2,tC（1≦t≦T）とＳ１２６3で生成した第3出力音s^3,tC（1≦t≦T）とＳ１２６4で生成した第4出力音s^4,tC（1≦t≦T）とＳ１２５で生成した窓関数ベクトルzt（1≦t≦T）から、出力音s^t（1≦t≦T）を生成する（Ｓ１２７）。具体的には、出力音s^tは式(36)により計算される。
【０１３４】
目的関数計算部１３０は、Ｓ１２０で推定した出力音s^t（1≦t≦T）とＳ１１５で生成した目的音st（1≦t≦T）から、出力音の推定誤差を示す目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)の値を計算する（Ｓ１３０）。目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)は、時間領域で定義された関数、特にブロック単位での出力音の推定誤差E(st, s^t)を用いて定義される関数であればどのようなものでもよい。例えば、次式のように絶対平均誤差を用いて目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)を定義してもよい（式(17)参照）。
【０１３５】
【数３６】
2020030373.tif 000038
【０１３６】
この場合、E(st, s^t)=||st-s^t||1である。また、重み付き二乗誤差を用いて定義してもよい。
【０１３７】
パラメータ更新部１４０は、Ｓ１３０で計算した目的関数T(ΘA, Θ1, Θ2, Θ3, Θ4)の値を最適化（最小化）するように、パラメータΘA, Θ1, Θ2, Θ3, Θ4を更新する（Ｓ１４０）。パラメータΘA, Θ1, Θ2, Θ3, Θ4の更新には、例えば、確率的最急降下法を用いるとよい。この場合、学習率は10-5程度に設定すればよい。
【０１３８】
収束条件判定部１５０は、パラメータ更新の終了条件として事前に設定された収束条件を判定し、収束条件が満たされた場合はＳ１４０で生成したパラメータΘA, Θ1, Θ2, Θ3, Θ4を出力し、収束条件が満たされない場合はＳ１１０〜Ｓ１４０の処理を繰り返す（Ｓ１５０）。収束条件として、例えばＳ１１０〜Ｓ１４０の処理の実行回数が所定の回数に達したかという条件を採用することができる。この場合、所定の回数を10万回程度に設定すればよい。
【０１３９】
本実施形態の発明によれば、分析長が異なる実数周波数変換を利用して推定した時間周波数マスクを用いた音源強調技術を学習することが可能となる。これにより、時間周波数スペクトル分析の時間周波数分解能のトレードオフに関する問題を解決することができる。
【０１４０】
＜第２実施形態＞
ここでは、第１実施形態の音源強調学習装置１００が生成したパラメータを用いて音源強調を行う音源強調装置２００について説明する。
【０１４１】
以下、図９〜図１０を参照して音源強調装置２００を説明する。図９は、音源強調装置２００の構成を示すブロック図である。図１０は、音源強調装置２００の動作を示すフローチャートである。図９に示すように音源強調装置２００は、信号分割部２１５と、音源強調処理部１２０と、出力音統合部２１０と、記録部２９０を含む。記録部２９０は、音源強調装置２００の処理に必要な情報を適宜記録する構成部である。記録部２９０は、例えば、音源強調学習装置１００が生成したパラメータΘA, Θ1, Θ2, Θ3, Θ4を記録しておく。
【０１４２】
音源強調装置２００には、時間領域の観測信号χk（1≦k≦K）が入力される。この観測信号χk（1≦k≦K）は、例えば、マイクロホンを用いて事前に収音した信号である。
【０１４３】
図１０に従い音源強調装置２００の動作について説明する。信号分割部２１５は、音源強調装置２００の入力である時間領域の観測信号χk（1≦k≦K）から、観測信号xt（1≦t≦T、Tは2以上の整数）を生成する（Ｓ２１５）。生成方法は、Ｓ１１５と同様でよい。
【０１４４】
音源強調処理部１２０は、パラメータΘA, Θ1, Θ2, Θ3, Θ4を用いて、Ｓ２１５で生成した観測信号xt（1≦t≦T）から、出力音s^t（1≦t≦T）を推定する（Ｓ１２０）。
【０１４５】
出力音統合部２１０は、Ｓ１２０で推定した出力音s^t（1≦t≦T）から、観測信号χk（1≦k≦K）に含まれる目的音を強調した出力音σ^k（1≦k≦K）を生成する（Ｓ２１０）。生成処理は、Ｓ２１５での処理と反対の処理となる。つまり、出力音s^t（1≦t≦T）を順に結合することにより、出力音σ^k（1≦k≦K）を生成する。
【０１４６】
本実施形態の発明によれば、深層学習により、分析長が異なる実数周波数変換を利用して推定した時間周波数マスクを用いて、音源強調が可能となる。
【０１４７】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【０１４８】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【０１４９】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【０１５０】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【０１５１】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【０１５２】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１５３】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１５４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１５５】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2020030373.tif 000045
【図２】
2020030373.tif 000046
【図３】
2020030373.tif 000047
【図４】
2020030373.tif 000048
【図５】
2020030373.tif 000049
【図６】
2020030373.tif 000050
【図７】
2020030373.tif 000051
【図８】
2020030373.tif 000052
【図９】
2020030373.tif 000053
【図１０】
2020030373.tif 000054