(57)【要約】【課題】手書き入力の操作性を向上させた入力装置を提供すること。【解決手段】ディスプレイに接触しているペン又はユーザーの指の位置を用いて、手書き入力を受け付ける手書き入力部と、前記手書き入力部が受け付けた前記手書き入力を手書きオブジェクトとして前記ディスプレイに表示する表示部と、を備え、第一の時間、前記手書きオブジェクトの変化が発生しなかった場合、前記手書きオブジェクトに基づいて１つ以上の操作コマンドを表示することを特徴とする入力装置２を提供する。【選択図】図３
2020064625.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイに接触しているペン又はユーザーの指の位置を用いて、手書き入力を受け付ける手書き入力部と、
前記手書き入力部が受け付けた前記手書き入力を手書きオブジェクトとして前記ディスプレイに表示する表示部と、を備え、
第一の時間、前記手書きオブジェクトの変化が発生しなかった場合、前記手書きオブジェクトに基づいて１つ以上の操作コマンドを表示することを特徴とする入力装置。
【請求項２】
前記第一の時間、前記手書きオブジェクトの変化が発生しなかった場合、前記手書きオブジェクトを含む手書きオブジェクト矩形領域を表示し、更に、前記手書きオブジェクトを操作コマンドとして認識した１つ以上の操作コマンド候補を表示し、
前記操作コマンド候補が第二の時間、選択されなかった場合、前記操作コマンド候補の表示を消去する操作を受け付けた場合、又は、前記手書きオブジェクトの変化が発生した場合、表示されている前記操作コマンド候補を消去し、
前記操作コマンド候補が選択される以外の条件で、前記操作コマンド候補の表示を消去した場合、前記手書きオブジェクトの表示を維持することを特徴とする請求項１に記載の入力装置。
【請求項３】
前記手書きオブジェクトを文字列として認識した１つ以上の文字列候補を表示し、
前記操作コマンド候補と前記文字列候補が前記第二の時間、選択されなかった場合、又は、前記操作コマンド候補と前記文字列候補の表示を消去する操作を受け付けた場合、前記操作コマンド候補と前記文字列候補の表示を消去し、
前記操作コマンド候補と前記文字列候補が選択される以外の条件で、前記操作コマンド候補と前記文字列候補の表示が消去された場合、前記手書きオブジェクトの表示を維持することを特徴とする請求項２に記載の入力装置。
【請求項４】
前記文字列候補として文字、数字、記号、又は、図形を表示し、
文字、数字、記号、又は、図形と共に、前記操作コマンドを表示することを特徴とする請求項３に記載の入力装置。
【請求項５】
前記操作コマンドに対応付けられた変数を置き換える定数を記憶しており、
前記手書きオブジェクトから認識した前記操作コマンドに対応付けられた変数を前記定数で置き換え、
前記変数が前記定数で置き換えられた前記操作コマンドを実行することを特徴とする請求項１〜４のいずれか１項に記載の入力装置。
【請求項６】
ユーザーを認証するユーザー認証手段を有し、
前記ユーザー認証手段が認証に成功した場合、認証に成功したユーザーに関する情報を前記定数に設定し、
認識した前記操作コマンドに対応付けられた変数を前記ユーザーに関する情報で置き換え、
前記変数が前記ユーザーに関する情報で置き換えられた前記操作コマンドを実行することを特徴とする請求項５に記載の入力装置。
【請求項７】
すでに手書きされている確定オブジェクトの位置情報と、前記手書きオブジェクトが所定の関係にある場合、前記手書きオブジェクトと所定の関係にある前記確定オブジェクトに関する前記操作コマンドを認識することを特徴とする請求項１〜６のいずれか１項に記載の入力装置。
【請求項８】
前記手書きオブジェクトと所定の関係にある前記確定オブジェクトを編集又は修飾する前記操作コマンドを認識することを特徴とする請求項７に記載の入力装置。
【請求項９】
すでに手書きされている複数の確定オブジェクトのそれぞれの位置情報と、１つの前記手書きオブジェクトが所定の関係にある場合、
１つの前記手書きオブジェクトと所定の関係にある複数の前記確定オブジェクトに関する前記操作コマンドを認識することを特徴とする請求項７又は８に記載の入力装置。
【請求項１０】
すでに手書きされている確定オブジェクトと前記手書きオブジェクトが所定の重なり率以上又は重なり率より大きく、重なっている場合、すでに手書きされている確定オブジェクトの位置情報と、前記手書きオブジェクトが前記所定の関係にあると判定することを特徴とする請求項７〜９のいずれか１項に記載の入力装置。
【請求項１１】
複数の前記操作コマンドを表示する場合、１つ以上の前記操作コマンドとサブメニューボタンを表示し、
前記サブメニューボタンの操作に応じて残りの前記操作コマンドを表示することを特徴とする請求項１〜１０のいずれか１項に記載の入力装置。
【請求項１２】
前記サブメニューボタンと共に表示される前記操作コマンドは、最後にユーザーが選択した前記操作コマンドであることを特徴とする請求項１１に記載の入力装置。
【請求項１３】
前記操作コマンド候補が選択される以外の条件は、前記操作コマンド候補の表示を消去する操作を受け付けた場合、又は、前記手書きオブジェクトの変化が発生した場合であることを特徴とする請求項２に記載の入力装置。
【請求項１４】
手書き入力部が、ディスプレイに接触しているペン又はユーザーの指の位置を用いて、手書き入力を受け付けるステップと、
表示部が、前記手書き入力部が受け付けた前記手書き入力を手書きオブジェクトとして前記ディスプレイに表示するステップと、
第一の時間、前記手書きオブジェクトの変化が発生しなかった場合、前記手書きオブジェクトに基づいて１つ以上の操作コマンドを表示するステップと、
を有することを特徴とする入力方法。
【請求項１５】
情報処理装置を、
ディスプレイに接触しているペン又はユーザーの指の位置を用いて、手書き入力を受け付ける手書き入力部と、
前記手書き入力部が受け付けた前記手書き入力を手書きオブジェクトとして前記ディスプレイに表示する表示部、として機能させ、
第一の時間、前記手書きオブジェクトの変化が発生しなかった場合、前記手書きオブジェクトに基づいて１つ以上の操作コマンドを表示するプログラム。
【請求項１６】
入力装置と情報処理システムとが通信する入力システムであって、
前記入力装置は、
ディスプレイに接触しているペン又はユーザーの指の位置を用いて、手書き入力を受け付ける手書き入力部と、
前記手書き入力部が受け付けた前記手書き入力を手書きオブジェクトとして前記ディスプレイに表示する表示部と、
前記手書き入力部が受け付けた前記ペン又はユーザーの指の位置を前記情報処理システムに送信して、前記情報処理システムから操作コマンド候補を受信する通信部と、を有し、
前記情報処理システムは、
第一の時間、前記手書きオブジェクトの変化が発生した旨の通知を受信しなかった場合、前記手書きオブジェクトに基づいて１つ以上の前記操作コマンド候補を前記入力装置に送信することを特徴とする入力システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力装置、入力方法、プログラム及び入力システムに関する。
【背景技術】
【０００２】
一般的なコンピュータ制御のホワイトボード装置又は手書き入力が可能なアプリケーション（以下、入力装置という）では、入力手段がペン又は指に限られている。このため、文字の色などを変更するペン機能と文字の消去などの編集機能をユーザーが切り替えて使えるように操作メニューが用意されている。通常、ペン機能メニューでは色や太さ等を選択でき、編集機能メニューでは消去、移動、変倍、回転、切り取り、コピー、貼り付け等を選択できる（例えば、特許文献１参照。）。
【０００３】
特許文献１には、ペンボタンの押下により、色設定、透明度設定、太さ設定、線種設定、スタンプ設定、及び動作設定のメニューが表示される入力装置について開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の入力装置では、手書き入力の操作性がよくない場合があるという問題があった。例えば、ユーザーが手書きしたオブジェクトを編集したり修飾したりしようとするたびにペン機能メニュー又は編集機能メニューを開く必要がある。開いた後には更に所望の設定又は機能（色、太さ、線種など）を選択する必要がある。
【０００５】
本発明は、上記課題に鑑み、手書き入力の操作性を向上させた入力装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題に鑑み、本発明は、ディスプレイに接触しているペン又はユーザーの指の位置を用いて、手書き入力を受け付ける手書き入力部と、前記手書き入力部が受け付けた前記手書き入力を手書きオブジェクトとして前記ディスプレイに表示する表示部と、を備え、第一の時間、前記手書きオブジェクトの変化が発生しなかった場合、前記手書きオブジェクトに基づいて１つ以上の操作コマンドを表示することを特徴とする入力装置を提供する。
【発明の効果】
【０００７】
手書き入力の操作性を向上させた入力装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】従来の手書き入力装置が表示する操作メニューを示す図である。
【図２】多機能なペンの一例を示す図である。
【図３】手書き入力装置が表示する操作コマンドの候補の表示例を説明する図の一例である。
【図４】手書き入力装置の一例の全体構成図である。
【図５】手書き入力装置の一例のハードウェア構成図である。
【図６】手書き入力装置が有する機能をブロック状に示す一例の機能ブロック図である。
【図７】手書き入力装置が有するユーザー認証に関する機能をブロック状に示す一例の機能ブロック図である。
【図８】定義済み制御データの一例を示す図である。
【図９】手書き認識辞書部の辞書データの一例を示す図である。
【図１０】文字列変換辞書部の辞書データの一例を示す図である。
【図１１】予測変換辞書部の辞書データの一例を示す図である。
【図１２】操作コマンド定義部が保持する操作コマンド定義データとシステム定義データの一例を示す図である。
【図１３】手書きオブジェクトにより選択された選択オブジェクトがある場合の操作コマンド定義データの一例を示す図である。
【図１４】選択オブジェクトがない場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。
【図１５】選択オブジェクトの指定例を説明する図の一例である。
【図１６】手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。
【図１７】手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。
【図１８】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その１）。
【図１９】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その２）。
【図２０】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その３）。
【図２１】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その４）。
【図２２】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その５）。
【図２３】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その６）。
【図２４】手書き入力システムのシステム構成図の一例である（実施例２）。
【図２５】情報処理システムのハードウェア構成図の一例である。
【図２６】手書き入力システムが有する機能をブロック状に示す機能ブロック図の一例である。
【図２７】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その１）。
【図２８】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その２）。
【図２９】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その３）。
【図３０】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その４）。
【図３１】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その５）。
【図３２】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その６）。
【図３３】手書き入力装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その７）。
【図３４】操作ガイドの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態の一例として、手書き入力装置２及び手書き入力装置２が行う手書き入力方法について図面を参照しながら説明する。
【００１０】
＜従来の手書き入力装置の操作手順について＞
本実施形態の手書き入力装置の説明の便宜上、まず、従来の手書き入力装置の操作手順について簡単に説明する。
【００１１】
図１は、従来の手書き入力装置が表示する操作メニューを示す。操作パネル全体１０１にはペン機能メニュー１０２を表示させるペン機能メニューボタン１０２１、編集機能メニューを表示させる編集機能メニューボタン１０３１、及び、入出力機能メニューを表示させる入出力機能メニューボタン１０４１等が表示されている。ペン機能メニュー１０２ではユーザーがペンの色、太さ、動作モードを選択でき、編集機能メニュー１０３では、オブジェクトの消去、選択、切り取り、コピー、及び貼り付けを選択でき、入出力機能メニュー１０４ではテンプレートの読み込み、ファイルの読み込み、ファイルへの保存、及び印刷等を実行できる。
【００１２】
従来の手書き入力装置の操作手順の一例として、ユーザーが直線又は曲線（以下、ストローク、と呼ぶ）を手書きしている状態で、複数のストロークを消去して、再びペンで書き始めるには、以下の操作手順が必要となる。なお、特に明記しない場合、ペンで押下するとはペン先で押下することを意味する。
(A1) 編集機能メニューボタン１０３１をペンで押下して編集機能メニュー１０３を表示する。
(A2) 編集機能メニュー１０３の「消去する」ボタン１０３２をユーザーが押下すると、手書き入力装置は自動的に編集機能メニュー１０３を消去する。
(A3) ユーザーが消去対象の複数のストロークを跨ぐようにペンで書き込むとストロークが消去される。
(A4) ペン機能メニューボタン１０２１をペンで押下する。
【００１３】
この手順で消去対象のストロークが消去され、引き続き、ユーザーはペンでストロークを手書きできるようになる。ストロークを消去するだけで４ステップもの操作手順が必要になる。ステップ数や画面の遷移に差異はあっても手書き入力装置は同様の操作体系であることが多い。またこのような操作体系はコンピュータ製品全般に共通しており、ユーザーが必要な機能を呼び出す操作体系が基本になっている。ユーザーが機能の呼び出し方法を知らなければ全く操作ができないため、チュートリアル機能やヘルプ機能によって、手書き入力装置が機能の呼び出し方法を提供する手法が一般的である。
【００１４】
同様に、ファイルや印刷などの入出力が必要になった場合、ユーザーは入出力機能メニュー１０４を開く。例えば、テンプレートを読み込むには、以下の操作手順が必要になる。
(B1) 入出力機能メニューボタン１０４１をユーザーがペンで押下すると入出力機能メニュー１０４が開く。
(B2) 入出力機能メニュー１０４の「テンプレート選択」ボタン１０４２をユーザーがペンで押下すると入出力機能メニューが閉じてテンプレート選択ウィンドウが開く。
(B3) 所望のテンプレートが表示されるまでスクロールさせるため左右ボタン等をペンで押下する。
(B4) 所望のテンプレートをペンで押下するとそのテンプレートが読み込まれてテンプレート選択ウィンドウが閉じる。
【００１５】
このように、従来の手書き入力装置ではユーザーがステップバイステップで操作する操作手順が必要となる。つまり、手書き入力装置が説明的に次のステップに導く操作体系が基本となっているため、ユーザーは直感的に操作することが困難であった。
【００１６】
図２に示すように、操作手順を減らすためにペン側に機能を持たせることも検討されている。図２は多機能なペン（以下、アクティブペン１１０という）の一例を示す。アクティブペン１１０とは電源を内蔵して手書き入力装置に命令を送信できるペンである。図２のアクティブペン１１０では、物理的なスイッチがペン先に一つ、ペン尻に一つ、ペン側面に二つあり、ペン先が筆記用、ペン尻が消去用、ペン側面はユーザー機能割り当て用である。
【００１７】
ユーザーはペン側面スイッチのうちの一つをペン機能メニュー１０２、もう一つを編集機能メニュー１０３に割り当てることができる。ユーザーが手に持ったアクティブペン１１０の側面ボタンを押すことによってペン機能メニュー１０２又は編集機能メニュー１０３を表示させることができる点で便利にはなるが、操作の対象となるオブジェクトを変更するたびにユーザーが側面ボタンを押下してペン機能メニュー１０２又は編集機能メニュー１０３を開く煩雑さは変わらない。
【００１８】
また、消去用のペン尻のスイッチを使用すると、前記の(A1)(A2)(A4)のステップが不要になり、前記の(A3)のステップでペン先の代わりにペン尻を使えばよく、消去に要する操作手順を１ステップに短縮できるが、アクティブペン１１０という特別なペンの購入と運用にコストがかかるという別の不都合を生じさせる。また、アクティブペン１１０は電池交換又は充電が必要になり、利用状況によっては紛失防止への対策も必要となる。
【実施例１】
【００１９】
＜概要＞
次に、図３を用いて、本実施形態の手書き入力装置２の概略について説明する。図３は、手書き入力装置２が表示する操作コマンドの候補（操作コマンド候補ともいう）の表示例を説明する図の一例である。図３（ａ）はユーザーが文字を手書きしたことにより表示される操作コマンドの候補を示し、図３（ｂ）は囲み線を手書きしたことにより表示される操作コマンドの候補を示す。まず、図３（ａ）について説明する。
【００２０】
Ａ．ユーザーが「ぎ」という手書きオブジェクト１１（ここでは文字）をペンで手書きすると、手書き入力装置２は文字認識を行い、「ぎ」に変換する。
【００２１】
Ｂ．手書き入力装置２は、更に、「ぎ」を漢字に変換する。図３（ａ）では一例として「議」に変換されているが、辞書に入っている漢字であれば変換可能である。
【００２２】
Ｃ．手書き入力装置２は、更に、「議」から予測される予測文字列に「議」を変換する。図３（ａ）では一例として「議事録」に変換されているが、辞書に入っている文字列であれば変換可能である。
【００２３】
Ｄ．手書き入力装置２は、「ぎ」「議」又は「議事録」を含む操作コマンドの候補を表示する。すなわち、「ぎ」「議」又は「議事録」に対応付けられた操作コマンドとして、入出力機能に関する「議事録テンプレートを読み込む」「議事録フォルダーに保存する」という操作コマンドの候補５１０を表示する。操作コマンドの候補は二つに限られない。操作コマンドの候補５１０が選択されると、手書き入力装置２は選択された操作コマンドに応じたファイルの入出力を実行する。
【００２４】
したがって、ユーザーとしては「ぎ」を手書きすることで、「議事録テンプレートを読み込む」又は「議事録フォルダーに保存する」という操作コマンドの候補５１０を表示させることができ、手書きしている状態から、図１に示した入出力機能を呼び出すことができる。
【００２５】
次に、図３（ｂ）について説明する。
【００２６】
Ｅ．ユーザーが「議事録」というすでに確定している確定オブジェクト１３を手書きオブジェクト１１（ここでは囲み線）で囲む。
【００２７】
Ｆ．手書き入力装置２は、手書きオブジェクト１１と確定オブジェクト１３が所定の基準を満たすか否か（例えば、重なっているか否か）を判定する。
【００２８】
Ｇ．手書きオブジェクト１１と確定オブジェクト１３が所定の基準を満たす場合、手書き入力装置２は編集系又は修飾系の操作コマンドの候補５１０を表示する。図３（ｂ）では、編集機能に関する「消去」「移動」「回転」「選択」という操作コマンドの候補５１０が表示されている。操作コマンドの候補５１０は四つに限られない。
【００２９】
したがって、ユーザーとしては確定オブジェクト１３を囲み線で囲むことで、確定オブジェクト１３を変更する操作コマンドの候補５１０を表示させることができ、手書きしている状態から編集機能を呼び出すことができる。
【００３０】
このように、本実施形態の手書き入力装置２は、ユーザーが手書きしている状態で入出力機能又は編集機能等を呼び出すことができる。ペン機能についても同様に呼び出すことができる。したがって、ユーザーが手書きしている状態から任意の機能を呼び出すまでの操作手順を低減できる。
【００３１】
＜用語について＞
入力手段とはタッチパネルに座標を指定して手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。また、視線入力が可能でもよい。
【００３２】
ユーザーがディスプレイに入力手段を押しつけてから連続的に移動させた後、ディスプレイから離すという一連の操作をストロークという。ストロークデータとは、入力手段により入力される座標の軌跡に基づいてディスプレイに表示される情報である。ストロークデータは適宜、補間されてよい。
【００３３】
ストロークデータに基づいてディスプレイに表示される表示物をオブジェクトという。オブジェクトとは対象という意味であるが、本実施形態では表示対象などの意味である。
【００３４】
手書きオブジェクトは１つ以上のストロークデータにより構成されるオブジェクトであり、ユーザーが手書きした表示対象をいう。手書きオブジェクト矩形領域は手書きオブジェクトを囲む外接矩形で示される領域である。
【００３５】
確定オブジェクトは手書きオブジェクトの文字認識により文字コード（フォント）に変換されユーザーにより選択されたオブジェクト、又は、文字コード（フォント）に変換しないことが確定している手書きオブジェクトである。
【００３６】
入力装置はタッチパネルに対する入力手段の接触位置に基づいて情報の入力を受け付ける装置である。本実施形態では手書き入力装置２という用語で説明する。
【００３７】
操作コマンドとは手書き入力装置２を操作するために用意されている、特定の処理の実行を指示する命令をいう。本実施形態では一例として、編集系、修飾系、又は、入出力系の操作コマンドを例にするが、画面反転、ページ切り替え、動作モードの設定など、手書き入力装置２を操作する全てのコマンドが対象となる。
【００３８】
＜装置の全体構成＞
図４を用いて、本発明の実施形態に係る手書き入力装置２の全体構成を説明する。図４は、手書き入力装置２の全体構成図を示した図である。ここでは、手書き入力装置２の一例として、電子黒板を示している。
【００３９】
図４に示されているように、手書き入力装置２の上部には表示装置の一例としてのディスプレイ２２０が設置されている。利用者は、ペン２５００を用いて、ディスプレイ２２０に文字等を入力（描画）することができる。
【００４０】
＜装置のハードウェア構成＞
続いて、図５を用いて、手書き入力装置２のハードウェア構成を説明する。手書き入力装置２は図示するように情報処理装置又はコンピュータの構成を有している。図５は、手書き入力装置２のハードウェア構成図の一例である。図５に示されているように、手書き入力装置２は、ＣＰＵ(Central Processing Unit)２０１、ＲＯＭ(Read Only Memory)２０２、ＲＡＭ(Random Access Memory)２０３、及び、ＳＳＤ(Solid State Drive)２０４を備えている。
【００４１】
これらのうち、ＣＰＵ２０１は、手書き入力装置２全体の動作を制御する。ＲＯＭ２０２は、ＣＰＵ２０１やＩＰＬ(Initial Program Loader)等のＣＰＵ２０１の駆動に用いられるプログラムを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。ＳＳＤ２０４は、手書き入力装置２用のプログラム等の各種データを記憶する。
【００４２】
また、手書き入力装置２は、ディスプレイコントローラ２１３、タッチセンサコントローラ２１５、タッチセンサ２１６、ディスプレイ２２０、及び、電源スイッチ２２２を備えている。
【００４３】
ディスプレイコントローラ２１３は、出力画像をディスプレイ２２０等へ出力するために画面表示の制御及び管理を行う。タッチセンサ２１６は、ディスプレイ２２０上にペン２５００やユーザーの手等（ペンやユーザーの手は入力手段となる）が接触したことを検知する。タッチセンサコントローラ２１５は、タッチセンサ２１６の処理を制御する。タッチセンサ２１６は、座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、例えば、光学式の場合、ディスプレイ２２０の上側両端部に設置された２つ受発光装置が、ディスプレイ２２０に平行して複数の赤外線を放射し、ディスプレイ２２０の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。タッチセンサ２１６は、物体によって遮断された２つの受発光装置が放射した赤外線の位置情報をタッチセンサコントローラ２１５に出力し、タッチセンサコントローラ２１５が、物体の接触位置である座標位置を特定する。
【００４４】
電源スイッチ２２２は、手書き入力装置２の電源のＯＮ／ＯＦＦを切り換えるためのスイッチである。
【００４５】
更に、手書き入力装置２は、バスライン２１０を備えている。バスライン２１０は、図５に示されているＣＰＵ２０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【００４６】
なお、タッチセンサ２１６は、光学式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する２つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いてもよい。タッチセンサ２１６は、ペン先のタッチの有無を検知するのに電子ペンが必要ない方式であってよい。この場合はタッチ操作をするのに指先やペン型の棒を使用できる。なお、ペン２５００は、細長いペン型である必要はない。
【００４７】
＜装置の機能について＞
次に、図６を用いて、手書き入力装置２が有する機能について説明する。図６は手書き入力装置２が有する機能をブロック状に示す機能ブロック図の一例である。手書き入力装置２は、手書き入力部２１、表示部２２、手書き入力表示制御部２３、候補表示タイマー制御部２４、手書き入力保存部２５、手書き認識制御部２６、手書き認識辞書部２７、文字列変換制御部２８、文字列変換辞書部２９、予測変換制御部３０、予測変換辞書部３１、操作コマンド認識制御部３２、及び、操作コマンド定義部３３を備えている。手書き入力装置２が有する各機能は、図５に示されている各構成要素のいずれかが、ＳＳＤ２０４からＲＡＭ２０３上に展開されたプログラムに従ったＣＰＵ２０１からの命令によって動作することで実現される機能又は手段である。
【００４８】
手書き入力部２１はタッチセンサ２１６等により実現されており、ユーザーによる手書き入力を受け付ける。手書き入力部２１はユーザーのペン入力ｄ１をペン操作データｄ２（ペンアップ、ペンダウン、又はペン座標データ）に変換し、手書き入力表示制御部２３に送信する。ペン座標データは離散値として定期的に送信され、離散値間の座標は補完計算される。
【００４９】
表示部２２はディスプレイ２２０等により実現され、手書きされたオブジェクトや操作メニューを表示する。表示部２２は手書き入力表示制御部２３がビデオメモリーに書き込んだ描画データｄ３をディスプレイ２２０の特性に応じたデータに変換し、ディスプレイ２２０に送信する。
【００５０】
手書き入力表示制御部２３は手書き入力と表示に関する全体的な制御を行う。手書き入力表示制御部２３は手書き入力部２１からのペン操作データｄ２を処理し、表示部２２に送信することで表示させる。ペン操作データｄ２の処理及びストロークの表示の詳細は後述の図１８〜図２３にて説明する。
【００５１】
候補表示タイマー制御部２４は、選択可能候補の表示制御タイマーである。タイマーを開始又は停止して選択可能候補の表示を開始するタイミングと表示を消去するタイミングを生成する。候補表示タイマー制御部２４は手書き入力表示制御部２３からタイマー開始要求ｄ４（タイマー停止要求の場合もある）を受信し、タイムアウトイベントｄ５を手書き入力表示制御部２３に送信する。
【００５２】
手書き入力保存部２５はユーザーデータ（手書きオブジェクト/文字列オブジェクト）を保存しておくストレージの機能を有する。手書き入力保存部２５は手書き入力表示制御部２３からユーザーデータｄ６−１を受信し、手書き入力保存部２５に保存し、手書き入力表示制御部２３から取得要求ｄ６−２を受け取って、手書き入力保存部２５に保存されたユーザーデータｄ７を送信する。手書き入力保存部２５は、確定オブジェクトの位置情報ｄ３６を操作コマンド認識制御部３２に送信する。
【００５３】
手書き認識制御部２６はオンライン手書き認識を行う認識エンジンである。一般的なＯＣＲ(Optical Character Reader)とは異なり、ユーザーのペン操作と並行して文字（日本語だけでなく英語などの多国語）、数字、記号（％、＄、＆など）、図形（線、丸、三角など）等を認識していく。認識方法については様々なアルゴリズムが考案されているが、本実施形態では公知の技術を利用できるとして詳細を割愛する。
【００５４】
手書き認識制御部２６はペン操作データｄ８−１を手書き入力表示制御部２３から受信し、手書き認識を実行して手書き認識文字列候補を保持する。また、手書き認識制御部２６は手書き認識辞書部２７を使用して手書き認識文字列候補ｄ１２から変換した言語文字列候補を保持しておく。別途、取得要求ｄ８−２を手書き入力表示制御部２３から受信した場合、手書き認識制御部２６は保持している手書き認識文字列候補及び言語文字列候補ｄ９を手書き入力表示制御部２３に送信する。
【００５５】
手書き認識辞書部２７は手書き認識の言語変換用の辞書データである。手書き認識辞書部２７は手書き認識文字列候補ｄ１２を手書き認識制御部２６から受信し、言語的に確からしい言語文字列候補ｄ１３に変換して手書き認識制御部２６に送信する。例えば、日本語の場合は、平仮名を漢字や片仮名へ変換する。
【００５６】
文字列変換制御部２８は変換文字列候補の文字列への変換を制御する。変換文字列とは手書き認識文字列又は言語文字列を含んで生成される可能性が高い文字列である。文字列変換制御部２８は手書き認識文字列及び言語文字列候補ｄ１１を手書き認識制御部２６から受信し、文字列変換辞書部２９を使用して変換文字列候補に変換して保持しておく。別途、取得要求ｄ１４を手書き入力表示制御部２３から受信した場合、保持している変換文字列候補ｄ１５を手書き入力表示制御部２３に送信する。
【００５７】
文字列変換辞書部２９は文字列変換用の辞書データである。文字列変換辞書部２９は文字列変換制御部２８から手書き認識文字列及び言語文字列候補ｄ１７を受信し、変換文字列候補ｄ１８を文字列変換制御部２８に送信する。
【００５８】
予測変換制御部３０は手書き認識文字列及び言語文字列候補ｄ１０を手書き認識制御部２６から受信し、変換文字列候補ｄ１６を文字列変換制御部２８から受信し、それぞれについて予測変換辞書部３１を使用して予測文字列候補に変換しておく。予測文字列候補とは手書き認識文字列、言語文字列又は変換文字列を含んで生成される可能性が高い文字列である。別途、取得要求ｄ１９を手書き入力表示制御部２３から受信した場合、予測文字列候補ｄ２０を手書き入力表示制御部２３に送信する。
【００５９】
予測変換辞書部３１は予測変換用の辞書データである。予測変換辞書部３１は手書き認識文字列及び言語文字列候補と変換文字列候補ｄ２１を予測変換制御部３０から受信し、予測文字列候補ｄ２２を予測変換制御部３０に送信する。
【００６０】
操作コマンド認識制御部３２は手書き認識文字列及び言語文字列候補ｄ３０を手書き認識制御部２６から受信し、変換文字列候補ｄ２８を文字列変換制御部２８から受信し、予測文字列候補ｄ２９を予測変換制御部３０から受信する。そして、それぞれについて操作コマンド変換要求ｄ２６を操作コマンド定義部３３に送信し、操作コマンド定義部３３から操作コマンドの候補ｄ２７を受信する。操作コマンド認識制御部３２は操作コマンドの候補ｄ２７を保持しておく。
【００６１】
操作コマンド定義部３３は操作コマンド変換要求ｄ２６が操作コマンド定義と部分一致している場合は操作コマンドの候補ｄ２７を操作コマンド認識制御部３２に送信する。
【００６２】
また、操作コマンド認識制御部３２はペン操作データｄ２４−１を手書き入力表示制御部２３から受信し、過去に入力され確定した確定オブジェクトの位置情報取得要求ｄ２３を手書き入力保存部２５に送信し、ペン操作データが指定している確定オブジェクトを選択オブジェクト（位置情報を含む）として保持しおく。操作コマンド認識制御部３２はペン操作データｄ２４−１の位置と所定の基準を満たす選択オブジェクトを特定する。別途、取得要求ｄ２４−２を手書き入力表示制御部２３から受信した場合、保持している操作コマンドの候補と特定した選択オブジェクトｄ２５を手書き入力表示制御部２３に送信する。
【００６３】
＜ユーザー認証について＞
本実施形態ではユーザー認証の結果を用いた制御が行われるため、手書き入力装置２がユーザー認証する機能を有することが好ましい。このため、図７を用いてユーザー認証に関する機能について説明する。
【００６４】
図７は、手書き入力装置２が有するユーザー認証に関する機能をブロック状に示す図である。なお、図７ではユーザー認証部３４（ユーザー認証手段）と関連する機能として手書き入力表示制御部２３のみを示したが、ユーザーの認証結果は図６に示した各機能が利用できてよい。
【００６５】
認証情報取得部３５はユーザーから認証情報ｄ３１を取得する。認証情報ｄ３１はＩＣカードのカード番号、ユーザーＩＤとパスワード、又は、指紋などの生体情報などでよい。ユーザー認証部３４は認証情報ｄ３２を認証情報取得部３５から取得して、認証情報ｄ３３をユーザー情報ＤＢ３６で検索する。検索に適合するユーザーが存在する場合はユーザー情報ｄ３４をユーザー情報ＤＢ３６から取得する。ユーザー情報はユーザーの属性を表す情報であればよく、例えば、ユーザー名、パスワード、ユーザーのコンピュータ名、部署、権限、などでよい。
【００６６】
ユーザー認証部３４はユーザー情報ｄ３５を手書き入力表示制御部２３に送信するので、手書き入力表示制御部２３はユーザー情報を用いて操作コマンドを実行できるようになる。ユーザー情報を用いた操作コマンドに関しては図１２にて説明される。
【００６７】
なお、認証機能は手書き入力装置２が有する他、外部の認証サーバ等が有していてもよい。この場合、手書き入力装置２は認証情報を認証サーバに送信し、認証結果とユーザー情報を取得する。
【００６８】
＜定義済み制御データについて＞
次に、図８を用いて、手書き入力装置２が各種の処理に使用する定義済み制御データについて説明する。図８は定義済み制御データの一例を示す。図８の例では制御項目ごとに制御データを示す。
【００６９】
選択可能候補表示タイマー４０１は、選択可能候補を表示するまでの時間を定義する（第一の時間の一例）。手書き中に選択可能候補を表示しないためである。図８では、ペンアップからTimerValue＝５００〔ms〕以内にペンダウンが発生しなければ選択可能候補が表示されることを意味している。選択可能候補表示タイマー４０１は候補表示タイマー制御部２４が保持している。選択可能候補表示タイマー４０１は、後述する図２０のステップS4.8において選択可能候補表示タイマー開始時に使用される。
【００７０】
選択可能候補消去タイマー４０２は表示した選択可能候補を消去するまでの時間を定義する（第二の時間の一例）。ユーザーが選択可能候補を選択しない場合に選択可能候補を消去するためである。図８では、選択可能候補の表示からTimerValue＝５０００〔ms〕以内に選択可能候補が選択されなければ選択可能候補表示が消去されることを意味している。選択可能候補消去タイマー４０２は候補表示タイマー制御部２４が保持している。選択可能候補消去タイマー４０２は図２１のステップS4.8.1.8において選択可能候補表示消去タイマー開始時に使用される。
【００７１】
手書きオブジェクト近傍矩形領域４０３は手書きオブジェクトの近傍をみなす矩形領域を定義する。図８の例では、手書きオブジェクト近傍矩形領域４０３は、手書きオブジェクトの矩形領域を水平方向に推定文字サイズの50%(Horizontal)拡大し、垂直方向に推定文字サイズの80%(Vertical)拡大した矩形領域となる。図８の例では推定文字サイズの割合（％指定）となっているが、単位を"mm"等とすれば固定長にすることも可能である。手書きオブジェクト近傍矩形領域４０３は手書き入力保存部２５が保持している。推定文字サイズ４０５は図１９のステップS4.2において、手書きオブジェクト近傍矩形領域とストローク矩形領域の重なり状況の判定で使用される。
【００７２】
推定書字方向/文字サイズ判定条件４０４は、書字方向と文字サイズの測定方向を判定するための定数を定義する。図８の例では、手書きオブジェクト矩形領域の最初にストロークが追加された時刻と最後にストロークが追加された時刻の差分がMinTime＝1000〔ms〕以上で、手書きオブジェクト矩形領域の水平距離（幅）と垂直距離（高さ）の差分がMinDiff＝10〔mm〕以上あり、水平距離が垂直距離より長い場合は、推定書字方向は「横書き」、推定文字サイズは垂直距離と判定することを意味する。水平距離が垂直距離より短い場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定することを意味する。以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは水平距離と垂直距離の長い方の距離と判定する。推定書字方向/文字サイズ判定条件４０４は手書き入力保存部２５が保持している。推定書字方向/文字サイズ判定条件４０４は図２１のステップS4.8.1.5における推定書字方向取得と、ステップS7.8における文字列オブジェクトフォント取得で使用される。
【００７３】
推定文字サイズ４０５は文字等のサイズを推定するためのデータを定義する。図８の例では、推定書字方向/文字サイズ判定条件４０４で判定された推定文字サイズが、推定文字サイズ４０５の小さめ文字４０５ａ（以下、最小フォントサイズ、と呼ぶ）と大きめ文字４０５ｃ（以下、最大フォントサイズ）と比較されることを意味する。推定文字サイズが最小フォントサイズより小さい場合、推定文字サイズは最小フォントサイズと判定される。推定文字サイズが最大フォントサイズより大きい場合、推定文字サイズは最大フォントサイズと判定される。それ以外は、中くらい文字４０５ｂの文字サイズと判定される。推定文字サイズ４０５は手書き入力保存部２５が保持している。推定文字サイズ４０５は、図２３のステップS7.8における文字列オブジェクトフォント取得で使用される。
【００７４】
手書き入力保存部２５は具体的には、推定書字方向/文字サイズ判定条件４０４で判定された推定文字サイズを推定文字サイズ４０５のFontSizeと比較して、最も近いサイズのフォントを使用する。例えば、推定文字サイズが25〔mm〕(小さめ文字のFontSize)以下の場合は「小さめ文字」、推定文字サイズが25mm超50mm(中くらい文字のFontSize)以下の場合は「中くらい文字」、推定文字サイズが100mm(大きめ文字のFontSize)超の場合は「大きめ文字」と判定する。「小さめ文字」４０５ａは明朝体の25mmフォント(FontStyle="明朝体" FontSize="25mm")、「中くらい文字」４０５ｂは明朝体の50mmフォント(FontStyle="明朝体" FontSize="50mm")、「大きめ文字」４０５ｃはゴシック体の100mmフォント(FontStyle="ゴシック体" FontSize="100mm")を使用する。もっとフォントのサイズ又はスタイルの種類を増やしたい場合は、推定文字サイズ４０５の種類を増やせばよい。
【００７５】
跨ぎ線判定条件４０６は複数のオブジェクトが選択されたか否かの判定に使用されるデータを定義する。手書きオブジェクトが単数のストロークであり、図８の例では、手書きオブジェクトの長辺の長さが100〔mm〕以上(MinLenLongSide="100mm")、かつ、短辺の長さが50〔mm〕以下(MaxLenShortSide="50mm")、かつ、手書きオブジェクトとの長辺方向と短辺方向の重なり率が80〔%〕以上(MinOverLapRate="80%")のオブジェクトがあれば（所定の重なり率以上）、複数のオブジェクトが選択された（選択オブジェクト）と判定する。「以上」でなく重なり率が「より大きいか否か」を判定してもよい。跨ぎ線判定条件４０６は操作コマンド認識制御部３２が保持している。跨ぎ線判定条件４０６は図２０のステップS4.7.6.2における選択オブジェクトの判定の跨ぎ線判定で使用される。
【００７６】
囲み線判定条件４０７は、オブジェクトが囲み線か否かの判定に使用されるデータを定義する。図８の例では、操作コマンド認識制御部３２は手書きオブジェクトの長辺方向と短辺方向の重なり率が100%以上(MinOverLapRate="100%")の確定オブジェクトを選択オブジェクトと判定する（所定の重なり率以上）。「以上」でなく重なり率が「より大きいか否か」を判定してもよい。囲み線判定条件４０７は、操作コマンド認識制御部３２が保持している。囲み線判定条件４０７は、図２０のステップS4.6.7.2における選択オブジェクトの判定の囲み線判定で使用される。
【００７７】
なお、跨ぎ線判定条件４０６と囲み線判定条件４０７はどちらが優先して判定されてもよい。例えば、跨ぎ線判定条件４０６を緩やかにして（跨ぎ線を選択しやすくした場合）、囲み線判定条件４０７は厳密にした場合（囲み線のみを選択できるような値とした場合）、操作コマンド認識制御部３２は囲み線判定条件４０７を優先して判定するのがよい。
【００７８】
＜辞書データの一例＞
図９〜図１１を用いて辞書データについて説明する。図９は手書き認識辞書部２７の辞書データの一例であり、図１０は文字列変換辞書部２９の辞書データの一例であり、図１１は予測変換辞書部３１の辞書データの一例である。なお、これらの辞書データはそれぞれ図２０のステップS4.7.2〜S4.7.4で使用される。
【００７９】
本実施形態では、図９の手書き認識辞書部２７の辞書データによる変換結果を言語文字列候補、図１０の文字列変換辞書部２９の辞書データによる変換結果を変換文字列候補、図１１の予測変換辞書部３１の辞書データによる変換結果を予測文字列候補と呼ぶ。各辞書データの「変換前」は辞書データを検索する文字列、「変換後」は検索する文字列に対応した変換後の文字列、「確率」はユーザーが選択する確率を表す。確率は過去にユーザーが各文字列を選択した結果から算出されている。したがって、ユーザーごとに確率が算出されてもよい。確率の計算方法として様々なアルゴリズムが考案されているが、適宜、適切な方法で計算するものとすればよく、詳細は割愛する。本実施形態では、推定書字方向から文字列候補を選択確率降順で表示することを特徴とする。
【００８０】
図９の手書き認識辞書部２７の辞書データでは、手書きされた「ぎ」は、確率0.55で「議」、確率0.4で「技」、手書きされた「ぎし」は、確率0.5で「技士」、確率0.45で「技師」に変換されることを示す。その他の「変換前」の文字列についても同様である。図９では「変換前」の文字列が手書きされた平仮名となっているが、平仮名以外を「変換前」に登録してもよい。
【００８１】
図１０の文字列変換辞書部２９の辞書データでは、文字列「議」は確率0.95で「議事録」に、文字列「技」は確率0.85で「技量試」に変換されることを示す。その他の「変換前」の文字列についても同様である。
【００８２】
図１１の予測変換辞書部３１の辞書データでは、文字列「議事録」は確率0.65で「議事録の送付先」に、文字列「技量試」は確率0.75で「技量試を決裁」に変換されることを示す。図１１の例では変換前の文字列がすべて漢字になっているが、漢字以外を登録してもよい。
【００８３】
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。
【００８４】
＜操作コマンド定義部が保持する操作コマンド定義データ＞
次に、図１２、図１３を用いて操作コマンド認識制御部３２が使用する操作コマンド定義データについて説明する。図１２は、操作コマンド定義部３３が保持する操作コマンド定義データとシステム定義データの一例を示す。
【００８５】
図１２（ａ）は操作コマンド定義データの一例を示す。図１２（ａ）の操作コマンド定義データは、手書きオブジェクトにより選択された選択オブジェクトがない場合の操作コマンド定義データ例であり、手書き入力装置２を操作する全ての操作コマンドが対象となる。図１２（ａ）の操作コマンドは操作コマンド名(Name)、文字列候補と部分一致する文字列(String)、実行する操作コマンド文字列(Command)を有する。操作コマンド文字列内の「%〜%」は変数であり、図１２（ｂ）に示すようにシステム定義データと対応付けられている。つまり、「%〜%」は図１２（ｂ）に示すシステム定義データで置き換えられる。
【００８６】
まず、操作コマンド定義データ７０１は、操作コマンド名が「議事録テンプレートを読み込む」、文字列候補と部分一致する文字列が「議事録」又は「テンプレート」、実行する操作コマンド文字列が「ReadFile https://%username%:%password%@server.com/template/minutes.pdf」であることを示す。この例では、実行する操作コマンド文字列に「%〜%」のシステム定義データが含まれており「%username%」「%password%」はそれぞれシステム定義データ７０４、７０５で置き換えられることを示す。したがって、最終的に実行する操作コマンド文字列は「ReadFile https://taro.tokkyo:x2PDHTyS@server.com/template/minutes.pdf」という文字列となり、「https://taro.tokkyo:x2PDHTyS@server.com/template/minutes.pdf」というファイルを読み込む(ReadFile)ことを示す。
【００８７】
操作コマンド定義データ７０２は、操作コマンド名が「議事録フォルダーに保存する」、文字列候補と部分一致する文字列が「議事録」又は「保存」、実行する操作コマンド文字列が「WriteFile https://%username%:%password%@server.com/minutes/%machinename%_%yyyy−mm−dd%.pdf」であることを示す。操作コマンド定義データ７０１と同様に、操作コマンド文字列の「%username%」「%password%」「%machinename%」はそれぞれシステム定義データ７０４〜７０６で置き換えられる。なお、「%yyyy−mm−dd%」は現在日で置き換えることを示す。例えば、現在日が2018年9月26日であれば「2018−09−26」で置き換えることを示す。最終的に実行する操作コマンドは「WriteFile https://taro.tokkyo:x2PDHTyS@server.com/minutes/%My−Machine_2018−09−26.pdf」となり、議事録を「https://taro.tokkyo:x2PDHTyS@server.com/minutes/%My−Machine_2018−09−26.pdf」というファイルに保存する(WriteFile)ことを示す。
【００８８】
操作コマンド定義データ７０３は、操作コマンド名が「印刷する」、文字列候補と部分一致する文字列が「印刷」又は「プリント」、実行する操作コマンド文字列が「PrintFile https://%username%:%password%@server.com/print/%machinename%−"%yyyy−mm−dd%.pdf」であることを示す。操作コマンド定義データ７０２と同様に操作コマンド文字列を置き換えると、最終的に実行する操作コマンドは「PrintFile https://taro.tokkyo:x2PDHTyS@server.com/print/%My−Machine_2018−09−26.pdf」となり、「https://taro.tokkyo:x2PDHTyS@server.com/print/%My−Machine_2018−09−26.pdf」というファイルを印刷する(PrintFile)ことを示す。つまり、ファイルがサーバに送信される。ユーザーがプリンターをサーバと通信させ、ファイルを指定するとプリンターが用紙にファイルの内容を印刷する。
【００８９】
このように、文字列候補から操作コマンド定義データ７０１〜７０３を特定できるため、ユーザーが手書きすることで操作コマンドを表示させることができる。また、ユーザーの認証が成功した場合にはユーザー情報で操作コマンド定義データの「%username%」「%password%」等が置き換えられるので、ユーザーに対応付けてファイルの入出力が可能になる。
【００９０】
ユーザーの認証が行われない場合（認証が失敗したがユーザーが手書き入力装置２を使用できる場合は認証失敗の場合も含む）、手書き入力装置２は、予め設定されている手書き入力装置２の「%username%」「%password%」等に置き換える。したがって、ユーザー認証なしでも手書き入力装置２に対応付けてファイルの入出力が可能になる。
【００９１】
続いて、手書きオブジェクトがある場合の操作コマンド定義データ、つまり編集系及び修飾系の操作コマンド定義データについて説明する。図１３は手書きオブジェクトにより選択された選択オブジェクトがある場合の操作コマンド定義データの一例を示す。図１３の操作コマンド定義データは、操作コマンド名(Name)、操作コマンドの候補のグループ名(Group)、実行する操作コマンド文字列(Command)を有する。
【００９２】
操作コマンド定義データ７０７は編集系(Group="Edit")の操作コマンドを定義しており、編集系の操作コマンド名「消去」「移動」「回転」「選択」の定義データ例である。つまり、選択オブジェクトに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。
【００９３】
操作コマンド定義データ７０８は修飾系(Group="Decorate")の操作コマンドを定義しており、修飾系の操作コマンド名「太く」「細く」「大きく」「小さく」「下線」の定義データ例である。選択オブジェクトに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。この他、色の操作コマンドが表示されてもよい。
【００９４】
したがって、ユーザーが選択オブジェクトを手書きオブジェクトで選択することで、操作コマンド定義データ７０７、７０８が特定されるため、ユーザーが手書きすることで操作コマンドを表示させることができる。
【００９５】
＜操作コマンドの候補の表示例＞
図１４は図１２（ａ）の操作コマンド定義データ（選択オブジェクトがない場合）に基づく操作コマンドの候補の表示例を示す。操作コマンドの候補の表示手順については図１８〜図２３のシーケンス図にて詳細に説明する。
【００９６】
図１４は操作ガイド５００と操作ガイド５００が表示する選択可能候補５３０の一例である。ユーザーが手書きオブジェクト５０４を手書きすることで（選択可能候補表示タイマーのタイムアウトにより）、操作ガイド５００が表示される。操作ガイド５００は、操作ヘッダー５２０、操作コマンドの候補５１０、手書き認識文字列候補５０６、変換文字列候補５０７、予測文字列候補５０８、及び、手書きオブジェクト矩形領域表示５０３を有している。選択可能候補５３０は、操作コマンドの候補５１０、手書き認識文字列候補５０６（言語文字列候補５７１がある場合はこれも含む）、変換文字列候補５０７、及び、予測文字列候補５０８である。また、操作コマンドの候補５１０を除く選択可能候補５３０を文字列候補５３９という。
【００９７】
操作ヘッダー５２０はボタン５０１、５０９、５０２、５０５を有する。ボタン５０１は予測変換のオンとオフの切り替え操作を受け付ける。図１４の例ではユーザーが「予測」と表示されているボタン５０１を押下すると手書き入力部２１がそれを受け付けて手書き入力表示制御部２３にその旨を通知し、表示部２２が「かな」というボタン５０１に表示を変更する。変更後は予測変換が行われず（変換文字列候補５０７、予測文字列候補５０８が表示されず）、操作コマンドの候補５１０、手書き認識文字列候補５０６、及び、言語文字列候補（カナ漢字変換された例えば議などの漢字）が表示される。
【００９８】
ボタン５０２は候補表示のページ操作をする。図１４の例では候補表示ページは３ページあり、現在は１ページ目を表示している。ボタン５０５は操作ガイド５００の消去を受け付ける。ユーザーがボタン５０５を押下すると手書き入力部２１が受け付けて手書き入力表示制御部２３にその旨を通知し、表示部２２が手書きオブジェクト以外の表示を消去する。ボタン５０９は一括表示消去を受け付ける。ユーザーがボタン５０９を押下すると手書き入力部２１が受け付けて手書き入力表示制御部２３にその旨を通知し、表示部２２が手書きオブジェクトを含め、図１４に示されているすべての表示を消去して、ユーザーが最初から手書きをしなおすことを可能にする。
【００９９】
図１４において手書きオブジェクト５０４はユーザーが手書きした「ぎ」という文字である。手書きオブジェクト５０４を囲む手書きオブジェクト矩形領域表示５０３が表示される。表示の手順は図１８〜図２３のシーケンス図で説明する。図１４の例では点線枠で手書きオブジェクト矩形領域表示５０３が表示されている。
【０１００】
手書き認識文字列候補５０６、変換文字列候補５０７、予測文字列候補５０８にはそれぞれの文字列候補が確率降順で並んでいる。手書き認識文字列候補５０６の「ぎ」は認識結果の候補である。この例では正しく「ぎ」を認識している。
【０１０１】
変換文字列候補５０７は言語文字列候補から変換された文字列候補である。この例の「技量試」とは「技術量産試作」の略名である。予測文字列候補５０８は手書き認識文字列、言語文字列候補又は変換文字列候補から変換された予測文字列候補である。この例では「技量試を決裁」と「議事録の送付先」が表示されている。
【０１０２】
操作コマンドの候補５１０は図１１（ａ）の操作コマンド定義データ７０１〜７０３に基づいて選択された操作コマンドの候補である。図１４の例では行頭文字の「》」５１１が操作コマンドの候補であることを示している。図１４では手書きオブジェクト５０４である「ぎ」が選択する選択データがなく、「ぎ」の文字列候補である「議事録」が、図１１（ａ）の操作コマンド定義データ７０１，７０２と部分一致したため、操作コマンドの候補５１０として表示されている。
【０１０３】
ユーザーが「議事録テンプレートを読み込む」を選択すると、操作コマンド定義データ７０１で定義された操作コマンドが実行され、「議事録フォルダーに保存する」を選択すると、操作コマンド定義データ７０２で定義された操作コマンドが実行される。このように操作コマンドの候補は、変換された文字列を含む操作コマンド定義データが見つかる場合に表示されるため、常に表示されるとは限らない。
【０１０４】
図１４に示すように、文字列候補と操作コマンドの候補が同時に（共に）表示されるため、ユーザーは自分が入力しようとした文字列候補と操作コマンドのどちらも任意に選択できる。
【０１０５】
＜選択オブジェクトの指定例＞
本実施形態の手書き入力装置２は確定オブジェクトをユーザーが手書きにより選択することで選択オブジェクトを指定できる。選択オブジェクトは編集又は修飾の対象となる。
【０１０６】
図１５は、選択オブジェクトの指定例を説明する図の一例である。図１５では、手書きオブジェクト１１は黒色実線、手書きオブジェクト矩形領域１２を灰色網掛け、確定オブジェクト１３を黒線、選択オブジェクト矩形領域１４を点線でそれぞれ表示している。なお、それぞれを区別する場合に小文字のアルファベットを符号に付加する。また、確定オブジェクトを選択オブジェクトと判定するための判定条件（所定の関係にあるか否か）として、図８に示した定義済み制御データの跨ぎ線判定条件４０６又は囲み線判定条件４０７を使用している。
【０１０７】
図１５（ａ）は横書きの２つの確定オブジェクト１３ａ、１３ｂをユーザーが跨ぎ線（手書きオブジェクト１１ａ）で指定した例である。この例では、手書きオブジェクト矩形領域１２ａの短辺の長さＨ１と長辺の長さＷ１が跨ぎ線判定条件４０６の条件を満たしており、確定オブジェクト１３ａ、１３ｂとの重なり率が跨ぎ線判定条件４０６の条件を満たしているため、「議事録」と「ぎじ」の両方の確定オブジェクト１３ａ、１３ｂが選択オブジェクトとして指定されている。
【０１０８】
図１５（ｂ）は横書きの確定オブジェクト１３ｃを囲み線（手書きオブジェクト１１ｂ）で指定した例である。この例では、確定オブジェクト１３ｃと手書きオブジェクト矩形領域１２ｃの重なり率が囲み線判定条件４０７の条件を満たしている「議事録」という確定オブジェクト１３ｃだけが選択オブジェクトとして指定されている。
【０１０９】
図１５（ｃ）は縦書きの複数の確定オブジェクト１３ｄ、１３ｅを跨ぎ線（手書きオブジェクト１１ｃ）で指定した例である。この例では、図１５（ａ）と同様に、手書きオブジェクト矩形領域１２ｄの短辺の長さＨ１と長辺の長さＷ１が跨ぎ線判定条件４０６の条件を満たしており、「議事録」と「ぎじ」という２つの確定オブジェクト１３ｄ、１３ｅそれぞれとの重なり率が跨ぎ線判定条件４０６の条件を満たしているため、「議事録」と「ぎじ」の両方の確定オブジェクト１３ｄ、１３ｅが選択オブジェクトとして指定されている。
【０１１０】
図１５（ｄ）は縦書きの確定オブジェクト１３ｆを囲み線（手書きオブジェクト１１ｄ）で指定した例である。この例では、図１５（ｂ）と同様に、「議事録」という確定オブジェクト１３ｆだけが選択オブジェクトとして指定されている。
【０１１１】
＜操作コマンドの候補の表示例＞
図１６は、図１３に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図１６（ａ）は編集系の操作コマンドの候補であり、図１６（ｂ）は修飾系の操作コマンドの候補である。また、図１６（ａ）は図１５（ａ）の手書きオブジェクト１１ａで選択オブジェクトが指定された例を示す。
【０１１２】
図１６（ａ）（ｂ）に示すように、行頭文字「》」５１１に続いて表示された操作コマンドの候補がメインメニュー５５０である。メインメニュー５５０には最後に実行された操作コマンド名又は操作コマンド定義データで先頭の操作コマンド名が表示される。１行目の行頭文字「》」５１１ａは編集系の操作コマンドの候補であり、２行目の行頭文字「》」５１１ｂは修飾系の操作コマンドの候補である。
【０１１３】
行末の「〉」５１２はサブメニューがあることを示す（サブメニューボタンの一例）。１行目の「〉」５１２ａは編集系の操作コマンドの候補のサブメニュー（最後に選択された）を表示させ、２行目の「〉」５１２ｂは修飾系の操作コマンドの候補の残りのサブメニューを表示させる。ユーザーが「〉」５１２を押下すると、その右側にサブメニュー５６０が表示される。サブメニュー５６０には操作コマンド定義データで定義されている全ての操作コマンドが表示される。図１６（ａ）の表示例ではメインメニューが表示された時から１行目の「〉」５１２ａに対応したサブメニュー５６０も表示されている。１行目の「〉」５１２ａの押下により表示されてもよい。
【０１１４】
ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部２３が選択オブジェクトに対して実行する。すなわち「消去」５２１が選択されると「Delete」、「移動」５２２が選択されると「Move」、「回転」５２３が選択されると「Rotate」、「選択」５２４が選択されると「Select」をそれぞれ実行する。
【０１１５】
例えば、ユーザーが「消去」５２１をペンで押下すると「議事録」と「ぎじ」を消去でき、「移動」５２２，「回転」５２３、「選択」５２４を押すとバウンディングボックス（選択オブジェクトの外接矩形）が表示され、「移動」５２２と「回転」５２３ではペンのドラッグ動作で移動又は回転でき、「選択」５２４ではその他のバウンディングボックスの操作を実行できる。
【０１１６】
操作コマンドの候補以外の文字列候補である「一」５４１、「一、」５４２、「〜」５４３、「→」５４４、「⇒」５４５は跨ぎ線（手書きオブジェクト１１ａ）の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
【０１１７】
図１６（ｂ）では２行目の「〉」５１２ｂの押下により、図１６（ｂ）のサブメニューが表示される。図１６（ｂ）の表示例も図１６（ａ）と同様にメインメニュー５５０とサブメニュー５６０が表示されている。図１３の操作コマンド定義データに基づいて、「太く」５３１が選択されると「Thick」、「細く」５３２が選択されると「Thin」、「大きく」５３３が選択されると「Large」、「小さく」５３４が選択されると「Small」、下線５３５が選択されると「Underline」を手書き入力表示制御部２３が選択オブジェクトに対してそれぞれ実行する。
【０１１８】
なお、「太く」５３１が選択された場合にどのくらい太くするか、「細く」５３２が選択された場合にどのくらい細くするか、「大きく」５３３が選択された場合にどのくらい大きくするか、「小さく」５３４が選択された場合にどのくらい小さくするか、下線５３５が選択された場合の線種等は、固定値が別途定義されている。あるいは、図１６（ｂ）のサブメニューが選択されると別途、選択メニューが開かれユーザーが調整できるようになっているとなおよい。
【０１１９】
ユーザーが「太く」５３１をペンで押下すると「議事録」と「ぎじ」という確定オブジェクト１３ａ、１３ｂを構成する線を手書き入力表示制御部２３が太くする。「細く」５３２をペンで押下すると、「議事録」と「ぎじ」を構成する線を手書き入力表示制御部２３が細くでき、「大きく」５３３をペンで押下すると手書き入力表示制御部２３が大きくでき、「小さく」５３４をペンで押下すると手書き入力表示制御部２３が小さくでき、「下線」５３５をペンで押下すると下線を手書き入力表示制御部２３が追加できる。
【０１２０】
図１７は、図１３に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図１６（ａ）（ｂ）との相違は、図１７（ａ）（ｂ）は図１５（ｂ）の手書きオブジェクト１１ｂ（囲み線）で選択オブジェクトが指定された例を示す。図１６と図１７を比較すると分かるように手書きオブジェクトが線か囲み線かによって表示される操作コマンドの候補に違いはない。手書き入力表示制御部２３は選択オブジェクトが指定されると操作コマンドの候補を表示部２２に表示させるためである。しかし、手書きオブジェクトを認識して手書きオブジェクトに応じて表示する操作コマンドの候補を変更してもよい。この場合、認識された手書きオブジェクト（一や○など）に図１３のような操作コマンド定義データを対応付けておく。
【０１２１】
図１７において操作コマンドの候補以外の文字列候補である「○」５５１、「∞」５５２、「０」５５３、「００」５５４、「ロ」５５５は囲み線（手書きオブジェクト１１ｂ）の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
【０１２２】
＜動作手順＞
以上の構成と図１８〜図２３を用いて、手書き入力装置２の動作について説明する。図１８〜図２３は手書き入力装置２が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図１８の処理は、手書き入力装置２が起動すると（アプリケーションが起動すると）スタートする。なお、図１８〜図２３ではスペースの都合上、符号で図６の機能を示した。
【０１２３】
S1：まず、手書き入力表示制御部２３が手書きオブジェクト開始を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きオブジェクト領域（手書きオブジェクトを保存するメモリ領域）を確保する。ユーザーがペンを手書き入力部２１に接触させてから手書きオブジェクト領域を確保してもよい。
【０１２４】
S2：次にユーザーが手書き入力部２１にペンを接触させる。手書き入力部２１はペンダウンを検出して手書き入力表示制御部２３に送信する。
【０１２５】
S2.1：手書き入力表示制御部２３は手書き入力保存部２５にストローク開始を送信し、手書き入力保存部２５はストローク領域を確保する。
【０１２６】
S3：ユーザーがペンを手書き入力部２１に接触させたまま移動させると、手書き入力部２１はペン座標を手書き入力表示制御部２３に送信する。
【０１２７】
S3.1：手書き入力表示制御部２３はペン座標補完表示データ（離散的なペン座標を補間するデータ）を表示部２２に送信する。表示部２２はペン座標補完表示データを用いてペン座標を補間して線を表示する。
【０１２８】
S3.2：手書き入力表示制御部２３はペン座標とその受信時刻を手書き入力保存部２５に送信する。手書き入力保存部２５はペン座標をストロークに追加する。ユーザーがペンを動かしている間は、手書き入力部２１は定期的に手書き入力表示制御部２３へのペン座標の送信を繰り返すため、ステップS3〜S3.2の処理がペンアップされるまで繰り返される。
【０１２９】
S4：ユーザーが手書き入力部２１からペンを離すと、手書き入力部２１はペンアップを手書き入力表示制御部２３に送信する。
【０１３０】
S4.1：手書き入力表示制御部２３は手書き入力保存部２５にストローク終了を送信し、手書き入力保存部２５はストロークのペン座標を確定させる。ストロークのペン座標の確定により以降はストロークにペン座標を追加できなくなる。
【０１３１】
S4.2：次に、手書き入力表示制御部２３は手書きオブジェクト近傍矩形領域４０３に基づいて、手書きオブジェクト近傍矩形領域とストローク矩形領域の重なり状況取得を手書き入力保存部２５に送信する。手書き入力保存部２５は重なり状況を計算して重なり状況を手書き入力表示制御部２３に送信する。
【０１３２】
続く、ステップS4.3〜S4.5は、手書きオブジェクト近傍矩形領域とストローク矩形領域が重なっていない場合に実行される。
【０１３３】
S4.3：手書きオブジェクト近傍矩形領域とストローク矩形領域が重なっていない場合、１つの手書きオブジェクトが確定するので、手書き入力表示制御部２３は保持データクリアを手書き認識制御部２６に送信する。
【０１３４】
S4.3.1〜4.3.3：手書き認識制御部２６は保持データクリアをそれぞれ文字列変換制御部２８、予測変換制御部３０、操作コマンド認識制御部３２に送信する。手書き認識制御部２６、文字列変換制御部２８、予測変換制御部３０及び操作コマンド認識制御部３２がこれまでに保持している文字列候補と操作コマンドの候補に係るデータをクリアする。なお、クリアの時点では最後に手書きされたストロークは手書きオブジェクトに追加されていない。
【０１３５】
S4.4：手書き入力表示制御部２３は手書きオブジェクト終了を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きオブジェクトを確定させる。手書きオブジェクトの確定とは１つの手書きオブジェクトが完成したこと（これ以上、ストロークが追加されないこと）をいう。
【０１３６】
S4.5：手書き入力表示制御部２３は手書きオブジェクト開始を手書き入力保存部２５に送信する。次の手書きオブジェクトの手書きの開始（ペンダウン）に備えて、手書き入力保存部２５は新しい手書きオブジェクト領域を確保する。
【０１３７】
S4.6：次に手書き入力表示制御部２３はステップS4.1で終了したストロークに関してストローク追加を手書き入力保存部２５に送信する。ステップS4.3〜S4.5が実行された場合、追加されるストロークは手書きオブジェクトの最初のストロークであり、手書き入力保存部２５は開始中の手書きオブジェクトにストロークデータを追加する。ステップS4.3〜S4.5が実行されてない場合、追加されるストロークはすでに手書き中の手書きオブジェクトに追加される。
【０１３８】
S4.7：続いて手書き入力表示制御部２３はストローク追加を手書き認識制御部２６に送信する。手書き認識制御部２６は文字列候補が格納されるストロークデータ保持領域にストロークデータを追加する。
【０１３９】
S4.7.1：手書き認識制御部２６はこのストロークデータ保持領域に対して手書き認識を実行する。
【０１４０】
S4.7.2：手書き認識制御部２６はこの実行結果である手書き認識文字列候補を手書き認識辞書部２７に送信する。手書き認識辞書部２７は言語的に確からしい言語文字列候補を手書き認識制御部２６に送信する。
【０１４１】
S4.7.3：手書き認識制御部２６は手書き認識文字列候補及び受信した言語文字列候補を文字列変換制御部２８に送信する。
【０１４２】
S4.7.3.1：文字列変換制御部２８は手書き認識文字列候補及び言語文字列候補を文字列変換辞書部２９に送信する。文字列変換辞書部２９は変換文字列候補を文字列変換制御部２８に送信する。
【０１４３】
S4.7.3.2：文字列変換制御部２８は受信した変換文字列候補を予測変換制御部３０に送信する。
【０１４４】
S4.7.3.2.1：予測変換制御部３０は受信した変換文字列候補を予測変換辞書部３１に送信する。予測変換辞書部３１は予測文字列候補を予測変換制御部３０に送信する。
【０１４５】
S4.7.3.2.2: 予測変換制御部３０は受信した予測文字列候補を操作コマンド認識制御部３２に送信する。
【０１４６】
S4.7.3.2.2.1:操作コマンド認識制御部３２は受信した予測文字列候補を操作コマンド定義部３３に送信する。操作コマンド定義部３３は操作コマンドの候補を操作コマンド認識制御部３２に送信する。これにより、操作コマンド認識制御部３２は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
【０１４７】
以降ステップS4.7.3.3〜S4.7.5.1の操作コマンドの候補の送信まで同様に処理を行う。
S4.7.3.3：文字列変換制御部２８は受信した変換文字列候補を操作コマンド認識制御部３２に送信する。
【０１４８】
S4.7.3.3.1:操作コマンド認識制御部３２は受信した変換文字列候補を操作コマンド定義部３３に送信する。操作コマンド定義部３３は操作コマンドの候補を操作コマンド認識制御部３２に送信する。これにより、操作コマンド認識制御部３２は変換文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
【０１４９】
S4.7.4：手書き認識制御部２６は手書き認識文字列候補及び言語文字列候補を予測変換制御部３０に送信する。
【０１５０】
S4.7.4.1：予測変換制御部３０は手書き認識文字列候補及び受信した言語文字列候補を予測変換辞書部３１に送信する。予測変換辞書部３１は予測文字列候補を予測変換制御部３０に送信する。
【０１５１】
S4.7.4.2: 予測変換制御部３０は受信した予測文字列候補を操作コマンド認識制御部３２に送信する。
【０１５２】
S4.7.4.2.1:操作コマンド認識制御部３２は受信した予測文字列候補を操作コマンド定義部３３に送信する。操作コマンド定義部３３は操作コマンドの候補を操作コマンド認識制御部３２に送信する。これにより、操作コマンド認識制御部３２は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
【０１５３】
S4.7.5:手書き認識制御部２６は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド認識制御部３２に送信する。
【０１５４】
S4.7.5.1:操作コマンド認識制御部３２は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド定義部３３に送信する。操作コマンド定義部３３は操作コマンドの候補を操作コマンド認識制御部３２に送信する。これにより、操作コマンド認識制御部３２は言語文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
【０１５５】
S4.7.6: 次に手書き認識制御部２６はストローク追加を操作コマンド認識制御部３２に送信する。
【０１５６】
S4.7.6.1：操作コマンド認識制御部３２は確定オブジェクトの位置情報取得を手書き入力保存部２５に送信する。手書き入力保存部２５は確定オブジェクトの位置情報を操作コマンド認識制御部３２に送信する。
【０１５７】
S4.7.6.2: 操作コマンド認識制御部３２は選択オブジェクトの判定のため、ステップS4.7.6のストローク追加で手書き認識制御部２６から受信したストロークの位置情報と、手書き入力保存部２５から受信した確定オブジェクトの位置情報が所定の関係にあるか否かを跨ぎ線判定条件４０６及び囲み線判定条件４０７に基づいて判定し、選択されていると判定できる確定オブジェクトを選択オブジェクトとして保存しておく。また、この場合、選択オブジェクトが特定されるので入出力系の操作コマンドの候補を操作コマンド定義部３３から取得する。
【０１５８】
また、手書き認識制御部２６、文字列変換制御部２８、予測変換制御部３０、及び、操作コマンド認識制御部３２はそれぞれ手書き認識文字列候補、言語文字列候補、変換文字列候補、予測文字列候補、操作コマンドの候補、及び、選択オブジェクトに係るデータを後段のステップS4.8.1.2〜4.8.1.4で取得できるよう保持しておく。
【０１５９】
S4.8：手書き入力表示制御部２３はステップS4.7でストローク追加を手書き認識制御部２６に送信した直後、選択可能候補表示タイマー開始を候補表示タイマー制御部２４に送信する。候補表示タイマー制御部２４はこのタイマーを開始する。
【０１６０】
続く、ステップS5〜S5.2は一定時間が経過する前に（タイマーがタイムアウトする前に）ペンダウンが発生した場合に実行される。
【０１６１】
S5：タイマーがタイムアウトする前に、ユーザーが手書き入力部２１にペンを接触させた場合、手書き入力部２１はペンダウン（ステップS2と同じイベント）を手書き入力表示制御部２３に送信する。
【０１６２】
S5.1: 手書き入力表示制御部２３はストローク開始（ステップS2.1と同じ）を手書き入力保存部２５に送信する。この後のシーケンスはステップS2.1以降と同じである。
【０１６３】
S5.2：更に手書き入力表示制御部２３は選択可能候補表示タイマー停止を候補表示タイマー制御部２４に送信する。候補表示タイマー制御部２４はタイマーを停止させる。ペンダウンが検出されたのでタイマーが不要になるからである。
【０１６４】
ステップS4.8.1〜S7.14は一定時間が経過する前に（タイマーがタイムアウトする前に）ペンダウンが発生しない場合に実行される。したがって、図１４に示した文字列候補や操作コマンドの候補が表示される。
【０１６５】
4.8.1:選択可能候補表示タイマー開始中にユーザーが手書き入力部２１にペンを接触させなかった場合、候補表示タイマー制御部２４はタイムアウトを手書き入力表示制御部２３に送信する。
【０１６６】
S4.8.1.1:手書き入力表示制御部２３は手書き認識/言語文字列候補取得を手書き認識制御部２６に送信する。手書き認識制御部２６は現在保持している手書き認識/言語文字列候補を手書き入力表示制御部２３に送信する。
【０１６７】
S4.8.1.2:手書き入力表示制御部２３は変換文字列候補取得を文字列変換制御部２８に送信する。文字列変換制御部２８は現在保持している変換文字列候補を手書き入力表示制御部２３に送信する。
【０１６８】
S4.8.1.3:手書き入力表示制御部２３は予測文字列候補取得を予測変換制御部３０に送信する。予測変換制御部３０は現在保持している予測文字列候補を手書き入力表示制御部２３に送信する。
【０１６９】
S4.8.1.4:手書き入力表示制御部２３は操作コマンドの候補取得を操作コマンド認識制御部３２に送信する。操作コマンド認識制御部３２は現在保持している操作コマンドの候補と選択オブジェクトを手書き入力表示制御部２３に送信する。
【０１７０】
S4.8.1.5: 更に、手書き入力表示制御部２３は推定書字方向取得を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きオブジェクト矩形領域のストローク追加時間と水平距離と垂直距離から判定して、推定書字方向を手書き入力表示制御部２３に送信する。
【０１７１】
S4.8.1.6:手書き入力表示制御部２３はこれらの手書き認識文字列候補（図１４では「ぎ」）、言語文字列候補（図１４では表示がないが例えば「議」）、変換文字列候補（図１４では「議事録」「技量試」）、予測文字列候補（図１４では「技量試を決済」「議事録の送付先」）、操作コマンドの候補（図１４では「議事録テンプレートを読み込む」「議事録フォルダーに保存する）、各選択確率、及び、推定書字方向から図１４のような選択可能候補表示データを作成し、文字列候補と操作コマンドの候補からなる選択可能候補表示データを表示部２２に送信することで表示させる。
【０１７２】
S4.8.1.7:また、手書き入力表示制御部２３は手書きオブジェクトと選択オブジェクトの矩形領域表示データ（矩形枠）（図１４では手書きオブジェクト矩形領域表示５０３）を表示部２２に送信する。
【０１７３】
S4.8.1.8: 手書き入力表示制御部２３は選択可能候補表示データの表示から一定時間後に消去するため選択可能候補表示消去タイマー開始を候補表示タイマー制御部２４に送信する。候補表示タイマー制御部２４はこのタイマーを開始する。
【０１７４】
ステップS6〜S6.3は、選択可能候補消去タイマー開始中に、ユーザーが表示部２２に表示された選択可能候補表示を消去したか、手書きオブジェクトの変化が発生した場合（即ち手書きオブジェクトのストロークの追加、削除、移動、変形又は分割された場合）、又は、タイムアウトまでに候補が選択されなかった場合に実行される。
【０１７５】
更に、ステップS6〜S6.1は、候補表示が消去されるか、又は、手書きオブジェクトの変化が発生した場合に実行される。
【０１７６】
S6：手書き入力部２１は選択可能候補表示消去又は手書きオブジェクトの変化の発生を手書き入力表示制御部２３に送信する。
【０１７７】
S6.1：手書き入力表示制御部２３は選択可能候補消去タイマー停止を送信する。候補表示タイマー制御部２４はそのタイマーを停止する。一定時間内に手書きオブジェクトに対し操作があったためタイマーが不要になるからである。
【０１７８】
S6.2：手書き入力表示制御部２３は選択可能候補表示データ消去を表示部２２に送信することで、表示を消去させる。
【０１７９】
S6.3：手書き入力表示制御部２３は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を表示部２２に送信することで、表示を消去させる。したがって、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きオブジェクトはそのまま表示が維持される。
【０１８０】
4.8.1.8.1:一方、選択可能候補消去タイマー開始中に、選択可能候補表示消去又は手書きオブジェクトの変化が発生しなかった場合（ユーザーがペン操作をしなかった場合は）、候補表示タイマー制御部２４は4.8.1.8.1:タイムアウトを手書き入力表示制御部２３に送信する。
【０１８１】
選択可能候補表示消去タイマーのタイムアウトの後も同様に、手書き入力表示制御部２３はステップS6.2とS6.3を実行する。一定時間の経過で選択可能候補表示データ、手書きオブジェクトと選択オブジェクトの矩形領域表示データを消去してよいためである。
【０１８２】
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS7〜S7.14が実行される。
【０１８３】
S7：選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部２１は文字列候補又は操作コマンドの候補選択を手書き入力表示制御部２３に送信する。
【０１８４】
S7.1: 手書き入力表示制御部２３は選択可能候補表示消去タイマー停止を候補表示タイマー制御部２４に送信する。候補表示タイマー制御部２４はこのタイマーを停止する。
【０１８５】
S7.2: 次に手書き入力表示制御部２３は保持データクリアを手書き認識制御部２６に送信する。
【０１８６】
S7.2.1: 手書き認識制御部２６は保持データクリアを文字列変換制御部２８に送信する。
【０１８７】
S7.2.2：手書き認識制御部２６は保持データクリアを予測変換制御部３０に送信する。
【０１８８】
S7.2.3：手書き認識制御部２６は保持データクリアを操作コマンド認識制御部３２に送信する。
【０１８９】
手書き認識制御部２６、文字列変換制御部２８、予測変換制御部３０、及び、操作コマンド認識制御部３２はこれまで保持していた文字列候補及び操作コマンドの候補に係るデータをクリアする。
【０１９０】
S7.3: 次に手書き入力表示制御部２３は選択可能候補表示データ消去を表示部２２に送信することで表示を消去させる。
【０１９１】
S7.4：手書き入力表示制御部２３は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を表示部２２に送信することで表示を消去させる。
【０１９２】
S7.5：手書き入力表示制御部２３は手書きオブジェクト表示データ消去及びステップS3.1で送信したペン座標補完表示データ消去を表示部２２に送信することで表示を消去させる。文字列候補又は操作コマンドの候補が選択されたため、手書きオブジェクト等が不要になるためである。
【０１９３】
S7.6：手書き入力表示制御部２３は手書きオブジェクト削除を手書き入力保存部２５に送信する。
【０１９４】
文字列候補が選択された場合、ステップS7.7〜S7.9が実行される。
【０１９５】
S7.7: 文字列候補が選択された場合、手書き入力表示制御部２３は文字列オブジェクト追加を手書き入力保存部２５に送信する。
【０１９６】
S7.8：更に手書き入力表示制御部２３は文字列オブジェクトフォント取得を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きオブジェクトの推定文字サイズから定義済みフォントを選択して手書き入力表示制御部２３に送信する。
【０１９７】
S7.9: 次に手書き入力表示制御部２３は手書き入力保存部２５から受信した定義済みフォントを使用して、手書きオブジェクトと同じ位置に表示させる文字列オブジェクト表示データを表示部２２に送信させることで、表示させる。
【０１９８】
操作コマンドの候補が選択された場合、ステップS7.10〜S7.13が実行される。更に、選択オブジェクトがある場合はステップS7.10〜S7.12が実行される。
【０１９９】
S7.10：選択オブジェクトへの操作コマンドの候補が選択された場合（選択オブジェクトが存在する場合）は、手書き入力表示制御部２３は選択オブジェクト表示データ消去を表示部２２に送信することで表示を消去させる。いったん、元の選択オブジェクトを消去するためである。
【０２００】
S7.11:次に、手書き入力表示制御部２３は選択オブジェクトへの操作コマンド実行を手書き入力保存部２５に送信する。手書き入力保存部２５は新しい選択オブジェクトの表示データ（編集又は修飾後の表示データ）を手書き入力表示制御部２３に送信する。
【０２０１】
S7.12: 次に手書き入力表示制御部２３は選択オブジェクト表示データを表示部２２に送信することで、操作コマンド実行後の選択オブジェクトを再表示させる。
【０２０２】
選択オブジェクトがない場合（入出力系の操作コマンドが選択された場合）はステップS7.13が実行される。
【０２０３】
S7.13：入出力系の操作コマンドが選択された場合、手書き入力表示制御部２３はユーザーが選択した操作コマンドに対応する操作コマンド定義データの操作コマンド文字列(Command)を実行する。なお、ユーザー認証部３４がユーザーの認証に成功した場合、手書き入力表示制御部２３は認証に成功したユーザーに関する情報を操作コマンドの％〜％に設定して実行する。
【０２０４】
S7.14：次の手書きオブジェクトのために手書き入力表示制御部２３は手書きオブジェクト開始を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きオブジェクト領域を確保する。これ以降、ステップS2〜S7.14の処理が繰り返される。
【０２０５】
＜まとめ＞
以上説明したように、本実施形態の手書き入力装置２は、ユーザーが手書きオブジェクトを手書きしたり確定オブジェクトを囲み線で囲んだりすることで、任意の操作コマンドの候補を表示させることができる。したがって、手書きした状態から任意の機能（編集機能、入出力機能、又はペン機能等）を呼び出すことができる。これにより、メニューボタンを押下して所望の機能を呼び出すステップバイステップの操作を不要にでき、ユーザーが手書きしている状態から任意の機能を呼び出すまでの操作手順を低減できる。
【実施例２】
【０２０６】
本実施例では、ネットワーク上の情報処理システムが手書き認識等の処理を行って、処理の結果を手書き入力装置２に返すシステム形態の手書き入力システムについて説明する。
【０２０７】
なお、本実施例の説明においては、実施例１で同一の符号を付した構成要素又は図の内容については同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。
【０２０８】
図２４は、手書き入力システム１００のシステム構成図の一例である。手書き入力システム１００はネットワークＮを介して通信可能な手書き入力装置２と情報処理システム１０とを有している。
【０２０９】
手書き入力装置２は社内などの施設に配置されており、施設内に敷設されたＬＡＮやＷｉ−Ｆｉに接続されている。情報処理システム１０は例えばデータセンタ等に配置されている。手書き入力装置２はファイアウォール８を介してインターネットｉと接続しており、情報処理システム１０もデータセンタ内の高速なＬＡＮ等を経由してインターネットｉに接続している。
【０２１０】
手書き入力装置２は電話回線網等の無線通信を使用してインターネットｉに接続してもよい。この場合、無線通信は、３Ｇ（3rd  Generation）、４Ｇ（4rd  Generation）、５Ｇ（5rd  Generation）、ＬＴＥ（Long  Term  Evolution）、ＷｉＭＡＸ（Worldwide  Interoperability  for  Microwave  Access）等である。
【０２１１】
情報処理システム１０は１つ以上の情報処理装置を有しており、１つ以上の情報処理装置がサーバとして手書き入力装置２にサービスを提供する。サーバとは、クライアントからの要求に対して情報や処理結果を提供する機能を果たすコンピュータやソフトウェアである。情報処理システム１０は後述するように手書き入力装置２からペン座標を受信して、図１４に示した操作ガイド５００を表示するために必要な情報を手書き入力装置２に送信する。
【０２１２】
サーバ側のシステムをクラウドシステムという場合がある。クラウドシステムとは、クラウドコンピューティングを利用したシステムであり、クラウドコンピューティングは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。クラウドシステムはインターネット上に配置されるとは限らない。図２４では情報処理システムがインターネット上に配置されているが、ローカルネットワーク（この場合をオンプレミスという）に配置される場合がある。
【０２１３】
更に、ある実施形態では、情報処理システム１０は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【０２１４】
手書き入力装置２の構成は実施例１と同様でよいが、本実施例ではタッチパネル、ディスプレイ、及び、通信機能を有していればよい。手書き入力装置２は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
【０２１５】
本実施例ではＰＣやタブレットなどの一般的な情報処理装置がＷｅｂブラウザや専用のアプリケーションを実行することができる。Ｗｅｂブラウザや専用のアプリケーションは情報処理システム１０と通信する。Ｗｅｂブラウザが動作する場合、ユーザーが情報処理システム１０のＵＲＬを入力又は選択して、手書き入力装置を情報処理システム１０に接続させる。手書き入力装置２は情報処理システム１０が提供するＷｅｂアプリをＷｅｂブラウザで実行する。Ｗｅｂアプリとは、Ｗｅｂブラウザ上で動作するプログラミング言語（たとえばJavaScript（登録商標））によるプログラムとＷｅｂサーバ側のプログラムが協調することによって動作し、Ｗｅｂブラウザ上で実行されるソフトウェア又はその仕組みを言う。
【０２１６】
専用のアプリケーションが動作する場合、予め登録されている情報処理システム１０のＵＲＬに接続する。専用のアプリケーションはプログラムやユーザインタフェースを有しているので、プログラムが必要な情報を情報処理システム１０と送受信してユーザインタフェースに表示する。
【０２１７】
通信方法は、ＨＴＴＰ、ＨＴＴＰｓ、WebSocketなど汎用の通信プロトコルでもよいし、専用の通信プロトコルで通信してもよい。
【０２１８】
＜ハードウェア構成例＞
手書き入力装置２のハードウェア構成は図５と同様でよい。本実施例では情報処理システム１０のハードウェア構成例を説明する。
【０２１９】
図２５は、情報処理システム１０のハードウェア構成図である。図２５に示されているように、情報処理システム１０は、コンピュータによって構築されており、図２５に示されているように、ＣＰＵ６０１、ＲＯＭ６０２、ＲＡＭ６０３、ＨＤ６０４、ＨＤＤ(Hard Disk Drive)コントローラ６０５、ディスプレイ６０６、外部機器接続Ｉ／Ｆ(Interface)６０８、ネットワークＩ／Ｆ６０９、バスライン６１０、キーボード６１１、ポインティングデバイス６１２、ＤＶＤ−ＲＷ(Digital Versatile Disk Rewritable)ドライブ５１４、メディアＩ／Ｆ６１６を備えている。
【０２２０】
これらのうち、ＣＰＵ６０１は、情報処理システム１０全体の動作を制御する。ＲＯＭ６０２は、ＩＰＬ等のＣＰＵ６０１の駆動に用いられるプログラムを記憶する。ＲＡＭ６０３は、ＣＰＵ６０１のワークエリアとして使用される。ＨＤ６０４は、プログラム等の各種データを記憶する。ＨＤＤコントローラ６０５は、ＣＰＵ６０１の制御にしたがってＨＤ６０４に対する各種データの読み出し又は書き込みを制御する。ディスプレイ６０６は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続Ｉ／Ｆ６０８は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、ＵＳＢ(Universal Serial Bus)メモリやプリンター等である。ネットワークＩ／Ｆ６０９は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン６１０は、図２５に示されているＣＰＵ６０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【０２２１】
また、キーボード６１１は、文字、数値、各種指示などの入力のための複数のキーを備える。ポインティングデバイス６１２は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。ＤＶＤ−ＲＷドライブ６１４は、着脱可能な記録媒体の一例としてのＤＶＤ−ＲＷ６１３に対する各種データの読み出し又は書き込みを制御する。なお、ＤＶＤ−ＲＷに限らず、ＤＶＤ−Ｒ等であってもよい。メディアＩ／Ｆ６１６は、フラッシュメモリ等の記録メディア６１５に対するデータの読み出し又は書き込み（記憶）を制御する。
【０２２２】
＜装置の機能について＞
次に、図２６を用いて、手書き入力システム１００が有する機能について説明する。図２６は手書き入力システム１００が有する機能をブロック状に示す機能ブロック図の一例である。なお、図２６の説明では、主に図６との相違を説明する。
【０２２３】
本実施例では、手書き入力装置２は表示部２２、表示制御部４１、手書き入力部２１、及び、通信部４２を有している。手書き入力装置２が有する各機能は、図５に示されている各構成要素のいずれかが、ＳＳＤ２０４からＲＡＭ２０３上に展開されたプログラムに従ったＣＰＵ２０１からの命令によって動作することで実現される機能又は手段である。
【０２２４】
本実施例の手書き入力部２１の機能は実施例１と同様でよい。手書き入力部２１はユーザーのペン入力ｄ１をペン操作データｄａ（ペンアップ、ペンダウン、又はペン座標データ）に変換し、表示制御部４１に送信する。
【０２２５】
表示制御部４１は、手書き入力装置２の表示に関する制御を行う。まず、表示制御部４１は、離散値であるペン座標データの離散値間の座標を補完計算してペンダウンからペンアップまでのペン座標データを１本のストロークｄｂにして表示部２２に送信する。
【０２２６】
また、表示制御部４１はペン操作データｄｃを通信部４２に送信し、通信部４２から各種の表示データｄｄを取得する。表示データは、図１４の操作ガイド５００を表示するための情報を含んでいる。表示制御部４１は表示データｄｅを表示部２２に送信する。
【０２２７】
通信部４２は、ペン操作データｄｃを情報処理システム１０に送信し、情報処理システム１０から各種の表示データｄｄを受信して表示制御部４１に送信する。
【０２２８】
表示部２２の機能は実施例１と同様でよい。表示部２２はストロークｄｂや表示データｄｅを表示する。表示部２２は表示制御部４１がビデオメモリーに書き込んだストロークｄｂや表示データｄｅをディスプレイ２２０の特性に応じたデータに変換し、ディスプレイ２２０に送信する。
【０２２９】
＜＜情報処理システムの機能＞＞
情報処理システム１０は、通信部４３、手書き入力表示制御部２３、候補表示タイマー制御部２４、手書き入力保存部２５、手書き認識制御部２６、手書き認識辞書部２７、文字列変換制御部２８、文字列変換辞書部２９、予測変換制御部３０、予測変換辞書部３１、操作コマンド認識制御部３２、及び、操作コマンド定義部３３を備えている。情報処理システム１０が有する各機能は、図２５に示されている各構成要素のいずれかが、ＨＤ６０４からＲＡＭ６０３上に展開されたプログラムに従ったＣＰＵ６０１からの命令によって動作することで実現される機能又は手段である。
【０２３０】
通信部４３は、ペン操作データｄｃを手書き入力装置２から受信し、手書き入力表示制御部２３にペン操作データｄｆを送信し、手書き入力表示制御部２３から表示データｄｄを受信して、手書き入力装置２に送信する。
【０２３１】
その他の機能については実施例１と同様か、異なるとしても本実施形態の説明の上では支障がないものとする。
【０２３２】
また、ユーザーを認証する機能に関しては情報処理システム１０が一般的な方法で認証するものとする。
【０２３３】
＜動作手順＞
以上の構成と図２７〜図３３を用いて、手書き入力システム１００の動作について説明する。図２７〜図３３は手書き入力装置２が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図２７の処理は、手書き入力装置２が起動して（Ｗｅｂブラウザ又は専用のアプリケーションが起動して）、情報処理システム１０との通信が確立するとスタートする。なお、図２７〜図３３の全体的な流れは図１８〜図２３と同様でよい。
【０２３４】
S1：通信が確立すると手書き入力装置２のメモリ領域を確保するため、手書き入力表示制御部２３が手書きオブジェクト開始を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きオブジェクト領域（手書きオブジェクトを保存するメモリ領域）を確保する。ユーザーがペンを手書き入力部２１に接触させてから手書きオブジェクト領域を確保してもよい。
【０２３５】
S2a：次にユーザーが手書き入力部２１にペンを接触させる。手書き入力部２１はペンダウンを検出して表示制御部４１に送信する。
【０２３６】
S2b：表示制御部４１はペンダウンを情報処理システム１０に通知するため、ペンダウンを通信部４２に送信する。
【０２３７】
S2c：通信部４２はペンダウンを情報処理システム１０に送信する。
【０２３８】
S2d：情報処理システム１０の通信部４３はペンダウンを受信して、手書き入力表示制御部２３に送信する。
【０２３９】
S2.1：手書き入力表示制御部２３は手書き入力保存部２５にストローク開始を送信し、手書き入力保存部２５はストローク領域を確保する。
【０２４０】
S3ａ：ユーザーがペンを手書き入力部２１に接触させたまま移動させると、手書き入力部２１はペン座標を表示制御部４１に送信する。
【０２４１】
S3b：表示制御部４１はペン座標を情報処理システム１０に通知するため、ペン座標を通信部４２に送信する。
【０２４２】
S3c：通信部４２はペン座標を情報処理システム１０に送信する。
【０２４３】
S3d：情報処理システム１０の通信部４３はペン座標を受信して、手書き入力表示制御部２３に送信する。
【０２４４】
S3.1：表示制御部４１はペン座標補完表示データ（離散的なペン座標を補間するデータ）を表示部２２に送信する。表示部２２はペン座標補完表示データを用いてペン座標を補間して線を表示する。ステップS3.2の処理は実施例１と同様になる。
【０２４５】
S4a：ユーザーが手書き入力部２１からペンを離すと、手書き入力部２１はペンアップを表示制御部４１に送信する。
【０２４６】
S4b：表示制御部４１はペンアップを情報処理システム１０に通知するため、ペンアップを通信部４２に送信する。
【０２４７】
S4c：通信部４２はペンアップを情報処理システム１０に送信する。
【０２４８】
S4d：情報処理システム１０の通信部４３はペンアップを受信して、手書き入力表示制御部２３に送信する。
【０２４９】
以降のステップS4.1〜S4.3.3、及び、図２９のステップS4.6〜S4.7.6.2については実施例１と同様になる。
【０２５０】
S5a：タイマーがタイムアウトする前に、ユーザーが手書き入力部２１にペンを接触させた場合、手書き入力部２１はペンダウン（ステップS2と同じイベント）を表示制御部４１に送信する。ステップS5b〜S5dの処理はステップS2b〜S2dと同様でよい。また、ステップS5.1〜S4.8.1.5の処理は実施例１と同様になる。
【０２５１】
S4.8.1.6a:手書き入力表示制御部２３は図１４に示した各文字列候補、操作コマンドの候補、各選択確率、及び、推定書字方向を含む選択可能候補表示データを作成し、文字列候補と操作コマンドの候補からなる選択可能候補表示データを通信部４３に送信する。
【０２５２】
S4.8.1.6b:通信部４３は手書き入力装置２に選択可能候補表示データを送信する。
【０２５３】
S4.8.1.6c:手書き入力装置２の通信部４２は選択可能候補表示データを受信し、表示制御部４１に送信する。
【０２５４】
S4.8.1.6d:表示制御部４１は選択可能候補表示データを受信したので、表示部２２に送信することで表示させる。
【０２５５】
S4.8.1.7a:また、手書き入力表示制御部２３は手書きオブジェクトと選択オブジェクトの矩形領域表示データ（矩形枠）（図１４では手書きオブジェクト矩形領域表示５０３）を通信部４３に送信する。
【０２５６】
S4.8.1.7b:通信部４３は手書き入力装置２に矩形領域表示データを送信する。
【０２５７】
S4.8.1.7c:手書き入力装置２の通信部４２は矩形領域表示データを受信し、表示制御部４１に送信する。
【０２５８】
S4.8.1.7d:表示制御部４１は矩形領域表示データを受信したので、表示部２２に送信することで表示させる。ステップS4.8.1.8の処理は実施例１と同様になる。
【０２５９】
S6a：ユーザーが選択可能候補を消去したり、手書きオブジェクトに追加で手書きしたりすると、手書き入力部２１は選択可能候補表示消去又は手書きオブジェクトの変化の発生を表示制御部４１に送信する。
【０２６０】
S6b：表示制御部４１は選択可能候補表示消去又は手書きオブジェクトの変化の発生を情報処理システム１０に通知するため、通信部４２に送信する。
【０２６１】
S6c：通信部４２は選択可能候補表示消去又は手書きオブジェクトの変化の発生を情報処理システム１０に送信する。
【０２６２】
S6d：情報処理システム１０の通信部４３は選択可能候補表示消去又は手書きオブジェクトの変化の発生を受信して、手書き入力表示制御部２３に送信する。ステップS6.1、S4.8.1.8.1の処理は実施例１と同様になる。
【０２６３】
S6.2a：手書き入力表示制御部２３は選択可能候補表示データ消去を通信部４３に送信する。
【０２６４】
S6.2b:通信部４３は手書き入力装置２に選択可能候補表示データ消去を送信する。
【０２６５】
S6.2c:手書き入力装置２の通信部４２は選択可能候補表示データ消去を受信し、表示制御部４１に送信する。
【０２６６】
S6.2d:表示制御部４１は選択可能候補表示データ消去を受信したので、表示部２２に送信することで選択可能候補を消去させる。
【０２６７】
S6.3a：手書き入力表示制御部２３は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を通信部４３に送信する。
【０２６８】
S6.3b:通信部４３は手書き入力装置２に手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を送信する。
【０２６９】
S6.3c:手書き入力装置２の通信部４２は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を受信し、表示制御部４１に送信する。
【０２７０】
S6.3d:表示制御部４１は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を受信したので、表示部２２に送信することで手書きオブジェクトと選択オブジェクトの矩形領域を消去させる。したがって、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きオブジェクトはそのまま表示が維持される。
【０２７１】
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS7〜S7.14が実行される。
【０２７２】
S7a：選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部２１は文字列候補又は操作コマンドの候補選択を表示制御部４１に送信する。
【０２７３】
S7b：表示制御部４１は文字列候補又は操作コマンドの候補選択を情報処理システム１０に通知するため、通信部４２に送信する。
【０２７４】
S7c：通信部４２は文字列候補又は操作コマンドの候補選択を情報処理システム１０に送信する。
【０２７５】
S7d：情報処理システム１０の通信部４３は文字列候補又は操作コマンドの候補選択を受信して、手書き入力表示制御部２３に送信する。ステップS7.1〜S7.2.3の処理は実施例１と同様になる。
【０２７６】
S7.3a: 次に手書き入力表示制御部２３は選択可能候補表示データ消去を通信部４３に送信する。
【０２７７】
S7.3b：通信部４３は選択可能候補表示データ消去を手書き入力装置２に送信する。
【０２７８】
S7.3c：手書き入力装置２の通信部４２は選択可能候補表示データ消去を受信し、表示制御部４１に送信する。
【０２７９】
S7.3d：表示制御部４１は選択可能候補表示データ消去を受信したので、表示部２２に選択可能候補を消去させる。
【０２８０】
S7.4a：手書き入力表示制御部２３は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を通信部４３に送信する。
【０２８１】
S7.4b：通信部４３は矩形領域表示データ消去を手書き入力装置２に送信する。
【０２８２】
S7.4c：手書き入力装置２の通信部４２は矩形領域表示データ消去を受信し、表示制御部４１に送信する。
【０２８３】
S7.4d：表示制御部４１は矩形領域表示データ消去を受信したので、表示部２２に矩形領域を消去させる。
【０２８４】
S7.5a：手書き入力表示制御部２３は手書きオブジェクト表示データ消去を通信部４３に送信する。
【０２８５】
S7.5b：通信部４３は手書きオブジェクト表示データ消去を手書き入力装置２に送信する。
【０２８６】
S7.5c：手書き入力装置２の通信部４２は手書きオブジェクト表示データ消去を受信し、表示制御部４１に送信する。
【０２８７】
S7.5d：表示制御部４１は手書きオブジェクト表示データ消去を受信したので、表示部２２に手書きオブジェクトとペン座標補完表示データを消去させる。ステップS7.6の処理は実施例１と同様でよい。
【０２８８】
文字列候補が選択された場合、ステップS7.7〜S7.9が実行される。ステップS7.7、S7.8の処理は実施例１と同様でよい。
【０２８９】
S7.9a: 次に手書き入力表示制御部２３は手書き入力保存部２５から受信した定義済みフォントを使用して、手書きオブジェクトと同じ位置に表示させる文字列オブジェクト表示データを通信部４３に送信する。
【０２９０】
S7.9b：通信部４３は文字列オブジェクト表示データを手書き入力装置２に送信する。
【０２９１】
S7.9c：手書き入力装置２の通信部４２は文字列オブジェクト表示データを受信し、表示制御部４１に送信する。
【０２９２】
S7.9d：表示制御部４１は文字列オブジェクト表示データを受信したので、表示部２２に文字列オブジェクトを表示させる。
【０２９３】
操作コマンドの候補が選択された場合、ステップS7.10〜S7.13が実行される。更に、選択オブジェクトがある場合はステップS7.10〜S7.12が実行される。
【０２９４】
S7.10a：選択オブジェクトへの操作コマンドの候補が選択された場合（選択オブジェクトが存在する場合）は、手書き入力表示制御部２３は選択オブジェクト表示データ消去を通信部４３に送信する。いったん、元の選択オブジェクトを消去するためである。
【０２９５】
S7.10b：通信部４３は選択オブジェクト表示データ消去を手書き入力装置２に送信する。
【０２９６】
S7.10c：手書き入力装置２の通信部４２は選択オブジェクト表示データ消去を受信し、表示制御部４１に送信する。
【０２９７】
S7.10d：表示制御部４１は選択オブジェクト表示データ消去を受信したので、表示部２２に選択オブジェクトを消去させる。
【０２９８】
S7.11:次に、手書き入力表示制御部２３は選択オブジェクトへの操作コマンド実行を手書き入力保存部２５に送信する。手書き入力保存部２５は新しい選択オブジェクトの表示データ（編集又は修飾後の表示データ）を手書き入力表示制御部２３に送信する。
【０２９９】
S7.12a: 次に手書き入力表示制御部２３は選択オブジェクト表示データを通信部４３に送信する。
【０３００】
S7.12b：通信部４３は選択オブジェクト表示データを手書き入力装置２に送信する。
【０３０１】
S7.12c：手書き入力装置２の通信部４２は選択オブジェクト表示データを受信し、表示制御部４１に送信する。
【０３０２】
S7.12d：表示制御部４１は選択オブジェクト表示データを受信したので、表示部２２に操作コマンド実行後の選択オブジェクトを再表示させる。ステップS7.13、S7.14の処理は実施例１と同様でよい。
【０３０３】
このように、手書き入力装置２と情報処理システム１０とが通信するシステム形態でも、実施例１と同様の効果を奏することができる。なお、図２７〜図３３の処理の流れは一例であって、手書き入力装置２と情報処理システム１０とが通信することにより生じる処理が含まれていたり、又は、処理が省略されたりしてもよい。また、情報処理システム１０が行う処理の一部を手書き入力装置２が行ってもよい。例えば、削除に関する処理を手書き入力装置２が行ってもよい。
【０３０４】
＜操作ガイドの表示例＞
手書き認識システムの場合の操作ガイド５００は図１４と同様でよい。当然ながら、デザインなどを変更することは可能である。本実施例では英語が手書きされた場合に表示される操作ガイドの一例を説明する。
【０３０５】
図３４は操作ガイド５００の一例を示す。英語のような外国語を情報処理システム１０が認識する場合、言語の種類さえも認識できるとよい。しかし、認識精度を高めるためには何らの方法でユーザーが手書きした言語の種類を特定する方法がある。例えば、手書き入力装置２が表示するメニューからユーザーが言語の種類を選択して情報処理システム１０に通知する。あるいは、ロケール（使用言語）を含むユーザーの属性をユーザーが情報処理システム１０に登録しておき、ユーザーがログインすることで言語の種類が特定されてもよい。あるいは、情報処理システム１０がインターネットにある場合、手書き入力装置２のＩＰアドレスによって国や地域を判定して、国や地域で使用される言語を情報処理システム１０が判定してよい。
【０３０６】
(1) 図３４では、例えば、ユーザーが「ｐｌ（ぴーえる）」を手書きした。
【０３０７】
(2) 手書き認識制御部２６、手書き認識辞書部２７、文字列変換制御部２８、文字列変換辞書部２９、予測変換制御部３０、及び予測変換辞書部３１は英語に対応したものが用意されており、手書き認識制御部２６は「ｐｌ」が英語であるとして認識を行う。情報処理システム１０は「ｐｌ」という文字コードを認識し、「ｐｌ」を一部に含む変換文字列候補５０７、及び、変換文字列を含む予測文字列候補５０８を手書き入力装置２に送信する。これにより手書き入力装置２は「play」「place」「placard」「placenta」「play ground」など「pl」から始まる単語や熟語（選択可能候補）を表示することができる。なお、図３４では省略されているが、操作コマンドが表示される場合もある。
【０３０８】
(3) ユーザーが「play」を選択すると、操作ガイド５００と手書きオブジェクト５０４が消去され、「play」が表示される。
【０３０９】
＜まとめ＞
したがって、本実施例では、手書き入力装置２と情報処理システム１０が通信する手書き入力システム１００においても実施例１と同様に手書き認識することができる。
【０３１０】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０３１１】
例えば、本実施形態では電子黒板を一例として説明したが、タッチパネルを有する情報処理装置であれば好適に適用できる。また、電子黒板と同様の機能を有する装置を、電子ホワイトボード、電子情報ボード、インタラクティブボードなどともいう。タッチパネルを搭載した情報処理装置としては、例えば、ＰＪ（Projector：プロジェクタ）、デジタルサイネージ等の出力装置、ＨＵＤ（Head Up Display）装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートＰＣ（Personal Computer）、携帯電話、スマートフォン、タブレット端末、ゲーム機、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、ウェアラブルＰＣ又はデスクトップＰＣ等であってもよい。
【０３１２】
また、本実施形態ではペン先の座標をタッチパネルで検知する方法でペンの座標を検出したが、ペン先の座標を超音波により検出してもよい。また、ペンは発光と共に超音波を発信しており、手書き入力装置２は超音波の到達時間により距離を算出する。方向と距離によりペンの位置を特定できる。ペンの軌跡をストロークとしてプロジェクタが描画（投影）する。
【０３１３】
また、本実施形態では、選択オブジェクトがある場合に編集系及び修飾系の操作コマンドの候補を表示し、選択オブジェクトがない場合に入出力系の操作コマンドの候補を表示した。しかし、編集系及び修飾系の操作コマンドの候補と入出力系の操作コマンドの候補を同時に表示してもよい。
【０３１４】
また、図６、図２６などの構成例は、手書き入力装置２による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。手書き入力装置２の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０３１５】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP（digital signal processor）、FPGA（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【０３１６】
２          手書き入力装置
２１        手書き入力部
２２        表示部
２３        手書き入力表示制御部
２４        候補表示タイマー制御部
２５        手書き入力保存部
２６        手書き認識制御部
２７        手書き認識辞書部
２８        文字列変換制御部
２９        文字列変換辞書部
３０        予測変換制御部
３１        予測変換辞書部
３２        操作コマンド認識制御部
３３        操作コマンド定義部
３４        ユーザー認証部
３５        認証情報取得部
【先行技術文献】
【特許文献】
【０３１７】
【特許文献１】特開2018−026185号公報
【図１】
2020064625.tif 000003
【図２】
2020064625.tif 000004
【図３】
2020064625.tif 000005
【図４】
2020064625.tif 000006
【図５】
2020064625.tif 000007
【図６】
2020064625.tif 000008
【図７】
2020064625.tif 000009
【図８】
2020064625.tif 000010
【図９】
2020064625.tif 000011
【図１０】
2020064625.tif 000012
【図１１】
2020064625.tif 000013
【図１２】
2020064625.tif 000014
【図１３】
2020064625.tif 000015
【図１４】
2020064625.tif 000016
【図１５】
2020064625.tif 000017
【図１６】
2020064625.tif 000018
【図１７】
2020064625.tif 000019
【図１８】
2020064625.tif 000020
【図１９】
2020064625.tif 000021
【図２０】
2020064625.tif 000022
【図２１】
2020064625.tif 000023
【図２２】
2020064625.tif 000024
【図２３】
2020064625.tif 000025
【図２４】
2020064625.tif 000026
【図２５】
2020064625.tif 000027
【図２６】
2020064625.tif 000028
【図２７】
2020064625.tif 000029
【図２８】
2020064625.tif 000030
【図２９】
2020064625.tif 000031
【図３０】
2020064625.tif 000032
【図３１】
2020064625.tif 000033
【図３２】
2020064625.tif 000034
【図３３】
2020064625.tif 000035
【図３４】
2020064625.tif 000036