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