JPH0764590A - 音声認識装置 - Google Patents
音声認識装置Info
- Publication number
- JPH0764590A JPH0764590A JP5209719A JP20971993A JPH0764590A JP H0764590 A JPH0764590 A JP H0764590A JP 5209719 A JP5209719 A JP 5209719A JP 20971993 A JP20971993 A JP 20971993A JP H0764590 A JPH0764590 A JP H0764590A
- Authority
- JP
- Japan
- Prior art keywords
- vector quantization
- probability
- quantization code
- arithmetic processor
- hidden markov
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】
【目的】離散型隠れマルコフモデルを用いた音声認識装
置において確率計算の効率化を図る。 【構成】 複数の状態に対応するパラメータを有する離
散型隠れマルコフモデルを、認識対象の単語(あるいは
音節)毎に複数個用意し、入力音声に基づいて得られた
ベクトル量子化コード時系列に対して前記複数個の離散
型隠れマルコフモデルを用いて確率計算を行い、該計算
された確率値に基づいて認識結果を求める音声認識装置
であって、前記確率計算を行う演算プロセッサ4と、前
記複数個の離散型隠れマルコフモデルのパラメータを、
同一の前記ベクトル量子化コードに関するパラメータ毎
に一連のアドレスにまとめて格納するメモリ5(62)
とを備え、演算プロセッサ4は、前記ベクトル量子化コ
ード時系列に対して、各ベクトル量子化コードに対応す
るパラメータをメモリ5からアドレス順に読みだして前
記確率演算を行う。
置において確率計算の効率化を図る。 【構成】 複数の状態に対応するパラメータを有する離
散型隠れマルコフモデルを、認識対象の単語(あるいは
音節)毎に複数個用意し、入力音声に基づいて得られた
ベクトル量子化コード時系列に対して前記複数個の離散
型隠れマルコフモデルを用いて確率計算を行い、該計算
された確率値に基づいて認識結果を求める音声認識装置
であって、前記確率計算を行う演算プロセッサ4と、前
記複数個の離散型隠れマルコフモデルのパラメータを、
同一の前記ベクトル量子化コードに関するパラメータ毎
に一連のアドレスにまとめて格納するメモリ5(62)
とを備え、演算プロセッサ4は、前記ベクトル量子化コ
ード時系列に対して、各ベクトル量子化コードに対応す
るパラメータをメモリ5からアドレス順に読みだして前
記確率演算を行う。
Description
【0001】
【産業上の利用分野】本発明は、音声認識装置に係り、
特に大語彙の音声認識処理を既存のハードウェアを用い
て高速に行なうのに好適な音声認識装置に関する。
特に大語彙の音声認識処理を既存のハードウェアを用い
て高速に行なうのに好適な音声認識装置に関する。
【0002】
【従来の技術】一般に音声認識には非常に大きな処理量
を要し、音声認識装置の実現には処理の効率化が要求さ
れる。特に最近広く利用されている離散型の隠れマルコ
フモデル(Hidden Markov Model、
以後HMMと記す)では各単語あるいは各音節のモデル
は膨大な量のパラメータを持ち、入力音声の認識に際し
ては全ての単語(あるいは音節)について確率計算を行
なう必要があるため膨大なパラメータの全体にアクセス
する必要が生じる。また、確率計算においては各モデル
が持つ各状態について計算を行なう必要があり処理量は
膨大なものになる。
を要し、音声認識装置の実現には処理の効率化が要求さ
れる。特に最近広く利用されている離散型の隠れマルコ
フモデル(Hidden Markov Model、
以後HMMと記す)では各単語あるいは各音節のモデル
は膨大な量のパラメータを持ち、入力音声の認識に際し
ては全ての単語(あるいは音節)について確率計算を行
なう必要があるため膨大なパラメータの全体にアクセス
する必要が生じる。また、確率計算においては各モデル
が持つ各状態について計算を行なう必要があり処理量は
膨大なものになる。
【0003】なお、隠れマルコフモデルの詳細について
は、例えば、“An Introduction toHidden Markov Mode
ls"、IEEE ASSP MAGAZINE、January 1
986、pp4-16に記載されている。
は、例えば、“An Introduction toHidden Markov Mode
ls"、IEEE ASSP MAGAZINE、January 1
986、pp4-16に記載されている。
【0004】従来から、音声認識における処理量削減手
法として、途中まで計算して可能性が低いとみなされた
候補に関する計算処理を打ち切るビームサーチ方式、計
算量の少ない方法を使って予め認識対象の全候補の中か
ら有望な候補を選択し、選択された候補についてのみ認
識処理を行なう予備選択方式などが試みられている。
法として、途中まで計算して可能性が低いとみなされた
候補に関する計算処理を打ち切るビームサーチ方式、計
算量の少ない方法を使って予め認識対象の全候補の中か
ら有望な候補を選択し、選択された候補についてのみ認
識処理を行なう予備選択方式などが試みられている。
【0005】ビームサーチ方式の例としては、電子情報
通信学会論文誌、D、Vol.J71−D No.9
pp.1650−1659、(1988−9)“フレー
ム同期化、ビームサーチ、ベクトル量子化の結合による
DPマッチングの高速化”あるいは電子情報通信学会論
文誌、D−2、Vol.J72−D−2 No.8p
p.1248−1255、(1989−8)“DPビー
ムサーチのしきい値関数の検討”に記載のようなものが
ある。処理量削減の基本的考え方は、途中まで計算して
可能性が低いとみなされた候補に関する計算処理を打ち
切り、計算対象を減らすことである。これらの文献に記
載された例は認識方式としてDPマッチングを対象にし
たものであるが、削減手法自体はHMMにも適用でき
る。
通信学会論文誌、D、Vol.J71−D No.9
pp.1650−1659、(1988−9)“フレー
ム同期化、ビームサーチ、ベクトル量子化の結合による
DPマッチングの高速化”あるいは電子情報通信学会論
文誌、D−2、Vol.J72−D−2 No.8p
p.1248−1255、(1989−8)“DPビー
ムサーチのしきい値関数の検討”に記載のようなものが
ある。処理量削減の基本的考え方は、途中まで計算して
可能性が低いとみなされた候補に関する計算処理を打ち
切り、計算対象を減らすことである。これらの文献に記
載された例は認識方式としてDPマッチングを対象にし
たものであるが、削減手法自体はHMMにも適用でき
る。
【0006】一方、予備選択方式の例としては、日本音
響学会講演論文集、1−3−17、(1986−10)
“大語彙単語音声認識のためのスペクトル動特性を用い
た予備選択法”に記載のようなものがある。上記従来例
では、予め認識対象の単語毎にベクトル量子化のコード
ブックを用意しておき、入力音声の終端が検出された後
に入力音声全体を上記各コードブックを用いてそれぞれ
ベクトル量子化を行ない、このときの量子化歪みを各コ
ードブック毎に累積し、その累積値がある閾値より小さ
いものに対してのみ照合を行なう。
響学会講演論文集、1−3−17、(1986−10)
“大語彙単語音声認識のためのスペクトル動特性を用い
た予備選択法”に記載のようなものがある。上記従来例
では、予め認識対象の単語毎にベクトル量子化のコード
ブックを用意しておき、入力音声の終端が検出された後
に入力音声全体を上記各コードブックを用いてそれぞれ
ベクトル量子化を行ない、このときの量子化歪みを各コ
ードブック毎に累積し、その累積値がある閾値より小さ
いものに対してのみ照合を行なう。
【0007】
【発明が解決しようとする課題】上記両従来技術は部分
的な処理結果や大まかな計算結果に基づいて認識対象の
中の可能性の低い部分を求め、その部分の処理を省くこ
とにより全体の処理量を減らすものである。もちろんこ
の両手法は処理量の削減に有効な手法であるが、HMM
における確率計算自体の効率化を図るものではない。ま
た、ハードウェア構成の観点から考えた処理速度の高速
化については言及されていない。
的な処理結果や大まかな計算結果に基づいて認識対象の
中の可能性の低い部分を求め、その部分の処理を省くこ
とにより全体の処理量を減らすものである。もちろんこ
の両手法は処理量の削減に有効な手法であるが、HMM
における確率計算自体の効率化を図るものではない。ま
た、ハードウェア構成の観点から考えた処理速度の高速
化については言及されていない。
【0008】本発明の目的は、HMMにおける確率計算
自体の効率化を図り、また、ハードウェア構成の観点か
ら考えた処理の高速化を図り、既存のハードウェアを用
いて、コンパクトでかつ安価な大語彙の音声認識装置を
実現することにある。
自体の効率化を図り、また、ハードウェア構成の観点か
ら考えた処理の高速化を図り、既存のハードウェアを用
いて、コンパクトでかつ安価な大語彙の音声認識装置を
実現することにある。
【0009】
【課題を解決するための手段】上記本発明の目的を達成
するために、本発明による音声認識装置は、複数の状態
に対応するパラメータを有する離散型隠れマルコフモデ
ルを、認識対象の単語(あるいは音節)毎に複数個用意
し、入力音声に基づいて得られたベクトル量子化コード
時系列に対して前記複数個の離散型隠れマルコフモデル
を用いて確率計算を行い、該計算された確率値に基づい
て認識結果を求める音声認識装置であって、前記確率計
算を行う演算プロセッサと、前記複数個の離散型隠れマ
ルコフモデルのパラメータを、同一の前記ベクトル量子
化コードに関するパラメータ毎に一連のアドレスにまと
めて格納するメモリとを備え、前記演算プロセッサは、
前記ベクトル量子化コード時系列に対して、各ベクトル
量子化コードに対応するパラメータを前記メモリからア
ドレス順に読みだして前記確率演算を行うようにしたも
のである。
するために、本発明による音声認識装置は、複数の状態
に対応するパラメータを有する離散型隠れマルコフモデ
ルを、認識対象の単語(あるいは音節)毎に複数個用意
し、入力音声に基づいて得られたベクトル量子化コード
時系列に対して前記複数個の離散型隠れマルコフモデル
を用いて確率計算を行い、該計算された確率値に基づい
て認識結果を求める音声認識装置であって、前記確率計
算を行う演算プロセッサと、前記複数個の離散型隠れマ
ルコフモデルのパラメータを、同一の前記ベクトル量子
化コードに関するパラメータ毎に一連のアドレスにまと
めて格納するメモリとを備え、前記演算プロセッサは、
前記ベクトル量子化コード時系列に対して、各ベクトル
量子化コードに対応するパラメータを前記メモリからア
ドレス順に読みだして前記確率演算を行うようにしたも
のである。
【0010】
【作用】本発明の音声認識装置では、HMMを用いた確
率計算を実行する上で、効率良くHMMのデータにアク
セスできる様にパラメータ(データ)をメモリ内に配置
し、かつ、連続したアドレスを効率良くアクセスできる
メモリを用いるので、高速なHMM確率計算が実行でき
る。
率計算を実行する上で、効率良くHMMのデータにアク
セスできる様にパラメータ(データ)をメモリ内に配置
し、かつ、連続したアドレスを効率良くアクセスできる
メモリを用いるので、高速なHMM確率計算が実行でき
る。
【0011】また、HMMの構造上事前に計算できる遷
移確率と出現確率の掛け合わせ計算(対数領域で行なえ
ば足し合わせ計算)は予め全て行なった上でその結果を
モデルのパラメータの中に収めておき、認識時にはこれ
を用いて確率計算することにより、認識時の計算量を軽
減し、一層の高速化が図れる。
移確率と出現確率の掛け合わせ計算(対数領域で行なえ
ば足し合わせ計算)は予め全て行なった上でその結果を
モデルのパラメータの中に収めておき、認識時にはこれ
を用いて確率計算することにより、認識時の計算量を軽
減し、一層の高速化が図れる。
【0012】さらに、各HMM毎のベクトル量子化コー
ドの出現頻度情報を使って対応するHMMの可能性を判
定し、可能性の低いHMMについては確率計算を省略す
ることで、より一層の高速化が図れる。
ドの出現頻度情報を使って対応するHMMの可能性を判
定し、可能性の低いHMMについては確率計算を省略す
ることで、より一層の高速化が図れる。
【0013】さらに、複数の演算プロセッサで認識対象
となる単語(あるいは音節)を分担することにより、大
語彙に対処することができる。
となる単語(あるいは音節)を分担することにより、大
語彙に対処することができる。
【0014】以上、各種の高速化手法を総合した本発明
によれば、最新の安価なハードウェアを用いて、コンパ
クトで安価でかつ高速な大語彙の音声認識装置を実現す
ることができる。
によれば、最新の安価なハードウェアを用いて、コンパ
クトで安価でかつ高速な大語彙の音声認識装置を実現す
ることができる。
【0015】
【実施例】以下、本発明の実施例を説明する。本発明は
単音節認識、単語認識、文章認識など各種の音声認識に
適用できるが、ここでは簡単のため単語認識を取り上げ
て説明する。
単音節認識、単語認識、文章認識など各種の音声認識に
適用できるが、ここでは簡単のため単語認識を取り上げ
て説明する。
【0016】図1は本発明の音声認識装置のハードウェ
ア構成を示すブロック図である。マイク1から入力され
た音声はオーディオアンプ2において増幅される。増幅
された音声信号はAD変換器3において一定時間間隔
(例えば8kHzサンプリングでは125μs)毎に取
り込まれディジタル化される。ディジタル化された音声
信号は演算プロセッサ部4において外部メモリ5の内容
を参照しながら各種処理が施され最終的に認識結果が得
られる。
ア構成を示すブロック図である。マイク1から入力され
た音声はオーディオアンプ2において増幅される。増幅
された音声信号はAD変換器3において一定時間間隔
(例えば8kHzサンプリングでは125μs)毎に取
り込まれディジタル化される。ディジタル化された音声
信号は演算プロセッサ部4において外部メモリ5の内容
を参照しながら各種処理が施され最終的に認識結果が得
られる。
【0017】演算プロセッサ部4における処理を図3の
フローチャートを用いて説明する。
フローチャートを用いて説明する。
【0018】説明の簡単化のため「0」から「9」まで
の10個の数字の音声認識を例に挙げて説明する。
の10個の数字の音声認識を例に挙げて説明する。
【0019】マイクに向かって数字音声、例えば、「1
(イチ)」と発声されると、AD変換器3においては音
声信号が一定時間間隔毎(例えば12kHzサンプリン
グの場合には83.3μs毎)に取り込まれデジタル化
される(S31、S32)。演算プロセッサ部4では、
音声データがデジタル化されたサンプルデータが得られ
る毎に自己相関関数の計算を行う(S33)。自己相関
関数の計算は、1サンプルデータが得られる毎に部分的
な計算を行う。式で表現すると、次のようになる。ここ
で、riは第i次の自己相関係数の部分的な結果を格納
する変数、xtは時刻tのサンプルデータを表わす。な
お、ここでは自己相関の次数を14次とする。
(イチ)」と発声されると、AD変換器3においては音
声信号が一定時間間隔毎(例えば12kHzサンプリン
グの場合には83.3μs毎)に取り込まれデジタル化
される(S31、S32)。演算プロセッサ部4では、
音声データがデジタル化されたサンプルデータが得られ
る毎に自己相関関数の計算を行う(S33)。自己相関
関数の計算は、1サンプルデータが得られる毎に部分的
な計算を行う。式で表現すると、次のようになる。ここ
で、riは第i次の自己相関係数の部分的な結果を格納
する変数、xtは時刻tのサンプルデータを表わす。な
お、ここでは自己相関の次数を14次とする。
【0020】ri = ri + xt × xt-i 予め決められたデータポイント数分(例えば、分析窓長
を20msとし、12kHzサンプリングとすると、2
40点)だけ上記の計算が行われると、1フレーム分の
自己相関関数ri(i=0〜14)が確定し、フレーム
単位の処理に進む(S35)。周波数分析の周期(フレ
ーム周期)を分析窓長と同じ20msとすれば、20m
sに1度ずつ自己相関係数が確定し、フレーム単位の処
理が行われることになる。
を20msとし、12kHzサンプリングとすると、2
40点)だけ上記の計算が行われると、1フレーム分の
自己相関関数ri(i=0〜14)が確定し、フレーム
単位の処理に進む(S35)。周波数分析の周期(フレ
ーム周期)を分析窓長と同じ20msとすれば、20m
sに1度ずつ自己相関係数が確定し、フレーム単位の処
理が行われることになる。
【0021】フレーム単位の処理では、まず、自己相関
関数から線形予測係数を計算し(S351)、さらに線
形予測係数からケプストラム係数を求める(S35
2)。求まったケプストラム係数は多次元のベクトルと
みなされ、予め用意したベクトル量子化コードブックを
用いてベクトル量子化し、ベクトル量子化コードを得る
(S353)。ベクトル量子化のレベル(コードブック
のサイズ)としては任意の値を取ることができるが、本
実施例では256とする。すなわち、ベクトル量子化後
には、量子化コードk(1から256までのいずれかの
正数値)が得られる。すなわち、入力された単語音声
「1(イチ)」の音声長がLフレーム分あったとする
と、長さLのコード系列が得られることになる。
関数から線形予測係数を計算し(S351)、さらに線
形予測係数からケプストラム係数を求める(S35
2)。求まったケプストラム係数は多次元のベクトルと
みなされ、予め用意したベクトル量子化コードブックを
用いてベクトル量子化し、ベクトル量子化コードを得る
(S353)。ベクトル量子化のレベル(コードブック
のサイズ)としては任意の値を取ることができるが、本
実施例では256とする。すなわち、ベクトル量子化後
には、量子化コードk(1から256までのいずれかの
正数値)が得られる。すなわち、入力された単語音声
「1(イチ)」の音声長がLフレーム分あったとする
と、長さLのコード系列が得られることになる。
【0022】単語音声認識は、予め用意された認識対象
すべて(今の例では10数字のすべて)の離散型隠れマ
ルコフモデル(HMM)について、上記の長さLのコー
ド系列を出力する確率を計算し、最も確率の高いHMM
を認識結果とする。
すべて(今の例では10数字のすべて)の離散型隠れマ
ルコフモデル(HMM)について、上記の長さLのコー
ド系列を出力する確率を計算し、最も確率の高いHMM
を認識結果とする。
【0023】実際のHMMの確率計算処理は、長さLの
コード系列が求まってから行うわけではなく、図3のフ
ローチャートに示すように、ベクトル量子化コードkが
一つ求まる毎に実施し、音声終端が検出されたか否かを
判定し(S36)、検出された場合にはソーティング/
候補出力の処理に進む。音声終端が検出されず、入力音
声が継続している間、フローチャートの先頭に戻り、自
己相関の計算、フレーム単位の処理を継続する。
コード系列が求まってから行うわけではなく、図3のフ
ローチャートに示すように、ベクトル量子化コードkが
一つ求まる毎に実施し、音声終端が検出されたか否かを
判定し(S36)、検出された場合にはソーティング/
候補出力の処理に進む。音声終端が検出されず、入力音
声が継続している間、フローチャートの先頭に戻り、自
己相関の計算、フレーム単位の処理を継続する。
【0024】以上の処理が行われ、音声の終端が検出さ
れると確率計算を終了し、各単語(「0」から「9」の
10数字)の確率値を各単語のスコアとし、このスコア
に基づいて各単語をソーティングする(S37)。ソー
ティングされた上位L(例えばL=3)候補を認識結果
として出力する(S38)。例えば、今の例では、単語
「1」に対する確率値が高くなり、そのHMMが1位と
して出力されれば正解認識となる。
れると確率計算を終了し、各単語(「0」から「9」の
10数字)の確率値を各単語のスコアとし、このスコア
に基づいて各単語をソーティングする(S37)。ソー
ティングされた上位L(例えばL=3)候補を認識結果
として出力する(S38)。例えば、今の例では、単語
「1」に対する確率値が高くなり、そのHMMが1位と
して出力されれば正解認識となる。
【0025】なお、線形予測係数を求める処理およびケ
プストラム係数を求める処理については、例えば、古井
「ディジタル音声処理」東海大学出版などに記載されて
いる手法を使えばよい。また、本実施例の図3のフロー
チャートでは、HMMを用いた確率計算を他のフレーム
単位の処理と同期して行うような構成としているが、H
MMを用いた確率計算部分を別のプロセスとして独立さ
せ、マルチプロセスで実行することももちろん可能であ
る。
プストラム係数を求める処理については、例えば、古井
「ディジタル音声処理」東海大学出版などに記載されて
いる手法を使えばよい。また、本実施例の図3のフロー
チャートでは、HMMを用いた確率計算を他のフレーム
単位の処理と同期して行うような構成としているが、H
MMを用いた確率計算部分を別のプロセスとして独立さ
せ、マルチプロセスで実行することももちろん可能であ
る。
【0026】つぎに、図3のフローチャートの中のHM
Mを用いた確率計算部分(S354)について詳細に説
明する。まず、HMMについて図4のHMMの説明図を
用いて説明する。HMMはいくつかの状態(状態数をN
とする。)を持った状態遷移モデルであり、各状態遷移
に対してその状態遷移が生じる確率(遷移確率)、およ
びその状態遷移が生じた際に各ベクトル量子化コードが
出現する確率(出現確率)が定義されている。状態数N
は、例えば、単語の場合には20程度、音節の場合には
5程度である。HMMは音声を表現するモデルである
が、単語を単位としてモデル化する場合(単語HMM)
と音節のような小さい単位毎にモデルを持ち(音節HM
M)これら小さなモデルの結合により単語を表す場合が
ある。本実施例では単語HMMの場合を考える。認識対
象の語彙がM(例えばM=10)個の場合、M個のHM
Mを用意する。
Mを用いた確率計算部分(S354)について詳細に説
明する。まず、HMMについて図4のHMMの説明図を
用いて説明する。HMMはいくつかの状態(状態数をN
とする。)を持った状態遷移モデルであり、各状態遷移
に対してその状態遷移が生じる確率(遷移確率)、およ
びその状態遷移が生じた際に各ベクトル量子化コードが
出現する確率(出現確率)が定義されている。状態数N
は、例えば、単語の場合には20程度、音節の場合には
5程度である。HMMは音声を表現するモデルである
が、単語を単位としてモデル化する場合(単語HMM)
と音節のような小さい単位毎にモデルを持ち(音節HM
M)これら小さなモデルの結合により単語を表す場合が
ある。本実施例では単語HMMの場合を考える。認識対
象の語彙がM(例えばM=10)個の場合、M個のHM
Mを用意する。
【0027】HMMはN個の状態を持つ状態遷移モデル
であるが、ここでは状態数Nを5として説明する。図4
に示すのは、ある単語w(1〜Mのいずれか)に対応し
た、5状態を持つ一つのHMMである。図4で丸で示し
たのが状態であり丸の中の数字が状態番号に対応する。
状態と状態の間で遷移が許されている部分は矢印(アー
ク)で結ばれている。一般に、HMMは任意の状態から
任意の状態への状態遷移を許すが、ここでは音声認識で
良く用いられるleft−to−rightのモデルを
取り上げる。left−to−rightのモデルでは
自分自身への状態遷移と一つ先の状態(一つ番号の大き
い状態)への状態遷移のみを許す。各状態遷移には、状
態遷移確率(図中記号aで表示)と、その時の各ベクト
ル量子化コードの出現確率(図中記号bで表示)が付随
する。
であるが、ここでは状態数Nを5として説明する。図4
に示すのは、ある単語w(1〜Mのいずれか)に対応し
た、5状態を持つ一つのHMMである。図4で丸で示し
たのが状態であり丸の中の数字が状態番号に対応する。
状態と状態の間で遷移が許されている部分は矢印(アー
ク)で結ばれている。一般に、HMMは任意の状態から
任意の状態への状態遷移を許すが、ここでは音声認識で
良く用いられるleft−to−rightのモデルを
取り上げる。left−to−rightのモデルでは
自分自身への状態遷移と一つ先の状態(一つ番号の大き
い状態)への状態遷移のみを許す。各状態遷移には、状
態遷移確率(図中記号aで表示)と、その時の各ベクト
ル量子化コードの出現確率(図中記号bで表示)が付随
する。
【0028】ベクトル量子化コード時系列k(1)、k
(2)、k(3)・・・k(t)(k(t)は1〜25
6の間の整数値)を観測して、単語wのHMMの状態i
にいる確率をP(w、i、t)と表わすことにする。M
単語の音声認識の問題は、P(w、N、T)(w=1〜
M)が最大値を与えるwを求める問題と考えることがで
きる。したがって、P(w、i、t)の計算が直接音声
認識処理につながる。P(w、i、t)の計算にはいく
つかの方法があるが、ここではビタビアルゴリズムと呼
ばれる手法を使うことにする。計算に先だって次式にし
たがって初期設定を行なう。
(2)、k(3)・・・k(t)(k(t)は1〜25
6の間の整数値)を観測して、単語wのHMMの状態i
にいる確率をP(w、i、t)と表わすことにする。M
単語の音声認識の問題は、P(w、N、T)(w=1〜
M)が最大値を与えるwを求める問題と考えることがで
きる。したがって、P(w、i、t)の計算が直接音声
認識処理につながる。P(w、i、t)の計算にはいく
つかの方法があるが、ここではビタビアルゴリズムと呼
ばれる手法を使うことにする。計算に先だって次式にし
たがって初期設定を行なう。
【0029】 P(w,i,0) = 1 (i=1,w=1〜M) ・・・(1) P(w,i,0) = 0 (i≠1,w=1〜M) ・・・(2) 以後、ベクトル量子化コードk(t)(k(t)=1〜
256)が得られる毎に各単語の各状態について次式に
したがって確率値更新を行なう。
256)が得られる毎に各単語の各状態について次式に
したがって確率値更新を行なう。
【0030】 wk1 = P(w,i-1,t-1)×a(w,i-1,i)×b(w,i-1,i,k(t)) ・・・(3) wk2 = P(w,i ,t-1)×a(w,i ,i)×b(w,i ,i,k(t)) ・・・(4) P(w,i,t) = max(wk1、wk2) ・・・(5) ここで、a(w、i、j)は単語wの状態iから状態j
への遷移確率、b(w、i、j、k(t))は単語wの
状態iから状態jへの遷移においてベクトル量子化コー
ドk(t)が出現する確率である。以上の計算フローは
フローチャートで示すと図5の様になる。なお、全ての
確率値を対数領域で表わすようにすれば、上記式(3)
(4)の確率計算中の乗算は全て加算に置き換えること
ができる。
への遷移確率、b(w、i、j、k(t))は単語wの
状態iから状態jへの遷移においてベクトル量子化コー
ドk(t)が出現する確率である。以上の計算フローは
フローチャートで示すと図5の様になる。なお、全ての
確率値を対数領域で表わすようにすれば、上記式(3)
(4)の確率計算中の乗算は全て加算に置き換えること
ができる。
【0031】以上が1フレーム間のHMMの確率計算で
あるが、これを音声終端が検出されるまで繰り返し、最
終的にP(w、N、T)が全M単語について求まり、こ
れの上位のものを選ぶことで認識結果が得られる。
あるが、これを音声終端が検出されるまで繰り返し、最
終的にP(w、N、T)が全M単語について求まり、こ
れの上位のものを選ぶことで認識結果が得られる。
【0032】次に、上記HMMのデータのメモリ内での
配置について説明する。
配置について説明する。
【0033】上記HMMを用いた確率計算の説明におい
て示したように、1つの単語のHMMあたり、状態遷移
確率a(w、i、j)(i=1〜5、j=i、i+1)
が10ワード、ベクトル量子化コード出現確率b(w、
i、j、k)(i=1〜5、j=i、i+1、k=1〜
256)が2560ワードの計2570ワードのデータ
からなる。このデータをメモリ内でどの様に配置するか
には様々なバラエティが考えられる。
て示したように、1つの単語のHMMあたり、状態遷移
確率a(w、i、j)(i=1〜5、j=i、i+1)
が10ワード、ベクトル量子化コード出現確率b(w、
i、j、k)(i=1〜5、j=i、i+1、k=1〜
256)が2560ワードの計2570ワードのデータ
からなる。このデータをメモリ内でどの様に配置するか
には様々なバラエティが考えられる。
【0034】最も単純には、図6のa)に示す様に、ま
ず各単語毎にまとめて格納し、各単語内では各状態毎に
まとめ、各状態内では自状態への遷移と次状態への遷移
の2つの部分に分け、各部分内ではまず遷移確率aを格
納しこれに続いて256ワード分のベクトル量子化コー
ドの出現確率bをアドレス順に格納するという方法が考
えられる。しかしながら、このようにデータを配置する
と上記(3)(4)式の確率更新計算においてメモリ内
の飛び飛びのアドレスにアクセスする必要が生じ効率が
良くない。
ず各単語毎にまとめて格納し、各単語内では各状態毎に
まとめ、各状態内では自状態への遷移と次状態への遷移
の2つの部分に分け、各部分内ではまず遷移確率aを格
納しこれに続いて256ワード分のベクトル量子化コー
ドの出現確率bをアドレス順に格納するという方法が考
えられる。しかしながら、このようにデータを配置する
と上記(3)(4)式の確率更新計算においてメモリ内
の飛び飛びのアドレスにアクセスする必要が生じ効率が
良くない。
【0035】そこで、HMMのデータを大幅に並び替
え、図6のb)に示すようにする。すなわちHMMのデ
ータを単語毎に整理するのではなく、ベクトル量子化コ
ード毎に整理する。特定のベクトル量子化コードkにつ
いてのHMMの情報は全て局所的なアドレス領域にまと
めて格納される。図6のb)に示す並びであると、ベク
トル量子化コードkが定まるとそのフレームにおける確
率計算に必要なHMMのデータは局所的な領域にまとめ
て置かれることになり、かつ、式(3)(4)の計算順
序に合わせた形でアドレス順にデータが格納されるの
で、確率計算の最中のHMMデータの参照はアドレスの
インクリメントだけで実行される。図6のb)に示す並
びでは状態遷移確率a(w、i、j)を各ベクトル量子
化コードの出現確率b(w,i,j,k)と対で格納す
るため、データ量は図6のa)に示すような格納の仕方
の場合のほぼ2倍になってしまうが、計算効率は高くな
る。
え、図6のb)に示すようにする。すなわちHMMのデ
ータを単語毎に整理するのではなく、ベクトル量子化コ
ード毎に整理する。特定のベクトル量子化コードkにつ
いてのHMMの情報は全て局所的なアドレス領域にまと
めて格納される。図6のb)に示す並びであると、ベク
トル量子化コードkが定まるとそのフレームにおける確
率計算に必要なHMMのデータは局所的な領域にまとめ
て置かれることになり、かつ、式(3)(4)の計算順
序に合わせた形でアドレス順にデータが格納されるの
で、確率計算の最中のHMMデータの参照はアドレスの
インクリメントだけで実行される。図6のb)に示す並
びでは状態遷移確率a(w、i、j)を各ベクトル量子
化コードの出現確率b(w,i,j,k)と対で格納す
るため、データ量は図6のa)に示すような格納の仕方
の場合のほぼ2倍になってしまうが、計算効率は高くな
る。
【0036】なお、図6のb)では予めHMMのデータ
を計算効率を高めるようにメモリ内で並べ替えておいた
が、図2に示すように演算プロセッサ6内部にデータ転
送制御部63を設け、該データ転送制御部63が、ベク
トル量子化結果kが得られる毎にベクトル量子化コード
kに関するHMMのデータのみを外部メモリ5から取り
だし、これを演算プロセッサ部61の内部メモリ62の
一連のアドレス領域に収めるようにし、内部メモリ62
を用いて前記HMMの確率計算をするようにすれば同様
の計算の効率化が図れる。
を計算効率を高めるようにメモリ内で並べ替えておいた
が、図2に示すように演算プロセッサ6内部にデータ転
送制御部63を設け、該データ転送制御部63が、ベク
トル量子化結果kが得られる毎にベクトル量子化コード
kに関するHMMのデータのみを外部メモリ5から取り
だし、これを演算プロセッサ部61の内部メモリ62の
一連のアドレス領域に収めるようにし、内部メモリ62
を用いて前記HMMの確率計算をするようにすれば同様
の計算の効率化が図れる。
【0037】なお、実施例において、内部メモリまたは
外部メモリとして、RAMbusや同期型DRAM等の
連続したアドレスを演算プロセッサから効率よくアクセ
スできるメモリを用いてもよい。このようなメモリにつ
いては、例えば、日経エレクトロニクス1992.3.
16(no549)第95〜97頁、日経エレクトロニ
クス1992.5.11(no553)第143〜14
7頁に開示されている。
外部メモリとして、RAMbusや同期型DRAM等の
連続したアドレスを演算プロセッサから効率よくアクセ
スできるメモリを用いてもよい。このようなメモリにつ
いては、例えば、日経エレクトロニクス1992.3.
16(no549)第95〜97頁、日経エレクトロニ
クス1992.5.11(no553)第143〜14
7頁に開示されている。
【0038】次に、上記HMMを用いた確率計算におい
て、HMM計算の構造上事前に実行できる計算の事前実
行について説明する。式(3)(4)を見ると、同一の
式の中で現れる配列要素a(w、i、j)とb(w、
i、j、k)の添字はkを除いては全て同じであること
がわかる。すなわち、式(3)(4)式中、 a(w、i、j)×b(w、i、j、k) ・・・(6) の乗算は事前に実行できる性格のものであり、式(6)
の計算を事前に行ない、その結果をb’(w、i、j、
k)として、 b’(w,i,j,k) = a(w,i,j)×b(w,i,j,k) ・・・(7) を新たなパラメータとして格納し、これを用いてHMM
の確率計算を行なうことができる。この様にすれば式
(3)(4)と式(8)(9)の比較から明らかなよう
に計算量をほぼ半減することができる。HMMを用いた
確率計算では、式(3)(4))に代わって次式(8)
(9)を用いることになる。
て、HMM計算の構造上事前に実行できる計算の事前実
行について説明する。式(3)(4)を見ると、同一の
式の中で現れる配列要素a(w、i、j)とb(w、
i、j、k)の添字はkを除いては全て同じであること
がわかる。すなわち、式(3)(4)式中、 a(w、i、j)×b(w、i、j、k) ・・・(6) の乗算は事前に実行できる性格のものであり、式(6)
の計算を事前に行ない、その結果をb’(w、i、j、
k)として、 b’(w,i,j,k) = a(w,i,j)×b(w,i,j,k) ・・・(7) を新たなパラメータとして格納し、これを用いてHMM
の確率計算を行なうことができる。この様にすれば式
(3)(4)と式(8)(9)の比較から明らかなよう
に計算量をほぼ半減することができる。HMMを用いた
確率計算では、式(3)(4))に代わって次式(8)
(9)を用いることになる。
【0039】 wk1 = P(w,i-1,t-1)× b’(w,i-1,i,k(t)) ・・・(8) wk2 = P(w,i ,t-1)× b’(w,i ,i,k(t)) ・・・(9) P(w、i、t) = max(wk1、wk2) ・・・(10) このときのメモリ内のHMMのデータの配置は図7に示
すようになる。すなわち、遷移確率のデータと出現確率
のデータが事前に掛け合わされ、従来2ワード必要とし
ていた情報が1ワードに収められる。従ってメモリ量も
図6のb)の場合の配置と比べると半減する。
すようになる。すなわち、遷移確率のデータと出現確率
のデータが事前に掛け合わされ、従来2ワード必要とし
ていた情報が1ワードに収められる。従ってメモリ量も
図6のb)の場合の配置と比べると半減する。
【0040】つぎに複数の演算プロセッサを用いて認識
対象の語彙数を増やす場合の実施例を図8を用いて説明
する。
対象の語彙数を増やす場合の実施例を図8を用いて説明
する。
【0041】単一の演算プロセッサでは処理能力に限界
があり認識できる語彙数も自ずと限られてしまう。演算
プロセッサを複数化するのが一つの解である。図8の実
施例では演算プロセッサの数を3個としているが、特に
演算プロセッサの数に制限がある訳ではない。図8中、
第1の演算プロセッサ71では図1に示した実施例にお
ける演算プロセッサ4とほぼ同じ処理を行なうが、ベク
トル量子化結果を他の全ての演算プロセッサ73,75
に送出する点、他の演算プロセッサから他の演算プロセ
ッサが担当している単語のHMMの確率計算結果を受け
とる点が異なる。他の演算プロセッサ73,75は、第
1の演算プロセッサ71からベクトル量子化結果kを受
けとり、これを用いてHMMの確率計算を行なう。音声
終端検出後に、HMM確率計算の最終結果を第1の演算
プロセッサ71に返す。第1の演算プロセッサ71で
は、自分が担当した単語のHMMの確率計算結果および
他の演算プロセッサから受けとった他の単語に関するH
MMの確率計算結果の全てを総合して認識結果を求め
る。以上により、語彙数の増加に対して容易に対処でき
る。本実施例の場合、図8に示すように各演算プロセッ
サ毎に一定数の単語を担当するようになるが担当する単
語のHMMのデータは各演算プロセッサ毎に個別に設け
られた外部メモリ72,74,76に格納される。した
がって、この場合には各外部メモリ72,74,76に
担当する単語毎のHMMのデータを格納する必要があ
り、図6のb)に示した様なメモリ配置にする訳にはい
かない。メモリアクセスの効率および単語毎の独立性を
両立させることを考えると、本実施例におけるHMMの
データのメモリ配置は図9に示すようなものとなる。す
なわち、HMMのデータは単語毎に分割して保持し、単
語内ではベクトル量子化コード毎に整理する形となる。
があり認識できる語彙数も自ずと限られてしまう。演算
プロセッサを複数化するのが一つの解である。図8の実
施例では演算プロセッサの数を3個としているが、特に
演算プロセッサの数に制限がある訳ではない。図8中、
第1の演算プロセッサ71では図1に示した実施例にお
ける演算プロセッサ4とほぼ同じ処理を行なうが、ベク
トル量子化結果を他の全ての演算プロセッサ73,75
に送出する点、他の演算プロセッサから他の演算プロセ
ッサが担当している単語のHMMの確率計算結果を受け
とる点が異なる。他の演算プロセッサ73,75は、第
1の演算プロセッサ71からベクトル量子化結果kを受
けとり、これを用いてHMMの確率計算を行なう。音声
終端検出後に、HMM確率計算の最終結果を第1の演算
プロセッサ71に返す。第1の演算プロセッサ71で
は、自分が担当した単語のHMMの確率計算結果および
他の演算プロセッサから受けとった他の単語に関するH
MMの確率計算結果の全てを総合して認識結果を求め
る。以上により、語彙数の増加に対して容易に対処でき
る。本実施例の場合、図8に示すように各演算プロセッ
サ毎に一定数の単語を担当するようになるが担当する単
語のHMMのデータは各演算プロセッサ毎に個別に設け
られた外部メモリ72,74,76に格納される。した
がって、この場合には各外部メモリ72,74,76に
担当する単語毎のHMMのデータを格納する必要があ
り、図6のb)に示した様なメモリ配置にする訳にはい
かない。メモリアクセスの効率および単語毎の独立性を
両立させることを考えると、本実施例におけるHMMの
データのメモリ配置は図9に示すようなものとなる。す
なわち、HMMのデータは単語毎に分割して保持し、単
語内ではベクトル量子化コード毎に整理する形となる。
【0042】つぎに、出現確率がある基準より低いHM
Mについて確率計算を省略することにより、全体の計算
量を削減し認識処理を高速化する手法について説明す
る。
Mについて確率計算を省略することにより、全体の計算
量を削減し認識処理を高速化する手法について説明す
る。
【0043】式(3)(4)から判るように、特定のベ
クトル量子化コードについての出現確率が非常に小さな
値をとるとき、そのHMMの確率は非常に小さな値とな
り、このHMMが最終的に認識結果として残る可能性は
低くなる。そこで、予め各HMM中の各ベクトル量子化
コードの出現確率を調べておき、この出現確率が非常に
低いベクトル量子化結果が得られたときにはそのHMM
の確率計算を省略することができる。各ベクトル量子化
コード毎にその出現確率が予め決められた基準より低い
遷移の存在するHMMをリストアップして図10に示す
ようなテーブルを作成する。認識時には、図10のテー
ブルを引き、ベクトル量子化結果から出現確率の低いH
MMを求め、このHMMについては確率計算を省略する
ようにする。以上により確率計算を大幅に省略できより
高速な音声認識ができる。
クトル量子化コードについての出現確率が非常に小さな
値をとるとき、そのHMMの確率は非常に小さな値とな
り、このHMMが最終的に認識結果として残る可能性は
低くなる。そこで、予め各HMM中の各ベクトル量子化
コードの出現確率を調べておき、この出現確率が非常に
低いベクトル量子化結果が得られたときにはそのHMM
の確率計算を省略することができる。各ベクトル量子化
コード毎にその出現確率が予め決められた基準より低い
遷移の存在するHMMをリストアップして図10に示す
ようなテーブルを作成する。認識時には、図10のテー
ブルを引き、ベクトル量子化結果から出現確率の低いH
MMを求め、このHMMについては確率計算を省略する
ようにする。以上により確率計算を大幅に省略できより
高速な音声認識ができる。
【0044】なお、本手法を導入した場合の音声認識の
流れを図11のフローチャートに示す。本フローチャー
トは、図3に示したフローチャートに対して出現確率に
よる計算省略のステップS111、S112を挿入した
ものとなっている。
流れを図11のフローチャートに示す。本フローチャー
トは、図3に示したフローチャートに対して出現確率に
よる計算省略のステップS111、S112を挿入した
ものとなっている。
【0045】次に、一定の時間長の区間のベクトル量子
化コードの統計情報を用いて、HMMの確率計算を省略
する手法について説明する。
化コードの統計情報を用いて、HMMの確率計算を省略
する手法について説明する。
【0046】一定の時間長として例えば図12のa)に
示すように処理対象のフレームの前後10フレームずつ
計21フレーム(フレーム周期を20msとすれば約4
00msの区間)を考える。統計情報として図12の
b)に示すようなヒストグラムを算出する。このヒスト
グラムは21個の量子化コードについて、どのコードが
いくつあるかをカウントするだけで得られる。一方、各
HMMは各遷移毎に各ベクトル量子化コードの出現確率
を持っているが、これはそのままヒストグラムに対応す
る。そこで、この各遷移毎のヒストグラムを全遷移で平
均すればやはりヒストグラムを得ることができ、これを
このHMMのヒストグラムとして考えることができる。
両ヒストグラムを比較し、類似性が予め決められた基準
より低いときには、そのHMMについての確率計算を省
略する。
示すように処理対象のフレームの前後10フレームずつ
計21フレーム(フレーム周期を20msとすれば約4
00msの区間)を考える。統計情報として図12の
b)に示すようなヒストグラムを算出する。このヒスト
グラムは21個の量子化コードについて、どのコードが
いくつあるかをカウントするだけで得られる。一方、各
HMMは各遷移毎に各ベクトル量子化コードの出現確率
を持っているが、これはそのままヒストグラムに対応す
る。そこで、この各遷移毎のヒストグラムを全遷移で平
均すればやはりヒストグラムを得ることができ、これを
このHMMのヒストグラムとして考えることができる。
両ヒストグラムを比較し、類似性が予め決められた基準
より低いときには、そのHMMについての確率計算を省
略する。
【0047】類似性尺度としては、例えば、前記ヒスト
グラムを多次元ベクトルとみなし、内積をとるといった
方法が考えられる。こうして算出した類似性尺度が予め
設定した基準値(例えば0.1)より小さい場合にはH
MMの確率計算を省略する。
グラムを多次元ベクトルとみなし、内積をとるといった
方法が考えられる。こうして算出した類似性尺度が予め
設定した基準値(例えば0.1)より小さい場合にはH
MMの確率計算を省略する。
【0048】以上により、確率計算を大幅に省略でき、
より高速な音声認識ができる。なお、本手法を導入した
場合の音声認識の流れを図13のフローチャートに示
す。本フローチャートは、図3に示したフローチャート
にベクトル量子化コードの時系列の統計情報を使った計
算省略のステップS131、S132を挿入したものと
なっている。
より高速な音声認識ができる。なお、本手法を導入した
場合の音声認識の流れを図13のフローチャートに示
す。本フローチャートは、図3に示したフローチャート
にベクトル量子化コードの時系列の統計情報を使った計
算省略のステップS131、S132を挿入したものと
なっている。
【0049】
【発明の効果】本発明によれば、HMMを用いた確率計
算を実行する上で、効率良くHMMのデータにアクセス
できる様にデータをメモリ内に配置し、かつ、連続した
アドレスを効率良くアクセスできるメモリを用いて構成
しているので、高速なHMM確率計算が実行できる。ま
た、HMMの構造上事前にできる計算は全て事前に済ま
せるようにしておくことにより、認識時の計算量を削減
できる。さらに各HMM毎のベクトル量子化コードの出
現頻度情報を使うことにより、可能性の低いHMMにつ
いては確率計算を省略できる。
算を実行する上で、効率良くHMMのデータにアクセス
できる様にデータをメモリ内に配置し、かつ、連続した
アドレスを効率良くアクセスできるメモリを用いて構成
しているので、高速なHMM確率計算が実行できる。ま
た、HMMの構造上事前にできる計算は全て事前に済ま
せるようにしておくことにより、認識時の計算量を削減
できる。さらに各HMM毎のベクトル量子化コードの出
現頻度情報を使うことにより、可能性の低いHMMにつ
いては確率計算を省略できる。
【0050】以上、各種の高速化手法を総合した本発明
によれば、最新の安価なハードウェアを用いて、コンパ
クトで安価でかつ高速な大語彙の音声認識装置を実現す
ることができる。
によれば、最新の安価なハードウェアを用いて、コンパ
クトで安価でかつ高速な大語彙の音声認識装置を実現す
ることができる。
【図1】本発明の音声認識装置の一実施例のハードウェ
ア構成を示すブロック図
ア構成を示すブロック図
【図2】本発明の音声認識装置の別の実施例のハードウ
ェア構成を示すブロック図
ェア構成を示すブロック図
【図3】本発明の音声認識装置の一実施例の処理の概要
フローを示すフローチャート
フローを示すフローチャート
【図4】本発明の音声認識装置で用いる離散型隠れマル
コフモデルを説明する説明図
コフモデルを説明する説明図
【図5】本発明の音声認識装置で用いる離散型隠れマル
コフモデルによる確率計算処理の詳細な手順を示すフロ
ーチャート
コフモデルによる確率計算処理の詳細な手順を示すフロ
ーチャート
【図6】本発明の音声認識装置で用いる離散型隠れマル
コフモデルのデータのメモリ内での並び方を説明する説
明図
コフモデルのデータのメモリ内での並び方を説明する説
明図
【図7】本発明の音声認識装置で用いる離散型隠れマル
コフモデルの状態遷移確率と出現確率の事前計算を説明
する説明図
コフモデルの状態遷移確率と出現確率の事前計算を説明
する説明図
【図8】本発明の音声認識装置の複数の演算プロセッサ
による実施例を説明するブロック図
による実施例を説明するブロック図
【図9】本発明の音声認識装置の複数の演算プロセッサ
による実施例における離散型隠れマルコフモデルのデー
タのメモリ内での並び方を説明する説明図
による実施例における離散型隠れマルコフモデルのデー
タのメモリ内での並び方を説明する説明図
【図10】ベクトル量子化コードの出現確率が低い離散
型隠れマルコフモデルをリストアップしたテーブルの説
明図
型隠れマルコフモデルをリストアップしたテーブルの説
明図
【図11】ベクトル量子化コードの出現確率に基づいて
離散型隠れマルコフモデルによる確率計算の一部を省略
する手順を説明するフローチャート
離散型隠れマルコフモデルによる確率計算の一部を省略
する手順を説明するフローチャート
【図12】ベクトル量子化コード時系列の統計情報に基
づいて離散型隠れマルコフモデルによる確率計算の一部
を省略する手法を説明する説明図
づいて離散型隠れマルコフモデルによる確率計算の一部
を省略する手法を説明する説明図
【図13】ベクトル量子化コード時系列の統計情報に基
づいて離散型隠れマルコフモデルによる確率計算の一部
を省略する手順を説明するフローチャート
づいて離散型隠れマルコフモデルによる確率計算の一部
を省略する手順を説明するフローチャート
1・・・マイク、2・・・オーディオアンプ、3・・・
AD変換器 4・・・演算プロセッサ、5・・・外部メモリ、61・
・・演算プロセッサ 62・・・内部メモリ、63・・・データ転送制御部 71・・・第1の演算プロセッサ、72・・・第1の外
部メモリ 73・・・第2の演算プロセッサ、74・・・第2の外
部メモリ 75・・・第3の演算プロセッサ、76・・・第3の外
部メモリ
AD変換器 4・・・演算プロセッサ、5・・・外部メモリ、61・
・・演算プロセッサ 62・・・内部メモリ、63・・・データ転送制御部 71・・・第1の演算プロセッサ、72・・・第1の外
部メモリ 73・・・第2の演算プロセッサ、74・・・第2の外
部メモリ 75・・・第3の演算プロセッサ、76・・・第3の外
部メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 池田 宏 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 在塚 俊之 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 児玉 和行 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 野口 孝樹 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内
Claims (11)
- 【請求項1】複数の状態に対応するパラメータを有する
離散型隠れマルコフモデルを、認識対象の単語(あるい
は音節)毎に複数個用意し、入力音声に基づいて得られ
たベクトル量子化コード時系列に対して前記複数個の離
散型隠れマルコフモデルを用いて確率計算を行い、該計
算された確率値に基づいて認識結果を求める音声認識装
置であって、 前記確率計算を行う演算プロセッサと、 前記複数個の離散型隠れマルコフモデルのパラメータ
を、同一の前記ベクトル量子化コードに関するパラメー
タ毎に一連のアドレスにまとめて格納するメモリとを備
え、 前記演算プロセッサは、前記ベクトル量子化コード時系
列に対して、各ベクトル量子化コードに対応するパラメ
ータを前記メモリからアドレス順に読みだして前記確率
演算を行うことを特徴とする音声認識装置。 - 【請求項2】前記メモリは、前記演算プロセッサの外部
メモリであることを特徴とする請求項1記載の音声認識
装置。 - 【請求項3】前記メモリは、前記演算プロセッサの内部
メモリであることを特徴とする請求項1記載の音声認識
装置。 - 【請求項4】前記複数個の離散型隠れマルコフモデルの
パラメータを格納した外部メモリと、前記演算プロセッ
サによる確率計算の対象となるパラメータを格納する内
部メモリと、前記外部メモリの分散したアドレスに存在
する、特定のベクトル量子化コードに対応するパラメー
タを取りだして前記内部メモリの一連のアドレスに転送
するデータ転送制御部とを備えたことを特徴とする請求
項3記載の音声認識装置。 - 【請求項5】前記離散型隠れマルコフモデルは、各状態
における状態遷移に関する状態遷移確率と、当該状態遷
移における各ベクトル量子化コードの出現確率とを前記
パラメータとして有することを特徴とする請求項1記載
の音声認識装置。 - 【請求項6】前記メモリには、各単語(あるいは各音
節)毎の離散型隠れマルコフモデルの各状態遷移に関す
る状態遷移確率と、当該状態遷移における各ベクトル量
子化コードの出現確率とを事前に掛け合わせた値を、両
パラメータに代わる新たなパラメータとして格納し、こ
のパラメータを用いて前記確率計算を行うようにしたこ
とを特徴とする請求項5記載の音声認識装置。 - 【請求項7】前記ベクトル量子化コードの出現確率が予
め決められた値より小さい離散型隠れマルコフモデルを
ベクトル量子化コード毎に整理して格納したテーブルを
作成しておき、前記演算プロセッサは、ベクトル量子化
コードが得られる毎に前記テーブルを参照し、該テーブ
ル中の対応するベクトル量子化コードの欄に存在する離
散型隠れマルコフモデルに対しては確率計算を省略する
ようにしたことを特徴とする請求項5または6記載の音
声認識装置。 - 【請求項8】前記演算プロセッサは、求められたベクト
ル量子化コード時系列のある時間長分の統計情報を計算
し、該統計情報が各離散型隠れマルコフモデル毎に予め
決められた基準を満たした場合にはそのモデルに関する
確率計算を省略するようにしたことを特徴とする請求項
5または6記載の音声認識装置。 - 【請求項9】音声を入力するマイクと、マイクから入力
された音声信号を増幅するオーディオアンプと、増幅さ
れた音声信号を一定時間間隔毎に取り込みディジタル化
するAD変換器と、取り込まれてディジタル化された音
声信号に対して演算を施す演算プロセッサと、演算プロ
セッサが利用する各種データを格納するメモリとから構
成される音声認識装置であって、 演算プロセッサは前記AD変換器によって取り込まれた
音声信号に対して短時間周波数分析を施して周波数スペ
クトルの時系列を求め、さらに該周波数スペクトルの時
系列に対して演算プロセッサ内部の内蔵メモリに予め格
納されたコードブックを用いてベクトル量子化を施して
ベクトル量子化コード時系列を求め、さらに該ベクトル
量子化コード時系列に対してメモリに予め格納された単
語(あるいは音節)毎の離散型隠れマルコフモデルを用
いて確率計算を行ない、計算された確率値に基づいて認
識結果を求めるようにし、 前記メモリには、各単語(あるいは各音節)の離散型隠
れマルコフモデルのパラメータを、特定のベクトル量子
化コードに関するパラメータ毎に一連のアドレスにまと
めて格納するようにしたことを特徴とする音声認識装
置。 - 【請求項10】音声を入力するマイクと、マイクから入
力された音声信号を増幅するオーディオアンプと、増幅
された音声信号を一定時間間隔毎に取り込みディジタル
化するAD変換器と、取り込まれてディジタル化された
音声信号に対して演算を施す複数の演算プロセッサと、
各演算プロセッサが利用する各種データを各演算プロセ
ッサ毎に個別に格納する複数のメモリとから構成される
音声認識装置であって、 第1の演算プロセッサは前記AD変換器によって取り込
まれた音声信号に対して短時間周波数分析を施して周波
数スペクトルの時系列を求め、さらに該周波数スペクト
ルの時系列に対して演算プロセッサ内部の内蔵メモリに
予め格納されたコードブックを用いてベクトル量子化を
施してベクトル量子化コード時系列を求め、さらに該ベ
クトル量子化コード時系列に対して前記メモリに予め格
納された単語(あるいは音節)毎の離散型隠れマルコフ
モデルのパラメータを用いて確率計算を行ない、さら
に、前記求められたベクトル量子化コードを他の全ての
演算プロセッサに送出し、 該他の全ての演算プロセッサは、前記第1の演算プロセ
ッサからベクトル量子化コードを受けとり、各演算プロ
セッサ毎に当該メモリに予め格納された単語(あるいは
音節)毎の離散型隠れマルコフモデルのパラメータを用
いて確率計算を行ない、最終的に得られた確率値は前記
第1の演算プロセッサに送出し、 該第1の演算プロセッサでは自身で計算した確率値およ
び他の演算プロセッサから受けとった確率値の全てを総
合して認識結果を求めるようにしたことを特徴とする音
声認識装置。 - 【請求項11】前記各メモリには、対応する演算プロセ
ッサが担当する単語(あるいは音節)の離散型隠れマル
コフモデルのパラメータを格納し、その際、各単語(あ
るいは音節)についてベクトル量子化コードを同一とす
るパラメータを一連のアドレスにまとめて格納するよう
にしたことを特徴とする請求項10記載の音声認識装
置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5209719A JPH0764590A (ja) | 1993-08-24 | 1993-08-24 | 音声認識装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5209719A JPH0764590A (ja) | 1993-08-24 | 1993-08-24 | 音声認識装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0764590A true JPH0764590A (ja) | 1995-03-10 |
Family
ID=16577518
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5209719A Pending JPH0764590A (ja) | 1993-08-24 | 1993-08-24 | 音声認識装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0764590A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100464428B1 (ko) * | 2002-08-12 | 2005-01-03 | 삼성전자주식회사 | 음성 인식 장치 |
-
1993
- 1993-08-24 JP JP5209719A patent/JPH0764590A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100464428B1 (ko) * | 2002-08-12 | 2005-01-03 | 삼성전자주식회사 | 음성 인식 장치 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1012827B1 (en) | Speech recognition system for recognizing continuous and isolated speech | |
| US4837831A (en) | Method for creating and using multiple-word sound models in speech recognition | |
| JP4195428B2 (ja) | 多数の音声特徴を利用する音声認識 | |
| US5937384A (en) | Method and system for speech recognition using continuous density hidden Markov models | |
| US5822729A (en) | Feature-based speech recognizer having probabilistic linguistic processor providing word matching based on the entire space of feature vectors | |
| EP0771461B1 (en) | Method and apparatus for speech recognition using optimised partial probability mixture tying | |
| US6195634B1 (en) | Selection of decoys for non-vocabulary utterances rejection | |
| US7054810B2 (en) | Feature vector-based apparatus and method for robust pattern recognition | |
| US5572624A (en) | Speech recognition system accommodating different sources | |
| EP1355296B1 (en) | Keyword detection in a speech signal | |
| EP0847041A2 (en) | Method and apparatus for speech recognition performing noise adaptation | |
| EP0755046B1 (en) | Speech recogniser using a hierarchically structured dictionary | |
| JP4224250B2 (ja) | 音声認識装置、音声認識方法および音声認識プログラム | |
| WO2001022400A1 (en) | Iterative speech recognition from multiple feature vectors | |
| WO1999053478A1 (en) | Dynamically configurable acoustic model for speech recognition systems | |
| GB2347775A (en) | Method of extracting features in a voice recognition system | |
| US6502072B2 (en) | Two-tier noise rejection in speech recognition | |
| US8639510B1 (en) | Acoustic scoring unit implemented on a single FPGA or ASIC | |
| JPH09319392A (ja) | 音声認識装置 | |
| US20020133343A1 (en) | Method for speech recognition, apparatus for the same, and voice controller | |
| JPH0764590A (ja) | 音声認識装置 | |
| JP2938865B1 (ja) | 音声認識装置 | |
| EP1369847B1 (en) | Speech recognition method and system | |
| JP4716125B2 (ja) | 発音評定装置、およびプログラム | |
| JP4678464B2 (ja) | 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 |