(58)【調査した分野】(Int.Cl.,DB名)
前記投影制御手段は、前記第1領域と前記第2領域とが重複している場合は前記読取対象物が移動されていないと判断し、前記第1領域と前記第2領域とに重複がない場合は、前記読取対象物が移動されたと判断することを特徴とする請求項1または2に記載の情報処理装置。
前記投影制御手段は、前記第1領域と前記第2領域とが完全一致している場合に前記読取対象物が移動されていないと判断し、前記第1領域と前記第2領域とが完全一致していない場合は、前記読取対象物が移動されたと判断することを特徴とする請求項3に記載の情報処理装置。
前記投影制御手段は、前記第1領域と前記第2領域との少なくとも一部が重複している場合は、前記読取対象物が移動されていないと判断し、前記第1領域と前記第2領域とに重複がない場合には、前記読取対象物が移動されたと判断することを特徴とする請求項3に記載の情報処理装置。
前記記憶制御手段は、前記判定手段で記憶されていないと判定された場合は、新規画像として記憶されるように制御することを特徴とする請求項11に記載の情報処理装置。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【0015】
図1は、本発明の実施形態における情報処理システムのシステム構成の一例を示す図である。情報処理システムは、情報処理装置100と投影撮像装置102とを含む。情報処理装置100は、投影撮像装置102と通信可能に接続されており、更にディスプレイ410と入力デバイス409とも通信可能に接続されている。
図1では、これらの装置は有線で接続されているが、無線であってもよい。尚、
図1のシステム上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例がある。
【0016】
情報処理装置100は、オペレーティングシステムを搭載する汎用的な装置である。情報処理装置100は、情報処理装置100に接続された各種デバイスに対して各種動作を実行するよう指示を行う。
【0017】
投影撮像装置102は、デジタルカメラ421(撮影部)とジェスチャセンサ422とプロジェクタ423(投影部)とを備える装置である。情報処理装置100からの指示に応じてプロジェクタ423で投影をし、投影された机上等の投影面をデジタルカメラ421で撮像し、また投影面上でユーザの手の動きや物体の位置を認識する。
【0018】
投影撮像装置102の外部構造及び内部構造の概要の一例について、
図2を用いて説明する。
【0019】
図2は、投影撮像装置102の正面図と右側面図である。内部構造の隠れ線は破線で表現している。投影撮像装置102は、デジタルカメラ421(撮影部)とジェスチャセンサ422とプロジェクタ423(投影部)とを格納する収納部203を備え、収納部203は底面201と左側面202aと右側面202bとで左右から挟みこんで固定している。
【0020】
また、上面204が左側面202aと右側面202bとの上部に設置され、上面204の下側にはプロジェクタ423から照射される光を反射するための反射鏡207を備える。すなわち、プロジェクタ423は第1の開口部205を通してこの反射鏡207に向けて投影できるよう、設置されている。デジタルカメラ421も同様に、反射鏡207で反射した投影面を撮像するため、デジタルカメラ421は第2の開口部206を通して反射鏡207に向けて設置されている。
【0021】
またジェスチャセンサ422は、例えば赤外線を用いた深度センサである。これはプロジェクタ423が投影した投影面上におけるユーザの手や紙文書(以下、書類という。)等の位置や動きを特定するために、ジェスチャセンサ422からこれらの物体までの距離を算出する。ジェスチャセンサ422は、近赤外線のドットパターンを現実空間に投影し、このドットの形や間隔を取得することで物体までの距離を算出する。または、赤外線光を投影し、ジェスチャセンサ422が備えるカメラによって反射した赤外線光を読み取り、赤外線光が往復した時間を算出することで距離を算出する方式であってもよい。現実空間における物体の位置や動きを取得することができれば、ジェスチャセンサ422の距離の算出方式はどのような方式であってもよいし、ジェスチャセンサ422以外のセンサを用いてもよい。また、ジェスチャセンサ422もデジタルカメラ421と同様に、第2の開口部206を通して反射鏡207に向けて設置されている。この反射鏡207に向けて赤外線を照射する。
【0022】
投影撮像装置102は以上のように大きく3つの装置を内包しており、これらがそれぞれ情報処理装置100と通信可能に接続されている。本実施形態においては、情報処理装置100と投影撮像装置102とが異なる筐体であるが、同一の筐体であってもよい。すなわち、投影撮像装置102に更に情報処理装置100を内包してもよい。
【0023】
次に
図3を用いて、本実施形態における投影撮像装置102とユーザとの位置関係について説明する。投影撮像装置102は、机上303に設置される。本実施形態では机を挟んで二人のユーザがいる。銀行窓口で商品説明を行うテラー301と、商品説明を受ける顧客302である。
【0024】
テラー301は、入力デバイス409を操作して情報処理装置100に画面の表示指示を行うと、情報処理装置100からプロジェクタ423に対して当該画面の投影指示が送信される。プロジェクタ423はこれを受けると反射鏡207に向かって左右を反転させた画面を投影する。これは、反射鏡207で反射することにより、投影面304に投影される像が左右反転してしまうからである。こうすると、投影面304に指示した画面が投影される。画面を左右に反転させる処理は、情報処理装置100が行ってもよいし、プロジェクタ423が行ってもよい。また投影面304は、投影される光が見やすいよう模様のない白い面であることが望ましい。
【0025】
プロジェクタ423から照射された光が反射鏡207で
図3の破線の矢印で示すような方向に反射されると、その光が投影面304に投影される。この光によって表現される画面を見て、テラー301が顧客302に商品説明を行う。本実施形態では、このようにテラー301と顧客302とが机を挟んで位置しており、それぞれが投影された画面を見ながら操作していく形態を前提として説明を行う。
【0026】
図4は、情報処理装置100及び投影撮像装置102のハードウェア構成の一例を示す図である。
【0027】
CPU401は、システムバス404に接続される各デバイスやコントローラを統括的に制御する。
【0028】
また、ROM402あるいは外部メモリ411(記憶手段に相当する)には、CPU401の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OSという。)や、情報処理装置100の実行する機能を実現するために必要な各種プログラム等が記憶されている。RAM403は、CPU401の主メモリ、ワークエリア等として機能する。
【0029】
CPU401は、処理の実行に際して必要なプログラム等をRAM403にロードして、プログラムを実行することで各種動作を実現するものである。
【0030】
また、汎用入出力コントローラ405は、キーボードやマウス等の入力デバイス409、更には投影撮像装置102のデジタルカメラ421やジェスチャセンサ422との入出力を制御する。これらは、USB(Universal Serial Bus)等のバス規格により接続される。
【0031】
ビデオコントローラ406は、ディスプレイ410や投影撮像装置102のプロジェクタ423等の表示装置や投影装置への表示を制御する。ディスプレイ410は例えばCRTや液晶ディスプレイである。更にビデオコントローラ406は、ディスプレイ410と投影撮像装置102のプロジェクタ423とそれぞれに対して同じ画面または異なる画面を表示及び投影指示する。これらは、いわゆるミラーリングやマルチモニタが可能である。
【0032】
メモリコントローラ407は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスクやフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ411へのアクセスを制御する。
【0033】
通信I/Fコントローラ408は、ネットワークを介して、外部機器と接続及び通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0034】
尚、CPU401は、例えばRAM403内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ410上での表示や投影撮像装置102のプロジェクタ423での投影を可能としている。また、CPU401は、ディスプレイ410上の不図示のマウスカーソル等でのユーザ指示を可能とする。更にCPU401は、投影面304に投影された画面をユーザの手でタッチすることによっても、ユーザ指示を可能とする。すなわち、ジェスチャセンサ422で検知した現実空間におけるユーザの手の座標位置に応じて、画面のボタン等が押下されたのか否かを検知し、CPU401に動作を実行させる。
【0035】
本発明の情報処理装置100が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ411(記憶手段に相当する)に記録されており、必要に応じてRAM403にロードされることによりCPU401によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ411に格納されている。
【0036】
次に
図5を用いて情報処理装置100のモジュール構成について説明する。なお、
図5の装置のモジュール構成は一例であり、用途や目的に応じて様々な構成例がある。
【0037】
情報処理装置100は機能部として、記憶部501と、表示制御部502と、投影制御部503と、撮像制御部504と、センサ制御部505と、座標変換部506と、操作検知部507と、位置判定部508と画像管理部509とを備える。
【0038】
記憶部501は、後述する各種テーブルの情報や各種画面を構成する情報を記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。
【0039】
表示制御部502は、情報処理装置100と通信可能に接続されたディスプレイ410の表示を制御するための機能部である。表示制御部502から画面等の表示指示がなされると、ビデオコントローラ406を介してディスプレイ410に表示指示が送信される。そして、ディスプレイ410はこの指示を受信すると、指示に従って画面等を表示する。
【0040】
投影制御部503は、情報処理装置100と通信可能に接続されたプロジェクタ423の投影を制御するための機能部である。投影制御部503から画面等の投影指示がなされると、表示制御部502と同様にビデオコントローラ406を介してプロジェクタ423に投影指示が送信される。そして、プロジェクタ423はこの指示を受信すると、指示に従って画面等を現実空間に投影する。
【0041】
撮像制御部504は、情報処理装置100と通信可能に接続されたデジタルカメラ421の撮像を制御するための機能部である。撮像制御部504から投影面304の撮像指示が出されると、汎用入出力コントローラ405を介してデジタルカメラ421に撮像指示がなされる。デジタルカメラ421はこの指示を受信すると、撮像を行い、撮像により生成された画像データを情報処理装置100に送信する。撮像制御部504は、これを受け取り、画像データを左右反転させた上で記憶部501が外部メモリ411等に記憶する。前述した通り、デジタルカメラ421は反射鏡207に写った像を撮像するため左右が反転している。これを補正するために、記憶部501で画像データを記憶する前に、撮像制御部504がこの画像データを左右反転する。
【0042】
センサ制御部505は、情報処理装置100と通信可能に接続されたジェスチャセンサ422から送信される、投影面304における現実空間の情報(物体の有無や位置等)を受信するための機能部である。ジェスチャセンサ422が検出した現実空間の情報は、ジェスチャセンサ422から情報処理装置100に対して逐一送信される。センサ制御部505はこれを受信し、後述する座標変換部506に渡す。
【0043】
座標変換部506は、センサ制御部505が受信した現実空間の情報に含まれる、投影面304にある物体の位置を示す座標値を変換するための機能部である。座標変換部506は、この座標値を投影面304に投影された画面における座標値に変換する。すなわち、ジェスチャセンサ422で検知した座標値が、情報処理装置100が管理する画面のどの座標値に該当するのかを、この座標変換部506を用いて特定する。尚、座標変換の方法は従来技術を用いるため詳細な説明は省略する。
【0044】
操作検知部507は、ユーザからの操作を検知するための機能部である。情報処理装置100に接続された入力デバイス409を通じて送信されるユーザからの指示を検知したり、投影面304に投影された画面でユーザが行った指示を検知したりする。後者の指示の検知は、投影面304において検知した物体の座標値を座標変換部506で変換することにより画面上のどのボタンが押下されたのかを検知したり、投影面上にある物体の矩形を検知することで、読取対象物を検知したりする。
【0045】
位置判定部508は、操作検知部507で検知した投影面上の読取対象物の位置と外部メモリ411に記憶された画像に対応して記憶される撮影位置1404とを比較して、位置が一致するか否かを判定する機能部である。
【0046】
画像管理部509は、デジタルカメラ421で撮影することにより得られた画像を管理する機能部である。既に撮影された読取対象物の撮影時の位置と撮影を行う読取対象物の位置に応じて、既に撮影により得られた画像に上書きを行ったり、新規に画像を保存する。
【0047】
以上で情報処理装置100のモジュール構成の説明を終える。
【0048】
次に
図6に示すフローチャートを用いて本発明の実施形態の一連の処理の流れを説明する。
【0049】
ステップS601では、情報処理装置100のCPU401は、ユーザからの指示に応じて外部メモリ411等に記憶された投影アプリケーションを起動する。投影アプリケーションは、後述するステップS602乃至ステップS608の各処理を実行するためのアプリケーションである。投影アプリケーションを動作させることにより、投影面304に読取対象物読取のためのボタン等を投影したり、投影面304に載置された読取対象物を撮影することで画像を取得し、得られた画像を投影面304に投影することが可能になる。本発明の実施形態では、テラー301が顧客302に対して説明を行う処理の説明は割愛する。
【0050】
ステップS602では、情報処理装置100のCPU401は、ディスプレイ410に顧客ID入力画面1600を表示させる。例えば、
図16に示す顧客ID入力画面1600には顧客ID入力欄1601と次へボタン1602が配置されている。顧客ID入力欄1601はテラー301が対応する顧客302を識別するためのIDである顧客IDを入力するための欄である。次へボタン1602は押下を受け付けることで次の処理に移すためのボタンである。
【0051】
顧客ID1701は
図17に示す顧客IDテーブル1700に格納されている。顧客IDテーブル1700には顧客ID1701と顧客名1702が対応付けて格納されており、顧客ID1701は顧客を一意に識別するIDである。顧客名1702は顧客の名前である。
【0052】
ステップS603では、情報処理装置100のCPU401は、情報処理装置100のCPU401は、顧客ID1701の入力を入力デバイス409により受け付ける。
【0053】
ステップS604では、情報処理装置100のCPU401は、次へボタン1602の押下を受け付ける。
【0054】
ステップS605では、情報処理装置100のCPU401は、メニュー画面1800をディスプレイ410に表示する。
図18に示すメニュー画面1800には、商品説明ボタン1801と読取対象物読取ボタン1802と終了ボタン1803が配置されており、入力デバイス409により選択を受け付けることで、それぞれに対応する処理を実行する。本発明の実施形態では商品説明の処理は割愛する。テラー301は顧客302に対して商品説明を終えたあと、顧客302が契約を結ぶために必要な読取対象物を読み取るための処理が読取対象物読取処理である。詳細は後述する。
【0055】
ステップS606では、情報処理装置100のCPU401は、メニュー画面の読取対象物読取ボタン1802が押下されたか否かを判定する。読取対象物読取ボタン1802が押下されたと判定した場合は処理をステップS607に進める。読取対象物読取ボタン1802が押下されないと判定した場合は処理をステップS608に進める。
【0056】
ステップS607では、情報処理装置100のCPU401は、投影面304に載置された読取対象物をデジタルカメラ421で撮影することにより読取対象物の画像を取得する読取対象物読取処理を行う。詳細は後の
図7に示すフローチャートを用いて説明を行う。
【0057】
ステップS608では、情報処理装置100のCPU401は、メニュー画面の終了ボタンが押下されたか否かを判定する。終了ボタンが押下されたと判定した場合には処理をステップS609に進め、押下されないと判定した場合には処理をステップS606に戻す。
【0058】
ステップS609では、情報処理装置100のCPU401は、ステップS601で起動した投影アプリケーションを終了する。
【0059】
以上で本発明の実施形態の一連の処理の流れの説明を終了する。
【0060】
次に
図6に示すフローチャートの読取対象物読取処理の詳細な説明を、
図7に示すフローチャートを用いて説明する。
【0061】
ステップS701では、情報処理装置100のCPU401は、投影面304に読取対象物一覧画面900をプロジェクタ423に投影させて、投影面304に表示する。読取対象物一覧画面900は、例えば住宅ローンを組むために必要な読取対象物の一覧である。読取対象物を撮影することで画像データとして情報処理装置100に取り込む。
図9に示す通り、テラー301側と顧客302側の双方に顧客302の提出が必要な読取対象物種別(本人確認書類等)の領域(以下、読取対象物種別欄)が表示されており、この読取対象物種別欄のいずれかに対するタッチ操作を検知すると、
図10に示す読取対象物読取画面1000が投影され表示される。読取対象物読取画面1000で読取対象物の読み取り、すなわちデジタルカメラ421による撮像が行われ、撮像により生成された画像データを情報処理装置100が取得する。無事に読み取りが終了すると、再び読取対象物一覧画面900に戻り、タッチ操作を検知した読取対象物の枠に読み取った画像データを表示する。例えば
図9に示すように、運転免許証欄903に対するタッチ操作を検知すると、運転免許証を読み込むために読取対象物読取画面1000が表示される。そして、顧客302が投影面304に置いた運転免許証を撮影する。撮影が完了すると、読取対象物一覧画面900に戻り、テラー301側と顧客302側の双方の運転免許証の領域に取り込んだ画像のサムネイル画像が表示される。領域に対して設定される読取対象物種別1402に対応する画像データ1403を取得してサムネイル画像を表示する。
【0062】
ステップS702では、情報処理装置100のCPU401は、上述したように読取対象物種別欄における、いずれかの読取対象物種別に対する選択を受け付ける。読取対象物種別には読取対象物種別1402が対応付けられており、選択を受け付けた読取対象物種別1402をRAM403に一時記憶する。読取対象物種別1402は読取対象物種別を一意に識別するためのIDである。
【0063】
ステップS703では、情報処理装置100のCPU401は、読取対象物読取画面1000を投影面304に投影する。読取対象物読取画面1000には、読取対象物読取ボタン1001とキャンセルボタン1002と完了ボタン1003が配置されている。読取対象物読取画面1000に読取対象物1005が載置されると、読取対象物1005の矩形を特定し、矩形に応じて撮影位置1404を投影する。これによりユーザは情報処理装置100が読取対象物1005を認識していることを把握することができる。そして、ユーザより読取対象物読取ボタン1001を押下されると投影面304を撮影する。キャンセルボタン1002が押下されるとステップS702で選択を受け付けた読取対象物種別1402に関する画像を削除する。完了ボタン1003が押下されると、撮影処理を終了し、撮影により得られた画像を運転免許証欄903に表示させる。
【0064】
ステップS704では、情報処理装置100のCPU401は、読取対象物読取画面1000上に読取対象物が置かれたか否かを判定する。本実施形態では、矩形の物体が載置されたか否かをジェスチャセンサ422によって判定する。読取対象物が置かれたか否かの判定は、一例であって、デジタルカメラ421から取得する画像の画像処理によって判定してもよい。情報処理装置100は、読取対象物が置かれないと判定した場合は処理をステップS715に進める。読取対象物が置かれたと判定した場合、処理をステップS705に進める。
【0065】
ステップS705では、情報処理装置100のCPU401は、ステップS704で投影面304上に置かれたと判定した読取対象物の位置と大きさを特定する(取得手段に相当する)。より具体的には、ジェスチャセンサ422から送られる情報に基づいて読取対象物の大きさと位置を規定する投影面304上の2点の座標を特定する。2点の座標は、
図15に示す読取対象物位置テーブル1500に格納する。読取対象物位置テーブル1500は、読取対象物位置1501を管理するテーブルである。読取対象物位置1501は、読取対象物の位置と大きさを規定する投影面304上の2点の座標を格納している。
【0066】
ステップS706では、情報処理装置100のCPU401は、ステップS705で特定した2点の座標が示す矩形を囲う枠1004を表示させる。この表示を行うことで、ユーザは情報処理装置が読取対象物を認識しているということを把握できる。
【0067】
ステップS707では、情報処理装置100のCPU401は、ステップS706で表示された読取対象物読取ボタン1001が押下されたか否かを判定する。読取対象物読取ボタン1001が押下されたと判定した場合は処理をステップS708に進める。読取対象物読取ボタン1001が押下されないと判定した場合は処理をステップS704に戻す。
【0068】
ステップS708では、情報処理装置100のCPU401は、ステップS706で表示した枠1004を非表示にするよう制御する。ここで枠1004を非表示にするのは、デジタルカメラ421で撮影する際に画像のホワイトバランスに影響を及ぼさないためである。
【0069】
ステップS709では、情報処理装置100のCPU401は、投影面304をデジタルカメラ421で撮影するよう撮影指示を行う(撮影制御手段に相当する)。
【0070】
ステップS710では、情報処理装置100のCPU401は、撮影を行っていることがわかるアニメーションを投影面304に投影する。アニメーションを投影することで、撮影中であることをユーザに認識させることができる。
【0071】
ステップS711では、情報処理装置100のCPU401は、デジタルカメラ421で撮影した画像を保存する処理である画像保存処理を行う。
【0072】
ステップS712では、情報処理装置100のCPU401は、投影面304上の読取対象物の位置と大きさを特定する。特定の方法はステップS705と同様であるので説明は省略する。2点の座標は、
図15に示す読取対象物位置テーブル1500に格納する。
【0073】
ステップS713では、情報処理装置100のCPU401は、読取対象物を撮影した時の位置から読取対象物が移動したか否かを判定する。より具体的には、ステップS702で特定した読取対象物種別1402に対応する撮影位置1404が示す矩形と、ステップS712で取得した読取対象物位置1501が示す矩形が重複するか否かを判定する。撮影位置1404が示す矩形と、ステップS712で取得した読取対象物位置1501が示す矩形が重複すると判断した場合は、読取対象物は移動していないとし処理をステップS712に戻す。撮影位置1404が示す矩形と、ステップS712で取得した読取対象物位置1501が示す矩形が重複しないと判定した場合には読取対象物が移動したと判定し、処理をステップS714に進める。重複の判断は2つの矩形が完全に一致している必要は無い。
【0074】
ステップS714では、情報処理装置100のCPU401は、ステップS711で保存処理を行った画像を画像データ1403から取得し、撮影位置1404が示す領域に投影する(投影制御手段に相当する)。例えば、
図11に示す読取対象物読取画面1000で説明する。読取対象物1005を、撮影した位置から移動させると、読取対象物1005を撮影することで得られる画像1101を撮影した位置に原寸大で投影し、表示する。そしてこのような画像1101が投影された後に、S715のようにキャンセルボタン1002と完了ボタン1003とが押下できるようになる。
【0075】
このように読取対象物が撮影した時の位置から読取対象物が移動した場合に撮影を行った読取対象物を投影することで、投影面304に投影する領域を撮影を行った領域と別に確保することなく、読取対象物を投影させ、ユーザに確認させることを可能にする。さらに、読取対象物が移動してから読取対象物の画像を投影することにより投影の視認性が向上するという効果がある。また、読取対象物が移動され保存された画像が投影された後でないと、完了ボタン1003が押下できないようにすることで、保存された画像の確認をユーザに必ず行わせることもできる。
【0076】
ステップS715では、情報処理装置100のCPU401は、読取対象物読取画面1000に配置されるボタンのいずれのボタンが押下されたかを判定する。キャンセルボタン1002が押下されたと判定した場合には処理をステップS716に進める。完了ボタン1003が押下されたと判定した場合には処理をステップS717に進める。また、何もボタンが押下されない間は処理をステップS704に処理が戻り、その後読取対象物が取り除かれると、S704でNoと判定され、S715に戻ることになる。
【0077】
ステップS716では、情報処理装置100のCPU401は、ステップS702で選択を受け付けた読取対象物種別の読取対象物種別1402に対応する画像を削除する。
【0078】
ステップS717では、情報処理装置100のCPU401は、ディスプレイ410に表示される不図示の終了ボタンが押下されたか否かを判定する。終了ボタンが押下されたと判定した場合に処理を終了させ、終了ボタンが押下されないと判定した場合に処理をステップS701に戻す。
【0079】
以上で、
図6に示すフローチャートの読取対象物読取処理の詳細な説明を終了する。
【0080】
次に
図7に示すフローチャートのS711の画像保存処理の詳細な説明を、
図8に示すフローチャートを用いて説明する。
【0081】
ステップS801では、情報処理装置100のCPU401は、デジタルカメラ421から画像を取得する。
【0082】
ステップS802では、情報処理装置100のCPU401は、ステップS801で取得した画像を外部メモリ411に保存する。
【0083】
ステップS803では、情報処理装置100のCPU401は、ステップS802で保存した画像から、読取対象物位置に相当する領域の画像を切り取る。ステップS801で取得した画像は投影面304全体を写している画像であり、読取対象物のみを写したものではない。そのためこのような処理を行うことで、読取対象物のみを写した画像を生成する。読取対象物のみの画像を取得するために、デジタルカメラ421の撮影の時点でデジタルカメラ421の撮影範囲と撮影倍率を調整し読取対象物のみを写した画像を取得してもよい。
【0084】
ステップS804では、情報処理装置100のCPU401は、ステップS803で切り取ることにより生成された画像をRAM403に保存する。
【0085】
ステップS805では、情報処理装置100のCPU401は、画像テーブル1400を参照し、ステップS702で選択した読取対象物種別1402が同一の画像のうち、撮影位置1404が重複する画像があるか否かを判定する(判定手段に相当する)。すなわち、投影面上の読取対象物の位置(領域)が重複している画像があるか否かを判定する。重複とは完全に撮影位置1404が重なっている必要はなく、一部が重複している場合であっても本発明における重複に含まれるものである。投影面上の読取対象物の位置(領域)が重複している画像があると判定した場合、処理をステップS806に進め、投影面上の読取対象物の位置(領域)が重複している画像がないと判定した場合は処理をステップS807に進める。
【0086】
具体的な例として
図12と
図13を用いて説明する。
【0087】
図12では、ステップS714で既に投影されている画像1101の位置に重複するように、再度画像1101と同様の読取対象物であって実体物である読取対象物1005を顧客302が載置する。載置されると、情報処理装置100は、読取対象物1005の位置と大きさを特定し、枠1004を投影する。テラー301が読取対象物読取ボタン1001を押下すると、投影される画像1101と枠1004を非表示にし、投影面304の撮影を行う。撮影により得られた画像を投影された画像1101に上書きを行う。このように、投影された画像1101の位置と重複する位置(既に読取対象物の撮影を行った位置)に読取対象物を載置して撮影することで、簡単に画像の上書きを行うことができる。
【0088】
図13では、ステップS714で既に投影されている画像1101の位置と異なる位置に、読取対象物1301を顧客302が載置する。載置されると、情報処理装置100は、読取対象物1005の位置と大きさを特定し、枠1004を投影する。テラー301が読取対象物読取ボタン1001を押下すると、投影される画像1101と枠1004を非表示にし、投影面304の撮影を行う。投影された画像1101と同一の読取対象物種別として、読取対象物1301を撮影することにより得られた画像を保存する。画像を保存する際には、
図14に示すようにステップS702で選択された読取対象物種別として複数枚の画像データを対応付けて記憶することができる(
図14では、読取対象物種別1402が「運転免許証」として画像データが複数枚登録されている)。例えば免許証の表面と裏面のように同一の読取対象物種別であって、複数枚の画像を読取対象物種別ごとに対応付けて保存する必要がある場合に、撮影の度に読取対象物種別の指定を受け付けることなく、簡単に対応付けて保存することが可能である。
【0089】
ステップS806では、情報処理装置100のCPU401は、ステップS805で重複していると判定した画像の画像インデックス1401に対応する画像データ1403が示す画像を上書きする(記憶制御手段に相当する)。本実施形態の上書きとは、同一のファイル名の画像を保存することを上書きとするが、画像データ1403が示す画像を削除し(削除指示に相当する)、画像データ1403を新たに保存されたファイルパスに書き換えることで上書きをしてもよい。
【0090】
ステップS807では、情報処理装置100のCPU401は、ステップS804でRAM403上に保存した画像を外部メモリ411上の適当なファイルパスに格納し保存する(新規画像として保存。記憶制御手段に相当する)。
【0091】
ステップS808では、情報処理装置100のCPU401は、
図14に示す画像テーブル1400に新たにレコードを追加する。画像テーブル1400は画像インデックス1401と、読取対象物種別1402と、画像データ1403と、撮影位置1404と、顧客ID1701を対応付けて格納する。画像インデックス1401は一意に識別するための番号であって、一番下のレコードに1を足した値を格納する。読取対象物種別1402は、ステップS702で選択を受け付けた読取対象物種別を格納する。画像データ1403は、ステップS807で画像を格納したファイルパスを保存する。撮影位置1404は、読取対象物位置1501の値を保存する。画像テーブル1400は一例であってこれに限定されない。
【0092】
以上により、
図7に示す画像保存処理の詳細な説明を終了する。
【0093】
このような処理を行うことで取り込み対象物が投影されている領域に、取り込み対象物を載置して撮影を行うと、投影されている画像に上書きを行い、取り込み対象物が投影されている領域とは別の領域に、取り込み対象物を載置して撮影を行うと、新規の画像として読取対象物種別1402に対応付けて保存を行うことを可能にする。
【0094】
そのため、ユーザは複数枚数の読取対象物を撮影する場合に、投影されている画像とは異なる領域に読取対象物を載置して撮影を行うことで次々に読取対象物の取り込みを行うことができ、取り込み結果を確認しながら撮影を行うことができる。読取結果に不具合が生じている場合にはユーザは不具合の生じている画像(投影)の上に画像に対応する読取対象物を載置して撮影指示を行うことで画像を上書きして良い結果の画像を保存することができる。このように簡単に複数ページの読取対象物を次々と撮影し、撮影結果に問題があった場合には簡単に再度撮影をし、上書き保存をすることが可能なユーザインターフェースを提供することが可能な効果を奏する。
【0095】
以上で本発明の第1の実施形態の説明を終了する。
【0096】
次に本発明の第2の実施形態の説明を開始する。
【0097】
第1の実施形態では、
図7のステップS713における判定ステップで、ステップS702で特定した読取対象物種別1402に対応する撮影位置1404が示す矩形と、ステップS712で取得した読取対象物位置1501が示す矩形とが重複するか否かを判定する際、2つの矩形が完全に重複しているか否かを判定することにより読取対象物が移動したか否かを判定していた。第2の実施形態では、このステップS713に対応する判定ステップにおいて、重複は完全一致でなくてもよく、少なくとも一部が重複しているか否かを判定し、どこも重複していないと判定された場合に、読取対象物が撮影位置1404の示す矩形から取り除かれた(すなわち読取対象物が移動した)と判定する。
【0098】
以下詳細に説明をする。なお、第1の実施形態の
図7に対応する
図19以外のハードウェア構成、機能構成、フローチャート、テーブル等は第1の実施形態と同様であるため、説明は省略する。第1の実施形態と処理の異なる
図19についてのみ説明を行う。
【0099】
ステップS1901乃至ステップS1912は、
図7のステップS701乃至ステップS712までの処理と同様であるため説明を省略する。
【0100】
ステップS1913では、情報処理装置100のCPU401は、読取対象物を撮影した時の座標エリア内から読取対象物が移動したか否かを判定する。より具体的には、ステップS1902で特定した読取対象物種別1402に対応する撮影位置1404が示す矩形(例:(X1,Y1)(X2,Y2))と、ステップS1912で取得した読取対象物位置1501が示す矩形(例:(X7,Y7)(X8,Y8))が一部でも重複するか否かで判定する。
【0101】
具体的には、以下のような条件式を用い、(X2 < X7 || X1 > X8 || Y2 < Y7 || Y1 > Y8 )の場合には、重複しないと判定し、それ以外の場合に重複すると判定することができる。なお、矩形同士の重複で判定するのみならず、撮影位置1404が示す矩形の周りに判定領域を設け、当該判定領域と読取対象物位置1501が示す矩形とが重複するか否かを判定してもよい。
【0102】
撮影位置1404が示す矩形と、ステップS1912で取得した読取対象物位置1501が示す矩形とが一部でも重複すると判定した場合には読取対象物は移動していないとして処理をステップS1912に戻す。撮影位置1404が示す矩形と、ステップS1912で取得した読取対象物位置1501が示す矩形が一部も重複していないと判定した場合には読取対象物が移動されたと判定し、処理をステップS1914に進める。
【0103】
ステップS1914乃至ステップS1917は、
図7に示すステップS714乃至ステップS717までの処理と同様であるため説明は省略する。
【0104】
以上、第2の実施形態によれば読取対象物が撮影された時の座標エリア外に移動したか否かを判定し読取対象物が座標エリア外に移動したと判定した場合に保存した画像を投影することで、撮影された位置から読み取り対象物を取り除くと撮影された画像データが投影されるという、ユーザの直観的な操作感を実現することを可能とする効果がある。
【0105】
以上説明したように、本発明の実施形態によれば、撮影した書類をユーザが適切に確認できるよう投影することの可能な効果を奏する。
【0106】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0107】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0108】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0109】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0110】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0111】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0112】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0113】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0114】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0115】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0116】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。