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