(57)【要約】【課題】  隠れマルコフモデルを用いる音声認識を高速におこなう。【解決手段】  特徴抽出手段１１１は、入力音声にフレームを割り当て、各フレーム毎の特徴量を抽出する。累積尤度算出手段１１３は、複数の混合ガウス分布を含む隠れマルコフモデルを用いて、各フレーム毎における状態毎の累積尤度を算出する。このとき、偶数フレームについては通常の尤度演算を行うが、奇数フレームにおいては、算出された確率の最大値より所定値以上低い混合分布についての確率演算を省略する。あるいは、母音を示すフレームの尤度演算を省略する。あるいは、認識のための重要度が比較的高い音素については通常の尤度演算をおこない、比較的低い音素については尤度演算を省略する。これにより、演算回数が減少し、音声認識処理の高速化が図られる。【選択図】  図２
2005077682.tif 000002
【特許請求の範囲】
【請求項１】
入力された音声について複数の所定長フレーム毎に抽出した特徴量と、所定の混合ガウス分布を含む隠れマルコフモデルとに基づいて、各音素の状態遷移確率を算出する確率算出手段と、
算出された状態遷移確率をガウス分布毎の所定の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出する尤度算出手段と、
当該フレームより前のフレームで算出された尤度の累積値を順次算出する累積尤度算出手段と、
前記累積尤度算出手段が算出した累積尤度に基づいて、前記入力された音声の音声認識をおこなう音声認識手段と、
を備える音声認識装置において、
各フレームについて、所定のフレームであるか否かを識別するフレーム識別手段を備え、
前記確率算出手段、前記尤度算出手段、および、前記累積尤度算出手段は、前記フレーム識別手段が識別した前記所定のフレームでは所定の演算動作を省略する、
ことを特徴とする音声認識装置。
【請求項２】
前記フレーム識別手段は、奇数フレームを前記所定のフレームとして識別し、
前記確率算出手段は、当該所定フレームより前のフレームについての確率算出結果に基づいて省略する演算動作を決定し、決定した演算動作を省略する、
ことを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記確率算出手段は、前記所定フレームより前のフレームでガウス分布毎に算出された状態遷移確率のうち、当該確率の最大値より所定値以下の確率を示すガウス分布についての確率演算動作を省略する演算動作として決定する、
ことを特徴とする請求項２に記載の音声認識装置。
【請求項４】
前記フレーム識別手段は、各フレームの音声が母音であるか子音であるかを判別し、母音を示すフレームを前記所定のフレームとして識別する、
ことを特徴とする請求項１乃至３のいずれか１項に記載の音声認識装置。
【請求項５】
前記フレーム識別手段は、前記累積尤度算出手段が算出した累積尤度に基づいて、各フレームの音声が重要であるか否かを判別し、重要でないと判別したフレームを前記所定のフレームとして識別する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の音声認識装置。
【請求項６】
前記フレーム識別手段は、
各隠れマルコフモデル毎に付与された重要度を示す情報を記憶する重要度情報記憶手段をさらに備え、
前記重要度情報記憶手段に記憶された重要度情報に基づいて、各フレームの音声が重要であるか否かを判別する、
ことを特徴とする請求項５に記載の音声認識装置。
【請求項７】
前記尤度算出手段は、前記識別された所定フレームにおける尤度演算を省略し、
前記累積尤度算出手段は、当該所定フレームの直前のフレームで算出された尤度を用いて、当該所定フレームにおける累積尤度を算出する、
ことを特徴とする請求項４乃至６のいずれか１項に記載の音声認識装置。
【請求項８】
所定の装置による隠れマルコフモデルを用いた音声認識を高速化する音声認識高速化方法であって、
所定の重み付け係数で重み付けされた混合ガウス分布を含む複数の隠れマルコフモデルを取得するモデル取得ステップと、
対象音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出する特徴量抽出ステップと、
各フレームにおいて抽出された特徴量に基づいて、各ガウス分布毎に状態遷移確率を算出する確率算出ステップと、
算出された状態遷移確率をガウス分布毎の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出する尤度算出ステップと、
算出された各隠れマルコフモデル毎の尤度と、当該フレームより前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出する累積尤度算出ステップと、
前記算出された累積尤度に基づいて音声認識を行う音声認識ステップと、
各フレーム毎に所定の演算動作を省略するか否かを決定する省略要否決定ステップと、を備え、
所定の算出動作の省略が決定されたフレームにおける前記所定の演算動作を省略する、
ことを特徴とする音声認識高速化方法。
【請求項９】
前記省略要否決定ステップは、各フレームにおいてガウス分布毎に算出された状態遷移確率のうち、当該確率の最大値より所定値以下の確率を示すガウス分布があるか否かを判別し、当該ガウス分布があると判別した場合、当該フレームの次のフレームでの所定の算出動作を省略することを決定し、
前記確率算出ステップは、当該次のフレームにおいて、当該ガウス分布を用いた状態遷移確率の算出を省略する、
ことを特徴とする請求項８に記載の音声認識高速化方法。
【請求項１０】
前記省略要否決定ステップは、母音を示すフレームにおける尤度算出を省略することを決定し、
前記累積尤度算出ステップは、当該フレームの直前のフレームで算出された尤度を用いて、当該フレームでの累積尤度を算出する、
ことを特徴とする請求項８または９に記載の音声認識高速化方法。
【請求項１１】
前記省略要否決定ステップは、子音を示すフレームのうち、重要でない音声を含むフレームにおける尤度算出を省略することを決定し、
前記累積尤度算出ステップは、当該フレームの直前のフレームで算出された尤度を用いて、当該フレームでの累積尤度を算出する、
ことを特徴とする請求項８乃至１０のいずれか１項に記載の音声認識高速化方法。
【請求項１２】
前記省略要否決定ステップは、各子音の状態数に基づいて当該子音が重要であるか否かを判別する、
ことを特徴とする請求項１１に記載の音声認識高速化方法。
【請求項１３】
コンピュータを
所定の重み付け係数で重み付けされた混合ガウス分布を含む複数の隠れマルコフモデルを蓄積し、
対象音声取り込み、該取り込んだ音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出し、
各フレームにおいて抽出された特徴量に基づいて、各ガウス分布毎に状態遷移確率を算出し、
算出された状態遷移確率をガウス分布毎の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出し、
算出された各隠れマルコフモデル毎の尤度と、当該フレームより前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出し、
前記算出された累積尤度に基づいて音声認識を行う音声認識装置であって、
各フレーム毎に所定の演算動作を省略するか否かを決定し、該所定の演算動作の省略が決定されたフレームにおける当該演算動作を省略する、
ことを特徴とする音声認識装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置、音声認識高速化方法、および、プログラムに関し、特に、隠れマルコフモデルを用いた音声認識を高速に行うことができる音声認識装置、音声認識高速化方法、および、プログラムに関する。
【背景技術】
【０００２】
装置を用いて音声認識を行う手法として、「隠れマルコフモデル」（Hidden Malkov Model：以下「ＨＭＭ」とする）を用いた音声認識が知られている。この手法では、音声に対して所定長のフレーム（時間窓）を設定し、各フレームで抽出された特徴量と、標準パターンであるＨＭＭとが比較される。ここでは、いずれのＨＭＭに対応する特徴量が最も高い確率で出力されるかを示す尤度が計算され、その確率を最大とするＨＭＭに対応する単語を音声認識結果として出力する。このような音声認識の手法は、例えば、特許文献１などに開示されている。
【０００３】
この尤度計算は、例えば、以下の数式１を演算することで求められる。この数式はガウス分布の数式であるが、実際は混合ガウス分布なので、これらの正規分布の重み付き和を求める必要がある。
【数１】
2005077682.tif 000003
【０００４】
そして、算出された各ＨＭＭ毎の尤度を、前フレームで計算された累積尤度値の最大値に対して、ビタビアルゴリズムにより累積尤度値を更新する。
【０００５】
上記のような演算を行う音声認識において、ＣＰＵ（Central Processing Unit：中央演算処理装置）などの処理装置は、所定音声認識区間において、数式１の演算を相当回数（「フレーム数×状態数（ＨＭＭ数）×混合ガウス分布数」）行う必要があり、負担が大きい。
【０００６】
このような問題を解決するための手法として、いわゆる「ガウス枝刈り」が知られている。これは、尤度計算により有効なガウス分布から順に計算し、有効でないガウス分布の計算はおこなわないというものである。
【０００７】
この手法は、ガウス分布の数が多い場合（例えば、１６混合や３２混合など）には高速化の効果を得ることができるが、、ガウス分布が少数（例えば、２混合や４混合など）である場合には、高速化の効果が得られなかった。
【特許文献１】特開２００１−３５６７９０
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は上記実状に鑑みてなされたもので、隠れマルコフモデル（ＨＭＭ）を用いる音声認識を高速に行うことを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の第１の観点にかかる音声認識装置は、
入力された音声について複数の所定長フレーム毎に抽出した特徴量と、所定の混合ガウス分布を含む隠れマルコフモデルとに基づいて、各音素の状態遷移確率を算出する確率算出手段と、
算出された状態遷移確率をガウス分布毎の所定の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出する尤度算出手段と、
当該フレームより前のフレームで算出された尤度の累積値を順次算出する累積尤度算出手段と、
前記累積尤度算出手段が算出した累積尤度に基づいて、前記入力された音声の音声認識をおこなう音声認識手段と、
を備える音声認識装置において、
各フレームについて、所定のフレームであるか否かを識別するフレーム識別手段を備え、
前記確率算出手段、前記尤度算出手段、および、前記累積尤度算出手段は、前記フレーム識別手段が識別した前記所定のフレームでは所定の演算動作を省略する、
ことを特徴とする。
【００１０】
上記音声認識装置において、
前記フレーム識別手段は、奇数フレームを前記所定のフレームとして識別し、
前記確率算出手段は、当該所定フレームより前のフレームについての確率算出結果に基づいて省略する演算動作を決定し、決定した演算動作を省略することが望ましい。
【００１１】
上記音声認識装置において、
前記確率算出手段は、前記所定フレームより前のフレームでガウス分布毎に算出された状態遷移確率のうち、当該確率の最大値より所定値以下の確率を示すガウス分布についての確率演算動作を省略する演算動作として決定することが望ましい。
【００１２】
上記音声認識装置において、
前記フレーム識別手段は、各フレームの音声が母音であるか子音であるかを判別し、母音を示すフレームを前記所定のフレームとして識別することが望ましい。
【００１３】
上記音声認識装置において、
前記フレーム識別手段は、前記累積尤度算出手段が算出した累積尤度に基づいて、各フレームの音声が重要であるか否かを判別し、重要でないと判別したフレームを前記所定のフレームとして識別することが望ましい。
【００１４】
上記音声認識装置において、
前記フレーム識別手段は、
各隠れマルコフモデル毎に付与された重要度を示す情報を記憶する重要度情報記憶手段をさらに備え、
前記重要度情報記憶手段に記憶された重要度情報に基づいて、各フレームの音声が重要であるか否かを判別することが望ましい。
【００１５】
上記音声認識装置において、
前記尤度算出手段は、前記識別された所定フレームにおける尤度演算を省略し、
前記累積尤度算出手段は、当該所定フレームの直前のフレームで算出された尤度を用いて、当該所定フレームにおける累積尤度を算出することが望ましい。
【００１６】
上記目的を達成するため、本発明の第２の観点にかかる音声認識高速化方法は、
所定の装置による隠れマルコフモデルを用いた音声認識を高速化する音声認識高速化方法であって、
所定の重み付け係数で重み付けされた混合ガウス分布を含む複数の隠れマルコフモデルを取得するモデル取得ステップと、
対象音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出する特徴量抽出ステップと、
各フレームにおいて抽出された特徴量に基づいて、各ガウス分布毎に状態遷移確率を算出する確率算出ステップと、
算出された状態遷移確率をガウス分布毎の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出する尤度算出ステップと、
算出された各隠れマルコフモデル毎の尤度と、当該フレームより前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出する累積尤度算出ステップと、
前記算出された累積尤度に基づいて音声認識を行う音声認識ステップと、
各フレーム毎に所定の演算動作を省略するか否かを決定する省略要否決定ステップと、を備え、
所定の算出動作の省略が決定されたフレームにおける前記所定の演算動作を省略する、
ことを特徴とする。
【００１７】
上記音声認識高速化方法において、
前記省略要否決定ステップは、各フレームにおいてガウス分布毎に算出された状態遷移確率のうち、当該確率の最大値より所定値以下の確率を示すガウス分布があるか否かを判別し、当該ガウス分布があると判別した場合、当該フレームの次のフレームでの所定の算出動作を省略することを決定し、
前記確率算出ステップは、当該次のフレームにおいて、当該ガウス分布を用いた状態遷移確率の算出を省略することが望ましい。
【００１８】
上記音声認識高速化方法において、
前記省略要否決定ステップは、母音を示すフレームにおける尤度算出を省略することを決定し、
前記累積尤度算出ステップは、当該フレームの直前のフレームで算出された尤度を用いて、当該フレームでの累積尤度を算出することが望ましい。
【００１９】
上記音声認識高速化方法において、
前記省略要否決定ステップは、子音を示すフレームのうち、重要でない音声を含むフレームにおける尤度算出を省略することを決定し、
前記累積尤度算出ステップは、当該フレームの直前のフレームで算出された尤度を用いて、当該フレームでの累積尤度を算出することが望ましい。
【００２０】
上記音声認識高速化方法において、
前記省略要否決定ステップは、各子音の状態数に基づいて当該子音が重要であるか否かを判別することが望ましい。
【００２１】
上記目的を達成するため、本発明の第３の観点にかかるプログラムは、
コンピュータを
所定の重み付け係数で重み付けされた混合ガウス分布を含む複数の隠れマルコフモデルを蓄積し、
対象音声取り込み、該取り込んだ音声に対し、複数の所定長フレームを所定周期で設定し、各フレーム毎に特徴量を抽出し、
各フレームにおいて抽出された特徴量に基づいて、各ガウス分布毎に状態遷移確率を算出し、
算出された状態遷移確率をガウス分布毎の重み付け係数に基づいて累積し、各隠れマルコフモデル毎の尤度を算出し、
算出された各隠れマルコフモデル毎の尤度と、当該フレームより前のフレームで算出された尤度の最大値とに基づいて、累積尤度を順次算出し、
前記算出された累積尤度に基づいて音声認識を行う音声認識装置であって、
各フレーム毎に所定の演算動作を省略するか否かを決定し、該所定の演算動作の省略が決定されたフレームにおける当該演算動作を省略する、
ことを特徴とする音声認識装置として機能させる。
【発明の効果】
【００２２】
本発明によれば、隠れマルコフモデル（ＨＭＭ）を用いた音声認識を高速に行うことができる。
【発明を実施するための最良の形態】
【００２３】
本発明にかかる実施の形態を、以下図面を参照して説明する。
【００２４】
（第１の実施の形態）
図１は、本発明の実施の形態にかかる音声認識装置の構成を示すブロック図である。図示するように、音声認識装置１００は、制御部１１０と、入力制御部１２０と、出力制御部１３０と、プログラム格納部１４０と、記憶部１５０と、から構成される。
【００２５】
制御部１１０は、例えば、ＣＰＵ（Central Processing Unit：中央演算処理装置）やワークエリアとなる所定の記憶装置（ＲＡＭ（Random Access Memory）など）から構成され、音声認識装置１００の各部を制御するとともに、プログラム格納部１４０に格納されている所定の動作プログラムに基づいて後述する各処理を実行する。
【００２６】
入力制御部１２０は、例えば、ＰＣＭ（Pulse Code Modulation）などのサンプリングを行うＡＤＣ（Analog Digital Converter：アナログ−デジタル変換器）などから構成され、マイクロフォンなどの所定の入力装置１２から入力されたアナログ音声信号をデジタル信号に変換する。
【００２７】
出力制御部１３０は、例えば、スピーカやディスプレイ装置などの所定の出力装置１３を接続し、制御部１１０による音声認識結果などを出力装置１３から出力する。
【００２８】
プログラム格納部１４０は、例えば、ＲＯＭ（Read Only Memory）やフラッシュメモリ、ハードディスク装置などの所定の記憶装置から構成され、制御部１１０が実行する種々の動作プログラムが格納されている。プログラム格納部１４０には、以下のような動作プログラムが格納されている。後述する音声認識装置１００の各処理は、制御部１１０がこれらの動作プログラムを実行することで実現される。
（１）「特徴抽出プログラム」：入力制御部１２０で変換された音声信号の特徴量（特徴パラメータ）を抽出するプログラム
（２）「尤度算出プログラム」：各フレーム毎の尤度を算出するとともに、累積尤度を算出するプログラム
（３）「音声認識プログラム」：算出された累積尤度と音響モデルとに基づいて音声認識するプログラム
【００２９】
制御部１１０は、プログラム格納部１４０に格納されている上記各プログラムを実行することにより、図２に示すように、特徴抽出手段１１１、尤度算出手段１１２、累積尤度算出手段１１３、ノード作成手段１１４、音声認識手段１１５、として機能する。図２は、制御部１１０の機能を模式的に示す機能ブロック図である。
【００３０】
特徴抽出手段１１１は、入力制御部１２０で変換された音声信号に対し、複数の所定長のフレームを所定周期で設定し、各フレーム毎のパワー成分（特徴量）を抽出する。
【００３１】
尤度算出手段１１２は、各フレーム毎に抽出された特徴量と、後述する音響モデル格納部１５３に格納されている隠れマルコフモデル（ＨＭＭ）とを比較することで、各フレーム毎の連続音素認識をおこない、各ＨＭＭ毎の状態遷移確率（尤度）を算出する。ここでは、各音素毎に所定の状態数が予め定められており、各音素のある状態からどの状態に遷移するかの確率を、取得された特徴量とＨＭＭとを比較することで求める。例えば、「はちのへ」という単語の音素は「h・a・ch・i・n・o・h・e」となるが、状態数を「３」とした場合、各音素を「h1, h2, h3」「a1, a2, a3」「ch1, ch2, ch3」…、と表すことができる。本実施の形態では、各音素毎の状態数が「３」であるものとして以下の各処理を行うものとする。
【００３２】
累積尤度算出手段１１３は、尤度算出手段１１２がこれまで算出した尤度に基づいて、各フレームにおける各状態毎に尤度の累積値を求める。
【００３３】
ノード作成手段１１４は、後述する文法格納部１５４に格納されている文法情報に基づき、後述する辞書格納部１５５から取得する候補単語と累積尤度とを対応付けて展開する。
【００３４】
音声認識手段は、ノード作成手段１１４が展開した累積尤度に基づいて、候補単語を音声認識結果として取得して出力する。
【００３５】
記憶部１５０は、例えば、ＲＡＭ（Random Access Memory）やフラッシュメモリ、ハードディスク装置などの記憶装置などから構成され、音声認識装置１００の音声認識処理に必要となる各種情報を記憶する。記憶部１５０は図３に示すように、音声格納部１５１、特徴格納部１５２、音響モデル格納部１５３、文法格納部１５４、辞書格納部１５５、および、累積尤度格納部１５６から構成される。
【００３６】
音声格納部１５１は、入力制御部１２０が変換したデジタル信号を随時バッファリングする。
【００３７】
特徴格納部１５２は、特徴抽出手段１１１が抽出した各フレーム毎の特徴量を示す情報（以下、「特徴量データ」とする）を随時格納（展開）する。
【００３８】
音響モデル格納部１５３は、音声認識装置１００が対応する言語について、認識対象となる音声を構成する全ての音素をモデル化した音響モデル（音素モデル）を予め蓄積する。本実施の形態では、音響モデルとして「隠れマルコフモデル」（ＨＭＭ）を用いるものとする。すなわち、音響モデル格納部１５３は、複数のＨＭＭを格納する。また、各ＨＭＭはさらに、各音素の状態について、複数の「混合ガウス分布」を含む。ここで「混合ガウス分布」（混合分布）は、所定の重み係数で重み付けされたガウス分布を線形結合の和で表したものである。なお、各状態についての複数の混合ガウスのそれぞれには予め所定の付番がされているものとする。
【００３９】
文法格納部１５４は、音声認識装置１００が対応する言語の文法規則を定義したファイルを格納する。
【００４０】
辞書格納部１５５は、音声認識装置１００が対応する言語の単語毎の音素パターン系列情報を登録した単語辞書を格納する。
【００４１】
累積尤度格納部１５６は、累積尤度算出手段１１３が算出した累積尤度を示す累積尤度情報を格納する。すなわち、累積尤度算出手段１１３が累積尤度を算出すると、ノード作成手段１１４により、図４に示すような累積尤度マップが累積尤度格納部１５６に展開される。図４に示す例では、単語「けせんぬま」について、各フレームの状態番号毎に累積尤度値が展開されている。なお、本実施の形態では、算出された累積尤度の逆数が累積尤度格納部１５６に展開されるものとする。したがって、図４に示す累積尤度のうち、数値が小さいほど尤度が大きいことを示す。
【００４２】
上記のように構成された音声認識装置１００の動作を以下図面を参照して説明する。以下に示す各動作は、制御部１１０がプログラム格納部１４０に格納されている各プログラムのいずれかまたはすべてを適時実行することで実現されるものである。
【００４３】
まず、本発明の実施の形態にかかる音声認識装置１００による音声認識動作の概略（「音声認識処理１」）を図５に示すフローチャートを参照して説明する。この「音声認識処理１」は、音声認識装置１００の入力装置１２から音声が入力され、入力制御部１２０によりデジタル変換された音声信号が音声格納部１５１にバッファされたことを契機に開始されるものとする。
【００４４】
まず、特徴抽出手段１１１は、音声格納部１５１にバッファされた音声信号に対し、所定長のフレームを所定周期毎に割り当てるとともに、各フレームにおける特徴量を抽出して、特徴量データを特徴格納部１５２に格納する（ステップＳ１０１）。なお、各フレームを示す「フレーム番号」は、「０」から割り当てられるものとする。
【００４５】
次に尤度算出手段１１２は、フレーム番号を指定するフレームポインタ（ｆ）に、初期値「０」を設定する（ステップＳ１０２）。
【００４６】
尤度算出手段１１２は、現在のフレームポインタに示される値（すなわち、フレーム番号）が偶数であるか奇数であるかを判別する（ステップＳ１０３）。
【００４７】
フレーム番号が偶数である場合（ステップＳ１０３：Ｙｅｓ）、尤度算出手段１１２は、当該フレームにおける状態番号を示す状態番号ポインタ（ｓ）に、初期値「０」を設定する（ステップＳ１０４）。
【００４８】
尤度算出手段１１２は、当該状態数における尤度を初期値「０」に設定し（ステップＳ１０５）、さらに、当該状態数に対応する混合ガウス分布を指定する混合分布ポインタ（ｍ）に初期値「０」を設定する（ステップＳ１０６）。
【００４９】
尤度算出手段１１２は、音響モデル格納部１５３に格納されている混合ガウス分布のうち、ｍ番目の混合ガウス分布を用いて、確率演算を行い（ステップＳ１０７）、算出された確率で尤度を更新する（ステップＳ１０８）。なお、算出された確率および尤度を示す情報は、例えば、ワークエリアなどの所定の記憶領域に保持されるものとする。
【００５０】
尤度算出手段１１２は、当該状態数に対応する混合ガウス分布がまだある場合（ステップＳ１０９：Ｎｏ）は、混合分布ポインタ（ｍ）を１インクリメントし（ステップＳ１１０）、当該混合ガウス分布を用いて確率演算（ステップＳ１０７）、および、尤度更新（ステップＳ１０８）を行う。すなわち、当該状態数に対応するすべての混合ガウス分布を用いて確率演算を行う。
【００５１】
当該状態数に対応するすべての混合ガウス分布を用いた確率演算を行うと（ステップＳ１０９：Ｙｅｓ）、尤度算出手段１１２は、当該フレームにおいてさらなる状態数があるか否かを判別する（ステップＳ１１１）。
【００５２】
当該フレームにさらなる状態数ある場合には（ステップＳ１１１：Ｎｏ）、状態番号ポインタ（ｓ）を１インクリメントし（ステップＳ１１２）、次の状態数に対応するすべての混合ガウス分布を用いて確率演算および尤度更新を行う（ステップＳ１０５〜Ｓ１０９）。
【００５３】
すべての状態数における確率演算および尤度更新が終了すると（ステップＳ１１１：Ｙｅｓ）、尤度算出手段１１２は、確率演算を省略しても構わない混合ガウス分布があるか否かを決定するための「省略要否決定処理」を実行する。この「省略要否決定処理」を図６に示すフローチャートを参照して説明する。
【００５４】
まず、尤度算出手段１１２は、上記処理で各混合ガウス分布毎に算出された確率に基づいて、いずれの混合ガウス分布を用いた確率が最大であるかを算出する（ステップＳ１５１）。
【００５５】
次に尤度算出手段１１２は、混合分布ポインタ（ｍ）を初期値「０」にし（ステップＳ１５２）、ｍ番目の混合ガウス分布で算出された確率が、ステップＳ１５１で算出された最大値から所定値αより低い場合（ステップＳ１５３：Ｙｅｓ）、当該混合ガウス分布に、「次フレームにおける当該混合ガウス分布を用いた確率演算を省略するか否か」を示す「次回省略フラグ」をＯＮ（「１」）する（ステップＳ１５４）。本実施の形態では、次回省略フラグの値が「１」であるとき「次フレームにおける当該混合ガウス分布を用いた確率演算を省略する」ことを示し、「０」であるとき「次フレームにおける当該混合ガウス分布を用いた確率演算を省略しない」ことを示すものとする。
【００５６】
一方、当該混合ガウス分布で算出された確率が、ステップＳ１５１で算出された最大値から所定値以上である場合（ステップＳ１５３：Ｎｏ）は、次回省略フラグをＯＦＦ（「０」）する（ステップＳ１５５）。これをすべての混合ガウス分布について設定する（ステップＳ１５６：Ｎｏ、Ｓ１５７、Ｓ１５３〜Ｓ１５５）。
【００５７】
すべての混合ガウス分布について「次回省略フラグ」が設定されると（ステップＳ１５６：Ｙｅｓ）、図５に示すフローにもどる。
【００５８】
「省略要否決定処理」が終了すると、累積尤度算出手段１１３は、当該フレームの各状態で算出された尤度を用いて、例えば、ビタビアルゴリズムにより各状態毎の累積尤度を算出して更新し（ステップＳ１１３）、ノード作成手段１１４が候補単語と累積尤度とを対応付けて展開する。
【００５９】
当該フレームについての累積尤度が更新されると、尤度算出手段１１２は、フレームポインタ（ｆ）を１インクリメントし（ステップＳ１１４）、次のフレームについて、同様の処理をおこなう。
【００６０】
ここで、図５に示すステップＳ１０３においてフレーム番号が「奇数」と判別された場合（ステップＳ１０３：Ｎｏ）の処理を図７に示すフローチャートを参照して説明する。
【００６１】
当該フレームが奇数番目である場合、尤度算出手段１１２は、状態番号ポインタ（ｓ）を初期値「０」にし（ステップＳ１１５）、当該状態における尤度を初期値「０」に設定する（ステップＳ１１６）。
【００６２】
尤度算出手段１１２はさらに、混合分布ポインタ（ｍ）を初期値「０」にし（ステップＳ１１７）、当該混合ガウス分布の次回省略フラグが「０」であるか否かを判別する（ステップＳ１１８）。
【００６３】
次回省略フラグが「０」である場合（ステップＳ１１８：Ｙｅｓ）、尤度算出手段１１２は、当該混合ガウス分布を用いて確率演算を行い（ステップＳ１１９）、算出された確率を用いて尤度更新を行う（ステップＳ１２０）。
【００６４】
一方、次回省略フラグが「１」である場合（ステップＳ１１８：Ｎｏ）は、尤度算出手段１１２は、当該混合ガウス分布を用いた確率演算は行わずにステップＳ１２３に進み、さらなる状態番号があるか否かが判別される。
【００６５】
当該状態においてさらなる混合ガウス分布がある場合（ステップＳ１２１：Ｎｏ）、尤度算出手段１１２は、混合分布ポインタ（ｍ）を１インクリメントし（ステップＳ１２２）、次の混合ガウス分布について同様の処理を行う。
【００６６】
当該状態番号におけるすべての混合ガウス分布について演算要否が判別され、必要な演算が行われると、尤度算出手段１１２は、当該フレームにさらなる状態があるか否かを判別する（ステップＳ１２３）。当該フレームにさらなる状態数がある場合には（ステップＳ１２３：Ｎｏ）、尤度算出手段１１２は、状態番号ポインタ（ｓ）を１インクリメントし（ステップＳ１２４）、次の状態番号において、次回省略フラグが「０」である混合ガウス分布のみ確率演算を行う。
【００６７】
当該偶数フレームのすべての状態について、混合ガウス分布毎の確率演算を選択的におこなった後、累積尤度算出手段１１３は、当該フレームの各状態で算出された尤度を用いて、例えば、ビタビアルゴリズムにより各状態毎の累積尤度を算出して更新し（ステップＳ１２５）、ノード作成手段１１４が候補単語と更新された累積尤度とを対応付けて展開する。
【００６８】
尤度算出手段１１２は、さらなるフレームがあるか否かを判別する（ステップＳ１２６）。さらなるフレームがある場合（ステップＳ１２６：Ｎｏ）、尤度算出手段１１２はフレームポインタ（ｆ）を１インクリメントし（ステップＳ１２７）、次のフレームについて上記各処理を行う。
【００６９】
一方、当該フレームが最終フレームである場合（ステップＳ１２６：Ｙｅｓ）は、所定の出力処理（ステップＳ５００）をおこなって、音声認識結果の出力を行う。ここでは、音声認識手段１１５が、累積尤度格納部１５６に展開されている候補単語と累積尤度を参照し、最終フレームの最終状態からノードを遡ってトレースして出力すべき認識結果（単語）を取得し、出力制御部１３０により音声あるいは文字情報として出力する。
【００７０】
上記処理により、直前の偶数フレームにおいて有用でなかった混合ガウス分布（すなわち、確率最大値から所定値より低い確率となった混合ガウス分布）がある場合、次の奇数フレームにおいてその混合ガウス分布を用いた確率演算が省略される。すなわち、前回出力確率が低かった混合ガウス分布の出力確率計算を２フレームに１回は全くおこなわないため、従来のガウス枝刈りよりも計算回数が減少するので、音声認識処理の高速化が図られる。
【００７１】
上記実施の形態では、フレームを「偶数」と「奇数」に分け、奇数番目のフレームについて所定の演算省略をおこなった。すなわち、２フレーム毎に所定の演算省略をおこなったものであるが、演算省略を行う頻度は任意である。例えば、３フレーム毎おこなってもよく、あるいは、３フレーム中の２フレームについて演算省略をおこなってもよい。
【００７２】
（第２の実施の形態）
上記第１の実施の形態では、フレーム番号に基づいて演算省略をおこなったが、各フレームで示される音声に基づいて演算省略をおこなってもよい。この場合の音声認識装置１００の処理を、第２の実施の形態として以下に説明する。なお、音声認識装置１００の構成は上記第１の実施の形態と同一である。
【００７３】
本実施の形態では、母音を示すフレームについて所定の演算省略をおこなう。この場合の「音声認識処理２」を図８に示すフローチャートを参照して説明する。
【００７４】
上記第１の実施の形態と同様に、デジタル変換された音声信号が音声格納部１５１にバッファされたことを契機に処理が開始され、特徴抽出手段１１１により各フレームの特徴量が抽出され（ステップＳ２０１）、尤度算出手段１１２により、フレームポインタ（ｆ）が初期化される（ステップＳ２０２）。
【００７５】
次に、尤度算出手段１１２は、当該フレームの直前のフレームにおいて尤度演算をおこなったか否かを判別する（ステップＳ２０３）。ステップＳ２０２で０番フレームが指定されているので、直前フレームでの尤度演算は行われていない。したがって、図９に示すステップＳ２０４に進む。
【００７６】
すなわち、直前フレームでの尤度演算がされていないフレームについては、各状態ですべての混合ガウス分布を用いて尤度演算がされ、累積尤度が更新される（ステップＳ２０４〜Ｓ２１３）。この処理は、第１の実施の形態と同様であるので、詳細な説明は省略する。
【００７７】
ステップＳ２１３で累積尤度更新がなされると、当該フレームが最終フレームであるか否かを判別し（ステップＳ２１３→ステップＳ２１７（図８））、最終フレームでない場合（ステップＳ２１７：Ｎｏ）、フレームポインタ（ｆ）を１インクリメントし（ステップＳ２１８）、次のフレームについてステップＳ２０３の判別をおこなう。
【００７８】
上述のように、先頭フレーム（０番）では尤度演算が行われたので、ステップＳ２０３では「直前フレームで確率演算あり」と判別される（ステップＳ２０３：Ｙｅｓ）。この場合、尤度算出手段１１２は、累積尤度格納部１５６に展開されている累積尤度を参照して、累積尤度値が最大となっている状態番号を特定する（ステップＳ２１４）。これは、各フレーム中で累積尤度が最大となっている部分のモデルと状態番号とを調べることで当該部分の音声が子音であるか母音であるかを判別するためである。図４の例では、例えば、１９フレームにおける最大累積尤度値は「４９３９」（上述のように、累積尤度値の逆数を取っているため、絶対値が最も小さいものが最大尤度を示す）であり、対応する状態数は「ｋ３」である。「ｋ３」は、「けせんぬま（k・e・s・e・N・n・u・m・a）」の「ｋ」の第３状態部分であるから「子音」であることがわかる。
【００７９】
このようにして、尤度算出手段１１２は、当該フレームの音声が母音であるか否かを判別する（ステップＳ２１５）。
【００８０】
当該音声が「母音」である場合（ステップＳ２１５：Ｙｅｓ）、累積尤度算出手段１１３により、累積尤度が更新される（ステップＳ２１６）。ここでは、当該フレームでの尤度計算は行わずに、直前のフレームで算出された尤度を用いて累積尤度を更新する。これは、「子音＋母音」で構成される音節が発話された場合、認識のために重要となるのは発話開始の子音部分であるため、「子音＋母音」の音節における母音部分の尤度計算を省略することができるためである。
【００８１】
そのため、ステップＳ２１５にて「子音」であると判別された場合（ステップＳ２１５：Ｎｏ）は、図９に示すステップＳ２０４〜Ｓ２１３の処理を行い、各状態ですべての混合ガウス分布を用いた尤度演算をし、累積尤度を更新する。
【００８２】
全フレームについて上記処理が行われると（ステップＳ２１７：Ｙｅｓ）、第１の実施の形態と同様の出力処理（ステップＳ５００）により認識結果を出力して、処理を終了する。
【００８３】
上記のように本実施の形態によれば、音声認識に重要でない母音部分（子音に付随する母音）については尤度計算を省略し、直前のフレームで算出した尤度を用いるので、演算数が減少し、音声認識処理の高速化を図ることができる。
【００８４】
（第３の実施の形態）
上記第２の実施の形態では、子音か母音かを判別し、子音に付随する母音である場合には尤度計算を省略するものとしたが、子音であっても音素単位では認識の際に重要でないものもある。このような部分の演算処理を省略することで、音声認識処理のさらなる高速化を図ることができる。
【００８５】
この場合、各音素毎の重要度を示す「重要度テーブル」を、例えば、音響モデル格納部１５３に予め蓄積しておき、重要度に応じて演算の省略要否を判別する。重要度テーブルの例を図１０に示す。図示するように、この重要度テーブルには、「子音」と「母音」それぞれについて、音素毎の状態数に応じて重要度が設定される。重要度は、例えば、０〜２の３値で表され、「０」が「重要度：低」（重要でない）を示し、「１」が「重要度：中」（やや重要）を示し、「２」が「重要度：高」（重要）を示す。
【００８６】
図示するように、「子音」の状態番号１〜２には、重要度「２」が設定され、状態番号３には重要度「１」が設定されている。これは、上述のように「子音」は音声認識の際に重要な音声であるが、音素レベルでは発話開始部（すなわち、状態番号１〜２）がより重要で、次の音素に近い部分（すなわち、状態番号３）はあまり重要ではないためである。また、「母音」の状態数１には、重要度「１」が設定され、状態番号２〜３には重要度「０」が設定されている。これは、上述のように「子音＋母音」の音節では、認識する上で母音部は重要でないが、母音のみの音節は認識処理を行わなければ単語を抽出することができない。したがって、母音の発話開始部分を示す状態番号１を「やや重要」とし、後半部分である状態番号２〜３は「重要でない」としている。
【００８７】
このように設定された重要度に基づいて音声認識をおこなう「音声認識処理３」を図１１に示すフローチャートを参照して説明する。
【００８８】
上記各実施の形態と同様に、デジタル変換された音声信号が音声格納部１５１にバッファされたことを契機に処理が開始され、特徴抽出手段１１１により各フレームの特徴量が抽出され（ステップＳ３０１）、尤度算出手段１１２により、フレームポインタ（ｆ）が初期化される（ステップＳ３０２）。
【００８９】
次に、尤度算出手段１１２は、当該フレームの直前のフレームにおいて尤度演算をおこなったか否かを判別する（ステップＳ３０３）。ここで、直前フレームにおける尤度演算が行われていない場合（ステップＳ３０３：Ｎｏ）、上記第２の実施の形態におけるステップＳ２０４〜Ｓ２１３（図９）と同様の処理を行うことで、各状態に対応するすべての混合ガウス分布を用いて尤度演算をおこなう（ステップＳ３０４）。
【００９０】
一方、直前フレームにおいて尤度演算が行われていた場合（ステップＳ３０３：Ｙｅｓ）、尤度算出手段１１２は、累積尤度格納部１５６に展開されている累積尤度を参照して、累積尤度値が最大となっている状態番号を特定することで（ステップＳ３０５）、現在のフレームで示される音声が子音であるか否かを判別する（ステップＳ３０６）。
【００９１】
ここで、当該音声が子音である場合（ステップＳ３０６：Ｙｅｓ）、尤度算出手段１１２は、音響モデル格納部１５３の重要度テーブルを参照し、「子音」とステップＳ３０５で特定された「状態番号」とに対応する重要度がいずれであるかを判別する。ここで、当該重要度が「１」である場合（ステップＳ３０７：Ｙｅｓ）、尤度算出手段１１２は、当該フレームでの尤度演算を省略する。そして、累積尤度算出手段１１３は、直前のフレームで算出された尤度を用いて累積尤度を更新し（ステップＳ３０８）、ノード作成手段１１４が候補単語と更新された累積尤度とを対応付けて展開する。
【００９２】
すなわち、重要度テーブルでは、「子音」についての重要度に「２」と「１」が設定されているが、そのうちのより重要でない「重要度：１」となった音素について尤度演算を省略するものである。
【００９３】
一方、重要度が「２」の場合（ステップＳ３０７：Ｎｏ）、上記第２の実施の形態におけるステップＳ２０４〜Ｓ２１３（図９）と同様の処理を行うことで、各状態に対応するすべての混合ガウス分布を用いて尤度演算をおこなう（ステップＳ３０４）。すなわち、認識のために重要な音素については、対応するすべての混合ガウス分布を用いて尤度演算をおこなう。
【００９４】
また、当該音声が「母音」である場合（ステップＳ３０６：Ｎｏ）、尤度算出手段１１２は、重要度テーブルを参照し、「子音」とステップＳ３０５で特定された「状態番号」とに対応する重要度がいずれであるかを判別する。ここで、当該重要度が「０」である場合（ステップＳ３０９：Ｎｏ）、尤度算出手段１１２は、当該フレームでの尤度演算を省略する。そして、累積尤度算出手段１１３は、直前のフレームで算出された尤度を用いて累積尤度を更新し（ステップＳ３０８）、ノード作成手段１１４が候補単語と更新された累積尤度とを対応付けて展開する。
【００９５】
すなわち、重要度テーブルでは、「母音」についての重要度に「１」と「０」が設定されているが、そのうちのより重要でない「重要度：０」となった音素について尤度演算を省略するものである。
【００９６】
一方、重要度が「１」の場合（ステップＳ３０９：Ｙｅｓ）、上記第２の実施の形態におけるステップＳ２０４〜Ｓ２１３（図９）と同様の処理を行うことで、各状態に対応するすべての混合ガウス分布を用いて尤度演算をおこなう（ステップＳ３０４）。すなわち、発話開始部が母音である可能性のある音素は認識のために重要であるので、対応するすべての混合ガウス分布を用いて尤度演算をおこなう。
【００９７】
尤度算出手段１１２および累積尤度算出手段１１３は、上記処理を最終フレームまで順次実施し（ステップＳ３１０：Ｎｏ、Ｓ３１１）、最終フレームの処理が終了すると（ステップＳ３１０：Ｙｅｓ）、上述した出力処理（ステップＳ５００）で認識結果を出力し、処理を終了する。
【００９８】
上記第３の実施の形態によれば、認識のために重要な「子音」のうち、音素レベルで重要度を分け、比較的重要度が低い音素についての尤度演算を省略することで、母音についての尤度演算を省略する場合より高速化を図ることができる。また、母音については、発話開始部分が母音である場合などは尤度演算を省略しないので、高速化を図りつつ、より認識精度を高めることができる。
【００９９】
なお、上記第１〜３の各実施の形態に記載の構成および方法を適宜組み合わせて音声認識をおこなってもよい。すなわち、処理対象フレームが偶数フレームの場合、各状態におけるすべての混合ガウス分布を用いて確率演算して累積尤度を更新する（以下、「通常処理」とする）とともに、出力確率が最大であった混合ガウス分布の確率値より所定値以上低い確率値であった分布については、次回省略するよう次回省略フラグを設定する。一方、処理対象が奇数フレームの場合、直前フレームで尤度演算していなかった場合は、通常処理をおこない、直前フレームでの尤度演算がない場合は、重要度テーブルを参照して、重要度に応じて演算を省略するか否かを決定する。ここで、重要度が「２」の場合は通常処理をおこなう。重要度が「１」の場合は、尤度演算は実行するが、次回省略フラグが「１」となっている混合ガウス分布についての演算は省略する。また、重要度が「０」の場合は、尤度演算を省略し、前フレームで算出された尤度を用いて累積尤度を更新する。
【０１００】
このような構成によれば、省略可能な演算処理をより詳細に決定することができ、高い認識精度と高速化を両立させることができる。
【０１０１】
なお、上記実施の形態においては、重要度を３値で示したが、重要度の設定はこれに限られず任意である。すなわち、音声認識装置の能力や、認識対象によって、重要度を任意に設定することで、適切な認識精度と処理速度にすることができる。
【０１０２】
また、上記各実施の形態における音声認識装置１００は、専用装置で構成可能であることはもとより、例えば、パーソナルコンピュータなどの汎用コンピュータ装置などで構成することができる。この場合、上記各実施の形態に示した処理をコンピュータ装置上で実現するためのプログラムをコンピュータ装置にインストールすることにより、本発明にかかる音声認識装置１００を構成することができる。この場合のプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭなどの記録媒体に格納して配布可能であることはもとより、搬送波に重畳させることで、インターネットなどの通信媒体を介して配布することができる。
【０１０３】
すなわち、本発明にかかる音声認識装置は、例えば、携帯型の翻訳装置などとして実現できる他、パーソナルコンピュータやゲーム装置などで動作するアプリケーションとして実現することができ、高速な音声認識を実現するものである。
【０１０４】
また、既存の音声認識装置や音声認識アプリケーションなどに、本発明にかかる各処理を実現するためのプログラムを追加すること（例えば、バージョンアップなど）により、音声認識処理を高速化することができる。
【０１０５】
以上説明したように、本発明によれば、混合分布数の多少に関わらず、高速な音声認識と高い認識精度を実現することができる。
【図面の簡単な説明】
【０１０６】
【図１】本発明の実施の形態にかかる音声認識装置の構成を示すブロック図である。
【図２】図１に示す音声認識装置の制御部で実現される機能を示す機能ブロック図である。
【図３】図１に示す記憶部の詳細を示す図である。
【図４】図３に示す累積尤度格納部に展開される累積尤度値の例を示す図である。
【図５】本発明の第１の実施の形態にかかる「音声認識処理１」を説明するためのフローチャートである。
【図６】図５に示す処理で実行される「省略要否決定処理」を説明するためのフローチャートである。
【図７】本発明の第１の実施の形態にかかる「音声認識処理１」を説明するためのフローチャートである。
【図８】本発明の第２の実施の形態にかかる「音声認識処理２」を説明するためのフローチャートである。
【図９】本発明の第２の実施の形態にかかる「音声認識処理２」を説明するためのフローチャートである。
【図１０】本発明の第３の実施の形態にかかる「重要度テーブル」の例を示す図である。
【図１１】本発明の第３の実施の形態にかかる「音声認識処理３」を説明するためのフローチャートである。
【符号の説明】
【０１０７】
１００…音声認識装置、１１１…特徴抽出手段、１１２…尤度算出手段、１１３…累積尤度算出手段、１１４…ノード作成手段、１１５…音声認識手段、１５１…音声格納部、１５２…特徴格納部、１５３…音響モデル格納部、１５４…文法格納部、１５５…辞書格納部、１５６…累積尤度格納部
【図１】
2005077682.tif 000004
【図２】
2005077682.tif 000005
【図３】
2005077682.tif 000006
【図４】
2005077682.tif 000007
【図５】
2005077682.tif 000008
【図６】
2005077682.tif 000009
【図７】
2005077682.tif 000010
【図８】
2005077682.tif 000011
【図９】
2005077682.tif 000012
【図１０】
2005077682.tif 000013
【図１１】
2005077682.tif 000014