(57)【要約】【課題】複数の手書き文字の文字認識を行うことができ、かつ利便性のよい手書き文字認識装置を提供することを目的とする。【解決手段】操作者が座標入力装置に描いた複数の手書き文字に関する手書き文字情報を取得する手書き文字取得手段と、手書き文字取得手段が取得した手書き文字情報に基づいて、複数の手書き文字を文字単位に分割する文字切出手段と、文字切出手段によって切り出された各文字に対して文字認識を行う文字認識手段と、文字認識手段が誤認識して得られた誤認識文字を、操作者の指示により選択する誤認識文字選択手段と、誤認識文字選択手段が選択した誤認識文字を他の文字に修正する文字修正手段とを備えた。【選択図】        図２
2006072730.tif 000002
【特許請求の範囲】
【請求項１】
操作者が座標入力装置に描いた手書き文字を認識する手書き文字認識装置であって、
前記操作者が前記座標入力装置に描いた複数の手書き文字に関する手書き文字情報を取得する手書き文字取得手段と、
前記手書き文字取得手段が取得した手書き文字情報に基づいて、前記複数の手書き文字を文字単位に分割する文字切出手段と、
前記文字切出手段によって切り出された各文字に対して文字認識を行う文字認識手段と、
前記文字認識手段が誤認識して得られた誤認識文字を、前記操作者の指示により選択する誤認識文字選択手段と、
前記誤認識文字選択手段が選択した前記誤認識文字を他の文字に修正する文字修正手段と
を備えたことを特徴とする文字認識装置。
【請求項２】
前記誤認識文字選択手段は、前記操作者の指示により、前記手書き文字取得手段が取得した前記複数の手書き文字から複数の前記誤認識文字を選択し、
前記文字修正手段は、前記誤認識文字選択手段が選択した複数の前記誤認識文字それぞれを他の文字に修正することを特徴とする請求項１に記載の文字認識装置。
【請求項３】
前記座標入力装置に設けられた手書き文字表示手段は、前記操作者が描いた手書き文字を表示し、
前記誤認識文字選択手段は、前記手書き文字表示手段に表示された複数の手書き文字のうち所定の手書き文字を、前記操作者が前記座標入力装置において指定した場合に、前記操作者が指定した文字を前記誤認識文字として選択することを特徴とする請求項２に記載の文字認識装置。
【請求項４】
前記誤認識文字選択手段は、前記手書き文字表示手段に表示された複数の手書き文字のうち所定の手書き文字を囲む囲み線を、前記操作者が前記座標入力装置において描いた場合に、当該囲み線によって囲まれた文字を前記誤認識文字として選択することを特徴とする請求項１から３のいずれか一項に記載の文字認識装置。
【請求項５】
前記誤認識文字選択手段は、前記手書き文字表示手段に表示された複数の手書き文字のうち所定の文字に対する下線を、前記操作者が前記座標入力装置において描いた場合に、当該下線に対応する文字を前記誤認識文字として選択することを特徴とする請求１から４のいずれか一項に記載の文字認識装置。
【請求項６】
前記手書き文字表示手段は、前記手書き文字取得手段が取得した前記複数の手書き文字を行単位で表示し、
前記誤認識文字選択手段は、前記手書き文字表示手段に表示された所定の手書き文字に対応して設けられている行領域内を、前記操作者が前記座標入力装置において指定した場合に、当該行領域に対応する複数の文字を前記誤認識文字として選択することを特徴とする請求項１から５のいずれか一項に記載の文字認識装置。
【請求項７】
前記文字認識手段によって得られた認識文字と、前記文字認識手段により認識文字である可能性があると判断された認識文字候補とを表示する認識文字表示手段をさらに備え、
前記操作者からの指示により、前記認識文字表示手段が表示した前記認識文字候補の中から所定の認識文字候補を選択する修正文字選択手段と
をさらに備え、
前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正文字選択手段が選択した前記認識文字候補に変更することを特徴とする請求項１から６のいずれか一項に記載の文字認識装置。
【請求項８】
前記認識文字表示手段は、前記複数の手書き文字それぞれの前記認識文字と、前記複数の手書き文字それぞれの前記認識文字候補とを表示し、
前記修正文字選択手段は、前記誤認識文字選択手段によって選択された誤認識文字に対する前記認識文字候補を前記操作者からの指示により選択し、
前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正文字選択手段によって選択された前記認識文字候補に変更することを特徴とする請求項７に記載の文字認識装置。
【請求項９】
前記認識文字表示手段は、前記手書き文字取得手段が取得した前記複数の手書き文字のうち、前記誤認識文字選択手段によって選択された前記誤認識文字に対する認識文字と、前記認識文字候補とを表示し、
前記修正文字選択手段は、前記操作者からの指示により所定の前記認識文字候補を選択し、
前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正文字選択手段によって選択された前記認識文字候補に変更することを特徴とする請求項７または８に記載の文字認識装置。
【請求項１０】
前記誤認識文字選択手段によって選択された前記誤認識文字に対する修正手書き文字を取得する修正文字取得手段をさらに備え、
前記文字認識手段は、前記修正文字取得手段によって取得された前記修正手書き文字を文字認識し、
前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正手書き文字に対して得られた認識文字に修正することを特徴とする請求項１から９のいずれか一項に記載の文字認識装置。
【請求項１１】
前記誤認識文字選択手段は、前記操作者からの指示により、前記複数の手書き文字から複数の誤認識文字を選択し、
前記修正文字取得手段は、前記誤認識文字選択手段によって選択された複数の前記誤認識文字それぞれに対応する修正手書き文字を取得し、
前記文字認識手段は、前記修正文字取得手段によって取得された複数の修正手書き文字を文字認識し、
前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正手書き文字に対して得られた認識文字に修正することを特徴とする請求項１０に記載の文字認識装置。
【請求項１２】
操作者が座標入力装置に描いた手書き文字を認識する手書き文字認識方法であって、
前記操作者が前記座標入力装置に描いた複数の手書き文字に関する手書き文字情報を取得する手書き文字取得ステップと、
前記手書き文字取得ステップにおいて取得した手書き文字情報に基づいて、前記複数の手書き文字を文字単位に分割する文字切出ステップと、
前記文字切出ステップにおいて切り出された各文字に対して文字認識を行う文字認識ステップと、
前記文字認識ステップにおいて誤認識して得られた誤認識文字を、前記操作者の指示により選択する誤認識文字選択ステップと、
前記誤認識文字選択ステップにおいて選択された前記誤認識文字を他の文字に修正する文字修正ステップと
を有することを特徴とする文字認識方法。
【請求項１３】
請求項１２に記載の文字認識方法をコンピュータに実行させることを特徴とする文字認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
操作者が座標入力装置に描いた手書き文字を認識する手書き文字認識装置、文字認識方法および文字認識プログラムに関するものである。
【背景技術】
【０００２】
手書き文字認識の方法としては、固定の枠を設け、ユーザに一文字単位でその枠内に文字を記入させる方法が知られている（例えば「特許文献１」参照）。この方法は、一文字単位の切り出しを行う処理が不要であり、切り出しミスによる誤認識がないというメリットがある。一方で、ユーザは、１文字ずつ入力、認識の操作を行う必要があり、操作者の負担が大きく、利便性が低いというデメリットがある。
【０００３】
また、入力枠を設けず、手書き領域内に自由に複数の文字を書く方法も知られている（例えば、「特許文献２」参照）。この方法においては、操作者は手書き領域内に複数の手書き文字を続けて入力することができる。したがって、利便性は向上する。しかし、この方法においては、複数の手書き文字から各文字を自動的に抽出しなければならない。このため一文字切り出し処理が行われる。
【０００４】
【特許文献１】特開２００１−０１４１０３号公報
【特許文献２】特開２０００−０７６３８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
入力枠をなくし、自由に複数の文字を書く方法においては、上述のように一文字単位の切り出し処理を行う必要がある。この切り出し処理においては、１文字の認識を誤る場合があるという問題があった。その一方で、操作者の利便性をより向上したいという要望がある。
【０００６】
本発明は、上記に鑑みてなされたものであって、複数の手書き文字の文字認識を行うことができ、かつ利便性のよい手書き文字認識装置、文字認識方法および文字認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、操作者が座標入力装置に描いた手書き文字を認識する手書き文字認識装置であって、前記操作者が前記座標入力装置に描いた複数の手書き文字に関する手書き文字情報を取得する手書き文字取得手段と、前記手書き文字取得手段が取得した手書き文字情報に基づいて、前記複数の手書き文字を文字単位に分割する文字切出手段と、前記文字切出手段によって切り出された各文字に対して文字認識を行う文字認識手段と、前記文字認識手段が誤認識して得られた誤認識文字を、前記操作者の指示により選択する誤認識文字選択手段と、前記誤認識文字選択手段が選択した前記誤認識文字を他の文字に修正する文字修正手段とを備えたことを特徴とする。
【０００８】
また、請求項２にかかる発明は、請求項１に記載の文字認識装置であって、前記誤認識文字選択手段は、前記操作者の指示により、前記手書き文字取得手段が取得した前記複数の手書き文字から複数の前記誤認識文字を選択し、前記文字修正手段は、前記誤認識文字選択手段が選択した複数の前記誤認識文字それぞれを他の文字に修正することを特徴とする。
【０００９】
また、請求項３にかかる発明は、請求項２に記載の文字認識装置であって、前記座標入力装置に設けられた手書き文字表示手段は、前記操作者が描いた手書き文字を表示し、前記誤認識文字選択手段は、前記手書き文字表示手段に表示された複数の手書き文字のうち所定の手書き文字を、前記操作者が前記座標入力装置において指定した場合に、前記操作者が指定した文字を前記誤認識文字として選択することを特徴とする。
【００１０】
また、請求項４にかかる発明は、請求項１から３のいずれか一項に記載の文字認識装置であって、前記誤認識文字選択手段は、前記手書き文字表示手段に表示された複数の手書き文字のうち所定の手書き文字を囲む囲み線を、前記操作者が前記座標入力装置において描いた場合に、当該囲み線によって囲まれた文字を前記誤認識文字として選択することを特徴とする。
【００１１】
また、請求項５にかかる発明は、請求１から４のいずれか一項に記載の文字認識装置であって、前記誤認識文字選択手段は、前記手書き文字表示手段に表示された複数の手書き文字のうち所定の文字に対する下線を、前記操作者が前記座標入力装置において描いた場合に、当該下線に対応する文字を前記誤認識文字として選択することを特徴とする。
【００１２】
また、請求項６にかかる発明は、請求項１から５のいずれか一項に記載の文字認識装置であって、前記手書き文字表示手段は、前記手書き文字取得手段が取得した前記複数の手書き文字を行単位で表示し、前記誤認識文字選択手段は、前記手書き文字表示手段に表示された所定の手書き文字に対応して設けられている行領域内を、前記操作者が前記座標入力装置において指定した場合に、当該行領域に対応する複数の文字を前記誤認識文字として選択することを特徴とする。
【００１３】
また、請求項７にかかる発明は、請求項１から６のいずれか一項に記載の文字認識装置であって、前記文字認識手段によって得られた認識文字と、前記文字認識手段により認識文字である可能性があると判断された認識文字候補とを表示する認識文字表示手段をさらに備え、前記操作者からの指示により、前記認識文字表示手段が表示した前記認識文字候補の中から所定の認識文字候補を選択する修正文字選択手段とをさらに備え、前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正文字選択手段が選択した前記認識文字候補に変更することを特徴とする。
【００１４】
また、請求項８にかかる発明は、請求項７に記載の文字認識装置であって、前記認識文字表示手段は、前記複数の手書き文字それぞれの前記認識文字と、前記複数の手書き文字それぞれの前記認識文字候補とを表示し、前記修正文字選択手段は、前記誤認識文字選択手段によって選択された誤認識文字に対する前記認識文字候補を前記操作者からの指示により選択し、前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正文字選択手段によって選択された前記認識文字候補に変更することを特徴とする。
【００１５】
また、請求項９にかかる発明は、請求項７または８に記載の文字認識装置であって、前記認識文字表示手段は、前記手書き文字取得手段が取得した前記複数の手書き文字のうち、前記誤認識文字選択手段によって選択された前記誤認識文字に対する認識文字と、前記認識文字候補とを表示し、前記修正文字選択手段は、前記操作者からの指示により所定の前記認識文字候補を選択し、前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正文字選択手段によって選択された前記認識文字候補に変更することを特徴とする。
【００１６】
また、請求項１０にかかる発明は、請求項１から９のいずれか一項に記載の文字認識装置であって、前記誤認識文字選択手段によって選択された前記誤認識文字に対する修正手書き文字を取得する修正文字取得手段をさらに備え、前記文字認識手段は、前記修正文字取得手段によって取得された前記修正手書き文字を文字認識し、前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正手書き文字に対して得られた認識文字に修正することを特徴とする。
【００１７】
また、請求項１１にかかる発明は、請求項１０に記載の文字認識装置であって、前記誤認識文字選択手段は、前記操作者からの指示により、前記複数の手書き文字から複数の誤認識文字を選択し、前記修正文字取得手段は、前記誤認識文字選択手段によって選択された複数の前記誤認識文字それぞれに対応する修正手書き文字を取得し、前記文字認識手段は、前記修正文字取得手段によって取得された複数の修正手書き文字を文字認識し、前記文字修正手段は、前記誤認識文字選択手段によって選択された前記誤認識文字を、前記修正手書き文字に対して得られた認識文字に修正することを特徴とする。
【００１８】
また、請求項１２にかかる発明は、操作者が座標入力装置に描いた手書き文字を認識する手書き文字認識方法であって、前記操作者が前記座標入力装置に描いた複数の手書き文字に関する手書き文字情報を取得する手書き文字取得ステップと、前記手書き文字取得ステップにおいて取得した手書き文字情報に基づいて、前記複数の手書き文字を文字単位に分割する文字切出ステップと、前記文字切出ステップにおいて切り出された各文字に対して文字認識を行う文字認識ステップと、前記文字認識ステップにおいて誤認識して得られた誤認識文字を、前記操作者の指示により選択する誤認識文字選択ステップと、前記誤認識文字選択ステップにおいて選択された前記誤認識文字を他の文字に修正する文字修正ステップとを有することを特徴とする。
【００１９】
また、請求項１３にかかる発明は、文字認識プログラムであって、請求項１２に記載の文字認識方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２０】
請求項１にかかる発明によれば、手書き文字取得手段は、操作者が座標入力装置に描いた複数の手書き文字に関する手書き文字情報を取得し、文字切出手段は、手書き文字取得手段が取得した手書き文字情報に基づいて、複数の手書き文字を文字単位に分割し、文字認識手段は、文字切出手段によって切り出された各文字に対して文字認識を行い、誤認識文字選択手段は、文字認識手段が誤認識して得られた誤認識文字を、操作者の指示により選択し、文字修正手段は、誤認識文字選択手段が選択した誤認識文字を他の文字に修正するので、手書き文字を一括して認識する文字認識装置において、誤認識した文字の修正を、１文字単位だけでなく、複数文字単位でも行うことができるので、文字認識装置の利便性を向上させることができるという効果を奏する。
【００２１】
また、請求項２にかかる発明によれば、誤認識文字選択手段は、操作者の指示により、手書き文字取得手段が取得した複数の手書き文字から複数の前記誤認識文字を選択し、文字修正手段は、誤認識文字選択手段が選択した複数の誤認識文字それぞれを他の文字に修正するので、操作者は、自由に誤認識文字を選択することができ、文字認識装置の利便性が向上するという効果を奏する。
【００２２】
また、請求項３にかかる発明によれば、座標入力装置に設けられた手書き文字表示手段は、操作者が描いた手書き文字を表示し、誤認識文字選択手段は、手書き文字表示手段に表示された複数の手書き文字のうち所定の手書き文字を、操作者が座標入力装置において指定した場合に、操作者が指定した文字を前記誤認識文字として選択するので、操作者は、手書き文字表示手段に表示された手書き文字を見ながら所望の手書き文字を選択することができ、文字認識装置の利便性を向上させることができるという効果を奏する。
【００２３】
また、請求項４にかかる発明によれば、誤認識文字選択手段は、手書き文字表示手段に表示された複数の手書き文字のうち所定の手書き文字を囲む囲み線を、操作者が座標入力装置において描いた場合に、当該囲み線によって囲まれた文字を誤認識文字として選択する。このように、ジェスチャ処理を用いることによって、操作者による操作を簡便化することができるという効果を奏する。
【００２４】
また、請求項５にかかる発明によれば、誤認識文字選択手段は、手書き文字表示手段に表示された複数の手書き文字のうち所定の文字に対する下線を、操作者が座標入力装置において描いた場合に、当該下線に対応する文字を誤認識文字として選択する。このように，ジェスチャ処理を用いることによって、操作者による操作を簡便化することができるという効果を奏する。
【００２５】
また、請求項６にかかる発明によれば、文字表示手段は、手書き文字取得手段が取得した複数の手書き文字を行単位で表示し、誤認識文字選択手段は、手書き文字表示手段に表示された所定の手書き文字に対応して設けられている行領域内を、操作者が座標入力装置において指定した場合に、当該行領域に対応する複数の文字を誤認識文字として選択する。このように、ジェスチャ処理を用いることによって、操作者による操作を簡便化することができるという効果を奏する。
【００２６】
また、請求項７にかかる発明によれば、認識文字表示手段は、文字認識手段によって得られた認識文字と、文字認識手段により認識文字である可能性があると判断された認識文字候補とを表示し、修正文字選択手段は、操作者からの指示により、認識文字表示手段が表示した認識文字候補の中から所定の認識文字候補を選択し、文字修正手段は、誤認識文字選択手段によって選択された誤認識文字を、修正文字選択手段が選択した認識文字候補に変更するので、操作者による操作を簡便化させることができるという効果を奏する。
【００２７】
また、請求項８にかかる発明によれば、認識文字表示手段は、複数の手書き文字それぞれの認識文字と、複数の手書き文字それぞれの認識文字候補とを表示し、修正文字選択手段は、誤認識文字選択手段によって選択された誤認識文字に対する認識文字候補を操作者からの指示により選択し、文字修正手段は、誤認識文字選択手段によって選択された誤認識文字を、修正文字選択手段によって選択された認識文字候補に変更するので、操作者による操作を簡便化させることができるという効果を奏する。
【００２８】
また、請求項９にかかる発明によれば、認識文字表示手段は、手書き文字取得手段が取得した複数の手書き文字のうち、誤認識文字選択手段によって選択された誤認識文字に対する認識文字と、認識文字候補とを表示し、修正文字選択手段は、操作者からの指示により所定の認識文字候補を選択し、文字修正手段は、誤認識文字選択手段によって選択された誤認識文字を、修正文字選択手段によって選択された認識文字候補に変更するので、操作者による操作を簡便化させることができるという効果を奏する。
【００２９】
また、請求項１０にかかる発明によれば、修正文字取得手段は、誤認識文字選択手段によって選択された誤認識文字に対する修正手書き文字を取得し、文字認識手段は、修正文字取得手段によって取得された修正手書き文字を文字認識し、文字修正手段は、誤認識文字選択手段によって選択された誤認識文字を、修正手書き文字に対して得られた認識文字に修正するので、操作者による操作を簡便化させることができるという効果を奏する。
【００３０】
また、請求項１１にかかる発明によれば、誤認識文字選択手段は、操作者からの指示により、複数の手書き文字から複数の誤認識文字を選択し、修正文字取得手段は、誤認識文字選択手段によって選択された複数の誤認識文字それぞれに対応する修正手書き文字を取得し、文字認識手段は、修正文字取得手段によって取得された複数の修正手書き文字を文字認識し、文字修正手段は、誤認識文字選択手段によって選択された誤認識文字を、修正手書き文字に対して得られた認識文字に修正するので、操作者による操作を簡便化させることができるという効果を奏する。
【００３１】
また、請求項１２にかかる発明によれば、手書き文字取得ステップでは、操作者が座標入力装置に描いた複数の手書き文字に関する手書き文字情報を取得し、文字切出ステップでは、手書き文字取得ステップにおいて取得した手書き文字情報に基づいて、複数の手書き文字を文字単位に分割し、文字認識ステップでは、文字切出ステップにおいて切り出された各文字に対して文字認識を行い、誤認識文字選択ステップでは、文字認識ステップにおいて誤認識して得られた誤認識文字を、操作者の指示により選択し、文字修正ステップでは、誤認識文字選択ステップにおいて選択されて誤認識文字を他の文字に修正するので、手書き文字を一括して認識する文字認識装置において、誤認識した文字の修正を、１文字単位だけでなく、複数文字単位でも行うことができるので、文字認識装置の利便性を向上させることができるという効果を奏する。
【００３２】
また、請求項１３にかかる発明によれば、手書き文字取得ステップでは、操作者が座標入力装置に描いた複数の手書き文字に関する手書き文字情報を取得し、文字切出ステップでは、手書き文字取得ステップにおいて取得した手書き文字情報に基づいて、複数の手書き文字を文字単位に分割し、文字認識ステップでは、文字切出ステップにおいて切り出された各文字に対して文字認識を行い、誤認識文字選択ステップでは、文字認識ステップにおいて誤認識して得られた誤認識文字を、操作者の指示により選択し、文字修正ステップでは、誤認識文字選択ステップにおいて選択されて誤認識文字を他の文字に修正するので、手書き文字を一括して認識する文字認識装置において、誤認識した文字の修正を、１文字単位だけでなく、複数文字単位でも行うことができるので、文字認識装置の利便性を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３３】
以下に添付図面を参照して、この発明にかかる文字認識装置、文字認識方法および文字認識プログラムの最良な実施の形態を詳細に説明する。
【００３４】
（第１の実施の形態）
図１は、実施の形態１にかかる文字認識装置を含む文字認識システム１の全体構成を示す図である。
【００３５】
文字認識システム１は、文字認識装置１００と、手書き文字入力装置２００とを備えている。本実施の形態にかかる文字認識装置１００は、パーソナルコンピュータである。手書き文字入力装置２００は、具体的には、大画面表示装置である。手書き文字入力装置２００は、手書き文字等を入力する手書き文字入力画面２１０と、手書き文字入力画面２１０に入力された手書き文字等を表示する表示部２２０とを有している。手書き文字入力画面２１０は、具体的には、ユーザからの入力を座標値として取得する座標入力装置である。手書き文字入力画面２１０と表示部２２０とは一体に設けられている。
【００３６】
なお、ユーザが手書き文字入力画面２１０に文字等を入力するための入力手段として、マウスやタブレットを利用してもよい。
【００３７】
また、表示部２２０は、ＣＲＴやプロジェクタなどであってもよい。また、表示部２２０の他の例としては、すでに市販されている装置であって、座標入力装置とプロジェクタを組み合わせたものであってもよい。
【００３８】
手書き文字入力装置２００の手書き文字入力画面２１０は、図１に示すように、操作者が指またはペンなどの入力手段を利用して入力した信号を座標値として検出する。そして、文字認識装置１００に送る。文字認識装置１００は、手書き文字入力画面２１０から取得した座標値の集合（以下、ストローク）に対して処理を行なう。そして、得られた処理内容を表示部２２０に表示する。
【００３９】
本実施の形態においては、ユーザが手書き文字入力画面２１０に対して行う行為は、マウスの左ボタンに対応付けられている。例えば、ユーザが手書き文字入力画面２１０に触れる行為は、マウス左ボタンのＤＯＷＮイベントに対応付けられている。また、操作者が入力手段を利用して座標入力部に触れた状態のまま移動する行為は、マウス左ボタンのＭＯＶＥイベントに対応付けられている。また、操作者が入力手段を座標入力部から離す行為は、マウス左ボタンのＵＰイベントに対応付けられている。
【００４０】
手書き文字入力装置２００には、手書き文字入力画面２１０を制御するドライバが設けられている。手書き文字入力画面２１０の制御ドライバは、操作者の行為により得られた座標値とマウスイベントの情報を文字認識装置１００に対して出力する。
【００４１】
図２は、文字認識装置１００の機能構成を示すブロック図である。文字認識装置１００は、座標取得部１０２と、コマンド処理部１０４と、手書き文字一括認識部１０６と、文字編集部１０８と、表示処理部１１０と、座標値メモリ１２０と、行単位メモリ１２２と、結果メモリ１２４と、修正メモリ１２６と、書き直しメモリ１２８とを有している。
【００４２】
座標取得部１０２は、手書き文字入力画面２１０に入力された座標値を、手書き文字入力画面２１０を制御するドライバから取得する。そして、座標値を座標値メモリ１２０および行単位メモリ１２２に格納する。
【００４３】
図３は、座標値メモリ１２０のデータ構成を示している。座標値メモリ１２０は、複数の座標値をストローク画像単位で格納している。ストローク画像とは、マウスのＤＯＷＮからＭＯＶＥを経てＵＰまでの間のイベントによって得られる画像である。
【００４４】
行単位メモリ１２２は、複数のページを有している。各ページは、１ストローク画像に対応する複数の座標値を格納している。すなわち、１ページには、ストロークの間、すなわちマウスのＤＯＷＮからＵＰまでの間に得られた座標値がすべて格納されている。
【００４５】
さらに、座標値メモリ１２０は複数のページを有し、複数のストローク画像に対応する座標値を格納している。各ページには、異なるストロークに対応する座標値が格納されている。
【００４６】
図４は、行単位メモリ１２２のデータ構成を示している。行単位メモリ１２２は、複数行に渡って記載された手書き文字を行単位で格納している。行単位メモリ１２２は、複数のページを有している。各ページは、１行分の手書き文字に対応する情報を格納している。
【００４７】
ここで、１行とは、手書き文字入力画面２１０の垂直方向における所定の範囲のことである。この所定の範囲、すなわち高さを示す高さ情報を予め保持している。そして、高さ情報に所定の余白を設けた垂直方向の範囲内に、新たなストロークが一部でも入った場合は、当該ストロークは同一行に対するストロークとして認識する。
【００４８】
各ページは、各ページに含まれ１行分のストローク画像の座標値メモリ１２０における開始ページと終了ページを示す情報を格納している。各ページはまた、対応する行の外接四角形を示す情報を格納している。具体的には、行の左上座標と右下座標とが外接四角形を示す情報を格納している。
【００４９】
各ページはさらに、対応する行に含まれる文字に対する認識結果を格納する、結果メモリ１２４の開始ページと終了ページを示す情報を格納している。
【００５０】
再び、説明を図２に戻す。コマンド処理部１０４は、座標取得部１０２が取得した座標値に基づいて、ユーザからの命令を特定する。ユーザからの命令としては、手書き文字一括認識処理命令および文字編集処理命令がある。ここで、手書き文字一括認識処理とは、ユーザによって手書き文字入力画面２１０に入力された手書き文字を認識する処理である。複数の手書き文字が入力されている場合には、複数の手書き文字全てに対し、一括して文字認識処理を行う。また、文字編集処理とは、既に文字認識され、特定された文字を他の文字に変更する処理である。すなわち、誤った文字を認識した場合に、正しい文字に修正する処理を行う。
【００５１】
手書き文字一括認識部１０６は、手書き文字入力画面２１０に入力された手書き文字に対して文字認識処理を行う。手書き文字入力画面２１０に複数の文字が入力されている場合には、複数の文字すべてに対し、一括して文字認識処理を行う。具体的には、まず手書き文字を文字単位に分割する。そして、分割によって得られた各文字に対して文字認識処理を行う。そして、各手書き文字に対する文字認識により得られた認識文字を結果メモリ１２４に格納する。
【００５２】
手書き文字一括認識部１０６はさらに、文字認識処理によって認識文字である可能性が高い認識文字候補も併せて結果メモリ１２４に格納する。例えば、認識文字が「う」である場合に、認識文字「う」に似た「ラ」認識文字候補として格納される。
【００５３】
図５は、結果メモリ１２４のデータ構成を示している。結果メモリ１２４は、手書き文字一括認識部１０６による文字認識の結果を格納している。結果メモリ１２４は、複数のページを有している。各ページは、１文字に対応する認識文字および認識文字候補を格納している。各ページはさらに、格納している１文字に対応する座標値メモリ１２０の開始ページおよび終了ページ、格納している１文字を含む行の左上座標および右下座標を格納している。
【００５４】
文字編集部１０８は、手書き文字一括認識部１０６による文字認識処理により得られた認識文字をユーザからの指示により編集する。修正メモリ１２６は、このときユーザにより選択された認識文字および認識文字候補を一時的に格納する。文字編集部１０８はまた、手書き文字一括認識部１０６による認識処理により得られた認識文字に対し、ユーザから再度取得した手書き文字に基づいて、認識文字を修正する。この書き直し処理において得られた認識文字および認識文字候補は、書き直しメモリ１２８に格納される。
【００５５】
表示処理部１１０は、座標値メモリ１２０、行単位メモリ１２２、結果メモリ１２４、修正メモリ１２６および書き直しメモリ１２８に格納されている情報を表示部２２０に表示する。
【００５６】
なお、本実施の形態にかかる座標取得部１０２は、特許請求の範囲に記載の手書き文字取得手段、誤認識文字選択手段、修正文字選択手段、修正文字取得手段に相当する。また、本実施の形態にかかる手書き文字一括認識部１０６は、特許請求の範囲に記載の文字切出手段と文字認識手段とに相当する。また、本実施の形態にかかる文字編集部１０８は、特許請求の範囲に記載の文字修正手段に相当する。
【００５７】
図６は、文字認識装置１００による文字認識処理を示すフローチャートである。文字認識装置１００の座標取得部１０２は、まず手書き文字入力画面２１０から座標値を取得する（ステップＳ１０２）。次に、取得した座標値を順次座標値メモリ１２０に格納する（ステップＳ１０４）。
【００５８】
次に、コマンド処理部１０４は、座標取得部１０２が取得した座標値に基づいて、コマンド処理を行う。コマンド処理では、ユーザからの命令が手書き文字一括認識処理命令および文字編集処理命令のいずれであるかを判別する。そして、手書き文字一括認識部１０６または文字編集部１０８に対して、判別した命令を出す。
【００５９】
なお、座標取得部１０２は、１ストローク分の座標値を取得すると、当該ストローク画像が、手書き文字の入力であるか、命令であるかを判別する。そして、命令である場合にコマンド処理を行う。手書き文字の入力である場合など、いずれの命令にも該当しない場合には、ステップＳ１０２に戻り、座標情報取得処理を繰り返す。
【００６０】
コマンド処理（ステップＳ１０６）において、コマンド処理部１０４がユーザからの命令が手書き文字一括認識処理命令であると判別した場合には、手書き文字一括認識部１０６に対して処理を命令する。そして、手書き文字一括認識部１０６は、手書き文字入力画面２１０に入力された手書き文字に対して、手書き文字一括認識を行う（ステップＳ１１０）。
【００６１】
手書き文字一括認識処理においては、行単位で一括して手書き文字を認識する。そして、各文字に対する文字認識結果を結果メモリ１２４に格納する。具体的には、文字認識の結果得られた認識文字および認識文字候補と結果メモリ１２４に格納する。さらに、表示処理部１１０は、認識文字および認識文字候補を表示部２２０に表示させる。
【００６２】
一方、コマンド処理（ステップＳ１０６）において、コマンド処理部１０４がユーザからの命令が文字編集処理命令であると判別した場合には、文字編集部１０８に対して処理を命令する。そして、文字編集部１０８は、ユーザによって指定された手書き文字に対する文字編集処理を行う（ステップＳ１１２）。文字編集処理においては、手書き文字一括認識部１０６による文字認識によって得られた文字認識の結果を修正する。文字編集処理（ステップＳ１１２）については後述する。
【００６３】
表示処理（ステップＳ１２０）においては、手書き文字一括認識処理（ステップＳ１１０）または文字編集処理（ステップＳ１１２）において得られた結果を各メモリから取得し、表示部２２０に表示させる。同時に、座標入力処理へ処理を返す。ユーザからの入力を待ち、以上の処理を繰り返す。
【００６４】
図７は、図６において説明したステップＳ１０４における座標取得部１０２の詳細な処理を示すフローチャートである。
【００６５】
座標取得部１０２は、マウスイベントを常に監視している（ステップＳ１４０）。マウスイベントがない場合は、マウスイベントの監視でループし続ける。
【００６６】
手書き文字入力画面２１０におけるマウスイベントが検出された場合は（ステップＳ１４０，Ｙｅｓ）、座標取得部１０２は、座標値を結果メモリ１２４に格納する（ステップＳ１４２）。次に、ＵＰイベントかどうかを調べる（ステップＳ１４４）。ＵＰイベントがない場合は（ステップＳ１４４，Ｎｏ）、マウスイベントの監視へ処理を返す。ＵＰイベントであれば（ステップＳ１４４，Ｙｅｓ）、座標値メモリ１２０のページを次のページにする（ステップＳ１４６）。具体的には、ページ番号を１大きくする。そして、以降の座標値を次のページに格納する。
【００６７】
以上の処理により、マウスのＤＯＷＮからＵＰまでの間に得られた座標値群をストロークとして座標値メモリ１２０に格納することができる。図８は、手書き文字入力画面２１０に対するストローク画像を示している。
【００６８】
同時に、ストローク単位を操作者に明示するために図８に示すように各座標点間を直線で結んだストローク画像を表示部２２０に表示すべく表示処理部１１０に対し、表示処理を指示する。表示処理部１１０は、ストローク画像としての線分を表示部２２０に表示する。
【００６９】
次に、座標取得部１０２は、行の判別を行う（ステップＳ１４８）。具体的には、行単位で高さ情報を保持している。そして、高さ情報に所定の余白を設けた垂直方向の範囲内に、新たなストロークが一部でも入った場合は同じ行における手書き文字と認識する。この場合、行単位メモリ１２２に座標値メモリ１２０のページ番号を追加する（ステップＳ１５０）。
【００７０】
同時に、新たな行を含めた一行分のストローク群の外接四角形（行の左上座標と右下座標）を求める。そして、求めた座標値を行単位メモリ１２２に格納する。新たなストロークが一部も入っていない場合は、新たな行と認識する。そして、行単位メモリ１２２のページをめくる。すなわち、ページ番号を１大きくする。行判別が完了すると、コマンド処理に移行する。
【００７１】
図９は、コマンド処理（ステップＳ１０６）におけるコマンド処理部１０４の詳細な処理を示すフローチャートである。まず、ユーザから手書き文字一括認識処理命令があった場合には（ステップＳ１６２，Ｙｅｓ）手書き文字一括認識部１０６は、文字認識を行う。
【００７２】
手書き文字一括認識処理命令は、以下の２つの方法により発行される。すなわち１つめは、手書き文字入力画面２１０の任意の場所に認識開始用のボタンを配置しておく。そして、ユーザが当該ボタンを押下した場合に、手書き文字一括認識処理命令を発行する。
【００７３】
もう一つは、マウスＵＰイベント後、所定の時間内にさらなる入力があるかどうかを調査する。そして、入力がない場合に手書き文字一括認識処理命令を発行する。
【００７４】
以上のうちいずれかの方法により手書き文字一括認識処理命令が発行された場合に、手書き文字一括認識部１０６は、手書き文字一括認識処理を行う。
【００７５】
手書き文字一括認識処理命令が発行されない場合は（ステップＳ１６２，Ｎｏ）、文字編集処理命令の有無を確認する。
【００７６】
文字編集処理命令は以下の方法により指定される。すなわち、手書き文字入力画面２１０の任意の場所に編集用のＯＮ／ＯＦＦボタンを配置しておく。そして、ユーザが当該ボタンを押下した場合に、ＯＮ／ＯＦＦを切り替える。ボタンの状態がＯＮの場合、文字編集処理命令があったと判断し（ステップＳ１６４，Ｙｅｓ）文字編集処理に移行する。ＯＦＦの場合は、文字編集処理命令がないと判断し（ステップＳ１６４，Ｎｏ）、ステップＳ１０２に戻る。
【００７７】
図１０は、図６に示す手書き文字一括認識処理（ステップＳ１１０）における手書き文字一括認識部１０６の詳細な処理を示すフローチャートである。手書き文字一括認識部１０６は、まず座標値メモリ１２０および行単位メモリ１２２を参照し、一行分のストローク群を呼び出す（ステップＳ２００）。次に、一文字切り出しによって、ストローク群を一文字単位のストロークに分割する（ステップＳ２０２）。このストロークに分割する処理により、座標メモリの何ページから何ページまでが一文字かを特定することができる。
【００７８】
次に、分割した一文字単位のストローク群それぞれについて、認識エンジンを用いて文字認識を行う（ステップＳ２０４，Ｙｅｓ、ステップＳ２０６）。そして、結果メモリ１２４に認識文字および認識文字候補を格納する。同時に行単位メモリ１２２の結果メモリページに結果メモリのページ番号を追加する。
【００７９】
なお、１文字を切り出す手法としては、様々な手法がすでに提案されており、そのいずれの手法を利用してもよい。また、認識エンジンについても同様に、認識の方法は、限定されるものではない。
【００８０】
次に、１文字単位の文字領域、つまり外接四角形を算出する（ステップＳ２０８）。一文字切り出しによって１文字分のストロークは分かっているので、座標メモリを参照し、１文字分のストローク群の存在する領域の左上座標と右下座標を算出し、結果メモリに記憶する。
【００８１】
全文字について認識が終了したら（ステップＳ２０４，Ｎｏ）、次の行が存在するかどうかを調べる（ステップＳ２１０）。次の行が存在する場合（ステップＳ２１０，Ｙｅｓ）はステップＳ２００に戻る。
【００８２】
一方、次の行が存在しない場合には（ステップＳ２１０，Ｎｏ）、表示処理（ステップＳ１２０）に移行する。以上により、（ステップＳ１１０）における手書き文字一括認識処理が完了する。これにより、結果メモリ１２４に認識結果を格納することができる。
【００８３】
図１１は、図６に示す文字編集処理（ステップＳ１１２）における文字編集部１０８の詳細な処理を示すフローチャートである。まず、行単位メモリ１２２または結果メモリ１２４を参照し、文字編集処理を実行する対象文字を決定する（ステップＳ２２０）。
【００８４】
対象文字の選択には、ジェスチャ処理を用いる。ジェスチャ処理とは、所定の単位で文字を選択する処理である。ジェスチャ処理には、行単位の選択、複数文字単位の選択、単一文字の選択の３つの選択方法がある。図１２から図１６を参照しつつジェスチャ処理について詳述する。
【００８５】
図１２は、表示部２２０に表示された手書き文字一括認識処理の結果を示している。ユーザが手書き文字を入力し、手書き文字一括認識処理が実行されると、手書き文字１文字ごとに対応する認識文字が表示される。
【００８６】
図１２に示すように、手書き文字が表示され、各手書き文字の下に手書き文字一括認識部１０６による文字認識により得られた認識文字が表示される。
【００８７】
ここで、１行分の手書き文字を含む矩形領域が行領域３００である。また、各手書き文字を含む矩形領域が文字領域３１０ａ〜ｅである。
【００８８】
図１２に示す表示内容に対し、図１３に示すように行領域３００であって、いずれの手書き文字に対する文字領域３１０ａ〜ｅにも該当しない領域がクリックされた場合、行単位の選択として認識される。すなわち、"いずれの文字領域にも含まれない行領域内をクリックした"という判別条件に該当する。
【００８９】
この場合、文字編集部１０８は、行単位メモリ１２２を参照してクリック座標を含む行領域を特定する。そして、特定した行領域に対応する結果メモリ１２４における結果メモリ開始ページおよび結果メモリ終了ページから対象文字を決定する。
【００９０】
また、図１２に示す表示内容に対し、図１４に示すように行領域３００のうち所定の文字を囲む囲み線がユーザによって描かれた場合には、複数文字単位の選択として認識される。すなわち、"いずれかの文字領域を内包する囲み線"という判別条件に該当する。
【００９１】
この場合、文字編集部１０８は、まず対象文字を決定する。具体的には、囲み線の外接四角形を算出する。そして、結果メモリ１２４の左上座標および右下座標に基づいて、算出した外接四角形の内部に存在する結果メモリ１２４のページを対象文字として決定する。
【００９２】
また、図１５に示すようにユーザによって行領域３００のうち所定の文字に対応する下線が描かれた場合にも、図１４に示す囲み線の場合と同様に、複数文字単位の選択として認識される。この場合も、"文字領域近傍に存在する線分"という判別条件に該当する。
【００９３】
この場合、文字編集部１０８は、線分を構成する座標群からｙ座標方向に所定距離内に文字領域３１０ａ〜ｅが存在するかどうかを結果メモリ１２４を参照して判定する。文字領域３１０が存在する場合には、その結果メモリ１２４のページを対象文字として決定する。
【００９４】
また、図１２に示す表示内容に対し、図１６に示すように文字領域３１０ａ〜ｅのいずれかがクリックされた場合には、単一文字の選択として認識される。すなわち、"いずれかの文字領域内をクリックした"という判別条件に該当する。
【００９５】
この場合、文字編集部１０８は、クリック座標がいずれの文字領域３１０ａ〜ｅに存在するかを結果メモリ１２４を参照して特定する。そして、その結果メモリページを対象文字と決定する。
【００９６】
文字編集処理（ステップＳ１１２）においては、まず以上の方法で決定した対象文字に対する認識文字および認識文字候補を結果メモリ１２４から取得する。そして、取得した認識文字および認識候補を修正メモリ１２６に格納する。そして、文字列編集処理の間は修正メモリ１２６に記憶した認識文字および認識候補に対して処理を反映させる。
【００９７】
再び説明を図１１に戻す。ステップＳ２２０において決定した対象文字が単一文字である場合には（ステップＳ２２２，Ｙｅｓ）、単一文字用認識文字候補ダイアログを表示する（ステップＳ２２４）。一方、単一文字でない場合には（ステップＳ２２２，Ｎｏ）、複数文字用の認識文字候補ダイアログを表示する（ステップＳ２２６）。
【００９８】
このように、単一文字か複数文字かにより、異なる認識文字候補ダイアログを表示する。これにより、ユーザの視認性を高めることができる。
【００９９】
なお、他の例としては、対象文字が単一文字である場合にも複数文字用の認識文字候補ダイアログを表示してもよい。
【０１００】
図１７は、複数文字用の認識文字候補ダイアログ４００の一例を示している。複数文字用の認識文字候補ダイアログ４００には、確定ボタン４０２と、認識文字表示領域４０４と、文字候補表示領域４０６と、書き直しボタン４０８とが含まれている。
【０１０１】
認識文字候補ダイアログ４００は、図１２に示した手書き文字"あいうえお"の認識結果に対し、行単位または複数文字単位で選択された場合に、その結果として表示される。認識文字候補ダイアログ４００の認識文字表示領域４０４には、１行に描かれた複数の手書き文字に対応する認識文字“あいラ之お”が表示される。また、文字候補表示領域４０６には、各手書き文字に対応する認識文字候補が縦方向に認識候補順に並んで表示されている。また、各認識文字候補はボタンとして表示されており、ユーザは、この中から正しい文字を選択することができる。
【０１０２】
なお、各認識候補ボタンは、各認識文字候補を識別する認識文字候補ＩＤに対応付けられている。ユーザによって文字候補表示領域４０６中の所定の認識文字候補ボタンが選択されると、文字編集部１０８は、選択された認識文字候補ボタンに対応する認識文字候補を認識文字として決定することができる。
【０１０３】
再び説明を図１１に戻す。認識文字候補ダイアログ４００が表示されると（ステップＳ２２６）、複数文字用の認識文字候補ダイアログ４００においてユーザから入力された内容を判定する（ステップＳ２３０）。ユーザからの入力としては、"認識候補のボタン群のいずれかを押下した"、"確定ボタンを押下した"、"書き直しボタンを押下した"の３つがある。以下にそれぞれの場合について述べる。
【０１０４】
入力が“認識候補のボタン群のいずれかを押下した”の場合（ステップＳ２３０，認識候補ボタン押下）、各認識候補ボタンのＩＤを調べる。そして、修正メモリ１２６中の複数の認識文字候補のうちから、ユーザによって選択された認識文字候補を特定する。ユーザによって選択された認識文字候補を修正メモリ１２６に認識文字として格納する（ステップＳ２３２）。
【０１０５】
次に、認識文字候補を認識文字候補ダイアログ４００の認識文字表示領域４０４に反映させる。すなわち、選択した認識文字候補を、認識文字として認識文字表示領域４０４に表示させる（ステップＳ２３４）。そして、再度ステップＳ２３０に戻り、ユーザからの入力を待つ。
【０１０６】
図１８−１から図１８−３を参照しつつ、ステップＳ２３０からステップＳ２３４の処理についてより具体的に説明する。図１８−１に示す認識文字表示領域４０４においては、認識文字"ラ"と"之"は誤認識により得られた誤認識文字である。そこで、ユーザは、図１８−１に示す文字候補表示領域４０６中の認識文字"ラ"の認識候補から"う"のボタンを押下する。これにより、修正メモリ１２６においては、認識文字"ラ"にかえて、"う"が認識文字として格納される。さらに、図１８−２に示すように認識文字表示領域４０４における認識文字"ラ"が"う"に変更される。
【０１０７】
次に、図１８−２に示す認識文字表示領域４０４中の認識文字"之"を修正する。すなわち、図１８−２に示す文字候補表示領域４０６中の認識文字"之"の認識候補から"え"のボタンを押下する。これにより、修正メモリ１２６においては、認識文字"之"にかえて、"え"が認識文字として格納される。さらに、図１８−３に示すように認識文字表示領域４０４における認識文字 "之"が"え"に変更される。
【０１０８】
再び、説明を図１１に戻す。ステップＳ２３０において、ユーザからの入力が“確定ボタンを押下した”の場合（ステップＳ２３０，確定ボタン押下）、修正メモリ１２６内のデータを結果メモリ１２４の対象文字のページに格納する（ステップＳ２４０）。そして、認識文字候補ダイアログ４００を非表示にする（ステップＳ２４２）。以上で、文字編集処理（ステップＳ１１２）が完了し、図６を参照しつつ説明した表示処理（ステップＳ１２０）に移行する。
【０１０９】
図１８−１から図１８−３を参照しつつ説明した例のような修正処理が行われた後に、ユーザが確定ボタン４０２を押下すると、図１２に示した手書き文字に対する認識文字が、図１９に示すように、修正後の認識文字に変更される。
【０１１０】
また、ステップＳ２３０において、ユーザからの入力が“書き直しボタンを押下した”の場合（ステップＳ２３０,書き直しボタン押下）、書き直し処理を実行する（ステップＳ２３６）。次に、修正メモリ１２６の内容を複数文字用の認識文字候補ダイアログ４００に反映する（ステップＳ２３４）。そして、再びステップＳ２３０に戻る。
【０１１１】
ここで、図２０−１および図２０−２を参照しつつ書き直し処理について説明する。書き直し処理は、複数文字用の認識文字候補ダイアログ４００中に正しい認識文字が存在しない場合の処理である。図２０−１に示すように認識文字"之"は、正しい認識文字が認識文字候補として文字候補表示領域４０６に表示されている。そこで、ユーザが認識文字候補"え"のボタンを押下することにより、図２０−２に示すように認識文字"之"を"え"に修正することができる。
【０１１２】
一方、認識文字"ラ"においては、図２０−１に示すように、認識文字候補として"う"のボタンが存在しない。したがって、正しい認識文字が"う"である場合には認識文字候補ボタンを選択する方法では正しい認識文字に修正することができない。
【０１１３】
このように、正しい認識文字が文字候補表示領域４０６に存在しない場合に、書き直し処理を行う。具体的には、ユーザが図２０−２に示す書き直しボタン４０８を押下した場合に、書き直し処理が開始する。
【０１１４】
図２１は、図１１に示す書き直し処理（ステップＳ２３６）における詳細な処理を示すフローチャートである。まず、修正メモリ１２６を参照し、書き直しダイアログを表示する（ステップＳ２５０）。
【０１１５】
図２２−１から図２２−３は、書き直しダイアログ４２０の一例を示している。図２２−１から図２２−３に示すように、書き直しダイアログ４２０は、認識文字４２２と、認識文字に対応する書き直し領域４２４と、確定ボタン４２６とを有している。書き直し領域４２４は、認識文字４２２の数だけ設けられている。図２２−１においては、認識文字"ラ"および"え"が表示され、これらに対応する２つの書き直し領域４２４が表示されている。
【０１１６】
図２２−１に示す書き直しダイアログ４２０の書き直し領域４２４に対し、図２２−２に示すように、ユーザによって、再度手書き文字が入力される。書き直し領域４２４に入力された手書き文字が正しく認識されると、図２２−３に示すように、認識文字４２２として正しい認識文字"う"が表示される。
【０１１７】
再び説明を図２１に戻す。書き直しダイアログ４２０を表示した後、入力の判定を行（ステップＳ２５２）。入力としては、"書き直し領域でマウスＤＯＷＮ"、"書き直し領域でマウスＭＯＶＥ"、"書き直し領域でマウスＵＰ"、"タイマ時間到達"および"確定ボタン押下"の５つがある。以下にそれぞれの場合について説明する。
【０１１８】
入力が“書き直し領域でマウスＤＯＷＮ"の場合、認識タイマをストップさせる（ステップＳ２５４）。そして、入力判定処理（ステップＳ２５２）に戻る。ここで、認識タイマとは、マウスＵＰイベント後にスタートするタイマである。認識タイマが開始すると、所定の時間ユーザからの入力を待つ。入力がない場合には、手書き文字一括認識命令が発行される。
【０１１９】
また、書き直し領域でマウスＤＯＷＮがあった場合には、ユーザが手書き文字を書き始めたということである。そこで、ユーザが入力を終えるまでは認識タイマをスタートしない。
【０１２０】
また、ステップＳ２５２におけるユーザからの入力が“書き直し領域でマウスＭＯＶＥ"の場合、一時的に用意した書き直しメモリ１２８にマウスＭＯＶＥ中の座標値を格納していく（ステップＳ２６０）。書き直しメモリ１２８は座標値メモリ１２０と同等のメモリである。座標値の格納が完了したら、修正メモリ１２６および書き直しメモリ１２８の内容を書き直しダイアログ４２０に反映させる（ステップＳ２６２）。すなわち、ユーザの手書き文字入力の経過を表示するため、書き直しメモリ内の座標値を図５のように線分で結び表示する。そして、入力判定処理（ステップＳ２５２）に戻る。
【０１２１】
入力が“書き直し領域でマウスＵＰ"の場合、認識タイマをスタートする（ステップＳ２５６）。そして、入力判定処理（ステップＳ２５２）に戻る。書き直し領域でマウスＵＰがあったということは、ユーザが手書き文字を書き終えた可能性があるということである。この場合、さらにユーザから追加して入力がある可能性がある。そこで、認識タイマをスタートする。そして、所定時間待った後に、認識を開始する（ステップＳ２７０）。この場合の待ち時間は１〜２秒が好ましい。
【０１２２】
このように、入力が“タイマ時間到達”の場合、ユーザの以前の入力完了（書き直し領域でマウスＵＰ）から所定時間が経過したと判断し、認識を開始する。このとき、認識タイマはストップしておく。
【０１２３】
書き直しメモリ１２８に記憶したストローク群を１文字として認識エンジンで認識を実行する（ステップＳ２７２）。認識結果を修正メモリ１２６に格納する。具体的には、認識文字および認識文字候補を格納する（ステップＳ２７４）。認識結果が修正メモリ１２６のいずれの認識文字および認識文字候補に該当するかは、いずれの書き直し領域に入力があったかに基づいて、書き直し領域のＩＤから特定する。さらに、書き直しメモリ１２８に格納されているデータを初期化（消去）し（ステップＳ２７６）、次の入力に備える。次に、修正メモリ１２６および書き直しメモリ１２８の内容を書き直しダイアログ４２０に反映し（ステップＳ２６２）、入力判定処理（ステップＳ２５２）へ戻る。
【０１２４】
入力が“確定ボタン押下”の場合、書き直し処理は完了したと判断し、書き直しダイアログ４２０を非表示にする（ステップＳ２８０）。そして、図１１を参照しつつ説明したステップＳ２３６に進む。
【０１２５】
図２３は、書き直し処理が完了した後に表示される認識文字候補ダイアログ４００を示している。図２２−１から図２２−３に示す確定ボタン４２６が押下されると、再び認識文字候補ダイアログ４００が表示される。
【０１２６】
書き直し処理が行われる前に表示されていた複数文字用の認識文字候補ダイアログ４００においては、図２０−２に示すように、認識文字表示領域４０４に認識文字として"ラ"が表示されていたが、図２３に示す複数文字用の認識文字候補ダイアログ４００においては、認識文字表示領域４０４において認識文字"ラ"が"う"に変更されている。さらに、図２３においては、文字候補表示領域４０６には、書き直し処理で再認識した結果である認識文字候補が表示されている。ここで確定ボタン４０２を押すと、文字認識の処理の結果が表示される。
【０１２７】
図２４−１および図２４−２は、単一文字用の認識文字候補ダイアログ４３０を示している。図１６を参照しつつ説明したように、図１１のステップＳ２２２において単一文字が選択された場合に、図２４−１に示す単一文字用の認識文字候補ダイアログ４３０が表示される。
【０１２８】
複数文字用の認識文字候補ダイアログ４００は表示面積が大きく、単一文字に対しては不向きである。そこで、図２４−１および図２４−２に示すように、複数文字用の認識文字候補ダイアログ４００よりも表示面積が小さい単一文字用の認識文字候補ダイアログ４３０を表示することにより、ユーザによる利便性を向上させることができる。
【０１２９】
なお、単一文字用の認識文字候補ダイアログは表示方法が異なるだけで、処理内容は、図１１から図２３を参照しつつ説明したステップＳ２３０以降の処理と同様である。
【０１３０】
図２４−１に示す単一文字用の認識文字候補ダイアログ４３０において、認識文字"ラ"の認識候補"う"のボタンを押下すると、編集メモリの認識文字“ラ”が“う”に置き換わる。そして、単一文字用の認識文字候補ダイアログ４３０に反映されて、図２４−２に示すように、認識文字として、“う”が表示される。確定ボタンを押下すると、結果メモリ１２４に修正メモリ１２６の内容を格納し直し、表示処理で図２５のように認識文字として“ラ”を“う”に変更して表示する。
【０１３１】
図２６は、表示処理（ステップＳ１２０）における表示処理部１１０の詳細な処理を示すフローチャートである。表示処理は、座標入力処理、手書き文字一括認識処理および文字編集処理から処理を受け取る。
【０１３２】
座標入力処理から処理を受け取った場合は、座標値メモリ１２０内の座標点を線分で結び、表示装置へ表示する（ステップＳ３２０）。
【０１３３】
手書き文字認識処理および文字編集処理から処理を受け取った場合は、結果メモリ１２４内の認識文字を文字列にして表示装置にＴｅｘｔ表示するとともに（ステップＳ３００）、結果メモリ１２４から左上座標および右下座標を読み出し文字領域を表示し（ステップＳ３１０）、行単位メモリ１２２から行左上座標および行右下座標を読み出し行領域を表示し（ステップＳ３１２）、座標値メモリ１２０内の座標点を線分で結んで表示する（ステップＳ３２０）。
【０１３４】
以上の各処理は全ストローク、全認識文字および全行に対して行う。Ｔｅｘｔ表示の方法は、ＶｉｓｕａｌＢａｓｉｃに代表されるようなＴｅｘｔＢｏｘにて行なう。そして、座標入力処理へ処理を返す。
【０１３５】
図２７は、実施の形態１に係る文字認識装置１００のハードウェア構成を示す図である。文字認識装置１００は、ハードウェア構成として、文字認識装置１００における文字認識処理を実行する文字認識プログラムなどが格納されているＲＯＭ５２と、ＲＯＭ５２内のプログラムに従って文字認識装置１００の各部を制御するＣＰＵ５１と、文字認識装置１００の制御に必要な種々のデータを記憶するＲＡＭ５３と、ネットワークに接続して通信を行う通信I／Ｆ５７と、各部を接続するバス６２とを備えている。
【０１３６】
先に述べた文字認識装置１００における文字認識プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（Ｒ）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【０１３７】
この場合には、文字認識プログラムは、文字認識装置１００において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【０１３８】
また、本実施の形態の文字認識プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【０１３９】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【図面の簡単な説明】
【０１４０】
【図１】実施の形態１にかかる文字認識装置を含む文字認識システム１の全体構成を示す図である。
【図２】文字認識装置１００の機能構成を示すブロック図である。
【図３】座標値メモリ１２０のデータ構成を示す図である。
【図４】行単位メモリ１２２のデータ構成を示す図である。
【図５】結果メモリ１２４のデータ構成を示す図である。
【図６】文字認識装置１００による文字認識処理を示すフローチャートである。
【図７】図６において説明したステップＳ１０４における座標取得部１０２の詳細な処理を示すフローチャートである。
【図８】手書き文字入力画面２１０に対するストローク画像を示す図である。
【図９】コマンド処理（ステップＳ１０６）におけるコマンド処理部１０４の詳細な処理を示すフローチャートである。
【図１０】図６に示す手書き文字一括認識処理（ステップＳ１１０）における手書き文字一括認識部１０６の詳細な処理を示すフローチャートである。
【図１１】図６に示す文字編集処理（ステップＳ１１２）における文字編集部１０８の詳細な処理を示すフローチャートである。
【図１２】表示部２２０に表示された手書き文字一括認識処理の結果を示す図である。
【図１３】いずれの文字領域にも含まれない行領域内をクリックしたという判別条件を説明するための図である。
【図１４】いずれかの文字領域を内包する囲み線という判別条件を説明するための図である。
【図１５】文字領域近傍に存在する線分という判別条件を説明するための図である。
【図１６】いずれかの文字領域内をクリックしたという判別条件を説明するための図である。
【図１７】複数文字用の認識文字候補ダイアログ４００の一例を示す図である。
【図１８−１】ステップＳ２３０からステップＳ２３４の処理についてより具体的に説明するための図である。
【図１８−２】ステップＳ２３０からステップＳ２３４の処理についてより具体的に説明するための図である。
【図１８−３】ステップＳ２３０からステップＳ２３４の処理についてより具体的に説明するための図である。
【図１９】修正処理が行われた後に、確定ボタン４０２が押下された場合に表示される認識文字を示す図である。
【図２０−１】書き直し処理について説明するための図である。
【図２０−２】書き直し処理について説明するための図である。
【図２１】図１１に示す書き直し処理（ステップＳ２３６）における詳細な処理を示すフローチャートである。
【図２２−１】書き直しダイアログ４２０の一例を示す図である。
【図２２−２】書き直しダイアログ４２０の一例を示す図である。
【図２２−３】書き直しダイアログ４２０の一例を示す図である。
【図２３】書き直し処理が完了した後に表示される認識文字候補ダイアログ４００を示す図である。
【図２４−１】単一文字用の認識文字候補ダイアログ４３０の一例を示す図である。
【図２４−２】単一文字用の認識文字候補ダイアログ４３０の一例を示す図である。
【図２５】変更後の認識文字を示す図である。
【図２６】表示処理（ステップＳ１２０）における表示処理部１１０の詳細な処理を示すフローチャートである。
【図２７】実施の形態１に係る文字認識装置１００のハードウェア構成を示す図である。
【符号の説明】
【０１４１】
１  文字認識システム
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５７  通信I／Ｆ
６２  バス
１００  文字認識装置
１０２  座標取得部
１０４  コマンド処理部
１０６  手書き文字一括認識部
１０８  文字編集部
１１０  表示処理部
１２０  座標値メモリ
１２２  行単位メモリ
１２４  結果メモリ
１２６  修正メモリ
１２８  書き直しメモリ
２００  手書き文字入力装置
２１０  手書き文字入力画面
２２０  表示部
３００  行領域
３１０ａ〜ｅ  文字領域
４００  複数文字用の認識文字候補ダイアログ
４０２  確認ボタン
４０４  認識文字表示領域
４０６  文字候補表示領域
４０８  書き直しボタン
４２０  書き直しダイアログ
４２２  認識文字
４２４  書き直し領域
４２６  確定ボタン
４３０  単一文字用の認識文字候補ダイアログ
【図１】
2006072730.tif 000003
【図２】
2006072730.tif 000004
【図３】
2006072730.tif 000005
【図４】
2006072730.tif 000006
【図５】
2006072730.tif 000007
【図６】
2006072730.tif 000008
【図７】
2006072730.tif 000009
【図８】
2006072730.tif 000010
【図９】
2006072730.tif 000011
【図１０】
2006072730.tif 000012
【図１１】
2006072730.tif 000013
【図１２】
2006072730.tif 000014
【図１３】
2006072730.tif 000015
【図１４】
2006072730.tif 000016
【図１５】
2006072730.tif 000017
【図１６】
2006072730.tif 000018
【図１７】
2006072730.tif 000019
【図１８−１】
2006072730.tif 000020
【図１８−２】
2006072730.tif 000021
【図１８−３】
2006072730.tif 000022
【図１９】
2006072730.tif 000023
【図２０−１】
2006072730.tif 000024
【図２０−２】
2006072730.tif 000025
【図２１】
2006072730.tif 000026
【図２２−１】
2006072730.tif 000027
【図２２−２】
2006072730.tif 000028
【図２２−３】
2006072730.tif 000029
【図２３】
2006072730.tif 000030
【図２４−１】
2006072730.tif 000031
【図２４−２】
2006072730.tif 000032
【図２５】
2006072730.tif 000033
【図２６】
2006072730.tif 000034
【図２７】
2006072730.tif 000035