(57)【特許請求の範囲】
【請求項１】
画面上の任意の位置に手書き入力した文字を認識して入力する手書き文字入力装置において、
画面を表示する画面表示部と、
手書き文字を入力して、ストローク情報に変換する文字入力部と、
前記ストローク情報に基づいて、文字認識辞書を用いて前記手書き文字を認識する文字認識部と、
前記手書き文字の前記ストローク情報に含まれる座標点がテキスト入力領域と重なる場合、最初に重なる座標点を持つテキスト入力領域を、認識した文字を入力すべきテキスト入力領域として自動的に選択するテキスト入力領域判定部と、
前記ストローク情報に含まれる座標点にテキスト入力領域が重なる部分がなく、文字を転送するテキスト入力領域が自動選択できない場合、新しくウィンドウを開いて、認識した文字を一時的に表示する認識文字一時表示部と、
前記一時表示された文字を入力すべきテキスト入力領域の指示を受け付けるテキスト入力領域指示部と、
前記選択されたテキスト入力領域又は前記指示されたテキスト入力領域に、前記認識した文字を転送して表示し、前記ウィンドウを開いた場合は、更に、前記ウィンドウを閉じる認識文字表示部を具備することを特徴とする手書き文字入力装置。
【請求項２】
請求項１に記載の手書き文字入力装置において、
前記テキスト入力領域判定部が、前記手書き文字の前記ストローク情報に含まれる座標点がテキスト入力領域と重なる場合、前記重なる座標点を持つテキスト入力領域に認識した文字の送出が可能か否か判定することによって、手書き文字の送出が可能なテキスト入力領域で最初に重なる座標点を持つテキスト入力領域を、前記認識した文字を入力すべきテキスト入力領域として自動的に選択することを特徴とする手書き文字入力装置。
【請求項３】
請求項１または２に記載の手書き文字入力装置において、
前記テキスト入力領域判定部が、ペンタップ時のマウスカーソルの形状を判定することによって、前記認識した文字を入力すべきテキスト入力領域が選択されたか判定することを特徴とする手書き文字入力装置。
【請求項４】
請求項１乃至３に記載の手書き文字入力装置において、
更に、直前に送出した認識文字とその手書き文字のストローク情報を保持する認識情報保持部と、
直前に送出した認識文字を削除し、手書き文字のストローク情報を復元する認識結果取消ボタンを備えることを特徴とする手書き文字入力装置。
【請求項５】
画面上の任意の位置に入力した手書き文字を認識して入力するステップを含み、コンピュータに読み込ませて稼働するプログラムであって、
画面を表示するステップと、
手書き文字を入力して、ストローク情報に変換するステップと、
前記ストローク情報に基づいて、文字認識辞書を用いて前記手書き文字を認識するステップと、
前記手書き文字の前記ストローク情報に含まれる座標点がテキスト入力領域と重なる場合、最初に重なる座標点を持つテキスト入力領域を、認識した文字を入力すべきテキスト入力領域として自動的に選択するステップと、
前記ストローク情報に含まれる座標点にテキスト入力領域が重なる部分がなく、文字を転送するテキスト入力領域が自動選択できない場合、新しくウィンドウを開いて、認識した文字を一時的に表示するステップと、
前記一時表示された文字を入力すべきテキスト入力領域の指示を受け付けるステップと、
前記選択されたテキスト入力領域又は前記指示されたテキスト入力領域に、前記認識した文字を転送して表示し、前記ウィンドウを開いた場合は、更に、前記ウィンドウを閉じるステップを含むことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画面上の任意の位置に、スタイラスペン等を用いて手書き文字を入力し、その手書き文字を認識し、文字コードに変換してテキスト入力を行う手書き文字入力装置及びそれを実現するコンピュータプログラムに関する。特に、画面の小さい携帯用の手書き文字入力装置及びそれを実現するコンピュータプログラムに関する。
【０００２】
【従来の技術】
一般に、手書き文字入力装置は、入力・表示出来る透明タブレットにスタイラスペンを用いて手書き入力したり、パーソナルコンピュータのディスプレイにマウス等のポインティングデバイスや通常のペンタブレット等を用いて手書き入力している。
【０００３】
従来の手書き文字入力装置の手書き文字入力領域と認識結果の表示領域の関係には、大別して次の３つのパターンがある。
【０００４】
まず、第１のパターンは、手書き文字を入力する領域と認識結果の文字が表示される領域が別個の領域となっているパターンである。第２のパターンは、手書き文字を入力する領域と認識結果の文字が表示される領域が同一の領域になっているパターンである。第３のパターンは、手書き文字を入力可能な領域が画面全体で、入力した手書き文字を認識した結果の文字が事前に指定しておいたテキスト入力領域に入力されて表示されるパターンである。
【０００５】
第１のパターンの手書き文字認識装置の場合、手書き文字入力領域とその認識結果を入力・表示するテキスト入力領域とが別個に異なる領域に存在するため、手書き文字入力領域がテキスト入力領域の上に重なる場合がある。特に、携帯型手書き文字入力装置の場合は、画面が小さいため、その傾向が顕著であり、入力したテキストが手書き文字入力領域の下になって見えないという問題があった。
【０００６】
次に、第２のパターンの手書き文字入力装置の場合、手書き文字入力領域とテキスト入力領域が同じ領域なので、手書き文字を１文字入力するためには最低でも１ｃｍ四方程度の広さが必要であり、手書き文字入力装置が携帯端末の場合、画面が小さいため、多くの文字を入力可能なテキスト入力領域をとるのが難しく、画面デザイン上大きな制約となっているという問題があった。
【０００７】
次に、第３のパターンの手書き文字認識装置の場合、従来は、プログラムの起動・終了・テキスト入力領域の指定等を行うコマンドモードと手書き入力を可能な状態にする手書き入力モードを持ち、手書き文字を入力するには、まず、入力するテキスト入力領域を指定してから手書き入力モードに移行し、手書き入力する必要があった。そのため、１つのテキスト入力領域の入力が終わる度に、コマンドモードに戻って、次に入力するテキスト入力領域を指定し、手書き入力モードにして、手書き入力することを繰り返す必要があり、入力するテキスト入力領域が変わる度に、モードの切り換えやテキスト入力領域の指定を行うのが非常に面倒であるという問題があった。
【０００８】
また、特開平７−６５１１４号公報に開示されている情報処理装置には、画面上に手書き入力された文字の第１ストロークの開始座標点に認識した文字を表示することが開示されている。しかし、これは、文字の表示位置を表すだけで、画面全体がテキスト入力領域である場合の手書き文字入力方法であり、テキスト入力領域が画面の一部である場合に、テキスト入力領域を選択する方法を開示していない。
【０００９】
【発明が解決しようとする課題】
このように、従来の方法では、いずれの方法を用いても様々な問題点があり、利用者が手書き文字を入力しやすいように、画面全体を手書き文字入力領域にすると、テキスト入力領域が画面の一部の場合や画面上に複数のテキスト入力領域がある場合は、認識した文字をどのテキスト入力領域に転送すべきか特定出来ないという問題があった。
【００１０】
今日のようにコンピュータの高性能化・小型化・低価格化が進み、携帯型端末が普及してくると、携帯型端末のように画面が小さく、テキスト入力領域と手書き文字入力領域を分けるのが困難な場合には、手書き文字入力領域を画面全体とすることが有効だが、画面上のテキスト入力領域が画面の一部である場合や画面上にテキスト入力領域が複数ある場合は、いちいち手書き入力モードとコマンドモードを切り換えて認識した文字を入力すべきテキスト入力領域を指定してから手書き文字を入力する必要があるため操作が面倒であり、モード切り換えを行うことなく、入力すべきテキスト入力領域を簡単に指定して手書き文字領域を画面全体とすることが求められている。
【００１１】
本発明は、画面デザイン上の制約が少なく、手書き文字の入力に際しては、モード切り換えを行うことなく、簡単にテキスト入力領域を指定しながら手書き文字の入力を行うことを目的としている。
【００１２】
【課題を解決するための手段】
簡単に述べると本発明は、画面全体を手書き文字入力領域とし、１または複数のテキスト入力領域が画面上に含まれている場合に、手書き入力したストローク情報の所定の座標点を基に入力すべきテキスト入力領域を自動選択し、選択されたテキスト入力領域に認識した文字を入力して表示することが出来るようにするものである。
【００１３】
即ち、本発明にかかる画面上の任意の位置に手書き入力した文字を認識して入力する手書き文字入力装置は、画面を表示する画面表示部と、手書き文字を入力して、ストローク情報に変換する文字入力部と、前記ストローク情報に基づいて、文字認識辞書を用いて前記手書き文字を認識する文字認識部と、前記手書き文字の前記ストローク情報に含まれる座標点がテキスト入力領域と重なる場合、最初に重なる座標点を持つテキスト入力領域を、認識した文字を入力すべきテキスト入力領域として自動的に選択するテキスト入力領域判定部と、前記ストローク情報に含まれる座標点にテキスト入力領域が重なる部分がなく、文字を転送するテキスト入力領域が自動選択できない場合、新しくウィンドウを開いて、認識した文字を一時的に表示する認識文字一時表示部と、前記一時表示された文字を入力すべきテキスト入力領域の指示を受け付けるテキスト入力領域指示部と、前記選択されたテキスト入力領域又は前記指示されたテキスト入力領域に、前記認識した文字を転送して表示し、前記ウィンドウを開いた場合は、更に、前記ウィンドウを閉じる認識文字表示部を具備することを特徴とする。
【００１４】
かかる構成により、本発明の手書き文字入力装置は、画面デザイン上の制約が少なく、しかも、テキスト入力領域毎に手書き入力モードとコマンドモードを切り換える必要がなく、画面上で入力された手書き文字のストローク情報に含まれる座標点で、最初にテキスト入力領域と重なる座標点に存在しているテキスト入力領域を入力すべきテキスト入力領域として自動的に選択して、認識した文字を転送して表示させ、テキスト入力領域と座標点が重なる部分がなく、文字を転送するテキスト入力領域が自動選択できない場合は、新しいウィンドウに認識した文字を一時表示し、入力すべきテキスト入力領域を指示することが可能となる。
【００１５】
また、本発明にかかる画面上の任意の位置に手書き入力した文字を認識して入力出来る手書き文字入力装置は、前記テキスト入力領域判定部が、前記手書き文字の前記ストローク情報に含まれる座標点がテキスト入力領域と重なる場合、前記重なる座標点を持つテキスト入力領域に認識した文字の送出が可能か否か判定することによって、手書き文字入力可能なテキスト入力領域で最初に重なる座標点を持つテキスト入力領域を、前記認識した文字を入力すべきテキスト入力領域として自動的に選択することを特徴とする。
【００１６】
かかる構成により、本発明の手書き文字入力装置は、手書き入力した文字を認識し、認識した文字を選択されたテキスト入力領域に送出し、送出した文字が適正に読み込めるかどうかを判定することが出来る。
【００１７】
また、本発明にかかる画面上の任意の位置に手書き入力した文字を認識して入力出来る手書き文字入力装置は、前記テキスト入力領域判定部が、ペンタップ時のマウスカーソルの形状を判定することによって、前記認識した文字を入力すべきテキスト入力領域が選択されたか判定することを特徴とする。
【００１８】
かかる構成により、本発明の手書き文字入力装置は、マウスカーソルの形状を判定するためのＧｅｔＣｕｒｓｏｒ（）関数のカーソルのハンドルを取得し、カーソルの属性を調べることにより、テキスト入力領域かどうかを判定することが出来る。
【００１９】
また、本発明にかかる画面上の任意の位置に手書き入力した文字を認識して入力出来る手書き文字入力装置は、更に、直前に送出した認識文字とその手書き文字のストローク情報を保持する認識情報保持部と、直前に送出した認識文字を削除し、手書き文字のストローク情報を復元する認識結果取消ボタンを備えることを特徴とする。
【００２０】
かかる構成により、本発明の手書き文字入力装置は、認識文字を送出した後でも、直前に送出した認識文字をクリアし、再度、認識結果である文字候補から選択のやり直しや取消が可能となる。
【００２１】
また、画面上の任意の位置に入力した手書き文字を認識して入力するステップを含み、コンピュータに読み込ませてコンピュータ上で稼働する本発明にかかるプログラムは、画面を表示するステップと、手書き文字を入力して、ストローク情報に変換するステップと、  前記ストローク情報に基づいて、文字認識辞書を用いて前記手書き文字を認識するステップと、前記手書き文字の前記ストローク情報に含まれる座標点がテキスト入力領域と重なる場合、最初に重なる座標点を持つテキスト入力領域を、認識した文字を入力すべきテキスト入力領域として自動的に選択するステップと、前記ストローク情報に含まれる座標点にテキスト入力領域が重なる部分がなく、文字を転送するテキスト入力領域が自動選択できない場合、新しくウィンドウを開いて、認識した文字を一時的に表示するステップと、前記一時表示された文字を入力すべきテキスト入力領域の指示を受け付けるステップと、前記選択されたテキスト入力領域又は前記指示されたテキスト入力領域に、前記認識した文字を転送して表示し、前記ウィンドウを開いた場合は、更に、前記ウィンドウを閉じるステップを含むことを特徴とする。
【００２２】
かかる構成のプログラムをコンピュータに読み込ませて実行することにより、画面上の任意の位置に手書きした文字を認識して入力出来る手書き文字入力装置においても、テキスト入力領域毎に手書き入力モードとコマンドモードを切り換える必要がなく、画面上で入力された手書き文字のストローク情報に含まれる座標点で、最初にテキスト入力領域と重なる座標点に存在しているテキスト入力領域を入力すべきテキスト入力領域として自動的に選択して、認識した文字を転送して表示させ、テキスト入力領域と座標点が重なる部分がなく、文字を転送するテキスト入力領域が自動選択できない場合は、新しいウィンドウに認識した文字を一時表示し、入力すべきテキスト入力領域を指示することが可能となる。
【００２３】
【発明の実施の形態】
（実施形態１）
本発明の基本的な構成図と処理の流れを、図１と図２のフローチャートを用いて説明する。
【００２４】
本実施の形態では、画面が透明タブレットで、画面に表示されているテキスト入力領域に対して、画面全体を手書き文字入力領域として使用出来る携帯型装置を例にとり、テキスト入力領域を判定するための所定の座標点を入力した最初の手書き文字の第１ストローク情報の最初の座標点として説明する。なお、１度に入力される手書き文字は、１文字に限定するものではなく、複数の文字を含むものとする。
【００２５】
本実施形態では透明タブレットにスタイラスペンを用いて手書き文字を入力する例をあげるが、透明タブレットのかわりに通常のパソコンのディスプレイ装置等の表示装置にマウス等のポインティングデバイスを用いて手書き入力してもよいし、入力専用のタブレットを用いて、表示装置に入力・表示してもよいし、その他の手書き入力装置を用いてもよい。透明タブレットは、入力画面と表示画面が一体となっており、画面に直接スタイラスペンを用いて手書き文字を書くと、書いた文字がそのまま表示されるものとする。
【００２６】
まず、画面表示部１は、透明タブレット６の画面にテキスト入力領域を含む画面を表示する（ステップＳ１）。透明タブレット６の画面の例を図３にあげる。画面には、メニューバーにモード切換ボタン９・終了ボタン１０と、入力画面の固定表示文字とテキスト入力領域８等が表示される。画面を表示するために、画面表示部１は、テキスト入力領域８の座標データを持っている。図３の例では、モード切換ボタン９や終了ボタン１０を画面上に表示しているため、手書き文字の最初の座標点をボタン上にすることは出来ないが、ハード的にキーを持っている端末の場合は、モード切換ボタン９や終了ボタン１０を特定のキーに割り当てるようにすれば、画面デザインの自由度はより高くなる。
【００２７】
次に、文字入力部２は、透明タブレット６の画面からスタイラスペン７を用いて入力された手書き文字を受け取り、手書き文字の入力座標点列をストローク情報として入力し、入力された通りに透明タブレットの画面上に表示する（ステップＳ２）。そして、入力された手書き文字は、文字認識部３において、文字認識辞書３−１を用いて文字認識される（ステップＳ３）。
【００２８】
手書き文字認識方法は、個々の手書き文字の認識方法として、オンライン認識方法・オフライン認識・ハイブリッド認識方法のいずれを用いてもよく、特に限定しない。また、手書き文字を入力する枠がある場合は、前記の認識方式を各枠の手書き文字に適用すればよいが、枠がない場合は、枠なし手書き文字認識方式を用いて、手書き文字を１文字づつ切りわけてから認識する必要がある。
【００２９】
手書き認識された文字をどのテキスト入力領域に送るか判定するために、テキスト入力領域判定部４は、入力された手書き文字のストロークに含まれる所定の座標データとテキスト入力領域の位置情報から計算された座標データを基に、その所定の座標点に存在するテキスト入力領域を選択する（ステップＳ４）。本実施形態では、所定の座標点を、入力された最初の手書き文字の第１ストロークの開始座標点とし、開始座標点が存在する位置にあるテキスト入力領域を入力すべきテキスト入力領域として選択する。入力された手書き文字データは、例えば、以下のような構造体に時系列の座標データ群として格納される。
【００３０】
【数１】
0003855696.tif 000002
【００３１】
この式は、入力された手書き文字データを格納するためにＣ言語で定義した構造体であり、ｘ，ｙは手書き文字データを構成する座標点のｘ座標値、ｙ座標値を表す数字であり、ｎＰｎｔは文字の１画を構成する座標点の数、＊ｐＰｎｔはｎＰｎｔの中の何番目の座標点かを示すためのポインタ、ｎＳｔｒは入力された手書き文字全体を構成する画数、＊ｐＳｔｒはｎＳｔｒの中の何番目の画数かを示すためのポインタである。手書き文字が入力された時点では、１文字単位の区切りは分からないので、入力された全ての文字について１画（＝１ストローク）毎に画を構成する全てのｘ，ｙ座標点が、このＰＡＴＴＥＲＮという配列に手書き文字データとして格納される。
【００３２】
各座標データは、入力された手書き文字の座標を所定時間単位に取得したものであり、手書き文字は、一または複数の座標点の集合体として表される。手書き入力された文字の画面表示は、１画毎のデータを基に、当該１画を構成する座標点を結ぶ線を引くことにより行われる。手書き文字のデータを前述の構造式に格納した場合、最初の手書き文字の第１ストロークの開始座標点は、(pattern.pStr[1].pPnt[1].x,pattern.pStr[1].pPnt[1].y) と表すことが出来る。
【００３３】
具体的なテキスト入力領域の選定方法を、図３の（１）を例にとって説明すると、画面を表示する際に、画面を画面の左下を原点とするＸＹ座標で表す。図３の（１）のように画面上に「あいうえ」と手書き入力すると、入力した手書き文字は、テキスト入力領域１とテキスト入力領域２の上を通過する。最初の手書き文字の第１ストロークの開始座標点を（２５０，４１２）とし、テキスト入力１のテキスト入力領域の左上のＸＹ座標を（２３０，４２０）、右下のＸＹ座標を（６００，３８０）とした場合、開始座標点のＸ座標は２３０以上６００以下かつＹ座標は３８０以上４２０以下であることから、開始座標点がこのテキスト入力領域に存在することが判定出来る。画面上に複数のテキスト入力領域がある場合でも、各テキスト入力領域において、同様の判定を行うことにより、選択すべきテキスト入力領域を特定することが出来る。
【００３４】
テキスト入力領域の座標データは、画面表示部１で作成時の画面のテキスト入力領域の座標データを用いる。画面作成時のテキスト入力領域の座標は、文字単位の座標データの場合が多いが、その場合は、テキスト入力領域判定部４が画面のドット単位の座標データに変換して比較する。もちろん、画面表示部１が、テキスト入力領域の座標をドット単位の座標データに変換して記憶しておいてもよい。
【００３５】
認識文字表示部５は、テキスト入力領域判定部４で選択されたテキスト入力領域に文字認識部３で認識された文字を転送して表示する（ステップＳ６）。通常、この時点で手書き文字の表示は消される。図３の（１）の例では、手書き入力した「あいうえ」の最初の文字の第１ストロークの最初の開始座標点は、テキスト入力１のテキスト入力領域にあるので、図３の（２）のように認識された「あいうえ」という文字の文字コードがテキスト入力１のテキスト入力領域に表示される。
【００３６】
本実施形態では、最初の手書き文字の第１ストロークの開始座標点に存在するテキスト入力領域を、入力領域として自動選択したが、これ以外の方法として、筆記した文字列全体の重心位置にあるテキスト入力領域を選択するようにする場合が考えられる。この場合、重心位置は、以下の式で求められる。
【００３７】
【数２】
0003855696.tif 000003
【００３８】
上記の式のｐｘ，ｐｙは、それぞれ、筆記した文字列全体の重心位置のｘ座標，ｙ座標を表す。ｉは入力した手書き文字列全体の何番目のストロークかを示し、ｊは各ストロークの何番目の座標点かを示す。
【００３９】
また、それ以外の実施形態としては、入力された手書き文字の座標が、最初にテキスト入力領域の座標と重なった場合、そのテキスト入力領域を選択するようにすることも出来る。この場合、入力された手書き文字データの各座標を最初から順番に、テキスト入力領域の座標に含まれるかチェックすればよい。
【００４０】
かかる構成により、画面上の任意の位置に手書きした文字又を認識して入力出来る手書き文字入力装置において、画面デザイン上の自由度が高く、テキスト入力領域毎に手書き入力モードとコマンドモードを切り換える必要なく、画面上で入力された手書き文字のストローク情報に含まれる所定の座標点に存在しているテキスト入力領域を入力すべきテキスト入力領域として自動的に選択して、認識した文字を転送して表示させることが可能となる。
【００４１】
（実施形態２）
実施形態１において、テキスト入力領域の位置情報に基づいて、入力すべきテキスト入力領域を選択する方法について述べた。本実施形態では、テキスト入力領域判定部４において、選択されたテキスト入力領域に認識した文字を転送し、実際に当該テキスト入力領域に転送した文字が読み込まれるかどうかを判定することにより、指定された領域が本当に手書き文字入力に対応したテキスト入力領域か否かを判定する方法について説明する。実施形態１とは、テキスト入力領域判定部４の内部処理のみ異なるため、実施形態１の構成図を用いて説明する。
【００４２】
本実施形態の特徴は、所定の座標点にある画面上の領域に認識した文字を送出し、実際に、その領域に送出した文字が正常に読み込まれるか否かを判定する点にある。つまり、正常に送出した文字がその領域に読み込まれると、その領域はテキスト入力領域であり、読み込まれないと、その領域はテキスト入力領域ではないと見なせる。
【００４３】
テキスト入力領域は、例えば、Ｗｉｎｄｏｗｓ９５（マイクロソフト社商標）標準のＰｅｎＳｅｒｖｉｃｅのＥｄｉｔＢｏｘのようなテキスト入力部品を手書き文字入力対応として登録しておけばよい。こうすることにより、手書き入力した文字を認識した結果をその領域に送出して入力することが出来るようになる。テキスト入力領域であっても、テキスト入力部品で手書き入力対応となっておらず、キーボードから直接入力するような設定となっていれば、テキスト入力領域であっても手書き入力文字を送出するとエラーを示すリターンコードが戻ってくる。本実施形態では、この機能を用いることにより、指定された座標にある領域が手書き入力可能なテキスト入力領域か否かを判定する。以下に領域判定部１５の領域判定ロジックを図４のフロチャートを用いて説明する。
【００４４】
まず、テキスト入力領域判定部４において、手書き文字の所定の座標点にある領域に、認識した文字を実際に送出する（ステップＳ１０）。認識した文字を送出した領域から、その領域に送出した文字が正しく読み込まれたか否かを表すリターンコードを受け取る（ステップＳ１１）。そのリターンコードが正常か否か判定する（ステップＳ１２）。リターンコードが正常であれば（ステップＳ１２：正常）、指示された領域は手書き文字入力可能なテキスト入力領域であり、テキスト入力領域の判定処理を終わる。リターンコードが異常であれば（ステップＳ１２：異常）、指示された領域は手書き文字入力不可能な領域であり、エラー処理を行う（ステップＳ１３）。エラー処理の詳細は、後述の実施形態３で説明する。
【００４５】
また、選択された領域がテキスト入力領域であるか判定する他の方法として、指示された領域に認識した文字を送出せずに、テキスト入力部品に当該領域が手書き入力文字対応のテキスト入力領域として登録されているか否かを判定する方法と、手書き文字をマウスで入力する場合に、テキスト入力領域が選択された時のマウスカーソルの形状を判定する方法がある。
【００４６】
以下に、テキスト入力部品に当該領域が手書き入力文字対応のテキスト入力領域として登録されているか否かを判定する方法について、図５のフロチャートを用いて説明する。画面上の全ての領域は、テキスト入力部品において、手書き入力対応のテキスト入力領域か、キーボード入力対応のテキスト入力領域か、テキスト出力領域等の領域の種類を予め登録されているものとする。
【００４７】
まず、手書き文字の所定の座標点がある領域のハンドルを得る（ステップＳ１０ａ）。ハンドルした領域の種類を獲得する（ステップＳ１１ａ）。ハンドルした領域の種類が、手書き文字入力対応のテキスト入力領域として登録されているかどうかを判定する（ステップＳ１２ａ）。ハンドルした領域がテキスト入力領域の場合（ステップＳ１３ａ：ＹＥＳ）は、認識した文字を当該テキスト入力領域に送出して表示する。ハンドルした領域が手書き文字入力対応のテキスト入力領域でない場合（ステップＳ１３ａ：ＮＯ）は、エラー処理を行う（ステップＳ１４ａ）。指定した領域がテキスト入力領域でなかった場合のエラー処理に関しては、実施形態３において説明する。
【００４８】
次に、マウスで手書き文字を入力し、テキスト入力領域が選択された時のマウスカーソルの形状を判定する方法について説明する。例えば、携帯端末のＯＳがＷｉｎｄｏｗｓ（マイクロソフト社商標）系の場合、マウスで手書き文字を入力し、所定の座標がテキスト入力領域であるとすると、マウスカーソルはそのテキスト入力領域に移動し、マウスカーソルの形状が、通常、「Ｉ」型に変化するので、カーソルの形状を判定するためのＧｅｔＣｕｒｓｏｒ（）関数のカーソルのハンドルを取得し、カーソルの属性を調べることにより、テキスト入力領域かどうか判定出来る。マウスカーソルがテキスト入力領域に移ると、マウスカーソル自体は、入力領域の先頭に移動するが、マウスカーソルの形状はテキスト入力領域の先頭に移動してもテキスト入力領域に合った形状に変化しているので、マウスカーソルがテキスト入力領域にあるか否かを判定することが可能である。取得されたカーソルの属性は、ＣＵＲＳＯＲＩＮＦＯ構造体で表現されており、その中の要素であるｈＣｕｒｓｏｒの値を調べることにより、カーソルの形状を調べることが出来る。マウスカーソルの形状を変更している場合は、その形状に合ったカーソルのｈＣｕｒｓｏｒの値をチェックすればよい。Ｗｉｎｄｏｗｓ３２ＡＰＩで提供されているカーソルの場合は、実行環境により適切な値を設定しておけば、ＩＤＣ＿ＩＢＥＡＭの値と同じか否かを調べることにより、マウスカーソルがテキスト入力領域にあるか否か判定出来る。
【００４９】
かかる構成により、テキスト入力領域の位置情報を保持しなくても、ＯＳのテキスト入力部品を利用して、手書き文字の所定の座標点にある領域がテキスト入力領域であるか否か自動的に容易に判定することが出来る。
【００５０】
（実施形態３）
本実施の形態では、実施形態１・２において、入力した手書き文字の所定の座標点が、画面上のテキスト入力領域に重ならなかったため、自動的にテキスト入力領域を選択出来なかった場合の例について、実施形態１をベースに説明する。本実施形態の構成図と処理の流れを、図６と図７を用いて説明する。実施形態１と同じ部分には同じ番号を付与し、説明を省略する。図８は、本実施形態の画面の例である。
【００５１】
図７のステップＳ２０〜ステップＳ２２は図２のステップＳ１〜ステップＳ３と同じであり、説明を省略する。
【００５２】
手書き文字を入力しても、手書き文字が、図８の（１）のように、画面上のテキスト入力領域に重なる部分がなく、テキスト入力領域判定部４において認識した文字を転送するテキスト入力領域が自動選択出来ない場合（ステップＳ２３：ＮＯ）は、認識文字一時表示部１２は、図８の（２）のように、別ウインドウ１４を新しく開いて、そこに認識した文字を表示する（ステップＳ２６）。ステップＳ２３は、実施形態２においては、ステップＳ１０〜Ｓ１２に相当する。
【００５３】
テキスト入力領域指示部１３は、図８の（３）のように、利用者からの入力すべきテキスト入力領域の指示を受け付ける（ステップＳ２７）。利用者からの指示を受け付けるためのコマンドモードへの切り換えは、認識文字一時表示部１２が表示されてテキスト入力領域の指示待ち状態になると、自動的に手書き入力モードからコマンドモードに切り換えが行われ、スタイラスペン７等で入力したいテキスト入力領域を指定すると、自動的に手書き入力モードに戻る。そのため、手動でモード切り換えを行う手間は不要である。また、この時指示されたテキスト入力領域の枠を太線にしたり高輝度にして、利用者に選択された領域を明示してもよい。
【００５４】
テキスト入力領域指示部１３は、この指示待ち状態で、スタイラスペンでテキスト入力領域を指示しても、コマンドモードに切り換わっているので、文字入力とは見なさず、テキスト入力領域の指定と見なし、指示された座標データを基にテキスト入力領域を判定し、認識した文字と入力すべきテキスト入力領域の指示を認識文字表示部５に渡し、図８の（４）のように、認識文字表示部５は指示されたテキスト入力領域８に認識文字を転送して表示する（ステップＳ２８）。
【００５５】
ここでは、別ウィンドウ１２に認識した文字とともにＯＫボタンとＣａｎｃｅｌボタンを表示している。この後、これで問題なければ、ＯＫボタンを押す（ステップＳ２９：ＹＥＳ）ことにより、別ウィンドウ１２を消去し（ステップＳ３１）、文字の転送をやめる場合は、Ｃａｎｃｅｌボタンを押す（ステップＳ２９：ＮＯ）ことにより、テキスト入力領域８に転送された文字を削除し（ステップＳ３０）、別ウィンドウ１２が消去される（ステップＳ３１）。実施形態２の図４のフローチャートのステップＳ１３のエラー処理は、ステップＳ２６〜Ｓ３１に相当する。
【００５６】
この方法以外にも、ＯＫボタンを設けずにスタイラスペン７で入力すべきテキスト入力領域８を指定しただけで無条件に認識した文字を転送するようにしてもよいし、ＯＫボタンが押されると転送を行い、Ｃａｎｃｅｌボタンを押すと、文字を転送せずに別ウィンドウ１２を消すようにしてもよい。
【００５７】
テキスト入力領域判定部４において認識した文字を転送するテキスト入力領域が自動選択出来る場合（ステップＳ２３：ＹＥＳ）の処理ステップＳ２４〜ステップＳ２５は、図２のステップＳ４〜ステップＳ５と同じであり、説明を省略する。
【００５８】
本実施形態では、入力した手書き文字の所定の座標が、テキスト入力領域と重ならない場合、利用者に入力すべきテキスト入力領域を指示させたが、画面上にテキスト入力領域が１つしかない場合は、利用者から指示を受けなくても、無条件にそのテキスト入力領域が指定されたと判定するようにしてもよい。また、所定の座標から最も近い距離にあるテキスト入力領域が指定されたと判定するようにしてもよい。
【００５９】
また、本実施形態では、テキスト入力領域が選択出来ない時に、別ウィンドウに認識文字を一時表示し、送出先のテキスト入力領域を選択して認識文字を送出した時点でＣａｎｃｅｌすることが出来るようにしているが、最初からテキスト入力領域が正しく選択され、認識された文字が自動送出が完了した後で、間違った文字を送出したため、直前に送出した文字をＣａｎｃｅｌしたい場合がある。このような場合に対応するため、直前に送出された文字と手書き文字のストローク情報を文字認識部３内部に保持しておく認識情報保持部（不図示）と認識結果取消ボタンを設け、間違った認識文字を送出した後に、認識結果取消ボタンを押すことにより、直前に送出した認識文字をテキスト入力領域から削除し、手書き文字のストローク情報を復元出来るようにする。認識結果取消ボタンは、画面以外にハードウェアのボタンとして設けても、画面上にソフトウェアのボタンとして設けてもよい。送出された文字と手書き文字のストローク情報は、直前の１回分のみ保持してもよいし、複数回分保持してもよい。複数回数分保持する場合は、認識結果取消ボタンを１回押す度に、１つ前の入力状態に戻る。入力した手書き文字の再表示は、行っても行わなくてもよい。これにより、認識文字を送出した後でも、直前に送出した認識文字をクリアし、再度、認識結果である文字候補から選択のやり直しや取消が可能となる。
【００６０】
かかる構成により、画面上の任意の位置に手書きした文字を認識して入力出来る手書き文字入力装置において、手書き文字の所定の座標点にテキスト入力領域がない場合でも、一時的に認識した文字を別ウインドウに表示し、その後で入力すべきテキスト入力領域を指示することにより、手書き文字でテキスト入力領域の指定をミスした場合でも、手動でコマンドモードと手書きモードを切り換える必要がなく、簡単にテキスト入力領域を指定出来る。
【００６１】
（実施形態４）
次に、本発明の実施の形態にかかる手書き文字入力装置を実現するプログラムを記録した記録媒体は、図９に示す記録媒体の例のように、ＣＤ−ＲＯＭ１５−１やフロッピー（登録商標、以下同じ）ディスク１５−２等の可搬型記録媒体１５だけでなく、通信回線の先に蓄えられた他の記憶装置１６や、コンピュータのハードディスクやＲＡＭ等の記録媒体１７のいずれでも良く、本発明にかかるデータ表示装置を利用する際に、コンピュータ１８により読み込まれ、主メモリ上で実行される。
【００６２】
この記録媒体からプログラムをコンピュータにローディングすることにより、画面上の任意の位置に手書きした文字又は文字列を認識して入力出来る手書き文字入力装置においても、テキスト入力領域毎に手書き入力モードとコマンドモードを切り換える必要なく、画面上で入力された手書き文字のストローク情報に含まれる所定の座標点に存在しているテキスト入力領域を入力すべきテキスト入力領域として自動的に選択して、認識した文字を転送して表示させることが可能な手書き文字入力装置を実現出来るようになる。
【００６３】
（付記１）  画面上の任意の位置に手書き入力した文字を認識して入力する手書き文字入力装置において、
画面を表示する画面表示部と、
手書き文字を入力して、ストローク情報に変換する文字入力部と、
文字認識辞書を用いて、前記手書き文字を認識する文字認識部と、
前記手書き文字の前記ストローク情報に含まれる所定の座標点と前記画面上のテキスト入力領域の位置情報を基に、認識した文字を入力すべきテキスト入力領域を自動的に選択するテキスト入力領域判定部と、
前記選択されたテキスト入力領域に、認識した文字を転送して表示する認識文字表示部を具備することを特徴とする手書き文字入力装置。（１）
（付記２）  付記１に記載の手書き文字入力装置において、
前記所定の座標点が、最初に入力された手書き文字の第一ストロークの開始座標点であることを特徴とする手書き文字入力装置。（２）
（付記３）  付記１または２に記載の手書き文字入力装置において、
前記テキスト入力領域判定部が、指定された領域に認識した文字の送出が可能か否か判定することによって、認識した文字を入力すべきテキスト入力領域を自動的に選択することを特徴とする手書き文字入力装置。（３）
（付記４）  付記１または２に記載の手書き文字入力装置において、
前記テキスト入力領域判定部が、ペンタップ時のマウスカーソルの形状を判定することによって、認識した文字を入力すべきテキスト入力領域が選択されたか判定することを特徴とする手書き文字入力装置。
【００６４】
（付記５）  付記１乃至４に記載の手書き文字入力装置において、
前記所定の座標点にテキスト入力領域が存在しない場合、新しくウインドウを開いて、認識した文字を一時的に表示する認識文字一時表示部と、
前記一時表示された文字を入力すべきテキスト入力領域の指示を受け付けるテキスト入力領域指示部を更に備え、
前記認識文字表示部は、前記一時表示された文字を前記指示されたテキスト入力領域に転送して表示し、前記別ウィンドウを閉じることを特徴とする手書き文字入力装置。（４）
（付記６）  付記１乃至５に記載の手書き文字入力装置において、
更に、直前に送出した認識文字とその手書き文字のストローク情報を保持する認識情報保持部と、
直前に送出した認識文字を削除し、手書き文字のストローク情報情報を復元する認識結果取消ボタンを備えることを特徴とする手書き文字入力装置。
【００６５】
（付記７）  画面上の任意の位置に入力した手書き文字を認識して入力するステップを含み、コンピュータに読み込ませて稼働するプログラムであって、
画面を表示するステップと、
手書き文字を入力して、ストローク情報に変換するステップと、
文字認識辞書を用いて、前記手書き文字を認識するステップと、
前記手書き文字の前記ストローク情報に含まれる所定の座標点と前記画面上のテキスト入力領域の位置情報を基に、認識した文字を入力すべきテキスト入力領域を自動的に選択するステップと、
前記選択されたテキスト入力領域に、認識した文字を転送して表示するステップを含むことを特徴とするプログラム。（５）
【００６６】
【発明の効果】
本発明の手書き文字入力装置によれば、画面デザイン上の自由度が高く、テキスト入力領域毎に手書き入力モードとコマンドモードを切り換える必要なく、画面上で入力された手書き文字のストローク情報に含まれる座標点で、最初にテキスト入力領域と重なる座標点に存在しているテキスト入力領域を入力すべきテキスト入力領域として自動的に選択して、認識した文字を転送して表示させ、テキスト入力領域と座標点が重なる部分がなく、文字を転送するテキスト入力領域が自動選択できない場合は、新しいウィンドウに認識した文字を一時表示し、入力すべきテキスト入力領域を指示することが可能となる。
【００６７】
また、本発明の手書き文字入力装置によれば、手書き入力した文字を認識し、認識した文字を選択されたテキスト入力領域に送出し、送出した文字が適正に読み込めるかどうかを判定することが出来る。
【００６８】
また、本発明の手書き文字入力装置によれば、マウスカーソルの形状を判定するためのＧｅｔＣｕｒｓｏｒ（）関数のカーソルのハンドルを取得し、カーソルの属性を調べることにより、テキスト入力領域かどうかを判定することが可能となる。
【００６９】
また、本発明の手書き文字入力装置によれば、認識文字を送出した後でも、直前に送出した認識文字をクリアし、再度、認識結果である文字候補から選択のやり直しや取消が可能となる。
【００７０】
この記録媒体からプログラムをコンピュータにローディングすることにより、テキスト入力領域毎に手書き入力モードとコマンドモードを切り換える必要なく、画面上で入力された手書き文字のストローク情報に含まれる座標点で、最初にテキスト入力領域と重なる座標点に存在しているテキスト入力領域を入力すべきテキスト入力領域として自動的に選択して、認識した文字を転送して表示させ、テキスト入力領域と座標点が重なる部分がなく、文字を転送するテキスト入力領域が自動選択できない場合は、新しいウィンドウに認識した文字を一時表示し、入力すべきテキスト入力領域を指示することが可能な手書き文字入力装置を実現出来るようになる。
【図面の簡単な説明】
【図１】    本発明の実施形態１の構成図
【図２】    本発明の実施形態１の処理の流れを示すフローチャート
【図３】    透明タブレットの画面の例１
【図４】    本発明の実施形態２のテキスト入力領域判定部の処理の流れを示すフローチャート１
【図５】    本発明の実施形態２のテキスト入力領域判定部の処理の流れを示すフローチャート２
【図６】    本発明の実施形態３の構成図
【図７】    本発明の実施形態３の処理の流れを示すフローチャート
【図８】    透明タブレットの画面の例２
【図９】    記録媒体の例示図
【符号の説明】
１        画面表示部
２        文字入力部
３        文字認識部
３−１    文字認識辞書
４        テキスト入力領域判定部
５        認識文字表示部
６        透明タブレット
７        スタイラスペン
８        テキスト入力領域
９        モード切換ボタン
１０      終了ボタン
１１      テキスト入力画面
１２      認識文字一時表示部
１３      テキスト入力領域指示部
１４      認識文字一時表示ウィンドウ
１５      ＣＤ−ＲＯＭやフロッピーディスク等の可搬型記録媒体
１５−１  ＣＤ−ＲＯＭ
１５−２  フロッピーディスク
１６      通信回線の先に蓄えられた他の記憶装置
１７      コンピュータ上のＲＡＭ／ハードディスク等の記録媒体
１８      コンピュータ
【図１】
0003855696.tif 000004
【図２】
0003855696.tif 000005
【図３】
0003855696.tif 000006
【図４】
0003855696.tif 000007
【図５】
0003855696.tif 000008
【図６】
0003855696.tif 000009
【図７】
0003855696.tif 000010
【図８】
0003855696.tif 000011
【図９】
0003855696.tif 000012