(57)【要約】【課題】隠れマルコフモデルアルゴリズムの観測確率の演算装置を提供する。【解決手段】代表音素から抽出されたパラメータの平均と平均値の分布程度とを貯蔵する貯蔵装置、前記貯蔵装置から提供される平均と認識対象となる音声信号から抽出したパラメータとの差を算出する減算器、前記減算器の出力と前記貯蔵装置から提供される分布程度を乗算する乗算器、前記乗算器の乗算結果を自乗する自乗器及び前記自乗器の出力を累算する累算器とを含むことを特徴とする観測確率演算装置。【選択図】　　　図１１
2004038163.tif 000002
【特許請求の範囲】
【請求項１】
入力された音声信号から抽出したパラメータで代表音素から抽出されたパラメータの平均を減算し、前記減算結果と前記平均の分布程度を乗算して第１出力を出力する第１演算部と、
前記第１出力を自乗演算し、前記自乗演算した結果をＮ回累算して第２出力を出力する第２演算部と、
前記第２出力で所定の加重値を減算して第３出力を出力する第３演算部と、
前記第３出力を貯蔵し、貯蔵された複数の第３出力のうち大きい順番にＬ個を抽出して貯蔵する比較部と、を具備することを特徴とする観測確率の演算装置。
【請求項２】
前記比較部は、
前記第３演算部の出力のうち大きい順番にＬ個を貯蔵する第１乃至第Ｌレジスタと、
前記第１乃至第Ｌレジスタに貯蔵された第３演算部の出力が生じた順序を貯蔵する第１乃至第Ｌインデックスレジスタと、を具備することを特徴とする請求項１に記載の観測確率の演算装置。
【請求項３】
前記Ｌは、
３であることを特徴とする請求項２に記載の観測確率の演算装置。
【請求項４】
前記第１出力を貯蔵した後、、前記第２演算部に出力する第１演算レジスタと、
前記第２出力を貯蔵した後、前記第３演算部に出力する第２演算レジスタと、前記第３出力を貯蔵した後、前記比較部に出力する第３演算レジスタと、をさらに具備することを特徴とする請求項１に記載の観測確率の演算装置。
【請求項５】
前記パラメータ、前記平均、前記分布程度及び前記加重値を夫々貯蔵するレジスタをさらに具備することを特徴とする請求項１に記載の観測確率の演算装置。
【請求項６】
前記第１演算部及び前記第２演算部は、
隠れマルコフアルゴリズムの観測確率演算のための次の数式演算を行い、
【数１】
2004038163.tif 000018
ここで、ｉは音素の代表的な類型を表す因数であり、ｊは前記パラメータの個数を表す因数であり、
前記ｖａｒは分布程度／２であることを特徴とする請求項１に記載の観測確率の演算装置。
【請求項７】
前記第１演算部に入力される前記分布程度は、
√２ｖａｒであることを特徴とする請求項６に記載の観測確率の演算装置。
【請求項８】
前記第３出力は、
平均と入力された音声信号とから抽出した前記パラメータの間の確率的な距離であることを特徴とする請求項１に記載の観測確率の演算装置。
【請求項９】
前記パラメータと前記平均とは、
ｍビットであることを特徴とする請求項１に記載の観測確率の演算装置。
【請求項１０】
前記Ｎは、
１３であることを特徴とする請求項１に記載の観測確率の演算装置。
【請求項１１】
入力音声信号から抽出された第２パラメータから前記入力
音声信号の第１パラメータの平均を減算する段階と、
第１出力を得るために前記減算結果を乗算する段階と、
前記第１出力を自乗する段階と、
観測確率値を得るために前記自乗された第１出力を累算する段階と、を具備することを特徴とする観測確率の演算方法。
【請求項１２】
前記乗算する段階は、
前記減算結果に前記平均の分布程度を乗算することを特徴とする請求項１１に記載の観測確率の演算方法。
【請求項１３】
前記第１パラメータは、
入力された音声信号の代表音素であることを特徴とする観測確率の演算方法。
【請求項１４】
前記観測確率値から所定の加重値を減算して第３出力を出力し、前記第３出力は前記観測確率値に反比例することを特徴とする請求項１２に記載の観測確率の演算方法。
【請求項１５】
前記第３出力は前記平均と前記抽出された第２パラメータとの間の確率的な距離であり、
前記観測確率値は前記確率的な距離が近くなるほど増加することを特徴とする観測確率の演算方法。
【請求項１６】
前記第３出力からＬ個の出力を抽出する段階と、
前記Ｌ個の出力のうち検討された観測確率値として大きい順番にＬ個を選択する段階と、を具備することを特徴とする請求項１４に記載の観測確率の演算方法。
【請求項１７】
前記検討された観測確率値は、
音節の連続が前記入力音声信号として認識される最も高い確率を有することを特徴とする請求項１６に記載の観測確率の演算方法。
【請求項１８】
前記観測確率値は、
蓄積された確率であって、前記確率は音節の連続を表すことを特徴とする請求項１１に記載の観測確率の演算方法。
【請求項１９】
入力音声信号から抽出された第２パラメータから前記入力音声信号の第１パラメータの平均を減算する段階と、
第１出力を得るために前記減算結果を乗算する段階と、
前記第１出力を自乗する段階と、
第２出力を得るために前記自乗された第１出力を累算する段階と、
前記第２出力から所定の加重値を減算して第３出力を出力する段階と、
前記第３出力からＬ個の出力を抽出する段階と、
前記Ｌ個の出力のうち大きい順番にＬ個を選択し、前記選択されたＬ個の出力は認識された音声信号に対応することを特徴とする音声信号の認識方法。
【請求項２０】
請求項１９記載の方法によって音声信号を認識する音声信号の認識装置。
【請求項２１】
請求項１記載の観測確率の演算装置を具備する音声認識装置。
【請求項２２】
請求項１１記載の方法によって観測確率値を計算する観測確率の演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は音声認識装置に係り、特に、音声認識に利用される隠れマルコフモデルアルゴリズム（Ｈｉｄｄｅｎ　Ｍａｒｋｏｖ　ｍｏｄｅｌ　ａｌｇｏｒｉｔｈｍ）のうち演算量の最も多い観測確率の演算機能を遂行する観測確率の演算装置に関する。
【０００２】
【従来の技術】
音声認識機能は、人間が日常生活で接するほぼ全ての電子製品にその適用範囲が拡大される見通しである。音声認識と関連して最初の使用化技術を提示した会社はＩＢＭ社であって、文字認識に初めて隠れマルコフモデルアルゴリズムを適用して隠れマルコフモデルの効率性を立証した。（特許文献１参照）
【０００３】
特許文献１は汎用プロセッサで隠れマルコフモデルアルゴリズムをプログラムとして具現してアルゴリズムの効率性を確認した。
特許文献１に開示された音声認識方法は３つに分けられるが、夫々前処理部分、フロント・エンド部分、モデリング部分である。
前処理部分は、処理対象である文字についての語彙素を認知する段階である。フロント・エンド部分は、認知された語彙素から比較対象になる特徴値（Ｆｅａｔｕｒｅ　ｖａｌｕｅ）またはパラメータを抽出する。モデリング部分では、抽出したパラメータを根拠として認知された文字についての正確な判断基準になるモデルを学習過程を通じて構成する。このように認知された語彙素をベースに予め指定された文字のうちいかなる文字を認識された文字に判断するかを決定する機能を行う。
【０００４】
以後、ＩＢＭ社ではより広範囲な領域で使用できる隠れマルコフモデルアルゴリズムを利用した音声認識システム及び方法を公開した（特許文献２参照）。この技術は孤立語についての音声認識処理過程に隠れマルコフモデルを利用する技術であって、音声学的に異なる単語が認識できるように訓練され、そして、多くの単語を認識するに適した隠れマルコフモデルを使用する方法及び音声認識システムに関する。
かかる音声認識装置を具現するにおいて、音声認識に必要な演算時間を縮めることが要求される。観察したところによると、隠れマルコフモデルアルゴリズムを使用する音声認識装置において、観測確率演算が全体演算の約６２％程度を占めており、そのような演算速度を改善する必要がある。
【０００５】
【特許文献１】
ＵＳ５，６３６，２９１号公報（１９９７．０６）
【特許文献２】
ＵＳ５，７９９，２７８号公報（１９９８．０８）
【０００６】
【発明が解決しようとする課題】
本発明が解決しようとする技術的な課題は、隠れマルコフモデルアルゴリズムのうち最も多い演算を占める観測確率演算を遂行する専用ハードウェア装置を提供するところにある。
【０００７】
【課題を解決するための手段】
前記技術的な課題を解決するための本発明の第１実施例による観測確率の演算装置は、第１乃至第３演算部及び比較部を具備する。
第１演算部は、入力された音声信号から抽出したパラメータ（Ｆｅａｔｕｒｅ）で、代表音素から抽出されたパラメータの平均（Ｍｅａｎ）を減算し、前記減算結果と前記平均（Ｍｅａｎ）の分布程度（分散、Ｐｒｅｃｉｓｉｏｎ）とを乗算して第１出力を出力する。
【０００８】
第２演算部は、前記第１出力を自乗演算し、前記自乗演算した結果をＮ回累算して第２出力を出力する。第３演算部は前記第２出力で所定の加重値（Ｇｃｏｎｓｔ）を減算して第３出力を出力する。
比較部は前記第３出力を貯蔵し、貯蔵された複数の第３出力のうち大きい順番にＬ個を抽出して貯蔵する。
【０００９】
前記技術的課題を解決するための本発明の第２実施例による観測確率の演算方法は、入力音声信号から抽出された第２パラメータから前記入力音声信号の第１パラメータの平均を減算する段階、第１出力を得るために前記減算結果を乗算する段階、前記第１出力を自乗する段階及び観測確率値を得るために前記自乗された第１出力を累算する段階を具備することを特徴とする。
前記乗算する段階は、前記減算結果に前記平均の分布程度を乗算することを特徴とする。前記第１パラメータは入力された音声信号の代表音素である。
【００１０】
前記技術的課題を解決するための本発明の第３実施例による音声信号の認識方法は、入力音声信号から抽出された第２パラメータから前記入力音声信号の第１パラメータの平均を減算する段階、第１出力を得るために前記減算結果を乗算する段階、前記第１出力を自乗する段階及び第２出力を得るために前記自乗された第１出力を累算する段階、前記第２出力で所定の加重値を減算して第３出力を出力する段階、前記第３出力からＬ個の出力を抽出する段階及び前記Ｌ個の出力のうち大きい順番にＬ個を選択し、前記選択されたＬ個の出力は認識された音声信号に対応されることを特徴とする。
【００１１】
前記技術的課題を解決するための本発明の第４実施例による音声信号の認識装置は、本発明の第３実施例による音声信号の認識方法によって音声信号を認識する。
前記技術的課題を解決するための本発明の第５実施例による音声認識装置は、本発明の第１実施例による観測確率の演算装置を具備する。
前記技術的課題を解決するための本発明の第６実施例による観測確率の演算装置は本発明の第２実施例による観測確率の演算方法によって観測確率値を計算する。
【００１２】
【発明の実施の形態】
本発明と本発明の動作上のメリット及び本発明の実施とによって達成される目的を十分に理解するためには本発明の望ましい実施例を例示する図面及び図面に記載された内容を参照せねばならない。
以下、添付した図面に基づき、本発明の望ましい実施例を説明することによって、本発明を詳しく説明する。各図面に示す同じ符号は同じ部材を示す。
【００１３】
図１は、一般的な音声認識システムの構成を示すブロック図である。
図１を参照すれば、Ａ／Ｄブロック１０１は連続信号として入力される音声信号を演算が容易なデジタル信号に変える。プレエンファシス・ブロック１０２は音声信号の特徴的な発音区分を明確にするために高周波成分を強調する。デジタル信号に変わった音声信号は一定個数のサンプル単位に分離されてサンプリング処理するが、ここでは２４０個のサンプル（３０ｍｓ）単位に区分される。
【００１４】
現在、隠れマルコフモデルに使われる特徴ベクトルとしてスペクトルから発生されたケプストラム（Ｃｅｐｓｔｒｕｍ）とエネルギーとが一般的に使われる。従って、ケプストラムとエネルギーとを求める演算が必要であり、かかるエネルギー及びスペクトルを求める演算ブロックがエネルギー計算ブロック１０３である。
【００１５】
ここで、エネルギーを求めるためにタイミング領域でエネルギー計算公式を利用して３０ｍｓについての瞬間エネルギーを計算する。この計算式は数式１の通りである。
【数２】
2004038163.tif 000003
【００１６】
このエネルギー値は現在入力された信号が音声信号か否かを判断するのに使われる。このように周波数領域でのスペクトルを求めるためには、信号処理に多用される高速フーリエ変換を利用する。このスペクトルは２５６ポイントＦＦＴ演算を通じて得られる。かかるＦＦＴ演算は２５６ポイントコンプレックスＦＦＴ演算を遂行して数式２のように表す。
【数３】
2004038163.tif 000004
【００１７】
エネルギー演算結果を利用して音声信号かいなかを判別した後、音声信号と判明されると音声の開始と終了とを決定せねばならない。かかる音声信号の開始と終了とを決定する機能は、終了端判定ブロック１０４で遂行される。このように有効な１つの単語が決まれば、それに該当するスペクトルデータだけがバッファブロック１０５に貯蔵される。従って、バッファブロック１０５には話者より発音された単語のうち雑音部分が除かれた有効な音声信号のみが貯蔵される。
【００１８】
メル−フィルタ（Ｍｅｌ−ｆｉｌｔｅｒ）・ブロック１０６ではスペクトル値よりケプストラムを求めるための前処理過程であって、３２帯域幅にフィルタリングするメル−フィルタ演算が遂行される。
この過程を通じて、３２個の帯域についてのスペクトル値が求められる。周波数領域にあるこの数値を再び時間領域に変換すれば、隠れマルコフモデルで使用するパラメータであるケプストラムが求められる。かかる時間領域への変換のために逆離散コサイン変換（ＩＤＣＴ）演算がＩＤＣＴブロック１０７で遂行される。
【００１９】
隠れマルコフモデルを利用した探索のために、かかるケプストラムとエネルギー値とが使われるが、エネルギー値とケプストラムとの間の数値差があまりにも大きいために（１０の２乗の大きさの差）、かかる数値間の大きさ調節が必要である。かかる数値の大きさ調節がスケールブロック１０８で遂行される。数値の調節はロガリズムを利用して調節する。
【００２０】
これと共に、ケプストラム・ウィンドウ・ブロック１０９ではＭｅｌ−ｃｅｐｓｔｒｕｍ値から周期性とエネルギーとを分離する作業と雑音特性を改善するための作業とを遂行する。ここで、雑音特性を改善するのは数式３を利用して計算する。
【数４】
2004038163.tif 000005
【００２１】
ここで、Ｓｉｎ＿Ｔａｂｌｅは次の数式４のように構成できる。
【数５】
2004038163.tif 000006
【００２２】
以上の演算が完了すれば、次のような正規化ブロック１１０を通じて各フレームの９番目のデータであるエネルギー値を一定の範囲内の数値に正規化させる。
【数６】
2004038163.tif 000007
【００２３】
数式５のように各フレームの９番目のデータのうち最も大きい数値を求め、この数値を数式６のようにあらゆるフレームのエネルギーデータから差し引くとノーマライズされたエネルギーが求められる。
【数７】
2004038163.tif 000008
【００２４】
一般的に、音声信号の認識率を高めるためにパラメータの種類を増やす方法が頻繁に使われる。最もよく使われる方法が各フレームの特徴値の外にフレームとフレームとの間の特徴値の差をもう１つの特徴値として取ることである。かかるもう１つの特徴値をデルタケプストラムという。
動的特性ブロック１１１は、このようなデルタケプストラムを計算して２次特徴値に選定する部分である。ケプストラム間の差を計算する方法は数式７のようである。
【数８】
2004038163.tif 000009
【００２５】
一般的に、演算対象フレームは表と裏の夫々２フレームずつである。かかる演算が完了すれば、ケプストラムと同じ数のデルタケプストラムが生成される。以上のような作業を通じて隠れマルコフモデル探索の対象となる特徴値を抽出する。
かかる特徴値から予め決められた隠れマルコフモデルを利用した単語探索作業が行われる。隠れマルコフモデルを利用した単語探索作業は、大きく３つの段階を経る。第一に、観測確率計算ブロック１１２である。基本的に単語探索及び決定過程は確率を根拠とする。確率的に最も近似した音節を探し出す。
【００２６】
確率値は大きく観測確率と遷移確率とに分かれ、このような確率値を累積して確率値が最も大きい音節のシーケンスが選択される。観測確率は数式８のように示すことができる。
【数９】
2004038163.tif 000010
【００２７】
ここで、ｄｂｘ値は基準平均値（Ｍｅａｎ）と入力される音声信号から抽出した特徴値間の確率的な距離である。確率的な距離が近いほど確率的に大きい数値になる。
ここで、Ｆｅａｔｕｒｅ値は入力された音声信号から抽出したパラメータ値であり、Ｍｅａｎ値はパラメータの平均値を示し、ｖａｒ値は分布程度（Ｐｒｅｃｉｓｉｏｎ）／２である。Ｐｒｅｃｉｓｉｏｎ値は分布程度（分散１／σ２）を示す。Ｇｃｏｎｓｔ値は加重値を示す。ｉは音素の代表的な類型を表すミクスチュアを示す。
例えば、認識の正確度を高めるために多くの人々から代表値を得ることが必要であり、これらの代表値を１つの音素について共通類型を表す幾つかのグループに分類すれば、ｉは各グループの代表値を示す因数となる。ｊはパラメータの個数を示す。参考までにフレームの個数は単語の類型によって異なり、ミクスチュアは一般人の発音類型によって多様に分類されうる。
【００２８】
このように計算された観測確率は、予め選定された各単語の音節の音素が観測できる確率であり、該当音素ごとに夫々違う確率値を有する。従って、あらゆる音素についての観測確率が定められると、これを予め定められたステート・マシン・シーケンスブロック１１３に適用して、最も適した音素のシーケンスを求めるようになる。
一般的に、独立語の認識のための隠れマルコフモデルの各ステート・マシンは認識しようとする単語の各音素についての特徴値を根拠に行われたシーケンスである。
【００２９】
図２は、任意の音節についての状態列を求める方法を示す図面である。
“ク”という音節が３つの順次的の状態列Ｓ１、Ｓ２、Ｓ３よりなると仮定する時、図２では最初状態Ｓ０から出発してＳ１及びＳ２を経て最終的にＳ３に到達する過程を示している。
図２において、同じ状態で右側に進行するのは遅延状態を意味し、かかる遅延状態は話者依存的である。すなわち、ある場合において“ク”という音節が時間的に非常に短く生じうるが、他の場合においては相対的に長い時間に生じうる。ある音節の発生時間が長いほど各状態での遅延が長くなる。図２においてＳｉｌは黙音を示す。
【００３０】
もし、使用者が“ク”と発音した場合、この状態列が最も大きい確率値を有する。従って、図２のような多くの状態列が存在するようになり、夫々の状態列ごとに１つの入力信号についての確率演算が行われるので、多くの演算量が必要である。
最終的に、全ての音素についての確率的な演算（音素別状態列の処理作業）が完了すれば、音素別最終段の状態（ステート・マシーン）には確率値が貯蔵される。図２で各状態段を進行する基準は、次の数式９を利用して最大のブランチを選択して、Ａｌｐｈａ値を求めることである。
【００３１】
かかるＡｌｐｈａ値は、結局観測確率が累積された数値であって、以前の観測確率値と予め経験的な実験を通じて得た音素間の遷移確率を利用して求める。
【数１０】
2004038163.tif 000011
【００３２】
ここで、Ｓｔａｔｅ．Ａｌｐｈａ値は、新しく計算されて累積される確率値であり、Ｓｔａｔｅ．Ａｌｐｈａ＿ｐｒｅｖ値は、今まで累積された確率値である。また、ｔｒａｎｓ＿ｐｒｏｂ［０］は、状態ＳｎからＳｎに遷移する確率であり（例、Ｓ０→Ｓ０）、ｔｒａｎｓ＿ｐｒｏｂ［１］は、状態Ｓｎから状態Ｓｎ＋１に遷移する確率である（例、Ｓ０→Ｓ１）。そして、ｏ＿ｐｒｏｂ値は、現在の状態で計算された観測確率である。
【００３３】
図１の最大尤度ファインダ・ブロック１１４では数式９のように音素別に最終累積された確率値を根拠として認識された単語を選択する機能を遂行する。この時、確率値の最も大きい該当単語を認識された単語に選択する。
“ＫＢＳ”という単語を認識するための過程を例に挙げて説明する。
“ＫＢＳ”という単語は、“ケイ”、“ビー”、“エス”の３つの音節よりなり、また、“ケイ”という音節は、“ク”、“エ”、“イ”の３つの音素より構成され、“ビー”という音節は、“ブ”と“イ”の音素よりなり、“エス”という音節は、“イ”、“エ”、そして“ス”の３つの音素よりなる。
【００３４】
“ＫＢＳ”という単語は、、“ク”、“エ”、“イ”、“ブ”、“イ”、“イ”、“エ”、そして“ス”という８つの音素よりなり、各音素の観測確率と各音素間の遷移確率によって認識される。
すなわち、“ＫＢＳ”という単語を認識するためには“ク”、“エ”、“イ”、“ブ”、“イ”、“イ”、“エ”、そして“ス”という８つの音素が最も正確に認識されねばならず、それをベースとして各音素間のシーケンスが最も類似した単語である“ＫＢＳ”が選択されねばならない。
【００３５】
先に入力された音声信号について各音素別に観測確率が計算される。観測確率を計算するためにデータベースに貯蔵された代表音素との類似程度、すなわち、確率が計算され、確率が最も大きい代表音素についての確率が観測確率になる。例えば、“ク”という音素についてデータベースに貯蔵された代表音素の全てが比較され、そのうち最も高い確率の“ク”という代表音素が選択される。
【００３６】
入力された音声信号について各音素別に観測確率が計算されれば、すなわち、音声信号の各音素についての代表音素が決定されれば、入力された音声信号をこれらの代表音素よりなるステート・マシン・シーケンスに適用させて最も適したシーケンスを決定する。
ステート・マシン・シーケンスは“ク”、“エ”、“イ”、“ブ”、“イ”、“イ”、“エ”、そして“ス”という８つの音素よりなり、各音素の観測確率及びそれらの累積値が最も大きい単語である“ＫＢＳ”が選択される。夫々の音素は細かく３つのステートに別れる。
【００３７】
図３は、単語認識についての過程を図式的に示す図面である。
例えば、“ＫＢＳ”という単語を認識するために観測確率演算ブロック１１２を通じて夫々の音素“ク”、“エ”、“イ”、“ブ”、“イ”、“イ”、“エ”、そして“ス”という８つの音素についての観測確率が計算され、ステート・マシン１１３を通じて各音素の観測確率及びこれらの累積値が最も大きい単語の“ＫＢＳ”が選択される。
【００３８】
一般的に、既存の多くの音声認識製品は前記の機能をソフトウェア（Ｃ／Ｃ＋＋言語）や機械語で設計し、汎用プロセッサを利用して機能を行う。
さらに他の使用形態は専用ハードウェア（ＡＳＩＣ、ＡｐｐｌｉｃａｔｉｏｎＳｐｅｃｉｆｉｃ　Ｉｎｔｅｇｒａｔｅｄ　Ｃｉｒｃｕｉｔ）で具現して行うこともある。かかる２つの方法は夫々長短がある。ソフトウェアで処理する方式は、演算時間が相対的に長くかかるが、柔軟性が高くて機能変更が容易に可能である。
【００３９】
一方、専用ハードウェアで処理する方式は、ソフトウェアで処理する方法に比べて相対的に処理速度が速くて、経済的な電力消耗を示すが、柔軟性がなくて機能変更が不可能である。
従って、機能変更の容易なソフトウェア方式に適すると共に、相対的に処理速度の速いハードウェアを製作すれば望ましい。
【００４０】
図４は、ソフトウェア処理方式として汎用プロセッサを使用する場合、各機能を遂行するに所要される演算数を示す。
ここで、演算数は実際の命令語数ではなく、乗算、加算、ログ、指数演算のような演算回数を示す。
図４で分かるように、一般的な音声認識処理に必要な総演算数は約１００，０００個であり、この中で８８．８％が観測確率演算である。
【００４１】
表１は、ＡＲＭプロセッサを利用して音声認識機能を遂行するに消費される命令語数を表に示したものである。
【表１】
2004038163.tif 000012
【００４２】
表１を参照すれば、音声認識機能を遂行するに必要な全体命令語数は、約３千６百万個であり、このうち約２千２百万の命令語が隠れマルコフモデル検索に使われることが分かる。（表１の１行目のｏｂｓｅｒｖａｔｉｏｎ　ｐｒｏｂａｂｉｌｉｔｙ演算（ＨＭＭ）参照）全体の６２％を占める。ここで、命令語ＣＹＣＬＥ数は実際の命令語数ではなく、乗算、加算、ログ、指数演算のような演算回数を示す。
一番多い命令語が遂行される観測確率の演算部分をハードウェアで構成して演算処理速度を向上させ、消費電力を減少させうる。
観測確率演算を少ない命令語、すなわち、少ないサイクルでも行うことのできる専用装置について説明する。
【００４３】
観測確率の計算部分の中で最も演算量の多い確率的な距離の計算式は、次の数式１０で表現される。
【数１１】
2004038163.tif 000013
【００４４】
ここで、ｍは、パラメータの平均値を示し、Ｆｅａｔｕｒｅ値は、入力された信号から抽出したパラメータ値を意味する。ｐは、Ｐｒｅｃｉｓｉｏｎ値として分布程度（分散１／σ２）を示し、ｌｗ値はＬｏｇ　ｗｅｉｇｈｔであって、加重値を示す。ｉは、音素の代表的な類型を表すミクスチュアを示す。Ｌｏｇ　Ｗｅｉｇｈｔ値は線形領域での加重値計算がログ領域での加重値計算に変換されつつ減算される。
観測確率の計算能力を改善するために、最も演算量の多い確率的な距離の計算を表す数式９から数式１０のような演算を１つの命令語で行うことのできる専用装置を提示する。
【００４５】
【数１２】
2004038163.tif 000014
【００４６】
ここで、ｐ［ｉ］［ｊ］は、Ｐｒｅｃｉｓｉｏｎ値であって分布程度（分散、１／σ２）を示し、ｍｅａｎ［ｉ］［ｊ］は、各音素の平均値、そしてｆｅａｔｕｒｅ［ｋ］［ｊ］は、音素についてのパラメータ値であって、エネルギーとケプストラムとを意味する。数式１１で、ｍｅａｎ［ｉ］［ｊ］−ｆｅａｔｕｒｅ［ｋ］［ｊ］は、確率的に入力された音素のパラメータが予め定義された代表パラメータとどのくらい差（距離）があるかを表して絶対的な確率的距離を計算するために自乗する。そして、ここに分散を掛け合わせると、客観的な実際距離が予測できる。ここで、代表パラメータ値は数多くの音声データを通じて経験的に得られた数値であって、多様な人から得られた音声データが多ければ多いほど認識率は改善される。
【００４７】
しかし、専用装置はハードウェアの制限的な特性、すなわち、データビット（１６ビット）の限界を考慮して認識率を最大限に高めるために数式１２のような演算を行う。
【数１３】
2004038163.tif 000015
【００４８】
ここで、ｐ［ｉ］［ｊ］は、式（１１）での分散１／σ２とは異なって、分布程度を表す１／σである。分散１／σ２の代りに分布程度１／σを使用する理由は、次の通りである。
数式１１によれば、（ｍ［ｉ］［ｊ］−ｆｅａｔｕｒｅ［ｉ］［ｊ］を自乗した結果とｐ［ｉ］［ｊ］とを乗算しているが、数式１２によれば、ｐ［ｉ］［ｊ］・（ｍ［ｉ］［ｊ］−ｆｅａｔｕｒｅ［ｉ］［ｊ］）を演算した結果を自乗している。
数式１１によれば、ｐ［ｉ］［ｊ］を表現するために自乗する結果と同じ程度のビット解像度が必要であるが、数式１２によれば、（ｍ［ｉ］［ｊ］−ｆｅａｔｕｒｅ［ｉ］［ｊ］）の結果ほどのビット解像度だけが必要であることを意味する。
【００４９】
言い換えれば、１６ビットのビット解像度を維持するためには数式１１によれば、ｐ［ｉ］［ｊ］を表現するために３２ビットが必要であるが、数式１２によれば、ｐ［ｉ］［ｊ］を表現するために１６ビットだけが必要である。一方、数式１２によれば、ｐ［ｉ］［ｊ］・（ｍ［ｉ］［ｊ］−ｆｅａｔｕｒｅ［ｉ］［ｊ］）を演算した結果を自乗しているので、結果的に数式９でのように１／σ２を使用したのと類似した効果が得られる。
【００５０】
図５は、観測確率の演算装置の構成を示すブロック図である。図５に示す装置は、減算器５０５、乗算器５０６、自乗器５０７、そして、累算器５０８を具備する。５０２、５０３、５０４、及び５０９はレジスタを示す。
外部貯蔵装置５０１は、データベース化された貯蔵装置であって、あらゆる代表音素についてのｐｒｅｓｉｏｎ値、ｍｅａｎ値、ｆｅａｔｕｒｅ値を貯蔵する。ここで、ｐｒｅｃｉｓｉｏｎ値は分布程度（１／σ）を示し、ｍｅａｎ値は各代表音素を表すパラメータ（エネルギーとケプストラム）の平均値、そしてｆｅａｔｕｒｅ［ｋ］［ｊ］は音素についてのパラメータ値でエネルギーとケプストラムとを意味する。
【００５１】
図５に示された装置において、まず減算器５０５を利用してｍｅａｎ値とｆｒｅｔｕｒｅ値との差を求め、その結果は実際距離を求めるために乗算器５０６を通じて分散程度（１／σ）が乗じられる。この結果は絶対的な差を求めるために自乗器５０７を通じて自乗を求めて、今までのパラメータとの累積のために加算器５０８を使用する。
すなわち、数式１２に表現される結果を乗算器５０６で得て、数式９に表現されたΣ演算の結果を累算器５０８で得る。
【００５２】
外部貯蔵装置には、ｐ［ｉ］［ｊ］、ｍｅａｎ［ｉ］［ｊ］、そしてｆｅａｔｕｒｅ［ｉ］［ｊ］が貯蔵され、これらが所定の順序によって順次にレジスタ５０２、５０３、５０４に提供される。所定の順序はｉ、ｊが順次に増えるように設定される。
ｉ、ｊを変えながら、ｐ［ｉ］［ｊ］、ｍｅａｎ［ｉ］［ｊ］、そしてｆｅａｔｕｒｅ［ｉ］［ｊ］が順次にレジスタ５０２、５０３、５０４に提供され、レジスタ５０９で最終的に累積された観測確率が求められる。
かかる確率の累積計算によって、最も確率的に類似した音素がある場合、その音素は最大値を有する。演算の開始端と終了端のレジスタ５０２、５０３、５０４、５０９はデータの安定化するために使われる。
【００５３】
図５に示す装置において、データのビット解像度はプロセッサの構造によって異なることもあり、ビット数が大きいほど詳細なる計算結果が得られる。しかし、そのようなビット解像度は回路の大きさと関連しているので、認識率を考慮して適切な解像度を選定しなければならない。
【００５４】
図６は、ビット解像度の選定についての理解を求めるために示されたものである。ビット解像度の選定についての一例として、図６は１６ビット解像度を有するプロセッサについての内部ビット解像度を示した。ここで、各段階の切断過程は１６ビットデータ幅の限界によるものであって、極力性能低下を防ぐための選択である。本発明で提示した装置を利用すれば、汎用プロセッサのみを使用する場合に比べて処理速度の側面で多くの改善を果たせる。
ｆｅａｔｕｒｅ値及びｍｅａｎ値は夫々４ビットの整数と１２ビットの素数とよりなる。これらのｆｅａｔｕｒｅ値及びｍｅａｎ値を減算器５０５を通じて減算してやはり４ビットの整数と１２ビットの素数よりなる結果値を得る。
【００５５】
ｐｒｅｃｉｓｉｏｎ値は７ビットの整数と９ビットの素数とよりなる。ｐｒｅｃｉｓｉｏｎ値及び減算器５０５の減算結果を乗算器５０６を通じて乗算し、１０ビットの整数と６ビットの素数とよりなる結果値を得る。
乗算器５０６の結果値を自乗器５０７を通じて自乗して２０ビットの整数と１２ビットの素数とよりなる結果値を得、それらを加算器５０８を通じて加算及びスケール演算して２１ビットの整数と１１ビットの素数とよりなる結果値を得る。
表２は、一般的に多く使われる隠れマルコフモデルを使用した音声認識アルゴリズムを汎用プロセッサ（ＡＲＭ　Ｓｅｒｉｅｓ）で遂行させた場合と本発明で提示した観測確率の計算専用装置を採択した専用プロセッサに遂行させた場合とを比較分析したものである。
【００５６】
【表２】
2004038163.tif 000016
【００５７】
表２からもわかるとおり、汎用プロセッサは音声認識機能を遂行するのに約３千６百万サイクルが行わる一方、専用装置を採用した専用プロセッサはその半分である１千５百万サイクルで必要機能が行える。従って、殆どリアルタイムの音声認識処理が可能であり、これは、言い換えれば、低いクロック周波数でも汎用プロセッサと同じ性能を発揮するので、消費電力の側面でも効果を果たせることを意味する。参考に、電力消耗量とクロック周波数との関係は数式１３のように示される。
【００５８】
【数１４】
2004038163.tif 000017
ここで、Ｐは電力消耗量であり、Ｃは回路を構成するキャパシタンス値を示す。ｆは回路内信号の全体遷移程度を示すが、その大部分をクロック速度が左右する。Ｖは供給電圧である。従って、クロック速度を半分に落とすと、理論的には電力消耗量も半分に減ることになる。
【００５９】
前述した装置は、図５でのように外部貯蔵装置５０１に予め経験的な方法によって得た類型別の代表音素の平均パラメータと遷移確率値、そして、分布程度と新しく入力された音声から抽出したパラメータを貯蔵しておく。かかるデータは、一旦専用装置内部のレジスタ５０２、５０３、５０４に貯蔵されるが、これは外部のデータ変化による信号変化を最小化するためであって電力消耗と深い関係がある。内部レジスタに貯蔵されたデータのうち入力された音声から抽出されたパラメータと予め貯蔵された平均パラメータとはその差を求めるために減算器５０５を通じて減算する。
【００６０】
この結果は、乗算器５０６を通じて分散程度（１／σ）を表すＰｒｅｃｉｓｉｏｎと乗じられ、再び自乗器５０７を通じて実質的な確率的距離を計算する。この数値は単語を形成する多くの音声パラメータフレームの中、時間的に現在のパラメータだけを計算したのであって、加算器５０８を通じて今まで計算された確率的な距離と加算されて累積されねばならない。累積演算のために加算器５０８と一緒にレジスタ５０９が使われてレジスタに貯蔵されたデータは次の演算のために加算器５０８に提供される。
【００６１】
かかるレジスタは累積演算のためだけではなく、信号遷移の最小化のためにも使われねばならない。以上の過程は予め定められた各音素について同じく適用されて各音素別／状態別に該当貯蔵場所にその数値が貯蔵される。結果的に入力された単語についてのあらゆるパラメータについての演算が完了すれば、各単語の音素別に累積された数値のうち最大値が確率的に最も類似した単語として認識されうる。このように累積された数値を利用して最終認識された単語を判断するのは既存プロセッサで行う。
【００６２】
図７は、図５の観測確率の演算装置の適用例を示すために示されたものである。図７に示された装置は話者独立の音声認識の専用プロセッサであって３バスシステム方式を使用する。本発明による観測確率の演算装置は、図７に示されたＨＭＭモジュール７２８の内部に具現され、各構成モジュールはデータのための３つのバス（２つの読み取りバスと１つの書き込みバス）動作コードのための２つのＯＰｃｏｄｅバスを共有する。
【００６３】
図７において、制御部７０２は汎用のプロセッサを意味し、ＲＥＧ　ＦＩＬＥ　７０４はレジスタファイル機能を遂行するモジュールを意味し、ＡＬＵ７０６はアリスマティックロジックを遂行するモジュールを意味し、ＭＡＣ７０８は乗加算機能を遂行することを意味して、Ｂ　ＳＨＩＦＴＥＲ　７１０はバレルシフト機能を遂行するモジュールを意味して、ＦＦＴ　７１２はＦＦＴ演算を遂行するモジュールを意味して、ＳＱＲＴ　７１４は自乗根演算機能を遂行するモジュールを意味して、ＴＩＭＥＲ　７１６はタイマー機能を遂行するモジュールを示して、ＣＬＫＧＥＮ　７１８はクロック発生機能を遂行するモジュールを示す。ＣＬＫＧＥＮ　７１８は図７に示す装置の内部あるいは外部から提供されるクロック信号を通させて図７に示された各構成モジュールに提供されるクロック信号を発生し、特に、低電力消耗のためにクロック速度を調整する。
【００６４】
同じく、プログラムメモリ（ＰＭＥＭ、７２０）、プログラムメモリインタフェース（ＰＭＩＦ、７２２）、外部インタフェース（ＥＸＩＦ、７２４）、メモリインタフェース（ＭＥＭＩＦ、７２６）、観測確率演算（ＨＭＭ、７２８）、直列インタフェース（ＳＩＦ、７３０）、非同期式直列インタフェース（ＵＡＲＴ、７３２）、汎用インタフェース（ＧＰＩＯ、７３４）、コーデックインタフェース（ＣＯＤＥＣ　ＩＦ、７３６）、そして、コーデック（ＣＯＤＥＣ、７４０）と表記されたものは夫々プログラムメモリ、プログラムメモリインタフェース、外部インタフェース、メモリインタフェース、隠れマルコフモデル演算、同期式直列インタフェース、非同期式直列インタフェース、汎用入出力、コーデックインタフェース、そして、コーデック機能を遂行するモジュールである。特に、ＨＭＭ　７２８は、かかる特徴値から予め定められた隠れマルコフモデルを利用した単語探索作業が行える。
【００６５】
また、外部バス７５２は、外部メモリとのデータインタフェースのための外部バスである。ＥＸＩＦ　７２４は、ＤＭＡ（Ｄｙｎａｍｉｃ　Ｍｅｍｏｒｙ　Ａｃｃｅｓｓ）を支援する。特に、ＨＭＭ　７２８は観測確率演算のための図５の装置を含む。
各構成要素内部の制御器（デコーダ、図示せず）は命令バス（ＯＰｃｏｄｅ　ｂｕｓ）７４８、７５０を通じて命令を受け取ってデコーディングして必要な動作を遂行する。すなわち、ＨＭＭ　７２８内部の制御器は制御用命令バス（ＯＰｃｏｄｅ　ｂｕｓ０、１）を通じて命令を受け取ってデコーディングして図５に図示されたような観測確率の演算装置を制御して観測確率演算を遂行する。一方、データは２つの読み取りバス７４２、７４４を通じて提供されたり、１つの書き込みバス７４６を通じて出力される。
【００６６】
図７に示された装置はＰＭＥＭ　７２０を具備し、プログラムはＥＸＩＦ　７２４を通じてＰＭＥＭ　７２０にロードされる。
ＨＭＭ　７２８は図７に示された制御部　７０２から提供される制御命令を２つの命令バス７４８、７５０を通じて伝送し、内部の制御部（図示せず）が受信された制御命令をデコーディングし、図５に図示されたように観測確率の演算装置を制御して観測確率演算を遂行させる。
【００６７】
図８は、図７に示された装置において、制御命令及びデータを受信する過程を図式的に示すブロック図である。
制御部７０２は直接制御命令をデコーディングして指定された動作を遂行するよう制御するか、命令バス７４８、７５０を利用して各構成モジュールの動作を制御する。各構成モジュールは命令バス７４８、７５０及び読み取りバスＡ、Ｂを共有する。
【００６８】
制御部７０２が直接制御する場合、ＰＨＥＭ７２０から制御命令をフェッチしてそれをデコーディングし、制御動作に必要なオペランド（操作の対象になるデータ）を読み取ってＲＥＧ　ＦＩＬＥ６０４に貯蔵する。以後、制御動作が制御論理である場合には、ＡＬＵ７０６を、乗算及び累算である場合には、ＭＡＣ７０８を、バレルシフト動作である場合には、Ｂ　ＳＨＩＦＴＥＲ　７１０を、自乗根の演算である場合には、ＳＱＲＴ７１４などを利用して制御動作を遂行し、その結果値を再びレジスタファイル７０４に貯蔵する。
制御部７０２が直接制御しない場合には、命令バス７４８、７５０を利用する。制御部７０２はＰＨＥＭ　７２０からフェッチした制御命令をデコーディングする代わりに命令バス７４８、７５０の順にフェッチした制御命令を印加する。
【００６９】
命令バス７４８と７５０とには同じ制御命令が１クロックおきに順に印加される。構成モジュールは命令バス７４８に制御命令が印加されれば、制御命令を判断して、自体に該当モジュールに当たる場合、これをデコーディングして制御命令によって指定された制御動作を遂行する待機状態となる。このために構成モジュールは制御命令を読み取るためのデコーダを具備する。１クロックの後、命令バス７５０に同じ制御命令が印加されれば、この時にはじめて指定された制御命令に該当する動作を遂行するための制御を遂行する。各命令バス７４８、７５０に印加される制御コードの如何を表すためにＲＴ及びＥＴ信号線を割り当てる。
【００７０】
図９は、図７に示す装置において、制御命令及びデータを受信する過程を示すタイミング図である。
図９において、最上位の信号はクロック信号ＣＬＫであり、順に命令バス７４８に印加される制御命令、命令バス７５０に印加される制御命令、ＲＴ信号、ＥＴ信号、読み取りバスＡに印加されるデータ、そして、読み取りバスＢに印加されるデータである。
【００７１】
命令バス７４８に制御命令が印加され、ＲＴ信号によってイネーブルされれば、図７の構成モジュールのうちいずれか１つがこれを認識し、これをデコーディングして待機状態となる。以後、命令バス７５０に同じ制御命令が印加され、ＥＴ信号によってイネーブルされれば、該当構成モジュールが制御命令によって指定した動作を遂行する。具体的に読み取りバスＡ及び読み取りバスＢに印加されたデータを受け入れて指定された動作を遂行し、書き込みバスを通じて結果値を出力する。
【００７２】
図１０は、隠れマルコフアルゴリズムの遂行時、夫々の関数が占める演算量を表で示したものである。
図１０を参照すれば、隠れマルコフアルゴリズムは複数の演算関数で処理されるが、その中、ｇａｕｓｓ＿ｏｕｔＰという関数の演算量が一番多いことが分かる。従って、本発明は、特に、ｇａｕｓｓ＿ｏｕｔＰ関数の処理をハードウェアで構成して処理速度を速める。
数式８は、ｇａｕｓｓ＿ｏｕｔＰアルゴリズムを簡単に示したものである。数式８のように、このアルゴリズムは減算、自乗、乗算、そしてその和よりなる。従って、汎用プロセスでこのアルゴリズムを処理しようとするなら、処理時間が相当かかる。
【００７３】
図１１は、数式８の最初の式のアルゴリズムを示す。
図１１は、Ｃ言語で製作されたアルゴリズムである。図１１のアルゴリズムはｘからＭｅａｎ値を減算し、減算された結果を自乗した後、ｖａｒ値を乗じる演算を遂行する。そして、かかる演算を１３回繰り返して１３回計算された数値を足し続ける。ここで、ｘは数式８の最初の式のＦｅａｔｕｒｅ値を意味する。
数式８の二番目の式は最初の式から出た結果よりＧｃｏｎｓｔ値という加重値を減算する。数式８の二番目の式には、加重値を加えると表示されている。しかし、ここで加重値は元々負数値であり、よってｄｂｘ値は数式８の最初の式から出た結果より加重値を減算することによって求められる。
かかる計算が終わる都度、ｄｂｘ値という数値が生じる。数式８の三番目の式の意味は数式８の二番目の式がミクスチュアの数だけ繰り返されて計算され、計算が済んだ後に生じたあらゆるｄｂｘ値を比較して一番大きい数を求める。
【００７４】
図１２は、本発明による観測確率の演算装置の構成を示すブロック図である。図１２を参照すれば、本発明による観測確率の演算装置１２００は第１乃至第３演算部１２１０、１２２０、１２３０及び比較部１２４０を具備する。
第１演算部１２１０はパラメータから平均を減算し、前記減算結果と分布程度とを乗算する。従って、第１演算部１２１０は減算器（図示せず）と乗算器（図示せず）とを具備する。
ここで、パラメータは、入力された音声信号から抽出された音素についてのエネルギーとケプストラムとを意味し、平均は代表音素から抽出されたパラメータの平均値であり、分布程度は平均の分散値である。
【００７５】
第１演算部１２１０に入力されるパラメータと平均とは夫々ｍビットである。両方の減算結果に実際距離を求めるために分布程度が乗じられる。第１演算部１２１０の出力は直ちに第２演算部１２２０に印加されず、第１演算レジスタ１２５０に貯蔵された後、次のクロック信号に同期されて第２演算部１２２０に印加される。
それにより、第１演算部１２１０の出力が第２演算部１２２０に直接入力されることによって、第１演算部１２１０と第２演算部１２２０との総演算遂行時間によりクロック信号の周期が制限される問題を防ぐことができる。
【００７６】
第２演算部１２２０は第１演算部１２１０の出力を自乗し、前記自乗した結果をＮ回累算する。従って、第２演算部１２２０は自乗器（図示せず）と累算器（図示せず）とを具備する。
第２演算部１２２０の出力は第３演算部１２３０に直接印加されず、第２演算レジスタ１２５５に貯蔵された後、次のクロック信号に同期されて第３演算部１２３０に印加される。第２演算レジスタ１２５５は自乗した結果を第２演算部１２２０にＮ回フィードバックさせる。それによってＮ回の累算が遂行される。図６のアルゴリズムを参照すれば、Ｎは１３であることが分かる。
第１演算部１２１０及び第２演算部１２２０は隠れマルコフアルゴリズムの観測確率演算のための数式８の最初の演算を遂行する。ここで、ｉは音素の代表的な類型を表す因数であり、ｊはパラメータの個数を表す因数であり、前記ｖａｒは分布程度を２で割った数値である。
【００７７】
数式８の最初の式ではパラメータと平均との減算値を自乗してからｖａｒ値を乗じる。しかし、第１演算部１２１０及び第２演算部１２２０では演算速度を速めるために、パラメータと平均との減算値に先立って分布程度を乗じてその結果を自乗する。
従って、第１演算部１２１０に入力される分布程度は√２ｖａｒ値を有せねばならない。それにより、第２演算部１２２０で自乗をしても数式８の最初の式と同一結果が出る。
数式８の最初の式で表現されたΣ演算の結果は第２演算部１２２０の出力から得ることができる。
【００７８】
本発明による観測確率の演算装置１２００は外部貯蔵装置（図示せず）にパラメータ、平均、分布程度及び加重値を貯蔵し、演算のためにそれらを呼び出す方法を使用しない。本発明による観測確率の演算装置１２００はパラメータ、平均、分布程度及び加重値を夫々貯蔵するレジスタ１２７５、１２８０、１２８５、１２９０を内部に具備する。従って、演算処理速度をさらに早く向上させうる。
【００７９】
第３演算部１２３０は第２演算部１２２０の出力から所定の加重値を減算する。従って、第３演算部１２３０は内部に減算器（図示せず）を具備する。第３演算部１２３０は数式８の２番目の式の演算を遂行する。
本来の加重値は負数であるが、レジスタ１２９０には正数の加重値を貯蔵する。このようにすることで、第３演算部１２３０の減算器（図示せず）によって数式８の２番目の式が遂行されうる。
【００８０】
第３演算部１２３０の出力は平均と入力された音声信号から抽出した前記パラメータとの間の確率的な距離である。第３演算部１２３０の出力は直ちに比較部１２４０に印加されずに第３演算レジスタ１２６０に貯蔵された後、次のクロック信号に同期されて比較部１２４０に印加される。
比較部１２４０は第３演算部１２３０の出力を貯蔵し、貯蔵された複数の第３演算部１２３０の出力のうち大きい順番にＬ個を抽出して貯蔵する。比較部１２４０は数式８の３番目の式の演算を遂行する。Ｌは３でありうる。
【００８１】
さらに詳しく説明すれば、比較部１２４０は第３演算部１２３０の出力のうち大きい順にＬ個を貯蔵する第１乃至第ＬレジスタＭＡＸ１、ＭＡＸ２、ＭＡＸ３及び第１乃至第ＬレジスタＭＡＸ１、ＭＡＸ２、ＭＡＸ３に貯蔵された第３演算部１２３０の出力が発生された順序を貯蔵する第１乃至第ＬインデックスレジスタＩＮＤ１、ＩＮＤ２、ＩＮＤ３を具備する。
第１乃至第３レジスタＭＡＸ１、ＭＡＸ２、ＭＡＸ３は最初には第３演算部１２３０の出力が有しうる数値のうち最小値に設定される。そして、一番最初に入力される第３演算部１２３０の出力は第２レジスタＭＡＸ２に貯蔵された数値と比較される。
【００８２】
第３演算部１２３０の出力が第２レジスタＭＡＸ２に貯蔵された数値より大きければ、第３演算部１２３０の出力は第１レジスタＭＡＸ１に貯蔵された数値と比較される。第３演算部１２３０の出力が第１レジスタＭＡＸ１に貯蔵された数値より大きければ、第３演算部１２３０の出力は第１レジスタＭＡＸ１に貯蔵される。そして、元々第１レジスタＭＡＸ１に貯蔵された数値は第２レジスタＭＡＸ２に貯蔵され、第２レジスタＭＡＸ２に貯蔵された数値は第３レジスタＭＡＸ３に貯蔵される。
【００８３】
さらに第３演算部１２３０の新しい出力が比較部１２４０に印加されれれば、第３演算部１２３０の出力は第２レジスタＭＡＸ２に貯蔵された数値と比較される。第３演算部１２３０の出力が第２レジスタＭＡＸ２に貯蔵された数値より大きければ、第３演算部１２３０の出力は第１レジスタＭＡＸ１に貯蔵された数値と比較される。
第３演算部１２３０の出力が第１レジスタＭＡＸ１に貯蔵された数値より大きければ、第３演算部１２３０の出力は第１レジスタＭＡＸ１に貯蔵される。そして、第１レジスタＭＡＸ１に貯蔵された以前の第３演算部１２３０の出力は第２レジスタＭＡＸ２に貯蔵され、第２レジスタＭＡＸ２に貯蔵された数値は第３レジスタＭＡＸ３に貯蔵される。
【００８４】
このような方法が繰り返されるにつれて、第１乃至第３レジスタＭＡＸ１、ＭＡＸ２、ＭＡＸ３には第３演算部１２３０の出力の大きい順番に貯蔵される。そして、第３演算部１２３０の出力が発生した順序が第１乃至第３インデックスレジスタＩＮＤ１、ＩＮＤ２、ＩＮＤ３に貯蔵される。
観測確率の演算装置１２００は第３演算部１２３０及び比較部１２４０を具備することによって音声信号から抽出されたケプストラムとデルタケプストラムとについての確率計算後に計算された確率値について直ちに比較及び選択できる長所がある。
【００８５】
本発明による観測確率の演算装置１２００の長所を説明する。
第一に、演算量の減少による動作速度を向上させることができる。隠れマルコフアルゴリズムによってｄｂｘ値の最大値を求める部分（数式８の３番目の式）は相当な量の演算量が必要である。
例えば、数式８の二番目の式から１００個のｄｂｘ値が発生する場合に、このうち一番大きい数の３つを探すために、従来にはｄｂｘ値を外部メモリで１００回持ち込み、１００回以上の減算を経なければならない。しかし、本発明では観測確率演算を行うと同時に第３演算部１２３０と比較部１２４０とによって減算と比較演算とが行われるので、不必要なサイクル数がなくせる。
【００８６】
１００個のｄｂｘ値を得るためには、アセンブラ命令語の数だけを考慮すれば、１５５０個の命令語が必要であり、減算と比較選択演算にも１９００個の命令語が必要である。音声認識装置は、リアルタイム処理で結果が生じなければならないので、処理速度が相当重要である。
従って、減算と比較選択演算部分を第３演算部１２３０と比較部１２４０のようなハードウェアで構成することによって、不要な演算数を大幅に減らしてリアルタイム処理に適した演算速度が保証できる。
【００８７】
第二に、消費電力を減少させることができる。バッテリーを使用する携帯用製品ではバッテリーの寿命が重要である。バッテリーの寿命は演算時間と関係している。演算時間が長くなると不要な部分で継続的に電力を消耗するためである。例えば、クロック信号はあらゆる演算装置に入力されるので、必要な演算が終わるまであらゆる部分に印加されねばならない。それゆえに、演算数の減少によって電力消費を減らすことができる。
【００８８】
第三に、メモリの使用量を減らすことができる。比較部１２４０がない場合には１００個のｄｂｘをメモリに全て貯蔵せねばならない。３２ｂｉｔの長さの１００個のデータを貯蔵するなら、３２００ｂｉｔのメモリが必要である。現在、音声認識装置が装着されるチップの内部メモリの使用量は限界があるので、チップの外部にメモリを追加せねばならない。
新しいメモリの追加は、音声認識装置の電力消費及び処理速度上に相当な影響を及ぼす。従って、本発明はかかる短所を解決するために、観測確率の計算が完了すれば、１サイクルおきに３つの最大値がレジスタＭＡＸ１、ＭＡＸ２、ＭＡＸ３に貯蔵されるように設計された。
【００８９】
第四に、音声認識装置の面積増加を狭めることができる。本発明の比較部１２４０のゲート数は１６２１２であり、この面積は音声認識装置の１９３００個のゲートの１０％も占めない。しかし、追加的なメモリの増加ははるかに大きい面積を占めるので、相当な面積上の利得が見られる。
【００９０】
以上のように図面と明細書で最適の実施例が開示された。ここで、特定な用語が使われたが、これは単に本発明を説明するための目的で使われており、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。従って、本技術分野の当業者であればこれより多様な変形及び均等な他の実施例が可能であることが理解できるであろう。従って、本発明の真の技術的な保護範囲は特許請求の範囲の技術的な思想によって定められねばならない。
【００９１】
【発明の効果】
以上述べたように、本発明による観測確率の演算装置は隠れマルコフモデルアルゴリズムのうち、最も多い演算量を占める観測確率演算を遂行する専用のハードウェア装置を提供することによって、音声認識装置の処理速度を速めて電力消費を減らす長所がある。
【図面の簡単な説明】
【図１】一般的な音声認識システムの構成を示すブロック図である。
【図２】任意の音節についての状態列を求める方法を示す図面である。
【図３】単語の認識についての過程を図式的に示す図面である。
【図４】各機能を遂行するのに所要される演算数を示す表。
【図５】観測確率の演算装置の構成を示すブロック図である。
【図６】ビット解像度の選定についての理解のために図示された図面である。
【図７】図５の観測確率の演算装置の適用例を示す図面である。
【図８】制御命令及びデータを受信する過程を図式的に示すブロック図である。
【図９】制御命令及びデータを受信する過程を図式的に示すタイミング図である。
【図１０】隠れマルコフアルゴリズムの遂行時、夫々の関数が占める演算量を示した表。
【図１１】数式８の最初のアルゴリズムを示す。
【図１２】本発明による観測確率の演算装置の構成を示すブロック図である。
【図１】
2004038163.tif 000019
【図２】
2004038163.tif 000020
【図３】
2004038163.tif 000021
【図４】
2004038163.tif 000022
【図５】
2004038163.tif 000023
【図６】
2004038163.tif 000024
【図７】
2004038163.tif 000025
【図８】
2004038163.tif 000026
【図９】
2004038163.tif 000027
【図１０】
2004038163.tif 000028
【図１１】
2004038163.tif 000029
【図１２】
2004038163.tif 000030