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