以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の実施形態における情報処理システムのシステム構成の一例を示す図である。情報処理システムは、情報処理装置100と投影撮像装置102とを含む。情報処理装置100は、投影撮像装置102と通信可能に接続されており、更にディスプレイ410と入力デバイス409とも通信可能に接続されている。図1では、これらの装置は有線で接続されているが、無線であってもよい。尚、図1のシステム上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置100は、オペレーティングシステムを搭載する汎用的な装置である。情報処理装置100は、情報処理装置100に接続された各種デバイスに対して各種動作を実行するよう指示を行う。
投影撮像装置102は、デジタルカメラ421(撮影部)と赤外線センサ422とプロジェクタ423(投影部)とを備える装置である。情報処理装置100からの指示に応じてプロジェクタ423で投影をし、投影された机上等の投影面をデジタルカメラ421で撮像し、また赤外線センサ422で投影面におけるユーザの手の動きや物体の位置を認識する。
投影撮像装置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つの装置を内包しており、これらがそれぞれ情報処理装置100と通信可能に接続されている。本実施形態においては、情報処理装置100と投影撮像装置102とが異なる筺体であるが、同一の筐体であってもよい。すなわち、投影撮像装置102に更に情報処理装置100を内包してもよい。
次に図3を用いて、本実施形態における投影撮像装置102とユーザとの位置関係について説明する。投影撮像装置102は、机上303に設置される。本実施形態では机を挟んで二人のユーザがいる。銀行窓口で商品説明を行うテラー301と、商品説明を受ける顧客302である。
テラー301は、入力デバイス409を操作して情報処理装置100に画面の表示指示を行うと、情報処理装置100からプロジェクタ423に対して当該画面の投影指示が送信される。プロジェクタ423はこれを受けると反射鏡207に向かって左右を反転させた画面を投影する。これは、反射鏡207で反射することにより、投影面304に投影される像が左右反転してしまうからである。こうすると、投影面304に指示した画面が投影される。画面を左右に反転させる処理は、情報処理装置100が行ってもよいし、プロジェクタ423が行ってもよい。また投影面304は、投影される光が見やすいよう模様のない白い面であることが望ましい。
プロジェクタ423から照射された光が反射鏡207で図3の破線の矢印が示すような方向に反射されると、その光が投影面304に投影される。この光によって表現される画面を見て、テラー301が顧客302に商品説明を行う。本実施形態では、このようにテラー301と顧客302とが机を挟んで位置しており、それぞれが投影された画面を見ながら操作していく形態を前提として説明を行う。
図4は、情報処理装置100及び投影撮像装置102のハードウェア構成の一例を示す図である。
CPU401は、システムバス404に接続される各デバイスやコントローラを統括的に制御する。
また、ROM402あるいは外部メモリ411(記憶手段に相当する)には、CPU401の制御プログラムであるBIOS(Basic Input /Output System)が記憶されている。更には、オペレーティングシステムプログラム(以下、OSという。)や、情報処理装置100の実行する機能を実現するために必要な各種プログラム等も記憶されている。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に動作を実行させる。
本発明の情報処理装置100が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ411(記憶手段に相当する)に記憶されており、必要に応じてRAM403にロードされることによりCPU401によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ411に格納されている。
次に、図5を用いて情報処理装置100のモジュール構成について説明する。なお、図5のモジュール構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置100は機能部として、記憶部501と、表示制御部502と、投影制御部503と、撮像制御部504と、センサ制御部505とを備える。また、座標変換部506と、操作検知部507と、領域情報検出部508と、位置判定部509と、マスク処理部510とを備える。
記憶部501は、後述する各種テーブルの情報や各種画面を構成する情報を記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。
表示制御部502は、情報処理装置100と通信可能に接続されたディスプレイ410の表示を制御するための機能部である。表示制御部502から画面等の表示指示がなされると、ビデオコントローラ406を介してディスプレイ410に表示指示が送信される。そして、ディスプレイ410はこの指示を受信すると、指示に従って画面等を表示する。
投影制御部503は、情報処理装置100と通信可能に接続されたプロジェクタ423の投影を制御するための機能部である。投影制御部503から画面等の投影指示がなされると、表示制御部502と同様にビデオコントローラ406を介してプロジェクタ423に投影指示が送信される。そして、プロジェクタ423はこの指示を受信すると、指示に従って画面等を現実空間に投影する。
撮像制御部504は、情報処理装置100と通信可能に接続されたデジタルカメラ421の撮像を制御するための機能部である。撮像制御部504から投影面304の撮像指示が出されると、汎用入出力コントローラ405を介してデジタルカメラ421に撮像指示がなされる。デジタルカメラ421はこの指示を受信すると、撮像を行い、撮像により生成された画像データを情報処理装置100に送信する。撮像制御部504は、これを受け取り、画像データを左右反転させた上で記憶部501が外部メモリ411等に記憶する。前述したとおり、デジタルカメラ421は反射鏡207に写った像を撮像するため左右が反転している。これを補正するために、記憶部501で画像データを記憶する前に、撮像制御部504がこの画像データを左右反転する。
センサ制御部505は、情報処理装置100と通信可能に接続された赤外線センサ422から送信される、投影面304における現実空間の情報(物体の有無や位置等)を受信するための機能部である。赤外線センサ422が検出した現実空間の情報は、赤外線センサ422から情報処理装置100に対して逐一送信される。センサ制御部505はこれを受信し、後述する座標変換部506に渡す。
座標変換部506は、センサ制御部505が受信した現実空間の情報に含まれる、投影面304にある物体の位置を示す座標値を変換するための機能部である。座標変換部506は、この座標値を投影面304に投影された画面における座標値に変換する。すなわち、赤外線センサ422で検知した現実空間の物体が、情報処理装置100が管理する画面のどの座標値に該当するのかを、この座標変換部506を用いて特定する。尚、座標変換の方法は従来技術を用いるため詳細な説明は省略する。
操作検知部507は、ユーザからの操作を検知するための機能部である。情報処理装置100に接続された入力デバイス409を通じて送信されるユーザからの指示を検知したり、投影面304に投影された画面でユーザが行った指示を検知したりする。後者の指示の検知は、投影面304において検知した物体の座標値を座標変換部506で変換することにより画面上のどのボタンが押下されたのかを検知したり、その物体の座標の連続した動きを検知して、画面上での画像の移動指示を検知したりする。
領域情報検出部508は、領域情報の有無を検出する機能部である。ここでいう領域情報とは、個人情報などの特定の情報が含まれている領域や、投影面上にあるマスク処理を解除するための領域(以下、マスク解除領域という。)のことである。この機能部により、個人情報などの特定の情報が、投影する画像等のデータに含まれているか否か、投影面上にマスク解除領域(所定領域)の設定がなされているか否か等を検知することが可能となる。個人情報を含む領域やマスク解除領域が検出できた場合は、その領域の座標を後述するマスク処理部510に渡す。
位置判定部509は、ドラッグ操作などで移動させた、個人情報を含む領域を切り出した画像データ(以下、個人情報データという。)の座標値と、外部メモリ411に記憶されたマスク解除領域の座標値とを比較し、マスク解除領域と個人情報データの位置関係を判定する機能部である。ここで言う位置関係とは、マスク解除領域内に特定のデータの領域が重なっているか否か、といった位置関係のことを示す。
マスク処理部510は、領域情報検出部508から受信した座標と、操作検知部507で検知したユーザからの操作により、個人情報データにマスク処理を行ったり、マスク処理を解除したりする機能部である。また、ユーザからの操作だけでなく、自動でのマスク処理も可能とする。その場合は、個人情報データをドラッグ操作などでマスク解除領域に移動させた場合に、マスク解除領域内にマスク処理された個人情報データがあるか否かを位置判定部509で判定し、その判定結果によってマスクの処理や解除を行う。
次に、マスク処理文書投影画面1000において操作を受け付ける処理の流れについて、図6に示すフローチャートを用いて説明する。
まず、ステップS601では、情報処理装置100のCPU401は、テラー301からの指示に応じて外部メモリ411等に記憶された申込書データの選択を受け付ける。申込書データは、投影面304に投影したい申込書や商品説明資料などの画像データや文書データのことである。
ステップS602では、情報処理装置100のCPU401は、ステップS601でテラー301から選択指示を受け付けた申込書データを、図8の申込書情報管理テーブル800を用いて外部メモリ411等から取得する。より具体的には、情報処理装置100はステップS601で選択された申込書データに対応するレコードを申込書情報管理テーブル800で特定し、当該レコードの申込書データ保存場所802が示す保存場所に保存されている申込書データを取得する。申込書情報管理テーブル800については後述する。
図8に示す申込書情報管理テーブル800は、外部メモリ411に記憶され、投影面304に表示する申込書を管理するためのデータテーブルである。申込書情報管理テーブル800は、申込書ID801と、申込書データ保存場所802と、個人情報領域位置803とを備える。申込書ID801は、外部メモリ411に記憶された申込書データごとに割り振られる一意な識別情報を示す。申込書データ保存場所802は、申込書データの保存場所を示す。個人情報領域位置803は、個人情報を含む領域(以下、個人情報領域という。)の座標を示す。尚、本実施形態では申込書データを一例に説明を行うが、申込書データに限らず、テキストデータや文書データや画像データといった申込書データ以外のデータ(投影データ)であってもよい。
ステップS603では、情報処理装置100のCPU401は、領域情報検出部508の機能により、選択された申込書データの中に個人情報が含まれているか否かを判定する。より具体的には、情報処理装置100は、ステップS601で選択された申込書データに対応するレコードを申込書情報管理テーブル800で特定する。そして、特定したレコードの個人情報領域位置803に座標が格納されている場合には、ステップS604に処理を進める。特定したレコードの個人情報領域位置803に座標が格納されていない場合にはステップS606に処理を進める。
ステップS604では、情報処理装置100のCPU401は、選択された申込書データの中の個人情報領域の位置を、申込書情報管理テーブル800を用いて取得する(記憶手段)。より具体的には、情報処理装置100は選択された申込書データに対応するレコードを申込書情報管理テーブル800で特定し、当該レコードの個人情報領域位置803が示す個人情報領域の位置座標を取得する。
ステップS605では、情報処理装置100のCPU401は、S604で取得した個人情報領域にマスク処理を行う(マスク処理手段)。より具体的には、ステップS604で特定した個人情報領域位置803に対して個人情報が閲覧できないように処理を行う。例えば、不透明な黒い画像(以下、マスクデータという。)を個人情報領域位置803に重畳する。マスク処理を行うと、CPU401はマスク処理を行った座標を図9のマスク情報管理テーブル900に書き込む。マスク情報管理テーブル900については後述する。尚、本実施形態では、マスクデータを黒い画像としたが、黒い画像によるマスク処理に限らず、白い画像や図表でマスク処理を行ったり、テキストデータの入れ替えによってマスク処理を行ったり、画像に限らず様々な方法でマスク処理を行ってもよい。
図9のマスク情報管理テーブル900は、外部メモリ411に記憶され、個人情報領域にマスク処理をおこなったマスクデータを管理するためのデータテーブルである。マスク情報管理テーブル900は、マスクID901と、申込書ID902と、マスク処理位置903とを備える。マスクID901は、マスク処理により追加されたマスクデータに対応して割り振られる一意な識別情報を示す。申込書ID902は、マスク処理が行われた申込書データの申込書ID801を示す。マスク処理位置903は、マスクデータの座標及び当該マスクデータによってマスク処理された個人情報データ座標を示す。
ステップS606では、情報処理装置100のCPU401は、図10に示すようなマスク処理文書投影画面1000をプロジェクタ423に投影させて、投影面304に表示する(投影制御手段)。このとき、ミラーリング機能を用いて、ディスプレイ410にも同じ画面が表示されてもよいし、マルチモニタ機能を用いて、ディスプレイ410には画面を操作するためのマニュアルや説明すべきポイントを表示させてもよい。以下、プロジェクタ423から投影面304に画面を投影する場合についても同様である。
マスク処理文書投影画面1000は、マスク処理済みの申込書データを投影面304に投影している様子の一例を示す図である。マスク処理文書投影画面1000には、マスクデータの重畳によりマスク処理された個人情報領域である個人情報データ1001と、マスク解除領域1002とが配置されている。マスク処理された個人情報データ1001は、黒い画像のマスク処理が行われた、申込書データ内の個人情報領域であり、移動させるに当たって画像としてマスク処理済の個人情報領域を切り出したデータである。マスク解除領域1002は、マスク処理文書投影画面1000の顧客側に近い位置に配置され、マスク処理した個人情報データ1001のマスクを解除できる領域である。尚、マスク解除領域の位置や大きさは、マスク処理文書投影画面1000が示すマスク解除領域1002の位置や大きさに限らないし、マスク解除領域の数も複数存在してもよい。
ステップS607では、情報処理装置100のCPU401は、投影面304上にあるユーザの手(オブジェクト)を、センサ制御部505の機能により検知したか否かを判定する。ユーザの手を検知したと判定した場合にはステップS608に処理を進める。ユーザの手が検知されないと判定した場合には、ユーザの手を検知するまでステップS607を繰り返す。
ステップS608では、情報処理装置100のCPU401は、センサ制御部505の機能で検知したユーザの手の位置を、座標変換部506で座標値に変換し、投影面304上のどの位置にあるのかを特定する。変換したユーザの手の位置の座標値から、申込書データの中のどの個人情報領域が指定されているのかを判定し、ユーザの手が指示する移動対象の個人情報領域を特定する。尚、本実施形態では検知対象としてユーザの手を一例に説明を行うが、ユーザの手に限らず、検知する対象は本や書類や下敷き、個人情報領域が他から見えないように盾にできるもの等、ユーザの手以外の物体であってもよい。そして、ステップS608の処理が完了したら、図7のステップS701に処理を進める。
図11は、マスク処理文書投影画面1000でユーザの手1101により、移動する個人情報データ1001を特定する様子の一例を示す図である。前述したように、まずユーザは、投影面304に投影されたマスク処理文書投影画面1000に含まれる、マスク処理された個人情報データ1001の近くに手を近づける。すると、情報処理装置100は、まずユーザの手をセンサ制御部505の機能により検知し、座標変換部506でユーザの手の位置を座標値に変換する。ユーザの手の座標値と個人情報領域位置803の座標から、ユーザが指示している個人情報領域を特定する。本実施形態では、マスク処理文書投影画面1000に含まれる個人情報領域の数を1つとしているが、申込書データに含まれるマスク処理された個人情報領域は複数あってもよい。また、個人情報領域を特定する際は、図11のように個人情報領域の近くで個人情報領域を手で囲うようにしてもよいし、図18のように個人情報領域を指して直接特定してもよい。図18について、詳細は後述する。
次に、マスク処理文書投影画面1000において操作を受け付ける処理の流れについて、図7に示すフローチャートを用いて説明する。図7に示すフローチャートは、図6に示すフローチャートの続きである。
ステップS701では、情報処理装置100のCPU401は、操作検知部507の機能によりユーザの手が移動しているか否かを検知し、個人情報領域を切り出した画像データである個人情報データの移動指示であるか否かを判定する(移動指示受付手段)。ステップS608で検知したユーザの手を個人情報領域近傍で移動させるという動作を、個人情報データの移動指示であると判定する。個人情報データの移動指示であると判定した場合はステップS702に処理を進める。個人情報データの移動指示がないと判定した場合は移動指示であると判定するまでステップS701の処理を繰り返す。尚、ステップS607で検知したユーザの手が投影面304上で検知できなくなった場合、すなわちユーザが手を引っ込めた場合にはステップS607に処理を戻す。もしくは、本一連の処理を終了してもよい。
ステップS702では、情報処理装置100のCPU401は、ステップS701で検知した個人情報データの移動指示に応じてステップS608で特定した個人情報領域から切り出した画像データである個人情報データとマスクデータとを移動する(移動手段)。より具体的には、ステップS608で特定した個人情報領域を、個人情報領域位置803の座標を用いて申込書データから画像データとして切り取る。申込書データが文書データであれば、一度申込書データをキャプチャして画像データにし、この画像データから個人情報領域を切り取ればよい。この場合には、元の申込書データに存在する個人情報領域には、申込書データの背景色と同色のマスク処理を施すとよい。これにより、個人情報データの移動に伴いマスクデータも移動しても、マスクデータによって隠ぺいされていた個人情報が表示されることを抑止できる。そして、ユーザの手の移動に応じて、個人情報データの位置を示す座標と、個人情報データに重畳するマスクデータの位置を示す座標とを示すマスク処理位置903を更新する。これにより切り取った個人情報データ及び切り取った個人情報領域に重畳しているマスクデータを、ユーザの手の移動に応じて共に動かす。動きに伴い個人情報データとマスクデータの座標が図9のマスク情報管理テーブル900で更新されるので、マスク情報管理テーブル900に書き込まれる座標の変化によって個人情報データとマスクデータとを移動させる処理を行う。
図12は、マスク処理文書投影画面1000でユーザの手により個人情報データを移動させる様子の一例を示す図である。個人情報データを移動させると、個人情報領域に相当する個人情報データが切り出されるので、個人情報領域には何も表示されない。そして、ユーザがマスク解除領域1002に向かって手を移動させると、それに伴い個人情報データとマスクデータとをマスク解除領域1002に向かって移動させる。
図13は、マスク処理文書投影画面1000でユーザの手により個人情報データを移動させる様子の一例を示す図である。ユーザの手1101のように両手で個人情報領域を囲うような形を作った場合、右手と左手から特定可能な特徴点(例えば、右手及び左手の第三関節)をそれぞれ直線1201で結ぶ。そして、マスク処理文書投影画面1000の顧客側に引き寄せるようにユーザの手1101を動かすと、直線1201も同時に動く。その直線1201の移動に伴い、直線1201と接触する個人情報データを直線1201の移動方向(つまりマスク処理文書投影画面1000の顧客側)に移動させる。尚、本実施形態ではユーザの手の位置から作った直線を基準に個人情報データを移動させたが、直線に限らず基準とするものは、ユーザの手の位置から作る矩形であったり、個人情報データを指で指す1つの点であったり、基準とするものは直線でなくともよい。
ステップS703では、情報処理装置100のCPU401は、領域情報検出部508と、位置判定部509の機能により、個人情報データがマスク解除領域1002内に移動したか否かを判定する。より具体的にいうと、ユーザの移動指示により移動した個人情報データの座標値と、外部メモリ411に記憶されたマスク解除領域のマスク解除領域位置1401が示す座標値とを比較する。その比較結果により、マスク解除領域内に個人情報データが収まっている、もしくは重なっているか否かを判定する。個人情報データがマスク解除領域内にあると判定した場合は、ステップS703に処理を進める。個人情報データがマスク解除領域内に無いと判定した場合は、ステップS702に処理を戻す。
図14のマスク解除領域テーブル1400は、外部メモリ411に記憶され、マスク解除領域を管理するためのデータテーブルである。マスク解除領域テーブル1400は、マスク解除領域位置1401を備える。マスク解除領域位置1401は、マスク処理を解除する領域の座標を示す。
ステップS704では、情報処理装置100のCPU401は、マスク処理部510の機能により、個人情報データ上にあるマスクデータを非表示にすることで、マスク解除領域内にある個人情報データのマスク処理を解除する(マスク解除手段)。マスクデータは非表示にしてもよいし、透過させることで個人情報データを閲覧可能にしてもよい。
図15は、マスク処理文書投影画面1000でマスク解除領域1002内にある個人情報データ1503のマスクが解除された様子を示す図である。前述したように、個人情報データの座標とマスク解除領域の座標を位置判定部509の機能により照らし合わせ、個人情報データがマスク解除領域内にあると判定されると、個人情報データにかけられていたマスクが解除される。マスク処理文書投影画面1000の顧客側に個人情報データを引き寄せ、ユーザの手で個人情報データを囲ったままマスクを解除することで、他人に見られることなくユーザが個人情報データを確認できる。特に、顧客の対面にいるテラーから遠い位置で確認できるので、顧客が安心して自身の個人情報を確認することが可能となる。また、マスク処理文書投影画面1000の顧客側に個人情報データを引き寄せることによって、ユーザのより見やすい位置で、個人情報データを確認することができる。
ステップS705では、情報処理装置100のCPU401は、ユーザの手が個人情報データを囲っているか否かを判定する。すなわち、センサ制御部505の機能により、投影面304にあるユーザの手が、マスク解除された個人情報データを囲っているか否か検知する。ユーザの手が個人情報データを囲う形になっていないことを検知し、個人情報データが囲われていないと判定した場合には、ステップS706へ処理を進める。また、ユーザの手が投影面上にない、または個人情報データの近傍に存在しないことを検知した場合も個人情報データが囲われていないと判定し、ステップS706へ処理を進める。
ユーザの手が個人情報データを囲ったままの状態であることを検知し、個人情報データが囲われていると判定した場合には、囲いが外れていることを検知するまでステップS705を繰り返す。
ステップS706では、情報処理装置100のCPU401は、マスク処理部510の機能により、マスクが解除された個人情報データ、つまりマスク情報管理テーブル900が有する座標が示す個人情報データにマスク処理を行う。より具体的には、マスク処理位置903が示す座標にある、ステップS704で非表示にしたマスクデータを再表示する。透過していた場合には、不透明に変更する。こうすることで、再度個人情報データに対するマスク処理を行う。
ステップS707では、情報処理装置100のCPU401は、マスク処理された個人情報データとマスクデータとを、移動元の個人情報領域の位置に移動させる。方法としては、マスク解除領域から個人情報領域位置803より取得した座標へ、個人情報データとマスクデータとをユーザの手の動きに関わらず自動的に移動させてもよい。また、ステップS704でユーザの手が個人情報データを囲っていないと判定した時に、瞬時に申込書内の元の座標の位置に切り替わってもよい。個人情報領域に個人情報データとマスクデータとが戻ってきたら、個人情報データは非表示にする。一方、マスクデータは非表示にしない。こうして、ステップS606で投影されたときの画面と同じ状態に戻す。
図16では、個人情報データを囲っていたユーザの手が離れ、再びマスク処理された個人情報データ1001が、申込書内の元の個人情報領域位置803に自動的に戻る様子を示す図である。前述したように、個人情報データ1001は図16のように自動で動いて元の位置へ戻るようにしてもよいし、投影面304に投影された画面が切り替わるように、個人情報データが瞬時に元の位置に戻ったように表示させてもよい。その場合は、ユーザの手が離れた瞬間、移動していた個人情報データを非表示にし、移動前の個人情報領域位置に個人情報データを表示させることで、個人情報データが一瞬で元の個人情報領域位置に戻ったように表示させることができる。
次に、第2の実施形態について説明行う。第1の実施形態では、個人情報データのマスクを解除した後にユーザの手が投影面から離れると、個人情報データに対するマスク処理が再度行われ、申込書データ内の個人情報領域位置に個人情報データを自動的に戻す処理を行った。
第2の実施形態では、個人情報データのマスクを解除した後に、ユーザの手によって個人情報データを再び動かす移動指示を受付け、ユーザの手の動きに従って個人情報データを移動させる。そして、個人情報データがマスク解除領域から出た場合に、個人情報データに対して再度マスク処理を行う。ユーザが確認し終えた個人情報データをユーザの意思で元に戻すことによって、個人情報の扱いにおける安心感が高まり、かつ個人情報を最後まで他者に除き見られないようユーザ自身で配慮することができる。以下、この説明を行う。
第2の実施形態におけるマスクデータ移動処理の流れについて、図17に示すフローチャートを用いて説明する。図17に示すフローチャートは、図6に示すフローチャートの続きであり、図7に示すフローチャートの変形例である。
ステップS1701では、情報処理装置100のCPU401は、個人情報データのマスクおよび移動の処理を終了する指示を受け付けたか否かを判定する。終了指示を受け付けたと判定した場合は本一連の処理を終了する。終了指示を受け付けていないと判定した場合はステップS1702へ処理を進める。尚、終了指示の判定方法としては、投影面上に終了ボタンを設けてそれを押下してもよいし、ステップS607で検知したユーザの手が投影面304上で検知できなくなった場合、すなわちユーザが手を引っ込めた場合を終了指示としてもよい。
ステップS1702では、情報処理装置100のCPU401は、操作検知部507の機能によりユーザの手が移動しているか否かを検知することにより、個人情報データの移動指示であるか否かを判定する。ステップS608で検知したユーザの手を個人情報領域近傍で移動させるという動作を、個人情報データの移動指示であると判定する。個人情報データの移動指示であると判定した場合はステップS1703に処理を進める。個人情報データの移動指示がないと判定した場合はステップS1701に処理を戻し、終了指示を受け付けるか、移動指示を受け付けるまでステップS1701とステップS1702を繰り返す。
ステップS1703では、情報処理装置100のCPU401は、ステップS1702で検知した個人情報データの移動指示に応じて、ステップS608で特定した個人情報領域から切り出した画像データである個人情報データと、マスクデータとを移動する。尚、個人情報データの移動処理に関する詳細な説明は、第1の実施形態(ステップS702)で説明した通りである。また、ユーザの手の移動に応じて、個人情報データの位置を示す座標と、個人情報データに重畳するマスクデータの位置を示す座標とを示すマスク処理位置903を更新する。これにより切り取った個人情報データ及び切り取った個人情報領域に重畳しているマスクデータを、ユーザの手の移動に応じて共に動かす。
ステップS1704では、情報処理装置100のCPU401は、操作検知部507の機能により、ユーザの手が移動しているか否かを検知することにより、ステップS1703で移動させた個人情報データの移動指示が終了したか否かを判定する。ユーザの手が移動していないことを検知し、移動指示が終了したと判定した場合は、ステップS1705に処理を進める。移動指示が終了していないと判定した場合には、ステップS1703に処理を戻し、移動を続ける。
ステップS1705では、情報処理装置100のCPU401は、領域情報検出部508と、位置判定部509の機能により、個人情報データがマスク解除領域1002内に移動したか否かを判定する。より具体的にいうと、ユーザの移動指示により移動した個人情報データの座標値と、外部メモリ411に記憶されたマスク解除領域のマスク解除領域位置1401が示す座標値とを比較する。その比較結果により、マスク解除領域内に個人情報データが収まっている、もしくは重なっているか否かを判定する。個人情報データがマスク解除領域内にあると判定した場合は、ステップS1707に処理を進める。個人情報データがマスク解除領域内に無いと判定した場合は、ステップS1706に処理を進める。
ステップS1706では、情報処理装置100のCPU401は、マスク処理された個人情報データとマスクデータとを、移動元の個人情報領域の位置に移動させる。個人情報領域位置803より取得した座標へ、個人情報データとマスクデータとをユーザの手の動きに関わらず自動的に移動させてもよいし、瞬時に申込書内の元の座標の位置に切り替わってもよい。個人情報領域に個人情報データとマスクデータとが戻ってきたら、個人情報データは非表示にする。一方、マスクデータは非表示にしない。こうして、ステップS606で投影されたときの画面と同じ状態に戻す。この処理により、途中で個人情報データから手を離した場合は個人情報データを移動させる前の状態に戻し、移動させるところから再び処理をやり直す。
ステップS1707では、情報処理装置100のCPU401は、ユーザの手が個人情報データを囲っているか否かを判定する。すなわち、センサ制御部505の機能により、投影面304にあるユーザの手が、マスク処理された個人情報データを囲っているか否か検知する。ユーザの手が個人情報データを囲ったままの状態であることを検知し、個人情報データが囲われていると判定した場合には、ステップS1708へ処理を進める。個人情報データを囲う形になっていないことを検知し、個人情報データが囲われていないと判定した場合には、ステップS1709へ処理を進める。また、ユーザの手が投影面上にない、または個人情報データの近傍に存在しないことを検知した場合も個人情報データが囲われていないと判定し、ステップS1709へ処理を進める。
ステップS1708では、情報処理装置100のCPU401は、マスク処理部510の機能により、個人情報データ上にあるマスクデータを非表示にすることで、マスク解除領域内にある個人情報データのマスク処理を解除する。マスクデータは非表示にしてもよいし、透過させることで個人情報データを閲覧可能にしてもよい。
ステップS1709では、情報処理装置100のCPU401は、操作検知部507の機能により、ユーザの手が移動しているか否かを検知することにより、ステップS1708でマスク解除処理済みである個人情報データの移動指示であるか否かを判定する。ステップ1708でマスクが解除された個人情報データ近傍で、ユーザの手を移動させるという動作を個人情報データの移動指示であると判定する。個人情報データの移動指示であると判定した場合はステップS1710に処理を進める。個人情報データの移動指示がないと判定した場合はステップS1707へ処理を戻す。
ステップS1710では、情報処理装置100のCPU401は、ステップS1709で検知した個人情報データの移動指示に応じてステップS1708でマスクを解除した個人情報データを移動する。ステップS1708でマスクが解除された個人情報データ、つまりマスク情報管理テーブル900が有する座標が示す個人情報データをユーザの手の移動に応じて共に移動させる。また、ユーザの手の移動に応じて、個人情報データの位置を示す座標と、個人情報データに重畳するマスクデータの位置を示す座標とを示すマスク処理位置903を更新する。これにより個人情報データ及び切り取った個人情報領域に重畳しているマスクデータを、ユーザの手の移動に応じて共に動かす。
ステップS1711では、情報処理装置100のCPU401は、操作検知部507の機能により、ユーザの手が移動しているか否かを検知することにより、ステップS1709で移動させた個人情報データの移動指示が終了したか否かを判定する。ユーザの手が移動していないことを検知し、移動指示が終了したと判定した場合は、ステップS1707へ処理を戻し、再度ステップS1707から処理を繰り返す。移動指示が終了していないと判定した場合には、ステップS1712に処理を進める。
ステップS1712では、情報処理装置100のCPU401は、領域情報検出部508と、位置判定部509の機能により、個人情報データがマスク解除領域1002外に移動したか否かを判定する。より具体的にいうと、ユーザの移動指示により移動した個人情報データ1001の座標値と、外部メモリ411に記憶されたマスク解除領域1002のマスク解除領域位置1401が示す座標値とを比較する。その比較結果により、マスク解除領域1002外に個人情報データ1001が移動したか否かを判定する。個人情報データ1001がマスク解除領域1002外にあると判定した場合は、ステップS1713に処理を進める。個人情報データ1001がマスク解除領域1002内に収まっている、もしくは重なっていると判定した場合にはステップS1710に処理を戻し、移動を続ける。
ステップS1713では、情報処理装置100のCPU401は、マスク処理部510の機能により、マスクが解除された個人情報データ、つまりマスク情報管理テーブル900が有する座標が示す個人情報データにマスク処理を行う。より具体的には、マスク処理位置903が示す座標にある、ステップS1708で非表示にしたマスクデータを再表示する。透過していた場合には、不透明に変更する。こうすることで、再度個人情報データに対するマスク処理を行う。マスク処理を行った後、ステップS1703へ処理を戻し、マスク解除領域外に移動した後の個人情報データの移動を続ける。本一連の処理の実行により、個人情報データからユーザの手が離れた場合に、マスク解除領域内とマスク解除領域外で、処理を切り替えることを可能とする。より具体的には、マスク解除領域内で個人情報データ近傍からユーザの手が離れたことを検知した場合は、個人情報データはマスク解除領域内に留まる。また、マスク解除領域外で個人情報データ近傍からユーザの手が離れたことを検知した場合は、個人情報データを申込書データ内の元の位置へ戻す。この切り替えにより、マスク解除領域外でユーザが個人情報データからうっかり手を離しても、個人情報データを申込書データ内の元の位置に戻すことができる。また、ユーザが個人情報データを手元へ移動させ確認する際に、個人情報データ近傍にあるユーザの手が障害となり見づらくなってしまう場合も考えられる。その場合はマスク解除領域内であれば個人情報データから手を離しても個人情報データはマスク解除領域内に留まるため、個人情報データから手を離して確認することができる。これにより、ユーザの見やすい位置で情報を確認させることを可能とする。尚、マスク解除領域内で個人情報データから手を離しても、個人情報データを手で囲わなければマスクが解除されないようにすることで、他者からの覗き見も抑止できる。
図18では、第2の実施形態における、マスク解除後に再びマスク処理された個人情報データ1001を、申込書データ内の元の個人情報領域位置に、ユーザの手の人差し指1801の動きに応じて戻す様子を示す図である。まず、ステップS1711で受け付けたユーザからの移動指示に応じて個人情報データ1001をマスク解除領域外に移動させる。そして外部メモリ411に記憶された申込書情報管理テーブル800の個人情報領域位置803が示す、申込書データ内の元の個人情報領域位置に戻す。図18では、マスク解除領域1002から個人情報データ1001を直線の軌跡を描いてまっすぐ移動させているが、個人情報データの戻し方は、直線に限らず、弧を描いたり、直角を描くような動きをしたり、直線の軌跡に限らず移動させてもよい。
図19では、マスク解除後に再びマスク処理された個人情報データ1001を、個人情報データ1001を囲う形を保ったユーザの手1101の動きに応じて、申込書データ内の元の個人情報データの位置に戻す様子を示す図である。まず、ステップS1711で受け付けたユーザからの移動指示に応じて個人情報データ1001をマスク解除領域外に移動させる。そして外部メモリ411に記憶された申込書情報管理テーブル800の個人情報領域位置803が示す、申込書データ内の元の個人情報領域位置に戻す。前述したように、図19ではマスク解除領域1002から個人情報データ1001を直線の軌跡を描いてまっすぐ移動させているが、個人情報データの戻し方は、直線に限らず、弧を描いたり、直角を描くような動きをしたり、直線の軌跡に限らずに移動させてもよい。このように、個人情報データを手で囲ったまま、ユーザの指示で申込書内の元の位置に個人情報データを戻すことで、個人情報の扱いにおける安心感が高まり、かつ個人情報を最後まで他者に除き見られないようユーザ自身で配慮するこができる。
次に、第3の実施形態について説明を行う。第1と第2の実施形態では、どちらもマスク解除領域に個人情報データを移動させ、かつ個人情報データがユーザの手で囲われているとマスクを解除する処理を行った。
第3の実施形態では、投影データを投影する投影面の近傍に存在する人の位置や方向を特定し、個人情報データを手で囲う際に、人の存在する方向に対して遮蔽できているか否かを判定する処理を行う。人の存在する方向に対して遮蔽できていると判定するとマスクを解除する。マスクを解除するユーザ以外の操作者や閲覧者等のユーザの位置関係と、その方向に対しての遮蔽を判定することで、ユーザが上手く遮蔽できていない場合に個人情報が見えてしまう可能性を低くする効果を奏する。
第3の実施形態におけるユーザ方向設定処理の流れについて、図20に示すフローチャートを用いて説明する。尚、第3の実施形態では、これ以降の説明において投影面304の近傍にいるテラー301と顧客302とその他の顧客、及び閲覧者のこと全て含めて「ユーザ」と称し、その中でも投影面304上で操作を行うユーザのことを「操作者」と称する。
図20のステップS2001では、情報処理装置100のCPU401は、テラー301からの指示に応じて外部メモリ411等に記憶された設定画面を起動するための選択を受け付けると設定画面を起動し投影面304に投影する。ここで起動する設定画面は情報処理装置100の包括的な設定画面であり、当該画面から各種の細かな設定を選択できるとよい。
ステップS2002では、情報処理装置100のCPU401は、ステップS2001で起動した設定画面の中から、更に管理設定画面を外部メモリ411から読みだして投影面304に投影する。
図22は管理設定画面2200の一例を示す図である。管理設定画面2200は、指示画面2201と指定画面2202と終了ボタン2205とを備える。指示画面2201は管理設定画面2200においてユーザに操作の指示や説明を表示する画面である。本実施形態では指示画面2201では、管理設定画面2200が投影されている投影面304の近傍にいる人(ユーザ)の方向をタッチ操作により指定するよう指示する。図22では投影面304におけるテラー301の存在する方向の指定を、顧客302のタッチ操作により受け付けている。顧客302の手2203により指定を受け付けると、投影面上のどの位置で指定を受け付けたかを明示するために、指定を受け付けた位置に図形2204を投影させるとよい。終了ボタン2205の押下を受け付けると、管理設定画面2200における指定受付と管理設定画面2200の投影を終了する。当該画面における指定を受け付けることにより、投影面304の近傍にいるユーザの方向を投影面上において設定可能とする。尚、管理設定画面2200はユーザの方向を設定する方法の一例であり、具体的な方向を画面に入力したり、特定の選択肢を予め設けておいてプルダウン形式で選択したり、ユーザの存在する方向を設定できるのであればどの方法を用いても良い。
図20のステップS2003では、情報処理装置100のCPU401は、投影面304上に進入した操作者の手(オブジェクト)を、センサ制御部505の機能により検知する。
ステップS2004では、情報処理装置100のCPU401は、ステップS2003で検知した操作者の手が、投影面304上のどの位置に存在しているかを座標変換部506の機能により座標に変換して特定する。
ステップS2005では、情報処理装置100のCPU401は、ステップS2004で特定した操作者の手の座標から、投影面304上の指定エリアで所定時間手の位置に変更がないかを判定する。指定エリアとは図22の指定画面2202のことを指す。つまり、操作者の手が指定画面2202で所定時間静止していることにより、ユーザの存在方向を指定している動作であると判定する。指定エリアで所定時間手の位置に変更がないと判定した場合はステップS2006へと処理を進める。指定エリアで所定時間手の位置に変更なしと判定しなかった場合は、ステップS2005の処理を繰り返す。
ステップS2006では、情報処理装置100のCPU401は、ステップS2005で操作者の手の動作が停止した位置、つまり操作者の手が指定した位置がテラー301方向の指定か否かを判定する。テラー301方向の指定か否かを判定するにあたっては、投影面304上でのテラー領域を座標で予め登録しておき、その領域の指定を受け付けることによりテラー301の方向であると判定してもよい。その場合は顧客領域も同様に予め登録しておく。あるいは、不図示の選択画面を管理設定画面2200上に投影させ、指定を受け付けた方向がテラー301方向の指定であるか、もしくは顧客302方向の指定であるかの選択を受け付けてもよい。テラー301の方向の指定を受け付けたのか顧客302の方向を受け付けたのか判定できれば良いため、ここでの判定における方法はどの方法でもよい。ステップS2005で受け付けた指定がテラー301方向の指定受付であると判定した場合はステップS2007へと処理を進める。ステップS2005で受け付けた指定がテラー301方向の指定受付であると判定しなかった場合はステップS2008へと処理を進める。
ここで、図21のユーザ管理テーブル2100と、方向管理テーブル2105について説明する。ユーザ管理テーブル2100は管理設定画面2200で投影面304の近傍にいるユーザは誰か、ユーザの指定を受け付けた方向はどこか、その他指定を受け付けた座標等を管理するテーブルである。ユーザ管理テーブル2100は、ユーザID2101、ユーザ指定座標2102、ユーザ方向2103、ユーザ対象2104を備える。ユーザID2101は投影面304上で指定を受け付けた方向に存在するユーザに対して割り振られる一意な識別情報を示す。ユーザ指定座標2102は指定画面2202において指定を受け付けた座標を示す。ユーザ方向2103は、ユーザ指定座標から方向管理テーブル2105を用いて特定した、ユーザが存在する方向を示す。ユーザ対象2104は、特定した方向に存在するユーザがテラー301であるか顧客302、もしくはその他のユーザであるかを示す。テラー301であるか顧客302であるかの判定は、図20のステップS2006からステップS2010で判定する。方向管理テーブル2105は、予め設定された所定の座標値が、投影面304上におけるどの方向を示すかを管理するテーブルである。方向管理テーブル2105は、基準座標2106と方向2107とを備える。基準座標2106は、指定画面2202で指定を受けつける領域をそれぞれの方向ごとに区切るために、領域内を座標に変換した際の座標値の範囲を表したものである。方向2107は、基準座標2106で示されている座標がどの方向に属しているかを示す。
ステップS2007では、情報処理装置100のCPU401は、ステップS2006でテラー301の存在する方向を指定したものであると判定し、受け付けた指定位置を記憶してテラー方向を特定する。より具体的には、受け付けた指定位置を座標変換部506の機能により投影面304上の座標値に変換する。そして方向管理テーブル2105をもとに、当該座標値がどの方向に属する座標かを参照し、指定を受け付けたテラー301のいる方向を特定してユーザ管理テーブル2100に記憶する。
ステップS2008では、情報処理装置100のCPU401は、ステップS2005でユーザの手の動作が停止した位置、つまりユーザの手が指定した位置が顧客302が存在する方向の指定か否かを判定する。判定方法はステップS2006で既に説明したので説明を省略する。ユーザ方向の指定受付であると判定した場合はステップS2009へと処理を進める。ユーザ方向の指定受付であると判定しなかった場合はステップS2011へと処理を進める。
ステップS2009では、情報処理装置100のCPU401は、ステップS2008で顧客302の存在する方向を指定したものであると判定し、受け付けた指定位置を記憶して顧客302が存在する方向を特定する。より具体的には、受け付けた指定位置を座標変換部506の機能により投影面304上の座標値に変換する。そして方向管理テーブル2105をもとに、当該座標値がどの方向に属する座標かを参照し、指定を受け付けた顧客302の存在する方向を特定してユーザ管理テーブル2100に記憶する。
ステップS2010では、情報処理装置100のCPU401は、ステップS2005でユーザの手の動作が停止した位置、つまりユーザの手が指定した位置がテラー301と顧客302以外の人が存在する方向の指定か否かを判定する。判定方法はステップS2006の処理と同様に、予めユーザの領域を座標によって設けて管理しておくと良い。例えば、テラー領域と顧客領域、及びその他の顧客領域(もしくは閲覧者領域)といった操作するユーザの人数分の領域を複数分管理しておく方法がある。または、不図示の選択画面を管理設定画面2200上に投影させ、顧客1、顧客2、顧客3という複数のユーザの選択肢からその他のユーザ(顧客2、もしくは顧客3)を選択する方法によりその他ユーザであることを判定してもよい。その他ユーザが存在する方向の指定受付であると判定した場合はステップS2009の処理を繰り返す。その他ユーザが存在する方向の指定受付であると判定しなかった場合はステップS2011へと処理を進める。
ステップS2011では、情報処理装置100のCPU401は、投影制御部503の機能により、投影面304上に操作者特定終了画面(不図示)を投影する。
ステップS2012では、情報処理装置100のCPU401は、管理設定画面2200上の終了ボタン2205が押下されたか否かを判定する。終了ボタン2205が押下されたと判定した場合は、管理設定画面2200におけるユーザ方向設定処理を終了する。終了ボタンが押下されたと判定しなかった場合はステップS2003へと処理を戻す。
図20のユーザ設定処理により、投影面304の近傍に存在するユーザと当該ユーザの存在する方向が記憶される。
次に、第3の実施形態における、投影面304の近傍に存在する人の方向に対して、遮蔽できているか否かによってマスクの解除を制御する処理を図23と図24のフローチャートを用いて説明する。図23のフローチャートは図6のフローチャートの変形例である。また、図24のフローチャートは図23のフローチャートの続きであり、図7のフローチャートの変形例である。
図23に示すステップS2301からステップS2307は、図6に示すステップS601からステップS607と同様であるので、説明を省略する。
ステップS2308では、情報処理装置100のCPU401は、ステップS2307でユーザの手が検知されたと判定した場合に、検知された手の進入方向(投影面304上の右側、左側、前側、後ろ側、あるいはその複数の組み合わせ)を特定する。
ステップS2309では、情報処理装置100のCPU401は、ステップS2308で特定した進入方向をもとに、手を動かしているユーザをユーザ管理テーブル2100から特定する。例えば、進入方向が右方向であった場合はまずユーザ管理テーブル2100のユーザ方向2103から参照する。ユーザ方向2103に右方向で記憶されているレコードを参照することで、右方向にいるのはユーザID001の「teller」であり、投影面304上に進入している手はテラー301であることがわかる。
ステップS2310では、情報処理装置100のCPU401は、投影面304上にある手が指定する、移動対象の個人情報領域を特定する。より具体的には、センサ制御部505の機能で検知したユーザの手の位置を、座標変換部506で座標値に変換し、投影面304上のどの位置にあるのかを特定する。変換したユーザの手の位置の座標値から、申込書データの中のどの個人情報領域が指定されているのかを判定し、ユーザの手が指示する移動対象の個人情報領域を特定する。尚、本実施形態では検知対象としてユーザの手を一例に説明を行うが、第1の実施形態、第2の実施形態と同じく検知対象は個人情報領域を遮蔽できるものであれば手以外の物体であってもよい。そして、ステップS2301の処理が完了すると、図24のステップS2401に処理を進める。
次に、マスク処理文書投影画面1000において操作を受け付ける処理の流れについて、図24に示すフローチャートを用いて説明する。図24に示すフローチャートは図23に示すフローチャートの続きである。
ステップS2401では、情報処理装置100のCPU401は、操作検知部507の機能によりユーザの手が移動しているか否かを検知し、個人情報領域を切り出した画像データである個人情報データの移動指示であるか否かを判定する(移動指示受付手段)。ステップS2310で検知したユーザの手を個人情報領域近傍または個人情報領域内で、投影面304をタッチしたまま移動させるという動作を、個人情報データの移動指示であると判定する。個人情報データの移動指示であると判定した場合はステップS2402に処理を進める。個人情報データの移動指示がないと判定した場合は移動指示であると判定するまでステップS2401の処理を繰り返す。尚、ステップS2307で検知したユーザの手が投影面304上で検知できなくなった場合、すなわちユーザが手を引っ込めた場合にはステップS2307へ処理を戻す。
ステップS2402では、情報処理装置100のCPU401は、ステップS2401で検知した個人情報データの移動指示に応じて、ステップS2310で特定した個人情報データとマスクデータとを移動する(移動手段)。より具体的には、ステップS2310で特定した個人情報領域を、個人情報領域位置803の座標を用いて申込書データから画像データとして切り取る。申込書データが文書データであれば、一度申込書データをキャプチャして画像データにし、この画像データから個人情報領域を切り取ればよい。この場合には、元の申込書データに存在する個人情報領域には、申込書データの背景色と同色のマスク処理を施すとよい。これにより、個人情報データの移動に伴いマスクデータも移動しても、マスクデータによって隠ぺいされていた個人情報が表示されることを抑止できる。そして、ユーザの手の移動に応じて、個人情報データの位置を示す座標と、個人情報データに重畳するマスクデータの位置を示す座標とを示すマスク処理位置903を更新する。これにより切り取った個人情報データ及び切り取った個人情報領域に重畳しているマスクデータを、ユーザの手の移動に応じて共に動かす。動きに伴い個人情報データとマスクデータの座標が図9のマスク情報管理テーブル900で更新されるので、マスク情報管理テーブル900に書き込まれる座標の変化によって個人情報データとマスクデータとを移動させる処理を行う。
ステップS2303では、情報処理装置100のCPU401は、領域情報検出部508と、位置判定部509の機能により、個人情報データがマスク解除領域1002内に移動したか否かを判定する。より具体的にいうと、ユーザの移動指示により移動した個人情報データの座標値と、外部メモリ411に記憶されたマスク解除領域のマスク解除領域位置1401が示す座標値とを比較する。その比較結果により、マスク解除領域内に個人情報データが収まっている、もしくは重なっているか否かを判定する。個人情報データがマスク解除領域内にあると判定した場合は、ステップS2404に処理を進める。個人情報データがマスク解除領域内にあると判定しなかった場合は、ステップS2402に処理を戻す。
ステップS2404では、情報処理装置100のCPU401は、投影面304の近傍に存在する人(操作者以外のユーザ)の位置(ユーザ指定座標2102)を、ユーザ管理テーブル2100から読み出す。つまり、ステップS2309で投影面304上を操作している操作者がどのユーザであるかを特定しているため、ユーザ管理テーブル2100を参照して特定した操作者以外のユーザの位置をここで読み出す。
ステップS2405では、情報処理装置100のCPU401は、座標変換部506の機能により、投影面304上にある操作者の手の現在の座標を取得する。取得した手の座標から複数の特徴点を取得することで、特徴点を結んだ線の形から同時に個人情報領域が手で囲われているか否かも分かるとよい。
ステップS2406では、情報処理装置100のCPU401は、現在個人情報データを操作している操作者以外の方向に存在するユーザと、個人情報データの座標値との間に操作者の手が存在するか否かを判定する。操作者と個人情報データの座標値との間に操作者の手が存在するか否かの判定方法については図25を用いて説明する。現在個人情報データを操作している操作者以外の方向に存在するユーザと、個人情報データの座標値との間に操作者の手が存在すると判定した場合はステップS2407に処理を進める。操作者以外の方向に存在するユーザと、個人情報データの座標値との間に操作者の手が存在すると判定しなかった場合は、間に操作者の手が存在すると判定するまでステップS2406の処理を繰り返す。
図25は、操作者以外のユーザの存在する方向に対して遮蔽されている際のマスク解除の様子を示す図である。図25においては、個人情報データ1503がマスク解除領域1002内に収まる位置まで移動している。かつテラー301が存在する位置と個人情報データ1503の間に操作者の手2501が存在し、個人情報データ1503を囲って遮蔽することにより個人情報データ1503のマスクが解除されている。テラー301が存在する方向に対して遮蔽できているか否かは、まず操作者の手2501から図のように特定可能な複数の特徴点を取得してそれぞれ直線で結ぶ。さらに、個人情報データ1503の中心点2502と、図20のステップS2006でテラー301の方向指定を受け付け、図21ユーザ管理テーブル2100のユーザ指定座標2102に格納したテラー301の座標2503とを直線2504で結ぶ。操作者の手の特徴点を結んだ直線のいずれかと直線2504が図25のように交差する場合は、操作者以外のユーザと個人情報データとの座標値との間にユーザの手が存在し遮蔽できていると判定する。尚、図25では操作者の腕と手の第三関節、及び指の第1または第2関節あたりを直線で結ぶことにより操作者以外の全方向に対してコの字型に遮蔽できている。しかし必ずしもその形態の遮蔽ではなくともよく、直線2504と操作者の手の特徴点を結んだ直線とが交差し、テラー301の存在する方向に対して遮蔽できていればよい。そのため図25様な場合はコの字型の遮蔽でなく、ユーザの手の第3関節と指の第1関節あたりを結んだ直線で遮蔽できていてもマスクを解除してよい。また、個人情報データ1503の中心点2502に限らず、個人情報データ1503の頂点を用いてもよいし、個人情報データ1503内の任意の座標を用いてもよい。
本実施形態では、前述した通り、個人情報データの中心点とユーザの位置とを結ぶ直線と、操作者の手の複数の特徴点を結ぶ直線とが交差する場合に、操作者の手により個人情報データがユーザの存在する方向から遮蔽できていると判定している。しかしながら、個人情報データから離れた位置において遮蔽してしまうと、個人情報データが操作者以外のユーザから閲覧できてしまうという問題がある。そのため、更に、操作者の手の特徴点が個人情報データの中心点から所定距離内に存在するか否か(操作者の手が個人情報データの近傍に存在するか否か)を判定することが望ましい。ここで用いる個人情報データの中心点は、個人情報データの頂点を用いてもよいし、個人情報データ内の任意の座標を用いてもよい。また、操作者の手の特徴点は複数存在するが、いずれの特徴点を用いてもよい。
ステップS2407では、情報処理装置100のCPU401は、マスク処理部510の機能により、個人情報データ上にあるマスクデータを非表示にすることで、マスク解除領域内にある個人情報データのマスク処理を解除する(マスク解除手段)。マスクデータは非表示にしてもよいし、透過させることで個人情報データを閲覧可能にしてもよい。
ステップS2408では、情報処理装置100のCPU401は、ステップS2406と同じく操作者の手が操作者以外のユーザと個人情報データの座標値との間に存在しているか、遮蔽の状態が継続しているか否かを判定する。すなわち、センサ制御部505の機能により、投影面304にある操作者の手が、マスク解除された個人情報データを囲っているか否か検知して判定する。操作者以外の方向に存在するユーザと個人情報データの座標値との間に操作者の手が存在する、つまり遮蔽が継続していると判定した場合は、マスク解除を継続する。すなわち操作者の手が投影面304上から検知されないまたは遮蔽の状態が途切れたと判定されるまでステップS2408の処理を繰り返す。操作者以外の方向に存在するユーザと、個人情報データの座標値との間に操作者の手が存在すると判定しなかった場合、つまり遮蔽状態が途切れたと判定した場合は、ステップS2409へ処理を進める。
操作者の手が個人情報データを囲う形になっていないことを検知し、個人情報データが囲われていないと判定した場合には、ステップS2409へ処理を進める。また、操作者の手が投影面上にない、または個人情報データの近傍に存在しないことを検知した場合も個人情報データが囲われていないと判定し、ステップS2409へ処理を進める。操作者の手が個人情報データを囲ったままの状態であることを検知し、個人情報データが囲われていると判定した場合には、囲いが外れていることを検知するまでステップS2408を繰り返す。
ステップS2409では、情報処理装置100のCPU401は、マスク処理部510の機能により、マスクが解除された個人情報データ、つまりマスク情報管理テーブル900が有する座標が示す個人情報データにマスク処理を行う。より具体的には、マスク処理位置903が示す座標にある、ステップS704で非表示にしたマスクデータを再表示する。透過していた場合には、不透明に変更する。こうすることで、再度個人情報データに対するマスク処理を行う。
ステップS2410では、情報処理装置100のCPU401は、マスク処理された個人情報データとマスクデータとを、移動元の個人情報領域の位置に移動させる。方法としては、マスク解除領域から個人情報領域位置803より取得した座標へ、個人情報データとマスクデータとを操作者の手の動きに関わらず自動的に移動させてもよい。また、操作者の手が個人情報データを囲っていないと判定した時に、瞬時に申込書内の元の座標の位置に切り替わってもよい。個人情報領域に個人情報データとマスクデータとが戻ってきた際には、個人情報データは非表示にする。一方、マスクデータは非表示にしない。こうして、ステップS2306で投影されたときの画面と同じ状態に戻す。
図26は、人の存在する方向に対して遮蔽できていない際の様子を示す図である。図25と同様に、操作者の手2601から特定した操作者の関節等の特徴点を直線で結ぶ。そして個人情報データ1001の中心点2602と、ユーザ管理テーブル2100のユーザ指定座標2102に格納されているテラー301の指定座標2603とを直線2604で結ぶ。図26においては、操作者の片手の特徴点を結んだ直線のいずれかと直線2604とが交差していない。そのため操作者以外のユーザと個人情報データの座標値との間にユーザの手が存在しておらず遮蔽できていない、と判定され個人情報データ1001のマスクは解除されない。ちなみに、テラー301、もしくはその他のユーザが投影面304に対して後ろ側の方向に存在し、その存在を管理設定画面で設定していた場合、同じくユーザの指定座標と個人情報データの中心点2602を直線で結ぶ。当該不図示の直線とユーザの手2601の関節の直線とが交差していれば図26において後ろ側の方向に対してはユーザの手2601で遮蔽できているため、個人情報データ1001のマスクは解除される。このように、ただマスク処理されたデータを囲うだけでなく、投影面304の近傍に存在する周囲の人(ユーザ)に対して遮蔽できているか否かを判断することで、他人からの情報閲覧に対する防止策の精度をより高めることが可能となる。
以上、説明したように、本発明によれば、マスク処理された情報を他人に閲覧されないようにするとともに、ユーザが見やすい位置で情報を表示させることのできる効果を有する。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するため(実行可能とするため)のコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。