(57)【特許請求の範囲】
【請求項１】
集音装置から取得する信号に基づいて、該信号に含まれる発話区間を検出する発話区間検出部と、
前記発話区間検出部によって検出された発話区間の信号と、記憶部に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上であるテンプレートが存在するか否かを判定し、
前記一致度が閾値以上のテンプレートが存在する場合には、該テンプレートの信号と前記発話区間の信号とを平均化した値によって前記テンプレートの信号を更新すると共に、更新したテンプレートの更新回数をインクリメントし、
前記一致度が閾値未満の場合には、前記発話区間の信号をテンプレートの信号として前記記憶部に記憶すると共に、記憶したテンプレートの更新回数を初期値に設定するテンプレート更新部と、
前記記憶部に記憶された更新回数が所定回数以上のテンプレートを利用して前記集音装置が取得する信号から雑音成分を除去する雑音除去部と、
前記雑音除去部が雑音成分を除去した発話区間の信号を基にして、音声認識を実行する音声認識部と
を有することを特徴とする音声認識装置。
【請求項２】
前記記憶部は、動作体の駆動状態を含むメタ情報とテンプレートとを対応付けて記憶し、前記テンプレート更新部は、前記発話区間の信号に対応するメタ情報を基にして、発話区間のメタ情報と類似のメタ情報に対応づけられたテンプレートを検索し、検索したテンプレートの信号と発話区間の信号との一致度が閾値以上か否かを判定することを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記雑音除去部は、前記集音装置から取得した信号と前記記憶部に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上となるテンプレートを選択し、選択したテンプレートを利用して信号の雑音成分を除去することを特徴とする請求項１または２に記載の音声認識装置。
【請求項４】
前記雑音除去部は、前記集音装置から取得した信号の一部と、前記記憶部に記憶された複数のテンプレートの信号の一部とをそれぞれ比較し、一致度が閾値以上となるテンプレートを選択することを特徴とする請求項３に記載の音声認識装置。
【請求項５】
前記雑音除去部は、前記集音装置から取得した時点で得られるメタ情報と類似のメタ情報に対応づけられたテンプレートを前記記憶部から検索し、検索したテンプレートの信号と集音装置から取得した信号との一致度が閾値以上か否かを判定することを特徴とする請求項３または４に記載の音声認識装置。
【請求項６】
前記雑音除去部は、複数のテンプレートの信号を位相に基づいて合成し、前記集音装置が集音した信号から合成したテンプレートの信号を除去することで、雑音成分を除去することを特徴とする請求項３、４または５に記載の音声認識装置。
【請求項７】
コンピュータが実行する音声認識方法であって、
集音装置から取得する信号に基づいて、該信号に含まれる発話区間の信号を検出し、
検出した前記発話区間の信号と、記憶装置に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上であるテンプレートが存在するか否かを判定し、
前記一致度が閾値以上のテンプレートが存在する場合には、該テンプレートの信号と前記発話区間の信号とを平均化した値によって前記テンプレートの信号を更新すると共に、更新したテンプレートの更新回数をインクリメントし、
前記一致度が閾値未満の場合には、前記発話区間の情報をテンプレートの信号として前記記憶装置に記憶すると共に、記憶したテンプレートの更新回数を初期値に設定し、
前記記憶装置に記憶された更新回数が所定回数以上のテンプレートを利用して前記発話区間の雑音成分を除去し、音声認識を実行することを特徴とする音声認識方法。
【請求項８】
コンピュータに、
集音装置から取得する信号に基づいて、該信号に含まれる発話区間の信号を検出し、
検出した前記発話区間の信号と、記憶装置に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上であるテンプレートが存在するか否かを判定し、
前記一致度が閾値以上のテンプレートが存在する場合には、該テンプレートの信号と前記発話区間の信号とを平均化した値によって前記テンプレートの信号を更新すると共に、更新したテンプレートの更新回数をインクリメントし、
前記一致度が閾値未満の場合には、前記発話区間の情報をテンプレートの信号として前記記憶装置に記憶すると共に、記憶したテンプレートの更新回数を初期値に設定し、
前記記憶装置に記憶された更新回数が所定回数以上のテンプレートを利用して前記発話区間の雑音成分を除去し、音声認識を実行させる音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置等に関する。
【背景技術】
【０００２】
マイク等から入力された入力音声をテキストに変換する音声認識技術が存在する。例えば、この音声認識技術は、ロボットに各種のコマンドを入力する場合に利用される。音声認識技術を利用することにより、利用者は音声によってロボットを制御することができる。
【０００３】
しかし、ロボットが動作すると、ロボット自身の動作に伴う動作音が発生する。また、ロボットが設置される環境中において人工的な雑音が発生する場合がある。このため、動作音や人工的な雑音の影響により、音声認識を精度良く実行することができないという問題がある。
【０００４】
上述の問題を解消するべく、各種の技術が存在する。例えば、従来技術１では、動作音のテンプレートを予め生成しておき、音声認識を実行する場合に、テンプレートを用いて入力音声から動作音を取り除くことで、音声認識の誤認識を低減させる。
【０００５】
また、従来技術２では、動作音を取得するための特別なマイクロホンを利用する。この従来技術２では、マイクロホンから取得した動作音を用いて入力音声から動作音を取り除くことで、音声認識の誤認識を低減させる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−３２３９００号公報
【特許文献２】特開２００８−１２２９２７号公報
【特許文献３】特開平０６−２４２７９５号公報
【特許文献４】特開２００２−１１６７９４号公報
【特許文献５】特開２００１−１５７９８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術では、デバイスコストを削減しつつ、外部環境の変化に対応して音声認識を効率よく実行することができないという問題があった。
【０００８】
上記の従来技術１では、音声認識時に発生し得る動作音を予測してテンプレートを生成しておくことが前提となっている。このため、外部環境が変化し、予測したものと異なる動作音が発生する環境下では、この都度新たなテンプレートを準備する作業が行われる。したがって、音声認識を行う環境に適応するための作業コストがかかり、効率的な運用ができない。
【０００９】
また、従来技術２では、特別なマイクロホンを利用する場合に、マイクロホンからの入力信号を取得する専用のチャネルを、音声認識を行うデバイス側で用意することになる。更に、このマイクロホンは、利用者の音声を取り込まないような特別な処理機能および構造となっているため、汎用的なマイクと比較して高価なものとなる。したがって、特別なマイクロホンを利用して音声認識を行うと、コスト増大の原因となる。
【００１０】
開示の技術は、上記に鑑みてなされたものであって、デバイスコストを削減しつつ、外部環境の変化に対応して音声認識を精度良く実行することができる音声認識装置、音声認識方法および音声認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本願の開示する技術は、一つの態様において、発話区間検出部、テンプレート更新部、雑音除去部、音声認識部を有する。発話区間検出部は、集音装置から取得する信号に基づいて、該信号に含まれる発話区間を検出する。テンプレート更新部は、発話区間検出部によって検出された発話区間の信号と、記憶部に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上であるテンプレートが存在するか否かを判定する。また、テンプレート更新部は、一致度が閾値以上のテンプレートが存在する場合には、該テンプレートの信号と発話区間の信号とを平均化した値によってテンプレートの信号を更新する。また、テンプレート更新部は、一致度が閾値未満の場合には、発話区間の信号をテンプレートとして記憶部に記憶する。雑音除去部は、記憶部に記憶されたテンプレートを利用して集音装置が取得する信号から雑音成分を除去する。音声認識部は、雑音除去部が雑音成分を除去した発話区間の信号を基にして、音声認識を実行する。
【発明の効果】
【００１２】
本願の開示する技術の一つの態様によれば、デバイスコストを削減しつつ、外部環境の変化に対応して音声認識を精度良く実行することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例にかかる音声認識装置の構成を示す図である。
【図２】図２は、発話区間を検出する処理を説明するための図である。
【図３】図３は、テンプレートのデータ構造を示す図である。
【図４】図４は、テンプレートのデータの内容の一例を示す図（１）である。
【図５】図５は、テンプレートのデータの内容の一例を示す図（２）である。
【図６】図６は、候補テンプレート信号の一例を示す図である。
【図７】図７は、発話区間の信号の一例を示す図（１）である。
【図８】図８は、発話区間の信号の一例を示す図（２）である。
【図９】図９は、発話区間の信号の一例を示す図（３）である。
【図１０】図１０は、図６の候補テンプレート信号と図７の発話区間の信号との一致度を示す図である。
【図１１】図１１は、図６の候補テンプレート信号と図８の発話区間の信号との一致度を示す図である。
【図１２】図１２は、図６の候補テンプレート信号と図９の発話区間の信号との一致度を示す図である。
【図１３】図１３は、テンプレート検出部の構成を示す図である。
【図１４】図１４は、音声認識装置の処理手順を示すフローチャートである。
【図１５】図１５は、オンラインテンプレート収集部の処理手順を示すフローチャートである。
【図１６】図１６は、実施例にかかる音声認識装置を構成するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本願の開示する音声認識装置、音声認識方法および音声認識プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１５】
図１は、本実施例にかかる音声認識装置の構成を示す図である。図１に示すように、この音声認識装置１００は、マイク１１０、ＡＤＣ（Analog  Digital  Converter）部１２０、ディレイ部１３０を有する。また、音声認識装置１００は、オンラインテンプレート収集部１４０、テンプレート選択部１５０、雑音除去部１６０、音声認識部１７０を有する。この音声認識装置１００は、コントローラ２００に接続する。例えば、コントローラ２００は、図示しないロボットに搭載される。
【００１６】
マイク１１０は、マイク１１０周辺の音を集音する装置である。マイク１１０は、集音した信号をＡＤＣ部１２０に出力する。
【００１７】
ＡＤＣ部１２０は、マイク１１０から取得した信号をＡＤ（Analog  Digital）変換する処理部である。ＡＤＣ部１２０は、ＡＤ変換後の信号をディレイ部１３０、オンラインテンプレート収集部１４０、テンプレート選択部１５０に出力する。
【００１８】
ディレイ部１３０は、ＡＤＣ部１２０から取得した信号を一旦保持し、所定の時間が経過した後に、信号を雑音除去部１６０に出力する。すなわち、ディレイ部１３０は、ＡＤＣ部１２０から取得した信号の出力を遅らせることによって、後述するテンプレート選択部１５０がテンプレートを検索するために要する時間を確保する。例えば、テンプレート選択部１５０が、テンプレートを検索するのに５フレーム遅れる場合には、ディレイ部１３０は、信号を５フレーム分たけ遅延させる。
【００１９】
オンラインテンプレート収集部１４０は、ＡＤＣ部１２０から取得した信号に基づいて、信号に含まれる雑音成分を学習し、雑音成分の信号を格納したテンプレートを生成する処理部である。ここで、雑音成分は、ロボット自身の動作により発生する動作音や、ロボットが配置される環境中において発生する人工的な音を示す環境音が含まれる。オンラインテンプレート収集部１４０の詳細な説明は後述する。
【００２０】
テンプレート選択部１５０は、ＡＤＣ部１２０から取得した信号と一致度が高いテンプレートを選択し、選択したテンプレートを雑音除去部１６０に出力する処理部である。テンプレート選択部１５０の詳細な説明は後述する。
【００２１】
雑音除去部１６０は、ディレイ部１３０から取得した信号からテンプレートの信号を除去することで、信号に含まれる雑音成分を除去する処理部である。雑音除去部１６０は、雑音成分を除去した信号を音声認識部１７０に出力する。
【００２２】
音声認識部１７０は、信号に含まれる音声をテキストに変換する処理部である。例えば、音声認識部１７０は、所定のテキストと信号の周波数特性とを対応づけたマッチングテーブルを保持しており、このマッチングテーブルと信号の特徴とを比較して、信号に含まれる音声のテキストを判定する。なお、音声認識部１７０は、その他の音声認識技術を利用して、信号に含まれる音声をテキストに変換してもよい。音声認識部１７０は、テキストの情報をコントローラ２００に出力する。
【００２３】
コントローラ２００は、音声認識装置１００から取得するテキストに基づいて、ロボットの移動制御を行う処理部である。ここでは、ロボットの図示を省略する。コントローラ２００は、例えば、テキストの内容が「前進」の場合には、ロボットの動作部を駆動させ、ロボットを前進させる。
【００２４】
また、コントローラ２００は、ロボットの駆動状態を監視し、駆動状態を識別するメタ情報を定期的に生成する。コントローラ２００は、生成したメタ情報を音声認識装置１００のテンプレート収集部１４０、テンプレート選択部１５０に出力する。
【００２５】
ここで、メタ情報は、動作音および環境音に応じて種別が区別される。コントローラ２００は、ロボットが動作している場合に、動作音のメタ情報を生成する。コントローラ２００は、ロボットが停止している場合に、環境音のメタ情報を生成する。
【００２６】
ロボットが動作している場合に生成されるメタ情報の生成処理の一例を説明する。まず、コントローラ２００は、メタ情報の種別に「動作音」を設定する。そして、コントローラ２００は、例えば、モータ等のロボットの各駆動部や、タイマにアクセスし、動作しているモータの種別、動作速度、動作時間の情報等を取得し、メタ情報に格納する。なお、コントローラ２００は、メタ情報の各情報に優先順位を設定しても良い。例えば、優先順位１位「モータの種別」、優先順位２位「動作の速度」、優先順位３位「動作時間」とする。
【００２７】
ロボットが停止している場合に生成されるメタ情報の生成処理の一例を説明する。まず、コントローラ２００は、メタ情報の種別に「環境音」を設定する。そして、コントローラ２００は、例えば、ロボットが有する各種センサを含む各種処理部にアクセスし、ロボットの位置、方向、これらの情報を取得した時間の情報等を取得し、メタ情報に格納する。なお、コントローラ２００は、メタ情報の各情報に優先順位を設定しても良い。例えば、優先順位１位「位置」、優先順位２位「方向」、優先順位３位「時間」とする。
【００２８】
次に、図１に示したオンラインテンプレート収集部１４０について詳細に説明する。図１に示すように、このオンラインテンプレート収集部１４０は、発話区間検出部１４１、テンプレートメモリ１４２、テンプレート更新部１４３を有する。
【００２９】
発話区間検出部１４１は、ＡＤＣ部１２０から取得した信号に含まれる発話区間を検出し、検出した発話区間の信号をテンプレート更新部１４３に出力する。例えば、発話区間検出部１４１は、信号の振幅の大きさが所定の大きさ以上となる状態が所定の時間以上継続する区間が存在する場合に、かかる区間を発話区間として検出する。
【００３０】
図２は、発話区間を検出する処理を説明するための図である。図２の縦軸は、信号の振幅を示し、横軸は時間経過に対応するサンプル数を示す。図２に示す例では、区間１０ａ、１０ｃにおいて、信号の振幅が所定の大きさ未満となっており、区間１０ｂにおいて、信号が所定の大きさ以上となっているものとする。そして、区間１０ｂの時間間隔が所定の時間以上となっているものとする。この場合には、発話区間検出部１４１は、区間１０ｂを発話区間と判定する。発話区間検出部１４１は、発話区間１０ｂの信号をテンプレート更新部１４３に出力する。
【００３１】
テンプレートメモリ１４２は、複数のテンプレートを記憶する記憶部である。このテンプレートは、雑音成分の信号と、該雑音成分の信号が発生した時点において、コントローラ２００が生成したメタ情報とを対応づけて格納する。
【００３２】
図３は、テンプレートのデータ構造を示す図である。図３に示すように、このテンプレートは、メタ情報部と、データ部とを有する。メタ情報部は、メタ情報を格納する領域である。データ部は、雑音成分の信号を格納する領域である。
【００３３】
メタ情報部は、種別と、複数の検索候補１〜３と、その他メタ情報と、更新回数を有する。このうち種別は、メタ情報が、動作音に対応するものか、環境音に対応するものかを区別する情報である。複数の検索候補は、コントローラ２００によって生成されたメタ情報のうち、一部のメタ情報が、各検索候補に一つずつ格納される。メタ情報のうち、検索候補に格納されなかった残りのメタ情報が、その他メタ情報に格納される。更新回数は、テンプレートが更新された回数を示す。
【００３４】
ここで、テンプレートのデータの内容の一例を具体的に示す。図４および図５は、テンプレートのデータの内容の一例を示す図である。図４に示すテンプレートにおいて、種別には「動作音」が格納され、検索候補１には「モータ２」が格納され、検索候補２には「速度」が格納される。検索候補３には「動作時間」が格納され、その他メタ情報には「内部状態」が格納され、更新回数は「１０」となる。
【００３５】
図５に示すテンプレートにおいて、種別には「環境音」が格納され、検索候補１には「位置」が格納され、検索候補２には「方向」が格納される。検索候補３には「取得時間」が格納され、その他メタ情報は「内部状態」が格納される。また、更新回数は「５」となる。
【００３６】
図１の説明に戻る。テンプレート更新部１４３は、発話区間の信号によって、テンプレートメモリ１４２を更新する処理部である。
【００３７】
まず、テンプレートメモリ１４２が初期状態の場合のテンプレート更新部１４３の処理について説明する。テンプレート更新部１４３は、発話区間の信号と、この信号を取得したタイミングでコントローラ２００から取得するメタ情報とを対応づけて、テンプレートを新規に生成し、生成したテンプレートをテンプレートメモリ１４２に記憶する。
【００３８】
ここで、テンプレート更新部１４３は、テンプレートを新規に生成する場合には、発話区間の信号を、テンプレートのデータ部に格納する。また、テンプレート更新部１４３は、メタ情報の種別が動作音の場合には、テンプレートの種別を動作音とする。テンプレート更新部１４３は、メタ情報の種別が環境音の場合には、テンプレートの種別を環境音とする。
【００３９】
また、テンプレート更新部１４３は、メタ情報に含まれる各情報のうち、優先順位に基づいて、テンプレートの検索候補１〜３に情報を格納し、残りの情報を、その他メタ情報に格納する。
【００４０】
例えば、メタ情報に格納された情報が優先順位１位「モータ２」、優先順位２位「速度」、優先順位３位「動作時間」となっている場合には、テンプレート更新部１４３は、検索候補１に「モータ２」を格納する。また、テンプレート更新部１４３は、検索候補２に「速度」、検索候補３に「動作時間」を格納する。また、テンプレート更新部１４３は、更新回数を初期値の「１」に設定する。
【００４１】
続いて、テンプレートメモリ１４２が初期状態ではない場合のテンプレート更新部１４３の処理について説明する。テンプレート更新部１４３は、コントローラ２００から取得したメタ情報に対応するテンプレートを、テンプレートメモリ１４２から検索する。そして、テンプレート更新部１４３は、検索したテンプレートのデータ部の信号と発話区間の信号との一致度が閾値以上の場合に、データ部の信号と、発話区間の信号とを平均化したものを新たなデータ部の信号とすることで、テンプレートを更新する。
【００４２】
テンプレート更新部１４３が、コントローラ２００から取得したメタ情報に対応するテンプレートを検索する処理について説明する。まず、テンプレート更新部１４３は、コントローラ２００から取得したメタ情報の種別と同一の種別となるテンプレートを検索する。
【００４３】
続いて、テンプレート更新部１４３は、メタ情報と、検索したテンプレートの検索候補１〜３、その他メタ情報とを比較し、一致する情報の数が所定数以上となるテンプレートを検索する。テンプレート更新部１４３が検索したテンプレートは、更新対象となるテンプレートの候補となる。以下の説明において、更新対象となるテンプレートの候補を候補テンプレートと表記する。
【００４４】
なお、テンプレート更新部１４３は、メタ情報に対応するテンプレートが存在しない場合には、テンプレートメモリ１４２が初期状態の場合と同様にして、新規にテンプレートを生成し、生成したテンプレートをテンプレートメモリ１４２に記憶する。
【００４５】
候補テンプレートを検索した後に、テンプレート更新部１４３は、候補テンプレートのデータ部の信号と、発話区間の信号との一致度を相互相関によって算出する。例えば、テンプレート更新部１４３は、式（１）を用いて一致度を算出する。式（１）で求められる一致度の値は、正規化された相互相関の値となる。以下の説明において、候補テンプレートのデータ部の信号を候補テンプレート信号と表記する。
【００４６】
【数１】
0005724361.tif 000002
【００４７】
式（１）において、関数ｆは、候補テンプレート信号に対応する。関数ｇは、発話区間の信号に対応する。Ｎは、相関範囲に対応する。また、式（１）によって求められる一致度の値は、−１から１の値をとる。一致度が１に近づくほど、候補テンプレート信号と、発話区間の信号とがより一致していることとなる。
【００４８】
テンプレート更新部１４３は、一致度と所定の閾値とを比較する。例えば、閾値を「０．７」とする。この閾値の値は、利用者が任意に変更可能である。テンプレート更新部１４３は、発話区間の信号との一致度が閾値以上となる信号を格納する候補テンプレートを、更新対象のテンプレートとして判定する。
【００４９】
ここで、候補テンプレート信号と発話区間の信号との一致度の具体例を示す。図６は、候補テンプレート信号の一例を示す図である。図７〜図９は、発話区間の信号の一例を示す図である。図６〜図９の縦軸は、信号の振幅を示し、横軸は時間経過に対応するサンプル数を示す。
【００５０】
図１０は、図６の候補テンプレート信号と図７の発話区間の信号との一致度を示す図である。図１０の縦軸は一致度に対応し、横軸は時間経過に対応するサンプル数を示す。図１０に示すように、候補テンプレート信号と発話区間の信号とは一致度が高く、サンプル数「１４０００」付近で、一致度が閾値２０ａを超えている。このような場合には、候補テンプレートを、更新対象のテンプレートとして判定する。
【００５１】
図１１は、図６の候補テンプレート信号と図８の発話区間の信号との一致度を示す図である。図１１の縦軸は一致度に対応し、横軸は時間経過に対応するサンプル数を示す。図１１に示すように、候補テンプレート信号と発話区間の信号とは一致度が高く、サンプル数「１６０００」付近で、一致度が閾値２０ａを超えている。このような場合には、候補テンプレートを、更新対象のテンプレートとして判定する。
【００５２】
図１２は、図６の候補テンプレート信号と図９の発話区間の信号との一致度を示す図である。図１２の縦軸は一致度に対応し、横軸は時間経過に対応するサンプル数を示す。図１２に示すように、候補テンプレート信号と発話区間の信号とは一致度が低く、一致度が閾値２０ａを超えていない。このような場合には、候補テンプレートを、更新対象のテンプレートとして判定しない。
【００５３】
テンプレート更新部１４３は、更新対象のテンプレートのデータ部の信号と、発話区間の信号とを平均化した信号を算出する。例えば、テンプレート更新部１４３は、一致度ｒ（ｔ）が最大となるｔｏｐｔを基準点としてｆとｇの位置を一致させ、式（２）によって、平均化した信号ｆ’を算出する。式（２）において、ｎは更新回数に対応する。
【００５４】
【数２】
0005724361.tif 000003
【００５５】
テンプレート更新部１４３は、式（２）によって平均化した信号ｆ’によって、更新対象のテンプレートのデータ部の信号を更新する。また、テンプレート更新部１４３は、テンプレートの更新回数に１を加算する。
【００５６】
また、テンプレート更新部１４３は、テンプレートを更新する場合に、メタ情報の一致状況に応じて、テンプレートのメタ情報の検索候補１〜３、その他メタ情報に格納された情報を入れ替えても良い。例えば、テンプレート更新部１４３は、候補テンプレートを検索する場合に、検索候補１の情報にヒットせず、検索候補２、３の情報にヒットした場合には、検索候補２、３の情報を検索候補１、２に設定し、検索候補１の情報を検索候補３に設定する。また、テンプレート更新部１４３は、検索候補１〜３の情報にヒットせず、その他メタ情報の情報にヒットした場合には、ヒットした情報を、検索候補１〜３に格納しても良い。
【００５７】
なお、テンプレート更新部１４３は、一致度が閾値以上となる信号を保持する候補テンプレートが存在しない場合には、テンプレートメモリ１４２が初期状態の場合と同様にして、新規にテンプレートを生成する。テンプレート更新部１４３は、生成したテンプレートをテンプレートメモリ１４２に記憶する。
【００５８】
図１の説明に戻る。テンプレート選択部１５０は、テンプレート検出部１５１およびテンプレート出力部１５２を有する。
【００５９】
テンプレート検出部１５１は、信号から雑音成分を取り除くためのテンプレートをテンプレートメモリ１４２から検出する処理部である。テンプレート検出部１５１は、検出したテンプレートの格納位置をテンプレート出力部１５２に通知する。テンプレート検出部１５１は、該当するテンプレートを複数検出した場合には、各テンプレートの格納位置をテンプレート出力部１５２に通知する。
【００６０】
テンプレート出力部１５２は、テンプレート検出部１５１から通知される格納位置のテンプレートをテンプレートメモリ１４２から取得し、取得したテンプレートを雑音除去部１６０に出力する。
【００６１】
なお、テンプレート出力部１５２は、テンプレート検出部１５１からテンプレートに対応する位相情報をテンプレート毎に取得する。テンプレート出力部１５２は、複数のテンプレートを雑音除去部１６０に出力する場合には、位相情報を基準として、各テンプレートの信号を合成し、合成した信号を雑音除去部１６０に出力する。例えば、位相情報は、テンプレートの信号の大きさが最大となるタイミングに対応する。
【００６２】
ここで、テンプレート検出部１５１の構成について説明する。図１３は、テンプレート検出部１５１の構成を示す図である。図１３に示すように、テンプレート検出部１５１は、テンプレート候補抽出部１５１ｂ、一時記憶部１５１ｃ〜１５１ｆ、比較部１５１ｇ、１５１ｈを有する。
【００６３】
テンプレート候補抽出部１５１ｂは、コントローラ２００から取得したメタ情報に対応するテンプレートを、テンプレートメモリ１４２から検索する処理部である。テンプレート候補抽出部１５１ｂは、テンプレートを一時記憶部１５１ｅ、１５０ｆに記憶する。
【００６４】
テンプレート候補抽出部１５１ｂが、コントローラ２００から取得したメタ情報に対応するテンプレートを検索する処理について説明する。テンプレート候補抽出部１５１ｂは、更新回数が所定回数以上のテンプレートから、メタ情報と同一の種別となるテンプレートを検索する。テンプレート候補抽出部１５１ｂは、例えば、更新回数と比較される所定の回数を５とする。
【００６５】
続いて、テンプレート候補抽出部１５１ｂは、メタ情報と、検索したテンプレートの検索候補１〜３とを比較して、一致する情報の数が所定数以上となるテンプレートを抽出する。テンプレート候補検索部１５１ｂは、複数のテンプレートを抽出した場合には、複数のテンプレートを一時記憶部１５１ｅ、１５１ｆに記憶する。例えば、３個のテンプレートを抽出した場合には、テンプレートを３つずつ一時記憶部１５１ｅ、１５０ｆに記憶する。
【００６６】
また、テンプレート候補抽出部１５１ｂは、テンプレートの格納位置と、テンプレートのデータ部の信号とを対応づけて、一時記憶部１５１ｅ，１５１ｆに記憶しても良い。
【００６７】
一時記憶部１５１ｃおよび一時記憶部１５１ｄは、ＡＤＣ部１２０から出力される信号を記憶する記憶部である。一時記憶部１５１ｅ、１５１ｆは、テンプレート候補抽出部１５１ｂから出力されるテンプレートのデータ部の信号を記憶する記憶部である。例えば、一時記憶部１５１ｅ、１５１ｆは、複数のテンプレートの信号を記憶する場合には、テンプレート毎に信号を記憶する。
【００６８】
比較部１５１ｇは、一時記憶部１５１ｃに記憶された信号と、一時記憶部１５１ｅに記憶されたテンプレートの信号との一致度を算出し、一致度が所定の閾値以上となる信号のテンプレートを判定する。比較部１５１ｇは、式（１）に基づいて一致度を算出する。そして、比較部１５１ｇは、判定したテンプレートの格納位置をテンプレート出力部１５２に出力する。
【００６９】
比較部１５１ｇの処理について具体的に説明する。比較部１５１ｇは、一時記憶部１５１ｃに記憶された信号を所定のサンプル数毎に、複数のフレームに分割する。図１３に示す例では、フレーム１〜６に分割する。また、比較部１５１ｇは、一時記憶部１５１ｅに記憶されたテンプレートのデータ部の信号を所定のサンプル数毎に分割する。例えば、比較部１５１ｇが分割するサンプル数を１０２４サンプルとする。
【００７０】
信号を分割した後に、比較部１５１ｇは、一時記憶部１５１ｃのフレームと、一時記憶部１５１ｅの各フレームとを先頭のフレームから順に比較し、一致度を順次算出する。比較部１５１ｇは、全てのフレームの一致度が閾値以上となるテンプレートの信号を判定する。比較部１５１ｇは、判定したテンプレートの信号が格納された格納位置をテンプレート出力部１５２に通知する。
【００７１】
例えば、図１３において、一時記憶部１５１ｅの１段目のフレーム１〜５と、一時記憶部１５１ｃのフレーム１〜５との一致度が全て閾値以上とする。この場合には、比較部１５１ｇは、一時記憶部１５１ｅの１段目の信号を格納するテンプレートの格納位置を、テンプレート出力部１５２に通知する。
【００７２】
なお、比較部１５１ｇは、一致度が閾値未満となった時点で、該当するテンプレートの信号に対応するテンプレートを候補から除外する。例えば、一時記憶部１５１ｅの２段目のフレーム１〜５と、一時記憶部１５１ｃのフレーム１〜５との一致度が１フレーム目から閾値以上とならないとする。この場合には、比較部１５１ｇは、１フレーム目の一致度を算出した後に、２段目の信号に対応するテンプレートを候補から除外する。また、一時記憶部１５１ｅの３段目のフレーム１〜５と、一時記憶部１５１ｃのフレーム１〜５との一致度が２フレーム目から閾値以上とならないとする。この場合には、比較部１５１ｇは、２フレーム目の一致度を算出した後に、３段目の信号に対応するテンプレートを候補から除外する。
【００７３】
ところで、比較部１５１ｇは、全てのフレームの一致度が閾値以上となるテンプレートの信号を判定した場合に、一致度が最大となるタイミングを、位相情報としてテンプレート出力部１５２に出力する。
【００７４】
比較部１５１ｈは、一時記憶部１５１ｄに記憶された信号と、一時記憶部１５１ｆに記憶されたテンプレートの信号との一致度を算出し、一致度が所定の閾値以上となる信号のテンプレートを判定する。比較部１５１ｈは、式（１）に基づいて一致度を算出する。そして、比較部１５１ｈは、判定したテンプレートの格納位置をテンプレート出力部１５２に出力する。
【００７５】
比較部１５１ｈの処理について具体的に説明する。比較部１５１ｈは、記憶部１５０ｄに記憶された信号を所定のサンプル数毎に、複数のフレームに分割する。図１３に示す例では、フレーム２〜７に分割する。また、比較部１５１ｈは、一時記憶部１５１ｄに記憶されたテンプレートのデータ部の信号を所定のサンプル数毎に分割する。例えば、比較部１５１ｈが分割するサンプル数を１０２４サンプルとする。
【００７６】
信号を分割した後に、比較部１５１ｈは、一時記憶部１５１ｄのフレームと、一時記憶部１５１ｆの各フレームとを先頭のフレームから順に比較し、一致度を順次算出する。比較部１５１ｈは、全てのフレームの一致度が閾値以上となるテンプレートの信号を判定する。比較部１５１ｈは、判定したテンプレートの信号が格納された格納位置をテンプレート出力部１５２に通知する。
【００７７】
例えば、図１３において、一時記憶部１５１ｆの２段目のフレーム１〜５と、一時記憶部１５１ｄのフレーム２〜６との一致度が全て閾値以上とする。この場合には、比較部１５１ｈは、一時記憶部１５１ｆの２段目の信号を格納するテンプレートの格納位置を、テンプレート出力部１５２に通知する。
【００７８】
なお、比較部１５１ｈは、一致度が閾値未満となった時点で、該当するテンプレートの信号を候補から除外する。例えば、一時記憶部１５１ｆの１段目のフレーム１〜５と、一時記憶部１５１ｃのフレーム２〜６との一致度が１フレーム目から閾値以上とならないとする。この場合には、比較部１５１ｈは、１フレーム目の一致度を算出した後に、１段目の信号に対応するテンプレートを候補から除外する。また、一時記憶部１５１ｆの３段目のフレーム１〜５と、一時記憶部１５１ｃのフレーム２〜６との一致度が１フレーム目から閾値以上とならないとする。この場合には、比較部１５１ｈは、１フレーム目の一致度を算出した後に、３段目の信号に対応するテンプレートを候補から除外する。
【００７９】
ところで、上記の各処理部１２０〜１７０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、上記処理部１２０〜１７０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００８０】
次に、本実施例１にかかる音声認識装置１００の処理手順について説明する。図１４は、音声認識装置の処理手順を示すフローチャートである。図１４に示す処理は、例えば、マイク１１０に音が入力されたことを契機にして実行される。なお、図１４のステップＳ１０３の処理と、ステップＳ１０４の処理は並列的に実行される。
【００８１】
図１４に示すように、音声認識装置１００は、入力音声を取得し（ステップＳ１０１）、ＡＤ変換する（ステップＳ１０２）。音声認識装置１００は、テンプレート更新処理を行い（ステップＳ１０３）、テンプレートを選択する（ステップＳ１０４）。
【００８２】
音声認識装置１００は、テンプレートを用いて入力音声から雑音成分を除去する（ステップＳ１０５）。音声認識装置１００は、音声認識を実行し（ステップＳ１０６）、音声認識結果をコントローラ２００に出力する（ステップＳ１０７）。
【００８３】
次に、音声認識装置１００のオンラインテンプレート収集部１４０の処理手順について説明する。図１５は、オンラインテンプレート収集部の処理手順を示すフローチャートである。図１５に示すフローチャートは、図１４のステップＳ１０３に示したテンプレート更新処理に対応するものである。
【００８４】
図１５に示すように、オンラインテンプレート収集部１４０は、発話区間を検出し（ステップＳ２０１）、コントローラ２００からメタ情報を取得する（ステップＳ２０２）。オンラインテンプレート収集部１４０は、メタ情報とテンプレートとを比較し（ステップＳ２０３）、テンプレートの候補が存在するか否かを判定する（ステップＳ２０４）。
【００８５】
オンラインテンプレート収集部１４０は、テンプレートの候補が存在しない場合には（ステップＳ２０４，Ｎｏ）、テンプレートに信号を登録する（ステップＳ２０５）。そして、オンラインテンプレート収集部１４０は、テンプレートにメタ情報を登録し（ステップＳ２０６）、テンプレートの更新処理を終了する。
【００８６】
一方、オンラインテンプレート収集部１４０は、テンプレートの候補が存在する場合には（ステップＳ２０４，Ｙｅｓ）、テンプレートと発話区間の信号との一致度が閾値以上か否かを判定する（ステップＳ２０７）。
【００８７】
オンラインテンプレート収集部１４０は、テンプレートと発話区間の信号との一致度が閾値未満の場合には（ステップＳ２０７，Ｎｏ）、ステップＳ２０５に移行する。一方、オンラインテンプレート収集部１４０は、テンプレートと発話区間の信号との一致度が閾値以上の場合には（ステップＳ２０７，Ｙｅｓ）、テンプレートの信号を更新する（ステップＳ２０８）。また、オンラインテンプレート収集部１４０は、テンプレートのメタ情報を更新し（ステップＳ２０９）、テンプレートの更新処理を終了する。
【００８８】
次に、本実施例にかかる音声認識装置１００の効果について説明する。音声認識装置１００は、発話区間の信号との間で一致度が閾値以上となる信号を格納するテンプレートを検出し、発話区間の信号とテンプレートの信号とを平均化したものによって、テンプレートを順次更新する。そして、音声認識装置１００は、更新したテンプレートを利用して音声信号から雑音成分を除去する。この音声認識装置１００は、環境が動的に変化する場合でも、雑音成分を順次テンプレートに学習でき、特別なマイクを利用しなくても、テンプレートにより雑音成分を除去できる。このため、音声認識装置１００によれば、デバイスコストを削減しつつ、外部環境の変化に対応して音声認識を効率的に実行することができる。
【００８９】
人の音声は、同じ人が言葉を発声した場合でも、異なる周波数、位相となるため、各信号の一致度が低く。このため、平均化を繰り返し実行することで、人の音声はテンプレートに学習されることはない。これに対して、ロボットの動作音や人工的な環境音は、それぞれ非常に近い周波数、位相となるため、各信号の一致度が高くなり、雑音成分としてテンプレートに学習することができる。
【００９０】
また、ロボットの動作音を取得する場合に、ざわつきや設置場所の反響効果が動作音に付加されている場合がある。動作音の反響音は、設置場所が変わらない限り、ほぼ一定になり、各信号の一致度が高くなるため、反響効果も含めて雑音成分をテンプレートに学習することができる。これに対して、ざわつき等は、取得する度に変わる成分であるため、各信号の一致度は低く、テンプレートに学習されることはない。
【００９１】
また、音声認識装置１００は、動作体の駆動状態を含むメタ情報とテンプレートとを対応づけて記憶する。そして、音声認識装置１００は、発話区間の信号に対応するメタ情報をキーにして更新対象となるテンプレートを検索する。このため、テンプレートを更新する場合に、メタ情報によって更新対象を絞り込むことできる。
【００９２】
また、音声認識装置は、発話区間の信号に対応するメタ情報をキーにして雑音成分のテンプレートを検索する。このため、雑音成分のテンプレートを、メタ情報によって絞り込むことができる。
【００９３】
また、音声認識装置１００は、発話区間の信号と、複数のテンプレートの信号の一部とをそれぞれ比較し、一致度が閾値以上となるテンプレートを選択する。このため、音声認識装置は、テンプレートの信号を全て比較する処理を省くことができるので、テンプレートを選択する処理負荷を軽減することができる。
【００９４】
また、音声認識装置１００は、複数のテンプレートを選択して、雑音成分を除去する場合に、各テンプレートの位相に基づいて、各テンプレートを合成する。このため、音声データに複数種類の雑音成分が含まれている場合でも、各雑音成分をそれぞれ除去することができる。
【００９５】
ところで、図１に示した音声認識装置１００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、音声認識装置１００の分散、統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、オンラインテンプレート収集部１４０、テンプレート選択部１５０の処理をまとめて実行する処理部を音声認識装置１００に設けても良い。または、音声認識装置１００を、ロボットに搭載しても良い。
【００９６】
なお、図１のテンプレート選択部１５０は、コントローラ２００から取得するメタ情報とテンプレートのメタ情報を比較して、発話区間の信号に対応するテンプレートを選択していたが、これに限定されるものではない。例えば、テンプレート選択部１５０は、テンプレートメモリ１４２に記憶された全てのテンプレートの信号と発話区間の信号とを比較して、一致度が閾値以上となるテンプレートを選択してもよい。こうすることで、テンプレート選択部１５０は、メタ情報によって検出できない雑音成分のテンプレートを選択することができる。
【００９７】
また、音声認識装置１００は、既知のパーソナルコンピュータ、ワークステーション、移動体通信端末またはＰＤＡなどの情報処理装置に、音声認識装置１００の各機能を搭載することによって実現することもできる。
【００９８】
図１６は、実施例にかかる音声認識装置を構成するコンピュータのハードウェア構成を示す図である。図１６に示すように、このコンピュータ３００は、各種演算処理を実行するＣＰＵ（Central  Processing  Unit）３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、モニタ３０３を有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４、ネットワークを介して他のコンピュータとの間でデータの享受を行うネットワークインターフェース装置３０５、マイク３０６を有する。また、コンピュータ３００は、各種情報を一時記憶するＲＡＭ（Random  Access  Memory）３０７と、ハードディスク装置３０８を有する。各装置３０１〜３０８は、バス３０９に接続される。
【００９９】
ハードディスク装置３０８は、発話区間検出プログラム３０８ａ、テンプレート更新プログラム３０８ｂ、雑音除去プログラム３０８ｃ、音声認識プログラム３０８ｄを記憶する。
【０１００】
ＣＰＵ３０１は、ハードディスク装置３０８に記憶された各プログラム３０８ａ〜３０８ｄを読み出して、ＲＡＭ３０７に展開する。これにより、発話区間検出プログラム３０８ａは、発話区間検出プロセス３０７ａとして機能する。テンプレート更新プログラム３０８ｂは、テンプレート更新プロセス３０７ｂとして機能する。雑音除去プログラム３０８ｃは、雑音除去プロセス３０７ｃとして機能する。音声認識プログラム３０８ｄは、音声認識プロセス３０７ｄとして機能する。
【０１０１】
発話区間検出プロセス３０７ａは、図１の発話区間検出部１４１に対応する。テンプレート更新プロセス３０７ｂは、図１のテンプレート更新部１４３に対応する。雑音除去プロセス３０７ｃは、図１のテンプレート選択部１５０、雑音除去部１６０に対応する。音声認識プロセス３０７ｄは、図１の音声認識部１７０に対応する。各プロセス３０７ａ〜３０７ｄによりＣＰＵ３０１は、マイク３０６からの入力信号から雑音成分を除去し、音声認識を実行する。
【０１０２】
なお、上記のプログラム３０８ａ〜３０８ｄは、必ずしもハードディスク装置３０８に格納されている必要はない。例えば、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたプログラム３０８ａ〜３０８ｄを、コンピュータ３００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等に接続された記憶装置に、各プログラム３０８ａ〜３０８ｄを記憶させておいてもよい。この場合、コンピュータ３００がこれらから各プログラム３０８ａ〜３０８ｄを読み出して実行するようにしてもよい。
【０１０３】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０４】
（付記１）集音装置から取得する信号に基づいて、該信号に含まれる発話区間を検出する発話区間検出部と、
前記発話区間検出部によって検出された発話区間の信号と、記憶部に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上であるテンプレートが存在するか否かを判定し、
前記一致度が閾値以上のテンプレートが存在する場合には、該テンプレートの信号と前記発話区間の信号とを平均化した値によって前記テンプレートの信号を更新し、
前記一致度が閾値未満の場合には、前記発話区間の信号をテンプレートの信号として前記記憶部に記憶するテンプレート更新部と、
前記記憶部に記憶されたテンプレートを利用して前記集音装置が取得する信号から雑音成分を除去する雑音除去部と、
前記雑音除去部が雑音成分を除去した発話区間の信号を基にして、音声認識を実行する音声認識部と
を有することを特徴とする音声認識装置。
【０１０５】
（付記２）前記記憶部は、動作体の駆動状態を含むメタ情報とテンプレートとを対応付けて記憶し、前記テンプレート更新部は、前記発話区間の信号に対応するメタ情報を基にして、発話区間のメタ情報と類似のメタ情報に対応づけられたテンプレートを検索し、検索したテンプレートの信号と発話区間の信号との一致度が閾値以上か否かを判定することを特徴とする付記１に記載の音声認識装置。
【０１０６】
（付記３）前記雑音除去部は、前記集音装置から取得した信号と前記記憶部に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上となるテンプレートを選択し、選択したテンプレートを利用して信号の雑音成分を除去することを特徴とする付記１または２に記載の音声認識装置。
【０１０７】
（付記４）前記雑音除去部は、前記集音装置から取得した信号の一部と、前記記憶部に記憶された複数のテンプレートの信号の一部とをそれぞれ比較し、一致度が閾値以上となるテンプレートを選択することを特徴とする付記３に記載の音声認識装置。
【０１０８】
（付記５）前記雑音除去部は、前記集音装置から取得したメタ情報と類似のメタ情報に対応づけられたテンプレートを前記記憶部から検索し、検索したテンプレートの信号と集音装置から取得した信号との一致度が閾値以上か否かを判定することを特徴とする付記３または４に記載の音声認識装置。
【０１０９】
（付記６）前記雑音除去部は、複数のテンプレートの信号を位相に基づいて合成し、集音装置が集音した信号から合成したテンプレートの信号を除去することで、雑音成分を除去することを特徴とする付記３、４または５に記載の音声認識装置。
【０１１０】
（付記７）コンピュータが実行する音声認識方法であって、
集音装置から取得する信号に基づいて、該信号に含まれる発話区間の信号を検出し、
検出した前記発話区間の信号と、記憶装置に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上であるテンプレートが存在するか否かを判定し、
前記一致度が閾値以上のテンプレートが存在する場合には、該テンプレートの信号と前記発話区間の信号とを平均化した値によって前記テンプレートの信号を更新し、
前記一致度が閾値未満の場合には、前記発話区間の情報をテンプレートの信号として前記記憶装置に記憶し、
前記記憶装置に記憶されたテンプレートを利用して前記発話区間の雑音成分を除去し、音声認識を実行することを特徴とする音声認識方法。
【０１１１】
（付記８）前記記憶装置は、動作体の駆動状態を含むメタ情報とテンプレートとを対応付けて記憶し、前記コンピュータは、テンプレートを更新する場合に、前記発話区間の信号に対応するメタ情報を基にして、発話区間のメタ情報と類似のメタ情報に対応づけられたテンプレートを検索し、検索したテンプレートの信号と発話区間の信号との一致度が閾値以上か否かを判定する付記７に記載の音声認識方法。
【０１１２】
（付記９）雑音成分を除去する場合に、前記集音装置から取得した信号と前記記憶装置に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上となるテンプレートを選択し、選択したテンプレートを利用して信号の雑音成分を除去することを特徴とする付記７または８に記載の音声認識方法。
【０１１３】
（付記１０）雑音成分を除去する場合に、前記集音装置から取得した信号の一部と、前記記憶装置に記憶された複数のテンプレートの信号の一部とをそれぞれ比較し、一致度が閾値以上となるテンプレートを選択することを特徴とする付記９に記載の音声認識方法。
【０１１４】
（付記１１）雑音成分を除去する場合に、前記集音装置から取得した時点で得られるメタ情報と類似のメタ情報に対応づけられたテンプレートを前記記憶装置から検索し、検索したテンプレートの信号と集音装置から取得した信号との一致度が閾値以上か否かを判定することを特徴とする付記９または１０に記載の音声認識方法。
【０１１５】
（付記１２）雑音成分を除去する場合に、複数のテンプレートの信号を位相に基づいて合成し、集音装置が集音した信号から合成したテンプレートの信号を除去することで、雑音成分を除去することを特徴とする付記９、１０または１１に記載の音声認識方法。
【０１１６】
（付記１３）コンピュータに、
集音装置から取得する信号に基づいて、該信号に含まれる発話区間の信号を検出し、
検出した前記発話区間の信号と、記憶装置に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上であるテンプレートが存在するか否かを判定し、
前記一致度が閾値以上のテンプレートが存在する場合には、該テンプレートの信号と前記発話区間の信号とを平均化した値によって前記テンプレートの信号を更新し、
前記一致度が閾値未満の場合には、前記発話区間の情報をテンプレートの信号として前記記憶装置に記憶し、
前記記憶装置に記憶されたテンプレートを利用して前記発話区間の雑音成分を除去し、音声認識を実行させる音声認識プログラム。
【０１１７】
（付記１４）前記記憶装置は、動作体の駆動状態を含むメタ情報とテンプレートとを対応付けて記憶し、前記コンピュータは、テンプレートを更新する場合に、前記発話区間の信号に対応するメタ情報を基にして、発話区間のメタ情報と類似のメタ情報に対応づけられたテンプレートを検索し、検索したテンプレートの信号と発話区間の信号との一致度が閾値以上か否かを判定する付記１３に記載の音声認識プログラム。
【０１１８】
（付記１５）雑音成分を除去する場合に、前記集音装置から取得した信号と前記記憶装置に記憶された複数のテンプレートの信号とをそれぞれ比較して、一致度が閾値以上となるテンプレートを選択し、選択したテンプレートを利用して信号の雑音成分を除去することを特徴とする付記１３または１４に記載の音声認識プログラム。
【０１１９】
（付記１６）雑音成分を除去する場合に、前記集音装置から取得した信号の一部と、前記記憶装置に記憶された複数のテンプレートの信号の一部とをそれぞれ比較し、一致度が閾値以上となるテンプレートを選択することを特徴とする付記１５に記載の音声認識プログラム。
【０１２０】
（付記１７）雑音成分を除去する場合に、前記集音装置から取得した時点で得られるメタ情報と類似のメタ情報に対応づけられたテンプレートを前記記憶装置から検索し、検索したテンプレートの信号と集音装置から取得した信号との一致度が閾値以上か否かを判定することを特徴とする付記１５または１６に記載の音声認識プログラム。
【０１２１】
（付記１８）雑音成分を除去する場合に、複数のテンプレートの信号を位相に基づいて合成し、集音装置が集音した信号から合成したテンプレートの信号を除去することで、雑音成分を除去することを特徴とする付記１５、１６または１７に記載の音声認識プログラム。
【符号の説明】
【０１２２】
１００  音声認識装置
１２０  ＡＤＣ部
１３０  ディレイ部
１４０  オンラインテンプレート収集部
１５０  テンプレート選択部
１６０  雑音除去部
１７０  音声認識部
２００  コントローラ
【図１】
0005724361.tif 000004
【図２】
0005724361.tif 000005
【図３】
0005724361.tif 000006
【図４】
0005724361.tif 000007
【図５】
0005724361.tif 000008
【図６】
0005724361.tif 000009
【図７】
0005724361.tif 000010
【図８】
0005724361.tif 000011
【図９】
0005724361.tif 000012
【図１０】
0005724361.tif 000013
【図１１】
0005724361.tif 000014
【図１２】
0005724361.tif 000015
【図１３】
0005724361.tif 000016
【図１４】
0005724361.tif 000017
【図１５】
0005724361.tif 000018
【図１６】
0005724361.tif 000019