(58)【調査した分野】(Int.Cl.,DB名)
前記筐体の動きが所定量以上と判定された場合には、前記文字認識手段で認識された複数の候補文字の中から、前記候補文字に対して算出された類似度が前記第1閾値よりも低い第2閾値以上の候補文字を処理対象として選択すると共に、前記選択された候補文字の組合せで単語辞書を検索し、検索結果に基づいた候補文字列を出力する、請求項3に記載の電子機器。
前記文字認識手段は、前記筐体の動きの程度に応じて、認識された複数の候補文字の中から処理対象となる候補文字を選択するための第1閾値を可変する、請求項3に記載の電子機器。
前記文字認識手段は、前記筐体の動きの程度に応じて、認識された複数の候補文字の中から処理対象となる候補文字を選択するための第2閾値を可変する、請求項4に記載の電子機器。
【発明を実施するための形態】
【0013】
以下、図面を参照して、一実施形態に係る電子機器について説明する。以下の実施形態の構成は例示であり、電子機器は実施形態の構成には限定されない。
【0014】
以下、
図1から
図7の図面に基づいて、電子機器を説明する。
<実施例>
図1に、本実施形態の情報処理装置(以下、電子機器とも称す)のハードウェアの構成を例示する。本実施形態の情報処理装置10は、例えば、LCD(Liquid Crystal Display)等の表示デバイスのデバイス面に、ユーザ操作による接触位置の座標を検出するデバイスを組合せたタッチパネル等の入力デバイスを備える情報処理装置である。
【0015】
情報処理装置10には、PC(PC:Personal Computer)、携帯電話、スマートフォ
ン、ノートPC、タブレットPC、PDA(Personal Data Assistance)、ナビゲーション装置等の情報処理装置が含まれる。但し、情報処理装置10は、タッチパネル等の入力デバイスを介し、手書き文字入力機能を備える情報処理装置であれば、例えば、ゲーム機等であってもよい。
【0016】
図1に例示の情報処理装置10は、出力部15にLCD15a等の表示デバイスを備える。また、情報処理装置10は、入力部14にタッチセンサ14a等の表示デバイスのデバイス面に対する接触位置の座標を検出するデバイスを備える。タッチセンサ14aは、例えば、LCD15a等の表示デバイスと組合せることで、表示デバイス表面への操作者(以下、ユーザとも称す)のタッチ操作による接触位置の座標を検出し、タッチパネルといったポインティングデバイスとして機能する。
【0017】
タッチパネル等を備える情報処理装置10では、例えば、タッチパネル等に接触させた操作指、操作ペン等を移動させ、接触位置の時系列の軌跡(以下、筆跡とも称す)に基づく手書き文字入力が可能である。手書き文字入力は、例えば、情報処理装置10に搭載された、手書き文字入力を可能とするアプリケーションソフトウェア(Application software、以下“アプリ”とも称す)を起動することにより機能させることができる。
【0018】
手書き文字入力を可能とするアプリを起動させた情報処理装置10では、例えば、タッチセンサ14aを介して取得した接触位置の時系列の軌跡を表示デバイスのデバイス面に表示する。さらに、情報処理装置10は、該軌跡を手書き文字の座標データとして認識し、認識した座標データを文字コードとして読取ることができる。
【0019】
情報処理装置10は、例えば、タッチセンサ14aを介して取得した接触位置の時系列の軌跡と、補助記憶部13に格納された文字認識辞書DB201とを参照し、入力された座標データに対応する文字コードの候補文字群を特定する。入力された座標データに対応する文字コードの候補文字群では、例えば、文字認識辞書DB201に登録された文字コードに対して定義された文字形状データとの合致の度合いを示す類似度(確からしさ)により、候補文字間での順位付けが行われる。
【0020】
そして、情報処理装置10は、さらに、入力された個々の手書き文字に対する候補文字群のそれぞれを組合せた文字列に対し、例えば、単語辞書DB202を参照し、単語・文節レベルでの言語処理を後処理として実行する。
【0021】
情報処理装置10は、例えば、入力された文字列について、個々の手書き文字で認識された候補文字群の候補順位に対して入れ替えを行い、文字列として組合せを生成する。そして、情報処理装置10は、例えば、単語辞書DB202を参照し、生成された文字列と単語辞書DB202に登録された登録単語とのマッチングを行う。情報処理装置10は、例えば、単語辞書DB202に、生成された文字列に一致する登録単語が存在する場合に
は、登録単語に基づいて、個々の手書き文字に対する候補文字群の候補順位の入れ替えを行う。
【0022】
また、例えば、情報処理装置10は、文字列の一部が単語辞書DB202に登録された名詞である単語とマッチングする場合には、単語の次の文字について、助詞となる候補単語を優先的にマッチングさせる等の日本語文法に沿ったルールを適用し実行する。情報処理装置10では、例えば、個々の手書き文字入力に対する候補文字群を含めた、単語・文節レベルでの言語処理を後処理として実行することで、文字・文字列の認識精度が向上できる。
【0023】
情報処理装置10のLCD15a等の表示画面上には、例えば、手書き入力された文字列について、個々の手書き文字についての候補文字群を含め、単語・文節レベルでの言語処理を後処理として実行した結果に基づいて認識された文字列が表示される。
【0024】
なお、以下の説明において、単語・文節レベルでの言語処理に基づく、個々の手書き入力文字についての候補順位の入替処理を“文字認識後処理”と定義する。情報処理装置10は、例えば、文字認識辞書201を参照して文字認識された個々の手書き入力文字についての候補文字群と、単語辞書DB202に登録された単語等に基づいて、候補文字群の候補順位の入れ替える“文字認識後処理”を実行する。
【0025】
また、
図1に例示の、本実施形態の情報処理装置10は、例えば、加速度センサ14bといった、手書き文字の入力に係る情報処理装置10の操作環境状態を検出するセンサを備える。加速度センサ14bは、例えば、情報処理装置10の上下左右前後方向の動揺を加速度値の変化として検出する。情報処理装置10は、例えば、加速度センサ14bを介して検出された加速度値の変化に基づいて、手書き文字の入力に係る情報処理装置10の力環境が安定しているか不安定であるかを特定する。
【0026】
但し、情報処理装置10の手書き文字の入力に係る環境状態を検出するセンサは、加速度センサ14bに限定されない。例えば、情報処理装置10の重力方向を検出する重力センサ、情報処理装置10の上下左右前後方向の回転を検出するジャイロセンサ等であってもよい。
【0027】
図2A、2Bに本実施形態の情報処理装置10における、手書き文字入力における文字認識処理についての説明図を例示する。
図2A、2Bは、手書き文字入力の際の、LCD15a等に表示される表示画面例である。情報処理装置10は、例えば、手書き文字入力を可能とするアプリの起動操作を検知し、
図2A、2Bに例示する手書き文字の入力画面をLCD15a等に表示する。例えば、情報処理装置10は、手書き文字の入力枠A1、入力された文字列を確定するための操作部品である確定ボタンA2、入力された文字を削除するための操作部品である削除ボタンA3を、手書き文字入力を促す初期画面として表示する。
【0028】
なお、
図2A、2Bは、3個の手書き入力文字を連続して入力可能とする表示画面例であり、手書き文字の入力枠A1の領域は、さらに、文字枠A1a,A1b,A1cに区分けされている。文字枠A1a−A1cに入力された手書き文字は、例えば、個々の手書き文字を組合せた3文字の文字列として認識される。個々の手書き文字から認識された文字列は、例えば、表示画面上の左上の表示領域A4に表示される。なお、各文字枠には、例えば、左端側の文字枠A1aから右端側の文字枠A1cに向かって、順に、3個の手書き文字が連続して入力される。
【0029】
図2Aに例示の表示画面例は、例えば、椅子等に着座したユーザが、情報処理装置10
のタッチパネル面が上下左右前後方向に揺れずに安定した入力環境で、“あ”、“し”、“た”といった、3個の仮名文字による手書き文字入力を行った場合の例である。椅子等に着座して手書き入力を行う場合には、文字入力を行うタッチパネル面は、例えば、一定の傾きに保持された状態となる。
【0030】
タッチパネル面が安定した状態では、ユーザは、例えば、タッチパネル面に接触させた操作指等を上下左右前後方向の動揺の影響を受けずに移動することができる。このため、LCD15a等に表示された文字枠A1内で検出される接触位置の時系列上の移動軌跡は、ユーザが意図する入力文字に応じた安定した字形となる。
図2Aに例示のように、例えば、文字枠A1a内には3画の仮名文字である“あ”、文字枠A1b内には1画の仮名文字である“し”、文字枠A1c内には4画の仮名文字である“た”が安定した字形で入力される。
【0031】
情報処理装置10は、例えば、それぞれの文字枠の領域内において、接触された操作指等が離脱するまでの間に移動した移動軌跡の座標データの時系列に基づいて、文字枠A1a−A1cに入力された個々の手書き文字の文字認識を行う。文字認識の結果、文字枠A1a−A1cに入力された手書き文字に応じた文字コードが特定される。なお、文字枠A1a−A1cに入力された手書き文字に対する文字コードの特定は、例えば、文字認識辞書DB201に登録された文字との合致の度合いを示す類似度に応じて、複数の文字コードが候補文字群として認識される。類似度は、例えば、文字枠内に入力された手書き文字に対する候補文字の文字認識の確からしさを表す指標である。
【0032】
図2Aの例では、文字枠A1aに入力された手書き文字に対して、正解となる“あ”が第1候補として認識されている。また、3画の仮名文字である“お”が第2候補、2画の仮名文字である“す”が第3候補として認識されている。同様にして、文字枠A1bに入力された手書き文字に対して、正解となる“し”が第1候補として認識されている。また、1画の仮名文字である“く”が第2候補、1画のカタカナ文字である“レ”が第3候補として認識されている。文字枠A1cに入力された手書き文字に対しては、正解となる“た”が第1候補として認識されている。また、3画の仮名文字である“に”が第2候補、1画の仮名文字である“ん”が第3候補として認識されている。
【0033】
なお、
図2Aの例は、各文字枠の表示領域の下側に、それぞれの文字枠について認識された候補文字群を表示する表示領域A5−A7を有している。例えば、表示領域A5には、各文字枠で認識された第1候補文字が表示されている。同様にして、例えば、表示領域A6には各文字枠で認識された第2候補文字、表示領域A7には各文字枠で認識された第3候補文字が表示されている。また、
図2Aの表示画面例では、文字枠A1a−A1cに入力された手書き文字についての、第1候補として認識された候補文字を含む文字列が、左上端部の表示領域A4に表示されている。
【0034】
図2Aの表示領域A4では、文字枠A1a−A1cに入力された手書き文字において、第1候補として認識された候補文字を含む文字列“
あした”が下線付きで表示されている。なお、表示領域A4に表示された文字列に付加された下線は未確定の文字認識状態を表し、例えば、確定ボタンA2に対するユーザ操作を契機として削除される。確定操作後の表示領域A4には、例えば、下線が削除された状態の文字列“あした”が表示される。
【0035】
図2Aに例示するように、タッチパネル面に対して安定した手書き入力が行える入力環境では、ユーザの意図に沿って入力された手書き文字の字形は安定する。このため、接触位置の移動軌跡としての時系列の座標データに基づく文字候補群では、正解となる文字コードが第1候補として出現する傾向にある。また、第1候補以外の他の候補文字について、各候補文字の類似度は相対的に低くなる傾向にある。安定した入力環境にある情報処理
装置10では、入力された手書き文字に対して正解となる文字コードが、文字認識結果としての上位候補に含まれる傾向がある。
【0036】
次に、タッチパネル面が上下左右前後方向に動揺するような不安定な入力環境における、文字認識処理を
図2Bに例示の図面を参照して説明する。
図2Bに例示の表示画面例は、例えば、情報処理装置10を手に持ったユーザが、立った状態で、“あ”、“し”、“た”等の3個の仮名文字による手書き文字入力を行った場合の例である。
【0037】
立位状態で手書き文字入力を行う場合では、例えば、情報処理装置10は文字入力を行う操作手とは異なる他方の手で把持される。このため、片手で把持された情報処理装置10のタッチパネル面は、例えば、上下左右前後方向に動揺し、或いは、タッチパネル面の傾きが安定しない等、不安定な入力環境となる。
【0038】
タッチパネル面が不安定な状態では、ユーザは、例えば、タッチパネル面に接触させた操作指等を上下左右前後方向の動揺や不安定な傾き等の影響を受けながら移動させることとなる。このため、LCD15a等に表示された文字枠A1内で検出される接触位置の時系列上の移動軌跡は、ユーザの意図した入力文字に対し、字形が乱れることとなる。また、例えば、
図2Bの文字枠A1aに例示のように、誤接触を起因とする誤入力A8が発生する虞がある。
【0039】
字形の乱れや誤入力が発生した情報処理装置10では、例えば、それぞれの文字枠の領域内において、接触された操作指等が離脱するまでの間に移動した移動軌跡の座標データの時系列に基づいて、各文字枠に入力された手書き文字の文字認識が行われる。情報処理装置10では、例えば、字形の乱れや誤入力が発生した状態の、移動軌跡の座標データの時系列に基づいて、文字枠毎に入力された手書き文字の文字認識が行われる。
【0040】
文字認識の結果、
図2Bに例示のように、文字枠A1aの誤入力A8が生じた仮名文字“あ”の入力に対し、3画の仮名文字である“お”が第1候補として認識されることとなる。なお、正解となる“あ”は第2候補として認識され、2画の仮名文字である“ら”が第3候補として認識されている。文字枠A1bでは、字形の乱れた仮名文字“し”の入力に対し、正解となる“し”が第1候補として認識されている。また、1画のカタカナ文字である“レ”が第2候補、1画の仮名文字である“く”が第3候補として認識されている。文字枠A1cでは、字形の乱れた仮名文字“た”の入力に対し、1画の仮名文字である“ん”が第1候補として認識されることとなる。なお、2画の仮名文字である“に”が第2候補として認識され、正解である“た”は第3候補として認識されることとなる。
【0041】
字形の乱れや誤入力が発生した情報処理装置10では、例えば、第1候補として認識された文字コードを含む文字列である“おしん”が、左上端部の表示領域A4に表示されることとなる。
【0042】
図2Bに例示のように、手書き文字入力を行うタッチパネル面が上下左右前後方向に動揺し、或いは、タッチパネル面の傾きが安定しない等の不安定な入力環境となる場合では、ユーザの意図に沿って入力された手書き文字の字形が不安定となる。また、操作指等の誤接触により生じた誤入力を含む虞がある。このため、移動軌跡の時系列の座標データに基づいて文字認識された文字コードを表す候補文字群では、正解となる文字コードが第1候補に出現し難い傾向となる。また、候補文字として出現する各文字の、正解候補に対する類似度は全体的に低い類似度で纏まる傾向がある。
【0043】
情報処理装置10では、例えば、
図2A、2Bに例示の、手書き入力文字に対する候補文字群の特定後、単語辞書DB202を参照し、文字認識後処理が実行される。文字認識
後処理では、例えば、文字枠A1a−A1cで認識された個々の手書き文字についての候補文字群の候補順位の入替を行った上で候補文字の組合せが行われ、文字列として単語辞書DB202に登録された登録単語とのマッチング処理が実行される。
【0044】
例えば、
図2Aの例では、文字枠A1aで認識された候補文字群は第1候補の“あ”、第2候補の“お”、第3候補の“す”の3通りであり、文字枠A1bで認識された候補文字群は第1候補の“し”、第2候補の“く”、第3候補の“レ”の3通りである。また、文字枠A1cで認識された候補文字群は、第1候補の“た”、第2候補の“に”、第3候補の“ん”の3通りである。
【0045】
情報処理装置10は、例えば、各文字枠で認識された3通りの候補文字群の候補順位を入れ替えて組合せ、“3通り×3通り×3通り=27通り”の3文字の文字列を生成する。そして、情報処理装置10は、例えば、生成した27通りの各文字列と、単語辞書DB202に登録された登録単語との一致を行うマッチングを実行する。
【0046】
図2Bの例についても同様に、情報処理装置10では、例えば、文字枠A1a、A1b、A1cのそれぞれで認識された3通りの候補文字群の候補順位を入れ替えて組合せ、27通りの3文字の文字列が生成される。例えば、文字枠A1aの3通りの候補文字群{あ、お、ら}、文字枠A1bの3通りの候補文字群{し、レ、く}、文字枠A1cの3通りの候補文字群{ん、に、た}、を組合せ、27通りの3文字の文字列が生成される。そして、情報処理装置10は、例えば、生成した27通りの各文字列と、単語辞書DB202に登録された登録単語とのマッチングを実行する。
【0047】
文字認識後処理の結果、情報処理装置10では、例えば、単語・文節レベルでの言語処理に基づいた、正解となる3文字の仮名文字による文字列{あした}が認識されることとなる。
【0048】
ここで、正解となる3文字の文字列{あした}に対し、
図2Aの場合では、例えば、正解となる文字列に含まれる手書き文字が、第1候補文字として認識されている。このため、情報処理装置10で実行される文字認識後処理では、例えば、個々の手書き文字で認識された候補文字群の候補順位の入れ替え処理を行わなくとも、第1候補文字の組合せで正解の文字列を認識することが可能である。
【0049】
一方、
図2Bの場合では、例えば、文字枠A1a、A1b、A1cの順に、第2候補文字、第1候補文字、第3候補文字として認識された各候補文字を組合せることにより、正解となる3文字の文字列{あした}を認識することができる。
図2Bの場合では、例えば、認識された個々の手書き文字についての候補文字群の候補順位を入れ替えて文字列として組合せる文字認識後処理を実行することにより、候補文字についての最終的な文字認識率を高めることができると言える。
【0050】
但し、文字認識後処理では、個々の手書き文字で認識された候補文字群の候補順位に対して入れ替えを行い、文字列として組合せるため、正解となる文字列に一致するまでの処理時間が長くなる傾向にある。このため、文字認識後処理を行う場合では、文字認識後処理に係るCPU(Central Processing Unit)等の処理負荷、稼働率が高くなり、バッテ
リ等の電力消費が早まる傾向にあった。
【0051】
文字認識後処理に係る処理時間を短縮するために、例えば、個々の手書き文字で認識された候補文字群の候補数を減らすことが考えられる。例えば、
図2Bの例では、文字認識後処理の処理対象を、第1候補、及び、第2候補とすることが例示できる。しかしながら、上述したように、正解となる文字列{あした}の第3文字目である“た”が出現するの
は、第3候補文字である。このため、文字認識後処理の処理対象となる候補数を減らしても、
図2Bの例では、正解となる文字列{あした}を認識することは困難となり、文字認識率の低下を招くこととなる。
図2Bに例示のように、手書き文字入力の入力環境が不安定な状態では、候補文字として認識される文字の正解に対する類似度は、相対的に低い類似度で纏まる傾向にあるためである。
【0052】
本実施形態の情報処理装置10は、例えば、加速度センサ14bから検出した加速度値の変化から、手書き文字入力に係る情報処理装置10の状態(入力環境)が安定状態であるか不安定な状態であるかを判定する。そして、情報処理装置10は、手書き文字入力に係る情報処理装置10の状態が不安定な状態である場合には、例えば、個々の手書き文字から認識された候補文字群の候補順位を入れ替えて文字列として組合せる文字認識後処理を実行する。この結果、本実施形態の情報処理装置10では、文字認識後処理に係る電力消費を抑制することが可能となる。本実施形態の情報処理装置10では、例えば、電子機器の手書き入力時の環境状態に応じて消費電力を抑制する技術が実現できる。
【0053】
〔装置構成〕
図1に戻り、本実施形態の情報処理装置10は、接続バスB1によって相互に接続されたCPU(Central Processing Unit)11、主記憶部12、補助記憶部13、入力部1
4、出力部15、通信部16を有する。主記憶部12及び補助記憶部13は、情報処理装置10が読み取り可能な記録媒体である。
【0054】
情報処理装置10は、CPU11が補助記憶部13に記憶されたプログラムを主記憶部12の作業領域に実行可能に展開し、プログラムの実行を通じて周辺機器の制御を行う。これにより、情報処理装置10は、上述した所定の目的に合致した機能を実現することができる。
【0055】
図1に例示の情報処理装置10において、CPU11は、情報処理装置10全体の制御を行う中央処理演算装置である。CPU11は、補助記憶部13に格納されたプログラムに従って処理を行う。主記憶部12は、CPU11がプログラムやデータをキャッシュしたり、作業領域を展開したりする記憶媒体である。主記憶部12は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)を含む。
【0056】
補助記憶部13は、各種のプログラム及び各種のデータを読み書き自在に記録媒体に格納する。補助記憶部13は、外部記憶装置とも呼ばれる。補助記憶部13には、OS、各種プログラム、各種テーブル等が格納される。OSは、例えば、搭載されたアプリに対し、管理するリソースへのインターフェースをアプリに提供する。端末装置10に搭載されたアプリは、OSによって提供されたリソースへのインターフェースを使用することで、アプリ機能を実現する。OSは、通信部16を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、図示しないネットワーク上の、PCやサーバ等の他の情報処理装置、外部記憶装置等が含まれる。
【0057】
補助記憶部13は、例えば、EPROM(Erasable Programmable ROM)、ソリッドス
テートドライブ装置、ハードディスクドライブ(HDD、Hard Disk Drive)装置等であ
る。また、補助記憶部13としては、例えば、CDドライブ装置、DVDドライブ装置、BDドライブ装置等が提示できる。記録媒体としては、例えば、不揮発性半導体メモリ(フラッシュメモリ)を含むシリコンディスク、ハードディスク、CD、DVD、BD、USB(Universal Serial Bus)メモリ、メモリカード等がある。
【0058】
入力部14は、ユーザ等からの操作指示等を受け付ける。入力部14は、カメラ、入力
ボタン、タッチセンサ14a、加速度センサ14b、ポインティングデバイス、マイクロフォン等の入力デバイスである。入力部14には、キーボード、ワイヤレスリモコン等が含まれるとしてもよい。ポインティングデバイスには、例えば、タッチセンサ14aとLCD15a等が組み合わされたタッチパネル、マウス、トラックボール、ジョイスティック等が含まれる。入力部14から入力された情報は、接続バスB1を介してCPU11に通知される。例えば、ポインティングデバイスで検出した座標情報、加速度センサ14bで検出された加速度情報等は、接続バスB1を介してCPU11に通知される。
【0059】
出力部15は、CPU11で処理されるデータや主記憶部12に記憶されるデータを出力する。出力部15は、LCD15a、CRT(Cathode Ray Tube)ディスプレイ、PDP(Plasma Display Panel)、EL(Electroluminescence)パネル、有機ELパネル等
の表示デバイスを含む。また、出力部15には、プリンタ、スピーカ等の出力デバイスが含まれる。
【0060】
通信部16は、例えば、情報処理装置10が接続するネットワーク等とのインターフェースである。ネットワークには、例えば、インターネット等の購入ネットワーク、携帯電話網等の無線ネットワーク、LAN(Local Area Network)等が含まれる。
【0061】
情報処理装置10は、CPU11が補助記憶部13に記憶されているOS、各種プログラムや各種データを主記憶部12に読み出して実行することにより、対象プログラムの実行と共に、
図1に例示の各処理手段を実現する。情報処理装置10は、対象プログラムの実行により、
図1に例示の初期設定部101、座標入力部102、文字認識部103、表示制御部104を実現する。なお、座標入力部102には、タイマー102aが含まれる。タイマー102aは、情報処理装置10が備えるタイマー機能である。また、文字認識部103には、加速度センサ処理部103aが含まれる。但し、
図1に例示の各処理手段のいずれか、あるいは、これらの一部がハードウェア回路によって動作するものであってもよい。
【0062】
なお、情報処理装置10は、以上の各処理手段が参照し、或いは、管理するデータの格納先として、例えば、文字認識辞書201、単語辞書202、座標テーブルDB203、画面イメージDB204を補助記憶部13に備える。
【0063】
図1に例示の各処理手段のうち、いずれかが、他の情報処理装置等に含まれてもよい。例えば、文字認識部103を含む情報処理装置と、初期設定部101、座標入力部102、表示制御部104を含む情報処理装置がネットワークを介して接続し、情報処理装置10として機能するとしてもよい。情報処理装置10は、例えば、ネットワーク上のコンピュータ群であるクラウドとして実現できる。
【0064】
〔処理ブロック構成〕
(初期設定部)
図3に、本実施形態の情報処理装置10の処理を説明する処理ブロック図を例示する。
図3に例示の処理ブロック図において、初期設定部101は、例えば、手書き文字入力を可能とするアプリの起動操作を契機として、画面イメージDB204を参照し、入力された手書き文字を文字認識するための初期画面をLCD15a等の表示画面に表示させる。また、初期設定部101は、例えば、文字認識処理のために主記憶部12の所定の領域に設けられた処理用の各種バッファ領域等の初期化処理を行う。
【0065】
手書き文字入力を文字認識するための初期画面は、例えば、
図2A、2Bに例示のように、手書き文字の入力枠A1、入力された文字列を確定するための操作部品である確定ボタンA2、入力された文字を削除するための操作部品である削除ボタンA3を含む。なお
、入力枠A1の領域は、さらに、複数個の文字枠の領域に区分けされるとしてもよい。
図2A、2Bは、入力枠A1の領域は、文字枠A1a,A1b,A1cの3個の隣接する領域に区分けされた例である。
【0066】
また、初期画面では、
図2A等に例示のように、区分けされた各文字枠の表示領域の下部領域に、それぞれの文字枠に入力された手書き文字について認識された候補文字を表示する表示領域A5−A7が設けられるとしてもよい。各文字枠に入力された手書き文字の筆跡に対する文字認識結果を複数の候補文字として表示することができる。
【0067】
また、初期画面には、
図2A等に例示のように、文字枠A1a−A1cに入力された手書き文字についての、第1候補として認識された手書き文字を含む文字列を表示する表示領域A4が設けられるとしてもよい。表示領域A4に表示される文字列には、未確定の文字認識状態であることを示す文字修飾が行われるとしてもよい。未確定の文字認識状態であることを示す文字修飾として、例えば、下線の付与、太字修飾、斜め文字修飾、ハッチング等が例示できる。
図2A等は、未確定の文字認識状態であることを示す文字修飾として下線の付与を採用した例である。
【0068】
なお、表示領域に表示された文字列に対する文字修飾は、例えば、確定ボタンA2に対するユーザ操作を契機として削除されるとしてもよい。また、確定ボタンA2に対するユーザ操作を契機として、文字枠A1a−A1cに入力された筆跡、表示領域A5−A7に表示された候補文字の表示を消去するとしてもよい。
図4A、4Bに、確定ボタンA2に対するユーザ操作の前後についての表示画面の遷移例を例示する。
【0069】
図4Aは、確定ボタンA2に対するユーザ操作前の表示画面例であり、
図4Bは、確定ボタンA2に対するユーザ操作後の表示画面例である。
図4Aに例示のように、確定ボタンA2の操作前では、表示領域A4には、各文字枠に入力された手書き文字について第1候補として文字認識された文字を組合せた文字列“
あした”が、下線修飾された状態で表示されている。また、各文字枠内には、入力された手書き文字の筆跡が表示されている。各文字枠の表示領域の下部領域である表示領域A5−A7には、それぞれの文字枠に入力された手書き文字の筆跡から認識された、第1−第3までの候補文字が表示されている。
【0070】
一方、
図4Bの表示領域A4では、
図4Aの表示領域A4に表示された文字列“
あした”に付与された下線修飾が削除され、ユーザ操作により確定された文字列“あした”が表示されている。また、各文字枠内に表示された手書き文字の入力筆跡は消去されている。同様にして、各文字枠の下部領域である表示領域A5−A7に表示された、第1−第3までの候補文字は消去されている。
【0071】
なお、入力された文字を削除するための操作部品である削除ボタンA3のユーザ操作では、例えば、直近に入力された文字枠の筆跡を消去するとしてもよく、全ての文字枠に対する入力完了後に文字列として入力された筆跡を消去するとしてもよい。また、例えば、筆跡入力後の文字枠を選択し、選択された文字枠の入力筆跡を消去するとしてもよい。
【0072】
(座標入力部)
図3に例示の処理ブロック図に戻り、座標入力部102は、例えば、手書き文字入力を文字認識するための初期画面についての表示座標の管理を行う。座標入力部102は、例えば、手書き文字入力を可能とするアプリの起動操作を契機として、座標テーブルDB203を参照し、初期画面に表示される各種表示部品、入力枠、各種表示領域等の表示位置を示す座標データを取得する。座標入力部102は、例えば、取得した初期画面に係る座標データを主記憶部12の所定の領域に一時的に記憶する。
【0073】
図5Aに、座標テーブルDB203の構成例を例示する。
図5Aは、例えば、
図2A等に例示の表示画面についての座標テーブルの構成例である。
【0074】
図5Aに例示の座標テーブルDB203の構成例は、「部品」、「形状」、「端点1」、「端点2」、「端点3」、「端点4」といった各カラムを有する。「部品」カラムには、初期画面に表示される表示部品等の名称が格納される。「形状」カラムには、初期画面における表示部品等の表示領域の形状、属性等が格納される。「端点1」、「端点2」、「端点3」、「端点4」カラムには、「形状」カラムに格納された表示領域の形状、属性等に対応した座標情報が格納される。例えば、「形状」カラムに格納された表示領域の形状が“矩形”の場合では、「端点1」カラムには、表示領域の左上端部の座標情報が格納され、「端点2」カラムには表示領域の右下端部の座標情報が格納されることとなる。
【0075】
なお、「端点1」カラム等に格納される座標情報は、例えば、LCD15a等の表示デバイスの左上角部を原点とし、表示デバイスの左右方向をX軸、上下方向をY軸とした(X,Y)の2次元座標として表される。
【0076】
図5Aの構成例では、座標テーブルDB203は、初期画面に表示される表示部品毎のレコードを有している。
図5Aの構成例において、例えば、「部品」カラムに“確定ボタン”が格納されたレコードの「形状」カラムには、表示領域の形状を表す“矩形”が格納されている。また、例えば、「部品」カラムに“確定ボタン”が格納されたレコードの「端点1」カラムには、表示領域の左上端部の座標を表す“(5,20)”が格納され、「端点2」カラムには、表示領域の右下端部の座標を表す“(35,30)”が格納されている。
【0077】
また、例えば、「部品」カラムに“削除ボタン”が格納されたレコードの「形状」カラムには、表示領域の形状を表す“矩形”が格納されている。また、同レコードの「端点1」カラムには、表示領域の左上端部の座標を表す“(5,35)”が格納され、「端点2」カラムには、表示領域の右下端部の座標を表す“(35,45)”が格納されている。初期画面において、“確定ボタン”と“削除ボタン”とは、左端部および右端部の左右方向の表示位置を共通として、表示されることが判る。
【0078】
なお、
図5Aの構成例において、「部品」カラムに格納された“入力枠1”は、例えば、
図2A等に例示の文字枠A1aを表し、同様に、“入力枠2”、“入力枠3”はそれぞれ
図2A等に例示の文字枠A1b、A1cを表す。同様に、「部品」カラムに格納された“入力枠1第1候補”は、例えば、
図2A等に例示の文字枠A1aに入力された手書き文字の第1候補を表す。
【0079】
図3に例示の処理ブロック図に戻り、座標入力部102は、例えば、文字枠A1a−A1cに対して入力された手書き文字についての筆跡の座標情報の管理を行う。座標入力部102は、例えば、タッチセンサ14aを介し、各文字枠内の領域に対する操作指等の接触位置を筆跡の開始位置として取得する。そして、座標入力部102は、例えば、タッチセンサ14aを介し、各文字枠内の領域に接触させた操作指等が表示デバイス面から離脱するまでの移動軌跡に係る接触位置の時系列の座標データを取得する。
【0080】
座標入力部102は、例えば、タッチセンサ14aを介して取得した接触位置の時系列の座標データを、主記憶部12の所定の領域に設けられた座標データバッファに時系列順に格納する。座標入力部102は、例えば、タッチセンサ14aを介して取得した接触位置の時系列の座標データを、各文字枠に対応付けて座標データバッファに格納する。
【0081】
図5Bに、座標データバッファに格納される筆跡の座標データ例を例示する。座標デー
タバッファに格納される座標データは、例えば、LCD15a等の表示デバイスの左上角部を原点とし、表示デバイスの左右方向をX軸、上下方向をY軸とした(X,Y)の2次元座標として表される。
【0082】
図5Bの例では、d1−d4、d6−d7で示される2次元座標が、20msといった一定の周期間隔でサンプリングされた座標データである。なお、2次元座標“(0,0)”で示される座標データd5は、例えば、操作指等が表示デバイス面から離脱した際に挿入されたデリミタである。
【0083】
座標入力部102は、例えば、一定の周期間隔でサンプリングされた座標データが、継続してタッチセンサ14aから取得されないことを特定する。一定の周期間隔でサンプリングされる座標データが、継続して取得されない場合には、例えば、表示デバイスの接触させた操作指等が離脱したと判断できるからである。
【0084】
そして、座標入力部102は、例えば、
図5Bのd5に例示のように、二次元座標“(0,0)”で示されるデリミタを離脱直前の座標データに追加し、座標データバッファに格納する。座標データバッファに挿入されたデリミタにより、例えば、手書き入力された文字の筆画を識別することができる。
【0085】
例えば、
図5Bの例では、d1−d4で表される座標データ列が、手書き入力された文字の1画目を表し、デリミタであるd5を挿み、d6以降の座標データ列が手書き入力された文字の2画目以降の筆跡を表すことが判る。また、1画目の筆跡を表す座標データでは、例えば、d1の2次元座標“(5,60)”が1画目の筆跡の開始位置を表し、d4の2次元座標“10,58”が1画目の筆跡の終端位置を表すことが判る。
【0086】
図3に例示の処理ブロック図に戻り、座標入力部102は、LCD15a等の表示画面に表示された各文字枠内で接触位置が検知された操作指等が離脱し、再び表示デバイス面に対する接触位置が検出されるまでの離脱期間を管理する。情報処理装置10は、例えば、タイマー102aを機能させ、各文字枠内で接触位置が検出された操作指等の離脱し、再び表示デバイス面に対する接触位置が検出されるまでの離脱期間を計測する。そして、座標入力部102は、例えば、タイマー102aにより計測された離脱期間が、所定の閾値以上であるかを管理する。ここで、離脱期間に対する所定の閾値は、例えば、LCD15a等の表示画面に
図2A等に例示の初期画面を表示させ、予め定められた仮名文字等が含まれる文字列を実験的に入力させて離脱期間を計測し、計測した離脱期間を閾値とすることができる。
【0087】
座標入力部102では、各文字枠内に接触させた操作指等の離脱期間を管理することにより、接触位置が検出された文字枠に対する手書き文字入力の完了を特定することができる。座標入力部102は、例えば、計測された離脱期間が所定の閾値以上の場合には、手書き文字入力が行われた文字枠についての、座標データバッファに格納された座標データを文字認識部103に引き渡す。
【0088】
(文字認識部)
文字認識部103の加速度センサ処理部103aは、例えば、加速度センサ14bで検出された加速度値の変化から、情報処理装置10の上下左右前後方向の動揺を特定する。例えば、加速度センサ処理部103aは、加速度センサ14bで検出された上下左右前後方向の加速度値を一定の周期間隔で取得する。そして、加速度センサ処理部103aは、例えば、取得した各方向の加速度値について所定の閾値との比較を行い、手書き入力に係る情報処理装置10の状態が安定状態であるか不安定な状態であるかを判定する。判定の結果は、例えば、“0”、“1”の2値状態で表されるフラグ値として蓄積される。
【0089】
ここで、所定の閾値とは、例えば、実験的に椅子等に着座した状態、及び、立位状態で情報処理装置10の手書き文字入力操作を行い、それぞれの状態で取得された加速度値から求めることができる。
【0090】
例えば、加速度センサ処理部103aは、取得した各方向の加速度値が所定の閾値内である場合には、機器が安定状態であることを表すフラグ値“0”を主記憶部12の所定の領域に一時的に格納する。また、加速センサ処理部103aは、取得した各方向の加速度値が所定の閾値以上である場合には、機器が不安定状態であることを表すフラグ値“1”を主記憶部12の所定の領域に一時的に格納する。なお、以下の説明では、情報処理装置10の状態を表すフラグ値を“端末状態値”とも称する。
【0091】
また、文字認識部103は、例えば、座標入力部102から引き渡された、各文字枠内に手書き入力された文字の筆跡を表す座標データに基づいて文字認識を行い、対応する候補文字群を特定する。手書き入力された文字についての文字認識は、例えば、予め文字認識辞書DB201に登録された登録文字とのパターンマッチング等により行われる。文字認識部103は、例えば、文字認識辞書DB201を参照し、座標入力部102から引き渡された文字枠毎の座標データと登録文字との照合を行う。照合の結果、文字認識部103では、例えば、登録文字との類似度に応じて候補文字群が特定される。特定された候補文字群には、例えば、類似度に応じた候補順位が付与される。
【0092】
文字認識部103は、例えば、文字認識辞書DB201を参照して特定された文字候補群を文字認識結果として、主記憶部12の所定の領域に設けられた文字候補列バッファに格納する。文字認識部103は、例えば、類似度に応じて付与された候補順に、候補文字と類似度を対応付けて文字候補列バッファに格納する。なお、文字認識部103は、例えば、文字枠毎に認識された文字候補群を、文字候補に付与された候補順位と共に表示制御部104に引き渡す。表示制御部104に引き渡された文字枠毎の文字候補群は、例えば、候補順位に応じてLCD15a等の表示画面の所定の表示領域に候補文字として表示される。
【0093】
図5Cに、文字候補列バッファに格納されるデータ例を例示する。
図5Cは、例えば、
図2A等に例示のように、手書き入力された文字について3個の候補文字を文字認識結果として表示する場合の例である。なお、
図5Cのデータ例は、
図2Aで説明した文字認識例である。
【0094】
図5Cの文字候補列バッファに格納されるデータの構成例は、候補順位で整列された候補文字毎のレコードを有する。構成例の各レコードは、「入力枠1」、「入力枠2」、「入力枠3」の各カラムを有する。「入力枠1」−「入力枠3」カラムは、それぞれ、「候補文字」、「類似度」のサブカラムを有する。なお、「入力枠1」−「入力枠3」は、それぞれ、
図2A等に例示の文字枠A1a−A1cに対応する。「入力枠1」カラムには、文字枠A1aに入力された手書き文字に対する文字認識結果が格納される。同様にして、「入力枠2」カラムには、文字枠A1bに入力された手書き文字に対する文字認識結果、「入力枠3」カラムには、文字枠A1cに入力された手書き文字に対する文字認識結果が格納される。
【0095】
「候補文字」カラムには、それぞれの文字枠に入力された手書き文字に対して認識された候補文字が格納される。「類似度」カラムには、それぞれの文字枠に入力された手書き文字に対して認識された候補文字の確からしさを表す指標値が格納される。例えば、候補文字となった文字認識辞書DB201に登録された登録文字との合致の度合いが格納される。なお、候補文字の確からしさを表す指標値として、例えば、候補文字となった文字認
識辞書DB201に登録された登録文字と、該文字枠内で取得された座標データとの差分を示す値を格納するとしてもよい。候補文字の確からしさを表す指標値として、文字候補と文字枠内で取得された座標データとの差分を示す値を採用する場合では、例えば、格納された値が小さい(低い)程、候補文字と入力された手書き文字の筆跡との類似度は高くなる。
【0096】
図5Cの構成例では、第1候補のレコードの「入力枠1」カラムの「候補文字」サブカラムには、
図2Aに例示のように、第1候補として表示される“あ”が格納されている。また、同レコードの「入力枠1」カラムの「類似度」サブカラムには、候補文字と文字枠A1a内で取得された座標データとの差分を示す値である“0”が格納されている。
【0097】
同様に、第1候補のレコードの「入力枠2」カラムの「候補文字」サブカラムには、
図2Aに例示のように、第1候補として表示される“し”が格納されている。また、同レコードの「入力枠2」カラムの「類似度」サブカラムには、候補文字と文字枠A1b内で取得された座標データとの差分を示す値である“1”が格納されている。
【0098】
また、第1候補のレコードの「入力枠3」カラムの「候補文字」サブカラムには、
図2Aに例示のように、第1候補として表示される“た”が格納されている。また、同レコードの「入力枠3」カラムの「類似度」サブカラムには、候補文字と文字枠A1c内で取得された座標データとの差分を示す値である“1”が格納されている。
【0099】
図2Aで説明したように、椅子等に着座して手書き文字入力を行った場合では、例えば、タッチパネル面等が上下左右前後方向に動揺せずに安定した状態であるため、第1候補として認識される各候補文字は高い類似度を有していることが判る。
【0100】
また、
図5Cの構成例では、第3候補のレコードの「入力枠1」カラムの「候補文字」サブカラムには、
図2Aに例示のように、第3候補として表示される“す”が格納されている。また、同レコードの「入力枠1」カラムの「類似度」サブカラムには、候補文字と文字枠A1a内で取得された座標データとの差分を示す値である“8”が格納されている。
【0101】
同様に、第3候補のレコードの「入力枠2」カラムの「候補文字」サブカラムには、
図2Aに例示のように、第3候補として表示される“レ”が格納されている。また、同レコードの「入力枠2」カラムの「類似度」サブカラムには、候補文字と文字枠A1b内で取得された座標データとの差分を示す値である“3”が格納されている。
【0102】
また、第3候補のレコードの「入力枠3」カラムの「候補文字」サブカラムには、
図2Aに例示のように、第3候補として表示される“ん”が格納されている。また、同レコードの「入力枠3」カラムの「類似度」サブカラムには、候補文字と文字枠A1c内で取得された座標データとの差分を示す値である“11”が格納されている。
【0103】
図2Aで説明したように、安定した入力環境で手書き文字入力が行われる場合では、候補順位が低いほど、候補文字として認識される類似度は低くなることが判る。また、第1候補として認識された文字候補と第3候補として認識された文字候補との類似度の差は相対的に大きいことが判る。
【0104】
しかしながら、
図2Bで説明したように、手書き文字入力は、例えば、タッチパネル面が上下左右前後方向に揺動する不安定な入力環境下であっても実行される。不安定な入力環境下で入力された手書き文字は、例えば、同じユーザであっても安定した環境下で入力された手書き文字と比較して字形が乱れる傾向がある。また、操作指等の誤接触による誤
入力が発生する傾向にある。
【0105】
不安定な入力環境下で入力された手書き文字についての文字認識率を向上させるため、文字認識部103は、例えば、各文字枠に入力された個々の手書き文字による文字列を用い、候補文字の候補順位を入れ替える文字認識後処理を実行する。文字認識後処理では、文字認識部103は、例えば、個々の手書き文字について認識された候補文字群の候補順位を入れ替え、単語辞書DB202に登録された登録単語とのマッチング処理を行う。文字認識部103は、例えば、単語辞書DB202に登録された登録単語と一致する文字列が存在する場合には、入れ替えた候補文字を文字認識結果としての第1候補として、表示制御部104に出力する。文字認識後処理の結果、例えば、LCD15a等の表示画面上には、単語辞書DB202に登録された登録単語と一致する文字列に基づいて入替処理が行われた候補文字が、第1候補として表示される。
【0106】
図3に例示の処理ブロック図に戻り、文字認識部103は、例えば、単語辞書DB202を参照し、各文字枠に入力された個々の手書き文字についての候補文字群を使用した文字認識後処理を実行する。文字認識後処理は、例えば、端末状態値として主記憶部12の所定の領域に格納されたフラグ値に応じて実行される。なお、文字認識後処理は、各文字枠に入力された個々の手書き文字で認識された候補文字群を使用するため、例えば、文字枠A1aに文字列の一文字目として入力された手書き文字では実行されない。
【0107】
以下、
図6A−6Gに例示の図面を参照し、文字認識部103で実行される文字認識後処理を説明する。
図6Aは、文字認識後処理による候補文字の入替処理が実行される前の画面例である。
図6Aの画面例は、例えば、LCD15a等に表示された初期画面において、文字枠A1a、A1bのそれぞれに仮名文字“あ”、“め”を手書き入力し、文字認識辞書との照合により各文字についての候補文字群が表示された状態の画面例である。
【0108】
図6Aの画面例では、文字枠A1aに手書き入力された仮名文字“あ”に対し、第1候補の候補文字として“お”が表示領域A5表示されている。同様に、第2候補の候補文字“あ”が表示領域A6に、第3候補の候補文字“ち”が表示領域A7に表示されている。
【0109】
また、文字枠A1bに手書き入力された仮名文字“め”に対し、第1候補の候補文字として“め”が表示領域A5表示されている。同様に、第2候補の候補文字“ぬ”が表示領域A6に、第3候補の候補文字“あ”が表示領域A7に表示されている。また、
図6Aの表示領域A4には、第1候補として表示された文字列についての“
おめ”が未確定の状態を示す下線修飾が施された状態で表示されている。
【0110】
図6Bに、
図6Aの画面例についての文字候補列バッファに格納されるデータ例を例示する。
図6Bに例示の文字候補列バッファでは、
図5Cで説明したように、文字枠A1a、A1bに手書き入力された文字に対して文字認識された候補文字のレコードが候補順に整列されて格納されている。各レコードに格納される候補文字は、それぞれの文字枠に入力された手書き文字に対して認識された候補文字の確からしさを表す指標である類似度と共に格納されている。
【0111】
例えば、文字枠A1aに手書き入力された仮名文字“あ”に対しては、第1候補の候補文字“お”が類似度“3”と共に格納されている。同様にして、第2候補の候補文字“あ”が類似度“4”と共に、また、第3候補の候補文字“ち”が類似度“8”と共に格納されている。文字枠A1bに手書き入力された仮名文字“め”についても同様に、第1候補の候補文字“め”が類似度“1”と共に、第2候補の候補文字“ぬ”が類似度“4”と共に、第3候補の候補文字“あ”が類似度“9”と共に格納されている。
【0112】
文字枠A1aに手書き入力された文字の正解候補は、類似度“4”の確からしさで第2候補として、また、文字枠A1bに手書き入力された文字の正解候補は、類似度“1”の確からしさで第1候補として文字認識されていることが判る。
【0113】
文字認識後処理では、例えば、文字枠A1aで文字認識された候補文字群{お、あ、ち}と文字枠A1bで文字認識された候補文字群{め、ぬ、あ}とを総当たりで組合せ、9通りの2文字の文字列を生成する。
【0114】
図6Cに、候補文字群{お、あ、ち}と候補文字群{め、ぬ、あ}との総当たりの組合せについての説明図を例示する。
図6Cに例示のように、文字枠A1aの第1候補の候補文字“お”には、文字枠A1bの第1−第3候補文字である“め”、“ぬ”、“あ”がそれぞれに組み合わされる。また、文字枠A1aの第2候補の候補文字“あ”には、文字枠A1bの第1−第3候補文字である“め”、“ぬ”、“あ”がそれぞれに組み合わされる。文字枠A1aの第3候補の候補文字“ち”には、文字枠A1bの第1−第3候補文字である“め”、“ぬ”、“あ”がそれぞれに組み合わされる。この結果、文字認識後処理では、9通りの2文字の文字列群が生成される。
【0115】
文字認識部103は、例えば、文字枠A1aで文字認識された候補文字群と文字枠A1bで文字認識された候補文字群とを総当たりで組合せて生成された文字列群について、単語辞書DB201とのマッチングを行うための整列を行う。文字認識部103は、例えば、各文字列に含まれる候補文字毎の類似度を足し合わせて文字列毎の類似度和を算出し、算出された類似度和の大小順に整列させる。
【0116】
なお、候補文字毎の類似度から算出された類似度和が同値となることが想定される。候補文字列について算出された類似度和が同値の場合には、例えば、文字コードのコード順に整列することができる。文字認識部103は、例えば、類似度和の大小順、文字コードのコード順に整列された候補文字列群を主記憶部12の所定の領域に一時的に記憶する。
【0117】
図6Dに、類似度和の大小順に整列された候補文字列の構成例を例示する。
図6Dの構成例は、文字枠A1aで文字認識された候補文字群と文字枠A1bで文字認識された候補文字群とを総当たりで組合せて生成された文字列毎のレコードを有する。構成例の各レコードは、「候補文字列」、「類似度和」、「1文字目」、「2文字目」の各カラムを有する。「1文字目」、「2文字目」カラムは、それぞれ、「文字」カラム、「類似度」カラムを有する。
【0118】
「候補文字列」カラムには、各文字枠で文字認識された候補文字を組合せた文字列が格納される。「類似度和」カラムには、「候補文字列」カラムに格納された文字列について算出された類似度和が格納される。「1文字目」カラムの「文字」サブカラムには、文字枠A1aで文字認識された候補文字が格納される。「2文字目」カラムの「文字」サブカラムには、文字枠A1bで文字認識された候補文字が格納される。「1文字目」カラムの「類似度」サブカラムには、文字枠A1aで文字認識された候補文字に対する類似度が格納される。「2文字目」カラムの「類似度」サブカラムには、文字枠A1bで文字認識された候補文字に対する類似度が格納される。
【0119】
図6Dの構成例では、正解候補となる文字列“あめ”が格納されたレコードの「類似度和」カラムには各文字の類似度から算出された“5”との値が格納されている。また、同レコードの「1文字目」カラムの「文字」サブカラムには文字列の1文字目の“あ”が格納され、「類似度」サブカラムには“あ”の類似度“4”が格納されている。また、同レコードの「2文字目」カラムの「文字」サブカラムには文字列の2文字目の“め”が格納され、「類似度」サブカラムには“め”の類似度“1”が格納されている。
【0120】
文字認識後処理では、文字認識部103は、例えば、類似度和の大小順、文字コードのコード順に整列された各候補文字列と、単語辞書DB202に登録された登録単語とのマッチングを行う。
図6Eに、単語辞書DB202に登録された登録単語とのマッチングの説明図を例示する。
図6Eの説明図において、正解候補の文字列“あめ”は、ハッチングによる修飾が行われている。
【0121】
図6Eの説明図において、単語辞書DB202には、2文字の文字列である登録単語が登録されている。単語辞書DB202に登録された“あき”、“あし”、“あと”、“あめ”、“・・”と言った登録単語は、例えば、文字コードのコード順に整列されて登録されている。
【0122】
文字認識後処理では、文字認識部103は、例えば、主記憶部12の所定の領域に格納された文字列候補を類似度和の大小順、文字コードのコード順に読み出し、単語辞書DB202に登録された登録単語とのマッチングを行う。
【0123】
文字認識部103は、例えば、類似度和が最も小さい(確からしさが最も高い)“おめ”との候補文字列を読み出し、単語辞書DB202に登録された登録単語とのマッチングを行う。文字認識部103は、単語辞書DB202に登録された登録単語中に“おめ”と一致する単語が存在しない場合には、次に類似度和の小さい候補文字列を読み出し、単語辞書DB202に登録された登録単語とのマッチングを繰り返す。
【0124】
図6Eの例では、候補文字列“おめ”の次に類似度和が小さい候補文字列“あめ”が読み出される。文字認識部103は、例えば、読み出した候補文字列“あめ”と一致する単語が単語辞書DB202に登録されている場合には、処理中の文字列を主記憶部12の所定の領域に一時的に記憶し、マッチングを終了する。
【0125】
文字認識後処理では、文字認識部103は、例えば、単語辞書DB202に登録された登録単語と一致した候補文字列に基づいて、各文字枠に入力された文字についての候補文字群の候補順の入れ替えを行う。例えば、文字認識部103は、表示制御部104に引き渡す、文字候補バッファに格納された候補文字の候補順の入れ替えを行う。候補文字の候補順位が入れ替えられた文字候補バッファは、表示制御部104に引き渡される。
【0126】
図6Fに、文字認識後処理により、候補順位の入れ替えが行われた文字候補バッファのデータ例を例示する。
図6Fの例では、第1候補レコードの「入力枠1」カラムの「候補文字」カラムには、
図6Bの例で第2候補のレコードの「入力枠1」カラムの「候補文字」カラムに格納されていた候補文字“あ”が格納されている。また、
図6Fの例では、第2候補レコードの「入力枠1」カラムの「候補文字」カラムには、
図6Bの例で第1候補のレコードの「入力枠1」カラムの「候補文字」カラムに格納されていた候補文字“お”が格納されている。
図6Bに例示の、第1候補のレコードに格納された候補文字と、第2候補のレコードに格納された候補文字とが入れ替えられていることが判る。
【0127】
なお、
図6Fに例示の第1候補のレコード、第2候補のレコードにおいて、候補文字の入れ替えと共に、「類似度」サブカラムに格納された類似度が入れ替えられていることが判る。文字認識部103は、例えば、文字候補の候補順位の入れ替えと共に、文字候補バッファの「類似度」サブカラムに格納された類似度の入れ替えを行う。
【0128】
図6Gに、文字認識後処理により、候補順位の入れ替えが行われた後に表示される画面例を例示する。
図6Gに例示のように、文字枠A1aに入力された手書き文字について認識された第1候補の候補文字を表示する表示領域A5には、入れ替え後の候補文字である
“あ”が表示されている。また、文字枠A1aに入力された手書き文字について認識された第2候補の候補文字を表示する表示領域A6には、入れ替え後の候補文字である“お”が表示されている。
【0129】
文字認識後処理の結果、手書き文字が入力された各文字枠についての第1候補には、正解となる候補文字列である“あめ”がそれぞれに表示されることとなる。
図6Gの例では、例えば、表示領域A4には、第1候補として表示された文字列についての“
あめ”が未確定の状態を示す下線修飾が施された状態で表示されることとなる。
【0130】
図3に例示の処理ブロック図に戻り、表示制御部104は、例えば、LCD15a等に表示される手書き文字入力に係る表示画面の各種制御を行う。例えば、表示制御部104は、手書き文字入力に係る表示画面に表示された各種操作ボタンへのボタン操作に基づいて表示制御を行う。
【0131】
また、表示制御部104は、例えば、座標入力部102で座標データバッファに格納された座標データに基づいて手書き入力文字の筆跡を、LCD15a等の表示画面上に表示する。また、表示制御部104は、例えば、文字認識部103から引き渡された文字候補バッファのデータに基づいて、各文字枠に入力された手書き文字についての候補文字群を認識結果として表示する。
【0132】
〔処理フロー〕
以下、
図7A−7Dに例示のフローチャートを参照し、本実施形態の情報処理装置10の手書き入力文字の文字認識に係る処理を説明する。情報処理装置10は、例えば、主記憶部12に実行可能に展開されたコンピュータプログラムにより、
図7A−7Dに例示の処理を実行する。
【0133】
図7Aに例示のフローチャートにおいて、手書き入力文字の文字認識に係る処理の開始は、例えば、手書き文字入力を可能とするアプリの起動のときが例示できる。情報処理装置10は、例えば、LCD15a等の表示画面上に表示された手書き文字入力を可能とするアプリに関連付けられたアイコン(icon)に対するユーザ操作を検知し、手書き入力文字入力を可能とするアプリを起動する。情報処理装置10は、例えば、アプリの起動と共に手書き文字入力の文字認識に係る処理の初期化処理を行う(S01)。
【0134】
S01の初期化処理では、情報処理装置10は、例えば、
図2A等に例示の、手書き文字入力に係る初期画面をLCD15a等に表示させると共に、処理に係る各種バッファ等の初期化処理を行う。また、情報処理装置10は、例えば、タイマー102aによる時間計測を開始する。なお、初期化処理については、
図3等で説明した。
【0135】
情報処理装置10は、例えば、LCD15a等の表示デバイスに表示された、
図2A等に例示の手書き文字入力に係る表示画面に対する、ユーザ操作による接触位置の検出を行う(S02)。情報処理装置10は、例えば、LCD15a等の表示デバイス面に対する操作指等のユーザ操作による接触位置をタッチセンサ14a等の入力デバイスを介して検出する。表示デバイス面に対する接触位置は、例えば、表示デバイスの左上角部を原点とし、表示デバイスの左右方向をX軸、上下方向をY軸とした(X,Y)の2次元座標の座標データとして検出される。
【0136】
情報処理装置10は、例えば、S02の処理で検出された接触位置の座標データが、S01の処理で表示画面に表示された、
図2A等に例示の入力枠A1内の表示領域であるかを判定する(S03)。情報処理装置10は、例えば、S02の処理で検出された接触位置の座標データが、
図5Aに例示の座標テーブルDB203の“入力枠1”−“入力枠3
”の何れかに対応する座標領域内であるか否かを判定する。
図2A等の文字枠A1a−A1cと、
図5Aに例示の座標テーブルDB203の“入力枠1”−“入力枠3”の関係は、
図5Aで説明した。
【0137】
情報処理装置10は、例えば、S02の処理で検出された接触位置の座標データが、
図5Aに例示の座標テーブルDB103の“入力枠1”−“入力枠3”の何れかに対応する座標領域内である場合には(S03,Yes)、S10の処理に移行する。一方、情報処理装置10は、例えば、S02の処理で検出された接触位置の座標データが、
図5Aに例示の座標テーブルDB203の“入力枠1”−“入力枠3”の何れの座標領域内ではない場合には(S03,No)、
図7Bに例示の、S04の処理に移行する。
【0138】
図7Bに例示のフローチャートにおいて、S04の処理では、情報処理装置10は、例えば、
図2A等に例示の確定ボタンA2に対するボタン操作(押下操作)であるか否かを判定する。情報処理装置10は、例えば、S02の処理で検出された接触位置が、
図5Aに例示の座標テーブル203の“確定ボタン”に対応する座標領域内であるか否かを判定する。
【0139】
情報処理装置10は、例えば、S02の処理で検出された接触位置が
図5Aに例示の座標テーブル203の“確定ボタン”に対応する座標領域内である場合には(S04,Yes)、S05の処理に移行し、
図5Cに例示する文字候補列バッファをクリアする。
【0140】
S06の処理では、情報処理装置10は、例えば、
図4A、4Bに例示のように、手書き文字入力が行われた表示画面の表示内容を更新する。なお、確定ボタンA2の押下操作による表示内容の更新については、
図4A、4Bで説明した。情報処理装置10は、例えば、S06の処理の表示内容の更新後、
図7Aに例示の、S02の処理に移行し、次の接触操作を検出するよう待機する。
【0141】
図7Bに例示のフローチャートのS04の処理において、情報処理装置10は、例えば、検出された接触位置が
図5Aに例示の座標テーブル203の“確定ボタン”に対応する座標領域内ではない場合には(S04,No)、S07の処理に移行する。S07の処理では、
図2A等に例示の削除ボタンA3に対する押下操作が判定される。
【0142】
S07の処理において、情報処理装置10は、例えば、S02の処理で検出された接触位置が
図5Aに例示の座標テーブル203の“削除ボタン”に対応する座標領域内である場合には(S07,Yes)、S08の処理に移行する。
【0143】
S08の処理では、情報処理装置10は、例えば、削除ボタンA3を押下する直前に入力されていた入力枠(文字枠)についての1文字分の、文字候補列バッファに格納された候補文字群のデータを消去する。そして、S09の処理では、情報処理装置10は、例えば、手書き文字入力が行われた表示画面の表示内容を更新する。
【0144】
更新後の表示画面では、例えば、削除ボタンA3を押下する直前に入力されていた入力枠の手書き文字の筆跡が消去される。また、例えば、削除ボタンA3を押下する直前に入力されていた入力枠に関連付けられて表示領域A5−A7に表示されていた文字候補群が消去される。また、例えば、表示領域A4に文字修飾が施された状態で表示された文字、或いは、文字列から、削除ボタンA3を押下する直前に入力されていた入力枠に対応する1文字分の文字が消去される。情報処理装置10は、例えば、S08の処理の表示内容の更新後、
図7Aに例示の、S02の処理に移行し、次の接触操作を検出するよう待機する。
【0145】
また、S07の処理において、情報処理装置10は、例えば、S02の処理で検出された接触位置が
図5Aに例示の座標テーブル203の“削除ボタン”に対応する座標領域内ではない場合には(S07,No)、再び、
図7Aに例示の、S02の処理に移行する。
【0146】
例えば、
図2A等に例示の、入力枠A1、確定ボタンA2、削除ボタンA3のそれぞれに対する入力操作等ではない場合には、処理中のS02で検出された接触位置は、誤接触等を起因として発生したものと考えられるからである。情報処理装置10は、例えば、
図2A等に例示の、入力枠A1、確定ボタンA2、削除ボタンA3のそれぞれに対する入力操作等ではない場合には、S02の処理に戻り、ユーザ操作等による、次の接触操作を検出するよう待機する。
【0147】
図7Aに例示のフローチャートに戻り、S10の処理では、情報処理装置10は、例えば、取得した接触位置の時系列の座標データが、S03の処理で接触位置が判定された入力枠とは異なる入力枠の領域であるかを判定する。情報処理装置10は、例えば、接触位置の時系列の座標データを取得する。そして、情報処理装置10は、例えば、時系列で取得された接触位置の座標データと、座標テーブルDB203の各入力枠に対応する座標領域との関係に基づき、S03の処理で接触位置が判定された入力枠とは異なる入力枠への接触であるかを判定する。
【0148】
情報処理装置10は、例えば、時系列で取得された接触位置の座標データが、S03の処理で接触位置が判定された入力枠とは異なる入力枠の座標領域に含まれる場合には(S10,Yes)、S14の処理に移行する。一方、情報処理装置10は、例えば、時系列で取得された接触位置の座標データが、S03の処理で接触位置が判定された入力枠の座標領域に含まれる場合には(S10,No)、S11の処理に移行する。
【0149】
S11の処理では、情報処理装置10は、例えば、入力枠の座標領域に接触させた操作指等の離脱期間の計測値が、所定の閾値以上であるかを判定する。情報処理装置10は、例えば、取得された時系列の接触位置の座標データから、表示デバイス面に接触させた操作指等の離脱を検知する。そして、情報処理装置10は、例えば、検知した離脱を契機としてタイマー102aを機能させ、再び接触位置の座標データが検出されるまでの離脱期間を計測し、計測された離脱期間と所定の閾値との比較を行う。
【0150】
情報処理装置10は、例えば、計測された離脱期間の計測値が所定の閾値以上である場合には(S11,Yes)、S14の処理に移行する。一方、情報処理装置10は、例えば、計測された離脱期間の計測値が所定の閾値未満である場合には(S11,No)、S12−S13の処理に移行する。
【0151】
S12の処理では、情報処理装置10は、例えば、取得した接触位置の時系列の座標データを、該当する入力枠内に手書き入力された文字の筆跡として表示する。情報処理装置10は、例えば、取得した接触位置の座標データを
図5Bに例示の座標データバッファに格納する(S13)。情報処理装置10は、例えば、S13の処理後、S02の処理に移行し、S02−S03,S10−S13の処理を繰り返す。
【0152】
S14の処理では、情報処理装置10は、例えば、S03の処理で接触位置が検出された入力枠の、座標データバッファに格納された接触位置の時系列の座標データを文字認識処理に引き渡す。座標データバッファに格納された座標データには、処理対象となる文字入力枠に手書き入力された文字の筆画を区別するデリミタが含まれる。情報処理装置10の文字認識処理は、例えば、文字認識部103で実行される。文字認識部103で実行される文字認識処理については、例えば、
図3で説明した。
【0153】
S15の処理では、情報処理装置10は、例えば、座標データバッファに格納された手書き入力文字の筆跡となる時系列の座標データ、タイマー102aで計測された計測値(タイマー値)をクリアする。そして、S16の処理では、情報処理装置10は、例えば、加速度センサ処理部103aで蓄積された端末状態値を取得する。取得された端末状態値は、主記憶部12の所定の領域に一時的に記憶する。
【0154】
なお、加速度センサ処理部103aで実行される端末状態値の蓄積処理のフローチャートを
図7Dに例示する。
図7Dに例示のフローチャートにおいて、情報処理装置10は、例えば、一定の周期間隔で加速度センサ14aによって検出された上下左右前後方向の加速度値を取得する(S101)。ここで、一定の周期間隔として、例えば、CPU11が実行する定期的な割り込み周期が例示できる。情報処理装置10は、例えば、CPU11が実行する定期的な割り込みにより、加速度センサ14aで検出した加速度値を取得する。
【0155】
S102の処理では、情報処理装置10は、例えば、S101の処理で取得された加速度値と所定の閾値との比較を行い、情報処理装置10の状態(入力環境)が安定状態か不安定状態かを判定する。判定の結果は、例えば、“0”、“1”の2値状態で表されるフラグ値として表すことができる。情報処理装置10は、例えば、取得された加速度値が所定の閾値以上の場合には、不安定状態を表す“1”を端末状態値として蓄積する。また、情報処理装置10は、例えば、取得された加速度値が所定の閾値未満である場合には、安定状態を表す“0”を端末状態値として蓄積する。
【0156】
情報処理装置10は、例えば、CPU11が実行する定期的な割り込みの発生毎に、S101−S102の処理を繰り返す。なお、端末状態値の蓄積処理については、
図3で説明した。
【0157】
図7Aに例示のフローチャートに戻り、S17の処理では、情報処理装置10は、例えば、S14の処理で引き渡された接触位置の時系列の座標データに基づいて文字認識を行う。情報処理装置10は、例えば、文字認識の結果、認識された接触位置の時系列の座標データに対応する候補文字群を、候補順に、
図5C等に例示する文字候補列バッファに格納する。文字候補列バッファには、候補文字についての確からしさを表す指標値である類似度が候補文字と共に格納される。
【0158】
情報処理装置10は、例えば、文字認識辞書DB201を参照し、S14の処理で引き渡された接触位置の時系列の座標データと文字認識辞書DB201に登録された登録文字との照合を行う。照合の結果、情報処理装置10は、例えば、文字認識辞書DB201に登録された登録文字との類似度に応じて候補文字群を特定する。候補文字群には、例えば、類似度に応じた候補順位が付与される。なお、文字認識辞書DB201に登録された登録文字による文字候補群の特定については、
図3で説明した。
【0159】
図7Aに例示のフローチャートに戻り、S18の処理では、情報処理装置10は、例えば、S14の処理で引き渡された接触位置の時系列の座標データが、1文字目の入力であるかを判定する。情報処理装置10は、例えば、
図5Aに例示の座標テーブルDB203の“入力枠1”に対応付けられた座標領域から、S14の処理で引き渡された接触位置の時系列の座標データが1文字目の入力であるか否かを判定する。
【0160】
情報処理装置10は、例えば、S14の処理で引き渡された接触位置の時系列の座標データが1文字目の入力である場合には(S18,Yes)、
図7Cに例示のフローチャートのS26の処理に移行する。
【0161】
情報処理装置10は、例えば、S14の処理で引き渡された接触位置の時系列の座標データが1文字目の入力である場合には、文字列として候補文字群を組合せて文字認識率を向上させる文字認識後処理を行うことができない。このため、情報処理装置10は、S26の処理に移行し、例えば、S17の処理で文字候補列バッファに格納された1文字目の候補文字群を、処理中の入力枠についての文字認識結果としてLCD15a等の表示画面に表示する。
【0162】
例えば、
図2A等に例示のように、情報処理装置10のLCD15a等の表示画面の表示領域A5−A7には、1文字目の入力枠についての候補文字群が、候補順位に応じた候補文字が文字認識結果として表示される。また、表示領域A4には、1文字目の入力枠についての第1候補として認識された候補文字が、未確定状態を表す文字修飾を施された状態で表示される。
【0163】
図7Aに例示のフローチャートに戻り、S18の処理において、情報処理装置10は、例えば、S14の処理で引き渡された接触位置の時系列の座標データが1文字目の入力でない場合には(S18,No)、S19の処理に移行する。S19の処理では、情報処理装置10は、例えば、S16の処理で取得した端末状態値が“1”であるかを判定する。
【0164】
情報処理装置10は、例えば、S18の処理で1文字目の入力でないと判定できる場合には、他の入力枠で認識された候補文字群と組合せた文字列について、文字認識率を向上させる文字認識後処理を行うことが可能となる。
【0165】
ここで、
図2Aで説明したように、手書き文字入力に係る情報処理装置10の入力環境が安定な状態である場合には、正解となる候補文字が最上位候補として文字認識される傾向にある。そして、例えば、最上位候補を除く他の候補文字では、候補文字の確からしさを示す類似度は低い傾向にある。このため、安定した入力環境では、例えば、文字認識後処理による候補順位の入れ替えを行わなくとも、最上位候補として文字認識された候補文字の組合せを採用することで、文字認識確度の高い、正解となる候補文字の組合せを表示することが可能となる。
【0166】
一方、
図2Bで説明したように、手書き文字入力に係る情報処理装置10の入力環境が不安定な状態である場合には、最上位候補に正解となる候補文字が含まれる割合は小さく、最上位候補を含む候補文字群の類似度は低い傾向にある。従って、不安定な入力環境では、例えば、文字認識後処理を実行し、文字列として登録単語との一致に基づく候補文字群の候補順位の入れ替えを行うことで文字認識確度の高い、正解となる候補文字の組合せを表示することが可能となる。
【0167】
情報処理装置10は、例えば、S16の処理で取得した端末状態値のフラグ値に基づいて、手書き文字入力に係る情報処理装置10の入力環境状態を判定することにより、入力環境状態に対応した文字認識後処理を実行することが可能となる。
【0168】
図7Aに例示のS19の処理では、情報処理装置10は、例えば、S16の処理で取得した端末状態値が“1”であるかを判定する。例えば、情報処理装置10は、端末状態値が“1”の場合には、手書き文字入力に係る情報処理装置10の入力環境が不安定な状態であると判断できるからである。同様に、例えば、情報処理装置10は、端末状態値が“0”の場合には、手書き文字入力に係る情報処理装置10の入力環境が安定な状態であると判断できるからである。
【0169】
情報処理装置10は、例えば、S16の処理で取得した端末状態値が“0”の場合には(S19,No)、
図7Cに例示のフローチャートのS26の処理に移行する。S26の
処理では、情報処理装置10は、例えば、S17の処理で文字候補列バッファに格納された候補文字群を、処理中の入力枠についての文字認識結果としてLCD15a等の表示画面に表示する。
【0170】
例えば、
図2A等に例示のように、情報処理装置10のLCD15a等の表示画面の表示領域A5−A7には、候補順位に応じた候補文字が文字認識結果として表示される。また、表示領域A4には、個々の入力枠で第1候補として認識された候補文字の組合せである文字列が、所定の文字修飾を施され表示される。表示領域A4には、
図2A等で説明したように、正解となる確度の高い候補文字の組合せが、確定前の文字列として表示される。
【0171】
図7Aに例示のフローチャートに戻り、S19の処理において、情報処理装置10は、例えば、S16の処理で取得した端末状態値が“1”の場合には(S19,Yes)、
図7Cに例示のフローチャートのS20−S26の処理に移行する。情報処理装置10は、例えば、S20−S26の処理を実行し、文字候補列バッファに格納された候補文字群の組合せから生成された文字列と単語辞書DB201に登録された登録単語とのマッチングを行い、候補順位の入れ替えを行う文字認識後処理を実行する。情報処理装置10は、タッチパネルに入力された一連の手書き文字入力に対し、それぞれの手書き入力文字について文字認識された複数の候補文字を組合せ、S20−S26に示す文字認識後処理を実行する。
【0172】
図7Cに例示のフローチャートにおいて、S20の処理では、情報処理装置10は、例えば、文字候補列バッファに格納された個々の入力枠についての候補文字群のそれぞれを総当たりで組合せ、全候補文字列の生成を行う。S20の処理により生成された各候補文字列には、例えば、個々の候補文字の類似度を足し合わせた類似度和が関連付けられる。情報処理装置10は、例えば、生成された候補文字列を類似度和の大小順に整列し、主記憶部12の所定の領域に一時的に記憶する。なお、S20の全候補文字列の生成については、例えば、
図6B、6C、6Dで説明した。
【0173】
S21の処理では、情報処理装置10は、例えば、S20の処理で生成された全候補文字列の中から、マッチングの対象となる候補文字列を選択する。情報処理装置10は、例えば、生成された候補文字列の中から整列順にマッチング対象となる候補文字列を抽出する。
【0174】
S22に処理では、情報処理装置10は、例えば、S20の処理で生成された全ての候補文字列とのマッチングが完了したかを判定する。情報処理装置10は、例えば、主記憶部12の所定の領域に記憶された全候補文字列にマッチングの処理対象となる候補文字列が存在しないことを判定する。
【0175】
情報処理装置10は、例えば、主記憶部12の所定の領域に記憶された全候補文字列にマッチングの処理対象となる候補文字列が存在しない場合には(S22,Yes)、A26に移行する。S26の処理では、情報処理装置10は、例えば、S17の処理で文字候補列バッファに格納された候補文字群を、処理中の入力枠についての文字認識結果としてLCD15a等の表示画面に表示する。LCD15a等の表示画面には、個々の入力枠で認識された候補文字群が、候補順位の入れ替えが行われることなく、所定の表示領域に表示される。
【0176】
一方、情報処理装置10は、例えば、主記憶部12の所定の領域に記憶された全候補文字列にマッチングの処理対象となる候補文字列が存在しない場合には(S22,No)、S23に移行する。S23の処理では、情報処理装置10は、例えば、単語辞書DB20
2を参照し、S21の処理で抽出された候補文字列と単語辞書DB202に登録された登録単語とのマッチングを行う。S21の処理で抽出された候補文字列と単語辞書DB202に登録された登録単語とのマッチングの結果は、S24の処理で判定される。
【0177】
S24の処理では、情報処理装置10は、S21の処理で抽出された候補文字列と一致する登録単語が単語辞書DB202に存在するか否かを判定する。情報処理装置10は、例えば、S23の処理の結果、S21の処理で抽出された候補文字列と一致する登録単語が単語辞書DB202に存在しない場合には(S24,No)、S21の処理に移行し、次の候補文字列についてS21−S24の処理を繰り返す。
【0178】
一方、情報処理装置10は、例えば、S21の処理で抽出された候補文字列と一致する登録単語が単語辞書DB202に存在する場合には(S24,Yes)、S25の処理に移行する。
【0179】
S25の処理では、情報処理装置10は、例えば、S21の処理で抽出された候補文字列と一致する登録単語に基づき、
図7AのS17の処理で文字候補列バッファに格納された、個々の入力枠で文字認識された候補文字群の候補順位の入れ替えを行う。なお、文字候補列バッファに格納された、個々の入力枠で文字認識された候補文字群についての候補順位の入れ替えについては、例えば、
図6A、6B、6F、6Gで説明した。
【0180】
例えば、手書き文字“あめ”の入力に対し、1文字目の“あ”について第1候補に“お”、第2候補に“あ”、第3候補に“ち”が候補文字として文字認識されていると想定する。また、2文字目の“め”について第1候補に“め”、第2候補に“ぬ”、第3候補に“あ”が候補文字として文字認識されていると想定する。例えば、
図6Aに例示のように、表示領域A4に表示される文字列は、第1候補の候補文字の組合せである“おめ”が文字認識結果の文字列として表示される。
【0181】
例えば、単語辞書DB202に“あめ”が登録単語として登録されている場合には、情報処理装置10は、1文字目の第1候補である“お”と第2候補である“あ”との候補順位の入れ替えを行う。この結果、例えば、
図6Fに例示するように、類似度が相対的に低い第2候補の“あ”が第1候補の候補文字となり、類似度が相対的に高い第1候補の“お”が第2項の候補文字として、文字候補列バッファに格納される。
【0182】
図7Cに例示のフローチャートに戻り、S26の処理では、情報処理装置10は、例えば、文字認識後処理により候補順位の入れ替えが行われた候補文字列バッファに格納された候補文字群に基づいて、文字認識結果の表示を行う。
【0183】
例えば、
図6Gに例示のように、1文字目の第1候補として候補文字が表示される表示領域A5には入替後の“あ”が表示され、第2候補として候補文字が表示される表示領域A6には入替後の“お”が表示される。また、表示領域A4には、1文字目と2文字目で第1候補として文字認識された候補文字を組合せた文字列“
あめ”が、確定前の状態を示す下線よる文字修飾を施された状態で表示される。S20−S26の文字認識後処理の結果、情報処理装置10は、タッチパネルに入力された一連の手書き文字入力に対し、それぞれの手書き入力文字について文字認識された複数の候補文字の組合せと一致する登録単語に基づいた、候補文字表示を行うことができる。
【0184】
図7Cに例示のフローチャートに戻り、S26の処理の後、情報処理装置10は、例えば、
図7Aに例示のフローチャートのS02の処理に戻り、ユーザ操作等による、次の接触操作を検出するよう待機する。
【0185】
ここで、情報処理装置10で実行されるS02−S14の処理は、タッチパネルにより検出された接触座標から複数の候補文字を認識する文字認識ステップの一例である。また、情報処理装置10のCPU11等は、タッチパネルにより検出された接触座標から複数の候補文字を認識する文字認識手段の一例としてS02−S14の処理を実行する。
【0186】
また、情報処理装置10で実行されるS19の処理は、タッチパネルを含む筐体の動きを判定するステップの一例である。また、情報処理装置10のCPU11等は、タッチパネルを含む筐体の動きを判定する手段の一例としてS19の処理を実行する。
【0187】
また、情報処理装置10で実行されるS20−S26の処理は、筐体の動きが所定量以上と判定された場合には、文字認識ステップで認識された複数の候補文字の組合せで単語辞書を検索し、検索結果に基づいた候補文字列を出力するステップの一例である。また、情報処理装置10のCPU11等は、筐体の動きが所定量以上と判定された場合には、文字認識手段で認識された複数の候補文字の組合せで単語辞書を検索し、検索結果に基づいた候補文字列を出力する手段の一例としてS20−S26の処理を実行する。
【0188】
また、情報処理装置10で実行されるS19,“No”−S26の処理は、文字認識ステップは、候補文字と文字認識の基準となる文字形状との一致の程度を示す類似度を算出し、筐体の動きが所定量未満と判定された場合には、文字認識ステップで認識された複数の候補文字を、候補文字のそれぞれに算出された類似度順に出力するステップの一例である。また、情報処理装置10のCPU11等は、文字認識手段は、候補文字と文字認識の基準となる文字形状との一致の程度を示す類似度を算出し、筐体の動きが所定量未満と判定された場合には、文字認識手段で認識された複数の候補文字を、候補文字のそれぞれに算出された類似度順に出力する手段の一例としてS19,“No”−S26の処理を実行する。
【0189】
以上、説明したように、本実施形態の情報処理装置10では、加速度センサ14a等で検出された検出値に基づいて、手書き文字入力に係る情報処理装置10の入力環境の状態を判定することができる。情報処理装置10では、例えば、加速度センサ14a等で検出された検出値が所定の閾値以上の場合には、手書き文字入力に係る情報処理装置10の入力環境が、不安定な状態と判定できる。
【0190】
情報処理装置10は、手書き文字入力に係る情報処理装置10の入力環境が不安定な状態と判定された場合には、単語辞書DB202を参照し、個々の入力枠で認識された候補文字群の候補順位を入れ替える文字認識後処理を行うことができる。文字認識後処理の結果、情報処理装置10では、単語辞書DB202に登録された登録単語の文字列に基づいて、個々の入力枠に入力された手書き文字の文字認識率を高めることができる。
【0191】
また、本実施形態の情報処理装置10は、手書き文字入力に係る情報処理装置10の入力環境が安定な状態と判定された場合には、例えば、個々の入力枠で認識された候補文字群は確からしさを表す指標に基づいて表示することができる。
【0192】
このため、本実施形態の情報処理装置10は、例えば、文字認識後処理に係るCPU11への処理負担、稼働率を軽減することができる。また、本実施形態の情報処理装置10は、安定状態の入力環境の際には、個々の入力枠に入力された手書き文字についての文字認識結果の処理時間を軽減することができる。この結果、本実施形態の情報処理装置10では、情報処理装置10の文字認識に係る消費電力を抑制することができる。本実施形態の情報処理装置10では、電子機器の手書き入力時の環境状態に応じて電力消費を抑制する技術が実現できる。
【0193】
<変形例>
(1)実施例では、例えば、候補文字として認識された全ての候補文字を(実施例では3個)文字認識後処理の対象としていた。変形例の一例としての文字認識後処理では、例えば、候補文字毎に求められた確からしさ(類似度)に基づいて、文字認識後処理の対象となる候補文字数を決定するとしてもよい。
【0194】
例えば、情報処理装置10は、候補文字毎に求められた類似度に対し、文字認識後処理の処理対象として候補文字を選択するための選択閾値を設ける。そして、例えば、
図7Cに例示のフローチャートのS20の処理において、情報処理装置10は、文字候補列バッファに格納された各候補文字の類似度に対して選択閾値との比較を行い、文字認識後処理の対象となる候補文字を選択する。
【0195】
例えば、
図5Cの文字候補列バッファを説明例とすると、類似度に対する選択閾値を“8”とした場合、8未満の類似度が格納された候補文字を、文字認識後処理の対象として選択することができる。例えば、
図5Cの文字候補列バッファからは、入力枠1の{あ、お}の2文字、入力枠2の{し、く、レ}、入力枠3の{た、に}を選択することができる。この場合、生成される候補文字列数は、“2通り×3通り×2通り=12通り”となり、27通りの候補文字列について行われる文字認識後処理に係る、処理時間、CPU11の処理負担、稼働率等を相対的に軽減できる。この結果、更なる消費電力の抑制が期待できる。
【0196】
なお、選択閾値は、例えば、加速度センサ14aで検出された検出値に応じて可変するとしてもよい。例えば、情報処理装置10の動き、揺れが相対的に大きい場合には、類似度に対する選択閾値を、“8”→“11”と言ったように低い値に可変するとしてもよい。同様に、例えば、情報処理装置10の動き、揺れが相対的に小さい場合には、類似度に対する選択閾値を、“8”→“5”と言ったように高い値に可変するとしてもよい。
【0197】
情報処理装置10の動きの程度に応じて、文字認識後処理に係る処理時間、CPU11の処理負担、稼働率等を相対的に軽減できる。情報処理装置10の動きの程度に応じた消費電力の抑制が期待できる。
【0198】
さらに、選択閾値の適用対象を、候補文字を組合せて生成される候補文字列の類似度和とすることができる。例えば、
図6Dを説明例とすると、類似度和に対する選択閾値を“11”とした場合、11未満の類似度和が格納された候補文字列を、単語辞書DB202に登録された登録単語とのマッチング処理に係る文字列として選択することができる。マッチング処理に係る候補文字列数を類似度和で限定することにより、マッチング処理に係る処理時間、CPU11の処理負担、稼働率等を相対的に軽減できる。
【0199】
(2)実施例において、文字候補後処理の実行タイミングは、2文字目以降に入力された手書き文字毎に実行されていた。変形例の一例としての文字認識後処理では、例えば、表示画面上に表示された入力枠の全てに文字認識が行われた後に、一括して実行するとしてもよい。
図2Aの例では、例えば、文字枠A1a−A1cへ入力された手書き文字への全ての候補文字群が文字認識された後に、個々の文字枠についての候補文字群をそれぞれに組合せた、3文字の文字列について、一括して文字認識後処理が行われるとしてもよい。表示画面上に表示された入力枠の全てに文字認識が行われた後に、文字認識後処理を一括して実行することで、手書き文字を入力したユーザの意図を反映した文字認識が期待できる。
【0200】
(3)実施例では、安定状態の場合には、文字認識後処理であるA20−S25をスキップし、文字認識された候補文字群を類似度に基づく候補順に表示するとしていた。変形例
の一例としての文字認識後処理では、例えば、安定状態であっても文字認識後処理は実行するとしてもよい。但し、変形例の文字認識後処理は、文字認識後処理の対象となる候補文字の個数を限定し実行される。例えば、変形例(1)で説明したように、文字認識後処理の処理対象の個数を候補文字の類似度で限定することが例示できる。
【0201】
例えば、変形例(3)では、文字認識後処理の対象となる候補文字の選択閾値として、変形例(1)で説明した選択閾値より類似度が高い第1の選択閾値を備えることができる。そして、変形例(3)の情報処理装置では、例えば、安定状態と判定された場合でも、第1の選択閾値より類似度が高い候補文字を選択し、文字認識後処理を行うとすればよい。なお、変形例(3)の情報処理装置では、変形例(1)に説明した文字認識後処理を行うことができる。この場合には、例えば、安定状態で実行される文字認識後処理の候補文字を選択する選択閾値を第1の選択閾値とし、第1の選択閾値より類似度が低い第2の選択閾値を不安定状態で実行される文字認識後処理の候補文字を選択するための選択閾値とすることができる。第1の選択閾値と第2の選択閾値との大小関係は、実験的に求めることができる。
【0202】
また、例えば、
図2Aの例では、文字認識対象となる候補文字群を仮名文字等の文字属性に限定することが例示できる。また、例えば、情報処理装置10を使用するユーザに固有のユーザ辞書、時節に応じた“はやり言葉”等を登録した辞書等を備え、安定状態の際には、上述した辞書に登録された単語を優先的に処理するとしてもよい。
【0203】
《コンピュータが読み取り可能な記録媒体》
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【0204】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
【0205】
《その他》
以上の実施形態は、さらに以下の付記と呼ぶ態様を含む。以下の各付記に含まれる構成要素は、他の付記に含まれる構成と組み合わせることができる。
(付記1)
タッチパネルにより検出された接触座標から複数の候補文字を認識する文字認識手段と、
前記タッチパネルを含む筐体の動きを判定する手段と、
前記筐体の動きが所定量以上と判定された場合には、前記文字認識手段で認識された複数の候補文字の組合せで単語辞書を検索し、検索結果に基づいた候補文字列を出力する手段と、
を備える電子機器。(1)
(付記2)
前記文字認識手段は、前記候補文字と文字認識の基準となる文字形状との一致の程度を示す類似度を算出し、
前記筐体の動きが所定量未満と判定された場合には、前記文字認識手段で認識された複
数の候補文字を、候補文字のそれぞれに算出された類似度順に出力する手段をさらに備える、付記1に記載の電子機器。(2)
(付記3)
前記文字認識手段は、前記候補文字と文字認識の基準となる文字形状との一致の程度を示す類似度を算出し、
前記筐体の動きが所定量未満と判定された場合には、前記文字認識手段で認識された複数の候補文字の中から、前記候補文字に対して算出された類似度が第1閾値以上の候補文字を処理対象として選択すると共に、前記選択された候補文字の組合せで単語辞書を検索し、検索結果に基づいた候補文字列を出力する手段をさらに備える、付記1または2に記載の電子機器。(3)
(付記4)
前記筐体の動きが所定量以上と判定された場合には、前記文字認識手段で認識された複数の候補文字の中から、前記候補文字に対して算出された類似度が前記第1閾値よりも低い第2閾値以上の候補文字を処理対象として選択すると共に、前記選択された候補文字の組合せで単語辞書を検索し、検索結果に基づいた候補文字列を出力する、付記3に記載の電子機器。(4)
(付記5)
前記文字認識手段は、前記筐体の動きの程度に応じて、認識された複数の候補文字の中から処理対象となる候補文字を選択するための第1閾値を可変する、付記3に記載の電子機器。(5)
(付記6)
前記文字認識手段は、前記筐体の動きの程度に応じて、認識された複数の候補文字の中から処理対象となる候補文字を選択するための第2閾値を可変する、付記4に記載の電子機器。(6)
(付記7)
単語辞書を備えるコンピュータに、
タッチパネルにより検出された接触座標から複数の候補文字を認識する文字認識ステップと、
前記タッチパネルを含む筐体の動きを判定するステップと、
前記筐体の動きが所定量以上と判定された場合には、前記文字認識ステップで認識された複数の候補文字の組合せで単語辞書を検索し、検索結果に基づいた候補文字列を出力するステップと、
を実行させる手書き文字入力プログラム。
(付記8)
前記文字認識ステップは、前記候補文字と文字認識の基準となる文字形状との一致の程度を示す類似度を算出し、
前記筐体の動きが所定量未満と判定された場合には、前記文字認識ステップで認識された複数の候補文字を、候補文字のそれぞれに算出された類似度順に出力するステップをさらに実行させる、付記7に記載の手書き文字入力プログラム。
(付記9)
前記文字認識ステップは、前記候補文字と文字認識の基準となる文字形状との一致の程度を示す類似度を算出し、
前記筐体の動きが所定量未満と判定された場合には、前記文字認識ステップで認識された複数の候補文字の中から、前記候補文字に対して算出された類似度が第1閾値以上の候補文字を処理対象として選択すると共に、前記選択された候補文字の組合せで単語辞書を検索し、検索結果に基づいた候補文字列を出力するステップをさらに実行させる、付記7または8に記載の手書き文字入力プログラム。
(付記10)
前記筐体の動きが所定量以上と判定された場合には、前記文字認識ステップで認識された複数の候補文字の中から、前記候補文字に対して算出された類似度が前記第1の閾値よ
りも低い第2閾値以上の候補文字を処理対象として選択すると共に、前記選択された候補文字の組合せで単語辞書を検索し、検索結果に基づいた候補文字列を出力する、付記9に記載の手書き文字入力プログラム。
(付記11)
前記文字認識ステップは、前記筐体の動きの程度に応じて、認識された複数の候補文字の中から処理対象となる候補文字を選択するための第1閾値を可変する、付記9に記載の手書き文字入力プログラム。
(付記12)
前記文字認識ステップは、前記筐体の動きの程度に応じて、認識された複数の候補文字の中から処理対象となる候補文字を選択するための第2閾値を可変する、付記10に記載の手書き文字入力プログラム。