以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.画像生成システム
図1は、本実施形態の画像生成システム(画像生成装置、端末装置、HMD)の構成例を示すブロック図である。なお、本実施形態の画像生成システムは図1の構成に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
操作部160は、ユーザ(プレーヤ)が種々の操作情報(入力情報)を入力するためのものである。操作部160は、例えば操作ボタン、方向指示キー、ジョイスティック、レバー又はタッチパネル型ディスプレイ等により実現できる。
撮像部162(カメラ)は、被写体(撮像対象物)の撮影を行うものであり、CCDやCMOSセンサなどの画像センサと、フォーカスレンズ等により構成される光学系などにより実現される。
記憶部170は各種の情報を記憶する。記憶部170は、処理部100や通信部196などのワーク領域として機能する。プログラムや、プログラムの実行に必要なデータは、この記憶部170に保持される。記憶部170の機能は、半導体メモリ(DRAM、VRAM)、HDD(ハードディスクドライブ)、SSD、光ディスク装置などにより実現できる。記憶部170は、オブジェクト情報記憶部172、描画バッファ174、認識対象物情報記憶部176を含む。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、BD、CD)、HDD、或いは半導体メモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(入力装置、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ又はヘッドホン等により実現できる。
I/F(インターフェース)部194は、携帯型情報記憶媒体195とのインターフェース処理を行うものであり、その機能はI/F処理用のASICなどにより実現できる。携帯型情報記憶媒体195は、ユーザが各種の情報を保存するためのものであり、電源が非供給になった場合にもこれらの情報の記憶を保持する記憶装置である。携帯型情報記憶媒体195は、ICカード(メモリカード)、USBメモリ、或いは磁気カードなどにより実現できる。
通信部196は、有線や無線のネットワークを介して外部(他の装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作情報やプログラムなどに基づいて、画像取得処理、認識処理、仮想空間設定処理、仮想カメラ設定処理、画像生成処理、或いは音生成処理などを行う。
処理部100の各部が行う本実施形態の各処理(各機能)はプロセッサ(ハードウェアを含むプロセッサ)により実現できる。例えば本実施形態の各処理は、プログラム等の情報に基づき動作するプロセッサと、プログラム等の情報を記憶するメモリにより実現できる。プロセッサは、例えば各部の機能が個別のハードウェアで実現されてもよいし、或いは各部の機能が一体のハードウェアで実現されてもよい。例えば、プロセッサはハードウェアを含み、そのハードウェアは、デジタル信号を処理する回路及びアナログ信号を処理する回路の少なくとも一方を含むことができる。例えば、プロセッサは、回路基板に実装された1又は複数の回路装置(例えばIC等)や、1又は複数の回路素子(例えば抵抗、キャパシター等)で構成することもできる。プロセッサは、例えばCPU(Central Processing Unit)であってもよい。但し、プロセッサはCPUに限定されるものではなく、GPU(Graphics Processing Unit)、或いはDSP(Digital Signal Processor)等、各種のプロセッサを用いることが可能である。またプロセッサはASICによるハードウェア回路であってもよい。またプロセッサは、アナログ信号を処理するアンプ回路やフィルター回路等を含んでもよい。メモリ(記憶部170)は、SRAM、DRAM等の半導体メモリであってもよいし、レジスターであってもよい。或いはハードディスク装置(HDD)等の磁気記憶装置であってもよいし、光学ディスク装置等の光学式記憶装置であってもよい。例えば、メモリはコンピュータにより読み取り可能な命令を格納しており、当該命令がプロセッサにより実行されることで、処理部100の各部の処理(機能)が実現されることになる。ここでの命令は、プログラムを構成する命令セットでもよいし、プロセッサのハードウェア回路に対して動作を指示する命令であってもよい。
処理部100は、画像取得部112、認識処理部114、仮想空間設定部116、仮想カメラ設定部118、画像生成部120、音生成部130を含む。画像生成部120は画像合成部122を含む。上述したように、これらの各部により実行される本実施形態の各処理は、プロセッサ(或いはプロセッサ及びメモリ)により実現できる。なお、これらの構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
画像取得部112(画像取得処理のプログラムモジュール)は撮像画像を取得する。認識処理部114(認識処理のプログラムモジュール)は撮像画像に対する認識処理を行う。
仮想空間設定部116(仮想空間設定処理のプログラムモジュール)は、複数のオブジェクトが配置される仮想空間(オブジェクト空間)の設定処理を行う。例えば、移動体(人、ロボット、車、電車、飛行機、船、モンスター又は動物等)、マップ(地形)、建物、観客席、コース(道路)、樹木、壁、水面などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)を仮想空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクト情報記憶部172には、仮想空間でのオブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等の情報であるオブジェクト情報がオブジェクト番号に対応づけて記憶される。仮想空間設定部116は、例えば各フレーム毎にこのオブジェクト情報を更新する処理などを行う。
仮想カメラ設定部118(仮想カメラ設定処理のプログラムモジュール)は、仮想空間内に仮想カメラを設定する処理を行う。この仮想カメラから見える画像が仮想空間画像として生成される。
画像生成部120(画像生成処理のプログラムモジュール)は、画像の生成処理を行う。例えば処理部100で行われる種々の処理(仮想空間設定処理、仮想カメラ設定処理等)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に表示する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ174(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、仮想空間において仮想カメラから見える画像が生成される。なお画像生成部120で行われる描画処理は、頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
音生成部130(音生成処理のプログラムモジュール)は、処理部100で行われる種々の処理の結果に基づいて音の生成処理を行う。具体的には、楽曲(音楽、BGM)、効果音、又は音声などを生成し、音出力部192に出力させる。
そして本実施形態の画像生成システムは、図1に示すように、画像取得部112と認識処理部114と仮想空間設定部116と画像生成部120を含む。
画像取得部112は撮像画像を取得する。例えば撮像部162で撮影された撮像画像を取得する。なお、通信部196から受信した画像や記憶部170に記憶された画像を撮像画像として取得してもよい。
認識処理部114は、取得された撮像画像に対する認識処理を行う。例えば撮像画像に映る認識対象物の認識処理を行う。例えば認識処理部114は、取得された撮像画像と、認識対象物情報記憶部176に記憶されている認識対象物の登録画像を用いたマッチング処理を行う。そしてこのマッチング処理により、撮像画像内に、認識対象物の登録画像に対応する認識対象物の画像が存在するか否かを検出する。例えば認識対象物情報記憶部176には、認識対象物の登録画像の情報として、認識対象物の特徴点情報が記憶されている。認識処理部114は、認識対象物の登録画像の特徴点情報と、撮像画像での認識対象物の特徴点情報のマッチング処理を行うことで、撮像画像に映る認識対象物の認識処理を行う。そしてこの認識処理の結果に基づいて、例えば撮像部162と認識対象物との位置関係情報を推定する。例えば認識された認識対象物の大きさ、形状等から撮像部162と認識対象物との位置関係情報を推定する。即ち認識対象物が映る撮像画像を撮影する撮像部162の位置姿勢を推定する。このような位置姿勢の推定により、撮像画像を撮影する撮像部162(ユーザの端末装置又は視点)と認識対象物との位置関係情報を求めることができる。
ここで認識対象物は例えばARマーカである。但し認識対象物は、ARマーカには限定されず、マーカレス型ARのように、特徴点や輪郭形状のマッチング処理により認識される対象物であってもよい。即ち、認識対象物は、正方形マーカや特殊形状マーカのようなARマーカには限定されず、自然特徴点マッチングや輪郭形状マッチングの処理により認識されるARの対象物であってもよい。
仮想空間設定部116は、少なくとも1つの3次元オブジェクトとマスクオブジェクトを仮想空間に配置設定する処理を行う。具体的には、少なくとも1つの3次元オブジェクトと、3次元オブジェクトに対して所定の関係性をもって配置されるマスクオブジェクトとを、仮想空間に配置設定する処理を行う。所定の関係性(所与の関係性)は、例えば3次元オブジェクトとマスクオブジェクトの相対的な位置関係性や方向関係性などである。例えばマスクオブジェクトにより3次元オブジェクトの表示をマスクできるような関係性で、3次元オブジェクトとマスクオブジェクトが仮想空間に配置設定される。また仮想空間設定部116は、例えばキャラクタのオブジェクトや背景のオブジェクトなどの3次元オブジェクトを仮想空間に配置設定する。3次元オブジェクトは、1又は複数のプリミティブ面(ポリゴン等)により構成される表示物である。また仮想空間設定部116は、3次元オブジェクトをマスクするためのマスクオブジェクトを仮想空間に配置設定する。例えば開口部以外の場所では3次元オブジェクトが表示されないようにするためのマスクオブジェクト(不透明オブジェクト)を仮想空間に配置設定する。
そして画像生成部120は、開口部の画像領域(描画領域)には、仮想空間画像が表示され、開口部の周囲の画像領域(描画領域)には、撮像画像が表示される画像を生成する。具体的には画像生成部120は、認識対象物の場所に対応して設定された開口部の画像領域には、3次元オブジェクトの画像により構成される仮想空間画像が表示される画像を生成する。一方、開口部の周囲の画像領域(開口部以外の画像領域)には、3次元オブジェクトがマスクオブジェクトによりマスクされることにより撮像画像が表示される画像を生成する。
開口部の画像領域は、例えば認識処理部114での認識対象物の認識結果に基づいて設定される。例えば撮像画像に映る認識対象物の大きさ、形状に対応する大きさ、形状の画像領域が、開口部(のぞき穴)の画像領域として設定される。そして、この開口部の画像領域には、3次元オブジェクトの画像により構成される仮想空間画像が表示される。そして、開口部の画像領域には仮想空間画像が表示され、開口部の周囲の画像領域には撮像画像が表示されるように、仮想空間画像と撮像画像の合成処理が行われる。この画像合成処理は画像合成部122が行う。ここで開口部の周囲の画像領域は、開口部を中心とした360度の全周囲の画像領域である必要はなく、全周囲の画像領域の一部の画像領域であってもよい。また3次元オブジェクトが開口部を跨ぐような画像においては、開口部の周囲の画像領域であっても、撮像画像ではなく、3次元オブジェクトの外側部分(開口部の外側部分)の画像が表示されていてもよい。
また仮想空間画像は、仮想空間において仮想カメラから見える画像であり、所定の関係性は、例えば仮想カメラから見て、マスクオブジェクトの所定面よりも奥側に3次元オブジェクトが位置するという関係性である。このようにすれば、マスクオブジェクトの所定面の奥側に仮想空間が存在するかのような拡張現実の画像を生成できるようになる。この場合に、当該所定の関係性においては、複数の3次元オブジェクトのうちの一部の3次元オブジェクト(例えばキャラクタのオブジェクト)の一部又は全部が、仮想カメラから見て所定面の手前側に移動したり配置されるなどのイベントが発生することは許容される。また所定面はマスクオブジェクトの面のうち例えば仮想カメラから見て手前側にある面である。例えばマスクオブジェクトが複数の面で構成される場合に、所定面は、これらの複数の面のうち仮想カメラから見て奥側にある面(例えば最も奥側にある面)である。例えば所定面は、複数の面のうち仮想カメラからの奥行き距離が近い面(例えば奥行き距離が最も近い面)である。また所定面は、例えば開口部に対応する場所に位置する面である。例えば仮想カメラを基準とした所定面の奥行き距離と、仮想カメラを基準とした開口部の奥行き距離は、同等の距離とすることができる。
また仮想空間設定部116は、開口部を内包する第1の面を有するマスクオブジェクトを、仮想空間に配置設定する。例えばマスクオブジェクトは、開口部を内包する第1の面を少なくとも有していればよい。第1の面は、例えば開口部の面から開口部の周囲方向に広がる面である。
この場合に、所定の関係性は、仮想カメラから見て、マスクオブジェクトの第1の面よりも奥側に3次元オブジェクトが位置するという関係性とすることができる。即ちこの場合には、第1の面が、上述の所定面となる。このようにすれば、仮想カメラから見て、マスクオブジェクトの第1の面(広義には所定面)の奥側に3次元オブジェクトが存在するというような関係性を持たせることが可能になり、マスクオブジェクトの第1の面の奥側に仮想空間が存在するかのような拡張現実の画像を生成できるようになる。この場合に、当該所定の関係性においては、複数の3次元オブジェクトのうちの一部の3次元オブジェクトの一部又は全部が、仮想カメラから見て第1の面の手前側に移動したり配置されるなどのイベントが発生することは許容される。
また仮想空間設定部116は、第1の面と、第1の面に交差する少なくとも1つの面とを有するマスクオブジェクトを、仮想空間に配置設定してもよい。即ち、この場合にはマスクオブジェクトは、第1の面と、第1の面に交差する少なくとも1つの面により構成される。例えば第1の面に交差(直交)する面が、第2、第3、第4、第5の面ある場合には、マスクオブジェクトは第1~第5の面により構成される例えば立方体又は直方体のオブジェクトになる。この立方体又は直方体のオブジェクトは、第2~第5の面に交差(直交)する第6の面を有していてもよい。この第6の面は第1の面に対向する面である。
この場合に、所定の関係性は、第1の面(所定面)と少なくとも1つの面(所定面に交差する少なくとも1つの面)とにより囲まれる領域に3次元オブジェクトが位置するという関係性とすることができる。このようにすれば、マスクオブジェクトの第1の面(所定面)と少なくとも1つの面(所定面に交差する少なくとも1つの面)とにより囲まれる領域内に、3次元オブジェクトを位置させることで、マスクオブジェクトを用いて、より確実に3次元オブジェクトをマスクできるようになる。例えば少なくとも1つの面が、上述の第2~第5の面である場合には、所定の関係性は、第1~第5の面で囲まれる領域内に3次元オブジェクトが位置するという関係性になる。また少なくとも1つの面が、上述の第2~第6の面である場合には、所定の関係性は、第1~第6の面で囲まれる領域内に3次元オブジェクトが位置するという関係性になる。なお、複数の3次元オブジェクトのうちの一部の3次元オブジェクト(例えばキャラクタのオブジェクト)の一部又は全部が、第1の面と少なくとも1つの面とにより囲まれる領域(第1~第5の面により囲まれる領域又は第1~第6の面により囲まれる領域)の外に移動したり配置されるなどのゲーム演出が行われてもよい。
また仮想空間設定部116は、開口部よりも奥側に3次元オブジェクトが位置するように、3次元オブジェクトを仮想空間に配置設定する。開口部よりも奥側とは、例えば撮像部162(ユーザの端末装置又は視点)から見た奥行き方向での奥側である。例えば仮想空間設定部116は、のぞき穴である開口部の奥側に3次元オブジェクトが表示されるように、3次元オブジェクトを仮想空間に配置設定する。この場合に3次元オブジェクトの一部が開口部よりも手前側にあってもよい。
また仮想空間設定部116は、開口部を3次元オブジェクトが跨ぐように、3次元オブジェクトを仮想空間に配置設定する。ここで開口部を3次元オブジェクトが跨ぐとは、例えば3次元オブジェクトの一部が開口部よりも手前側にあり、3次元オブジェクトの他の部分が開口部よりも奥側にあることである。即ち仮想空間設定部116は、例えば3次元オブジェクトの一部が開口部よりも手前側に表示され、3次元オブジェクトの他の部分が開口部よりも奥側に表示されるように、3次元オブジェクトを仮想空間に配置設定する。
また画像生成部120は、撮像画像を撮影する撮像部162と認識対象物との位置関係情報に応じた描画処理を行って、仮想空間画像を生成する。例えば撮像部162と認識対象物の位置関係情報は、ユーザの端末装置又はユーザの視点と認識対象物との位置関係情報に相当する。即ち画像生成部120は、ユーザの端末装置又は視点と認識対象物との位置関係情報に応じた描画処理を行って、仮想空間画像を生成する。ユーザの端末装置は、図1の画像生成システムにより実現される装置であり、例えば後述の図2に示すようなタブレット型PCやスマートフォンなどの端末装置10である。ユーザの視点は、例えば後述の図10に示すようにHMD(頭部装着型表示装置)を用いる場合におけるユーザの視点VPである。位置関係情報は、撮像部162(端末装置又は視点)を基準とした認識対象物の位置や方向、或いは認識対象物を基準とした撮像部162(端末装置又は視点)の位置や方向である。
撮像部162と認識対象物との位置関係情報に応じた描画処理は、例えば位置関係情報に応じて開口部の画像領域を設定することである。本実施形態では、位置関係情報に応じた開口部に仮想空間画像が表示されるような画像合成を行う。また撮像部162と認識対象物との位置関係情報に応じた描画処理は、位置関係情報に応じた位置、方向に仮想カメラを設定して、3次元オブジェクトの描画処理を行うことである。
具体的には仮想カメラ設定部118は、仮想空間において撮像部162に対応する位置に仮想カメラを設定する。例えば仮想空間において、撮像部162と認識対象物との位置関係情報に応じた位置、方向に仮想カメラを設定する。例えば現実世界での、撮像部162と認識対象物との位置関係情報が、仮想空間での、仮想カメラと、認識対象物に対応する開口部との位置関係情報が一致するように、仮想カメラを設定する。そして画像生成部120は、仮想カメラから見える画像を仮想空間画像として生成する。例えば現実世界において、撮像部162(ユーザの端末装置又は視点)に対して認識対象物が正対していた場合には、仮想空間の3次元オブジェクトの正面方向に設定された仮想カメラから見える画像が生成される。また撮像部162(ユーザの端末装置又は視点)に対して認識対象物が斜め方向に位置する場合には、仮想空間の3次元オブジェクトの斜め方向に設定された仮想カメラから見える画像が生成される。
また画像生成部120は、撮像部162(ユーザの端末装置又は視点)と認識対象物との位置関係情報に応じて、仮想空間画像の視認性を変化させる処理を行う。仮想空間画像の視認性を変化させる処理は、仮想空間画像の視認性を高めたり、低めたりする処理である。視認性を変化させる処理は、例えば仮想空間画像の明度、コントラスト、半透明度又はぼかし度等を変化させる処理により実現できる。例えば撮像部162に対して認識対象物が正対している場合には、仮想空間画像の視認性を例えば高める処理を行う。例えば仮想空間画像の明度を明るくしたり、コントラストを高めたり、より不透明になるようにしたり、ぼかし度を少なくする処理を行う。また撮像部162に対して認識対象物が斜め方向に位置している場合には、正対している場合に比べて、仮想空間画像の視認性を例えば低める処理を行う。例えば仮想空間画像の明度を暗くしたり、コントラストを低くしたり、より透明になるようにしたり、ぼかし度を大きくする処理を行う。
また本実施形態の画像生成システムは音生成部130を有しており、音生成部130は、撮像部162(ユーザの端末装置又は視点)と認識対象物との位置関係情報に応じて変化する音の生成処理を行う。例えば音生成部130は、撮像部162と認識対象物の距離が近い場合には、生成される音の音量を大きくし、撮像部162と認識対象物の距離が遠い場合には、距離が近い場合に比べて、生成される音の音量を小さくする。即ち、撮像部162と認識対象物との相対的な位置関係に応じて、音の音量等の音パラメータを変化させる。なお、撮像部162と認識対象物との位置関係情報に応じて、音の高さ、音色等を変化させてもよい。このように撮像部162と認識対象物との位置関係情報に応じて音を変化させるとは、例えば位置関係情報に応じて音の大きさ、高さ及び音色等の少なくとも1つを変化させることである。このような音の生成処理は、例えば開口部の奥側に設定される仮想空間の位置に、生成される音の音源を設定することなどにより実現できる。
また本実施形態では、認識対象物の情報に関連づけて3次元オブジェクトの情報が記憶部170に記憶されている。例えば記憶部170の認識対象物情報記憶部176が、認識対象物に関連づけて3次元オブジェクトの情報(キャラクタの情報、仮想空間の設定情報)を記憶している。そして仮想空間設定部116は、認識対象物の情報に関連づけられた3次元オブジェクトを、仮想空間に配置設定する。例えば認識処理部114が、撮像画像に認識対象物が映っていることを認識すると、認識された認識対象物に関連づけられた3次元オブジェクトの情報が、記憶部170(認識対象物情報記憶部176)から読み出される。仮想空間設定部116は、読み出された3次元オブジェクトの情報に基づいて、当該3次元オブジェクトを仮想空間に配置設置する処理を行う。例えばキャラクタのオブジェクトや背景のオブジェクトなどの3次元オブジェクトを仮想空間に配置設定する。そして、このように設定された仮想空間において、例えば撮像部162と認識対象物との位置関係情報に応じた位置に仮想カメラが設定され、この仮想カメラから見える画像が仮想空間画像として生成される。そして開口部の場所に仮想空間画像が表示され、開口部の以外の場所に撮像画像が表示された画像が生成される。
また認識処理部114は、電子機器の表示部に表示された画像を、認識対象物として認識する処理を行ってもよい。例えば電子機器の表示部に表示されたキャラクタ等の表示物を、認識対象物として認識する処理を行う。例えば前述したマーカレス型ARのように、特徴点や輪郭形状のマッチング処理等により、キャラクタ等の表示物を、認識対象物として認識する処理を行う。例えば認識対象物情報記憶部176には、当該表示物の登録情報として、当該表示物の登録特徴点情報又は登録輪郭形状情報が記憶されている。認識処理部114は、この登録特徴点情報又は登録輪郭形状情報と、撮像画像に映るキャラクタ等の表示物の特徴点情報又は輪郭形状情報との特徴点マッチング処理又は輪郭形状マッチング処理を行って、撮像画像に映る表示物が、登録されている表示物にマッチングするかを認識する。そして、マッチングしたと判断された場合には、認識対象物である表示物に関連づけられた3次元オブジェクトの情報が、記憶部170から読み出されて、仮想空間画像が生成される。ここで電子機器としては、例えばゲーム機や、PC又ノートPC等の情報処理装置や、スマートフォン又は携帯電話等の携帯型端末装置や、映像機器や、オーディオ機器や、或いはナビゲーション装置等の車載機器などの種々の機器を想定できる。
また認識処理部114は、玩具又は物品を、認識対象物として認識する処理を行ってもよい。例えば前述したマーカレス型ARのように、特徴点や輪郭形状のマッチング処理等により、玩具又は物品を、認識対象物として認識する処理を行う。例えば認識対象物情報記憶部176には、当該玩具又は物品の登録情報として、当該玩具又は物品の登録特徴点情報又は登録輪郭形状情報が記憶されている。認識処理部114は、この登録特徴点情報又は登録輪郭形状情報と、撮像画像に映る玩具又は物品の特徴点情報又は輪郭形状情報との特徴点マッチング処理又は輪郭形状マッチング処理を行って、撮像画像に映る玩具又は物品が、登録されている玩具又は物品にマッチングするかを認識する。そして、マッチングしたと判断された場合には、認識対象物である玩具又は物品に関連づけられた3次元オブジェクトの情報が、記憶部170から読み出されて、仮想空間画像が生成される。ここで、玩具は、いわゆるオモチャなどと言われるものであり、電気で動作する電子的な玩具であってもよいし、電子的な玩具以外の玩具であってもよい。玩具としては、例えば知育玩具、乳児用玩具、模型(プラモデル)、人形やぬいぐるみ、フィギュア、カプセルトレイ、音響玩具、練習玩具、パズル、トランプ、カードゲーム類、野球盤などのボードゲーム類、スポーツ玩具、乗り物玩具又は戦争玩具などの種々の玩具を想定できる。また物品は、物、品物などの有体物である。例えば物品は、販売の対象となったり、取引の対象となる物であり、例えば商品、用品である。物品(商品、用品)としては、例えば容器(ペットボトル等)、生活用品、事務用品、文房具、食品、趣向品、音楽メディア(CD等)、映像メディア(DVD等)、ポスター類、電子機器、衣類、履き物(靴等)、かばん類、ベルト類又は家具など種々の物品を想定できる。
2.本実施形態の手法
次に本実施形態の手法について詳細に説明する。
2.1 開口部への仮想空間画像の表示
図2ではユーザは、例えば右手にタブレット型PCである端末装置10を持ち、左手にCDケース20を持っている。そして例えばCDケース20内の表紙等には、認識対象物MKが印刷されている。図2の認識対象物MK(AR用の画像)は例えば2次元のキャラクタ画像である。なおCDケース20内の表紙等に、ARマーカAMKを印刷してもよい。ARマーカAMKは、所定の画像パターンを有するマーカである。ARマーカAMKを用いれば撮像部162との位置関係情報の特定が容易であるという利点がある。
また端末装置10は、ユーザ側に表示部190が位置しており、端末装置10の裏側に撮像部162(カメラ)が設けられている。この撮像部162により、端末装置10の奥側を撮影できる。例えばユーザがCDケース20を端末装置10の奥側に移動させると、端末装置10の裏側の撮像部162によりCDケース20が撮影される。そして図1の認識処理部114が、CDケース20の認識対象物MK(或いはARマーカAMK)の認識処理を行い、後述の図6、図7に示すように、認識対象物MKに対応するキャラクタCH等の3次元オブジェクトの仮想空間画像が、開口部の画像領域ROPに表示されるARの画像が、端末装置10の表示部190に表示される。
図3~図5は本実施形態の手法を説明するための図である。図3~図5において、キャラクタCHや背景オブジェクトOB1~OB11が、仮想空間に配置設定される3次元オブジェクトである。3次元オブジェクトは、例えばプリミティブ面(ポリゴン)で構成される3次元形状のオブジェクトである。本実施形態では、これらの3次元オブジェクト(CH、OB1~OB11)とマスクオブジェクト(MS1~MS6)を仮想空間に配置設定する。例えば3次元オブジェクト(CH、OB1~OB11)と、3次元オブジェクトに対して所定の関係性をもって配置されるマスクオブジェクト(MS1~MS6)とを、仮想空間に配置設定する処理を行う。そして仮想カメラVCから見える画像を仮想空間画像として生成する。仮想カメラVCの位置、方向は、例えば撮像部162(ユーザの端末装置又は視点)と図2の認識対象物MKとの位置関係情報に応じて設定される。
図3に示すように本実施形態では、穴部である開口部OPを設定している。例えばこの開口部OPは仮想空間画像の仮想的なのぞき穴となるものである。後述の図6、図7に示すように、本実施形態では、この開口部OPの画像領域ROPに仮想空間画像が表示される画像が生成されて、端末装置10の表示部190に表示される。
マスクオブジェクト(MS1~MS6)は、開口部OP以外の領域において3次元オブジェクト(CH、OB1~OB11)の表示をマスクするためのオブジェクトであり、例えば不透明オブジェクトである。後述の図6、図7に示すように、マスクオブジェクトによりマスクされた画像領域RMSには、撮像画像が表示されるようになる。即ち本実施形態では、開口部OPに対応する画像領域ROPに、仮想空間画像が表示され、マスクオブジェクトによりマスクされた画像領域RMSに、撮像画像が表示される画像が合成されて、表示部190に表示される。
例えば図3では、開口部OPに位置するキャラクタCHや背景オブジェクトOB1(床)しか見えていないが、実際には、図4、図5に示すように、仮想空間(オブジェクト空間)には、他の背景オブジェクトOB2~OB11等の3次元オブジェクトが配置されている。図3では、これらの背景オブジェクトOB2~OB11等の3次元オブジェクトが、マスクオブジェクトによりマスクされて見えなくなっている。
ここでマスクオブジェクトは、開口部OPを内包する面MS1(第1の面)を有しており、本実施形態では、このようなマスクオブジェクトを仮想空間に配置設定している。例えば面MS1は、開口部OPの場所から開口部OPの周囲に広がる面である。別の言い方をすれば、面MS1に設けられた穴部が開口部OPになっている。
この場合に、上述の所定の関係性は、仮想カメラVCから見て、マスクオブジェクトの面MS1(広義には所定面)よりも奥側に3次元オブジェクト(少なくとも背景オブジェクトOB1~OB11)が位置するという関係性になる。このような関係性を持たせることで、面MS1の奥側に、3次元オブジェクトにより構成される仮想空間が存在するかのような拡張現実を実現できる。但し後述の図5、図7のように、一部の3次元オブジェクト(キャラクタCH等)が、面MS1(所定面)よりも手前側に移動するなどの演出処理が行われてもよい。なお、本実施形態の所定の関係性における所定面は、このような面MS1に限定されるものでない。例えば所定面は開口部OPを内包しないような面であってもよい。
またマスクオブジェクトは、面MS1と、面MS1に交差する少なくとも1つの面を有する。図3では、面MS1に交差(例えば直交)する少なくとも1つの面として、面MS2、MS3、MS4、MS5が仮想空間に配置設定されている。更に図3ではマスクオブジェクトは、面MS2、MS3、MS4、MS5に交差(例えば直交)する面MS6を更に有している。例えば面MS1~MS6により立方体形状のマスクオブジェクトが形成される。
この場合に、上述の所定の関係性は、面MS1(所定面)と、面MS1に交差する少なくとも1つの面(所定面に交差する少なくとも1つの面)とにより囲まれる領域に、3次元オブジェクト(少なくとも背景オブジェクトOB1~OB11)が位置するという関係性である。例えば所定の関係性は、面MS1~MS5により囲まれる領域、或いは面MS1~MS6により囲まれる領域に、3次元オブジェクト(背景オブジェクトOB1~OB11)が位置するという関係性になる。但し後述の図5、図7のように、一部の3次元オブジェクト(キャラクタCH等)が、面MS1~MS5又は面MS1~MS6により囲まれる領域の外に移動したりするなどの演出処理が行われてもよい。
なおマスクオブジェクトとしては種々の形状のオブジェクトを用いることができる。例えば図3のような立方体形状には限定されず、直方体形状や、柱体形状(三角柱形状等)や、曲面形状(球形状等)であってもよい。例えばマスクオブジェクトは、少なくとも面MS1を有していればよい。例えばマスクオブジェクトが、開口部OPを内包する面MS1だけにより構成される場合には、面MS1の面積はできる限り大きい面積(例えば実質的に無限大の面積)であることが望ましい。
図6~図8は本実施形態の手法により生成される画像の例である。開口部(図3のOP)の画像領域ROPには仮想空間画像が表示される。開口部の画像領域ROPは、図2の認識対象物MKの場所に対応して設定される。具体的には撮像部162(端末装置)と認識対象物MKとの位置関係情報(相対的位置関係)に基づいて開口部の画像領域ROPが設定される。例えば図6の端末装置10の奥側には、開口部の画像領域ROPの形状、大きさに対応する位置、方向で、CDケース20(認識対象物MK)が位置している。
例えば図6では、端末装置10の主面である平面(表示部190の平面)に直交する方向(法線方向)に対してθ=θ1の角度で、図2のCDケース20が端末装置10の奥側に位置している。図7では、端末装置10の平面(主面)に直交する方向に対してθ=θ2の角度で、CDケース20が端末装置10の奥側に位置しており、θ1>θ2になっている。即ち、端末装置10の平面に直交する方向に対するCDケース20の平面方向のなす角度θが、図7では図6よりも小さくなっており、CDケース20の平面方向が、端末装置10の平面に直交する方向に近づいている。
図8では、端末装置10の平面に直交する方向に対してθ=θ3の角度で、CDケース20が端末装置10の奥側に位置しており、θ1>θ2>θ3になっている。即ち、端末装置10の平面に直交する方向に対するCDケース20の平面方向のなす角度θが、図8では図7、図6よりも小さくなっており、CDケース20の平面方向が、端末装置10の平面に直交する方向に更に近づいている。そして図6、図7では開口部の画像領域ROPに仮想3次元画像が表示されているが、図8では、認識対象物MKを安定的に画像認識することが難しくなるため、仮想3次元画像を表示しないようにしている。例えば図8の状況で仮想3次元画像を表示すると、表示が不安定になるおそれがあるからである。但し、図8のような状況においても、仮想3次元画像が消えずに表示されるように設定することも可能である。
図6では、開口部の画像領域ROPには、キャラクタCH、背景オブジェクトOB1、OB2、OB4、OB5などの3次元オブジェクトが表示されている。キャラクタCHは、図2の2次元画像のキャラクタである認識対象物MKに対応する3次元画像のキャラクタである。
図6の開口部の画像領域ROPの仮想空間画像は、図3の仮想カメラVCが開口部OPに対して斜め右方向の位置に配置されて、のぞき穴のように開口部OPをのぞき込んでいる場合に仮想カメラVCから見える画像に相当する。このため図6では、開口部OPを介して見えるキャラクタCH、背景オブジェクトOB1、OB2、OB4、OB5の画像が、開口部の画像領域ROPに表示される。一方、マスクオブジェクト(MS1~MS6)によりマスクされる位置にある図4の背景オブジェクトOB3、OB6~OB11については、マスクオブジェクトにマスクされることで表示されないようになる。
そして図6に示すように、開口部の周囲の画像領域RMSには、撮像部162により撮影された撮像画像が表示される。例えば、画像領域RMSには、撮像部162により撮影されたユーザの左手の画像などが表示される。具体的には、開口部の周囲の画像領域RMSには、図4の背景オブジェクトOB3、OB6~OB11がマスクオブジェクトによりマスクされることにより、撮像画像が表示される。このように図6では、開口部の画像領域ROPに仮想空間画像が表示され、開口部の周囲の画像領域RMSに撮像画像が表示されるような画像合成が行われて、合成画像が端末装置10の表示部190に表示される。
図7では、端末装置10の平面に直交する方向に対するCDケース20の平面方向のなす角度が、図6に比べて小さくなっている。これにより、図3の仮想カメラVCが開口部OPに対して更に斜め右方向の位置に配置される。このため図6では開口部の画像領域ROPに表示されていた背景オブジェクトOB2、OB4、OB5の画像が、図7では表示されず、その代わりに背景オブジェクトOB6の画像が図7では表示されている。即ち、図3の仮想カメラVCが、図6では図7に比べて開口部OPの更に斜め右方向の位置に配置され、その配置位置の仮想カメラVCから開口部OPをのぞき込んだ場合に見える画像が、画像領域ROPに表示される。このため図6では画像領域ROPに表示されていた背景オブジェクトOB2、OB4、OB5の画像が、図7では表示されず、背景オブジェクトOB6の画像が表示される。
図6の開口部の周囲の画像領域RMSにおいて、マスクオブジェクトにより3次元オブジェクトをマスクして非表示にする手法は、例えばARにおけるオクルージョンの手法(オクルージョンのシェーダ)により実現できる。例えばARにおいて、現実世界の物体(撮像画像に映る物体)により、当該物体の奥側のバーチャルオブジェクトを隠面消去して非表示にするオクルージョンの手法が用いられる。具体的には、現実世界の物体の画像領域は、オクルージョンの領域に設定され、このオクルージョンの領域では、バーチャルオブジェクトが隠面消去されて非表示になる。例えばオクルージョンの領域では、バーチャルオブジェクトは透明のオブジェクトとして扱われ、バーチャルオブジェクトの画像は表示されず、撮像画像が表示されるようになる。これにより現実世界の物体の画像領域に対応するオクルージョンの領域において、あたかも現実世界の物体によりバーチャルオブジェクトが隠面消去されているかのような画像を表示できる。
そしてマスクオブジェクト(MS1~MS6)により、図4の背景オブジェクトOB3、OB6~OB11をマスクして、図6において非表示にするために、このオクルージョンの手法を用いることができる。即ち、マスクオブジェクトの領域は、オクルージョンの領域に設定されて、図4において仮想カメラVCから見てマスクオブジェクトの奥側にある背景オブジェクトOB3、OB6~OB11は隠面消去されて表示されないようになる。これにより図6の開口部の周囲の画像領域RMSにおいて、背景オブジェクトOB3、OB6~OB11の画像が表示されないようになる。この結果、図6に示すように、あたかも開口部をのぞき穴として、その奥側にある仮想空間を覗いたような画像が生成されるようになる。
このように本実施形態では、認識対象物MK(ARマーカ)の位置よりも奥側に仮想空間の3次元オブジェクトを配置して表示し、開口部以外からは仮想空間の3次元オブジェクトが見えないようにする画像合成手法を実現している。これにより、認識対象物の領域に対応する開口部の領域に仮想空間画像を表示する処理を、簡素な処理で実現できるようになる。
また本実施形態では、開口部よりも奥側に3次元オブジェクトが位置するように、3次元オブジェクトが仮想空間に配置設定される。例えば図6において、3次元オブジェクトであるキャラクタCHや背景オブジェクトOB1、OB2、OB4、OB5は、開口部(画像領域ROP)よりも奥側に位置するように、仮想空間に配置設定されている。このような仮想空間の配置設定手法によれば、開口部の奥側に3次元オブジェクト(CH、OB1、OB2、OB4、OB5)が存在し、当該3次元オブジェクトを、のぞき穴である開口部を通して覗き込んでいるような画像を生成できる。従って、これまでにない拡張現実(AR)を実現できるようになる。
また本実施形態では、開口部を3次元オブジェクトが跨ぐように、3次元オブジェクトを仮想空間に配置設定している。例えば図5では、3次元オブジェクトであるキャラクタCHは、開口部OPを跨ぐように仮想空間に配置設定されている。具体的には、キャラクタCHの一部(上半身側)が、開口部OPの手前側に位置し、キャラクタCHの他の部分(下半身側)が、開口部OPの奥側に位置するように、キャラクタCHが配置されている。このようにすれば図7に示すように、あたかもキャラクタCHが開口部(画像領域ROP)から飛び出しているかのように見える画像を生成できる。従って、これまでにない拡張現実の表現が可能になる。
また本実施形態では、図9において、撮像部162(ユーザUSの端末装置10)と認識対象物MK(CDケース20)との位置関係情報に応じた描画処理を行って、図6、図7に示すような仮想空間画像を生成する。具体的には、仮想空間において、撮像部162に対応する位置に仮想カメラを設定し、設定された仮想カメラから見える画像を仮想空間画像として生成する。
例えば図9において、端末装置10の奥側に位置する認識対象物MK(CDケース20)と、端末装置10の撮像部162との相対的な位置関係を求める。この相対的位置関係は、撮像部162の撮像画像に映る認識対象物MKの大きさや形状を分析することで求めることができる。そして、求められた相対的位置関係に対応する位置、方向に、図3の仮想カメラVCを設定する。例えば図3での開口部OPと仮想カメラVCとの相対的位置関係が、図9での認識対象物MKと撮像部162との相対的位置関係に一致するように、仮想カメラVCを配置設定する。そして、このように配置設定された仮想カメラVCから見える仮想空間画像を生成する描画処理を行い、図6、図7に示すように、生成された仮想空間画像が開口部の画像領域ROPに表示される画像を生成する。
例えば図9において、端末装置10の撮像部162に正対する場所に、認識対象物MK(CDケース20)が位置する場合には、図3においても、仮想カメラVCに正対する場所に、開口部OPが位置するように、仮想カメラVCが配置設定される。これにより仮想空間を仮想カメラVCにより正対して見た画像が、仮想空間画像として生成されるようになる。
また図9において、端末装置10の撮像部162に対して斜め方向の場所に、認識対象物MK(CDケース20)が位置する場合には、図3においても、仮想カメラVCから斜め方向の場所に、開口部OPが位置するように、仮想カメラVCが配置設定される。これにより仮想空間を、仮想カメラVCにより斜め方向から見た画像が、仮想空間画像として生成されるようになる。
また図9において、端末装置10の撮像部162から距離が離れた位置に、認識対象物MK(CDケース20)が位置する場合には、図3においても、開口部OPから距離が離れた位置に仮想カメラVCが配置設定される。これにより、遠方に位置する仮想カメラから見た画像が、仮想空間画像として生成されるようになる。
このように、撮像部162と認識対象物MKとの位置関係情報に応じた描画処理を行って、仮想空間画像を生成すれば、あたかも撮像部162により仮想空間を見たかのような画像が、仮想空間画像として生成されるようになる。そして図6、図7に示すように、このようにして生成された仮想空間画像が、開口部の画像領域ROPに表示されることで、あたかも撮像部162により、開口部をのぞき穴として、その奥にある仮想空間を覗き込んだかのように見える画像を生成できるようになり、これまでにない拡張現実を実現できるようになる。
図10では、ユーザUSはHMD(頭部装着型表示装置)を装着している。例えばユーザUSの視界を覆うようにHMDを装着している。例えばHMDは本実施形態の画像生成システムにより実現される。HMDには、ユーザUSの視点VPに対応する位置に撮像部162が設けられている。そして撮像部162により撮影された撮像画像(映像)がHMDに表示される。即ち、撮像部162の撮像画像に対して仮想空間画像が画像合成された図6、図7に示すような画像がHMDに表示される。
具体的には図10において、HMDの撮像部162(ユーザUSの視点VP)と認識対象物MK(CDケース20)との位置関係情報に応じた描画処理が行われて、図6、図7に示すような仮想空間画像が生成される。即ち、仮想空間において撮像部162(視点VP)に対応する位置に仮想カメラが設定され、設定された仮想カメラから見える画像が仮想空間画像として生成される。そして、この仮想空間画像と撮像部162の撮像画像とを合成することで生成された図6、図7の画像が、HMDに表示される。
例えば図9では、ユーザUSは、一方の手で、認識対象物MKが印刷されたCDケース20を持ち、他方の手で、撮像部162が設けられた端末装置10を持つ必要があり、ユーザUSの手間が煩雑になるという不利点がある。これに対して図10では、ユーザUSは、端末装置等を持つ必要がなく、撮像部162が正面側に設けられたHMDを、認識対象物MKが印刷されたCDケース20の方に向ければ良い。即ち、ユーザUSの視点VPをCDケース20の方を向けるだけで済む。従って、図10では図9に比べて、拡張現実を体験するためのユーザUSの手間を軽減できるという利点がある。
なお、図10のHMDは、例えば有機ELディスプレイ(OEL)や液晶ディスプレイ(LCD)などにより実現される表示部を有する。そしてHMDの表示部には、ユーザUSの左目の前に設定される第1のディスプレイ又は第1の表示領域と、右目の前に設定される第2のディスプレイ又は第2の表示領域が設けられており、立体視表示が可能になっている。立体視表示を行う場合には、例えば視差が異なる左目用画像と右目用画像を生成し、第1のディスプレイに左目用画像を表示し、第2のディスプレイに右目用画像を表示する。或いは1つのディスプレイの第1の表示領域に左目用画像を表示し、第2の表示領域に右目用画像を表示する。またHMDには左目用、右目用の2つの接眼レンズ(魚眼レンズ)が設けられており、これによりユーザUSの視界の全周囲に亘って広がるVR空間が表現される。そして接眼レンズ等の光学系で生じる歪みを補正するための補正処理が、左目用画像、右目用画像に対して行われる。なお図10のHMDは非透過型であるが、HMDは透過型であってもよい。またHMDは、いわゆるメガネタイプのHMDであってもよい。
また本実施形態では、撮像画像を撮影する撮像部162と認識対象物との位置関係情報に応じて、仮想空間画像の視認性を変化させる処理を行う。また撮像部162と認識対象物との位置関係情報に応じて変化する音の生成処理を行う。
例えば図11(A)では、端末装置10の撮像部162(カメラ)は、CDケース20の認識対象物MKと近い距離で正対している。この場合には、例えば仮想空間画像を明るい画像にしたり、よりハッキリした画像にするなど、視認性を高める処理を行う。即ち、図6、図7の画像領域ROPに表示される仮想空間画像の視認性を高める処理を行う。また端末装置10の音出力部(スピーカ、ヘッドホン端子)から出力される音の音量を大きくする。例えば本実施形態では、図6、図7の開口部の奥側の仮想空間から、BGM等の音楽が流れるような演出処理を行っている。図11(A)のように撮像部162が、認識対象物MKと近い距離で正対している場合には、この仮想空間から流れるBGM等の音楽の音量を大きくする。
一方、図11(B)では、撮像部162の撮像方向(光軸方向)に対して斜め方向の場所に、認識対象物MKが位置している。この場合には、例えば仮想空間画像を暗い画像にしたり、ぼかした画像にするなど、視認性を低める処理を行う。即ち、図6、図7の画像領域ROPに表示される仮想空間画像の視認性を低める処理を行う。また端末装置10の音出力部から出力される音の音量を小さくする。例えば、開口部の奥側の仮想空間から流れるBGM等の音楽の音量を小さくする。
また図11(C)では、撮像部162から遠い距離の場所に、認識対象物MKが位置している。この場合にも、例えば仮想空間画像を暗い画像にしたり、ぼかした画像にするなど、視認性を低める処理を行う。また端末装置10の音出力部から出力される音の音量を小さくする。例えば、開口部の奥側の仮想空間から流れる音楽の音量を小さくする。
図11(A)~図11(C)のように仮想空間画像の視認性を変化させたり、音を変化させるなどの演出処理を行うことで、拡張現実のリアル度を高めることが可能になる。例えば本実施形態では開口部の奥側の仮想空間から音楽が流れるような演出処理を行っている。この場合に、図11(A)のように、撮像部162と、開口部に対応する認識対象物MKとの位置関係が、正対の関係である場合や距離が近い場合には、音楽の音量が大きくなり、斜め方向の関係や距離が遠い場合には、音楽の音量が小さくなるような演出処理を実現できる。従って、あたかも本当に開口部の奥側の仮想空間から音楽が流れているような仮想現実感をユーザに与えることができ、拡張現実のリアル度を向上できる。
なお本実施形態では、開口部の奥側の仮想空間に、BGM等の音楽の音源を設定し、この音源からの音楽が音出力部から出力されるような音処理を行ってもよい。例えば開口部の奥側の仮想空間から音楽が聞こえてくるような立体音響(例えば5.1chの立体音響)の音処理を行うようにしてもよい。こうすることで、拡張現実のリアル度を更に向上できる。
また本実施形態では、認識対象物情報に関連づけて3次元オブジェクトの情報が図1の記憶部170(認識対象物情報記憶部176)に記憶されている。そして、この認識対象物情報が記憶部170から読み出され、認識対象物情報に関連づけられた3次元オブジェクトが仮想空間に配置設定されて、仮想空間画像が生成される。
例えば図12に認識対象物情報のデータ構造の一例を示す。図12では認識対象物情報に対して、商品、キャラクタ情報、仮想空間情報が関連づけられている。図12の商品は、認識対象物情報が対象としている商品であり、例えば図2のCDケース20のCDなどである。キャラクタ情報は、図6、図7のキャラクタCHのオブジェクトの情報である。仮想空間情報は、図3~図5の背景オブジェクトOB1~OB11の設定情報である。
このように図12では、認識対象物情報に対して、キャラクタ情報や仮想空間情報などの3次元オブジェクトの情報が関連づけられている。従って、例えば図1の認識処理部114が認識対象物の認識処理を行って、認識対象物が特定されると、特定された認識対象物に関連づけられたキャラクタ情報、仮想空間情報などの3次元オブジェクトの情報を記憶部170(オブジェクト情報記憶部172)から読み出すことが可能になる。これにより仮想空間設定部116が、読み出された3次元オブジェクトの情報に基づいて仮想空間の設定処理を行い、画像生成部120が、設定された仮想空間の画像である仮想空間画像を生成し、撮像画像と合成することで、図6、図7に示すような画像を生成できるようになる。
そして本実施形態では図12に示すように、認識対象物は商品に対応づけられており、当該商品の販売促進に本実施形態の手法を利用する。例えばCDの販売促進のために、図2に示すようにCDケース20の表紙等に認識対象物MK(或いはARマーカAMK)を印刷する。そしてCDを購入しに来たユーザが、図9に示すように端末装置10の奥側にCDケース20を位置させて、撮像部162で撮影する。こうすることで、図2の認識対象物MKである2次元キャラクタに対応する3次元のキャラクタCHの画像や、背景オブジェクトの画像が、図6、図7に示すように仮想空間画像として端末装置10の表示部190に表示されるようになる。従って、このような仮想空間画像の表示が動機づけとなって、ユーザがCDを購入するようになり、商品であるCDの販売促進を促すことが可能になる。なお認識対象物が対応づけられる商品は、このようなCDには限定されず、種々の商品(DVD、書籍、携帯型ゲーム機、家電、情報端末機器等)を想定できる。
2.2 変形例
次に本実施形態の種々の変形例について説明する。本実施形態では、電子機器の表示部に表示された画像を、認識対象物として認識する処理を行ってもよい。
例えば図13(A)では、電子機器である携帯型ゲーム機30の表示部32に、キャラクタCHGの画像が表示されている。本実施形態では、表示部32に表示されるキャラクタCHGの画像を、認識対象物として認識する処理を行う。そしてキャラクタCHに対応する例えば3次元のキャラクタの画像により構成される仮想空間画像が生成されて、図6、図7に示すようなARの画像が表示される。このようにすれば、ユーザは、タブレット型PC、スマートフォン等の端末装置10の撮像部162を、携帯型ゲーム機30に向けるだけで、端末装置10の表示部190に、図6、図7に示すような画像が表示されるようになる。この場合に携帯型ゲーム機30に表示されるキャラクタCHGの種類等に応じて、仮想空間画像に表示されるキャラクタの画像も異なるようになる。このようなARの画像を表示することで、携帯型ゲーム機30の販売促進等を図れるようになる。
図13(B)では、商品の展示会や催し物等の会場において、壁に複数のポスターPS1~PS6が貼られている。そして端末装置であるスマートフォン12を手に持ったユーザUSが、スマートフォン12の撮像部をPS1~PS6の各ポスターの方に向けると、スマートフォン12の表示部に、図6、図7に示すようなARの画像が表示されるようになる。この場合に、ARの画像として表示される仮想空間画像は、PS1~PS6の各ポスター毎に異なっている。このようにすることで、例えばポスターPS1~PS6により宣伝される商品やコンサート等の催し物の販売促進を図れるようになる。
また本実施形態では、図14(A)に示すような玩具40や、図14(B)に示すような物品46を、認識対象物として認識する処理を行う。図14(B)の物品46は、ペットボトル等の容器の例であるが、本実施形態はこれに限定されない。そして本実施形態では玩具40又は物品46に対応する例えば3次元のオブジェクト(キャラクタ等)の画像により構成される仮想空間画像が生成されて、図6、図7に示すようなARの画像が表示される。このようにすれば、ユーザは、タブレット型PC、スマートフォン等の端末装置10の撮像部162を、玩具40又は物品46に向けるだけで、端末装置10の表示部190に、図6、図7に示すような画像が表示されるようになる。この場合に、玩具40又は物品46の種類、形状又は属性等に応じて、仮想空間画像に表示される3次元オブジェクトの画像も異なるようになる。例えば玩具40であれば、玩具40の種類又は形状等に対応する3次元オブジェクトの画像が、仮想空間画像として表示される。例えば玩具40の形を模したようなキャラクタの画像を、仮想空間画像として表示してもよい。或いは物品46である容器に印刷された画像(容器のラベルに印刷された画像等)に対応するキャラクタ等の3次元オブジェクトの画像を、仮想空間画像として表示してもよい。このようなARの画像を表示することで、玩具40又は物品46の販売促進等を図れるようになる。
図15では、キャラクタCHが、開口部OPから外に出るのではなく、マスクオブジェクトの領域から外に出ている。このようにすることで、例えば図6、図7において、開口部の周囲の画像領域RMSから、3次元のキャラクタCHが突然に出現するような演出を実現できる。即ち、何も存在しない空間から突然に3次元のキャラクタCHが飛び出して来るような演出効果を実現できるようになる。
図16では、HMDを装着するユーザUSを囲むように、マスクオブジェクト(MS1~MS6)が配置されている。そしてマスクオブジェクトに対して開口部OP1~OP10が設けられており、ユーザUSは、開口部OP1~OP10を介して、マスクオブジェクトの外側に設定された仮想空間の画像を見ることができる。このようにすれば図3~図7とは異なった表示態様のARの画像をユーザUSに提供できるようになる。
3.詳細な処理
次に本実施形態の詳細な処理例について図17のフローチャートを用いて説明する。
まず撮像画像を取得する(ステップS1)。例えば撮像部162により撮影された撮像画像を取得する。そして撮像画像に映る認識対象物の認識処理を行う(ステップS2)。例えば特徴点や輪郭形状のマッチング処理等を行うことで、認識対象物の認識処理を行う。そして3次元オブジェクトとマスクオブジェクトを仮想空間に配置設定する処理を行う(ステップS3)。例えば図12で説明したように、認識された認識対象物に対応する3次元オブジェクトの情報を記憶部170から読み出して、仮想空間の配置設定処理を行う。そして撮像画像を撮影する撮像部と認識対象物との位置関係情報に応じた描画処理を行い、開口部の画像領域には、仮想空間画像が表示され、開口部の周囲の画像領域には、3次元オブジェクトがマスクオブジェクトにマスクされることにより撮像画像が表示される画像を生成する(ステップS4)。例えば仮想空間において撮像部に対応する位置に仮想カメラを設定し、設定された仮想カメラから見える画像を仮想空間画像として生成することで、図6、図7に示すようなARの画像を生成する。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(所定面等)と共に記載された用語(第1の面等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また撮像画像の取得処理、認識対象物の認識処理、仮想空間の配置設定処理、画像の生成及び合成処理、マスクオブジェクトの配置設定処理、画像の描画処理等も、本実施形態で説明したものに限定されず、これらと均等な手法・処理・構成も本発明の範囲に含まれる。