(57)【要約】【課題】任意モードで筆記途中でもジェスチャーを入力可能となる。【解決手段】筆跡データを取得する手段１０１と、１画分の筆跡データとこの筆跡データに対応づけられた第１コマンドとを格納する第１手段１０６と、取得された筆跡データが１画分である場合に第１手段から対応する第１コマンドを探す手段１０３と、第１手段から対応する第１コマンドを探し出せた場合には第１コマンドを実行することを予定する手段１０３と、１画分の筆跡データとこの筆跡データに対応づけられた第２コマンドとを格納する第２手段１０７と、筆跡データが取得されつつある場合に、一定時間ごとに、筆跡データを１画分であるとみなして、第２手段から対応する第２コマンドを探す手段１０４と、第２手段から対応する第２コマンドを探し出せた場合には第２コマンドを実行することを予定する手段１０４と、を具備する。【選択図】図１
2008250374.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが筆記する筆跡データを取得する取得手段と、
１画分の筆跡データと、この筆跡データに対応づけられた、自装置が接続している機器に対して実行される命令である第１コマンドとを格納する１画格納手段と、
前記取得された筆跡データが１画分である場合に、前記１画格納手段から該１画分の筆跡データに対応する前記第１コマンドを探す１画探索手段と、
前記１画格納手段から前記対応する第１コマンドを探し出せた場合には、該第１コマンドを実行することを予定する１画予定手段と、
１画分の筆跡データと、この筆跡データに対応づけられた、前記第１コメントとは異なる命令である第２コマンドとを格納する逐次格納手段と、
前記筆跡データが取得されつつある場合に、一定時間ごとに、該筆跡データを１画分であるとみなして、前記逐次格納手段から該１画分の筆跡データに対応する前記第２コマンドを探す逐次探索手段と、
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合には、該第２コマンドを実行することを予定する逐次予定手段と、を具備することを特徴とする筆跡判定装置。
【請求項２】
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合に、前記１画探索手段が、その時点までに筆記された筆跡を１画とみなして前記１画格納手段から該１画分の筆跡データに対応する前記第１コマンドを探し、該第１コマンドが探し出された場合には、前記逐次予定手段が前記予定された第２コマンドを取り消すことを特徴とする請求項１に記載の筆跡判定装置。
【請求項３】
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合には、その後、前記１画探索手段は動作を停止することを特徴とする請求項１に記載の筆跡判定装置。
【請求項４】
前記取得された筆跡データの筆跡を表示する表示手段をさらに具備し、
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合、もしくは、前記１画格納手段から前記対応する第１コマンドを探し出せた場合には、筆記途中の筆跡を含めて表示されていた筆跡の全部または一部の表示を消去することを特徴とする請求項１に記載の筆跡判定装置。
【請求項５】
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合、もしくは、前記１画格納手段から前記対応する第１コマンドを探し出せた場合には、その旨を示す音を出力する音出力手段をさらに具備することを特徴とする請求項１に記載の筆跡判定装置。
【請求項６】
１画分以上の筆跡データと、この筆跡データに対応づけられた文字列とを格納する文字列格納手段と、
前記取得された筆跡データが１画分である場合に、前記文字列格納手段からこれまで取得した筆跡データに対応する文字列を探す文字列探索手段と、
前記文字列格納手段から前記対応する文字列を探し出せた場合には、該文字列を出力する出力手段と、をさらに具備することを特徴とする請求項１に記載の筆跡判定装置。
【請求項７】
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合に、前記１画探索手段が、その時点までに筆記された筆跡を１画とみなして前記１画格納手段から該１画分の筆跡データに対応する前記第１コマンドを探し、前記文字列探索手段が、その時点までに筆記された筆跡を１画とみなして前記文字列格納手段から該１画分の筆跡データに対応する前記文字列を探し、前記１画探索手段が第１コマンドを探し出したか、もしくは、前記文字列探索手段が文字列を探し出した場合には、前記逐次予定手段が前記予定された第２コマンドを取り消すことを特徴とする請求項６に記載の筆跡判定装置。
【請求項８】
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合には、その後、前記１画探索手段、および、前記文字列探索手段は動作を停止することを特徴とする請求項６に記載の筆跡判定装置。
【請求項９】
前記１画格納手段から前記対応する第１コマンドを探し出せた場合、もしくは、前記文字列格納手段から前記対応する文字列を探し出せた場合には、前記逐次予定手段が前記予定された第２コマンドを取り消すことを特徴とする請求項６に記載の筆跡判定装置。
【請求項１０】
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合には、前記取得手段が取得する次の１画分の筆跡データから、前記１画探索手段、前記逐次探索手段、および、前記文字列探索手段のいずれか１つの探索に切り替える切り替え手段をさらに具備することを特徴とする請求項６に記載の筆跡判定装置。
【請求項１１】
ユーザが筆記する筆跡データを取得する取得手段と、
１画分以上の筆跡データと、この筆跡データに対応づけられた文字列とを格納する文字列格納手段と、
前記取得された筆跡データが１画分である場合に、前記文字列格納手段からこれまで取得した筆跡データに対応する文字列を探す文字列探索手段と、
前記文字列格納手段から前記対応する文字列を探し出せた場合には、該文字列を出力することを予定する出力予定手段と、
１画分の筆跡データと、この筆跡データに対応づけられたコマンドとを格納する逐次格納手段と、
前記筆跡データが取得されつつある場合に、一定時間ごとに、該筆跡データを１画分であるとみなして、前記逐次格納手段から該１画分の筆跡データに対応する前記コマンドを探す逐次探索手段と、
前記逐次格納手段から前記対応するコマンドを探し出せた場合には、該コマンドを実行することを予定する逐次予定手段と、を具備することを特徴とする筆跡判定装置。
【請求項１２】
前記逐次格納手段から前記対応するコマンドを探し出せた場合に、前記文字列探索手段が、その時点までに筆記された筆跡を１画とみなして前記文字列格納手段から該１画分の筆跡データに対応する前記文字列を探し、該文字列を探し出した場合には、前記逐次予定手段が前記予定されたコマンドを取り消すことを特徴とする請求項１１に記載の筆跡判定装置。
【請求項１３】
前記逐次格納手段から前記対応するコマンドを探し出せた場合には、その後、前記文字列探索手段は動作を停止することを特徴とする請求項１１に記載の筆跡判定装置。
【請求項１４】
前記逐次予定手段が前記コマンドを実行することを予定した場合には、引き続き筆跡データが取得されつつある筆跡について、前記逐次探索手段がコマンドを探すことを特徴とする請求項１１に記載の筆跡判定装置。
【請求項１５】
ユーザが筆記する筆跡データを取得し、
１画分の筆跡データと、この筆跡データに対応づけられた第１コマンドとを格納する１画格納手段を用意し、
前記取得された筆跡データが１画分である場合に、前記１画格納手段から該１画分の筆跡データに対応する前記第１コマンドを探し、
前記１画格納手段から前記対応する第１コマンドを探し出せた場合には、該第１コマンドを実行することを予定し、
１画分の筆跡データと、この筆跡データに対応づけられた第２コマンドとを格納する逐次格納手段を用意し、
前記筆跡データが取得されつつある場合に、一定時間ごとに、該筆跡データを１画分であるとみなして、前記逐次格納手段から該１画分の筆跡データに対応する前記第２コマンドを探し、
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合には、該第２コマンドを実行することを予定することを特徴とする筆跡判定方法。
【請求項１６】
ユーザが筆記する筆跡データを取得し、
１画分以上の筆跡データと、この筆跡データに対応づけられた文字列とを格納する文字列格納手段を用意し、
前記取得された筆跡データが１画分である場合に、前記文字列格納手段からこれまで取得した筆跡データに対応する文字列を探し、
前記文字列格納手段から前記対応する文字列を探し出せた場合には、該文字列を出力することを予定し、
１画分の筆跡データと、この筆跡データに対応づけられたコマンドとを格納する逐次格納手段を用意し、
前記筆跡データが取得されつつある場合に、一定時間ごとに、該筆跡データを１画分であるとみなして、前記逐次格納手段から該１画分の筆跡データに対応する前記コマンドを探し、
前記逐次格納手段から前記対応するコマンドを探し出せた場合には、該コマンドを実行することを予定することを特徴とする筆跡判定方法。
【請求項１７】
コンピュータを、
ユーザが筆記する筆跡データを取得する取得手段と、
１画分の筆跡データと、この筆跡データに対応づけられた第１コマンドとを格納する１画格納手段と、
前記取得された筆跡データが１画分である場合に、前記１画格納手段から該１画分の筆跡データに対応する前記第１コマンドを探す１画探索手段と、
前記１画格納手段から前記対応する第１コマンドを探し出せた場合には、該第１コマンドを実行することを予定する１画予定手段と、
１画分の筆跡データと、この筆跡データに対応づけられた第２コマンドとを格納する逐次格納手段と、
前記筆跡データが取得されつつある場合に、一定時間ごとに、該筆跡データを１画分であるとみなして、前記逐次格納手段から該１画分の筆跡データに対応する前記第２コマンドを探す逐次探索手段と、
前記逐次格納手段から前記対応する第２コマンドを探し出せた場合には、該第２コマンドを実行することを予定する逐次予定手段として機能させるための筆跡判定プログラム。
【請求項１８】
コンピュータを、
ユーザが筆記する筆跡データを取得する取得手段と、
１画分以上の筆跡データと、この筆跡データに対応づけられた文字列とを格納する文字列格納手段と、
前記取得された筆跡データが１画分である場合に、前記文字列格納手段からこれまで取得した筆跡データに対応する文字列を探す文字列探索手段と、
前記文字列格納手段から前記対応する文字列を探し出せた場合には、該文字列を出力することを予定する出力予定手段と、
１画分の筆跡データと、この筆跡データに対応づけられたコマンドとを格納する逐次格納手段と、
前記筆跡データが取得されつつある場合に、一定時間ごとに、該筆跡データを１画分であるとみなして、前記逐次格納手段から該１画分の筆跡データに対応する前記コマンドを探す逐次探索手段と、
前記逐次格納手段から前記対応するコマンドを探し出せた場合には、該コマンドを実行することを予定する逐次予定手段として機能させるための筆跡判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルやタブレットのような座標入力装置に対して入力される筆跡に対して、文字列やジェスチャー判定を行う筆跡判定装置、方法およびプログラムに関する。
【背景技術】
【０００２】
従来は、１画単位でジェスチャーの判定を行っているため、１画分の筆跡入力が終了してから、ジェスチャー判定処理を開始している（例えば、特許文献１参照）。
【特許文献１】特開２００３−１９６５９３公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来技術では、１画単位で文字認識処理やジェスチャー判定処理を行っているため、カーソル移動やスクロール移動などの同じ動作を連続して行いたい場合でも、同じ形状のジェスチャーを繰り返し入力する必要があり、入力操作が煩雑である。
【０００４】
ジェスチャーの大きさで移動距離を表現するという方法も考えられるが、従来技術では、１画書き終わってから初めて判定処理が行われる。ジェスチャー入力が実際にどのように操作に反映されるかは、１画分の入力が完了するまでわからないため、誤判定の結果ユーザが予期しない操作が一気に行われてしまう可能性がある。
【０００５】
この発明は、上述した事情を考慮してなされたものであり、筆記途中であってもジェスチャーを入力することが、文字入力や１画単位のジェスチャー入力などのモードでも可能となる筆跡判定装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題を解決するため、本発明の筆跡判定装置は、ユーザが筆記する筆跡データを取得する取得手段と、１画分の筆跡データと、この筆跡データに対応づけられた、自装置が接続している機器に対して実行される命令である第１コマンドとを格納する１画格納手段と、前記取得された筆跡データが１画分である場合に、前記１画格納手段から該１画分の筆跡データに対応する前記第１コマンドを探す１画探索手段と、前記１画格納手段から前記対応する第１コマンドを探し出せた場合には、該第１コマンドを実行することを予定する１画予定手段と、１画分の筆跡データと、この筆跡データに対応づけられた、前記第１コメントとは異なる命令である第２コマンドとを格納する逐次格納手段と、前記筆跡データが取得されつつある場合に、一定時間ごとに、該筆跡データを１画分であるとみなして、前記逐次格納手段から該１画分の筆跡データに対応する前記第２コマンドを探す逐次探索手段と、前記逐次格納手段から前記対応する第２コマンドを探し出せた場合には、該第２コマンドを実行することを予定する逐次予定手段と、を具備することを特徴とする特徴とする。
【０００７】
また、本発明の筆跡判定装置は、ユーザが筆記する筆跡データを取得する取得手段と、１画分以上の筆跡データと、この筆跡データに対応づけられた文字列とを格納する文字列格納手段と、前記取得された筆跡データが１画分である場合に、前記文字列格納手段からこれまで取得した筆跡データに対応する文字列を探す文字列探索手段と、前記文字列格納手段から前記対応する文字列を探し出せた場合には、該文字列を出力することを予定する出力予定手段と、１画分の筆跡データと、この筆跡データに対応づけられたコマンドとを格納する逐次格納手段と、前記筆跡データが取得されつつある場合に、一定時間ごとに、該筆跡データを１画分であるとみなして、前記逐次格納手段から該１画分の筆跡データに対応する前記コマンドを探す逐次探索手段と、前記逐次格納手段から前記対応するコマンドを探し出せた場合には、該コマンドを実行することを予定する逐次予定手段と、を具備することを特徴とする。
【発明の効果】
【０００８】
本発明の筆跡判定装置、方法およびプログラムによれば、筆記途中であってもジェスチャーを入力することが、文字入力や１画単位のジェスチャー入力などのモードでも可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照しながら本発明の実施形態に係る筆跡判定装置、方法およびプログラムについて詳細に説明する。  
本実施形態の筆跡判定装置は、１画分の筆跡入力の完了時に行われる、１画ジェスチャー判定処理と文字列判定処理と、入力途中のペンの移動ごと（１サンプリング点が追加される）や一定時間間隔で逐次処理される逐次ジェスチャー判定処理を組み合わせる。筆記途中の段階から逐次ジェスチャー判定処理により判定を行い、逐次ジェスチャーと判定された場合、筆記途中であっても該当ジェスチャーに対応するコマンド処理をその都度実行する。１画分の筆跡とは、ペンや指等の入力手段が、筆跡入力エリアに接触して離れるまでに筆記された連続である曲線（直線も含む）を示す。
【００１０】
本実施形態の筆跡判定装置について図１を参照して説明する。  
本実施形態の筆跡判定装置は、筆跡入力部１０１、文字列判定部１０２、１画ジェスチャー判定部１０３、逐次ジェスチャー判定部１０４、文字列辞書１０５、１画ジェスチャー辞書１０６、逐次ジェスチャー辞書１０７、筆跡表示部１０８、音出力部１０９を含んでいる。以下、既に説明した装置部分と同様なものは同一の番号を付してその説明を省略する。
【００１１】
筆跡入力部１０１は、ユーザがペンあるいは指などで筆記する筆跡データを入力パタンとして受け付け取得し、一時的にメモリ（図示せず）等に記憶する。筆跡入力部１０１は、例えばタブレットであり、ペンがタブレットに触れている間のペン先の位置を表す２次元座標データ（筆跡データ）を一定時間間隔でサンプリングする。筆跡データは、例えば、以下の時系列で表現できる。  
（Ｘ［１］，Ｙ［１］）、（Ｘ［２］，Ｙ［２］）、…、（Ｘ［Ｋ］，Ｙ［Ｋ］）  
ここで、Ｘ［ｉ］，Ｙ［ｉ］は時刻ｉでの座標入力装置上の２次元平面状の座標であり、一定時間間隔でのペン先あるいは指先の位置を表す。
【００１２】
文字列判定部１０２は、筆跡入力部１０１に入力された筆跡データを１画分の筆跡が入力完了されるごと取得し、それまでに入力された筆跡データを使用して文字列辞書１０５を参照して、この辞書内に取得した筆跡データに対応する文字列データを探し出す。文字列辞書１０５から対応する文字列データを探し出せた場合にはこの文字列を出力することを予定する。出力するかどうかについては、他の判定部での判定結果に基づいて決定される。この決定処理については、後にフローチャートを参照して説明する。なお、文字列判定部１０２は、それまでに入力された筆跡データをメモリ等（図示せず）に格納しておく。  
文字列辞書１０５は、複数の文字列データを格納している。各文字列データは、文字列と、その文字列の構造を示す構造情報とを格納している。構造情報は、筆跡データに対応していて、１画以上からなる文字に関する情報を有している。筆跡入力部１０１は、この構造情報と入力した筆跡データとが対応しているかどうかを判定して、文字列データを探す。
【００１３】
１画ジェスチャー判定部１０３は、筆跡入力部１０１に入力された筆跡データを１画分の筆跡が入力完了されるごとに取得し、１画ジェスチャー辞書１０６を参照して、この辞書から、取得した筆跡データに対応する１画ジェスチャーデータを探し出す。各１画ジェスチャーデータは、ジェスチャーに応じて引き起こされるコマンドを示すジェスチャーコードと、このジェスチャーの１画分の筆跡データを格納している。ここで、コマンドとは、筆跡判定装置が接続している機器に対して実行される命令であり、例えば、スクロール、ページアップ、選択等、通常キーボードやマウス等で入力される命令である。１画ジェスチャー辞書１０６から対応するコマンドを探し出せた場合には、このコマンドを実行することを予定する。実行するかどうかについては、他の判定部での判定結果に基づいて決定される。この決定処理については、後にフローチャートを参照して説明する。コマンドを実行する場合には、１画ジェスチャー判定部１０３は、ジェスチャーコードに対応するコマンドを実行する。これとは異なり、図示しない制御部がジェスチャーコードを受け取って、対応するコマンドを実行してもよい。なお、１画ジェスチャーデータは、筆跡データの特徴を格納していてもよい。この特徴は、ペン等による入力によって、文字と区別することができる筆跡データの特徴であり、特定の構造情報を示す。  
１画ジェスチャー辞書１０６は、複数の１画ジェスチャーデータを格納している。
【００１４】
逐次ジェスチャー判定部１０４は、筆跡入力部１０１に入力された筆跡データを逐次取得し、この時点までに筆記された１画分の筆跡データを使用して逐次ジェスチャー辞書１０７を参照して、この辞書から、取得した筆跡データに対応する逐次ジェスチャーデータを探し出す。逐次ジェスチャー辞書１０７から対応するコマンドを探し出せた場合には、このコマンドを実行することを予定する。実行するかどうかについては、他の判定部での判定結果に基づいて決定される。この決定処理については、後にフローチャートを参照して説明する。逐次ジェスチャー判定部１０４については後に図３、図４、図５を参照して説明する。逐次ジェスチャー判定部１０４は、例えば、一定時間ごと筆跡データを取得する。この一定時間は、通常のユーザが１画を書く時間よりも短めに設定しておくことが望ましい。  
逐次ジェスチャー辞書１０７は、複数の逐次ジェスチャーデータを格納している。各逐次ジェスチャーデータは、ジェスチャーに応じて引き起こされるコマンドを示すジェスチャーコードと、このジェスチャーの筆跡データの特徴を格納している。この特徴は、ペン等による入力によって、文字と区別することができる筆跡データの特徴であり、特定の構造情報を示す。
【００１５】
筆跡表示部１０８は、筆跡入力部１０１でユーザが筆記している筆跡を表示したり、文字列判定部１０２が判定した文字を表示したり、１画ジェスチャー判定部１０３または逐次ジェスチャー判定部１０４が判定したジェスチャーを示す記号を表示する。
【００１６】
音出力部１０９は、文字列判定部１０２、１画ジェスチャー判定部１０３、逐次ジェスチャー判定部１０４から判定結果を受け取り、音を出力するかどうか判定し、音を出力すると判定した場合には、判定結果に対応する音を出力する。文字列判定部１０２が判定した場合、例えば、判定した文字を読み上げる、筆跡データに対応する文字が無い場合にはビープ音を出力する。また、１画ジェスチャー判定部１０３、逐次ジェスチャー判定部１０４が判定した場合、例えば、ジェスチャーに対応するコマンドを実行する場合には、その旨をユーザが認知できる特定の音を発する。
【００１７】
次に、図１の筆跡判定装置の動作の一例について図２を参照して説明する。  
筆跡入力部１０１が、ペン等がタブレットの筆記入力エリアに触れたかどうかを判定する（ステップＳ２０１）。筆記入力エリアに触れたと判定された場合にはステップＳ２０２に進み、筆記入力エリアに触れていないと判定された場合には、次にサンプリングする時間が経過した後、再びステップＳ２０１を行う。
【００１８】
次に、筆跡入力部１０１が、ペン等が筆記入力エリアから離れたかどうかを判定する（ステップＳ２０２）。筆記入力エリアから離れたと判定された場合にはステップＳ２０３に進み、筆記入力エリアから離れていないと判定された場合にはステップＳ２０６に進む。
【００１９】
筆記入力エリアから離れたと判定された場合、１画ジェスチャー判定部１０３が、筆跡入力部１０１が取得した１画の筆跡データに対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれているかどうかを探す（ステップＳ２０３、Ｓ２０４）。対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれている場合にはステップＳ２０５に進み、対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれていない場合にはステップＳ２１０に進む。
【００２０】
対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれている場合、１画ジェスチャー判定部１０３がジェスチャーコードを出力し、ジェスチャーコードに対応するコマンドを実行する（ステップＳ２０５）。対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれていない場合、文字列判定部１０２が、筆跡入力部１０１が取得した１画の筆跡データに対応する文字列データが文字列辞書１０５に含まれているかどうかを探す（ステップＳ２１０、Ｓ２１１）。対応する文字列データが文字列辞書１０５に含まれている場合にはステップＳ２１２に進み、対応する文字列データが文字列辞書１０５に含まれていない場合にはステップＳ２０１に戻る。対応する文字列データが文字列辞書１０５に含まれている場合、文字列判定部１０２が文字列を筆跡表示部１０８に出力する（ステップＳ２１２）。
【００２１】
一方、ステップＳ２０２でペン等が筆記入力エリアから離れていないと判定された場合、筆跡入力部１０１がペン等の筆跡を追跡し続ける（ステップＳ２０６）。逐次ジェスチャー判定部１０４は、ステップＳ２０６で追跡している筆跡を取得して、この筆跡に対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれているかどうかを探す（ステップＳ２０７、Ｓ２０８）。対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれている場合にはステップＳ２０９に進み、対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれていない場合にはステップＳ２０２に戻る。対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれている場合、逐次ジェスチャー判定部１０４がジェスチャーコードを出力し、ジェスチャーコードに対応するコマンドを実行する（ステップＳ２０９）。
【００２２】
次に、図１の逐次ジェスチャー判定部１０４が判定する逐次ジェスチャーの例について図３、図４を参照して説明し、図３の逐次ジェスチャーの判定について図５を参照して説明する。  
図３および図４は、筆跡入力部１０１の筆記入力エリアにペン等で入力した場合での筆跡を示している。図３は、筆記入力エリアにペンで円を描き表示画面を上下にスクロールする一例である。図３の場合は、円の回転方向が時計回りまたは反時計回りによりスクロール方向がそれぞれ上方向、下方向になり、回転の角度がスクロールの移動量に対応する。回転角度が増減するごとにスクロールが行われる。図５の場合は、筆記入力エリアにペンで直線を描きカーソルを上下左右に移動させる一例である。図５の場合は、直線の方向が筆記入力エリアの下から上の向き、上から下の向き、右から左の向き、左から右への向きであるかによりカーソルの移動方向がそれぞれ上下左右になり、ペン先の移動距離がカーソルの移動距離に対応する。カーソルの移動距離については、ペン先を上下左右のいずれかに移動させてそのままペン先を筆記入力エリアに接触させている場合にはカーソルが移動し続けるようにしてもよい。
【００２３】
図３の逐次ジェスチャーの場合、逐次ジェスチャー判定部１０４は、  
１．ペンダウン時の始点をＰｏとする。  
２．Ｐｏから現在のペン先の位置Ｐｎまでの円弧の角度θを計算する。  
３．角度θが閾値を超えたら、ジェスチャーと判定し、ＰｎをＰｏと置き直す。  
４．２にもどる。
【００２４】
この場合の角度θの閾値は、角度θが閾値を超えると、この筆跡に対応するコマンドが逐次ジェスチャー辞書１０７に存在するということである。
【００２５】
次に、円弧の角度θの求め方を説明する。筆記入力エリアの中央を回転の中心Ｐｃ（Ｘｃ，Ｙｃ）として、Ｐｏ、Ｐｎの座標をそれぞれ（Ｘｏ，Ｙｏ）、（Ｘｎ，Ｙｎ）とすると、θは、  
｜Ｖｏ｜｜Ｖｎ｜ｃｏｓθ＝Ｖｏ・Ｖｎ  
が成り立つので、逐次ジェスチャー判定部１０４は角度θを計算で求めることができる。ここで、Ｖｏは中心ＰｃからＰｏへのベクトルで（Ｘｏ−Ｘｃ，Ｙｏ−Ｙｃ）と表すことができる。また、Ｖｎは中心ＰｃからＰｎへのベクトルで（Ｘｎ−Ｘｃ，Ｙｎ−Ｙｃ）と表すことができる。｜Ｖ｜は、ベクトルの絶対値を表し、｜Ｖ｜＝｜（ｘ，ｙ）｜の場合、（ｘ２＋ｙ２）１／２である。Ｖ１・Ｖ２は、ベクトルの内積を表し、Ｖ１・Ｖ２＝（Ｘ１，Ｙ１）・（Ｘ２，Ｙ２）＝Ｘ１×Ｘ２＋Ｙ１×Ｙ２となる。
【００２６】
次に、文字列、１画ジェスチャーを逐次ジェスチャーと誤判定することを避けるための動作の一例について図６を参照して説明する。  
文字列判定部１０２や１画ジェスチャー判定部１０３がすでに設置されていて、その上に逐次ジェスチャー判定部１０４を追加した場合、文字列判定部１０２で判定される文字や１画ジェスチャー判定部１０３で判定されるべき１画ジェスチャーを、入力途中の段階で逐次ジェスチャー判定部１０４が逐次ジェスチャーと誤判定するという問題が発生する可能性がある。例えば、図３の上下スクロールとアルファベット「Ｏ」を誤判定してしまう可能性がある。この誤判定ができるだけ発生しないように、逐次ジェスチャー判定部１０４で逐次ジェスチャーと誤判定したとしても、文字列判定部１０２や１画ジェスチャー判定部１０３での判定によって、誤判定した逐次ジェスチャーをキャンセルするという処理を追加する。図６は、図２のステップＳ２０７を示している。
【００２７】
逐次ジェスチャー判定部１０４は、ステップＳ２０６で追跡している筆跡を取得して、この筆跡に対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれているかどうかを探す（ステップＳ６０１、Ｓ６０２）。対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれている場合にはステップＳ６０３に進み、対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれていない場合にはこの筆跡は逐次ジェスチャーでないとして逐次ジェスチャーリジェクトとする。
【００２８】
対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれている場合には、１画ジェスチャー判定部１０３が、筆跡入力部１０１が取得した１画の筆跡データに対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれているかどうかを探す（ステップＳ６０３、Ｓ６０４）。対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれている場合には、ステップＳ６０１、Ｓ６０２で判定された逐次ジェスチャーデータを取り消し逐次ジェスチャーリジェクトとし、この筆跡は１画ジェスチャーであると判定する。一方、対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれていない場合にはステップＳ６０５に進む。
【００２９】
対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれていない場合には、文字列判定部１０２が、筆跡入力部１０１が取得した１画の筆跡データに対応する文字列データが文字列辞書１０５に含まれているかどうかを探す（ステップＳ６０５、Ｓ６０６）。対応する文字列データが文字列辞書１０５に含まれている場合には、ステップＳ６０１、Ｓ６０２で判定された逐次ジェスチャーデータを取り消し逐次ジェスチャーリジェクトとし、この筆跡は文字列であると判定する。一方、対応する文字列データが文字列辞書１０５に含まれていない場合にはステップＳ６０１、Ｓ６０２で判定された逐次ジェスチャーデータに対応する逐次ジェスチャーをこの筆跡によるものだと判定する（逐次ジェスチャーアクセプト）。その後、この逐次ジェスチャーのジェスチャーコードを出力する（ステップＳ６０７）。
【００３０】
次に、逐次ジェスチャー判定部１０４でジェスチャーと判定された筆跡が、文字列判定部や１画ジェスチャー判定部で重複して文字列やジェスチャーとして判定されないようにするための処理について図７を参照して説明する。以下、既に説明したステップと同様なものは同一の番号を付してその説明を省略する。
【００３１】
ステップＳ２０１でペン等が筆記入力エリアに触れたと判定された場合に、逐次ジェスチャーとは判定されていないことを意味する逐次ジェスチャーフラグ＝ｆａｌｓｅをメモリ等（図示せず）に格納し、ステップＳ２０２に進む。このメモリは例えば、逐次ジェスチャー判定部１０４が有している。
【００３２】
ステップＳ２０２でペン等が筆記入力エリアから離れたと判定された場合には、逐次ジェスチャーフラグがｔｕｒｅであるかどうかを判定する（ステップＳ７０２）。逐次ジェスチャーフラグがｔｕｒｅである場合にはこのフラグを保ちつつステップＳ２０１に戻る。
【００３３】
ステップＳ２０９で逐次ジェスチャー判定部１０４がジェスチャーコードを出力した後に逐次ジェスチャーフラグ＝ｔｕｒｅにフラグを設定しステップＳ２０２に戻る（ステップＳ７０３）。
【００３４】
次に、仮に逐次ジェスチャーと判定した筆跡が、ペンアップ後に実は文字列や１画ジェスチャーであることが分かった場合に、すでに行われているはずの逐次ジェスチャーに関する処理を取り消すための処理について説明する。  
例えば、右方向へのカーソル移動に相当する逐次ジェスチャーとして判定されていた場合には、その操作を取り消すために、逆方向の左向きのカーソル移動によって処理を取り消す。
【００３５】
この処理の場合の図１に示す筆跡判定装置が行う動作の一例について図８、図９を参照して説明する。  
ステップＳ２０４で、筆跡入力部１０１が取得した１画の筆跡データに対応する１画ジェスチャーデータが１画ジェスチャー辞書１０６に含まれていると判定した場合には、逐次ジェスチャーキャンセル判定処理を行う。この判定処理後はステップＳ２０５に進む。逐次ジェスチャーキャンセル判定処理では、逐次ジェスチャーフラグがｔｕｒｅであるかｆａｌｓｅであるかを判定し、ｔｕｒｅである場合には逐次ジェスチャーをキャンセルする。この動作の一例については後に図９を参照して説明する。
【００３６】
さらに、ステップＳ２１１で、文字列判定部１０２が、筆跡入力部１０１が取得した１画の筆跡データに対応する文字列データが文字列辞書１０５に含まれていると判定した場合にも、逐次ジェスチャーキャンセル判定処理を行う。この処理判定後はステップＳ２１２に進む。
【００３７】
逐次ジェスチャーキャンセル判定処理について図９を参照して説明する。  
逐次ジェスチャー判定部１０４は、逐次ジェスチャーフラグがｔｕｒｅであるかｆａｌｓｅであるかを判定し、ｔｕｒｅである場合にはこの逐次ジェスチャーフラグに対応する逐次ジェスチャーをキャンセルする処理を行う。このキャンセル処理を行うと、逐次ジェスチャーフラグはｆａｌｓｅになる。逐次ジェスチャーフラグがｆａｌｓｅである場合、または、逐次ジェスチャーキャンセル処理後は、次にステップに続く。
【００３８】
次に、逐次ジェスチャーを連続して入力するための処理について図１０を参照して説明する。この処理により、ペンアップせずに複数の種類のジェスチャーを入力し続けることができる。例えば、スクロールをしていて目的の位置を超えてしまった場合に、スムーズに逆向きに戻ることも可能となる。図８では、“Six weeks”より上から下向きにスクロールしていて、目的の位置である“Take a chance”を超えてしまった場合（図１０（１））、ペンアップせず、逆方向にスクロールすることにより、スムーズに目的の位置に戻ることができる（図１０（２））。
【００３９】
逐次ジェスチャー判定部１０４が入力された筆跡がジェスチャーと判定したことをユーザに知らせるために、音出力部１０９がユーザに音を出力したり、筆跡表示部１０８が筆跡表示を変更する表示処理を行ってもよい。例えば、図１０（２）では、時計回りの図１０（１）の軌跡を消去し、図１０（２）の反時計回りの軌跡だけを表示する。また、ユーザに音を出力する場合には、逐次ジェスチャー判定部１０４の判定だけでなく、文字列判定部１０２、１画ジェスチャー判定部１０３が判定した場合に、例えば、判定した判定部によって音の種類を変えて出力してもよい。
【００４０】
この図１０を参照して説明した処理をするための筆跡判定装置の動作の一例について図１１を参照して説明する。  
ステップＳ２０９で、ステップＳ２０６で追跡している筆跡を取得して、この筆跡に対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれている場合、逐次ジェスチャー判定部１０４がジェスチャーコードを出力し、ジェスチャーコードに対応するコマンドを実行した後に、筆跡入力部１０１のメモリに格納されている筆跡のデータを消去する（ステップＳ１１０１）。ステップＳ１１０１の処理後、ステップＳ２０２に戻る。
【００４１】
また、逐次ジェスチャーフラグをメモリに格納する図７に示した場合には、例えば、筆跡判定装置は図１２に示すフローチャートにしたがい処理を行う。上記と異なる点は、ステップＳ１１０１の処理を行った後にステップＳ７０３の処理に移ることだけである。
【００４２】
次に、文字列判定処理、１画ジェスチャー判定処理、逐次ジェスチャー判定処理での、判定モードについて図１３を参照して説明する。  
文字列判定処理での判定モードとは、例えば、認識対象文字種（判定できる文字種、例えば、ひらがなモード、カタカナモード、数字モード、アルファベットモードなど）を切り替えることなどを示す。１画ジェスチャー判定処理、逐次ジェスチャー判定処理での判定モードとは、判定できるジェスチャーの種類を切り替えることなどを示す。例えば、図１３のように、番組名や曲名などを検索する場合にモード切り替えは有効である。例えば、タップジェスチャー（図１３（４））の判定は、  
１．ペンダウンからペンアップまでの筆跡が、一定領域内にある。  
２．ペンダウンからペンアップまでの時間が、一定時間内である。  
の１かつ２を満たすかどうかで判定すればよい。
【００４３】
図１３では、図１３（３）から図１３（４）へ移動する時点で、文字列判定部１０２と１画ジェスチャー判定部１０３との判定モードを切り替える。すなわち、文字列判定部１０２では、文字を判定することが可能な状態から、文字を判定することが不可能な状態に切り替える。１画ジェスチャー判定部１０３では、タップジェスチャー判定不可能な状態から、タップジェスチャー判定可能な状態に切り替える。
【００４４】
また、図１３の例では、図１３（１）〜（３）ではモード切り替えはないが、図１３（３）から図１３（４）に移るときだけモード切り替えを行う。すなわち、逐次ジェスチャーの後だけモード切り替えを行う。モード切り替えは例えば、逐次ジェスチャー判定部１０４が行ってもよいし、図示しない制御部が行ってもよい。
【００４５】
この図１３を参照して説明した処理をするための筆跡判定装置の動作の一例について図１４を参照して説明する。  
ステップＳ２０９で、ステップＳ２０６で追跡している筆跡を取得して、この筆跡に対応する逐次ジェスチャーデータが逐次ジェスチャー辞書１０７に含まれている場合、逐次ジェスチャー判定部１０４がジェスチャーコードを出力し、ジェスチャーコードに対応するコマンドを実行した後に、例えば、逐次ジェスチャー判定部１０４がモード切り替え動作を行う（ステップＳ１４０１）。ステップＳ１４０１の処理後、ステップＳ２０２に戻る。 
以上に示した実施形態によれば、筆記途中であってもジェスチャーを入力することが、文字入力や１画単位のジェスチャー入力などのモードでも可能となる。例えば、文字入力や１画単位のジェスチャーだけではなく、筆記途中であってもジェスチャーの入力が文字入力と同じモードで入力可能となる。ユーザは判定結果を確認しながら逐次ジェスチャー入力を進めることができる。例えば、カーソル移動の場合、実際にカーソルの移動を確認しながらジェスチャー入力を行い、カーソルが所望の位置に到達したときにジェスチャー入力を終了すればよい。これにより、従来よりも使いやすいユーザーインターフェースが実現できる。逐次ジェスチャーについては、筆跡入力を継続しながら、同じジェスチャーを連続入力することや、別のジェスチャーに変更することができる。このことで、例えばカーソル移動の場合だと、ジェスチャー入力していて、カーソル位置が目指す位置を越えてしまったとしても、逆向きのカーソル移動ジェスチャーに変更することで、容易にカーソル位置を戻すことができる。
【００４６】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の筆跡判定装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の筆跡判定装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。  
また、記憶媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００４７】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【００４８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００４９】
【図１】本実施形態の筆跡判定装置のブロック図。
【図２】図１の動作の一例を示すフローチャート。
【図３】図１の逐次ジェスチャー判定部が判定する逐次ジェスチャーの一例を示す図。
【図４】図１の逐次ジェスチャー判定部が判定する逐次ジェスチャーの一例を示す図。
【図５】図３の逐次ジェスチャーの判定について説明するための図。
【図６】図２のステップＳ２０７の動作の一例を示すフローチャート。
【図７】図１の動作の一例を示すフローチャート。
【図８】図１の動作の一例を示すフローチャート。
【図９】図８のステップＳ８０１、ステップＳ８０２の動作の一例を示すフローチャート。
【図１０】逐次ジェスチャーを連続して入力する処理を説明するための図。
【図１１】図１０の処理の動作の一例を示すフローチャート。
【図１２】図１０の処理の動作の一例を示すフローチャート。
【図１３】判定処理での判定モードを説明するための図。
【図１４】図１３の処理の動作の一例を示すフローチャート。
【符号の説明】
【００５０】
１０１…筆跡入力部、１０２…文字列判定部、１０３…１画ジェスチャー判定部、１０４…逐次ジェスチャー判定部、１０５…文字列辞書、１０６…１画ジェスチャー辞書、１０７…逐次ジェスチャー辞書、１０８…筆跡表示部、１０９…音出力部。
【図１】
2008250374.tif 000003
【図２】
2008250374.tif 000004
【図３】
2008250374.tif 000005
【図４】
2008250374.tif 000006
【図５】
2008250374.tif 000007
【図６】
2008250374.tif 000008
【図７】
2008250374.tif 000009
【図８】
2008250374.tif 000010
【図９】
2008250374.tif 000011
【図１０】
2008250374.tif 000012
【図１１】
2008250374.tif 000013
【図１２】
2008250374.tif 000014
【図１３】
2008250374.tif 000015
【図１４】
2008250374.tif 000016