(57)【要約】【課題】  効率的にかつ精度良く手書き文字認識を実行することができる情報処理装置及びその制御方法、プログラムを提供する。【解決手段】  手入力された軌跡データに対応する文字を認識する。その文字認識結果の候補文字列を後処理する。入力処理、文字認識結果の候補に対する処理を含む各種処理の実行を指示するための指示による処理種類に基づいて、新たに入力される文字を、後処理対象の文字列に継続させるか否かを判定する。【選択図】  図３
2006323502.tif 000002
【特許請求の範囲】
【請求項１】
手書き文字の軌跡データを入力して文字認識し、その文字認識結果に対して後処理を実行する情報処理装置であって、
前記軌跡データを入力する入力手段と、
前記入力手段で入力された軌跡データに対応する文字を認識する文字認識手段と、
前記文字認識手段による文字認識結果の候補文字列を後処理する後処理手段と、
前記入力手段による入力処理、前記文字認識結果の候補に対する処理を含む各種処理の実行を指示するための指示手段と、
前記指示手段によって実行が指示される処理種類に基づいて、該指示手段による指示以降に入力される新たな文字を、前記後処理手段で既に後処理対象となっている後処理文字列に継続させるか否かを判定する判定手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記新たに入力される文字として、それに対応する文字コードが確定している文字を挿入する挿入手段とを更に備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記処理種類が前記入力手段による入力処理である場合には、該入力手段で入力された軌跡データに対する前記文字認識手段による文字認識結果として新たに入力される候補文字を、前記後処理手段で既に後処理対象となっている後処理文字列に継続させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記入力手段と、前記指示手段と、及び前記文字認識手段による文字認識結果の候補文字を表示する候補表示領域を含む操作画面と、当該情報処理装置上で動作するアプリケーションが生成するアプリケーション画面と、当該情報処理装置上で動作する複数種類のアプリケーションを切替るための切替操作画面を表示する表示手段を更に備える
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記入力手段は、前記軌跡データを入力する入力領域を備え、
前記指示手段は、
前記候補表示領域上の候補文字を変更するための変更部と、
前記候補表示領域上の候補文字を仮名漢字変換するための変換部と、
前記候補表示領域上で表示されるカーソルが位置する前の候補文字を削除するための削除部と、
前記候補表示領域上で空白文字を挿入するための空白文字挿入部と、
前記候補表示領域上の候補文字列を確定して前記アプリケーション画面上に、該候補文字列を挿入するための候補文字列確定部と
を備えることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記判定手段は、前記処理種類が、前記入力領域に対する入力処理、前記入力領域に対する未入力時間が所定時間経過した場合に発生するタイマーイベント処理、前記削除部による削除処理、前記切替操作画面による切替処理のいずれかである場合には、該入力領域に入力された軌跡データに対する前記文字認識手段による文字認識結果として新たに入力される候補文字を、前記後処理手段で既に後処理対象となっている後処理文字列に継続させる
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
当該情報処理装置を制御するオペレーティングシステムが内部メモリに確保する記憶領域に記憶された文字を挿入する挿入手段を更に備え、
前記判定手段は、前記処理手種類が前記挿入手段による挿入処理である場合には、その挿入処理で新たに入力される文字を、前記後処理手段で既に後処理対象となっている後処理文字列に継続させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記後処理手段は、前記文字認識結果の候補文字列間の連鎖確率を算出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
手書き文字の軌跡データを入力して文字認識し、その文字認識結果に対して後処理を実行する情報処理装置の制御方法であって、
前記軌跡データを入力する入力工程と、
前記入力工程で入力された軌跡データに対応する文字を認識する文字認識工程と、
前記文字認識工程による文字認識結果の候補文字列を後処理する後処理工程と、
前記入力工程による入力処理、前記文字認識結果の候補に対する処理を含む各種処理の実行を指示するための指示工程と、
前記指示工程によって実行が指示される処理種類に基づいて、該指示工程による指示以降に入力される新たな文字を、前記後処理工程で既に後処理対象となっている後処理文字列に継続させるか否かを判定する判定工程と
を備えることを特徴とする情報処理装置の制御方法。
【請求項１０】
手書き文字の軌跡データを入力して文字認識し、その文字認識結果に対して後処理を実行する情報処理装置の制御を実現するプログラムであって、
前記軌跡データを入力する入力工程のプログラムコードと、
前記入力工程で入力された軌跡データに対応する文字を認識する文字認識工程のプログラムコードと、
前記文字認識工程による文字認識結果の候補文字列を後処理する後処理工程のプログラムコードと、
前記入力工程による入力処理、前記文字認識結果の候補に対する処理を含む各種処理の実行を指示するための指示工程のプログラムコードと、
前記指示工程によって実行が指示される処理種類に基づいて、該指示工程による指示以降に入力される新たな文字を、前記後処理工程で既に後処理対象となっている後処理文字列に継続させるか否かを判定する判定工程のプログラムコードと
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手書き文字の軌跡データを入力して文字認識し、その文字認識結果に対して後処理を実行する情報処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
従来より、入力された手書き文字の軌跡（ストローク）を認識する文字認識装置が存在する。この種の文字認識装置（例えば、特許文献１）では、単語の区切りを指定させるために、ユーザに、文字入力枠近傍の特定エリアにストロークを入力させ指定させることで、その区切りの位置を明確に指示させる必要がある。
【０００３】
また、文字列単位で後処理を実行するオンライン手書き文字認識装置では、認識開始ボタンが押されるまでに入力された手書き文字列を、後処理の対象とする構成としている。
【特許文献１】特開平６−２０８６５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の文字認識装置では、ユーザが都度、単語の区切りを入力指示しない限り、装置側は単語の区切りを認識できない。そのため、ユーザは、入力時には、本来意図する文字入力以外の入力作業を強いられ、自然な使い勝手が損なわれていた。
【０００５】
また、文字列単位での後処理を行う場合は、認識開始ボタンが押されるまでに入力された手書き文字列を後処理対象としている。そのため、文字列の入力途中で認識開始ボタンを押してしまった場合、その後に入力された文字は、認識されてしまった文字とは連係されず、認識率の低下あるいは意図する認識結果が得られない場合がある。
【０００６】
本発明は上記の課題を解決するためになされたものであり、効率的にかつ精度良く手書き文字認識を実行することができる情報処理装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
手書き文字の軌跡データを入力して文字認識し、その文字認識結果に対して後処理を実行する情報処理装置であって、
前記軌跡データを入力する入力手段と、
前記入力手段で入力された軌跡データに対応する文字を認識する文字認識手段と、
前記文字認識手段による文字認識結果の候補文字列を後処理する後処理手段と、
前記入力手段による入力処理、前記文字認識結果の候補に対する処理を含む各種処理の実行を指示するための指示手段と、
前記指示手段によって実行が指示される処理種類に基づいて、該指示手段による指示以降に入力される新たな文字を、前記後処理手段で既に後処理対象となっている後処理文字列に継続させるか否かを判定する判定手段と
を備える。
【０００８】
また、好ましくは、前記新たに入力される文字として、それに対応する文字コードが確定している文字を挿入する挿入手段とを更に備える。
【０００９】
また、好ましくは、前記判定手段は、前記処理種類が前記入力手段による入力処理である場合には、該入力手段で入力された軌跡データに対する前記文字認識手段による文字認識結果として新たに入力される候補文字を、前記後処理手段で既に後処理対象となっている後処理文字列に継続させる。
【００１０】
また、好ましくは、前記入力手段と、前記指示手段と、及び前記文字認識手段による文字認識結果の候補文字を表示する候補表示領域を含む操作画面と、当該情報処理装置上で動作するアプリケーションが生成するアプリケーション画面と、当該情報処理装置上で動作する複数種類のアプリケーションを切替るための切替操作画面を表示する表示手段を更に備える。
【００１１】
また、好ましくは、前記入力手段は、前記軌跡データを入力する入力領域を備え、
前記指示手段は、
前記候補表示領域上の候補文字を変更するための変更部と、
前記候補表示領域上の候補文字を仮名漢字変換するための変換部と、
前記候補表示領域上で表示されるカーソルが位置する前の候補文字を削除するための削除部と、
前記候補表示領域上で空白文字を挿入するための空白文字挿入部と、
前記候補表示領域上の候補文字列を確定して前記アプリケーション画面上に、該候補文字列を挿入するための候補文字列確定部と
を備える。
【００１２】
また、好ましくは、前記判定手段は、前記処理種類が、前記入力領域に対する入力処理、前記入力領域に対する未入力時間が所定時間経過した場合に発生するタイマーイベント処理、前記削除部による削除処理、前記切替操作画面による切替処理のいずれかである場合には、該入力領域に入力された軌跡データに対する前記文字認識手段による文字認識結果として新たに入力される候補文字を、前記後処理手段で既に後処理対象となっている後処理文字列に継続させる。
【００１３】
また、好ましくは、当該情報処理装置を制御するオペレーティングシステムが内部メモリに確保する記憶領域に記憶された文字を挿入する挿入手段を更に備え、
前記判定手段は、前記処理手種類が前記挿入手段による挿入処理である場合には、その挿入処理で新たに入力される文字を、前記後処理手段で既に後処理対象となっている後処理文字列に継続させる。
【００１４】
また、好ましくは、前記後処理手段は、前記文字認識結果の候補文字列間の連鎖確率を算出する。
【００１５】
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
手書き文字の軌跡データを入力して文字認識し、その文字認識結果に対して後処理を実行する情報処理装置の制御方法であって、
前記軌跡データを入力する入力工程と、
前記入力工程で入力された軌跡データに対応する文字を認識する文字認識工程と、
前記文字認識工程による文字認識結果の候補文字列を後処理する後処理工程と、
前記入力工程による入力処理、前記文字認識結果の候補に対する処理を含む各種処理の実行を指示するための指示工程と、
前記指示工程によって実行が指示される処理種類に基づいて、該指示工程による指示以降に入力される新たな文字を、前記後処理工程で既に後処理対象となっている後処理文字列に継続させるか否かを判定する判定工程と
を備える。
【００１６】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
手書き文字の軌跡データを入力して文字認識し、その文字認識結果に対して後処理を実行する情報処理装置の制御を実現するプログラムであって、
前記軌跡データを入力する入力工程のプログラムコードと、
前記入力工程で入力された軌跡データに対応する文字を認識する文字認識工程のプログラムコードと、
前記文字認識工程による文字認識結果の候補文字列を後処理する後処理工程のプログラムコードと、
前記入力工程による入力処理、前記文字認識結果の候補に対する処理を含む各種処理の実行を指示するための指示工程のプログラムコードと、
前記指示工程によって実行が指示される処理種類に基づいて、該指示工程による指示以降に入力される新たな文字を、前記後処理工程で既に後処理対象となっている後処理文字列に継続させるか否かを判定する判定工程のプログラムコードと
を備える。
【発明の効果】
【００１７】
本発明によれば、効率的にかつ精度良く手書き文字認識を実行することができる情報処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１９】
本発明では、手書き入力による文字列を、その文字列単位で後処理を実行する情報処理装置において、ユーザの指示入力の種類に応じた後処理継続判定部を設ける。そして、この後処理継続判定部によって、ユーザが文章の終了や継続等の指示入力を、特に意識して指示しなくても、自然にかつ適切な処理単位で後処理を実現する構成について説明する。これにより、本発明では、ユーザが入力する手書き入力に対する認識結果となる文字が、ユーザが意図する認識結果となる確率を高めることが実現できる。
【００２０】
また、文字コードで構成される一般的なテキスト文字列（文字コード列）を、後処理対象の文字列の一部として挿入する挿入部を設ける。そして、この挿入部によって、後処理対象の文字認識結果編集領域にテキスト文字列を挿入した場合でも、正常に後処理を実現する構成について説明する。これにより、手書き文字の認識結果と、一般的なテキスト文字列が混在する場合でも、ユーザの意図する文章の入力効率を向上させることができる。
【００２１】
＜実施形態１＞
図１は本発明の実施形態１の文字認識装置の使用形態の一例を示す図である。また、図２は本発明の実施形態１の文字認識装置として機能する情報携帯機器のハードウェア構成を示す図である。
【００２２】
１は、ＰＤＡ（パーソナルデジタルアシスタント）、携帯電話、デジタルカメラ、ノートＰＣ（パーソナルコンピュータ）等の携帯情報機器である。
【００２３】
この携帯情報機器１は、表示部２、指示具３、カメラ部４、座標入力部５、ＣＰＵ６、ＲＡＭ７、ＲＯＭ８、記憶メディア（例えば、スマートメディア、コンパクトフラッシュ（登録商標）等）を差し込むためのスロットを備えるメディアＩ／Ｆ（インタフェース）９、キーボード（表示部２上で表示されるソフトキーボード、あるいは通常のキーボード）１０、他の情報機器と接続するための外部Ｉ／Ｆ（ＵＳＢ、ブルートゥース等）１１、ネットワークＩ／Ｆ１２を備えている。
【００２４】
携帯情報機器１は、カメラ部４での撮影画像を液晶表示部２に表示し、その画像に付加するメモ情報等の付加情報を、座標入力部５によって入力する軌跡データ（ユーザの手書き入力操作による手書き軌跡データ）によって作成することができる。
【００２５】
ＣＰＵ６は、システムバス１３を介して、ＲＡＭ７、ＲＯＭ８、座標入力部５、表示部２等の携帯情報機器１の各種構成要素と接続している。また、ＣＰＵ６は、ＲＯＭ８に記憶されているプログラムによって各種制御を実行する。
【００２６】
ＲＡＭ７は、画像データ、入力された軌跡データ及びその位置情報等の各種データを記憶するとともに、データの作業領域、一時待避領域として機能する。
【００２７】
ＲＯＭ８は、本発明を実現する各種プログラムを含む携帯情報機器の制御プログラムが記憶されている。より詳しくは、ＲＯＭ８は、後述する、手書き文字入力時の後処理の制御処理プログラムや、カメラ部制御プログラム、表示部制御プログラム、手書き軌跡データの認識プログラム等の各種プログラムに加えて、手書き文字認識用の認識用辞書データ、後処理用辞書データ（連鎖確率算出用辞書データ）、各種テーブル、設定データ等のデータを記憶している。
【００２８】
入力された軌跡データは、従来からある手書き文字認識機能によって、対応する文字コードに認識されて、携帯情報機器１に入力することができる。また、入力された軌跡データは、認識されずにそのままの状態の画像（イメージデータ）を付加情報として撮影画像に付加したり、文字認識機能によって得られるテキストデータを付加情報として撮影画像に付加することができる。
【００２９】
この付加情報が付加された撮影画像の画像データはユーザの指示操作によって、外部Ｉ／Ｆ１１を介して、パーソナルコンピュータ等の外部端末５０へ送信することができる。または、その画像データを記憶メディア上に記憶した後、メディアスロットを備える外部端末５０やプリンタに装着することで、画像データの保存や印刷を実行することができる。
【００３０】
更に、携帯情報機器１で実現される電子メール機能によって作成された電子メールに画像データを添付した上で、ネットワークＩ／Ｆ１２を介して接続されるローカルネットワークや公衆回線等のネットワークを通じて、ネットワーク上の他の外部端末へ送信することも可能である。
【００３１】
２は表示部であり、例えば、液晶やＬＥＤで構成される。表示部２が液晶表示部で構成される場合には、液晶表示素子、液晶制御回路、表示メモリを有する。この表示部２は、システムバス１３経由でＣＰＵ６に接続している。また、ＣＰＵ６からの指示で、画像データや軌跡データを表示したり、各種操作画面を表示する。
【００３２】
この表示部２の上面に座標入力部５を重ねて配置することで、座標入力を行う一般的な透明抵抗膜デジタイザ（いわゆる、タッチパネル）を実現することができる。ユーザは、座標入力部５の座標入力面（表示部２の表示画面）上を指示具３で押圧することにより、軌跡データを入力することができる。
【００３３】
より詳しくは、座標入力部５は内部の制御回路（不図示）を介して、システムバス１３経由でＣＰＵ６に接続している。これにより、指示具３を使って、座標入力部５の座標入力面上を押圧することにより、押圧した位置の位置座標データがＣＰＵ６によって通知される。
【００３４】
この位置座標データに基づいて、携帯情報機器１は、表示部２上で実現するＧＵＩ（グラフィックユーザインタフェース）によるファイル一覧表示画面等の操作画面を、ＲＯＭ８内の処理手順に従って表示する。また、その入力された位置座標データが示す位置における操作画面上のデータファイルアイコン（データファイルを表す表示）に対応するデータファイルの内容を表示したり、その入力された位置に対応する画像を編集する等の各種処理を実行することができる。
【００３５】
また、指示具３を用いることで、携帯情報機器１で実現される各種機能の実行指示や画面操作を実現することができ、例えば、上述の電子メール機能も、この指示具３を用いて使用することができる。
【００３６】
３は指示具であり、手書きの軌跡データや、表示画面上のソフトボタン、ソフトキーボード等の入力に利用される。
【００３７】
４はカメラ部であり、一般的なデジタルカメラの構成要素である、レンズ、ＣＣＤ４ａ、ＣＣＤ制御回路（不図示）等の構成要素を備えている。また、このカメラ部４は、携帯情報機器１内のＣＰＵ６によって制御され、撮影された画像データはＣＰＵ６の制御の下、ＲＡＭ７に一旦記憶される。このカメラ部４での撮影画像を、電子メールに添付して送信することができるのは、上述した通りである。
【００３８】
より詳しくは、カメラ部４のＣＣＤ制御回路がシステムバス１１経由でＣＰＵ６に接続されている。そのため、このＣＰＵ６によってＣＣＤ制御回路を介してＣＣＤ６の動作が制御され、ＣＣＤ６による撮影画像がＲＡＭ７に記憶される。
【００３９】
メディアＩ／Ｆ９は、デジタルカメラ等で一般的な記憶メディア、例えば、コンパクトフラッシュ（登録商標）カードのインタフェース部である。特に、メディアＩ／Ｆ９は、接続されたメディア中のデータの読出／書込を実現し、画像データ等のデータを記憶することができる。
【００４０】
キーボード１０は、一般的なキーボードであり、キーを押すことにより、英数字等のキーコードが入力される。入力されたキーコードは、システムバス１３経由でＣＰＵ６が読み取る。
【００４１】
外部Ｉ／Ｆ１１は、例えば、ＵＳＢインタフェース部である。これは、ＣＰＵ６によって制御され、パーソナルコンピュータ等の外部端末と接続して、軌跡データや画像データ等の各種データのやり取りを行うことができる。
【００４２】
ネットワーク１／Ｆ１２は、例えば、通信カードで構成される。これは、内部にＰＨＳ回線等の公衆回線への接続コントローラやアンテナを内蔵している。通信カード内のコントローラに規定のコマンドを渡すことによって、公衆回線へ接続し、電子メールの送受信を実行できる。
【００４３】
また、この通信カードを、ローカルエリアネットワークカード等のネットワークカードに変更すれば、ローカルエリアネットワーク接続に対応することも可能である。ここでの電子メールの送受信のプロトコル自体は、従来の方法と同様である。
【００４４】
システムバス１３は、ＣＰＵ６とＲＡＭ７、ＲＯＭ８を含む携帯情報機器１の各種構成要素を相互に接続してデータの送受信を可能にする通信経路である。
【００４５】
５０はパーソナルコンピュータ等の外部端末である。この外部端末５０には、汎用コンピュータに搭載される標準的な構成要素（例えば、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク、外部記憶装置、ネットワークインタフェース、外部インタフェース、ディスプレイ、キーボード、マウス等）を有している。
【００４６】
また、実施形態１では、外部端末５０は、一般的なＵＳＢ等の外部インタフェースや、ネットワークを介して携帯情報機器１と接続し、画像データ６を送受信することができる。
【００４７】
次に、実施形態１の携帯情報機器の機能構成について、図３を用いて説明する。
【００４８】
図３は本発明の実施形態１の携帯情報機器の機能構成を示す図である。
【００４９】
尚、図３では、携帯情報機器の各種機能構成（破線部で囲まれる）に加えて、説明の関係上、ハードウェアである座標入力部５及び表示部２を示している。この機能構成は、例えば、ＣＰＵ６の制御の下、ＲＯＭ８に記憶される制御プログラムによって実現されても良いし、その一部／全部が専用のハードウェア回路で実現されても良い。
【００５０】
図３において、３１は処理種類判別部であり、座標入力部２から受信する位置座標データの範囲に応じて処理種類の判別を行う。そして、その判別した処理種類に応じて、入力座標データを各処理部に振り分ける処理を行う。
【００５１】
３２はテキスト編集処理部であり、手書き文字認識部３５によって得られるテキスト文字列に対して、削除や、仮名漢字変換や、アプリケーションの文字入力領域への挿入等の編集処理を実行する。
【００５２】
３３は後処理継続判定部であり、処理種類判別部３１から受信する各処理種類に応じて、後処理文字列（後処理対象の文字列）の継続及び終了（中止）を判定し、その判定結果を後処理部３４に送信する。
【００５３】
３４は後処理部である。ここでは、特に、文字列単位の後処理を実行し、そのアルゴリズムとしては、例えば、特開平１０−１９８７５９号等に記載されるアルゴリズムと同様のアルゴリズムを使用することができる。具体的には、手書き文字認識部３５で認識された候補文字列を、その文字同士の連鎖確率と、認識用辞書中の標準文字辞書データとの一致度等を加味して、入力された手書き文字列の認識候補を決定する。
【００５４】
尚、後処理としては、これに限定されず、例えば、形態素解析や、統計処理等の、認識処理によって得られる文字列に対して後処理されるものであれば、どのようなものでも良い。
【００５５】
３５は手書き文字認識部であり、処理種類判別部３１から、手書き文字の位置座標データ列を受信して、それと認識用辞書中の標準文字辞書データとのマッチング処理により、候補文字コードを出力する。
【００５６】
３６は認識候補表示選択部であり、手書き文字認識候補の選択指示処理を行う。この処理自体は、従来からある一般的な処理で、例えば、ある手書き文字の第１候補の表示を指示具３でタップすると、その文字の第１候補から第５候補までの候補群を候補表示エリアに表示させる。そして、この候補群から、その任意の候補をタップすると、そのタップした候補の文字と表示されている第１候補と入れ替える処理を行う。
【００５７】
尚、この機能構成は、携帯情報機器１上で実現される場合を例に挙げて説明しているが、これに限定されるものではない。つまり、この携帯情報機器と同等の機能あるいは、それ以上の機能を有するパーソナルコンピュータ等の汎用端末（情報処理装置）においても、本発明の図３の機能構成を実現できることは言うまでもない。
【００５８】
本発明では、手書き文字認識環境において実現される各種処理において、その処理種類に応じて、特に、文字列単位の後処理における後処理の継続の可否を、後処理継続判定部３３において判定する。そして、この判定を、後処理継続判定部３３で実現するために、例えば、後処理継続可否判定テーブルをＲＡＭ７上に記憶する。
【００５９】
ここで、この後処理継続可否判定テーブルについて、図４を用いて説明する。
【００６０】
図４は本発明の実施形態１の後処理継続可否判定テーブルを示す図である。
【００６１】
この後処理継続可否判定テーブルは、処理種類と、その後の後処理を継続するか否か（既に得られている文字認識結果の候補文字列に継続する新たな文字を含む文字列全体を、後処理対象の文字列とするか否か）を示す情報とを対応づけて管理している。
【００６２】
例えば、処理種類判別部３１で判定された処理種類が手書き文字認識候補の候補変更処理である場合は、後処理継続判定部３３は、後処理継続可否判定テーブルを参照することで、その時点で、その候補選択指示以前に入力していた文字に対する後処理はその時点で一旦中止（停止）すると判定する。
【００６３】
また、別の例としては、文字切り時間（ペンアップ時間（指示具３による操作がなされていない時間：未入力時間）が一定時間経過した場合に発生する処理（タイマーイベント））等による１文字の文字データの切り分け操作が行われた場合は、後処理継続判定部３３は、後処理継続可否判定テーブルを参照することで、その操作が行われた時点で入力していた文字及びそれ以降に入力される文字に対する後処理を継続すると判定する。
【００６４】
このように、本発明では、指示具３等による入力操作やイベント発生毎に、その入力操作種類やイベンド種類に基づいて、後処理の継続／中止を決定することで、ユーザにより使いやすい操作環境を提供することができる。
【００６５】
尚、この後処理継続可否判定テーブルは一例であり、用途や目的に応じて、様々な構成を実現することができる。つまり、ユーザの意図や目的に応じて、認識処理によって得られる文字列に対して後処理を適用したい処理種類やイベントに応じて様々な設定内容の後処理継続可否判定テーブルを構成できることは言うまでもない。
【００６６】
次に、実施形態１の文字認識処理の具体例について、図５を用いて説明する。
【００６７】
図５は本発明の実施形態１の文字認識処理の具体例を説明するための図である。
【００６８】
図５では、情報携帯機器１で動作する電子メールアプリケーション上で、本発明の文字認識処理を実現する手書き文字入力ユーティリティプログラムが動作する場合の表示画面例を示している。
【００６９】
尚、実施形態１では、例として、電子メールアプリケーションが生成するアプリケーション画面上で手書き文字入力ユーティリティプログラムを動作する例を挙げて説明するが、これに限定されるものではない。つまり、本発明は、文字入力が必要な他のアプリケーションプログラム、例えば、ファイルブラウザ、フォトビューワ、スケジューラ、ワープロプログラム等の他のプログラムについても有効であることは言うまでもない。
【００７０】
図５において、領域５１は、電子メールの宛先やサブジェクトを入力するための各種入力フィールドから構成される領域である。例えば、指示具３で、領域５１内の任意の位置を押下することにより、対応する入力フィールドに、テキスト入力用のカーソルが表示される。ユーザは、この状態で、手書き文字入力ユーティリティプログラムを使用して、その入力フィール内での文字入力を実行することができる。
【００７１】
領域５２は、電子メールの本文を入力するための領域である。例えば、指示具３で、その領域５２の任意の位置を押下することにより、テキスト入力用のカーソルが領域５２に表示される。ユーザは、この状態で、手書き文字入力ユーティリティプログラムを使用して、その領域内での文字入力を実行することができる。
【００７２】
画面５３は、手書き文字入力ユーティリティプログラムによって実現される手書き文字入力用画面である。その詳細については、図６で説明するが、任意のアプリケーションプログラム上で、文字入力が必要な場合は、この手書き文字入力ユーティリティプログラムを起動することで、ユーザは、手書き入力による文字入力を実行することができる。
【００７３】
もちろん、手書き文字入力ユーティリティプログラムを必要とするアプリケーションプログラムに予め割り付けておいて、そのアプリケーションプログラムの起動と同時に、手書き文字入力ユーティリティプログラムが起動される構成とすることも可能である。
【００７４】
この手書き文字入力ユーティリティプログラムによる手書き文字入力用画面５３に対して、ユーザによって手書き文字入力（軌跡データの入力）がなされると、図３の手書き文字認識部３５によってその軌跡データが認識される。そして、認識結果として得られる文字コードに対応する文字フォントが、一旦、手書き文字入力用画面５３で表示される。
【００７５】
ユーザは、手書き文字入力用画面５３が表示された文字が所望の文字であれば、その文字を確定することにより、現在表示されている文字が、電子メールアプリケーションプログラム上で表示されているカーソル位置に挿入される。
【００７６】
領域５４は、各種アプリケーションプログラムを切り替えるためのコントロール群と、手書き文字入力ユーティリティプログラムの起動を指示するためのコントロール（ボタンやアイコン）が配置されている領域である。
【００７７】
領域５４内において、ボタン５５は、手書き文字入力ユーティリティプログラムの起動ボタンである。このボタン５５が、指示具３で押下されると、手書き文字入力ユーティリティプログラムが起動され、その手書き文字入力用画面５３が表示される。一方、手書き文字入力ユーティリティプログラムが起動されている状態で、ボタン５５が押下された場合は、手書き文字入力ユーティリティプログラムが終了され、手書き文字入力用画面５３が消去される。
【００７８】
ボタン５６は、ファイルブラウザの起動ボタンである。このボタン５６が、指示具３で押下されると、携帯情報機器１で管理されている各種データを閲覧するためのファイルブラウザアプリケーションが起動される。
【００７９】
ボタン５７は、電子メールアプリケーションの起動ボタンである。このボタン５６が、指示具３で押下されると、電子メールアプリケーションが起動される。
【００８０】
ボタン５８は、フォトビューワの起動ボタンである。このボタン５６が、指示具３で押下されると、携帯情報機器１で管理されている画像データを閲覧するためのフォトビューワ（フォト表示アプリケーション）が起動される。
【００８１】
ボタン５９は、スケジューラ起動ボタンである。このボタン５９が、指示具３で押下されると、スケジューラアプリケーションが起動される。
【００８２】
次に、手書き文字入力ユーティリティプログラムが生成する手書き文字入力用画面５３の詳細について、図６を用いて説明する。
【００８３】
図６は本発明の実施形態１の手書き文字入力ユーティリティプログラムが生成する手書き文字入力用画面の一例を示す図である。
【００８４】
図６において、領域６１は入力文字バッファ領域であり、手書き文字認識結果の第１候補を表示する。ここでは、手書き文字の１文字の入力が確定し、認識処理が終了すると、その認識結果の第１候補が順次表示される。例えば、手書き入力で「今日は」と入力すると、その軌跡データが認識用辞書に登録されている形状（標準文字辞書データ）と同じ文字であれば、その認識結果として「今日は」が、この領域６１に表示される。
【００８５】
ここで、入力文字バッファ領域６１に表示されている文字群の内、意図する候補でない文字が含まれている場合には、ユーザは、その意図する候補でない文字を指示具３で押下して選択することで、その候補を変更することができる。
【００８６】
具体的には、ユーザが、入力文字バッファ領域６１中の任意の文字を押下して選択すると、候補表示領域６６に、その文字に対する第１位から第４位の候補群がその候補順に表示される。そして、その候補群に、意図する候補がある場合には、ユーザは、その候補を指示具３で押下して選択することにより、入力文字バッファ領域６１で選択した文字を、候補表示領域６６で選択した文字に、第１候補の文字として入れ替えることができる。
【００８７】
尚、入力文字バッファ領域６１に表示される第１候補の文字群は、後処理部３４の機能がユーザ指定によって明示的に無効にされている時は、手書き文字認識部３５の認識結果の認識候補順位をそのまま反映している。一方、後処理部３４の機能がユーザ指定によって明示的に有効にされている時は、手書き文字認識部３５の認識結果の認識候補を元に、その文字列の連鎖確率と、認識結果との一致度に基づいて、認識候補の順位を入れ替えて、入力文字バッファ領域６１内の文字の表示を制御する。
【００８８】
ボタン６２は変換ボタンである。このボタン６２が、指示具３で押下されると、入力文字バッファ領域６１内の平仮名文字の仮名漢字変換を行う。例えば、入力文字バッファ領域６１に、「あいが」が入力されている状態で、このボタン６２が押下されると、例えば、「愛が」に変換される。この変換候補が意図するものでない場合は、再度、ボタン６２を押下することにより、次候補が表示される。
【００８９】
ボタン６３はＢａｃｋＳｐａｃｅキーボタン（削除ボタン）である。このボタン６３が、指示具３で押下されると、入力文字バッファ領域６１内に文字が表示されている場合は、例えば、その入力文字バッファ領域６１内で表示されるカーソルが位置する前の１文字が削除される。一方、入力文字バッファ領域６１内に文字が１文字も入力されていない場合は、アプリケーション（例えば、電子メールアプリケーション上の領域５２）上で表示されているカーソルの左側の１文字が削除される。
【００９０】
ボタン６４はＳｐａｃｅキーボタン（空白文字挿入ボタン）である。このボタン６４が、指示具３で押下されると、入力文字バッファ領域６１内に文字列が表示されていて、文字列の後ろに挿入位置がある時は、その文字列の後ろに空白文字（空白コード）が挿入される。
【００９１】
ボタン６５はＥｎｔｅｒキーボタン（候補文字列確定／改行入力ボタン）である。このボタン６５が指示具３で押下されると、入力文字バッファ領域６１内に文字列が表示されている場合は、その文字列を確定して、アプリケーション上で表示されているカーソルの右側に、その文字列が挿入される。一方、入力文字バッファ領域６１内に文字が存在しない場合は、アプリケーション上で表示されているカーソルの右側に、改行コードが挿入され、カーソルが改行される。
【００９２】
領域６６は手書き文字認識の候補表示領域である。ここでは、上述のように、入力文字バッファ領域６１内の文字列中の選択された文字に対応する認識候補の第１位から第４位までを表示する。
【００９３】
上述したように、候補表示領域６６内に表示された文字の中から任意の文字を指示具３で押下して選択すると、入力文字バッファ領域６１内で選択した文字との入替が行われる。
【００９４】
例えば、入力文字バッファ領域６１内に「今日は良り」と言う認識結果の文字列が表示されている場合に、「り」を指示具３で押下して選択すると、候補表示領域６６内には、「り」に対する第１候補から第４候補である文字として、その順で「り」、「い」、「ぃ」、「”」等が表示される。ユーザは、その中から任意の文字を選択できる。例えば、「い」を指示具３で押下して選択すると、入力文字バッファ領域６１内の「り」が「い」に入れ替えられ、全体の文字列は、「今日は良り」から「今日は良い」に変更されることになる。
【００９５】
領域６７は手書き文字入力領域である。こでは、２つの領域６７ａ及び６７ｂに対して、手書き文字を交互に記入して行くことによって文字入力を行うことができる。
【００９６】
例えば、領域６７ａに、手書きで「い」を記入し、次に、領域６７ｂに手書きで「天」を構成する１筆（ストローク）目を書き出すと、領域６７ａの「い」の入力を確定し、「い」に対する認識処理を開始する。ここで、「い」の認識が終了した時点で、入力文字バッファ領域６１内に「い」の認識結果の第１候補が表示され、その時点で、領域６７ａに入力された手書き文字のストロークは消去される。
【００９７】
次に、領域６７ｂに対する処理を実行する。これは、「天」を構成する手書きのストロークが入力し終った時点で、次に書く文字が存在する場合は、領域６７ａに次の文字を書き出すと、「天」の認識処理が開始される。
【００９８】
一方、次に入力する文字がない場合は、指示具３からの操作（例えば、押下）時間が一定時間（ペンアップ時間）経過した時点で、「天」に対する入力が終了したと確定して、認識処理を行う。または、手書き文字入力領域６７以外の部分を、指示具３で触ると、その時点で、「天」に対する入力が終了したと確定しても良い。
【００９９】
そして、「天」の認識処理が終了した時点で、入力文字バッファ領域６１の「い」の認識結果の文字の右側に、「天」の認識結果の第１候補が表示され、領域６７ｂの「天」を構成するの手書きのストロークが消去される。
【０１００】
尚、これらの手書き文字の入力処理自体は、従来の手書き文字入力処理と同様にして実現することもできる。
【０１０１】
また、図５及び図６で示される、各種処理の実行を指示するための各種操作（指示）コントロール（ボタン、メニュー等）は、ＧＵＩ上で実現する例を示しているが、例えば、携帯情報機器上の物理的なボタンやキーによって実現されても良い。
【０１０２】
次に、実施形態１で実行する処理について、図７〜図９を用いて説明する。
【０１０３】
図７は本発明の実施形態１の文字列後処理継続判定処理を示すフローチャートである。
【０１０４】
尚、この処理は、主に、後処理継続判定部３３によって実行される。この処理の実行にあたっては、この処理が使用するＲＡＭ７上のワーク領域等の初期化を行う。
【０１０５】
まず、座標入力部２２によって、ユーザが、指示具３を使用して入力した文字や、編集操作が位置座標データとして入力される。そして、その位置座標データが示す位置によって、手書き文字の入力であるか、編集操作であるか、候補選択操作であるか、その他の操作であるか等の各種操作内容を判別する。尚、この判別は、上述したように、図３の処理種類判別部３１によって実現される。
【０１０６】
実施形態１では、この処理種類判別部３１による入力種類の判別例として、図６に示した手書き文字入力ユーティリティプログラムで実現する場合を例に挙げて説明する。尚、この手書き文字入力ユーティリティプログラムは、上述したように、図５の手書き文字入力用画面内のボタン５５を押下することにより起動される。
【０１０７】
以下、フローチャートについて、具体的に説明する。
【０１０８】
ステップＳ７０２において、入力文字バッファ領域６１内の文字列候補の変更を実行する候補変更処理である否かを判定する。この判定は、例えば、図６の入力文字バッファ領域６１内の文字列上に対して指示具３が押下されたか否かを判定する。特に、その領域内の位置座標が入力された場合には、候補変更処理であると判定する。そして、候補変更処理である場合（ステップＳ７０２でＹＥＳ）、ステップＳ７０３に進む。一方、候補変更処理でない場合（ステップＳ７０２でＮＯ）ステップＳ７０４に進む。
【０１０９】
ステップＳ７０３において、文字列後処理完了フラグをセットする。この文字列後処理完了フラグは、文字列後処理完了の有無を示すフラグである。
【０１１０】
例えば、ユーザが候補変更処理を行う場合は、その時点で、入力文字バッファ領域６１内に表示されている第１候補の文字列が、意図した文字列と異なる時である。そして、候補が変更された場合、変更された後の候補表示文字列が、ユーザが所望する文字列となる。従って、この時点で、今まで入力された文字列の後処理を終了（中止）させるため、文字列後処理完了フラグを、例えば、ＲＡＭ７にセットする。そして、この文字列後処理完了フラグがセットされると、図３の後処理部３４に後処理完了を指示する。
【０１１１】
ステップＳ７０４において、手書き文字入力の有無を判定する。この判定は、図６の手書き文字入力領域６７内の位置座標の入力の有無に基づいて判定する。手書き文字入力がある場合（ステップＳ７０４でＹＥＳ）、ステップＳ７０５に進む。一方、手書き文字入力がない場合（ステップＳ７０４でＮＯ）、ステップＳ７０６へ進む。
【０１１２】
ステップＳ７０５において、後処理文字列に認識候補を追加する処理を行う。図６の手書き文字入力領域６７に、入力された手書き文字の軌跡の１文字が確定した後で、図３の手書き文字認識部３５に入力された手書き文字の軌跡の位置座標データを渡す。次に、従来からあるオンライン手書き文字認識アルゴリズムを用いて、その位置座標データから、文字の特徴データを抽出する。
【０１１３】
次に、その特徴データと、認識用辞書内の標準文字辞書データ（標準文字特徴データ）とのマッチング処理により、特徴が一致している度合が高い標準文字辞書データの順で、入力された手書き文字に他する第１候補として第４候補までの候補を決定する。そして、決定した第１候補から第４候補それぞれに対応する文字コードと、一致度の評価値を、後処理部３４に渡す。
【０１１４】
後処理部３４は、この認識候補の文字コードと評価値からなる文字候補列から、その文字列同士の連鎖確率の高い組み合わせを決定して、その高い組み合わせを第１候補として、入力文字バッファ領域６１内の表示を変更する。
【０１１５】
例えば、入力文字バッファ領域６１内の表示が最初は、手書き文字認識部３５によって、「１２ろ４」であった場合で説明する。
【０１１６】
ここで、「ろ」に注目すると、「ろ」に対し、その第１候補が「ろ」、第２候補が「３」、第３候補が「了」。第４候補が「る」であったとする。この場合、文字列の組み合わせとしては、「１２ろ４」、「１２３４」、「１２了４」、「１２る４」の組み合わせがある。
【０１１７】
この場合、連鎖確率では、「１２３４」の組み合わせが高い評価値となり、第１候補の「ろ」と第２候補の「３」の評価値間の差が少なければ、「１２３４」の組み合わせが選ばれる。その結果、入力文字バッファ領域６１内の表示が、「１２ろ４」から「１２３４」に切り替わる。
【０１１８】
次に、ステップＳ７０６において、文字切り時間タイムアップの有無を判定する。
【０１１９】
図６の手書き文字入力領域６７で、１つの文字を構成する軌跡の内、最後の軌跡が入力された後で、指示具３での入力がある設定時間（所定時間）以上経過した場合、文字切り時間タイムアップイベントを発生させる。尚、この構成は、従来からのオンライン手書き文字認識で採用される一般的な処理でもある。
【０１２０】
そこで、文字切り時間が経過すると、この文字切り時間タイムアップイベントが発生する、つまり、文字切り時間タイムアップである場合（ステップＳ７０６でＹＥＳ）、ステップＳ７０７に進む。
【０１２１】
一方、それ以外のイベントや、それ以外の位置座標入力である場合（ステップＳ７０６でＮＯ）、ステップＳ７０８に進む。
【０１２２】
ステップＳ７０７において、後処理文字列に認識候補を追加した後処理部３４に対しては、継続指示を行う処理を行う。尚、従来の後処理を行う文字認識処理では、連続入力が終了したと判定される時点（例えば、文字切り時間タイムアップ時点）で、後処理を終了している。
【０１２３】
これに対し、実施形態１では、文字切り時間タイムアップイベントによって、ユーザが意図する手書き文字の軌跡群の最後の軌跡の入力が確定した場合に、一旦、手書き文字入力領域６７内の軌跡データを手書き文字認識部３５に渡す。そして、この手書き文字認識部３５から出力される候補文字とその評価値を後処理部３４に渡し、後処理部３４に後処理継続指示を出して入力待ちとする。
【０１２４】
これにより、本発明では、文字切り時間タイムアップが発生しても、それ以降の入力に対しても、後処理を継続することができる。
【０１２５】
ステップＳ７０８において、認識開始領域が押下されたか否かを判定する。実施形態１では、認識開始領域は、図６の手書き文字入力領域６７外の領域を定義しており、この領域に対する位置座標が入力された場合には、まず、認識開始イベントが発生する。
【０１２６】
具体的には、図６の手書き文字入力領域６７外の座標が入力された時に、手書き文字入力領域６７内に未処理の軌跡データが存在する場合は、まず、認識開始イベントが発生する。この認識開始イベントが発生した場合（ステップＳ７０８でＹＥＳ）、ステップＳ７０９に進み、その位置座標入力のデータはそのまま保持され、その位置における処理を、次のイベントとして実行する。
【０１２７】
例えば、手書き文字入力領域６７内に、「気」の手書き文字の軌跡が入力されている状態で、ボタン６５が指示具３で押下されると、まず、手書き文字入力領域６７外の領域（認識開始領域）が押されたことによる認識開始イベントが発生して、手書き文字認識が行われる。次に、その認識結果が入力文字バッファ領域６１に表示された後で、ボタン６５の押下に対する処理が実行される。一方、それ以外のイベントの場合（ステップＳ７０８でＮＯ）、ステップＳ７１０に進む。
【０１２８】
ステップＳ７１０において、１文字消去処理が指示されたか否かを判定する。これは、ボタン６３上の位置座標が入力された場合（ステップＳ７１０でＹＥＳ）、１文字消去処理と判定して、ステップＳ７１１に進む。一方、それ以外の位置座標入力である場合（ステップＳ７１０でＮＯ）、ステップＳ７１２に進む。
【０１２９】
ステップＳ７１１において、１文字削除処理を実行する。これは、入力文字バッファ領域６１内に文字がある場合は、その入力文字バッファ領域６１内の右端の１文字を消去する。次に、その消去した文字に対応する、後処理部３４内の後処理文字列内の認識候補を削除する処理を実行する。一方、入力文字バッファ領域６１内に文字がない場合は、アプリケーション上のカーソル位置左側の文字を消去し、後処理部３４内には処理対象のデータが存在しないため、何もしないでこの処理を終了する。
【０１３０】
ステップＳ７１２において、アプリケーションの切替処理の有無を判定する。アプリケーション切替指示となる、図５のボタン５６や５９等上の位置座標が入力された場合（ステップＳ７１２でＹＥＳ）、アプリケーション切替動作であると判定して、ステップＳ７１３に進む。一方、それ以外の位置座標入力である場合（ステップＳ７１２でＮＯ）、ステップＳ７１４に進む。
【０１３１】
ステップＳ７１３において、後処理文字列を継続する。実施形態１では、アプリケーションの切替を行っても、手書き文字入力ユーティリティプログラムの入力が継続する構成となっている。これは、入力途中でアプリケーションを変更する要求が発生する場合もあることを想定したものである。そのため、後処理部３４に対して後処理継続指示を出して入力待ちとする。
【０１３２】
ステップＳ７１４において、仮名漢字変換処理の指示の有無を判定する。
【０１３３】
これは、図６のボタン６２の位置座標が入力された場合（ステップＳ７１４でＹＥＳ）、仮名漢字変換処理であると判定して、ステップＳ７１５へ進む。それ以外の位置座標入力である場合（ステップＳ７１４でＮＯ）、ステップＳ７１６へ進む。
【０１３４】
ステップＳ７１５において、仮名漢字変換処理を実行する。仮名漢字変換処理自体は、従来から行われている各種仮名漢字変換処理で構わないので、その詳細な説明は省略する。簡単に説明すると、入力文字バッファ領域６１内に文字が入力されている場合で、例えば、「てんき」の平仮名が入力されている場合は、その文字列の仮名漢字変換を行い、「天気」等に変換する。この仮名漢字変換処理が実行される場合、入力文字列から、異なる文字コードの文字列に変換される処理がなされる。そのため、ここでは、後処理を継続しても意味をなさないので、後処理部３４に対する文字列後処理完了フラグをセットする。
【０１３５】
ステップＳ７１６において、文字列挿入が指示されたか否かを判定する。文字列挿入のコマンド等がユーザ指示により発生した場合（ステップＳ７１６４でＹＥＳ）、ステップＳ７１７に進む。このステップＳ７１７は、ステップＳ７１５と同様の処理を実行する。一方、それ以外の位置座標入力やそれ以外のイベントである場合（ステップＳ７１６でＮＯ）、処理を終了する。
【０１３６】
ここまで説明した処理により、各手書き文字入力の入力処理や編集処理に応じて、手書き文字の文字列単位の処理である後処理の継続や中止を制御することができる。
【０１３７】
尚、図７で示される各種判定（ステップＳ７０２、ステップＳ７０４、ステップＳ７０６、ステップＳ７０８、ステップＳ７１０、ステップＳ７１２、ステップＳ７１４、ステップＳ７１６）の順序は、図７で示される順序に限定されるものではなく、用途や目的に応じて、その順序を変更することができる。
【０１３８】
次に、手書き文字認識処理について、図８を用いて説明する。
【０１３９】
図８は本発明の実施形態１の手書き文字認識処理を示すフローチャートである。
【０１４０】
尚、手書き文字認識処理を開始する場合には、まず、この処理が使用するＲＡＭ７上のワーク領域等の初期化を行う。また、この処理は、主に、手書き文字認識部３５によって実行される。認識対象とする１文字分の軌跡の位置座標データは、図６の手書き文字入力領域６７上の領域６７ａ及び６７ｂによって、それぞれの領域に入力された軌跡データが１文字分の軌跡データとして入力される。
【０１４１】
ステップＳ９０２において、１文字分の軌跡データをワーク領域に読み込む。例えば、１文字分の軌跡データは、１画の文字であれば、１筆の軌跡データで構成されている。また、２画以上の文字であれば、複数の１筆の軌跡データから構成されている。１筆の軌跡データは、その位置を規定する、例えば、始点のＸＹ位置座標データからはじまり、軌跡の形状に沿ったＸＹ位置座標データが終点のＸＹ位置座標まで続く。そして、従来からあるアルゴリズムにより、位置座標データの正規化を行い、特徴点（特徴データ）を抽出する。
【０１４２】
ステップＳ９０３において、得られる軌跡データに対して、認識処理を実行し、その認識結果である候補文字（文字コード）をＲＡＭ７に記憶する。ここでは、ステップＳ９０２において抽出した軌跡データの特徴データと、認識用辞書の標準文字辞書データとのマッチング処理を行う。そして、一番一致度が高い標準文字辞書データに対応する文字コードと一致度のスコア（評価値）を認識結果として記憶し、順次一致度の高い順に標準文字辞書データに対応する文字コードを認識結果候補として記憶する。
【０１４３】
ステップＳ９０４において、認識結果候補を後処理部３４に登録する。つまり、ステップＳ９０３において記憶した認識結果の文字コードとその評価値を、後処理部３４に登録する。後処理部３４は、順次認識された認識結果である文字コードとその評価値を記憶して行くことになる。
【０１４４】
ここで、例えば、「工場」という手書き文字が入力された場合について説明する。まず、手書き文字認識部３５によって、「工」に対する認識結果の第１候補の文字が「工」でその評価値が１００であり、第２候補の文字が「エ」でその評価値が１００であり、第３候補の文字が「ェ」でその評価値が９０であるとする。
【０１４５】
次に、「場」に対する認識結果の第１候補の文字が「揚」でその評価値が９８で、第２候補の文字が「場」で一致度の評価値が９６であるとする。
【０１４６】
この場合、後処理部３４では、その候補の組み合わせ文字列の連鎖確率を後処理用辞書によって算出する。組み合わせは、「工揚」、「工場」、「エ揚」、「エ場」、「ェ揚」、「ェ場」等になる。そして、後処理部３４は、これらの組み合わせの中で、一番連鎖確率が高い候補文字列を決定する。
【０１４７】
ステップＳ９０５において、後処理部３４から候補文字列を読み出す。
【０１４８】
上述のように、例えば、手書き文字として「工場」を入力した際の手書き文字認識処理部３５での認識結果が「工揚」である場合でも、ステップＳ９０４の後処理部３４の処理によって、一番連鎖確率が高い候補文字列「工場」として決定されると、手書き文字の候補文字列として、「工場」が読み出されることになる。この場合、手書き文字認識処理部３５での認識結果が「工揚」が「工場」に置き換えることができる。
【０１４９】
ステップＳ９０６において、認識結果を表示する。例えば、図６の入力文字バッファ領域６１において、当初の認識結果として得られた「工場」が、ステップＳ９０５の処理によって「工場」に置き換わって表示されることになる。
【０１５０】
この一連の処理を、時系列で説明すると、最初に「工」が入力され、次の文字「場」の１筆目が入力されると、その時点で、入力された「工」に対する手書き文字認識部３５による認識結果の「工」が、入力文字バッファ領域６１に表示される。
【０１５１】
次に、「場」の文字の入力が、例えば、文字切り時間で確定すると、「場」に対する手書き文字認識部３５よる認識が開始され、その認識結果の１位が「揚」であれば、入力文字バッファ領域６１には、その認識結果として「工揚」が表示されることになる。
【０１５２】
次に、後処理部３４によって、手書き文字認識部３５による認識候補内の組み合わせで一番連鎖確率が高い候補文字列を決定し、その候補文字列が「工場」であれば、入力文字バッファ領域６１の表示を「工揚」から「工場」に置き換える。
【０１５３】
更に、次に入力されるユーザ指示が手書き文字、例えば、「が」であれば、入力文字列としては、「工場が」後処理対象となって後処理が実行される。
【０１５４】
一方、後処理結果の「工場」が意図した認識結果でなく、他の候補への候補変更処理や、１文字消去処理等の指示がなされる場合は、その時点までの文字列を確定文字列として取り扱い、後処理の継続を中止する（つまり、一旦、この時点で、文字列後処理完了フラグがセットされる）。その後、次に、入力される手書き文字は、後処理対象の先頭の文字として取り扱うことになる（この場合、文字列後処理完了フラグがリセットされる）。
【０１５５】
その後、手書き文字認識処理を終了する。ここで、記憶した一文字分の軌跡データを消去し、ワーク領域等を開放する。
【０１５６】
以上説明したように、実施形態１によれば、ユーザの指示入力によって規定される処理種類に応じて、入力された文字列に対する後処理の継続の有無を判定する後処理継続判定部を設ける。これによって、ユーザが、入力した文字列に対する後処理の継続や、確定を意識することなく（つまり、後処理単位の区切りを指定する操作を実行することなく）、文字入力や編集操作を自然に行える手書き文字認識環境を実現することができる。これにより、ユーザが意図する文字の入力が容易な手書き文字認識環境を実現することができる。
【０１５７】
＜実施形態２＞
実施形態１では、後処理対象の文字列は、手書き文字の認識結果を取り扱う例で説明を行っているが、通常の携帯情報機器では、手書き文字入力以外にも他のアプリケーションからコピーしたテキスト文字列を挿入して使う場合も多く存在する。このような場合は、１つの文の中に手書き文字の認識結果の文字と、挿入されたテキスト文字列とが混在することになる。この場合、今までの手書き文字認識装置では、このような状況での後処理を実現することはできない。
【０１５８】
そこで、実施形態２では、実施形態１の構成に加えて、テキスト挿入文字列を後処理部３４へ挿入するための挿入部１０１（図９）を追加する。これにより、１つの文の中に手書き文字の認識結果の文字と、挿入されたテキスト文字列とが混在する状態での、後処理を効率良く実現することができる。
【０１５９】
尚、挿入されたテキスト文字列とは、例えば、任意のアプリケーション上でコピーされた文字列や、過去に入力された文字列や、手書き認識された平仮名を仮名漢字変換した文字列がある。
【０１６０】
まず、実施形態２の携帯情報機器の機能構成について、図９を用いて説明する。
【０１６１】
図９は本発明の実施形態２の携帯情報機器の機能構成を示す図である。
【０１６２】
尚、実施形態１の図３と同一の構成については、同一の参照番号を付加して、その詳細説明については省略する。
【０１６３】
実施形態２では、上述したように、テキスト挿入文字列を後処理部３４へ挿入するための挿入部１０１を有している。この挿入部１０１は、図６の手書き文字入力ユーティリティプログラム内の入力文字バッファ領域６１に、他のアプリケーションプログラムや過去に保存したテキスト文字列を挿入する時に呼ばれる処理部である。
【０１６４】
この挿入部１０１では、入力文字バッファ領域６１に入力されている手書き文字の認識結果である候補文字列と、挿入されたテキスト文字列を後処理の対象文字列として取り扱うための処理を実行する。そして、この処理された候補文字列を、後処理部３４に送信する。
【０１６５】
次に、実施形態２の文字認識処理の具体例について、図１０〜図１２を用いて説明する。
【０１６６】
図１０〜図１２は本発明の実施形態２の文字認識処理の具体例を説明するための図である。
【０１６７】
図１０〜図１２は、ワープロアプリケーション上で、手書き文字入力ユーティリティプログラムが動作する場合の表示画面例を示している。
【０１６８】
図１０において、１１１は、ワープロアプリケーションのテキスト入力領域を示している。１１２は、後処理部３４に挿入されるテキスト文字列を概念的に表している表示である。「都市」というテキストが、そのワープロアプリケーションが動作するＯＳ（オペレーティングシステム）の機能であるテキスト用のカットバッファ領域（クリップボード領域：ＯＳが内部メモリに確保する記憶領域）に記憶されている状態を示している。
【０１６９】
図１１は、図１０の状態から、「都市」のテキスト文字列が入力文字列バッファ領域６１に挿入された状態を示している。また、図１２は、図１１の入力文字列バッファ領域６１中の「失われた都市の記憶を」の文字列の後ろに、手書きの「思い」を入力しようとする状態を示している。
【０１７０】
次に、挿入部１０１による、挿入された文字列を後処理部３４へ挿入する（追加する）挿入処理について、図１３を用いて説明する。
【０１７１】
図１３は本発明の実施形態２の挿入処理を示すフローチャートである。
【０１７２】
尚、このフローチャートに沿って、図１０〜図１２の状態遷移についても説明する。
【０１７３】
他のアプリケーション等で、メニューや、操作キー等による従来からある操作によって文字列を選択し、特定記憶領域（システム文字列記憶領域）にコピーする。
【０１７４】
次に、その特定記憶領域（システム文字列記憶領域）に記憶された文字列を、テキストカーソルが表示している場所にコマンドやメニュー等の指示により挿入する。
【０１７５】
ここまでの処理は、一般的なコンピュータや携帯情報機器での一般的な処理なので詳細な説明は行わない。
【０１７６】
図１０の入力文字列バッファ領域６１の「失われたの記憶を」の文字列の「失われた」の後ろにカーソルを移動させ、そこで、システム文字列記憶領域に記憶している「都市」の挿入が指示される。
【０１７７】
挿入が指示されると、画面上は、図１１の入力文字列バッファ領域６１の「失われた都市の記憶を」の文字列になる。尚、テキストの挿入処理自体は、従来の携帯情報機器と同一の処理である。
【０１７８】
この処理は、主に、挿入部１０１によって実行される。この処理の実行にあたっては、この処理が使用するＲＡＭ７上のワーク領域等の初期化を行う。
【０１７９】
次に、ステップＳ１４２において、システム文字列記憶領域に、記憶された挿入対象のテキスト文字列（挿入テキスト文字列）を読み込む。例えば、図１０で表している、挿入テキスト文字列「都市」の文字コードをＲＡＭ７内に記憶する。また、挿入が指示された時のカーソルの位置の位置情報を記憶する。
【０１８０】
ステップＳ１４３において、その挿入テキスト文字列を確定文字列として後処理部３４に挿入するために、その文字列データを、後処理部３４で処理する文字データと同じ構造（フォーマット）に加工する加工処理を実行する。後処理部３４で処理する文字列データ（後処理用文字列データ）は、文字コードとその評価値で構成されている。そこで、この挿入テキスト文字列は、もともと文字コードで規定されているので、加工処理では、その文字コードに対して、その評価値を最高点である１００に設定した後処理用文字列データを作成する。
【０１８１】
例えば、「都市」の例で説明すると、（「都」の文字コードとその評価値１００、「市」の文字コードとその評価値１００）の後処理用文字列データを作成し、カーソルの位置のデータと一緒に、後処理部３４に出力する。
【０１８２】
その後、この処理が使用したワーク領域等を開放する処理を実行して、処理を終了する。
【０１８３】
後処理部３４は、挿入カーソル位置を示す位置情報に基づいて、挿入テキスト文字列に対応する後処理用文字列データの挿入位置を判定する。そして、その判定結果に基づいて、その後処理用文字列データを、後処理部３４の後処理文字列記憶領内のカーソル位置に対応するデータ位置に挿入する。
【０１８４】
例えば、図１０及び図１１の例で説明すると、文字列「失われたの記憶を」において、「た」の右の位置にカーソルが存在する。そのため、カーソル位置は、４文字目の右となり、挿入カーソル位置のデータは４文字目を示す４というデータになる。
【０１８５】
図１０の文字列「失われたの記憶を」が、手書き文字入力における認識結果であれば、後処理の１文字目の「失」のデータは、第１候補「失」とその評価値９８、第２候補「矢」とその評価値９０で構成されている。以降、同様にして、例えば、４文字目の「た」は、第１候補「た」とその評価値９７、第２候補「Ｅ」とその評価値６０、第３候補「太」とその評価値５９である。また、５文字目の「の」は、第１候補「の」とその評価値９７、第２候補「０」とその評価値８０、第３候補「ｏ」とその評価値７８である。
【０１８６】
この状態の後処理用文字列データに対して、「都」の文字コードとその評価値１００、「市」の文字コードとその評価値１００を挿入する。ここで、挿入位置は、４文字目のデータの後ろであるから、４文字目の「た」の最後のデータである第３候補「太」の後ろに挿入され、５文字目が「都」となり、そのデータは第１候補「都」とその評価値１００となる。
【０１８７】
続いて、６文字目が「市」となり、そのデータは第１候補「市」とその評価値１００となる。７文字目は「の」となり、そのデータは第１候補「の」とその評価値９７、第２候補「０」とその評価値８０、第３候補「ｏ」とその評価値７８になる。以下のデータは、順次後ろにずれることになる。
【０１８８】
以上のようにして、後処理部３４で処理する後処理用文字列データの内容が更新される。つまり、ここでは、１つの文の中に手書き文字の認識結果の文字と、挿入テキスト文字列とが混在する状態の後処理用文字列データが生成されることになる。
【０１８９】
次に、その後処理文字列データが更新された後に、手書き文字が入力される例を、図１２を用いて説明する。
【０１９０】
図１２において、手書き文字入力６７の領域６７ａ及び６７ｂとにおいて、手書き文字「思い」が入力されると、実施形態１で説明した処理と同様に、まず、手書き文字認識処理が実行される。この場合、例えば、「思」に対する認識結果の第１候補「思」とその評価値９８、第２候補「恵」とその評価値６７と、「い」の認識結果の第１候補「い」とその評価値９５、第２候補「ぃ」とその評価値９０が得られるとする。
【０１９１】
この手書きの「思い」が入力される時に、後処理部３４における後処理用文字列データは「失われた都市の記憶を」であり、また、手書き文字の認識結果を挿入するカーソル位置は「を」の後ろに存在する。
【０１９２】
この場合、後処理用文字列データの１０文字目の「を」の第１候補「を」（評価値９６）、第２候補「あ」（評価値７７）の後ろに、「思」に対する認識結果の第１候補「思」（評価値９８）、第２候補「恵」（評価値６７）と、「い」の認識結果の第１候補「い」（評価値９５）と、第２候補「ぃ」（評価値９０）のデータを挿入する。
【０１９３】
このように処理された、後処理用文字列データ（「失われた都市の記憶を思い」）を元に、実施形態１で説明した後処理を行い、認識候補の表示候補を変更し、入力文字バッファ領域６１に表示する。
【０１９４】
この後処理用文字列データでの後処理を簡単に説明すると、後処理用文字列データ「失われた都市の記憶を思い」の内、「失われた」、「記憶を」、「思い」は手書き入力に対する認識結果であるので、その処理対象としてはそれぞれ複数の候補からなる文字コード群が存在し、「都市」は挿入テキスト文字列データとして入力されたので、１つの文字に対して１文字コードしか存在しない。
【０１９５】
即ち、後処理用文字列データは、図１４に示すような文字列（文字コード）候補列の組み合わせが得られることになる。そして、後処理部３４は、一番連鎖確率が高い候補文字列を連鎖確率用の後処理用辞書を元に決定する。尚、連鎖確率の算出方法については、従来より周知の方法を用いれば良いので、ここでは、その説明は省略する。
【０１９６】
以上説明したように、実施形態２によれば、テキスト文字を手書き文字入力に対する文字認識結果編集（確認）領域（入力文字バッファ領域）に挿入する構成を設けると、手書き文字列の入力過程で、別のアプリケーションで生成されたテキスト文字列やシステム文字列記憶領域に記憶されたテキスト文字列を挿入することができる。
【０１９７】
これにより、手書き文字入力に対する認識結果からなる文字列と、別途挿入されたテキスト文字列とが混在する文字列に対する後処理を問題無く機能させることができる手書き文字認識機能を搭載する情報処理装置を実現することができる。
【０１９８】
より具体的には、手書き入力による文字列を入力した後に、例えば、ワープロアプリケーションで作成した平仮名漢字変換による漢字文字列を入力し、更に、手書き入力による文字列を入力した場合でも、これらの入力した文字列を１つの処理対象として後処理（実施形態２では、例えば、連鎖確率算出処理）を実行することができる。これにより、ユーザが意図する文字列を、効率的にかつ適切な処理単位で後処理を実現することができ、より認識率の高い文字認識環境を提供することができる。
【０１９９】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０２００】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０２０１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０２０２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０２０３】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０２０４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０２０５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２０６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０２０７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０２０８】
【図１】本発明の実施形態１の文字認識装置の使用形態の一例を示す図である。
【図２】本発明の実施形態１の文字認識装置として機能する情報携帯機器のハードウェア構成を示す図である。
【図３】本発明の実施形態１の携帯情報機器の機能構成を示す図である。
【図４】本発明の実施形態１の後処理継続可否判定テーブルを示す図である。
【図５】本発明の実施形態１の文字認識処理の具体例を説明するための図である。
【図６】本発明の実施形態１の手書き文字入力ユーティリティプログラムが生成する手書き文字入力用画面の一例を示す図である。
【図７】本発明の実施形態１の文字列後処理継続判定処理を示すフローチャートである。
【図８】本発明の実施形態１の手書き文字認識処理を示すフローチャートである。
【図９】本発明の実施形態２の携帯情報機器の機能構成を示す図である。
【図１０】本発明の実施形態２の文字認識処理の具体例を説明するための図である。
【図１１】本発明の実施形態２の文字認識処理の具体例を説明するための図である。
【図１２】本発明の実施形態２の文字認識処理の具体例を説明するための図である。
【図１３】本発明の実施形態２の挿入処理を示すフローチャートである。
【図１４】本発明の実施形態２の後処理対象の文字列の組み合わせ例を示す図である。
【符号の説明】
【０２０９】
１  携帯情報機器
２  表示部
３  指示具
４  カメラ部
４ａ  ＣＣＤ
５  座標入力部
６  ＣＰＵ
７  ＲＡＭ
８  ＲＯＭ
９  メディアＩ／Ｆ
１０  キーボード
１１  外部Ｉ／Ｆ
１２  ネットワークＩ／Ｆ
１３  システムバス
【図１】
2006323502.tif 000003
【図２】
2006323502.tif 000004
【図３】
2006323502.tif 000005
【図４】
2006323502.tif 000006
【図５】
2006323502.tif 000007
【図６】
2006323502.tif 000008
【図７】
2006323502.tif 000009
【図８】
2006323502.tif 000010
【図９】
2006323502.tif 000011
【図１０】
2006323502.tif 000012
【図１１】
2006323502.tif 000013
【図１２】
2006323502.tif 000014
【図１３】
2006323502.tif 000015
【図１４】
2006323502.tif 000016