情報処理システム及びプログラム
【課題】操作性を損なうことなく、手書きストロークをPC装置間で同期させて表示することが可能な情報処理システム、及びそのシステムに供するプログラムを提供する。
【解決手段】情報処理システムは、PC装置と、PC装置と電気的に接続した入力デバイスと、PC装置と通信網を介して接続するサーバ装置とを備える。PC装置の第1描画手段は、入力デバイスから送信された記入情報に基づき表示手段にストロークの描画を行い、PC装置の第2描画手段は、オブジェクト情報受信手段によりサーバ装置から受信したオブジェクト情報に基づき表示手段に描画を行う。ここで、第2描画手段は、第1描画手段が記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまでオブジェクト情報に基づく描画を遅延させる。
【解決手段】情報処理システムは、PC装置と、PC装置と電気的に接続した入力デバイスと、PC装置と通信網を介して接続するサーバ装置とを備える。PC装置の第1描画手段は、入力デバイスから送信された記入情報に基づき表示手段にストロークの描画を行い、PC装置の第2描画手段は、オブジェクト情報受信手段によりサーバ装置から受信したオブジェクト情報に基づき表示手段に描画を行う。ここで、第2描画手段は、第1描画手段が記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまでオブジェクト情報に基づく描画を遅延させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔にあるPC装置間で手書きストロークの情報を共有する技術に関する。
近年、記入した情報を電子化する電子ペンが開発されており、その代表的なものとしてスウェーデンのAnoto社が開発した「アノトペン(Anoto pen)」が知られている。アノトペンは、所定のドットパターンが印刷された専用紙とともに使用される。アノトペンは、ペン先部に、文字等を書くための通常のインクカートリッジに加えて、専用紙に印刷されたドットパターンを撮像するための小型カメラと、撮像したドットパターンから専用紙における位置座標を演算するプロセッサと、演算された位置座標等を外部機器へ送信するデータ通信ユニットとを搭載している。ユーザが専用紙上にアノトペンで文字等を書いたり、専用紙上に図案化されている画像にチェックマークを記入したりすると、ペンの移動に伴って小型カメラが専用紙に印刷されたドットパターンを撮像し、プロセッサによって演算された連続する位置座標から、ユーザが書き込んだ文字、画像などの記入情報が認識される。そして、この記入情報が、データ通信ユニットによりアノトペンから近くのパーソナルコンピュータや携帯電話などの端末装置に送信される(例えば、特許文献1参照)。
【0002】
特許文献2には、会議支援機能のための紙ベースの会議サービス管理ツールが開示されている。具体的には、紙ベースのツールは、ストロークを生成するために使用されることが可能なデジタルペンを含み、このストロークは、デジタルペンから、会議支援機能を提供するサービスに送信される。また、紙ベースのツールは、下層に画像パターンを有するデジタルペーパーをさらに含む。デジタルペンは、下層にあるドットパターンを認識し、その位置情報を、Bluetooth接続を介してコンピュータに送信することによって、デジタルペーパーの上における自身の位置を定める。デジタルペーパーは、下層に画像パターンを有し、フリーフォーム描画パッドと、会議場所適合部分と、ユーザ適合部分とを含んでいる。デジタルペンは、下層にあるドットパターンを認識し、その位置情報を、Bluetooth接続を介してコンピュータに送信することによって、紙の上における自身の位置を定める。次に、ペンの位置およびタイムスタンプされたペンの移動経路が、特定の会議サービスに対応するコマンドにマッピングされる。さらに、デジタルペンは、ポインタモードと可視ストロークモードとの間のモード遷移のための、圧力で作動する切り替え機能を有する。また、特許文献3には、座標系を変換するための座標変換関数を求めることでキャリブレーションを実現する技術が開示されている。また、特許文献4には、ディスプレイの配置するための、デジタルペンで読取り可能なドットパターンが印刷された透明シートの積層構造について記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2003−511761号公報
【特許文献2】特開2008−217782号公報
【特許文献3】登録実用新案3151886号公報
【特許文献4】特開2008−269545号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
遠隔会議などでは、手書きストロークの情報をPC装置間で共有できるとユーザにとって便宜な場合がある。具体的には、手書きストロークの情報をPC装置間で円滑に共有可能なように、ネットワーク上にサーバ装置を設け、サーバ装置を介して手書きストロークの情報の授受を行い、手書きストロークの表示を同期させる情報処理システムが考えられる。この情報処理システムにおいて、PC装置は、接続された入力デバイスに基づき手書きストロークの記入中に他のPC装置のユーザの手書きストロークの情報を受信する場合がある。このとき、他のPC装置から受信した手書きストロークの情報に基づき表示を変更すると、入力デバイスにより筆記中の手書きストロークが消去されたり、入力デバイスによる筆記中に表示がちらついたりするという問題がある。そこで、本発明は、操作性を損なうことなく、手書きストロークをPC装置間で同期させて表示することが可能な情報処理システム、及びそのシステムに供するプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明に係る情報処理システムは、PC装置と、前記PC装置に電気的に接続し、手書きストロークに関する記入情報を生成する入力デバイスと、前記PC装置と通信網を介して接続するサーバ装置と、を備える情報処理システムであって、前記PC装置は、表示手段と、前記入力デバイスから前記記入情報を受信する記入情報受信手段と、前記記入情報に基づき前記表示手段に描画を行う第1描画手段と、前記サーバ装置から手書きストロークの1ストロークごとの描画に関する情報であるオブジェクト情報を受信するオブジェクト情報受信手段と、前記オブジェクト情報受信手段により受信したオブジェクト情報に基づき前記表示手段に描画を行う第2描画手段と、を備え、前記第2描画手段は、前記第1描画手段が前記記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまで前記オブジェクト情報に基づく描画を遅延させる。
【0006】
本情報処理システムによれば、PC装置の第1描画手段は、入力デバイスから送信された記入情報に基づき表示手段にストロークの描画を行い、PC装置の第2描画手段は、オブジェクト情報受信手段によりサーバ装置から受信した手書きストロークに関するオブジェクト情報に基づき表示手段に描画を行う。ここで、第2描画手段は、第1描画手段が記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまでオブジェクト情報に基づく描画を遅延させる。このようにすることで、PC装置は、入力デバイスによりユーザが記入中に、サーバ装置から受信したオブジェクト情報に基づき表示を更新するのを防ぎ、手書きストロークを記入中での表示のちらつきや手書きストロークの消去を抑制することができる。従って、上記の情報処理システムによれば、操作性を損なうことなく、手書きストロークをPC装置間で同期させて表示することが可能となる。
【0007】
上記の情報処理システムの一態様では、前記PC装置は、前記記入情報に基づき、前記手書きストロークの1ストロークごとにオブジェクト情報を生成するオブジェクト情報生成手段と、前記サーバ装置に前記オブジェクト情報を送信するオブジェクト情報送信手段と、前記サーバ装置に対し所定間隔ごとに他のPC装置から送信されたオブジェクト情報の有無の問い合わせを行うオブジェクト情報問い合わせ手段と、をさらに備え、前記オブジェクト情報受信手段は、前記他のPC装置から送信されたオブジェクト情報が前記サーバ装置に存在する場合、当該オブジェクト情報を、前記サーバ装置から受信する。この態様では、情報処理システムにおける各PC装置は、サーバ装置からオブジェクト情報の授受を円滑に行うことができ、手書きストロークを同期して表示することができる。
【0008】
上記の情報処理システムの他の一態様では、前記表示手段は、複数のページを表示し、前記オブジェクト情報は、前記記入情報から特定されたページ番号を含み、前記第2描画手段は、前記オブジェクト情報に含まれるページ番号と、前記表示手段により表示中のページのページ番号とが一致する場合に、当該オブジェクト情報について前記オブジェクト情報に基づく描画を行う。この態様では、PC装置は、表示手段により表示されるページが複数ある場合に、オブジェクト情報に含まれるページ番号に基づき、当該オブジェクト情報に相当する手書きストロークを描画すべきか否か的確に判断することができる。
【0009】
上記の情報処理システムの他の一態様では、前記オブジェクト情報は、前記記入情報から特定された線種情報を含み、前記第2描画手段は、当該オブジェクト情報について前記線種情報に基づき前記オブジェクト情報に基づく描画を行う。ここで、「線種情報」とは、PC装置の表示手段に描画される手書きストロークの線幅、線色などが該当する。このように、オブジェクト情報に線種情報を含めることで、手書きストロークの線種も含めて各PC装置の表示を同期させることができる。
【0010】
上記の情報処理システムの他の一態様では、前記入力デバイスは、コード化パターンが形成された入力用紙からコード化パターンを読み取る電子ペンであり、前記第2描画手段は、前記記入情報受信手段が受信した記入情報がペンアップを示す場合、当該記入情報を送信した電子ペンに対応する1ストローク分の手書きストロークの描画が完了したと判断する。このようにすることで、PC装置は、入力デバイスが電子ペンの場合に、受信したオブジェクト情報に基づき手書きストロークを描画するタイミングを的確に把握することができ、操作性の低下を抑制することができる。
【0011】
上記の情報処理システムの他の一態様では、前記入力デバイスはマウスであり、前記第2描画手段は、前記マウスの左クリックの押下が終了したと判断した場合、当該マウスに対応する1ストローク分の手書きストロークの描画が完了したと判断する。このようにすることで、PC装置は、入力デバイスがマウスの場合に、受信したオブジェクト情報に基づき手書きストロークを描画するタイミングを的確に把握することができ、操作性の低下を抑制することができる。
【0012】
上記の情報処理システムの他の一態様では、前記オブジェクト情報生成手段は、前記手書きストロークの1ストロークに相当する各記入情報が示す座標点に基づき滑らかな曲線を生成し、当該曲線に基づきオブジェクト情報を生成する。このようにすることで、PC装置は、受信したオブジェクト情報に基づき手書きストロークを滑らかな曲線で描画することができる。
【0013】
上記の情報処理システムの他の一態様では、前記オブジェクト情報は、前記各記入情報が示す座標点の座標系から、前記表示手段により前記手書きストロークを表示する対象となるページを基準とした座標系に変換された前記曲線を構成する座標点の集合を含む。このように、PC装置は、手書きストロークを表示する対象となるページを基準とした座標系に曲線を構成する各座標点を変換することで、曲線を構成する各座標点のページ中での相対的な位置を規定することができる。従って、この態様では、PC装置は、表示手段の画面解像度が異なる他のPC装置によってオブジェクト情報が生成された場合であっても、位置ずれ等を生じることなくオブジェクト情報に基づき手書きストロークを適切に表示することができる。
【0014】
上記の情報処理システムの他の一態様では、前記第2描画手段は、前記オブジェクト情報に含まれる前記手書きストロークに相当する座標点を滑らかな曲線に変換後、前記表示手段に当該曲線の描画を行う。この態様によっても、PC装置は、受信したオブジェクト情報に基づき手書きストロークを滑らかな曲線で描画することができる。
【0015】
上記の情報処理システムの他の一態様では、前記PC装置は、外部入力に基づき遠隔会議モードか否かの設定を切り替えるモード切替手段をさらに備え、前記オブジェクト情報受信手段は、前記遠隔会議モードの場合にのみ、オブジェクト情報を受信する。
【0016】
本発明に係るプログラムは、手書きストロークに関する記入情報を生成する入力デバイスと電気的に接続し、かつ、通信網を介してサーバ装置と接続し、表示手段を備えるPC装置に搭載され実行されるプログラムであって、前記入力デバイスから前記記入情報を受信する記入情報受信手段、前記記入情報に基づき前記表示手段に描画を行う第1描画手段、前記サーバ装置から手書きストロークの1ストロークごとの描画に関する情報であるオブジェクト情報を受信するオブジェクト情報受信手段、前記オブジェクト情報受信手段により受信したオブジェクト情報に基づき前記表示手段に描画を行う第2描画手段、として前記PC装置を機能させ、前記第2描画手段は、前記第1描画手段が前記記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまで前記オブジェクト情報に基づく描画を遅延させる。
【0017】
上記のプログラムの一態様では、前記記入情報に基づき、前記手書きストロークの1ストロークごとにオブジェクト情報を生成するオブジェクト情報生成手段、前記サーバ装置に前記オブジェクト情報を送信するオブジェクト情報送信手段、前記サーバ装置に対し所定間隔ごとに他のPC装置から送信されたオブジェクト情報の有無の問い合わせを行うオブジェクト情報問い合わせ手段、としてさらに前記PC装置を機能させ、前記オブジェクト情報受信手段は、前記他のPC装置から送信されたオブジェクト情報が前記サーバ装置に存在する場合、当該オブジェクト情報を、前記サーバ装置から受信する。
【0018】
上記のプログラムの他の一態様では、前記表示手段は、複数のページを表示し、前記オブジェクト情報は、前記記入情報から特定されたページ番号を含み、前記第2描画手段は、前記オブジェクト情報に含まれるページ番号と、前記表示手段により表示中のページのページ番号とが一致する場合に、当該オブジェクト情報について前記描オブジェクト情報に基づく画を行う。
【0019】
上記のプログラムの他の一態様では、前記オブジェクト情報は、前記記入情報から特定された線種情報を含み、前記第2描画手段は、当該オブジェクト情報について前記線種情報に基づき前記オブジェクト情報に基づく描画を行う。
【0020】
上記のプログラムの他の一態様では、前記入力デバイスは、コード化パターンが形成された入力用紙からコード化パターンを読み取る電子ペンであり、前記第2描画手段は、前記記入情報受信手段が受信した記入情報がペンアップを示す場合、当該記入情報を送信した電子ペンに対応する1ストローク分の手書きストロークの描画が完了したと判断する。
【0021】
上記のプログラムの他の一態様では、前記入力デバイスはマウスであり、前記第2描画手段は、前記マウスの左クリックの押下が終了したと判断した場合、当該マウスに対応する1ストローク分の手書きストロークの描画が完了したと判断する。
【0022】
上記のプログラムの他の一態様では、前記オブジェクト情報生成手段は、前記手書きストロークの1ストロークに相当する各記入情報が示す座標点に基づき滑らかな曲線を生成し、当該曲線に基づきオブジェクト情報を生成する。
【0023】
上記のプログラムの他の一態様では、前記オブジェクト情報は、前記各記入情報が示す座標点の座標系から、前記表示手段により前記手書きストロークを表示する対象となるページを基準とした座標系に変換された前記曲線を構成する座標点の集合を含む。
【0024】
上記のプログラムの他の一態様では、前記第2描画手段は、前記オブジェクト情報に含まれる前記手書きストロークに相当する座標点を滑らかな曲線に変換後、前記表示手段に当該曲線の描画を行う。
【0025】
上記のプログラムの他の一態様では、外部入力に基づき遠隔会議モードか否かの設定を切り替えるモード切替手段として前記PC装置をさらに機能させ、前記オブジェクト情報受信手段は、前記遠隔会議モードの場合にのみ、オブジェクト情報を受信する。
【0026】
これらのプログラムをPC装置にインストールして機能させることで、本発明に係る印刷システムを構成させることができる。
【発明の効果】
【0027】
本発明によれば、PC装置は、手書きストロークの情報をPC装置間で円滑に共有可能なように、ネットワーク上のサーバ装置から手書きストロークに関するオブジェクト情報の授受を行い、サーバ装置を介して他のPC装置との間で手書きストロークの表示を同期させることができる。また、PC装置は、入力デバイスから送信された記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまでオブジェクト情報に基づく描画を遅延させることで、入力デバイスによりユーザが記入中に、サーバ装置から受信したオブジェクト情報に基づき表示を更新するのを防ぐことができる。従って、上記の情報処理システムによれば、手書きストロークの記入中に他のPC装置が生成したオブジェクト情報を受信した場合であっても、手書きストロークを記入中での表示がちらついたり、書き込み中の手書きストロークが消去されたりするのを防ぎ、操作性の低下を抑制することができる。よって、上記の情報処理システムによれば、操作性を損なうことなく、手書きストロークをPC装置間で同期させて表示することが可能となる。
【図面の簡単な説明】
【0028】
【図1】第1実施形態における情報処理システムのシステム構成図である。
【図2】ドットパターンにおけるドットの配置と変換される値との関係を示す説明図である。
【図3】(a)は、ドットパターンを模式的に示し、(b)は、それに対応する情報の例を示す図である。
【図4】電子ペンの構造を示す概略図である。
【図5】電子ペンからPC装置へ送信する記入情報のデータ構造を模式的に示す図である。
【図6】図5中に用いられている記号を説明した表である。
【図7】PC装置及びサーバ装置の概略構成図である。
【図8】オブジェクト情報のデータ構造を模式的に示す図である。
【図9】座標定義情報のデータ構造を模式的に示す図であって、(a)は、PC装置2Aにより記憶される座標定義情報、(b)は、PC装置2Bにより記憶される座標定義情報、を例示した図である。
【図10】(a)は、ページ番号と背景画像の情報との関係を規定するデータベース、(b)は、線種変更指示エリアに対応する線幅の情報を規定するデータベースである。
【図11】入力デバイス、ペンID、記入状態、開始座標、終了座標が関連付けられたデータベースである。
【図12】オブジェクト情報、オブジェクト情報の送信元、及びオブジェクトIDが関連付けられたデータベースである。
【図13】PC装置のディスプレイ上に表示される表示アプリケーションの表示例である。
【図14】第1実施形態において、オブジェクト情報送信側の処理手順を示すフローチャートである。
【図15】第1実施形態において、リアルタイム描画処理の手順を示すフローチャートである。
【図16】第1実施形態において、オブジェクト情報の生成処理及び記憶処理の手順を示すフローチャートである。
【図17】第1実施形態において、描画更新処理の手順を示すフローチャートである。
【図18】第1実施形態において、表示更新処理の手順を示すフローチャートである。
【図19】第1実施形態において、オブジェクト情報の照会及び受信処理の手順を示すフローチャートである。
【図20】描画対象線の表示例である。
【図21】描画対象線の表示例である。
【図22】座標点に基づき生成した曲線の概念図である。
【図23】オブジェクト情報に基づき描画された曲線の表示例である。
【図24】表示アプリケーション中の表示領域の表示例である。
【図25】表示アプリケーション中の表示領域の表示例である。
【図26】第1実施形態の変形例1に係るオブジェクト情報の生成処理及び記憶処理の手順を示すフローチャートである。
【図27】第1実施形態の変形例1に係る描画更新処理の手順を示すフローチャートである。
【図28】第1実施形態の変形例1に係る表示更新処理の手順を示すフローチャートである。
【図29】第2実施形態における情報処理システムのシステム構成図である。
【図30】第2実施形態におけるスクリーンの表示例を示す。
【図31】第2実施形態において、オブジェクト情報の照会及び受信処理の手順を示すフローチャートである。
【図32】第3実施形態における情報処理システムのシステム構成図である。
【図33】第4実施形態におけるPC装置のディスプレイ上での表示アプリケーションの表示例を示す。
【図34】第4実施形態において、オブジェクト情報の照会及び受信処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0029】
以下、図面を参照しながら、本発明の実施の形態である第1実施形態乃至第5実施形態について順に説明する。
【0030】
<第1実施形態>
まず、本発明に係る第1実施形態について説明する。
【0031】
[情報処理システムの構成]
図1は、第1実施形態に係る情報処理システム10の構成を示す。図1に示すように、第1実施形態に係る情報処理システム10は、ユーザが使用する電子ペン1(1A、1B、1C)と、ドットパターンが印刷されている入力用紙4(4A、4B)及び指示用紙5(5A、5B)と、電子ペン1から記入情報等を受信して処理するPC(Personal Computer)装置2(2A、2B)と、PC装置2とインターネットなどの通信網を介して通信を行うサーバ装置3とを備える。
【0032】
図1では、このような情報処理システム10を遠隔会議システムに用いている。そして、電子ペン1の記入内容がサーバ装置3を介してPC装置2AとPC装置2Bとで同期される。以下、各構成要素について説明する。
【0033】
(入力用紙)
まず、入力用紙(電子ペン用用紙)4について説明する。会議資料として、1枚または複数枚の入力用紙4が作成される。入力用紙4には、入力エリア401が設定されており、プリンター(不図示)により、その略全面に後述する位置座標を示すドットパターン(コード化パターン)および後述する図10(a)で規定されるページ番号に対応する背景画像の絵柄が印刷される。ドットパターンは、電子ペン1により読み取ることができるように赤外線を吸収するカーボンを含んだインクにより印刷される。また、入力エリア401には、入力用紙4のページ番号ごとに、ページ番号に割り当てられたドットパターンが印刷される。背景画像は、印刷されたドットパターンの上に、電子ペン1によるドットパターンの読み取りを阻害しないよう、赤外域に吸収性を持たないインクにより印刷される。なお、背景画像の上に、ドットパターンが印刷されてもよい。
【0034】
(指示用紙)
指示用紙5にも、入力用紙4と同様に、その略全面にドットパターンが印刷される。指示用紙5には、線種変更指示エリア(線種指示エリア)501、502が設定されており、PC装置2で描画するストロークの線種を電子ペン1で指示する用紙である。線種変更指示エリア501、502は、当該エリアをタップした電子ペン1に対し、PC装置2で描画する入力用紙4での筆記内容の線種を、後述する図10(b)の規定内容に従い変更するための指示エリアである。線種変更指示エリア501には、線幅「細」に対応付けられたドットパターンが印刷され、線種変更指示エリア502には、線幅「太」に対応付けられたドットパターンが印刷される。さらに、指示用紙5には、に指示エリアを区切る枠線や線種を表す文字が、赤外域に吸収性を持たないインクにより印刷される。
【0035】
(ドットパターン)
続いて、入力用紙4や指示用紙5に印刷されたアノト方式のドットパターン(コード化パターン)について図2及び図3を用いて説明する。図2は、ドットパターンのドットとそのドットが変換される値との関係を説明する図である。図2に示すように、ドットパターンの各ドットは、その位置によって所定の値に対応付けられている。すなわち、ドットの位置を仮想格子の基準位置(縦線及び横線の交差点)から上下左右のどの方向にシフトするかによって、各ドットは、0〜3の値に対応付けられている。また、各ドットの値は、さらに、X座標用の第1ビット値及びY座標用の第2ビット値に変換できる。このようにして対応付けられた情報の組合せにより、入力用紙4や指示用紙5の位置座標が決定されるよう構成されている。なお、入力用紙4と指示用紙5とでは座標領域が重ならないようドットパターンが形成される。
【0036】
図3(a)は、あるドットパターンの配列を示している。図3(a)に示すように、縦横約2mmの範囲内に6×6個のドットが、入力用紙4や指示用紙5上のどの部分から6×6ドットを取ってもユニークなパターンとなるように配置されている。これら36個のドットにより形成されるドットパターンは位置座標(例えば、そのドットパターンが入力用紙4や指示用紙5上のどの位置にあるのか)を保持している。図3(b)は、図3(a)に示す各ドットを、格子の基準位置からのシフト方向によって、図2に示す規則性に基づいて対応づけられた値に変換したものである。この変換は、ドットパターンの画像を撮影する電子ペン1によって行われる。
【0037】
(電子ペン)
次に、電子ペン1について図4を用いて説明する。図4は、電子ペン1の構造を示す概略図である。図4に示すように、電子ペン1は、その筐体101の内部に、ペン部104、LED105、CMOSカメラ106、圧力センサ107、CPU等により構成されるプロセッサ108、ROMやRAMといったメモリ109、リアルタイムクロック110、アンテナ等により構成される通信ユニット111及びバッテリー112を備える。ペン部104の先端は、ペン先部103となっており、ユーザは、電子ペン1のペン先部103を入力用紙4や指示用紙5上に当接させて、ストローク(手書きストローク)を記入したり、タップ(ペン先部103による指示用紙5への軽叩)したりする。ここで、電子ペン1のペン先部103が入力用紙4等に最初に接触することを「ペンダウン」と呼び、接触している(当接している)状態からペン先部103が離れることを「ペンアップ」と呼ぶ。電子ペン1のペンダウンからペンアップまでの間に記入される軌跡が1つのストロークとなり、文字や図形等は、1つ又は複数個のストロークからなる。なお、ペン部104は、インクが充填されたものでなくともよい。
【0038】
バッテリー112は電子ペン1内の各部品に電力を供給するためのものであり、例えば電子ペン1のキャップ(図示せず)の脱着により電子ペン1自体の電源のオン/オフを行うよう構成させてもよい。リアルタイムクロック110は、現在時刻(タイムスタンプ)を示す時刻情報を発信し、プロセッサ108に供給する。圧力センサ107は、ユーザが電子ペン1により入力用紙4等に文字やマークを書いたりタップしたりする際にペン先部103からペン部104を通じて与えられる圧力、即ち筆圧を検出し、その値をプロセッサ108へ伝送する。
【0039】
プロセッサ108は、圧力センサ107から与えられる筆圧データに基づいて、LED105及びCMOSカメラ106のスイッチのオン/オフを切替える。即ち、ユーザが電子ペン1で入力用紙4等に文字などを書くと、ペン先部103に筆圧がかかり、圧力センサ107によって所定値以上の筆圧が検出されたときに、プロセッサ108は、ユーザが記入を開始したと判定して、LED105及びCMOSカメラ106を作動させる。そして、通信ユニット111が、圧力センサ107により検出されたペンダウン情報(以後、「ペンダウン情報PD」と呼ぶ。)と、後述する電子ペン1の識別情報(以後、「ペンID」と呼ぶ。)とを関連付けて、記入情報としてPC装置2へ送信する。また、ユーザが1つのストロークを記入し終えて電子ペン1を入力用紙4等から離すと、圧力センサ107は、所定値以上の筆圧が検出されなくなることでペンアップを検出する。すると、通信ユニット111が、圧力センサ107により検出されたペンアップ情報(以後、「ペンアップ情報PU」と呼ぶ。)とペンIDとを関連付けて、記入情報としてPC装置2へ送信する。
【0040】
LED105とCMOSカメラ106は、電子ペン1のペン先部103付近に取り付けられており、筐体101におけるLED105及びCMOSカメラ106と対向する部分には、開口部102が形成されている。LED105は、入力用紙4上のペン先部103近傍に向けて赤外線を照明する。その領域は、ペン先部103が入力用紙4等に接触する位置とはわずかにずれている。CMOSカメラ106には、赤外線を透過し赤外線以外を遮断する赤外線フィルタが設けられており、CMOSカメラ106は、LED105によって照明された領域内におけるドットパターンを撮影し、そのドットパターンの画像データをプロセッサ108に供給する。ここで、カーボンは赤外線を吸収するため、LED105によって照射された赤外線は、ドットに含まれるカーボンによって吸収される。そのため、ドットの部分は、赤外線の反射量が少なく、ドット以外の部分は赤外線の反射量が多い。CMOSカメラ106の撮影により、赤外線の反射量の違いから閾値を設けることによって、カーボンを含むドットの領域とそれ以外の領域を区別することができる。したがって、入力用紙4に背景画像が印刷されていた場合でも、印刷したインクは赤外域に吸収性を持たないため、プロセッサ108は、ドットパターンを認識することができる。CMOSカメラ106の受光面側に、ノイズを低減して座標検出の精度性を高めるため、赤外光を選択的に透過する赤外線透過フィルタを備えてもよい。なお、CMOSカメラ106による撮影領域は、図3(a)に示すような約2mm×約2mmの大きさを含む範囲であり、CMOSカメラ106の撮影は毎秒50〜100回程度の定間隔で行われる。
【0041】
プロセッサ108は、ユーザの記入が行われる間、CMOSカメラ106によって供給される画像データのドットパターンから、ユーザが記入するストローク(筆跡)の入力用紙4等におけるX、Y座標(以後、単に「座標データ」または「座標情報」とも呼ぶ。)を連続的に演算していく。すなわち、プロセッサ108は、CMOSカメラ106によって供給される、図3(a)に示されるようなドットパターンの画像データを図3(b)に示すデータ配列に変換し、さらに、X座標ビット値・Y座標ビット値に変換して、そのデータ配列から所定の演算方法によりX、Y座標データを演算する。そして、プロセッサ108は、リアルタイムクロック110から発信される現在時刻(タイムスタンプ:記入された時刻情報)、筆圧データ及びX、Y座標データを関連付ける。以後、これらの関連付けたデータを、まとめて「座標属性情報」と呼ぶ。なお、入力用紙4等における6×6のドットパターンは、入力用紙4内で重複することはないため、ユーザが電子ペン1で文字等を記入すると、記入された位置が入力用紙4等のどの位置に当たるかを、プロセッサ108による座標演算により特定することができる。
【0042】
メモリ109には、電子ペン1を識別するための「pen01」といったペンID、ペン製造者番号、ペンソフトウェアのバージョン等のプロパティ情報が記憶されている。そして、通信ユニット111は、ペンIDと、時刻情報(タイムスタンプ)と、筆圧データと、X、Y座標データとを関連付けて、記入情報としてPC装置2へ送信する。通信ユニット111によるPC装置2への送信は、Bluetooth(登録商標)などの無線送信によって、即時的かつ逐次的に行われる。ここで、電子ペン1のペンダウンからペンアップまでの間に生成されてPC装置2に送信された1個又は複数個の座標属性情報は、PC装置2によりストローク情報として記憶される。換言すると、1つのストロークは、1個又は複数個のX、Y座標の組(以後、「座標点」とも呼ぶ。)からなり、PC装置2は、ペンダウン情報PD及びペンアップ情報PUによって、1つのストロークを構成する1個又は複数個の座標属性情報を認識する。
【0043】
次に、図5、図6を参照して、電子ペン1より送信される記入情報について説明する。図5は、電子ペン1により送信される記入情報を模式的に示した図である。なお、図6は、図5中に用いられている記号を説明した表である。ユーザが電子ペン1を用いて入力用紙4にストロークを記入する際、まず、電子ペン1を入力用紙4に接触させる。すると、電子ペン1の圧力センサ107によってペン先部103にかかる筆圧を検出する。電子ペン1のプロセッサ108は、圧力センサ107によって所定値以上の筆圧が検出されたと判断すると、電子ペン1の入力用紙4への接触を示すペンダウン情報PDと、電子ペン1の識別情報であるペンID等とを関連付けた記入情報を生成して、通信ユニット111に、その記入情報をPC装置2へ送信させる。ユーザは、電子ペン1のペン先部103の入力用紙4への接触後、ペン先部103を移動させてストロークを描くが、プロセッサ108も引き続き、演算により求めた座標情報(X,Y)と、圧力センサ107により検出される筆圧データ(P)、リアルタイムクロック110により発信された時刻情報(T)とを含む座標属性情報、及びペンIDを関連付けた記入情報を、CMOSカメラ106によるドットパターンの撮影周期に応じて、逐次生成し、通信ユニット111に当該記入情報を順次、PC装置2へ送信させる。ユーザがストロークを描き終え、電子ペン1を入力用紙4から離すと、圧力センサ107は筆圧を検出しなくなるため、プロセッサ108は、圧力センサ107によって所定値以上の筆圧が検出されなくなったと判断して、電子ペン1の入力用紙4への離脱を示すペンアップ情報PUと、電子ペン1の識別情報であるペンID等とを関連付けた記入情報を生成して、通信ユニット111に、その記入情報をPC装置2へ送信させる。このように、ユーザの一つのストロークの記入により、電子ペン1によって生成される座標属性情報の集合を「ストローク情報」と呼ぶ。
【0044】
(PC装置)
次に、PC装置2Aについて説明する。なお、PC装置2Bの構成はPC装置2Aと同様であるため、異なる点以外は、その説明を省略する。PC装置2Aは、ハードウェアとして、電子ペン1とのデータ通信が可能なアンテナ装置、CPU等のプロセッサ、ROMやRAMといったメモリ、ディスプレイ、マウスやキーボード等で構成されるパーソナルコンピュータ等で構成される。図7は、PC装置2Aの機能ブロック図である。PC装置2Aは、機能的には、マウスやキーボードといった入力手段21、受信手段22、処理手段24、記憶手段25、表示手段26、及び送信手段27を備える。PC装置2Aは、電子ペン1から受信した入力用紙4等に関する記入情報に基づいて所定の処理を行うものである。
【0045】
受信手段22は、アンテナ受信回路等により構成され、電子ペン1から記入情報を受信したりサーバ装置3からオブジェクト情報を受信したりして、受信した情報を処理手段24に伝送する。表示手段26は、ディスプレイ等によって構成され、処理手段24によって指示された内容を表示する。送信手段27は、処理手段24の指示による入力用紙4及び指示用紙5の印刷指示(出力命令)をプリンターに送信する。また、送信手段27は、処理手段24によって指示された情報をサーバ装置に送信する。プリンターやサーバ装置3へのデータ送信方式は、有線式であっても無線式であってもよい。
【0046】
処理手段24は、CPU等のプロセッサによって構成され、PC装置2Aの全体の制御を行う。具体的には、処理手段24は、図13で後述する表示アプリケーション6を実行することで、所定の背景画像に重畳して電子ペン1による入力エリア401A内への記入内容が描画されたページ(以後、単に「ページ」とも呼ぶ。)画像を、表示手段26に表示させる。各ページは、ページ番号を有し、後述する図10(a)に示すデータベースにより特定の背景画像と関連付けられている。また、処理手段24は、入力用紙4又は指示用紙5の印刷指示を検知した場合、後述する図9、図10に示すテーブル又はマップを参照して印刷情報を生成し、各印刷サイズに合った異なる座標領域を示すドットパターンを各用紙に割当てる。以後では、入力用紙4のうち入力エリア401に割当てられたドットパターンの座標領域又はその座標空間を、「入力エリア401の座標系」と呼ぶ。記入情報に含まれる座標情報は、入力エリア401の座標系により規定されている。
【0047】
また、電子ペン1によって、入力用紙4への記入の際にドットパターンを読み取ることによって生成された記入情報を、PC装置2Aが受信すると、処理手段24は、記入情報に含まれる座標情報から図9、図10に示すテーブル又はマップを参照してページ番号及び背景画像を特定して表示手段26にそのページを表示させ、記入情報に基づくストロークを当該ページに重ねて描画し表示手段26に表示させる。また、処理手段24は、ユーザによる入力手段21の操作により、記憶指示を検知すると、ストローク情報をそのページに組み込んで、新たな背景画像を生成して記憶手段25に保存する。
【0048】
なお、ストロークを表示するにあたって、処理手段24は、電子ペン1から受信した記入情報の中にペンダウン情報PDが含まれることを識別すると、最新のストローク情報を記憶するための記憶領域を記憶手段25に設定させる。そして、処理手段24は、受信した記入情報の中にペンアップ情報PUが含まれることを検出するまで、或いは、受信した記入情報の中に次のペンダウン情報PDが含まれることを検出するまで、受信した記入情報の中に含まれる座標属性情報を最新のストローク情報の一部として記憶手段25に記憶させる。
【0049】
また、処理手段24は、ペンダウン情報PDを受信してからペンアップ情報PUを検出するまでに受信した座標属性情報に基づき、1ストローク単位でのストロークの描画に必要な情報(以後、「オブジェクト情報」と呼ぶ。)を生成する。具体的には、オブジェクト情報は、ストローク情報が示す各座標点が、所定の補間関数を用いて滑らかな曲線を描くように補間され、かつ、入力エリア401の座標系から、後述する背景画像の座標系に変換されたX、Y座標の集合を含む情報である。図8は、オブジェクト情報のデータ構造の一例を示す図である。図8に示すように、オブジェクト情報は、「ページ番号」と、所定の補間関数によりストローク情報から生成された曲線を構成する座標データの集合(以後、「曲線座標データ」と呼ぶ。)であって、入力エリア401の座標系から、当該入力エリア401に対応する背景画像(ページ)の座標系に変換されたX、Y座標の集合である「曲線座標データ」と、「ペンID」と、ストロークの線種を特定する情報である「線種情報」と、を有する。ここで、「背景画像の座標系」とは、表示アプリケーション6に表示された背景画像(ページ)を基準とした座標系であって、例えば背景画像の所定の点(例えば左上隅)を原点とし、当該背景画像内での相対的な位置を規定する座標系を指す。また、線種情報とは、具体的には、指示用紙5の線種変更指示エリア501、502への電子ペン1による操作に基づき定められた線幅の情報を示す。そして、処理手段24は、送信手段27により、処理手段24が生成したオブジェクト情報をサーバ装置3へ送信する。さらに、処理手段24は、サーバ装置3から、サーバ装置3が記憶しているオブジェクト情報を受信手段22により受信する。この具体的な説明については、[処理フロー]のセクションで詳しく説明する。
【0050】
記憶手段25は、ROMやRAMといったメモリによって構成される。記憶手段25は、表示アプリケーション6や、プリンターへの電子ペン用用紙の印刷指示を可能とするためのプリンタドライバ等のプログラムを記憶する。また、記憶手段25は、処理手段24の処理命令により、電子ペン1から受信した記入情報をペンID毎に記憶したり、プログラムの実行により生成される所定のデータを記憶したりする。
【0051】
記憶手段25は、広範囲の座標領域のドットパターンに関する情報を有しており、処理手段24の指示により、各入力エリア401及び線種変更指示エリア501、502に割当てられたドットパターンの特定の座標領域に関する定義情報を記憶する。図9(a)は、PC装置2Aの記憶手段25に記憶され、各入力エリア401及び線種変更指示エリア501、502に関連付けて記憶される座標領域を含む情報(以後、「座標定義情報」とも呼ぶ。)を示すデータ構造である。図9(b)は、PC装置2Bの記憶手段25により記憶される座標定義情報を示すデータ構造である。図9(a)、(b)に示すように、印刷される各用紙に設定された各エリアに印刷されるドットパターンの座標領域に対して、ドットパターンアドレス、エリアの種別、ページ番号が対応付けられて記憶される。各入力エリア401及び線種変更指示エリア501、502に関連付けられるドットパターンの座標領域は、角の位置座標(Xn,Yn)、高さ(Y方向)、幅(X方向)で規定される。
【0052】
なお、ドットパターンは、予め記憶せずに、処理手段24によって所定のアルゴリズムにより生成されるようにしてもよい。また、座標定義情報は、表示アプリケーション6自体の指示により処理手段24が生成してもよいし、当該表示アプリケーション6の機能を拡張するために付加されたプラグインのプログラムの指示によって、処理手段24が生成するようにしてもよい。
【0053】
また、記憶手段25は、処理手段24の指示により、入力用紙4に印刷される1または複数の背景画像の1つを1ページとしたときの、各ページに対応するページ番号と、これに対応する背景画像の情報とを関連付けて記憶すると共に、各線種変更指示エリア501、502に対応する、表示手段26に表示するストロークの線幅の情報を記憶する。図10(a)は、各ページに対応するページ番号と、これに対応する背景画像の情報との関係を規定するデータベースの一例である。図10(a)に示すデータベースは、「ページ番号」と、背景画像のPC装置2中での保存名称を示す「背景画像」と、背景画像のサイズを示す「画像サイズ」とを有する。各ページ番号に対応する背景画像は、絵柄や文字又は記入枠として入力用紙4の入力エリア401に印刷される。背景画像は、白紙の絵柄であってもよい。背景画像は、例えば、図面、設計図、企画書、報告書などの会議資料における1ページ分の絵柄等に用いられる。例えば全15ページの会議資料からは、15の背景画像が生成されて、それぞれページ番号と画像サイズとが関連付けられる。図10(b)は、線種変更指示エリア501、502に対応する線幅の情報を規定するデータベースの一例である。図10(b)に示すデータベースは、線種変更指示が「細」か「太」かを示す「線種変更指示エリア」と、その線種変更指示エリアにより設定される線幅のポイント数を示す「線幅」とを有する。
【0054】
ここで、図9(a)、(b)に示す座標定義情報の具体例について補足説明する。線種変更指示エリア501と線種変更指示エリア502とは、同一の指示用紙5に印刷されるため、同一のドットパターンアドレス「10.30.19.1」に関連付けられた、異なる座標領域のドットパターンが割り当てられている。線幅「細」の線種変更指示エリア501には、座標領域「(x8,y8)、H8、W8」のドットパターンが割り当てられ、線幅「太」の線種変更指示エリア502には、「(x9,y9)、H9、W9」のドットパターンが割り当てられている。一方、入力エリア401については、複数ページの会議資料であれば、基本的には、1ページごとに異なる入力用紙4に印刷されるため、印刷されたページのページ番号を特定できるように、1ページごとに入力エリア401が必要となる。そこで、入力エリア401には、印刷されるページに対応するページ番号ごとに、異なるドットパターンアドレスに関連付けられた、異なる座標領域のドットパターンが割り当てられている。例えば、図9(a)に示すように、ページ番号「P01」の入力エリア401には、座標領域「(x1,y1)、H1、W1」のドットパターンが割り当てられ、「P02」の入力エリア401には、「(x2,y2)、H2、W2」のドットパターンが割り当てられている。また、2ページ分の背景画像が2面付け印刷により同一の入力用紙4に印刷される場合もある。2面付け印刷される各ページには、通常の1面付け印刷とは異なる、同一のドットパターンアドレスに関連付けられた、それぞれ異なる座標領域のドットパターンが割り当てられている。図9(b)の例では、ドットパターンアドレス「10.30.20.1.5」に関連付けられた入力用紙4には、ページ番号「P01」、「P02」に対応する2つの背景画像が2面付け印刷されていることを示す。2面付け印刷された入力用紙4では、ページ番号「P01」の入力エリア401には、座標領域「(x10,y10)、H10、W10」のドットパターンが割り当てられ、「P02」の入力エリア401には、「(x11,y11)、H11、W11」のドットパターンが割り当てられている。
【0055】
さらに、記憶手段25は、PC装置2Aに接続されている電子ペン1やマウスなどの入力デバイスの記入状態等の管理を行う。図11(a)は、PC装置2Aに接続されている入力デバイス、当該入力デバイスの識別情報であるデバイスID(以後、「ペンID」と総称する。)、入力デバイスの記入状態、開始座標、終了座標、及び線種が関連付けられたデータベースである。なお、開始座標及び終了座標については、[処理フロー]のセクションで述べる。
【0056】
図11(a)に示す例では、ペンIDが「Pen1A」である電子ペン1Aは、記入状態が「書込描画中」となっている。「書込描画中」とは、電子ペン1が入力エリア401へ記入中であって、同一のストロークに対応する記入情報により特定される座標点を当該記入情報の生成順序に従い結んだ線(以後、「描画対象線」と呼ぶ。)が描画されて、表示手段26により表示されている状態を示す。描画対象線は、より具体的には、補間関数により曲線が生成される前に記入情報に基づき表示手段26により一時的に表示される線である。「書込描画中」に対応する記入状態では、電子ペン1Aにより記入されている入力用紙4に印刷された背景画像に対応するページ番号と、表示アプリケーション6により表示されている背景画像に対応するページ番号とが一致している。一方、ペンIDが「Pen1B」である電子ペン1Bは、記入状態が「書込中」となっている。これは、電子ペン1Bが入力エリア401へ記入中であるが、描画対象線が表示手段26により表示されていない状態を指す。具体的には、この場合、電子ペン1Aにより記入されている入力用紙4に対応するページ番号と、表示アプリケーション6により表示されているページ番号とが異なっている。また、ペンIDが「Mouse」のマウスは、記入状態が「書込描画中」又は「書込中」のいずれにも該当していない空欄「−」となっている。この場合、上述のマウスは、表示アプリケーション6に表示されたページ内への入力を行っていない。
【0057】
図11(b)は、PC装置2Bに接続されている入力デバイス、ペンID(デバイスID)、記入状態、開始座標、及び終了座標を関連付けたデータベースの一例である。図11(b)では、ペンIDが「Pen1C」である電子ペン1Cは、記入状態が「書込中」となっており、表示アプリケーション6の表示領域に表示されていない入力エリア401へ記入中の状態であることを示す。ペンIDが「Pen1D」であるペン1Dは、記入状態が「書込描画中」又は「書込中」のいずれにも該当せず、入力エリア401へ記入していない状態を示す。ペンIDが「Mouse」のマウスは、表示アプリケーション6の表示領域内への入力を行っていない状態を示す。
【0058】
(サーバ装置)
次に、サーバ装置3について再び図7を参照して説明する。サーバ装置3は、ハードウェアとして、PC装置2とのデータ通信が可能な通信装置、CPU等のプロセッサ、ROMやRAMといったメモリ等で構成されるコンピュータ等で構成される。サーバ装置3は、図7に示すように、機能的には、受信手段32、処理手段34、記憶手段35、及び送信装置37を備える。概略的には、サーバ装置3は、オブジェクト情報の送信、受信、及び管理を行う。
【0059】
受信手段32は、PC装置2から送信されるオブジェクト情報等を受信する。送信装置37は、処理手段34の指示により、オブジェクト情報をPC装置2に送信する。処理手段34は、CPU等のプロセッサによって構成され、サーバ装置3の全体の制御を行う。具体的には、処理手段34は、PC装置2A、2Bから送信されたオブジェクト情報に対し識別情報(以後、「オブジェクトID」と呼ぶ。)を付与する。このオブジェクトIDは、後述するように、生成された順序が把握可能なように通し番号が付される。また、処理手段34は、PC装置2A、2BからオブジェクトIDを含む問合せ情報が送信された場合、当該オブジェクトIDに基づき送信すべきオブジェクト情報を特定し、送信手段37に送信させる。この具体的な処理については、[処理フロー]のセクションで詳しく説明する。
【0060】
記憶手段35は、ROMやRAMといったメモリによって構成される。記憶手段35は、オブジェクト情報とオブジェクトIDとオブジェクト情報の送信元のPC装置2の識別情報(送信元情報)とを関連付けて記憶する。図12は、オブジェクト情報、オブジェクト情報の送信元、及びオブジェクトIDが関連付けられたデータベースの一例である。図12では、「オブジェクト情報」の欄には、「Obj01」乃至「Obj59」が記憶されている。各「Obj01」乃至「Obj59」は、オブジェクト情報のサーバ装置3内での保存名称を示す。また、「送信元情報」の欄には、「PC装置2A」又は「PC装置2B」が記載されている。実際には、記憶手段35は、送信元情報として、PC装置2のIPアドレス、MACアドレス(Media Access Control Address)等の固有の識別情報を記憶する。「オブジェクトID」の欄には、「ID001」乃至「ID059」が記載されている。このように、オブジェクトIDには、生成順序が識別可能なように通し番号が付される。これにより、後述するように、サーバ装置3は、必要なオブジェクト情報のみをPC装置2に送信し、通信量を低減させることが可能となる。
【0061】
(表示アプリケーション)
図13は、PC装置2のディスプレイ上に表示される表示アプリケーション6の一例を示す。表示アプリケーション6は、表示領域601と、各操作ボタン602乃至607を備える。表示領域601は、入力エリア401への電子ペン1による書き込み内容を、当該入力エリア401に対応する背景画像と共に、ページ番号ごとに表示する。具体的には、処理手段24は、図10(a)に示すデータベースを参照し、操作ボタン602、603等によって指定されたページ番号に対応する背景画像を読み出し、表示領域601に表示させると共に、記入情報及びオブジェクト情報に基づきストロークを描画して、背景画像に重畳して表示する。「前」と表示された操作ボタン602(「前ボタン602」とも呼ぶ。)は、表示領域601の表示内容を、1つ小さいページ番号に対応するページに遷移させる場合に押下されるボタンである。「次」と表示された操作ボタン603(「次ボタン603」とも呼ぶ。)は、表示領域601の表示内容を、1つ大きいページ番号に対応するページに遷移させる場合に押下されるボタンである。「拡大」と表示された操作ボタン604(「拡大ボタン604」とも呼ぶ。)は、表示領域601の表示内容を、所定比率だけ拡大して表示する場合に押下されるボタンである。「縮小」と表示された操作ボタン605(「縮小ボタン605」とも呼ぶ。)は、表示領域601の表示内容を、所定比率だけ縮小して表示する場合に押下されるボタンである。「遠隔」と表示された操作ボタン606(「遠隔ボタン606」とも呼ぶ。)は、後述する遠隔会議モードのオン及びオフを切り替える場合に押下されるボタンである。遠隔会議モードの実行中では、PC装置2は、電子ペン1から受信した記入情報から生成したオブジェクト情報をサーバ装置3へ送信する。これに加え、PC装置2は、遠隔会議モードの実行中では、他のPC装置2よりサーバ装置3が受信完了したオブジェクト情報の有無の問い合わせを所定時間幅ごとに行い、当該オブジェクト情報を受信する。「終了」と表示された操作ボタン607(「終了ボタン607」とも呼ぶ。)は、表示アプリケーション6を終了する場合に押下されるボタンである。なお、好適には、表示領域601の表示内容を拡大したり縮小したりできるようにして、表示アプリケーション6の画面内に、スクロールバーやスクロールボタン等を設けて、表示領域601の表示範囲を変更できるようにするとよい。
【0062】
[処理フロー]
次に、第1実施形態の情報処理システム10による処理フローについて図14乃至図19を用いて説明する。PC装置2は、以下に説明するオブジェクト情報送信側の処理(図14乃至図17参照)とオブジェクト情報受信側の処理(図19及び図17参照)とを並行して実行すると共に、前ボタン602や次ボタン603が押下された場合の表示更新処理(図18参照)を実行する。
【0063】
(オブジェクト情報送信側の処理)
図14は、第1実施形態において、電子ペン1及びPC装置2によって実行されるオブジェクト情報送信側の処理手順を示すフローチャートである。図14に示す処理フローは、電子ペン1により記入情報が生成されるごとに繰り返し実行される。
【0064】
ユーザが、入力用紙4又は指示用紙5に対し電子ペン1で文字等を記入すると、電子ペン1は、ペンダウン時には、ペンダウン情報PD及びペンIDが関連付けられた記入情報をPC装置2へ送信する。また、電子ペン1は、ストロークの記入中では、ストロークに沿ってドットパターンが撮像されて演算された座標情報を含む座標属性情報とペンIDとが関連付けられた記入情報をPC装置2へ送信する。そして、電子ペン1は、ペンアップ時には、ペンアップ情報PU及びペンIDが関連付けられた記入情報をPC装置2へ送信する(ステップS101)。
【0065】
PC装置2では、受信手段22が、電子ペン1から送信された記入情報を受信すると、処理手段24は、記憶手段25に、その記入情報を記憶させる(ステップS201)。次に、処理手段24は、その記入情報から座標情報を認識したか否か、即ちその記入情報に座標情報が含まれるか否かを判定する(ステップS202)。
【0066】
そして、座標情報を認識したと判断した場合(ステップS202;Yes)、処理手段24は、入力エリア401へ記入されたか否か判定する(ステップS203)。具体的には、処理手段24は、記憶手段25に記憶された座標定義情報(図9参照)を参照し、認識した座標情報が入力エリア401を示す座標領域に含まれるか否か判定する。そして、処理手段24は、入力エリア401へ記入されたと判断した場合(ステップS203;Yes)、記入情報に含まれるペンIDの記入状態を「書込描画中」に設定する(ステップS204)。具体的には、処理手段24は、図11に示す入力デバイスの記入状態を記録するデータベース中で、当該ペンIDに対応する記入状態を「書込描画中」に設定する。そして、処理手段24は、リアルタイム描画処理を実行する(ステップS205)。リアルタイム描画処理については別途フローチャートを用いて説明する。一方、処理手段24は、入力エリア401へ記入されていないと判断した場合(ステップS203;No)、即ち、入力エリア401外の入力用紙4上又は指示用紙5上に記入されたと判断した場合、線種変更指示エリア501、502へ記入されたか否か判定する(ステップS206)。そして、線種変更指示エリア501、502へ記入されたと判断した場合(ステップS206;Yes)、処理手段24は、ペンIDの線種情報を、記入された線種変更指示エリア501、502で規定された線種に更新する(ステップS207)。具体的には、処理手段24は、ペンIDの線種情報を、図9のデータベースに基づき特定し、図11に示すデータベースに、対象となるペンIDに対応させて記憶手段25に記憶する。一方、線種変更指示エリア501、502への記入ではないと判断した場合(ステップS206;No)、処理手段24は、後述するステップS209の処理を実行する。
【0067】
一方、ステップS202で、座標情報を認識していないと判断した場合(ステップS202;No)、処理手段24は、その記入情報にペンアップ情報PUが含まれるか否かを判定する(ステップS208)。ペンアップ情報PUが含まれると判断した場合(ステップS208:Yes)、処理手段24は、ペンIDの記入状態は「書込中」または「書込描画中」であるか否か判定する(ステップS209)。具体的には、処理手段24は、図11を参照し、記入情報に対応するペンIDの記入状態が「書込中」または「書込描画中」であるか否か判定する。そして、ペンIDの記入状態が「書込中」または「書込描画中」であると判断した場合(ステップS209;Yes)、処理手段24は後述する図16のフローチャートの処理を実行する。一方、記入情報にペンアップ情報PUが含まれていない場合(ステップS208;No)、又は、ペンIDの記入状態が「書込中」及び「書込描画中」でない場合(ステップS209;No)、処理手段24は、フローチャートの処理を終了する。
【0068】
(リアルタイム描画処理)
図15は、ステップS205のリアルタイム描画処理の手順を示すフローチャートである。図15に示すフローチャートの処理は、ステップS203で入力エリア401への記入であると判定され、かつ、ペンIDの記入状態を「書込描画中」に設定した後に実行される。
【0069】
まず、処理手段24は、対象となるペンIDに対応する開始座標が記憶手段25に記憶されているか否か判定する(ステップS301)(図11参照)。ここで、「開始座標」とは、描画対象線である各線分の始点となる座標を指す。そして、ペンIDの開始座標が存在しない場合(ステップS301;No)、ステップS202で認識した座標情報をペンIDの開始座標として記憶手段25に記憶する(ステップS309)。具体的には、処理手段24は、図11に示すデータベースに、認識した座標情報を開始座標として対象となるペンIDに対応させて記憶手段25に記憶させる。一方、処理手段24は、ペンIDの開始座標が存在する場合(ステップS301;Yes)、認識した座標情報をペンIDの終了座標として記憶手段25の記憶・更新を行う(ステップS302)。ここで、「終了座標」とは、描画対象線である各線分の終点となる座標を指す。次に、処理手段24は、開始座標と終了座標を結んだ線分を入力エリア401の座標系から背景画像の座標系に変換して、描画対象線として記憶・更新する(ステップS303)。
【0070】
次に、処理手段24は、描画対象線が表示領域601に含まれるか否か判定する(ステップS304)。即ち、この場合、処理手段24は、電子ペン1により記入された入力エリア401に対応するページ番号と表示領域601に表示されているページ番号とが一致し、かつ、背景画像の座標系に変換された描画対象線の全部または一部が表示領域601に相当する座標領域内に存在するか否か判定する。そして、処理手段24は、描画対象線が表示領域601に一部でも含まれる場合(ステップS304;Yes)、図11に示すデータベースから対象となるペンIDに設定されている線種情報を読み込む(ステップS305)。次に、処理手段24は、読み込んだ線種情報に基づいて描画対象線を表示画面上、即ち表示領域601上に一時描画する(ステップS306)。このとき、処理手段24は、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて、表示領域601に含まれる描画対象線を描画する。一方、処理手段24は、描画対象線が表示領域601に全く含まれないと判断した場合(ステップS304;No)、対象となるペンIDの記入状態を「書込中」に設定する(ステップS308)。
【0071】
そして、処理手段24は、ステップS306又はステップS308の終了後、終了座標を対象となるペンIDの開始座標として記憶・更新する(ステップS307)。
【0072】
(オブジェクト情報の生成処理及び記憶処理)
図16は、図14のステップS209に続いて実行される、オブジェクト情報送信側の生成処理及びオブジェクト情報受信側の記憶処理の手順を示すフローチャートである。図16に示すフローチャートの処理は、図14に示すフローチャートのステップS208でペンアップ情報PUが認識され、若しくは、ステップS202で座標情報を認識したが、ステップS203、S206でそれぞれ入力エリア401、線種変更エリア501、502への記入ではないと判断され、かつ、ステップS209でペンIDの記入状態が「書込中」または「書込描画中」であった場合に、PC装置2により実行される。
【0073】
まず、処理手段24は、該当するペンIDの記入状態が「書込中」または「書込描画中」に受信した座標情報よりストローク情報を認識する(ステップS401)。ここで、「ストローク情報」とは、図5に示すように、電子ペン1がペンダウンからペンアップまでに認識したX、Y座標情報に、時刻情報T、記入時の筆圧データPを対応付けた座標属性情報の集合を指す。なお、ステップS206で「No」と判断された場合、即ち、電子ペン1により、記入中の入力エリア401から外れて記入された場合は、ペンアップしたものと見なして、ストローク情報を認識する(ステップS401)。そして、処理手段24は、入力エリア401内のストローク情報から補間関数によって曲線を算出する(ステップS402)。ここで、「補間」とは、あるデータ列の各区間内の開始点と終了点を通る近似曲線を求めることを指す。従って、処理手段24は、実際の筆跡(手書きストローク)に近い曲線をストローク情報より補間関数を用いて算出する。ここで、処理手段24は、公知の種々の補間関数を用いた補間方法を適用可能であり、例えばスプライン補間やラグランジュ補間によりストローク情報から曲線を算出する。次に、処理手段24は、算出した曲線からオブジェクト情報を生成し、記憶手段25に記憶させる(ステップS403)。具体的には、処理手段24は、算出した曲線に対応する曲線座標データを生成する。このとき、曲線座標データ(曲線を構成する座標データの集合)は、算出した曲線を高精度に描くため、ストローク情報に含まれる座標データの集合よりも数の多い集合となり、各座標データが示す座標点の間の距離が短くなる。そして、処理手段24は、当該曲線座標データを、入力エリア401の座標系から入力エリア401に対応する背景画像(ページ)の座標系に変更し、ストローク情報に含まれるX、Y座標データから特定した入力エリア401に対応するページ番号、ペンID、ペンIDから特定した線種情報を対応付けて、オブジェクト情報を生成し記憶する。
【0074】
次に、処理手段24は、対象となるペンIDの記入状態と開始座標をクリアする(ステップS404)。即ち、処理手段24は、図11に示すデータベースから対象となるペンIDの記入状態及び開始座標を消去する。そして、処理手段24は、描画更新処理を行う(ステップS405)。描画更新処理については、別途、図17のフローチャートを用いて詳細に説明する。次に、処理手段24は、遠隔会議モード中であるか否か判定する(ステップS406)。なお、遠隔会議モードは、遠隔ボタン606によりオンまたはオフが切り替えられる。そして、遠隔会議モード中でない場合(ステップS406;No)、処理手段24は、フローチャートの処理を終了する。一方、遠隔会議モード中の場合(ステップS406;Yes)、処理手段24は、ステップS403で記憶したオブジェクト情報をサーバ装置3へ送信する(ステップS407)。このとき、処理手段24は、オブジェクト情報と共に、MACアドレスなどの送信元情報を、サーバ装置3へ送信する。これに対し、サーバ装置3の処理手段34は、受信手段32により受信したオブジェクト情報に、送信元情報を関連付けて記憶手段35に記憶する(ステップS501)。さらに、サーバ装置3の処理手段34は、オブジェクト情報に固有のID(識別情報)であるオブジェクトIDを通し番号順に付与する(ステップS502)。そして、サーバ装置3の処理手段34は、図12に示すように、オブジェクト情報と送信元情報とオブジェクトIDとを関連付けてデータベースを記憶手段35に記憶させる。
【0075】
(描画更新処理)
図17は、ステップS405の描画更新処理の手順を示すフローチャートである。まず、処理手段24は、図11のデータベースを参照し、記入状態が「書込描画中」のペンIDが存在するか否か判定する(ステップS601)。そして、記入状態が「書込描画中」のペンIDが存在しない場合(ステップS601;No)、即ち、ステップS303乃至S306に基づき電子ペン1の筆記内容をリアルタイムで描画中ではない場合、処理手段24は、一時描画している描画対象線を表示画面上よりクリアする(ステップS602)。そして、処理手段24は、PC装置2内に記憶されている表示領域601内のオブジェクト情報を表示画面上に描画・更新する(ステップS603)。具体的には、処理手段24は、表示領域601で表示している背景画像に対応するページ番号と同じページ番号を持ち、表示範囲に含まれるオブジェクト情報を記憶手段25より読み出し、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて、曲線座標データに基づく曲線をオブジェクト情報に含まれる線種で表示領域601に描画・更新する。
【0076】
一方、記入状態が「書込描画中」のペンIDが存在する場合(ステップS601;Yes)、即ち、ステップS303乃至S306に基づき電子ペン1の筆記内容をリアルタイムで描画中の場合、処理手段24は、フローチャートの処理を終了する。即ち、処理手段24は、ステップS602、S603に基づく表示内容の更新によって、一時描画中の描画対象線が筆記途中でクリアされたり、表示画面がちらついたりすることを防ぐため、「書込描画中」のペンIDが存在する場合には、表示内容を更新しない。
【0077】
なお、処理手段24は、上述したステップS601の処理に代えて、ペンダウンしている電子ペン1が存在するか否かを判定してもよい。即ち、処理手段24は、ペンダウン情報PD又は座標情報を含む記入情報を送信している電子ペン1が存在するか否か判定し、上記電子ペン1が存在する場合には、ステップS602、S603に基づく表示内容の更新を行わない。この場合は、表示領域601に含まれない入力エリア401へのペンダウンがある場合でも、表示領域601の表示内容が更新されない。
【0078】
(表示更新処理)
図18は、表示領域601の表示内容を変更する表示更新処理の手順を示すフローチャートである。PC装置2は、図18に示すフローチャートの処理を、所定の周期に従い繰り返し実行する。
【0079】
まず、処理手段24は、表示領域601を変更すべきか否か判定する(ステップS701)。即ち、処理手段24は、ユーザによる表示アプリケーション6の前ボタン602、次ボタン603、拡大ボタン604、又は縮小ボタン605の押下により、表示領域601により表示するページを変更するよう指示されたか否か判定する。そして、処理手段24は、表示領域601の表示内容を変更するよう指示されていないと判断した場合(ステップS701;No)、フローチャートの処理を終了する。
【0080】
一方、処理手段24は、表示領域601の表示内容を変更するよう指示されたと判断した場合(ステップS701;Yes)、一時描画している描画対象線を表示画面上よりクリアする(ステップS702)。そして、処理手段24は、描画済みのオブジェクト情報と、表示済みの背景画像を表示画面上よりクリアする(ステップS703)。そして、処理手段24は、変更された表示領域601に対応する背景画像を表示する(ステップS704)。即ち、処理手段24は、変更先のページ番号に対応する背景画像を表示範囲内で表示領域601に表示する。次に処理手段24は、PC装置2内に記憶されている表示領域601内のオブジェクト情報を表示画面上に描画・更新する(ステップS705)。具体的には、処理手段24は、表示領域601で表示している背景画像に対応するページ番号と同じページ番号を持ち、かつ表示範囲に含まれるオブジェクト情報を記憶手段25より読み出し、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて表示領域601に描画・更新する。
【0081】
(オブジェクト情報の照会及び受信処理の概要)
図19は、第1実施形態において、PC装置2Aが、更新分のオブジェクト情報についてサーバ装置3へ照会し、該当するオブジェクト情報を受信する処理手順を示すフローチャートである。PC装置2Aは、図19の処理フローを、所定の周期に従い繰り返し実行する。なお、ここでは、説明の便宜上、PC装置2Aを対象とした処理について述べるが、PC装置2Bも、同様に、図19の処理フローと同様の処理を、所定の周期に従い繰り返し実行する。
【0082】
まず、PC装置2Aの処理手段24は、遠隔会議モードが開始されたか否か判定する(ステップS801)。即ち、処理手段24は、遠隔ボタン606が押下されたか否か判定する。そして、遠隔モードが開始されない場合(ステップS801;No)、処理手段24は、フローチャートの処理を終了する。一方、処理手段24は、遠隔会議モードが開始された場合(ステップS801;Yes)、記憶されているオブジェクトIDのうち、最終のオブジェクトIDをサーバ装置3へ送信する(ステップS802)。ここで、「最終のオブジェクトID」とは、図16のステップS502でサーバ装置3によって付与されたオブジェクトIDのうち、通し番号が最も大きい最新に付与されたオブジェクトIDを指す。また、処理手段24は、最終のオブジェクトIDと共に、PC装置2AのMACアドレスなどの送信元情報を、サーバ装置3へ送信する。また、処理手段24は、最終のオブジェクトIDを送信した時刻を、照会時刻情報として記憶手段25に一時記憶・更新する。
【0083】
これに対し、サーバ装置3の処理手段34は、PC装置2Aの最終のオブジェクトIDを受信する(ステップS901)。そして、サーバ装置3の処理手段34は、PC装置2A以外から送信された、更新されたオブジェクト情報が存在するか否か判定する(ステップS902)。具体的には、サーバ装置3の処理手段34は、図12に示すデータベースから、PC装置2Aの送信元情報と異なる送信元情報と関連付けられたオブジェクト情報であって、最終のオブジェクトIDより大きいオブジェクトIDに対応するオブジェクト情報があるか否か判定する。そして、サーバ装置3の処理手段34は、上述のオブジェクト情報が存在する場合(ステップS902;Yes)、当該オブジェクト情報を更新分のオブジェクト情報として送信する(ステップS903)。一方、更新分のオブジェクト情報が存在しない場合(ステップS902;No)、サーバ装置3の処理手段34は、フローチャートの処理を終了する。
【0084】
PC装置2Aの処理手段24は、ステップS802の実行後、更新分のオブジェクト情報を受信したか否か判定する(ステップS803)。そして、処理手段24は、更新分のオブジェクト情報を受信したと判断した場合(ステップS803;Yes)、更新部のオブジェクト情報を記憶手段25に記憶させる(ステップS804)。そして、処理手段24は、更新分のオブジェクト情報に付与されているオブジェクトIDを記憶する(ステップS805)。このとき、処理手段24は、更新分のオブジェクト情報に付与されているオブジェクトIDのうち最大のオブジェクトIDを、ステップS802で使用する最終のオブジェクトIDとして記憶する。次に、処理手段24は、更新分のオブジェクト情報を対象に、図17で説明した描画更新処理を実行する(ステップS806)。
【0085】
そして、ステップS806の実行後、又は、更新分のオブジェクト情報を受信しなかった場合(ステップS803;No)、処理手段24は、ステップS802の実行時(照会時刻)から所定時間経過したか否か判定する(ステップS807)。ここで、PC装置2Aのパフォーマンス負荷を低減するため、例えば上述の所定時間を1秒に設定するとよい。この場合、処理手段24は、1秒ごとに、ステップS802乃至S806及びS808の処理を実行することになる。そして、ステップS802の実行時から所定時間経過していない場合(ステップS807;No)、処理手段24は、所定時間経過するまで待機する。一方、ステップS802の実行時から所定時間経過したと判断した場合(ステップS807;Yes)、遠隔会議モードが終了するか否か判定する(ステップS808)。即ち、処理手段24は、遠隔会議モードの開始後、遠隔ボタン606が押下されたか否か判定する。そして、処理手段24は、遠隔会議モードが終了したと判断した場合(ステップS808;Yes)、フローチャートの処理を終了する。一方、処理手段24は、遠隔会議モードが終了していないと判断した場合(ステップS808;No)、ステップS802へ処理を進める。
【0086】
[曲線描画処理の具体例]
図15乃至図17のフローチャートに示す曲線描画処理の具体例について、図20乃至図23を参照してさらに詳しく説明する。図20は、表示領域601に表示される描画対象線の表示例を示す。図20において、座標点T(1)乃至T(6)(かっこ内の数字は生成順序を示す。以後、図20乃至図23において同じ。)は、記入情報から認識した座標情報が示す座標であって、図15のステップS302、S307、S309で開始座標又は/及び終了座標に設定された座標を示す。また、描画対象線L(1)乃至L(5)は、ステップS303で生成された描画対象線を示す。なお、図20、21では、説明の便宜上、背景画像の表示を省略する。
【0087】
まず、最初に、座標点T(1)に相当する座標情報が電子ペン1から送信される記入情報から認識された場合、処理手段24は、座標点T(1)を対象のペンIDの開始座標として記憶手段25に記憶させる(ステップS309参照)。次に、座標点T(2)に相当する座標情報が記入情報から認識された場合、処理手段24は、座標点T(2)を終了座標として記憶すると共に(ステップS302参照)、開始座標である座標点T(1)と終了座標である座標点T(2)を結んだ線分に基づき描画対象線L(1)を生成し(ステップS303参照)、ペンIDに設定されている線種で(ステップS305参照)、表示画面上に一時描画する(ステップS306参照)。その後、処理手段24は、座標点T(2)を開始座標として更新記憶する(ステップS307参照)。次に、座標点T(3)に相当する座標情報が記入情報から認識された場合、処理手段24は、座標点T(3)を終了座標として更新記憶すると共に(ステップS302参照)、開始座標である座標点T(2)と終了座標である座標点T(3)を結んだ線分に基づき描画対象線L(2)を生成し(ステップS303参照)、ペンIDに設定されている線種で(ステップS305参照)、表示画面上に一時描画する(ステップS306参照)。その後、処理手段24は、座標点T(3)を開始座標として更新記憶する(ステップS307参照)。そして、処理手段24は、座標点T(4)乃至T(6)に相当する座標情報を認識した場合にも、同様の処理を行う。図20は、処理手段24が座標点T(6)を終了座標として記憶し、開始座標として記憶されている座標点T(5)とを結ぶ線分である描画対象線L(5)を一時描画する直前の表示領域601を示す。そして、図21は、処理手段24がステップS305で読み込んだ線分情報で描画対象線L(5)を表示画面上に一時描画した際の表示領域601の表示例を示す。
【0088】
図22は、座標点T(6)に対応する記入情報を受信後、次に、ペンアップ情報PUを含む記入情報を受信した場合に、処理手段24が座標点T(1)乃至T(6)に基づき生成した曲線L(1−6)の概念図を示す。この場合、処理手段24は、スプライン補間やラグランジュ補間などで用いられる所定の補間関数を用いて座標点T(1)乃至T(6)に基づき、曲線L(1−6)を生成する(ステップS402参照)。なお、図22に示す曲線L(1−6)は、表示領域601上には表示されず、後述する図23の曲線Obj(1−6)が表示領域601上に表示される。図23は、曲線L(1−6)に基づきオブジェクト情報が生成され(ステップS403参照)、当該オブジェクト情報に基づき描かれた曲線Obj(1−6)を示す。図23に示すように、処理手段24は、描画対象線L(1)乃至L(6)を表示領域601から消去して(ステップS602参照)、オブジェクト情報に含まれる線種情報に基づき指定された線種で曲線Objを描いて、表示領域601に表示している(ステップS603参照)。
【0089】
[表示例]
次に、表示領域601の表示例について、図24及び図25を用いて説明する。なお、説明の便宜上、図24、25では、背景画像の絵柄等を省略する。
【0090】
まず、電子ペン1Aのみにより入力エリア401に記入がなされている場合について図24を用いて説明する。図24(a)は、電子ペン1Aのペンアップ直前のPC装置2Aの表示領域601の表示内容を示す。この場合、電子ペン1Aの記入状態が「書込描画中」であり、処理手段24は、リアルタイム描画処理によって、電子ペン1Aから送信された記入情報に対応する描画対象線をPC装置2Aの表示領域601に一時描画している(ステップS306参照)。図24(b)は、電子ペン1Aのペンアップ直後のPC装置2Aの表示領域601の表示内容を示す。この場合、電子ペン1Aの記入状態はクリアされて(ステップS404参照)、処理手段24は、さらに、描画更新処理によって、表示領域601に一時描画されている描画対象線をクリアする(ステップS602参照)。図24(c)は、PC装置2Aによって生成されたオブジェクト情報に基づき曲線が描画された際の表示領域601の表示内容を示す。処理手段24は、ステップS401乃至S403の処理に基づき生成、記憶したオブジェクト情報より、曲線を表示領域601に描画している(ステップS603参照)。
【0091】
次に、電子ペン1A及び電子ペン1Bにより入力エリア401に記入がなされている場合について図25を用いて説明する。図25(a)は、電子ペン1Aがペンアップ直前かつ電子ペン1Bがペンダウン中でのPC装置2Aの表示領域601の表示内容を示す。なお、図25において、「i」は、電子ペン1Aで記入した描画対象線を示し、「ii」は、電子ペン1Bで記入した描画対象線を示す。図25(a)では、電子ペン1Aと電子ペン1Bの記入状態はそれぞれ「書込描画中」となっており、電子ペン1A及び電子ペン1Bで記入した描画対象線が表示領域601に一時描画されている(ステップS306参照)。図25(b)は、電子ペン1Aがペンアップ直後かつ電子ペン1Bがペンアップ直前のPC装置2Aの表示領域601の表示内容を示す。図25(b)では、電子ペン1Aの記入状態が空欄、電子ペン1Bの記入状態が「書込描画中」となっている。このとき、処理手段24は、ステップS401乃至S403に基づき電子ペン1Aの描画対象線からオブジェクト情報を生成・記憶しているが、電子ペン1Bが書込描画中であるため、図25(a)から引き続き、電子ペン1Aの描画対象線が一時描画されている(ステップS601;Yes参照)。図25(c)は、電子ペン1Aがペンアップ後ペンダウンされておらずかつ電子ペン1Bがペンアップ直後の、PC装置2Aの表示領域601の表示内容を示す。図25(c)では、電子ペン1A、1Bの記入状態がいずれも空欄になっており(ステップS601;No参照)、処理手段24は、表示領域601に一時描画されている描画対象線をクリアする(ステップS602参照)。図25(d)は、ステップS401乃至S403で生成、記憶された電子ペン1A、1Bにそれぞれ対応するオブジェクト情報に基づき、曲線を表示領域601に描画した場合のPC装置2Aの表示領域601の表示内容を示す。このとき、処理手段24は、それぞれのオブジェクト情報に含まれる線種情報に基づき、指定された線種でオブジェクト情報に含まれる座標情報に基づきそれぞれの曲線を描く(ステップS603参照)。
【0092】
[第1実施形態の情報処理システムによる作用効果]
第1実施形態の情報処理システムによれば、各PC装置2は、サーバ装置3がオブジェクト情報を管理することによって、サーバから送信されたオブジェクト情報に基づき、遠隔会議を行う他のPC装置2と表示内容を共有することが可能となる。また、例えば一方のPC装置2の画面を画像情報として他方のPC装置2へ配信することで手書き情報を共有する従来の情報処理システムと比較して、第1実施形態の情報処理システムは、表示内容を同期するのに必要なオブジェクト情報のみをサーバ装置3から受信するため、ネットワーク負荷が小さく、かつ異なるPC装置2と接続された2以上の電子ペン1により同時に記入することも可能となる。さらに、他の例として、PC装置2双方のカーソルの動きをサーバ装置3へ送信し、サーバ装置3で描画を行うと共にその画像情報各PC装置に配信する従来の情報処理システムと比較しても、第1実施形態の情報処理システムは、自ら記入したストローク情報をサーバ装置3へ送信して描画する必要がなく、表示の遅延等を防ぐことができ、ネットワーク負荷も低減することができる。また、第1実施形態の情報処理システムでは、PC装置2の画面解像度などが異なっても、ストローク情報は入力エリア401の座標系から当該入力エリア401に対応する背景画像の座標系に変更されているため、表示の際に位置ずれが生じない。
【0093】
また、第1実施形態の情報処理システムでは、PC装置2が電子ペン1の記入情報をリアルタイムで描画している間は、描画対象線から補間関数による曲線に表示内容を更新しないため、電子ペン1によるストロークを記入中に表示内容の更新により一時描画中の描画対象線が筆記途中でクリアされたり、表示画面がちらつくのを防ぐことができる。
【0094】
さらに、第1実施形態の情報処理システムでは、サーバ装置3からオブジェクト情報を受信した場合であっても、接続する電子ペン1の記入情報をリアルタイムで描画している間は、受信したオブジェクト情報を描画しないため、電子ペン1によるストロークを記入中に表示内容の更新により一時描画中の描画対象線が筆記途中にクリアされたり、表示画面がちらつくのを防ぐことができる。
【0095】
[第1実施形態の変形例]
次に、第1実施形態の変形例について説明する。以下の変形例は、任意に組み合わせて上述の第1実施形態に適用してもよい。
【0096】
(変形例1)
第1実施形態では、PC装置2は、ストローク情報から補間関数によって曲線の算出後オブジェクト情報を生成し、他のPC装置2によって生成されたオブジェクト情報を受信した場合には、当該オブジェクト情報に基づき曲線を表示領域601に表示した。これに代えて、PC装置2は、オブジェクト情報の算出時には補間関数による曲線を求めず、表示領域601への描画時に補間関数により曲線を算出してストロークを描画してもよい。これにより、PC装置2は、送受信するオブジェクト情報のデータ量が過大になるのを防ぎ、ネットワーク負荷を低減させる。これについて、上述した第1実施形態と異なる処理を実行する部分を、図26乃至28を参照して説明する。
【0097】
図26は、変形例1に係るオブジェクト情報の生成処理及び記憶処理の手順を示すフローチャートである。まず、処理手段24は、記入状態が「書込中」または「書込描画中」に受信した座標情報よりストローク情報を認識する(ステップS421)。そして、処理手段24は、入力エリア401内のストローク情報からオブジェクト情報を生成し、記憶手段25に記憶させる(ステップS422)。具体的には、処理手段24は、ストローク情報に含まれるX、Y座標データと、X、Y座標データから特定した入力エリア401に対応するページ番号と、ストローク情報に含まれるペンIDと、ペンIDから特定した線種情報とを対応付けて、オブジェクト情報として生成・記憶する。その後、処理手段24は、第1実施形態のステップS404乃至S407(図16参照)と同様の処理を、ステップS423乃至S426で実行する。
【0098】
図27は、変形例1に係るステップS424の描画更新処理の手順を示すフローチャートである。記入状態が「書込描画中」のペンIDが存在しないと判断した場合(ステップS621;No)、処理手段24は、一時描画している描画対象線を表示画面上よりクリアする(ステップS622)。そして、処理手段24は、PC装置2内に記憶されている表示領域601内のオブジェクト情報から補間関数によって曲線を算出する(ステップS623)。具体的には、処理手段24は、表示領域601で表示している背景画像に対応するページ番号と同じページ番号を持ち、表示範囲に含まれるオブジェクト情報を記憶手段25より読み出し、当該オブジェクト情報の座標データが示す各座標点から補間関数により曲線を算出する。そして、処理手段24は、算出した曲線を表示画面上に描画・更新する(ステップS624)。この場合、処理手段24は、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて表示領域601に当該曲線を該当する線種で描画する。
【0099】
図28は、変形例1に係る表示更新処理の手順を示すフローチャートである。処理手段24は、ユーザによる前ボタン602、次ボタン603、拡大ボタン604、又は縮小ボタン605の押下により、表示領域601の表示内容を変更するよう指示されたと判断した場合(ステップS721;Yes)、一時描画している描画対象線を表示画面上よりクリアし(ステップS722)、描画済みのオブジェクト情報と、表示済みの背景画像を表示画面上よりクリアし(ステップS723)、変更された表示領域601に対応する背景画像を表示する(ステップS724)。次に処理手段24は、PC装置2内に記憶されている表示領域601内のオブジェクト情報から補間関数によって曲線を算出する(ステップS725)。具体的には、処理手段24は、表示領域601で表示している背景画像に対応するページ番号と同じページ番号を持ち、表示範囲に含まれるオブジェクト情報を記憶手段25より読み出し、当該オブジェクト情報の座標データが示す各座標点から補間関数により曲線を算出する。そして、処理手段24は、算出した曲線を表示画面上に描画・更新する(ステップS726)。この場合、処理手段24は、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて表示領域601に当該曲線を該当する線種で描画する。
【0100】
なお、処理手段24は、図27のステップS623、S624及び図28のステップS725、S726の処理に代えて、オブジェクト情報から補間関数によって曲線を算出後、その曲線座標データを記憶手段25に記憶させてもよい。そして、処理手段24は、対象となるオブジェクト情報に対応する曲線座標データが記憶手段25により既に記憶されている場合には、補間関数を用いて曲線を算出することなく、当該曲線座標データを記憶手段25より読み出し、該当する線種で表示画面上に描画・更新する。
【0101】
(変形例2)
第1実施形態では、線種変更指示エリア501、502は、入力エリア401が印刷された入力用紙4とは別の用紙である指示用紙5に印刷された。これに代えて、線種変更指示エリア501、502は、入力用紙4上に入力エリア401と共に印刷されてもよい。この場合、入力用紙4は、指示用紙5としても機能する。また、第1実施形態では、情報処理システム10は、線種変更指示エリア501、502により2種類の線幅を指定可能であった。これに代えて、情報処理システム10は、線幅を指定可能なエリアを指示用紙5に3以上設け、3種類以上の線幅を指定可能であってもよい。さらに、情報処理システム10は、線幅に代えて、またはこれに加え、線の色や、実線、破線、鎖線といった線のスタイルを指定可能なエリアを指示用紙5上に複数設けてもよい。
【0102】
(変形例3)
情報処理システム10は、図1に示す構成に加え、サーバ装置3から所定時間ごとにオブジェクト情報を受信し、受信したオブジェクト情報をPC装置上で描画する閲覧専用のPC装置を設けてもよい。
【0103】
(変形例4)
上記第1実施形態において、コード化パターンはアノト方式のドットパターンであったが、位置座標を示すコード化パターンであれば、アノト方式のドットパターンに限られない。
【0104】
(変形例5)
上記第1実施形態では、オブジェクトIDは、通し番号が付され、PC装置2は、サーバ装置3に対し、最後のオブジェクトIDを送信することで、更新分のオブジェクト情報を要求していた。これに代えて、PC装置2は、サーバ装置3に対し、受信した全てのオブジェクトID又はそれに相当する情報をサーバ装置3に対し送信することで、更新分のオブジェクト情報を要求してもよい。この場合、必ずしもオブジェクト情報は通し番号でなくともよい。または、PC装置2は、時間情報を含むオブジェクト情報を生成することとして、サーバ装置3に対し、受信済みのオブジェクト情報に含まれる時間情報のうち最新の時間情報を送信することで、更新分のオブジェクト情報を要求してもよい。時間情報としては、対応するストローク情報のペンアップ直前の記入情報に含まれる時間情報、又はオブジェクト情報の生成時刻とすればよい。
【0105】
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態が第1実施形態と異なる点は、ドットパターンが印刷されたスクリーン8にプロジェクタ7によってPC装置2の表示手段26の画面を投影させることで、入力用紙4に代えてスクリーン8上で電子ペン1の記入を行う点である。以後では、第1実施形態と同様の部分については、適宜説明を省略する。
【0106】
図29は、第2実施形態に係る情報処理システム100Aの構成を示す。なお、図29では、説明の便宜上、遠隔会議を行う1台のPC装置2C及びその周辺要素のみを示し、サーバ装置3及び他のPC装置2を図示していない。図29に示すように、第2実施形態に係る情報処理システム100Aは、主に電子ペン1と、PC装置2Cと、指示用紙5と、プロジェクタ7と、スクリーン8とを備える。
【0107】
図29では、このような情報処理システム100Aを第1実施形態と同様、遠隔会議システムに用いている。PC装置2Cには、ディスプレイ201の表示画面と同じ画像をスクリーン8に投影するプロジェクタ7が接続されている。そして、PC装置2Cは、第1実施形態と同様、サーバ装置3を介して、他のPC装置2とオブジェクト情報の授受を行う。
【0108】
スクリーン8は、電子ペン1に筆圧がかかるよう硬めの素材からなるマグネット板801と、用紙802と、投影領域803とを有する。用紙802には、電子ペン1により読み取ることができるよう赤外線を吸収するカーボンを含んだインクにより略全面にドットパターンが印刷され、さらにドットパターンが例えば透明なEB硬化樹脂層などで保護されている。投影領域803は、PC装置2Cのディスプレイ201に表示する内容と同じ画像がプロジェクタ7によって投影され、電子ペン1を用いてストロークが記入される領域である。投影領域803に合わせてプロジェクタ7が画像を投影するように、プロジェクタ7とスクリーン8との距離、及びプロジェクタ7の仰角などが予め調整される。ここで、プロジェクタ7による画像の投影範囲が、投影領域803とぴったり一致しない場合でも、後述するキャリブレーション処理によって、スクリーン8条の位置座標が投影された画像のどの位置に該当するかを、PC装置2Cは把握することができる。スクリーン8は、本発明における「入力用紙」の一例である。
【0109】
PC装置2Cの処理手段24は、キャリブレーション用マークを少なくとも2以上、ディスプレイ201に表示させることにより、プロジェクタ7に対し、スクリーン8にもキャリブレーション用マークを投影させ、キャリブレーション用マークが投影された位置のドットパターンを電子ペン1に読み取らせて記入情報を受信することで、スクリーン8のドットパターンにかかる座標系をディスプレイ201にかかる座標系に変換するための座標変換関数を求めて、記憶手段25に記憶する(キャリブレーション処理機能)。さらに、処理手段24は、そのキャリブレーション処理により求められた座標変換関数を用いて、スクリーン8のドットパターンにかかる座標系のデータを受信したときに、ディスプレイ201にかかる座標系のデータに変換し、ストロークを描画したり、所定の処理を行ったりする。
【0110】
図30は、プロジェクタ7によって投影された投影領域803内の表示アプリケーション6の表示領域601に相当するエリア(以後、「入力エリア401C」と呼ぶ。)に、ユーザが電子ペン1により記入中である場合のスクリーン8の表示例を示す。この場合、PC装置2Cの処理手段24は、電子ペン1より受信した記入情報に含まれる投影領域803上の座標データを、キャリブレーション処理によって算出した座標変換関数によって、ディスプレイ201上の座標データへ変換する。そして、処理手段24は、変換した座標データより入力エリア401Cへの記入であると判断した場合、描画処理を実行して、表示アプリケーション6の表示領域601に表示中の背景画像に重畳して、電子ペン1のストロークを表示する。ここで、処理手段24は、第1実施形態では図9に示すデータベースを参照して記入情報に含まれる座標情報から処理対象となるページ番号を特定した。これに代えて、第2実施形態では、処理手段24は、ドットパターンが示す座標情報ではページ番号が区別できないため、電子ペン1の記入情報を受信時に表示アプリケーション6により表示している背景画像に対応するページ番号を処理対象のページ番号として特定する。
【0111】
次に、第1実施形態で説明した図14乃至図19に示す処理フローと異なる処理部分について説明する。図31は、第1実施形態の図14に相当する第2実施形態の処理手順を示すフローチャートである。図31に示すように、第2実施形態では、図14に比べステップS223の処理が新たに加えられている。具体的には、PC装置2Cにおいて、受信手段22が、電子ペン1から送信された記入情報を受信すると、処理手段24は、記憶手段25に、その記入情報を記憶させる(ステップS221)。次に、処理手段24は、その記入情報から座標情報を認識した場合(ステップS222;Yes)、キャリブレーション処理により求められた座標変換関数を用いて、座標情報の座標系を変換する(ステップS223)。具体的には、処理手段24は、座標情報の座標系を、スクリーン8のドットパターンにかかる座標系から、座標変換関数によって、ディスプレイ201上の座標系へ変換する。その後、処理手段24は、ステップS224乃至S230の処理を、ステップS203乃至S209(図14参照)と同様に実行する。
【0112】
第2実施形態においては、リアルタイム描画処理、オブジェクト情報の生成処理及び記憶処理、描画更新処理、表示更新処理、オブジェクト情報の照会及び受信処理、変形例等については、第1実施形態と同様である。
【0113】
[第2実施形態の情報処理システムによる作用効果]
第2実施形態の情報処理システム100Aによれば、PC装置2Cは、サーバから送信されたオブジェクト情報に基づき、遠隔会議を行う他のPC装置2とスクリーン8上で表示内容を共有することが可能となると共に、スクリーン8上での電子ペン1の筆記内容を入力用紙4上での筆記内容と同様に処理することができる。また、第2実施形態の情報処理システム100Aでは、キャリブレーション処理を行うことで、座標変換関数を用いて、スクリーン8のドットパターンにかかる座標系から、ディスプレイ201上の座標系へ座標情報が変換されているため、表示の際に位置ずれが生じない。
【0114】
<第3実施形態>
次に、第3実施形態について説明する。第3実施形態が第2実施形態と異なる点は、スクリーン8に代えて、PC装置2のディスプレイに貼り付け可能な透明シートを用いる点である。以下では、第3実施形態と第1実施形態及び第2実施形態とが同様の部分については同じ符号を付し、適宜その説明を省略する。
【0115】
図32は、第3実施形態に係る情報処理システム100Bの概略構成例を示す。なお、図32では、説明の便宜上、遠隔会議を行う1台のPC装置2D及びその周辺要素のみを示し、サーバ装置3及び他のPC装置2を図示していない。図32に示すように、情報処理システム100Bは、主に電子ペン1と、PC装置2Dと、指示用紙5と、透明シート9とを備える。透明シート9には、電子ペン1により読み取ることができるよう赤外線を反射する材料を含んだインクにより略全面にドットパターンが印刷され、PC装置2のディスプレイ201に貼り付けられる。透明シート9は、本発明における「入力用紙」の一例である。また、第2実施形態と同様、PC装置2Dの処理手段24は、キャリブレーション用マークを少なくとも2以上、ディスプレイ201に表示させ、キャリブレーション用マークが投影された位置のドットパターンを電子ペン1に読み取らせて記入情報を受信することで、透明シート9のドットパターンにかかる座標系をディスプレイ201にかかる座標系に変換するための座標変換関数を求める(キャリブレーション処理機能)。さらに、処理手段24は、そのキャリブレーション処理により求められた座標変換関数を用いて、透明シート9のドットパターンにかかる座標系のデータを受信したときに、ディスプレイ201にかかる座標系のデータに変換し、ストロークを描画したり、所定の処理を行ったりする。なお、透明シート9の構造は、特許文献4に記載の発明を採用することができる。また、電子ペン1は、透明シート9に印刷された、赤外線を反射するドットパターンも、撮像画像の二値化後の反転などにより、読み取ることができるようにするとよい。
【0116】
第3実施形態においては、オブジェクト情報送信側の処理概要、リアルタイム描画処理、オブジェクト情報の生成処理及び記憶処理、描画更新処理、表示更新処理、オブジェクト情報の照会及び受信処理、変形例等については、第2実施形態と同様である。
【0117】
[第3実施形態の情報処理システムによる作用効果]
第3実施形態の情報処理システム100Bによれば、PC装置2Dは、サーバから送信されたオブジェクト情報に基づき、遠隔会議を行う他のPC装置2と表示内容を共有することが可能となると共に、透明シート9を介したディスプレイ201上での電子ペン1の筆記内容を処理することができる。また、第3実施形態の情報処理システム100Bでは、キャリブレーション処理を行うことで、第2実施形態と同様、表示の際に位置ずれが生じない。
【0118】
<第4実施形態>
次に、第4実施形態について説明する。第4実施形態が第1〜第3実施形態と異なる点は、マウスなどのポインティングデバイスのドラッグ操作によって、表示アプリケーション6の表示領域601に相当するエリア(以後、「入力エリア401E」と呼ぶ。)内へストロークを直接記入する点である。即ち、第4実施形態の情報処理システムは、遠隔会議を行うユーザが使用するPC装置2Eと、サーバ装置3とを最小構成として備える。以下では、第4実施形態と第1〜第3実施形態とが同様の部分については同じ符号を付し、適宜その説明を省略する。
【0119】
図33は、第4実施形態におけるPC装置2Eのディスプレイ201上での表示アプリケーション6の表示例を示す。図33に示すように、第4実施形態では、PC装置2Eのユーザは、マウスなどのポインティングデバイスのドラッグ操作によって、マウスポインタ608を移動操作し、処理手段24は、入力エリア401Eでのマウスポインタ608の移動軌跡を手書きストロークとして処理する。具体的には、処理手段24は、ポインティングデバイスから入力されるマウスポインタ608の移動軌跡情報を所定時間幅でサンプリングした表示領域601上の座標系(即ち、背景画像の座標系)での座標点を座標情報として特定する。ここで、「移動軌跡情報」は、電子ペン1が生成する記入情報と、座標情報を有する点で共通し、電子ペン1が生成する記入情報と同様、本発明における「記入情報」の一例である。なお、移動軌跡情報と電子ペン1が生成する記入情報とは、データの内容及び形式が必ずしも一致する必要はなく、異なるデータの内容及び形式であってもよい。
【0120】
図34は、第4実施形態において、PC装置2Eによって実行されるオブジェクト情報送信側の処理手順を示すフローチャートである。図34に示す処理フローは、ポインティングデバイスの一例であるマウスからの入力信号を受信するごとに実行される。
【0121】
まず、PC装置2Eの処理手段24は、マウスの左ボタンが押下されたか否か判定する(ステップS241)。そして、マウスの左ボタンが押下されたと判断した場合(ステップS241;Yes)、処理手段24は、入力エリア401E上にマウスポインタ608が含まれるか否か判定する(ステップS242)。そして、入力エリア401E上にマウスポインタ608が含まれる場合(ステップS242;Yes)、処理手段24は、ペンIDの記入情報を「書込描画中」に設定する(ステップS243)。このとき、図11に示すデータベースの最後の行に示すように、PC装置2は、マウスのペンIDを例えば「Mouse」として記憶し、識別する。そして、処理手段24は、図15のフローチャートに基づきリアルタイム描画処理を行い、マウスポインタ608の移動に従って描画対象線を作成し、ディスプレイ201上に描画する(ステップS244)。
【0122】
一方、マウスの左ボタンが押下されていないと判断した場合(ステップS241;No)、又は、入力エリア401E上にマウスポインタ608が含まれないと判断した場合(ステップS242;No)、処理手段24は、当該マウスのペンIDの記入状態が「書込中」または「書込描画中」であるか否か判定する(ステップS245)。そして、処理手段24は、マウスのペンIDの記入状態が「書込中」または「書込描画中」の場合(ステップS245;Yes)には、図16のフローチャートの処理(オブジェクト情報の生成処理及び記憶処理)を実行する。一方、マウスのペンIDの記入状態が「書込中」及び「書込描画中」でない場合(ステップS245;No)、処理手段24は、フローチャートの処理を終了する。
【0123】
なお、上述の第4実施形態において、ポインティングデバイスによる手書きストロークは、固定の線種で描画されるが、これに代えて、表示アプリケーション6の表示領域601に相当するエリアに、入力エリア401E及び線種変更指示エリア501E、502Eを設けて、ポインティングデバイスによる手書きストロークを表示する際の線種をユーザが指定できるようにしてもよい。この場合、図34のフローチャートは次のように変更する。ステップS242で、入力エリア401Eにマウスポインタ608が含まれないと判断した場合(ステップS242;No)、処理手段24は、線種変更指示エリア501E、502Eにマウスポインタ608が含まれるか否かを判定する(図14ステップS206参照)。そして、処理手段24は、そして、線種変更指示エリア501E、502Eへ記入されたと判断した場合、処理手段24は、マウスのペンIDの線種情報を、線種変更指示エリア501、502で規定された線種に更新する(図14ステップS207参照)。一方、線種変更指示エリア501、502への記入ではないと判断した場合、処理手段24は、ステップS245の処理を実行する。
【0124】
なお、第4実施形態においては、リアルタイム描画処理、オブジェクト情報の生成処理及び記憶処理、描画更新処理、表示更新処理、オブジェクト情報の照会及び受信処理、変形例等については、第1〜3実施形態と同様である。
【0125】
[第4実施形態の情報処理システムによる作用効果]
第4実施形態の情報処理システムによれば、PC装置2Eは、サーバから送信されたオブジェクト情報に基づき、遠隔会議を行う他のPC装置2と表示内容を共有することが可能となると共に、マウス等のポインティングデバイスにより筆記内容を受け付けることができる。また、第4実施形態の情報処理システムに必要な最小構成は、サーバ装置3とPC装置2Eのみであるため、ユーザは、比較的容易に第4実施形態による情報処理システムを構築することができる。
【0126】
<第5実施形態>
第5実施形態では、第1〜第4実施形態が任意に組み合わされて情報処理システムが構築される。具体的には、情報処理システムの各PC装置2は、第1乃至第4実施形態の任意の1又は複数の実施の形態が選択され、適用される。例えば、遠隔会議に用いられる1のPC装置2は、第1実施形態に基づき入力用紙4に対する記入情報を電子ペン1から受信し、同じ遠隔会議に用いられる別のPC装置2は、第2実施形態に基づきスクリーン8に対する記入情報を電子ペン1から受信してもよい。さらに別の例では、遠隔会議に用いられるPC装置2は、第3実施形態に基づき透明シート9に対する記入情報を電子ペン1から受信すると共に、第4実施形態に基づきマウスポインタ608の軌跡を記入情報として特定してもよい。第5実施形態の作用効果については、第1〜第4実施形態と同様である。
【符号の説明】
【0127】
1、1A、1B、1C…電子ペン
2、2A、2B、2C、2D、2E…PC装置
3…サーバ装置
4…入力用紙
5…指示用紙
6…表示アプリケーション
7…プロジェクタ
8…スクリーン
9…透明シート
10、100A、100B…情報処理システム
21…入力手段
22、32…受信手段
24、34…処理手段
25、35…記憶手段
26…表示手段
27、37…送信手段
【技術分野】
【0001】
本発明は、遠隔にあるPC装置間で手書きストロークの情報を共有する技術に関する。
近年、記入した情報を電子化する電子ペンが開発されており、その代表的なものとしてスウェーデンのAnoto社が開発した「アノトペン(Anoto pen)」が知られている。アノトペンは、所定のドットパターンが印刷された専用紙とともに使用される。アノトペンは、ペン先部に、文字等を書くための通常のインクカートリッジに加えて、専用紙に印刷されたドットパターンを撮像するための小型カメラと、撮像したドットパターンから専用紙における位置座標を演算するプロセッサと、演算された位置座標等を外部機器へ送信するデータ通信ユニットとを搭載している。ユーザが専用紙上にアノトペンで文字等を書いたり、専用紙上に図案化されている画像にチェックマークを記入したりすると、ペンの移動に伴って小型カメラが専用紙に印刷されたドットパターンを撮像し、プロセッサによって演算された連続する位置座標から、ユーザが書き込んだ文字、画像などの記入情報が認識される。そして、この記入情報が、データ通信ユニットによりアノトペンから近くのパーソナルコンピュータや携帯電話などの端末装置に送信される(例えば、特許文献1参照)。
【0002】
特許文献2には、会議支援機能のための紙ベースの会議サービス管理ツールが開示されている。具体的には、紙ベースのツールは、ストロークを生成するために使用されることが可能なデジタルペンを含み、このストロークは、デジタルペンから、会議支援機能を提供するサービスに送信される。また、紙ベースのツールは、下層に画像パターンを有するデジタルペーパーをさらに含む。デジタルペンは、下層にあるドットパターンを認識し、その位置情報を、Bluetooth接続を介してコンピュータに送信することによって、デジタルペーパーの上における自身の位置を定める。デジタルペーパーは、下層に画像パターンを有し、フリーフォーム描画パッドと、会議場所適合部分と、ユーザ適合部分とを含んでいる。デジタルペンは、下層にあるドットパターンを認識し、その位置情報を、Bluetooth接続を介してコンピュータに送信することによって、紙の上における自身の位置を定める。次に、ペンの位置およびタイムスタンプされたペンの移動経路が、特定の会議サービスに対応するコマンドにマッピングされる。さらに、デジタルペンは、ポインタモードと可視ストロークモードとの間のモード遷移のための、圧力で作動する切り替え機能を有する。また、特許文献3には、座標系を変換するための座標変換関数を求めることでキャリブレーションを実現する技術が開示されている。また、特許文献4には、ディスプレイの配置するための、デジタルペンで読取り可能なドットパターンが印刷された透明シートの積層構造について記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2003−511761号公報
【特許文献2】特開2008−217782号公報
【特許文献3】登録実用新案3151886号公報
【特許文献4】特開2008−269545号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
遠隔会議などでは、手書きストロークの情報をPC装置間で共有できるとユーザにとって便宜な場合がある。具体的には、手書きストロークの情報をPC装置間で円滑に共有可能なように、ネットワーク上にサーバ装置を設け、サーバ装置を介して手書きストロークの情報の授受を行い、手書きストロークの表示を同期させる情報処理システムが考えられる。この情報処理システムにおいて、PC装置は、接続された入力デバイスに基づき手書きストロークの記入中に他のPC装置のユーザの手書きストロークの情報を受信する場合がある。このとき、他のPC装置から受信した手書きストロークの情報に基づき表示を変更すると、入力デバイスにより筆記中の手書きストロークが消去されたり、入力デバイスによる筆記中に表示がちらついたりするという問題がある。そこで、本発明は、操作性を損なうことなく、手書きストロークをPC装置間で同期させて表示することが可能な情報処理システム、及びそのシステムに供するプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明に係る情報処理システムは、PC装置と、前記PC装置に電気的に接続し、手書きストロークに関する記入情報を生成する入力デバイスと、前記PC装置と通信網を介して接続するサーバ装置と、を備える情報処理システムであって、前記PC装置は、表示手段と、前記入力デバイスから前記記入情報を受信する記入情報受信手段と、前記記入情報に基づき前記表示手段に描画を行う第1描画手段と、前記サーバ装置から手書きストロークの1ストロークごとの描画に関する情報であるオブジェクト情報を受信するオブジェクト情報受信手段と、前記オブジェクト情報受信手段により受信したオブジェクト情報に基づき前記表示手段に描画を行う第2描画手段と、を備え、前記第2描画手段は、前記第1描画手段が前記記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまで前記オブジェクト情報に基づく描画を遅延させる。
【0006】
本情報処理システムによれば、PC装置の第1描画手段は、入力デバイスから送信された記入情報に基づき表示手段にストロークの描画を行い、PC装置の第2描画手段は、オブジェクト情報受信手段によりサーバ装置から受信した手書きストロークに関するオブジェクト情報に基づき表示手段に描画を行う。ここで、第2描画手段は、第1描画手段が記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまでオブジェクト情報に基づく描画を遅延させる。このようにすることで、PC装置は、入力デバイスによりユーザが記入中に、サーバ装置から受信したオブジェクト情報に基づき表示を更新するのを防ぎ、手書きストロークを記入中での表示のちらつきや手書きストロークの消去を抑制することができる。従って、上記の情報処理システムによれば、操作性を損なうことなく、手書きストロークをPC装置間で同期させて表示することが可能となる。
【0007】
上記の情報処理システムの一態様では、前記PC装置は、前記記入情報に基づき、前記手書きストロークの1ストロークごとにオブジェクト情報を生成するオブジェクト情報生成手段と、前記サーバ装置に前記オブジェクト情報を送信するオブジェクト情報送信手段と、前記サーバ装置に対し所定間隔ごとに他のPC装置から送信されたオブジェクト情報の有無の問い合わせを行うオブジェクト情報問い合わせ手段と、をさらに備え、前記オブジェクト情報受信手段は、前記他のPC装置から送信されたオブジェクト情報が前記サーバ装置に存在する場合、当該オブジェクト情報を、前記サーバ装置から受信する。この態様では、情報処理システムにおける各PC装置は、サーバ装置からオブジェクト情報の授受を円滑に行うことができ、手書きストロークを同期して表示することができる。
【0008】
上記の情報処理システムの他の一態様では、前記表示手段は、複数のページを表示し、前記オブジェクト情報は、前記記入情報から特定されたページ番号を含み、前記第2描画手段は、前記オブジェクト情報に含まれるページ番号と、前記表示手段により表示中のページのページ番号とが一致する場合に、当該オブジェクト情報について前記オブジェクト情報に基づく描画を行う。この態様では、PC装置は、表示手段により表示されるページが複数ある場合に、オブジェクト情報に含まれるページ番号に基づき、当該オブジェクト情報に相当する手書きストロークを描画すべきか否か的確に判断することができる。
【0009】
上記の情報処理システムの他の一態様では、前記オブジェクト情報は、前記記入情報から特定された線種情報を含み、前記第2描画手段は、当該オブジェクト情報について前記線種情報に基づき前記オブジェクト情報に基づく描画を行う。ここで、「線種情報」とは、PC装置の表示手段に描画される手書きストロークの線幅、線色などが該当する。このように、オブジェクト情報に線種情報を含めることで、手書きストロークの線種も含めて各PC装置の表示を同期させることができる。
【0010】
上記の情報処理システムの他の一態様では、前記入力デバイスは、コード化パターンが形成された入力用紙からコード化パターンを読み取る電子ペンであり、前記第2描画手段は、前記記入情報受信手段が受信した記入情報がペンアップを示す場合、当該記入情報を送信した電子ペンに対応する1ストローク分の手書きストロークの描画が完了したと判断する。このようにすることで、PC装置は、入力デバイスが電子ペンの場合に、受信したオブジェクト情報に基づき手書きストロークを描画するタイミングを的確に把握することができ、操作性の低下を抑制することができる。
【0011】
上記の情報処理システムの他の一態様では、前記入力デバイスはマウスであり、前記第2描画手段は、前記マウスの左クリックの押下が終了したと判断した場合、当該マウスに対応する1ストローク分の手書きストロークの描画が完了したと判断する。このようにすることで、PC装置は、入力デバイスがマウスの場合に、受信したオブジェクト情報に基づき手書きストロークを描画するタイミングを的確に把握することができ、操作性の低下を抑制することができる。
【0012】
上記の情報処理システムの他の一態様では、前記オブジェクト情報生成手段は、前記手書きストロークの1ストロークに相当する各記入情報が示す座標点に基づき滑らかな曲線を生成し、当該曲線に基づきオブジェクト情報を生成する。このようにすることで、PC装置は、受信したオブジェクト情報に基づき手書きストロークを滑らかな曲線で描画することができる。
【0013】
上記の情報処理システムの他の一態様では、前記オブジェクト情報は、前記各記入情報が示す座標点の座標系から、前記表示手段により前記手書きストロークを表示する対象となるページを基準とした座標系に変換された前記曲線を構成する座標点の集合を含む。このように、PC装置は、手書きストロークを表示する対象となるページを基準とした座標系に曲線を構成する各座標点を変換することで、曲線を構成する各座標点のページ中での相対的な位置を規定することができる。従って、この態様では、PC装置は、表示手段の画面解像度が異なる他のPC装置によってオブジェクト情報が生成された場合であっても、位置ずれ等を生じることなくオブジェクト情報に基づき手書きストロークを適切に表示することができる。
【0014】
上記の情報処理システムの他の一態様では、前記第2描画手段は、前記オブジェクト情報に含まれる前記手書きストロークに相当する座標点を滑らかな曲線に変換後、前記表示手段に当該曲線の描画を行う。この態様によっても、PC装置は、受信したオブジェクト情報に基づき手書きストロークを滑らかな曲線で描画することができる。
【0015】
上記の情報処理システムの他の一態様では、前記PC装置は、外部入力に基づき遠隔会議モードか否かの設定を切り替えるモード切替手段をさらに備え、前記オブジェクト情報受信手段は、前記遠隔会議モードの場合にのみ、オブジェクト情報を受信する。
【0016】
本発明に係るプログラムは、手書きストロークに関する記入情報を生成する入力デバイスと電気的に接続し、かつ、通信網を介してサーバ装置と接続し、表示手段を備えるPC装置に搭載され実行されるプログラムであって、前記入力デバイスから前記記入情報を受信する記入情報受信手段、前記記入情報に基づき前記表示手段に描画を行う第1描画手段、前記サーバ装置から手書きストロークの1ストロークごとの描画に関する情報であるオブジェクト情報を受信するオブジェクト情報受信手段、前記オブジェクト情報受信手段により受信したオブジェクト情報に基づき前記表示手段に描画を行う第2描画手段、として前記PC装置を機能させ、前記第2描画手段は、前記第1描画手段が前記記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまで前記オブジェクト情報に基づく描画を遅延させる。
【0017】
上記のプログラムの一態様では、前記記入情報に基づき、前記手書きストロークの1ストロークごとにオブジェクト情報を生成するオブジェクト情報生成手段、前記サーバ装置に前記オブジェクト情報を送信するオブジェクト情報送信手段、前記サーバ装置に対し所定間隔ごとに他のPC装置から送信されたオブジェクト情報の有無の問い合わせを行うオブジェクト情報問い合わせ手段、としてさらに前記PC装置を機能させ、前記オブジェクト情報受信手段は、前記他のPC装置から送信されたオブジェクト情報が前記サーバ装置に存在する場合、当該オブジェクト情報を、前記サーバ装置から受信する。
【0018】
上記のプログラムの他の一態様では、前記表示手段は、複数のページを表示し、前記オブジェクト情報は、前記記入情報から特定されたページ番号を含み、前記第2描画手段は、前記オブジェクト情報に含まれるページ番号と、前記表示手段により表示中のページのページ番号とが一致する場合に、当該オブジェクト情報について前記描オブジェクト情報に基づく画を行う。
【0019】
上記のプログラムの他の一態様では、前記オブジェクト情報は、前記記入情報から特定された線種情報を含み、前記第2描画手段は、当該オブジェクト情報について前記線種情報に基づき前記オブジェクト情報に基づく描画を行う。
【0020】
上記のプログラムの他の一態様では、前記入力デバイスは、コード化パターンが形成された入力用紙からコード化パターンを読み取る電子ペンであり、前記第2描画手段は、前記記入情報受信手段が受信した記入情報がペンアップを示す場合、当該記入情報を送信した電子ペンに対応する1ストローク分の手書きストロークの描画が完了したと判断する。
【0021】
上記のプログラムの他の一態様では、前記入力デバイスはマウスであり、前記第2描画手段は、前記マウスの左クリックの押下が終了したと判断した場合、当該マウスに対応する1ストローク分の手書きストロークの描画が完了したと判断する。
【0022】
上記のプログラムの他の一態様では、前記オブジェクト情報生成手段は、前記手書きストロークの1ストロークに相当する各記入情報が示す座標点に基づき滑らかな曲線を生成し、当該曲線に基づきオブジェクト情報を生成する。
【0023】
上記のプログラムの他の一態様では、前記オブジェクト情報は、前記各記入情報が示す座標点の座標系から、前記表示手段により前記手書きストロークを表示する対象となるページを基準とした座標系に変換された前記曲線を構成する座標点の集合を含む。
【0024】
上記のプログラムの他の一態様では、前記第2描画手段は、前記オブジェクト情報に含まれる前記手書きストロークに相当する座標点を滑らかな曲線に変換後、前記表示手段に当該曲線の描画を行う。
【0025】
上記のプログラムの他の一態様では、外部入力に基づき遠隔会議モードか否かの設定を切り替えるモード切替手段として前記PC装置をさらに機能させ、前記オブジェクト情報受信手段は、前記遠隔会議モードの場合にのみ、オブジェクト情報を受信する。
【0026】
これらのプログラムをPC装置にインストールして機能させることで、本発明に係る印刷システムを構成させることができる。
【発明の効果】
【0027】
本発明によれば、PC装置は、手書きストロークの情報をPC装置間で円滑に共有可能なように、ネットワーク上のサーバ装置から手書きストロークに関するオブジェクト情報の授受を行い、サーバ装置を介して他のPC装置との間で手書きストロークの表示を同期させることができる。また、PC装置は、入力デバイスから送信された記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまでオブジェクト情報に基づく描画を遅延させることで、入力デバイスによりユーザが記入中に、サーバ装置から受信したオブジェクト情報に基づき表示を更新するのを防ぐことができる。従って、上記の情報処理システムによれば、手書きストロークの記入中に他のPC装置が生成したオブジェクト情報を受信した場合であっても、手書きストロークを記入中での表示がちらついたり、書き込み中の手書きストロークが消去されたりするのを防ぎ、操作性の低下を抑制することができる。よって、上記の情報処理システムによれば、操作性を損なうことなく、手書きストロークをPC装置間で同期させて表示することが可能となる。
【図面の簡単な説明】
【0028】
【図1】第1実施形態における情報処理システムのシステム構成図である。
【図2】ドットパターンにおけるドットの配置と変換される値との関係を示す説明図である。
【図3】(a)は、ドットパターンを模式的に示し、(b)は、それに対応する情報の例を示す図である。
【図4】電子ペンの構造を示す概略図である。
【図5】電子ペンからPC装置へ送信する記入情報のデータ構造を模式的に示す図である。
【図6】図5中に用いられている記号を説明した表である。
【図7】PC装置及びサーバ装置の概略構成図である。
【図8】オブジェクト情報のデータ構造を模式的に示す図である。
【図9】座標定義情報のデータ構造を模式的に示す図であって、(a)は、PC装置2Aにより記憶される座標定義情報、(b)は、PC装置2Bにより記憶される座標定義情報、を例示した図である。
【図10】(a)は、ページ番号と背景画像の情報との関係を規定するデータベース、(b)は、線種変更指示エリアに対応する線幅の情報を規定するデータベースである。
【図11】入力デバイス、ペンID、記入状態、開始座標、終了座標が関連付けられたデータベースである。
【図12】オブジェクト情報、オブジェクト情報の送信元、及びオブジェクトIDが関連付けられたデータベースである。
【図13】PC装置のディスプレイ上に表示される表示アプリケーションの表示例である。
【図14】第1実施形態において、オブジェクト情報送信側の処理手順を示すフローチャートである。
【図15】第1実施形態において、リアルタイム描画処理の手順を示すフローチャートである。
【図16】第1実施形態において、オブジェクト情報の生成処理及び記憶処理の手順を示すフローチャートである。
【図17】第1実施形態において、描画更新処理の手順を示すフローチャートである。
【図18】第1実施形態において、表示更新処理の手順を示すフローチャートである。
【図19】第1実施形態において、オブジェクト情報の照会及び受信処理の手順を示すフローチャートである。
【図20】描画対象線の表示例である。
【図21】描画対象線の表示例である。
【図22】座標点に基づき生成した曲線の概念図である。
【図23】オブジェクト情報に基づき描画された曲線の表示例である。
【図24】表示アプリケーション中の表示領域の表示例である。
【図25】表示アプリケーション中の表示領域の表示例である。
【図26】第1実施形態の変形例1に係るオブジェクト情報の生成処理及び記憶処理の手順を示すフローチャートである。
【図27】第1実施形態の変形例1に係る描画更新処理の手順を示すフローチャートである。
【図28】第1実施形態の変形例1に係る表示更新処理の手順を示すフローチャートである。
【図29】第2実施形態における情報処理システムのシステム構成図である。
【図30】第2実施形態におけるスクリーンの表示例を示す。
【図31】第2実施形態において、オブジェクト情報の照会及び受信処理の手順を示すフローチャートである。
【図32】第3実施形態における情報処理システムのシステム構成図である。
【図33】第4実施形態におけるPC装置のディスプレイ上での表示アプリケーションの表示例を示す。
【図34】第4実施形態において、オブジェクト情報の照会及び受信処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0029】
以下、図面を参照しながら、本発明の実施の形態である第1実施形態乃至第5実施形態について順に説明する。
【0030】
<第1実施形態>
まず、本発明に係る第1実施形態について説明する。
【0031】
[情報処理システムの構成]
図1は、第1実施形態に係る情報処理システム10の構成を示す。図1に示すように、第1実施形態に係る情報処理システム10は、ユーザが使用する電子ペン1(1A、1B、1C)と、ドットパターンが印刷されている入力用紙4(4A、4B)及び指示用紙5(5A、5B)と、電子ペン1から記入情報等を受信して処理するPC(Personal Computer)装置2(2A、2B)と、PC装置2とインターネットなどの通信網を介して通信を行うサーバ装置3とを備える。
【0032】
図1では、このような情報処理システム10を遠隔会議システムに用いている。そして、電子ペン1の記入内容がサーバ装置3を介してPC装置2AとPC装置2Bとで同期される。以下、各構成要素について説明する。
【0033】
(入力用紙)
まず、入力用紙(電子ペン用用紙)4について説明する。会議資料として、1枚または複数枚の入力用紙4が作成される。入力用紙4には、入力エリア401が設定されており、プリンター(不図示)により、その略全面に後述する位置座標を示すドットパターン(コード化パターン)および後述する図10(a)で規定されるページ番号に対応する背景画像の絵柄が印刷される。ドットパターンは、電子ペン1により読み取ることができるように赤外線を吸収するカーボンを含んだインクにより印刷される。また、入力エリア401には、入力用紙4のページ番号ごとに、ページ番号に割り当てられたドットパターンが印刷される。背景画像は、印刷されたドットパターンの上に、電子ペン1によるドットパターンの読み取りを阻害しないよう、赤外域に吸収性を持たないインクにより印刷される。なお、背景画像の上に、ドットパターンが印刷されてもよい。
【0034】
(指示用紙)
指示用紙5にも、入力用紙4と同様に、その略全面にドットパターンが印刷される。指示用紙5には、線種変更指示エリア(線種指示エリア)501、502が設定されており、PC装置2で描画するストロークの線種を電子ペン1で指示する用紙である。線種変更指示エリア501、502は、当該エリアをタップした電子ペン1に対し、PC装置2で描画する入力用紙4での筆記内容の線種を、後述する図10(b)の規定内容に従い変更するための指示エリアである。線種変更指示エリア501には、線幅「細」に対応付けられたドットパターンが印刷され、線種変更指示エリア502には、線幅「太」に対応付けられたドットパターンが印刷される。さらに、指示用紙5には、に指示エリアを区切る枠線や線種を表す文字が、赤外域に吸収性を持たないインクにより印刷される。
【0035】
(ドットパターン)
続いて、入力用紙4や指示用紙5に印刷されたアノト方式のドットパターン(コード化パターン)について図2及び図3を用いて説明する。図2は、ドットパターンのドットとそのドットが変換される値との関係を説明する図である。図2に示すように、ドットパターンの各ドットは、その位置によって所定の値に対応付けられている。すなわち、ドットの位置を仮想格子の基準位置(縦線及び横線の交差点)から上下左右のどの方向にシフトするかによって、各ドットは、0〜3の値に対応付けられている。また、各ドットの値は、さらに、X座標用の第1ビット値及びY座標用の第2ビット値に変換できる。このようにして対応付けられた情報の組合せにより、入力用紙4や指示用紙5の位置座標が決定されるよう構成されている。なお、入力用紙4と指示用紙5とでは座標領域が重ならないようドットパターンが形成される。
【0036】
図3(a)は、あるドットパターンの配列を示している。図3(a)に示すように、縦横約2mmの範囲内に6×6個のドットが、入力用紙4や指示用紙5上のどの部分から6×6ドットを取ってもユニークなパターンとなるように配置されている。これら36個のドットにより形成されるドットパターンは位置座標(例えば、そのドットパターンが入力用紙4や指示用紙5上のどの位置にあるのか)を保持している。図3(b)は、図3(a)に示す各ドットを、格子の基準位置からのシフト方向によって、図2に示す規則性に基づいて対応づけられた値に変換したものである。この変換は、ドットパターンの画像を撮影する電子ペン1によって行われる。
【0037】
(電子ペン)
次に、電子ペン1について図4を用いて説明する。図4は、電子ペン1の構造を示す概略図である。図4に示すように、電子ペン1は、その筐体101の内部に、ペン部104、LED105、CMOSカメラ106、圧力センサ107、CPU等により構成されるプロセッサ108、ROMやRAMといったメモリ109、リアルタイムクロック110、アンテナ等により構成される通信ユニット111及びバッテリー112を備える。ペン部104の先端は、ペン先部103となっており、ユーザは、電子ペン1のペン先部103を入力用紙4や指示用紙5上に当接させて、ストローク(手書きストローク)を記入したり、タップ(ペン先部103による指示用紙5への軽叩)したりする。ここで、電子ペン1のペン先部103が入力用紙4等に最初に接触することを「ペンダウン」と呼び、接触している(当接している)状態からペン先部103が離れることを「ペンアップ」と呼ぶ。電子ペン1のペンダウンからペンアップまでの間に記入される軌跡が1つのストロークとなり、文字や図形等は、1つ又は複数個のストロークからなる。なお、ペン部104は、インクが充填されたものでなくともよい。
【0038】
バッテリー112は電子ペン1内の各部品に電力を供給するためのものであり、例えば電子ペン1のキャップ(図示せず)の脱着により電子ペン1自体の電源のオン/オフを行うよう構成させてもよい。リアルタイムクロック110は、現在時刻(タイムスタンプ)を示す時刻情報を発信し、プロセッサ108に供給する。圧力センサ107は、ユーザが電子ペン1により入力用紙4等に文字やマークを書いたりタップしたりする際にペン先部103からペン部104を通じて与えられる圧力、即ち筆圧を検出し、その値をプロセッサ108へ伝送する。
【0039】
プロセッサ108は、圧力センサ107から与えられる筆圧データに基づいて、LED105及びCMOSカメラ106のスイッチのオン/オフを切替える。即ち、ユーザが電子ペン1で入力用紙4等に文字などを書くと、ペン先部103に筆圧がかかり、圧力センサ107によって所定値以上の筆圧が検出されたときに、プロセッサ108は、ユーザが記入を開始したと判定して、LED105及びCMOSカメラ106を作動させる。そして、通信ユニット111が、圧力センサ107により検出されたペンダウン情報(以後、「ペンダウン情報PD」と呼ぶ。)と、後述する電子ペン1の識別情報(以後、「ペンID」と呼ぶ。)とを関連付けて、記入情報としてPC装置2へ送信する。また、ユーザが1つのストロークを記入し終えて電子ペン1を入力用紙4等から離すと、圧力センサ107は、所定値以上の筆圧が検出されなくなることでペンアップを検出する。すると、通信ユニット111が、圧力センサ107により検出されたペンアップ情報(以後、「ペンアップ情報PU」と呼ぶ。)とペンIDとを関連付けて、記入情報としてPC装置2へ送信する。
【0040】
LED105とCMOSカメラ106は、電子ペン1のペン先部103付近に取り付けられており、筐体101におけるLED105及びCMOSカメラ106と対向する部分には、開口部102が形成されている。LED105は、入力用紙4上のペン先部103近傍に向けて赤外線を照明する。その領域は、ペン先部103が入力用紙4等に接触する位置とはわずかにずれている。CMOSカメラ106には、赤外線を透過し赤外線以外を遮断する赤外線フィルタが設けられており、CMOSカメラ106は、LED105によって照明された領域内におけるドットパターンを撮影し、そのドットパターンの画像データをプロセッサ108に供給する。ここで、カーボンは赤外線を吸収するため、LED105によって照射された赤外線は、ドットに含まれるカーボンによって吸収される。そのため、ドットの部分は、赤外線の反射量が少なく、ドット以外の部分は赤外線の反射量が多い。CMOSカメラ106の撮影により、赤外線の反射量の違いから閾値を設けることによって、カーボンを含むドットの領域とそれ以外の領域を区別することができる。したがって、入力用紙4に背景画像が印刷されていた場合でも、印刷したインクは赤外域に吸収性を持たないため、プロセッサ108は、ドットパターンを認識することができる。CMOSカメラ106の受光面側に、ノイズを低減して座標検出の精度性を高めるため、赤外光を選択的に透過する赤外線透過フィルタを備えてもよい。なお、CMOSカメラ106による撮影領域は、図3(a)に示すような約2mm×約2mmの大きさを含む範囲であり、CMOSカメラ106の撮影は毎秒50〜100回程度の定間隔で行われる。
【0041】
プロセッサ108は、ユーザの記入が行われる間、CMOSカメラ106によって供給される画像データのドットパターンから、ユーザが記入するストローク(筆跡)の入力用紙4等におけるX、Y座標(以後、単に「座標データ」または「座標情報」とも呼ぶ。)を連続的に演算していく。すなわち、プロセッサ108は、CMOSカメラ106によって供給される、図3(a)に示されるようなドットパターンの画像データを図3(b)に示すデータ配列に変換し、さらに、X座標ビット値・Y座標ビット値に変換して、そのデータ配列から所定の演算方法によりX、Y座標データを演算する。そして、プロセッサ108は、リアルタイムクロック110から発信される現在時刻(タイムスタンプ:記入された時刻情報)、筆圧データ及びX、Y座標データを関連付ける。以後、これらの関連付けたデータを、まとめて「座標属性情報」と呼ぶ。なお、入力用紙4等における6×6のドットパターンは、入力用紙4内で重複することはないため、ユーザが電子ペン1で文字等を記入すると、記入された位置が入力用紙4等のどの位置に当たるかを、プロセッサ108による座標演算により特定することができる。
【0042】
メモリ109には、電子ペン1を識別するための「pen01」といったペンID、ペン製造者番号、ペンソフトウェアのバージョン等のプロパティ情報が記憶されている。そして、通信ユニット111は、ペンIDと、時刻情報(タイムスタンプ)と、筆圧データと、X、Y座標データとを関連付けて、記入情報としてPC装置2へ送信する。通信ユニット111によるPC装置2への送信は、Bluetooth(登録商標)などの無線送信によって、即時的かつ逐次的に行われる。ここで、電子ペン1のペンダウンからペンアップまでの間に生成されてPC装置2に送信された1個又は複数個の座標属性情報は、PC装置2によりストローク情報として記憶される。換言すると、1つのストロークは、1個又は複数個のX、Y座標の組(以後、「座標点」とも呼ぶ。)からなり、PC装置2は、ペンダウン情報PD及びペンアップ情報PUによって、1つのストロークを構成する1個又は複数個の座標属性情報を認識する。
【0043】
次に、図5、図6を参照して、電子ペン1より送信される記入情報について説明する。図5は、電子ペン1により送信される記入情報を模式的に示した図である。なお、図6は、図5中に用いられている記号を説明した表である。ユーザが電子ペン1を用いて入力用紙4にストロークを記入する際、まず、電子ペン1を入力用紙4に接触させる。すると、電子ペン1の圧力センサ107によってペン先部103にかかる筆圧を検出する。電子ペン1のプロセッサ108は、圧力センサ107によって所定値以上の筆圧が検出されたと判断すると、電子ペン1の入力用紙4への接触を示すペンダウン情報PDと、電子ペン1の識別情報であるペンID等とを関連付けた記入情報を生成して、通信ユニット111に、その記入情報をPC装置2へ送信させる。ユーザは、電子ペン1のペン先部103の入力用紙4への接触後、ペン先部103を移動させてストロークを描くが、プロセッサ108も引き続き、演算により求めた座標情報(X,Y)と、圧力センサ107により検出される筆圧データ(P)、リアルタイムクロック110により発信された時刻情報(T)とを含む座標属性情報、及びペンIDを関連付けた記入情報を、CMOSカメラ106によるドットパターンの撮影周期に応じて、逐次生成し、通信ユニット111に当該記入情報を順次、PC装置2へ送信させる。ユーザがストロークを描き終え、電子ペン1を入力用紙4から離すと、圧力センサ107は筆圧を検出しなくなるため、プロセッサ108は、圧力センサ107によって所定値以上の筆圧が検出されなくなったと判断して、電子ペン1の入力用紙4への離脱を示すペンアップ情報PUと、電子ペン1の識別情報であるペンID等とを関連付けた記入情報を生成して、通信ユニット111に、その記入情報をPC装置2へ送信させる。このように、ユーザの一つのストロークの記入により、電子ペン1によって生成される座標属性情報の集合を「ストローク情報」と呼ぶ。
【0044】
(PC装置)
次に、PC装置2Aについて説明する。なお、PC装置2Bの構成はPC装置2Aと同様であるため、異なる点以外は、その説明を省略する。PC装置2Aは、ハードウェアとして、電子ペン1とのデータ通信が可能なアンテナ装置、CPU等のプロセッサ、ROMやRAMといったメモリ、ディスプレイ、マウスやキーボード等で構成されるパーソナルコンピュータ等で構成される。図7は、PC装置2Aの機能ブロック図である。PC装置2Aは、機能的には、マウスやキーボードといった入力手段21、受信手段22、処理手段24、記憶手段25、表示手段26、及び送信手段27を備える。PC装置2Aは、電子ペン1から受信した入力用紙4等に関する記入情報に基づいて所定の処理を行うものである。
【0045】
受信手段22は、アンテナ受信回路等により構成され、電子ペン1から記入情報を受信したりサーバ装置3からオブジェクト情報を受信したりして、受信した情報を処理手段24に伝送する。表示手段26は、ディスプレイ等によって構成され、処理手段24によって指示された内容を表示する。送信手段27は、処理手段24の指示による入力用紙4及び指示用紙5の印刷指示(出力命令)をプリンターに送信する。また、送信手段27は、処理手段24によって指示された情報をサーバ装置に送信する。プリンターやサーバ装置3へのデータ送信方式は、有線式であっても無線式であってもよい。
【0046】
処理手段24は、CPU等のプロセッサによって構成され、PC装置2Aの全体の制御を行う。具体的には、処理手段24は、図13で後述する表示アプリケーション6を実行することで、所定の背景画像に重畳して電子ペン1による入力エリア401A内への記入内容が描画されたページ(以後、単に「ページ」とも呼ぶ。)画像を、表示手段26に表示させる。各ページは、ページ番号を有し、後述する図10(a)に示すデータベースにより特定の背景画像と関連付けられている。また、処理手段24は、入力用紙4又は指示用紙5の印刷指示を検知した場合、後述する図9、図10に示すテーブル又はマップを参照して印刷情報を生成し、各印刷サイズに合った異なる座標領域を示すドットパターンを各用紙に割当てる。以後では、入力用紙4のうち入力エリア401に割当てられたドットパターンの座標領域又はその座標空間を、「入力エリア401の座標系」と呼ぶ。記入情報に含まれる座標情報は、入力エリア401の座標系により規定されている。
【0047】
また、電子ペン1によって、入力用紙4への記入の際にドットパターンを読み取ることによって生成された記入情報を、PC装置2Aが受信すると、処理手段24は、記入情報に含まれる座標情報から図9、図10に示すテーブル又はマップを参照してページ番号及び背景画像を特定して表示手段26にそのページを表示させ、記入情報に基づくストロークを当該ページに重ねて描画し表示手段26に表示させる。また、処理手段24は、ユーザによる入力手段21の操作により、記憶指示を検知すると、ストローク情報をそのページに組み込んで、新たな背景画像を生成して記憶手段25に保存する。
【0048】
なお、ストロークを表示するにあたって、処理手段24は、電子ペン1から受信した記入情報の中にペンダウン情報PDが含まれることを識別すると、最新のストローク情報を記憶するための記憶領域を記憶手段25に設定させる。そして、処理手段24は、受信した記入情報の中にペンアップ情報PUが含まれることを検出するまで、或いは、受信した記入情報の中に次のペンダウン情報PDが含まれることを検出するまで、受信した記入情報の中に含まれる座標属性情報を最新のストローク情報の一部として記憶手段25に記憶させる。
【0049】
また、処理手段24は、ペンダウン情報PDを受信してからペンアップ情報PUを検出するまでに受信した座標属性情報に基づき、1ストローク単位でのストロークの描画に必要な情報(以後、「オブジェクト情報」と呼ぶ。)を生成する。具体的には、オブジェクト情報は、ストローク情報が示す各座標点が、所定の補間関数を用いて滑らかな曲線を描くように補間され、かつ、入力エリア401の座標系から、後述する背景画像の座標系に変換されたX、Y座標の集合を含む情報である。図8は、オブジェクト情報のデータ構造の一例を示す図である。図8に示すように、オブジェクト情報は、「ページ番号」と、所定の補間関数によりストローク情報から生成された曲線を構成する座標データの集合(以後、「曲線座標データ」と呼ぶ。)であって、入力エリア401の座標系から、当該入力エリア401に対応する背景画像(ページ)の座標系に変換されたX、Y座標の集合である「曲線座標データ」と、「ペンID」と、ストロークの線種を特定する情報である「線種情報」と、を有する。ここで、「背景画像の座標系」とは、表示アプリケーション6に表示された背景画像(ページ)を基準とした座標系であって、例えば背景画像の所定の点(例えば左上隅)を原点とし、当該背景画像内での相対的な位置を規定する座標系を指す。また、線種情報とは、具体的には、指示用紙5の線種変更指示エリア501、502への電子ペン1による操作に基づき定められた線幅の情報を示す。そして、処理手段24は、送信手段27により、処理手段24が生成したオブジェクト情報をサーバ装置3へ送信する。さらに、処理手段24は、サーバ装置3から、サーバ装置3が記憶しているオブジェクト情報を受信手段22により受信する。この具体的な説明については、[処理フロー]のセクションで詳しく説明する。
【0050】
記憶手段25は、ROMやRAMといったメモリによって構成される。記憶手段25は、表示アプリケーション6や、プリンターへの電子ペン用用紙の印刷指示を可能とするためのプリンタドライバ等のプログラムを記憶する。また、記憶手段25は、処理手段24の処理命令により、電子ペン1から受信した記入情報をペンID毎に記憶したり、プログラムの実行により生成される所定のデータを記憶したりする。
【0051】
記憶手段25は、広範囲の座標領域のドットパターンに関する情報を有しており、処理手段24の指示により、各入力エリア401及び線種変更指示エリア501、502に割当てられたドットパターンの特定の座標領域に関する定義情報を記憶する。図9(a)は、PC装置2Aの記憶手段25に記憶され、各入力エリア401及び線種変更指示エリア501、502に関連付けて記憶される座標領域を含む情報(以後、「座標定義情報」とも呼ぶ。)を示すデータ構造である。図9(b)は、PC装置2Bの記憶手段25により記憶される座標定義情報を示すデータ構造である。図9(a)、(b)に示すように、印刷される各用紙に設定された各エリアに印刷されるドットパターンの座標領域に対して、ドットパターンアドレス、エリアの種別、ページ番号が対応付けられて記憶される。各入力エリア401及び線種変更指示エリア501、502に関連付けられるドットパターンの座標領域は、角の位置座標(Xn,Yn)、高さ(Y方向)、幅(X方向)で規定される。
【0052】
なお、ドットパターンは、予め記憶せずに、処理手段24によって所定のアルゴリズムにより生成されるようにしてもよい。また、座標定義情報は、表示アプリケーション6自体の指示により処理手段24が生成してもよいし、当該表示アプリケーション6の機能を拡張するために付加されたプラグインのプログラムの指示によって、処理手段24が生成するようにしてもよい。
【0053】
また、記憶手段25は、処理手段24の指示により、入力用紙4に印刷される1または複数の背景画像の1つを1ページとしたときの、各ページに対応するページ番号と、これに対応する背景画像の情報とを関連付けて記憶すると共に、各線種変更指示エリア501、502に対応する、表示手段26に表示するストロークの線幅の情報を記憶する。図10(a)は、各ページに対応するページ番号と、これに対応する背景画像の情報との関係を規定するデータベースの一例である。図10(a)に示すデータベースは、「ページ番号」と、背景画像のPC装置2中での保存名称を示す「背景画像」と、背景画像のサイズを示す「画像サイズ」とを有する。各ページ番号に対応する背景画像は、絵柄や文字又は記入枠として入力用紙4の入力エリア401に印刷される。背景画像は、白紙の絵柄であってもよい。背景画像は、例えば、図面、設計図、企画書、報告書などの会議資料における1ページ分の絵柄等に用いられる。例えば全15ページの会議資料からは、15の背景画像が生成されて、それぞれページ番号と画像サイズとが関連付けられる。図10(b)は、線種変更指示エリア501、502に対応する線幅の情報を規定するデータベースの一例である。図10(b)に示すデータベースは、線種変更指示が「細」か「太」かを示す「線種変更指示エリア」と、その線種変更指示エリアにより設定される線幅のポイント数を示す「線幅」とを有する。
【0054】
ここで、図9(a)、(b)に示す座標定義情報の具体例について補足説明する。線種変更指示エリア501と線種変更指示エリア502とは、同一の指示用紙5に印刷されるため、同一のドットパターンアドレス「10.30.19.1」に関連付けられた、異なる座標領域のドットパターンが割り当てられている。線幅「細」の線種変更指示エリア501には、座標領域「(x8,y8)、H8、W8」のドットパターンが割り当てられ、線幅「太」の線種変更指示エリア502には、「(x9,y9)、H9、W9」のドットパターンが割り当てられている。一方、入力エリア401については、複数ページの会議資料であれば、基本的には、1ページごとに異なる入力用紙4に印刷されるため、印刷されたページのページ番号を特定できるように、1ページごとに入力エリア401が必要となる。そこで、入力エリア401には、印刷されるページに対応するページ番号ごとに、異なるドットパターンアドレスに関連付けられた、異なる座標領域のドットパターンが割り当てられている。例えば、図9(a)に示すように、ページ番号「P01」の入力エリア401には、座標領域「(x1,y1)、H1、W1」のドットパターンが割り当てられ、「P02」の入力エリア401には、「(x2,y2)、H2、W2」のドットパターンが割り当てられている。また、2ページ分の背景画像が2面付け印刷により同一の入力用紙4に印刷される場合もある。2面付け印刷される各ページには、通常の1面付け印刷とは異なる、同一のドットパターンアドレスに関連付けられた、それぞれ異なる座標領域のドットパターンが割り当てられている。図9(b)の例では、ドットパターンアドレス「10.30.20.1.5」に関連付けられた入力用紙4には、ページ番号「P01」、「P02」に対応する2つの背景画像が2面付け印刷されていることを示す。2面付け印刷された入力用紙4では、ページ番号「P01」の入力エリア401には、座標領域「(x10,y10)、H10、W10」のドットパターンが割り当てられ、「P02」の入力エリア401には、「(x11,y11)、H11、W11」のドットパターンが割り当てられている。
【0055】
さらに、記憶手段25は、PC装置2Aに接続されている電子ペン1やマウスなどの入力デバイスの記入状態等の管理を行う。図11(a)は、PC装置2Aに接続されている入力デバイス、当該入力デバイスの識別情報であるデバイスID(以後、「ペンID」と総称する。)、入力デバイスの記入状態、開始座標、終了座標、及び線種が関連付けられたデータベースである。なお、開始座標及び終了座標については、[処理フロー]のセクションで述べる。
【0056】
図11(a)に示す例では、ペンIDが「Pen1A」である電子ペン1Aは、記入状態が「書込描画中」となっている。「書込描画中」とは、電子ペン1が入力エリア401へ記入中であって、同一のストロークに対応する記入情報により特定される座標点を当該記入情報の生成順序に従い結んだ線(以後、「描画対象線」と呼ぶ。)が描画されて、表示手段26により表示されている状態を示す。描画対象線は、より具体的には、補間関数により曲線が生成される前に記入情報に基づき表示手段26により一時的に表示される線である。「書込描画中」に対応する記入状態では、電子ペン1Aにより記入されている入力用紙4に印刷された背景画像に対応するページ番号と、表示アプリケーション6により表示されている背景画像に対応するページ番号とが一致している。一方、ペンIDが「Pen1B」である電子ペン1Bは、記入状態が「書込中」となっている。これは、電子ペン1Bが入力エリア401へ記入中であるが、描画対象線が表示手段26により表示されていない状態を指す。具体的には、この場合、電子ペン1Aにより記入されている入力用紙4に対応するページ番号と、表示アプリケーション6により表示されているページ番号とが異なっている。また、ペンIDが「Mouse」のマウスは、記入状態が「書込描画中」又は「書込中」のいずれにも該当していない空欄「−」となっている。この場合、上述のマウスは、表示アプリケーション6に表示されたページ内への入力を行っていない。
【0057】
図11(b)は、PC装置2Bに接続されている入力デバイス、ペンID(デバイスID)、記入状態、開始座標、及び終了座標を関連付けたデータベースの一例である。図11(b)では、ペンIDが「Pen1C」である電子ペン1Cは、記入状態が「書込中」となっており、表示アプリケーション6の表示領域に表示されていない入力エリア401へ記入中の状態であることを示す。ペンIDが「Pen1D」であるペン1Dは、記入状態が「書込描画中」又は「書込中」のいずれにも該当せず、入力エリア401へ記入していない状態を示す。ペンIDが「Mouse」のマウスは、表示アプリケーション6の表示領域内への入力を行っていない状態を示す。
【0058】
(サーバ装置)
次に、サーバ装置3について再び図7を参照して説明する。サーバ装置3は、ハードウェアとして、PC装置2とのデータ通信が可能な通信装置、CPU等のプロセッサ、ROMやRAMといったメモリ等で構成されるコンピュータ等で構成される。サーバ装置3は、図7に示すように、機能的には、受信手段32、処理手段34、記憶手段35、及び送信装置37を備える。概略的には、サーバ装置3は、オブジェクト情報の送信、受信、及び管理を行う。
【0059】
受信手段32は、PC装置2から送信されるオブジェクト情報等を受信する。送信装置37は、処理手段34の指示により、オブジェクト情報をPC装置2に送信する。処理手段34は、CPU等のプロセッサによって構成され、サーバ装置3の全体の制御を行う。具体的には、処理手段34は、PC装置2A、2Bから送信されたオブジェクト情報に対し識別情報(以後、「オブジェクトID」と呼ぶ。)を付与する。このオブジェクトIDは、後述するように、生成された順序が把握可能なように通し番号が付される。また、処理手段34は、PC装置2A、2BからオブジェクトIDを含む問合せ情報が送信された場合、当該オブジェクトIDに基づき送信すべきオブジェクト情報を特定し、送信手段37に送信させる。この具体的な処理については、[処理フロー]のセクションで詳しく説明する。
【0060】
記憶手段35は、ROMやRAMといったメモリによって構成される。記憶手段35は、オブジェクト情報とオブジェクトIDとオブジェクト情報の送信元のPC装置2の識別情報(送信元情報)とを関連付けて記憶する。図12は、オブジェクト情報、オブジェクト情報の送信元、及びオブジェクトIDが関連付けられたデータベースの一例である。図12では、「オブジェクト情報」の欄には、「Obj01」乃至「Obj59」が記憶されている。各「Obj01」乃至「Obj59」は、オブジェクト情報のサーバ装置3内での保存名称を示す。また、「送信元情報」の欄には、「PC装置2A」又は「PC装置2B」が記載されている。実際には、記憶手段35は、送信元情報として、PC装置2のIPアドレス、MACアドレス(Media Access Control Address)等の固有の識別情報を記憶する。「オブジェクトID」の欄には、「ID001」乃至「ID059」が記載されている。このように、オブジェクトIDには、生成順序が識別可能なように通し番号が付される。これにより、後述するように、サーバ装置3は、必要なオブジェクト情報のみをPC装置2に送信し、通信量を低減させることが可能となる。
【0061】
(表示アプリケーション)
図13は、PC装置2のディスプレイ上に表示される表示アプリケーション6の一例を示す。表示アプリケーション6は、表示領域601と、各操作ボタン602乃至607を備える。表示領域601は、入力エリア401への電子ペン1による書き込み内容を、当該入力エリア401に対応する背景画像と共に、ページ番号ごとに表示する。具体的には、処理手段24は、図10(a)に示すデータベースを参照し、操作ボタン602、603等によって指定されたページ番号に対応する背景画像を読み出し、表示領域601に表示させると共に、記入情報及びオブジェクト情報に基づきストロークを描画して、背景画像に重畳して表示する。「前」と表示された操作ボタン602(「前ボタン602」とも呼ぶ。)は、表示領域601の表示内容を、1つ小さいページ番号に対応するページに遷移させる場合に押下されるボタンである。「次」と表示された操作ボタン603(「次ボタン603」とも呼ぶ。)は、表示領域601の表示内容を、1つ大きいページ番号に対応するページに遷移させる場合に押下されるボタンである。「拡大」と表示された操作ボタン604(「拡大ボタン604」とも呼ぶ。)は、表示領域601の表示内容を、所定比率だけ拡大して表示する場合に押下されるボタンである。「縮小」と表示された操作ボタン605(「縮小ボタン605」とも呼ぶ。)は、表示領域601の表示内容を、所定比率だけ縮小して表示する場合に押下されるボタンである。「遠隔」と表示された操作ボタン606(「遠隔ボタン606」とも呼ぶ。)は、後述する遠隔会議モードのオン及びオフを切り替える場合に押下されるボタンである。遠隔会議モードの実行中では、PC装置2は、電子ペン1から受信した記入情報から生成したオブジェクト情報をサーバ装置3へ送信する。これに加え、PC装置2は、遠隔会議モードの実行中では、他のPC装置2よりサーバ装置3が受信完了したオブジェクト情報の有無の問い合わせを所定時間幅ごとに行い、当該オブジェクト情報を受信する。「終了」と表示された操作ボタン607(「終了ボタン607」とも呼ぶ。)は、表示アプリケーション6を終了する場合に押下されるボタンである。なお、好適には、表示領域601の表示内容を拡大したり縮小したりできるようにして、表示アプリケーション6の画面内に、スクロールバーやスクロールボタン等を設けて、表示領域601の表示範囲を変更できるようにするとよい。
【0062】
[処理フロー]
次に、第1実施形態の情報処理システム10による処理フローについて図14乃至図19を用いて説明する。PC装置2は、以下に説明するオブジェクト情報送信側の処理(図14乃至図17参照)とオブジェクト情報受信側の処理(図19及び図17参照)とを並行して実行すると共に、前ボタン602や次ボタン603が押下された場合の表示更新処理(図18参照)を実行する。
【0063】
(オブジェクト情報送信側の処理)
図14は、第1実施形態において、電子ペン1及びPC装置2によって実行されるオブジェクト情報送信側の処理手順を示すフローチャートである。図14に示す処理フローは、電子ペン1により記入情報が生成されるごとに繰り返し実行される。
【0064】
ユーザが、入力用紙4又は指示用紙5に対し電子ペン1で文字等を記入すると、電子ペン1は、ペンダウン時には、ペンダウン情報PD及びペンIDが関連付けられた記入情報をPC装置2へ送信する。また、電子ペン1は、ストロークの記入中では、ストロークに沿ってドットパターンが撮像されて演算された座標情報を含む座標属性情報とペンIDとが関連付けられた記入情報をPC装置2へ送信する。そして、電子ペン1は、ペンアップ時には、ペンアップ情報PU及びペンIDが関連付けられた記入情報をPC装置2へ送信する(ステップS101)。
【0065】
PC装置2では、受信手段22が、電子ペン1から送信された記入情報を受信すると、処理手段24は、記憶手段25に、その記入情報を記憶させる(ステップS201)。次に、処理手段24は、その記入情報から座標情報を認識したか否か、即ちその記入情報に座標情報が含まれるか否かを判定する(ステップS202)。
【0066】
そして、座標情報を認識したと判断した場合(ステップS202;Yes)、処理手段24は、入力エリア401へ記入されたか否か判定する(ステップS203)。具体的には、処理手段24は、記憶手段25に記憶された座標定義情報(図9参照)を参照し、認識した座標情報が入力エリア401を示す座標領域に含まれるか否か判定する。そして、処理手段24は、入力エリア401へ記入されたと判断した場合(ステップS203;Yes)、記入情報に含まれるペンIDの記入状態を「書込描画中」に設定する(ステップS204)。具体的には、処理手段24は、図11に示す入力デバイスの記入状態を記録するデータベース中で、当該ペンIDに対応する記入状態を「書込描画中」に設定する。そして、処理手段24は、リアルタイム描画処理を実行する(ステップS205)。リアルタイム描画処理については別途フローチャートを用いて説明する。一方、処理手段24は、入力エリア401へ記入されていないと判断した場合(ステップS203;No)、即ち、入力エリア401外の入力用紙4上又は指示用紙5上に記入されたと判断した場合、線種変更指示エリア501、502へ記入されたか否か判定する(ステップS206)。そして、線種変更指示エリア501、502へ記入されたと判断した場合(ステップS206;Yes)、処理手段24は、ペンIDの線種情報を、記入された線種変更指示エリア501、502で規定された線種に更新する(ステップS207)。具体的には、処理手段24は、ペンIDの線種情報を、図9のデータベースに基づき特定し、図11に示すデータベースに、対象となるペンIDに対応させて記憶手段25に記憶する。一方、線種変更指示エリア501、502への記入ではないと判断した場合(ステップS206;No)、処理手段24は、後述するステップS209の処理を実行する。
【0067】
一方、ステップS202で、座標情報を認識していないと判断した場合(ステップS202;No)、処理手段24は、その記入情報にペンアップ情報PUが含まれるか否かを判定する(ステップS208)。ペンアップ情報PUが含まれると判断した場合(ステップS208:Yes)、処理手段24は、ペンIDの記入状態は「書込中」または「書込描画中」であるか否か判定する(ステップS209)。具体的には、処理手段24は、図11を参照し、記入情報に対応するペンIDの記入状態が「書込中」または「書込描画中」であるか否か判定する。そして、ペンIDの記入状態が「書込中」または「書込描画中」であると判断した場合(ステップS209;Yes)、処理手段24は後述する図16のフローチャートの処理を実行する。一方、記入情報にペンアップ情報PUが含まれていない場合(ステップS208;No)、又は、ペンIDの記入状態が「書込中」及び「書込描画中」でない場合(ステップS209;No)、処理手段24は、フローチャートの処理を終了する。
【0068】
(リアルタイム描画処理)
図15は、ステップS205のリアルタイム描画処理の手順を示すフローチャートである。図15に示すフローチャートの処理は、ステップS203で入力エリア401への記入であると判定され、かつ、ペンIDの記入状態を「書込描画中」に設定した後に実行される。
【0069】
まず、処理手段24は、対象となるペンIDに対応する開始座標が記憶手段25に記憶されているか否か判定する(ステップS301)(図11参照)。ここで、「開始座標」とは、描画対象線である各線分の始点となる座標を指す。そして、ペンIDの開始座標が存在しない場合(ステップS301;No)、ステップS202で認識した座標情報をペンIDの開始座標として記憶手段25に記憶する(ステップS309)。具体的には、処理手段24は、図11に示すデータベースに、認識した座標情報を開始座標として対象となるペンIDに対応させて記憶手段25に記憶させる。一方、処理手段24は、ペンIDの開始座標が存在する場合(ステップS301;Yes)、認識した座標情報をペンIDの終了座標として記憶手段25の記憶・更新を行う(ステップS302)。ここで、「終了座標」とは、描画対象線である各線分の終点となる座標を指す。次に、処理手段24は、開始座標と終了座標を結んだ線分を入力エリア401の座標系から背景画像の座標系に変換して、描画対象線として記憶・更新する(ステップS303)。
【0070】
次に、処理手段24は、描画対象線が表示領域601に含まれるか否か判定する(ステップS304)。即ち、この場合、処理手段24は、電子ペン1により記入された入力エリア401に対応するページ番号と表示領域601に表示されているページ番号とが一致し、かつ、背景画像の座標系に変換された描画対象線の全部または一部が表示領域601に相当する座標領域内に存在するか否か判定する。そして、処理手段24は、描画対象線が表示領域601に一部でも含まれる場合(ステップS304;Yes)、図11に示すデータベースから対象となるペンIDに設定されている線種情報を読み込む(ステップS305)。次に、処理手段24は、読み込んだ線種情報に基づいて描画対象線を表示画面上、即ち表示領域601上に一時描画する(ステップS306)。このとき、処理手段24は、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて、表示領域601に含まれる描画対象線を描画する。一方、処理手段24は、描画対象線が表示領域601に全く含まれないと判断した場合(ステップS304;No)、対象となるペンIDの記入状態を「書込中」に設定する(ステップS308)。
【0071】
そして、処理手段24は、ステップS306又はステップS308の終了後、終了座標を対象となるペンIDの開始座標として記憶・更新する(ステップS307)。
【0072】
(オブジェクト情報の生成処理及び記憶処理)
図16は、図14のステップS209に続いて実行される、オブジェクト情報送信側の生成処理及びオブジェクト情報受信側の記憶処理の手順を示すフローチャートである。図16に示すフローチャートの処理は、図14に示すフローチャートのステップS208でペンアップ情報PUが認識され、若しくは、ステップS202で座標情報を認識したが、ステップS203、S206でそれぞれ入力エリア401、線種変更エリア501、502への記入ではないと判断され、かつ、ステップS209でペンIDの記入状態が「書込中」または「書込描画中」であった場合に、PC装置2により実行される。
【0073】
まず、処理手段24は、該当するペンIDの記入状態が「書込中」または「書込描画中」に受信した座標情報よりストローク情報を認識する(ステップS401)。ここで、「ストローク情報」とは、図5に示すように、電子ペン1がペンダウンからペンアップまでに認識したX、Y座標情報に、時刻情報T、記入時の筆圧データPを対応付けた座標属性情報の集合を指す。なお、ステップS206で「No」と判断された場合、即ち、電子ペン1により、記入中の入力エリア401から外れて記入された場合は、ペンアップしたものと見なして、ストローク情報を認識する(ステップS401)。そして、処理手段24は、入力エリア401内のストローク情報から補間関数によって曲線を算出する(ステップS402)。ここで、「補間」とは、あるデータ列の各区間内の開始点と終了点を通る近似曲線を求めることを指す。従って、処理手段24は、実際の筆跡(手書きストローク)に近い曲線をストローク情報より補間関数を用いて算出する。ここで、処理手段24は、公知の種々の補間関数を用いた補間方法を適用可能であり、例えばスプライン補間やラグランジュ補間によりストローク情報から曲線を算出する。次に、処理手段24は、算出した曲線からオブジェクト情報を生成し、記憶手段25に記憶させる(ステップS403)。具体的には、処理手段24は、算出した曲線に対応する曲線座標データを生成する。このとき、曲線座標データ(曲線を構成する座標データの集合)は、算出した曲線を高精度に描くため、ストローク情報に含まれる座標データの集合よりも数の多い集合となり、各座標データが示す座標点の間の距離が短くなる。そして、処理手段24は、当該曲線座標データを、入力エリア401の座標系から入力エリア401に対応する背景画像(ページ)の座標系に変更し、ストローク情報に含まれるX、Y座標データから特定した入力エリア401に対応するページ番号、ペンID、ペンIDから特定した線種情報を対応付けて、オブジェクト情報を生成し記憶する。
【0074】
次に、処理手段24は、対象となるペンIDの記入状態と開始座標をクリアする(ステップS404)。即ち、処理手段24は、図11に示すデータベースから対象となるペンIDの記入状態及び開始座標を消去する。そして、処理手段24は、描画更新処理を行う(ステップS405)。描画更新処理については、別途、図17のフローチャートを用いて詳細に説明する。次に、処理手段24は、遠隔会議モード中であるか否か判定する(ステップS406)。なお、遠隔会議モードは、遠隔ボタン606によりオンまたはオフが切り替えられる。そして、遠隔会議モード中でない場合(ステップS406;No)、処理手段24は、フローチャートの処理を終了する。一方、遠隔会議モード中の場合(ステップS406;Yes)、処理手段24は、ステップS403で記憶したオブジェクト情報をサーバ装置3へ送信する(ステップS407)。このとき、処理手段24は、オブジェクト情報と共に、MACアドレスなどの送信元情報を、サーバ装置3へ送信する。これに対し、サーバ装置3の処理手段34は、受信手段32により受信したオブジェクト情報に、送信元情報を関連付けて記憶手段35に記憶する(ステップS501)。さらに、サーバ装置3の処理手段34は、オブジェクト情報に固有のID(識別情報)であるオブジェクトIDを通し番号順に付与する(ステップS502)。そして、サーバ装置3の処理手段34は、図12に示すように、オブジェクト情報と送信元情報とオブジェクトIDとを関連付けてデータベースを記憶手段35に記憶させる。
【0075】
(描画更新処理)
図17は、ステップS405の描画更新処理の手順を示すフローチャートである。まず、処理手段24は、図11のデータベースを参照し、記入状態が「書込描画中」のペンIDが存在するか否か判定する(ステップS601)。そして、記入状態が「書込描画中」のペンIDが存在しない場合(ステップS601;No)、即ち、ステップS303乃至S306に基づき電子ペン1の筆記内容をリアルタイムで描画中ではない場合、処理手段24は、一時描画している描画対象線を表示画面上よりクリアする(ステップS602)。そして、処理手段24は、PC装置2内に記憶されている表示領域601内のオブジェクト情報を表示画面上に描画・更新する(ステップS603)。具体的には、処理手段24は、表示領域601で表示している背景画像に対応するページ番号と同じページ番号を持ち、表示範囲に含まれるオブジェクト情報を記憶手段25より読み出し、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて、曲線座標データに基づく曲線をオブジェクト情報に含まれる線種で表示領域601に描画・更新する。
【0076】
一方、記入状態が「書込描画中」のペンIDが存在する場合(ステップS601;Yes)、即ち、ステップS303乃至S306に基づき電子ペン1の筆記内容をリアルタイムで描画中の場合、処理手段24は、フローチャートの処理を終了する。即ち、処理手段24は、ステップS602、S603に基づく表示内容の更新によって、一時描画中の描画対象線が筆記途中でクリアされたり、表示画面がちらついたりすることを防ぐため、「書込描画中」のペンIDが存在する場合には、表示内容を更新しない。
【0077】
なお、処理手段24は、上述したステップS601の処理に代えて、ペンダウンしている電子ペン1が存在するか否かを判定してもよい。即ち、処理手段24は、ペンダウン情報PD又は座標情報を含む記入情報を送信している電子ペン1が存在するか否か判定し、上記電子ペン1が存在する場合には、ステップS602、S603に基づく表示内容の更新を行わない。この場合は、表示領域601に含まれない入力エリア401へのペンダウンがある場合でも、表示領域601の表示内容が更新されない。
【0078】
(表示更新処理)
図18は、表示領域601の表示内容を変更する表示更新処理の手順を示すフローチャートである。PC装置2は、図18に示すフローチャートの処理を、所定の周期に従い繰り返し実行する。
【0079】
まず、処理手段24は、表示領域601を変更すべきか否か判定する(ステップS701)。即ち、処理手段24は、ユーザによる表示アプリケーション6の前ボタン602、次ボタン603、拡大ボタン604、又は縮小ボタン605の押下により、表示領域601により表示するページを変更するよう指示されたか否か判定する。そして、処理手段24は、表示領域601の表示内容を変更するよう指示されていないと判断した場合(ステップS701;No)、フローチャートの処理を終了する。
【0080】
一方、処理手段24は、表示領域601の表示内容を変更するよう指示されたと判断した場合(ステップS701;Yes)、一時描画している描画対象線を表示画面上よりクリアする(ステップS702)。そして、処理手段24は、描画済みのオブジェクト情報と、表示済みの背景画像を表示画面上よりクリアする(ステップS703)。そして、処理手段24は、変更された表示領域601に対応する背景画像を表示する(ステップS704)。即ち、処理手段24は、変更先のページ番号に対応する背景画像を表示範囲内で表示領域601に表示する。次に処理手段24は、PC装置2内に記憶されている表示領域601内のオブジェクト情報を表示画面上に描画・更新する(ステップS705)。具体的には、処理手段24は、表示領域601で表示している背景画像に対応するページ番号と同じページ番号を持ち、かつ表示範囲に含まれるオブジェクト情報を記憶手段25より読み出し、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて表示領域601に描画・更新する。
【0081】
(オブジェクト情報の照会及び受信処理の概要)
図19は、第1実施形態において、PC装置2Aが、更新分のオブジェクト情報についてサーバ装置3へ照会し、該当するオブジェクト情報を受信する処理手順を示すフローチャートである。PC装置2Aは、図19の処理フローを、所定の周期に従い繰り返し実行する。なお、ここでは、説明の便宜上、PC装置2Aを対象とした処理について述べるが、PC装置2Bも、同様に、図19の処理フローと同様の処理を、所定の周期に従い繰り返し実行する。
【0082】
まず、PC装置2Aの処理手段24は、遠隔会議モードが開始されたか否か判定する(ステップS801)。即ち、処理手段24は、遠隔ボタン606が押下されたか否か判定する。そして、遠隔モードが開始されない場合(ステップS801;No)、処理手段24は、フローチャートの処理を終了する。一方、処理手段24は、遠隔会議モードが開始された場合(ステップS801;Yes)、記憶されているオブジェクトIDのうち、最終のオブジェクトIDをサーバ装置3へ送信する(ステップS802)。ここで、「最終のオブジェクトID」とは、図16のステップS502でサーバ装置3によって付与されたオブジェクトIDのうち、通し番号が最も大きい最新に付与されたオブジェクトIDを指す。また、処理手段24は、最終のオブジェクトIDと共に、PC装置2AのMACアドレスなどの送信元情報を、サーバ装置3へ送信する。また、処理手段24は、最終のオブジェクトIDを送信した時刻を、照会時刻情報として記憶手段25に一時記憶・更新する。
【0083】
これに対し、サーバ装置3の処理手段34は、PC装置2Aの最終のオブジェクトIDを受信する(ステップS901)。そして、サーバ装置3の処理手段34は、PC装置2A以外から送信された、更新されたオブジェクト情報が存在するか否か判定する(ステップS902)。具体的には、サーバ装置3の処理手段34は、図12に示すデータベースから、PC装置2Aの送信元情報と異なる送信元情報と関連付けられたオブジェクト情報であって、最終のオブジェクトIDより大きいオブジェクトIDに対応するオブジェクト情報があるか否か判定する。そして、サーバ装置3の処理手段34は、上述のオブジェクト情報が存在する場合(ステップS902;Yes)、当該オブジェクト情報を更新分のオブジェクト情報として送信する(ステップS903)。一方、更新分のオブジェクト情報が存在しない場合(ステップS902;No)、サーバ装置3の処理手段34は、フローチャートの処理を終了する。
【0084】
PC装置2Aの処理手段24は、ステップS802の実行後、更新分のオブジェクト情報を受信したか否か判定する(ステップS803)。そして、処理手段24は、更新分のオブジェクト情報を受信したと判断した場合(ステップS803;Yes)、更新部のオブジェクト情報を記憶手段25に記憶させる(ステップS804)。そして、処理手段24は、更新分のオブジェクト情報に付与されているオブジェクトIDを記憶する(ステップS805)。このとき、処理手段24は、更新分のオブジェクト情報に付与されているオブジェクトIDのうち最大のオブジェクトIDを、ステップS802で使用する最終のオブジェクトIDとして記憶する。次に、処理手段24は、更新分のオブジェクト情報を対象に、図17で説明した描画更新処理を実行する(ステップS806)。
【0085】
そして、ステップS806の実行後、又は、更新分のオブジェクト情報を受信しなかった場合(ステップS803;No)、処理手段24は、ステップS802の実行時(照会時刻)から所定時間経過したか否か判定する(ステップS807)。ここで、PC装置2Aのパフォーマンス負荷を低減するため、例えば上述の所定時間を1秒に設定するとよい。この場合、処理手段24は、1秒ごとに、ステップS802乃至S806及びS808の処理を実行することになる。そして、ステップS802の実行時から所定時間経過していない場合(ステップS807;No)、処理手段24は、所定時間経過するまで待機する。一方、ステップS802の実行時から所定時間経過したと判断した場合(ステップS807;Yes)、遠隔会議モードが終了するか否か判定する(ステップS808)。即ち、処理手段24は、遠隔会議モードの開始後、遠隔ボタン606が押下されたか否か判定する。そして、処理手段24は、遠隔会議モードが終了したと判断した場合(ステップS808;Yes)、フローチャートの処理を終了する。一方、処理手段24は、遠隔会議モードが終了していないと判断した場合(ステップS808;No)、ステップS802へ処理を進める。
【0086】
[曲線描画処理の具体例]
図15乃至図17のフローチャートに示す曲線描画処理の具体例について、図20乃至図23を参照してさらに詳しく説明する。図20は、表示領域601に表示される描画対象線の表示例を示す。図20において、座標点T(1)乃至T(6)(かっこ内の数字は生成順序を示す。以後、図20乃至図23において同じ。)は、記入情報から認識した座標情報が示す座標であって、図15のステップS302、S307、S309で開始座標又は/及び終了座標に設定された座標を示す。また、描画対象線L(1)乃至L(5)は、ステップS303で生成された描画対象線を示す。なお、図20、21では、説明の便宜上、背景画像の表示を省略する。
【0087】
まず、最初に、座標点T(1)に相当する座標情報が電子ペン1から送信される記入情報から認識された場合、処理手段24は、座標点T(1)を対象のペンIDの開始座標として記憶手段25に記憶させる(ステップS309参照)。次に、座標点T(2)に相当する座標情報が記入情報から認識された場合、処理手段24は、座標点T(2)を終了座標として記憶すると共に(ステップS302参照)、開始座標である座標点T(1)と終了座標である座標点T(2)を結んだ線分に基づき描画対象線L(1)を生成し(ステップS303参照)、ペンIDに設定されている線種で(ステップS305参照)、表示画面上に一時描画する(ステップS306参照)。その後、処理手段24は、座標点T(2)を開始座標として更新記憶する(ステップS307参照)。次に、座標点T(3)に相当する座標情報が記入情報から認識された場合、処理手段24は、座標点T(3)を終了座標として更新記憶すると共に(ステップS302参照)、開始座標である座標点T(2)と終了座標である座標点T(3)を結んだ線分に基づき描画対象線L(2)を生成し(ステップS303参照)、ペンIDに設定されている線種で(ステップS305参照)、表示画面上に一時描画する(ステップS306参照)。その後、処理手段24は、座標点T(3)を開始座標として更新記憶する(ステップS307参照)。そして、処理手段24は、座標点T(4)乃至T(6)に相当する座標情報を認識した場合にも、同様の処理を行う。図20は、処理手段24が座標点T(6)を終了座標として記憶し、開始座標として記憶されている座標点T(5)とを結ぶ線分である描画対象線L(5)を一時描画する直前の表示領域601を示す。そして、図21は、処理手段24がステップS305で読み込んだ線分情報で描画対象線L(5)を表示画面上に一時描画した際の表示領域601の表示例を示す。
【0088】
図22は、座標点T(6)に対応する記入情報を受信後、次に、ペンアップ情報PUを含む記入情報を受信した場合に、処理手段24が座標点T(1)乃至T(6)に基づき生成した曲線L(1−6)の概念図を示す。この場合、処理手段24は、スプライン補間やラグランジュ補間などで用いられる所定の補間関数を用いて座標点T(1)乃至T(6)に基づき、曲線L(1−6)を生成する(ステップS402参照)。なお、図22に示す曲線L(1−6)は、表示領域601上には表示されず、後述する図23の曲線Obj(1−6)が表示領域601上に表示される。図23は、曲線L(1−6)に基づきオブジェクト情報が生成され(ステップS403参照)、当該オブジェクト情報に基づき描かれた曲線Obj(1−6)を示す。図23に示すように、処理手段24は、描画対象線L(1)乃至L(6)を表示領域601から消去して(ステップS602参照)、オブジェクト情報に含まれる線種情報に基づき指定された線種で曲線Objを描いて、表示領域601に表示している(ステップS603参照)。
【0089】
[表示例]
次に、表示領域601の表示例について、図24及び図25を用いて説明する。なお、説明の便宜上、図24、25では、背景画像の絵柄等を省略する。
【0090】
まず、電子ペン1Aのみにより入力エリア401に記入がなされている場合について図24を用いて説明する。図24(a)は、電子ペン1Aのペンアップ直前のPC装置2Aの表示領域601の表示内容を示す。この場合、電子ペン1Aの記入状態が「書込描画中」であり、処理手段24は、リアルタイム描画処理によって、電子ペン1Aから送信された記入情報に対応する描画対象線をPC装置2Aの表示領域601に一時描画している(ステップS306参照)。図24(b)は、電子ペン1Aのペンアップ直後のPC装置2Aの表示領域601の表示内容を示す。この場合、電子ペン1Aの記入状態はクリアされて(ステップS404参照)、処理手段24は、さらに、描画更新処理によって、表示領域601に一時描画されている描画対象線をクリアする(ステップS602参照)。図24(c)は、PC装置2Aによって生成されたオブジェクト情報に基づき曲線が描画された際の表示領域601の表示内容を示す。処理手段24は、ステップS401乃至S403の処理に基づき生成、記憶したオブジェクト情報より、曲線を表示領域601に描画している(ステップS603参照)。
【0091】
次に、電子ペン1A及び電子ペン1Bにより入力エリア401に記入がなされている場合について図25を用いて説明する。図25(a)は、電子ペン1Aがペンアップ直前かつ電子ペン1Bがペンダウン中でのPC装置2Aの表示領域601の表示内容を示す。なお、図25において、「i」は、電子ペン1Aで記入した描画対象線を示し、「ii」は、電子ペン1Bで記入した描画対象線を示す。図25(a)では、電子ペン1Aと電子ペン1Bの記入状態はそれぞれ「書込描画中」となっており、電子ペン1A及び電子ペン1Bで記入した描画対象線が表示領域601に一時描画されている(ステップS306参照)。図25(b)は、電子ペン1Aがペンアップ直後かつ電子ペン1Bがペンアップ直前のPC装置2Aの表示領域601の表示内容を示す。図25(b)では、電子ペン1Aの記入状態が空欄、電子ペン1Bの記入状態が「書込描画中」となっている。このとき、処理手段24は、ステップS401乃至S403に基づき電子ペン1Aの描画対象線からオブジェクト情報を生成・記憶しているが、電子ペン1Bが書込描画中であるため、図25(a)から引き続き、電子ペン1Aの描画対象線が一時描画されている(ステップS601;Yes参照)。図25(c)は、電子ペン1Aがペンアップ後ペンダウンされておらずかつ電子ペン1Bがペンアップ直後の、PC装置2Aの表示領域601の表示内容を示す。図25(c)では、電子ペン1A、1Bの記入状態がいずれも空欄になっており(ステップS601;No参照)、処理手段24は、表示領域601に一時描画されている描画対象線をクリアする(ステップS602参照)。図25(d)は、ステップS401乃至S403で生成、記憶された電子ペン1A、1Bにそれぞれ対応するオブジェクト情報に基づき、曲線を表示領域601に描画した場合のPC装置2Aの表示領域601の表示内容を示す。このとき、処理手段24は、それぞれのオブジェクト情報に含まれる線種情報に基づき、指定された線種でオブジェクト情報に含まれる座標情報に基づきそれぞれの曲線を描く(ステップS603参照)。
【0092】
[第1実施形態の情報処理システムによる作用効果]
第1実施形態の情報処理システムによれば、各PC装置2は、サーバ装置3がオブジェクト情報を管理することによって、サーバから送信されたオブジェクト情報に基づき、遠隔会議を行う他のPC装置2と表示内容を共有することが可能となる。また、例えば一方のPC装置2の画面を画像情報として他方のPC装置2へ配信することで手書き情報を共有する従来の情報処理システムと比較して、第1実施形態の情報処理システムは、表示内容を同期するのに必要なオブジェクト情報のみをサーバ装置3から受信するため、ネットワーク負荷が小さく、かつ異なるPC装置2と接続された2以上の電子ペン1により同時に記入することも可能となる。さらに、他の例として、PC装置2双方のカーソルの動きをサーバ装置3へ送信し、サーバ装置3で描画を行うと共にその画像情報各PC装置に配信する従来の情報処理システムと比較しても、第1実施形態の情報処理システムは、自ら記入したストローク情報をサーバ装置3へ送信して描画する必要がなく、表示の遅延等を防ぐことができ、ネットワーク負荷も低減することができる。また、第1実施形態の情報処理システムでは、PC装置2の画面解像度などが異なっても、ストローク情報は入力エリア401の座標系から当該入力エリア401に対応する背景画像の座標系に変更されているため、表示の際に位置ずれが生じない。
【0093】
また、第1実施形態の情報処理システムでは、PC装置2が電子ペン1の記入情報をリアルタイムで描画している間は、描画対象線から補間関数による曲線に表示内容を更新しないため、電子ペン1によるストロークを記入中に表示内容の更新により一時描画中の描画対象線が筆記途中でクリアされたり、表示画面がちらつくのを防ぐことができる。
【0094】
さらに、第1実施形態の情報処理システムでは、サーバ装置3からオブジェクト情報を受信した場合であっても、接続する電子ペン1の記入情報をリアルタイムで描画している間は、受信したオブジェクト情報を描画しないため、電子ペン1によるストロークを記入中に表示内容の更新により一時描画中の描画対象線が筆記途中にクリアされたり、表示画面がちらつくのを防ぐことができる。
【0095】
[第1実施形態の変形例]
次に、第1実施形態の変形例について説明する。以下の変形例は、任意に組み合わせて上述の第1実施形態に適用してもよい。
【0096】
(変形例1)
第1実施形態では、PC装置2は、ストローク情報から補間関数によって曲線の算出後オブジェクト情報を生成し、他のPC装置2によって生成されたオブジェクト情報を受信した場合には、当該オブジェクト情報に基づき曲線を表示領域601に表示した。これに代えて、PC装置2は、オブジェクト情報の算出時には補間関数による曲線を求めず、表示領域601への描画時に補間関数により曲線を算出してストロークを描画してもよい。これにより、PC装置2は、送受信するオブジェクト情報のデータ量が過大になるのを防ぎ、ネットワーク負荷を低減させる。これについて、上述した第1実施形態と異なる処理を実行する部分を、図26乃至28を参照して説明する。
【0097】
図26は、変形例1に係るオブジェクト情報の生成処理及び記憶処理の手順を示すフローチャートである。まず、処理手段24は、記入状態が「書込中」または「書込描画中」に受信した座標情報よりストローク情報を認識する(ステップS421)。そして、処理手段24は、入力エリア401内のストローク情報からオブジェクト情報を生成し、記憶手段25に記憶させる(ステップS422)。具体的には、処理手段24は、ストローク情報に含まれるX、Y座標データと、X、Y座標データから特定した入力エリア401に対応するページ番号と、ストローク情報に含まれるペンIDと、ペンIDから特定した線種情報とを対応付けて、オブジェクト情報として生成・記憶する。その後、処理手段24は、第1実施形態のステップS404乃至S407(図16参照)と同様の処理を、ステップS423乃至S426で実行する。
【0098】
図27は、変形例1に係るステップS424の描画更新処理の手順を示すフローチャートである。記入状態が「書込描画中」のペンIDが存在しないと判断した場合(ステップS621;No)、処理手段24は、一時描画している描画対象線を表示画面上よりクリアする(ステップS622)。そして、処理手段24は、PC装置2内に記憶されている表示領域601内のオブジェクト情報から補間関数によって曲線を算出する(ステップS623)。具体的には、処理手段24は、表示領域601で表示している背景画像に対応するページ番号と同じページ番号を持ち、表示範囲に含まれるオブジェクト情報を記憶手段25より読み出し、当該オブジェクト情報の座標データが示す各座標点から補間関数により曲線を算出する。そして、処理手段24は、算出した曲線を表示画面上に描画・更新する(ステップS624)。この場合、処理手段24は、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて表示領域601に当該曲線を該当する線種で描画する。
【0099】
図28は、変形例1に係る表示更新処理の手順を示すフローチャートである。処理手段24は、ユーザによる前ボタン602、次ボタン603、拡大ボタン604、又は縮小ボタン605の押下により、表示領域601の表示内容を変更するよう指示されたと判断した場合(ステップS721;Yes)、一時描画している描画対象線を表示画面上よりクリアし(ステップS722)、描画済みのオブジェクト情報と、表示済みの背景画像を表示画面上よりクリアし(ステップS723)、変更された表示領域601に対応する背景画像を表示する(ステップS724)。次に処理手段24は、PC装置2内に記憶されている表示領域601内のオブジェクト情報から補間関数によって曲線を算出する(ステップS725)。具体的には、処理手段24は、表示領域601で表示している背景画像に対応するページ番号と同じページ番号を持ち、表示範囲に含まれるオブジェクト情報を記憶手段25より読み出し、当該オブジェクト情報の座標データが示す各座標点から補間関数により曲線を算出する。そして、処理手段24は、算出した曲線を表示画面上に描画・更新する(ステップS726)。この場合、処理手段24は、表示領域601での背景画像の表示範囲と拡大・縮小率に合わせて表示領域601に当該曲線を該当する線種で描画する。
【0100】
なお、処理手段24は、図27のステップS623、S624及び図28のステップS725、S726の処理に代えて、オブジェクト情報から補間関数によって曲線を算出後、その曲線座標データを記憶手段25に記憶させてもよい。そして、処理手段24は、対象となるオブジェクト情報に対応する曲線座標データが記憶手段25により既に記憶されている場合には、補間関数を用いて曲線を算出することなく、当該曲線座標データを記憶手段25より読み出し、該当する線種で表示画面上に描画・更新する。
【0101】
(変形例2)
第1実施形態では、線種変更指示エリア501、502は、入力エリア401が印刷された入力用紙4とは別の用紙である指示用紙5に印刷された。これに代えて、線種変更指示エリア501、502は、入力用紙4上に入力エリア401と共に印刷されてもよい。この場合、入力用紙4は、指示用紙5としても機能する。また、第1実施形態では、情報処理システム10は、線種変更指示エリア501、502により2種類の線幅を指定可能であった。これに代えて、情報処理システム10は、線幅を指定可能なエリアを指示用紙5に3以上設け、3種類以上の線幅を指定可能であってもよい。さらに、情報処理システム10は、線幅に代えて、またはこれに加え、線の色や、実線、破線、鎖線といった線のスタイルを指定可能なエリアを指示用紙5上に複数設けてもよい。
【0102】
(変形例3)
情報処理システム10は、図1に示す構成に加え、サーバ装置3から所定時間ごとにオブジェクト情報を受信し、受信したオブジェクト情報をPC装置上で描画する閲覧専用のPC装置を設けてもよい。
【0103】
(変形例4)
上記第1実施形態において、コード化パターンはアノト方式のドットパターンであったが、位置座標を示すコード化パターンであれば、アノト方式のドットパターンに限られない。
【0104】
(変形例5)
上記第1実施形態では、オブジェクトIDは、通し番号が付され、PC装置2は、サーバ装置3に対し、最後のオブジェクトIDを送信することで、更新分のオブジェクト情報を要求していた。これに代えて、PC装置2は、サーバ装置3に対し、受信した全てのオブジェクトID又はそれに相当する情報をサーバ装置3に対し送信することで、更新分のオブジェクト情報を要求してもよい。この場合、必ずしもオブジェクト情報は通し番号でなくともよい。または、PC装置2は、時間情報を含むオブジェクト情報を生成することとして、サーバ装置3に対し、受信済みのオブジェクト情報に含まれる時間情報のうち最新の時間情報を送信することで、更新分のオブジェクト情報を要求してもよい。時間情報としては、対応するストローク情報のペンアップ直前の記入情報に含まれる時間情報、又はオブジェクト情報の生成時刻とすればよい。
【0105】
<第2実施形態>
次に、第2実施形態について説明する。第2実施形態が第1実施形態と異なる点は、ドットパターンが印刷されたスクリーン8にプロジェクタ7によってPC装置2の表示手段26の画面を投影させることで、入力用紙4に代えてスクリーン8上で電子ペン1の記入を行う点である。以後では、第1実施形態と同様の部分については、適宜説明を省略する。
【0106】
図29は、第2実施形態に係る情報処理システム100Aの構成を示す。なお、図29では、説明の便宜上、遠隔会議を行う1台のPC装置2C及びその周辺要素のみを示し、サーバ装置3及び他のPC装置2を図示していない。図29に示すように、第2実施形態に係る情報処理システム100Aは、主に電子ペン1と、PC装置2Cと、指示用紙5と、プロジェクタ7と、スクリーン8とを備える。
【0107】
図29では、このような情報処理システム100Aを第1実施形態と同様、遠隔会議システムに用いている。PC装置2Cには、ディスプレイ201の表示画面と同じ画像をスクリーン8に投影するプロジェクタ7が接続されている。そして、PC装置2Cは、第1実施形態と同様、サーバ装置3を介して、他のPC装置2とオブジェクト情報の授受を行う。
【0108】
スクリーン8は、電子ペン1に筆圧がかかるよう硬めの素材からなるマグネット板801と、用紙802と、投影領域803とを有する。用紙802には、電子ペン1により読み取ることができるよう赤外線を吸収するカーボンを含んだインクにより略全面にドットパターンが印刷され、さらにドットパターンが例えば透明なEB硬化樹脂層などで保護されている。投影領域803は、PC装置2Cのディスプレイ201に表示する内容と同じ画像がプロジェクタ7によって投影され、電子ペン1を用いてストロークが記入される領域である。投影領域803に合わせてプロジェクタ7が画像を投影するように、プロジェクタ7とスクリーン8との距離、及びプロジェクタ7の仰角などが予め調整される。ここで、プロジェクタ7による画像の投影範囲が、投影領域803とぴったり一致しない場合でも、後述するキャリブレーション処理によって、スクリーン8条の位置座標が投影された画像のどの位置に該当するかを、PC装置2Cは把握することができる。スクリーン8は、本発明における「入力用紙」の一例である。
【0109】
PC装置2Cの処理手段24は、キャリブレーション用マークを少なくとも2以上、ディスプレイ201に表示させることにより、プロジェクタ7に対し、スクリーン8にもキャリブレーション用マークを投影させ、キャリブレーション用マークが投影された位置のドットパターンを電子ペン1に読み取らせて記入情報を受信することで、スクリーン8のドットパターンにかかる座標系をディスプレイ201にかかる座標系に変換するための座標変換関数を求めて、記憶手段25に記憶する(キャリブレーション処理機能)。さらに、処理手段24は、そのキャリブレーション処理により求められた座標変換関数を用いて、スクリーン8のドットパターンにかかる座標系のデータを受信したときに、ディスプレイ201にかかる座標系のデータに変換し、ストロークを描画したり、所定の処理を行ったりする。
【0110】
図30は、プロジェクタ7によって投影された投影領域803内の表示アプリケーション6の表示領域601に相当するエリア(以後、「入力エリア401C」と呼ぶ。)に、ユーザが電子ペン1により記入中である場合のスクリーン8の表示例を示す。この場合、PC装置2Cの処理手段24は、電子ペン1より受信した記入情報に含まれる投影領域803上の座標データを、キャリブレーション処理によって算出した座標変換関数によって、ディスプレイ201上の座標データへ変換する。そして、処理手段24は、変換した座標データより入力エリア401Cへの記入であると判断した場合、描画処理を実行して、表示アプリケーション6の表示領域601に表示中の背景画像に重畳して、電子ペン1のストロークを表示する。ここで、処理手段24は、第1実施形態では図9に示すデータベースを参照して記入情報に含まれる座標情報から処理対象となるページ番号を特定した。これに代えて、第2実施形態では、処理手段24は、ドットパターンが示す座標情報ではページ番号が区別できないため、電子ペン1の記入情報を受信時に表示アプリケーション6により表示している背景画像に対応するページ番号を処理対象のページ番号として特定する。
【0111】
次に、第1実施形態で説明した図14乃至図19に示す処理フローと異なる処理部分について説明する。図31は、第1実施形態の図14に相当する第2実施形態の処理手順を示すフローチャートである。図31に示すように、第2実施形態では、図14に比べステップS223の処理が新たに加えられている。具体的には、PC装置2Cにおいて、受信手段22が、電子ペン1から送信された記入情報を受信すると、処理手段24は、記憶手段25に、その記入情報を記憶させる(ステップS221)。次に、処理手段24は、その記入情報から座標情報を認識した場合(ステップS222;Yes)、キャリブレーション処理により求められた座標変換関数を用いて、座標情報の座標系を変換する(ステップS223)。具体的には、処理手段24は、座標情報の座標系を、スクリーン8のドットパターンにかかる座標系から、座標変換関数によって、ディスプレイ201上の座標系へ変換する。その後、処理手段24は、ステップS224乃至S230の処理を、ステップS203乃至S209(図14参照)と同様に実行する。
【0112】
第2実施形態においては、リアルタイム描画処理、オブジェクト情報の生成処理及び記憶処理、描画更新処理、表示更新処理、オブジェクト情報の照会及び受信処理、変形例等については、第1実施形態と同様である。
【0113】
[第2実施形態の情報処理システムによる作用効果]
第2実施形態の情報処理システム100Aによれば、PC装置2Cは、サーバから送信されたオブジェクト情報に基づき、遠隔会議を行う他のPC装置2とスクリーン8上で表示内容を共有することが可能となると共に、スクリーン8上での電子ペン1の筆記内容を入力用紙4上での筆記内容と同様に処理することができる。また、第2実施形態の情報処理システム100Aでは、キャリブレーション処理を行うことで、座標変換関数を用いて、スクリーン8のドットパターンにかかる座標系から、ディスプレイ201上の座標系へ座標情報が変換されているため、表示の際に位置ずれが生じない。
【0114】
<第3実施形態>
次に、第3実施形態について説明する。第3実施形態が第2実施形態と異なる点は、スクリーン8に代えて、PC装置2のディスプレイに貼り付け可能な透明シートを用いる点である。以下では、第3実施形態と第1実施形態及び第2実施形態とが同様の部分については同じ符号を付し、適宜その説明を省略する。
【0115】
図32は、第3実施形態に係る情報処理システム100Bの概略構成例を示す。なお、図32では、説明の便宜上、遠隔会議を行う1台のPC装置2D及びその周辺要素のみを示し、サーバ装置3及び他のPC装置2を図示していない。図32に示すように、情報処理システム100Bは、主に電子ペン1と、PC装置2Dと、指示用紙5と、透明シート9とを備える。透明シート9には、電子ペン1により読み取ることができるよう赤外線を反射する材料を含んだインクにより略全面にドットパターンが印刷され、PC装置2のディスプレイ201に貼り付けられる。透明シート9は、本発明における「入力用紙」の一例である。また、第2実施形態と同様、PC装置2Dの処理手段24は、キャリブレーション用マークを少なくとも2以上、ディスプレイ201に表示させ、キャリブレーション用マークが投影された位置のドットパターンを電子ペン1に読み取らせて記入情報を受信することで、透明シート9のドットパターンにかかる座標系をディスプレイ201にかかる座標系に変換するための座標変換関数を求める(キャリブレーション処理機能)。さらに、処理手段24は、そのキャリブレーション処理により求められた座標変換関数を用いて、透明シート9のドットパターンにかかる座標系のデータを受信したときに、ディスプレイ201にかかる座標系のデータに変換し、ストロークを描画したり、所定の処理を行ったりする。なお、透明シート9の構造は、特許文献4に記載の発明を採用することができる。また、電子ペン1は、透明シート9に印刷された、赤外線を反射するドットパターンも、撮像画像の二値化後の反転などにより、読み取ることができるようにするとよい。
【0116】
第3実施形態においては、オブジェクト情報送信側の処理概要、リアルタイム描画処理、オブジェクト情報の生成処理及び記憶処理、描画更新処理、表示更新処理、オブジェクト情報の照会及び受信処理、変形例等については、第2実施形態と同様である。
【0117】
[第3実施形態の情報処理システムによる作用効果]
第3実施形態の情報処理システム100Bによれば、PC装置2Dは、サーバから送信されたオブジェクト情報に基づき、遠隔会議を行う他のPC装置2と表示内容を共有することが可能となると共に、透明シート9を介したディスプレイ201上での電子ペン1の筆記内容を処理することができる。また、第3実施形態の情報処理システム100Bでは、キャリブレーション処理を行うことで、第2実施形態と同様、表示の際に位置ずれが生じない。
【0118】
<第4実施形態>
次に、第4実施形態について説明する。第4実施形態が第1〜第3実施形態と異なる点は、マウスなどのポインティングデバイスのドラッグ操作によって、表示アプリケーション6の表示領域601に相当するエリア(以後、「入力エリア401E」と呼ぶ。)内へストロークを直接記入する点である。即ち、第4実施形態の情報処理システムは、遠隔会議を行うユーザが使用するPC装置2Eと、サーバ装置3とを最小構成として備える。以下では、第4実施形態と第1〜第3実施形態とが同様の部分については同じ符号を付し、適宜その説明を省略する。
【0119】
図33は、第4実施形態におけるPC装置2Eのディスプレイ201上での表示アプリケーション6の表示例を示す。図33に示すように、第4実施形態では、PC装置2Eのユーザは、マウスなどのポインティングデバイスのドラッグ操作によって、マウスポインタ608を移動操作し、処理手段24は、入力エリア401Eでのマウスポインタ608の移動軌跡を手書きストロークとして処理する。具体的には、処理手段24は、ポインティングデバイスから入力されるマウスポインタ608の移動軌跡情報を所定時間幅でサンプリングした表示領域601上の座標系(即ち、背景画像の座標系)での座標点を座標情報として特定する。ここで、「移動軌跡情報」は、電子ペン1が生成する記入情報と、座標情報を有する点で共通し、電子ペン1が生成する記入情報と同様、本発明における「記入情報」の一例である。なお、移動軌跡情報と電子ペン1が生成する記入情報とは、データの内容及び形式が必ずしも一致する必要はなく、異なるデータの内容及び形式であってもよい。
【0120】
図34は、第4実施形態において、PC装置2Eによって実行されるオブジェクト情報送信側の処理手順を示すフローチャートである。図34に示す処理フローは、ポインティングデバイスの一例であるマウスからの入力信号を受信するごとに実行される。
【0121】
まず、PC装置2Eの処理手段24は、マウスの左ボタンが押下されたか否か判定する(ステップS241)。そして、マウスの左ボタンが押下されたと判断した場合(ステップS241;Yes)、処理手段24は、入力エリア401E上にマウスポインタ608が含まれるか否か判定する(ステップS242)。そして、入力エリア401E上にマウスポインタ608が含まれる場合(ステップS242;Yes)、処理手段24は、ペンIDの記入情報を「書込描画中」に設定する(ステップS243)。このとき、図11に示すデータベースの最後の行に示すように、PC装置2は、マウスのペンIDを例えば「Mouse」として記憶し、識別する。そして、処理手段24は、図15のフローチャートに基づきリアルタイム描画処理を行い、マウスポインタ608の移動に従って描画対象線を作成し、ディスプレイ201上に描画する(ステップS244)。
【0122】
一方、マウスの左ボタンが押下されていないと判断した場合(ステップS241;No)、又は、入力エリア401E上にマウスポインタ608が含まれないと判断した場合(ステップS242;No)、処理手段24は、当該マウスのペンIDの記入状態が「書込中」または「書込描画中」であるか否か判定する(ステップS245)。そして、処理手段24は、マウスのペンIDの記入状態が「書込中」または「書込描画中」の場合(ステップS245;Yes)には、図16のフローチャートの処理(オブジェクト情報の生成処理及び記憶処理)を実行する。一方、マウスのペンIDの記入状態が「書込中」及び「書込描画中」でない場合(ステップS245;No)、処理手段24は、フローチャートの処理を終了する。
【0123】
なお、上述の第4実施形態において、ポインティングデバイスによる手書きストロークは、固定の線種で描画されるが、これに代えて、表示アプリケーション6の表示領域601に相当するエリアに、入力エリア401E及び線種変更指示エリア501E、502Eを設けて、ポインティングデバイスによる手書きストロークを表示する際の線種をユーザが指定できるようにしてもよい。この場合、図34のフローチャートは次のように変更する。ステップS242で、入力エリア401Eにマウスポインタ608が含まれないと判断した場合(ステップS242;No)、処理手段24は、線種変更指示エリア501E、502Eにマウスポインタ608が含まれるか否かを判定する(図14ステップS206参照)。そして、処理手段24は、そして、線種変更指示エリア501E、502Eへ記入されたと判断した場合、処理手段24は、マウスのペンIDの線種情報を、線種変更指示エリア501、502で規定された線種に更新する(図14ステップS207参照)。一方、線種変更指示エリア501、502への記入ではないと判断した場合、処理手段24は、ステップS245の処理を実行する。
【0124】
なお、第4実施形態においては、リアルタイム描画処理、オブジェクト情報の生成処理及び記憶処理、描画更新処理、表示更新処理、オブジェクト情報の照会及び受信処理、変形例等については、第1〜3実施形態と同様である。
【0125】
[第4実施形態の情報処理システムによる作用効果]
第4実施形態の情報処理システムによれば、PC装置2Eは、サーバから送信されたオブジェクト情報に基づき、遠隔会議を行う他のPC装置2と表示内容を共有することが可能となると共に、マウス等のポインティングデバイスにより筆記内容を受け付けることができる。また、第4実施形態の情報処理システムに必要な最小構成は、サーバ装置3とPC装置2Eのみであるため、ユーザは、比較的容易に第4実施形態による情報処理システムを構築することができる。
【0126】
<第5実施形態>
第5実施形態では、第1〜第4実施形態が任意に組み合わされて情報処理システムが構築される。具体的には、情報処理システムの各PC装置2は、第1乃至第4実施形態の任意の1又は複数の実施の形態が選択され、適用される。例えば、遠隔会議に用いられる1のPC装置2は、第1実施形態に基づき入力用紙4に対する記入情報を電子ペン1から受信し、同じ遠隔会議に用いられる別のPC装置2は、第2実施形態に基づきスクリーン8に対する記入情報を電子ペン1から受信してもよい。さらに別の例では、遠隔会議に用いられるPC装置2は、第3実施形態に基づき透明シート9に対する記入情報を電子ペン1から受信すると共に、第4実施形態に基づきマウスポインタ608の軌跡を記入情報として特定してもよい。第5実施形態の作用効果については、第1〜第4実施形態と同様である。
【符号の説明】
【0127】
1、1A、1B、1C…電子ペン
2、2A、2B、2C、2D、2E…PC装置
3…サーバ装置
4…入力用紙
5…指示用紙
6…表示アプリケーション
7…プロジェクタ
8…スクリーン
9…透明シート
10、100A、100B…情報処理システム
21…入力手段
22、32…受信手段
24、34…処理手段
25、35…記憶手段
26…表示手段
27、37…送信手段
【特許請求の範囲】
【請求項1】
PC装置と、
前記PC装置に電気的に接続し、手書きストロークに関する記入情報を生成する入力デバイスと、
前記PC装置と通信網を介して接続するサーバ装置と、を備える情報処理システムであって、
前記PC装置は、
表示手段と、
前記入力デバイスから前記記入情報を受信する記入情報受信手段と、
前記記入情報に基づき前記表示手段に描画を行う第1描画手段と、
前記サーバ装置から手書きストロークの1ストロークごとの描画に関する情報であるオブジェクト情報を受信するオブジェクト情報受信手段と、
前記オブジェクト情報受信手段により受信したオブジェクト情報に基づき前記表示手段に描画を行う第2描画手段と、を備え、
前記第2描画手段は、
前記第1描画手段が前記記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまで前記オブジェクト情報に基づく描画を遅延させることを特徴とする情報処理システム。
【請求項2】
前記PC装置は、
前記記入情報に基づき、前記手書きストロークの1ストロークごとにオブジェクト情報を生成するオブジェクト情報生成手段と、
前記サーバ装置に前記オブジェクト情報を送信するオブジェクト情報送信手段と、
前記サーバ装置に対し所定間隔ごとに他のPC装置から送信されたオブジェクト情報の有無の問い合わせを行うオブジェクト情報問い合わせ手段と、をさらに備え、
前記オブジェクト情報受信手段は、前記他のPC装置から送信されたオブジェクト情報が前記サーバ装置に存在する場合、当該オブジェクト情報を、前記サーバ装置から受信することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記表示手段は、複数のページを表示し、
前記オブジェクト情報は、前記記入情報から特定されたページ番号を含み、
前記第2描画手段は、前記オブジェクト情報に含まれるページ番号と、前記表示手段により表示中のページのページ番号とが一致する場合に、当該オブジェクト情報について前記オブジェクト情報に基づく描画を行うことを特徴とする請求項1または2に記載の情報処理システム。
【請求項4】
前記オブジェクト情報は、前記記入情報から特定された線種情報を含み、
前記第2描画手段は、当該オブジェクト情報について前記線種情報に基づき前記オブジェクト情報に基づく描画を行うことを特徴とする請求項1乃至3のいずれか一項に記載の情報処理システム。
【請求項5】
前記入力デバイスは、コード化パターンが形成された入力用紙からコード化パターンを読み取る電子ペンであり、
前記第2描画手段は、前記記入情報受信手段が受信した記入情報がペンアップを示す場合、当該記入情報を送信した電子ペンに対応する1ストローク分の手書きストロークの描画が完了したと判断することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理システム。
【請求項6】
前記入力デバイスはマウスであり、
前記第2描画手段は、前記マウスの左クリックの押下が終了したと判断した場合、当該マウスに対応する1ストローク分の手書きストロークの描画が完了したと判断することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理システム。
【請求項7】
前記オブジェクト情報生成手段は、前記手書きストロークの1ストロークに相当する各記入情報が示す座標点に基づき滑らかな曲線を生成し、当該曲線に基づきオブジェクト情報を生成することを特徴とする請求項2に記載の情報処理システム。
【請求項8】
前記オブジェクト情報は、前記各記入情報が示す座標点の座標系から、前記表示手段により前記手書きストロークを表示する対象となるページを基準とした座標系に変換された前記曲線を構成する座標点の集合を含むことを特徴とする請求項7に記載の情報処理システム。
【請求項9】
前記第2描画手段は、前記オブジェクト情報に含まれる前記手書きストロークに相当する座標点を滑らかな曲線に変換後、前記表示手段に当該曲線の描画を行うことを特徴とする請求項1乃至6のいずれか一項に記載の情報処理システム。
【請求項10】
前記PC装置は、
外部入力に基づき遠隔会議モードか否かの設定を切り替えるモード切替手段をさらに備え、
前記オブジェクト情報受信手段は、前記遠隔会議モードの場合にのみ、オブジェクト情報を受信することを特徴とする請求項1乃至9のいずれか一項に記載の情報処理システム。
【請求項11】
手書きストロークに関する記入情報を生成する入力デバイスと電気的に接続し、かつ、通信網を介してサーバ装置と接続し、表示手段を備えるPC装置に搭載され実行されるプログラムであって、
前記入力デバイスから前記記入情報を受信する記入情報受信手段、
前記記入情報に基づき前記表示手段に描画を行う第1描画手段、
前記サーバ装置から手書きストロークの1ストロークごとの描画に関する情報であるオブジェクト情報を受信するオブジェクト情報受信手段、
前記オブジェクト情報受信手段により受信したオブジェクト情報に基づき前記表示手段に描画を行う第2描画手段、として前記PC装置を機能させ、
前記第2描画手段は、
前記第1描画手段が前記記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまで前記オブジェクト情報に基づく描画を遅延させることを特徴とするプログラム。
【請求項12】
前記記入情報に基づき、前記手書きストロークの1ストロークごとにオブジェクト情報を生成するオブジェクト情報生成手段、
前記サーバ装置に前記オブジェクト情報を送信するオブジェクト情報送信手段、
前記サーバ装置に対し所定間隔ごとに他のPC装置から送信されたオブジェクト情報の有無の問い合わせを行うオブジェクト情報問い合わせ手段、としてさらに前記PC装置を機能させ、
前記オブジェクト情報受信手段は、前記他のPC装置から送信されたオブジェクト情報が前記サーバ装置に存在する場合、当該オブジェクト情報を、前記サーバ装置から受信することを特徴とする請求項11に記載のプログラム。
【請求項13】
前記表示手段は、複数のページを表示し、
前記オブジェクト情報は、前記記入情報から特定されたページ番号を含み、
前記第2描画手段は、前記オブジェクト情報に含まれるページ番号と、前記表示手段により表示中のページのページ番号とが一致する場合に、当該オブジェクト情報について前記オブジェクト情報に基づく描画を行うことを特徴とする請求項11または12に記載のプログラム。
【請求項14】
前記オブジェクト情報は、前記記入情報から特定された線種情報を含み、
前記第2描画手段は、当該オブジェクト情報について前記線種情報に基づき前記オブジェクト情報に基づく描画を行うことを特徴とする請求項11乃至13のいずれか一項に記載のプログラム。
【請求項15】
前記入力デバイスは、コード化パターンが形成された入力用紙からコード化パターンを読み取る電子ペンであり、
前記第2描画手段は、前記記入情報受信手段が受信した記入情報がペンアップを示す場合、当該記入情報を送信した電子ペンに対応する1ストローク分の手書きストロークの描画が完了したと判断することを特徴とする請求項11乃至14のいずれか一項に記載のプログラム。
【請求項16】
前記入力デバイスはマウスであり、
前記第2描画手段は、前記マウスの左クリックの押下が終了したと判断した場合、当該マウスに対応する1ストローク分の手書きストロークの描画が完了したと判断することを特徴とする請求項11乃至14のいずれか一項に記載のプログラム。
【請求項17】
前記オブジェクト情報生成手段は、前記手書きストロークの1ストロークに相当する各記入情報が示す座標点に基づき滑らかな曲線を生成し、当該曲線に基づきオブジェクト情報を生成することを特徴とする請求項12に記載のプログラム。
【請求項18】
前記オブジェクト情報は、前記各記入情報が示す座標点の座標系から、前記表示手段により前記手書きストロークを表示する対象となるページを基準とした座標系に変換された前記曲線を構成する座標点の集合を含むことを特徴とする請求項17に記載のプログラム。
【請求項19】
前記第2描画手段は、前記オブジェクト情報に含まれる前記手書きストロークに相当する座標点を滑らかな曲線に変換後、前記表示手段に当該曲線の描画を行うことを特徴とする請求項11乃至16のいずれか一項に記載のプログラム。
【請求項20】
外部入力に基づき遠隔会議モードか否かの設定を切り替えるモード切替手段として前記PC装置をさらに機能させ、
前記オブジェクト情報受信手段は、前記遠隔会議モードの場合にのみ、オブジェクト情報を受信することを特徴とする請求項11乃至19のいずれか一項に記載のプログラム。
【請求項1】
PC装置と、
前記PC装置に電気的に接続し、手書きストロークに関する記入情報を生成する入力デバイスと、
前記PC装置と通信網を介して接続するサーバ装置と、を備える情報処理システムであって、
前記PC装置は、
表示手段と、
前記入力デバイスから前記記入情報を受信する記入情報受信手段と、
前記記入情報に基づき前記表示手段に描画を行う第1描画手段と、
前記サーバ装置から手書きストロークの1ストロークごとの描画に関する情報であるオブジェクト情報を受信するオブジェクト情報受信手段と、
前記オブジェクト情報受信手段により受信したオブジェクト情報に基づき前記表示手段に描画を行う第2描画手段と、を備え、
前記第2描画手段は、
前記第1描画手段が前記記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまで前記オブジェクト情報に基づく描画を遅延させることを特徴とする情報処理システム。
【請求項2】
前記PC装置は、
前記記入情報に基づき、前記手書きストロークの1ストロークごとにオブジェクト情報を生成するオブジェクト情報生成手段と、
前記サーバ装置に前記オブジェクト情報を送信するオブジェクト情報送信手段と、
前記サーバ装置に対し所定間隔ごとに他のPC装置から送信されたオブジェクト情報の有無の問い合わせを行うオブジェクト情報問い合わせ手段と、をさらに備え、
前記オブジェクト情報受信手段は、前記他のPC装置から送信されたオブジェクト情報が前記サーバ装置に存在する場合、当該オブジェクト情報を、前記サーバ装置から受信することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記表示手段は、複数のページを表示し、
前記オブジェクト情報は、前記記入情報から特定されたページ番号を含み、
前記第2描画手段は、前記オブジェクト情報に含まれるページ番号と、前記表示手段により表示中のページのページ番号とが一致する場合に、当該オブジェクト情報について前記オブジェクト情報に基づく描画を行うことを特徴とする請求項1または2に記載の情報処理システム。
【請求項4】
前記オブジェクト情報は、前記記入情報から特定された線種情報を含み、
前記第2描画手段は、当該オブジェクト情報について前記線種情報に基づき前記オブジェクト情報に基づく描画を行うことを特徴とする請求項1乃至3のいずれか一項に記載の情報処理システム。
【請求項5】
前記入力デバイスは、コード化パターンが形成された入力用紙からコード化パターンを読み取る電子ペンであり、
前記第2描画手段は、前記記入情報受信手段が受信した記入情報がペンアップを示す場合、当該記入情報を送信した電子ペンに対応する1ストローク分の手書きストロークの描画が完了したと判断することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理システム。
【請求項6】
前記入力デバイスはマウスであり、
前記第2描画手段は、前記マウスの左クリックの押下が終了したと判断した場合、当該マウスに対応する1ストローク分の手書きストロークの描画が完了したと判断することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理システム。
【請求項7】
前記オブジェクト情報生成手段は、前記手書きストロークの1ストロークに相当する各記入情報が示す座標点に基づき滑らかな曲線を生成し、当該曲線に基づきオブジェクト情報を生成することを特徴とする請求項2に記載の情報処理システム。
【請求項8】
前記オブジェクト情報は、前記各記入情報が示す座標点の座標系から、前記表示手段により前記手書きストロークを表示する対象となるページを基準とした座標系に変換された前記曲線を構成する座標点の集合を含むことを特徴とする請求項7に記載の情報処理システム。
【請求項9】
前記第2描画手段は、前記オブジェクト情報に含まれる前記手書きストロークに相当する座標点を滑らかな曲線に変換後、前記表示手段に当該曲線の描画を行うことを特徴とする請求項1乃至6のいずれか一項に記載の情報処理システム。
【請求項10】
前記PC装置は、
外部入力に基づき遠隔会議モードか否かの設定を切り替えるモード切替手段をさらに備え、
前記オブジェクト情報受信手段は、前記遠隔会議モードの場合にのみ、オブジェクト情報を受信することを特徴とする請求項1乃至9のいずれか一項に記載の情報処理システム。
【請求項11】
手書きストロークに関する記入情報を生成する入力デバイスと電気的に接続し、かつ、通信網を介してサーバ装置と接続し、表示手段を備えるPC装置に搭載され実行されるプログラムであって、
前記入力デバイスから前記記入情報を受信する記入情報受信手段、
前記記入情報に基づき前記表示手段に描画を行う第1描画手段、
前記サーバ装置から手書きストロークの1ストロークごとの描画に関する情報であるオブジェクト情報を受信するオブジェクト情報受信手段、
前記オブジェクト情報受信手段により受信したオブジェクト情報に基づき前記表示手段に描画を行う第2描画手段、として前記PC装置を機能させ、
前記第2描画手段は、
前記第1描画手段が前記記入情報に基づき手書きストロークの描画を行っている場合、当該手書きストロークの描画が完了するまで前記オブジェクト情報に基づく描画を遅延させることを特徴とするプログラム。
【請求項12】
前記記入情報に基づき、前記手書きストロークの1ストロークごとにオブジェクト情報を生成するオブジェクト情報生成手段、
前記サーバ装置に前記オブジェクト情報を送信するオブジェクト情報送信手段、
前記サーバ装置に対し所定間隔ごとに他のPC装置から送信されたオブジェクト情報の有無の問い合わせを行うオブジェクト情報問い合わせ手段、としてさらに前記PC装置を機能させ、
前記オブジェクト情報受信手段は、前記他のPC装置から送信されたオブジェクト情報が前記サーバ装置に存在する場合、当該オブジェクト情報を、前記サーバ装置から受信することを特徴とする請求項11に記載のプログラム。
【請求項13】
前記表示手段は、複数のページを表示し、
前記オブジェクト情報は、前記記入情報から特定されたページ番号を含み、
前記第2描画手段は、前記オブジェクト情報に含まれるページ番号と、前記表示手段により表示中のページのページ番号とが一致する場合に、当該オブジェクト情報について前記オブジェクト情報に基づく描画を行うことを特徴とする請求項11または12に記載のプログラム。
【請求項14】
前記オブジェクト情報は、前記記入情報から特定された線種情報を含み、
前記第2描画手段は、当該オブジェクト情報について前記線種情報に基づき前記オブジェクト情報に基づく描画を行うことを特徴とする請求項11乃至13のいずれか一項に記載のプログラム。
【請求項15】
前記入力デバイスは、コード化パターンが形成された入力用紙からコード化パターンを読み取る電子ペンであり、
前記第2描画手段は、前記記入情報受信手段が受信した記入情報がペンアップを示す場合、当該記入情報を送信した電子ペンに対応する1ストローク分の手書きストロークの描画が完了したと判断することを特徴とする請求項11乃至14のいずれか一項に記載のプログラム。
【請求項16】
前記入力デバイスはマウスであり、
前記第2描画手段は、前記マウスの左クリックの押下が終了したと判断した場合、当該マウスに対応する1ストローク分の手書きストロークの描画が完了したと判断することを特徴とする請求項11乃至14のいずれか一項に記載のプログラム。
【請求項17】
前記オブジェクト情報生成手段は、前記手書きストロークの1ストロークに相当する各記入情報が示す座標点に基づき滑らかな曲線を生成し、当該曲線に基づきオブジェクト情報を生成することを特徴とする請求項12に記載のプログラム。
【請求項18】
前記オブジェクト情報は、前記各記入情報が示す座標点の座標系から、前記表示手段により前記手書きストロークを表示する対象となるページを基準とした座標系に変換された前記曲線を構成する座標点の集合を含むことを特徴とする請求項17に記載のプログラム。
【請求項19】
前記第2描画手段は、前記オブジェクト情報に含まれる前記手書きストロークに相当する座標点を滑らかな曲線に変換後、前記表示手段に当該曲線の描画を行うことを特徴とする請求項11乃至16のいずれか一項に記載のプログラム。
【請求項20】
外部入力に基づき遠隔会議モードか否かの設定を切り替えるモード切替手段として前記PC装置をさらに機能させ、
前記オブジェクト情報受信手段は、前記遠隔会議モードの場合にのみ、オブジェクト情報を受信することを特徴とする請求項11乃至19のいずれか一項に記載のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【公開番号】特開2011−253307(P2011−253307A)
【公開日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2010−126129(P2010−126129)
【出願日】平成22年6月1日(2010.6.1)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願日】平成22年6月1日(2010.6.1)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]