(57)【特許請求の範囲】
【請求項１】
ネットワークを介して複数の電子機器と接続可能なシステムであって、
複数のストロークに対応する複数のストロークデータを含む手書き文書データを、第１電子機器から受信する受信手段と、
複数のストロークに対応する複数のストロークデータを含む手書き文書データを記憶する記憶装置であって、受信した手書き文書データをさらに記憶する記憶装置と、
第２電子機器からの１以上のストロークデータを含む検索の要求に応じて、前記１以上のストロークデータに基づいて、前記記憶装置内の複数の手書き文書データから、第１手書き文書データを検索する検索手段と、
前記第２電子機器が手書き文書データを用いて手書き文書を表示する手書き文書表示機能を有する場合、前記第１手書き文書データを前記第２電子機器に送信し、前記第２電子機器が前記手書き文書表示機能を有しない場合、前記第１手書き文書データに対応する画像データを前記第２電子機器に送信する送信手段とを具備するシステム。
【請求項２】
前記受信手段は、前記第２電子機器によって実行可能なアプリケーションプログラムで用いられるファイル形式を示す情報を受信し、
前記送信手段は、前記第２電子機器によって実行可能なアプリケーションプログラムで用いられるファイル形式の第１手書き文書データを前記第２電子機器に送信する請求項１記載のシステム。
【請求項３】
前記受信手段は、前記第２電子機器内のディスプレイのサイズを示す情報を受信し、
前記送信手段は、前記第２電子機器内のディスプレイのサイズに対応する第１手書き文書データを前記第２電子機器に送信する請求項１記載のシステム。
【請求項４】
前記記憶装置内の手書き文書データは、対応するストローク上の点に対応する座標データ系列を含む複数のストロークデータと、当該複数のストロークデータの手書きの順序を示す情報とを含む請求項１記載のシステム。
【請求項５】
前記要求は、前記１以上のストロークデータの手書きの順序を示す情報を含み、
前記検索手段は、前記１以上のストロークデータと、前記１以上のストロークデータの手書きの順序とに基づいて、前記第１手書き文書データを検索する請求項１記載のシステム。
【請求項６】
前記検索手段は、前記１以上のストロークデータを用いて第１特徴量を算出し、前記第１特徴量との類似度がしきい値以上である第２特徴量を有する第１手書き文書データを検索する請求項１記載のシステム。
【請求項７】
前記送信手段は、前記第１手書き文書データの閲覧が前記第２電子機器に許可されている場合、前記第１手書き文書データまたは前記画像データを前記第２電子機器に送信する請求項１記載のシステム。
【請求項８】
ネットワークを介して複数の電子機器と接続可能なシステムによって手書き文書を管理するための手書き文書管理方法であって、
複数のストロークに対応する複数のストロークデータを含む手書き文書データを、第１電子機器から受信し、
複数のストロークに対応する複数のストロークデータを含む手書き文書データを記憶装置に記憶し、受信した手書き文書データを前記記憶装置にさらに記憶し、
第２電子機器からの１以上のストロークデータを含む検索の要求に応じて、前記１以上のストロークデータに基づいて、前記記憶装置内の複数の手書き文書データから、第１手書き文書データを検索し、
前記第２電子機器が手書き文書データを用いて手書き文書を表示する手書き文書表示機能を有する場合、前記第１手書き文書データを前記第２電子機器に送信し、前記第２電子機器が前記手書き文書表示機能を有しない場合、前記第１手書き文書データに対応する画像データを前記第２電子機器に送信する手書き文書管理方法。
【請求項９】
ネットワークを介して複数の電子機器と接続可能なコンピュータにより実行されるプログラムであって、前記プログラムは、
複数のストロークに対応する複数のストロークデータを含む手書き文書データを、第１電子機器から受信する手順と、
複数のストロークに対応する複数のストロークデータを含む手書き文書データを記憶装置に記憶し、受信した手書き文書データを前記記憶装置にさらに記憶する手順と、
第２電子機器からの１以上のストロークデータを含む検索の要求に応じて、前記１以上のストロークデータに基づいて、前記記憶装置内の複数の手書き文書データから、第１手書き文書データを検索する手順と、
前記第２電子機器が手書き文書データを用いて手書き文書を表示する手書き文書表示機能を有する場合、前記第１手書き文書データを前記第２電子機器に送信し、前記第２電子機器が前記手書き文書表示機能を有しない場合、前記第１手書き文書データに対応する画像データを前記第２電子機器に送信する手順とを前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き文書を管理する情報処理装置及び該装置に適用される手書き文書管理方法に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。ユーザは、タッチスクリーンディスプレイ上に表示されるメニュー又はオブジェクトを指などでタッチすることにより、これらメニュー又はオブジェクトに関連付けられた機能の実行を電子機器に指示することができる。
【０００３】
しかし、タッチスクリーンディスプレイを備える既存の電子機器の多くは、画像、音楽、他の各種メディアデータに対する操作性を追求したコンシューマ向け製品であり、会議、商談、商品開発などのビジネスシーンにおける利用については必ずしも適していない場合がある。このため、ビジネスシーンにおいては、手軽さや表現の自由度等から、紙やホワイトボードに議論の内容をまとめた文章や図、表等を手書きすることにより、参加者の間での認識の共有が図られている。この手書きされた情報は、会議のエビデンスとして保管したり、関係者に周知したりするために、電子化されることがある。また、参加者の手書きのメモのような個人のメモも、電子化して保管することへの需要が高まっている。
【０００４】
紙やホワイトボード等に手書きされた文書は、例えば、スキャナやカメラを用いて画像データに変換することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１２−５０１５８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
会議等の参加者は、手書きの文書に対応する画像データを、参加者それぞれが使用する電子機器を用いて閲覧する。しかし、参加者が使用する電子機器には、上述のように、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が想定される。そのため、各電子機器では、その電子機器が有する機能に応じた電子データを閲覧できることが期待される場合がある。また、ビジネスシーンにおいては、単に、手書きの文書に対応する画像データを提供できるだけでなく、人の発想活動の支援を可能にしたり、過去に作成した文書のような資料の再利用を容易にしたりするためのデータを提供することが期待される場合がある。
【０００７】
本発明は、配信対象の電子機器に応じて手書き文書データを提供できる情報処理装置及び文書管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態によれば、システムは、ネットワークを介して複数の電子機器と接続可能であり、受信手段、記憶装置、検索手段、及び送信手段を具備する。受信手段は、複数のストロークに対応する複数のストロークデータを含む手書き文書データを、第１電子機器から受信する。記憶装置は、複数のストロークに対応する複数のストロークデータを含む手書き文書データを記憶し、受信した手書き文書データをさらに記憶する。検索手段は、第２電子機器からの１以上のストロークデータを含む検索の要求に応じて、前記１以上のストロークデータに基づいて、前記記憶装置内の複数の手書き文書データから、第１手書き文書データを検索する。送信手段は、前記第２電子機器が手書き文書データを用いて手書き文書を表示する手書き文書表示機能を有する場合、前記第１手書き文書データを前記第２電子機器に送信し、前記第２電子機器が前記手書き文書表示機能を有しない場合、前記第１手書き文書データに対応する画像データを前記第２電子機器に送信する。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報処理装置（クラウドサーバ）と当該情報処理装置と連携する第１電子機器（手書き端末）及び第２電子機器（閲覧端末）とを含むクラウドサービスシステムの構成を示すブロック図。
【図２】図１の第１電子機器（手書き端末）の外観を示す斜視図。
【図３】図１の第１電子機器（手書き端末）のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。
【図４】図１の第１電子機器（手書き端末）によって生成される、図３の手書き文書に対応する手書き文書データを説明するための図。
【図５】同実施形態の情報処理装置によって実行される手書き文書管理プログラムの機能構成を示すブロック図。
【図６】同実施形態の情報処理装置によって用いられるユーザデータの一構成例を示す図。
【図７】同実施形態の情報処理装置によって用いられるアクセス権データの一構成例を示す図。
【図８】同実施形態の情報処理装置によって、図４の手書き文書データを用いて生成されるプレゼンテーション資料データの例を示す図。
【図９】同実施形態の情報処理装置のシステム構成の例を示すブロック図。
【図１０】図１の第１電子機器（手書き端末）のシステム構成の例を示すブロック図。
【図１１】図１の第２電子機器（閲覧端末）のシステム構成の例を示すブロック図。
【図１２】図１の第１電子機器（手書き端末）によって実行されるアップロード処理の手順の例を示すフローチャート。
【図１３】同実施形態の情報処理装置によって実行される手書き文書データ受信処理の手順の例を示すフローチャート。
【図１４】図１の第２電子機器（閲覧端末）によって実行されるダウンロード処理の手順の例を示すフローチャート。
【図１５】同実施形態の情報処理装置によって実行される手書き文書データ送信処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照して説明する。  
まず、図１を参照して、一実施形態に係る情報処理装置と、当該情報処理装置と連携する電子機器とを含むクラウドサービスシステムについて説明する。この情報処理装置は、例えば、サーバコンピュータ（以下、クラウドサーバとも称する）１として実現され得る。クラウドサーバ１は、オンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行する。クラウドサーバ１は、手書き端末（第１電子機器）２Ａや閲覧端末（第２電子機器）２Ｂ，２Ｃのような各種の電子機器と連携することができる。
【００１１】
手書き端末２Ａは、例えば、ペン又は指によって手書き入力可能なペン・ベースの携帯型電子機器である。この手書き端末２Ａは、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。また、閲覧端末２Ｂ，２Ｃは、手書き端末２Ａを用いた手書き入力によって作成された手書き文書を閲覧するための電子機器である。この閲覧端末２Ｂ，２Ｃは、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、デスクトップ型コンピュータ、スマートフォン、ＰＤＡ等として実現され得る。
【００１２】
クラウドサーバ１は、例えば、ＬＡＮなどの通信デバイスを備えている。また、手書き端末２Ａ及び閲覧端末２Ｂ，２Ｃは、例えば、無線ＬＡＮなどの無線通信デバイスを備えている。したがって、クラウドサーバ１は、手書き端末２Ａ及び閲覧端末２Ｂ，２Ｃとの通信を実行することができる。
【００１３】
手書き端末２Ａは、ユーザによる手書き入力操作に応じて作成された、文字や図形を含む手書き文書のデータを、ネットワーク（例えば、インターネット）を介してクラウドサーバ１に送信して、クラウドサーバ１内のストレージ（例えば、ハードディスクドライブ（ＨＤＤ））に記録することができる（アップロード）。クラウドサーバ１と手書き端末２Ａとの間のセキュアな通信を確保するために、通信開始時には、クラウドサーバ１が手書き端末２Ａを認証するようにしてもよい。この場合、手書き端末２Ａの画面上に、ユーザに対してＩＤやパスワードの入力を促すダイアログを表示してもよいし、手書き端末２ＡのＩＤなどを自動的に手書き端末２Ａからクラウドサーバ１に送信してもよい。  
これにより、手書き端末２Ａ上で作成された手書き文書データを、クラウドサーバ１で管理することが可能になる。
【００１４】
クラウドサーバ１は、クラウドサーバ１のストレージに記録されている手書き文書データを、ネットワーク（例えば、インターネット）を介して閲覧端末２Ｂに送信する。例えば、クラウドサーバ１は、クラウドサーバ１のストレージに記録されている、手書き端末２Ａによってアップロードされた手書き文書データを、閲覧端末２Ｂで閲覧できる形式に変換して閲覧端末２Ｂに送信する。閲覧端末２Ｂは、クラウドサーバ１によって送信された手書き文書データを受信し（ダウンロード）、その受信した手書き文書データに基づく手書き文書を、閲覧端末２Ｂのディスプレイの画面に表示することができる。
【００１５】
クラウドサーバ１は、さらに、クラウドサーバ１のストレージに記録されている手書き文書データを用いて新たなデータを生成して、閲覧端末２Ｃに送信することもできる。例えば、クラウドサーバ１は、クラウドサーバ１のストレージに記録されている、手書き端末２Ａによってアップロードされた手書き文書データを用いて、その手書き文書に記載された文字や図形を認識し、ワードプロセッシングソフトウェア、プレゼンテーションソフトウェア、発想支援ツール（例えば、ＫＪ法やマインドマップに基づく発想支援ツール）等の形式に変換して、閲覧端末２Ｃに送信する。閲覧端末２Ｃは、クラウドサーバ１によって新たに生成されたデータを受信し（ダウンロード）、その新たに生成されたデータに基づく情報を、閲覧端末２Ｃのディスプレイの画面に表示することができる。
【００１６】
クラウドサーバ１と閲覧端末２Ｂ，２Ｃとの間のセキュアな通信を確保するために、通信開始時には、クラウドサーバ１が閲覧端末２Ｂ，２Ｃを認証するようにしてもよい。この場合、閲覧端末２Ｂ，２Ｃの画面上に、ユーザに対してＩＤやパスワードの入力を促すダイアログを表示してもよいし、閲覧端末２Ｂ，２ＣのＩＤなどを自動的に閲覧端末２Ｂ，２Ｃからクラウドサーバ１に送信してもよい。なお、手書き端末２Ａを閲覧端末２Ｂ，２Ｃとして用いることもできる。
【００１７】
図２は、手書き端末２Ａの外観を示す斜視図である。以下では、この手書き端末２Ａがタブレットコンピュータとして実現されていることを想定する。タブレットコンピュータ２Ａは、タブレット又はストレートコンピュータとも称される携帯型電子機器であり、図２に示すように、本体２０とタッチスクリーンディスプレイ２０６とを備える。タッチスクリーンディスプレイ２０６は、本体２０の上面に重ね合わせるように取り付けられている。
【００１８】
本体２０は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ２０６には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペン又は指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサには、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ２０６に組み込まれていることを想定する。
【００１９】
デジタイザ及びタッチパネルタッチの各々は、フラットパネルディスプレイの画面を覆うように設けられる。このタッチスクリーンディスプレイ２０６は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えば電磁誘導ペンであってもよい。ユーザは、外部オブジェクト（ペン１００又は指）を使用してタッチスクリーンディスプレイ２０６上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト（ペン１００又は指）の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡（筆跡）がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が１ストロークに相当する。手書きされた文字又は図形などに対応する多数のストロークの集合、つまり多数の軌跡（筆跡）の集合が手書き文書を構成する。
【００２０】
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報を含む手書き文書データとして、例えば、手書き端末２Ａ内の記憶媒体に保存される。この時系列情報の詳細は図４を参照して後述するが、この時系列情報は、概して、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある１つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
【００２１】
手書き端末２Ａは、記憶媒体から既存の任意の時系列情報（手書き文書データ）を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークそれぞれに対応する軌跡を画面上に表示することができる。さらに、手書き端末２Ａは編集機能を有している。この編集機能は、「消しゴム」ツール、範囲指定ツール、及び他の各種ツール等を用いたユーザによる編集操作に応じて、表示中の手書き文書内の任意のストローク又は任意の手書き文字等を削除又は移動することができる。さらに、この編集機能は、幾つかの手書き操作の履歴を取り消す機能も含んでいる。
【００２２】
本実施形態では、時系列情報（手書き文書データ）は、１つ又は複数のページとして管理されうる。この場合、時系列情報（手書き文書データ）を１つの画面に収まる面積単位で区切ることによって、１つの画面に収まる時系列情報のまとまりを１つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは１つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。１つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
【００２３】
次いで、図３及び図４を参照して、ユーザによって手書きされたストローク（文字、マーク、図形、表など）と時系列情報との関係について説明する。図３は、ペン１００などを使用してタッチスクリーンディスプレイ２０６上に手書きされる手書き文書（手書き文字列と図形）５１の例を示している。
【００２４】
手書き文書５１では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースが多い。図３においては、例えば、「Ｃｕｒｒｅｎｔ」の手書き文字列が「Ｃ」、「ｕ」、「ｒ」、「ｒ」、「ｅ」、「ｎ」、「ｔ」の順番で手書きされたことを想定する。
【００２５】
手書き文字「Ｃ」は、ペン１００などを使用して手書きされた１つのストローク、つまり１つの軌跡によって表現される。最初に手書きされる「Ｃ」に対応するペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「Ｃ」に対応するストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。手書き文字「ｕ」は、ペン１００などを使用して手書きされた手書きされた１つのストローク、つまり１つの軌跡によって表現される。同様に、次に手書きされる「ｕ」形状のペン１００の軌跡もサンプリングされ、これによって「ｕ」形状のストロークの時系列座標ＳＤ２１、ＳＤ２１、…ＳＤ２ｎが得られる。また、例えば、手書き文字「ｔ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。
【００２６】
図４は、図３の手書き文書５１に対応する時系列情報を含む手書き文書データ２０４Ａを示している。時系列情報は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。手書き文書データ２０４Ａ内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べられている。
【００２７】
手書き文書データ２０４Ａにおいて、先頭のストロークデータＳＤ１は、手書き文字「Ｃ」のストロークを示している。２番目のストロークデータＳＤ２は、手書き文字「ｕ」を構成するストロークを示している。３番目のストロークデータＳＤ３は、手書き文字「ｒ」を構成する１つのストロークを示している。４番目のストロークデータＳＤ４は、手書き文字「ｒ」を構成する１つのストロークを示している。５番目のストロークデータＳＤ５は、手書き文字「ｅ」を構成する１つのストロークを示している。６番目のストロークデータＳＤ６は、手書き文字「ｎ」を構成する１つのストロークを示している。７番目のストロークデータＳＤ７は、手書き文字「ｔ」の内の「-」を構成する１つのストロークを示している。
【００２８】
各ストロークデータは、１つのストロークに対応する座標データ系列（時系列座標）、つまり１つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ｃ」に関しては、ストロークデータＳＤ１は、手書き文字「Ｃ」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「ｕ」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数ｎはストロークデータ毎に異なっていてもよい。
【００２９】
各座標データは、対応する軌跡内のある１点に対応するＸ座標及びＹ座標を示す。例えば、座標データＳＤ１１は、「Ｃ」形状のストロークの始点のＸ座標（Ｘ１１）及びＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「Ｃ」形状のストロークの終点のＸ座標（Ｘ１ｎ）及びＹ座標（Ｙ１ｎ）を示す。
【００３０】
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）又はある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。
【００３１】
このように、各座標データにタイムスタンプ情報Ｔが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。さらに、各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。
【００３２】
次いで、図５を参照して、クラウドサーバ１の機能構成と、当該クラウドサーバ１と連携する手書き端末２Ａ及び閲覧端末２Ｂ，２Ｃの機能構成とについて説明する。  
まず、手書き端末２Ａについて説明する。  
手書き端末２Ａは、手書き入力ディスプレイ（タッチスクリーンディスプレイ）２０６を用いた手書き入力に応じて手書き文書データ２０４Ａを生成し、生成された手書き文書データ２０４Ａをクラウドサーバ１にアップロードするための手書き文書作成プログラム２０２Ｂを実行する。手書き文書作成プログラム２０２Ｂは、手書き情報検出部２２、手書き情報処理部２３及び手書き情報送信部２４を備える。
【００３３】
手書き情報検出部２２は、手書き入力ディスプレイ２０６の画面上の外部オブジェクト（ペン１００又は指）の動きの軌跡を検出する。手書き情報検出部２２は、検出された軌跡上の点それぞれに対応する座標データ系列（時系列座標）を示すストロークデータを生成する。手書き情報検出部２２は、生成されたストロークデータを手書き情報処理部２３に出力する。なお、手書き情報検出部２２は、手書き入力ディスプレイ２０６の画面に、ワードプロセッシングソフトウェアによって作成された文書や、プレゼンテーションソフトウェアによって作成されたスライド等が表示されているときに、その画面上での外部オブジェクトの動きの軌跡を検出して、ストロークデータを生成することもできる。
【００３４】
手書き情報処理部２３は、手書き情報検出部２２によって出力されたストロークデータを記憶装置２０４に保存する。手書き情報処理部２３は、複数のストロークデータを所定の条件に基づいてまとめて、手書き文書データ２０４Ａとして記憶装置２０４に保存することもできる。具体的には、手書き情報処理部２３は、例えば、１以上のストロークデータを文字毎や図形毎の「ブロック」単位でまとめて保存する。また、手書き情報処理部２３は、例えば、１以上のストロークデータを所定の面積（例えば、画面サイズ）毎の「ページ」単位でまとめて保存する。ストロークデータを所定の条件に基づいてまとめて保存する場合、手書き情報処理部２３は、ストロークデータに「ブロック」や「ページ」の情報を付加した手書き文書データ２０４Ａを生成して、記憶装置２０４に保存する。手書き情報処理部２３は、手書き文書データ２０４Ａを、ブロック間やページ間の関連を付加して保存することもできる。例えば、手書き情報処理部２３は、あるブロック（又は、ストローク、ページ）に対応する手書き文書データ２０４Ａを、別のブロック（又は、ストローク、ページ）に対応する手書き文書データ２０４Ａと関連付けて保存する。また、手書き情報処理部２３は、ワードプロセッシングソフトウェアによって作成された文書や、プレゼンテーションソフトウェアによって作成されたスライド等が表示された画面上での入力操作に基づく手書き文書データ２０４Ａを、その文書（文書ファイル）やスライド（プレゼンテーション用ファイル）と関連付けて保存することもできる。
【００３５】
手書き情報処理部２３は、さらに、生成された手書き文書データ２０４Ａがクラウドサーバ１にアップロードされた際のアクセス権を設定するためのアクセス権データ（アクセス権データのエントリ）を生成してもよい。手書き情報処理部２３は、例えば、ユーザによる指示に応じて、手書き文書データ２０４Ａのためのアクセス権データを生成する。このアクセス権データは、例えば、閲覧が許可されるユーザ（又はコンピュータ）の範囲や、閲覧が許可されるデータの範囲（ブロック、ページ、ストローク等の範囲）、閲覧が許可される期間（公開期間）等を示す。
【００３６】
手書き情報処理部２３は、生成された手書き文書データ２０４Ａ（又は、ストロークデータ）及びアクセス権データと、記憶装置２０４に格納されたユーザデータ２０４Ｂ（ユーザデータのエントリ）とを手書き情報送信部２４に出力する。このユーザデータ２０４Ｂは、手書き文書を作成したユーザに関する情報（例えば、ユーザ名、ユーザＩＤ等）、手書き文書に関するキーワード（タグ）等を含む。ユーザデータ２０４Ｂは、手書き入力操作時に、ユーザによって入力されてもよい。
【００３７】
手書き情報送信部２４は、手書き情報処理部２３によって出力された手書き文書データ２０４Ａ、アクセス権データ及びユーザデータ２０４Ｂを、無線通信デバイス等を用いてクラウドサーバ１に送信する（アップロード）。
【００３８】
次いで、クラウドサーバ１について説明する。クラウドサーバ１は、手書き端末２Ａによってアップロードされた手書き文書データ１４Ａを管理するための手書き文書管理プログラム１２Ｂを実行する。手書き文書管理プログラム１２Ｂは、手書き情報受信部４１、手書き情報格納部４２、特徴量抽出部４３、要求受信部４４、手書き文書検索部４５、文書データ変換部４６、及びデータ送信部４７を備える。クラウドサーバ１は、上述のように、手書き端末２Ａによって送信された手書き文書データをストレージに保存する機能と、保存された手書き文書データを閲覧端末２Ｂ，２Ｃに配信する機能とを有する。
【００３９】
まず、手書き端末２Ａによって送信された手書き文書データをストレージに保存する機能について説明する。  
手書き情報受信部４１は、手書き端末２Ａ（手書き情報送信部２４）によって送信された手書き文書データ２０４Ａ、アクセス権データ及びユーザデータ２０４Ｂを、通信デバイス等を用いて受信する。手書き情報受信部４１は受信した手書き文書データ２０４Ａ、アクセス権データ及びユーザデータ２０４Ｂを手書き情報格納部４２に出力する。
【００４０】
手書き情報格納部４２は、手書き情報受信部４１によって出力された手書き文書データ２０４Ａ、アクセス権データ及びユーザデータ２０４Ｂを記憶装置１４に格納する。より具体的には、手書き情報格納部４２は、手書き情報受信部４１によって出力されたユーザデータ２０４Ｂのエントリを、記憶装置１４に格納されたユーザデータ１４Ｂに追加する。また、手書き情報格納部４２は、手書き情報受信部４１によって出力されたアクセス権データのエントリを、記憶装置１４に格納されたアクセス権データ１４Ｃに追加する。なお、手書き情報格納部４２は、手書き端末２Ａから、手書き文書データ２０４Ａに対応するアクセス権データが送信されていない場合、手書き文書データ２０４Ａに対する、アクセス権を設定するためのアクセス権データのエントリを生成して、記憶装置１４に格納されたアクセス権データ１４Ｃに追加してもよい。また、この記憶装置１４は、クラウドサーバ１内に設けられてもよいし、クラウドサーバ１と連携するファイルサーバ等の他のコンピュータ内に設けられてもよい。
【００４１】
図６は、クラウドサーバ１によって用いられるユーザデータ１４Ｂの一構成例を示す。ユーザデータ１４Ｂは、手書き端末２Ａ又は閲覧端末２Ｂ，２Ｃを使用してクラウドサーバ１にアクセスする、複数のユーザに対応する複数のエントリを含む。各エントリは、例えば、ユーザＩＤ及びユーザ名を含む。あるユーザに対応するエントリにおいて、「ユーザＩＤ」は、そのユーザに付与された識別情報を示す。「ユーザ名」は、そのユーザの名前を示す。
【００４２】
また、図７は、クラウドサーバ１によって用いられるアクセス権データ１４Ｃの一構成例を示す。アクセス権データ１４Ｃは、例えば、手書き文書データ１４Ａに対する複数のアクセス権設定に対応する複数のエントリを含む。各エントリは、例えば、データＩＤ、作成ユーザＩＤ、アクセスユーザＩＤ、及びアクセス範囲を含む。ある手書き文書データ１４Ａに対するアクセス権設定に対応するエントリにおいて、「データＩＤ」は、その手書き文書データ１４Ａに付与された識別情報を示す。「作成ユーザＩＤ」は、その手書き文書データ１４Ａを作成したユーザ（アカウント）のユーザＩＤを示す。「アクセスユーザＩＤ」は、その手書き文書データ１４Ａへのアクセスが許可されたユーザ（アカウント）のユーザＩＤを示す。「アクセス範囲」は、その手書き文書データ１４Ａの内、「アクセスユーザＩＤ」に示されたユーザＩＤを有するユーザに対して、アクセスが許可されたデータの範囲を示す。「アクセス範囲」には、例えば、その手書き文書データ１４全体をアクセス可能であること（“all”）、その手書き文書データ１４内の所定のページ（“page 1-3”）にアクセス可能であること、その手書き文書データ１４内の所定のブロック（“block 1-10”）にアクセス可能であること等が設定される。このようにアクセス範囲が設定されることによって、例えば、ユーザ（アクセスユーザ）毎に、異なる見え方の手書き文書を提供することができる。なお、アクセス権データ１４Ｃのエントリは、手書き文書データ１４Ａが公開される期間を含んでもよい。
【００４３】
手書き情報格納部４２は、上述のユーザデータ１４Ｂとアクセス権データ１４Ｃとを用いて、手書き文書データ１４Ａを、当該手書き文書データ１４Ａを作成したユーザに関する情報と、当該手書き文書データ１４Ａに対するアクセス権に関する情報とに関連付けて保存する。
【００４４】
なお、手書き情報受信部４１は、手書き端末２Ａから受信した手書き文書データ１０４Ａを特徴量抽出部４３に出力してもよい。特徴量抽出部４３は、手書き文書データ１０４Ａに含まれるストロークデータを用いて特徴量を算出する。特徴量抽出部４３は、例えば、ストロークデータである時系列の座標データ列を用いて、座標や時刻に関する特徴量を算出する。特徴量抽出部４３は、手書き文書データ１０４Ａを解析して、手書き文書に含まれる手書きの文字を文字コードに変換したり、手書きの図形を所定の図形オブジェクトに変換してもよい。特徴量抽出部４３は、算出された特徴量を特徴量データ１４Ｄとして記憶装置１４に格納する。
【００４５】
次いで、クラウドサーバ１における、保存された手書き文書データを閲覧端末２Ｂ，２Ｃに配信する機能について説明する。  
まず、要求受信部４４は、閲覧端末２Ｂ，２Ｃ（要求送信部３１）による、手書き文書データの配信要求を受信する。この配信要求は、例えば、閲覧端末２Ｂ，２Ｃに関する端末情報、閲覧端末２Ｂ，２Ｃを使用しているユーザに関するユーザ情報と、手書き文書データ１４Ａを検索するための検索キーとを含む。端末情報は、例えば、閲覧端末２Ｂ，２Ｃの識別情報（端末ＩＤ）、閲覧端末２Ｂ，２Ｃの機種を示す情報、閲覧端末２Ｂ，２Ｃ上で実行されるＯＳを示す情報、閲覧端末２Ｂ，２Ｃが手書き文書データ（ストロークデータ）を解析して手書き文書を表示する機能（以下、手書き文書表示機能とも称する）を有するか否かを示す情報、閲覧端末２Ｂ，２Ｃの画面サイズを示す情報等を含む。ユーザ情報は、ユーザＩＤやユーザ名等を含む。検索キーは、例えば、ストロークデータを含む。つまり、要求受信部４４は、記憶装置１４内の手書き文書データ１４Ａを検索するための、手書き文字列や手書き図形等に対応するストロークデータを検索キーとして受信する。配信要求は、さらに、クラウドサーバ１から要求元の閲覧端末２Ｂ，２Ｃに配信されるデータの形式を示すフォーマット情報を含んでもよい。フォーマット情報は、例えば、ファイル形式や、そのデータが利用されるアプリケーションプログラム（例えば、Word（登録商標）、PowerPoint（登録商標）、Excel（登録商標）、メーラプログラム）を示す。要求受信部４４は、端末情報、ユーザ情報、検索キー、フォーマット情報等を、特徴量抽出部４３、手書き文書検索部４５及び文書データ変換部４６に出力する。
【００４６】
特徴量抽出部４３は、要求受信部４４によって出力された検索キーを解析することによって、第１特徴量を抽出する。より具体的には、特徴量抽出部４３は、検索キーに含まれるストロークデータ（時系列の座標データ列）を用いて、座標や時刻に基づく第１特徴量を算出する。同様に、特徴量抽出部４３は、記憶装置１４に格納された手書き文書データ１４Ａを解析することによって、手書き文書データ１４Ａに含まれるストロークデータを用いて、座標や時刻に基づく特徴量を算出する。特徴量抽出部４３は、算出された手書き文書データ１４Ａの特徴量を、特徴量データ１４Ｄとして記憶装置１４に保存する。そして、特徴量抽出部４３は、算出された検索キーの第１特徴量を手書き文書検索部４５に出力する。なお、特徴量抽出部４３は、手書き文書データ１４Ａの特徴量を、その手書き文書データ１４Ａが手書き端末２Ａから受信されたこと、閲覧端末２Ｂ，２Ｃによる検索要求が受信されたこと等に応じて算出する。
【００４７】
手書き文書検索部４５は、特徴量抽出部４３によって出力された、検索キーの第１特徴量を用いて、記憶装置１４に格納された手書き文書データ１４Ａを検索する。手書き文書検索部４５は、例えば、記憶装置１４に格納された手書き文書データ１４Ａに対応する特徴量データ１４Ｄを用いて、検索キーの第１特徴量との類似度がしきい値以上である第２特徴量を有する手書き文書データ１４Ａを取得する。これにより、手書き文書検索部４５は、例えば、記憶装置１４に格納された手書き文書データ１４Ａから、検索キーに基づく手書き文書データの候補群、又は最も適切と推定される手書き文書データの候補を取得する。手書き文書検索部４５は、各手書き文書データ１４Ａの閲覧回数や、手書き文書データ１４Ａの作成ユーザと要求元端末２Ｂ，２Ｃのユーザとの関連を考慮して、手書き文書データの候補を取得してもよい。手書き文書検索部４５は、取得された手書き文書データの候補（候補群）を文書データ変換部４６に出力する。
【００４８】
手書き文書検索部４５は、さらに、アクセス権データ１４Ｃを用いて、取得された手書き文書データの候補群それぞれに対するアクセスが要求元の閲覧端末２Ｂ，２Ｃ（又は、要求元の閲覧端末２Ｂ，２Ｃのユーザ）に許可されているか否かを判定してもよい。つまり、手書き文書検索部４５は、手書き文書データの候補群を、要求元の閲覧端末２Ｂ，２Ｃによるアクセスが許可された候補に絞り込むことができる。この場合、手書き文書検索部４５は、アクセス権に基づいて絞り込まれた手書き文書データの候補（候補群）を文書データ変換部４６に出力する。
【００４９】
また、例えば、閲覧端末２Ｂ，２Ｃにタッチスクリーンディスプレイが設けられていない場合、閲覧端末２Ｂ，２Ｃからの検索要求に含まれる検索キーは、手書き文書データに含まれる文字列（又は、図形等）、手書き文書データの作成ユーザ、アクセスユーザ、作成時刻、アクセス時刻等が指定された検索条件であってもよい。その場合、手書き文書検索部４５は、記憶装置１４に格納された手書き文書データ１４Ａから、その検索条件を満たす（且つ、要求元の閲覧端末２Ｂ，２Ｃによるアクセスが許可された）手書き文書データを取得して、文書データ変換部４６に出力する。
【００５０】
文書データ変換部４６は、手書き文書検索部４５によって出力された手書き文書データを、要求元端末２Ｂ，２Ｃによって要求された形式や、要求元端末２Ｂ，２Ｃに適した形式等に変換して、データ送信部４７に出力する。
【００５１】
文書データ変換部４６は、例えば、閲覧端末２Ｂ，２Ｃの端末情報が、当該閲覧端末２Ｂ，２Ｃが手書き文書表示機能を有しないことを示す場合、手書き文書検索部４５によって出力された手書き文書データを、閲覧端末２Ｂ，２Ｃによって表示可能なフォーマットのデータ（例えば、イメージデータ）に変換する。なお、閲覧端末２Ｂ，２Ｃが手書き文書表示機能を有する場合、文書データ変換部４６は、手書き文書検索部４５によって出力された手書き文書データをそのままデータ送信部４７に出力する。
【００５２】
また、文書データ変換部４６は、端末情報に示される閲覧端末２Ｂ，２Ｃの画面サイズに基づいて、手書き文書検索部４５によって出力された手書き文書データを、閲覧端末２Ｂ，２Ｃの画面サイズに応じた表示サイズに変換してもよい。
【００５３】
文書データ変換部４６は、さらに、手書き文書検索部４５によって出力された手書き文書データを用いて、新たなデータを生成することもできる。例えば、文書データ変換部４６は、手書き文書に含まれる手書きの文字、図形、表等を認識して、手書き文書検索部４５によって出力された手書き文書データを別のソフトウェア（アプリケーションプログラム）で利用可能な形式に変換する。文書データ変換部４６は、手書き文書データを、例えばフォーマット情報に指定された形式に変換する。
【００５４】
より具体的には、文書データ変換部４６は、変換対象の手書き文書データに含まれる時系列の複数のストロークデータをグループ化処理することによって得られる複数のブロック（手書きブロック）の各々を文字として認識することによって、これら複数のブロック内の手書き文字それぞれを文字コードに変換する。グループ化処理では、互いに近傍に位置し且つ連続的に手書きされたストロークにそれぞれ対応するストロークデータ同士が同一ブロックに分類されるように、時系列の複数のストロークデータがグループ化される。文書データ変換部４６は、例えば、複数の文字それぞれの特徴を示す文字情報を予め保持しており、手書き文字と複数の文字それぞれとの間の類似度を算出する。そして、手書き文字は、この手書き文字に関する類似度が最も高い文字に対応する文字コードに変換される。
【００５５】
また、文書データ変換部４６は、上述のグループ化処理によって得られる複数のブロック内の処理対象ブロックを、複数の図形オブジェクトの内の１つの図形オブジェクトに変換する。つまり、手書き文書内に含まれる手書きの図形は、PowerPointのようなプレゼンテーションのためのアプリケーションプログラムが扱うことが可能な図形オブジェクトに変換される。文書データ変換部４６は、例えば、複数の図形オブジェクトそれぞれの特徴を示す図形情報を予め保持しており、手書き図形と複数の図形オブジェクトそれぞれとの間の類似度を算出する。そして、手書き図形は、この手書き図形に関する類似度が最も高い図形オブジェクトに変換される。
【００５６】
類似度の算出においては、手書き図形を必要に応じて回転、拡大、又は縮小してもよく、回転、拡大、又は縮小された後の手書き図形と複数の図形オブジェクトそれぞれとの間の類似度が求められる。そして、手書き図形に関する類似度が最も高い図形オブジェクトが選択され、この選択された図形オブジェクトは、手書き図形に対して施された回転、拡大、又は縮小の処理内容に基づいて変形される。この変形された図形オブジェクトが、手書き図形の代わりに表示される。
【００５７】
手書き文字間の類似度の計算方法としては、様々な方法を使用することができる。例えば各ストロークの座標列をベクトルとして扱ってもよい。この場合、比較対象のベクトル同士の類似度を計算するために、それら比較対象のベクトル間の内積を比較対象のベクトル間の類似度として算出してもよい。また他の例としては、各ストロークの軌跡を画像として扱い、比較対象の軌跡間の画像の重なりがもっとも多くなる部分の面積の大きさを上述の類似度として計算してもよい。さらに計算処理量を減らすための任意の工夫をしてもよい。また、手書き文字間の類似度の計算方法として、ＤＰ（Dynamic Programming）マッチングを使用してもよい。これにより、手書きで描いた図形を容易にPowerPoint等のペイント系の文書（アプリケーションデータ）に変換することができる。
【００５８】
文書データ変換部４６は、さらに、上述のグループ化処理によって得られる複数のブロック内の処理対象ブロックが、幾つかの線状の軌跡の組み合わせを含む表形状であるか否かを認識する。処理対象ブロックが表形状であることが認識された場合、文書データ変換部４６は、この処理対象ブロックを、認識された表形状の縦横の要素数と同じ縦横の要素数を有するテーブルオブジェクトに変換する。
【００５９】
手書き文書内に含まれる手書きの表は、Excelなどの表計算アプリケーションプログラムが扱うことが可能なテーブルオブジェクトに変換される。文書データ変換部４６は、手書き文書内の縦横の線の組み合わせを認識し、それらの組み合わせが表を構成していることを認識する。テーブルオブジェクトへの変換処理において、手書きの表内の各手書き要素を手書きデータのままテーブルオブジェク内の要素に入力してもよい。あるいは、手書きの表内の各手書き要素を文字認識することによって得られる文字コードを、テーブルオブジェクト内の要素に入力してもよい。
【００６０】
文書データ変換部４６は、例えば、予め保持された辞書データを用いて、認識された文字、図形、表から、悪意のある情報を取り除くこともできる。
【００６１】
上述の様々な変換処理は、手書き文書検索部４５によって出力された手書き文書データに対して、いずれか一つの処理が施されてもよいし、複数の処理が適宜組み合わせて施されてもよい。
【００６２】
データ送信部４７は、文書データ変換部４６によって出力された手書き文書データ（又は、手書き文書データが所定の形式に変換されたデータ）を、要求元の閲覧端末２Ｂ，２Ｃに送信する。
【００６３】
次いで、閲覧端末２Ｂ，２Ｃについて説明する。  
閲覧端末２Ｂ，２Ｃは、クラウドサーバ１からデータをダウンロードして、閲覧するための手書き文書閲覧プログラム２１２Ｂを実行する。手書き文書閲覧プログラム２１２Ｂは、要求送信部３１、データ受信部３２及び表示制御部３３を備える。
【００６４】
要求送信部３１は、例えばユーザによる要求に応じて、クラウドサーバ１に対して、手書き文書データの配信要求を送信する。配信要求は、クラウドサーバ１に関する説明で上述したように、閲覧端末２Ｂ，２Ｃに関する端末情報、閲覧端末２Ｂ，２Ｃを使用しているユーザに関するユーザ情報、手書き文書データ１４Ａを検索するための検索キー、閲覧端末２Ｂ，２Ｃに配信されるデータの形式を示すフォーマット情報等を含む。端末情報は、例えば、閲覧端末２Ｂ，２Ｃが手書き文書データ（ストロークデータ）を解析して手書き文書を表示する機能（手書き文書表示機能）を有するか否かを示す情報、閲覧端末２Ｂ，２Ｃの画面サイズを示す情報等を含む。ユーザ情報は、ユーザＩＤやユーザ名等を含む。
【００６５】
また、手書き入力ディスプレイを備える閲覧端末２Ｂ，２Ｃでは、手書き端末２Ａと同様にして、手書き入力ディスプレイの画面上の外部オブジェクト（ペン又は指）の動きの軌跡が検出され、検出された軌跡上の点それぞれに対応する座標データ系列（時系列座標）を示すストロークデータが生成される。要求送信部３１は、その生成されたストロークデータを検索キーとしてクラウドサーバ１に送信することができる。すなわち、手書き入力ディスプレイを備える閲覧端末２Ｂ，２Ｃでは、ユーザは、手書き入力ディスプレイを用いて、クラウドサーバ１に格納された手書き文書データ１４Ａを検索するための検索キーとして、手書きの文字列、図形、表等を入力することができる。一方、手書き入力ディスプレイが設けられていない閲覧端末２Ｂ，２Ｃでは、例えば、キーボード等を用いて入力された文字列が検索キーに設定される。  
要求送信部３１は、手書き文書データの作成ユーザ、アクセスユーザ、作成時刻、アクセス時刻等が指定された検索条件をさらに検索キーに設定してもよい。
【００６６】
また、要求送信部３１は、クラウドサーバ１によって配信されるデータのファイル形式や、閲覧端末２Ｂ，２Ｃによって実行される（データが利用される）アプリケーションプログラム（例えば、Word、PowerPoint、Excel）を、フォーマット情報に設定する。
【００６７】
データ受信部３２は、クラウドサーバ１によって配信要求に応じて配信されたデータを受信する（ダウンロード）。データ受信部３２は、受信したデータを表示制御部３３に出力する。データ受信部３２は、受信したデータを記憶装置２１４に格納してもよい。
【００６８】
表示制御部３３は、データ受信部３２によって出力されたデータを用いて、ディスプレイ２１６の画面に手書き文書等を表示する。より具体的には、データ受信部３２によって手書き文書データが出力されている場合（すなわち、閲覧端末２Ｂ，２Ｃが手書き文書表示機能を有する場合）、表示制御部３３は、その手書き文書データに含まれる複数のストロークデータに対応する軌跡をディスプレイ２１６の画面に表示する。手書き文書表示機能を有する閲覧端末２Ｂ，２Ｃは、例えば、手書き文書データを取り扱うための専用のアプリケーションプログラムを有する端末である。
【００６９】
なお、手書き入力ディスプレイを備える閲覧端末２Ｂ，２Ｃでは、ユーザは、画面に表示された手書き文書にさらに、手書きの文字列、図、表等を追記することもできる。表示されたデータ上に、手書きの文字列、図形、表等がさらに入力されるとき、閲覧端末２Ｂ，２Ｃは、手書き端末２Ａと同様にして、手書き入力ディスプレイの画面上の外部オブジェクト（ペン又は指）の動きの軌跡を検出し、検出された軌跡上の点それぞれに対応する座標データ系列（時系列座標）を示すストロークデータを生成し、元の手書き文書データに追加する。閲覧端末２Ｂ，２Ｃは、追加されたストロークデータを含む手書き文書データをクラウドサーバ１に送信（アップロード）する。これにより、閲覧端末２Ｂ，２Ｃで追記された手書き文書データをクラウドサーバ１に保存することができる。
【００７０】
また、データ受信部３２によって、所定のファイル形式に変換されたデータ（変換後データ）が出力されている場合、表示制御部３３は、そのファイル形式に関連付けられたアプリケーションプログラムに、そのデータを表示させる。例えば、JPEG等のイメージに変換されたデータが出力されている場合、表示制御部３３は、そのイメージを表示可能な所定のアプリケーションプログラムを起動し、出力されたデータに対応するイメージを画面に表示させる。また、例えば、PowerPointのためのファイル形式（例えば、ＰＰＴ）に変換されたデータが出力されている場合、表示制御部３３は、PowerPointを起動し、出力されたデータに対応するスライド等を画面に表示させる。
【００７１】
なお、手書き入力ディスプレイを備える閲覧端末２Ｂ，２Ｃでは、ユーザは、画面に表示された変換後データ（画像、スライド等）に、さらに、手書きの文字列、図形、表等を入力することができる。表示された変換後データ上に、手書きの文字列、図形、表等がさらに入力されるとき、閲覧端末２Ｂ，２Ｃは、手書き端末２Ａと同様にして、手書き入力ディスプレイの画面上の外部オブジェクト（ペン又は指）の動きの軌跡を検出し、検出された軌跡上の点それぞれに対応する座標データ系列（時系列座標）を示すストロークデータを含む手書き文書データを生成する。この手書き文書データは、画面に表示されている画像やスライド等の座標系に基づく座標データ系列（ストロークデータ）を含んでもよいし、画面に表示されている画像やスライド等との座標系の相対関係を示す情報を含んでもよい。そして、閲覧端末２Ｂ，２Ｃは、画面に表示されている画像やスライド等の変換後データ（すなわち、JPEGデータやPowerPointのデータ）と、生成された手書き文書データとを関連付けて、クラウドサーバ１にアップロードする。
【００７２】
クラウドサーバ１は、これら変換後データと手書き文書データとを関連付けて保存する。したがって、別の閲覧端末２Ｂ，２Ｃでは、クラウドサーバ１から変換後データと手書き文書データとのペアをダウンロードし、変換後データを用いた画像やスライド上に、手書き文書データを用いた手書き文書を、生成時と同じ位置に（すなわち、手書きしたユーザの意図した位置に）重ね合わせて表示することができる。
【００７３】
なお、表示制御部３３は、表示しているデータの元となった手書き文書データ１４Ａの作成者や作成日時等の関連情報を表示することもできる。ユーザは、この表示により、表示されている文書（又は画像、スライド等）の作成者や作成日時を確認することができる。
【００７４】
以上の構成により、クラウドサーバ１は、閲覧端末２Ｂ，２Ｃが有する機能に依存することなく手書き文書データを提供することができる。クラウドサーバ１は、手書き端末２Ａによって送信された手書き文書データをクラウドサーバ１内のストレージ１４に格納する。そして、クラウドサーバ１は、閲覧端末２Ｂ，２Ｃによる要求に応じて、ストレージに格納された複数の手書き文書データ１４Ａの内の手書き文書データを、ネットワークを介して閲覧端末２Ｂ，２Ｃに送信する。これにより、あるユーザは、そのユーザ自身が作成した手書き文書データ１４Ａを閲覧（検索）できるだけでなく、自身が作成した手書き文書データ１４Ａを他のユーザに閲覧させることや、他のユーザが作成した手書き文書データ１４Ａを閲覧することもできる。また、アクセス権データ１４Ｃを用いることによって、ユーザに応じて（例えば、知人、知らない人等に応じて）、閲覧の許可／不許可を制御することもできる。
【００７５】
上述のように、クラウドサーバ１において、手書き端末２Ａで生成された手書き文書データが管理され、閲覧端末２Ｂ，２Ｃに提供されるので、各端末２Ａ，２Ｂ，２Ｃにおけるローカルの処理負荷を低減することができる。
【００７６】
図８は、クラウドサーバ１によって、手書き文書データ１４Ａから変換されたデータの例を示す。ここでは、図３で示した手書き文書５１に対応する手書き文書データ１４Ａが、プレゼンテーションソフトウェアで用いられるプレゼンテーション資料であるスライド５２のデータに変換されることを想定する。
【００７７】
上述のように、クラウドサーバ１の文書データ変換部４６は、手書き文書データ１４Ａに含まれる時系列順のストロークデータを用いて、手書き文書５１に含まれる文字、記号、図形、表等を認識する。そして、文書データ変換部４６は、手書きの文字、手書きの図形、手書きの表を、文字コード、図形オブジェクト、テーブルオブジェクトにそれぞれ変換し、プレゼンテーションソフトウェアで用いられるスライド５２のデータに変換する。
【００７８】
次いで、図９は、クラウドサーバ１のシステム構成の例を示す。クラウドサーバ１は、ＣＰＵ（Central Processing Unit）１１、主メモリ１２、Ｉ／Ｏデバイス１３、ハードディスクドライブ（ＨＤＤ）１４、グラフィクスコントローラ１５、ＬＣＤ（Liquid Crystal Display）１６、及びＬＡＮコントローラ１７等を備える。
【００７９】
ＣＰＵ１１は各種プログラムを実行するプロセッサである。ＣＰＵ１１は、各種演算処理を実行すると共に、クラウドサーバ１内の各部を制御する。
【００８０】
主メモリ１２は、ＣＰＵ１１によって実行される、オペレーティングシステム（ＯＳ）１２Ａ、手書き文書管理プログラム１２Ｂのような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ１２には、例えばＯＳ１２Ａ及び手書き文書管理プログラム１２Ｂがロードされている。
【００８１】
Ｉ／Ｏデバイス１３は、クラウドサーバ１に対するデータの入出力を実行するための各種入出力デバイスである。また、ＨＤＤ１４は、各種プログラムやデータを格納するための不揮発性の記憶装置である。ＨＤＤ１４に格納された各種プログラムやデータは、クラウドサーバ１内の各部による要求に応じて、主メモリ１２へロードされる。主メモリ１２にロードされる手書き文書管理プログラム１２Ｂの動作は、図５等を参照して説明した通りである。
【００８２】
グラフィクスコントローラ１５は、クラウドサーバ１のディスプレイモニタとして使用されるＬＣＤ１６を制御する。このグラフィクスコントローラ１５によって生成される表示信号はＬＣＤ１６に送られる。グラフィクスコントローラ１５及びＬＣＤ１６を用いることにより、例えば、管理者による操作に応じた画面を表示することができる。  
ＬＡＮコントローラ１７は、例えばＥｔｈｅｒｎｅｔ（登録商標）規格の有線通信を実行する有線通信デバイスである。
【００８３】
図１０は、手書き端末（第１電子機器）２Ａのシステム構成の例を示す。手書き端末２Ａは、ＣＰＵ（Central Processing Unit）２０１、主メモリ２０２、ソリッドステートドライブ（ＳＳＤ）２０４、グラフィクスコントローラ２０５、タッチスクリーンディスプレイ２０６、及び無線ＬＡＮコントローラ２０７等を備える。
【００８４】
ＣＰＵ２０１は各種プログラムを実行するプロセッサである。ＣＰＵ２０１は、各種演算処理を実行すると共に、手書き端末２Ａ内の各部を制御する。
【００８５】
主メモリ２０２は、ＣＰＵ２０１によって実行される、オペレーティングシステム２０２Ａ、手書き文書作成プログラム２０２Ｂのような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ２０２には、例えばＯＳ２０２Ａ及び手書き文書作成プログラム２０２Ｂがロードされている。
【００８６】
ＳＳＤ２０４は、各種プログラムやデータを格納するための不揮発性の記憶装置である。ＳＳＤ２０４に格納された各種プログラムやデータは、手書き端末２Ａ内の各部による要求に応じて、主メモリ２０２へロードされる。主メモリ２０２にロードされる手書き文書作成プログラム２０２Ｂの動作は、図５等を参照して説明した通りである。
【００８７】
グラフィクスコントローラ２０５は、タッチスクリーンディスプレイ２０６に表示すべき表示信号を生成する。タッチスクリーンディスプレイ２０６には、フラットパネルディスプレイ２０６Ａと、フラットパネルディスプレイ２０６Ａの画面上のペン又は指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイ２０６Ａは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル２０６Ｂ、電磁誘導方式のデジタイザなどを使用することができる。  
無線ＬＡＮコントローラ２０７はＩＥＥＥ  ８０２．１１規格に基づいて無線通信を実行するように構成されている。
【００８８】
図１１は、閲覧端末（第２電子機器）２Ｂ，２Ｃのシステム構成の例を示す。閲覧端末２Ｂ，２Ｃは、ＣＰＵ（Central Processing Unit）２１１、主メモリ２１２、ソリッドステートドライブ（ＳＳＤ）２１４、グラフィクスコントローラ２１５、液晶表示装置（ＬＣＤ）２１６、及び無線ＬＡＮコントローラ２１７等を備える。
【００８９】
ＣＰＵ２１１は各種プログラムを実行するプロセッサである。ＣＰＵ２１１は、各種演算処理を実行すると共に、閲覧端末２Ｂ，２Ｃ内の各部を制御する。
【００９０】
主メモリ２１２は、ＣＰＵ２１１によって実行される、オペレーティングシステム２１２Ａ、手書き文書閲覧プログラム２１２Ｂのような各種アプリケーションプログラム、及び各種データを格納するためのメインメモリである。主メモリ２１２には、例えばＯＳ２１２Ａ及び手書き文書閲覧プログラム２１２Ｂがロードされている。
【００９１】
ＳＳＤ２１４は、各種プログラムやデータを格納するための不揮発性の記憶装置である。ＳＳＤ２１４に格納された各種プログラムやデータは、閲覧端末２Ｂ，２Ｃ内の各部による要求に応じて、主メモリ２１２へロードされる。主メモリ２１２にロードされる手書き文書閲覧プログラム２１２Ｂの動作は、図５等を参照して説明した通りである。
【００９２】
グラフィクスコントローラ２１５は、閲覧端末２Ｂ，２Ｃのディスプレイモニタとして使用されるＬＣＤ２１６を制御する。このグラフィクスコントローラ２１５によって生成される表示信号はＬＣＤ２１６に送られる。グラフィクスコントローラ２１５及びＬＣＤ２１６を用いることにより、例えば、クラウドサーバ１から受信した手書き文書、画像、スライド等を表示することができる。なお、閲覧端末２Ｂ，２Ｃは、手書き端末２Ａに設けられたタッチスクリーンディスプレイ２０６と同様のタッチスクリーンディスプレイを備えてもよい。  
無線ＬＡＮコントローラ２１７はＩＥＥＥ  ８０２．１１規格に基づいて無線通信を実行するように構成されている。
【００９３】
次いで、図１２のフローチャートを参照して、手書き端末２Ａによって実行されるアップロード処理の手順の例を示す。  
まず、手書き情報検出部２２は、手書き入力ディスプレイ（タッチスクリーンディスプレイ）２０６を用いた手書き入力操作が検出されたか否かを判定する（ブロックＢ１１）。手書き入力操作が検出されていない場合（ブロックＢ１１のＮＯ）、ブロックＢ１１に戻り、再度、手書き入力操作が検出されたか否かが判定される。
【００９４】
手書き入力操作が検出された場合（ブロックＢ１１のＹＥＳ）、手書き情報処理部２３は、検出された手書き入力操作によって入力された軌跡に対応するストロークデータを含む手書き文書データ２０４Ａを生成し、生成された手書き文書データ２０４Ａを記憶装置２０４に保存する（ブロックＢ１２）。また、手書き情報送信部２４は、生成された手書き文書データ２０４Ａをクラウドサーバ１にアップロードするか否かを判定する（ブロックＢ１３）。手書き情報送信部２４は、例えば、ユーザによって手書き文書データ２０４Ａのアップロードを要求する操作があった場合、記憶装置２０４内の所定の領域（例えば、所定のディレクトリ）に手書き文書データ２０４Ａが格納された場合等に、生成された手書き文書データ２０４Ａをクラウドサーバ１にアップロードすると判定する。
【００９５】
手書き文書データ２０４Ａをクラウドサーバ１にアップロードする場合（ブロックＢ１３のＹＥＳ）、手書き情報送信部２４は、手書き文書データ２０４Ａとユーザデータ２０４Ｂとをクラウドサーバ１に送信する（ブロックＢ１４）。ユーザデータ２０４Ｂは、例えば、手書き入力操作を行ったユーザを示す情報（例えば、ユーザ名、ユーザＩＤ等）を含む。また、手書き情報送信部２４は、さらに、手書き文書データ２０４Ａに対するアクセス権を設定するためのアクセス権データをクラウドサーバ１に送信してもよい。  
以上の処理により、手書き端末２Ａに設けられた手書き入力ディスプレイ２０６を用いた手書き入力操作に応じて、手書き文書データ２０４Ａが生成され、クラウドサーバ１にアップロードされる。
【００９６】
図１３は、クラウドサーバ１によって実行される手書き文書データ受信処理の手順の例を示すフローチャートである。  
まず、手書き情報受信部４１は、手書き端末２Ａによって送信された手書き文書データ２０４Ａとユーザデータ２０４Ｂとを受信する（ブロックＢ２１）。そして、手書き情報格納部２３は、受信した手書き文書データ２０４Ａとユーザデータ２０４Ｂとを関連付けて、記憶装置１４に格納する（ブロックＢ２２）。より具体的には、手書き情報格納部２３は、記憶装置１４に格納された手書き文書データ１４Ａに、受信した手書き文書データ２０４を追加する。手書き情報格納部２３は、記憶装置１４に格納されたユーザデータ１４Ｂに、受信したユーザデータ２０４Ｂに対応するエントリを追加する。また、手書き情報格納部２３は、手書き端末２Ａによって送信されたアクセス権データに対応するエントリを、記憶装置に格納されたアクセス権データ１４Ｃに追加することによって、格納（追加）された手書き文書データ２０４Ａに対するアクセス権を設定してもよい。
【００９７】
以上の処理により、手書き端末２Ａによって送信された手書き文書データ２０４Ａを、クラウドサーバ１内の記憶装置１４に格納することができる。
【００９８】
図１４は、閲覧端末２Ｂ，２Ｃによって実行されるダウンロード処理の手順の例を示すフローチャートである。以下では、手書きデータを検索キーとする検索要求が閲覧端末２Ｂ，２Ｃからクラウドサーバ１に送信されることを想定する。
【００９９】
まず、要求送信部３１は、クラウドサーバ１に対する手書き文書データの検索要求があるか否かを判定する（ブロックＢ３１）。手書き文書データの検索要求がない場合（ブロックＢ３１のＮＯ）、ブロックＢ３１に戻り、再度、手書き文書データの検索要求があるか否かが判定される。
【０１００】
クラウドサーバ１に対する手書き文書データの検索要求がある場合（ブロックＢ３１のＹＥＳ）、要求送信部３１は、手書き文書データ１４Ａを検索するための検索キーとして用いられる、手書きデータを検出する（ブロックＢ３２）。手書きデータは、手書き入力操作によって入力された軌跡に対応するストロークデータを含む。要求送信部３１は、検出された手書きデータ（検索キー）をクラウドサーバ１に送信する（ブロックＢ３３）。
【０１０１】
次いで、データ受信部３２は、クラウドサーバ１から、送信した手書きデータ（検索キー）に関連する手書き文書データ２１４Ａを受信する（ブロックＢ３４）。データ受信部３２は、受信した手書き文書データ２１４Ａを記憶装置２１４に格納する。表示制御部３３は、受信した手書き文書データ２１４Ａを用いて、ディスプレイ２１６に手書き文書を表示する（ブロックＢ３５）。  
以上の処理により、ユーザは、クラウドサーバ１からダウンロードされた、検索キーに対応する手書き文書データ２１４Ａを閲覧することができる。クラウドサーバ１からダウンロードされるデータは、手書き文書データに限らず、閲覧端末２Ｂ，２Ｃに適した形式に変換されたデータ（例えば、イメージ、スライド等）であってもよい。
【０１０２】
次いで、図１５のフローチャートを参照して、クラウドサーバ１によって実行される手書き文書データ送信処理の手順の例について説明する。以下では、図１４と同様に、手書きデータを検索キーとする検索要求が閲覧端末２Ｂ，２Ｃからクラウドサーバ１に送信されることを想定する。
【０１０３】
まず、要求受信部４４は、閲覧端末２Ｂ，２Ｃから、手書き文書データの検索要求を受信したか否かを判定する（ブロックＢ４１）。手書き文書データの検索要求を受信していない場合（ブロックＢ４１のＮＯ）、ブロックＢ４１に戻り、再度、手書き文書データの検索要求を受信したか否かが判定される。
【０１０４】
手書き文書データの検索要求を受信している場合（ブロックＢ４１のＹＥＳ）、要求受信部４４は、閲覧端末（すなわち、要求元端末）２Ｂ，２Ｃから、検索キーである手書きデータを受信する（ブロックＢ４２）。特徴量抽出部４３は、受信した手書きデータ（検索キー）を解析することによって、第１特徴量を抽出する（ブロックＢ４３）。そして、手書き文書検索部４５は、抽出された第１特徴量を用いて、記憶装置１４に格納された手書き文書データ１４Ａを検索することによって、その第１特徴量に対応する手書き文書データを取得する（ブロックＢ４４）。手書き文書検索部４５は、例えば、検索キーの第１特徴量との類似度がしきい値以上である第２特徴量を有する手書き文書データを取得する。
【０１０５】
次いで、手書き文書検索部４５は、アクセス権データ１４Ｃを用いて、要求元端末２Ｂ，２Ｃに対して、取得された手書き文書データへのアクセスが許可されているか否かを判定する（ブロックＢ４５）。取得された手書き文書データへのアクセスが許可されていない場合（ブロックＢ４５のＮＯ）、処理を終了する。なお、手書き文書検索部４５は、ブロックＢ４４に戻り、アクセスが許可された別の手書き文書データを検索してもよい。
【０１０６】
取得された手書き文書データへのアクセスが許可されている場合（ブロックＢ４５のＹＥＳ）、文書データ変換部４６は、取得された手書き文書データを、要求元端末２Ｂ，２Ｃによって要求された形式や、要求元端末２Ｂ，２Ｃに適した形式等に変換する（ブロックＢ４６）。具体的には、文書データ変換部４６は、例えば、要求元端末２Ｂ，２Ｃが手書き文書データを表示する機能（すなわち、手書き文書データに含まれるストロークデータを用いて、対応する軌跡が描画された手書き文書を表示する機能）を有するか否かに応じて、取得された手書き文書データを変換する。要求元端末２Ｂ，２Ｃが手書き文書データを表示する機能を持たない場合、手書き文書データを、手書き文書データに含まれるストロークデータに対応する軌跡が描画された画像データに変換する。また、文書データ変換部４６は、例えば、手書き文書データにストロークデータに対応する軌跡を分析することによって、文字、記号、表等のオブジェクトを認識し、ワードプロセッシングソフトウェアやプレゼンテーションソフトウェア、発想支援ツール等で用いられる形式（フォーマット）に変換する。  
そして、データ送信部４７は、変換された手書き文書データを要求元端末２Ｂ，２Ｃに送信する（ブロックＢ４７）。  
以上の処理により、クラウドサーバ１は、閲覧端末２Ｂ，２Ｃによる要求に応じて、手書き文書データを閲覧端末２Ｂ，２Ｃに送信することができる。
【０１０７】
以上説明したように、本実施形態によれば、配信対象の電子機器に応じて手書き文書データを提供することができる。クラウドサーバ１は、手書き端末２Ａによって送信された手書き文書データをクラウドサーバ１内のストレージ１４に格納する。そして、クラウドサーバ１は、閲覧端末２Ｂ，２Ｃによる要求に応じて、ストレージに格納された複数の手書き文書データ１４Ａの内の手書き文書データを、閲覧端末２Ｂ，２Ｃに送信する。これにより、クラウドサーバ１は、例えば、閲覧端末２Ｂ，２Ｃが有する機能に依存することなく手書き文書データを提供することができる。
【０１０８】
なお、図１２から図１５のフローチャートで説明した本実施形態の処理手順は全てソフトウェアによって実行することができる。このため、この処理手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１０９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１０】
１…クラウドサーバ装置、１２Ｂ…手書き文書管理プログラム、２Ａ…手書き端末、２Ｂ，２Ｃ…閲覧端末、２０２Ｂ…手書き文書作成プログラム、２１２Ｂ…手書き文書閲覧プログラム、２１…手書き入力ディスプレイ、２２…手書き情報検出部、２３…手書き情報処理部、２４…手書き情報送信部、２０４…記憶装置、２０４Ａ…手書き文書データ、２０４Ｂ…ユーザデータ、３１…要求送信部、３２…データ受信部、３３…表示制御部、２１６…ディスプレイ、２１４…記憶装置、２１４Ａ…手書き文書データ、４１…手書き情報受信部、４２…手書き情報格納部、４３…特徴量抽出部、４４…要求受信部、４５…手書き文書検索部、４６…文書データ変換部、４７…データ送信部、１４…記憶装置、１４Ａ…手書き文書データ、１４Ｂ…ユーザデータ、１４Ｃ…アクセス権データ、１４Ｄ…特徴量データ。
【要約】
【課題】配信対象の電子機器に応じて手書き文書データを提供できる情報処理装置を実現する。
【解決手段】実施形態によれば、情報処理装置は、ネットワークを介して複数の電子機器と接続可能であり、文書受信手段、文書格納手段、文書検索手段及び文書送信手段を具備する。文書受信手段は、タッチスクリーンディスプレイを用いた手書き入力操作によって手書きされる、複数のストロークに対応する複数のストロークデータを含む手書き文書データを第１電子機器から受信する。文書格納手段は、複数の手書き文書データが格納される記憶装置に前記受信した手書き文書データを追加する。文書検索手段は、第２電子機器による要求に応じて、前記記憶装置に格納された複数の手書き文書データから、前記要求に対応する第１手書き文書データを検索する。文書送信手段は、前記第１手書き文書データを前記第２電子機器に送信する。
【選択図】図５【図１】
0005270018.tif 000002
【図２】
0005270018.tif 000003
【図３】
0005270018.tif 000004
【図４】
0005270018.tif 000005
【図５】
0005270018.tif 000006
【図６】
0005270018.tif 000007
【図７】
0005270018.tif 000008
【図８】
0005270018.tif 000009
【図９】
0005270018.tif 000010
【図１０】
0005270018.tif 000011
【図１１】
0005270018.tif 000012
【図１２】
0005270018.tif 000013
【図１３】
0005270018.tif 000014
【図１４】
0005270018.tif 000015
【図１５】
0005270018.tif 000016