(57)【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータを、
撮像手段によって撮像された撮像画像を逐次取得する画像取得手段、
前記撮像手段の姿勢を示す姿勢情報を取得する姿勢情報取得手段、
前記画像取得手段によって取得された撮像画像から特定対象物を検出する特定対象物検出手段、
前記特定対象物と前記撮像手段との相対的な位置・姿勢を算出する位置姿勢算出手段、
前記位置・姿勢と前記姿勢情報とに基づいて、仮想オブジェクトの表示態様、仮想オブジェクトの種類、仮想オブジェクトの数の少なくとも何れかを決定する表示決定手段、
前記位置姿勢算出手段により算出された位置・姿勢に基づいて、前記表示決定手段による決定に応じた前記仮想オブジェクトの画像を生成する画像生成手段、および、
前記仮想オブジェクトの画像を表示装置に表示させる表示制御手段、として機能させる、情報処理プログラム。
【請求項２】
前記表示決定手段は、前記姿勢情報が示す所定の方向を基準とした前記特定対象物の姿勢に応じて、前記仮想オブジェクトの表示態様を決定する、請求項１に記載の情報処理プログラム。
【請求項３】
前記姿勢情報取得手段は、前記姿勢情報として、前記撮像手段を基準とした座標系の所定の方向を示す姿勢情報を取得し、
前記表示決定手段は、前記位置・姿勢と前記姿勢情報取得手段が取得した姿勢情報とに基づいて、前記特定対象物を基準とした座標系の所定の方向を算出し、算出した所定の方向に基づいて、前記仮想オブジェクトの表示態様を決定する、請求項２に記載の情報処理プログラム。
【請求項４】
前記表示決定手段は、
少なくとも、前記特定対象物が前記姿勢情報が示す所定の方向に対して垂直となるように実空間に配置されていることを前記算出した所定の方向が示す場合には、前記仮想オブジェクトの表示態様を第１表示態様に決定し、
少なくとも、前記特定対象物が前記姿勢情報が示す所定の方向に対して平行となるように実空間に配置されていることを前記算出した所定の方向が示す場合には、前記仮想オブジェクトの表示態様を第２表示態様に決定する、請求項３に記載の情報処理プログラム。
【請求項５】
前記表示決定手段は、前記姿勢情報が示す所定の方向を基準とした前記特定対象物の姿勢に応じて、前記特定対象物に対する前記仮想オブジェクトの姿勢を決定する、請求項２から４の何れかに記載の情報処理プログラム。
【請求項６】
前記表示決定手段は、
少なくとも、前記特定対象物が前記姿勢情報が示す所定の方向に対して垂直となるように実空間に配置されている場合には、前記仮想オブジェクトが前記特定対象物と垂直な姿勢となるように当該仮想オブジェクトの姿勢を決定し、
少なくとも、前記特定対象物が前記姿勢情報が示す所定の方向に対して平行となるように実空間に配置されている場合には、前記仮想オブジェクトが前記特定対象物と平行な姿勢となるように当該仮想オブジェクトの姿勢を決定する、請求項５に記載の情報処理プ
ログラム。
【請求項７】
前記表示決定手段は、少なくとも前記特定対象物が前記姿勢情報が示す所定の方向に対して平行となるように実空間に配置されている場合において、前記特定対象物の少なくとも一部の面の当該面に垂直な軸周りの回転角が、第１角度の場合には、前記仮想オブジェクトの姿勢を第１姿勢に決定し、第２角度の場合には、前記仮想オブジェクトの姿勢を第２姿勢に決定する、請求項６に記載の情報処理プログラム。
【請求項８】
前記所定の方向は、重力方向である、請求項２から７の何れかに記載の情報処理プログラム。
【請求項９】
前記表示決定手段は、
前記特定対象物を基準とした座標系の前記所定の方向が第１の範囲である場合に、前記仮想オブジェクトの表示態様を第１態様に決定し、
前記特定対象物を基準とした座標系の前記所定の方向が所定の境界によって前記第１の範囲と分けられる第２の範囲である場合に、前記仮想オブジェクトの表示態様を第２態様に決定し、
前記第１態様から前記第２態様に切り替える場合には、前記第２態様から前記第１態様に切り替えるときと比較して、前記所定の境界を前記第１の範囲側に設定する、請求項３または請求項４に記載の情報処理プログラム。
【請求項１０】
前記表示制御手段は、前記撮像手段によって撮像された撮像画像または前記表示装置の画面を透過して視認される実空間と、前記表示決定手段による決定に応じた前記仮想オブジェクトの画像とを重ね合わせて、前記表示装置に表示させる、請求項１から９の何れかに記載の情報処理プログラム。
【請求項１１】
前記特定対象物には、前記第１姿勢を示す第１情報、および、前記第２姿勢を示す第２情報が記載されており、
前記第１情報は、ユーザが第１の方向から前記特定対象物を見た場合に正しい方向から視認可能であり、
前記第２情報は、ユーザが第２の方向から前記特定対象物を見た場合に正しい方向から視認可能である、請求項７に記載の情報処理プログラム。
【請求項１２】
前記姿勢情報取得手段は、前記姿勢情報として、前記情報処理装置が備える加速度センサの検出結果を取得し、
前記表示決定手段は、前記位置・姿勢と前記加速度センサの検出結果とに基づいて、仮想オブジェクトの表示態様、仮想オブジェクトの種類、仮想オブジェクトの数の少なくとも何れかを決定する、請求項１から１１の何れかに記載の情報処理プログラム。
【請求項１３】
撮像手段によって撮像された撮像画像を逐次取得する画像取得手段と、
前記撮像手段の姿勢を示す姿勢情報を取得する姿勢情報取得手段と、
前記画像取得手段によって取得された撮像画像から特定対象物を検出する特定対象物検出手段と、
前記特定対象物と前記撮像手段との相対的な位置・姿勢を算出する位置姿勢算出手段と、
前記位置・姿勢と前記姿勢情報とに基づいて、仮想オブジェクトの表示態様、仮想オブジェクトの種類、仮想オブジェクトの数の少なくとも何れかを決定する表示決定手段と、
前記位置姿勢算出手段により算出された位置・姿勢に基づいて、前記表示決定手段による決定に応じた前記仮想オブジェクトの画像を生成する画像生成手段と、
前記仮想オブジェクトの画像を表示装置に表示させる表示制御手段とを備える、情報処理装置。
【請求項１４】
撮像手段によって撮像された撮像画像を逐次取得する画像取得手段と、
前記撮像手段の姿勢を示す姿勢情報を取得する姿勢情報取得手段と、
前記画像取得手段によって取得された撮像画像から特定対象物を検出する特定対象物検出手段と、
前記特定対象物と前記撮像手段との相対的な位置・姿勢を算出する位置姿勢算出手段と、
前記位置・姿勢と前記姿勢情報とに基づいて、仮想オブジェクトの表示態様、仮想オブジェクトの種類、仮想オブジェクトの数の少なくとも何れかを決定する表示決定手段と、
前記位置姿勢算出手段により算出された位置・姿勢に基づいて、前記表示決定手段による決定に応じた前記仮想オブジェクトの画像を生成する画像生成手段と、
前記仮想オブジェクトの画像を表示装置に表示させる表示制御手段とを備える、情報処理システム。
【請求項１５】
撮像手段によって撮像された撮像画像を逐次取得する画像取得ステップと、
前記撮像手段の姿勢を示す姿勢情報を取得する姿勢情報取得ステップと、
前記画像取得ステップで取得された撮像画像から特定対象物を検出する特定対象物検出ステップと、
前記特定対象物と前記撮像手段との相対的な位置・姿勢を算出する位置姿勢算出ステップと、
前記位置・姿勢と前記姿勢情報とに基づいて、仮想オブジェクトの表示態様、仮想オブジェクトの種類、仮想オブジェクトの数の少なくとも何れかを決定する表示決定ステップと、
前記位置姿勢算出ステップで算出された位置・姿勢に基づいて、前記表示決定ステップにおける決定に応じた前記仮想オブジェクトの画像を生成する画像生成ステップと、
前記仮想オブジェクトの画像を表示装置に表示させる表示制御ステップとを含む、情報処理方法。
【請求項１６】
情報処理装置とマーカを備えた情報処理システムであって、
前記情報処理装置は、
前記マーカを撮像する撮像手段と、
前記撮像手段の姿勢を検出する姿勢検出手段と、
前記撮像手段によって撮像された撮像画像を逐次取得する画像取得手段と、
前記撮像手段の姿勢を示す姿勢情報を取得する姿勢情報取得手段と、
前記画像取得手段によって取得された撮像画像から前記マーカを検出するマーカ検出手段と、
前記マーカと前記撮像手段との相対的な位置・姿勢を算出する位置姿勢算出手段と、
前記位置・姿勢と前記姿勢情報とに基づいて、仮想オブジェクトの表示態様、仮想オブジェクトの種類、仮想オブジェクトの数の少なくとも何れかを決定する表示決定手段と、
前記位置姿勢算出手段により算出された位置・姿勢に基づいて、前記表示決定手段による決定に応じた前記仮想オブジェクトの画像を生成する画像生成手段と、
前記仮想オブジェクトの画像を表示装置に表示させる表示制御手段とを備える、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置に画像を表示させるための情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法に関する。
【背景技術】
【０００２】
従来、実空間に置かれたゲームカードをカメラで撮像して、当該ゲームカードの表示位置に仮想オブジェクトを表示させるゲーム装置が存在する。例えば、特許文献１では、ゲーム装置に接続されたカメラで実空間に置かれたゲームカードを撮像し、撮像した画像に基づいて、実空間におけるゲームカードの姿勢、方向、および、カメラとゲームカードとの距離を算出する。そして、算出した姿勢、方向、および距離に応じて、表示装置に表示する仮想オブジェクトを変化させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−７２６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載のゲーム装置では、仮想オブジェクトの表示を変化させるためには、カメラやゲームカードの姿勢を大きく変化させる必要があり、ユーザの操作性の向上という観点では改善の余地があった。
【０００５】
それ故、本発明の目的は、簡単な操作で種々の画像を表示することが可能な情報処理技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。
【０００７】
本発明は、情報処理装置のコンピュータを、画像取得手段、姿勢情報取得手段、特定対象物検出手段、位置姿勢算出手段、表示決定手段、画像生成手段、および、表示制御手段、として機能させる情報処理プログラムである。画像取得手段は、撮像手段によって撮像された撮像画像を逐次取得する。姿勢情報取得手段は、上記撮像手段の姿勢を示す姿勢情報を取得する。特定対象物検出手段は、上記画像取得手段によって取得された撮像画像から特定対象物を検出する。位置姿勢算出手段は、上記特定対象物と上記撮像手段との相対的な位置・姿勢を算出する。表示決定手段は、上記位置・姿勢と上記姿勢情報とに基づいて、仮想オブジェクトの表示態様、仮想オブジェクトの種類、仮想オブジェクトの数の少なくとも何れかを決定する。画像生成手段は、上記位置姿勢算出手段により算出された位置・姿勢に基づいて、上記表示決定手段による決定に応じた上記仮想オブジェクトの画像を生成する。表示制御手段は、上記仮想オブジェクトの画像を表示装置に表示させる。
【０００８】
上記によれば、上記位置・姿勢と撮像手段の姿勢を示す姿勢情報とに基づいて、仮想オブジェクトの表示態様、仮想オブジェクトの種類、仮想オブジェクトの数の少なくとも何れかを決定する。例えば、仮想オブジェクトの表示態様として、仮想オブジェクトの位置、姿勢（向きやポーズを含む）や表情、動作パターン、所持するアイテム、仮想オブジェクトの立体感、仮想オブジェクトの色や明るさ等を決定することができる。そして、当該決定に応じた仮想オブジェクトの画像を、特定対象物と撮像手段との相対的な位置・姿勢に基づいて生成し、表示装置に表示させることができる。
【００１１】
また、本発明の他の構成では、上記表示決定手段は、上記姿勢情報が示す所定の方向を基準とした上記特定対象物の姿勢に応じて、上記仮想オブジェクトの表示態様を決定してもよい。
【００１２】
上記によれば、実空間の所定の方向を基準とした特定対象物の姿勢に応じて、仮想オブジェクトの表示態様を決定することができる。
【００１３】
また、本発明の他の構成では、上記姿勢情報取得手段は、上記姿勢情報として、上記撮像手段を基準とした座標系の所定の方向を示す姿勢情報を取得してもよい。上記表示決定手段は、上記位置・姿勢と上記姿勢情報取得手段が取得した姿勢情報とに基づいて、上記特定対象物を基準とした座標系の所定の方向を算出し、算出した所定の方向に基づいて、上記仮想オブジェクトの表示態様を決定してもよい。
【００１４】
上記によれば、特定対象物を基準とした座標系の所定の方向に基づいて、仮想オブジェクトの表示態様を決定することができる。
【００１５】
また、本発明の他の構成では、上記表示決定手段は、少なくとも、上記特定対象物が上記姿勢情報が示す所定の方向に対して垂直となるように実空間に配置されていることを上記算出した所定の方向が示す場合には、上記仮想オブジェクトの表示態様を第１表示態様に決定してもよい。また、上記表示決定手段は、少なくとも、上記特定対象物が上記姿勢情報が示す所定の方向に対して平行となるように実空間に配置されていることを上記算出した所定の方向が示す場合には、上記仮想オブジェクトの表示態様を第２表示態様に決定してもよい。
【００１６】
上記によれば、上記特定対象物が所定の方向に対して垂直となるように配置されている場合と、平行となるように配置されている場合とで仮想オブジェクトの表示態様を異なるようにすることができる。
【００１７】
また、本発明の他の構成では、上記表示決定手段は、上記姿勢情報が示す所定の方向を基準とした上記特定対象物の姿勢に応じて、上記特定対象物に対する上記仮想オブジェクトの姿勢を決定してもよい。
【００１８】
上記によれば、特定対象物に対する仮想オブジェクトの姿勢を決定することができる。
【００１９】
また、本発明の他の構成では、上記表示決定手段は、少なくとも、上記特定対象物が上記姿勢情報が示す所定の方向に対して垂直となるように実空間に配置されている場合には、上記仮想オブジェクトが上記特定対象物と垂直な姿勢となるように当該仮想オブジェクトの姿勢を決定してもよい。また、上記表示決定手段は、少なくとも、上記特定対象物が上記姿勢情報が示す所定の方向に対して平行となるように実空間に配置されている場合には、上記仮想オブジェクトが上記特定対象物と平行な姿勢となるように当該仮想オブジェクトの姿勢を決定してもよい。
【００２０】
上記によれば、特定対象物が、所定の方向（例えば重力方向）に対して垂直になるように配置されている場合（例えば、マーカがテーブル上に置かれている場合）には、仮想オブジェクトが特定対象物と垂直な姿勢となるように仮想オブジェクトの姿勢を決定することができる。また、特定対象物が、所定の方向（例えば重力方向）に対して平行になるように配置されている場合（例えば、マーカが壁に貼り付けられている場合）には、仮想オブジェクトが特定対象物と平行な姿勢となるように仮想オブジェクトの姿勢を決定することができる。
【００２１】
また、本発明の他の構成では、上記表示決定手段は、少なくとも上記特定対象物が上記姿勢情報が示す所定の方向に対して平行となるように実空間に配置されている場合において、上記特定対象物の少なくとも一部の面の当該面に垂直な軸周りの回転角が、第１角度の場合には、上記仮想オブジェクトの姿勢を第１姿勢に決定し、第２角度の場合には、上記仮想オブジェクトの姿勢を第２姿勢に決定してもよい。
【００２２】
上記によれば、例えば、特定対象物が、所定の方向（例えば重力方向）に対して平行になるように配置されている場合（例えば、マーカが壁に貼り付けられている場合）において、仮想オブジェクトの姿勢を決定することができる。例えば、特定対象物の少なくとも一部の面の当該面に垂直な軸周りの回転角が、第１角度の場合（例えば、特定対象物の所定の部分が下側となるように配置されている場合）には、上記仮想オブジェクトの姿勢を第１姿勢に決定し、第２角度の場合には、上記仮想オブジェクトの姿勢を第２姿勢に決定することができる。
【００２３】
また、本発明の他の構成では、上記所定の方向は、重力方向であってもよい。
【００２４】
また、本発明の他の構成では、上記表示決定手段は、上記特定対象物を基準とした座標系の上記所定の方向が第１の範囲である場合に、上記仮想オブジェクトの表示態様を第１態様に決定してもよい。また、上記表示決定手段は、上記特定対象物を基準とした座標系の上記所定の方向が所定の境界によって上記第１の範囲と分けられる第２の範囲である場合に、上記仮想オブジェクトの表示態様を第２態様に決定してもよい。そして、上記表示決定手段は、上記第１態様から上記第２態様に切り替える場合には、上記第２態様から上記第１態様に切り替えるときと比較して、上記所定の境界を上記第１の範囲側に設定してもよい。
【００２５】
上記によれば、仮想オブジェクトの表示態様が第１態様および第２態様の間で頻繁に切り替わることを防止することができる。
【００２６】
また、本発明の他の構成では、上記表示制御手段は、上記撮像手段によって撮像された撮像画像または上記表示装置の画面を透過して視認される実空間と、上記表示決定手段による決定に応じた上記仮想オブジェクトの画像とを重ね合わせて、上記表示装置に表示させてもよい。
【００２７】
上記によれば、実空間と仮想オブジェクトの画像とを重ね合わせて、表示装置に表示させることができる。
【００２８】
また、本発明の他の構成では、上記特定対象物には、上記第１姿勢を示す第１情報、および、上記第２姿勢を示す第２情報が記載されてもよい。上記第１情報は、ユーザが第１の方向から上記特定対象物を見た場合に正しい方向から視認可能である。また、上記第２情報は、ユーザが第２の方向から上記特定対象物を見た場合に正しい方向から視認可能である。
【００２９】
上記によれば、ユーザにとって理解し易い情報が特定対象物に記載されるため、ユーザは直感的に操作を行うことができる。
【００３０】
また、本発明では、上記各手段を実現した情報処理装置であってもよい。また、本発明では、上記各手段を実現する複数の要素が相互に動作することによって、１つの情報処理システムとして構成されてもよい。当該情報処理システムは、１つの装置によって構成されてもよいし、複数の装置によって構成されてもよい。
【００３１】
また、本発明の他の形態では、情報処理装置とマーカを備えた情報処理システムであってもよい。上記情報処理装置は、撮像手段と、姿勢検出手段と、画像取得手段と、姿勢情報取得手段と、マーカ検出手段と、位置姿勢算出手段と、表示決定手段と、画像生成手段と、表示制御手段とを備える。撮像手段は、上記マーカを撮像する。姿勢検出手段は、上記撮像手段の姿勢を検出する。画像取得手段は、上記撮像手段によって撮像された撮像画像を逐次取得する。姿勢情報取得手段は、上記撮像手段の姿勢を示す姿勢情報を取得する。マーカ検出手段は、上記画像取得手段によって取得された撮像画像から上記マーカを検出する。位置姿勢算出手段は、上記マーカと上記撮像手段との相対的な位置・姿勢を算出する。表示決定手段は、上記位置・姿勢と上記姿勢情報とに基づいて、仮想オブジェクトの表示態様、仮想オブジェクトの種類、仮想オブジェクトの数の少なくとも何れかを決定する。画像生成手段は、上記位置姿勢算出手段により算出された位置・姿勢に基づいて、上記表示決定手段による決定に応じた上記仮想オブジェクトの画像を生成する。表示制御手段は、上記仮想オブジェクトの画像を表示装置に表示させる。
【発明の効果】
【００３２】
本発明によれば、簡単な操作で種々の画像を表示することができる。
【図面の簡単な説明】
【００３３】
【図１】開状態におけるゲーム装置１０の外観を示す正面図
【図２】閉状態におけるゲーム装置１０の左側面図、正面図、右側面図、および、背面図
【図３】ゲーム装置１０の内部構成を示すブロック図
【図４】本実施形態に係る表示処理に用いられるマーカ５１の一例を示す図
【図５】ゲーム装置１０の外側撮像部２３を用いて実空間に置かれたマーカ５１を撮像した場合に、上側ＬＣＤ２２に表示される画像の一例を示す図
【図６】ゲーム装置１０の外側撮像部２３を用いて実空間に置かれたマーカ５１を、図５とは異なる方向から撮像した場合に上側ＬＣＤ２２に表示される画像の一例を示す図
【図７】「Ｆｒｏｎｔ」の文字が書かれた辺ＳＦを下側にしてマーカ５１を壁５２に貼り付け、マーカ５１を撮像した場合に上側ＬＣＤ２２に表示される画像の一例を示す図
【図８】「Ｒｉｇｈｔ」の文字が書かれた辺ＳＲを下側にしてマーカ５１を壁５２に貼り付け、マーカ５１を撮像した場合に上側ＬＣＤ２２に表示される画像の一例を示す図
【図９】「Ｂａｃｋ」の文字が書かれた辺を下側にしてマーカ５１を壁５２に貼り付け、マーカ５１を撮像した場合に上側ＬＣＤ２２に表示される画像の一例を示す図
【図１０】ゲーム装置１０のＲＡＭ（メインメモリ３２等）のメモリマップを示す図
【図１１】本実施形態に係る表示処理の詳細を示すメインフローチャート
【図１２】マーカ５１上に設定されるマーカ座標系を示す図
【図１３】地面と平行なテーブル５０の上に置かれたマーカ５１をゲーム装置１０の外側撮像部２３で撮像する様子を示す図
【図１４】地面と垂直な壁５２に貼り付けられたマーカ５１をゲーム装置１０の外側撮像部２３で撮像する様子を示す図
【図１５Ａ】マーカ５１が地面と平行な面（テーブル５０）上に置かれた場合における仮想キャラクタ６５の位置および姿勢を示す図
【図１５Ｂ】マーカ５１が地面と平行な天井５４等に貼り付けられた場合における仮想キャラクタ６５の位置および姿勢を示す図
【図１６Ａ】「Ｆｒｏｎｔ」の文字が書かれた辺ＳＦが下側になるようにしてマーカ５１が地面と垂直な面に貼り付けられている場合における仮想キャラクタ６５の姿勢を示す図
【図１６Ｂ】「Ｒｉｇｈｔ」の文字が書かれた辺ＳＲが下側になるようにしてマーカ５１が地面と垂直な面に貼り付けられている場合における仮想キャラクタ６５の姿勢を示す図
【図１６Ｃ】「Ｂａｃｋ」の文字が書かれた辺ＳＢが下側になるようにしてマーカ５１が地面と垂直な面に貼り付けられている場合における仮想キャラクタ６５の姿勢を示す図
【図１６Ｄ】「Ｌｅｆｔ」の文字が書かれた辺ＳＬが下側になるようにしてマーカ５１が地面と垂直な面に貼り付けられている場合における仮想キャラクタ６５の姿勢を示す図
【図１７】仮想空間に設定された仮想ステレオカメラ６３および仮想キャラクタ６５を示す図
【図１８Ａ】マーカ５１が傾いた状態で壁５２に貼り付けられている場合において、仮想キャラクタ６５が正面を向くように設定された様子を示す図
【図１８Ｂ】マーカ５１が傾いた状態で壁５２に貼り付けられている場合において、仮想キャラクタ６５が左側を向くように設定された様子を示す図
【図１９】仮想キャラクタ６５の姿勢を決定するための閾値を再設定する処理を概念的に示す図
【発明を実施するための形態】
【００３４】
（ゲーム装置の構成）
以下、本発明の一実施形態に係るゲーム装置について説明する。図１は、開状態におけるゲーム装置１０の外観を示す正面図である。図２（ａ）は閉状態におけるゲーム装置１０の左側面図であり、図２（ｂ）は閉状態におけるゲーム装置１０の正面図であり、図２（ｃ）は閉状態におけるゲーム装置１０の右側面図であり、図２（ｄ）は閉状態におけるゲーム装置１０の背面図である。ゲーム装置１０は携帯型のゲーム装置であり、図１および図２に示すように折り畳み可能に構成されている。図１は、開いた状態（開状態）におけるゲーム装置１０を示し、図２は、閉じた状態（閉状態）におけるゲーム装置１０を示している。ゲーム装置１０は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【００３５】
まず、図１および図２を参照して、ゲーム装置１０の外観構成について説明する。図１および図２に示されるように、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に接続されている。本実施形態では、下側ハウジング１１および上側ハウジング２１はともに横長の長方形の板状形状であり、互いの長辺部分で回転可能に接続されている。
【００３６】
（下側ハウジングの説明）
まず、下側ハウジング１１の構成について説明する。図１および図２に示すように、下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００３７】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２の画素数は、例えば、３２０ｄｏｔ×２４０ｄｏｔ（横×縦）であってもよい。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００３８】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上に装着されている。なお、本実施形態では、タッチパネル１３は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度が一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１および図２（ｄ）に示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００３９】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが、設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００４０】
アナログスティック１５は、方向を指示するデバイスである。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【００４１】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク４２（図３参照）が設けられ、当該マイク４２がゲーム装置１０の外部の音を検出する。
【００４２】
図２（ｂ）および（ｄ）に示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４ＧおよびＲボタン１４Ｈは、例えば、撮像部のシャッターボタン（撮影指示ボタン）として機能することができる。また、図２（ａ）に示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００４３】
図２（ａ）に示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４５とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４５は、コネクタに着脱自在に装着される。データ保存用外部メモリ４５は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。
【００４４】
また、図２（ｄ）に示されるように、下側ハウジング１１の上側面には、ゲーム装置１０とゲームプログラムを記録した外部メモリ４４を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４４と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。当該外部メモリ４４がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。
【００４５】
また、図１および図２（ｃ）に示されるように、下側ハウジング１１の下側面にはゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａ、下側ハウジング１１の右側面にはゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は他の機器との間で無線通信を行うことが可能であり、第２ＬＥＤ１６Ｂは、無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図２（ｃ）参照）。
【００４６】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００４７】
（上側ハウジングの説明）
次に、上側ハウジング２１の構成について説明する。図１および図２に示すように、上側ハウジング２１には、上側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）２２、外側撮像部２３（外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および、３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００４８】
図１に示すように、上側ＬＣＤ２２は上側ハウジング２１に収納される。上側ＬＣＤ２２の画素数は、例えば、８００ｄｏｔ×２４０ｄｏｔ（横×縦）であってもよい。なお、本実施形態では上側ＬＣＤ２２は液晶表示装置であるとしたが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００４９】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左目用画像と右目用画像が表示される。具体的には、左目用画像と右目用画像が所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。または、左目用画像と右目用画像とが時間的に交互に表示され、メガネを用いてユーザの左目に左目用画像が右目に右目用画像が視認される方式の表示装置であってもよい。本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２はパララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００５０】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（２３ａおよび２３ｂ）の総称である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂの撮像方向は、いずれも当該外側面２１Ｄの外向きの法線方向である。外側撮像部（左）２３ａと外側撮像部（右）２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００５１】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００５２】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。３Ｄ調整スイッチ２５のスライダ２５ａは、所定方向（上下方向）の任意の位置にスライド可能であり、当該スライダ２５ａの位置に応じて上側ＬＣＤ２２の表示モードが設定される。また、スライダ２５ａの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ２５ａの位置に応じて、右目用画像および左目用画像の横方向の位置のずれ量が調整される。
【００５３】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。なお、３Ｄインジケータ２６は、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。
【００５４】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４３からの音声がこのスピーカ孔２１Ｅから出力される。
【００５５】
（ゲーム装置１０の内部構成）
次に、図３を参照して、ゲーム装置１０の内部の電気的構成について説明する。図３は、ゲーム装置１０の内部構成を示すブロック図である。図３に示すように、ゲーム装置１０は、上述した各部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、電源回路４０、およびインターフェイス回路（Ｉ／Ｆ回路）４１等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００５６】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。情報処理部３１のＣＰＵ３１１は、ゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４４やデータ保存用内部メモリ３５）に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に出力し、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像が表示される。
【００５７】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、および、データ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４４を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４５を着脱自在に接続するためのインターフェイスである。
【００５８】
メインメモリ３２は、情報処理部３１（のＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部（外部メモリ４４や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００５９】
外部メモリ４４は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４４は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４４が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４４に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４５は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４５には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４５がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４５に記憶された画像を読み込み、上側ＬＣＤ２２及び／又は下側ＬＣＤ１２に当該画像を表示することができる。
【００６０】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００６１】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば独自プロトコルによる通信や、赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００６２】
また、情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸又は２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを検出することができる。
【００６３】
また、情報処理部３１には、ＲＴＣ３８および電源回路４０が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４０は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００６４】
また、情報処理部３１には、Ｉ／Ｆ回路４１が接続される。Ｉ／Ｆ回路４１には、マイク４２およびスピーカ４３が接続される。具体的には、Ｉ／Ｆ回路４１には、図示しないアンプを介してスピーカ４３が接続される。マイク４２は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４１に出力する。アンプは、Ｉ／Ｆ回路４１からの音声信号を増幅し、音声をスピーカ４３から出力させる。また、タッチパネル１３はＩ／Ｆ回路４１に接続される。Ｉ／Ｆ回路４１は、マイク４２およびスピーカ４３（アンプ）の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、および、タッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００６５】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に従った処理を実行する。
【００６６】
下側ＬＣＤ１２および上側ＬＣＤ２２は情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（のＧＰＵ３１２）の指示に従って画像を表示する。本実施形態では、情報処理部３１は、上側ＬＣＤ２２に立体画像（立体視可能な画像）を表示させる。
【００６７】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００６８】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示に従って画像を撮像し、撮像した画像データを情報処理部３１に出力する。
【００６９】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダ２５ａの位置に応じた電気信号を情報処理部３１に送信する。
【００７０】
また、３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。
【００７１】
また、情報処理部３１には、角速度センサ４６が接続される。角速度センサ４６は、各軸（ｘ軸、ｙ軸、ｚ軸）周りの角速度を検出する。ゲーム装置１０は、角速度センサ４６が逐次検出する角速度に基づいて、実空間におけるゲーム装置１０の姿勢を算出することができる。具体的には、ゲーム装置１０は、角速度センサ４６によって検出された各軸周りの角速度を時間で積分することによって、各軸周りのゲーム装置１０の回転角を算出することができる。以上がゲーム装置１０の内部構成の説明である。
【００７２】
（本実施形態の表示処理の概要）
次に、図４から図９を参照して、本実施形態に係るゲーム装置１０において行われる表示処理の概要について説明する。図４は、本実施形態に係る表示処理に用いられるマーカ５１の一例を示す図である。本実施形態においては、図４に示すようなマーカ５１をゲーム装置１０の外側撮像部２３で撮像すると、所定の仮想キャラクタが上側ＬＣＤ２２に表示されるものとする。
【００７３】
図４に示すように、マーカ５１は正方形の紙からなり、当該紙の各辺（ＳＦ、ＳＲ、ＳＢ、ＳＬ）の近傍には、それぞれ「Ｆｒｏｎｔ」、「Ｒｉｇｈｔ」、「Ｂａｃｋ」、「Ｌｅｆｔ」の文字が印刷されている。これら各辺に書かれた文字は、各辺を下側にした場合に、正面から視認できるように書かれる。例えば、「Ｆｒｏｎｔ」が書かれた辺ＳＦを下側にした場合に、「Ｆｒｏｎｔ」の文字は正面から視認できるようになっており、「Ｆｒｏｎｔ」の文字が書かれた辺ＳＦと対向する辺ＳＢに書かれた文字「Ｂａｃｋ」は、上下が逆になる。また、紙の中心には、正方形の領域５１ａが設けられ、当該領域５１ａには所定のパターンが描かれる。具体的には、図４に示すように、領域５１ａには、所定の色（例えば、白色）の正方形領域５１ｂ、５１ｃ、５１ｄと、これらの領域以外の他の色（例えば、黒色）で塗りつぶされた領域５１ｅとがある。正方形領域５１ｂと５１ｃとは、「Ｆｒｏｎｔ」と書かれた辺ＳＦと平行に並んで配置され、正方形領域５１ｂの中心と正方形領域５１ｃの中心と結ぶ線は、マーカ５１の中心を通る。また、正方形領域５１ｄの中心は、マーカ５１の中心から「Ｂａｃｋ」と書かれた辺ＳＢに向かう線上に配置される。
【００７４】
図５は、ゲーム装置１０の外側撮像部２３を用いて実空間に置かれたマーカ５１を撮像した場合に、上側ＬＣＤ２２に表示される画像の一例を示す図である。図５に示すように、載置面が地面と平行（あるいは重力方向と垂直）なテーブル（あるいは床）５０が実空間に配置され、当該テーブル５０の上には、マーカ５１が置かれる。このマーカ５１をゲーム装置１０の外側撮像部２３を用いて撮像すると、上側ＬＣＤ２２には、マーカ５１を含む実空間の画像に、仮想キャラクタ６５の画像が重ね合わされて、表示される。上側ＬＣＤ２２に表示される画像は、ユーザが立体的に視認できる立体視画像である。具体的には、図５に示すように、マーカ５１の「Ｆｒｏｎｔ」と書かれた辺ＳＦが下側となる向きからマーカ５１を撮像した場合、仮想キャラクタ６５を正面から見た画像が、上側ＬＣＤ２２に表示される。仮想キャラクタ６５はマーカ５１の中心に立っているように見える。
【００７５】
図６は、ゲーム装置１０の外側撮像部２３を用いて実空間に置かれたマーカ５１を、図５とは異なる方向から撮像した場合に上側ＬＣＤ２２に表示される画像の一例を示す図である。図６に示すように、マーカ５１の「Ｒｉｇｈｔ」と書かれた辺ＳＲが下側となる向きからマーカ５１を撮像した場合、仮想キャラクタ６５を右側から見た画像（仮想キャラクタ６５の左側を撮像した画像）が、上側ＬＣＤ２２に表示される。
【００７６】
また、図示はしないが、マーカ５１の「Ｂａｃｋ」と書かれた辺ＳＢが下側となる向きからマーカ５１を撮像した場合、仮想キャラクタ６５を後ろ側から見た画像が、上側ＬＣＤ２２に表示される。また、マーカ５１の「Ｌｅｆｔ」と書かれた辺ＳＬが下側となる向きからマーカ５１を撮像した場合、仮想キャラクタ６５を左側から見た画像（仮想キャラクタ６５の右側を撮像した画像）が、上側ＬＣＤ２２に表示される。
【００７７】
このように、マーカ５１を地面と平行なテーブル５０上に置いて、当該マーカ５１を撮像すると、あたかも実空間上に仮想キャラクタ６５が存在しているかのように、マーカ５１上に仮想キャラクタ６５が立っているような画像が、上側ＬＣＤ２２に表示される。そして、マーカ５１をマーカ５１の中心軸周りに回転させたり、あるいは、ゲーム装置１０をマーカ５１の中心軸周りに回転させたりすると、マーカ５１上の仮想キャラクタ６５を見る方向もその回転に応じて変化する。
【００７８】
後述するように、ゲーム装置１０は、マーカ５１を撮像して検出することによって、マーカ５１を基準としたマーカ座標系を構築し、当該マーカ座標系に仮想キャラクタ６５を配置する。マーカ座標系に配置された仮想キャラクタ６５を仮想ステレオカメラで撮像することにより、仮想キャラクタ６５の立体視画像が生成される。そして、生成された仮想キャラクタ６５の立体視画像と、外側撮像部２３で撮像されたマーカ５１を含む実空間の立体視画像とが重ね合わされて、当該重ね合わされた立体視画像が上側ＬＣＤ２２に表示される。このようにして、マーカ５１を含む実空間を撮像した画像に仮想キャラクタ６５が重畳して表示されることによって、仮想キャラクタ６５があたかも実空間のマーカ５１上に存在しているかのように見える。
【００７９】
次に、マーカ５１を地面と垂直な壁に貼り付けた場合について説明する。図７は、「Ｆｒｏｎｔ」の文字が書かれた辺ＳＦを下側にしてマーカ５１を壁５２に貼り付け、マーカ５１を撮像した場合に上側ＬＣＤ２２に表示される画像の一例を示す図である。
【００８０】
図７に示すように、マーカ５１は地面に垂直な（重力方向と平行な）壁５２に、「Ｆｒｏｎｔ」の文字が書かれた辺ＳＦを下側にして貼り付けられる。当該マーカ５１をゲーム装置１０の外側撮像部２３で撮像した場合、上側ＬＣＤ２２には、マーカ５１（壁５２）に平行に立って正面を向く仮想キャラクタ６５が、マーカ５１を撮像した画像に重畳されて表示される。この場合において、仮想キャラクタ６５はマーカ５１よりも手前に存在するかのように、ユーザは感じる。このように、「Ｆｒｏｎｔ」の文字が書かれた辺ＳＦを下側にしてマーカ５１を壁５２に貼り付けてマーカ５１を撮像すると、仮想キャラクタ６５が壁５２と平行に立ち、正面を向いた画像が表示される。
【００８１】
図８は、「Ｒｉｇｈｔ」の文字が書かれた辺ＳＲを下側にしてマーカ５１を壁５２に貼り付け、マーカ５１を撮像した場合に上側ＬＣＤ２２に表示される画像の一例を示す図である。図８に示すように、「Ｒｉｇｈｔ」の文字が書かれた辺ＳＲを下側にして壁５２に貼り付けられたマーカ５１をゲーム装置１０の外側撮像部２３で撮像した場合、上側ＬＣＤ２２には、マーカ５１（壁５２）に平行に立って左側を向く仮想キャラクタ６５が表示される。すなわち、仮想キャラクタ６５を当該仮想キャラクタ６５の右側から見た画像が、マーカ５１を撮像した画像に重畳されて上側ＬＣＤ２２に表示される。この場合において、仮想キャラクタ６５はマーカ５１よりも手前に存在するかのように、ユーザは感じる。このように、「Ｒｉｇｈｔ」の文字が書かれた辺を下側にしてマーカ５１を壁５２に貼り付けてマーカ５１を撮像すると、仮想キャラクタ６５を右側から見た画像（仮想キャラクタ６５が壁５２と平行に立ち、左側を向いた画像）が表示される。
【００８２】
図９は、「Ｂａｃｋ」の文字が書かれた辺ＳＢを下側にしてマーカ５１を壁５２に貼り付け、マーカ５１を撮像した場合に上側ＬＣＤ２２に表示される画像の一例を示す図である。図９に示すように、「Ｂａｃｋ」の文字が書かれた辺ＳＢを下側にして壁５２に貼り付けられたマーカ５１をゲーム装置１０の外側撮像部２３で撮像した場合、上側ＬＣＤ２２には、マーカ５１（壁５２）に平行に立って後ろ側を向く仮想キャラクタ６５が表示される。すなわち、仮想キャラクタ６５を当該仮想キャラクタ６５の背面側から見た画像が、マーカ５１を撮像した画像に重畳されて上側ＬＣＤ２２に表示される。この場合において、仮想キャラクタ６５はマーカ５１よりも手前に存在するかのように、ユーザは感じる。このように、「Ｂａｃｋ」の文字が書かれた辺ＳＢを下側にしてマーカ５１を壁５２に貼り付けてマーカ５１を撮像すると、仮想キャラクタ６５が壁５２と平行に立ち、後ろ側を向いた画像が表示される。
【００８３】
なお、図示はしないが、「Ｌｅｆｔ」の文字が書かれた辺ＳＬを下側にして壁５２に貼り付けられたマーカ５１を外側撮像部２３で撮像した場合、仮想キャラクタ６５を左側から見た画像（仮想キャラクタ６５が壁５２と平行に立ち、右側を向いた画像）が表示される。
【００８４】
以上のように、マーカ５１を地面と平行なテーブル５０等に置いて外側撮像部２３で撮像した場合、仮想キャラクタ６５はテーブル５０と垂直な姿勢となり、仮想キャラクタ６５はテーブル５０上に立っているように表示される（図４、図５参照）。一方、マーカ５１を地面と垂直な壁５２等に貼り付けて外側撮像部２３で撮像した場合、仮想キャラクタ６５は壁５２と平行の姿勢となり、仮想キャラクタ６５は壁５２と平行に立っているように表示される（図７〜図９参照）。
【００８５】
詳細は後述するが、ゲーム装置１０は、加速度センサ３９によって検出した加速度の値に基づいて、マーカ５１が地面と水平に置かれているか、あるいは、地面と垂直に置かれているかを判定する。そして、判定結果に応じて、ゲーム装置１０は、仮想キャラクタ６５の姿勢を決定する。
【００８６】
（表示処理の詳細）
次に、図１０〜図１９を参照して、本実施形態に係る表示処理の詳細について説明する。まず、表示処理の際にメインメモリ３２およびＶＲＡＭ３１３（以下、これらを総称してＲＡＭと呼ぶことがある）に記憶される主なデータについて説明する。図１０は、ゲーム装置１０のＲＡＭ（メインメモリ３２等）のメモリマップを示す図である。図１０に示されるように、ＲＡＭには、ゲームプログラム７０、左目用実画像７１Ｌ、右目用実画像７１Ｒ、加速度データ７２、キャラクタ姿勢情報７３、マーカ情報７４、左仮想キャラクタ画像７５Ｌ、右仮想キャラクタ画像７５Ｒ、閾値データ７６、前回キャラクタ姿勢情報７７等が記憶される。これらの他、ＲＡＭには、仮想キャラクタ６５の形状を示すデータ、ユーザによって行われたボタン操作に関するデータ等が記憶される。
【００８７】
ゲームプログラム７０は、後述するフローチャートに示される表示処理を情報処理部３１（ＣＰＵ３１１）に実行させるためのプログラムである。
【００８８】
左目用実画像７１Ｌは、外側撮像部（左）２３ａによって撮像された画像であり、ユーザの左目で視認される左目用実画像である。右目用実画像７１Ｒは、外側撮像部（右）２３ｂによって撮像された画像であり、ユーザの右目で視認される右目用実画像である。
【００８９】
加速度データ７２は、加速度センサ３９が検出した各軸（ｘ軸、ｙ軸、ｚ軸）方向の加速度の値を示すデータである。加速度センサ３９は、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、各軸の直線加速度の大きさを検出する。加速度センサ３９は所定の時間間隔で各軸方向の加速度を検出し、当該各軸方向の加速度の値は、当該所定の時間間隔で加速度データ７２としてＲＡＭに記憶される。
【００９０】
キャラクタ姿勢情報７３は、仮想キャラクタ６５の位置および姿勢を示す情報である。仮想キャラクタ６５の位置および姿勢を示す情報とは、仮想キャラクタ６５が配置される仮想空間（マーカ座標系）における位置および姿勢を示す情報である。具体的には、仮想キャラクタ６５の位置および姿勢を示す情報は、行列によって表わされる。
【００９１】
マーカ情報７４は、ゲーム装置１０（あるいは外側撮像部２３）を基準としたマーカ５１の位置および姿勢を示す情報であり、ゲーム装置１０を基準とした後述するマーカ座標系（図１２参照）の位置および姿勢を示す情報である。マーカ５１の位置および姿勢を示す情報は、行列によって表わされる。
【００９２】
左仮想キャラクタ画像７５Ｌは、仮想空間の仮想キャラクタ６５を仮想ステレオカメラ６３の左仮想カメラ６３ａ（図１７参照）で撮像した画像である。右仮想キャラクタ画像７５Ｒは、仮想空間の仮想キャラクタ６５を仮想ステレオカメラ６３の右仮想カメラ６３ｂ（図１７参照）で撮像した画像である。後述するように、仮想空間（マーカ座標系）には、仮想キャラクタ６５を撮像するための仮想ステレオカメラ６３が設定される。左仮想キャラクタ画像７５Ｌおよび右仮想キャラクタ画像７５Ｒは、当該仮想ステレオカメラ６３で仮想キャラクタ６５を撮像した画像である。
【００９３】
閾値データ７６は、仮想キャラクタ６５の姿勢を決定するために用いられる閾値を示すデータである。
【００９４】
前回キャラクタ姿勢情報７７は、１フレーム前の処理において決定された仮想キャラクタ６５の位置および姿勢を示す情報である。
【００９５】
（フローチャートの説明）
次に、表示処理の詳細について図１１を参照して説明する。図１１は、本実施形態に係る表示処理の詳細を示すメインフローチャートである。ゲーム装置１０の電源が投入されると、ゲーム装置１０の情報処理部３１（ＣＰＵ３１１）は、ＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３２等の各ユニットが初期化される。次に、不揮発性メモリ（外部メモリ４４等；コンピュータ読み取り可能な記憶媒体）に記憶されたゲームプログラム７０がＲＡＭ（具体的には、メインメモリ３２）に読み込まれ、情報処理部３１のＣＰＵ３１１によって当該プログラムの実行が開始される。図１１のフローチャートに示す処理は、以上の処理が完了した後に情報処理部３１（ＣＰＵ３１１又はＧＰＵ３１２）によって行われる。
【００９６】
なお、図１１では、本発明に直接関連しない処理については記載を省略する。また、図１１に示すステップＳ１０１〜ステップＳ１０９の処理は、１フレーム（例えば１／３０秒又は１／６０秒。フレーム時間という）毎に繰り返し実行される。
【００９７】
まず、ステップＳ１０１において、情報処理部３１は、外側撮像部２３によって撮像された画像を取得する。具体的には、情報処理部３１は、外側撮像部（左）２３ａによって撮像された画像を取得して、左目用実画像７１ＬとしてＲＡＭに保存するとともに、外側撮像部（右）２３ｂによって撮像された画像を取得して、右目用実画像７１ＲとしてＲＡＭに保存する。次に、情報処理部３１は、ステップＳ１０２の処理を実行する。
【００９８】
ステップＳ１０２において、情報処理部３１は、ＲＡＭに記憶された加速度データ７２を参照して、加速度センサ３９が検出した各軸方向の加速度の値を取得する。次に、情報処理部３１は、ステップＳ１０３の処理を実行する。
【００９９】
ステップＳ１０３において、情報処理部３１は、ステップＳ１０１で取得した画像に基づいて、ゲーム装置１０を基準としたマーカ５１の位置および姿勢を算出する。具体的には、情報処理部３１は、ステップＳ１０１で取得した左目用実画像７１Ｌおよび右目用実画像７１Ｒの何れかの画像または双方の画像に対してパターンマッチング等の画像処理を行い、マーカ５１を検出する。情報処理部３１は、検出したマーカ５１の画像の形状や大きさ、姿勢に基づいて、実空間のマーカ５１とゲーム装置１０との位置関係を算出し、マーカ５１上にマーカ座標系を設定する。
【０１００】
図１２は、マーカ５１上に設定されるマーカ座標系を示す図である。図１２に示すように、マーカ座標系（ＸＹＺ座標系）の原点は、マーカ５１の中心に設定される。マーカ座標系のＸ軸は、マーカ５１の中心から「Ｆｒｏｎｔ」と書かれた辺ＳＦに向かう方向（マーカ５１の中心から正方形領域５１ｄの中心に向かう方向とは反対方向）に設定される。また、マーカ座標系のＺ軸は、マーカ５１の中心から「Ｒｉｇｈｔ」と書かれた辺ＳＲに向かう方向（マーカ５１の中心から正方形領域５１ｃの中心に向かう方向）に設定される。また、マーカ座標系のＹ軸は、マーカ５１に対して垂直上向きの方向に設定される。ゲーム装置１０には、マーカ５１の形状や大きさ、領域５１ａ内に描かれたパターンが予め記憶されている。情報処理部３１は、左目用実画像７１Ｌおよび／または右目用実画像７１Ｒに含まれるマーカ５１の画像を検出することによって、マーカ座標系を設定する。このようにして設定されるマーカ座標系は、マーカ５１に固定された座標系であり、例えば、実空間のマーカ５１をマーカ５１の中心軸周りに回転させると、当該マーカ座標系も同様に回転する。
【０１０１】
より具体的には、情報処理部３１は、ステップＳ１０３において、ゲーム装置１０とマーカ５１との位置関係を示す行列を算出する。ゲーム装置１０とマーカ５１との位置関係を示す行列は、ゲーム装置１０を基準としたマーカ５１の位置および姿勢（回転）を示す行列、あるいは、マーカ５１を基準としたゲーム装置１０の位置および姿勢を示す行列である。図１２に示すように、ゲーム装置１０を基準としたマーカ５１の位置および姿勢を示す行列は、ゲーム装置１０に固定の本体座標系（ｘｙｚ座標系）で表される座標を、マーカ座標系（ＸＹＺ座標系）で表される座標に変換するための座標変換行列である。情報処理部３１は、取得した画像に含まれるマーカ５１の画像からマーカ５１とゲーム装置１０との距離、マーカ５１の向き等を算出することができ、ゲーム装置１０を基準としたマーカ５１の位置および姿勢を示す行列を算出することができる。情報処理部３１は、算出した行列をマーカ情報７４としてＲＡＭに記憶する。情報処理部３１は、ステップＳ１０３の処理の後、ステップＳ１０４の処理を実行する。なお、情報処理部３１は、左目用実画像７１Ｌおよび右目用実画像７１Ｒの何れかの画像または双方の画像の中からマーカ５１を検出しなかった場合、次以降の処理（ステップＳ１０４〜ステップＳ１０９の処理）を行わずに当該フローチャートの処理を終了する。
【０１０２】
ステップＳ１０４において、情報処理部３１は、ステップＳ１０２で取得した加速度の値に基づいて、本体座標系（ｘｙｚ座標系）の重力方向を算出する。具体的には、情報処理部３１は、ステップＳ１０２で取得したｘ軸方向の加速度の値Ｇｘ、ｙ軸方向の加速度の値Ｇｙ、ｚ軸方向の加速度の値Ｇｚを各成分とする加速度ベクトルＧ１（Ｇｘ，Ｇｙ，Ｇｚ）を算出する。次に、情報処理部３１は、ステップＳ１０５の処理を実行する。
【０１０３】
ステップＳ１０５において、情報処理部３１は、マーカ５１の位置および姿勢と、重力方向とに基づいて、マーカ座標系の重力方向を算出する。具体的には、情報処理部３１は、ステップＳ１０４で算出した加速度ベクトルＧ１に、ステップＳ１０３で算出したマーカ５１の位置および姿勢を示す行列をかけることにより、マーカ座標系の重力方向を示す加速度ベクトルＧ２（ＧＸ，ＧＹ，ＧＺ）を算出する。次に、情報処理部３１は、ステップＳ１０６の処理を実行する。
【０１０４】
ステップＳ１０６において、情報処理部３１は、ステップＳ１０５で算出したマーカ座標系の重力方向に基づいて、仮想キャラクタ６５の姿勢を決定する。具体的には、情報処理部３１は、まず、ステップＳ１０５で算出したマーカ座標系の重力方向を示す加速度ベクトルＧ２のうち、Ｙ軸成分の値ＧＹに基づいて、マーカ５１と地面との関係が、平行または垂直よりも平行に近いか、垂直または平行よりも垂直に近いかを判定する。
【０１０５】
図１３は、地面と平行なテーブル５０の上に置かれたマーカ５１をゲーム装置１０の外側撮像部２３で撮像する様子を示す図である。図１４は、地面と垂直な壁５２に貼り付けられたマーカ５１をゲーム装置１０の外側撮像部２３で撮像する様子を示す図である。図１３に示すように、ステップＳ１０４において算出される加速度ベクトルＧ１は、重力を本体座標系（ｘｙｚ座標系）で表したベクトルであり、ステップＳ１０５で算出される加速度ベクトルＧ２は、重力をマーカ座標系（ＸＹＺ座標系）で表したベクトルである。マーカ５１が地面に平行なテーブル５０の上に置かれる場合、加速度ベクトルＧ２のＹ軸負方向の値は、重力加速度の値Ｇと一致する（ＧＹ＝−Ｇ）。一方、図１４に示すように、マーカ５１が地面に垂直な壁５２に貼り付けられる場合、加速度ベクトルＧ２のＹ軸の値は０になる（ＧＹ＝０）。
【０１０６】
従って、情報処理部３１は、ステップＳ１０５で算出した加速度ベクトルＧ２（マーカ座標系の重力方向を示すベクトル）のＹ軸に関する値に基づいて、マーカ５１と地面との関係が平行または平行に近いか、垂直または垂直に近いかを判定する。なお、本実施形態においては、マーカ５１が地面と平行または平行に近いか、あるいは、地面と垂直または垂直に近いかの何れであるかを判定する。例えば、マーカ５１が地面に対して所定の角度だけ傾いた面に置かれている場合は、マーカ５１が地面と平行に近い面（テーブル５０）に置かれているものとする。また、例えば、マーカ５１が地面に対して所定の角度より大きな角度傾いた面に貼り付けられている場合は、マーカ５１が地面と垂直に近い面（壁５２）に貼り付けられているものとする。具体的には、情報処理部３１は、加速度ベクトルＧ２のＹ軸の値ＧＹの絶対値が第１の閾値（閾値データ７６によって示される閾値）よりも小さい場合、マーカ５１は、地面と垂直または垂直に近いと判定する。また、情報処理部３１は、加速度ベクトルＧ２のＹ軸の値ＧＹの絶対値が第２の閾値（＞第１の閾値；閾値データ７６によって示される閾値）よりも大きい場合、マーカ５１は、地面と平行または平行に近いと判定する。なお、情報処理部３１は、加速度ベクトルＧ２のＹ軸の値ＧＹが正か負かによって、マーカ５１が地面と平行または平行に近いテーブル５０等の上に置かれているか、地面と平行または平行に近い天井等に貼り付けられているかを判定することができる。すなわち、情報処理部３１は、ＧＹが負である場合は、マーカ５１はテーブル５０等の上に置かれている（マーカ５１を上から見ている）と判定することができる。また、情報処理部３１は、ＧＹが正である場合は、マーカ５１は天井等に貼り付けられている（マーカ５１を下から見ている）と判定することができる。
【０１０７】
マーカ５１が地面と平行または平行に近いと判定した場合、情報処理部３１は、仮想キャラクタ６５の位置および姿勢を決定する。図１５Ａは、マーカ５１が地面と平行なテーブル５０上に置かれた場合における仮想キャラクタ６５の位置および姿勢を示す図である。
【０１０８】
図１５Ａに示すように、情報処理部３１は、仮想キャラクタ６５の位置Ｐをマーカ座標系のＹ軸正方向の所定位置に決定する。また、情報処理部３１は、仮想キャラクタ６５の姿勢を姿勢Ａに決定する。姿勢Ａは、仮想キャラクタ６５がＸ軸正方向を向き、かつ、仮想キャラクタ６５の頭から足に向かう方向がＹ軸負方向（Ｙ軸正方向と反対方向）となる姿勢である。姿勢Ａは、マーカ５１と垂直または略垂直な姿勢であって、マーカ５１上に仮想キャラクタ６５が立つような姿勢である。このようにして、マーカ座標系の各軸を基準として仮想キャラクタ６５の位置および姿勢が決定される。これにより、図５および図６に示すように、地面と平行な面上に置かれたマーカ５１を異なる方向から外側撮像部２３で撮像した場合、異なる方向から仮想キャラクタ６５を見ることができる。
【０１０９】
なお、情報処理部３１は、マーカ５１が天井等に貼り付けられている（マーカ５１を下から見ている）場合、仮想キャラクタ６５の姿勢を上記姿勢Ａに決定してもよいし、姿勢Ａとは異なる姿勢Ｂに決定してもよい。図１５Ｂは、マーカ５１が地面と平行な天井５４等に貼り付けられた場合における仮想キャラクタ６５の位置および姿勢を示す図である。姿勢Ｂは、仮想キャラクタ６５がＸ軸正方向を向き、かつ、仮想キャラクタ６５の頭から足に向かう方向がＹ軸正方向となる姿勢である。すなわち、姿勢Ｂは、マーカ５１と垂直または略垂直な姿勢であって、仮想キャラクタ６５の頭の上方にマーカ５１が見える姿勢である。
【０１１０】
一方、マーカ５１が地面と垂直または垂直に近いと判定した場合、情報処理部３１は、さらに、ステップＳ１０６において、加速度ベクトルＧ２のＸ軸の値ＧＸおよびＺ軸の値ＧＺに基づいて、仮想キャラクタ６５の姿勢を決定する。図１６Ａは、「Ｆｒｏｎｔ」の文字が書かれた辺ＳＦが下側になるようにしてマーカ５１が地面と垂直な面に貼り付けられている場合における仮想キャラクタ６５の姿勢を示す図である。図１６Ｂは、「Ｒｉｇｈｔ」の文字が書かれた辺ＳＲが下側になるようにしてマーカ５１が地面と垂直な面に貼り付けられている場合における仮想キャラクタ６５の姿勢を示す図である。図１６Ｃは、「Ｂａｃｋ」の文字が書かれた辺ＳＢが下側になるようにしてマーカ５１が地面と垂直な面に貼り付けられている場合における仮想キャラクタ６５の姿勢を示す図である。図１６Ｄは、「Ｌｅｆｔ」の文字が書かれた辺ＳＬが下側になるようにしてマーカ５１が地面と垂直な面に貼り付けられている場合における仮想キャラクタ６５の姿勢を示す図である。
【０１１１】
図１６Ａに示すように、「Ｆｒｏｎｔ」の文字が書かれた辺ＳＦが下側になるようにしてマーカ５１が地面と垂直な面（壁５２）に貼り付けられている場合、マーカ座標系のＹ軸は、壁５２と垂直な方向に設定される。また、マーカ座標系のＸ軸はマーカ５１の中心から下方に向かって設定され、マーカ座標系のＺ軸はマーカ５１の中心から右方向（図１６Ａでは紙面の手前方向）に向かって設定される。また、加速度ベクトルＧ２のＸ軸の値ＧＸは重力加速度Ｇと一致し、加速度ベクトルＧ２のＺ軸の値ＧＺは０となる。この場合、仮想キャラクタ６５の位置Ｐは、マーカ座標系のＹ軸正方向の所定位置に決定される。また、仮想キャラクタ６５の姿勢は、姿勢Ｃに決定される。姿勢Ｃは、仮想キャラクタ６５の視線方向がマーカ座標系のＹ軸正方向と一致または略一致し、かつ、仮想キャラクタ６５の頭から足に向かう方向がマーカ座標系のＸ軸正方向と一致または略一致する姿勢である。このように、位置および姿勢が決定された仮想キャラクタ６５を、外側撮像部２３と一致する位置および姿勢で設定された仮想ステレオカメラ６３（図１７）で撮像することによって、仮想キャラクタ６５が正面を向いた画像が生成される。
【０１１２】
また、図１６Ｂに示すように、「Ｒｉｇｈｔ」の文字が書かれた辺ＳＲが下側になるようにしてマーカ５１が地面と垂直な面（壁５２）に貼り付けられている場合、マーカ座標系のＺ軸はマーカ５１の中心から下方に向かって設定される。また、マーカ座標系のＸ軸は、マーカ５１の中心から左方向（図１６Ｂでは紙面の奥方向）に向かって設定される。また、加速度ベクトルＧ２のＺ軸の値ＧＺは重力加速度Ｇと一致し、加速度ベクトルＧ２のＸ軸の値ＧＸは０となる。この場合、仮想キャラクタ６５の位置Ｐは、マーカ座標系のＹ軸正方向の所定位置に決定される。また、仮想キャラクタ６５の姿勢は、姿勢Ｄに決定される。姿勢Ｄは、仮想キャラクタ６５の視線方向がマーカ座標系のＸ軸正方向と一致または略一致し、かつ、仮想キャラクタ６５の頭から足に向かう方向がマーカ座標系のＺ軸正方向と一致または略一致する姿勢である。このように、位置および姿勢が決定された仮想キャラクタ６５を、外側撮像部２３と一致する位置および姿勢で設定された仮想ステレオカメラ６３（図１７）で撮像することによって、仮想キャラクタ６５を右側から見た画像（仮想キャラクタ６５の左側を撮像した画像）が生成される。
【０１１３】
また、図１６Ｃに示すように、「Ｂａｃｋ」の文字が書かれた辺ＳＢが下側になるようにしてマーカ５１が地面と垂直な面（壁５２）に貼り付けられている場合、マーカ座標系のＸ軸はマーカ５１の中心から上方に向かって設定される。また、マーカ座標系のＺ軸は、マーカ５１の中心から左方向（図１６Ｂでは紙面の奥方向）に向かって設定される。また、加速度ベクトルＧ２のＸ軸の値ＧＸは−Ｇとなり、加速度ベクトルＧ２のＺ軸の値ＧＺは０となる。この場合、仮想キャラクタ６５の位置Ｐは、マーカ座標系のＹ軸正方向の所定位置に決定される。また、仮想キャラクタ６５の姿勢は、姿勢Ｅに決定される。姿勢Ｅは、仮想キャラクタ６５の視線方向がマーカ座標系のＹ軸負方向と一致または略一致し、かつ、仮想キャラクタ６５の頭から足に向かう方向がマーカ座標系のＸ軸負方向と一致または略一致する姿勢である。このように、位置および姿勢が決定された仮想キャラクタ６５を、外側撮像部２３と一致する位置および姿勢で設定された仮想ステレオカメラ６３（図１７）で撮像することによって、仮想キャラクタ６５を後ろ側から見た画像（仮想キャラクタ６５の背面を撮像した画像）が生成される。
【０１１４】
また、図１６Ｄに示すように、「Ｌｅｆｔ」の文字が書かれた辺ＳＬが下側になるようにしてマーカ５１が地面と垂直な面（壁５２）に貼り付けられている場合、マーカ座標系のＺ軸はマーカ５１の中心から上方に向かって設定される。また、マーカ座標系のＸ軸は、マーカ５１の中心から右方向（図１６Ｂでは紙面の手前方向）に向かって設定される。また、加速度ベクトルＧ２のＺ軸の値ＧＺは−Ｇとなり、加速度ベクトルＧ２のＸ軸の値ＧＸは０となる。この場合、仮想キャラクタ６５の位置Ｐは、マーカ座標系のＹ軸正方向の所定位置に決定される。また、仮想キャラクタ６５の姿勢は、姿勢Ｆに決定される。姿勢Ｆは、仮想キャラクタ６５の視線方向がマーカ座標系のＸ軸正方向と一致または略一致し、かつ、仮想キャラクタ６５の頭から足に向かう方向がマーカ座標系のＺ軸負方向と一致または略一致する姿勢である。このように、位置および姿勢が決定された仮想キャラクタ６５を、外側撮像部２３と一致する位置および姿勢で設定された仮想ステレオカメラ６３（図１７）で撮像することによって、仮想キャラクタ６５を左側から見た画像（仮想キャラクタ６５の右側を撮像した画像）が生成される。
【０１１５】
図１６Ａ〜図１６Ｄに示す仮想キャラクタ６５の姿勢は、加速度ベクトルＧ２のＸ軸の値ＧＸおよびＺ軸の値ＧＺに基づいて、決定される。例えば、ＧＸが正の値であって、所定の閾値よりも大きい場合、仮想キャラクタ６５の姿勢は、図１６Ａに示す姿勢Ｃに決定される。また、例えば、ＧＺが正の値であって、所定の閾値よりも大きい場合、仮想キャラクタ６５の姿勢は、図１６Ｂに示す姿勢Ｄに決定される。なお、これら姿勢の判定に用いられる各閾値は、ＲＡＭに記憶された閾値データ７６によって示される閾値であり、後述するステップＳ１０９において再設定される。
【０１１６】
以上のように、ステップＳ１０６においては、ステップＳ１０５で算出された加速度ベクトルＧ２（重力をマーカ座標系で表したベクトル）に基づいて、仮想キャラクタ６５の位置および姿勢が決定される。情報処理部３１は、決定した仮想キャラクタ６５の位置および姿勢を示す行列を、キャラクタ姿勢情報７３としてＲＡＭに記憶する。ステップＳ１０６の後、情報処理部３１は、次にステップＳ１０７の処理を実行する。
【０１１７】
ステップＳ１０７において、情報処理部３１は、仮想キャラクタ６５を上側ＬＣＤ２２に表示させる。具体的には、情報処理部３１は、まず、仮想空間（マーカ座標系）に仮想キャラクタ６５を配置するとともに、仮想ステレオカメラ６３を仮想空間に設定する。
【０１１８】
図１７は、仮想空間に設定された仮想ステレオカメラ６３および仮想キャラクタ６５を示す図である。図１７に示すように、仮想ステレオカメラ６３は、左仮想カメラ６３ａと右仮想カメラ６３ｂとを含む。マーカ座標系における左仮想カメラ６３ａの位置および姿勢は、マーカ情報７４（ゲーム装置１０を基準としたマーカ５１の位置および姿勢を示す行列を表す情報）に基づいて設定される。具体的には、左仮想カメラ６３ａの位置および姿勢は、マーカ５１を基準とした外側撮像部（左）２３ａの位置および姿勢と対応して、設定される。すなわち、マーカ座標系から見た左仮想カメラ６３ａの位置および姿勢は、実空間におけるマーカ５１を基準とした外側撮像部（左）２３ａの位置および姿勢と一致する。同様に、マーカ座標系における右仮想カメラ６３ｂの位置および姿勢は、マーカ情報７４（ゲーム装置１０を基準としたマーカ５１の位置および姿勢を示す行列を表す情報）に基づいて設定される。具体的には、右仮想カメラ６３ｂの位置および姿勢は、マーカ５１を基準とした外側撮像部（右）２３ｂの位置および姿勢と対応して、設定される。すなわち、マーカ座標系から見た右仮想カメラ６３ｂの位置および姿勢は、実空間におけるマーカ５１を基準とした外側撮像部（右）２３ｂの位置および姿勢と一致する。
【０１１９】
なお、左仮想カメラ６３ａおよび右仮想カメラ６３ｂの姿勢は、必ずしも外側撮像部（左）２３ａおよび外側撮像部（右）２３ｂの姿勢と一致する必要はない。例えば、外側撮像部（左）２３ａの撮像方向と外側撮像部（右）２３ｂの撮像方向とは、平行であるが、左仮想カメラ６３ａの撮像方向と右仮想カメラ６３ｂの撮像方向とは、必ずしも平行である必要はない。例えば、左仮想カメラ６３ａと右仮想カメラ６３ｂとが、互いに内側を向くように設定されてもよい。また、外側撮像部（左）２３ａと外側撮像部（右）２３ｂとの間の距離ＬＡは固定であるが、左仮想カメラ６３ａと右仮想カメラ６３ｂとの間の距離ＬＢは、距離ＬＡに応じた固定の値であってもよいし、可変の値であってもよい。例えば、左仮想カメラ６３ａと右仮想カメラ６３ｂとの間の距離ＬＢは、３Ｄ調整スイッチ２５のスライダ２５ａの位置に応じて設定されてもよい。
【０１２０】
また、情報処理部３１は、仮想空間に仮想キャラクタ６５を配置する。具体的には、情報処理部３１は、ステップＳ１０６で決定した位置および姿勢で仮想キャラクタ６５を仮想空間に配置する。情報処理部３１は、仮想空間に仮想ステレオカメラ６３および仮想キャラクタ６５を設定した後、当該仮想ステレオカメラ６３で仮想キャラクタ６５を含む仮想空間を撮像することにより、左仮想キャラクタ画像７５Ｌと右仮想キャラクタ画像７５Ｒとを生成して、当該２つの画像をＲＡＭに記憶する。左仮想キャラクタ画像７５Ｌは、左仮想カメラ６３ａで仮想キャラクタ６５を含む仮想空間を撮像した画像であり、右仮想キャラクタ画像７５Ｒは、右仮想カメラ６３ｂで仮想キャラクタ６５を含む仮想空間を撮像した画像である。次に、情報処理部３１は、ステップＳ１０１で取得してＲＡＭに記憶した左目用実画像７１Ｌと左仮想キャラクタ画像７５Ｌとを重ね合わせた左重畳画像を生成する。また、情報処理部３１は、ステップＳ１０１で取得してＲＡＭに記憶した右目用実画像７１Ｒと右仮想キャラクタ画像７５Ｒとを重ね合わせた右重畳画像を生成する。そして、情報処理部３１は、左重畳画像および右重畳画像を上側ＬＣＤ２２に表示する。具体的には、情報処理部３１は、視差バリアを介してユーザの左目に左重畳画像、ユーザの右目に右重畳画像が視認されるように、２つの画像を上側ＬＣＤ２２に表示させる。これにより、上側ＬＣＤ２２には立体視画像が表示される。
【０１２１】
ステップＳ１０７の後、情報処理部３１は、次にステップＳ１０８の処理を実行する。
【０１２２】
ステップＳ１０８において、情報処理部３１は、表示態様の切り替えが行われたか否かを判定する。ここでは、今回のフレームにおけるステップＳ１０６の処理で決定された仮想キャラクタ６５の姿勢が、前回のフレームにおけるステップＳ１０６の処理で決定された仮想キャラクタ６５の姿勢と異なるか否かが判定される。具体的には、情報処理部３１は、前回キャラクタ姿勢情報７７が示す仮想キャラクタ６５の姿勢と、キャラクタ姿勢情報７３が示す仮想キャラクタ６５の姿勢とが異なるか否かを判定する。今回のフレームで決定された仮想キャラクタ６５の姿勢が、前回のフレームで決定された仮想キャラクタ６５の姿勢と異なる場合、情報処理部３１は、表示態様の切り替えが行われたと判定して、次にステップＳ１０９の処理を実行する。一方、表示態様の切り替えが行われなかった場合、情報処理部３１は、前回キャラクタ姿勢情報７７にキャラクタ姿勢情報７３をコピーして、図１１に示すフローチャートの処理を終了する。
【０１２３】
ステップＳ１０９において、情報処理部３１は、仮想キャラクタ６５の姿勢を決定するための閾値を再設定する。ステップＳ１０９の処理は、加速度ベクトルＧ２の各軸方向の値が閾値付近で変化している場合において、仮想キャラクタ６５の姿勢（表示態様）が頻繁に切り替わることを防止するために行われる。
【０１２４】
図１８Ａは、マーカ５１が傾いた状態で壁５２に貼り付けられている場合において、仮想キャラクタ６５が正面を向くように設定された様子を示す図である。図１８Ｂは、マーカ５１が傾いた状態で壁５２に貼り付けられている場合において、仮想キャラクタ６５が左側を向くように設定された様子を示す図である。図１８Ａおよび図１８Ｂに示すように、マーカ５１の中心軸周りにマーカ５１を所定の閾値を超えて回転させると、仮想キャラクタ６５の姿勢が、正面を向く姿勢（姿勢Ｃ）から左側を向く姿勢（姿勢Ｄ）に変化する。当該閾値付近で、マーカ５１の中心軸周りにマーカ５１を左右方向に回転させると、仮想キャラクタ６５の姿勢が頻繁に切り替わることになる。ステップＳ１０９では、このような仮想キャラクタ６５の姿勢が頻繁に切り替わることを防止するために、仮想キャラクタ６５の姿勢を決定するための閾値を再設定する。仮想キャラクタ６５の姿勢を決定するための閾値を再設定する処理について、図１９を用いて説明する。図１９は、仮想キャラクタ６５の姿勢を決定するための閾値を再設定する処理を概念的に示す図である。
【０１２５】
例えば、図１９に示すように、加速度ベクトルＧ２のＺ軸の値ＧＺが境界値Ａよりも小さい場合に、仮想キャラクタ６５の姿勢が、姿勢Ｃに設定され、ＧＺが境界値Ａ以上の場合に、姿勢Ｄに設定されるものとする。この境界値Ａは、予め定められた値であり、初期的に設定される。前回のフレームにおいて算出された仮想キャラクタ６５の姿勢が姿勢Ｃである場合において、今回のフレームにおいて算出されたＧＺの値が境界値Ａを超えると、今回のフレームにおいて姿勢Ｃから姿勢Ｄに遷移する。この場合、今回のフレームにおけるステップＳ１０９の処理において、情報処理部３１は、姿勢Ｄから姿勢Ｃに切り替えるための閾値を、境界値Ａから境界値Ｂ（＜境界値Ａ）に変更する。このように、ある姿勢から別の姿勢に遷移する際に、姿勢を決定するための閾値（境界値）を変更することにより、閾値付近でマーカ５１を左右方向に回転させても、仮想キャラクタ６５の姿勢が２つの姿勢の間で頻繁に切り替わることを防止することができる。
【０１２６】
ステップＳ１０９の処理が終了した後、情報処理部３１は、前回キャラクタ姿勢情報７７にキャラクタ姿勢情報７３をコピーして、図１１に示すフローチャートの処理を終了する。
【０１２７】
以上のように、本実施形態では、マーカ５１を検出して、マーカ５１とゲーム装置１０との位置関係を算出し、加速度センサ３９が検出した加速度の値に基づいて、重力の方向を算出する。これにより、算出した位置関係と重力の方向とに基づいて、仮想キャラクタ６５の姿勢を変化させることができる。このように、本実施形態では、マーカ５１とゲーム装置１０との位置関係と、重力の方向とに基づいて、仮想キャラクタ６５の姿勢を変化させることができるため、容易に仮想キャラクタ６５を様々な方向から見ることができる。
【０１２８】
（変形例）
なお、本実施形態では、加速度センサ３９が検出する加速度に基づいて、重力方向を基準としたゲーム装置１０の姿勢を算出した。他の実施形態では、角速度センサ４６が検出する角速度に基づいて、ゲーム装置１０の姿勢を算出してもよい。例えば角速度センサ４６を用いて、ゲーム装置１０は、重力方向に対する傾きに限らず、重力方向周りの回転に関する姿勢を算出することができ、実空間の絶対的な姿勢を算出することができる。ゲーム装置１０は、角速度センサ４６が検出する各軸（ｘ、ｙ、ｚ軸）周りの角速度を時間で積分することによって、各軸周りの回転角を算出することができ、基本姿勢からの姿勢の変化を算出することができる。基本姿勢は、例えば、ゲーム装置１０を地面に水平な面上に置いたときの姿勢である。このように、ゲーム装置１０は、姿勢を検出するための手段（加速度センサ３９や角速度センサ４６等）が検出した値を用いて、ゲーム装置１０の姿勢を算出することができる。そして、ゲーム装置１０は、算出した姿勢と、マーカ５１と外側撮像部２３との位置関係とに基づいて、仮想キャラクタ６５の姿勢を決定してもよい。
【０１２９】
また、他の実施形態では、上記加速度センサ３９や角速度センサ４６に加えて（または替えて）、例えば、地磁気センサによってゲーム装置１０（外側撮像部２３）の実空間における姿勢を算出してもよい。これら各種センサを用いてゲーム装置１０（外側撮像部２３）の実空間における姿勢を算出し、さらに外側撮像部２３でマーカ５１を撮像することにより、所定の方向（例えば、重力方向、重力に対して水平な方向、東西南北の方向等）を基準としたマーカ５１の姿勢を算出することができる。そして、所定方向を基準としたマーカ５１の姿勢に応じて、仮想キャラクタ６５の姿勢を決定することができる。
【０１３０】
また、本実施形態では、６つの方向（上下前後左右）の何れの方向からマーカ５１を撮像したかによって、仮想キャラクタ６５の姿勢を決定した。６つの方向とは、テーブル５０等の上に置かれたマーカ５１を上から撮像する方向、天井５４等に貼り付けられたマーカ５１を下から撮像する方向、前後左右の辺が下側になるようにして壁５２等に貼り付けられたマーカ５１を撮像する方向である。他の実施形態では、６つの方向に限らない。例えば、地面に対して傾いた面に置かれたマーカ５１を撮像した場合に、上記とは異なる姿勢の仮想キャラクタ６５が表示されてもよい。
【０１３１】
また、本実施形態では、ゲーム装置１０の姿勢と、上記マーカ５１と外側撮像部２３との位置関係とに基づいて、仮想キャラクタ６５の姿勢を決定した。他の実施形態では、仮想オブジェクトの表示態様を決定してもよい。仮想オブジェクトの表示態様は、例えば、仮想オブジェクトの位置、姿勢（上記実施形態のようなどの方向を向いているかに関する姿勢や、例えば手を挙げたり、座ったりするポーズ）や表情、動作パターン、所持するアイテム、仮想オブジェクトの立体感（視差によって生じる立体感）、仮想オブジェクトの色や明るさ等であってもよい。また、他の実施形態では、表示装置に表示する仮想オブジェクトは、仮想空間に配置される仮想キャラクタ等に限らず、例えば、文字や所定の画像等であってもよい。
【０１３２】
また、他の実施形態では、ゲーム装置１０の姿勢と、上記マーカ５１と外側撮像部２３との位置関係とに基づいて、表示するオブジェクトの種類や数を決定してもよい。例えば、ゲーム装置１０には、予め複数の種類の仮想オブジェクト（上記仮想キャラクタや他の任意の仮想オブジェクト等）が用意されており、ゲーム装置１０の姿勢と、上記マーカ５１と外側撮像部２３との位置関係とに基づいて、これら複数種類の仮想オブジェクトのうち、どの仮想オブジェクトを表示するかを決定してもよい。
【０１３３】
また、本実施形態では、平面状で四角形のマーカ５１が用いられた。他の実施形態では、どのようなマーカが用いられてもよく、立体形状のマーカ（特定対象物）が用いられてもよい。例えば、立方体の所定面に所定のパターンが描かれたマーカが用いられてもよい。この場合、例えば、テーブル５０等の上に、立方体の所定面が重力と垂直になるように立方体が置かれている場合と、立方体の所定面が重力と平行になるように立方体が置かれている場合とで、仮想オブジェクトの表示態様等が異なるようにしてもよい。
【０１３４】
また、本実施形態では、加速度センサ３９は下側ハウジング１１に収納され、加速度センサ３９が検出した加速度を外側撮像部２３の姿勢を示す情報として用いた。この場合、上側ハウジング２１が１８０度回転されて開かれた状態（図１に示すように下側ハウジング１１の内側面と上側ハウジング２１の内側面とが平行になる状態）であることを前提にして、外側撮像部２３の姿勢を算出した。他の実施形態では、上側ハウジング２１の回転角を検出するセンサを、下側ハウジング１１と上側ハウジング２１とを回転可能にするヒンジ部に設けてもよい。そして、下側ハウジング１１に収納された加速度センサ３９の検出結果と、当該回転角を検出するセンサの検出結果とを用いて、外側撮像部２３の姿勢（重力に対する姿勢）を算出してもよい。
【０１３５】
また、他の実施形態では、仮想オブジェクトは立体画像を表示する表示装置に表示されずに、平面画像を表示する表示装置に表示されてもよい。
【０１３６】
また、本実施形態では、ビデオシースルー方式を用いて拡張現実感を実現した。すなわち、本実施形態では、外側撮像部２３によって撮像された画像と、仮想カメラ（左右の仮想カメラ）によって撮像された画像とが重ね合わされて重畳画像が生成され、当該重畳画像が上側ＬＣＤ２２に表示された。他の実施形態では、光学シースルー方式により拡張現実感を実現してもよい。例えば、実空間に配置されたマーカを検出するためのカメラを備えたヘッドマウンドディスプレイをユーザが装着し、ユーザはメガネのレンズ部分に相当するディスプレイ部を通して実空間を視認できるようになっている。このディプレイ部は、現実空間を透過してユーザの目に直接導くことが可能な素材によって構成されている。さらに、このディスプレイ部にはコンピュータにより生成した仮想オブジェクトの画像を表示させることができるようになっている。
【０１３７】
また、本実施形態では、実カメラ（外側撮像部２３）で撮像された実画像に仮想カメラで撮像した画像を重ね合わせて、当該重ね合わされた画像が表示装置に表示されたが、他の実施形態では、実画像を表示装置に表示しなくてもよい。
【０１３８】
また、本実施形態では、実カメラ（外側撮像部２３）、姿勢検出手段（加速度センサ３９や角速度センサ４６）、および、表示装置（上側ＬＣＤ２２）が一体となった装置を用いて、上記表示制御処理を行った。他の実施形態では、これらは別々の装置として構成されて互いに接続されてもよい。この場合、実カメラによって撮像された画像中のマーカ５１を検出し、実カメラとマーカ５１との位置関係を算出する。また、姿勢検出手段は、実カメラの姿勢を検出する。そして、算出した位置関係と、姿勢検出手段が検出した実カメラの姿勢とに基づいて、仮想オブジェクトの表示態様や表示する仮想オブジェクト種類等を決定する。
【０１３９】
また、他の実施形態では、上述した表示制御方法は、携帯型ゲーム装置に限らず、据置型ゲーム装置や他の任意の電子機器、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や高機能携帯電話、パーソナルコンピュータ等に適用されてもよい。
【０１４０】
また、本実施形態では、表示装置として裸眼で立体視画像を表示可能なＬＣＤが用いられた。他の実施形態では、眼鏡を用いて立体視画像を表示するような方式（時分割方式や偏向方式、アナグリフ方式（赤青眼鏡方式）など）や、ヘッドマウントディスプレイを用いる方式等においても、本発明は適用可能である。
【０１４１】
また、他の実施形態では、有線や無線等で通信可能に接続された複数の情報処理装置が各処理を分担して処理することにより、上述した表示制御方法を実現する表示制御システムとして構築されてもよい。例えば、撮像装置と表示装置とが接続された端末が、インターネット上のサーバにアクセスし、上述した処理の少なくとも一部を当該サーバが実行してもよい。
【０１４２】
また、上記実施形態においては、ゲーム装置１０の情報処理部３１が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われた。他の実施形態においては、上記処理の一部又は全部は、ゲーム装置１０が備える専用回路によって行われてもよい。
【符号の説明】
【０１４３】
１０  ゲーム装置
１１  下側ハウジング
１２  下側ＬＣＤ
１３  タッチパネル
１４  操作ボタン
１５  アナログスティック
１６  ＬＥＤ
２１  上側ハウジング
２２  上側ＬＣＤ
２３  外側撮像部
２３ａ  外側撮像部（左）
２３ｂ  外側撮像部（右）
２４  内側撮像部
２５  ３Ｄ調整スイッチ
２６  ３Ｄインジケータ
２８  タッチペン
３１  情報処理部
３１１  ＣＰＵ
３１２  ＧＰＵ
３２  メインメモリ
５０  テーブル
５１  マーカ
５２  壁
５４  天井
６３  仮想ステレオカメラ
６５  仮想キャラクタ
【図１】
0005702653.tif 000002
【図２】
0005702653.tif 000003
【図３】
0005702653.tif 000004
【図４】
0005702653.tif 000005
【図５】
0005702653.tif 000006
【図６】
0005702653.tif 000007
【図７】
0005702653.tif 000008
【図８】
0005702653.tif 000009
【図９】
0005702653.tif 000010
【図１０】
0005702653.tif 000011
【図１１】
0005702653.tif 000012
【図１２】
0005702653.tif 000013
【図１３】
0005702653.tif 000014
【図１４】
0005702653.tif 000015
【図１５Ａ】
0005702653.tif 000016
【図１５Ｂ】
0005702653.tif 000017
【図１６Ａ】
0005702653.tif 000018
【図１６Ｂ】
0005702653.tif 000019
【図１６Ｃ】
0005702653.tif 000020
【図１６Ｄ】
0005702653.tif 000021
【図１７】
0005702653.tif 000022
【図１８Ａ】
0005702653.tif 000023
【図１８Ｂ】
0005702653.tif 000024
【図１９】
0005702653.tif 000025