JP4639533B2 - 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 - Google Patents

音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 Download PDF

Info

Publication number
JP4639533B2
JP4639533B2 JP2001174634A JP2001174634A JP4639533B2 JP 4639533 B2 JP4639533 B2 JP 4639533B2 JP 2001174634 A JP2001174634 A JP 2001174634A JP 2001174634 A JP2001174634 A JP 2001174634A JP 4639533 B2 JP4639533 B2 JP 4639533B2
Authority
JP
Japan
Prior art keywords
speech recognition
feature
matching
feature quantity
hypothesis
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.)
Expired - Fee Related
Application number
JP2001174634A
Other languages
English (en)
Other versions
JP2002366188A (ja
Inventor
ルッケ ヘルムート
康治 浅野
活樹 南野
浩明 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001174634A priority Critical patent/JP4639533B2/ja
Publication of JP2002366188A publication Critical patent/JP2002366188A/ja
Application granted granted Critical
Publication of JP4639533B2 publication Critical patent/JP4639533B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、音声認識装置および音声認識方法、並びにプログラムおよび記録媒体に関し、特に、例えば、リアルタイムでの音声認識を、リソースを有効に利用して行うことができるようにする音声認識装置および音声認識方法、並びにプログラムおよび記録媒体に関する。
【0002】
【従来の技術】
近年においては、音声認識装置は、マンマシンインタフェース等として、多数のシステムで利用されている。
【0003】
図1は、そのような音声認識装置の一例の構成を示している。
【0004】
ユーザが発した音声は、マイク(マイクロフォン)1に入力され、マイク1では、その入力音声が、電気信号としての音声信号に変換される。この音声信号は、AD(Analog Digital)変換部2に供給される。AD変換部2では、マイク1からのアナログ信号である音声信号がサンプリング、量子化され、ディジタル信号である音声データに変換される。この音声データは、特徴抽出部3に供給される。
【0005】
特徴抽出部3は、AD変換部2からの音声データについて、適当なフレームごとに音響分析処理を施し、これにより、例えば、MFCC(Mel Frequency Cepstrum Coefficient)等の特徴量としての特徴ベクトルを抽出する。なお、特徴抽出部3では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴ベクトル(特徴パラメータ)を抽出することが可能である。
【0006】
特徴抽出部3においてフレームごとに得られる特徴ベクトルは、特徴ベクトルバッファ4に順次供給されて記憶される。従って、特徴ベクトルバッファ4では、フレームごとの特徴ベクトルが時系列に記憶されていく。
【0007】
なお、特徴ベクトルバッファ4は、例えば、ある発話の開始から終了まで(音声区間)に得られる時系列の特徴ベクトルを記憶する。
【0008】
マッチング部5は、特徴ベクトルバッファ4に記憶された特徴ベクトルを用いて、音響モデルデータベース7、辞書データベース8、および文法データベース9を必要に応じて参照しながら、マイク1に入力された音声(入力音声)を、例えば、連続分布HMM法等に基づいて音声認識する。
【0009】
即ち、音響モデルデータベース7は、音声認識する音声の言語における個々の音素や音節などの所定の単位(PLU(Phonetic-Linguistic-Units)ごとの音響的な特徴を表す音響モデルを記憶している。ここでは、連続分布HMM法に基づいて音声認識を行うので、音響モデルとしては、例えば、ガウス分布を用いたHMM(Hidden Markov Model)が用いられる。辞書データベース8は、認識対象の各単語(語彙)について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶している。文法データベース9は、辞書データベース8の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則(言語モデル)を記憶している。ここで、文法規則としては、例えば、文脈自由文法(CFG)や、統計的な単語連鎖確率(N−gram)などに基づく規則を用いることができる。
【0010】
マッチング部5は、辞書データベース8の単語辞書を参照することにより、音響モデルデータベース7に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部5は、幾つかの単語モデルを、文法データベース9に記憶された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、時系列の特徴ベクトルに基づき、連続分布HMM法によって、マイク1に入力された音声を認識する。即ち、マッチング部5は、上述したようにして構成された各単語モデルの系列から、特徴ベクトルバッファ4に記憶された時系列の特徴ベクトルが観測される尤度を表すスコアを計算する。そして、マッチング部5は、そのスコアが最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声の認識結果として出力する。
【0011】
なお、ここでは、HMM法により音声認識が行われるため、マッチング部5は、接続された単語モデルに対応する単語列について、各特徴ベクトルの出現確率を累積し、その累積値をスコアとして、そのスコアを最も高くする単語列を、音声認識結果として出力する。
【0012】
スコア計算は、一般に、音響モデルデータベース7に記憶された音響モデルによって与えられる音響的なスコア(以下、適宜、音響スコアという)と、文法データベース9に記憶された文法規則によって与えられる言語的なスコア(以下、適宜、言語スコアという)とを総合評価することで行われる。
【0013】
即ち、音響スコアは、例えば、HMM法による場合には、単語モデルを構成する音響モデルから、特徴抽出部3が出力する特徴ベクトルの系列が観測される確率(出現する確率)に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖(連接)する確率に基づいて求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア(以下、適宜、最終スコアという)に基づいて、音声認識結果が確定される。
【0014】
具体的には、あるN個の単語からなる単語列におけるk番目の単語をwkとして、その単語wkの音響スコアをA(wk)と、言語スコアをL(wk)と、それぞれ表すとき、その単語列の最終スコアSは、例えば、次式にしたがって計算される。
【0015】
S=Σ(A(wk)+Ck×L(wk))
・・・(1)
【0016】
但し、Σは、kを1からNに変えてのサメーションをとることを表す。また、Ckは、単語wkの言語スコアL(wk)にかける重みを表す。
【0017】
マッチング部5では、例えば、上式に示す最終スコアを最も大きくするNと、単語列w1,w2,・・・,wNを求めるマッチング処理が行われ、その単語列w1,w2,・・・,wNが、音声認識結果として出力される。
【0018】
以上のような処理が行われることにより、図1の音声認識装置では、例えば、ユーザが、「ニューヨークに行きたいです」と発話した場合には、「ニューヨーク」、「に」、「行きたい」、「です」といった各単語に、音響スコアおよび言語スコアが与えられ、それらを総合評価して得られる最終スコアが最も大きいときに、単語列「ニューヨーク」、「に」、「行きたい」、「です」が、音声認識結果として出力される。
【0019】
ところで、上述の場合において、辞書データベース8の単語辞書に、「ニューヨーク」、「に」、「行きたい」、および「です」の5単語が登録されているとすると、これらの5単語を用いて構成しうる5単語の並びは、55通り存在する。従って、単純には、マッチング部5では、この55通りの単語列を評価し、その中から、ユーザの発話に最も適合するもの(最終スコアを最も大きくするもの)を決定しなければならない。そして、単語辞書に登録する単語数が増えれば、その単語数分の単語の並びの数は、単語数の単語数乗通りになるから、評価の対象としなければならない単語列は、膨大な数となる。
【0020】
さらに、一般には、発話中に含まれる単語の数は未知であるから、5単語の並びからなる単語列だけでなく、1単語、2単語、・・・からなる単語列も、評価の対象とする必要がある。従って、評価すべき単語列の数は、さらに膨大なものとなるから、そのような膨大な単語列の中から、音声認識結果として最も確からしいものを、計算量および使用するメモリ容量の観点から効率的に決定することは、非常に重要な問題である。
【0021】
計算量の低減し、処理の高速化を図る方法としては、例えば、特徴ベクトルの次元数を小さくする方法や、特徴ベクトルをベクトル量子化し、その結果得られるコードをインデックスとして、コードと音響スコアとが対応付けられたスコアテーブルから音響スコアを検索する方法などがあるが、これらの方法では、音響スコアの精度が劣化する。
【0022】
また、計算量およびメモリ容量の効率化を図る方法としては、例えば、音響スコアを求める過程において、その途中で得られる音響スコアに基づき、そのスコア計算を打ち切るという音響的な枝刈り手法や、言語スコアに基づき、スコア計算の対象とする単語を絞り込む言語的な枝刈り手法がある。
【0023】
これらの枝刈り手法は、ビームサーチ法とも呼ばれる。また、ビームサーチ法において、単語の絞り込み(枝刈り)には、所定の閾値が用いられるが、この閾値は、ビーム幅と呼ばれる。
【0024】
ここで、以下、適宜、音響スコアや言語スコアを、まとめて、スコアという。
【0025】
ビームサーチ法では、ある単語の系列を、音声認識結果の候補としての仮説として、その仮説としての単語の系列(音声認識結果の候補)に、新たに単語を接続することにより、新たな仮説が生成され、生成された各仮説としての単語の系列についてのスコアが、特徴ベクトルを用いて計算される。さらに、スコアが比較的低い仮説が削除され、残った仮説について、以下、同様の処理が繰り返される。
【0026】
そして、音声認識対象の発話から得られた特徴ベクトル系列の先頭から最後まで(音声区間)に対して、スコアの計算が終了すると、その時点で残っている仮説のうち、例えば、最もスコアの高い仮説としての単語の系列が、音声認識結果とされる。
【0027】
即ち、例えば、いま、図2(A)に示すような、音声「今日はいい天気ですね」について得られる特徴ベクトル系列に対して行われる、ビームサーチ法によるマッチング処理を考える。
【0028】
なお、図2においては、左から右方向が、時間(時刻)の経過を表しており、また、音声区間の開始時刻を0として、音声区間は時刻Tで終了するものとしてある。
【0029】
例えば、いま、単語辞書に登録された各単語について、時刻0からの特徴ベクトル系列を用いて、スコアが計算され、時刻0からt1-1までの特徴ベクトル系列に対して単語「寄与」のスコアが、時刻0からt1までの特徴ベクトル系列に対して単語「今日」のスコアが、時刻0からt1+1までの特徴ベクトル系列に対して単語「京都」のスコアが、それぞれ、ある程度高くなったとすると、発話時間が、時刻0からt1-1までの「寄与」、時刻0からt1までの「今日」、時刻0からt1+1までの「京都」の3つが、最初の仮説とされる。
【0030】
そして、時刻0からt1-1までの仮説「寄与」については、その仮説「寄与」の終点の時刻t1-1を始点として、その時刻t1-1からの特徴ベクトル系列を用いて、単語辞書に登録された各単語について、スコアが計算される。同様に、時刻0からt1までの仮説「今日」については、その仮説「今日」の終点の時刻t1を始点として、その時刻t1からの特徴ベクトル系列を用いて、単語辞書に登録された各単語について、スコアが計算され、時刻0からt1+1までの仮説「京都」については、その仮説「京都」の終点の時刻t1+1を始点として、その時刻t1+1からの特徴ベクトル系列を用いて、単語辞書に登録された各単語について、スコアが計算される。
【0031】
いま、このスコア計算によって、時刻t1-1を始点とした場合には、時刻t2を終点とする単語「は」と時刻t2+1を終点とする単語「いい」について、時刻t1を始点とした場合には、時刻t2を終点とする単語「は」と時刻t2+1を終点とする単語「は」について、時刻t1+1を始点とした場合には、時刻t2を終点とする単語「は」と時刻t2+2を終点とする単語「いい」について、それぞれ高いスコアが得られたとすると、図2(B)乃至図2(G)に示すように、それらの単語が、仮説に接続され、新たな仮説が生成される。
【0032】
即ち、時刻0からt1-1までの仮説「寄与」については、図2(B)に示すように、時刻t1-1からt2までの特徴ベクトル系列を用いることで、単語「は」について、高いスコアが得られており、時刻0からt1-1までの仮説「寄与」に、時刻t1-1からt2までの単語「は」を接続した時刻0からt2までの新たな仮説「寄与」が生成される。さらに、時刻0からt1-1までの仮説「寄与」については、図2(C)に示すように、時刻t1-1からt2+1までの特徴ベクトル系列を用いることで、単語「いい」について、高いスコアが得られており、時刻0からt1-1までの仮説「寄与」に、時刻t1-1からt2+1までの単語「いい」を接続した時刻0からt2+1までの新たな仮説「寄与いい」が生成される。
【0033】
また、時刻0からt1までの仮説「今日」については、図2(D)に示すように、時刻t1からt2+1までの特徴ベクトル系列を用いることで、単語「は」について、高いスコアが得られており、時刻0からt1までの仮説「今日」に、時刻t1からt2+1までの単語「は」を接続した時刻0からt2+1までの新たな単語「今日は」が生成される。さらに、時刻0からt1までの仮説「今日」については、図2(E)に示すように、時刻t1からt2までの特徴ベクトル系列を用いることで、単語「は」について、高いスコアが得られており、時刻0からt1までの仮説「今日」に、時刻t1からt2までの単語「は」を接続した時刻0からt2までの新たな単語「今日は」が生成される。
【0034】
また、時刻0からt1+1までの仮説「京都」については、図2(F)に示すように、時刻t1+1からt2までの特徴ベクトル系列を用いることで、単語「は」について、高いスコアが得られており、時刻0からt1+1までの仮説「京都」に、時刻t1+1からt2までの単語「は」を接続した時刻0からt2までの新たな仮説「京都は」が生成される。さらに、時刻0からt1+1までの仮説「京都」については、図2(G)に示すように、時刻t1+1からt2+2までの特徴ベクトル系列を用いることで、単語「いい」について、高いスコアが得られており、時刻0からt1+1までの仮説「京都」に、時刻t1+1からt2+2までの単語「いい」を接続した時刻0からt2+2までの新たな仮説「京都いい」が生成される。
【0035】
以上のようにして、仮説は、音声区間の終了時刻Tまで拡張されていくが、その過程で何らの制限も行わない場合には、膨大な数の仮説が生成されることになる。
【0036】
このため、ビームサーチ法によって、スコアの低い仮説は枝刈り(削除)される。即ち、例えば、現在得られている仮説において、終了時刻が同一時刻の仮説どうしがグループ化され、各グループにおいて、そのグループに属する各仮説と、そのグループでスコアが最も高い仮説とのスコアの差(の絶対値)が求められる。そして、そのスコアの差が所定の閾値以上となる仮説(スコアが最も高い仮説とのスコアの差が所定の閾値以上となる仮説)は枝刈りされ、以降のスコア計算の対象から除外される。
【0037】
なお、図1のマッチング部5において、以上のようなビームサーチ法によるマッチング処理を行う場合には、仮説と、仮説を構成する単語の終了時刻(終点の時刻)、仮説について得られているスコア等を保持しておく必要があるが、これらは、図1の仮説スタック6に記憶される。即ち、マッチング部5は、仮説スタック6に仮説を記憶させ、その仮説に接続する形で、新たな単語を、仮説スタック6に記憶させることで、新たな仮説を生成する。また、マッチング部5は、仮説スタック6に記憶された仮説を削除することで、その仮説の枝刈りを行う。
【0038】
【発明が解決しようとする課題】
ところで、音声認識装置における音声認識精度(誤認識率の低さ等)は、例えば、音声認識対象とする語彙の数、使用する音響モデルや言語モデルの複雑さ、音声の特徴ベクトル抽出やパターンマッチング(マッチング処理)に割り当てる処理量等の影響を受ける。そして、高い認識精度を実現しようとすれば、必然的に、音声認識装置の処理量は増加し、従って、音声認識処理にあたって必要なリソースが増加する。
【0039】
また、音声認識精度と、音声認識処理に必要なリソースは、例えば、特徴ベクトルの次元数や、HMMの各状態において生起確率を求めるのに利用するガウス分布の数、仮説スタック6に記憶させることのできる仮説の数、仮説に対して新たに接続することのできる単語の数等の影響も受ける。
【0040】
一方、音声認識装置を搭載したシステム(以下、適宜、音声認識システムという)では、ユーザの音声を音声認識し、その音声認識結果に基づいて処理を行う(例えば、音声認識結果を翻訳するなど)ことから、一般に、リアルタイムでの音声認識処理を行うことが要求されることが多い。
【0041】
しかしながら、音声認識システムにおいて、プロセッサは、一般に、音声認識処理だけでなく、必要な他のタスクも、同時に(並列に)実行する。このような音声認識システムにおいては、音声認識処理に割り当てることのできるリソースが、時々刻々と変化することになる。
【0042】
従って、音声認識システムにおいて、リアルタイムで音声認識を行う場合には、音声認識処理に、常に、十分なリソースを割り当てることができるとは限らないため、高い音声認識精度を、常時維持することは困難である。
【0043】
即ち、音声認識システムにおいて、音声認識装置に、十分なリソースを割り当てることができる場合は問題ないが、十分なリソースを割り当てることができない場合には、リアルタイムでの音声認識結果を得ることができず、その後の処理に支障をきたすことになる。
【0044】
また、音声認識処理に必要なリソースは、音声認識処理の対象となる音声の長さ(発話時間)によっても変化する。しかしながら、発話時間は、発話ごとに異なるため、そのように発話時間の異なる発話を対象とした音声認識処理に必要なリソースを、あらかじめ予測することも困難である。
【0045】
このため、音声認識システムにおける音声認識精度は、そのシステム全体のリソースを考慮して設計される。
【0046】
即ち、音声認識システムのプロセッサが高速のものである場合には、音声認識処理に大きなリソースを割り当て、精度の高い音響モデルや言語モデル、語彙数の多い辞書を用いて、詳細な音響分析処理やマッチング処理を行っても、リアルタイムで音声認識結果を得ることができるから、比較的大きなリソースが必要な音声認識を行い、精度の高い音声認識結果が得られるように、音声認識システムが設計される。
【0047】
一方、音声認識システムのプロセッサが低速のものである場合には、詳細な音響分析等の処理を行うと、リアルタイムでの音声認識が困難となることから、音声認識処理に対して大きなリソースを割り当てることができないので、処理量を制限するために、いわば簡易な音声認識処理(演算量の少ない処理)を行うことにより、少ないリソースによって、リアルタイムで音声認識結果を得ることができるように、音声認識システムが設計される。
【0048】
従って、高速なプロセッサを用いる場合には、音声認識処理に必要なリソースは多くなるが、高い精度の音声認識結果が得られる。一方、低速なプロセッサを用いる場合には、あまり精度の高くない音声認識結果が得られることになるが、音声認識処理に必要なリソースは少なくて済む。
【0049】
ところで、音声認識システムにおいて、そのシステムに用いるプロセッサの能力ごとに、音声認識精度、ひいては、音声認識処理に割り当てられるリソースを異なるものに設計しても、音声認識システムの他の処理に必要なリソースは、時々刻々と変化するから、場合によっては、音声認識処理に割り当てるのに十分なリソースがあることもあるが、そのような十分なリソースがないこともある。
【0050】
音声認識処理に割り当てるのに十分なリソースがない場合には、音声認識結果を、リアルタイムで得ることができないことになり、その後の処理に影響を及ぼすことになる。
【0051】
一方、音声認識処理に割り当てるのに十分なリソースがある場合には、あらかじめ設計された精度の音声認識結果を、リアルタイムで得ることはできるが、この場合、余っているリソースは無駄になる。即ち、仮に、その余っているリソースを、さらに、音声認識処理に割り当てることができれば、音声認識精度をより向上させることができるにもかかわらず、そのリソースを使用しないことは、リソースを有効利用しているとはいえない。
【0052】
本発明は、このような状況に鑑みてなされたものであり、リアルタイムでの音声認識を、リソースを有効に利用して行うことができるようにするものである。
【0053】
【課題を解決するための手段】
本発明の一側面の音声認識装置、プログラム、又は、記録媒体は、入力音声を音声認識する音声認識処理を行う音声認識装置であって、前記入力音声を音響分析し、その入力音声の特徴量を抽出する分析手段と、前記分析手段が出力する特徴量を記憶する特徴量記憶手段と、前記特徴量記憶手段から前記特徴量を読み出し、前記特徴量を対象とするマッチング処理を、ビームサーチ法による仮説の枝刈りをしながら行うマッチング手段と、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに基づいて、前記マッチング処理を管理する管理手段と、前記枝刈りのビーム幅を複数の値それぞれに設定して、複数のデータ量の特徴量それぞれを対象とするマッチング処理を行った場合に、音声認識結果を得るのに必要な音声認識処理のリソースを測定することにより作成された、前記ビーム幅、前記特徴量の残量、及び、前記リソースを対応付けた管理テーブルを記憶するテーブル記憶手段とを備え、前記管理手段は、前記管理テーブルにおいて、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに対応付けられた前記ビーム幅で、枝刈りを行うように、前記マッチング処理を管理する音声認識装置、そのような音声認識装置として、コンピュータを機能させるためのプログラム、又は、そのようなプログラムが記録されている記録媒体である。
【0054】
本発明の一側面の音声認識方法は、入力音声を音声認識する音声認識処理を行う音声認識装置の音声認識方法であって、前記音声認識装置は、前記入力音声を音響分析し、その入力音声の特徴量を抽出する分析手段と、前記分析手段が出力する特徴量を記憶する特徴量記憶手段と、前記特徴量記憶手段から前記特徴量を読み出し、前記特徴量を対象とするマッチング処理を、ビームサーチ法による仮説の枝刈りをしながら行うマッチング手段と、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに基づいて、前記マッチング処理を管理する管理手段と、前記枝刈りのビーム幅を複数の値それぞれに設定して、複数のデータ量の特徴量それぞれを対象とするマッチング処理を行った場合に、音声認識結果を得るのに必要な音声認識処理のリソースを測定することにより作成された、前記ビーム幅、前記特徴量の残量、及び、前記リソースを対応付けた管理テーブルを記憶するテーブル記憶手段とを備え、前記管理手段が、前記管理テーブルにおいて、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに対応付けられた前記ビーム幅で、枝刈りを行うように、前記マッチング処理を管理するステップを備える音声認識方法である。
【0057】
本発明の一側面においては、前記入力音声が音響分析され、その入力音声の特徴量が抽出されて、特徴量記憶手段に記憶される。前記特徴量記憶手段に記憶された前記特徴量は読み出され、前記特徴量を対象とするマッチング処理が、ビームサーチ法による仮説の枝刈りをしながら行われる。一方、音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに基づいて、前記マッチング処理の管理が行われる。すなわち、管理テーブルには、前記枝刈りのビーム幅を複数の値それぞれに設定して、複数のデータ量の特徴量それぞれを対象とするマッチング処理を行った場合に、音声認識結果を得るのに必要な音声認識処理のリソースを測定することにより作成された、前記ビーム幅、前記特徴量の残量、及び、前記リソースが対応付けられており、前記管理テーブルにおいて、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに対応付けられた前記ビーム幅で、枝刈りを行うように、前記マッチング処理の管理が行われる。
【0058】
【発明の実施の形態】
図3は、本発明を適用したペット型ロボットの外観構成の例を示す斜視図であり、図4は、その内部構成の例を示すブロック図である。
【0059】
図3の実施の形態において、ペット型ロボットは、四つ足の動物型のロボットとされており、大きくは、胴体部ユニット201、脚部ユニット202A,202B,202C,202D、頭部ユニット203、および尻尾部ユニット204から構成されている。
【0060】
胴体に相当する胴体部ユニット201の前後左右には、それぞれ、脚に相当する脚部ユニット202A,202B,202C,202Dが連結され、胴体部ユニット201の前端部と後端部には、それぞれ、頭部に相当する頭部ユニット203と尻尾に相当する尻尾部ユニット204が連結されている。
【0061】
胴体部ユニット201の上面には背中センサ201Aが設けられ、頭部ユニット203には、その上部に頭センサ203Aが、下部に顎センサ203Bがそれぞれ設けられている。なお、背中センサ201A、頭センサ203A、顎センサ203Bは、いずれも圧力センサで構成され、その部位に与えられる圧力を検知する。
【0062】
尻尾部ユニット204は、水平方向、および上下方向に揺動自在に引き出されている。
【0063】
図4に示すように、胴体部ユニット201には、コントローラ211、A/D変換部212、D/A変換部213、通信部214、半導体メモリ215、背中センサ201A等が格納されている。
【0064】
コントローラ211は、コントローラ211全体の動作を制御するCPU211Aと、CPU211Aが各部を制御するのに実行するOS(Operating System)、アプリケーションプログラム、その他の必要なデータ等が記憶されているメモリ211B等を内蔵している。
【0065】
A/D(Analog/Digital)変換部212は、マイク221、CCD222、背中センサ201A、頭センサ203A、顎センサ203Bが出力するアナログ信号をA/D変換することによりディジタル信号とし、コントローラ211に供給する。D/A(Digital/Analog)変換部213は、コントローラ211から供給されるディジタル信号をD/A変換することによりアナログ信号とし、スピーカ223に供給する。
【0066】
通信部214は、外部と無線または有線で通信するときの通信制御を行う。これにより、OSやアプリケーションプログラムがバージョンアップされたときに、通信部214を介して、そのバージョンアップされたOSやアプリケーションプログラムをダウンロードして、メモリ211Bに記憶させたり、また、所定のコマンドを、通信部214で受信し、CPU211Aに与えることができるようになっている。
【0067】
半導体メモリ215は、例えば、EEPROM(Electrically Erasable Programmable Read-only Memory)等で構成され、胴体部ユニット201に設けられた図示せぬスロットに対して、着脱可能になっている。半導体メモリ215には、例えば、後述するような感情モデル等が記憶される。
【0068】
背中センサ201Aは、胴体部ユニット201において、ペット型ロボットの背中に対応する部位に設けられており、そこに与えられるユーザからの圧力を検出し、その圧力に対応する圧力検出信号を、A/D変換部212を介してコントローラ211に出力する。
【0069】
なお、胴体部ユニット201には、その他、例えば、ペット型ロボットの動力源となるバッテリ(図示せず)や、そのバッテリ残量を検出する回路等も格納されている。
【0070】
頭部ユニット203においては、図4に示すように、外部からの刺激を感知するセンサとしての、音を感知する「耳」に相当するマイク221、光を感知する「目」に相当するCCD(Charge Coupled Device)222、並びにユーザが触れること等により与えられる圧力を感知する触覚に相当する頭センサ203A、および顎センサ203Bが、それぞれ対応する部位に設けられている。また、頭部ユニット203には、ペット型ロボットの「口」に相当するスピーカ223が、対応する部位に設置されている。
【0071】
脚部ユニット202A乃至202Dのそれぞれの関節部分、脚部ユニット202A乃至202Dのそれぞれと胴体部ユニット201の連結部分、頭部ユニット203と胴体部ユニット201の連結部分、並びに尻尾部ユニット204と胴体部ユニット201の連結部分などには、アクチュエータが設置されている。アクチュエータは、コントローラ211からの指示に基づいて各部を動作させる。即ち、アクチュエータによって、例えば、脚部ユニット202A乃至202Dが動き、これにより、ロボットが歩行する。
【0072】
頭部ユニット203に設置されているマイク221は、ユーザからの発話を含む周囲の音声(音)を集音し、得られた音声信号を、A/D変換部212を介してコントローラ211に出力する。CCD222は、周囲の状況を撮像し、得られた画像信号を、A/D変換部212を介してコントローラ211に出力する。頭部ユニット203の上部に設けられた頭センサ203Aや、頭部ユニット203の下部に設けられた顎センサ203Bは、例えば、ユーザからの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出し、その検出結果を圧力検出信号として、A/D変換部212を介してコントローラ211に出力する。
【0073】
コントローラ211は、マイク221、CCD222、背中センサ201A、頭センサ203A、および顎センサ203Bから、A/D変換部212を介して与えられる音声信号、画像信号、圧力検出信号に基づいて、周囲の状況や、ユーザからの指令、ユーザからの働きかけなどの有無を判断し、その判断結果に基づいて、ペット型ロボットが次にとる行動を決定する。そして、コントローラ211は、その決定に基づいて、必要なアクチュエータを駆動させ、これにより、頭部ユニット203を上下左右に振らせたり、尻尾部ユニット204を動かせたり、各脚部ユニット202A乃至202Dを駆動して、ペット型ロボットを歩行させるなどの行動をとらせる。
【0074】
さらに、コントローラ211は、必要に応じて、合成音を生成し、それをスピーカ223に供給して出力させたり、ペット型ロボットの「目」の位置に設けられた、図示しないLEDを点灯、消灯または点滅させる。
【0075】
以上のようにして、ペット型ロボットは、周囲の状況や、接してくるユーザに基づいて、自律的に行動をとるようになっている。
【0076】
次に、図5は、図4のコントローラ211の機能的構成例を示している。なお、図5に示す機能的構成は、CPU211Aが、メモリ211Bに記憶されたOSおよびアプリケーションプログラムを実行することで実現される。また、図5では、A/D変換部212およびD/A変換部213の図示を省略してある。
【0077】
コントローラ211のセンサ入力処理部241は、背中センサ201Aや、頭センサ203A、顎センサ203B、マイク221、CCD222等からそれぞれ与えられる圧力検出信号、音声信号、画像信号等に基づいて、特定の外部状態や、ユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報を、モデル記憶部242および行動決定機構部243に通知する。
【0078】
即ち、センサ入力処理部241は、圧力処理部241A、音声認識部241B、および画像処理部241Cを有している。
【0079】
圧力処理部241Aは、背中センサ201A、頭センサ203A、または顎センサ203Bから与えられる圧力検出信号を処理する。そして、圧力処理部241Aは、その処理の結果、所定の閾値以上で、かつ短時間の圧力を検出したときには、「叩かれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「なでられた(ほめられた)」と認識して、その認識結果を、状態認識情報として、モデル記憶部242および行動決定機構部243に通知する。
【0080】
音声認識部241Bは、マイク221から与えられる音声信号を対象とした音声認識を行う。そして、音声認識部241Bは、その音声認識結果としての、例えば、「歩け」、「伏せ」、「ボールを追いかけろ」等の指令その他を、状態認識情報として、モデル記憶部242および行動決定機構部243に通知する。
【0081】
画像処理部241Cは、CCD222から与えられる画像信号を用いて、画像認識処理を行う。そして、画像処理部241Cは、その処理の結果、例えば、「赤い丸いもの」や、「地面に対して垂直なかつ所定の高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を、状態認識情報として、モデル記憶部242および行動決定機構部243に通知する。
【0082】
モデル記憶部242は、ロボットの感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶し、管理している。
【0083】
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を、所定の範囲(例えば、−1.0乃至1.0等)の値によってそれぞれ表し、センサ入力処理部241からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0084】
本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部241からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0085】
成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を、所定の範囲の値によってそれぞれ表し、センサ入力処理部241からの状態認識情報や時間経過等に基づいて、その値を変化させる。
【0086】
モデル記憶部242は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部243に送出する。
【0087】
なお、モデル記憶部242には、センサ入力処理部241から状態認識情報が供給される他に、行動決定機構部243から、ペット型ロボットの現在または過去の行動、具体的には、例えば、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部242は、同一の状態認識情報が与えられても、行動情報が示すペット型ロボットの行動に応じて、異なる状態情報を生成するようになっている。
【0088】
例えば、ペット型ロボットが、ユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と、頭を撫でられたという状態認識情報とが、モデル記憶部242に与えられ、この場合、モデル記憶部242では、「うれしさ」を表す感情モデルの値が増加される。
【0089】
行動決定機構部243は、センサ入力処理部241からの状態認識情報や、モデル記憶部242からの状態情報、時間経過等に基づいて、次の行動を決定し、決定された行動の内容を、行動指令情報として、姿勢遷移機構部244に出力する。
【0090】
即ち、行動決定機構部243は、ペット型ロボットがとり得る行動をステート(状態)(state)に対応させた有限オートマトンを、ペット型ロボットの行動を規定する行動モデルとして管理している。そして、行動決定機構部243は、この行動モデルとしての有限オートマトンにおけるステートを、センサ入力処理部241からの状態認識情報や、モデル記憶部242における感情モデル、本能モデル、または成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を、次にとるべき行動として決定する。
【0091】
ここで、行動決定機構部243は、所定のトリガ(trigger)があったことを検出すると、ステートを遷移させる。即ち、行動決定機構部243は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部242から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下または以上になったとき等に、ステートを遷移させる。
【0092】
なお、行動決定機構部243は、上述したように、センサ入力処理部241からの状態認識情報だけでなく、モデル記憶部242における感情モデルや、本能モデル、成長モデルの値等にも基づいて、行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても、感情モデルや、本能モデル、成長モデルの値(状態情報)によっては、ステートの遷移先は異なるものとなる。
【0093】
その結果、行動決定機構部243は、例えば、状態情報が、「怒っていない」こと、および「お腹がすいていない」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「お手」という行動をとらせる行動指令情報を生成し、これを、姿勢遷移機構部244に送出する。
【0094】
また、行動決定機構部243は、例えば、状態情報が、「怒っていない」こと、および「お腹がすいている」ことを表している場合において、状態認識情報が、「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「手のひらをぺろぺろなめる」ような行動を行わせるための行動指令情報を生成し、これを、姿勢遷移機構部244に送出する。
【0095】
なお、行動決定機構部243には、モデル記憶部242から供給される状態情報が示す感情や、本能、成長の状態に基づいて、遷移先のステートに対応する行動のパラメータとしての、例えば、歩行の速度や、手足を動かす際の動きの大きさおよび速度などを決定させることができ、この場合、それらのパラメータを含む行動指令情報が、姿勢遷移機構部244に送出される。
【0096】
また、行動決定機構部243では、上述したように、ペット型ロボットの頭部や手足等を動作させる行動指令情報の他、ペット型ロボットに発話を行わせる行動指令情報も生成される。そして、ペット型ロボットに発話させる行動指令情報は、音声合成部246に供給されるようになっている。音声合成部246は、行動指令情報を受信すると、その行動指令情報にしたがって音声合成を行い、得られた合成音を、スピーカ223から出力させる。
【0097】
姿勢遷移機構部244は、行動決定機構部243から供給される行動指令情報に基づいて、ペット型ロボットの姿勢を、現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部245に送出する。
【0098】
ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体や手や足の形状、重さ、各部の結合状態のようなペット型ロボットの物理的形状と、関節が曲がる方向や角度のようなアクチュエータの機構とによって決定される。
【0099】
また、次の姿勢としては、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できない姿勢とがある。例えば、4本足のペット型ロボットは、手足を大きく投げ出して寝転んでいる状態から、伏せた状態へ直接遷移することはできるが、立った状態へ直接遷移することはできず、一旦、手足を胴体近くに引き寄せて伏せた姿勢になり、それから立ち上がるという2段階の動作が必要である。また、安全に実行できない姿勢も存在する。例えば、4本足のペット型ロボットは、その4本足で立っている姿勢から、両前足を挙げてバンザイをしようとすると、簡単に転倒してしまう。
【0100】
このため、姿勢遷移機構部244は、直接遷移可能な姿勢をあらかじめ登録しておき、行動決定機構部243から供給される行動指令情報が、直接遷移可能な姿勢を示す場合には、その行動指令情報を制御機構部245に送出する。
【0101】
一方、行動指令情報が、直接遷移不可能な姿勢を示す場合には、姿勢遷移機構部244は、遷移可能な他の姿勢に一旦遷移した後に、目的の姿勢まで遷移させるような姿勢遷移情報を生成し、制御機構部245に送出する。これによりロボットが、遷移不可能な姿勢を無理に実行しようとする事態や、転倒するような事態を回避することができるようになっている。
【0102】
制御機構部245は、姿勢遷移機構部244からの姿勢遷移情報にしたがって、アクチュエータを駆動するための制御信号を生成し、これを、各部のアクチュエータに送出する。
【0103】
次に、図6は、図5の音声認識部241Bの構成例を示している。なお、図中、図1の音声認識装置における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0104】
パフォーマンスコントローラ11は、音声認識部241Bで行われる音声認識処理に割り当て可能なリソースによって、A/D変換部212を介してマイク221から供給される音声データ(音声信号)の音声認識結果を、最大精度でかつリアルタイムで得られるように、マッチング部5によるマッチング処理を管理する。
【0105】
即ち、パフォーマンスコントローラ11は、OSから、音声認識処理に割り当てられたリソースを受信する一方、特徴ベクトルバッファ4および仮説スタック6を参照することにより、マッチング部5でマッチング処理の対象とすべき特徴量の残量を求め、これらの、音声認識処理に割り当てられたリソースと特徴量の残量に基づいて、マッチング処理を管理する。
【0106】
具体的には、パフォーマンスコントローラ11は、マッチング部5においてマッチング処理の一部として行われるビームサーチのビーム幅を狭くまたは広くする。あるいは、また、パフォーマンスコントローラ11は、セレクタ13乃至15を制御する。
【0107】
即ち、セレクタ13には、マッチング部5のマッチング処理で参照される音響モデルが記憶された複数であるI個の音響モデルデータベース171乃至17Iが接続されており、セレクタ13は、パフォーマンスコントローラ11の制御にしたがい、マッチング処理で参照される音響モデルデータベース17i(i=1,2,・・・,I)を選択する。
【0108】
ここで、音響モデルデータベース171乃至17Iには、いずれも、同一の音素や音節等についての音響モデル(例えば、HMMなど)が記憶されている。但し、ある音響モデルデータベース17iに記憶された音響モデルと、他の音響モデルデータベース17i に記憶された音響モデルとでは、スコア計算に必要な演算量(計算量)が異なるものとなっている。即ち、音響モデルデータベース17iには、少ない演算量でスコア計算が可能な音響モデルが記憶されており、他の音響モデルデータベース17i には、スコア計算に比較的多くの演算量が必要な音響モデルが記憶されている。
【0109】
なお、例えば、音響モデルとしてHMMを採用する場合には、高次元の特徴ベクトルを用いて学習を行えば、スコア計算に必要な演算量が多い音響モデル(HMM)を得ることができ、逆に、低次元の特徴ベクトルを用いて学習を行えば、スコア計算に必要な演算量が少ない音響モデルを得ることができる。また、HMMを定義する確率関数(出力確率を計算するのに用いられるガウス分布関数など)の数に差を設けることによっても、演算量が異なる音響モデル(HMM)を得ることができる。
【0110】
セレクタ13において、少ない演算量でスコア計算が可能な音響モデルが記憶された音響モデルデータベース17iが選択された場合には、マッチング部5では、そのような音響モデルを参照して、マッチング処理が行われることにより、短時間で、マッチング処理を終了することができる(高速なマッチング処理を行うことができる)。但し、この場合、音声認識精度は多少劣化することになる。
【0111】
一方、セレクタ13において、スコア計算に比較的多くの演算量が必要な音響モデルが記憶された音響モデルデータベース17i が選択された場合には、マッチング部5では、そのような音響モデルを参照して、マッチング処理が行われることにより、精度の高い音声認識結果が得られることになる。但し、この場合、マッチング処理には、多少多くの時間を要する(マッチング処理の速度が低下する)ことになる。
【0112】
なお、上述したように、特徴ベクトルの次元数によって演算量が異なる音響モデルを用いる場合には、マッチング部5のマッチング処理におけるスコア計算において、セレクタ13で選択された音響モデルデータベース17iに記憶された音響モデルに対応する次元数の特徴ベクトルを用いる必要があるが、これについては、マッチング部5が、スコア計算を行う際に、特徴ベクトルの高次のコンポーネントを無視することで対処するようになっている。
【0113】
即ち、例えば、いま、Nを所定の定数として、音響モデルデータベース17iに、N+i次元の特徴ベクトルを用いてスコア計算が行われる音響モデルが記憶されているとする。この場合、音響モデルデータベース17Iには、最高次数であるN+I次元の特徴ベクトルを用いてスコア計算が行われる音響モデルが記憶されていることになるが、特徴抽出部3は、そのN+I次元の特徴ベクトルを出力する。そして、マッチング部5は、音響モデルデータベース17iに記憶された音響モデルを参照する場合、特徴抽出部3が出力するN+I次元の特徴ベクトルのうちの、低次側のN+i個のコンポーネントだけを考慮して(高次側のI−i個のコンポーネントはないものとして)、スコア計算を行う。
【0114】
セレクタ14には、マッチング部5のマッチング処理で参照される単語辞書が記憶された複数であるJ個の辞書データベース181乃至18Jが接続されており、セレクタ14は、パフォーマンスコントローラ11の制御にしたがい、マッチング処理で参照される辞書データベース18j(j=1,2,・・・,J)を選択する。
【0115】
ここで、辞書データベース181乃至18Jそれぞれには、単語数の異なる単語辞書が記憶されている。即ち、例えば、辞書データベース181に、M個の単語が登録された単語辞書が記憶されているとした場合に、辞書データベース18jには、そのM個の単語に、他のf(j)個の単語を加えた単語辞書が記憶されている。なお、関数f(j)は単調増加関数である。
【0116】
従って、j<j’とすると、辞書データベース18jに記憶された単語辞書の単語数は、辞書データベース18j に記憶された単語辞書の単語数よりも少ないから、セレクタ14において、辞書データベース18jが選択された場合には、マッチング部5では、少ない数の単語を対象に、マッチング処理が行われることにより、短時間で、マッチング処理を終了することができる(高速なマッチング処理を行うことができる)。但し、この場合、音声認識精度は多少劣化することになる。
【0117】
一方、セレクタ14において、辞書データベース18j が選択された場合には、マッチング部5では、多くの数の単語を対象に、マッチング処理が行われることにより、精度の高い音声認識結果が得られることになる。但し、この場合、マッチング処理には、多少多くの時間を要することになる。
【0118】
なお、例えば、辞書データベース18j+1は、辞書データベース18jに記憶されている単語を、少なくとも記憶しているものとする。
【0119】
セレクタ15には、マッチング部5のマッチング処理で参照される文法規則(言語モデル)が記憶された複数であるK個の文法データベース191乃至19Kが接続されており、セレクタ15は、パフォーマンスコントローラ11の制御にしたがい、マッチング処理で参照される文法データベース19j(k=1,2,・・・,K)を選択する。
【0120】
ここで、文法データベース19kには、例えば、kグラムの単語連鎖確率が記憶されている。従って、k<k’とすると、セレクタ15において、文法データベース19kが選択された場合と、文法データベース19k が選択された場合とでは、一般的には、文法データベース19k が選択された場合の方が、音声認識精度は向上するが、マッチング処理には時間を要することとなる。但し、文法規則については、採用する文法規則にもよるが、一般には、音響モデルや単語辞書における場合に比較して、マッチング処理に要する時間に、それほど大きな差は生じない。
【0121】
ルックアップテーブル記憶部12は、音声認識処理に割り当て可能なリソースによって、音声認識結果を、最大精度でかつリアルタイムで得られるように、マッチング処理を管理するための管理情報と、音声認識処理に割り当てられるリソース、およびマッチング処理に用いる特徴ベクトルの残量とを対応付けた管理情報テーブルを記憶している。
【0122】
即ち、管理テーブルにおける管理情報は、ビームサーチのビーム幅、セレクタ13に選択させる音響モデルデータベース17i、セレクタ14に選択させる辞書データベース18j、およびセレクタ15に選択させる文法データベース19kを含んでいる。
【0123】
そして、管理テーブルでは、音声認識処理にリソースRが割り当てられた場合に、そのリソースRによって、音声認識結果を、最大精度でかつリアルタイムで得られるように、あるデータ量Sの特徴ベクトルを対象としたマッチング処理を行うのに用いるべき管理情報としてのビーム幅、音響モデルデータベース17i、辞書データベース18j、および文法データベース19kが、そのリソースRおよびデータ量Rに対応付けられている。
【0124】
従って、管理テーブルによれば、音声認識処理に割り当てられたリソースRと、マッチング処理する特徴ベクトルのデータ量Sが与えられると、そのリソースRによって、音声認識結果を、最大精度でかつリアルタイムで得られるように、マッチング処理を行うことのできるビーム幅、音響モデルデータベース17i、辞書データベース18j、および文法データベース19kが得られることになる。
【0125】
ここで、管理テーブルは、あらかじめ作成され、ルックアップテーブル記憶部12に記憶される。管理テーブルは、例えば、次のようにして作成することができる。即ち、管理テーブルは、例えば、音響モデルデータベース171乃至17Iそれぞれに記憶された音響モデル、辞書データベース181乃至18Jそれぞれに記憶された単語辞書、文法データベース191乃至19Kそれぞれに記憶された文法規則のすべての組み合わせそれぞれを用い、ビーム幅を各種の値に設定して、各種のデータ量の特徴ベクトル(系列)を対象としたマッチング処理を行い、そのような複数の条件下でのマッチング処理それぞれによって、音声認識結果をリアルタイムで得るのに必要な音声認識処理のリソースを測定することにより作成することが可能である。
【0126】
以上のように構成される音声認識部241Bでは、そこに入力される音声データが、基本的には、図1の音声認識装置における場合と同様に音声認識処理され、その音声認識結果が出力される。
【0127】
即ち、特徴抽出部3は、そこに供給される、ある音声区間の音声データについて、所定のフレームごとに音響分析を行い、特徴ベクトルを抽出する。特徴抽出部3においてフレームごとに得られる特徴ベクトルは、特徴ベクトルバッファ4に順次供給されて記憶される。
【0128】
特徴ベクトルバッファ4において、ある音声区間の特徴ベクトル系列の記憶が開始されると、マッチング部5は、特徴ベクトルバッファ4に記憶された特徴ベクトルを用い、セレクタ13で選択されている音響モデルデータベース17i、セレクタ14で選択されている辞書データベース18j、およびセレクタ15で選択されている文法データベース19kを必要に応じて参照し、例えば、連続分布HMM法等に基づくスコアを、ビームサーチ法により仮説の枝刈りをしながら計算するマッチング処理を行う。
【0129】
即ち、マッチング部5は、まず、セレクタ14が選択している辞書データベース18jに記憶されている単語辞書の単語について、特徴ベクトルバッファ4に記憶された時刻0から任意の時刻までの特徴ベクトル系列を用い、セレクタ13が選択している音響モデルデータベース17iに記憶されている音響モデル、およびセレクタ15が選択している文法データベース19kに記憶されている文法規則を参照することで、HMM法に基づくスコアを計算する。さらに、マッチング部5は、例えば、スコアが所定の閾値以上の単語を、最初の仮説として、その単語のスコア計算に用いた特徴ベクトル系列の終点の時刻とともに、仮説スタック6に供給して記憶させる。なお、スコア計算に用いられた特徴ベクトル系列の終点の時刻は、対応する仮説の終点の時刻として扱われる。
【0130】
その後、マッチング部5は、仮説スタック6に記憶された仮説のうち、例えば、その終点の時刻が最も先行するもの(終点の時刻が最も過去の仮説)を、注目仮説として、その注目仮説の終点の時刻から任意の時刻までの特徴ベクトルバッファ4に記憶された特徴ベクトル系列を用い、上述した場合と同様に、セレクタ14が選択している辞書データベース18jに記憶されている単語辞書の単語について、スコアを計算する。そして、マッチング部5は、例えば、スコアが所定の閾値以上の単語を、注目仮説の後段に接続する単語(以下、接続単語という)として決定し、その接続単語を、仮説スタック6における注目仮説に続けて記憶させることにより、新たな仮説を生成する。さらに、マッチング部5は、仮説スタック6における新たな仮説に対応付けて、その新たな仮説における接続単語のスコア計算に用いた特徴ベクトル系列の終点の時刻を記憶させる。
【0131】
また、マッチング部5は、仮説スタック6に記憶された各仮説のスコアを、その仮説を構成する単語のスコア等に基づいて計算し、仮説スタック6の対応する仮説に対応付けて記憶させる。さらに、マッチング部5は、各仮説のスコアに基づいて、ビームサーチ法による仮説の枝刈りを行う。即ち、これにより、仮説スタック6に記憶された仮説の中で、最終的な音声認識結果を構成する可能性が低いものは削除される。
【0132】
なお、マッチング部5において、仮説の枝刈りは、パフォーマンスコントローラ11によって設定されたビーム幅を用いて、前述したように行われる。
【0133】
マッチング部5は、以上のような仮説の生成(拡張)と枝刈りを、仮説スタック6に記憶されているすべての仮説の終点が、音声認識の対象としている発話の音声区間の終点に一致するまで行う。
【0134】
そして、仮説スタック6に記憶されているすべての仮説の終点が、音声認識の対象としている発話の音声区間の終点に一致すると、マッチング部5は、仮説スタック6に記憶されている仮説のうち、例えば、そのスコアが最も高いものを、音声認識結果として選択して出力する。
【0135】
次に、図7のフローチャートを参照して、パフォーマンスコントローラ11が行う、マッチング部5のマッチング処理を管理する管理処理について説明する。
【0136】
管理処理では、まず最初に、ステップS1において、パフォーマンスコントローラ11は、CPU211A(図4)が音声認識処理に割り当て可能なリソースとしての、例えば、単位時間(例えば、1秒など)あたりの演算量CNUMを求める。
【0137】
即ち、パフォーマンスコントローラ11は、OSにアクセスし、例えば、音声認識処理に対して、単位時間あたり、CPU211Aの処理時間の何%を割り当てることができるかを認識する。
【0138】
そして、例えば、いま、音声認識処理に対して、単位時間あたり、CPU211Aの処理時間のx%の割り当てが可能であるとすると、パフォーマンスコントローラ11は、CPU211Aの単位時間あたりの演算量(例えば、MIPS(Million Instructions Per Second)値など)yに対して、x/100%を乗算することにより、CPU211Aが音声認識処理に割り当て可能な単位時間あたりの演算量CNUMを求める。
【0139】
その後、ステップS2に進み、パフォーマンスコントローラ11は、リアルタイムで音声認識結果を出力するために処理すべき特徴ベクトルの残量に相当する値として、特徴抽出部3の処理に対するマッチング部5のマッチング処理の遅れ時間TLAGを求める。
【0140】
即ち、パフォーマンスコントローラ11は、特徴ベクトルバッファ4を参照することにより、時間的に最も後行する特徴ベクトルの時刻(最も新しい特徴ベクトルの時刻)TVを求める。さらに、パフォーマンスコントローラ11は、仮説スタック6を参照することにより、時間的に最も先行する仮説の終端の時刻(最も古い終端を有する仮説の、その終端の時刻)THを求める。
【0141】
そして、パフォーマンスコントローラ11は、最も新しい特徴ベクトルの時刻TVから、最も古い仮説の終端の時刻THを減算することにより、遅れ時間TLAGを求める。
【0142】
ここで、ステップS1で求められる、音声認識処理に割り当て可能な単位時間あたりの演算量CNUMが、上述した管理テーブルにおけるリソースRに対応する。また、ステップS2で求められる遅れ時間TLAGが、上述した管理テーブルにおける特徴ベクトルのデータ量Sに対応する。
【0143】
ステップS2の処理後は、ステップS3に進み、パフォーマンスコントローラ11は、ルックアップテーブル記憶部12に記憶された管理テーブルを参照することにより、その管理テーブルにおいて、演算量CNUMおよび遅れ時間TLAGの組に対応付けられている管理情報を読み出し、その管理情報にしたがい、マッチング処理でのビームサーチに用いるビーム幅、並びにマッチング処理で参照する音響モデルデータベース17i、辞書データベース18j、および文法データベース19kを決定する。
【0144】
そして、ステップS4に進み、パフォーマンスコントローラ11は、ステップS3における決定にしたがい、マッチング部5並びにセレクタ13乃至15を制御し、管理処理を終了する。
【0145】
即ち、これにより、マッチング部5におけるマッチング処理でのビームサーチでは、ステップS3で決定されたビーム幅が用いられる。また、マッチング部5におけるマッチング処理でのスコア計算は、ステップS3で決定された音響モデルデータベース17i、辞書データベース18j、および文法データベース19kを参照して行われる。
【0146】
上述したように、管理テーブルは、音響モデルデータベース171乃至17Iそれぞれに記憶された音響モデル、辞書データベース181乃至18Jそれぞれに記憶された単語辞書、文法データベース191乃至19Kそれぞれに記憶された文法規則のすべての組み合わせそれぞれを用い、ビーム幅を各種の値に設定して、各種のデータ量の特徴ベクトル(系列)を対象としたマッチング処理を行い、そのような複数の条件下でのマッチング処理それぞれによって、音声認識結果をリアルタイムで得るのに必要な音声認識処理のリソースを測定することにより作成されたものであるから、図7の管理処理において、そのような管理テーブルに基づき、ビーム幅、並びに音響モデルデータベース17i、辞書データベース18j、および文法データベース19kが決定されることにより、現在、音声認識処理に割り当て可能なリソースによって、音声認識結果を、最大精度でかつリアルタイムで得ることができる音声認識処理が行われることになる。
【0147】
即ち、CPU211Aの処理時間(リリース)が余っている場合には、より演算量の要するマッチング処理が行われ、これにより、より精度の高い音声認識結果を、リアルタイムで得ることができる。一方、CPU211Aの処理時間が足りない場合には、より演算量の少ないマッチング処理が行われ、これにより、音声認識精度は多少劣化するかもしれないが、やはり、音声認識結果を、リアルタイムで得ることができる。従って、リソースを有効に利用した音声認識処理を行うことができる。
【0148】
なお、図3のペット型ロボットにおいて、音声認識処理に割り当て可能なリソースは、時々刻々と変化することから、図7の管理処理は、基本的には、周期的に行われ、これにより、マッチング処理に用いられるビーム幅、並びに音響モデルデータベース17i、辞書データベース18j、および文法データベース19kも、音声認識処理に割り当て可能なリソースと、処理しなければならない特徴ベクトルのデータ量に応じて、周期的に変更される。
【0149】
また、上述した一連の音声認識処理(管理処理を含む)は、例えば、汎用のコンピュータに行わせることができ、この場合、一連の音声認識処理を行うプログラムが、汎用のコンピュータにインストールされる。
【0150】
さらに、この場合、プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。
【0151】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0152】
さらに、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスクにインストールすることができる。
【0153】
なお、本明細書において、コンピュータ(CPU)に各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
【0154】
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【0155】
さらに、本実施の形態では、セレクタ13が選択する音響モデルデータベース17iによって、マッチング部5でのスコア計算に用いる特徴ベクトルの高次のコンポーネントを無視するようにしたが、その他、例えば、セレクタ13が選択する音響モデルデータベース17iに基づき、特徴抽出部3で求められる特徴ベクトルの次元数を、音響モデルデータベース17iに記憶された音響モデルに対応するように制御することも可能である。
【0156】
さらに、マッチング部5で用いられるビーム幅は、仮説スタック6の空き容量等にも基づいて決定するようにすることが可能である。
【0157】
また、本発明は、HMM法以外のアルゴリズムによる音声認識にも適用可能である。さらに、本発明は、ビームサーチ法を用いない音声認識にも適用可能である。
【0158】
さらに、本実施の形態では、管理テーブルにおいて、演算量CNUMおよび遅れ時間TLAGの組に、管理情報を対応付けておき、その管理テーブルを参照することにより管理情報を得るようにしたが、その他、例えば、演算量CNUMおよび遅れ時間TLAGを引数として、管理情報を求める関数を用意しておき、その関数を用いて、管理情報を得るようにすることも可能である。
【0159】
【発明の効果】
本発明の一側面によれば、リアルタイムでの音声認識を、リソースを有効に利用して行うことが可能となる。
【図面の簡単な説明】
【図1】従来の音声認識装置の一例の構成を示すブロック図である。
【図2】ビームサーチ法を説明するための図である。
【図3】本発明を適用したペット型ロボットの外観構成例を示す斜視図である。
【図4】ペット型ロボットのハードウェア構成例を示すブロック図である。
【図5】コントローラ211の機能的構成例を示すブロック図である。
【図6】音声認識部241Bの機能的構成例を示すブロック図である。
【図7】パフォーマンスコントローラ11による管理処理を説明するフローチャートである。
【符号の説明】
3 特徴抽出部, 4 特徴ベクトルバッファ, 5 マッチング部, 6 仮説スタック, 11 パフォーマンスコントローラ, 12 ルックアップテーブル, 13乃至15 セレクタ, 171乃至17I 音響モデルデータベース, 181乃至18J 辞書データベース, 191乃至19K 文法データベース, 201 胴体部ユニット, 201A 背中センサ, 202A乃至202D 脚部ユニット, 203 頭部ユニット, 203A 頭センサ, 203B 顎センサ, 204 尻尾部ユニット, 211 コントローラ, 211A CPU, 211B メモリ, 212 A/D変換部, 213 D/A変換部, 214 通信部, 215 半導体メモリ, 221 マイク, 222 CCD, 223 スピーカ, 241 センサ入力処理部, 241A 圧力処理部, 241B 音声認識部, 241C 画像処理部, 242モデル記憶部, 243 行動決定機構部, 244 姿勢遷移機構部, 245 制御機構部, 246 音声合成部

Claims (7)

  1. 入力音声を音声認識する音声認識処理を行う音声認識装置であって、
    前記入力音声を音響分析し、その入力音声の特徴量を抽出する分析手段と、
    前記分析手段が出力する特徴量を記憶する特徴量記憶手段と、
    前記特徴量記憶手段から前記特徴量を読み出し、前記特徴量を対象とするマッチング処理を、ビームサーチ法による仮説の枝刈りをしながら行うマッチング手段と、
    前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに基づいて、前記ッチング処理を管理する管理手段と
    前記枝刈りのビーム幅を複数の値それぞれに設定して、複数のデータ量の特徴量それぞれを対象とするマッチング処理を行った場合に、音声認識結果を得るのに必要な音声認識処理のリソースを測定することにより作成された、前記ビーム幅、前記特徴量の残量、及び、前記リソースを対応付けた管理テーブルを記憶するテーブル記憶手段と
    を備え
    前記管理手段は、前記管理テーブルにおいて、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに対応付けられた前記ビーム幅で、枝刈りを行うように、前記マッチング処理を管理する
    音声認識装置。
  2. 前記マッチング手段は、
    前記入力音声の音声認識結果の候補となる仮説を生成し、
    前記仮説の音声認識結果としての尤度を、前記特徴量を用いて計算し、
    前記尤度が最も高い仮説を、前記音声認識結果として出力する
    処理を、前記マッチング処理として行い
    前記仮説を記憶する仮説記憶手段をさらに備え
    前記管理手段は、前記特徴量記憶手段に記憶された時間的に最も後行する前記特徴量の時刻と、前記仮説記憶手段に記憶された時間的に最も先行する仮説の終端の時刻との差を求め、その差を、前記マッチング処理に用いる特徴量の残量として用いて、前記マッチング処理を管理する
    請求項1に記載の音声認識装置。
  3. 前記管理テーブルは、前記入力音声の音声認識結果の候補となる仮説の尤度演算の演算量が異なる複数の音響モデルそれぞれを用い、前記枝刈りのビーム幅を複数の値それぞれに設定して、複数のデータ量の特徴量それぞれを対象とするマッチング処理を行った場合に、音声認識結果を得るのに必要な音声認識処理のリソースを測定することにより作成された、前記音響モデル、前記ビーム幅、前記特徴量の残量、及び、前記リソースを対応付けたテーブルであり、
    前記管理手段は、前記管理テーブルにおいて、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに対応付けられた前記音響モデルを用いるように、前記マッチング処理を管理する
    求項1に記載の音声認識装置。
  4. 前記管理テーブルは、前記入力音声の音声認識結果の候補となる仮説を構成する単語が登録されている、異なる単語数の複数の単語辞書それぞれを用い、前記枝刈りのビーム幅を複数の値それぞれに設定して、複数のデータ量の特徴量それぞれを対象とするマッチング処理を行った場合に、音声認識結果を得るのに必要な音声認識処理のリソースを測定することにより作成された、前記単語辞書、前記ビーム幅、前記特徴量の残量、及び、前記リソースを対応付けたテーブルであり、
    前記管理手段は、前記管理テーブルにおいて、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに対応付けられた前記単語辞書を用いるように、前記マッチング処理を管理する
    求項1に記載の音声認識装置。
  5. 入力音声を音声認識する音声認識処理を行う音声認識装置の音声認識方法であって、
    前記音声認識装置は、
    前記入力音声を音響分析し、その入力音声の特徴量を抽出する分析手段と、
    前記分析手段が出力する特徴量を記憶する特徴量記憶手段と、
    前記特徴量記憶手段から前記特徴量を読み出し、前記特徴量を対象とするマッチング処理を、ビームサーチ法による仮説の枝刈りをしながら行うマッチング手段と、
    前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに基づいて、前記ッチング処理を管理する管理手段
    前記枝刈りのビーム幅を複数の値それぞれに設定して、複数のデータ量の特徴量それぞれを対象とするマッチング処理を行った場合に、音声認識結果を得るのに必要な音声認識処理のリソースを測定することにより作成された、前記ビーム幅、前記特徴量の残量、及び、前記リソースを対応付けた管理テーブルを記憶するテーブル記憶手段と
    を備え、
    前記管理手段が、前記管理テーブルにおいて、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに対応付けられた前記ビーム幅で、枝刈りを行うように、前記マッチング処理を管理するステップを備える
    音声認識方法。
  6. 入力音声を音声認識する音声認識処理を、コンピュータに行わせるプログラムであって、
    前記入力音声を音響分析し、その入力音声の特徴量を抽出する分析手段と、
    前記分析手段が出力する特徴量を記憶する特徴量記憶手段と、
    前記特徴量記憶手段から前記特徴量を読み出し、前記特徴量を対象とするマッチング処理を、ビームサーチ法による仮説の枝刈りをしながら行うマッチング手段と、
    前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに基づいて、前記ッチング処理を管理する管理手段
    前記枝刈りのビーム幅を複数の値それぞれに設定して、複数のデータ量の特徴量それぞれを対象とするマッチング処理を行った場合に、音声認識結果を得るのに必要な音声認識処理のリソースを測定することにより作成された、前記ビーム幅、前記特徴量の残量、及び、前記リソースを対応付けた管理テーブルを記憶するテーブル記憶手段と
    として、コンピュータを機能させるためのプログラムであり、
    前記管理手段は、前記管理テーブルにおいて、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに対応付けられた前記ビーム幅で、枝刈りを行うように、前記マッチング処理を管理する
    プログラム。
  7. 入力音声を音声認識する音声認識処理を、コンピュータに行わせるプログラムが記録されている記録媒体であって、
    前記入力音声を音響分析し、その入力音声の特徴量を抽出する分析手段と、
    前記分析手段が出力する特徴量を記憶する特徴量記憶手段と、
    前記特徴量記憶手段から前記特徴量を読み出し、前記特徴量を対象とするマッチング処理を、ビームサーチ法による仮説の枝刈りをしながら行うマッチング手段と、
    前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに基づいて、前記ッチング処理を管理する管理手段
    前記枝刈りのビーム幅を複数の値それぞれに設定して、複数のデータ量の特徴量それぞれを対象とするマッチング処理を行った場合に、音声認識結果を得るのに必要な音声認識処理のリソースを測定することにより作成された、前記ビーム幅、前記特徴量の残量、及び、前記リソースを対応付けた管理テーブルを記憶するテーブル記憶手段と
    として、コンピュータを機能させるためのプログラムであり、
    前記管理手段は、前記管理テーブルにおいて、前記音声認識処理に割り当てられたリソースと前記特徴量記憶手段に記憶された前記特徴量の残量とに対応付けられた前記ビーム幅で、枝刈りを行うように、前記マッチング処理を管理する
    プログラムが記録されている録媒体。
JP2001174634A 2001-06-08 2001-06-08 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体 Expired - Fee Related JP4639533B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001174634A JP4639533B2 (ja) 2001-06-08 2001-06-08 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001174634A JP4639533B2 (ja) 2001-06-08 2001-06-08 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2002366188A JP2002366188A (ja) 2002-12-20
JP4639533B2 true JP4639533B2 (ja) 2011-02-23

Family

ID=19015893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001174634A Expired - Fee Related JP4639533B2 (ja) 2001-06-08 2001-06-08 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP4639533B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6568813B2 (ja) * 2016-02-23 2019-08-28 Nttテクノクロス株式会社 情報処理装置、音声認識方法及びプログラム
KR101863097B1 (ko) * 2016-11-18 2018-05-31 주식회사 인텔로이드 키워드 인식 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2980420B2 (ja) * 1991-07-26 1999-11-22 富士通株式会社 動的計画法照合装置
JP3311467B2 (ja) * 1994-03-10 2002-08-05 富士通株式会社 音声認識システム
JPH09127981A (ja) * 1995-10-31 1997-05-16 Toshiba Corp 音声認識装置及び方法
GB9602700D0 (en) * 1996-02-09 1996-04-10 Canon Kk Pattern matching method and apparatus

Also Published As

Publication number Publication date
JP2002366188A (ja) 2002-12-20

Similar Documents

Publication Publication Date Title
US7228276B2 (en) Sound processing registering a word in a dictionary
JP4296714B2 (ja) ロボット制御装置およびロボット制御方法、記録媒体、並びにプログラム
US7065490B1 (en) Voice processing method based on the emotion and instinct states of a robot
US20030163320A1 (en) Voice synthesis device
JP2002366187A (ja) 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体
EP1701338B1 (en) Speech recognition method
JP4322785B2 (ja) 音声認識装置、音声認識方法および音声認識プログラム
JP2001188555A (ja) 情報処理装置および方法、並びに記録媒体
JP2004198831A (ja) 音声認識装置および方法、プログラム、並びに記録媒体
JP2001154685A (ja) 音声認識装置および音声認識方法、並びに記録媒体
US7233900B2 (en) Word sequence output device
JP2002116792A (ja) ロボット制御装置およびロボット制御方法、並びに記録媒体
JP4639533B2 (ja) 音声認識装置および音声認識方法、並びにプログラムおよび記録媒体
JP4600736B2 (ja) ロボット制御装置および方法、記録媒体、並びにプログラム
JP4587009B2 (ja) ロボット制御装置およびロボット制御方法、並びに記録媒体
JP4706893B2 (ja) 音声認識装置および方法、並びに、プログラムおよび記録媒体
JP2001154693A (ja) ロボット制御装置およびロボット制御方法、並びに記録媒体
JP2002268663A (ja) 音声合成装置および音声合成方法、並びにプログラムおよび記録媒体
JP2004170756A (ja) ロボット制御装置および方法、記録媒体、並びにプログラム
JP2004286805A (ja) 話者識別装置および話者識別方法、並びにプログラム
JP2002258886A (ja) 音声合成装置および音声合成方法、並びにプログラムおよび記録媒体
JP4656354B2 (ja) 音声処理装置および音声処理方法、並びに記録媒体
JP4178777B2 (ja) ロボット装置、記録媒体、並びにプログラム
JP2001188783A (ja) 情報処理装置および方法、並びに記録媒体
JP4742415B2 (ja) ロボット制御装置およびロボット制御方法、並びに記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100908

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101102

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees