(57)【特許請求の範囲】
【請求項１】
コンテンツを表示するための表示領域と前記表示領域の下のバーとを含む画面であって、オペレーティングシステムの１以上の第１ソフトウェアボタンが前記バー上の第１の場所に表示される画面を、タッチスクリーンディスプレイ上に表示する表示処理手段と、
前記画面の表示領域上への手書き入力が可能なように構成された第１のアプリケーションプログラムのアクティブ状態への遷移の検出に応答して、前記バー上の前記第１ソフトウェアボタンの表示場所を前記第１の場所の右側または左側のいずれか一方に変更する変更手段とを具備する電子機器。
【請求項２】
前記第１のアプリケーションプログラムは、ユーザによって行われる操作に従って前記ソフトウェアボタンの表示場所を設定し、
前記変更手段は、前記設定に従って、前記バー上の前記第１ソフトウェアボタンの表示場所を前記第１の場所の右側または左側のいずれか一方に変更する請求項１記載の電子機器。
【請求項３】
前記変更手段は、前記第１のアプリケーションプログラムのインアクティブ状態への遷移の検出に応答して、前記第１ソフトウェアボタンの表示場所を前記第１の場所に戻す請求項１記載の電子機器。
【請求項４】
前記第１のアプリケーションプログラムとは異なる別のアプリケーションプログラムがアクティブ状態である期間中にユーザによって行われる第１の操作の検出に応答して、前記別のアプリケーションプログラムによって表示されるコンテンツに対応するイメージをキャプチャすると共に前記第１のアプリケーションプログラムをアクティブにする制御手段をさらに具備し、
前記第１のアプリケーションプログラムは、前記キャプチャされるイメージを、前記イメージ上に手書き入力可能な可能な前記画面の表示領域上に表示する請求項１記載の電子機器。
【請求項５】
前記別のアプリケーションプログラムはブラウザである請求項４記載の電子機器。
【請求項６】
前記第１の操作は、前記バー上に表示される第２のソフトウェアボタン上のジェスチャである請求項４記載の電子機器。
【請求項７】
前記変更手段は、前記第１のアプリケーションプログラムのアクティブ状態への遷移の検出に応答して、前記第２ソフトウェアボタンを非表示にし、且つ前記第１ソフトウェアボタンの表示場所を前記第１の場所の右側または左側のいずれか一方に変更する請求項６記載の電子機器。
【請求項８】
前記第１のアプリケーションプログラムは、前記イメージに対応するイメージデータと前記イメージ上の手書きストロークに対応するストロークデータとを含む手書き文書を記憶媒体に保存する保存する請求項４記載の電子機器。
【請求項９】
コンテンツを表示するための表示領域と前記表示領域の下のバーとを含む画面であって、オペレーティングシステムの１以上の第１ソフトウェアボタンが前記バー上の第１の場所に表示される画面を、電子機器のタッチスクリーンディスプレイ上に表示することと、
前記画面の表示領域への手書き入力が可能なように構成された第１のアプリケーションプログラムのアクティブ状態への遷移の検出に応答して、前記バー上の前記第１ソフトウェアボタンの表示場所を前記第１の場所の右側または左側のいずれか一方に変更することとを具備する処理方法。
【請求項１０】
ユーザによって行われる操作に従って前記ソフトウェアボタンの表示場所を設定することをさらに具備し、
前記変更することは、
前記設定に従って、前記バー上の前記第１ソフトウェアボタンの表示場所を前記第１の場所の右側または左側のいずれか一方に変更することを含む請求項９記載の処理方法。
【請求項１１】
前記第１のアプリケーションプログラムのインアクティブ状態への遷移の検出に応答して、前記第１ソフトウェアボタンの表示場所を前記第１の場所に戻すことをさらに具備する請求項９記載の処理方法。
【請求項１２】
前記第１のアプリケーションプログラムとは異なる別のアプリケーションプログラムがアクティブ状態である期間中にユーザによって行われる第１の操作の検出に応答して、
前記別のアプリケーションプログラムによって表示されるコンテンツに対応するイメージをキャプチャすることと、
前記第１のアプリケーションプログラムをアクティブにすることとをさらに具備し、
前記第１のアプリケーションプログラムは、前記キャプチャされるイメージを、前記イメージ上に手書き入力が可能な前記画面の表示領域上に表示する請求項９記載の処理方法。
【請求項１３】
コンピュータによって実行されるプログラムであって、
コンテンツを表示するための表示領域と前記表示領域の下のバーとを含む画面であって、オペレーティングシステムの１以上の第１ソフトウェアボタンが前記バー上の第１の場所に表示される画面を、前記コンピュータのタッチスクリーンディスプレイ上に表示することと、
前記画面の表示領域上への手書き入力が可能なように構成された第１のアプリケーションプログラムのアクティブ状態への遷移の検出に応答して、前記バー上の前記第１ソフトウェアボタンの表示場所を前記第１の場所の右側または左側のいずれか一方に変更することを前記コンピュータに実行させるためのプログラム。
【請求項１４】
前記プログラムは、さらに、前記コンピュータに、ユーザによって行われる操作に従って前記ソフトウェアボタンの表示場所を設定させ、
前記変更することは、
前記設定に従って、前記バー上の前記第１ソフトウェアボタンの表示場所を前記第１の場所の右側または左側のいずれか一方に変更することを含む請求項１３記載のプログラム。
【請求項１５】
さらに、前記コンピュータに、前記第１のアプリケーションプログラムのインアクティブ状態への遷移の検出に応答して、前記第１ソフトウェアボタンの表示場所を前記第１の場所に戻させる請求項１３記載のプログラム。
【請求項１６】
前記第１のアプリケーションプログラムとは異なる別のアプリケーションプログラムがアクティブ状態である期間中にユーザによって行われる第１の操作の検出に応答して、
前記プログラムは、さらに、前記コンピュータに、前記別のアプリケーションプログラムによって表示されるコンテンツに対応するイメージをキャプチャすることと、
前記第１のアプリケーションプログラムをアクティブにすることとを実行させ、
前記第１のアプリケーションプログラムは、前記キャプチャされるイメージを、前記イメージ上に手書き入力が可能な前記画面の表示領域上に表示する請求項１３記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き文書を処理する技術に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。【０００３】
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連づけられた機能の実行を電子機器に指示することができる。【０００４】
しかし、タッチスクリーンディスプレイを備える既存の電子機器の多くは、画像、音楽、他の各種メディアデータに対する操作性を追求したコンシューマ向け製品であり、会議、商談、商品開発などのビジネスシーンにおける利用については必ずしも適していない場合がある。このため、ビジネスシーンにおいては、いまなお、紙の手帳が広く利用されている。【０００５】
最近では、手書き入力が可能な電子機器も開発され始めている。手書き入力が可能な電子機器においては、手書き入力中のユーザによる意図しない画面へのタッチ操作による描画を抑制することが要求される。【０００６】
意図しないタッチ操作を抑制するための機能としては、いわゆる「パームリジェクション」機能が知られている。このパームリジェクション機能は、手書き入力エリアに掌を接触させた状態でペンを使って手書きすることを可能にする。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−２０８６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、従来では、画面上のオペレーティングシステムのソフトウェアボタン（アイコン、ボタン等）に対する意図しないタッチ操作を抑制する技術については考慮されていないのが現状である。【０００９】
本発明の一形態の目的は、手書き入力を容易に行うことができる電子機器および処理方法を提供することである。
【課題を解決するための手段】
【００１０】
実施形態によれば、電子機器は、表示処理手段と、変更手段とを具備する。前記表示処理手段は、コンテンツを表示するための表示領域と前記表示領域の下のバーとを含む画面であって、オペレーティングシステムの１以上の第１ソフトウェアボタンが前記バー上の第１の場所に表示される画面を、タッチスクリーンディスプレイ上に表示する。前記変更手段は、前記画面の表示領域上への手書き入力が可能なように構成された第１のアプリケーションプログラムのアクティブ状態への遷移の検出に応答して、前記バー上の前記第１ソフトウェアボタンの表示場所を前記第１の場所の右側または左側のいずれか一方に変更する。
【図面の簡単な説明】
【００１１】
【図１】図１は実施形態に係る電子機器の外観を示す斜視図である。
【図２】図２は同実施形態の電子機器と外部装置との連携動作を示す図である。
【図３】図３は同実施形態の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図である。
【図４】図４は同実施形態の電子機器によって記憶媒体に保存される、図３の手書き文書に対応する時系列情報を説明するための図である。
【図５】図５は同実施形態の電子機器のシステム構成を示すブロック図である。
【図６】図６は同実施形態の電子機器の画面の構成要素を説明するための図である。
【図７】図７は同実施形態の電子機器によって実行される手書きノートアプリケーションプログラムがアクティブ状態である時の画面の例を示す図である。
【図８】図８は同実施形態の電子機器によってオペレーティングシステムのソフトウェアボタンの表示場所がデフォルトの表示場所の左側に変更された状態を示す図である。
【図９】図９は同実施形態の電子機器によってオペレーティングシステムのソフトウェアボタンの表示場所がデフォルトの表示場所の右側に変更された状態を示す図である。
【図１０】図１０は同実施形態の電子機器によって表示されるボタン表示位置設定画面の例を示す図である。
【図１１】図１１は同実施形態の電子機器によって実行される、手書きノートアプリケーションプログラムとオペレーティングシステムとの連携動作を説明するための図である。
【図１２】図１２は同実施形態の電子機器によって表示されるデスクトップ画面を示す図である。
【図１３】図１３は同実施形態の電子機器によって表示される設定画面を示す図である。
【図１４】図１４は同実施形態の電子機器によって表示されるノートプレビュー画面を示す図である。
【図１５】図１５は同実施形態の電子機器によって表示されるページ編集画面を示す図である。
【図１６】図１６は同実施形態の電子機器によって表示される検索ダイアログを示す図である。
【図１７】図１７は同実施形態の電子機器によって表示される、ブラウザの画面を示す図である。
【図１８】図１８は同実施形態の電子機器によって表示される、キャプチャされたブラウザの画面イメージが表示されるページ編集画面を示す図である。
【図１９】図１９は同実施形態の電子機器によって実行される手書きノートアプリケーションプログラムの機能構成を示すブロック図である。
【図２０】図２０は同実施形態の電子機器によって実行されるソフトウェアボタン表示制御処理の手順を示すフローチャートである。
【図２１】図２１は同実施形態の電子機器によって表示されるメモボタンの操作に応答して実行される一連の処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレットまたはストレートコンピュータとも称される携帯型電子機器であり、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。
【００１３】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１４】
このタッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えばデジタイザペン（電磁誘導ペン）であってもよい。ユーザは、ペン１００を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上のペン１００の動きの軌跡、つまり手書き入力操作によって手書きされるストローク（手書きストロークの軌跡）がリアルタイムに描画され、これによって手書きにより入力された複数のストロークが画面上に表示される。ペン１００が画面に接触されている間のペン１００の動きの軌跡が１つのストロークに相当する。手書きされた文字、手書きされた図形、手書きされた表、などに対応する多数のストロークの集合が手書き文書を構成する。
【００１５】
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報（手書き文書データ）として記憶媒体に保存される。この時系列情報の詳細は図４を参照して後述するが、この時系列情報は、複数のストロークが手書きされた順を示し、且つ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、この時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序に相当する。
【００１６】
タブレットコンピュータ１０は、記憶媒体から既存の任意の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークを画面上に表示することができる。時系列情報によって示される複数のストロークも、手書きによって入力される複数のストロークである。
【００１７】
さらに、本実施形態のタブレットコンピュータ１０は、ペン１００を使用せずに、指で手書き入力操作を行うためのタッチ入力モードも有している。タッチ入力モードが有効な場合、ユーザは、指を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の指の動きの軌跡、つまり手書き入力操作によって手書きされるストローク（手書きストロークの軌跡）がリアルタイムに描画され、これによって手書きにより入力された複数のストロークが画面上に表示される。
【００１８】
さらに、タブレットコンピュータ１０は編集機能を有している。この編集機能は、「消しゴム」ツール、範囲選択ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、範囲選択ツールによって選択される表示中の手書き文書内の任意の手書き部分（手書き文字、手書きマーク、手書き図形、手書き表、等）を削除または移動することができる。またさらに、範囲選択ツールによって選択される手書き文書内の任意の手書き部分を、手書き文書を検索するための検索キーとして指定することもできる。またさらに、範囲選択ツールによって選択される手書き文書内の任意の手書き部分に対して、手書き文字認識／手書き図形認識／手書き表認識のような認識処理を実行することもできる。
【００１９】
本実施形態では、手書き文書は、１つまたは複数のページとして管理されうる。この場合、時系列情報（手書き文書データ）を１つの画面に収まる面積単位で区切ることによって、１つの画面に収まる時系列情報のまとまりを１つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは１つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。１つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
【００２０】
図２は、タブレットコンピュータ１０と外部装置との連携動作の例を示している。タブレットコンピュータ１０は、パーソナルコンピュータ１やクラウドと連携することができる。すなわち、タブレットコンピュータ１０は、無線ＬＡＮなどの無線通信デバイスを備えており、パーソナルコンピュータ１との無線通信を実行することができる。さらに、タブレットコンピュータ１０は、インターネット上のサーバ２との通信を実行することもできる。サーバ２はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
【００２１】
パーソナルコンピュータ１はハードディスクドライブ（ＨＤＤ）のようなストレージデバイスを備えている。タブレットコンピュータ１０は、時系列情報（手書き文書データ）をネットワーク越しにパーソナルコンピュータ１に送信して、パーソナルコンピュータ１のＨＤＤに記録することができる（アップロード）。タブレットコンピュータ１０とパーソナルコンピュータ１との間のセキュアな通信を確保するために、通信開始時には、パーソナルコンピュータ１がタブレットコンピュータ１０を認証するようにしてもよい。この場合、タブレットコンピュータ１０の画面上にユーザに対してＩＤまたはパスワードの入力を促すダイアログを表示してもよいし、タブレットコンピュータ１０のＩＤなどを自動的にタブレットコンピュータ１０からパーソナルコンピュータ１に送信してもよい。
【００２２】
これにより、タブレットコンピュータ１０内のストレージの容量が少ない場合でも、タブレットコンピュータ１０が多数の時系列情報あるいは大容量の時系列情報を扱うことが可能となる。
【００２３】
さらに、タブレットコンピュータ１０は、パーソナルコンピュータ１のＨＤＤに記録されている任意の１以上の時系列情報を読み出し（ダウンロード）、その読み出した時系列情報によって示されるストロークをタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。この場合、複数の時系列情報それぞれのページを縮小することによって得られるサムネイルの一覧をディスプレイ１７の画面上に表示してもよいし、これらサムネイルから選ばれた１ページをディスプレイ１７の画面上に通常サイズで表示してもよい。
【００２４】
さらに、タブレットコンピュータ１０が通信する先はパーソナルコンピュータ１ではなく、上述したように、ストレージサービスなどを提供するクラウド上のサーバ２であってよい。タブレットコンピュータ１０は、時系列情報（手書き文書データ）をネットワーク越しにサーバ２に送信して、サーバ２のストレージデバイス２Ａに記録することができる（アップロード）。さらに、タブレットコンピュータ１０は、サーバ２のストレージデバイス２Ａに記録されている任意の時系列情報を読み出して（ダウンロード）、その時系列情報によって示されるストロークそれぞれの軌跡をタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。
【００２５】
このように、本実施形態では、時系列情報が保存される記憶媒体は、タブレットコンピュータ１０内のストレージデバイス、パーソナルコンピュータ１内のストレージデバイス、サーバ２のストレージデバイスのいずれであってもよい。
【００２６】
次に、図３および図４を参照して、ユーザによって手書きされたストローク（文字、図形、表など）と時系列情報との関係について説明する。図３は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる手書き文書（手書き文字列）の例を示している。
【００２７】
手書き文書では、一旦手書きによって入力される文字や図形などの上に、さらに別の文字や図形などが手書きによって入力されるというケースが多い。図３においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きによって入力され、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きによって入力された場合が想定されている。
【００２８】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって、つまり２つの軌跡によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標ＳＤ２１、ＳＤ２１、…ＳＤ２ｎが得られる。
【００２９】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた手書きされた１つのストローク、つまり１つの軌跡によって表現される。手書きの「矢印」は、ペン１００などを使用して手書きされた手書きされた２つのストローク、つまり２つの軌跡によって表現される。
【００３０】
図４は、図３の手書き文書に対応する時系列情報２００を示している。時系列情報は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、これらストロークが手書きされた順に時系列に並べている。
【００３１】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き「矢印」を構成する２つのストロークをそれぞれ示している。
【００３２】
各ストロークデータは、一つのストロークに対応する座標データ系列（時系列座標）、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
【００３３】
各座標データは、対応する軌跡内のある１点に対応するＸ座標およびＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）およびＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）およびＹ座標（Ｙ１ｎ）を示す。
【００３４】
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。
【００３５】
このように、各座標データにタイムスタンプ情報Ｔが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。
【００３６】
さらに、各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。
【００３７】
図４で説明したような構造を有する時系列情報２００は、個々のストロークの筆跡だけでなく、ストローク間の時間的関係も表すことができる。したがって、この時系列情報２００を使用することにより、図３に示すようにたとえ手書き「矢印」の先端部が手書き文字「Ａ」上に重ねてまたは手書き文字「Ａ」に近接して書かれたとしても、手書き文字「Ａ」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
【００３８】
さらに、本実施形態では、上述したように、手書き文書データは、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報２００として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。よって、本実施形態の時系列情報２００の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
【００３９】
図５は、タブレットコンピュータ１０のシステム構成を示す図である。  
タブレットコンピュータ１０は、図５に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００４０】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種モジュールの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム（ＯＳ）２０１、および各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、手書きノートアプリケーションプログラム２０２が含まれている。この手書きノートアプリケーションプログラム２０２は、上述の手書き文書データを作成および表示する機能、手書き文書データを編集する機能、所望の手書き部分を含む手書き文書データや、ある手書き文書データ内の所望の手書き部分を検索するための手書き文書検索機能を有している。
【００４１】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００４２】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００４３】
グラフィクスコントローラ１０４は、本タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。このグラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。タッチパネル１７Ｂ、ＬＣＤ１７Ａおよびデジタイザ１７Ｃは互いに重ね合わされている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン（デジタイザペン）１００が接触される画面上の接触位置および接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００４４】
無線通信デバイス１０７は、無線ＬＡＮまたは３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００４５】
図６は、タッチスクリーンディスプレイ１７に表示される画面の構成要素を示す。  
画面は、表示領域（コンテンツ領域とも云う）５１と、表示領域５１の下のバー（ナビゲーションバーとも云う）５２とを備える。表示領域５１はコンテンツを表示するための領域である。アクティブ状態のアプリケーションプログラムのコンテンツは表示領域５１上に表示される。図６では、ランチャープログラムがアクティブ状態である場合が想定されている。この場合、複数のアプリケーションプログラムに対応する複数のアイコン５１Ａがランチャープログラムによって表示領域５１上に表示される。
【００４６】
なお、あるアプリケーションプログラムがアクティブであるとは、このアプリケーションプログラムがフォアグラウンドに移行していること、換言すればこのアプリケーションプログラムが起動されており且つフォーカスされていることを意味する。
【００４７】
バー５２はＯＳ２０１の１以上のソフトウェアボタン（ソフトウェアキーとも云う）を表示するための領域である。各ソフトウェアボタンには予め決められた機能が割り当てられている。あるソフトウェアボタンが指またはペン１００によってタップされると、このソフトウェアボタンに割り当てられた機能がＯＳ２０１によって実行される。例えば、Andoroid（登録商標）環境においては、図６に示されているように、戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃがバー５２上に表示される。これらソフトウェアボタンはバー５２上のデフォルトの表示場所に表示される。図６では、これらソフトウェアボタン群のデフォルトの表示場所がバー５２上の中央部である場合が想定されている。
【００４８】
図７は、手書きノートアプリケーションプログラム２０２がアクティブ状態である時の画面の例を示す。  
手書きノートアプリケーションプログラム２０２は、様々なビュー（画面）を表示領域５１上に選択的に表示することが出来る。これらビュー（画面）には、ページ編集画面が含まれる。ページ編集画面は上述の表示領域５１上に手書き入力が可能な画面であり、手書きページを閲覧および編集するための画面として使用される。ページ編集画面が表示領域５１に表示されている間は、表示領域５１のほとんど全ての領域は手書き入力エリアとして使用することが出来る。手書きノートアプリケーションプログラム２０２は、デジタイザ１７Ｃを用いて検出される手書き入力エリア上のペン１００の動きに応じて複数の手書きストロークを表示領域５１に表示することができる。また、手書きノートアプリケーションプログラム２０２は、表示領域５１（手書き入力領域）上の指のジェスチャに対応する処理、例えば、ページ送り、ページ戻し等、を行うことも出来る。
【００４９】
ソフトウェアボタン群はバー５２上のデフォルトの表示場所に表示される。したがって、手書き入力操作中においては、ユーザの手が誤ってバー５２上のあるソフトウェアボタン（戻るボタン５２Ａ、ホームボタン５２Ｂ、またはリーセントアプリケーションボタン５２Ｃ）に接触してしまい（意図しないタッチ操作の発生）、これによってユーザが意図しない処理が実行されてしまう可能性がある。
【００５０】
そこで、本実施態のタブレットコンピュータ１０は、手書きノートアプリケーションプログラム２０２がアクティブであるか否かに応じて、バー５２上の３つのソフトウェアボタン（戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃ）の表示場所を自動的に変更する機能を有している。この機能は、例えば、手書きノートアプリケーションプログラム２０２とＯＳ２０１との共同動作によって実現し得る。
【００５１】
図８は、３つのソフトウェアボタン（戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃ）をバー５２上の左部分に表示した状態を示している。この場合、３つのソフトウェアボタンは、デフォルトの表示場所（ここでは中央部）よりも左側に表示されればよく、例えば、バー５２上の左半分のエリアに表示されてもよく、あるいはバー５２上の左端部分に表示されても良い。
【００５２】
ユーザが右手でペン１００を持つ場合には右手がバー５２上の右部分に接触する可能性が高いので、図８に示すように、３つのソフトウェアボタンの表示場所をデフォルトの表示場所（中央部）の左側に変更することにより、意図しないタッチ操作の発生を抑制することができる。
【００５３】
図９は、３つのソフトウェアボタン（戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃ）をバー５２上の右部分に表示した状態を示している。ユーザが左手でペン１００を持つ場合には左手がバー５２上の左部分に接触する可能性が高いので、図９に示すように、３つのソフトウェアボタンの表示場所をデフォルトの表示場所（中央部）の右側に変更することにより、意図しないタッチ操作の発生を抑制することができる。３つのソフトウェアボタンは、デフォルトの表示場所（ここでは中央部）よりも右側に表示されればよく、例えば、バー５２上の右半分のエリアに表示されてもよく、あるいはバー５２上の右端部分に表示されても良い。
【００５４】
図１０は、手書きノートアプリケーションプログラム２０２によって表示されるボタン表示位置設定画面の例を示す。  
ボタン表示位置設定画面は、「デフォルト」ボタン、「左」ボタン、「右」ボタンを表示する。ユーザは、「デフォルト」ボタン、「左」ボタン、または「右」ボタンのいずれかを指又はペン１００でタップすることにより、手書きノートアプリケーションプログラム２０２がアクティブな時に表示される３つのソフトウェアボタン群の位置を、デフォルトの表示場所、デフォルトの表示場所の左側の位置、またはデフォルトの表示場所の右側の位置のいずれかに設定することが出来る。
【００５５】
なお、もしデフォルトの表示場所がバー５２の右部分である場合には、ボタン表示位置設定画面は「デフォルト」ボタンおよび「左」ボタンのみを備える構成であっても良い。また、もしデフォルトの表示場所がバー５２の左部分である場合には、ボタン表示位置設定画面は「デフォルト」ボタンおよび「右」ボタンのみを備える構成であっても良い。
【００５６】
図１１は、対象アプリケーションプログラムとＯＳ２０１の連係動作の例を示す。  
ここでは、ＯＳ２０１がAndoroid-OSで（登録商標）ある場合を想定して対象アプリケーションプログラムとＯＳ２０１の連係動作の一例を説明する。対象アプリケーションプログラムは、例えば、画面の表示領域（コンテンツ領域）５１上への手書き入力が可能な任意のアプリケープログラムである。ここでは、対象アプリケーションプログラムが手書きノートアプリケーションプログラム２０２である場合を想定する。
【００５７】
ＯＳ２０１はユーザインタフェースを管理するためのシステムモジュール２１１を備える。このシステムモジュール２１１は、対象アプリケーション（ここでは、手書きノートアプリケーションプログラム２０２）がアクティブであるか否かに応じてソフトウェアボタンの表示場所を自動的に変更する処理を実行するように構成されている。
【００５８】
ユーザが図１０のボタン表示位置設定画面を用いてソフトウェアボタン群の表示位置の設定操作を行った時に、あるいは手書きノートアプリケーションプログラム２０２が起動された時に、手書きノートアプリケーションプログラム２０２は、ソフトウェアボタン群の表示位置をＯＳ２０１の記憶領域（システム記憶領域）に設定する。例えば、手書きノートアプリケーションプログラム２０２は、ソフトウェアボタン群の表示位置（中央／左／右）を示すユーザ設定値をシステムモジュール２１１の記憶領域（システム記憶領域）に格納する。
【００５９】
システムモジュール２１１は手書きノートアプリケーションプログラム２０２がアクティブであるか否かを判定することができる。手書きノートアプリケーションプログラム２０２がアクティブであるか否かを判定する処理としては、手書きノートアプリケーションプログラム２０２がアクティブであるか否かを判定可能な任意の処理を使用しえる。例えば、手書きノートアプリケーションプログラム２０２がフォアグラウンドに移行（手書きノートアプリケーションプログラム２０２の起動を含む）する時に、手書きノートアプリケーションプログラム２０２は、手書きノートアプリケーションプログラム２０２がアクティブであることを示す情報をシステム記憶領域に格納してもよい。また、手書きノートアプリケーションプログラム２０２がバックグラウンドに移行する時に、手書きノートアプリケーションプログラム２０２は、手書きノートアプリケーションプログラム２０２がアクティブでないことを示す情報をシステム記憶領域に格納してもよい。
【００６０】
システムモジュール２１１は、システム記憶領域を、定期的に、例えば画面のリフレッシュサイクルの度に、チェックしてもよい。これにより、システムモジュール２１１は、ソフトウェアボタンのユーザ設定値（中央／左／右）と手書きノートアプリケーションプログラム２０２のアクティブ／インアクティブ状態とを確認することが出来る。
【００６１】
手書きノートアプリケーションプログラム２０２のアクティブ状態への遷移を検出したならば、システムモジュール２１１は、ユーザ設定値によって指定される表示場所（中央／左／右）にソフトウェアボタン群を表示する。例えば、もしユーザ設定値によって指定される表示場所が左であるならば、システムモジュール２１１は、ソフトウェアボタン群の表示場所を、デフォルトの表示場所の左側、例えば、バー５２の左部分に変更する。また、もしユーザ設定値によって指定される表示場所が右であるならば、システムモジュール２１１は、ソフトウェアボタン群の表示場所を、デフォルトの表示場所の右側、例えば、バー５２の右部分に変更する。
【００６２】
手書きノートアプリケーションプログラム２０２のインアクティブ状態への遷移を検出したならば、システムモジュール２１１は、ソフトウェアボタン群の表示場所をデフォルトの表示場所に戻す。
【００６３】
なお、ソフトウェアボタン群の表示位置を変更するか否かを判断するための要因に、手書きノートアプリケーションプログラム２０２がアクティブであるかだけでなく、画面の向き（ポートレートまたはライドスケープ）を加えても良い。
【００６４】
上述したように、手書きノートアプリケーションプログラム２０２は、手書き可能な上述のページ編集画面のみならず、他の様々な画面を表示することが出来る。タブレットコンピュータ１０は、タッチパネルディスプレイ１７上の画面イメージの向きが重力の方向に整合するように画面の向きを回転する機能を有している。しかし、ページ編集画面に関しては、その性質上、画面の向きがポートレートアングルに固定されていることが好ましい場合がある。意図しないタッチ操作の発生の抑制は、概して、手書き入力操作時（ページ編集画面表示時）に必要とされる。このため、手書きノートアプリケーションプログラム２０２がアクティブであり且つ画面の向きがポートレートアングルであることを条件に、ソフトウェアボタン群の表示位置を変更してもよい。これにより、たとえ手書きノートアプリケーションプログラム２０２がアクティブであっても、手書き入力操作以外の操作が行われている間はソフトウェアボタン群をデフォルトの表示場所に表示することができる。
【００６５】
また、タブレットコンピュータ１０がデジタイザを備えたペン入力モデルでない場合には、ソフトウェアボタン群の表示位置を変更する機能を無効にしてもよい。また、ソフトウェアボタン群が表示されていないような状態の場合にはソフトウェアボタン群の表示位置を変更する必要が無いので、手書きノートアプリケーションプログラム２０２がアクティブであり、画面の向きがポートレートアングルであり、且つ１以上のソフトウェアボタンが表示状態であることを条件に、１以上のソフトウェアボタンの表示位置を変更してもよい。
【００６６】
システムモジュール２１１は、その機能モジュールとして表示処理部２１２、変更部２１３および制御部２１４を備え得る。
【００６７】
表示処理部２１２は、アクティブ状態のアプリケーションプログラムのコンテンツが表示される表示領域５１と表示領域５１の下のバー５２とを含む上述の画面をタッチスクリーンディスプレイ１７上に表示する。さらに、表示処理部２１２は、バー５２上に上述のソフトウェアボタン群（戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃ）を表示する。
【００６８】
変更部２１３は、画面の表示領域５１上への手書き入力が可能なように構成された特定のアプリケーションプログラム（ここでは、手書きノートアプリケーションプログラム２０２）のアクティブ状態への遷移（フォアグラウンドへの移行）の検出に応答して、バー５２上のソフトウェアボタン群の表示場所をデフォルトの表示場所の右側または左側のいずれか一方に変更する。さらに、変更部２１３は、手書きノートアプリケーションプログラム２０２のインアクティブ状態への遷移（バックグラウンドへの移行）の検出に応答してバー５２上のソフトウェアボタン群の表示場所をデフォルトの表示場所に戻す。
【００６９】
制御部２１４は、現在表示中の画面のイメージをメモとして容易に残せるようにするためのメモ機能を実現するためのモジュールである。この制御部２１４は、必ずしもシステムモジュール２１１内にある必要は無い。制御部２１４は、例えば、一つのサービスプログラムとして実現されていてもよい。制御部２１４は、ユーザによって行われる特定の操作が検出された際に、現在表示中の画面のイメージをキャプチャすると共に、手書きノートアプリケーションプログラム２０２をアクティブにする。手書きノートアプリケーションプログラム２０２は、キャプチャされるイメージを、手書きストロークをこのイメージ上に描画可能な上述のページ編集画面上に表示する。これにより、ユーザは現在表示中の画面（キャプチャされたイメージ）上にペン１０で手書き入力することができる。
【００７０】
次に、手書きノートアプリケーションプログラム２０２によってユーザに提示される幾つかの代表的な画面の例を説明する。
【００７１】
図１２は、手書きノートアプリケーションプログラム２０２によって表示されるデスクトップ画面を示す。デスクトップ画面は複数の手書き文書データを扱うための基本画面である。以下では、手書き文書データを手書きノートと称する。
【００７２】
デスクトップ画面は、デスクトップ画面領域７０とドロア画面領域７１とを含む。デスクトップ画面領域７０は作業中の複数の手書きノートに対応する複数のノートアイコン８０１〜８０５を表示するテンポラリ領域である。ノートアイコン８０１〜８０５の各々は、対応する手書きノート内のあるページのサムネイルを表示する。デスクトップ画面領域７０は、さらに、ペンアイコン７７１、カレンダーアイコン７７２、スクラップノート（ギャラリー）アイコン７７３、タグ（ラベル）アイコン７７４を表示する。
【００７３】
ペンアイコン７７１は、表示画面をデスクトップ画面からページ編集画面に切り替えるためのグラフィカルユーザインタフェース（ＧＵＩ）である。カレンダーアイコン７７２は現在の日付を示すアイコンである。スクラップノートアイコン７７３は、他のアプリケーションプログラムからまたは外部ファイルから取り込んだデータ（スクラップデータまたはギャラリーデータと称する）を閲覧するためのＧＵＩである。タグアイコン７７４は、任意の手書きノート内の任意のページにラベル（タグ）を貼り付けるためのＧＵＩである。
【００７４】
ドロア画面領域７１は、作成済みの全ての手書きノートを格納するためのストレージ領域を閲覧するための表示領域である。ドロア画面領域７１は、全ての手書きノート内の幾つかの手書きノートに対応するノートアイコン８０Ａ，８０Ｂ，８０Ｃを表示する。ノートアイコン８０Ａ，８０Ｂ，８０Ｃの各々は、対応する手書きノート内のあるページのサムネイルを表示する。手書きノートアプリケーションプログラム２０２は、ペン１００または指を使用してユーザによって行われるドロア画面領域７１上のジェスチャ（例えばスワイプジェスチャ等）を検出することができる。このジェスチャ（例えばスワイプジェスチャ等）の検出に応答して、手書きノートアプリケーションプログラム２０２は、ドロア画面領域７１上の画面イメージを左方向または右方向にスクロールする。これにより、ドロア画面領域７１に任意の手書きノートそれぞれに対応するノートアイコンを表示することができる。
【００７５】
さらに、手書きノートアプリケーションプログラム２０２は、ペン１００または指を使用してユーザによって行われるドロア画面領域７１のノートアイコン上のジェスチャ（例えばタップジェスチャ等）を検出することができる。ドロア画面領域７１上のあるノートアイコン上のジェスチャ（例えばタップジェスチャ等）の検出に応答して、手書きノートアプリケーションプログラム２０２は、このノートアイコンをデスクトップ画面領域７０の中央部に移動する。そして、手書きノートアプリケーションプログラム２０２は、このノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図１４に示すノートプレビュー画面を表示する。図１４のノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。
【００７６】
さらに、手書きノートアプリケーションプログラム２０２は、ペン１００または指を使用してユーザによって行われるデスクトップ画面領域７０上のジェスチャ（例えばタップジェスチャ等）も検出することができる。デスクトップ画面領域７０の中央部に位置するノートアイコン上のジェスチャ（例えばタップジェスチャ等）の検出に応答して、手書きノートアプリケーションプログラム２０２は、中央部に位置するノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図１４に示すノートプレビュー画面を表示する。
【００７７】
さらに、デスクトップ画面はメニューを表示することができる。このメニューは、リストノートボタン８１Ａ、ノート追加ボタン８１Ｂ、ノート削除ボタン８１Ｃ、検索ボタン８１Ｄ、設定ボタン８１Ｅを備える。リストノートボタン８１Ａは手書きノートの一覧を表示するためのボタンである。ノート追加ボタン８１Ｂは、新しい手書きノートを作成（追加）するためのボタンである。ノート削除ボタン８１Ｃは手書きノートを削除するためのボタンである。検索ボタン８１Ｄは検索画面（検索ダイアログ）を開くためのボタンである。設定ボタン８１Ｅは設定画面を開くためのボタンである。
【００７８】
バー５２においては、戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃが表示される。ユーザの操作によってソフトウェアボタン群の表示位置が左に予め設定されている場合には、図１２に示されているように、戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃはデフォルトの表示場所の左側、つまりバー５２の左部分に表示される。
【００７９】
図１３は、設定ボタン８１Ｅがペン１００または指でタップされた際に開かれる設定画面を示す。  
この設定画面は様々な設定項目を表示する。これら設定項目には、「バーの設定」が含まれる。設定項目「バーの設定」に対応するボタン９０がペン１００または指でタップされると、図１０で説明したボタン表示位置設定画面が表示される。
【００８０】
図１４は上述のノートプレビュー画面を示す。  
ノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。ここでは、ノートアイコン８０１に対応する手書きノートが選択された場合を想定する。この場合、手書きノートアプリケーションプログラム２０２は、この手書きノートに含まれる複数のページ９０１，９０２，９０３，９０４，９０５を、これらページ９０１，９０２，９０３，９０４，９０５それぞれの少なくとも一部分が視認可能で且つこれらページ９０１，９０２，９０３，９０４，９０５が重なった形態で表示する。
【００８１】
ノートプレビュー画面は、さらに、上述のペンアイコン７７１、カレンダーアイコン７７２、スクラップノートアイコン７７３、タグアイコン７７４を表示する。
【００８２】
ノートプレビュー画面は、さらに、メニューを表示することができる。このメニューは、デスクトップボタン８２Ａ、リストページボタン８２Ｂ、ページ追加ボタン８２Ｃ、編集ボタン８２Ｄ、ページ削除ボタン８２Ｅ、ラベルボタン８２Ｆ、および検索ボタン８２Ｇを備える。デスクトップボタン８２Ａは、デスクトップ画面を表示するためのボタンである。リストページボタン８２Ｂは、現在選択されている手書きノート内のページの一覧を表示するためのボタンである。ページ追加ボタン８２Ｃは、新しいページを作成（追加）するためのボタンである。編集ボタン８２Ｄはページ編集画面を表示するためのボタンである。ページ削除ボタン８２Ｅは、ページを削除するためのボタンである。ラベルボタン８２Ｆは、使用可能なラベルの種類の一覧を表示するためのボタンである。検索ボタン８２Ｇは検索画面を表示するためのボタンである。
【００８３】
バー５２においては、戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃが表示される。ユーザの操作によってソフトウェアボタン群の表示位置が左に予め設定されている場合には、図１４に示されているように、戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃはデフォルトの表示場所の左側、つまりバー５２の左部分に表示される。
【００８４】
手書きノートアプリケーションプログラム２０２はユーザによって行われるノートプレビュー画面上の様々なジェスチャを検出することができる。例えば、あるジェスチャの検出に応答して、手書きノートアプリケーションプログラム２０２は、一番上に表示されるべきページを任意のページに変更する（ページ送り、ページ戻し）。また、一番上のページ上で行われるあるジェスチャ（例えばタップジェスチャ）の検出に応答して、またはペンアイコン７７１上で行われるあるジェスチャ（例えばタップジェスチャ）の検出に応答して、あるいは編集ボタン８２Ｄ上で行われるあるジェスチャ（例えばタップジェスチャ）の検出に応答して、手書きノートアプリケーションプログラム２０２は、一番上のページを選択し、そしてノートプレビュー画面の代わりに、図１５に示すページ編集画面を表示する。
【００８５】
図１５のページ編集画面は、ページ（手書きページ）の新規作成、および既存のページの閲覧および編集が可能な画面である。図１４のノートプレビュー画面上のページ９０１が選択された場合には、図１５に示すように、ページ編集画面は、ページ９０１の内容を表示する。
【００８６】
このページ編集画面において、破線で囲まれた矩形の領域５００は手書き入力可能な手書き入力エリアである。手書き入力エリア５００においては、デジタイザ１７Ｃからの入力イベントは手書きストロークの表示（描画）のために使用され、タップ等のジェスチャを示すイベントとしては使用されない。一方、ページ編集画面において、手書き入力エリア５００以外の領域においては、デジタイザ１７Ｃからの入力イベントはタップ等のジェスチャを示すイベントとしても使用され得る。
【００８７】
タッチパネル１７Ｂからの入力イベントは、手書きストロークの表示（描画）には使用されず、タップ、スワイプ等のジェスチャを示すイベントとして使用される。
【００８８】
ページ編集画面は、さらに、ユーザによって予め登録された３種類のペン５０１〜５０３と、範囲選択ペン５０４、消しゴムペン５０５とを含むクイックセレクトメニューを表示する。ここでは、黒ペン５０１、赤ペン５０２、マーカー５０３がユーザによって予め登録されている場合が想定されている。ユーザは、ペン１００または指でクイックセレクトメニュー内のあるペン（ボタン）をタップすることにより、使用するペンの種類を切り替えることが出来る。例えば、黒ペン５０１がユーザによるペン１００または指を使用したタップジェスチャによって選択された状態で、ペン１００を用いた手書き入力操作がページ編集画面上で行われると、手書きノートアプリケーションプログラム２０２は、ペン１００の動きに合わせて黒色のストローク（軌跡）をページ編集画面上に表示する。
【００８９】
クイックセレクトメニュー内の上述の３種類のペンは、ペン１００のサイドボタンの操作によっても切り替えることが出来る。クイックセレクトメニュー内の上述の３種類のペンの各々には、よく使うペンの色やペンの太さの組み合わせを設定することができる。
【００９０】
ページ編集画面は、さらに、メニューボタン５１１、ページ戻しボタン５１２、ページ送りボタン５１３を表示する。メニューボタン５１１はメニューを表示するためのボタンである。
【００９１】
このメニューは、例えば、ノートプレビュー画面に戻るためのボタン、新規ページを追加するためのボタン、検索画面を開くための検索ボタンをそなえていてもよい。さらに、このメニューは、エクスポートまたはインポートのためのサブメニューを備えていても良い。エクスポートのためのサブメニューとしては、ページ編集画面上に表示されている手書きページを認識して電子文書ファイル、プレゼンテーションファイル等に変換する機能をユーザに選択させるためのメニューを使用しても良い。
【００９２】
さらに、メニューは、手書きページをテキストに変換して電子メールによって送信する処理を起動するためのボタンを備えていても良い。またさらに、メニューは、クイックセレクトメニュー内の３種類のペンの各々の色（描画される線の色）および太さ（描画される線の太さ）を変更可能なペン設定画面を呼び出すためのボタンを備えていても良い。
【００９３】
バー５２においては、戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃが表示される。ユーザの操作によってソフトウェアボタン群の表示位置が左に予め設定されている場合には、図１５に示されているように、戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃはデフォルトの表示場所の左側、つまりバー５２の左部分に表示される。
【００９４】
図１６は、検索画面（検索ダイアログ）の例を示す。図１６では、ノートプレビュー画面上に検索画面（検索ダイアログ）が開かれた場合が想定されている。
【００９５】
検索画面は、検索キー入力領域５３０、筆跡検索ボタン５３１、テキスト検索ボタン５３２、デリートボタン５３３、検索実行ボタン５３４を表示する。筆跡検索ボタン５３１は筆跡検索を選択するためのボタンである。テキスト検索ボタン５３２はテキスト検索を選択するためのボタンである。検索実行ボタン５３４は、検索処理の実行を要求するためのボタンである。
【００９６】
筆跡検索においては、検索キー入力領域５３０は、検索キーとすべき文字列、図形、表などを手書きするための入力領域として使用される。図１６においては、検索キー入力領域５３０に手書き文字列「Ｄｅｔｅｒｍｉｎｅ」が検索キーとして入力された場合が例示されている。ユーザは、手書き文字列に限らず、手書き図形、手書き表などを検索キー入力領域５３０にペン１００で手書きすることができる。検索キー入力領域５３０に手書き文字列「Ｄｅｔｅｒｍｉｎｅ」が検索キーとして入力された状態で検索実行ボタン４３４がユーザによって選択されると、手書き文字列「Ｄｅｔｅｒｍｉｎｅ」のストローク群（クエリーストローク群）を用いて、このクエリーストローク群に対応するストローク群を含む手書きノートを検索するための筆跡検索が実行される。筆跡検索では、ストローク間のマッチングによって、クエリーストローク群に類似するストローク群が検索される。クエリーストローク群とある別のストローク群との間の類似度の算出においては、ＤＰ（Dynamic Programming）マッチングを使用してもよい。
【００９７】
テキスト検索においては、例えばソフトウェアキーボードが画面上に表示される。ユーザは、ソフトウェアキーボードを操作することによって任意のテキスト（文字列）を検索キーとして検索キー入力領域５３０に入力することができる。検索キー入力領域５３０にテキストが検索キーとして入力された状態で検索実行ボタン５３４がユーザによって選択されると、このテキスト（クエリーテキスト）に対応するストロークデータ群を含む手書きノートを検索するためのテキスト検索が実行される。
【００９８】
筆跡検索／テキスト検索は、全ての手書きノートを対象に実行することも出来るし、選択された手書きノートのみを対象に実行することも出来る。筆跡検索／テキスト検索が実行されると、検索結果画面が表示される。検索結果画面においては、クエリーストローク群（またはクエリーテキスト）に対応するストローク群を含む手書きページの一覧が表示される。ヒットワード（クエリーストローク群またはクエリーテキストに対応するストローク群）は強調表示される。
【００９９】
次に、図１７および図１８を参照して、上述のメモ機能について説明する。  
図１７は、手書きノートアプリケーションプログラム２０２以外の他のアプリケーションプログラムに対応する画面を示す。ここでは、他のアプリケーションプログラムがブラウザ（Ｗｅｂブラウザ）である場合を想定する。ＷｅｂブラウザはＷｅｂページのようなコンテンツを画面上の表示領域５１に表示する。バー５２においては、ソフトウェアボタン（戻るボタン５２Ａ、ホームボタン５２Ｂ、またはリーセントアプリケーションボタン５２Ｃ）はデフォルトの表示場所（ここではバー５２の中央部）に表示される。さらに、バー５２においては、メモボタン５２Ｄも表示される。メモボタン５２Ｄは、上述のメモ機能を実行するためのボタンである。
【０１００】
ペン１００または指によるメモボタン５２Ｄ上のジェスチャ（タップジェスチャ）が検出されると、上述の制御部２１４は、表示領域５１上のコンテンツに対応するイメージをキャプチャする。そして、制御部２１４は、手書きノートアプリケーションプログラム２０２を呼び出して手書きノートアプリケーションプログラム２０２をアクティブにする。手書きノートアプリケーションプログラム２０２は、ページ編集画面（メモ画面）を開き、制御部２１４から受信されるキャプチャされたイメージをページ編集画面（メモ画面）上に表示する。
【０１０１】
このメモ画面の例を図１８に示す。  
バー５２においては、３つのソフトウェアボタン（戻るボタン５２Ａ、ホームボタン５２Ｂ、リーセントアプリケーションボタン５２Ｃ）の表示場所が自動的に変更される。さらに、メモボタン５２Ｄはバー５２上から削除される。
【０１０２】
メモ画面においては、キャプチャされたイメージ（Ｗｅｂページの画面イメージ）が表示領域５１上に表示される。さらに、黒ペンボタン５０１、赤ペンボタン５０２、マーカーボタン５０３、選択ボタン５０４、および消しゴムボタン５０５も表示される。表示領域５１においては、キャプチャされたイメージ上に透明のレイヤ（手書きレイヤ）が設定される。ユーザによって手書きされる各ストロークは手書きレイヤ上に描画され、これによってＷｅｂページの画面イメージ上に各ストローク（各ストロークの軌跡）が表示される。ソフトウェアボタン群の表示場所は既に変更されているので、意図しないタッチ操作の発生を防止することが出来る。
【０１０３】
メモ画面は、さらに、メニューを表示することが出来る。このメニューは、キャンセルボタン８３Ａ、保存ボタン８３Ｂ、およびギャラリーボタン８３Ｃを備える。キャンセルボタン８３Ａは、メモの作成をキャンセルして元の画面（ここではＷｅｂページの画面）に戻るためのボタンである。保存ボタン８３Ｂは、メモ（メモ画面の内容）を保存して元の画面（ここではＷｅｂページの画面）に戻るためのボタンである。保存ボタン８３Ｂがタップされると、手書きノートアプリケーションプログラム２０２は、キャプチャされたイメージに対応するイメージデータとこのキャプチャされたイメージ上の１以上の手書きストロークに対応する１以上のストロークデータとを含む手書きページデータを生成し、この手書きページデータをギャラリーデータとして記憶媒体に保存する。なお、メモ画面の画面イメージをギャラリーデータとして記憶媒体に保存してもよい。ギャラリーボタン８３Ｃはメモ（メモ画面の内容）を保存してギャラリーデータの一覧を開くためのボタンである。
【０１０４】
次に、図１９を参照して、手書きノートアプリケーションプログラム２０２の機能構成について説明する。
【０１０５】
手書きノートアプリケーションプログラム２０２は、手書き文書データを扱うことが可能なＷＹＳＩＷＹＧアプリケーションである。この手書きノートアプリケーションプログラム２０２は、例えば、ペン設定部３００Ａ、バー設定部３００Ｂ、制御部３００Ｃ、表示処理部３０１、時系列情報生成部３０２、検索／認識部３０３、ページ保存処理部３０６、ページ取得処理部３０７、およびインポート部３０８等を備える。
【０１０６】
上述したタッチパネル１７Ｂは、「タッチ（接触）」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ（接触）」は、画面上にオブジェクト（指）が接触したことを示すイベントである。「移動（スライド）」は、画面上にオブジェクト（指）が接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からオブジェクト（指）が離されたことを示すイベントである。
【０１０７】
上述したデジタイザ１７Ｃも、「タッチ（接触）」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ（接触）」は、画面上にオブジェクト（ペン１００）が接触したことを示すイベントである。「移動（スライド）」は、画面上にオブジェクト（ペン１００）が接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からオブジェクト（ペン１００）が離されたことを示すイベントである。
【０１０８】
手書きノートアプリケーションプログラム２０２は手書きページデータの作成、閲覧、編集を行うためのページ編集画面をタッチスクリーンディスプレイ１７上に表示する。ペン設定部３００Ａは、ユーザインタフェース（例えば、上述の複数のペンアイコン、またはペンスタイルの詳細を設定するためのメニュー画面、等）を表示し、ユーザによって行われるこのユーザインタフェースの操作に応じてストロークの描画の形態を設定する。
【０１０９】
バー設定部３００Ｂは、図１０で説明したボタン表示位置設定画面を表示し、ユーザによって行われるボタン表示位置設定画面上の操作に応じてＯＳ２０１のソフトウェアボタン群の表示位置を設定する。制御部３００ＣはＯＳ２０１内のシステムモジュール２１１との通信を行う。
【０１１０】
表示処理部３０１および時系列情報生成部３０２は、デジタイザ１７Ｃによって発生される「タッチ（接触）」、「移動（スライド）」または「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ（接触）」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントには、移動先の接触位置の座標が含まれている。したがって、表示処理部３０１および時系列情報生成部３０２は、デジタイザ１７Ｃから接触位置の動きの軌跡に対応する座標列を受信することができる。
【０１１１】
表示処理部３０１は、デジタイザ１７Ｃを用いて検出される画面上のオブジェクト（ペン１００）の動きに応じて手書きストロークを画面上に表示する。この表示処理部３０１により、画面にペン１００が接触している間のペン１００の軌跡、つまり各ストロークの軌跡がページ編集画面上に表示される。さらに、表示処理部３０１は、インポート部３０８によって外部アプリケーション／外部ファイルからインポートされる様々なコンテンツデータ（画像データ、音声データ、テキストデータ、ドロー系アプリケーションによって作成されたデータ）をページ編集画面上に表示することができる。
【０１１２】
時系列情報生成部３０２は、デジタイザ１７Ｃから出力される上述の座標列を受信し、この座標列に基づいて、図４で詳述したような構造を有する時系列情報（座標データ系列）を含む手書きデータを生成する。時系列情報生成部３０２は、生成された手書きデータを作業メモリ４０１に一時保存する。
【０１１３】
検索／認識部３０３は、手書きページデータ中の手書き文字列をテキスト（文字コード列）に変換する筆跡認識処理、手書きページデータ中の画像内に含まれる文字列をテキスト（文字コード列）に変換する文字認識処理（ＯＣＲ）を実行する。さらに、検索／認識部３０３は、上述の筆跡検索およびテキスト検索を実行することができる。
【０１１４】
ページ保存処理部３０６は、作成中の手書きページ上の複数の手書きストロークに対応する複数のストロークデータを含む手書きページデータを記憶媒体４０２に保存する。記憶媒体４０２は、例えば、タブレットコンピュータ１０内のストレージデバイスであってもよいし、サーバコンピュータ２のストレージデバイスであってもよい。
【０１１５】
ページ取得処理部３０７は、記憶媒体４０２から任意の手書きページデータを取得する。この取得された手書きページデータは表示処理部３０１に送られる。表示処理部３０１は、手書きページデータに含まれる複数のストロークデータに対応する複数のストロークを画面上に表示する。
【０１１６】
図２０のフローチャートは、システムモジュール２１１によって実行されるソフトウェアボタン表示制御処理の手順を示す。  
ここでは、ソフトウェアボタン群の表示位置（左または右）を示すユーザ設定値が手書きノートアプリケーションプログラム２０２によってシステム記憶領域に既に格納されている場合を想定する。
【０１１７】
システムモジュール２１１は、手書きノートアプリケーションプログラム２０２がアクティブであるか否か、つまり手書きノートアプリケーションプログラム２０２がフォアグラウンドに移行したか（手書きノートアプリケーションプログラム２０２の起動を含む）否かを判定する（ステップＳ１１）。手書きノートアプリケーションプログラム２０２がアクティブであるならば、つまり手書きノートアプリケーションプログラム２０２がフォアグラウンドに移行したならば、システムモジュール２１１は、バー５２上のソフトウェアボタン群の表示場所をデフォルトの表示場所の右側または左側に変更する（ステップＳ１２）。
【０１１８】
この後、システムモジュール２１１は、手書きノートアプリケーションプログラム２０２がインアクティブであるか否か、つまり手書きノートアプリケーションプログラム２０２がバックグラウンドに移行したか否かを判定する（ステップＳ１３）。手書きノートアプリケーションプログラム２０２がインアクティブであるならば、つまり他のアプリケーションプログラムがアクティブであるならば、システムモジュール２１１は、バー５２上のソフトウェアボタン群の表示場所をデフォルトの表示場所に戻す（ステップＳ１４）。
【０１１９】
図２１のフローチャートは、上述のメモボタン５２Ｄの操作に応答して実行される一連の処理の手順を示す。  
ペン１００または指によってメモボタン５２Ｄがタップされると（ステップＳ２１のＹＥＳ）、システムモジュール２１１の制御部２１４は、表示領域５１上に現在表示されているコンテンツに対応するイメージをキャプチャする（ステップＳ２２）。ステップＳ２２では、表示領域５１上の画面イメージに相当するスナップショットが、現在表示されているコンテンツに対応するイメージとして生成される。
【０１２０】
そして、システムモジュール２１１の制御部２１４は、手書きノートアプリケーションプログラム２０２を呼び出して手書きノートアプリケーションプログラム２０２をアクティブにする（ステップＳ２３）。手書きノートアプリケーションプログラム２０２は、ページ編集画面（メモ画面）を開き、制御部２１４から受信されるキャプチャされたイメージを、このイメージ上に手書き入力が可能なメモ画面の表示領域上に表示する（ステップＳ２４）。システムモジュール２１１の変更部２１３は、手書きノートアプリケーションプログラム２０２がアクティブになったことを検出し、バー５２上のソフトウェアボタン群の表示場所をデフォルトの表示場所の右側または左側に変更する（ステップＳ２５）。ステップＳ２５では、変更部２１３は、さらに、メモボタン５２Ｄを非表示にする。
【０１２１】
以上説明したように、本実施形態においては、画面の表示領域上に手書き入力が可能なアプリケーションプログラム（ここでは、手書きノートアプリケーションプログラム２０２）がアクティブである場合、バー６２上のソフトウェアボタン群の表示場所がデフォルトの表示場所の右側または左側のいずれか一方に自動的に変更される。したがって、ソフトウェアボタン群に割り当てられた機能を無効にすること無く、手書き入力操作中の意図しないタッチ操作の発生を抑制することが出来る。
【０１２２】
なお、バー６２上に、接触に反応しないステータス表示用のアイコン等が表示される場合もある。このステータス表示用のアイコンの表示位置は必ずしも変更しなくても良い。
【０１２３】
なお、本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１２４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【要約】
実施形態によれば、電子機器は、コンテンツを表示するための表示領域と前記表示領域の下のバーとを含む画面であって、オペレーティングシステムの１以上の第１ソフトウェアボタンが前記バー上の第１の場所に表示される画面を、タッチスクリーンディスプレイ上に表示する。前記電子機器は、前記画面の表示領域上への手書き入力が可能なように構成された第１のアプリケーションプログラムのアクティブ状態への遷移の検出に応答して、前記バー上の前記第１ソフトウェアボタンの表示場所を前記第１の場所の右側または左側のいずれか一方に変更する。【図１】
0005634617.tif 000002
【図２】
0005634617.tif 000003
【図３】
0005634617.tif 000004
【図４】
0005634617.tif 000005
【図５】
0005634617.tif 000006
【図６】
0005634617.tif 000007
【図７】
0005634617.tif 000008
【図８】
0005634617.tif 000009
【図９】
0005634617.tif 000010
【図１０】
0005634617.tif 000011
【図１１】
0005634617.tif 000012
【図１２】
0005634617.tif 000013
【図１３】
0005634617.tif 000014
【図１４】
0005634617.tif 000015
【図１５】
0005634617.tif 000016
【図１６】
0005634617.tif 000017
【図１７】
0005634617.tif 000018
【図１８】
0005634617.tif 000019
【図１９】
0005634617.tif 000020
【図２０】
0005634617.tif 000021
【図２１】
0005634617.tif 000022