(57)【要約】【課題】複数の音が混在した音信号から目的音を抽出する装置、方法を提供する。【解決手段】観測信号解析部が、複数マイクの取得音である観測信号から目的音の音方向と音区間を推定し、音源抽出部が、目的音の音信号を抽出する。音源抽出部は、観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行する。音源抽出部は、反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を生成し、反復学習処理において、補助関数法を用いて目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出する。【選択図】図１２
2014219467.tif 000002
【特許請求の範囲】
【請求項１】
異なる位置に設置された複数のマイクから構成される音信号入力部が取得した複数チャンネルの音信号を観測信号として受け取り、抽出対象音である目的音の音方向と音区間を推定する観測信号解析部と、
前記観測信号解析部の推定した目的音の音方向と音区間を受け取って目的音の音信号を抽出する音源抽出部を有し、
前記観測信号解析部は、
受け取った前記複数チャンネルの音信号に対して短時間フーリエ変換を適用することにより時間周波数領域の観測信号を生成する短時間フーリエ変換部と、
前記短時間フーリエ変換部の生成した観測信号を受け取って前記目的音の音方向と音区間を検出する方向・区間推定部を有し、
前記音源抽出部は、
観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行し、
前記反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を用意し、
前記反復学習処理において、補助関数法を用いて前記目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出する音信号処理装置。
【請求項２】
前記音源抽出部は、
前記方向・区間推定部から受け取った目的音の音方向と音区間に基づいて、時間方向における目的音の音量の概略である時間エンベロープを算出し、算出した時間エンベロープの各フレームｔの値を補助変数ｂ（ｔ）に代入し、
前記補助変数ｂ（ｔ）と、周波数ビン（ω）ごとの抽出フィルタＵ'（ω）とを引数に持つ補助関数Ｆを用意し、
（１）補助変数ｂ（ｔ）を固定した状態で、補助関数Ｆを最小化する抽出フィルタＵ'（ω）を算出する抽出フィルタ算出処理、
（２）観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に基づいて補助変数ｂ（ｔ）を算出する補助変数算出処理、
上記（１），（２）の処理を繰り返す反復学習処理を実行して、抽出フィルタＵ'（ω）を順次更新し、更新後の抽出フィルタを適用して目的音の音信号を抽出する請求項１に記載の音信号処理装置。
【請求項３】
前記音源抽出部は、
前記方向・区間推定部から受け取った目的音の音方向と音区間に基づいて、時間方向における目的音の音量の概略である時間エンベロープを算出し、算出した時間エンベロープの各フレームｔの値を補助変数ｂ（ｔ）に代入し、
前記補助変数ｂ（ｔ）と、周波数ビン（ω）ごとの抽出フィルタＵ'（ω）を引数に持つ補助関数Ｆを用意し、
（１）補助変数ｂ（ｔ）を固定した状態で、補助関数Ｆを最大化する抽出フィルタＵ'（ω）を算出する抽出フィルタ算出処理、
（２）観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に基づいて補助変数ｂ（ｔ）を算出する補助変数算出処理、
上記（１），（２）の処理を繰り返す反復学習処理を実行して、抽出フィルタＵ'（ω）を順次更新し、更新後の抽出フィルタを観測信号に適用して目的音の音信号を抽出する請求項１に記載の音信号処理装置。
【請求項４】
前記音源抽出部は、
前記補助変数算出処理において、観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）を生成し、適用結果のスペクトルであるベクトル[Ｚ（1，ｔ）, …, Ｚ（Ω，ｔ）]（Ωは周波数ビン数）のＬ−２ノルムをフレームｔごとに計算し、その値を補助変数ｂ（ｔ）に代入する処理を行なう請求項２または３に記載の音信号処理装置。
【請求項５】
前記音源抽出部は、
前記補助変数算出処理において、観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に対してさらに、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを適用してマスキング結果Q（ω，ｔ）を生成し、生成したマスキング結果のスペクトルであるベクトル[Q（1，ｔ）, …, Q（Ω，ｔ）]（Ωは周波数ビン数）のＬ−２ノルムをフレームｔごとに計算し、その値を補助変数ｂ（ｔ）に代入する処理を行なう請求項２または３に記載の音信号処理装置。
【請求項６】
前記音源抽出部は、
前記目的音の音源方向情報に基づいて、目的音を取得する複数マイク間の位相差情報を含むステアリングベクトルを生成し、
前記目的音以外の信号である妨害音を含む観測信号と、前記ステアリングベクトルに基づいて、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを生成し、
前記時間周波数マスクを所定区間の観測信号に適用してマスキング結果を生成し、
前記マスキング結果に基づいて前記補助変数の初期値を生成する請求項１に記載の音信号処理装置。
【請求項７】
前記音源抽出部は、
前記目的音の音源方向情報に基づいて、目的音を取得する複数マイク間の位相差情報を含むステアリングベクトルを生成し、
前記目的音以外の信号である妨害音を含む観測信号と、前記ステアリングベクトルに基づいて、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを生成し、
前記時間周波数マスクに基づいて前記補助変数の初期値を生成する請求項１に記載の音信号処理装置。
【請求項８】
前記音源抽出部は、
前記観測信号解析部の検出した目的音の音区間の長さが既定の最小区間長Ｔ＿ＭＩＮより短い場合は、前記音区間の終端から前記最小区間長Ｔ＿ＭＩＮだけ遡った時点を前記反復学習処理で使用する観測信号の開始位置として採用し、
前記目的音の音区間の長さが既定の最大区間長Ｔ＿ＭＡＸより長い場合は、前記音区間の終端から前記最大区間長Ｔ＿ＭＡＸだけ遡った時点を前記反復学習処理で使用する観測信号の開始位置として採用し、
前記観測信号解析部の検出した目的音の音区間の長さが既定の最小区間長Ｔ＿ＭＩＮから既定の最大区間長Ｔ＿ＭＡＸの範囲内である場合は、前記音区間を前記反復学習処理で使用する観測信号の音区間として採用する請求項１に記載の音信号処理装置。
【請求項９】
前記音源抽出部は、
前記補助変数ｂ（ｔ）と、無相関化された観測信号とから重みつき共分散行列を計算し、重みつき共分散行列に対して固有値分解（ｅｉｇｅｎｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）を適用して固有値と固有ベクトル（ｅｉｇｅｎｖｅｃｔｏｒ（ｓ））を算出し、固有値に基づいて選択した固有ベクトルを、前記反復学習処理における学習中抽出フィルタとして採用する請求項１に記載の音信号処理装置。
【請求項１０】
音信号処理装置において実行する音信号処理方法であり、
観測信号解析部が、異なる位置に設置された複数のマイクから構成される音信号入力部が取得した複数チャンネルの音信号を観測信号として受け取り、抽出対象音である目的音の音方向と音区間を推定する観測信号解析処理を実行し、
音源抽出部が、前記観測信号解析部の推定した目的音の音方向と音区間を受け取って目的音の音信号を抽出する音源抽出処理を実行し、
前記観測信号解析処理において、
受け取る前記複数チャンネルの音信号に対して短時間フーリエ変換を適用することにより時間周波数領域の観測信号を生成する短時間フーリエ変換処理と、
前記短時間フーリエ変換によって生成した観測信号を受け取って前記目的音の音方向と音区間を検出する方向・区間推定処理を実行し、
前記音源抽出処理において、
観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行し、
前記反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を用意し、
前記反復学習処理において、補助関数法を用いて前記目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出する音信号処理方法。
【請求項１１】
音信号処理装置において音信号処理を実行させるプログラムであり、
観測信号解析部に、異なる位置に設置された複数のマイクから構成される音信号入力部が取得した複数チャンネルの音信号を観測信号として入力させて、抽出対象音である目的音の音方向と音区間を推定する観測信号解析処理を実行させ、
音源抽出部に、前記観測信号解析部の推定した目的音の音方向と音区間を受け取って目的音の音信号を抽出する音源抽出処理を実行させ、
前記観測信号解析処理として、
受け取った前記複数チャンネルの音信号に対して短時間フーリエ変換を適用することにより時間周波数領域の観測信号を生成する短時間フーリエ変換処理と、
前記短時間フーリエ変換によって生成した観測信号を受け取って前記目的音の音方向と音区間を検出する方向・区間推定処理を実行させ、
前記音源抽出処理において、
観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行させ、
前記反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を用意し、
前記反復学習処理において、補助関数法を用いて前記目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音信号処理装置、および音信号処理方法、並びにプログラムに関する。さらに、詳細には、例えば複数の音が混合した原信号から特定の音を取り出す音源抽出処理を実行する音信号処理装置、および音信号処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
音源抽出処理とは、マイクロホンで観測される複数の原信号が混合された信号（以降「観測信号」または「混合信号」と呼ぶ）から、目的の原信号を１つ取り出す処理である。以下では、目的の原信号（すなわち、抽出したい信号）を「目的音」、それ以外の原信号を「妨害音」と呼ぶ。
【０００３】
本開示の音信号処理装置が解決しようとする課題の１つは、複数の音源が存在している環境下において、目的音の音源方向と、目的音の区間とがある程度既知のときにその音を高精度に抽出することである。
言い換えると、目的音と妨害音とが混合している観測信号から、音源方向や区間の情報を用いて、妨害音を消して目的音のみを残すことである。
【０００４】
なお、ここでいう音源方向とは、マイクロホンから見た音源到来方向（ｄｉｒｅｃｔｉｏｎ  ｏｆ  ａｒｒｉｖａｌ：ＤＯＡ）であり、区間とは音の開始時刻（鳴り始め）と終了時刻（鳴り終わり）との組およびその時間に含まれる信号を意味する。
なお、複数音源に対する方向推定および区間検出処理については、既に複数の方式が提案されている。具体的には例えば以下の従来技術が開示されている。
【０００５】
（従来方式１）画像、特に顔の位置や唇の動きを用いる方式
この方式は、例えば特許文献１（特開平１０−５１８８９号公報）などに開示がある。具体的には、顔のある方向を音源方向と判断し、唇の動いている区間を発話区間と見なす方式である。
【０００６】
（従来方式２）複数音源対応の音源方向推定に基づく音声区間検出
この方式は、例えば特許文献２（特開２０１２−１５０２３７号公報）、特許文献３（特開２０１０−１２１９７５号公報）などに開示されている。具体的には、観測信号を所定の長さのブロックに分割し、ブロックごとに複数音源対応の方向推定を行なう。次に、音源方向に対する経時的なトラッキングを行ない、時間軸上に所定間隔で連なる近い方向点同士をブロック間で接続していく方式である。
【０００７】
さらに、既知の音源方向と音声区間を適用して、特定音源の抽出を行う音源抽出処理を開示した従来技術として、例えば特許文献４（特開２０１２−２３４１５０号公報）や、特許文献５（特開２００６−７２１６３号公報）などがある。
なお、具体的な処理例については後段で説明する。
【０００８】
しかし、これまでに提案されている従来技術を適用しても目的音や妨害音の方向や区間の検出を高精度で行うことは困難であり、結果として低精度の音源方向情報や音声区間情報を適用した音源抽出処理を行なうことが求められるが、従来の音源抽出処理では、低精度な音源方向情報や音声区間情報を適用した処理では音源抽出結果の精度も著しく劣化してしまうという問題があった。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１０−５１８８９号公報
【特許文献２】特開２０１２−１５０２３７号公報
【特許文献３】特開２０１０−１２１９７５号公報
【特許文献４】特開２０１２−２３４１５０号公報
【特許文献５】特開２００６−７２１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本件は、このような状況に鑑みてなされたものであり、例えば、目的音の高精度な音源方向情報等が得られない場合でも、高精度な目的音の抽出を可能とした音信号処理装置、および音信号処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本開示の第１の側面は、
異なる位置に設置された複数のマイクから構成される音信号入力部が取得した複数チャンネルの音信号を観測信号として受け取り、抽出対象音である目的音の音方向と音区間を推定する観測信号解析部と、
前記観測信号解析部の推定した目的音の音方向と音区間を受け取って目的音の音信号を抽出する音源抽出部を有し、
前記観測信号解析部は、
受け取った前記複数チャンネルの音信号に対して短時間フーリエ変換を適用することにより時間周波数領域の観測信号を生成する短時間フーリエ変換部と、
前記短時間フーリエ変換部の生成した観測信号を受け取って、前記目的音の音方向と音区間を検出する方向・区間推定部を有し、
前記音源抽出部は、
観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行し、
前記反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を用意し、
前記反復学習処理において、補助関数法を用いて前記目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出する音信号処理装置にある。
【００１２】
さらに、本開示の音信号処理装置の一実施態様において、前記音源抽出部は、前記方向・区間推定部から受け取った目的音の音方向と音区間に基づいて、時間方向における目的音の音量の概略である時間エンベロープを算出し、算出した時間エンベロープの各フレームｔの値を補助変数ｂ（ｔ）に代入し、前記補助変数ｂ（ｔ）と、周波数ビン（ω）ごとの抽出フィルタＵ'（ω）を引数に持つ補助関数Ｆを用意し、
（１）補助変数ｂ（ｔ）を固定した状態で、補助関数Ｆを最小化する抽出フィルタＵ'（ω）を算出する抽出フィルタ算出処理、
（２）観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に基づいて補助変数ｂ（ｔ）を算出する補助変数算出処理、
上記（１），（２）の処理を繰り返す反復学習処理を実行して抽出フィルタＵ'（ω）を順次更新し、更新後の抽出フィルタを適用して目的音の音信号を抽出する。
【００１３】
さらに、本開示の音信号処理装置の一実施態様において、前記音源抽出部は、前記方向・区間推定部から受け取った目的音の音方向と音区間に基づいて、時間方向における目的音の音量の概略である時間エンベロープを算出し、算出した時間エンベロープの各フレームｔの値を補助変数ｂ（ｔ）に代入し、前記補助変数ｂ（ｔ）と、周波数ビン（ω）ごとの抽出フィルタＵ'（ω）とを引数に持つ補助関数Ｆを用意し、
（１）補助変数ｂ（ｔ）を固定した状態で、補助関数Ｆを最大化する抽出フィルタＵ'（ω）を算出する抽出フィルタ算出処理、
（２）観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に基づいて補助変数ｂ（ｔ）を算出する補助変数算出処理、
上記（１），（２）の処理を繰り返す反復学習処理を実行して抽出フィルタＵ'（ω）を順次更新し、更新後の抽出フィルタを観測信号に適用して目的音の音信号を抽出する。
【００１４】
さらに、本開示の音信号処理装置の一実施態様において、前記音源抽出部は、前記補助変数算出処理において、観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）を生成し、適用結果のスペクトルであるベクトル[Ｚ（1，ｔ）, …, Ｚ（ω，ｔ）]（ωは周波数ビン数）のＬ−２ノルムをフレームｔごとに計算し、その値を補助変数ｂ（ｔ）に代入する処理を行なう。
【００１５】
さらに、本開示の音信号処理装置の一実施態様において、前記音源抽出部は、前記補助変数算出処理において、観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に、さらに、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを適用してマスキング結果Q（ω，ｔ）を生成し、生成したマスキング結果のスペクトルであるベクトル[Q（1，ｔ）, …, Q（Ω，ｔ）]のＬ−２ノルムをフレームｔごとに計算し、その値を補助変数ｂ（ｔ）に代入する処理を行なう。
【００１６】
さらに、本開示の音信号処理装置の一実施態様において、前記音源抽出部は、前記目的音の音源方向情報に基づいて、目的音を取得する複数マイク間の位相差情報を含むステアリングベクトルを生成し、前記目的音以外の信号である妨害音を含む観測信号と、前記ステアリングベクトルにと基づいて、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを生成し、前記時間周波数マスクを所定区間の観測信号に適用してマスキング結果を生成し、前記マスキング結果に基づいて前記補助変数の初期値を生成する。
【００１７】
さらに、本開示の音信号処理装置の一実施態様において、前記音源抽出部は、前記目的音の音源方向情報に基づいて、目的音を取得する複数マイク間の位相差情報を含むステアリングベクトルを生成し、前記目的音以外の信号である妨害音を含む観測信号と、前記ステアリングベクトルとに基づいて、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを生成し、前記時間周波数マスクに基づいて前記補助変数の初期値を生成する。
【００１８】
さらに、本開示の音信号処理装置の一実施態様において、前記音源抽出部は、前記観測信号解析部の検出した目的音の音区間の長さが、既定の最小区間長Ｔ＿ＭＩＮより短い場合は、前記音区間の終端から前記最小区間長Ｔ＿ＭＩＮだけ遡った時点を前記反復学習処理に適用する観測信号の開始位置として採用し、前記目的音の音区間の長さが、既定の最大区間長Ｔ＿ＭＡＸより長い場合は、前記音区間の終端から前記最大区間長Ｔ＿ＭＡＸだけ遡った時点を前記反復学習処理に適用する観測信号の開始位置として採用し、前記観測信号解析部の検出した目的音の音区間の長さが、既定の最小区間長Ｔ＿ＭＩＮから既定の最大区間長Ｔ＿ＭＡＸの範囲内である場合は、前記音区間を前記反復学習処理に適用する観測信号の音区間として採用する。
【００１９】
さらに、本開示の音信号処理装置の一実施態様において、前記音源抽出部は、前記補助変数ｂ（ｔ）と、無相関化された観測信号とから重みつき共分散行列を計算し、重みつき共分散行列に対して固有値分解（ｅｉｇｅｎｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）を適用して固有値と固有ベクトル（ｅｉｇｅｎｖｅｃｔｏｒ（ｓ））を算出し、固有値に基づいて選択した固有ベクトルを、前記反復学習処理における学習中抽出フィルタとして採用する。
【００２０】
さらに、本開示の第２の側面は、
音信号処理装置において実行する音信号処理方法であり、
観測信号解析部が、異なる位置に設置された複数のマイクから構成される音信号入力部が取得した複数チャンネルの音信号を観測信号として受け取り、抽出対象音である目的音の音方向と音区間を推定する観測信号解析処理を実行し、
音源抽出部が、前記観測信号解析部の推定した目的音の音方向と音区間を受け取って目的音の音信号を抽出する音源抽出処理を実行し、
前記観測信号解析処理において、
受け取った前記複数チャンネルの音信号に対して短時間フーリエ変換を適用することにより時間周波数領域の観測信号を生成する短時間フーリエ変換処理と、
前記短時間フーリエ変換によって生成した観測信号を受け取って、前記目的音の音方向と音区間を検出する方向・区間推定処理を実行し、
前記音源抽出処理において、
観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行し、
前記反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を用意し、
前記反復学習処理において、補助関数法を用いて前記目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出する音信号処理方法にある。
【００２１】
さらに、本開示の第３の側面は、
音信号処理装置において音信号処理を実行させるプログラムであり、
観測信号解析部に、異なる位置に設置された複数のマイクから構成される音信号入力部が取得した複数チャンネルの音信号を観測信号として入力させて、抽出対象音である目的音の音方向と音区間を推定する観測信号解析処理を実行させ、
音源抽出部に、前記観測信号解析部の推定した目的音の音方向と音区間を受け取って目的音の音信号を抽出する音源抽出処理を実行させ、
前記観測信号解析処理として、
受け取った前記複数チャンネルの音信号に対して短時間フーリエ変換を適用することにより時間周波数領域の観測信号を生成する短時間フーリエ変換処理と、
前記短時間フーリエ変換によって生成した観測信号を受け取って前記目的音の音方向と音区間を検出する方向・区間推定処理を実行させ、
前記音源抽出処理において、
観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行させ、
前記反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を用意し、
前記反復学習処理において、補助関数法を用いて前記目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出させるプログラムにある。
【００２２】
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な画像処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００２３】
本開示のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２４】
本開示の一実施例の構成によれば、複数の音が混在した音信号から目的音を抽出する装置、方法が実現される。
具体的には、観測信号解析部が、複数マイクの取得音である観測信号から目的音の音方向と音区間を推定し、音源抽出部が、目的音の音信号を抽出する。音源抽出部は、観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行する。音源抽出部は、反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を用意し、反復学習処理において、補助関数法を用いて目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出する。
例えば、上記構成により、複数の音が混在した音信号から目的音を抽出する装置、方法が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
【図面の簡単な説明】
【００２５】
【図１】音源抽出処理を行う場合の具体的環境の一例について説明する図である。
【図２】本開示の音源抽出処理の概要について説明する図である。
【図３】抽出結果のスペクトログラムと、スペクトルの時間エンベロープについて説明する図である。
【図４】目的関数と補助関数を適用した抽出フィルタの算出処理について説明する図である。
【図５】ステアリングベクトルの生成方法について説明する図である。
【図６】目的関数と補助関数を適用した抽出フィルタの算出処理について説明する図である。
【図７】特定方向から到来する観測信号を透過させるようなマスクについて説明する図である。
【図８】音信号処理装置の一構成例を示す図である。
【図９】短時間フーリエ変換（ＳＴＦＴ）処理の詳細について説明する図である。
【図１０】音源抽出部の詳細について説明する図である。
【図１１】抽出フィルタ生成部の詳細について説明する図である。
【図１２】反復学習部の詳細について説明する図である。
【図１３】音信号処理装置の実行する処理について説明するフローチャートを示す図である。
【図１４】図１３のフローにおけるステップＳ１０４で実行する音源抽出処理の詳細について説明するフローチャートを示す図である。
【図１５】図１４のフローにおけるステップＳ２０１で実行する区間の調整の詳細と、そのような処理を行なう理由について説明する図である。
【図１６】図１４のフローにおけるステップＳ２０４において実行する抽出フィルタ生成処理の詳細について説明するフローチャートを示す図である。
【図１７】図１６のフローにおけるステップＳ３０２において実行する初回学習処理の詳細について説明するフローチャートを示す図である。
【図１８】図１６のフローにおけるステップＳ３０３において実行する反復学習処理の詳細について説明するフローチャートを示す図である。
【図１９】本開示に従った音源抽出処理の効果を確認するための評価実験を行なった収録環境を説明する図である。
【図２０】本開示に従った音源抽出処理と従来方式の各方式のＳＩＲ改善データについて説明する図である。
【図２１】本開示に従った音源抽出処理と従来方式の各方式のＳＩＲ改善データについて説明する図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照しながら音信号処理装置、および音信号処理方法、並びにプログラムの詳細について説明する。
以下、以下に示す項目に従って処理の詳細について説明する。
１．本開示の音信号処理装置の実行する処理の概要について
２．従来の音源抽出処理、および音源分離処理の概要と問題点について
３．従来の処理における問題点について
４．従来技術の問題点を解決する本開示の処理の概要について
４−１．時間領域ＩＣＡのデフレーション法について
４−２．補助関数法の導入について
４−３．学習初期値として目的音の方向とマイクロホン間の位相差とに基づく時間周波数マスキングを使用する処理について
４−４．学習途中で生成される抽出結果に対しても時間周波数マスキングを使用する処理について
５．その他の目的関数とマスキング方法について
５−１．その他の目的関数と補助関数を使用した処理について
５−２．その他のマスキング処理例について
６．本開示の音源抽出処理と従来方式との相違点について
６−１．従来技術１（特開２０１２−２３４１５０）との相違点について
６−２．従来技術２との相違点について
７．本開示の音信号処理装置の構成例について
８．音信号処理装置の実行する処理について
８−１．音信号処理装置の実行する処理の全体シーケンスについて
８−２．音源抽出処理の詳細シーケンスについて
８−３．抽出フィルタ生成処理の詳細シーケンスについて
８−４．初回学習処理の詳細シーケンスについて
８−５．反復学習処理の詳細シーケンスについて
９．本開示の音信号処理装置の音源抽出処理における効果の検証について
１０．本開示の構成のまとめ
以下、上記項目に従って説明する。
【００２７】
まず、本明細書中において使用する表記の意味について説明する。
Ａ＿ｂは、Ａに下付きの添え字ｂが付与された表記、
Ａ＾ｂは、Ａに上付きの添え字ｂが付与された表記、
これらを意味する。
また、
ｃｏｎｊ（Ｘ）は、複素数Ｘの共役複素数を表わす。式の上では、Ｘの共役複素数はＸに上線をつけて表わす。
値の代入は、"＝"または"←"で表わす。特に、両辺で等号が成立しないような操作（例えば"ｘ←ｘ＋１"）については、"←"で表わす。
【００２８】
さらに、本明細書中において使用する用語の意味について説明する。
（１）本明細書では、「音（信号）」と「音声（信号）」とを使い分けている。「音」は、人の声の他、様々な物質の発声する音、自然音を含む「ｓｏｕｎｄ」や「ａｕｄｉｏ」など、全ての音の意味を持つ。一方、「音声」は人の声としての「ｖｏｉｃｅ」や「ｓｐｅｅｃｈ」を表わす用語として限定的に使用している。
【００２９】
（２）本明細書では、「分離」と「抽出」とを、以下のように使い分けている。
「分離」は、混合の逆であり、複数の原信号が混合した信号をそれぞれの原信号に分ける処理を意味する。入力信号も出力信号も複数の信号によって構成される。
「抽出」は、複数の原信号が混合した信号から１つの原信号を取り出す処理を意味する。入力信号には複数音源からの複数の音信号が含まれるが、出力信号には抽出処理によって得られる１つの音源の音信号が含まれる。
【００３０】
（３）本明細書では、「フィルタを適用する」と「フィルタリングを行なう」とは同じ意味として使用する。同様に、「マスクを適用する」と「マスキングを行なう」も同じ意味として使用する。
【００３１】
［１．本開示の音信号処理装置の実行する処理の概要について］
まず、本開示の音信号処理装置の実行する処理の概要について、図１を参照して説明する。
ある環境において、音源（信号の発生源）が複数存在しているとする。音源の１つは抽出対象となる目的音を発する「目的音の音源１１」であり、残りは抽出対象としない妨害音を発する「妨害音の音源１４」である。
本開示の音信号処理装置は、例えば図１に示すように目的音と妨害音が混在する環境における観測信号、すなわちマイクロホン１，１５〜ｎ，１７による取得信号である観測信号から目的音を抽出する処理を実行する。
【００３２】
なお、目的音の音源１１は１個だが、妨害音の音源は１個以上とする。図１には１つの「妨害音の音源１４」を示しているが、この他の妨害音の音源が存在していてもよい。
目的音の到来方向は既知とし、それを変数θで表わす。図１に示す音源方向θ，１２である。なお、方向の基準（方向＝０を表わす線）は任意に設定してよい。図１に示す例では、基準方向１３として設定している。
【００３３】
目的音については、主に人間の音声発話を想定する。その音源位置は、発話中は一定だが、発話の度に位置を変えてもよい。
一方、妨害音については、任意の音源が妨害音になり得るとする。例えば、人間の音声が妨害音になってもよい。
【００３４】
このような問題設定の下で、目的音が鳴っている区間（発話開始から発話終了までの区間）と方向の推定処理としては、例えば先に［背景技術］の欄で説明した以下の各方式を適用することが可能である。
【００３５】
（従来方式１）画像、特に顔の位置や唇の動きを用いる方式
この方式は、例えば特許文献１（特開平１０−５１８８９号公報）などに開示がある。具体的には、顔のある方向を音源方向と判断し、唇の動いている区間を発話区間と見なす方式である。
【００３６】
（従来方式２）複数音源対応の音源方向推定に基づく音声区間検出
この方式は、例えば特許文献２（特開２０１２−１５０２３７号公報）、特許文献３（特開２０１０−１２１９７５号公報）などに開示されている。具体的には、観測信号を所定の長さのブロックに分割し、ブロックごとに複数音源対応の方向推定を行なう。次に、音源方向に対するトラッキングを行ない、近い方向同士をブロック間で接続していく方式である。
【００３７】
例えば、上記の方式のいずれかを用いることで、目的音の区間と方向を推定することが可能となる。
従って、残る問題は、例えば上記方式によって取得された目的音の区間と方向の各情報を用いて、妨害音を含まないクリーンな目的音を生成すること、すなわち音源抽出処理である。
【００３８】
ただし、上記の従来方式のいずれかを利用して音源方向θを推定した場合、推定した音源方向θは誤差を含む可能性がある。例えば、θ＝π／６ラジアン（＝３０°）であっても、真の音源方向はそれとは異なる値（例えば３５°）である可能性もある。
【００３９】
一方、妨害音については、方向は未知であるか、既知であっても誤差を含んでいるものとする。区間も同様、誤差を含むものとする。例えば、妨害音が鳴り続けている環境でも、その一部の区間しか検出されなかったり、全く検出されなかったりする可能性がある。
【００４０】
図１に示すように、マイクロホンはｎ個用意する。図１に示すマイクロホン１，１５〜マイクロホンｎ，１７である。また、マイクロホン同士の相対的な位置は既知とする。
【００４１】
次に、音源抽出処理に使われる変数について、以下に示す式（１．１〜１．３）を参照して説明する。
なお、前述したように、
Ａ＿ｂは、Ａに下付きの添え字ｂが付与された表記、
Ａ＾ｂは、Ａに上付きの添え字ｂが付与された表記、
これらを意味する。
【００４２】
【数１】
2014219467.tif 000003
【００４３】
ｋ番目のマイクロホンで観測された信号をｘ＿ｋ（τ）とする（τは時刻）。
この信号に対して短時間フーリエ変換（Ｓｈｏｒｔ  ｔｉｍｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ：  ＳＴＦＴ）を適用すると（詳細は後述）、時間周波数領域の観測信号Ｘ＿ｋ（ω，ｔ）が得られる。
ただし、
ωは周波数ビン番号、
ｔはフレーム番号、
をそれぞれ表わす。
【００４４】
各マイクロホンの観測信号Ｘ＿１（ω，ｔ）〜Ｘ＿ｎ（ω，ｔ）からなる列ベクトルをＸ（ω，ｔ）とする（式［１．１］）。
【００４５】
本開示構成で対象としている音源抽出は、基本的に観測信号Ｘ（ω，ｔ）に抽出フィルタＵ（ω）を乗じて抽出結果Ｚ（ω，ｔ）を得ることである（式［１．２］）。ただし、抽出フィルタＵ（ω）はｎ個の要素からなる行ベクトルであり、式［１．３］として表わされる。
【００４６】
音源抽出の各方式は、基本的に抽出フィルタＵ（ω）の算出方法の違いとして分類することができる。
音源抽出方式の中には、観測信号を用いて抽出フィルタを推定するものがあり、このような観測信号を用いた抽出フィルタの推定処理を「適応処理」（ａｄａｐｔａｔｉｏｎ）や「学習処理」（ｌｅａｒｎｉｎｇ）とも呼ぶ。
【００４７】
［２．従来の音源抽出処理、および音源分離処理の概要と問題点について］
次に、従来の音源抽出処理、および音源分離処理の概要と問題点について説明する。
ここでは、複数の音源からの混在信号から目的音を抽出する処理を実現する方式について、
（２Ａ）音源抽出方式
（２Ｂ）音源分離方式
上記２つの方式に分類する。
以下、これらの各方式を適用した従来技術について説明する。
【００４８】
（２Ａ．音源抽出方式）
既知の音源方向と区間とを用いて抽出を行なう音源抽出方式としては、例えば、以下のものが知られている。
（２Ａ−１）遅延和アレイ
（２Ａ−２）分散最小ビームフォーマー
（２Ａ−３）ＳＮＲ最大化ビームフォーマー
（２Ａ−４）目的音の除去と減算に基づく方式
（２Ａ−５）位相差に基づく時間周波数マスキング
これらは、いずれも、マイクロホンアレイ（複数のマイクロホンを、それぞれ位置を変えて設置したもの）を用いる方式である。なお、それぞれの方式の詳細については、特許文献４（特開２０１２−２３４１５０号公報）、特許文献５（特開２００６−７２１６３号公報）などを参照されたい。
以下、各方式の概要について説明する。
【００４９】
（２Ａ−１．遅延和アレイ）
マイクロホンアレイを構成する各マイクロホンの観測信号に対してそれぞれ異なる時間の遅延を与え、目的音の方向からの信号の位相が揃うようにしてから各観測信号を総和すると、目的音は位相が揃っているために強調され、それ以外の方向からの音は少しずつ位相が異なるため減衰する。
【００５０】
具体的には、ステアリングベクトルＳ（ω，θ）を利用した処理によって抽出結果を得る。
ステアリングベクトルとは、ある方向から到来する音について、マイク間の位相差を表わしたベクトルである。目的音の方向θに対応したステアリングベクトルを算出して、以下に示す式［２．１］によって抽出結果を得る。
【００５１】
【数２】
2014219467.tif 000004
【００５２】
ただし、上記式［２．１］において、上付きのＨはエルミート転置、すなわち、ベクトルまたは行列を転置すると共に各要素を共役複素数に変換する処理を表わす。
【００５３】
（２Ａ−２．分散最小ビームフォーマー）
目的音の方向のゲインを１（強調も減衰もしない）とし、かつ妨害音の方向に死角（null beam）を形成する、すなわち妨害音の方向のゲインを０に近い値とした指向特性を備えるフィルタを生成し、それを観測信号に適用することで、目的音のみを抽出する。
【００５４】
（２Ａ−３．ＳＮＲ最大化ビームフォーマー）
以下のａ）とｂ）との比Ｖ＿ｓ（ω）／Ｖ＿ｎ（ω）を最大にするフィルタＵ（ω）を求める方式。
ａ）目的音のみが鳴っている区間に抽出フィルタＵ（ω）を適用した結果の分散（パワー）であるＶ＿ｓ（ω）
ｂ）妨害音のみが鳴っている区間に抽出フィルタＵ（ω）を適用した結果の分散（パワー）であるＶ＿ｎ（ω）
この方式では、a), b) それぞれの区間が検出できれば目的音の方向情報は不要である。
【００５５】
（２Ａ−４．目的音の除去と減算に基づく方式）
観測信号から目的音を除去した信号（目的音除去信号）をいったん生成し、次に観測信号（または遅延和アレイ等によって目的音が強調された信号）から目的音除去信号を減算する。この処理によって、目的音のみが残った信号を取得する。
【００５６】
この方式の１つである「Ｇｒｉｆｆｉｔｈ−Ｊｉｍ  ビームフォーマー」は、減算として通常の引き算を用いている。他に、「スペクトルサブトラクション」等の、非線形な減算を用いる方式も存在する。
【００５７】
（２Ａ−５．位相差に基づく時間周波数マスキング）
周波数マスキングとは、周波数ごとに異なる係数を乗じることで、妨害音の支配的な周波数の成分はマスクする（抑圧する）一方で、目的音が支配的な周波数の成分は残すことによって、目的音の抽出を行なう方式である。
【００５８】
時間周波数マスキングとは、マスクの係数を固定ではなく時間ごとに変更する方式であり、マスクの係数をＭ（ω，ｔ）とすると、抽出は、前記の式［２．２］で表わすことができる。なお、右辺の第２項は、Ｘ＿ｋ（ω，ｔ）の他に、他の方式による抽出結果を用いてもよい。例えば、遅延和アレイによる抽出結果（式［２．１］）にマスクＭ（ω，ｔ）を乗じてもよい。
【００５９】
一般的に、音信号は周波数方向にも時間方向にもスパース（疎）であるため、たとえ目的音と妨害音とが同時に鳴っていても、目的音が支配的な時間および周波数が存在する場合が多い。そのような時間・周波数を見つけ出す方法として、マイクロホン間の位相差を用いるものがある。
【００６０】
なお、位相差を用いた時間周波数マスキングの詳細については、例えば特許文献４（特開２０１２−２３４１５０号公報）を参照されたい。
【００６１】
（２Ｂ．音源分離方式）
以上、音源抽出の従来方式について説明したが、場合によっては、音源分離の各種方式も適用可能である。すなわち、同時に鳴っている複数の音源を音源分離によって生成した後、音源方向などの情報を用いて、目的の信号に対応した１つを選択するという方法である。
【００６２】
音源分離の方式としては、例えば以下の方式が知られている。。
２Ｂ−１．独立成分分析（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：ＩＣＡ）
以下、この方式の概要について説明し、さらに、独立成分分析（ＩＣＡ）の変形処理である以下の各処理についても、本開示の処理との関連が大きいため併せて説明する。
２Ｂ−２．補助関数法
２Ｂ−３．デフレーション法
【００６３】
（２Ｂ−１．独立成分分析（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：ＩＣＡ）
独立成分分析（ＩＣＡ）とは、多変量分析の一種であり、信号の統計的な性質を利用して多次元信号を分離する手法のことである。ＩＣＡ自体の詳細については、例えば以下の書籍やなどを参照されたい。
［「詳解  独立成分分析―信号解析の新しい世界  アーポ  ビバリネン（著），エルキ  オヤ（著），ユハ  カルーネン（著），Ａａｐｏ  Ｈｙｖ¨ａｒｉｎｅｎ（原著），Ｅｒｋｋｉ  Ｏｊａ（原著），Ｊｕｈａ  Ｋａｒｈｕｎｅｎ（原著），根本  幾（翻訳），川勝  真喜（翻訳）」
（原題）Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ  Ａａｐｏ  Ｈｙｖａｒｉｎｅｎ  （Ａｕｔｈｏｒ），  Ｊｕｈａ  Ｋａｒｈｕｎｅｎ  （Ａｕｔｈｏｒ），  Ｅｒｋｋｉ  Ｏｊａ  （Ａｕｔｈｏｒ）］
【００６４】
以下では、音信号のＩＣＡ、特に時間周波数領域（ｔｉｍｅ−ｆｒｅｑｕｅｎｃｙ  ｄｏｍａｉｎ）のＩＣＡについて説明する。
【００６５】
独立成分分析（ＩＣＡ）においては、分離結果の各成分が統計的に独立になるような分離行列を求める処理が行われる。
分離の式は、以下に示す式［３．１］で表わされる。
式［３．１］は、観測信号ベクトルＸ（ω，ｔ）に分離行列Ｗ（ω）を適用して分離結果ベクトルＹ（ω，ｔ）を算出する式である。
【００６６】
【数３】
2014219467.tif 000005
2014219467.tif 000006
【００６７】
分離行列Ｗ（ω）は式［３．３］で表わされる大きさｎ×ｎの行列である。
分離結果ベクトルＹ（ω，ｔ）は式［３．２］で表わされる１×ｎのベクトルである。
【００６８】
すなわち、周波数ビン毎にｎ個の出力チャンネルを持つ。そして、分離結果の成分であるＹ＿１（ω，ｔ）〜Ｙ＿ｎ（ω，ｔ）が、所定の範囲のｔにおいて統計的に最も独立となるような分離行列Ｗ（ω）を求める。Ｗ（ω）を求める具体的な式については、上記文献を参照されたい。
【００６９】
従来の時間周波数領域ＩＣＡでは、パーミュテーション問題と呼ばれる問題が発生していた。
パーミュテーション問題とは、「どの成分がどの出力チャンネルに分離されるか」が周波数ビンごとに（ωごとに）異なるという問題である。
しかし、この問題は、本出願と同一出願人同一発明者の特許である特許第４４４９８７１号『音声信号分離装置・雑音除去装置および方法』によってほぼ解決した。本開示の処理も、この先行特許第４４４９８７１号に開示の処理と類似する処理が適用可能であるため、以下、この先行特許の処理について簡単に説明する。
【００７０】
特許第４４４９８７１号では、分離を表わす式として、式［３．１］を全周波数ビンについて展開することで得られる分離結果ベクトルＹ（ｔ）の算出式である上記の式［３．４］を用いる。
この分離結果ベクトルＹ（ｔ）算出式［３．４］において、分離結果ベクトルＹ（ｔ）は式［３．５］および式［３．６］で表わされる１×ｎΩのベクトルである。
同様に、観測信号ベクトルＸ（ｔ）は式［３．７］および式［３．８］で表わされる１×ｎΩのベクトルである。なお、ｎ，Ωはそれぞれマイクと周波数ビンの個数である。
【００７１】
式［３．８］のＸ＿ｋ（ｔ）は、ｋ番目のマイクで観測された観測信号のフレーム番号ｔにおけるスペクトル（例えば図９に示すＸ＿ｋ（ｔ））に対応しており、同様に式［３．６］のＹ＿ｋ（ｔ）は、ｋ番目の分離結果のフレーム番号ｔにおけるスペクトルに対応している。一方、式［３．４］の分離行列Ｗは、式［３．９］で表わされるｎΩ×ｎΩの行列であり、Ｗを構成する部分行列Ｗ＿｛ｋｉ｝は、式［３．１０］で表わされるΩ×Ωの対角行列である。
【００７２】
特許第４４４９８７１号では、独立性を表わす尺度として、全周波数ビンから（スペクトログラム全体から）唯一に計算されるＫｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ情報量（ＫＬ情報量）を用いている。
【００７３】
ＫＬ情報量Ｉ（Ｙ）は、式［３．１１］で計算される。この式［３．１１］において、Ｈ（・）はカッコ内の変数についてのエントロピーを表わす。すわなち、Ｈ（Ｙ＿ｋ）はベクトルＹ＿ｋ（ｔ）の要素であるＹ＿ｋ（１，ｔ）〜Ｙ＿ｋ（Ω，ｔ）についての同時エントロピー（ｊｏｉｎｔ  ｅｎｔｒｏｐｙ）であり、Ｈ（Ｙ）はベクトルＹ（ｔ）の要素についての同時エントロピーである。
【００７４】
式［３．１１］で計算されるＫＬ情報量Ｉ（Ｙ）は、Ｙ＿１〜Ｙ＿ｎがお互いに独立となったときに最小値（理想的には０）となる。そこで、式［３．１１］のＩ（Ｙ）を目的関数（ｏｂｊｅｃｔｉｖｅ  ｆｕｎｃｔｉｏｎ）とみなし、Ｉ（Ｙ）を最小にするＷを求めることで、観測信号Ｘ（ｔ）から分離結果（＝混合前の原信号）を生成する分離行列Ｗを得ることができる。
【００７５】
なお、Ｈ（Ｙ＿ｋ）は式［３．１２］を用いて計算する。この式において、＜・＞＿ｔはカッコ内の変数をフレーム番号ｔについて平均することを表わす。また、ｐ（Ｙ＿ｋ（ｔ））は、ベクトルＹ＿ｋ（ｔ）を引数に取る多変量（ｍｕｌｔｉｖａｒｉａｔｅ）確率密度関数（ｐｒｏｂａｂｉｌｉｔｙ  ｄｅｎｓｉｔｙ  ｆｕｎｃｔｉｏｎ：ｐｄｆ）である。
【００７６】
この確率密度関数は、音源分離の問題を解く限りでは、その時点でのＹ＿ｋ（ｔ）の分布を表わしていると解釈しても、原信号の分布を表わしていると解釈しても構わない。特許第４４４９８７１号では、多変量確率密度関数ｐｄｆの一例として、多変量指数分布である式［３．１３］を用いている。
この式［３．１３］において、
Ｋは正の定数である。
||Ｙ＿ｋ（ｔ）||＿２はベクトルＹ＿ｋ（ｔ）のＬ−２ノルムであり、この値は式［３．１４］においてｍ＝２を代入することで計算される。
【００７７】
また、式［３．１１］に式［３．１２］を代入し、さらに式［３．４］から得られるＨ（Ｙ）＝ｌｏｇ｜ｄｅｔ（Ｗ）｜＋Ｈ（Ｘ）の関係も代入すると、結果として式［３．１１］は、式［３．１５］のように変形できる。なお、ｄｅｔ（Ｗ）はＷの行列式（ｄｅｔｅｒｍｉｎａｎｔ）を表わす。
【００７８】
特許第４４４９８７１号では、式［３．１５］を最小化するために、自然勾配法（ｎａｔｕｒａｌ  ｇｒａｄｉｅｎｔ）というアルゴリズムを用いている。また、特許第４４４９８７１号の改良版である特許第４５５６８７５号では、観測信号に対して無相関化（ｄｅｃｏｒｒｅｌａｔｉｏｎ）という変換を適用してから正規直交制約（ｏｒｔｈｏｎｏｒｍａｌｉｔｙ  ｃｏｎｓｔｒａｉｎｔｓ）つき勾配法というアルゴリズムを用いることで、最小値への収束を高速化している。
【００７９】
ＩＣＡには計算量が大きい（目的関数の収束までに多数の反復処理が必要）という課題があったが、最近、補助関数（auxiriary function）法という方式を導入することで収束までの反復回数を大幅に削減することが報告されている。補助関数法の詳細については、後段で説明する。
【００８０】
例えば、特開２０１１−１７５１１４では、時間周波数領域ＩＣＡ（特許第４４４９８７１号より以前の、パーミュテーション問題を内包したＩＣＡ）に対して補助関数法を適用した処理を開示している。また、以下の文献では、特許第４４４９８７１号で導入された目的関数（式［３．１５］など）の最小化問題に対して補助関数法を適用することで、計算量の削減とパーミュテーション問題の解消とを実現した処理を開示している。
「ＳＴＡＢＬＥ  ＡＮＤ  ＦＡＳＴ  ＵＰＤＡＴＥ  ＲＵＬＥＳ  ＦＯＲ  ＩＮＤＥＰＥＮＤＥＮＴ  ＶＥＣＴＯＲ  ＡＮＡＬＹＳＩＳ  ＢＡＳＥＤ  ＯＮ  ＡＵＸＩＬＩＡＲＹ  ＦＵＮＣＴＩＯＮ  ＴＥＣＨＮＩＱＵＥ  Ｎｏｂｕｔａｋａ  Ｏｎｏ  ２０１１  ＩＥＥＥ  Ｗｏｒｋｓｈｏｐ  ｏｎ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｏｆ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｔｏ  Ａｕｄｉｏ  ａｎｄ  Ａｃｏｕｓｔｉｃｓ  Ｏｃｔｏｂｅｒ  １６−１９，  ２０１１，  Ｎｅｗ  Ｐａｌｔｚ，ＮＹ」
【００８１】
なお、通常のＩＣＡでは、マイクロホンと同じ数の分離結果を生成可能であるが、それとは別に、「デフレーション法」と呼ばれる音源を１つずつ推定していく方式も存在しており、例えば脳磁図（Ｍａｇｎｅｔｏｅｎｃｅｐｈａｌｏｇｒａｐｈｙ：ＥＧ）等の信号解析に使用されている。
【００８２】
しかし、時間周波数領域の音信号に対しては、デフレーション法を単純に適用すると、どの音源が最初に抽出されるかが不定となる。これは、広義のパーミュテーション問題に相当する。言い換えると、所望の目的音のみを確実に抽出する（＝妨害音は抽出しない）方法が現時点では確立されていない。そのため、時間周波数領域の信号の抽出においてデフレーション法は有効には用いられていない。
【００８３】
［３．従来の処理における問題点について］
上述のように、従来から、音源抽出処理や、音源分離処理について様々な提案がなされている。
上述した音源抽出処理や音源分離処理は、目的音の方向と区間が既知であることが前提である。しかし、目的音の方向や区間は、常に高い精度で得られるとは限らない。すなわち、以下のような課題がある。
１）目的音の方向が不正確な（誤差を含んでいる）場合がある。
２）妨害音については、区間が検出できるとは限らない。
【００８４】
例えば、画像を用いて目的音の方向や区間情報を取得する方法では、カメラとマイクロホンアレイとの位置のずれにより、顔の位置から計算される音源方向とマイクロホンアレイに対しての音源方向とは、ずれが生じる可能性がある。また、顔位置とは無関係の音源や、カメラ画角外の音源については、区間が検出できない。
【００８５】
一方で、音源方向推定に基づく方式では、方向の精度と計算量との間にトレードオフがある。例えば、音源方向推定としてＭＵＳＩＣ法を用いると、死角をスキャンする際の角度の刻み幅を小さくすると精度が上がる反面、計算量が増える。
【００８６】
なお、ＭＵＳＩＣ法は、ＭＵｌｔｉｐｌｅ  ＳＩｇｎａｌ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎの略である。ＭＵＳＩＣ法は、空間フィルタリング（特定方向の音を透過したり抑圧したりする処理）の観点から、以下の２つのステップ（Ｓ１），（Ｓ２）の処理として説明できる。なお、ＭＵＳＩＣ法の詳細については、特許文献（特開２００８−１７５７３３号）などを参照されたい。
【００８７】
（Ｓ１）ある区間（ブロック）内で鳴っている全ての音源の方向に死角を向けた空間フィルタを生成する。
（Ｓ２）生成した空間フィルタについて指向特性（方向とゲインとの関係）を調べ、死角が表れている方向を求める。
これらの処理により、生成した空間フィルタによって形成された死角の方向を音源方向として推定することができる。
【００８８】
これらの既存技術では、目的音の方向や区間は、常に高い精度で得られるとは限らず、目的音の方向が不正確だったり、妨害音の検出に失敗したりすることも多く、このような低精度の情報を適用して従来の音源抽出処理を実行すると、音源の抽出（または分離）の精度が著しく低下するという問題がある。
【００８９】
また、音源抽出を他の処理（音声認識や録音など）の前段処理として用いる場合、以下の要件、すなわち、［低遅延］、［高追従性］を満たすのが望ましい。
（１）低遅延：区間の終了から抽出結果（または分離結果）が生成されるまでの時間が短い。
（２）高追従性：区間の開始の時点から高い精度で抽出される。
しかし、上述した従来の音源抽出処理や分離処理には、これら全ての要件を満たすものはない。以下、従来の音源抽出または音源分離処理の各方式の問題点について、個別に説明する。
【００９０】
（３−１．遅延和アレイを適用した音源抽出処理の問題点）
遅延和アレイを適用した音源抽出処理においては、音源方向が不正確でも、ある程度までなら影響は少ない。しかし、観測信号を取得するマイクロホンの個数が少ない場合（例えば３〜５個程度）、妨害音はあまり減衰しない。すなわち、目的音が少々強調される程度の効果しかない。
【００９１】
（３−２．分散最小ビームフォーマーを適用した音源抽出処理の問題点）
分散最小ビームフォーマーを適用した音源抽出処理においては、目的音の方向に誤差がある場合に、抽出の精度が急激に低下する。なぜなら、ゲインを１に固定する方向と目的音の真の方向とがずれている場合、目的音の方向にも死角を形成し、目的音も減衰させてしまうからである。すなわち、目的音と妨害音との比率（ＳＮＲ）が大きくならない。
【００９２】
この問題に対処するため、目的音が鳴っていない区間の観測信号を用いて抽出用フィルタを学習する方式もある。しかしその場合、その区間において目的音以外の音源が全て鳴っている必要がある。言い換えると、妨害音が存在する中で目的音の発話が発生しても、その発話区間は学習には使えず、代わりに、過去の観測信号の中から目的音以外のすべての音源が鳴っている区間を検出してその区間を学習に使う必要がある。妨害音が定常的で、かつ位置が固定であればそのような検出は容易だが、本開示の問題設定のように、妨害音が非定常かつ位置も可変という状況では、フィルタ学習用区間の検出自体が困難となり、その場合は抽出精度が低下する。
【００９３】
例えば、フィルタ学習用区間に含まれていなかった妨害音が目的音の発話中に鳴り始めた場合、その妨害音は除去されない。また、同学習用区間に目的音（正しくは、目的音とほぼ同じ方向から到来する音）が含まれていると、妨害音だけでなく目的音も減衰させるフィルタが生成される可能性が高くなる。
【００９４】
（３−３．ＳＮＲ最大化ビームフォーマーを適用した音源抽出処理の問題点）
ＳＮＲ最大化ビームフォーマーを適用した音源抽出処理においては、音源方向は使用しないので、目的音の方向が不正確でも影響は受けない。
【００９５】
しかし、ＳＮＲ最大化ビームフォーマーを適用した音源抽出処理においては、
ａ）目的音のみが鳴っている区間、
ｂ）目的音以外の全ての音源が鳴っている区間、
これらとの両方が必要であるため、どちらかが取得できない場合は適用できない。例えば、妨害音の１つがほぼ鳴りっぱなしである場合、ａ）は取得できない。
【００９６】
また、この方式においても、妨害音が存在する中で発生した目的音発話の区間は区間はフィルタ学習用に使用することができず、代わりに過去の観測信号の中からフィルタ学習用の区間を検出する必要がある。しかし、本開示の問題設定では目的音も妨害音も発話の度に位置を変更する可能性があるため、過去の観測信号から適切な区間が見つかる保証はない。
【００９７】
（３−４．目的音の除去と減算に基づく方式を適用した音源抽出処理の問題点）
目的音の除去と減算に基づく方式を適用した音源抽出処理においては、目的音の方向に誤差がある場合に、抽出の精度が急激に低下する。なぜなら、目的音の方向が不正確である場合、目的音が完全には除去されず、その信号を観測信号から減算すると、目的音もある程度は除去されてしまうからである。すなわち、目的音と妨害音との比率が大きくならない。
【００９８】
（３−５．位相差に基づく時間周波数マスキングを適用した音源抽出処理の問題点）
位相差に基づく時間周波数マスキングを適用した音源抽出処理は、方向が不正確でも、ある程度までなら影響は少ない。
しかし、低い周波数ではもともとマイクロホン間の位相差があまりないため、高精度な抽出ができない。
【００９９】
また、スペクトル上に非連続な箇所が発生しやすいため、波形に戻したときにミュージカルノイズが発生する場合がある。
また、別の問題として、時間周波数マスキングの処理結果のスペクトルは、自然の音声のスペクトルとは異なるため、後段に音声認識等を組み合わせた場合に、抽出はできている（妨害音は除去できている）にも関わらず音声認識の精度向上には繋がらない場合もあり得る。
さらに、目的音と妨害音とが重複する度合いが高くなると、マスクされる箇所が増えるため、抽出結果の音量が小さくなったり、ミュージカルノイズの度合いが大きくなったりする可能性がある。
【０１００】
（３−６．独立成分分析（Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：ＩＣＡ）を適用した音源抽出処理の問題点）
独立成分分析（ＩＣＡ）を適用した音源抽出処理では、音源方向を用いないため、方向が不正確でも分離への影響はない。
また、目的音の発話区間そのものを分離行列の学習用の観測信号として使用することができるため、過去の観測信号から学習に適切な区間を検出することに関する問題は発生しない。
【０１０１】
しかし、補助関数法を適用した場合でも他の方式と比べて計算量が依然として大きいため、区間の終了から分離結果生成までの遅延が大きい。計算量が大きい理由の一つは、独立成分分析が１音源の抽出ではなく、ｎ個（ｎはマイクロホンの個数）の音源の分離であることにある。そのため、目的の１音源のみの抽出と比べて少なくともｎ倍の計算量を必要とする。
【０１０２】
また、同じ理由により、分離結果等を格納するメモリも、１音源の抽出と比べてｎ倍必要である。
さらに、ｎ個の分離結果の中から、音源方向等を用いて目的の１音源を選択するという処理が必要であり、その際に選択を間違える可能性もある。これは、「選択誤り」と呼ばれる。
【０１０３】
［４．従来技術の問題点を解決する本開示の処理の概要について］
次に、上述した従来技術の問題点を解決する本開示の処理の概要について説明する。
本開示の音信号処理装置では、例えば、以下の処理（１）〜（４）を適用することで、前述の問題を解決する。
（１）時間領域ＩＣＡのデフレーション法
（２）補助関数法の導入
（３）学習初期値として、目的音の方向とマイクロホン間の位相差とに基づく時間周波数マスキングを使用
（４）学習途中で生成される抽出結果に対しても時間周波数マスキングを使用
【０１０４】
本開示の処理では、補助関数法を導入した学習処理を実行するものであり、この構成により、例えば以下の効果が発生する。
学習収束までの反復回数を短縮することが可能となる。
他の方式によって生成されたラフな抽出結果を学習初期値として使用することが可能となる。
【０１０５】
本開示の音信号処理装置は、時間周波数領域のデフレーション法の課題であった、所望の目的音のみを生成する方法を、上記の（２），（３）の処理を導入することで実現する。言い換えると、目的音に近い学習初期値を用いることで、デフレーション法において目的の原信号のみの抽出を実現する。
なお、その際、例えば、上記（３）に記載したように、時間周波数マスキングの結果をデフレーション法の学習初期値として使用する。このような初期値利用が可能である理由は、補助関数法を導入しているからである。
以下、上記（１）〜（４）の各処理について、順次説明する。
【０１０６】
［４−１．時間領域ＩＣＡのデフレーション法について］
まず、本開示の音信号処理装置において適用する時間領域ＩＣＡのデフレーション法について説明する。
ＩＣＡのデフレーション法とは、全音源を同時に分離する代わりに、原信号を一つずつ推定する方式である。一般的な解説については、例えば前述の『詳解  独立成分分析―信号解析の新しい世界』の８章を参照されたい。
【０１０７】
以下では、デフレーション法を、特許第４４４９８７１号で導入された独立性尺度に適用した場合について説明する。なお、この処理の途中の独立性尺度の計算までは特許第４５５６８７５号と同一であるため、合わせて参照されたい。
【０１０８】
先に示した式［１．１］の観測信号ベクトルＸ（ω，ｔ）に対して無相関化（ｄｅｃｏｒｒｅｌａｔｉｏｎ）を適用した結果を無相関化済み観測信号ベクトルＸ'（ω，ｔ）とする。無相関化は、以下に示す式［４．１］のように、無相関化行列Ｐ（ω）を乗じることで行なわれる。なお、無相関化行列の計算方法は後述する。
また、無相関化済み観測信号ベクトルＸ'（ω，ｔ）の各要素はフレーム番号ｔについて無相関であるため、その共分散行列は単位行列である（式［４．２］）。
【０１０９】
【数４】
2014219467.tif 000007
【０１１０】
無相関化済み観測信号を、無相関化前の観測信号を示す式［３．７］と同じ形式で記述したベクトルをＸ'（ｔ）と表わすと、式［３．４］の分離の式は式［４．３］のように表わされる。
【０１１１】
この式［４．３］に示す新たな分離行列Ｗ'は正規直交行列（式［４．４］を満たす行列。この行列の要素は複素数なので、正確にはユニタリ行列）の中から見つければ十分であることが証明されている。この特徴を利用することで、以下に示すようになデフレーション法（１音源ずつの推定）が可能となる。
【０１１２】
独立性尺度であるＫＬ情報量Ｉ（Ｙ）を表わす式［３．１１］について、観測信号Ｘ（ｔ）に適用する分離行列Ｗの代わりに、無相関化済み観測信号Ｘ'（ｔ）に適用する新たな分離行列Ｗ'を用いて表わすと、式［４．５］を経て、式［４．６］のように表すことができる。
ここで、分離行列Ｗ'が正規直交行列であれば、式［４．６］中のｄｅｔ（Ｗ'）は常に１であり、また、無相関化観測信号Ｘ'は、学習中は固定であり、そのエントロピーＨ（Ｘ'）は一定値である。従って、ＫＬ情報量Ｉ（Ｙ）は式［４．７］のように表わせる。なお、ｃｏｎｓｔは定数を表わす。
【０１１３】
ＫＬ情報量Ｉ（Ｙ）は、分離結果ベクトルＹ（ｔ）の要素であるＹ＿１（ｔ）〜Ｙ＿ｎ（ｔ）が統計的に最も独立となったときに最小となるため、分離行列Ｗ'はＫＬ情報量Ｉ（Ｙ）の最小化問題の解として求めることができる。すなわち、式［４．８］を解くことによって求められる。さらに、式［４．８］は、式［４．７］の関係によって式［４．９］のように表わせる。
【０１１４】
式［４．９］では、Ｈ（Ｙ）といった分離結果同士の関係を表わす項が消えているため、ｋ番目の分離結果のみを取り出すことが可能である。すなわち、無相関化済み観測信号ベクトルＸ'（ｔ）からｋ番目の分離結果のみを生成する行列Ｗ'＿ｋを式［４．１０］によって求め、求めた行列Ｗ'＿ｋを無相関化済み観測信号ベクトルＸ'（ｔ）に乗じればよい。
この処理は、式［４．１１］として示すことができる。
ただし、Ｗ'＿ｋは式［４．１２］で表わされるΩ×ｎΩの行列であり、また、式［４．１２］のＷ'＿｛ｋｉ｝は式［３．１０］のＷ＿｛ｋｉ｝と同じ形式で表わされるΩ×Ωの対角行列である。
【０１１５】
すなわち、観測信号に無相関化を適用すると、ｋ番目の分離結果のエントロピーＨ（Ｙ＿ｋ）を最小化するという問題を解くことでｋ番目の音源のみを推定することが可能となる。これが、ＫＬ情報量を用いたデフレーション法の原理である。
【０１１６】
以降では、分離結果として、目的音に対応した１チャンネル分のみを考慮する（Ｙ＿１〜Ｙ＿ｎのうちＹ＿ｋのみを考慮する）。これは音源抽出と等価であるため、前述した式［１．１］〜式［１．３］に合わせて変数名を置き換える。
すなわち、分離結果Ｙ＿ｋ（ｔ）と分離行列Ｗ'＿ｋとを、それぞれＺ（ｔ）とＵ'に置き換え、それぞれ抽出結果および抽出フィルタと呼ぶ。
すなわち、
抽出結果Ｚ（ｔ）と、
抽出フィルタＵ'
である。
【０１１７】
その結果、式［４．１１］は式［４．１３］に書き換えられる。同様に、Ｙ＿ｋ（ω，ｔ）についてもＺ（ω，ｔ）と書き換えると、Ｚ（ω，ｔ）は、Ｕ'の中から周波数ビンωについての要素を取り出した行列Ｕ'（ω）（形式は式［１．３］のＵ（ω）と同一）と、周波数ビンωでの無相関化済み観測信号ベクトルＸ'（ω，ｔ）とを用いて、式［４．１４］のように書くことができる。
【０１１８】
また、この書き換えにより、式［４．１０］は抽出フィルタＵ'を引数に取る関数の最小化問題であると解釈できるため、改めて式［４．１５］〜［４．１６］のように書き換える。これらの式に示されるＧ（Ｕ'）を目的関数と呼ぶ。
【０１１９】
先に説明したように、式［４．８］に示す分離行列Ｗ'を算出する処理として、式［４．８］に示すＫＬ情報量Ｉ（Ｙ）の最小化問題を解く処理が行われる。この処理と同様、式［４．１６］に示される目的関数Ｇ（Ｕ'）の最小か問題を解くことで、抽出フィルタＵ'を算出することができる。
すなわち、目的音の抽出に最適な抽出フィルタＵ'を算出するためには、目的関数Ｇ（Ｕ'）が極小点となるフィルタ値を算出すればよい。
この具体的な処理については、図４を参照して後段で説明する。
【０１２０】
なお、分離行列Ｗ'に対する制約である式［４．４］は、変数の書き換えの後では式［４．１７］および式［４．１８］のように表わされる。ただし、式［４．１７］のＩは、Ω×Ωの単位行列である。さらに、式［４．１８］および式［４．２］と式［４．１４］により、式［４．１９］が得られる。すなわち、抽出結果の分散は１であるという制約があるのと等価である。この制約は、目的音の真の分散とは異なるため、いったん抽出フィルタを得た後、リスケーリングという処理によって抽出結果の分散（スケール）を修正する必要があるが、リスケーリングについては後述する。
【０１２１】
上記した式［４．１］〜［４．２０］に現れる変数の関係を、図２を用いて説明する。図２には複数の音源２１〜２３を示している。
音源２１は目的音の音源、音源２２〜２３は妨害音の音源である。本開示の音信号処理装置に備えられた複数のマイクロホンの各々は、これらの音源が混合された信号が観測される。
本実施例では、本開示の音信号処理装置は、ｎ本のマイクロホンを備えるものとする。
【０１２２】
ｎ本のマイクロホン１〜ｎ各々の取得信号を、それぞれＸ＿１〜Ｘ＿ｎとし、さらにそれらをまとめてベクトルで表わしたものを観測信号Ｘとする。
図２に示す観測信号Ｘである。
なお、厳密には、観測信号Ｘは、時間や周波数単位のデータであるのでＸ（ｔ）またはＸ（ω，ｔ）と表わされる。以降、Ｘ'およびＺについても同様である。
【０１２３】
図２に示すように、観測信号Ｘに無相関化行列Ｐを適用した結果は、無相関化済み観測信号Ｘ'＿１〜Ｘ'＿ｎであり、これらをまとめたベクトルはＸ'である。無相関化行列Ｐは、厳密には周波数ビン単位のデータであり、周波数ωごとにＰ（ω）と表わされる。以降、抽出フィルタＵ'についても同様である。
【０１２４】
図２に示すように、無相関化済み観測信号Ｘ'に抽出フィルタＵ'を適用した結果が抽出結果Ｚである。
このＺが目的音の推定信号となるように、いったんエントロピーＨ（Ｚ）または目的関数Ｇ（Ｕ'）を計算し、その値が最小となるようにフィルタＵを更新する。
先に説明した式［４．１５］に示すように、目的関数Ｇ（Ｕ'）とエントロピーＨ（Ｚ）は等価である。
【０１２５】
本開示の処理では、図２に示す以下の各処理、すなわち、
（ａ）抽出結果Ｚの取得、
（ｂ）目的関数Ｇ（Ｕ'）の算出、
（ｃ）抽出フィルタＵ'の算出
これら（ａ）〜（ｃ）の処理を繰り返し実行する。すなわち、これらの処理（ａ）〜（ｃ）を、観測信号Ｘを用いて繰り返し実行する反復学習処理を行なって、最終的に目的音抽出に最適な抽出フィルタＵ'を算出する。
【０１２６】
抽出フィルタＵ'を変化させると抽出結果Ｚ（ｔ）が変化し、目的関数Ｇ（Ｕ'）は、抽出結果Ｚ（ｔ）が単一の音源のみから構成されるときに極小となる。
すなわち、上記の反復学習処理によって、目的関数Ｇ（Ｕ'）が極小点となる抽出フィルタＵ'を算出する。
この具体的な処理については、図４を参照して後段で説明する。
【０１２７】
目的関数Ｇ（Ｕ'）、すなわちエントロピーＨ（Ｚ）を計算するために、特許第４４４９８７１号および特許第４５５６８７５号に記載された処理と同様に、確率密度関数として式［３．１２］〜［３．１４］を用いると、目的関数Ｇ（Ｕ'）は式［４．２０］のように表わせる。この式の意味を、図３を用いて説明する。
【０１２８】
図３には、抽出結果Ｚ（ω，ｔ）のスペクトログラム３１を示している。横軸がフレーム番号ｔ、縦軸が周波数ビン番号ωを表わす。
例えば、フレーム番号ｔにおけるスペクトルは、スペクトルＺ（ｔ）３２である。Ｚ（ｔ）はベクトルであるため、Ｌ−２ノルム等のノルムを計算することができる。
図３下段に示すグラフは、スペクトルＺ（ｔ）のＬ−２ノルムである||Ｚ（ｔ）||＿２のグラフであり、横軸がフレーム番号ｔ、縦軸がスペクトルＺ（ｔ）のＬ−２ノルム：||Ｚ（ｔ）||＿２を表わす。||Ｚ（ｔ）||＿２のグラフは、Ｚ（ｔ）の時間エンベロープ（時間方向の音量の概略）でもある。
【０１２９】
式［４．２０］は||Ｚ（ｔ）||＿２の平均の最小化を表わしており、それは、時間ｔについてＺ（ｔ）の時間エンベロープをできる限りスパースにする。すなわち、スペクトルＺ（ｔ）のＬ−２ノルム：||Ｚ（ｔ）||＿２がゼロ（またはゼロに近い値）となるフレームをできる限り増やすことを意味している。
【０１３０】
しかし、単純に式［４．１６］〜［４．２０］の最小化問題を何らかのアルゴリズムで解いても、目的の音源が必ず得られる保証はなく、逆に妨害音が得られてしまう可能性もある。なぜなら、式［４．１６］〜［４．２０］の元となる式［４．１０］の最小化問題が目的音の推定となるのは、実はエントロピーＨ（Ｙ＿ｋ）の計算においてその目的音の音源の分布に対応した確率密度関数を使用した場合に限定されるのに対して、式［３．１３］の確率密度関数は目的音の分布とは必ずしも一致しないからである。
【０１３１】
目的音の真の分布を知ることは困難であるため、目的音に厳密に対応した確率密度関数を用いるという解決策は非現実的である。
その結果、式［４．２０］の目的関数Ｇ（Ｕ'）は以下のような特性を持つ。
（１）目的関数Ｇ（Ｕ'）は、抽出フィルタＵ'が音源の一つを抽出するものであるときに極小（ｌｏｃａｌ  ｍｉｎｉｍｕｍ）となる。つまり、抽出フィルタＵ'が妨害音の一つを抽出するフィルタであるときも、目的関数Ｇ（Ｕ'）は極小となる。
（２）目的関数Ｇ（Ｕ'）の複数の極小の内、どれが最小であるかは音源同士の組わせによって異なる。つまり、目的関数Ｇ（Ｕ'）を最小化するＵは、音源のどれか一つを抽出するフィルタにはなっているが、それが目的音を抽出するフィルタである保証はない。
【０１３２】
目的関数のこれらの特性について、図４を用いて説明する。
図４は、抽出フィルタＵ'と、式［４．１８］で表わされる目的関数Ｇ（Ｕ'）との関係を表わすグラフである。縦軸は目的関数Ｇ（Ｕ'）、横軸は抽出フィルタＵであり、曲線４１は両者の関係を表わす曲線である。なお、実際の抽出フィルタＵ'は複数の要素からなり、１本の軸では表現できないため、このグラフは抽出フィルタＵ'と、目的関数Ｇ（Ｕ'）との対応関係を概念的に示すグラフである。
【０１３３】
なお、前述したように、抽出フィルタＵ'を変化させると抽出結果Ｚ（ｔ）が変化する。目的関数Ｇ（Ｕ'）は、抽出結果Ｚ（ｔ）が単一の音源のみから構成されるときに極小となる。
図４は音源が２つの場合を想定しており、抽出結果Ｚ（ｔ）が単一の音源のみから構成される場合が２通り存在するため、極小も２つ存在する。極小点Ａ４２、極小点Ｂ４３である。
【０１３４】
音源が２つの例として、再び図１に示す環境について考えると、極小点Ａ４２、または極小点Ｂ４３の一方は抽出結果Ｚ（ｔ）が図１に示す目的音１１のみから構成される場合であり、もう一方の極小点はＺ（ｔ）が図１に示す妨害音１４のみから構成される場合である。どちらの極小値の方が小さいか（大域の最小値であるか）は音源の組み合わせによって異なる。
【０１３５】
従って、デフレーション法を用いて目的音のみを抽出するためには、目的関数の最小化問題を解くだけでは不十分であり、上記のような目的関数の特性を考慮し、目的音に対応した極小点を見つける必要がある。
【０１３６】
そのために効果的な方法は、抽出フィルタＵ'の推定において適切な学習初期値を与えることである。そして、補助関数法を用いると、そのような適切な初期値を与えることが容易にできるようになる。以降では、その点について説明する。
【０１３７】
［４−２．補助関数法の導入について］
補助関数法とは、目的関数の最適化問題を効率的に解く方法の一つである。詳細については特開２０１１−１７５１１４等を参照されたい。
【０１３８】
以下では、補助関数法について概念的な説明をした後、本開示の音信号処理装置において使用する具体的な補助関数について説明する。その後で、補助関数法と学習初期値との関係について説明する。
【０１３９】
（補助関数の概念的な説明）
最初に、図４を用いて、補助関数法について概念的な説明を行なう。
先に説明したように、図４に示す曲線４１は、式［４．２０］に示す目的関数Ｇ（Ｕ'）を概念的に示すイメージである。抽出フィルタＵ'の値に応じた目的関数Ｇ（Ｕ'）の変化のイメージを示している。
前述の通り、目的関数Ｇ（Ｕ'）４１には、極小点Ａ４２、極小点４３という２つの極小点が存在する。この図においては、極小点Ａ４２に対応したフィルタＵ'ａが目的音を抽出する最適なフィルタであり、極小点４３に対応したフィルタＵ'ｂが妨害音を抽出する最適なフィルタである。
【０１４０】
式［４．２０］の目的関数Ｇ（Ｕ'）には平方根等の演算が含まれるため、極小点に対応したフィルタＵ'をクローズドフォーム（ｃｌｏｓｅｄ−ｆｏｒｍ（"Ｕ'＝..."の形の式））で解くことは困難である。そのため、反復的（ｉｔｅｒａｔｉｖｅ）なアルゴリズムによってフィルタＵ'を推定することが必要となる。その反復的な推定を、以降では「学習」と呼ぶ。その学習において補助関数を導入すると、収束までの反復回数を大幅に減らすことができる。
【０１４１】
図４において、適切な学習初期値Ｕ'ｓを用意する。学習初期値は初期設定フィルタに相当し、詳細については後述する。学習初期値Ｕ'ｓに対応した曲線４１の目的関数Ｇ（Ｕ'）上の点、初期設定点４５において、以下の条件ａ）〜ｃ）を満たす関数Ｆ（Ｕ'）を用意する。関数Ｆの正確な引数については、後で説明する。
【０１４２】
ａ）関数Ｆ（Ｕ'）は、初期設定点４５でのみ目的関数Ｇ（Ｕ'）の曲線４１と接する。
ｂ）初期設定点４５以外のフィルタＵ'の値領域においては、Ｆ（Ｕ'）＞Ｇ（Ｕ'）である。
ｃ）関数Ｆ（Ｕ'）の最小値に対応するフィルタＵ'は、クローズドフォーム（ｃｌｏｓｅｄ−ｆｏｒｍ）で容易に計算できる。
【０１４３】
これらの条件を満たす関数Ｆを補助関数という。図に示す補助関数Ｆｓｕｂ１は補助関数の一例である。
補助関数Ｆｓｕｂ１の最小値ａ４６に対応したフィルタＵ'をＵ'ｆｓ１とする。前述の条件ｃ）により、補助関数Ｆｓｕｂ１の最小値ａ４６に対応したフィルタＵ'ｆｓ１は容易に計算できるものとする。
次に、フィルタＵ'ｆｓ１に対応した目的関数Ｇ（Ｕ'）を示す曲線４１上の対応点ａ４７、すなわち対応点（Ｕ'ｆｓ１，Ｇ（Ｕ'ｆｓ１））４７において、同様に補助関数Ｆｓｕｂ２を用意する。
【０１４４】
すなわち、以下の条件を満足する補助関数Ｆｓｕｂ２（Ｕ'）である。
ａ）補助関数Ｆｓｕｂ２（Ｕ'）は、対応点４７でのみ目的関数Ｇ（Ｕ'）の曲線４１と接する。
ｂ）対応点４７以外のフィルタＵ'の値の領域においては、Ｆｓｕｂ２（Ｕ'）＞Ｇ（Ｕ'）である。
ｃ）補助関数Ｆｓｕｂ２（Ｕ'）の最小値に対応するフィルタＵ'は、クローズドフォーム（ｃｌｏｓｅｄ−ｆｏｒｍ）で容易に計算できる。
【０１４５】
さらに、補助関数Ｆｓｕｂ２（Ｕ'）の最小値ｂ４８に対応したフィルタをフィルタＵ'ｆｓ２とする。フィルタＵ'ｆｓ２に対応した目的関数Ｇ（Ｕ'）を示す曲線４１上の対応点ｂ４９において、同様に補助関数を用意する。上記ａ）〜ｃ）において対応点ａ４７を対応点ｂ４９に変更した条件を満たす補助関数Ｆｓｕｂ３（Ｕ'）である。
このような操作を繰り返すことで、極小点Ａ４２に対応したフィルタＵ'の値であるＵ'ａを効率的に求めることができる。
【０１４６】
初期設定点４５から補助関数を順次更新していくこことで、順次、極小点Ａ４２に近づき、最終的に極小点Ａ４２に対応するフィルタＵ'ａまたはその近傍のフィルタを算出することができる。
この処理は、先に図２を参照して説明した反復学習処理、すなわち、
（ａ）抽出結果Ｚの取得、
（ｂ）目的関数Ｇ（Ｕ'）の算出、
（ｃ）抽出フィルタＵ'の算出
これら（ａ）〜（ｃ）の処理を繰り返し実行する反復学習処理に相当する処理である。
【０１４７】
（本開示の処理において使用する補助関数の例）
次に、本開示の処理において使用する具体的な補助関数の例について、導出方法と共に説明する。
【０１４８】
フレーム番号ｔに基づく値：ｂ（ｔ）を、任意の正の値をとる変数とすると、抽出結果ＺのＬ−２ノルム||Ｚ（ｔ）||＿２との間で、以下に示す式［５．１］の不等式が常に成立する。等号は、ｂ（ｔ）が式［５．２］を満たす場合のみ成立する。
【０１４９】
【数５】
2014219467.tif 000008
2014219467.tif 000009
【０１５０】
なお、先に図３を参照して説明したように、抽出結果ＺのＬ−２ノルム||Ｚ（ｔ）||＿２は、時間方向における目的音の音量の概略である時間エンベロープに相当し、時間エンベロープの各フレームｔの値が補助変数ｂ（ｔ）に代入される。
【０１５１】
上記式［５．１］を変形することで、式［５．３］の不等式が得られる。この不等式の等号成立条件も、式［５．２］である。
式［５．３］を、先に示した式［４．２０］の目的関数Ｇ（Ｕ'）に適用すると、式［５．４］が得られる。この不等式の右辺は、先に示した式［３．１４］によって上記の式［５．５］へと変形される。
【０１５２】
さらにこの式［５．５］においてフレームｔについての平均と周波数ビンωについての総和とは順番が入れ替え可能であるため、式［５．６］へと変形される。さらに、式［４．１４］を適用して式［５．７］を得る。この式［５．７］をＦと置き、この関数を補助関数と呼ぶ。
【０１５３】
なお、補助関数Ｆは、式［５．８］のように、変数Ｕ'（１）〜Ｕ'（Ω）と変数ｂ（１）〜ｂ（Ｔ）を引数に持つ関数として示すことができる。
すなわち、補助関数Ｆは、以下の（ａ），（ｂ）の２種類の引数を持つ。
（ａ）周波数ビンωごとの抽出フィルタであるＵ'（１）〜Ｕ'（Ω）、ただし、Ωは、周波数ビンの数
（ｂ）フレームｔごとの補助変数であるｂ（１）〜ｂ（Ｔ）、ただし、Ｔは、フレームの数
【０１５４】
補助関数法では、以下のように、上記の２種類の引数の一方を固定しながらもう一方を変化させて最小化するというステップを交互に繰り返すことで、最小化問題を解く。
（ステップＳ１）Ｕ'（１）〜Ｕ'（Ω）を固定し、補助関数Ｆを最小化するｂ（１）〜ｂ（Ｔ）を求める。
（ステップＳ２）ｂ（１）〜ｂ（Ｔ）を固定し、補助関数Ｆを最小化するＵ'（１）〜Ｕ'（Ω）を求める。
【０１５５】
これらの処理について、図４を用いて説明する。
最初の（ステップＳ１）は、例えば、図４に示す目的関数Ｇ（Ｕ'）と補助関数との接触位置（初期設定点４５や対応点ａ４７等）を見つけるステップに相当する。
次の（ステップＳ２）は、図４に示す補助関数の最小値（最小値ａ４６や最小値ｂ４８）に対応するフィルタの値（Ｕ'ｆｓ１やＵ'ｆｓ２）を求めるステップに相当する。
式［５．７］を補助関数Ｆとして用いると、上記のステップＳ１，Ｓ２の各ステップはどちらも容易に計算できる。その点を以下で説明する。
【０１５６】
（ステップＳ１）については、式［５．７］に示す補助関数Ｆを最小化するｂ（ｔ）をｔごとに求めればよい。補助関数の元となった不等式である式［５．３］により、そのｂ（ｔ）は式［５．２］で計算できる。
すなわち、直前のステップで求まったフィルタＵ'（ω）を用いて抽出結果Ｚ（ω，ｔ）を算出する。これは、式［５．９］を用いて算出することができる。
次に算出した抽出結果Ｚ（ω，ｔ）を用いて、式［５．１０］に従って、ｂ（ｔ）を計算する。
【０１５７】
なお、式［５．１０］に従ったｂ（ｔ）の算出処理は、観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に基づいて補助変数ｂ（ｔ）を更新する処理に相当する。具体的には、抽出フィルタＵ'（ω）の適用結果Ｚ（ω，ｔ）を生成し、適用結果のスペクトルであるベクトル[Ｚ（1，ｔ）, …, Ｚ（Ω，ｔ）]（Ωは周波数ビン数）のＬ−２ノルム（図３の時間エンベロープ）をフレームｔごとに計算し、その値を、更新された補助変数の値としてｂ（ｔ）に代入する。
【０１５８】
（ステップＳ２）については、式［４．１８］の制約下で、Ｆを最小化するＵ'（ω）をωごとに求めればよい。そのためには、式［５．１１］の最小化問題を解く。この式は、特開２０１２−２３４１５０に記載された式と同一であり、固有値分解（Ｅｎｇｅｎｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）を用いた同じ解法が使用可能である。以下、その解法について説明する。
【０１５９】
式［５．１２］に示されるように、式［５．１１］の＜...＞＿ｔの項を固有値分解する。この式［５．１２］の左辺は、１／ｂ（ｔ）を重みとした、無相関化済み観測信号の重みつき共分散行列であり、右辺はその固有値分解の結果である。
右辺のＡ（ω）は重みつき共分散行列の固有ベクトルＡ＿１（ω）〜Ａ＿ｎ（ω）からなる行列である。Ａ（ω）は、式［５．１３］によって示される。
また、Ｂ（ω）は重みつき共分散行列の固有値ｂ＿１（ω）〜ｂ＿ｎ（ω）からなる対角行列である。Ｂ（ω）は、式［５．１４］によって示される。
固有ベクトルは大きさが１であり、また互いに直交しているため、Ａ（ω）＾ＨＡ（ω）＝Ｉを満たす。
【０１６０】
式［５．１２］の最小化問題の解であるＵ'（ω）は、最小の固有値に対応した固有ベクトルのエルミート転置として表わされる。式［５．１４］において固有値が降順に並んでいるとすると、最小の固有値に対応する固有ベクトルはＡ＿ｎ（ω）であるため、Ｕ'（ω）は式［５．１５］のように表わされる。
【０１６１】
全てのωについてＵ'（ω）が求まったら、再び（ステップＳ１）、すなわち、式［５．９］〜式［５．１０］を実行する。そして全てのｔについてｂ（ｔ）が求まったら、再び（ステップＳ２）、すなわち式［５．１２］〜式［５．１５］を実行する。以上を、Ｕ'（ω）が収束するまで（または所定の回数だけ）繰り返す。
【０１６２】
なお、この繰り返し処理は、図４において補助関数Ｆｓｕｂ１から補助関数Ｆｓｕｂ２を算出し、さらに補助関数Ｆｓｕｂ２から極小点Ａ４２に近づく補助関数Ｆｓｕｎ３，Ｆｓｕｂ４・・・を、順次算出する処理に相当する。
【０１６３】
ここで、先に示した式［４．１］〜［４．２０］、および式［５．１］〜［５．２０］に示す式について、２点ほど補足する。一つは無相関化行列を求める方法、もう一つは、無相関化済み観測信号の重みつき共分散行列を計算する方法についてである。
【０１６４】
式［４．１］で用いられている無相関化行列Ｐ（ω）は、式［５．１６］〜［５．１９］で計算される。式［５．１６］の左辺は、無相関化前の観測信号の共分散行列であり、右辺はそれに固有値分解を適用した結果である。右辺のＶ（ω）は観測信号共分散行列の固有ベクトルＶ＿１（ω）〜Ｖ＿ｎ（ω）からなる行列であり（式［５．１７］）、Ｄ（ω）は観測信号共分散行列の固有値ｄ＿１（ω）〜ｄ＿ｎ（ω）からなる対角行列である（式［５．１８］）。固有ベクトルは大きさが１であり、また互いに直交しているため、Ｖ（ω）＾ＨＶ（ω）＝Ｉを満たす。Ｐ（ω）は、式［５．１９］から計算する。
【０１６５】
２点目の補足は、式［５．１２］の左辺に現れる無相関化済み観測信号の重みつき共分散行列を計算する方法についてである。式［４．１］の関係を用いると、式［５．１２］の左辺は式［５．２０］のように変形される。すなわち、無相関化前の観測信号について、補助変数の逆数を重みとする重みつき共分散行列をいったん計算し、その後でその行列の前後にＰ（ω）とＰ（ω）＾Ｈとを乗じると、無相関化済み観測信号の重みつき共分散行列と同一の行列を生成することができる。式［５．２０］の右辺に従って計算すると、無相関化済み観測信号Ｘ'（ω，ｔ）の生成をスキップできるため、左辺に従って計算するのと比べ、計算量とメモリとを節約できる。
【０１６６】
（補助関数法と学習初期値との関係）
補助関数法は、目的関数を安定かつ高速に収束させるための手段としての側面が注目されることが多く、例えば特開２０１１−１７５１１４号公報においてもその点が発明の効果として挙げられているが、他にも、他の方式で生成された抽出結果を学習初期値として使用するのが容易になるという側面もあり、本開示の音信号処理装置ではその特徴を用いている。以下では、その点について説明する。
【０１６７】
最初に、学習初期値の重要性について、再び図４を用いて説明する。
先に説明したように、図４の目的関数Ｇ（Ｕ'）には極小点が２つあり、極小点Ａ４２が目的音の抽出に対応し、極小点Ｂ４３が妨害音の抽出に対応しているとする。
【０１６８】
学習初期値として、先に説明した手順に従い、初期設定点４５に対応するフィルタ値Ｕ'ｓを用いた場合は、目的音に対応した極小点Ａ４２に収束する可能性が高い。一方、図４に示すフィルタ値Ｕ'ｘを初期値として用いると、妨害音に対応した極小点Ｂ４３に収束してしまう可能性が高い。
【０１６９】
また、学習初期値は、収束点に近ければ近いほど、収束までの反復回数を少なくすることができる。図４に示す例では、初期設定点４５に対応するフィルタ値Ｕ'ｓから学習を開始するより、例えば、対応点ａ４７に対応するフィルタ値Ｕ'ｆｓ１から開始した方が極小点Ａ４２に早く収束する。
さらに、対応点ｂ４９に対応するフィルタ値Ｕ'ｆｓ２から開始した方が極小点Ａ４２に早く収束する。
【０１７０】
従って課題は、目的音に対応した極小点へ収束する可能性の高い学習初期値を生成することに加え、少ない回数で学習を収束させるために収束点にできる限り近い学習初期値を生成することである。そのような初期値を「適切な学習初期値」と呼ぶことにする。
【０１７１】
通常、目的関数Ｇ（Ｕ'）の極小点に対応したフィルタ値Ｕ'を求めるという問題設定では、学習初期値として用いられるのは、特定の値の初期フィルタ値Ｕ'である。しかし、適切な初期フィルタ値Ｕ'を直接求めるのは一般には困難である。例えば、遅延和アレイ法に基づいて抽出フィルタを構成し、それを学習初期値として用いることは可能であるが、それが適切な学習初期値である保証はない。
【０１７２】
一方、補助関数法では、フィルタそのものの他に、他の方式で生成された抽出結果も補助変数の推定において使用することができる。その点について、先に示した式［５．９］〜式［５．１０］を用いて説明する。
【０１７３】
式［５．１０］は、抽出フィルタＵ'（１）〜Ｕ'（Ω）を固定したときに補助関数Ｆを最小化するｂ（ｔ）を求める式であるが、この式［５．１０］は、抽出結果の時間エンベロープ、すなわち、図３に示すスペクトルＺ（ｔ）のＬ−２ノルムである||Ｚ（ｔ）||＿２を求める式に相当する。すなわち、補助関数として式［５．７］を用いた場合、補助変数の値は、学習途中の抽出結果の時間エンベロープに対応する。
【０１７４】
また、抽出フィルタＵ'（ω）がほぼ収束しているタイミングでは、その抽出フィルタＵ'（ω）を使用して得られた学習途中の抽出結果Ｚ（ω，ｔ）は目的音とほぼ一致していると考えられるため、そのタイミングでの補助変数ｂ（ｔ）は、目的音の時間エンベロープとほぼ一致していると考えられる。そして次のステップでは、その補助変数ｂ（ｔ）から、さらに目的音を高精度に抽出するための更新された抽出フィルタＵ'（ω）が推定される（式［５．１１］〜式［５．１５］）。
【０１７５】
この考察は、次のことを意味している。もし、何らかの手段によって、目的音の時間エンベロープ||Ｚ（ｔ）||＿２を高い精度で推定することができれば、この推定された時間エンベロープを補助変数ｂ（ｔ）に代入し、さらに式［５．１１］を解くことで、抽出フィルタＵ'（ω）を求めることができる。この抽出フィルタＵ'（ω）は、収束点の近傍、すなわち、例えば図３に示す目的音対応の極小点Ａ４２に対応する抽出フィルタＵ'ａの近傍にあるフィルタである可能性が高い。従って、学習が収束するまでの反復回数は少ないと期待される。
【０１７６】
このように、式［５．４］〜［５．７］に示す補助関数を用いた補助関数法の適用において、例えば他の手段によって推定された目的音の時間エンベロープを学習初期値として使用することで、効率的にかつ確実に目的音抽出のための抽出フィルタを算出することが可能となる。
【０１７７】
この特徴は、他の学習アルゴリズムに対する利点となる。例えば、前述の勾配法では、学習初期値はＵ'（ω）自体であり、そのベクトルの各要素は複素数である。
それが「適切な学習初期値」であるためには、複素数の位相と振幅を共に高精度に推定する必要があるが、それは困難である。また、後述のように、時間周波数領域の目的音の推定結果を学習初期値として利用する方法も存在するが、その場合も、各周波数ビンにおいて、目的音の振幅・位相共に高精度に推定するのは困難である。
【０１７８】
それに対し、本開示での学習初期値である時間エンベロープは、推定が容易である。なぜなら、推定する値は周波数ビンごとではなく、全周波数ビンで１つであり、しかも複素数ではなくて正の実数で良いからである。
次に、そのような時間エンベロープを推定する方法として、時間周波数マスキングに基づく方式について説明する。
【０１７９】
［４−３．学習初期値として目的音の方向とマイクロホン間の位相差とに基づく時間周波数マスキングを使用する処理について］
以下、学習初期値として目的音の方向とマイクロホン間の位相差とに基づく時間周波数マスキングを使用する処理について説明する。
【０１８０】
前述したように、周波数マスキングは周波数ごとに異なる係数を乗じることで、妨害音の支配的な周波数の成分はマスクする（抑圧する）一方で、目的音が支配的な周波数の成分は残すことによって、目的音の抽出を行なう方式である。
時間周波数マスキングは、マスクの係数を固定ではなく時間ごとに変更する方式であり、マスクの係数をＭ（ω，ｔ）とすると、抽出は、先に説明した式［２．２］で表わすことができる。
【０１８１】
本開示で使用する時間周波数マスキングは、特開２０１２−２３４１５０で開示されているものと同様である。すなわち、時間周波数領域において、目的音の方向から計算されるステアリングベクトルと、観測信号ベクトルとの間で類似度に基づいてマスクの値を計算するというものである。
前述したように、ステアリングベクトルとは、ある方向から到来する音について、マイク間の位相差を表わしたベクトルである。目的音の方向θに対応したステアリングベクトルを算出して、先に説明した式［２．１］によって抽出結果を得ることができる。
【０１８２】
最初に、ステアリングベクトルの生成方法について、図５、および以下に示す式［６．１］〜［６．３］を用いて説明する。
【０１８３】
【数６】
2014219467.tif 000010
【０１８４】
図５に示す基準点ｍ５２を、方向を測るための基準点とする。基準点ｍ５２はマイクロホンの近くの任意の地点でよく、例えばマイクロホン間の重心と一致させたり、あるいはマイクロホンのどれかと一致させても良い。基準点５２の位置ベクトル（すなわち座標）をｍとする。
【０１８５】
音の到来方向を表わすために、基準点ｍ５２を始点とする、長さ１のベクトルを用意し、それを方向ベクトルｑ（θ）５１とする。音源位置がマイクロホンとほぼ同じ高さであるなら、方向ベクトルｑ（θ）５１はＸ−Ｙ平面上（垂直方向をＺ軸とする）のベクトルとして考えればよく、その成分は上記の式［６．１］で表わせる。ただし方向θは、Ｘ軸となす角である。
【０１８６】
図５において、方向ベクトルｑ（θ）の方向から到来する音は、先にマイクロホンｋ５３に到着し、次に基準点ｍ５２、それからマイクロホンｉ５４に到着する。基準点ｍ５２に対するマイクロホンｋ５３の位相差は、上記の式［６．２］で表わせる。
ただし、この式［６．２］において、
ｊ：虚数単位
Ω：周波数ビン数
Ｆ＿ｓ：サンプリング周波数
Ｃ：音速
ｍ＿ｋ：マイクロホンｋの位置ベクトル
これらを表わし、
上付きのＴは通常の転置を表わす。
【０１８７】
すなわち、平面波を仮定すると、マイクロホンｋ５３は基準点ｍ５２よりも図５に示す距離５５の分だけ音源に近く、逆にマイクロホンｉ５４は、距離５６の分だけ遠い。これらの距離差は、ベクトルの内積を用いて、
ｑ（θ）＾Ｔ（ｍ＿ｋ−ｍ）、および、
ｑ（θ）＾Ｔ（ｍ＿ｉ−ｍ）、
と表わせ、距離差を位相差に変換すると、式［６．２］が得られる。
【０１８８】
各マイクロホンの位相差からなるベクトルは式［６．３］で表わされ、これをステアリングベクトルと呼ぶ。マイクロホン数ｎの平方根で割っている理由は、ベクトルのノルムを１に正規化するためである。
なお、マイクの位置と音源位置とが同一平面にない場合は、音源方向ベクトルに仰角（ｅｌｅｖｅｔｉｏｎ）ψも反映させたｑ（θ，ψ）を式［６．１０］で計算し、式［６．２］においてｑ（θ）の代わりにｑ（θ，ψ）を用いる。
基準点ｍ５２の値は、マスキングの結果には影響を与えないので、以降の説明ではｍ＝０（座標の原点）とする。
【０１８９】
次に、マスクの生成方法について説明する。
マスクの値は、ステアリングベクトルと観測信号ベクトルとの類似度に基づいて計算する。そのような類似度として、式［６．４］で計算されるコサイン類似度を用いる。すなわち、観測信号ベクトルＸ（ω，ｔ）が、方向θから到来する音源のみで構成されている場合は、観測信号ベクトルＸ（ω，ｔ）は、方向θのステアリングベクトルとほぼ平行になると考えるため、コサイン類似度は１に近い値をとる。
【０１９０】
一方、観測信号Ｘ（ω，ｔ）に、方向θ以外の方向からの音が混入している場合は、混入のない場合と比べてコサイン類似度の値は下がる（０に近づく）。さらに、観測信号Ｘ（ω，ｔ）が、方向θ以外から到来する音のみで構成されている場合は、コサイン類似度の値はさらに０に近づく。
【０１９１】
このように時間周波数マスクは式［６．４］で計算される。式［６．４］の時間周波数マスクは、方向θに対応したステアリングベクトルの向きに観測信号ベクトルが近いほど、マスクが大きな値をとる（１に近づく）という特徴がある。
【０１９２】
マスクから時間エンベロープ、すなわち補助変数ｂ（ｔ）を計算する方法は、特開２０１２−２３４１５０において参照信号の計算方法として開示している処理と同様の処理である。なお、本開示の処理において説明している補助変数ｂ（ｔ）は、特開２０１２−２３４１５０においては参照信号として説明している。ただし、本開示の処理の補助変数ｂ（ｔ）は反復学習処理において順次更新されるが、特開２０１２−２３４１５０で用いている参照信号は更新されず、この点が大きく異なる。
【０１９３】
マスクから時間エンベロープ、すなわち補助変数ｂ（ｔ）を算出する具体的な方法としては以下の２通りの方法がある。
（１）マスクを観測信号へ適用してマスキング結果を生成し、生成したマスキング結果から時間エンベロープを計算する方法。
（２）マスクから時間エンベロープに類似したデータを直接生成する方法。
これらの２つの方法である。以下では、それぞれについて説明する。
【０１９４】
［（１）マスクを観測信号へ適用してマスキング結果を生成し、生成したマスキング結果から時間エンベロープを計算する方法について］
最初は、マスクを観測信号へ適用してマスキング結果を生成し、生成したマスキング結果から時間エンベロープ、すなわち補助変数ｂ（ｔ）の初期値を計算する方法について説明する。
【０１９５】
マスキング結果Ｑ（ω，ｔ）は、式［６．５］または式［６．６］で得られる。式［６．５］はマイクロホンｋの観測信号に対してマスクを適用するのに対し、式［６．６］は遅延和アレイの結果に対してマスクを適用する。また、Ｊはマスクの効果を制御するための正の実数であり、Ｊが大きいほどマスクの効果が大きい。言い換えると、このマスクは方向θから離れた音源ほど減衰させる効果があり、Ｊが大きいほど減衰の程度を大きくすることができる。
【０１９６】
マスキング結果Ｑ（ω，ｔ）に対して、時間方向で分散の正規化を行ない、その結果をＱ'（ω，ｔ）とする。式［６．７］に示す処理である。
補助変数ｂ（ｔ）は、式［６．８］に示すように、正規化マスキング結果Ｑ'（ω，ｔ）の時間エンベロープとして計算する。
なお、マスキング結果Ｑ（ω，ｔ）に対して正規化を行なう理由は、補助変数の計算の初回と２回目以降とで、計算される時間エンベロープの形をできる限り近づけるためである。すなわち、２回目以降は、補助変数ｂ（ｔ）は式［５．１０］に従って計算されるが、この式［５．１０］で算出する抽出結果Ｚ（ω，ｔ）には、式［４．１９］で示される通り、分散＝１という制約が掛かっている。そこで、初回においても同様の制約をかけるために、マスキング結果Ｑ（ω，ｔ）の分散を１に正規化する。
【０１９７】
また、マスキング結果の正規化は、時間エンベロープの計算において、妨害音の影響を低減させる目的もある。音は一般に低域ほど大きなパワーを持つが、その一方で、位相差に基づく時間周波数マスキングは、妨害音を除去する性能が低域ほど低くなる。そのため、マスキング結果Ｑ（ω，ｔ）の低域においては、除去しきれない妨害音が依然として大きなパワーで含まれている可能性があり、Ｑ（ω，ｔ）から単純に時間エンベロープを計算すると、そのような低域に残った妨害音により、目的音のエンベロープとは異なるエンベロープが得られる可能性もある。一方、マスキング結果Ｑ（ω，ｔ）に分散の正規化を適用すると、そのような低域の妨害音の影響が低減されるため、目的音のエンベロープに近いものが得られる。
【０１９８】
［（２）マスクから時間エンベロープに類似したデータを直接生成する方法について］
一方、マスクから時間エンベロープに類似したデータを直接計算することも可能である。このように直接計算する式は、式［６．９］で表わされる。式［６．９］に示すＬは、正の実数を表わす。この式で時間エンベロープに類似したデータが得られる理由については、特開２０１２−２３４１５０を参照されたい。
【０１９９】
こうして求めた目的音の時間エンベロープを、補助関数法における学習初期値として使用する。
【０２００】
［４−４．学習途中で生成される抽出結果に対しても時間周波数マスキングを使用する処理について］
次に、学習途中で生成される抽出結果に対しても時間周波数マスキングを使用する処理について説明する。
【０２０１】
先に説明した［４−２．補助関数法の導入について］の項目において、補助変数は抽出結果の時間エンベロープであることと、目的音のエンベロープに類似したものを補助変数に代入することで、少ない反復回数で学習を収束させることができることを考察した。同様の考察は、学習の初回に限らず、学習途中についても当てはまる。
【０２０２】
すなわち、学習途中の補助変数ｂ（ｔ）を計算するステップにおいて、前述の［４−２．補助関数法の導入について］の項目では、式［５．９］および式［５．１０］を用いて抽出結果の時間エンベロープを計算している。
しかし、もし別の方法によって、目的音の時間エンベロープに一層近いものを取得することができるのであれば、それを補助変数に代入することで、収束までの反復回数が一層少なくなることが期待できる。
【０２０３】
そこで、前述の［４−３．学習初期値として、目的音の方向とマイクロホン間の位相差とに基づく時間周波数マスキングを使用する処理について］の項目で説明した「時間周波数マスキング」を、初期値生成のためだけでなく、学習中にも適用する。
【０２０４】
すなわち、式［５．９］によって（学習途中の）抽出結果Ｚ（ω，ｔ）を生成した後、さらにそのマスキング結果Ｚ'（ω，ｔ）を生成する。
以下に示す式［７．１］に従って生成する。
【０２０５】
【数７】
2014219467.tif 000011
【０２０６】
式［７．１］のＭ（ω，ｔ）およびＪは、式［６．５］等に現れるものと同じである。そして式［７．２］を用いて補助変数ｂ（ｔ）を計算する。
この処理は、観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に対してさらに、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを適用してマスキング結果Ｑ（ω，ｔ）を生成し、生成したマスキング結果のスペクトルであるベクトル［Ｑ（１，ｔ），…，Ｑ（Ω，ｔ）］（Ωは周波数ビン数）のＬ−２ノルムをフレームｔごと計算し、その値を補助変数ｂ（ｔ）に代入する処理に相当する。
【０２０７】
式［７．２］によって計算される補助変数ｂ（ｔ）は、先に説明した式［５．１０］によって計算されるｂ（ｔ）と比べ、時間周波数マスキングが反映されているため、目的音の時間エンベロープに一層近いと考えられる。そのため、この式［７．２］によって算出される補助変数ｂ（ｔ）を用いることで、収束が一層高速化されると期待できる。
【０２０８】
さらに、補助変数算出式である式［７．２］を、目的音の時間エンベロープを推定する式であると解釈すると、この式を改良することも可能である。例えば、妨害音を強く含む周波数帯域が既知である環境においてこの方式を使う場合は、式［７．２］におけるシグマの計算において、妨害音を強く含む周波数ビンを除外する。あるいは、目的音は人間の音声であることを考慮し、音声が主に含まれる周波数帯域に対応した周波数ビンについてのみ、式［７．２］のシグマの計算を行なう。そうすることで、得られたｂ（ｔ）は目的音の時間エンベロープに一層類似していると期待できる。
【０２０９】
［５．その他の目的関数とマスキング方法について］
次に、上述した実施例とは異なるその他の目的関数と補助関数を適用した実施例について説明する。
上述した実施例では、図４等を参照して説明した目的関数Ｇ（Ｕ'）と補助関数ｆｓｕｂを使用して、より精度の高い抽出結果Ｚを取得する処理例について説明したが、この他の目的関数や補助関数を用いて同様に、高精度な抽出結果Ｚを取得することも可能である。
また、学習初期値の生成や収束の初期化等においても、上述した実施例と異なるマスキング方式も使用可能である。以下、それぞれについて説明する。
【０２１０】
［５−１．その他の目的関数と補助関数を使用した処理について］
先に説明した式［４．２０］で表わされる目的関数Ｇ（Ｕ'）は、ＫＬ情報量の最小化から導出した。このＫＬ情報量は、前述したように、複数の音の混合信号である観測信号からの音源単位の分離度合いを表わす尺度である。
【０２１１】
複数音の混合信号からの音源単位の分離度合いを表わす尺度としては、このＫＬ情報に限らず、他のデータも利用可能である。他のデータを使用すると、別の目的関数が導出される。
以下では、分離の度合いを表わす尺度として、以下に示す式［８．１］で算出する値を用いた例について説明する。
【０２１２】
【数８】
2014219467.tif 000012
【０２１３】
上記式［８．１］に従って算出する値：Ｋｕｒｔｏｓｉｓ（||Ｚ（ｔ）||＿２）は、抽出結果Ｚの時間エンベロープの尖度（ｋｕｒｔｏｓｉｓ）を表わしている。なお、尖度は、例えば図３に示す時間エンベロープである||Ｚ（ｔ）||＿２の分布が正規分布（Ｇａｕｓｓｉａｎ分布）からどの程度離れているかを表わす尺度である。
【０２１４】
尖度＝０の信号の分布をガウシアン（Ｇａｕｓｓｉａｎ）と呼び、
尖度＞０
の場合を、スーパーガウシアン（Ｓｕｐｅｒ−ｇａｕｓｓｉａｎ）、
尖度＜０
の場合を、サブガウシアン（Ｓｕｂ−ｇａｕｓｓｉａｎ）と呼ぶ。
【０２１５】
音声等の断続的な信号（鳴りっぱなしではない音）は、スーパーガウシアン（ｓｕｐｅｒ−ｇａｕｓｓｉａｎ）である。
また、中心極限定理（ｃｅｎｔｒａｌ  ｌｉｍｉｔ  ｔｈｅｏｒｅｍ）により、多くの信号が混合するほど、その混合信号の分布は正規分布に近づく性質がある。
【０２１６】
すなわち、信号の混合の程度とその尖度との関係を考えると、目的音の分布がスーパーガウシアン（ｓｕｐｅｒ−ｇａｕｓｓｉａｎ）であれば、目的音単独の尖度の方が、目的音と妨害音とが混合した信号の尖度よりも大きな値をとる。
【０２１７】
言い換えると、抽出フィルタＵ'と、それに対応した抽出結果の尖度との関係をプロットすると、極大（ｌｏｃａｌ  ｍａｘｉｍａ）が複数存在するが、その極大の一つが目的音の抽出に対応している。
【０２１８】
ただし、目的音と妨害音との混同比が同じでも目的音のスケールによって尖度の値は異なる。抽出結果のスケールを一定に保つため、抽出結果Ｚに対して式［８．２］の制約をかける。なお、後述のように、観測信号の無相関化と、重みつき共分散行列の固有値分解とを用いると、先に示した式［４．１９］の条件が満たされるため、式［８．２］も自動的に満たされる。
【０２１９】
式［８．２］の制約により、尖度の極大を考えるためには、式［８．１］の右辺の第１項のみ考慮すれば十分である。そこで、式［８．１］の右辺の第１項を目的関数Ｇ（Ｕ'）とする（式［８．５］）。この目的関数と抽出フィルタＵ'との関係をプロットすると、図６の曲線６１として表わされる。
【０２２０】
この図６に示す目的関数Ｇ（Ｕ'）６１は、音源と同数の極大点（例えば極大点Ａ６２と極大点Ｂ６３）を持ち、そのうちの一つが目的音の抽出に対応している。
【０２２１】
これらの極大点Ａ６２、極大点Ｂ６３に位置する抽出フィルタＵ'、すなわち抽出フィルタＵ'ａ、抽出フィルタＵ'ｂが、それぞれ２つの音源を個別に抽出するための最適フィルタとなる。
【０２２２】
そこで、適切な学習初期値と補助関数法とを用いて、この問題を解くことを考える。
そのために、式［８．３］のような不等式を用意し、それを変形して式［８．４］を得る。
これらの不等式において等号が成立する条件は、先に説明した補助関数と同じく、前記の式［５．２］である。
【０２２３】
式［８．４］を式［８．５］の目的関数Ｇ（Ｕ'）に適用すると、式［８．６］を経て、式［８．７］を得る。これを補助関数Ｆとする。図６に補助関数の一例として補助関数Ｆｓｕｂ１を示す。
なお、補助関数Ｆは、式［８．８］のように、変数Ｕ'（１）〜Ｕ'（Ω）と変数ｂ（１）〜ｂ（Ｔ）に基づく関数として示すことができる。
【０２２４】
すなわち、補助関数Ｆは、以下の（ａ），（ｂ）の２種類の引数を持つ。
（ａ）周波数ビンωごとの抽出フィルタであるＵ'（１）〜Ｕ'（Ω）、ただし、Ωは、周波数ビンの数
（ｂ）フレームｔごとの補助変数であるｂ（１）〜ｂ（Ｔ）、ただし、Ｔは、フレームの数
【０２２５】
式［８．７］の補助関数Ｆを用いて式［８．５］の目的関数の極大点を得るためには、以下のステップを繰り返す。（極大を求める問題なので、以下のａ），ｂ）は共に「最大化」である。）
【０２２６】
（ステップＳ１）Ｕ'（１）〜Ｕ'（Ω）を固定し、Ｆを最大化するｂ（１）〜ｂ（Ｔ）を求める。
（ステップＳ２）ｂ（１）〜ｂ（Ｔ）を固定し、Ｆを最大化するＵ'（１）〜Ｕ'（Ω）を求める。
【０２２７】
（ステップＳ１）を満たすｂ（１）〜ｂ（Ｔ）は式［５．１０］（または式［５．２］）によって得られる。
なお、式［５．１０］に従ったｂ（ｔ）の算出処理は、観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に基づいて補助変数ｂ（ｔ）を更新する処理に相当する。具体的には、抽出フィルタＵ'（ω）の適用結果Ｚ（ω，ｔ）を生成し、スペクトルであるベクトル［Ｚ（１，ｔ），…，Ｚ（Ω，ｔ）］（Ωは周波数ビン数）のＬ−２ノルム（図３の時間エンベロープ）をフレームｔごとに計算し、その値を、更新された補助変数の値としてｂ（ｔ）に代入する。
【０２２８】
また、（ステップＳ２）を満たすＵ'（１）〜Ｕ'（Ω）は式［８．９］によって得られる。
式［８．９］を解くためには、式［８．１０］のような固有値分解を行ない、Ａ（ω）を構成する固有ベクトルの内で、最大の固有値に対応した固有ベクトルの転置を抽出フィルタＵ'（ω）とする（式［８．１１］）。
【０２２９】
なお、図６に示す目的関数と補助関数を適用した処理においても、先の実施例において説明した［４−４．学習途中で生成される抽出結果に対しても時間周波数マスキングを使用する処理について］の項目において紹介した、反復学習中に時間周波数マスキングを適用する方法も使用可能である。すなわち、上記（ステップＳ１）において、式［５．１０］の代わりに式［７．１］〜［７．２］を用いて補助変数ｂ（１）〜ｂ（Ｔ）を計算する。
【０２３０】
なお、式［５．２０］と同様の変形が式［８．１０］についても当てはまる。すなわち、式［８．１０］の左辺を計算する代わりに、式［８．１２］の右辺の計算を行なってもよく、それにより無相関化済み観測信号Ｘ'（ω，ｔ）の生成を省略することができる。
【０２３１】
［５−２．その他のマスキング処理例について］
先に説明した実施例では、時間周波数マスクとして、式［６．４］に示す時間周波数マスクＭ（ω，ｔ）を用いた例を説明した。
式［６．４］の時間周波数マスクは、方向θに対応したステアリングベクトルの向きに観測信号ベクトルが近いほど、マスクが大きな値をとる（１に近づく）という特徴があった。
【０２３２】
マスクは、このような特性を持つマスクに限らず、その他の特性を持つマスクを使用することもできる。
例えば、観測信号ベクトルの向きが所定の範囲内に収まっているときのみ観測信号を透過させるようなマスクを用いることもできる。すなわち、所定の範囲の方向をθ−α〜θ＋αを表わすとすると、観測信号がその範囲内の方向から到来する音で構成されているときのみ観測信号を透過させるようなマスクである。そのようなマスクについて、図７を用いて説明する。
【０２３３】
方向θに対応したステアリングベクトルＳ（ω，θ）と、方向θ＋αに対応したステアリングベクトルＳ（ω，θ＋α）とを用意する。それぞれを図示したイメージは図７に示すステアリングベクトルＳ（ω，θ）７１、およびステアリングベクトルＳ（ω，θ＋α）７２として表わされる。
【０２３４】
なお、実際のステアリングベクトルはｎ次元の複素ベクトルであって図示できないので、この図はイメージである。同じ理由により、ステアリングベクトルＳ（ω，θ）は音源方向ベクトルｑ（θ）とは別物であるため、Ｓ（ω，θ）とＳ（ω，θ＋α）とがなす角はαではない。
【０２３５】
ステアリングベクトルＳ（ω，θ）７１を軸として、ステアリングベクトルＳ（ω，θ＋α）７２を回転させると、ステアリングベクトルＳ（ω，θ）７１の始点を頂点とする円錐７３が形成される。そして、観測信号ベクトルＸ（ω，ｔ）がその円錐の内側に存在するか、外側に存在するかを判定する。
【０２３６】
図７には、以下の各観測信号ベクトルＸ（ω，ｔ）の例を示している。
内側に存在する観測信号ベクトルＸ（ω，ｔ）７４、
外側に存在する観測信号ベクトルＸ（ω，ｔ）７５、
【０２３７】
同様に、方向θ−αに対応したステアリングベクトルＳ（ω，θ−α）についても、ステアリングベクトルＳ（ω，θ）の始点を頂点とする円錐を形成した上で、観測信号ベクトルＸ（ω，ｔ）がその円錐の内側に存在するか、外側に存在するかを判定する。
そして、Ｘ（ω，ｔ）が一方または両方の円錐の内側に存在するときは、マスクの値を１にセットし、そうでない場合は、０または０に近い正の値であるβにセットする。
以上の処理を式で表すと、以下に示す式となる。
【０２３８】
【数９】
2014219467.tif 000013
【０２３９】
式［９．１］は、２つの列ベクトルａ，ｂ間のコサイン類似度の定義であり、この値が１に近いほど、２つのベクトルは平行に近いことを表わす。このコサイン類似度を用いて、時間周波数マスクＭ（ω，ｔ）の値は、式［９．２］で計算される。
【０２４０】
すなわち、
ｓｉｍ（Ｘ（ω，ｔ），Ｓ（ω，θ））≧ｓｉｍ（Ｓ（ω，θ−α），Ｓ（ω，θ））
とは、
Ｓ（ω，θ−α）を回転させて形成したＳ（ω，θ）を軸とする円錐の内側にＸ（ω，ｔ）が存在することを意味している。
図７に示す観測信号ベクトルＸ（ω，ｔ）７５に相当する。
【０２４１】
従って、
ｓｉｍ（Ｘ（ω，ｔ），Ｓ（ω，θ））≧ｓｉｍ（Ｓ（ω，θ−α），Ｓ（ω，θ））
または、
ｓｉｍ（Ｘ（ω，ｔ），Ｓ（ω，θ））≧ｓｉｍ（Ｓ（ω，θ＋α），Ｓ（ω，θ））
のどちらか一方でも成立すれば、観測信号ベクトルＸ（ω，ｔ）は前述の２つの円錐の少なくとも一方の内側に存在している。
そのため、マスクの値として１をセットする。それ以外の場合は、観測信号ベクトルＸ（ω，ｔ）は２つの円錐の外側にあることを意味しているため、マスクの値としてβをセットする。
【０２４２】
βの値は、目的関数及び補助関数として何を用いるかによって異なる。前述した［式［８．１］〜［８．１２］において説明した目的関数及び補助関数を用いる場合は、β＝０としてよい。
一方、式［７．１］〜［７．２］の目的関数及び補助関数を用いる場合は、βとして、０に近い正の値をセットする。
その理由は、ｂ（ｔ）の逆数が重みとして使用されている式、例えば式［５．１１］などにおいて、ゼロ除算の発生を防止するためである。
すなわち、全てのωについてＭ（ω，ｔ）＝０である場合、式［７．１］および式［７．２］から補助変数ｂ（ｔ）を計算すると、ｂ（ｔ）＝０が得られる。従って、目的関数として式［５．１１］を用いたときは、式［７．６］等においてゼロ除算が発生してしまう。
【０２４３】
αの値は任意に設定してよいが、一例として、ＭＵＳＩＣ法における死角のスキャンの刻み幅に依存して決める方法がある。例えばＭＵＳＩＣ法においてスキャンの刻み幅が例えば５度であったら、αも５度に設定する。あるいは、その刻み幅に一定の値を乗じた値に設定する。例えば、刻み幅の１．５倍である７．５度にαを設定する。
【０２４４】
［６．本開示の音源抽出処理と従来方式との相違点について］
以下では、本開示の音信号処理装置の実行する音源抽出処理と、従来の処理との相違点について説明する。
以下の従来技術との相違点を説明する。
（Ａ）従来技術１：特開２０１２−２３４１５０
（Ｂ）従来技術２：論文［"Ｅｉｇｅｎｖｅｃｔｏｒ  Ａｌｇｏｒｉｔｈｍｓ  ｗｉｔｈ  Ｒｅｆｅｒｅｎｃｅ  Ｓｉｇｎａｌｓ  ｆｏｒ  Ｆｒｅｑｕｅｎｃｙ  Ｄｏｍａｉｎ  ＢＳＳ"，  Ｍａｓａｎｏｒｉ  Ｉｔｏ，  Ｍｉｔｓｕｒｕ  Ｋａｗａｍｏｔｏ，  Ｎｏｂｏｒｕ  Ｏｈｎｉｓｈｉ，  ａｎｄ  Ｙｕｊｉｒｏ  Ｉｎｏｕｙｅ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ６ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｂｌｉｎｄ  Ｓｏｕｒｃｅ  Ｓｅｐａｒａｔｉｏｎ  （ＩＣＡ２００６），  ｐｐ．１２３−−１３１，  Ｍａｒｃｈ  ２００６．］
【０２４５】
［６−１．従来技術１（特開２０１２−２３４１５０）との相違点について］
従来技術１（特開２０１２−２３４１５０）は参照信号を用いた音源抽出処理を開示している。
本開示の処理との相違は、反復の有無である。すなわち、従来技術１（特開２０１２−２３４１５０）における参照信号は、本開示の処理における学習初期値、すなわち初回の補助変数ｂ（ｔ）の値に相当する。
また、従来技術１（特開２０１２−２３４１５０）における抽出フィルタの推定とは、そのような学習初期値である補助変数を用いて、式［５．１１］を１回だけ実行することに相当する。
【０２４６】
本開示の処理では、前述したように、式［５．７］を補助関数Ｆとして用い、以下の２つのステップを交互に繰り返す。
（ステップＳ１）Ｕ'（１）〜Ｕ'（Ω）を固定し、Ｆを最小化するｂ（１）〜ｂ（Ｔ）を求める。
（ステップＳ２）ｂ（１）〜ｂ（Ｔ）を固定し、Ｆを最小化するＵ'（１）〜Ｕ'（Ω）を求める。
【０２４７】
これらの処理は、先に図４を用いて説明したように、以下の処理に相当する。
最初の（ステップＳ１）は、例えば、図４に示す目的関数Ｇ（Ｕ'）と補助関数との接触位置（初期設定点４５や対応点ａ４７等）を見つけるステップに相当する。
次の（ステップＳ２）は、図４に示す補助関数の最小値（最小値ａ４６や最小値ｂ４８）に対応するフィルタの値（Ｕ'ｆｓ１やＵ'ｆｓ２）を求めるステップに相当する。
【０２４８】
（ステップＳ１）の処理は、式［５．９］〜式［５．１０］を実行する処理であるこの処理で、全てのｔについてｂ（ｔ）が求まったら、（ステップＳ２）、すなわち式［５．１２］〜式［５．１５］を実行する。全てのωについてＵ'（ω）が求まったら、再び（ステップＳ１）を実行する。これらの処理を、Ｕ'（ω）が収束するまで（または所定の回数だけ）繰り返す。
このようにして、図４に示す極小点Ａを求め、目的音の抽出に最適な抽出フィルタＵ'ａを算出する。
【０２４９】
すなわち、従来技術１（特開２０１２−２３４１５０）における抽出フィルタの推定処理は、学習初期値である補助変数ｂ（ｔ）を参照信号として設定し、この参照信号を用いて抽出フィルタ算出式である式［５．１１］を１回のみ適用して抽出フィルタＵ'を算出するものであった。
これは、図４において、補助関数ｆｓｕｂ１の最小値ａ４６に対応する抽出フィルタＵ'ｆｓ１を求めていることに相当する。
【０２５０】
一方、本開示の処理では、上記の（ステップＳ１）と（ステップＳ２）繰り返し実行することで、目的関数Ｇ（Ｕ'）の極小点Ａ４２に、より近づくことが可能となり、目的音の抽出に最適な抽出フィルタＵ'ａを算出することができる。
【０２５１】
［６−２．従来技術２との相違点について］
次に、従来技術２：論文［"Ｅｉｇｅｎｖｅｃｔｏｒ  Ａｌｇｏｒｉｔｈｍｓ  ｗｉｔｈ  Ｒｅｆｅｒｅｎｃｅ  Ｓｉｇｎａｌｓ  ｆｏｒ  Ｆｒｅｑｕｅｎｃｙ  Ｄｏｍａｉｎ  ＢＳＳ"，  Ｍａｓａｎｏｒｉ  Ｉｔｏ，  Ｍｉｔｓｕｒｕ  Ｋａｗａｍｏｔｏ，  Ｎｏｂｏｒｕ  Ｏｈｎｉｓｈｉ，  ａｎｄ  Ｙｕｊｉｒｏ  Ｉｎｏｕｙｅ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ６ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｂｌｉｎｄ  Ｓｏｕｒｃｅ  Ｓｅｐａｒａｔｉｏｎ  （ＩＣＡ２００６），  ｐｐ．１２３−−１３１，  Ｍａｒｃｈ  ２００６．］との相違点について説明する。
【０２５２】
この従来技術２は参照信号を用いた音源分離処理を開示している。適切な参照信号を用意し、それと分離結果との間で４次のクロスキュムラントという尺度を最小化する問題を解くと、全音源を分離する分離行列が反復学習なしで求まる。
【０２５３】
その方式と本開示との相違点は、参照信号（本開示での学習初期値）の性質の違いである。この従来技術２では、参照信号として、周波数ビンごとに異なる複素数の信号を用意することを前提としている。しかし前述のように、そのような参照信号を用意することは現実には困難である。
【０２５４】
本開示の処理では、既存の方式、例えば、目的音の方向とマイクロホン間の位相差とに基づく時間周波数マスキングなどの方式を使用して得られる抽出結果やフィルタに基づいて学習初期値を決定することができる。
すなわち、図４における初期設定点４５に対応する抽出フィルタＵ'ｓを目的音の方向とマイクロホン間の位相差とに基づく時間周波数マスキングなどの方式を使用して取得し、この抽出フィルタＵ'ｓに基づいて初期設定点４５を決定することができる。
【０２５５】
このように、本開示の処理では、補助関数法の導入によって、学習収束までの反復回数を短縮するとともに、学習初期値として他の方式によって生成されたラフな抽出結果を学習初期値として使用することが可能となる。
【０２５６】
［７．本開示の音信号処理装置の構成例について］
次に、図８以下を参照して本開示の音信号処理装置の構成例について説明する。
図８に示すように、本開示の音信号処理装置１００は、複数のマイクから構成される音信号入力部１０１、音信号入力部１０１の入力信号（観測信号）を入力して、入力信号の解析処理、具体的には、例えば抽出対象とする目的音源の音区間や方向を検出する観測信号解析部１０２、観測信号解析部１０２の検出した目的音の音区間単位の観測信号（複数音の混在信号）から目的音源の音を抽出する音源抽出部１０３を有する。音源抽出部１０３が生成した目的音の抽出結果１１０は、例えば音声認識等の処理を行う後段処理部１０４に出力される。
【０２５７】
図８に示すように、観測信号解析部１０２は、音信号入力部１０１であるマイクロホンアレイで収音された多チャンネルの音データをＡＤ変換するＡＤ変換部２１１を有する。ここで生成されたデジタル信号データを（時間領域の）観測信号と呼ぶ。
【０２５８】
ＡＤ変換部２１１の生成したデジタルデータである観測信号は、ＳＴＦＴ（短時間フーリエ変換）部２１２において短時間フーリエ変換（ｓｈｏｒｔ−ｔｉｍｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ：  ＳＴＦＴ）が適用され、観測信号は時間周波数領域の信号へ変換される。この信号を時間周波数領域の観測信号と呼ぶ。
【０２５９】
ＳＴＦＴ（短時間フーリエ変換）部２１２において実行する短時間フーリエ変換（ＳＴＦＴ）処理の詳細について、図９を参照して説明する。
【０２６０】
図９に示す（ａ）観測信号の波形ｘ＿ｋ（＊）は、
例えば、図８に示す装置中に音声入力部１０１として構成されるｎ本のマイクからなるマイクロホンアレイ中のｋ番目のマイクによって観測される観測信号の波形ｘ＿ｋ（＊）である。
【０２６１】
この観測信号から、一定長を切り出したデータであるフレーム３０１〜３０３にハニング窓やハミング窓等の窓関数を作用させる。なお切り出し単位をフレームと呼ぶ。１フレーム分のデータに短時間フーリエ変換を適用することにより、周波数領域のデータであるスペクトルＸ＿ｋ（ｔ）を得る（ｔはフレーム番号）。
【０２６２】
切り出すフレームの間には、図に示すフレーム３０１〜３０３のように重複があってもよく、そうすることで連続するフレームのスペクトルＸ＿ｋ（ｔ−１）〜Ｘ＿ｋ（ｔ＋１）を滑らかに変化させることができる。また、スペクトルをフレーム番号に従って並べたものをスペクトログラムと呼ぶ。図９（ｂ）に示すデータがスペクトログラムの例であり、時間周波数領域の観測信号である。
スペクトルＸ＿ｋ（ｔ）は要素数Ωのベクトルであり、ω番目の要素はＸ＿ｋ（ω，ｔ）として示される。
【０２６３】
ＳＴＦＴ（短時間フーリエ変換）部２１２において短時間フーリエ変換（ｓｈｏｒｔ−ｔｉｍｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ：  ＳＴＦＴ）により生成された時間周波数領域の観測信号は、観測信号バッファ２２１と、方向・区間推定部２１３とに送られる。
【０２６４】
観測信号バッファ２２１は、所定の時間（フレーム数）の観測信号を蓄積する。ここで蓄積された信号は、音源抽出部１０３において、所定の方向から到来した音声を抽出した結果を得るため等に使用する。そのため、観測信号は時刻（またはフレーム番号など）と対応付けられて格納されており、後で所定の時刻（またはフレーム番号）に対応した観測信号を取り出すことができるものとする。
【０２６５】
方向・区間推定部２１３は、音源の開始時刻（鳴り始めた時刻）および終了時刻（鳴り終わった時刻）、さらに音源の到来方向などを検出する。「従来技術の説明」において紹介した通り、開始・終了時刻および方向を推定する方法としては、マイクロホンアレイを用いる方式と画像を用いる方式とがあるが、本発明ではどちらも使用可能である。
【０２６６】
マイクロホンアレイを用いる方式を採用した構成においては、ＳＴＦＴ部２１２の出力を受け取り、方向・区間推定部２１３の内部でＭＵＳＩＣ法などの音源方向推定と音源方向のトラッキングとを行なうことで、開始・終了時刻と音源方向とを得る。詳細な方式は、例えば特開２０１０−１２１９７５や特開２０１２−１５０２３７などを参照されたい。マイクロホンアレイによって区間と方向とを取得する場合は、撮像素子２２２は不要である。
【０２６７】
一方、画像を用いる方式では、撮像素子２２２によって、発話を行っているユーザーの顔画像を捉え、画像上の唇の位置と、唇が動き始めた時刻および動きが止まった時刻とを検出する。そして、唇の位置をマイクロホンから見た方向に変換した値を音源方向として使用し、唇が動き始めた時刻と動きが止まった時刻とをそれぞれ開始時刻・終了時刻として使用する。詳細な方法は、特開平１０−５１８８９号などを参照されたい。
【０２６８】
複数の話者が同時に発話していても、全ての話者の顔が撮像素子で捉えられていれば、画像上の唇ごとに位置と開始・終了時刻を検出することで、それぞれの発話の区間と方向とが取得できる。
【０２６９】
音源抽出部１０３は、発話区間に対応した観測信号や音源方向などを用いて、所定の音源を抽出する。詳細は後述する。
音源抽出の結果は、抽出結果１１０として必要に応じて例えば音声認識機などを実行する後段処理部１０４に送られる。音声認識機と組み合わせた場合、音源抽出部１０３は時間領域の抽出結果、すなわち音声波形を出力し、後段処理部１０４の音声認識機はその音声波形に対して認識処理を行なう。
【０２７０】
なお、後段処理部１０４としての音声認識機には音声区間検出機能を持つものもあるが、その機能は省略可能である。また、音声認識機は認識処理で必要な音声特徴量を波形から抽出するためにＳＴＦＴを備えることが多いが、本開示の構成と組み合わせる場合は、音声認識側のＳＴＦＴは省略してもよい。音声認識側のＳＴＦＴを省略した場合、音源抽出部は時間周波数領域の抽出結果、すなわちスペクトログラムを出力し、音声認識側において、そのスペクトログラムを音声特徴量へ変換する。
なお、これらのモジュールは制御部２３０によって制御される。
【０２７１】
次に、音源抽出部１０３の詳細について図１０を参照して説明する。
区間情報４０１は、図８に示す区間・方向推定部２１３の出力であり、鳴っている音源の区間（開始時刻および終了時刻）と方向などから構成される。
観測信号バッファ４０２は、図８に示す観測信号バッファ２２１と同一である。
【０２７２】
ステアリングベクトル生成部４０３は、区間情報４０１に含まれる音源方向から、式［６．１］〜［６．３］を用いてステアリングベクトル４０４を生成する。
時間周波数マスク生成部４０５は、区間情報４０１として格納された音源の区間である音源の開始時刻と終了時刻を用いて、観測信号バッファ４０２から該当区間の観測信号を取得し、取得した音源区間とステアリングベクトル４０４とから、式［６．４］〜［６．７］または式［９．２］を用いて時間周波数マスク４０６を生成する。
【０２７３】
学習初期値生成部４０７は、区間情報４０１として格納された音源の開始・終了時刻を用いて、観測信号バッファ４０２から該当区間の観測信号を取得し、それと時間周波数マスク４０６とから、学習初期値４０８を計算する。本開示における学習初期値とは初回の補助変数ｂ（ｔ）の値であり、例えば式［６．５］〜［６．９］を用いて計算する。
【０２７４】
抽出フィルタ生成部４０９は、ステアリングベクトル４０４と時間周波数マスク４０６、および学習初期値４０８等を用いて、抽出フィルタ４１０を生成する。
なお、抽出フィルタの生成においては、先に説明した式［５．１１］、あるいは、式［８．９］を適用した処理などが行われる。
【０２７５】
フィルタリング部４１１は、抽出フィルタ４１０を処理対象となる区間の観測信号に適用することで、フィルタリング結果４１２を生成する。このフィルタリング結果は、時間周波数領域の目的音のスペクトログラムである。
【０２７６】
後処理部４１３は、フィルタリング結果４１２に対して、さらに新たな音源抽出処理を行ない、必要に応じて図８に示す後段処理部１０４が要求するデータの形式への変換等も行なう。後段処理部１０４は例えば音声認識処理等を行うデータ処理部である。
【０２７７】
なお、後処理部４１３における新たな音源抽出処理とは、例えば時間周波数マスク４０６をフィルタリング結果４１２に対して適用する処理などである。また、データ形式の変換処理は、例えば逆フーリエ変換によって時間周波数領域のフィルタリング結果（スペクトログラム）を時間領域の信号（波形）に変換する処理を行なう。処理結果は、抽出結果４１４として記憶部に格納され、必要に応じて図８に示す後段処理部１０４に提供される。
【０２７８】
次に、抽出フィルタ生成部４０９の詳細について、図１１を参照して説明する。
抽出フィルタ生成部４０９は、区間情報４０１、観測信号バッファ４０２、時間周波数マスク４０６、学習初期値４０８、ステアリングベクトル４０４を利用して抽出フィルタを生成する。
【０２７９】
なお、観測信号バッファ４０２の格納データは、観測信号Ｘ（ω，ｔ）（またはＸ（ｔ））、
時間周波数マスク４０６は、Ｍ（ω，ｔ）、
ステアリングベクトル４０４は、Ｓ（ω，θ）、
これらの変数で表現される。
【０２８０】
無相関化部５０１は、区間情報４０１に含まれる音源の音の開始および終了時刻を示す音源区間情報に基づいて、観測信号バッファ４０２から、処理対象とする所定区間の観測信号Ｘ（ω，ｔ）（またはＸ（ｔ））を取得し、先に説明した式［５．１６］〜［５．１９］を用いて観測信号の共分散行列５０２および無相関化行列５０３を生成する。
【０２８１】
観測信号の共分散行列５０２および無相関化行列５０３は、式の上ではそれぞれ以下の変数として示される。
観測信号の共分散行列：＜Ｘ（ω，ｔ）Ｘ（ω，ｔ）＾Ｈ＞＿ｔ
観測信号の無相関化行列：Ｐ（ω）
【０２８２】
なお、無相関化済み観測信号Ｘ'（ω，ｔ）については、先に説明した式［４．１］に示すように、
Ｘ'（ω，ｔ）＝Ｐ（ω）Ｘ（ω，ｔ）という関係によって必要に応じて生成することができるため、本開示の構成では無相関化済み観測信号Ｘ'（ω，ｔ）のバッファは用意しない。
【０２８３】
反復学習部５０４は、前述の補助関数法を用いて抽出フィルタを生成する。詳細は後述する。ここで生成された抽出フィルタは、後述のリスケーリング処理が未適用のリスケーリング前抽出フィルタ５０５である。
【０２８４】
リスケーリング部５０６では、リスケーリング前抽出フィルタ５０５の大きさを調整し、目的音である抽出結果のスケールが所望のものになるようにする。その際に、観測信号の共分散行列５０２と無相関化行列５０３とステアリングベクトル４０４とを使用する。
【０２８５】
次に、反復学習部５０４の詳細について、図１２を参照して説明する。
図１２に示すように、反復学習部５０４は、区間情報４０１、観測信号４０２、時間周波数マスク４０５、学習初期値４０８、無相関化行列５０３を適用した処理を実行して、リスケーリング前抽出フィルタ５０５を生成する。
【０２８６】
補助変数計算部６０１は、後述のマスキング結果６１０から、前記の式［７．２］によって補助変数ｂ（ｔ）を計算し、結果をマスキング結果６１０として格納する。ただし、初回のみは学習初期値４０８の値を、補助変数ｂ（ｔ）６０２として使用する。
【０２８７】
重みつき共分散行列計算部６０３は、処理対象となる当該区間の観測信号と補助変数ｂ（ｔ）６０２と、無相関化行列Ｐ（ω）５０３を用いて、前述した式［５．２０］の右辺または式［８．１２］の右辺に相当するデータを生成する。このデータを重みつき共分散行列６０４として生成し出力する。
【０２８８】
固有ベクトル計算部６０５は、重みつき共分散行列（１２−４）に固有値分解（ｅｉｇｅｎｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）を適用することで固有値と固有ベクトル（ｅｉｇｅｎｖｅｃｔｏｒ（ｓ））とを求め（式［５．１２］の右辺または式［８．１０］の右辺）、さらに固有値に基づいて固有ベクトルの選択を行なう。選択後の固有ベクトルは学習中抽出フィルタ６０６として記憶部に格納される。なお、学習中抽出フィルタ６０６は、式の上ではＵ'（ω）として表わされる。
【０２８９】
抽出フィルタ適用部６０７は、処理対象区間の観測信号に学習中抽出フィルタ６０６と無相関化行列５０３とを適用して抽出フィルタ適用結果６０８を生成する。
この処理は、先に説明した式［４．１４］に従った処理である。
なお、抽出フィルタ適用結果６０８は、式［４．１４］に示すように、式の上ではＺ（ω，ｔ）として表わされる。
【０２９０】
マスキング部６０９は、抽出フィルタ適用結果６０８に時間周波数マスク４０６を適用して、マスキング結果６１０を生成する。
この処理は、例えば、前述の式［７．１］に従った処理に対応する処理である。
マスキング結果６１０は、式の上ではＺ'（ω，ｔ）として表わされる。
【０２９１】
反復学習のため、マスキング結果６１０は補助変数計算部６０１に送られ、再び補助変数ｂ（ｔ）６０２の計算に使用される。
予め設定された回数に反復回数が達した等の条件を満たすことにより、予め設定したアルゴリズムに従った反復学習６０２が終了したら、その時点で生成済みの学習中抽出フィルタ６０６が、リスケーリング前抽出フィルタ５０５として出力される。
【０２９２】
このリスケーリング前抽出フィルタ５０５が、図１１を参照して説明したように、リスケーリング部５０６においてリスケーリングされて、リスケーリング済み抽出フィルタ５０７として出力される。
【０２９３】
［８．音信号処理装置の実行する処理について］
次に、音信号処理装置の実行する処理について、図１３以下に示すフローチャートを参照して説明する。
【０２９４】
［８−１．音信号処理装置の実行する処理の全体シーケンスについて］
まず、図１３に示すフローチャートを参照して、音信号処理装置の実行する処理の全体処理のシーケンスについて説明する。
【０２９５】
ステップＳ１０１のＡＤ変換およびＳＴＦＴは、音信号入力部としてのマイクロホンに入力されたアナログの音信号をデジタル信号へ変換し、さらに短時間フーリエ変換（ＳＴＦＴ）によって時間周波数領域の信号（スペクトル）へ変換する処理である。入力はマイクロホンからの他に、必要に応じてファイルやネットワークなどから行なってもよい。ＳＴＦＴについては先に図９を参照して説明したとおりである。
【０２９６】
なお、本実施例では入力チャンネルが複数（マイクロホンの個数分）あるため、ＡＤ変換やＳＴＦＴもチャンネル数だけ行なう。以降では、チャンネルｋ・周波数ビンω・フレームｔにおける観測信号をＸ＿ｋ（ω，ｔ）と表わす（式［１．１］など）。また、ＳＴＦＴのポイント数をｃとすると、１チャンネルあたりの周波数ビンの個数Ωは、Ω＝ｃ／２＋１で計算できる。
【０２９７】
ステップＳ１０２の蓄積は、ＳＴＦＴによって時間周波数領域に変換された観測信号を、所定の時間分（例えば１０秒）だけ蓄積する処理である。言い換えると、その時間に対応したフレーム数をＴとして、連続するＴフレーム分の観測信号を、図８に示す観測信号バッファ２２１に蓄積する。
【０２９８】
ステップＳ１０３の区間・方向推定は、音源の開始時刻（鳴り始めた時刻）および終了時刻（鳴り終わった時刻）、さらに音源の到来方向などを検出する。
この処理は、先に図８において説明したように、マイクロホンアレイを用いる方式と画像を用いる方式とがあるが、本発明ではどちらも使用可能である。
【０２９９】
ステップＳ１０４の音源抽出は、ステップＳ１０３で検出した区間と方向とに対応した目的音を生成（抽出）する。詳細は後述する。
ステップＳ１０５の後段処理は、抽出結果を利用する処理であり、例えば音声認識などである。
最後に、処理を継続するか否かの分岐を行ない、継続の場合はステップＳ１０１に戻る。そうでなければ、処理を終了する。
【０３００】
［８−２．音源抽出処理の詳細シーケンスについて］
次に、ステップＳ１０４で実行する音源抽出処理の詳細について、図１４に示すフローチャートを参照して説明する。
ステップＳ２０１における学習区間の調整は、図１３に示すフローのステップＳ１０３において実行された区間・方向推定で検出された開始・終了時刻から、抽出フィルタの推定に適切な区間を計算する処理である。詳細は後述する。
【０３０１】
次に、ステップＳ２０２において、目的音の音源方向からステアリングベクトルを生成する。先に説明した式［６．１］〜［６．３］に従ってステアリングベクトルＳ（θ，ω）を生成する。なお、ステップＳ２０１とステップＳ２０２の処理は順不同であり、どちらを先に行なっても良く、並列に行なっても良い。
【０３０２】
ステップＳ２０３では、ステップＳ２０２において生成したステアリングベクトルを用いて、時間周波数マスクを生成する。時間周波数マスクの生成の式は、式［６．４］、または式［９．２］である。
【０３０３】
なお、式［６．４］に従った時間周波数マスクは、方向θに対応したステアリングベクトルの向きに観測信号ベクトルが近いほど、マスクが大きな値をとる（１に近づく）特徴を持つマスクである。
式［９．２］に従った時間周波数マスクは、図７を参照して説明したように、観測信号ベクトルの向きが所定の範囲内に収まっているときのみ観測信号を透過させるようなマスクである。
【０３０４】
次に、ステップＳ２０４において、補助関数法による抽出フィルタ生成を行なう。詳細は後述する。
なお、このステップＳ２０４の段階では、抽出フィルタの生成を行なうだけであり、抽出結果の生成は行なわない。この時点で、抽出フィルタＵ（ω）が生成されている。
【０３０５】
次に、ステップＳ２０５において、目的音の区間に該当する観測信号に対して抽出フィルタを適用することで、抽出フィルタ適用結果を得る。すなわち、式［１．２］を、区間内の全フレーム（全てのｔ）、全周波数ビン（全てのω）について適用する。
【０３０６】
ステップＳ２０５において抽出フィルタ適用結果が得られたら、ステップＳ２０６において、必要に応じてさらに後処理を行なう。なお、図に示すカッコは、この処理が省略可能であることを表わす。後処理として、例えば式［７．１］を用いて再び時間周波数マスキングを行なう。あるいは、図１３に示すステップＳ１０６の後段処理において要求されるデータ形式への変換を行なう。
【０３０７】
次に、ステップＳ２０１における学習区間の調整の詳細と、そのような処理を行なう理由について、図１５を用いて説明する。
図１５は目的音の音声開始から終了までの区間のイメージを表わしており、横軸は時刻（またはフレーム番号、以下同じ）である。図８に示す方向・区間推定部２１３は、目的音の音声開始から終了までの区間７０１を検出する。区間７０１は、音声開始時刻ｔ１から、音声終了時間ｔ２からなるｔ１〜ｔ２の区間である。
区間７０１の長さを図１５最下段に示すようにＴとする。
【０３０８】
ステップＳ２０１において実行する学習区間の調整とは、区間・方向推定部２１３が検出した区間から、抽出フィルタを算出するための学習処理に使用する区間（学習用区間）を決定する処理である。
学習区間は、目的音の区間と一致させる必然性はなく、目的音の区間と異なる区間を学習区間として設定可能である。すなわち、目的音の区間とは必ずしも一致しない学習区間の観測信号を用いて目的音を抽出するための抽出フィルタを算出する。
【０３０９】
音源抽出部１０３には、学習用区間として利用する最短区間Ｔ＿ＭＩＮと、最長区間Ｔ＿ＭＡＸが予め設定されている。
音源抽出部１０３は、区間・方向推定部２１３が検出した目的音の区間Ｔを受領すると以下の処理を実行する。
図１５に示すように、区間Ｔが最短区間Ｔ＿ＭＩＮより小さい場合は、学習用区間の始端として、区間Ｔの終了時刻ｔ２からＴ＿ＭＩＮだけ遡った時点であるｔ３を採用する。すなわち、ｔ３からｔ２までを学習区間として採用し、この学習区間の観測信号を用いた学習処理を実行して目的音の抽出フィルタ生成を行なう。
【０３１０】
一方、区間・方向推定部２１３が検出した目的音の区間が、図１５に示す区間７０２のように、最長区間Ｔ＿ＭＡＸより大きい場合は、学習用区間の始端として、区間７０２の終了時刻ｔ２からＴ＿ＭＡＸだけ遡った時点であるｔ４を採用する。
【０３１１】
どちらでもない場合、すなわち、区間・方向推定部２１３が検出した目的音の区間が、図１５に示す区間７０３のように、最小区間Ｔ＿ＭＩＮから最大区間Ｔ＿ＭＡＸの範囲にある場合は、検出された区間をそのまま学習用区間として用いる。
【０３１２】
学習用区間に最小値を設定する理由は、学習サンプル数（フレーム数）が少なすぎることで精度の悪い抽出フィルタが生成されるのを防ぐためである。逆に、最大値を設定する理由は、抽出フィルタの生成において計算量が増大するのを防ぐためである。
【０３１３】
以降のステップＳ２０４の抽出フィルタ生成処理の説明において、学習用区間に対応したフレーム番号ｔを１からＴで表わす。すなわち、ｔ＝１が学習用区間の先頭のフレームを表わし、ｔ＝Ｔが終端のフレームを表わす。
【０３１４】
［８−３．抽出フィルタ生成処理の詳細シーケンスについて］
次に、ステップＳ２０４の抽出フィルタ生成処理の詳細シーケンスについて図１６に示すフローチャートを参照して説明する。
【０３１５】
ステップＳ３０１の無相関化は、図１１に示す無相関化行列５０３の計算を行なう処理である。具体的には、図１４を参照して説明した音源抽出処理シーケンスのステップＳ２０１における学習区間の調整によって決定した学習用区間の観測信号に対して、先に説明した式［５．１６］〜［５．１９］の計算を行ない、無相関化行列Ｐ（ω）を算出する。さらに、この処理における中間生成物である観測信号共分散行列（式［５．１６］の左辺）を生成する。
【０３１６】
すなわち、図１１に示す抽出フィルタ生成部４０９の無相関化部５０１が、無相関化行列Ｐ（ω）５０３と、中間生成物である観測信号共分散行列５０２を生成する処理である。なお、無相関化部５０１は、ステップＳ３０１において、全てのωについて処理を行ない、全てのωに対応する無相関化行列Ｐ（ω）と、中間生成物である観測信号共分散行列を生成する。
なお、式［５．１６］の左辺において共分散行列を計算する際には、学習用区間に含まれるフレーム番号ｔについて平均操作を行なう。すなわち、ｔ＝１〜Ｔについて平均操作を行なう。
【０３１７】
ステップＳ３０２〜Ｓ３０４は、抽出フィルタの推定を行なうための初回学習処理と、反復学習処理である。なお、学習初期値の生成などを含む初回の学習処理はステップＳ３０２の処理である。この処理は、図１０の学習初期値生成部４０７と図１１の抽出フィルタ生成部４０９の反復学習部５０４において実行される。
２回目以降の反復学習処理はステップＳ３０３〜Ｓ３０４の処理であり、図１１の抽出フィルタ生成部４０９の反復学習部５０４において実行される。
それぞれの処理の詳細については後述する。
【０３１８】
なお、特開２０１２−２３４１５０に記載された処理は、ステップＳ３０２の処理のみを実行し、ステップＳ３０３〜Ｓ３０４の反復学習処理を行なうことなく、ステップＳ３０２の処理の後に、ステップＳ３０５の処理を実行するシーケンスに相当する。
【０３１９】
ステップＳ３０４は、ステップＳ３０３の反復学習が終了したか否かの判定である。例えば、反復学習処理が所定の回数、実行されたか否かで判別する。学習が終了したと判定されればステップＳ３０５へ進み、まだ終了していないと判定されればステップＳ３０３へ戻り、学習処理を繰り返し実行する。
【０３２０】
ステップＳ３０５のリスケーリングは、反復学習によって得られた抽出フィルタに対してそのスケールを調整することにより、目的音である抽出結果のスケールを所望のスケールとする処理である。図１１に示すリスケーリング部５０６において実行する処理である。
【０３２１】
ステップＳ３０３において実行する反復学習は、スケールに対して式［４．１８］および式［４．１９］で表わされる制約に従って行われるが、これらは目的音のスケールとは異なるものであり、この学習結果を目的音のスケールに併せる処理を行なうものである。
リスケーリングは、以下に示す式に従って実行する。
【０３２２】
【数１０】
2014219467.tif 000014
【０３２３】
上記式は、抽出フィルタの適用結果に含まれる目的音のスケールを、遅延和アレイの適用結果に含まれる目的音のスケールに合わせるための式である。まず、式［１０．１］によってリスケーリング係数ｇ（ω）を計算する。この式において、Ｓ（ω，ｔ）は、図１４に示すフローのステップＳ２０４におけるステアリングベクトル生成処理で生成されたステアリングベクトルである。
図１０に示すステアリングベクトル生成部４０３が生成したステアリングベクトル４０４である。
【０３２４】
また、式［１０．１］の右辺に示す、
＜Ｘ（ω，ｔ）Ｘ（ω，ｔ）＾Ｈ＞＿ｔは、図１１に示す無相関化部５０１が、図１６のフローのステップＳ３０１の無相関化処理で生成した観測信号共分散行列５０２である。
Ｐ（ω）は、同様に、図１１に示す無相関化部５０１が、図１６のフローのステップＳ３０１の無相関化処理で生成した無相関化行列５０３である。
Ｕ'（ω）は直前の反復学習処理（ステップＳ３０３）で生成された図１１に示すリスケーリング前抽出フィルタ５０５である。
【０３２５】
式［１０．１］に従って求めたリスケーリング係数ｇ（ω）について、式［１０．２］の計算を行なうことで、リスケーリング済み抽出フィルタＵ（ω）を得る。
図１１に示すリスケーリング済み抽出フィルタＵ（ω）５０７である。
【０３２６】
式［１０．２］の右辺において無相関化行列Ｐ（ω）をリスケーリング前抽出フィルタＵ'（ω）の右側から乗じているため、抽出フィルタＵ（ω）は、無相関化前の観測信号Ｘ（ω，ｔ）から目的音を直接抽出することができる。
ステップＳ３０５のリスケーリング処理では、式［１０．１］〜［１０．２］の計算を、全ての周波数ビンωについて行なう。
【０３２７】
こうして求めた抽出フィルタＵ（ω）は、先に示した式［１．２］によって無相関化前の観測信号から目的音である抽出結果Ｚ（ω，ｔ）（リスケーリング済み）を生成するフィルタとなる。
【０３２８】
［８−４．初回学習処理の詳細シーケンスについて］
次に、図１６の抽出フィルタ生成処理フローに示すステップＳ３０２の初回学習処理の詳細シーケンスについて図１７に示すフローチャートを参照して説明する。
この処理は、図１０に示す学習初期値生成部４０７と図１１に示す抽出フィルタ生成部４０９において実行される。
【０３２９】
ステップＳ４０１の学習初期値生成では、学習初期値である初回の補助変数を計算する。この処理は、図１０に示す学習初期値生成部４０７において実行する。
図１０に示す学習初期値生成部４０７は、時間周波数マスク生成部４０５が、図１４に示すフローのステップＳ２０３において生成した時間周波数マスク４０６を用いて、先に説明した式［６．５］〜［６．９］によって補助変数ｂ（ｔ）を計算する。
この処理をｔ＝１（学習用区間の先頭）からｔ＝Ｔ（学習用区間の末尾）までについて行なう。
【０３３０】
ステップＳ４０２〜Ｓ４０６は、学習初期値を用いた初回学習処理の周波数ビンについてのループであり、ω＝１〜ΩについてステップＳ４０３〜Ｓ４０５の処理を行なう。この処理は、抽出フィルタ生成部４０９において実行される。
ステップＳ４０３では、先に説明した式［５．２０］または式［８．１２］に基づいて、無相関化済み観測信号の重みつき共分散行列を計算する。
この処理は、図１２に示す反復学習部５０４の重み付き共分散行列計算部６０３の実行する処理であり、図１２に示す重み付き共分散行列６０４を生成する処理である。
【０３３１】
ステップＳ４０４は、ステップＳ４０３で求めた重みつき共分散行列に対して、先に説明した式［５．１２］または式［８．１０］で表わされる固有値分解を適用する。その結果、ｎ個の固有値と、各固有値に対応した固有ベクトルとを得る。
【０３３２】
ステップＳ４０５では、ステップＳ４０４で得られた固有ベクトルの中から、抽出フィルタとして適切なものを選択する。重みつき共分散行列として式［５．２０］を用いた場合は、最小の固有値に対応した固有ベクトルを採用する（式［５．１５］）。一方、重みつき共分散行列として式［８．１２］を用いた場合は、最大の固有値に対応した固有ベクトルを採用する（式［８．１１］）。
ステップＳ４０４〜Ｓ４０５の処理はも図１２に示す固有ベクトル計算部６０５の実行する処理である。
【０３３３】
なお、最大の固有値に対応した固有ベクトルについては、それだけを直接求める効率の良いアルゴリズムが存在するため、そのような固有ベクトルをステップＳ４０４で求め、ステップＳ４０５はスキップしてもよい。
最後に、ステップＳ４０６において周波数ビンのループを閉じる。
【０３３４】
［８−５．反復学習処理の詳細シーケンスについて］
次に、図１６の抽出フィルタ生成処理フローに示すステップＳ３０３の反復学習処理の詳細シーケンスについて図１８に示すフローチャートを参照して説明する。
この処理は、図１１および図１２に示す反復学習部５０４において実行される。
【０３３５】
ステップＳ５０１において、前回のステップで得られた学習中抽出フィルタＵ'（ω）を観測信号に適用し、学習中の一時的な抽出結果である抽出フィルタ適用結果Ｚ（ω，ｔ）を得る。すなわち、先に説明した式［５．９］の計算を、ω＝１〜Ωかつｔ＝１〜Ｔについて行なう。
【０３３６】
次にステップＳ５０２において、抽出フィルタ適用結果Ｚ（ω，ｔ）に対して時間周波数マスクを適用し、マスキング結果Ｚ'（ω，ｔ）を得る。すなわち、式［７．１］の計算を、ω＝１〜Ωかつｔ＝１〜Ｔについて行なう。
次にステップＳ５０３において、ステップＳ５０２で求めたマスキング結果Ｚ'（ω，ｔ）から、式［７．２］を用いて補助変数ｂ（ｔ）を計算する。この計算は、ｔ＝１〜Ｔについて行なう。
【０３３７】
ステップＳ５０４〜Ｓ５０８は、先に説明した図１７の初回学習処理フローにおけるステップＳ４０２〜Ｓ４０６と同一の処理である。
以上で、反復学習処理の説明を終えると共に、全ての処理の説明も終える。
【０３３８】
［９．本開示の音信号処理装置の音源抽出処理における効果の検証について］
次に、本開示の音信号処理装置の音源抽出処理における効果の検証について説明する。
従来技術である特開２０１２−２３４１５０号公報に記載された処理との違いを評価するため、音源抽出の精度を比較する実験を行った。以下、その実験内容と結果について説明する。
【０３３９】
評価用の音データは、図１９に示す環境で収録した。
マイクロホンアレイ８０１が直線８１０に沿ってに設置されている。マイクロホン同士の間隔は２ｃｍである。
【０３４０】
直線８１０から１９０ｃｍ離れた直線８２０上に５個のスピーカーを設置した。スピーカー８２１はマイクロホンアレイ８０１のほぼ正面に位置するスピーカーである。
スピーカー８３１，８３２は、スピーカー８２１から左にそれぞれ１１０ｃｍおよび５５ｃｍ離れた位置に設置されたスピーカーである。スピーカー８３３，８３４は、スピーカー８２１から右にそれぞれ１１０ｃｍおよび５５ｃｍ離れた位置に設置されたスピーカーである。
【０３４１】
各スピーカーから単独に音を鳴らし、その音をマイクロホンアレイ８０１を用いてサンプリング周波数１６ｋＨｚで収録した。
スピーカー８２１は目的音専用のスピーカーである。事前に、３人の発話者各々について１５発話を収録し、この４５発話をこのスピーカーから順次出力した。すなわち、目的音が鳴っている区間は音声が発話されている区間であり、その個数は４５である。
【０３４２】
スピーカー８３１〜８３４は妨害音専用のスピーカーであり、それぞれから音楽、または雑踏音（ｓｔｒｅｅｔ  ｎｏｉｓｅ）の２種類の音を鳴らした。
妨害音１:音楽
以下のＵＲＬにあるbeet9.wav
http://sound.media.mit.edu/ica-bench/sources/
妨害音２:雑踏（street noise）
以下のＵＲＬにある street.wav
http://sound.media.mit.edu/ica-bench/sources/
上記ＵＲＬのある音データの説明については、以下のＵＲＬを参照されたい。
http://sound.media.mit.edu/ica-bench/
実験では、個別に収録された音を計算機上で混合した。混合は、目的音１個と妨害音１個との間で行なった。また、混合の際の目的音と妨害音とのパワー比は、−６ｄＢ，０ｄＢ，＋６ｄＢの３通りである。以降、このパワー比を（観測信号の）Ｓｉｇｎａｌ−ｔｏ−Ｉｎｔｅｒｆｅｒｅｎｃｅ  Ｒａｔｉｏ（ＳＩＲ）と呼ぶ。
【０３４３】
混合によって生成された評価用データは、４５（発話数）×４（妨害音の位置）×２（妨害音の種類）×３（混合比の種類）＝１０８０通りである。
これらの１０８０通りそれぞれについて、本開示の処理と、従来技術としての特開２０１２−２３４１５０に記載された処理に従った音源抽出処理を実行した。
【０３４４】
なお、全ての設定において共通のパラメータは、以下の通りである。
サンプリング周波数：１６ｋＨｚ
ＳＴＦＴ  の窓長：５１２ポイント
ＳＴＦＴ  のシフト幅：１２８ポイント
目的音方向のθ：０ラジアン
マスクの生成：式［６．４］を使用
学習初期値の生成：式［６．９］を使用。Ｌ＝２０
後処理（ステップＳ２０６）：スペクトログラムから波形への変換のみ。
【０３４５】
音源抽出の方式として、以下の５通りの方式（１）〜（５）を実行して比較した。
（１）従来法１：特開２０１２−２３４１５０に相当する方式。（その１）
式［６．９］に従って算出するｂ（ｔ）を学習初期値として、式［５．１１］を１回のみ実行して算出した抽出フィルタを適用した音源抽出処理。
この従来法１は、独立性尺度として図４に示す目的関数Ｇ（Ｕ'）に相当するＫｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ情報量（ＫＬ情報量）を用いた処理であり、図１６の抽出フィルタ生成処理フローにおける初期学習処理（ステップＳ３０２）は実行するが、反復学習処理（ステップＳ３０３）は実行しない処理に相当する。
【０３４６】
（２）従来法２：特開２０１２−２３４１５０に相当する方式。（その２）
式［６．９］に従って算出するｂ（ｔ）を学習初期値として、式［８．９］を１回のみ実行して算出した抽出フィルタを適用した音源抽出処理。
この従来法２は、独立性尺度として図６に示す目的関数Ｇ（Ｕ'）に相当する抽出結果Ｚの時間エンベロープの尖度（ｋｕｒｔｏｓｉｓ）を用いた処理であり、図１６の抽出フィルタ生成処理フローにおける初期学習処理（ステップＳ３０２）は実行するが、反復学習処理（ステップＳ３０３）は実行しない処理でに相当する。。
【０３４７】
（３）提案法１（本開示の処理１）
基本的に図１６に示すフローに従った抽出フィルタ生成処理を実行する。
図１６に示すフローのステップＳ３０２の初回学習処理は、図１７に示すフローに従って実行した。
ただし、図１６に示すフローのステップＳ３０３の反復学習処理では、図１８に示すフローのステップＳ５０２の処理、すなわち学習途中の時間周波数マスキングを省略した。
すなわち、初回学習処理として、式［６．９］に従って算出するｂ（ｔ）を学習初期値として、式［５．１１］を１回実行し、さらに、反復学習処理として、式［５．９］，［５．１０］に従った補助変数ｂ（ｔ）算出処理と、式［５．１１］に従った抽出フィルタＵ'（ω）算出処理を繰り返し実行した。
この処理は、独立性尺度としてＫｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ情報量（ＫＬ情報量）を用いた処理であり、図４を参照して説明した目的関数Ｇ（Ｕ'）、すなわち式［４．２０］を用いた処理である。
【０３４８】
（４）提案法２（本開示の処理２）
基本的に図１６に示すフローに従った抽出フィルタ生成処理を実行する。
図１６に示すフローのステップＳ３０２の初回学習処理は、図１７に示すフローに従って実行した。
図１６に示すフローのステップＳ３０３の反復学習処理も、図１８に示すフローに従って実行した。ステップＳ５０２の処理、すなわち学習途中の時間周波数マスキングも実行した。
すなわち、初回学習処理として、式［６．９］に従って算出するｂ（ｔ）を学習初期値として、式［５．１１］を１回実行し、さらに、反復学習処理として、式［５．９］，［７．１］，［７．２］に従って学習途中の時間周波数マスキングを適用した補助変数ｂ（ｔ）算出処理と、式［５．１１］に従った抽出フィルタＵ'（ω）算出処理を繰り返し実行した。なお、式［７．１］において、Ｊ＝２０とした。
この処理も、独立性尺度としてＫｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ情報量（ＫＬ情報量）を用いた処理であり、図４を参照して説明した目的関数Ｇ（Ｕ'）、すなわち式［４．２０］を用いた処理である。
【０３４９】
（５）提案法３（本開示の処理３）
基本的に図１６に示すフローに従った抽出フィルタ生成処理を実行する。
図１６に示すフローのステップＳ３０２の初回学習処理は、図１７に示すフローに従って実行した。
図１６に示すフローのステップＳ３０３の反復学習処理も、図１８に示すフローに従って実行した。ステップＳ５０２の処理、すなわち学習途中の時間周波数マスキングも実行した。
すなわち、初回学習処理として、式［６．９］に従って算出するｂ（ｔ）を学習初期値として、式［５．１１］を１回実行し、さらに、反復学習処理として、式［５．９］，［７．１］，［７．２］に従って学習途中の時間周波数マスキングを適用した補助変数ｂ（ｔ）算出処理と、式［８．１０］に従った抽出フィルタＵ'（ω）算出処理を繰り返し実行した。なお、式［７．１］において、Ｊ＝２０とした。
この処理は、独立性尺度として抽出結果Ｚの時間エンベロープの尖度（ｋｕｒｔｏｓｉｓ）を用いた処理であり、図６を参照して説明した目的関数Ｇ（Ｕ'）、すなわち式［８．５］を用いた処理である。
【０３５０】
なお、（３）提案法３〜（５）提案法５の本開示の方式における反復回数、すなわち、図１６の抽出フィルタ生成処理フローにおけるステップＳ３０３の反復学習処理の繰り返し回数は、以下の複数の設定とした。
（３）提案法１（本開示の処理１）＝１，２，５，１０回、
（４）提案法２（本開示の処理２）＝１，２，５，１０回、
（５）提案法３（本開示の処理３）＝１，２，５回、
【０３５１】
それぞれの反復回数が終了した時点で、抽出結果の波形を生成し、その波形に対して前述のＳＩＲという尺度を計算するとともに、観測信号に対してＳＩＲがどの程度改善されたかも計算する。
例えば、観測信号のＳＩＲが＋６ｄＢ、抽出結果のＳＩＲが２０ｄＢとすると、その改善度は２０−６＝１２ｄＢである。
【０３５２】
各方式について１０８０個の評価データの間でＳＩＲ改善度を平均することで、図２０に示す表で示される結果を得た。この表の数値の単位はデシベル（ｄＢ）である。
【０３５３】
また、従来法１〜２と、提案法１〜３について、横軸に学習処理の反復回数、縦軸にＳＩＲを設定したグラフを図２１に示す。
なお、前述のように、従来法１，２は、図１６に示す抽出フィルタ生成フローのステップＳ３０２の初回学習処理のみを実行しており、ステップＳ３０３の反復学習処理は実行しておらず、反復回数＝０としている。提案法１〜３については、以下のような反復回数の設定のデータを取得している。
提案法１（本開示の処理１）＝１，２，５，１０回、
提案法２（本開示の処理２）＝１，２，５，１０回、
提案法３（本開示の処理３）＝１，２，５回、
【０３５４】
提案法１（本開示の処理１）のプロットに着目すると、従来法１である反復回数０と比べ、反復を１回行うだけでもＳＩＲ改善度すなわち抽出精度が向上する（１３．４２ｄＢ→２１．１１ｄＢ）。そして、反復の２回目以降は、ほぼ収束していることが分かる。
【０３５５】
次に、提案法１と提案法２とを比較する。両者の違いは、反復学習において時間周波数マスクを適用するか否かである。すなわち、反復学習中の補助関数を計算する段階において、提案法１は式［５．１０］を用いて抽出フィルタ適用結果Ｚ（ω，ｔ）から補助変数ｂ（ｔ）を直接計算する。すなわち、時間周波数マスクは適用しない。一方、提案法２は抽出フィルタ適用結果Ｚ（ω，ｔ）に時間周波数マスクＭ（ω，ｔ）を適用してマスキング結果Ｚ'（ω，ｔ）を一旦生成し（式［７．１］）、次に式［７．２］を用いてマスキング結果Ｚ'（ω，ｔ）から補助変数ｂ（ｔ）を計算する。
【０３５６】
提案法２の結果を見ると、反復回数１の時点で、提案法１の収束時（反復回数が２回以降）と同等のＳＩＲ改善度が得られている。さらに反復回数を増やすと、５回以降はほぼ収束するが、その時点でのＳＩＲ改善度は提案法１よりも１．５ｄＢほど高い。すなわち、反復学習において時間周波数マスクを適用することで、収束を速くするだけでなく、収束時の抽出精度を高くする働きもある。
【０３５７】
次に、提案法３と従来法２（反復回数０）とを比較する。どちらも、式［８．７］の補助関数を用いた方式であるが、提案法３は従来法２と比べて反復学習が追加されているだけでなく、反復学習中における時間周波数マスクの適用も行なわれている。提案法３では、反復回数が１回または２回のときにＳＩＲ改善度がピークとなり、反復回数をそれより増やすとＳＩＲ改善度がかえって低下する傾向が見られた。また、そのピークは提案法１や提案法２の収束時の値よりも低い。しかし、従来法２と比較すると、反復によってＳＩＲ改善度は向上している。
【０３５８】
本開示の音信号処理装置における音源抽出処理は、例えば、以下のような効果を有する。
・補助関数を用いた音源抽出において、時間周波数マスキングを用いて補助変数を計算し、さらに反復を行なうことによって、高い精度の音源抽出結果が得られる。
・さらに、反復学習においても、時間周波数マスキングを用いて補助変数を計算することによって、収束の高速化と一層高精度の音源抽出結果とが得られる。
【０３５９】
また、本開示の処理は、特開２０１２−２３４１５０号公報に開示の構成が備えていた以下の効果を一層強く有する。
本開示の処理によれば、目的音の音源方向の推定値に誤差が含まれる場合でも、目的音を高い精度で抽出することが可能となる。すなわち、位相差に基づく時間周波数マスキングを用いることで、目的音の方向に誤差があっても目的音の時間エンベロープが高い精度で生成されると共に、その時間エンベロープを学習初期値として用いる音源抽出を行なうことで、目的音が高精度で抽出される。
【０３６０】
本開示の処理を、特開２０１２−２３４１５０号公報に記載の構成以外の従来の音源抽出処理と比較した場合の利点についてまとめると以下の通りである。
（ａ）分散最小ビームフォーマーや、Ｇｒｉｆｆｉｔｈ−Ｊｉｍビームフォーマー等と比較して、
目的音の方向の誤差の影響を受けにくい。すなわち、本開示の処理では、初期的に求められた目的音の方向に誤差があっても、目的音とほぼ同一の時間エンベロープを用いた学習処理が実行されるため、その学習処理によって生成された抽出フィルタも方向の誤差の影響を受けにくい。
（ｂ）バッチ処理の独立成分分析と比較して、
出力は１チャンネルのため、目的音以外の信号を生成する分の計算やメモリが節約できる他に、出力チャンネルの選択を間違えるという課題も回避される。
【０３６１】
（ｃ）時間周波数マスキングと比較して、
本開示の処理で得られる抽出フィルタは線形フィルタであるため、ミュージカルノイズが発生しにくい。
【０３６２】
さらに、本開示を、複数音源対応かつ音源方向推定機能つきの音声区間検出器と、音声認識器と組み合わせることで、雑音下や複数音源下での認識精度が向上する。すなわち、音声と雑音とが時間上で重複していたり、複数人が同時に発話したような状況でも、それらの音源が異なる方向で発生したものであれば、それぞれを高精度で抽出できるため、音声認識の精度も向上する。
【０３６３】
［１０．本開示の構成のまとめ］
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０３６４】
なお、本明細書において開示した技術は、以下のような構成をとることができる。
（１）  異なる位置に設置された複数のマイクから構成される音信号入力部が取得した複数チャンネルの音信号を観測信号として受け取り、抽出対象音である目的音の音方向と音区間を推定する観測信号解析部と、
前記観測信号解析部の推定した目的音の音方向と音区間を受け取って目的音の音信号を抽出する音源抽出部を有し、
前記観測信号解析部は、
受け取った前記複数チャンネルの音信号に対して短時間フーリエ変換を適用することにより時間周波数領域の観測信号を生成する短時間フーリエ変換部と、
前記短時間フーリエ変換部の生成した観測信号を受け取って、前記目的音の音方向と音区間を検出する方向・区間推定部を有し、
前記音源抽出部は、
観測信号への抽出フィルタ適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行し、
前記反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を用意し、
前記反復学習処理において、補助関数法を用いて前記目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出する音信号処理装置。
【０３６５】
（２）前記音源抽出部は、前記方向・区間推定部から受け取った目的音の音方向と音区間に基づいて、時間方向における目的音の音量の概略である時間エンベロープを算出し、算出した時間エンベロープの各フレームｔの値を補助変数ｂ（ｔ）に代入し、前記補助変数ｂ（ｔ）と、周波数ビン（ω）ごとの抽出フィルタＵ'（ω）とを引数として有する補助関数Ｆを用意し、
（１）補助変数ｂ（ｔ）を固定した状態で、補助関数Ｆを最小化する抽出フィルタＵ'（ω）を算出する抽出フィルタ算出処理、
（２）観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に基づいて補助変数ｂ（ｔ）を算出する補助変数算出処理、
上記（１），（２）の処理を繰り返す反復学習処理を実行して、抽出フィルタＵ'（ω）を順次更新し、更新後の抽出フィルタを適用して目的音の音信号を抽出する前記（１）に記載の音信号処理装置。
【０３６６】
（３）前記音源抽出部は、前記方向・区間推定部から受け取った目的音の音方向と音区間に基づいて、時間方向における目的音の音量の概略である時間エンベロープを算出し、算出した時間エンベロープの各フレームｔの値を補助変数ｂ（ｔ）に代入し、前記補助変数ｂ（ｔ）と、周波数ビン（ω）ごとの抽出フィルタＵ'（ω）とを引数として有する補助関数Ｆを用意し、
（１）補助変数ｂ（ｔ）を固定した状態で、補助関数Ｆを最大化する抽出フィルタＵ'（ω）を算出する抽出フィルタ算出処理、
（２）観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に基づいて補助変数ｂ（ｔ）を算出する補助変数算出処理、
上記（１），（２）の処理を繰り返す反復学習処理を実行して、抽出フィルタＵ'（ω）を順次更新し、更新後の抽出フィルタを観測信号に適用して目的音の音信号を抽出する前記（１）に記載の音信号処理装置。
【０３６７】
（４）前記音源抽出部は、前記補助変数算出処理において、観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）を生成し、適用結果のスペクトルであるベクトル[Ｚ（1，ｔ）, …, Ｚ（Ω，ｔ）]（Ωは周波数ビン数）のＬ−２ノルムをフレームｔごとに計算し、その値を補助変数ｂ（ｔ）に代入する処理を行なう前記（２）２または（３）に記載の音信号処理装置。
【０３６８】
（５）前記音源抽出部は、前記補助変数算出処理において、観測信号への抽出フィルタＵ'（ω）の適用結果であるＺ（ω，ｔ）に対してさらに、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを適用してマスキング結果Q（ω，ｔ）を生成し、マスキング結果のスペクトルであるベクトル[Q（1，ｔ）, …, Q（Ω，ｔ）]のＬ−２ノルムをフレームｔごとに計算し、その値を補助変数ｂ（ｔ）に代入する処理を行なう前記（２）または（３）に記載の音信号処理装置。
【０３６９】
（６）前記音源抽出部は、前記目的音の音源方向情報に基づいて、目的音を取得する複数マイク間の位相差情報を含むステアリングベクトルを生成し、前記目的音以外の信号である妨害音を含む観測信号と、前記ステアリングベクトルに基づいて、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを生成し、前記時間周波数マスクを所定区間の観測信号に適用してマスキング結果を生成し、前記マスキング結果に基づいて前記補助変数の初期値を生成する前記（１）〜（５）いずれかに記載の音信号処理装置。
【０３７０】
（７）前記音源抽出部は、前記目的音の音源方向情報に基づいて、目的音を取得する複数マイク間の位相差情報を含むステアリングベクトルを生成し、前記目的音以外の信号である妨害音を含む観測信号と、前記ステアリングベクトルに基づいて、目的音の音源方向と離れた方向からの音を減衰させる時間周波数マスクを生成し、前記時間周波数マスクに基づいて前記補助変数の初期値を生成する前記（１）〜（５）いずれかに記載の音信号処理装置。
【０３７１】
（８）前記音源抽出部は、前記観測信号解析部の検出した目的音の音区間の長さが、既定の最小区間長Ｔ＿ＭＩＮより短い場合は、前記音区間の終端から前記最小区間長Ｔ＿ＭＩＮだけ遡った時点を前記反復学習処理にて使用する観測信号の開始位置として採用し、前記目的音の音区間の長さが、既定の最大区間長Ｔ＿ＭＡＸより長い場合は、前記音区間の終端から前記最大区間長Ｔ＿ＭＡＸだけ遡った時点を前記反復学習処理にて使用する観測信号の開始位置として採用し、前記観測信号解析部の検出した目的音の音区間の長さが、既定の最小区間長Ｔ＿ＭＩＮから既定の最大区間長Ｔ＿ＭＡＸの範囲内である場合は、前記音区間を前記反復学習処理にて使用する観測信号の音区間として採用する前記（１）〜（７）いずれかに記載の音信号処理装置。
【０３７２】
（９）前記音源抽出部は、前記補助変数ｂ（ｔ）と、無相関化された観測信号とから重みつき共分散行列を計算し、重みつき共分散行列に対して固有値分解（ｅｉｇｅｎｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）を適用して固有値と固有ベクトル（ｅｉｇｅｎｖｅｃｔｏｒ（ｓ））を算出し、固有値に基づいて選択した固有ベクトルを、前記反復学習処理における学習中抽出フィルタとして採用する前記（１）〜（８）いずれかに記載の音信号処理装置。
【０３７３】
（１０）音信号処理装置において実行する音信号処理方法であり、
観測信号解析部が、異なる位置に設置された複数のマイクから構成される音信号入力部が取得した複数チャンネルの音信号を観測信号として受け取り、抽出対象音である目的音の音方向と音区間を推定する観測信号解析処理を実行し、
音源抽出部が、前記観測信号解析部の推定した目的音の音方向と音区間を受け取って目的音の音信号を抽出する音源抽出処理を実行し、
前記観測信号解析処理において、
受け取った前記複数チャンネルの音信号に対して短時間フーリエ変換を適用することにより時間周波数領域の観測信号を生成する短時間フーリエ変換処理と、
前記短時間フーリエ変換によって生成した観測信号を受け取って、前記目的音の音方向と音区間を検出する方向・区間推定処理を実行し、
前記音源抽出処理において、
観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行し、
前記反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を生成し、
前記反復学習処理において、補助関数法を用いて前記目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出する音信号処理方法。
【０３７４】
（１１）音信号処理装置において音信号処理を実行させるプログラムであり、
観測信号解析部に、異なる位置に設置された複数のマイクから構成される音信号入力部が取得した複数チャンネルの音信号を観測信号として入力させて、抽出対象音である目的音の音方向と音区間を推定する観測信号解析処理を実行させ、
音源抽出部に、前記観測信号解析部の推定した目的音の音方向と音区間を受け取って目的音の音信号を抽出する音源抽出処理を実行させ、
前記観測信号解析処理として、
受け取った前記複数チャンネルの音信号に対して短時間フーリエ変換を適用することにより時間周波数領域の観測信号を生成する短時間フーリエ変換処理と、
前記短時間フーリエ変換によって生成した観測信号を受け取って、前記目的音の音方向と音区間を検出する方向・区間推定処理を実行させ、
前記音源抽出処理において、
観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行させ、
前記反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を生成し、
前記反復学習処理において、補助関数法を用いて前記目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出させるプログラム。
【０３７５】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０３７６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０３７７】
以上、説明したように、本開示の一実施例の構成によれば、複数の音が混在した音信号から目的音を抽出する装置、方法が実現される。
具体的には、観測信号解析部が、複数マイクの取得音である観測信号から目的音の音方向と音区間を推定し、音源抽出部が、目的音の音信号を抽出する。音源抽出部は、観測信号への抽出フィルタの適用結果を用いて抽出フィルタＵ'を反復的に更新する反復学習処理を実行する。音源抽出部は、反復学習処理に適用する関数として、抽出フィルタＵ'の値が前記目的音の抽出に最適な値であるときに極小値または極大値をとる目的関数Ｇ（Ｕ'）を生成し、反復学習処理において、補助関数法を用いて目的関数Ｇ（Ｕ'）の極小値または極大値近傍の抽出フィルタＵ'の値を算出し、算出した抽出フィルタを適用して目的音の音信号を抽出する。
例えば、上記構成により、複数の音が混在した音信号から目的音を抽出する装置、方法が実現される。
【符号の説明】
【０３７８】
１１  目的音の音源
１２  音源方向
１３  基準方向
１４  妨害音の音源
１５〜１７  マイクマロホン
２１  目的音
２２，２３  妨害音
１００  音信号処理装置
１０１  音信号入力部
１０２  観測信号解析部
１０３  音源抽出部
１０４  後段処理部
１１０  抽出結果
２１１  ＡＤ変換部
２１２  ＳＴＦＴ部
２１３  方向・区間推定部
２２１  観測信号バッファ
２２２  撮像素子
２３０  制御部
３０１〜３０３  フレーム
４０１  区間情報
４０２  観測信号バッファ
４０３  ステアリングベクトル生成部
４０４  ステアリングベクトル
４０５  時間周波数マスク生成部
４０６  時間周波数マスク
４０７  学習初期値生成部
４０８  学習初期値
４０９  抽出フィルタ生成部
４１０  抽出フィルタ
４１１  フィルタリング部
４１２  フィルタリング結果
４１３  後処理部
４１４  抽出結果
５０１  無相関化部
５０２  の共分散行列
５０２  無相関化行列
５０４  反復学習部
５０５  リスケーリング前抽出フィルタ
５０６  リスケーリング部
５０７  リスケーリング済み抽出フィルタ
６０１  補助変数計算部
６０２  補助変数
６０３  重み付き共分散行列計算部
６０４  重み付き共分散行列
６０５  固有ベクトル計算部
６０６  学習中抽出フィルタ
６０７  抽出フィルタ適用部
６０８  抽出フィルタ適用結果
６０９  マスキング部
６１０  マスキング結果
８０１  マイクロホンアレイ
８２１  スピーカー
８３１〜８３４  スピーカー
【図１】
2014219467.tif 000015
【図２】
2014219467.tif 000016
【図４】
2014219467.tif 000017
【図５】
2014219467.tif 000018
【図６】
2014219467.tif 000019
【図７】
2014219467.tif 000020
【図８】
2014219467.tif 000021
【図１０】
2014219467.tif 000022
【図１１】
2014219467.tif 000023
【図１２】
2014219467.tif 000024
【図１３】
2014219467.tif 000025
【図１４】
2014219467.tif 000026
【図１５】
2014219467.tif 000027
【図１６】
2014219467.tif 000028
【図１７】
2014219467.tif 000029
【図１８】
2014219467.tif 000030
【図１９】
2014219467.tif 000031
【図２０】
2014219467.tif 000032
【図２１】
2014219467.tif 000033
【図３】
2014219467.tif 000034
【図９】
2014219467.tif 000035