(57)【特許請求の範囲】
【請求項１】
入力モード処理部が、入力装置から枠なしで手書き文字列を入力するステップと、
表示・訂正モード処理部が、入力モード処理部により枠なしで手書き入力された入力文字と、文字認識を行う認識エンジンによる前記入力文字の認識結果とを、表示装置の表示画面上に表示する第１表示ステップと、
表示・訂正モード処理部が、入力装置から囲み又は区切りを示す描線を入力するステップと、
表示・訂正モード処理部が、前記第１表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された前記描線の入力位置が、入力文字についての第１外接矩形の内側か外側かを判断する位置判断ステップと、
表示・訂正モード処理部が、前記位置判断ステップにより、描線の入力位置が第１外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップと、
表示・訂正モード処理部が、前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び認識エンジンにより文字認識を行うための訂正認識ステップと、
表示・訂正モード処理部が、前記訂正認識ステップにより文字認識された認識結果を、表示装置の表示画面上に表示する第２表示ステップとを含み、
前記訂正認識ステップは、
認識エンジンが、囲み又は区切りにより訂正され再認識された候補文字を抽出すると共に、候補文字と他の認識文字候補との間をつなぐ経路を形成するステップと、
認識エンジンが、候補文字以外に関連し、訂正に矛盾する経路を削除するステップと、
認識エンジンが、候補文字と形成された経路に基づき、最適な経路を探索するステップとを含む文字認識方法。
【請求項２】
前記訂正認識ステップは、
認識エンジンが、訂正された手書き入力文字よりも前方の認識結果を確定するステップをさらに含み、訂正された手書き入力文字よりも後方の手書き入力文字のみを再探索するようにした請求項１に記載の文字認識方法。
【請求項３】
入力モード処理部が、入力装置から枠なしで手書き文字列を入力するステップと、
表示・訂正モード処理部が、入力モード処理部により枠なしで手書き入力された入力文字と、文字認識を行う認識エンジンによる前記入力文字の認識結果とを、表示装置の表示画面上に表示する第１表示ステップと、
表示・訂正モード処理部が、入力装置から囲み又は区切りを示す描線を入力するステップと、
表示・訂正モード処理部が、前記第１表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された前記描線の入力位置が、入力文字についての第１外接矩形の内側か外側かを判断する位置判断ステップと、
表示・訂正モード処理部が、前記位置判断ステップにより、描線の入力位置が第１外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップと、
表示・訂正モード処理部が、前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び認識エンジンにより文字認識を行うための訂正認識ステップと、
表示・訂正モード処理部が、前記訂正認識ステップにより文字認識された認識結果を、表示装置の表示画面上に表示する第２表示ステップとを含み、
前記判定ステップでは、表示・訂正モード処理部が、
訂正を指示するために入力された描線についての第２外接矩形を形成し、前記第２外接矩形の長手方向についての該描線の始点と終点との差と、第１外接矩形の長手方向の一辺の長さとを比較することで、
その差が一辺の長さの所定割合よりも小さければ、訂正の指示が囲みと判定し、
その差が一辺の長さの所定割合よりも小さくなければ、訂正の指示が区切りと判定するようにした文字認識方法。
【請求項４】
表示・訂正モード処理部は、訂正モードにおいて、訂正を指示するために入力された描線の入力位置が、第１外接矩形の内側にあり、描線が所定長以下又は入力時間が所定時間以下である場合、
手書き入力文字、第１外接矩形又は認識結果の近傍に候補文字を表示し、正しい候補文字が選択されることで認識文字を訂正する表示選択ステップをさらに含む請求項１乃至３のいずれかに記載の文字認識方法。
【請求項５】
表示・訂正モード処理部は、訂正モードにおいて、訂正を指示するために入力された描線の入力位置が、第１外接矩形の内側にあり、描線が所定長以上又は入力時間が所定時間以上である場合、
新たに入力された手書き入力文字に対して、認識エンジンにより文字認識を行うための再入力認識ステップをさらに含む請求項１乃至４のいずれかに記載の文字認識方法。
【請求項６】
認識エンジンは、前記手書き入力文字が英単語である場合、
近接している英文字をひとつの単語として区切り、格納された単語辞書中の候補を検索することで、英単語を文字認識するようにした請求項１乃至５のいずれかに記載の文字認識方法。
【請求項７】
前記第１及び第２表示ステップでは、表示・訂正モード処理部が入力文字、認識文字、及び／又は、外接矩形について、描線の色、濃さ又は太さを適宜に変更して表示するようにした請求項１乃至６のいずれかに記載の文字認識方法。
【請求項８】
表示・訂正モード処理部は、手書き入力文字が促音を示す小さい文字であった場合、
前記第１及び第２表示ステップでは、
通常の大きさの文字と促音を示す小さい文字とを区別して表示するようにした請求項１乃至７のいずれかに記載の文字認識方法。
【請求項９】
前記認識ステップで求められた入力文字ごとの第１外接矩形の内側の領域は、ユーザインタフェースのボタンとして機能するようにした請求項１乃至８のいずれかに記載の文字認識方法。
【請求項１０】
入力モード処理部が、入力装置から枠なしで手書き文字列を入力するステップと、
表示・訂正モード処理部が、入力モード処理部により枠なしで手書き入力された入力文字と、文字認識を行う認識エンジンによる前記入力文字の認識結果とを、表示装置の表示画面上に表示する第１表示ステップと、
表示・訂正モード処理部が、入力装置から囲み又は区切りを示す描線を入力するステップと、
表示・訂正モード処理部が、前記第１表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された前記描線の入力位置が、入力文字についての第１外接矩形の内側か外側かを判断する位置判断ステップと、
表示・訂正モード処理部が、前記位置判断ステップにより、描線の入力位置が第１外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップと、
表示・訂正モード処理部が、前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び認識エンジンにより文字認識を行うための訂正認識ステップであって、
認識エンジンが、囲み又は区切りにより訂正され再認識された候補文字を抽出すると共に、候補文字と他の認識文字候補との間をつなぐ経路を形成するステップと、
認識エンジンが、候補文字以外に関連し、訂正に矛盾する経路を削除するステップと、
認識エンジンが、候補文字と形成された経路に基づき、最適な経路を探索するステップとを含む前記訂正認識ステップと、
表示・訂正モード処理部が、前記訂正認識ステップにより文字認識された認識結果を、表示装置の表示画面上に表示する第２表示ステップとをコンピュータに実行させるための文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１１】
入力モード処理部が、入力装置から枠なしで手書き文字列を入力するステップと、
表示・訂正モード処理部が、入力モード処理部により枠なしで手書き入力された入力文字と、文字認識を行う認識エンジンによる前記入力文字の認識結果とを、表示装置の表示画面上に表示する第１表示ステップと、
表示・訂正モード処理部が、入力装置から囲み又は区切りを示す描線を入力するステップと、
表示・訂正モード処理部が、前記第１表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された前記描線の入力位置が、入力文字についての第１外接矩形の内側か外側かを判断する位置判断ステップと、
表示・訂正モード処理部が、前記位置判断ステップにより、描線の入力位置が第１外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップであって、訂正を指示するために入力された描線についての第２外接矩形を形成し、前記第２外接矩形の長手方向についての該描線の始点と終点との差と、第１外接矩形の長手方向の一辺の長さとを比較することで、その差が一辺の長さの所定割合よりも小さければ、訂正の指示が囲みと判定し、その差が一辺の長さの所定割合よりも小さくなければ、訂正の指示が区切りと判定する前記判定ステップと、
表示・訂正モード処理部が、前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び認識エンジンにより文字認識を行うための訂正認識ステップと、
表示・訂正モード処理部が、前記訂正認識ステップにより文字認識された認識結果を、表示装置の表示画面上に表示する第２表示ステップとをコンピュータに実行させるための文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１２】
枠なしで手書き入力された入力文字と、入力文字の認識結果とを表示するアプリケーションと、
認識結果の表示及び誤認識の訂正を行うための表示・訂正モード処理部と、
文字認識を行う認識エンジンとを備え、
前記表示・訂正モード処理部は、
前記アプリケーションにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された描線の入力位置が、入力文字についての第１外接矩形の内側か外側かを判断する位置判断手段と、
前記位置判断手段により、描線の入力位置が第１外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定手段と、
前記判定手段に基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び前記認識エンジンにより文字認識を行うための訂正認識手段とを備え、
前記訂正認識手段は、
囲み又は区切りにより訂正され再認識された候補文字を抽出すると共に、候補文字と他の認識文字候補との間をつなぐ経路を形成し、
候補文字以外に関連し、訂正に矛盾する経路を削除し、
候補文字と形成された経路に基づき、最適な経路を探索するようにした文字認識装置。
【請求項１３】
枠なしで手書き入力された入力文字と、入力文字の認識結果とを表示するアプリケーションと、
認識結果の表示及び誤認識の訂正を行うための表示・訂正モード処理部と、
文字認識を行う認識エンジンとを備え、
前記表示・訂正モード処理部は、
前記アプリケーションにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された描線の入力位置が、入力文字についての第１外接矩形の内側か外側かを判断する位置判断手段と、
前記位置判断手段により、描線の入力位置が第１外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定手段と、
前記判定手段に基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び前記認識エンジンにより文字認識を行うための訂正認識手段とを備え、
前記判定手段では、
訂正を指示するために入力された描線についての第２外接矩形を形成し、前記第２外接矩形の長手方向についての該描線の始点と終点との差と、第１外接矩形の長手方向の一辺の長さとを比較することで、
その差が一辺の長さの所定割合よりも小さければ、訂正の指示が囲みと判定し、
その差が一辺の長さの所定割合よりも小さくなければ、訂正の指示が区切りと判定するようにした文字認識装置。
【請求項１４】
入力モードにおいて、入力文字に対して文字認識を行い、前記認識エンジンにより入力文字の第１外接矩形及び認識結果を求めるための入力モード処理部をさらに備えた請求項１２又は１３に記載の文字認識装置。
【請求項１５】
前記第１外接矩形の内側の領域を、ユーザインタフェースの入力ボタンとした請求項１２乃至１４のいずれかに記載の文字認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文字認識方法、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体及び文字認識装置に係り、特に、キーボードを使用せず、記入枠なしで手書き入力された文字（文字列）を認識すると共に、この認識された文字（文字列）の修正を簡単に行うことのできる文字認識方法、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体及び文字認識装置に関する。
【０００２】
【従来の技術】
近年、表示装置を備えたコンピュータに文字を入力する際、キーボードを使用せず、マウス、タブレット等の適宜の卓上型のディジタイザ（座標読み取り装置）を使用して、設定された枠内に手書き入力を行い、この手書き入力された文字を文字認識する方法が知られている。ここで、手書き入力とは、ストローク入力とも呼ばれ、例えば、文字入力、描画の一筆、２点間の描線等、表現し得る文字や線等の入力をいう。
この方法によれば、キーボード操作に不慣れな人々でも、コンピュータ等の表示装置上に所望の文字を入力し、種々の文章を作成することができるようになる。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の方法では、コンピュータのアプリケーション（応用ソフト）によっては、予め１文字ごとに記入すべき枠が設定されている場合があった。このような場合、使用者（ユーザ）が手書き入力をする際、記入位置がその枠内に限定され、書きにくくなったり、また、文字を一つの枠内に対して１文字しか手書き入力できないので、ユーザが連続した文章を作成する際、時間と手間が必要となったりすることが想定された。
【０００４】
上述の事項を防止するためには、予め枠を設定しない、いわゆる「枠なし」文字認識を提案すればよい。しかしながら、例えば、コンピュータに備えられたディスプレイ等の表示装置に、手書き入力文字に対する文字認識結果を表示する場合、手書き文字の上に、手書き文字と交換して文字認識結果を表示すると、誤認識が起こった場合に何を書いたのかが分からなくなる。また、文字認識の結果、各文字の区切り位置が間違っていた場合（例えば、１文字を２文字として認識したり、逆に２文字を１文字として認識する等）、正しい区切り位置を示すために元パターンを再表示する操作が必要になり面倒となる。さらに、認識結果を手書き文字から離れた位置に表示すると、ユーザは、認識結果の確認や訂正の度に視線を動かさなくてはならなくなり、効率が悪くなる。
【０００５】
本発明は、以上の点に鑑み、枠なしで手書き入力された文字に対する文字認識及び認識の訂正を容易に行うことを目的とする。
例えば、本発明は、枠なしで手書き入力され、文字認識された文字に対して、複数の認識文字をひとつの入力文字として訂正することを目的とする。また、本発明は、枠なしで手書き入力され、文字認識された文字に対して、ひとつの認識文字を複数の入力文字として訂正することを目的とする。
【０００６】
また、本発明は、認識結果の近傍に候補文字を表示し、正しい候補文字が選択されることで認識文字を訂正することを目的とする。また、本発明は、もとの手書き入力文字を消去し、新たに入力された手書き入力文字に対して、再び文字認識を行うことにより訂正することを目的とする。
【０００７】
また、本発明は、Viterbi アルゴリズムを適用して、候補文字を探索することを目的とする。さらに、本発明は、訂正された手書き入力文字よりも前方の認識結果を確定した後、訂正された手書き入力文字よりも後方の手書き入力文字のみを再探索することにより、文字認識及び認識の訂正を効率よく行うことを目的とする。
【０００８】
【課題を解決するための手段】
本発明の第１の解決手段によると、
枠なしで手書き入力された入力文字と、入力文字の認識結果とを表示する表示ステップと、
前記表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された描線の入力位置が、入力文字についての第１外接矩形の内側か外側かを判断する位置判断ステップと、
前記位置判断ステップにより、描線の入力位置が第１外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップと、
前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び文字認識を行うための訂正認識ステップとを含む文字認識方法及び文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【０００９】
本発明の第２の解決手段によると、
枠なしで手書き入力された入力文字と、入力文字の認識結果とを表示するアプリケーションと、
認識結果の表示及び誤認識の訂正を行うための表示・訂正モード処理部と、
文字認識を行う認識エンジンとを備え、
前記表示・訂正モード処理部は、
前記アプリケーションにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された描線の入力位置が、入力文字についての第１外接矩形の内側か外側かを判断する位置判断手段と、
前記位置判断手段により、描線の入力位置が第１外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定手段と、
前記判定手段に基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び前記認識エンジンにより文字認識を行うための訂正認識手段と
を備えた文字認識装置を提供する。
【００１０】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態を詳細に説明する。
図１は、本発明に関する枠なし手書き文字認識装置を適用した文字認識システムの概略構成図である。
文字認識システム１は、例えば、ユーザ２、枠なし手書き文字（文字列）の認識コントロール部1０、アプリケーション３及び枠なし手書き文字列の認識エンジン部４を備える。認識コントロール部１０は、例えば、手書き文字列を入力する「手書き文字入力モード」の処理を行う手書き文字の入力モード処理部１１と、認識結果の表示及び誤認識の訂正を行う「認識結果表示・訂正モード」の処理を行う表示・訂正モード処理部１２を備える。
【００１１】
ユーザ２は、枠なしで手書き文字列を入力し、手書き文字列の認識を実行するための指示を、入力モード処理部１１に出力する。この手書き文字列の認識を実行するための指示は、アプリケーション３から任意のタイミングで入力モード処理部１１に出力することもできる。また、アプリケーション３は、認識字種の設定（平仮名・片仮名・漢字・・・）を、入力モード処理部１１に出力する。手書き文字列の認識を実行するための指示を受けた入力モード処理部１１は、入力された手書き文字列と認識字種の設定を、認識エンジン部４に出力する。認識エンジン部４は、この手書き文字列を認識すると共に、この認識結果を、認識コントロール部１０に出力する。認識コントロール部１０は、この認識結果を、アプリケーション３上に表示する。
【００１２】
一方、アプリケーション３上に表示された文字列が誤認識であると、ユーザによって判断された場合、ユーザ２は、誤認識された文字列を訂正するための指示（誤認識訂正指示）を、表示・訂正モード処理部１２に出力する。この指示を受けた表示・訂正モード処理部１２は、アプリケーション３上に表示された認識結果を訂正するための命令（結果訂正命令）を、認識エンジン部４に出力する。認識エンジン部４は、誤認識された文字列を再認識すると共に、この訂正された認識結果を、再び表示・訂正モード処理部１２に出力する。表示・訂正モード処理部１２は、上述したように、認識結果を再びアプリケーション３上に表示する。この認識結果が正しいならば、認識処理を終了し、誤認識であれば、ユーザ２は、再び、誤認識された文字列を訂正するための指示を、表示・訂正モード処理部１２に出力する。
【００１３】
図２は、本発明に関する文字認識方法のフローチャートである。なお、説明の便宜上、ここでのフローチャートの説明は、概略的なものとし、具体的な説明は後述する。
まず、枠のない表示画面上に、手書き文字列が、例えば、マウス、電子ペン等のポインティングデバイスを用いたユーザにより入力（例えば、ペンダウン入力）される（Ｓ１０１）。次に、処理モードが手書き文字入力モードか認識結果表示・訂正モードかを判定する（Ｓ１０３）。この２つのモードを判定する基準としては、例えば、表示画面上に何も入力されていなければ、手書き文字入力モードであり、一方、手書き文字列が既に入力されているならば、認識結果表示・訂正モードと判定するか、又は、この２つのモードを、図示しないモード切替えボタン等で表示させたり、ポインティングデバイスによる指示等により、この２つのモードをユーザに切替えさせるようにしてもよい。手書き文字入力モードであれば、ストローク入力（ここでは、ある文字又は文字列についてペンダウン入力の開始から終了までをいう）された手書き文字を文字認識する（Ｓ１０５）。
【００１４】
つぎに、ステップＳ１０５により文字認識された認識結果を、表示画面上に表示する（Ｓ１２１）。このとき、認識結果は、手書き入力文字と、その外接矩形とともに表示される。この表示された認識結果が正しいかどうかを、ユーザが判定し（Ｓ１２３）、表示された認識結果が正しいならば処理を終了し、正しくなければ、再び、ステップＳ１０１に戻る。
【００１５】
一方、ステップＳ１０３で表示・訂正モードであると判定された場合、認識された各々の文字の区切り位置を示す外接矩形を求め、ペンダウン入力された位置が、例えば、外接矩形の外側か内側かを判定する（Ｓ１０７、なお、詳細は後述する）。また、ステップＳ１０７でペンダウン入力された位置が外接矩形の外側にあれば、このストローク入力によって描かれた描線が「区切り」か「囲み」かを判定する（Ｓ１０９）。ここで、「区切り」というのは、本来複数の文字に分割されるべき手書き文字列が１文字に誤認識された場合、この誤認識された１文字を、この文字の外接矩形の外側から複数の文字分の手書き文字として区切ることをいう。一方、「囲み」は、本来１文字として認識されるべき手書き文字が２文字以上に誤認識された場合、この誤認識された２文字以上の文字を、この文字の外接矩形の外側から１文字分の手書き文字として囲むことをいう（詳細は後述する）。この描線が区切りである場合、後述する区切りによる訂正処理及び文字認識を行う（Ｓ１１１）。また、この描線が囲みである場合、後述する囲みによる訂正処理及び文字認識を行う（Ｓ１１３）。
【００１６】
一方、ステップＳ１０７でペンダウン入力された位置が外接矩形の内側にあれば、例えば、このペンダウン入力が、所定の長さより短いか（又は、所定時間より短時間の操作か）どうかを判定する（Ｓ１１５）。短ければ（又は、短時間の操作であれば、）、候補文字を表示すると共に、この候補文字の中に正しい文字があれば、この正しい候補文字がユーザにより選択される（Ｓ１１７）。また、ステップＳ１１５で、マウスの左クリック（又は中クリック等）、あるいは、ペンダウン入力が、所定の長さより長い（又は、所定の時間より長時間の操作）場合、単文字の入力と判定し、外接矩形の内側に再入力された単文字について、文字認識を行う（Ｓ１１９）。なお、ステップＳ１１１、ステップＳ１１３、ステップＳ１１７及びステップＳ１１９により文字認識又は選択された結果に対する処理は、上述したステップＳ１０５の後の処理（ステップＳ１２１、Ｓ１２３）と同様の処理が実行される。また、ステップＳ１１５では、ペンダウン入力の長さ又は時間で次の処理（ステップＳ１１７又はＳ１１９）を分岐する以外にも、例えば、マウスの他のクリック操作、図示しないキーボード上のボタン等による他の所定の操作で、後の処理を分岐するようにしてもよい。なお、上述のような主に電子ペンを用いた操作の他にも、トラックボール、マウス、キーボード等の適宜の入力装置を用いて操作するようにしてもよい。
【００１７】
以下、上述のフローチャートの各ステップの処理について詳細に説明する。
（ステップＳ１０１について）
【００１８】
図３は、本発明に関する文字認識プログラムを開始した際の表示画面についての説明図である。
認識コントロール部１０は、ユーザによって枠のない表示画面上で入力された手書き文字列を認識するための「文字認識プログラム」を実行し、例えば、コンピュータに備えられたディスプレイ等の表示装置上に入出力画面を表示し、また、手書き文字列の入力、枠なし文字列認識の実行及び誤認識の訂正等の操作を、ユーザが視覚的かつ容易に行うためのものである。この表示画面には、枠のない入出力表示画面１０１、認識結果表示画面１０２及び機能入力部１０３が表示される。機能入力部１０３は、複数の機能に対応し、認識対象である手書き入力文字に対して、例えば、クリックして適宜の指示を実行すれば、手書き入力文字に対して最適な操作を行うように配置されている。機能入力部１０３は、例えば、認識ボタン、入力終了ボタン、送信ボタン、１画削除ボタン、ＳＰＣボタン、改行ボタン、ＢＳボタン、全消去ボタン、認識取消ボタン、最小化ボタン、矢印で表されたスクロールボタンと、認識対象となる文字種「英字・数字・漢字・平仮名・片仮名・その他」をそれぞれ任意に選択するためのチェック・ボックス等を備える。
【００１９】
図４は、手書き文字列の入力に関する説明図である。
ユーザは、「手書き文字入力モード」において、例えば、マウスや電子ペンで、枠のない表示画面上に手書き文字を入力する（例えば、図４（Ａ）は日本語、図４（Ｂ）は英語の例をそれぞれ示す。）。なお、手書き文字を入力する際、表示手段を備えたコンピュータを使用するのであれば、マウスや電子ペンだけでなく、図形データの入力やＣＧ（コンピュータグラフィックス）を描くときに使われる、タブレット等の適宜の卓上型のディジタイザ（座標読み取り装置）等のポインティングデバイスも適用可能である。また、マウスは、例えば、左クリック用ボタン、右クリック用ボタン、場合によっては、さらに、中クリック用ボタンを備え、マウスのどのボタンに又は適宜のポインティングデバイスによる適宜の指示に、後述する各操作の開始合図の機能を持たせるかは、適宜変更することができる。また、手書き文字入力モードでは、誤った入力を訂正できるようにするために、例えば、最後に入力した画から順番に1画ずつ削除していく機能と、すべての入力を一括して削除する機能とを備える。
【００２０】
図５は、画面のスクロールに関する説明図である。
入力したい文字列を画面内に書ききれなかった場合には、例えば、画面をスクロールさせることで、所望の文字列を全て入力することができる（例えば、図５（Ａ）は日本語、図５（Ｂ）は英語の例をそれぞれ示し、これらは、図４（Ａ）（Ｂ）の表示画面のさらに下方にスクロールさせた例である。）。
【００２１】
（ステップＳ１０５について）
図６は、手書き文字列の認識の説明図である。
ユーザによる手書き文字列の入力が終了した場合（ストローク入力が終了）、ユーザが、例えば、右クリック等の適宜の操作を行うことで表示される４つのメニューの中から「認識」を選択するか、又は、アプリケーション上の画面上に表示されているツールバーの中から「認識」ボタンを選択すること等により、手書き文字列の認識を実行するための指示がなされる。この文字認識装置は、この指示に基づいて、枠なし文字列認識を開始する（例えば、図６（Ａ）は日本語、図６（Ｂ）は英語の例をそれぞれ示す。）。
【００２２】
図７及び８は、認識結果の表示例（１）及び（２）である。
画面上に表示される認識結果は、例えば、各文字の区切り位置を示す外接矩形と、この外接矩形内に表示される各文字の認識結果とで示される（例えば、図７（Ａ）は日本語、図７（Ｂ）は英語の例をそれぞれ示す。）。なお、この例では、外接矩形を表示したが、外接矩形があると思われる領域である外接矩形領域を想定し、外接矩形を表示しないようにしてもよい。また、手書き文字が英文の場合には、英文字単位の認識だけではなく、図８のように、英単語単位の認識も可能である。この場合、例えば、近接している各文字をひとつの単語として区切り、認識エンジン部４等に格納された単語辞書中の候補を検索することで、認識することができる。なお、枠の表示はオプションであって、ユーザの好みに応じて、枠を表示しないようにもできる。また、認識結果が表示された段階では、もとの手書き文字パターンの色や濃さ、ドットパターン等を変えて表示し、認識結果が後述する各種操作の対象であることを強調したり、もとの手書き文字に対する書き直しはいつでも行えるようにすることもできる。なお、標準状態では、認識対象は全字種であるが、「英字・数字・漢字・平仮名・片仮名・その他」の字種から、１つ又は複数の任意の字種を認識対象とするように設定することもできる。
【００２３】
図９は、認識結果の表示例（３）である。
認識された通常の大きさの文字の色を、例えば、青色で表示し、一方、促音などの小さい文字の色を、例えば、緑色で表示する等、通常の大きさの文字と小さい文字との色を変えて表示することで、通常の大きさの文字、例えば、「や、ゆ、よ」と促音などの小さい文字「ゃ、ゅ、よ」とを、認識結果から容易に判別できるようにすることもできる（例えば、図９（Ａ）（Ｂ）（Ｃ）は通常の大きさの文字、図９（Ｄ）（Ｅ）（Ｆ）は促音などの小さい文字の例をそれぞれ示す。）。
【００２４】
（ステップＳ１１１について）
図１０は、区切りによる区切り位置の訂正についての説明図である。
まず、本来複数の文字に分割されるべき手書き文字列（例えば、「お」「け」）が、図１０（Ａ）のように、1文字（例えば、「列」）として誤認識された場合を想定する。この場合、図１０（Ｂ）のように、外接矩形領域の外側から区切り線を引くことにより、「列」は、図１０（Ｃ）のように、「お」「け」に訂正される。また、本来複数の文字に分割されるべき手書き文字列（例えば、「ｏ」「ｆ」）が、図１０（Ｄ）のように、1文字（例えば、「Ｈ」）として誤認識された場合、図１０（Ｅ）のように、外接矩形領域の外側から区切り線を引くことにより、「Ｈ」は、図１０（Ｆ）のように、「ｏ」「ｆ」に訂正される。
【００２５】
（ステップＳ１１３について）
図１１は、囲みによる区切り位置の訂正についての説明図である。
まず、本来1文字として認識されるべき手書き文字、例えば、「枠」が、図１１（Ａ）上段のように、２文字以上（例えば、「木」と「中」）として誤認識された場合を想定する。この場合には、この「木」と「中」とを、図１１（Ｂ）のように、外接矩形又は外接矩形領域の外側から1文字分の手書き文字として囲むことにより、「木」及び「中」は、図１１（Ｃ）のように、「枠」に訂正される。
【００２６】
また、本来1文字として認識されるべき手書き文字、例えば、「Ｙ」が、図１１（Ｄ）のように、２文字以上（例えば、「ｅ」と「Ｓ」）として誤認識された場合には、この「ｅ」と「Ｓ」とを、図１１（Ｅ）のように、外接矩形又は外接矩形領域の外側から1文字分の手書き文字として囲むことにより、「ｅ」及び「Ｓ」は、図１１（Ｆ）のように、「Ｙ」に訂正される。
【００２７】
図１２は、囲みの判別についての説明図である。
手書き文字列を構成する点が、囲み線の中にアプリケーションで予め設定した割合以上含まれている場合、この手書き文字列は、囲まれていると判別される。例えば、図１２（Ａ）のような手書き文字の「し」は、内部的には図１２（Ｂ）のように点の集まりとして記録されている（囲み線も内部的には点の集まりとして記録されている）。アプリケーション側で、例えば、８０％以上の点が囲み線の中に含まれている場合、その線を囲まれているものとみなすように設定すると、図１２（Ｃ）のように囲まれた場合には、８点中７点（８７．５％）の点が囲みの中に入っているため、「し」は囲まれたものと判定される。逆に、図１２（Ｄ）のように囲まれた場合には、８点中６点（７５％）の点しか囲みの中に入っていないため、「し」は囲まれていないものと判定する。
【００２８】
（ステップＳ１０９について）
図１３は、囲みと区切りの判別処理に関する説明図である。
ここでは、囲み線又は区切り線の外接矩形を規定する。すなわち、外接矩形は、２通りあることになる（囲み線又は区切り線と、手書き入力文字との外接矩形）。図１３（Ａ）は、横幅（Ｘ座標）の方が大きい外接矩形に対して、ユーザが適宜の描線（囲み又は区切り）を描くときの幾何学的な説明図である。まず、囲み又は区切り線（図中、実線）の外接矩形（図中、破線）の横幅をＣＸ、縦幅をＣＹとする。ここでは、ＣＸ＞ＣＹであり、ユーザによる囲み又は区切り線の始点及び終点（図中、白抜き円）のＸ座標の差Ｘ（図中、二点鎖線）が「Ｘ≦ＣＸ×ｎ」であれば、囲みと判定され（図中、右側）、一方、「Ｘ＞ＣＸ×ｎ」であれば、区切りと判定される（図中、左側）。また、「ｎ」は、アプリケーションで予め設定された比率であり、０≦ｎ≦１．０（但し、通常、０．７程度）である。
【００２９】
図１３（Ｂ）は、縦幅（Ｙ座標）の方が大きい外接矩形に対して、ユーザが適宜の描線（囲み又は区切り）を描くときの幾何学的な説明図である。まず、囲み又は区切り線（図中、実線）の外接矩形（図中、破線）の横幅をＣＸ、縦幅をＣＹとする。ここでは、ＣＸ≦ＣＹであり、ユーザによる囲み又は区切り線の始点及び終点（図中、白抜き円）のＹ座標の差Ｙ（図中、二点鎖線）が「Ｙ≦ＣＹ×ｎ」であれば、囲みと判定され（図中、右側）、一方、「Ｙ＞ＣＹ×ｎ」であれば、区切りと判定される（図中、左側）。
【００３０】
図１４は、囲みと区切りの判別処理についてのフローチャートである。
まず、囲み線又は区切り線の外接矩形を求め、その外接矩形の横幅（Ｘ座標で表す）と縦幅（Ｙ座標で表す）では、どちらが大きいかを判定する（Ｓ２０１）。次に、横幅の方が大きい場合、「始点と終点のＸ座標の差≦外接矩形の横幅×ｎ」で有るか否かを判定する（Ｓ２０３）。この「始点と終点のＸ座標の差≦外接矩形の横幅×ｎ」という計算式は、「ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の横幅よりだいぶ小さいならば囲みであり、そうでなければ、区切り」という意味を表している。ステップＳ２０３で、ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の横幅と比べ予め設定された割合（外接矩形のｎ×１００％）より小さい場合（例えば、３０％未満）は、囲みと判定される。また、ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の横幅より小さくはない、つまり、始点と終点の座標差が、外接矩形のｎ×１００％以上離れている場合は、区切りと判定される。
【００３１】
一方、ステップＳ２０１で、外接矩形の横幅と縦幅とでは、縦幅の方が大きい場合、「始点と終点のＹ座標の差≦外接矩形の縦幅×ｎ」で有るか否かを判定する（Ｓ２０５）。この計算式は、上述した計算式に対して座標軸（Ｙ座標：縦幅）が異なるだけであり、説明を省略する。ステップＳ２０５で、ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の縦幅と比べ予め設定された割合（外接矩形のｎ×１００％）より小さい場合は、囲みと判定される。また、ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の縦幅と比べ予め設定された割合（外接矩形のｎ×１００％）より小さくはない場合は、区切りと判定される。
【００３２】
次に、ユーザによって描かれた区切り線の位置を具体的に判別するための処理を説明する。
図１５は、外接矩形による判別についての説明図である。
区切り線（図中、実線）の位置の判別は、認識結果1文字分（例えば、「あ」）ごとに、区切り線に追加線を加えて１文字の範囲領域に変換し、変換された１文字の範囲領域で文字認識を行えばよい。まず、具体的には、認識結果（図中、「あ」）の外接矩形領域（図中、点線）と、区切り線の外接矩形（図中、二点鎖線）とが重なるかどうかを判別する。図１５（Ａ）のように両者が重ならない場合には、区切られていないものとして、後述する処理を省略する。すなわち、明らかに区切り線と関係ない手書き文字（図１５（Ａ）での「あ」）に対する処理を省略することにより、処理時間を短縮することができる。一方、図１５（Ｂ）のように、上述の両者が重なっている場合、後述する処理を行う。
【００３３】
図１６は、区切り方向の判別についての説明図である。
次に、区切り線の外接矩形の横幅と縦幅とを比較し、図１６（Ａ）のように縦幅の方が長い場合（縦幅＞横幅）、ユーザの描いた描線は、縦方向の区切りと判別され、一方、図１６（Ｂ）のように横幅の方が長い場合（縦幅＜横幅）、横方向の区切りと判別される。
【００３４】
図１７は、区切りに基づいて文字の区切り位置、範囲領域を定める場合についての説明図である。
図１７（Ａ）（Ｂ）（Ｃ）は、縦方向の区切り（例えば、３パターン）に基づいて、文字の区切り位置を定める場合についての説明図である。図１７（Ａ）では、ユーザによって上から下に描かれた区切り線（図中、実線）の終点と、この終点を区切り線の外接矩形の縦方向に延長し、認識結果の外接矩形と接する点「１７ａ」と、認識結果の外接矩形の左下の頂点「１７ｂ」と、区切り線の始点「１７ｄ」と、この始点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の延長された縦方向の一辺と交わった点「１７ｃ」とをそれぞれ追加線（図中、太線）で結ぶことで、この縦方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を１文字の範囲領域とし、この１文字の範囲領域で文字認識を行う。
【００３５】
また、図１７（Ｂ）では、区切り線の終点と、この終点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の延長された縦方向の一辺と交わった点「１７ａ」と、区切り線の始点「１７ｃ」と、この始点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の延長された縦方向の一辺と交わった点「１７ｂ」とをそれぞれ追加線（図中、太線）で結ぶことで、この縦方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を１文字の範囲領域とし、この１文字の範囲領域で文字認識を行う。
【００３６】
図１７（Ｃ）では、区切り線の終点と、この終点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の横方向の一辺と交わった点「１７ａ」と、認識結果の外接矩形の左下の頂点「１７ｂ」と、認識結果の外接矩形の左上の頂点「１７ｃ」と、区切り線の始点「１７ｅ」と、この始点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の延長された横方向の一辺と交わった点「１７ｄ」とをそれぞれ追加線（図中、太線）で結ぶことで、この縦方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を１文字の範囲領域とし、この１文字の範囲領域で文字認識を行う。
【００３７】
図１７（Ｄ）（Ｅ）（Ｆ）は、横方向の区切り（例えば、３パターン）に基づいて、文字の区切り位置を定める場合についての説明図である。図１７（Ｄ）では、ユーザによって左から右に描かれた区切り線（図中、実線）の終点と、この終点を区切り線の外接矩形の横方向に延長し、認識結果の外接矩形と接する点「１７ａ」と、認識結果の外接矩形の右上の頂点「１７ｂ」と、区切り線の始点「１７ｄ」と、この始点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の延長された横方向の一辺と交わった点「１７ｃ」とをそれぞれ追加線（図中、太線）で結ぶことで、この横方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を１文字の範囲領域とし、この１文字の範囲領域で文字認識を行う。
【００３８】
また、図１７（Ｅ）では、区切り線の終点と、この終点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の延長された横方向の一辺と交わった点「１７ａ」と、区切り線の始点「１７ｃ」と、この始点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の延長された横方向の一辺と交わった点「１７ｂ」とをそれぞれ追加線（図中、太線）で結ぶことで、この横方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を１文字の範囲領域とし、この１文字の範囲領域で文字認識を行う。
【００３９】
図１７（Ｆ）では、区切り線の終点と、この終点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の縦方向の一辺と交わった点「１７ａ」と、認識結果の外接矩形の右上の頂点「１７ｂ」と、認識結果の外接矩形の左上の頂点「１７ｃ」と、区切り線の始点「１７ｅ」と、この始点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の延長された縦方向の一辺と交わった点「１７ｄ」とをそれぞれ追加線（図中、太線）で結ぶことで、この横方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を１文字の範囲領域とし、この１文字の範囲領域で文字認識を行う。なお、図１７は、区切り線が、上から下、または左から右へ描かれた場合の例であるが、区切り線が、下から上、または右から左へ描かれた場合には、点列を逆にして同様の処理を行えばよい。
【００４０】
つぎに、Viterbi アルゴリズムを適用し、文字列を探索する処理について述べる。
図１８は、誤認識訂正処理のフローチャートである。
表示・訂正モード処理部１２により、ユーザによる囲み線及び／又は区切り線が入力される（Ｓ３０１）。入力された囲み線又は区切り線による訂正位置に対して、前方部の候補文字ラティスを確定する（Ｓ３０３）。ここで、ラティスとは、前後の候補文字間をつなぐ経路のことである。前方部の候補文字ラティスが確定することで、訂正に矛盾する候補文字ラティスを削除する（Ｓ３０５）。次に、ある程度、制限された候補文字ラティスに対して、Viterbi アルゴリズムを適用し、候補文字ラティスを再探索する（Ｓ３０７）。この認識結果を、表示・訂正モード処理部１２に出力する（Ｓ３０９）。
【００４１】
以下、具体例を説明する。
図１９は、誤認識訂正の過程についての説明図である。
ユーザが囲み線又は区切り線を用いて文字分割の訂正を行う場合、表示・訂正モード処理部１２及び認識エンジン部４は、認識結果の訂正処理を行う。具体的には、現在の認識結果である文字区切りと候補文字に対して、文字区切りを訂正し、その訂正された部分について候補文字を挙げる。そして、候補文字の可能な経路を導き出す。さらに、訂正箇所より前方部分を確定し、訂正箇所に矛盾する部分を削除することによって、候補文字ラティス内の考えるべき経路を制限する。この候補文字ラティスにViterbiアルゴリズムを適用することで、文字認識、文字区切り、文字列としてのつながりが総合的に評価され、最適な文字区切りと文字認識結果が得られる。
【００４２】
図１９（Ａ）は、正しく認識されなかった手書き文字列と、そのときの候補文字ラティスの例である。例えば、「明日は」という手書き文字列が、誤った文字区切りである「日」、「月」及び「日は」で分割された結果、「日」、「月」及び「的」と誤認識されている（図中、網掛けの文字）。この場合、複数の候補文字としては、例えば、「日」に対しては「白」「日」、「月」に対しては「月」「白」、更に、この「日」及び「月」に対しては「朋」「明」、「は」に対しては「け」「は」、更に、「日」及び「は」に対しては「肘」「的」、更に、「月」及び「日」に対しては「胆」「昨」がそれぞれ認識された候補として挙げられ、これらの複数の候補文字に基づいて候補文字ラティスが導かれている。
【００４３】
次に、この「日」及び「月」に対して、図１９（Ｂ）のように、「日」及び「月」をひとつの文字として囲み線で囲むことで、区切りの訂正を行う。これにより、訂正に矛盾する候補文字、即ち、「日」に対する「白」「日」、「月」に対する「月」「白」、更に、「月」及び「日」に対する「胆」「昨」がそれぞれ候補文字から削除されると共に、訂正に矛盾する候補文字ラティスも削除される。図１９（Ｂ）の太線で示されるように、この制限された候補文字ラティスにViterbiアルゴリズムを適用して、「確からしい」ものを選択すると、図１９（Ｃ）のように、訂正後の認識結果、網掛けの文字をたどった「明」「日」「は」が得られる。
【００４４】
ここで、Viterbiアルゴリズムについて説明する。ある手書き文字列が文字認識された際の認識結果は、文字区切りによる分割ごとにその「分割の確からしさ」、文字認識の候補ごとに「文字認識としての確からしさ」、そして、文字と文字の連続に「つながりの確からしさ」があり、文の先頭から最後までの候補をつなげる経路にそって、「文字認識としての確からしさ」、「分割の確からしさ」、「つながりの確からしさ」を加算していき、これらの総和が一番大きい経路を選択する。これを効率よく行うものとして、一例として、Viterbi アルゴリズムがある。この例では、「明」「日」「は」が一番確からしい経路として求められたことになる。
【００４５】
図２０は、誤認識訂正が波及する例についての説明図である。
囲みや区切り、あるいは、候補文字の選択や書き直しによって訂正がされると、それより前の文字区切り、文字認識を確定して、訂正以後の候補文字ラティスについて、Viterbi アルゴリズムが適用される。これにより、前方から誤分割・誤認識を訂正していくと、それに応じて、すでに訂正した部分は確定され、訂正より後方の誤分割や誤認識が自動的に訂正される可能性が増し、必要な訂正作業を少なくすることができる。具体的には、「明日は晴れるかな？」という手書き文字が、「明」「日」「は」「晴」「的」「か」「却」と誤分割・誤認識されていた場合、「的」の間を区切り線で分割する。これにより、「明日は晴」までの認識結果が確定すると共に、「的」は、「れ」「る」と訂正される。さらに、後方の誤認識された「却」も、Viterbi アルゴリズムによって、自動的に「な」「？」に訂正される。
【００４６】
（ステップＳ１１５、Ｓ１１７について）
図２１は、単文字ごとの誤認識訂正についての説明図である。
図２１（Ａ）（Ｂ）（Ｃ）のように、区切り位置は正しいが、単文字（日本語）の認識結果が間違っている場合（例えば、「文」を「六」と誤認識した場合）、ユーザは、間違っている文字の外接矩形領域内で、例えば、マウスの左クリック（又は中クリック）又はタップを行う。これにより、図２１（Ｂ）のように、単文字ごとの認識候補一覧が表示される（例えば、「六」「欠」「文」「穴」「方」）。ユーザが、その一覧の中から、正しい認識結果である、「文」を選択することで、図２１（Ｃ）のように認識結果が「文」に訂正される。また、図２１（Ｄ）（Ｅ）（Ｆ）のように、区切り位置は正しいが、単文字（英語）の認識結果が間違っている場合（例えば、「Ｔ」を「Ｊ」と誤認識した場合）、ユーザは、間違っている文字の外接矩形領域内で、例えば、マウスの左クリック（又は中クリック）又はタップを行う。これにより、図２１（Ｅ）のように、単文字ごとの認識候補一覧が表示される（例えば、「Ｔ」「ｆ」「Ｊ」「Ｉ」「Ｐ」）。ユーザが、その一覧の中から正しい認識結果である、「Ｔ」を選択することで、図２１（Ｆ）のように認識結果が「Ｔ」に訂正される。
【００４７】
（ステップＳ１１９について）
図２２は、単文字ごとの再入力についての説明図である。
まず、単文字ごとの認識候補は、類似度の高い順に何文字か表示されるため、手書き文字列があまりにも雑に書かれている場合や、くせのある文字の場合等、辞書に登録されて認識されるべき文字の形との類似度が低い場合には、正解候補の類似度が低くなり、上述の単文字ごとの認識候補一覧に正しい結果が含まれないことがある。この際、単文字ごとの再入力を行うと共に、認識結果の訂正を実行する。なお、認識候補内に正しい結果が含まれないのは、類似度が低すぎて候補に表示されないだけであり、正しい結果を示す文字が、必ずしも辞書に格納されていないわけではない。また、具体的には、図２２（Ａ）のように、「訂」が「託」と誤認識された場合、ユーザが、図２２（Ｂ）のように、外接矩形領域の内側から再度その文字（例えば、「訂」）を手書き入力することで、「託」は、図２２（Ｃ）のように「訂」と訂正される。また、例えば、図２２（Ｄ）のように、「Ｓ」が「Ｂ」と誤認識された場合、ユーザが、図２２（Ｅ）のように、外接矩形領域の内側から再度その文字（例えば、「Ｓ」）を手書き入力することで、「Ｂ」は、図２２（Ｆ）のように「Ｓ」と訂正される。
【００４８】
ここで、ステップＳ１１５におけるクリック（タップ）と再入力との判別は、例えば、マウス等のポインティングデバイスでのペンダウン位置からアップ位置までの移動距離が、予め設定されたしきい値（例えば、３ドット程度）未満であればクリック（タップ）、しきい値以上であれば再入力と判別する手法、又は、ペンダウンからアップまでの時間が予め設定されたしきい値以下であればクリック、以上であれば再入力と判別する手法等がある。また、外接矩形領域内でクリック（タップ）、又は再入力を行うことで、上述したステップＳ１１７及び１１９の処理が実行されるので、この外接矩形領域は、ユーザインタフェースのボタン等としての役割を果たすことにもなる。
【００４９】
なお、本発明の文字認識方法は、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体、文字認識プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、文字認識プログラムを含みコンピュータが使用可能な記録媒体にストアされたプログラム製品等により提供されることができる。
【００５０】
また、本発明では、文字を入力するユーザの癖をデータとして蓄積することで、認識精度を高めることもできる。この場合は、候補の優先度を、過去に選択されたデータで重み付けしたり、入力された文字が傾いている場合、その傾きを補正する処理等を予め実行することも可能である。
【００５１】
【発明の効果】
本発明によると、以上説明した通り、枠なしで手書き入力された文字に対する文字認識及び認識の訂正を容易に行うことができる。
例えば、本発明によると、枠なしで手書き入力され、文字認識された文字に対して、複数の認識文字をひとつの入力文字として訂正することができる。また、本発明によると、枠なしで手書き入力され、文字認識された文字に対して、ひとつの認識文字を複数の入力文字として訂正することができる。
【００５２】
また、本発明によると、認識結果の近傍に候補文字を表示し、正しい候補文字が選択されることで認識文字を訂正することができる。また、本発明によると、もとの手書き入力文字を消去し、新たに入力された手書き入力文字に対して、再び文字認識を行うことにより訂正することができる。
【００５３】
また、本発明によると、Viterbi アルゴリズムを適用して、候補文字を探索することができる。さらに、本発明によると、訂正された手書き入力文字よりも前方の認識結果を確定した後、訂正された手書き入力文字よりも後方の手書き入力文字のみを再探索することにより、文字認識及び認識の訂正を効率よく行うことができる。
【図面の簡単な説明】
【図１】本発明に関する枠なし手書き文字認識装置を適用した文字認識システムの概略構成図。
【図２】本発明に関する文字認識方法のフローチャート。
【図３】本発明に関する文字認識プログラムを開始した際の表示画面についての説明図。
【図４】手書き文字列の入力に関する説明図。
【図５】画面のスクロールに関する説明図。
【図６】手書き文字列の認識の説明図。
【図７】認識結果の表示例（１）。
【図８】認識結果の表示例（２）。
【図９】認識結果の表示例（３）。
【図１０】区切りによる区切り位置の訂正についての説明図。
【図１１】囲みによる区切り位置の訂正についての説明図。
【図１２】囲みの判別についての説明図。
【図１３】囲みと区切りの判別処理に関する説明図。
【図１４】囲みと区切りの判別処理についてのフローチャート。
【図１５】外接矩形による判別についての説明図。
【図１６】区切り方向の判別についての説明図。
【図１７】区切りに基づいて文字の区切り位置、範囲領域を定める場合についての説明図。
【図１８】誤認識訂正処理のフローチャート。
【図１９】誤認識訂正の過程についての説明図。
【図２０】誤認識訂正が波及する例についての説明図。
【図２１】単文字ごとの誤認識訂正についての説明図。
【図２２】単文字ごとの再入力についての説明図。
【符号の説明】
１  文字列認識システム
２  ユーザ
３  アプリケーション
４  認識エンジン部
１０  認識コントロール部
１１  入力モード処理部
１２  表示・訂正モード処理部
【図１】
0003893013.tif 000002
【図２】
0003893013.tif 000003
【図３】
0003893013.tif 000004
【図４】
0003893013.tif 000005
【図５】
0003893013.tif 000006
【図６】
0003893013.tif 000007
【図７】
0003893013.tif 000008
【図８】
0003893013.tif 000009
【図９】
0003893013.tif 000010
【図１０】
0003893013.tif 000011
【図１１】
0003893013.tif 000012
【図１２】
0003893013.tif 000013
【図１３】
0003893013.tif 000014
【図１４】
0003893013.tif 000015
【図１５】
0003893013.tif 000016
【図１６】
0003893013.tif 000017
【図１７】
0003893013.tif 000018
【図１８】
0003893013.tif 000019
【図１９】
0003893013.tif 000020
【図２０】
0003893013.tif 000021
【図２１】
0003893013.tif 000022
【図２２】
0003893013.tif 000023