(57)【要約】【課題】複数の音が混在した音声信号から、特定音源のコマンドを高精度に分離する装置、方法を提供する。【解決手段】複数音源からの音を含む学習用音声信号に基づいて各音源対応の基底周波数Ｂからなる学習データを生成し、この各音源対応の基底周波数Ｂを結合した全基底周波数Ｂａｌｌを生成する。さらに、入力音声信号に対して、時間周波数分析を実行して時間周波数分析結果を生成する。この入力音声信号に対する時間周波数分析結果に対して、全基底周波数Ｂａｌｌを適用した基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する。最後に生成した基底アクティビティＨの識別処理を実行してコマンド識別を行う。これらの学習データに基づく音源分離処理により、高精度なコマンド識別が実現される。【選択図】図１
2012163918.tif 000002
【特許請求の範囲】
【請求項１】
入力音声信号の時間周波数分析を実行する時間周波数分析部と、
複数音源からの音を含む学習用音声信号に基づいて予め生成した学習データであり、各音源対応の基底周波数Ｂからなる学習データを入力し、前記各音源対応の基底周波数Ｂを結合した全基底周波数Ｂａｌｌを適用して、前記時間周波数分析部から入力する入力音声信号に対する時間周波数分析結果の基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する基底分解部と、
前記基底分解部から、前記基底アクティビティＨを入力し、入力した基底アクティビティＨの識別処理を実行してコマンド識別を行うコマンド識別部を有する音声信号処理装置。
【請求項２】
前記学習データは、
前記コマンドとして識別する音に対応する基底周波数を持つ目的音と、識別対象としない非目的音とを含む学習用音声信号に基づいて生成される学習データであり、
前記基底分解部は、
前記目的音対応の基底周波数と、前記非目的音対応の基底周波数を結合した全基底周波数Ｂａｌｌを適用して、前記時間周波数分析部から入力する入力音声信号に対する時間周波数分析結果の基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する請求項１に記載の音声信号処理装置。
【請求項３】
前記時間周波数分析部は、
前記入力音声信号の時間周波数分析を行い、時間周波数スペクトルを生成し、さらに前記時間周波数スペクトルに基づくパワースペクトルを算出し、該パワースペクトルを前記時間周波数分析結果として、前記基底分解部に提供する請求項１に記載の音声信号処理装置。
【請求項４】
前記基底分解部は、
前記入力音声信号に基づいて生成されたパワースペクトルを、前記時間周波数分析部から入力し、入力パワースペクトルに対して、前記全基底周波数Ｂａｌｌを適用して基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する請求項３に記載の音声信号処理装置。
【請求項５】
前記コマンド識別部は、
前記基底分解部から、前記基底アクティビティＨを入力し、入力した基底アクティビティＨと、予め設定した閾値との比較処理を行ってコマンドと非コマンドを判定する処理を実行する請求項１に記載の音声信号処理装置。
【請求項６】
前記音声信号処理装置は、
複数音源からの音を含む学習用音声信号に基づいて、各音源対応の基底周波数Ｂからなる学習データを生成する学習処理部を有し、
前記基底分解部は、
前記学習処理部の生成した学習データを適用して、前記入力音声信号の基底アクティビティＨを生成する請求項１に記載の音声信号処理装置。
【請求項７】
音声コマンドの正負判定に必要な特徴量を予め算出する学習処理部と、
前記学習処理部において学習された特徴量を用いて音源分離処理を行う解析処理部を備えた音声信号処理装置。
【請求項８】
前記学習処理部において算出する音声コマンドの正負判定に必要な特徴量は、前記解析処理部における音声コマンド認識処理において実行する音声コマンド対応の目的音と音声コマンド非対応の非目的音との判別処理である正負判定処理に必要な特徴量である請求項７に記載の音声信号処理装置。
【請求項９】
音声信号処理装置において、入力音声信号からのコマンド識別処理を行う音声信号処理方法であり、
時間周波数分析部が、入力音声信号の時間周波数分析を実行する時間周波数分析ステップと、
基底分解部が、複数音源からの音を含む学習用音声信号に基づいて予め生成した学習データであり、各音源対応の基底周波数Ｂからなる学習データを入力し、前記各音源対応の基底周波数Ｂを結合した全基底周波数Ｂａｌｌを適用して、前記時間周波数分析部から入力する入力音声信号に対する時間周波数分析結果の基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する基底分解ステップと、
コマンド識別部が、前記基底分解ステップにおいて生成した前記基底アクティビティＨを入力し、入力した基底アクティビティＨの識別処理を実行してコマンド識別を行うコマンド識別ステップを実行する音声信号処理方法。
【請求項１０】
音声信号処理装置において、入力音声信号からのコマンド識別処理を行う音声信号処理方法であり、
学習処理部が、音声コマンドの正負判定に必要な特徴量を予め算出する学習処理ステップと、
解析処理部が、前記学習処理ステップにおいて学習された特徴量を用いて音源分離処理を行う解析処理ステップを実行する音声信号処理方法。
【請求項１１】
音声信号処理装置において、入力音声信号からのコマンド識別処理を実行させるプログラムであり、
時間周波数分析部に。入力音声信号の時間周波数分析を実行させる時間周波数分析ステップと、
基底分解部に、複数音源からの音を含む学習用音声信号に基づいて予め生成した学習データであり、各音源対応の基底周波数Ｂからなる学習データを入力し、前記各音源対応の基底周波数Ｂを結合した全基底周波数Ｂａｌｌを適用して、前記時間周波数分析部から入力する入力音声信号に対する時間周波数分析結果の基底分解を行い、入力音声信号に対する基底アクティビティＨを生成させる基底分解ステップと、
コマンド識別部に、前記基底分解ステップにおいて生成した前記基底アクティビティＨを入力し、入力した基底アクティビティＨの識別処理を実行してコマンド識別を行わせるコマンド識別ステップを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声信号処理装置、および音声信号処理方法、並びにプログラムに関する。さらに、詳細には複数の信号が混合された信号を例えば音源単位で分離する処理を実行する音声信号処理装置、および音声信号処理方法、並びにプログラムに関する。
【０００２】
本発明は、声や雑音などの様々な音源からの音が混合して入力される環境において、例えばユーザの声に対応する音声コマンドなど、特定の音源からの音を選択分離する信号処理装置、および信号処理方法、並びにプログラムに関する。
【背景技術】
【０００３】
昨今の情報処理機器や家電機器などの装置では、音声入力部としてのマイクを備え、マイクから入力するユーザの声を認識して、認識結果に基づいて様々な動作を実行するものがある。すなわちユーザの発する言葉を解析して音声コマンドとして解釈し、そのコマンドに従って処理を実行するものである。
【０００４】
音声コマンドによる処理を実行する装置においては、正確な音声認識を行うことが要請されるが、様々な雑音やノイズの発生している環境では、音声入力部としてのマイクを介して入力する音信号に、ユーザの声の他、様々な音源からのノイズが混在した信号となってしまう。
【０００５】
このような混合信号からユーザの声を抽出するため、多くの装置ではマイクを介した入力信号を音源分離処理を実行する信号処理部に入力し、ユーザの声を分離する処理を行う。その後、分離抽出されたユーザの声に基づいてコマンド解釈が行われる。
【０００６】
なお、音源分離処理について開示した従来技術としては、例えば特許文献１（特開２００６−２３８４０９号公報）や、特許文献２（特開２００８−１３４２９８号公報）がある。これらの特許文献は、独立成分分析（ＩＣＡ：Ｉｎｄｅｐｅｎｄｅｎｔ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ）に基づく音源分離処理を開示している。
【０００７】
しかし、音源分離処理における問題点として、簡易な構成では分離処理機能が不十分であり、一方、高い分離機能を実現するためには処理負荷や処理時間が増大し、装置としてのコストも大きくなるという問題点がある。一般的な家電機器等に備えるためには、処理負荷やコストを低く抑えることが要求される。また、従来の音源分離処理は、前段の分離処理と後段の認識処理が別のモジュールとして独立していたため、認識に必要な特徴量の情報を用いて分離処理を行うなどの全体最適化を行うことが困難であるという問題があった。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−２３８４０９号公報
【特許文献２】特開２００８−１３４２８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明は、このような状況に鑑みてなされたものであり、簡易な構成で実現でき、かつ全体最適化が行われ、より精度の高い音源分離を実現する音声信号処理装置、および音声信号処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の第１の側面は、
入力音声信号の時間周波数分析を実行する時間周波数分析部と、
複数音源からの音を含む学習用音声信号に基づいて予め生成した学習データであり、各音源対応の基底周波数Ｂからなる学習データを入力し、前記各音源対応の基底周波数Ｂを結合した全基底周波数Ｂａｌｌを適用して、前記時間周波数分析部から入力する入力音声信号に対する時間周波数分析結果の基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する基底分解部と、
前記基底分解部から、前記基底アクティビティＨを入力し、入力した基底アクティビティＨの識別処理を実行してコマンド識別を行うコマンド識別部を有する音声信号処理装置にある。
【００１１】
さらに、本発明の音声信号処理装置の一実施態様において、前記学習データは、前記コマンドとして識別する音に対応する基底周波数を持つ目的音と、識別対象としない非目的音とを含む学習用音声信号に基づいて生成される学習データであり、前記基底分解部は、前記目的音対応の基底周波数と、前記非目的音対応の基底周波数を結合した全基底周波数Ｂａｌｌを適用して、前記時間周波数分析部から入力する入力音声信号に対する時間周波数分析結果の基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する。
【００１２】
さらに、本発明の音声信号処理装置の一実施態様において、前記時間周波数分析部は、前記入力音声信号の時間周波数分析を行い、時間周波数スペクトルを生成し、さらに前記時間周波数スペクトルに基づくパワースペクトルを算出し、該パワースペクトルを前記時間周波数分析結果として、前記基底分解部に提供する。
【００１３】
さらに、本発明の音声信号処理装置の一実施態様において、前記基底分解部は、前記入力音声信号に基づいて生成されたパワースペクトルを、前記時間周波数分析部から入力し、入力パワースペクトルに対して、前記全基底周波数Ｂａｌｌを適用して基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する。
【００１４】
さらに、本発明の音声信号処理装置の一実施態様において、前記コマンド識別部は、前記基底分解部から、前記基底アクティビティＨを入力し、入力した基底アクティビティＨと、予め設定した閾値との比較処理を行ってコマンドと非コマンドを判定する処理を実行する。
【００１５】
さらに、本発明の音声信号処理装置の一実施態様において、前記音声信号処理装置は、複数音源からの音を含む学習用音声信号に基づいて、各音源対応の基底周波数Ｂからなる学習データを生成する学習処理部を有し、前記基底分解部は、前記学習処理部の生成した学習データを適用して、前記入力音声信号の基底アクティビティＨを生成する。
【００１６】
さらに、本発明の第２の側面は、
音声コマンドの正負判定に必要な特徴量を予め算出する学習処理部と、
前記学習処理部において学習された特徴量を用いて音源分離処理を行う解析処理部を備えた音声信号処理装置にある。
【００１７】
さらに、本発明の音声信号処理装置の一実施態様において、前記学習処理部において算出する音声コマンドの正負判定に必要な特徴量は、前記解析処理部における音声コマンド認識処理において実行する音声コマンド対応の目的音と音声コマンド非対応の非目的音との判別処理である正負判定処理に必要な特徴量である。
【００１８】
さらに、本発明の第３の側面は、
音声信号処理装置において、入力音声信号からのコマンド識別処理を行う音声信号処理方法であり、
時間周波数分析部が、入力音声信号の時間周波数分析を実行する時間周波数分析ステップと、
基底分解部が、複数音源からの音を含む学習用音声信号に基づいて予め生成した学習データであり、各音源対応の基底周波数Ｂからなる学習データを入力し、前記各音源対応の基底周波数Ｂを結合した全基底周波数Ｂａｌｌを適用して、前記時間周波数分析部から入力する入力音声信号に対する時間周波数分析結果の基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する基底分解ステップと、
コマンド識別部が、前記基底分解ステップにおいて生成した前記基底アクティビティＨを入力し、入力した基底アクティビティＨの識別処理を実行してコマンド識別を行うコマンド識別ステップを実行する音声信号処理方法にある。
【００１９】
さらに、本発明の第４の側面は、
音声信号処理装置において、入力音声信号からのコマンド識別処理を行う音声信号処理方法であり、
学習処理部が、音声コマンドの正負判定に必要な特徴量を予め算出する学習処理ステップと、
解析処理部が、前記学習処理ステップにおいて学習された特徴量を用いて音源分離処理を行う解析処理ステップを実行する音声信号処理方法にある。
【００２０】
さらに、本発明の第５の側面は、
音声信号処理装置において、入力音声信号からのコマンド識別処理を実行させるプログラムであり、
時間周波数分析部に。入力音声信号の時間周波数分析を実行させる時間周波数分析ステップと、
基底分解部に、複数音源からの音を含む学習用音声信号に基づいて予め生成した学習データであり、各音源対応の基底周波数Ｂからなる学習データを入力し、前記各音源対応の基底周波数Ｂを結合した全基底周波数Ｂａｌｌを適用して、前記時間周波数分析部から入力する入力音声信号に対する時間周波数分析結果の基底分解を行い、入力音声信号に対する基底アクティビティＨを生成させる基底分解ステップと、
コマンド識別部に、前記基底分解ステップにおいて生成した前記基底アクティビティＨを入力し、入力した基底アクティビティＨの識別処理を実行してコマンド識別を行わせるコマンド識別ステップを実行させるプログラムにある。
【００２１】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な画像処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００２２】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２３】
本発明の一実施例の構成によれば、複数の音が混在した音声信号から、特定音源のコマンドを高精度に分離する装置、方法が実現される。具体的には、例えば、複数音源からの音を含む学習用音声信号に基づいて各音源対応の基底周波数Ｂからなる学習データを生成し、この各音源対応の基底周波数Ｂを結合した全基底周波数Ｂａｌｌを生成する。さらに、入力音声信号に対して、時間周波数分析を実行して時間周波数分析結果を生成する。この入力音声信号に対する時間周波数分析結果に対して、全基底周波数Ｂａｌｌを適用した基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する。最後に生成した基底アクティビティＨの識別処理を実行してコマンド識別を行う。
これらの学習データに基づく音源分離処理により、高精度なコマンド識別が実現される。
【図面の簡単な説明】
【００２４】
【図１】音声信号処理装置の構成例について説明する図である。
【図２】時間周波数分析部において実行する時間周波数分析処理について説明する図である。
【図３】１つの行列を２つの行列に分解する処理例について説明する図である。
【図４】図１に示す上段の学習処理部１１０において基底を学習した後、下段の解析処理部１２０において学習された基底を結合して使用する例について説明する図である。
【発明を実施するための形態】
【００２５】
以下、図面を参照しながら本発明の音声信号処理装置、および音声信号処理方法、並びにプログラムの詳細について説明する。説明は以下の項目に従って行う。
１．音声信号処理装置の全体構成について
２．音声信号処理装置の各構成部の処理について
２．１．時間周波数分析部について
２．２．基底学習部について
２．３．基底分解部について
２．４．コマンド識別部について
【００２６】
［１．音声信号処理装置の全体構成について］
まず、図１を参照して、この発明の実施の形態に係る音声信号処理装置の全体構成について説明する。
図１は、この発明の実施の形態に係る音声信号処理装置１００の一例を示す図である。図１に示す音声信号処理装置１００は、ユーザの言葉を入力して、ユーザの言葉から装置に対する要求である音声コマンドの認識処理を実行する装置である。
【００２７】
図１に示す音声信号処理装置は、音声コマンドの正負判定に必要な特徴量を予め算出する学習処理部１１０と、学習処理部１１０において学習された特徴量を用いて音源分離処理を行う解析処理部１２０を備えた構成である。学習処理部１１０において算出する音声コマンドの正負判定に必要な特徴量は、例えば解析処理部１２０における音声コマンド認識処理において実行する音声コマンド対応の目的音と音声コマンド非対応の非目的音との判別処理である正負判定処理に必要な特徴量である。
【００２８】
図１に示すように、音声信号処理装置１００は、上段の学習処理部１１０と、下段の解析処理部１２０を有する。
上段の学習処理部１１０は、予め目的音声と非目的音声の特徴量空間における基底学習を行い、その学習結果を学習データとして解析処理部１２０に提供する。
【００２９】
解析処理部１２０は、学習処理部１１０から提供される目的音と非目的音の特徴量空間における基底学習結果を利用して、実際に解析対象となるユーザの声を含む音を入力し、入力音から目的とするユーザの声を分離し、分離結果に基づくコマンド識別処理を行う。
【００３０】
図１に示すように、学習処理部１１０は、時間周波数分析部１１１と、基底学習部１１２を有する。
また解析処理部１２０は、時間周波数分析部１２１と、基底分解部１２２と、コマンド識別部１２３を有する。
【００３１】
学習処理部１１０の処理と、解析処理部１２０の処理の概要について説明する。
学習処理部１１０は、目的音と非目的音からなる学習用音声信号５１を入力し、この学習用音声信号５１に対して、時間周波数分析部１１１において時間周波数分析を行う。さらに、基底学習部１１２が、時間周波数分析結果を用いて学習処理を実行し、学習結果として、目的音の基底周波数行列Ｗ１の要素である基底周波数Ｂ１（ｋ，ｐ）と、目的外音の基底周波数行列Ｗ２の要素である基底周波数Ｂ２（ｋ，ｐ）を生成する。これを学習データとして、解析処理部１２０に提供する。
【００３２】
解析処理部１２０は、抽出対象とするコマンドを含むユーザの声（＝目的音）やノイズ（＝非目的音）を含む入力音声信号８１を入力する。時間周波数分析部１２１は、入力音声信号８１に対する時間周波数分析を実行し、分析結果を基底分解部１２２に提供する。
【００３３】
基底分解部１２２は、時間周波数分析部１２１から入力する時間周波数分析結果と、学習処理部１１０の基底学習部１１２から入力する学習データ、すなわち、目的音と非目的音に対応する基底周波数データを適用して、基底分解を行い、基底アクティビティＨ（ｐ，ｌ）を得る。
【００３４】
さらに、コマンド識別部１２３が、基底分解部１２２から供給された基底アクティビティＨ（ｐ，ｌ）に対する識別処理を行い、コマンド８２を取得する。このコマンドが識別結果としてのコマンド８２は、コマンドに基づくデータ処理を実行する次段のデータ処理部に提供されることになる。
以下、各構成部の処理の詳細について説明する。
【００３５】
［２．音声信号処理装置の各構成部の処理について］
（２．１．時間周波数分析部について）
図１に示すように、時間周波数分析部は、学習処理部１１０と解析処理部１２０の双方の処理部に設定されている。
図１に示す学習処理部１１０の時間周波数分析部１１１は、目的音と非目的音からなる学習用音声信号５１を入力し、この学習用音声信号５１に対して時間周波数分析を行う。
また、解析処理部１２０の時間周波数分析部１２１は、抽出対象とするコマンドを含むユーザの声（＝目的音）や、コマンド抽出対象とならないユーザの声以外のノイズ（＝非目的音）を含む入力音声信号８１に対して時間周波数分析を行う。
【００３６】
なお、学習処理部１１０において学習対象として入力する学習用音声信号５１は、解析処理部１２０の入力する音声信号と同様のユーザの声（＝目的音）と、ユーザの声以外のノイズ（＝非目的音）を含む音声信号に設定することが好ましい。
【００３７】
学習処理部１１０の時間周波数分析部１１１と、解析処理部１２０の時間周波数分析部１２１において実行する時間周波数分析処理について、図２を参照して説明する。
時間周波数分析部１１１と、時間周波数分析部１２１は、入力する音信号の時間周波数情報を分析する。
【００３８】
マイク等を介して入力する入力信号をｘとする。図２の最上段に入力信号ｘの例を示す。横軸が時間（またはサンプル番号）、縦軸が振幅である。
入力信号ｘは、様々な音源からの音が混合した信号である。
学習処理部１１０の時間周波数分析部１１１に対する入力信号ｘは、目的音と非目的音からなる学習用音声信号５１である。
また、解析処理部１２０の時間周波数分析部１２１に対する入力信号ｘは、抽出対象とするコマンドを含むユーザの声（＝目的音）やノイズ（＝非目的音）を含む入力音声信号８１である。
【００３９】
まず、入力信号ｘから固定サイズのフレーム分割を行い、入力フレーム信号ｘ（ｎ，ｌ）を得る。
図２のステップＳ１０１の処理である。
図２に示す例では、フレーム分割のサイズをＮとし、各フレームのシフト量（ｓｆ）をフレームの大きさＮの５０％とし、各フレームを重複させた設定としている。
【００４０】
さらに、入力フレーム信号ｘ（ｎ，ｌ）に対して、所定の窓関数：ｗを乗算して窓関数適用信号ｗｘ（ｎ，ｌ）を得る。窓関数は例えばハミング窓が適用可能である。
窓関数適用信号ｗｘ（ｎ，ｌ）は、以下の（式１）によって示される。
【００４１】
【数１】
2012163918.tif 000003
・・・・・（式１）
【００４２】
上記式（式１）において、
ｘ：入力信号、
ｎ：時間インデックス、ｎ＝０，…，Ｎ−１、ｌ＝０，…，Ｌ−１
（Ｎはフレームの大きさ）
ｌ：フレーム番号、ｌ＝０，…，Ｌ−１
（Ｌは全フレーム数）
ｗ：窓関数、
ｗｘ：窓関数適用信号、
である。
【００４３】
なお、窓関数：ｗは、ハミング窓の他、ハニング窓やブラックマンハリス窓などのその他の窓関数も使用可能である。
フレームの大きさＮは、例えば、０．０２ｓｅｃ相当のサンプル数（Ｎ＝サンプリング周波数ｆｓ＊０．０２）である。ただし、それ以外の大きさでも構わない。
また、図２に示す例では、フレームのシフト量（ｓｆ）はフレームの大きさ（Ｎ）の５０％とし、各フレームを重複した設定としているが、それ以外のシフト量でも構わない。
【００４４】
上記（式１）に従って得られた窓関数適用信号ｗｘ（ｎ，ｌ）に対して、以下に示す（式２）に従って時間周波数分析を行い時間周波数スペクトルＸ（ｋ，ｌ）を得る。
【００４５】
【数２】
2012163918.tif 000004
・・・・・（式２）
【００４６】
上記式（式２）において、
ｗｘ：窓関数適用信号、
ｊ：純虚数、
Ｍ：ＤＦＴ（離散フーリエ変換）のポイント数、
ｋ：周波数インデックス、
Ｘ：時間周波数スペクトル、
である。
【００４７】
窓関数適用信号ｗｘ（ｎ，ｌ）に対する時間周波数分析処理としては、例えば、ＤＦＴ（離散フーリエ変換）による周波数分析が適用される。その他、ＤＣＴ（離散コサイン変換）やＭＤＣＴ（修正離散コサイン変換）などの他の周波数分析を用いてもよい。また、必要であれば、ＤＦＴ（離散フーリエ変換）のポイント数Ｍに合わせて適切に零詰めを行ってもよい。ＤＦＴのポイント数Ｍは、Ｎ以上の２のべき乗の値としているが、それ以外のポイント数でも構わない。
【００４８】
次に、上記式（式２）に従って得られた時間周波数スペクトルＸ（ｋ，ｌ）から、以下に示す（式３）に従って、パワースペクトルＰＸ（ｋ，ｌ）を得る。
【００４９】
【数３】
2012163918.tif 000005
・・・・・（式３）
【００５０】
上記式（式３）において、
Ｘ：時間周波数スペクトル、
ｃｏｎｊ：複素共役、
ＰＸ：パワースペクトル、
である。
【００５１】
この処理は、図２に示すステップＳ１０２の処理に対応する。
図１に示す学習処理部１１０の時間周波数分析部１１１に対する入力信号ｘは、目的音と非目的音からなる学習用音声信号５１である。学習処理部１１０の時間周波数分析部１１１は、この目的音と非目的音からなる学習用音声信号５１に対する時間周波数分析結果として得られるパワースペクトルＰＸ（ｋ，ｌ）を基底学習部１１２へ供給する。
【００５２】
また、解析処理部１２０の時間周波数分析部１２１に対する入力信号ｘは、抽出対象とするコマンドを含むユーザの声（＝目的音）やノイズ（＝非目的音）を含む入力音声信号８１である。解析処理部１２０の時間周波数分析部１２１は、この抽出対象とするコマンドを含むユーザの声（＝目的音）やノイズ（＝非目的音）を含む入力音声信号８１に対する時間周波数分析結果として得られるパワースペクトルＰＸ（ｋ，ｌ）を基底分解部１２２へ供給する。
【００５３】
図２に示すステップＳ１０３には、フレーム毎に算出したパワースペクトルＰＸ（ｋ，ｌ）を行列として表現した場合の行列の要素を示している。
周波数（周波数ビン）を行、
時間（フレーム）を列、
としたＭ行Ｌ列の行列として、行列の各要素を示したものである。
【００５４】
（２．２．基底学習部について）
上述したように、図１に示す学習処理部１１０の時間周波数分析部１１１に対する入力信号ｘは、目的音と非目的音からなる学習用音声信号５１である。学習処理部１１０の時間周波数分析部１１１は、この目的音と非目的音からなる学習用音声信号５１に対する時間周波数分析結果として得られるパワースペクトルＰＸ（ｋ，ｌ）を学習データとして基底学習部１１２へ供給する。
【００５５】
基底学習部１１２では、時間周波数分析部１１１より供給されたパワースペクトルＰＸ（ｋ，ｌ）を、Ｍ行Ｌ列の行列として捉え、それを新たな二つの行列に分解する。
【００５６】
Ｍ行Ｌ列の行列とは、図２に示すステップＳ１０３に示す行列である。
基底学習部１１２は、このＭ行Ｌ列の行列形式のパワースペクトルＰＸ（ｋ，ｌ）を新たな二つの行列に分解する。
この行列分解には、例えば、ＮＭＦ（非負値行列分解）を適用する。
分解数をＰとして、基底数Ｐ個の基底周波数Ｂ（ｋ，ｐ）と、その各々に対応する基底数Ｐ個の基底アクティビティＨ（ｐ，ｌ）を得る。
なお、ｐは基底インデックスを表し、ｐ＝０，…，Ｐ−１である。
【００５７】
本実施例の場合、
基底周波数Ｂ（ｋ，ｐ）は、入力信号の時間周波数情報を表すパワースペクトルＰＸ（ｋ，ｌ）の周波数方向の性質を表し、
基底アクティビティＨ（ｐ，ｌ）は時間方向の性質を表している。
【００５８】
入力信号ｘに対する分解数をＰとし、以下の（式４）によって定義される誤差関数Ｅを最小化することで、基底周波数Ｂ（ｋ，ｐ）と基底アクティビティＨ（ｐ，ｌ）を得る。
【００５９】
【数４】
2012163918.tif 000006
・・・・・（式４）
【００６０】
上記式（式４）において、
Ｅ：誤差関数
Ｖ：パワースペクトル行列、
Ｗ：基底周波数行列、
Ｈ：基底アクティビティ行列、
である。
【００６１】
なお、パワースペクトルＰＸ（ｋ，ｌ）は、図２の（Ｓ１０３）に示すようなＫ行Ｌ列の行列Ｖに対応する。
基底周波数Ｂ（ｋ，ｐ）はＫ行Ｐ列の行列Ｗ、
基底アクティビティＨ（ｐ，ｌ）はＰ行Ｌ列の行列Ｈ、
で表す。
【００６２】
１つの行列を２つの行列に分解する処理について図３を参照して説明する。
図３に示す例は、
パワースペクトルＰＸ（ｋ，ｌ）を示すＭ行Ｌ列の１つの行列Ｖ２０１を、
基底周波数Ｂ（ｋ，ｐ）を示すＭ行Ｐ列の行列Ｗ２０２と、
基底アクティビティＨ（ｐ，ｌ）をＰ行Ｌ列の行列Ｈ２０３、
これらの２つの行列に分解した例を示している。
【００６３】
上記（式４）で示される誤差関数Ｅを勾配法により最小化することにより以下の（式５）に示す更新式を得る。
【００６４】
【数５】
2012163918.tif 000007
・・・・・（式５）
【００６５】
なお、上記（式４）で示される誤差関数Ｅを勾配法により最小化する場合、例えば予測結果と観測結果との差の算出にユークリッド距離を用いる。その他、ＫＬダイバージェンスやその他の距離なども利用可能である。
【００６６】
基底学習部１１２は、上記処理によって得られた基底周波数行列Ｗの要素である基底周波数Ｂ（ｋ，ｐ）を、解析処理部１２０の基底分解部１２２へ供給する。
【００６７】
すなわち、図１に示す学習処理部１１０では、まず、時間周波数分析部１１１が、目的音と非目的音からなる学習用音声信号５１に対する時間周波数分析を実行し、時間周波数分析結果としてパワースペクトルＰＸ（ｋ，ｌ）を生成する。
次に、基底学習部１１２が、目的音と非目的音からなる学習用音声信号５１に対する時間周波数分析結果であるパワースペクトルＰＸ（ｋ，ｌ）に基づいて、上記（式５）に示す更新式によって基底周波数行列Ｗの要素である基底周波数Ｂ（ｋ，ｐ）を算出し、算出した基底周波数Ｂ（ｋ，ｐ）を解析処理部１２０の基底分解部１２２へ供給する。
【００６８】
なお、基底学習部１１２が算出する基底周波数Ｂ（ｋ，ｐ）は、
（１）目的音の基底周波数行列Ｗ１の要素である基底周波数Ｂ１（ｋ，ｐ）
（２）非目的音の基底周波数行列Ｗ２の要素である基底周波数Ｂ２（ｋ，ｐ）
である。
【００６９】
このように、図１に示す学習処理部１１０は、目的音の基底周波数行列Ｗ１の要素である基底周波数Ｂ１（ｋ，ｐ）と、非目的音の基底周波数行列Ｗ２の要素である基底周波数Ｂ２（ｋ，ｐ）を、学習用音声信号５１に基づく学習データとして生成し、解析処理部１２０に提供する。
【００７０】
ただし、基底数Ｐの値は、それぞれの音源で同じである必要はなく、適宜変化させてよい。図４は、図１に示す上段の学習処理部１１０において基底を学習した後、下段の解析処理部１２０において学習された基底が結合されて使用される概念を説明する図である。
【００７１】
図４に示す例は、
（１）目的音について、
パワースペクトルＰＸを示す１つの行列Ｖ＿１，３１１を、
基底周波数Ｂ（ｋ，ｐ）を示す行列Ｗ＿１，３１２と、
基底アクティビティＨ（ｐ，ｌ）を示す行列Ｈ＿１，３１３、
これらの２つの行列への分解例。
【００７２】
（２）非目的音について、
パワースペクトルＰＸを示す１つの行列Ｖ＿２，３２１を、
基底周波数Ｂ（ｋ，ｐ）を示す行列Ｗ＿２，３２２と、
基底アクティビティＨ（ｐ，ｌ）を示す行列Ｈ＿２，３２３、
これらの２つの行列への分解例。
【００７３】
（３）目的音と非目的音の混合信号について、
パワースペクトルＰＸを示す１つの行列Ｖ＿３，３３１を、
基底周波数Ｂ（ｋ，ｐ）を示す行列Ｗ＿３，３３２と、
基底アクティビティＨ（ｐ，ｌ）を示す行列Ｈ＿３，３３３、
これらの２つの行列への分解例。
これらを示している。
【００７４】
図１に示す上段の学習処理部１１０における基底学習により、図４（１），（２）のデータが生成される。
下段の解析処理部１２０の基底分解部１２２は、これら図４（１），（２）のデータを適用して、図４（３）に示す目的音と非目的音の混合信号から得られるパワースペクトルＰＸを示す１つの行列Ｖ＿３，３３１から得られる基底周波数Ｂ（ｋ，ｐ）を示す行列Ｗ＿３，３３２と、基底アクティビティＨ（ｐ，ｌ）を示す行列Ｈ＿３，３３３について、目的音対応の行列（ａ）と、非目的音対応の行列（ｂ）とに分離することを行うものである。
【００７５】
（２．３．基底分解部について）
次に、図１に示す解析処理部１２０の基底分解部１２２の処理について説明する。
基底分解部１２２は、前段の時間周波数分析部１２１において、入力信号８１に対する時間周波数分析によって生成されたパワースペクトルＰＸ（ｋ，ｌ）を入力する。
さらに、基底分解部１２２は、学習処理部１１０の基底学習部１１２から、学習済みの様々な音源の基底周波数Ｂ（ｋ，ｐ）を入力する。
【００７６】
基底分解部１２２は、学習処理部１１０の基底学習部１１２から、学習済みの様々な音源の個別の基底周波数Ｂ（ｋ，ｐ）に基づいて、これらを結合させた全基底周波数Ｂａｌｌ（ｋ，ｐ）を生成する。
この処理は、図４に示す（３）の処理に相当する。
基底分解部１２２は、個別の基底周波数Ｂ（ｋ，ｐ）を結合させた全基底周波数Ｂａｌｌ（ｋ，ｐ）を用いて基底分解を行い、基底アクティビティＨ（ｐ，ｌ）を得る。ただし、ｐ＝０，…，Ｐ＿ａｌｌ−１である。Ｐ＿ａｌｌは様々な音源毎に定められた基底数Ｐの数の総和をとったものである。
【００７７】
なお、パワースペクトルＰＸ（ｋ，ｌ）をＫ行Ｌ列の行列Ｖで表し、全基底周波数Ｂａｌｌ（ｋ，ｐ）をＫ行Ｐ＿ａｌｌ列の行列Ｗａｌｌで表し、基底アクティビティＨ（ｐ，ｌ）をＰ＿ａｌｌ行Ｌ列の行列Ｈで表す。
図４に示すように、全基底周波数Ｂａｌｌ（ｋ，ｐ）は学習処理部１１０において既に学習されているため、勾配法による更新は行わず、基底アクティビティＨ（ｐ，ｌ）のみを更新する。
基底アクティビティＨ（ｐ，ｌ）の更新処理は、以下の（式６）に従って行われる。
【００７８】
【数６】
2012163918.tif 000008
・・・・・（式６）
【００７９】
基底分解部１２２の算出した基底アクティビティＨ（ｐ，ｌ）は、基底分解部１２２からコマンド識別部１２３へ供給される。
【００８０】
（２．４．コマンド識別部について）
次に、図１に示す解析処理部１２０のコマンド識別部１２３の処理について説明する。
コマンド識別部１２３では、基底分解部１２２より供給された基底アクティビティＨ（ｐ，ｌ）に対する識別処理を行い、コマンド結果を得る。例えば、以下の（式７）に従って、閾値比較を実行してコマンド結果を得る。
【００８１】
【数７】
2012163918.tif 000009
・・・・・（式７）
【００８２】
なお、上記の（式７）は、予め設定した閾値との比較処理を行ってコマンドと非コマンドを判定する処理を行っているが、この方法に限らず、例えば一般化線形判別など活性化関数を伴う非線形な識別を行ってもよい。また、上記（式７）では閾値処理の結果をＡＮＤ演算しているがＯＲ演算などその他の論理演算を適用してもよい。
コマンド識別部１２３は、上記の（式７）に従った判定処理により得られたコマンド情報を、図１に示すコマンド出力８２とする。
【００８３】
このコマンド出力８２が、例えばコマンドに応じたデータ処理を実行するデータ処理部に入力され、コマンドに従って様々な処理が実行される。
【００８４】
なお、上記の実施例では、図１に示す音声信号処理装置１００として、学習処理部１１０と、解析処理部１２０の２つの処理部を有する構成例として説明したが、学習処理部１１０の学習結果として得られる学習データを予め記憶部に格納する構成としてもよい。すなわち、記憶部に格納された学習データを解析処理部１２０が必要に応じて取得して入力信号に対する処理を行う構成としてもよい。この構成の場合は、学習処理部を省略した解析処理部と学習結果としての学習データを格納した記憶部によって音声信号処理装置を構成することか可能である。
【００８５】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【００８６】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【００８７】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【００８８】
以上、説明したように、本発明の一実施例の構成によれば、複数の音が混在した音声信号から、特定音源のコマンドを高精度に分離する装置、方法が実現される。具体的には、例えば、複数音源からの音を含む学習用音声信号に基づいて各音源対応の基底周波数Ｂからなる学習データを生成し、この各音源対応の基底周波数Ｂを結合した全基底周波数Ｂａｌｌを生成する。さらに、入力音声信号に対して、時間周波数分析を実行して時間周波数分析結果を生成する。この入力音声信号に対する時間周波数分析結果に対して、全基底周波数Ｂａｌｌを適用した基底分解を行い、入力音声信号に対する基底アクティビティＨを生成する。最後に生成した基底アクティビティＨの識別処理を実行してコマンド識別を行う。
これらの学習データに基づく音源分離処理により、高精度なコマンド識別が実現される。
【符号の説明】
【００８９】
５１  学習用音声信号
８１  入力音声信号
８２  出力音声信号
１００  音声信号処理装置
１１０  学習処理部
１１１  時間周波数分析部
１１２  基底学習部
１２０  解析処理部
１２１  時間周波数分析部
１２２  基底分解部
１２３  コマンド識別部
【図１】
2012163918.tif 000010
【図２】
2012163918.tif 000011
【図３】
2012163918.tif 000012
【図４】
2012163918.tif 000013