(57)【特許請求の範囲】
【請求項１】
表示装置に画像を表示させる表示制御装置のコンピュータを、
実カメラによって撮像された撮像画像を取得する撮像画像取得手段、
前記撮像画像取得手段によって取得された撮像画像において、ＲＧＢ値、色相、彩度、および明度からなる群から選ばれた少なくとも１つを含む色情報に対して特定の範囲の色情報を有する少なくとも１つの画素を検出する色検出手段、
同じ前記特定の範囲の色情報を有する画素で繋がっている画素群が所定の領域以上検出された場合、当該特定の範囲の色情報に基づいて、仮想世界に配置されるオブジェクトの画像を生成する画像生成手段、および
前記画像生成手段によって生成された画像を前記表示装置に表示する画像表示制御手段として機能させる、表示制御プログラム。
【請求項２】
前記画像生成手段は、前記撮像画像取得手段によって取得された撮像画像と前記オブジェクトを仮想世界に配置して仮想カメラから見た仮想世界画像とを合成した合成画像を生成し、
前記画像表示制御手段は、前記画像生成手段により生成された合成画像を前記表示装置に表示する、請求項１に記載の表示制御プログラム。
【請求項３】
前記画像生成手段は、前記色検出手段により検出された前記特定の範囲の色情報を有する画素群の中心を前記撮像画像における検出位置として、前記仮想世界画像における前記オブジェクトの画像が当該検出位置に重なって前記撮像画像に合成されるように当該オブジェクトを仮想世界に配置し、前記仮想カメラから前記オブジェクトを見た仮想世界の画像を前記仮想世界画像として生成する、請求項２に記載の表示制御プログラム。
【請求項４】
前記画像生成手段は、前記実カメラの動きを検出する検出手段からの出力に基づいて、当該実カメラの動きを検出し、当該実カメラの動きと同じ動きを前記仮想カメラに与えて当該仮想カメラの位置および撮像方向を設定する仮想カメラ設定手段を含み、
前記画像生成手段は、前記オブジェクトを仮想世界に配置した前記仮想世界画像を生成した後、前記仮想カメラ設定手段によって設定された仮想カメラから前記オブジェクトを見た仮想世界の画像を前記仮想世界画像として生成する、請求項３に記載の表示制御プログラム。
【請求項５】
前記色検出手段は、
前記撮像画像取得手段により取得された撮像画像において、前記特定の範囲の色情報を有する画素の領域を検出する領域検出手段と、
前記領域検出手段により検出された領域にしたがって決められる面積を算出する面積算出手段とを含み、
前記画像生成手段は、前記面積算出手段により算出された面積に応じて、前記オブジェクトの大きさを設定して当該オブジェクトの画像を生成する、請求項１乃至４のいずれか１つに記載の表示制御プログラム。
【請求項６】
前記画像生成手段は、前記色情報の特定の範囲毎に複数のオブジェクトを予め設定するオブジェクト設定手段を含み、
前記画像生成手段は、前記複数のオブジェクトのうち、前記色検出手段が検出した画素が有する前記特定の範囲の色情報に対応するオブジェクトを仮想世界に配置して、当該オブジェクトの画像を生成する、請求項１乃至５のいずれか１つに記載の表示制御プログラム。
【請求項７】
ユーザが入力した操作入力を示すデータを取得する操作入力データ取得手段と、
前記操作入力データ取得手段が取得したデータが所定の操作入力を示す場合、前記仮想世界に前記オブジェクトとは異なる操作オブジェクトを配置する操作オブジェクト配置手段と、
仮想世界において前記オブジェクトと前記操作オブジェクトとが所定の位置関係となった場合に、所定の点数を加点する加点手段として、前記コンピュータをさらに機能させ、
前記画像生成手段は、仮想世界に前記操作オブジェクトも配置して、前記オブジェクトおよび前記操作オブジェクトの画像を生成する、請求項１乃至６のいずれか１つに記載の表示制御プログラム。
【請求項８】
所定のアルゴリズムにしたがって移動する移動オブジェクトを前記操作オブジェクトとは別に前記仮想世界に配置する移動オブジェクト配置手段として、前記コンピュータをさらに機能させ、
前記加点手段は、前記移動オブジェクトと前記操作オブジェクトとが所定の位置関係となった場合に、所定の点数をさらに加点し、
前記画像生成手段は、仮想世界に前記移動オブジェクトも配置して、前記オブジェクト、前記操作オブジェクト、および前記移動オブジェクトの画像を生成する、請求項７に記載の表示制御プログラム。
【請求項９】
前記色検出手段は、彩度および明度を示す色情報がそれぞれ所定の閾値以上に高く、かつ、色相を示す色情報が所定の範囲内を示す少なくとも１つの画素を検出する、請求項１乃至８のいずれか１つに記載の表示制御プログラム。
【請求項１０】
前記色検出手段は、
前記撮像画像を複数の画素で構成されるブロックに分割するブロック分割手段と、
前記ブロックに属する画素がそれぞれ有するＲＧＢ値に基づいて、当該ブロックに対する色相を示す値を前記ブロック毎に算出する色相算出手段と、
前記ブロックに対する色相を示す値が含まれる所定の色相範囲に基づいて、前記ブロックが属する色相分類をそれぞれ設定するブロック分類手段と、
隣接するブロックが同じ色相分類に属するブロック群の大きさに応じて、前記オブジェクトの画像を生成する対象とするブロック群を選択するブロック群選択手段とを含み、
前記画像生成手段は、前記ブロック群選択手段が選択したブロック群の色相分類に応じて、仮想世界に配置するオブジェクトを選択する、請求項１乃至８のいずれか１つに記載の表示制御プログラム。
【請求項１１】
前記撮像画像取得手段は、前記表示制御装置が利用可能な実カメラによってリアルタイムに撮像された実世界の撮像画像を繰り返し取得し、
前記色検出手段は、前記撮像画像取得手段によって繰り返し取得された撮像画像それぞれにおいて、前記特定の範囲の色情報を有する画素を検出し、
前記画像生成手段は、前記撮像画像取得手段によって繰り返し取得された撮像画像それぞれと当該撮像画像から生成された仮想世界画像とを合成して繰り返し前記合成画像を生成し、
前記画像表示制御手段は、前記撮像画像取得手段によって繰り返し取得された撮像画像それぞれに前記仮想世界画像が合成画像を前記表示装置に繰り返し表示する、請求項２乃至４のいずれか１つに記載の表示制御プログラム。
【請求項１２】
表示装置に画像を表示させる表示制御装置であって、
実カメラによって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像画像取得手段によって取得された撮像画像において、ＲＧＢ値、色相、彩度、および明度からなる群から選ばれた少なくとも１つを含む色情報に対して特定の範囲の色情報を有する少なくとも１つの画素を検出する色検出手段と、
同じ前記特定の範囲の色情報を有する画素で繋がっている画素群が所定の領域以上検出された場合、当該特定の範囲の色情報に基づいて、仮想世界に配置されるオブジェクトの画像を生成する画像生成手段と、
前記画像生成手段によって生成された画像を前記表示装置に表示する画像表示制御手段とを備える、表示制御装置。
【請求項１３】
複数の装置が通信可能に構成され、表示装置に画像を表示させる表示制御システムであって、
実カメラによって撮像された撮像画像を取得する撮像画像取得手段と、
前記撮像画像取得手段によって取得された撮像画像において、ＲＧＢ値、色相、彩度、および明度からなる群から選ばれた少なくとも１つを含む色情報に対して特定の範囲の色情報を有する少なくとも１つの画素を検出する色検出手段と、
同じ前記特定の範囲の色情報を有する画素で繋がっている画素群が所定の領域以上検出された場合、当該特定の範囲の色情報に基づいて、仮想世界に配置されるオブジェクトの画像を生成する画像生成手段と、
前記画像生成手段によって生成された画像を前記表示装置に表示する画像表示制御手段とを備える、表示制御システム。
【請求項１４】
表示装置に画像を表示させる表示制御処理が可能な少なくとも１つの情報処理装置により構成される表示制御システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行される表示制御方法であって、
実カメラによって撮像された撮像画像を取得する撮像画像取得ステップと、
前記撮像画像取得ステップにおいて取得された撮像画像において、ＲＧＢ値、色相、彩度、および明度からなる群から選ばれた少なくとも１つを含む色情報に対して特定の範囲の色情報を有する少なくとも１つの画素を検出する色検出ステップと、
同じ前記特定の範囲の色情報を有する画素で繋がっている画素群が所定の領域以上検出された場合、当該特定の範囲の色情報に基づいて、仮想世界に配置されるオブジェクトの画像を生成する画像生成ステップと、
前記画像生成ステップにおいて生成された画像を前記表示装置に表示する画像表示制御ステップとを含む、表示制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法に関し、より具体的には、実世界画像を用いて仮想オブジェクトを設定して表示制御する表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法に関する。
【背景技術】
【０００２】
従来、実世界画像と仮想世界画像とを重ね合わせた画像を表示する装置が提案されている（例えば、特許文献１参照）。上記特許文献１で開示されたゲーム装置は、外部カメラによって撮像された画像を背景画像としてゲーム画像に重ね合わせて表示している。具体的には、上記ゲーム装置は、上記背景画像が一定時間毎に更新され、最新の背景画像をゲーム画像と重ね合わせて表示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１１３７４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１で開示されたゲーム装置は、外部カメラによって撮像された画像が単に背景画像として表示されるだけであり、重ね合わされる背景画像とゲーム画像とが何ら関連のない状態で表示される。したがって、表示される画像自体が単調であり、面白味のある画像をユーザに提示することはできない。
【０００５】
それ故に、本発明の目的は、実世界画像を用いて新たな画像を設定して表示制御することができる表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【０００７】
本発明の表示制御プログラムの一構成例は、表示装置に画像を表示させる表示制御装置のコンピュータを、撮像画像取得手段、色検出手段、画像生成手段、および画像表示制御手段として機能させる。撮像画像取得手段は、実カメラによって撮像された撮像画像を取得する。色検出手段は、撮像画像取得手段によって取得された撮像画像において、ＲＧＢ値、色相、彩度、および明度からなる群から選ばれた少なくとも１つを含む色情報に対して特定の範囲の色情報を有する少なくとも１つの画素を検出する。画像生成手段は、色検出手段が検出した画素が有する特定の範囲の色情報に基づいて、仮想世界に配置されるオブジェクトの画像を生成する。画像表示制御手段は、画像生成手段によって生成された画像を表示装置に表示する。
【０００８】
上記によれば、実カメラによって撮像された撮像画像から特定の範囲の色情報を有する画素を検出し、当該色情報に応じたオブジェクトを生成して表示するため、実世界画像を用いて新たな画像を設定して表示制御することができる。
【０００９】
また、上記画像生成手段は、撮像画像取得手段によって取得された撮像画像とオブジェクトを仮想世界に配置して仮想カメラから見た仮想世界画像とを合成した合成画像を生成してもよい。画像表示制御手段は、画像生成手段により生成された合成画像を表示装置に表示してもよい。
【００１０】
上記によれば、撮像画像（実世界画像）とオブジェクトの画像（仮想世界画像）とが合成されて表示されるため、さらに面白味のある画像を提示することができる。
【００１１】
また、上記画像生成手段は、色検出手段により検出された特定の範囲の色情報を有する画素の撮像画像における検出位置に応じて、仮想世界画像におけるオブジェクトの画像が当該検出位置に重なって撮像画像に合成されるように当該オブジェクトを仮想世界に配置し、仮想カメラからオブジェクトを見た仮想世界の画像を仮想世界画像として生成してもよい。
【００１２】
上記によれば、撮像画像から検出された特定の範囲の色情報を有する画素の位置に対応する仮想空間にオブジェクトが配置されるため、あたかも撮像画像の当該画素上にオブジェクトが配置されているような表現が可能となる。
【００１３】
また、上記画像生成手段は、仮想カメラ設定手段を含んでもよい。仮想カメラ設定手段は、実カメラの動きを検出する検出手段からの出力に基づいて、当該実カメラの動きを検出し、当該実カメラの動きと同じ動きを仮想カメラに与えて当該仮想カメラの位置および撮像方向を設定する。この場合、画像生成手段は、オブジェクトを仮想世界に配置した仮想世界画像を生成した後、仮想カメラ設定手段によって設定された仮想カメラからオブジェクトを見た仮想世界の画像を仮想世界画像として生成してもよい。
【００１４】
上記によれば、実カメラの動きと同じ動きが仮想カメラに与えられるため、実カメラの撮像範囲が変わったとしても、撮像範囲変更後の撮像画像に対して同じ位置にオブジェクトを配置することができ、あたかも撮像画像で表現された実空間内にオブジェクトが配置されているように表示することができる。
【００１５】
また、上記色検出手段は、領域検出手段および面積算出手段を含んでもよい。領域検出手段は、撮像画像取得手段により取得された撮像画像において、特定の範囲の色情報を有する画素の領域を検出する。面積算出手段は、領域検出手段により検出された領域にしたがって決められる面積を算出する。上記画像生成手段は、面積算出手段により算出された面積に応じて、オブジェクトの大きさを設定して当該オブジェクトの画像を生成してもよい。
【００１６】
上記によれば、撮像画像から検出された特定の範囲の色情報を有する画素群の面積に応じてオブジェクトの大きさが決定されるため、色だけでなく面積も考慮されて配置されるオブジェクトが変化するため、さらに面白味のある画像を提示することができる。
【００１７】
また、上記画像生成手段は、オブジェクト設定手段を含んでもよい。オブジェクト設定手段は、色情報の特定の範囲毎に複数のオブジェクトを予め設定する。上記画像生成手段は、複数のオブジェクトのうち、色検出手段が検出した画素が有する特定の範囲の色情報に対応するオブジェクトを仮想世界に配置して、当該オブジェクトの画像を生成してもよい。
【００１８】
上記によれば、色情報の特定の範囲毎に予め複数のオブジェクトが設定され、撮像画像から検出された画素が有する特定の範囲の色情報に応じて当該複数のオブジェクトから仮想世界に配置するオブジェクトが選択されるため、色に応じた様々なオブジェクトを表示対象として設定することが可能であり、さらに面白味のある画像を提示することができる。
【００１９】
また、上記表示制御プログラムは、操作入力データ取得手段、操作オブジェクト配置手段、および加点手段として、コンピュータをさらに機能させてもよい。操作入力データ取得手段は、ユーザが入力した操作入力を示すデータを取得する。操作オブジェクト配置手段は、操作入力データ取得手段が取得したデータが所定の操作入力を示す場合、仮想世界にオブジェクトとは異なる操作オブジェクトを配置する。加点手段は、仮想世界においてオブジェクトと操作オブジェクトとが所定の位置関係となった場合に、所定の点数を加点する。上記画像生成手段は、仮想世界に操作オブジェクトも配置して、オブジェクトおよび操作オブジェクトの画像を生成してもよい。
【００２０】
上記によれば、ユーザの操作に応じて弾等の発射物を示す発射オブジェクト等を仮想世界に配置して、オブジェクト同士の位置関係によって所定の得点が得られるため、ユーザが飽きることを防止しながらオブジェクトの画像を表示することができる。
【００２１】
また、上記表示制御プログラムは、移動オブジェクト配置手段として、コンピュータをさらに機能させてもよい。移動オブジェクト配置手段は、所定のアルゴリズムにしたがって移動する移動オブジェクトを操作オブジェクトとは別に仮想世界に配置する。この場合、上記加点手段は、移動オブジェクトと操作オブジェクトとが所定の位置関係となった場合に、所定の点数をさらに加点してもよい。上記画像生成手段は、仮想世界に移動オブジェクトも配置して、オブジェクト、操作オブジェクト、および移動オブジェクトの画像を生成してもよい。
【００２２】
上記によれば、ユーザは、移動オブジェクトに対して操作オブジェクトを所定の位置関係にして得点を得ることを楽しみつつ、さらに実カメラを動かしながら移動オブジェクト以外のオブジェクトも色情報に基づいて出現させて操作オブジェクトを所定の位置関係にすることによって得点をさらに得ることを楽しむことができる。例えば、仮想世界に配置された移動オブジェクトを倒していくゲームと、特定の色を被写体として撮像してオブジェクトを同じ仮想世界に出現させて得点対象とするゲームとを同時に進行させることで、ユーザの興趣性を向上させることができる。
【００２３】
また、上記画像生成手段は、色検出手段が検出した特定の範囲の色情報を有する画素が所定の領域以上検出された場合、当該特定の範囲の色情報に対応するオブジェクトを仮想世界に配置して当該オブジェクトの画像を生成してもよい。
【００２４】
上記によれば、オブジェクトを表示するためには特定の範囲の色情報を有する画素が所定の領域以上検出される必要があるため、ユーザは当該オブジェクトを表示させるためにオブジェクトを表示させるための被写体を選択しながら、その撮像範囲を調整するような撮像操作が必要となり、新たな画像を表示するために新たな操作が要求されることになる。
【００２５】
また、上記色検出手段は、彩度および明度を示す色情報がそれぞれ所定の閾値以上に高く、かつ、色相を示す色情報が所定の範囲内を示す少なくとも１つの画素を検出してもよい。
【００２６】
上記によれば、複数の色情報を組み合わせて色検出することによって、色の誤判定を防止しながらユーザが本来区別している色認識に色検出結果を近づけることができる。
【００２７】
また、上記色検出手段は、ブロック分割手段、色相算出手段、ブロック分類手段、およびブロック群選択手段を含んでもよい。ブロック分割手段は、撮像画像を複数の画素で構成されるブロックに分割する。色相算出手段は、ブロックに属する画素がそれぞれ有するＲＧＢ値に基づいて、当該ブロックに対する色相を示す値をブロック毎に算出する。ブロック分類手段は、ブロックに対する色相を示す値が含まれる所定の色相範囲に基づいて、ブロックが属する色相分類をそれぞれ設定する。ブロック群選択手段は、隣接するブロックが同じ色相分類に属するブロック群の大きさに応じて、オブジェクトの画像を生成する対象とするブロック群を選択する。上記画像生成手段は、ブロック群選択手段が選択したブロック群の色相分類に応じて、仮想世界に配置するオブジェクトを選択してもよい。
【００２８】
上記によれば、ブロック毎に色相を判定することによって色検出処理が容易となり、処理負荷が軽減される。
【００２９】
また、上記撮像画像取得手段は、表示制御装置が利用可能な実カメラによってリアルタイムに撮像された実世界の撮像画像を繰り返し取得してもよい。上記色検出手段は、撮像画像取得手段によって繰り返し取得された撮像画像それぞれにおいて、特定の範囲の色情報を有する画素を検出してもよい。上記画像生成手段は、撮像画像取得手段によって繰り返し取得された撮像画像それぞれと当該撮像画像から生成された仮想世界画像とを合成して繰り返し合成画像を生成してもよい。上記画像表示制御手段は、撮像画像取得手段によって繰り返し取得された撮像画像それぞれに仮想世界画像が合成画像を表示装置に繰り返し表示してもよい。
【００３０】
上記によれば、リアルタイムに撮像された実世界の撮像画像から特定の範囲の色情報を有する画素を検出し、当該色情報に応じたオブジェクトを当該リアルタイムに撮像された画像に合成して表示するため、リアルタイムに得られる実世界画像を用いて新たな画像を設定して表示制御することができる。
【００３１】
また、本発明は、上記各手段を備える表示制御装置および表示制御システムや上記各手段で行われる動作を含む表示制御方法の形態で実施されてもよい。
【発明の効果】
【００３２】
本発明によれば、実カメラによって撮像された撮像画像から特定の範囲の色情報を有する画素を検出し、当該色情報に応じたオブジェクトを生成して表示するため、実世界画像を用いて新たな画像を設定して表示制御することができる。
【図面の簡単な説明】
【００３３】
【図１】開いた状態におけるゲーム装置１０の一例を示す正面図
【図２】開いた状態におけるゲーム装置１０の一例を示す側面図
【図３Ａ】閉じた状態におけるゲーム装置１０の一例を示す左側面図
【図３Ｂ】閉じた状態におけるゲーム装置１０の一例を示す正面図
【図３Ｃ】閉じた状態におけるゲーム装置１０の一例を示す右側面図
【図３Ｄ】閉じた状態におけるゲーム装置１０の一例を示す背面図
【図４】ユーザがゲーム装置１０を両手で把持する様子の一例を示す図
【図５】ゲーム装置１０の内部構成の一例を示すブロック図
【図６Ａ】青色の被写体が含まれたカメラ画像ＣＩが上側ＬＣＤ２２に表示された一例を示す図
【図６Ｂ】カメラ画像ＣＩに含まれる青色の被写体から標的オブジェクトＯＢＪ１が出現した様子が上側ＬＣＤ２２に表示された一例を示す図
【図７Ａ】緑色の被写体が含まれたカメラ画像ＣＩが上側ＬＣＤ２２に表示された一例を示す図
【図７Ｂ】カメラ画像ＣＩに含まれる緑色の被写体から標的オブジェクトＯＢＪ２が出現した様子が上側ＬＣＤ２２に表示された一例を示す図
【図８Ａ】赤色の被写体が含まれたカメラ画像ＣＩが上側ＬＣＤ２２に表示された一例を示す図
【図８Ｂ】カメラ画像ＣＩに含まれる赤色の被写体から標的オブジェクトＯＢＪ３が出現した様子が上側ＬＣＤ２２に表示された一例を示す図
【図９】図１のゲーム装置１０で実行される表示制御プログラムを実行することに応じて、メインメモリ３２に記憶される各種データの一例を示す図
【図１０】図９の特定色判定結果データＤｄの一例を示す図
【図１１】図９の標的オブジェクト設定データＤｅ１の一例を示す図
【図１２】図１のゲーム装置１０で実行される表示制御プログラムを実行することによってゲーム装置１０が表示制御処理する動作の一例を示すフローチャート
【図１３】図１２のステップ５５で行われる標的オブジェクト出現処理の詳細な動作の一例を示すサブルーチン
【図１４】図１２のステップ５６で行われる弾オブジェクト処理の詳細な動作の一例を示すサブルーチン
【図１５】図１３のステップ７１で行われる色検出処理の詳細な動作の一例を示すサブルーチン
【図１６】カメラ画像をレンダリングする処理の一例を説明するための説明図
【図１７】カメラ画像をレンダリングする際の座標の一例を説明するための説明図
【図１８】同じ特定色で繋がっているブロック群と矩形および標的オブジェクトの位置との関係の一例を説明するための図
【図１９】標的オブジェクトＯＢＪ１および弾オブジェクトＢＯをレンダリングする処理の一例を説明するための説明図
【図２０】標的オブジェクトＯＢＪおよび弾オブジェクトＢＯをレンダリングする際の座標の一例を説明するための説明図
【発明を実施するための形態】
【００３４】
図面を参照して、本発明の一実施形態に係る表示制御プログラムを実行する表示制御装置について説明する。本発明の表示制御プログラムは、任意のコンピュータシステムで実行されることによって適用することができるが、表示制御装置の一例として携帯型のゲーム装置１０を用い、ゲーム装置１０で実行される表示制御プログラムを用いて説明する。なお、図１〜図３Ｄは、ゲーム装置１０の外観の一例を示す平面図である。ゲーム装置１０は、一例として携帯型のゲーム装置であり、図１〜図３Ｄに示すように折り畳み可能に構成されている。図１は、開いた状態（開状態）におけるゲーム装置１０の一例を示す正面図である。図２は、開状態におけるゲーム装置１０の一例を示す右側面図である。図３Ａは、閉じた状態（閉状態）におけるゲーム装置１０の一例を示す左側面図である。図３Ｂは、閉状態におけるゲーム装置１０の一例を示す正面図である。図３Ｃは、閉状態におけるゲーム装置１０の一例を示す右側面図である。図３Ｄは、閉状態におけるゲーム装置１０の一例を示す背面図である。ゲーム装置１０は、撮像部を内蔵しており、当該撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶され、または、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラから見た仮想空間画像等のコンピュータグラフィックス処理により生成された画像を画面に表示することもできる。
【００３５】
図１〜図３Ｄにおいて、ゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に連結されている。図１の例では、下側ハウジング１１および上側ハウジング２１は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回動可能に連結されている。通常、ユーザは、開状態でゲーム装置１０を使用する。そして、ユーザは、ゲーム装置１０を使用しない場合には閉状態としてゲーム装置１０を保管する。また、ゲーム装置１０は、上記閉状態および開状態のみでなく、下側ハウジング１１と上側ハウジング２１とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング２１を下側ハウジング１１に対して任意の角度で静止させることができる。
【００３６】
図１および図２に示されるように、下側ハウジング１１の上側長辺部分には、下側ハウジング１１の内側面（主面）１１Ｂに対して垂直な方向に突起する突起部１１Ａが設けられる。また、上側ハウジング２１の下側長辺部分には、上側ハウジング２１の下側面から当該下側面に垂直な方向に突起する突起部２１Ａが設けられる。下側ハウジング１１の突起部１１Ａと上側ハウジング２１の突起部２１Ａとが連結されることにより、下側ハウジング１１と上側ハウジング２１とが、折り畳み可能に接続される。
【００３７】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ（図１、図３Ａ〜図３Ｄ）、アナログスティック１５、ＬＥＤ１６Ａ〜１６Ｂ、挿入口１７、および、マイクロフォン用孔１８が設けられる。以下、これらの詳細について説明する。
【００３８】
図１に示すように、下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。下側ＬＣＤ１２は、下側ハウジング１１の中央に配置される。下側ＬＣＤ１２は、下側ハウジング１１の内側面（主面）に設けられ、下側ハウジング１１の内側面に設けられた開口部から下側ＬＣＤ１２の画面が露出する。そして、ゲーム装置１０を使用しない場合には上記閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。下側ＬＣＤ１２の画素数は、一例として、２５６ｄｏｔ×１９２ｄｏｔ（横×縦）である。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側ＬＣＤ１２として、任意の解像度の表示装置を利用することができる。
【００３９】
図１に示されるように、ゲーム装置１０は、入力装置として、タッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル１３は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、例えば静電容量方式等、任意の押圧式のタッチパネルを用いることができる。本実施形態では、タッチパネル１３として、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度とが一致している必要はない。また、下側ハウジング１１の上側面には挿入口１７（図１および図３Ｄに示す点線）が設けられている。挿入口１７は、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３に対する入力は通常タッチペン２８を用いて行われるが、タッチペン２８に限らずユーザの指でタッチパネル１３に対する入力をすることも可能である。
【００４０】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。図１に示されるように、下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが設けられる。十字ボタン１４Ａは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、およびボタン１４Ｅは、十字状に配置される。ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは選択操作等に用いられ、各操作ボタン１４Ｂ〜１４Ｅは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフするために用いられる。
【００４１】
アナログスティック１５は、方向を指示するデバイスであり、下側ハウジング１１の内側面の下側ＬＣＤ１２より左側領域の上部領域に設けられる。図１に示すように、十字ボタン１４Ａが下側ＬＣＤ１２より左側領域の下部領域に設けられ、アナログスティック１５が十字ボタン１４Ａの上方に設けられる。また、アナログスティック１５および十字ボタン１４Ａは、下側ハウジング１１を把持した左手の親指で操作可能な位置に設計される。また、アナログスティック１５を上部領域に設けたことにより、下側ハウジング１１を把持する左手の親指が自然と位置するところにアナログスティック１５が配され、十字ボタン１４Ａは、左手の親指を少し下にずらした位置に配される。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトは、アナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いてもよい。
【００４２】
十字状に配置される、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、およびボタン１４Ｅの４つのボタンは、下側ハウジング１１を把持する右手の親指が自然と位置するところに配置される。また、これらの４つのボタンとアナログスティック１５とは、下側ＬＣＤ１２を挟んで、左右対称に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、これらの４つのボタンを使用して方向指示入力をすることも可能である。
【００４３】
また、下側ハウジング１１の内側面には、マイクロフォン用孔１８が設けられる。マイクロフォン用孔１８の下部には後述する音声入力装置としてのマイク（図５参照）が設けられ、当該マイクがゲーム装置１０の外部の音を検出する。
【００４４】
図３Ｂおよび図３Ｄに示されるように、下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４Ｇは、下側ハウジング１１の上面の左端部に設けられ、Ｒボタン１４Ｈは、下側ハウジング１１の上面の右端部に設けられる。後述のように、Ｌボタン１４ＧおよびＲボタン１４Ｈは、撮像部のシャッターボタン（撮影指示ボタン）として機能する。また、図３Ａに示されるように、下側ハウジング１１の左側面には、音量ボタン１４Ｉが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカの音量を調整するために用いられる。
【００４５】
図３Ａに示されるように、下側ハウジング１１の左側面には開閉可能なカバー部１１Ｃが設けられる。このカバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４６とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４６は、上記コネクタに着脱自在に装着される。データ保存用外部メモリ４６は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。なお、上記コネクタおよびそのカバー部１１Ｃは、下側ハウジング１１の右側面に設けられてもよい。
【００４６】
図３Ｄに示されるように、下側ハウジング１１の上側面にはゲーム装置１０とゲームプログラムを記録した外部メモリ４５を挿入するための挿入口１１Ｄが設けられ、その挿入口１１Ｄの内部には、外部メモリ４５と電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。外部メモリ４５がゲーム装置１０に接続されることにより、所定のゲームプログラムが実行される。なお、上記コネクタおよび挿入口１１Ｄは、下側ハウジング１１の他の側面（例えば、右側面等）に設けられてもよい。
【００４７】
図１に示されるように、下側ハウジング１１の下側面には、ゲーム装置１０の電源のＯＮ／ＯＦＦ状況をユーザに通知する第１ＬＥＤ１６Ａが設けられる。また、図３Ｃに示されるように、下側ハウジング１１の右側面には、ゲーム装置１０の無線通信の確立状況をユーザに通知する第２ＬＥＤ１６Ｂが設けられる。ゲーム装置１０は、他の機器との間で無線通信を行うことが可能であり、第２ＬＥＤ１６Ｂは、他の機器との無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。下側ハウジング１１の右側面には、この無線通信の機能を有効／無効にする無線スイッチ１９が設けられる（図３Ｃ参照）。
【００４８】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００４９】
上側ハウジング２１には、上側ＬＣＤ２２、２つの外側撮像部２３（外側左撮像部２３ａおよび外側右撮像部２３ｂ）、内側撮像部２４、３Ｄ調整スイッチ２５、および３Ｄインジケータ２６が設けられる。以下、これらの詳細について説明する。
【００５０】
図１に示すように、上側ＬＣＤ２２は、上側ハウジング２１に収納される。上側ＬＣＤ２２は、横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。上側ＬＣＤ２２は、上側ハウジング２１の中央に配置される。上側ＬＣＤ２２の画面の面積は、一例として下側ＬＣＤ１２の画面の面積よりも大きく設定される。具体的には、上側ＬＣＤ２２の画面は、下側ＬＣＤ１２の画面よりも横長に設定される。すなわち、上側ＬＣＤ２２の画面のアスペクト比における横幅の割合は、下側ＬＣＤ１２の画面のアスペクト比における横幅の割合よりも大きく設定される。
【００５１】
上側ＬＣＤ２２の画面は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、上側ハウジング２１の内側面に設けられた開口部から上側ＬＣＤ２２の画面が露出する。また、図２に示すように、上側ハウジング２１の内側面は、透明なスクリーンカバー２７によって覆われている。スクリーンカバー２７は、上側ＬＣＤ２２の画面を保護するとともに、上側ＬＣＤ２２と上側ハウジング２１の内側面と一体的にさせ、これにより統一感を持たせている。上側ＬＣＤ２２の画素数は、一例として６４０ｄｏｔ×２００ｄｏｔ（横×縦）である。なお、本実施形態では、上側ＬＣＤ２２が液晶表示装置であるとしたが、例えばＥＬを利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００５２】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。上側ＬＣＤ２２は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。具体的には、上側ＬＣＤ２２は、左目用画像と右目用画像とが所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。なお、上側ＬＣＤ２２は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、上側ＬＣＤ２２は、裸眼立体視可能な表示装置である。この場合、上側ＬＣＤ２２は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２は、パララックスバリア方式のものとする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである。）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００５３】
外側撮像部２３は、上側ハウジング２１の外側面（上側ＬＣＤ２２が設けられた主面と反対側の背面）２１Ｄに設けられた２つの撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）の総称である。外側左撮像部２３ａおよび外側右撮像部２３ｂの撮像方向は、いずれも外側面２１Ｄの外向きの法線方向である。また、外側左撮像部２３ａおよび外側右撮像部２３ｂは、いずれも、上側ＬＣＤ２２の表示面（内側面）の法線方向と１８０度反対の方向に設計される。すなわち、外側左撮像部２３ａの撮像方向および外側右撮像部２３ｂの撮像方向は、平行である。外側左撮像部２３ａと外側右撮像部２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、２つの外側撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）のいずれか一方を単独で用いて、外側撮像部２３を非ステレオカメラとして使用することも可能である。また、プログラムによっては、２つの外側撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。本実施形態では、外側撮像部２３は、外側左撮像部２３ａおよび外側右撮像部２３ｂの２つの撮像部で構成される。外側左撮像部２３ａおよび外側右撮像部２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００５４】
図１の破線および図３Ｂの実線で示されるように、外側撮像部２３を構成する外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ＬＣＤ２２の画面の横方向と平行に並べられて配置される。すなわち、２つの外側左撮像部２３ａおよび外側右撮像部２３ｂを結んだ直線が上側ＬＣＤ２２の画面の横方向と平行になるように、外側左撮像部２３ａおよび外側右撮像部２３ｂが配置される。図１の破線２３ａおよび２３ｂは、上側ハウジング２１の内側面とは反対側の外側面に存在する外側左撮像部２３ａおよび外側右撮像部２３ｂをそれぞれ表している。図１に示すように、ユーザが上側ＬＣＤ２２の画面を正面から視認した場合に、外側左撮像部２３ａは左側に外側右撮像部２３ｂは右側にそれぞれ位置する。外側撮像部２３をステレオカメラとして機能させるプログラムが実行されている場合、外側左撮像部２３ａは、ユーザの左目で視認される左目用画像を撮像し、外側右撮像部２３ｂは、ユーザの右目で視認される右目用画像を撮像する。外側左撮像部２３ａおよび外側右撮像部２３ｂの間隔は、人間の両目の間隔程度に設定され、例えば、３０ｍｍ〜７０ｍｍの範囲で設定されてもよい。なお、外側左撮像部２３ａおよび外側右撮像部２３ｂの間隔は、この範囲に限らない。
【００５５】
なお、本実施例においては、外側左撮像部２３ａおよび外側右撮像部２３ｂは、ハウジングに固定されており、撮像方向を変更することはできない。
【００５６】
外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ＬＣＤ２２（上側ハウジング２１）の左右方向に関して中央から対称となる位置にそれぞれ配置される。すなわち、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ＬＣＤ２２を左右に２等分する線に対して対称の位置にそれぞれ配置される。また、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方の位置の裏側に配置される。すなわち、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ハウジング２１の外側面であって、上側ＬＣＤ２２を外側面に投影した場合、投影した上側ＬＣＤ２２の画面の上端よりも上方に配置される。
【００５７】
このように、外側撮像部２３の２つの撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）が上側ＬＣＤ２２の左右方向に関して中央から対称の位置に配置されることにより、ユーザが上側ＬＣＤ２２を正視した場合に、外側撮像部２３それぞれの撮像方向をユーザの左右の目それぞれの視線方向と一致させることができる。また、外側撮像部２３は、上側ＬＣＤ２２の画面の上端より上方の裏側の位置に配置されるため、外側撮像部２３と上側ＬＣＤ２２とが上側ハウジング２１の内部で干渉することがない。したがって、外側撮像部２３を上側ＬＣＤ２２の画面の裏側に配置する場合と比べて、上側ハウジング２１を薄く構成することが可能となる。
【００５８】
内側撮像部２４は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【００５９】
図１に示すように、内側撮像部２４は、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方に配置され、上側ハウジング２１の左右方向に関して中央の位置（上側ハウジング２１（上側ＬＣＤ２２の画面）を左右に２等分する線の線上）に配置される。具体的には、図１および図３Ｂに示されるように、内側撮像部２４は、上側ハウジング２１の内側面であって、外側左撮像部２３ａおよび外側右撮像部２３ｂの中間の裏側の位置に配置される。すなわち、上側ハウジング２１の外側面に設けられた外側左撮像部２３ａおよび外側右撮像部２３ｂを上側ハウジング２１の内側面に投影した場合、当該投影した外側左撮像部２３ａおよび外側右撮像部２３ｂの中間に、内側撮像部２４が設けられる。図３Ｂで示される破線２４は、上側ハウジング２１の内側面に存在する内側撮像部２４を表している。
【００６０】
このように、内側撮像部２４は、外側撮像部２３とは反対方向を撮像する。内側撮像部２４は、上側ハウジング２１の内側面であって、２つの外側撮像部２３の中間位置となる裏側に設けられる。これにより、ユーザが上側ＬＣＤ２２を正視した際、内側撮像部２４でユーザの顔を正面から撮像することができる。また、外側左撮像部２３ａおよび外側右撮像部２３ｂと内側撮像部２４とが上側ハウジング２１の内部で干渉することがないため、上側ハウジング２１を薄く構成することが可能となる。
【００６１】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。図１〜図３Ｄに示されるように、３Ｄ調整スイッチ２５は、上側ハウジング２１の内側面および右側面の端部に設けられ、ユーザが上側ＬＣＤ２２を正視した場合に、当該３Ｄ調整スイッチ２５を視認できる位置に設けられる。３Ｄ調整スイッチ２５は、所定方向（例えば、上下方向）の任意の位置にスライド可能なスライダを有しており、当該スライダの位置に応じて上側ＬＣＤ２２の表示モードが設定される。
【００６２】
例えば、３Ｄ調整スイッチ２５のスライダが最下点位置に配置されている場合、上側ＬＣＤ２２が平面表示モードに設定され、上側ＬＣＤ２２の画面には平面画像が表示される。なお、上側ＬＣＤ２２を立体表示モードのままとして、左目用画像と右目用画像とを同一の画像とすることにより平面表示してもよい。一方、上記最下点位置より上側にスライダが配置されている場合、上側ＬＣＤ２２は立体表示モードに設定される。この場合、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。ここで、スライダが上記最下点位置より上側に配置されている場合、スライダの位置に応じて、立体画像の見え方が調整される。具体的には、スライダの位置に応じて、右目用画像および左目用画像における横方向の位置のずれ量が調整される。
【００６３】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。例えば、３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。図１に示されるように、３Ｄインジケータ２６は、上側ハウジング２１の内側面に設けられ、上側ＬＣＤ２２の画面近傍に設けられる。このため、ユーザが上側ＬＣＤ２２の画面を正視した場合、ユーザは３Ｄインジケータ２６を視認しやすい。したがって、ユーザは、上側ＬＣＤ２２の画面を視認している状態でも、上側ＬＣＤ２２の表示モードを容易に認識することができる。
【００６４】
また、上側ハウジング２１の内側面には、スピーカ孔２１Ｅが設けられる。後述するスピーカ４４からの音声がこのスピーカ孔２１Ｅから出力される。
【００６５】
次に、図４を参照して、ゲーム装置１０の使用状態の一例を示す。なお、図４は、ユーザがゲーム装置１０を把持して操作する様子の一例を示す図である。
【００６６】
図４に示されるように、ユーザは、下側ＬＣＤ１２および上側ＬＣＤ２２がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング１１の側面および外側面（内側面の反対側の面）を把持する。このように把持することで、ユーザは、下側ハウジング１１を把持したまま、各操作ボタン１４Ａ〜１４Ｅおよびアナログスティック１５に対する操作を親指で行い、Ｌボタン１４ＧおよびＲ１４Ｈに対する操作を人差し指で行うことができる。そして、図４に示した一例では、外側左撮像部２３ａおよび外側右撮像部２３ｂによってゲーム装置１０の背面側の実世界を撮像した実世界画像が、上側ＬＣＤ２２に表示されている。また、タッチパネル１３に対して入力を行う場合には、下側ハウジング１１を把持していた一方の手を離して他方の手のみで下側ハウジング１１を把持することによって、当該一方の手でタッチパネル１３に対する入力を行うことができる。
【００６７】
次に、図５を参照して、ゲーム装置１０の内部構成を説明する。なお、図５は、ゲーム装置１０の内部構成の一例を示すブロック図である。
【００６８】
図５において、ゲーム装置１０は、上述した各構成部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、角速度センサ４０、電源回路４１、およびインターフェイス回路（Ｉ／Ｆ回路）４２等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００６９】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４５やデータ保存用内部メモリ３５）に記憶されている。情報処理部３１のＣＰＵ３１１は、当該所定のプログラムを実行することによって、後述する表示制御処理やゲーム処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２および／または下側ＬＣＤ１２に出力し、上側ＬＣＤ２２および／または下側ＬＣＤ１２に当該画像が表示される。
【００７０】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、およびデータ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４５を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４６を着脱自在に接続するためのインターフェイスである。
【００７１】
メインメモリ３２は、情報処理部３１（ＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、表示制御処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部（外部メモリ４５や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００７２】
外部メモリ４５は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４５は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４５が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４５に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４６は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４６には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４６がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４６に記憶された画像を読み込み、上側ＬＣＤ２２および／または下側ＬＣＤ１２に当該画像を表示することができる。
【００７３】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【００７４】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は、情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【００７５】
情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（本実施形態では、ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、例えば下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示すように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、ゲーム装置１０の各軸方向へ生じる直線加速度の大きさをそれぞれ検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は、１軸または２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受け取って、ゲーム装置１０の姿勢や動きを算出する。
【００７６】
情報処理部３１には、角速度センサ４０が接続される。角速度センサ４０は、ゲーム装置１０の３軸（本実施形態では、ｘｙｚ軸）周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ（角速度データ）を情報処理部３１へ出力する。角速度センサ４０は、例えば下側ハウジング１１の内部に設けられる。情報処理部３１は、角速度センサ４０から出力された角速度データを受け取って、ゲーム装置１０の姿勢や動きを算出する。
【００７７】
情報処理部３１には、ＲＴＣ３８および電源回路４１が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４１は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【００７８】
情報処理部３１には、Ｉ／Ｆ回路４２が接続される。Ｉ／Ｆ回路４２には、マイク４３、スピーカ４４、およびタッチパネル１３が接続される。具体的には、Ｉ／Ｆ回路４２には、図示しないアンプを介してスピーカ４４が接続される。マイク４３は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４２に出力する。アンプは、Ｉ／Ｆ回路４２からの音声信号を増幅し、音声をスピーカ４４から出力させる。Ｉ／Ｆ回路４２は、マイク４３およびスピーカ４４（アンプ）の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置（タッチ位置）の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、およびタッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われたタッチ位置を知ることができる。
【００７９】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に応じた処理を実行する。
【００８０】
下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（ＧＰＵ３１２）の指示にしたがって画像を表示する。本実施形態では、情報処理部３１は、入力操作用の画像を下側ＬＣＤ１２に表示させ、外側撮像部２３および内側撮像部２４のいずれかから取得した画像を上側ＬＣＤ２２に表示させる。すなわち、情報処理部３１は、上側ＬＣＤ２２に外側撮像部２３で撮像した右目用画像と左目用画像とを用いた立体画像（立体視可能な画像）を表示させたり、内側撮像部２４で撮像した平面画像を上側ＬＣＤ２２に表示させたり、上側ＬＣＤ２２に外側撮像部２３で撮像した右目用画像および左目用画像の一方を用いた平面画像を表示させたりする。
【００８１】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された（外側撮像部２３で撮像された）右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【００８２】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示にしたがって画像を撮像し、撮像した画像データを情報処理部３１に出力する。本実施形態では、情報処理部３１は、外側撮像部２３および内側撮像部２４のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部３１に送る。具体的には、ユーザによるタッチパネル１３や操作ボタン１４を用いた操作によって使用する撮像部が選択される。そして、撮像部が選択されたことを情報処理部３１（ＣＰＵ３１１）が検知し、情報処理部３１が外側撮像部２３または内側撮像部２４に対して撮像指示を行う。
【００８３】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダの位置に応じた電気信号を情報処理部３１に送信する。
【００８４】
３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。
【００８５】
次に、ゲーム装置１０で実行される表示制御プログラムによる具体的な表示制御処理動作を説明する前に、図６Ａ〜図８Ｂを参照して当該表示制御処理動作によって上側ＬＣＤ２２に表示される表示形態例について説明する。なお、図６Ａは、青色の被写体が含まれたカメラ画像ＣＩが上側ＬＣＤ２２に表示された一例を示す図である。図６Ｂは、カメラ画像ＣＩに含まれる青色の被写体から標的オブジェクトＯＢＪ１が出現した様子が上側ＬＣＤ２２に表示された一例を示す図である。図７Ａは、緑色の被写体が含まれたカメラ画像ＣＩが上側ＬＣＤ２２に表示された一例を示す図である。図７Ｂは、カメラ画像ＣＩに含まれる緑色の被写体から標的オブジェクトＯＢＪ２が出現した様子が上側ＬＣＤ２２に表示された一例を示す図である。図８Ａは、赤色の被写体が含まれたカメラ画像ＣＩが上側ＬＣＤ２２に表示された一例を示す図である。図８Ｂは、カメラ画像ＣＩに含まれる赤色の被写体から標的オブジェクトＯＢＪ３が出現した様子が上側ＬＣＤ２２に表示された一例を示す図である。なお、説明を簡単にするために、上側ＬＣＤ２２には、外側撮像部２３および内側撮像部２４のいずれかから取得したカメラ画像ＣＩに基づいた、実世界の平面画像（上述した立体視可能な画像とは反対の意味での平面視の画像）が表示される例を用いる。
【００８６】
図６Ａにおいて、上側ＬＣＤ２２には、ゲーム装置１０に内蔵する実カメラ（例えば、外側撮像部２３）によって撮像された実世界画像であるカメラ画像ＣＩが表示されている。例えば、上側ＬＣＤ２２には、ゲーム装置１０に内蔵する実カメラで撮像されたリアルタイムの実世界画像（動画像）が表示される。
【００８７】
上側ＬＣＤ２２に表示されたカメラ画像ＣＩとして、青色の被写体が所定のサイズ以上で撮像されて標的オブジェクトの出現条件を満たしている場合、当該青色の被写体部分から標的オブジェクトＯＢＪ１が出現する（図６Ｂの状態）。図６Ｂに示した一例では、カメラ画像ＣＩに含まれている青色の被写体部分の中央付近から複数の水玉が標的オブジェクトＯＢＪ１として出現している。
【００８８】
図７Ａにおいて、上側ＬＣＤ２２に表示されたカメラ画像ＣＩとして、緑色の被写体が表示されている。そして、所定サイズ以上の緑色の被写体がカメラ画像ＣＩに含まれて標的オブジェクトの出現条件を満たしている場合、当該緑色の被写体部分から標的オブジェクトＯＢＪ２が出現する（図７Ｂの状態）。図７Ｂに示した一例では、カメラ画像ＣＩに含まれている緑色の被写体部分の中央付近から草花が標的オブジェクトＯＢＪ２として出現している。
【００８９】
図８Ａにおいて、上側ＬＣＤ２２に表示されたカメラ画像ＣＩとして、赤色の被写体が表示されている。そして、所定サイズ以上の赤色の被写体がカメラ画像ＣＩに含まれて標的オブジェクトの出現条件を満たしている場合、当該赤色の被写体部分から標的オブジェクトＯＢＪ３が出現する（図８Ｂの状態）。図８Ｂに示した一例では、カメラ画像ＣＩに含まれている赤色の被写体部分の中央付近から炎が標的オブジェクトＯＢＪ３として出現している。
【００９０】
このように、ユーザ自身が撮像している実世界の撮像画像に特定色（上記例では、青色、緑色、赤色）の被写体が含まれている場合、あたかも当該被写体から標的オブジェクトＯＢＪ１〜ＯＢＪ３が生成されたように上側ＬＣＤ２２に表示される。例えば、標的オブジェクトＯＢＪ１〜ＯＢＪ３を仮想空間に配置し、仮想カメラから標的オブジェクトＯＢＪ１〜ＯＢＪ３を見た仮想空間の画像（例えば、コンピュータグラフィックス画像；以下、仮想世界画像と記載する）を、カメラ画像ＣＩから得られる実世界画像に合成することによって、標的オブジェクトＯＢＪ１〜ＯＢＪ３が実空間内に出現したように上側ＬＣＤ２２に表示される。そして、ゲーム装置１０を用いた攻撃操作（例えば、ボタン１４Ｂ（Ａボタン）の押下）に応じて、所定の方向（例えば、カメラ画像ＣＩを撮像している実カメラの視線方向であり、仮想カメラの視線方向）に弾オブジェクトＢＯが発射され、標的オブジェクトＯＢＪ１〜ＯＢＪ３がユーザの攻撃対象となる。
【００９１】
なお、弾オブジェクトＢＯは、ユーザが所定の操作入力を示す場合に登場し、仮想世界において標的オブジェクトＯＢＪ１〜ＯＢＪ３との間で所定の位置関係（例えば、衝突）となった場合に、所定の点数が得られる操作オブジェクトに相当し、ユーザが標的オブジェクトＯＢＪ１〜ＯＢＪ３に当てる発射オブジェクト（発射物）を一例として用いている。ここで、本明細書で用いている「操作オブジェクト」は、仮想ゲーム世界における銃弾、砲弾、爆弾、手榴弾、ロケット弾、ミサイル弾、ボール、矢、ビーム、レーザ光線等を含んでいる。
【００９２】
ここで、上述したように、上側ＬＣＤ２２には、ゲーム装置１０に内蔵する実カメラによって撮像されたリアルタイムの実世界画像が表示されている。したがって、実空間内においてゲーム装置１０の方向や位置を変えることによって、ゲーム装置１０で撮像される撮像範囲が変わるため、上側ＬＣＤ２２に表示されるカメラ画像ＣＩも変化する。この場合、ゲーム装置１０は、実空間内におけるゲーム装置１０の動きに応じて、上記仮想空間内における上記仮想カメラの位置や方向を変化させる。これによって、実空間内に配置されているように表示されている標的オブジェクトＯＢＪ１〜ＯＢＪ３は、実空間内におけるゲーム装置１０の方向や位置が変わっても実空間内における同じ位置に配置されているように表示される。例えば、図６Ｂに示すようなカメラ画像ＣＩを撮像している状態から、ゲーム装置１０の実カメラによる撮像方向を左へ変えた場合、上側ＬＣＤ２２に表示されている標的オブジェクトＯＢＪ１の表示位置が、実カメラの撮像方向を変えた方向の逆方向（右方向）に移動、すなわち標的オブジェクトＯＢＪ１が配置されている仮想空間の仮想カメラの方向が実カメラと同じ左方向に移動する。したがって、標的オブジェクトＯＢＪ１〜ＯＢＪ３は、ゲーム装置１０の方向や位置が変化して実カメラの撮像範囲が変わったとしても、あたかもカメラ画像ＣＩで表現された実空間内に配置されているように上側ＬＣＤ２２に表示される。
【００９３】
このように、実世界画像に含まれた特定色の被写体から標的オブジェクトＯＢＪ１〜ＯＢＪ３が出現するように上側ＬＣＤ２２に表示され、出現した標的オブジェクトＯＢＪ１〜ＯＢＪ３は、実世界画像で表現された実空間内に配置されているように上側ＬＣＤ２２に表示される。ここで、実世界画像から特定色を検出する場合、当該実世界画像における各画素の色情報を用いることが考えられる。例えば、各画素の色情報としては、ＲＧＢ値、色相を表す値、彩度を表す値、明度を表す値等が考えられるが、本実施形態においては何れの値を用いてもかまわない。
【００９４】
第１の例として、上記値を組み合わせて上記特定色を検出する。具体的には、彩度を表す値および明度を表す値がそれぞれ所定の閾値以上であり、かつ、色相を表す値が特定色を示す範囲内である場合、特定色を表す画素であると判定する。このように、複数の色情報を組み合わせて特定色を判定することによって、色の誤判定を防止しながらユーザが本来区別している色認識に判定結果を近づけることができる。
【００９５】
第２の例として、上記値の何れか１つを用いて上記特定色を検出する。一例として、明度を表す値のみを用いて、実世界画像から所定の閾値以上の明度を有する画素を判別することが可能となる。この場合、実世界画像における所定の閾値以上の明度を有する被写体から、標的オブジェクトＯＢＪを出現させるような表示制御処理が可能となる。他の例として、ＲＧＢ値のみ、色相を表す値のみ、または彩度を表す値のみを用いて、実世界画像から所定条件を満たす画素を、特定色を有する画素として判別してもかまわない。
【００９６】
なお、特定色の被写体から出現する標的オブジェクトＯＢＪは、実世界画像における当該被写体のサイズに応じて、出現する際の大きさが変化してもよい。また、出現する標的オブジェクトＯＢＪは、実世界画像と合成されることなく上側ＬＣＤ２２に表示されてもかまわない。この場合、上側ＬＣＤ２２にはゲーム装置１０に内蔵する実カメラによって撮像された実世界画像が表示されず、当該実カメラの撮像範囲内に所定サイズ以上の特定色の被写体が含まれる場合に、当該撮像されている特定色に応じた標的オブジェクトＯＢＪが上側ＬＣＤ２２に表示される。すなわち、上側ＬＣＤ２２には、実カメラと同様に撮像方向を変化させる仮想カメラから見た仮想空間のみが表示されることになるが、この場合、実カメラで撮像されている実世界画像を下側ＬＣＤ１２に表示してもかまわない。
【００９７】
なお、上述した例では、ゲーム装置１０を用いた攻撃操作に応じて、所定の方向に弾オブジェクトＢＯが発射されて、標的オブジェクトＯＢＪ１〜ＯＢＪ３がユーザの攻撃対象となるゲームとなるが、さらに標的オブジェクトＯＢＪ１〜ＯＢＪ３とは別のオブジェクト（敵オブジェクト）も攻撃対象とするゲームも実現できる。上記ゲームでは、背景画像としてカメラ画像（実世界画像）が用いられ、標的オブジェクトＯＢＪ１〜ＯＢＪ３が出現する同じ仮想空間に敵オブジェクトが配置されて当該仮想空間を所定のアルゴリズムで移動する。そして、ユーザは、仮想空間において敵オブジェクトと弾オブジェクトＢＯとの間で所定の位置関係（例えば、衝突）となった場合に、所定の点数が得られる。上記ゲームは、このような敵オブジェクトを攻撃対象とするゲームを前提として、実世界画像において被写体の色を検出して、そこから敵オブジェクト以外の標的オブジェクトＯＢＪ１〜ＯＢＪ３も出現させて、標的オブジェクトＯＢＪ１〜ＯＢＪ３と弾オブジェクトＢＯとの間で所定の位置関係（例えば、衝突）とすることでさらに得点が加算されるゲームとなる。したがって、ユーザは、敵オブジェクトに対して弾オブジェクトＢＯを所定の位置関係にして得点を得るゲームを楽しみつつ、さらに実カメラを動かしながら敵オブジェクト以外の標的オブジェクトＯＢＪ１〜ＯＢＪ３も色情報に基づいて出現させて弾オブジェクトＢＯを所定の位置関係にすることによって得点をさらに得ることでさらにゲームを楽しむことができる。例えば、仮想世界に配置された敵オブジェクトを倒していくゲームと、特定の色を被写体として撮像して標的オブジェクトＯＢＪ１〜ＯＢＪ３を同じ仮想世界に出現させて得点対象とするゲームとを同時に進行させることで、ゲームの複雑性が増し、ユーザの興趣性を向上させることができる。
【００９８】
次に、図９〜図１５を参照して、ゲーム装置１０で実行される表示制御プログラムによる具体的な処理動作について説明する。なお、図９は、表示制御プログラムを実行することに応じて、メインメモリ３２に記憶される各種データの一例を示す図である。図１０は、図９の特定色判定結果データＤｄの一例を示す図である。図１１は、図９の標的オブジェクト設定データＤｅ１の一例を示す図である。図１２は、当該表示制御プログラムを実行することによってゲーム装置１０が表示制御処理する動作の一例を示すフローチャートである。図１３は、図１２のステップ５５で行われる標的オブジェクト出現処理の詳細な動作の一例を示すサブルーチンである。図１４は、図１２のステップ５６で行われる弾オブジェクト処理の詳細な動作の一例を示すサブルーチンである。図１５は、図１３のステップ７１で行われる色検出処理の詳細な動作の一例を示すサブルーチンである。なお、これらの処理を実行するためのプログラムは、ゲーム装置１０に内蔵されるメモリ（例えば、データ保存用内部メモリ３５）や外部メモリ４５またはデータ保存用外部メモリ４６に含まれており、ゲーム装置１０の電源がオンになったときに、内蔵メモリから、または外部メモリＩ／Ｆ３３やデータ保存用外部メモリＩ／Ｆ３４を介して外部メモリ４５またはデータ保存用外部メモリ４６からメインメモリ３２に読み出されて、ＣＰＵ３１１によって実行される。
【００９９】
図９において、メインメモリ３２には、内蔵メモリ、外部メモリ４５、またはデータ保存用外部メモリ４６から読み出されたプログラムや表示制御処理において生成される一時的なデータが記憶される。図９において、メインメモリ３２のデータ記憶領域には、操作データＤａ、カメラ画像データＤｂ、実世界画像データＤｃ、特定色判定結果データＤｄ、標的オブジェクトデータＤｅ、弾オブジェクトデータＤｆ、得点データＤｇ、動きデータＤｈ、仮想カメラデータＤｉ、レンダリング画像データＤｊ、および表示画像データＤｋ等が格納される。また、メインメモリ３２のプログラム記憶領域には、表示制御プログラムを構成する各種プログラム群Ｐａが記憶される。
【０１００】
操作データＤａは、ユーザがゲーム装置１０を操作した操作情報を示すデータである。操作データＤａは、操作子データＤａ１および角速度データＤａ２を含んでいる。操作子データＤａ１は、ユーザがゲーム装置１０の操作ボタン１４やアナログスティック１５等の操作子を操作したことを示すデータである。角速度データＤａ２は、角速度センサ４０によって検出された角速度を示すデータである。例えば、角速度データＤａ２には、角速度センサ４０が検出したｘ軸周りの角速度を示すｘ軸周り角速度データ、ｙ軸周りの角速度を示すｙ軸周り角速度データ、およびｚ軸周りの角速度を示すｚ軸周り角速度データが含まれる。例えば、操作ボタン１４やアナログスティック１５からの操作データや角速度センサ４０からの角速度データは、ゲーム装置１０が処理する時間単位（例えば、１／６０秒）毎に取得され、当該取得に応じて操作子データＤａ１および角速度データＤａ２に格納されて更新される。
【０１０１】
なお、後述する処理フローでは、操作子データＤａ１および角速度データＤａ２が処理周期である１フレーム毎にそれぞれ更新される例を用いて説明するが、他の処理周期で更新されてもかまわない。例えば、操作ボタン１４やアナログスティック１５等の操作子をユーザが操作したことを検出する周期毎に操作子データＤａ１を更新し、当該更新された操作子データＤａ１を処理周期毎に利用する態様でもかまわない。また、角速度センサ４０の角速度検出周期毎に角速度データＤａ２を更新し、当該更新された角速度データＤａ２を処理周期毎に利用する態様でもかまわない。この場合、操作子データＤａ１や角速度データＤａ２を更新するそれぞれの周期と、処理周期とが異なることになる。
【０１０２】
カメラ画像データＤｂは、外側撮像部２３および内側撮像部２４のいずれかが撮像したカメラ画像を示すデータである。後述する処理の説明においては、カメラ画像を取得するステップにおいて外側撮像部２３および内側撮像部２４のいずれかが撮像したカメラ画像を用いて、カメラ画像データＤｂを更新する態様を用いる。なお、外側撮像部２３または内側撮像部２４が撮像し、撮像されたカメラ画像を用いてカメラ画像データＤｂを更新する周期は、ゲーム装置１０が処理する時間単位（例えば、１／６０秒）と同じでもいいし、当該時間単位より短い時間でもかまわない。ゲーム装置１０が処理する周期よりカメラ画像データＤｂを更新する周期が短い場合、後述する処理とは独立して適宜カメラ画像データＤｂを更新してもかまわない。この場合、後述するカメラ画像を取得するステップにおいて、カメラ画像データＤｂが示す最新のカメラ画像を常に用いて処理すればよい。
【０１０３】
実世界画像データＤｃは、ゲーム装置１０の実カメラ（外側撮像部２３または内側撮像部２４）が撮像したカメラ画像を示す実世界画像を生成するためのデータである。例えば、実世界画像データＤｃは、実世界画像を生成するための平面ポリゴンのデータ、当該平面ポリゴンにマッピングするためのカメラ画像のテクスチャデータ、および当該平面ポリゴンの位置を示すデータ等を含んでいる。
【０１０４】
特定色判定結果データＤｄは、実世界画像から判定された特定色を示すデータである。以下、図１０を参照して、特定色判定結果データＤｄの一例について説明する。
【０１０５】
図１０において、一例として、外側撮像部２３および内側撮像部２４のいずれかが撮像したカメラ画像（以下、単にカメラ画像と記載する）は、所定サイズのブロック（例えば、８×８ピクセルのブロック）に分割され、ブロック毎に特定色の有無が判定される。具体的には、上記カメラ画像は、Ｎｍａｘ個のブロックに分割され、それぞれのブロックにブロック番号１〜ブロック番号Ｎｍａｘが付与される。そして、特定色判定結果データＤｄは、ブロック毎に、ＲＧＢ平均値、色相Ｈを表す値、彩度Ｓを表す値、明度Ｖを表す値、判定された特定色を示す特定色設定パラメータが記述される。例えば、ブロック番号１のブロックは、ＲＧＢ平均値がＲ１、Ｇ１、およびＢ１、色相Ｈを表す値がＨ１、彩度Ｓを表す値がＳ１、明度Ｖを表す値がＶ１であり、当該ブロックが特定色であると判定されなかったことが特定色設定パラメータで示されている。また、ブロック番号２のブロックは、ＲＧＢ平均値がＲ２、Ｇ２、およびＢ２、色相Ｈを表す値がＨ２、彩度Ｓを表す値がＳ２、明度Ｖを表す値がＶ２であり、当該ブロックが青色であると判定されたことが特定色設定パラメータで示されている。
【０１０６】
図９に戻り、標的オブジェクトデータＤｅは、上述した標的オブジェクトＯＢＪ１〜ＯＢＪ３に関するデータであり、標的オブジェクト設定データＤｅ１、標的オブジェクトサイズデータＤｅ２、および標的オブジェクト位置データＤｅ３を含んでいる。標的オブジェクト設定データＤｅ１は、判定された特定色に応じて出現する標的オブジェクトを示すデータであり、予め判定可能な特定色毎に設定されている。例えば、図１１に示すように、標的オブジェクト設定データＤｅ１は、判定された特定色が「赤色」である場合に炎が標的オブジェクトとして出現することが設定されている。また、標的オブジェクト設定データＤｅ１は、判定された特定色が「緑色」である場合に草花が標的オブジェクトとして出現することが設定されている。さらに、標的オブジェクト設定データＤｅ１は、判定された特定色が「青色」である場合に水玉が標的オブジェクトとして出現することが設定されている。標的オブジェクトサイズデータＤｅ２は、実世界画像と合成して出現させる際の標的オブジェクトのサイズを示すデータである。標的オブジェクト位置データＤｅ３は、実世界画像と合成して出現させる際の標的オブジェクトの仮想空間における配置位置や配置方向等を示すデータである。
【０１０７】
弾オブジェクトデータＤｆは、攻撃操作に応じて発射される弾オブジェクトＢＯに関するデータである。例えば、弾オブジェクトデータＤｆは、弾オブジェクトＢＯの位置を示すデータおよび弾オブジェクトＢＯの移動速度や移動方向（例えば、移動速度ベクトル）を示すデータ等を含んでいる。
【０１０８】
得点データＤｇは、標的オブジェクトＯＢＪ１〜ＯＢＪ３が登場するゲームの得点を示すデータである。例えば、ゲームの得点は、攻撃操作によって標的オブジェクトＯＢＪ１〜ＯＢＪ３に弾オブジェクトＢＯが命中することによって加点される。
【０１０９】
動きデータＤｈは、実空間におけるゲーム装置１０の動きを示すデータである。一例として、ゲーム装置１０の動きは、角速度センサ４０によって検出された角速度によって算出される。
【０１１０】
仮想カメラデータＤｉは、仮想空間に設定される仮想カメラに関するデータである。例えば、仮想空間における仮想カメラの位置や方向は、動きデータＤｈが示すゲーム装置１０の動きに応じて変化する。
【０１１１】
レンダリング画像データＤｊは、カメラ画像のレンダリング画像データＤｊ１および仮想空間のレンダリング画像データＤｊ２を含んでいる。カメラ画像のレンダリング画像データＤｊ１は、カメラ画像のテクスチャがマッピングされた平面ポリゴンを、平行投影でレンダリングすることによって得られる実世界画像を示すデータである。仮想空間のレンダリング画像データＤｊ２は、標的オブジェクトＯＢＪ１〜ＯＢＪ３が配置された仮想空間を透視投影でレンダリングすることによって得られる仮想世界画像を示すデータである。
【０１１２】
表示画像データＤｋは、上側ＬＣＤ２２に表示される表示画像を示すデータである。例えば、上側ＬＣＤ２２に表示される表示画像は、上記仮想世界画像を優先して上記実世界画像上に上記仮想世界画像を合成することによって生成される。
【０１１３】
次に、図１２を参照して、情報処理部３１の動作について説明する。まず、ゲーム装置１０の電源（電源ボタン１４Ｆ）がＯＮされると、ＣＰＵ３１１によってブートプログラム（図示せず）が実行され、これにより内蔵メモリまたは外部メモリ４５やデータ保存用外部メモリ４６に格納されているプログラムがメインメモリ３２にロードされる。そして、当該ロードされたプログラムが情報処理部３１（ＣＰＵ３１１）で実行されることによって、図１２に示すステップ（図１２〜図１５では「Ｓ」と略称する）が実行される。なお、図１２〜図１５においては、本発明に直接関連しない処理についての記載を省略する。
【０１１４】
図１２において、情報処理部３１は、表示制御処理における初期設定を行い（ステップ５１）、次のステップに処理を進める。例えば、情報処理部３１は、仮想世界画像を生成するための仮想カメラの初期位置や初期方向を設定し、当該仮想カメラが配置される仮想空間の座標軸（例えば、ＸＹＺ軸）を設定する。
【０１１５】
次に、情報処理部３１は、ゲーム装置１０の実カメラからカメラ画像を取得し（ステップ５２）、次のステップに処理を進める。例えば、情報処理部３１は、現在選択されている撮像部（外側撮像部２３または内側撮像部２４）によって撮像されたカメラ画像を用いて、カメラ画像データＤｂを更新する。
【０１１６】
次に、情報処理部３１は、上記ステップ５２で取得したカメラ画像をレンダリングする処理を行い（ステップ５３）、次のステップに処理を進める。例えば、情報処理部３１は、上記ステップ５２で取得したカメラ画像を用いて実世界画像データＤｃを更新し、レンダリングされた画像を用いてカメラ画像のレンダリング画像データＤｊ１を更新する。以下、図１６および図１７を用いてカメラ画像をレンダリングする処理例について説明する。
【０１１７】
本実施形態においては、図１６に示すように、ゲーム装置１０の実カメラから得られたカメラ画像をテクスチャに設定し、当該テクスチャがマッピングされた平面ポリゴンを生成する。そして、仮想カメラＣ１から、平行投影で上記平面ポリゴンをレンダリングした画像を実世界画像として設定する。ここで、上側ＬＣＤ２２の表示画面の中心に仮想カメラＣ１が配置されるとともに、上側ＬＣＤ２２の表示画面全面に、ゲーム装置１０の実カメラから得られたカメラ画像全面を表示する場合の実世界画像生成方法の一例について説明する。
【０１１８】
まず、上記平面ポリゴンを配置する仮想空間の座標の１単位に対して、ｉピクセルのテクスチャをマッピングする平面ポリゴンを考える。この場合、上記座標の１単位×１単位の領域に対して、ｉピクセル×ｉピクセルのテクスチャがマッピングされることになる。そして、上側ＬＣＤ２２の表示画面が横Ｗｄｏｔ×縦Ｈｄｏｔであり、Ｗｄｏｔ×Ｈｄｏｔの表示画面全面に上記カメラ画像のテクスチャ全面を対応させて、当該表示画面上の１ｄｏｔと当該テクスチャの１ピクセルとが対応するように平面ポリゴンを配置するためには、図１７に示すように上記座標を定めればよい。すなわち、上記カメラ画像のテクスチャが主面全面にマッピングされた平面ポリゴンの幅がＷ／ｉ座標分となり、平面ポリゴンの縦がＨ／ｉ座標分となるように、当該平面ポリゴンを配置する仮想空間のＸＹ座標を設定する。そして、上記テクスチャがマッピングされた平面ポリゴンの主面中心を仮想空間のＸＹ座標の原点に一致させ、当該平面ポリゴンの横方向がＸ軸方向（右方向がＸ軸正方向）となり、当該平面ポリゴンの縦方向がＹ軸方向（上方向がＹ軸正方向）となるように当該平面ポリゴンを配置する。この場合、上記テクスチャがマッピングされた平面ポリゴンの主面における右上角位置が（Ｘ，Ｙ）＝（Ｗ／２ｉ，Ｈ／２ｉ）に配置され、右下角位置が（Ｘ，Ｙ）＝（Ｗ／２ｉ，−Ｈ／２ｉ）に配置され、左上角位置が（Ｘ，Ｙ）＝（−Ｗ／２ｉ，Ｈ／２ｉ）に配置され、左下角位置が（Ｘ，Ｙ）＝（−Ｗ／２ｉ，−Ｈ／２ｉ）に配置されることになる。このように表示画面上の１ｄｏｔとカメラ画像（テクスチャ）の１ピクセルとが対応するように、仮想空間の座標に配置された平面ポリゴンを平行投影でレンダリングすることによって、ゲーム装置１０の実カメラから得られたカメラ画像に対応する実世界画像が生成される。
【０１１９】
図１２に戻り、情報処理部３１は、操作データを取得し（ステップ５４）、次のステップに処理を進める。例えば、情報処理部３１は、操作ボタン１４やアナログスティック１５を操作したことを示すデータを取得して、操作子データＤａ１を更新する。また、情報処理部３１は、角速度センサ４０によって検出された角速度を示す角速度データを取得して、角速度データＤａ２を更新する。
【０１２０】
次に、情報処理部３１は、標的オブジェクト出現処理を行い（ステップ５５）、次のステップに処理を進める。以下、図１３を参照して、標的オブジェクト出現処理の一例について説明する。
【０１２１】
図１３において、情報処理部３１は、色検出処理を行い（ステップ７１）、次のステップに処理を進める。以下、図１５を参照して、色検出処理の一例について説明する。
【０１２２】
図１５において、情報処理部３１は、当該サブルーチンで用いる一時変数Ｎを１に設定し（ステップ９０）、次のステップに処理を進める。
【０１２３】
次に、情報処理部３１は、ブロックＮのＲＧＢ平均値を算出し（ステップ９１）、次のステップに処理を進める。上述したように、カメラ画像は、Ｎｍａｘ個のブロックに分割される。例えば、情報処理部３１は、カメラ画像データＤｂが示すカメラ画像からブロックＮに相当する画素（例えば、８×８ピクセル）のＲＧＢ値を抽出し、ＲＧＢ値それぞれの平均値を算出する。そして、情報処理部３１は、算出されたＲＧＢ平均値を用いて、ブロックＮのＲＧＢ平均値に対応する特定色判定結果データＤｄを更新する。
【０１２４】
次に、情報処理部３１は、上記ステップ９１で算出されたＲＧＢ平均値を、色相Ｈｎ、彩度Ｓｎ、および明度Ｖｎに変換し（ステップ９２）、次のステップに処理を進める。そして、情報処理部３１は、変換された色相Ｈｎ、彩度Ｓｎ、および明度Ｖｎの値を用いて、ブロックＮの色相Ｈ、彩度Ｓ、および明度Ｖに対応する特定色判定結果データＤｄを更新する。
【０１２５】
ここで、ＲＧＢ平均値から、色相Ｈｎ、彩度Ｓｎ、および明度Ｖｎへの変換は、一般的に用いられている手法を用いればよい。例えば、ＲＧＢ平均値の各要素（すなわち、Ｒ、Ｇ、およびＢの値）が０．０〜１．０で表され、ｍａｘを各要素の最大値、ｍｉｎを各要素の最小値とすると、色相Ｈｎは、以下のような数式で変換される。
各要素のうち、Ｒの値がｍａｘの場合：
Ｈｎ＝６０×（Ｇ−Ｂ）／（ｍａｘ−ｍｉｎ）
各要素のうち、Ｇの値がｍａｘの場合：
Ｈｎ＝６０×（Ｂ−Ｒ）／（ｍａｘ−ｍｉｎ）＋１２０
各要素のうち、Ｂの値がｍａｘの場合：
Ｈｎ＝６０×（Ｒ−Ｇ）／（ｍａｘ−ｍｉｎ）＋２４０
なお、上記数式を用いた変換によってＨｎが負の値となった場合、さらにＨｎに３６０を加算して色相Ｈｎとする。また、彩度Ｓｎおよび明度Ｖｎは、以下のような数式で変換される。
Ｓｎ＝（ｍａｘ−ｍｉｎ）／ｍａｘ
Ｖ＝ｍａｘ
上記変換式を用いて、色相Ｈｎ、彩度Ｓｎ、および明度Ｖｎを算出した場合、色相Ｈｎが０．０〜３６０．０の範囲、彩度Ｓｎが０．０〜１．０の範囲、明度Ｖｎが０．０〜１．０の範囲で、それぞれ求められる。
【０１２６】
次に、情報処理部３１は、上記ステップ９２で算出された彩度Ｓｎが閾値Ｓｃ（例えば、Ｓｃ＝０．４３）以上であるか否かを判断する（ステップ９３）。そして、情報処理部３１は、彩度Ｓｎが閾値Ｓｃ以上である場合、次のステップ９４に処理を進める。一方、情報処理部３１は、彩度Ｓｎが閾値Ｓｃ未満である場合、次のステップ１０１に処理を進める。
【０１２７】
ステップ９４において、情報処理部３１は、上記ステップ９２で算出された明度Ｖｎが閾値Ｖｃ（例えば、Ｖｃ＝０．１２５）以上であるか否かを判断する。そして、情報処理部３１は、明度Ｖｎが閾値Ｖｃ以上である場合、次のステップ９５に処理を進める。一方、情報処理部３１は、明度Ｖｎが閾値Ｖｃ未満である場合、次のステップ１０１に処理を進める。
【０１２８】
ステップ９５において、情報処理部３１は、上記ステップ９２で算出された色相Ｈｎが閾値Ｒ１（例えば、Ｒ１＝３１５．０）以上、または、閾値Ｒ２（例えば、Ｒ２＝４５．０）以下であるか否かを判断する。そして、上記ステップ９５で肯定判定された場合、情報処理部３１は、ブロックＮを赤色の特定色に設定して、ブロックＮの特定色設定に対応する特定色判定結果データＤｄを更新し（ステップ９６）、次のステップ１０２に処理を進める。一方、上記ステップ９５で否定判定された場合、情報処理部３１は、次のステップ９７に処理を進める。
【０１２９】
ステップ９７において、情報処理部３１は、上記ステップ９２で算出された色相Ｈｎが閾値Ｇ１（例えば、Ｇ１＝７５．０）以上、かつ、閾値Ｇ２（例えば、Ｇ２＝１６５．０）以下であるか否かを判断する。そして、上記ステップ９７で肯定判定された場合、情報処理部３１は、ブロックＮを緑色の特定色に設定して、ブロックＮの特定色設定に対応する特定色判定結果データＤｄを更新し（ステップ９８）、次のステップ１０２に処理を進める。一方、上記ステップ９７で否定判定された場合、情報処理部３１は、次のステップ９９に処理を進める。
【０１３０】
ステップ９９において、情報処理部３１は、上記ステップ９２で算出された色相Ｈｎが閾値Ｂ１（例えば、Ｂ１＝１９５．０）以上、かつ、閾値Ｂ２（例えば、Ｂ２＝２８５．０）以下であるか否かを判断する。そして、上記ステップ９９で肯定判定された場合、情報処理部３１は、ブロックＮを青色の特定色に設定して、ブロックＮの特定色設定に対応する特定色判定結果データＤｄを更新し（ステップ１００）、次のステップ１０２に処理を進める。一方、上記ステップ９９で否定判定された場合、情報処理部３１は、次のステップ１０１に処理を進める。
【０１３１】
一方、ステップ１０１において、情報処理部３１は、ブロックＮを特定色なしに設定して、ブロックＮの特定色設定に対応する特定色判定結果データＤｄを更新し、次のステップ１０２に処理を進める。このように、ブロックＮの彩度Ｓｎが閾値Ｓｃ未満である場合、ブロックＮの明度Ｖｎが閾値Ｖｃ未満である場合、またはブロックＮの色相Ｈｎがステップ９５、ステップ９７、およびステップ９８においてそれぞれ用いられている判定範囲の何れにも属さない場合、ブロックＮが特定色なしに設定される。
【０１３２】
ステップ１０２において、情報処理部３１は、現在設定されている一時変数ＮがＮｍａｘであるか否かを判断する。そして、情報処理部３１は、一時変数ＮがＮｍａｘである場合、当該サブルーチンによる処理を終了する。一方、情報処理部３１は、一時変数ＮがＮｍａｘに到達していない場合、現在設定されている一時変数Ｎに１を加算して新たな一時変数を設定して（ステップ１０３）、上記ステップ９１に戻って処理を繰り返す。
【０１３３】
図１３に戻り、上記ステップ７１における色検出処理の後、情報処理部３１は、特定色毎の面積を算出し（ステップ７２）、次のステップに処理を進める。例えば、情報処理部３１は、特定色判定結果データＤｄで設定されているブロック毎の特定色を参照して、左右または上下に隣接するブロックが同じ特定色に設定されているか否かを判定する。そして、図１８に示すように、情報処理部３１は、同じ特定色で繋がっているブロック群を１つの図形とし、当該図形を囲む矩形を設定して、当該矩形の面積（サイズ）をそれぞれ特定色の面積とする。
【０１３４】
次に、情報処理部３１は、所定サイズ以上の面積を有する特定色の矩形があるか否かを判断する（ステップ７３）。例えば、情報処理部３１は、上記ステップ７２で算出した特定色毎の矩形面積のうち、予め定められた判定基準（例えば、縦横３２ピクセル以上）に到達している矩形がある場合、所定サイズ以上の面積を有する特定色の矩形があると判断する。そして、情報処理部３１は、所定サイズ以上の面積の矩形を有する特定色がある場合、次のステップ７４に処理を進める。一方、情報処理部３１は、所定サイズ以上の面積の矩形を有する特定色がない場合、当該サブルーチンによる処理を終了する。
【０１３５】
ステップ７４において、情報処理部３１は、標的オブジェクトＯＢＪが出現する条件を満たしているか否かを判断する。例えば、標的オブジェクトＯＢＪが出現する条件は、特定色毎に設定された最大出現数以内（例えば、各特定色につき１つ以内）となるように標的オブジェクトＯＢＪが出現してもいいし、所定時間毎に標的オブジェクトＯＢＪが出現してもいいし、既に出現している標的オブジェクトＯＢＪが仮想世界から消滅したことに応じて新たな標的オブジェクトＯＢＪが出現してもいいし、ランダムのタイミングで標的オブジェクトＯＢＪを出現させてもよい。また、標的オブジェクトＯＢＪを出現させる条件として、上記ステップ７３の判定において、所定サイズ以上の面積を有する特定色の矩形が、同じ特定色、かつ、実質的に同じ位置で複数回（例えば、３回）連続して検出されることを、上記条件に加えてもかまわない。そして、情報処理部３１は、標的オブジェクトＯＢＪが出現する条件を満たしている場合、次のステップ７５に処理を進める。一方、情報処理部３１は、標的オブジェクトＯＢＪが出現する条件を満たしていない場合、当該サブルーチンによる処理を終了する。
【０１３６】
ステップ７５において、情報処理部３１は、上記ステップ７４における出現条件を満たした特定色に応じて、出現させる標的オブジェクトを設定し、次のステップに処理を進める。例えば、情報処理部３１は、標的オブジェクト設定データＤｅ１に予め設定されている標的オブジェクトのうち、出現条件を満たした特定色に対応する標的オブジェクトを選択する。
【０１３７】
次に、情報処理部３１は、出現条件を満たした特定色の矩形面積に応じて出現させる標的オブジェクトの大きさを設定し（ステップ７６）、次のステップに処理を進める。例えば、情報処理部３１は、上記ステップ７４における出現条件を満たした特定色の矩形面積に応じて、出現させる標的オブジェクトの大きさを設定し、当該大きさを用いて標的オブジェクトサイズデータＤｅ２を更新する。一例として、情報処理部３１は、出現条件を満たした特定色の矩形サイズが縦横１２０ピクセル以上であれば出現させる標的オブジェクトの大きさを「大」に設定し、出現条件を満たした特定色の矩形サイズが縦横８０ピクセル以上であれば出現させる標的オブジェクトの大きさを「中」に設定し、出現条件を満たした特定色の矩形サイズが縦横３２ピクセル以上であれば出現させる標的オブジェクトの大きさを「小」に設定する。
【０１３８】
次に、情報処理部３１は、出現条件を満たした特定色の領域に基づいて標的オブジェクトの位置に設定し（ステップ７７）、次のステップに処理を進める。一例として、図１８に示すように、標的オブジェクトの位置は、出現条件を満たした特定色ブロック群の実質的な中心（例えば、当該特定色の矩形中心）に設定される。具体的には、カメラ画像における上記ブロック群の左端に位置するブロックと右端に位置するブロックとの中間点となり、かつ、上記ブロック群の上端に位置するブロックと下端に位置するブロックとの中間点となる位置（Ｘｏｂｊ，Ｙｏｂｊ）、すなわち上記ブロック群を囲む矩形の中心を、標的オブジェクトの位置とする。そして、情報処理部３１は、設定された標的オブジェクトの位置（Ｘｏｂｊ，Ｙｏｂｊ）を用いて、標的オブジェクト位置データＤｅ３を更新する。
【０１３９】
次に、情報処理部３１は、新たに標的オブジェクトを仮想空間に配置して（ステップ７８）、当該サブルーチンによる処理を終了する。例えば、情報処理部３１は、上記カメラ画像のテクスチャが主面全面にマッピングされた平面ポリゴン（図１６および図１７参照）に対して、出現条件を満たした特定色の領域に重ね合わされて透視投影される位置（Ｘｏｂｊ，Ｙｏｂｊ，Ｚ０）に、標的オブジェクトサイズデータＤｅ２が示す大きさで標的オブジェクトを配置し、当該配置位置を用いて標的オブジェクトデータＤｅを更新する。以下、図１９および図２０を用いて、標的オブジェクトＯＢＪ１を仮想空間に配置する例について説明する。
【０１４０】
本実施形態においては、図１９に示すように、仮想カメラＣ２から、透視投影で標的オブジェクトＯＢＪ１をレンダリングした画像を仮想世界画像として生成する。ここで、標的オブジェクトＯＢＪ１が上側ＬＣＤ２２に表示されたカメラ画像から出現したように表現するためには、上記カメラ画像のテクスチャが主面全面にマッピングされた平面ポリゴン（図１６および図１７参照）における特定色領域内の上記標的オブジェクトの位置に、標的オブジェクトＯＢＪ１を重ね合わせて透視投影する必要がある。
【０１４１】
原点から（Ｘ，Ｙ，Ｚ）＝（０，０，−１）方向に標的オブジェクトＯＢＪ１を透視投影することを考える。この場合、図２０に示すＺ＝Ｚ０の位置に標的オブジェクトＯＢＪ１を配置すれば、標的オブジェクトＯＢＪ１におけるテクスチャ１ピクセルあたりの表示画面内の大きさが、当該表示画面の１ｄｏｔに相当することになる。ここで、Ｚ＝Ｚ０の位置は、標的オブジェクトＯＢＪを透視投影する仮想カメラＣ２のＹ軸方向の画角をθとした場合に、仮想カメラＣ２の注視点からＹ軸正方向への表示範囲の長さがＨ／２ｉとなる位置である。なお、上述したように、Ｈは上側ＬＣＤ２２の表示画面における縦のドット数であり、ｉは仮想空間の座標の１単位に対してマッピングするテクスチャのピクセル数である。そして、仮想カメラＣ２の中心からＺ＝Ｚ０の位置までの距離をＤ（Ｄ＞０）とすると、以下の数式が成立する。
ｔａｎθ＝（Ｈ／２ｉ）／Ｄ＝Ｈ／２Ｄｉ
【０１４２】
したがって、標的オブジェクトＯＢＪ１を透視投影して仮想世界画像を生成する場合、当該仮想世界画像を生成する仮想カメラＣ２の設定を
Ｙ軸方向の画角θ＝ｔａｎ-1（Ｈ／２Ｄｉ）
アスペクト比＝Ｗ：Ｈ
とする。そして、大きさＷ１×Ｈ１の標的オブジェクトＯＢＪ１を、仮想カメラＣ２からのビュー座標（Ｘ０，Ｙ０，Ｚ０）に配置すると、図１７に示した座標上における位置（Ｘ０，Ｙ０）に大きさＷ１×Ｈ１で配置されて表示される。したがって、上記ステップ７７で設定された標的オブジェクトの位置（Ｘｏｂｊ，Ｙｏｂｊ）をＸ軸方向の座標およびＹ軸方向の座標としたビュー座標（Ｘｏｂｊ，Ｙｏｂｊ，Ｚ０）に標的オブジェクトＯＢＪ１を配置することによって、標的オブジェクトＯＢＪ１が上記カメラ画像のテクスチャが主面全面にマッピングされた平面ポリゴンにおける特定色領域に重ね合わされて透視投影される。なお、上記カメラ画像のテクスチャが主面全面にマッピングされた平面ポリゴンと標的オブジェクトＯＢＪ１〜ＯＢＪ３とを奥行方向に対して実質的に同じ位置に配置することによって、両者の表示が不安定になる場合は、標的オブジェクトＯＢＪ１の奥行位置を少し前（仮想カメラＣ２側）に設定してもかまわない。
【０１４３】
図１２に戻り、上記ステップ５５における標的オブジェクト出現処理の後、情報処理部３１は、弾オブジェクトに関する処理を行い（ステップ５６）、次のステップに処理を進める。以下、図１４を参照して、弾オブジェクト処理について説明する。
【０１４４】
図１４において、情報処理部３１は、設定されている移動速度ベクトルに応じて、仮想空間内で弾オブジェクトＢＯを移動させ（ステップ８１）、次のステップに処理を進める。例えば、情報処理部３１は、弾オブジェクトデータＤｆに設定されている弾オブジェクトＢＯの位置および移動速度ベクトルに応じて、弾オブジェクトＢＯの位置を移動速度ベクトルが示す方向へ移動速度ベクトルが示す速度で、仮想空間内を移動させる。そして、情報処理部３１は、移動後の弾オブジェクトＢＯの位置を用いて、弾オブジェクトデータＤｆを更新する。
【０１４５】
次に、情報処理部３１は、ゲーム装置１０のユーザによって発射操作が行われたか否かを判断する（ステップ８２）。例えば、情報処理部３１は、操作子データＤａ１を参照して、ユーザが所定の発射操作（例えば、ボタン１４Ｂ（Ａボタン）の押下）を行ったか否かを判断する。そして、情報処理部３１は、発射操作が行われた場合、次のステップ８３に処理を進める。一方、情報処理部３１は、発射操作が行われていない場合、次のステップ８４に処理を進める。
【０１４６】
ステップ８３において、情報処理部３１は、発射操作に応じて、仮想空間における仮想カメラの位置に弾オブジェクトＢＯを配置し、当該弾オブジェクトＢＯに対する移動速度ベクトルを設定して、次のステップ８４に処理を進める。例えば、情報処理部３１は、標的オブジェクトＯＢＪを透視投影する仮想カメラの位置に弾オブジェクトＢＯを新たに配置し、当該配置された弾オブジェクトＢＯの位置を用いて、弾オブジェクトデータＤｆを更新する。また、情報処理部３１は、上記仮想カメラの位置から当該仮想カメラの注視点への方向に向かう所定サイズのベクトルを設定し、当該ベクトルを上記新たに配置した弾オブジェクトＢＯの移動速度ベクトルとして弾オブジェクトデータＤｆを更新する。
【０１４７】
ステップ８４において、情報処理部３１は、標的オブジェクトＯＢＪと弾オブジェクトＢＯとが仮想空間内で接触したか否かを判断する。例えば、情報処理部３１は、標的オブジェクトデータＤｅが示す標的オブジェクトＯＢＪの位置と、弾オブジェクトデータＤｆが示す弾オブジェクトＢＯの位置とを用いて、標的オブジェクトＯＢＪと弾オブジェクトＢＯとが仮想空間内で接触したか否かを判断する。そして、情報処理部３１は、標的オブジェクトＯＢＪと弾オブジェクトＢＯとが接触した場合、次のステップ８５に処理を進める。一方、情報処理部３１は、標的オブジェクトＯＢＪと弾オブジェクトＢＯとが接触していない場合、次のステップ８６に処理を進める。
【０１４８】
ステップ８５において、情報処理部３１は、加点処理を行って、次のステップ８６に処理を進める。例えば、上記加点処理においては、情報処理部３１は、得点データＤｇが示すゲームの得点を所定数だけ加点し、加点後の得点を用いて得点データＤｇを更新する。なお、加点する得点については、接触した標的オブジェクトＯＢＪの種別や大きさに応じて変化させてもよい。また、上記加点処理においては、情報処理部３１は、消滅条件を満たす場合に、上記ステップ８４で接触したと判定された両者（すなわち、標的オブジェクトＯＢと弾オブジェクトＢＯ）を仮想空間から消滅させる処理（例えば、弾オブジェクトＢＯと接触した標的オブジェクトＯＢＪおよび標的オブジェクトＯＢＪに接触した弾オブジェクトＢＯに関するそれぞれの標的オブジェクトデータＤｅおよび弾オブジェクトデータＤｆを初期化し、当該標的オブジェクトＯＢＪおよび弾オブジェクトＢＯが仮想空間に存在しない状態にする）を行う。
【０１４９】
ステップ８６において、情報処理部３１は、弾オブジェクトＢＯが仮想空間における所定の位置まで到達したか否かを判断する。例えば、情報処理部３１は、弾オブジェクトデータＤｆが示す弾オブジェクトＢＯの位置が、仮想カメラから見て上述したＺ＝Ｚ０の位置に到達したか否かを判断する。そして、情報処理部３１は、弾オブジェクトＢＯが所定の位置まで到達した場合、次のステップ８７に処理を進める。一方、情報処理部３１は、弾オブジェクトＢＯが所定の位置まで到達していない場合、当該サブルーチンによる処理を終了する。
【０１５０】
ステップ８７において、情報処理部３１は、上記ステップ８６で所定の位置に到達したと判定された弾オブジェクトＢＯを仮想空間から消滅させる処理を行い、当該サブルーチンによる処理を終了する。例えば、情報処理部３１は、上記ステップ８６で所定の位置に到達したと判定された弾オブジェクトＢＯを仮想空間から消滅させる処理（例えば、当該弾オブジェクトＢＯに関する弾オブジェクトデータＤｆを初期化し、当該弾オブジェクトＢＯが仮想空間に存在しない状態にする）を行う。
【０１５１】
図１２に戻り、上記ステップ５６における弾オブジェクトに関する処理の後、情報処理部３１は、ゲーム装置１０の動きを算出して（ステップ５７）、次のステップに処理を進める。一例として、情報処理部３１は、角速度データＤａ２が示す角速度を用いて、ゲーム装置１０の動き（例えば、ゲーム装置１０に設けられた実カメラにおける撮像方向の変化）を算出し、当該動きを用いて動きデータＤｈを更新する。具体的には、ユーザが実空間においてゲーム装置１０に設けられた実カメラの撮像方向を変化させた場合、ゲーム装置１０全体の向きも変化するため、ゲーム装置１０に当該変化に応じた角速度が生じる。そして、ゲーム装置１０に生じた角速度を角速度センサ４０が検出することによって、当該角速度を示すデータが角速度データＤａ２に格納される。したがって、情報処理部３１は、角速度データＤａ２が示す角速度を用いることによって、ゲーム装置１０に設けられた実カメラの撮像方向が変化した方向や変化した量（角度）をゲーム装置１０の動きとして算出することが可能となる。
【０１５２】
次に、情報処理部３１は、ゲーム装置１０の動きに応じて仮想空間における仮想カメラの位置や方向を変更し（ステップ５８）、次のステップに処理を進める。例えば、情報処理部３１は、実空間におけるゲーム装置１０の実カメラの撮像方向変化と同じ変化を、仮想空間における仮想カメラに与え、変化後の仮想カメラの位置や方向を用いて仮想カメラデータＤｉを更新する。一例として、実空間におけるゲーム装置１０の実カメラの撮像方向が左へＡ°変化（ｙ軸を中心にｙ軸負方向に見てｘ軸およびｚ軸が左回りにＡ°回転するようにゲーム装置１０が動く変化）した場合、仮想空間における仮想カメラの方向も左へＡ°変化（仮想カメラからのビュー座標において、Ｙ軸を中心にＹ軸負方向に見てＸ軸およびＺ軸が左回りにＡ°回転する仮想カメラの方向変化）させる。これによって、実空間内に配置されているように表示されている標的オブジェクトＯＢＪは、実空間内におけるゲーム装置１０の方向や位置が変わっても実空間内における同じ位置に配置されているように表示される。
【０１５３】
次に、情報処理部３１は、仮想空間をレンダリングする処理を行い（ステップ５９）、次のステップに処理を進める。例えば、情報処理部３１は、標的オブジェクトＯＢＪおよび弾オブジェクトＢＯが配置されている仮想空間をレンダリングした画像を用いて仮想空間のレンダリング画像データＤｊ２を更新する。例えば、図１９に示すように、仮想空間には標的オブジェクトＯＢＪ１および弾オブジェクトＢＯが、それぞれ標的オブジェクトデータＤｅおよび弾オブジェクトデータＤｆが示す位置や方向に応じて配置されている。また、仮想空間には、仮想空間をレンダリングするための仮想カメラＣ２が、仮想カメラデータＤｉが示す位置および方向に応じて配置されている。ここで、上述したように標的オブジェクトＯＢＪ１は、上側ＬＣＤ２２に表示されたカメラ画像に含まれている特定色領域から出現した位置に配置されている。そして、仮想カメラＣ２から、仮想空間の配置された標的オブジェクトＯＢＪ１および弾オブジェクトＢＯを透視投影でレンダリングすることによって仮想世界画像を生成して、仮想空間のレンダリング画像データＤｊ２を更新する。
【０１５４】
次に、情報処理部３１は、実世界画像と仮想空間画像とを合成した表示画像を生成し、当該表示画像を上側ＬＣＤ２２に表示して（ステップ６０）、次のステップに処理を進める。例えば、情報処理部３１は、カメラ画像のレンダリング画像データＤｊ１が示す実世界画像および仮想空間のレンダリング画像データＤｊ２が示す仮想空間画像を取得して、仮想世界画像を優先して実世界画像上に当該仮想世界画像を合成することによって表示画像を生成し、当該表示画像を用いて表示画像データＤｋを更新する。また、情報処理部３１のＣＰＵ３１１は、表示画像データＤｋが示す表示画像をＶＲＡＭ３１３に格納する。そして、情報処理部３１のＧＰＵ３１２が、ＶＲＡＭ３１３に描画された表示画像を上側ＬＣＤ２２に出力することによって、上側ＬＣＤ２２に当該表示画像が表示される。なお、情報処理部３１は、仮想空間のレンダリング画像データＤｊ２に仮想空間画像が格納されていない場合、カメラ画像のレンダリング画像データＤｊ１が示す実世界画像をそのまま上記表示画像とすればよい。
【０１５５】
次に、情報処理部３１は、ゲームを終了するか否かを判断する（ステップ６１）。ゲームを終了する条件としては、例えば、ゲームオーバとなる条件が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。情報処理部３１は、ゲームを終了しない場合、上記ステップ５２に戻って処理を繰り返す。一方、情報処理部３１は、ゲームを終了する場合、当該フローチャートによる処理を終了する。
【０１５６】
このように、上述した実施形態に係る表示制御処理では、実カメラから得られた実世界画像に所定サイズ以上の特定色の被写体が含まれている場合、当該特定色に応じた標的オブジェクトを出現させて表示されるため、被写体に応じてオブジェクトが出現する新たな画像を表示することができる。
【０１５７】
なお、上述した説明では、標的オブジェクトが出現する対象となる特定色を、「赤色」、「緑色」、「青色」の３色としたが、他の色や他の属性を特定色として標的オブジェクトが出現する対象としてもかまわない。例えば、橙色、黄色、紫色、桃色等の他の色相を標的オブジェクトが出現する対象となる特定色に設定してもいいし、黒色、灰色、白色等の無彩色を標的オブジェクトが出現する対象となる特定色に設定してもよい。また、所定の閾値より明るい色または暗い色（明度が相対的に高い色または低い色）や所定の閾値より純色に近い色または純色から遠い色（彩度が相対的に高い色または低い色）を標的オブジェクトが出現する対象となる特定色に設定してもよい。ＲＧＢ値、色相、彩度、明度等の色情報の少なくとも１つを用いることによって、上記と同様の標的オブジェクト出現処理が可能となることは言うまでもない。
【０１５８】
また、上述した説明では、カメラ画像を所定サイズのブロックに分割し、ブロック毎に特定色の有無を判定する例を用いたが、他の単位で特定色の有無を判定してもかまわない。例えば、カメラ画像の画素毎に特定色の有無を判定してもかまわない。
【０１５９】
また、上述した説明では、出現条件を満たした特定色の領域から、射撃の対象となる標的オブジェクトが出現する例を用いたが、他のオブジェクトが当該領域から出現するように表示されてもかまわない。例えば、仮想空間を移動する敵オブジェクトに衝突させることによって当該敵オブジェクトを倒す障害物オブジェクトを、出現条件を満たした特定色の領域から出現させてもかまわない。この場合、上側ＬＣＤ２２に表示されて移動している敵オブジェクトを倒すために、障害物オブジェクトを出現させるようなゲームが可能となる。そして、ゲーム装置１０を操作してこのゲームを実行するユーザは、障害物オブジェクトを出現させるためには当該障害物オブジェクトを出現させる特定色をゲーム装置１０の実カメラで撮像することが必要となるとともに、仮想空間を移動する敵オブジェクトに衝突するような位置に障害物オブジェクトを出現させるために当該特定色の被写体を当該実カメラで撮像する位置を調整しなければならない。このように、敵オブジェクトを倒す障害物オブジェクトを、出現条件を満たした特定色の領域から出現させることによって、今までない新たな操作感覚が得られるゲームが実現できる。他の例として、出現条件を満たした場合に、単にユーザが上側ＬＣＤ２２に表示させて鑑賞するためのオブジェクトが出現するような仕様でもかまわない。
【０１６０】
また、上述した説明では、ゲーム装置１０に生じる角速度を検出し、当該角速度を用いて実空間におけるゲーム装置１０の動きを算出する例を用いたが、他の方式を用いてゲーム装置１０の動きを算出してもかまわない。第１の例として、ゲーム装置１０に内蔵されている加速度センサ３９が検出した加速度を用いて、ゲーム装置１０の動きを算出してもかまわない。一例として、加速度センサ３９を搭載するゲーム装置１０が静的な状態であることを前提としてコンピュータ側で処理する場合（すなわち、加速度センサ３９によって検出される加速度が重力加速度のみであるとして処理する場合）、ゲーム装置１０が現実に静的な状態であれば、検出された加速度に基づいてゲーム装置１０の姿勢が重力方向に対して傾いているか否か、またはどの程度傾いているかを知ることができる。他の例として、加速度センサ３９を搭載するゲーム装置１０が動的な状態であることを前提とする場合には、加速度センサ３９が重力加速度成分に加えて加速度センサ３９の動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、ゲーム装置１０の動き方向等を知ることができる。具体的には、加速度センサ３９を備えるゲーム装置１０がユーザの手で動的に加速されて動かされる場合に、加速度センサ３９によって生成される加速度信号を処理することによって、ゲーム装置１０の様々な動きおよび／または位置を算出することができる。また、加速度センサ３９が動的な状態であることを前提とする場合であっても、加速度センサ３９の動きに応じた加速度を所定の処理により除去すれば、重力方向に対するゲーム装置１０の傾きを知ることが可能である。
【０１６１】
第２の例として、ゲーム装置１０に内蔵されている実カメラ（外側撮像部２３または内側撮像部２４）によってリアルタイムで撮像されたカメラ画像の移動量を用いて、ゲーム装置１０の動きを算出してもかまわない。例えば、ゲーム装置１０が動くことによって、上記実カメラの撮像方向や撮像位置が変わった場合、当該実カメラで撮像されるカメラ画像も変化する。したがって、ゲーム装置１０に内蔵されている実カメラで撮像されるカメラ画像の変化を用いれば、当該実カメラの撮像方向が変化した角度や撮像位置の移動量等を算出することができる。一例として、ゲーム装置１０に内蔵されている実カメラで撮像されるカメラ画像から所定の物体を識別し、当該物体が撮像されている角度や撮像されている位置を時系列的に比較することによって、これらの変化量から当該実カメラの撮像方向が変化した角度や撮像位置の移動量等を算出することができる。他の例として、ゲーム装置１０に内蔵されている実カメラで撮像されるカメラ画像全体に対して時系列的に比較することによって、当該画像全体の撮像方向や撮像範囲の変化量から、当該実カメラの撮像方向が変化した角度や撮像位置の移動量等を算出することができる。
【０１６２】
第３の例として、上述したゲーム装置１０に生じる角速度、ゲーム装置１０に生じる加速度、およびゲーム装置１０によって撮像されたカメラ画像の少なくとも２つを組み合わせて、ゲーム装置１０の動きを算出してもかまわない。これによって、１つのパラメータからゲーム装置１０の動きを算出する場合に当該動きの推定が難しい状況において、他のパラメータを組み合わせてゲーム装置１０の動きを算出することによって、当該状況を補ったゲーム装置１０の動きの算出が可能となる。一例として、上記第２の例によるゲーム装置１０の動きを算出では、撮像されたカメラ画像が時系列的に水平方向へ動いた場合、ゲーム装置１０の撮影角度が鉛直方向を中心として回転したのか、ゲーム装置１０が水平移動したのか、正確な判定が難しいことがある。この場合、ゲーム装置１０に生じる角速度を用いれば、ゲーム装置１０が回転移動したのか水平移動したのかを容易に判定することが可能となる。
【０１６３】
また、第４の例として、ゲーム装置１０の動きを、いわゆるＡＲ（拡張現実）の技術により算出してもよい。
【０１６４】
また、上述した説明では、上側ＬＣＤ２２に、外側撮像部２３および内側撮像部２４のいずれかから取得したカメラ画像ＣＩに基づいた、実世界の平面画像（上述した立体視可能な画像とは反対の意味での平面視の画像）が表示される例を用いたが、裸眼で立体視可能な画像（立体画像）を上側ＬＣＤ２２に表示してもよい。例えば、上述したように、ゲーム装置１０は、外側左撮像部２３ａおよび外側右撮像部２３ｂから取得したカメラ画像を用いた立体視可能な画像（立体画像）を上側ＬＣＤ２２に表示することが可能である。この場合、上側ＬＣＤ２２に表示された立体画像に含まれる特定色の被写体から標的オブジェクトが出現するように描画される。
【０１６５】
例えば、上記立体画像に含まれる特定色の被写体から標的オブジェクトが出現するように描画する場合、外側左撮像部２３ａから得られた左目用画像および外側右撮像部２３ｂから得られた右目用画像を用いて、上述した表示制御処理を行う。具体的には、図１２に示した表示制御処理において、仮想空間に配置された標的オブジェクトＯＢＪおよび弾オブジェクトＢＯを、２つの仮想カメラ（ステレオカメラ）から透視変換することによって、それぞれ左目用仮想世界画像と右目用仮想世界画像とを得る。そして、左目用の実世界画像（上記ステップ５３で左目用画像をレンダリングした画像）と左目用仮想世界画像とを合成して左目用表示画像を生成し、右目用の実世界画像（上記ステップ５３で右目用画像をレンダリングした画像）と右目用仮想世界画像とを合成して右目用表示画像を生成し、当該左目用表示画像および当該右目用表示画像を上側ＬＣＤ２２に出力する。
【０１６６】
また、上述した説明では、ゲーム装置１０に内蔵する実カメラで撮像されたリアルタイムの動画像が上側ＬＣＤ２２に表示され、上記実カメラで撮像された動画像（カメラ画像）の中から標的オブジェクトが出現するように表示されるが、本発明において上側ＬＣＤ２２に表示する画像は、様々なバリエーションが考えられる。第１の例として、予め録画された動画像およびテレビジョン放送や他の装置から得られる動画像等が上側ＬＣＤ２２に表示される。この場合、上記動画像が上側ＬＣＤ２２に表示され、当該動画像に特定色の被写体が含まれる場合に当該動画像の中に標的オブジェクトが出現することになる。第２の例として、ゲーム装置１０に内蔵する実カメラや他の実カメラから得られた静止画像が上側ＬＣＤ２２に表示される。この場合、実カメラから得られた静止画像が上側ＬＣＤ２２に表示され、当該静止画像に特定色の被写体が含まれる場合に当該静止画像の中に標的オブジェクトが出現することになる。ここで、実カメラから得られる静止画像は、ゲーム装置１０に内蔵する実カメラでリアルタイムに撮像された実世界の静止画像でもいいし、当該実カメラや他の実カメラで予め撮影された実世界の静止画像でもいいし、テレビジョン放送や他の装置から得られる静止画像でもよい。
【０１６７】
また、上記実施形態では、上側ＬＣＤ２２がパララックスバリア方式の液晶表示装置であるとして、視差バリアのＯＮ／ＯＦＦを制御することにより、立体表示と平面表示とを切り替えることができる。他の実施形態では、例えば、上側ＬＣＤ２２としてレンチキュラー方式の液晶表示装置を用いて、立体画像および平面画像を表示可能としてもよい。レンチキュラー方式の場合でも、外側撮像部２３で撮像した２つの画像を縦方向に短冊状に分割して交互に配置することで画像が立体表示される。また、レンチキュラー方式の場合でも、内側撮像部２４で撮像した１つの画像をユーザの左右の目に視認させることによって、当該画像を平面表示させることができる。すなわち、レンチキュラー方式の液晶表示装置であっても、同じ画像を縦方向に短冊状に分割し、これら分割した画像を交互に配置することにより、ユーザの左右の目に同じ画像を視認させることができる。これにより、内側撮像部２４で撮像された画像を平面画像として表示することが可能である。
【０１６８】
また、上述した実施形態では、２画面分の液晶表示部の一例として、物理的に分離された下側ＬＣＤ１２および上側ＬＣＤ２２を互いに上下に配置した場合（上下２画面の場合）を説明した。しかしながら、本発明は、単一の表示画面（例えば、上側ＬＣＤ２２のみ）を有する装置または単一の表示装置に表示する画像を表示制御する装置でも実現することができる。また、２画面分の表示画面の構成は、他の構成でもかまわない。例えば、下側ハウジング１１の一方主面に下側ＬＣＤ１２および上側ＬＣＤ２２を左右に配置してもかまわない。また、下側ＬＣＤ１２と横幅が同じで縦の長さが２倍のサイズからなる縦長サイズのＬＣＤ（すなわち、物理的には１つで、表示サイズが縦に２画面分あるＬＣＤ）を下側ハウジング１１の一方主面に配設して、２つの画像（例えば、撮像画像と操作説明画面を示す画像等）を上下に表示（すなわち上下の境界部分無しに隣接して表示）するように構成してもよい。また、下側ＬＣＤ１２と縦幅が同じで横の長さが２倍のサイズからなる横長サイズのＬＣＤを下側ハウジング１１の一方主面に配設して、横方向に２つの画像を左右に表示（すなわち左右の境界部分無しに隣接して表示）するように構成してもよい。すなわち、物理的に１つの画面を２つに分割して使用することにより２つの画像を表示してもかまわない。また、物理的に１つの画面を２つに分割して使用することにより上記２つの画像を表示する場合、当該画面全面にタッチパネル１３を配設してもかまわない。
【０１６９】
また、上述した実施例では、ゲーム装置１０にタッチパネル１３が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。また、上側ＬＣＤ２２の上面にタッチパネル１３を設けて上側ＬＣＤ２２に上述した下側ＬＣＤ１２に表示していた表示画像を表示してもよい。また、本発明を実現する場合に、タッチパネル１３が設けられていなくもかまわない。
【０１７０】
また、上記実施例では、携帯型のゲーム装置１０や据置型のゲーム装置を用いて説明したが、一般的なパーソナルコンピュータ等の情報処理装置で本発明の表示制御プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話、パーソナルコンピュータ、カメラ等であってもよい。例えば、携帯電話が、１つのハウジングの主面に２つの表示部と、実カメラとを備えてもよい。
【０１７１】
また、上述した説明では表示制御処理をゲーム装置１０で行う例を用いたが、上記表示制御処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置１０が他の装置（例えば、サーバや他のゲーム装置）と通信可能に構成されている場合、上記表示制御処理における処理ステップは、ゲーム装置１０および当該他の装置が協働することによって実行してもよい。一例として、他の装置において、実世界画像および標的オブジェクトＯＢＪ１〜ＯＢＪ３を設定する処理が行われ、ゲーム装置１０が実世界画像および標的オブジェクトＯＢＪ１〜ＯＢＪ３に関するデータを取得して、ステップ５６〜ステップ６１の処理を行うことが考えられる。このように、上記画像における処理ステップの少なくとも一部を他の装置で行うことによって、上述した表示制御処理と同様の処理が可能となる。このように、上述した表示制御処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施形態においては、ゲーム装置１０の情報処理部３１が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置１０が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０１７２】
また、上述したゲーム装置１０の形状や、それに設けられている各種操作ボタン１４、アナログスティック１５、タッチパネル１３の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した表示制御処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまでもない。
【０１７３】
また、上記表示制御プログラム（ゲームプログラム）は、外部メモリ４５やデータ保存用外部メモリ４６等の外部記憶媒体を通じてゲーム装置１０に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置１０に供給されてもよい。また、上記プログラムは、ゲーム装置１０内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープなどでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。
【０１７４】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【産業上の利用可能性】
【０１７５】
本発明に係る表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法は、実世界画像を用いて新たな画像を設定して表示制御することが可能であり、各種画像を表示装置に表示する処理等を行う表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法等として有用である。
【符号の説明】
【０１７６】
１０…ゲーム装置
１１…下側ハウジング
１２…下側ＬＣＤ
１３…タッチパネル
１４…操作ボタン
１５…アナログスティック
１６…ＬＥＤ
１７…挿入口
１８…マイクロフォン用孔
１９…無線スイッチ
２１…上側ハウジング
２２…上側ＬＣＤ
２３…外側撮像部
２３ａ…外側左撮像部
２３ｂ…外側右撮像部
２４…内側撮像部
２５…３Ｄ調整スイッチ
２６…３Ｄインジケータ
２７…スクリーンカバー
２８…タッチペン
３１…情報処理部
３１１…ＣＰＵ
３１２…ＧＰＵ
３１３…ＶＲＡＭ
３２…メインメモリ
３３…外部メモリＩ／Ｆ
３４…データ保存用外部メモリＩ／Ｆ
３５…データ保存用内部メモリ
３６…無線通信モジュール
３７…ローカル通信モジュール
３８…ＲＴＣ
３９…加速度センサ
４０…角速度センサ
４１…電源回路
４２…Ｉ／Ｆ回路
４３…マイク
４４…スピーカ
４５…外部メモリ
４６…データ保存用外部メモリ
【図１】
0005800484.tif 000002
【図２】
0005800484.tif 000003
【図３Ａ】
0005800484.tif 000004
【図３Ｂ】
0005800484.tif 000005
【図３Ｃ】
0005800484.tif 000006
【図３Ｄ】
0005800484.tif 000007
【図４】
0005800484.tif 000008
【図５】
0005800484.tif 000009
【図６Ａ】
0005800484.tif 000010
【図６Ｂ】
0005800484.tif 000011
【図７Ａ】
0005800484.tif 000012
【図７Ｂ】
0005800484.tif 000013
【図８Ａ】
0005800484.tif 000014
【図８Ｂ】
0005800484.tif 000015
【図９】
0005800484.tif 000016
【図１０】
0005800484.tif 000017
【図１１】
0005800484.tif 000018
【図１２】
0005800484.tif 000019
【図１３】
0005800484.tif 000020
【図１４】
0005800484.tif 000021
【図１５】
0005800484.tif 000022
【図１６】
0005800484.tif 000023
【図１７】
0005800484.tif 000024
【図１８】
0005800484.tif 000025
【図１９】
0005800484.tif 000026
【図２０】
0005800484.tif 000027