(57)【要約】【課題】オンラインで精度良くマスク推定を行うこと。【解決手段】第１マスク推定部１２は、複数の位置で収録した対象セグメントの観測信号から得られる第１の特徴量を基に、観測信号に対する目的信号の占有度である第１のマスクを推定する。第２マスク推定部１４は、対象セグメントにおける第１のマスクの推定結果と、観測信号から得られる第２の特徴量と、を基に、第２の特徴量をモデル化するパラメータと、観測信号に対する目的信号の占有度である第２のマスクとを推定する。【選択図】図１
2020034882.tif 000002
【特許請求の範囲】
【請求項１】
連続する時間のセグメントのうち、処理対象とするセグメントを対象セグメントとして、
複数の位置で収録した対象セグメントの観測信号から得られる第１の特徴量を基に、前記対象セグメントの観測信号に対する目的信号の占有度である第１のマスクを推定する第１マスク推定部と、
前記対象セグメントにおける前記第１のマスクの推定結果と、前記対象セグメントの観測信号から得られる第２の特徴量と、を基に、前記第２の特徴量をモデル化するパラメータと前記観測信号に対する前記目的信号の占有度である第２のマスクとを推定する第２マスク推定部と、
を有することを特徴とするマスク推定装置。
【請求項２】
前記第２マスク推定部は、
前記対象セグメントまでの前記第１のマスクの累積和と、前記対象セグメントの前記第２の特徴量及び前記第２のマスクと、を基に前記パラメータを更新する第１更新部と、
前記対象セグメントの前記第２の特徴量、前記第１のマスク、及び前記パラメータを基に、前記第２のマスクを更新する第２更新部と、
所定の収束条件が満たされるまで、前記第１更新部及び前記第２更新部を繰り返し実行させる判定部と、
を有することを特徴とする請求項１に記載のマスク推定装置。
【請求項３】
前記第１マスク推定部は、ニューラルネットワークを用いて前記第１のマスクを推定し、
第２マスク推定部は、前記パラメータを条件とした場合の前記第２の特徴量の分布モデル及び前記第１のマスクを基に、前記第２のマスクを推定することを特徴とする請求項１又は２に記載のマスク推定装置。
【請求項４】
マスクの推定対象のセグメントである対象セグメントまでの観測信号に含まれている目的信号の量が、所定の閾値を超えているか否かを判定し、
前記目的信号の量が前記閾値を超えている場合は、前記第２マスク推定部が、推定済みの前記パラメータを基に前記第２のマスクを推定するように制御し、
前記目的信号の量が前記閾値を超えていない場合は、前記第２マスク推定部が、前記第１のマスクの推定結果を前記第２のマスクの推定値として代用するように制御する制御部をさらに有することを特徴とする請求項１から３のいずれか１項に記載のマスク推定装置。
【請求項５】
コンピュータによって実行されるマスク推定方法であって、
連続する時間のセグメントのうち、処理対象とするセグメントを対象セグメントとして、
複数の位置で収録した対象セグメントの観測信号から得られる第１の特徴量を基に、前記対象セグメントの観測信号に対する目的信号の占有度である第１のマスクを推定する第１マスク推定工程と、
前記対象セグメントにおける前記第１のマスクの推定結果と、前記対象セグメントの観測信号から得られる第２の特徴量と、を基に、前記第２の特徴量をモデル化するパラメータと前記観測信号に対する前記目的信号の占有度である第２のマスクとを推定する第２マスク推定工程と、
を含むことを特徴とするマスク推定方法。
【請求項６】
コンピュータを、請求項１から４のいずれか１項に記載のマスク推定装置として機能させるためのマスク推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスク推定装置、マスク推定方法及びマスク推定プログラムに関する。
【背景技術】
【０００２】
従来、音声を観測して得られた観測信号から、当該観測信号における目的の信号の占有度であるマスクを推定する技術が知られている。ここで、推定されたマスクは、自動音声認識（ＡＳＲ：automatic  speech  recognition）における雑音除去のためのビームフォーミング等に用いられる。
【０００３】
非特許文献１には、複数のマイクロホンで収録された観測信号から精度良くマスクを推定するために、ニューラルネットワークを用いたマスク推定の方法と、空間クラスタリングによりマスクを推定する方法とを組み合わせる技術が開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Tomohiro  Nakatani,  Nobutaka  Ito,  Takuya  Higuchi,  Shoko  Araki,  and  Keisuke  Kinoshita,  “INTEGRATING  DNN-BASED  AND  SPATIAL  CLUSTERING-BASED  MASK  ESTIMATION  FOR  ROBUST  MVDR  BEAMFORMING,”  Proc.  IEEE  ICASSP2017,  pp.286-290,  2017.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１に開示された技術は、全ての観測信号を読み込んでからバッチ処理によりマスクを推定するものである。ここで、マスクに基づく自動音声認識をスマートスピーカ等へ応用することを考えた場合、時々刻々と変化する環境に応じてマスクを逐次的に推定するオンライン型の技術が要求されることもある。しかしながら、非特許文献１に開示された技術では、オンラインでマスク推定を行うことができなかった。このように、従来の技術には、オンラインで精度良くマスク推定を行うことができない場合があるという問題がある。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、マスク推定装置は、連続する時間のセグメントのうち、処理対象とするセグメントを対象セグメントとして、複数の位置で収録した対象セグメントの観測信号から得られる第１の特徴量を基に、前記対象セグメントの観測信号に対する目的信号の占有度である第１のマスクを推定する第１マスク推定部と、前記対象セグメントにおける前記第１のマスクの推定結果と、前記対象セグメントの観測信号から得られる第２の特徴量と、を基に、前記第２の特徴量をモデル化するパラメータと前記観測信号に対する前記目的信号の占有度である第２のマスクとを推定する第２マスク推定部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、オンラインで精度良くマスク推定を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係るマスク推定装置の構成の一例を示す図である。
【図２】図２は、第１の実施形態に係る第２マスク推定部の構成の一例を示す図である。
【図３】図３は、第１の実施形態に係るマスク推定装置の処理の流れを示すフローチャートである。
【図４】図４は、第１の実施形態に係るマスク推定装置の処理の流れを示すフローチャートである。
【図５】図５は、第２の実施形態に係るマスク推定装置の構成の一例を示す図である。
【図６】図６は、第２の実施形態に係るマスク推定装置の処理の流れを示すフローチャートである。
【図７】図７は、実験に用いた音声のデータを示す図である。
【図８】図８は、実験におけるハイパーパラメータを示す図である。
【図９】図９は、実験結果を示す図である。
【図１０】図１０は、実験結果を示す図である。
【図１１】図１１は、マスク推定プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係るマスク推定装置、マスク推定方法及びマスク推定プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【００１０】
［第１の実施形態］
第１の実施形態のマスク推定装置には、連続する時間のセグメントのうちの対象セグメントにおいて複数の位置で収録した観測信号、又は観測信号から抽出された特徴量が入力される。ここで、観測信号には、目的音源から発生する目的音声及び背景雑音の両方が含まれる。また、観測信号は、複数の異なる位置に設置されたマイクロホンによって収録される。
【００１１】
マスク推定装置１０は、観測信号から目的信号を抽出するためのマスクを推定することができる。この場合、マスクは、各時間周波数点における、観測信号を目的音声の信号が占有している確率である。つまり、マスクは、各時間周波数点における観測信号に対する目的音声の信号の占有度である。同様に、マスク推定装置１０は、観測信号から雑音を抽出するためのマスクを推定することができる。この場合、マスクは、各時間周波数点における、観測信号を雑音信号が占有している確率である。つまり、マスクは、各時間周波数点における観測信号に対する雑音信号の占有度である。以降、目的音声の信号を目的信号と呼び、目的音声以外の音の信号を雑音信号と呼ぶ。例えば、目的音声は、特定の話者が発する音声である。
【００１２】
［第１の実施形態の構成］
図１を用いて、第１の実施形態のマスク推定装置の構成について説明する。図１は、第１の実施形態に係るマスク推定装置の構成の一例を示す図である。図１に示すように、マスク推定装置１０は、第１特徴量抽出部１１、第１マスク推定部１２、第２特徴量抽出部１３及び第２マスク推定部１４を有する。
【００１３】
まず、マスク推定装置１０は、ミニバッチ単位で観測信号の入力を受け付ける。ここで、ミニバッチは所定の時間セグメントの単位である。例えば、観測信号の収録を開始してから０ｍｓ〜５００ｍｓを１番目のミニバッチに設定し、５００ｍｓ〜７５０ｍｓを２番目のミニバッチに設定し、以降２５０ｍｓごとにミニバッチを設定することができる。また、各ミニバッチの長さは一定であってもよいし、異なっていてもよい。以降、Ｂｌは、ｌ番目のミニバッチを表すものとする。つまり、観測信号全体を所定時間ごとに分割した部分区間をミニバッチという。
【００１４】
マスク推定装置１０は、ミニバッチ単位で入力された観測信号に対し、短時間周波数分析に基づき短時間フレームごとの周波数領域信号に変換する。なお、マスク推定装置１０には、この変換が行われた後の観測信号が入力されてもよい。以下では、この変換のために、一例として、短時間フーリエ変換（ＳＴＦＴ：short-time  Fourier  transform）を用いるものとして説明する。ｙｎ，ｆ，ｍは、観測信号のＳＴＦＴを表すものとする。ここで、ｎ及びｆは、それぞれ時間及び周波数のインデックスである。また、ｍは、観測信号を収録したマイクロホンを表すインデックスである。また、１≦ｎ≦Ｎｔ、０≦ｆ≦Ｎｆ、及び１≦ｍ≦Ｎｍが成り立つものとする。
【００１５】
第１特徴量抽出部１１は、観測信号のＳＴＦＴｙｎ，ｆ，ｍからスペクトル特徴量Ｙｎ，ｍを抽出する。具体的には、第１特徴量抽出部１１は、（１）式に示すように、ｙｎ，ｆ，ｍの対数を要素とするベクトルＹｎ，ｍをスペクトル特徴量として抽出する。
【００１６】
【数１】
2020034882.tif 000003
【００１７】
【数２】
2020034882.tif 000004
【００１８】
第１マスク推定部１２は、１つ、もしくは、複数の位置で収録した対象セグメントの観測信号から得られるスペクトル特徴量を基に、第１のマスクを推定する。ここで、対象セグメントは、マスク推定装置１０に入力された観測信号に対応するミニバッチである。また、スペクトル特徴量は、第１の特徴量の一例である。
【００１９】
具体的には、第１マスク推定部１２は、ニューラルネットワークを用いて第１のマスクを推定する。第１マスク推定部１２は、第１特徴量抽出部１１によって抽出されたスペクトル特徴量Ｙｎ，ｍをニューラルネットワークに入力し、当該ニューラルネットワークの出力として、ｍ番目のマイクで収録した観測信号のみに基づきマスクＭｎ，ｆｄ，ＤＮＮを得る。
【００２０】
また、第１マスク推定部１２は、複数のマイクのそれぞれで収録した観測信号に基づきマスクを推定し、複数のマスクの推定値を得たのち、複数のマスクの推定値を統合して１つのマスクの推定値とすることもできる。マスクの統合法としては、推定値間で平均値をとる、中央値（メジアン）をとる等の方法がある。
【００２１】
要するに、第１マスク推定部１２は、複数の位置で収録した対象セグメントの観測信号から得られる第１の特徴量を基に、前記対象セグメントの観測信号に対する目的信号の占有度である第１のマスクを推定すればよく、第１のマスクの計算には、対象セグメントの観測信号の一部（例えば、ｍ番目のマイクについての観測信号）を用いてもよいし、観測信号全体（Ｍ個のマイクについての観測信号）を用いてもよい。
【００２２】
第１マスク推定部１２では、逐次的に入力されるスペクトル特徴量をオンラインで処理可能なニューラルネットワークが用いられる。例えば、第１マスク推定部１２では、ＬＳＴＭ（long  short-term  memory）ネットワークが用いられる。また、ニューラルネットワークのパラメータは、目的音声又は雑音の両方を含むシミュレーション音声等を用いて学習済みであるものとする。
【００２３】
ここで、ｄは、０又は１をとる。また、第１マスク推定部１２は、Ｍｎ，ｆ０，ＤＮＮ、及びＭｎ，ｆ１，ＤＮＮの２種類のマスクを得ることができる。Ｍｎ，ｆ０，ＤＮＮは、時間周波数点（ｎ，ｆ）における観測信号から雑音信号を抽出するマスクである。一方、Ｍｎ，ｆ１，ＤＮＮは、時間周波数点（ｎ，ｆ）における観測信号から目的信号を抽出するマスクである。Ｍｎ，ｆｄ，ＤＮＮは、０から１の範囲の数値である。
【００２４】
また、Ｍｎ，ｆ０，ＤＮＮ＋Ｍｎ，ｆ１，ＤＮＮ＝１のように決めておけば、第１マスク推定部１２は、いずれか一方のマスクをニューラルネットワークから出力し、他方のマスクは、当該出力したマスクを１から引くことで計算することもできる。このため、第１マスク推定部１２は、ニューラルネットワークからＭｎ，ｆ０，ＤＮＮ及びＭｎ，ｆ１，ＤＮＮの両方を出力するようにしてもよいし、どちらか一方を出力するようにしてもよい。
【００２５】
第２特徴量抽出部１３は、ベクトルｙｎ，ｆから、（４）式に示すように、空間特徴量Ｘｎ，ｆを抽出する。つまり、第２特徴量抽出部１３は、対象セグメントの観測信号から空間特徴量Ｘｎ，ｆを抽出する。また、（３）式に示すように、ベクトルｙｎ，ｆの要素は、マイクロホンごとの観測信号のＳＴＦＴである。ここで、｜｜・｜｜は、ユークリッドノルムを表す。また、Ｔは、非共役転置を表す。
【００２６】
【数３】
2020034882.tif 000005
【００２７】
【数４】
2020034882.tif 000006
【００２８】
第２マスク推定部１４は、対象セグメントにおける第１のマスクの推定結果と、対象セグメントの観測信号から得られる空間特徴量と、を基に、対象セグメントの空間特徴量をモデル化する空間パラメータと観測信号に対する目的信号の占有度である第２のマスクとを推定する。ここで、空間特徴量は、第２の特徴量の一例である。
【００２９】
具体的には、第２マスク推定部１４は、対象セグメントごとに、空間パラメータを条件とした場合の空間特徴量の分布モデル及び第１のマスクを基に、第２のマスクを推定する。このとき、第２マスク推定部１４は、空間特徴量の分布モデルとして、複素角度ガウス混合モデル（ｃＡＣＧＭＭ：complex  angular  central  Gaussian  mixture  model）を用いる。ｃＡＣＧＭＭは（５）式のように定義される。
【００３０】
【数５】
2020034882.tif 000007
【００３１】
ここで、パラメータ集合θＳＣは、｛｛ｗｄｆ｝，｛Ｒｄｆ｝｝と表される。また、ｗｄｆは、混合重みであり、ｄｎ，ｆの事前確率である。つまり、ｗｄｆ＝ｐ（ｄｎ，ｆ＝ｄ）と書ける。なお、後述（[００４６]段落）のように、本実施形態では、ｗｄｆは、第１のマスクと等価であり、その推定値で置き換えられるものとする。また、（５）式は、ｄが与えられたときの、複素角度ガウス（ｃＡＣＧ：complex  angular  central  Gaussian）分布で定義される空間特徴量Ｘの条件付き分布を表す。このとき、空間パラメータＲｄｆは、複素角度ガウス分布の形状を定めるパラメータであり、Ｎｍ×Ｎｍ次元の正定値エルミート行列である。ここで、ｄｅｔは行列式を表す。また、Ｈは共役転置を表す。
【００３２】
第２マスク推定部１４は、上記の複素角度ガウス混合モデルを用いて、ＥＭ（expectation-maximization）アルゴリズムにより第２のマスクを推定する。図２は、第１の実施形態に係る第２マスク推定部の構成の一例を示す図である。図２に示すように、第２マスク推定部１４は、設定部１４１、第１更新部１４２、第２更新部１４３、判定部１４４、及び記憶部１４５を有する。なお、図２では記憶部１４５が第２マスク推定部１４内に設けられているが、記憶部１４５を第２マスク推定部１４の外側、つまり、マスク推定装置１０内の記憶部として設けてもよいことは言うまでもない。
【００３３】
設定部１４１は、対象セグメントにおける第２のマスク及び空間パラメータの初期値として、対象セグメントに対して推定された第１のマスク及び１つ前のセグメントにおける空間パラメータをそれぞれ設定する。具体的には、設定部１４１は、（６）式のように第２のマスクＭｎ，ｆｄ，ＩＮＴの初期値を設定する。なお、第２マスク推定部１４は、第１マスク推定部１２から第１のマスクＭｎ，ｆｄ，ＤＮＮを取得する。また、対象セグメントに対応するミニバッチをＢｌとすると、設定部１４１は、（７）式のように空間パラメータＲｆ，ｌｄの初期値を設定する。また、設定部１４１は、第１のマスクの累積和Λｆ，ｌ−１ｄを（８）式のように設定する。
【００３４】
【数６】
2020034882.tif 000008
【００３５】
【数７】
2020034882.tif 000009
【００３６】
【数８】
2020034882.tif 000010
【００３７】
第１更新部１４２は、対象セグメントまでの第１のマスクの累積和と、対象セグメントの空間特徴量及び第２のマスクと、を基に空間パラメータを更新する。具体的には、第１更新部１４２は、（９）式のように空間パラメータＲｆ，ｌｄを更新する。このとき、第１更新部１４２は、（１０）式のように更新空間パラメータＲｆ，ｎｅｗｄを計算する。
【００３８】
【数９】
2020034882.tif 000011
【００３９】
【数１０】
2020034882.tif 000012
【００４０】
第２更新部１４３は、対象セグメントの空間特徴量、第１のマスク、及び空間パラメータを基に、第２のマスクを更新する。具体的には、第２更新部１４３は、（１１）式のように第２のマスクＭｎ，ｆｄ，ＩＮＴを更新する。
【００４１】
【数１１】
2020034882.tif 000013
【００４２】
判定部１４４は、第２更新部１４３によって第２のマスクが更新された場合、所定の収束条件が満たされているか否かを判定し、収束条件が満たされていないと判定した場合、第１更新部１４２及び第２更新部１４３に処理をさらに実行させる。つまり、第１更新部１４２及び第２更新部１４３は、所定の収束条件が満たされるまで処理を繰り返すことになる。その際、繰り返しのたびに第２のマスク及び空間パラメータが更新され、第２のマスクの目的音声の抽出精度が向上していく。
【００４３】
また、判定部１４４の収束条件は、繰り返し数が閾値を超えたことであってもよい。このとき、繰り返し数の閾値は１回とすることができる。すなわち、第１更新部１４２及び第２更新部１４３は、１つのミニバッチに対し、それぞれ１回のみ更新処理を行うようにしてもよい。また、判定部１４４が収束を判定する条件は、１回の更新における第２のマスクの更新量や空間パラメータの更新量が一定値以下になったことであってもよい。
【００４４】
また、判定部１４４は、（１２）式で表される尤度関数Ｌ（θＳＣ）の値の更新量が一定値以下になった場合に収束したと判定してもよい。Ｘｌは、ミニバッチＢｌまでに観測された空間特徴量Ｘｎ，ｆの集合である。また、Ｙｌは、ミニバッチＢｌまでに観測された空間パラメータＹｎ，ｍの集合である。また、θＤＮＮは、第１マスク推定部１２のニューラルネットワークのパラメータである。
【００４５】
【数１２】
2020034882.tif 000014
【００４６】
また、（１２）式は、（１３）式のように書き換えられる。このとき、（１３）式の右辺のｐ（ｄｎ，ｆ＝ｄ｜ｙｌ；θＤＮＮ）は、第１マスク推定部１２によって推定される第１のマスクＭｎ，ｆｄ，ＤＮＮと等価であるとみなすことができる。したがって、本実施形態では、ｐ（ｄｎ，ｆ＝ｄ｜ｙｌ；θＤＮＮ）をＭｎ，ｆｄ，ＤＮＮに置き換えて、尤度関数を最大化する。このため、第２マスク推定部１４は、非特許文献１に記載された方法と同様の方法で、各ミニバッチごとに尤度関数Ｌ（θＳＣ）を最大化し、第２のマスクＭｎ，ｆｄ，ＩＮＴ及びパラメータθＳＣの推定を行うことができる。また、各ミニバッチで推定された空間パラメータを記憶部が記憶し、次のミニバッチで空間パラメータの初期値として用い、更新するようにすることで、ミニバッチごとにバラバラに尤度関数を最大化するよりも、高い精度でマスク推定をすることができる。
【００４７】
【数１３】
2020034882.tif 000015
【００４８】
記憶部１４５は、前のセグメントでの計算値であって、対象セグメントの初期設定で用いられる値を記憶する。つまり、記憶部１４５は、ミニバッチＢｌ−１において計算された空間パラメータＲｆ，ｌ−１ｄ及び第１のマスクの累積和Λｆ，ｌ−１ｄを記憶する。そして、設定部１４１は、ミニバッチＢｌにおいて空間パラメータＲｆ，ｌｄ及び第１のマスクの累積和Λｆ，ｌｄを設定する際に、記憶部１４５から空間パラメータＲｆ，ｌ−１ｄ及び第１のマスクの累積和Λｆ，ｌ−１ｄを取得する。
【００４９】
なお、ミニバッチが先頭である場合、すなわち、ｌ＝１の場合、空間パラメータＲｆ，ｌ−１ｄは未計算である。この場合、設定部１４１は、非特許文献１に記載された方法と同様に、空間パラメータの初期値Ｒｆ，０ｄに所定の学習データを使って学習した値を設定してもよい。例えば、目的信号の空間パラメータＲｆ，０１の学習データは、特定の話者が雑音のない環境で発話した際に得られる観測信号である。また、設定部１４１は、空間パラメータの初期値Ｒｆ，０１に単位行列を設定してもよい。さらに、雑音信号の空間パラメータＲｆ，００は、雑音のみが含まれている観測信号から推定してもよい。
【００５０】
［第１の実施形態の処理］
図３を用いて、本実施形態のマスク推定装置１０の処理の流れを説明する。図３は、第１の実施形態に係るマスク推定装置の処理の流れを示すフローチャートである。
【００５１】
図３に示すように、まず、マスク推定装置１０は、ミニバッチ単位の観測信号の入力を受け付ける（ステップＳ１１）。ここで、マスク推定装置１０は、観測信号のＳＴＦＴを計算してもよい。また、マスク推定装置１０に入力される観測信号は、ＳＴＦＴが行われたものであってもよい。
【００５２】
次に、マスク推定装置１０は、マイクロホンごとの観測信号のＳＴＦＴからスペクトル特徴量を抽出する（ステップＳ１２）。そして、マスク推定装置１０は、スペクトル特徴量から第１のマスクを推定する（ステップＳ１３）。このとき、マスク推定装置１０は、ニューラルネットワークを用いて第１のマスクを推定することができる。
【００５３】
さらに、マスク推定装置１０は、観測信号のＳＴＦＴから空間特徴量を抽出する（ステップＳ１４）。そして、マスク推定装置１０は、第１のマスク及び空間特徴量から第２のマスクを推定する（ステップＳ１５）。
【００５４】
ここで、マスク推定装置１０は、未処理のミニバッチがあるか否かを判定する（ステップＳ１６）。未処理のミニバッチがある場合（ステップＳ１６、Ｙｅｓ）、マスク推定装置１０は、ステップＳ１１に戻り、次のミニバッチの観測信号の入力を受け付ける。一方、未処理のミニバッチがない場合（ステップＳ１６、Ｎｏ）、マスク推定装置１０は処理を終了する。
【００５５】
図４を用いて、マスク推定装置１０が第２のマスクを推定する処理（図３のステップＳ１５）を詳細に説明する。図４は、第１の実施形態に係るマスク推定装置の処理の流れを示すフローチャートである。
【００５６】
図４に示すように、まず、マスク推定装置１０は、第２のマスク、空間パラメータ、及び第１のマスクの累積和の初期値を設定する（ステップＳ１５１）。次に、マスク推定装置１０は、第１のマスクの累積和、空間特徴量及び第２のマスクを用いて空間パラメータを更新する（ステップＳ１５２）。そして、マスク推定装置１０は、空間特徴量、第１のマスク、及び空間パラメータを基に第２のマスクを更新する（ステップＳ１５３）。
【００５７】
ここで、マスク推定装置１０は、第２のマスクが収束したか否かを判定する（ステップＳ１５４）。マスク推定装置１０は、第２のマスクが収束していないと判定した場合（ステップＳ１５４、Ｎｏ）、ステップＳ１５２に戻り、さらに空間パラメータを更新する。一方、マスク推定装置１０は、第２のマスクが収束したと判定した場合（ステップＳ１５４、Ｙｅｓ）、マスク推定装置１０は処理を終了する。
【００５８】
［第１の実施形態の効果］
これまで説明してきたように、第１マスク推定部１２は、連続する時間のセグメントのうち、処理対象とするセグメントを対象セグメントとして、複数の位置で収録した対象セグメントの観測信号から得られる第１の特徴量を基に、対象セグメントの観測信号に対する目的信号の占有度である第１のマスクを推定する。また、第２マスク推定部１４は、対象セグメントにおける第１のマスクの推定結果と、対象セグメントの観測信号から得られる第２の特徴量と、を基に、第２の特徴量をモデル化するパラメータと観測信号に対する目的信号の占有度である第２のマスクを推定する。このように、マスク推定装置１０は、２つのマスク推定方法を組み合わせることで、最終的なマスクを精度良く推定することができる。さらに、マスク推定装置１０は、対象セグメントごとの観測信号に対して逐次的にマスクを推定することができる。このため、第１の実施形態によれば、オンラインで精度良くマスク推定を行うことができる。
【００５９】
また、マスク推定装置１０は、スペクトル特徴量を入力するニューラルネットワークを用いた手法と、分布モデルを用いた手法を組み合わせている。このため、例えば、事前学習したニューラルネットワークのパラメータと観測信号との間にミスマッチがある場合でも、空間パラメータを用いることでマスクの精度を向上させることができる。また、信号対雑音比が特別に悪い周波数帯がある場合でも、スペクトル特徴量に基づき目的信号の周波数パターンを考慮することで、高精度なマスク推定が可能になる。
【００６０】
［第２の実施形態］
第２の実施形態では、マスク推定装置１０は、先頭のミニバッチから所定のミニバッチまでは、第１のマスクの推定値を第２のマスクの推定値として代用し、以降のミニバッチでは、空間パラメータの計算値を用いて第２のマスクの推定を行う。
【００６１】
ここで、目的信号を含む観測信号の量が多いほど、目的信号に対する空間パラメータの精度は向上する。逆に、目的信号を含む観測信号が少ないと、計算された目的信号に対する空間パラメータの精度が低く、実用的でない場合がある。つまり、目的信号を含む観測信号が少ないミニバッチで計算された目的信号に対する空間パラメータを第２マスク推定部１４の推定に用いると、結果として推定される対象セグメントにおける第２のマスクの推定精度も低くなってしまうことがある。そこで、第２の実施形態では、マスク推定装置１０は、十分な量の目的信号を含む観測信号を用いて空間パラメータが計算されるようになるまでの間、第１のマスクを第２のマスクの推定値として代用し、十分な量の目的信号を含む観測信号を用いて空間パラメータが計算されてからは、空間パラメータの計算値（推定値）を用いて第２のマスクの推定を行う。
【００６２】
［第２の実施形態の構成］
図５に示すように、第２の実施形態では、マスク推定装置１０は、第１の実施形態と同様の処理部に加えて、制御部１５をさらに有する。図５は、第２の実施形態に係るマスク推定装置の構成の一例を示す図である。
【００６３】
制御部１５は、マスクの推定対象のセグメントである対象セグメントまでの観測信号に含まれている目的信号の量が、所定の閾値を超えているか否かを判定する。ここで、制御部１５は、目的信号の量が閾値を超えている場合は、第１の実施形態と同様に、第２マスク推定部１４が、空間パラメータの計算値を用いて、第２のマスクを推定するように制御する。一方、制御部１５は、目的信号の量が閾値を超えていない場合は、第２マスク推定部１４が、第１のマスクの推定値を第２のマスクを推定値として代用するように制御する。これにより、第２の実施形態において、マスク推定装置１０は、空間パラメータに適正な初期値が与えられない場合であっても、第２のマスクを精度良く推定することができる。
【００６４】
制御部１５は、所定の推定値を基に、対象セグメントを含む過去のセグメントの観測信号に含まれる目的信号の量が閾値を超えているか否かを判定する。例えば、制御部１５は、目的信号についての第１のマスクの累積和Λｆ，ｌ１が閾値を超えているか否かを判定する。ここで、Λｆ，ｌ１は、目的信号が含まれるフレームの数が多いほど大きくなる。
【００６５】
制御部１５の判定の対象は、Λｆ，ｌ１に限られない。例えば、処理したミニバッチの数が増えるほど、目的信号を含む観測信号の量は増える（少なくとも減ることはない）ため、制御部１５は、処理したミニバッチの数によって判定を行ってもよい。また、制御部１５は、観測信号中に音声が含まれるか否かを判定する音声区間検出に基づいて検出した音声区間の長さを用いて判定を行ってもよい。
【００６６】
［第２の実施形態の処理］
図６を用いて、マスク推定装置１０が第２のマスクを推定する処理を詳細に説明する。図６は、第２の実施形態に係るマスク推定装置の処理の流れを示すフローチャートである。図６の処理は、図４の処理と同様に、図３のステップＳ１５に対応している。このため、図６の処理は、図３のステップＳ１１で入力されたミニバッチ単位の観測信号を対象とする。
【００６７】
図６に示すように、まず、マスク推定装置１０は、各ミニバッチにおいて、第２のマスク、空間パラメータ、及び第１のマスクの累積和の初期値を設定する（ステップＳ２５１）。次に、マスク推定装置１０は、第１のマスクの累積和、空間特徴量及び第２のマスクを用いて空間パラメータを更新する（ステップＳ２５２）。
【００６８】
ここで、マスク推定装置１０は、第１のマスクの累積和が閾値以上であるか否かを判定する（ステップＳ２５３）。第１のマスクの累積和が閾値以上である場合（ステップＳ２５３、Ｙｅｓ）、マスク推定装置１０は、ステップＳ２５２で更新した空間パラメータを用いて第２のマスクを更新する（ステップＳ２５４）。一方、第１のマスクの累積和が閾値以上でない場合（ステップＳ２５３、Ｎｏ）、マスク推定装置１０は、第１のマスクの推定値を第２のマスクの推定値の代用として用いる（ステップＳ２５５）。
【００６９】
ここで、マスク推定装置１０は、空間パラメータの更新が収束したか否かを判定する（ステップＳ２５６）。マスク推定装置１０は、空間パラメータの更新が収束していないと判定した場合（ステップＳ２５６、Ｎｏ）、ステップＳ２５２に戻り、さらに空間パラメータを更新する。一方、マスク推定装置１０は、空間パラメータの更新が収束したと判定した場合（ステップＳ２５６、Ｙｅｓ）、マスク推定装置１０は処理を終了する。
【００７０】
なお、ここで、マスク推定装置１０は、第１のマスクの累積和が閾値以上でない場合でも（ステップＳ２５３、Ｎｏ）、ステップＳ２５２の空間パラメータの更新を行うようにしている。第１のマスクの累積値が閾値以下の場合でも、目的信号に対する空間パラメータの更新を行っていくことで、第１のマスクの累積和が閾値を超えた時点で、目的信号に対する空間パラメータの推定精度を高くすることができるからである。
【００７１】
［実験結果］
ここで、従来の手法と実施形態とを比較するために行った実験について説明する。実験には、ＣＨｉＭＥ−３の音声認識用の音声データを用いた。音声データは、複数の雑音環境下で新聞を読み上げる音声を、複数のマイクロホンを備えたタブレット端末で収録したものである。また、図７に示すように、音声データは複数のサブセットを含む。また、各サブセットは、実際に収録したデータ（real  data）及びシミュレーションにより生成したデータ（simu  data）を含む。図７に各データの発話数を示す。図７は、実験に用いた音声のデータを示す図である。
【００７２】
また、実験では、従来の手法及び実施形態の手法を含む複数の手法でマスクを推定し、推定したマスクを用いて目的音声を抽出した上で音声認識を行った。従来の手法は、ＤＮＮによるマスク推定手法（ＬＳＴＭ）及び空間クラスタリングによるマスク推定手法（ｃＡＣＧＭＭ）である。
【００７３】
空間パラメータの初期値は、事前学習を行ったものとした。また、先頭のミニバッチの長さを５００ｍｓとし、２番目以降のミニバッチの長さを２５０ｍｓとした。その他の各ハイパーパラメータの設定は、図８の通りである。図８は、実験におけるハイパーパラメータを示す図である。
【００７４】
図８に示すように、Number  of  EM  iterationsの値は１である。これは、ミニバッチごとに、マスク推定装置１０が第２のマスクを推定する際に、空間パラメータ及び第２のマスクの更新を１回のみ行うことを示している。
【００７５】
図９に、各手法でマスクを推定し音声認識を行った際のＷＥＲ（単語誤り率：Word  error  rate）を示す。図９は、実験結果を示す図である。図９に示すように、実施形態の手法（Proposed）でマスクを推定した場合の単語誤り率が、従来の手法と比べて概ね低かった。これより、実施形態のマスク推定手法は、従来の手法と比べて、音声認識の精度を向上させる効果があるといえる。
【００７６】
さらに、第２のマスクを推定する際の空間パラメータの設定方法を変化させて同様の実験を行った結果を図１０に示す。図１０は、実験結果を示す図である。なお、Ｂｕｓ、Ｃａｆ、Ｐｅｄ、及びＳｔｒは、前述の複数の雑音環境を表している。
【００７７】
図１０のNoPriorは、第１の実施形態で空間パラメータの初期値に単位行列を設定する手法である。また、PostTrainedは、第２の実施形態の手法、すなわち制御部１５によって第２のマスクの推定値に、第１のマスクの推定値を代用するかどうかを制御する手法である。なお、PostTrainedでは、制御部１５は第１のマスクの累積和を用いて判定を行うものとし、閾値を１．５とした。図１０に示すように、NoPrior及びPostTrainedの単語誤り率が、従来の手法と比べて低かった。また、NoPrior及びPostTrainedは、いずれも空間パラメータの事前学習を必要としない手法である。これより、実施形態のマスク推定手法は、事前学習を行うことなく、従来の手法よりも音声認識の精度を向上させることができるといえる。
【００７８】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散及び統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ（Central  Processing  Unit）及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７９】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００８０】
［プログラム］
一実施形態として、マスク推定装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記のマスク推定処理を実行するマスク推定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記のマスク推定プログラムを情報処理装置に実行させることにより、情報処理装置をマスク推定装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００８１】
また、マスク推定装置１０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記のマスク推定処理に関するサービスを提供する学習サーバ装置として実装することもできる。例えば、マスク推定サーバ装置は、観測信号を入力とし、第２のマスクを出力とするマスク推定サービスを提供するサーバ装置として実装される。この場合、マスク推定サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記のマスク推定処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００８２】
図１１は、マスク推定プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００８３】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００８４】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、マスク推定装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、マスク推定装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００８５】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０は、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した実施形態の処理を実行する。
【００８６】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８７】
１０  マスク推定装置
１１  第１特徴量抽出部
１２  第１マスク推定部
１３  第２特徴量抽出部
１４  第２マスク推定部
１５  制御部
１４１  設定部
１４２  第１更新部
１４３  第２更新部
１４４  判定部
１４５  記憶部
【図１】
2020034882.tif 000016
【図２】
2020034882.tif 000017
【図３】
2020034882.tif 000018
【図４】
2020034882.tif 000019
【図５】
2020034882.tif 000020
【図６】
2020034882.tif 000021
【図７】
2020034882.tif 000022
【図８】
2020034882.tif 000023
【図９】
2020034882.tif 000024
【図１０】
2020034882.tif 000025
【図１１】
2020034882.tif 000026