(57)【特許請求の範囲】
【請求項１】
タッチスクリーンディスプレイ上で手書きされた複数のストロークに対応するストロークデータを記録する記録手段と、
前記ストロークデータに基づいて、前記複数のストロークに対応する第１及び第２の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示する表示処理手段と、
前記第１の軌跡と前記第２の軌跡との間を指定する入力操作に応じて、前記第１の軌跡と前記第２の軌跡との間に空白領域を挿入する挿入手段と、
前記空白領域にストロークが手書きされた場合、前記空白領域中のストロークが手書きされていない領域に前記第１の軌跡と前記第２の軌跡の少なくとも一方が表示されるように前記ストロークデータを変更する変更手段と
を具備する電子機器。
【請求項２】
前記表示処理手段は、前記変更手段により変更された前記ストロークデータに応じた軌跡を表示する請求項１記載の電子機器。
【請求項３】
前記挿入手段は、前記第１の軌跡と前記第２の軌跡の配置に応じた方向に沿って前記空白領域を挿入する請求項１記載の電子機器。
【請求項４】
前記複数の軌跡の何れかを指定する入力操作に応じて、前記入力操作により指定された軌跡を削除する削除手段をさらに有する請求項１記載の電子機器。
【請求項５】
前記挿入手段は、前記入力操作による指定位置が移動された場合、指定位置の移動に合わせて前記空白領域を拡大する請求項１記載の電子機器。
【請求項６】
前記ストロークデータは、前記複数のストロークが手書きされた順を示す時系列の情報を含む請求項１記載の電子機器。
【請求項７】
タッチスクリーンディスプレイ上で手書きされた複数のストロークに対応するストロークデータを記録し、
前記ストロークデータに基づいて、前記複数のストロークに対応する第１及び第２の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示し、
前記第１の軌跡と前記第２の軌跡との間を指定する入力操作に応じて、前記第１の軌跡と前記第２の軌跡との間に空白領域を挿入し、
前記空白領域にストロークが手書きされた場合、前記空白領域中のストロークが手書きされていない領域に前記第１の軌跡と前記第２の軌跡の少なくとも一方が表示されるように前記ストロークデータを変更する手書き文書作成方法。
【請求項８】
コンピュータに、
タッチスクリーンディスプレイ上で手書きされた複数のストロークに対応するストロークデータを記録する手順と、
前記ストロークデータに基づいて、前記複数のストロークに対応する第１及び第２の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示する手順と、
前記第１の軌跡と前記第２の軌跡との間を指定する入力操作に応じて、前記第１の軌跡と前記第２の軌跡との間に空白領域を挿入する手順と、
前記空白領域にストロークが手書きされた場合、前記空白領域中のストロークが手書きされていない領域に前記第１の軌跡と前記第２の軌跡の少なくとも一方が表示されるように前記ストロークデータを変更する手順とを実行させるための手書き文書作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き文書を処理することが可能な電子機器及び同電子機器で用いられる手書き文書作成方法、及び手書き文書作成プログラムに関する。
【背景技術】
【０００２】
近年、タブレット型コンピュータ、ＰＤＡ（personal digital assistant）、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
【０００３】
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連づけられた機能の実行を携帯型電子機器に指示することができる。
【０００４】
しかし、タッチスクリーンディスプレイを備える既存の電子機器の多くは、画像、音楽、他の各種メディアデータに対する操作性を追求したコンシューマ向け製品であり、会議、商談、商品開発などのビジネスシーンにおける利用については必ずしも適していない場合がある。このため、いまなお、紙の手帳に手書きして情報を記録することが広く行われている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２６８９９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
電子機器は、人の発想活動の支援を可能にしたり、過去に作成した文書のような資料の再利用を容易にしたりするためのデジタルツールとして機能することが期待される。例えば、電子機器を紙の手帳と同様の感覚で利用するために、手書きによって記録した情報を簡単に編集できる機能が期待される。
【０００７】
本発明は、手書きにより記録された情報を容易に編集することができる電子機器、手書き文書作成方法、及び手書き文書作成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態によれば、電子機器は、記録手段と、表示処理手段と、挿入手段と、変更手段とを含む。記録手段は、タッチスクリーンディスプレイ上で手書きされた複数のストロークに対応するストロークデータを記録する。表示処理手段は、前記ストロークデータに基づいて、前記複数のストロークに対応する第１及び第２の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示する。挿入手段は、前記第１の軌跡と前記第２の軌跡との間を指定する入力操作に応じて、前記第１の軌跡と前記第２の軌跡との間に空白領域を挿入する。変更手段は、前記空白領域にストロークが手書きされた場合、前記空白領域中のストロークが手書きされていない領域に前記第１の軌跡と前記第２の軌跡の少なくとも一方が表示されるように前記ストロークデータを変更する。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る電子機器の外観を示す斜視図。
【図２】実施形態における電子機器と外部装置との連携動作を示す図。
【図３】実施形態における電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。
【図４】実施形態における電子機器によって記憶媒体に保存される、手書き文書に対応する時系列情報を説明するための図。
【図５】実施形態における電子機器のシステム構成を示すブロック図。
【図６】実施形態における電子機器によって実行されるデジタルノートブックアプリケーションプログラムの機能構成を示すブロック図。
【図７】実施形態における手書きページ作成処理の手順を示すフローチャート。
【図８】実施形態における手書きページ作成処理中の空白領域設定処理の手順を示すフローチャート。
【図９】実施形態における手書きページ作成処理中の空白領域整形処理の手順を示すフローチャート。
【図１０】実施形態における編集画面に表示された手書き文書の一部を示す図。
【図１１】実施形態におけるユーザ操作に応じた範囲に空白領域を設定する例を示す図。
【図１２】実施形態における空白領域を設定する例を示す図。
【図１３】実施形態におけるメニューを表示する例を示す図。
【図１４】実施形態における空白領域の設定に応じてブロックの表示位置を変更する例を示す図。
【図１５】実施形態における挿入処理の変形例を示す図。
【図１６】実施形態における縦方向（行間）に空白領域を設ける例を示す図。
【図１７】実施形態における縦方向（行間）に空白領域を設ける例を示す図。
【図１８】実施形態における削除処理を説明するための図。
【図１９】実施形態における削除処理を説明するための図。
【図２０】実施形態における削除処理を説明するための図。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る電子機器の外観を示す斜視図である。電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレットまたはストレートコンピュータとも称される携帯型電子機器であり、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。
【００１１】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上に対するペンまたは指による指定位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができ、ペンまたは指が接触あるいは近接した位置を検出する。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１２】
デジタイザ及びタッチパネルの各々は、フラットパネルディスプレイの画面を覆うように設けられる。タッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えば電磁誘導ペンであってもよい。ユーザは、外部オブジェクト（ペン１００又は指）を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト（ペン１００又は指）の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡（筆跡）がリアルタイムで画面上に表示される。外部オブジェクトが画面に接触している間の、外部オブジェクトの動きの軌跡が１ストロークに相当する。手書き文書は、通常、手書きされた文字または図形などに対応する多数のストロークの集合、つまり多数の軌跡（筆跡）の集合により構成される。
【００１３】
本実施形態において、手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報として記憶媒体に保存される。時系列情報の詳細は図４を参照して後述するが、この時系列情報は、複数のストロークのそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、ストロークの軌跡上の複数の点に対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
【００１４】
タブレットコンピュータ１０は、記憶媒体から既存の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまり時系列情報によって示される複数のストロークそれぞれに対応する軌跡を画面上に表示する機能を有している。さらに、タブレットコンピュータ１０は、画面に表示された軌跡（手書き文書）を編集する編集機能を有している。編集機能は、画面に表示された軌跡（手書き文書）に対して、ユーザによる編集操作に応じて、新たな軌跡の挿入、既存の軌跡の削除、あるいは移動をすることができる。
【００１５】
本実施形態では、時系列情報（手書き文書）は、１つまたは複数のページとして管理することができる。この場合、時系列情報（手書き文書）を１つの画面に収まる面積単位で区切ることによって、１つの画面に収まる時系列情報のまとまりを１つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは１つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。１つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小して表示するようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。また、ページを縮小して、複数のページを同時に１画面中に表示するようにしても良い（サムネイルの一覧表示）。
【００１６】
図２は、タブレットコンピュータ１０と外部装置との連携動作の例を示している。タブレットコンピュータ１０は、パーソナルコンピュータ１やクラウドコンピューティングと連携することができる。すなわち、タブレットコンピュータ１０は、無線ＬＡＮなどの無線通信デバイスを備えており、パーソナルコンピュータ１との無線通信を実行することができる。さらに、タブレットコンピュータ１０は、インターネット上のサーバ２との通信を実行することもできる。サーバ２はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
【００１７】
パーソナルコンピュータ１はハードディスクドライブ（ＨＤＤ）のようなストレージデバイスを備えている。タブレットコンピュータ１０は、時系列情報（手書き文書）を、ネットワークを介してパーソナルコンピュータ１に送信して、パーソナルコンピュータ１のＨＤＤに記録することができる（アップロード）。タブレットコンピュータ１０とパーソナルコンピュータ１との間のセキュアな通信を確保するために、通信開始時には、パーソナルコンピュータ１がタブレットコンピュータ１０を認証するようにしてもよい。この場合、タブレットコンピュータ１０の画面上にユーザに対してＩＤまたはパスワードの入力を促すダイアログを表示してもよいし、タブレットコンピュータ１０のＩＤなどを自動的にタブレットコンピュータ１０からパーソナルコンピュータ１に送信してもよい。
【００１８】
これにより、タブレットコンピュータ１０内のストレージの容量が少ない場合でも、タブレットコンピュータ１０が多数の時系列情報（手書き文書）あるいは大容量の時系列情報（手書き文書）を扱うことが可能となる。
【００１９】
さらに、タブレットコンピュータ１０は、パーソナルコンピュータ１のＨＤＤに記録されている任意の１以上の時系列情報を読み出し（ダウンロード）、その読み出した時系列情報によって示されるストロークそれぞれの軌跡をタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。この場合、複数の時系列情報（手書き文書）それぞれのページを縮小することによって得られるサムネイルの一覧をディスプレイ１７の画面上に表示してもよいし、これらサムネイルから選ばれた１ページをディスプレイ１７の画面上に通常サイズで表示してもよい。
【００２０】
さらに、タブレットコンピュータ１０が通信する先はパーソナルコンピュータ１ではなく、上述したように、ストレージサービスやクラウドコンピューティングサービスなどを提供するサーバ２であってよい。タブレットコンピュータ１０は、時系列情報（手書き文書）を、ネットワークを介してサーバ２に送信して、サーバ２のストレージデバイス２Ａに記録することができる（アップロード）。さらに、タブレットコンピュータ１０は、サーバ２のストレージデバイス２Ａに記録されている任意の時系列情報を読み出して（ダウンロード）、その時系列情報によって示されるストロークそれぞれの軌跡をタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。また、サーバ２が手書き文書について文字認識処理をするサービスを提供する場合、タブレットコンピュータ１０は、アップロードした時系列情報（手書き文書）に対する文字認識処理結果（文字コード）を、サーバ２から受信することができる。また、文字認識処理の結果には、文字認識処理により得られた文字コードと、同文字コードに対応する１文字に相当するストロークデータとの関連を示すデータが含まれるものとする。
【００２１】
このように、本実施形態では、時系列情報が格納される記憶媒体は、タブレットコンピュータ１０内のストレージデバイス、パーソナルコンピュータ１内のストレージデバイス、サーバ２のストレージデバイスのいずれであってもよい。
【００２２】
次に、図３及び図４を参照して、ユーザによって手書きされたストローク（文字、マーク、図形、表など）と時系列情報との関係について説明する。図３は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる手書き文書（手書き文字列）の例を示している。
【００２３】
図３においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きされた場合が想定されている。
【００２４】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって、つまり２つの軌跡によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡もサンプリングされ、これによって「−」形状のストロークの時系列座標ＳＤ２１、ＳＤ２１、…ＳＤ２ｎが得られる。
【００２５】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた手書きされた１つのストローク、つまり１つの軌跡によって表現される。手書きの「矢印」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。
【００２６】
図４は、図３の手書き文書に対応する時系列情報２００を示している。時系列情報は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７，…を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べている。
【００２７】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き「矢印」を構成する２つのストロークをそれぞれ示している。
【００２８】
各ストロークデータは、座標検出領域内のストロークの位置（絶対位置）を示す座標データ（以下、絶対座標データ）と、ストロークの軌跡上の複数の点それぞれに対応する複数の座標データを含む。絶対座標データは、例えばストローク（軌跡）の最初に検出された座標データとする。複数の座標データは、絶対位置データが示す位置を基準とした相対的な位置をそれぞれ示すものとする。
【００２９】
各ストロークデータにおいては、複数の座標データはストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの先頭の点に対応する絶対座標データＳＤ１０と、「∧」形状のストロークの軌跡上の点それぞれに対応する、ｎ個の座標データ系列ＳＤ１１、ＳＤ１２、…ＳＤ１ｎとを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの先頭の点に対応する絶対座標データＳＤ２０と、「−」形状のストロークの軌跡上の点それぞれに対応する、ｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎとを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
【００３０】
各座標データは、軌跡を表す１点に対応するＸ座標及びＹ座標を示す。例えば、絶対座標データＳＤ１０は、「∧」形状のストロークの始点のＸ座標（Ｘ１）及びＹ座標（Ｙ１）を示す。座標データＳＤ１１は、「∧」形状のストロークの始点の座標（Ｘ１，Ｙ１）を仮想的な原点としたＸ座標（Ｘ１１）及びＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、座標（Ｘ１，Ｙ１）を仮想的な原点とした「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）及びＹ座標（Ｙ１ｎ）を示す。
【００３１】
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。
【００３２】
このように、各座標データにタイムスタンプ情報Ｔが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。  
さらに、各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。
【００３３】
図４で説明したような構造を有する時系列情報２００は、個々のストロークの筆跡だけでなく、ストローク間の時間的関係も表すことができる。従って、時系列情報２００を使用することにより、図３に示すようにたとえ手書き「矢印」の先端部が手書き文字「Ａ」上に重ねてまたは手書き文字「Ａ」に近接して書かれたとしても、手書き文字「Ａ」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
【００３４】
本実施形態の時系列情報２００においては、ストロークデータＳＤ１、ＳＤ２、…、ＳＤ７の並びは手書き文字の筆順を示す。例えば、ストロークデータＳＤ１及びＳＤ２の並びは、最初に「∧」形状のストロークが手書きされ、次に「−」形状のストロークが手書きされたことを表す。従って、たとえ２つの手書き文字の筆跡同士が互いに類似していても、それら２つの手書き文字の筆順が互いに異なる場合には、それら２つの手書き文字を異なる文字として区別することができる。
【００３５】
さらに、本実施形態では、手書き文書は、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報２００として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。よって、本実施形態の時系列情報２００の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
【００３６】
また、ストロークデータＳＤ１、ＳＤ２、…には、ストロークの位置を示す絶対座標データを含むため、絶対座標データを変更することでストロークの筆跡を表示する位置を変更することができる。従って、手書き文書の編集用画面において、手書きされた既存の軌跡に対して挿入、削除、移動等の編集をする場合に、ユーザ操作に応じて絶対座標データを変更することで、各ストロークの軌跡毎に表示位置を変更することができる。
【００３７】
図５は、タブレットコンピュータ１０のシステム構成を示す図である。  
タブレットコンピュータ１０は、図５に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０５、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００３８】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種モジュールの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム（ＯＳ）２０１、及び各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、デジタルノートブックアプリケーションプログラム２０２が含まれている。このデジタルノートブックアプリケーションプログラム２０２は、上述の手書き文書を作成及び表示する機能、手書き文書を編集する機能、筆跡検索機能、及び文字・図表認識機能等を有している。
【００３９】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００４０】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００４１】
グラフィクスコントローラ１０４は、本タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。グラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。ＬＣＤ１７Ａ上にはタッチパネル１７Ｂ及びデジタイザ１７Ｃが配置されている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置及び接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン１００が接触される画面上の接触位置及び接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００４２】
無線通信デバイス１０７は、無線ＬＡＮまたは３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じてタブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００４３】
次に、図６を参照して、デジタルノートブックアプリケーションプログラム２０２の機能構成について説明する。  
デジタルノートブックアプリケーションプログラム２０２は、ペン軌跡表示処理部３０１、時系列情報生成部３０２、編集処理部３０３、ページ保存処理部３０４、ページ取得処理部３０５、手書き文書表示処理部３０６、処理対象ブロック選択部３０７、及び処理部３０８等を備える。
【００４４】
デジタルノートブックアプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７を用いて入力されるストロークデータを使用することによって、手書き文書の作成、表示、編集等を行う。タッチスクリーンディスプレイ１７は、「タッチ」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動（スライド）」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
【００４５】
ペン軌跡表示処理部３０１及び時系列情報生成部３０２は、タッチスクリーンディスプレイ１７によって発生される「タッチ」または「移動（スライド）」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントにも、移動先の接触位置の座標が含まれている。従って、ペン軌跡表示処理部３０１及び時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から、接触位置の動きの軌跡に対応する座標列を受信することができる。
【００４６】
ペン軌跡表示処理部３０１は、タッチスクリーンディスプレイ１７から座標列を受信し、この座標列に基づいて、ペン１００等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をタッチスクリーンディスプレイ１７内のＬＣＤ１７Ａの画面上に表示する。ペン軌跡表示処理部３０１により、画面にペン１００が接触している間のペン１００の軌跡、つまり各ストロークの軌跡がＬＣＤ１７Ａの画面上に描かれる。
【００４７】
時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から出力される上述の座標列を受信し、この座標列に基づいて、図４で詳述したような構造を有する上述の時系列情報を生成する。この場合、時系列情報、つまりストロークの各点に対応する座標及びタイムスタンプ情報は作業メモリ４０１に一時保存してもよい。
【００４８】
さらに、時系列情報生成部３０２は、時系列情報をもとにブロック構造化処理を実行して、各ストロークに対応するストロークデータをブロック毎に区分することができる。例えば、１つの文字（あるいは１つの記号）を構成するストローク毎に区分する。時系列情報生成部３０２は、例えば、タイムスタンプ情報をもとに判別される、１つのストロークの最後の座標が入力されてから次のストロークの最初の座標が入力されるまでの時間と、各ストロークの座標から判別されるストローク間の距離に基づいて、複数のストロークを区分することができる。なお、ストローク間の距離は、例えば、ストロークの座標データ列の重心や、ストロークの外接矩形の中心の距離とすることができる。
【００４９】
例えば、図３に示す手書き文字「Ａ」「Ｂ」に関しては、通常、手書き文字「Ａ」のストロークデータＳＤ１（「Ａ」の第１ストローク）が入力された後、次のストロークデータＳＤ２（「Ａ」の第２ストローク）が入力されるまでの時間は比較的短く、ストロークデータＳＤ２（「Ａ」の第２ストローク）が入力された後、次の手書き文字「Ｂ」のストロークデータＳＤ３（「Ｂ」の第１ストローク）が入力されるまでの時間は比較的長くなる。時系列情報生成部３０２は、予め決められた時間基準値と、ストロークデータＳＤ２，ＳＤ３の時間とを比較することにより、時間基準値よりもストロークＳＤ２，ＳＤ３の時間が長い場合に、ストロークデータＳＤ２とストロークデータＳＤ３との間をストロークの区分候補として求める。
【００５０】
また、時系列情報生成部３０２は、各ストロークの間の距離と予め設定された距離基準値とを比較し、距離基準値よりもストローク間の距離が長い場合にストロークの区分候補として求める。図３に示す手書き文字「Ａ」「Ｂ」に関しては、手書き文字「Ａ」のストロークデータＳＤ１と次のストロークデータＳＤ２（「Ａ」の第２ストローク）との距離は短く、ストロークデータＳＤ２（「Ａ」の第２ストローク）と手書き文字「Ｂ」のストロークデータＳＤ３（「Ｂ」の第１ストローク）との距離は長い。時系列情報生成部３０２は、ストロークデータＳＤ２とストロークデータＳＤ３との距離が距離基準値より長い場合に、ストロークデータＳＤ２とストロークデータＳＤ３との間をストロークの区分候補として求める。
【００５１】
時系列情報生成部３０２は、前述した各ストローク間の時間と距離に基づいて、複数のストロークデータをブロック毎に区分し、各ブロックを示すブロック情報を時系列情報に追加する。
【００５２】
なお、ブロック構造化処理では、前述したように、ストロークの軌跡の位置と距離に基づいて複数のストロークを区分するだけでなく、文字認識処理の結果を利用してブロックを判別することも可能である。例えば、文字認識処理によって正しく文字と認識された複数のストロークを１つのブロックとしたり、特定の単語に該当する複数の文字に対応するストロークを１つのブロックとしたりできる。さらに、手書き文書中の軌跡の配列をもとに、特定の集合（例えば１行、１列、１段落など）を判別し、それぞれの集合に含まれるストロークデータを１ブロックとして区分することも可能である。
【００５３】
ページ保存処理部３０４は、生成された時系列情報を手書き文書（手書きページ）として記憶媒体４０２に保存する。記憶媒体４０２は、上述したように、タブレットコンピュータ１０内のストレージデバイス、パーソナルコンピュータ１内のストレージデバイス、サーバ２のストレージデバイスのいずれであってもよい。
【００５４】
ページ取得処理部３０５は、記憶媒体４０２から既に格納されている任意の時系列情報を読み出す。読み出された時系列情報は手書き文書表示処理部３０６に送られる。手書き文書表示処理部３０６は、記憶媒体４０２から読み出された時系列情報を作業メモリ４０１に一時保存すると共に、時系列情報を解析し、この解析結果に基づいて、時系列情報によって示される各ストロークの軌跡を画面に手書きページとして表示する。また、手書き文書表示処理部３０６は、画面に１ページ分の手書きページを表示するだけでなく、手書きページを縮小した手書きページサムネイルを、画面に複数ページ分表示することができる。手書き文書表示処理部３０６は、処理部３０８の検索処理部３０９による検索結果に応じて、複数の検索対象とする手書きページから検索キーとして指定した特定の時系列情報部分を含む手書きページを選択して、手書きページサムネイルにより一覧表示することができる。
【００５５】
編集処理部３０３は、現在表示中の手書きページを編集するための処理を実行する。例えば、編集処理部３０３は、タッチスクリーンディスプレイ１７上でユーザによって行われる編集操作に応じて、表示されている複数のストローク（軌跡）に対する新たな軌跡の挿入、既存の軌跡の削除、あるいは移動等するための編集処理を実行する。さらに、編集処理部３０３は、編集処理の結果を表示中の時系列情報に反映するために、時系列情報を更新する。
【００５６】
編集処理部３０３には、ユーザ操作に応じて表示中の軌跡に対して新たな軌跡を挿入するための挿入処理を実行する挿入処理部３０３ａと、ユーザ操作に応じて表示中の軌跡を削除する削除処理部３０３ｂが含まれる。挿入処理部３０３ａと削除処理部３０３ｂは、手書き文書表示処理部３０６によって作業メモリ４０１に一時保存された時系列情報（ストロークデータ）を、ユーザによる所定の編集操作に応じて変更する。
【００５７】
処理部３０８は、処理対象の時系列情報に対して様々な処理、例えば、筆跡検索処理、認識処理等を実行することができる。処理部３０８は、検索処理部３０９及び検索軌跡表示処理部３１０を含む。
【００５８】
検索処理部３０９は、記憶媒体４０２内に既に格納されている複数の時系列情報（複数の手書きページ）から、検索キーとする特定の時系列情報部分（特定の手書き文字列等）に該当する時系列情報部分を検索する。検索処理部３０９は、複数の時系列情報の各々から、特定の時系列情報部分に対応するストロークの軌跡との類似度が基準値以上であるストロークの軌跡を有する時系列情報部分を検索する。
【００５９】
認識処理部３１０は、表示中の時系列情報（手書きページ）に対して手書き文字認識などの認識処理を実行する。認識処理部３１０は、認識処理対象の時系列情報によって示される複数のストロークデータをグループ化処理することによって得られる複数のブロック（手書きブロック）の各々を文字認識して、これら複数のブロック内の手書き文字それぞれを文字コードに変換する。
【００６０】
次に、デジタルノートブックアプリケーションプログラム２０２によって実行される手書きページ作成処理の手順について、フローチャートを参照しながら説明する。図７は、実施形態における手書きページ作成処理の手順を示すフローチャート、図８は、手書きページ作成処理中の空白領域設定処理の手順を示すフローチャート、図９は、手書きページ作成処理中の空白領域整形処理の手順を示すフローチャートである。
【００６１】
ユーザがペン１００を使用して、タッチスクリーンディスプレイ１７上で手書き入力操作を行うと、「タッチ」や「移動」のイベントが発生される。デジタルノートブックアプリケーションプログラム２０２は、ペン１００による「タッチ」が検出され、ペン１００の「移動」が検出されたならば（ステップＡ１、Ｙｅｓ）、検出されたペン１００の動きの軌跡をディスプレイに表示する（ステップＡ２）。さらに、デジタルノートブックアプリケーションプログラム２０２は、検出されたペン１００の動きの軌跡に対応する座標列に基づいて時系列情報（ストロークデータ）を生成し、その時系列情報を作業メモリ４０１に一時保存する（ステップＡ３）。
【００６２】
通常の手書き入力操作がユーザによりされた場合には、デジタルノートブックアプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７上で手書きされた文字等の軌跡を表示すると共に、時系列情報を作成する（ステップＡ１〜Ａ４）。
【００６３】
本実施形態のタブレットコンピュータ１０では、通常の手書き入力操作によって作成された手書き文書に対して所定の入力操作をすることで、軌跡の編集が可能な編集処理に移行することができる。
【００６４】
まず、既存の手書き文書（軌跡）に文字列等を挿入するための挿入処理について説明する。ユーザは、デジタルノートブックアプリケーションプログラム２０２を挿入処理に移行させる場合、例えば、表示された手書き文書中の文字の挿入箇所においてペン１００を長押しする。
【００６５】
図１０（Ａ）（Ｂ）（Ｃ）は、編集画面に表示された手書き文書の一部を示す図である。なお、以下の説明では、文字列等が横書きされた手書き文書を例にして説明する。
【００６６】
図１０（Ａ）に示す手書き文書では、入力済みの文字列「Ｓｕｅｈｉｒｏ，Ｏｍｅ，Ｔｏｋｙｏ」の軌跡が表示されている。この文字列の時系列情報についてはブロック構造化処理が施され、ブロック毎にストロークデータが区分されているものとする。
【００６７】
挿入処理部３０３ａは、ペン１００が長押しされた場合、すなわち予め決められた時間以上、ペン１００の接触位置が移動しないことを検出した場合には（ステップＡ４、「挿入」）、空白領域設定処理を開始する（ステップＡ５）。空白領域設定処理では、既存の軌跡の途中に、新たに手書き入力して文字等を挿入することができるように空白領域を設定する。
【００６８】
図８は、空白領域設定処理の手順を示すフローチャートである。  
まず、挿入処理部３０３ａは、ペン１００により指定された位置と既存の軌跡の配置に応じて、空白領域を設けるために移動させる移動ブロックを判別する（ステップＢ１）。挿入処理部３０３ａは、例えばブロック毎に、ストロークデータが示す座標データをもとに外接矩形枠を設定する。挿入処理部３０３ａは、ペン１００によるタッチ位置が、何れのブロックの外接矩形枠間に含まれるかを判別する。ここでは、文字列等が横書きされた手書き文書を対象としている。すなわち、軌跡が横方向（Ｘ座標方向）に配置されているため、挿入処理部３０３ａは、ストロークデータが示す軌跡のＹ座標データをもとに何れの行のブロック（文字列）が指定されているか判別し、ストロークデータが示す軌跡のＸ座標データをもとにペン１００によるタッチ位置５２が何れのブロックの間に含まれるかを判別できる。
【００６９】
図１０（Ａ）に示す例では、ペン１００によるタッチ位置５２が、文字「ｏ」に対応するブロックと「，」に対応するブロックとの間に含まれている。挿入処理部３０３ａは、文字「ｏ」に対応するブロックを含むブロック５０を移動ブロックとせず、タッチ位置５２より後ろに存在する、ブロック「，」を含むブロック５１を移動ブロックと判別する。なお、横書きの手書き文書を対象としている場合、タッチ位置５２より後ろに存在するブロックは、タッチ位置５２よりＸ座標値が大きいストロークデータに対応するブロックとなる。挿入処理部３０３ａは、手書き文書の軌跡の配置に応じて、移動ブロックの判別方向を変更するものとする。
【００７０】
挿入処理部３０３ａは、移動ブロックに含まれる各軌跡のストロークデータの位置（絶対座標）を、空白領域のサイズに応じて変更する。空白領域のサイズは、予め決められており、例えば、複数の文字を手書きすることが可能なサイズとなっている。挿入処理部３０３ａは、移動ブロックに含まれる各軌跡のストロークデータの絶対座標データのＸ座標に、空白領域のサイズ分加算することにより、表示位置を右方向に移動させることができる。
【００７１】
図１０（Ｂ）は、空白領域５３が設けられた手書き文書の例を示している。図１０（Ｂ）に示すように、タッチ位置５２より後ろのブロック５１に含まれる全ての軌跡のストロークデータに対して、それぞれ表示位置を右方向に移動させることで、ブロック５０とブロック５１との間に空白領域５３が設けられる。
【００７２】
ここで、挿入処理部３０３ａは、空白領域を設けるためにブロック内の軌跡の表示位置を変更することにより、表示可能領域の端部にまで到達するブロックが存在するか判別する。例えば、横書きの手書き文書の場合には、ブロックの表示位置を変更したとすると、行末のブロックを表示可能領域に表示できない場合に、表示可能領域の端部にまで到達するブロックが存在するものとする。
【００７３】
該当するブロックが存在する場合（ステップＢ３、Ｙｅｓ）、挿入処理部３０３ａは、表示可能領域の端部に到達するブロックに含まれるストロークデータの位置（絶対座標）を次行に移動するように変更し、ブロック内の軌跡を次行において表示させる（ステップＢ５）。なお、ブロック内の軌跡を次行に表示させる表示例については後述する（図１４参照）。
【００７４】
空白領域設定処理により空白領域が設けられると、挿入処理部３０３ａは、空白領域に対する手書き入力の終了を判定するための時間の計測を開始する（ステップＡ６）。
【００７５】
空白領域５３においてペン１００を用いて文字列等が手書き入力されると、デジタルノートブックアプリケーションプログラム２０２は、ペン１００による「タッチ」と「移動」を検出し（ステップＡ７、Ｙｅｓ）、検出されたペン１００の動きの軌跡をディスプレイに表示すると共に（ステップＡ８）、軌跡に対応する時系列情報（ストロークデータ）を生成し、その時系列情報を作業メモリ４０１に一時保存する（ステップＡ９）。
【００７６】
すなわち、ユーザは、空白領域５３に通常の手書き入力操作によって文字列等を入力し、軌跡を表示させることができる（ステップＡ７〜Ａ９）。挿入処理部３０３ａは、空白領域５３に対する手書き入力操作が終了した後、時間の計測を開始する。そして、手書き入力操作がされることなく（ステップＡ７、Ｎｏ）、予め決められた一定時間が経過すると（ステップＡ１０、Ｙｅｓ）、挿入処理部３０３ａは、空白領域５３の不要な空白部分を削除して、軌跡の並びを整形するための空白領域整形処理を実行する（ステップＡ１１）。
【００７７】
なお、空白領域５３に対する入力操作を終了した後、一定時間が経過した場合に、空白領域整形処理を開始するとしているが、ユーザによる所定の入力操作に応じて、空白領域整形処理を開始するようにしても良い。例えば、終了を指示するためのボタンを設けておき、このボタンに対する入力操作があった場合に、空白領域５３に対する手書き入力が終了したものと判別して空白領域整形処理を開始する。
【００７８】
前述したように、空白領域設定処理では、予め決められたサイズの空白領域を設定している。このため、空白領域５３に手書きされた文字列等が少ない場合には、軌跡の並びに余分な空白が残ってしまう。空白領域整形処理では、必要とする空白のみを残すように、空白領域５３の後ろのブロック内の軌跡の表示位置を変更する。
【００７９】
図９は、空白領域整形処理の手順を示すフローチャートである。  
まず、挿入処理部３０３ａは、空白領域５３と隣接するブロックとの間に設ける間隔、すなわち空白領域５３に挿入された文字列等の後に確保する空白を求める（ステップＣ１）。挿入処理部３０３ａは、例えば空白領域５３と隣接するブロックとの間に設ける間隔を、空白領域５３の近くに存在する文字単位のブロックを対象とし、それぞれのブロック間の平均値を求めたり、タッチ位置５２に隣接するブロック間の間隔（空白領域５３を設定する前の間隔）としたりすることができる。
【００８０】
次に、挿入処理部３０３ａは、空白領域５３と隣接するブロックとの間に設ける間隔に応じて、空白領域５３に入力された軌跡の位置（絶対座標）を変更する。すなわち、空白領域５３に手書き入力された軌跡のうちブロック５０に最も近い軌跡のストロークデータについて、ブロック５０との距離が、ステップＣ１において算出された間隔となるように絶対座標データ（Ｘ座標）を変更する。同様にして、空白領域５３に手書き入力された他の全ての軌跡について、それぞれのストロークデータの絶対座標データ（Ｘ座標）を、最も近い軌跡のストロークデータを変更した座標値分に応じて変更する。
【００８１】
ただし、空白領域５３に手書き入力された軌跡とブロック５０との距離が、ステップＣ１において算出された間隔より短い場合には、余分な空白が存在しないものとして、空白領域５３内の軌跡について位置の変更をしないものとする。
【００８２】
次に、挿入処理部３０３ａは、空白領域５３の後ろに存在する既存の軌跡の位置（絶対座標）を変更する（ステップＣ３）。すなわち、空白領域５３に追加された軌跡（位置を変更した後の軌跡）と最も近いブロック５１中の軌跡のストロークデータについて、空白領域５３の軌跡との距離が、ステップＣ１において算出された間隔となるように絶対座標データ（Ｘ座標）を変更する。同様にして、ブロック５１の他の全ての軌跡について、それぞれのストロークデータの絶対座標データ（Ｘ座標）を、最も近い軌跡のストロークデータを変更した座標値分に応じて変更する。
【００８３】
図１０（Ｃ）は、空白領域整形処理が実行された後の手書き文書の一例を示している。図１０（Ｃ）に示す例では、空白領域５３に文字列「−ｃｈｏ」が手書き入力された例を示している。文字列「−ｃｈｏ」には、ブロック５４が設定されている。空白領域５３に追加された文字列「−ｃｈｏ」は、前に存在するブロック５０の近くで手書き入力されているため、軌跡の位置の変更をしていない。ブロック５４と最も近い、ブロック５１に含まれる軌跡「，」は、空白領域５３に追加された軌跡との間に、ステップＣ１において算出された間隔５５を設ける位置に変更されている。ブロック５１に含まれる他の軌跡についても、軌跡「，」と同じ分、位置が変更されている。こうして、空白領域設定系処理では、空白領域５３に手書き入力された後、不要な空白部分を削除して、空白領域５３に入力された軌跡と前後に存在する軌跡との並びを整形することができる。
【００８４】
このようにして、挿入処理では、手書き文書中に配置された既存の軌跡に対して、新たに文字等を挿入したい箇所をペン１００による長押しによって指示することで空白領域５３が設けられ、この空白領域５３に文字等を手書き入力すると余分な空白が削除されて、軌跡の配置が整えられる。このため、手書きにより作成される文書であっても、簡単な入力操作によって、後から文字列等を挿入することが可能となる。
【００８５】
なお、前述した説明では、空白領域５３を設定する場合に、ペン１００により挿入箇所を長押しするものとしているが、他の入力操作に応じて空白領域５３を設定するようにしても良い。以下、他の空白領域の設定方法について説明する。
【００８６】
図１１（Ａ）（Ｂ）（Ｃ）（Ｄ）は、ユーザ操作に応じた範囲に空白領域を設定する例を示す図である。  
図１１（Ａ）に示すように、ブロック５０とブロック５１との間において、ペン１００により長押しされたものとする（図１０（Ａ）と同じ）。この場合、前述したように、ペン１００により指示されたタッチ位置５２に応じて空白領域５３を設ける。ここで、図１１（Ｂ）に示すように、ペン１００がタッチされた状態のまま移動された場合、挿入処理部３０３ａは、タッチ位置５６の移動に合わせて空白領域を拡大する。
【００８７】
従って、ユーザは、長い文字列等を挿入したい場合に、必要とする分の空白領域を簡単な操作によって設定することができる。このため、長い文字列等を挿入したい場合であっても挿入処理を繰り返して実行する必要が無い。
【００８８】
図１１（Ｃ）は、空白領域に手書きされた文字列「−ｃｈｏ」の軌跡が表示された例を示している。図１１（Ｃ）に示す例では、挿入した文字列「−ｃｈｏ」が短かったために、空白領域に不要な空白５７が残っている。しかし、前述した空白領域整形処理によって、図１１（Ｄ）に示すように、挿入された軌跡のブロック５４と、その後ろに続くブロック５１との間に適当な間隔５５を設け、空白領域の不要な部分が削除される。従って、挿入処理が終了した後、既存の軌跡と空白領域に挿入された軌跡の配置が整えられた手書き文書が得られる。
【００８９】
図１２は、予め決められたパターンを手書き入力することで、空白領域を設定する例を示す図である。  
図１２では、空白領域の設定を指示するための予め決められた所定のパターンを「Ｖ」形とした例を示している。認識処理部３１０は、手書き入力された軌跡について認識処理を実行して、所定のパターンを示す軌跡であるかを判別する。挿入処理部３０３ａは、認識処理部３１０によって所定のパターンが手書き入力されたことを判別すると、このパターンの軌跡の位置に応じて、前述と同様にして空白領域を設定する。例えば、「Ｖ」形のパターンの下端頂点の位置を、図１０（Ａ）に示すタッチ位置５２と同様に用いて空白領域を設定する。なお、「Ｖ」形のパターンに限らず、空白領域を設定する位置を特定することができる他のパターンを用いることも可能である。
【００９０】
図１３（Ａ）（Ｂ）（Ｃ）は、ペン１００による長押しに応じてメニューを表示する例を示している。  
図１３（Ａ）に示すように、ペン１００により長押しされると、編集処理部３０３は、タッチ位置５２に応じてメニューを表示する。例えば、図１３（Ｂ）に示すように、タッチ位置５２に合わせて（あるいはタッチ位置５２を含むように）メニューを表示する。図１３（Ｂ）に示すメニュー６１には、挿入処理の実行を指示するための「挿入」項目６１ａと、削除処理の実行を指示するための「削除」項目６１ｂが含まれている。
【００９１】
メニュー６１を表示した後、図１３（Ｃ）に示すように、「挿入」項目６１ａがペン１００により選択されると、挿入処理部３０３ａは、例えばペン１００により最初に長押しされたタッチ位置５２に応じて、前述したように空白領域を設定する。なお、「挿入」項目６１ａがペン１００により選択された後、次にペン１００によりタッチされた位置に応じて空白領域を設定するようにしても良い。
【００９２】
次に、空白領域設定処理（図８）において、空白領域を設定することにより、表示可能領域の端部に到達するブロックが存在する場合の表示例について説明する。  
図１４（Ａ）に示す例では、手書き文書中の軌跡が表示可能領域の端部近くには、文字列「Ｊａｐａｎ」のブロック７０が存在している。ここで、図１０（Ａ）と同様にして、ブロック５０とブロック５１との間に空白領域が設定されたものとする。この場合、ブロック７０を表示可能領域内に表示することができない。こうした場合、挿入処理部３０３ａは、ブロック７０に含まれる全ての軌跡のストロークデータについて、絶対座標データを次行に相当する値に変更する。これにより、ブロック７０が次行に移動される。そして、空白領域に文字列「−ｃｈｏ」が挿入され、空白領域整形処理によって余分な空白が除かれた後に、ブロック７０を元の行の表示可能領域に表示できない場合には、ブロック７０を次行に移動させたままにする。
【００９３】
なお、次行に相当する値は、予め決めていても良いし、他の行（ブロック）の並びをもとに行間の距離を算出することにより決めても良い。
【００９４】
図１４（Ｂ）は、空白領域に文字列「−ｃｈｏ」のブロック７１が追加されたために、行末の文字列「Ｊａｐａｎ」のブロック７２が次行に変更された例を示している。
【００９５】
なお、図１４（Ｂ）では、単語単位でブロックが設定されている例を示し、単語に相当するブロックを次行に移動させているが、例えば文字単位でブロックが設定されている場合には、表示可能領域に到達した文字単位のブロックを次行に移動させるようにしても良い。
【００９６】
このようにして、既存の手書き文書に新たな文字列等を挿入することで、行末の軌跡が表示可能領域に表示できない場合であっても、同じ行に表示できない軌跡の表示位置を次行に変更するので、既存の軌跡の形状を損なうことがない。
【００９７】
なお、前述した説明では、手書き文書に空白領域を設定する場合、ペン１００による入力操作をするとしているが、ユーザが指でタッチスクリーンディスプレイ１７に接触することで、空白領域を設定できるようにしても良い。例えば、ユーザは、表示された軌跡上を２本の指でタッチし、タッチした状態のまま２本の指の間隔が広くなるようにタッチ位置を移動させる。挿入処理部３０３ａは、最初にタッチされた位置にある軌跡（あるいはブロック）の表示位置を、タッチ位置の移動に応じて変更することにより２本の指により指示された位置の間に空白領域を設定する。
【００９８】
次に、挿入処理の変形例について説明する。  
前述した説明では、手書き文書を作成する場合、複数行に渡って連続する軌跡を手書き入力できることを前提としているが、例えば１行毎に手書き入力できる領域が制限されている場合の挿入処理について説明する。
【００９９】
例えば、１行毎に、住所入力領域、電子メールアドレス入力領域、電話番号入力領域などが予め決められているものとする。図１５（Ａ）では、１行目の住所入力領域には、住所を示す文字列「Ｓｕｅｈｉｒｏ−ｃｈｏ，Ｏｍｅ，Ｔｏｋｙｏ」が手書き入力されている。２行目の電子メールアドレス入力領域には、電子メールアドレスを示す文字列「Ｅ−ｍａｉｌ：１２３４５＠ａｂｃ」を手書き入力することで行末に到達してしまい、残りの文字列「．ｃｏ．ｊｐ」が次行の行末近傍に手書き入力されている。
【０１００】
この場合、挿入処理部３０３ａは、行末近傍に手書き入力された文字列「．ｃｏ．ｊｐ」を、前行の電子メールアドレス入力領域に挿入する軌跡であると判別する。挿入処理部３０３ａは、文字列「．ｃｏ．ｊｐ」の軌跡を電子メールアドレス入力領域の行末に挿入できるように、先に手書き入力された文字列の軌跡（ブロック７４）と、次行に手書き入力された文字列の軌跡（ブロック７５）の表示サイズを同一の倍率で縮小する。
【０１０１】
そして、編集処理部３０３は、縮小された２つのブロックの軌跡が１行中に収まるように、軌跡の表示位置を整える。図１５（Ｂ）に示すように、ブロック７４が縮小されたブロック７６は、行頭に合わせた位置に変更され、ブロック７５が縮小されたブロック７７は、ブロック７６と同位置の行位置に変更される。すなわち、挿入処理部３０３ａは、全ての軌跡のストロークデータについて、絶対位置と、それぞれの軌跡を示す座標データを、縮小と表示位置の変更に合わせて変更する。
【０１０２】
なお、前述した例では、次行の行末近傍に手書き入力された文字列を、前行の行末に挿入するとしているが、次行の行頭に手書き入力された文字列以外であれば、前述と同様にして、前行の行末に挿入するようにしても良い。次行の行頭に入力された文字列については、例えば３行目の電話番号入力領域に入力された文字列であると判別する。
【０１０３】
また、図１５に示す例では、行末に手書き文字列等を追加する例について説明しているが、前述したように、軌跡間に空白領域を設定して、文字列等を挿入することもできる。この場合、全ての軌跡を含むブロックについて表示サイズを縮小し、全ての手書き入力された軌跡が１行中に収まるように表示する。
【０１０４】
次に、行間に空白領域を設定する場合について説明する。  
前述した説明では、軌跡（あるいはブロック）の間に指定された位置に応じて、横方向に空白領域を設けているが、行間に指定された位置に応じて、縦方向（行間）に空白領域を設けることもできる。
【０１０５】
図１６（Ａ）は、２行の文字列が手書き入力された手書き文書の一例を示している。図１６（Ａ）に示す例では、各行の文字列に対して、それぞれブロック８０，８１が設定されているものとする。ここで、ブロック８０とブロック８１との間が、ペン１００を用いた長押しにより空白領域を設定する位置として指定されたものとする。すなわち、縦方向に配置された軌跡の間が空白領域を設定する位置として指定されている。なお、前述した他の空白領域の設定指示方法を用いることも可能である。この指定に応じて挿入処理部３０３ａは、図１６（Ｂ）に示すように、ブロック８０とブロック８１との間に、空白領域８２を設定する。ユーザは、空白領域８２に新たな文字列等を手書き入力することができる。
【０１０６】
図１７（Ａ）は、空白領域８２に文字列が手書き入力された例を示している。空白領域８２に手書き入力された文字列（軌跡）に対してブロック８３が設定されている。挿入処理部３０３ａは、空白領域整形処理において、ブロック８３とブロック８０，８１との間に適切な空白領域を設け、その他の不要な空白部分を削除するように、ブロック８３とブロック８１に含まれる全ての軌跡の位置（絶対座標）を変更する。この結果、図１７（Ｂ）に示すように、ブロック間（行間）に適切な間隔が設けられた、手書き文書が作成される。
【０１０７】
このようにして、横書きの手書きを作成する場合に、行間に空白領域を設けて、この空白領域に文字列等を手書きにより挿入することが可能となる。
【０１０８】
次に、既存の手書き文書（軌跡）から文字列等を削除するための削除処理について説明する。  
ユーザは、手書き文書（軌跡）から文字列等を削除する場合、例えば、表示された手書き文書中の軌跡に対して、ペン１００を用いて軌跡の削除を示す所定の入力操作をする。
【０１０９】
削除処理部３０３ｂは、ペン１００を用いて軌跡の削除を示す所定の入力操作がされた場合（ステップＡ４、「削除」）、入力操作された軌跡に応じて既存の軌跡を削除する削除処理を実行する。
【０１１０】
図１８（Ａ）は、手書き文書中の軌跡に対して、削除を示す所定の入力操作がされた場合の表示例を示している。図１８（Ａ）に示す例では、削除の対象とする軌跡に設定されたブロックを通過する連続するラインが手書き入力され、そのラインの軌跡９０が表示されている。なお、図１８（Ａ）に示す例では、文字単位でブロックが設定されているものとする。
【０１１１】
まず、削除処理部３０３ｂは、既存の軌跡の削除を示す軌跡９０が通過するブロックを判別する（ステップＡ１２）。図１９には、図１８に示す軌跡９０の周辺を拡大して示す図である。図１９に示すように、軌跡９０は、既存の軌跡に設定されたブロック９１ａ，９１ｂ，９１ｃ，９１ｄ，９１ｅ，９１ｆを通過している。従って、削除処理部３０３ｂは、ブロック９１ａ，９１ｂ，９１ｃ，９１ｄ，９１ｅ，９１ｆに含まれる軌跡を削除対象として判別する。
【０１１２】
削除処理部３０３ｂは、該当するブロックに含まれる全ての軌跡を削除する（ステップＡ１３）。この結果、図１８（Ｂ）に示すように、軌跡が削除された範囲に空白領域９１が設けられる。この空白領域９１には、挿入処理において設定された空白領域と同様にして、一定時間内であれば、新たに文字列等を手書き入力することができる（ステップＡ６〜Ａ８）。
【０１１３】
空白領域９１に手書き入力されることなく一定時間が経過すると（ステップＡ１０、Ｙｅｓ）、削除処理部３０３ｂは、挿入処理と同様にして空白領域整形処理を実行して、空白領域９１を削除し、空白領域９１の後ろに存在する軌跡の位置を変更する。この結果、図１８（Ｃ）に示すように、空白領域が削除され、他の軌跡の表示位置が整えられた手書き文書が作成される。
【０１１４】
なお、前述した説明では、文字毎にブロックが設定されている場合を例にしているが、例えば単語毎にブロックが設定されている場合には、このブロックに対して軌跡の削除を示す所定の入力操作をすることで、単語単位で軌跡を削除することが可能である。同様にして、軌跡単位、行単位など、他の単位で設定されたブロック毎に削除できるようにしても良い。何れのブロック単位で削除するかは、予め決められていても良いし、ユーザからの入力操作によって切り替えられるようにしても良い。
【０１１５】
また、前述した説明では、削除を示す入力操作を、既存の軌跡に設定されたブロックを通過する連続するラインを手書き入力するものとしているが、その他の入力操作とすることもできる。
【０１１６】
図２０（Ａ）は、予め決められたパターンを手書き入力することで、削除対象とするブロックを指定する例を示す図である。  
図２０（Ａ）では、削除対象とするブロックを指示するための予め決められた所定のパターンを「Ｖ」形とした例を示している。認識処理部３１０は、手書き入力された軌跡について認識処理を実行して、所定のパターンを示す軌跡であるかを判別する。削除処理部３０３ｂは、認識処理部３１０によって所定のパターンが手書き入力されたことを判別すると、このパターンの軌跡の位置に応じて、削除対象とするブロックを判別する。例えば、「Ｖ」形のパターンの下端頂点の位置が含まれるブロックを削除対象として判別する。
【０１１７】
この結果、図２０（Ａ）では、ブロック９３が削除対象として判別される。削除処理部３０３ｂは、ブロック９３に含まれる軌跡を削除する。この結果、図２０（Ｂ）に示すように、ブロック９３の軌跡が削除された手書き文書が作成される。
【０１１８】
なお、「Ｖ」形のパターンに限らず、削除対象とするブロックを指定することができる他のパターンを用いることも可能である。
【０１１９】
また、図１３（Ｂ）に示すメニュー６１の「削除」項目６１ｂが選択された場合に、削除処理部３０３ｂは、削除処理を実行するようにしても良い。削除処理部３０３ｂは、「削除」項目６１ｂが選択された後、次に手書き入力された軌跡に応じて削除対象とするブロックを判別する。メニュー６１により削除処理を実行することにより、タッチスクリーンディスプレイ１７に対する入力操作が、手書き文書を作成するためのストロークであるか、削除するブロック（軌跡）を指定するためのストロークであるかを、明確に判別することが可能となる。
【０１２０】
このようにして、簡単な削除を示す入力操作をすることで、既存の軌跡中で指定された軌跡を削除することが可能となる。
【０１２１】
なお、前述した説明では、文字列が横書きされる手書き文書が作成される場合を例にして説明しているが、文字列が縦書きされる手書き文書が作成される場合にも、前述と同様の編集処理を適用することが可能である。すなわち、ストロークデータが示す軌跡の配列をもとに縦書きによる文書が作成されていることを判別し、手書き文書（軌跡）に対して指示された位置に対して何れのブロックの軌跡を編集対象とするか判別する。
【０１２２】
また、編集処理部３０３は、手書きされた既存の軌跡に対して挿入、削除、移動等の編集をする場合に、処理対象としたストロークデータ群に対する削除、移動、追加等の処理を実行する。この場合、複数のストロークデータが処理対象のストロークデータ群として選択されている場合には、編集処理部３０３は、これら複数のストロークデータをまとめて画面上から削除または画面上に別の位置に移動することができる。時系列情報においては、移動された各ストロークデータの時系列座標は、移動先位置に応じて自動的に変更してもよい。また、移動された各ストロークデータの時系列座標を変更したことを表す操作履歴を時系列情報に追加してもよい。削除された各ストロークデータも、時系列座標から必ずしも削除しなくてもよく、これら各ストロークデータを削除したことを表す操作履歴を時系列情報に追加してもよい。
【０１２３】
また、前述した編集処理は、タブレットコンピュータ１０と連携して動作する、パーソナルコンピュータ１またはインターネット上のサーバ２によって実行してもよい。
【０１２４】
本実施形態の手書き文書に対する各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムを、タッチスクリーンディスプレイを備えた通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１２５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２６】
１０…タブレットコンピュータ、２００…時系列情報、３０１…ペン軌跡表示処理部、３０２…時系列情報生成部、３０３…編集処理部、３０３ａ…挿入処理部、３０３ｂ…削除処理部、３０４…ページ保存処理部、３０５…ページ取得処理部、３０６…手書き文書表示処理部、３０７…処理対象ブロック選択部、３０８…処理部、３０９…検索処理部、３１０…認識処理部。
【要約】 
【課題】手書きにより記録された情報を容易に編集することができるようにする。
【解決手段】実施形態によれば、電子機器は、タッチスクリーンディスプレイと、記録手段と、表示処理手段と、変更手段とを含む。記録手段は、前記タッチスクリーンディスプレイ上で手書きされた複数のストロークの手書きされた順を示す時系列情報を記録する。表示処理手段は、前記時系列情報に基づいて、前記複数のストロークに対応する第１及び第２の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示する。変更手段は、前記軌跡に対する編集内容を示す、前記タッチスクリーンディスプレイに対する入力操作に応じて、前記時系列情報を変更する。
【選択図】図６【図１】
0005248696.tif 000002
【図２】
0005248696.tif 000003
【図３】
0005248696.tif 000004
【図４】
0005248696.tif 000005
【図５】
0005248696.tif 000006
【図６】
0005248696.tif 000007
【図７】
0005248696.tif 000008
【図８】
0005248696.tif 000009
【図９】
0005248696.tif 000010
【図１０】
0005248696.tif 000011
【図１１】
0005248696.tif 000012
【図１２】
0005248696.tif 000013
【図１３】
0005248696.tif 000014
【図１４】
0005248696.tif 000015
【図１５】
0005248696.tif 000016
【図１６】
0005248696.tif 000017
【図１７】
0005248696.tif 000018
【図１８】
0005248696.tif 000019
【図１９】
0005248696.tif 000020
【図２０】
0005248696.tif 000021