(57)【特許請求の範囲】
【請求項１】
入力音声を音声分析して得られる特徴ベクトルをベクトル量子化手段を用いてベクトル量子化し、その量子化結果に対応した状態出力確率をテーブル参照で得るＨＭＭの出力確率演算方法であって、
前記ベクトル量子化を行う際に用いるベクトル量子化手段は、それぞれのサブワード対応のベクトル量子化手段とし、前記テーブルはこれらサブワード対応のベクトル量子化手段に対応して設けられ、
前記入力音声を音声分析して得られる特徴ベクトルを、前記サブワード対応のベクトル量子化手段のうちのあるベクトル量子化手段を用いてベクトル量子化し、その量子化結果を出力し、当該量子化結果を出力したベクトル量子化手段に対応するテーブルを参照してその量子化結果に対する状態出力確率を得ることを特徴とするＨＭＭの出力確率演算方法。
【請求項２】
前記サブワードは音素であって、音素対応のベクトル量子化手段を作成し、この作成された音素対応のベクトル量子化手段はそれぞれの音素ＨＭＭに対応することを特徴とする請求項１記載のＨＭＭの出力確率演算方法。
【請求項３】
前記サブワードは音節であって、音節対応のベクトル量子化手段を作成し、この作成された音節対応のベクトル量子化手段はそれぞれの音節ＨＭＭに対応することを特徴とする請求項１記載のＨＭＭの出力確率演算方法。
【請求項４】
前記サブワードは母音と子音であって、前記サブワード対応のベクトル量子化手段は母音によって作成されたベクトル量子化手段と子音によって作成されたベクトル量子化手段であることを特徴とする請求項１記載のＨＭＭの出力確率演算方法。
【請求項５】
前記それぞれのサブワードＨＭＭの幾つかのサブワードＨＭＭごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があればそのベクトル量子化手段を共有することを特徴とする請求項１から３のいずれかに記載のＨＭＭの出力確率演算方法。
【請求項６】
前記それぞれのサブワードＨＭＭのある状態ごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があればそのベクトル量子化手段を共有することを特徴とする請求項１から３のいずれかに記載のＨＭＭの出力確率演算方法。
【請求項７】
前記サブワード対応のベクトル量子化手段は、それぞれのベクトル量子化手段ごとにコードサイズをそのサブワードに応じた最適なコードサイズとすることを特徴とする請求項１から６のいずれかに記載のＨＭＭの出力確率演算方法。
【請求項８】
前記ベクトル量子化を行う際、入力されたサブワードがベクトル量子化すべきサブワードであるか否かを調べ、ベクトル量子化すべきサブワードでない場合にはベクトル量子化を行わないようにすることを特徴とする請求項１から７のいずれかに記載のＨＭＭの出力確率演算方法。
【請求項９】
前記ベクトル量子化手段はコードブックであることを特徴とする請求項１から８のいずれかに記載のＨＭＭの出力確率演算方法。
【請求項１０】
入力音声を音声分析して得られる特徴ベクトルをベクトル量子化手段を用いてベクトル量子化し、その量子化結果に対応した状態出力確率をテーブル参照で得て、その状態出力確率をパラメータの１つとして用いて音声認識を行う音声認識装置であって、
入力音声に対し音声の特徴分析を行って特徴ベクトル列を出力する音声分析部と、
それぞれのサブワード対応のベクトル量子化手段が記憶されたベクトル量子化手段記憶部と、
前記音声分析部から出力される特徴ベクトル列に対し、前記ベクトル量子化手段記憶部に記憶されたサブワード対応のベクトル量子化手段を用いてベクトル量子化を行い、その量子化結果を出力するベクトル量子化処理部と、
サブワードＨＭＭ演算に必要な様々なパラメータや前記サブワード対応のベクトル量子化手段に対応して設けられた状態出力確率参照用のテーブルを有するサブワードＨＭＭ記憶部と、
前記ベクトル量子化処理部からの量子化結果を受けると、そのベクトル量子化に用いたベクトル量子化手段に対応した前記テーブルを参照し、その量子化結果に対する状態出力確率を取得し、その状態出力確率をパラメータの１つとして用いて音声認識処理を行い認識結果を出力する音声認識処理部と、
を有したことを特徴とする音声認識装置。
【請求項１１】
前記サブワードは音素であって、音素対応のベクトル量子化手段を作成し、この作成された音素対応のベクトル量子化手段はそれぞれの音素ＨＭＭに対応することを特徴とする請求項１０記載の音声認識装置。
【請求項１２】
前記サブワードは音節であって、音節対応のベクトル量子化手段を作成し、この作成された音節対応のベクトル量子化手段はそれぞれの音節ＨＭＭに対応することを特徴とする請求項１０記載の音声認識装置。
【請求項１３】
前記サブワードは母音と子音であって、前記サブワード対応のベクトル量子化手段は母音によって作成されたベクトル量子化手段と子音によって作成されたベクトル量子化手段であることを特徴とする請求項１０記載の音声認識装置。
【請求項１４】
前記それぞれのサブワードＨＭＭの幾つかのサブワードＨＭＭごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があればそのベクトル量子化手段を共有することを特徴とする請求項１０から１２のいずれかに記載の音声認識装置。
【請求項１５】
前記それぞれのサブワードＨＭＭのある状態ごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があればそのベクトル量子化手段を共有することを特徴とする請求項１０から１２のいずれかに記載の音声認識装置。
【請求項１６】
前記サブワード対応のベクトル量子化手段は、それぞれのベクトル量子化手段ごとにコードサイズをそのサブワードに応じた最適なコードサイズとすることを特徴とする請求項１０から１５のいずれかに記載の音声認識装置。
【請求項１７】
単語・言語テーブルを有し、前記ベクトル量子化部がベクトル量子化を行う際、入力されたサブワードがベクトル量子化すべきサブワードであるか否かをこの単語・言語テーブルを参照して調べ、ベクトル量子化すべきサブワードでない場合にはベクトル量子化を行わないようにすることを特徴とする請求項１０から１６のいずれかに記載の音声認識装置。
【請求項１８】
前記ベクトル量子化手段はコードブックであることを特徴とする請求項１０から１７のいずれかに記載の音声認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は離散型ＨＭＭ（Hidden Markov Model）における出力確率を求めるＨＭＭの出力確率演算方法およびそのＨＭＭの出力確率演算方法を用いた音声認識装置に関する。
【０００２】
【従来の技術】
音声認識を行うための音素モデルとしてＨＭＭが広く使われている。このＨＭＭを用いた音声認識手法は高い認識率を得ることができる反面、計算量が多いのが難点である。特にＨＭＭの出力確率を求めるには多くの演算量を必要とし、それに伴って、演算を行うために多くのメモリ領域を必要とするなどの問題がある。
【０００３】
これらの問題を解決する手法として、たとえば、日本音響学会誌４２巻１２号（１９８６）「 Hidden Markov Modelに基づいた音声認識」に記述されているように、入力音声を音声分析して得られた特徴ベクトル系列を、予め作成された１つのコードブックを用いてベクトル量子化し、得られたコード（ラベル）を各単語を構成するＨＭＭ（たとえば音素のＨＭＭ）に入力して状態出力確率をテーブル参照で得て、それぞれのＨＭＭにより得られる尤度を比較して音声認識を行う方法が知られている。
【０００４】
このベクトル量子化を用いる音声認識方法において、それぞれの状態ごとの出力確率をテーブル参照で得る処理は次のようにして行われる。
【０００５】
入力音声を音声分析部で所定時間ごとに音声分析し、たとえば１０数次元のＬＰＣケプストラム係数などでなる特徴ベクトル列Ｖｔ（ ｔは入力音声を所定時間ごとに区切ったときのそれぞれのフレーム番号であり、フレーム数をＴで表せば、ｔ＝１，２，・・・，Ｔ）を得て、その特徴ベクトル列Ｖｔに対し、コードブックを用いてベクトル量子化部で量子化し、それぞれのフレーム番号（ｔ＝１，２，・・・）ごとのコード列Ｃｔを出力する。
【０００６】
ここで用いられるコードブックは、あらゆる音素の入っている音声データから作成されたコードブックであり、ここでは、そのコードブックサイズをＫで表せば、あるフレーム番号に対するコードＣｔの値は、コードブックのラベル番号ｋ（ｋ＝１，２，・・・，Ｋ）で表すことができる。
【０００７】
ここで、ある音素におけるＨＭＭにおいて、今、ある状態ｉからある状態ｊに遷移する際に、コードＣｔが入力されてきたときにそのコードＣｔを出力する確率をｂij(Ct）で表せば、この場合、コードブックサイズがＫで、あるフレーム番号に対するコードＣｔの値は、コードブックのラベル番号ｋ（ｋ＝１，２，・・・，Ｋ）で表すことができるので、１〜Ｋのラベル番号を出力する出力確率ｂij(ｋ）を求めればよいことになる。
【０００８】
したがって、各音素ＨＭＭのそれぞれの状態遷移において、ラベル番号１を出力する確率、ラベル番号２を出力する確率、・・・、ラベル番号Ｋを出力する確率をテーブルとして持たせておけば、そのラベル番号を基にテーブル参照するだけで、それぞれの状態遷移ごとの出力確率を得ることができる。
【０００９】
【発明が解決しようとする課題】
このように、ベクトル量子化を用いる音声認識方法は、連続分布型ＨＭＭのようなベクトル量子化を用いない方法と比較すると、演算量を大幅に少なくすることができ、演算時間の短縮や演算時に必要とするメモリ領域を大幅に少なくできるなどの利点があるが、その一方で、ベクトル量子化誤差のために認識性能に劣るという問題がある。特に、不特定話者の音声認識を行う場合の認識性能に問題がある。
【００１０】
このベクトル量子化誤差を少なくするには、コードブックサイズをきわめて大きなサイズとすればよいが、コードブックサイズをあまり大きくすると、量子化を行う際の演算量が増大するとともに、多くのメモリ領域も必要となるなど、ベクトル量子化する利点が失われることになる。
【００１１】
また、従来のコードブックは、全ての音素が含まれるような学習用の音声データから作成されたものであるので、幅広い音声に対応できる平均化されたコードブックとなる。このため、認識性能を高めるにはコードブックサイズは必然的に大きくならざるを得ない。
【００１２】
また、認識性能に大きな影響を与えない音声データに対してもコードデータとして持つことになるので、不必要にコードブックサイズが大きくなるのが現状である。
【００１３】
そこで本発明は、ＨＭＭの出力確率を少ない演算量で高速に求めることを可能とするＨＭＭの出力確率演算方法を提供するとともに、そのＨＭＭの出力確率演算方法を用いることで、ハードウエア能力に制約のあるシステムであっても高い認識性能を得ることができる音声認識装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上述した目的を達成するために、本発明におけるＨＭＭの出力確率演算方法は、入力音声を音声分析して得られる特徴ベクトルをベクトル量子化手段を用いてベクトル量子化し、その量子化結果に対応した状態出力確率をテーブル参照で得るＨＭＭの出力確率算出方法であって、前記ベクトル量子化を行う際に用いるベクトル量子化手段は、それぞれのサブワード対応のベクトル量子化手段とし、前記テーブルはこれらサブワード対応のベクトル量子化手段に対応して設けられ、前記入力音声を音声分析して得られる特徴ベクトルを、前記サブワード対応のベクトル量子化手段のうちのあるベクトル量子化手段を用いてベクトル量子化し、その量子化結果を出力し、当該量子化結果を出力したベクトル量子化手段に対応するテーブルを参照してその量子化結果に対する状態出力確率を得るようにしている。
【００１５】
このＨＭＭの出力確率演算方法において、前記サブワードは音素であって、音素対応のベクトル量子化手段を作成し、この作成された音素対応のベクトル量子化手段はそれぞれの音素ＨＭＭに対応させるようにする。
【００１６】
また、このＨＭＭの出力確率演算方法において、前記サブワードは音節であって、音節対応のベクトル量子化手段を作成し、この作成された音節対応のベクトル量子化手段はそれぞれの音節ＨＭＭに対応させるようにする。
【００１７】
また、このＨＭＭの出力確率演算方法において、前記サブワードは母音と子音であって、前記サブワード対応のベクトル量子化手段は母音によって作成されたベクトル量子化手段と子音によって作成されたベクトル量子化手段であってもよい。
【００１８】
また、このＨＭＭの出力確率演算方法において、前記それぞれのサブワードＨＭＭの幾つかのサブワードＨＭＭごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があればそのベクトル量子化手段を共有することもできる。
【００１９】
また、このＨＭＭの出力確率演算方法において、前記それぞれのサブワードＨＭＭのある状態ごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があればそのベクトル量子化手段を共有することもできる。
【００２０】
また、このＨＭＭの出力確率演算方法において、前記サブワード対応のベクトル量子化手段は、それぞれのベクトル量子化手段ごとにコードサイズをそのサブワードに応じた最適なコードサイズとすることもできる。
【００２１】
また、このＨＭＭの出力確率演算方法において、前記ベクトル量子化を行う際、入力されたサブワードがベクトル量子化すべきサブワードであるか否かを調べ、ベクトル量子化すべきサブワードでない場合にはベクトル量子化を行わないようにすることもできる。
【００２２】
また、このＨＭＭの出力確率演算方法において用いるベクトル量子化手段はコードブックを用いることができる。
【００２３】
また、本発明の音声認識装置は、入力音声を音声分析して得られる特徴ベクトルをベクトル量子化手段を用いてベクトル量子化し、その量子化結果に対応した状態出力確率をテーブル参照で得て、その状態出力確率をパラメータの１つとして用いて音声認識を行うＨＭＭを用いた音声認識装置であって、入力音声に対し音声の特徴分析を行って特徴ベクトル列を出力する音声分析部と、それぞれのサブワード対応のベクトル量子化手段が記憶されたベクトル量子化手段記憶部と、前記音声分析部から出力される特徴ベクトル列に対し、前記ベクトル量子化手段記憶部に記憶されたサブワード対応のベクトル量子化手段を用いてベクトル量子化を行い、その量子化結果を出力するベクトル量子化処理部と、サブワードＨＭＭ演算に必要な様々なパラメータや前記サブワード対応のベクトル量子化手段に対応して設けられた状態出力確率参照用のテーブルを有するサブワードＨＭＭ記憶部と、前記ベクトル量子化処理部からの量子化結果を受けると、そのベクトル量子化に用いたベクトル量子化手段に対応した前記テーブルを参照し、その量子化結果に対する状態出力確率を取得し、その状態出力確率をパラメータの１つとして用いて音声認識処理を行い認識結果を出力する音声認識処理部とを有した構成となっている。
【００２４】
この音声認識装置において、前記サブワードは音素であって、音素対応のベクトル量子化手段を作成し、この作成された音素対応のベクトル量子化手段はそれぞれの音素ＨＭＭに対応するようにしている。
【００２５】
また、この音声認識装置において、前記サブワードは音節であって、音節対応のベクトル量子化手段を作成し、この作成された音節対応のベクトル量子化手段はそれぞれの音節ＨＭＭに対応するようにしている。
【００２６】
また、この音声認識装置において、前記サブワードは母音と子音であって、前記サブワード対応のベクトル量子化手段は母音によって作成されたベクトル量子化手段と子音によって作成されたベクトル量子化手段であってもよい。
【００２７】
また、この音声認識装置において、前記それぞれのサブワードＨＭＭの幾つかのサブワードＨＭＭごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があればそのベクトル量子化手段を共有することもできる。
【００２８】
また、この音声認識装置において、前記それぞれのサブワードＨＭＭのある状態ごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があればそのベクトル量子化手段を共有することもできる。
【００２９】
また、この音声認識装置において、前記サブワード対応のベクトル量子化手段は、それぞれのベクトル量子化手段ごとにコードサイズをそのサブワードに応じた最適なコードサイズとすることもできる。
【００３０】
また、この音声認識装置において、単語・言語テーブルを有し、前記ベクトル量子化部がベクトル量子化を行う際、入力されたサブワードがベクトル量子化すべきサブワードであるか否かをこの単語・言語テーブルを参照して調べ、ベクトル量子化すべきサブワードでない場合にはベクトル量子化を行わないようにすることもできる。
【００３１】
また、この音声認識装置において用いるベクトル量子化手段はコードブックを用いることができる。
【００３２】
このように本発明は、ベクトル量子化を行う際に用いるベクトル量子化手段は、それぞれのサブワード（単語や言語を構成する音素や音節をここではサブワードいう）対応のベクトル量子化手段としている。
【００３３】
このサブワード対応のベクトル量子化手段は、それぞれのサブワードに対応する音声データを主として作成されたものであるため、入力音声の特徴ベクトルの分布を適切に表現したベクトル量子化手段とすることができ、このようなサブワード対応のベクトル量子化手段を用いてベクトル量子化を行うことによって、ベクトル量子化誤差を最小限に抑えることができる。
【００３４】
また、このようなサブワード対応のベクトル量子化手段は、上述したように、入力音声の特徴ベクトルの分布を適切に表現したベクトル量子化手段となっているため、少ないコードサイズで高い認識性能を得ることができ、コードサイズを少なくできることからベクトル量子化の演算量を少なくすることができ、出力確率を記憶するためのテーブルサイズも小さくできるので使用するメモリ領域も小さくて済む。
【００３５】
また、サブワードを音素とした場合には、音素対応にベクトル量子化手段を作成することによって、それぞれの音素の特徴ベクトルの分布に適合したベクトル量子化手段とすることができ、それを用いてベクトル量子化を行えば、ベクトル量子化誤差は極力小さく抑えられたものとなる。
【００３６】
また、サブワードを音節とした場合には、音節対応にベクトル量子化手段を作成することによって、それぞれの音節の特徴ベクトルの分布に適合しベクトル量子化手段とすることができ、それを用いてベクトル量子化を行えば、ベクトル量子化誤差は極力小さく抑えられたものとなる。
【００３７】
また、サブワード対応のベクトル量子化手段は、母音によって作成されたベクトル量子化手段と子音によって作成されたベクトル量子化手段としてもよく、これによっても、従来のようにあらゆる音素が含まれる音声データから作成されたベクトル量子化手段に比べれば、ベクトル量子化誤差を小さくすることができる。
【００３８】
また、前記それぞれのサブワードＨＭＭの幾つかのサブワードＨＭＭで、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があれば、それを共有することも可能であり、これによれば、ベクトル量子化手段の数を減らすことができ、ベクトル量子化手段全体のデータサイズを小さくすることができるので、演算量の削減や使用するメモリ領域を少なくすることができる。
【００３９】
また、それぞれのサブワードＨＭＭのある状態ごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があれば、それを共有することも可能であり、これによれば、たとえば、音節ごとにベクトル量子化手段を作成するような場合、それぞれの音節ＨＭＭの状態ごとに、ベクトル量子化手段を共有することができるので、ベクトル量子化手段全体のデータサイズを大幅に小さくすることができる、それによって、演算量の削減や使用するメモリ領域を少なくすることができる。
【００４０】
また、サブワード対応のベクトル量子化手段は、それぞれのベクトル量子化手段ごとにコードサイズをそのサブワードに応じた最適なコードサイズとすることも可能であり、これによれば、それぞれのサブワードに応じた最適なベクトル量子化手段とすることができ、それぞれのサブワードに適したベクトル量子化が行え、より一層、高い認識性能が得られるとともに、認識性能に大きく影響を与えないようなサブワードに対してはコードサイズを極力小さくするということもできるので、ベクトル量子化手段のサイズの無駄を省くこともできる。
【００４１】
また、ベクトル量子化部がベクトル量子化を行う際、入力されたサブワードがベクトル量子化すべきサブワードであるか否かをこの単語・言語テーブルを参照して調べ、ベクトル量子化すべきサブワードでない場合にはベクトル量子化を行わないようにすることもできるので、無駄な処理を省くことができ処理の高速化を図ることができる。
【００４２】
また、ベクトル量子化手段としてコードブックを用いるようにすれば、ベクトル量子化を行うための演算量を少なくすることができ。
【００４３】
本発明のＨＭＭの出力確率演算方法によれば、ベクトル量子化誤差の少ない出力確率を少ない演算量で得ることができ、このＨＭＭの出力確率演算方法を音声認識装置に適用することで、ハードウエア能力に制約のあるシステムであっても高い認識性能を持った音声認識装置とすることができる。
【００４４】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。なお、この実施の形態で説明する内容は、本発明のＨＭＭの出力確率演算方法およびそのＨＭＭの出力確率演算方法を用いた音声認識装置についての説明である。
【００４５】
図１および図２はサブワード対応のベクトル量子化手段（この実施の形態ではベクトル量子化手段としてコードブックを用いることにする）を作成し、そのサブワード対応のコードブックを用いてベクトル量子化を行って、音声認識に必要なパラメータの１つである出力確率をテーブル参照によって得る処理を説明する図であり、図１はサブワードを音素とし、それぞれの音素対応のコードブックによってベクトル量子化し、その量子化結果として得られるコードを用いたテーブル参照を行って出力確率を得る処理を説明するものである。
【００４６】
ここでは音素として母音や子音など２６音素を用い、これらの音素対応にコードブックを作成し、ここでは、それぞれのコードブックのサイズ（コード数Ｋ）はＫ＝６４とする。
【００４７】
そして、それぞれの音素対応のコードブックは、図１において、たとえば、コードブックＣＢ１は、/ａ/の音素ＨＭＭ１１対応し、コードブックＣＢ２は、/ｉ/の音素ＨＭＭ１２に対応するというように、それぞれの音素ＨＭＭに対応している。この図１では、説明を簡単にするために/ａ/と/ｉ/の音素のみが図示されている。
【００４８】
そして、/ａ/の音素ＨＭＭ１１は、その音素ＨＭＭが４状態３ループで表されるとすれば、それぞれの状態遷移ごとにそれぞれ状態出力確率テーブル（以下、単にテーブルという）Ｔ１，Ｔ２，Ｔ３を持っている。
【００４９】
すなわち、テーブルＴ１は状態Ｓ１から状態Ｓ２の状態遷移に対応したテーブルであり、テーブルＴ２は状態Ｓ２から状態Ｓ３の状態遷移に対応したテーブルであり、テーブルＴ３は状態Ｓ３から状態Ｓ４の状態遷移に対応したテーブルである。
【００５０】
なお、状態Ｓ１，Ｓ２，Ｓ３，Ｓ４のうち、状態Ｓ１，Ｓ２，Ｓ３はそれぞれその状態を自己ループする遷移（状態Ｓ１から状態Ｓ１、状態Ｓ２から状態Ｓ２、状態Ｓ３から状態Ｓ３）を有するが、状態Ｓ１から状態Ｓ１への状態遷移については上述のテーブルＴ１を用い、状態Ｓ２から状態Ｓ２への状態遷移についても上述のテーブルＴ２、状態Ｓ３から状態Ｓ３への状態遷移についても上述のテーブルＴ３を用いる。
【００５１】
なお、この場合、コードブックサイズをＫ＝６４としているから、コードブックＣＢ１から出力されるコードＣｔを表すラベルｋ（ｋはラベル番号）は、ｋ＝１，２，・・・，６４のいずれかをとり、それぞれのテーブルＴ１，Ｔ２，Ｔ３には、ラベルｋ＝１，２，・・・，６４に対応した出力確率値が格納されている。
【００５２】
/ｉ/の音素ＨＭＭ１２も  /ａ/の音素と同様に、それぞれの状態遷移ごとにそれぞれテーブルＴ１１，Ｔ１２，Ｔ１３を持ち、テーブルＴ１１は状態Ｓ１１から状態Ｓ１２の状態遷移に対応したテーブル、テーブルＴ１２は状態Ｓ１２から状態Ｓ１３の状態遷移に対応したテーブル、テーブルＴ１３は状態Ｓ１３から状態Ｓ１４の状態遷移に対応したテーブルである。この場合も、それぞれの状態Ｓ１１，Ｓ１２，Ｓ１３をそれぞれ自己ループする遷移についても、上述のテーブルＴ１１，Ｔ１２，Ｔ１３を用いる。
【００５３】
そして、この場合も、コードブックサイズをＫ＝６４としているから、コードブックＣＢ２から出力されるコードＣｔを表すラベルｋ（ｋはラベル番号）は、ｋ＝１，２，・・・，６４のいずれかをとり、それぞれのテーブルＴ１１，Ｔ１２，Ｔ１３には、ラベルｋ＝１，２，・・・，６４に対応した出力確率値が格納されている。
【００５４】
そして、入力音声を所定時間ごとに音声分析し、たとえば１０数次元のＬＰＣケプストラム係数でなる特徴ベクトル列Ｖｔ（ ｔは入力音声を所定時間ごとに区切ったときのそれぞれのフレーム番号であり、入力音声のフレーム数をＴで表せば、ｔ＝１，２，・・・，Ｔ）を得て、その特徴ベクトル列Ｖｔをそれぞれの音素ごとに作成されたコードブックＣＢ１，ＣＢ２，・・・によりベクトル量子化を行ったところ、音素/ａ/に対応するコードブックＣＢ１からコードＣｔを表すラベルｋとしてｋ＝２４が出力されたとする。
【００５５】
このラベルｋ＝２４が  /ａ/の音素ＨＭＭ１１に入力されると、たとえば、状態Ｓ１から状態Ｓ２への状態遷移の際のコードＣｔを出力する確率（出力確率は）は、テーブルＴ１を参照することで得ることができる。
【００５６】
このようにして、あるフレームの特徴ベクトルＶｔ（ｔ＝１，２，・・・）が音素/ａ/のコードブックＣＢ１によってベクトル量子化されて得られたコードＣｔを出力する出力確率は、音素/ａ/の音素ＨＭＭ１１のそれぞれの状態に対応したテーブルＴ１，Ｔ２，Ｔ３を参照することで得ることができる。
【００５７】
同様に、ある入力音声を特徴分析して得られたあるフレームの特徴ベクトルＶｔをそれぞれの音素ごとに作成されたコードブックＣＢ１，ＣＢ２，・・・により、ベクトル量子化を行ったところ、音素/ｉ/のコードブックＣＢ２からコードＣｔを表すラベルｋとしてｋ＝１３が出力されたとする。
【００５８】
このラベルｋ＝１３が  /ｉ/の音素ＨＭＭ１２に入力されると、たとえば、状態Ｓ１１から状態Ｓ１２への状態遷移の際のコードＣｔを出力する確率（出力確率は）は、テーブルＴ１１を参照することで得ることができる。
【００５９】
このようにして、あるフレームの特徴ベクトルＶｔ（ｔ＝１，２，・・・）が音素/ｉ/のコードブックＣＢ２によってベクトル量子化されて得られたコードＣｔを出力する出力確率は、音素/ｉ/の音素ＨＭＭ１２のそれぞれの状態に対応したテーブルＴ１１，Ｔ１２，Ｔ１３を参照することで得ることができる。
【００６０】
このように、この図１の例では、それぞれの音素ごとの音素ＨＭＭに対応したそれぞれの音素対応のコードブックＣＢ１，ＣＢ２，・・・を持ち、入力音声を特徴分析して得られたあるフレームの特徴ベクトルＶｔを、対応するコードブックでコード化してラベルとして出力し、そのラベルを当該コードブックに対応した音素ＨＭＭに与えることで、それぞれの状態対応に設けられたテーブル参照を行うことによって、その音素ＨＭＭのそれぞれの状態における出力確率を得ることができる。
【００６１】
このそれぞれの音素対応のコードブックＣＢ１，ＣＢ２，・・・は、音素ごとの特徴ベクトルの分布に適応したコードブックとなっているので、その音素を表現するにふさわしい内容となっている。したがって、そのコードブックのコードサイズＫはＫ＝６４程度でも、実用的には十分な性能を得ることができる。したがって、ここでの説明のように、音素を２６音素とした場合、２６個のコードブックを必要とするが、この２６個のコードブック全体のコードブックサイズは、２６×６４＝１６６４のコード数で済む。
【００６２】
このように、１つの音素に対するコードブックのコードサイズＫを６４とし、それをそれぞれの音素対応に作成したものと、従来の全ての音素の含まれる音声データから作成された１つのコードブックを用いる場合と比較すると、本発明による個々の音素対応のコードブックを用いた場合は、従来のコードブックサイズを２０４８としたものよりも高い認識性能が得られ、従来のコードブックサイズを４０９６としたもの同等の認識性能が得られることがわかった。
【００６３】
また、コードブックＣＢ１，ＣＢ２，・・・のコードサイズを上述したコードサイズ６４の半分とした３２でも、従来のコードブックサイズを１０２４としたものよりも高い認識性能が得られ、従来のコードブックサイズを２０４８としたもの同等の認識性能が得られることがわかった。このように、コードブックＣＢ１，ＣＢ２，・・・のコードサイズを３２とすれば、全体のコードブックサイズはさらに小さくて済み、この場合、２６×３２＝８３２のコード数で済む。
【００６４】
また、それぞれの音素対応のコードブックのコードサイズは、全ての音素において同じとしてもよいが、音素ごとにコードブックサイズを任意に設定することも可能であり、これによって、音素ごとに最適化が図れる。
【００６５】
以上のように音素対応のコードブックとすることによって、少ないコードサイズで高い認識性能を得ることができ、コードサイズを少なくできることからベクトル量子化の演算量を少なくすることができ、また、出力確率を記憶するためのテーブルサイズも小さくできるので使用するメモリ領域も小さくて済む。
【００６６】
以上はサブワードを音素とした場合について説明したが、音節の場合も同様に考えることができる。サブワードを音節とした場合について図２を参照しながら説明する。
【００６７】
図２はサブワードを音節とし、それぞれの音節対応のコードブックによってベクトル量子化し、その量子化結果として得られるコードを用いたテーブル参照を行って出力確率を得る処理を説明するものである。
【００６８】
この音節対応のコードブックは、説明の都合上、この場合も図１と同様、それぞれのコードブックサイズ（コード数Ｋ）はＫ＝６４としている。
【００６９】
そして、それぞれの音節対応のコードブックは、図２において、たとえば、コードブックＣＢ１１は、/ｋａ/の音節ＨＭＭ２１に対応し、コードブックＣＢ１２は/ｓａ/の音節ＨＭＭ２２に対応するというように、それぞれの音節ＨＭＭに対応している。この図２では、説明を簡単にするために/ｋａ/と/ｓａ/の音節のみが図示されている。
【００７０】
そして、/ｋａ/の音節ＨＭＭ２１は、その音節ＨＭＭ２１が６状態５ループで表されるとすれば、図１の場合と同様に、それぞれの状態遷移ごとにそれぞれテーブル（この場合、Ｔ２１〜Ｔ２５）を持っている。
【００７１】
なお、この場合も図１と同様、コードブックサイズ（コード数Ｋ）をＫ＝６４としているから、コードブック１１から出力されるコードＣｔを表すラベルｋ（ｋはラベル番号）は、ｋ＝１，２，・・・，６４のいずれかをとり、それぞれのテーブルＴ２１〜Ｔ２５には、ラベルｋ＝１，２，・・・，６４に対応した出力確率値が格納されている。
【００７２】
/ｓａ/の音節ＨＭＭ２２もその音節ＨＭＭ２２が６状態５ループで表されるとすれば、  /ｋａ/の音節と同様に、それぞれの状態遷移ごとにそれぞれテーブルＴ３１〜Ｔ３５を持っている。そして、この場合も、コードブックサイズを６４としているから、コードブックＣＢ１２から出力されるコードＣｔを表すラベルｋ（ｋはラベル番号）は、ｋ＝１，２，・・・，６４のいずれかをとり、それぞれのテーブルＴ３１〜Ｔ３５には、ラベルｋ＝１，２，・・・，６４に対応した出力確率値が格納されている。
【００７３】
そして、入力音声を所定時間ごとに音声分析し、たとえば１０数次元のＬＰＣケプストラム係数でなる特徴ベクトル列Ｖｔ（ ｔは入力音声を所定時間ごとに区切ったときのそれぞれのフレーム番号であり、入力音声のフレーム数をＴで表せば、ｔ＝１，２，・・・，Ｔ）を得て、その特徴ベクトル列Ｖｔをそれぞれの音節ごとに作成されたコードブックＣＢ１１，ＣＢ１２，・・・によりベクトル量子化を行ったところ、音節/ｋａ/に対応するコードブックＣＢ１１からコードＣｔを表すラベルｋとしてｋ＝４２が出力されたとする。
【００７４】
このラベルｋ＝４２が  /ｋａ/の音節ＨＭＭ２１に入力されると、たとえば、状態Ｓ２１から状態Ｓ２２の状態遷移の際のコードＣｔを出力する確率（出力確率は）は、テーブルＴ２１を参照することで得ることができる。
【００７５】
このようにして、あるフレームの特徴ベクトルＶｔ（ｔ＝１，２，・・・）が音節/ｋａ/のコードブックＣＢ１１によってベクトル量子化されることによって得られたコードＣｔを出力する出力確率は、音節/ｋａ/の音節ＨＭＭ２１のそれぞれの状態に対応したテーブルＴ２１，Ｔ２２，Ｔ２３，Ｔ２４，Ｔ２５を参照することで得ることができる。
【００７６】
同様に、ある入力音声を特徴分析して得られたあるフレームの特徴ベクトルＶｔをそれぞれの音節対応に作成されたコードブックＣＢ１１，ＣＢ１２，・・・により、ベクトル量子化を行ったところ、音節/ｓａ/のコードブック１２からコードＣｔを表すラベルｋとしてｋ＝３１が出力されたとする。
【００７７】
このラベルｋ＝３１が  /ｓａ/の音節ＨＭＭ２２に入力されると、たとえば、状態Ｓ３１から状態Ｓ３２への状態遷移の際のコードＣｔを出力する確率（出力確率は）は、テーブルＴ３１を参照することで得ることができる。
【００７８】
このようにして、あるフレームの特徴ベクトルＶｔ（ｔ＝１，２，・・・）が音節/ｓａ/のコードブックＣＢ１２によってベクトル量子化されることによって得られたコードＣｔを出力する出力確率は、音節/ｓａ/の音節ＨＭＭ２２のそれぞれの状態に対応したテーブルＴ３１，Ｔ３２，Ｔ３３、Ｔ３４，Ｔ３５を参照することで得ることができる。
【００７９】
このように、図２の例では、それぞれの音節ごとの音節ＨＭＭに対応したそれぞれの音節ごとのコードブックＣＢ１１，ＣＢ１２，・・・を持ち、入力音声を特徴分析して得られたあるフレームの特徴ベクトルＶｔを、対応するコードブックでコード化してラベルとして出力し、そのラベルを当該コードブックに対応した音節ＨＭＭに与えることで、それぞれの状態対応に設けられたテーブル参照を行うことによって、その音節ＨＭＭのそれぞれの状態における出力確率を得ることができる。
【００８０】
なお、この場合もそれぞれの音節ごとのコードブックのコードサイズは、全ての音節において同じとしてもよいが、音節ごとにコードブックサイズを任意に設定することも可能であり、これによって、それぞれの音節ごとに最適化が図れる。
【００８１】
以上、サブワードを音素あるいは音節とした場合の、音素ごとのコードブック、音節ごとのコードブックを作成し、それによって、特徴ベクトルをベクトル量子化し、テーブル参照によって出力確率を求める処理について説明したが、本発明は、それぞれのサブワードＨＭＭのある状態ごとに、それぞれのサブワード対応のコードブックのうちのあるコードブックを共有することを可能としている。これについて幾つかの音節ＨＭＭのある状態ごとにコードブックを共有する場合を例にとって説明する。
【００８２】
図３は多数の音節のうち、たとえば、/ｋａ/、/ｓａ/、/ｋｉ/、/ｋｕ/の音節ＨＭＭモデルをそれぞれ示すもので、図３（ａ）は/ｋａ/の音節ＨＭＭモデル、図３（ｂ）は/ｓａ/の音節ＨＭＭモデル、図３（ｃ）は/ｋｉ/の音節ＨＭＭモデル、図３（ｄ）は/ｋｕ/の音節ＨＭＭモデルを示している。
【００８３】
これらの各音節ＨＭＭにおいて、たとえば、/ｋａ/の音節ＨＭＭ は、この図３（ａ）で示すように、仮に、状態Ｓ２１，Ｓ２２が/ｋ/を表現する部分、状態Ｓ２３〜Ｓ２６が/ａ/を表現する部分というように区分され、また、/ｓａ/の音節ＨＭＭ は、この図３（ｂ）で示すように、仮に、状態Ｓ３１，Ｓ３２が/ｓ/を表現する部分、状態Ｓ３３〜Ｓ３６が/ａ/を表現する部分であるというように区分されたとする。
【００８４】
また、/ｋｉ/の音節ＨＭＭは、この図３（ｃ）に示すようように、仮に、状態Ｓ４１，Ｓ４２が/ｋ/を表現する部分、状態Ｓ４３〜Ｓ４６が/ｉ/を表現する部分であるというように区分され、/ｋｕ/の音節ＨＭＭは、この図３（ｄ）に示すように、仮に、状態Ｓ５１，Ｓ５２が/ｋ/を表現する部分、状態Ｓ５３〜Ｓ５６が/ｕ/を表現する部分であるというように区分されたとする。
【００８５】
このように、それぞれの音節ＨＭＭにおいて、それぞれの状態をそれぞれの音素対応にわけることができるので、それぞれの音節ＨＭＭの状態ごとに、その状態に対応する音素のコードブックを共有することができる。
【００８６】
たとえば、これらの各音節ＨＭＭにおいて、図３（ａ）の/ｋａ/の音節ＨＭＭにおける /ａ/を表現する部分の状態Ｓ２３〜Ｓ２６と、図３（ｂ）の/ｓａ/の音節ＨＭＭにおける/ａ/を表現する部分の状態Ｓ３３〜Ｓ３６に対しては、/ａ/のコードブックを共有する。
【００８７】
また、これらの各音節ＨＭＭにおいて、図３（ａ）の/ｋａ/の音節ＨＭＭにおける /ｋ/を表現する部分の状態Ｓ２１，Ｓ２２と、図３（ｃ）の/ｋｉ/の音節ＨＭＭにおける/ｋ/を表現する部分の状態Ｓ４１，Ｓ４２と、図３（ｄ）の/ｋｕ/の音節ＨＭＭにおける/ｋ/を表現する部分の状態Ｓ５１，Ｓ５２に対しては、それぞれ/ｋ/のコードブックを共有する。
【００８８】
したがって、たとえば、/ｋａ/の音節ＨＭＭにおける出力確率を求める際には、最初の状態Ｓ２１，Ｓ２２においては、共有する/ｋ/のコードブックを用い、その/ｋ/のコードブックによりベクトル量子化されて得られたコード（ラベル）によってテーブル参照を行い、あとの方の状態Ｓ２３〜Ｓ２６においては、共有する/ａ/のコードブックを用い、その/ａ/のコードブックによりベクトル量子化されて得られたコード（ラベル）によってテーブル参照を行うことにより出力確率を得る。
【００８９】
このように、それぞれの音節において、それぞれの音節ＨＭＭの状態ごとに、コードブックを共有することができ、それによって、たとえば、１１０程度の音節に対し音素と同等の２０数個のコードブックで対応することができる。
【００９０】
なお、それぞれの音節ＨＭＭの状態ごとにコードブックを共有する際、たとえば、/ｋａ/の音節ＨＭＭと/ｓａ/の音節ＨＭＭにおいては、それぞれ/ａ/を表現する状態が存在するが、同じ/ａ/であっても、この場合、/ｋａ/の音節ＨＭＭ においては、/ａ/の直前には/ｋ/が存在し、/ｓａ/の音節ＨＭＭ においては、/ａ/の直前には/ｓ/が存在するので、本来は、前後の関係を考慮した/ａ/のコードブックを用いるのが理想であるが、それを考慮しないで作成された/ａ/のコードブックであっても十分な結果を得ることができる。
【００９１】
また、それぞれの音節ＨＭＭにおいて、どの状態がどのような音素を表現するかを判断して、どこで区切るかの区切りを設定したり、それによってどのコードブックを共有させるかを決める処理は、人間の経験的な知識によって行うこともできるが、コンピュータなどによって計算を行い、ある音節ＨＭＭにおいて、どの状態がどのような音素を表現するかを自動的に判断することで、どの音節ＨＭＭのどの状態部分とどの音節のどの状態部分に対してはどのようなコードブックを共有させるかを決めることもできる。
【００９２】
なお、図３に示す例は、説明の都合上、単純に最初の２つの状態とあとの４つの状態で区切った例であるが、たとえば、/ｋａ/の音節ＨＭＭにおいては、状態Ｓ２１，Ｓ２２，Ｓ２３が/ｋ/を表現し、状態Ｓ２４以降が/ａ/を表現し、また、/ｓａ/の音節ＨＭＭにおいては、上述したように、状態Ｓ３１，Ｓ３２が/ｓ/を表現し、状態Ｓ３４以降が/ａ/を表現するというように、それぞれの音節ＨＭＭによって区切られる場所は異なる場合も多い。
【００９３】
このように、それぞれのサブワードＨＭＭ（上述の例は音節ＨＭＭ）のある状態ごとに、サブワードごとのコードブックのうち共有可能なコードブックがあればそれを共有することによって、全体のコードブックサイズを大幅に少なくすることができる。これによって、演算量の削減が図れ、しかも、高い認識性能を維持することができる。
【００９４】
図４は本発明の音声認識装置の概略的な構成図を示すもので、音声を入力する音声入力手段としてのマイクロホン１、入力された音声信号を増幅したりＡ／Ｄ変換する音声信号処理部２、この音声信号入力処理部２で処理された音声信号を所定時間ごとに音声分析し、たとえば１０数次元のＬＰＣケプストラム係数などでなる特徴ベクトル列Ｖｔ（ ｔは入力音声を所定時間ごとに区切ったときのそれぞれのフレーム番号であり、フレーム数をＴで表せば、ｔ＝１，２，・・・，Ｔ）を出力する音声分析部３、この音声分析部３で分析されたそれぞれのフレームごとの特徴ベクトルＶｔをベクトル量子化処理するベクトル量子化処理部４、このベクトル量子化処理部４がベクトル量子化処理を行う際に用いるサブワード対応のベクトル量子化手段（この実施の形態ではコードブック）を記憶したコードブック記憶部５、サブワードＨＭＭ演算に必要な様々なパラメータや前述した状態出力確率テーブルを記憶しているサブワードＨＭＭ記憶部６、このサブワードＨＭＭ記憶部６に記憶されているデータと上述のベクトル量子化部４から出力されたコード（ラベル）を用いて音声認識処理を行い認識結果を出力する音声認識処理部７、この音声認識処理部７や上述のベクトル量子化処理部４がそれぞれの処理を行う際に参照する単語・言語テーブル８を有した構成となっている。
【００９５】
なお、単語・言語テーブル８は音声認識部７が音声認識処理を行う過程で、認識結果に不自然さがあるか否かを判断したり、ベクトル量子化処理部４がベクトル量子化処理を行う過程で、不必要なサブワードに対してはベクトル量子化処理しないようにしたりするために用いられる。
【００９６】
たとえば、音声認識装置が、認識すべき単語や言語数がごく限られた単語のみの認識を行えばよいような場合、その認識すべき単語や言語を単語・言語テーブル８として持っておくことで、音声認識している過程で、この単語・言語テーブル８を参照し、音声認識を行う必要のないサブワードであれば、そのサブワードに対してはベクトル量子化しないようにするということができる。
【００９７】
また、逆に数多くの単語や言語さらには連続音声の認識を行う必要のある場合、入力音声を逐次的に処理することが行われるが、そのような場合、今現在の処理段階において認識すべき単語はどれかを単語・言語テーブル８を参照することで知ることができ、音声認識している過程で、その時点で不必要なサブワードであると判断されれば、そのサブワードに対してはベクトル量子化しないようにするということもできる。
【００９８】
なお、コードブック記憶部５に記憶されるサブワード対応のコードブックは、たとえば、前述したように、サブワードが音素であれば、それぞれの音素ごとに作成されたコードブックであり、これらのコードブックはサブワードＨＭＭ記憶部６に記憶されているそれぞれのサブワード音素ＨＭＭに対応している（図１参照）。
【００９９】
また、サブワードが音節であれば、コードブック記憶部５に記憶されるコードブックは、それぞれの音節ごとに作成されたコードブックであり、これらのコードブックはそれぞれの音節ＨＭＭに対応している（図２参照）。
【０１００】
なお、このとき、前述したように、サブワードＨＭＭのある状態ごとに、前記サブワード対応のコードブックのうちの共有可能なコードブックを共有することもできる。
【０１０１】
このような構成において、音声信号処理部２で増幅やＡ／Ｄ変換された入力音声信号を音声分析部３で分析し、それによって得られたある時刻に対応するフレームの特徴ベクトルＶｔを、それぞれのサブワードごとに作成されたコードブックによりベクトル量子化を行い、あるサブワードに対応するコードブックからコードＣｔを表すラベル値ｋが出力されたとする。
【０１０２】
このラベル値ｋが、対応するサブワードＨＭＭに入力されることで、ある状態ｉからある状態ｊへの状態遷移の際のコードＣｔを出力する確率（出力確率は）を、その状態遷移ijに対応するテーブルを参照することで得ることができる。
【０１０３】
このようにして、それぞれのそれぞれの状態におけるコードＣｔを出力する出力確率をそれぞれの状態に対応したテーブルを参照することで得ることができ、それを入力音声の各時刻対応のフレームごとの特徴ベクトルについて行うことで、最終的な出力確率を得て、それに基づいて音声認識処理部７が音声認識を行う。
【０１０４】
なお、前述したように、ベクトル量子化処理部４がベクトル量子化処理を行う過程で、単語・言語テーブル８を参照することで、不必要なサブワードに対してはベクトル量子化しないようにしたり、音声認識処理部７が音声認識処理を行う過程で、認識結果に不自然さがあるか否かを判断したりすることも行う。
【０１０５】
以上説明したようにこの実施の形態では、サブワードとしての音素や音節ごとにコードブックを有しているので、それぞれのコードブックは、音素あるいは音節の特徴ベクトルの分布に適合したコードブックとすることができる。それによって、それぞれのコードブックサイズは小さくても、ベクトル量子化を行う際の量子化誤差を極力低くすることができる。また、そのベクトル量子化によって得られたコードを出力する確率（出力確率）はテーブル参照で得るが、そのテーブルのサイズもコードブックサイズに伴って小さくすることができる。
【０１０６】
このように、コードブックサイズやテーブルサイズを小さくできることから、演算量を大幅に少なくできるとともに、使用するメモリ領域も小さくすることができる。しかも、コードブックサイズやテーブルサイズを小さくしながら、高い音声認識性を得ることができる。
【０１０７】
さらに、それぞれのサブワードに対応するサブワードＨＭＭのある状態ごとにコードブックを共有することもできる。特に、サブワードとして音節を用いた場合には、それぞれの音節ＨＭＭの状態ごとに共有できるコードブックがあれば、それを共有するといったことも可能であり、それによって、全ての音節に対し音素と同等の２０数個のコードブックで対応することができる。
【０１０８】
なお、本発明は以上説明した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々変形実施可能となるものである。たとえば、前述の実施の形態では、サブワードごとのコードブックとして、音素ごとのコードブックあるいは音節ごとのコードブックを持つようにしたが、これに限られることなく、たとえば、母音で１つのコードブックを作成し、子音で１つのコードブックを作成するようにしてもよい。これは、音素ごとのコードブックあるいは音節ごとのコードブックを持つ場合に比べ、多少大雑把なコードブックとなるが、従来の全ての音声から作成されたコードブックに比べれば、コードブックサイズをそれ程大きくすることなく高い認識性能を得ることができる。
【０１０９】
また、前述の実施の形態では、コードブックを共有する場合、サブワードＨＭＭ（たとえば、音節ＨＭＭ）の状態ごとに、あるコードブックを共有する例について説明したが、サブワードＨＭＭの状態ごとだけでなく、たとえば、/ａ/の音素ＨＭＭと/ｉ/の音素ＨＭＭというように、幾つかのサブワードＨＭＭでコードブックを共有することも可能である。
【０１１０】
また、前述の実施の形態では、ベクトル量子化手段としてコードブックを用いた例について説明したが、他のベクトル量子化手段を用いることもできる。
【０１１１】
また、本発明は、以上説明した本発明を実現するための処理手順が記述された処理プログラムを作成し、その処理プログラムをフロッピィディスク、光ディスク、ハードディスクなどの記録媒体に記録させておくことができ、本発明はその処理プログラムが記録された記録媒体をも含むものである。また、ネットワークから当該処理プログラムを得るようにしてもよい。
【０１１２】
【発明の効果】
以上説明したように本発明によれば、ベクトル量子化を行う際に用いるベクトル量子化手段は、それぞれのサブワード対応のベクトル量子化手段としている。このサブワード対応のベクトル量子化手段は、それぞれのサブワードに対する音声データから作成されたものであるため、入力音声の特徴ベクトルの分布を適切に表現したベクトル量子化手段とすることができ、このようなサブワード対応のベクトル量子化手段を用いてベクトル量子化を行うことによって、ベクトル量子化誤差を最小限に抑えることができる。これによって、この出力確率演算方法を音声認識装置に組み込むことによって高い認識性能を得ることができ、また、個々のベクトル量子化手段のコードサイズを少なくできることからベクトル量子化の演算量を少なくすることができ、出力確率を記憶するためのテーブルサイズも小さくできるので使用するメモリ領域も小さくて済む。
【０１１３】
また、前記それぞれのサブワードＨＭＭの幾つかのサブワードＨＭＭで、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があれば、それを共有することも可能であり、これによれば、ベクトル量子化手段の数を減らすことができ、全体のベクトル量子化手段のデータサイズを小さくすることができるので、演算量の削減や使用するメモリ領域を少なくすることができる。
【０１１４】
また、それぞれのサブワードＨＭＭのある状態ごとに、前記サブワード対応のベクトル量子化手段のうち共有できるベクトル量子化手段があれば、それを共有することも可能であり、これによれば、たとえば、音節ごとにベクトル量子化手段を作成するような場合、それぞれの音節ＨＭＭの状態ごとに、ベクトル量子化手段を共有することができるので、全体のベクトル量子化手段のデータサイズを大幅に小さくすることができる、それによって、演算量の削減や使用するメモリ領域を少なくすることができる。
【０１１５】
このように、本発明のＨＭＭの出力確率演算方法によれば、ベクトル量子化誤差の少ない出力確率を少ない演算量で得ることができ、このＨＭＭの出力確率演算方法を音声認識装置に適用することで、ハードウエア能力に制約のあるシステムであっても高い認識性能を持った音声認識装置とすることができる。
【図面の簡単な説明】
【図１】サブワード対応のコードブックを用いてベクトル量子化を行って音声認識に必要なパラメータの１つである出力確率をテーブル参照によって得る本発明の基本的な処理を説明する図であり、サブワードを音素とした場合について説明する図である。
【図２】図１においてサブワードを音節とした場合について説明する図である。
【図３】サブワードを音節とした場合の幾つかの音節ＨＭＭの状態ごとにコードブックを共有する例について説明する図である。
【図４】本発明の音声認識装置の概略的な構成図である。
【符号の説明】
１  マイクロホン
２  音声信号処理部
３  音声分析部
４  ベクトル量子化処理部
５  コードブック記憶部
６  サブワードＨＭＭ記憶部
７  音声認識処理部
８  単語・言語テーブル
１１  /ａ/の音素ＨＭＭ
１２  /ｉ/の音素ＨＭＭ
２１  /ｋａ/の音節ＨＭＭ
２２  /ｓａ/の音節ＨＭＭ
ＣＢ１  音素/ａ/のコードブック
ＣＢ２  音素/ｉ/のコードブック
ＣＢ１１  音節/ｋａ/のコードブック
ＣＢ１２  音節/ｓａ/のコードブック
Ｔ１，Ｔ２，Ｔ３  /ａ/の音素ＨＭＭの状態出力確率テーブル
Ｔ１１，Ｔ１２，Ｔ１３  /ｉ/の音素ＨＭＭの状態出力確率テーブル
Ｔ２１〜Ｔ２５  /ｋａ/の音節ＨＭＭの状態確率テーブル
Ｔ３１〜Ｔ３５  /ｓａ/の音節ＨＭＭの状態確率テーブル
【図１】
0004048741.tif 000002
【図２】
0004048741.tif 000003
【図３】
0004048741.tif 000004
【図４】
0004048741.tif 000005