(57)【特許請求の範囲】
【請求項１】
撮像装置および表示装置に接続された情報処理装置のコンピュータを、
前記撮像装置により撮像した被写体の画像を取得するための画像取得手段、
前記画像取得手段で取得した前記被写体の画像から特定対象を検出するための特定対象検出手段、
前記特定対象検出手段で検出することができる前記特定対象の数の変化に応じて仮想空間内にイベントを発生するためのイベント発生手段、
前記イベント発生手段で発生する前記イベントを前記仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成するための仮想画像生成手段、および
前記被写体の画像もしくは、前記表示装置の画面を透過して見える前記被写体に重ね合わせてユーザに視認されるように、前記仮想画像を前記表示装置に表示させるための表示制御手段として機能させ、
前記表示制御手段は、ユーザに前記特定対象検出手段で検出することができる前記特定対象の数を変化させるための動作を促すメッセージを表示する、情報処理プログラム。
【請求項２】
前記特定対象は、第１特定対象と、前記第１特定対象に内包して配置された第２特定対象とを有し、
前記イベント発生手段は、前記特定対象検出手段で検出することができる前記第１特定対象および前記第２特定対象の数に応じてイベントを発生する、請求項１に記載の情報処理プログラム。
【請求項３】
撮像装置および表示装置に接続された情報処理装置のコンピュータを、
前記撮像装置により撮像した被写体の画像を取得するための画像取得手段、
前記画像取得手段で取得した前記被写体の画像から特定対象を検出するための特定対象検出手段、
前記特定対象検出手段で検出することができる前記特定対象の数の変化に応じて仮想空間内にイベントを発生するためのイベント発生手段、
前記イベント発生手段で発生する前記イベントを前記仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成するための仮想画像生成手段、および
前記被写体の画像もしくは、前記表示装置の画面を透過して見える前記被写体に重ね合わせてユーザに視認されるように、前記仮想画像を前記表示装置に表示させるための表示
制御手段として機能させ、
前記特定対象は、第１特定対象と、前記第１特定対象に内包して配置された第２特定対象とを有し、
前記イベント発生手段は、
前記特定対象検出手段で検出することができる前記第１特定対象および前記第２特定対象の数に応じてイベントを発生し、
前記特定対象検出手段で前記第１特定対象および前記第２特定対象を検出することができたとき、第１イベントを発生し、前記第１イベントを発生した後、前記特定対象検出手段で前記第２特定対象のみを検出することができたとき、第２イベントを発生する、情報処理プログラム。
【請求項４】
撮像装置および表示装置に接続された情報処理装置のコンピュータを、
前記撮像装置により撮像した被写体の画像を取得するための画像取得手段、
前記画像取得手段で取得した前記被写体の画像から特定対象を検出するための特定対象検出手段、
前記特定対象検出手段で検出することができる前記特定対象の数の変化に応じて仮想空間内にイベントを発生するためのイベント発生手段、
前記イベント発生手段で発生する前記イベントを前記仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成するための仮想画像生成手段、および
前記被写体の画像もしくは、前記表示装置の画面を透過して見える前記被写体に重ね合わせてユーザに視認されるように、前記仮想画像を前記表示装置に表示させるための表示
制御手段として機能させ、
前記特定対象は、第１特定対象と、前記第１特定対象に内包して配置された第２特定対象とを有し、
前記イベント発生手段は、前記特定対象検出手段で検出することができる前記第１特定対象および前記第２特定対象の数に応じてイベントを発生し、
前記表示制御手段は、前記特定対象検出手段で検出した前記第１特定対象に対応する位置にガイドを表示する、情報処理プログラム。
【請求項５】
前記表示制御手段は、前記特定対象検出手段で検出することができる前記第１特定対象および前記第２特定対象の数が変化するような行動を前記ユーザに促す前記ガイドを表示する、請求項４に記載の情報処理プログラム。
【請求項６】
前記仮想画像生成手段は、前記イベント発生手段で発生した前記イベントとして前記仮想空間内に配置した所定形状のオブジェクトを前記仮想カメラで撮影することにより前記仮想画像を生成する、請求項１に記載の情報処理プログラム。
【請求項７】
前記仮想画像生成手段は、前記イベント発生手段で発生した前記イベントとして前記仮想空間内に配置した板状のポリゴンにテクスチャをマッピングして、前記仮想カメラで撮影することにより前記仮想画像を生成する、請求項６に記載の情報処理プログラム。
【請求項８】
前記情報処理プログラムは、前記コンピュータを、
前記被写体の画像から前記撮像装置と前記特定対象との位置関係を算出するための位置算出手段、および
前記位置算出手段で算出した前記位置関係に応じて前記仮想カメラを配置するための仮想カメラ配置手段としてさらに機能させる、請求項１〜７のいずれか１項に記載の情報処理プログラム。
【請求項９】
前記情報処理プログラムは、前記コンピュータを、
前記被写体の画像から第１特定対象の位置を検出する第１特定対象位置検出手段、
前記第１特定対象位置検出手段により検出された位置に基づいて、前記撮像装置と前記第１特定対象との位置関係を算出するための第１特定対象位置算出手段、および
前記第１特定対象位置算出手段により算出された位置関係に応じて前記仮想カメラを配置するための仮想カメラ配置手段としてさらに機能させ、
前記仮想画像生成手段は、前記イベント発生手段により発生する少なくとも前記第２イベントを前記仮想カメラで撮影することにより前記仮想画像を生成する、請求項３に記載の情報処理プログラム。
【請求項１０】
撮像装置および表示装置に接続された情報処理装置であって、
前記撮像装置により撮像した被写体の画像を取得するための画像取得手段と、
前記画像取得手段で取得した前記被写体の画像から特定対象を検出するための特定対象検出手段と、
前記特定対象検出手段で検出することができる前記特定対象の数の変化に応じて仮想空間内にイベントを発生するためのイベント発生手段と、
前記イベント発生手段で発生する前記イベントを前記仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成するための仮想画像生成手段と、
前記被写体の画像もしくは、前記表示装置の画面を透過して見える前記被写体に重ね合わせてユーザに視認されるように、前記仮想画像を前記表示装置に表示させるための表示制御手段とを備え、
前記表示制御手段は、ユーザに前記特定対象検出手段で検出することができる前記特定対象の数を変化させるための動作を促すメッセージを表示する、情報処理装置。
【請求項１１】
撮像装置および表示装置に接続された情報処理装置の制御部によって処理される情報処理方法であって、
前記制御部が、前記撮像装置により撮像した被写体の画像を取得するためのステップと、
取得した前記被写体の画像から特定対象を検出するためのステップと、
検出することができる前記特定対象の数の変化に応じて仮想空間内にイベントを発生するためのステップと、
発生する前記イベントを前記仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成するためのステップと、
前記被写体の画像もしくは、前記表示装置の画面を透過して見える前記被写体に重ね合わせてユーザに視認されるように、前記仮想画像を前記表示装置に表示させるためのステップと、
ユーザに前記特定対象の数を変化させるための動作を促すメッセージを表示するステップとを備える、情報処理方法。
【請求項１２】
被写体に配置してある特定対象と、
前記被写体を撮像する撮像装置と、
前記撮像装置に接続された情報処理装置と、
前記情報処理装置に接続した表示装置と
を備える情報処理システムであって、
前記情報処理装置は、
前記撮像装置により撮像した被写体の画像を取得するための画像取得手段と、
前記画像取得手段で取得した前記被写体の画像から前記特定対象を検出するための特定対象検出手段と、
前記特定対象検出手段で検出することができる前記特定対象の数の変化に応じて仮想空間内にイベントを発生するためのイベント発生手段と、
前記イベント発生手段で発生する前記イベントを前記仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成するための仮想画像生成手段と、
前記被写体の画像もしくは、前記表示装置の画面を透過して見える前記被写体に重ね合わせてユーザに視認されるように、前記仮想画像を前記表示装置に表示させるための表示制御手段とを備え、
前記表示制御手段は、ユーザに前記特定対象検出手段で検出することができる前記特定対象の数を変化させるための動作を促すメッセージを表示する、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理システム、情報処理装置および情報処理方法に関し、特に、拡張現実（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）技術を利用した情報処理プログラム、情報処理システム、情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
従来、カメラ等の撮像装置では、撮像した被写体の画像（撮像画像）から所定の撮像対象を検出する技術を有している。たとえば、非特許文献１には、拡張現実技術において、カメラで撮像した撮像画像に含まれるマーカ（特定対象）に対して画像認識処理を行うことでマーカを検出する技術（マーカ検出技術）が開示されている。具体的に、非特許文献１に開示してあるマーカ検出技術は、撮像画像に対して固定の閾値を用いて２値化を行うことで連結領域を抽出し、抽出した連結領域から大きさおよび形状が適切なものを選出してマーカ候補とする。さらに、非特許文献１に開示してあるマーカ検出技術は、選出したマーカ候補に対してパターンマッチングを行うことでマーカを検出する。また、非特許文献１には、検出したマーカに対応する位置に仮想オブジェクトを表示する技術が開示してある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】加藤博一，Mark Billinghurst，浅野浩一，橘啓八郎、「マーカー追跡に基づく拡張現実感システムとそのキャリブレーション」、日本バーチャルリアリティ学会論文誌  Ｖｏｌ．４  Ｎｏ．４、１９９９年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
非特許文献１に開示してある技術は、被写体に含まれるマーカを検出し、検出したマーカに対応する位置に仮想オブジェクトを単に表示しているだけに過ぎないので、検出したマーカを利用してユーザに拡張現実を実感する視覚効果を十分に与えることができなかった。
【０００５】
それゆえに、本発明は、検出したマーカ（特定対象）を利用してユーザに拡張現実を実感する視覚効果を十分に与えることができる情報処理プログラム、情報処理システム、情報処理装置および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、以下のような構成を採用し得る。
本発明の一構成例に係る情報処理プログラムは、撮像装置および表示装置に接続された情報処理装置のコンピュータを、画像取得手段、特定対象検出手段、イベント発生手段、仮想画像生成手段、表示制御手段として機能させる。画像取得手段は、撮像装置により撮像した被写体の画像を取得する。特定対象検出手段は、画像取得手段で取得した被写体の画像から特定対象を検出する。イベント発生手段は、特定対象検出手段で検出することができる特定対象の数の変化に応じて仮想空間内にイベントを発生する。仮想画像生成手段は、イベント発生手段で発生するイベントを仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成する。表示制御手段は、被写体の画像もしくは、表示装置の画面を透過して見える被写体に重ね合わせてユーザに視認されるように、仮想画像を表示装置に表示させる。
【０００７】
上記構成例によれば、検出することができる特定対象の数の変化に応じて仮想空間内にイベントを発生させるので、特定対象を利用してユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【０００８】
上記情報処理プログラムのさらに他の構成例として、特定対象は、第１特定対象と、第１特定対象に内包して配置された第２特定対象とを有し、イベント発生手段は、特定対象検出手段で検出することができる第１特定対象および第２特定対象の数に応じてイベントを発生する。
【０００９】
上記構成例によれば、第１特定対象に内包して配置された第２特定対象を検出することで、さらに特定対象を利用してユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【００１０】
上記情報処理プログラムのさらに他の構成例として、イベント発生手段は、特定対象検出手段で第１特定対象および第２特定対象を検出することができたとき、第１イベントを発生し、第１イベントを発生した後、特定対象検出手段で第２特定対象のみを検出することができたとき、第２イベントを発生する。
【００１１】
上記構成例によれば、検出した特定対象の数の変化に応じて異なるイベントを発生させるので、よりユーザに拡張現実を実感する視覚効果を十分に与えることができる。例えば、第１特定対象と第２特定対象の両方を検出できたときに第１イベントを発生させ、その後に、第１特定対象に実世界のオブジェクトを配置するなどして第１特定対象を検出できず第２特定対象のみを検出できたときに第２イベントを発生したり、第１特定対象と第２特定対象の両方を検出できたときに第１イベントを発生させ、その後に、撮像装置を第２特定対象に近付けることにより第１特定対象を検出できず第２特定対象のみを検出できたときに第２イベントを発生したりして、そのイベントの仮想画像を生成して表示することにより、様々な態様でユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【００１２】
上記情報処理プログラムのさらに他の構成例として、表示制御手段は、特定対象検出手段で検出した第１特定対象に対応する位置にガイドを表示する。
【００１３】
上記構成例によれば、第１特定対象に対応する位置にガイドを表示するので、ユーザが迷うことなく特定対象への操作を行なうことができ、その結果として、イベントを発生させることができる。
【００１４】
上記情報処理プログラムのさらに他の構成例として、表示制御手段は、特定対象検出手段で検出することができる第１特定対象および第２特定対象の数が変化するような行動をユーザに促すガイドを表示する。
【００１５】
上記構成例によれば、第１特定対象および第２特定対象の数が変化するような行動をユーザに促すガイドを表示するので、ユーザにイベントを発生させるヒントを与えることができる。
【００１６】
上記情報処理プログラムのさらに他の構成例として、仮想画像生成手段は、イベント発生手段で発生したイベントとして仮想空間内に配置した所定形状のオブジェクトを仮想カメラで撮影することにより仮想画像を生成する。
【００１７】
上記構成例によれば、イベントに応じて所定形状のオブジェクトを表示するので、特定対象に対応する位置にオブジェクトを単に表示するだけの場合に比べて、ユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【００１８】
上記情報処理プログラムのさらに他の構成例として、仮想画像生成手段は、イベント発生手段で発生したイベントとして仮想空間内に配置した板状のポリゴンにテクスチャをマッピングして、仮想カメラで撮影することにより仮想画像を生成する。
【００１９】
上記構成例によれば、仮想空間内に配置した板状のポリゴンにテクスチャとしてマッピングして仮想画像を生成するので、ユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【００２０】
上記情報処理プログラムのさらに他の構成例として、情報処理装置は、コンピュータを、被写体の画像から撮像装置と特定対象との位置関係を算出する位置算出手段、および位置算出手段で算出した位置関係に応じて仮想カメラを配置する仮想カメラ配置手段としてさらに機能させる。
【００２１】
上記構成例によれば、撮像装置と特定対象との位置関係に応じて配置された仮想カメラで撮像した画像を仮想画像として生成するので、あたかもイベントが実世界で発生しているような表示ができるため、ユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【００２２】
上記情報処理プログラムのさらに他の構成例として、情報処理装置は、コンピュータを、被写体の画像から第１特定対象の位置を検出する第１特定対象位置検出手段、第１特定対象位置検出手段により検出された位置に基づいて、撮像装置と第１特定対象との位置関係を算出するための第１特定対象位置算出手段、および第１特定対象位置算出手段により算出された位置関係に応じて仮想カメラを配置するための仮想カメラ配置手段としてさらに機能させ、仮想画像生成手段は、イベント発生手段により発生する少なくとも第２イベントを仮想カメラで撮影することにより仮想画像を生成する。
【００２３】
上記構成例によれば、第２イベントを、第１特定対象位置算出手段により算出された位置関係に応じて配置した仮想カメラで撮影することにより仮想画像を生成するので、ユーザに拡張現実を実感する視覚効果を十分に与えることができる。さらに、第２特定対象よりも大きな第１特定対象と撮像装置との位置関係により仮想カメラが配置されるため、第２特定対象と撮像装置との位置関係により仮想カメラが配置される場合に比べて、仮想画像として表示されるイベントのぶれやちらつきが低減される。
【００２４】
本発明の一構成例に係る情報処理装置は、撮像装置および表示装置に接続された情報処理装置であって、画像取得手段と、特定対象検出手段と、イベント発生手段と、仮想画像生成手段と、表示制御手段とを備える。画像取得手段は、撮像装置により撮像した被写体の画像を取得する。特定対象検出手段は、画像取得手段で取得した被写体の画像から特定対象を検出する。イベント発生手段は、特定対象検出手段で検出することができる特定対象の数の変化に応じて仮想空間内にイベントを発生する。仮想画像生成手段は、イベント発生手段で発生するイベントを仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成する。表示制御手段は、被写体の画像もしくは、表示装置の画面を透過して見える被写体に重ね合わせてユーザに視認されるように、仮想画像を表示装置に表示させる。
【００２５】
上記構成例によれば、検出することができる特定対象の数の変化に応じて仮想空間内にイベントを発生させるので、特定対象を利用してユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【００２６】
本発明の一構成例に係る情報処理方法は、撮像装置および表示装置に接続された情報処理装置の制御部によって処理される情報処理方法である。制御部が、撮像装置により撮像した被写体の画像を取得するステップと、取得した被写体の画像から特定対象を検出するステップと、検出することができる特定対象の数の変化に応じて仮想空間内にイベントを発生するステップと、発生するイベントを仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成するステップと、被写体の画像もしくは、表示装置の画面を透過して見える被写体に重ね合わせてユーザに視認されるように、仮想画像を表示装置に表示させるステップとを含む。
【００２７】
上記構成例によれば、検出することができる特定対象の数の変化に応じて仮想空間内にイベントを発生させるので、特定対象を利用してユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【００２８】
本発明の一構成例に係る情報処理システムは、被写体に配置してある特定対象と、被写体を撮像する撮像装置と、撮像装置に接続された情報処理装置と、情報処理装置に接続した表示装置とを備える情報処理システムである。情報処理装置は、撮像装置により撮像した被写体の画像を取得するための画像取得手段と、画像取得手段で取得した被写体の画像から特定対象を検出する特定対象検出手段と、特定対象検出手段で検出することができる特定対象の数の変化に応じて仮想空間内にイベントを発生するイベント発生手段と、イベント発生手段で発生するイベントを仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成する仮想画像生成手段と、被写体の画像もしくは、表示装置の画面を透過して見える被写体に重ね合わせてユーザに視認されるように、仮想画像を表示装置に表示させる表示制御手段とを備える。
【００２９】
上記構成例によれば、検出することができる特定対象の数の変化に応じて仮想空間内にイベントを発生させるので、特定対象を利用してユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【発明の効果】
【００３０】
本発明によれば、検出することができる特定対象の数の変化に応じて仮想空間内にイベントを発生させるので、特定対象を利用してユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態に係るゲーム装置の開状態における正面図である。
【図２】本発明の実施の形態に係るゲーム装置の閉状態における左側面図である。
【図３】本発明の実施の形態に係るゲーム装置の閉状態における正面図である。
【図４】本発明の実施の形態に係るゲーム装置の閉状態における右側面図である。
【図５】本発明の実施の形態に係るゲーム装置の閉状態における背面図である。
【図６】本発明の実施の形態に係るゲーム装置の内部構成を示すブロック図である。
【図７】本発明の実施の形態に係るゲーム装置のゲームプレイ中におけるゲーム画像例を示す図である。
【図８】本発明の実施の形態に係るゲーム装置のゲームプレイ中におけるゲーム画像例を示す図である。
【図９】本発明の実施の形態に係るゲーム装置のゲームプレイ中におけるゲーム画像例を示す図である。
【図１０】本発明の実施の形態に係るゲーム装置のゲームプレイ中におけるゲーム画像例を示す図である。
【図１１】本発明の実施の形態に係るゲーム装置のゲームプレイ中におけるゲーム画像例を示す図である。
【図１２】本発明の実施の形態に係るゲーム装置のゲームプレイ中におけるゲーム画像例を示す図である。
【図１３】本発明の実施の形態に係るゲーム装置のメインメモリのメモリマップを示す概略図である。
【図１４】本発明の実施の形態に係るゲーム装置の動作を説明するためのフローチャートである。
【図１５】本発明の実施の形態に係るゲーム装置の第１イベントの処理を説明するためのフローチャートである。
【図１６】本発明の実施の形態に係るゲーム装置の第２イベントの処理を説明するためのフローチャートである。
【図１７】本発明の実施の形態に係るゲーム装置の第３イベントの処理を説明するためのフローチャートである。
【図１８】本発明の実施の形態の変形例に係るゲーム装置のゲームプレイ中におけるゲーム画像例を示す図である。
【図１９】本発明の実施の形態の変形例に係るゲーム装置のゲームプレイ中におけるゲーム画像例を示す図である。
【発明を実施するための形態】
【００３２】
（ゲーム装置の構成）
以下、本発明の一実施形態に係るゲーム装置について説明する。ゲーム装置１０は携帯型のゲーム装置である。図１は、本発明の実施の形態に係るゲーム装置１０の開状態における正面図である。図２は、本発明の実施の形態に係るゲーム装置１０の閉状態における左側面図である。図３は、本発明の実施の形態に係るゲーム装置１０の閉状態における正面図である。図４は、本発明の実施の形態に係るゲーム装置１０の閉状態における右側面図である。図５は、本発明の実施の形態に係るゲーム装置１０の閉状態における背面図である。
【００３３】
図１および図２〜図５に示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。
【００３４】
（下側ハウジングの説明）
図１および図２〜図５に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられている。
【００３５】
タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。下側ハウジング１１の上側面には、タッチペン２８を収納するための挿入口１７（図１および図５に示す点線）が設けられている。
【００３６】
下側ハウジング１１の内側面（主面）には、十字ボタン（方向入力ボタン）１４Ａ、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが、設けられている。
【００３７】
アナログスティック１５は、方向を指示するデバイスである。
下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられている。マイクロフォン用孔１８の下部には音声入力装置としてのマイク４２（図６参照）が設けられている。
【００３８】
図３および図５に示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。また、図２に示されるように、下側ハウジング１１の左側面には、ゲーム装置１０が備えるスピーカ４３（図６参照）の音量を調整するための音量ボタン１４Ｉが設けられている。
【００３９】
図２に示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられている。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタが設けられている。
【００４０】
図５に示されるように、下側ハウジング１１の上側面には、外部メモリ４４を挿入するための挿入口１１Ｄが設けられている。
【００４１】
図１および図４に示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられている。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられている（図４参照）。
【００４２】
（上側ハウジングの説明）
図１および図２に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられている。
【００４３】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。具体的に、上側ＬＣＤ２２は、パララックスバリア方式の裸眼立体視可能な表示装置である。上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある画像（立体視画像（３Ｄ画像））を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる。このように、上側ＬＣＤ２２は、立体視画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、たとえば、後述する３Ｄ調整スイッチ２５によって行われる。
【００４４】
外側撮像部２３は、上側ハウジング２１の外側面２１Ｄに設けられた２つの撮像部（２３ａおよび２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。
【００４５】
内側撮像部２４は、上側ハウジング２１の内側面２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。
【００４６】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。また、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。
【００４７】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示すＬＥＤである。
【００４８】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられている。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００４９】
（ゲーム装置１０の内部構成）
次に、図６は、本発明の実施の形態に係るゲーム装置１０の内部構成を示すブロック図である。図６を参照して、ゲーム装置１０の内部の電気的構成について説明する。図６に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。
【００５０】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。ＣＰＵ３１１は、ゲーム装置１０内のメモリ（たとえば、外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、ＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。ＧＰＵ３１２は、ＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。ＶＲＡＭ３１３に描画された画像は、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力され、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００５１】
外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００５２】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶装置である。
【００５３】
外部メモリ４４は、情報処理部３１によって実行されるプログラム等を記憶するための不揮発性の記憶装置である。外部メモリ４４は、たとえば読み取り専用の半導体メモリで構成される。
【００５４】
データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（たとえば、ＮＡＮＤ型フラッシュメモリ）で構成され、任意のデータを保存するために用いられる。
【００５５】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（たとえば、ＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。たとえば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００５６】
無線通信モジュール３６は、たとえばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（たとえば、独自プロトコルによる通信や、赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。
【００５７】
加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。
【００５８】
ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００５９】
Ｉ／Ｆ回路４１には、タッチパネル１３、マイク４２およびスピーカ４３が接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００６０】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。
【００６１】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。具体的に、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的に、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素が縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００６２】
外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００６３】
３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００６４】
情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。たとえば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。
【００６５】
（ゲームの概要）
次に、図７〜図１２は、本発明の実施の形態に係るゲーム装置１０のゲームプレイ中におけるゲーム画像例を示す図である。図７〜図１２を参照して、ゲーム装置１０において実行されるゲームの概要を説明する。このゲームは、ゲームソフトに同梱されているノートに描かれている所定の模様（文字、数字、記号、その他の図柄）のマーカ５０（外マーカ５０ａ、内マーカ５０ｂ）を、ゲーム装置１０の外側撮像部２３で撮像しながらプレイする、拡張現実技術を利用したゲームである。
【００６６】
図７に示すゲーム画像例は、ゲームの開始直後、マーカ５０を検出するときに上側ＬＣＤ２２および下側ＬＣＤ１２に表示されるゲーム画像を示している。
【００６７】
上側ＬＣＤ２２には、外側撮像部２３によって現在撮像されているノート（被写体）の画像と、ノートに描かれているマーカ５０の画像が表示されている。この例では、マーカ５０は、外マーカ５０ａ（第１特定対象）と、外マーカ５０ａに内包して配置された内マーカ５０ｂ（第２特定対象）とを有している。
【００６８】
下側ＬＣＤ１２には、マーカ５０を検出中であることを示す情報（たとえば、「マーカ検出中」）が表示される。ゲーム装置１０がマーカ５０を検出することができなかった場合、ゲーム装置１０は、下側ＬＣＤ１２に、「マーカを検出することができませんでした。再度マーカを検出する処理を行なってください。」などの情報を表示してもよい。ゲーム装置１０がマーカ５０を検出することができた場合、ゲーム装置１０は、下側ＬＣＤ１２に、「マーカを検出することができました。」などの情報を表示してもよい。
【００６９】
ゲーム装置１０は、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができた場合、第１イベントを発生する。ゲーム装置１０は、発生した第１イベントにより、上側ＬＣＤ２２の外マーカ５０ａ内の領域で動画を再生し、その後、図８に示すように外マーカ５０ａ内に配置されたボタンオブジェクト６０を表示する。
【００７０】
上側ＬＣＤ２２に表示されたボタンオブジェクト６０は、ユーザを第２イベントに移行させるためのガイドであり、外マーカ５０ａに対応する位置に表示される。なお、ゲーム装置１０は、ボタンオブジェクト６０を表示するだけではユーザが次に行なう行動を理解できない場合もあるので、ユーザに行動を促すため「ボタンを押してください。」などの情報を下側ＬＣＤ１２に表示してもよい。つまり、マーカの数が変化するような行動をユーザに促すガイドを表示することで、ユーザにイベントを発生させるヒントを与えることができる。
【００７１】
次に、図９に示すようにユーザが上側ＬＣＤ２２に表示されたボタンオブジェクト６０を押した場合、ゲーム装置１０は、外マーカ５０ａの一部がユーザの手で隠れて外マーカ５０ａを検出することができない。なお、ゲーム装置１０は、マーカ５０を検出することができるか否かの判断を、以下の検出処理により行なう。
【００７２】
ゲーム装置１０は、マーカ５０の画像から、エッジ検出処理により、一連のエッジ画素を検出して、一連のエッジ画素に基づいて４辺の直線を得る。この際、４つの直線の隣り合う２つの直線の交点を検出して、４つの頂点を算出する。このように４つの頂点を算出することにより、たとえば、外マーカ５０ａの外枠の一部を手で隠したとしても、４つの頂点を得ることができる。
【００７３】
次に、ゲーム装置１０は、外マーカ５０ａの内部（上記４頂点に囲まれる領域）の画像を抽出し、抽出した画像のデータとゲームプログラム内に予め記憶されているパターンデータとを比較して類似度を算出し、算出した類似度が所定値以上である場合に、そのパターンデータに応じた外マーカ５０ａを検出したと判断する。
【００７４】
そして、４頂点から現実空間における外側撮像部２３と外マーカ５０ａとの位置関係が算出され、この算出結果に基づいて、仮想空間における仮想カメラの位置および姿勢が算出される。現実空間における外側撮像部２３と外マーカ５０ａとの位置関係と仮想カメラと仮想空間内のマーカとの位置関係が対応するように、仮想カメラが設置される。
【００７５】
ゲーム装置１０は、外マーカ５０ａの一部がユーザの手で隠れた外マーカ５０ａの内部の画像を抽出し、抽出した画像のデータとゲームプログラム内に予め記憶されているパターンデータとを比較して類似度を算出し、算出した類似度が所定値より小さいと判断すると、外マーカ５０ａを検出することができないと判断する。
【００７６】
なお、ゲーム装置１０は、外マーカ５０ａを検出することができないと判断しても、外マーカ５０ａの４つの頂点を得ることができる。そのため、第２イベントの処理で、内マーカ５０ｂしか検出されていない場合であっても、仮想カメラの設定が外マーカ５０ａの４頂点に基づいて行われていれば、仮に、内マーカ５０ｂの４頂点に基づいて仮想カメラの設定を行った場合に比べて４頂点の位置が安定し、表示される仮想オブジェクトのちらつきを低減することができる。
【００７７】
また、ゲーム装置１０によるマーカ５０を検出することができるか否かの判断は、前述の方法に限定されるものではなく、たとえば、マーカ５０のすべての辺を認識できているか否かにより判断する方法であってもよい。たとえば、外マーカ５０ａの一部がユーザの手で隠れて外マーカ５０ａの４辺のうち１辺が認識できない場合、ゲーム装置１０は、外マーカ５０ａを検出することができないと判断する。
【００７８】
ゲーム装置１０は、ユーザがボタンオブジェクト６０を押すことで、外マーカ５０ａの一部がユーザの手で隠れて外マーカ５０ａを検出することができなくなると、検出することができるマーカ５０の数が変化する。つまり、ゲーム装置１０は、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができていた状態で、ユーザがボタンオブジェクト６０を押すと、外マーカ５０ａを検出することができなくなり、内マーカ５０ｂのみを検出することができる状態となる。
【００７９】
ゲーム装置１０は、第１イベントの処理を終了した後、検出することができるマーカ５０の数が変化すると、第２イベントを発生する。発生した第２イベントにより、上側ＬＣＤ２２には、図１０に示すように、内マーカ５０ｂ内にキャラクタオブジェクト６１が表示される。なお、ゲーム装置１０は、ユーザを第３イベントに移行させるため、「ボタンから手を離してください。」などの情報を下側ＬＣＤ１２に表示してもよい。
【００８０】
次に、図１１に示すようにユーザが上側ＬＣＤ２２に表示されたボタンオブジェクト６０から手を離した場合、ゲーム装置１０は、ユーザの手で隠れていた外マーカ５０ａの一部を再び認識することができるので、外マーカ５０ａを検出することができる。
【００８１】
ゲーム装置１０は、ユーザがボタンオブジェクト６０から手を離すことで、ユーザの手で隠れていた外マーカ５０ａの一部を再び認識して外マーカ５０ａを検出することができると、検出することができるマーカ５０の数が変化する。つまり、ゲーム装置１０は、内マーカ５０ｂのみのマーカを検出することができていた状態で、ユーザがボタンオブジェクト６０から手を離すと、外マーカ５０ａを再び検出することができ、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができる状態となる。
【００８２】
ゲーム装置１０は、第２イベントの処理を終了した後、検出することができるマーカ５０の数が変化すると、第３イベントを発生する。発生した第３イベントにより、上側ＬＣＤ２２には、図１２に示すように、キャラクタオブジェクト６１がユーザの離した手の方向に動く様子が表示される。
【００８３】
（ゲーム装置１０の動作）
次に、ゲーム装置１０の動作についてより詳細に説明する。
【００８４】
図１３は、本発明の実施の形態に係るゲーム装置１０のメインメモリ３２のメモリマップを示す概略図である。
【００８５】
図１３に示すメインメモリ３２は、ゲームプログラムＤ１１、動画情報Ｄ１２、仮想オブジェクト情報Ｄ１３、左被写体画像Ｄ１４、右被写体画像Ｄ１５、仮想カメラ情報Ｄ１６、左仮想空間画像Ｄ１７、右仮想空間画像Ｄ１８などを含む。
【００８６】
ゲームプログラムＤ１１は、ゲームの実行に先立って外部メモリ４４またはデータ保存用内部メモリ３５等から読み出されて、メインメモリ３２に格納される。なお、無線通信機能を使ってサーバ装置または他のゲーム装置からゲームプログラムＤ１１を受信して、メインメモリ３２に格納してもよい。
【００８７】
動画情報Ｄ１２は、第１イベントなどで表示する動画情報であり、Ｈ．２６４、ＭＰＥＧ−４  ＡＶＣなどの動画圧縮規格に基づいて圧縮した動画情報である。
【００８８】
仮想オブジェクト情報Ｄ１３は、仮想空間に配置される各種仮想オブジェクト（ボタンオブジェクト６０や、キャラクタオブジェクト６１）に関連する情報であって、仮想オブジェクトの形状、色、模様、位置、姿勢などの情報を含んでいる。キャラクタオブジェクト６１については、移動方向および移動速度の情報も含まれている。
【００８９】
左被写体画像Ｄ１４は、外側撮像部（左）２３ａによって撮像された被写体の画像であり、右被写体画像Ｄ１５は、外側撮像部（右）２３ｂによって撮像された被写体の画像である。
【００９０】
仮想カメラ情報Ｄ１６は、立体視画像を生成する際に用いられる一対の仮想カメラ（後述する左仮想カメラおよび右仮想カメラ）に関する情報であって、仮想空間における各仮想カメラの位置や姿勢などの情報を含んでいる。
【００９１】
左仮想空間画像Ｄ１７は、左仮想カメラに基づいて描画された仮想画像であり、右仮想空間画像Ｄ１８は、右仮想カメラに基づいて描画された仮想画像である。
【００９２】
次に、図１４は、本発明の実施の形態に係るゲーム装置１０の動作を説明するためのフローチャートである。図１４を参照して、ゲームプログラムＤ１１に基づいてＣＰＵ３１１によって実行されるゲーム処理の流れについて説明する。当該ゲーム処理は、たとえば、外側撮像部２３によって被写体を撮像している状態で、操作ボタン１４のボタン１４Ｂが押下されたときに開始される。
【００９３】
まず、ＣＰＵ３１１は、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂから、最新の左被写体画像Ｄ１４および右被写体画像Ｄ１５を取得して、メインメモリ３２に格納する（ステップＳ１１）。
【００９４】
次に、ＣＰＵ３１１は、取得した被写体の画像からマーカ５０を検出する（ステップＳ１２）。当該マーカ検出処理では、左被写体画像Ｄ１４および右被写体画像Ｄ１５のそれぞれにおけるマーカ５０を検出する。たとえば、左被写体画像Ｄ１４および右被写体画像Ｄ１５に対して、それぞれエッジ検出処理およびパターンマッチング処理を行うことによって、左被写体画像Ｄ１４および右被写体画像Ｄ１５のそれぞれにおけるマーカ５０を検出する。ここで、エッジ検出処理は、左被写体画像Ｄ１４および右被写体画像Ｄ１５から、マーカ５０の輪郭を表す一連のエッジ画素を検出し、一連のエッジ画素に基づいて複数の直線を生成して輪郭の頂点を検出する。
【００９５】
次に、ＣＰＵ３１１は、マーカ５０の４頂点から現実空間における外側撮像部２３とマーカ５０との位置関係を算出し、この算出結果に基づいて、仮想空間における仮想カメラの位置および姿勢を算出して、現実空間における外側撮像部２３と外マーカ５０ａとの位置関係と仮想カメラと仮想空間内のマーカとの位置関係が対応するように、仮想カメラが設置される（ステップＳ１３）。上記位置関係から仮想カメラの位置を算出する処理は、従来の拡張現実感技術における処理と同様であってもよい。なお、仮想空間における仮想カメラの位置および姿勢を算出、および仮想カメラを設置する処理は、一定間隔で行われており、後述する各イベントの処理中でも行われている。しかし、以降のフローチャートでは、省略して記載していない場合もあるが、当該処理は、後述する各イベントの処理中を含む一定間隔で行われているものとする。また、このとき、マーカ５０ｂについても同様の処理を行い、現実空間における外側撮像部２３と内マーカ５０ｂとの位置関係と仮想カメラと仮想空間内のマーカ５０ｂとの位置関係が対応するように、上記仮想カメラとは別の仮想カメラが仮想空間内に配置されるようにして、後述のステップＳ１７２において、その仮想カメラが用いられてもよい。
【００９６】
マーカ５０は、図７に示したように、外マーカ５０ａと、外マーカ５０ａに内包して配置された内マーカ５０ｂとを有している。なお、マーカ５０は、外マーカ５０ａおよび内マーカ５０ｂを有する場合に限定されるものではなく、外マーカ５０ａに複数の内マーカ５０ｂを内包する場合や、内マーカ５０ｂにさらにマーカを内包する場合などであってもよい。
【００９７】
マーカ５０が外マーカ５０ａおよび内マーカ５０ｂを有する場合、ＣＰＵ３１１は、エッジ検出処理およびパターンマッチング処理を行うことによって外マーカ５０ａを検出した後、エッジ検出処理およびパターンマッチング処理を再度行うことによって内マーカ５０ｂを検出する。なお、ＣＰＵ３１１は、エッジ検出処理およびパターンマッチング処理を１度行うことによって外マーカ５０ａおよび内マーカ５０ｂを一緒に検出してもよい。
【００９８】
次に、ＣＰＵ３１１は、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができたか否かを判断する（ステップＳ１４）。ＣＰＵ３１１は、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカ５０を検出することができなかったと判断した場合（ステップＳ１４：ＮＯ）、処理をステップＳ１２に戻して、取得した被写体の画像からマーカ５０を検出する処理を継続する。ＣＰＵ３１１は、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができたと判断した場合（ステップＳ１４：ＹＥＳ）、第１イベントを発生する（ステップＳ１５）。
【００９９】
次に、発生した第１イベントの処理について説明する。図１５は、本発明の実施の形態に係るゲーム装置１０の第１イベントの処理を説明するためのフローチャートである。まず、ＣＰＵ３１１は、メインメモリ３２から動画情報Ｄ１２を読出し、外マーカ５０ａ内の領域で動画を再生する（ステップＳ１５１）。具体的に、外マーカ５０ａ内の領域で動画を再生する方法について説明する。ＣＰＵ３１１は、発生した第１イベントに応じて仮想空間内に板状のポリゴンを配置する。ＣＰＵ３１１は、配置した板状のポリゴンにテクスチャとして動画情報Ｄ１２の画像をマッピングして、それを仮想カメラで撮影することで仮想画像を生成する。ＣＰＵ３１１は、生成した仮想画像を、被写体の画像に重ね合わせてユーザに視認されるように、仮想画像を上側ＬＣＤ２２に順次表示させることで、動画を再生する。
【０１００】
ＣＰＵ３１１は、動画を再生後、メインメモリ３２の仮想オブジェクト情報Ｄ１３からボタンオブジェクト６０を読出し、読出したボタンオブジェクト６０を配置した後、仮想カメラでボタンオブジェクト６０を含む仮想空間を撮像して仮想空間内の仮想画像を生成し、被写体の画像と仮想画像とを合成し、上側ＬＣＤ２２に表示する（ステップＳ１５２）。
【０１０１】
第１イベントの処理は、上側ＬＣＤ２２にボタンオブジェクト６０を表示することで終了する。ＣＰＵ３１１は、上側ＬＣＤ２２にボタンオブジェクト６０を表示することで、ボタンオブジェクト６０を押す動作をユーザに促している。なお、ＣＰＵ３１１は、第１イベントの処理を終了した後、マーカ５０を検出する処理を継続的に行なっているものとする。そのため、ユーザがボタンオブジェクト６０を押すことで、外マーカ５０ａの一部がユーザの手で隠れて外マーカ５０ａを検出することができなくなる。つまり、ＣＰＵ３１１は、内マーカ５０ｂのみを検出することができたか否かを判断することで、ユーザがボタンオブジェクト６０を押したか否かを判断することができる。
【０１０２】
図１４に戻って、ＣＰＵ３１１は、内マーカ５０ｂのみを検出することができたか否かを判断する（ステップＳ１６）。ＣＰＵ３１１は、内マーカ５０ｂのみを検出することができないと判断した場合（外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができたと判断した場合や、外マーカ５０ａおよび内マーカ５０ｂのいずれのマーカも検出することができないと判断した場合）（ステップＳ１６：ＮＯ）、マーカ５０を検出する処理を継続する。ＣＰＵ３１１は、内マーカ５０ｂのみを検出することができたと判断した場合（ステップＳ１６：ＹＥＳ）、第２イベントを発生する（ステップＳ１７）。
【０１０３】
次に、発生した第２イベントの処理について説明する。図１６は、本発明の実施の形態に係るゲーム装置１０の第２イベントの処理を説明するためのフローチャートである。
【０１０４】
ＣＰＵ３１１は、外マーカ５０ａの中心を原点とした仮想空間内の当該原点を基準とした所定の位置に、キャラクタオブジェクト６１を配置する（ステップＳ１７１）。
【０１０５】
ＣＰＵ３１１は、キャラクタオブジェクト６１を配置した後、仮想カメラでキャラクタオブジェクト６１を含む仮想空間を撮像して仮想空間内の仮想画像を生成する（ステップＳ１７２）。具体的に、ＣＰＵ３１１は、左仮想カメラに基づいて仮想オブジェクト（キャラクタオブジェクト６１など）を描画することによって左仮想空間画像Ｄ１７を生成し、右仮想カメラに基づいて仮想オブジェクトを描画することによって右仮想空間画像Ｄ１８を生成する。なお、仮想空間の描画処理は、典型的には、ＣＰＵ３１１の指示に従ってＧＰＵ３１２が行う。
【０１０６】
ＣＰＵ３１１は、仮想画像を生成した後、被写体の画像と仮想画像とを合成し、上側ＬＣＤ２２に表示する（ステップＳ１７３）。具体的に、ＣＰＵ３１１は、左被写体画像Ｄ１４に左仮想空間画像Ｄ１７（すなわち、左仮想カメラに基づいて描画されたキャラクタオブジェクト６１）を上書きし、右被写体画像Ｄ１５に右仮想空間画像Ｄ１８（すなわち、右仮想カメラに基づいて描画されたキャラクタオブジェクト６１）を上書きする。そして、合成された画像は、上側ＬＣＤ２２に表示される。つまり、ＣＰＵ３１１は、左被写体画像Ｄ１４と左仮想空間画像Ｄ１７とを合成した画像を左目用画像とし、右被写体画像Ｄ１５と右仮想空間画像Ｄ１８とを合成した画像を右目用画像として、上側ＬＣＤ２２に３Ｄ画像を表示する。
【０１０７】
第２イベントの処理は、上側ＬＣＤ２２にキャラクタオブジェクト６１を表示することで終了する。なお、ＣＰＵ３１１は、第２イベントの処理を終了した後、マーカ５０を検出する処理を継続的に行なっているものとする。そのため、ユーザがボタンオブジェクト６０から手を離すことで、ユーザの手で隠れた外マーカ５０ａの一部が再び認識され、外マーカ５０ａを再び検出することができるようになる。つまり、ＣＰＵ３１１は、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができたか否かを判断することで、ユーザがボタンオブジェクト６０から手を離したか否かを判断することができる。
【０１０８】
図１４に戻って、ＣＰＵ３１１は、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができたか否かを判断する（ステップＳ１８）。ＣＰＵ３１１は、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができなかったと判断した場合（ステップＳ１８：ＮＯ）、マーカ５０を検出する処理を継続する。ＣＰＵ３１１は、外マーカ５０ａおよび内マーカ５０ｂの２つのマーカを検出することができたと判断した場合（ステップＳ１８：ＹＥＳ）、第３イベントを発生する（ステップＳ１９）。
【０１０９】
次に、発生した第３イベントの処理について説明する。図１７は、本発明の実施の形態に係るゲーム装置１０の第３イベントの処理を説明するためのフローチャートである。まず、ＣＰＵ３１１は、配置したキャラクタオブジェクト６１を移動する（ステップＳ１９１）。具体的に、ＣＰＵ３１１は、メインメモリ３２から読出した仮想オブジェクト情報Ｄ１３に基づいて、キャラクタオブジェクト６１の移動方向および移動速度を決定する。たとえば、ＣＰＵ３１１は、ユーザが押したボタンオブジェクト６０の方向に、ゆっくりとした速度でキャラクタオブジェクト６１を移動させると決定する。そして、ＣＰＵ３１１は、決定に基づいてキャラクタオブジェクト６１を移動させた場合、移動させたキャラクタオブジェクト６１の位置を更新する。
【０１１０】
ＣＰＵ３１１は、仮想カメラで移動するキャラクタオブジェクト６１を含む仮想空間を撮像して仮想空間内の仮想画像を生成する（ステップＳ１９２）。具体的に、ＣＰＵ３１１は、左仮想カメラに基づいて移動するキャラクタオブジェクト６１を描画することによって左仮想空間画像Ｄ１７を生成し、右仮想カメラに基づいて移動するキャラクタオブジェクト６１を描画することによって右仮想空間画像Ｄ１８を生成する。
【０１１１】
なお、仮想カメラは、第２イベントの処理で配置した仮想カメラを用いることで、再度配置する必要はない。再度仮想カメラを配置する場合、ＣＰＵ３１１は、外側撮像部２３ａ，２３ｂとマーカ５０との位置関係を再度算出し、再度算出した位置関係に基づいて仮想空間に一対の仮想カメラ（左仮想カメラおよび右仮想カメラ）を再度配置する。
【０１１２】
ＣＰＵ３１１は、仮想画像を生成した後、被写体の画像と仮想画像とを合成し、上側ＬＣＤ２２に表示する（ステップＳ１９３）。具体的に、ＣＰＵ３１１は、左被写体画像Ｄ１４に、左仮想カメラに基づいて描画された移動するキャラクタオブジェクト６１を順次上書し、右被写体画像Ｄ１５に、右仮想カメラに基づいて描画された移動するキャラクタオブジェクト６１を順次上書きすることで、ユーザに、仮想空間内をキャラクタオブジェクト６１が移動していると認識させることができる。なお、同様に、合成された画像は、上側ＬＣＤ２２に表示される。つまり、ＣＰＵ３１１は、左被写体画像Ｄ１４と左仮想空間画像Ｄ１７とを合成した画像を左目用画像とし、右被写体画像Ｄ１５と右仮想空間画像Ｄ１８とを合成した画像を右目用画像として、上側ＬＣＤ２２に３Ｄ画像を表示する。
【０１１３】
図１４に戻って、ＣＰＵ３１１は、第３イベントの処理を終了した後、ゲームを終了する。なお、ＣＰＵ３１１は、ゲームを終了せずに、処理をステップＳ１２に戻して、取得した被写体の画像からマーカ５０を検出する処理を継続してもよい。
【０１１４】
以上のように、本発明の実施の形態に係るゲーム装置１０は、外側撮像部２３により撮像した被写体の画像を取得し、取得した被写体の画像からマーカ５０を検出し、検出することができるマーカ５０の数の変化に応じて仮想空間内にイベントを発生し、発生するイベントを仮想空間内に配置された仮想カメラで撮影することにより仮想画像を生成し、被写体の画像に重ね合わせてユーザに視認されるように、仮想画像を上側ＬＣＤ２２に表示させるので、マーカ５０を利用してユーザに拡張現実を実感する視覚効果を十分に与えることができる。
【０１１５】
（変形例）
なお、上記実施形態では、外マーカ５０ａの一部をユーザの手で隠すことで外マーカ５０ａを検出することができずに、検出することができるマーカ５０の数を変化させる場合について説明したが、本発明に係るゲーム装置１０は、これに限定されるものではない。たとえば、ゲーム装置１０は、外側撮像部２３によって撮像するマーカ５０の数を変化させることで、検出することができるマーカ５０の数を変化させてもよい。図１８および図１９は、本発明の実施の形態の変形例に係るゲーム装置１０のゲームプレイ中におけるゲーム画像例を示す図である。
【０１１６】
図１８に示すように、ゲーム装置１０は、外側撮像部２３によって現在撮像されている被写体の画像に外マーカ５０ａおよび内マーカ５０ｂが含まれるように、被写体を撮像する。つまり、ゲーム装置１０は、被写体との距離を十分にとって、被写体を撮像する。このとき、ゲーム装置１０は、被写体の画像に外マーカ５０ａおよび内マーカ５０ｂが含まれているので、外マーカ５０ａおよび内マーカ５０ｂを検出することができる。
【０１１７】
次に、ユーザは、ゲーム装置１０を被写体に対して近づける。ゲーム装置１０は、図１９に示すように被写体に対して近づけると、外側撮像部２３によって現在撮像されている被写体の画像に内マーカ５０ｂのみが含まれるように、被写体を撮像することになる。このとき、ゲーム装置１０は、被写体の画像に内マーカ５０ｂのみが含まれているので、外マーカ５０ａを検出することができず、内マーカ５０ｂのみを検出することができる。ゲーム装置１０は、検出することができるマーカ５０の数が変化すると、イベントを発生する。発生したイベントにより、上側ＬＣＤ２２には、図１９に示すように、内マーカ５０ｂ内にキャラクタオブジェクト６１が表示される。
【０１１８】
以上のように、ゲーム装置１０は、被写体に対して近づけることで、検出することができるマーカ５０の数を変化させることができる。なお、ゲーム装置１０は、被写体に対して遠ざけることで、内マーカ５０ｂを検出することができない大きさにして、検出することができるマーカ５０の数を変化させることもできる。また、ゲーム装置１０は、被写体に対する距離を変えずに、外マーカ５０ａの一部をフレーム外となるように移動させても、検出することができるマーカ５０の数を変化させることもできる。
【０１１９】
また、上記実施形態では、外側撮像部２３によって撮像された被写体画像に仮想画像を合成して上側ＬＣＤ２２に表示している（ビデオシースルー方式）が、本発明はこれに限定されるものではない。本発明は、透過型の表示画面に仮想オブジェクトを表示し、当該透過型の表示画面を通じて見える被写体にあたかも仮想オブジェクトが実在するかのようにユーザに視認されるような光学シースルー方式のゲーム装置（たとえば、ヘッドマウントディスプレイを備えるゲーム装置）やゲームシステムにも適用できる。
【０１２０】
また、上記実施形態では、マーカ検出処理の結果に応じて、左仮想カメラの位置および姿勢と、右仮想カメラの位置および姿勢とを個別に決定しているが、他の実施形態では、マーカ検出処理の結果に応じていずれか一方の仮想カメラの位置および姿勢を決定した後、当該一方の仮想カメラの位置および姿勢から他方の仮想カメラの位置および姿勢を決定するようにしてもよい。
【０１２１】
また、上記実施形態では、被写体画像に含まれるマーカ５０の位置および姿勢に基づいて仮想カメラの位置および姿勢を決定しているが、他の実施形態では、被写体画像に含まれるマーカ５０以外の認識対象物（たとえば、顔や、手など）の位置等に応じて仮想カメラの位置等を決定してもよい。
【０１２２】
また、上記実施形態では、上側ＬＣＤ２２に立体視画像を表示する例を説明したが、本発明はこれに限らず、平面視画像を表示する場合にも本発明は適用できる。たとえば、外側撮像部（左）２３ａまたは外側撮像部（右）２３ｂのいずれか一方から取得した被写体画像に基づいて仮想空間に１つの仮想カメラを配置して、上記実施形態と同様の処理を行えばよい。
【０１２３】
また、上記実施形態では、ゲームプログラムＤ１１の処理がＣＰＵ（ＣＰＵ３１１）によって実行される例を説明したが、他の実施形態では、ゲームプログラムＤ１１の少なくとも一部の処理がハードウェアのみによって実現されてもよい。
【０１２４】
また、上記実施形態では、上記ゲーム例で説明したが、本発明はこれに限らず、検出することができるマーカ５０の数が変化することでイベントを発生するような任意のゲームに適用可能である。また、本発明はゲームソフトウェアに限らず、任意のアプリケーションソフトウェアにも適用可能である。
【０１２５】
また、上記実施形態では、マーカ５０が描かれているノートを用いる例を説明したが、本発明はこれに限らず、一般的なクレジットカードや名刺等のサイズのカードにマーカ５０が描かれているものを用いる場合にも本発明は適用できる。このとき、マーカ５０が描かれているカードを単にマーカと呼ぶようにしてもよい。
【０１２６】
また、上記実施形態では、携帯型のゲーム装置１０について説明したが、他の実施形態では、任意の情報処理装置（据え置き型ゲーム装置、デスクトップパソコン、ノートパソコン、携帯電話など）をゲーム装置またはゲームシステムとして利用してもよい。
【０１２７】
また、上記実施形態では、ゲームプログラムＤ１１の処理が１つのＣＰＵ（ＣＰＵ３１１）によって実行される例を説明したが、他の実施形態では、ゲームプログラムＤ１１の処理が複数のプロセッサによって分担して実行されてもよい。また、これらの複数のプロセッサは、同一の情報処理装置に内蔵されていてもよいし、サーバ装置とクライアント装置のように互いに通信可能な複数の情報処理装置に分散して設けられていてもよい。
【０１２８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２９】
１０  ゲーム装置、１１  下側ハウジング、１１Ｃ  カバー部、１１Ｄ，１７  挿入口、１２  下側ＬＣＤ、１３  タッチパネル、１４Ａ〜１４Ｌ  操作ボタン、１５  アナログスティック、１６Ａ〜１６Ｂ  ＬＥＤ、１８  マイクロフォン用孔、１９  無線スイッチ、２１  上側ハウジング、２１Ｂ  上側ハウジングの内側面、２１Ｄ  上側ハウジングの外側面、２１Ｅ  スピーカ孔、２２  上側ＬＣＤ、２３  外側撮像部、２３ａ  外側撮像部（左）、２３ｂ  外側撮像部（右）、２４  内側撮像部、２５  ３Ｄ調整スイッチ、２５ａ  スライダ、２６  ３Ｄインジケータ、２８  タッチペン、３１  情報処理部、３２  メインメモリ、３３  外部メモリインターフェイス、３４  、データ保存用外部メモリＩ／Ｆ、３５  データ保存用内部メモリ、３６  無線通信モジュール、３７  ローカル通信モジュール、３８  リアルタイムクロック、３９  加速度センサ、４０  電源回路、４１  インターフェイス回路、４２  マイク、４３  スピーカ、４４  外部メモリ、４５  データ保存用外部メモリ、５０  マーカ、５０ａ  外マーカ、５０ｂ  内マーカ、６０  ボタンオブジェクト、６１  キャラクタオブジェクト、３１１  ＣＰＵ、３１２  ＧＰＵ、３１３  ＶＲＡＭ、Ｄ１１  ゲームプログラム、Ｄ１２  動画情報、Ｄ１３  仮想オブジェクト情報、Ｄ１４  左被写体画像、Ｄ１５  右被写体画像、Ｄ１６  仮想カメラ情報、Ｄ１７  左仮想画像、Ｄ１８  右仮想画像。
【図１】
0005791433.tif 000002
【図２】
0005791433.tif 000003
【図３】
0005791433.tif 000004
【図４】
0005791433.tif 000005
【図５】
0005791433.tif 000006
【図６】
0005791433.tif 000007
【図７】
0005791433.tif 000008
【図８】
0005791433.tif 000009
【図９】
0005791433.tif 000010
【図１０】
0005791433.tif 000011
【図１１】
0005791433.tif 000012
【図１２】
0005791433.tif 000013
【図１３】
0005791433.tif 000014
【図１４】
0005791433.tif 000015
【図１５】
0005791433.tif 000016
【図１６】
0005791433.tif 000017
【図１７】
0005791433.tif 000018
【図１８】
0005791433.tif 000019
【図１９】
0005791433.tif 000020