TOP > 国内特許検索 > 文字認識方法、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体及び文字認識装置 > 明細書

明細書 :文字認識方法、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体及び文字認識装置

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第3893013号 (P3893013)
公開番号 特開2001-351065 (P2001-351065A)
登録日 平成18年12月15日(2006.12.15)
発行日 平成19年3月14日(2007.3.14)
公開日 平成13年12月21日(2001.12.21)
発明の名称または考案の名称 文字認識方法、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体及び文字認識装置
国際特許分類 G06K   9/03        (2006.01)
G06F   3/048       (2006.01)
G06F   3/041       (2006.01)
G06K   9/62        (2006.01)
FI G06K 9/03 B
G06F 3/00 620R
G06F 3/03 380R
G06K 9/62 G
G06K 9/62 620B
請求項の数または発明の数 15
全頁数 22
出願番号 特願2000-167953 (P2000-167953)
出願日 平成12年6月5日(2000.6.5)
審査請求日 平成15年7月23日(2003.7.23)
特許権者または実用新案権者 【識別番号】503360115
【氏名又は名称】独立行政法人科学技術振興機構
発明者または考案者 【氏名】中川 正樹
【氏名】坂東 宏和
個別代理人の代理人 【識別番号】100107010、【弁理士】、【氏名又は名称】橋爪 健
審査官 【審査官】松尾 俊介
参考文献・文献 特開平06-176188(JP,A)
特開平04-336688(JP,A)
特開平08-185480(JP,A)
特開平02-082379(JP,A)
特開平04-322389(JP,A)
特開平05-165818(JP,A)
特開平06-259595(JP,A)
特開平06-060222(JP,A)
特開平01-096713(JP,A)
特開2001-167229(JP,A)
調査した分野 G06K9/00~82
G06F3/041~048
特許請求の範囲 【請求項1】
入力モード処理部が、入力装置から枠なしで手書き文字列を入力するステップと、
表示・訂正モード処理部が、入力モード処理部により枠なしで手書き入力された入力文字と、文字認識を行う認識エンジンによる前記入力文字の認識結果とを、表示装置の表示画面上に表示する第1表示ステップと、
表示・訂正モード処理部が、入力装置から囲み又は区切りを示す描線を入力するステップと、
表示・訂正モード処理部が、前記第1表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された前記描線の入力位置が、入力文字についての第1外接矩形の内側か外側かを判断する位置判断ステップと、
表示・訂正モード処理部が、前記位置判断ステップにより、描線の入力位置が第1外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップと、
表示・訂正モード処理部が、前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び認識エンジンにより文字認識を行うための訂正認識ステップと
表示・訂正モード処理部が、前記訂正認識ステップにより文字認識された認識結果を、表示装置の表示画面上に表示する第2表示ステップとを含み、
前記訂正認識ステップは、
認識エンジンが、囲み又は区切りにより訂正され再認識された候補文字を抽出すると共に、候補文字と他の認識文字候補との間をつなぐ経路を形成するステップと、
認識エンジンが、候補文字以外に関連し、訂正に矛盾する経路を削除するステップと、
認識エンジンが、候補文字と形成された経路に基づき、最適な経路を探索するステップとを含む文字認識方法。
【請求項2】
前記訂正認識ステップは、
認識エンジンが、訂正された手書き入力文字よりも前方の認識結果を確定するステップをさらに含み、訂正された手書き入力文字よりも後方の手書き入力文字のみを再探索するようにした請求項に記載の文字認識方法。
【請求項3】
入力モード処理部が、入力装置から枠なしで手書き文字列を入力するステップと、
表示・訂正モード処理部が、入力モード処理部により枠なしで手書き入力された入力文字と、文字認識を行う認識エンジンによる前記入力文字の認識結果とを、表示装置の表示画面上に表示する第1表示ステップと、
表示・訂正モード処理部が、入力装置から囲み又は区切りを示す描線を入力するステップと、
表示・訂正モード処理部が、前記第1表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された前記描線の入力位置が、入力文字についての第1外接矩形の内側か外側かを判断する位置判断ステップと、
表示・訂正モード処理部が、前記位置判断ステップにより、描線の入力位置が第1外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップと、
表示・訂正モード処理部が、前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び認識エンジンにより文字認識を行うための訂正認識ステップと、
表示・訂正モード処理部が、前記訂正認識ステップにより文字認識された認識結果を、表示装置の表示画面上に表示する第2表示ステップとを含み、
前記判定ステップでは、表示・訂正モード処理部が、
訂正を指示するために入力された描線についての第2外接矩形を形成し、前記第2外接矩形の長手方向についての該描線の始点と終点との差と、第1外接矩形の長手方向の一辺の長さとを比較することで、
その差が一辺の長さの所定割合よりも小さければ、訂正の指示が囲みと判定し、
その差が一辺の長さの所定割合よりも小さくなければ、訂正の指示が区切りと判定するようにした文字認識方法。
【請求項4】
表示・訂正モード処理部は、訂正モードにおいて、訂正を指示するために入力された描線の入力位置が、第1外接矩形の内側にあり、描線が所定長以下又は入力時間が所定時間以下である場合、
手書き入力文字、第1外接矩形又は認識結果の近傍に候補文字を表示し、正しい候補文字が選択されることで認識文字を訂正する表示選択ステップをさらに含む請求項1乃至のいずれかに記載の文字認識方法。
【請求項5】
表示・訂正モード処理部は、訂正モードにおいて、訂正を指示するために入力された描線の入力位置が、第1外接矩形の内側にあり、描線が所定長以上又は入力時間が所定時間以上である場合、
新たに入力された手書き入力文字に対して、認識エンジンにより文字認識を行うための再入力認識ステップをさらに含む請求項1乃至のいずれかに記載の文字認識方法。
【請求項6】
認識エンジンは、前記手書き入力文字が英単語である場合、
近接している英文字をひとつの単語として区切り、格納された単語辞書中の候補を検索することで、英単語を文字認識するようにした請求項1乃至のいずれかに記載の文字認識方法。
【請求項7】
前記第1及び第2表示ステップでは、表示・訂正モード処理部が入力文字、認識文字、及び/又は、外接矩形について、描線の色、濃さ又は太さを適宜に変更して表示するようにした請求項1乃至のいずれかに記載の文字認識方法。
【請求項8】
表示・訂正モード処理部は、手書き入力文字が促音を示す小さい文字であった場合、
前記第1及び第2表示ステップでは、
通常の大きさの文字と促音を示す小さい文字とを区別して表示するようにした請求項1乃至のいずれかに記載の文字認識方法。
【請求項9】
前記認識ステップで求められた入力文字ごとの第1外接矩形の内側の領域は、ユーザインタフェースのボタンとして機能するようにした請求項1乃至のいずれかに記載の文字認識方法。
【請求項10】
入力モード処理部が、入力装置から枠なしで手書き文字列を入力するステップと、
表示・訂正モード処理部が、入力モード処理部により枠なしで手書き入力された入力文字と、文字認識を行う認識エンジンによる前記入力文字の認識結果とを、表示装置の表示画面上に表示する第1表示ステップと、
表示・訂正モード処理部が、入力装置から囲み又は区切りを示す描線を入力するステップと、
表示・訂正モード処理部が、前記第1表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された前記描線の入力位置が、入力文字についての第1外接矩形の内側か外側かを判断する位置判断ステップと、
表示・訂正モード処理部が、前記位置判断ステップにより、描線の入力位置が第1外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップと、
表示・訂正モード処理部が、前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び認識エンジンにより文字認識を行うための訂正認識ステップであって、
認識エンジンが、囲み又は区切りにより訂正され再認識された候補文字を抽出すると共に、候補文字と他の認識文字候補との間をつなぐ経路を形成するステップと、
認識エンジンが、候補文字以外に関連し、訂正に矛盾する経路を削除するステップと、
認識エンジンが、候補文字と形成された経路に基づき、最適な経路を探索するステップとを含む前記訂正認識ステップと、
表示・訂正モード処理部が、前記訂正認識ステップにより文字認識された認識結果を、表示装置の表示画面上に表示する第2表示ステップとをコンピュータに実行させるための文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項11】
入力モード処理部が、入力装置から枠なしで手書き文字列を入力するステップと、
表示・訂正モード処理部が、入力モード処理部により枠なしで手書き入力された入力文字と、文字認識を行う認識エンジンによる前記入力文字の認識結果とを、表示装置の表示画面上に表示する第1表示ステップと、
表示・訂正モード処理部が、入力装置から囲み又は区切りを示す描線を入力するステップと、
表示・訂正モード処理部が、前記第1表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された前記描線の入力位置が、入力文字についての第1外接矩形の内側か外側かを判断する位置判断ステップと、
表示・訂正モード処理部が、前記位置判断ステップにより、描線の入力位置が第1外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップであって、訂正を指示するために入力された描線についての第2外接矩形を形成し、前記第2外接矩形の長手方向についての該描線の始点と終点との差と、第1外接矩形の長手方向の一辺の長さとを比較することで、その差が一辺の長さの所定割合よりも小さければ、訂正の指示が囲みと判定し、その差が一辺の長さの所定割合よりも小さくなければ、訂正の指示が区切りと判定する前記判定ステップと、
表示・訂正モード処理部が、前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び認識エンジンにより文字認識を行うための訂正認識ステップと、
表示・訂正モード処理部が、前記訂正認識ステップにより文字認識された認識結果を、表示装置の表示画面上に表示する第2表示ステップとをコンピュータに実行させるための文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項12】
枠なしで手書き入力された入力文字と、入力文字の認識結果とを表示するアプリケーションと、
認識結果の表示及び誤認識の訂正を行うための表示・訂正モード処理部と、
文字認識を行う認識エンジンとを備え、
前記表示・訂正モード処理部は、
前記アプリケーションにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された描線の入力位置が、入力文字についての第1外接矩形の内側か外側かを判断する位置判断手段と、
前記位置判断手段により、描線の入力位置が第1外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定手段と、
前記判定手段に基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び前記認識エンジンにより文字認識を行うための訂正認識手段とを備え
前記訂正認識手段は、
囲み又は区切りにより訂正され再認識された候補文字を抽出すると共に、候補文字と他の認識文字候補との間をつなぐ経路を形成し、
候補文字以外に関連し、訂正に矛盾する経路を削除し、
候補文字と形成された経路に基づき、最適な経路を探索するようにした文字認識装置。
【請求項13】
枠なしで手書き入力された入力文字と、入力文字の認識結果とを表示するアプリケーションと、
認識結果の表示及び誤認識の訂正を行うための表示・訂正モード処理部と、
文字認識を行う認識エンジンとを備え、
前記表示・訂正モード処理部は、
前記アプリケーションにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された描線の入力位置が、入力文字についての第1外接矩形の内側か外側かを判断する位置判断手段と、
前記位置判断手段により、描線の入力位置が第1外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定手段と、
前記判定手段に基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び前記認識エンジンにより文字認識を行うための訂正認識手段とを備え、
前記判定手段では、
訂正を指示するために入力された描線についての第2外接矩形を形成し、前記第2外接矩形の長手方向についての該描線の始点と終点との差と、第1外接矩形の長手方向の一辺の長さとを比較することで、
その差が一辺の長さの所定割合よりも小さければ、訂正の指示が囲みと判定し、
その差が一辺の長さの所定割合よりも小さくなければ、訂正の指示が区切りと判定するようにした文字認識装置。
【請求項14】
入力モードにおいて、入力文字に対して文字認識を行い、前記認識エンジンにより入力文字の第1外接矩形及び認識結果を求めるための入力モード処理部をさらに備えた請求項12又は13に記載の文字認識装置。
【請求項15】
前記第1外接矩形の内側の領域を、ユーザインタフェースの入力ボタンとした請求項12乃至14のいずれかに記載の文字認識装置。
発明の詳細な説明
【0001】
【発明の属する技術分野】
本発明は、文字認識方法、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体及び文字認識装置に係り、特に、キーボードを使用せず、記入枠なしで手書き入力された文字(文字列)を認識すると共に、この認識された文字(文字列)の修正を簡単に行うことのできる文字認識方法、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体及び文字認識装置に関する。
【0002】
【従来の技術】
近年、表示装置を備えたコンピュータに文字を入力する際、キーボードを使用せず、マウス、タブレット等の適宜の卓上型のディジタイザ(座標読み取り装置)を使用して、設定された枠内に手書き入力を行い、この手書き入力された文字を文字認識する方法が知られている。ここで、手書き入力とは、ストローク入力とも呼ばれ、例えば、文字入力、描画の一筆、2点間の描線等、表現し得る文字や線等の入力をいう。
この方法によれば、キーボード操作に不慣れな人々でも、コンピュータ等の表示装置上に所望の文字を入力し、種々の文章を作成することができるようになる。
【0003】
【発明が解決しようとする課題】
しかしながら、従来の方法では、コンピュータのアプリケーション(応用ソフト)によっては、予め1文字ごとに記入すべき枠が設定されている場合があった。このような場合、使用者(ユーザ)が手書き入力をする際、記入位置がその枠内に限定され、書きにくくなったり、また、文字を一つの枠内に対して1文字しか手書き入力できないので、ユーザが連続した文章を作成する際、時間と手間が必要となったりすることが想定された。
【0004】
上述の事項を防止するためには、予め枠を設定しない、いわゆる「枠なし」文字認識を提案すればよい。しかしながら、例えば、コンピュータに備えられたディスプレイ等の表示装置に、手書き入力文字に対する文字認識結果を表示する場合、手書き文字の上に、手書き文字と交換して文字認識結果を表示すると、誤認識が起こった場合に何を書いたのかが分からなくなる。また、文字認識の結果、各文字の区切り位置が間違っていた場合(例えば、1文字を2文字として認識したり、逆に2文字を1文字として認識する等)、正しい区切り位置を示すために元パターンを再表示する操作が必要になり面倒となる。さらに、認識結果を手書き文字から離れた位置に表示すると、ユーザは、認識結果の確認や訂正の度に視線を動かさなくてはならなくなり、効率が悪くなる。
【0005】
本発明は、以上の点に鑑み、枠なしで手書き入力された文字に対する文字認識及び認識の訂正を容易に行うことを目的とする。
例えば、本発明は、枠なしで手書き入力され、文字認識された文字に対して、複数の認識文字をひとつの入力文字として訂正することを目的とする。また、本発明は、枠なしで手書き入力され、文字認識された文字に対して、ひとつの認識文字を複数の入力文字として訂正することを目的とする。
【0006】
また、本発明は、認識結果の近傍に候補文字を表示し、正しい候補文字が選択されることで認識文字を訂正することを目的とする。また、本発明は、もとの手書き入力文字を消去し、新たに入力された手書き入力文字に対して、再び文字認識を行うことにより訂正することを目的とする。
【0007】
また、本発明は、Viterbi アルゴリズムを適用して、候補文字を探索することを目的とする。さらに、本発明は、訂正された手書き入力文字よりも前方の認識結果を確定した後、訂正された手書き入力文字よりも後方の手書き入力文字のみを再探索することにより、文字認識及び認識の訂正を効率よく行うことを目的とする。
【0008】
【課題を解決するための手段】
本発明の第1の解決手段によると、
枠なしで手書き入力された入力文字と、入力文字の認識結果とを表示する表示ステップと、
前記表示ステップにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された描線の入力位置が、入力文字についての第1外接矩形の内側か外側かを判断する位置判断ステップと、
前記位置判断ステップにより、描線の入力位置が第1外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定ステップと、
前記判定ステップに基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び文字認識を行うための訂正認識ステップとを含む文字認識方法及び文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体を提供する。
【0009】
本発明の第2の解決手段によると、
枠なしで手書き入力された入力文字と、入力文字の認識結果とを表示するアプリケーションと、
認識結果の表示及び誤認識の訂正を行うための表示・訂正モード処理部と、
文字認識を行う認識エンジンとを備え、
前記表示・訂正モード処理部は、
前記アプリケーションにより表示された認識結果に対して、訂正モードにおいて訂正を指示するために入力された描線の入力位置が、入力文字についての第1外接矩形の内側か外側かを判断する位置判断手段と、
前記位置判断手段により、描線の入力位置が第1外接矩形の外側であると判断された場合、訂正の指示が、複数の認識文字に対する囲みか、ひとつの認識文字に対する区切りかを判定する判定手段と、
前記判定手段に基づいて、複数の認識文字をひとつの入力文字として訂正又はひとつの認識文字を複数の入力文字として訂正し、その訂正の指示に従い再び前記認識エンジンにより文字認識を行うための訂正認識手段と
を備えた文字認識装置を提供する。
【0010】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態を詳細に説明する。
図1は、本発明に関する枠なし手書き文字認識装置を適用した文字認識システムの概略構成図である。
文字認識システム1は、例えば、ユーザ2、枠なし手書き文字(文字列)の認識コントロール部10、アプリケーション3及び枠なし手書き文字列の認識エンジン部4を備える。認識コントロール部10は、例えば、手書き文字列を入力する「手書き文字入力モード」の処理を行う手書き文字の入力モード処理部11と、認識結果の表示及び誤認識の訂正を行う「認識結果表示・訂正モード」の処理を行う表示・訂正モード処理部12を備える。
【0011】
ユーザ2は、枠なしで手書き文字列を入力し、手書き文字列の認識を実行するための指示を、入力モード処理部11に出力する。この手書き文字列の認識を実行するための指示は、アプリケーション3から任意のタイミングで入力モード処理部11に出力することもできる。また、アプリケーション3は、認識字種の設定(平仮名・片仮名・漢字・・・)を、入力モード処理部11に出力する。手書き文字列の認識を実行するための指示を受けた入力モード処理部11は、入力された手書き文字列と認識字種の設定を、認識エンジン部4に出力する。認識エンジン部4は、この手書き文字列を認識すると共に、この認識結果を、認識コントロール部10に出力する。認識コントロール部10は、この認識結果を、アプリケーション3上に表示する。
【0012】
一方、アプリケーション3上に表示された文字列が誤認識であると、ユーザによって判断された場合、ユーザ2は、誤認識された文字列を訂正するための指示(誤認識訂正指示)を、表示・訂正モード処理部12に出力する。この指示を受けた表示・訂正モード処理部12は、アプリケーション3上に表示された認識結果を訂正するための命令(結果訂正命令)を、認識エンジン部4に出力する。認識エンジン部4は、誤認識された文字列を再認識すると共に、この訂正された認識結果を、再び表示・訂正モード処理部12に出力する。表示・訂正モード処理部12は、上述したように、認識結果を再びアプリケーション3上に表示する。この認識結果が正しいならば、認識処理を終了し、誤認識であれば、ユーザ2は、再び、誤認識された文字列を訂正するための指示を、表示・訂正モード処理部12に出力する。
【0013】
図2は、本発明に関する文字認識方法のフローチャートである。なお、説明の便宜上、ここでのフローチャートの説明は、概略的なものとし、具体的な説明は後述する。
まず、枠のない表示画面上に、手書き文字列が、例えば、マウス、電子ペン等のポインティングデバイスを用いたユーザにより入力(例えば、ペンダウン入力)される(S101)。次に、処理モードが手書き文字入力モードか認識結果表示・訂正モードかを判定する(S103)。この2つのモードを判定する基準としては、例えば、表示画面上に何も入力されていなければ、手書き文字入力モードであり、一方、手書き文字列が既に入力されているならば、認識結果表示・訂正モードと判定するか、又は、この2つのモードを、図示しないモード切替えボタン等で表示させたり、ポインティングデバイスによる指示等により、この2つのモードをユーザに切替えさせるようにしてもよい。手書き文字入力モードであれば、ストローク入力(ここでは、ある文字又は文字列についてペンダウン入力の開始から終了までをいう)された手書き文字を文字認識する(S105)。
【0014】
つぎに、ステップS105により文字認識された認識結果を、表示画面上に表示する(S121)。このとき、認識結果は、手書き入力文字と、その外接矩形とともに表示される。この表示された認識結果が正しいかどうかを、ユーザが判定し(S123)、表示された認識結果が正しいならば処理を終了し、正しくなければ、再び、ステップS101に戻る。
【0015】
一方、ステップS103で表示・訂正モードであると判定された場合、認識された各々の文字の区切り位置を示す外接矩形を求め、ペンダウン入力された位置が、例えば、外接矩形の外側か内側かを判定する(S107、なお、詳細は後述する)。また、ステップS107でペンダウン入力された位置が外接矩形の外側にあれば、このストローク入力によって描かれた描線が「区切り」か「囲み」かを判定する(S109)。ここで、「区切り」というのは、本来複数の文字に分割されるべき手書き文字列が1文字に誤認識された場合、この誤認識された1文字を、この文字の外接矩形の外側から複数の文字分の手書き文字として区切ることをいう。一方、「囲み」は、本来1文字として認識されるべき手書き文字が2文字以上に誤認識された場合、この誤認識された2文字以上の文字を、この文字の外接矩形の外側から1文字分の手書き文字として囲むことをいう(詳細は後述する)。この描線が区切りである場合、後述する区切りによる訂正処理及び文字認識を行う(S111)。また、この描線が囲みである場合、後述する囲みによる訂正処理及び文字認識を行う(S113)。
【0016】
一方、ステップS107でペンダウン入力された位置が外接矩形の内側にあれば、例えば、このペンダウン入力が、所定の長さより短いか(又は、所定時間より短時間の操作か)どうかを判定する(S115)。短ければ(又は、短時間の操作であれば、)、候補文字を表示すると共に、この候補文字の中に正しい文字があれば、この正しい候補文字がユーザにより選択される(S117)。また、ステップS115で、マウスの左クリック(又は中クリック等)、あるいは、ペンダウン入力が、所定の長さより長い(又は、所定の時間より長時間の操作)場合、単文字の入力と判定し、外接矩形の内側に再入力された単文字について、文字認識を行う(S119)。なお、ステップS111、ステップS113、ステップS117及びステップS119により文字認識又は選択された結果に対する処理は、上述したステップS105の後の処理(ステップS121、S123)と同様の処理が実行される。また、ステップS115では、ペンダウン入力の長さ又は時間で次の処理(ステップS117又はS119)を分岐する以外にも、例えば、マウスの他のクリック操作、図示しないキーボード上のボタン等による他の所定の操作で、後の処理を分岐するようにしてもよい。なお、上述のような主に電子ペンを用いた操作の他にも、トラックボール、マウス、キーボード等の適宜の入力装置を用いて操作するようにしてもよい。
【0017】
以下、上述のフローチャートの各ステップの処理について詳細に説明する。
(ステップS101について)
【0018】
図3は、本発明に関する文字認識プログラムを開始した際の表示画面についての説明図である。
認識コントロール部10は、ユーザによって枠のない表示画面上で入力された手書き文字列を認識するための「文字認識プログラム」を実行し、例えば、コンピュータに備えられたディスプレイ等の表示装置上に入出力画面を表示し、また、手書き文字列の入力、枠なし文字列認識の実行及び誤認識の訂正等の操作を、ユーザが視覚的かつ容易に行うためのものである。この表示画面には、枠のない入出力表示画面101、認識結果表示画面102及び機能入力部103が表示される。機能入力部103は、複数の機能に対応し、認識対象である手書き入力文字に対して、例えば、クリックして適宜の指示を実行すれば、手書き入力文字に対して最適な操作を行うように配置されている。機能入力部103は、例えば、認識ボタン、入力終了ボタン、送信ボタン、1画削除ボタン、SPCボタン、改行ボタン、BSボタン、全消去ボタン、認識取消ボタン、最小化ボタン、矢印で表されたスクロールボタンと、認識対象となる文字種「英字・数字・漢字・平仮名・片仮名・その他」をそれぞれ任意に選択するためのチェック・ボックス等を備える。
【0019】
図4は、手書き文字列の入力に関する説明図である。
ユーザは、「手書き文字入力モード」において、例えば、マウスや電子ペンで、枠のない表示画面上に手書き文字を入力する(例えば、図4(A)は日本語、図4(B)は英語の例をそれぞれ示す。)。なお、手書き文字を入力する際、表示手段を備えたコンピュータを使用するのであれば、マウスや電子ペンだけでなく、図形データの入力やCG(コンピュータグラフィックス)を描くときに使われる、タブレット等の適宜の卓上型のディジタイザ(座標読み取り装置)等のポインティングデバイスも適用可能である。また、マウスは、例えば、左クリック用ボタン、右クリック用ボタン、場合によっては、さらに、中クリック用ボタンを備え、マウスのどのボタンに又は適宜のポインティングデバイスによる適宜の指示に、後述する各操作の開始合図の機能を持たせるかは、適宜変更することができる。また、手書き文字入力モードでは、誤った入力を訂正できるようにするために、例えば、最後に入力した画から順番に1画ずつ削除していく機能と、すべての入力を一括して削除する機能とを備える。
【0020】
図5は、画面のスクロールに関する説明図である。
入力したい文字列を画面内に書ききれなかった場合には、例えば、画面をスクロールさせることで、所望の文字列を全て入力することができる(例えば、図5(A)は日本語、図5(B)は英語の例をそれぞれ示し、これらは、図4(A)(B)の表示画面のさらに下方にスクロールさせた例である。)。
【0021】
(ステップS105について)
図6は、手書き文字列の認識の説明図である。
ユーザによる手書き文字列の入力が終了した場合(ストローク入力が終了)、ユーザが、例えば、右クリック等の適宜の操作を行うことで表示される4つのメニューの中から「認識」を選択するか、又は、アプリケーション上の画面上に表示されているツールバーの中から「認識」ボタンを選択すること等により、手書き文字列の認識を実行するための指示がなされる。この文字認識装置は、この指示に基づいて、枠なし文字列認識を開始する(例えば、図6(A)は日本語、図6(B)は英語の例をそれぞれ示す。)。
【0022】
図7及び8は、認識結果の表示例(1)及び(2)である。
画面上に表示される認識結果は、例えば、各文字の区切り位置を示す外接矩形と、この外接矩形内に表示される各文字の認識結果とで示される(例えば、図7(A)は日本語、図7(B)は英語の例をそれぞれ示す。)。なお、この例では、外接矩形を表示したが、外接矩形があると思われる領域である外接矩形領域を想定し、外接矩形を表示しないようにしてもよい。また、手書き文字が英文の場合には、英文字単位の認識だけではなく、図8のように、英単語単位の認識も可能である。この場合、例えば、近接している各文字をひとつの単語として区切り、認識エンジン部4等に格納された単語辞書中の候補を検索することで、認識することができる。なお、枠の表示はオプションであって、ユーザの好みに応じて、枠を表示しないようにもできる。また、認識結果が表示された段階では、もとの手書き文字パターンの色や濃さ、ドットパターン等を変えて表示し、認識結果が後述する各種操作の対象であることを強調したり、もとの手書き文字に対する書き直しはいつでも行えるようにすることもできる。なお、標準状態では、認識対象は全字種であるが、「英字・数字・漢字・平仮名・片仮名・その他」の字種から、1つ又は複数の任意の字種を認識対象とするように設定することもできる。
【0023】
図9は、認識結果の表示例(3)である。
認識された通常の大きさの文字の色を、例えば、青色で表示し、一方、促音などの小さい文字の色を、例えば、緑色で表示する等、通常の大きさの文字と小さい文字との色を変えて表示することで、通常の大きさの文字、例えば、「や、ゆ、よ」と促音などの小さい文字「ゃ、ゅ、よ」とを、認識結果から容易に判別できるようにすることもできる(例えば、図9(A)(B)(C)は通常の大きさの文字、図9(D)(E)(F)は促音などの小さい文字の例をそれぞれ示す。)。
【0024】
(ステップS111について)
図10は、区切りによる区切り位置の訂正についての説明図である。
まず、本来複数の文字に分割されるべき手書き文字列(例えば、「お」「け」)が、図10(A)のように、1文字(例えば、「列」)として誤認識された場合を想定する。この場合、図10(B)のように、外接矩形領域の外側から区切り線を引くことにより、「列」は、図10(C)のように、「お」「け」に訂正される。また、本来複数の文字に分割されるべき手書き文字列(例えば、「o」「f」)が、図10(D)のように、1文字(例えば、「H」)として誤認識された場合、図10(E)のように、外接矩形領域の外側から区切り線を引くことにより、「H」は、図10(F)のように、「o」「f」に訂正される。
【0025】
(ステップS113について)
図11は、囲みによる区切り位置の訂正についての説明図である。
まず、本来1文字として認識されるべき手書き文字、例えば、「枠」が、図11(A)上段のように、2文字以上(例えば、「木」と「中」)として誤認識された場合を想定する。この場合には、この「木」と「中」とを、図11(B)のように、外接矩形又は外接矩形領域の外側から1文字分の手書き文字として囲むことにより、「木」及び「中」は、図11(C)のように、「枠」に訂正される。
【0026】
また、本来1文字として認識されるべき手書き文字、例えば、「Y」が、図11(D)のように、2文字以上(例えば、「e」と「S」)として誤認識された場合には、この「e」と「S」とを、図11(E)のように、外接矩形又は外接矩形領域の外側から1文字分の手書き文字として囲むことにより、「e」及び「S」は、図11(F)のように、「Y」に訂正される。
【0027】
図12は、囲みの判別についての説明図である。
手書き文字列を構成する点が、囲み線の中にアプリケーションで予め設定した割合以上含まれている場合、この手書き文字列は、囲まれていると判別される。例えば、図12(A)のような手書き文字の「し」は、内部的には図12(B)のように点の集まりとして記録されている(囲み線も内部的には点の集まりとして記録されている)。アプリケーション側で、例えば、80%以上の点が囲み線の中に含まれている場合、その線を囲まれているものとみなすように設定すると、図12(C)のように囲まれた場合には、8点中7点(87.5%)の点が囲みの中に入っているため、「し」は囲まれたものと判定される。逆に、図12(D)のように囲まれた場合には、8点中6点(75%)の点しか囲みの中に入っていないため、「し」は囲まれていないものと判定する。
【0028】
(ステップS109について)
図13は、囲みと区切りの判別処理に関する説明図である。
ここでは、囲み線又は区切り線の外接矩形を規定する。すなわち、外接矩形は、2通りあることになる(囲み線又は区切り線と、手書き入力文字との外接矩形)。図13(A)は、横幅(X座標)の方が大きい外接矩形に対して、ユーザが適宜の描線(囲み又は区切り)を描くときの幾何学的な説明図である。まず、囲み又は区切り線(図中、実線)の外接矩形(図中、破線)の横幅をCX、縦幅をCYとする。ここでは、CX>CYであり、ユーザによる囲み又は区切り線の始点及び終点(図中、白抜き円)のX座標の差X(図中、二点鎖線)が「X≦CX×n」であれば、囲みと判定され(図中、右側)、一方、「X>CX×n」であれば、区切りと判定される(図中、左側)。また、「n」は、アプリケーションで予め設定された比率であり、0≦n≦1.0(但し、通常、0.7程度)である。
【0029】
図13(B)は、縦幅(Y座標)の方が大きい外接矩形に対して、ユーザが適宜の描線(囲み又は区切り)を描くときの幾何学的な説明図である。まず、囲み又は区切り線(図中、実線)の外接矩形(図中、破線)の横幅をCX、縦幅をCYとする。ここでは、CX≦CYであり、ユーザによる囲み又は区切り線の始点及び終点(図中、白抜き円)のY座標の差Y(図中、二点鎖線)が「Y≦CY×n」であれば、囲みと判定され(図中、右側)、一方、「Y>CY×n」であれば、区切りと判定される(図中、左側)。
【0030】
図14は、囲みと区切りの判別処理についてのフローチャートである。
まず、囲み線又は区切り線の外接矩形を求め、その外接矩形の横幅(X座標で表す)と縦幅(Y座標で表す)では、どちらが大きいかを判定する(S201)。次に、横幅の方が大きい場合、「始点と終点のX座標の差≦外接矩形の横幅×n」で有るか否かを判定する(S203)。この「始点と終点のX座標の差≦外接矩形の横幅×n」という計算式は、「ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の横幅よりだいぶ小さいならば囲みであり、そうでなければ、区切り」という意味を表している。ステップS203で、ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の横幅と比べ予め設定された割合(外接矩形のn×100%)より小さい場合(例えば、30%未満)は、囲みと判定される。また、ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の横幅より小さくはない、つまり、始点と終点の座標差が、外接矩形のn×100%以上離れている場合は、区切りと判定される。
【0031】
一方、ステップS201で、外接矩形の横幅と縦幅とでは、縦幅の方が大きい場合、「始点と終点のY座標の差≦外接矩形の縦幅×n」で有るか否かを判定する(S205)。この計算式は、上述した計算式に対して座標軸(Y座標:縦幅)が異なるだけであり、説明を省略する。ステップS205で、ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の縦幅と比べ予め設定された割合(外接矩形のn×100%)より小さい場合は、囲みと判定される。また、ユーザの囲んだ線の口の大きさが、手書き入力文字の外接矩形の縦幅と比べ予め設定された割合(外接矩形のn×100%)より小さくはない場合は、区切りと判定される。
【0032】
次に、ユーザによって描かれた区切り線の位置を具体的に判別するための処理を説明する。
図15は、外接矩形による判別についての説明図である。
区切り線(図中、実線)の位置の判別は、認識結果1文字分(例えば、「あ」)ごとに、区切り線に追加線を加えて1文字の範囲領域に変換し、変換された1文字の範囲領域で文字認識を行えばよい。まず、具体的には、認識結果(図中、「あ」)の外接矩形領域(図中、点線)と、区切り線の外接矩形(図中、二点鎖線)とが重なるかどうかを判別する。図15(A)のように両者が重ならない場合には、区切られていないものとして、後述する処理を省略する。すなわち、明らかに区切り線と関係ない手書き文字(図15(A)での「あ」)に対する処理を省略することにより、処理時間を短縮することができる。一方、図15(B)のように、上述の両者が重なっている場合、後述する処理を行う。
【0033】
図16は、区切り方向の判別についての説明図である。
次に、区切り線の外接矩形の横幅と縦幅とを比較し、図16(A)のように縦幅の方が長い場合(縦幅>横幅)、ユーザの描いた描線は、縦方向の区切りと判別され、一方、図16(B)のように横幅の方が長い場合(縦幅<横幅)、横方向の区切りと判別される。
【0034】
図17は、区切りに基づいて文字の区切り位置、範囲領域を定める場合についての説明図である。
図17(A)(B)(C)は、縦方向の区切り(例えば、3パターン)に基づいて、文字の区切り位置を定める場合についての説明図である。図17(A)では、ユーザによって上から下に描かれた区切り線(図中、実線)の終点と、この終点を区切り線の外接矩形の縦方向に延長し、認識結果の外接矩形と接する点「17a」と、認識結果の外接矩形の左下の頂点「17b」と、区切り線の始点「17d」と、この始点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の延長された縦方向の一辺と交わった点「17c」とをそれぞれ追加線(図中、太線)で結ぶことで、この縦方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を1文字の範囲領域とし、この1文字の範囲領域で文字認識を行う。
【0035】
また、図17(B)では、区切り線の終点と、この終点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の延長された縦方向の一辺と交わった点「17a」と、区切り線の始点「17c」と、この始点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の延長された縦方向の一辺と交わった点「17b」とをそれぞれ追加線(図中、太線)で結ぶことで、この縦方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を1文字の範囲領域とし、この1文字の範囲領域で文字認識を行う。
【0036】
図17(C)では、区切り線の終点と、この終点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の横方向の一辺と交わった点「17a」と、認識結果の外接矩形の左下の頂点「17b」と、認識結果の外接矩形の左上の頂点「17c」と、区切り線の始点「17e」と、この始点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の延長された横方向の一辺と交わった点「17d」とをそれぞれ追加線(図中、太線)で結ぶことで、この縦方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を1文字の範囲領域とし、この1文字の範囲領域で文字認識を行う。
【0037】
図17(D)(E)(F)は、横方向の区切り(例えば、3パターン)に基づいて、文字の区切り位置を定める場合についての説明図である。図17(D)では、ユーザによって左から右に描かれた区切り線(図中、実線)の終点と、この終点を区切り線の外接矩形の横方向に延長し、認識結果の外接矩形と接する点「17a」と、認識結果の外接矩形の右上の頂点「17b」と、区切り線の始点「17d」と、この始点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の延長された横方向の一辺と交わった点「17c」とをそれぞれ追加線(図中、太線)で結ぶことで、この横方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を1文字の範囲領域とし、この1文字の範囲領域で文字認識を行う。
【0038】
また、図17(E)では、区切り線の終点と、この終点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の延長された横方向の一辺と交わった点「17a」と、区切り線の始点「17c」と、この始点を区切り線の外接矩形の縦方向に延長した際、認識結果の外接矩形の延長された横方向の一辺と交わった点「17b」とをそれぞれ追加線(図中、太線)で結ぶことで、この横方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を1文字の範囲領域とし、この1文字の範囲領域で文字認識を行う。
【0039】
図17(F)では、区切り線の終点と、この終点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の縦方向の一辺と交わった点「17a」と、認識結果の外接矩形の右上の頂点「17b」と、認識結果の外接矩形の左上の頂点「17c」と、区切り線の始点「17e」と、この始点を区切り線の外接矩形の横方向に延長した際、認識結果の外接矩形の延長された縦方向の一辺と交わった点「17d」とをそれぞれ追加線(図中、太線)で結ぶことで、この横方向の区切り線に基づいて文字の区切り位置を定めると共に、この区切り線に追加線を加えた状態を1文字の範囲領域とし、この1文字の範囲領域で文字認識を行う。なお、図17は、区切り線が、上から下、または左から右へ描かれた場合の例であるが、区切り線が、下から上、または右から左へ描かれた場合には、点列を逆にして同様の処理を行えばよい。
【0040】
つぎに、Viterbi アルゴリズムを適用し、文字列を探索する処理について述べる。
図18は、誤認識訂正処理のフローチャートである。
表示・訂正モード処理部12により、ユーザによる囲み線及び/又は区切り線が入力される(S301)。入力された囲み線又は区切り線による訂正位置に対して、前方部の候補文字ラティスを確定する(S303)。ここで、ラティスとは、前後の候補文字間をつなぐ経路のことである。前方部の候補文字ラティスが確定することで、訂正に矛盾する候補文字ラティスを削除する(S305)。次に、ある程度、制限された候補文字ラティスに対して、Viterbi アルゴリズムを適用し、候補文字ラティスを再探索する(S307)。この認識結果を、表示・訂正モード処理部12に出力する(S309)。
【0041】
以下、具体例を説明する。
図19は、誤認識訂正の過程についての説明図である。
ユーザが囲み線又は区切り線を用いて文字分割の訂正を行う場合、表示・訂正モード処理部12及び認識エンジン部4は、認識結果の訂正処理を行う。具体的には、現在の認識結果である文字区切りと候補文字に対して、文字区切りを訂正し、その訂正された部分について候補文字を挙げる。そして、候補文字の可能な経路を導き出す。さらに、訂正箇所より前方部分を確定し、訂正箇所に矛盾する部分を削除することによって、候補文字ラティス内の考えるべき経路を制限する。この候補文字ラティスにViterbiアルゴリズムを適用することで、文字認識、文字区切り、文字列としてのつながりが総合的に評価され、最適な文字区切りと文字認識結果が得られる。
【0042】
図19(A)は、正しく認識されなかった手書き文字列と、そのときの候補文字ラティスの例である。例えば、「明日は」という手書き文字列が、誤った文字区切りである「日」、「月」及び「日は」で分割された結果、「日」、「月」及び「的」と誤認識されている(図中、網掛けの文字)。この場合、複数の候補文字としては、例えば、「日」に対しては「白」「日」、「月」に対しては「月」「白」、更に、この「日」及び「月」に対しては「朋」「明」、「は」に対しては「け」「は」、更に、「日」及び「は」に対しては「肘」「的」、更に、「月」及び「日」に対しては「胆」「昨」がそれぞれ認識された候補として挙げられ、これらの複数の候補文字に基づいて候補文字ラティスが導かれている。
【0043】
次に、この「日」及び「月」に対して、図19(B)のように、「日」及び「月」をひとつの文字として囲み線で囲むことで、区切りの訂正を行う。これにより、訂正に矛盾する候補文字、即ち、「日」に対する「白」「日」、「月」に対する「月」「白」、更に、「月」及び「日」に対する「胆」「昨」がそれぞれ候補文字から削除されると共に、訂正に矛盾する候補文字ラティスも削除される。図19(B)の太線で示されるように、この制限された候補文字ラティスにViterbiアルゴリズムを適用して、「確からしい」ものを選択すると、図19(C)のように、訂正後の認識結果、網掛けの文字をたどった「明」「日」「は」が得られる。
【0044】
ここで、Viterbiアルゴリズムについて説明する。ある手書き文字列が文字認識された際の認識結果は、文字区切りによる分割ごとにその「分割の確からしさ」、文字認識の候補ごとに「文字認識としての確からしさ」、そして、文字と文字の連続に「つながりの確からしさ」があり、文の先頭から最後までの候補をつなげる経路にそって、「文字認識としての確からしさ」、「分割の確からしさ」、「つながりの確からしさ」を加算していき、これらの総和が一番大きい経路を選択する。これを効率よく行うものとして、一例として、Viterbi アルゴリズムがある。この例では、「明」「日」「は」が一番確からしい経路として求められたことになる。
【0045】
図20は、誤認識訂正が波及する例についての説明図である。
囲みや区切り、あるいは、候補文字の選択や書き直しによって訂正がされると、それより前の文字区切り、文字認識を確定して、訂正以後の候補文字ラティスについて、Viterbi アルゴリズムが適用される。これにより、前方から誤分割・誤認識を訂正していくと、それに応じて、すでに訂正した部分は確定され、訂正より後方の誤分割や誤認識が自動的に訂正される可能性が増し、必要な訂正作業を少なくすることができる。具体的には、「明日は晴れるかな?」という手書き文字が、「明」「日」「は」「晴」「的」「か」「却」と誤分割・誤認識されていた場合、「的」の間を区切り線で分割する。これにより、「明日は晴」までの認識結果が確定すると共に、「的」は、「れ」「る」と訂正される。さらに、後方の誤認識された「却」も、Viterbi アルゴリズムによって、自動的に「な」「?」に訂正される。
【0046】
(ステップS115、S117について)
図21は、単文字ごとの誤認識訂正についての説明図である。
図21(A)(B)(C)のように、区切り位置は正しいが、単文字(日本語)の認識結果が間違っている場合(例えば、「文」を「六」と誤認識した場合)、ユーザは、間違っている文字の外接矩形領域内で、例えば、マウスの左クリック(又は中クリック)又はタップを行う。これにより、図21(B)のように、単文字ごとの認識候補一覧が表示される(例えば、「六」「欠」「文」「穴」「方」)。ユーザが、その一覧の中から、正しい認識結果である、「文」を選択することで、図21(C)のように認識結果が「文」に訂正される。また、図21(D)(E)(F)のように、区切り位置は正しいが、単文字(英語)の認識結果が間違っている場合(例えば、「T」を「J」と誤認識した場合)、ユーザは、間違っている文字の外接矩形領域内で、例えば、マウスの左クリック(又は中クリック)又はタップを行う。これにより、図21(E)のように、単文字ごとの認識候補一覧が表示される(例えば、「T」「f」「J」「I」「P」)。ユーザが、その一覧の中から正しい認識結果である、「T」を選択することで、図21(F)のように認識結果が「T」に訂正される。
【0047】
(ステップS119について)
図22は、単文字ごとの再入力についての説明図である。
まず、単文字ごとの認識候補は、類似度の高い順に何文字か表示されるため、手書き文字列があまりにも雑に書かれている場合や、くせのある文字の場合等、辞書に登録されて認識されるべき文字の形との類似度が低い場合には、正解候補の類似度が低くなり、上述の単文字ごとの認識候補一覧に正しい結果が含まれないことがある。この際、単文字ごとの再入力を行うと共に、認識結果の訂正を実行する。なお、認識候補内に正しい結果が含まれないのは、類似度が低すぎて候補に表示されないだけであり、正しい結果を示す文字が、必ずしも辞書に格納されていないわけではない。また、具体的には、図22(A)のように、「訂」が「託」と誤認識された場合、ユーザが、図22(B)のように、外接矩形領域の内側から再度その文字(例えば、「訂」)を手書き入力することで、「託」は、図22(C)のように「訂」と訂正される。また、例えば、図22(D)のように、「S」が「B」と誤認識された場合、ユーザが、図22(E)のように、外接矩形領域の内側から再度その文字(例えば、「S」)を手書き入力することで、「B」は、図22(F)のように「S」と訂正される。
【0048】
ここで、ステップS115におけるクリック(タップ)と再入力との判別は、例えば、マウス等のポインティングデバイスでのペンダウン位置からアップ位置までの移動距離が、予め設定されたしきい値(例えば、3ドット程度)未満であればクリック(タップ)、しきい値以上であれば再入力と判別する手法、又は、ペンダウンからアップまでの時間が予め設定されたしきい値以下であればクリック、以上であれば再入力と判別する手法等がある。また、外接矩形領域内でクリック(タップ)、又は再入力を行うことで、上述したステップS117及び119の処理が実行されるので、この外接矩形領域は、ユーザインタフェースのボタン等としての役割を果たすことにもなる。
【0049】
なお、本発明の文字認識方法は、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体、文字認識プログラムを含みコンピュータの内部メモリにロード可能なプログラム製品、文字認識プログラムを含みコンピュータが使用可能な記録媒体にストアされたプログラム製品等により提供されることができる。
【0050】
また、本発明では、文字を入力するユーザの癖をデータとして蓄積することで、認識精度を高めることもできる。この場合は、候補の優先度を、過去に選択されたデータで重み付けしたり、入力された文字が傾いている場合、その傾きを補正する処理等を予め実行することも可能である。
【0051】
【発明の効果】
本発明によると、以上説明した通り、枠なしで手書き入力された文字に対する文字認識及び認識の訂正を容易に行うことができる。
例えば、本発明によると、枠なしで手書き入力され、文字認識された文字に対して、複数の認識文字をひとつの入力文字として訂正することができる。また、本発明によると、枠なしで手書き入力され、文字認識された文字に対して、ひとつの認識文字を複数の入力文字として訂正することができる。
【0052】
また、本発明によると、認識結果の近傍に候補文字を表示し、正しい候補文字が選択されることで認識文字を訂正することができる。また、本発明によると、もとの手書き入力文字を消去し、新たに入力された手書き入力文字に対して、再び文字認識を行うことにより訂正することができる。
【0053】
また、本発明によると、Viterbi アルゴリズムを適用して、候補文字を探索することができる。さらに、本発明によると、訂正された手書き入力文字よりも前方の認識結果を確定した後、訂正された手書き入力文字よりも後方の手書き入力文字のみを再探索することにより、文字認識及び認識の訂正を効率よく行うことができる。
【図面の簡単な説明】
【図1】本発明に関する枠なし手書き文字認識装置を適用した文字認識システムの概略構成図。
【図2】本発明に関する文字認識方法のフローチャート。
【図3】本発明に関する文字認識プログラムを開始した際の表示画面についての説明図。
【図4】手書き文字列の入力に関する説明図。
【図5】画面のスクロールに関する説明図。
【図6】手書き文字列の認識の説明図。
【図7】認識結果の表示例(1)。
【図8】認識結果の表示例(2)。
【図9】認識結果の表示例(3)。
【図10】区切りによる区切り位置の訂正についての説明図。
【図11】囲みによる区切り位置の訂正についての説明図。
【図12】囲みの判別についての説明図。
【図13】囲みと区切りの判別処理に関する説明図。
【図14】囲みと区切りの判別処理についてのフローチャート。
【図15】外接矩形による判別についての説明図。
【図16】区切り方向の判別についての説明図。
【図17】区切りに基づいて文字の区切り位置、範囲領域を定める場合についての説明図。
【図18】誤認識訂正処理のフローチャート。
【図19】誤認識訂正の過程についての説明図。
【図20】誤認識訂正が波及する例についての説明図。
【図21】単文字ごとの誤認識訂正についての説明図。
【図22】単文字ごとの再入力についての説明図。
【符号の説明】
1 文字列認識システム
2 ユーザ
3 アプリケーション
4 認識エンジン部
10 認識コントロール部
11 入力モード処理部
12 表示・訂正モード処理部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13
【図15】
14
【図16】
15
【図17】
16
【図18】
17
【図19】
18
【図20】
19
【図21】
20
【図22】
21