(57)【要約】【課題】信号処理に用いる情報を高精度に算出する。【解決手段】信号処理装置は、記憶部と、類似度算出部と、重み算出部と、更新部と、信号処理部と、を備える。記憶部は、第１入力信号の特徴を表す第１特徴量を記憶する。類似度算出部は、第１特徴量と、第２入力信号の特徴を表す第２特徴量と、の類似度を算出する。重み算出部は、類似度および第２特徴量に基づいて、第１特徴量に対する第１重みを算出する。更新部は、第１重みを乗算した第１特徴量と、第２特徴量とに基づいて、第３特徴量を算出し、第３特徴量により記憶部に記憶された第１特徴量を更新する。信号処理部は、更新された第１特徴量を用いた信号処理を実行する。【選択図】図２
2019128402.tif 000002
【特許請求の範囲】
【請求項１】
第１入力信号の特徴を表す第１特徴量を記憶する記憶部と、
前記第１特徴量と、第２入力信号の特徴を表す第２特徴量と、の類似度を算出する類似度算出部と、
前記類似度および前記第２特徴量に基づいて、前記第１特徴量に対する第１重みを算出する重み算出部と、
前記第１重みを乗算した前記第１特徴量と、前記第２特徴量とに基づいて、第３特徴量を算出し、前記第３特徴量により前記記憶部に記憶された前記第１特徴量を更新する更新部と、
更新された前記第１特徴量を用いた信号処理を実行する信号処理部と、
を備える信号処理装置。
【請求項２】
前記重み算出部は、前記類似度および前記第２特徴量を入力して前記第１重みを出力するモデルを用いて、前記第１重みを算出する、
請求項１に記載の信号処理装置。
【請求項３】
前記モデルはニューラルネットワークである、
請求項２に記載の信号処理装置。
【請求項４】
学習データを用いて前記信号処理の処理結果を評価し、前記モデルのパラメータを更新する学習部をさらに備える、
請求項２に記載の信号処理装置。
【請求項５】
第３入力信号と、前記信号処理の処理結果を表す参照データと、を含む学習データを生成する生成部をさらに備え、
前記学習部は、生成された前記学習データを用いて学習処理を実行する、
請求項４に記載の信号処理装置。
【請求項６】
前記第１特徴量、前記第２特徴量、および、前記第３特徴量は、空間内の異なる位置から入力される複数の入力信号に基づく空間相関である、
請求項１に記載の信号処理装置。
【請求項７】
前記重み算出部は、さらに、前記類似度および前記第２特徴量に基づいて、前記第２特徴量に対する第２重みを算出し、
前記更新部は、前記第１重みを乗算した前記第１特徴量と、前記第２重みを乗算した前記第２特徴量とに基づいて、前記第３特徴量を算出する、
請求項１に記載の信号処理装置。
【請求項８】
前記重み算出部は、さらに、前記類似度および前記第２特徴量に基づいて、前記記憶部から読み出した前記第１特徴量に対する第３重みを算出し、
前記信号処理部は、前記第３重みを乗算した前記第１特徴量を用いた信号処理を実行する、
請求項１に記載の信号処理装置。
【請求項９】
複数チャンネルの音声信号を含む第１入力信号の特徴を表す第１特徴量を記憶する記憶部と、
前記第１特徴量と、複数チャンネルの音声信号を含む第２入力信号の特徴を表す第２特徴量と、の類似度を算出する類似度算出部と、
前記類似度および前記第２特徴量に基づいて、前記第１特徴量に対する第１重みを算出する重み算出部と、
前記第１重みを乗算した前記第１特徴量と、前記第２特徴量とに基づいて、第３特徴量を算出し、前記第３特徴量により前記記憶部に記憶された前記第１特徴量を更新する更新部と、
更新された前記第１特徴量を用いて複数チャンネルの音声信号のうち一部の音声信号を強調する信号処理を実行する信号処理部と、
を備える音声強調装置。
【請求項１０】
第１入力信号の特徴を表す第１特徴量を記憶部に記憶する記憶ステップと、
前記第１特徴量と、第２入力信号の特徴を表す第２特徴量と、の類似度を算出する類似度算出ステップと、
前記類似度および前記第２特徴量に基づいて、前記第１特徴量に対する第１重みを算出する重み算出ステップと、
前記第１重みを乗算した前記第１特徴量と、前記第２特徴量とに基づいて、第３特徴量を算出し、前記第３特徴量により前記記憶部に記憶された前記第１特徴量を更新する更新ステップと、
更新された前記第１特徴量を用いた信号処理を実行する信号処理ステップと、
を含む信号処理方法。
【請求項１１】
コンピュータに、
第１入力信号の特徴を表す第１特徴量を記憶部に記憶する記憶ステップと、
前記第１特徴量と、第２入力信号の特徴を表す第２特徴量と、の類似度を算出する類似度算出ステップと、
前記類似度および前記第２特徴量に基づいて、前記第１特徴量に対する第１重みを算出する重み算出ステップと、
前記第１重みを乗算した前記第１特徴量と、前記第２特徴量とに基づいて、第３特徴量を算出し、前記第３特徴量により前記記憶部に記憶された前記第１特徴量を更新する更新ステップと、
更新された前記第１特徴量を用いた信号処理を実行する信号処理ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、信号処理装置、音声強調装置、信号処理方法およびプログラムに関する。
【背景技術】
【０００２】
音声認識システムの認識率を向上させるため、音声を強調する信号処理などを実行する技術が提案されている。音声強調装置で用いられている技術として、信号の空間情報を利用して特定の方向の音声を強調するビームフォーミングが知られている。信号処理をより高精度に実行するためには、信号処理に用いる情報（特徴量など）をより高精度に算出することが望ましい。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５０４４５８１号公報
【非特許文献】
【０００４】
【非特許文献１】Heymann  et  al.,“NEURAL  NETWORK  BASED  SPECTRAL  MASK  ESTIMATION  FOR  ACOUSTIC  BEAMFORMING”，ICASSP  2016
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では信号処理に用いる情報を高精度に算出できない場合があった。例えば、ビームフォーミングでは、忘却機能を設けることにより、現在の音源位置を優先して強調する場合がある。しかし、音源が移動しない場合にも忘却機能が働き、強調の効果が低下する場合があった。
【課題を解決するための手段】
【０００６】
実施形態の信号処理装置は、記憶部と、類似度算出部と、重み算出部と、更新部と、信号処理部と、を備える。記憶部は、第１入力信号の特徴を表す第１特徴量を記憶する。類似度算出部は、第１特徴量と、第２入力信号の特徴を表す第２特徴量と、の類似度を算出する。重み算出部は、類似度および第２特徴量に基づいて、第１特徴量に対する第１重みを算出する。更新部は、第１重みを乗算した第１特徴量と、第２特徴量とに基づいて、第３特徴量を算出し、第３特徴量により記憶部に記憶された第１特徴量を更新する。信号処理部は、更新された第１特徴量を用いた信号処理を実行する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態にかかる信号処理装置のハードウェア図。
【図２】第１の実施形態にかかる信号処理装置のブロック図。
【図３】第１の実施形態における信号処理のフローチャート。
【図４】特徴量を算出および更新する処理の流れを説明するための図。
【図５】第２の実施形態にかかる信号処理装置のハードウェア構成図。
【図６】第２の実施形態にかかる信号処理装置のブロック図。
【図７】第２の実施形態における信号処理のフローチャート。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、この発明にかかる信号処理装置の好適な実施形態を詳細に説明する。なお以下では主に音声を強調する信号処理を実行する装置を例に説明するが、適用可能な信号処理は音声強調処理に限られない。音声以外の任意の信号の処理に適用できる。また、信号を強調する以外の信号処理を適用してもよい。
【０００９】
ビームフォーミングでは、通常、音源の到来方向は一定であることが仮定されている。このため、話者が切り替わる場合、および、音声を入力する音声入力装置（マイクなど）に対して話者が相対的に移動する場合には音源が固定されている場合より強調の効果が発揮されづらい。そこで、上述のような忘却機能を設け、過去の音源位置より現在の音源位置を優先して強調する技術が提案されている。しかし、話者が相対的に移動しない場合でも忘却機能が働くために、忘却機能を設定しない場合と比較して強調の効果が得られない場合がある。
【００１０】
一方、クラスタリングを用いることで話者切り替えに対処する技術が提案されている。しかしこのような方法は規則ベースの方法であり、微分不可能な構成要素を含む。このため、出力の基準、例えば信号対雑音比（ＳＮ比）を最大化することを表す基準（最大ＳＮＲ基準）などを用いて、クラスタリングの精度を向上させるためのパラメータを調整することは困難であった。
【００１１】
（第１の実施形態）
第１の実施形態にかかる信号処理装置は、話者の空間情報を表す特徴量を複数の記憶領域それぞれに記憶する。信号処理装置は、音声信号に対する特徴量が入力されるごとに、記憶部に記憶された特徴量と入力された特徴量との類似度、および、入力された特徴量をニューラルネットに入力する。ニューラルネットは、記憶領域の個数と等しい次元数を持つ重みを出力する。出力される重みは、例えば、記憶された特徴量に対する重み（消去重み）、入力された特徴量に対する重み（書き込み重み）、および、記憶領域から読み出した特徴量に対する重み（読み出し重み）を含む。記憶領域から読み出した特徴量は、ビームフォーミングなどの信号処理に用いられる。
【００１２】
本実施形態では、学習データを利用して、適切な特徴量の書き換えと読み出しの方法をニューラルネットに学習させることができる。このため、忘却せずに特徴量を保持する方が強調するために都合がいい場合に忘却をしないといったことが学習できるようになる。
【００１３】
また本実施形態では、忘却の要否と関連性が高い情報である、記憶された特徴量と現在の特徴量との類似度を、ニューラルネットの入力に含めている。これにより、類似度を入力しない場合と比較して学習に必要なデータを削減できる。類似度を入力しない場合でも、記憶された特徴量と現在の特徴量とが類似するかに応じて出力が変わるように学習させることができるが、そのためにはより多くのデータが必要になるためである。学習のためのデータが増大する可能性はあるが、ニューラルネットの入力に類似度を含めないように構成してもよい。
【００１４】
このように、本実施形態によれば、忘却機能を導入しつつ、信号処理に用いる情報をより高精度に算出可能となる。例えば話者が相対的に移動しない場合でも強調の効果を維持可能となる。また、以下に述べるように本実施形態では微分不可能な構成要素を含まないモデルを用いるため、忘却機能を含む各機能を定めるパラメータが、出力で定義される評価基準（ＳＮ比など）を最大化するように調整可能となる。
【００１５】
次に、第１の実施形態にかかる信号処理装置のハードウェア構成について図１を用いて説明する。図１は、第１の実施形態にかかる信号処理装置１００のハードウェア構成例を示す説明図である。
【００１６】
信号処理装置１００は、ＣＰＵ（Central  Processing  Unit）５１、ＲＯＭ（Read  Only  Memory）５２、ＲＡＭ（Random  Access  Memory）５３、記憶装置５４、および、操作装置５５を含み、それらがバスを介して接続されている。
【００１７】
ＣＰＵ５１は、ＲＡＭ５３を作業領域とし、ＲＡＭ５３に記録されたプログラムとの協働により各種処理を実行し、信号処理装置１００の動作を統括的に制御する。
【００１８】
ＲＯＭ５２は、信号処理装置１００の動作に関わるプログラム、および、学習に必要なメディアデータなどを、書き換え不可能な形式で記憶する。
【００１９】
ＲＡＭ５３は、例えばＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）などの記憶媒体である。ＲＡＭ５３は、ＣＰＵ５１の作業エリアとして機能し、中間データの保持などの役割を果たす。
【００２０】
記憶装置５４は、磁気的または光学的に情報を記憶可能な媒体であり、各種設定情報および学習結果などを記憶する。
【００２１】
操作装置５５は、例えばキーボードおよびマウスなどであり、ユーザの入力をＣＰＵ５１に出力する。
【００２２】
図２は、信号処理装置１００の構成の一例を示すブロック図である。図２に示すように、信号処理装置１００は、生成部１０１と、解析部１１１と、特徴量算出部１１２と、類似度算出部１１３と、重み算出部１１４と、更新部１１５と、信号処理部１２１と、学習部１２２と、記憶部１４１と、を備えている。
【００２３】
記憶部１４１は、過去に入力された音声信号（第１入力信号）に対して算出された特徴量（第１特徴量）を記憶する。記憶部１４１は、例えば図１のＲＡＭ５３により構成することができる。記憶部１４１は、複数の記憶領域を含み、複数の記憶領域それぞれに特徴量を記憶する。
【００２４】
生成部１０１は、学習に用いる学習データを生成する。例えば生成部１０１は、音声信号（第３入力信号）と参照データとを含む学習データを生成する。参照データは、音声信号に対する信号処理の処理結果を表すデータである。参照データは、学習部１２２による学習時に参照される。
【００２５】
生成部１０１は、例えば予め準備された学習データを加工することにより、多様性を増大させ学習後の頑健性を向上させるような学習データを生成し、解析部１１１に出力する。上述のように、生成する学習データには、学習部１２２で用いるための参照データを含めることができる。その場合、参照データは、学習部１２２以外に入力する必要はない。
【００２６】
生成部１０１により生成される学習データに相当するデータが準備されている場合は、そのデータを用いるように構成すれば、生成部１０１を備える必要はない。
【００２７】
音声信号は、例えば、マイクロフォンアレイなどの音声入力装置により収録された信号である。マイクロフォンアレイは、空間内の異なる位置に備えられる複数のマイクを含み、複数のマイクに対応する複数のチャンネルの音声信号を取得する。以下では、複数のチャンネルの音声信号を用いる場合を例に説明するが、１つのチャンネルの音声信号に対しても同様の方法を適用できる。
【００２８】
学習データの生成方法はどのような方法であってもよいが、例えば、以下のような方法を用いることができる。
・音源が存在する領域（部屋など）のインパルス応答を生成して元の信号に畳み込む。
・雑音を加える。
・ランダムにサンプルを欠損させる。
・チャンネル間にランダムな遅延を加える。
・フェーズボコーダーにより持続時間、および、音高を変化させる。
【００２９】
また生成部１０１は、話者が交代する状況を再現するための学習データを生成してもよい。例えば、話者がＡ→Ｂ→Ａと変化したときの状況を再現するために、生成部１０１は、Ａに対応するチャンネル間相関を持つ信号とＢに対応するチャンネル間相関を持つ信号とを互い違いに連結し、さらに雑音を重畳した学習データを生成してもよい。これにより、過去に発話したことのある話者が再度発話したときの音声強調の追従速度が向上することが期待できる。
【００３０】
解析部１１１は、入力された学習データを解析し、後段の処理で用いる情報を解析結果として出力する。例えば解析部１１１は、入力された音声信号に対して窓関数付き短時間フーリエ変換を実行し、スペクトログラムを出力する。非特許文献１と同様に、後段の特徴量の算出のため、スペクトログラムの各時間周波数ビンにおける信号／雑音判定をニューラルネットワークに実行させ、判定結果を出力に追加するように構成してもよい。
【００３１】
特徴量算出部１１２は、解析部１１１が出力した情報を元に特徴量を算出する。例えば特徴量算出部１１２は、入力信号に含まれる複数チャンネルの信号間の空間相関を特徴量として算出する。空間相関の例としては、入力全体の空間相関、雑音が多く含まれると推定されるスペクトログラムの領域のみから算出される雑音空間相関、および、信号が多く含まれると推定されるスペクトログラムの領域から算出される信号空間相関が挙げられる。
【００３２】
類似度算出部１１３は、記憶部１４１の各記憶領域に記憶されている特徴量と、特徴量算出部１１２により算出された特徴量（第２特徴量）と、の類似度を算出する。類似度は、例えば、空間相関をベクトル化したベクトルｖと、ｉ番目の記憶領域の内容ｒｉとの複素相関係数Ｒｅａｌ（ｖＨｒｉ）／（｜ｖ｜｜ｒｉ｜）を用いる。記号Ｈはエルミート転置を表す。
【００３３】
空間相関は、例えば周波数ごとに算出される。ベクトルｖは、各周波数に対して算出された特徴量すべてを連結してベクトル化することにより求めてもよい。ベクトルｖは、周波数ごとに算出された空間相関を個別にベクトル化してもよい。後者の場合、記憶部１４１の記憶領域の確保、および、類似度の算出などの後段の処理も、空間相関ごとに独立して実行される。
【００３４】
重み算出部１１４は、上述の消去重み、書き込み重み、および、読み出し重みを算出する。消去重みは、記憶部１４１に記憶された特徴量に対する重み（第１重み）である。消去重みは、例えば上述の忘却機能で用いられる忘却係数に対応する。書き込み重みは、特徴量算出部１１２により算出された特徴量に対する重み（第２重み）である。読み出し重みは、信号処理に用いる特徴量を算出するために記憶領域から読み出した特徴量に対する重み（第３重み）である。
【００３５】
重み算出部１１４は、例えば、類似度算出部１１３により算出された類似度、および、特徴量算出部１１２により算出された特徴量に基づいて重みを算出する。重みの算出には、類似度および特徴量を入力し、各重みを出力するニューラルネットワークを用いることができる。重みを算出するためのモデルはニューラルネットワークに限られない。例えば、ガウシアンプロセスなどの、回帰分析を行う他のモデルを適用してもよい。
【００３６】
重み算出部１１４は、例えば、類似度と空間相関（ベクトル化したベクトルｖ）とを入力とし、消去重み、書き込み重み、および、読み出し重みを表す３つの重みベクトルを出力するニューラルネットワークを用いる。各重みベクトルは、特徴量を記憶する記憶領域の個数と同じ次元数のベクトルである。各重みベクトルの要素は、０から１の範囲の実数値を取る。
【００３７】
本実施形態では、類似度に応じて異なる値となるように重みを算出することができる。例えば、記憶された特徴量と入力された音声信号に対する特徴量とが類似する場合、言い換えると音源が移動しない場合には、消去重みを大きな値とすることにより、忘却機能の効果を抑制することが可能となる。忘却機能の効果を抑制するためには、少なくとも消去重みを類似度に応じて算出すればよく、他の重み（書き込み重み、読み出し重み）は、他の方法で決定してもよい。例えば、他の重みを固定値とする方法、および、消去重みの値に応じて他の重みを算出する方法などを適用してもよい。
【００３８】
更新部１１５は、算出された重みベクトルと、特徴量算出部１１２により算出された特徴量と、を用いて記憶部１４１の各記憶領域に記憶された特徴量を更新する。例えば更新部１１５は、記憶された特徴量に消去重みを乗算し、特徴量算出部１１２により算出された特徴量に書き込み重みを乗算し、各乗算結果を加算することにより、特徴量（第３特徴量）を算出する。このように算出される特徴量は、記憶された特徴量と同じ次元のベクトルであり、記憶された特徴量の個数（記憶領域の個数）と同じ個数となる。更新部１１５は、算出した特徴量により、記憶部１４１に記憶された特徴量を更新する。
【００３９】
なお空間相関にはエルミート対称であるという性質があるため、更新部１１５により算出される特徴量も行列として解釈した場合にはエルミート対称であるという性質を満たす必要がある。エルミート対称である特徴量（空間相関）を用いて、エルミート対称を維持する演算（乗算および加算など）を行って特徴量を算出しているため、更新部１１５により算出される特徴量もエルミート対称であるという性質を満たす。
【００４０】
信号処理部１２１は、更新された特徴量を用いた信号処理を実行する。信号処理は、例えば、複数チャンネルの音声信号のうち一部の音声信号を強調する音声強調処理である。例えば信号処理部１２１は、記憶部１４１から読み出した特徴量（空間相関）を元に信号を強調するフィルタを生成し、生成したフィルタを入力に作用させて出力を得る。フィルタの算出方法としては、例えば非特許文献１に記載されているような最大ＳＮＲ基準による方法を用いることができる。出力した信号に対して、さらにポストフィルタを適用してもよい。例えば非特許文献１にあるようにＢＡＮ（Blind  Analytical  Normalization）を用いることができる。
【００４１】
学習部１２２は、重み算出時に用いるニューラルネットワークのパラメータを学習する。例えば学習部１２２は、学習データを用いて信号処理部１２１による信号処理までの処理を実行し、信号処理の処理結果を評価し、評価結果に応じてニューラルネットワークのパラメータを更新する。学習部１２２は、例えば生成部１０１により生成された学習データを用いて学習処理を実行する。解析部１１１がニューラルネットワークを用いる場合、学習部１２２は、このニューラルネットワークのパラメータも学習してもよい。
【００４２】
学習部１２２は、例えば、参照データ、および、信号処理部１２１による処理結果から評価値を算出し、誤差逆伝播によりニューラルネットワークのパラメータを更新する。参照データが雑音の重畳されていない信号である場合には、出力との２乗誤差を評価値として用いることができる。参照データが信号と雑音である場合には、適用したフィルタから算出できるＳＮ比を評価値として用いることができる。
【００４３】
学習部１２２は、評価値の推移から、学習を終了させるか否かを判定する。終了を判定するための基準（終了基準）としては、例えば過去１００００回の入力から算出された評価値の推移に改善が見られないこと、などの基準が考えられる。終了基準を満たさない場合、学習部１２２は、例えば生成部１０１に新たに学習データを生成するように指令を出力する。終了基準を満たす場合、学習部１２２は、学習したパラメータを記憶部１４１などに記憶し、学習処理を終了する。
【００４４】
上記各部（生成部１０１、解析部１１１、特徴量算出部１１２、類似度算出部１１３、重み算出部１１４、更新部１１５、信号処理部１２１、および、学習部１２２）は、例えば、１または複数のプロセッサにより実現される。例えば上記各部は、ＣＰＵ５１などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のＩＣ（Integrated  Circuit）などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち１つを実現してもよいし、各部のうち２以上を実現してもよい。
【００４５】
記憶部１４１は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭなどの一般的に利用されているあらゆる記憶媒体により構成することができる。記憶部１４１の記憶領域は、物理的に異なる記憶媒体としてもよいし、物理的に同一の記憶媒体の異なる記憶領域として実現してもよい。さらに記憶部１４１の記憶領域のそれぞれは、物理的に異なる複数の記憶媒体により実現してもよい。
【００４６】
次に、このように構成された信号処理装置１００による信号処理について図３を用いて説明する。図３は、第１の実施形態における信号処理の一例を示すフローチャートである。
【００４７】
まず操作装置５５などを介して信号処理の開始が指示されると、生成部１０１は、初期化処理を実行する（ステップＳ１０１）。例えば生成部１０１は、学習処理の各種設定のための記憶領域、および、特徴量を記憶するための記憶領域を、記憶部１４１内に確保する。
【００４８】
また生成部１０１は、記憶部１４１などに事前に記憶された学習データを読み出してＲＡＭ５３内に記憶する。学習データは一度にすべて読み出して記憶してもよいし、逐次的に読み出して記憶してもよい。生成部１０１は、読み出したデータを破棄してもよい。
【００４９】
学習データは、例えば、強調の対象となる信号、および、抑圧の対象となる信号の２種類の信号に分けられる。強調の対象である信号は、典型的には音声（音声信号）である。強調の対象でない信号は、存在しても十分小さいこととする。例えば、ＳＮ比が予め定められた閾値（例えば４０ｄＢ（デシベル））以上となるような学習データを用いる。以降、強調の対象は音声であるものとして説明するが、以下の手続きは強調する対象が音声でなくとも適用できることに注意する。例えば楽器の鳴動音など時間周波数領域で特徴的なパターンを持つ任意の信号に適用可能である。また、音波に限らず、例えば反射されたレーザー光を含む電磁波などを対象にすることもできる。抑圧の対象となる信号を、以下では雑音（雑音信号）と呼ぶ。
【００５０】
音声および雑音は、それぞれ同一とみなせる信号が複数チャンネルに渡って観測され、少なくとも１つのチャンネルの信号は他のチャンネルの信号と異なる。このような信号は、例えばマイクロフォンアレイを使用した収録などによって得られる。音源が存在する領域（部屋など）のインパルス応答を１チャンネルの信号に対して畳み込むなどの方法で多チャンネルの収録をシミュレーションすることによって、このような信号を生成してもよい。また、音声と雑音のチャンネル数は等しいことに注意する。
【００５１】
次に生成部１０１は、事前に準備された学習データから、学習部１２２による学習処理で用いる学習データを生成する（ステップＳ１０２）。例えば生成部１０１は、音声と雑音をランダムに選択し、ランダムなＳＮ比で振幅を調整してすべてのチャンネルで重畳する。生成部１０１は、例えば、予め定められた範囲（例えば−５ｄＢから１０ｄＢの範囲）の一様分布からサンプリングすることでＳＮ比を決定する。このとき、すべてのチャンネルの音声の開始時間を、ランダムな時間だけ共通に遅らせてもよい。例えば雑音が音声より十分に長い場合、生成部１０１は、音声が雑音の範囲に含まれるような時間遅れの範囲を定めた一様分布からサンプリングすることで、遅らせる時間を決定する。
【００５２】
雑音に重畳する音声は複数存在してもよい。その場合、生成部１０１は、互いに重ならない複数の音声を用いる。生成部１０１は、複数の音声に対して共通のインパルス応答を畳み込んでもよい。これにより、同じ位置から発話している状況をシミュレーションすることができる。生成部１０１は、僅かに異なる位置のインパルス応答、例えば２０ｃｍから５０ｃｍ程度移動させた位置からのインパルス応答を畳み込むように構成してもよい。これにより、音源が僅かに移動した状況をシミュレーションすることができる。
【００５３】
生成部１０１は、以上のようにして得られたデータから、音声の含まれない範囲の信号をカットして学習データとしてもよい。
【００５４】
次に解析部１１１は、生成された学習データ（入力信号）を入力し、入力信号に対して信号解析処理を実行する（ステップＳ１０３）。例えば解析部１１１は、入力信号をそれぞれのチャンネルについて時間周波数解析して時間周波数で表された解析結果を出力し、例えばＲＡＭ５３に記憶する。時間周波数解析の方法としては、例えば短時間フーリエ変換、および、ウェーブレット変換などのフィルタバンク分析を用いることができる。
【００５５】
次に解析部１１１は、解析結果をニューラルネットワークＮ１に入力し、ニューラルネットワークＮ１の中間出力と最終出力を例えばＲＡＭ５３に記憶する。入力を与える方法としては、複数チャンネルをまとめて入力してもよいし、チャンネルごとに独立に処理してもよい。チャンネルごとに独立に処理する場合、最終出力を得るために後処理を加える。例えば得られた各チャンネルの出力の中央値を各時間周波数座標について求めるなどの方法が考えられる。
【００５６】
ここで、ニューラルネットワークＮ１の最終出力の次元数は、解析結果のフレームごとの特徴量数の２倍である。ニューラルネットワークＮ１の構成要素としては、フィードフォワード接続、畳み込み接続、および、ＬＳＴＭ（Long  short-term  memory）を用いた構造など、任意の構造を採用できる。Ｂｉｄｉｒｅｃｔｉｏｎａｌ  ＬＳＴＭなどの系列全体の情報を利用するタイプの構造を用いる場合、学習後の実行時にオンライン処理ができないことに注意する。
【００５７】
解析結果の位相情報を破棄して絶対値のみにし、さらに絶対値の自然対数を取った値をニューラルネットワークＮ１に入力してもよい。このように構成することで、入力のダイナミックレンジが狭くなり、後段のパラメータ更新時の安定性を向上させることができる。
【００５８】
解析部１１１は、ニューラルネットワークＮ１の最終出力に対してシグモイド関数を適用する。シグモイド関数は、例えば出力を０〜１の範囲にするために用いられる。同様の機能を有するシグモイド関数以外の関数を用いてもよい。解析部１１１は、シグモイド関数の出力を２つに分離し、片方を音声マスクとし、もう片方を雑音マスクとする。
【００５９】
次に特徴量算出部１１２は、音声および雑音それぞれについて特徴量を算出する（ステップＳ１０４）。例えば特徴量算出部１１２は、解析結果に対してそれぞれのマスクを用いて、音声の空間相関の推定値と、雑音の空間相関の推定値と、を求める。より具体的には、特徴量算出部１１２は、時刻ｔ、周波数ωにおける入力ベクトルｘ（ｔ，ω）に対して、音声マスクｍＳ（ｔ，ω）と雑音マスクｍＮ（ｔ，ω）とを用いて、以下の（１）式により特徴量（空間相関）ξＸを算出する。
ξＸ（ｔ，ω）＝ｍＸ（ｔ，ω）ｘ（ｔ，ω）ｘＨ（ｔ，ω）  ・・・（１）
【００６０】
ξＸおよびｍＸの「Ｘ」は、音声を示す「Ｓ」、または、雑音を示す「Ｎ」のいずれかが設定されることを表す。以下の処理は、音声と雑音で独立に実行される。説明の便宜のため、区別する必要がない場合は「Ｘ」を付した変数名を用いる。入力ベクトルｘ（ｔ，ω）の各要素は、各チャンネルに対応する。
【００６１】
次に類似度算出部１１３は、記憶部１４１に記憶された各特徴量と、ステップＳ１０４で算出された特徴量との類似度を算出する（ステップＳ１０５）。特徴量を記憶する記憶領域の個数をＬとする。Ｌ個の記憶領域に記憶された特徴量を示すＬ個のベクトルをｒ１，ｒ２，・・・，ｒＬと表す。また以下では、Ｌ個のベクトルを並べた行列をＲ＝｛ｒ１，ｒ２，・・・，ｒＬ｝と表す。
【００６２】
例えば類似度算出部１１３は、Ｌ個のベクトルｒ１，ｒ２，・・・，ｒＬのそれぞれと、特徴量ξＸをベクトル化したｖＸとの間の相関係数を類似度として算出する。相関係数は、上述の複素相関係数Ｒｅａｌ（ｖＨＸｒｉ）／（｜ｖＸ｜｜ｒｉ｜）（１≦ｉ≦Ｌ）などを用いることができる。またｖＸは、周波数ごとに算出される特徴量（ξＳまたはξＮ）をすべて連結してベクトル化することにより生成してもよいし、適当に分割してそれぞれ管理してもよい。例えば、周波数ごとにベクトル化してｖＸを生成してもよい。記憶部１４１に記憶するＬ個のベクトルｒ１，ｒ２，・・・，ｒＬそれぞれは、ｖＸの次元数と等しいベクトルとする。
【００６３】
次に重み算出部１１４は、算出された類似度、および、特徴量を用いて重みを算出する（ステップＳ１０６）。例えば重み算出部１１４は、Ｌ個の類似度と、特徴量をベクトル化したｖＸと、をニューラルネットワークＮ２に入力する。ニューラルネットワークＮ２は次元数Ｌの３つの重みベクトルＷＤ、ＷＷ、ＷＲを出力する。各重みベクトルの各要素は０以上の実数であり、各要素の総和は１である。重みベクトルＷＤ、ＷＷ、ＷＲは、それぞれ消去重み、書き込み重み、読み出し重みに対応する。
【００６４】
ｖＸの次元数が固定であるか、任意であるかはニューラルネットワークＮ２の構成に依存する。例えば全結合のフィードフォワード型の構造のように入力と出力の次元数が固定される場合、ｖＸの次元数は学習時および音声強調時で共通の固定された値を用いる。一方、畳み込みネットワークのような、ｖＸの次元数に依存せず計算可能な構造を採用した場合、ｖＸの次元数は任意である。任意の場合であっても、記憶領域に記憶された各特徴量を新たに初期化しない限り、続けて入力されるｖＸの次元数は前に入力したものと等しい。
【００６５】
次に更新部１１５は、算出された重みを用いて、記憶部１４１に記憶された特徴量を更新する（ステップＳ１０７）。例えば更新部１１５は、記憶されたＬ個のベクトルを含む行列Ｒを、以下の（２）式により更新する。Ｄｉａｇ（・）は、ベクトルを対角要素に持つ対角行列を表す。
Ｒ←ＲＤｉａｇ（ＷＤ）＋ｖＸＷＨＷ  ・・・（２）
【００６６】
更新部１１５は、更新されたＲを用いて出力φＸを以下の（３）式により算出する。
φＸ＝ＷＨＲＲ  ・・・（３）
【００６７】
以上の手順は、記憶部１４１に記憶する特徴量の個数を１（Ｌ＝１）とし、入力に依存しない固定の値を重み（忘却係数）に用いたとき、以下の（４）式と定数倍を除いて一致する。（４）式は、空間相関のオンライン推定の忘却係数付きの推定方法を表す。αは固定された忘却係数を表す。従って、以上の手順は、固定の忘却係数を用いる既存の方法を特別な場合に含むことがわかる。
Ｒ←αＲ＋ｖＸ  ・・・（４）
【００６８】
本実施形態では、以上の手順で重みを算出することにより、既存の場合と比較し、入力に適応して重みを柔軟に制御することができる。
【００６９】
出力φＸは、記憶部１４１に記憶する各特徴量が空間相関とみなせる場合、空間相関の推定値とみなせる。このためには、記憶部１４１に記憶する情報が空間相関の推定値とみなせるように初期化してある必要がある。例えば、ランダムな複素ベクトルｃを用いて、ｃｃＨを各記憶領域に十分な回数加算するなどの方法で初期化した初期値は、この条件を満たす。ｃの次元数は入力のチャンネル数に等しい。十分な回数とは、例えば、ｃの次元数の２倍程度である。複素ベクトルのサンプリング方法としては、例えば実部と虚部を−１から１の範囲の一様分布からサンプリングする方法を用いることができる。
【００７０】
このようにして、音声および雑音それぞれに対応する次元数の等しい出力φＳおよびφＮが得られる。
【００７１】
信号処理部１２１は、これらの出力を用いた信号処理を実行する（ステップＳ１０８）。例えば信号処理部１２１は、出力φＳ、φＮに対して最大ＳＮＲ基準でフィルタｆを設計する。これは一般化固有値問題により解くことができる。例えば信号処理部１２１は、非特許文献１に記載された方法によりフィルタを生成することができる。信号処理部１２１は、生成したフィルタを混合音声の時間周波数表現に対して適用し、必要ならばさらにＢＡＮを適用して、雑音抑圧音声の時間周波数表現を出力する。
【００７２】
次に学習部１２２は、信号処理部１２１の処理結果を用いてニューラルネットワークのパラメータを更新する（ステップＳ１０９）。例えば学習部１２２は、信号処理部１２１により算出された雑音抑制音声の時間周波数表現に対して、ＳＮ比を算出する。音声のみが含まれた信号をｓ（ｔ，ω）、雑音のみが含まれた信号をｎ（ｔ，ω）として、以下の（５）式によりＳＮ比ＥＣＮが求められる。
ＥＣＮ＝｜（ｆＨｓ）／（ｆＨｎ）｜  ・・・（５）
【００７３】
学習部１２２は、算出されたＳＮ比の微分を求め、例えば誤差逆伝搬法によってニューラルネットワークＮ１およびＮ２のパラメータを更新する。更新するとき、微分値をそのまま用いる代わりにＡｄａｍなどを適用して修正を施した値を利用してもよい。
【００７４】
ニューラルネットワークＮ１のパラメータ更新を安定させるため、ＳＮ比を反映した正解マスクと、算出された音声マスクｍＳ（ｔ，ω）または雑音マスクｍＮ（ｔ，ω）のクロスエントロピー誤差を評価値として追加し、パラメータを更新してもよい。
【００７５】
正解マスクは、例えば、ＳＮ比が上限値（例えば１０ｄＢ）以上であれば音声マスクを１とし、ＳＮ比が下限値（例えば−１０ｄＢ）以下であれば雑音マスクを１とし、それ以外では０にするという基準で作成される。
【００７６】
学習部１２２は、以上の処理を学習が収束するまで繰り返す。学習部１２２は、例えば、終了条件が満たされたか否かを判定する（ステップＳ１１０）。終了条件はどのような条件であってもよいが、例えば、以下のような条件を適用できる。
・更新の回数が一定値（例えば１００万回）に達したときに収束したとみなす。
・更新の回数が一定値（例えば１００万回）に達するごとに、評価データの平均ＳＮ比に対してＳＮ比が改善されたかを評価する。所定回数（例えば５回）に渡って改善が見られないときに収束したとみなす。学習部１２２は、例えば、学習データの一部を学習には利用せずに分離して、評価データとして利用する。
【００７７】
終了条件が満たされていない場合（ステップＳ１１０：Ｎｏ）、ステップＳ１０３に戻り処理が繰り返される。終了条件が満たされた場合（ステップＳ１１０：Ｙｅｓ）、学習部１２２は、更新したパラメータを例えば記憶部１４１に記憶する。
【００７８】
次に、特徴量を算出および更新する処理についてさらに説明する。図４は、特徴量を算出および更新する処理の流れを説明するための図である。
【００７９】
解析部１１１および特徴量算出部１１２により、入力信号から特徴量が算出される。特徴量は、例えば複数チャンネルの信号間の空間相関を表す空間相関行列により表される。特徴量は、ｖＸにベクトル化される。
【００８０】
一方、記憶部１４１には、ｖＸと同じ次元数のＬ個のベクトルｒ１，ｒ２，・・・，ｒＬが記憶される。記憶部１４１全体としては、Ｌ個のベクトルを並べた行列Ｒ＝｛ｒ１，ｒ２，・・・，ｒＬ｝を記憶する。
【００８１】
類似度算出部１１３は、ベクトルｖＸと、Ｌ個のベクトルそれぞれとの類似度を算出する。算出された類似度は、ニューラルネットに入力され、ニューラルネットが重みを出力する。重みの次元数は、Ｌ個のベクトルに対応してＬとなる。出力される重みは、少なくとも記憶された特徴量に対する重み（消去重み）を含む。
【００８２】
更新部１１５は、出力された重み、算出された特徴量、および、記憶部１４１に記憶された特徴量を用いて、記憶部１４１に記憶された特徴量を更新するとともに、更新後の特徴量を用いて、信号処理のための特徴量φＸ（φＳおよびφＮ）を算出する。
【００８３】
このように、第１の実施形態にかかる信号処理装置では、記憶された特徴量に対する重み（消去重み）を用いるため、従来の忘却機能と同様の機能を実現できる。さらに、算出された特徴量と、記憶された特徴量との類似度に応じて重みを算出するため、信号処理に用いる情報（特徴量）をより高精度に算出可能となる。
【００８４】
（第２の実施形態）
第２の実施形態にかかる信号処理装置は、第１の実施形態の信号処理装置などによりパラメータが学習されたモデルを用いて信号処理（例えば音声強調処理）を実行する装置である。第１の実施形態の信号処理装置（学習処理を実行する装置）の機能と、本実施形態の信号処理装置の機能とを両方備えるように構成してもよい。
【００８５】
図５は、第２の実施形態にかかる信号処理装置１００−２のハードウェア構成例を示す説明図である。
【００８６】
信号処理装置１００−２は、ＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、記憶装置６４、操作装置６５、入力装置６６、および、出力装置６７を含み、それらがバスを介して接続されている。
【００８７】
ＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、記憶装置６４、および、操作装置６５の機能は、信号処理装置１００と同様であるため説明を省略する。
【００８８】
入力装置６６は、例えば音声を入力するマイクロフォンアレイである。入力装置６６は、マイクロフォンアレイを構成する複数のマイクから複数の独立した信号を取得する。
【００８９】
出力装置６７は、各種情報を出力するための装置である。例えば出力装置６７は、スピーカ、イヤホン、および、ヘッドホンなどの１つまたは複数の音声出力装置である。音声出力装置は、電気信号を空気の振動に変換して出力する。出力装置６７は、ディスプレイであってもよい。ディスプレイは、例えば音声認識結果を表示する。
【００９０】
図６は、第２の実施形態にかかる信号処理装置１００−２の構成の一例を示すブロック図である。図６に示すように、信号処理装置１００−２は、受付部１３１−２と、解析部１１１と、特徴量算出部１１２と、類似度算出部１１３と、重み算出部１１４と、更新部１１５と、信号処理部１２１と、記憶部１４１と、を備えている。
【００９１】
第２の実施形態では、生成部１０１および学習部１２２が削除され、受付部１３１−２が追加されたことが第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる信号処理装置１００のブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【００９２】
受付部１３１−２は、信号処理の対象となる情報の入力を受け付け、解析部１１１に出力する。例えば受付部１３１−２は、マイクロフォンアレイにより取得された多チャンネルの波形データである入力信号を受け付ける。受付部１３１−２は、入力信号をＡＤ（アナログデジタル）変換によりデジタル化し、デジタル化した信号を、例えば記憶部１４１内の作業領域に記憶する。受付部１３１−２は、デジタル化した信号を解析部１１１に出力する。
【００９３】
解析部１１１以降の処理は、第１の実施形態と同様である。信号処理部１２１は、受け付けられた波形データに対する処理結果を出力する。例えば信号処理部１２１は、雑音抑圧音声の時間周波数表現（スペクトル）を出力する。信号処理部１２１は、後段の処理で用いる形式に変換した処理結果を出力してもよい。例えば信号処理部１２１は、強調処理後のスペクトルに対し、合成窓を適用したオーバーラップアドにより出力波形に変換して出力してもよい。後段に音声認識システムが接続されている場合は、波形に変換せず、直接スペクトルを出力してもよい。
【００９４】
次に、このように構成された第２の実施形態にかかる信号処理装置１００−２による信号処理について図７を用いて説明する。図７は、第２の実施形態における信号処理の一例を示すフローチャートである。
【００９５】
まず操作装置６５などを介して信号処理の開始が指示されると、受付部１３１−２は、初期化処理を実行する（ステップＳ２０１）。例えば受付部１３１−２は、学習されたパラメータのための記憶領域、および、特徴量を記憶するための記憶領域を、記憶部１４１内に確保する。
【００９６】
受付部１３１−２は、例えばマイクロフォンアレイにより取得された複数チャンネルの信号の入力を受け付ける（ステップＳ２０２）。受付部１３１−２は、信号をＡＤ変換によりデジタル化し、デジタル化した波形を記憶部１４１に記憶する。
【００９７】
ステップＳ２０３からステップＳ２０８までは、第１の実施形態にかかる信号処理装置１００におけるステップＳ１０３からステップＳ１０８までと同様の処理なので、その説明を省略する。
【００９８】
ステップＳ２０８の信号処理により、信号処理の処理結果（例えば強調音声のスペクトル）が得られる。以上の手順が、動作の終了が指示されるまで繰り返される。例えば受付部１３１−２は、操作装置６５などを介して動作の終了が指示されたか否かを判定する（ステップＳ２０９）。動作の終了が指示されていない場合（ステップＳ２０９：Ｎｏ）、次に入力された信号に対してステップＳ２０２から処理が繰り返される。動作の終了が指示された場合（ステップＳ２０９：Ｙｅｓ）、信号処理が終了する。
【００９９】
終了時に、記憶部１４１の各記憶領域に記憶された特徴量を、他の不揮発性の記憶媒体（例えば記憶装置６４）に記憶してもよい。そして、この記憶媒体に記憶した特徴量を、次回の起動時に初期設定値として読み出し、記憶部１４１に設定してもよい。これにより、記憶部１４１の記憶領域の初期化処理を省略することができる。
【０１００】
このように、第２の実施形態にかかる信号処理装置では、第１の実施形態と同様の手法を、音声強調処理などの信号処理時に適用可能となる。
【０１０１】
以上説明したとおり、第１から第２の実施形態によれば、信号処理に用いる情報（特徴量）をより高精度に算出可能となる。
【０１０２】
上記実施形態の信号処理装置（信号処理装置１００、信号処理装置１００−２）で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【０１０３】
信号処理装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【０１０４】
さらに、信号処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、信号処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１０５】
信号処理装置で実行されるプログラムは、コンピュータを上述した信号処理装置の各部として機能させうる。このコンピュータは、ＣＰＵがコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１０６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０７】
１００、１００−２  信号処理装置
１０１  生成部
１１１  解析部
１１２  特徴量算出部
１１３  類似度算出部
１１４  重み算出部
１１５  更新部
１２１  信号処理部
１２２  学習部
１３１−２  受付部
１４１  記憶部
【図１】
2019128402.tif 000003
【図２】
2019128402.tif 000004
【図３】
2019128402.tif 000005
【図４】
2019128402.tif 000006
【図５】
2019128402.tif 000007
【図６】
2019128402.tif 000008
【図７】
2019128402.tif 000009