JP5812665B2 - 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
JP5812665B2
JP5812665B2 JP2011096619A JP2011096619A JP5812665B2 JP 5812665 B2 JP5812665 B2 JP 5812665B2 JP 2011096619 A JP2011096619 A JP 2011096619A JP 2011096619 A JP2011096619 A JP 2011096619A JP 5812665 B2 JP5812665 B2 JP 5812665B2
Authority
JP
Japan
Prior art keywords
information
posture
real
virtual object
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011096619A
Other languages
English (en)
Other versions
JP2012230440A (ja
Inventor
早川 毅
毅 早川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2011096619A priority Critical patent/JP5812665B2/ja
Priority to US13/448,603 priority patent/US20120268493A1/en
Publication of JP2012230440A publication Critical patent/JP2012230440A/ja
Application granted granted Critical
Publication of JP5812665B2 publication Critical patent/JP5812665B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • A63F2300/1093Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera using visible light
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、情報処理システム、情報処理装置、情報処理方法、及び、情報処理プログラムに関する。
仮想オブジェクト等と呼ばれる各種情報を実空間に付加表示する、拡張現実(AR:Augmented Reality)と称される技術がある。例えば、カメラによって撮像された画像にお
けるマーカーの位置および姿勢に基づいて、実空間におけるマーカーとカメラとの相対位置および相対姿勢を計算する方法が開示されている(例えば、非特許文献1参照)。
加藤博一、Mark Billinghurst、浅野浩一、橘啓八郎共著、「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」、日本バーチャルリアリティ学会論文誌、Vol.4、No.4、1999年
従来の拡張現実技術では、実空間に付加表示される1つの仮想オブジェクトは、カメラで撮像された実空間内の1つのマーカーに対応付けられる。そして、例えば、仮想オブジェクトは、対応するマーカー上に存在するように、実空間に付加表示される。このように、従来の拡張現実技術では、現実空間内のマーカーを基準として仮想オブジェクトを制御する場合、当該仮想オブジェクトの制御は、対応する1つのマーカーの位置及び姿勢等に基づいて行われていた。そのため、実空間に付加表示される仮想オブジェクトの制御のバリエーションは乏しかった。
本発明は、このような点を考慮してなされたものであり、マーカーを用いて仮想オブジェクトを制御する場合において、バリエーションに富んだ仮想オブジェクトの制御を可能にすることを課題とする。
本発明は、上述した課題を解決するために、以下の構成を採用する。すなわち、本発明は、特徴を有する複数の実オブジェクトと、表示装置及び撮像装置に接続される情報処理装置と、を含む情報処理システムであって、前記特徴は、前記撮像装置によって撮像されることで、少なくとも、前記撮像装置に対する実オブジェクトの姿勢を特定可能な特徴であり、前記情報処理装置は、前記撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、前記複数の実オブジェクトそれぞれが有する前記特徴を前記撮像画像から検出する検出手段と、検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報を取得する実オブジェクト情報取得手段と、前記複数の実オブジェクト情報に基づいて、仮想空間内において1つの仮想オブジェクトを制御する仮想オブジェクト制御手段と、少なくとも前記1つの仮想オブジェクトを含む画像を前記表示装置に表示させる表示制御手段と、を備える情報処理システムである。
本発明において、撮像装置に対する実オブジェクトの姿勢を特定可能な特徴とは、具体的には、いわゆるAR用のマーカー、または、二次元バーコード等のコードである。
本発明に係る情報処理システムによれば、上記各手段を備えることによって、複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報に基づいて、1つの仮想オブジェクトが制御される。このため、本発明によれば、いわゆるAR用のマーカーを用いて仮想オブジェクトを制御する場合において、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記情報処理装置は、前記複数の実オブジェクト情報から、前記複数の実オブジェクトの相対的な姿勢関係を示す相対姿勢情報を取得する相対姿勢情報取得手段を更に備え、前記仮想オブジェクト制御手段は、前記相対姿勢情報に基づいて、前記1つの仮想オブジェクトを制御してもよい。
本発明では、相対姿勢情報取得手段によって、複数の実オブジェクトの相対的な姿勢関係を示す相対姿勢情報が取得される。これにより、本発明によれば、このような相対姿勢情報により仮想オブジェクトを制御することが可能となるため、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記仮想オブジェクト制御手段は、前記相対姿勢情報に基づいて、前記1つの仮想オブジェクトの状態に関するパラメータの値を変化させてもよい。
本発明によれば、パラメータの値を変化させることにより、仮想オブジェクトの制御が行われるため、簡易な方法での仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記仮想オブジェクト制御手段が値を変化させる前記1つの仮想オブジェクトの状態に関するパラメータには、少なくとも、前記1つの仮想オブジェクトの前記仮想空間内における位置変動に関するパラメータが含まれてもよい。
本発明によれば、仮想オブジェクトの仮想空間内における位置変動の制御が可能となる。
また、本発明の別形態として、前記仮想オブジェクト制御手段は、前記1つの仮想オブジェクトの位置変動に関するパラメータの値に基づいて、仮想空間に対する、前記1つの仮想オブジェクトの相対的な位置を変動させてもよい。
本発明によれば、仮想オブジェクトの位置変動が、仮想空間に対する、該仮想オブジェクトの相対的な位置の変動によって実現される。そのため、本発明によれば、柔軟な方法で、仮想オブジェクトの位置変動を実現することができる。
また、本発明の別形態として、前記仮想オブジェクト制御手段が値を変化させる前記1つの仮想オブジェクトの前記仮想空間内における位置変動に関するパラメータには、少なくとも、前記1つの仮想オブジェクトの移動方向及び移動速度についてのパラメータが含まれてもよい。
本発明によれば、仮想オブジェクトの仮想空間内における移動の制御が可能となる。
また、本発明の別形態として、前記相対姿勢情報取得手段は、前記複数の実オブジェクトのうちの2つの実オブジェクト間における姿勢の類似度に関する情報を含む前記相対姿勢情報を取得してもよい。
本発明によれば、複数の実オブジェクトのうちの2つの実オブジェクト間における姿勢
の類似度に基づいて、1つの仮想オブジェクトの制御が可能となる。したがって、本発明によれば、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記相対姿勢情報取得手段は、前記複数の実オブジェクトにうちの2つの実オブジェクト間における姿勢の差分に関する情報を含む前記相対姿勢情報を取得してもよい。
本発明によれば、複数の実オブジェクトのうちの2つの実オブジェクト間における姿勢の差分に基づいて、1つの仮想オブジェクトの制御が可能となる。したがって、本発明によれば、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記特徴は、前記撮像装置によって撮像されることで、前記撮像装置に対する自身が付された実オブジェクトの位置及び姿勢を特定可能な特徴であり、前記実オブジェクト情報取得手段は、検出された前記特徴により、前記複数の実オブジェクトそれぞれの位置及び姿勢を示す位置姿勢情報を含んだ複数の実オブジェクト情報を取得してもよい。
本発明によれば、複数の実オブジェクトの位置及び姿勢に基づいて、1つの仮想オブジェクトを制御することが可能となるため、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記相対姿勢情報取得手段は、前記複数の実オブジェクトのうちの少なくとも2つの実オブジェクトの位置及び姿勢から特定される向かい合わせの状態を示す情報を含む前記相対姿勢情報を取得してもよい。
本発明によれば、複数の実オブジェクトのうちの少なくとも2つの実オブジェクトの位置及び姿勢から特定される向かい合わせの状態を示す情報に基づいて、1つの仮想オブジェクトの制御が可能となる。したがって、本発明によれば、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記相対姿勢情報取得手段は、前記少なくとも2つの実オブジェクトのうちの2つの実オブジェクトの姿勢に関するベクトルの内積値、及び、該2つの実オブジェクトのうちの1つの実オブジェクトの姿勢に関するベクトルと、該2つの実オブジェクトの相対的な位置関係を示す相対位置ベクトルとの内積値を用いて、前記向かい合わせの状態を特定してもよい。
また、本発明の別形態として、前記仮想オブジェクト制御手段は、前記複数の実オブジェクト情報に基づいて、前記1つの仮想オブジェクトの姿勢に関する複数のパラメータであって、前記複数の実オブジェクト情報各々とそれぞれ対応関係にある複数のパラメータの値により示される姿勢を制御してもよい。
本発明によれば、複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報に基づいて、1つの仮想オブジェクトの姿勢が制御される。したがって、本発明によれば、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記仮想オブジェクト制御手段は、前記1つの仮想オブジェクトの制御において、前記姿勢に関する複数のパラメータの値により示される前記1つの仮想オブジェクトの姿勢に基づいて、前記姿勢に関する複数のパラメータを除いたその他の状態に関するパラメータの値を変化させてもよい。
本発明によれば、仮想オブジェクトの姿勢を制御することにより、更に、該仮想オブジェクトのその他の状態を制御することが可能となる。そのため、本発明によれば、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記その他の状態に関するパラメータは、仮想空間内における位置変動に関するパラメータであってもよい。
本発明によれば、仮想オブジェクトの姿勢を制御することにより、更に、該仮想オブジェクトの仮想空間内における位置変動を制御することが可能となる。そのため、本発明によれば、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
また、本発明の別形態として、前記その他の状態に関するパラメータが仮想空間内における位置変動に関するパラメータであるとき、前記仮想オブジェクト制御手段は、前記1つの仮想オブジェクトの位置変動に関するパラメータの値に基づいて、仮想空間に対する、前記1つの仮想オブジェクトの相対的な位置を変動させてもよい。
また、本発明の別形態として、前記仮想オブジェクト制御手段が、前記複数の実オブジェクト情報に基づいて、前記1つの仮想オブジェクトの姿勢に関する複数のパラメータであって、前記複数の実オブジェクト情報各々とそれぞれ対応関係にある複数のパラメータの値を変化させるとき、前記特徴は、前記撮像装置によって撮像されることで、前記撮像装置に対する実オブジェクトの位置及び姿勢を特定可能な特徴であり、前記実オブジェクト情報取得手段は、前記複数の実オブジェクトそれぞれの位置及び姿勢を示す位置姿勢情報含んだ複数の実オブジェクト情報を取得してもよい。
また、本発明の別形態として、前記情報処理装置は、仮想空間に配置される仮想カメラの位置及び姿勢を設定し、該仮想空間に、前記複数の実オブジェクト情報により位置及び姿勢が決定される前記1つの仮想オブジェクトを配置し、該仮想カメラから見た該仮想空間の画像を生成することで、仮想空間画像を描画する描画手段を更に備えてもよい。
また、本発明の別形態として、前記情報処理装置は、前記撮像画像に前記仮想空間画像を重畳した合成画像を生成し、該合成画像を表示装置に表示させる表示制御手段を更に備えてもよい。
なお、本発明は、コンピュータによって実行される情報処理方法であってもよい。また、本発明は、コンピュータに実行させるための情報処理プログラムであってもよい。そして、本発明は、そのような情報処理プログラムを記録した、コンピュータその他装置、機械等が読み取り可能な記録媒体であってもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明に係る情報処理装置は、通信可能に構成された複数のコンピュータ等によって実現されてもよい。
本発明によれば、マーカーを用いて仮想オブジェクトを制御する場合において、バリエーションに富んだ仮想オブジェクトの制御が可能となる。
図1Aは、実施の形態に係るゲームシステムの構成を例示する図である。 図1Bは、実施の形態に係るゲームシステムの構成を例示する図である。 図2は、実施の形態に係るゲーム装置の外観を例示する図である。 図3は、実施の形態に係るゲーム装置の内部構成を例示するブロック図である。 図4は、実施の形態に係るゲームシステムにおいて扱われる座標系の一例を示す図である。 図5は、実施の形態に係るゲーム装置が保持する情報を例示する図である。 図6Aは、実施の形態に係る対面状態情報を説明するための図である。 図6Bは、実施の形態に係る対面状態情報を説明するための図である。 図6Cは、実施の形態に係る対面状態情報を説明するための図である。 図6Dは、実施の形態に係る対面状態情報を説明するための図である。 図6Eは、実施の形態に係る対面状態情報を説明するための図である。 図6Fは、実施の形態に係る対面状態情報を説明するための図である。 図7は、実施の形態に係るゲーム装置の機能を例示するブロック図である。 図8は、実施の形態に係るゲーム処理の流れを例示するフローチャートである。 図9は、実施の形態に係る仮想オブジェクト制御関連処理の手順を例示するフローチャートである。 図10は、変形例に係るゲーム装置が保持する情報を例示する図である。 図11は、変形例に係るゲーム装置の機能を例示するブロック図である。 図12は、変形例に係る仮想オブジェクト制御関連処理の手順を例示するフローチャートである。 図13Aは、実施の形態に係るゲームシステムの適用例を示す図である。 図13Bは、実施の形態に係るゲームシステムの適用例を示す図である。 図14Aは、実施の形態に係るゲームシステムの適用例を示す図である。 図14Bは、実施の形態に係るゲームシステムの適用例を示す図である。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、本実施形態に応じた具体的構成が適宜採用されてもよい。
なお、本実施形態において登場するデータは、自然言語(日本語等)により説明される。しかしながら、これらのデータは、具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
§1 システム構成
[ゲームシステム]
図1A及び図1Bは、本実施形態に係るゲームシステム100の構成例を示す。ゲームシステム100には、ゲーム装置1、及び、複数のカード2a、2b(ただし、カードの種類を区別しない場合には、単に「カード2」とも称する)が含まれる。ゲームシステム100は、例えば、図1A及び図1Bに示されるようなスキーゲームをプレイヤに提供する。ゲームシステム100が提供するスキーゲームでは、キャラクタ4は、カード2の上に表示され続ける。そして、キャラクタ4以外の仮想オブジェクト(例えば、障害物5)が画面上において移動することで、キャラクタ4の移動が表現される。このようなキャラクタ4は、少なくともカード2の姿勢によって制御される。つまり、プレイヤは、少なくともカード2の姿勢を変えることで、所望する動作をキャラクタ4に行わせる。なお、本
実施形態は、本発明をゲームシステムに適用した例を示す。ただし、本発明の適用対象はゲームシステムに限定されない。
ゲーム装置1は、ディスプレイ22(上側LCD22として後述する)及び実カメラ23(外側撮像部23として後述する)を備えている。ゲーム装置1は、仮想カメラを用いて描画(レンダリング)された仮想空間内の仮想オブジェクトを、実カメラ23を用いて撮像された実空間の撮像画像に合成して、ディスプレイ22に表示する機能を有する。本実施形態において、仮想オブジェクトは、ゲームのキャラクタ4、障害物5、及び、背景等である。
ゲームシステム100では、ゲーム装置1の実カメラ23を用いてカード2を撮像すると、ゲーム装置1のディスプレイ22に、撮像された実空間には存在せず、仮想空間に配置されている仮想オブジェクトが表示される。図1A及び図1Bに示された例では、仮想オブジェクトとして、キャラクタ4及び障害物5が示されている。キャラクタ4は、プレイヤによって操作される仮想オブジェクトである。また、障害物5は、仮想空間上に配置されている、プレイヤによって操作される仮想オブジェクト以外の仮想オブジェクトである。なお、仮想空間上に配置される、プレイヤによって操作される仮想オブジェクト以外の仮想オブジェクトの他の例として、背景等の仮想オブジェクトが挙げられる。これらの仮想オブジェクトは、以下で説明する障害物5と同様に説明される。よって、以下では、障害物5を説明することにより、プレイヤによって操作される仮想オブジェクト以外の仮想オブジェクトを説明する。
本実施形態に係るゲームシステム100では、プレイヤが、ゲーム進行中に、少なくともカード2の姿勢を変えると、ゲーム装置1のディスプレイ22に表示されるキャラクタ4の状態が変わる。例えば、図1Aに示されるとおり、プレイヤが、カード2a及びカード2bの向きを、前方方向に揃えるとする。すると、キャラクタ4は、屈んだ姿勢となり、直滑降の動作をする。また、例えば、図1Bに示されるとおり、プレイヤが、カード2a及びカード2bの向きを、「ハ」の字型にするとする。すると、キャラクタ4は、腰を伸ばした姿勢となり、ボーゲンの動作をする。このように、本実施形態に係るゲームシステム100では、キャラクタ4は、少なくとも複数のカード2の姿勢によって制御される。
カード2a、2bには、印刷等の方法でマーカー3a、3b(ただし、マーカーの種類を区別しない場合には、単に「マーカー3」とも称する)が付されている。このマーカー3は、少なくともカード2の姿勢を示す指標である。すなわち、マーカー3は、実カメラ23を用いて撮像されることで、少なくとも実カメラ23に対する自身が付されたカード2の姿勢を特定可能な記号、文字、図形、絵、及びそれらの組み合わせ等の特徴である。本実施形態では、ゲーム装置1は、このマーカー3によりカード2の姿勢を特定する。なお、図1A及び図1Bでは、カード2は2枚しか示されていないが、カード2は3枚以上であってもよい(後述する図14A参照)。また、図1A及び図1Bでは、カード2を区別するため、それぞれ異なるマーカーが付されている。しかしながら、カード2を区別する必要がない場合、同一のマーカーが付されてもよい。また、少なくともカード2の姿勢を示す指標は、カード2に付されるマーカーに限定されない。例えば、少なくともカード2の姿勢を示す指標は、カード2自体の形状等であってもよい。
本実施形態では、キャラクタ4の配置される位置は、ゲーム装置1のディスプレイ22において、複数のカード2(マーカー3)の位置によって決定される。図1A及び図1Bに示される例では、キャラクタ4の左足は、カード2a(マーカー3a)上に配置される。また、キャラクタ4の右足は、カード2b(マーカー3b)上に配置される。したがって、本実施形態に係るマーカー3は、実カメラ23を用いて撮像されることで、少なくと
も実カメラ23に対する自身が付されたカード2の位置を特定することができる指標でもある。ただし、複数のカード2(マーカー3)の位置を用いる必要がない場合、マーカー3は、カード2の位置を特定可能な指標でなくてもよい。複数のカード2(マーカー3)の位置を用いる必要がない場合とは、例えば、複数のカード2(マーカー3)の位置に関係なくキャラクタ4が配置される場合等である。
なお、本実施形態では、仮想空間に対するキャラクタ4の相対的な位置が変化することにより、仮想空間におけるキャラクタ4の位置変動が表現される。本実施形態に係るスキーゲームでは、キャラクタ4は常にカード2上に表示される。この時、ディスプレイ22に表示される障害物5の表示位置が変動することにより、仮想空間におけるキャラクタ4の位置変動が表現される。ただし、本発明は、本実施形態に係るスキーゲームのようにキャラクタ4が常にカード2上に表示される形式に限定される訳ではない(例えば、後述する図14A及び図14B参照)。
このように、本実施形態に係るゲームシステム100は、マーカー3が付された複数のカード2と、実カメラ23に接続されるゲーム装置1とを含む。マーカー3は、実カメラ23によって撮像されることで、少なくとも、実カメラ23に対する自身が付されたカード2の姿勢を特定可能な特徴である。
ゲーム装置1は、実カメラ23によって撮像された撮像画像を取得する。次に、ゲーム装置1は、複数のマーカー3をそれぞれ撮像画像から検出する。続いて、ゲーム装置1は、検出したマーカー3により、複数のカード2それぞれの姿勢を示す姿勢情報を含む複数のカード情報を取得する。そして、ゲーム装置1は、取得した複数のカード情報に基づいて、キャラクタ4を制御する。ここで、複数のカード情報とは、複数件のカード情報を指す。複数件のカード情報における1件1件のカード情報は、それぞれ異なるカード2の姿勢情報を含む。
なお、ゲーム装置1は、本発明の情報処理装置に相当する。複数のカード2は、本発明の複数の実オブジェクトに相当する。マーカー3は、本発明の特徴に相当する。キャラクタ4は、本発明の「1つの仮想オブジェクト」に相当する。カード情報は、本発明の実オブジェクト情報に相当する。
[ゲーム装置]
図2は、本実施形態に係るゲーム装置1の外観を例示する。ゲーム装置1は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、ヒンジ構造により開閉可能(折り畳み可能)に連結されている。
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14I、アナログスティック15、挿入口17、及び、挿入口18が設けられる。
下側LCD12は、画像を(立体視可能ではなく)平面的に表示する表示装置である。タッチパネル13はゲーム装置1の入力装置の一つである。タッチパネル13への入力に用いるタッチペン28は、挿入口17(図2において点線で示される)から挿入されて収容される。なお、タッチペン28の代わりにユーザの指を用いることもできる。
各操作ボタン14A〜14Iは、所定の入力を行うための入力装置である。ボタン14A〜14Iには、ゲーム装置1によって実行されるプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは、選択操作等に用いられる。例えば、各ボタン14B〜14Eは、決定操作やキャンセル操作等に用いられる。例えば、電源ボタン14F
は、ゲーム装置1の電源をオンまたはオフにするために用いられる。例えば、セレクトボタン14Gは、ゲーム中断操作等に用いられる。例えば、HOMEボタン14Hは、所定の画面を表示するための操作等に用いられる。例えば、スタートボタン14Iは、ゲーム開始操作等に用いられる。また、アナログスティック15は、方向を指示するデバイスである。
挿入口18(図2において点線で示される)には、ゲームプログラムを記録した外部メモリ45が挿入される。
上側ハウジング21には、上側LCD22、外側左撮像部23a、外側右撮像部23b、内側撮像部24、および3D調整スイッチ25が設けられる。
上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、3D調整スイッチ25によって行われる。
内側撮像部24は、上側ハウジング21の内側面21Aの内向きの法線方向を撮像方向とする撮像部である。外側左撮像部23aおよび外側右撮像部23bは、いずれも内側面21Aとは反対の外側面の外向きの法線方向を撮像方向とする撮像部である。以降、外側左撮像部23aおよび外側右撮像部23bをまとめて、外側撮像部23と称する。
図3は、本実施形態に係るゲーム装置1の内部構成を示すブロック図である。ゲーム装置1は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインタフェイス(外部メモリI/F)33、データ保存用外部メモリインタフェイス(データ保存用外部メモリI/F)34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、角速度センサ40、電源回路41、およびインタフェイス回路(I/F回路)42等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312、VRAM(Video RAM)313等を含む。CPU311は、ゲーム装置1内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されている当該所定のプログラムを実行することによって、所定の処理を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。VRAM313に描画された画像は、上側LCD22および/または下側LCD12に出力されて表示される。
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、およびデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインタフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインタフェイスである。
メインメモリ32は、情報処理部31(CPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。即ち、メインメモリ32は、各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時
的に記憶したりする。本実施形態では、メインメモリ32として、例えば、PSRAM(Pseudo-Static Random Access Memory)が用いられる。
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ45は、例えば、読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。
データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)であり、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46は、SDカードである。データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46およびデータ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
情報処理部31には、無線通信モジュール36およびローカル通信モジュール37が接続される。無線通信モジュール36は、例えば、IEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、IEEE802.11b/gのアドホックモードにおいて、他のゲーム装置1と直接無線通信を行ったりすることが可能である。また、ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部31は、ローカル通信モジュール37を用いて同種の他のゲーム装置1との間でデータを送受信することができる。
情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(向に沿った直線方向の加速度(直線加速度)の大きさを検出する。なお、加速度センサ39は、静電容量式の加速度センサであっても、他の方式の加速度センサであってもよい。また、加速度センサ39は1軸または2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置1の姿勢や動きを算出する。
情報処理部31には、角速度センサ40が接続される。角速度センサ40は、ゲーム装置1の3軸周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ(角速度データ)を情報処理部31へ出力する。情報処理部31は、角速度センサ40から出力された角速度データを受信して、ゲーム装置1の姿勢や動きを算出する。
情報処理部31には、RTC38および電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻を計算する。電源回路41は、ゲーム装置1が有する電源(例えば、下側ハウジング11に収納される充電式電池)からの電力を制御し、ゲーム装置1の各部品に電力を供給する。
情報処理部31には、I/F回路42が接続される。I/F回路42には、マイク43、スピーカ44、およびタッチパネル13が接続される。マイク43は、ユーザの音声を検知して音声信号をI/F回路42に出力する。スピーカ44は、I/F回路42からの音声信号をアンプ(図示せず)により増幅し、音声を出力する。I/F回路42は、マイク43およびスピーカ44の制御を行う音声制御回路と、タッチパネル13の制御を行う
タッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。本実施形態では、タッチパネル13は、抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、例えば、静電容量方式等、任意の押圧式のタッチパネルを用いることができる。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチパネル13のタッチ位置座標を生成して情報処理部31に出力する。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われたタッチ位置を特定することができる。
操作ボタン14及びアナログスティック15は、情報処理部31に接続され、各操作ボタン(例えば、図2における14A〜14I、15)に対する入力状況(押下されたか否か)を示す操作データを情報処理部31に出力する。情報処理部31は、操作ボタン14及びアナログスティック15から操作データを取得することによって、操作ボタン14及びアナログスティック15に対する入力に応じた処理を実行する。
下側LCD12および上側LCD22は、情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(GPU312)の指示にしたがって画像を表示する。下側LCD12は、画像を(立体視可能ではなく)平面的に表示する表示装置である。下側LCD12の画素数は、一例として、320dot×240dot(横×縦)である。なお、本実施形態では表示装置としてLCDを用いているが、例えば、EL(Electro Luminescence:電界発光)を利用した表示装置等、他の表示装置が利用されてもよい。また、下側LCD12として、所望の解像度を有する表示装置を利用することができる。
上側LCD22は、裸眼立体視可能な表示装置である。上側LCD22は、例えば、レンチキュラー方式、又は、パララックスバリア方式(視差バリア方式)等のLCDである。これにより、上側LCD22は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるように表示することができる。上側LCD22の画素数は、一例として、800dot×240dot(横×縦)である。本実施形態では、上側LCD22は液晶表示装置であるとして説明される。ただし、これに限らず、例えば、ELを利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
外側撮像部23及び内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示にしたがって画像を撮像し、撮像した画像データを情報処理部31に出力する。
内側撮像部24は、所定の解像度を有する撮像素子と、レンズとを含む。撮像素子は、例えば、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等である。レンズは、ズーム機構を有するものでもよい。
外側左撮像部23a及び外側右撮像部23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。外側左撮像部23aと外側右撮像部23bとは、ゲーム装置1が実行するプログラムによって、2つの外側撮像部(外側左撮像部23a及び外側右撮像部23b)のいずれか一方を単独で使用可能である。本実施形態では、何れか一方の外側撮像部のみを使用することとして説明する。
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、ス
ライダの位置に応じた電気信号を情報処理部31に送信する。
[座標系]
図4は、本実施形態に係るゲームシステム100において扱われる座標系の一例を示す。例えば、本実施形態に係るゲームシステム100は、マーカー座標系(Xm、Ym、Zm
)と、仮想空間座標系(Xg、Yg、Zg)と、カメラ座標系(Xc、Yc、Zc)と、撮像画像平面座標系(Xp、Yp)(不図示)とを扱う。なお、図4では、マーカー3aのマーカー座標系は(Xma、Yma、Zma)、マーカー3bのマーカー座標系は(Xmb、Ymb、Zmb)と表記されている。ただし、マーカー3aとマーカー3bのマーカー座標系を区別しない場合は、マーカー3の座標系を(Xm、Ym、Zm)と表記する。
マーカー座標系(Xm、Ym、Zm)は、マーカー3を基準として設定される座標系であ
る。マーカー座標系は、例えば、マーカー3の中心点を原点とし、互いに直交する座標軸によって定義される座標系である。本実施形態では、マーカー座標系は、マーカー3(カード2)による操作対象の仮想オブジェクト(キャラクタ4)の配置等に用いられる。
例えば、マーカー3には前後及び左右の方向が定義されている。図4に示される例では、マーカー3の前方向は、矢印(マーカー3)によって示される方向である。この時、例えば、マーカー座標系のX軸(Xm)は、マーカー3の前後方向の軸として定義される。
また、マーカー座標系のY軸(Ym)は、マーカー3の左右方向の軸として定義される。
そして、マーカー座標系のZ軸(Zm)は、マーカー3が付されている平面の法線方向の
軸として定義される。なお、本実施形態では、マーカー座標系のX軸方向は、マーカー3によって示される方向(矢印の方向)と一致している。これは、マーカー3とマーカー座標系との対応関係の説明を簡単にするためであり、本発明は、このような形式に限定される訳ではない。マーカー座標系のX軸、Y軸、及び、Z軸は、その他の基準に従って定義されてもよい。
なお、マーカー座標系は、図4に示されるように、マーカー3毎に定義される。ただし、本実施形態に係るゲームシステム100は、いずれか1つのマーカー座標系を各マーカー3に対して共有して用いることも可能である。また、マーカー座標系の原点は、マーカー3の中心点でなくてもよい。例えば、マーカー座標系の原点は、マーカー3におけるいずれかの特徴点であってもよい。
仮想空間座標系(Xg、Yg、Zg)は、マーカー3(カード2)による操作対象以外の
仮想オブジェクト(障害物5)の配置に係る座標系である。
カメラ座標系(Xc、Yc、Zc)は、ゲーム装置1の外側左撮像部23a又は外側左撮
像部23b(以下、単に「外側撮像部23」と称する)の焦点位置を原点とし、外側撮像部23の撮像方向にZ軸(Zc)が定義され、撮像方向と直交する平面上にX軸(Xc)及びY軸(Yc)が定義された座標系である。
撮像画像平面座標系(Xp、Yp)は、ゲーム装置1の外側撮像部23によって撮像された撮像画像の平面上にX軸(Xp)及びY軸(Yp)が定義された座標系である。
マーカー座標系は、回転及び平行移動により、カメラ座標系に変換可能である。本実施形態では、このような回転及び平行移動は、同次変換行列Tcmによって行われる。ただし、マーカー座標系をカメラ座標系に変換する回転及び平行移動は、行列計算以外の方法で実現されてもよい。この同次変換行列Tcmは、後述するとおり、マーカー3から求めることができる。
なお、図4では、マーカー3aのマーカー座標系をカメラ座標系に変換する同次変換行列は、「Tcma」と表記されている。また、マーカー3bのマーカー座標系をカメラ座標
系に変換する同次変換行列は、「Tcmb」と表記されている。
また、仮想空間座標系は、マーカー座標系と同様、回転及び平行移動により、カメラ座標系に変換可能である。本実施形態では、このような回転及び平行移動は、同次変換行列Tcgによって行われる。ただし、仮想空間座標系をカメラ座標系に変換する回転及び平行移動は、行列計算以外の方法で実現されてもよい。この同次変換行列Tcgは、まず、初期設定により与えられる。その後、加速度センサ39によって検出されるゲーム装置1の平行移動、及び、角速度センサ40によって検出されるゲーム装置1の回転移動に基づいて、同次変換行列Tcgは適切に更新される。
また、カメラ座標系は、例えば、透視変換モデルによって、撮像画像平面座標系に変換可能である。
本実施形態において、図1A及び図1Bにおいて示されるキャラクタ4の配置位置は、マーカー座標系を用いて表現される。また、障害物5の配置位置は、仮想空間座標系を用いて表現される。ゲーム装置1は、同次変換行列Tcm及び同次変換行列Tcgによって、マーカー座標系及び仮想空間座標系をそれぞれカメラ座標系に変換する。また、ゲーム装置1は、透視変換モデルによって、カメラ座標系を撮像画像平面座標系に変換する。そして、ゲーム装置1は、撮像画像平面座標系により表現されているキャラクタ4と障害物5の画像(仮想カメラから見た仮想空間の画像)を生成することで、仮想空間画像を描画(レンダリング)する。更に、ゲーム装置1は、描画した仮想空間画像と、外部撮像装置23により撮像した撮像画像とを重畳した合成画像をディスプレイ22に表示する。このように、本実施形態では、実空間において用いられるカメラ座標系(及び、マーカー座標系)が、仮想空間においても用いられる。したがって、本実施形態では、実空間と仮想空間で共通する座標系が用いられるため、仮想空間画像における仮想オブジェクトと実空間の画像(撮像画像)における実オブジェクトとの位置合わせを容易に行うことができる。
また、本実施形態において、キャラクタ4及び障害物5の仮想オブジェクトの位置変動は、仮想空間に対する、キャラクタ4の相対的な位置変動によって実現される。例えば、キャラクタ4は位置変動する仮想オブジェクト、障害物5は位置変動しない仮想オブジェクトであるとする。そして、キャラクタ4は、カード2(マーカー3)上に表示される仮想オブジェクトであるとする。
この時、キャラクタ4は、位置変動する仮想オブジェクトであるため、位置変動に関するパラメータに値を持つ。位置変動に関するパラメータは、例えば、移動方向及び移動速度についてのパラメータである。そして、移動方向は、例えば、マーカー座標系により定義される。
ここで、キャラクタ4の位置変動に関するパラメータの値に従って、キャラクタ4の配置位置の座標値を変動させるとする。そうすると、キャラクタ4は、マーカー座標系において移動してしまうため、カード2(マーカー3)上に表示されなくなってしまう。よって、この場合、ゲーム装置1は、キャラクタ4の配置位置の座標値を変動させるのではなく、障害物5の座標値を変動させることにより、キャラクタ4の位置変動を実現する。例えば、まず、ゲーム装置1は、マーカー座標系において、キャラクタ4の移動方向とは逆方向のベクトルであって、その大きさがキャラクタ4の速さと一致するベクトルを用意する。次に、ゲーム装置1は、用意したベクトルを、同次変換行列Tcm及び同次変換行列Tcgによって、仮想空間座標系により表現されるベクトルに変換する。そして、ゲーム装置1は、変換したベクトルに従って、障害物5の座標値を変動させる。これにより、キャラ
クタ4と障害物5との関係において、キャラクタ4の相対的な位置は変動する。すなわち、仮想空間に対する、キャラクタ4の相対的な位置変動が実現される。
ただし、キャラクタ4の相対的な位置変動は、このような形式に限定されない。例えば、仮想空間座標系において、カメラ座標系の原点の位置、及び、マーカー座標系の原点の位置が予め定められているとする。この時、ゲーム装置1は、例えば、マーカー座標系において、キャラクタ4の移動方向のベクトルであって、その大きさがキャラクタ4の速さと一致するベクトルを用意する。次に、ゲーム装置1は、用意したベクトルを、同次変換行列Tcm及び同次変換行列Tcgによって、仮想空間座標系により表現されるベクトルに変換する。そして、ゲーム装置1は、変換したベクトルに従って、仮想空間座標系における、カメラ座標系の原点の位置、及び、マーカー座標系の原点の位置を変動させる。これにより、キャラクタ4と障害物5との関係において、キャラクタ4の相対的な位置は変動する。すなわち、仮想空間に対する、キャラクタ4の相対的な位置変動が実現される。なお、この場合、仮想空間座標系における、カメラ座標系の原点の位置の変動(平行移動)に基づいて、同次変換行列Tcgを適切に更新する必要がある。
このように、本実施形態におけるキャラクタ4の位置変動は、キャラクタ4の配置位置の座標値を変動させることにより実現されてもよい。また、本実施形態におけるキャラクタ4の位置変動は、キャラクタ4以外の他の仮想オブジェクト(例えば、障害物5)の配置位置の座標値を変動させることにより実現されてもよい。本実施形態に係るゲームシステム100は、このような座標系において、キャラクタ4の制御を行う。
なお、仮想空間座標系は、複数のマーカー座標系のうち、実空間内において固定されて利用されるカード2に係るマーカー座標系に置き換えてもよい。この場合、同次変換行列Tcgは、当該マーカー座標系に係る同次変換行列Tcmに置き換わる。
[保持情報]
図5は、本実施形態に係るゲーム装置1が保持する情報を示す。ゲーム装置1は、カード情報511、キャラクタ情報512、障害物情報513、相対姿勢情報514、ゲーム進行状態情報515、及び、仮想空間情報516を保持する。これらの情報は、後述する記憶部51に保持されている。
カード情報511は、カード2に関する情報である。カード情報511は、ゲームシステム100において使用されるカード2毎に存在する。カード情報には、例えば、カード2を識別するためのカードID、マーカー画像データ、マーカーサイズ、マーカー座標系情報、及び、位置姿勢情報等が含まれる。マーカー画像データは、カード2に付されているマーカー3の画像データである。マーカーサイズは、カード2に付されているマーカー3の縦横の長さ等、マーカー3の大きさを示す情報である。また、マーカー座標系情報は、マーカー3とマーカー座標系との関係を示す情報である。マーカー座標系情報は、例えば、マーカー3の四角形の四頂点のマーカー座標系における座標値である。
ゲーム装置1は、マーカー画像データに基づいて、撮像画像に含まれるマーカー3の少なくとも外側撮像部23に対する姿勢を特定することができる。例えば、ゲーム装置1は、マーカー画像データを用いて、複数の姿勢状態のマーカー3のパターンを用意する。そして、ゲーム装置1は、撮像画像に含まれるマーカー3と用意した各パターンを比較する。比較の結果、ゲーム装置1は、撮像画像に含まれるマーカー3に最も類似するパターンを特定することができる。そして、ゲーム装置1は、特定したパターンから、撮像画像に含まれるマーカー3の姿勢を特定することができる。
なお、本実施形態に係るゲーム装置1は、撮像画像に含まれるマーカー3の姿勢の他に
、位置も特定することができる。ゲーム装置1は、マーカー画像データ、マーカー3の大きさ、及び、マーカー座標系情報に基づいて、撮像画像に含まれるマーカー3(カード2)の外側撮像部23に対する位置及び姿勢を示す位置姿勢情報を特定することができる。位置姿勢情報は、例えば、図4により示される、マーカー座標系をカメラ座標系に変換することができる同次変換行列Tcmである。この同次変換行列Tcmは、例えば、数1に示されるような、回転移動に係る3×3の行列R3×3と、平行移動に係る3×1の行列t3×1を含む行列として表現することができる。
Figure 0005812665
行列R3×3は、マーカー座標系の座標軸とカメラ座標系の座標軸のそれぞれの方向を合わせるための回転移動を実現する。よって、行列R3×3により、カメラ座標系に対するマーカー座標系の向きを特定することができる。すなわち、行列R3×3は、外部撮像部23に対するカード2の姿勢を特定することができる姿勢情報の一例である。この行列R3×3により、例えば、カメラ座標系におけるマーカー3によって示される方向(マーカー座標系のX軸の向き)を特定することができる。なお、本実施形態では、マーカー3によって示される方向(マーカー座標系のX軸の向き)が、カード2の姿勢の基準となる方向であるとする。言い換えると、本実施形態では、姿勢情報から特定することができる、カメラ座標系におけるマーカー3によって示される方向(矢印の方向)が、外部撮像装置23に対するカード2の姿勢であるとする。これにより、プレイヤは、マーカー3(矢印の方向)により、カード2の姿勢を視覚的に認知することができる。ただし、外部撮像装置23に対するカード2の姿勢は、このような例に限定される訳ではなく、その他の形式により表現されてもよい。
行列t3×1は、マーカー座標系の原点とカメラ座標系の原点とを合わせるための平行移動を実現する。よって、行列t3×1により、カメラ座標系における、マーカー座標系の位置を特定することができる。すなわち、行列t3×1は、外部撮像部23に対するカード2の位置を特定することができる位置情報の一例である。なお、マーカー座標系の原点は、マーカー3の中心点である。したがって、行列t3×1によって、カメラ座標系における、マーカー3の中心点の座標値を特定することができる。
キャラクタ情報512は、キャラクタ4に関する情報である。すなわち、キャラクタ情報512は、ゲームシステム100に係る操作対象である仮想オブジェクトに関する情報である。キャラクタ情報512には、例えば、キャラクタ4を識別するためのキャラクタID、キャラクタ4を表示するためのキャラクタ画像データ、キャラクタ4の状態に関するパラメータの値、及び、対応マーカー情報等が含まれる。
キャラクタ4の状態を示すパラメータには、例えば、図5に示されるように、位置変動に関するパラメータ、姿勢に関するパラメータ、及び、位置に関するパラメータ等が存在する。
位置変動に関するパラメータは、例えば、移動方向、移動速度(速さ)等についてのパラメータである。移動方向についてのパラメータの値は、仮想空間内におけるキャラクタ4の移動する方向を定める。また、移動速度についてのパラメータの値は、仮想空間内におけるキャラクタ4の位置の変化量を定める。本実施形態では、これらのパラメータに設定される値を定義する座標系として、マーカー座標系が用いられる。ただし、これらのパ
ラメータに設定される値を定義する座標系として、他の座標系(例えば、仮想空間座標系)が用いられてもよい。また、移動方向についてのパラメータの値と移動速度についてのパラメータの値は、1つのベクトル値で表現されてもよい。
また、姿勢に関するパラメータは、例えば、キャラクタ4の向き及び角度等についてのパラメータである。例えば、キャラクタ4は、初期設定として、キャラクタ4の位置を定める座標系(マーカー座標系)のXY平面上垂直にX軸方向を向いて配置されるとする。この時、キャラクタ4の向きは、例えば、XY平面上における、キャラクタ4の正面方向と当該座標系のX軸との間の角度によって表現される。また、キャラクタ4の角度は、例えば、キャラクタ4の垂直方向と当該座標系のZ軸との間の角度によって表現される。これらの向き及び角度についてのパラメータは、キャラクタ4の身体部位(例えば、間接)毎に設定されてもよい。この時、キャラクタ4の身体部位の向きは、例えば、当該身体部位の水平方向における、初期設定として与えられる向きとの差分の角度によって定められる。キャラクタ4の身体部位の向きにより、キャラクタ4の身体部位のねじれが表現される。また、キャラクタ4の身体部位の角度は、例えば、当該身体部位の垂直方向における、初期設定として与えられる角度との差分の角度によって定められる。キャラクタ4の身体部位の角度により、キャラクタ4の身体部位の曲がりが表現される。本実施形態では、向きについてのパラメータに設定される値を定義する座標系として、マーカー座標系が用いられる。ただし、向きについてのパラメータに設定される値を定義する座標系として、他の座標系が用いられてもよい。
また、位置に関するパラメータは、例えば、マーカー座標系におけるキャラクタ4の配置位置等についてのパラメータである。本実施形態では、配置位置は、座標値として与えられる。なお、キャラクタ4の配置位置は、キャラクタ4の身体部位に応じて設定されてもよい。例えば、キャラクタ4の左足と右足の配置位置は別々に設定されてもよい。また、キャラクタ4の配置位置に係るマーカー座標系は、同次変換行列Tcmにより共通の座標系に変換することができるため、キャラクタ4の身体部位によって異なってもよい。例えば、キャラクタ4の左足の配置位置の座標系には、マーカー3a(カード2a)のマーカー座標系が用いられ、キャラクタ4の右足の配置位置の座標系には、マーカー3b(カード2b)のマーカー座標系が用いられてもよい。なお、このような、キャラクタ4と複数のカード2との対応関係は、対応カード情報によって示される。
障害物情報513は、障害物5に関する情報である。すなわち、障害物情報513は、ゲームシステム100に係る操作対象以外の仮想オブジェクトに関する情報である。障害物情報513には、例えば、障害物5を識別するためのオブジェクトID、障害物5を表示するための障害物画像データ、及び、障害物5の状態に関するパラメータ等が含まれる。なお、障害物5の状態に関するパラメータについては、キャラクタ4の状態に関するパラメータと同様であるため、説明を省略する。なお、上述のとおり、本実施形態に係る障害物5の配置位置は、仮想空間座標系を用いて設定される。
相対姿勢情報514は、複数のカード2のカード情報511に含まれる姿勢情報又は位置姿勢情報から取得される、複数のカード2の相対的な姿勢関係を示す情報である。上述したとおり、カード情報511に含まれる姿勢情報は、例えば、行列R3×3である。また、位置姿勢情報は、例えば、同次変換行列Tcmである。ゲーム装置1は、複数のカード2のカード情報511に含まれる姿勢情報又は位置姿勢情報を用いて、相対姿勢情報514を取得する。なお、相対姿勢情報514には、例えば、類似度情報、差分情報、対面状態情報等が含まれる。
類似度情報は、複数のカード2のうちの2枚のカード2間における姿勢の類似度を示す。ゲーム装置1は、比較に係る2枚のカード2のカード情報511に含まれる姿勢情報を
用いて、類似度情報を求める。類似度情報は、比較に係る2枚のカード2の姿勢が類似するほど、高い類似度を示す。類似度情報は、例えば、比較に係る2枚のカード2のマーカー3によって示される方向の差分角が小さいほど、高い類似度を示す。類似度の具体例を以下の[数2]により示す。なお、差分角は、0度以上180度以下で与えられるものとする。
Figure 0005812665
カード2が3枚以上存在する場合、ゲーム装置1は、複数の姿勢の類似度を取得することができる。この時、ゲーム装置1は、例えば、類似度情報に使用する類似度を選択してもよい。また、ゲーム装置1は、取得される複数の類似度の和を類似度情報に使用してもよい。
差分情報は、複数のカード2のうちの2枚のカード2間における姿勢の差分を示す。例えば、差分情報は、2枚のカード2のマーカー3によって示される向きの差分の角度を示す。ゲーム装置1は、比較に係る2枚のカード2のカード情報511に含まれる姿勢情報を用いて、差分情報を求める。なお、カード2が3枚以上存在する場合については、類似度情報と同様であるため、説明を省略する。
対面状態情報は、複数のカード2のうちの少なくとも2枚のカード2の位置及び姿勢から特定される向かい合わせの状態を示す。ゲーム装置1は、少なくとも2枚のカード2のカード情報511に含まれる位置姿勢情報を用いて、対面状態情報を求める。本実施形態に係る対面状態情報は、複数のカード2の姿勢が、正面に向かい合っている状態にある、背面に向かい合っている状態にある、又は、どちらの状態でもないという3つの状態のうちのどの状態にあるかを示す2ビットのフラグにより表現される。
本実施形態では、上述のとおり、カード2の姿勢を、マーカー3により示される向き(矢印の向き)によって例示した。以下、カード2の姿勢の向いている方向を「カード2の向き」とも称する。本実施形態では、カード2の姿勢が正面に向かい合っている状態とは、マーカー3の矢印が正面に向かい合っている状態を指す。また、カード2の姿勢が背面に向かい合っている状態とは、マーカー3の矢印が背面に向かい合っている状態を指す。
なお、対面状態情報は、例えば、複数のカード2の姿勢が正面向かい合っているか否か、又は、複数のカード2の姿勢が背面に向かい合っているか否かを示す1ビットのフラグにより表現されてもよい。また、複数のカード2それぞれにおいて、カード2の姿勢が正面又は背面に向かい合っている状態からのずれ(角度)を考えることができる。このずれ(角度)は、カード2毎に求めることができるため、カード2の数だけ存在する。対面状態情報は、例えば、この複数存在するずれ(角度)の和によって表現されてもよい。以下、図6A〜図6Fを用いて、対面状態情報を説明する。
図6A〜図6Cは、2枚のカード2の位置及び姿勢から特定される向かい合わせの状態を説明するための図である。矢印M1の方向は、2枚のカード2のうちの第1のカード2の向きを示す。また、矢印M2の方向は、2枚のカード2のうちの第2のカード2の向きを示す。矢印M1の原点P1は、第1のカード2のカメラ座標系における位置を示す。また、矢印M2の原点P2は、第2のカード2のカメラ座標系における位置を示す。更に、矢印M12は、P1を始点とし、P2を終点とするベクトルを示す。つまり、M12は、第2のカード2の位置ベクトルから第1のカード2の位置ベクトルを引いた差分のベクトル(相対位置ベクトル)を示す。これらは、各カード2のカード情報511の位置姿勢情
報に含まれる位置情報及び姿勢情報により特定することができる。
ここで、本実施形態では、カード2の姿勢の基準となる方向(カード2の向き)は、カード2に係るマーカー座標系のX軸の方向であった。そこで、本実施形態では、各カード2の向きは、各マーカー座標系のX軸の単位ベクトルで表現されるものとする。ただし、カード2の向きの表現は、他の表現が用いられてもよい。また、カード2の向きを表現する単位ベクトルは、設定及び変更可能な長さのベクトルであってもよい。このマーカー座標系のX軸の単位ベクトルで表現されたカード2の向きは、同次変換行列Tcmを用いることで、カメラ座標系のベクトルで表現することができる。すなわち、M1及びM2は、それぞれ、カメラ座標系のベクトルで表現することができる。以下、M1及びM2を、それぞれのカード2の向きを示すベクトルとして説明する。
また、各カード2のカメラ座標系における位置は、各カード2のカード情報511の位置姿勢情報に含まれる位置情報により特定することができる。よって、M12も、M1及びM2と同様、カメラ座標系のベクトルで表現することができる。このように、本実施形態では、M1、M2、及び、M12を共通の座標系で表現することができる。そして、第1のカード2と第2のカード2の姿勢の向かい合わせの状態は、例えば、この共通の座標系で表現することができるM1、M2、及び、M12を用いることで定めることができる。
なお、ここでは、2枚のカード2を区別するため、「第1のカード2」と「第2のカード2」という表現を用いる。第1のカード2は、例えば、図1a及び1bにおけるカード2aである。また、第2のカード2は、例えば、図1a及び1bにおけるカード2bである。この対応関係は、入れ替わってもよい。
ここで、2つのベクトルV、Wの間には、以下の数3の関係が成立する。
Figure 0005812665
「V・W」は、2のベクトルV、Wの内積を示す。「θ」は、2つのベクトルV、Wのなす角の角度を示す。「|V|」は、ベクトルVの長さを示す。「|W|」は、ベクトルWの長さを示す。
上述のとおり、M1、M2及びM12は、カメラ座標系におけるベクトルで表現可能である。そのため、ゲーム装置1は、M1及びM2、並びに、M1及びM12の内積を計算することができる。そして、数3により、ゲーム装置1は、M1及びM2のなす角の角度、並びに、M1及びM12のなす角の角度を特定することができる。ゲーム装置1は、例えば、M1及びM2のなす角の角度、並びに、M1及びM12のなす角の角度により、第1のカード2と第2のカード2の姿勢の向かい合わせの状態を定めることができる。なお、向かい合わせの状態の特定において、数3から、ゲーム装置1は、それぞれのベクトルのなす角の角度(θ)に代えて、それぞれのベクトルのなす角の余弦(cosθ)を用いて
もよいことは言うまでもない。本実施形態では、説明を簡単にするため、それぞれのベクトルのなす角の角度(θ)を用いて、第1のカード2と第2のカード2の姿勢の向かい合わせの状態を説明する。なお、それぞれのベクトルのなす角の角度(θ)は、0度以上180度以下で与えられるものとする。
図6Aは、2枚のカード2が完全に正面に向かい合っている状態を例示する。また、図6Cは、2枚のカード2が完全に背面に向かい合っている状態を例示する。このように、
M1及びM2が完全に反対方向を向いている場合、M1及びM2のなす角の角度は、ともに180度となる。これに対して、M1及びM12のなす角の角度は、2枚のカード2が完全に正面に向かい合っている状態の場合、0度となる。他方、M1及びM12のなす角の角度は、2枚のカード2が完全に背面に向かい合っている状態の場合、180度となる。すなわち、M1及びM2のなす角の角度により、ゲーム装置1は、2枚のカード2が正面又は背面に向かい合っているか否かを特定することができる。そして、M1及びM12のなす角の角度により、ゲーム装置1は、2枚のカード2の向かい合いが、正面であるか背面であるかを特定することができる。
例えば、M1及びM2のなす角の角度が設定及び変更可能な第1の閾値を超えると判定される場合、2枚のカード2は、正面又は背面に向かい合っていると定めることができる。他方、M1及びM2のなす角の角度が設定及び変更可能な第1の閾値以下であると判定される場合、2枚のカード2は、正面にも背面にも向かい合っていない状態であると定めることができる。そして、2枚のカード2が正面又は背面に向かい合っていると判定された場合、M1及びM12のなす角の角度が設定及び変更可能な第2の閾値を超えると判定されるとき、2枚のカード2は、背面に向かい合っていると定めることができる。また、2枚のカード2が正面又は背面に向かい合っていると判定された場合、M1及びM12のなす角の角度が設定及び変更可能な第2の閾値以下であると判定されるとき、2枚のカード2は、正面に向かい合っていると定めることができる。よって、ゲーム装置1は、M1及びM2のなす角度と第1の閾値とを比較することで、2枚のカード2が正面又は背面に向かい合っているか否かを判定することができる。そして、2枚のカード2が正面又は背面に向かい合っていると判定された場合、ゲーム装置1は、M1及びM12のなす角度と第2の閾値とを比較することで、2枚のカード2が、正面に向かい合っているか、又は、背面に向かい合っているかを判定することができる。したがって、第1の閾値及び第2の閾値の値により、図6Bにより例示される状態は、第1のカード2と第2のカード2の姿勢が、正面向かい合っている状態か、背面に向かい合っている状態か、又は、どちらでもない状態かが識別される。
なお、2枚のカード2が正面又は背面に向かい合っているか否かを判定するために、M1及びM2のなす角の角度が用いられる。M1及びM2は、本実施形態では、2枚のカード2それぞれの向きを示す単位ベクトルである。このように、M1及びM2の長さは、設定により与えられる。したがって、M1及びM2の内積の値は、M1及びM2のなす角の角度と1対1の関係になる。この関係を考慮して、2枚のカード2が正面又は背面に向かい合っているか否かを判定するために、ゲーム装置1は、M1及びM2のなす角の角度に代えて、M1及びM2の内積の値を用いてもよい。
また、2枚のカード2が、正面に向かい合っているか、又は、背面に向かい合っているかを判定するために、M1及びM12のなす角の角度が用いられる。本実施形態では、M12は、第1のカード2と第2のカード2の相対的な位置関係を示す相対位置ベクトルである。そのため、M12の長さは、第1のカード2及び第2のカード2の位置により、可変である。したがって、M1及びM12の内積の値は、M1及びM12のなす角の角度と1対1の関係にはならない。しかしながら、M1及びM12の内積の値をM12の長さで割った値は、M1及びM12のなす角の角度と1対1の関係になる。この関係を考慮して、2枚のカード2が、正面に向かい合っているか、又は、背面に向かい合っているかを判定するために、ゲーム装置1は、M1及びM12のなす角の角度に代えて、M1及びM12の内積の値をM12の長さで割った値を用いてもよい。
また、2枚のカード2が、正面に向かい合っているか、又は、背面に向かい合っているかを判定するための第2の閾値として、ゲーム装置1が90度を用いるとする。この場合、M1及びM12のなす角が90度を超えるとき、M1及びM12の内積の値は負の値と
なる。また、M1及びM12のなす角が90度以下のとき、M1及びM12の内積の値は正の値となる(0を含む)。したがって、ゲーム装置1は、M1及びM12の内積の値が、負の値か、又は、正の値かを判定することにより、M1及びM12のなす角が第2の閾値(90度)を超えるか否かを識別することができる。よって、このような場合、2枚のカード2が、正面に向かい合っているか、又は、背面に向かい合っているかを判定するために、ゲーム装置1は、M1及びM12のなす角の角度に代えて、M1及びM12の内積の値を用いてもよい。
図6D〜図6Fは、3枚のカードの位置及び姿勢から特定される向かい合わせの状態を説明するための図である。それぞれ、3枚のカード2の状態を例示する。矢印M3は、3枚のカード2のうちの第3のカード2の姿勢を示す。矢印M3の原点P3は、第3のカード2のカメラ座標系における位置を示す。矢印M13は、P1を始点とし、P3を終点とするベクトルを示す。つまり、M13は、第3のカード2の位置ベクトルから第1のカード2の位置ベクトルを引いた差分のベクトル(相対位置ベクトル)を示す。このようにカード2が3枚以上あったとしても、対面状態情報は、カード2が2枚の場合と同様に説明することができる。つまり、ゲーム装置1は、M1及びM2のなす角の角度、並びに、M1及びM12のなす角の角度により、第1のカード2と第2のカード2の向かい合わせの状態を特定することができる。また、ゲーム装置1は、M1及びM3のなす角の角度、並びに、M1及びM13のなす角の角度により、第1のカード2と第3のカード2の向かい合わせの状態を特定することができる。これにより、例えば、図6Eにより示される状態は、3枚のカード2のうち、第1のカード2と第3のカード2のみ背面に向かい合っている状態であると特定されてもよい。このように、カード2が3枚以上である場合、対面状態情報は、カード2のうちの2枚のカード2それぞれの向かい合いの状態を示してもよい。
また、カード2が3枚以上である場合、カード2のうちの2枚のカード2それぞれの向かい合いの状態を用いることで、全てのカード2の向かい合わせの状態を定めることができる。例えば、図6Dにより示される状態は、3枚のカード2が正面に向かい合っている状態であると定められてもよい。また、図6Fにより示される状態は、3枚のカード2が背面に向かい合っている状態であると定められてもよい。これらの状態は、第1のカード2と第2のカード2の向かい合わせの状態、及び、第1のカード2と第3のカード2の向かい合わせの状態から特定される。つまり、ゲーム装置1は、カード2のうちの2枚のカード2それぞれの向かい合いの状態により、全てのカード2の向かい合わせの状態を特定することができる。このように、カード2が3枚以上である場合、対面状態情報は、全てのカード2の向かい合いの状態を示してもよい。
本実施形態に係るゲーム装置1は、これらのような相対姿勢情報514を用いて、キャラクタ4(仮想オブジェクト)を制御する。ただし、本発明による仮想オブジェクトの制御は、このような形式に限定されない。相対姿勢情報514を用いない例は、後述する変形例において説明する。
ゲーム進行状態情報515は、ゲームの進行状況を含む情報である。ゲーム進行状態情報515には、例えば、スキーゲームにおける得点情報等が含まれる。
仮想空間情報516は、仮想空間座標系についての情報である。仮想空間情報516には、例えば、同次変換行列Tcg等が含まれる。
[機能ブロック]
図7は、本実施形態に係るゲーム装置1の機能ブロックを例示する。図7に示される各機能ブロックは、例えば、外部メモリ45に格納されるゲームプログラムを情報処理部3
1(CPU311及びGPU312)が読み出して実行することによって実現される機能の一部である。
ゲーム装置1は、ゲームプログラムを実行することによって、記憶部51、撮像画像取得部52、検出部53、実オブジェクト情報取得部54、相対姿勢情報取得部55、仮想オブジェクト制御部56、ゲーム進行処理部57、描画部58、及び、表示制御部59として動作する。
記憶部51は、カード情報511、キャラクタ情報512、障害物情報513、相対姿勢情報514、ゲーム進行状態情報515、及び、仮想空間情報516を記憶する。
撮像画像取得部52は、外側撮像部23によって撮像された撮像画像を取得する。より具体的には、撮像画像取得部52は、外側撮像部23に対して撮像動作を指示する。そして、撮像画像取得部52は、当該指示に基づいて外側撮像部23により撮像された撮像画像を取得する。例えば、撮像画像取得部52は、外側撮像部23に繰り返し撮像動作を指示する。これにより、撮像画像取得部52は、繰り返し撮像画像を取得する。本実施形態に係るゲーム処理は、例えば、60フレーム/秒で分割されたフレーム単位で実行されるとする。この時、撮像画像取得部52は、外側撮像部23に対して1/60秒ごとに繰り返し撮像動作を指示し、撮像画像を取得する。
検出部53は、撮像画像から、カード情報511に含まれるマーカー画像に該当するマーカー3を検出する。このようなマーカー3の検出は、例えば、画像認識エンジンを用いて行われる。
実オブジェクト情報取得部54は、検出されたマーカー3に基づいて、外部撮像部23に対するカード2それぞれの位置及び姿勢を示す位置姿勢情報(例えば、同次変換行列Tcm)を取得する。なお、このような位置姿勢情報は、例えば、ARToolKit等のソフトウェ
アライブラリを用いることによって取得することができる。取得された位置姿勢情報はそれぞれ、カード情報511の一部として、記憶部51に記憶される。
相対姿勢情報取得部55は、実オブジェクト情報取得部54により取得された複数のカード情報511に基づいて、複数のカード2の相対的な姿勢関係を示す相対姿勢情報514を取得する。取得された相対姿勢情報514は、記憶部51に記憶される。なお、相対姿勢情報514には、例えば、類似度情報、差分情報、対面状態情報等が含まれる。
仮想オブジェクト制御部56は、実オブジェクト情報取得部54により取得された複数のカード情報511に基づいて、キャラクタ4の制御を行う。また、仮想オブジェクト制御部56は、相対姿勢情報取得部55により取得された相対姿勢情報に基づいて、キャラクタ4の制御を行う。例えば、キャラクタ4の制御において、仮想オブジェクト制御部56は、キャラクタ4の状態に関するパラメータの値を変化させる。この時、仮想オブジェクト制御部56が値を変化させるパラメータは、キャラクタ4の位置変動に関するパラメータであってもよい。また、仮想オブジェクト制御部56は、キャラクタ4の位置変動を制御するとき、キャラクタ4の位置変動に関するパラメータの値に基づいて、仮想空間に対する、キャラクタ4の相対的な位置を変動させてもよい。
ゲーム進行処理部57は、ゲーム進行状態515を参照及び更新することで、本実施形態に係るスキーゲームのゲーム進行を管理する。例えば、ゲーム進行処理部57は、プレイヤがキャラクタ4を操作することで得た得点を管理したり、RTC38によって取得される実空間の時間経過に従って、仮想空間内の時間経過を管理したりする。
描画部58は、仮想空間に配置される仮想カメラの位置及び姿勢を設定し、仮想空間に、複数のカード情報511により位置及び姿勢が決定されるキャラクタ4を配置する。そして、描画部58は、仮想カメラから見た仮想空間の画像を生成することで、仮想空間画像を描画(レンダリング)する。
表示制御部59は、外側撮像部23により撮像された撮像画像に仮想空間画像を合成した合成画像を生成する。そして、表示制御部59は、生成した合成画像を上側LCD22に表示させる。
なお、以下において、情報処理部31により実現される上記各機能による処理を説明する場合、情報処理部31に代えて各機能ブロックを処理の主体として説明する。
§2 動作例
次に、図8を用いて、本実施形態に係るゲーム処理の流れを説明する。図8は、本実施形態に係るゲーム処理の流れを示すフローチャートである。なお、図8では、ステップを「S」と略称する(後述する図9及び図12においても同様)。
ステップ101及びステップ102では、撮像画像が取得され、撮像画像からマーカー3が検出される。撮像画像取得部52は、外側撮像部23によって撮像された撮像画像を取得する(ステップ101)。そして、撮像画像が取得されると、検出部53は、撮像画像から、カード情報511に含まれるマーカー画像データにより示されるマーカーに該当するマーカー3を検出する(ステップ102)。マーカー3は、カメラ座標系のZ軸と直交するように(つまり、撮像画像平面と平行に)配置される場合を除いて、撮像画像中に歪んだ状態で撮像される。この場合であっても、マーカー3の検出は、一般的な画像認識エンジンを用いて行うことが可能である。その後、処理は、ステップ103に進む。
ステップ103では、マーカー3毎に、位置姿勢情報が取得される。実オブジェクト情報取得部54は、ステップ102において検出されたマーカー3毎に、マーカー3が付されるカード2の外側撮像部23に対する位置及び姿勢を示す位置姿勢情報を取得する。位置姿勢情報は、例えば、マーカー座標系をカメラ座標系に変換可能な同次変換行列Tcmである。そして、実オブジェクト情報取得部54は、取得した位置姿勢情報を、それぞれカード情報511の一部として、記憶部51に記憶させる。その後、処理は、ステップ104に進む。
ステップ104では、仮想オブジェクト制御関連処理が実行され、次のステップ105に処理が進む。図9は、仮想オブジェクト制御関連処理の手順を例示するフローチャートである。以下、図9を参照して、仮想オブジェクト制御関連処理について説明する。
ステップ201では、相対姿勢情報が取得される。相対姿勢情報取得部55は、記憶部51に記憶されている複数のカード情報511(位置姿勢情報)に基づいて、相対姿勢情報514を取得する。そして、相対姿勢情報取得部55は、取得した相対姿勢情報514を、記憶部51に記憶させる。なお、本実施形態に係る相対姿勢情報514には、上述した、類似度情報、差分情報、及び、対面状態情報等が含まれる。相対姿勢情報取得部55は、記憶部51に記憶されている複数のカード情報511(位置姿勢情報)から、これらの情報を求める。そして、相対姿勢情報取得部55は、求めた情報を含む相対姿勢情報514を取得する。
ステップ202では、パラメータの値が更新される。仮想オブジェクト制御手段56は、複数のカード情報511(位置姿勢情報)又は、相対姿勢情報514を用いて、各パラメータの値を更新する。以下、仮想オブジェクト制御手段56によるパラメータの値の更
新を例示する。なお、上述のとおり、カード2aは、キャラクタ4の左足に対応している。また、カード2bは、キャラクタ4の右足に対応している。
仮想オブジェクト制御手段56は、カード2の向きに基づいて、キャラクタ4の移動方向についてのパラメータの値を更新する。ここで、キャラクタ4の移動方向についてのパラメータの値は、マーカー3aのマーカー座標系により定義されるとする。この時、仮想オブジェクト制御手段56は、それぞれのカード情報511に含まれる位置姿勢情報(TcmaとTcmb)に基づいて、マーカー座標系(Xma、Yma、Zma)におけるカード2bの姿勢(Xmb軸の向き)を求める。具体的には、マーカー座標系(Xmb、Ymb、Zmb)におけるXmbの単位ベクトルにTcmbとT-1 cma(Tcmaの逆行列)とをかけることにより、マー
カー座標系(Xma、Yma、Zma)におけるカード2bの姿勢(Xmb軸の向き)を求める。そして、仮想オブジェクト制御手段56は、マーカー座標系(Xma、Yma、Zma)により表現されたカード2a及びカード2bの向きに基づいて、キャラクタ情報512に含まれるキャラクタ4の移動方向についてのパラメータの値を更新する。例えば、仮想オブジェクト制御手段56は、キャラクタ4の移動方向についてのパラメータの値を、カード2a及びカード2bの姿勢方向の中間方向を示す値に更新する。なお、同次変換行列Tcma
cmbは、それぞれの回転移動に係る行列R3×3(姿勢情報)で代用可能である。
この時、仮想オブジェクト制御手段56は、キャラクタ情報512に含まれるキャラクタ4の向きについてのパラメータの値についても同様の値に更新してもよい。なお、キャラクタ4の向きについてのパラメータは、キャラクタ4の正面方向を定める。これにより、キャラクタ4の移動方向は、2枚のカード2により示される方向の中間方向となる。
また、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる類似度情報に基づいて、キャラクタ4の移動速度(速さ)についてのパラメータの値を更新する。例えば、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる類似度情報により示されるカード2a及びカード2bの姿勢の類似度が高いほど、キャラクタ4の移動速度についてのパラメータの値を大きな値に更新する。移動速度の更新において、仮想オブジェクト制御手段56は、類似度により決定される加速度を用いて、移動速度を増減させてもよい。また、移動速度の更新において、仮想オブジェクト制御手段56は、類似度により一意に移動速度を決定してもよい。これにより、2枚のカードにより示される方向が直滑降のような状態に近いほど、キャラクタ4の移動速度は早くなる。
また、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる差分情報に基づいて、キャラクタ4の腰及び両膝の角度についてのパラメータの値を更新する。具体的には、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる差分情報により示されるカード2a及びカード2bの姿勢の差分が大きいほど、キャラクタ4の腰及び両膝の角度についてのパラメータの値を大きな値に更新する(最大値を180度とする)。これにより、2枚のカードにより示される方向が離れるほど、キャラクタ4の腰及び膝は真っ直ぐになる。
また、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる対面状態情報に基づいて、キャラクタ4のアクションを制御する。仮想オブジェクト制御手段56は、カード2a及びカード2bの姿勢が向かい合っている状態にあると対面状態情報により示される場合、キャラクタ4に対して、移動方向に転倒するアクションを実行させる。他方、仮想オブジェクト制御手段56は、カード2a及びカード2bの姿勢が背面に向かい合っている状態にあると対面状態情報により示される場合、キャラクタ4に対して、移動方向後方に転倒するアクションを実行させる。
なお、仮想オブジェクト制御手段56は、加速度センサ39によって検出されるゲーム
装置1の平行移動、及び、角速度センサ40によって検出されるゲーム装置1の回転移動に基づいて、仮想空間情報516に含まれる同次変換行列Tcgを更新する。
ステップ203では、キャラクタ4及び障害物5等の仮想オブジェクトの配置位置が更新される。本実施形態では、キャラクタ4の配置位置は、マーカー座標系によって表現されている。また、障害物5の配置位置は、仮想空間座標系によって表現されている。仮想オブジェクト制御手段56は、例えば、上述のとおり、カード情報511に含まれる位置姿勢情報(同次変換行列Tcm)、キャラクタ情報512に含まれる位置変動に関するパラメータの値、及び、仮想空間情報に含まれる同次変換行列Tcgを用いて、障害物5の座標値を更新する。その後、仮想オブジェクト制御関連処理は終了し、次のステップ105に処理が進む。
図8に戻り、ステップ105では、ゲーム進行処理が実行される。ゲーム進行処理部57は、例えば、記憶部51のキャラクタ情報512及び障害物情報513を参照し、所定のイベント等が発生したか否かを判定する。本実施形態におけるスキーゲームにおいて、所定のイベントとは、例えば、仮想空間上、キャラクタ4が障害物5に衝突すること等である。このようなイベントが発生した場合、ゲーム進行処理部57は、例えば、記憶部51のゲーム進行状態情報515に含まれる得点情報を更新する。また、ゲーム進行処理部57は、例えば、実空間の時間経過に従って、ゲーム内時間を更新する。ゲーム進行処理が終了すると、処理は、ステップ106に進む。
ステップ106では、表示処理が実行される。描画部58は、外側撮像部23と同一位置に配置された仮想カメラの視点から仮想オブジェクトを描画する。すなわち、描画部58は、カメラ座標系を用いて、仮想オブジェクトを描画する。本実施形態では、仮想オブジェクトは、キャラクタ情報512により示されるキャラクタ4、障害物情報513により示される障害物5等である。そして、表示制御部59は、描画された仮想オブジェクトの画像(仮想空間画像)を、撮像画像に合成して上側LCD22に出力し、表示させる。その後、次のステップ107に処理が進む。
ステップ107では、ゲーム進行処理部57により、ゲーム終了か否かが判断される。例えば、ゲーム進行処理部57は、所定の時間が経過した等のイベントの発生に基づいて、ゲーム終了の判断を行う。ゲーム進行処理部57によってゲーム終了と判断されると(ステップ107のYES)、本実施形態に係るゲーム処理は終了する。他方、ゲーム進行処理部57によってゲーム終了ではないと判断されると(ステップ107のNO)、本実施形態に係るゲーム処理は、ステップ101に戻って、繰り返される。
本実施形態によれば、マーカー3が付された複数のカード2の姿勢により、キャラクタ4が制御される。例えば、2枚のカード2の姿勢により、キャラクタ4の移動方向、移動速度等が制御される。このように、本実施形態によれば、マーカー3を用いてキャラクタ4を制御する場合において、バリエーションに富んだキャラクタ4の制御が可能となる。
§3 変形例
次に、変形例として、ゲーム装置1が、相対姿勢情報514を用いずに、キャラクタ4(仮想オブジェクト)を制御する例を示す。なお、本実施形態と変形例において、図2及び図3により示されるゲーム装置1の構成、図4により示されるゲームシステム100において用いられる座標系は共通する。
本変形例に係るゲームシステム100は、複数のカード2の姿勢情報(カード情報)に基づいて、キャラクタ4の姿勢に関する複数のパラメータであって、複数のカード2の姿勢情報各々とそれぞれ対応関係にある複数のパラメータの値によって示される姿勢を制御
する。
そして、本変形例に係るゲームシステム100は、そのように制御された姿勢に基づいて、当該姿勢に関する複数のパラメータを除いたその他の状態に関するパラメータの値を変化させる。
図10は、変形例に係るゲーム装置1が保持する情報を例示する。本変形例において、記憶部51が保持する情報は、カード情報511、キャラクタ情報512、障害物情報513、ゲーム進行状態情報515、及び、仮想空間情報516である。それぞれの情報は、上述のとおりである。
図11は、変形例に係るゲーム装置1の機能ブロックを例示する。図11に示される各機能ブロックは、例えば、外部メモリ45に格納されるゲームプログラムを情報処理部31(CPU311及びGPU312)が読み出して実行することによって実現される機能の一部である。
変形例に係るゲーム装置1は、ゲームプログラムを実行することによって、記憶部51、撮像画像取得部52、検出部53、実オブジェクト情報取得部54、仮想オブジェクト制御部56、ゲーム進行処理部57、描画部58、及び、表示制御部59として動作する。それぞれの機能は、上述のとおりである。
図12は、変形例に係る仮想オブジェクト制御関連処理の手順を例示するフローチャートである。変形例に係るゲーム処理の流れは、図8に示される本実施形態に係るゲーム処理の流れと同様である。ただし、変形例と本実施形態とは、ステップ104における仮想オブジェクト制御関連処理が異なる。以下、図12を参照して、変形例に係る仮想オブジェクト制御関連処理を説明する。
ステップ301では、カード2a及びカード2bと対応関係にあるキャラクタ4の姿勢が制御される。上述のとおり、カード2aは、キャラクタ4の左足に対応している。また、カード2bは、キャラクタ4の右足に対応している。仮想オブジェクト制御手段56は、カード2aの姿勢に基づいて、キャラクタ4の左足を制御する。また、仮想オブジェクト制御手段56は、カード2bの姿勢に基づいて、キャラクタ4の右足を制御する。
ここで、キャラクタ4の左足の向きについてのパラメータの値は、マーカー3aのマーカー座標系により定義されるとする。また、キャラクタ4の右足の向きについてのパラメータの値は、マーカー3bのマーカー座標系により定義されるとする。例えば、それぞれのマーカー座標系のX軸の方向が、それぞれの足の向きであるとする。この時、仮想オブジェクト制御手段56は、カード情報511に含まれる位置姿勢情報(Tcma)のうちの
姿勢情報により、キャラクタ4の左足の向きを特定することができる。よって、仮想オブジェクト制御手段56は、カード情報511に含まれる位置姿勢情報(Tcma)のうちの
姿勢情報により、キャラクタ4の左足の向きを制御する。キャラクタ4の右足の向きについても同様である。仮想オブジェクト制御手段56は、カード情報511に含まれる位置姿勢情報(Tcmb)のうちの姿勢情報により、キャラクタ4の左足の向きを制御する。
ステップ302では、ステップ301における制御に係るパラメータ以外のパラメータの値が更新される。本変形例では、ステップ301における制御に係るパラメータは、キャラクタ4の左足の向きについてのパラメータと、キャラクタ4の右足の向きについてのパラメータである。仮想オブジェクト制御手段56は、キャラクタ4の左足の向き及び右足の向きに基づいて、キャラクタ4の左足の向き及び右足の向き以外の状態を制御する。
例えば、仮想オブジェクト制御手段56は、キャラクタ4の左足の向き及び右足の向きに基づいて、キャラクタ4の移動方向を制御する。仮想オブジェクト制御手段56は、キャラクタ4の左足の向き及び右足の向きに基づいて、キャラクタ4の移動方向についてのパラメータの値を更新する。
ここで、キャラクタ4の移動方向についてのパラメータの値は、マーカー3aのマーカー座標系により定義されるとする。この時、仮想オブジェクト制御手段56は、それぞれのカード情報511に含まれる位置姿勢情報(TcmaとTcmb)に基づいて、マーカー座標系(Xma、Yma、Zma)におけるカード2bの姿勢(キャラクタ4の右足の向き)を求める。そして、仮想オブジェクト制御手段56は、マーカー座標系(Xma、Yma、Zma)におけるキャラクタ4の左足の向き及び右足の向きを用いて、キャラクタ情報512に含まれるキャラクタ4の移動方向についてのパラメータの値を更新する。例えば、仮想オブジェクト制御手段56は、キャラクタ4の移動方向についてのパラメータの値を、マーカー座標系(Xma、Yma、Zma)におけるキャラクタ4の左足の向き及び右足の向きの中間方向を示す値に更新する。
このように、本変形例におけるキャラクタ4の制御は、相対姿勢情報514を用いた場合のキャラクタ4の制御と同様に説明できる。例えば、仮想オブジェクト制御手段56は、キャラクタ4の左足の向き及び右足の向きの類似度及び差分を求めることができる。
また、仮想オブジェクト制御手段56は、それぞれのカード情報511に含まれる位置姿勢情報(TcmaとTcmb)に基づいて、キャラクタ4の左足の位置及び右足の位置を特定することができる。そして、仮想オブジェクト制御手段56は、キャラクタ4の左足の位置、左足の向き、右足の位置、及び、右足の向きから、キャラクタ4の左足及び右足の向かい合わせの状態を求めることができる。
仮想オブジェクト制御手段56は、このように求めることができる、キャラクタ4の左足の向き及び右足の向きの類似度及び差分、並びに、キャラクタ4の左足及び右足の向かい合わせの状態を、それぞれ、本実施形態における相対姿勢情報に含まれる類似度情報、差分情報、及び、対面状態情報の代わりに利用することができる。よって、仮想オブジェクト制御手段56による制御のその他の例については説明を省略する。
ただし、変形例に係るゲーム装置1の処理は、キャラクタ4の左右の足の向きの類似度、差分、及び、向かい合わせの状態を用いたものに限定される訳ではない。例えば、左右の足の向きに関する情報と、キャラクタ4の体勢、移動方向、移動速度、及び、転倒する条件等とを関連付けたテーブル、マップ、又は、関数等が用意されていてもよい。そして、仮想オブジェクト制御手段56は、カード2a及びカード2bから得られるキャラクタ4の左右の足の向きの情報と、上記テーブル、マップ、又は、関数等とを用いて、キャラクタ4を制御してもよい。
ステップ303では、キャラクタ4及び障害物5等の仮想オブジェクトの配置位置が更新される。ステップ303は、ステップ203と同様である。
本変形例についても、本実施形態と同様に、例えば、2枚のカード2の姿勢により、キャラクタ4の移動方向、移動速度等が制御される。よって、本変形例においても、本実施形態と同様に、マーカー3を用いてキャラクタ4を制御する場合において、バリエーションに富んだキャラクタ4の制御が可能となる。
§4 適用例
図13A及び図13Bは、本実施形態に係るゲームシステム100の適用例を示す。本
実施形態に係るゲームシステム100は、例えば、図13A及び図13Bに示されるような気流4を操るゲームをプレイヤに提供することができる。
本ゲームにおいて、気流4が、プレイヤの操作対象となる仮想オブジェクトである。また、キャラクタ5は、プレイヤの操作対象以外の仮想オブジェクトである。仮想オブジェクト制御手段56は、カード2の姿勢によって、気流4を制御する。そして、キャラクタ5は、カード2の姿勢により制御される気流4によって、移動させられる。
例えば、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる類似度情報により示されるカード2の姿勢の類似度によって、気流4の風速を制御する。具体例として、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる類似度情報により示されるカード2の姿勢の類似度が高いほど、気流4の風速を早くする。この時、キャラクタ5は、気流4の風速が早いほど、早く移動させられる。
また、例えば、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる対面状態情報により示される向かい合わせの状態によって、気流4の種類を制御する。具体例は、図13A及び図13Bに示される。仮想オブジェクト制御手段56は、カード2a及びカード2bの姿勢が向かい合っている状態にあると対面状態情報により示される場合(図13A)、気流4を、上昇気流とする。この時、キャラクタ5は、気流4によって、上方に移動させられる。また、それ以外の場合(図13B)、気流4を、カード2の中心に向かって流れる気流にする。この時、キャラクタ5は、カード2の中心に向かって移動させられる。なお、仮想オブジェクト制御手段56は、例えば、カード2a及びカード2bの間の距離が短いほど、気流4の風速を早くしてもよい。
また、図14A及び図14Bは、本実施形態に係るゲームシステム100の別の適用例を示す。本実施形態に係るゲームシステム100は、例えば、図14A及び図14Bに示されるようなクワッドラインカイト4を操るゲームをプレイヤに提供することができる。
例えば、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる類似度情報により、クワッドラインカイト4の飛行方向を制御する。具体例として、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる類似度情報により、最も高い類似度に係る2枚のカード2を特定する。そして、仮想オブジェクト制御手段56は、特定した2枚のカード2の向きにクワッドラインカイト4が存在するように、クワッドラインカイト4の飛行方向を制御する(図14A及び図14B参照)。
また、例えば、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる差分情報により、クワッドラインカイト4の飛行状態を制御する。具体例として、仮想オブジェクト制御手段56は、相対姿勢情報514に含まれる差分情報により、各カード2間の姿勢の差分の和を求める。そして、仮想オブジェクト制御手段56は、当該差分の和が所定の値を超えた場合、クワッドラインカイト4に墜落するアクションを実行させる。
1 ゲーム装置
2 カード
3 マーカー
23 外側撮像部
52 撮像画像取得部
53 検出部
54 実オブジェクト情報取得部
55 相対姿勢情報取得部
56 仮想オブジェクト制御部
58 描画部
59 表示制御部
100 ゲームシステム
511 カード情報
512 キャラクタ情報
514 相対姿勢情報

Claims (17)

  1. 特徴を有する複数の実オブジェクトと、表示装置及び撮像装置に接続される情報処理装置と、を含む情報処理システムであって、
    前記特徴は、前記撮像装置によって撮像されることで、少なくとも、前記撮像装置に対する実オブジェクトの姿勢を特定可能な特徴であり、
    前記情報処理装置は、
    前記撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
    前記複数の実オブジェクトそれぞれが有する前記特徴を前記撮像画像から検出する検出手段と、
    検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報を取得する実オブジェクト情報取得手段と、
    前記複数の実オブジェクト情報から、前記複数の実オブジェクトの相対的な姿勢関係を示す相対姿勢情報を取得する相対姿勢情報取得手段と、
    前記相対姿勢情報に基づいて、1つの仮想オブジェクトの前記仮想空間内における移動速度を制御する仮想オブジェクト制御手段と、
    少なくとも前記1つの仮想オブジェクトを含む画像を前記表示装置に表示させる表示制御手段と、
    を備える情報処理システム。
  2. 前記相対姿勢情報取得手段は、前記複数の実オブジェクトのうちの2つの実オブジェクト間における姿勢の類似度に関する情報を含む前記相対姿勢情報を取得する
    請求項に記載の情報処理システム。
  3. 前記相対姿勢情報取得手段は、前記複数の実オブジェクトにうちの2つの実オブジェクト間における姿勢の差分に関する情報を含む前記相対姿勢情報を取得する
    請求項1又は2に記載の情報処理システム。
  4. 前記特徴は、前記撮像装置によって撮像されることで、前記撮像装置に対する実オブジェクトの位置及び姿勢を特定可能な特徴であり、
    前記実オブジェクト情報取得手段は、検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの位置及び姿勢を示す位置姿勢情報を含んだ複数の実オブジェクト情報
    を取得する
    請求項1から3のいずれか項に記載の情報処理システム。
  5. 前記相対姿勢情報取得手段は、前記複数の実オブジェクトのうちの少なくとも2つの実オブジェクトの位置及び姿勢から特定される向かい合わせの状態を示す情報を含む前記相対姿勢情報を取得する
    請求項に記載の情報処理システム。
  6. 前記相対姿勢情報取得手段は、前記少なくとも2つの実オブジェクトのうちの2つの実オブジェクトの姿勢に関するベクトルの内積値、及び、該2つの実オブジェクトのうちの1つの実オブジェクトの姿勢に関するベクトルと、該2つの実オブジェクトの相対的な位置関係を示す相対位置ベクトルとの内積値を用いて、前記向かい合わせの状態を特定する請求項に記載の情報処理システム。
  7. 特徴を有する複数の実オブジェクトと、表示装置及び撮像装置に接続される情報処理装置と、を含む情報処理システムであって、
    前記特徴は、前記撮像装置によって撮像されることで、少なくとも、前記撮像装置に対する実オブジェクトの姿勢を特定可能な特徴であり、
    前記情報処理装置は、
    前記撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
    前記複数の実オブジェクトそれぞれが有する前記特徴を前記撮像画像から検出する検出手段と、
    検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報を取得する実オブジェクト情報取得手段と、
    記複数の実オブジェクト情報に基づいて、1つの仮想オブジェクトの姿勢に関する複数のパラメータであって、前記複数の実オブジェクト情報各々とそれぞれ対応関係にある複数のパラメータを求め、該複数のパラメータに基づく前記複数の実オブジェクトの相対的な姿勢関係から、前記1つの仮想オブジェクトの前記仮想空間内における移動速度を制御する仮想オブジェクト制御手段と、
    少なくとも前記1つの仮想オブジェクトを含む画像を前記表示装置に表示させる表示制御手段と、
    を備える情報処理システム。
  8. 前記仮想オブジェクト制御手段は、前記1つの仮想オブジェクトの前記移動速度に基づいて、前記仮想空間に対する、前記1つの仮想オブジェクトの相対的な位置を変動させる請求項に記載の情報処理システム。
  9. 前記特徴は、前記撮像装置によって撮像されることで、前記撮像装置に対する実オブジェクトの位置及び姿勢を特定可能な特徴であり、
    前記実オブジェクト情報取得手段は、前記複数の実オブジェクトそれぞれの位置及び姿勢を示す位置姿勢情報含んだ複数の実オブジェクト情報を取得する
    請求項7又は8に記載の情報処理システム。
  10. 前記情報処理装置は、仮想空間に配置される仮想カメラの位置及び姿勢を設定し、該仮想空間に、前記複数の実オブジェクト情報により位置及び姿勢が決定される前記1つの仮想オブジェクトを配置し、該仮想カメラから見た該仮想空間の画像を生成することで、仮想空間画像を描画する描画手段を更に備える
    請求項4、5、6、9のいずれか一項に記載の情報処理システム。
  11. 前記表示制御手段は、前記撮像画像に前記仮想空間画像を重畳した合成画像を生成し、
    該合成画像を前記表示装置に表示させる
    請求項10に記載の情報処理システム。
  12. 撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
    複数の実オブジェクトそれぞれが有する特徴であって、前記撮像装置によって撮像されることで、少なくとも、前記撮像装置に対する実オブジェクトの姿勢を特定可能な特徴を前記撮像画像から検出する検出手段と、
    検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報を取得する実オブジェクト情報取得手段と、
    前記複数の実オブジェクト情報から、前記複数の実オブジェクトの相対的な姿勢関係を示す相対姿勢情報を取得する相対姿勢情報取得手段と、
    前記相対姿勢情報に基づいて、1つの仮想オブジェクトの前記仮想空間内における移動速度を制御する仮想オブジェクト制御手段と、
    少なくとも前記1つの仮想オブジェクトを含む画像を表示装置に表示させる表示制御手段と、
    を備える情報処理装置。
  13. コンピュータが、
    撮像装置によって撮像された撮像画像を取得するステップと、
    複数の実オブジェクトそれぞれが有する特徴であって、前記撮像装置によって撮像されることで、少なくとも、前記撮像装置に対する実オブジェクトの姿勢を特定可能な特徴を前記撮像画像から検出するステップと、
    検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報を取得するステップと、
    前記複数の実オブジェクト情報から、前記複数の実オブジェクトの相対的な姿勢関係を示す相対姿勢情報を取得するステップと、
    前記相対姿勢情報に基づいて、1つの仮想オブジェクトの前記仮想空間内における移動速度を制御するステップと、
    少なくとも前記1つの仮想オブジェクトを含む画像を表示装置に表示させるステップと、
    を実行する情報処理方法。
  14. コンピュータに、
    撮像装置によって撮像された撮像画像を取得するステップと、
    複数の実オブジェクトそれぞれが有する特徴であって、前記撮像装置によって撮像されることで、少なくとも、前記撮像装置に対する実オブジェクトの姿勢を特定可能な特徴を前記撮像画像から検出するステップと、
    検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報を取得するステップと、
    前記複数の実オブジェクト情報から、前記複数の実オブジェクトの相対的な姿勢関係を示す相対姿勢情報を取得するステップと、
    前記相対姿勢情報に基づいて、1つの仮想オブジェクトの前記仮想空間内における移動速度を制御するステップと、
    少なくとも前記1つの仮想オブジェクトを含む画像を表示装置に表示させるステップと、
    を実行させるための情報処理プログラム。
  15. 撮像装置によって撮像された撮像画像を取得する撮像画像取得手段と、
    複数の実オブジェクトそれぞれが有する特徴であって、前記撮像装置によって撮像されることで、少なくとも、前記撮像装置に対する実オブジェクトの姿勢を特定可能な特徴を
    前記撮像画像から検出する検出手段と、
    検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報を取得する実オブジェクト情報取得手段と、
    前記複数の実オブジェクト情報に基づいて、1つの仮想オブジェクトの姿勢に関する複数のパラメータであって、前記複数の実オブジェクト情報各々とそれぞれ対応関係にある複数のパラメータを求め、該複数のパラメータに基づく前記複数の実オブジェクトの相対的な姿勢関係から、前記1つの仮想オブジェクトの前記仮想空間内における移動速度を制御する仮想オブジェクト制御手段と、
    少なくとも前記1つの仮想オブジェクトを含む画像を前記表示装置に表示させる表示制御手段と、
    を備える情報処理装置。
  16. コンピュータが、
    撮像装置によって撮像された撮像画像を取得するステップと、
    複数の実オブジェクトそれぞれが有する特徴であって、前記撮像装置によって撮像されることで、少なくとも、前記撮像装置に対する実オブジェクトの姿勢を特定可能な特徴を前記撮像画像から検出するステップと、
    検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報を取得するステップと、
    前記複数の実オブジェクト情報に基づいて、1つの仮想オブジェクトの姿勢に関する複数のパラメータであって、前記複数の実オブジェクト情報各々とそれぞれ対応関係にある複数のパラメータを求め、該複数のパラメータに基づく前記複数の実オブジェクトの相対的な姿勢関係から、前記1つの仮想オブジェクトの前記仮想空間内における移動速度を制御するステップと、
    少なくとも前記1つの仮想オブジェクトを含む画像を前記表示装置に表示させるステップと、
    を実行する情報処理方法。
  17. コンピュータに、
    撮像装置によって撮像された撮像画像を取得するステップと、
    複数の実オブジェクトそれぞれが有する特徴であって、前記撮像装置によって撮像されることで、少なくとも、前記撮像装置に対する実オブジェクトの姿勢を特定可能な特徴を前記撮像画像から検出するステップと、
    検出された前記特徴に基づき、前記複数の実オブジェクトそれぞれの姿勢を示す姿勢情報を含む複数の実オブジェクト情報を取得するステップと、
    前記複数の実オブジェクト情報に基づいて、1つの仮想オブジェクトの姿勢に関する複数のパラメータであって、前記複数の実オブジェクト情報各々とそれぞれ対応関係にある複数のパラメータを求め、該複数のパラメータに基づく前記複数の実オブジェクトの相対的な姿勢関係から、前記1つの仮想オブジェクトの前記仮想空間内における移動速度を制御するステップと、
    少なくとも前記1つの仮想オブジェクトを含む画像を前記表示装置に表示させるステップと、
    を実行させるための情報処理プログラム。
JP2011096619A 2011-04-22 2011-04-22 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム Active JP5812665B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011096619A JP5812665B2 (ja) 2011-04-22 2011-04-22 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム
US13/448,603 US20120268493A1 (en) 2011-04-22 2012-04-17 Information processing system for augmented reality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011096619A JP5812665B2 (ja) 2011-04-22 2011-04-22 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2012230440A JP2012230440A (ja) 2012-11-22
JP5812665B2 true JP5812665B2 (ja) 2015-11-17

Family

ID=47020978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011096619A Active JP5812665B2 (ja) 2011-04-22 2011-04-22 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム

Country Status (2)

Country Link
US (1) US20120268493A1 (ja)
JP (1) JP5812665B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9412010B2 (en) * 2011-07-15 2016-08-09 Panasonic Corporation Posture estimation device, posture estimation method, and posture estimation program
CN104981850A (zh) 2013-02-14 2015-10-14 不锈钢结构维护个人责任有限公司 地理定位虚拟环境的表示方法及移动设备
JP6224327B2 (ja) * 2013-03-05 2017-11-01 任天堂株式会社 情報処理システム、情報処理装置、情報処理方法、および情報処理用プログラム
CN104769645A (zh) * 2013-07-10 2015-07-08 哲睿有限公司 虚拟伴侣
US20150145887A1 (en) * 2013-11-25 2015-05-28 Qualcomm Incorporated Persistent head-mounted content display
US9754417B2 (en) * 2014-12-31 2017-09-05 Canon Information And Imaging Solutions, Inc. Methods and systems for displaying virtual objects
US20170061700A1 (en) * 2015-02-13 2017-03-02 Julian Michael Urbach Intercommunication between a head mounted display and a real world object
WO2016168788A2 (en) 2015-04-17 2016-10-20 Tulip Interfaces, Inc. Containerized communications gateway
US10401954B2 (en) * 2017-04-17 2019-09-03 Intel Corporation Sensory enhanced augmented reality and virtual reality device
WO2018236347A1 (en) * 2017-06-20 2018-12-27 Hewlett-Packard Development Company, L.P. DETERMINATIONS OF SENSOR POSITIONS

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7084887B1 (en) * 1999-06-11 2006-08-01 Canon Kabushiki Kaisha Marker layout method, mixed reality apparatus, and mixed reality space image generation method
JP2004287699A (ja) * 2003-03-20 2004-10-14 Tama Tlo Kk 画像合成装置及びその合成方法
JP2005108108A (ja) * 2003-10-01 2005-04-21 Canon Inc 三次元cg操作装置および方法、並びに位置姿勢センサのキャリブレーション装置
JP2005143657A (ja) * 2003-11-12 2005-06-09 Olympus Corp 情報呈示システム、情報呈示装置、情報呈示装置のための媒体、情報呈示方法、及び情報提示プログラム
US20050289590A1 (en) * 2004-05-28 2005-12-29 Cheok Adrian D Marketing platform
JP4005061B2 (ja) * 2004-06-30 2007-11-07 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、プログラム、および、情報処理装置におけるオブジェクト制御方法
JP2007219082A (ja) * 2006-02-15 2007-08-30 Canon Inc 複合現実感表示システム
JP4926817B2 (ja) * 2006-08-11 2012-05-09 キヤノン株式会社 指標配置情報計測装置および方法
JP5285901B2 (ja) * 2007-12-21 2013-09-11 株式会社タイトー カードゲーム装置、カードゲームプログラム
US20090322671A1 (en) * 2008-06-04 2009-12-31 Cybernet Systems Corporation Touch screen augmented reality system and method
US20100048290A1 (en) * 2008-08-19 2010-02-25 Sony Computer Entertainment Europe Ltd. Image combining method, system and apparatus
US8411086B2 (en) * 2009-02-24 2013-04-02 Fuji Xerox Co., Ltd. Model creation using visual markup languages
US20110248995A1 (en) * 2010-04-09 2011-10-13 Fuji Xerox Co., Ltd. System and methods for creating interactive virtual content based on machine analysis of freeform physical markup
US8803992B2 (en) * 2010-05-12 2014-08-12 Fuji Xerox Co., Ltd. Augmented reality navigation for repeat photography and difference extraction
US8384770B2 (en) * 2010-06-02 2013-02-26 Nintendo Co., Ltd. Image display system, image display apparatus, and image display method
JP5514637B2 (ja) * 2010-06-11 2014-06-04 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
US8854356B2 (en) * 2010-09-28 2014-10-07 Nintendo Co., Ltd. Storage medium having stored therein image processing program, image processing apparatus, image processing system, and image processing method
JP5827007B2 (ja) * 2010-10-15 2015-12-02 任天堂株式会社 ゲームプログラム、画像処理装置、画像処理システム、および画像処理方法
JP5988563B2 (ja) * 2011-10-25 2016-09-07 キヤノン株式会社 画像処理装置と画像処理装置の制御方法およびプログラムと、情報処理装置と情報処理装置の制御方法およびプログラム

Also Published As

Publication number Publication date
JP2012230440A (ja) 2012-11-22
US20120268493A1 (en) 2012-10-25

Similar Documents

Publication Publication Date Title
JP5812665B2 (ja) 情報処理システム、情報処理装置、情報処理方法及び情報処理プログラム
JP5697487B2 (ja) 画像処理システム、画像処理方法、画像処理装置、および画像処理用プログラム
JP4869430B1 (ja) 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
JP5739674B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
US8854356B2 (en) Storage medium having stored therein image processing program, image processing apparatus, image processing system, and image processing method
EP2395768B1 (en) Image display program, image display system, and image display method
US8633947B2 (en) Computer-readable storage medium having stored therein information processing program, information processing apparatus, information processing system, and information processing method
US9495800B2 (en) Storage medium having stored thereon image processing program, image processing apparatus, image processing system, and image processing method
JP5689707B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム、および、表示制御方法
JP5541974B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP5704962B2 (ja) 情報処理システム、情報処理方法、情報処理装置、及び情報処理プログラム
JP5702653B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
JP5586545B2 (ja) ゲームシステム、携帯型ゲーム装置、情報処理部の制御方法、および情報処理部の制御プログラム
JP5814532B2 (ja) 表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法
US8684837B2 (en) Information processing program, information processing system, information processing apparatus, and information processing method
US20120154377A1 (en) Computer-readable storage medium having stored therein display control program, display control apparatus, display control system, and display control method
US20130057574A1 (en) Storage medium recorded with program, information processing apparatus, information processing system, and information processing method
JP5791434B2 (ja) 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP2012252566A (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び、情報処理方法
JP2011251006A (ja) ゲームプログラム、携帯型ゲーム装置、ゲームシステム、及びゲーム方法
JP5602702B2 (ja) 画像処理プログラム、画像処理装置、画像処理システム、および、画像処理方法
JP5739670B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP5525924B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法
JP5739673B2 (ja) 画像表示プログラム、装置、システムおよび方法
JP5541973B2 (ja) 立体画像表示プログラム、立体画像表示装置、立体画像表示システム、および、立体画像表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150901

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150915

R150 Certificate of patent or registration of utility model

Ref document number: 5812665

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250