(57)【特許請求の範囲】
【請求項１】
ゲームプログラムであって、
撮像装置と画面上において現実空間を視認可能とする表示装置に接続されたゲーム装置のコンピュータを、
前記撮像装置が現実空間を撮像することにより得られた撮像画像を取得する撮像画像取得手段；
前記撮像画像取得手段により取得された撮像画像から特定対象物を検出する検出手段；
前記特定対象物の検出結果に基づき、前記撮像装置と前記特定対象物との相対的位置を算出する算出手段；
前記相対的位置に基づき、仮想空間内の仮想カメラを設定する仮想カメラ設定手段；
前記相対的位置に基づき、前記仮想空間内に仮想面を設定して前記仮想空間の部分空間を規定する仮想面設定手段；
前記仮想面により規定される、前記仮想空間の第１部分空間に、第１仮想オブジェクトを提供する第１仮想オブジェクト制御手段；
前記第１仮想オブジェクトを含む前記仮想空間を前記仮想カメラで撮影することにより、仮想オブジェクト画像を生成する仮想オブジェクト画像生成手段；
前記画面上の現実空間に重ね合わせてユーザに視認されるように、前記仮想オブジェクト画像を前記表示装置に表示させる表示制御手段；
ゲームの進行に応じて、前記第１仮想オブジェクトとは別の第２仮想オブジェクトを前記仮想空間内に提供する第２仮想オブジェクト制御手段；および
前記第１仮想オブジェクトまたは第２仮想オブジェクトのいずれかまたはその両方を、前記仮想面に対する位置関係を変化させることに応じて前記ゲームの進行を制御するゲーム進行手段として機能させ、
前記表示制御手段は、前記仮想面設定手段により規定される仮想面を、前記特定対象物の位置を基準として配置される３次元モデルに基づき表示し、前記３次元モデルは前記撮像画像がその表面にマッピングされたポリゴンで規定される、ゲームプログラム。
【請求項２】
前記ゲーム進行手段は、前記第１仮想オブジェクトと前記第２仮想オブジェクトとの相互関係に関する条件の判定を後続のゲーム処理のために行う、請求項１に記載のゲームプログラム。
【請求項３】
前記ゲーム進行手段は、前記第１部分空間に存在する前記第１仮想オブジェクトの少なくとも一部が前記仮想面を介して前記仮想カメラから見て前記仮想面より遠位の第２部分空間に移動されたときに、前記第１仮想オブジェクトと前記第２仮想オブジェクトとの相互関係に関する条件の判定を後続のゲーム処理のために行う、請求項１に記載のゲームプログラム。
【請求項４】
前記相互関係に関する条件は、前記第１仮想オブジェクトと前記第２仮想オブジェクトとの位置関係が所定の条件を満たすことである、請求項３に記載のゲームプログラム。
【請求項５】
前記相互関係に関する条件は、さらに前記算出手段により得られる相対的位置に基づき規定される前記第１仮想オブジェクトの移動量が一定値に達すること、または当該移動量が一定値に達してない場合であっても、前記検出手段が前記撮像画像から前記特定対象物を検出しなかったことである、請求項３に記載のゲームプログラム。
【請求項６】
前記第１仮想オブジェクトは、前記仮想カメラ側から前記特定対象物側に伸びる仮想オブジェクトとして表現される３次元モデルが与えられる、請求項１に記載のゲームプログラム。
【請求項７】
前記第２仮想オブジェクト制御手段が、前記第１部分空間以外の前記仮想空間に１以上の第２仮想オブジェクトを配置する場合、前記表示制御手段は、前記画面に表示するための前記第２仮想オブジェクトを、前記仮想面を示すためのポリゴン上にマッピングされる前記撮像画像のテクスチャに対して、前記第２仮想オブジェクトの形状を模したテクスチャをブレンドすることで表示する、請求項１に記載のゲームプログラム。
【請求項８】
前記第２仮想オブジェクト制御手段は、前記第２仮想オブジェクトを、前記仮想空間における、前記特定対象物と前記仮想カメラとの間の領域に、他の領域に比べて高い頻度で配置する、請求項１に記載のゲームプログラム。
【請求項９】
前記ゲーム進行手段は、前記第２仮想オブジェクト制御手段が前記第２仮想オブジェクトを前記仮想空間に提供する場合であって、当該第２仮想オブジェクトの少なくともその一部が、第１部分空間以外の空間から前記仮想面を介して前記第１部分空間に移動しそこに位置づけられるときに、前記第１仮想オブジェクトと前記第２仮想オブジェクトとの相互関係に関する条件の判定を行い、当該判定の結果に従い後続のゲーム処理を行う、請求項１に記載のゲームプログラム。
【請求項１０】
前記相互関係に関する条件は、前記第１仮想オブジェクトの少なくとも一部分と、前記第２仮想オブジェクトとの間の衝突判定において当該仮想オブジェクト同士が衝突したと判定されることである、請求項９に記載のゲームプログラム。
【請求項１１】
撮像装置と画面上において現実空間を視認可能とする表示装置に接続されたゲーム装置であって、
前記撮像装置で現実空間を撮像することにより得られた撮像画像を取得する撮像画像取得手段；
前記撮像画像取得手段により取得された撮像画像から特定対象物を検出する検出手段；
前記特定対象物の検出結果に基づき、前記撮像装置と前記特定対象物との相対的位置を算出する算出手段；
前記相対的位置に基づき、仮想空間内の仮想カメラを設定する仮想カメラ設定手段；
前記相対的位置に基づき、前記仮想空間内に仮想面を設定して前記仮想空間の部分空間を規定する仮想面設定手段；
前記仮想面により規定される、前記仮想空間の第１部分空間に、第１仮想オブジェクトを提供する第１仮想オブジェクト制御手段；
前記第１仮想オブジェクトを含む前記仮想空間を前記仮想カメラで撮影することにより、仮想オブジェクト画像を生成する仮想オブジェクト画像生成手段；
前記画面上の現実空間に重ね合わせてユーザに視認されるように、前記仮想オブジェクト画像を前記表示装置に表示させる表示制御手段；
ゲームの進行に応じて、前記第１仮想オブジェクトとは別の第２仮想オブジェクトを前記仮想空間内に提供する第２仮想オブジェクト制御手段；および
前記第１仮想オブジェクトまたは第２仮想オブジェクトのいずれかまたはその両方を、前記仮想面に対する位置関係を変化させることに応じて前記ゲームの進行を制御するゲーム進行手段を備え、
前記表示制御手段は、前記仮想面設定手段により規定される仮想面を、前記特定対象物の位置を基準として配置される３次元モデルに基づき表示し、前記３次元モデルは前記撮像画像がその表面にマッピングされたポリゴンで規定される、ゲーム装置。
【請求項１２】
撮像装置と画面上において現実空間を視認可能とする表示装置に接続されたゲームシステムであって、
前記撮像装置で現実空間を撮像することにより得られた撮像画像を取得する撮像画像取得手段；
前記撮像画像取得手段により取得された撮像画像から特定対象物を検出する検出手段；
前記特定対象物の検出結果に基づき、前記撮像装置と前記特定対象物との相対的位置を算出する算出手段；
前記相対的位置に基づき、仮想空間内の仮想カメラを設定する仮想カメラ設定手段；
前記相対的位置に基づき、前記仮想空間内に仮想面を設定して前記仮想空間の部分空間を規定する仮想面設定手段；
前記仮想面により規定される、前記仮想空間の第１部分空間に、第１仮想オブジェクトを提供する第１仮想オブジェクト制御手段；
前記第１仮想オブジェクトを含む前記仮想空間を前記仮想カメラで撮影することにより、仮想オブジェクト画像を生成する仮想オブジェクト画像生成手段；
前記画面上の現実空間に重ね合わせてユーザに視認されるように、前記仮想オブジェクト画像を前記表示装置に表示させる表示制御手段；
ゲームの進行に応じて、前記第１仮想オブジェクトとは別の第２仮想オブジェクトを前記仮想空間内に提供する第２仮想オブジェクト制御手段；および
前記第１仮想オブジェクトまたは第２仮想オブジェクトのいずれかまたはその両方を、前記仮想面に対する位置関係を変化させることに応じて前記ゲームの進行を制御するゲーム進行手段
を備え、
前記表示制御手段は、前記仮想面設定手段により規定される仮想面を、前記特定対象物の位置を基準として配置される３次元モデルに基づき表示し、前記３次元モデルは前記撮像画像がその表面にマッピングされたポリゴンで規定される、ゲームシステム。
【請求項１３】
ゲームシステムにおけるゲーム処理を行うための方法であって、
前記ゲームシステムに接続された撮像装置で現実空間を撮像することにより得られた撮像画像を取得する撮像画像取得ステップ；
前記撮像画像取得ステップにより取得された撮像画像から特定対象物を検出する検出ステップ；
前記特定対象物の検出結果に基づき、前記撮像装置と前記特定対象物との相対的位置を算出する算出ステップ；
前記相対的位置に基づき、仮想空間内の仮想カメラを設定する仮想カメラ設定ステップ；
前記相対的位置に基づき、前記仮想空間内に仮想面を設定して前記仮想空間の部分空間を規定する仮想面設定ステップ；
前記仮想面により規定される、前記仮想空間の第１部分空間に、第１仮想オブジェクトを提供する第１仮想オブジェクト制御ステップ；
前記第１仮想オブジェクトを含む前記仮想空間を前記仮想カメラで撮影することにより、仮想オブジェクト画像を生成する仮想オブジェクト画像生成ステップ；
前記ゲームシステムに接続された表示装置の画面上の前記現実空間に重ね合わせてユーザに視認されるように、前記仮想オブジェクト画像を前記表示装置に表示させる表示制御ステップ；
ゲームの進行に応じて、前記第１仮想オブジェクトとは別の第２仮想オブジェクトを前記仮想空間内に提供する第２仮想オブジェクト制御ステップ；および
前記第１仮想オブジェクトまたは第２仮想オブジェクトのいずれかまたはその両方を、前記仮想面に対する位置関係を変化させることに応じて前記ゲームの進行を制御するゲーム進行ステップを含み、
前記表示制御ステップにおいて、前記仮想面設定ステップにおいて規定される仮想面を、前記特定対象物の位置を基準として配置される３次元モデルに基づき表示し、前記３次元モデルは前記撮像画像がその表面にマッピングされたポリゴンで規定される、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム処理をするためのプログラム、装置、システムおよび方法に関する。具体的には、本発明は、ゲーム処理において、実空間から得られる知覚情報と仮想空間に生成した情報とを融合させるための、ゲームプログラム、それを利用する装置、システムおよび方法に関する。
【背景技術】
【０００２】
近年、実世界を撮像した画像に仮想オブジェクトを合成表示することによって、その仮想オブジェクトがあたかも実世界内に実在するかのように表示する、拡張現実感（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）技術（以下、ＡＲ技術）の研究が進んでいる。
【０００３】
このＡＲ技術を利用したゲーム装置も知られている。例えば、このようなゲーム装置は、カメラで撮像された画像に写っているゲームカードをビジュアルマーカとして検出し、その検出結果に基づいてカメラとゲームカードとの位置関係を算出する（例えば、特許文献１参照）。そして、そのゲーム装置は、算出した結果に基づき仮想オブジェクトの画像を、撮像した画像に重畳した画像を生成することで、仮想オブジェクトが撮像画像におけるゲームカード上に位置する重畳画像を生成し、表示する。
【０００４】
特許文献１に例示されるように、そのゲームに登場するオブジェクトは、マーカとしてのゲームカード上かまたはゲームカードの面に沿った限定的な領域（例えば、そのキャラクタは、当該ゲームカードの動きに追従して移動する）に重畳的に表示されるようになっているだけである。よって、ＡＲ技術を利用した従来のゲーム装置は、ゲームとしての広がりを持たせて、興趣性を向上させるという点については改善の余地があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−０７２６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そこで、本発明の目的は、ゲームとしての表現にこれまで以上の広がりを持たせて、興趣性を向上させることができる、ゲームプログラム、装置、システムおよび方法を提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は、その一例として、以下のような態様で提供され得る。以下で示した具体的な記載のいずれもが、本発明の外延を理解するために示した例示的な記載であって、本発明がこの例に限定されることを意図するものではない。すなわち、当業者は、その具体的な記載から、本発明に関する記載および技術常識に基づいて均等な範囲を実施することができることが理解される。
【０００８】
本発明の一態様において、ゲームプログラムが提供される。このゲームプログラムは、撮像装置と画面上において現実空間を視認可能とする表示装置に接続されたゲーム装置のコンピュータを、撮像画像取得手段、検出手段、算出手段、仮想カメラ設定手段、仮想面設定手段、第１仮想オブジェクト制御手段、仮想オブジェクト画像生成手段、表示制御手段、第２仮想オブジェクト制御手段、ゲーム進行手段として機能させる。
【０００９】
ここで、撮像画像取得手段は、上記撮像装置が現実空間を撮像することにより得られた撮像画像を取得する。検出手段は、上記撮像画像取得手段により取得された撮像画像から特定対象物を検出する。算出手段は、上記特定対象物の検出結果に基づき、上記撮像装置と上記特定対象物との相対的位置を算出する。仮想カメラ設定手段は、上記相対的位置に基づき、仮想空間内の仮想カメラを設定する。仮想面設定手段は、上記相対的位置に基づき、上記仮想空間内に仮想面を設定して上記仮想空間の部分空間を規定する。第１仮想オブジェクト制御手段は、上記仮想面により規定される、上記仮想空間の第１部分空間に、上記仮想カメラの位置に基づき、第１仮想オブジェクトを提供する。仮想オブジェクト画像生成手段は、上記第１仮想オブジェクトを含む上記仮想空間を上記仮想カメラで撮影することにより、仮想オブジェクト画像を生成する。表示制御手段は、上記画面上の現実空間に重ね合わせてユーザに視認されるように、上記仮想オブジェクト画像を重ね合わせて、上記表示装置に表示させる。第２仮想オブジェクト制御手段は、ゲームの進行に応じて、上記第１仮想オブジェクトとは別の第２仮想オブジェクトを上記仮想空間内に提供する。そして、ゲーム進行手段は、上記第１仮想オブジェクトまたは第２仮想オブジェクトのいずれかまたはその両方を、上記仮想面に対する位置関係を変化させることに応じて上記ゲームの進行を制御する。上記表示制御手段は、上記仮想面設定手段により規定される仮想面を、上記特定対象物の位置を基準として配置される３次元モデルに基づき表示し、上記３次元モデルは上記撮像画像がその表面にマッピングされたポリゴンで規定される。
【００１０】
一実施形態において、上記ゲーム進行手段は、上記第１仮想オブジェクトと上記第２仮想オブジェクトとの相互関係に関する条件の判定を後続のゲーム処理のために行ってもよい。
【００１１】
他の実施形態において、上記ゲーム進行手段は、上記第１部分空間に存在する上記第１仮想オブジェクトの少なくとも一部が上記仮想面を介して前記仮想カメラから見て前記仮想面より遠位の第２部分空間に移動されたときに、上記第１仮想オブジェクトと上記第２仮想オブジェクトとの相互関係に関する条件の判定を後続のゲーム処理のために行ってもよい。
【００１２】
別の実施形態において、上記相互関係に関する条件は、上記第１仮想オブジェクトと上記第２仮想オブジェクトとの位置関係が所定の条件を満たすことであってもよい。
【００１３】
さらに別の実施形態において、上記相互関係に関する条件は、さらに上記算出手段により得られる相対的位置に基づき規定される上記第１仮想オブジェクトの移動量が一定値に達することであってもよく。または上記相互関係に関する条件は、当該移動量が一定値に達してない場合であっても、上記検出手段が上記撮像画像から上記特定対象物を検出しなかったことであってもよい。
【００１４】
さらに別の実施形態において、上記第１仮想オブジェクトは、上記仮想カメラ側から上記特定対象物側に伸びる仮想オブジェクトとして表現される３次元モデルが与えられてもよい。
【００１６】
別の実施形態において、上記第２仮想オブジェクト制御手段が、上記第１部分空間以外の上記仮想空間に１以上の第２仮想オブジェクトを配置する場合、上記表示制御手段は、上記画面に表示するための上記第２仮想オブジェクトを、上記仮想面を示すためのポリゴン上にマッピングされる上記撮像画像のテクスチャに対して、上記第２仮想オブジェクトの形状を模したテクスチャをブレンドすることで表示してもよい。
【００１７】
さらに別の実施形態において、上記第２仮想オブジェクト制御手段は、上記第２仮想オブジェクトを、上記仮想空間における、上記特定対象物と上記仮想カメラとの間の領域に、他の領域に比べて高い頻度で配置してもよい。
【００１８】
他の実施形態において、上記ゲーム進行手段は、上記第２仮想オブジェクト制御手段が上記第２仮想オブジェクトを上記仮想空間に提供する場合であって、当該第２仮想オブジェクトの少なくともその一部が、第１部分空間以外の空間から上記仮想面を介して上記第１部分空間に移動しそこに位置づけられるときに、上記第１仮想オブジェクトと上記第２仮想オブジェクトとの相互関係に関する条件の判定を行い、当該判定の結果に従い後続のゲーム処理を行ってもよい。
【００１９】
別の実施形態において、上記相互関係に関する条件は、上記第１仮想オブジェクトの少なくとも一部分と、上記第２仮想オブジェクトとの間の衝突判定において当該仮想オブジェクト同士が衝突したと判定されることであってもよい。
【００２０】
また、別の態様において、上述のゲームプログラムは、それを実行する装置として使用されたとしても、１または複数の装置が通信可能に構成されるシステムとして使用されてもよい。また、本発明は、上述のようなプログラム、装置、システムとして実装され得る、方法も含む。
【００２１】
なお、本明細書で使用される場合、「コンピュータ読み取り可能な記憶媒体」との用語は、プログラム、コードおよび／またはデータをコンピュータシステムによって使用するために記憶することが可能な、任意の装置または媒体をいう。コンピュータ読み取り可能な記憶媒体は、コンピュータシステムによって読み取りが可能である限りにおいて、揮発性であっても、不揮発性であってもよい。コンピュータ読み取り可能な記憶媒体としては、例えば、磁気テープ、ハードディスクドライブ（ＨＤＤ）、コンパクトディスク（ＣＤ）、デジタルバーサタイルディスク（ＤＶＤ）、ブルーレイディスク（ＢＤ）、半導体メモリなどが挙げられるが、これらに限られない。
【００２２】
また、本明細書において使用される場合、「システム」（例えば、ゲームシステム、情報処理システム）との用語は、１つの装置で構成されてもよく、また、複数の装置であって、その各々の装置が他の装置のいずれかと通信可能であるものであってもよい。
【発明の効果】
【００２３】
本発明のゲームプログラム等は、ゲームとして表現にこれまでに以上の広がりを持たせて、興趣性を向上を提供し得る。
【図面の簡単な説明】
【００２４】
【図１】開状態におけるゲーム装置１０の正面図
【図２】開状態におけるゲーム装置１０の側面図
【図３】閉状態におけるゲーム装置１０の左側面図、正面図、右側面図および背面図
【図４】図１に示す上側ハウジング２１のＡ−Ａ’線断面図
【図５Ａ】３Ｄ調整スイッチ２５のスライダ２５ａが最下点（第３の位置）に存在する様子を示す図
【図５Ｂ】３Ｄ調整スイッチ２５のスライダ２５ａが最下点よりも上方位置（第１の位置）に存在する様子を示す図
【図５Ｃ】３Ｄ調整スイッチ２５のスライダ２５ａが最上点（第２の位置）に存在する様子を示す図
【図６】ゲーム装置１０の内部構成を示すブロック図
【図７Ａ】外側撮像部２３によってマーカ６０が撮像されているときに上側ＬＣＤ２２の画面に表示される画像の一例
【図７Ｂ】外側撮像部２３によってマーカ６０が撮像されているときに上側ＬＣＤ２２の画面に表示される画像の別例
【図７Ｃ】仮想カメラと、マーカ６０との相対的位置の一例を模式的に示した図
【図７Ｄ】仮想空間に配置される水面オブジェクト６１の一例を示す図
【図７Ｅ】仮想空間における仮想オブジェクト等の例示的な位置関係を示す図
【図７Ｆ】魚影が現れる領域（図中、斜線部）を制限する態様の一例を示す図
【図８】ゲーム装置１０のメインメモリ３２のメモリマップを示す図
【図９Ａ】ゲームプログラム７０に基づいてＣＰＵ３１１によって実行されるゲーム処理の流れの一例を示すフローチャート
【図９Ｂ】ゲームプログラム７０に基づいてＣＰＵ３１１によって実行されるゲーム処理の流れの別例を示すフローチャート
【図１０】左実世界画像および右実世界画像の一例を示す図
【図１１】マーカ認識処理の結果に応じて算出される左仮想カメラ８０Ｌの位置および姿勢を示す図
【図１２】マーカ認識処理の結果に応じて算出される右仮想カメラ８０Ｒの位置および姿勢を示す図
【図１３】左仮想カメラ８０Ｌの位置および姿勢に基づいて決定される右仮想カメラ８０Ｒの位置を示す図
【発明を実施するための形態】
【００２５】
（ゲーム装置の構成例）
以下、本発明の一例示的な実施形態に係るゲーム装置について説明する。図１〜図３は、ゲーム装置１０の外観を示す平面図である。ゲーム装置１０は携帯型のゲーム装置であり、図１〜図３に示すように折り畳み可能に構成されている。図１および図２は、開いた状態（開状態）におけるゲーム装置１０を示し、図３は、閉じた状態（閉状態）におけるゲーム装置１０を示している。図１は、開状態におけるゲーム装置１０の正面図であり、図２は、開状態におけるゲーム装置１０の右側面図である。ゲーム装置１０は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【００２６】
まず、図１〜図３を参照して、ゲーム装置１０の外観構成について説明する。図１〜図３に示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。本実施形態では、各ハウジング１１および２１は共に横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００２７】
図１および図２に示されるように、下側ハウジング１１の上側長辺部分には、下側ハウジング１１の内側面（主面）１１Ｂに対して垂直な方向に突起する突起部１１Ａが設けられる。また、上側ハウジング２１の下側長辺部分には、上側ハウジング２１の下側面から当該下側面に垂直な方向に突起する突起部２１Ａが設けられる。下側ハウジング１１の突起部１１Ａと上側ハウジング２１の突起部２１Ａとが連結されることにより、下側ハウジング１１と上側ハウジング２１とが、折り畳み可能に接続される。
【００２８】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１〜図３に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ（図１、図３）、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００２９】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。下側ＬＣＤ１２は下側ハウジング１１の中央に配置される。下側ＬＣＤ１２は、下側ハウジング１１の内側面（主面）に設けられ、下側ハウジング１１に設けられた開口部から当該下側ＬＣＤ１２の画面が露出される。ゲーム装置１０を使用しない場合には閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。下側ＬＣＤ１２の画素数は、例えば、２５６ｄｏｔ×１９２ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００３０】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１および図３（ｄ）に示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００３１】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが、設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅは、十字状に配置される。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００３２】
アナログスティック１５は、方向を指示するデバイスであり、下側ハウジング１１の内側面の下側ＬＣＤ１２より左側領域の上部領域に設けられる。図１に示すように、十字ボタン１４Ａは下側ＬＣＤ１２より左側領域の下部領域に設けられるので、アナログスティック１５は、十字ボタン１４Ａの上方に設けられる。また、アナログスティック１５、および、十字ボタン１４Ａは、下側ハウジングを把持した左手の親指で操作可能な位置に設計される。また、アナログスティック１５を上部領域に設けたことにより、下側ハウジング１１を把持する左手の親指が自然と位置するところにアナログスティック１５が配され、十字ボタン１４Ａは、左手の親指を少し下にずらした位置に配される。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【００３３】
十字状に配置される、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅの４つのボタンは、下側ハウジング１１を把持する右手の親指が自然と位置するところに配置される。また、これらの４つのボタンと、アナログスティック１５とは、下側ＬＣＤ１２を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの４つのボタンを使用して方向指示入力をすることも可能である。
【００３４】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク（図６参照）が設けられ、当該マイクがゲーム装置１０の外部の音を検出する。
【００３５】
図３（ａ）は閉状態におけるゲーム装置１０の左側面図であり、図３（ｂ）は閉状態におけるゲーム装置１０の正面図であり、図３（ｃ）は閉状態におけるゲーム装置１０の右側面図であり、図３（ｄ）は閉状態におけるゲーム装置１０の背面図である。図３（ｂ）および（ｄ）に示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４Ｇは、下側ハウジング１１の上面の左端部に設けられ、Ｒボタン１４Ｈは、下側ハウジング１１の上面の右端部に設けられる。Ｌボタン１４ＧおよびＲボタン１４Ｈは、例えば、撮像部のシャッターボタン（撮影指示ボタン）として機能することができる。また、図３（ａ）に示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００３６】
図３（ａ）に示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。なお、上記コネクタおよびそのカバー部１１Ｃは、下側ハウジング１１の右側面に設けられてもよい。
【００３７】
また、図３（ｄ）に示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよびその挿入口１１Ｄは、下側ハウジング１１の他の側面（例えば、右側面等）に設けられてもよい。
【００３８】
また、図１および図３（ｃ）に示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１６Ｂは、無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図３（ｃ）参照）。
【００３９】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００４０】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１〜図３に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００４１】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２は、横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。上側ＬＣＤ２２は上側ハウジング２１の中央に配置される。上側ＬＣＤ２２の画面の面積は、下側ＬＣＤ１２の画面の面積よりも大きく設定される。また、上側ＬＣＤ２２の画面は、下側ＬＣＤ１２の画面よりも横長に設定される。すなわち、上側ＬＣＤ２２の画面のアスペクト比における横幅の割合は、下側ＬＣＤ１２の画面のアスペクト比における横幅の割合よりも大きく設定される。
【００４２】
上側ＬＣＤ２２の画面は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、上側ハウジング２１に設けられた開口部から当該上側ＬＣＤ２２の画面が露出される。また、図２に示すように、上側ハウジング２１の内側面は、透明なスクリーンカバー２７によって覆われている。当該スクリーンカバー２７は、上側ＬＣＤ２２の画面を保護するとともに、上側ＬＣＤ２２と上側ハウジング２１の内側面と一体的にさせ、これにより統一感を持たせている。上側ＬＣＤ２２の画素数は、例えば、６４０ｄｏｔ×２００ｄｏｔ（横×縦）であってもよい。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００４３】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが時分割で交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００４４】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（２３ａおよび２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂの撮像方向は、いずれも当該外側面２１Ｄの外向きの法線方向である。また、これらの撮像部はいずれも、上側ＬＣＤ２２の表示面（内側面）の法線方向と１８０度反対の方向に設計される。すなわち、外側撮像部（左）２３ａの撮像方向および外側撮像部（右）２３ｂの撮像方向は、平行である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、２つの外側撮像部（２３ａおよび２３ｂ）のいずれか一方を単独で用いて、外側撮像部２３を非ステレオカメラとして使用することも可能である。また、プログラムによっては、２つの外側撮像部（２３ａおよび２３ｂ）で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像を行うことも可能である。本実施形態では、外側撮像部２３は、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂの２つの撮像部で構成される。外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００４５】
図１の破線および図３（ｂ）の実線で示されるように、外側撮像部２３を構成する外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ＬＣＤ２２の画面の横方向と平行に並べられて配置される。すなわち、２つの撮像部を結んだ直線が上側ＬＣＤ２２の画面の横方向と平行になるように、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂが配置される。図１の破線で示す２３ａおよび２３ｂは、上側ハウジング２１の内側面とは反対側の外側面に存在する外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂをそれぞれ表している。図１に示すように、ユーザが上側ＬＣＤ２２の画面を正面から視認した場合に、外側撮像部（左）２３ａは左側に外側撮像部（右）２３ｂは右側にそれぞれ位置している。外側撮像部２３をステレオカメラとして機能させるプログラムが実行されている場合、外側撮像部（左）２３ａは、ユーザの左目で視認される左目用画像を撮像し、外側撮像部（右）２３ｂは、ユーザの右目で視認される右目用画像を撮像する。外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂの間隔は、人間の両目の間隔程度に設定され、例えば、３０ｍｍ〜７０ｍｍの範囲で設定されてもよい。なお、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂの間隔は、この範囲に限らない。
【００４６】
なお、本実施例においては、外側撮像部（左）２３ａおよび外側撮像部（右）２３はハウジングに固定されており、撮像方向を変更することはできない。
【００４７】
また、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ＬＣＤ２２（上側ハウジング２１）の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ＬＣＤ２２を左右に２等分する線に対して対称の位置にそれぞれ配置される。また、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、上側ハウジング２１の外側面であって、上側ＬＣＤ２２を外側面に投影した場合、投影した上側ＬＣＤ２２の画面の上端よりも上方に配置される。
【００４８】
このように、外側撮像部２３の２つの撮像部（２３ａおよび２３ｂ）が、上側ＬＣＤ２２の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側ＬＣＤ２２を正視した場合に、外側撮像部２３の撮像方向をユーザの視線方向と一致させることができる。また、外側撮像部２３は、上側ＬＣＤ２２の画面の上端より上方の裏側の位置に配置されるため、外側撮像部２３と上側ＬＣＤ２２とが上側ハウジング２１の内部で干渉することがない。したがって、外側撮像部２３を上側ＬＣＤ２２の画面の裏側に配置する場合と比べて、上側ハウジング２１を薄く構成することが可能となる。
【００４９】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００５０】
図１に示すように、内側撮像部２４は、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方に配置され、上側ハウジング２１の左右方向に関して中央の位置（上側ハウジング２１（上側ＬＣＤ２２の画面）を左右に２等分する線の線上）に配置される。具体的には、図１および図３（ｂ）に示されるように、内側撮像部２４は、上側ハウジング２１の内側面であって、外側撮像部２３の左右の撮像部（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）の中間の裏側の位置に配置される。すなわち、上側ハウジング２１の外側面に設けられた外側撮像部２３の左右の撮像部を上側ハウジング２１の内側面に投影した場合、当該投影した左右の撮像部の中間に、内側撮像部２４が設けられる。図３（ｂ）で示される破線２４は、上側ハウジング２１の内側面に存在する内側撮像部２４を表している。
【００５１】
このように、内側撮像部２４は、外側撮像部２３とは反対方向を撮像する。内側撮像部２４は、上側ハウジング２１の内側面であって、外側撮像部（左）２３ａと外側撮像部（右）２３ｂの中間位置の裏側に設けられる。これにより、ユーザが上側ＬＣＤ２２を正視した際、内側撮像部２４でユーザの顔を正面から撮像することができる。また、外側撮像部２３の左右の撮像部と内側撮像部２４とが上側ハウジング２１の内部で干渉することがないため、上側ハウジング２１を薄く構成することが可能となる。
【００５２】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。図１〜図３に示されるように、３Ｄ調整スイッチ２５は、上側ハウジング２１の内側面および右側面の端部に設けられ、ユーザが上側ＬＣＤ２２を正視した場合に、当該３Ｄ調整スイッチ２５を視認できる位置に設けられる。また、３Ｄ調整スイッチ２５の操作部は、内側面および右側面の両方に突出しており、どちらからも視認および操作することができる。なお、３Ｄ調整スイッチ２５以外のスイッチはすべて下側ハウジング１１に設けられる。
【００５３】
図４は、図１に示す上側ハウジング２１のＡ−Ａ’線断面図である。図４に示すように、上側ハウジング２１の内側面の右端部には、凹部２１Ｃが形成され、当該凹部２１Ｃに３Ｄ調整スイッチ２５が設けられる。３Ｄ調整スイッチ２５は、図１および図２に示されるように、上側ハウジング２１の正面および右側面から視認可能に配置される。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。
【００５４】
図５Ａから図５Ｃは、３Ｄ調整スイッチ２５のスライダ２５ａがスライドする様子を示す図である。図５Ａは、３Ｄ調整スイッチ２５のスライダ２５ａが最下点（第３の位置）に存在する様子を示す図である。図５Ｂは、３Ｄ調整スイッチ２５のスライダ２５ａが最下点よりも上方位置（第１の位置）に存在する様子を示す図である。図５Ｃは、３Ｄ調整スイッチ２５のスライダ２５ａが最上点（第２の位置）に存在する様子を示す図である。
【００５５】
図５Ａに示すように、３Ｄ調整スイッチ２５のスライダ２５ａが最下点位置（第３の位置）に存在する場合、上側ＬＣＤ２２は平面表示モードに設定され、上側ＬＣＤ２２の画面には平面画像が表示される（なお、上側ＬＣＤ２２を立体表示モードのままとして、左目用画像と右目用画像を同一の画像とすることにより平面表示してもよい）。一方、図５Ｂに示す位置（最下点より上側の位置（第１の位置））から図５Ｃに示す位置（最上点の位置（第２の位置））までの間にスライダ２５ａが存在する場合、上側ＬＣＤ２２は立体表示モードに設定される。この場合、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。スライダ２５ａが第１の位置から第２の位置の間に存在する場合、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ２５ａの位置に応じて、右目用画像および左目用画像における横方向の位置のずれ量が調整される。３Ｄ調整スイッチ２５のスライダ２５ａは、第３の位置で固定されるように構成されており、第１の位置と第２の位置との間では上下方向に任意の位置にスライド可能に構成されている。例えば、スライダ２５ａは、第３の位置において、３Ｄ調整スイッチ２５を形成する側面から図５Ａに示す横方向に突出した凸部（図示せず）によって固定されて、所定以上の力が上方に加わらないと第３の位置よりも上方にスライドしないように構成されている。第３の位置から第１の位置にスライダ２５ａが存在する場合、立体画像の見え方は調整されないが、これはいわゆるあそびである。他の例においては、あそびをなくして、第３の位置と第１の位置とを同じ位置としてもよい。また、第３の位置を第１の位置と第２の位置の間としてもよい。その場合、スライダを第３の位置から第１の位置の方向に動かした場合と、第２の方向に動かした場合とで、右目用画像および左目用画像における横方向の位置のずれ量の調整する方向が逆になる。
【００５６】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。なお、３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているとき（すなわち、３Ｄ調整スイッチが上記第１の位置から上記第２の位置にあるときに、左目用画像と右目用画像が異なるような画像処理が実行されているとき）に限り、点灯するようにしてもよい。図１に示されるように、３Ｄインジケータ２６は、上側ハウジング２１の内側面に設けられ、上側ＬＣＤ２２の画面近傍に設けられる。このため、ユーザが上側ＬＣＤ２２の画面を正視した場合、ユーザは３Ｄインジケータ２６を視認しやすい。したがって、ユーザは上側ＬＣＤ２２の画面を視認している状態でも、上側ＬＣＤ２２の表示モードを容易に認識することができる。
【００５７】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００５８】
（ゲーム装置１０の内部構成）
次に、図６を参照して、ゲーム装置１０の内部の電気的構成について説明する。図６は、ゲーム装置１０の内部構成を示すブロック図である。図６に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００５９】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。情報処理部３１のＣＰＵ３１１は、ゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されているプログラムを実行することによって、当該プログラムに応じた処理（例えば、撮影処理や、後述するゲーム処理）を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、ＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、ＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２および／または下側ＬＣＤ１２に出力し、上側ＬＣＤ２２および／または下側ＬＣＤ１２に当該画像が表示される。
【００６０】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、および、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００６１】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００６２】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えば、ＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２および／または下側ＬＣＤ１２に当該画像を表示することができる。
【００６３】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えば、ＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００６４】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００６５】
また、情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸または２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。
【００６６】
また、情報処理部３１には、ＲＴＣ３８および電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００６７】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２およびスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００６８】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００６９】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２に立体画像（立体視可能な画像）を表示させる。
【００７０】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００７１】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００７２】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００７３】
また、３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。以上がゲーム装置１０の内部構成の説明である。
【００７４】
（ゲーム装置１０の動作の概要）
以下、本実施形態におけるゲーム装置１０の動作の概要について説明する。本実施形態では、ゲームプログラム７０（図８のメモリマップ参照）に基づいて、外側撮像部２３（外側撮像部（左）２３ａ、外側撮像部（右）２３ｂ）によって現在撮像されている実世界の画像と、３次元の仮想空間に存在する仮想オブジェクトの画像とを合成した合成画像が、上側ＬＣＤ２２の画面に立体視可能に表示される。
【００７５】
図７Ａは、外側撮像部２３によってビジュアルマーカ（以下、マーカ）６０が撮像されているときに上側ＬＣＤ２２に表示される画像の一例を示している。このマーカ６０は、その表面に、矢印記号を含む正方形の模様を有している。情報処理部３１は、外側撮像部２３から取得される画像（実世界画像）に対して画像処理（例えば、パターンマッチングなど）を行うことによって、その実世界画像にマーカが含まれているか否かを判定することができる。また、認識されたマーカ６０の位置・姿勢に基づいて、マーカ座標系（実世界におけるマーカ６０の位置に対応する仮想空間内の所定点を原点とした座標系）が規定される。
【００７６】
次いで、情報処理部３１は、マーカ６０の位置・姿勢またはその位置等から算出された情報を基準にして、複数の仮想オブジェクト（例えば、釣竿オブジェクト６２）が、上側ＬＣＤ２２において、立体視可能に表示する。ここで、実世界画像と本ゲーム処理の過程で生成される仮想世界の画像（仮想世界画像）とを適切に融合し、実環境から受ける知覚情報を拡張・強化するためには、マーカ６０を含む実世界画像に対応する現実空間と、仮想世界画像に対応する仮想空間との適切な重ね合わせが必要である。
【００７７】
まず、情報処理部３１は、現実空間における基準点と、仮想空間における基準点とを、現実空間に置かれたマーカ６０の位置に基づき対応づける。次に、情報処理部３１は、現実空間を撮影した外側撮像部２３と、仮想空間における仮想カメラとが、基準点であるマーカ６０に対して同じ位置・姿勢をとるように設定する。そして、情報処理部３１は、仮想カメラの特性（例えば、レンズ歪み、焦点距離、画角などのパラメータ）を、外側撮像部２３に必要に応じて合致させる。このようにして、マーカ６０を含む実世界画像に対応する現実空間と、仮想世界画像に対応する仮想空間との適切な重ね合わせが行われる。
【００７８】
仮想空間に配置される仮想オブジェクトの一つとして、一定面積を有した水面を模した仮想オブジェクト（以下、水面オブジェクト）６１が、マーカ６０を含む平面（図７Ｃの平面Π１）とほぼ平行にかつ当該平面の上に配置されている。水面オブジェクト６１は、大気と（池、海のような）大量の水との界面を模したモデルであり、この水面オブジェクト６１は、仮想空間内で規定される仮想面として機能する。図７Ａは、実世界画像中のマーカ６０が仮想オブジェクトと融合して表示されている結果（図中、６０ａ）を示している。
【００７９】
この例示的な実施形態において、水面オブジェクト６１を表現するためのモデルは完全な平面ではなく、そのモデルは、表面波（異なる媒体の間の界面に沿って進行する力学的な波）を表現するために波打った曲面を有する３次元モデルである。この曲面は、ゲームの進行に応じて所定の時間間隔で変形してもよい。
【００８０】
水面オブジェクト６１を規定するモデルの表面が、仮想空間内における仮想面として機能し、当該仮想面は、その仮想空間を幾つかの部分空間に分割して規定し得る。例えば、本実施形態においては、水面オブジェクト６１の３次元モデルの表面または水面オブジェクト６１の主面（モデルの凹凸をならし近似した平面。例えば、上述の平面Π１）が、「水上側」の空間と「水中側」の空間とに仮想空間を分離する仮想面として規定され得る。ここで、当該主面を無限遠まで延ばして考えた場合、仮想空間はその主面により二分される。そして、この二分した仮想空間のうち、仮想カメラが存在する空間を、「水上側」の空間とし、他方、「水中側」の空間として規定することが可能である。実際には、その水オブジェクト６１の主面は、一定の面積を有している領域として規定されるので、その領域による制限を前提として、ゲーム処理が行われる。
【００８１】
なお、ここで示した仮想面を規定する態様は、例示的なものであり、本発明における仮想面は、この例に限定されるべきものではない。また、水面オブジェクト６１は、必ずしも、マーカ６０を含む平面と平行またはその上に配置されなくともよく、ゲームの進行上の妥当な表現を確保できる位置に配されればよい。
【００８２】
釣針と釣糸を有する釣竿を模した仮想オブジェクト（以下、釣竿オブジェクト）６２が、「水上側」の空間において、上記水面オブジェクト６１よりも仮想カメラ側に配置される。釣竿オブジェクト６２は、ユーザ（プレイヤ）により操作可能なプレイヤオブジェクトとして機能する。ユーザが、把持するゲーム装置１０本体をマーカ６０に対して移動し、その移動にしたがって仮想カメラの位置が更新され、仮想オブジェクトの表示位置も更新される。釣竿オブジェクト６２は、仮想空間において、仮想カメラの前方に位置づけられるように更新される。これにより、ユーザは、自身が把持するゲーム装置１０が仮想空間中の釣竿オブジェクト６１と一続きになっている感覚を受け得る。この釣竿オブジェクト６２は、釣竿本体を表す部分（以下、釣竿本体）６２ａ、釣糸に対応する部分（以下、釣糸部分）６２ｂ、および釣針に対する部分（以下、釣針部分）６２ｃからなる（図７Ｅを参照）。
【００８３】
マーカ６０に対するゲーム装置１０の移動を含む操作をユーザが行うことにより、釣竿オブジェクト６２の釣針部分６２ｃは、水面オブジェクト６１より下の領域（すなわち、「水中側」の空間）に投げ入れられ得る。これにより、ゲーム装置１０で提供されるゲームが進行する。
【００８４】
この釣りゲームでは、ユーザは、水面オブジェクト６１に投影された魚影（図７Ａでは、符号６３および６４で例示する）をめがけて釣針部分６２ｃを投入する。この魚影は、魚を模したオブジェクト（以下、魚オブジェクト）が「水中側」の空間（仮想空間における一部分空間）に存在することを示唆するための演出用画像の一部である。他方、ユーザが操作可能な釣竿オブジェクト６２は、「水上側」の空間（「水中側」の空間とは別の仮想空間における部分空間）に位置づけられている。
【００８５】
すなわち、ゲーム進行上、ユーザは、マーカ６０に対してゲーム装置１０を移動する操作を行って釣竿オブジェクト６２を操作し、その釣竿オブジェクト６２が位置づけられる空間とは別の部分空間に位置する魚オブジェクトに対して、一定の相互関係を確立させる。
【００８６】
ゲームの進行に従い、一定の引上げ条件が充足されると、ユーザは、上記魚影に対応する魚オブジェクトを釣り上げることができる。この一連のゲーム処理のさらに詳細な説明については後述するが（「第１実施形態に係る処理」）、本実施形態により、実際の釣りの過程で釣り人が感じる感覚を、より忠実に再現することが可能である。
【００８７】
すなわち、ユーザが操作のために把持するゲーム装置本体１０に釣竿オブジェクト６２が実際に接続されて、その釣竿オブジェクト６２から、実世界と空間的に一体となった水面オブジェクト６１へと釣糸部分６２ｂを垂らしているような感覚をユーザに喚起し得る。これによって、ユーザが感じる没入感、実在感が増強され得る。
【００８８】
次に、本発明に係る類似の実施形態について説明する。
【００８９】
図７Ｂは、外側撮像部２３によってマーカ６０が撮像されているときに上側ＬＣＤ２２の画面に表示される画像の別例を示している。図７Ｂは、上側ＬＣＤ２２の画面部分だけを示す。図７Ｂは、図７Ａと同様に、マーカ６０を含む実世界画像に、水面オブジェクト６１などの仮想オブジェクトが重畳的に表示された画像の一例である。ここで配置される仮想オブジェクトは、図７Ａの仮想オブジェクトとは相違する。
【００９０】
この例示的な実施形態において、ユーザが操作することが可能なプレイヤオブジェクトは、釣竿オブジェクト６２’である。釣竿オブジェクト６２’は、図７Ａで示した釣竿オブジェクト６２において、釣針部分６２ｃの代わりに、爆弾部分６２ｄを有する。他方、仮想面（水面に対応）を規定する水面オブジェクト６１との相対位置を変化させながら移動する、ドラゴンを模したオブジェクト（以下、ドラゴンオブジェクト）６５が、ノンプレイヤオブジェクトとして提供されている。
【００９１】
このドラゴンオブジェクト６５は、水面に対応する水面オブジェクト６１の上面よりも上に出た部分６５ａ（「水上側」の空間に位置づけられる部分）と、（図には表示されていないが）当該面よりも下に位置づけられる部分６５ｂ（「水中側」の空間に位置づけられる部分）とを有している。そして、情報処理部３１は、ゲームの進行にそって、ドラゴンオブジェクト６５における部分６５ａと部分６５ｂとの比率を変更する。換言すると、ドラゴンオブジェクト６５は、上側ＬＣＤ２２に表示される水面に沿って移動しつつ、マーカ座標系のｙ軸に沿った移動も行うように制御されている仮想オブジェクトである。
【００９２】
このドラゴンオブジェクト６５が、水面に対応する水面オブジェクト６１の上面よりも上に出た部分６５ａを有する状態のときに、ユーザは、ドラゴンオブジェクト６５に対して攻撃することが可能である。すなわち、このドラゴンオブジェクト６５は、仮想面を介して、「水上」側の空間にでてこないと、ユーザによる攻撃が可能な仮想オブジェクトとはならない。
【００９３】
具体的には、ユーザは、ドラゴンオブジェクト６５が水面に露出している部分を有するときに、釣竿オブジェクト６２’の先端に有する爆弾部分６２ｄを分離させて投下する（爆弾部分６２ｄを分離させる代わりに、釣糸部分６２ｂを伸長させることで爆弾部分６２ｄを投下させてもよい）。そして、情報処理部３１は、その投下された爆弾部分６２ｄと、ドラゴンオブジェクト６５の部分６５ａとが衝突したと判定（一般的な３次元オブジェクト同士の衝突判定による評価を使用すれば十分である）を行い、その結果、衝突の回数などが規定された条件を満たせば、情報処理部３１は、ドラゴンオブジェクト６５が消滅する演出を上側ＬＣＤ２２において表示する。
【００９４】
なお、ユーザがゲーム装置１０本体を移動させることによって、上側ＬＣＤ２２の画面に表示されるマーカ６０の位置および向きが変化し、表示されている仮想オブジェクトの位置および向きも変化する。
【００９５】
この実施形態に係る一連のゲーム処理のさらに詳細な説明については後述する（「第２実施形態に係る処理」）。
【００９６】
以下、図７Ａから図１３までをさらに参照して、ゲーム装置１０においてゲームプログラムに基づいて実行されるゲーム処理のさらなる詳細について説明する。
【００９７】
（メモリマップ）
まず、ゲームプログラムの実行中にメインメモリ３２に記憶される主なデータについて説明する。図８は、ゲーム装置１０のメインメモリ３２のメモリマップを示す図である。図８に示されるように、メインメモリ３２には、ゲームプログラム７０、左実世界画像７１Ｌ、右実世界画像７１Ｒ、左ビュー行列７２Ｌ、右ビュー行列７２Ｒ、仮想オブジェクト情報７３、各種変数７４等が記憶される。
【００９８】
ゲームプログラム７０は、情報処理部３１に上記ゲーム処理を実行させるためのプログラムである。
【００９９】
左実世界画像７１Ｌは、外側撮像部（左）２３ａによって撮像された画像である。
【０１００】
右実世界画像７１Ｒは、外側撮像部（右）２３ｂによって撮像された画像である。
【０１０１】
左ビュー行列７２Ｌは、左仮想カメラ８０Ｌから見た仮想オブジェクトを描画する際に用いられる行列であり、マーカ座標系で表された座標を左仮想カメラ座標系で表された座標へと変換するための座標変換行列である。
【０１０２】
右ビュー行列７２Ｒは、右仮想カメラ８０Ｒから見た仮想オブジェクトを描画する際に用いられる行列であり、マーカ座標系で表された座標を右仮想カメラ座標系で表された座標へと変換するための座標変換行列である。
【０１０３】
仮想オブジェクト情報７３は、仮想オブジェクトに関連する情報であって、仮想オブジェクトの形状や模様を表すモデル情報や、仮想空間における仮想オブジェクトの現在位置などを含む。
【０１０４】
各種変数７４は、ゲームプログラム７０の実行の際に用いられる各種変数である。
【０１０５】
ゲーム装置１０の電源が投入されると、ゲーム装置１０の情報処理部３１（ＣＰＵ３１１）は、図示しないＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３２等の各ユニットが初期化される。次に、データ保存用内部メモリ３５に記憶されたゲームプログラムがメインメモリ３２に読み込まれ、情報処理部３１のＣＰＵ３１１によって当該ゲームプログラムの実行が開始される。
【０１０６】
以下、図９Ａおよび図９Ｂのフローチャートを参照して、ゲームプログラムに基づいて実行される処理の流れを説明する。本図および後続の図では、「ステップ」を、「Ｓ」と略記する。なお、図９Ａおよび図９Ｂのフローチャートは、単なる一例にすぎない。したがって、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、図９Ａおよび図９Ｂのフローチャートのすべてのステップの処理をＣＰＵ３１１が実行するものとして説明するが、図９Ａおよび図９Ｂのフローチャートの一部のステップの処理を、ＣＰＵ３１１以外のプロセッサや専用回路が実行するようにしてもよい。
【０１０７】
（第１実施形態に係る処理：釣りゲーム）
図９Ａは、ゲームプログラム７０に基づいてＣＰＵ３１１によって実行されるゲーム処理の流れの一例を示すフローチャートである。具体的には、図９Ａは、現実世界における釣りの要素をゲームの進行に取り入れたゲームに係る例示的な処理を示している。以下、ゲーム処理の詳細について説明する。
【０１０８】
図９Ａのステップ１０１において、ＣＰＵ３１１は、ゲーム装置１０の外側撮像部２３により取り込まれた画像に基づき認識されたマーカ６０の位置等の情報を基準に、水面オブジェクト６１を設定する。
【０１０９】
本実施形態において、ＣＰＵ３１１は、現実空間の絶対座標（例えば、マーカ座標系における座標）に対して、マーカ６０を基準に仮想空間における座標の対応を取る。ＣＰＵ３１１は、パターンマッチング等により認識されたマーカ６０における所定位置をマーカ座標系の原点として設定する（図７Ｃ）。図７Ｃは、仮想カメラ（本図では、左仮想カメラ８０Ｌを実線で、右仮想カメラ８０Ｒを点線で示す）と、マーカ６０との相対的位置の一例を模式的に示した図である。ここで行われるマーカを認識する処理は、原理的には、後続のステップ１０２のマーカ認識・更新に係る処理の一部と同等の処理である。
【０１１０】
次に、ＣＰＵ３１１は、現実空間を撮影した外側撮像部２３と、仮想空間における仮想カメラとが、基準点であるマーカ６０に対して同じ位置・姿勢をとるように設定する。そして、ＣＰＵ３１１は、仮想カメラの特性（例えば、レンズ歪み、焦点距離、画角などのパラメータ）を、外側撮像部２３に必要に応じて合致させる。このようにして、マーカ６０を含む実世界画像に対応する現実空間と、仮想世界画像に対応する仮想空間との適切な重ね合わせが行われる。ここで行われる仮想カメラの設定は、原理的には、後続のステップ１０３の仮想カメラの位置の更新の処理の一部と同等の処理である。
【０１１１】
次いで、ＣＰＵ３１１は、マーカ６０を含む平面Π１に平行な位置関係となるように水面オブジェクト６１を仮想空間に配置する（図７Ｄ参照）。図７Ｄは、仮想空間に配置される水面オブジェクト６１の一例を示す。ここで、ＣＰＵ３１１は、この水面オブジェクト６１を示す３次元モデル（例えば、ポリゴンによるモデル）の表面に、外側撮像部２３で撮影された画像をマッピングする。また、ＣＰＵ３１１は、マーカ６０を含む実世界を撮像した画像を、水面オブジェクト６１の３次元モデルの表現にマッピングする。
【０１１２】
このように、ＣＰＵ３１１は、仮想空間における仮想カメラと、外側撮像部２３（実カメラ）とをマーカ６０を基準に重ね合わせた位置関係とした上で、上述の撮像された画像を水面オブジェクト６１を示す３次元モデル（ポリゴン）にマッピングする。これによって、あたかも実世界に水面が浮き出たようにユーザからは見える重畳的画像の合成が可能となる。ちなみに、撮像画像は、マッピングされることによって水面オブジェクト６１の３次元モデルの形状に従い、一部は変形されて見える（例えば、マーカ６０は、図７Ｄにおける、６０ａにより示される態様となる）。
【０１１３】
ステップ１０２では、ＣＰＵ３１１は、外側撮像部２３により得られた画像に基づいて、マーカ６０の認識処理を行い、マーカ座標系の座標を更新する。
【０１１４】
ステップ１０３では、ＣＰＵ３１１は、ステップ１０２において算出された更新座標に基づき、仮想カメラの位置・姿勢を更新する。後述するが、仮想カメラの位置・姿勢の更新は、ＣＰＵ３１１がビュー行列（実世界画像におけるマーカの位置および姿勢に基づいて計算される仮想カメラの位置および姿勢を反映した行列）を算出することにより行われる。また、ステップ１０１と同様に、ＣＰＵ３１１は、仮想カメラの特性（例えば、レンズ歪み、焦点距離、画角などのパラメータ）を、外側撮像部２３に必要に応じて合致させ得る。
【０１１５】
これ以降、ステップ１０１からステップ１０３までの一連の処理の詳細を以下に説明する。まず、ステップ１０１およびステップ１０２で行われるマーカ認識処理について説明する。なお、ここで説明するマーカ認識処理は、ゲーム装置１０が立体視可能な画像をユーザに提供する態様を前提として説明している。立体視を行うことを必要としない場合、当業者は、以下の記載から立体視を行わない場合におけるマーカ認識処理についても具体的に理解し得る。
【０１１６】
前述のように、上側ハウジング２１において、外側撮像部（左）２３ａと外側撮像部（右）２３ｂとの間には、一定の間隔（例えば３．５ｃｍ）が存在する。したがって、外側撮像部（左）２３ａと外側撮像部（右）２３ｂによって同時にマーカ６０を撮像した場合、図１０に示すように、外側撮像部（左）２３ａによって撮像された左実世界画像におけるマーカ６０の位置および姿勢と、外側撮像部（右）２３ｂによって撮像された右実世界画像におけるマーカ６０の位置および姿勢との間には、視差によるずれが生じる。ＣＰＵ３１１は、左実世界画像および右実世界画像の少なくとも一方に対してマーカ認識処理を行う。
【０１１７】
例えば、左実世界画像に対してマーカ認識処理を行う場合には、ＣＰＵ３１１は、パターンマッチング手法等によって左実世界画像にマーカ６０が含まれているか否かを判断し、左実世界画像にマーカ６０が含まれている場合には、左実世界画像におけるマーカ６０の位置および姿勢に基づいて、左ビュー行列７２Ｌを算出する。なお、左ビュー行列７２Ｌは、左実世界画像におけるマーカ６０の位置および姿勢に基づいて計算される左仮想カメラの位置および姿勢を反映した行列である。
【０１１８】
より正確には、図１１に示すように、左ビュー行列７２Ｌは、仮想空間におけるマーカ座標系（実世界におけるマーカ６０の位置に対応する仮想空間内の所定点を原点とした座標系）で表された座標を、左実世界画像におけるマーカ６０の位置および姿勢に基づいて計算された左仮想カメラ８０Ｌ（実世界の外側撮像部（左）２３ａに対応する仮想空間内の仮想カメラ）の位置および姿勢を基準とした左仮想カメラ座標系で表される座標へと変換するための座標変換行列である。
【０１１９】
さらに、右実世界画像に対してマーカ認識処理を行う場合には、ＣＰＵ３１１は、パターンマッチング手法等によって右実世界画像にマーカ６０が含まれているか否かを判断し、右実世界画像にマーカ６０が含まれている場合には、右実世界画像におけるマーカ６０の位置および姿勢に基づいて、右ビュー行列７２Ｒを算出する。なお、右ビュー行列７２Ｒは、右実世界画像におけるマーカ６０の位置および姿勢に基づいて計算される右仮想カメラの位置および姿勢を反映した行列である。
【０１２０】
より正確には、図１２に示すように、右ビュー行列７２Ｒは、仮想空間におけるマーカ座標系（実世界におけるマーカ６０の位置に対応する仮想空間内の所定点を原点とした座標系）で表された座標を、右実世界画像におけるマーカ６０の位置および姿勢に基づいて計算された右仮想カメラ８０Ｒ（実世界の外側撮像部（右）２３ｂに対応する仮想空間内の仮想カメラ）の位置および姿勢を基準とした右仮想カメラ座標系で表される座標へと変換するための座標変換行列である。
【０１２１】
なお、マーカ認識精度に誤差が全く無く、かつゲーム装置１０に対する外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂの取付け精度に誤差が全くないと仮定すると、右実世界画像のマーカ認識結果から計算される右仮想カメラ８０Ｒの位置は、左実世界画像のマーカ認識結果から計算される左仮想カメラ８０Ｌの位置を、左仮想カメラ座標系のｘ軸方向に沿って一定距離だけずらした位置となり、右実世界画像のマーカ認識結果から計算される右仮想カメラ８０Ｒの姿勢と左実世界画像のマーカ認識結果から計算される左仮想カメラ８０Ｌの姿勢は同じとなる（すなわち、左仮想カメラ座標系のｘ軸，ｙ軸，ｚ軸が、右仮想カメラ座標系のｘ軸，ｙ軸，ｚ軸とそれぞれ平行となる）。
【０１２２】
しかしながら実際には、マーカ認識精度にも、ゲーム装置１０に対する外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂの取付け精度にも誤差があるため、左実世界画像のマーカ認識結果から計算される左仮想カメラ８０Ｌの位置および姿勢と、右実世界画像のマーカ認識結果から計算される右仮想カメラ８０Ｒの位置および姿勢は、理想的な関係にはならない（例えば、左仮想カメラ８０Ｌと右仮想カメラ８０Ｒが近すぎたり、離れすぎたり、左仮想カメラ８０Ｌの姿勢と右仮想カメラ８０Ｒの姿勢が異なったりする）。よって、このようにして計算された左仮想カメラ８０Ｌおよび右仮想カメラ８０Ｒの位置および姿勢をそのまま用いて仮想オブジェクトを上側ＬＣＤ２２に立体表示する場合には、仮想オブジェクトが正常に立体視できないことがあり得る。そこで本実施形態では、一例として、図１３に示すように、左実世界画像のマーカ認識結果から計算される左仮想カメラ８０Ｌの位置および姿勢に基づいて、右仮想カメラ８０Ｒの位置および姿勢を決定している。
【０１２３】
ステップ１０４において、ＣＰＵ３１１は、釣竿オブジェクト６２を仮想空間の所定位置に配置する。この釣竿オブジェクト６２は、釣竿本体６２ａ、釣糸部分６２ｂ、および釣針部分６２ｃからなる。そして、釣竿オブジェクト６２の釣竿本体６２ａは、例えば、図７Ａに示されるように、ゲーム装置１０を操作するユーザから見て、水面オブジェクト６１よりも手前に配置される。ＣＰＵ３１１が、上側ＬＣＤ２２において、釣竿オブジェクト６２を仮想カメラ（すなわち、ユーザの視点側）からみて近位に位置づけることで、例えば、釣竿を持って前方に広がる水辺に対して釣針を投げいれる感覚を想起することが可能である。この釣竿オブジェクト６２は、ゲーム処理上、ユーザが操作することが可能なユーザオブジェクトである。ユーザは、ゲーム装置１０を操作することで、仮想空間中で釣糸をのばし、釣針部分６２ｃを水面オブジェクト６１で示される領域に対して投げいれ、仮想的な水中空間に釣針部分６２ｃを配置することができる。したがって、本ステップにおいて、ＣＰＵ３１１は、ゲーム装置１０に対するユーザの操作に応じた位置に、釣針部分６２ｃの位置を更新する。
【０１２４】
ステップ１０５において、ＣＰＵ３１１は、投げ入れられた釣竿オブジェクト６２の釣針部分６２ｃに、魚オブジェクトが釣針にかかっている状態（「魚（オブジェクト）が釣針部分にかかっている状態」）である否かを判定する。この「魚オブジェクトが針部分にかかっている状態」は、実環境で行われる釣りにおいて魚が釣針をくわえ込んだ状態であって、その魚が釣り上げられる（引き上げられる）前の状態を模したゲーム処理上定義された内部状態である。初期状態またはゲーム処理進行上、釣針部分６２ｃに魚オブジェクトはかかっていない場合（ステップ１０５  Ｎｏ）は、ＣＰＵ３１１は、後続のステップ１０６の処理を行う。他方、後続のステップ１０９でＣＰＵ３１１が「釣針部分にかかっている状態」であるとして設定した後に、ステップ１０５の判定が行われると（ステップ１０５  Ｙｅｓ）、ＣＰＵ３１１は、その後、ステップ１１２の処理を行う。
【０１２５】
ステップ１０６において、ＣＰＵ３１１は、釣竿オブジェクト６２の釣針部分６２ｃが、マーカ６０の位置情報等をもとに規定された水面オブジェクト６１よりも下に位置するか否かを判定する。配置された仮想オブジェクトのそれぞれについて、所定の座標系（例えば、マーカ座標系）における座標（例えば、各オブジェクトのｙ座標）を取得し、それらを比較することにより、当該判定を行う。ここで、釣針部分６２ｃが、水面（すなわち、水面オブジェクト６１に基づいて規定される仮想面）よりも下（すなわち、「水中側」の空間）に位置すると判定されたとき、ＣＰＵ３１１は、ステップ１０７の処理に移行する。
【０１２６】
ステップ１０７において、ＣＰＵ３１１は、魚オブジェクト（例えば、魚影６３または６４に対応する仮想オブジェクト）が釣針部分６２ｃをつついている状態にあるか否かを判定する。ここで、「魚オブジェクトが釣針部分をつついている」状態とは、後続の処理で魚の引上げ（釣り上げ）条件の判定処理に入ることが可能な状態であって、実際の釣りで標的となり得る魚が仕掛けられた釣針に食いつこうとする過程をゲーム処理において表現している内部状態である。
【０１２７】
具体的には、水面下に投じられた釣針部分６２ｃと、引上げ候補である魚オブジェクトとの距離が所定の範囲に収まったときに、ＣＰＵ３１１は、引上げ条件の判定を行うことのできる状態（すなわち、魚オブジェクトが釣針部分をつついている状態）にあると判定（ステップ１０７）する。そして、その引上げ候補である魚オブジェクトと釣針部分６２ｃとの距離が、所定の範囲に収まっている間、ＣＰＵ３１１は、上側ＬＣＤ２２に表示される釣針部分６２ｃを、その魚オブジェクトに対応する魚影が一定間隔で釣針部分６２ｃをつついている様子に対応する画像を（ステップ１１５における描画処理で）表示する。
【０１２８】
なお、ＣＰＵ３１１は、この処理の過程で、「魚オブジェクトが釣針部分をつついている」状態の解除条件を設定し得る。すなわち、仮に、ある時点で、釣針部分６２ｃと、魚オブジェクトとの距離が所定の範囲に収まっていたとしても、所定時間が経過する前に、後述する「引上げ条件」が成立しない場合、ＣＰＵ３１１は、ゲーム処理上の内部状態を、この「魚オブジェクトが釣針部分をつついている状態」から強制的に解除し得る。この強制的な解除が成立すると、このステップ１０７において、「魚オブジェクトが釣針部分をつついている状態」とはみなされず（ステップ１０７、Ｎｏ）、後続のステップ１１５の描画処理では、ユーザに対しては魚が逃げる態様の演出が行われる。したがって、いったん、「魚オブジェクトが釣針部分をつついている」状態がゲーム処理において成立しても、所定時間内に、引上げ条件を成立することができなければ、ユーザは魚を釣り上げることはできない。
【０１２９】
なお、「魚オブジェクトが釣針部分をつついている」状態の判定においては、釣針部分６２ｃと、引上げ候補である魚オブジェクトとの距離を計算する。ここで、このような距離計算の例示的な方法について説明をするが、これに関連して、まず、魚影を水面オブジェクト６１上に表示する方法について説明する。
【０１３０】
前述のように、ＣＰＵ３１１は、図７Ａに示されるように、魚影６３および６４を水面オブジェクト６１に表示する。水面オブジェクト６１の仮想空間での形状は、３次元モデル（ポリゴン）により規定される。そして、本実施形態において、ＣＰＵ３１１は、外側撮像部２３により撮影された画像を当該ポリゴンにマッピングすることで、実世界においてあたかも水面が生じたような重畳画像を生成する。ここで、ＣＰＵ３１１は、魚影６３および６４を、その魚影を示すためのテクスチャと、上述のマッピングされる実世界の画像とをブレンドさせて、ポリゴン上で表示することにより表現することができる。
【０１３１】
ユーザがゲーム装置１０の移動操作をすることによって仮想空間内で投入された釣針部分６２ｃが、水面オブジェクト６１よりもマーカ座標系におけるｙ軸負方向に位置づけられるとき（すなわち、ステップ１０６において、Ｙｅｓの場合）、ＣＰＵ３１１は、この釣針部分６２ｃと、ＣＰＵ３１１がランダムに生成した魚オブジェクトとの距離または、これと同等と見なされる距離を計算する。
【０１３２】
ＣＰＵ３１１がこの距離計算を行う際、ＣＰＵ３１１は、魚オブジェクトを配置する位置および釣針部分６２ｃの位置を取得すればよく、必ずしも、この段階において、そこに配置する魚オブジェクトの３次元形状を示すモデルを割り当てる必要はない。
【０１３３】
具体的には、本実施形態において、ＣＰＵ３１１が後述のステップ１１２の処理を行うまでは、ＣＰＵ３１１は、標的である魚オブジェクトに、仮想空間内の位置を示す代表点を与え、その魚オブジェクトに対応する３次元モデルを用いた描画処理をおこなっていない。ここで、図７Ｅを参照する。図７Ｅは、図７Ａで例示された仮想空間における仮想オブジェクトおよび仮想カメラの位置関係を、模式的に示すための図である。図７Ｅに示された例でいえば、ＣＰＵ３１１は、平面Π２（仮想面Π１と平行な仮想面であって、釣針部分６２ｃの仮想空間上の点Ｐを含む平面）上に、任意の点を、魚オブジェクトの位置としてランダムに割当てることが可能である。そして、本例では、ＣＰＵ３１１は、点６３ａおよび点６４ａを、魚オブジェクトが配置される位置として割り当てる。この位置の割当て手法は、例えば、所定の分布を有する乱数の集合を用いて割り当てることが可能である。
【０１３４】
そして、点６３ａおよび点６４ａに対応させるように、水面オブジェクト６１の表面にマッピングされる撮像画像に対して、所定のテクスチャ（例えば、黒などの単一の純色（例えば、黒色）を有するテクスチャ、または、平面Π１と平面Π２との距離に応じて一定の色の濃淡を割り振ったテクスチャ）をブレンド（例えば、アルファブレンディング）することで、ＣＰＵ３１１は、魚影を表現し、ユーザに対して水面オブジェクト６１により規定される水面の下に魚が存在するような表現を提供することができる。
【０１３５】
図７Ｅで示される例の場合、「魚オブジェクトが釣針部分をつついている」状態であるか否かの判断は、釣針部分６２ｃの平面Π２上の点Ｐの座標と、点６３ａまたは点６４ａとの間の距離が、所定の範囲に収まった場合に、当該状態にあると判断することにより実行される。なお、本例では、平面Π２を想定した手法を用いたが、ＣＰＵ３１１が、平面Π２を用いずに、ステップ１０７の処理を行ってもよい。すなわち、ＣＰＵ３１１は、仮想空間に配された水面オブジェクト６１の表面（または近似的に平面Π１）上に直接、魚影の位置をランダムに規定し、次いで、釣糸部分６２ｂと水面オブジェクト６１の表面との交点（Π２を用いる場合の点Ｐに対応）と、水面オブジェクト６１上に配された魚影の位置を示す点との間の距離を、計算してもよい。
【０１３６】
ところで、ゲーム装置１０で提供されるゲームの進行に伴い、ユーザがゲーム装置１０を大きく動かしすぎて、マーカ６０が外側撮像部２３の撮影可能範囲から逸脱するといった状況が生じ得る。ＣＰＵ３１１は、上側ＬＣＤに提示する魚影の位置を一定領域に制限することにより、外側撮像部２３の位置・姿勢を、マーカ認識処理を行う上で都合のよい状態に誘導することができる。
【０１３７】
具体的には、ＣＰＵ３１１は、仮想空間におけるマーカ６０と仮想カメラとの間の領域に魚影が生じるように、またはその傾向が高くなるように、魚オブジェクトを配置し得る。例えば、図７Ｆは、魚影が現れる領域（図中、斜線部）を制限する態様の一例を示した模式図である。点線で示した位置は、マーカ６０の位置である。また、図７Ｆにおける矢印記号示す方向は、仮想カメラ（外側撮像部２３）の方向を示している。ＣＰＵ３１１が、ランダムに魚オブジェクトの配置をする際に、斜線領域に魚影が高い頻度で出現するように、当該配置を制御すればよい。
【０１３８】
図９Ａに戻り、ステップ１０７よりも後続の処理について説明する。「魚オブジェクトが釣針部分をつついている」状態が成立すると（ステップ１０７、Ｙｅｓ）、ＣＰＵ３１１は、魚オブジェクトが引き上げ可能か否かを判定する処理（ステップ１０８）を行う。
【０１３９】
ステップ１０８において、ＣＰＵ３１１は、次のような条件の判定を行い得る。引上げ条件は、（Ａ）外側撮像部２３とマーカ６０との相対的位置に基づき規定される釣竿オブジェクト６２の仮想空間内での移動量（ゲーム装置１０がマーカ６０に対して移動した量を反映する量）が一定値に達すること、または（Ｂ）この移動量が一定値に達してない場合であっても、外側撮像部２３による撮像画像に対するマーカ認識において、マーカ６０が検出されなかったことである。このいずれか条件を充足したときに（ステップ１０８において、Ｙｅｓ）、ＣＰＵ３１１は、ユーザが魚を釣り上げた状態であると判定し、後続のステップ１０９に進む。他方、引上げ状態が成立しない場合（ステップ１０８において、Ｎｏ）、ＣＰＵ３１１は、ユーザのゲーム装置１０への入力操作等に基づいてオブジェクトの位置・姿勢の更新を行う処理（ステップ１１０）を行う。
【０１４０】
引上げ条件（Ａ）についてより詳細に説明する。ゲームの進行（例えば、魚が釣針をつついている状態にある）にあわせて、ユーザは、把持したゲーム装置１０（図７Ａを参照）をマーカ６０に対する相対的な位置が変化するように、（例えば、引上げようとする動作によって）移動させる。ＣＰＵ３１１は、ゲーム処理上の所定の間隔（例えば、１フレーム）の間に、このユーザの操作により釣針部分６２ｃが仮想空間内で移動した量（例えば、マーカ座標系におけるｙ軸正方向にそって移動した距離）を、引上げ条件の判定対象である移動量として使用することが可能である。
【０１４１】
つまり、上記移動量は、ユーザがゲーム装置１０に対して操作を行った結果として得られる。ユーザが所定のアクション（例えば、魚を釣り上げようとしてゲーム装置１０）を釣竿の一部とみなして上方に引き上げるアクション）により、ゲーム装置１０自体をマーカ６０に対して移動した場合、ＣＰＵ３１１は、マーカ認識・座標更新（ステップ１０２）、仮想カメラの位置の更新（ステップ１０３）を介して得られる位置情報に基づき、実世界におけるユーザが行ったアクションを規定する物理量を、仮想世界における変化量（例えば、仮想オブジェクトの並進移動距離など）として割り当てることが可能である。例えば、釣針部分６２ｃが、仮想世界において、図７Ｅに示すような位置に釣針部分６２ｃが配置されている場合であって、その後、いずれかの魚オブジェクトが釣針部分６２ｃにかかった状態になったとき、ＣＰＵ３１１は、ユーザの操作により釣針部分６２ｃがｙ軸正方向にそって移動した際の平面Π２からの距離（Δｙ）を、引上げ条件の判定対象である移動量として使用することが可能である。
【０１４２】
他方、引上げ条件（Ｂ）は、この移動量が所定値に達してない場合であっても、外側撮像部２３による撮像画像に対するマーカ認識において、マーカ６０が検出されない場合である。この条件は、ゲーム装置１０を把持するユーザによるアクションの結果、当該移動量が上記所定値を超えているにもかかわらず、アクションが大きかったためにマーカ６０の認識がうまくいかなくなるような場合を回避するための条件である。
【０１４３】
次に、ステップ１０９では、ＣＰＵ３１１は、ゲーム進行状態の内部状態を、魚が針にかかっている状態として設定する。この設定を保持した状態で、ゲーム終了のための入力が行われるなどの終了条件（後続のステップ１１１を参照）とならずに、ゲーム処理が継続すれば、ＣＰＵ３１１は、前述したステップ１０５において「魚（オブジェクト）が針（部分）にかかっている状態」と判断し（ステップ１０５、Ｙｅｓ）、ステップ１１２に進む。
【０１４４】
なお、ステップ１１１において、ＣＰＵ３１１は、終了条件を満たしているか否かを判定する。この終了条件は、ゲーム処理の状況に応じて、ゲーム装置１０に対する入力操作に割り振ってあるアクションを、ユーザがとったときに満たされるものとして設定され得る。例えば、このアクションは、ユーザが、ゲーム装置１０における所定のボタン（例えば、スタートボタン１４Ｌ、または電源ボタン１４Ｆなど）を押圧操作し、ゲーム処理の終了操作を選択し得るメニュー表示に対して、終了とすることを選択することが挙げられるが、これに限定されない。
【０１４５】
ステップ１１２において、ＣＰＵ３１１は、針の先に魚オブジェクトを配置する。本実施形態においては、例えば、図７Ｅの位置６３ａに想定する魚オブジェクトに対して、本ステップよりも上流の処理では、具体的な３次元モデル（ポリゴン）を与えた処理を行わなかった。ステップ１１２では、ユーザが、実際の釣り人が釣りの過程で魚を水上に引き上げる際に感じる魚の存在感を得るために、魚オブジェクトの引上げに際して、３次元オブジェクトを釣針部分６２ｃの先に配置する。その後、ＣＰＵ３１１は、次のステップ１１３に進む。
【０１４６】
ステップ１１３において、ＣＰＵ３１１は、魚オブジェクトを水面より上げた状態か否かを判定する。このステップでは、ＣＰＵ３１１は、ステップ１０８で行った移動量の算出・評価処理と同様の処理を行う。例えば、ＣＰＵ３１１は、本ステップの直近の状態でゲーム装置１０の移動量（例えば、ｙ座標系に沿った移動量）が所定値以上であれば、「魚オブジェクトを水面より上げた」として判断し（ステップ１１３、Ｙｅｓ）、その後のステップ１１４の処理を行うことができる。他方、ＣＰＵ３１１が、ステップ１１３において「魚オブジェクトを水面より上げてない」と判断した場合は、後続のステップ１１０の処理を行う。
【０１４７】
ステップ１１４において、ＣＰＵ３１１は、魚オブジェクトを獲得したことを示す演出を行う。ＣＰＵ３１１は、ステップ１１２で配置された３次元モデルを用いた演出を行う。
【０１４８】
ステップ１１５において、ＣＰＵ３１１は、描画処理を行う。ＣＰＵ３１１は、ゲーム処理上の内部状態に応じて、ゲーム装置１０の記憶領域に記憶された手順に従い、ユーザに対してゲーム用の画像を表示する。
（第１の実施形態によって奏される効果の一例）
【０１４９】
本実施形態のこのような構成により、あたかも魚や釣竿が現実空間上に存在し、ゲーム装置１０の本体に釣竿が接続されてそこから糸を水面に垂らしているような感覚をユーザに喚起することができる。そのため、ゲーム装置１０を操作しながら、釣りゲームを行う際に、没入感、実在感などいった感覚を、従来のゲーム装置に比べて増強することができる。
【０１５０】
より具体的には、本実施形態のゲーム装置１０において、実世界画像と仮想世界画像とを融合して重畳的な画像を生成するためのビジュアルマーカ（マーカ６０）を基準に設定される仮想面（水面オブジェクト６１）に対して、プレイヤオブジェクト（釣竿オブジェクト６２）が仮想カメラ側の仮想空間（水上側の空間）に配置され、他方で、ノンプレイヤオブジェクト（魚オブジェクト）が、水上側の空間と隣り合い、それと仮想面によって隔てられるように規定される「水中側の空間」に配置される。このような構成のもと、ユーザは、ゲーム装置１０に一体となった表示装置（上側ＬＣＤ２２）に表示される上述の重畳的な画像を視覚で捉えながら、ゲーム装置１０本体を把持し、マーカ６０を撮像する外側撮像部２３その本体全体をマーカ６０に対して相対的に移動操作することで、ゲームに参加する。そのため、没入感、実在感などいった感覚が従来より増強された態様でそのユーザに喚起され得る。
【０１５１】
また、ゲーム装置１０は、そのゲーム処理において、プレイヤオブジェクトまたはノンプレイヤオブジェクトのいずれかまたはその両方を、仮想面に対する位置関係を変化させる。これによって、さらに、没入感、実在感などいった感覚が増強された態様でそのユーザに喚起され得る。
【０１５２】
また、上述のように、魚影を、水面オブジェクト６１にマッピングされた撮像画像（不透明な画像）に所定のテクスチャをブレンドすることで表現する手法によって、水面下に想定される一群の魚オブジェクトを逐次的に３次元モデル（ポリゴン）を用いて描画することを回避し得る。これによって、ゲーム処理にかかる負荷を大きく低減しつつも、釣りを行う過程で釣り人が水辺で得る感覚を喚起することができる。
【０１５３】
ところで、従来、透過処理を用いて水面下に配置された３次元モデルが与えられた魚オブジェクトの魚影の表現しようとする場合であって、特に、実世界の画像と合わせて重畳的な画像を生成しようとするとき、水深の大きな領域（例えば、海底、湖底に対応する領域や、入射する可視光が行き届かない領域など）のよりリアルな描写と、仮想オブジェクトを実世界で撮像した画像にシームレスな態様で合成することとを両立することに困難が生じていた。しかし、上述の例示的な実施形態で使用する手法を用いれば、水深の大きな領域の描画に関する問題により拘束されずに、透過処理がなされない不透明な実世界画像を用いても、表面波を有する水面を、必要に応じて魚影を描画しつつ表現することが容易なものとなる。
【０１５４】
（第２実施形態に係る処理：ドラゴンシューティングゲーム）
図９Ｂは、ゲームプログラム７０に基づいてＣＰＵ３１１によって実行されるゲーム処理の流れの別例を示すフローチャートである。なお、図７Ｂは、本実施形態に係るゲーム処理の一過程において示される、仮想オブジェクトと実世界を撮像した画像との重畳的な画像の一例である。
【０１５５】
ステップ２０１からステップ２０３までの処理は、図９Ａにおけるステップ１０１からステップ１０３までの処理と同様の処理である。本実施形態においても、第１実施形態と同様に、水面オブジェクト６１がマーカ６０の位置を基準にして設定されている。
【０１５６】
ステップ２０４において、ＣＰＵ３１１は、釣竿オブジェクト６２’を仮想空間の所定位置に配置する。具体的には、この釣竿オブジェクト６２’は、釣竿オブジェクト６２と構成がほぼ共通だが、釣針部分６２ｃの代わりに、爆弾部分６２ｄを有している（図７Ｂを参照）。ゲーム処理の過程で、この爆弾部分６２ｄは、ユーザの操作に応じて、仮想空間における任意の位置で、釣竿オブジェクト６２’の残りの部分から分離され得る。
【０１５７】
ステップ２０５において、ＣＰＵ３１１は、ドラゴンオブジェクト６５と爆弾部分６２ｄとが衝突した回数が、規定回数（例えば、１回、２回または３回）以上であるか否かを判定する。この衝突回数は、後述のステップ２０９において、ドラゴンオブジェクト６５と爆弾部分６２ｄとの衝突判定の結果をうけて設定される情報に基づいて判定される。ここで、衝突回数が規定回数以上であれば（ステップ２０５においてＹｅｓ）、ＣＰＵ３１１は、ステップ２１２に規定されるドラゴン消滅演出の処理を行う。他方、衝突回数が規定回数未満であれば（ステップ２０５においてＮｏ）、ＣＰＵ３１１は、ステップ２０６の処理を進める。
【０１５８】
ステップ２０６において、ＣＰＵ３１１は、ドラゴンオブジェクト６５が水面に対応する水面オブジェクト６１の上面よりも上に出た部分６５ａを有する状態である否かを判定する。既述のように、ドラゴンオブジェクト６５は、上側ＬＣＤ２２に表示される水面に沿って移動しつつ、マーカ座標系のｙ軸に沿った移動も行うように制御されているオブジェクトである。ゲーム処理上、ドラゴンオブジェクト６５が、水面に対応する水面オブジェクト６１の上面よりも上に出た部分６５ａ（図７Ｂ参照）を有する状態のときに、ユーザは、爆弾部分６２ｄを用いて、ドラゴンオブジェクト６５に対して攻撃することが可能である。
【０１５９】
ステップ２０７において、ＣＰＵ３１１は、ユーザがマーカ６０に対するゲーム装置１０の移動操作を介して上述の爆弾部分６２ｄを釣竿オブジェクト６２’から分離させて水面方向に投下させたか否かを判定する。爆弾部分６２ｄが分離されると（ステップ２０８において、Ｙｅｓ）であれば、ＣＰＵ３１１は、ステップ２０８に規定される処理を行う。他方、爆弾部分６２ｄが分離されていなければ（ステップ２０７において、Ｎｏ）、ドラゴンオブジェクト６５と爆弾部分６２ｄとの相互関係を考慮する必要がないので、ＣＰＵ３１１は、ステップ２１０に規定される、仮想オブジェクトの位置・姿勢の更新に係る処理を進める。
【０１６０】
ステップ２０８において、ＣＰＵ３１１は、仮想オブジェクト同士、すなわち、ドラゴンオブジェクト６５と爆弾部分６２ｄとの衝突判定を行う。衝突したとして判定された場合（ステップ２０８において、Ｙｅｓ）、ＣＰＵ３１１は、ステップ２０９に規定される処理を行う。他方、衝突していない判定された場合（ステップ２０８において、Ｎｏ）、ＣＰＵ３１１は、ステップ２１０に規定される、仮想オブジェクトの位置・姿勢の更新に係る処理を進める。
【０１６１】
ステップ２０９において、ＣＰＵ３１１は、ゲーム進行状態の内部状態を、衝突状態として設定する。この衝突状態は、衝突回数などの情報を含み、後続のゲーム処理では、当該情報に基づいた演出等が行われる。
【０１６２】
ステップ２１０において、ＣＰＵ３１１は、前述のように、ユーザによるゲーム装置１０の操作を反映して、仮想オブジェクトの各々の位置および姿勢を更新する。
【０１６３】
ステップ２１１において、ＣＰＵ３１１は、終了条件を満たしているか否かを判定する。これは、図９Ａにおいて示されたフローのステップ１１１と同様の処理である。
【０１６４】
ステップ２１２では、ステップ２０５において規定回数以上の衝突回数が生じたと判断いされた結果、ＣＰＵ３１１は、ゲーム進行上、ドラゴンを消滅させ、当該ゲームにおける課題が攻略されたことを示す演出を行う。
【０１６５】
ステップ２１３において、ＣＰＵ３１１は、ゲーム処理上の内部状態、判定結果に対応して、仮想オブジェクトを含む画像と実世界を撮像した画像との重畳的な画像の描画を連続的に行う描画処理を行う。
【０１６６】
（第２実施形態によって奏される効果の一例）
ゲーム装置１０は、そのゲーム処理において、プレイヤオブジェクトまたはノンプレイヤオブジェクトのいずれかまたはその両方を、仮想面に対する位置関係を変化させる。これによって、さらに、没入感、実在感などいった感覚が増強された態様でそのユーザに喚起され得る。
【０１６７】
（変形例）
また、上記実施形態では、実世界画像に含まれるマーカ６０の位置および姿勢を認識して、その認識結果に応じて実世界画像に仮想オブジェクトを合成しているが、他の実施形態では、マーカ６０に限らず、任意の認識対象の位置および／または姿勢を認識して、その認識結果に応じて実世界画像に仮想オブジェクトを合成してもよい。認識対象の一例として、人物の顔が挙げられる。
【０１６８】
また、上記実施形態では、外側撮像部２３によってリアルタイムに撮像される実世界画像に基づいて上側ＬＣＤ２２に立体画像を表示しているが、他の実施形態では、外側撮像部２３や外部のステレオカメラ等によって過去に撮像された動画像データに基づいて上側ＬＣＤ２２に立体画像を表示するようにしてもよい。
【０１６９】
また、上記実施形態では、外側撮像部２３がゲーム装置１０に予め搭載されているが、他の実施形態では、ゲーム装置１０に着脱可能な外付け型のカメラを利用してもよい。
【０１７０】
また、上記実施形態では、上側ＬＣＤ２２がゲーム装置１０にあらかじめ搭載されているが、他の実施形態では、ゲーム装置１０に着脱可能な外付け型の立体視ディスプレイを利用してもよい。
【０１７１】
また、上記実施形態では、ゲーム装置１０を用いて実世界画像に仮想オブジェクトを合成表示しているが、他の実施形態では、任意の情報処理装置または情報処理システム（例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、パーソナルコンピュータ、カメラ等）を用いて実世界画像に仮想オブジェクトを合成表示してもよい。
【０１７２】
また、上記実施形態では、一台の装置（ゲーム装置１０）のみによってゲーム処理を実行しているが、他の実施形態では、互いに通信可能な複数の情報処理装置を有する画像表示システムにおいて、当該複数の情報処理装置がゲーム処理を分担して実行するようにしてもよい。
【０１７３】
また、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュール（関数等）を用意しておくことが一般的傾向である。さらに、アプリケーションプログラムはこれらのモジュールを必要なときに呼び出して処理を進める方式が一般的である。そして、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトを流通させる必要はない。したがって、上記プログラムからそれらモジュールに対応する部分を除いたソフトウェアが、記憶媒体に記憶された形式で、またはネットワーク上で提供される形式で提供／流通された場合であって、上述のモジュールによって機能が補完されたときには、結果として上記プログラムそのものが提供された場合と等価な効果が存在し得る。よって、上述のようなモジュールによって機能が補完されることを前提に、上記ゲームプログラムから上述のようなモジュールに対応する機能を除いたものは、実質的に上記ゲームプログラムに相当するものと解釈され得る。
【０１７４】
また、本実施形態においては、外側撮像部２３により撮像したカメラ画像と仮想オブジェクト（例えば、水面オブジェクト６１など）とを重ね合わせて上側ＬＣＤ２２に表示させるビデオシースルー方式を説明したが、本発明はこれに限定されない。例えば、光学シースルー方式を実現する構成であってもよい。光学シースルー方式は、少なくとも撮像部を備えたユーザの頭部に装着する表示装置（以下、ヘッドマウンドディスプレイ）を用いる。ヘッドマウンドディスプレイを装着したユーザは、メガネのレンズ部分に相当する位置を有する表示部（画面）を通して現実空間を視認できる。この表示部は、現実空間を光学的に透過してユーザの眼に直接導くことが可能な素材によって構成されている。他方で、この表示部は、コンピュータにより生成した仮想オブジェクトの画像を表示させることができる。さらに、この表示部は液晶表示装置等を備え、この液晶表示装置等にコンピュータにより生成した仮想オブジェクトの画像を表示させ、この液晶表示装置からの光を（例えば、ハーフミラー等で反射させて）ユーザの網膜に導くことができるようになっている。これにより、ユーザは、現実空間と仮想オブジェクトの画像とが光学的に重ね合わせられた像を視認することができる。なお、ヘッドマウンドディスプレイに備えられたカメラは現実空間に配置されたマーカを検出するために用いられる。また、他の光学シースルー方式として、ハーフミラーを使用せずに表示部に重ね合わせて透過型液晶表示装置を備える方式があるが、本発明はこの方式を採用してもよい。この場合には、透過型液晶表示装置に仮想オブジェクトの画像を表示することで、表示部に透過された現実空間と透過型液晶表示装置に表示された仮想オブジェクトの画像とが重ね合わされてユーザに視認される。
【０１７５】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。ここで、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて均等な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用されるすべての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【符号の説明】
【０１７６】
１０    ゲーム装置
１１    下側ハウジング
１２    下側ＬＣＤ
１３    タッチパネル
１４    操作ボタン
１５    アナログスティック
１６    ＬＥＤ
２１    上側ハウジング
２２    上側ＬＣＤ
２３    外側撮像部
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
２４    内側撮像部
２５    ３Ｄ調整スイッチ
２６    ３Ｄインジケータ
２８    タッチペン
３１    情報処理部
３１１  ＣＰＵ
３１２  ＧＰＵ
３２    メインメモリ
６０    マーカ
６１    仮想オブジェクト（水面オブジェクト）
６２    仮想オブジェクト（釣竿オブジェクト）
６２’  仮想オブジェクト（釣竿オブジェクト）
６２ａ  釣竿オブジェクトの部分（釣竿本体）
６２ｂ  釣竿オブジェクトの部分（釣糸部分）
６２ｃ  釣竿オブジェクトの部分（釣針部分）
６２ｄ  釣竿オブジェクトの部分（爆弾部分）
６３    魚影
６３ａ  魚影６３に対応する魚オブジェクトの位置
６４    魚影
６４ａ  魚影６４に対応する魚オブジェクトの位置
６５    仮想オブジェクト（ドラゴンオブジェクト）
８０Ｌ  左仮想カメラ
８０Ｒ  右仮想カメラ
【図１】
0005627973.tif 000002
【図２】
0005627973.tif 000003
【図３】
0005627973.tif 000004
【図４】
0005627973.tif 000005
【図５Ａ】
0005627973.tif 000006
【図５Ｂ】
0005627973.tif 000007
【図５Ｃ】
0005627973.tif 000008
【図６】
0005627973.tif 000009
【図７Ａ】
0005627973.tif 000010
【図７Ｂ】
0005627973.tif 000011
【図７Ｃ】
0005627973.tif 000012
【図７Ｄ】
0005627973.tif 000013
【図７Ｅ】
0005627973.tif 000014
【図７Ｆ】
0005627973.tif 000015
【図８】
0005627973.tif 000016
【図９Ａ】
0005627973.tif 000017
【図９Ｂ】
0005627973.tif 000018
【図１０】
0005627973.tif 000019
【図１１】
0005627973.tif 000020
【図１２】
0005627973.tif 000021
【図１３】
0005627973.tif 000022