(57)【特許請求の範囲】
【請求項１】
撮像装置によって撮像されることで、該撮像装置に対する位置および姿勢を特定可能な特徴が付された部品と、
撮像装置に接続される画像処理装置と、を備える画像処理システムであって、
前記画像処理装置は、
前記撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
前記特徴を、該撮像画像から検出する特徴検出手段と、
検出された前記特徴に基づいて、前記撮像装置によって撮像される空間における位置および姿勢を示す基準となる位置姿勢基準を取得する基準取得手段と、
前記特徴が複数検出された撮像画像に基づいて、前記特徴毎に取得された複数の前記位置姿勢基準の間における互いの位置および姿勢に関する相対的な関係を示す相対関係情報を取得する相対関係情報取得手段と、
前記相対関係情報を記憶する記憶手段と、
前記撮像画像から検出された前記複数の特徴のうち、新たな撮像画像からは検出されない特徴について、前記相対関係情報に係る複数の前記位置姿勢基準のうちの前記新たな撮像画像からも検出される特徴の位置姿勢基準と前記相対関係情報とに基づいて、位置姿勢基準を推定する推定手段と、
仮想空間に、実空間内の前記撮像装置の位置と姿勢とが対応する仮想カメラと、前記新たな画像からも検出される特徴の前記位置姿勢基準に従って位置及び姿勢が決定される仮想オブジェクトと、前記新たな撮像画像からは検出されない特徴の前記推定された位置姿勢基準に従って位置および姿勢が決定される仮想オブジェクトと、を配置し、前記仮想カメラから見た前記仮想空間内の前記新たな撮像画像の撮像範囲に対応する範囲の画像を生成することで、仮想空間画像を描画する描画手段と、
を有する、
画像処理システム。
【請求項２】
前記画像処理装置は、
前記相対関係情報取得手段によって取得された前記相対関係情報が、前記記憶手段に記憶されている相対関係情報に対応する相対関係情報であるか否かを判定する判定手段と、
前記取得された相対関係情報が前記記憶されている相対関係情報に対応する相対関係
情報であると前記判定手段によって判定された場合に、該取得された相対関係情報を用いて該記憶されている相対関係情報を更新する更新手段と、を更に備える、
請求項１に記載の画像処理システム。
【請求項３】
前記画像処理装置は、
前記取得された相対関係情報が前記記憶されている相対関係情報に対応する相対関係情報であると前記判定手段によって判定されなかった場合に、該取得された相対関係情報を前記記憶手段に記憶させる追加手段を更に備える、
請求項２に記載の画像処理システム。
【請求項４】
前記画像処理装置は、
所定の条件を満たす前記相対関係情報を、前記記憶手段から削除する削除手段を更に備える、
請求項２又は３に記載の画像処理システム。
【請求項５】
前記画像処理装置は、
前記撮像画像に前記仮想空間の画像を重畳した合成画像を生成し、該合成画像を表示装置に表示させる表示制御手段を更に備える、
請求項１から４の何れか一項に記載の画像処理システム。
【請求項６】
前記画像処理装置は、
時間の経過に伴って前記仮想空間内の時間が経過するように所定の処理を行う処理手段を更に備える、
請求項１から５の何れか一項に記載の画像処理システム。
【請求項７】
撮像装置によって撮像された撮像画像を取得する撮像画像取得ステップと、
前記撮像装置によって撮像される空間における、前記撮像装置に対する位置および姿勢を特定可能な特徴を、該撮像画像から検出する特徴検出ステップと、
検出された前記特徴に基づいて、前記撮像装置によって撮像される空間における位置および姿勢を示す基準となる位置姿勢基準を取得する基準取得ステップと、
前記特徴が複数検出された撮像画像に基づいて、前記特徴毎に取得された複数の前記位置姿勢基準の間における互いの位置および姿勢に関する相対的な関係を示す相対関係情報を取得する相対関係情報取得ステップと、
前記相対関係情報を記憶する記憶ステップと、
前記撮像画像から検出された前記複数の特徴のうち、新たな撮像画像からは検出されない特徴について、前記相対関係情報に係る複数の前記位置姿勢基準のうちの前記新たな撮像画像からも検出される特徴の位置姿勢基準と前記相対関係情報とに基づいて、位置姿勢基準を推定する推定ステップと、
仮想空間に、実空間内の前記撮像装置の位置と姿勢とが対応する仮想カメラと、前記新たな画像からも検出される特徴の前記位置姿勢基準に従って位置及び姿勢が決定される仮想オブジェクトと、前記新たな撮像画像からは検出されない特徴の前記推定された位置姿勢基準に従って位置および姿勢が決定される仮想オブジェクトと、を配置し、前記仮想カメラから見た前記仮想空間内の前記新たな撮像画像の撮像範囲に対応する範囲の画像を生成することで、仮想空間画像を描画する描画ステップと、
を実行する画像処理方法。
【請求項８】
撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像装置によって撮像される空間における、前記撮像装置に対する位置および姿勢を特定可能な特徴を、該撮像画像から検出する特徴検出手段と、
検出された前記特徴に基づいて、前記撮像装置によって撮像される空間における位置お
よび姿勢を示す基準となる位置姿勢基準を取得する基準取得手段と、
前記特徴が複数検出された撮像画像に基づいて、前記特徴毎に取得された複数の前記位置姿勢基準の間における互いの位置および姿勢に関する相対的な関係を示す相対関係情報を取得する相対関係情報取得手段と、
前記相対関係情報を記憶する記憶手段と、
前記撮像画像から検出された前記複数の特徴のうち、新たな撮像画像からは検出されない特徴について、前記相対関係情報に係る複数の前記位置姿勢基準のうちの前記新たな撮像画像からも検出される特徴の位置姿勢基準と前記相対関係情報とに基づいて、位置姿勢基準を推定する推定手段と、
仮想空間に、実空間内の前記撮像装置の位置と姿勢とが対応する仮想カメラと、前記新たな画像からも検出される特徴の前記位置姿勢基準に従って位置及び姿勢が決定される仮想オブジェクトと、前記新たな撮像画像からは検出されない特徴の前記推定された位置姿勢基準に従って位置および姿勢が決定される仮想オブジェクトと、を配置し、前記仮想カメラから見た前記仮想空間内の前記新たな撮像画像の撮像範囲に対応する範囲の画像を生成することで、仮想空間画像を描画する描画手段と、
を備える画像処理装置。
【請求項９】
コンピュータを、
撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像画像に撮像された空間における、前記撮像装置に対する位置および姿勢を特定可能な特徴を、該撮像画像から検出する特徴検出手段と、
検出された前記特徴に基づいて、前記撮像画像に撮像された空間における位置および姿勢を示す基準となる位置姿勢基準を取得する基準取得手段と、
前記特徴が複数検出された撮像画像に基づいて、前記特徴毎に取得された複数の前記位置姿勢基準の間における互いの位置および姿勢に関する相対的な関係を示す相対関係情報を取得する相対関係情報取得手段と、
前記相対関係情報を記憶する記憶手段と、
前記撮像画像から検出された前記複数の特徴のうち、新たな撮像画像からは検出されない特徴について、前記相対関係情報に係る複数の前記位置姿勢基準のうちの前記新たな撮像画像からも検出される特徴の位置姿勢基準と前記相対関係情報とに基づいて、位置姿勢基準を推定する推定手段と、
仮想空間に、実空間内の前記撮像装置の位置と姿勢とが対応する仮想カメラと、前記新たな画像からも検出される特徴の前記位置姿勢基準に従って位置及び姿勢が決定される仮想オブジェクトと、前記新たな撮像画像からは検出されない特徴の前記推定された位置姿勢基準に従って位置および姿勢が決定される仮想オブジェクトと、を配置し、前記仮想カメラから見た前記仮想空間内の前記新たな撮像画像の撮像範囲に対応する範囲の画像を生成することで、仮想空間画像を描画する描画手段と、
として機能させる画像処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、画像処理方法、画像処理装置、および画像処理用プログラムに関する。
【背景技術】
【０００２】
従来、テキストや仮想オブジェクト等の各種情報を、現実空間に付加表示する、拡張現実（ＡＲ：Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）と称される技術がある。この拡張現実の分野において、仮想オブジェクト等を表示するための基準座標判別に関する研究が行われている。例えば、カメラによって撮像された画像におけるマーカーの位置および姿勢に基づいて、実世界におけるマーカーとカメラとの相対位置および相対姿勢を計算する方法が開示されている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】加藤博一、Ｍａｒｋ  Ｂｉｌｌｉｎｇｈｕｒｓｔ、浅野浩一、橘啓八郎共著、「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」、日本バーチャルリアリティ学会論文誌、Ｖｏｌ４、Ｎｏ．４、１９９９年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の拡張現実技術では、カメラで撮像された現実空間内のマーカーに対応させて仮想オブジェクト等を付加表示する。しかし、従来の拡張現実技術では、現実空間内のマーカーを基準として位置および姿勢に関する処理を行う場合、処理は基準となる一のマーカーに依拠しており、処理の柔軟性が低かった。
【０００５】
本発明は、上記した問題に鑑み、マーカーを基準として位置および姿勢に関する処理を行う場合の、処理の柔軟性を向上させることを課題とする。
【課題を解決するための手段】
【０００６】
本発明では、上記課題を解決するために、以下の手段を採用した。即ち、本発明は、撮像装置によって撮像されることで、該撮像装置に対する位置および姿勢を特定可能な特徴が付された部品と、撮像装置に接続される画像処理装置と、を備える画像処理システムであって、前記画像処理装置は、前記撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、前記特徴を、該撮像画像から検出する特徴検出手段と、検出された前記特徴に基づいて、前記撮像装置によって撮像される空間における位置および姿勢を示す基準となる位置姿勢基準を取得する基準取得手段と、前記特徴が複数検出された撮像画像に基づいて、前記特徴毎に取得された複数の前記位置姿勢基準の間における互いの位置および姿勢に関する相対的な関係を示す相対関係情報を取得する相対関係情報取得手段と、を有する、画像処理システムである。
【０００７】
本発明において、撮像装置に対する位置および姿勢を特定可能な特徴とは、具体的には、所謂ＡＲ用のマーカー、または二次元バーコード等のコードである。そして、このような特徴は、例えばカード等の部品に付されてよい。
【０００８】
位置姿勢基準は、撮像された空間における位置および姿勢を示す基準である。位置姿勢基準は、例えば、マーカーの位置および姿勢に応じて原点および３軸が定められた座標系
であってよいし、または撮像装置に対するマーカーの位置姿勢情報であってもよい。
【０００９】
また、相対関係情報は、複数の位置姿勢基準の間における互いの位置および姿勢に関する相対的な関係を示す情報である。相対関係情報は、例えば、位置姿勢基準としての座標系の間での座標変換に用いられる変換行列であってよい。
【００１０】
本発明に係る画像処理システムによれば、上記各手段を備えることによって、複数の前記位置姿勢基準の間における互いの位置および姿勢に関する相対的な関係を示す相対関係情報が取得される。このため、本発明によれば、所謂ＡＲ用のマーカー等の特徴を基準として位置および姿勢に関する処理を行う場合の、処理の柔軟性を向上させることが可能となる。
【００１１】
また、前記画像処理装置は、前記相対関係情報に係る複数の前記位置姿勢基準のうちの一の位置姿勢基準と該相対関係情報とに基づいて、該複数の位置姿勢基準のうちの他の位置姿勢基準を推定する推定手段を更に備えてもよい。
【００１２】
このような推測手段を備えることによって、位置姿勢基準を他の位置姿勢基準からの推定によっても求めることが可能となり、処理の柔軟性が向上する。
【００１３】
例えば、従来は、複数のマーカーに基づいて処理を行う場合、複数のマーカーを同時に撮像装置による撮像範囲に入れるように撮像する必要があった。このため、それらの複数のマーカーを同時にカメラによる撮像範囲に収める必要があり、撮像装置の可動範囲は狭く、ユーザに不便を強いるものであった。しかし、画像処理装置は、このような推測手段を備えることによって、複数のマーカーを同時に撮像範囲に収める必要がなくなり、撮像装置の移動に関する柔軟性を高めることが出来る。
【００１４】
また、前記画像処理装置は、前記相対関係情報を記憶する記憶手段を更に備えてもよい。
【００１５】
また、前記画像処理装置は、前記相対関係情報取得手段によって取得された前記相対関係情報が、前記記憶手段に記憶されている相対関係情報に対応する相対関係情報であるか否かを判定する判定手段と、前記取得された相対関係情報が前記記憶されている相対関係情報に対応する相対関係情報であると前記判定手段によって判定された場合に、該取得された相対関係情報を用いて該記憶されている相対関係情報を更新する更新手段と、を更に備えてもよい。
【００１６】
このような更新手段を備えることで、特徴の配置位置に移動が生じた場合や、特徴の位置姿勢算出において誤差が発生したような場合であっても、記憶されている相対関係情報を最新の状態に保ち、特徴の移動等に追従する事が出来る。
【００１７】
また、前記画像処理装置は、前記取得された相対関係情報が前記記憶されている相対関係情報に対応する相対関係情報であると前記判定手段によって判定されなかった場合に、該取得された相対関係情報を前記記憶手段に記憶させる追加手段を更に備えてもよい。
【００１８】
このような追加手段を備えることで、特徴が追加された場合であっても、記憶されている相対関係情報を最新の状態に保ち、特徴の追加に追従する事が出来る。
【００１９】
また、前記画像処理装置は、所定の条件を満たす前記相対関係情報を、前記記憶手段から削除する削除手段を更に備えてもよい。
【００２０】
このような削除手段を備えることで、例えば、特徴が除去されたような場合や、処理の進行に伴ってある特徴を位置姿勢基準として用いなくなったような場合であっても、記憶されている相対関係情報を最新の状態に保つことが出来る。
【００２１】
また、前記画像処理装置は、仮想空間に仮想カメラを配置し、前記仮想空間に、前記位置姿勢基準に従って位置および姿勢が決定される仮想オブジェクトを配置し、前記仮想カメラから見た前記仮想空間の画像を生成することで、仮想空間画像を描画する描画手段を更に備えてもよい。
【００２２】
また、前記画像処理装置は、前記撮像画像に前記仮想空間の画像を合成した合成画像を生成し、該合成画像を表示装置に表示させる表示制御手段を更に備えてもよい。
【００２３】
また、前記画像処理装置は、時間の経過に伴って前記仮想空間内の時間が経過するように所定の処理を行う処理手段を更に備えてもよい。
【００２４】
また、本発明は、コンピュータによって実行される方法、またはコンピュータに実行させるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【００２５】
本発明によれば、マーカーを基準として位置および姿勢に関する処理を行う場合の、処理の柔軟性を向上させることが可能となる。
【図面の簡単な説明】
【００２６】
【図１】実施形態に係るゲームシステムの構成を示す図である。
【図２】実施形態に係るゲーム装置の外観図である。
【図３】実施形態に係るゲーム装置の内部構成を示すブロック図である。
【図４】実施形態に係るゲームシステムにおいて扱われる座標系を示す図である。
【図５】実施形態に係るゲーム装置が保持する情報を示す図である。
【図６】実施形態に係るゲーム装置の機能ブロック図である。
【図７】実施形態に係るゲーム処理の流れを示すフローチャートである。
【図８】実施形態におけるマーカー座標系とマーカー座標系との関係を示す図である。
【図９】実施形態に係る相対関係情報取得処理の流れを示すフローチャートである。
【図１０】実施形態に係る推定処理の流れを示すフローチャートである。
【図１１】実施形態において、マーカーが実カメラによる撮像範囲にない状態のゲームシステムの様子を示す図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施の形態を、図面に基づいて説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてもよい。
【００２８】
＜システムの構成＞
図１は、本実施形態に係るゲームシステム１００の構成を示す図である。ゲームシステム１００には、ゲーム装置１、および複数のカード２ａ、２ｂ（但し、カードの種類を区
別しない場合には、単に「カード２」と称する）が含まれる。ゲームシステム１００は、例えば、複数のユーザＡ、Ｂによってプレイされ、夫々のユーザＡ、Ｂの拠点（陣）の位置をカード２ａ、２ｂの配置によって設定し、カード２ａ、２ｂが配置された空間をフィールドとしてユーザＡ、Ｂが互いの拠点を奪い合う陣取りゲームを提供する。なお、本実施形態では、本発明をゲームシステム１００に適用した場合の実施の形態について説明するが、本発明の適用対象はゲームに限定されない。
【００２９】
ゲーム装置１は、ディスプレイ２２（上側ＬＣＤ２２として後述する）および実カメラ２３（外側撮像部２３として後述する）を備えている。ゲーム装置１は、実カメラ２３を用いて撮像された実空間の撮像画像に、仮想カメラを用いて描画（レンダリング）された仮想空間内の仮想オブジェクトを合成して、ディスプレイ２２に表示する機能を有する。本実施形態において、仮想オブジェクトは、ゲームのキャラクター、拠点、アイテム、背景等の物体を示す３次元の画像データである。但し、仮想オブジェクトは、２次元の画像データであってもよい。
【００３０】
ゲームシステム１００では、ゲーム装置１の実カメラ２３を用いてカード２を撮像すると、ゲーム装置１のディスプレイ２２に、撮像された実空間には存在せず、仮想空間に配置されている仮想オブジェクトが表示される（図１を参照）。図１に示された例では、仮想オブジェクトとして、ユーザＡの拠点オブジェクト４ａ、ユーザＡのキャラクターオブジェクト５ａ、ユーザＢの拠点オブジェクト４ｂ、ユーザＢのキャラクターオブジェクト５ｂが示されている。ゲーム進行中、ユーザがカード２を操作（移動等）すると、ゲーム装置１のディスプレイ２２に表示される仮想オブジェクトの位置姿勢や、仮想オブジェクトに関連付けられたパラメータが変化する。即ち、ゲームシステム１００が提供するゲームでは、ゲーム装置１によって撮像される実空間の状況の変化に応じて、ゲーム装置１のディスプレイ２２に表示される仮想空間の状況も変化する。
【００３１】
カード２ａ、２ｂには、印刷等の方法でマーカー３ａ、３ｂ（但し、マーカーの種類を区別しない場合には、単に「マーカー３」と称する）が付されている。このマーカー３は、仮想オブジェクトと対応付けられており、該マーカー３に対応付けられた仮想オブジェクトの位置姿勢の基準を示す指標である。本実施形態では、ゲームはユーザＡおよびユーザＢによってプレイされ、ユーザＡによってカード２ａが配置され、ユーザＢによってカード２ｂが配置される。但し、図１においてカード２は２枚しか示されていないが、カード２は３枚以上であってもよい。また、カード２ａ、２ｂには、ユーザＡのカードであるかユーザＢのカードであるかを区別するために夫々異なるマーカー３ａ、３ｂが付されているが、同一のマーカーが付されたカード２が用いられてもよい。
【００３２】
仮想オブジェクトは、ゲーム装置１のディスプレイ２２において、対応付けられたマーカー３に対して所定位置に合成表示される。また、仮想オブジェクトは、上下、前後、および左右の方向を有する。そのため、マーカー３は、仮想オブジェクトの表示姿勢を特定することが可能なものであることが好ましい。即ち、マーカー３は、実カメラ２３を用いて撮像されることで、実カメラ２３に対する位置および姿勢を特定可能な記号、文字、図形、絵、およびそれらの組み合わせ等であることが好ましい。
【００３３】
図２は、本実施形態に係るゲーム装置１の外観図である。ゲーム装置１は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、ヒンジ構造により開閉可能（折り畳み可能）に連結されている。
【００３４】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｅ、アナログスティック１５、挿入口１１Ｄ、および挿入口１７が設けられる。
【００３５】
下側ＬＣＤ１２は、画像を（立体視可能ではなく）平面的に表示する表示装置である。タッチパネル１３はゲーム装置１の入力装置の一つである。タッチパネル１３への入力に用いるタッチペン２８は、挿入口１７（図２において点線で示される）から挿入されて収容される。なお、タッチペン２８の代わりにユーザの指を用いることもできる。
【００３６】
各操作ボタン１４Ａ〜１４Ｅは、所定の入力を行うための入力装置である。ボタン１４Ａ〜１４Ｅには、ゲーム装置１によって実行されるプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは、選択操作やゲーム中のキャラクターオブジェクトの移動操作等に用いられる。例えば、各操作ボタン１４Ｂ〜１４Ｅは、決定操作やキャンセル操作等に用いられる。アナログスティック１５は、方向を指示するデバイスである。
【００３７】
挿入口１１Ｄ（図２において点線で示される）は、ゲームプログラムを記録した外部メモリ４５を挿入するための挿入口１１Ｄが設けられる。
【００３８】
上側ハウジング２１には、上側ＬＣＤ２２、外側左撮像部２３ａ、外側右撮像部２３ｂ、内側撮像部２４、および３Ｄ調整スイッチ２５が設けられる。
【００３９】
上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、３Ｄ調整スイッチ２５によって行われる。
【００４０】
内側撮像部２４は、上側ハウジング２１の内側面２１Ｂの内向きの法線方向を撮像方向とする撮像部である。外側左撮像部２３ａおよび外側右撮像部２３ｂは、いずれも内側面２１Ｂとは反対の外側面の外向きの法線方向を撮像方向とする撮像部である。以降、外側左撮像部２３ａおよび外側右撮像部２３ｂをまとめて、外側撮像部２３と称する。
【００４１】
図３は、本実施形態に係るゲーム装置１の内部構成を示すブロック図である。ゲーム装置１は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、角速度センサ４０、電源回路４１、およびインターフェイス回路（Ｉ／Ｆ回路）４２等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００４２】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３等を含む。ＣＰＵ３１１は、ゲーム装置１内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４５やデータ保存用内部メモリ３５）に記憶されている当該所定のプログラムを実行することによって、所定の処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。ＶＲＡＭ３１３に描画された画像は、上側ＬＣＤ２２および／または下側ＬＣＤ１２に出力されて表示される。
【００４３】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、およびデータ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３
３は、外部メモリ４５を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４６を着脱自在に接続するためのインターフェイスである。
【００４４】
メインメモリ３２は、情報処理部３１（ＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。即ち、メインメモリ３２は、各種データを一時的に記憶したり、外部（外部メモリ４５や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００４５】
外部メモリ４５は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４５は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４５が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４５に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。
【００４６】
データ保存用外部メモリ４６は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）であり、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４６は、ＳＤカードである。データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４６およびデータ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００４７】
情報処理部３１には、無線通信モジュール３６およびローカル通信モジュール３７が接続される。無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ＩＥＥＥ８０２．１１ｂ／ｇのアドホックモードにおいて、他のゲーム装置１と直接無線通信を行ったりすることが可能である。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部３１は、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００４８】
情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。なお、加速度センサ３９は、静電容量式の加速度センサであっても、他の方式の加速度センサであってもよい。また、加速度センサ３９は１軸または２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１の姿勢や動きを算出する。
【００４９】
情報処理部３１には、角速度センサ４０が接続される。角速度センサ４０は、ゲーム装置１の３軸周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ（角速度データ）を情報処理部３１へ出力する。情報処理部３１は、角速度センサ４０から出力された角速度データを受信して、ゲーム装置１の姿勢や動きを算出する。
【００５０】
情報処理部３１には、ＲＴＣ３８および電源回路４１が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻を計算する。電源回路４１は、ゲーム装置１が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１
の各部品に電力を供給する。
【００５１】
情報処理部３１には、Ｉ／Ｆ回路４２が接続される。Ｉ／Ｆ回路４２には、マイク４３、スピーカ４４、およびタッチパネル１３が接続される。マイク４３は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４２に出力する。スピーカ４４は、Ｉ／Ｆ回路４２からの音声信号をアンプ（図示せず）により増幅し、音声を出力する。Ｉ／Ｆ回路４２は、マイク４３およびスピーカ４４の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。本実施形態では、タッチパネル１３は、抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、例えば、静電容量方式等、任意の押圧式のタッチパネルを用いることができる。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチパネル１３のタッチ位置座標を生成して情報処理部３１に出力する。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われたタッチ位置を知ることができる。
【００５２】
操作ボタン１４およびアナログスティック１５は、情報処理部３１に接続され、各操作ボタン１４Ａ〜１４Ｅおよびアナログスティック１５に対する入力状況を示す操作データを情報処理部３１に出力する。情報処理部３１は、操作ボタン１４およびアナログスティック１５から操作データを取得することによって、操作ボタン１４およびアナログスティック１５に対する入力に応じた処理を実行する。
【００５３】
下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（ＧＰＵ３１２）の指示にしたがって画像を表示する。下側ＬＣＤ１２は、画像を（立体視可能ではなく）平面的に表示する表示装置である。下側ＬＣＤ１２の画素数は、一例として、３２０ｄｏｔ×２４０ｄｏｔ（横×縦）である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の表示装置を利用してもよい。また、下側ＬＣＤ１２として、所望の解像度を有する表示装置を利用することができる。
【００５４】
上側ＬＣＤ２２は、裸眼立体視可能な表示装置である。上側ＬＣＤ２２は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。上側ＬＣＤ２２の画素数は、一例として８００ｄｏｔ×２４０ｄｏｔ（横×縦）である。本実施形態では、上側ＬＣＤ２２は液晶表示装置であるとして説明される。ただし、これに限らず、例えば、ＥＬを利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００５５】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示にしたがって画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００５６】
内側撮像部２４は、所定の解像度を有する撮像素子と、レンズとを含む。撮像素子は、例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等である。レンズは、ズーム機構を有するものでもよい。
【００５７】
外側左撮像部２３ａおよび外側右撮像部２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。外側左撮像部２３ａと外側右撮像
部２３ｂとは、ゲーム装置１が実行するプログラムによって、２つの外側撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）のいずれか一方を単独で使用可能である。本実施形態では、何れか一方の外側撮像部のみを使用することとして説明する。
【００５８】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダの位置に応じた電気信号を情報処理部３１に送信する。
【００５９】
図４は、本実施形態に係るゲームシステム１００において扱われるマーカー座標系（Ｘｍ，Ｙｍ，Ｚｍ）を示す図である。マーカー座標系は、マーカー３の中心点を原点とし、互いに直交する３軸によって定義される座標系である。マーカー座標系のＸ軸とＹ軸とは、マーカー３が付されている平面上に定義され、Ｚ軸は該平面の垂直方向（上下方向）に定義される。また、マーカー３には前後および左右が定義されており、例えば、左右方向にＸ軸が定義され、前後方向にＹ軸が定義されている。このようにして、実空間に配置されたマーカー３を基準として仮想空間の座標系が定義されることにより、実空間と仮想空間とを対応付けることができる。
【００６０】
また、マーカー座標系は、各マーカー３に対して定義される。ただし、複数のマーカー３間で、１つのマーカー座標系を共有して用いることも可能である。なお、マーカー座標系の原点は、マーカー３の中心点でなくてもよい。例えば、マーカー３における何れかの特徴点を、マーカー座標系の原点として用いることが出来る。また、Ｘ軸、Ｙ軸、Ｚ軸の定義方法は、本実施形態において示される一例であり、Ｘ軸、Ｙ軸、Ｚ軸は、その他の基準に従って定義されてもよい。
【００６１】
ゲーム装置１は、外側左撮像部２３ａまたは外側右撮像部２３ｂ（以下、単に「外側撮像部２３」と称する）によって撮像された画像に対して、例えばパターンマッチング等の画像処理を行うことによって、当該画像に含まれるマーカー３を検出することができる。ゲーム装置１は、検出されたマーカー３に基づいて、当該マーカー３と外側撮像部２３との相対的な位置および姿勢を算出する。
【００６２】
本実施形態において、仮想空間に配置される仮想オブジェクトは、当該仮想オブジェクトが対応づけられたマーカー３のマーカー座標系に配置される。仮想オブジェクトは、仮想空間に配置された仮想カメラによって撮像されることで描画（レンダリング）され、ゲーム装置１のディスプレイ２２に表示される。ここで、仮想カメラは、ユーザに視認させる仮想空間の画像を撮像するためのものである。仮想カメラのマーカー座標系における位置および姿勢は、実空間の外側撮像部２３の位置および姿勢と一致される。このため、マーカー３に基づいて仮想空間が定義され、当該仮想空間において、外側撮像部２３の位置や撮像方向を変化させると、上側ＬＣＤ２２に表示される仮想空間の画像も変化する。
【００６３】
図５は、本実施形態に係るゲーム装置１が保持する情報を示す図である。ゲーム装置１は、マーカー情報５８２、オブジェクト情報５８３、相対関係情報５８４、およびゲーム進行状況情報５８５を保持する。これらの情報は、後述の記憶部５９に保持されている。
【００６４】
マーカー情報５８２は、マーカー３に関する情報である。マーカー情報には、例えば、マーカー３を識別するためのマーカーＩＤ、マーカー画像、マーカーサイズ、対応オブジェクトＩＤ、仮想オブジェクトの位置姿勢、オブジェクトの表示サイズ等が含まれる。マーカー画像は、マーカー３の外観を示す画像である。また、マーカーサイズは、マーカー３の縦横の長さ等、マーカー３の大きさを示す情報である。ゲーム装置１は、マーカー画像とマーカーサイズに基づいて、撮像画像に含まれるマーカー３の見え方から、撮像部とマーカー３との距離、マーカー３の姿勢等、即ち、マーカー位置姿勢情報およびマーカー座標系を取得することができる。対応オブジェクトＩＤは、マーカー３に対応する位置に
表示される仮想オブジェクトの識別番号である。なお、１つのマーカー３に対して２以上の仮想オブジェクトが対応付けられていてもよい。本実施形態では、マーカー情報５８２には、該当マーカー座標系によって管理される拠点オブジェクトおよびキャラクターオブジェクトのオブジェクトＩＤが含まれる。仮想オブジェクトの位置姿勢は、マーカー座標系における位置（座標値）および姿勢（単位ベクトル）で示される。マーカー情報５８２は、ゲームシステム１００において使用される各マーカー３に対して存在する。
【００６５】
オブジェクト情報５８３は、マーカー３に対応する位置に表示される仮想オブジェクトに関する情報である。オブジェクト情報５８３には、例えば、仮想オブジェクトを識別するためのオブジェクトＩＤおよびオブジェクトのデータが含まれる。オブジェクト情報５８３は、ゲームシステム１００において使用される各オブジェクトについて存在する。
【００６６】
相対関係情報５８４は、マーカー座標系の間における互いの位置および姿勢に関する相対的な関係を示す情報であり、本実施形態において具体的には、異なるマーカー座標系の間で座標変換を行うために用いられる変換行列であり、変換行列は、関連する複数のマーカー座標系に関連付けられて保存される。
【００６７】
ゲーム進行状況情報５８５は、ゲームの進行状況を含む情報である。ゲーム進行状況情報５８５には、例えば、ゲーム内におけるキャラクターの状態等が含まれる。
【００６８】
図６は、本実施形態に係るゲーム装置１の機能ブロック図である。図６に示される各機能ブロックは、例えば、外部メモリ４５に格納されるゲームプログラムを情報処理部３１（ＣＰＵ３１１およびＧＰＵ３１２）が読み出して実行することによって実現される機能の一部である。
【００６９】
ゲーム装置１は、ゲームプログラムを実行することによって、撮像画像取得部５１、特徴検出部５２、基準取得部５３、相対関係情報取得部５４、ゲーム進行処理部５５、推定部５６、描画部５７、表示制御部５８、記憶部５９、判定部６０、更新部６１、追加部６２、および削除部６３として動作する。
【００７０】
撮像画像取得部５１は、外側撮像部２３によって撮像された撮像画像を取得する。より具体的には、撮像画像取得部５１は、外側撮像部２３に対して撮像を指示し、外側撮像部２３によって撮像された撮像画像を取得する。撮像画像取得部５１は、外側撮像部２３に、撮像を行う所定間隔を指示する。撮像画像取得部５１は、所定間隔で撮像画像を取得する。本実施形態に係るゲーム処理は、６０フレーム／秒で分割されたフレーム単位で実行されるゲーム処理の一部として実行されるものであるため、所定間隔は、例えば、１／６０秒である。
【００７１】
特徴検出部５２は、撮像画像から、マーカー情報５８２に含まれるマーカー画像に該当するマーカー３を検出する。このようなマーカー３の検出は、例えば、画像認識エンジンを用いて行われる。
【００７２】
基準取得部５３は、検出されたマーカー３に基づいて、撮像画像に撮像された空間における位置および姿勢を示す基準となる位置姿勢基準を取得する。ここで、位置姿勢基準とは、実空間における実オブジェクト（マーカー３等）、または仮想空間内における仮想オブジェクトの位置および姿勢を示すために用いられる基準である。本実施形態の基準取得処理では、位置姿勢基準として、マーカー３の中心点を原点とし、互いに直交する３軸を用いたマーカー座標系が、マーカー３毎に取得される。基準取得部５３は、検出されたマーカー３に対応するマーカー情報５８２を記憶部５９から読み出し、マーカー３の、実空間におけるマーカー３の位置姿勢情報を求め、この結果に基づいて、マーカー座標系を取
得する。マーカー３の位置姿勢情報およびマーカー座標系は、例えば、ＡＲＴｏｏｌＫｉｔ等の専用のソフトウェアライブラリを用いて取得することが出来る。また、実空間において位置姿勢を表現する際の基準としては、例えば、カメラ座標系を用いることが出来る。即ち、マーカー３の位置姿勢情報は、カメラ座標系を基準とする位置姿勢情報とすることが出来る。カメラ座標系は、外側撮像部２３の焦点位置を原点とし、外側撮像部２３の撮像方向にＺ軸が定義され、撮像方向と直交する平面上にＸ軸およびＹ軸が定義された座標系とすることが出来る。
【００７３】
相対関係情報取得部５４は、マーカー３が複数検出された撮像画像に基づいて、マーカー３毎に取得された複数のマーカー座標系の間における互いの位置および姿勢に関する相対的な関係を示す相対関係情報を取得する。取得された相対関係情報は、記憶部５９に記憶される。本実施形態において、相対関係情報とは、異なるマーカー座標系の間で座標変換を行うために用いられる変換行列である。
【００７４】
ゲーム進行処理部５５は、ゲーム進行状況情報５８５を参照および更新することで、本実施形態に係るゲームのゲーム進行を管理する。また、本実施形態において、ゲーム進行処理部５５は、実際の時間の経過に伴って、仮想空間内の時間が経過するように所定の処理を行う。
【００７５】
推定部５６は、相対関係情報（座標変換用の変換行列）において相対関係が求められている複数のマーカー座標系のうちの一のマーカー座標系と相対関係情報とに基づいて、複数のマーカー座標系のうちの他のマーカー座標系を推定する。
【００７６】
描画部５７は、仮想空間に仮想カメラを配置し、仮想空間に、マーカー座標系に従って位置および姿勢が決定される仮想オブジェクトを配置し、仮想カメラから見た仮想空間の画像を生成することで、仮想空間画像を描画（レンダリング）する。
【００７７】
表示制御部５８は、撮像画像に仮想空間の画像を合成した合成画像を生成し、合成画像を表示装置に表示させる。
【００７８】
記憶部５９は、図５を用いて上述したマーカー情報５８２、オブジェクト情報５８３、相対関係情報５８４、およびゲーム進行状況情報５８５を記憶する。
【００７９】
判定部６０は、相対関係情報取得部５４によって取得された相対関係情報が、記憶部５９に記憶されている相対関係情報に対応する相対関係情報であるか否かを判定する。判定部６０による判定の結果に応じて、更新部６１による相対関係情報の更新処理、または追加部６２による相対関係情報の追加処理が行われる。
【００８０】
更新部６１は、取得された相対関係情報が、記憶されている相対関係情報に対応するものであると判定部６０によって判定された場合に、取得された相対関係情報を用いて、記憶されている相対関係情報を更新する。
【００８１】
追加部６２は、取得された相対関係情報が、記憶されている相対関係情報に対応するものであると判定部６０によって判定されなかった場合に、取得された相対関係情報を記憶部５９に記憶させる。
【００８２】
削除部６３は、所定の条件を満たす相対関係情報を、記憶部５９から削除する。本実施形態では、前フレームにおいて取得されていた相対関係情報を参照し、当該相対関係情報に対応する相対関係情報が現フレームでは取得されておらず、且つ相対関係情報によればマーカー３があるはずの位置が撮像画像に含まれているが当該位置にマーカー３が検出さ
れていない場合に、当該マーカー３にかかるカード２が除去されたと判定し、相対関係情報を、記憶部５９から削除する。但し、削除部６３による削除の条件となる所定の条件は、ゲーム進行処理部５５によってゲーム進行上の所定の条件が満たされたこと等、その他の条件であってもよい。
【００８３】
＜処理の流れ＞
次に、本実施形態において実行される処理の流れを説明する。なお、本実施形態に係るフローチャートに示された処理の具体的な内容および処理順序は、本発明を実施するための一例である。具体的な処理内容および処理順序は、本発明の実施の形態に応じて適宜選択されてよい。
【００８４】
図７は、本実施形態に係るゲーム処理の流れを示すフローチャートである。本実施形態に係るゲーム処理は、６０フレーム／秒で分割されたフレーム単位で実行されるゲーム処理の一部として実行されるものであり、フレーム毎に実行される。
【００８５】
ステップＳ００１およびステップＳ００２では、撮像画像が取得され、撮像画像からマーカー３が検出される。撮像画像取得部５１は、外側撮像部２３によって撮像された撮像画像を取得する（ステップＳ００１）。撮像画像が取得されると、特徴検出部５２は、撮像画像から、マーカー情報５８２に含まれるマーカー画像に該当するマーカー３を検出する（ステップＳ００２）。マーカー３は、外側撮像部２３に正対して（例えば、カメラ座標系のＺ軸と直交するように）配置されている場合を除いて、撮像画像中に歪んだ状態で撮像されているが、マーカー３の検出は、一般的な画像認識エンジンを用いて行うことが可能である。その後、処理はステップＳ００３へ進む。
【００８６】
ステップＳ００３では、マーカー３毎に基準取得処理が実行される。基準取得部５３は、ステップＳ００２において検出されたマーカー３毎に、実空間におけるマーカー３の位置および姿勢（以下、「マーカー位置姿勢情報」と称する）を取得し、マーカー３を基準とする位置姿勢基準（マーカー座標系）を取得する。
【００８７】
基準取得部５３は、撮像画像から検出されたマーカー３の実空間におけるマーカー位置姿勢情報を求める。より具体的には、基準取得部５３は、実空間におけるマーカー３の位置を、マーカー情報５８２に含まれるマーカーサイズと撮像画像に含まれる該マーカー３のサイズとを比較することによって取得する。また、先述の通り、マーカー３は、外側撮像部２３に正対して配置されている場合を除いて、撮像画像中に歪んだ状態で撮像されている。基準取得部５３は、マーカー情報５８２に含まれるマーカー画像に対する、撮像画像に撮像されたマーカー３の歪みを求めることによって、実空間におけるマーカー３の姿勢を取得する。このようにすることで、実空間におけるマーカー位置姿勢情報が取得され、更に、マーカー位置姿勢情報に従ってマーカー座標系が定義される。なお、本実施形態において、マーカー座標系は、マーカー３の中心点を原点として取得される。その後、処理はステップＳ００４へ進む。
【００８８】
図８は、本実施形態におけるマーカー座標系ＭＡとマーカー座標系ＭＢとの関係を示す図である。マーカー座標系ＭＡは、カード２ａに付されたマーカー３ａの中心点を原点とし、マーカー３ａが付されている平面と直交するＺ軸、当該平面上に定義されたＸ軸およびＹ軸、によって定義される座標系（Ｘma，Ｙma，Ｚma）であり、マーカー座標系ＭＢは、カード２ｂに付されたマーカー３ｂの中心点を原点とし、マーカー３ｂが付されている平面と直交するＺ軸、当該平面上に定義されたＸ軸およびＹ軸、によって定義される座標系（Ｘmb，Ｙmb，Ｚmb）である。
【００８９】
ステップＳ００４では、相対関係情報取得処理が実行される。相対関係情報取得処理で
は、１の撮像画像において複数のマーカー３が撮像されている場合には、複数のマーカー３の夫々に係るマーカー座標系同士の位置および姿勢に関する相対関係を示す相対関係情報（座標変換用の変換行列）が取得される。相対関係情報取得部５４は、検出されたマーカー３の組み合わせ毎（取得されたマーカー座標系の組み合わせ毎）に、相対関係情報を取得する。
【００９０】
図８に示した例によれば、相対関係情報取得部５４は、マーカー座標系ＭＡ（Ｘma，Ｙma，Ｚma）からマーカー座標系ＭＢ（Ｘmb，Ｙmb，Ｚmb）への座標変換を行うための変換行列と、マーカー座標系ＭＢ（Ｘmb，Ｙmb，Ｚmb）からマーカー座標系ＭＡ（Ｘma，Ｙma，Ｚma）への座標変換を行うための変換行列と、を算出することで、相対関係情報を取得する。相対関係情報取得処理の詳細については、図９を用いて後述する。その後、処理はステップＳ００５へ進む。
【００９１】
ステップＳ００５では、推定処理が実行される。推定部５６は、撮像画像に含まれていない（即ち、外側撮像部２３による撮像範囲外にある）マーカー３に係るマーカー座標系を、撮像画像に含まれるマーカー３に係るマーカー座標系、および相対関係情報に基づいて推定する。推定処理の詳細については、図１０を用いて後述する。その後、処理はステップＳ００６へ進む。
【００９２】
図８に示した例によれば、推定部５６は、マーカー３ｂが撮像されていない場合、マーカー３ｂに係るマーカー座標系ＭＢを、撮像画像に含まれるマーカー３ａに係るマーカー座標系ＭＡ、およびマーカー座標系ＭＡとマーカー座標系ＭＢとの間の相対関係情報に基づいて推定する。
【００９３】
ステップＳ００６では、ゲーム進行処理が実行される。先述の通り、本実施形態に係るゲームは、複数のユーザによってプレイされ、夫々のユーザの拠点オブジェクトの位置をカード２ａ、２ｂの配置によって設定し、カード２ａ、２ｂが配置された空間をフィールドとして進行する陣取りゲームである。
【００９４】
本実施形態に係るゲームでは、先述の通り、ユーザＡの拠点オブジェクト４ａ、ユーザＡのキャラクターオブジェクト５ａ、ユーザＢの拠点オブジェクト４ｂ、ユーザＢのキャラクターオブジェクト５ｂ等を含む仮想オブジェクトが、外側撮像部２３と位置合わせされた仮想カメラによって描画され、撮像画像に合成表示される。ここで、ユーザＡに係る仮想オブジェクトは、ユーザＡによって配置されるカード２ａに係るマーカー座標系ＭＡにおいて管理される。また、ユーザＢに係る仮想オブジェクトは、ユーザＢによって配置されるカード２ｂに係るマーカー座標系ＭＢにおいて管理される。なお、ユーザＡに係る仮想オブジェクトとしては、例えば、拠点オブジェクト４ａおよびキャラクターオブジェクト５ａ等がある。また、ユーザＢに係る仮想オブジェクトとしては、例えば、拠点オブジェクト４ｂおよびキャラクターオブジェクト５ｂ等がある。
【００９５】
ゲーム進行処理部５５は、本実施形態に係るゲームに関連して、記録部５８のゲーム進行状況情報５８５を参照して、ゲーム進行を管理する。また、先述の通り、マーカー情報５８２には、マーカー座標系ＭＡ、ＭＢにおける各仮想オブジェクトの位置および姿勢が含まれており、ゲーム進行処理部５５は、ゲームの進行に応じてこれらの位置および姿勢を更新する。その後、処理はステップＳ００７へ進む。
【００９６】
なお、ゲーム進行処理において、オブジェクト同士の位置および姿勢の関係を管理する方法として、全てのオブジェクトを管理する共通座標系を用いる方法が採用されてもよい。共通座標系は、何れかのマーカー座標系を指定することで定義されてもよいし、何れのマーカー座標系とも異なる座標系を指定することで定義されてもよい。共通座標系として
、何れのマーカー座標系とも異なる座標系が指定される場合、原点および３軸の姿勢はどのように定義されてもよいが、例えば、全てのマーカー座標系の原点（本実施形態では、マーカー３の中心点）の重心位置を、共通座標系の原点としてもよい。このような共通座標系を用いてオブジェクト同士の位置および姿勢の関係を管理することで、ゲーム中におけるオブジェクト間の衝突判定等を行うことが出来る。共通座標系によるオブジェクト管理は、マーカー座標系ＭＡ、ＭＢによる個別のオブジェクト管理に対して追加的に採用されてもよいし、代替的に採用されてもよい。
【００９７】
なお、本実施形態において、ゲーム進行処理部５５は、実時間の流れに伴ってゲーム内時間を進行させる。但し、ゲーム内時間は実時間の流れに伴って進行せず、ゲーム進行処理部５５は、ユーザによる操作やゲーム内で発生するイベントを契機としてゲーム内時間を進行させてもよい。
【００９８】
ステップＳ００７では、表示処理が実行される。描画部５７は、マーカー座標系に配置された仮想オブジェクトを、マーカー座標系において実カメラ２３である外側撮像部２３と同一の位置に配置された仮想カメラの視点から描画する。そして、表示制御部５８は、描画された仮想オブジェクトの画像を、撮像画像に合成して上側ＬＣＤ２２に出力し、表示させる。なお、本実施形態では、仮想オブジェクトの描画は、仮想オブジェクトが配置されるマーカー座標系ごとに行われる。但し、仮想オブジェクトは、先述した共通座標系に配置され、一度に描画されてもよい。表示処理が実行されると、本フローチャートに示された処理は終了する。
【００９９】
先述の通り、本フローチャートに示された処理はフレーム毎に実行されるものである。このため、本フローチャートに示された処理は、ゲームが進行している間、定期的にステップＳ００１から繰り返し実行される。
【０１００】
本実施形態によれば、撮像画像に含まれない（外側撮像部２３の撮像範囲外にある）マーカー３に係るマーカー座標系も、先述した推定処理によって推定されている。このため、撮像画像に含まれないマーカー３に係るマーカー座標系に配置されている仮想オブジェクトも、仮想カメラによる撮像範囲内にあれば描画され、表示される。
【０１０１】
次に、図９および図１０を参照して、相対関係情報取得処理および推定処理の流れをより詳細に説明する。
【０１０２】
図９は、本実施形態に係る相対関係情報取得処理の流れを示すフローチャートである。本フローチャートは、図７のステップＳ００４に示した相対関係情報取得処理の詳細を示す。
【０１０３】
ステップＳ１０１では、マーカー３が複数検出されたか否かが判定される。ステップＳ００２において、撮像画像から複数のマーカー３が検出され、ステップＳ００３においてこれらの複数のマーカー３に係る複数の位置姿勢基準が取得された場合、処理はステップＳ１０２へ進む。検出されたマーカー３が１以下である場合、処理はステップＳ１０７へ進む。
【０１０４】
ステップＳ１０２では、相対関係情報が取得される。相対関係情報取得部５４は、複数のマーカー３の夫々に係るマーカー座標系同士の相対関係を示す相対関係情報を取得する。先述の通り、本実施形態において、相対関係情報は、異なるマーカー座標系の間で座標変換を行うために用いられる変換行列である。
【０１０５】
マーカー３ａとマーカー３ｂが１の撮像画像に含まれている場合、マーカー座標系ＭＡ
におけるマーカー座標系ＭＢの原点の位置を算出し、更にマーカー座標系ＭＡにおけるマーカー座標系ＭＢを構成する各軸の姿勢を算出することが出来る。このような情報を算出することで、マーカー座標系ＭＡからマーカー座標系ＭＢへの座標変換を行うための変換行列ＴABを取得することが出来る。
【０１０６】
具体的には、相対関係情報取得部５４は、マーカー座標系ＭＡの単位ベクトル（下記の式１を参照）を、マーカー座標系ＭＢにおいて観測する。下記の式２は、マーカー座標系ＭＡの単位ベクトルを、マーカー座標系ＭＢにおいて観測した結果得られたベクトルである。このとき、マーカー座標系ＭＡからマーカー座標系ＭＢへの変換行列ＴABは、下記の式３に示されるものとなる。このため、相対関係情報取得部５４は、式３に示される変換行列ＴABを、マーカー座標系ＭＡからマーカー座標系ＭＢへの座標変換を行うための相対関係情報として取得する。
【０１０７】
【数１】
0005697487.tif 000002
【０１０８】
この変換行列は、マーカー座標系ＭＡからマーカー座標系ＭＢへの座標変換を行うための変換行列ＴABであり、マーカー座標系ＭＢからマーカー座標系ＭＡへの座標変換を行うための変換行列ＴBAについても、同様の方法を用いて取得することが出来る。但し、変換行列ＴBAは、変換行列ＴABの逆行列を計算することによって取得されてもよい。相対関係情報が取得されると、処理はステップＳ１０３へ進む。
【０１０９】
ステップＳ１０３では、実空間におけるマーカー３の位置または姿勢に関する変更の有無が判定される。ここで、実空間におけるマーカー３の位置または姿勢に関する変更には、具体的にはマーカー３の追加および移動（回転含む）が含まれる。本実施形態において、判定部６０は、相対関係情報を用いた判定方法を用いて、マーカー３の追加および移動を判定する。
【０１１０】
判定部６０は、ステップＳ１０２において取得された相対関係情報を、記憶部５９に保持されている、同一のマーカー組み合わせに係る相対関係情報と比較する。このようにすることで、判定部６０は、ステップＳ１０２において取得された相対関係情報が、取得済みのものであるか否かを判定し、マーカー３の位置または姿勢に関する変更を判定するこ
とが出来る。具体的には、判定部６０は、取得された相対関係情報と、記憶部５９に保持されている相対関係情報との差分を算出し、算出された差分を予め設定された閾値と比較する。判定部６０は、差分が該閾値未満である場合には、取得された相対関係情報が記憶部５９に保持されているものであると判定する。このため、閾値には、マーカー座標系や相対関係情報の算出に伴う誤差や、マーカー位置姿勢の微動を許容可能な値が設定されることが好ましい。一方、判定部６０は、差分が該閾値以上である場合には、取得された相対関係情報が記憶部５９に保持されているものでない（従前の位置から移動したマーカー３であるか、新たに追加されたマーカー３である）と判定する。但し、判定方法は、差分と閾値を用いた方法に限定されない。判定方法には、その他の方法が採用されてもよい。
【０１１１】
取得された相対関係情報が記憶部５９に保持されているものであると判定された場合、処理はステップＳ１０４へ進む。一方、取得された相対関係情報が記憶部５９に保持されているものでないと判定された場合、処理はステップＳ１０５へ進む。
【０１１２】
ステップＳ１０４では、相対関係情報が更新される。更新部６１は、ステップＳ１０２において取得された相対関係情報で、記憶部５９に保持されている相対関係情報のうち、同一のマーカー組み合わせに係るものを更新する。また、更新部６１は、ステップＳ００３において取得されたマーカー座標系で、記憶部５９に保持されている、対応するマーカー座標系を更新する。なお、本実施形態では、相対関係情報取得処理は６０フレーム／秒で分割されたフレーム単位で実行されるため、マーカー座標系および相対関係情報は、１／６０秒間隔で更新される。このため、外側撮像部２３の撮像範囲における通常の速度によるマーカー３の移動については、基本的にはマーカー座標系および相対関係情報の更新によって追従することが可能である。その後、処理はステップＳ１０６へ進む。
【０１１３】
なお、ステップＳ１０４の処理では、後述するステップＳ２０１における抽出処理のために、更新フラグを用いて、相対関係情報の更新またはマーカー座標系の更新に係るマーカーが識別される。情報処理部３１は、記憶部５９に保持されているマーカー座標系の夫々について更新フラグを用意し、該当するマーカー座標系について関連する相対関係情報の更新またはマーカー座標系の更新があった場合に、当該マーカーが撮像画像に撮像されていたものとみなして、更新フラグを真（ＴＲＵＥ）に設定する。なお、更新フラグは、フレーム毎に、ステップＳ１０４に示された処理に先立って全てリセット（偽（ＦＡＬＳＥ）に設定）される。このため、全ての相対関係情報についてステップＳ１０３からステップＳ１０６に示す処理が終了した時点で、更新フラグが偽（ＦＡＬＳＥ）となっているマーカー座標系に係るマーカーは、撮像画像に撮像されていないマーカーであると判断することが出来る。
【０１１４】
ステップＳ１０５では、相対関係情報が追加される。追加部６２は、ステップＳ１０２において取得された相対関係情報を、記憶部５９に保持させる。また、追加部６２は、当該相対関係情報に係るマーカー座標系のうち、記憶部５９に保持されていないマーカー座標系を、記憶部５９に保持させる。即ち、本実施形態によれば、マーカー３の追加があった場合であっても、相対関係情報に基づいてこれを検出し、当該マーカー３に係る相対関係情報およびマーカー座標系を追加することが出来る。ここで、追加されたマーカー座標系については、更新フラグが真（ＴＲＵＥ）に設定される。その後、処理はステップＳ１０６へ進む。
【０１１５】
ステップＳ１０６では、全ての相対関係情報について、実空間におけるマーカー３の位置または姿勢に関する変更の判定が終了したか否かが判定される。未判定の相対関係情報がある場合、処理はステップＳ１０３へ進む。即ち、ステップＳ１０３からステップＳ１０６に示された処理は、ステップＳ１０２において取得された全ての相対関係情報について、実空間におけるマーカー３の位置または姿勢に関する変更の判定が終了するまで繰り
返される。
【０１１６】
ステップＳ１０７およびステップＳ１０８では、除去されたマーカー３に係るマーカー座標系および相対関係情報が削除される。削除部６３は、前フレームにおいて取得されていた相対関係情報を参照し、当該相対関係情報に対応する相対関係情報が現フレームでは取得されておらず、且つ相対関係情報によればマーカー３があるはずの位置が撮像画像に含まれているが当該位置にマーカー３が検出されていない場合、当該マーカー３が除去されたと判定する（ステップＳ１０７）。マーカー３が除去されたと判定された場合、削除部６３は、ステップ除去されたと判定されたマーカー３に係るマーカー座標系および相対関係情報を、記憶部５９から削除する（ステップＳ１０８）。その後、本フローチャートに示された処理は終了する。
【０１１７】
一方、マーカー３が除去されたと判定されなかった場合、本フローチャートに示された処理は終了する。例えば、対応する相対関係情報が現フレームでは取得されていないが、マーカー３があるはずの位置が撮像画像に含まれていないような場合には、単に撮像画像にマーカー３が撮像されていないだけであって除去されていない可能性があるため、削除部６３は、マーカー座標系の削除を行わない。
【０１１８】
図１０は、本実施形態に係る推定処理の流れを示すフローチャートである。本フローチャートは、図７のステップＳ００５に示した推定処理の詳細を示す。
【０１１９】
ステップＳ２０１では、撮像画像に撮像されていないマーカー３が抽出される。情報処理部３１は、記憶部５９に保持されているマーカー３のうち、上述したステップＳ１０４において関連する相対関係情報およびマーカー座標系が何れも更新されなかったマーカー座標系に係るマーカー３を抽出することで、撮像画像に撮像されていないマーカー３を抽出する。ステップＳ１０４の説明において上述した通り、マーカー座標系毎の更新の有無は、更新フラグを用いて管理されているため、更新フラグが偽（ＦＡＬＳＥ）となっているマーカー座標系に係るマーカーは、撮像画像に撮像されていないマーカーであると判断することが出来る。なお、除去されたマーカーはステップＳ１０８において既に削除されているため、抽出されない。その後、処理はステップＳ２０１へ進む。
【０１２０】
但し、情報処理部３１は、ステップＳ００２において検出されたマーカー３と、記憶部５９に保持されているマーカー３とを比較することで、撮像画像に撮像されていないが記憶部５９に保持されているマーカー３を抽出してもよい。なお、マーカー３の比較は、撮像画像に含まれるマーカー３と、マーカー情報５８２に保持されているマーカー画像と、を画像認識エンジンを用いて比較することによって行われてもよいし、撮像画像に含まれるマーカー３に係るマーカー座標系と、記憶部５９に保持されているマーカー座標系と、を比較することによって行われてもよい。
【０１２１】
ステップＳ２０２では、撮像画像に撮像されていないマーカー３の有無が判定される。情報処理部３１は、ステップＳ２０１における抽出の結果を参照することで、撮像画像に撮像されていないマーカー３の有無を判定する。撮像画像に撮像されていないマーカー３が存在すると判定された場合、処理はステップＳ２０３へ進む。撮像画像に撮像されていないマーカー３が存在しない（換言すると、全てのマーカー３が撮像画像に撮像されている）と判定された場合、本フローチャートに示された処理は終了する。
【０１２２】
ステップＳ２０３では、撮像画像に撮像されていないマーカー３に係るマーカー座標系が推定される。推定部５６は、ステップＳ２０１において抽出された、撮像画像に撮像されていないマーカー３に係るマーカー座標系（以下、「推定対象のマーカー座標系」と称する）を、撮像画像に撮像されているマーカー３に係るマーカー座標系と、これらのマー
カー座標系の相対関係を示す相対関係情報と、に基づいて推定する。具体的には、推定部５６は、撮像されているマーカー３に係るマーカー座標系と、推定対象のマーカー座標系と、に係る相対関係情報である変換行列を記憶部５９から取得し、座標変換の演算を行うことで、推定対象のマーカー座標系を推定する。その後、本フローチャートに示された処理は終了する。
【０１２３】
その後、図７のステップＳ００６に示されたゲーム進行処理、およびステップＳ００７に示された表示処理が実行される。
【０１２４】
先述の通り、本実施形態によれば、撮像画像に含まれないマーカー３に係るマーカー座標系が推定されているため、撮像画像に含まれないマーカー３に係るマーカー座標系に配置されている仮想オブジェクトについても描画および表示をすることが出来る。
【０１２５】
図１１は、本実施形態において、マーカー３ｂが実カメラ２３による撮像範囲にない状態のゲームシステム１００の様子を示す図である。図１１に示した例によれば、撮像画像にマーカー３ｂが含まれていないことが分かる。このため、特徴検出部５２は、撮像画像からマーカー３ｂを検出することが出来ず、基準取得部５３は、マーカー座標系ＭＢを取得することが出来ない。しかし、本実施形態に係るゲーム装置１によれば、マーカー座標系ＭＡからマーカー座標系ＭＢへの座標変換を行うための変換行列（相対関係情報）が、マーカー３ａとマーカー３ｂとが同時に撮像された時点で、予め取得されている。このため、推定部５６は、基準取得部５３によって取得されたマーカー座標系ＭＡに基づいて、マーカー座標系ＭＢを推定することが出来る。このため、図１１に示された例によれば、マーカー座標系ＭＢに配置されているキャラクターオブジェクト５ｂについても、描画部５７によって描画され、表示制御部５８によって撮像画像に合成され、ディスプレイ２２に表示される。
【０１２６】
また、上述した説明では、ゲーム進行処理をゲーム装置１で行う例を用いたが、上記ゲーム進行処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置１が他の装置（例えば、サーバや他のゲーム装置）と通信を行う場合、上記ゲーム進行処理における処理ステップは、ゲーム装置１および当該他の装置が協働することによって実行してもよい。一例として、他の装置が特徴検出部５２、基準取得部５３および相対関係情報取得部５４の処理を実行してもよい。このように、ゲーム進行処理の処理ステップの少なくとも一部を他の装置で行うことによって、上述したゲーム進行処理と同様の処理が可能となる。このように、上述したゲーム進行処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置１の情報処理部３１が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置１が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０１２７】
また、上述したゲーム装置１の形状や、それに設けられている各種操作ボタン１４、アナログスティック１５、タッチパネル１３の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した画像処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまでもない。
【０１２８】
また、上記ゲームプログラムは、外部メモリ４５やデータ保存用外部メモリ４６等の外部記憶媒体を通じてゲーム装置１に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置１に供給されてもよい。また、上記プログラムは、ゲーム装置１内部の
不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。このような外部記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【０１２９】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用されるすべての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【符号の説明】
【０１３０】
５１  撮像画像取得部
５２  特徴検出部
５３  基準取得部
５４  相対関係情報取得部
５５  ゲーム進行処理部
５６  推定部
５７  描画部
５８  表示制御部
５９  記憶部
６０  判定部
６１  更新部
６２  追加部
６３  削除部
【図１】
0005697487.tif 000003
【図２】
0005697487.tif 000004
【図３】
0005697487.tif 000005
【図４】
0005697487.tif 000006
【図５】
0005697487.tif 000007
【図６】
0005697487.tif 000008
【図７】
0005697487.tif 000009
【図８】
0005697487.tif 000010
【図９】
0005697487.tif 000011
【図１０】
0005697487.tif 000012
【図１１】
0005697487.tif 000013