(57)【特許請求の範囲】
【請求項１】
ディスプレイ上で手書きされるストロークに対応するストロークデータを入力することと、
前記ストロークデータに対応するストロークと、そのストロークに続く第１長さのストロークとを前記ディスプレイに表示することと、
を具備し、
前記第１長さは、手書きされるストロークが手書きされる向き、及び右手で手書きされたか左手で手書きされたかによって異なる方法。
【請求項２】
ディスプレイ上で手書きされるストロークに対応するストロークデータを入力することと、
前記ストロークデータに対応するストロークと、そのストロークに続く第１長さのストロークとを前記ディスプレイに表示することと、
を具備し、
前記第１長さは、前記手書きされるストロークが入力される向きが手に近づく向きの場合は長く、手から離れる向きの場合は短い方法。
【請求項３】
右手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが右の場合は前記手書きされるストロークが入力される向きが左の場合よりも長く、
左手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが左の場合は前記手書きされるストロークが入力される向きが右の場合よりも長い請求項１または請求項２記載の方法。
【請求項４】
右手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが右下の場合が長く、前記手書きされるストロークが入力される向きが左下の場合が短く、
左手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが左下の場合が長く、前記手書きされるストロークが入力される向きが右下の場合が短い請求項３記載の方法。
【請求項５】
右手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが右下の場合が最も長く、前記手書きされるストロークが入力される向きが右上、左上の場合が次に長く、前記手書きされるストロークが入力される向きが左下の場合が最も短く、
左手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが左下の場合が最も長く、前記手書きされるストロークが入力される向きが右上、左上の場合が次に長く、前記手書きされるストロークが入力される向きが右下の場合が最も短い請求項４記載の方法。
【請求項６】
前記表示することは、前記ストロークデータに対応するストロークと、前記ストロークデータに対応する予測ストロークとを表示することを具備する請求項１または請求項２記載の方法。
【請求項７】
前記予測ストロークは一定時間表示したら、表示が消される請求項６記載の方法。
【請求項８】
ディスプレイ上で手書きされるストロークに対応するストロークデータを入力する入力手段と、
前記ストロークデータに対応するストロークと、そのストロークに続く第１長さのストロークとをディスプレイに表示する表示制御手段と、
を具備し、
前記第１長さは、手書きされるストロークが入力される向き、及び右手で手書きされたか左手で手書きされたかによって異なる電子機器。
【請求項９】
ディスプレイ上で手書きされるストロークに対応するストロークデータを入力する入力手段と、
前記ストロークデータに対応するストロークと、そのストロークに続く第１長さのストロークとをディスプレイに表示する表示制御手段と、
を具備し、
前記第１長さは、前記手書きされるストロークが入力される向きが手に近づく向きの場合は長く、手から離れる向きの場合は短い電子機器。
【請求項１０】
右手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが右の場合は前記手書きされるストロークが入力される向きが左の場合よりも長く、
左手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが左の場合は前記手書きされるストロークが入力される向きが右の場合よりも長い請求項８または請求項９記載の電子機器。
【請求項１１】
前記表示制御手段は、前記ストロークデータに対応するストロークと、前記ストロークデータに対応する予測ストロークとを表示する請求項８または請求項９記載の電子機器。
【請求項１２】
コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
ディスプレイ上で手書きされるストロークに対応するストロークデータを入力する入力手段と、
前記ストロークデータに対応するストロークと、そのストロークに続く第１長さのストロークとをディスプレイに表示する表示制御手段として動作させ、
前記第１長さは、手書きされるストロークが入力される向き、及び右手で手書きされたか左手で手書きされたかによって異なるプログラム。
【請求項１３】
コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
ディスプレイ上で手書きされるストロークに対応するストロークデータを入力する入力手段と、
前記ストロークデータに対応するストロークと、そのストロークに続く第１長さのストロークとをディスプレイに表示する表示制御手段として動作させ、
前記第１長さは、前記手書きされるストロークが入力される向きが手に近づく向きの場合は長く、手から離れる向きの場合は短いプログラム。
【請求項１４】
右手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが右の場合は前記手書きされるストロークが入力される向きが左の場合よりも長く、
左手で手書きの場合、前記第１長さは、前記手書きされるストロークが入力される向きが左の場合は前記手書きされるストロークが入力される向きが右の場合よりも長い請求項１２または請求項１３記載のプログラム。
【請求項１５】
前記表示制御手段は、前記ストロークデータに対応するストロークと、前記ストロークデータに対応する予測ストロークとを表示する請求項１２または請求項１３記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は手書き文字、記号、図形等の手書き文書の表示に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。【０００３】
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連づけられた機能の実行を電子機器に指示することができる。【０００４】
タッチスクリーンディスプレイを使った入力操作は、電子機器に対して動作指示を与えるだけではなく、文書を手書きで入力する用途にも使われている。最近では、この種の電子機器を持参して会議等に出席し、タッチスクリーンディスプレイ上で手書き入力を行うことで、メモを取ること等も行われ始めている。この手書き入力に関する処理については、これまでも種々の提案がなされている。【０００５】
ペンや指でタッチスクリーンディスプレイ上に文字や絵などを描いた際、入力データ（筆跡を構成する各点の座標データ）がオペレーティングシステム（ＯＳ）を含むソフトウェアで処理され、各座標を結ぶ筆跡を作成した後その文字や絵が実際にタッチスクリーンディスプレイ上に表示されるまでには、数１０ミリ秒から１００ミリ秒程度の遅延が生じる。この遅延が、タッチスクリーンディスプレイ上での手書き入力の書き心地を損ねる要因となってしまっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2011-100282号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の一形態の目的は、ユーザにとって手書き入力を行いやすい電子機器、方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００８】
実施形態によれば、方法は、ディスプレイ上で手書きされるストロークに対応するストロークデータを入力することと、前記ストロークデータに対応するストロークと、そのストロークに続く第１長さのストロークとを前記ディスプレイに表示することと、を具備する。前記第１長さは、手書きされるストロークが手書きされる向き、及び右手で手書きされたか左手で手書きされたかによって異なる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る電子機器の外観の一例を示す斜視図である。
【図２】図２は、電子機器と他の装置との連携動作の一例を示すブロック図である。
【図３】図３は、タッチスクリーンディスプレイに手書きされる手書き文書の一例を示す図である。
【図４】図４は、ストロークデータの集合である時系列情報の一例を示す図である。
【図５】図５は、電子機器のシステム構成の一例を示すブロック図である。
【図６】図６は、電子機器によって表示されるホーム画面を示す図である。
【図７】図７は、電子機器によって表示されるノートプレビュー画面を示す図である。
【図８】図８は、電子機器によって表示される設定画面を示す図である。
【図９】図９は、電子機器によって表示されるページ編集画面を示す図である。
【図１０】図１０は、電子機器によって表示される検索ダイアログを示す図である。
【図１１】図１１は、電子機器によって実行される手書きノートアプリケーションプログラムの機能構成を示すブロック図である。
【図１２】図１２は、手書き入力の軌跡（筆跡）の表示の遅延の一例を説明する図である
【図１３】図１３は、右手で手書き入力する際の予測外れの影響を示す図である。
【図１４】図１４は、左手で手書き入力する際の予測外れの影響を示す図である。
【図１５】図１５は、利き手と筆跡の方向に応じて予測長さあるいは予測時間の設定を変える一例を示す図である。
【図１６】図１６は、手書き入力の際の利き手の判定処理の一例を示すフローチャートである。
【図１７】図１７は、ペンを手前側に傾けて持つ場合の一例を示す図である。
【図１８】図１８は、筆跡表示の一例を示す図である。
【図１９】図１９は、図１８の表示処理の流れの一例を示すフローチャートである。
【図２０】図２０は、図１８のストローク角度の求め方を説明するための図である。
【図２１】図２１は、筆跡表示の他の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る電子機器の外観の一例を示す斜視図である。この電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を説明する。タブレットコンピュータ１０は、タブレットまたはストレートコンピュータとも称される携帯型電子機器であり、本体１１は、薄い箱形の筐体を有している。
【００１１】
タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を説明する。このため、タッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することもできる。
【００１２】
ペン１００は例えばデジタイザペン（電磁誘導ペン）であってもよい。ユーザは、ペン１００を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる（ペン入力モード）。ペン入力モードにおいては、画面上のペン１００の動きの軌跡、つまり手書き入力操作によって手書きされるストロークが求められ、これによって手書きにより入力された複数のストロークが画面上に表示される。ペン１００が画面に接触されている間のペン１００の動きの軌跡が１つのストロークに相当する。複数のストロークが文字、記号等を構成する。手書きされた文字、手書きされた図形、手書きされた表、などに対応する多数のストロークの集合が手書き文書を構成する。
【００１３】
実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報（手書き文書データ）として記憶媒体に保存される。時系列情報の詳細は図４を参照して後述するが、時系列情報は、複数のストロークが手書きされた順を示し、且つ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序に相当する。
【００１４】
タブレットコンピュータ１０は、記憶媒体から既存の任意の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークを画面上に表示することができる。時系列情報によって示される複数のストロークも、手書きによって入力される複数のストロークである。
【００１５】
さらに、本実施形態のタブレットコンピュータ１０は、ペン１００を使用せずに、指で手書き入力操作を行うためのタッチ入力モードも有している。タッチ入力モードが有効な場合、ユーザは、指を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる。タッチ入力モードにおいては、画面上の指の動きの軌跡、つまり手書き入力操作によって手書きされるストロークが求められ、これによって手書きにより入力された複数のストロークが画面上に表示される。
【００１６】
タブレットコンピュータ１０は編集機能を有している。この編集機能は、「消しゴム」ツール、範囲選択ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、範囲選択ツールによって選択される表示中の手書き文書内の任意の手書き部分（手書き文字、手書きマーク、手書き図形、手書き表、等）を削除または移動することができる。また、範囲選択ツールによって選択される手書き文書内の任意の手書き部分を、手書き文書を検索するための検索キーとして指定することもできる。また、範囲選択ツールによって選択される手書き文書内の任意の手書き部分に対して、手書き文字認識／手書き図形認識／手書き表認識のような認識処理を実行することもできる。
【００１７】
本実施形態では、手書き文書は、１つまたは複数のページとして管理されうる。この場合、時系列情報（手書き文書データ）を１つの画面に収まる面積単位で区切ることによって、１つの画面に収まる時系列情報のまとまりを１つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは１つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。１つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
【００１８】
図２は、タブレットコンピュータ１０と外部装置との連携動作の一例を示している。タブレットコンピュータ１０は、無線ＬＡＮなどの無線通信デバイスを備えており、パーソナルコンピュータ１との無線通信を実行することができる。さらに、タブレットコンピュータ１０は、無線通信デバイスを使用してインターネット３上のサーバ２との通信を実行することもできる。サーバ２はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
【００１９】
パーソナルコンピュータ１はハードディスクドライブ（ＨＤＤ）のようなストレージデバイスを備えている。タブレットコンピュータ１０は、時系列情報（手書き文書データ）をパーソナルコンピュータ１に送信して、パーソナルコンピュータ１のＨＤＤに記録することができる（アップロード）。タブレットコンピュータ１０とパーソナルコンピュータ１との間のセキュアな通信を確保するために、通信開始時には、パーソナルコンピュータ１がタブレットコンピュータ１０を認証するようにしてもよい。この場合、タブレットコンピュータ１０の画面上にユーザに対してＩＤまたはパスワードの入力を促すダイアログを表示してもよいし、タブレットコンピュータ１０のＩＤなどを自動的にタブレットコンピュータ１０からパーソナルコンピュータ１に送信してもよい。
【００２０】
これにより、タブレットコンピュータ１０内のストレージの容量が少ない場合でも、タブレットコンピュータ１０が多数の時系列情報あるいは大容量の時系列情報を扱うことが可能となる。
【００２１】
さらに、タブレットコンピュータ１０は、パーソナルコンピュータ１のＨＤＤに記録されている任意の１以上の時系列情報を読み出し（ダウンロード）、その読み出した時系列情報によって示されるストロークをタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。この場合、複数の時系列情報それぞれのページを縮小することによって得られるサムネイルの一覧をディスプレイ１７の画面上に表示してもよいし、これらサムネイルから選ばれた１ページをディスプレイ１７の画面上に通常サイズで表示してもよい。
【００２２】
さらに、タブレットコンピュータ１０が通信する先はパーソナルコンピュータ１ではなく、上述したように、ストレージサービスなどを提供するクラウド上のサーバ２であってよい。タブレットコンピュータ１０は、時系列情報（手書き文書データ）をインターネットを介してサーバ２に送信して、サーバ２のストレージデバイス２Ａに記録することができる（アップロード）。さらに、タブレットコンピュータ１０は、サーバ２のストレージデバイス２Ａに記録されている任意の時系列情報を読み出して（ダウンロード）、その時系列情報によって示されるストロークそれぞれの軌跡をタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。
【００２３】
このように、本実施形態では、時系列情報が保存される記憶媒体は、タブレットコンピュータ１０内のストレージデバイス、パーソナルコンピュータ１内のストレージデバイス、サーバ２のストレージデバイスのいずれであってもよい。
【００２４】
次に、図３および図４を参照して、ユーザによって手書きされたストローク（文字、図形、表など）と時系列情報との関係について説明する。図３は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる手書き文書（手書き文字列）の一例を示している。
【００２５】
手書き文書では、一旦手書きによって入力される文字や図形などの上に、さらに別の文字や図形などが手書きによって入力されるというケースが多い。図３においては、「Ａ」、「Ｂ」、「Ｃ」の手書き文字が、この順番で手書きによって入力され、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きによって入力されている。
【００２６】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって、つまり２つの軌跡によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標ＳＤ２１、ＳＤ２１、…ＳＤ２ｎが得られる。
【００２７】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた手書きされた１つのストローク、つまり１つの軌跡によって表現される。手書きの「矢印」は、ペン１００などを使用して手書きされた手書きされた２つのストローク、つまり２つの軌跡によって表現される。
【００２８】
図４は、図３の手書き文書に対応する時系列情報２００を示している。時系列情報は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、これらのストロークが手書きされた順に時系列に並べられている。
【００２９】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き「矢印」を構成する２つのストロークをそれぞれ示している。
【００３０】
各ストロークデータは、一つのストロークに対応する座標データ系列（時系列座標）、つまり一つのストロークの軌跡上の複数のサンプリング点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数のサンプリング点の座標はストロークが書かれた順（サンプリングされた順）に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。ストロークを等時間間隔でサンプリングすると、ストロークの長さが異なっているので、サンプリング点の数も異なる。
【００３１】
各座標データは、対応する軌跡内のある１点のＸ座標およびＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）およびＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）およびＹ座標（Ｙ１ｎ）を示す。
【００３２】
各座標データは、その座標に対応する点が手書きされた時点（サンプリングタイミング）に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。
【００３３】
このように、各座標データにタイムスタンプ情報Ｔが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。図４には示していないが、各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。
【００３４】
図４で説明したような構造を有する時系列情報２００は、個々のストロークの筆跡だけでなく、ストローク間の時間的関係も表すことができる。したがって、この時系列情報２００を使用することにより、図３に示すようにたとえ手書き「矢印」の先端部が手書き文字「Ａ」上に重ねてまたは手書き文字「Ａ」に近接して書かれたとしても、手書き文字「Ａ」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
【００３５】
さらに、本実施形態では、上述したように、手書き文書データは、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報２００として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。従って、本実施形態の時系列情報２００の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
【００３６】
図５は、タブレットコンピュータ１０のシステム構成を示す図である。  
タブレットコンピュータ１０は、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００３７】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種モジュールの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム（ＯＳ）２０１、および各種アプリケーションプログラムが含まれている。各種アプリケーションプログラムには、手書きノートアプリケーションプログラム２０２が含まれている。以下では、手書き文書データを手書きノートとも称する。この手書きノートアプリケーションプログラム２０２は、上述の手書き文書データを作成および表示する機能、手書き文書データを編集する機能、所望の手書き部分を含む手書き文書データや、ある手書き文書データ内の所望の手書き部分を検索するための手書き文書検索機能を有している。
【００３８】
ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００３９】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネント・モジュールとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００４０】
グラフィクスコントローラ１０４は、タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。グラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。タッチパネル１７Ｂ、ＬＣＤ１７Ａおよびデジタイザ１７Ｃは互いに重ね合わされている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン（デジタイザペン）１００が接触される画面上の接触位置および接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００４１】
無線通信デバイス１０７は、無線ＬＡＮまたは３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００４２】
次に、手書きノートアプリケーションプログラム２０２によってユーザに提示される幾つかの代表的な画面の例を説明する。
【００４３】
図６は、手書きノートアプリケーションプログラム２０２のホーム画面の一例を示す。ホーム画面は複数の手書き文書データを扱うための基本画面であり、ノートの管理や、アプリケーション全体の設定を行うことが出来る。
【００４４】
ホーム画面は、デスクトップ画面領域７０と引き出し画面領域７１とを含む。デスクトップ画面領域７０は作業中の複数の手書きノートに対応する複数のノートアイコン８０１〜８０５を表示するテンポラリ領域である。ノートアイコン８０１〜８０５の各々は、対応する手書きノート内のあるページのサムネイルを表示する。デスクトップ画面領域７０は、さらに、ペンアイコン７７１、カレンダーアイコン７７２、スクラップノート（ギャラリー）アイコン７７３、タグ（ラベル）アイコン７７４を表示する。
【００４５】
ペンアイコン７７１は、表示画面をホーム画面からページ編集画面に切り替えるためのグラフィカルユーザインタフェース（ＧＵＩ）である。カレンダーアイコン７７２は現在の日付を示すアイコンである。スクラップノートアイコン７７３は、他のアプリケーションプログラムからまたは外部ファイルから取り込んだデータ（スクラップデータまたはギャラリーデータと称する）を閲覧するためのＧＵＩである。タグアイコン７７４は、任意の手書きノート内の任意のページにラベル（タグ）を貼り付けるためのＧＵＩである。
【００４６】
引き出し画面領域７１は、作成済みの全ての手書きノートを格納するためのストレージ領域を閲覧するための表示領域である。引き出し画面領域７１は、全ての手書きノート内の幾つかの手書きノートに対応するノートアイコン８０Ａ，８０Ｂ，８０Ｃを表示する。ノートアイコン８０Ａ，８０Ｂ，８０Ｃの各々は、対応する手書きノート内のあるページのサムネイルを表示する。手書きノートアプリケーションプログラム２０２は、ペン１００または指を使用してユーザによって行われる引き出し画面領域７１上のあるジェスチャ（例えばスワイプジェスチャ等）を検出することができる。このジェスチャ（例えばスワイプジェスチャ等）の検出に応答して、手書きノートアプリケーションプログラム２０２は、引き出し画面領域７１上の画面イメージを左方向または右方向にスクロールする。これにより、引き出し画面領域７１に任意の手書きノートそれぞれに対応するノートアイコンを表示することができる。
【００４７】
手書きノートアプリケーションプログラム２０２は、ペン１００または指を使用してユーザによって行われる引き出し画面領域７１のノートアイコン上の他のジェスチャ（例えばタップジェスチャ等）を検出することができる。引き出し画面領域７１上のあるノートアイコン上のジェスチャ（例えばタップジェスチャ等）の検出に応答して、手書きノートアプリケーションプログラム２０２は、このノートアイコンをデスクトップ画面領域７０の中央部に移動する。そして、手書きノートアプリケーションプログラム２０２は、このノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図７に示すノートプレビュー画面を表示する。図７のノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。
【００４８】
さらに、手書きノートアプリケーションプログラム２０２は、ペン１００または指を使用して使用してユーザによって行われるデスクトップ画面領域７０上のジェスチャ（例えばタップジェスチャ等）も検出することができる。デスクトップ画面領域７０の中央部に位置するノートアイコン上のジェスチャ（例えばタップジェスチャ等）の検出に応答して、手書きノートアプリケーションプログラム２０２は、中央部に位置するノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図７に示すノートプレビュー画面を表示する。
【００４９】
さらに、ホーム画面はメニューを表示することができる。このメニューは、画面の下部、例えば引き出し画面領域７１に表示されるノート一覧ボタン８１Ａ、ノート作成ボタン８１Ｂ、ノート削除ボタン８１Ｃ、検索ボタン８１Ｄ、設定ボタン８１Ｅを備える。ノート一覧ボタン８１Ａは手書きノートの一覧を表示するためのボタンである。ノート作成ボタン８１Ｂは、新しい手書きノートを作成（追加）するためのボタンである。ノート削除ボタン８１Ｃは手書きノートを削除するためのボタンである。検索ボタン８１Ｄは検索画面（検索ダイアログ）を開くためのボタンである。設定ボタン８１Ｅはアプリケーションの設定画面を開くためのボタンである。
【００５０】
なお、図示しないが、引き出し画面領域７１の下にも、戻るボタン、ホームボタン、リーセントアプリケーションボタンが表示される。
【００５１】
図８は、設定ボタン８１Ｅがペン１００または指でタップされた際に開かれる設定画面の一例を示す。  
この設定画面は様々な設定項目を表示する。これら設定項目には、「バックアップと復元」、「入力モード（ペン、またはタッチ入力モード）」、「利き手（右利き、または左利き）」、「ライセンス情報」、「ヘルプ」等が含まれる。設定項目「利き手」に対応するボタンがペン１００または指でタップされると、右利き、または左利きの選択画面が表示される。
【００５２】
ホーム画面で、ノート作成ボタン８１Ｂが、ペン１００または指でタップされると、ノート作成画面が表示される。ここで、タイトル欄にノートの名前を手書き入力する。なお、ノートの表紙と用紙とを選択することができる。作成ボタンを押すと、新規なノートが作成され、作成したノートは引き出し画面領域７１に置かれる。
【００５３】
図７は上述のノートプレビュー画面の一例を示す。  
ノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。ここでは、ホーム画面のデスクトップ画面領域７０のノートアイコン８０１に対応する手書きノートが選択された場合を説明する。この場合、手書きノートアプリケーションプログラム２０２は、この手書きノートに含まれる複数のページ９０１，９０２，９０３，９０４，９０５を、これらページ９０１，９０２，９０３，９０４，９０５それぞれの少なくとも一部分が視認可能で且つこれらページ９０１，９０２，９０３，９０４，９０５が重なった形態で表示する。
【００５４】
ノートプレビュー画面は、さらに、上述のペンアイコン７７１、カレンダーアイコン７７２、スクラップノートアイコン７７３、タグアイコン７７４を表示する。
【００５５】
ノートプレビュー画面は、さらに、メニューを画面の下部に表示することができる。このメニューは、ホームボタン８２Ａ、ページ一覧ボタン８２Ｂ、ページ追加ボタン８２Ｃ、ページ編集ボタン８２Ｄ、ページ削除ボタン８２Ｅ、ラベルボタン８２Ｆ、検索ボタン８２Ｇ、およびプロパティ表示ボタン８２Ｈを備える。ホームボタン８２Ａは、ノートのプレビューを閉じてホーム画面を表示するためのボタンである。ページ一覧ボタン８２Ｂは、現在選択されている手書きノート内のページの一覧を表示するためのボタンである。ページ追加ボタン８２Ｃは、新しいページを作成（追加）するためのボタンである。編集ボタン８２Ｄはページ編集画面を表示するためのボタンである。ページ削除ボタン８２Ｅは、ページを削除するためのボタンである。ラベルボタン８２Ｆは、使用可能なラベルの種類の一覧を表示するためのボタンである。検索ボタン８２Ｇは検索画面を表示するためのボタンである。プロパティ表示ボタン８２Ｈは、このノートのプロパティを表示するためのボタンである。
【００５６】
手書きノートアプリケーションプログラム２０２はユーザによって行われるノートプレビュー画面上の様々なジェスチャを検出することができる。例えば、あるジェスチャの検出に応答して、手書きノートアプリケーションプログラム２０２は、一番上に表示されるべきページを任意のページに変更する（ページ送り、ページ戻し）。また、一番上のページ上で行われるあるジェスチャ（例えばタップジェスチャ）の検出に応答して、またはペンアイコン７７１上で行われるあるジェスチャ（例えばタップジェスチャ）の検出に応答して、あるいは編集ボタン８２Ｄ上で行われるあるジェスチャ（例えばタップジェスチャ）の検出に応答して、手書きノートアプリケーションプログラム２０２は、一番上のページを選択し、そしてノートプレビュー画面の代わりに、図９に示すページ編集画面を表示する。
【００５７】
図９のページ編集画面は、ページ（手書きページ）の新規作成、および既存のページの閲覧および編集が可能な画面である。図７のノートプレビュー画面上のページ９０１が選択された場合には、図９に示すように、ページ編集画面は、ページ９０１の内容を表示する。
【００５８】
このページ編集画面において、破線で囲まれた矩形の領域５００は手書き可能な手書き入力エリアである。手書き入力エリア５００においては、デジタイザ１７Ｃからの入力イベントは手書きストロークの表示（描画）のために使用され、タップ等のジェスチャを示すイベントとしては使用されない。一方、ページ編集画面において、手書き入力エリア５００以外の領域においては、デジタイザ１７Ｃからの入力イベントはタップ等のジェスチャを示すイベントとしても使用され得る。
【００５９】
タッチパネル１７Ｂからの入力イベントは、手書きストロークの表示（描画）には使用されず、タップ、スワイプ等のジェスチャを示すイベントとして使用される。
【００６０】
ページ編集画面は、さらに、ユーザによって予め登録された３種類のペン５０１〜５０３と、範囲選択ペン５０４、消しゴムペン５０５とを含むクイックセレクトメニューを手書き入力エリア５００外の画面上部に表示する。ここでは、黒ペン５０１、赤ペン５０２、マーカー５０３がユーザによって予め登録されている場合が説明されている。ユーザは、ペン１００または指でクイックセレクトメニュー内のあるペン（ボタン）をタップすることにより、使用するペンの種類を切り替えることが出来る。例えば、黒ペン５０１がユーザによるペン１００または指を使用したタップジェスチャによって選択された状態で、ペン１００を用いた手書き入力操作がページ編集画面上で行われると、手書きノートアプリケーションプログラム２０２は、ペン１００の動きに合わせて黒色のストローク（軌跡）をページ編集画面上に表示する。
【００６１】
クイックセレクトメニュー内の上述の３種類のペンは、ペン１００のサイドボタン（図示せず）の操作によっても切り替えることが出来る。クイックセレクトメニュー内の上述の３種類のペンの各々には、よく使うペンの色やペンの太さの組み合わせを設定することができる。
【００６２】
ページ編集画面は、さらに、メニューボタン５１１、ページ戻し（ノートプレビュー画面に戻る）ボタン５１２、新規ページ追加ボタン５１３を手書き入力エリア５００外の画面下部に表示する表示する。メニューボタン５１１はメニューを表示するためのボタンである。
【００６３】
このメニューは、例えば、このページをごみ箱に入れる、コピーやカットしたページの一部を貼り付ける、検索画面を開く、エクスポートサブメニューを表示する、インポートサブメニューを表示する、ページをテキストに変換してメールを送る、ペンケースを表示する等のボタンを表示してもよい。エクスポートサブメニューは、例えば、ページ編集画面上に表示されている手書きページを認識して電子文書ファイル、プレゼンテーションファイル、画像ファイル等に変換する機能、あるいはページを画像ファイルに変換して他のアプリケーションと共有する機能をユーザに選択させる。インポートサブメニューは、例えば、メモギャラリーからメモをインポートする機能、あるいはギャラリーから画像をインポートする機能をユーザに選択させる。ペンケースは、クイックセレクトメニュー内の３種類のペンの各々の色（描画される線の色）および太さ（描画される線の太さ）を変更可能なペン設定画面を呼び出すためのボタンである。
【００６４】
図１０は、検索画面（検索ダイアログ）の例を示す。図１０では、ノートプレビュー画面上に検索画面（検索ダイアログ）が開かれた場合が説明されている。
【００６５】
検索画面は、検索キー入力領域５３０、筆跡検索ボタン５３１、テキスト検索ボタン５３２、デリートボタン５３３、検索実行ボタン５３４を表示する。筆跡検索ボタン５３１は筆跡検索を選択するためのボタンである。テキスト検索ボタン５３２はテキスト検索を選択するためのボタンである。検索実行ボタン５３４は、検索処理の実行を要求するためのボタンである。
【００６６】
筆跡検索においては、検索キー入力領域５３０は、検索キーとすべき文字列、図形、表などを手書きするための入力領域として使用される。図１０においては、検索キー入力領域５３０に手書き文字列「Ｄｅｔｅｒｍｉｎｅ」が検索キーとして入力される。ユーザは、手書き文字列に限らず、手書き図形、手書き表などを検索キー入力領域５３０にペン１００で手書きすることができる。検索キー入力領域５３０に手書き文字列「Ｄｅｔｅｒｍｉｎｅ」が検索キーとして入力された状態で検索実行ボタン４３４がユーザによって選択されると、手書き文字列「Ｄｅｔｅｒｍｉｎｅ」のストローク群（クエリーストローク群）を用いて、このクエリーストローク群に対応するストローク群を含む手書きノートを検索するための筆跡検索が実行される。筆跡検索では、ストローク間のマッチングによって、クエリーストローク群に類似するストローク群が検索される。クエリーストローク群とある別のストローク群との間の類似度の算出においては、ＤＰ（Dynamic Programming）マッチングを使用してもよい。
【００６７】
テキスト検索においては、例えばソフトウェアキーボードが画面上に表示される。ユーザは、ソフトウェアキーボードを操作することによって任意のテキスト（文字列）を検索キーとして検索キー入力領域５３０に入力することができる。検索キー入力領域５３０にテキストが検索キーとして入力された状態で検索実行ボタン５３４がユーザによって選択されると、このテキスト（クエリーテキスト）に対応するストロークデータ群を含む手書きノートを検索するためのテキスト検索が実行される。
【００６８】
筆跡検索／テキスト検索は、全ての手書きノートを対象に実行することも出来るし、選択された手書きノートのみを対象に実行することも出来る。筆跡検索／テキスト検索が実行されると、検索結果画面が表示される。検索結果画面においては、クエリーストローク群（またはクエリーテキスト）に対応するストローク群を含む手書きページの一覧が表示される。ヒットワード（クエリーストローク群またはクエリーテキストに対応するストローク群）は強調表示される。
【００６９】
次に、図１１を参照して、手書きノートアプリケーションプログラム２０２の機能構成について説明する。
【００７０】
手書きノートアプリケーションプログラム２０２は、手書き文書データを扱うことが可能なＷＹＳＩＷＹＧアプリケーションである。この手書きノートアプリケーションプログラム２０２は、例えば、表示処理部３０１、時系列情報生成部３０２、編集処理部３０３、ページ保存処理部３０６、ページ取得処理部３０７および作業メモリ４０１等を備える。表示処理部３０１は、手書き入力部３０１Ａ、筆跡予測部３０１Ｂ、筆跡描画部３０１Ｃを含む。
【００７１】
上述したタッチパネル１７Ｂは、「タッチ（接触）」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ（接触）」は、画面上にオブジェクト（指）が接触したことを示すイベントである。「移動（スライド）」は、画面上にオブジェクト（指）が接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からオブジェクト（指）が離されたことを示すイベントである。
【００７２】
上述したデジタイザ１７Ｃも、「タッチ（接触）」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ（接触）」は、画面上にオブジェクト（ペン１００）が接触したことを示すイベントである。「移動（スライド）」は、画面上にオブジェクト（ペン１００）が接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からオブジェクト（ペン１００）が離されたことを示すイベントである。
【００７３】
手書きノートアプリケーションプログラム２０２は手書きページデータの作成、閲覧、編集を行うためのページ編集画面をタッチスクリーンディスプレイ１７上に表示する。  
表示処理部３０１および時系列情報生成部３０２は、デジタイザ１７Ｃによって発生される「タッチ（接触）」、「移動（スライド）」または「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ（接触）」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントには、移動先の接触位置の座標が含まれている。したがって、表示処理部３０１および時系列情報生成部３０２は、デジタイザ１７Ｃから接触位置の動きの軌跡に対応する座標列を受信することができる。
【００７４】
表示処理部３０１は、デジタイザ１７Ｃを用いて検出される画面上のオブジェクト（ペン１００）の動きに応じて手書きストロークを画面上に表示する。この表示処理部３０１により、画面にペン１００が接触している間のペン１００の軌跡、つまり各ストロークの軌跡がページ編集画面上に表示される。
【００７５】
時系列情報生成部３０２は、デジタイザ１７Ｃから出力される上述の座標列を受信し、この座標列に基づいて、図４で詳述したような構造を有する時系列情報（座標データ系列）を含む手書きデータを生成する。時系列情報生成部３０２は、生成された手書きデータを作業メモリ４０１に一時保存する。
【００７６】
編集処理部３０３は現在表示中の手書きページを編集するための処理を実行する。すなわち、編集処理部３０３は、タッチスクリーンディスプレイ１７上でユーザによって行われる編集操作および手書き入力操作に応じて、現在表示中の手書きページに新たなストローク（新たな手書き文字、新たな手書きマーク等）を追加する処理、表示されている複数のストローク内の１以上のストロークを削除または移動いる処理等を含む編集処理を実行する。さらに、編集処理部３０３は、編集処理の結果を表示中の時系列情報に反映するために作業メモリ４０１内の時系列情報を更新する。
【００７７】
ページ保存処理部３０６は、作成中の手書きページ上の複数の手書きストロークに対応する複数のストロークデータを含む手書きページデータを記憶媒体４０２に保存する。記憶媒体４０２は、例えば、タブレットコンピュータ１０内のストレージデバイスであってもよいし、サーバコンピュータ２のストレージデバイスであってもよい。
【００７８】
ページ取得処理部３０７は、記憶媒体４０２から任意の手書きページデータを取得する。この取得された手書きページデータは表示処理部３０１に送られる。表示処理部３０１は、手書きページデータに含まれる複数のストロークデータに対応する複数のストロークを画面上に表示する。
【００７９】
図１１の表示処理部３０１の詳細を説明する。
【００８０】
前述したように、タッチスクリーンディスプレイ１７は、画面に対するタッチ操作をタッチパネル１７Ｂまたはデジタイザ１７Ｃで検出する。手書きデータ入力部３０１Ａは、タッチパネル１７Ｂまたはデジタイザ１７Ｃから出力される検出信号を入力するモジュールである。検出信号には、タッチ位置の座標情報（Ｘ，Ｙ）が含まれている。手書きデータ入力部３０１Ａによって入力された検出信号は、筆跡予測部３０１Ｂおよび筆跡描画部３０１Ｃに供給される。
【００８１】
筆跡描画部３０１Ｃは、手書き入力の軌跡（筆跡）を描画してタッチスクリーンディスプレイ１７のＬＣＤ１７Ａに表示するモジュールである。筆跡描画部３０１Ｃは、第１に、手書きデータ入力部３０１Ａからの検出信号に基づき、手書き入力の軌跡（筆跡）に対応する線分を描画する第１の描画機能を有している。
【００８２】
筆跡予測部３０１Ｂは、手書きデータ入力部３０１Ａからの検出信号に基づき、続いてタッチパネル１７Ｂまたはデジタイザ１７Ｃで所定時間後に検出されるであろうタッチ操作の位置を予測し、その予測結果を、例えば手書きデータ入力部３０１Ａからの検出信号と同じフォーマットで予測信号として筆跡描画部３０１Ｃに供給する。筆跡描画部３０１Ｃは、第２に、この筆跡予測部３０１Ｂからの予測信号に基づき、手書き入力の軌跡（筆跡）に対応する線分に後続すると予測される線分（予測線分）を描画する第２の描画機能を有している。つまり、筆跡描画部３０１Ｃは、手書き入力の軌跡（筆跡）に対応する線分と、当該手書き入力の軌跡（筆跡）に対応する線分に後続すると予測される線分（予測線分）とをタッチスクリーンディスプレイ１７のＬＣＤ１７Ａに表示する。予測線分は所定時間後に検出されるであろう位置まであり、タッチ操作の検出は一定時間周期で行われるので、予測線分の長さは所定時間×検出ピッチで決まっている。そして、タブレットコンピュータ１０は、予測が外れた場合にユーザに与える違和感を低減すること等を実現する仕組みを備えたものであり、以下、この点について詳述する。
【００８３】
ここで、タブレットコンピュータ１０が実行する筆跡表示処理の原理についての理解を助けるために、まず、図１２を参照して、描画の遅延について説明する。
【００８４】
例えば、ペン１００を使ってタッチスクリーンディスプレイ１７上に文字や絵を描いた場合、前述したように、ペン１００による画面上への接触位置がデジタイザ１７Ｃによって検出される。デジタイザ１７Ｃは、その接触位置を示す座標情報を含む検出信号をシステムコントローラ１０２に向けて出力する。システムコントローラ１０２は、デジタイザ１７Ｃから受け取った検出信号を自身のレジスタに格納すると共に、ＣＰＵ１０１に対する割り込み信号を発生させる。
【００８５】
この割り込み信号が発生すると、ＣＰＵ１０１が実行するＢＩＯＳによってシステムコントローラ１０２のレジスタから検出信号が読み出され、ＯＳ２０１の管理下で動作する手書きノートアプリケーションプログラム２０２に入力される。そして、手書きノートアプリケーションプログラム２０２の表示処理部３０１は、この検出信号に基づき、手書き入力の軌跡（筆跡）に対応する線分を描画してタッチスクリーンディスプレイ１７のＬＣＤ１７Ａに表示する。図１２の実線の線分ａ１は、タッチスクリーンディスプレイ１７のＬＣＤ１７Ａに表示された手書き入力の軌跡（筆跡）に対応する。
【００８６】
しかしながら、ペン１００による画面上への接触位置（線分ａ１の終端）がデジタイザ１７Ｃによって検出されてから前述の過程を経て手書きノートアプリケーションプログラム２０２によって手書き入力の軌跡（筆跡）に対応する線分ａ１がタッチスクリーンディスプレイ１７のＬＣＤ１７Ａに表示されるまでの間にも、ペン１００はタッチスクリーンディスプレイ１７上を移動している。従って、ペン１００の位置の移動に対して遅れて線分が描画（表示）される。図１２のａ２が、このようにして生じる描画の遅延を示す。このような遅延が生じないようにするためには、遅延する筆跡を過去の筆跡から予測して、過去の筆跡の先端に予測筆跡を加えて表示すればよい。しかし、予測は外れることもあり、予測が外れた場合は、意図しない筆跡が表示され、手書きタブレットの動作に違和感を覚える。
【００８７】
そのため、実施形態では、予測が外れた場合にユーザに与える違和感を低減するための対策を講じている。予測する時間、あるいは筆跡の長さを、図１２に示す遅延ａ２に応じた一律ではなく、手書きの状況に応じて可変している。一般的に、予測する時間あるいは長さが長ければ長いほど、遅延時間が少なく、手書き入力から表示までの応答性が良いが、予測が外れる可能性が大きい。逆に、予測する時間あるいは長さが短いと、遅延が生じてしまい、応答性が悪い。
【００８８】
予測外れがユーザに与える違和感の程度は、ペンの移動方向と利き手に応じて異なる。例えば、右利きの人の場合は、図１３に示すように、ペンより右に手があるので、右に伸びる筆跡はペンあるいは手で隠されているので、予測外れの予測筆跡を表示しても支障はない。また、上に伸びる筆跡も手で隠されることがあるので、予測外れの予測筆跡を表示してもそれ程支障はない。そのため、図１３（ａ）に示すように、“Ｋ”の３番目のストローク（左上から右下に伸びる）は予測時間、あるいは予測長さを長くしても、予測外れが目立たない。予測時間、あるいは予測長さを長くすると、ペン先の移動に表示筆跡の変化がついてきている感じが出て、応答性が良いと感じる。逆に、図１３（ｂ）に示すように、“Ｋ”の２番目のストローク（右上から左下に伸びる）は、予測外れが目立つので、予測時間、あるいは予測長さを短くする。
【００８９】
左利きの人の場合は、図１４に示すように、ペンより左に手があるので、左に伸びる筆跡はペンあるいは手で隠されるので、予測外れの予測筆跡を表示しても支障はない。また、上に伸びる筆跡も手で隠されることがあるので、予測外れの予測筆跡を表示してもそれ程支障はない。そのため、図１４（ｂ）に示すように、“Ｋ”の２番目のストローク（右上から左下に伸びる）は予測時間、あるいは予測長さを長くしても、予測外れが目立たない。逆に、図１４（ａ）に示すように、“Ｋ”の３番目のストローク（左上から右下に伸びる）は、予測外れが目立つので、予測時間、あるいは予測長さを短くする。
【００９０】
このように、利き手とペンの移動方向に応じて予測時間、あるいは予測長さを異ならせることにより、予測外れが目立つことなく最良の応答性を実現できる。
【００９１】
ペンの移動方向（角度）に応じた予測時間、あるいは予測長さの長短の設定の一例を図１５に示す。図１５（ａ）は右手、図１５（ｂ）は左手の場合である。右手の場合は、右下の角度領域（２７０度から３６０度）が最も長く、右上の角度領域（０度から９０度）と左上の角度領域（９０度から１８０度）がやや長く、左下の角度領域（１８０度から２７０度）がやや短く設定される。左手の場合は、左下の角度領域（１８０度から２７０度）が最も長く、右上の角度領域（０度から９０度）と左上の角度領域（９０度から１８０度）がやや長く、右下の角度領域（２７０度から３６０度）がやや短く設定される。図１５ではペンの移動角度範囲は４つに区分されているが、より細分してもよい。
【００９２】
利き手は図８の設定画面でユーザにより設定されるが、自動的に判定しても良い。この判定の流れを図１６に示す。ペン入力モードの手書き入力操作の際に、ブロックＢ１６２で、タッチパネルにより手の接触位置も検出する。ブロックＢ１６４で、デジタイザによりペン先位置を検出し、手の接触位置とペン先位置との左右関係を判定する。手の接触位置がペン先位置より右である場合は、ブロックＢ１６６で右利きと判定し、手の接触位置がペン先位置より右でない場合は、ブロックＢ１６８で左利きと判定する。
【００９３】
このように、ペン入力モードの手書き入力操作の際に、手の接触位置がペン先より右が否かにより、右利きか左利きかを判定することができる。
【００９４】
予測外れの影響は、一般的には、利き手とペンの移動方向で決まるが、ペンの持ち方が変わっている人がいるので、ペンの傾きを検出して、それを参考にしても良い。一般的には、図１３、図１４に示すように、ペン先が手から離れる方向にペンを外側に傾けて持つが、中には、タッチスクリーンディスプレイの画面に対して垂直にペンを向けて持つ人や、図１７（ａ）に示すように、ペン先が手に向かう方向にペンを内側に傾けて持つ人がいる。
【００９５】
そのため、ペン１００に３軸加速度センサと電池を内蔵し、ペンをタッチスクリーンディスプレイの画面（ＸＹ平面）に投影した場合の画面内の角度θ（図１７（ｃ）参照）に応じて、図１５の予測時間あるいは長さの長短を調整してもよい。
【００９６】
次に、図１８を参照して、タブレットコンピュータ１０で実行される予測筆跡の表示処理の第１例について説明する。
【００９７】
手書きノートアプリケーションプログラム２０２の筆跡描画部３０１Ｃは、図１８（ａ）に示すように、時刻ｔ１で、手書きデータ入力部３０１Ａからの検出信号に基づく線分ａ１に追加する形で、筆跡予測部３０１Ｂからの予測信号に基づく線分ｂ１を表示する。筆跡予測部３０１Ｂの予測によって、描画の遅延ａ２を、ｂ２にまで減少させることができる。筆跡予測部３０１Ｂは所定時間先の未来の筆跡を予測する。この所定時間は、上述したように、図１５に示すように、利き手とペンの移動方向等に応じて可変である。
【００９８】
タブレットコンピュータ１０は、一定周期（例えば、１／６０秒）で表示を更新する。そのため、図１８（ｂ）に示すように、時刻ｔ１＋Δｔでは、時刻ｔ１の予測線分ｂ１の代わりに実際の筆跡に対応する線分ｂ３を表示する。即ち、実際の筆跡に対応する線分がΔｔ毎に延長する。ある時刻で、ユーザに見える線分は、常に、検出信号に基づく実際の線分プラス予測線分となるように制御する。言い換えると、予測線分は、表示更新周期Δｔだけ表示される。
【００９９】
より具体的には、検出信号に基づく線分ａ１は、次の時刻に持ち越され、次の時刻の検出信号が反映されて成長するが、時刻ｔ１に書かれた予測線分ｂ１は、次の時刻ｔ１＋Δｔには持ち越されない。符号ｂ３で示したように、時刻ｔ１の予測線分ｂ１は、次の時刻ｔ１＋Δｔでは描画されず、代わりに検出信号に基づく線分ａ１が描画される。予測線分ｂ１は、この検出信号に基づく線分ａ１に新たに追加される形で描画される。このように筆跡の描画を行うことで、予測が合っている（時刻ｔ１での予測線分ｂ１と時刻ｔ１＋Δｔで伸びた分の線分ｂ３がほぼ一致する）場合には、ユーザには、連続的に線が伸びているように知覚される。
【０１００】
一方、予測が外れた場合であっても、予測を大きく誤った時刻ｔでの予測線分ｂ１は次の時刻ｔ１＋Δｔでは消えて、代わりに検出信号に基づく線分ｂ３が表示されるので、一瞬のちらつき程度を感じさせるだけであり、ほとんど目立たない。さらに、表示される予測線分ｂ１の長さは、ペンの移動方向と利き手に応じて異なり、予測外れの予測筆跡を表示しても支障はない状況の場合は、長めに設定され、応答性を向上する。また、予測外れが目立つ場合は、短めに設定され、予測の外れを感じさせないようにしている。
【０１０１】
このように、ペンの移動方向と利き手に応じた長さの予測線分ｂ１を予め定められた期間だけ表示するタブレットコンピュータ１０は、予測が外れた場合にユーザに与える違和感を低減することができる。
【０１０２】
図１９は図１８の表示を行う表示処理部３０１の処理の流れを示すフローチャートである。ブロックＢ１９０２で、手書き操作が行われ、ペン１００によりタッチスクリーンディスプレイ１７上で文字、記号、図形、表等が手書きされる。手書き入力部３０１Ａにより、一定周期で、ペン１００の軌跡（座標）がサンプリングされる（ブロックＢ１９０４、Ｂ１９０６）。ペン１００の座標が検出されると、図４に示すような、時系列情報が得られる。筆跡予測部３０１Ｂは、ブロックＢ１９０８で、一点あるいは数点前の座標データを用いて現在のストロークの向き（角度）を求め、ブロックＢ１９１０で、利き手を判定する。利き手は、図８の設定情報から判定しても良いし、図１６に示すような流れで判定しても良い。ブロックＢ１９１２で、筆跡予測部３０１Ｂは、ペンの傾きも判定する。しかし、ブロックＢ１９１２は省略してもよい。筆跡予測部３０１Ｂは、ブロックＢ１９１４で、図１５に示すように利き手とストロークの角度、場合によってはペンの傾きとに基づいて予測時間を決定する。ブロックＢ１９１６で、筆跡予測部３０１Ｂはこの予測時間後の筆跡を予測する。ブロックＢ１９１８で、筆跡描画部３０１Ｃは、手書きデータ入力部３０１Ａから入力されたサンプリング座標に基づいて計算した実際の筆跡に対応する検出線分に、筆跡予測部３０１Ｂにより予測された筆跡に対応する予測線分を結合してなる筆跡を表示する。
【０１０３】
ブロックＢ１９２０で、一定期間Δｔが経過したか否か判定する。一定期間Δｔの経過前はブロックＢ１９１８に戻り、一定期間Δｔが経過すると、ブロックＢ１９２２で、予測線分の表示を消して、検出線分を更新する。
【０１０４】
ブロックＢ１９２４で、手書き操作が継続中か否か判定し、継続中の場合は、ブロックＢ１９０２に戻り、継続していなければ、動作は終了する。
【０１０５】
ブロックＢ１９０８で行われる「ストローク角度」の求め方の一例を図２０を参照して説明する。
【０１０６】
図２０は、ペン先のサンプリング点の座標と、それらを結ぶ筆跡を示す。ｍ、ｎは整数であり、ｍ＞ｎ＞０である。
【０１０７】
現在サンプリングされた座標（Ｘｔ，Ｙｔ）と当該座標（Ｘｔ，Ｙｔ）に最も近い座標（Ｘｔ−ｎ，Ｙｔ−ｎ）との差分ベクトルＶｔ−ｎを算出する。
【０１０８】
Ｖｔ−ｎ＝（Ｘt−Ｘｔ−ｎ，Ｙt−Ｙｔ−ｎ）
このベクトルの成す角θを算出する。
【０１０９】
θ＝arctan（Ｖｔ−ｎ）
ここで、arctan（Ｖ）は、原点からの傾きを、ラジアン角（−π〜π）で返すものとする。このθがストローク角度である。
【０１１０】
上記の説明は、ストロークの角度と利き手に応じた長さの予測線分を一定期間（例えば、１／６０秒）表示するものであるが、表示の更新周期を可変する（例えば、１／２４０秒、２／２４０（＝１／１２０）秒、３／２４０（＝１／８０）秒、４／２４０（＝１／６０）秒）ことが出来る場合は、予測線分の長さは一定、しかし表示する期間をストロークの角度と利き手に応じた長さに設定することでも、同じ効果が得られる。すなわち、予測外れが目立ちそうな場合は、予測線分の表示時間を短くし、目立ちそうにない場合は、予測線分の表示時間を長くしてもよい。
【０１１１】
次に、本タブレットコンピュータ１０で実行される筆跡表示処理の第２の例について説明する。
【０１１２】
第１の例では、実際の筆跡に対応する検出線分と、予測された筆跡に対応する可変長の予測線分との表示態様を変えることは想定していない。すなわち、両者を同じ色、輝度、太さで表示することを想定した。第２の例では、予測線分の長さに連動して、予測線分の色、輝度、太さ等を可変して表示する。
【０１１３】
図２１は予測筆跡の表示処理の第２例を示す。筆跡描画部３０１Ｃは、検出信号に基づく線分ａ１と比較して、予め定められた期間だけ表示さ、筆跡の向きに応じた長さの予測線分ｂ１の色を、長さに応じて淡くする。例えば色データがＲ（赤）、Ｇ（緑）、Ｂ（青）のセットで構成されている場合、Ｒ、Ｇ、Ｂを同じ値に設定すると、黒色を表現することができる。また、この色データを例えば（０，０，０）と設定した場合と（５０，５０，５０）と設定した場合との双方とも、黒色が表現されるが、前者と比較して後者の方が淡い黒となる。この色データの設定によって、予測線分ｂ１の色を淡くする。
【０１１４】
検出信号に基づく線分ａ１と比較して、予め定められた期間だけ表示される可変長の予測線分ｂ１の色を、線分の長さに応じて淡くする（長い程濃く、短い程淡く）ことで、予測外れが生じても、この予測外れを目立ちにくくすることができる。
【０１１５】
色の濃淡についてのみ説明したが、線分の長さに応じて輝度を（長い程高輝度、短い程低輝度で）、太さ（長い程太く、短い程細く）を可変して表示してもよいし、これらを組み合わせても良い。すなわち、手で隠される方向の予測筆跡は目立つように表示し、手で隠されない方向の予測筆跡は前者よりは目立たないように表示する。
【０１１６】
この第２の例は、さらに次のように変形することが出来る。上述の説明では、予測線分は表示の更新周期である一定時間しか表示しないとしたが、数個の更新周期に渡って予測線分を表示するようにして、時間の経過とともに、予測線分の長さに応じて予測線分の色、輝度、太さ等を可変してもよい。
【０１１７】
以上説明したように、実施形態によれば、ユーザの利き手や筆記方向を考慮して、今後筆記される部分が手が隠される場合と、それ以外の場合とで、予測時間（表示される予測線分の長さ）を可変することにより、予測外れがあったとしても、ユーザには気付かれにくい手書き筆跡を表示することができる。筆記される部分が手が隠される場合は長い予測線分を表示することにより、ペン先の移動に表示が追従してきていることを実感できる。この場合、予測外れが生じても、予測線分の全部は表示されないので、その影響は少ない。さらに、ペンの傾き方向によっても予測時間を可変することにより、さらに、効果を上げることができる。
【０１１８】
なお、本実施形態の処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１１９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１２０】
１７…タッチスクリーンディスプレイ、１００…ペン、１０１…ＣＰＵ、１０２…システムコントローラ、１０３…主メモリ、１０５…ＢＩＯＳ−ＲＯＭ、１０６…不揮発性メモリ、２０１…ＯＳ、２０２…手書きノートアプリケーションプログラム、１０４…グラフィックスコントローラ、１０７…無線通信デバイス。
【図１】
0005989903.tif 000002
【図２】
0005989903.tif 000003
【図３】
0005989903.tif 000004
【図４】
0005989903.tif 000005
【図５】
0005989903.tif 000006
【図６】
0005989903.tif 000007
【図７】
0005989903.tif 000008
【図８】
0005989903.tif 000009
【図９】
0005989903.tif 000010
【図１０】
0005989903.tif 000011
【図１１】
0005989903.tif 000012
【図１２】
0005989903.tif 000013
【図１３】
0005989903.tif 000014
【図１４】
0005989903.tif 000015
【図１５】
0005989903.tif 000016
【図１６】
0005989903.tif 000017
【図１７】
0005989903.tif 000018
【図１８】
0005989903.tif 000019
【図１９】
0005989903.tif 000020
【図２０】
0005989903.tif 000021
【図２１】
0005989903.tif 000022