(57)【要約】【課題】手書き入力中の見易さを確保し、また全体のレイアウトを崩さないようにして既存の手書きオブジェクトに新たな手書きオブジェクトを挿入することのできる手書き入力装置を提供する。【解決手段】追記マーク３１の記入により追記モードに入る。追記モードでは背景が半透明の追記領域３２を既存オブジェクト３４の上に重ねて表示し、追記領域３２内で追記オブジェクトの手書き入力を受ける。追記領域３２は手書き入力に応じて順次拡大する。追記オブジェクト３６の入力が完了した時点でこの追記オブジェクト３６のサイズに基づき、周囲の既存オブジェクト３４を必要量だけ移動させて、追記オブジェクト３６を手書き位置に挿入する。【選択図】図２
2013114431.tif 000002
【特許請求の範囲】
【請求項１】
手書きオブジェクトの入力を受ける手書き入力部と、
前記手書き入力部から入力された手書きオブジェクトを表示する表示部と、
制御部と
を備え、
前記制御部は、所定の追記指示を受けた手書きオブジェクトの手書き入力中はその手書きオブジェクトを既存のオブジェクトに重ねて表示し、前記手書きオブジェクトの入力が完了したとき、この手書きオブジェクトを既存のオブジェクトに挿入して表示する挿入処理を行う
ことを特徴とする手書き入力装置。
【請求項２】
前記制御部は、前記追記指示を受けた手書きオブジェクトの手書き入力中は、少なくとも既存のオブジェクトと重なる部分の前記手書きオブジェクトの背景を、この手書きオブジェクトを見易くする所定の背景に変更する
ことを特徴とする請求項１に記載の手書き入力装置。
【請求項３】
前記制御部は、余白を詰めるように既存のオブジェクトを移動させることで、前記手書きオブジェクトの入力位置に前記手書きオブジェクトを挿入するための空き領域を確保する
ことを特徴とする請求項１または２に記載の手書き入力装置。
【請求項４】
前記制御部は、前記手書きオブジェクトを挿入するために移動させる既存のオブジェクトの指定をユーザから受け付け、その指定された既存のオブジェクトを移動させて前記空き領域を確保する
ことを特徴とする請求項３に記載の手書き入力装置。
【請求項５】
前記制御部は、余白を詰めることにより前記手書きオブジェクトを挿入可能な空き領域を確保できない場合は、既存のオブジェクトおよび前記手書きオブジェクトを縮小して余白を詰めることで、縮小した前記手書きオブジェクトを挿入可能な空き領域を確保する
ことを特徴とする請求項３または４に記載の手書き入力装置。
【請求項６】
前記所定の背景は、既存のオブジェクトの上に重ねる、不透明もしくは低透過度の背景である
ことを特徴とする請求項２に記載の手書き入力装置。
【請求項７】
前記追記指示は、所定の追記開始マークの手書き入力である
ことを特徴とする請求項１乃至６のいずれか１項に記載の手書き入力装置。
【請求項８】
前記手書きオブジェクトの入力の完了は、所定の追記終了マークの手書き入力により判別する
ことを特徴とする請求項１乃至７のいずれか１項に記載の手書き入力装置。
【請求項９】
前記手書きオブジェクトを挿入するために移動させる既存のオブジェクトの指定は、移動対象の既存のオブジェクトに対する所定の選択マークの手書き入力である
ことを特徴とする請求項４に記載の手書き入力装置。
【請求項１０】
手書きオブジェクトの入力を受ける手書き入力部と、前記手書き入力部から入力された手書きオブジェクトを表示する表示部とを備えた情報処理装置を、
所定の追記指示を受けた手書きオブジェクトの手書き入力中はその手書きオブジェクトを既存のオブジェクトに重ねて表示し、前記手書きオブジェクトの入力が完了したとき、この手書きオブジェクトを既存のオブジェクトに挿入して表示するように動作させる
ことを特徴とするプログラム。
【請求項１１】
前記情報処理装置を、
前記追記指示を受けた手書きオブジェクトの手書き入力中は、少なくとも既存のオブジェクトと重なる部分の前記手書きオブジェクトの背景を、この手書きオブジェクトを見易くする所定の背景に変更する
ように動作させる
ことを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記情報処理装置を、
余白を詰めるように既存のオブジェクトを移動させることで、前記手書きオブジェクトの入力位置に前記手書きオブジェクトを挿入するための空き領域を確保するように動作させる
ことを特徴とする請求項１０または１１に記載のプログラム。
【請求項１３】
前記情報処理装置を、
前記手書きオブジェクトを挿入するために移動させる既存のオブジェクトの指定をユーザから受け付け、その指定された既存のオブジェクトを移動させて前記空き領域を確保するように動作させる
ことを特徴とする請求項１２に記載のプログラム。
【請求項１４】
前記情報処理装置を、
余白を詰めることにより前記手書きオブジェクトを挿入可能な空き領域を確保できない場合は、既存のオブジェクトおよび前記手書きオブジェクトを縮小して余白を詰めることで、縮小した前記手書きオブジェクトを挿入可能な空き領域を確保するように動作させる
ことを特徴とする請求項１２または１３に記載のプログラム。
【請求項１５】
前記所定の背景は、既存のオブジェクトの上に重ねる、不透明もしくは低透過度の背景である
ことを特徴とする請求項１１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字・図形などの手書き入力を受けてその内容を表示する手書き入力装置およびそのプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータのデスクトップ画面に表示されるアイコンのように表示/移動位置が決められているものであれば、既に並んで表示されているアイコンの列に別のアイコンを挿入する際に、比較的容易な処理により、既存のアイコンを自動的に移動させて挿入に必要な空き領域を確保することができる。
【０００３】
しかし、手書き入力された文字・図形などの手書きオブジェクトの場合、それぞれの手書きオブジェクトのサイズや位置が自由で不規則なため、既存のオブジェクトを自動的に移動させて適切に挿入することは難しい。そのため、手書きオブジェクトが既に表示されているところに別の手書きオブジェクトを追記する場合には、新たなオブジェクトを既存のオブジェクトと重ならない空きエリアに手書きし、この新たなオブジェクトと既存のオブジェクトとを矢印等で結んで擬似的な関連を持たせるといったことしかできず、それらが増えると、非常に見難い状態になっていた。
【０００４】
なお、手書き入力における挿入技術としては、たとえば、手書き入力中に、既に入力された手書きストロークの並び方から、次に手書き入力される位置を予測し、その予測した位置に空きスペースが確保されるように、既存のオブジェクトを、Ｘ／Ｙ軸方向の移動距離が小さい方向に次々と移動させる技術がある（特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−７９６２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１のように、手書き入力中に、次の手書き入力位置を予測し、その予測位置に空きスペースが確保されるように、既存のオブジェクトを次々と移動させる技術では、予測が外れた場合には、ユーザの意図した位置への手書き入力が難しくなる。
【０００７】
また、入力の度に周囲のオブジェクトが移動すると、ユーザにとって非常に見難い状況が発生する。
【０００８】
また、次の入力予測位置に従って既存のオブジェクトを次々に移動させると、次の入力のみに対応した場当たり的な移動が積み重なり、入力終了時には、既存のオブジェクトのレイアウトが大きく崩れてしまう恐れがある。
【０００９】
本発明は、上記の問題を解決しようとするものであり、手書き入力中の見易さを確保して、既存の手書きオブジェクトに新たな手書きオブジェクトを挿入することのできる手書き入力装置およびそのプログラムを提供することを目的としている。また、全体のレイアウトを崩さないようにして既存の手書きオブジェクトに新たな手書きオブジェクトを挿入することのできる手書き入力装置およびそのプログラムを提供することを第２の目的としている。
【課題を解決するための手段】
【００１０】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１１】
［１］手書きオブジェクトの入力を受ける手書き入力部と、
前記手書き入力部から入力された手書きオブジェクトを表示する表示部と、
制御部と
を備え、
前記制御部は、所定の追記指示を受けた手書きオブジェクトの手書き入力中はその手書きオブジェクトを既存のオブジェクトに重ねて表示し、前記手書きオブジェクトの入力が完了したとき、この手書きオブジェクトを既存のオブジェクトに挿入して表示する挿入処理を行う
ことを特徴とする手書き入力装置。
【００１２】
上記［１］および下記［１０］に記載の発明では、追記指示を受けた手書きオブジェクトの手書き入力中はその手書きオブジェクトを既存のオブジェクトに重ねて表示し、手書きオブジェクトの入力が完了したとき、この手書きオブジェクトを既存のオブジェクトに挿入して表示する。入力完了後に挿入処理を行うので、入力完了により確定した手書きオブジェクトのサイズやその周囲の状況に応じた挿入処理が行われ、全体のバランスを崩すことなく既存の手書きオブジェクトに新たな手書きオブジェクトを挿入することができる。
【００１３】
［２］前記制御部は、前記追記指示を受けた手書きオブジェクトの手書き入力中は、少なくとも既存のオブジェクトと重なる部分の前記手書きオブジェクトの背景を、この手書きオブジェクトを見易くする所定の背景に変更する
ことを特徴とする［１］に記載の手書き入力装置。
【００１４】
上記［２］および下記［１１］に記載の発明では、追記指示を受けた手書きオブジェクトの手書き入力中は、その手書きオブジェクトを見易くする背景が表示される。たとえば、白色の背景、無地で半透明の背景などが適する。
【００１５】
［３］前記制御部は、余白を詰めるように既存のオブジェクトを移動させることで、前記手書きオブジェクトの入力位置に前記手書きオブジェクトを挿入するための空き領域を確保する
ことを特徴とする［１］または［２］に記載の手書き入力装置。
【００１６】
上記［３］および下記［１２］に記載の発明では、手書きオブジェクトの入力位置の周囲にある既存のオブジェクト等を、手書きオブジェクトの入力位置から見て該周囲の既存のオブジェクトの向こう側にある余白を詰めるように移動させることで、手書き位置に空き領域を確保するので、大きなレイアウトの変更は生じない。
【００１７】
［４］前記制御部は、前記手書きオブジェクトを挿入するために移動させる既存のオブジェクトの指定をユーザから受け付け、その指定された既存のオブジェクトを移動させて前記空き領域を確保する
ことを特徴とする［３］に記載の手書き入力装置。
【００１８】
上記［４］および下記［１３］に記載の発明では、ユーザは、新たな手書きオブジェクトを挿入するために移動させる既存のオブジェクトを指定することができる。
【００１９】
［５］前記制御部は、余白を詰めることにより前記手書きオブジェクトを挿入可能な空き領域を確保できない場合は、既存のオブジェクトおよび前記手書きオブジェクトを縮小して余白を詰めることで、縮小した前記手書きオブジェクトを挿入可能な空き領域を確保する
ことを特徴とする［３］または［４］に記載の手書き入力装置。
【００２０】
上記［５］および下記［１４］に記載の発明では、余白を詰める移動だけでは必要なサイズの空き領域を確保できない場合は、縮小処理が行われる。手書きオブジェクトの追記完了後にその手書きオブジェクトを挿入できないといった事態の発生が回避される。
【００２１】
［６］前記所定の背景は、既存のオブジェクトの上に重ねる、不透明もしくは低透過度の背景である
ことを特徴とする［２］に記載の手書き入力装置。
【００２２】
上記［６］および下記［１５］に記載の発明では、不透明の背景は既存のオブジェクトが覆い隠されるので、手書きの内容が見やすくなる。一方、低透過度（半透明）の背景の場合は、下層にある既存のオブジェクトの内容を確認しながら追記することができる。
【００２３】
［７］前記追記指示は、所定の追記開始マークの手書き入力である
ことを特徴とする［１］乃至［６］のいずれか１項に記載の手書き入力装置。
【００２４】
上記発明では、追記開始マークを追記したい位置に書き込むことで、追記の開始を指示することができ、良好な操作性が提供される。
【００２５】
［８］前記手書きオブジェクトの入力の完了は、所定の追記終了マークの手書き入力により判別する
ことを特徴とする［１］乃至［７］のいずれか１項に記載の手書き入力装置。
【００２６】
上記発明では、手書き入力により、追記の終了を指示することができ、良好な操作性が提供される。
【００２７】
［９］前記手書きオブジェクトを挿入するために移動させる既存のオブジェクトの指定は、移動対象の既存のオブジェクトに対する所定の選択マークの手書き入力である
ことを特徴とする［４］に記載の手書き入力装置。
【００２８】
上記発明では、手書き入力により、移動対象のオブジェクトを指定することができ、良好な操作性が提供される。
【００２９】
［１０］手書きオブジェクトの入力を受ける手書き入力部と、前記手書き入力部から入力された手書きオブジェクトを表示する表示部とを備えた情報処理装置を、
所定の追記指示を受けた手書きオブジェクトの手書き入力中はその手書きオブジェクトを既存のオブジェクトに重ねて表示し、前記手書きオブジェクトの入力が完了したとき、この手書きオブジェクトを既存のオブジェクトに挿入して表示するように動作させる
ことを特徴とするプログラム。
【００３０】
［１１］前記情報処理装置を、
前記追記指示を受けた手書きオブジェクトの手書き入力中は、少なくとも既存のオブジェクトと重なる部分の前記手書きオブジェクトの背景を、この手書きオブジェクトを見易くする所定の背景に変更する
ように動作させる
ことを特徴とする［１０］に記載のプログラム。
【００３１】
［１２］前記情報処理装置を、
余白を詰めるように既存のオブジェクトを移動させることで、前記手書きオブジェクトの入力位置に前記手書きオブジェクトを挿入するための空き領域を確保するように動作させる
ことを特徴とする［１０］または［１１］に記載のプログラム。
【００３２】
［１３］前記情報処理装置を、
前記手書きオブジェクトを挿入するために移動させる既存のオブジェクトの指定をユーザから受け付け、その指定された既存のオブジェクトを移動させて前記空き領域を確保するように動作させる
ことを特徴とする［１２］に記載のプログラム。
【００３３】
［１４］前記情報処理装置を、
余白を詰めることにより前記手書きオブジェクトを挿入可能な空き領域を確保できない場合は、既存のオブジェクトおよび前記手書きオブジェクトを縮小して余白を詰めることで、縮小した前記手書きオブジェクトを挿入可能な空き領域を確保するように動作させる
ことを特徴とする［１２］または［１３］に記載のプログラム。
【００３４】
［１５］前記所定の背景は、既存のオブジェクトの上に重ねる、不透明もしくは低透過度の背景である
ことを特徴とする［１１］に記載のプログラム。
【発明の効果】
【００３５】
本発明に係る手書き入力装置およびそのプログラムによれば、手書き入力中の見易さを確保し、また全体のレイアウトを崩さないようにして、既存の手書きオブジェクトに新たな手書きオブジェクトを挿入することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態に係る手書き入力装置の構成例を示すブロック図である。
【図２】本発明の実施の形態に係る手書き入力装置の追記モードにおける手書き入力作業の概略を示す説明図である。
【図３】本発明の実施の形態に係る手書き入力装置の追記モードにおけるオブジェクトの移動方向指示、移動対象指示の記入例を示す説明図である。
【図４】本発明の実施の形態に係る手書き入力装置が手書き入力を受けてその表示を行う際の動作の概要を示す流れ図である。
【図５】座標検知処理（図４のステップＳ１０２）を示す流れ図である。
【図６】オブジェクト認識処理（図４のステップＳ１０７）の詳細を示す流れ図である。
【図７】図６の続きを示す流れ図である。
【図８】文字が入力された場合のオブジェクト認識処理の動作の具体例を示す説明図である。
【図９】オブジェクト認識処理によって複数の手書き内容が２個のオブジェクトに区分されて認識された例を示す説明図である。
【図１０】全体エリア余白算出処理（図４のステップＳ１１０）による余白エリアの探索および登録の具体例を示している。
【図１１】全体エリア余白算出処理の詳細を示す流れ図である。
【図１２】追記領域初期設定処理（図４のステップＳ１１２）の詳細を示す流れ図である。
【図１３】追記領域拡張処理（図４のステップＳ１２１）によって追記領域が順次拡張される様子の一例を示す説明図である。
【図１４】追記オブジェクト状態設定処理（図４のステップＳ１１８）の詳細を示す流れ図である。
【図１５】図１４の続きを示す流れ図である。
【図１６】余白エリアの不足時であって移動対象（または移動方向）が指定された場合の一例を示す説明図である。
【図１７】余白エリアの不足時の縮小処理の一例を示す説明図である。
【発明を実施するための形態】
【００３７】
以下、図面に基づき本発明の実施の形態を説明する。
【００３８】
図１は、本発明に係る手書き入力装置１０の構成例を示している。
【００３９】
手書き入力装置１０は、制御部１１に、表示部１２と、操作入力部１３と、無線通信部１４と、外部メモリ接続部１５とを接続して構成される。手書き入力装置１０の動作を統括制御する制御部１１は、ＣＰＵ（Central Processing Unit）１６、ＦｌａｓｈＲＯＭ（Read Only Memory）１７、メモリ１８などを主要部として構成される。
【００４０】
表示部１２は液晶ディスプレイなどで構成される。操作入力部１３は、表示部１２の画面上に設けられ、この画面上へのペンなどの接触位置を検出するタッチパネル部（座標位置検出センサ）１３ａのほか、各種の操作スイッチで構成される。操作入力部１３はタッチパネル部１３ａからユーザの手書きによる文字、図形などオブジェクト（手書きオブジェクト）の入力を受ける。タッチパネル部１３ａの検知方式は、静電容量、アナログ/デジタル抵抗膜、赤外線、超音波、電磁誘導等、任意でよい。
【００４１】
無線通信部１４は、無線通信によりネットワークと接続し、他の機器と通信する機能を果たす。
【００４２】
制御部１１のＦｌａｓｈＲＯＭ１７は、電源をオフしてもその記憶内容が保持される書き換え可能なメモリである。ＦｌａｓｈＲＯＭ１７には、各種プログラムやデータが格納され、これらのプログラムに従ってＣＰＵ１６が各種の処理を実行することで手書き入力装置１０としての各機能が実現される。また、ＦｌａｓｈＲＯＭ１７には、手書き入力装置１０に対して設定された各種設定値なども記憶される。メモリ１８はＣＰＵ１６がプログラムを実行する際に各種のデータを一時的に格納するワークメモリや表示データを一時記憶するメモリとして使用される。
【００４３】
外部メモリ接続部１５には、ＳＤ（Secure Digital）メモリカードなどが着脱可能に接続される。ＳＤメモリには、たとえば、テンプレートのように予め定めたオブジェクト（パーツ）のデータなどが保存される。
【００４４】
手書き入力装置１０は、手書き入力モードとして、新たな手書きオブジェクトを既存のオブジェクトを移動させずに上書きする通常入力モードと、既存のオブジェクトを必要に応じて移動させて新たな手書きオブジェクトを挿入する追記モードとを備えている。通常入力モードは、空白部分に新たな手書きオブジェクトを書き込む場合や、既存のオブジェクトに新たな手書きオブジェクトを重ね書きする場合に使用される。
【００４５】
追記モードでは、新たな手書きオブジェクトの書き込み中は、その書き込み中の新たなオブジェクトが既存のオブジェクトに重ねて表示され、書き込みが完了すると、その手書きオブジェクトをその手書き位置に挿入するために必要な空き領域が確保されるように、周囲の既存のオブジェクトが移動され、該移動によって確保された空き領域に新たな手書きオブジェクトが自動的に挿入される。また周囲にあった既存のオブジェクトの移動により、新たな手書きオブジェクトの挿入に必要なサイズの空き領域を確保できない場合は、既存のオブジェクトおよび新たな手書きオブジェクトの縮小が自動的に行われる。
【００４６】
図２は、手書き入力装置１０の追記モードにおける手書き入力作業の概略を示している。なお、手書き入力装置１０の画面には、左上端を原点として、左から右方向を＋のＸ軸方向、上から下方向を＋のＹ軸方向とした座標系が設定されている。
【００４７】
ユーザは、新たなオブジェクトを追記モードで手書きしたい場所に、予め定められた追記マーク３１を手書きする（図２（ａ）参照）。手書き入力装置１０は手書きの内容が追記開始指示（追記マーク３１）か否かを判断し、追記マーク３１であった場合は、手書き入力モードを追記モードに設定する。なお、追記開始指示は上記の追記マーク３１に限定されない。また、追記開始指示は手書き入力以外の方法、たとえば、特定のスイッチの操作で入力する方法などであってもよい。
【００４８】
手書き入力装置１０は、追記モードに入ると、図２（ｂ）に示すように、新たな手書き入力を受けるための追記領域３２を、追記マーク３１の記入された位置の＋Ｘ方向のすぐ隣に表示する。追記領域３２の初期サイズは、追記マーク３１のサイズに応じて設定される。たとえば、＋のＸ軸方向に追記マーク３１の５倍、＋のＹ軸方向に追記マーク３１の２倍の矩形エリアを初期の追記領域３２として設定する。
【００４９】
追記領域３２は、既存のオブジェクトの上に重ねて表示される不透明もしくは低透過度の無地の背景を有しており、追記領域３２に手書き入力された文字・図形などはこの背景の上に表示される。これにより、追記領域３２に書き込んだ文字などの手書きオブジェクトは、追記領域３２の背景の下層に既存のオブジェクトがあっても、見やすく表示される。なお、追記領域３２の背景が半透明の場合には、下層にある既存のオブジェクトを確認しながら追記することができる。図中の追記領域３２は枠線を有するが枠線はなくても良い。
【００５０】
追記領域３２にユーザが文字などを手書きすると、それに応じて順次、追記領域３２は拡張される。
【００５１】
追記領域３２への手書き入力の完了（追記モードの終了）を示す追記終了指示は、たとえば、「。」など、文の終わりを示す句点の記入や、特定マークの記入により行われる。追記終了指示は上記特定マークの記入に限定されない。たとえば、特定のスイッチの操作に従って追記モードの終了を指示するように構成してもよい。
【００５２】
手書き入力装置１０は追記領域３２への手書きオブジェクトの書き込み完了を認識すると、書き込まれた手書きオブジェクト（追記オブジェクトとする）のサイズを特定し、これを挿入するために必要な空き領域が手書き位置に確保されるように、周囲の既存のオブジェクトを移動させ、追記オブジェクトをその書き込み位置に挿入する。図２の例では、同図（ａ）に示すように追記マーク３１の下方に既存オブジェクト３４があり、さらにその下方に追記オブジェクトを内包可能なサイズの余白領域３５がある。そこで、同図（ｃ）に示すように、余白領域３５を詰めるように既存オブジェクト３４を下方（＋Ｙ方向：図中の矢印３７の方向）に移動させて追記オブジェクト３６の書き込み位置に必要なサイズの空き領域を確保し、ここに追記オブジェクト３６が挿入されている。
【００５３】
なお、手書き入力装置１０では、追記オブジェクト３６の書き込み位置に必要なサイズの空き領域を確保するために、周囲の既存オブジェクトをどの方向へ移動させるかの移動方向指示や、どのオブジェクトを移動対象にするかの移動対象指示をユーザから受け付け可能になっている。
【００５４】
本実施の形態では、図３に示すように、追記マーク３１の入力後に、追記マーク３１と同じ形の移動方向指示マーク４１を、オブジェクトを移動させたい方向に連続して記入することで、オブジェクトの移動方向が指定される。図３の例では下方への移動が指示される。また、追記マーク３１を記入した後、次のストロークで円４２が手書きされた場合、この円４２は移動対象指示として機能し、この円４２で囲まれたオブジェクトが移動対象のオブジェクトに指定される。なお、移動方向や移動対象の指定方法は上記に限定されず、任意でよい。
【００５５】
次に、上記のような追記モードを備えた手書き入力装置１０の動作をより詳細に説明する。
【００５６】
図４は、手書き入力装置１０が手書き入力を受けてその表示を行う際の動作の概要を示す流れ図である。この処理は、１ストロークの手書き入力を受ける毎の動作を示している。なお、１ストロークは、ペンを下ろしてからそのペンが離れるまでの入力軌跡である。
【００５７】
制御部１１は、タッチパネル部１３ａへの手書き入力（指やペンなどのタッチ）を検出すると（ステップＳ１０１）、その手書き位置のＸＹ座標の取得やストロークの切れ目を判断する座標検知処理を行う（ステップＳ１０２）。また、手書きの内容を表示部１２に表示する（ステップＳ１０３）。なお、座標検知処理は１ストロークの入力完了を検出すると１ストロークフラグをセットする。座標検知処理の詳細は後述する。制御部１１は、１ストロークフラグを参照等して１ストロークの入力完了を判断し（ステップＳ１０４）、１ストロークの入力が未完了ならば（ステップＳ１０４；Ｎｏ）ステップＳ１０１に戻って処理を継続する。これにより手書き入力中のストロークの軌跡がリアルタイムに表示部１２に表示される。
【００５８】
１ストロークの入力が完了すると（ステップＳ１０４；Ｙｅｓ）、制御部１１は、１ストロークフラグをクリアし（ステップＳ１０５）、以下の処理を行う。
【００５９】
まず、今回入力されたストロークが文字、あるいは追記開始指示等のマークか否かの判断処理を行う（ステップＳ１０６）。次に、今回入力されたストロークを前回入力されたストロークの属する手書きオブジェクトに含めるか否かを判断して、関連する複数のストロークを１つのオブジェクトにまとめるオブジェクト認識処理を行う（ステップＳ１０７）。オブジェクト認識処理では、一定時間内に入力された近接する複数のストロークを１つの手書きオブジェクトとして認識する。オブジェクト認識処理の詳細は後述する。
【００６０】
制御部１１は、現在の手書き入力モードが追記モードか否かを判断し（ステップＳ１０８）、追記モードでない場合は（ステップＳ１０８；Ｎｏ）、今回入力されたストロークが追記開始指示（追記マーク３１）か否かを判断する（ステップＳ１０９）。今回入力されたストロークが追記マーク３１であった場合は（ステップＳ１０９；Ｙｅｓ）、手書き入力モードを追記モードに設定し、追記モードで手書き入力を受けるための準備処理を行う。すなわち、記入された追記マーク３１の周辺等の余白エリアを探索する全体エリア余白算出処理を行い（ステップＳ１１０）、この処理で検出した余白エリアを登録し（ステップＳ１１１）、さらに追記領域３２を初期設定する追記領域初期設定処理（ステップＳ１１２）を行って本処理を終了する。全体エリア余白算出処理（ステップＳ１１０）、追記領域初期設定処理（ステップＳ１１２）の詳細は後述する。
【００６１】
今回入力されたストロークが追記マーク３１でない場合は（ステップＳ１０９；Ｎｏ）、このストロークは通常入力モードでの文字などの手書き入力なので、ステップＳ１０３の表示以外に特別な処理は不要なため、本処理を終了する。
【００６２】
追記モード中であった場合は（ステップＳ１０８；Ｙｅｓ）、今回入力されたストロークが、移動方向指示か否かを判断し（ステップＳ１１３）、移動方向指示であった場合は（ステップＳ１１３；Ｙｅｓ）、指示された移動方向を認識して登録し（ステップＳ１１４）、本処理を終了する。
【００６３】
今回入力されたストロークが移動方向指示でない場合は（ステップＳ１１３；Ｎｏ）、そのストロークが移動対象指示か否かを判断する（ステップＳ１１５）。今回入力されたストロークが移動対象指示であった場合は（ステップＳ１１５；Ｙｅｓ）、指示された移動対象のオブジェクトを登録して（ステップＳ１１６）処理を終了する。
【００６４】
今回入力されたストロークが移動対象指示でない場合は（ステップＳ１１５；Ｎｏ）、今回入力されたストロークが追記終了指示か否かを判断する（ステップＳ１１７）。追記終了指示でない場合（ステップＳ１１７；Ｎｏ）、今回のストロークは追記領域３２への通常の文字などの記入なので、その記入に応じて追記領域３２を拡張させる追記領域拡張処理を行って（ステップＳ１２１）、本処理を終了する。追記領域拡張処理（ステップＳ１２１）の詳細は後述する。
【００６５】
今回入力されたストロークが追記終了指示であった場合は（ステップＳ１１７；Ｙｅｓ）、追記領域３２内の追記オブジェクトのサイズを特定し、この追記オブジェクトをこの手書き位置に挿入するための空白エリアを、周囲の既存のオブジェクトを移動させたり必要に応じて縮小したりして確保し、その確保した空白エリアに追記オブジェクトを挿入する追記オブジェクト状態設定処理（ステップＳ１１８）を行う。さらに、各オブジェクトの配列を調整する精緻化処理（ステップＳ１１９）、追記領域３２の枠や背景を消去したり、追記マーク３１、移動方向指示、移動対象指示の指示記号を消去したりする通常表示処理（ステップＳ１２０）を行って本処理を終了する。なお、追記オブジェクト状態設定処理（ステップＳ１１８）の詳細については後述する。
【００６６】
精緻化処理では、入力した手書きオブジェクトに、ナンバリングや、箇条書きマーク「・」等があった場合、上下に同様な記号等があれば、Ｘ軸方向またはＹ軸方向の位置を合わせるといったことが行われる。
【００６７】
図５は、座標検知処理（図４のステップＳ１０２）を示す流れ図である。制御部１１はタッチパネル部１３ａから手書き検知有りの情報を取得し（ステップＳ２０１）、その検知された手書き位置のＸ軸方向の座標情報およびＹ軸方向の座標情報を取得し（ステップＳ２０２、Ｓ２０３）、これらの座標情報を保存する（ステップＳ２０４）。つぎに前回の手書き位置の座標情報を読み出し（ステップＳ２０５）、今回検出された手書き位置と前回の手書き位置とが近接（連続）しているか否かを判断する（ステップＳ２０６）。
【００６８】
近接していない場合は（ステップＳ２０６；Ｎｏ）、手書きが一旦中断されたとして、１ストロークの入力完了を示す１ストロークフラグをセットして（ステップＳ２０７）処理を終了する。近接している場合は（ステップＳ２０６；Ｙｅｓ）、同じ１つのストロークの入力が続いていると判断し、そのまま処理を終了する。なお、上記のほか、手書きの検知が途絶えたことにより１ストロークの入力完了を認識するようになっている。
【００６９】
図６、図７は、オブジェクト認識処理（図４のステップＳ１０７）の詳細を示している。手書き入力装置１０は、通常入力モードの手書き入力において、一定時間内に近接して書き込まれた複数のストロークを１つのオブジェクトとして認識する。
【００７０】
本例では、オブジェクトは下記の手順で決定される。  
まず、図４のＳ１０６で行われた認識結果より、今回の手書きの内容が文字かイメージかを判定する（ステップＳ３０１）。
【００７１】
文字の場合は（ステップＳ３０１；Ｙｅｓ）、入力中オブジェクトの最初のストロークの入力開始からの経過時間を計測する時間カウンタを読み取り（ステップＳ３０２）、上記経過時間が一定の時間内(たとえば、１分以内)であれば（ステップＳ３０３；Ｙｅｓ）、今回の入力文字が入力中オブジェクトの近傍にあるか否かを判断する（ステップＳ３０４〜Ｓ３０７）。
【００７２】
すなわち、今回の入力文字が、入力中オブジェクトの存在範囲を基準にして、Ｘ軸方向の入力であれば（ステップＳ３０４；Ｙｅｓ）、＋のＸ軸方向に入力文字サイズの５倍の入力エリアを確保し（ステップＳ３０５）、Ｘ軸方向の入力でなければ（ステップＳ３０４；Ｎｏ）、＋のＹ軸方向に入力文字サイズの５倍の入力エリアを確保し（ステップＳ３０６）、いずれかの入力エリア内に今回の入力文字が位置するか否かを判断する（ステップＳ３０７）。今回の入力文字が入力エリア内にあれば（ステップＳ３０７；Ｙｅｓ）、今回の入力文字を入力中オブジェクトの構成メンバに追加し（ステップＳ３１０）、当該入力中オブジェクトの登録を更新して（ステップＳ３１１）処理を終了する。
【００７３】
入力中オブジェクトの入力開始からの経過時間が一定時間を越えている場合（ステップＳ３０３；Ｎｏ）、もしくは、今回の入力文字が入力エリア内にない場合は（ステップＳ３０７；Ｎｏ）、新たなオブジェクトを設定する（ステップＳ３０８）。この新たなオブジェクトは次回のオブジェクト認識処理において入力中オブジェクトになる。その後、時間カウンタをクリアし（ステップＳ３０９）、今回の入力文字を新たなオブジェクトの最初の構成メンバに設定し（ステップＳ３１０）、このオブジェクトを登録して（ステップＳ３１１）本処理を終了する。
【００７４】
今回の手書きの内容が文字でなくイメージの場合は（ステップＳ３０１；Ｎｏ）、入力中オブジェクトの入力開始からの経過時間を調べ（図７、ステップＳ３２１、Ｓ３２２）、一定の時間内(たとえば、１分以内)であれば（ステップＳ３２２；Ｙｅｓ）、今回の入力イメージが入力中オブジェクトの近傍にあるかを判断する（ステップＳ３２３〜Ｓ３２６）。
【００７５】
すなわち、今回の入力イメージが、入力中オブジェクトの存在範囲を基準にして、Ｘ軸方向の入力であれば（ステップＳ３２３；Ｙｅｓ）、＋のＸ軸方向で入力イメージサイズの１０倍の入力エリアを確保し（ステップＳ３２４）、Ｘ軸方向の入力でなければ（ステップＳ３２３；Ｎｏ）、＋のＹ軸方向で入力イメージサイズの１０倍の入力エリアを確保し（ステップＳ３２５）、いずれかの入力エリア内に今回の入力イメージが位置するか否かを判断する（ステップＳ３２６）。今回の入力イメージが入力エリア内にあれば（ステップＳ３２６；Ｙｅｓ）、今回の入力イメージを入力中オブジェクトの構成メンバに追加し（ステップＳ３２９）、当該入力中オブジェクトの登録を更新して（ステップＳ３１１）処理を終了する。
【００７６】
入力中オブジェクトの入力開始からの経過時間が一定時間を越えている場合（ステップＳ３２２；Ｎｏ）、もしくは、今回の入力イメージが入力エリア内にない場合は（ステップＳ３２６；Ｎｏ）、新たなオブジェクトを設定する（ステップＳ３２７）。この新たなオブジェクトは次回のオブジェクト認識処理において入力中オブジェクトになる。その後、時間カウンタをクリアし（ステップＳ３２８）、今回の入力イメージを新たなオブジェクトの最初の構成メンバに設定し（ステップＳ３２９）、このオブジェクトを登録して（ステップＳ３１１）本処理を終了する。
【００７７】
なお、１つのオブジェクトに文字とイメージが混在している場合でも、上記の処理で対応することができる。
【００７８】
図８は、文字が入力された場合のオブジェクト認識処理の動作の具体例を示している。図８（ａ）では、文字Ａが入力中オブジェクト５１（グレーの部分）であり、この場合は、＋のＸ軸方向および＋のＹ軸方向に文字Ａのサイズの５倍の入力エリア５２が確保される。
【００７９】
同図（ｂ）に示す位置に文字Ｂが手書き入力されると、文字Ｂは入力中オブジェクト５１を基準とした入力エリア５２内にあるので、文字Ａと同じオブジェクトの構成メンバに追加される。文字Ｂが追加されることにより入力中オブジェクト５１の範囲は同図（ｃ）に示すように広がり、この広がった入力中オブジェクト５１の範囲に対して新たな入力エリア５２が設定される。
【００８０】
このようにして一定時間内に近傍に記載された複数の文字やイメージが関連付けされて１つのオブジェクトに集約される。
【００８１】
図９は、図６、図７に示すオブジェクト認識処理によって複数の手書き内容が２個のオブジェクト３４Ａ、３４Ｂに区分されて認識された例を示している。
【００８２】
次に、全体エリア余白算出処理（図４のステップＳ１１０）について説明する。
【００８３】
図１０は、全体エリア余白算出処理による余白エリアの探索および登録の具体例を示している。追記マーク３１が記入されると、この追記マーク３１の位置を基準にして周囲の余白エリア、および周囲のオブジェクトの向こう側にある余白エリアが探索される。なお、周囲のオブジェクトの向こう側の余白エリアの向こう側にさらにオブジェクトがあればさらにその向こう側の余白エリアを探索するというようにして画面の端に至るまで余白エリアが探索される。図１０の例では、Ｘ軸方向として、第１から第４余白エリア６１〜６４が探索されて登録される。Ｙ軸方向として、第５から第７余白エリア６５〜６７が探索されて登録される。
【００８４】
図１１は、全体エリア余白算出処理の詳細な流れを示している。まず、記入された追記マーク３１のサイズをチェックし（ステップＳ４０１）、この追記マーク３１の＋−のＸ軸方向に追記マーク３１のサイズの２倍以上のサイズの余白エリアが存在するか否かを調べる（ステップＳ４０２）。該当する余白エリアが存在する場合は（ステップＳ４０２；Ｙｅｓ）、その余白エリアを＋−のＸ軸方向に拡張可能な範囲で拡張して仮設定する（ステップＳ４０３）。図１０の例では、この処理により、第２余白エリア６２、第３余白エリア６３が探索される。
【００８５】
次に、追記マーク３１の＋−のＹ軸方向に追記マーク３１のサイズの２倍以上のサイズの余白エリアが存在するか否かを調べ（ステップＳ４０４）、該当の余白エリアがあれば（ステップＳ４０４；Ｙｅｓ）、その余白エリアをＹ軸方向の余白エリアとして仮設定する（ステップＳ４０５）。図１０の例ではこの処理により第７余白エリア６７が探索される。その後、ステップＳ４０３、Ｓ４０５で仮設定した余白エリアの整合を取ってそれらの余白エリアを登録する（ステップＳ４０６）。
【００８６】
次に、追記マーク３１を含む、または追記マーク３１の周囲に存在するオブジェクトの情報（サイズ、位置）を取得する（ステップＳ４０７）。図１０の例では、オブジェクト３４Ａ、３４Ｂ（これらは図９と同じ）が存在しており、それらの情報が取得される。
【００８７】
追記マーク３１を基準にして、＋−のＸ軸方向に存在するオブジェクトの周囲にあって既に登録されている余白エリア以外の余白エリアを探索し、該当する余白エリアを仮登録する（ステップＳ４０８、Ｓ４０９）。この処理では、第１余白エリア６１および第４余白エリア６４が探索されて仮登録される。第２余白エリア６２は既に登録されているので除外される。
【００８８】
同様に追記マーク３１を基準にして、＋−のＹ軸方向に存在するオブジェクトの周囲にあって既に登録されている余白エリア以外の余白エリアを探索し、該当する余白エリアを仮登録する（ステップＳ４１０、Ｓ４１１）。この処理では、第５余白エリア６５および第６余白エリア６６が探索されて仮登録される。
【００８９】
その後、ステップＳ４０９、Ｓ４１１で仮登録した余白エリアの整合を取ってそれらの余白エリアを登録する（ステップＳ４１２）。
【００９０】
以上の処理により図１０の例では、第１〜第７余白エリア６１〜６７が探索されて登録される。なお、オブジェクトの周囲の余白エリアは、そのオブジェクトの幅で設定される。これは、オブジェクトの向こう側にある余白エリアを詰めてその余白エリアの方向へオブジェクトを移動させるには、オブジェクトの移動方向と垂直方向の幅で余白エリアが存在すれば足りることによる。たとえば、図１０の第１余白エリア６１のＹ軸方向の範囲はオブジェクト３４ＡのＹ軸方向の存在範囲と同じにされる。
【００９１】
図１２は、追記領域初期設定処理（図４のステップＳ１１２）の詳細を示している。まず、記入された追記マーク３１の位置、サイズをチェックし（ステップＳ５０１）、追記マーク３１のサイズの＋Ｘ軸方向に５倍、＋Ｙ軸方向に２倍の幅を持つ矩形領域を初期の追記領域３２として追記マーク３１の＋Ｘ軸方向の直近に設定する（ステップＳ５０２）。設定した追記領域３２は、半透明（ここでは透過度２５％）かつ無地の背景にして、既存のオブジェクトの上に重ねて表示する（ステップＳ５０３）。なお、追記領域３２に記入された文字やイメージは追記領域３２の背景の上に表示される。
【００９２】
図１３は、追記領域拡張処理（図４のステップＳ１２１）によって追記領域３２が順次拡張される様子の一例を示している。同図（ａ）は、追記マーク３１が記入された直後に表示される初期の追記領域３２ａを示している。追記マーク３１のサイズのＸ軸方向５倍、Ｙ軸方向２倍のサイズの矩形領域が初期の追記領域３２ａとして設定される。追記領域３２の背景は透過度２５％の白無地になっている。同図（ａ）では、下層のオブジェクト３４Ｃが薄く透けて見える様子を例示している。
【００９３】
同図（ｂ）は文字Ａが記入されたことによって＋Ｘ軸方向に拡張された追記領域３２ｂを、同図（ｃ）は文字Ａの＋Ｘ軸方向の隣にさらに文字Ｂ、Ｃが追記されたことによって＋Ｘ軸方向にさらに拡張された追記領域３２ｃを、同図（ｄ）は文字Ａの＋Ｙ軸方向に文字Ｄが追記されたことによって＋Ｙ軸方向に拡張された追記領域３２ｄを示している。なお同図（ｅ）は追記終了指示４３を受けて確定した追記オブジェクトの範囲をグレーで示している。追記終了指示４３を受けると追記マーク３１や移動方向指示、移動対象指示などの指示記号は自動的に削除される。ただし、本実施の形態の移動終了指示４３である「。」のように、追記オブジェクトの実体を成す文字が兼用された指示記号は自動削除しない。
【００９４】
図１４、図１５は追記オブジェクト状態設定処理（図４のステップＳ１１８）の詳細を示している。まず、制御部１１は、追記領域３２に手書きされた追記オブジェクトのサイズを取得する（ステップＳ６０１）。次に、追記マーク３１の周囲の余白エリアに関する情報を取得する（ステップＳ６０２）。この情報は、追記開始指示を受けた際に図４のステップＳ１１０で探索して登録した余白エリアに関する情報である。
【００９５】
次に、追記オブジェクトの手書き位置に追記オブジェクトをそのまま収めることのできる余白エリアが存在するか否かを確認する（ステップＳ６０３）。追記オブジェクトの手書き位置に追記オブジェクトをそのまま収めることのできる余白エリアがあれば（ステップＳ６０４；Ｙｅｓ）、追記オブジェクトの配置を手書き位置に確定して（ステップＳ６１１）本処理を終了する。
【００９６】
手書き位置に追記オブジェクトをそのまま収めることのできる余白エリアがない場合は（ステップＳ６０４；Ｎｏ）、移動対象指示を受けているか否かを調べる（ステップＳ６０５）。
【００９７】
移動対象指示を受けている場合は（ステップＳ６０５；Ｙｅｓ）、移動対象に指定されたオブジェクトを移動させることで、追記オブジェクトの手書き位置に追記オブジェクトを収めることのできる空白エリアを確保できるか否かを調べる。移動対象に指定されたオブジェクトの移動方向は、追記マーク３１との相対位置によって自動的に決定される。すなわち、追記マーク３１に対して移動対象に指定されたオブジェクトの存在する方向が移動方向に自動設定される。
【００９８】
移動対象に指定されたオブジェクトを上記の方向に移動させることで追記オブジェクトの手書き位置に追記オブジェクトを収めることのできる空白エリアを確保可能ならば（ステップＳ６０６；Ｙｅｓ）、必要サイズの空白エリアを確保可能な範囲で最小の移動量となるように、指定されたオブジェクトの移動量を決定し、そのオブジェクトを移動させる（ステップＳ６１０）。追記オブジェクトの配置を手書き位置に確定して（ステップＳ６１１）本処理を終了する。
【００９９】
たとえば、図３に例示したように追記オブジェクトの下方（＋Ｙ軸方向）のオブジェクトが移動対象に指定されている場合、そのオブジェクトのさらに下方に余白エリアが存在するか否かを判断する。余白エリアが存在するならば、移動対象に指定されたオブジェクトをその余白エリアを詰めるように下方へ移動させた場合に、追記オブジェクトの手書き位置に追記オブジェクトを収めることのできる空白エリアが確保されるか否かを判断する。なお、元々、手書き位置に余白エリアがあれば、その余白エリアがオブジェクトの移動によって拡張されて空白エリアが確保される。
【０１００】
必要サイズの空白エリアを確保可能ならば、必要サイズの空白エリアを確保可能な範囲で最小の移動量となるように、指定されたオブジェクトの移動量を決定する。
【０１０１】
指定されたオブジェクトの移動で、追記オブジェクトの現在位置に追記オブジェクトを収めることのできる空白エリアを確保できない場合は、（図１４、ステップＳ６０６；Ｎｏ）、移動対象に指定されたオブジェクトを最大限に移動させた状態で、追記オブジェクトの手書き位置に生じる空白エリアに追記オブジェクトが収まるように、縮小処理を行い（ステップＳ６０７〜Ｓ６０９）、必要なオブジェクトの移動を行った後（ステップＳ６１０）、追記オブジェクトの配置位置を確定して（ステップＳ６１１）本処理を終了する。
【０１０２】
たとえば、図１６に示すように追記マーク３１の位置にＹ軸方向のサイズがＡの追記オブジェクト７１を挿入するものとする。移動対象に指定されたオブジェクト７２のＹ軸方向サイズをＢとし、追記マーク３１から見てオブジェクト７２の向こう側にある余白エリア７３のＹ軸方向サイズをＣとする。Ｃ＜Ａのため、現在のサイズのままでは必要な空白エリアを確保できない。
【０１０３】
この場合、（Ｂ＋Ｃ）の範囲に（Ａ＋Ｂ）が収まるように縮小率を決定する（ステップＳ６０７）。縮小率は１に近いほど好ましい。この場合、（Ｂ＋Ｃ）／（Ａ＋Ｂ）が最も好ましい縮小率になる。
【０１０４】
追記オブジェクト７１および移動対象に指定されたオブジェクト７２をそれぞれこの縮小率に従って縮小し（ステップＳ６０８、Ｓ６０９）、縮小後のオブジェクト７２を、余白エリア７３を詰める方向に最大量移動させ、縮小後の追記オブジェクト７１を手書き位置に配置する。
【０１０５】
なお、縮小率が許容上限値を超える場合には、移動対象指示で指定されたオブジェクトの移動では適切な挿入ができない旨の警告を行った後、もしくは警告後にユーザの承認を得た後、移動対象指示を解除して、図１５のステップＳ６２２へ進むように構成することが好ましい。
【０１０６】
移動対象指示を受けていない場合は（図１４、ステップＳ６０５；Ｎｏ）、移動方向指示を受けているか否かを調べる（図１５、ステップＳ６２１）。移動方向指示を受けていない場合は（ステップＳ６２１；Ｎｏ）、追記マーク３１の周辺の既存のオブジェクトに関する情報を取得する（ステップＳ６２２）。さらに、周囲の既存オブジェクトの周囲にある余白エリアの情報を取得する（ステップＳ６２３）。そして、周囲にある余白エリアを詰めるように周囲の既存オブジェクトを移動させることで、追記オブジェクトの手書き位置に追記オブジェクトを収めることのできる空白エリアが確保されるか否かを確認する（ステップＳ６２４）。
【０１０７】
ここでは、必要サイズの空白エリアが確保可能か否かを以下の手順で判断する。
１．周囲の余白エリアの中で＋Ｙ軸方向（下側）の余白エリアを優先的に使用する。
２．上記１．で必要サイズの空白エリアを確保できない場合は−Ｙ軸方向（上側）の余白エリアを使用する。
３．上記２．で必要サイズの空白エリアを確保できない場合は、下側の余白エリアすべて使用しその不足分だけ上側の余白エリアを詰める。
４．上記３．でも必要サイズの空白エリアを確保できない場合はステップＳ６２４にてＮｏと判断する。
【０１０８】
なお、空白エリアは、元々の手書き位置に余白エリアがあれば、その余白エリアがオブジェクトの移動によって拡張したものになる。また、使用する余白エリアを定めることで、必然的に移動させる周囲の既存オブジェクトやその移動方向も決定される。また、上記手順の２．を省略してもよい。
【０１０９】
さらに、どの方向の余白エリアを優先的に使用するかに関してユーザが設定変更可能に構成することが好ましい。また文字の入力方向（縦書き、横書き）に応じてどの方向の余白エリアを優先的に使用するかを自動変更してもよい。
【０１１０】
必要サイズの空白エリアを確保可能ならば（ステップＳ６２５；Ｙｅｓ）、使用する余白エリアに応じて移動対象の既存オブジェクトとその移動方向を決定し、さらにそのオブジェクトの移動量を、必要サイズの空白エリアが確保可能な範囲で最小量となるように決定する（ステップＳ６３６）。そして、その決定に従って周囲の既存オブジェクトを移動させた後（ステップＳ６３７）、ステップＳ６１１へ移行する。
【０１１１】
周囲の既存オブジェクトの移動によって必要サイズの空白エリアを確保できない場合は（ステップＳ６２５；Ｎｏ）、縮小処理を行う（ステップＳ６２６〜Ｓ６２８）。縮小後、必要なオブジェクトの移動を行った後（ステップＳ６３６、Ｓ６３７）、追記オブジェクトの配置位置を確定して（ステップＳ６１１）本処理を終了する。
【０１１２】
たとえば、図１７（ａ）に示すように追記マーク３１の位置にＹ軸方向のサイズがＡの追記オブジェクト７４を挿入するものとする。既存のオブジェクトおよび余白エリアの状態は図１０に示すものと同一とする。追記マーク３１の位置にある既存のオブジェクト３４ＢのＹ軸方向サイズをＤ、上側の第５余白エリア６５のＹ軸方向サイズをＢ、下側の第６余白エリア６６のＹ軸方向サイズをＣとする。Ｃ＋Ｂ＜Ａのため、現在のサイズのままでは必要な空白エリアを確保できない。
【０１１３】
この場合、（Ａ＋Ｄ）−（Ｂ＋Ｄ＋Ｃ）が不足するサイズになり、（Ｂ＋Ｄ＋Ｃ）の範囲に（Ａ＋Ｄ）が収まるように縮小率を決定する（ステップＳ６２６）。縮小率は１に近いほど好ましい。この場合、（Ｂ＋Ｄ＋Ｃ）／（Ａ＋Ｄ）が好ましい縮小率になる。
【０１１４】
追記オブジェクト７４および該当する既存のオブジェクト３４Ｂをそれぞれこの縮小率に従って縮小した後（ステップＳ６２７、Ｓ６２８）、縮小後のオブジェクト３４Ｂを追記マーク３１に対応する箇所の近傍で上下に分割する。そして、分割後の上側のオブジェクトを、第５余白エリア６５を詰める上方向（−のＹ軸方向）へ最大量移動させ、かつ分割後の下側のオブジェクトを、第６余白エリア６６を詰めるように下方向（＋のＹ軸方向）へ最大量移動させる（ステップＳ６３６、Ｓ６３７）。この移動により追記マーク３１のあった位置に縮小後の追記オブジェクト７４が収まる空白エリアを確保し、縮小後の追記オブジェクトをその空白エリアに配置する。図１７（ｂ）は、縮小して追記オブジェクトを挿入した状態を示している。
【０１１５】
移動方向指示がある場合は（ステップＳ６２１；Ｙｅｓ）、追記マーク３１に対して、移動方向指示で指定された方向にある既存のオブジェクトの情報（サイズ、位置など）を取得する（ステップＳ６２９）。さらに、指定された方向に存在する既存のオブジェクトの周囲にある余白エリアの情報を取得する（ステップＳ６３０）。そして、指定された方向にある余白エリアを詰めるように指定された方向にある既存のオブジェクトを移動させることで、追記オブジェクトの手書き位置に追記オブジェクトを収めることのできる空白エリアが確保されるか否かを確認する（ステップＳ６３１）。
【０１１６】
必要サイズの空白エリアを確保可能ならば（ステップＳ６３２；Ｙｅｓ）、移動させる既存オブジェクトとその移動方向を決定し、さらにそのオブジェクトの移動量を、必要サイズの空白エリアが確保可能な範囲で最小量となるように決定する（ステップＳ６３６）。そして、その決定に従って既存オブジェクトを移動させた後（ステップＳ６３７）、ステップＳ６１１へ移行する。
【０１１７】
移動方向指示で指定された方向にある既存のオブジェクトの指定された方向への移動によって必要サイズの空白エリアを確保できない場合は（ステップＳ６３２；Ｎｏ）、縮小処理を行い（ステップＳ６３３〜Ｓ６３５）、縮小後のオブジェクトを移動する（ステップＳ６３６、Ｓ６３７）。さらに、追記オブジェクトの配置位置を確定して（ステップＳ６１１）本処理を終了する。
【０１１８】
たとえば、図１６において移動方向が下方向に指定されている場合、追記マーク３１の下側にあるオブジェクト７２をそのさらに下側にある余白エリア７３を詰めるように下側へ移動させることになる。しかし、余白エリア７３のＹ軸方向サイズＣが追記オブジェクトのＹ軸方向サイズＡより小さいため、現在のサイズのままでは、指定された方向へのオブジェクトの移動によって必要な空白エリアを確保できない。そこで、（Ｂ＋Ｃ）の範囲に（Ａ＋Ｂ）が収まるように縮小率を決定する（ステップＳ６３３）。縮小率は１に近いほど好ましい。この場合、（Ｂ＋Ｃ）／（Ａ＋Ｂ）が好ましい縮小率になる。
【０１１９】
追記オブジェクト７１および移動させるオブジェクト７２をそれぞれこの縮小率に従って縮小し（ステップＳ６３４、Ｓ６３５）、縮小後のオブジェクト７２を、指定された方向、つまり、余白エリア７３を詰める下方向に最大量移動させ、縮小後の追記オブジェクト７１をこの移動によって確保された空白エリアに配置する。
【０１２０】
なお、縮小率が許容上限値を超える場合には、移動方向指示で指定された方向へのオブジェクトの移動では適切な挿入ができない旨の警告を行った後、もしくは警告後にユーザの承認を得た後、移動方向指示を解除して、ステップＳ６２２へ進むように構成することが好ましい。
【０１２１】
以上のように、本発明の手書き入力装置１０では、追記モードによる手書き入力中は、その手書きオブジェクトを既存のオブジェクトに重ねて表示し、手書きオブジェクトの入力が完了したとき、この手書きオブジェクトを既存のオブジェクトに挿入するので、全体の配置を崩すことなく、既存の手書きオブジェクトに新たな手書きオブジェクトを挿入することができる。
【０１２２】
また、追記モードでの手書き入力中は、追記領域３２を既存のオブジェクトの上に重ねて表示し、かつ追記領域３２の背景を、不透明もしくは低透過度にしたので、追記中の手書きオブジェクトを見易く表示することができる。特に、背景を低透過度にすることで、背景の下にある既存のオブジェクトを薄い表示で確認しながら追記することができる。
【０１２３】
また、移動方向や移動対象のオブジェクトをユーザが指定できるため、ユーザの意図に沿うように既存のオブジェクトを移動させて追記オブジェクトを挿入することができる。
【０１２４】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【０１２５】
たとえば、追記開始指示、追記終了指示、移動方向指示、移動対象指示などの指示記号は、実施の形態で例示したものに限定されない。
【０１２６】
複数の文字やストロークを１つのオブジェクトとして認識する方法、余白エリアを探索する方法、追記領域の初期設定や拡張などの方法、図６のステップＳ３０５、Ｓ３０６、図７のステップＳ３２４やＳ３２５などに示した入力エリアを確保する際の倍率、図１２のステップＳ５０２等で示した追記領域を初期設定したり拡張したりする際の倍率などは例示であり、実施の形態で示したものに限定されず、任意でよい。
【０１２７】
周囲の既存のオブジェクトの中からどのオブジェクトを移動対象に選択するか、またどのように移動させるか等の処理は、実施の形態で示したアルゴリズムの処理に限定されない。追記オブジェクトの周囲の既存のオブジェクトをそのオブジェクトの追記マーク３１から見てさらに向こう側にある余白エリアを詰めるように移動させて、追記オブジェクトの手書き位置に追記オブジェクトを挿入可能なサイズの空きエリアを確保できる処理であればよい。
【０１２８】
追記領域３２の背景を不透明の白などにするか、半透明とするか、あるいは半透明とする場合の透過度などはユーザが設定変更できるように構成される。また、追記中の手書き内容を見やすくする背景であれば、実施の形態で例示した背景に限定されない。また、実施の形態では、入力中の手書きオブジェクトの内容を既存のオブジェクトと区別して見やすく表示するために矩形の追記領域３２を設定し表示したが、見やすくする方法はこれに限定されない。たとえば、追記領域３２を設けなくても、手書き入力中のオブジェクトのうち下層に既存のオブジェクトが存在する部分だけに背景が表示されるようにしてもよいし、追記したストロークの存在する部分の周辺だけに背景を設けてもよい。
【０１２９】
手書き入力装置１０は、携帯可能なサイズに構成されてもよいし、たとえば、会議などで多数の参加者が共通に見る大型のディスプレイやスクリーンに手書きするような装置として構成されてもよい。
【符号の説明】
【０１３０】
１０…手書き入力装置
１１…制御部
１２…表示部
１３…操作入力部
１３ａ…タッチパネル部
１４…無線通信部
１５…外部メモリ接続部
１６…ＣＰＵ
１７…ＦｌａｓｈＲＯＭ
１８…メモリ
３１…追記マーク
３２、３２ａ〜３２ｄ…追記領域
３４、３４Ａ、３４Ｂ、３４ｃ…既存オブジェクト
３５…余白領域
３６…追記オブジェクト
３７…移動方向を示す矢印
４１…移動方向指示マーク
４２…移動対象指示マーク（円）
４３…追記終了指示（句点）
５１…入力中オブジェクト
５２…入力エリア
６１〜６７…余白エリア
７１…追記オブジェクト
７２…既存オブジェクト（移動対象）
７３…オブジェクトの移動で詰められる余白エリア
７４…追記オブジェクト
【図１】
2013114431.tif 000003
【図４】
2013114431.tif 000004
【図５】
2013114431.tif 000005
【図６】
2013114431.tif 000006
【図７】
2013114431.tif 000007
【図１１】
2013114431.tif 000008
【図１２】
2013114431.tif 000009
【図１４】
2013114431.tif 000010
【図１５】
2013114431.tif 000011
【図２】
2013114431.tif 000012
【図３】
2013114431.tif 000013
【図８】
2013114431.tif 000014
【図９】
2013114431.tif 000015
【図１０】
2013114431.tif 000016
【図１３】
2013114431.tif 000017
【図１６】
2013114431.tif 000018
【図１７】
2013114431.tif 000019