(57)【要約】【課題】  途中までの処理を確定する処理にメモリが必要な場合、メモリ不足に起因して処理を中断した時に、確定処理を実行できない。【解決手段】  メモリ管理部２０２は、現フレームのデータ処理を実行する前に、当該データ処理に必要なメモリサイズをメモリの空き領域に確保できるかどうかを判定する。メモリ管理部２０２が当該データ処理に必要なメモリサイズをメモリの空き領域に確保できないと判定した場合、制御部２０１は、現フレーム以降のデータ処理を中断し、現フレームより過去のフレームに対して実行済みのデータ処理結果に基づいて確定処理を行うよう制御する。【選択図】  図２
2010048908.tif 000002
【特許請求の範囲】
【請求項１】
入力したデータに対しフレーム単位で順次、データ処理を実行し、複数のフレームのデータ処理結果に基づいてデータ処理の確定処理を行うデータ処理手段と、
前記データ処理手段が動作する際にアクセス可能なメモリと、
前記データ処理手段が現フレームのデータ処理を実行する前に、前記データ処理手段の動作に必要なメモリサイズを前記メモリの空き領域に確保できるかどうかを判定する判定手段と、
前記判定手段により前記確保ができないと判定された場合、現フレーム以降のデータ処理を中断し、現フレームより過去のフレームに対して実行済みのデータ処理結果に基づいて前記確定処理を行うよう前記データ処理手段を制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
入力したデータに対しフレーム単位で順次、データ処理を実行し、複数のフレームのデータ処理結果に基づいてデータ処理の確定処理を行うデータ処理手段と、
前記データ処理手段が動作する際にアクセス可能なメモリと、
前記データ処理手段が現フレームのデータ処理を実行した後に、次フレーム以降の前記データ処理手段の動作に必要なメモリサイズを前記メモリの空き領域に確保できるかどうかを判定する判定手段と、
前記判定手段により前記確保ができないと判定された場合、次フレーム以降のデータ処理を中断し、現フレームまで実行済みのデータ処理結果に基づいて前記確定処理を行うよう前記データ処理手段を制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項３】
前記メモリサイズは、前記複数のフレームのデータ処理に必要なメモリサイズと、前記複数のフレームのデータ処理結果に対する前記確定処理に必要なメモリサイズの和より大きいことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
入力した音声データに対しフレーム単位で順次、認識結果候補である仮説の最適解を探索する探索処理を実行し、複数のフレームの探索処理結果に基づいて認識結果の確定処理を行う探索処理手段と、
前記探索処理手段が動作する際にアクセス可能なメモリと、
前記探索処理手段が現フレームの探索処理を実行する前に、前記探索処理手段の動作に必要なメモリサイズを前記メモリの空き領域に確保できるかどうかを判定する判定手段と、
前記判定手段により前記確保ができないと判定された場合、現フレーム以降の探索処理を中断し、現フレームより過去のフレームに対して実行済みの探索処理結果に基づいて前記確定処理を行うよう前記探索処理手段を制御する制御手段と、
を有することを特徴とする音声認識装置。
【請求項５】
入力した音声データに対しフレーム単位で順次、認識結果候補である仮説の最適解を探索する探索処理を実行し、複数のフレームの探索処理結果に基づいて認識結果の確定処理を行う探索処理手段と、
前記探索処理手段が動作する際にアクセス可能なメモリと、
前記探索処理手段が現フレームの探索処理を実行した後に、次フレーム以降の前記探索処理手段の動作に必要なメモリサイズを前記メモリの空き領域に確保できるかどうかを判定する判定手段と、
前記判定手段により前記確保ができないと判定された場合、次フレーム以降の探索処理を中断し、現フレームまで実行済みの探索処理結果に基づいて前記確定処理を行うよう前記探索処理手段を制御する制御手段と、
を有することを特徴とする音声認識装置。
【請求項６】
前記メモリサイズは、前記複数のフレームの探索処理に必要なメモリサイズと、前記複数のフレームの探索処理結果に対する前記確定処理に必要なメモリサイズの和より大きいことを特徴とする請求項４又は５に記載の音声認識装置。
【請求項７】
入力したデータに対しフレーム単位で順次、データ処理を実行し、複数のフレームのデータ処理結果に基づいてデータ処理の確定処理を行うデータ処理手段と、
前記データ処理手段が動作する際にアクセス可能なメモリと、
を備える情報処理装置の制御方法であって、
前記データ処理手段が現フレームのデータ処理を実行する前に、前記データ処理手段の動作に必要なメモリサイズを前記メモリの空き領域に確保できるかどうかを判定する判定ステップと、
前記判定ステップで前記確保ができないと判定された場合、現フレーム以降のデータ処理を中断し、現フレームより過去のフレームに対して実行済みのデータ処理結果に基づいて前記確定処理を行うよう前記データ処理手段を制御する制御ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項８】
入力したデータに対しフレーム単位で順次、データ処理を実行し、複数のフレームのデータ処理結果に基づいてデータ処理の確定処理を行うデータ処理手段と、
前記データ処理手段が動作する際にアクセス可能なメモリと、
を備える情報処理装置の制御方法であって、
前記データ処理手段が現フレームのデータ処理を実行した後に、次フレーム以降の前記データ処理手段の動作に必要なメモリサイズを前記メモリの空き領域に確保できるかどうかを判定する判定ステップと、
前記判定ステップで前記確保ができないと判定された場合、次フレーム以降のデータ処理を中断し、現フレームまで実行済みのデータ処理結果に基づいて前記確定処理を行うよう前記データ処理手段を制御する制御ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
入力した音声データに対しフレーム単位で順次、認識結果候補である仮説の最適解を探索する探索処理を実行し、複数のフレームの探索処理結果に基づいて認識結果の確定処理を行う探索処理手段と、
前記探索処理手段が動作する際にアクセス可能なメモリと、
を備える音声認識装置の制御方法であって、
前記探索処理手段が現フレームの探索処理を実行する前に、前記探索処理手段の動作に必要なメモリサイズを前記メモリの空き領域に確保できるかどうかを判定する判定ステップと、
前記判定ステップで前記確保ができないと判定された場合、現フレーム以降の探索処理を中断し、現フレームより過去のフレームに対して実行済みの探索処理結果に基づいて前記確定処理を行うよう前記探索処理手段を制御する制御ステップと、
を有することを特徴とする音声認識装置の制御方法。
【請求項１０】
入力した音声データに対しフレーム単位で順次、認識結果候補である仮説の最適解を探索する探索処理を実行し、複数のフレームの探索処理結果に基づいて認識結果の確定処理を行う探索処理手段と、
前記探索処理手段が動作する際にアクセス可能なメモリと、
を備える音声認識装置の制御方法であって、
前記探索処理手段が現フレームの探索処理を実行した後に、次フレーム以降の前記探索処理手段の動作に必要なメモリサイズを前記メモリの空き領域に確保できるかどうかを判定する判定ステップと、
前記判定ステップで前記確保ができないと判定された場合、次フレーム以降の探索処理を中断し、現フレームまで実行済みの探索処理結果に基づいて前記確定処理を行うよう前記探索処理手段を制御する制御ステップと、
を有することを特徴とする音声認識装置の制御方法。
【請求項１１】
コンピュータに、請求項７又は８に記載の情報処理装置の制御方法を実行させるためのプログラム。
【請求項１２】
コンピュータに、請求項９又は１０に記載の音声認識装置の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたデータを一定量ごとに逐次処理する情報処理装置及びその制御方法に関する。
【背景技術】
【０００２】
一般に、情報処理装置では処理のアルゴリズムや扱うデータ構造を工夫するなどして使用するメモリ量を節約する工夫がなされている。例えば、特許文献１には、照合性能を保ちつつ使用するメモリ容量を節約する動的計画法照合装置が開示されている。この装置では、ＤＰ照合の過程でＤＰパスの個数を監視し、ＤＰパスの個数に応じて処理する候補数を制御し、効率良くメモリを使用する照合を行っている。
【０００３】
一般には、ハードウエアの必要要件として必要な最低限のメモリ量を提示し、そのメモリ量の範囲内で動作するように、前述のようなメモリ量を節約する工夫が行われる。しかしながら、実使用場面でのあらゆるデータの処理を事前に検証することは困難なため、設計段階では十分なメモリ量を確保している場合でも、実使用時にはメモリが不足することがある。
【０００４】
例えば、音声認識を行う情報処理装置では、認識対象となる語数や処理する音声のデータ量によって必要なメモリ量が変化する。一般には、語数が多い場合、処理する音声が多い場合（発声が長い場合）に必要なメモリ量が増加する。通常は、事前に想定した語数や発声の長さに基づいて、必要なメモリ量を予測して、十分なメモリ量を確保する。あるいは使用可能なメモリの範囲内で動作するように音声認識を制御する。
【０００５】
しかしながら、音声認識の場合は、必要なメモリ量を正確に予測するのが困難な場合が多く、使用者によって想定外の発声がなされるなどして予測の範囲を超える場合がある。このような場合は、特許文献１のように効率的な処理を行っていても実使用場面でメモリが不足することがあり、処理を中断しなければならない。
【０００６】
処理を中断する場合であっても、途中まで処理した結果が有効に活用できる場合もある。例えば、「東京都大田区下丸子」という音声を認識している過程でメモリが足りなくなった場合でも、「東京都」だけでも結果が得られれば、使用者に再入力を促す場合でも「大田区」以降の再入力だけで済む。すなわち、メモリが不足した場合でも、それまでの処理を確定する処理が行えれば、使用者の利便性が向上する場合がある。
【０００７】
【特許文献１】特許第２９８０４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
途中までの処理を確定する処理にメモリが必要な場合、メモリ不足に起因して処理を中断した時に、確定処理を実行できないという課題がある。
【０００９】
これに対して、それまでに使用したメモリ領域のうち不要な部分を開放して必要なメモリ量を確保することが考えられるが、使用したメモリ領域の要・不要の判定など煩雑な処理が必要になる。
【００１０】
本発明は、上記のような課題を簡単な方法で解決する情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
かかる課題を解決するために、本発明の一側面に係る情報処理装置は、入力したデータに対しフレーム単位で順次、データ処理を実行し、複数のフレームのデータ処理結果に基づいてデータ処理の確定処理を行うデータ処理手段と、前記データ処理手段が動作する際にアクセス可能なメモリと、前記データ処理手段が現フレームのデータ処理を実行する前に、前記データ処理手段の動作に必要なメモリサイズを前記メモリの空き領域に確保できるかどうかを判定する判定手段と、前記判定手段により前記確保ができないと判定された場合、現フレーム以降のデータ処理を中断し、現フレームより過去のフレームに対して実行済みのデータ処理結果に基づいて前記確定処理を行うよう前記データ処理手段を制御する制御手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、処理の確定にメモリが必要な場合でも、メモリ不足に起因して処理を中断する際に処理を確定でき、使用者の利便性が向上する。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。なお、本発明は以下の実施形態に限定されるものではなく、本発明の実施に有利な具体例を示すにすぎない。また、以下の実施形態の中で説明されている特徴の組み合わせの全てが本発明の課題解決手段として必須のものであるとは限らない。
【００１４】
本発明は、入力したデータに対しフレーム単位で順次、データ処理を実行し、複数のフレームのデータ処理結果に基づき、特定の結果を出力するなどのデータ処理の確定処理を行う。もっとも、本発明は、処理の確定にメモリを必要とする情報処理装置全般に適用可能であり、以下の実施形態で説明する音声認識装置に限定されるものではない。
【００１５】
（実施形態１）
図１は本発明の一実施形態である音声認識装置の概略構成を示すブロック図である。
【００１６】
図１において、１０１はデータ処理手段としての中央処理装置（ＣＰＵ）である。１０２は制御メモリ（ＲＯＭ）である。１０３は、ＣＰＵが動作する際にアクセス可能なメモリ（ＲＡＭ）である。１０４はキーボードやボタンなどの操作キーである。１０５はＬＣＤなどの表示装置、１０６はマイクロホンなどの音声入力装置、１０７はデータバスである。
【００１７】
本実施形態の音声認識装置を実現するための制御プログラムやその制御プログラムで用いるデータは、制御メモリ（ＲＯＭ）１０２に記憶されている。これらの制御プログラムやデータは、中央処理装置１０１の制御の下、データバス１０７を通じてメモリ１０３にロードされ、中央処理装置１０１によって実行される。実行した結果、すなわち音声認識の結果は、表示装置１０５に表示される。
【００１８】
図２は、本実施形態における音声認識装置の機能ブロック図である。
【００１９】
ここでは一般的なＨＭＭを用いた音声認識装置について説明する。この音声認識装置は、入力した音声データに対しフレーム単位で順次、認識結果候補である仮説の最適解を探索する探索処理を実行し、複数のフレームの探索処理結果に基づいて認識結果の確定処理を行う。もっとも、本発明は所定量ごとの音声データを処理する音声認識装置一般に適用可能である。
【００２０】
制御部２０１は音声認識装置全体の制御を行う。メモリ管理部２０２は本装置で使用するメモリの管理を行い、必要に応じてメモリを確保、あるいは開放する。音声認識装置を起動すると制御部２０１は音声認識に必要な初期化を行う。あわせて音響モデル２０６、認識語彙や認識語彙と音響モデルとの対応関係を記録した言語情報２０７などの音声認識に必要なデータの読み込みを行う。この際、必要なメモリの確保をメモリ管理部２０２が行う。
【００２１】
使用者が操作キー１０４を用いて音声認識を開始すると、制御部２０１は音声入力装置１０６より音声を取り込み、Ａ／Ｄ変換する。
【００２２】
続いて音声分析部２０３が音声分析を実行する。音声分析部２０３は時系列の音声データを例えばフレームシフト幅１０ミリ秒、フレーム幅２５ミリ秒で窓掛け処理し、フレーム幅分のデータを一固まりとしてフレーム単位でメルケプストラムなどの特徴量を算出する。
【００２３】
続いて探索部２０４が１フレーム分の特徴量について、探索処理を行う。探索部２０４は音響モデル２０６の情報を用いて、特徴量に対する音響尤度を計算する。また、算出した音響尤度と言語情報２０７を用いて、認識結果候補のスコアを計算する。この過程で、探索部は多数の仮説を生成するため、その都度あるいは一定量の仮説ごとにメモリ管理部２０２でメモリを確保する必要がある。処理が進むにつれて生成される仮説は増加するため、一定スコア以上の仮説のみ処理の対象とする枝刈り処理をするのが一般的である。
【００２４】
以上の１フレームごとの処理を繰り返し、音声入力が終了した時点で認識結果出力部２０５が最もスコアの大きい候補を認識結果として出力する。
【００２５】
探索部２０４の処理で説明したように、処理するフレーム数が増えるに連れて、対象となる仮説数が増加するため、使用するメモリ量が増加する。探索部２０４の処理の過程で、メモリが不足した場合は、探索処理をそれ以上進めることはできないので処理を中断しなくてはならない。この時、すでに使用できるメモリ量が不足しているため、認識結果出力部２０５の処理で使用するメモリを新たに確保できない場合がある。
【００２６】
その場合は、探索部２０４が生成した仮説のうち不要なものを削除するなどして、使用できるメモリを増やすことも可能である。しかしながら、不要な仮説削除により使用できるメモリ量が十分確保できるかどうかが不明な上、要・不要の処理が煩雑になる。
【００２７】
そこで、本発明では、簡易な方法でこの問題を回避することを提案する。本発明では、毎フレームの処理を開始する前に十分なメモリが残されているかどうかの判定を行い、探索処理を進めるのに十分なメモリがないと判定された場合は、その時点での認識結果を出力するように制御する。すなわち、現フレームの探索処理に先立ち、所定量のまとまったメモリ確保を試みる。メモリが確保できない場合は探索処理を行わず、直ちに認識結果出力処理を実行する。
【００２８】
ここで、確保を試みるメモリサイズは、認識結果の確定処理に必要なメモリサイズと１フレームの探索処理に必要なメモリサイズとの和よりも大きい量であることが好ましい。仮説数に基づいて、フレームごとに必要なメモリサイズを計算しても良いし、過去のフレームにおいて確保したメモリ量から推測しても良い。また、予備実験により、実験的に求めた固定量を使用しても良い。
【００２９】
以上の処理の手順を図３のフローチャートで説明する。
【００３０】
音声認識装置が起動すると、制御部２０１は音響モデルや言語情報の読み込みなど音声認識に必要な初期化を行う（ステップＳ１０１）。
【００３１】
音声入力装置１０６からの音声入力が開始されると（Ｓ１０２ＹＥＳ）、制御部２０１は認識結果のクリアなど発声ごとに必要な初期化を行う（ステップＳ１０３）。このとき、メモリ管理部２０２は前発声時に確保したメモリの開放を行う。
【００３２】
続いてステップＳ１０４で、メモリ管理部２０２が所定量のメモリ確保を試みる。ここで、探索処理に必要なメモリサイズをメモリの空き領域に確保できるどうかを判定する。このメモリ確保に成功した場合（Ｓ１０４ＹＥＳ）のみ、１フレーム分の処理を行う（ステップＳ１０５−Ｓ１０８）。すなわち、まず、音声分析部２０３が現フレームの音声分析を行い（ステップＳ１０６）、探索部２０４が探索処理を実行する（ステップＳ１０７）。音声入力が終了した場合（ステップＳ１０８）、認識結果出力部２０５で認識結果を確定する（ステップＳ１０９）。
【００３３】
一方、ステップＳ１０４で所定量のメモリが確保できない場合（Ｓ１０４ＮＯ）は、現フレーム以降の探索処理を中断し、現フレームより過去のフレームに対して実行済みの探索処理結果に基づいて認識結果を確定する処理を行う（ステップＳ１０９）。
【００３４】
認識結果を確定した後に、音声認識を終了する場合は終了し（Ｓ１１０ＹＥＳ）、引き続き音声認識を行う場合はステップＳ１０２に戻って次の音声入力が開始されるまで待機する（Ｓ１１０ＮＯ，Ｓ１０２ＮＯ）。
【００３５】
以上のようにすることで、探索処理中にメモリが不足した場合でも途中までの探索結果に基づいた認識結果を出力することが可能となる。
【００３６】
（実施形態２）
上述の実施形態１では、１フレーム分の処理を開始する前に所定量のメモリ確保を実施したが、１フレーム分の処理終了後にメモリ確保を試みても良い。この場合は、次のフレームの探索処理に必要なメモリ量よりも大きいメモリ量の確保を試みるのが望ましい。
【００３７】
図４に、この場合のフローチャートを示す。
【００３８】
図３に示した実施形態１との違いは、探索処理（ステップＳ２０７）の終了後にメモリ確保を行う（ステップＳ２０４）点である。ステップＳ２０４で所定量のメモリが確保できないと判定された場合（Ｓ２０４ＮＯ）は、次フレーム以降の探索処理を中断し、現フレームまで実行済みの探索処理結果に基づいて認識結果を確定する処理を行う（ステップＳ１０９）。
【００３９】
以上のように処理の手順を変更しても、実施形態１と同様に、探索処理中にメモリが不足した場合でも途中までの探索結果に基づいた認識結果を出力することが可能となる。
【００４０】
（他の実施形態）
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００４１】
なお、本発明は、前述した実施形態の各機能を実現するプログラムを、システム又は装置に直接又は遠隔から供給し、そのシステム又は装置に含まれるコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。
【００４２】
したがって、本発明の機能・処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００４３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００４４】
プログラムを供給するためのコンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ）などもある。
【００４５】
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネットのホームページからダウンロードしてもよい。すなわち、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードする形態も考えられる。つまり、本発明の機能・処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００４６】
また、本発明のプログラムを暗号化してコンピュータ読み取り可能なＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
【００４７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
【００４８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。
【図面の簡単な説明】
【００４９】
【図１】本発明の一実施形態である音声認識装置の構成図。
【図２】本発明の一実施形態である音声認識装置の機能ブロック図。
【図３】本発明の一実施形態である音声認識装置の処理を説明するフローチャート。
【図４】別の実施形態における音声認識装置の処理を説明するフローチャート。
【図１】
2010048908.tif 000003
【図２】
2010048908.tif 000004
【図３】
2010048908.tif 000005
【図４】
2010048908.tif 000006