説明

画像処理装置、画像処理装置の制御方法、及びプログラム

【課題】処理負荷を軽減しつつ、リアリティの高い拡張現実を提供すること。
【解決手段】背景オブジェクト配置手段(88)は、撮影画像(60)の対象領域(62)外に撮影された背景を示す背景オブジェクト(74)を仮想空間(70)に配置する。被写体オブジェクト配置手段(90)は、仮想空間画像(64)において被写体オブジェクト(76)が背景オブジェクト(74)に重畳表示される位置と、撮影画像(60)における対象領域(62)の位置と、が対応するように、被写体オブジェクト(74)を、視点(72)と背景オブジェクト(76)との間に配置する。合成対象オブジェクト配置手段(92)は、仮想空間画像(64)において現実空間(70)と合成して表示させる合成対象を示す合成対象オブジェクト(78)を、背景オブジェクト(74)と被写体オブジェクト(76)との間に配置する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
従来、現実空間をカメラで撮影して得られる画像と、仮想空間を所与の視点から見た画像と、を重畳させて画面に表示させることによって、ユーザに拡張現実(AR:Augmented Reality)を提供する技術が知られている。例えば、特許文献1には、眼鏡を示すオブジェクトが配置された仮想空間を所与の視点から見た画像と、ユーザの顔を撮影した画像と、を重ね合わせることによって拡張現実を提供する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−142592号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術が提供する拡張現実においては、仮想空間を示す画像が、現実空間を示す画像に重畳して表示されるので、例えば、現実空間に配置された物体の陰(裏側)からキャラクタが表れるような表示制御を行うことができず、合成画像のリアリティが不足する場合がある。
【0005】
拡張現実におけるリアリティを高めるために、現実空間を撮影した画像から特徴点を抽出することによって、現実空間を模した3次元空間を生成するPTAM(Parallel Tracking and Mapping)に関する技術も検討されているが、PTAM技術では複雑な処理が必要であり、画像処理装置の処理負荷が増大する問題があった。
【0006】
本発明は上記課題に鑑みてなされたものであって、その目的は、画像処理装置の処理負荷を軽減しつつ、リアリティの高い拡張現実を提供することが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係る画像処理装置は、現実空間を撮影する撮影手段から前記現実空間の撮影画像を取得する画像取得手段と、仮想空間を所与の視点から見た様子を示す仮想空間画像を表示手段に表示させる表示制御手段と、前記撮影画像に対象領域を設定する対象領域設定手段と、前記撮影画像の前記対象領域外に撮影された背景を示す背景オブジェクトを前記仮想空間に配置する背景オブジェクト配置手段と、前記撮影画像の前記対象領域内に撮影された被写体を示す被写体オブジェクトを前記仮想空間に配置する手段であって、前記仮想空間画像において前記被写体オブジェクトが前記背景オブジェクトに重畳表示される位置と、前記撮影画像における前記対象領域の位置と、が対応するように、前記被写体オブジェクトを、前記視点と前記背景オブジェクトとの間に配置する被写体オブジェクト配置手段と、前記仮想空間画像において前記現実空間と合成して表示させる合成対象を示す合成対象オブジェクトを、前記背景オブジェクトと前記被写体オブジェクトとの間に配置する合成対象オブジェクト配置手段と、を含み、前記表示制御手段は、前記仮想空間画像において、前記合成対象オブジェクトを前記背景オブジェクトに重畳表示させ、かつ、前記被写体オブジェクトを前記合成対象オブジェクトに重畳表示させる、ことを特徴とする。
【0008】
また、本発明に係る画像処理装置の制御方法は、現実空間を撮影する撮影手段から前記現実空間の撮影画像を取得する画像取得ステップと、仮想空間を所与の視点から見た様子を示す仮想空間画像を表示手段に表示させる表示制御ステップと、前記撮影画像に対象領域を設定する対象領域設定ステップと、前記撮影画像の前記対象領域外に撮影された背景を示す背景オブジェクトを前記仮想空間に配置する背景オブジェクト配置ステップと、前記撮影画像の前記対象領域内に撮影された被写体を示す被写体オブジェクトを前記仮想空間に配置するステップであって、前記仮想空間画像において前記被写体オブジェクトが前記背景オブジェクトに重畳表示される位置と、前記撮影画像における前記対象領域の位置と、が対応するように、前記被写体オブジェクトを、前記視点と前記背景オブジェクトとの間に配置する被写体オブジェクト配置ステップと、前記仮想空間画像において前記現実空間と合成して表示させる合成対象を示す合成対象オブジェクトを、前記背景オブジェクトと前記被写体オブジェクトとの間に配置する合成対象オブジェクト配置ステップと、を含み、前記表示制御ステップは、前記仮想空間画像において、前記合成対象オブジェクトを前記背景オブジェクトに重畳表示させ、かつ、前記被写体オブジェクトを前記合成対象オブジェクトに重畳表示させる、ことを特徴とする。
【0009】
また、本発明に係るプログラムは、現実空間を撮影する撮影手段から前記現実空間の撮影画像を取得する画像取得手段、仮想空間を所与の視点から見た様子を示す仮想空間画像を表示手段に表示させる表示制御手段、前記撮影画像に対象領域を設定する対象領域設定手段、前記撮影画像の前記対象領域外に撮影された背景を示す背景オブジェクトを前記仮想空間に配置する背景オブジェクト配置手段、前記撮影画像の前記対象領域内に撮影された被写体を示す被写体オブジェクトを前記仮想空間に配置する手段であって、前記仮想空間画像において前記被写体オブジェクトが前記背景オブジェクトに重畳表示される位置と、前記撮影画像における前記対象領域の位置と、が対応するように、前記被写体オブジェクトを、前記視点と前記背景オブジェクトとの間に配置する被写体オブジェクト配置手段、前記仮想空間画像において前記現実空間と合成して表示させる合成対象を示す合成対象オブジェクトを、前記背景オブジェクトと前記被写体オブジェクトとの間に配置する合成対象オブジェクト配置手段、を含み、前記表示制御手段は、前記仮想空間画像において、前記合成対象オブジェクトを前記背景オブジェクトに重畳表示させ、かつ、前記被写体オブジェクトを前記合成対象オブジェクトに重畳表示させる、ことを特徴とする画像処理装置としてコンピュータを機能させる。
【0010】
また、本発明に係る情報記憶媒体は、上記プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
本発明によれば、画像処理装置の処理負荷を軽減しつつ、リアリティの高い拡張現実を提供することが可能になる。
【0012】
また、本発明の一態様では、前記画像取得手段は、前記ユーザにより撮影指示操作が行われた場合に、前記撮影手段から前記撮影画像を取得し、前記画像処理装置は、前記ユーザによる前記撮影指示操作が行われる前において前記撮影手段から取得される、前記現実空間を示す撮影前画像を前記表示手段に表示させ、前記撮影前画像において、前記撮影画像に設定される前記対象領域を前記ユーザに案内する案内手段、を更に含み、前記案内画像取得手段は、前記対象領域が前記ユーザに案内された後、前記ユーザにより前記撮影指示操作が行われた場合、前記撮影手段から前記撮影画像を取得する、ことを特徴とする。
【0013】
また、本発明の一態様では、前記画像処理装置は、前記撮影画像に設定される前記対象領域の形状又は位置の変更指示操作を前記ユーザが行うための手段と、前記ユーザによる前記変更指示操作が行われた場合、当該変更指示操作に基づいて前記対象領域の形状又は位置を変更する手段と、を更に含み、前記被写体オブジェクト配置手段は、前記変更された前記対象領域の形状又は位置に基づいて、前記被写体オブジェクトの形状又は位置を決定し、前記合成対象オブジェクト配置手段は、前記視点から見て、前記合成対象オブジェクトの全部又は一部が、前記決定された被写体オブジェクトに隠れるように、前記合成対象オブジェクトの位置又は動作を決定する、ことを特徴とする。
【0014】
また、本発明の一態様では、前記被写体オブジェクトは、半透明ポリゴンを含んで構成され、前記画像処理装置は、前記被写体オブジェクトのうち、前記対象領域内の所定領域に撮影された部分を示す前記半透明ポリゴンを透過させる手段、を更に含み、前記表示制御手段は、前記合成対象オブジェクトのうち、前記視点から見て前記透過された半透明ポリゴンが重畳する部分を、前記仮想空間画像において表示させる、ことを特徴とする。
【0015】
また、本発明の一態様では、前記画像処理装置は、前記仮想空間と、前記合成対象オブジェクトの動作を定義したモーションデータと、を関連付けて記憶する手段から前記モーションデータを取得する手段、を更に含み、前記合成対象オブジェクト配置手段は、前記表示制御手段により生成された仮想空間に関連付けられた前記モーションデータに基づいて、前記合成対象オブジェクトを前記仮想空間において動作させる、ことを特徴とする。
【0016】
また、本発明の一態様では、前記画像処理装置は、前記対象領域に撮影されるべき被写体を前記ユーザに案内する手段と、前記被写体と、前記合成対象オブジェクトの動作を定義したモーションデータと、を関連付けて記憶する手段から前記モーションデータを取得する手段と、を更に含み、前記合成対象オブジェクト配置手段は、前記ユーザに案内された前記被写体に関連付けられた前記モーションデータに基づいて、前記合成対象オブジェクトを前記仮想空間において動作させる、ことを特徴とする。
【図面の簡単な説明】
【0017】
【図1】本実施の形態に係るゲーム装置のハードウェア構成を示す図である。
【図2】ユーザが撮影する現実空間を示す図である。
【図3】ゲーム装置において表示される撮影画像を示す図である。
【図4】主記憶に構築される仮想空間の一例を示す図である。
【図5】仮想空間画像の一例を示す図である。
【図6】ゲーム装置で実現される機能を示す機能ブロック図である。
【図7】仮想空間画像の表示方法を説明するための図である。
【図8】背景画像の一例を示す図である。
【図9】被写体オブジェクトの配置方法を説明するための図である。
【図10】被写体画像の一例を示す図である。
【図11】ゲーム装置が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。
【図12】ゲーム装置が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。
【図13】ユーザにより形状及び位置が変更された対象領域を示す図である。
【図14】変形例(2)において表示される仮想空間画像の一例を示す図である。
【図15】変形例(2)における仮想空間を示す図である。
【図16】モーションデータのデータ格納例を示す図である。
【図17】被写体とモーションデータとの関連付けを示す図である。
【発明を実施するための形態】
【0018】
[1.実施形態]
以下、本発明に係る実施形態について図面に基づき詳細に説明する。本発明に係る画像処理は、例えば、携帯ゲーム機、携帯電話機等の携帯端末、又はパーソナルコンピュータ等の各種コンピュータを用いて実現される。ここでは、本発明の実施形態に係る画像処理装置を、携帯ゲーム機を用いて実現する場合について説明する。
【0019】
[1−1.ゲーム装置のハードウェア構成]
図1は、本実施の形態に係るゲーム装置10のハードウェア構成を示す図である。図1に示すように、ゲーム装置10は、携帯ゲーム機12と、ゲームメモリカード44と、を含んでなる。携帯ゲーム機12は、制御部14、記憶部16、主記憶18、画像処理部20、入出力処理部22、バス24、タッチスクリーン26(第1液晶表示部26a及びタッチパネル26b)、第2液晶表示部28、メモリカードスロット30、音声処理部32、音声出力部34、操作キー部36、通信インタフェース38、CMOSカメラ40、センサ部42を含む。
【0020】
制御部14は、記憶部16に記憶されるオペレーティングシステムや、ゲームメモリカード44に格納されるプログラムや各種データに基づいてゲーム装置10の各部を制御する。記憶部16は、フラッシュメモリ等の不揮発性記憶媒体を含んで構成される。記憶部16には、オペレーティングシステム等が記憶される。
【0021】
主記憶18は、例えば、RAMを含んで構成される。メモリカードスロット30を介してゲームメモリカード44から読み出されたプログラムは、必要に応じて主記憶18に書き込まれる。主記憶18は、制御部14の作業用メモリとしても用いられる。
【0022】
バス24は、アドレス及び各種データをゲーム装置10の各部でやり取りするために用いられる。制御部14、主記憶18、画像処理部20及び入出力処理部22は、バス24によって相互データ通信可能に接続される。
【0023】
画像処理部20は、VRAMを含む。画像処理部20は、制御部14からの指示に従って画像をVRAM上に描画する。VRAM上に描画された画像は、所定のタイミングで第1液晶表示部26aや第2液晶表示部28に表示される。第1液晶表示部26a及び第2液晶表示部28は、例えば、公知の液晶表示パネルである。
【0024】
入出力処理部22は、制御部14が、タッチパネル26b、メモリカードスロット30、音声処理部32、操作キー部36、通信インタフェース38、CMOSカメラ40、及びセンサ部42と各種データを授受するためのインタフェースである。
【0025】
操作キー部36は、ユーザが操作を行うための入力手段として機能する。操作キー部36は、例えば、十字ボタン、スライドパッド、各種ボタンを含む。入出力処理部22は、一定周期毎(例えば、1/60秒毎)に操作キー部36の各部の状態をスキャンする。このスキャン結果を表す操作信号は、バス24を介して制御部14に供給される。制御部14は、ユーザの操作内容を、操作信号に基づいて判断する。
【0026】
タッチパネル26bは、操作キー部36と同様に、ユーザが操作を行うための入力手段として機能する。タッチパネル26bは、ユーザ又はユーザが把持する物体(タッチペン)によって接触(押圧)された位置に応じた接触位置情報を、入出力処理部22を介して制御部14に供給する。
【0027】
メモリカードスロット30は、ゲームメモリカード44に記憶されたゲームプログラムやゲームデータを制御部14からの指示に従って読み出す。ゲームメモリカード44は、例えば、ゲームプログラムや画像データ等のゲームデータが記憶されるROMと、セーブデータ等のゲームデータが記憶されるEEPROMと、を含む。
【0028】
なお、本実施形態では、プログラムやデータをゲーム装置10に供給するためにゲームメモリカード44が用いられる例を挙げて説明するが、光ディスクなどの他の情報記憶媒体が用いられるようにしてもよい。他にも、インターネットなどの通信ネットワークを介して遠隔地からプログラムやデータが、ゲーム装置10に供給されるようにしてもよい。あるいは、赤外線通信などの各種データ通信を利用してプログラムやデータがゲーム装置10に供給されるようにしてもよい。
【0029】
音声処理部32は、サウンドバッファを含む。音声処理部32は、サウンドバッファに格納された楽曲の出力用データや音声データに基づいて、楽曲や音声を音声出力部34から出力する。通信インタフェース38は、ゲーム装置10を通信ネットワークに接続するためのインタフェースである。
【0030】
CMOSカメラ40は、現実空間を撮影する。なお、本実施形態においてはCMOSカメラ40によって現実空間が撮影される場合を説明するが、他の撮像素子(例えば、CCDカメラ)によって現実空間が撮影されるようにしてもよい。センサ部42は、ジャイロセンサ、及びモーションセンサ等を含んで構成される。センサ部42による検出信号は、入出力処理部22を介して制御部14に入力される。
【0031】
[1−2.ユーザに提供される拡張現実]
ゲーム装置10は、CMOSカメラ40が撮影する現実空間を示す画像(以降、撮影画像という。)に基づいて、現実空間に配置された物体の陰から架空のキャラクタが表れるような画像を表示させることによって、拡張現実をユーザに提供する。
【0032】
図2は、ユーザが撮影する現実空間を示す図である。図2に示すように、例えば、ユーザUは、ゲーム装置10を把持してCMOSカメラ40の撮影範囲を変更する。CMOSカメラ40は、種々の物体が配置された現実空間50を撮影する。例えば、現実空間50の地面52上には、木54と壁56とが配置される。ユーザが所与の撮影指示操作を行うと、CMOSカメラ40により撮影画像が生成される。
【0033】
図3は、ゲーム装置10において表示される撮影画像を示す図である。撮影画像60は、第1液晶表示部26aと第2液晶表示部28との何れに表示されるようにしてもよい。本実施形態においては、撮影画像60が第2液晶表示部28に表示される場合を説明する。図3に示すように、撮影画像60には、CMOSカメラ40の撮影範囲内に含まれる現実空間50の物体(例えば、地面52と木54と壁56)が含まれる。
【0034】
また、撮影画像60には、対象領域62が設定される。ユーザは、対象領域62内に現実空間50の所与の物体(被写体)が含まれるように、現実空間50を撮影することを目指す。即ち、対象領域62は、被写体の撮影位置(撮影画像60における表示位置)を、ユーザに案内するためのものである。本実施形態においては、ユーザは、対象領域62内に木54が撮影されるように(位置するように)、CMOSカメラ40の撮影範囲を変更する。
【0035】
本実施形態においては、対象領域62が長方形である場合を説明する。また、本実施形態においては、対象領域62が、撮影画像60の中心点と左端部(例えば、Y軸)との間の所定位置に配置される場合を説明する。例えば、図3に示すように、撮影画像60の左上端点を原点Oとする平面座標系(スクリーン座標系)の位置P(X,0)と、位置P(X,Y)と、を対角線とする長方形内の領域が、対象領域62として設定される(例えば、0<X<X,0<Y)。
【0036】
なお、ユーザによる撮影指示操作が行われる前にCMOSカメラ40により生成される撮影前画像において、対象領域62内の画像が、対象領域62外の画像よりも輝度が低く設定されるようにしてもよい。即ち、対象領域62内に撮影される物体と、対象領域62外に撮影される物体と、の表示形態を異ならしめることによって、ユーザに対象領域62が案内されるようにしてもよい。
【0037】
上記のように、対象領域62内に木54が含まれるようにCMOSカメラ40の撮影範囲が設定された場合、ユーザは、タッチパネル26bや操作キー部36を用いて所与の撮影指示操作を行う。ユーザが撮影指示操作を行うと、撮影画像60が取得される。そして、当該撮影画像60に基づいて、現実空間50を模した仮想空間が主記憶18に構築される。仮想空間には、現実空間50の物体を示すオブジェクトと、現実空間50に合成させる合成対象を示すオブジェクトと、が配置される。
【0038】
図4は、主記憶18に構築される仮想空間の一例を示す図である。図4に示すように、仮想空間70には、互いに直交する3軸(X軸−Y軸−Z軸)が設定される。仮想空間70に配置される各オブジェクト及び仮想カメラ72の位置は、3次元座標によって特定される。
【0039】
例えば、仮想空間70に配置されるオブジェクトのうち、仮想カメラ72の視野内のオブジェクトが第1液晶表示部26a又は第2液晶表示部28に表示される。仮想カメラ72の視野は、仮想カメラ72に設定される位置、視線方向V、及び画角に基づいて定まる。
【0040】
仮想空間70には、対象領域62外に撮影された現実空間50の物体(以降、単に背景という。)を示す背景オブジェクト74と、対象領域62内に撮影された現実空間50の物体(以降、単に被写体という。)を示す被写体オブジェクト76と、が配置される。詳細は後述するが、背景オブジェクト74の表面には、撮影画像60のうち対象領域62外の画像が描かれる。被写体オブジェクト76の表面には、撮影画像60のうち対象領域62内の画像が描かれる。
【0041】
また、仮想空間70には、合成対象を示すオブジェクトであるキャラクタ78が配置される。図4に示すように、キャラクタ78は、背景オブジェクト74と被写体オブジェクト76との間に配置される。例えば、キャラクタ78と仮想カメラ72との間にある被写体オブジェクト76の表面には木54が描かれているので、現実空間50の木54の陰(裏側)からキャラクタ78が現れるような仮想空間画像が表示される。
【0042】
図5は、仮想空間画像の一例を示す図である。例えば、仮想空間画像64においては、木54の陰(裏側)からキャラクタ78が出現してユーザに駆け寄ってくるように表示制御が行われる。即ち、キャラクタ78が、現実空間50の木54と壁56との間に立っているかのように表示制御が行われる。図4に示すように、仮想カメラ72から見て、キャラクタ78の一部は、被写体オブジェクト76に隠れているので、キャラクタ78のうち、木54に隠れている部位(例えば、キャラクタの下半身)は、仮想空間画像64に表示されない。
【0043】
このように、ゲーム装置10は、リアリティの高い拡張現実をユーザに提供する。更に、本実施形態のゲーム装置10は、例えば、PTAM等に比べて簡易な処理により処理負荷を軽減しつつ、拡張現実のリアリティを高める構成になっている。以下、この技術について詳細に説明する。
【0044】
[1−3.ゲーム装置において実現される機能]
図6は、ゲーム装置10で実現される機能を示す機能ブロック図である。図6に示すように、ゲーム装置10は、拡張現実データ記憶部80、画像取得部82、対象領域設定部84、案内部86、表示制御部88、背景オブジェクト配置部90、被写体オブジェクト配置部92、及び合成対象オブジェクト配置部94を含む。これら各機能は、例えば、制御部14が記憶部16に記憶されたプログラムを実行することによって実現される。
【0045】
[1−3−1.拡張現実データ記憶部]
拡張現実データ記憶部80は、記憶部16及び主記憶18を主として実現される。拡張現実データ記憶部80は、ユーザに拡張現実を提供するために必要なデータを記憶する。例えば、拡張現実データ記憶部80は、画像取得部82により取得される撮影画像60の画像データを記憶する。
【0046】
また、拡張現実データ記憶部80は、仮想空間70の様子を示す仮想空間データを記憶する。仮想空間データには、仮想空間70に配置されたオブジェクトの位置や姿勢を示すデータ、仮想カメラ72の設定内容(例えば、位置、視線方向V、及び画角)を示すデータが格納される。
【0047】
また例えば、拡張現実データ記憶部80は、撮影画像60に設定されている対象領域62を識別するためのデータを記憶する。対象領域62を識別するためのデータとしては、撮影画像60に設定されている対象領域62の種別を識別する情報、又は、対象領域62の位置及び形状を示す情報が記憶される。
【0048】
例えば、撮影画像60の各画素うち、対象領域62に含まれる画素の位置(例えば、対象領域62の左上の画素と右下の画素の位置)を示す情報が記憶される。対象領域62は、例えば、予め用意された複数の対象領域62の何れかが設定される。
【0049】
なお、制御部14は、拡張現実データ記憶部80に記憶される各種データを取得する手段として機能する。制御部14は、拡張現実データ記憶部80に記憶される各種データを変更(更新)する手段として機能する。
【0050】
また、拡張現実データ記憶部80に記憶されるデータは、上記の例に限られない。他にも例えば、キャラクタ78の動作を定義したモーションデータや、キャラクタ78の外観を示すテクスチャデータ、被写体オブジェクト76及び背景オブジェクト74にマッピングされる画像のマッピング位置を定義したデータ等が記憶されていてもよい。
【0051】
他にも例えば、対象領域62の種別を識別する情報と、対象領域62の形状及び位置を示す情報と、が関連付けられて記憶されるようにしてもよい。この場合、例えば、ユーザにより指定された対象領域62が撮影画像60に設定される。例えば、複数の対象領域62のうち、ユーザにより指定された種別の対象領域62に関連付けられた形状及び位置の対象領域62が撮影画像60に設定される。
【0052】
[1−3−2.画像取得部]
画像取得部82は、制御部14を主として実現される。画像取得部82は、現実空間50を撮影する撮影手段(例えば、CMOSカメラ40)から現実空間50の撮影画像60を取得する。画像取得部82は、CMOSカメラ40の検出信号に基づいて生成される撮影画像60を取得する。
【0053】
CMOSカメラ40の撮影範囲は、ユーザの操作により変化する。例えば、ユーザがCMOSカメラ40の姿勢を変化させて、CMOSカメラ40の位置及び視線方向Vを変化させることによって、CMOSカメラ40の撮影範囲を変化させる。
【0054】
例えば、画像取得部82は、ユーザにより撮影指示操作が行われた場合に、撮影手段(例えば、CMOSカメラ40)から撮影画像60を取得する。本実施形態においては、画像取得部82は、対象領域62がユーザに案内された後、ユーザにより撮影指示操作が行われた場合、撮影手段(例えば、CMOSカメラ40)から撮影画像60を取得する場合を説明する。
【0055】
[1−3−3.対象領域設定部]
対象領域設定部84は、制御部14を主として実現される。対象領域設定部84は、撮影画像60に対象領域62を設定する。対象領域設定部84は、拡張現実データ記憶部80に記憶された対象領域82を識別する情報に基づいて、撮影画像60に対象領域62を設定する。例えば、対象領域設定部84は、複数の対象領域82のうち、ユーザに指定された対象領域82を、撮影画像60に設定する。対象領域設定部84により設定された対象領域62を示す情報は、拡張現実データ記憶部80に記憶される。
【0056】
[1−3−4.案内部]
案内部86は、制御部14及び第1液晶表示部26a又は第2液晶表示部28を主として実現される。案内部86は、ユーザによる撮影指示操作が行われる前において撮影手段(例えば、CMOSカメラ40)から取得される、現実空間50を示す撮影前画像を表示手段(例えば、第2液晶表示部28)に表示させ、撮影前画像において、撮影画像60に設定される対象領域62をユーザに案内する。
【0057】
案内部86は、例えば、第2液晶表示部28に表示される撮影前画像のうち、対象領域62内の画像の表示形態と、対象領域62外の画像の表示形態と、を異ならしめることによって、ユーザに対象領域62を案内する。例えば、案内部86は、撮影前画像のうち、対象領域62内の画像又は対象領域62外の画像に所与のエフェクト処理を施すことによって、ユーザに対象領域62を案内する。
【0058】
なお、対象領域62は、他の方法によってユーザに案内されるようにしてもよい。他にも例えば、対象領域62は、所与の指標が表示されることによってユーザに案内されるようにしてもよいし、所与の音声が出力されることによってユーザに案内されるようにしてもよい。
【0059】
[1−3−5.表示制御部]
表示制御部88は、制御部14を主として実現される。表示制御部88は、仮想空間70を所与の視点(例えば、仮想カメラ72)から見た様子を示す仮想空間画像64を表示手段(例えば、第2液晶表示部28)に表示させる。
【0060】
図7は、仮想空間画像64の表示方法を説明するための図である。図7に示すように、仮想空間70のうち、仮想カメラ72の視野を所与のニアクリップNとファークリップFで切り取った視錘台内の空間が、仮想空間画像64に表示される。例えば、仮想カメラ72の視野のうちニアクリップNとファークリップFとで挟まれた空間内のオブジェクトに、所与の座標変換処理が実行されることによって、仮想空間画像64が表示される。
【0061】
仮想カメラ72とニアクリップN及びファークリップFとの位置関係は、予め設定されている。例えば、ニアクリップNの中心点N及び端点N〜Nと仮想カメラ72との位置関係を示すデータ(例えば、仮想カメラ72とニアクリップNとの距離)、及び、ファークリップFの中心点F及び端点F〜Fと仮想カメラ72との位置関係を示すデータ(例えば、仮想カメラ72とファークリップFとの距離)が予め記憶されている。
【0062】
[1−3−6.背景オブジェクト配置部]
背景オブジェクト配置部90は、制御部14を主として実現される。背景オブジェクト配置部90は、撮影画像60の対象領域62外に撮影された背景(例えば、地面52や壁56)を示す背景オブジェクト74を仮想空間70に配置する。背景オブジェクト74は、仮想カメラ72の視野内の所定位置に配置される。例えば、仮想空間画像64における背景オブジェクト74の表示位置と、撮影画像60における対象領域62外の位置と、が対応するように、背景オブジェクト74が配置される。
【0063】
本実施形態においては、背景オブジェクト74は、例えば、仮想カメラ72の視野を仮想カメラ72の視線方向Vに略直交する平面で切断した切断面に基づいて生成される場合を説明する。例えば、図7に示すように、仮想カメラ72の視錘台を、仮想カメラ72の視線方向Vに垂直な平面(視線方向Vを垂線方向とする平面)で切り取った切断面と、背景オブジェクト74の表面と、は略一致する。
【0064】
例えば、背景オブジェクト74は、仮想カメラ72との距離が距離D(例えば、仮想カメラ72とニアクリップNとの距離<距離D≦仮想カメラ72とファークリップFとの距離)となる位置に配置される。例えば、背景オブジェクト74の表面は、ニアクリップN及びファークリップFと平行になるように配置される。
【0065】
上記のように配置される背景オブジェクト74の表面には、撮影画像60のうち対象領域62外の画像(以降、背景画像60aという。)に基づいて、現実空間50の様子が描画される。
【0066】
図8は、背景画像60aの一例を示す図である。図8に示すように、背景画像60aは、撮影画像60から対象領域62内の画像(以降、被写体画像60bという。)を除いた画像である。別の言い方をすれば、背景画像60aは、撮影画像60と被写体画像60bとの差分画像である。
【0067】
背景オブジェクト74の各点は、背景画像60aの各点と関連付けられており、背景オブジェクト74の表面に背景画像60aがマッピングされる。即ち、背景画像60aは、背景オブジェクト74のテクスチャとして使用される。別の言い方をすれば、背景オブジェクト74には、背景画像60aに基づいて、現実空間50の背景が描画される。
【0068】
上記のように、背景オブジェクト74が、背景画像60aと同じように仮想空間画像64に表示されるように、背景オブジェクト74の形状及び位置が決定される。別の言い方をすれば、CMOSカメラ40と背景画像60aに撮影された現実空間50の背景との位置関係と、仮想カメラ72と背景オブジェクト74に描かれた現実空間50の背景との位置関係と、が対応するように、背景オブジェクト74が配置される。
【0069】
[1−3−7.被写体オブジェクト配置部]
被写体オブジェクト配置部92は、制御部14を主として実現される。被写体オブジェクト配置部92は、撮影画像60の対象領域62内に撮影された被写体を示す被写体オブジェクト76を仮想空間70に配置する手段である。被写体オブジェクト配置部92は、仮想空間画像64において被写体オブジェクト76が背景オブジェクト74に重畳表示される位置と、撮影画像60における対象領域62の位置と、が対応するように、被写体オブジェクト76を、視点(例えば、仮想カメラ72)と背景オブジェクト74との間に配置する。
【0070】
図9は、被写体オブジェクト76の配置方法を説明するための図である。図9に示すように、例えば、背景オブジェクト74の表面のうち撮影画像60の対象領域62に対応する領域(対象領域62の部分がマッピングされた領域)を底面とし仮想カメラ72の位置を頂点とする錐体Cを、仮想カメラ72の視線方向Vに略直交する平面で切断した切断面に基づいて生成される。
【0071】
即ち、背景オブジェクト74の表面に背景画像60aがマッピングされた場合の対象領域62を底面とし、仮想カメラ72の位置を頂点とする錐体Cを、仮想カメラ72の視線方向Vに垂直な平面(ただし、ニアクリップNと背景オブジェクト74との間の平面)で切り取った切断面と、被写体オブジェクト76の表面と、が略一致するように、被写体オブジェクト76の形状及び位置が決定される。
【0072】
被写体オブジェクト配置部92は、被写体画像60bに基づいて、上記のように配置される被写体オブジェクト76の表面に、現実空間50の様子を描画する。
【0073】
図10は、被写体画像60bの一例を示す図である。図10に示すように、被写体画像60bは、撮影画像60から対象領域62の画素が切り出されることによって生成される画像である。
【0074】
例えば、被写体オブジェクト76の各点は、被写体画像60bの各点と関連付けられており、被写体オブジェクト76の表面に被写体画像60bがマッピングされる。即ち、被写体画像60bは、被写体オブジェクト76のテクスチャとして使用される。別の言い方をすれば、被写体オブジェクト76には、被写体画像60bに基づいて、対象領域62内に撮影された現実空間の被写体が描画される。
【0075】
上記のように、例えば、仮想空間画像64における被写体オブジェクト76の表示位置と、撮影画像60における対象領域62の位置と、が対応するように、被写体オブジェクト76の位置が設定される。別の言い方をすれば、撮影画像60の中心点と対象領域62との位置関係と、仮想カメラ72の注視点と被写体オブジェクト76との位置関係と、が対応するように、被写体オブジェクト76が配置される。なお、背景オブジェクト74と被写体オブジェクト76との位置関係は、撮影画像60と対象領域62との位置関係に対応しているともいえる。
【0076】
[1−3−8.合成対象オブジェクト配置部]
合成対象オブジェクト配置部94は、仮想空間画像64において現実空間50と合成して表示させる合成対象を示す合成対象オブジェクト(例えば、キャラクタ78)を、背景オブジェクト74と被写体オブジェクト76との間に配置する。
【0077】
本実施形態においては、キャラクタ78は、被写体オブジェクト76よりも仮想カメラ72から遠い位置に配置される。つまり、キャラクタ78と仮想カメラ72との間隔は、被写体オブジェクト76と仮想カメラ72との間隔よりも長い。別の言い方をすれば、仮想カメラ72からキャラクタ78を見た場合にキャラクタ78の一部が被写体オブジェクト76に隠れるように、キャラクタ78と仮想カメラ72との間に、被写体オブジェクト76が配置される。
【0078】
キャラクタ78は、例えば、所与のモーションデータに定義された動作をする。例えば、キャラクタ78は、仮想空間70内を移動する。例えば、キャラクタ78は、仮想カメラ72に向かって移動したり、被写体オブジェクト76の周囲を回るように移動する。他にも例えば、キャラクタ78は、仮想カメラ72の視野外に出たり視野内に戻ったりするようにしてもよい。
【0079】
表示制御部88は、仮想空間画像64において、合成対象オブジェクト(例えば、キャラクタ78)を背景オブジェクト74に重畳表示させ、かつ、被写体オブジェクト76を合成対象オブジェクト(例えば、キャラクタ78)に重畳表示させる。
【0080】
表示制御部88は、キャラクタ78が、撮影画像60の対象領域62内に撮影された被写体と、撮影画像60の対象領域62外に撮影された背景と、の間に位置しているように、仮想空間画像64の表示制御を行う。即ち、表示制御部88は、キャラクタ78の一部が、被写体オブジェクト76に隠れるように表示制御を行う。
【0081】
[1−4.ゲーム装置において実行される処理]
次に、ゲーム装置10が実行する処理について説明する。図11及び図12は、ゲーム装置10が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。制御部14は、例えば、記憶部16及びゲームメモリカード44に記憶されるプログラムに従って、図11及び図12に示す処理を実行する。図11及び図12に示す処理は、ユーザにより所与の操作が行われた場合に実行される。例えば、図示しないメニュー画面から、拡張現実が提供されるためのボタンが選択された場合に、以下に説明する処理が実行される。
【0082】
図11に示すように、まず、制御部14は、CMOSカメラ40を起動して、CMOSカメラ40の検出信号に基づいて生成される撮影前画像を第2液晶表示部28に表示させる(S1)。制御部14は、記憶部16又はゲームメモリカード44に記憶された対象領域62の位置及び形状を示すデータを参照し、撮影前画像のうち、対象領域62内の画素の輝度を対象領域62外の画素の輝度よりも低く表示させることによって、対象領域62をユーザに案内する(S2)。なお、S2において案内される対象領域62は、撮影画像60に設定される対象領域62であり、例えば、予めユーザに指定された対象領域62が案内されるようにしてもよい。
【0083】
制御部14は、ユーザから撮影指示操作が入力されたか否かを判定する(S3)。撮影指示操作が入力されない場合(S3;N)、処理はS1に戻る。この場合、ユーザはゲーム装置10の姿勢を変更することによって、CMOSカメラ40の撮影範囲を変更する。例えば、ユーザは、対象領域62内に木54が含まれるように撮影範囲を変更する。
【0084】
撮影指示操作が入力された場合(S3;Y)、制御部14は、撮影画像60の画像データを一時的に主記憶18に記憶させる(S4)。即ち、ユーザにより撮影指示操作が入力された場合にCMOSカメラ40の検出信号に基づいて生成された撮影画像60の画像データが、主記憶18に記憶される。当該生成された撮影画像60には、S2において案内された対象領域62が設定される。
【0085】
制御部14は、主記憶18に仮想空間70を構築する(S5)。S5においては、例えば、3軸が設定されて、仮想カメラ72が所与の位置に配置される。仮想カメラ72の位置、視線方向V、及び画角は、予め定められた値が設定されるようにしてもよい。
【0086】
制御部14は、背景オブジェクト74を、仮想カメラ72の視野内の所与の位置に配置する(S6)。例えば、仮想カメラ72の視錘台を、ニアクリップNとファークリップFに平行な平面で切断した切断面に基づいて、背景オブジェクト74が配置される。
【0087】
制御部14は、主記憶18に記憶された撮影画像60のうち、対象領域62外の背景画像60aを抽出する(S7)。例えば、対象領域62の位置及び形状を示す情報が参照され、撮影画像60から対象領域62外の背景画像60aが切り出される。S7において抽出された背景画像60aを示す画像データは、主記憶18に一時的に記憶される。
【0088】
なお、撮影画像60がそのまま背景オブジェクト74にマッピングされたとしても、対象領域62がマッピングされている箇所を仮想カメラ72から見た場合、当該箇所は被写体オブジェクト76に隠れて表示されないので、S7においては、撮影画像60をそのまま背景オブジェクト74にマッピングするようにしてもよい。
【0089】
制御部14は、S6において配置された背景オブジェクト74に、S7において抽出された背景画像60aをマッピングする(S8)。S8においては、背景画像60aのマッピング位置を示すデータが参照されることによって、背景画像60aのマッピングが行われる。
【0090】
図12に移り、制御部14は、被写体オブジェクト76を、仮想カメラ72と背景オブジェクト74との間に配置する(S9)。S9においては、例えば、背景オブジェクト74に描かれた対象領域62を底面とし、仮想カメラ72を頂点とする錐体の切断面に基づいて、被写体オブジェクト76が配置される。別の言い方をすれば、仮想カメラ72を基準(光源)として被写体オブジェクト76を射影した場合、背景オブジェクト74の表面に表れる被写体オブジェクト76の影と、背景オブジェクト74の表面における対象領域62と、が略一致するように、被写体オブジェクト76が配置される。
【0091】
制御部14は、主記憶18に記憶された撮影画像60のうち、対象領域62内の被写体画像60bを抽出する(S10)。例えば、対象領域62の位置及び形状を示す情報が参照され、撮影画像60から対象領域62内の被写体画像60bが切り出される。S10において抽出された被写体画像60bを示す画像データは、主記憶18に一時的に記憶される。
【0092】
制御部14は、S9において配置された被写体オブジェクト76に、S10において抽出された被写体画像60bをマッピングする(S11)。S11においては、被写体画像60bのマッピング位置を示すデータが参照されることによって、被写体画像60bのマッピングが行われる。
【0093】
制御部14は、モーションデータを参照し、キャラクタ78を仮想空間70に配置する(S12)。例えば、キャラクタ78は、被写体オブジェクト76と背景オブジェクト74との間に配置される。キャラクタ78は、モーションデータに基づいて所与の動作をする。
【0094】
制御部14は、仮想カメラ72から仮想空間70を見た様子を示す仮想空間画像64を第2液晶表示部28に表示させる(S13)。S13においては、例えば、キャラクタ78が木54の陰から表れるように仮想空間画像64の表示制御が実行される。
【0095】
制御部14は、終了条件を満たすか否かを判定する(S14)。終了条件は、本処理を終了させるために予め定められた条件であればよく、例えば、モーションデータの再生が終了したか否かを示す条件である。
【0096】
終了条件を満たす場合(S14;Y)、制御部14は、本処理を終了する。終了条件を満たさない場合(S14;N)、処理はS12に戻り、モーションデータの再生が継続される。
【0097】
以上説明したゲーム装置10によれば、撮影画像60に設定される対象領域62に基づいて、架空のキャラクタ78が現実空間50を自在に移動するような仮想空間画像64を表示させることができるので、ユーザが感じるリアリティが向上する。例えば、ユーザは、現実空間50においてキャラクタ78と一緒に遊んでいるかのような感覚を得ることができる。
【0098】
また、背景オブジェクト74と被写体オブジェクト76とを用いることによって、現実空間50を模した仮想空間70を疑似的に生成することができるので、例えば、PTAM技術等に比べて簡易な処理内容で、木54と壁56の間からキャラクタ78が表れるような表示制御処理を実行することができる。
【0099】
したがって、ゲーム装置10の処理負荷を軽減しつつ、リアリティの高い拡張現実をユーザに提供することができる。また、対象領域62をユーザに案内してからユーザに撮影指示操作を行わせることによって、ユーザは、対象領域62に被写体を撮影することができる。ユーザは、案内された対象領域62に合わせて被写体を撮影するだけでよいので、特段の専門知識を要することなく手軽に拡張現実を体験することができる。
【0100】
[2.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【0101】
(1)例えば、現実空間50に配置されている木54には、比較的太いものもあれば細いものもある。したがって、対象領域62に木54が収まりきらない場合もあり、対象領域62の幅が木54の幅よりも広すぎる場合もある。そこで、ユーザの操作によって対象領域62の形状又は位置が変更されるようにしてもよい。例えば、ユーザは、予め用意された複数の対象領域62の中から、撮影画像60に設定する対象領域62を選択するようにしてもよいし、撮影画像60に設定されている対象領域62の形状又は位置の変更操作を行ってもよい。
【0102】
変形例(1)のゲーム装置10は、撮影画像60に設定される対象領域62の形状又は位置の変更指示操作をユーザが行うための手段を含む。当該手段は、タッチパネル26b又は操作キー部36を主として実現される。例えば、制御部14が、所与の操作信号を取得することによって、対象領域62の変更指示操作が検出される。例えば、対象領域62の変更指示操作は、複数の対象領域62の何れかをユーザが指定する操作、又は、現在設定されている対象領域62の形状又は位置の変更をユーザが指示する操作である。
【0103】
また、ゲーム装置10は、ユーザにより変更指示操作が行われた場合、当該変更指示操作に基づいて対象領域62を変更する手段を含む。当該手段は、制御部14を主として実現される。例えば、複数の対象領域62のうちユーザにより指定された対象領域62が撮影画像60に設定される、又は、ユーザによる変更指示操作に基づいて対象領域62の形状又は位置が変更される。
【0104】
例えば、変形例(1)の拡張現実データ記憶部80は、予め用意された対象領域62の種別と、当該対象領域62の形状又は位置を示すデータと、を関連付けて記憶する。又は、拡張現実データ記憶部80は、ユーザによる変更指示操作と、対象領域62の形状又は位置の変更方法を示すデータと、を関連付けて記憶する。ユーザにより変更指示操作が行われた場合、拡張現実データ記憶部80の記憶内容が参照されることによって、変更後の対象領域62の形状又は位置が特定される。
【0105】
図13は、ユーザにより形状及び位置が変更された対象領域62を示す図である。例えば、図3に示す長方形の対象領域62が、図13に示すような楕円形の対象領域62に変更される。この状態では、例えば、ユーザは、現実空間50に配置された机58を対象領域62内に撮影することを目指す。ユーザにより、対象領域62内に机58が撮影されると、仮想空間70には、楕円形の対象領域62に対応する被写体オブジェクト76が配置される。
【0106】
変形例(1)の被写体オブジェクト配置部92は、変更された対象領域62の形状又は位置に基づいて、被写体オブジェクト76の形状又は位置を決定する。被写体オブジェクト76の設定方法は、実施形態と同様である。即ち、仮想空間画像64における被写体オブジェクト76の形状及び位置が、撮影画像60における対象領域62の形状及び位置に対応するように、被写体オブジェクト76の形状又は位置が決定される。例えば、背景オブジェクト74の表面における対象領域62を底面とし、仮想カメラ72を頂点とする錐体(上記の場合は楕円錐)を、仮想カメラ72の視線方向Vと垂直な平面で切断した切断面に基づいて、被写体オブジェクト76が設定される。
【0107】
また、変形例(1)の合成対象オブジェクト配置部94は、視点(例えば、仮想カメラ72)から見て、合成対象オブジェクト(例えば、キャラクタ78)の全部又は一部が、被写体オブジェクト76に隠れるように、合成対象オブジェクトの位置又は動作を決定する。
【0108】
例えば、キャラクタ78が、仮想カメラ72から見て、背景オブジェクト74と被写体オブジェクト76との間に配置されるように、キャラクタ78の位置又は動作が決定される。例えば、モーションデータの再生開始時のキャラクタ78の位置が、背景オブジェクト74と被写体オブジェクト76との間になるように、キャラクタ78の位置が決定差される。また例えば、複数のモーションデータを用意しておき、これら複数のモーションデータのうち、キャラクタ78の位置が背景オブジェクト74と被写体オブジェクト76との間になる動作を定義したモーションデータが抽出され、当該モーションデータが再生される。
【0109】
変形例(1)によれば、ユーザは、現実空間50に配置された物体の配置状況に応じて、対象領域62を変更することができる。例えば、木54が対象領域62に対して細い場合には、対象領域62の幅を細くすることができるので、ゲーム装置10は、現実空間50に応じた最適な拡張現実をユーザに提供することができる。
【0110】
(2)また例えば、仮想カメラ72から見てキャラクタ78が被写体オブジェクト76に隠れている場合、当該隠れている箇所の一部分のみを仮想空間画像64に表示させるようにしてもよい。
【0111】
図14は、変形例(2)において表示される仮想空間画像64の一例を示す図である。図14に示すように、キャラクタ78が、ユーザから見て机58の奥側に座っているように、仮想空間画像64が表示される。キャラクタ78のうち、机58に隠れている部分(例えば、キャラクタ78の胴体)は表示されない。一方、キャラクタ78のうち、机58に隠れていない部分(例えば、キャラクタ78の足)は、表示される。
【0112】
上記のような表示制御を実現するために、変形例(2)における被写体オブジェクト76は、半透明ポリゴンを含んで構成される。半透明ポリゴンは、透過度(いわゆるアルファ値)が設定され、例えば、表面に描かれたテクスチャを透過させる。
【0113】
例えば、表示制御部88は、被写体オブジェクト76のうち、対象領域62内の所定領域(例えば、下半分)に撮影された部分を示す半透明ポリゴンの透過度を透過させる。対象領域62の所定領域は、予め定められた対象領域62の一部分であり、例えば、サービス提供者が、被写体ではなく背景が撮影されると想定する領域である。例えば、対象領域62の所定領域は、机58ではなく、地面52が撮影されると想定される領域である。
【0114】
図15は、変形例(2)における仮想空間70を示す図である。例えば、図15に示すように、仮想空間70には、楕円形の被写体オブジェクト76が配置される。キャラクタ78は、座位姿勢で配置される。仮想カメラ72からキャラクタ78を見た場合、キャラクタ78の首から下の部位は、被写体オブジェクト76に隠れる。即ち、被写体オブジェクト76が半透明ポリゴンでない場合、被写体オブジェクト76は透過しないので、キャラクタ78の首から下の部位は、仮想空間画像64に表示されない。
【0115】
そこで、変形例(2)の表示制御部88は、合成対象オブジェクト(例えば、キャラクタ78)のうち、視点(例えば、仮想カメラ72)から見て透過された半透明ポリゴンが重畳する部分を、仮想空間画像64において表示させる。図15に示す場合、楕円形の被写体オブジェクト76の上側は透過しないように設定され、下側(図15に示す斜線領域76a)は透過するように設定される。被写体オブジェクト76に設定される透過度を示す情報は、予め拡張現実データ記憶部80に記憶されるようにしてもよいし、ユーザの操作入力に基づいて設定されるようにしてもよい。
【0116】
変形例(2)によれば、例えば、図15に示すように、机58の奥に座るキャラクタ78の足だけが見えるような表示制御を行うことができるので、拡張現実のリアリティを更に向上させることができる。
【0117】
(3)また例えば、実施形態においては、長方形の対象領域62が設定される場合を説明したが、変形例(1)及び変形例(2)のように、他の対象領域62が撮影画像60に設定されるようにしてもよい。この場合、キャラクタ78は、撮影画像60に設定された対象領域62に基づいて生成される仮想空間70に応じた動作をするようにしてもよい。
【0118】
変形例(3)の拡張現実データ記憶部80は、仮想空間70(例えば、対象領域62の種別、形状、又は位置を識別する情報)と、合成対象オブジェクトの動作を定義したモーションデータと、を関連付けて記憶する場合を説明する。即ち、撮影画像60に設定された対象領域62に基づいて生成される仮想空間70に応じてキャラクタ78が異なる動作をするように、モーションデータが定義されている。
【0119】
図16は、モーションデータのデータ格納例を示す図である。図16に示すように、仮想空間70を識別する情報としては、対象領域62の種別を示す情報や、対象領域62の位置又は形状を示す情報が格納される。図16に示す複数の対象領域62の何れかが、撮影画像60に設定される。
【0120】
図16に示すモーションデータは、キャラクタ78の時系列的な位置変化を定義したデータである。例えば、モーションデータとしては、キャラクタ78のポリゴンの頂点位置の変化を定義したデータが格納される。具体的には、キャラクタ78に設定されるスケルトンの位置変化と、当該変化するスケルトンの位置とポリゴンの頂点位置との位置関係と、を示すデータが、モーションデータとして格納される。
【0121】
例えば、縦長の対象領域62に基づいて生成される仮想空間70に関連付けられたモーションデータは、被写体の陰からキャラクタ78が駆け寄ってくる動作が定義される。また例えば、横長の対象領域62に基づいて生成される仮想空間70に関連付けられたモーションデータは、被写体の奥にキャラクタ78が腰掛ける動作が定義される。
【0122】
変形例(3)の合成対象オブジェクト配置部94は、表示制御部88により生成された仮想空間70に関連付けられたモーションデータに基づいて、合成対象オブジェクト(例えば、キャラクタ78)を仮想空間70において動作させる。
【0123】
例えば、拡張現実データ記憶部80の記憶内容が参照され、撮影画像60に設定された対象領域62を示す情報が参照される。例えば、撮影画像60に設定されている対象領域62の種別が特定される。そして、撮影画像60に設定されている対象領域62に基づいて生成される仮想空間70に関連付けられたモーションデータに基づいて、仮想空間70内のキャラクタ78を動作させる。モーションデータが再生されることによって、仮想空間70内でキャラクタ78が動作する。
【0124】
変形例(3)によれば、仮想空間70に応じた動作をキャラクタ78に行わせることができる。したがって、多種多様な拡張現実をユーザに提供することができる。
【0125】
(4)また例えば、対象領域62に撮影されるべき被写体が、ユーザに案内されるようにしてもよい。例えば、ユーザが対象領域62に木54を撮影すべき旨が案内されるようにしてもよい。この場合、対象領域62に撮影されるべき被写体に応じた動作を、キャラクタ78が行うようにしてもよい。即ち、対象領域62に木54が撮影されるべき場合と、対象領域62に机58が撮影されるべき場合と、でキャラクタ78の動作が異なるようにしてもよい。
【0126】
変形例(4)のゲーム装置10は、対象領域62に撮影されるべき被写体をユーザに案内する手段を含む。例えば、当該手段は、案内部86によって実現される。案内部86は、撮影前画像に所与の指標を重畳させることによって、被写体をユーザに案内する。他にも例えば、音声によって被写体をユーザに案内するようにしてもよい。案内部86が案内すべき被写体は、対象領域62に応じて変化するようにしてもよい。また、案内部86が案内している被写体を示す情報が、拡張現実データ記憶部80に記憶されるようにしてもよい。
【0127】
変形例(4)の拡張現実データ記憶部80は、被写体と、合成対象オブジェクトの動作を定義したモーションデータと、を関連付けて記憶する。被写体は、ユーザに案内される被写体であり、サービス提供者が予め定めた物体である。被写体に応じて対象領域62の形状や位置が設定されているようにしてもよい。
【0128】
図17は、被写体とモーションデータとの関連付けを示す図である。図17に示すように、被写体を識別するための情報と、モーションデータと、が関連付けられて記憶される。図17に示すデータにおいて定義された被写体の何れかが、ユーザに案内される。
【0129】
変形例(4)の合成対象オブジェクト配置部94は、ユーザに案内された被写体に関連付けられたモーションデータに基づいて、合成対象オブジェクト(例えば、キャラクタ78)を仮想空間70において動作させる。例えば、合成対象オブジェクト配置部94は、拡張現実データ記憶部80の記憶内容を参照し、案内部86によりユーザに案内されている被写体を特定する。当該特定された被写体に関連付けられたモーションデータに基づいて、キャラクタ78が仮想空間70で動作する。
【0130】
変形例(4)によれば、対象領域62に撮影されるべき被写体に応じた動作をキャラクタ78に行わせることができる。
【0131】
(5)また例えば、撮影画像60に複数の対象領域62が設定されるようにしてもよい。例えば、撮影画像60に2つの対象領域62が設定される場合、それぞれの対象領域62内に撮影された現実空間50の物体を示す被写体オブジェクト76が、仮想空間70に配置される。即ち、複数の被写体オブジェクト76が、仮想空間70に配置される。
【0132】
なお、これら複数の被写体オブジェクト76の各々と、仮想カメラ72と、の距離は、互いに異なっていてもよい。即ち、仮想カメラ72から比較的離れた位置に配置されている被写体オブジェクト76があってもよいし、当該被写体オブジェクト76よりも仮想カメラ72に近い被写体オブジェクト76があってもよい。
【0133】
また例えば、撮影画像60に複数の対象領域62が設定される場合、当該複数の対象領域62の組み合わせに応じてキャラクタ78の動作が異なるようにしてもよい。この場合、例えば、対象領域62の組み合わせと、モーションデータと、が関連付けられて記憶されるようにしてもよい。合成対象オブジェクト配置部94は、撮影画像60に設定されている対象領域62の組み合わせに関連付けられたモーションデータに基づいて、キャラクタ78を動作させる。
【0134】
(6)また例えば、被写体オブジェクト76を配置する位置をユーザが指定できるようにしてもよい。例えば、仮想カメラ72と被写体オブジェクト76との距離をユーザが指定できるようにしてもよい。別の言い方をすれば、錐体Cの切断面の位置をユーザが指定できるようにしてもよい。このようにすることによって、現実空間50に配置された被写体の奥行き(被写体とCMOSカメラ40との距離)をユーザが指定することができる。
【0135】
(7)また例えば、キャラクタ78がモーションデータに基づいて動作する場合を説明したが、キャラクタ78は、ユーザによる操作に基づいて仮想空間70内を動作するようにしてもよい。例えば、タッチパネル26b又は操作キー部36の検出信号に基づいて、キャラクタ78の位置や姿勢、移動方向が変更されるようにしてもよい。このようにすることによって、ユーザは、自分の操作に応じて、キャラクタ78が現実空間50に配置された物体に隠れたり出現したりする様子を味わうことができる。
【0136】
(8)また例えば、ユーザの操作に応じて、仮想空間70に所与のオブジェクトを生成するようにしてもよい。例えば、ユーザが所与の操作を行うと、仮想空間70に雪玉を示すオブジェクトが生成される。当該オブジェクトは、ユーザの操作に応じて、仮想空間70を移動する。例えば、仮想空間70内を動き回るキャラクタ78に当該オブジェクトを接触させることをユーザが目指すゲーム(例えば、雪合戦ゲーム)が実行されるようにしてもよい。
【0137】
例えば、キャラクタ78が被写体オブジェクト76と背景オブジェクト74との間に位置する場合には、雪玉を示すオブジェクトは被写体オブジェクト76に接触する。したがって、ユーザは、キャラクタ78が現実空間50の木54に隠れて、自分が投げた雪玉をやり過ごすような感覚を味わうことができる。
【0138】
(9)また例えば、実施形態においては、撮影画像60が静止画である場合を説明したが、連続撮影された撮影画像60からなる動画に基づいて、仮想空間70が生成されるようにしてもよい。また例えば、ユーザが撮影開始操作を行った場合のCMOSカメラ40の位置及び姿勢が記憶されるようにしてもよい。この場合、センサ部42により検出されるCMOSカメラ40の位置及び姿勢の変化に応じて、仮想カメラ72の位置及び姿勢が制御されるようにしてもよい。
【0139】
(10)また例えば、対象領域62がユーザに案内された後に、ユーザが撮影指示操作を行う場合を説明したが、撮影画像60が撮影された後に、ユーザによって対象領域62が設定されるようにしてもよい。この場合、案内部86は、ゲーム装置10において実現されないようにしてもよい。例えば、ユーザは、撮影画像60に設定したい対象領域62をタッチペン等を用いて囲うことによって、対象領域62を設定する。
【0140】
(11)また例えば、実施形態においては、背景オブジェクト74及び被写体オブジェクト76が動的に生成される場合を説明したが、背景オブジェクト74の形状及び位置と、被写体オブジェクト76の形状及び位置と、を定義したデータが予め記憶されていてもよい。この場合、当該データは、対象領域62毎に記憶されている。ユーザにより撮影画像60が撮影された場合、当該撮影時に設定されている対象領域62に関連付けられたデータに基づいて、背景オブジェクト74及び被写体オブジェクト76が仮想空間70に配置される。
【0141】
(12)また、合成対象オブジェクトは、キャラクタ78に限られない。合成対象オブジェクトは、現実空間50に合成させる合成対象を示すオブジェクトであればよく、他にも例えば、現実空間50にはない架空の物体(例えば、架空の岩)が、合成対象オブジェクトとして仮想空間70に配置されるようにしてもよい。
【0142】
(13)また例えば、本発明は、実施形態や変形例において説明したゲーム装置10以外の画像処理装置にも適用することができる。例えば、画像処理装置が携帯電話機によって実現される場合には、携帯電話機に備えられたカメラにより生成される撮影画像に基づいて拡張現実がユーザに提供されるようにしてもよい。
【符号の説明】
【0143】
10 ゲーム装置、12 携帯ゲーム機、14 制御部、16 記憶部、18 主記憶、20 画像処理部、22 入出力処理部、24 バス、26 タッチスクリーン、26a 第1液晶表示部、26b タッチパネル、28 第2液晶表示部、30 メモリカードスロット、32 音声処理部、34 音声出力部、36 操作キー部、38 通信インタフェース、40 CMOSカメラ、42 センサ部、44 ゲームメモリカード、50 現実空間、52 地面、54 木、56 壁、58 机、60 撮影画像、60a 背景画像、60b 被写体画像、62 対象領域、64 仮想空間画像、70 仮想空間、72 仮想カメラ、74 背景オブジェクト、76 被写体オブジェクト、78 キャラクタ、80 拡張現実データ記憶部、82 画像取得部、84 対象領域設定部、86 案内部、88 表示制御部、90 背景オブジェクト配置部、92 被写体オブジェクト配置部、94 合成対象オブジェクト配置部、N ニアクリップ、F ファークリップ。

【特許請求の範囲】
【請求項1】
現実空間を撮影する撮影手段から前記現実空間の撮影画像を取得する画像取得手段と、
仮想空間を所与の視点から見た様子を示す仮想空間画像を表示手段に表示させる表示制御手段と、
前記撮影画像に対象領域を設定する対象領域設定手段と、
前記撮影画像の前記対象領域外に撮影された背景を示す背景オブジェクトを前記仮想空間に配置する背景オブジェクト配置手段と、
前記撮影画像の前記対象領域内に撮影された被写体を示す被写体オブジェクトを前記仮想空間に配置する手段であって、前記仮想空間画像において前記被写体オブジェクトが前記背景オブジェクトに重畳表示される位置と、前記撮影画像における前記対象領域の位置と、が対応するように、前記被写体オブジェクトを、前記視点と前記背景オブジェクトとの間に配置する被写体オブジェクト配置手段と、
前記仮想空間画像において前記現実空間と合成して表示させる合成対象を示す合成対象オブジェクトを、前記背景オブジェクトと前記被写体オブジェクトとの間に配置する合成対象オブジェクト配置手段と、
を含み、
前記表示制御手段は、
前記仮想空間画像において、前記合成対象オブジェクトを前記背景オブジェクトに重畳表示させ、かつ、前記被写体オブジェクトを前記合成対象オブジェクトに重畳表示させる、
ことを特徴とする画像処理装置。
【請求項2】
前記画像取得手段は、前記ユーザにより撮影指示操作が行われた場合に、前記撮影手段から前記撮影画像を取得し、
前記画像処理装置は、
前記ユーザによる前記撮影指示操作が行われる前において前記撮影手段から取得される、前記現実空間を示す撮影前画像を前記表示手段に表示させ、前記撮影前画像において、前記撮影画像に設定される前記対象領域を前記ユーザに案内する案内手段、
を更に含み、
前記案内画像取得手段は、
前記対象領域が前記ユーザに案内された後、前記ユーザにより前記撮影指示操作が行われた場合、前記撮影手段から前記撮影画像を取得する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像処理装置は、
前記撮影画像に設定される前記対象領域の形状又は位置の変更指示操作を前記ユーザが行うための手段と、
前記ユーザによる前記変更指示操作が行われた場合、当該変更指示操作に基づいて前記対象領域の形状又は位置を変更する手段と、
を更に含み、
前記被写体オブジェクト配置手段は、
前記変更された前記対象領域の形状又は位置に基づいて、前記被写体オブジェクトの形状又は位置を決定し、
前記合成対象オブジェクト配置手段は、
前記視点から見て、前記合成対象オブジェクトの全部又は一部が、前記決定された被写体オブジェクトに隠れるように、前記合成対象オブジェクトの位置又は動作を決定する、
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記被写体オブジェクトは、半透明ポリゴンを含んで構成され、
前記画像処理装置は、
前記被写体オブジェクトのうち、前記対象領域内の所定領域に撮影された部分を示す前記半透明ポリゴンを透過させる手段、
を更に含み、
前記表示制御手段は、
前記合成対象オブジェクトのうち、前記視点から見て前記透過された半透明ポリゴンが重畳する部分を、前記仮想空間画像において表示させる、
ことを特徴とする請求項1〜3の何れか一項に記載の画像処理装置。
【請求項5】
前記画像処理装置は、
前記仮想空間と、前記合成対象オブジェクトの動作を定義したモーションデータと、を関連付けて記憶する手段から前記モーションデータを取得する手段、
を更に含み、
前記合成対象オブジェクト配置手段は、
前記表示制御手段により生成された仮想空間に関連付けられた前記モーションデータに基づいて、前記合成対象オブジェクトを前記仮想空間において動作させる、
ことを特徴とする請求項1〜4の何れか一項に記載の画像処理装置。
【請求項6】
前記画像処理装置は、
前記対象領域に撮影されるべき被写体を前記ユーザに案内する手段と、
前記被写体と、前記合成対象オブジェクトの動作を定義したモーションデータと、を関連付けて記憶する手段から前記モーションデータを取得する手段と、
を更に含み、
前記合成対象オブジェクト配置手段は、
前記ユーザに案内された前記被写体に関連付けられた前記モーションデータに基づいて、前記合成対象オブジェクトを前記仮想空間において動作させる、
ことを特徴とする請求項1〜4の何れか一項に記載の画像処理装置。
【請求項7】
現実空間を撮影する撮影手段から前記現実空間の撮影画像を取得する画像取得ステップと、
仮想空間を所与の視点から見た様子を示す仮想空間画像を表示手段に表示させる表示制御ステップと、
前記撮影画像に対象領域を設定する対象領域設定ステップと、
前記撮影画像の前記対象領域外に撮影された背景を示す背景オブジェクトを前記仮想空間に配置する背景オブジェクト配置ステップと、
前記撮影画像の前記対象領域内に撮影された被写体を示す被写体オブジェクトを前記仮想空間に配置するステップであって、前記仮想空間画像において前記被写体オブジェクトが前記背景オブジェクトに重畳表示される位置と、前記撮影画像における前記対象領域の位置と、が対応するように、前記被写体オブジェクトを、前記視点と前記背景オブジェクトとの間に配置する被写体オブジェクト配置ステップと、
前記仮想空間画像において前記現実空間と合成して表示させる合成対象を示す合成対象オブジェクトを、前記背景オブジェクトと前記被写体オブジェクトとの間に配置する合成対象オブジェクト配置ステップと、
を含み、
前記表示制御ステップは、
前記仮想空間画像において、前記合成対象オブジェクトを前記背景オブジェクトに重畳表示させ、かつ、前記被写体オブジェクトを前記合成対象オブジェクトに重畳表示させる、
ことを特徴とする画像処理装置の制御方法。
【請求項8】
現実空間を撮影する撮影手段から前記現実空間の撮影画像を取得する画像取得手段、
仮想空間を所与の視点から見た様子を示す仮想空間画像を表示手段に表示させる表示制御手段、
前記撮影画像に対象領域を設定する対象領域設定手段、
前記撮影画像の前記対象領域外に撮影された背景を示す背景オブジェクトを前記仮想空間に配置する背景オブジェクト配置手段、
前記撮影画像の前記対象領域内に撮影された被写体を示す被写体オブジェクトを前記仮想空間に配置する手段であって、前記仮想空間画像において前記被写体オブジェクトが前記背景オブジェクトに重畳表示される位置と、前記撮影画像における前記対象領域の位置と、が対応するように、前記被写体オブジェクトを、前記視点と前記背景オブジェクトとの間に配置する被写体オブジェクト配置手段、
前記仮想空間画像において前記現実空間と合成して表示させる合成対象を示す合成対象オブジェクトを、前記背景オブジェクトと前記被写体オブジェクトとの間に配置する合成対象オブジェクト配置手段、
を含み、
前記表示制御手段は、
前記仮想空間画像において、前記合成対象オブジェクトを前記背景オブジェクトに重畳表示させ、かつ、前記被写体オブジェクトを前記合成対象オブジェクトに重畳表示させる、
ことを特徴とする画像処理装置としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2013−8297(P2013−8297A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−141890(P2011−141890)
【出願日】平成23年6月27日(2011.6.27)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】