(57)【要約】【課題】アナログな媒体に書かれた文書をデジタル情報として容易に入力することができる情報処理装置、情報処理方法及びプログラムを提供すること。【解決手段】実施形態によれば、情報処理装置は、１つの記号と１以上のストロークデータとの対応を表すグループを複数記憶する第１記憶媒体にアクセス可能であって、画像を入力する入力手段と、処理手段とを具備する。処理手段は、入力手段により入力された画像の部分である部分画像と、第１グループに含まれる第１記号又は第１ストロークデータから生成可能な第１画像とが対応する場合に、部分画像と第１ストロークデータとを関連付ける。【選択図】図８
2014106881.tif 000002
【特許請求の範囲】
【請求項１】
１つの記号と１以上のストロークデータとの対応を表すグループを複数記憶する第１記憶媒体にアクセス可能な情報処理装置であって、
画像を入力する入力手段と、
前記入力手段により入力された画像の部分である部分画像と、第１グループに含まれる第１記号又は第１ストロークデータから生成可能な第１画像とが対応する場合に、前記部分画像と前記第１ストロークデータとを関連付ける処理手段と、
を具備する情報処理装置。
【請求項２】
前記部分画像は、前記入力手段により入力された画像から抽出された文字候補領域であり、
前記処理手段は、前記文字候補領域の画像と前記第１画像とが類似する度合いに基づいて前記文字候補領域の画像と前記第１画像とが対応していることを検出する請求項１記載の情報処理装置。
【請求項３】
前記部分画像と前記第１画像とが対応しない場合に、前記部分画像に対応する１以上のストロークデータを書き込むことを促すメッセージを発する発生手段をさらに具備する請求項１記載の情報処理装置。
【請求項４】
タッチスクリーンディスプレイと、
前記タッチスクリーンディスプレイ上で行われる手書き入力操作によって手書きされる１つの記号に対応する１以上のストロークデータを前記第１記憶媒体に保存する保存手段と、
をさらに具備する請求項３記載の情報処理装置。
【請求項５】
１以上のストロークデータと、該１以上のストロークデータに対応する記号の文字コードとを複数記憶する第２記憶媒体から、前記部分画像に関連付けられた文字コードを読み出す決定手段をさらに具備する請求項１記載の情報処理装置。
【請求項６】
タッチスクリーンディスプレイと、
前記タッチスクリーンディスプレイ上で行われる手書き入力操作によって手書きされる１以上のストロークデータを生成する生成手段と、
前記生成手段により生成された１以上のストロークデータを文字認識して、手書き記号を文字コードに変換する認識手段と、
前記認識手段の変換結果を前記第２記憶媒体に保存する保存手段と、
をさらに具備する請求項５記載の情報処理装置。
【請求項７】
前記入力手段はカメラとスキャナの何れかであり、画像のビットマップデータを入力する請求項１乃至請求項６のいずれか一項記載の情報処理装置。
【請求項８】
１つの記号と１以上のストロークデータとの対応を表すグループを複数記憶する記憶媒体を用いる情報処理方法であって、
画像を入力することと、
前記入力された画像の部分である部分画像と、第１グループに含まれる第１記号又は第１ストロークデータから生成可能な第１画像とが対応する場合に、前記部分画像と前記第１ストロークデータとを関連付けることと、
を具備する情報処理方法。
【請求項９】
コンピュータにより実行されるプログラムであって、前記プログラムは
１つの記号と１以上のストロークデータとの対応を表すグループを複数記憶する記憶媒体にアクセス可能であり、
画像を入力し、
前記入力された画像の部分である部分画像と、第１グループに含まれる第１記号又は第１ストロークデータから生成可能な第１画像とが対応する場合に、前記部分画像と前記第１ストロークデータとを関連付けるものであるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は手書きの文書の処理に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の情報処理装置が開発されている。この種の情報処理装置の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
【０００３】
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連づけられた機能の実行を情報処理装置に指示することができる。
【０００４】
しかし、タッチスクリーンディスプレイを備える既存の情報処理装置の多くは、画像、音楽、他の各種メディアデータに対する操作性を追求したコンシューマ向け製品であり、会議、商談、商品開発などの文書情報を処理する必要があるビジネスシーンにおける利用については必ずしも適していない場合がある。文字入力に関しては、ハードウェアキーボードを用いる操作の方がタッチ操作に優る。このため、ビジネスシーンにおいては、いまなお、紙の手帳が広く利用されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１３８６７８号公報
【特許文献２】特開２００２−２３０４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の情報処理装置は、紙等のアナログな媒体に書かれた文書をデジタル情報として容易に入力することが困難であった。
【０００７】
本発明の一形態の目的は、アナログな媒体に書かれた文書をデジタル情報として容易に入力することができる情報処理装置、情報処理方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
実施形態によれば、情報処理装置は、１つの記号と１以上のストロークデータとの対応を表すグループを複数記憶する記憶媒体にアクセス可能な情報処理装置であって、画像を入力する入力手段と、処理手段とを具備する。処理手段は、入力手段により入力された画像の部分である部分画像と、第１グループに含まれる第１記号又は第１ストロークデータから生成可能な第１画像とが対応する場合に、部分画像と第１ストロークデータとを関連付ける。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報処理装置の外観を示す斜視図。
【図２】実施形態の情報処理装置のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。
【図３】実施形態の情報処理装置によって記憶媒体に保存される、図２の手書き文書に対応する時系列情報（手書きページデータ）を説明するための図。
【図４】実施形態の情報処理装置のシステム構成を示すブロック図。
【図５】実施形態の情報処理装置によって実行される手書きノートアプリケーションプログラムの機能構成を示すブロック図。
【図６】実施形態の情報処理装置によって実行される手書き入力処理の流れを示す図。
【図７】図６の手書き入力操作により得られたコード／ストローク対応表の一例を示す図。
【図８】実施形態の情報処理装置によって実行される文書画像入力処理の流れを示す図。
【図９】文書画像の一例を示す図。
【図１０】図８の文書画像入力処理の一部である画像照合の一例を模式的に示す図。
【図１１】図８の文書画像入力処理で画像照合が出来ない場合のユーザインターフェースの一例を示す図。
【発明を実施するための形態】
【００１０】
図１は、一実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置は、例えば、ペンまたは指によって文書を手書き入力可能な入力部を有するペン・ベースの携帯型情報処理装置である。この情報処理装置は、入力部に手書きされた文書をビットマップ画像データとしてではなく、文書を構成する文字、数字、マーク、図形等の記号や、図形のストロークの軌跡のサンプリング点の座標の時系列を示す１以上のストロークデータストロークとして記憶し、ストロークデータに基づいて手書き文書を検索することができる。このように、情報処理装置は、ストロークデータと記号（ビットマップ画像、筆跡）との対応関係を認識している。この情報処理装置は、この対応関係に基づいてストロークデータからビットマップ画像を生成することができるので、スキャナあるいはカメラ等から入力した文書画像の一部（文字候補領域）とストロークデータとを対応付けることができる。これにより、情報処理装置は、過去に紙のノートに書いた文書をストロークデータとして取り込むことができる。
【００１１】
さらに、この情報処理装置は、ストロークデータの一部（１記号領域に対応する一部の情報）で表されるビットマップ画像に対して文字認識処理を行ない、手書き文書を文字コードからなるテキストとしても記憶し、テキストに基づいて手書き文書を検索することもできる。このように、情報処理装置は、１以上のストロークデータと文字コードとの対応関係を認識している。この情報処理装置は、この対応関係に基づいて各文字コードに対応するストロークデータの一部からビットマップ画像を生成することができるので、スキャナあるいはカメラ等から入力した文書画像の一部（文字候補領域）の文字コードを求めることができる。これにより、この情報処理装置は、過去に紙のノートに書いた文書をデジタルテキストとして取り込むこともできる。
【００１２】
この情報処理装置は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、説明の便宜上、この情報処理装置がタブレットコンピュータ１０として実現されている場合を説明する。タブレットコンピュータ１０は、タブレットまたはスレートコンピュータとも称される携帯型情報処理装置であり、本体１１と、文書の手書き入力を可能とするタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。ペンまたは指によってタッチスクリーンディスプレイ１７の画面をタッチすることにより、種々の操作を入力可能である。本体１１の背面には文書の画像を取り込むカメラが設けられている。このカメラにより画像を取り込むことにより、紙に印刷・手書きされている文書に限らず、立体物に印刷・手書きされている文書等の種々のアナログ媒体に書かれた文書の画像を取り込むことができる。
【００１３】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を説明する。
【００１４】
デジタイザおよびタッチパネルタッチの各々は、フラットパネルディスプレイの画面を覆うように設けられる。タッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、専用のペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えば電磁誘導ペンであってもよい。ユーザは、外部オブジェクト（ペン１００又は指）を使用してタッチスクリーンディスプレイ１７上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト（ペン１００又は指）の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が１ストロークに相当する。手書きされたストロークの集合である文字、数字、マーク等の記号、または図形等の集合が手書き文書を構成する。
【００１５】
手書き文書は、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報として記憶媒体に記憶される。この時系列情報の詳細は、図２、図３を参照して後述するが、この時系列情報は、複数のストロークが手書きされた順を示し、且つ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、この時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
【００１６】
タブレットコンピュータ１０は、記憶媒体から既存の任意の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークそれぞれに対応する軌跡を画面上に表示することができる。さらに、タブレットコンピュータ１０は編集機能を有している。この編集機能は、「消しゴム」ツール、範囲指定ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、表示中の手書き文書内の任意のストロークまたは任意の手書き文字等を削除または移動することができる。さらに、この編集機能は、幾つかの手書き操作の履歴を取り消す機能も含んでいる。さらに、この編集機能は、表示中の手書き文書に、任意の手書き文字または手書き記号などを追加することができる。
【００１７】
本実施形態では、時系列情報（手書き文書）は、１つまたは複数のページとして管理されうる。この場合、時系列情報を１つの画面に収まる面積単位で区切ることによって、１つの画面に収まる時系列情報のまとまりを１つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは１つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。１つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
【００１８】
このように、時系列情報はページデータとして管理することができるので、以下では、時系列情報を手書きページデータあるいは単に手書きデータとも称する。
【００１９】
タブレットコンピュータ１０は、ネットワーク通信機能を有しており、他のパーソナルコンピュータやインターネット上のサーバシステム２などと連携することができる。すなわち、タブレットコンピュータ１０は、無線ＬＡＮなどの無線通信デバイスを備えており、他のパーソナルコンピュータとの無線通信を実行することができる。さらに、タブレットコンピュータ１０は、インターネット上のサーバシステム２との通信を実行することもできる。サーバシステム２は様々な情報を共有するためのシステムであり、オンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行する。サーバシステム２は１以上のサーバコンピュータから実現し得る。
【００２０】
サーバシステム２はハードディスクドライブ（ＨＤＤ）のような大容量の記憶媒体を備えている。タブレットコンピュータ１０は、時系列情報（手書きページデータ）をネットワーク越しにサーバシステム２に送信して、サーバシステム２の記憶媒体に格納することができる（アップロード）。タブレットコンピュータ１０とサーバシステム２との間のセキュアな通信を確保するために、通信開始時には、サーバシステム２がタブレットコンピュータ１０を認証するようにしてもよい。この場合、タブレットコンピュータ１０の画面上にユーザに対してＩＤまたはパスワードの入力を促すダイアログを表示してもよいし、タブレットコンピュータ１０のＩＤなどを自動的にタブレットコンピュータ１０からサーバシステム２に送信してもよい。
【００２１】
これにより、タブレットコンピュータ１０内のストレージの容量が少ない場合でも、タブレットコンピュータ１０が多数の時系列情報（手書きページデータ）あるいは大容量の時系列情報（手書きページデータ）を扱うことが可能となる。
【００２２】
さらに、タブレットコンピュータ１０は、サーバシステム２の記憶媒体に格納されている任意の１以上の時系列情報（手書きページデータ）を読み出し（ダウンロード）、その読み出した時系列情報によって示されるストロークそれぞれの軌跡をタブレットコンピュータ１０のディスプレイ１７の画面に表示することができる。この場合、複数の時系列情報（手書きページデータ）それぞれのページを縮小することによって得られるサムネイル（サムネイル画像）の一覧をディスプレイ１７の画面上に表示してもよいし、これらサムネイルから選ばれた１ページをディスプレイ１７の画面上に通常サイズで表示してもよい。
【００２３】
このように、本実施形態では、時系列情報が格納される記憶媒体は、タブレットコンピュータ１０内のストレージ、サーバシステム２内のストレージのいずれであってもよい。タブレットコンピュータ１０のユーザは、任意の時系列情報を、タブレットコンピュータ１０内のストレージおよびサーバシステム２内のストレージから選択される任意のストレージに格納することができる。
【００２４】
次に、図２および図３を参照して、ユーザによって手書きされたストローク（文字、数字、マーク等の記号や、図形、表など）と時系列情報との関係について説明する。図２は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる手書き文書（手書き文字列）の例を示している。
【００２５】
手書き文書では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースが多い。図２においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きされている。
【００２６】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって、つまり２つの軌跡によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標を示すＳＤ２１、ＳＤ２１、…ＳＤ２ｎが得られる。
【００２７】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた手書きされた１つのストローク、つまり１つの軌跡によって表現される。手書きの「矢印」は、ペン１００などを使用して手書きされた手書きされた２つのストローク、つまり２つの軌跡によって表現される。
【００２８】
図３は、図２の手書き文書に対応する時系列情報（手書きページデータ）２００を示している。時系列情報は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べている。
【００２９】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き「矢印」を構成する２つのストロークをそれぞれ示している。
【００３０】
各ストロークデータは、一つのストロークに対応する座標データ系列（時系列座標）、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。外部オブジェクトが画面に接触されている期間中、一定の周期で座標データをサンプリングするので、座標データの数はストロークの長さに依存する。
【００３１】
各座標データは、対応する軌跡内のある１点に対応するＸ座標およびＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）およびＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）およびＹ座標（Ｙ１ｎ）を示す。
【００３２】
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。
【００３３】
このように、各座標データにタイムスタンプ情報Ｔが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。このため、１文字を構成する１つまたは複数のストロークデータからなるグループを文字認識する際の精度も向上しうる。
【００３４】
さらに、各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。グループを文字認識する精度は筆圧も考慮すると、さらに向上しうる。
【００３５】
図３で説明したような構造を有する時系列情報２００は、個々のストロークの軌跡だけでなく、ストローク間の時間的関係も表すことができる。したがって、時系列情報２００を使用することにより、図２に示すようにたとえ手書き「矢印」の先端部が手書き文字「Ａ」上に重ねてまたは手書き文字「Ａ」に近接して書かれたとしても、手書き文字「Ａ」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
【００３６】
なお、ストロークデータＳＤ１のタイムスタンプ情報としては、ストロークデータＳＤ１の内の複数の座標それぞれに対応する複数のタイムスタンプ情報Ｔ１１からＴ１ｎから選択される任意の一つを、あるいはタイムスタンプ情報Ｔ１１からＴ１ｎの平均値などを使用してもよい。同様に、ストロークデータＳＤ２のタイムスタンプ情報としては、ストロークデータＳＤ２の内の複数の座標点それぞれに対応する複数のタイムスタンプ情報Ｔ２１からＴ２ｎから選択される任意の一つを、あるいはタイムスタンプ情報Ｔ２１からＴ２ｎの平均値などを使用してもよい。また、同様に、ストロークデータＳＤ７のタイムスタンプ情報としては、ストロークデータＳＤ７の内の複数の座標点それぞれに対応する複数のタイムスタンプ情報Ｔ７１からＴ７ｎから選択される任意の一つを、あるいはタイムスタンプ情報Ｔ７１からＴ７ｎの平均値などを使用してもよい。
【００３７】
本実施形態の時系列情報２００においては、上述したように、ストロークデータＳＤ１、ＳＤ２、…、ＳＤ７の並びは手書き文字の筆順を示す。例えば、ストロークデータＳＤ１およびＳＤ２の並びは、最初に「∧」形状のストロークが手書きされ、次に「−」形状のストロークが手書きされたことを表す。したがって、たとえ２つの手書き文字の筆跡同士が互いに類似していても、それら２つの手書き文字の筆順が互いに異なる場合には、それら２つの手書き文字を異なる文字として区別することができる。
【００３８】
さらに、本実施形態では、上述したように、手書き文書は複数のストロークに対応する複数のストロークデータの集合から構成される時系列情報２００として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。よって、本実施形態の時系列情報２００の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
【００３９】
図４は、タブレットコンピュータ１０のシステム構成を示す図である。  
タブレットコンピュータ１０は、図４に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０５、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８、カメラ１０９等を備える。
【００４０】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種モジュールの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム（ＯＳ）２０１、および各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、手書きノートアプリケーションプログラム２０２が含まれている。手書きノートアプリケーションプログラム２０２は、上述の手書きページデータを作成および表示する機能、手書きページデータを編集する機能、筆跡（ストローク）検索機能、文字認識機能、文書入力機能等を有している。文書入力機能はスキャナあるいはカメラにより読み込まれた文書画像をストロークデータ、あるいはテキストとして入力する機能であり、詳細は後述する。
【００４１】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００４２】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００４３】
グラフィクスコントローラ１０４は、タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。グラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。ＬＣＤ１７Ａ上にはタッチパネル１７Ｂおよびデジタイザ１７Ｃが配置されている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン１００が接触される画面上の接触位置および接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００４４】
無線通信デバイス１０７は、無線ＬＡＮまたは３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じてタブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００４５】
カメラ１０９は、本体の背面に設けられ、紙等の他のアナログの媒体に手書き、あるいは印刷されている文書を撮影する。撮影された文書の画像データは、手書きノートアプリケーションプログラム２０２の文書入力機能により時系列情報、あるいはテキストとしてタブレットコンピュータ１０に取り込まれる。ただし、タッチスクリーンディスプレイ１７に手書きされた場合と異なり、筆順は判別できないので、ストロークデータが手書きされた順番に並べられている時系列情報は得られず、文書の画像データが含む１以上のストロークデータが得られる。
【００４６】
次に、図５を参照して、手書きノートアプリケーションプログラム２０２の機能構成について説明する。
【００４７】
手書きノートアプリケーションプログラム２０２は、ペン軌跡表示処理部３０１、時系列情報生成部３０２、編集処理部３０３、ページ保存処理部３０４、ページ取得処理部３０５、手書き文書表示処理部３０６、処理対象ブロック選択部３０７、及び処理部３０８、文書画像入力処理部３１１等を備える。
【００４８】
手書きノートアプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７を用いて入力されるストロークデータを使用することによって、手書きページデータの作成、表示、編集、文字認識等を行う。手書きノートアプリケーションプログラム２０２は、カメラ１０９で撮影され、図示しないスキャナで読み込まれた、あるいは他の装置で取り込まれサーバシステムから送信された文書の画像データをストロークデータ、さらにはテキストに変換する文書入力処理も行う。タッチスクリーンディスプレイ１７は、「タッチ」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動（スライド）」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
【００４９】
ペン軌跡表示処理部３０１および時系列情報生成部３０２は、タッチスクリーンディスプレイ１７によって発生される「タッチ」または「移動（スライド）」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントにも、移動先の接触位置の座標が含まれている。したがって、ペン軌跡表示処理部３０１および時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から、接触位置の動きの軌跡に対応する座標列を受信することができる。
【００５０】
ペン軌跡表示処理部３０１は、タッチスクリーンディスプレイ１７から座標列を受信し、この座標列に基づいて、ペン１００等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をタッチスクリーンディスプレイ１７内のＬＣＤ１７Ａの画面上に表示する。ペン軌跡表示処理部３０１により、画面にペン１００が接触している間のペン１００の軌跡、つまり各ストロークの軌跡がＬＣＤ１７Ａの画面上に描かれる。
【００５１】
時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から出力される上述の座標列を受信し、この座標列に基づいて、図３で詳述したような構造を有する上述の時系列情報を生成する。この場合、時系列情報、つまりストロークの各点に対応する座標およびタイムスタンプ情報は作業メモリ４０１に一時保存してもよい。
【００５２】
ページ保存処理部３０４は、生成された時系列情報を手書きページデータとして記憶媒体４０２に保存する。記憶媒体４０２は手書きページデータを格納するためのローカルなデータベースである。なお、記憶媒体４０２はサーバシステム２内に設けても良い。
【００５３】
ページ取得処理部３０５は、記憶媒体４０２から既に格納されている任意の時系列情報（手書きページデータ）を読み出す。読み出された時系列情報は手書き文書表示処理部３０６及び認識処理部３１０に送られる。手書き文書表示処理部３０６は、時系列情報を解析し、この解析結果に基づいて、時系列情報内の各ストロークデータによって示される各ストロークの軌跡である筆跡を画面上に手書きページとして表示する。
【００５４】
編集処理部３０３は現在表示中の手書きページを編集するための処理を実行する。すなわち、編集処理部３０３は、タッチスクリーンディスプレイ１７上でユーザによって行われる編集操作および手書き入力操作に応じて、現在表示中の手書きページに新たなストローク（新たな手書き文字、新たな手書きマーク等）を追加する処理、表示されている複数のストローク内の１以上のストロークを削除または移動いる処理等を含む編集処理を実行する。さらに、編集処理部３０３は、編集処理の結果を表示中の時系列情報に反映するためにこの時系列情報を更新する。
【００５５】
ユーザは、「消しゴム」ツール等を使用して、表示されている複数のストローク内の任意のストロークを削除することができる。また、ユーザは、画面上の任意の部分を丸または四角によって囲むための「範囲指定」ツールを使用して、表示中の時系列情報（手書きページ）内の任意の部分を範囲していることができる。この範囲指定操作によって指定される画面上の指定範囲に応じて、処理対象の時系列情報部分、つまり処理対象のストロークデータ群が処理対象ブロック選択部３０７によって選択される。すなわち、処理対象ブロック選択部３０７は、表示中の時系列情報を使用して、指定範囲内に属するストロークそれぞれに対応する第１のストロークデータ群の中から、処理対象の時系列情報部分を選択する。
【００５６】
例えば、処理対象ブロック選択部３０７は、表示中の時系列情報から、指定範囲内に属するストロークそれぞれに対応する第１のストロークデータ群を抽出し、この第１のストロークデータ群内の他のストロークデータと不連続である第２のストロークデータを除く、第１のストロークデータ群内の個々のストロークデータを処理対象の時系列情報部分に決定する。
【００５７】
編集処理部３０３は、ユーザによって編集メニューから「削除」または「移動」等のメニューが選択された場合、処理対象ブロック選択部３０７によって選択されているストロークデータ群に対する削除、移動等の処理を実行する。この場合、複数のストロークデータが処理対象のストロークデータ群として選択されている場合には、編集処理部３０３は、これら複数のストロークデータをまとめて画面上から削除または画面上に別の位置に移動することができる。時系列情報においては、移動された各ストロークデータの時系列座標は、移動先位置に応じて自動的に変更してもよい。また、移動された各ストロークデータの時系列座標を変更したことを表す操作履歴を時系列情報に追加してもよい。削除された各ストロークデータも、時系列座標から必ずしも削除しなくてもよく、これら各ストロークデータを削除したことを表す操作履歴を時系列情報に追加してもよい。
【００５８】
処理部３０８は、処理対象の時系列情報に対して様々な処理、例えば、筆跡検索処理、文字認識処理等を実行することができる。処理部３０８は、検索処理部３０９、認識処理部３１０を含む。
【００５９】
さらに、処理部３０８は、カメラ１０９等から入力された文書の画像データに対して、過去に入力した時系列情報に基づくビットマップ画像との照合を行い、類似するビットマップ画像に対する時系列情報を検出することにより、入力画像データに時系列情報を関連付けることができる。さらに、過去に入力した時系列情報の文字認識結果を利用して、入力画像データにテキストを関連付けることができる。これらの処理は、文書画像入力処理部３１１により行なわれる。
【００６０】
検索処理部３０９は、記憶媒体４０２内に既に格納されている複数の時系列情報（複数の手書きページ）を検索してこれら複数の時系列情報内の特定の時系列情報部分（特定の手書き文字列等）を見つけ出す。検索処理部３０９は、特定の時系列情報部分を検索キーつまり検索クエリとして指定するように構成された指定モジュールを含んでいる。検索処理部３０９は、複数の時系列情報の各々から、特定の時系列情報部分に対応するストロークの軌跡との類似度が基準値以上であるストロークの軌跡を有する時系列情報部分を見つけ出し、見つけ出された時系列情報部分を含む手書きページデータを記憶媒体４０２から読み出し、見つけ出された時系列情報部分に対応する軌跡が視認可能なように手書きページデータをＬＣＤ１７Ａの画面上に表示する。
【００６１】
検索クエリとして指定される特定の時系列情報部分は、特定の手書き文字、特定の手書き文字列、特定の手書き記号、特定の手書き図形等が使用しうる。例えば、タッチスクリーンディスプレイ１７上に手書きされる手書きオブジェクト（手書き文字、手書きマーク、手書き図形）を構成する１以上のストロークそのものを検索キーとして使用することができる。
【００６２】
検索処理部３０９によって実行される検索処理は筆跡検索であり、すでに記録されている複数の手書きページの中から、検索クエリである特定の手書き文字列と類似する筆跡を有する手書き文字列を検索する。なお、現在表示中のある一つの手書きページのみを対象に筆跡検索を行ってもよい。
【００６３】
検索処理部３０９は、検索キーである１以上のストロークの特徴と類似する特徴を有するストロークを含む手書きページを記憶媒体４０２から検索する。各ストロークの特徴としては、筆画方向、形状、傾斜、等を使用し得る。この場合、検索キーである手書き文字のストロークとの類似度が基準値以上である手書き文字を含む手書きページデータ（ヒット手書きページ）が記憶媒体４０２から検索される。手書き文字間の類似度の計算方法としては、様々な方法を使用することができる。例えば各ストロークの座標列をベクトルとして扱ってもよい。この場合、比較対象のベクトル同士の類似度を計算するために、それら比較対象のベクトル間の内積を比較対象のベクトル間の類似度として算出してもよい。また他の例としては、各ストロークの軌跡を画像として扱い、比較対象の軌跡間の画像の重なりがもっとも多くなる部分の面積の大きさを上述の類似度として計算してもよい。さらに計算処理量を減らすための任意の工夫をしてもよい。また、手書き文字間の類似度の計算方法として、ＤＰ（Dynamic Programming）マッチングを使用してもよい。
【００６４】
このように、文字列を示すコード群ではなく、ストロークデータが検索キーとして使用されるので、言語に依存しない検索を行うことができる。
【００６５】
なお、検索処理は、記憶媒体４０２内の手書きページデータ群に対してのみならず、サーバシステム２の記憶媒体に格納されている手書きページデータ群に対しても行うことができる。この場合、検索処理部３０９は、検索キーとして使用すべき１以上のストロークに対応する１以上のストロークデータを含む検索要求をサーバシステム２に送信する。サーバシステム２は、１以上のストロークデータの特徴と類似する特徴を有する手書きページデータ（ヒット手書きページ）を記憶媒体２Ａから検索し、このヒット手書きページをタブレットコンピュータ１０に送信する。
【００６６】
検索処理部３０９内の上述の指定モジュールは、検索対象とすべき文字列または図形を手書きするための検索キー入力領域を画面上に表示してもよい。ユーザによって検索キー入力領域に手書きされた文字列等が検索クエリとして使用される。
【００６７】
あるいは、指定モジュールとして、上述の処理対象ブロック選択部３０７を使用してもよい。この場合、処理対象ブロック選択部３０７は、ユーザによって行われる範囲指定操作に応じて、表示中の時系列情報内の特定の時系列情報部分を、検索対象とすべき文字列または図形として選択することができる。ユーザは、表示中のページ内の一部の文字列を囲むように範囲指定してもよいし、表示中のページの余白などに検索クエリ用の文字列を新たに手書きし、この検索クエリ用の文字列を囲むように範囲指定してもよい。
【００６８】
例えば、ユーザは、表示中のページ内の一部を手書きの丸で囲むことによって範囲指定することができる。あるいは、ユーザは、あらかじめ用意されているメニューを用いてデジタルノートブックアプリケーションプログラム２０２を「選択」モードに設定し、この後、表示中のページ内の一部をペン１００でなぞってもよい。
【００６９】
このように、表示中の時系列情報（手書きページ）内の時系列情報部分（手書き文字列）が検索クエリとして選択された場合においては、検索処理部３０９は、検索クエリとして選択された時系列情報部分を検索対象から除外する。すなわち、検索処理部３０９は、表示中の時系列情報全体では無く、選択された時系列情報部分を除く、表示中の時系列情報内の他の時系列情報部分から、選択され時系列情報部分に対応するストロークの軌跡との類似度が基準値以上であるストロークの軌跡を有する時系列情報部分を見つけ出す。
【００７０】
このように、検索クエリとして選択された時系列情報部分を検索対象から除外するという処理を行うことにより、選択された時系列情報部分（検索されて当然の文字列）それ自体が検索結果として表示されてしまうことを防止することができる。
【００７１】
よって、ユーザは、表示中のページに検索クエリとして使用すべき文字列を新たに手書きし、この文字列を選択するという操作を行うことによって、検索クエリの入力を行うことが可能となる。この場合、新たに手書きされた文字列（検索クエリ）自体は検索対象から除外されるので、新たに手書きされた文字列自体が検索結果として表示されることはない。よって、検索キー入力領域を画面上に表示することなく、表示中の手書きページの一部を容易に検索クエリとして使用することができる。
【００７２】
このように、本実施形態では、既に記録されている複数の手書きページから、検索クエリとして選択されたある手書き文字の特徴に類似する手書き文字を検索することができる。よって、過去に作成および保存した多数の手書きページから、ユーザの意図に合った手書きページを簡単に検索することができる。
【００７３】
本実施形態の筆跡検索においては、テキスト検索の場合とは異なり、文字認識を行う必要が無い。したがって、言語に依存しないため、あらゆる言語で手書きされた手書きページを検索対象とすることができる。さらに、図形等を筆跡検索のための検索クエリとして使用することもでき、また言語以外の記号、マーク等を筆跡検索のための検索クエリとして使用することもできる。
【００７４】
認識処理部３１０は、表示中の時系列情報（手書きページ）に対して文字認識を実行する。認識処理部３１０は、認識処理対象の時系列情報によって示される１つまたは複数のストロークデータをグループ化処理することによって得られる複数のブロック（手書きブロック）の各々を文字認識して、これら複数のブロック内の手書き文字それぞれを文字コードに変換する。時系列情報には筆跡（ビットマップ画像）以外にも筆順、タイムスタンプ情報、場合によっては筆圧情報も含まれているので、認識の精度が高い。グループ化処理では、互いに近傍に位置し且つ連続的に手書きされたストロークにそれぞれ対応するストロークデータ同士が同一ブロックに分類されるように、認識処理対象の時系列情報によって示される１以上複数のストロークデータがグループ化される。
【００７５】
このように、時系列情報から各文字に対応するグループ毎の文字コードが得られる。グループの配置に基づいて文字コードを配列すると、１ページの手書きページデータのテキストデータが得られ、両者は関連付けられて、記憶媒体４０２に保存される。認識処理部３１０で文字コードが得られると、各文字コードに対して時系列情報のグループを関連付けたコード／ストローク対応表が得られ、この対応表も記憶媒体４０２に保存される。この対応表は、入力された文書にストロークデータを関連付けた後にストロークデータの集合をテキストデータに変換するために利用される。
【００７６】
文書画像入力処理部３１１は、カメラ１０９で撮影され、図示しないスキャナで読み込まれた、あるいは他の装置で取り込まれサーバシステムから送信された文書の画像データを上記記憶媒体４０２に記憶されている時系列情報とのマッチング処理により、ストロークデータの集合に変換する処理を行う。文書がストロークデータの集合に変換されると、上記対応表を利用して文字コードを得ることができる。すなわち、文書画像からＯＣＲ（光学的文字認識）と同様に文字の行構造や部首情報に基づいて１文字の候補領域を切り出す。一方、記憶媒体４０２に保存されているグループに基づく多数の画像を生成する。候補領域の画像と多数の画像とを照合することにより、文字候補領域の画像に類似する画像、すなわちグループを得ることができる。グループが得られると、対応表から文字コードを得ることができる。
【００７７】
本実施例では、筆順も考慮した本人の手書き筆跡を示す時系列情報から文字コードを得ているので、文字認識の精度が高い。従来のＯＣＲでは、画像情報のマッチングにより文字コードを得ているが、ＯＣＲの基準画像はユーザ固有の画像データではなく、標準的な画像であるので、本実施形態に比べて文字認識の精度は劣る。
【００７８】
以下、実施形態の具体的な作用例を説明する。先ず、図６のフローチャートを参照して、デジタルノートブックアプリケーションプログラム２０２によって実行される手書きページ作成処理の手順について説明する。
【００７９】
ユーザがペン１００を使用して手書き入力操作を行うと（ブロックＢ１１）、「タッチ」や「移動」のイベントが発生される。これらイベントに基づいて、デジタルノートブックアプリケーションプログラム２０２は、ペン１００の動きの軌跡を検出する（ブロックＢ１２）。ペン１００の動きの軌跡が検出されたならば（ブロックＢ１２のＹＥＳ）、デジタルノートブックアプリケーションプログラム２０２は、検出されたペン１００の動きの軌跡をディスプレイに表示する（ブロックＢ１３）。さらに、デジタルノートブックアプリケーションプログラム２０２は、検出されたペン１００の動きの軌跡に対応する座標列に基づいて図３に示すような上述の時系列情報を生成し、その時系列情報を手書きページ情報として作業メモリ４０１に一時保存する（ブロックＢ１４）。
【００８０】
次に、作業メモリ４０１内の手書きページ情報が認識処理部３１０に渡され、手書き文字認識処理が行なわれる。先ず、ブロックＢ１６で、時系列情報のストロークデータを、互いに近傍に位置し且つ連続的に手書きされたストロークにそれぞれ対応するストロークデータ同士が同一グループに分類されるように分割する。グループは１つの記号に相当し、１つまたは複数のストロークデータからなる。図３の例では、ストロークデータＳＤ１、ＳＤ２を１つのグループ、ストロークデータＳＤ３、ＳＤ４を１つのグループ、ストロークデータＳＤ５を１つのグループとする。ブロックＢ１８で１つのグループの文字認識処理を行ない、候補文字を決定する。ブロックＢ２０で言語処理を行い、言語的に確からしい文字列の判定を行なう。例えば、“ナキスト”が候補とされた場合、“ナ”を“テ”と変更して、“テキスト”を認識結果とする。これにより、手書き入力された文書の時系列情報と文字コード列（テキスト）が求められる。また、必要であれば、ブロックＢ１６に戻り、ストロークデータのグループ分けを変更して認識処理を繰り返す。
【００８１】
ブロックＢ２２で、文字認識結果である文字コード列であるテキストと時系列情報（図３）とが関連付けられてページ毎に記憶媒体４０２に保存される。図３の時系列情報に対応するテキストは（２３４１，２３４２，２３４３，２２２ｄ，…）（１６進数）である。これにより、タブレットコンピュータ１０は、手書き入力された文書をテキストとしても取り込むことができる。
【００８２】
上記処理により、グループ毎に文字コードとの対応関係が求められ、１つの記号と１以上のストロークデータとの対応関係を表すグループを複数記憶するコード／ストローク対応表が作成され、ブロックＢ２４で記憶媒体４０２に保存される。コード／ストローク対応表の一例を図７に示す。コード／ストローク対応表は、文字コード毎にグループを有しても良い。コード／ストローク対応表、グループに含まれるストロークデータは、ストロークを表示可能な情報であれば良く、例えば、時系列情報から筆順、タイムスタンプ情報、筆圧を除いたものであってもよい。なお、場合によって、同一人でも同じ文字を異なる筆跡で書くこともあるので、１つの文字コードに対して異なるグループが関連付けられることもある。さらに、同一人でも同じ筆跡でも、異なる筆順で書くこともあるので、同じストロークデータの集合からなるが、順番が異なるグループが関連付けられることもある。記憶媒体４０２のコード／ストローク対応表は新しい手書きページが作成される毎にデータが追加され、更新される。
【００８３】
図８は文書画像入力処理部３１１の処理を示すフローチャートである。
【００８４】
ブロックＢ３２で、スキャナあるいはカメラ等からアナログ媒体上の文書を画像として入力する。文書としては、過去にノートに書いた文書や、黒板に書いた文書等がある。入力画像はタッチスクリーンディスプレイ１７で表示される。図９は入力画像の表示例である。
【００８５】
ブロックＢ３４で、画像内の文字の行構造を解析して、画像の部分である１文字（あるいは部首）の候補領域を抽出する。
【００８６】
ブロックＢ３６で、図７のコード／ストローク対応表の各グループのストロークデータに基づいてストローク画像（筆跡画像）を生成し、ブロックＢ３４で抽出された候補領域の部分画像とストローク画像とを照合し、候補領域の画像に類似するストローク画像を検出する。
【００８７】
ブロックＢ３８で、類似するストローク画像の類似度が閾値以上であるか否か判定される。閾値以上である場合は、ブロックＢ４０で、そのストローク画像のグループを候補領域に関連付ける。図１０はこの関連付けを模式的に示す。図１０（ａ）は図９に示された入力画像である。図１０（ｂ）は記憶媒体４０２内に保存された１頁の時系列情報により表されるストローク画像である。図１０（ａ）、（ｂ）間の破線が関連付けを示す。図１０（ｂ）は１頁しか示していないが、類似するストローク画像は単一の頁の時系列情報から得られるとは限らず、類似する画像は、各候補領域毎に異なる頁の時系列情報のストロークデータ画像であることが多い。グループが関連付けられた候補領域の表示態様は他の領域と変えられる（ブロックＢ４２）。例えば、図１１に示すように、グループが関連付けられた候補領域の画像は輝度が下げられる。
【００８８】
閾値以上でない場合は、候補領域の画像に対応するグループが記憶媒体４０２内に保存されていない場合であるので、ブロックＢ４４でその候補領域のストロークデータの手書き入力をユーザに促す。ブロックＢ４２で説明したように、認識結果が得られた候補領域の画像は輝度が下げられるので、輝度が変わっていない候補領域が手書き入力操作の対象であることを促していることになるが、さらに強調するために表示を点滅させる、枠で囲む、音声メッセージを発する等してもよい。
【００８９】
ユーザがペン１００を使用してタッチスクリーンディスプレイ１７上の候補領域の画像をなぞると、ブロックＢ４６で図６に示す手書き入力処理が行なわれる。手書き入力は文字、数字、マーク等の記号以外の文字コードが無い画像、例えば図１１の地図画像に対して行なってもよい。ブロックＢ４８で、全ての候補領域の処理が完了したか否か判定され、完了していない場合は、ブロックＢ３６に戻る。
【００９０】
これにより、文書の画像に対するストロークデータ（タイムスタンプ情報を除く）が得られ、ブロックＢ５０で、入力画像と対応するストロークデータが関連付けられて記憶媒体４０２に保存される。なお、ストロークデータが求められているので、それから画像が復元できるので、入力画像は保存しなくても良い。
【００９１】
以上の処理により、過去に紙のノート等に書いた文書を、ユーザがペン１００を使用してタッチスクリーンディスプレイ１７上に手書きした文書と同様に、ストロークデータ（ただし、タイムスタンプ情報は除く）としてタブレットコンピュータ１０に取り込むことが出来る。
【００９２】
さらに、入力画像の各文字候補領域のグループが求められたので、必要に応じて、図７のコード／ストローク対応表に基づいて、入力画像の各文字候補領域の文字コードを求めることもできる（ブロックＢ５２）。これにより、入力画像をテキストとしてタブレットコンピュータ１０に取り込むことも出来る（ブロックＢ５４）。
【００９３】
以上説明したように、実施形態によれば、タッチスクリーンディスプレイ１７に手書き入力した文書を、手書きの軌跡を示すストロークデータとして記憶媒体４０２に保存することができる。さらに、カメラ、スキャナ等により画像として入力した文書から文字の候補領域を抽出し、既に手書き入力されたストロークデータに基づく画像と候補領域の画像とが対応する場合に、候補領域とストロークデータとを関連付けることができる。これにより、例えば紙のノート等に手書きした文書を、タッチスクリーンディスプレイ１７に手書き入力した文書と同様にストロークデータとして記憶媒体４０２に保存することができる。
【００９４】
さらに、タッチスクリーンディスプレイ１７に手書き入力した文書のストロークデータを文字認識処理して文字コードを求めておけば、画像として入力した文書をテキストに変換することもできる。ストロークデータはユーザ毎の情報であるので、基準画像との画像マッチングに基づく従来のＯＣＲに比べて文字認識の精度が高い。さらに、ストロークデータに筆順、タイムスタンプ情報、筆圧等の情報を付加すれば、認識の精度をさらに向上することもできる。
【００９５】
実施形態は、全ての処理をタブレットコンピュータ１０で行なったが、タッチスクリーンディスプレイ１７への手書き以外の処理はサーバシステム２側で行なってもよい。例えば、手書きノートアプリケーションの処理部３０８の機能をサーバシステム２側に移してもよい。また、記憶媒体４０２に保存する代わりに、サーバシステム２のデータベースに保存してもよい。その場合、コード／ストローク対応表はユーザ毎に管理してもよいし、全てのユーザに共通に、各文字コードに全てのユーザのストロークデータを対応付けてもよい。あるいは、同じようなカテゴリ（男性／女性、子供／大人、アルファベットについては国籍）毎にコード／ストローク対応表を管理してもよい。
【００９６】
なお、本実施形態の処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【００９７】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００９８】
２…サーバシステム、１０…タブレットコンピュータ、１７…タッチスクリーンディスプレイ、２００…時系列情報、３０１…ペン軌跡表示処理部、３０２…時系列情報生成部、３０３…編集処理部、３０８…処理部、３０９…検索処理部、３１０…認識処理部、３１１…文書画像入力処理部、４０２…記憶媒体。
【図１】
2014106881.tif 000003
【図２】
2014106881.tif 000004
【図３】
2014106881.tif 000005
【図４】
2014106881.tif 000006
【図５】
2014106881.tif 000007
【図６】
2014106881.tif 000008
【図７】
2014106881.tif 000009
【図８】
2014106881.tif 000010
【図９】
2014106881.tif 000011
【図１０】
2014106881.tif 000012
【図１１】
2014106881.tif 000013
【手続補正書】
【提出日】平成25年7月5日(2013.7.5)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
実施形態によれば、情報処理装置は、第１ユーザによって手書きにより入力される複数のストロークに対応する複数のストロークデータを用いて生成可能なものであって、１つの記号と１以上のストロークデータとの対応に関するグループを複数記憶する第１記憶媒体にアクセス可能な情報処理装置であって、第１ユーザによって手書きにより記載された文書に対応する画像を入力可能な入力手段と、処理手段と、表示制御手段を具備する。処理手段は、入力手段により入力された画像の部分である第１部分画像と、第１記憶媒体に記憶される複数のグループのうちの第１グループに含まれる第１ストロークデータから生成可能な第１画像とが対応する場合、第１部分画像と第１ストロークデータとを関連付ける。表示制御手段は、第１ユーザによって手書きにより記載された文書に対応する文書であって、第１部分画像、又は第１画像、又は第１ストロークデータに基づく画像、又は第１グループに含まれる第１記号に基づく画像のいずれかを含む文書を表示可能である。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１ユーザによって手書きにより入力される複数のストロークに対応する複数のストロークデータを用いて生成可能なものであって、１つの記号と１以上のストロークデータとの対応に関するグループを複数記憶する第１記憶媒体にアクセス可能な情報処理装置であって、
前記第１ユーザによって手書きにより記載された文書に対応する画像を入力可能な入力手段と、
前記入力手段により入力された画像の部分である第１部分画像と、前記第１記憶媒体に記憶される複数のグループのうちの第１グループに含まれる第１ストロークデータから生成可能な第１画像とが対応する場合、前記第１部分画像と前記第１ストロークデータとを関連付ける処理手段と、
前記第１ユーザによって手書きにより記載された文書に対応する文書であって、前記第１部分画像、又は前記第１画像、又は前記第１ストロークデータに基づく画像、又は前記第１グループに含まれる第１記号に基づく画像のいずれかを含む文書を表示可能な表示制御手段と、
を具備する情報処理装置。
【請求項２】
前記第１部分画像は、前記入力手段により入力された画像から抽出された文字候補領域の画像であり、
前記処理手段は、前記文字候補領域の画像と前記第１画像とが類似する度合いに基づいて前記文字候補領域の画像と前記第１画像とが対応していることを検出する請求項１記載の情報処理装置。
【請求項３】
前記第１部分画像と前記第１画像とが対応しない場合に、前記第１部分画像に対応する１以上のストロークデータを書き込むことを促すメッセージを発する発生手段をさらに具備する請求項１記載の情報処理装置。
【請求項４】
タッチスクリーンディスプレイと、
前記タッチスクリーンディスプレイ上で行われる手書き入力操作によって手書きされる１つの記号に対応する１以上のストロークデータを前記第１記憶媒体に保存する保存手段と、
をさらに具備する請求項３記載の情報処理装置。
【請求項５】
１以上のストロークデータと、該１以上のストロークデータに対応する記号の文字コードとを複数記憶する第２記憶媒体から、前記第１部分画像に関連付けられた文字コードを読み出す決定手段をさらに具備する請求項１記載の情報処理装置。
【請求項６】
タッチスクリーンディスプレイと、
前記タッチスクリーンディスプレイ上で行われる手書き入力操作によって手書きされる１以上のストロークデータを生成する生成手段と、
前記生成手段により生成された１以上のストロークデータを文字認識して、手書き記号を文字コードに変換する認識手段と、
前記認識手段の変換結果を前記第２記憶媒体に保存する保存手段と、
をさらに具備する請求項５記載の情報処理装置。
【請求項７】
前記入力手段はカメラとスキャナの何れかであり、画像のビットマップデータを入力する請求項１乃至請求項６のいずれか一項記載の情報処理装置。
【請求項８】
第１ユーザによって手書きにより入力される複数のストロークに対応する複数のストロークデータを用いて生成可能なものであって、１つの記号と１以上のストロークデータとの対応に関するグループを複数記憶する第１記憶媒体にアクセス可能な情報処理方法であって、
前記第１ユーザによって手書きにより記載された文書に対応する画像を入力することと、
前記入力された画像の部分である第１部分画像と、前記第１記憶媒体に記憶される複数のグループのうちの第１グループに含まれる第１ストロークデータから生成可能な第１画像とが対応する場合に、前記第１部分画像と前記第１ストロークデータとを関連付けることと、
前記第１ユーザによって手書きにより記載された文書に対応する文書であって、前記第１部分画像、又は前記第１画像、又は前記第１ストロークデータに基づく画像、又は前記第１グループに含まれる第１記号に基づく画像のいずれかを含む文書を表示することと、
を具備する情報処理方法。
【請求項９】
前記第１部分画像は、前記入力された画像から抽出された文字候補領域の画像であり、
前記関連付けることは、前記文字候補領域の画像と前記第１画像とが類似する度合いに基づいて前記文字候補領域の画像と前記第１画像とが対応していることを検出する請求項８記載の情報処理方法。
【請求項１０】
前記第１部分画像と前記第１記号とが対応しない場合に、前記第１部分画像に対応する１以上のストロークデータを書き込むことを促すメッセージを発することをさらに具備する請求項８記載の情報処理方法。
【請求項１１】
タッチスクリーンディスプレイ上で行われる手書き入力操作によって手書きされる１つの記号に対応する１以上のストロークデータを前記第１記憶媒体に保存することをさらに具備する請求項１０記載の情報処理方法。
【請求項１２】
１以上のストロークデータと、該１以上のストロークデータに対応する記号の文字コードとを複数記憶する第２記憶媒体から、前記第１部分画像に関連付けられた文字コードを読み出すことをさらに具備する請求項８記載の情報処理方法。
【請求項１３】
タッチスクリーンディスプレイ上で行われる手書き入力操作によって手書きされる１以上のストロークデータを生成することと、
前記生成された１以上のストロークデータを文字認識して、手書き記号を文字コードに変換することと、
前記文字認識により得られた文字コードを前記第２記憶媒体に保存することと、
をさらに具備する請求項１２記載の情報処理方法。
【請求項１４】
前記入力することはカメラとスキャナの何れかにより、画像のビットマップデータを入力することである請求項８乃至請求項１３のいずれか一項記載の情報処理方法。
【請求項１５】
コンピュータにより実行されるプログラムであって、前記プログラムは
第１ユーザによって手書きにより入力される複数のストロークに対応する複数のストロークデータを用いて生成可能なものであって、１つの記号と１以上のストロークデータとの対応に関するグループを複数記憶する第１記憶媒体にアクセス可能であり、
前記第１ユーザによって手書きにより記載された文書に対応する画像を入力し、
前記入力された画像の部分である第１部分画像と、前記第１記憶媒体に記憶される複数のグループのうちの第１グループに含まれる第１ストロークデータから生成可能な第１画像とが対応する場合に、前記第１部分画像と前記第１ストロークデータとを関連付け、
前記第１ユーザによって手書きにより記載された文書に対応する文書であって、前記第１部分画像、又は前記第１画像、又は前記第１ストロークデータに基づく画像、又は前記第１グループに含まれる第１記号に基づく画像のいずれかを含む文書を表示させるものであるプログラム。
【請求項１６】
前記第１部分画像は、前記入力された画像から抽出された文字候補領域の画像であり、
前記関連付けることは、前記文字候補領域の画像と前記第１画像とが類似する度合いに基づいて前記文字候補領域の画像と前記第１画像とが対応していることを検出する請求項１５記載のプログラム。
【請求項１７】
前記第１部分画像と前記第１画像とが対応しない場合に、前記第１部分画像に対応する１以上のストロークデータを書き込むことを促すメッセージを発することをさらに具備する請求項１５記載のプログラム。
【請求項１８】
タッチスクリーンディスプレイ上で行われる手書き入力操作によって手書きされる１つの記号に対応する１以上のストロークデータを前記第１記憶媒体に保存することをさらに具備する請求項１７記載のプログラム。
【請求項１９】
１以上のストロークデータと、該１以上のストロークデータに対応する記号の文字コードとを複数記憶する第２記憶媒体から、前記第１部分画像に関連付けられた文字コードを読み出すことをさらに具備する請求項１５記載のプログラム。
【請求項２０】
タッチスクリーンディスプレイ上で行われる手書き入力操作によって手書きされる１以上のストロークデータを生成することと、
前記生成された１以上のストロークデータを文字認識して、手書き記号を文字コードに変換することと、
前記文字認識により得られた文字コードを前記第２記憶媒体に保存することと、
をさらに具備する請求項１９記載のプログラム。
【請求項２１】
前記入力することはカメラとスキャナの何れかにより、画像のビットマップデータを入力することである請求項１５乃至請求項２０のいずれか一項記載のプログラム。