特許第6881459号(P6881459)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニーグループ株式会社の特許一覧
特許6881459情報処理装置、情報処理方法及び記録媒体
<>
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000016
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000017
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000018
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000019
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000020
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000021
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000022
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000023
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000024
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000025
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000026
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000027
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000028
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000029
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000030
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000031
  • 特許6881459-情報処理装置、情報処理方法及び記録媒体 図000032
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6881459
(24)【登録日】2021年5月10日
(45)【発行日】2021年6月2日
(54)【発明の名称】情報処理装置、情報処理方法及び記録媒体
(51)【国際特許分類】
   G10L 21/0308 20130101AFI20210524BHJP
   G10L 25/30 20130101ALI20210524BHJP
   G10L 21/028 20130101ALI20210524BHJP
【FI】
   G10L21/0308 Z
   G10L25/30
   G10L21/028 B
【請求項の数】13
【全頁数】23
(21)【出願番号】特願2018-536948(P2018-536948)
(86)(22)【出願日】2017年6月1日
(86)【国際出願番号】JP2017020507
(87)【国際公開番号】WO2018042791
(87)【国際公開日】20180308
【審査請求日】2020年5月29日
(31)【優先権主張番号】特願2016-170851(P2016-170851)
(32)【優先日】2016年9月1日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】大迫 慶一
(72)【発明者】
【氏名】光藤 祐基
(72)【発明者】
【氏名】浅田 宏平
【審査官】 上田 雄
(56)【参考文献】
【文献】 特開2012−163918(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 21/00−21/18
G10L 25/30
(57)【特許請求の範囲】
【請求項1】
音を観測した観測信号を取得する取得部と、
想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、前記取得部により取得された前記観測信号を前記複数の音源の各々に対応する複数の分離信号に分離する音源分離部と、
を備える情報処理装置。
【請求項2】
前記係数ベクトルは、オートエンコーダのデコーダとして事前に学習される、請求項1に記載の情報処理装置。
【請求項3】
ある音源に対応する前記係数ベクトルは、当該音源から出力される音を観測した学習用観測信号をオートエンコーダへ入力することで学習される、請求項2に記載の情報処理装置。
【請求項4】
前記音源分離部は、複数の前記係数ベクトルに関し、前記係数ベクトル及び前記入力ベクトルの行列積への非線形関数の適用結果を新たな前記入力ベクトルとして、前記係数ベクトル及び前記入力ベクトルの行列積への非線形関数の適用を再帰的に繰り返す、請求項1〜3のいずれか一項に記載の情報処理装置。
【請求項5】
前記音源分離部は、前記観測信号と複数の前記分離信号との関係に基づいて前記入力ベクトルを逐次的に更新する、請求項1〜4のいずれか一項に記載の情報処理装置。
【請求項6】
前記音源分離部は、前記入力ベクトルの初期値を、デコーダと共に学習されたエンコーダに前記観測信号を入力することで生成する、請求項5に記載の情報処理装置。
【請求項7】
前記音源分離部は、前記入力ベクトルの初期値を乱数により生成する、請求項5に記載の情報処理装置。
【請求項8】
前記音源分離部は、前記観測信号と、前記係数ベクトル及び前記入力ベクトルの行列積に非線形関数を適用することで得られる中間分離信号を前記複数の音源に関して合成した信号と、の誤差がより小さくなるよう前記入力ベクトルを逐次的に更新する、請求項5〜7のいずれか一項に記載の情報処理装置。
【請求項9】
前記誤差は、時間周波数領域に変換された前記観測信号の各時刻における各周波数の振幅スペクトルと、前記複数の音源に関して得られる複数の時間周波数領域の前記中間分離信号の各時刻における各周波数の振幅スペクトルの和と、の二乗誤差である、請求項8に記載の情報処理装置。
【請求項10】
前記音源分離部は、前記係数ベクトル及び前記入力ベクトルの行列積に非線形関数を適用することで得られる時間周波数領域の中間分離信号の各時刻における各周波数の振幅スペクトルを、前記複数の音源に関して得られた複数の前記中間分離信号の各時刻における各周波数の振幅スペクトルの和で割った値を、時間周波数領域に変換された前記観測信号の各時刻における各周波数の振幅スペクトルに掛けた信号を時間領域の信号に変換することで、前記分離信号を生成する、請求項1〜9のいずれか一項に記載の情報処理装置。
【請求項11】
前記音源分離部は、前記行列積に非線形関数を適用することで得られる時間周波数領域の中間分離信号を時間領域の信号に変換することで、前記分離信号を生成する、請求項1〜9のいずれか一項に記載の情報処理装置。
【請求項12】
音を観測した観測信号を取得することと、
想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、取得された前記観測信号を前記複数の音源の各々に対応する複数の分離信号に分離することと、
を含む、プロセッサにより実行される情報処理方法。
【請求項13】
コンピュータを、
音を観測した観測信号を取得する取得部と、
想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、前記取得部により取得された前記観測信号を前記複数の音源の各々に対応する複数の分離信号に分離する音源分離部と、
として機能させるためのプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法及び記録媒体に関する。
【背景技術】
【0002】
複数の音源から出力された音が混在する観測信号を、個々の音源から出力された音に対応する分離信号に分離する、音源分離技術がある。音源分離技術は、多様な音が混在する環境下で対象とする音源の音を抽出することが可能であるので、例えば音声認識精度を向上させるために有用である。なお、音源とは、音声、楽器音又は雑音など、音を放射するオブジェクトを指す。
【0003】
音源分離技術のひとつとして、非負値行列因子分解(NMF:(non-negative matrix factorization)を用いて音源を分離する手法がある。例えば、下記特許文献1に、NMFを用いて音源を分離する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2014−215461号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
NMFを用いた音源分離技術では、音源のスペクトログラムが行列積として表現される。しかし、この表現方法で分離信号のスペクトルを正確に再現するには限界があり、分離性能の改善が求められていた。
【0006】
そこで、本開示では、分離性能を改善することが可能な音源分離技術を提案する。
【課題を解決するための手段】
【0007】
本開示によれば、音を観測した観測信号を取得する取得部と、想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、前記取得部により取得された前記観測信号を前記複数の音源の各々に対応する複数の分離信号に分離する音源分離部と、を備える情報処理装置が提供される。
【0008】
また、本開示によれば、音を観測した観測信号を取得することと、想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、取得された前記観測信号を前記複数の音源の各々に対応する複数の分離信号に分離することと、を含む、プロセッサにより実行される情報処理方法が提供される。
【0009】
また、本開示によれば、コンピュータを、音を観測した観測信号を取得する取得部と、想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、前記取得部により取得された前記観測信号を前記複数の音源の各々に対応する複数の分離信号に分離する音源分離部と、として機能させるためのプログラムが記録された記録媒体が提供される。
【発明の効果】
【0010】
以上説明したように本開示によれば、分離性能を改善することが可能な音源分離技術が提供される。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【0011】
図1】オートエンコーダを説明するための図である。
図2】NMFを用いた音源分離技術を説明するための図である。
図3】本実施形態に係る音源分離技術の学習プロセスを説明するための図である。
図4】本実施形態に係る音源分離技術の分離プロセスを説明するための図である。
図5】本実施形態に係る情報処理装置の論理的な構成の一例を示すブロック図である。
図6】本実施形態に係る情報処理装置の詳細な内部構成の一例を示すブロック図である。
図7】本実施形態に係る情報処理装置の詳細な内部構成の一例を示すブロック図である。
図8】本実施形態に係る情報処理装置の詳細な内部構成の一例を示すブロック図である。
図9】本実施形態に係る中間分離信号の生成に関する第1の例を説明するための図である。
図10】本実施形態に係る中間分離信号の生成に関する第2の例を説明するための図である。
図11】本実施形態に係る中間分離信号の生成に関する第3の例を説明するための図である。
図12】本実施形態に係る情報処理装置の詳細な内部構成の一例を示すブロック図である。
図13】本実施形態に係る情報処理装置の詳細な内部構成の一例を示すブロック図である。
図14】本実施形態に係る情報処理装置の詳細な内部構成の一例を示すブロック図である。
図15】本実施形態に係る情報処理装置の詳細な内部構成の一例を示すブロック図である。
図16】本実施形態に係る情報処理装置において実行される音源分離処理の流れの一例を示すフローチャートである。
図17】本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0012】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0013】
なお、説明は以下の順序で行うものとする。
1.はじめに
1.1.ニューラルネット
1.2.技術的課題
2.アルゴリズムの概要
3.構成例
4.処理の流れ
5.ハードウェア構成例
6.まとめ
【0014】
<<1.はじめに>>
<1.1.ニューラルネット>
ニューラルネットとは、脳機能を計算機上のシミュレーションを用いて表現したモデルである。ニューラルネットは、ニューロンを模したノード同士を、シナプスを模したリンクにより連結させた構成を有し、ニューロンからの出力を連結された他のニューロンに伝搬させながら最終的な出力を得る。あるノードから出力yは、入力元のN個のノードからの入力x,…,x、各入力への重み付け係数w,…,w、バイアスw、及び活性化関数fを用いて、次式により表される。
【0015】
【数1】
【0016】
ここで、重み付け係数及びバイアスは係数(又は係数ベクトル)とも総称される。ニューラルネットは、教師データを用いて係数を事前に学習しておくことで利用可能となる。
【0017】
ニューラルネットワークは、ひとつ以上のノードを有する層を複数連結させた構成を有することも可能である。特に、多層構造のニューラルネットは、ディープニューラルネットとも称され、多層構造のニューラルネットを用いた学習はディープラーニングとも称される。膨大な計算量が要されるディープラーニングは、近年の計算機の性能向上により実用可能になったため、注目を集めている。
【0018】
ニューラルネットの応用のひとつに、自己符号化器とも称されるオートエンコーダ(Auto-Encoder)がある。オートエンコーダを、図1を参照して詳しく説明する。
【0019】
図1は、オートエンコーダを説明するための図である。図1に示したオートエンコーダは、入力層11、隠れ層12及び出力層13を有する。入力層11から隠れ層12までのニューラルネットは、エンコーダとも称される。エンコーダは、係数をW、活性化関数をfとすると、次式により表される。
【0020】
【数2】
【0021】
また、隠れ層12から出力層13までのニューラルネットは、デコーダとも称される。デコーダは、係数をW、活性化関数をgとすると、次式により表される。
【0022】
【数3】
【0023】
オートエンコーダでは、入力ベクトルXと出力ベクトルX´が一致するように、係数W及びWの学習が行われる。学習の際にはエンコーダとデコーダとが組み合わされて使用される一方、学習以外の場面ではエンコーダとデコーダとが別々に使用されてもよい。
【0024】
<1.2.技術的課題>
以下、NMFを用いた音源分離技術に関して説明し、その技術的課題を説明する。
【0025】
図2は、NMFを用いた音源分離技術を説明するための図である。図2に示すように、NMFを用いた音源分離技術では、観測信号のスペクトログラムXが、基底ベクトルTと結合ベクトルVとの行列積により表現される。なお、結合ベクトルVは、基底ベクトルTの使用度合いとして捉えることが可能である。
【0026】
スペクトログラムとは、振幅スペクトル(即ち、振幅の利得)を時間方向に並べた形式の情報であり、横軸が時間であり、縦軸が周波数である。つまり、観測信号のスペクトログラムXは、周波数方向のサイズがI、時間方向のサイズがJである。また、基底ベクトルTはI×Kの行列であり、結合ベクトルVはK×Jの行列である。音の観測信号の振幅スペクトルは非負値であるので、スペクトログラムXは非負値のみをとる行列とみなすことができる。そのため、NMFの枠組みにより、スペクトログラムXを2つの行列TとVとに分解し、それらを用いて音源分離を行うことが可能となる。
【0027】
基底ベクトルTの列数Kは、基底数を意味している。例えば、楽器音は発することができる音の種類が限られているので、少ない基底数の基底ベクトルTと結合ベクトルVとの行列積によりスペクトログラムXを再現することが可能である。しかし音声では、個人差及び発話内容等によってスペクトル形状が大きく異るため、再現するために必要な基底数が膨大になる。基底数が増加すると、行列演算のコストが増加するだけでなく、適切なベクトルTとVとを計算することが困難になり、結果的に分離信号の品質劣化を引き起こしてしまう。更には、スペクトログラムXを基底ベクトルTと結合ベクトルVとの線形演算では再現することが困難な場合もあると考えられる。
【0028】
そこで、本開示では、ニューラルネットの枠組みを利用して、スペクトログラムを行列積及び非線形関数により表現することで、分離信号の再現性を向上させる技術を提供する。
【0029】
<<2.アルゴリズムの概要>>
以下、図3及び図4を参照して、本開示の一実施形態に係る音源分離技術のアルゴリズムの概要を説明する。本実施形態に係る音源分離技術は、事前の学習プロセスと、音源分離する際の分離プロセスとに分かれる。以下では、音源が2つである場合を想定して説明するが、音源は3つ以上であってもよい。
【0030】
図3は、本実施形態に係る音源分離技術の学習プロセスを説明するための図である。図3に示すように、想定される音源ごとにオートエンコーダが用意される。学習プロセスにおいては、音源ごとのオートエンコーダが学習される。例えば、第1の音源に対応するオートエンコーダに教師データD(0、τ),…,D(F、τ)が入力され、教師データD(0、τ),…,D(F、τ)と出力されるE(0、τ),…,E(F、τ)とが一致するようにエンコーダU及びデコーダTが学習される。また、第2の音源に対応するオートエンコーダに教師データD(0、τ),…,D(F、τ)が入力され、教師データD(0、τ),…,D(F、τ)と出力されるE(0、τ),…,E(F、τ)とが一致するようにエンコーダU及びデコーダTが学習される。
【0031】
図4は、本実施形態に係る音源分離技術の分離プロセスを説明するための図である。分離プロセスにおいては、事前に学習されたデコーダを用いて音源分離が行われる。例えば、第1の音源に対応するデコーダTに入力値Vが入力されることで信号E(0、τ),…,E(F、τ)が出力され、第2の音源に対応するデコーダTに入力値Vが入力されることで信号E(0、τ),…,E(F、τ)が出力される。そして、これらの信号が合成された信号Y(0,τ),…,Y(F,τ)と観測信号X(0,τ),…,X(F,τ)との距離が最小化されるように、入力値V及びVが探索される。そして、デコーダTに上記距離を最小化する入力値Vが入力されることで得られる信号E(0、τ),…,E(F、τ)、及びデコーダTに上記距離を最小化する入力値Vが入力されることで得られる信号E(0、τ),…,E(F、τ)に基づいて、分離信号が生成される。
【0032】
なお、Fは周波数帯域を示すインデックスであり、τはフレームインデックスである。アルゴリズムの詳細は、以下で詳しく説明する。
【0033】
<<3.構成例>>
図5は、本実施形態に係る情報処理装置100の論理的な構成の一例を示すブロック図である。図5に示すように、情報処理装置100は、取得部110、音源分離部120及び出力部130を含む。
【0034】
(1)取得部110
取得部110は、音を観測した観測信号を取得する機能を有する。以下、図6を参照して、取得部110の構成を説明する。
【0035】
図6は、本実施形態に係る情報処理装置100の詳細な内部構成の一例を示すブロック図である。図6に示すように、取得部110は、観測信号x(n)を出力する。ここで、nは観測信号のサンプル番号を表す。
【0036】
例えば、取得部110は、マイクロフォン、エレクトレットコンデンサマイクロフォン、又はMEMS(Micro Electro Mechanical Systems)マイクロフォン等により収音された音を示す観測信号を取得する。他にも、取得部110は、CD(Compact Disc)又はHDD(Hard Disk Drive)等の記録媒体に記録された観測信号を取得してもよいし、ネットワーク上からストリーミング等により受信された観測信号を取得してもよい。観測信号は、音響信号として捉えられてもよい。
【0037】
(2)音源分離部120
音源分離部120は、取得部110により取得された観測信号を、想定される複数の音源の各々に対応する複数の分離信号に分離する機能を有する。図5に示すように、音源分離部120は、時間周波数変換部121、中間分離信号生成部122、係数ベクトル保持部123、誤差算出部124、入力ベクトル更新部125、分離信号算出部126、及び時間周波数逆変換部127を含む。
【0038】
・時間周波数変換部121
時間周波数変換部121は、時間領域の観測信号を時間周波数領域の信号に変換する機能を有する。以下、図7を参照して、時間周波数変換部121の構成を説明する。
【0039】
図7は、本実施形態に係る情報処理装置100の詳細な内部構成の一例を示すブロック図である。図7に示すように、時間周波数変換部121は、取得部110から出力された観測信号x(n)が入力され、変換後の観測信号X(τ)を出力する。
【0040】
例えば、時間周波数変換部121は、観測信号x(n)をフレームサイズNサンプルごとにフレーム分割し、取り出したフレームに窓関数を適用し、次いでFFT(Fast Fourier Transform)を適用することで、ある区間の観測信号を周波数領域の信号に変換する。時間周波数変換部121は、フレーム分割においてSサンプルずつ取り出す区間をシフトさせながら繰り返し変換することで、時間領域の観測信号を時間周波数領域の信号に変換する。例えば、時間周波数変換部121は、フレームサイズNを1024、シフトサイズSを512に設定し得る。時間周波数領域に変換された観測信号は、次式で表される。
【0041】
【数4】
【0042】
ここで、f及びFは周波数帯域を示すインデックスであり、τはフレームインデックスである。
【0043】
・中間分離信号生成部122
中間分離信号生成部122は、中間分離信号を生成する機能を有する。以下、図8を参照して、中間分離信号生成部122の構成を説明する。
【0044】
図8は、本実施形態に係る情報処理装置100の詳細な内部構成の一例を示すブロック図である。図8に示すように、中間分離信号生成部122は、係数ベクトル保持部123から出力された係数ベクトルT、T、及び後述する入力ベクトル更新部125から出力された入力ベクトルV(τ)、V(τ)が入力され、中間分離信号E(τ)、E(τ)を出力する。ここで、各変数の下付き文字で付されたインデックスは、音源のインデックスを意味する。以下では、一例として、想定される音源が、音声を発するオブジェクトと雑音を発するオブジェクトの2つであるものとする。もちろん、音源数は3以上の任意の数であってもよい。「1」が付された変数は音声に関する変数を意味し、「2」が付された変数は雑音に関する変数を意味するものとする。例えば、E(τ)は、音声の中間分離信号であり、E(τ)は、雑音の中間分離信号である。
【0045】
また、想定される音源と、実際の観測信号に含まれる音の音源とは、一致していることが望ましいが、一致していなくてもよい。中間分離信号生成部122は、観測信号に含まれる音の音源を推定して、推定された音源を学習対象とした係数ベクトルを、参照する係数ベクトルとして選択してもよい。
【0046】
音源の種類以外にも、係数ベクトルは、学習に用いられたオートエンコーダの種類に応じて異なり得る。そのため、中間分離信号生成部122は、学習されたオートエンコーダの種類に応じた演算により、中間分離信号を生成する。以下では、図9図11を参照して、オートエンコーダの種類ごとの中間分離信号の生成の一例を説明する。
【0047】
−第1の例
図9は、本実施形態に係る中間分離信号の生成に関する第1の例を説明するための図である。第1の例では、活性化関数が設定されないオートエンコーダが学習される。その場合、中間分離信号生成部122は、想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積を計算することで、複数の音源の各々に対応する中間分離信号を生成する。生成される中間分離信号は、次式により表される。
【0048】
【数5】
【0049】
−第2の例
図10は、本実施形態に係る中間分離信号の生成に関する第2の例を説明するための図である。第2の例では、非線形関数が活性化関数として設定されたオートエンコーダが学習される。その場合、中間分離信号生成部122は、想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、複数の音源の各々に対応する中間分離信号を生成する。生成される中間分離信号は、次式により表される。
【0050】
【数6】
【0051】
ここで、g(・)は、非線形関数である。採用され得る非線形関数としては、例えばシグモイド関数、又はReLU(Rectified Linear Unit)関数等が考えられる。
【0052】
シグモイド関数は、入力値が大きくなり過ぎた場合又は小さくなり過ぎた場合に入力値を圧縮して出力する関数である。シグモイド関数が採用される場合、中間部分の再現性が向上する。シグモイド関数は、次式により表される。
【0053】
【数7】
【0054】
ReLU関数は、負値を0に置き換える関数であり、入力値が負値であっても非負値の出力が担保される。なお、分離プロセスにおいて用いられる非線形関数は、学習プロセスにおいて用いられる非線形関数と同一である。ReLU関数は、次式により表される。
【0055】
【数8】
【0056】
他にも、ソフトサイン、ソフトプラス、又はウェーブレット等の任意の非線形関数が採用されてもよい。
【0057】
第2の例によれば、音源分離部120は、非線形関数を適用することで、NMFによる基底ベクトルTと結合ベクトルVとの線形演算では再現することが困難だった音声等の複雑なスペクトログラムを、より精度よく再現することが可能となる。なお、NMFにおける基底ベクトルは、本実施形態における係数ベクトルに対応し、NMFにおける結合ベクトルは、本実施形態における入力ベクトルに対応する。ここで、NMFでは、非線形関数を適用した非線形の演算モデルを学習する枠組みがないので、基底ベクトル及び結合ベクトルの行列積に非線形関数を適用することが困難だった。一方、本実施形態では、学習プロセスにおいてオートエンコーダを用いることにより、非線形の演算モデルの学習が可能となった。そのため、本実施形態では、分離プロセスにおいて非線形モデルを用いること、即ち係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することが可能となった。
【0058】
また、音源分離部120は、非線形関数を適用することにより、少ない係数ベクトルの数(NMFにおける基底ベクトルの基底数に対応)で複雑なスペクトログラムを再現することが可能である。従って、NMFを用いた分離技術と比較して演算量の削減が期待される。
【0059】
なお、適用される非線形関数によって、分離信号の再現精度は変わり得る。例えば、シグモイド関数が適用される場合、その特性により音圧のブレが軽減可能である。
【0060】
−第3の例
図11は、本実施形態に係る中間分離信号の生成に関する第3の例を説明するための図である。第3の例では、非線形関数が活性化関数として設定され、且つ多層構造であるオートエンコーダが学習される。なお、ここでの多層構造のオートエンコーダは、エンコーダ及びデコーダがそれぞれ2層以上の多層構造を有するものとする。その場合、中間分離信号生成部122は、想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することを繰り返し行うことで、複数の音源の各々に対応する中間分離信号を生成する。より正確には、中間分離信号生成部122は、複数の係数ベクトルに関し、係数ベクトル及び入力ベクトルの行列積への非線形関数の適用結果を新たな入力ベクトルとして、係数ベクトル及び入力ベクトルの行列積への非線形関数の適用を再帰的に繰り返すことで、中間分離信号を生成する。例えば、図11に示すように層数が2である場合、生成される中間分離信号は、次式により表される。
【0061】
【数9】
【0062】
ここで、各変数の上付き文字で付されたインデックスは、行列の層(即ち、段目)のインデックスを意味する。例えば、Tは、音声に関するデコーダの1層目の係数ベクトルであり、Tは、音声に関するデコーダの2層目の係数ベクトルである。また、gは、1層目の活性化関数として設定された非線形関数であり、gは、2層目の活性化関数として設定された非線形関数である。
【0063】
もちろん、オートエンコーダは、3層以上の多層構造であってもよい。例えば、3層構造の場合、生成される中間分離信号は、次式により表される。
【0064】
【数10】
【0065】
オートエンコーダが4層構造以上であった場合も、中間分離信号生成部122は、上記と同様にして中間分離信号を生成する。
【0066】
第3の例によれば、音源分離部120は、多層構造のデコーダを用いることで、複雑なスペクトログラムを更に精度よく再現することが可能となる。ここで、活性化関数に非線形関数が設定されることにより、デコーダの多層化が可能となる。活性化関数が設定されない場合又は線形関数が設定される場合の多層構造のデコーダは、等価な単層構造のデコーダに圧縮可能なためである。
【0067】
本実施形態では、少なくとも第2の例又は第3の例が採用されるものとする。即ち、本実施形態では、少なくとも、中間分離信号は、係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで得られるものとする。なお、中間分離信号は、時間周波数領域の信号である。
【0068】
・係数ベクトル保持部123
係数ベクトル保持部123は、図3を参照して上述した学習プロセスにより事前に学習されたオートエンコーダの係数ベクトルを保持する機能を有する。とりわけ、保持される係数ベクトルは、オートエンコーダのデコーダとして事前に学習される。さらに、オートエンコーダのエンコーダとして事前に学習された係数ベクトルが保持されてもよい。係数ベクトル保持部123は、HDD等の非一時的な記録媒体、又はバッファ等の一時的な記録媒体を含み得る。音源分離部120は、上述した学習プロセスを実行する学習部としての機能を有していてもよい。また、学習部は、他の装置に設けられてもよく、係数ベクトル保持部123は学習された係数ベクトルを取得し保持するのみであってもよい。
【0069】
係数ベクトルは、想定される音源ごとに学習される。ある音源に対応する係数ベクトルは、当該音源から出力される音を観測した学習用観測信号(即ち、教師データ)をオートエンコーダへ入力することで学習される。以下、学習部による学習を詳しく説明する。
【0070】
学習部は、分離したい音源数分の、即ち想定される音源数分のオートエンコーダ、及び教師データを用意する。例えば、音源として音声と雑音とが想定される場合、学習部は、音声の学習用観測信号を用いて音声用のオートエンコーダを学習し、雑音の学習用観測信号を用いて雑音用のオートエンコーダを学習する。一例として、学習プロセスを音声のオートエンコーダに関して説明する。音声の学習用観測信号をD(0、τ),…,D(F、τ)とし、オートエンコーダからの出力をE(0、τ),…,E(F、τ)とする。学習部は、D(0、τ),…,D(F、τ)とE(0、τ),…,E(F、τ)とが一致又は距離(例えば、二乗誤差)が最小化するように、内部の係数を学習する。学習部は、雑音に関しても同様に学習を行う。
【0071】
学習により得られた係数のうち、隠れ層から出力層までを結ぶ部分が所謂デコーダ係数である。係数ベクトル保持部123は、音源ごとのオートエンコーダの学習により得られたデコーダ係数Tを、そのまま係数ベクトルTとして保持する。この係数ベクトルTは、中間分離信号生成部122による中間分離信号の生成のために用いられる。
【0072】
また、学習により得られた係数のうち、入力層から隠れ層までを結ぶ部分が所謂エンコーダ係数である。係数ベクトル保持部123は、音源ごとのオートエンコーダの学習により得られたエンコーダ係数Uを保持し得る。このエンコーダ係数Uは、後述する入力ベクトル更新部125により更新される入力ベクトルの初期値の算出に用いられ得る。
【0073】
・誤差算出部124
誤差算出部124は、観測信号と複数の分離信号との関係を示す指標を算出する機能を有する。以下、図12を参照して、誤差算出部124の構成を説明する。
【0074】
図12は、本実施形態に係る情報処理装置100の詳細な内部構成の一例を示すブロック図である。図12に示すように、誤差算出部124は、観測信号X(τ)と中間分離信号E(τ)、E(τ)とが入力され、観測信号X(τ)と複数の分離信号V(τ)との関係を示す指標を出力する。この指標は、例えば観測信号と中間分離信号を複数の音源に関して合成した信号との誤差であってもよい。その場合、誤差算出部124は、例えば時間周波数変換部121から出力される時間周波数領域の観測信号X(τ)と中間分離信号生成部122から出力される中間分離信号E(τ)、E(τ)の総和との誤差を算出する。合成方法は、総和の他、重み付き和等の任意の方法が採用されてもよい。
【0075】
距離尺度としては、二乗誤差、板倉−斉藤距離又はKullback-Leibler距離等の任意の距離尺度が採用され得る。二乗誤差が採用される場合、算出される誤差は、時間周波数領域に変換された観測信号の各時刻における各周波数の振幅スペクトルと、複数の音源に関して得られる複数の時間周波数領域の中間分離信号の各時刻における各周波数の振幅スペクトルの和と、の二乗誤差である。この場合、合成信号Y(τ)及び誤差Jは、それぞれ次式により表される。
【0076】
【数11】
【0077】
・入力ベクトル更新部125
入力ベクトル更新部125は、観測信号と複数の分離信号との関係に基づいて、中間分離信号生成部122に出力する入力ベクトルを逐次的に更新する機能を有する。以下、図13を参照して、入力ベクトル更新部125の構成を説明する。
【0078】
図13は、本実施形態に係る情報処理装置100の詳細な内部構成の一例を示すブロック図である。図13に示すように、入力ベクトル更新部125は、中間分離信号生成部122に出力する入力ベクトルV(τ)、V(τ)を更新して出力する。具体的には、入力ベクトル更新部125は、誤差算出部124により算出される、観測信号と中間分離信号を複数の音源に関して合成した信号との誤差がより小さくなるよう入力ベクトルを逐次的に更新する。例えば、入力ベクトル更新部125は、最小二乗法などの最適化手法を用いて入力ベクトルを逐次的に更新してもよい。
【0079】
入力ベクトル更新部125は、入力ベクトルV(τ)、V(τ)の初期値を乱数により生成してもよい。また、入力ベクトル更新部125は、入力ベクトルV(τ)、V(τ)の初期値を、デコーダと共に学習されたエンコーダに観測信号を入力することで生成してもよい。前者より後者の方がより最適解に近い初期値が生成されるので、更新回数を削減することが可能である。後者の場合、初期値は次式により表される。
【0080】
【数12】
【0081】
ここで、Uは、音声に関するエンコーダの係数ベクトルであり、Uは、雑音に関するエンコーダの係数ベクトルである。
【0082】
・分離信号算出部126
分離信号算出部126は、中間分離信号及び観測信号に基づいて分離信号を算出する機能を有する。以下、図14を参照して、分離信号算出部126の構成を説明する。
【0083】
図14は、本実施形態に係る情報処理装置100の詳細な内部構成の一例を示すブロック図である。図14に示すように、分離信号算出部126は、観測信号X(τ)と中間分離信号E(τ)、E(τ)とが入力され、分離信号Z(f,τ)、Z(f,τ)を出力する。
【0084】
具体的には、分離信号算出部126は、時間周波数領域の中間分離信号の各時刻における各周波数の振幅スペクトルを、複数の音源に関して得られた複数の中間分離信号の各時刻における各周波数の振幅スペクトルの和で割った値を、時間周波数領域に変換された観測信号の各時刻における各周波数の振幅スペクトルに掛けた信号を、分離信号として算出する。より簡易には、分離信号算出部126は、各時間周波数グリッドごとに中間分離信号の比を求め、その比を同グリッドの観測信号に掛けることで、各々の分離信号を算出する。算出される分離信号は、次式により表される。
【0085】
【数13】
【0086】
また、分離信号は、次式により表されてもよい。
【0087】
【数14】
【0088】
変形例として、分離信号算出部126は、時間周波数領域の中間分離信号を、そのまま分離信号として出力してもよい。この場合、上述した比を用いる方法と比較して、計算量を削減することが可能である。
【0089】
・時間周波数逆変換部127
時間周波数逆変換部127は、分離信号算出部126から出力される時間周波数領域の信号である分離信号を、時間領域の信号へ変換することで、最終的な分離信号を生成する機能を有する。以下、図15を参照して、時間周波数逆変換部127の構成を説明する。
【0090】
図15は、本実施形態に係る情報処理装置100の詳細な内部構成の一例を示すブロック図である。図15に示すように、時間周波数逆変換部127は、分離信号Z(f,τ)、Z(f,τ)を入力され、分離信号z(n)、z(n)を出力する。
【0091】
具体的には、時間周波数逆変換部127は、フレームτごとの分離信号に逆FFTを適用することで得られるNサンプルの信号を、Sサンプルずつシフトさせながら重ね合わせることで、時間領域の分離信号を生成する。時間周波数逆変換部127は、このような変換処理を、分離信号ごとに実施する。
【0092】
以上、音源分離部120の各構成要素について説明した。
【0093】
(3)出力部130
出力部130は、音源分離部120により得られた分離信号を出力する機能を有する。例えば、出力部130は、スピーカ又はイヤホン等へ分離信号を出力して再生させてもよい。他にも、出力部130は、HDD等の記録媒体へ分離信号を出力して記録させてもよいし、ネットワークインタフェースに出力してネットワーク上の他の装置へ送信させてもよい。
【0094】
<<4.処理の流れ>>
以上、本実施形態に係る情報処理装置100の構成例を説明した。続いて、図16を参照して、本実施形態に係る情報処理装置100において実行される処理の流れの一例を説明する。
【0095】
図16は、本実施形態に係る情報処理装置100において実行される音源分離処理の流れの一例を示すフローチャートである。
【0096】
図16に示すように、まず、取得部110は、観測信号を取得する(ステップS102)。ここで取得される観測信号は、時間領域の信号である。
【0097】
次いで、時間周波数変換部121は、取得された観測信号を時間領域の信号から時間周波数領域の信号に変換する(ステップS104)。詳しくは、時間周波数変換部121は、取得された観測信号をフレーム分割して窓関数を適用し、次いでFFT適用することで、ある区間の観測信号を周波数領域の信号に変換する。時間周波数変換部121は、取り出す区間をシフトさせながら繰り返し変換することで、時間領域の観測信号を時間周波数領域の信号に変換する。
【0098】
次に、中間分離信号生成部122は、係数ベクトル保持部123に保持された係数ベクトルを読み込む(ステップS106)。より詳しくは、中間分離信号生成部122は、想定される複数の音源の各々に対応するオートエンコーダのデコーダとして、事前に学習された係数ベクトルを係数ベクトル保持部123から読み込む。
【0099】
次いで、入力ベクトル更新部125は、入力ベクトルを初期化する(ステップS108)。例えば、入力ベクトル更新部125は、入力ベクトルの初期値を乱数を用いて生成してもよい。また、入力ベクトル更新部125は、入力ベクトルの初期値を、デコーダと共に学習されたエンコーダに観測信号を入力することで生成してもよい。
【0100】
次に、中間分離信号生成部122は、中間分離信号を生成する(ステップS110)。例えば、中間分離信号生成部122は、想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、中間分離信号を生成する。なお、ここでは上述した第2の例又は第3の例が採用されるものとする。
【0101】
次いで、誤差算出部124は、観測信号と複数の中間分離信号を合成した信号との誤差を算出する(ステップS112)。例えば、誤差算出部124は、誤差算出部124は、時間周波数領域の観測信号と複数の中間分離信号の総和との二乗誤差を算出する。
【0102】
次に、音源分離部120は、算出された誤差が規定値(即ち、閾値)よりも小さいか否かを判定する(ステップS114)。
【0103】
小さくないと判定された場合(ステップS114/NO)、入力ベクトル更新部125は、入力ベクトルを更新する(ステップS116)。その後、処理は再度ステップS110に戻る。
【0104】
小さいと判定された場合(ステップS114/YES)、分離信号算出部126は、中間分離信号及び観測信号に基づいて分離信号を算出する(ステップS118)。例えば、分離信号算出部126は、各時間周波数グリッドごとに中間分離信号の比を求め、その比を同グリッドの観測信号に掛けることで、各々の分離信号を算出する。
【0105】
次いで、時間周波数逆変換部127は、時間周波数領域の信号である分離信号を、時間領域の信号に変換する(ステップS120)。詳しくは、時間周波数逆変換部127は、フレームごとの分離信号に逆FFTを適用することで得られる時間領域の信号を、シフトさせながら重ね合わせることで、時間領域の分離信号を生成する。
【0106】
そして、出力部130は、生成された音源ごとの時間領域の分離信号を出力する(ステップS122)。
【0107】
<<5.ハードウェア構成例>>
最後に、図17を参照して、本実施形態に係る情報処理装置のハードウェア構成について説明する。図17は、本実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。なお、図17に示す情報処理装置900は、例えば、図5に示した情報処理装置100を実現し得る。本実施形態に係る情報処理装置100による情報処理は、ソフトウェアと、以下に説明するハードウェアとの協働により実現される。
【0108】
図17に示すように、情報処理装置900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903及びホストバス904aを備える。また、情報処理装置900は、ブリッジ904、外部バス904b、インタフェース905、入力装置906、出力装置907、ストレージ装置908、ドライブ909、接続ポート911及び通信装置913を備える。情報処理装置900は、CPU901に代えて、又はこれとともに、電気回路、DSP若しくはASIC等の処理回路を有してもよい。
【0109】
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。CPU901は、例えば、図5に示す音源分離部120、より詳しくは時間周波数変換部121、中間分離信号生成部122、誤差算出部124、入力ベクトル更新部125、分離信号算出部126、及び時間周波数逆変換部127を形成し得る。
【0110】
CPU901、ROM902及びRAM903は、CPUバスなどを含むホストバス904aにより相互に接続されている。ホストバス904aは、ブリッジ904を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス904bに接続されている。なお、必ずしもホストバス904a、ブリッジ904および外部バス904bを分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0111】
入力装置906は、例えば、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチ及びレバー等、ユーザによって情報が入力される装置によって実現される。また、入力装置906は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置900の操作に対応した携帯電話やPDA等の外部接続機器であってもよい。さらに、入力装置906は、例えば、上記の入力手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などを含んでいてもよい。情報処理装置900のユーザは、この入力装置906を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。マイクロフォン等の音声入力装置は、例えば、図5に示す取得部110を形成し得る。
【0112】
出力装置907は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で形成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置、レーザープロジェクタ、LEDプロジェクタ及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置907は、例えば、情報処理装置900が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置900が行った各種処理により得られた結果を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。上記音声出力装置は、例えば、図5に示す出力部130を形成し得る。
【0113】
ストレージ装置908は、情報処理装置900の記憶部の一例として形成されたデータ格納用の装置である。ストレージ装置908は、例えば、HDD等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により実現される。ストレージ装置908は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置908は、CPU901が実行するプログラムや各種データ及び外部から取得した各種のデータ等を格納する。ストレージ装置908は、例えば、図5に示す係数ベクトル保持部123を形成し得る。
【0114】
ドライブ909は、記憶媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ909は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記録されている情報を読み出して、RAM903に出力する。また、ドライブ909は、リムーバブル記憶媒体に情報を書き込むこともできる。ドライブ909は、図5に示す取得部110及び/又は出力部130を形成し得る。
【0115】
接続ポート911は、外部機器と接続されるインタフェースであって、例えばUSB(Universal Serial Bus)などによりデータ伝送可能な外部機器との接続口である。接続ポート911は、図5に示す取得部110及び/又は出力部130を形成し得る。
【0116】
通信装置913は、例えば、ネットワーク920に接続するための通信デバイス等で形成された通信インタフェースである。通信装置913は、例えば、有線若しくは無線LAN(Local Area Network)、LTE(Long Term Evolution)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置913は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置913は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。通信装置913は、図5に示す取得部110及び/又は出力部130を形成し得る。
【0117】
なお、ネットワーク920は、ネットワーク920に接続されている装置から送信される情報の有線、または無線の伝送路である。例えば、ネットワーク920は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク920は、IP−VPN(Internet Protocol−Virtual Private Network)などの専用回線網を含んでもよい。
【0118】
以上、本実施形態に係る情報処理装置900の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて実現されていてもよいし、各構成要素の機能に特化したハードウェアにより実現されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【0119】
なお、上述のような本実施形態に係る情報処理装置900の各機能を実現するためのコンピュータプログラムを作製し、PC等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ等である。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信されてもよい。
【0120】
<<6.まとめ>>
以上、図1図17を参照して、本開示の一実施形態について詳細に説明した。上記説明したように、本実施形態に係る情報処理装置100は、音を観測した観測信号を取得し、想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、取得された観測信号を複数の音源の各々に対応する複数の分離信号に分離する。情報処理装置100は、非線形関数を適用することで、NMFによる基底ベクトルTと結合ベクトルVとの線形演算では再現することが困難だった音声等の複雑なスペクトログラムを、より精度よく再現することが可能となる。従って、情報処理装置100は、NMFを用いた分離技術よりも、分離性能を改善することが可能となる。分離性能の改善により、分離信号の音質が向上して、例えば聴覚上違和感のない分離信号の出力が可能となる。また、情報処理装置100は、非線形関数を適用することにより、少ない係数ベクトルの数(NMFにおける基底ベクトルの基底数に対応)で複雑なスペクトログラムを再現することが可能となる。従って、NMFを用いた分離技術と比較して演算量の削減が期待される。
【0121】
また、本実施形態では、分離信号の生成、より詳しくは中間分離信号の生成のために多層構造のデコーダが用いられてもよい。デコーダの多層化により、複雑なスペクトログラムを更に精度よく再現することが可能となる。
【0122】
また、本実施形態では、ニューラルネットの枠組みが用いられる。ニューラルネットに関しては、多くのハードウェア(例えば、GPU(Graphics Processing Unit)、FPGA(Field−Programmable Gate Array)等)に最適化されたライブラリ(例えば、Theano、cuda−convnet、cuBLAS、Caffe等)等が充実している。そのため、本実施形態に係る音源分離技術は、容易な実装及び高速演算が可能である。
【0123】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0124】
例えば、上記実施形態では、ニューラルネットの一例としてオートエンコーダを利用した例に説明したが、本技術はかかる例に限定されない。例えば、他の種類のニューラルネットにより、上述したデコーダとしての機能が実現されてもよい。
【0125】
また、上記実施形態に係る情報処理装置100は、多様な装置として実現され得る。例えば、情報処理装置100は、スマートフォン、ICレコーダ、ゲーム機の外付けマイク、その他の音声認識を用いる機器として実現され得る。また、上記説明した音源分離技術は、アプリケーションとして提供されてもよい。例えば、上記説明した音源分離技術は、会議音声の録音、ハンズフリー通話、音声対話システム、又は音声コマンド入力に関する雑音除去機能として提供され得る。また、上記説明した音源分離技術は、自動採譜システム、又は楽器ごとの定位感操作に関する、楽曲に含まれる音(即ち、楽器)の個別分離機能として提供され得る。
【0126】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【0127】
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
音を観測した観測信号を取得する取得部と、
想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、前記取得部により取得された前記観測信号を前記複数の音源の各々に対応する複数の分離信号に分離する音源分離部と、
を備える情報処理装置。
(2)
前記係数ベクトルは、オートエンコーダのデコーダとして事前に学習される、前記(1)に記載の情報処理装置。
(3)
ある音源に対応する前記係数ベクトルは、当該音源から出力される音を観測した学習用観測信号をオートエンコーダへ入力することで学習される、前記(2)に記載の情報処理装置。
(4)
前記音源分離部は、複数の前記係数ベクトルに関し、前記係数ベクトル及び前記入力ベクトルの行列積への非線形関数の適用結果を新たな前記入力ベクトルとして、前記係数ベクトル及び前記入力ベクトルの行列積への非線形関数の適用を再帰的に繰り返す、前記(1)〜(3)のいずれか一項に記載の情報処理装置。
(5)
前記音源分離部は、前記観測信号と複数の前記分離信号との関係に基づいて前記入力ベクトルを逐次的に更新する、前記(1)〜(4)のいずれか一項に記載の情報処理装置。
(6)
前記音源分離部は、前記入力ベクトルの初期値を、デコーダと共に学習されたエンコーダに前記観測信号を入力することで生成する、前記(5)に記載の情報処理装置。
(7)
前記音源分離部は、前記入力ベクトルの初期値を乱数により生成する、前記(5)に記載の情報処理装置。
(8)
前記音源分離部は、前記観測信号と、前記係数ベクトル及び前記入力ベクトルの行列積に非線形関数を適用することで得られる中間分離信号を前記複数の音源に関して合成した信号と、の誤差がより小さくなるよう前記入力ベクトルを逐次的に更新する、前記(5)〜(7)のいずれか一項に記載の情報処理装置。
(9)
前記誤差は、時間周波数領域に変換された前記観測信号の各時刻における各周波数の振幅スペクトルと、前記複数の音源に関して得られる複数の時間周波数領域の前記中間分離信号の各時刻における各周波数の振幅スペクトルの和と、の二乗誤差である、前記(8)に記載の情報処理装置。
(10)
前記音源分離部は、前記係数ベクトル及び前記入力ベクトルの行列積に非線形関数を適用することで得られる時間周波数領域の中間分離信号の各時刻における各周波数の振幅スペクトルを、前記複数の音源に関して得られた複数の前記中間分離信号の各時刻における各周波数の振幅スペクトルの和で割った値を、時間周波数領域に変換された前記観測信号の各時刻における各周波数の振幅スペクトルに掛けた信号を時間領域の信号に変換することで、前記分離信号を生成する、前記(1)〜(9)のいずれか一項に記載の情報処理装置。
(11)
前記音源分離部は、前記行列積に非線形関数を適用することで得られる時間周波数領域の中間分離信号を時間領域の信号に変換することで、前記分離信号を生成する、前記(1)〜(9)のいずれか一項に記載の情報処理装置。
(12)
音を観測した観測信号を取得することと、
想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、取得された前記観測信号を前記複数の音源の各々に対応する複数の分離信号に分離することと、
を含む、プロセッサにより実行される情報処理方法。
(13)
コンピュータを、
音を観測した観測信号を取得する取得部と、
想定される複数の音源の各々に対応する係数ベクトル及び入力ベクトルの行列積に非線形関数を適用することで、前記取得部により取得された前記観測信号を前記複数の音源の各々に対応する複数の分離信号に分離する音源分離部と、
として機能させるためのプログラムが記録された記録媒体。
【符号の説明】
【0128】
100 情報処理装置
110 取得部
120 音源分離部
121 時間周波数変換部
122 中間分離信号生成部
123 係数ベクトル保持部
124 誤差算出部
125 入力ベクトル更新部
126 分離信号算出部
127 時間周波数逆変換部
130 出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17