(57)【要約】      （修正有）【課題】文字列入力用フレームを表示させなくても文字等の挿入が可能な表示装置を提供する。【解決手段】タッチパネルに接触している入力手段の位置に基づいて手書きされた手書きデータを表示する表示装置であって、手書きデータの認識に関する制御を行う手書き認識制御部２６と、手書き認識制御部２６により手書きデータから変換された確定データを表示手段に表示する表示部２２と、確定データの周囲に手書きされた手書きデータが確定データに対し所定の条件を満たす場合、確定データを構成する文字と文字の間に、確定データの周囲に手書きされた手書きデータが手書き認識制御部２６により変換された文字列候補を挿入する文字列挿入制御部４１と、を有する。【選択図】図５
2020194542.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレーに接触している入力手段の位置に基づいて手書きされた手書きデータを表示する表示装置であって、
前記手書きデータの認識に関する制御を行う手書き認識制御手段と、
前記手書き認識制御手段により前記手書きデータから変換された確定データを表示手段に表示する表示制御手段と、
前記確定データの周囲に手書きされた手書きデータが前記確定データに対し所定の条件を満たす場合、前記確定データを構成する文字と文字の間に、前記確定データの周囲に手書きされた手書きデータが前記手書き認識制御手段により変換された文字列候補を挿入する文字列挿入制御手段と、を有し、
前記表示制御手段は、前記確定データを構成する文字と文字の間に、前記手書き認識制御手段により変換された文字列候補が挿入された挿入文字列候補を表示することを特徴とする表示装置。
【請求項２】
前記文字列挿入制御手段が、前記所定の条件を満たすと判定した場合、
前記表示制御手段は、
前記確定データの周囲に手書きされた手書きデータが前記手書き認識制御手段により変換された文字列候補、及び、
前記確定データを構成する文字と文字の間に、前記手書き認識制御手段により変換された文字列候補が挿入された挿入文字列候補を選択可能に表示することを特徴とする請求項１に記載の表示装置。
【請求項３】
前記入力手段により前記挿入文字列候補の選択が受け付けられた場合、
前記表示制御手段は、前記確定データと前記手書きデータを消去して、前記挿入文字列候補を前記確定データが表示されていた位置に表示することを特徴とする請求項２に記載の表示装置。
【請求項４】
前記入力手段により前記文字列候補の選択が受け付けられた場合、
前記表示制御手段は、前記確定データを消去せず、前記手書きデータを消去して、
前記文字列候補を前記手書きデータが表示されていた位置に表示することを特徴とする請求項２に記載の表示装置。
【請求項５】
前記所定の条件は、前記確定データと前記確定データの周囲に手書きされた手書きデータの距離が閾値以下又は閾値未満であることであり、
前記所定の条件を満たす場合、
前記文字列挿入制御手段は、前記確定データを構成する文字であって、前記手書きデータの先頭の文字に近い上位２つの文字の間に、前記確定データの周囲に手書きされた手書きデータが前記手書き認識制御手段により変換された文字列候補を挿入して、前記挿入文字列候補を生成することを特徴とする請求項２〜４のいずれか１項に記載の表示装置。
【請求項６】
前記所定の条件は、前記確定データの周囲に手書きされた手書きデータに予め定められた挿入記号が含まれていることであり、
前記所定の条件を満たす場合、
前記文字列挿入制御手段は、前記確定データを構成する文字であって、前記確定データに対し前記挿入記号が最も近接している上位２つの文字の間に、
前記確定データの周囲に手書きされた手書きデータが前記手書き認識制御手段により変換された文字列候補を、前記挿入記号を除いて挿入して、前記挿入文字列候補を生成することを特徴とする請求項５に記載の表示装置。
【請求項７】
前記表示制御手段は、前記確定データの周囲に手書きされた手書きデータが前記手書き認識制御手段により変換された文字列候補、及び、
前記確定データを構成する文字と文字の間に、前記手書き認識制御手段により変換された文字列候補が挿入された挿入文字列候補を表示し、
前記入力手段により前記挿入文字列候補の選択が受け付けられた場合、
前記表示制御手段は、前記確定データと前記挿入記号を含む前記手書きデータを消去して、
前記挿入文字列候補を前記確定データが表示されていた位置に表示することを特徴とする請求項６に記載の表示装置。
【請求項８】
前記入力手段により前記文字列候補の選択が受け付けられた場合、
前記表示制御手段は、前記確定データを消去せず、前記挿入記号を消去せず、前記挿入記号を含まない前記手書きデータを消去して、
前記文字列候補を前記手書きデータが表示されていた位置に表示することを特徴とする請求項７に記載の表示装置。
【請求項９】
ディスプレーに接触している入力手段の位置に基づいて手書きされた手書きデータを表示する表示装置を、
前記手書きデータの認識に関する制御を行う手書き認識制御手段と、
前記手書き認識制御手段により前記手書きデータから変換された確定データを表示手段に表示する表示制御手段と、
前記確定データの周囲に手書きされた手書きデータが前記確定データに対し所定の条件を満たす場合、前記確定データを構成する文字と文字の間に、前記確定データの周囲に手書きされた手書きデータが前記手書き認識制御手段により変換された文字列候補を挿入する文字列挿入制御手段、として機能させ、
前記表示制御手段は、前記確定データを構成する文字と文字の間に、前記手書き認識制御手段により変換された文字列候補が挿入された挿入文字列候補を表示するプログラム。
【請求項１０】
ディスプレーに接触している入力手段の位置に基づいて手書きされた手書きデータを表示する表示装置が行う表示方法であって、
手書き認識制御手段が、前記手書きデータの認識に関する制御を行うステップと、
表示制御手段が、前記手書き認識制御手段により前記手書きデータから変換された確定データを表示手段に表示するステップと、
前記確定データの周囲に手書きされた手書きデータが前記確定データに対し所定の条件を満たす場合、文字列挿入制御手段が、前記確定データを構成する文字と文字の間に、前記確定データの周囲に手書きされた手書きデータが前記手書き認識制御手段により変換された文字列候補を挿入するステップと、
前記表示制御手段が、前記確定データを構成する文字と文字の間に、前記手書き認識制御手段により変換された文字列候補が挿入された挿入文字列候補を表示するステップと、
を有することを特徴とする表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置、プログラム、及び、表示方法に関する。
【背景技術】
【０００２】
コンピュータ制御のホワイトボード装置又は手書き入力が可能なアプリケーションでは、ユーザーが文字などを手書きするだけでなく、手書きした文字等を認識してテキストデータに変換して表示することができるものがある。例えば、ユーザーはメニューを選択して手書きモードから手書き文字認識モードに切り替えて、手書きした文字等をテキストデータに変換できる。
【０００３】
このような表示装置を使用中、すでにテキストデータに変換された文字列に後から文字等を挿入する技術が考案されている（例えば、特許文献１参照。）。特許文献１には、音声認識で表示された文字列の挿入したい位置にユーザーが触れると、表示端末上における予め定められた位置に文字列入力用フレームを表示し、文字列入力用フレームに入力された文字列をユーザーが触れた位置に挿入する音声認識誤り修正装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、文字等の挿入に文字列入力用フレームを表示させる必要があるという問題がある。
【０００５】
本発明は、文字列入力用フレームを表示させなくても文字等の挿入が可能な表示装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題に鑑み、本発明は、ディスプレーに接触している入力手段の位置に基づいて手書きされた手書きデータを表示する表示装置であって、前記手書きデータの認識に関する制御を行う手書き認識制御手段と、前記手書き認識制御手段により前記手書きデータから変換された確定データを表示手段に表示する表示制御手段と、前記確定データの周囲に手書きされた手書きデータが前記確定データに対し所定の条件を満たす場合、前記確定データを構成する文字と文字の間に、前記確定データの周囲に手書きされた手書きデータが前記手書き認識制御手段により変換された文字列候補を挿入する文字列挿入制御手段と、を有し、前記表示制御手段は、前記確定データを構成する文字と文字の間に、前記手書き認識制御手段により変換された文字列候補が挿入された挿入文字列候補を表示することを特徴とする。
【発明の効果】
【０００７】
文字列入力用フレームを表示させなくても文字等の挿入が可能な表示装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】表示装置が行う文字列の挿入方法を説明する図である。
【図２】表示装置の一例の全体構成図である。
【図３】ペンの斜視図の一例である。
【図４】表示装置の一例のハードウェア構成図である。
【図５】表示装置が有する機能をブロック状に示す一例の機能ブロック図である。
【図６】表示装置が有するユーザー認証に関する機能をブロック状に示す一例の機能ブロック図である。
【図７】定義済み制御データの一例を示す図である。
【図８】手書き認識辞書部の辞書データの一例を示す図である。
【図９】文字列変換辞書部の辞書データの一例を示す図である。
【図１０】予測変換辞書部の辞書データの一例を示す図である。
【図１１】操作コマンド定義部が保持する操作コマンド定義データとシステム定義データの一例を示す図である。
【図１２】手書きデータにより選択された選択データがある場合の操作コマンド定義データの一例を示す図である。
【図１３】選択データがない場合に操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。
【図１４】選択データの指定例を説明する図の一例である。
【図１５】手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図の一例である。
【図１６】手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図の一例である。
【図１７】確定データと手書きデータに基づく文字列を挿入した挿入文字列候補を表示するか否かの判定を説明する図である。
【図１８】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その１）。
【図１９】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その２）。
【図２０】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その３）。
【図２１】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その４）。
【図２２】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その５）。
【図２３】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その６）。
【図２４】挿入記号の使用例と挿入記号の一例を示す図である。
【図２５】表示装置が行う挿入文字列候補の表示方法を説明する図である。
【図２６】表示装置が有する機能をブロック状に示す機能ブロック図の一例である（実施例２）。
【図２７】確定データと手書きデータに基づく文字列を挿入した挿入文字列候補を表示するか否かの判定を説明する図である。
【図２８】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その１）。
【図２９】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その２）。
【図３０】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その３）。
【図３１】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その４）。
【図３２】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その５）。
【図３３】表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その６）。
【図３４】表示装置の他の構成例を示す図である。
【図３５】表示装置の他の構成例を示す図である。
【図３６】表示装置の他の構成例を示す図である。
【図３７】表示装置の他の構成例を示す図である。
【図３８】手書き入力システムのシステム構成図の一例である。
【図３９】情報処理システムのハードウェア構成図の一例である。
【図４０】手書き入力システムが有する機能をブロック状に示す機能ブロック図の一例である（実施例３）。
【図４１】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その１）。
【図４２】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その２）。
【図４３】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その３）。
【図４４】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その４）。
【図４５】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その５）。
【図４６】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その６）。
【図４７】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その７）。
【図４８】手書き入力システムが有する機能をブロック状に示す機能ブロック図の一例である（実施例４）。
【図４９】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その１）。
【図５０】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その２）。
【図５１】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その３）。
【図５２】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その４）。
【図５３】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その５）。
【図５４】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その６）。
【図５５】手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である（その７）。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態の一例として、表示装置及び表示装置が行う表示方法について図面を参照しながら説明する。
【００１０】
本実施例では、日本語による実施例を記載しているが、本願発明は、日本語に限定されることなく、例えば、英語、中国語、台湾語、韓国語等にも利用することができるものであるため、本願発明の実施形態は、日本語に限定されるものではない。
【実施例１】
【００１１】
＜表示装置の動作の概略＞
図１は、本実施形態の表示装置が行う文字列の挿入方法を説明する図である。下図では「本日の議事」という確定データ５７３に、「主要」という文字列を挿入し、「本日の主要議事」を表示する場合を説明する。
(1) 「本日の議事」という確定データ５７３がすでに表示されている。確定データ５７３の下の「主要」を挿入したい場所に（確定データ５７３の周囲であればよい）、ユーザーは挿入記号(図１の場合は、上に凸の図形)５７６と「しゅよう」という手書きデータ５０４を追記する。挿入記号５７６を含めて手書きデータ５０４である。
(2) 表示装置は、確定データ５７３に対し手書きデータ５０４が所定の条件を満たすか否かを判定する。所定の条件は、挿入記号の有無、及び、手書きデータ５０４と確定データとの距離が閾値以下（又は閾値未満）であるか否かである。所定の条件を満たす場合、挿入文字列候補５７０を操作ガイド５００に含めて表示すると判定する。挿入文字列候補は、確定データ５７３に手書きデータに基づく文字列候補が挿入された文字列である。また、表示装置は、通常の手書き入力と同様に「主要」の認識で得られた文字列候補を表示する。したがって、表示装置は、「本日の主要議事」という挿入文字列候補５７０、挿入記号を除く手書きデータ５０４の認識結果である「しゅよう」という手書き認識文字列候補５０６、及び、「主要」という言語文字列候補５７１、を選択可能候補として表示する。
(3) ユーザーが「本日の主要議事」を選択した場合、確定データ５７３は「本日の主要議事」という挿入文字列候補５７０に置き換えられる。また、挿入記号５７６は削除される。
(4) ユーザーが「本日の主要議事」を選択せず、例えば「主要」を選択した場合、「主要」という文字列が「本日の議事」の下に表示される。挿入記号５７６は、文字の装飾とみなされ、そのまま残る。
【００１２】
このように、本実施形態の表示装置は、確定データ５７３に対し手書きデータ５０４が所定の条件を満たすか否かを判定するので、文字列の挿入を、特別な操作なく実施することができる。また、挿入文字列候補５７０と共に、手書き認識文字列候補５０６、及び、言語文字列候補５７１を選択可能に表示するので、ユーザーが挿入せずに手書きしたい場合は手書き認識文字列候補５０６、及び、言語文字列候補５７１を選択し、挿入したければ挿入文字列候補５７０を選択すればよい。また、挿入記号を残して手書きした文字列を入力することもできる。
【００１３】
＜用語について＞
入力手段とはディスプレーに手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。また、視線入力が可能でもよい。
【００１４】
確定データとは文字認識によりテキストデータに変換済みの文字列である。正しい変換か否かは問わない。なお、文字には、数値、記号、アルファベットなども含まれる。
【００１５】
手書きデータとは、ディスプレー上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがディスプレーに入力手段を押しつけてから連続的に移動させた後、ディスプレーから離すという一連の操作をストロークといい、ストロークにより手書きされたデータをストロークデータという。手書きデータは１つ以上のストロークデータを有する。
【００１６】
挿入とは、中にさし込むことをいうが、文字と文字の間に挿入する他、先頭や末尾に追加してもよい。
【００１７】
挿入文字列候補は、確定データに、手書きデータに基づいて生成された文字列が挿入された文字列である。ユーザーによる選択の候補として表示されてよい。
【００１８】
挿入記号は、ユーザーが表示装置に文字の挿入を指示する校正記号の１つである。校正記号とは、誤りの修正指示を簡便かつ正確に記述できる記号である。校正記号はJISZ 8208に規定されている。本実施形態では日本語の挿入記号を説明するが、使用者の国に応じた挿入記号が使用されるとよい。どの国の挿入記号を使用するかをユーザーが選択できてよい。また、規格化された挿入記号とは別の挿入記号が使用されてもよい。
【００１９】
＜装置の全体構成＞
図２を用いて、本実施形態に係る表示装置２の全体構成を説明する。図２は、表示装置２の全体構成図を示した図である。図２（ａ）では、表示装置２の一例として、壁につり下げられた横長の電子黒板として使用される表示装置２を示している。
【００２０】
表示装置２は、タッチパネルと一体のディスプレーに接触している入力手段の位置に基づいて手書きされた手書きデータを表示する装置である。ユーザーが手で書いたデータを入力できるので手書き入力装置とも呼ばれる。
【００２１】
図２（ａ）に示されているように、表示装置２の上部にはディスプレー２２０が設置されている。ユーザーＵは、ペン２５００を用いて、ディスプレー２２０に文字等を手書きする（入力、描画ともいう）することができる。
【００２２】
図２（ｂ）は壁につり下げられた縦長の電子黒板として使用される表示装置２を示している。
【００２３】
図２（ｃ）は机２３０に平置きされた表示装置２を示す。表示装置２は厚みが１ｃｍ程度なので、一般の机に平置きしても机の高さを調整する必要がない。また、容易に移動できる。
【００２４】
＜ペンの外観の一例＞
図３は、ペン２５００の斜視図の一例を示す。図３は多機能なペン２５００の一例を示す。電源を内蔵して表示装置２に命令を送信できるペン２５００をアクティブペンという（電源を内蔵しないペンをパッシブペンという）。図３のペン２５００は、物理的なスイッチがペン先に一つ、ペン尻に一つ、ペン側面に二つあり、ペン先が筆記用、ペン尻が消去用、ペン側面はユーザー機能割り当て用である。本実施形態のペン２５００は不揮発性のメモリーを有しており、他のペンと重複しないペンＩＤを記憶している。
【００２５】
なお、スイッチ付きのペンであれば、ユーザーの表示装置２の操作手順を減らすことも可能である。スイッチ付きのペンとは主にアクティブペンを言うが、電磁誘導方式では電源を内蔵しないパッシブペンでもＬＣ回路だけで電力を発生できるため、アクティブペンだけでなく電磁誘導方式のパッシブペンを含む。電磁誘導方式以外の光学方式、赤外線方式、及び、静電容量方式のスイッチのあるペンはアクティブペンである。
【００２６】
なお、ペン２５００のハードウェア構成は、通信機能とマイコンを備えた一般的な制御方式と同様であるとする。ペン２５００の座標の入力方式には、電磁誘導方式、アクティブ静電結合方式などがある。また、ペン２５００は、筆圧検知、傾き検知、ホバー機能（ペンが触れる前にカーソルを表示）、などの機能を有していてよい。
【００２７】
＜装置のハードウェア構成＞
続いて、図４を用いて、表示装置２のハードウェア構成を説明する。表示装置２は図示するように情報処理装置又はコンピュータの構成を有している。図４は、表示装置２のハードウェア構成図の一例である。図４に示されているように、表示装置２は、ＣＰＵ(Central Processing Unit)２０１、ＲＯＭ(Read Only Memory)２０２、ＲＡＭ(Random Access Memory)２０３、及び、ＳＳＤ(Solid State Drive)２０４を備えている。
【００２８】
これらのうち、ＣＰＵ２０１は、表示装置２全体の動作を制御する。ＲＯＭ２０２は、ＣＰＵ２０１やＩＰＬ(Initial Program Loader)等のＣＰＵ２０１の駆動に用いられるプログラムを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。ＳＳＤ２０４は、表示装置２用のプログラム等の各種データを記憶する。
【００２９】
また、表示装置２は、ディスプレーコントローラー２１３、タッチセンサーコントローラー２１５、タッチセンサー２１６、ディスプレー２２０、電源スイッチ２２７、チルトセンサー２１７、シリアルインターフェース２１８、スピーカー２１９、マイク２２１、無線通信装置２２２、赤外線Ｉ／Ｆ２２３、電源制御回路２２４、ＡＣアダプター２２５、及びバッテリー２２６を備えている。
【００３０】
ディスプレーコントローラー２１３は、出力画像をディスプレー２２０等へ出力するために画面表示の制御及び管理を行う。タッチセンサー２１６は、ディスプレー２２０上にペン２５００やユーザーの手等（ペンやユーザーの手は入力手段となる）が接触したことを検知する。また、タッチセンサー２１６はペンＩＤを受信する。
【００３１】
タッチセンサーコントローラー２１５は、タッチセンサー２１６の処理を制御する。タッチセンサー２１６は、座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、例えば、光学式の場合、ディスプレー２２０の上側両端部に設置された２つ受発光装置が、ディスプレー２２０に平行して複数の赤外線を放射し、ディスプレー２２０の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。タッチセンサー２１６は、物体によって遮断された２つの受発光装置が放射した赤外線の位置情報をタッチセンサーコントローラー２１５に出力し、タッチセンサーコントローラー２１５が、物体の接触位置である座標位置を特定する。また、タッチセンサーコントローラー２１５は通信ユニット２１５ａを有しており、ペン２５００と無線で通信することができる。例えば、Bluetooth（登録商標）などの規格で通信している場合は、市販されているペンを使用することができる。通信ユニット２１５ａに予め１つ以上のペン２５００を登録しておくと、ユーザーはペン２５００を表示装置２と通信させる接続設定を行わなくても通信できる。
【００３２】
電源スイッチ２２７は、表示装置２の電源のＯＮ／ＯＦＦを切り換えるためのスイッチである。チルトセンサー２１７は、表示装置２の傾き角度を検出するセンサーである。主に、表示装置２が図２（ａ）、図２（ｂ）、又は、図２（ｃ）のいずれかの設置状態で使用されているかを検出するために使用され、設置状態に応じて文字等の太さを自動で変更することができる。
【００３３】
シリアルインターフェース２１８はＵＳＢなどの外部との通信インターフェースである。外部からの情報の入力などに使用される。スピーカー２１９は音声の出力に使用され、マイク２２１は音声の入力に使用される。無線通信装置２２２は、ユーザーが携帯する端末と通信し、例えばインターネットへの接続を中継する。無線通信装置２２２はWi−FiやBluetooth（登録商標）などで通信するが、通信規格は問われない。無線通信装置２２２はアクセスポイントを形成しており、ユーザーが入手したＳＳＩＤ（Service Set Identifier）とパスワードをユーザーが携帯する端末に設定すると、アクセスポイントに接続できる。
【００３４】
なお、無線通信装置２２２には２つのアクセスポイントが用意されているとよい。
a. アクセスポイント→インターネット
b. アクセスポイント→社内ネットワーク→インターネット
ａのアクセスポイントは社外のユーザー用で、ユーザーは社内ネットワークにはアクセスできないが、インターネットを利用できる。ｂのアクセスポイントは社内のユーザー用で、ユーザーは社内ネットワーク及びインターネットを利用できる。
【００３５】
赤外線Ｉ／Ｆ２２３は隣に配置された表示装置２を検出する。赤外線の直進性を利用して、隣に配置された表示装置２のみを検出できる。赤外線Ｉ／Ｆ２２３は各辺に１つずつ設けられることが好ましく、表示装置２のどの方向に他の表示装置２が配置されたのかを検出できる。これにより画面が広がり、隣の表示装置２に過去に手書きされた手書き情報（１つのディスプレー２２０の広さを１ページとして別のページの手書き情報）等を表示できる。
【００３６】
電源制御回路２２４は表示装置２の電源であるＡＣアダプター２２５とバッテリー２２６を制御する。ＡＣアダプター２２５は商用電源が共有する交流を直流に変換する。
【００３７】
ディスプレー２２０がいわゆる電子ペーパーの場合、画像の表示を維持するためにほとんど又は一切電力を消費しないので、バッテリー２２６による駆動も可能である。これにより、屋外など電源を接続しにくい場所でもデジタルサイネージなどの用途で表示装置２を使用することが可能になる。
【００３８】
更に、表示装置２は、バスライン２１０を備えている。バスライン２１０は、図４に示されているＣＰＵ２０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【００３９】
なお、タッチセンサー２１６は、光学式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する２つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いてもよい。タッチセンサー２１６は、ペン先のタッチの有無を検知するのに電子ペンが必要ない方式であってよい。この場合はタッチ操作をするのに指先やペン型の棒を使用できる。なお、ペン２５００は、細長いペン型である必要はない。
【００４０】
＜装置の機能について＞
次に、図５を用いて、表示装置２が有する機能について説明する。図５は表示装置２が有する機能をブロック状に示す機能ブロック図の一例である。表示装置２は、手書き入力部２１、表示部２２、手書き入力表示制御部２３、候補表示タイマー制御部２４、手書き入力保存部２５、手書き認識制御部２６、手書き認識辞書部２７、文字列変換制御部２８、文字列変換辞書部２９、予測変換制御部３０、予測変換辞書部３１、操作コマンド認識制御部３２、操作コマンド定義部３３、文字列挿入制御部４１、及び、挿入記号定義部４２を備えている。表示装置２が有する各機能は、図４に示されている各構成要素のいずれかが、ＳＳＤ２０４からＲＡＭ２０３上に展開されたプログラムに従ったＣＰＵ２０１からの命令によって動作することで実現される機能又は手段である。
【００４１】
手書き入力部２１はタッチセンサー２１６等により実現されており、ユーザーによる手書き入力を受け付ける。手書き入力部２１はユーザーのペン入力ｄ１をペン操作データｄ２（ペンアップ、ペンダウン、又はペン座標データ）に変換し、手書き入力表示制御部２３に送信する。ペン座標データは離散値として定期的に送信され、離散値間の座標は補完計算される。
【００４２】
表示部２２はディスプレー２２０等により実現され、手書きされたデータや操作メニューを表示する。表示部２２は手書き入力表示制御部２３がビデオメモリーに書き込んだ描画データｄ３をディスプレー２２０の特性に応じたデータに変換し、ディスプレー２２０に送信する。
【００４３】
手書き入力表示制御部２３は手書き入力と表示に関する全体的な制御を行う。手書き入力表示制御部２３は手書き入力部２１からのペン操作データｄ２を処理し、表示部２２に送信することで表示させる。
【００４４】
候補表示タイマー制御部２４は、選択可能候補の表示制御タイマーである。タイマーを開始又は停止して選択可能候補の表示を開始するタイミングと表示を消去するタイミングを生成する。候補表示タイマー制御部２４は手書き入力表示制御部２３からタイマー開始要求ｄ４（タイマー停止要求の場合もある）を受信し、タイムアウトイベントｄ５を手書き入力表示制御部２３に送信する。
【００４５】
手書き入力保存部２５はユーザーデータ（手書きデータ/文字列データ）を保存しておくストレージの機能を有する。手書き入力保存部２５は手書き入力表示制御部２３からユーザーデータｄ６−１を受信し、手書き入力保存部２５に保存し、手書き入力表示制御部２３から取得要求ｄ６−２を受け取って、手書き入力保存部２５に保存されたユーザーデータｄ７を送信する。手書き入力保存部２５は、確定データの位置情報ｄ３６を操作コマンド認識制御部３２に送信する。
【００４６】
手書き認識制御部２６はオンライン手書き認識に関する制御を行う認識エンジンである。一般的なＯＣＲ(Optical Character Reader)とは異なり、ユーザーのペン操作と並行して文字（日本語だけでなく英語などの多国語）、数字、記号（％、＄、＆など）、図形（線、丸、三角など）等を認識していく。認識に関する制御とは手書きデータを文字コードに変換するまでの処理を行うことである。認識方法については様々なアルゴリズムが考案されているが、本実施形態では公知の技術を利用できるとして詳細を割愛する。ユーザーのペン操作と並行して認識するのでなく、ＯＣＲで認識してもよい。
【００４７】
手書き認識制御部２６はペン操作データｄ８−１を手書き入力表示制御部２３から受信し、手書き認識を実行して手書き認識文字列候補を保持する。また、手書き認識制御部２６は手書き認識辞書部２７を使用して手書き認識文字列候補ｄ１２から変換した言語文字列候補を保持しておく。別途、取得要求ｄ８−２を手書き入力表示制御部２３から受信した場合、手書き認識制御部２６は保持している手書き認識文字列候補及び言語文字列候補ｄ９を手書き入力表示制御部２３に送信する。
【００４８】
手書き認識辞書部２７は手書き認識の言語変換用の辞書データである。手書き認識辞書部２７は手書き認識文字列候補ｄ１２を手書き認識制御部２６から受信し、言語的に確からしい言語文字列候補ｄ１３に変換して手書き認識制御部２６に送信する。例えば、日本語の場合は、平仮名を漢字や片仮名へ変換する。
【００４９】
文字列変換制御部２８は変換文字列候補の文字列への変換を制御する。変換文字列とは手書き認識文字列又は言語文字列を含んで生成される可能性が高い文字列である。文字列変換制御部２８は手書き認識文字列及び言語文字列候補ｄ１１を手書き認識制御部２６から受信し、文字列変換辞書部２９を使用して変換文字列候補に変換して保持しておく。別途、取得要求ｄ１４を手書き入力表示制御部２３から受信した場合、保持している変換文字列候補ｄ１５を手書き入力表示制御部２３に送信する。
【００５０】
文字列変換辞書部２９は文字列変換用の辞書データである。文字列変換辞書部２９は文字列変換制御部２８から手書き認識文字列及び言語文字列候補ｄ１７を受信し、変換文字列候補ｄ１８を文字列変換制御部２８に送信する。
【００５１】
予測変換制御部３０は手書き認識文字列及び言語文字列候補ｄ１０を手書き認識制御部２６から受信し、変換文字列候補ｄ１６を文字列変換制御部２８から受信し、それぞれについて予測変換辞書部３１を使用して予測文字列候補に変換しておく。予測変換文字列とは手書き認識文字列、言語文字列又は変換文字列を含んで生成される可能性が高い文字列である。別途、取得要求ｄ１９を手書き入力表示制御部２３から受信した場合、予測文字列候補ｄ２０を手書き入力表示制御部２３に送信する。
【００５２】
予測変換辞書部３１は予測変換用の辞書データである。予測変換辞書部３１は手書き認識文字列及び言語文字列候補と変換文字列候補ｄ２１を予測変換制御部３０から受信し、予測文字列候補ｄ２２を予測変換制御部３０に送信する。
【００５３】
操作コマンド認識制御部３２は手書き認識文字列及び言語文字列候補ｄ３０を手書き認識制御部２６から受信し、変換文字列候補ｄ２８を文字列変換制御部２８から受信し、予測文字列候補ｄ２９を予測変換制御部３０から受信する。そして、それぞれについて操作コマンド変換要求ｄ２６を操作コマンド定義部３３に送信し、操作コマンド定義部３３から操作コマンドの候補ｄ２７を受信する。操作コマンド認識制御部３２は操作コマンドの候補ｄ２７を保持しておく。
【００５４】
操作コマンド定義部３３は操作コマンド変換要求ｄ２６が操作コマンド定義と部分一致している場合は操作コマンドの候補ｄ２７を操作コマンド認識制御部３２に送信する。
【００５５】
また、操作コマンド認識制御部３２はペン操作データｄ２４−１を手書き入力表示制御部２３から受信し、過去に入力され確定した確定データの位置情報取得要求ｄ２３を手書き入力保存部２５に送信し、ペン操作データが指定している確定データを選択データ（位置情報を含む）として保持しておく。操作コマンド認識制御部３２はペン操作データｄ２４−１の位置と所定の基準を満たす選択データを特定する。別途、取得要求ｄ２４−２を手書き入力表示制御部２３から受信した場合、保持している操作コマンドの候補と特定した選択データｄ２５を手書き入力表示制御部２３に送信する。
【００５６】
文字列挿入制御部４１は手書き認識文字列及び言語文字列候補ｄ４０を手書き認識制御部２６から受信し、それについて挿入記号判定要求ｄ３８を挿入記号定義部４２に送信し、挿入記号定義部４２から挿入記号判定結果ｄ３９を受信する。文字列挿入制御部４１は挿入記号判定結果ｄ３９を保持しておく。
【００５７】
挿入記号定義部４２は挿入記号判定要求ｄ３８が挿入記号定義を含む場合、挿入ありの挿入記号判定結果ｄ３９を文字列挿入制御部４１に送信する。
【００５８】
また、文字列挿入制御部４１はペン操作データｄ４３を手書き入力表示制御部２３から受信し、過去に入力され確定した確定データの取得要求ｄ３７を手書き入力保存部２５に送信し、ペン操作データと確定データ（位置情報を含む）を保持しておく。文字列挿入制御部４１は手書きデータ（ペン操作データ）の位置と確定データの位置が接近しているかを判定する。別途、挿入判定結果取得要求ｄ４１を手書き入力表示制御部２３から受信した場合、保持している挿入判定結果等ｄ４２を手書き入力表示制御部２３に送信する。
【００５９】
＜ユーザー認証について＞
本実施形態ではユーザー認証の結果を用いた制御が行われるため、表示装置２がユーザー認証する機能を有することが好ましい。このため、図６を用いてユーザー認証に関する機能について説明する。
【００６０】
図６は、表示装置２が有するユーザー認証に関する機能をブロック状に示す図である。なお、図６ではユーザー認証部３４（ユーザー認証手段）と関連する機能として手書き入力表示制御部２３のみを示したが、ユーザーの認証結果は図５に示した各機能が利用できてよい。
【００６１】
認証情報取得部３５はユーザーＵから認証情報ｄ３１を取得する。認証情報ｄ３１はＩＣカードのカード番号、ユーザーＩＤとパスワード、又は、指紋などの生体情報などでよい。ユーザー認証部３４は認証情報ｄ３２を認証情報取得部３５から取得して、認証情報ｄ３３をユーザー情報ＤＢ３６で検索する。検索に適合するユーザーが存在する場合はユーザー情報ｄ３４をユーザー情報ＤＢ３６から取得する。ユーザー情報はユーザーの属性を表す情報であればよく、例えば、ユーザー名、パスワード、ユーザーのコンピュータ名、部署、権限、などでよい。
【００６２】
ユーザー認証部３４はユーザー情報ｄ３５を手書き入力表示制御部２３に送信するので、手書き入力表示制御部２３はユーザー情報を用いて操作コマンドを実行できるようになる。ユーザー情報を用いた操作コマンドに関しては図１１にて説明される。
【００６３】
なお、認証機能は表示装置２が有する他、外部の認証サーバー等が有していてもよい。この場合、表示装置２は認証情報を認証サーバーに送信し、認証結果とユーザー情報を取得する。
【００６４】
＜定義済み制御データについて＞
次に、図７を用いて、表示装置２が各種の処理に使用する定義済み制御データについて説明する。図７は定義済み制御データの一例を示す。図７の例では制御項目ごとに制御データを示す。
【００６５】
選択可能候補表示タイマー４０１は、選択可能候補を表示するまでの時間を定義する（第一の時間の一例）。手書き中に選択可能候補を表示しないためである。図７では、ペンアップからTimerValue＝５００〔ms〕以下又は未満にペンダウンが発生しなければ選択可能候補が表示されることを意味している。選択可能候補表示タイマー４０１は候補表示タイマー制御部２４が保持している。選択可能候補表示タイマー４０１は、後述する図２０のステップS18において選択可能候補表示タイマー開始時に使用される。
【００６６】
選択可能候補消去タイマー４０２は表示した選択可能候補を消去するまでの時間を定義する（第二の時間の一例）。ユーザーが選択可能候補を選択しない場合に選択可能候補を消去するためである。図７では、選択可能候補の表示からTimerValue＝５０００〔ms〕以下又は未満に選択可能候補が選択されなければ選択可能候補表示が消去されることを意味している。選択可能候補消去タイマー４０２は候補表示タイマー制御部２４が保持している。選択可能候補消去タイマー４０２は図２１のステップS57において選択可能候補消去タイマー開始時に使用される。
【００６７】
手書きデータ近傍矩形領域４０３は手書きデータの近傍とみなす矩形領域を定義する。図７の例では、手書きデータ近傍矩形領域４０３は、手書きデータの矩形領域を水平方向に推定文字サイズの50%(Horizontal)拡大し、垂直方向に推定文字サイズの80%(Vertical)拡大した矩形領域となる。図７の例では推定文字サイズの割合（％指定）となっているが、単位を"mm"等とすれば固定長にすることも可能である。手書きデータ近傍矩形領域４０３は手書き入力保存部２５が保持している。推定文字サイズ４０５は図１９のステップS9において、手書きデータ近傍矩形領域とストロークデータ矩形領域の重なり状況の判定で使用される。
【００６８】
推定書字方向/文字サイズ判定条件４０４は、書字方向と文字サイズの測定方向を判定するための定数を定義する。図７の例では、手書きデータ矩形領域の最初にストロークデータが追加された時刻と最後にストロークデータが追加された時刻の差分がMinTime＝1000〔ms〕以上又は超過で、手書きデータ矩形領域の水平距離（幅）と垂直距離（高さ）の差分がMinDiff＝10〔mm〕以上又は超過あり、水平距離が垂直距離以上か又は超過の場合は、推定書字方向は「横書き」、推定文字サイズは垂直距離と判定することを意味する。水平距離が垂直距離未満か又は以下の場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定することを意味する。以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは水平距離と垂直距離の長い方の距離と判定する。推定書字方向/文字サイズ判定条件４０４は手書き入力保存部２５が保持している。推定書字方向/文字サイズ判定条件４０４は図２１のステップS54における推定書字方向取得と、図２３のステップS75、S81における挿入データフォント取得及び文字列データフォント取得で使用される。
【００６９】
推定文字サイズ４０５は文字等のサイズを推定するためのデータを定義する。図７の例では、推定書字方向/文字サイズ判定条件４０４で判定された推定文字サイズが、推定文字サイズ４０５の小さめ文字４０５ａ（以下、最小フォントサイズ、と呼ぶ）と大きめ文字４０５ｃ（以下、最大フォントサイズ）と比較されることを意味する。推定文字サイズが最小フォントサイズ未満か又は以下の場合、推定文字サイズは最小フォントサイズと判定される。推定文字サイズが最大フォントサイズを超過するか又は以上の場合、推定文字サイズは最大フォントサイズと判定される。それ以外は、中くらい文字４０５ｂの文字サイズと判定される。推定文字サイズ４０５は手書き入力保存部２５が保持している。推定文字サイズ４０５は、図２３のステップS75、S81における挿入データフォント取得および文字列データフォント取得で使用される。
【００７０】
手書き入力保存部２５は具体的には、推定書字方向/文字サイズ判定条件４０４で判定された推定文字サイズを推定文字サイズ４０５の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%")の確定データを選択データと判定する。跨ぎ線判定条件４０６は操作コマンド認識制御部３２が保持している。跨ぎ線判定条件４０６は図２０のステップS40における選択データの判定の跨ぎ線判定で使用される。
【００７２】
囲み線判定条件４０７は、手書きデータが囲み線か否かの判定に使用されるデータを定義する。図７の例では、操作コマンド認識制御部３２は手書きデータの長辺方向と短辺方向の重なり率が100%以上又は超過(MinOverLapRate="100%")の確定データを選択データと判定する。囲み線判定条件４０７は、操作コマンド認識制御部３２が保持している。囲み線判定条件４０７は、図２０のステップS40における選択データの囲み線判定で使用される。
【００７３】
なお、跨ぎ線判定条件４０６と囲み線判定条件４０７はどちらが優先して判定されてもよい。例えば、跨ぎ線判定条件４０６を緩やかにして（跨ぎ線を選択しやすくした場合）、囲み線判定条件４０７は厳密にした場合（囲み線のみを選択できるような値とした場合）、操作コマンド認識制御部３２は囲み線判定条件４０７を優先して判定するのがよい。
【００７４】
挿入判定条件４０８は、手書きデータが確定データに挿入されるか否かの判定に使用される閾値を定義する。図７の例では、文字列挿入制御部４１は手書きデータと確定データの最短距離が"２mm"以下又は未満の場合、手書きデータが確定データに挿入されると判定する。なお、閾値は一例である。
【００７５】
＜辞書データの一例＞
図８〜図１０を用いて辞書データについて説明する。図８は手書き認識辞書部２７の辞書データの一例であり、図９は文字列変換辞書部２９の辞書データの一例であり、図１０は予測変換辞書部３１の辞書データの一例である。なお、これらの辞書データはそれぞれ図２０のステップS20〜S30で使用される。
【００７６】
本実施形態では、図８の手書き認識辞書部２７の辞書データによる変換結果を言語文字列候補、図９の文字列変換辞書部２９の辞書データによる変換結果を変換文字列候補、図１０の予測変換辞書部３１の辞書データによる変換結果を予測文字列候補と呼ぶ。各辞書データの「変換前」は辞書データを検索する文字列、「変換後」は検索する文字列に対応した変換後の文字列、「確率」はユーザーが選択する確率を表す。確率は過去にユーザーが各文字列を選択した結果から算出されている。したがって、ユーザーごとに確率が算出されてもよい。確率の計算方法として様々なアルゴリズムが考案されているが、適宜、適切な方法で計算するものとすればよく、詳細は割愛する。本実施形態では、推定書字方向から文字列候補を選択確率降順で表示することを特徴とする。
【００７７】
図８の手書き認識辞書部２７の辞書データでは、手書きされた「ぎ」は、確率0.55で「議」、確率0.4で「技」、手書きされた「ぎし」は、確率0.55で「技士」、確率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：次にユーザーが手書き入力部２１にペンを接触させる。手書き入力部２１はペンダウンを検出して手書き入力表示制御部２３に送信する。
【０１２７】
S3：手書き入力表示制御部２３は手書き入力保存部２５にストローク開始を送信し、手書き入力保存部２５はストロークデータ領域を確保する。
【０１２８】
S4：ユーザーがペンを手書き入力部２１に接触させたまま移動させると、手書き入力部２１はペン座標を手書き入力表示制御部２３に送信する。
【０１２９】
S5：手書き入力表示制御部２３はペン座標補完表示データ（離散的なペン座標を補間するデータ）を表示部２２に送信する。表示部２２はペン座標補完表示データを用いてペン座標を補間して線を表示する。
【０１３０】
S6：手書き入力表示制御部２３はペン座標とその受信時刻を手書き入力保存部２５に送信する。手書き入力保存部２５はペン座標をストロークデータに追加する。ユーザーがペンを動かしている間は、手書き入力部２１は定期的に手書き入力表示制御部２３へのペン座標の送信を繰り返すため、ステップS3〜S6の処理がペンアップされるまで繰り返される。
【０１３１】
S7：ユーザーが手書き入力部２１からペンを離すと、手書き入力部２１はペンアップを手書き入力表示制御部２３に送信する。
【０１３２】
S8：手書き入力表示制御部２３は手書き入力保存部２５にストローク終了を送信し、手書き入力保存部２５はストロークデータのペン座標を確定させる。ストロークデータのペン座標の確定により以降はストロークデータにペン座標を追加できなくなる。
【０１３３】
S9：次に、手書き入力表示制御部２３は手書きデータ近傍矩形領域４０３に基づいて、手書きデータ近傍矩形領域とストロークデータ矩形領域の重なり状況取得を手書き入力保存部２５に送信する。手書き入力保存部２５は重なり状況を計算して重なり状況を手書き入力表示制御部２３に送信する。
【０１３４】
続く、ステップS10〜S15は、手書きデータ近傍矩形領域とストロークデータ矩形領域が重なっていない場合に実行される。
【０１３５】
S10：手書きデータ近傍矩形領域とストロークデータ矩形領域が重なっていない場合、１つの手書きデータが確定するので、手書き入力表示制御部２３は保持データクリアを手書き認識制御部２６に送信する。
【０１３６】
S11〜S13：手書き認識制御部２６は保持データクリアをそれぞれ文字列変換制御部２８、予測変換制御部３０、操作コマンド認識制御部３２に送信する。手書き認識制御部２６、文字列変換制御部２８、予測変換制御部３０及び操作コマンド認識制御部３２がこれまでに保持している文字列候補と操作コマンドの候補に係るデータをクリアする。なお、クリアの時点では最後に手書きされたストロークデータは手書きデータに追加されていない。
【０１３７】
S14：手書き入力表示制御部２３は手書きデータ終了を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きデータを確定させる。手書きデータの確定とは１つの手書きデータが完成したこと（これ以上、ストロークデータが追加されないこと）をいう。
【０１３８】
S15：手書き入力表示制御部２３は手書きデータ開始を手書き入力保存部２５に送信する。次の手書きデータの手書きの開始（ペンダウン）に備えて、手書き入力保存部２５は新しい手書きデータ領域を確保する。
【０１３９】
S16：次に手書き入力表示制御部２３はステップS8で終了したストロークデータに関してストロークデータ追加を手書き入力保存部２５に送信する。ステップS10〜S15が実行された場合、追加されるストロークは手書きデータの最初のストロークであり、手書き入力保存部２５は開始中の手書きデータにストロークデータを追加する。ステップS10〜S15が実行されてない場合、追加されるストロークデータはすでに手書き中の手書きデータに追加される。
【０１４０】
S17：続いて手書き入力表示制御部２３はストロークデータ追加を手書き認識制御部２６に送信する。手書き認識制御部２６は文字列候補が格納されるストロークデータ保持領域にストロークデータを追加する。
【０１４１】
S19：手書き認識制御部２６はこのストロークデータ保持領域に対して手書き認識を実行する。
【０１４２】
S20：手書き認識制御部２６はこの実行結果である手書き認識文字列候補を手書き認識辞書部２７に送信する。手書き認識辞書部２７は言語的に確からしい言語文字列候補を手書き認識制御部２６に送信する。
【０１４３】
S21：手書き認識制御部２６は手書き認識文字列候補及び受信した言語文字列候補を文字列変換制御部２８に送信する。
【０１４４】
S22：文字列変換制御部２８は手書き認識文字列候補及び言語文字列候補を文字列変換辞書部２９に送信する。文字列変換辞書部２９は変換文字列候補を文字列変換制御部２８に送信する。
【０１４５】
S23：文字列変換制御部２８は受信した変換文字列候補を予測変換制御部３０に送信する。
【０１４６】
S24：予測変換制御部３０は受信した変換文字列候補を予測変換辞書部３１に送信する。予測変換辞書部３１は予測文字列候補を予測変換制御部３０に送信する。
【０１４７】
S25: 予測変換制御部３０は受信した予測文字列候補を操作コマンド認識制御部３２に送信する。
【０１４８】
S26:操作コマンド認識制御部３２は受信した予測文字列候補を操作コマンド定義部３３に送信する。操作コマンド定義部３３は操作コマンドの候補を操作コマンド認識制御部３２に送信する。これにより、操作コマンド認識制御部３２は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
【０１４９】
以降ステップS27〜S35の操作コマンドの候補の送信まで同様に処理を行う。
S27：文字列変換制御部２８は受信した変換文字列候補を操作コマンド認識制御部３２に送信する。
【０１５０】
S28:操作コマンド認識制御部３２は受信した変換文字列候補を操作コマンド定義部３３に送信する。操作コマンド定義部３３は操作コマンドの候補を操作コマンド認識制御部３２に送信する。これにより、操作コマンド認識制御部３２は変換文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
【０１５１】
S30：手書き認識制御部２６は手書き認識文字列候補及び言語文字列候補を予測変換制御部３０に送信する。
【０１５２】
S31：予測変換制御部３０は手書き認識文字列候補及び受信した言語文字列候補を予測変換辞書部３１に送信する。予測変換辞書部３１は予測文字列候補を予測変換制御部３０に送信する。
【０１５３】
S32: 予測変換制御部３０は受信した予測文字列候補を操作コマンド認識制御部３２に送信する。
【０１５４】
S33:操作コマンド認識制御部３２は受信した予測文字列候補を操作コマンド定義部３３に送信する。操作コマンド定義部３３は操作コマンドの候補を操作コマンド認識制御部３２に送信する。これにより、操作コマンド認識制御部３２は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
【０１５５】
S34:手書き認識制御部２６は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド認識制御部３２に送信する。
【０１５６】
S35:操作コマンド認識制御部３２は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド定義部３３に送信する。操作コマンド定義部３３は操作コマンドの候補を操作コマンド認識制御部３２に送信する。これにより、操作コマンド認識制御部３２は言語文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
【０１５７】
S36:手書き認識制御部２６は手書き認識文字列候補及び手書き認識辞書部２７から受信した言語文字列候補を文字列挿入制御部４１に送信する。
【０１５８】
S37:文字列挿入制御部４１は手書き認識文字列候補及び言語文字列候補を挿入記号定義部４２に送信する。挿入記号定義部４２は手書き認識文字列候補又は言語文字列候補に挿入記号が含まれているか判定し、含まれている場合には挿入記号ありの挿入記号判定結果を文字列挿入制御部４１に送信する。複数の文字が手書きされている場合、手書き認識文字列又は言語文字列候補のうち挿入記号が何番目の文字であるかを判定して文字列挿入制御部４１に送信する。挿入記号は最初の文字である必要はない。
【０１５９】
S38:手書き認識制御部２６はストロークデータ追加を文字列挿入制御部４１に送信する。
【０１６０】
S38−2: 次に手書き認識制御部２６はストロークデータ追加を操作コマンド認識制御部３２に送信する。
【０１６１】
S39：操作コマンド認識制御部３２は確定データの位置情報取得を手書き入力保存部２５に送信する。手書き入力保存部２５は確定データの位置情報を操作コマンド認識制御部３２に送信する。
【０１６２】
S40: 操作コマンド認識制御部３２は選択データの判定のため、ステップS38のストローク追加で手書き認識制御部２６から受信したストロークデータの位置情報と、手書き入力保存部２５から受信した確定データの位置情報が所定の関係にあるか否かを跨ぎ線判定条件４０６及び囲み線判定条件４０７に基づいて判定し、選択されていると判定できる確定データを選択データとして保存しておく。また、この場合、選択データが特定されるので入出力系の操作コマンドの候補を操作コマンド定義部３３から取得する。
【０１６３】
S41：挿入記号判定結果が挿入記号ありの場合、文字列挿入制御部４１は確定データ取得を手書き入力保存部２５に送信する。複数の確定データが表示されていることが通常なので、手書きデータに最も近い確定データを手書き入力保存部２５が特定する。手書き入力保存部２５はこの確定データを文字列挿入制御部４１に送信する。
【０１６４】
S42：文字列挿入制御部４１は挿入記号を除く手書き認識文字列候補又は言語文字列候補を確定データに挿入するか否かの判定のため、ステップS38のストロークデータ追加で手書き認識制御部２６から受信した手書きデータ、手書き入力保存部２５から受信した確定データが挿入判定条件４０８を満たすか否か判定する。満たしていると判定した場合、確定データのどの文字と文字の間が挿入の対象となるかの挿入位置を保存しておく。また、挿入判定条件４０８を満たす確定データの識別情報を保持しておく（挿入先の確定データを特定するため）。
【０１６５】
また、手書き認識制御部２６、文字列変換制御部２８、予測変換制御部３０、及び、操作コマンド認識制御部３２はそれぞれ手書き認識文字列候補、言語文字列候補、変換文字列候補、予測文字列候補、操作コマンドの候補、及び、選択データに係るデータを後段のステップS47〜S50で取得できるよう保持しておく。文字列挿入制御部４１は、挿入判定結果、挿入位置、確定データの識別情報、及び、挿入記号が何番目の文字であるか、を後段のステップS51のために保持しておく。
【０１６６】
S18：手書き入力表示制御部２３はステップS17でストロークデータ追加を手書き認識制御部２６に送信した直後、選択可能候補表示タイマー開始を候補表示タイマー制御部２４に送信する。候補表示タイマー制御部２４はこのタイマーを開始する。
【０１６７】
続く、ステップS43〜S45は一定時間が経過する前に（タイマーがタイムアウトする前に）ペンダウンが発生した場合に実行される。
【０１６８】
S43：タイマーがタイムアウトする前に、ユーザーが手書き入力部２１にペンを接触させた場合、手書き入力部２１はペンダウン（ステップS2と同じイベント）を手書き入力表示制御部２３に送信する。
【０１６９】
S44: 手書き入力表示制御部２３はストローク開始（ステップS3と同じ）を手書き入力保存部２５に送信する。この後のシーケンスはステップS3以降と同じである。
【０１７０】
S45：更に手書き入力表示制御部２３は選択可能候補表示タイマー停止を候補表示タイマー制御部２４に送信する。候補表示タイマー制御部２４はタイマーを停止させる。ペンダウンが検出されたのでタイマーが不要になるからである。
【０１７１】
ステップS46〜S87は一定時間が経過する前に（タイマーがタイムアウトする前に）ペンダウンが発生しない場合に実行される。したがって、図１３に示した操作ガイド５００が表示される。
【０１７２】
S46:選択可能候補表示タイマー開始中にユーザーが手書き入力部２１にペンを接触させなかった場合、候補表示タイマー制御部２４はタイムアウトを手書き入力表示制御部２３に送信する。
【０１７３】
S47:手書き入力表示制御部２３は手書き認識/言語文字列候補取得を手書き認識制御部２６に送信する。手書き認識制御部２６は現在保持している手書き認識/言語文字列候補を手書き入力表示制御部２３に送信する。
【０１７４】
S48:手書き入力表示制御部２３は変換文字列候補取得を文字列変換制御部２８に送信する。文字列変換制御部２８は現在保持している変換文字列候補を手書き入力表示制御部２３に送信する。
【０１７５】
S49:手書き入力表示制御部２３は予測文字列候補取得を予測変換制御部３０に送信する。予測変換制御部３０は現在保持している予測文字列候補を手書き入力表示制御部２３に送信する。
【０１７６】
S50:手書き入力表示制御部２３は操作コマンドの候補取得を操作コマンド認識制御部３２に送信する。操作コマンド認識制御部３２は現在保持している操作コマンドの候補と選択データを手書き入力表示制御部２３に送信する。
【０１７７】
S51：手書き入力表示制御部２３は挿入判定結果取得を文字列挿入制御部４１に送信する。手書き入力表示制御部２３は挿入判定結果と、挿入判定結果が挿入ありの場合は挿入位置と、確定データの識別情報と、手書き認識文字列又は言語文字列候補のうち挿入記号が何番目の文字であるか、を文字列挿入制御部４１から取得する。
【０１７８】
S52：挿入判定結果が挿入ありの場合、手書き入力表示制御部２３は、確定データの識別情報を指定して確定データ取得を手書き入力保存部２５に送信する。手書き入力保存部２５は確定データを手書き入力表示制御部２３に送信する。この確定データは挿入記号との距離が挿入判定条件４０８を満たすと判定された確定データである。
【０１７９】
S54: 更に、手書き入力表示制御部２３は推定書字方向取得を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きデータ矩形領域のストロークデータ追加時間と水平距離と垂直距離から判定して、推定書字方向を手書き入力表示制御部２３に送信する。
【０１８０】
S55:手書き入力表示制御部２３はこれらの手書き認識文字列候補（図１３では「しゅよう」「へしゅよう」）、言語文字列候補（図１３では例えば「主要」）、変換文字列候補（図１３では「主要課題」）、予測文字列候補（図１３では「腫瘍を発見」）、操作コマンドの候補（図１３では「○○を××する」）、各選択確率、及び、推定書字方向から図１３のような操作ガイド５００の表示データを作成し、文字列候補と操作コマンドの候補からなる操作ガイド５００を表示部２２に送信することで表示させる。また、挿入判定結果が挿入ありの場合、挿入位置と挿入記号が何番目の文字であるかに基づいて、確定データに挿入記号を除いて、手書き認識文字列候補、言語文字列候補、変換文字列候補又は予測文字列候補の１つ以上を挿入した挿入文字列候補５７０を選択可能候補５３０に表示する。
【０１８１】
S56:また、手書き入力表示制御部２３は手書きデータと選択データの矩形領域表示データ（矩形枠）（図１３では手書きデータ矩形領域表示５０３）を表示部２２に送信する。
【０１８２】
S57: 手書き入力表示制御部２３は操作ガイド５００の表示から一定時間後に消去するため選択可能候補消去タイマー開始を候補表示タイマー制御部２４に送信する。候補表示タイマー制御部２４はこのタイマーを開始する。
【０１８３】
ステップS58〜S62は、選択可能候補消去タイマー開始中に、ユーザーが表示部２２に表示された選択可能候補表示を消去したか、手書きデータの変化が発生した場合（即ち手書きデータへのストロークデータの追加、削除、移動、変形又は分割された場合）、又は、タイムアウトまでに候補が選択されなかった場合に実行される。
【０１８４】
更に、ステップS58〜S59は、候補表示が消去されるか、又は、手書きデータの変化が発生した場合に実行される。
【０１８５】
S58：手書き入力部２１は選択可能候補表示消去又は手書きデータの変化の発生を手書き入力表示制御部２３に送信する。
【０１８６】
S59：手書き入力表示制御部２３は選択可能候補消去タイマー停止を送信する。候補表示タイマー制御部２４はそのタイマーを停止する。一定時間内に手書きデータに対し操作があったためタイマーが不要になるからである。
【０１８７】
S61：手書き入力表示制御部２３は操作ガイド５００の消去を表示部２２に送信することで、表示を消去させる。
【０１８８】
S62：手書き入力表示制御部２３は手書きデータと選択データの矩形領域表示データ消去を表示部２２に送信することで、表示を消去させる。したがって、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きデータはそのまま表示が維持される。
【０１８９】
S60:一方、選択可能候補消去タイマー開始中に、選択可能候補表示消去又は手書きデータの変化が発生しなかった場合（ユーザーがペン操作をしなかった場合は）、候補表示タイマー制御部２４はタイムアウトを手書き入力表示制御部２３に送信する。
【０１９０】
選択可能候補消去タイマーのタイムアウトの後も同様に、手書き入力表示制御部２３はステップS61とS62を実行する。一定時間の経過で操作ガイド５００、手書きデータと選択データの矩形領域表示データを消去してよいためである。
【０１９１】
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS63〜S87が実行される。
【０１９２】
S63：選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部２１は文字列候補又は操作コマンドの候補選択を手書き入力表示制御部２３に送信する。
【０１９３】
S64: 手書き入力表示制御部２３は選択可能候補消去タイマー停止を候補表示タイマー制御部２４に送信する。候補表示タイマー制御部２４はこのタイマーを停止する。
【０１９４】
S65: 次に手書き入力表示制御部２３は保持データクリアを手書き認識制御部２６に送信する。
【０１９５】
S66: 手書き認識制御部２６は保持データクリアを文字列変換制御部２８に送信する。
【０１９６】
S67：手書き認識制御部２６は保持データクリアを予測変換制御部３０に送信する。
【０１９７】
S68：手書き認識制御部２６は保持データクリアを操作コマンド認識制御部３２に送信する。
【０１９８】
S69：手書き認識制御部２６は保持データクリアを文字列挿入制御部４１に送信する。
【０１９９】
手書き認識制御部２６、文字列変換制御部２８、予測変換制御部３０、操作コマンド認識制御部３２、及び、文字列挿入制御部４１はこれまで保持していた文字列候補及び操作コマンドの候補に係るデータをクリアする。
【０２００】
S70: 次に手書き入力表示制御部２３は操作ガイド５００の消去を表示部２２に送信することで操作ガイド５００の表示を消去させる。
【０２０１】
S71：手書き入力表示制御部２３は選択データの矩形領域表示データ消去を表示部２２に送信することで手書きデータ矩形領域表示５０３を消去させる。
【０２０２】
挿入文字列候補５７０が選択された場合、ステップS72〜S77が実行される。
【０２０３】
S72：手書き入力表示制御部２３は手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を表示部２２に送信することで挿入記号５７６を含む手書きデータ５０４を消去させる。挿入文字列候補５７０が選択されたため、挿入記号を含む手書きデータ５０４が不要になるためである。
【０２０４】
S73：手書き入力表示制御部２３は、挿入記号を含む手書きデータの削除を手書き入力保存部２５に送信する。また確定データ削除を手書き入力保存部２５に送信する。
【０２０５】
S74:手書き入力表示制御部２３は、挿入文字列候補５７０の挿入データ追加を手書き入力保存部２５に送信する。挿入データは例えば、確定データが「本日の議事」で、手書きデータが挿入記号と「しゅよう」の場合、「本日の主要議事」である。
【０２０６】
S75：手書き入力表示制御部２３は挿入データフォント取得を手書き入力保存部２５に出力する。挿入データフォントは操作ガイド５００に表示された挿入文字列候補５７０を表示するためのフォントデータである。
【０２０７】
S76：挿入文字列候補５７０が選択された場合、確定データ５７３は挿入文字列候補５７０に置き換わるので、手書き入力表示制御部２３は確定データ５７３の消去を表示部２２に要求する。
【０２０８】
S77：手書き入力表示制御部２３は挿入データフォントを使用して、消去した確定データ５７３と同じ位置に挿入データ（挿入文字列）を表示させる挿入データ表示データを表示部２２に送信させることで、表示させる。挿入文字列は例えば「本日の主要議事」である。挿入文字列の先頭文字と消去された確定データ５７３の先頭文字の位置は一致するように表示される。
【０２０９】
挿入文字列候補５７０が選択されない場合（挿入文字列候補以外の文字列候補５３９が選択された場合）、ステップS78〜S82が実行される。
S78：手書き入力表示制御部２３は挿入記号５７６を除いて、手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を表示部２２に送信することで挿入記号５７６を除く手書きデータを消去させる。手書きデータのうち挿入記号が何番目の文字か検出されているので、挿入記号を残すことができる。挿入文字列候補５７０が選択されないので、挿入記号５７６は手書きデータのまま表示される。
【０２１０】
S79：手書き入力表示制御部２３は、挿入記号が何番目の文字かを指定して、挿入記号５７６を除いて手書きデータ削除を手書き入力保存部２５に送信する。確定データは削除しない。
【０２１１】
S80: 挿入文字列候補５７０以外の文字列候補が選択されたので、手書き入力表示制御部２３は選択された文字列候補の文字列データ追加を手書き入力保存部２５に送信する。例えば「主要」が選択された場合、「主要」が手書き入力保存部２５に保存される。
【０２１２】
S81：更に手書き入力表示制御部２３は選択された文字列候補の文字列データフォント取得を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きデータの推定文字サイズから定義済みフォントを選択して手書き入力表示制御部２３に送信する。
【０２１３】
S82: 次に手書き入力表示制御部２３は手書き入力保存部２５から受信した定義済みフォントを使用して、挿入記号５７６を残したまま手書きデータ５０４と同じ位置に表示させる文字列データ表示データ（例えば「主要」）を表示部２２に送信させることで、表示させる。
【０２１４】
操作コマンドの候補が選択された場合、ステップS83〜S86が実行される。更に、選択データがある場合はステップS83〜S85が実行される。
【０２１５】
S83：選択データへの操作コマンドの候補が選択された場合（選択データが存在する場合）は、手書き入力表示制御部２３は選択データ表示データ消去を表示部２２に送信することで表示を消去させる。いったん、元の選択データを消去するためである。
【０２１６】
S84:次に、手書き入力表示制御部２３は選択データへの操作コマンド実行を手書き入力保存部２５に送信する。手書き入力保存部２５は新しい選択データの表示データ（編集又は修飾後の表示データ）を手書き入力表示制御部２３に送信する。
【０２１７】
S85: 次に手書き入力表示制御部２３は選択データ表示データを表示部２２に送信することで、操作コマンド実行後の選択データを再表示させる。
【０２１８】
選択データがない場合（入出力系の操作コマンドが選択された場合）はステップS86が実行される。
【０２１９】
S86：入出力系の操作コマンドが選択された場合、手書き入力表示制御部２３はユーザーが選択した操作コマンドに対応する操作コマンド定義データの操作コマンド文字列(Command)を実行する。なお、ユーザー認証部３４がユーザーの認証に成功した場合、手書き入力表示制御部２３は認証に成功したユーザーに関する情報を操作コマンドの％〜％に設定して実行する。
【０２２０】
S87：次の手書きデータのために手書き入力表示制御部２３は手書きデータ開始を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きデータ領域を確保する。これ以降、ステップS2〜S87の処理が繰り返される。
【０２２１】
＜挿入記号のその他の例＞
図２４を用いて挿入記号のその他の例について説明する。図２４は挿入記号の使用例と挿入記号の一例を示す図である。
【０２２２】
図２４（ａ）では確定データ５７３の上に挿入記号５７６が手書きされた。したがって、挿入記号５７６は下に凸の記号となる。このような場合も、表示装置２は挿入記号５７６を認識して確定データ５７３に手書きデータに基づく文字列を挿入して、挿入文字列５７５を表示できる。
【０２２３】
図２４（ｂ）は確定データ５７３が縦書きされている。したがって、挿入記号５７６は左に凸の記号となる。このような場合も、表示装置２は挿入記号５７６を認識して確定データ５７３に手書きデータに基づく文字列を挿入して、挿入文字列５７５を表示できる。図２４（ｃ）は挿入記号５７６が右に凸の例である。
【０２２４】
図２４（ｄ）は挿入記号５７６が矢印「↑」の例を示す。挿入記号５７６を何にするかは表示装置２に開発者等が設定できるので、表示装置２は挿入記号５７６を認識して確定データ５７３に手書きデータに基づく文字列を挿入して、挿入文字列５７５を表示できる。なお、挿入記号５７６が矢印の場合、「↓」「←」「→」の場合もある。
【０２２５】
＜まとめ＞
以上説明したように、本実施形態の表示装置は、確定データ５７３に対し手書きデータ５０４が所定の条件を満たすか否かを判定するので、文字列の挿入を、特別な操作なく実施することができる。また、挿入文字列候補５７０と共に、手書き認識文字列候補５０６、及び、言語文字列候補５７１を選択可能に表示するので、ユーザーが挿入せずに手書きしたい場合は手書き認識文字列候補５０６、及び、言語文字列候補５７１を選択し、挿入したければ挿入文字列候補５７０を選択すればよい。また、挿入記号を残して手書きした文字列を入力することもできる。
【実施例２】
【０２２６】
実施例１では確定データ５７３への文字列の挿入に挿入記号５７６が必須であったが、本実施例では挿入記号５７６を必要としない表示装置２について説明する。
【０２２７】
＜表示装置の動作の概略＞
図２５は、本実施形態の表示装置２が行う挿入文字列候補５７０の表示方法を説明する図である。下図は「本日の議事」という確定データ５７３に、「主要」という文字列を挿入し、「本日の主要議事」を表示する場合を説明する。
(1) 「本日の議事」という確定データ５７３がすでに表示されている。確定データ５７３の下の「主要」を挿入したい場所に、ユーザーは「しゅよう」を追記する。図示するように挿入記号は必要ない。
(2) 表示装置２は、確定データ５７３と手書きデータ５０４との距離が挿入判定条件４０８を満たす場合、挿入文字列候補５７０を操作ガイド５００に含めて表示すると判定する。表示装置２は、挿入処理により生成した「本日の主要議事」という挿入文字列候補５７０、挿入記号を除く手書きデータ５０４の認識結果である「しゅよう」という手書き認識文字列候補５０６、及び、「主要」という言語文字列候補５７１、を選択可能候補として表示する。
(3) ユーザーが「本日の主要議事」を選択した場合、確定データ５７３は「本日の主要議事」という挿入文字列候補５７０に置き換えられる。
(4) ユーザーが「本日の主要議事」を選択せず、例えば「主要」を選択した場合、「主要」という文字列が「本日の議事」の下に表示される。
【０２２８】
このように、本実施形態の表示装置は、挿入記号が不要なため、実施例１以上に特別な操作が必要なく、文字列等の挿入を行うことができる。
【０２２９】
＜機能について＞
図２６は表示装置２が有する機能をブロック状に示す機能ブロック図の一例である。本実施例において、図５において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
【０２３０】
図２６に示すように、本実施例の表示装置２は、挿入記号が不要なので挿入記号定義部４２が不要である。また、文字列挿入制御部４１は、挿入記号判定結果を使用せずに、確定データ５７３と手書きデータ５０４との距離が挿入判定条件４０８を満たす場合には、挿入文字列候補５７０を操作ガイド５００に表示する。
【０２３１】
＜挿入文字列の挿入位置＞
挿入文字列の挿入位置は、実施例１の挿入記号の代わりに手書きデータの先頭の文字と確定データの距離を、文字列挿入制御部４１が挿入判定条件４０８と比較することで決定する。
【０２３２】
図２７は、確定データ５７３と手書きデータ５０４に基づく文字列を挿入した挿入文字列候補５７０を表示するか否かの判定を説明する図である。図２７（ａ）は確定データ５７３と手書きデータ５０４の一例を示し、図２７（ｂ）は確定データ５７３と手書きデータ５０４の最も近接している部分の拡大図を示す。図２７（ｂ）に示すように、確定データ５７３の最も近接している部分９０２と手書きデータ５０４の最も近接している部分９０１の距離Ｄが、挿入判定条件４０８が定義する閾値以下又は未満の場合、文字列挿入制御部４１は確定データ５７３に手書きデータ５０４に基づく文字列を挿入した挿入文字列候補５７０を表示すると判定する。
【０２３３】
また、挿入する位置は、手書きデータ５０４における確定データ５７３との最も近接している部分９０１と近い順に上位２つの文字の間とする。図２７（ａ）では「の」「議」が手書きデータ５０４の「し」から近い上位２つの文字なので、文字列挿入制御部４１は「の」と「議」の間に手書きデータ５０４に基づく文字列を挿入して挿入文字列候補５７０を生成すると判定する。
【０２３４】
＜動作手順＞
図２８〜図３３は表示装置２が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。なお、図２８〜図３３の説明では実施例１との相違を説明する。
【０２３５】
図示するように、本実施例では、ステップS36,S37がない。挿入記号の有無を判定しないためである。また、ステップS41、S42は、挿入記号判定結果に関わらず、実行される。
【０２３６】
S41：文字列挿入制御部４１は確定データ取得を手書き入力保存部２５に送信する。手書き入力保存部２５は確定データを文字列挿入制御部４１に送信する。
【０２３７】
S42：文字列挿入制御部４１は手書きデータに基づく文字列を確定データに挿入するか否かの判定のため、ステップS38のストロークデータ追加で手書き認識制御部２６から受信した手書きデータ、手書き入力保存部２５から受信した確定データが挿入判定条件４０８を満たすか否か判定する。満たしていると判定した場合、確定データ５７３のどの文字と文字の間が挿入の対象となるかの挿入位置を保存しておく。また、挿入判定条件４０８を満たすか確定データ５７３の識別情報を保持しておく。
【０２３８】
このあとステップS43〜S71の処理は実施例１と同様でよい。また、挿入文字列候補５７０が選択された場合のステップS72〜S77の処理は、そもそも挿入記号が手書きされていないため実施例１と同様になる。
【０２３９】
挿入文字列候補５７０が選択されない場合（挿入文字列候補以外の文字列候補５３９が選択された場合）、ステップS78〜S82が実行される。
S78：手書き入力表示制御部２３は、手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を表示部２２に送信することで手書きデータを消去させる。挿入記号が手書きされていないので、挿入記号を残して手書きデータを消去する必要がない。
【０２４０】
S79：手書き入力表示制御部２３は、手書きデータ削除を手書き入力保存部２５に送信する。挿入記号が手書きされていないので、挿入記号を残して手書きデータを消去する必要がない。
【０２４１】
続く、ステップS80〜S82の処理は実施例１と同様でよい。
【０２４２】
＜まとめ＞
以上説明したように、本実施例の表示装置２は、挿入記号が不要なため、実施例１以上に特別な操作が必要なく、文字列等の挿入を行うことができる。
【０２４３】
＜＜表示装置の構成の別の例１＞＞
本実施形態の表示装置は大型のタッチパネルを有するものとして説明されているが、表示装置はタッチパネルを有するものに限られない。
【０２４４】
図３４は、表示装置の他の構成例を示す図である。図３４では、通常のホワイトボード４１３の上辺にプロジェクター４１１が設置されている。このプロジェクター４１１が表示装置に相当する。通常のホワイトボード４１３とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
【０２４５】
プロジェクター４１１は超短焦点の光学系を有しており、１０ｃｍ程度から歪みの少ない映像をホワイトボード４１３に投影できる。この映像は、無線又は有線で接続されたＰＣから送信されてもよいし、プロジェクター４１１が記憶していてもよい。
【０２４６】
ユーザーは専用の電子ペン２５０１を使ってホワイトボード４１３に手書きする。電子ペン２５０１は、ユーザーが手書きのためにホワイトボード４１３に押しつけるとスイッチがＯＮになり発光する発光部を例えば先端部に有している。光の波長は近赤外や赤外なのでユーザーの目には見えない。プロジェクター４１１はカメラを有しており、発光部を撮像して画像を解析し電子ペン２５０１の方向を特定する。また、電子ペン２５０１は発光と共に音波を発信しており、プロジェクター４１１は音波の到達時間により距離を算出する。方向と距離により電子ペン２５０１の位置を特定できる。電子ペン２５０１の位置にはストロークデータが描画（投影）される。
【０２４７】
プロジェクター４１１はメニュー４３０を投影するので、ユーザーが電子ペン２５０１でボタンを押下すると、プロジェクター４１１が電子ペン２５０１の位置とスイッチのＯＮ信号により押下されたボタンを特定する。例えば、保存ボタン４３１が押下されると、ユーザーが手書きしたストロークデータがプロジェクター４１１で保存される。プロジェクター４１１は、予め定められたサーバー４１２又はＵＳＢメモリー２６００等に手書き情報を保存する。手書き情報はページごとに保存されている。画像データではなく座標のまま保存されるので、ユーザーが再編集することができる。ただし、本実施形態では操作コマンドを手書きで呼び出せるのでメニュー４３０は表示されなくてもよい。
【０２４８】
＜＜表示装置の構成の別の例２＞＞
図３５は、表示装置の他の構成例を示す図である。図３５の例では、表示装置として、端末装置６００、画像投影装置７００Ａ、及び、ペン動作検出装置８１０を有する。
【０２４９】
端末装置６００は、画像投影装置７００Ａ及びペン動作検出装置８１０と有線で接続されている。画像投影装置７００Ａは、端末装置６００により入力された画像データをスクリーン８００に投影させる。
【０２５０】
ペン動作検出装置８１０は、電子ペン８２０と通信を行っており、スクリーン８００の近傍における電子ペン８２０の動作を検出する。具体的には、電子ペン８２０は、スクリーン８００上において、電子ペン８２０が示している点を示す座標情報を検出し、端末装置６００へ送信する。
【０２５１】
端末装置６００は、ペン動作検出装置８１０から受信した座標情報に基づき、電子ペン８２０によって入力されるストロークデータ画像の画像データを生成し、画像投影装置７００Ａによってストロークデータ画像をスクリーン８００に描画させる。
【０２５２】
また、端末装置６００は、画像投影装置７００Ａに投影させている背景画像と、電子ペン８２０によって入力されたストロークデータ画像とを合成した重畳画像を示す重畳画像データを生成する。
【０２５３】
＜＜表示装置の構成の別の例３＞＞
図３６は、表示装置の構成例を示す図である。図３６の例では、表示装置として、端末装置６００とディスプレー８００Ａと、ペン動作検出装置８１０Ａとを有する。
【０２５４】
ペン動作検出装置８１０Ａは、ディスプレー８００Ａの近傍に配置され、ディスプレー８００Ａ上に、電子ペン８２０Ａが示している点を示す座標情報を検出し、端末装置６００へ送信する。なお、図３６の例では、電子ペン８２０Ａは、端末装置６００によってＵＳＢコネクタを介して充電されても良い。
【０２５５】
端末装置６００は、ペン動作検出装置８１０Ａから受信した座標情報に基づき、電子ペン８２０Ａによって入力されるストロークデータ画像の画像データを生成し、ディスプレー８００Ａに表示させる。
【０２５６】
＜＜表示装置の構成の別の例４＞＞
図３７は、表示装置の構成例を示す図である。図３７の例では、表示装置として、端末装置６００と、画像投影装置７００Ａとを有する。
【０２５７】
端末装置６００は、電子ペン８２０Ｂと無線通信（Ｂｌｕｅｔｏｏｔｈ（登録商標）等）を行って、スクリーン８００上において電子ペン８２０Ｂが示す点の座標情報を受信する。そして、端末装置６００は、受信した座標情報に基づき、電子ペン８２０Ｂにより入力されるストロークデータ画像の画像データを生成し、画像投影装置７００Ａにストロークデータ画像を投影させる。
【０２５８】
また、端末装置６００は、画像投影装置７００Ａに投影させている背景画像と、電子ペン８２０によって入力されたストロークデータ画像とを合成した重畳画像を示す重畳画像データを生成する。
【０２５９】
以上のように、上記した各実施形態は、様々なシステム構成において適用することができる。
【実施例３】
【０２６０】
本実施例では、ネットワーク上の情報処理システムが手書き認識等の処理を行って、処理の結果を表示装置２に返すシステム形態の手書き入力システムについて説明する。本実施例では実施例１の構成に基づくシステム形態について説明する。
【０２６１】
なお、本実施例の説明においては、実施例１で同一の符号を付した構成要素又は図の内容については同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。
【０２６２】
図３８は、手書き入力システム１００のシステム構成図の一例である。手書き入力システム１００はネットワークＮを介して通信可能な表示装置２と情報処理システム１０とを有している。
【０２６３】
表示装置２は社内などの施設に配置されており、施設内に敷設されたＬＡＮやＷｉ−Ｆｉに接続されている。情報処理システム１０は例えばデータセンタ等に配置されている。表示装置２はファイアウォール８を介してインターネットｉと接続しており、情報処理システム１０もデータセンタ内の高速なＬＡＮ等を経由してインターネットｉに接続している。
【０２６４】
表示装置２は電話回線網等の無線通信を使用してインターネットｉに接続してもよい。この場合、無線通信は、３Ｇ（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)メモリーやプリンター等である。ネットワークＩ／Ｆ６０９は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン６１０は、図３９に示されているＣＰＵ６０１等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【０２７５】
また、キーボード６１１は、文字、数値、各種指示などの入力のための複数のキーを備える。ポインティングデバイス６１２は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。ＤＶＤ−ＲＷドライブ６１４は、着脱可能な記録媒体の一例としてのＤＶＤ−ＲＷ６１３に対する各種データの読み出し又は書き込みを制御する。なお、ＤＶＤ−ＲＷに限らず、ＤＶＤ−Ｒ等であってもよい。メディアＩ／Ｆ６１６は、フラッシュメモリー等の記録メディア６１５に対するデータの読み出し又は書き込み（記憶）を制御する。
【０２７６】
＜装置の機能について＞
次に、図４０を用いて、手書き入力システム１００が有する機能について説明する。図４０は手書き入力システム１００が有する機能をブロック状に示す機能ブロック図の一例である。なお、図４０の説明では、主に図５との相違を説明する。また、ペン２５００の機能は実施例１と同様でよい。
【０２７７】
本実施例では、表示装置２は表示部２２、表示制御部４４、手書き入力部２１、及び、通信部４５を有している。表示装置２が有する各機能は、図４０に示されている各構成要素のいずれかがＳＳＤ２０４からＲＡＭ２０３上に展開されたプログラムに従ったＣＰＵ２０１からの命令によって動作することで実現される機能又は手段である。
【０２７８】
本実施例の手書き入力部２１の機能は実施例１と同様でよい。手書き入力部２１はユーザーのペン入力ｄ１をペン操作データｄａ（ペンアップ、ペンダウン、又はペン座標データ）に変換し、表示制御部４４に送信する。
【０２７９】
表示制御部４４は、表示装置２の表示に関する制御を行う。まず、表示制御部４４は、離散値であるペン座標データの離散値間の座標を補完計算してペンダウンからペンアップまでのペン座標データを１本のストロークｄｂにして表示部２２に送信する。
【０２８０】
また、表示制御部４４はペン操作データｄｃを通信部４５に送信し、通信部４５から各種の表示データｄｄを取得する。表示データは、図１３の操作ガイド５００を表示するための情報を含んでいる。表示制御部４４は表示データｄｅを表示部２２に送信する。
【０２８１】
通信部４５は、ペン操作データｄｃを情報処理システム１０に送信し、情報処理システム１０から各種の表示データｄｄを受信して表示制御部４４に送信する。通信部４５は例えばJSON形式やXML形式などでデータを送受信する。
【０２８２】
表示部２２の機能は実施例１と同様でよい。表示部２２はストロークｄｂや表示データｄｅを表示する。表示部２２は表示制御部４４がビデオメモリーに書き込んだストロークｄｂや表示データｄｅをディスプレー２２０の特性に応じたデータに変換し、ディスプレー２２０に送信する。
【０２８３】
＜＜情報処理システムの機能＞＞
情報処理システム１０は、通信部４３、手書き入力表示制御部２３、候補表示タイマー制御部２４、手書き入力保存部２５、手書き認識制御部２６、手書き認識辞書部２７、文字列変換制御部２８、文字列変換辞書部２９、予測変換制御部３０、予測変換辞書部３１、操作コマンド認識制御部３２、操作コマンド定義部３３、文字列挿入制御部４１、及び、挿入記号定義部４２、を備えている。情報処理システム１０が有する各機能は、図４０に示されている各構成要素のいずれかが、ＨＤ６０４からＲＡＭ６０３上に展開されたプログラムに従ったＣＰＵ６０１からの命令によって動作することで実現される機能又は手段である。
【０２８４】
通信部４３は、ペン操作データｄｃを表示装置２から受信し、手書き入力表示制御部２３にペン操作データｄｆを送信する。通信部４３は、手書き入力表示制御部２３から表示データｄｄを受信して、表示装置２に送信する。通信部４３は例えばJSON形式やXML形式などでデータを送受信する。
【０２８５】
その他の機能については実施例１と同様か、異なるとしても本実施形態の説明の上では支障がないものとする。
【０２８６】
＜動作手順＞
以上の構成と図４１〜図４７を用いて、手書き入力システム１００の動作について説明する。図４１〜図４７は表示装置２が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図４１の処理は、表示装置２が起動して（Ｗｅｂブラウザ又は専用のアプリケーションが起動して）、情報処理システム１０との通信が確立するとスタートする。なお、図４１〜図４７の全体的な流れは図１８〜図２３と同様でよい。
【０２８７】
S1：通信が確立すると表示装置２のメモリー領域を確保するため、手書き入力表示制御部２３が手書きデータ開始を手書き入力保存部２５に送信する。手書き入力保存部２５は手書きデータ領域（手書きデータを保存するメモリー領域）を確保する。ユーザーがペンを手書き入力部２１に接触させてから手書きデータ領域を確保してもよい。
【０２８８】
S2a：次にユーザーが手書き入力部２１にペンを接触させる。手書き入力部２１はペンダウンを検出して表示制御部４４に送信する。
【０２８９】
S2b：表示制御部４４はペンダウンを情報処理システム１０に通知するため、ペンダウンを通信部４５に送信する。
【０２９０】
S2c：通信部４５はペンダウンを情報処理システム１０に送信する。
【０２９１】
S2d：情報処理システム１０の通信部４３はペンダウンを受信して、手書き入力表示制御部２３に送信する。
【０２９２】
S3：手書き入力表示制御部２３は手書き入力保存部２５にストローク開始を送信し、手書き入力保存部２５はストローク領域を確保する。
【０２９３】
S4ａ：ユーザーがペンを手書き入力部２１に接触させたまま移動させると、手書き入力部２１はペン座標を表示制御部４４に送信する。
【０２９４】
S4b：表示制御部４４はペン座標を情報処理システム１０に通知するため、ペン座標を通信部４５に送信する。
【０２９５】
S4c：通信部４５はペン座標を情報処理システム１０に送信する。
【０２９６】
S4d：情報処理システム１０の通信部４３はペン座標を受信して、手書き入力表示制御部２３に送信する。
【０２９７】
S5：表示制御部４４はペン座標補完表示データ（離散的なペン座標を補間するデータ）を表示部２２に送信する。表示部２２はペン座標補完表示データを用いてペン座標を補間して線を表示する。ステップS6については実施例１と同様になる。
【０２９８】
S7a：ユーザーが手書き入力部２１からペンを離すと、手書き入力部２１はペンアップを表示制御部４４に送信する。
【０２９９】
S7b：表示制御部４４はペンアップを情報処理システム１０に通知するため、ペンアップを通信部４５に送信する。
【０３００】
S7c：通信部４５はペンアップを情報処理システム１０に送信する。
【０３０１】
S7d：情報処理システム１０の通信部４３はペンアップを受信して、手書き入力表示制御部２３に送信する。
【０３０２】
以降のステップS8〜S15、及び、ステップS16〜S42については実施例１と同様になる。
【０３０３】
S43a：タイマーがタイムアウトする前に、ユーザーが手書き入力部２１にペンを接触させた場合、手書き入力部２１はペンダウン（ステップS2と同じイベント）を表示制御部４４に送信する。ステップS43b〜S43dの処理はステップS2b〜S2dと同様でよい。また、ステップS44〜S54の処理は実施例１と同様になる。
【０３０４】
S55a:手書き入力表示制御部２３は図１３に示した各文字列候補、操作コマンドの候補、各選択確率、及び、推定書字方向を含む選択可能候補表示データを作成し、文字列候補と操作コマンドの候補からなる選択可能候補表示データを通信部４３に送信する。
【０３０５】
S55b:通信部４３は表示装置２に選択可能候補表示データを送信する。
【０３０６】
S55c:表示装置２の通信部４５は選択可能候補表示データを受信し、表示制御部４４に送信する。
【０３０７】
S55d:表示制御部４４は選択可能候補表示データを受信したので、表示部２２に送信することで表示させる。
【０３０８】
S56a:また、手書き入力表示制御部２３は手書きデータと選択オブジェクトの矩形領域表示データ（矩形枠）（図１３では手書きデータ矩形領域表示５０３）を通信部４３に送信する。
【０３０９】
S56b:通信部４３は表示装置２に矩形領域表示データを送信する。
【０３１０】
S56c:表示装置２の通信部４５は矩形領域表示データを受信し、表示制御部４４に送信する。
【０３１１】
S56d:表示制御部４４は矩形領域表示データを受信したので、表示部２２に送信することで表示させる。ステップS57の処理は実施例１と同様になる。
【０３１２】
S58a：ユーザーが選択可能候補を消去したり、手書きデータに追加で手書きしたりすると、手書き入力部２１は選択可能候補表示消去又は手書きデータの変化の発生を表示制御部４４に送信する。
【０３１３】
S58b：表示制御部４４は選択可能候補表示消去又は手書きデータの変化の発生を情報処理システム１０に通知するため、通信部４５に送信する。
【０３１４】
S58c：通信部４５は選択可能候補表示消去又は手書きデータの変化の発生を情報処理システム１０に送信する。
【０３１５】
S58d：情報処理システム１０の通信部４３は選択可能候補表示消去又は手書きデータの変化の発生を受信して、手書き入力表示制御部２３に送信する。ステップS59、S60の処理は実施例１と同様になる。
【０３１６】
S61a：手書き入力表示制御部２３は選択可能候補表示データ消去を通信部４３に送信する。
【０３１７】
S61b:通信部４３は表示装置２に選択可能候補表示データ消去を送信する。
【０３１８】
S61c:表示装置２の通信部４５は選択可能候補表示データ消去を受信し、表示制御部４４に送信する。
【０３１９】
S61d:表示制御部４４は選択可能候補表示データ消去を受信したので、表示部２２に送信することで選択可能候補を消去させる。
【０３２０】
S62a：手書き入力表示制御部２３は手書きデータと選択オブジェクトの矩形領域表示データ消去を通信部４３に送信する。
【０３２１】
S62b:通信部４３は表示装置２に手書きデータと選択オブジェクトの矩形領域表示データ消去を送信する。
【０３２２】
S62c:表示装置２の通信部４５は手書きデータと選択オブジェクトの矩形領域表示データ消去を受信し、表示制御部４４に送信する。
【０３２３】
S62d:表示制御部４４は手書きデータと選択オブジェクトの矩形領域表示データ消去を受信したので、表示部２２に送信することで手書きデータと選択オブジェクトの矩形領域を消去させる。したがって、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きデータはそのまま表示が維持される。
【０３２４】
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS63〜S87が実行される。
【０３２５】
S63a：選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部２１は文字列候補又は操作コマンドの候補選択を表示制御部４４に送信する。
【０３２６】
S63b：表示制御部４４は文字列候補又は操作コマンドの候補選択を情報処理システム１０に通知するため、通信部４５に送信する。
【０３２７】
S63c：通信部４５は文字列候補又は操作コマンドの候補選択を情報処理システム１０に送信する。
【０３２８】
S63d：情報処理システム１０の通信部４３は文字列候補又は操作コマンドの候補選択を受信して、手書き入力表示制御部２３に送信する。ステップS64〜S69の処理は実施例１と同様になる。
【０３２９】
S70a: 次に手書き入力表示制御部２３は選択可能候補表示データ消去を通信部４３に送信する。
【０３３０】
S70b：通信部４３は選択可能候補表示データ消去を表示装置２に送信する。
【０３３１】
S70c：表示装置２の通信部４５は選択可能候補表示データ消去を受信し、表示制御部４４に送信する。
【０３３２】
S70d：表示制御部４４は選択可能候補表示データ消去を受信したので、表示部２２に選択可能候補を消去させる。
【０３３３】
S71a：手書き入力表示制御部２３は手書きデータと選択オブジェクトの矩形領域表示データ消去を通信部４３に送信する。
【０３３４】
S71b：通信部４３は矩形領域表示データ消去を表示装置２に送信する。
【０３３５】
S71c：表示装置２の通信部４５は矩形領域表示データ消去を受信し、表示制御部４４に送信する。
【０３３６】
S71d：表示制御部４４は矩形領域表示データ消去を受信したので、表示部２２に矩形領域を消去させる。
【０３３７】
挿入文字列候補５７０が選択された場合、ステップS72〜S77が実行される。
【０３３８】
S72a：手書き入力表示制御部２３は手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を通信部４３に送信する。
【０３３９】
S72b：通信部４３はペン座標補完表示データ消去を表示装置２に送信する。
【０３４０】
S72c：表示装置２の通信部４５はペン座標補完表示データ消去を受信し、表示制御部４４に送信する。
【０３４１】
S72d：表示制御部４４はペン座標補完表示データ消去を受信したので、表示部２２に手書きデータを消去させる。ステップS73〜S75の処理は実施例１と同様になる。
【０３４２】
S76a：挿入文字列候補５７０が選択された場合、確定データ５７３は挿入文字列候補５７０に置き換わるので、手書き入力表示制御部２３は確定データ５７３の消去を通信部４３に送信する。
【０３４３】
S76b：通信部４３は確定データ５７３の消去を表示装置２に送信する。
【０３４４】
S76c：表示装置２の通信部４５は確定データ５７３の消去を受信し、表示制御部４４に送信する。
【０３４５】
S76d：表示制御部４４は確定データ５７３の消去を受信したので、表示部２２に確定データを消去させる。
【０３４６】
S77ａ：手書き入力表示制御部２３は挿入データフォントを使用して、消去した確定データ５７３と同じ位置に挿入データ（挿入文字列）を表示させる挿入データ表示データを通信部４３に送信する。
【０３４７】
S77b：通信部４３は挿入データ表示データを表示装置２に送信する。
【０３４８】
S77c：表示装置２の通信部４５は挿入データ表示データを受信し、表示制御部４４に送信する。
【０３４９】
S77d：表示制御部４４は挿入データ表示データを受信したので、表示部２２に挿入データを表示する。
【０３５０】
挿入文字列候補５７０が選択されない場合（挿入文字列候補以外の文字列候補５３９が選択された場合）、ステップS78〜S82が実行される。
S78ａ：手書き入力表示制御部２３は挿入記号５７６を除いて、手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を通信部４３に送信する。
【０３５１】
S78b：通信部４３はペン座標補完表示データ消去を表示装置２に送信する。
【０３５２】
S78c：表示装置２の通信部４５はペン座標補完表示データ消去を受信し、表示制御部４４に送信する。
【０３５３】
S78d：表示制御部４４はペン座標補完表示データ消去を受信したので、表示部２２に手書きデータを消去させる。ステップS79〜S81の処理は実施例１と同様になる。
【０３５４】
S82a: 次に手書き入力表示制御部２３は手書き入力保存部２５から受信した定義済みフォントを使用して、挿入記号５７６を残したまま手書きデータ５０４と同じ位置に表示させる文字列データ表示データ（例えば「主要」）を通信部４３に送信する。
【０３５５】
S82b：通信部４３は文字列データ表示データを表示装置２に送信する。
【０３５６】
S82c：表示装置２の通信部４５は文字列データ表示データを受信し、表示制御部４４に送信する。
【０３５７】
S82d：表示制御部４４は文字列データ表示データを受信したので、表示部２２に文字列データを表示させる。ステップS79〜S81の処理は実施例１と同様になる。
【０３５８】
操作コマンドの候補が選択された場合、ステップS83〜S86が実行される。更に、選択データがある場合はステップS83〜S85が実行される。
【０３５９】
S83a：選択データへの操作コマンドの候補が選択された場合（選択データが存在する場合）は、手書き入力表示制御部２３は選択データ表示データ消去を通信部４３に送信する。
【０３６０】
S83b：通信部４３は選択データ表示データ消去を表示装置２に送信する。
【０３６１】
S83c：表示装置２の通信部４５は選択データ表示データ消去を受信し、表示制御部４４に送信する。
【０３６２】
S83d：表示制御部４４は選択データ表示データ消去を受信したので、表示部２２に選択データを消去させる。ステップS84の処理は実施例１と同様になる。
【０３６３】
S85a: 次に手書き入力表示制御部２３は選択データ表示データを通信部４３に送信する。
【０３６４】
S85b：通信部４３は選択データ表示データを表示装置２に送信する。
【０３６５】
S85c：表示装置２の通信部４５は選択データ表示データを受信し、表示制御部４４に送信する。
【０３６６】
S85d：表示制御部４４は選択データ表示データを受信したので、表示部２２に選択データを表示させる。ステップS86、S87の処理は実施例１と同様になる。
【０３６７】
このように、表示装置２と情報処理システム１０とが通信するシステム形態でも、実施例１と同様の効果を奏することができる。なお、図４１〜図４７の処理の流れは一例であって、表示装置２と情報処理システム１０とが通信することにより生じる処理が含まれていたり、又は、処理が省略されたりしてもよい。また、情報処理システム１０が行う処理の一部を表示装置２が行ってもよい。例えば、削除に関する処理を表示装置２が行ってもよい。
【実施例４】
【０３６８】
本実施例では、ネットワーク上の情報処理システムが手書き認識等の処理を行って、処理の結果を表示装置２に返すシステム形態の手書き入力システムについて説明する。本実施例では実施例２の構成に基づくシステム形態について説明する。
【０３６９】
なお、本実施例の説明においては、実施例２で同一の符号を付した構成要素又は図の内容については同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。システム構成図は図３８と同様でよく、情報処理システム１０のハードウェア構成図は図３９と同様でよい。
【０３７０】
＜装置の機能について＞
次に、図４８を用いて、手書き入力システム１００が有する機能について説明する。図４８は手書き入力システム１００が有する機能をブロック状に示す機能ブロック図の一例である。なお、図４８の説明では、主に図４０との相違を説明する。
【０３７１】
図４８に示すように、情報処理システム１０が挿入記号定義部４２を有さない以外は図４０と同様でよい。
【０３７２】
＜動作手順＞
以上の構成と図４９〜図５５を用いて、手書き入力システム１００の動作について説明する。図４９〜図５５は表示装置２が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図４９〜図５５の全体的な流れは図４１〜図４８と同様でよいため、主に相違点を説明する。
【０３７３】
図４９〜図５５に示すように、表示装置２側の処理は実施例３の図４１〜図４８と同様になる。情報処理システム側の処理は実施例２の図２８〜図３３と同様になる。
【０３７４】
＜まとめ＞
以上説明したように、本実施例の表示装置２は、クライアントサーバシステムにおいても挿入記号を不要とし、実施例１、３以上に特別な操作が必要なく、文字列等の挿入を行うことができる。
【０３７５】
＜その他の適用例＞
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０３７６】
例えば、確定データ５７３は文字コードとして、手書きデータは座標点データとして表示装置２に保存される。また、各種の記憶媒体に保存したり、ネットワーク上の記憶装置に保存したりしておいて、後で、表示装置２からダウンロードして再使用することができる。再使用する表示装置２はどの表示装置でもよく、一般的な情報処理装置でもよい。したがって、ユーザーは手書きした内容を異なる表示装置２で再現して会議などを継続することができる。
【０３７７】
例えば、本実施形態では電子黒板を一例として説明したが、タッチパネルを有する情報処理装置であれば好適に適用できる。電子黒板は、ホワイトボード、電子ホワイトボード、電子情報ボード、インタラクティブ・ホワイトボード、デジタルホワイトボードなどと呼ばれる場合がある。タッチパネルを搭載した情報処理装置としては、例えば、ＰＪ（Projector：プロジェクター）、デジタルサイネージ等の出力装置、ＨＵＤ（Head Up Display）装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートＰＣ（Personal Computer）、携帯電話、スマートフォン、タブレット端末、ゲーム機、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、ウェアラブルＰＣ又はデスクトップＰＣ等であってもよい。
【０３７８】
また、本実施形態ではペン先の座標をタッチパネルで検知する方法でペンの座標を検出したが、ペン先の座標を超音波により検出してもよい。また、ペンは発光と共に超音波を発信しており、表示装置２は超音波の到達時間により距離を算出する。方向と距離によりペンの位置を特定できる。ペンの軌跡をストロークデータとしてプロジェクターが描画（投影）する。
【０３７９】
また、本実施形態では、選択データがある場合に編集系及び修飾系の操作コマンドの候補を表示し、選択データがない場合に入出力系の操作コマンドの候補を表示した。しかし、編集系及び修飾系の操作コマンドの候補と入出力系の操作コマンドの候補を同時に表示してもよい。
【０３８０】
また、図５などの構成例は、表示装置２による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。表示装置２の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、１つの処理単位が更に多くの処理を含むように分割することもできる。
【０３８１】
また、ユーザーの手書きサインデータは表示装置２が持っていなくてもよい。クラウド上や社内の情報処理装置が保持していてもよい。
【０３８２】
また、本実施形態において、比較の対象として閾値が例示されていたとしても閾値は例示された値には限定されない。このため、本実施形態では、全ての閾値に関し、閾値未満と閾値以下という記載は同等の意味を持ち、閾値超過と閾値以上という記載は同等の意味を持つ。例えば、閾値を１１とした場合の閾値未満という記載は閾値が１０である場合の閾値以下と同等の意味を持つ。また、閾値を１０とした場合の閾値超過という記載は閾値が１１である場合の閾値以上と同等の意味を持つ。
【０３８３】
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP（digital signal processor）、FPGA（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【０３８４】
手書き認識制御部２６は手書き認識制御手段の一例である。手書き入力表示制御部２３は表示制御手段の一例である。文字列挿入制御部４１は文字列挿入制御手段の一例である。表示部２２は表示手段の一例である。
【符号の説明】
【０３８５】
２          表示装置
【先行技術文献】
【特許文献】
【０３８６】
【特許文献１】特開２０１４−１４９６１２号公報
【図１】
2020194542.tif 000003
【図２】
2020194542.tif 000004
【図３】
2020194542.tif 000005
【図４】
2020194542.tif 000006
【図５】
2020194542.tif 000007
【図６】
2020194542.tif 000008
【図７】
2020194542.tif 000009
【図８】
2020194542.tif 000010
【図９】
2020194542.tif 000011
【図１０】
2020194542.tif 000012
【図１１】
2020194542.tif 000013
【図１２】
2020194542.tif 000014
【図１３】
2020194542.tif 000015
【図１４】
2020194542.tif 000016
【図１５】
2020194542.tif 000017
【図１６】
2020194542.tif 000018
【図１７】
2020194542.tif 000019
【図１８】
2020194542.tif 000020
【図１９】
2020194542.tif 000021
【図２０】
2020194542.tif 000022
【図２１】
2020194542.tif 000023
【図２２】
2020194542.tif 000024
【図２３】
2020194542.tif 000025
【図２４】
2020194542.tif 000026
【図２５】
2020194542.tif 000027
【図２６】
2020194542.tif 000028
【図２７】
2020194542.tif 000029
【図２８】
2020194542.tif 000030
【図２９】
2020194542.tif 000031
【図３０】
2020194542.tif 000032
【図３１】
2020194542.tif 000033
【図３２】
2020194542.tif 000034
【図３３】
2020194542.tif 000035
【図３４】
2020194542.tif 000036
【図３５】
2020194542.tif 000037
【図３６】
2020194542.tif 000038
【図３７】
2020194542.tif 000039
【図３８】
2020194542.tif 000040
【図３９】
2020194542.tif 000041
【図４０】
2020194542.tif 000042
【図４１】
2020194542.tif 000043
【図４２】
2020194542.tif 000044
【図４３】
2020194542.tif 000045
【図４４】
2020194542.tif 000046
【図４５】
2020194542.tif 000047
【図４６】
2020194542.tif 000048
【図４７】
2020194542.tif 000049
【図４８】
2020194542.tif 000050
【図４９】
2020194542.tif 000051
【図５０】
2020194542.tif 000052
【図５１】
2020194542.tif 000053
【図５２】
2020194542.tif 000054
【図５３】
2020194542.tif 000055
【図５４】
2020194542.tif 000056
【図５５】
2020194542.tif 000057