以下、図面を参照しながら、本発明の第1の実施形態について説明する。
図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−1と携帯端末103−2とが存在するものとして説明を行う。尚、携帯端末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は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスクやフレキシブルディスク或いは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との情報の送受信を制御する。また、通信制御部608は、情報処理装置101が属するネットワークに接続された携帯端末103のIPアドレス等(以下、接続先情報という。)を取得することが可能である。
ベクトル解析部609は、操作検知部607で検知したユーザから指示された方向を特定するための機能部である。画面が投影された投影面304上でユーザがフリック操作(またはスライド操作、スワイプ操作も含む)を行った場合に、ベクトル解析部609はこのフリック操作の軌跡を用いてフリック操作されたベクトルを特定する。ベクトル解析部609は、特定したベクトルをユーザから指示された方向として特定する。尚、フリック操作は本来タッチパネルにおける操作方法のことを指すが、本実施形態ではこれを投影面304における操作として用いる。また、あくまでフリック操作はユーザから指示された方向が特定できればよいため、投影面304に触れる必要はない。投影面304に触れていてもよいし、投影面304上で同様のジェスチャを行ってもよい。すなわち、投影面304に触れないフリック操作も、本実施形態におけるフリック操作の範疇に含む。更に、本実施形態においてフリック操作とは、ユーザの指を任意の方向に向かって素早く移動させる操作や、素早く移動させて弾くような操作をいう。また本実施形態ではフリック操作を一例に説明を行うが、スライド操作やスワイプ操作であってもよい。これらの操作は、ユーザの指を任意の方向に向かって投影面304を軽くなぞる操作をいう。また、スライド操作やスワイプ操作は、軽くなぞる操作を行った後に投影面304から離す操作も含む。
携帯端末103は機能部として、記憶部611と、表示制御部612と、通信制御部613と、文書保存アプリ制御部614とを備える。
記憶部611は、後述する各種画面を構成する情報を記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。また、記憶部611は、後述する通信制御部613で受信した情報を記憶する機能も有する。
表示制御部612は、携帯端末103のタッチパネル510の表示を制御するための機能部である。表示制御部612から画面等の表示指示がなされると、出力コントローラ506を介してタッチパネル510に表示指示が送信される。そして、タッチパネル510はこの指示を受信すると、指示に従って画面等を表示する。
通信制御部613は、携帯端末103と情報処理装置101との通信を制御するための機能部である。通信制御部613は、携帯端末103と情報処理装置101との情報の送受信を制御する。また、通信制御部608は、携帯端末103が属するネットワークに接続された情報処理装置101の接続先情報を取得することが可能である。
文書保存アプリ制御部614は、携帯端末103にインストールされた文書保存アプリの動作を制御するための機能部である。本実施形態において、文書保存アプリは情報処理装置101と通信することにより受信した情報を保存するためのアプリケーションである。文書保存アプリを動作させることにより、携帯端末103は情報処理装置101の接続先情報を取得して情報処理装置101と携帯端末103との通信を確立し、情報処理装置101から文書データ等の情報(ファイル)が送信された場合に、これを受信する。尚、情報処理装置101と通信して送受信するデータをここでは文書データを例に説明するが、画像データや動画データなど文書データに限らず情報処理装置101と携帯端末103とで送受信できる電子ファイルであればどのデータ、ファイルであってもよい。
次に、メニュー画面800において操作を受け付ける処理の流れについて、図7に示すフローチャートを用いて説明する。
まず、ステップS701では、情報処理装置101のCPU401は、テラー301からの指示に応じて外部メモリ411等に記憶された投影アプリケーションを起動する。投影アプリケーションは、後述するステップS702乃至ステップS706の各処理を実行するためのアプリケーションである。投影アプリケーションを動作させることにより、投影面304に商品説明のための各種画面をプロジェクタ423が投影できるようになる。
ステップS702では、情報処理装置101のCPU401は、図8に示すようなメニュー画面800をディスプレイ410に表示する。メニュー画面800は、商品説明ボタン801と終了ボタン802とを備えている。商品説明ボタン801は、顧客302に対する商品説明を開始するためのボタンである。終了ボタン802は、投影アプリケーションを終了するためのボタンである。
ステップS703では、情報処理装置101のCPU401は、商品説明ボタン801の押下を検知したか否かを判定する。すなわち、入力デバイス409を介してディスプレイ410上で商品説明ボタン801の押下を受け付けたか否かを判定する。商品説明ボタン801の押下を検知したと判定した場合には、ステップS704に処理を進める。商品説明ボタン801の押下を検知していない、または商品説明ボタン801以外のボタンの押下を検知したと判定した場合には、ステップS705に処理を進める。
ステップS704では、情報処理装置101のCPU401は、商品説明処理を実行する。商品説明処理の詳細は、後述する図9に示す。商品説明処理が終了したら、ステップS703に処理を戻す。
ステップS705では、情報処理装置101のCPU401は、終了ボタン802の押下を検知したか否かを判定する。すなわち、入力デバイス409を介してディスプレイ410上で終了ボタン802の押下を受け付けたか否かを判定する。終了ボタン802の押下を検知したと判定した場合には、ステップS706に処理を進める。終了ボタン802の押下を検知していないと判定した場合には、ステップS703に処理を戻す。
ステップS706では、情報処理装置101のCPU401は、ステップS701で起動した投影アプリケーションを終了する。
次に、商品説明処理の流れについて、図9に示すフローチャートを用いて説明する。
ステップS901では、情報処理装置101のCPU401は、図10に示すような商品説明画面1000をプロジェクタ423に投影させて、投影面304に表示する。このとき、ミラーリング機能を用いて、ディスプレイ410にも同じ画面が表示されてもよいし、マルチモニタ機能を用いて、ディスプレイ410には画面を操作するためのマニュアルや説明すべきポイントを表示させてもよい。以下、プロジェクタ423から投影面304に画面を投影する場合についても同様である。
商品説明画面1000は、テラー領域1001と顧客領域1002とを備える。テラー領域1001は、テラー301が情報の閲覧や操作を行う領域であり、顧客領域1002は顧客302が情報の閲覧や操作を行う領域である。それぞれ領域に表示する情報は、当該領域に対応するユーザの方向に向けて配置されている。テラー領域1001には、サムネイル画像領域1003と、文書送信ボタン1004と、メニューボタン1005とが配置されている。サムネイル画像領域1003は、顧客領域1002に表示する文書データ(電子ファイル)のサムネイル画像(イメージデータ)を表示する領域である。情報処理装置101は、図11に示す文書データ管理テーブル1100のサムネイル画像保存場所1103が示す保存場所からサムネイル画像を取得し、表示位置1104が示す位置にこれを表示する。尚、ここではサムネイル画像を用いて説明を行うが、投影面上で文書データを示すものであればサムネイル画像以外のイメージデータやアイコン画像等であってもよい。サムネイル画像領域1003でサムネイル画像の選択を検知すると、選択されたサムネイル画像に対応する文書データを取得し、これを顧客領域1002の文書データ領域1006に投影して表示する。文書送信ボタン1004は、サムネイル画像領域1003に表示されているサムネイル画像に対応する文書データを、顧客の携帯端末103に送信するためのボタンである。メニューボタン1005は、商品説明画面1000の投影を終了し、ディスプレイ410にメニュー画面800を表示させるためのボタンである。
図11の文書データ管理テーブル1100は、投影面304に表示する文書データを管理するためのデータテーブルである。文書データ管理テーブル1100は、文書ID1101と、文書データ保存場所1102と、サムネイル画像保存場所1103と、表示位置1104とを備える。文書ID1101は、文書データごとに割り振られる一意な識別情報を示す。文書データ保存場所1102は、文書データの保存場所を示す。サムネイル画像保存場所1103は、文書データに対応するサムネイル画像の保存場所を示す。表示位置1104は、サムネイル画像を表示する座標を示す。尚、本実施形態では文書データを一例に説明を行うが、文書データに限らず、テキストデータや画像データや動画データといった文書データ以外のデータであってもよい。
ステップS902では、情報処理装置101のCPU401は、サムネイル画像領域1003に表示されたサムネイル画像に対する選択を、センサ制御部605の機能により検知したか否かを判定する。すなわち、投影面304に投影された商品説明画面1000において、サムネイル画像に対するタッチ操作を検知したか否かを判定する。サムネイル画像に対する選択を検知したと判定した場合には、ステップS903に処理を進める。サムネイル画像に対する選択を検知していないと判定した場合には、ステップS905に処理を進める。
ステップS903では、情報処理装置101のCPU401は、選択されたサムネイル画像に対応する文書データを、文書データ管理テーブル1100を用いて取得する。より具体的には、情報処理装置101は選択されたサムネイル画像に対応するレコードを文書データ管理テーブル1100で特定し、当該レコードの文書データ保存場所1102が示す保存場所に保存されている文書データを取得する。
ステップS904では、情報処理装置101のCPU401は、ステップS903で取得した文書データを顧客領域1002の文書データ領域1006に表示し、これが表示された商品説明画面1000を投影面304に投影する。これにより、顧客302は文書データを閲覧することができるようになる。ステップS904の処理が終わったら、ステップS902に処理を戻す。
ステップS905では、情報処理装置101のCPU401は、商品説明画面1000が備える文書送信ボタン1004の押下を、センサ制御部605の機能により検知したか否かを判定する。すなわち、投影面304に投影された商品説明画面1000において、文書送信ボタン1004に対するタッチ操作を検知したか否かを判定する。文書送信ボタン1004に対する押下を検知したと判定した場合には、ステップS906に処理を進める。文書送信ボタン1004に対する押下を検知していないと判定した場合には、ステップS907に処理を進める。
ステップS906では、情報処理装置101のCPU401は、文書送信処理を実行する。文書送信処理の詳細は、後述する図12、及び図18から図21に示す。文書送信処理が終了したら、ステップS902に処理を戻す。
ステップS907では、情報処理装置101のCPU401は、商品説明画面1000が備えるメニューボタン1005の押下を、センサ制御部605の機能により検知したか否かを判定する。すなわち、投影面304に投影された商品説明画面1000において、メニューボタン1005に対するタッチ操作を検知したか否かを判定する。メニューボタン1005に対する押下を検知したと判定した場合には、ステップS906に処理を進める。メニューボタン1005に対する押下を検知していないと判定した場合には、ステップS902に処理を戻す。
ステップS908では、情報処理装置101のCPU401は、投影している商品説明画面1000の投影を終了するようプロジェクタ423に指示し、ディスプレイ410にメニュー画面800を表示する。そして、商品説明処理を終了する。
次に、文書送信処理の流れについて、図12、及び図18から図21に示すフローチャートを用いて説明する。まず、図12では情報処理装置101が投影面304に配置された携帯端末103の位置や接続先を認識する処理について説明し、図18では携帯端末103に文書データを送信する処理について説明を行う。図19乃至図21では、携帯端末103に文書データを送信する指示を出した後に、他の処理に切り替える処理について説明を行う。
図12のステップS1201では、情報処理装置101のCPU401は、図13に示すような携帯端末検知画面1300をプロジェクタ423に投影させて、投影面304に表示する。携帯端末検知画面1300は、商品説明画面1000と同様にテラー領域1001と顧客領域1002を備えている。また、テラー領域1001には追加ボタン1301と完了ボタン1302が配置されている。追加ボタン1301は、携帯端末103(103−1)を認識した後に、更に別の携帯端末103(103−2)を認識させるためのボタンである。完了ボタン1302は、携帯端末103の認識を完了させるためのボタンである。
ステップS1202では、情報処理装置101のCPU401は、携帯端末103からの接続要求があるまで(ステップS1206で接続要求を受信するまで)、一旦待機をする。
ステップS1203では、携帯端末103のCPU501は、ユーザからの指示に応じて、携帯端末103にインストールされている文書保存アプリを起動する。文書保存アプリを起動すると、情報処理装置101が接続しているネットワーク(ローカルネットワークが望ましい)と同じネットワークに接続される。そして、文書保存アプリ制御部614及び通信制御部613の機能により、携帯端末103が接続したネットワークに接続している各種装置を検出し、検出した各種装置の接続先情報を取得する。ここでいう各種装置とは、情報処理装置101や携帯端末103等、当該ネットワークに接続している装置のことである。
ステップS1204では、携帯端末103のCPU501は、ステップS1203で取得した接続先情報を用いて図14に示すような接続先情報選択画面1400をタッチパネル510に表示する。そして接続先情報選択画面1400において携帯端末103と接続すべき情報処理装置101の接続先情報に対する選択を受け付ける。接続先情報選択画面1400は、接続先情報領域1401を備えている。この接続先情報領域1401では、ステップS1203で取得した接続先情報が一覧表示される。
例えば顧客302は、顧客302の携帯端末103で文書保存アプリを起動し、目の前の投影面304に画面の投影指示を行っている情報処理装置101の接続先情報を、接続先情報領域1401から選択することになる。このとき、接続先情報が表示されるだけでは、顧客302の携帯端末103と接続したい情報処理装置101の接続先情報がどれかわからないため、図13の携帯端末検知画面1300に示すように、顧客領域1002に当該接続先情報を表示する。情報処理装置101は、自身の接続先情報を取得して携帯端末検知画面1300に含めることで、これが可能となる。顧客302は投影面304に表示された接続先情報を参考に、携帯端末103で接続先情報を選択する。
ステップS1205では、携帯端末103のCPU501は、ステップS1204で選択を受け付けた接続先情報が示す情報処理装置101に対して、接続要求を送信する。
ステップS1206では、情報処理装置101のCPU401は、ステップS1205で携帯端末103から送信された接続要求を受信する(接続先情報取得手段)。
ステップS1207では、情報処理装置101のCPU401は、ステップS1206で受信した携帯端末103からの接続要求に基づいて、図15に示す接続先管理テーブル1500に携帯端末103の接続先情報を保存する。情報処理装置101は携帯端末103から接続要求を受信すると、接続元の携帯端末103の接続先情報が取得できるので、これを接続先管理テーブル1500に保存する。こうすることで、情報処理装置101は文書データの送信先として携帯端末103の接続先情報を管理できる。
図15の接続先管理テーブル1500は、情報処理装置101から文書データを送信する携帯端末103の情報を管理するデータテーブルである。接続先管理テーブル1500は、端末ID1501と、接続先情報1502と、配置位置1503(位置情報)とを備える。端末ID1501は、接続先の装置に対して一意に割り振られた識別情報を示す。接続先情報1502は、接続先の装置の接続先情報を示す。配置位置1503は、接続先の装置が投影された画面のどの位置に配置されているのかを示す。すなわち、配置位置1503は当該画面の座標系に基づく。尚、本実施形態ではいずれの画面の大きさも同じである。
ステップS1208では、情報処理装置101のCPU401は、画面を投影している投影面304において、携帯端末103をセンサ制御部605の機能により検知したか否かを判定する。すなわち、図16に示すように、携帯端末103−1が情報処理装置101に接続要求を行った後に、携帯端末検知画面1300の顧客領域1002に携帯端末103−1が配置されたか否かを検知する。情報処理装置101は、図16に示すように、顧客302の携帯端末103を顧客領域1002に配置するよう指示する文章を表示してもよい。携帯端末103を検知したと判定した場合には、ステップS1209に処理を進める。携帯端末103を検知していないと判定した場合には、携帯端末103を検知するまでステップS1208を繰り返す。
ステップS1209では、情報処理装置101のCPU401は、携帯端末103を検知した現実空間上の位置に基づいて、投影面304に投影された画面上の位置を特定する(位置取得手段)。これをステップS1207で保存した接続先情報と対応付けて保存する(記憶手段)。センサ制御部605の機能により取得する携帯端末103の位置は、現実空間上の位置である。情報処理装置101はこの位置に基づいて、投影面304に投影している画面の座標系における位置を特定し、接続先情報と対応付けて保存する。特定した画面上の位置は、接続先管理テーブル1500の配置位置1503に格納する。
本実施形態においては、携帯端末103の接続先情報と携帯端末103の配置位置とを情報処理装置101が対応付けて管理する。そのために情報処理装置101が接続先情報を取得した後に投影面304で携帯端末103を検知した場合、この携帯端末103の配置位置を直前に取得した接続先情報と対応付けて管理している。別の実施形態としては、次のような形態が考えられる。情報処理装置101と通信したい携帯端末103は、携帯端末103の接続先情報を携帯端末103のタッチパネル510に表示し、顧客302が投影面304に携帯端末103を配置する。情報処理装置101は撮像制御部604の機能により投影面304を撮像すると、携帯端末103に表示されている接続先情報を含む画像データを取得できる。この画像データを解析することで接続先情報を取得すると共に、センサ制御部605で検知した位置と対応付けて保存することで、同様の対応付けを行うことができる。携帯端末103の接続先情報と配置位置との対応付けは、これ以外の方法であってもよい。
また、携帯端末103の配置位置は継続して取得するものとする。携帯端末103の配置位置はユーザによって移動(変更)される可能性があるので、投影面304の範囲内であれば、携帯端末103の配置位置を取得し続ける。更に別の実施形態としては、携帯端末103の配置位置がユーザによって移動されたか否かをセンサ制御部605で検知し、これを検知した場合に再度、配置位置を特定する形態も考えられる。こうすると、移動された携帯端末103だけを対象に配置位置を取得することができるので、継続して配置位置を取得し続けるよりも処理負荷を低減できる。
ステップS1210では、情報処理装置101のCPU401は、携帯端末検知画面1300が備える追加ボタン1301の押下を、センサ制御部605の機能により検知したか否かを判定する。すなわち、投影面304に投影された携帯端末検知画面1300において、追加ボタン1301に対するタッチ操作を検知したか否かを判定する。追加ボタン1301に対する押下を検知したと判定した場合には、ステップS1201に処理を戻す。つまり、新たな携帯端末103の接続先情報と配置位置とを取得するべく(例えば、携帯端末103−2の接続先情報と配置位置とを取得するべく)、ステップS1201から処理を再開する。情報処理装置101は、携帯端末103の数だけ繰り返しステップS1201乃至ステップS1209を実行することで、携帯端末103ごとに接続先情報と配置位置とを取得することができる。追加ボタン1301に対する押下を検知していないと判定した場合には、ステップS1211に処理を進める。
ステップS1211では、情報処理装置101のCPU401は、携帯端末検知画面1300が備える完了ボタン1302の押下を、センサ制御部605の機能により検知したか否かを判定する。すなわち、投影面304に投影された携帯端末検知画面1300において、完了ボタン1302に対するタッチ操作を検知したか否かを判定する。完了ボタン1302に対する押下を検知したと判定した場合には、図18のステップS1212に処理を進める。完了ボタン1302に対する押下を検知していないと判定した場合には、ステップS1210に処理を戻す。
図18に説明を移す。ステップS1212では、情報処理装置101のCPU401は、図17に示すような文書送信画面1700をプロジェクタ423に投影させて、投影面304に表示する。図17は、携帯端末103−1と携帯端末103−2とが配置された投影面304に文書送信画面1700を投影した様子を示す図である。つまり、文書送信画面1700は、図17に示す携帯端末103−1と携帯端末103−2とを除いた情報からなる画面である。文書送信画面1700は、商品説明画面1000と同様にテラー領域1001と顧客領域1002を備えている。またテラー領域1001は、商品説明画面1000と同様にサムネイル画像領域1003を備えている。サムネイル画像領域1003の生成方法は前述した通りである。更にテラー領域1001は送信終了ボタン1701を備えている。送信終了ボタン1701は、携帯端末103に対する文書データの送信を終了し、商品説明画面1000に戻るためのボタンである。
ステップS1213では、情報処理装置101のCPU401は、携帯端末103に送信する文書データを示すサムネイル画像の選択を受け付ける。すなわち、投影面304に投影された文書送信画面1700のサムネイル画像領域1003の中から、携帯端末103に送信したい文書データのサムネイル画像のタッチ操作を受け付ける。選択を受け付けるサムネイル画像は複数であってもよい。
ステップS1214では、情報処理装置101のCPU401は、ステップS1213で選択されたサムネイル画像に対するフリック操作を検知したか否かを判定する。より具体的にはフリック操作(サムネイル画像に対応する文書データの送信指示)を、センサ制御部605の機能により検知したか否かを判定する(受付手段)。フリック操作の始点は選択されたサムネイル画像の表示位置である。ここで、ステップS1213で複数のサムネイル画像に対する選択を受け付けて、ステップS1214でサムネイル画像に対するフリック操作を受け付けることは、複数のサムネイル画像に対するフリック操作を受け付けることと同義である。フリック操作を検知したと判定した場合には、ステップS1215に処理を進める。フリック操作を検知していないと判定した場合には、フリック操作を検知するまでステップS1214を繰り返す。尚、サムネイル画像(イメージデータ)に対応する文書データ(電子ファイル)の送信指示は文書データに対して受け付けてもサムネイル画像に対して受け付けてもどちらでもよい。
ステップS1215では、情報処理装置101のCPU401は、ステップS1214で検知したフリック操作の方向を特定する(方向特定手段)。センサ制御部605の機能により現実空間でフリック操作を行った指の軌跡が取得できるので、この取得した軌跡を用いて、投影面304に投影している画面におけるベクトルの方向を特定する。つまり、画面上で選択したサムネイル画像からなされたフリック操作が、画面上のどこに向かってなされたのかを特定する。
ステップS1216では、情報処理装置101のCPU401は、ステップS1215で特定されたフリック操作の方向に携帯端末103が存在するか否かを判定する。より具体的には、携帯端末103が配置された画面上の位置をステップS1209で保存しているので、配置位置1503が示す画面上の座標の範囲に携帯端末103が配置されていることがわかる。そして、ステップS1215で画面におけるフリック操作の方向が特定されているので、そのベクトルの方向と配置位置1503が示す範囲とが重なる箇所が少なくとも一部あるか否かを判定する。これらが重なるのであれば、フリック操作された方向に携帯端末103が存在すると判定する。フリック操作の方向に携帯端末103が存在すると判定した場合には、ステップS1217に処理を進める。フリック操作の方向に携帯端末103が存在していないと判定した場合には、ステップS1214に処理を戻す。すなわち、ユーザはフリック操作をやり直す。
ステップS1217では、情報処理装置101のCPU401は、フリック操作された方向にある携帯端末103の接続先情報を接続先管理テーブル1500から取得する。より具体的には、画面におけるフリック操作のベクトルの方向と重なっている箇所があると判定された配置位置1503のレコードを接続先管理テーブル1500で特定し、このレコードが備える接続先情報1502を取得する。
ステップS1218では、情報処理装置101のCPU401は、ステップS1213で選択されたサムネイル画像に対応する文書データを、文書データ管理テーブル1100を用いて取得する。より具体的には、選択された位置と表示位置1104とを用いて、選択されたサムネイル画像に対応するレコードを文書データ管理テーブル1100から特定する。そして、このレコードが備える文書データ保存場所1102が示す場所から文書データを取得する。
ステップS1219では、情報処理装置101のCPU401は、ステップS1217で取得した接続先情報が示す携帯端末103に対して、ステップS1218で取得した文書データを送信する(ファイル制御手段)。
ステップS1220では、携帯端末103のCPU501は、情報処理装置101から送信された文書データを受信する。
ステップS1221では、携帯端末103のCPU501は、受信した文書データをフラッシュメモリ514に保存する。本実施形態では受信した文書データを保存しているが、受信した文書データを表示してもよい。すなわち、フリック操作されたサムネイル画像に対応する文書データを、フリック操作された方向にある携帯端末103に表示する実施形態であってもよい。この場合には、受信した文書データを携帯端末103のタッチパネル510に表示する。
ステップS1222では、携帯端末103のCPU501は、ステップS1220及びステップS1221の実行結果を、文書データを送信してきた情報処理装置101に送信する。送信した後は、図19のステップS1901に処理を進める。
ステップS1223では、情報処理装置101のCPU401は、携帯端末103から送信された実行結果を受信する。
ステップS1224では、情報処理装置101のCPU401は、文書送信画面1700が備える送信終了ボタン1701の押下を、センサ制御部605の機能により検知したか否かを判定する。すなわち、投影面304に投影された文書送信画面1700において、送信終了ボタン1701に対するタッチ操作を検知したか否かを判定する。送信終了ボタン1701に対する押下を検知したと判定した場合には、ステップS1225に処理を進める。送信終了ボタン1701に対する押下を検知していないと判定した場合には、ステップS1212に処理を戻す。
ステップS1225では、情報処理装置101のCPU401は、文書送信画面1700の投影を終了させ、ステップS901と同様に商品説明画面1000をプロジェクタ423に投影させて、投影面304に表示する。以上により文書送信処理を終了する。
図22は、文書送信画面1700で携帯端末103−1に文書データを送信する様子の一例を示す図である。前述したように、まずユーザであるテラー301は、投影面304に投影された文書送信画面1700に含まれるサムネイル画像領域1003で、顧客302の携帯端末103−1に送信したい文書データを示すサムネイル画像を選択する。そして、テラー301はこれを選択したまま携帯端末103−1が配置された方向に向かってフリック操作を行う。すると、情報処理装置101はフリック操作された方向を特定し、特定した方向に携帯端末103が存在するか否かを判定する。携帯端末103が存在すると判定されると、その携帯端末103の接続先情報と選択されたサムネイル画像に対応する文書データとを取得し、接続先情報を用いて文書データを送信する。図22の場合には、携帯端末103−1に文書データが送信される。本実施形態では、文書データ(投影データ)を示すサムネイル画像を文書送信画面1700に表示し、これに対するフリック操作を受け付ける仕組みとして説明を行ったが、文書データを縮小表示してサムネイル画像の代わりにしてもよい。すなわち、文書データに対するフリック操作を受け付けて、フリック操作の方向に応じて特定される携帯端末に対して、フリック操作を受け付けた文書データを送信する形態であってもよい。
以上が、携帯端末への通常の文書データの送信処理の一連の流れである。次に、第1の実施形態について説明を行う。第1の実施形態では、文書データを携帯端末に送信している際に、送信中の文書データに対応する投影データに対してユーザからの操作を受け付けた場合に現在の送信処理とは異なる処理に変更する。ここで言う異なる処理とは、現在送信中の文書データの送信キャンセル処理や、現在送信中の携帯端末とは別の携帯端末に送信先を変更する処理等のことである。こうすることで、投影面304上で一旦送信指示を行った後に指示を間違えたり変更したりしたいときには、同じく投影面304上で直感的な操作で容易に処理を変更することが可能となる。以下、この説明を行う。
第1の実施形態における文書送信変更処理の流れについて、図19と図20に示すフローチャートを用いて説明する。図19に示すフローチャートは、図12に示すフローチャートの続きであり、図18に示す通常の文書送信処理のフローチャートの変形例である。図20は図19のフローチャートの続きである。
図19に示すステップS1901乃至ステップS1908は、図18に示すステップS1212乃至ステップS1219と同様であるので、説明を省略する。ステップS1908では、携帯端末103に文書データを送信すると、ステップS1910に処理を進める。
ステップS1909では、携帯端末103のCPU501は、情報処理装置101から送信された文書データの受信を開始する。ステップS1909では文書データの受信を開始するだけであり、まだ文書データの受信を完了しない。
ステップS1910では、情報処理装置101のCPU401は、ステップS1903でフリック操作を受け付けたサムネイル画像をステップS1905で特定された携帯端末103の配置位置1503に向かって移動させる(移動手段)。移動させるサムネイル画像は、フリック操作を受け付けたサムネイル画像そのものであってもよいし、フリック操作を受け付けたサムネイル画像のコピーであってもよい。
ステップS1911では、情報処理装置101のCPU401は、操作検知部607の機能により、ステップS1910で移動を開始したサムネイル画像に対して、ユーザから操作を受け付けたか否かを判定する(操作取得手段)。本実施形態では、移動中のサムネイル画像にタッチ操作がされたか否かを判定するが、ここで受け付ける操作はタッチ操作でなくともよい。移動中のサムネイル画像に対する操作でなくともよく、送信中止のボタン押下を検知するなど文書データの送信を中止するための何かしらの操作を受け付ければよい。操作を受け付けたと判定した場合はステップS1912に処理を進める。操作を受け付けたと判定しなかった場合は図20のステップS2010に処理を進め、文書データの送信を継続する。
ステップS1912では、情報処理装置101のCPU401は、投影面304上を携帯端末103に向かって移動しているサムネイル画像の移動を一時停止する。
ステップS1913では、情報処理装置101のCPU401は、ステップS1911でサムネイル画像のタッチ操作を受け付けたと判定した現在送信中の文書データの送信を一時停止する指示を携帯端末103へ送信する(ファイル制御手段)。携帯端末103へ文書データの送信一時停止指示を送信したあとは、図20のステップS2001へ処理を進める。
ステップS1914では、携帯端末103のCPU501は、ステップS1909で受信を開始した文書データに対する情報処理装置からの送信一時停止の指示を受け付けたか否かを判定する。文書データの送信一時停止指示を受け付けたと判定した場合はステップS1915に処理を進める。文書データの送信一時停止指示を受け付けたと判定しなかった場合は文書データの受信を継続し、図20のステップS2012に処理を進める。
ステップS1915では、携帯端末103のCPU501は、ステップS1914で現在受信中の文書データの、情報処理装置101からの送信一時停止指示を受け付けたと判定した場合は当該文書データの受信を中止する。文書データの受信を一時停止した後は図20のステップS2011へ処理を進める。
図23は、図22に示すサムネイル画像を送信した後の処理を示す図である。具体的には図19のステップS1911における処理であり、図23では携帯端末103−1に移動中のサムネイル画像に対するユーザのタッチ操作を検知している。そしてタッチ操作を受け付けた当該サムネイル画像の移動を一時停止している様子を示す図である。サムネイル画像の移動を一時停止するとともに、送信していたサムネイル画像に対応する文書データの携帯端末103への送信も一時停止する。尚、たとえ文書データが即座に携帯端末103に送信されたとしても、ユーザの操作を受け付けるため、あえて文書データ送信完了後もサムネイル画像を移動させても良い。つまり、文書データの送信とサムネイル画像の移動は同時のタイミングでなくとも良く、送信速度より遅らせてサムネイル画像を移動させてもよい。すなわちどの文書データが送信されたのか分かるように対応するサムネイル画像を移動させ、当該送信中の文書データの送信処理を途中で変更するためにユーザからの操作指示が受け付けることが出来る状態にあればよい。サムネイル画像の移動をユーザの手2201のタッチ操作により一時停止した後、さらにその後の処理をユーザの手2201の操作指示により受け付けることとなる。
次に、図20を用いて文書送信変更処理の流れについて説明する。図20は図19のフローチャートの続きである。
ステップS2001では、情報処理装置101のCPU401は、ステップS1911でタッチ操作を受け付け、移動を停止しているサムネイル画像に対して再度操作を受け付けたか否かを判定する(操作取得手段)。ここではフリック操作を受け付けることを例示するが、フリック操作でなくとも他の操作を受け付けたか否かを判定してもよい。サムネイル画像に対するフリック操作を受け付けたと判定した場合はステップS2002へ処理を進める。サムネイル画像に対するフリック操作を受け付けたと判定しなかった場合はフリック操作を受け付けたと判定するまでステップS2001の処理を繰り返す。
ステップS2002では、情報処理装置101のCPU401は、ステップS2001で受け付けたフリック操作がユーザの複数の指または手による操作であるかを操作検知部607の機能により判定する。複数のフリック操作であると判定した場合はステップS2003の文書データの一括送信処理へ処理を進める。一括送信処理については図21を用いて詳細を後述する。複数のフリック操作であると判定しなかった場合はステップS2004へ処理を進める。
ステップS2004では、情報処理装置101のCPU401は、ステップS2001で検知したフリック操作の方向をセンサ制御部605の機能により特定する。
ステップS2005では、情報処理装置101のCPU401は、ステップS2004で特定したフリック操作の方向に携帯端末103が存在するか否かを判定する。より具体的には、携帯端末103が配置された画面上の位置を図15の配置位置1503に記憶しているので、配置位置1503が示す画面上の座標の範囲に携帯端末103が配置されていることが分かる。そして、ステップS2004で画面におけるフリック操作の方向が特定されているので、そのベクトルの方向と配置位置1503が示す範囲とが重なる箇所が少なくとも一部あるか否かを判定する。これらが重なるのであれば、フリック操作された方向に携帯端末103が存在すると判定する。フリック操作の方向に携帯端末103が存在すると判定した場合には、ステップS2008に処理を進める。フリック操作の方向に携帯端末103が存在すると判定しなかった場合には、ステップS2006に処理を進める。
ステップS2006では、情報処理装置101のCPU401は、ステップS2005でフリック操作の方向に携帯端末103が存在しないと判定した場合には、文書データの送信をキャンセル処理であるとする。そして現在送信を一時停止している文書データの送信をそのままキャンセルする(ファイル制御手段)。
ステップS2007では、情報処理装置101のCPU401は、ステップS2004で特定したフリック操作の方向にサムネイル画像を移動させる。
図24は、ステップS2007のサムネイル画像の移動の様子を示す図である。図24では、ユーザの手2201によるサムネイル画像がもともと投影されていたサムネイル画像領域1003の方向へのフリック操作を検知し、サムネイル画像をサムネイル画像領域1003の方向に移動させている。同時にフリック操作を検知した結果、ユーザがフリック操作をおこなったサムネイル画像領域1003の方向には携帯端末103が存在しないと判定し、文書データの送信をキャンセルしている。つまり、サムネイル画像を移動させて文書データの送信をキャンセルしたことが見た目で分かるようになり、かつユーザは直感的な操作で文書データの送信をキャンセルすることが可能となる。つまり、たとえユーザが送信すべき文書データを間違えてしまったとしても、入力装置を用いたりせず投影面上で送信をキャンセルし、本来送信すべきだった文書データのサムネイル画像を即座に選択、送信可能な効果を奏する。
ステップS2008では、情報処理装置101のCPU401は、ステップS2005でフリック操作の方向に携帯端末103があると判定された場合に、当該方向に存在する携帯端末103の接続先情報を取得する(接続先情報取得手段)。取得先は図15の接続先管理テーブル1500である。より具体的には、画面におけるフリック操作のベクトルの方向と重なっている箇所があると判定された配置位置1503のレコードを接続先管理テーブル1500で特定し、このレコードが備える接続先情報1502を取得する。
ステップS2009では、情報処理装置101のCPU401は、ステップS2008で取得した接続先情報1502が、文書データの送信を中止した送信先の携帯端末103と同一の携帯端末の接続先情報か異なる接続先情報かを判定する。取得した接続先情報1502が当初文書データを送信していた携帯端末103の接続先情報とは異なると判定した場合は、ステップS2010へ処理を進める。取得した接続先情報1502が当初文書データを送信していた携帯端末103の接続先情報とは異なると判定しなかった場合、つまり接続先情報1502が同一であると判定した場合は図18のステップS1219に処理を進める。ステップS1219へ処理を進めると、送信を中止していた携帯端末103に再度文書データを送信する。
ステップS2010では、情報処理装置101のCPU401は、ステップS2008で取得した接続先情報1502が示す携帯端末103に対して、送信を中止していた文書データを送信する(ファイル制御手段)。
ステップS2011では、携帯端末103のCPU501は、ステップS2010で情報処理装置から送信された文書データを受信したか否かを判定する。文書データを受信したと判定した場合はステップS2012へ処理を進める。文書データを受信したと判定しなかった場合はステップS2013へ処理を進める。
ステップS2012では、携帯端末103のCPU501は、ステップS2011で情報処理装置から受信した文書データをフラッシュメモリ514に保存する。本実施形態では受信した文書データを保存しているが、受信した文書データを表示してもよい。すなわち、フリック操作されたサムネイル画像に対応する文書データを、フリック操作された方向にある携帯端末103に表示する実施形態であってもよい。この場合には、受信した文書データを携帯端末103のタッチパネル510に表示する。図19のステップS1914で、最初のフリック操作による情報処理装置からの文書データ受信中に、送信中止指示を受け付けなかった場合も受信した文書データをフラッシュメモリ514に保存する。
ステップS2013では、携帯端末103のCPU501は、文書データを受信し保存したステップS2012の実行結果、または文書データを受信しなかったステップS2011の実行結果を情報処理装置に送信する。
ステップS2014では、情報処理装置101のCPU401は、ステップS2013で携帯端末103から送信された実行結果を受信する。
ステップS2015では、情報処理装置101のCPU401は、ステップS2014で実行結果を受信すると、文書データの送信先である携帯端末103の配置位置1503にサムネイル画像が到着したか否かを判定する。サムネイル画像の現在の位置と文書データの送信先である携帯端末103の配置位置1503とを比較し、サムネイル画像が配置位置1503に入ったら(触れたら)、到着したと判定する。サムネイル画像が到着したと判定した場合には、ステップS2016に処理を進める。サムネイル画像が到着したと判定しなかった場合、つまりサムネイル画像がまだ到着していない場合には、到着するまでステップS2105を繰り返し実行する。
ステップS2016では、情報処理装置101のCPU401は、到着したサムネイル画像をフェードアウトする。つまりサムネイル画像を非表示にする。こうすることでユーザに対して文書データの送信が完了したことを認識させることができる。また、ステップS2005でフリック操作方向に携帯端末103が存在しない場合は文書データの送信はキャンセルされる。そのため文書データの送信がキャンセルされたことを携帯端末103が無い方向にサムネイル画像を移動させフェードアウトさせることにより認識させることが出来る。フェードアウトはサムネイル画像が携帯端末103に到着次第徐々に透過して非表示にしてもよいし、到着次第、透過させずにすぐに非表示にしてしまってもよい。また、文書データの送信をキャンセルした場合はフリック操作方向に携帯端末103がないため、送信キャンセル処理を実行した際にサムネイル画像を非表示にしてもよい。
ステップS2017では、情報処理装置101のCPU401は、センサ制御部605の機能により投影面304上に投影された送信終了ボタンの押下を検知したか否かを判定する。図25においては、すなわち文書送信画面1700が備える送信終了ボタン2501に対してユーザのタッチ操作を検知したか否かで送信終了ボタン2501が押下されたか否かを判定する。送信終了ボタンの押下を検知したと判定した場合はステップS2018に処理を進める。送信終了ボタンの押下を検知したと判定しなかった場合は図18のステップS1212へと処理を進める。
ステップS2018では、情報処理装置101のCPU401は、文書送信画面1700の投影を終了させ、ステップS901と同様に商品説明画面1000をプロジェクタ423に投影させて、投影面304に表示する。以上により文書送信変更処理を終了する。
図25は、送信を中止した文書データのサムネイル画像に対して再度フリック操作を受け付けたあと、当初の送信先の携帯端末103−1とは別の携帯端末103−2に文書データの送信先を切り替えて送信しているステップS2010の様子を示す図である。この処理により、ユーザは投影面304上で直感的な操作により文書データの送信先を容易に切り替えることが可能となる。つまり、たとえユーザが文書データの送信を間違えて選択したとしても、直感的かつ簡便な操作で送信先を即座に変更可能な効果を奏する。
次に、第2の実施形態について説明を行う。第2の実施形態における一括送信処理の流れについて、図21に示すフローチャートを用いて説明する。第1の実施形態では、フリック操作の方向と、当該方向の先に携帯端末103が存在するか否かによって、携帯端末103への文書データの送信処理を変更する仕組みについて説明を行った。第2の実施形態では、フリック操作、もしくはその他の操作により、当初の携帯端末103への送信処理は継続させつつ、別の携帯端末にも当該送信中の文書データを送信可能となる。以下、この説明を行う。
第2の実施形態は、第1の実施形態の図20に示すステップS2003の一括送信処理の詳細な説明である。よって、システム構成、ハードウェア構成、機能構成、図20以外の各種フローチャート、データテーブル、画面例については第1の実施形態で説明した通りであるため説明を省略する。
図21のステップS2101では、情報処理装置101のCPU401は、図20のステップS2002で、サムネイル画像に対するフリック操作が複数の指もしくは手でなされた操作かどうかを判定する。複数の指または手によるフリック操作であった場合に、当該サムネイル画像を投影面304上に存在する携帯端末すべてに一括で送信するか、一部の携帯端末に送信するかの指示を受け付ける。一括送信指示を受け付けたと判定した場合はステップS2102に処理を進める。一括送信指示を受け付けたと判定しなかった場合はステップS2103に処理を進める。
ステップS2102では、情報処理装置101のCPU401は、ステップS2101で一括送信指示を受け付けた場合、投影面304上に存在する全ての携帯端末103の接続先情報を取得する。より具体的には接続先管理テーブル1500に記憶されている接続先情報を全て取得する。このとき、投影面304上に接続先管理テーブル1500に記憶されていない携帯端末103が存在している場合には、図12の処理を行い接続先情報と携帯端末103の位置を記憶してもよい。投影面304上に存在する携帯端末103の全ての接続先情報を取得するとステップS2106に処理を進める。
ステップS2103では、情報処理装置101のCPU401は、ステップS2101で一括送信指示を受け付けたと判定しなかった場合に、一括ではなく選択送信であると判定し、選択送信指示を受け付ける。
ステップS2104では、情報処理装置101のCPU401は、サムネイル画像に対応する文書データの送信先とする、携帯端末103の選択を受け付ける。送信先携帯端末103の選択は、ユーザの投影面上におけるタッチ操作やフリック操作等のジェスチャを検知して受け付けても良いし、投影面304上にボタンや選択肢を備えてその押下を検知することにより受け付けてもよい。すなわち投影面304上に存在する携帯端末103のうち、どの携帯端末に文書データを送信するのかが判断できればその選択方法はどの方法を用いても良い。
ステップS2105では、情報処理装置101のCPU401は、ステップS2104で選択を受け付けた携帯端末103の接続先情報を図15の接続先管理テーブル1500から取得する。
ステップS2106では、情報処理装置101のCPU401は、接続先管理テーブル1500から取得した接続先情報が示す携帯端末103に対して、文書データを送信する。より具体的には、ステップS2101で一括送信指示を受け付けた場合はステップS2102で取得した投影面304上の全ての携帯端末103に対して文書データを一括で送信する(ファイル制御手段)。また、ステップS2103で選択送信処理を受け付けた場合は、ステップS2104で選択を受け付けた携帯端末103に対して文書データを送信する。本実施形態では、当初の送信処理、つまり図18のステップS1219の送信処理は継続しつつ、他の携帯端末103に文書データを送信する例を想定している。しかし、当初の送信処理はキャンセルし、当初の送信先とは別の複数の携帯端末103に文書データを送信しても良い。文書データの送信とともに、文書データに対応するサムネイル画像の移動も開始する。その際に送信先となっている携帯端末の数だけサムネイル画像をコピーし、それぞれの携帯端末103に向かって移動させるとよい。
ステップS2107では、携帯端末103のCPU501は、情報処理装置101から送信された文書データを受信したか否かを判定する。文書データを受信したと判定した場合はステップS2108へ処理を進める。文書データを受信したと判定しなかった場合は文書データを受信するまでステップS2107の処理を繰り返す。尚、ステップS2107は、図19のステップS1915の処理の続きである。
ステップS2108では、携帯端末103のCPU501は、情報処理装置101から受信した文書データをフラッシュメモリ514に保存する。本実施形態では、受信した文書データを保存するが、受信した文書データを携帯端末103のタッチパネル510に表示しても良い。
ステップS2109では、携帯端末103のCPU501は、ステップS2108の実行結果を、文書データを送信してきた情報処理装置101に送信する。
ステップS2110では、情報処理装置101のCPU401は、携帯端末103から実行結果を受信する。
ステップS2111では、情報処理装置101のCPU401は、文書データの送信とともに移動を開始したサムネイル画像が携帯端末103の配置位置に到着したか否かを判定する。当該配置位置にサムネイル画像が到着したと判定した場合はステップS2112へ処理を進める。サムネイル画像が到着したと判定しなかった場合は、到着するまでステップS2111の処理を繰り返す。
ステップS2112では、情報処理装置101のCPU401は、サムネイル画像をフェードアウトする。つまり、サムネイル画像を段々透過させて非表示にする。ここではサムネイル画像の非表示により文書データの送信が完了したことを分かりやすくしているため、文書データの非表示の仕方はフェードアウト処理に限らない。
ステップS2113では、情報処理装置101のCPU401は、文書送信画面1700が備える送信終了ボタン1701の押下を、センサ制御部605の機能により検知したか否かを判定する。すなわち、投影面304に投影された文書送信画面1700において、送信終了ボタン1701に対するタッチ操作を検知したか否かを判定する。送信終了ボタン1701に対する押下を検知したと判定した場合には、ステップS2114に処理を進める。送信終了ボタン1701に対する押下を検知していないと判定した場合には、図18のステップS1212に処理を戻す。
図26は、図21の文書データ一括送信処理の様子を示す図である。まず、サムネイル画像に対するフリック操作を受け付け、サムネイル画像に対応する文書データを携帯端末103−1に送信すると共にサムネイル画像を携帯端末103−1の方向に移動させる。その後再度サムネイル画像に対してユーザの両手2601による複数のフリック操作を受け付け、携帯端末103−1と携帯端末103−2に対して当該文書データを一括送信する。一括送信と共にサムネイル画像をコピーし、携帯端末103−1と携帯端末103−2の配置位置の方向にコピー元とコピー先の2つのサムネイル画像を移動させる。尚、本実施形態ではユーザの両手(複数の手)によるフリック操作を受け付けたが、単数のフリック操作を一度に何度も受けつけたことにより一括送信処理を実行しても良い。
このように、ユーザは文書データを携帯端末103−1に送信中に、直感的な操作で追加して別の携帯端末103−2に文書データを容易に送信可能となる。さらに、一度送信指示済みの文書データの送信をキャンセルし、画面を切り替えて文書データのファイルをさらに再選択し、送信するというユーザの手間を軽減する効果を奏する。尚、第1の実施形態及び第2の実施形態では文書データの送信指示をフリック操作を受け付けることにより行ったが、操作はフリック操作に限らず投影面304で受け付け可能なジェスチャであればよい。
以上説明したように、本実施形態によれば携帯端末に対する投影データの送信処理中に、当該データの送信処理を別の処理に切り替えることの可能な効果を奏する。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するため(実行可能とするため)のコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。