以下、図面を参照しながら、本発明の実施形態の一例について説明する。
図1は、本発明の実施形態(第1の実施形態)における情報処理システムのシステム構成の一例を示す図である。情報処理システムは、情報処理装置101と投影撮像装置102と携帯端末103(送信先端末)とを含む。情報処理装置101は、投影撮像装置102と通信可能に接続されており、更にディスプレイ410と入力デバイス409とも通信可能に接続されている。図1では、これらの装置は有線で接続されているが、無線であってもよい。また、情報処理装置101と携帯端末103とは、同じネットワークに接続しており、当該ネットワークを介して相互に通信可能となっている。尚、図1のシステム上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置101は、オペレーティングシステムを搭載する汎用的な装置である。情報処理装置101は、情報処理装置101に接続された各種デバイスに対して各種動作を実行するよう指示を行う。
投影撮像装置102は、デジタルカメラと赤外線センサとプロジェクタとを備える装置である。情報処理装置101からの指示に応じてプロジェクタで投影をし、投影された机上等の投影面をデジタルカメラで撮像し、また投影面上でユーザの手の動きや物体の位置を認識する。
投影撮像装置102の外部構造及び内部構造の概要の一例について、図2を用いて説明する。
図2は、投影撮像装置102の正面図と右側面図である。内部構造の隠れ線は破線で表現している。投影撮像装置102は、デジタルカメラ421(撮像装置)と赤外線センサ422(センサ装置)とプロジェクタ423(投影装置)とを格納する収納部203を備えている。収納部203は底面201と左側面202aと右側面202bとで左右から挟みこんで固定している。
また、上面204が左側面202aと右側面202bとの上部に設置され、上面204の下側にはプロジェクタ423から照射される光を反射するための反射鏡207を備える。すなわち、プロジェクタ423は第1の開口部205を通してこの反射鏡207に向けて投影できるよう、設置されている。デジタルカメラ421も同様に、反射鏡207で反射した投影面を撮像するため、デジタルカメラ421は第2の開口部206を通して反射鏡207に向けて設置されている。
また赤外線センサ422は、例えば赤外線を用いた深度センサである。これはプロジェクタ423が投影した投影面上におけるユーザの手や紙文書(以下、書類という。)等の位置や動きを特定するために、赤外線センサ422からこれらの物体までの距離を算出する。赤外線センサ422は、近赤外線のドットパターンを現実空間に投影し、このドットの形や間隔を取得することで物体までの距離を算出する。または、赤外線光を投影し、赤外線センサ422が備えるカメラによって反射した赤外線光を読み取り、赤外線光が往復した時間を算出することで距離を算出する方式であってもよい。現実空間における物体の位置や動きを取得することができれば、赤外線センサ422の距離の算出方式はどのような方式であってもよいし、赤外線センサ422以外のセンサを用いてもよい。また、赤外線センサ422もデジタルカメラ421と同様に、第2の開口部206を通して反射鏡207に向けて設置されている。この反射鏡207に向けて赤外線を照射する。
投影撮像装置102は以上のように大きく3つの装置を内包しており、これらがそれぞれ情報処理装置101と通信可能に接続されている。本実施形態においては、情報処理装置101と投影撮像装置102とが異なる筐体であるが、同一の筐体であってもよい。すなわち、投影撮像装置102に更に情報処理装置101を内包してもよい。
図1に説明を戻す。携帯端末103は、スマートフォンやタブレット端末といった、タッチパネルを備える携帯端末である。携帯端末103は、タッチパネルに対するタッチ操作の軌跡を取得することができる。本実施形態において携帯端末103は、あらかじめ情報処理装置101と無線接続によって通信可能に接続されている。尚、携帯端末103と情報処理装置101との接続は有線接続であってもよい。
次に図3を用いて、本実施形態における投影撮像装置102とユーザとの位置関係について説明する。投影撮像装置102は、机上303に設置される。本実施形態では机を挟んで二人のユーザがいる。銀行窓口で説明を行うテラー301と、説明を受ける顧客302である。
テラー301は、入力デバイス409を操作して情報処理装置101に画面の表示指示を行うと、情報処理装置101からプロジェクタ423に対して当該画面の投影指示が送信される。プロジェクタ423はこれを受けると反射鏡207に向かって左右を反転させた画面を投影する。これは、反射鏡207で反射することにより、投影面304に投影される像が左右反転してしまうからである。こうすると、投影面304に指示した画面が投影される。画面を左右に反転させる処理は、情報処理装置101が行ってもよいし、プロジェクタ423が行ってもよい。また投影面304は、投影される光が見やすいよう模様のない白い面であることが望ましい。
プロジェクタ423から照射された光が反射鏡207で図3の破線の矢印で示すような方向に反射されると、その光が投影面304に投影される。この光によって表現される画面を見て、テラー301が顧客302に説明を行う。本実施形態では、このようにテラー301と顧客302とが机を挟んで位置しており、それぞれが投影された画面を見ながら操作していく形態を前提として説明を行う。
図4は、情報処理装置101及び投影撮像装置102のハードウェア構成の一例を示す図である。
CPU401は、システムバス404に接続される各デバイスやコントローラを統括的に制御する。
また、ROM402あるいは外部メモリ411(記憶手段)には、CPU401の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OSという。)や、情報処理装置101の実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM403は、CPU401の主メモリ、ワークエリア等として機能する。
CPU401は、処理の実行に際して必要なプログラム等をRAM403にロードして、プログラムを実行することで各種動作を実現するものである。
また、汎用入出力コントローラ405は、キーボードやマウス等の入力デバイス409、更には投影撮像装置102のデジタルカメラ421や赤外線センサ422との入出力を制御する。これらは、USB(Universal Serial Bus)等のバス規格により接続される。
ビデオコントローラ406は、ディスプレイ410や投影撮像装置102のプロジェクタ423等の表示装置や投影装置への表示を制御する。ディスプレイ410は例えばCRTや液晶ディスプレイである。更にビデオコントローラ406は、ディスプレイ410と投影撮像装置102のプロジェクタ423とそれぞれに対して同じ画面または異なる画面を表示及び投影指示する。これらは、いわゆるミラーリングやマルチモニタが可能である。
メモリコントローラ407は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスクへのアクセスを制御する。また、メモリコントローラ407は、フレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ411へのアクセスも制御する。
通信I/Fコントローラ408は、ネットワークを介して、外部機器と接続及び通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
尚、CPU401は、例えばRAM403内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ410上での表示や投影撮像装置102のプロジェクタ423での投影を可能としている。また、CPU401は、ディスプレイ410上の不図示のマウスカーソル等でのユーザ指示を可能とする。更にCPU401は、投影面304に投影された画面をユーザの手でタッチすることによっても、ユーザ指示を可能とする。すなわち、赤外線センサ422で検知した現実空間におけるユーザの手の座標位置に応じて、画面のボタン等が押下されたのか否かを検知し、CPU401に動作を実行させる。
本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ411に記録されており、必要に応じてRAM403にロードされることによりCPU401によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ411に格納されている。
図5は、携帯端末103のハードウェア構成の一例を示す図である。
CPU501は、システムバス504に接続される各デバイスやコントローラを統括的に制御する。
また、ROM502あるいはフラッシュメモリ514には、CPU501の制御プログラムであるBIOSやOSや、携帯端末103が実行する機能を実現するために必要な、後述する各種プログラム等が記憶されている。RAM503は、CPU501の主メモリ、ワークエリア等として機能する。
CPU501は、処理の実行に際して必要なプログラム等をRAM503にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ505は、タッチパネル510、マイク511、カメラ512からの入力を制御する。タッチパネル510からはユーザのタッチ操作に関する入力を制御し、マイク511からは音声の入力を制御し、更にカメラ512からは撮影された静止画や動画の入力を制御する。出力コントローラ506は、タッチパネル510、スピーカ513への出力を制御する。
タッチパネル510は、ユーザからのタッチ操作を検知すると共に、前述した出力コントローラ506から送られた映像を表示する。タッチパネル510は、表示器と位置入力装置とが一体となった部品である。複数の箇所に対するタッチ操作(以下、マルチタッチという。)も検知可能である。
メモリコントローラ507は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するフラッシュメモリ514へのアクセスを制御する。本実施形態においては、フラッシュメモリとして説明を行うが、ハードディスクやフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の記憶媒体であってもよい。
通信I/Fコントローラ509は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
センサコントローラ508は、携帯端末103が備えるセンサ515からの入力を制御する。携帯端末103のセンサ515には様々なセンサが存在し、例えば方位センサ、加速度センサ等である。
尚、CPU501は、例えばRAM503内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、タッチパネル510上での表示を可能としている。
本発明の携帯端末103が後述する各種処理を実行するために用いられる各種プログラム等はフラッシュメモリ514に記録されており、必要に応じてRAM503にロードされることによりCPU501によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルはフラッシュメモリ514に格納されている。
次に、情報処理装置101及び携帯端末103の機能構成の一例について図6を用いて説明する。尚、図6の情報処理装置101及び携帯端末103の機能構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置101は機能部として、記憶部601と、表示制御部602と、投影制御部603と、撮像制御部604と、センサ制御部605と、座標変換部606と、操作検知部607と、通信制御部608と、署名重畳部609とを備える。
記憶部601は、後述する各種テーブルの情報や各種画面を構成する情報を記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。
表示制御部602は、情報処理装置101と通信可能に接続されたディスプレイ410の表示を制御するための機能部である。表示制御部602から画面等の表示指示がなされると、ビデオコントローラ406を介してディスプレイ410に表示指示が送信される。そして、ディスプレイ410はこの指示を受信すると、指示に従って画面等を表示する。
投影制御部603は、情報処理装置101と通信可能に接続されたプロジェクタ423の投影を制御するための機能部である。投影制御部603から画面等の投影指示がなされると、表示制御部602と同様にビデオコントローラ406を介してプロジェクタ423に投影指示が送信される。そして、プロジェクタ423はこの指示を受信すると、指示に従って画面等を現実空間に投影する。本実施形態では、文書を示す文書データを投影する場合を一例に説明を行うが、投影するデータ(投影データ)は文書データに限らず、画像データであってもよいし、テキストデータであってもよい。またはこれらを組み合わせた画面であってもよい。
撮像制御部604は、情報処理装置101と通信可能に接続されたデジタルカメラ421の撮像を制御するための機能部である。撮像制御部604から投影面304の撮像指示が出されると、汎用入出力コントローラ405を介してデジタルカメラ421に撮像指示がなされる。デジタルカメラ421はこの指示を受信すると、撮像を行い、撮像により生成された画像データを情報処理装置101に送信する。撮像制御部604は、これを受け取り、画像データを左右反転させた上で記憶部601が外部メモリ411等に記憶する。前述した通り、デジタルカメラ421は反射鏡207に写った像を撮像するため左右が反転している。これを補正するために、記憶部601で画像データを記憶する前に、撮像制御部604がこの画像データを左右反転する。
センサ制御部605は、情報処理装置101と通信可能に接続された赤外線センサ422から送信される、投影面304における現実空間の情報(物体の有無や位置等)を受信し、現実空間の状態を検知するための機能部である。赤外線センサ422が検出した現実空間の情報は、赤外線センサ422から情報処理装置101に対して逐一送信される。センサ制御部605はこれを受信し、必要に応じて後述する座標変換部606に渡す。
座標変換部606は、センサ制御部605が受信した現実空間の情報に含まれる、投影面304にある物体の位置を示す座標値を変換するための機能部である。座標変換部606は、この座標値を投影面304に投影された画面における座標値に変換する。すなわち、赤外線センサ422で検知した座標値が、情報処理装置101が管理する画面のどの座標値に該当するのかを、この座標変換部606を用いて特定する。尚、座標変換の方法は従来技術を用いるため詳細な説明は省略する。
操作検知部607は、ユーザからの操作を検知するための機能部である。情報処理装置101に接続された入力デバイス409を通じて送信されるユーザからの指示を検知したり、投影面304に投影された画面でユーザが行った指示を検知したりする。後者の指示の検知は、投影面304において検知した物体の座標値を座標変換部606で変換することにより画面上のどのボタンが押下されたのかを検知したり、書類が置かれることにより書類の取込が指示されたのかを検知したりする。
通信制御部608は、情報処理装置101と携帯端末103との通信を制御するための機能部である。通信制御部608は、情報処理装置101と携帯端末103との情報の送受信を制御する。
署名重畳部609は、携帯端末103で入力を受け付けた署名を、投影制御部603の機能により投影される文書データまたは画面と重畳するための機能部である。署名重畳部609は、文書データまたは画面のレイヤーと、署名のレイヤーとを設けて重畳してもよいし、文書データまたは画面に署名を合成してもよい。
携帯端末103は機能部として、記憶部611と、表示制御部612と、通信制御部613と、署名入力受付部614とを備える。
記憶部611は、後述する各種画面を構成する情報を記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。また、記憶部611は、後述する通信制御部613で受信した情報を記憶する機能も有する。
表示制御部612は、携帯端末103のタッチパネル510の表示を制御するための機能部である。表示制御部612から画面等の表示指示がなされると、出力コントローラ506を介してタッチパネル510に表示指示が送信される。そして、タッチパネル510はこの指示を受信すると、指示に従って画面等を表示する。
通信制御部613は、携帯端末103と情報処理装置101との通信を制御するための機能部である。通信制御部613は、携帯端末103と情報処理装置101との情報の送受信を制御する。
署名入力受付部614は、タッチパネル510を介して署名の入力を受け付けるための機能部である。タッチパネル510に対するタッチ操作を受け付けて、このタッチ操作の軌跡をベクタ形式またはラスタ形式のデータとして取得する。
次に、メニュー画面800において操作を受け付ける処理の流れについて、図7に示すフローチャートを用いて説明する。
まず、ステップS701では、情報処理装置101のCPU401は、テラー301からの指示に応じて外部メモリ411等に記憶された投影アプリケーションを起動する。投影アプリケーションは、後述するステップS702乃至ステップS706の各処理を実行するためのアプリケーションである。投影アプリケーションを動作させることにより、投影面304に各種画面をプロジェクタ423が投影できるようになる。
ステップS702では、情報処理装置101のCPU401は、表示制御部602の機能により、図8に示すようなメニュー画面800をディスプレイ410に表示する。メニュー画面800は、書類記入ボタン801と終了ボタン802とを備えている。書類記入ボタン801は、文書データに対して署名を入力するためのボタンである。終了ボタン802は、投影アプリケーションを終了するためのボタンである。
ステップS703では、情報処理装置101のCPU401は、操作検知部607の機能により、書類記入ボタン801の押下を検知したか否かを判定する。すなわち、入力デバイス409を介してディスプレイ410上で書類記入ボタン801の押下を受け付けたか否かを判定する。書類記入ボタン801の押下を検知したと判定した場合には、ステップS704に処理を進める。書類記入ボタン801の押下を検知していない、または書類記入ボタン801以外のボタンの押下を検知したと判定した場合には、ステップS705に処理を進める。
ステップS704では、情報処理装置101のCPU401は、書類記入処理を実行する。書類記入処理の詳細は、後述する図9に示す。書類記入処理が終了したら、ステップS703に処理を戻す。
ステップS705では、情報処理装置101のCPU401は、操作検知部607の機能により、終了ボタン802の押下を検知したか否かを判定する。すなわち、入力デバイス409を介してディスプレイ410上で終了ボタン802の押下を受け付けたか否かを判定する。終了ボタン802の押下を検知したと判定した場合には、ステップS706に処理を進める。終了ボタン802の押下を検知していないと判定した場合には、ステップS703に処理を戻す。
ステップS706では、情報処理装置101のCPU401は、ステップS701で起動した投影アプリケーションを終了する。
次に、書類記入処理の流れについて、図9に示すフローチャートを用いて説明する。尚、図9の破線で表現された矢印は、情報処理装置101と携帯端末103との間のデータの送受信を示す。
ステップS901では、情報処理装置101のCPU401は、投影制御部603の機能により、図10に示すような書類記入画面1000をプロジェクタ423に投影させて、投影面304に表示する。このとき、ミラーリング機能を用いて、ディスプレイ410にも同じ画面が表示されてもよいし、マルチモニタ機能を用いて、ディスプレイ410には画面を操作するためのマニュアルや説明すべきポイントを表示させてもよい。以下、プロジェクタ423から投影面304に画面を投影する場合についても同様である。
書類記入画面1000は、文書データを表示する文書データ表示領域1001と完了ボタン1003とを備える。文書データ表示領域1001には、不図示の文書データ選択画面でユーザから選択された文書データを表示する。選択された文書データは、図11に示す文書データ管理テーブル1100の文書データ保存場所1102に格納される情報を用いて取得する。また文書データ表示領域1001では、文書データの拡大及び縮小が可能である。
文書データ管理テーブル1100は、文書ID1101と、文書データ保存場所1102と、署名欄位置1103とを備えるデータテーブルであり、情報処理装置101の外部メモリ411に記憶されている。文書ID1101は、文書データごとに一意に割り振られる識別情報を示す。文書データ保存場所1102は、文書データが保存されているファイルパスを示す。署名欄位置1103(位置情報)は、文書データが備える署名欄の左上座標と右下座標とを示す。尚、署名欄の中心座標と、中心座標からの上下左右の幅とを格納してもよい。文書データが署名欄を備えていない場合には、「NULL」が格納される。この署名欄位置1103が示す署名欄は、例えば図10の署名欄領域1002である。また、署名欄位置1103が示す座標は、投影面304に投影される画面の座標系における座標である。
ステップS902では、情報処理装置101のCPU401は、センサ制御部605の機能により、書類記入画面1000が投影された投影面304で携帯端末103を検知したか否かを判定する。より具体的には、情報処理装置101に接続された赤外線センサ422から取得した情報と、図11に示す携帯端末管理テーブル1110のサイズ1112とを用いて、投影面304にある携帯端末103を検知する。サイズ1112には、携帯端末103の高さと幅と厚さとが格納されており、これらの情報と赤外線センサ422から取得した情報とを比較することで、携帯端末103を検知することができる。
携帯端末管理テーブル1110は、端末ID1111と、サイズ1112と、携帯端末位置1113とを備えるデータテーブルであり、情報処理装置101の外部メモリ411に記憶されている。端末ID1111は、携帯端末103ごとに一意に割り振られる識別情報を示す。サイズ1112は、携帯端末103の高さと幅と厚さとを示す。携帯端末位置1113は、投影面304に投影される画面における携帯端末103の左上座標と右下座標とを示す。尚、携帯端末103の中心座標と、中心座標からの上下左右の幅とを格納してもよい。携帯端末位置1113は、赤外線センサ422から取得する情報を用いて、投影面304に投影される画面の座標系に変換した座標である。携帯端末位置1113は、携帯端末103が投影面304で検知されている間、継続して更新される。
携帯端末103を検知する他の方法としては、次の通りである。携帯端末103のタッチパネル510に携帯端末103であることを示す情報を表示し、デジタルカメラ421が投影面304を撮影する。そして、撮影により生成される画像データにこの情報が含まれていれば、携帯端末103を投影面304で検知したと判定してもよい。投影面304の携帯端末103を検知する方法は、これに限らない。書類記入画面1000が投影された投影面304で携帯端末103を検知したと判定した場合には、ステップS903に処理を進める。書類記入画面1000が投影された投影面304で携帯端末103を検知したと判定しなかった場合には、ステップS915に処理を進める。
ステップS903では、情報処理装置101のCPU401は、センサ制御部605の機能により、検知した携帯端末103が署名欄領域1002に存在する(配置されている)か否かを判定する。より具体的には、投影面304に投影している文書データの署名欄位置1103と、検知した携帯端末103の携帯端末位置1113とを比較し、検知した携帯端末103が署名欄領域1002に存在するか否かを判定する。図12は、検知した携帯端末103が署名欄領域1002に存在する場合の一例である。図12に示すように、署名欄領域1002が携帯端末103のタッチパネル510の領域に収まるような位置に存在することが望ましいが、これに限らない。検知した携帯端末103が署名欄領域1002に存在すると判定した場合には、ステップS904に処理を進める。検知した携帯端末103が署名欄領域1002に存在すると判定しなかった場合、すなわち、検知した携帯端末103が署名欄領域1002に存在しないと判定した場合には、ステップS915に処理を進める。このように、署名欄領域1002に携帯端末103が存在するときに、携帯端末103のタッチパネル510を介して署名を受け付けるようにすることで、擬似的に署名欄に対して直接署名を行っているかのような感覚をユーザに与えることが可能となる。
ステップS904では、情報処理装置101のCPU401は、通信制御部608の機能により、検知した携帯端末103に対して、署名の入力を受け付けるよう指示を送信する(指示手段)。ステップS904の処理が完了したら、ステップS908に処理を進める。一方、ステップS905では、携帯端末103のCPU501は、通信制御部613の機能により、情報処理装置101から送信された署名の入力受付指示を受信する。
ステップS906では、携帯端末103のCPU501は、ステップS905で受信した指示に応じて、表示制御部612の機能により図13に示すような署名入力画面1300を表示する。そして、署名入力受付部614の機能によりユーザからの署名の入力を受け付ける(タッチ操作受付手段)。署名入力画面1300は、携帯端末103が置かれた位置に相当する書類記入画面1000の領域が表示され、タッチパネル510を介してタッチ操作を行うことで、署名の入力を行える。携帯端末103が置かれた位置に相当する書類記入画面1000の領域を表示するためには、投影している書類記入画面1000をキャプチャした画像データと、携帯端末位置1113とを情報処理装置101から携帯端末103に送信し、これらを用いて表示する。
署名入力画面1300には、携帯端末103が置かれた位置に相当する書類記入画面1000の領域が表示されるので、携帯端末位置1113を用いてこの領域はプロジェクタ423から投影しないよう、制御してもよい。こうすることで、携帯端末103のタッチパネル510に表示される画面の可読性が向上する。また、署名入力画面1300には、携帯端末103が置かれた位置に相当する書類記入画面1000の領域を表示せず、単に署名の入力が可能な画面を表示してもよい。
ステップS907では、携帯端末103のCPU501は、署名入力受付部614の機能により、タッチ操作によってなぞられた軌跡を示す署名情報を生成してこれを取得し、RAM503に一時記憶する。署名情報は、署名入力受付部614によって生成されるベクタ形式またはラスタ形式(ビットマップ形式とも言う。)のデータであり、タッチ操作によってなぞられた軌跡から得られる情報、すなわちユーザから入力を受け付けた署名である。また、署名情報はベクタ形式またはラスタ形式に限らず、タッチ操作によって得られる軌跡に対して既知の文字認識技術を用いてテキスト化したデータであってもよい。署名情報を生成したら、情報処理装置101から指示があるまで待機する。
ステップS908では、情報処理装置101のCPU401は、センサ制御部605の機能により、ステップS902で検知した携帯端末103が署名欄領域1002から移動したか否かを判定する。より具体的には、投影面304に投影している文書データの署名欄位置1103と、検知した携帯端末103の携帯端末位置1113とを比較し、検知した携帯端末103が署名欄領域1002から移動したか否かを判定する。携帯端末103が署名欄領域1002から移動したと判定した場合には、ステップS909に処理を進める。携帯端末103が署名欄領域1002から移動したと判定しなかった、すなわち、携帯端末103が署名欄領域1002から移動していないと判定した場合には、移動するまで待機する。携帯端末103が署名欄領域1002から移動したということは、携帯端末103における署名が完了したということである。つまり、情報処理装置101は、携帯端末103の署名欄領域1002からの移動を検知することで、携帯端末103から署名情報を取得するべく動作する。尚、携帯端末103における署名の入力に伴って携帯端末103が多少移動することを考慮して判定するのが望ましい。
ステップS909では、情報処理装置101のCPU401は、通信制御部608の機能により、ステップS907で生成した署名情報の取得指示を投影面304の携帯端末103に対して指示する。ステップS909が完了したら、携帯端末103から署名情報が送られてくるまで待機する。ステップS910では、携帯端末103のCPU501は、通信制御部613の機能により、情報処理装置101から送信された、署名情報の取得指示を受信する。
ステップS911では、携帯端末103のCPU501は、署名入力受付部614の機能により、ステップS910で受信した指示に応じて、ステップS907でRAM503に記憶した署名情報を取得する。そして、ステップS912では、携帯端末103のCPU501は、通信制御部613の機能により、ステップS911で取得した署名情報を情報処理装置101に送信する。
ステップS913では、情報処理装置101のCPU401は、通信制御部608の機能により、携帯端末103から送信された署名情報を受信する。すなわち、携帯端末103から、タッチ操作の軌跡から得られる情報を取得する(軌跡取得手段)。
ステップS914では、情報処理装置101のCPU401は、署名重畳部609の機能により、ステップS913で受信した署名情報を文書データの署名欄領域1002の署名欄に重畳する(重畳手段)。そして、重畳した文書データを投影制御部603の機能により、プロジェクタ423に投影させて、投影面304に表示する。ここで必要に応じて、署名欄に収まるように署名情報を拡大または縮小して重畳する。図14は、署名情報を署名欄に重畳した様子を示す図である。携帯端末103が署名欄領域1002から移動すると、情報処理装置101に署名情報が送信され、図14に示すように署名欄領域1002の署名欄に収まるよう、重畳して表示される。
ステップS915では、情報処理装置101のCPU401は、操作検知部607の機能により、書類記入画面1000が備える完了ボタン1003の押下を検知したか否かを判定する。すなわち、投影面304に投影された書類記入画面1000において、完了ボタン1003に対するタッチ操作を検知したか否かを判定する。完了ボタン1003に対する押下を検知したと判定した場合には、ステップS916に処理を進める。完了ボタン1003に対する押下を検知していないと判定した場合には、ステップS902に処理を戻す。
ステップS916では、情報処理装置101のCPU401は、記憶部601の機能により、署名情報が重畳された文書データを外部メモリ411に保存する。保存する際には、署名重畳部609の機能により、表示している文書データの署名欄に署名情報を合成し、1つの文書データとする。更に、記憶部601の機能により、図11に示す署名済文書管理テーブル1120の各項目に必要な情報を格納する。
署名済文書管理テーブル1120は、署名済文書ID1121と、元文書ID1122と、顧客ID1123と、署名済文書保存場所1124とを備えるデータテーブルであり、情報処理装置101の外部メモリ411に記憶されている。署名済文書ID1121は、ステップS916で保存される文書データごとに一意に割り振られる識別情報を示す。元文書ID1122は、ステップS916で合成する文書データの文書ID1101を示す。顧客ID1123は、顧客ごとに一意に割り振られる識別情報を示す。署名済文書保存場所1124は、ステップS916で保存する文書データのファイルパスを示す。ステップS916で保存する場合には、署名済文書管理テーブル1120に新たにレコードを追加し、各情報を格納する。ステップS916が完了したら、書類記入処理を終了する。
以上説明したように、本実施形態によれば、タッチパネルを備える携帯端末を用いて、投影装置によって投影される投影データにタッチ操作の軌跡を重畳することが可能となる。
次に、第2の実施形態について説明する。前述した第1の実施形態では、署名欄に携帯端末103を置いた状態で携帯端末103においてタッチ操作を受け付けることで、軌跡から得られる情報を文書データに重畳する仕組みについて説明した。第2の実施形態では、署名欄に携帯端末103が置かれる前に携帯端末103でタッチ操作を受け付けて、携帯端末103が署名欄に置かれることで、軌跡から得られる情報を文書データに重畳する仕組みについて説明を行う。
第2の実施形態は、前述した第1の実施形態における図9のフローチャートの変形例であるため、それ以外の点(システム構成、ハードウェア構成、機能構成、フローチャート、データテーブル、画面例等)については、第1の実施形態と同様である。よって、第1の実施形態と同様の点については説明を省略し、第1の実施形態で説明した符号については、第2の実施形態においても同じ符号を用いるものとする。
第2の実施形態における書類記入処理について、図15に示すフローチャートを用いて説明する。尚、図15の破線で表現された矢印は、情報処理装置101と携帯端末103との間のデータの送受信を示す。
ステップS1501では、情報処理装置101のCPU401は、投影制御部603の機能により、図10に示すような書類記入画面1000をプロジェクタ423に投影させて、投影面304に表示する。
ステップS1502では、情報処理装置101のCPU401は、通信制御部608の機能により、携帯端末103に対して、署名の入力を受け付けるよう指示を送信する。ステップS1502の処理が完了したら、ステップS1506に処理を進める。一方、ステップS1503では、携帯端末103のCPU501は、通信制御部613の機能により、情報処理装置101から送信された署名の入力受付指示を受信する。
ステップS1504では、携帯端末103のCPU501は、ステップS1503で受信した指示に応じて、表示制御部612の機能により図13に示すような署名入力画面1300を表示する。そして、署名入力受付部614の機能によりユーザからの署名の入力を受け付ける。
ステップS1505では、携帯端末103のCPU501は、署名入力受付部614の機能により、タッチ操作によってなぞられた軌跡を示す署名情報を生成してこれを取得し、RAM503に一時記憶する。すなわち、ユーザは手元に携帯端末103を置いてタッチパネル510に対してタッチ操作を行い、署名する。署名情報は、署名入力受付部614によって生成されるベクタ形式またはラスタ形式(ビットマップ形式とも言う。)のデータであり、タッチ操作によってなぞられた軌跡から得られる情報、すなわちユーザから入力を受け付けた署名である。また、署名情報はベクタ形式またはラスタ形式に限らず、タッチ操作によって得られる軌跡に対して既知の文字認識技術を用いてテキスト化したデータであってもよい。署名情報を生成したら、情報処理装置101から指示があるまで待機する。
ステップS1506では、情報処理装置101のCPU401は、センサ制御部605の機能により、書類記入画面1000が投影された投影面304で携帯端末103を検知したか否かを判定する。すなわち、ユーザは署名した携帯端末103を投影面304に置くことで、情報処理装置101に検知させる。より具体的には、情報処理装置101に接続された赤外線センサ422から取得した情報と、図11に示す携帯端末管理テーブル1110のサイズ1112とを用いて、投影面304にある携帯端末103を検知する。サイズ1112には、携帯端末103の高さと幅と厚さとが格納されており、これらの情報と赤外線センサ422から取得した情報とを比較することで、携帯端末103を検知することができる。
携帯端末103を検知する他の方法としては、次の通りである。携帯端末103のタッチパネル510に携帯端末103であることを示す情報を表示し、デジタルカメラ421が投影面304を撮影する。そして、撮影により生成される画像データにこの情報が含まれていれば、携帯端末103を投影面304で検知したと判定してもよい。投影面304の携帯端末103を検知する方法は、これに限らない。書類記入画面1000が投影された投影面304で携帯端末103を検知したと判定した場合には、ステップS1507に処理を進める。書類記入画面1000が投影された投影面304で携帯端末103を検知したと判定しなかった場合には、ステップS1516に処理を進める。
ステップS1507では、情報処理装置101のCPU401は、センサ制御部605の機能により、検知した携帯端末103が署名欄領域1002に存在するか否かを判定する。より具体的には、投影面304に投影している文書データの署名欄位置1103と、検知した携帯端末103の携帯端末位置1113とを比較し、検知した携帯端末103が署名欄領域1002に存在するか否かを判定する。検知した携帯端末103が署名欄領域1002に存在すると判定した場合には、ステップS1508に処理を進める。検知した携帯端末103が署名欄領域1002に存在すると判定しなかった場合、すなわち、検知した携帯端末103が署名欄領域1002に存在しないと判定した場合には、ステップS1516に処理を進める。
ステップS1508では、情報処理装置101のCPU401は、通信制御部608の機能により、ステップS1505で生成した署名情報の取得指示を投影面304の携帯端末103に対して指示する。ステップS1508が完了したら、携帯端末103から署名情報が送られてくるまで待機する。ステップS1509では、携帯端末103のCPU501は、通信制御部613の機能により、情報処理装置101から送信された、署名情報の取得指示を受信する。
ステップS1510では、携帯端末103のCPU501は、署名入力受付部614の機能により、ステップS1509で受信した指示に応じて、ステップS1505でRAM503に記憶した署名情報を取得する。そして、ステップS1511では、携帯端末103のCPU501は、通信制御部613の機能により、ステップS1510で取得した署名情報を情報処理装置101に送信する。
情報処理装置101に対する署名情報の送信が完了したら、ステップS1512では、携帯端末103のCPU501は、署名入力受付部614の機能により、ステップS1505でRAM503に記憶した署名情報を削除する(軌跡削除手段)。削除は論理削除でも物理削除でもどちらでもよい。このように、一度情報処理装置101に送信した署名情報は削除(無効)とすることで、署名情報が他の署名欄でも用いられることを抑止できる。
ステップS1513では、情報処理装置101のCPU401は、通信制御部608の機能により、携帯端末103から送信された署名情報を受信する。
ステップS1514では、情報処理装置101のCPU401は、センサ制御部605の機能により、ステップS1506で検知した携帯端末103が署名欄領域1002から移動したか否かを判定する。より具体的には、投影面304に投影している文書データの署名欄位置1103と、検知した携帯端末103の携帯端末位置1113とを比較し、検知した携帯端末103が署名欄領域1002から移動したか否かを判定する。携帯端末103が署名欄領域1002から移動したと判定した場合には、ステップS1515に処理を進める。携帯端末103が署名欄領域1002から移動したと判定しなかった、すなわち、携帯端末103が署名欄領域1002から移動していないと判定した場合には、移動するまで待機する。携帯端末103が署名欄領域1002から移動する前に、受信した署名情報を重畳して表示すると、携帯端末103の上に署名情報が更に重畳されてしまい見づらくなってしまう。そのため、携帯端末103が署名欄領域1002から移動するまでは、重畳表示しないように制御する。
ステップS1515では、情報処理装置101のCPU401は、署名重畳部609の機能により、ステップS1513で受信した署名情報を文書データの署名欄領域1002の署名欄に重畳する。そして、重畳した文書データを投影制御部603の機能により、プロジェクタ423に投影させて、投影面304に表示する。ここで必要に応じて、署名欄に収まるように署名情報を拡大または縮小して重畳する。
ステップS1516では、情報処理装置101のCPU401は、操作検知部607の機能により、書類記入画面1000が備える完了ボタン1003の押下を検知したか否かを判定する。すなわち、投影面304に投影された書類記入画面1000において、完了ボタン1003に対するタッチ操作を検知したか否かを判定する。完了ボタン1003に対する押下を検知したと判定した場合には、ステップS1517に処理を進める。完了ボタン1003に対する押下を検知していないと判定した場合には、ステップS1506に処理を戻す。
ステップS1517では、情報処理装置101のCPU401は、記憶部601の機能により、署名情報が重畳された文書データを外部メモリ411に保存する(保存手段)。保存する際には、署名重畳部609の機能により、表示している文書データの署名欄に署名情報を合成し、1つの文書データとする。更に、記憶部601の機能により、図11に示す署名済文書管理テーブル1120の各項目に必要な情報を格納する。
図16は、第2の実施形態の概要を示す図である。まず、情報処理装置101がプロジェクタ423に文書データを投影させると、携帯端末103が署名の入力を受付可能な状態になる。そして、図16(a)に示すように、ユーザは携帯端末103に対して署名の入力を行う。携帯端末103はこれに応じて軌跡の描画を行い、軌跡から得られる情報、つまり署名情報をRAM503に一時記憶する。
署名が終わったら、図16(b)に示すように、ユーザは携帯端末103を署名欄領域1002に置く。情報処理装置101は、携帯端末103が署名欄領域1002に置かれたと判定すると、携帯端末103から署名情報を取得する。署名情報が取得されると、携帯端末103の記憶領域からは署名情報を削除する。そして、ユーザが署名欄領域1002から携帯端末103を移動させると、情報処理装置101がこれを検知し、取得した署名情報を署名欄領域1002に重畳表示させる。その結果が、図16(c)である。
このように、署名欄領域1002に携帯端末103を置いた状態で署名を行わなくとも、ユーザの手元で携帯端末103に署名を行った後、署名欄領域1002に携帯端末103を置くことによっても、容易に携帯端末103を用いて署名を行うことができる。
以上説明したように、本実施形態によれば、タッチパネルを備える携帯端末を用いて、投影装置によって投影される投影データにタッチ操作の軌跡を重畳することが可能となる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現(実行可能と)するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。