(57)【要約】【課題】音声パターンのマッチング精度を向上させる。【解決手段】この音声認識装置は、認識候補の１つの単語に対し、標準パターンにおける第１処理開始時刻から第１時間範囲分計算した、入力音声の所定時刻の特徴と標準パターンの特徴のパターン間距離を累積することによって得られる第１累積距離を算出し、標準パターンにおける第２処理開始時刻から第２時間範囲分計算した、入力音声の所定時刻の特徴と標準パターンの特徴のパターン間距離を累積することによって得られる第２累積距離を算出し、算出された第１及び第２累積距離の一方の累積距離を、認識候補の単語の累積距離として決定し、複数の認識候補の単語について決定された累積距離に基づいて、入力音声に対応する単語を認識して出力するパターンマッチング処理部を有する。【選択図】図１
2012233975.tif 000002
【特許請求の範囲】
【請求項１】
入力音声の所定時刻における特徴と、認識候補の単語の標準パターンの特徴を用いて、前記入力音声のパターンマッチングを行う音声認識装置であって、
前記認識候補の１つの単語に対し、
前記標準パターンにおける第１処理開始時刻から第１時間範囲分計算した、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離を累積することによって得られる第１累積距離を算出し、
前記標準パターンにおける第２処理開始時刻から第２時間範囲分計算した、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離を累積することによって得られる第２累積距離を算出し、
算出された第１及び第２累積距離の一方の累積距離を、前記認識候補の単語の累積距離として決定し、
複数の前記認識候補の単語について決定された前記累積距離に基づいて、前記入力音声に対応する単語を認識して出力するパターンマッチング処理部を有する音声認識装置。
【請求項２】
前記パターンマッチング処理部は、前記第１処理開始時刻から所定時間範囲において、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離の部分累積距離を算出し、
算出された前記部分累積距離の分布に応じて、前記第２処理開始時刻を設定する、請求項１に記載の音声認識装置。
【請求項３】
前記パターンマッチング処理部は、
前記第１時間範囲の先頭時刻の前記部分累積距離と最終時刻の前記部分累積距離とを比較し、
前記先頭時刻の前記部分累積距離より前記最終時刻の前記部分累積距離が小さい場合には、前記先頭時刻と前記最終時刻の間に、前記部分累積距離の極小値が存在するか否か判定し、
前記極小値が存在する場合には、前記部分累積距離の極小値が前記第２時間範囲に含まれるように、前記第２時間範囲を設定する、請求項２に記載の音声認識装置。
【請求項４】
前記音声認識装置は、前記部分累積距離を記憶するメモリの使用状況を記憶する使用中領域数記憶部を備え、
前記パターンマッチング処理部は、前記使用中領域数記憶部に記憶された前記メモリの使用状況に基づいて、前記第２累積距離を算出せずに、前記第１累積距離を前記認識候補の単語の累積距離として決定する請求項２又は３に記載の音声認識装置。
【請求項５】
入力音声の特徴を算出する音声分析装置と、
請求項１乃至４のうちいずれか１項に記載の音声認識装置を備えた音声認識システム。
【請求項６】
入力音声の所定時刻における特徴と、認識候補の単語の標準パターンの特徴を用いて、前記入力音声のパターンマッチングを行う音声認識方法であって、
前記認識候補の１つの単語に対し、
前記標準パターンにおける第１処理開始時刻から第１時間範囲分計算した、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離を累積することによって得られる第１累積距離を算出し、
前記標準パターンにおける第２処理開始時刻から第２時間範囲分計算した、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離を累積することによって得られる第２累積距離を算出し、
算出された第１及び第２累積距離の一方の累積距離を、前記認識候補の単語の累積距離として決定し、
複数の前記認識候補の単語について決定された前記累積距離に基づいて、前記入力音声に対応する単語を認識して出力する音声認識方法。
【請求項７】
前記第１処理開始時刻から所定時間範囲において、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離の部分累積距離を算出し、
算出された前記部分累積距離の分布に応じて、前記第２処理開始時刻を設定する、請求項６に記載の音声認識方法。
【請求項８】
前記第１時間範囲の先頭時刻の前記部分累積距離と最終時刻の前記部分累積距離とを比較し、
前記先頭時刻の前記部分累積距離より前記最終時刻の前記部分累積距離が小さい場合には、前記先頭時刻と前記最終時刻の間に、前記部分累積距離の極小値が存在するか否か判定し、
前記極小値が存在する場合には、前記部分累積距離の極小値が前記第２時間範囲に含まれるように、前記第２時間範囲を設定する、請求項７に記載の音声認識方法。
【請求項９】
前記部分累積距離を記憶するメモリの使用状況を記憶し、
記憶された前記メモリの使用状況に基づいて、前記第２累積距離を算出せずに、前記第１累積距離を前記認識候補の単語の累積距離として決定する、請求項７又は８に記載の音声認識方法。
【請求項１０】
請求項５乃至９のいずれか１項に記載の方法をコンピュータによって実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識のためのパターンマッチングを行う音声認識装置、音声認識システム、及びパターンマッチング方法に関する。
【背景技術】
【０００２】
近年、カーナビゲーションシステムや携帯電話端末が普及してきている。これらの製品では、競争も激しくなり、製品のコスト削減が望まれている。カーナビゲーションシステムや携帯電話端末の音声認識部に関しても、機能が複雑化しているのに反し、記憶容量の低減や処理速度の向上が望まれている。そのため、音声認識部においては、一定の記憶容量、処理能力を保ちながら、誤検出を防ぐことにより、パターンマッチング精度を向上させる必要がある。
【０００３】
特許文献１には、単語単位の音声認識においてＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）マッチング法の拡張としてクロックワイズＤＰ法を用いたパターンマッチング処理の一例が開示されている。特許文献１は、単語単位の音声認識において、クロックワイズＤＰ法を用いたパターンマッチング処理を行うことを目的としている。
【０００４】
図面を参照して、特許文献１に開示された装置について詳細に説明する。図４は、特許文献１に開示された装置の全体構成を示したブロック図である。図４に示すように、この音声認識システムは、音声分析部２０と、標準パターン記憶部４０と、パターンマッチング処理部５０と、処理開始位置記憶部６０と、部分累積距離記憶部７０と、を有する。
【０００５】
音声分析部２０は、マイクロホン等の音声入力手段によって入力される未知の音声信号１０を、予め定められた時間間隔を有する時刻ｉ＝１，２，・・・，Ｉ毎に音声の特徴を示す特徴パラメータ３０（ａｉ）に変換する。
【０００６】
標準パターン記憶部４０は、認識の対象となる単語番号ｎ＝１，２，・・・，Ｎの各単語の標準パターンとして、時刻ｊ＝１，２，・・・，Ｊｎ毎の特徴を示すｂｊｎを記憶保持している。
【０００７】
パターンマッチング処理部５０は、標準パターン記憶部４０、処理開始位置記憶部６０及び部分累積距離記憶部７０に記憶保持された内容を用いて、入力パターンＡと、標準パターンＢｎとのパターン間距離Ｄ（Ａ，Ｂｎ）を算出する。ここで、入力パターンＡ、標準パターンＢｎ及びパターン間距離Ｄ（Ａ，Ｂｎ）は、以下の式により示される。
【数１】
2012233975.tif 000003
【数２】
2012233975.tif 000004
【数３】
2012233975.tif 000005
【０００８】
そして、パターンマッチング処理部５０は、パターン間距離Ｄ（Ａ，Ｂｎ）が最小となる単語を求めて、認識結果８０として出力する。その詳細は、後述するとおりである。
【０００９】
処理開始位置記憶部６０は、ＤＰマッチング処理を行なう際の、マッチングの対象となる単語毎に、時刻ｊ＝１，２，・・・，Ｊｎのうち、処理を開始すべき時刻Ｓ（ｎ）を格納するワークメモリとして、Ｓメモリを含んでいる。
【００１０】
部分累積距離記憶部７０は、Ｇ１メモリ７１及びＧ２メモリ７２から構成される。Ｇ１メモリ７１は、マッチングの対象となる各単語ｎ（ｎ≦Ｎ）と、部分累積距離算出処理の反復回数ｋ（ｋ≦Ｗ；Ｗは、１単語分として予め定められたメモリ量）毎に、１時刻前（ｉ−１）の部分累積距離値を格納するワークメモリである。Ｇ２メモリ７２も、Ｇ１メモリと同様の構成からなる処理対象時刻ｉの部分累積距離値を格納するワークメモリである。
【００１１】
まず、上記構成における基本的な認識処理の流れを説明する。マイクロホン等より未知の音声信号１０が入力されると、音声分析部２０が、音声信号の特徴を示す特徴パラメータ３０（ａｉ）を求める。
【００１２】
続いて、パターンマッチング処理部５０が、処理開始位置記憶部６０のＳメモリ６１から処理開始値Ｓ（ｎ）を読み込んで、特徴パラメータ３０（ａｉ）と、標準パターン記憶部４０に記憶保持されている各標準パターンの特徴ｂｊｎとの距離値ｄｎ（ｉ，ｊ）＝||ａｉ−ｂｊｎ||を順次算出する。そして、パターンマッチング処理部５０は、Ｇ１メモリ７１の内容を参照して、漸化式（４）により、部分累積距離記憶部７０のＧ２メモリ７２の内容を更新する。
【数４】
2012233975.tif 000006
【００１３】
パターンマッチング処理部５０は、各単語ｎの標準パターンと、標準パターンの時刻ｊによって指定される（ｎ，ｊ）の組み合わせに対して、ｇｎ（ｉ，ｊ）によって示される最適累積距離を、時刻ｉを進めながら計算する。なお、実際の計算においては、最適性原理を用いることにより、漸化式（４）により、入力パターンと標準パターンとの累積距離を算出することができる。
【００１４】
パターンマッチング処理部５０は、各処理を繰り返した結果得られる、入力パターンＡと標準パターンＢｎとのパターン間距離Ｄ（Ａ，Ｂｎ）が最小となる単語ｎを、認識結果８０として出力する。
【００１５】
図５は、上記のＤＰマッチング処理を実現する処理手順の一例を表したフローチャートである。まず、特徴パラメータａｉが入力されると、パターンマッチング処理部５０は、次式（５）のような初期設定を各単語ｎに対して行う。
【数５】
2012233975.tif 000007
【００１６】
その後、ａｉが入力される毎に、図５のフローチャートで示す処理手順が実行される。すなわち、パターンマッチング処理部５０は、Ｓ１０１のブロックに示されるように、Ｓメモリ６１を参照し、ｊ＝１，２，・・・，Ｊｎのうち処理を開始すべき時刻を得る。続いて、パターンマッチング処理部５０は、Ｓ１０１１のブロックに示されるように、入手した処理開始時刻ｊにより、特徴ａｉとｂｊｎの距離ｄｎ（ｉ，ｊ）を計算する。
【００１７】
続いて、パターンマッチング処理部５０は、Ｓ１０２のブロックに示されるように、Ｓ１０１１のブロックで算出された結果ｄｎ（ｉ，ｊ）と、１時刻前に計算したＧ１メモリ７１の内容Ｇ１（ｎ，ｋ）、Ｇ１（ｎ，ｋ−１）、Ｇ１（ｎ，ｋ−２）に基づいて、現時刻における部分累積距離Ｇ２（ｎ，ｋ）を算出する。そして、Ｓ１０２のブロックで算出した部分累積距離Ｇ２（ｎ，ｋ）を、Ｇ２メモリ７２の対応領域に格納する。なお、Ｓ１０２のブロックの処理は、式（４）に相当する処理である。
【００１８】
上記した各処理を、Ｓ１０３のブロックにおいて、パラメータｋが部分累積距離記憶部７０内で１単語分として割り当てられているメモリ量である条件値Ｗに達すると判断されるまで、時刻ｊが大きくなる方向に変化させながら繰り返す。ここで、パラメータｋは、Ｓ１０１１のブロック及びＳ１０２のブロックにおいて行われる一連の処理の反復回数を示しており、パラメータｋは、Ｓ１０２１のブロックで示すように、時刻ｊが＋１ずつカウントアップされる度に＋１ずつカウントアップされる。
【００１９】
パターンマッチング処理部５０は、同様に、次なる単語の標準パターンについて、累積距離を算出する。すべての単語ｎについて部分累積距離の算出が修了した時点で、時刻ｉを進める。そして、パターンマッチング処理部５０は、Ｇ２メモリ７２の内容を、Ｇ１メモリ７１に複写して、次なる特徴パラメータの処理に備える。
【００２０】
なお、上述した式（４）は、累積距離の最小値を求める式であり、該累積距離の最小値は、時刻ｉ＝１の時には、ｊ＝１の位置に最小値が存在し、時刻ｉが経過するにしたがって、よりｊが大きくなる方向へ最小値の存在する位置が移っていく。ここで、式（４）は、最適累積距離を有する最適経路は、部分最適累積距離を有する部分最適経路を含む、という最適性原理に基づいている。したがって、部分累積距離値の計算対象範囲外へ最小値が移ってしまうと、正しく累積距離の最小値を求めることができなくなる。このため、図５のフローチャートのＳ１０４のブロックでは、部分累積距離計算範囲のうち、先頭Ｇ２（ｎ，１）と最後Ｇ２（ｎ，Ｗ）を比較し、最後つまりｊが大になる方向の累積距離値が小さい場合には、部分累積距離計算開始位置Ｓ（ｎ）を１つずらす処理を行っている。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特願２００２−１２２４２３号
【発明の概要】
【発明が解決しようとする課題】
【００２２】
しかしながら、特許文献１に開示された装置では、入力音声によっては部分累積距離範囲（処理開始時刻Ｓ（ｎ）からＷの範囲について求めた部分累積距離）の中に、累積距離が小さい箇所が複数発生する可能性がある。そのため、Ｓ１０４のブロックに示される部分累積距離範囲をずらす処理によって、累積距離の小さい箇所が、部分累積距離範囲外へ移ってしまう可能性がある。
【００２３】
この問題点について具体的に説明する。例えば、特許文献１に開示された装置においては、認識候補単語１単語につき、処理開始時刻Ｓ（ｎ）からＷ（Ｗは１単語分として予め定められたメモリ量）の範囲について求めた部分累積距離は、任意の入力音声の予め定められた時間間隔毎に音声の特徴を示す特徴パラメータと、認識候補単語の標準パターンとの距離の累積値である。そのため、任意の入力音声の内容が様々な値をとりうるのと同様に、部分累積距離の累積距離値も様々な値をとりうる。
【００２４】
１時刻前に計算したＧ１メモリ７１の内容であるＧ１（ｎ，ｋ）は、認識候補単語と入力音声がほぼ同じという理想的な状態において、特定の累積距離極小点Ｇ１（ｎ，ｋｍｉｎ）を持ち、部分累積距離算出処理の反復回数ｋが累積距離極小点ｋｍｉｎから離れるに従って累積距離が単調増加する。
【００２５】
表１は、Ｗ＝７の場合の部分累積距離Ｇ１（ｎ，ｋ）の例である。表１に示すように、理想的な状態では、ｋｍｉｎ＝４、つまり、Ｇ１（ｎ，４）に累積距離極小点が存在し、部分累積距離Ｇ１（ｎ，ｋ）をグラフ化すると「Ｖ」字形となる。
【００２６】
【表１】
2012233975.tif 000008
【００２７】
しかしながら、実際の音声認識システムにおいては、様々な入力音声をとりうるため、必ずしも「Ｖ」字型のような理想的な累積距離分布を取らないことがあり、隣接した時刻ｊ方向の標準パターンのどちらとも比較的パターン間距離の近い入力音声が入力された場合等、入力音声によっては累積距離が極小となる点が複数発生する可能性がある。
【００２８】
表２は、表１同様にＷ＝７の場合の部分累積距離Ｇ１（ｎ，ｋ）値の例であり、Ｇ１（ｎ，ｋ）をグラフ化するとＧ１（ｎ，３）とＧ１(ｎ、５)に累積距離極小点が存在する「Ｗ」字形となる場合である。
【００２９】
【表２】
2012233975.tif 000009
【００３０】
このように、部分累積距離Ｇ１（ｎ，ｋ）が「Ｗ」字型の場合であっても、特許文献１の装置においては、Ｇ１（ｎ，１）＞Ｇ１（ｎ，７）であるため、次の時刻ｉ＋１において、Ｇ１の記憶・処理範囲がｋ＋１の方向へシフトされる。そして、シフト処理が繰り返される結果、累積距離極小点ａがＧ１（ｎ，３）の位置からＧ１（ｎ，２）の位置へ、Ｇ１（ｎ，２）の位置からＧ１（ｎ，１）の位置へ、そして、最終的には記憶・処理範囲へ移ってしまうことが考えられる。
【００３１】
ここで、特許文献１の元となったクロックワイズＤＰ法をそのまま適用し、記憶・処理範囲を限定することなく全て記憶・処理した場合では、処理範囲へ移ってしまった累積距離極小点ａを通る経路が最小累積距離の経路であった場合、誤った認識結果となる可能性がある。
【課題を解決するための手段】
【００３２】
本発明に係る音声認識装置の一態様は、入力音声の所定時刻における特徴と、認識候補の単語の標準パターンの特徴を用いて、前記入力音声のパターンマッチングを行う音声認識装置であって、前記認識候補の１つの単語に対し、前記標準パターンにおける第１処理開始時刻から第１時間範囲分計算した、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離を累積することによって得られる第１累積距離を算出し、前記標準パターンにおける第２処理開始時刻から第２時間範囲分計算した、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離を累積することによって得られる第２累積距離を算出し、算出された第１及び第２累積距離の一方の累積距離を、前記認識候補の単語の累積距離として決定し、複数の前記認識候補の単語について決定された前記累積距離に基づいて、前記入力音声に対応する単語を認識して出力するパターンマッチング処理部を有することを特徴とする。
【００３３】
このように、１つの単語に対し、第１及び第２の処理開始時刻から第１及び第２時間範囲分計算した部分累積距離によって算出された複数の第１及び第２累積距離を求める。そして、第１及び第２累積距離のうち一方の累積距離を、その単語の累積距離値とする。このように、累積距離を算出するための部分累積距離を算出する範囲を複数設定することにより、複数の極小部分累積距離が存在する場合であっても、それぞれの極小部分累積距離について、部分累積距離範囲を設定することができ、その単語に対する最小累積距離を求めることができる。この最小累積距離を複数の認識候補で比較することで、パターンマッチングの精度を向上させることができる。
【００３４】
また、本発明に係る音声認識方法は、入力音声の所定時刻における特徴と、認識候補の単語の標準パターンの特徴を用いて、前記入力音声のパターンマッチングを行う音声認識方法であって、前記認識候補の１つの単語に対し、前記標準パターンにおける第１処理開始時刻から第１時間範囲分計算した、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離を累積することによって得られる第１累積距離を算出し、前記標準パターンにおける第２処理開始時刻から第２時間範囲分計算した、前記入力音声の前記所定時刻の特徴と前記標準パターンの特徴のパターン間距離を累積することによって得られる第２累積距離を算出し、算出された第１及び第２累積距離の一方の累積距離を、前記認識候補の単語の累積距離として決定し、複数の前記認識候補の単語について決定された前記累積距離に基づいて、前記入力音声に対応する単語を認識して出力することを特徴とする。
【００３５】
１つの単語に対し、第１及び第２の処理開始時刻から第１及び第２時間範囲分計算した部分累積距離によって算出された複数の第１及び第２累積距離を求める。そして、第１及び第２累積距離のうち一方の累積距離を、その単語の累積距離値とする。このように、累積距離を算出するための部分累積距離を算出する範囲を複数設定することにより、複数の極小部分累積距離が存在する場合であっても、それぞれの極小部分累積距離について、部分累積距離範囲を設定することができ、その単語に対する極小累積距離を求めることができる。この極小累積距離を複数の認識候補で比較することで、パターンマッチングの精度を向上させることができる。
【発明の効果】
【００３６】
本発明に係る音声認識装置、音声認識システム、音声認識方法、及びプログラムによれば、音声認識におけるパターンマッチングの精度を向上させることができる。
【図面の簡単な説明】
【００３７】
【図１】実施例１に係る音声認識システムのブロック図である。
【図２】実施例１に係るパターンマッチング処理部におけるフローチャートである。
【図３】実施例１に係るパターンマッチング処理部におけるより詳細なフローチャートである。
【図４】特許文献１に係る音声認識システムのブロック図である。
【図５】特許文献１に係るパターンマッチング処理部のフローチャートである。
【発明を実施するための形態】
【００３８】
図１は、本発明の実施例１に係る音声認識装置の構成を示すブロック図である。この音声認識装置は、音声分析部２０、標準パターン記憶部４０、処理開始位置記憶部６０、使用中領域数記憶部１１０、単語番号記憶部１２０、処理開始位置保持回数記憶部１３０、パターンマッチング処理部１５０、及び部分累積距離記憶部１７０を備えている。
【００３９】
音声分析部２０は、マイクロホン等の音声入力手段により入力された音声信号１０を入力とし、特徴パラメータ３０を算出してパターンマッチング処理部１５０に出力する。
【００４０】
標準パターン記憶部４０は、あらかじめ標準パターン記憶部４０に記憶された認識候補単語の標準パターンを、パターンマッチング処理部１５０に出力する。
【００４１】
処理開始位置記憶部６０は、部分累積距離記憶部１７０のＧ１メモリの各部分累積距離が、どの時刻ｊからの部分累積距離を示しているのかを保持する。処理開始位置記憶部６０は、パターンマッチング処理部１５０の指示に基づいて、パターンマッチング処理部１５０と処理開始時間Ｓ（ｎ）に関するデータの入出力を行う。
【００４２】
使用中領域数記憶部１１０は、部分累積距離記憶部１７０のＧ１メモリのうち、現在いくつの領域を使用しているかという情報を保持しており、この使用領域に関するデータを、パターンマッチング処理部１５０との間で入出力を行う。具体的には、部分累積距離記憶部１７０のＧ１メモリには、Ｎ個分の部分累積距離を記憶する領域が設けられており、使用中領域数記憶部１１０は、このうちいくつの領域が使用されているかという情報を保持している。
【００４３】
単語番号記憶部１２０は、部分累積距離記憶部１７０のＧ１メモリに格納された各部分累積距離のそれぞれが対応する認識候補単語ｎを記憶しており、この情報をパターンマッチング処理部１５０との間で入出力を行う。
【００４４】
処理開始位置保持回数記憶部１３０は、部分累積距離記憶部１７０のＧ１メモリの各部分累積距離の処理開始時刻Ｓ（ｎ）を一定に保つ回数を保持し、この情報をパターンマッチング処理部１５０との間で入出力を行う。
【００４５】
さらに具体的に処理開始位置保持回数記憶部１３０について説明を行う。後述するように、本発明では、１つの単語の標準パターンに対し、複数の領域（範囲）で部分累積距離を算出することを一つの特徴としている。ここで、計算対象となる範囲を、部分累積距離計算範囲と呼ぶこととする。この部分累積距離計算範囲は、処理開始時刻をＳ（ｎ）とした場合の、処理開始時刻Ｓ（ｎ）から、部分累積距離を反復して計算するｋ＝１〜Ｗの範囲を示している。ここで、計算対象となる複数の部分累積距離計算範囲は、時刻ｊの方向に、ある程度離れて存在することが好ましい。
【００４６】
なぜならば、標準パターンの特徴が、近接する時刻ｊにおいてあまり変化しない場合には、近接した複数の部分累積距離計算範囲において部分累積距離を算出しても、同じような結果となり、複数の部分累積距離計算範囲で部分累積距離を算出する意味が乏しくなるためである。そのため、時刻ｊの方向に所定の間隔を置いて、部分累積距離計算範囲を配置するために、処理開始位置保持回数記憶部１３０によって、処理開始時刻Ｓ（ｎ）を一定に保つ回数を保持する。そして、保持された回数以上となった場合に、部分累積距離の値によって、処理開始時刻Ｓ（ｎ）を変化させ始めることとしている。具体的には、新たな部分累積距離計算範囲については、処理開始位置記憶部１３０に記憶されている時間分だけ、処理開始時刻Ｓ（ｎ）を変化させないことにより、元の部分累積距離計算範囲との間で、時刻ｊ方向において所定の間隔を置いている。
【００４７】
部分累積距離記憶部１７０は、パターンマッチング処理における部分累積距離を保持し、この情報をパターンマッチング処理部１５０との間で入出力する。
【００４８】
パターンマッチング処理部１５０は、図２の制御フローチャートに従って、処理開始位置Ｓ（ｎ）を処理開始位置記憶部６０と、使用中領域数を使用中領域数記憶部１１０と、単語番号ｎを単語番号記憶部１２０と、処理開始位置保持回数を処理開始位置保持回数記憶部１３０と部分累積距離を部分累積距離記憶部１７０との間で入出力を行いながら、パターンマッチング処理を行い、結果を認識結果８０へ出力する。
【００４９】
次に、図２を用いて図１に係る装置の動作について説明する。図２は、本発明のパターンマッチング処理部１５０における制御フローチャートである。音声分析部２０は、特徴パラメータ３０に特徴パラメータを入力する（ステップＳ２０１）。
【００５０】
パターンマッチング処理部１５０は、入力された特徴パラメータ３０に基づき、部分累積距離を算出する（ステップＳ２０２）。パターンマッチング処理部１５０は、部分累積距離範囲内の全ての時刻、すなわち、処理開始時刻Ｓ（ｎ）からｋ＝Ｗの反復回数に至るまでの時刻について部分累積距離の算出が完了したかどうかを判断する（ステップＳ２０３）。未完了であれば（Ｓ２０３：ＮＯ）、ステップＳ２０２に戻り処理を繰り返し、完了した場合は（Ｓ２０３：ＹＥＳ）、ステップＳ２０４へ進む。
【００５１】
ステップＳ２０３で部分累積距離の算出が完了した場合は（Ｓ２０３：ＹＥＳ）、処理中の部分累積距離に対応する処理開始位置保持回数記憶部１３０の処理開始位置保持回数が０であるかを判断（ステップＳ２０４）し、０であればステップＳ２０５に進み、０でなければステップＳ２０６に進む。
【００５２】
ステップＳ２０４で処理開始位置保持回数記憶部１３０の処理開始位置保持回数が０でなかった場合は（Ｓ２０４：ＮＯ）、処理開始位置保持回数記憶部１３０に保存されている処理開始位置保持回数を減算する（ステップＳ２０６）。
【００５３】
ステップＳ２０４で処理開始位置保持回数記憶部１３０の処理開始位置保持回数が０だった場合には（Ｓ２０４：ＹＥＳ）、部分累積距離記憶部１７０のＧ１メモリの部分累積距離範囲のうち、最初の時刻の累積距離と、最後の時刻の累積距離を比較し、最後の時刻の累積距離の方が小さいかを判断する（ステップＳ２０５）。最後の時刻の累積距離の方が小さければ（ステップＳ２０５：ＹＥＳ）、ステップＳ２０７へ進み、そうでない場合は（ステップＳ２０５：ＮＯ）、ステップＳ２１０へ進む。
【００５４】
ステップＳ２０４で最後の時刻の累積距離の方が小さい場合は、部分累積距離記憶部１２０のＧ１メモリの部分累積距離範囲のうち、最初の時刻付近に前後の時刻の累積距離より累積距離が小さい箇所（累積距離極小点）が存在するかどうかを判断する（ステップＳ２０７）。累積距離極小点が存在した場合は（ステップＳ２０７：ＹＥＳ）、ステップＳ２０８に進み、存在しない場合は（ステップＳ２０７：ＮＯ）、ステップＳ２０９に進む。
【００５５】
ステップＳ２０７で累積距離極小点が存在した場合は（ステップＳ２０７：ＹＥＳ）、部分累積距離記憶部１７０のＧ１メモリの未使用領域に新たな部分累積距離範囲を作成する。そして、現在の部分累積距離範囲の累積距離値を、新たに作成した部分累積距離範囲へ複写する。具体的には、使用中領域数記憶部１１０のｎ＿ｍａｘが３であった場合には、Ｇ１メモリの未使用領域Ｇ１（４，ｊ）の領域に、現在の部分累積距離範囲の累積距離値を複写する。そして、新たな部分累積距離範囲に対する処理開始位置保持回数記憶部１３０の処理開始位置保持回数に、保持回数初期値を設定する（ステップＳ２０８）。
【００５６】
パターンマッチング処理部１５０は、部分累積距離記憶部１２０のＧ１メモリの部分累積距離範囲が、時刻ｊ方向に、１つ後の時刻からの累積距離を表すように、処理開始位置記憶部６０の処理開始位置、および部分累積距離記憶部１２０のＧ１メモリの部分累積距離範囲内の累積距離値を、時刻ｊが後になる方向へ１ずつずらす（ステップＳ２０９）。
【００５７】
パターンマッチング処理部１５０は、部分累積距離記憶部１７０のＧ１メモリの全ての部分累積距離について処理が完了したかどうかを判断する（ステップＳ２１０）。処理が完了していない場合は（ステップＳ２１０：ＮＯ）、ステップＳ２０２に戻り処理を繰り返し、完了した場合は（ステップＳ２１０：ＹＥＳ）、処理を終了する。
【００５８】
次に、図３を用いてパターンマッチング処理部１５０の更に詳細な処理について説明する。図３は、本発明のパターンマッチング処理部１５０における制御フローチャートである。
【００５９】
音声分析部２０は、音声信号１０より入力された音声信号より算出された特徴パラメータａｉを、特徴パラメータ３０として入力する（ステップＳ３０１）。
【００６０】
パターンマッチング処理部１５０は、処理対象とする部分累積距離範囲の番号ｎ、および新たに追加した部分累積距離範囲数ｎ＿ｔｍｐを初期化する（ステップＳ３０２）。パターンマッチング処理部１５０は、どの認識候補単語とのパターンマッチングを行うのかを単語番号記憶部１２０のＭ（ｎ）からｍに書き込み、標準パターンのどの時刻から処理を開始するのかを示す処理開始位置を、処理開始位置記憶部６０のＳ（ｎ）からｊに書き込み、部分累積距離範囲内における時刻を表すｋを１に初期化する（ステップＳ３０３）。
【００６１】
パターンマッチング処理部１５０は、１時刻前の部分累積距離Ｇ１メモリの内容に加算するため、現時刻の入力音声の特徴パラメータａｉと、標準パターン記憶部４０の標準パターンとの距離値ｄｍ（ｉ，ｊ）を算出する（ステップＳ３０４）。パターンマッチング処理部１５０は、現時刻の部分累積距離Ｇ２を算出するために、1時刻前の部分累積距離Ｇ１の内容のうち、現時刻の部分累積距離Ｇ２が最小となるような部分累積距離Ｇ１の値を選び出し、ステップＳ３０４で算出した距離値ｄｍ（ｉ，ｊ）を加算する（ステップＳ３０５）。
【００６２】
パターンマッチング処理部１５０は、ステップＳ３０４、ステップＳ３０５を部分累積距離範囲内の全ての部分累積距離値について処理するために、標準パターン内の時刻を示すｊ、累積距離算出回数を示すｋのそれぞれに１を加算する（ステップＳ３０６）。パターンマッチング処理部１５０は、部分累積距離記憶部１７０のＧ２メモリの部分累積範囲内における時刻ｋから、累積距離範囲の全ての時刻について累積距離の算出が完了したかどうかを１つの部分累積距離分として割り当てられているメモリ量Ｗと比較することにより判断（ステップＳ３０７）し、未完了であればステップＳ３０４へ戻って累積距離の算出を続け、完了している場合はステップＳ３０８へ進む。
【００６３】
ステップＳ３０７で累積距離の算出が完了している場合は、現在処理している部分累積距離に対する処理開始位置保持回数記憶部１３０の処理開始位置保持回数が０かどうかを判断する（ステップＳ３０８）。０でない場合は（ステップＳ３０８：ＮＯ）ステップＳ３１０へ進んで処理開始位置保持回数を減算する。ステップＳ３０８で処理開始位置保持回数記憶部１３０の処理開始位置保持回数が０の場合は（ステップＳ３０８：ＹＥＳ）、部分累積距離範囲記憶部１７０のＧ２メモリの部分累積距離範囲内の最初の時刻の累積距離Ｇ２（１）と最後の時刻の累積距離Ｇ２（Ｗ）を比較する（ステップＳ３０９）。そして、最後の時刻の累積距離Ｇ２（Ｗ）の方が、最初の時刻の累積距離Ｇ２（１）よりも小さい場合は（ステップＳ３０９：ＹＥＳ）、ステップＳ３１１へ進み、そうでない場合はステップＳ３１６へ進む。
【００６４】
ステップＳ３０９で最後の時刻の累積距離Ｇ２（Ｗ）の方が小さい場合は（ステップＳ３０９：ＹＥＳ）、ステップＳ３１１で、部分累積距離範囲内の最初の時刻に近い箇所の累積距離Ｇ２（２）が、前後の累積距離Ｇ２（１）、Ｇ２（３）よりも小さい最小となっているかどうかを判断する。累積距離Ｇ２（２）が極小である場合にはステップＳ３１２へ進み、そうでない場合はステップＳ３１４へ進む。
【００６５】
もし、部分累積距離範囲記憶部１７０のＧ２メモリの部分累積距離範囲の最初の時刻付近に累積距離が極小となっている箇所が存在した場合、そのままではステップＳ３１４、Ｓ３１５の処理により、部分累積距離範囲記憶部１７０のＧ２メモリの部分累積距離範囲の開始時刻、処理範囲をずらす処理によって、その極小値が部分累積距離範囲外になってしまう恐れがある。そのため、ステップＳ３１１にて判定を行い、部分累積距離範囲記憶部１７０のＧ２メモリの部分累積距離範囲の最初の時刻付近に累積距離が極小となっている箇所が存在しないか判断し、極小となる箇所が存在しない場合は、ステップＳ３１４へ進み、存在する場合は、ステップＳ３１２へ進む。
【００６６】
部分累積距離記憶部１７０のＧ１メモリに空きがあるかどうかを判断（ステップＳ３１２）し、空きがない場合はステップＳ３１４へ進み、空きがある場合はステップＳ３１３へ進む。
【００６７】
ステップＳ３１２でＧ１メモリに空きがある場合は、部分累積距離記憶部１７０のＧ１メモリに新たな部分累積距離範囲Ｇ１（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ，ｋ）を設定し、新たな部分累積距離範囲に対応する、単語番号記憶部１２０の認識候補単語番号Ｍ（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ）、処理開始位置記憶部６０の処理開始位置Ｓ（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ）を初期化し、新たに追加した部分累積距離範囲の個数を示すｎ＿ｔｍｐを加算（＋１）する（ステップＳ３１３）。
【００６８】
また、次の時刻において、新たに設定した部分累積距離範囲Ｇ１（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ，ｋ）に対して、ステップＳ３０９の判定によって処理範囲をずらしてしまうと、新たに設定した部分累積距離範囲Ｇ１（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ，ｋ）の元となった部分累積距離範囲Ｇ１（ｎ，ｋ）と同様の結果となってしまう。そのため、新たに設定した部分累積距離範囲Ｇ１（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ，ｋ）に対応する、処理開始位置保持回数記憶部１３０の処理開始位置保持回数Ｃ（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ）に一定値を設定し、一定の間、新たに設定した部分累積距離範囲Ｇ１（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ，ｋ）がステップＳ３０９の判定によって処理範囲がずらされないようにする(ステップＳ３１３)。換言すれば、処理開始位置保持回数Ｃを設定することにより、複数の部分累積距離範囲が、時刻ｊ方向に所定の間隔（距離）を有するようにする。
【００６９】
この処理開始位置保持回数記憶部１３０の処理開始位置保持回数Ｃ（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ）に一定値を設定する処理、および、ステップＳ３０８、Ｓ３１０の処理は、一定の間、新たに設定した部分累積距離範囲Ｇ１（ｎ＿ｍａｘ＋ｎ＿ｔｍｐ，ｋ）がステップＳ３０９の判定によって処理範囲がずらされないようにするためのものである。そのため、この目的を達成することができれば、部分累積距離範囲記憶部１７０のＧ２メモリの部分累積距離範囲内の極小値部分を監視するように構成してもよい。
【００７０】
パターンマッチング処理部１５０は、部分累積距離範囲記憶部１７０のＧ２メモリの部分累積距離範囲を１つ後の時刻へずらすために、処理開始位置記憶部６０の処理開始位置Ｓ（ｎ）に１を加算する処理を行う（ステップＳ３１４）。パターンマッチング処理部１５０は、ステップＳ４１３で処理開始位置記憶部６０の処理開始位置をずらしたのに合わせて、部分累積距離範囲記憶部１７０のＧ２メモリの部分累積距離範囲内の累積距離値もずらす処理を行う（ステップＳ３１５）。
【００７１】
パターンマッチング処理部１５０は、部分累積距離記憶部１７０のＧ２メモリ上において処理を行った部分累積距離Ｇ２（ｋ）をＧ１（ｎ，ｋ）メモリ上へ複写する（ステップＳ３１６）。パターンマッチング処理部１５０は、処理対象とする部分累積距離範囲記憶部１７０のＧ１メモリの部分累積距離範囲の番号ｎを更新する（ステップＳ３１７）。
【００７２】
パターンマッチング処理部１５０は、部分累積距離範囲記憶部１７０のＧ１メモリの全ての部分累積距離範囲について処理を行ったかどうかを判断する（ステップＳ３１８）。処理を行っていない部分累積距離範囲があれば（ステップＳ３１８：ＮＯ）、ステップＳ３０３へ戻り、全て処理済みであれば（ステップＳ３１８：ＹＥＳ）、ステップＳ３１９に進む。ステップＳ３１８で部分累積距離範囲記憶部１７０のＧ１メモリの全ての部分累積距離範囲について処理済みの場合は、使用中領域数記憶部１１０のｎ＿ｍａｘに新たに追加した部分累積距離数ｎ＿ｔｍｐを加算し、次の時刻には、新たに追加した部分累積距離についても距離値の算出が行われるようにする（ステップＳ３１９）。
【００７３】
パターンマッチング処理部１５０は、１単語について、複数の部分累積距離範囲から算出された複数の累積距離値のうち最も小さい距離値を、その単語の累積距離値として採用する。その後、パターンマッチング処理部１５０は、候補となるすべて単語について上記の処理を順次実行し、それぞれの単語において算出された複数の累積距離値のうち、最小の累積距離値を有する単語を認識する。
【００７４】
説明したとおり、本発明では部分累積距離の記憶・処理範囲を移動させる場合において、部分累積距離範囲中の極小値の分布状況によって、１つの認識候補単語あたり複数の部分累積距離の記憶・処理範囲を割り当てることにより、より複雑な累積距離分布の場合においても正しい累積距離が求められる効果がある。
【００７５】
さらに、新たに部分累積距離の記憶・処理範囲を割り当てる際にも、必要に応じて範囲Ｗずつ割り当てることにより、認識精度向上に伴う記憶・処理量の急激な増加を抑えることが可能となる効果がある。
【００７６】
また、本実施例は、処理開始位置保持回数Ｃを設定して、部分累積距離範囲を一定の間隔を置いて配置する。これにより、部分累積距離範囲の配置間隔を最適化することにより、パターンマッチングの精度を向上させることができる。
【００７７】
また、本実施例では、ステップＳ３１２において、Ｇ１メモリに十分な空きがあった場合に、新たに追加した部分累積距離範囲を設定している。そのため、本実施例では、Ｇ１メモリの使用状況に応じて、新たに追加した部分累積距離範囲を設定し、パターンマッチングの精度を向上させることができる。
【００７８】
なお、上記の説明では、本発明を１つの音声認識装置として構成したが、例えば、複数の装置によって構成される音声認識システムとして構成することができる。例えば、この音声認識システムは、入力信号を取得する入力信号取得装置と、上記の音声認識装置を組み合わせて構成してもよい。この場合、入力信号取得装置によって取得された入力信号を、インターネット通信網を介して音声認識装置が入力するよう構成してもよい。また、パターンマッチング処理部１５０と、部分累積距離記憶部１７０をそれぞれ別の装置として構成してもよい。
【００７９】
ここで、新たに作成される部分累積距離範囲と、元の部分累積距離範囲は、必ずしも同じＷに設定する必要はない。しかしながら、新たな部分累積距離範囲を作成する際には、元の部分累積距離範囲から累積距離値を複写するため、新たな部分累積距離範囲がＷより大きい場合には、複写元の累積距離値が存在しない箇所が生じる。また、逆に、新たな部分累積距離範囲がＷより小さい場合には、部分累積距離範囲が小さければ小さいほど、累積距離極小点の前後に累積距離計算範囲の余裕がなくなり、認識精度が低下しまう。そのため、パターンのマッチング精度を上げるためには、１つの単語についての新たに作成される部分累積距離範囲と元の部分累積距離範囲は、一定のＷに設定することが好ましい。
【００８０】
上述の実施例では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。）
【００８１】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００８２】
１０  音声信号
２０  音声分析部
３０  特徴パラメータ
４０  標準パターン記憶部
５０、１５０  パターンマッチング処理部
６０  処理開始記憶部
６１  Ｓメモリ
７０、１７０  部分累積距離記憶部
７１  Ｇ１  メモリ
７２  Ｇ２  メモリ
８０  認識結果
１１０  使用中領域数記憶部
１２０  単語番号記憶部
【図１】
2012233975.tif 000010
【図２】
2012233975.tif 000011
【図３】
2012233975.tif 000012
【図４】
2012233975.tif 000013
【図５】
2012233975.tif 000014