(57)【特許請求の範囲】
【請求項１】
撮像装置によって撮像された被写体の撮像画像を処理する画像処理装置のコンピュータに、
前記撮像画像を取得する撮像画像取得ステップ、
前記撮像装置の動きに連動するように、仮想空間に配置される仮想カメラの撮影方向を決定する仮想カメラ方向決定ステップ、
前記仮想カメラを取り囲むように前記仮想空間に配置されるオブジェクトに設定された前記撮像画像に対して所定の画像処理を行うための情報のうち、前記仮想カメラ方向決定ステップで決定された仮想カメラの撮影方向により定まる部分を特定する特定ステップ、
前記撮像画像取得ステップで取得された撮像画像に対して、前記特定ステップで特定された部分を用いて前記所定の画像処理を行う画像処理ステップ、および
前記画像処理ステップで前記所定の画像処理が行われた撮像画像を表示装置に表示させる表示制御ステップ、
を実行させるための画像処理プログラム。
【請求項２】
前記所定の画像処理を行うための情報は、前記撮像画像の各部分について前記所定の画像処理を行うか否かを示すデータ群により構成される、
請求項１に記載の画像処理プログラム。
【請求項３】
前記所定の画像処理を行うための情報は、前記撮像画像と画素毎に合成される、前記撮像画像の画素毎の透明度を示すデータ群により構成される、
請求項１または２に記載の画像処理プログラム。
【請求項４】
前記所定の画像処理を行うための情報は、前記仮想空間に設定される所定の領域に対応する、
請求項１から３の何れか一項に記載の画像処理プログラム。
【請求項５】
前記仮想空間に設定される所定の領域は、前記撮像装置が一定の方向に１回転した場合に前記仮想カメラにより撮像される撮像部分に対応する、
請求項４に記載の画像処理プログラム。
【請求項６】
前記仮想空間に配置された仮想オブジェクトを前記仮想カメラで撮影することにより仮想オブジェクト画像を生成する生成ステップ、および
前記画像処理ステップで前記所定の画像処理が行われた撮像画像と前記生成ステップで生成された仮想オブジェクト画像とを合成する合成ステップをさらに前記コンピュータに実行させる、
請求項１から５の何れか一項に記載の画像処理プログラム。
【請求項７】
前記撮像装置の動きを検出する検出ステップをさらに前記コンピュータに実行させ、
前記仮想カメラ方向決定ステップは、前記検出ステップで検出された動きに連動するように、前記仮想カメラの撮影方向を決定する、
請求項１または２に記載の画像処理プログラム。
【請求項８】
前記撮像画像は、単眼の撮像装置または複眼の撮像装置で撮像された画像である、
請求項１から７のいずれか一項に記載の画像処理プログラム。
【請求項９】
前記仮想空間に配置されるオブジェクトは、該仮想空間を、前記仮想カメラから見て手前側の空間と奥側の空間とに仕切るオブジェクトである、
請求項１から８の何れか一項に記載の画像処理プログラム。
【請求項１０】
前記手前側の空間と奥側の空間とに仕切るオブジェクトには、前記奥側の空間に配置された他のオブジェクトの影が描画される、
請求項９に記載の画像処理プログラム。
【請求項１１】
所定の条件が満たされた場合に、前記所定の画像処理を行うための情報を更新する更新ステップ、
を更に実行させる請求項１から１０のいずれか一項に記載の情報処理プログラム。
【請求項１２】
前記更新ステップは、前記所定の画像処理が行われる前記仮想空間内の位置情報を追加又は削除して、前記所定の画像処理を行うための情報を更新する、
請求項１１に記載の情報処理プログラム。
【請求項１３】
撮像装置によって撮像された被写体の撮像画像を処理する画像処理装置であって、
前記撮像画像を取得する撮像画像取得手段、
前記撮像装置の動きに連動するように、仮想空間に配置される仮想カメラの撮影方向を決定する仮想カメラ方向決定手段、
前記仮想カメラを取り囲むように前記仮想空間に配置されるオブジェクトに設定された前記撮像画像に対して所定の画像処理を行うための情報のうち、前記仮想カメラ方向決定手段によって決定された仮想カメラの撮影方向により定まる部分を特定する特定手段、
前記撮像画像取得手段によって取得された撮像画像に対して、前特定手段によって特定された部分を用いて前記所定の画像処理を行う画像処理手段、および
前記画像処理手段によって前記所定の画像処理が行われた撮像画像を表示装置に表示させる表示制御手段、
を備える画像処理装置。
【請求項１４】
撮像装置と、前記撮像装置によって取得した被写体の撮像画像を含む情報を表示する表示装置と、仮想空間に配置されたオブジェクトを描画するための画像処理装置とを備える
画像処理システムであって、
前記画像処理装置が、
前記撮像画像を取得する撮像画像取得手段、
前記撮像装置の動きに連動するように、仮想空間に配置される仮想カメラの撮影方向を決定する仮想カメラ方向決定手段、
前記仮想カメラを取り囲むように前記仮想空間に配置されるオブジェクトに設定された前記撮像画像に対して所定の画像処理を行うための情報のうち、前記仮想カメラ方向決定手段によって決定された仮想カメラの撮影方向により定まる部分を特定する特定手段、
前記撮像画像取得手段によって取得された撮像画像に対して、前特定手段によって特定された部分を用いて前記所定の画像処理を行う画像処理手段、および
前記画像処理手段によって前記所定の画像処理が行われた撮像画像を表示装置に表示させる表示制御手段、
を有する、画像処理システム。
【請求項１５】
仮想空間に配置されたオブジェクトを描画するための画像処理方法であって、コンピュータが、
撮像装置によって取得した被写体の撮像画像を取得する撮像画像取得ステップ、
前記撮像装置の動きに連動するように、仮想空間に配置される仮想カメラの撮影方向を決定する仮想カメラ方向決定ステップ、
前記仮想カメラを取り囲むように前記仮想空間に配置されるオブジェクトに設定された前記撮像画像に対して所定の画像処理を行うための情報のうち、前記仮想カメラ方向決定ステップで決定された仮想カメラの撮影方向により定まる部分を特定する特定ステップ、
前記撮像画像取得ステップで取得された撮像画像に対して、前特定ステップで特定された部分を用いて前記所定の画像処理を行う画像処理ステップ、および
前記画像処理ステップで前記所定の画像処理が行われた撮像画像を表示装置に表示させる表示制御ステップ、
を実行する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間に配置されたオブジェクトを描画するための画像処理に関する。
【背景技術】
【０００２】
予め設定された透過フラグが１であるフィールドオブジェクトについては、平面に投影されたキャラクタオブジェクトの位置を中心とした円形のマスク領域を描画することで得られたマスクデータを用いて描画し、キャラクタオブジェクトと透過フラグが０であるフィールドオブジェクトについては普通に描画するゲーム装置がある（特許文献１を参照）。
【０００３】
また、視点に対する各オブジェクトの相対位置が変化する場合に、仮想空間内における視点からの距離がそれぞれ所定距離以下であると判定されたオブジェクトについて、当該オブジェクトの透明度が徐々に増すように、当該オブジェクトの透明度を示す情報を単位時間毎に更新し、透明度を示す情報を参照してオブジェクトを含む仮想画像を描画するゲーム装置がある（特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−６８１３８号公報
【特許文献２】特表２００８−４３５８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
カメラの撮像方向と反対方向に向けられたディスプレイにおいて、カメラから入力された現実空間の映像を奥側のレイヤに表示し、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）や加速度センサ、角速度センサ等からの入力に基づいて算出された現在位置およびディスプレイ・カメラ向きに応じた情報を手前側レイヤに表示することで、ディスプレイ内に表示されている現実空間の情報を拡張する、所謂ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ、拡張現実）と称される技術がある。
【０００６】
しかし、このような技術は、あくまでも現実空間の映像に情報を重ねて表示することで、ユーザが現実空間から得られる情報量を拡張するものであり、ユーザに認識される空間を拡張するものではなかった。
【０００７】
上記した問題に鑑み、本発明は、ユーザに認識される空間を拡張し、拡張現実の効果を高めることを課題とする。
【課題を解決するための手段】
【０００８】
本発明では、上記課題を解決するために、以下の手段を採用した。即ち、本発明は、撮像装置によって撮像された被写体の撮像画像を処理する画像処理装置のコンピュータに、前記撮像画像を取得する撮像画像取得ステップ、前記撮像装置の動きに連動するように、仮想空間に配置される仮想カメラの撮影方向を決定する仮想カメラ方向決定ステップ、前記撮像画像に対して所定の画像処理を行うための情報のうち、前記仮想カメラ方向決定ステップで決定された仮想カメラの撮影方向により定まる部分を特定する特定ステップ、前記撮像画像取得ステップで取得された撮像画像に対して、前記特定ステップで特定された部分を用いて前記所定の画像処理を行う画像処理ステップ、および前記画像処理ステップで前記所定の画像処理が行われた撮像画像を表示装置に表示させる表示制御ステップ、を
実行させるための画像処理プログラムである。
【０００９】
特定ステップによる特定は、例えば、所定の画像処理を行うための情報（例えば、透明度等）が設定されたテクスチャが貼付けられたオブジェクトの描画（所謂レンダリング）によって行うことが出来る。但し、所定の画像処理を行うための情報の具体的な内容や、所定の画像処理が行われる部分の指定方法、仮想カメラ撮像部分の特定方法には、その他の方法が用いられてもよい。例えば、複数ポリゴンからなるオブジェクトにおいて所定の画像処理が行われないポリゴンと所定の画像処理が行われるポリゴンとを設定することによって行われてもよい。このような画像処理を行うことで、合成された画像を見たユーザに、仮想空間の空間構造をもって現実空間を拡張した空間を認識させることが出来る。即ち、本発明によれば、従来のＡＲと異なり、ユーザに認識される空間を拡張し、拡張現実の効果を高めることが出来る。なお、撮像画像取得ステップにおける撮像装置からの撮像画像の取得は、コンピュータと同一の筐体に収められた撮像装置から行われてもよいし、外部の撮像装置から有線接続または無線接続を介して行われてもよい。
【００１０】
また、本発明において、前記所定の画像処理を行うための情報は、前記撮像画像の各部分について前記所定の画像処理を行うか否かを示すデータ群により構成されてもよい。
【００１１】
本発明によれば、撮像画像の各部分について所定の画像処理を行うか否かを示すデータ群によって情報を構成することで、撮像画像の部分毎に所定の画像処理を行うか否かを設定し、撮像画像の部分毎に所定の画像処理を行う／行わないことができる。
【００１２】
また、本発明において、前記所定の画像処理を行うための情報は、前記撮像画像と画素毎に合成される、前記撮像画像の画素毎の透明度を示すデータ群により構成されてもよい。
【００１３】
所定の画像処理を行うための情報が、撮像画像の部分である画素毎に合成される透明度のデータ群であった場合、例えば、透明度が１であれば、所定の画像処理である透過処理を行わず（撮像画像そのまま）、透明度が０であれば、透過処理を行う（撮像画像が変化）ようにすることが出来る。
【００１４】
また、本発明において、前記所定の画像処理を行うための情報は、前記仮想空間に設定される所定の領域に対応してもよい。
【００１５】
所定の画像処理を行うための情報を、仮想空間に設定される所定の領域に対応させることで、仮想空間に設定される所定の領域について、所定の画像処理を行うための情報に従った、画像処理を適用することが出来る。
【００１６】
また、本発明において、前記仮想空間に設定される所定の領域は、前記撮像装置が一定の方向に１回転した場合に前記仮想カメラにより撮像される撮像部分に対応してもよい。
【００１７】
本発明において、仮想空間に配置される仮想カメラの撮影方向は、撮像装置の動きに連動するように決定される。このため、所定の画像処理を行うための情報が対応する所定の領域を、撮像装置が一定の方向に１回転した場合に仮想カメラにより撮像される撮像部分に対応させることで、撮像装置が一定の方向に１回転する間の何れの方向に向けられている場合であっても、仮想カメラによる撮像部分に、所定の画像処理を適用することが出来る。
【００１８】
また、本発明に係る画像処理プログラムは、前記仮想空間に配置された仮想オブジェクトを前記仮想カメラで撮影することにより仮想オブジェクト画像を生成する生成ステップ
、および前記画像処理ステップで前記所定の画像処理が行われた撮像画像と前記生成ステップで生成された仮想オブジェクト画像とを合成する合成ステップをさらに前記コンピュータに実行させてもよい。
【００１９】
このようにして、撮像画像と仮想オブジェクト画像とを合成することで、所定の画像処理が行われた撮像画像の中に、ゲームにおける敵キャラクタ等の仮想オブジェクトを登場させることが出来、拡張現実の効果をより高めることが出来る。
【００２０】
また、本発明に係る画像処理プログラムは、前記撮像装置の動きを検出する検出ステップをさらに前記コンピュータに実行させ、前記仮想カメラ方向決定ステップは、前記検出ステップで検出された動きに連動するように、前記仮想カメラの撮影方向を決定してもよい。
【００２１】
撮像装置の動きを検出し、これに連動して仮想カメラの撮影方向を決定することで、表示装置を通さないでユーザが見る現実空間と表示装置を通してユーザが見る空間とを同期させることが出来る。
【００２２】
また、本発明において、前記撮像画像は、単眼の撮像装置または複眼の撮像装置で撮像された画像であってもよい。
【００２３】
撮像画像として、単眼の撮像装置または複眼の撮像装置で撮像された画像を用いることで、平面画像や立体視可能な画像を、現実世界の画像として用いることが出来る。
【００２４】
また、本発明において、前記所定の画像処理を行うための情報は、前記仮想空間に配置されるオブジェクトに設定され、前記仮想空間に配置されるオブジェクトは、該仮想空間を、前記仮想カメラから見て手前側の空間と奥側の空間とに仕切るオブジェクトであってもよい。
【００２５】
撮像画像が合成されるオブジェクトを、仮想空間を手前側の空間と奥側の空間とに仕切るオブジェクトとすることで、ユーザに対して、撮像画像によって認識される現実空間の奥に広がる仮想空間を認識させることが可能となる。ここで、仮想空間を手前側の空間と奥側の空間とに仕切るオブジェクトとしては、例えば、仮想空間において仮想カメラに対する相対位置が固定された、撮像画像のテクスチャが貼り付けられる平面ポリゴンが採用されてもよいし、仮想カメラを中心とする円筒状や球状の境界面（仮想面）のオブジェクトを採用することも出来る。但し、仮想空間に配置されるオブジェクトは、上記例示に限定されず、例えば、仮想空間中に登場するキャラクタや背景の建物、岩、等の様々なオブジェクトであってよい。
【００２６】
また、本発明において、前記手前側の空間と奥側の空間とに仕切るオブジェクトには、前記奥側の空間に配置された他のオブジェクトの影が描画されてもよい。
【００２７】
奥側の空間に配置された他のオブジェクトの影が、このような他のオブジェクトよりも手前に配置された境界面等のオブジェクトに描画されることで、仮想空間に存在するオブジェクトの位置関係を、ユーザに容易に認識させることが出来る。
【００２８】
また、本発明において、前記仮想空間には、前記撮像装置によって撮像された撮像対象者の顔画像が貼付けられたキャラクタオブジェクトが配置され、本発明に係る画像処理プログラムは、前記顔画像が撮像される際に、前記コンピュータに、前記撮像装置によって撮像された顔画像に基づいて、前記撮像対象者の顔と前記撮像装置との距離が所定の範囲内にあるか否かを判定する判定ステップと、前記判定ステップにより前記撮像対象者の顔
と前記撮像装置との距離が前記所定の範囲内にあることが判定された場合に、前記撮像対象者の顔画像に含まれる少なくとも１つの特徴点の位置を合わせるための目標位置を前記撮像装置によって繰り返し撮像される前記撮像対象者の顔画像とともに表示装置に表示する表示ステップと、を実行させてもよい。
【００２９】
ここで、撮像装置としては、例えば表示装置の表示面が向けられた方向と反対方向を撮像する撮像装置や、表示装置の表示面が向けられた方向と同一方向を撮像する撮像装置等、様々な方向に向けられた撮像装置を用いることが出来る。本発明によれば、撮像対象者の顔を画像内の適正な位置に誘導することができ、顔画像における目標位置に対する撮像対象者の顔の配置の正確性を向上することができる。また、撮像対象者の顔と撮像装置との距離の調整という比較的容易で粗い調整を行ってから、撮像対象者の顔に含まれる特徴点の位置の調整という比較的複雑で微細な調整を行うことによって、情報処理装置又は撮像装置の操作者をスムーズに誘導でき、操作者が感じる煩わしさを軽減することができる。
【００３０】
また、本発明において、前記仮想空間には、前記撮像装置によって撮像された撮像対象者の顔画像が貼付けられたキャラクタオブジェクトが配置され、本発明に係る画像処理プログラムは、前記コンピュータに、ゲームの開始時に、前記顔画像を取得して第１記憶領域に一時的に記憶する顔画像取得ステップと、前記第１記憶領域に記憶された顔画像を含むキャラクタオブジェクトを作成するステップと、ユーザの操作を受け付けて、前記顔画像を含むキャラクタオブジェクトに関連するゲームを進行するゲーム処理ステップと、前記ユーザの操作による前記ゲームでの成功または不成功を判定するステップと、前記ゲームでの成功が判定された場合に、前記第１記憶領域に記憶された前記顔画像を、第２記憶領域に蓄積的に保存するステップと、を更に実行させてもよい。
【００３１】
本発明によれば、ユーザは、不成功と判定された場合には、取得した顔画像を第２記憶領域に蓄積的に保存できず、緊張感を味わうことになる。一方、成功と判定された場合に、第２記憶領域に蓄積的に顔画像が保存されることで、取得した顔画像の活用が可能となるため、ユーザは、極めて熱心に集中力を持ってゲーム処理ステップでのゲームに取り組むことになる。
【００３２】
また、本発明において、前記仮想空間には、前記撮像装置によって撮像された撮像対象者の顔画像が貼付けられたキャラクタオブジェクトが配置され、本発明に係る画像処理プログラムは、前記コンピュータに、前記顔画像を取得する顔画像取得ステップと、前記取得した顔画像を基に第１のキャラクタオブジェクトを作成するステップと、前記第１のキャラクタオブジェクトとともに、前記第１のキャラクタオブジェクトとは異なる第２のキャラクタオブジェクトを表示してゲームを実行するゲーム処理ステップと、を更に実行させ、前記ゲーム処理ステップは、ユーザの操作による前記第１のキャラクタオブジェクトへの攻撃により、前記ゲームでの成功に寄与するステップと、前記ユーザの操作による前記第２のキャラクタオブジェクトへの攻撃を無効にするステップと、を含んでもよい。
【００３３】
また、本発明において、前記仮想空間には、前記撮像装置によって撮像された撮像対象者の顔画像が貼付けられたキャラクタオブジェクトが配置され、本発明に係る画像処理プログラムは、前記コンピュータに、前記顔画像を取得する顔画像取得ステップと、前記取得した一の顔画像を含む第１のキャラクタオブジェクトを作成するステップと、前記第１のキャラクタオブジェクトとともに、前記第１のキャラクタオブジェクトよりも寸法の小さい、前記一の顔画像を含む第２のキャラクタオブジェクトと前記第１のキャラクタオブジェクトよりも寸法の小さい、前記一の顔画像以外の顔画像を含む第３のキャラクタオブジェクトとを表示してゲームを実行するゲーム処理ステップと、を更に実行させ、前記ゲーム処理ステップは、ユーザの操作による前記第３のキャラクタオブジェクトへの攻撃に
より、前記第１のキャラクタオブジェクトに含まれる前記顔画像の変形を進行させるステップと、前記ユーザの操作による前記第２のキャラクタオブジェクトへの攻撃により、前記第１のキャラクタオブジェクトに含まれる顔画像が前記取得した元の顔画像に近づくように、前記変形を後退させるステップと、を含んでもよい。
【００３４】
また、本発明において、前記仮想空間には、前記撮像装置によって撮像された撮像対象者の顔画像が貼付けられたキャラクタオブジェクトが配置され、本発明に係る画像処理プログラムは、前記コンピュータに、前記顔画像を取得する顔画像取得ステップと、前記取得した顔画像を変形させた顔画像を含むキャラクタオブジェクトを作成するステップと、ユーザの操作を受け付けて、前記顔画像に関連するゲームを進行するゲーム処理ステップと、前記ユーザの操作による前記ゲームでの成功または不成功を判定するステップと、前記ゲームの結果が成功であったときに、前記変形させた顔画像が前記取得した元の顔画像に復帰するステップと、を更に実行させてもよい。
【００３５】
また、上記課題を解決するために、以下の手段が採用されてもよい。即ち、本発明は、仮想空間に配置されたオブジェクトを描画するための画像処理プログラムであって、コンピュータに、前記撮像装置によって撮像された撮像画像を取得する撮像画像取得ステップと、前記仮想空間に配置される仮想カメラの撮影方向に基づいて、前記オブジェクトの可視部分を指定する情報のうち、該仮想カメラによって撮像される仮想カメラ撮像部分を特定する特定ステップと、前記特定ステップにおいて特定された前記仮想カメラ撮像部分と、前記撮像画像取得ステップにおいて取得された前記撮像画像とを合成する合成ステップと、を実行させるための画像処理プログラムである。
【００３６】
ここで、「可視部分」とは、最終的にユーザから可視的に描画される部分であり、可視部分を指定する情報としては、例えば、ポリゴン等を用いて形状が定められたオブジェクトに貼り付けられる、画素毎に透明度が設定されたテクスチャ等を用いることができる。この場合、特定ステップによる特定は、例えば、透明度が設定されたテクスチャが貼付けられたオブジェクトの描画（所謂レンダリング）によって行うことが出来る。但し、可視部分の指定方法や、仮想カメラ撮像部分の特定方法には、その他の方法が用いられてもよい。例えば、可視部分の特定は、複数ポリゴンからなるオブジェクトにおいて可視的に描画されるポリゴンと透過的に描画されるポリゴンとを設定することによって行われてもよい。このような画像処理を行うことで、合成された画像を見たユーザに、仮想空間の空間構造をもって現実空間を拡張した空間を認識させることが出来る。即ち、本発明によれば、従来のＡＲと異なり、ユーザに認識される空間を拡張し、拡張現実の効果を高めることが出来る。なお、撮像画像取得ステップにおける撮像装置からの撮像画像の取得は、コンピュータと同一の筐体に収められた撮像装置から行われてもよいし、外部の撮像装置から有線接続または無線接続を介して行われてもよい。
【００３７】
本発明において、前記合成ステップでは、前記特定ステップにおいて特定された前記仮想カメラ撮像部分と、前記撮像画像取得ステップにおいて取得された前記撮像画像とが、前記仮想カメラ撮像部分に含まれる可視部分に前記撮像画像の少なくとも一部が表示されるように合成されてもよい。
【００３８】
可視部分に撮像画像の少なくとも一部が表示されるように合成が行われることで、可視部分には現実空間の画像を、可視部分以外の部分（例えば、透過部分、半透過部分）には仮想空間の画像を表示し、合成された画像を見たユーザに、仮想空間の空間構造をもって現実空間を拡張した空間を認識させることが出来る。
【００３９】
また、本発明に係る画像処理プログラムは、前記コンピュータに、前記撮像装置の撮像方向を取得する撮像方向取得ステップと、少なくとも前記撮像方向に基づいて、仮想空間
に配置される仮想カメラの撮影方向を決定する仮想カメラ方向決定ステップと、を更に実行させてもよい。
【００４０】
撮像装置による現実空間の撮像方向を取得し、これに連動して仮想空間の撮像方向を決定することで、ディスプレイ等を通さないでユーザが見る現実空間とディスプレイ等を通してユーザが見る空間とを同期させることが出来る。
【００４１】
また、本発明において、前記オブジェクトの可視部分を指定する情報は、該オブジェクトの各部分について設定された透明度情報であってもよい。
【００４２】
可視部分を指定する情報として、透明度情報を用いることで、透明度が設定された情報の単位毎に、仮想カメラ撮像部分の透明度情報と撮像画像の情報とを乗算することで、前記合成を行うことが出来る。また、透明度情報を用いることで、撮像画像と仮想空間の画像とが透過的に重ね合わされた画像を容易に生成することも可能となる。
【００４３】
また、本発明に係る画像処理プログラムは、前記コンピュータに、前記合成ステップにおいて合成された画像を表示装置に出力する出力ステップを更に実行させてもよい。
【００４４】
本発明は、上記説明した処理を実行する装置、システム、コンピュータによって実行される方法、又はコンピュータによって実行されるプログラムとして把握されることが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【００４５】
本発明によれば、ユーザに認識される空間を拡張し、拡張現実の効果を高めることが可能となる。
【図面の簡単な説明】
【００４６】
【図１】開いた状態におけるゲーム装置１０の一例を示す正面図である。
【図２】開いた状態におけるゲーム装置１０の一例を示す側面図である。
【図３Ａ】閉じた状態におけるゲーム装置１０の一例を示す左側面図である。
【図３Ｂ】閉じた状態におけるゲーム装置１０の一例を示す正面図である。
【図３Ｃ】閉じた状態におけるゲーム装置１０の一例を示す右側面図である。
【図３Ｄ】閉じた状態におけるゲーム装置１０の一例を示す背面図である。
【図４】ユーザがゲーム装置１０を両手で把持する様子の一例を示す図である。
【図５】ユーザがゲーム装置１０を片手で把持する様子の一例を示す図である。
【図６】ゲーム装置１０の内部構成の一例を示すブロック図である。
【図７】一覧表示された顔画像の例である。
【図８】一覧表示された顔画像の他の例である。
【図９】顔画像を敵オブジェクトにはめ込む処理の画面例である。
【図１０】顔画像選択画面を例示する図である。
【図１１】図１のゲーム装置で本実施形態における画像処理プログラムを実行することに応じて、メインメモリに記憶される各種データの一例を示す図である。
【図１２】顔画像管理情報のデータ構造の一例である。
【図１３】取得済みの顔画像を属性によって分類した集計表の例である。
【図１４】第１の実施形態に係るゲーム装置１０の動作の一例を示すフローチャートである。
【図１５】顔画像取得処理の詳細処理の一例を示すフローチャートである。
【図１６】第２の実施形態に係るゲーム装置１０の動作の一例を示すフローチャートである。
【図１７】一覧表示処理の詳細処理の一例を示すフローチャートである。
【図１８】配役決定処理の詳細処理の一例を示すフローチャートである。
【図１９Ａ】顔画像管理処理１の詳細処理例を示すフローチャートである。
【図１９Ｂ】顔画像管理処理２の詳細処理例を示すフローチャートである。
【図１９Ｃ】顔画像管理処理３の詳細処理例を示すフローチャートである。
【図２０Ａ】画像処理プログラムの一例である仮想空間の概要を示す図である。
【図２０Ｂ】スクリーンモデルとαテクスチャの関係を示す図である。
【図２１】仮想空間の一例を示す図である。
【図２２】画像処理プログラムの一例であるゲームプログラムにおいて定義される仮想の３次元空間（ゲーム世界）を示す図である。
【図２３】画像処理プログラムを実行する装置の一例であるゲーム装置の上側ＬＣＤに表示される表示形態例の各処理段階の一例を示す図である。
【図２４】画像処理プログラムを実行する装置の一例であるゲーム装置の上側ＬＣＤに表示される表示形態例の各処理段階の一例を示す図である。
【図２５】画像処理プログラムを実行する装置の一例であるゲーム装置の上側ＬＣＤに表示される表示形態例の各処理段階の一例を示す図である。
【図２６】画像処理プログラムを実行する装置の一例であるゲーム装置の上側ＬＣＤに表示される表示形態例の各処理段階の一例を示す図である。
【図２７Ａ】影オブジェクトのシルエットモデルを上から見た一例を示す図である。
【図２７Ｂ】影オブジェクトのシルエットモデルの一例を示す図である。
【図２８】各オブジェクトの不透明度の一例を示す図である。
【図２９】画像処理プログラムを実行することによってゲーム装置が画像処理する動作の一例を示すフローチャートである。
【図３０】画像処理プログラムの敵オブジェクト関連処理の詳細な動作の一例を示すサブルーチンのフローチャートである。
【図３１】画像処理プログラムの弾オブジェクト関連処理の詳細な動作の一例を示すサブルーチンのフローチャートである。
【図３２Ａ】画像処理プログラムの表示画像の更新処理（第１の描画方法）の詳細な動作の一例を示すサブルーチンのフローチャートである。
【図３２Ｂ】本実施形態における画像処理プログラムの表示画像の更新処理（第２の描画方法）の詳細な動作の一例を示すサブルーチンのフローチャートである。
【図３３】第１の描画方法におけるレンダリング処理の一例を説明するための説明図である。
【図３４】図３３の各オブジェクトの位置関係を説明するための説明図である。
【図３５】カメラ画像をレンダリングする処理の一例を説明するための説明図である。
【図３６】カメラ画像をレンダリングする際の座標の一例を説明するための説明図である。
【図３７】仮想空間をレンダリングする処理の一例を説明するための説明図である。
【図３８】図３７の各オブジェクトの位置関係説明するための説明図である。
【図３９】仮想空間をレンダリングする際の境界面の座標の一例を説明するための説明図である。
【図４０】画像処理プログラムにより生成される表示画像の一例を示す図である。
【図４１】実施形態における画像処理プログラムにおける敵オブジェクトの出現演出の一例を示す図である。
【図４２】第２の実施形態に係るゲーム装置の画面の例である。
【図４３】第２の実施形態に係るゲーム装置の動作の一例を示すフローチャートである。
【図４４】第３の実施形態に係るゲーム装置の画面の例である。
【図４５】第３の実施形態に係るゲーム装置の動作の一例を示すフローチャートである。
【図４６】第４の実施形態に係る画面の一例である。
【図４７】第４の実施形態に係るゲーム装置の動作の一例を示すフローチャートである。
【図４８】メインメモリのメモリマップの一例を示す図である。
【図４９】顔の特徴点の一例を示す図である。
【図５０】３次元形状モデルの一例を示す図である。
【図５１】３次元顔オブジェクト情報の一例を示す図である。
【図５２】ゲーム装置の顔画像の撮像の誘導から３次元顔オブジェクト生成までの処理のフローの一例を示す図である。
【図５３】撮像対象人物の顔が外側撮像部又は内側撮像部から離れ過ぎている場合の、誘導メッセージの表示画面例である。
【図５４】撮像対象人物の顔が外側撮像部又は内側撮像部に近づき過ぎている場合の、誘導メッセージの表示画面例である。
【図５５】撮像対象人物の左右の目と口との位置の調整を誘導するための目標範囲と誘導メッセージとの画面表示例を示す図である。
【図５６】撮像対象人物の左右の目の中心点と口の中心点とが目標位置に含まれる際の表示画面の一例を示す図である。
【図５７】貼り付け用として撮像された顔画像の表示画面の一例を示す図である。
【図５８】３次元形状モデルに貼り付け用顔画像を貼り付ける際の位置合わせの一例を示す図である。
【図５９】３次元顔オブジェクトの使用例を示す図である。
【発明を実施するための形態】
【００４７】
（第１の実施形態）
以下、本発明に係る一実施形態としての画像処理プログラムを実行する画像処理装置について具体例を挙げて説明する。ただし、以下に挙げる実施形態は例示であり、本発明は以下の実施形態の構成に限定されない。
【００４８】
なお、以下に挙げる実施形態において、コンピュータが処理するデータをグラフや自然言語を用いて例示しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメタ、マシン語、配列等で指定される。本発明は、データの表現方法を限定するものではない。
【００４９】
＜ハードウェアの構成例＞
まず、図面を参照して、本実施形態に係る画像処理プログラムを実行する画像処理装置の一例として携帯型のゲーム装置１０について説明する。ただし、本発明に係る画像処理装置はゲーム装置に限定されるものではない。本発明に係る画像処理装置は、例えば、汎用コンピュータ等、任意のコンピュータシステムであればよい。また、携帯型でなくてもよい。
【００５０】
なお、以下に示される本実施形態に係る画像処理プログラムはゲームプログラムであるが、本発明に係る画像処理プログラムはゲームプログラムに限定されるものではない。本発明の画像処理プログラムは、任意のコンピュータシステムで実行されることによって適用することができる。また、本実施形態の各処理をネットワーク化された複数の装置で分散処理してもよいし、サーバで主要な処理を行った後、端末に処理結果を配信するネットワークシステムや、いわゆるクラウドネットワークで実施してもよい。
【００５１】
図１、図２、図３Ａ、図３Ｂ、図３Ｃ、及び図３Ｄは、ゲーム装置の外観の一例を示す平面図である。
【００５２】
図１−図３Ｄに示されるゲーム装置１０は、撮像部（カメラ）を内蔵しており、当該撮像部によって画像を撮像（以下、「撮影」とも記載する）し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置１０は、交換可能なメモリカード内に記憶されたゲームプログラム、又は、サーバや他のゲーム装置からネットワークを介して受信したゲームプログラムを実行可能である。また、ゲーム装置１０は、仮想空間に設定された仮想カメラで撮像したときの画像を、コンピュータグラフィックス処理により生成して画面に表示することもできる。
【００５３】
図１−図３Ｄに示されるゲーム装置１０は、下側ハウジング１１および上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、ヒンジ構造により開閉可能（折り畳み可能）に連結されている。すなわち、上側ハウジング２１は、下側ハウジング１１に対して回動（揺動）自在に取り付けられている。これにより、ゲーム装置１０は、上側ハウジング２１が下側ハウジング１１に対して密着した状態となる閉状態（図３Ａ，図３Ｃ）と、上側ハウジング２１が下側ハウジング１１に対して回動し、密着場外が解除された状態（開状態）との二つの形態を有する。上側ハウジング２１の回動は、図２に示すように、開状態において、上側ハウジング２１と下側ハウジング１１とが略平行となる位置まで許容される（図２参照）。
【００５４】
図１は、開いた状態（開状態）におけるゲーム装置１０の一例を示す正面図である。ゲーム装置１０の下側ハウジング１１及び上側ハウジング２１のそれぞれは、平面形状が長手方向（横方向（左右方向）：図中ｘ方向）と短手方向（（上下方向）：図中ｙ方向）とを有する横長の長方形である板状に形成されている。上側ハウジング２１の長手方向の下側の外縁部と、下側ハウジング１１の長手方向の上側の外縁部とがヒンジ構造により回動可能に連結されている。ユーザがゲーム装置１０を使用する際には、通常、ゲーム装置１０は開状態にされる。そして、ユーザがゲーム装置１０を保管する際には、ゲーム装置１０は閉状態にされる。また、上側ハウジング２１は、下側ハウジング１１との連結部分に生じる摩擦力により、下側ハウジング１１との間でユーザが所望する角度をなして停止した状態を維持することができる。つまり、ゲーム装置１０は、上側ハウジング２１を下側ハウジング１１に対して所望角度で静止させることができる。一般に、上側ハウジング２１に設けられた画面の視認性の観点から、上側ハウジング２１は、下側ハウジング１１との間で、直角又は鈍角をなす位置まで開いた状態とされる。以降、ゲーム装置１０の閉状態において、上側ハウジング２１と下側ハウジング１１とのそれぞれの対向面を内側面、又は、主面と称する。また、上側ハウジング２１と下側ハウジング１１とのそれぞれの内側面（主面）とは反対側の面を、外側面と称する。
【００５５】
ゲーム装置１０の下側ハウジング１１の上側長辺部分には、下側ハウジング１１の内側面（主面）１１Ｂに対して垂直な方向（図中ｚ方向）に突出した突起部（軸受け部）１１Ａが設けられる。また、上側ハウジング２１の下側長辺部分には、上側ハウジング２１の下側面から当該下側面に垂直な方向に突起する突起部（軸受け部）２１Ａが設けられる。突起部１１Ａ，２１Ａ，１１Ａ内には、例えば、一方の突起部１１Ａから突起部２１Ａを貫通し他方の突起部１１Ａまでｘ方向に延びる回動軸（図示せず）が収容されており、この回動軸を中心に、上側ハウジング２１が下側ハウジング１１に対して相対的に回動自在となっている。このようにして、下側ハウジング１１と上側ハウジング２１とが、折り畳み可能に接続される。
【００５６】
図１に示される下側ハウジング１１の内側面１１Ｂには、下側ＬＣＤ（Ｌｉｑｕｉｄ  
Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２、タッチパネル１３、各操作ボタン１４Ａ〜１４Ｌ、アナログスティック１５、第１ＬＥＤ１６Ａ、および、マイクロフォン用孔１８が設けられる。
【００５７】
下側ＬＣＤ１２は下側ハウジング１１に収納される。下側ＬＣＤ１２の平面形状は横長の長方形であり、その長辺方向が下側ハウジング１１の長手方向（図１中ｘ方向）に一致するように配置される。下側ＬＣＤ１２は、下側ハウジング１１の内側面（主面）中央に設けられる。下側ハウジング１１の内側面に設けられた開口部から下側ＬＣＤ１２の画面が露出する。ゲーム装置１０を使用しない場合には上記閉状態としておくことによって、下側ＬＣＤ１２の画面が汚れたり傷ついたりすることを防止することができる。下側ＬＣＤ１２の画素数は、一例として、３２０ｄｏｔ×２４０ｄｏｔ（横×縦）である。下側ＬＣＤ１２は、後述する上側ＬＣＤ２２とは異なり、画像を（立体視可能ではなく）平面的に表示する表示装置である。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の表示装置を利用してもよい。また、下側ＬＣＤ１２として、所望の解像度を有する表示装置を利用することができる。
【００５８】
タッチパネル１３はゲーム装置１０の入力装置の一つである。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。本実施形態では、タッチパネル１３は、抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、例えば、静電容量方式等、任意の押圧式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル１３は、下側ＬＣＤ１２の解像度と同解像度（検出精度）のものが利用される。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度とが一致している必要はない。
【００５９】
各操作ボタン１４Ａ〜１４Ｌは、所定の入力を行うための入力装置である。下側ハウジング１１の内側面（主面）には、各操作ボタン１４Ａ〜１４Ｌのうち、十字ボタン１４Ａ（方向入力ボタン１４Ａ）、ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、ボタン１４Ｅ、電源ボタン１４Ｆ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌが設けられる。
【００６０】
十字ボタン１４Ａは、十字の形状を有しており、少なくとも上下左右の方向を指示するボタンを有している。十字ボタン１４Ａは、下側ＬＣＤ１２より左側の領域中の下部領域に設けられる。十字ボタン１４Ａは、下側ハウジング１１を把持した左手の親指で操作可能な位置に設計される。
【００６１】
ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、及びボタン１４Ｅの４つのボタンは、下側ＬＣＤ１２より右側の領域中の上部に、十字状に配置されて設けられる。ボタン１４Ｂ、ボタン１４Ｃ、ボタン１４Ｄ、及びボタン１４Ｅは、下側ハウジング１１を把持するユーザの右手の親指が自然と位置するところに設置される。電源ボタン１４Ｆは、下側ＬＣＤ１２の右側の領域中の下部に配置される。
【００６２】
セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、及びスタートボタン１４Ｌは、それぞれ、下側ＬＣＤ１２の下側領域に設置される。
【００６３】
ボタン１４Ａ〜１４Ｅ、セレクトボタン１４Ｊ、ＨＯＭＥボタン１４Ｋ、およびスタートボタン１４Ｌには、ゲーム装置１０によって実行されるプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン１４Ａは、選択操作やゲーム中のキャラクタの移動操作等に用いられる。例えば、各操作ボタン１４Ｂ〜１４Ｅは、決定操作やキャンセル操作等に用いられる。また、電源ボタン１４Ｆは、ゲーム装置１０の電源をオン／オフする
ために用いられる。
【００６４】
アナログスティック１５は、方向を指示するデバイスである。アナログスティック１５は、下側ハウジング１１の内側面（主面）の下側ＬＣＤ１２より左側の領域中の上部に設けられる。すなわち、アナログスティック１５は十字ボタン１４Ａの上方に設けられる。また、アナログスティック１５は、下側ハウジング１１を把持した左手の親指で操作可能な位置に設計される。アナログスティック１５が上部領域に設けられたことにより、下側ハウジング１１を把持するユーザの左手の親指が自然と位置するところにアナログスティック１５が配置される。そして、十字ボタン１４Ａは、下側ハウジング１１を把持するユーザの左手の親指を少し下にずらした位置に配置される。それゆえ、ユーザは、下側ハウジング１１を把持する左手の親指を上下に動かすだけで、アナログスティック１５と十字ボタン１４Ａを操作することができる。アナログスティック１５は、そのキートップが、下側ハウジング１１の内側面に平行にスライドするように構成されている。アナログスティック１５は、ゲーム装置１０が実行するプログラムに応じて機能する。例えば、３次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置１０によって実行される場合、アナログスティック１５は、当該所定のオブジェクトを３次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトは、アナログスティック１５のキートップがスライドした方向に移動される。なお、アナログスティック１５として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いてもよい。
【００６５】
なお、ボタン１４Ｂ、ボタン１４Ｃ，ボタン１４Ｄ、及びボタン１４Ｅの４つのボタンとアナログスティック１５とは、下側ＬＣＤ１２を挟んで、左右対称な位置に配置される。これにより、ゲームプログラムによっては、例えば、左利きの人が、ボタン１４Ｂ、ボタン１４Ｃ，ボタン１４Ｄ、及びボタン１４Ｅの４つのボタンを使用して方向指示入力をすることも可能である。
【００６６】
第１ＬＥＤ１６Ａ（図１）は、ゲーム装置１０の電源のＯＮ／ＯＦＦ状態をユーザに通知する。第１ＬＥＤ１６Ａは、下側ハウジング１１の内側面（主面）と下側ハウジング１１の下側面とが共有する端部の右側に設けられる。これによって、ユーザは、ゲーム装置１０の開閉状態にかかわらず、第１ＬＥＤ１６Ａの点灯の有無を視認することができる。
【００６７】
マイクロフォン用孔１８は、音声入力装置としてのゲーム装置１０に内蔵されるマイクロフォン用の孔である。内蔵されたマイクロフォンは、マイクロフォン用孔１８から外部の音を検出する。マイクロフォン及びマイクロフォン用孔１８は、下側ハウジング１１の内側面（主面）の電源ボタン１４Ｆの下方に設けられる。
【００６８】
下側ハウジング１１の上側面には、タッチペン２８の挿入口１７（図１、図３Ｄにおいて点線で示される）が設けられている。挿入口１７から、タッチパネル１３に対する操作を行うために用いられるタッチペン２８を収納することができる。なお、タッチパネル１３を用いた入力は、通常タッチペン２８を用いて行われる。但し、タッチペン２８の代わりにユーザの指を用いることもできる。
【００６９】
下側ハウジング１１の上側面にはゲーム装置１０とゲームプログラムを記録した外部メモリ４５を挿入するための挿入口１１Ｄ（図１、図３Ｄにおいて点線で示される）が設けられる。挿入口１１Ｄの内部には、外部メモリ４５と内部回路とを電気的に着脱自在に接続するためのコネクタ（図示せず）が設けられる。外部メモリ４５がゲーム装置１０に接続されることにより、内部回路に含まれるプロセッサによって所定のゲームプログラムが実行される。なお、上記コネクタおよび挿入口１１Ｄは、下側ハウジング１１の他の側面（例えば、右側面等）に設けられてもよい。
【００７０】
図１に示される上側ハウジング２１の内側面２１Ｂには、スピーカ孔２１Ｅ、上側ＬＣＤ２２、内側撮像部２４、３Ｄ調整スイッチ２５、および３Ｄインジケータ２６が設けられる。
【００７１】
上側ＬＣＤ２２は、立体視可能な画像を表示することが可能な表示装置である。上側ＬＣＤ２２は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。具体的には、上側ＬＣＤ２２は、左目用画像と右目用画像とが所定単位で（例えば、１列ずつ）横方向に交互に表示される方式の表示装置である。なお、上側ＬＣＤ２２は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、上側ＬＣＤ２２は、裸眼立体視可能な表示装置である。この場合、上側ＬＣＤ２２は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式（視差バリア方式）のものが用いられる。本実施形態では、上側ＬＣＤ２２は、パララックスバリア方式の表示装置とする。上側ＬＣＤ２２は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像（立体画像）を表示する。すなわち、上側ＬＣＤ２２は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像（立体視可能な画像）を表示することができる。また、上側ＬＣＤ２２は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる（上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである。）。このように、上側ＬＣＤ２２は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する（平面視画像を表示する）平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する３Ｄ調整スイッチ２５によって行われる。
【００７２】
上側ＬＣＤ２２は、上側ハウジング２１に収納される。上側ＬＣＤ２２は、横長の長方形であり、長辺方向が上側ハウジング２１の長辺方向に一致する状態で、上側ハウジング２１の中央に配置される。上側ＬＣＤ２２の画面の面積は、一例として下側ＬＣＤ１２の画面の面積よりも大きく設定される。具体的には、上側ＬＣＤ２２の画面は、下側ＬＣＤ１２の画面よりも横長に設定される。すなわち、上側ＬＣＤ２２の画面のアスペクト比における横幅の割合は、下側ＬＣＤ１２の画面のアスペクト比における横幅の割合よりも大きく設定される
上側ＬＣＤ２２の画面は、上側ハウジング２１の内側面（主面）２１Ｂに設けられ、上側ハウジング２１の内側面２１Ｂに設けられた開口部から上側ＬＣＤ２２の画面が露出する。また、上側ハウジング２１の内側面は、透明なスクリーンカバー２７によって覆われている。スクリーンカバー２７は、上側ＬＣＤ２２の画面を保護するとともに、上側ＬＣＤ２２と上側ハウジング２１の内側面と一体的にさせ、これにより統一感を持たせている。上側ＬＣＤ２２の画素数は、一例として８００ｄｏｔ×２４０ｄｏｔ（横×縦）である。本実施形態では、上側ＬＣＤ２２は液晶表示装置であるとして説明される。ただし、これに限らず、例えば、ＥＬを利用した表示装置などが利用されてもよい。また、上側ＬＣＤ２２として、任意の解像度の表示装置を利用することができる。
【００７３】
スピーカ孔２１Ｅは、ゲーム装置１０の音声出力装置としてのスピーカ４４からの音声を出力するための孔である。スピーカ２１Ｅは、上側ＬＣＤを挟んで左右対称に設置される。後述するスピーカ４４からの音声がこのスピーカ孔２１Ｅから出力される。
【００７４】
内側撮像部２４は、上側ハウジング２１の内側面２１Ｂの内向きの法線方向を撮像方向とする撮像部である。内側撮像部２４は、所定の解像度を有する撮像素子と、レンズとを含む。撮像素子は、例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等である。
レンズは、ズーム機構を有するものでもよい。
【００７５】
内側撮像部２４は、上側ハウジング２１の内側面２１Ｂの、上側ＬＣＤ２２の画面の上端よりも上方に配置され、上側ハウジング２１の左右方向に関して中央の位置（上側ハウジング２１（上側ＬＣＤ２２の画面）を左右に２等分する線の線上）に配置される。このように内側撮像部２４が配置されることによって、ユーザが上側ＬＣＤ２２を正視した際、内側撮像部２４によってユーザの顔を正面から撮像することができる。外側左撮像部２３ａおよび外側右撮像部２３ｂについては、後述される。
【００７６】
３Ｄ調整スイッチ２５は、スライドスイッチであり、上述のように上側ＬＣＤ２２の表示モードを切り替えるために用いられるスイッチである。また、３Ｄ調整スイッチ２５は、上側ＬＣＤ２２に表示された立体視可能な画像（立体画像）の立体感を調整するために用いられる。３Ｄ調整スイッチ２５は、ゲーム装置１０の開閉状態に関わらずユーザが視認できるように、上側ハウジング２１の内側面２１Ｂと右側面とが共有する端部に設けられる。３Ｄ調整スイッチ２５は、所定方向（例えば、上下方向）の任意の位置にスライド可能なスライダを有しており、当該スライダの位置に応じて上側ＬＣＤ２２の表示モードが設定される。
【００７７】
例えば、３Ｄ調整スイッチ２５のスライダが最下点位置に配置されている場合、上側ＬＣＤ２２が平面表示モードに設定され、上側ＬＣＤ２２の画面には平面画像が表示される。なお、上側ＬＣＤ２２を立体表示モードのままとして、左目用画像と右目用画像とを同一の画像とすることにより平面表示してもよい。一方、上記最下点位置より上側にスライダが配置されている場合、上側ＬＣＤ２２は立体表示モードに設定される。この場合、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。ここで、スライダが上記最下点位置より上側に配置されている場合、スライダの位置に応じて、立体画像の見え方が調整される。具体的には、スライダの位置に応じて、右目用画像および左目用画像における横方向の位置のずれ量が調整される。
【００７８】
３Ｄインジケータ２６は、上側ＬＣＤ２２が立体表示モードか否かを示す。例えば、３Ｄインジケータ２６は、ＬＥＤであり、上側ＬＣＤ２２の立体表示モードが有効の場合に点灯する。３Ｄインジケータ２６は、上側ハウジング２１の内側面２１Ｂに設けられ、上側ＬＣＤ２２の画面近傍に設けられる。このため、ユーザが上側ＬＣＤ２２の画面を正視した場合、ユーザは３Ｄインジケータ２６を視認しやすい。したがって、ユーザは、上側ＬＣＤ２２の画面を視認している状態でも、上側ＬＣＤ２２の表示モードを容易に認識することができる。
【００７９】
図２は、開状態におけるゲーム装置１０の一例を示す右側面図である。下側ハウジング１１の右側面には、第２ＬＥＤ１６Ｂと、無線スイッチ１９と、Ｒボタン１４Ｈとが設けられている。第２ＬＥＤ１６Ｂは、点灯により、ゲーム装置１０の無線通信の確立状況をユーザに通知する。ゲーム装置１０は、他の機器との間で無線通信を行うことが可能であり、第２ＬＥＤ１６Ｂは、他の機器との無線通信が確立している場合に点灯する。ゲーム装置１０は、例えば、ＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。無線スイッチ１９は、この無線通信の機能を有効／無効にする。Ｒボタン１４Ｈについては、後述される。
【００８０】
図３Ａは、閉じた状態（閉状態）におけるゲーム装置１０の一例を示す左側面図である。図３Ａに示される下側ハウジング１１の左側面には、開閉可能なカバー部１１Ｃと、Ｌボタン１４Ｈと、音量ボタン１４Ｉとが設けられる。音量ボタン１４Ｉは、ゲーム装置１０が備えるスピーカ４４の音量を調整するためのボタンである。
【００８１】
カバー部１１Ｃの内側には、ゲーム装置１０とデータ保存用外部メモリ４６（図１参照）とを電気的に接続するためのコネクタ（図示せず）が設けられる。データ保存用外部メモリ４６は、上記コネクタに着脱自在に装着される。データ保存用外部メモリ４６は、例えば、ゲーム装置１０によって撮像された画像のデータを記憶（保存）するために用いられる。なお、上記コネクタおよびカバー部１１Ｃは、下側ハウジング１１の右側面に設けられてもよい。Ｌボタン１４Ｈについては後述される。
【００８２】
図３Ｂは、閉状態におけるゲーム装置１０の一例を示す正面図である。図３Ｂに示される上側ハウジング２１の外側面には、外側左撮像部２３ａ、外側右撮像部２３ｂ、及び第３ＬＥＤ２９が設けられる。
【００８３】
外側左撮像部２３ａ及び外側右撮像部２３ｂは、それぞれ所定の共通の解像度を有する撮像素子（例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサ等）と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。外側左撮像部２３ａ及び外側右撮像部２３ｂの撮像方向は、いずれも外側面２１Ｄの外向きの法線方向である。すなわち、外側左撮像部２３ａの撮像方向および外側右撮像部２３ｂの撮像方向（カメラの視軸）は、平行である。以降、外側左撮像部２３ａ及び外側右撮像部２３ｂをまとめて、外側撮像部２３と称する。
【００８４】
外側撮像部２３を構成する外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ＬＣＤ２２の画面の横方向に並べて配置される。すなわち、２つの外側左撮像部２３ａおよび外側右撮像部２３ｂを結んだ直線が上側ＬＣＤ２２の画面の横方向に配置されるように、外側左撮像部２３ａおよび外側右撮像部２３ｂが配置される。また、ユーザが上側ハウジング２１を下側ハウジング１１に対して所定角度（例えば９０°）揺動させ、上側ＬＣＤ２２の画面を正面から視認した場合に、外側左撮像部２３ａは画面を視認するユーザの左側に位置し、外側右撮像部２３ｂはユーザの右側に位置する（図１参照）。外側左撮像部２３ａおよび外側右撮像部２３ｂの間隔は、人間の両目の間隔程度に設定され、例えば、３０ｍｍ〜７０ｍｍの範囲で設定されてもよい。なお、外側左撮像部２３ａおよび外側右撮像部２３ｂの間隔は、この範囲に限らない。なお、本実施形態においては、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ハウジング２１に固定されており、撮像方向を変更することはできない。
【００８５】
外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ＬＣＤ２２（上側ハウジング２１）の上側ＬＣＤ２２を左右に２等分する線に対して対称の位置にそれぞれ配置される。また、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ハウジング２１を開いた状態において、上側ハウジング２１の上部であって、上側ＬＣＤ２２の画面の上端よりも上方の位置の裏側に配置される（図１参照）。すなわち、外側左撮像部２３ａおよび外側右撮像部２３ｂは、上側ハウジング２１の外側面であって、上側ＬＣＤ２２を外側面に投影した場合、投影した上側ＬＣＤ２２の画面の上端よりも上方に配置される。
【００８６】
このように、外側左撮像部２３ａ及び外側右撮像部２３ｂが上側ＬＣＤ２２の短手方向中央線に対して線対称に配置されることにより、ユーザが上側ＬＣＤ２２を正視した場合に、外側撮像部２３それぞれの撮像方向をユーザの左右の目それぞれの視線方向と一致させることができる。また、外側撮像部２３は、上側ＬＣＤ２２の画面の上端より上方の裏側の位置に配置されるため、外側撮像部２３と上側ＬＣＤ２２とが上側ハウジング２１の内部で干渉することがない。さらに、外側左撮像部２３ａおよび外側右撮像部２３ｂは、図３Ｂにおいて点線で示される上側ハウジング２１の内側面に設けられた内側撮像部２４を上側ハウジング２１の外側面に投影した場合、当該投影された内側撮像部２４を挟んで左右対称に設けられる。したがって、外側撮像部２３を上側ＬＣＤ２２の画面の裏側に配置する場合や、内側撮像部２４の裏側に外側撮像部２３を配置する場合に比べて、上側ハ
ウジング２１を薄く構成することが可能となる。
【００８７】
外側左撮像部２３ａと外側右撮像部２３ｂとは、ゲーム装置１０が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、２つの外側撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）のいずれか一方を単独で用いて、外側撮像部２３を非ステレオカメラとして使用可能である。外側撮像部２３ａ及び２３ｂをステレオカメラとして機能させるプログラムが実行されている場合、外側左撮像部２３ａは、ユーザの左目で視認される左目用画像を撮像し、外側右撮像部２３ｂは、ユーザの右目で視認される右目用画像を撮像する。また、プログラムによっては、２つの外側撮像部（外側左撮像部２３ａおよび外側右撮像部２３ｂ）で撮像した画像を合成してまたは補完的に使用することにより撮像範囲を広げた撮像をおこなうことも可能である。また、外側撮像部２３ａと２３ｂとの一方を用いて撮像された単一の画像から、視差を有する左目用画像及び右目用画像を生成して、あたかも二つのカメラで撮影されたかのような疑似ステレオ画像を生成することもできる。この疑似ステレオ画像の生成において、仮想カメラ間の距離は、適宜設定可能とされる。
【００８８】
第３ＬＥＤ２９は、外側撮像部２３が作動している場合に点灯し、外側撮像部２３が作動していることを報知する。第３ＬＥＤ２９は、上側ハウジング２１の外側面の外側撮像部２３の近傍に設けられる。
【００８９】
図３Ｃは、閉状態におけるゲーム装置１０の一例を示す右側面図である。図３Ｄは、閉状態におけるゲーム装置１０の一例を示す背面図である。
【００９０】
図３Ｄに示される下側ハウジング１１の上側面には、Ｌボタン１４ＧおよびＲボタン１４Ｈが設けられている。Ｌボタン１４Ｇは、下側ハウジング１１の上面の左端部に設けられ、Ｒボタン１４Ｈは、下側ハウジング１１の上面の右端部に設けられる。Ｌボタン１４ＧおよびＲボタン１４Ｈは、ゲーム装置１０が実行するプログラムに応じた機能が適宜割り当てられる。例えば、Ｌボタン１４ＧおよびＲボタン１４Ｈは、上述の各撮像部のシャッターボタン（撮影指示ボタン）として機能する。
【００９１】
なお、図示は省略するが、下側ハウジング１１には、ゲーム装置１０の電源となる充電式電池が収納され、下側ハウジング１１の側面（例えば、上側面）に設けられた端子を介して当該電池を充電することができる。
【００９２】
図４および図５は、それぞれ、ゲーム装置１０の使用状態の一例を示す。図４は、ユーザがゲーム装置１０を両手で把持する様子の一例を示す図である。
【００９３】
図４に示される例において、ユーザは、下側ＬＣＤ１２および上側ＬＣＤ２２がユーザの方向を向く状態で、両手の掌と中指、薬指および小指とで下側ハウジング１１の側面および外側面（内側面の反対側の面）を把持する。このように把持することで、ユーザは、下側ハウジング１１を把持したまま、各操作ボタン１４Ａ〜１４Ｅおよびアナログスティック１５に対する操作を左右の親指で行い、Ｌボタン１４ＧおよびＲ１４Ｈに対する操作を左右の人差し指で行うことができる。
【００９４】
図５は、ユーザがゲーム装置１０を片手で把持する様子の一例を示す図である。図５に示される例において、タッチパネル１３に対して入力を行う場合には、ユーザは下側ハウジング１１を把持していた一方の手を離して他方の手のみで下側ハウジング１１を把持する。これによって、当該一方の手でタッチパネル１３に対する入力を行うことができる。
【００９５】
図６は、ゲーム装置１０の内部構成の一例を示すブロック図である。ゲーム装置１０は
、上述した各構成部に加えて、情報処理部３１、メインメモリ３２、外部メモリインターフェイス（外部メモリＩ／Ｆ）３３、データ保存用外部メモリＩ／Ｆ３４、データ保存用内部メモリ３５、無線通信モジュール３６、ローカル通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、加速度センサ３９、角速度センサ４０、電源回路４１、およびインターフェイス回路（Ｉ／Ｆ回路）４２等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００９６】
情報処理部３１は、所定のプログラムを実行するためのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１１、画像処理を行うＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１２等を含む情報処理手段である。本実施形態では、所定のプログラムがゲーム装置１０内のメモリ（例えば外部メモリＩ／Ｆ３３に接続された外部メモリ４５やデータ保存用内部メモリ３５）に記憶されている。情報処理部３１のＣＰＵ３１１は、当該所定のプログラムを実行することによって、後述する画像処理やゲーム処理を実行する。なお、情報処理部３１のＣＰＵ３１１によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部３１は、ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）３１３を含む。情報処理部３１のＧＰＵ３１２は、情報処理部３１のＣＰＵ３１１からの命令に応じて画像を生成し、ＶＲＡＭ３１３に描画する。そして、情報処理部３１のＧＰＵ３１２は、ＶＲＡＭ３１３に描画された画像を上側ＬＣＤ２２および／または下側ＬＣＤ１２に出力し、当該画像は上側ＬＣＤ２２および／または下側ＬＣＤ１２に表示される。
【００９７】
情報処理部３１には、メインメモリ３２、外部メモリＩ／Ｆ３３、データ保存用外部メモリＩ／Ｆ３４、およびデータ保存用内部メモリ３５が接続される。外部メモリＩ／Ｆ３３は、外部メモリ４５を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリＩ／Ｆ３４は、データ保存用外部メモリ４６を着脱自在に接続するためのインターフェイスである。
【００９８】
メインメモリ３２は、情報処理部３１（ＣＰＵ３１１）のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ３２は、画像処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部（外部メモリ４５や他の機器等）から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ３２として例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。
【００９９】
外部メモリ４５は、情報処理部３１によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ４５は、例えば読み取り専用の半導体メモリで構成される。外部メモリ４５が外部メモリＩ／Ｆ３３に接続されると、情報処理部３１は外部メモリ４５に記憶されたプログラムを読み込むことができる。情報処理部３１が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ４６は、不揮発性の読み書き可能なメモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ４６には、外側撮像部２３で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ４６がデータ保存用外部メモリＩ／Ｆ３４に接続されると、情報処理部３１はデータ保存用外部メモリ４６に記憶された画像を読み込み、上側ＬＣＤ２２および／または下側ＬＣＤ１２に当該画像を表示することができる。
【０１００】
データ保存用内部メモリ３５は、読み書き可能な不揮発性メモリ（例えばＮＡＮＤ型フラッシュメモリ）で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ３５には、無線通信モジュール３６を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【０１０１】
無線通信モジュール３６は、例えばＩＥＥＥ８０２．１１．ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。また、ローカル通信モジュール３７は、所定の通信方式（例えば赤外線通信）により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール３６およびローカル通信モジュール３７は、情報処理部３１に接続される。情報処理部３１は、無線通信モジュール３６を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール３７を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【０１０２】
情報処理部３１には、加速度センサ３９が接続される。加速度センサ３９は、３軸（本実施形態では、ｘｙｚ軸）方向に沿った直線方向の加速度（直線加速度）の大きさを検出する。加速度センサ３９は、例えば下側ハウジング１１の内部に設けられる。加速度センサ３９は、図１に示されるように、下側ハウジング１１の長辺方向をｘ軸、下側ハウジング１１の短辺方向をｙ軸、下側ハウジング１１の内側面（主面）に対して垂直な方向をｚ軸として、ゲーム装置１０の各軸方向へ生じる直線加速度の大きさをそれぞれ検出する。なお、加速度センサ３９は、例えば静電容量式の加速度センサとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ３９は１軸または２軸方向を検出する加速度センサであってもよい。情報処理部３１は、加速度センサ３９が検出した加速度を示すデータ（加速度データ）を受信して、ゲーム装置１０の姿勢や動きを算出する。
【０１０３】
情報処理部３１には、角速度センサ４０が接続される。角速度センサ４０は、ゲーム装置１０の３軸（本実施形態では、ｘｙｚ軸）周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ（角速度データ）を情報処理部３１へ出力する。角速度センサ４０は、例えば下側ハウジング１１の内部に設けられる。情報処理部３１は、角速度センサ４０から出力された角速度データを受信して、ゲーム装置１０の姿勢や動きを算出する。
【０１０４】
情報処理部３１には、ＲＴＣ３８および電源回路４１が接続される。ＲＴＣ３８は、時間をカウントして情報処理部３１に出力する。情報処理部３１は、ＲＴＣ３８によって計時された時間に基づき現在時刻（日付）を計算する。電源回路４１は、ゲーム装置１０が有する電源（下側ハウジング１１に収納される上記充電式電池）からの電力を制御し、ゲーム装置１０の各部品に電力を供給する。
【０１０５】
情報処理部３１には、Ｉ／Ｆ回路４２が接続される。Ｉ／Ｆ回路４２には、マイク４３、スピーカ４４、およびタッチパネル１３が接続される。具体的には、Ｉ／Ｆ回路４２には、図示しないアンプを介してスピーカ４４が接続される。マイク４３は、ユーザの音声を検知して音声信号をＩ／Ｆ回路４２に出力する。アンプは、Ｉ／Ｆ回路４２からの音声信号を増幅し、音声をスピーカ４４から出力させる。Ｉ／Ｆ回路４２は、マイク４３およびスピーカ４４（アンプ）の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換およびＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部３１に出力する。タッチ位置データは、タッチパネル１３の入力面において入力が行われた位置（タッチ位置）の座標を示す。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、およびタッチ位置データの生成を所定時間に１回の割合で行う。情報処理部３１は、タッチ位置データを取得することにより、タッチパネル１３に対して入力が行われたタッチ位置を知ることができる。
【０１０６】
操作ボタン１４は、上記各操作ボタン１４Ａ〜１４Ｌからなり、情報処理部３１に接続される。操作ボタン１４から情報処理部３１へは、各操作ボタン１４Ａ〜１４Ｉに対する
入力状況（押下されたか否か）を示す操作データが出力される。情報処理部３１は、操作ボタン１４から操作データを取得することによって、操作ボタン１４に対する入力に応じた処理を実行する。
【０１０７】
下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１に接続される。下側ＬＣＤ１２および上側ＬＣＤ２２は、情報処理部３１（ＧＰＵ３１２）の指示にしたがって画像を表示する。本実施形態では、情報処理部３１は、手書き画像入力操作用の画像を下側ＬＣＤ１２に表示させ、外側撮像部２３および内側撮像部２４のいずれかから取得した画像を上側ＬＣＤ２２に表示させる。すなわち、情報処理部３１は、上側ＬＣＤ２２に外側撮像部２３で撮像した右目用画像と左目用画像とを用いた立体画像（立体視可能な画像）を表示させたり、内側撮像部２４で撮像した平面画像を上側ＬＣＤ２２に表示させたり、上側ＬＣＤ２２に外側撮像部２３で撮像した右目用画像および左目用画像の一方を用いた平面画像を表示させたりする。
【０１０８】
具体的には、情報処理部３１は、上側ＬＣＤ２２のＬＣＤコントローラ（図示せず）と接続され、当該ＬＣＤコントローラに対して視差バリアのＯＮ／ＯＦＦを制御する。上側ＬＣＤ２２の視差バリアがＯＮになっている場合、情報処理部３１のＶＲＡＭ３１３に格納された（外側撮像部２３で撮像された）右目用画像と左目用画像とが、上側ＬＣＤ２２に出力される。より具体的には、ＬＣＤコントローラは、右目用画像について縦方向に１ライン分の画素データを読み出す処理と、左目用画像について縦方向に１ライン分の画素データを読み出す処理とを交互に繰り返すことによって、ＶＲＡＭ３１３から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に１ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側ＬＣＤ２２の画面に表示される。そして、上側ＬＣＤ２２の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側ＬＣＤ２２の画面には立体視可能な画像が表示される。
【０１０９】
外側撮像部２３および内側撮像部２４は、情報処理部３１に接続される。外側撮像部２３および内側撮像部２４は、情報処理部３１の指示にしたがって画像を撮像し、撮像した画像データを情報処理部３１に出力する。本実施形態では、情報処理部３１は、外側撮像部２３および内側撮像部２４のいずれか一方に対して撮像指示を行い、撮像指示を受けた撮像部が画像を撮像して画像データを情報処理部３１に送る。具体的には、ユーザによるタッチパネル１３や操作ボタン１４を用いた操作によって使用する撮像部が選択される。そして、撮像部が選択されたことを情報処理部３１（ＣＰＵ３１１）が検知し、情報処理部３１が外側撮像部２３または内側撮像部２４に対して撮像指示を行う。
【０１１０】
外側撮像部２３及び内側撮像部２４は、情報処理部３１（ＣＰＵ３１１）からの指示によって起動されると、例えば、１秒間に６０枚の速度で撮像する。外側撮像部２３又は内側撮像部２４によって撮像された撮像画像は、順次、情報処理部３１に送られ、情報処理部３１（ＧＰＵ３１２）によって上側ＬＣＤ２２又は下側ＬＣＤ１２に表示される。撮像画像は、情報処理部３１に出力されると、ＶＲＡＭ３１３に格納され、上側ＬＣＤ２２又は下側ＬＣＤ１２に出力された後、所定のタイミングで削除される。このように、例えば、１秒間に６０枚の速度で、撮像し、撮像した画像を表示することによって、ゲーム装置１０は、外側撮像部２３及び内側撮像部２４の撮影範囲内の景色をリアルタイムに上側ＬＣＤ２２又は下側ＬＣＤ１２に表示することができる。
【０１１１】
３Ｄ調整スイッチ２５は、情報処理部３１に接続される。３Ｄ調整スイッチ２５は、スライダの位置に応じた電気信号を情報処理部３１に送信する。
【０１１２】
３Ｄインジケータ２６は、情報処理部３１に接続される。情報処理部３１は、３Ｄインジケータ２６の点灯を制御する。例えば、情報処理部３１は、上側ＬＣＤ２２が立体表示モードである場合、３Ｄインジケータ２６を点灯させる。
【０１１３】
＜機能の説明＞
次に、ゲーム装置１０が実行するゲーム処理の一例の概要を説明する。ゲーム装置１０は、ユーザ（以下、プレイヤともいう）の操作にしたがって、内側撮像部２４、あるいは、外側撮像部２３等を通じて、例えば、人の顔画像を取得して保存することにより、顔画像を収集する機能を提供する。顔画像の収集にあたって、ユーザは、取得した顔画像を用いたゲーム（第１のゲーム）を実行し、そのゲームの結果が成功であった場合に、ユーザは取得した画像を保存することができる。ゲーム装置１０は、後述するように、ゲーム処理を実行中にアクセス可能なセーブデータ記憶域Ｄｏ（図１１参照）に、取得した顔画像を保存する。そして、ユーザは、ゲーム装置１０に対して同様の操作を繰り返して、複数の顔画像を収集し、セーブデータ記憶域Ｄｏに追加し、蓄積することができる。セーブデータ記憶域Ｄｏは、ゲーム実行中のゲーム装置１０がアクセス可能な領域であるので、取得された顔画像がセーブデータ記憶域Ｄｏに保存されることによって、利用可能な状態となる。さらに、ゲーム装置１０は、セーブデータ記憶域Ｄｏに蓄積したデータを読み出すことにより、第１のゲームの結果として収集した顔画像の一覧を表示する。そして、ゲーム装置１０は、表示した顔画像の一覧の中からユーザが選択した顔画像、あるいは、ゲーム装置１０が自動的に選択した顔画像を用いてゲーム（第２のゲーム）を実行する。
【０１１４】
ゲーム装置１０が実行するゲーム（第１のゲーム、第２のゲーム）は、例えば、敵オブジェクトＥＯに照準を合わせて攻撃を行い、敵オブジェクトＥＯを破壊するゲームである。そして、第１の実施形態では、例えば、ユーザが取得し、セーブデータ記憶域Ｄｏ保存納前の顔画像、あるいはセーブデータ記憶域Ｄｏ保存納後の顔画像が敵オブジェクトＥＯ等のキャラクタオブジェクトのテクスチャとなって、敵オブジェクトＥＯ等にマッピングされる。
【０１１５】
まず、第１のゲーム実行段階では、ユーザは、例えば、カメラのような撮像部を介して所望の顔画像を取得し、第１のゲームを実行できる。そして、ユーザは、第１のゲームで成功することにより、取得した顔画像をセーブデータ記憶域Ｄｏに蓄積的に保存し、一覧表示し、第２のゲームに利用できる。ここで、蓄積的にとは、ユーザが新たな顔画像を取得し、さらに、第１のゲームで成功することによって、新たな顔画像が追加されることをいう。
【０１１６】
そして、第２のゲームの実行段階では、ユーザは、収集した顔画像の中から所望の顔画像を選択して敵オブジェクトＥＯを作成することができる。そして、ユーザは、所望の顔画像を用いて作成した敵オブジェクトＥＯを用いたゲーム、例えば、作成した敵オブジェクトＥＯを破壊するゲームを実行することができる。ただし、ユーザの操作によらず、ゲーム装置１０が自動的に、セーブデータ記憶域Ｄｏから、例えば、ランダムに顔画像を選択し、敵オブジェクトＥＯ等を作成してもよい。なお、第１のゲームの実行段階においても、すでにセーブデータ記憶域Ｄｏに収集済みの顔画像を用いてキャラクタオブジェクトを作成し、セーブデータ記憶域Ｄｏに保存前の顔画像を用いたキャラクタオブジェクトとともに、ゲームに登場させてもよい。なお、以下で、複数の敵オブジェクトＥＯをそれぞれ区別する場合には、敵オブジェクトＥＯ１、ＥＯ２のように呼ぶ。一方、敵オブジェクトＥＯ１、ＥＯ２等を総称的に呼ぶ場合、および、複数の敵オブジェクトを区別する必要がない文脈では、敵オブジェクトＥＯのように呼ぶ。
【０１１７】
次に、図７〜図１０を参照して、第１の実施形態に係るゲーム装置１０の表示例を説明する。図７は、ゲーム装置１０の上側ＬＣＤ２２に一覧表示された顔画像の例である。上
述のように、ユーザは、第１のゲームで成功することにより、取得した顔画像を保存し、図７のように一覧表示できる。一覧表示される顔画像は、例えば、内側撮像部２４、外側左撮像部２３ａ、外側右撮像部２３ｂ等によって取得された画像データを人の顔面の３次元モデルにテクスチャマッピングしたものである。例えば、複数のポリゴンを組み合わせて形成した３次元モデルの表面に、画像データがテクスチャとして貼り付けられる。ただし、ゲーム装置１０が実行するゲームでは、顔画像は、３次元モデルにテクスチャマッピングされたものに限定される訳ではない。例えば、ゲーム装置１０は、単純な２次元画素配列に保持される画像データを顔画像として表示するようにしてもよい。また、図７のように一覧表示された顔画像のうち、いずれか１つ以上が単純な２次元画素配列に保持される顔画像であり、残りが３次元モデルにテクスチャマッピングされた顔画像であってもよい。
【０１１８】
図７では、顔画像Ｇ１は、太線Ｌ１で囲まれている。太線Ｌ１は、顔画像Ｇ１が選択状態にあることを示している。選択状態とは、例えば、ユーザが操作ボタン１４等を操作することによって、処理対象として選択された状態にあることをいう。選択状態は、フォーカスされた状態とも呼ばれる。ユーザが、例えば、操作ボタン１４を押下するごとに、選択状態の顔画像は、左から右、上から下に移動する。例えば、図７の状態で、ユーザが、十字ボタン１４Ａを右方向に押下することで、選択状態の顔画像は、顔画像Ｇ１から顔画像Ｇ２、顔画像Ｇ２から顔画像Ｇ３のように、右方向に遷移する。選択状態の顔画像が遷移するとは、上側ＬＣＤ２２の画面上では、太線Ｌ１で取り囲まれる顔画像が変更されていくことをいう。
【０１１９】
なお、図７で、顔画像の横の並びを１つの段と呼ぶことにする。この１つの段において右端の顔画像Ｇ４が選択状態にあって、さらに、ユーザが、十字ボタン１４Ａを右方向に押下すると、選択状態の顔画像は、次の下段の左下の顔画像Ｇ５となる。逆に、例えば、下段の左下の顔画像Ｇ５が選択状態にある場合に、ユーザが、十字ボタン１４Ａを左方向に押下することで、選択状態の顔画像は、顔画像Ｇ５から顔画像Ｇ４、顔画像Ｇ４から顔画像Ｇ３のように、上方向、右方向に遷移する。
【０１２０】
ただし、選択状態の変更は、十字ボタン１４Ａの左右への押下に限定される訳でなく、上下への押下によって、選択状態が変更されるようにしてもよい。また、選択状態の変更は、十字ボタン１４Ａの押下に限定される訳ではなく、他の操作ボタン１４、例えば、操作ボタン１４Ｂ（Ａボタン）を押下することによって、選択対象の画像を変更するようにしてもよい。また、下側ＬＣＤ１２上のタッチパネル１３の操作によって、選択状態の顔画像を切り替えるようにしてもよい。例えば、ゲーム装置１０は、上側ＬＣＤ２２に表示される顔画像の一覧と同様の顔画像の一覧を下側ＬＣＤ１２に表示しておく。そして、ゲーム装置１０は、タッチパネル１３への操作を検知することによって、どの顔画像が選択状態になったかを検知するようにしてもよい。そして、ゲーム装置１０は、選択状態になった顔画像、例えば、顔画像Ｇ１を太線Ｌ１で取り囲んで表示するようにすればよい。
【０１２１】
以上のように、ユーザは、上側ＬＣＤ２２に表示される、図７で例示される画面により、現在取得済みの顔画像の一覧を閲覧できる。また、ユーザは、現在取得済みの画面一覧から所望の顔画像を選択状態とすることができる。そして、例えば、所定の決定ボタン、例えば、下側ＬＣＤ１２に表示された決定ボタンなどをタッチパネル１３あるいは操作ボタン１４などで選択することで、選択状態を確定することができる。また、例えば、ユーザがボタン１４Ｃ（Ｂボタンともいう）を押下することで、上側ＬＣＤ２２の顔画像の一覧画面が閉じて、図示しないメニュー選択待ちの画面を表示するようにしてもよい。
【０１２２】
図８は、一覧表示された顔画像の他の例である。図８の例では、顔画像Ｇ５が選択状態にあり、太線Ｌ２で囲まれている。図８の例では、顔画像Ｇ５が選択状態になると、顔画
像Ｇ５と関連がある顔画像が反応している。例えば、顔画像Ｇ０の近傍にハートマークが表示され、かつ、顔画像Ｇ０が片目を閉じて、選択状態にある顔画像Ｇ５に向かって視線を送っている。また、例えば、顔画像Ｇ３、顔画像Ｇ７なども、選択状態にある顔画像Ｇ５に顔を向けて、視線を送っている。
【０１２３】
ただし、選択状態にされた顔画像と関連性のある顔画像の反応は、顔を向ける、近傍にハートマークが表示され、片目を閉じて視線を送る、顔を向けて視線を送る、等の動作だけに限定される訳ではない。例えば、関連のある顔画像が、笑う、声を発する等の反応を示してもよい。逆に、選択状態にされた顔画像と関連のない顔画像が、笑っている表情から、笑わない表情に変わるようにしてもよい。また、選択状態にされた顔画像と関連のない顔画像が、選択状態にされた顔画像の方向と逆の方向を向くようにしてもよい。
【０１２４】
ここで、関連のある顔画像は、例えば、顔画像取得の段階で定義しておくようにしてもよい。例えば、顔画像を分類するためのグループを事前に設定しておき、顔画像が取得されるときに、取得される顔画像がどのグループに属するかをユーザが入力するようにしてもよい。また、例えば、ゲームの進行に応じて、顔画像のグループを定義し、顔画像を分類するようにしてもよい。例えば、顔画像Ｇ０を用いて、ゲームを進行中に、新たに顔画像Ｇ１が取得されたような場合に、顔画像Ｇ０と顔画像Ｇ１とを同一のグループに属する関連のある顔画像同士であると決定してもよい。
【０１２５】
図８のように、１つの顔画像、例えば、顔画像Ｇ５が操作ボタン１４等によって選択状態にされたときに、他の顔画像Ｇ０、Ｇ３、Ｇ７などが反応すると、取得された顔画像間の親近感などを表現できるようになる。すなわち、単に収集した顔画像をグループに分けて分類するというのではなく、顔画像の表情、反応によって、複数の顔画像間での親近性を表現でき、実世界の人と人との関連性、親密度等を仮想のゲーム装置１０の世界で表現できる。
【０１２６】
図９、および図１０は、顔画像をゲームキャラクタの１つである、敵オブジェクトＥＯにはめ込む処理の画面例である。図９は、敵オブジェクトＥＯの頭部選択画面の例である。例えば、ゲーム装置１０の下側ＬＣＤ１２に表示されるメニューから、タッチパネル１３への操作で、ユーザが「ボスを選ぶ」というメニューのリストを選択すると、図９のような、ゲーム装置１０に用意されている敵オブジェクトＥＯの頭部形状の一覧が表示される。ただし、このような操作は、タッチパネル１３による操作に限定される訳ではなく、例えば、操作ボタン１４等による操作で、図９のような頭部形状の一覧が表示されるようにしてもよい。
【０１２７】
図９では、頭部形状Ｈ１、Ｈ２、Ｈ３の３種類が選択可能に表示されている。例えば、頭部形状Ｈ１は、３次元モデルで形成された顔面部分Ｈ１２と、顔面部分Ｈ１２を取り囲む周辺部分Ｈ１３とを含む。図７、図８で示したように、３次元モデルである顔面部分Ｈ１２に、顔画像をテクスチャマッピングすることで、ゲームに登場する敵オブジェクトＥＯが形成される。
【０１２８】
周辺部分Ｈ１３は、ゲームに登場する敵オブジェクトＥＯの特徴を暗示した形状とすればよい。例えば、周辺部分Ｈ１３が、兜（カブト）を模倣した形状であれば、敵オブジェクトＥＯの好戦的なイメージを表現できる。図９では、２行４列の頭部形状の一覧表に、３種類の頭部形状Ｈ１、Ｈ２、Ｈ３が例示されており、それら以外は、未定義のマークＨ０が表示されている。したがって、頭部形状Ｈ１−Ｈ３は、あくまでも例示であり、頭部形状の種類が３種類に限定される訳ではない。例えば、ゲームプログラムのバージョンアップ媒体、あるいは、インターネット上でゲームのパーツを提供するウェブサイトなどから、新たな頭部形状を追加できるようにしておいてもよい。
【０１２９】
図９では、「ボス」というラベルＬＢにより、頭部形状Ｈ１がユーザによって、選択状態になっていることが示されている。ラベルＬＢは、例えば十字ボタン１４Ａ等によって、移動可能である。ユーザが十字ボタン１４Ａ等の操作によって、ラベルＬＢを移動することで、例えば、頭部形状Ｈ２、あるいはＨ３を選択状態とすることができる。そして、いずれかの頭部形状を選択状態とした後、ユーザが、操作ボタン１４Ｂ（Ａボタン）などを押下することで、選択状態を決定するようにすればよい。選択状態を決定することで、ラベルＬＢが配置され、選択状態となっている頭部形状、例えば、図９の例では、頭部形状Ｈ１の選択が確定する。なお、図９の画面が上側ＬＣＤ２２に表示されているときに、ユーザが操作ボタン１４Ｃ（Ｂボタン）を押下することで、敵オブジェクトＥＯの頭部選択画面が閉じられ、前の操作画面に戻るようにすればよい。
【０１３０】
図１０は、顔画像選択画面を例示する図である。例えば、図９の敵オブジェクトＥＯの頭部選択画面が上側ＬＣＤ２２に表示されているときに、ユーザが操作ボタン１４Ｂ（Ａボタン）などを押下することで、頭部形状の選択状態を決定すると、図１０の画面が表示される。図１０の画面は、図７および図８と同様であるが、選択状態となった顔画像に図９で選択された頭部形状の周辺部分Ｈ１３が付加される点で、図７および図８と相違する。
【０１３１】
図１０の画面において、ユーザが、十字ボタン１４Ａ等を操作することによって、選択対象の顔画像を変更することができる。すなわち、ユーザは、選択状態の顔画像を顔画像Ｇ０からＧ１へ、さらに、顔画像Ｇ１からＧ２へというように、移動可能である。そして、選択状態とされた顔画像は、頭部形状の顔面部分にテクスチャマッピングされて表示される。例えば、図１０の例では、図９の画面で選択された頭部形状Ｈ１の顔面部分Ｈ１２に、顔画像Ｇ２がテクスチャマッピングされ、周辺部分Ｈ１３と組み合わせて表示される。
【０１３２】
このような周辺部分Ｈ１３と顔画像Ｇ２との組み合わせが表示されることによって、敵オブジェクトＥＯが一時的に作成される。ユーザは、一時的に表示される敵オブジェクトＥＯによって、ゲームで対決する敵のイメージを想像することになる。ユーザは、十字ボタン１４Ａ等を操作することによって、選択対象の顔画像を変更することで、敵オブジェクトＥＯの顔画像を取り替えることができる。すなわち、ユーザは、敵オブジェクトＥＯの顔を次々に取り替えて、ゲームで戦うイメージに合致する敵オブジェクトＥＯを作成できる。
【０１３３】
すなわち、ゲーム装置１０では、例えば、上記のように第１のゲームで成功することにより収集され、セーブデータ記憶域Ｄｏに蓄積された顔画像が次の第２のゲームに使用される。すなわち、ゲーム装置１０では、収集した顔画像を用いて作成した敵オブジェクトＥＯを用いたゲーム処理が実行される。例えば、ゲーム装置１０は、ユーザの操作にしたがって、ゲームの実行前に配役決定処理を呼ばれる処理を実行し、ユーザのイメージに合致する敵オブジェクトＥＯを生成する。あるいは、ゲーム装置１０は、ゲームの実行前に自動的に、敵オブジェクトＥＯを生成する。「自動的に」とは、例えば、ゲーム装置１０が収集された顔画像から顔画像を必要数、すなわち、ゲームに登場する敵オブジェクトＥＯの数だけ、ランダムに選択して、敵オブジェクトＥＯを生成することができることをいう。また、例えば、ゲーム装置１０は、ユーザが過去に実行したゲーム処理の履歴から、ユーザの特性、指向などから、次にユーザが望むと推定される顔画像を選択して、敵オブジェクトＥＯを作成してもよい。ゲーム装置１０は、顔画像とともに、顔画像の被写体の属性、例えば、年齢、性別、交友関係（家族、友人、職場・学校・地域などでの交流関係）、被写体がペット等の生物である場合の被写体の所有関係などを基に、現時点までのユーザによるゲームの実行履歴から、次に用いる顔画像を選択してもよい。また、例えば、
ゲーム装置１０は、過去に実行したゲームにおけるユーザの成績から、次に用いる顔画像を選択してもよい。
【０１３４】
ゲーム装置１０は、このようなユーザの操作による指定、あるいは、ゲーム装置１０の処理によって、作成された敵オブジェクトＥＯを用いたゲーム処理（第２のゲーム）を実行する。なお、ここでは、一例として、敵オブジェクトＥＯという呼び名で説明するが、ゲームに登場するキャラクタオブジェクトとしては、敵対関係にあるオブジェクトに限定されず、味方のキャラクタオブジェクトでもよい。また、敵味方という関係が存在するゲームに限定されず、ユーザ自身を模擬したプレイヤオブジェクトが登場するゲームでもよい。また、例えば、ゲームを実行するユーザを支援する、エージェントと呼ばれるオブジェクトが登場するゲームであってもよい。
【０１３５】
ゲーム装置１０は、以上のような敵オブジェクトＥＯ等、様々なキャラクタオブジェクトが登場するゲームを実行する。このゲームに登場するキャラクタオブジェクトには、ユーザが第１のゲームで成功することにより収集した顔画像が、テクスチャマッピング等の手法により貼り付けられている。したがって、ゲーム装置１０で実行されるゲームでは、ユーザ自身が収集した顔画像を含むキャラクタオブジェクトが登場する。このため、様々なキャラクタオブジェクトに、顔画像のような、人、あるいは、生物の特徴を象徴する部分の画像を用いることにより、ユーザは、その顔画像の人、あるいはその顔画像の生物との実世界の関係を反映したゲームを実行できる。例えば、愛情、好意、好感、逆に憎悪などの感情を込めたゲームを実行できるのである。
【０１３６】
なお、図１０の顔画像選択画面でも、図８と同様に、１つの顔画像が選択対象なったときに、選択対象とされている顔画像に関連する他の顔画像が反応を示すようにすればよい。例えば、図１０の例では、選択対象とされ、頭部形状Ｈ１の周辺部分１３と組み合わせられた顔画像Ｇ２に対して、関連する顔画像、例えば、顔画像Ｇ４が顔を向けて微笑み、視線を送っている。また、顔画像Ｇ５が、顔画像Ｇ２に対して、顔を上向きに上げて、うらやむような視線を送っている。また、Ｇ８、Ｇ９もＧ２の方向に視線を向けている。一方、図１０では、顔画像Ｇ４、Ｇ５、Ｇ８、Ｇ９以外は、顔画像Ｇ２が選択対象とされたことに対して、反応を見せていない。このような反応の相違によって、複数の顔画像同士の親近関係を表現できる。このように、ゲーム装置１０は、顔画像がユーザと特定の関係ある場合、例えば、複数の友人グループに属するような場合など、実世界の人と人との親密さの関係をゲーム装置１０が表現する仮想の世界に持ち込み、描写することを可能としている。
【０１３７】
＜各種データの一例＞
図１１は、画像処理プログラムを実行することに応じて、メインメモリ３２に記憶される各種データの一例を示す図である。
【０１３８】
なお、ゲーム装置１０の処理を実行するためのプログラムは、ゲーム装置１０に内蔵されるメモリ（例えば、データ保存用内部メモリ３５）、外部メモリ４５、または、データ保存用外部メモリ４６に含まれており、ゲーム装置１０の電源がオンになったときに、内蔵メモリから、または外部メモリＩ／Ｆ３３やデータ保存用外部メモリＩ／Ｆ３４を介して外部メモリ４５またはデータ保存用外部メモリ４６からメインメモリ３２に読み出されて、ＣＰＵ３１１によって実行される。
【０１３９】
図１１において、メインメモリ３２には、内蔵メモリ、外部メモリ４５、またはデータ保存用外部メモリ４６から読み出されたプログラムや画像処理において生成される一時的なデータが記憶される。図１１において、メインメモリ３２のデータ記憶領域には、操作データＤａ、実カメラ画像データＤｂ、実世界画像データＤｃ、境界面データＤｄ、奥壁
画像データＤｅ、敵オブジェクトデータＤｆ、弾オブジェクトデータＤｇ、得点データＤｈ、動きデータＤｉ、仮想カメラデータＤｊ、レンダリング画像データＤｋ、および表示画像データＤｌ、照準カーソル画像データＤｍ、管理データＤｎ、セーブデータ記憶域Ｄｏ等が格納される。また、メインメモリ３２のプログラム記憶領域には、画像処理プログラムを構成する各種プログラム群Ｐａが記憶される。
【０１４０】
《操作データＤａ》
操作データＤａは、ユーザがゲーム装置１０を操作した操作情報を示すデータである。操作データＤａは、操作子データＤａ１および角速度データＤａ２を含んでいる。操作子データＤａ１は、ユーザがゲーム装置１０の操作ボタン１４やアナログスティック１５等の操作子を操作したことを示すデータである。角速度データＤａ２は、角速度センサ４０によって検出された角速度を示すデータである。例えば、角速度データＤａ２には、角速度センサ４０が検出したｘ軸周りの角速度を示すｘ軸周り角速度データ、ｙ軸周りの角速度を示すｙ軸周り角速度データ、およびｚ軸周りの角速度を示すｚ軸周り角速度データが含まれる。例えば、操作ボタン１４やアナログスティック１５からの操作データや角速度センサ４０からの角速度データは、ゲーム装置１０が処理する時間単位（例えば、１／６０秒）毎に取得され、当該取得に応じて操作子データＤａ１および角速度データＤａ２に格納されて更新される。
【０１４１】
なお、後述するゲーム処理（例えば、図２０Ａ以下の処理等）では、操作子データＤａ１および角速度データＤａ２が処理周期である１フレーム毎にそれぞれ更新される例を用いて説明するが、他の処理周期で更新されてもかまわない。例えば、操作ボタン１４やアナログスティック１５等の操作子をユーザが操作したことを検出する周期毎に操作子データＤａ１を更新し、当該更新された操作子データＤａ１を処理周期毎に利用する態様でもかまわない。また、角速度センサ４０の角速度検出周期毎に角速度データＤａ２を更新し、当該更新された角速度データＤａ２を処理周期毎に利用する態様でもかまわない。この場合、操作子データＤａ１や角速度データＤａ２を更新するそれぞれの周期と、処理周期とが異なることになる。
【０１４２】
《実カメラ画像データＤｂ》
実カメラ画像データＤｂは、外側撮像部２３および内側撮像部２４のいずれかが撮像した実カメラ画像を示すデータである。後述する処理の説明においては、実カメラ画像を取得するステップにおいて外側撮像部２３および内側撮像部２４のいずれかが撮像した実カメラ画像を用いて、実カメラ画像データＤｂを更新する態様を用いる。なお、外側撮像部２３または内側撮像部２４が撮像し、撮像された実カメラ画像を用いて実カメラ画像データＤｂを更新する周期は、ゲーム装置１０における処理の単位時間（例えば、１／６０秒）と同じでもいいし、当該単位時間より短い時間でもかまわない。ゲーム装置１０における処理の周期より実カメラ画像データＤｂを更新する周期が短い場合、後述する処理とは独立して適宜実カメラ画像データＤｂを更新してもかまわない。この場合、後述する実カメラ画像を取得するステップにおいて、実カメラ画像データＤｂが示す最新の実カメラ画像を常に用いて処理すればよい。以下、本実施形態では、実カメラ画像データＤｂは、外側撮像部２３（例えば、外側左撮像部２３ａ）により撮像した実カメラ画像を示すデータであるとする。
【０１４３】
《実世界画像データＤｃ》
後述するゲーム処理、例えば、図１４のステップ１８のゲーム実行の処理、さらに具体的には、図２０Ａ以降に示す処理では、ゲーム装置１０の実カメラ（外側撮像部２３または内側撮像部２４）が撮像した実カメラ画像をテクスチャマッピングする境界面３が導入される。実世界画像データＤｃは、ゲーム装置１０の実カメラ（外側撮像部２３または内側撮像部２４）が撮像した実カメラ画像を用いて、境界面３上に存在しているように見え
る実世界画像を生成するためのデータである。後述する第１の描画方法では、例えば、実世界画像データＤｃは、実世界画像を境界面（仮想カメラの表示範囲のスクリーンオブジェクト）に張り付けるための実カメラ画像のテクスチャデータを含んでいる。また、後述する第２の描画方法では、例えば、実世界画像データＤｃは、実世界画像を生成するための平面ポリゴンのデータ、当該平面ポリゴンにマッピングするための実カメラ画像のテクスチャデータ、および当該平面ポリゴンの仮想空間上の位置（後述する実世界描画用カメラからの位置）を示すデータ等を含んでいる。
【０１４４】
＜境界面データＤｄ＞
境界面データＤｄは、上記実世界画像データＤｃと合わせて、境界面３上に存在しているように見える実世界画像を生成するためのデータである。第１の描画方法では、例えば、境界面データＤｄは、スクリーンオブジェクトに関するデータであり、境界面３を構成する各点の状態（例えば、開口の有無）を示す開口判定用データ（後述するαテクスチャのデータに相当する）、境界面３の仮想空間上の配置位置（境界面３の仮想空間上の座標）を示すデータ等を含んでいる。また、第２の描画方法では、例えば、境界面データＤｄは、上記実世界画像の平面ポリゴンに開口を表現するためのデータであり、境界面３を構成する各点の状態（例えば、開口の有無）を示す開口判定用データ（後述するαテクスチャのデータに相当する）、境界面３の仮想空間上の配置位置（境界面３の仮想空間上の座標）を示すデータ等を含んでいる。境界面３の仮想空間上の配置位置を示すデータは、例えば、上記球体表面の条件式（仮想空間上における球体表面を定義する関係式）であり、境界面３の仮想空間上の存在範囲を示す。
【０１４５】
開口状態を示す開口判定用データは、例えば、各点のアルファ値（不透明度）を設定可能な２次元（例えば、２０４８ピクセル×３８４ピクセル等の矩形形状）のテクスチャデータである。アルファ値は、“０”が最小で“１”が最大の、“０”から“１”までの値である。アルファ値は、“０”で透明を示し、“１”で不透明を示す。開口判定用データは、開口判定用データに「０」が格納されている位置は開口状態であり、「１」が格納されている位置は開口ではない状態であることを示すことができる。アルファ値は、例えば、ゲーム装置１０内部で生成されるゲーム世界の画像、或いは上側ＬＣＤ２２における画素又は複数の画素からなる画素ブロック単位に設定することができる。本実施形態では、非開口領域には、「０を超える１未満の所定値（本実施形態においては０．２が設定される）」が格納される。このデータは、実世界画像に適用する時には使用されない。実世界画像に適用する場合、開口判定用データに格納されたアルファ値「０．２」は「１」として取り扱われる。なお、当該アルファ値「０．２」は、前述の敵オブジェクトＥＯの影ＥＳの描画時に使用される。ただし、当該アルファ値の設定、及びアルファ値の取り得る値の範囲は、本発明の画像処理プログラムを限定するものではない。
【０１４６】
本実施形態における画像処理プログラムは、第１の描画方法では、この開口判定用データのうち仮想カメラの撮影範囲に対応する領域と、境界面３に張り付けられる実世界画像のテクスチャの色情報（画素値）とを掛け算することによって、開口を有する実世界画像を生成することができる。また、第２の描画方法では、この開口判定用データのうち仮想世界描画用カメラの撮影範囲に対応する領域と、実世界画像（具体的には、上記実世界画像データＤｃを用いて後述する平行投影によりレンダリングされた実カメラ画像のレンダリング画像データ）の色情報（画素値）とを掛け算することによって、開口を有する実世界画像を生成することができる。なぜなら、開口位置に格納されたアルファ値「０」と当該位置における実世界画像の色情報とが掛け算されることによって、実世界画像の色情報の値が「０」（完全に透明な状態）となるからである。
【０１４７】
なお、第１の描画方法では、後述するとおり、当該開口判定用データが適用された実世界画像のオブジェクトを含んだ各仮想オブジェクトの仮想空間画像がレンダリングされる
ことにより上側ＬＣＤ２２に表示される画像が生成される。
【０１４８】
また、第２の描画方法では、具体的には、後述するとおり、当該開口判定用データを考慮して仮想空間画像がレンダリングされる。すなわち、開口判定用データに基づいて、各仮想オブジェクトの境界面に対する優先度（実世界画像に対する優先度）が判定され、各仮想オブジェクトがレンダリングされることにより仮想空間画像として生成される。そして、このようにして生成された実世界画像と仮想空間画像とを合成することで、上側ＬＣＤ２２に表示される画像が生成される。
【０１４９】
また、本実施形態における画像処理プログラムでは、境界面３の形状は球体表面である（図２０Ａ及び図２０Ｂ参照）。そして、本実施形態における開口判定用データの形状は、矩形形状としてよい。この矩形形状の開口判定用データを、図２０Ａ及び図２０Ｂで図示したような球体表面の中央部にマッピングすることにより、開口判定用データの各点と境界面の各点とを対応させることができる。
【０１５０】
なお、本実施形態において開口判定用データは図２０Ａで示す球体表面の中央部に対応するデータのみであるため、仮想カメラ（第２の描画方法では、仮想世界描画用カメラ）の向きによっては、開口判定用データが存在しない場合がある。このように開口判定用データが存在しない場合は、実世界画像はそのまま描画される。すなわち、α値としては「１」が設定されているとして描画される。
【０１５１】
境界面３上に作成される開口の画像処理については後述する。
【０１５２】
＜奥壁画像データＤｅ＞
奥壁画像データＤｅは、第２空間２に存在する奥壁ＢＷに関するデータである。例えば、奥壁画像データＤｅは、奥壁ＢＷの画像を生成するための画像データ、および当該奥壁ＢＷを定義するポリゴンモデルの仮想空間上の位置を示すデータ等を含んでいる。
【０１５３】
奥壁ＢＷを定義するポリゴンモデルは、典型的には、仮想カメラ（第２の描画方法では、仮想世界描画用カメラ）の位置から伸びる鉛直軸を中心として、図２０Ａで示す球体の半径より大きな半径を有し、図２０Ａで示す球体の中央部と同じ形状のモデルである。すなわち、奥壁ＢＷを定義するモデルは、境界面３を内含する。また、境界面３に形成される開口予定位置の背後に配置される平面ポリゴンであっても良い。また、境界面３に開口が形成される毎に、第２空間２においてその開口の投影面を定義する平面ポリゴンが配置されるようにしても良い。
【０１５４】
奥壁ＢＷのポリゴンモデルに貼り付けられる画像データ（テクスチャ）は、任意でよい。もっとも、この画像データは、実世界画像の背後に存在する別の空間（第２空間２）を表現するため、宇宙空間，空，水中を示す画像のような非現実を表現する画像であると、プレイヤに対して、現実空間の向こうに非現実な空間があるかのような不思議な感覚を喚起できることで好ましい。例えば、本実施形態のゲームを部屋の中でプレイしているときには、部屋の向こうに非現実な空間があるかのような感覚を与えることができる。また、奥壁のテクスチャは、砂漠、荒野のような普段目にすることのない風景を表現するものであってもよい。このように、奥壁ＢＷのテクスチャの選択によって、ゲーム世界の背景として表現された現実画像の背後に潜む別世界に対する所望のイメージをプレイヤに知らしめることができる。
【０１５５】
また、例えば、当該画像データが、宇宙の画像等の繰り返し表現を用いることができる画像であれば、画像データ（テクスチャ）のデータサイズを小さくすることができる。また、当該画像データが、このような画像であれば、仮想空間上の奥壁ＢＷの描画されるべ
き位置を特定しなくても、奥壁ＢＷの画像を描画することができる。なぜなら、繰り返し表現を用いることができる画像であれば、描画される画像は位置に依らない（ポリゴンモデル全体に繰り返しパターンを表現できる）からである。
【０１５６】
なお、本実施形態において、後述する描画の優先度はアルファ値によって定められるため、当該画像データにはアルファ値が定められているものとする。本実施形態では、当該画像データに定められているアルファ値は「１」であるとする。
【０１５７】
＜敵オブジェクトデータＤｆ＞
敵オブジェクトデータＤｆは、敵オブジェクトＥＯに関するデータであり、実体データＤｆ１、シルエットデータＤｆ２、および開口形状データＤｆ３を含んでいる。
【０１５８】
実体データＤｆ１は、敵オブジェクトＥＯの実体を描画するためのデータであり、例えば、敵オブジェクトＥＯの実体の３次元形状を定義したポリゴンモデルと、当該ポリゴンモデルにマッピングするためのテクスチャデータである。当該テクスチャデータは、例えば、ゲーム装置１０の各撮像部で撮像したユーザ等の顔写真等であってもよい。なお、本実施形態において、後述する描画の優先度はアルファ値によって定められるため、当該テクスチャデータにはアルファ値が定められているものとする。本実施形態では、当該テクスチャデータに定められているアルファ値は「１」であるとする。
【０１５９】
シルエットデータＤｆ２は、第２空間２に存在する敵オブジェクトＥＯの影を実世界画像上に半透明で描画するためのデータであり、ポリゴンモデルとそのポリゴンモデルに貼り付けられるテクスチャデータとを含む。例えば、このシルエットモデルは、前述したように、８枚の平面ポリゴンを含み、第２空間２に存在する敵オブジェクトＥＯの位置と同じ位置に配置される。このテクスチャが貼り付けられたシルエットモデルを仮想世界描画用カメラで撮影して実世界画像上に半透明などで描画することにより、第２空間２に存在する敵オブジェクトＥＯの影を表現できる。また、シルエットデータＤｆ２のテクスチャデータは、例えば、図２７Ａ及び図２７Ｂに示すように、敵オブジェクトＥＯを各方向からみた画像であってもよい（例えば、８枚の平面ポリゴン）。更に、当該画像は、敵オブジェクトＥＯのシルエットモデルを簡素化した画像であってもよい。なお、本実施形態において、後述する描画の優先度はアルファ値によって定められるため、シルエットモデルに張り付けられるテクスチャデータにはアルファ値が定められているものとする。本実施形態では、当該テクスチャデータに定められているアルファ値は、影画像部分について「１」であり、影画像がない部分（周囲の部分）について「０」であるとする。
【０１６０】
開口形状データＤｆ３は、敵オブジェクトＥＯが第１空間１と第２空間２を往来する際に境界面３上に生成する開口の形状に関するデータである。本実施形態では、開口形状データＤｆ３は、開口を生成する境界面３上の位置に対応する開口判定用データの位置におけるアルファ値を「０」にするためのデータである。例えば、開口形状データＤｆ３は、生成する開口の形状に合わせた、アルファ値「０」のテクスチャデータである。なお、本実施形態では、開口判定用データに対して、上記敵オブジェクトＥＯが境界面３を通った位置に対応する箇所を中心として、当該開口形状データＤｆ３の形状分だけアルファ値「０」に設定する。敵オブジェクトＥＯが境界面３上に開口を生成する際の画像処理については後述する。
【０１６１】
＜弾オブジェクトデータＤｇ＞
弾オブジェクトデータＤｇは、プレイヤの攻撃操作に応じて発射される弾オブジェクトＢＯに関するデータである。例えば、弾オブジェクトデータＤｇは、弾オブジェクトＢＯを描画するためのポリゴンモデル及び弾画像（テクスチャ）データ、弾オブジェクトＢＯの配置方向や配置位置を示すデータ、および弾オブジェクトＢＯの移動速度や移動方向（
例えば、移動速度ベクトル）を示すデータ等を含んでいる。なお、本実施形態において、後述する描画の優先度はアルファ値によって定められるため、弾画像データにはアルファ値が定められているものとする。本実施形態では、弾画像データに定められているアルファ値は「１」であるとする。
【０１６２】
＜得点データＤｈ＞
得点データＤｈは、敵オブジェクトＥＯが登場するゲームの得点を示すデータである。例えば、上述のとおり、ゲームの得点は、攻撃操作によって敵オブジェクトＥＯを退治することによって加点され、敵オブジェクトＥＯがユーザの位置（つまり、仮想空間上における仮想カメラの配置位置）に到達することによって減点される。
【０１６３】
＜動きデータＤｉ＞
動きデータＤｉは、実空間におけるゲーム装置１０の動きを示すデータである。一例として、ゲーム装置１０の動きは、角速度センサ４０によって検出された角速度によって算出される。
【０１６４】
＜仮想カメラデータＤｊ＞
仮想カメラデータＤｊは、仮想空間に設置される仮想カメラに関するデータである。第１の描画方法では、例えば、仮想カメラデータＤｊは、仮想カメラの仮想空間上の配置方向や配置位置を示すデータを含んでいる。また、第２の描画方法では、例えば、仮想カメラデータＤｊは、実世界描画用カメラの仮想空間上の配置方向や配置位置を示すデータと、仮想世界描画用カメラの仮想空間上の配置方向や配置位置を示すデータのそれぞれを含む。そして、例えば、第１の描画方法における仮想カメラ及び第２の描画方法における仮想世界描画用カメラの仮想空間上の配置方向や配置位置を示すデータは、動きデータＤｉが示すゲーム装置１０の動き（角速度）に応じて変化する。さらに、仮想カメラデータＤｊは、仮想カメラの画角（撮像範囲）データを含んでいる。これによって、第１の描画方法における仮想カメラ及び第２の描画方法における仮想世界描画用カメラの位置及び向きの変化に応じて、境界面３上の撮像範囲（撮像位置）が変化する。
【０１６５】
＜レンダリング画像データＤｋ＞
レンダリング画像データＤｋは、後述する処理によりレンダリングされた画像に関するデータである。
【０１６６】
第１の描画方法では、実世界画像を仮想空間上のオブジェクトとしてレンダリングするため、レンダリング画像データＤｋは、仮想空間のレンダリング画像データを含む。仮想空間のレンダリング画像データは、敵オブジェクトＥＯ、弾オブジェクトＢＯ、実世界画像がテクスチャとして貼られた境界面３（スクリーンオブジェクト）、奥壁ＢＷが配置された仮想空間を仮想カメラにより透視投影でレンダリングすることによって得られる仮想世界画像を示すデータである。
【０１６７】
他方、第２の描画方法では、実世界画像と仮想世界画像を別々の仮想カメラでレンダリングするため、レンダリング画像データＤｋは、実カメラ画像のレンダリング画像データおよび仮想空間のレンダリング画像データを含んでいる。実カメラ画像のレンダリング画像データは、実カメラ画像のテクスチャがマッピングされた平面ポリゴンを、実世界画像描画用カメラにより平行投影でレンダリングすることによって得られる実世界画像を示すデータである。仮想空間のレンダリング画像データは、敵オブジェクトＥＯ、弾オブジェクトＢＯ、境界面３、奥壁ＢＷが配置された仮想空間を仮想世界描画用カメラにより透視投影でレンダリングすることによって得られる仮想世界画像を示すデータである。
【０１６８】
＜表示画像データＤｌ＞
表示画像データＤｌは、上側ＬＣＤ２２に表示される表示画像を示すデータである。第１の描画方法では、例えば、上側ＬＣＤ２２に表示される表示画像は、仮想空間のレンダリング処理により生成される。また、第２の描画方法では、例えば、上側ＬＣＤ２２に表示される表示画像は、上記カメラ画像のレンダリング画像データと仮想空間のレンダリング画像データとを後述する方法で合成することによって生成される。
【０１６９】
＜照準カーソル画像データＤｍ＞
照準カーソル画像データＤｍは、上側ＬＣＤ２２に表示される照準カーソルＡＬの画像データである。当該画像データは、任意のデータでよい。
【０１７０】
なお、本実施形態では、描画に用いられる各オブジェクトに関するデータ（境界面データＤｄ、奥壁画像データＤｅ、実体データＤｆ１、シルエットデータＤｆ２、弾画像データ）は、描画の優先度を定める優先度情報を含んでいる。本実施形態では、当該優先度情報は、アルファ値が用いられているとする。当該アルファ値と画像処理の関係については後述する。
【０１７１】
また、本実施形態では、描画に用いる各オブジェクトに関するデータは、核オブジェクト間でデプス判定を行うか否かを示すデータが含まれている。当該データは、上述のとおり、敵オブジェクトＥＯ、弾オブジェクトＢＯ、半透明の敵オブジェクト、エフェクトオブジェクト、スクリーンオブジェクト（境界面３）との間は、互いにデプス判定が有効となるように設定されている。また、当該データは、「影用の平面ポリゴン（シルエットデータＤｆ２）と敵オブジェクトＥＯ（実体データＤｆ１）の間」「影用の平面ポリゴン（シルエットデータＤｆ２）と弾オブジェクトＢＯの間」「影用の平面ポリゴン（シルエットデータＤｆ２）と半透明の敵オブジェクトの間」「影用の平面ポリゴン（シルエットデータＤｆ２）とエフェクトオブジェクトの間」は、互いにデプス判定が有効となるように設定されている。さらに、当該データは、影用の平面ポリゴン（シルエットデータＤｆ２）とスクリーンオブジェクト（境界面データＤｄ）との間は、デプス判定が無効となるように設定されている。
【０１７２】
《管理データＤｎ》
管理データＤｎは、収集した顔画像等、ゲーム装置１０が処理するデータ、あるいは、ゲーム装置１０が蓄積したデータ等を管理するためのデータである。管理データＤｎは、例えば、顔画像管理情報Ｄｎ１、顔画像属性集計表Ｄｎ２等を含む。顔画像管理情報Ｄｎ１には、個々の顔画像のデータの記憶先（例えば、メインメモリ３２等のアドレス）、顔画像の取得元（例えば、内側撮像部２４、外側撮像部２３）、顔画像の属性（例えば、顔画像の被写体の性別、年齢等）、顔画像と関連する他の顔画像の情報等が格納される。また、顔画像属性集計表Ｄｎ２には、ユーザが現在収集済みの顔画像の属性ごとの収集点数が格納される。例えば、収集した顔画像の被写体を性別、年代等で分類したときの、それぞれの分類ごとの収集実績値が格納される。顔画像管理情報Ｄｎ１、顔画像属性集計表Ｄｎ２のデータ構造例については後述する。
【０１７３】
《セーブデータ記憶域Ｄｏ》
セーブデータ記憶域Ｄｏは、情報処理部３１が、ゲームプログラム等の画像処理プログラムを実行するときに、情報処理部３１が処理対象とするデータ、情報処理部３１が処理した結果のデータ等を保存する領域である。一例としては、本実施形態では、ゲーム装置１０が、内側撮像部２４、外側撮像部２５、無線通信モジュール３６、ローカル通信モジュール３７等を介して、ゲーム装置１０が取得した顔画像のデータが保存される。本実施形態では、例えば、ゲーム装置１０が取得した顔画像がメインメモリ３２に一時的に記憶された状態で、情報処理部３１は第１のゲームを実行する。そして、ユーザの操作にしたがって、ユーザが第１のゲームで成功したと判断されたときに、情報処理部３１は、メイ
ンメモリ３２に一時的に記憶された顔画像をセーブデータ記憶域Ｄｏに保存する。セーブデータ記憶域Ｄｏに保存された顔画像は、以降のゲーム処理等で利用可能となる。
【０１７４】
セーブデータ記憶域Ｄｏの構造に特に限定はない。例えば、セーブデータ記憶域Ｄｏは、通常のメモリと同一の物理アドレス空間におかれて、情報処理部３１からアクセスできるようにしてもよい。また、例えば、情報処理部３１が、必要なタイミングで所定のブロック単位、あるいはページ単位で確保（割付、アロケートなどともいう）可能としておいてもよい。また、例えば、セーブデータ記憶域Ｄｏは、コンピュータのファイルシステムと同様に、ブロックを接続するポイントのような管理情報で接続される構造としてもよい。
【０１７５】
さらに、セーブデータ記憶域Ｄｏは、例えば、ゲーム装置１０で実行されるプログラムごとに個別の領域が確保されるようにしてもよい。したがって、一のゲームプログラムがメインメモリ３２にローディングされたときに、情報処理部３１は、ゲームプログラムの管理情報などを基に、セーブデータ記憶域Ｄｏにアクセス（データを入出力）するようにしてもよい。
【０１７６】
さらにまた、一のプログラムのセーブデータ記憶域Ｄｏが、他のプログラムを実行中の情報処理部３１からアクセス可能としてもよい。このようにすることで、一のプログラムで処理したデータを他のプログラムに引き渡すことを可能としてもよい。例えば、後述する第１のゲームを実行された結果として、セーブデータ記憶域Ｄｏに保存された顔画像のデータを第２のゲームを実行中の情報処理部３１が読み出して、キャラクタオブジェクトを作成できるようにしてもよい。なお、セーブデータ記憶域Ｄｏは、第２記憶領域の一例である。
【０１７７】
＜各種データの構造＞
図１２および図１３を参照して、ゲーム装置１０内で、顔画像を管理するデータ構造の一例を説明する。
【０１７８】
図１２は、ゲーム装置１０に保存された顔画像を管理する顔画像管理情報Ｄｎ１のデータ構造の一例である。ゲーム装置１０は、保存した顔画像のデータを顔画像管理情報Ｄｎ１に記録することで、例えば、図７、図８のような形式で、顔画像の一覧を上側ＬＣＤ２２の画面などに表示できるようになる。顔画像管理情報Ｄｎ１は、例えば、顔画像ごとに１レコード用意される情報として作成される。画像管理情報Ｄｎ１は、例えば、データ保存用内部メモリ３５、データ保存用外部メモリ４６などに保存される。図１２で、レコード１により、レコードの要素を例示する。また、図１２では、レコード２以降の詳細は省略している。また、情報処理部３１は、例えば、図示しないが、顔画像管理情報Ｄｎ１の総レコード数、すなわち、取得した顔画像の総数をデータ保存用内部メモリ３５、データ保存用外部メモリ４６などに保存しておけばよい。
【０１７９】
図１２の例では、顔画像管理情報Ｄｎ１は、例えば、顔画像識別情報、顔画像データのアドレス、顔画像の取得先、性別の推定、年齢の推定、関連顔画像情報１−Ｎ等を有している。ただし、図１２は顔画像管理情報Ｄｎ１の一例であり、顔画像管理情報が図１２に例示された要素に限定される訳ではない。
【０１８０】
顔画像識別情報は、保存された顔画像をユニークに識別する情報である。顔画像識別情報は、例えば、通し番号でもよい。
【０１８１】
顔画像データのアドレスは、例えば、顔画像のデータが格納されるデータ保存用内部メモリ３５あるいはデータ保存用外部メモリ４６等のアドレスである。ただし、例えば、Ｏ
Ｓ（オペレーティングシステム）によってファイルシステムが構築されている記憶媒体に顔画像データが格納される場合には、顔画像データのアドレスとして、ファイルシステム中のパス名、ファイル名などを設定するようにしてもよい。
【０１８２】
顔画像の取得元は、例えば、顔画像を取得した撮像装置を識別する情報である。顔画像の取得元としては、例えば、内側撮像部２４、外側左撮像部２３ａ、および外側右撮像部２３ｂを識別する情報が設定される。ただし、顔画像取得のために、外側左撮像部２３ａおよび外側右撮像部２３ｂの両方が使用された場合には、両方を示す情報が設定される。また、例えば、内側撮像部２４、外側左撮像部２３ａ、および外側右撮像部２３ｂ以外に、例えば、ゲーム装置１０外の他の撮影装置で顔画像が取得された場合には、その旨を示す情報（例えば「他」）が設定される。ゲーム装置１０外の他の撮影装置で顔画像が取得される場合とは、例えば、外部メモリインターフェイス３３、無線通信モジュール３６、ローカル通信モジュール３７等を通じて、ゲーム装置１０と同様の他のゲーム装置１０で撮影した画像を取得した場合などである。また、外部メモリインターフェイス３３、無線通信モジュール３６等を通じて、ゲーム装置１０以外のカメラで得られた画像、スキャナで得られた画像、ビデオ機器からの映像等の画像を取得した場合も含まれる。
【０１８３】
性別の推定は、顔画像が男性か女性かを示す情報である。性別の推定は、例えば、後述する他の実施形態に示す処理したがって実行すればよい。年齢推定は、顔画像の人の年齢を示す情報である。年齢の推定は、例えば、後述する他の実施形態に示す処理したがって実行すればよい。
【０１８４】
関連画像の識別情報１−Ｎは、それぞれ、当該顔画像と関連する他の顔画像を示す情報である。例えば、関連画像の識別情報１−Ｎは、最大Ｎ個の他の関連する顔画像の顔画像識別情報を設定すればよい。関連する他の顔画像は、例えば、ＧＵＩを通じたユーザ操作によって、指定されるようにしてもよい。例えば、新たに、顔画像が取得されたときに、取得された顔画像と関連する顔画像１以上をユーザが操作ボタン１４等によって選択対象とした上で、関連画像設定を指示するＧＵＩの操作を情報処理部３１が検出するようにすればよい。あるいは、単に、本人、友人、同僚、他人等、ゲーム装置１０が用意した分類によって、取得された顔画像を分類するようにしてもよい。そして、同一の分類に属する顔画像を関連画像の識別情報１−Ｎを用いてリンクするようにしてもよい。ただし、ゲーム装置１０が用意した分類で顔画像を分類する場合には、関連顔画像の識別情報１−Ｎのエントリを用意する代わりに、単に、「顔画像の分類」という要素を設け、本人、友人、同僚、他人等設定するようにしてもよい。また、図１２では、関連画像の識別情報１からＮとして、固定数で示したが、Ｎの数を可変数としてもよい。その場合には、設定済みの数Ｎを顔画像管理情報Ｄｎ１に保持するようにすればよい。さらに、例えば、関連する顔画像の間で、顔画像管理情報Ｄｎ１のレコードとレコードとをポインタのチェーンで接続するようにしてもよい。
【０１８５】
図１３に、顔画像属性集計表Ｄｎ２のデータ構造例を示す。顔画像属性集計表Ｄｎ２は、取得済みの顔画像を属性によって分類し、分類された画像数を集計した表である。以下、顔画像属性集計表Ｄｎ２を単に集計表ともいう。情報処理部３１は、例えば、データ保存用内部メモリ３５、データ保存用外部メモリ４６等に、図１３の集計表を保存している。図１３の例では、集計表は、性別（男性、女性）、年齢層（１０歳未満、１０代、２０代、３０代、４０代、５０代、６０代、７０以上）との組み合わせによって分類された各行に、顔画像取得数を記憶している。すなわち、図１３の表の各行は、性別、年齢、および顔画像取得数という要素を含む。顔画像取得数には、取得済みの顔画像が分類され、その取得数が集計されている。ただし、顔画像の分類、あるいは属性が、図１３に例示した性別、あるいは年齢層に限定されるわけではない。
【０１８６】
＜処理フローの例＞
図１４から図１９により、ゲーム装置１０の情報処理部３１で実行される画像処理プログラムによる動作例を説明する。まず、ゲーム装置１０の電源（電源ボタン１４Ｆ）がＯＮにされると、ＣＰＵ３１１によってブートプログラム（図示せず）が実行され、これにより内蔵メモリまたは外部メモリ４５やデータ保存用外部メモリ４６に格納されているプログラムがメインメモリ３２においてＣＰＵ３１１が実行可能な形式で展開される。ここで、ＣＰＵ３１１が実行可能な形式とは、例えば、ＣＰＵ３１１の機械命令が所定の処理順で記述され、メインメモリ３２の適切なアドレスに配置され、ＣＰＵ３１１の機械命令を処理する制御部から読み出し可能な形式をいう。実行可能な形式で展開することを単にロードするともいう。なお、図１４〜図１９においては、第１の実施形態に直接関連しない処理についての記載を省略する。
【０１８７】
図１４は、情報処理部３１による動作の一例を示すフローチャートである。情報処理部３１は、電源ＯＮの後の一連の処理の後、ユーザの操作、例えば、下側ＬＣＤ１２に表示されるグラフィカルユーザインターフェース（以下、ＧＵＩ）、例えば、メニューあるいは、アイコンなどのグラフィックオブジェクトに対するタッチパネル１３あるいは操作ボタン１４を通じた操作を検出すると、図１４の処理を実行する。以下、ＧＵＩに対するタッチパネル１３あるいは操作ボタン１４を通じたユーザの操作を単に、「ＧＵＩに対する操作」という。図１４の例では、情報処理部３１は、ユーザの操作待ちとなる（ステップ８）。以下、図面中では、「ステップ」を「Ｓ」と略称する。
【０１８８】
次に、ユーザの操作を検出すると、情報処理部３１は、ステップ９以下の処理を実行する。例えば、ユーザのＧＵＩに対する操作が、「内側撮像部２４による顔画像の取得」の指示である場合（ステップ９でＹｅｓの場合）、情報処理部３１は、顔画像取得処理１を実行する（ステップ１０）。ここで、「内側撮像部２４による顔画像」の指示とは、例えば、ＧＵＩ等を通じたユーザに操作によって内側撮像部２４を用いた撮影の指示をいう。その後、情報処理部３１は、制御をステップ１９に進める。顔画像取得処理１については、図１５を参照して後述する。一方、ユーザのＧＵＩに対する操作が「内側撮像部２４による顔画像の取得」の指示でない場合（ステップ９でＮｏの場合）には、情報処理部３１は、制御をステップ１１に進める。
【０１８９】
次に、例えば、ユーザのＧＵＩに対する操作が、「外側撮像部２３による顔画像の取得」の指示である場合（ステップ１１でＹｅｓの場合）、情報処理部３１は、顔画像取得処理２を実行する（ステップ１２）。その後、情報処理部３１は、制御をステップ１９に進める。ここで、「外側撮像部２３による顔画像」の指示とは、例えば、ＧＵＩ等を通じたユーザに操作によって外側撮像部２３を用いた撮影の指示をいう。顔画像取得処理２については、図１６を参照して後述する。一方、ユーザのＧＵＩに対する操作が「外側撮像部２３による顔画像の取得」の指示でない場合（ステップ１１でＮｏの場合）には、情報処理部３１は、制御をステップ１３に進める。
【０１９０】
次に、ユーザのＧＵＩに対する操作が収集した顔画像の一覧表示の指示である場合（ステップ１３でＹｅｓの場合）、情報処理部３１は、一覧表示処理を実行する（ステップ１４）。その後、情報処理部３１は、制御をステップ１９に進める。一覧表示処理については、図１７を参照して後述する。一方、ユーザのＧＵＩに対する操作が収集した顔画像の一覧表示の指示でない場合（ステップ１３でＮｏの場合）には、情報処理部３１は、制御をステップ１５に進める。
【０１９１】
ユーザのＧＵＩに対する操作が配役の決定指示である場合（ステップ１５でＹｅｓの場合）、情報処理部３１は、配役決定処理を実行する（ステップ１６）。その後、情報処理部３１は、制御をステップ１９に進める。配役決定処理については、図１８を参照して後
述する。一方、ユーザのＧＵＩに対する操作が配役の決定指示でない場合（ステップ１５でＮｏの場合）には、情報処理部３１は、制御をステップ１７に進める。
【０１９２】
ユーザの操作がゲームの実行指示である場合（ステップ１７でＹｅｓの場合）、情報処理部３１は、ゲームを実行する（ステップ１８）。ステップ１８の処理が第２のゲーム処理ステップの一例である。ゲーム装置１０は、ステップ１６の配役決定処理で作成された敵オブジェクトＥＯ等、様々なキャラクタオブジェクトが登場するゲーム処理を実行する。ゲームの種類に限定はない。例えば、ステップ１８で実行されるゲームは、ユーザが配役決定処理で作成された敵オブジェクトＥＯと戦闘を行うゲームでもよい。この場合に、例えば、ユーザは、ステップ１０の顔画像取得処理１、ステップ１２の顔画像取得処理２で収集され、ステップ１４の一覧表示処理で表示された顔画像の敵オブジェクトＥＯと戦闘をすることになる。また、例えば、このゲームは、ユーザを象徴するプレイヤオブジェクトが様々な関門、障害等を乗り越えて進む冒険ゲームでもよい。また、このゲームは、歴史上の登場人物が登場する戦争シミュレーション、プレイヤオブジェクトが登場する経営シミュレーション、プレイヤオブジェクトが登場する乗り物等の運転シミュレーション等のゲームでもよい。また、ゲームは、小説の原作をモデルにした、上記キャラクタオブジェクトが登場するノベルゲームでもよい。また、ゲームは、ユーザが物語に登場する主人公や登場人物を操作し、その役割を演じて遊ぶロールプレイングゲーム（ＲＰＧ）と呼ばれるものでもよい。また、ゲームは、単に、登場するエージェントによってユーザが支援を受けて何らかのトレーニングを行うものでもよい。
【０１９３】
このようなゲーム処理に登場するキャラクタオブジェクトには、ユーザがステップ１０の第１のゲームで成功することにより収集した顔画像が、テクスチャマッピング等の手法により貼り付けられている。したがって、ステップ１８で実行されるゲームでは、ユーザ自身が収集した顔画像を含むキャラクタオブジェクトが登場する。このため、様々なキャラクタオブジェクトについて、顔画像という、人、あるいは生物などを象徴する部分の画像を用いることにより、ユーザは、その顔画像の人（あるいは生物）との実世界の関係を反映したゲームを実行できる。例えば、愛情、好意、好感、逆に憎悪などの感情を込めたゲーム処理を実行できるのである。
【０１９４】
一方、ユーザの操作がゲームの実行指示でない場合（ステップ１７でＮｏの場合）には、情報処理部３１は、制御をステップ１９に進める。
【０１９５】
そして、情報処理部３１は、処理を終了するか否かを判定する。情報処理部３１は、ＧＵＩを通じて処理を終了する指示を検出すると、図１４の処理を終了する。一方、情報処理部３１は、ＧＵＩを通じて、終了しない指示（例えば、再実行指示）を検出すると、画像属性管理支援処理１を実行する（ステップ１Ａ）。顔画像管理支援処理１は、例えば、すでに取得済みの顔画像を基に、次に取得する顔画像の属性等に関して、ユーザに情報を提供し、ユーザの顔画像取得を支援する処理である。画像属性管理支援処理１については、図１９Ａにより、詳細処理例を後述する。その後、情報処理部３１は、制御をステップ８に戻す。
【０１９６】
図１５は、顔画像取得処理１（図１４のステップ１０）の詳細処理の一例を示すフローチャートである。この処理では、情報処理部３１は、まず、顔画像管理支援処理２を実行する（ステップ１００）。顔画像管理支援処理２は、例えば、すでに取得済みの顔画像を基に、次に取得する顔画像の属性等に関して、ユーザに情報を提供し、ユーザの顔画像取得を支援する処理である。顔画像管理支援処理２の詳細処理例については、図１９Ｂにより後述する。
【０１９７】
次に、情報処理部３１は、顔画像取得処理を実行する（ステップ１０１）。情報処理部
３１のＣＰＵ３１１は、画像取得手段の一例として、ステップ１０１の処理を実行する。
【０１９８】
情報処理部３１は、例えば、内側撮像部２４、外側左撮像部２３ａ、または、外側右撮像部２３ｂを通じて撮影される画像を所定の周期で取り込み、上側ＬＣＤ２２に表示する。この場合の表示周期は、ゲーム装置１０における処理の単位時間（例えば、１／６０秒）と同じでもいいし、当該単位時間より短い時間でもかまわない。ゲーム装置１０の電源がオンとなり画像処理プログラムがロードされた直後、あるいは、図１４の処理起動直後の初期状態では、情報処理部３１は、例えば、内側撮像部２４からの画像を上側ＬＣＤ２２に表示する。なお、下側ＬＣＤ１２には、例えば、内側撮像部２４、外側左撮像部２３ａ、および外側右撮像部２３ｂのいずれか（外側左撮像部２３ａ、外側右撮像部２３ｂの両方を使用する場合も含む）を選択するための撮像部選択ＧＵＩが用意されている。図１５の処理では、ユーザは、撮像部選択ＧＵＩにより自在に使用する撮像部を切り替えることができるものする。以下、初期状態または撮像部選択ＧＵＩへの操作によって、撮影に使用されている内側撮像部２４、外側左撮像部２３ａ、および外側右撮像部２３ｂを単に撮像部ということにする。
【０１９９】
例えば、内側撮像部２４が使用されている場合には、ユーザが上側ハウジング２１を開いた状態で、上側ハウジング２１の内側面２１Ｂに顔を向けると、上側ＬＣＤ２２には、ユーザの顔が写し出される。そして、ユーザが、例えば、Ｒボタン１４Ｈ（またはＬボタン１４Ｇ）を押下すると、情報処理部３１は、上側ＬＣＤ２２に写し出された内側撮像部２４からの画像をデータとして取得し、メインメモリ３２に一時的に記憶する。この時点では、この画像のデータはメインメモリ３２上に存在するのみであり、後述するセーブデータ記憶域Ｄｏに保存されていない。このメインメモリ３２上のデータは、後述のステップ１０６によるゲームで利用されるのみであり、後述するように、ゲームが成功せずに終了した場合には廃棄される。メインメモリ３２が第１データ記憶域の一例である。
【０２００】
なお、本実施形態の処理では、ステップ１０１で取得した顔画像を敵オブジェクトＥＯの顔面部分等にテクスチャマッピングし、ゲームを実行する。そのため、ステップ１０１の処理では、撮像部から取得した画像のうち、特に、顔部分を切り出して顔画像を取得することが望ましい。本実施形態では、例えば、以下の処理が実行されるものとする。
（１）情報処理部３１は、取得された画像中から顔の輪郭を検出する。顔の輪郭は、目の間隔と、目と口の位置関係とから推定する。すなわち、情報処理部３１は、目と口の配置から、標準的な顔の寸法を用いて、顔の輪郭と、背景との境界線を認識する。境界線は、例えば、微分処理（輪郭強調）、平均処理（平滑化演算）等の通常の画像処理を組み合わせることで取得できる。なお、顔の輪郭検出の方法は周知の他の方法でおこなっても構わない。
（２）情報処理部３１は、得られた顔画像を拡大または縮小することによって、敵オブジェクトＥＯの頭部形状の顔面部の寸法に合わせ込む。この処理によれば、ある程度、寸法にばらつきがある顔画像についても、ゲーム装置１０で取得し、敵オブジェクトＥＯに貼り付けることを可能にする。
【０２０１】
ただし、本実施形態のゲーム装置１０において、顔画像を取得する処理が上記手順に限定される訳ではない。例えば、顔画像を取得する際に、任意距離から、任意の寸法で、画像を取得する代わりに、目標とする寸法の顔画像を撮像部から取得するようにしてもよい。例えば、被写体から得られる顔画像の目と目の距離が、所定画素数の近傍となるように、被写体と距離を確立した上で、撮影するようにしてもよい。例えば、情報処理部３１が、被写体との距離を誘導すればよい。また、被写体と距離を確立した上で、情報処理部３１が、例えば、撮像部の視軸方向に対する被写体の顔の角度を調整するように被写体となる人、あるいは撮影者であるユーザを誘導してもよい。さらに、ユーザが、例えば、Ｒボタン１４Ｈ（またはＬボタン１４Ｇ）を押下することによって画像を保存する代わりに、
被写体との距離および撮像部の視軸方向に対する顔の角度の調整が完了したと判断できたときに、情報処理部３１が、画像を保存するようにしてもよい。例えば、情報処理部３１が、上側ＬＣＤ２２に、被写体の顔画像と重畳して、目の位置と、口の位置合わせの目標位置を示すマークを表示してもよい。そして、撮像部から取得した被写体の両目および口の位置が、両目および口に対応する目標位置のマークから所定の許容差の範囲に収まったときに、情報処理部３１が、画像をメモリに保存するようにしてもよい。
【０２０２】
なお、情報処理部３１は、ステップ１０１での顔画像の取得時、図１３の顔画像属性集計表Ｄｎ２の該当する行の顔画像取得数を更新する。該当する行とは、例えば、後述する図１９Ｂのステップ１００２で推定された性別、年齢に相当する属性の行をいう。
【０２０３】
次に、情報処理部３１は、ステップ１０１の処理によって取得された画像を、例えば、上側ＬＣＤ２２に表示する（ステップ１０２）。
【０２０４】
次に、情報処理部３１は、敵オブジェクトＥＯの選択処理を実行する（ステップ１０３）。ここでは、情報処理部３１は、ユーザに敵オブジェクトＥＯの頭部形状の選択を促す。例えば、図９に示したような頭部形状の一覧を表示し、ＧＵＩを通じて、ユーザの選択を受け付けるようにすればよい。そして、情報処理部３１は、取得された顔画像を敵オブジェクトＥＯのテクスチャに設定し（ステップ１０４）、敵オブジェクトＥＯを生成する（ステップ１０５）。ステップ１０５で生成される敵オブジェクトが第１キャラクタオブジェクトの一例である。情報処理部３１は、キャラクタオブジェクトを作成する手段の一例として、ステップ１０５の処理を実行する。
【０２０５】
そして、情報処理部３１は、生成された敵オブジェクトＥＯを用いたゲームを実行する（ステップ１０６）。情報処理部３１のＣＰＵ３１１は、第１のゲーム処理手段の一例として、ステップ１０６の処理を実行する。ここで、ゲームの種類は問わない。ゲームは、例えば、敵オブジェクトＥＯとの戦いを模擬するゲームである。また、ゲームは、例えば、敵オブジェクトＥＯと得点の多寡を競うゲームであってもよい。そして、ゲームの実行後、情報処理部３１は、ユーザがゲームにおいて成功したか否かを判定する（ステップ１０７）。情報処理部３１は、成功または不成功を判定する手段の一例として、ステップ１０７の処理を実行する。成功とは、例えば、ユーザが、敵オブジェクトＥＯと戦うゲームにおいて、敵オブジェクトＥＯに勝利した場合である。また、成功とは、例えば、敵オブジェクトＥＯと得点の多寡を競うゲームにおいて、ユーザが敵オブジェクトＥＯよりも多い得点を得た場合である。また、成功とは、例えば、敵オブジェクトＥＯが設定した障害等をユーザが克服していくゲームで、ユーザがゴールにたどり着いた場合であってもよい。
【０２０６】
なお、ステップ１０６のゲームには、ステップ１０１で取得した顔画像を含むキャラクタオブジェクトの他、過去にすでに収集済みの顔画像を用いたキャラクタオブジェクトを登場させるようにしてもよい。例えば、過去にすでに収集済みの顔画像が、敵オブジェクトＥＯあるいは味方のオブジェクトに貼り付けられて登場することで、ユーザは、実世界の人間関係等を反映したゲームを行うことができる。
【０２０７】
ユーザがゲームで成功した場合には、情報処理部３１は、前述のステップ１０１で取得したメインメモリ３２上の顔画像のデータを当該ゲームのセーブデータ記憶域Ｄｏにこれまでに保存された顔画像データに加えて保存する（ステップ１０９）。情報処理部３１のＣＰＵ３１１は、保存する手段の一例として、ステップ１０９の処理を実行する。当該ゲームのセーブデータ記憶域Ｄｏは、当該ゲームを実行する情報処理部３１が書き込みおよび読み出し可能な、例えば、データ保存用内部メモリ３５、データ保存用外部メモリ４６等に構築される記憶領域である。新たな顔画像のデータが当該ゲームのセーブデータ記憶
域Ｄｏに格納されることにより、当該ゲームを実行する情報処理部３１は、上側ＬＣＤ２２の画面に、例えば、図７、図８で説明した顔画像の一覧に追加して、新たな顔画像のデータを表示できるようになる。このように、図１５の処理によれば、ユーザは、ステップ１０１で取得した顔画像をゲームのセーブデータ記憶域Ｄｏに保存するために、ゲーム（第１のゲーム）を実行する。そのゲームには、例えば、ユーザが現在までにセーブデータ記憶域Ｄｏにこれまでに保存された顔画像を用いたキャラクタオブジェクトを登場させることで、ゲーム装置１０でゲームを実行するユーザは、実世界の人間関係等を反映しつつ、新たな顔画像を収集し、セーブデータ記憶域Ｄｏに追加できるのである。
【０２０８】
このとき、情報処理部３１は、新たに、当該ゲームのセーブデータ記憶域Ｄｏに保存された顔画像を管理するため、図１２で説明した顔画像管理情報Ｄｎ１を生成し、データ保存用内部メモリ３５あるいはデータ保存用外部メモリ４６に保存する。すなわち、情報処理部３１は、新たに顔画像識別情報を生成し、顔画像管理情報Ｄｎ１のレコードに設定する。また、新たに、当該ゲームのセーブデータ記憶域Ｄｏに保存された顔画像のアドレス等を顔画像データのアドレスに設定する。さらに、顔画像の取得元、性別の推定、年齢の推定、関連する顔画像の識別情報１−Ｎなどを設定する。
【０２０９】
さらに、情報処理部３１は、セーブデータ記憶域Ｄｏに追加した顔画像の属性を推定し、図１３で説明した顔画像属性集計表Ｄｎ２の集計結果を更新するようにしてもよい。すなわち、情報処理部３１は、新たに、セーブデータ記憶域Ｄｏに追加した顔画像の性別、年齢等を推定し、顔画像属性集計表Ｄｎ２の集計結果に反映するようにしてもよい。
【０２１０】
さらに、情報処理部３１は、例えば、当該ゲームのセーブデータ記憶域Ｄｏに格納されたデータの複製、変更、無線通信モジュール３６を通じたデータの転送等をユーザに許容するようにしてもよい。そして、情報処理部３１は、ユーザのＧＵＩを通じた操作または操作ボタン１４を通じた操作にしたがって、セーブデータ記憶域Ｄｏに格納された顔画像の保存、複製、変更、転送等を実行すればよい。
【０２１１】
一方、ユーザがゲームで成功しなかった場合には、情報処理部３１は、ゲームを再試行するか否かをユーザに問い合わせる（ステップ１０８）。例えば、上側ＬＣＤ２２に、再試行するか否かの問い合わせのメッセージを表示し、下側ＬＣＤ１２上のＧＵＩ（肯定、否定のアイコン、メニュー等）へのタッチパネル１３を通じた操作、あるいは操作ボタン１４等による操作により、ユーザの選択を受け付ける。ユーザが再試行を指示した場合には、情報処理部３１は、制御をステップ１０６に戻す。一方、ユーザが再試行を指示しなかった場合には、情報処理部３１は、ステップ１０１で取得された顔画像を廃棄し（ステップ１１０）、処理を終了する。なお、ゲームに成功しなかった場合に、情報処理部３１は、ステップ１０８での再試行の指示を待たずにステップ１０１で取得した顔画像を廃棄するようにしてもよい。
【０２１２】
以下、図１６を参照して、顔画像取得処理２（図１４のステップ１２）の詳細処理例について説明する。この処理では、顔画像取得処理において、２つの外側撮像部２３（外側左撮像部２３ａおよび外側右撮像部２３ｂ）よりも先に内側撮像部２４による撮影をするように、ユーザを誘導する処理例を説明する。ゲーム装置１０がユーザに内側撮像部２４による撮影を先に実行させるのは、内側撮像部２４による撮影によって、例えば、ゲーム装置１０の持ち主等を明確化し、ゲーム装置１０の他人による使用を制限できる可能性を高めるためである。
【０２１３】
図１６により、ゲーム装置１０の情報処理部３１で実行される画像処理プログラムによる動作例を説明する。この処理では、情報処理部３１は、まず、内側撮像部２４による顔画像取得が済みか否かを判定する（ステップ１２１）。内側撮像部２４による顔画像取得
済みか否かは、例えば、図１２に示した顔画像管理情報Ｄｎ１により、顔画像の取得先として、内側撮像部２４が設定されているレコードがあるか否かによって判定すればよい。また、例えば、ゲーム装置１０に、内側撮像部２４によるゲーム装置１０の持ち主の顔画像をゲーム装置１０に登録する機能が設けられている場合には、持ち主の顔画像が登録済みか否かで判定してもよい。
【０２１４】
内側撮像部２４による顔画像取得済みの場合（ステップ１２１でＹｅｓの場合）には、情報処理部３１は、顔画像管理支援処理３を実行する（ステップ１２２）。顔画像管理支援処理３については、図１９Ｃを参照して後述する。そして、情報処理部３１は、外側撮像部２３による顔画像取得処理を実行する（ステップ１２３）。ここでは、情報処理部３１は、図１５のステップ１０１と同様の撮影指示、例えば、Ｒボタン１４Ｈ（またはＬボタン１４Ｇ）の押下による指示にしたがって、外側撮像部２３からの顔画像をメインメモリ３２、さらには、データ保存用内部メモリ３５、あるいは、データ保存用外部メモリ４６等に保存する。一方、内側撮像部２４による顔画像が取得済みでない場合（ステップ１２１でＮｏの場合）には、情報処理部３１は、ユーザに対して内側撮像部２４による顔画像取得処理を先に実行するように促す（ステップ１２４）。より具体的には、例えば、「ゲーム装置１０では内側撮像部２４による顔画像が取得済みでないと外側撮像部２３による顔画像取得処理が実行できない」旨のメッセージを上側ＬＣＤ２２に表示する。あるいは、情報処理部３１は、持ち主の顔画像をまず登録することをユーザに要求するようにしてもよい。
【０２１５】
図１７は、一覧表示処理（図１４のステップ１４）の詳細処理の一例を示すフローチャートである。この処理では、情報処理部３１は、まず、登録済みの顔画像をデータ保存用内部メモリ３５またはデータ保存用外部メモリ４６のセーブデータ記憶域Ｄｏから読み出し、上側ＬＣＤ２２に表示する（ステップ１４０）。より具体的には、情報処理部３１は、セーブデータ記憶域Ｄｏに保存された顔画像管理情報Ｄｎ１から、それぞれの顔画像データのアドレスを取得する。そして、データ保存用内部メモリ３５内またはデータ保存用外部メモリ４６等のアドレスから、顔画像を読み出し、上側ＬＣＤ２２に表示すればよい。
【０２１６】
次に、情報処理部３１は、ユーザの操作待ちとなる（ステップ１４１）。そして、ユーザの操作によって、顔画像が選択状態にあるか否かを判定する（ステップ１４２）。顔画像が選択状態にあるか、否かは、図７、図８に示したように、上側ＬＣＤ２２に顔画像の一覧が表示されているときに、ユーザが操作ボタン１４等を押下した後の操作状態、あるいはＧＵＩを通じた操作状態等で判断される。なお、選択状態にある顔画像は、図７、図８に示したように、例えば、太線Ｌ１等で囲まれて表示される。
【０２１７】
そして、いずれかの顔画像が選択状態にある場合に、情報処理部３１は、顔画像管理情報Ｄｎ１（図１２参照）を用いて、選択状態にある顔画像と関連する顔画像を検索する（ステップ１４３）。
【０２１８】
そして、情報処理部３１は、検索された顔画像の視線を選択状態にある顔画像に向ける等、検索された顔画像が反応する処理を実行する（ステップ１４４）。検索された顔画像が反応する処理は、例えば、以下の手順で実行できる。例えば、事前に、目の向きを図８の他の顔画像に向ける複数の目のパターン、顔の向きを図８の他の顔画像に向ける複数の顔のパターン等を用意しておく。そして、検索された顔画像の位置と、選択状態にある顔画像の位置との関係から、該当する目の向き、顔の向きのパターンを選択する。そして、すでに表示中の顔画像の目の向き、顔の向きのパターン等に代えて、該当する顔画像の目の向き、顔の向きのパターン等を表示すればよい。すなわち、検索された顔画像の位置と、選択状態にある顔画像の位置との関係から決定される目の部分の画像を元の顔画像の目
の部分と入れ替えればよい。また、顔の向きを変える場合には、顔画像全体を入れ替えて表示してもよい。また、例えば、目の向きについて、予め、所定の角度、例えば、１５度単位で、３６０度方向に向きを変えるパターンを用意しておいてもよい。そして、選択状態にある顔画像と検索された顔画像のとの位置関係から、角度を決定し、決定した角度に最も近い角度の目のパターンを選択するようにしてもよい。
【０２１９】
さらに、顔の向きについては、画面の法線方向に向く場合を０度して、左右方向に、例えば、３０度、６０度、９０度等の角度で向きを変えた顔画像のパターンを用意する。また、上下方向に、例えば、３０度程度向きを変えたパターンを用意する。さらに、左右方向で９０度の角度で向きを変えた顔画像に対して、さらに、上下方向、つまり斜め上（例えば、１５度上、３０度上、４５度上等）、斜め下（例えば、１５度下、３０度下、４５度下方向等）に、向きを変えたパターン等を用意しておけばよい。そして、選択状態にある顔画像と検索された顔画像のとの位置関係から、角度を決定し、該当する角度に最も近い顔の角度を選択するようにすればよい。さらに、親密さを強調するため、３次元モデルのアニメーションによって片目をつぶる等の表情を表示すればよい。また、ハートマーク等を用意しておき、選択状態にある顔画像に関連する顔画像の近傍に表示するようにしてもよい。
【０２２０】
ステップ１４２の判定で、顔画像が選択状態にない場合には、情報処理部３１は、その他の処理を実行する（ステップ１４５）。その他の処理とは、例えば、下側ＬＣＤ１２上の他のＧＵＩに対する操作、顔画像の選択に用いる操作ボタン１４（ボタン１４ａ、１４ｂ、１４ｃ等）以外の操作ボタン１４に対する処理などである。その後、情報処理部３２は、処理を終了するか否かを判定する（ステップ１４６）。例えば、情報処理部３１は、図８の画面が表示されているときに、ボタン１４ｃ（Ｂボタン）の押下を検知すると、「戻る」の指示がなされたと判断し、図１７の処理を終了する。処理を終了しない場合には、情報処理部３１は、制御をステップ１４０に戻す。
【０２２１】
図１８は、配役決定処理（図１４のステップ１６）の詳細処理の一例を示すフローチャートである。この処理では、情報処理部３１は、まず、敵オブジェクトＥＯの頭部形状の一覧を表示する（ステップ１６０）。なお、ここでは、敵オブジェクトＥＯを例に説明するが、敵オブジェクトＥＯ以外の他のキャラクタオブジェクトを生成する場合も、処理は、以下と同様である。情報処理部３１は、予め、例えば、ゲーム装置１０の出荷前、画像処理プログラムのインストール時、あるいは、バージョンアップ時に、敵オブジェクトＥＯの頭部形状をデータ保存用内部メモリ３５に格納する。情報処理部３１は、現在、データ保存用内部メモリ３５に格納されている敵オブジェクトＥＯの頭部形状を読み出し、図９に例示するような配置で表示する。
【０２２２】
次に、情報処理部３１は、ユーザのＧＵＩまたは操作ボタン１４等による選択操作を検出し、敵オブジェクトＥＯの頭部形状の選択を受け付ける（ステップ１６１）。敵オブジェクトＥＯの頭部形状の選択が終了すると、次に、情報処理部３１は、顔画像一覧を表示する（ステップ１６２）。そして、情報処理部３１は、ユーザのＧＵＩまたは操作ボタン１４等による選択操作を検出し、顔画像の選択を受け付ける（ステップ１６３）。なお、図１８の処理例では、ステップ１６３において、選択操作を検出することで、情報処理部３１は、顔画像を決定する。しかし、このような処理に代えて、情報処理部３１が自動的に顔画像を決定するようにしてもよい。例えば、情報処理部３１がセーブデータ記憶域Ｄｏに蓄積された顔画像から、ランダムに顔画像を選択してもよい。また、情報処理部３１が、ゲーム装置１０でのユーザのゲームの履歴をメインメモリ３２、外部メモリ４５，データ保存用外部メモリ４６，データ保存用内部メモリ３５等に保存しておき、そのユーザの履歴から推定されるユーザの特性、指向等にしたがって、顔画像を選択してもよい。例えば、過去にユーザが顔画像を選択した頻度比率にしたがって、次に選択すべき顔画像を
決定してもよい。
【０２２３】
そして、情報処理部３１は、選択された顔画像を敵オブジェクトＥＯのテクスチャに設定する（ステップ１６４）。そして、選択された顔画像を敵オブジェクトＥＯの顔面部分にテクスチャマッピングすることにより、敵オブジェクトＥＯを生成する（ステップ１６５）。ステップ１６５で生成される敵オブジェクトが第２キャラクタオブジェクトの一例である。そして、情報処理部３１は、生成した敵オブジェクトＥＯを上側ＬＣＤ２２の画面に、例えば、図１０の敵オブジェクトＥＯのような態様で表示する。
【０２２４】
さらに、情報処理部３１は、関連する顔画像が反応する処理を実行する（ステップ１６６）。この処理は、図１７のステップ１４３およびステップ１４４の処理と同様である。さらに、情報処理部３１は、生成した敵オブジェクトＥＯを確定するか否かをユーザのＧＵＩに対する操作にしたがって判定する（ステップ１６７）。そして、敵オブジェクトＥＯを確定しない場合、情報処理部３１は、制御をステップ１６２に戻し、顔画像の選択を受け付ける。ただし、敵オブジェクトＥＯを確定しない場合、情報処理部３１は、制御をステップ１６０に戻し、敵オブジェクトＥＯの頭部形状の選択を受け付けるようにしてもよい。一方、敵オブジェクトＥＯを確定する場合、情報処理部３１は、処理を終了する。情報処理部３１は、この確定した敵オブジェクトＥＯを用いて、図１４のステップ１８のゲーム処理を実行する。ただし、図１８には明示されていないが、敵オブジェクトＥＯを確定しないで、図１８の処理を終了するように、ＧＵＩのメニュー等を用意するようにしてもよい。
【０２２５】
図１９Ａは、顔画像管理処理１（図１４のステップ１Ａ）の詳細処理例を示すフローチャートである。この処理では、情報処理部３１は、顔画像属性集計表Ｄｎ２から取得済みの顔画像の属性を読み出す（ステップ１Ａ１）。そして、情報処理部３１は、読み出した顔画像属性集計表Ｄｎ２から、未取得の属性または顔画像取得数の少ない属性を検索する。未取得の属性とは、例えば、図１３に例示した表で、顔画像取得数が０の属性をいう。また、顔画像取得数の少ない属性とは、例えば、図１３に例示した表中の顔画像取得数をソーティングキーとして、ソーティングしたときに、顔画像取得数が下位から所定の順位に含まれる属性をいう。
【０２２６】
次に、情報処理部３１は、ユーザに対して、未取得の属性に該当する顔画像の取得を促す処理を実行する（ステップ１Ａ２）。例えば、情報処理部３１は、図１３に例示した表から、属性「男性」、属性「１０歳代」、および用語「画像取得数０」を組み合わせたメッセージを下側ＬＣＤ１２または上側ＬＣＤ２２に表示すればよい。また、例えば、情報処理部３１は、属性「男性」、属性「１０歳代」および用語「画像取得数が少ない」を組み合わせたメッセージを表示してもよい。ただし、表示する属性の組み合わせ（図１３の表の行）の数は、１件に限られず、２件以上を表示してもよい。そして、例えば、ユーザによる操作ボタン１４Ｂ（Ａボタン）の押下を検知したときに、情報処理部３１は、図１９Ａの処理を終了すればよい。すると、その後、情報処理部３１は、図１４のステップ８に制御を戻す。
【０２２７】
なお、ここでは、図１９Ａに示した顔画像管理処理１を図１４の終了判定時（ステップ１Ａ）の詳細処理例として説明した。しかし、顔画像管理処理１は、ゲーム実行後、終了判定時（ステップ１Ａ）のタイミングでの実行に限定されるわけではない。例えば、情報処理部３１は、一覧表示処理（ステップ１４）、配役決定処理（ステップ１６）、ゲーム実行（ステップ１８）等の処理中に、ユーザに顔画像の取得を促すために、顔画像管理処理１を実行してもよい。
【０２２８】
図１９Ｂは、顔画像管理処理２（図１５のステップ１００）の詳細処理例を示すフロー
チャートである。この処理では、情報処理部３１は、まず、取得画像数を参照し、取得画像の有無を判定する（ステップ１０００）。情報処理部３１は、取得画像数を、例えば、顔画像管理情報Ｄｎ１のレコード数として、メインメモリ３２、外部メモリ４５、データ保存用外部メモリ４６、データ保存用内部メモリ３５等に記憶しておけばよい。
【０２２９】
そして、取得画像がない場合（ステップ１０００の判定でＮｏの場合）、情報処理部３１は、処理を終了する。一方、取得画像がある場合（ステップ１０００の判定でＹｅｓの場合）、情報処理部３１は、制御をステップ１００１に進める。そして、情報処理部３１は、顔画像の取得要求を受け付ける（ステップ１００１）。情報処理部３１は、例えば、内側撮像部２４あるいは、外側撮像部２３を通じて、上側ＬＣＤ２２に顔画像が写し出されている状態で、Ｌボタン１４ＧまたはＲボタン１４Ｈによる撮影指示を受け付けた場合に、顔画像の取得要求を認識する。
【０２３０】
すると、情報処理部３１は、内側撮像部２４あるいは、外側撮像部２３を通じて取得され、上側ＬＣＤ２２に顔画像が写し出されている顔画像の属性、例えば、性別と年齢を推定する（ステップ１００２）。例えば、性別は、顔画像に含まれる頬骨、顎骨を含む骨格の大きさ、顔の寸法から推定できる。すなわち、情報処理部３１は、目と目の距離、および目と口の距離に対する、顔の輪郭の相対寸法（例えば、顔の幅、目と顎の距離等）を算出する。そして、相対寸法が統計的に得られている男性平均値に近い場合に、顔画像が男性であると判定すればよい。また、例えば、相対寸法が統計的に得られている男性平均値に近い場合に、顔画像が男性であると判定すればよい。
【０２３１】
また、情報処理部３１は、性別ごとに、年齢層（例えば、１０歳未満、１０代、２０代、３０代、４０代、５０代、６０代、７０以上等）ごとに、顔のパーツの平均の位置、および、顔の部分におけるしわの本数等の特徴情報を事前に記憶しておけばよい。そして、情報処理部は、例えば、外側撮像部２３を通じて取得され、上側ＬＣＤ２２に顔画像が写し出されている顔画像の上記特徴情報を算出し、算出した特徴情報が最も近い年齢層を推定すればよい。ただし、以上の性別と年齢の特定についての説明は例示であり、性別と年齢の判定は、上記の処理に限定される訳ではない。ステップ１００２の処理では、従来から提案されている様々な性別判定技術、年齢特定技術を適用できる。
【０２３２】
次に、情報処理部３１は、ユーザに対して、未取得の属性の顔画像取得を促す（ステップ１００３）。例えば、情報処理部３１は、上側ＬＣＤ２２に、未取得の属性の顔画像取得を促すメッセージを表示すればよい。この処理は、図１９Ａの処理と同様である。そして、情報処理部３１は、ユーザの操作によって、撮影対象の顔画像が変更されたか否かを判定する（ステップ１００４）。例えば、情報処理部３１は、内側撮像部２４あるいは、外側撮像部２３を通じて取得される画像に含まれる顔画像の特徴、例えば、目と目の距離、目と口の距離が変化した場合に、撮影対象の顔画像が変更されたと判定する。また、例えば、単に、Ｌボタン１４ＧまたはＲボタン１４Ｈによる撮影指示が解除され、再び、Ｌボタン１４ＧまたはＲボタン１４Ｈによる撮影指示がなされた場合に、情報処理部３１は、撮影対象の顔画像が変更されたと判定してもよい。そして、撮影対象の顔画像が変更された場合に、情報処理部３１は、制御をステップ１００２に戻す。
【０２３３】
一方、撮影対象の顔画像が変更されなかった場合に、情報処理部３１は、そのまま処理を終了する。ここで、撮影対象の顔画像が変更されなかった場合とは、例えば、ユーザがＧＵＩ、あるいは、操作ボタン１４Ｃ（Ｂボタン）等によって、顔画像管理処理２を終了した場合である。また、例えば、撮影対象の顔画像が変更されない状態が所定時間持続した場合等に、情報処理部３１は、撮影対象の顔画像が変更されなかったと判定してもよい。この場合には、情報処理部３１は、制御を図１５のステップ１０１に進め、顔画像取得処理を実行する。なお、すでに、図１５のステップ１０１の処理で説明したように、情報
処理部３１は、図１３の顔画像属性集計表Ｄｎ２の該当する行の顔画像取得数を更新する。
【０２３４】
また、ステップ１００４の判定処理で、撮影対象の顔画像が変更されなかった場合とは、例えば、目と目の距離、目と口の距離の変化量が許容値以内である場合である。また、例えば、単に、Ｌボタン１４ＧまたはＲボタン１４Ｈによる撮影指示が解除されることなく、そのまま所定時間、撮影指示が継続した場合に、情報処理部３１は、撮影指示が解除されなかったと判断してよい。
【０２３５】
図１９Ｃは、顔画像管理処理３（図１６のステップ１２２）の詳細処理例を示すフローチャートである。図１９Ｃの処理は、図１９Ｂの処理のステップ１００１からステップ１００４と同様であるので、その説明を省略する。
【０２３６】
図１９Ａから図１９Ｃの処理によれば、情報処理部３１は、未取得の属性に該当する顔画像を優先して撮影をするように、ユーザを誘導する。このような処理によって、極力、属性の偏りのない顔画像取得を望むユーザの顔画像収集処理を支援することができる。
【０２３７】
なお、本実施形態では、年齢層を１０歳未満、１０代、２０代、３０代、４０代、５０代、６０代、７０以上のように分類する処理例を示した。しかし、本発明の実施は、このような年齢層の分類に限定される訳ではない。例えば、さらに細かく年齢層を分類するようにしてもよい。また、逆に、子供、大人、老人等のように、粗く年齢層を分類するようにしてもよい。
【０２３８】
本実施形態では、Ｌボタン１４ＧまたはＲボタン１４Ｈによる撮影指示を受け付けた場合に、情報処理部３１が顔画像の取得要求を認識した。しかし、そのような処理に代えて、例えば、第１の実施形態で説明したように、情報処理部３１が、目標とする寸法の顔画像を撮像部から取得するために、ゲーム装置１０と顔との距離、撮像部の視軸と顔との角度等を誘導するような処理において、顔画像の属性、例えば、性別、年齢を推定してもよい。すなわち、このような誘導処理のため、例えば、情報処理部３１が、リアルタイム、あるいは、フレーム周期（１／６０秒等）ごとに顔画像を取得する場合に、取得された顔画像から、顔画像の属性を特定すればよい。
【０２３９】
＜ゲーム処理の詳細例＞
ここでは、図２０Ａ−図４０を参照して、顔画像を用いたキャラクタオブジェクトが登場するゲーム処理の一例を説明する。以下の処理は、セーブデータ記憶域Ｄｏに蓄積された顔画像を含む敵オブジェクトＥＯを用いて、例えば、図１４のステップ１８において、実行される処理である。
【０２４０】
まず、本実施形態において、ゲーム装置１０によるゲームプログラムの実行によってプレイヤが遊技可能なゲームの概要について説明する。本実施形態におけるゲームは、プレイヤが、ゲーム内の主人公として、ゲーム世界として用意された仮想の３次元空間に出現する敵キャラクタを撃ち落とす、いわゆるシューティングゲームである。ゲーム世界をなす仮想の３次元空間（仮想空間（ゲーム空間とも呼ばれる））は、ゲーム装置１０の表示画面（例えば、上側ＬＣＤ２２）において、プレイヤの視点（いわゆる主観視点で）で表示される。もちろん、客観視点としてもよい。プレイヤが敵キャラクタを撃ち落とすことで、得点が加算される。これに対し、敵キャラクタとプレイヤとが衝突すると（具体的には、敵キャラクタが仮想カメラの位置から一定距離以内に到達すると）、得点が減点される。
【０２４１】
また、本実施形態のゲームは、ゲーム装置１０が備える撮像部により取得される現実世
界の画像（以下、「実世界画像」と呼ぶ）と、仮想空間を表現した仮想世界画像（本発明に係る「仮想画像」に相当）とを合成して表示する。具体的には、仮想空間を、仮想カメラに近い領域（以下、「手前側領域」と呼ぶ）と、仮想カメラから遠い領域（以下、「奥側領域」と呼ぶ）に区分して、手前側領域に存在する仮想オブジェクトを表す画像を実世界画像の手前に表示し、奥側領域に存在する仮想オブジェクトを実世界画像の背後に表示する。より具体的には、後述するように、手前側領域に存在する仮想オブジェクトを実世界画像よりも優先し、かつ、実世界画像を奥側領域に存在する仮想オブジェクトよりも優先して合成する。
【０２４２】
実世界画像と仮想世界画像の合成の手法は問わない。例えば、仮想オブジェクトと同じ仮想空間に、実世界画像をオブジェクトとして存在させて（より具体的には、例えば、仮想オブジェクトのテクスチャとして貼り付けて）、実世界画像を仮想オブジェクトとともに共通の仮想カメラでレンダリングしてもよい。
【０２４３】
また、別の例では、実世界画像を第１の仮想カメラ（以下、実世界描画用カメラと呼ぶ）で撮影してレンダリングして第１のレンダリング画像とし、仮想オブジェクトを第２の仮想カメラ（以下、仮想世界描画用カメラと呼ぶ）で撮影してレンダリングして第２のレンダリング画像とし、第１のレンダリング画像と第２のレンダリング画像とを、手前側領域に存在する仮想オブジェクトを実世界画像よりも優先し、かつ、実世界画像を奥側領域に存在する仮想オブジェクトよりも優先するように、合成してもよい。
【０２４４】
前者の方法では、典型的には、実世界画像をテクスチャとして適用したオブジェクト（以下、このオブジェクトをスクリーンオブジェクトと呼ぶ）を手前側領域と奥側領域の境界となる位置に配置し、敵オブジェクトなどの仮想オブジェクトとともに共通の仮想カメラで撮影してもよい。この場合、典型的には、実世界画像が貼り付けられるオブジェクトは、仮想カメラから一定距離で、かつ、法線が仮想カメラの撮影方向と一致するような面を有するオブジェクトであり、この面（以下、境界面と呼ぶ）に実世界画像をテクスチャとして貼り付けてもよい。
【０２４５】
また、後者の方法では、仮想オブジェクトを手前側領域と奥側領域の境界面（以下、単に境界面と呼ぶ）に対して奥行判定（Ｚバッファによる判定）をおこないつつレンダリングして上記第２のレンダリング画像とし、仮想カメラから一定距離でかつ法線が仮想カメラの撮影方向と一致するような面に実世界画像をテクスチャとして貼り付けて撮影した上記第１のレンダリング画像とする。そして、第２のレンダリング画像を第１のレンダリング画像に優先して合成するようにすれば、実世界画像が境界面に存在しているように見える画像が合成される。
【０２４６】
いずれの方法においても、実世界画像は仮想カメラの視野範囲を包含するように、仮想カメラからの距離および視野角と実世界画像オブジェクトの大きさ（撮影方向についての大きさ）との関係が設定される。
【０２４７】
なお、以下では、前者の方法を第１の描画方法と呼び、後者の方法を第２の描画方法と呼ぶ。
【０２４８】
また、ゲーム上における所定のイベント発生条件が満たされると、実世界画像の一部が開口され、奥側領域の仮想空間がその開口を通じて見えるように表示される。また、手前側領域には敵キャラクタオブジェクトが存在し、さらに、奥側領域には、所定の条件を満たすと特別な敵キャラクタ（いわゆる「ボスキャラ」）が出現する。ボスキャラクタを撃ち落とすことで、ステージクリアとなる。ステージは幾つか用意されており、全てのステージをクリアすることでゲームクリアとなる。これに対し、所定のゲームオーバー条件が
満たされると、ゲームオーバーとなる。
【０２４９】
実世界画像に対する開口は、上述の第１の描画方法の典型例では、スクリーンオブジェクトの境界面に対して開口の位置を示すデータを設定してもよい。より具体的には、境界面に適用されるテクスチャ（いわゆるαテクスチャ）の不透明度で開口または非開口を示すようにしてもよい。また、第２の描画方法では、境界面に対して開口の位置を示すデータを設定してもよい。
【０２５０】
また、本実施形態では、実世界画像に対して開口／非開口を設定したが、実世界画像に対して他の画像処理をおこなうようにしてもよい。例えば、実世界画像に汚れを付けたりぼかし処理をしたりするなど当業者の技術常識による任意の画像処理をおこなうことができる。これらの例でも、境界面や境界面に対して、画像処理をおこなう位置を示すデータが設定されるようにしてもよい。
【０２５１】
＜ゲーム世界＞
このように本実施形態に係るゲームでは、実画像の背後にも仮想空間（奥側領域）が存在することが感じられ、奥行き感が向上した仮想空間を表すゲーム画面が表示される。なお、実世界画像は、単眼カメラで撮影された状態の通常画像であってもよく、複眼カメラで撮影された状態のステレオ画像であってもよい。
【０２５２】
本実施形態に係るゲームでは、実世界画像として、外側撮像部２３で撮像された画像を用いる。すなわち、ゲームのプレイ中に外側撮像部２３で撮像されたプレイヤの周囲の実世界画像（リアルタイムに取得される実世界の動画）が用いられる。従って、ゲーム装置１０を保持したユーザ（ゲームのプレイヤ）が、ゲームのプレイ中にゲーム装置１０を左右方向、或いは上下方向に向きを変えて外側撮像部２３の撮像範囲を変更すると、上側ＬＣＤ２２に表示される実世界画像も、撮像範囲の変更に追従して変更される。
【０２５３】
ここで、ゲームプレイ中におけるゲーム装置１０の向きの変更は、大略して、（１）プレイヤの意図、又は（２）ゲーム上の意図（シナリオ）に従って行われる。プレイヤがプレイ中にゲーム装置１０の向きを意図的に変えることで、外側撮像部２３で撮影される実世界画像が変化し、これにより、上側ＬＣＤ２２に表示される実世界画像を意図的に変更することができる。
【０２５４】
また、ゲーム装置１０が備える角速度センサ４０によりゲーム装置１０の向きの変化が検出され、それに応じて仮想カメラの向きを変更する。より具体的には、外側撮像部２３の向きの変化方向に仮想カメラを現在の向きから変化させる。さらには、外側撮像部２３の向きの変化量（角度）だけ、仮想カメラを現在の向きから変化させる。すなわち、ゲーム装置１０の向きを変えると、実世界画像が変化するとともに、仮想空間のうちの表示される範囲が変化する。すなわち、ゲーム装置１０の向きを変更することにより、実世界画像と仮想世界画像が連動して変化し、これにより、現実世界と仮想世界とが関連付いているかのような合成画像を表示することができる。なお、本実施形態においては、仮想カメラの位置は変更しないが、ゲーム装置１０の移動を検出して仮想カメラの位置を変更してもよい。
【０２５５】
なお、第２の描画方法においては、このような仮想カメラの向き変更処理は、仮想世界描画用カメラに適用され、実世界描画用カメラについては適用されない。
【０２５６】
また、ゲームプレイ中に、画面の端（例えば、右端、左端）のような局所にオブジェクトが表示されると、プレイヤに対し、オブジェクトを画面の中心に捉えようとする心理が自然に働き、プレイヤはゲーム装置１０（外側撮像部２３）を動かす。この結果、画面に
表示される実世界画像が変わる。このようなゲーム装置１０の向きの変更（実世界画像変更）は、ゲームのシナリオに従って表示されるオブジェクトが意図的に画面の端に表示されるようにプログラミングすることによって、プレイヤが自然に行うようにすることができる。
【０２５７】
＜仮想空間の詳細＞
（実世界画像の描画）
外側撮像部２３で撮像された実世界画像は、仮想空間の手前側領域と奥側領域の境界位置に存在して見えるように合成される。図２０Ａは、本実施形態における仮想空間の一例を示す。また、図２０Ｂは、本実施形態におけるスクリーンモデルとαテクスチャの関係を示す。第１の描画方法では、実世界画像の表示のため、図２０Ａに示すように、仮想空間内に仮想カメラの位置を中心とする球体モデル（上述のスクリーンモデル）を設定し、この球体の内面に実世界画像を貼り付け、スクリーンオブジェクトを形成してもよい。より具体的には、スクリーンモデルのうち仮想カメラで撮影される部分の全体にテクスチャとして貼り付けられる。スクリーンモデルのうちこの部分以外については、透明に設定されため画面上で視認されない。この例では、境界面は球体面であり、すなわち、図２０Ａで示すように、球体の表面により仮想カメラ側が手前側領域（本発明の「第２領域」に相当）であり、球体の表面より仮想カメラからみて遠い側が奥側領域（本発明の「第１領域」に相当）である。
【０２５８】
第２の描画方法では、実世界画像の表示のため、仮想空間内には、実世界画像のテクスチャを貼り付けるための平面ポリゴンが配置される。仮想空間において、平面ポリゴンの実世界描画用カメラに対する相対位置は、常に固定される。すなわち、平面ポリゴンは、実世界描画用カメラから一定の距離を空けて配置され、その法線方向が実世界描画用カメラの視点（視軸）に一致するように配置される。
【０２５９】
また、この平面ポリゴンは、実世界描画用カメラの視野範囲を包含するように設定される。具体的には、平面ポリゴンの大きさとその仮想カメラからの距離は、平面ポリゴンが仮想カメラの視野範囲を包含可能となるように設定される。この平面ポリゴンの仮想カメラ側の面全体に実世界画像を貼り付けるようにしたので、仮想カメラで、この実世界画像が貼り付けられた平面ポリゴンを撮影すると、仮想カメラにより生成される画像において、実世界画像がその全域に対応するように表示される。
【０２６０】
なお、図２１に示すように、境界面を円筒状にしてもよい。図２１は、本実施形態における仮想空間の別の例を示す。この場合、仮想空間には、仮想カメラの位置に立てられた鉛直軸（本実施形態においては、仮想空間のＹ軸が鉛直方向に対応し、Ｘ軸およびＺ軸が水平方向に対応するとする）を中心軸とする仮想の円筒周面（境界面）が配置される。ただし、前述の通り、この円筒周面は視認されるオブジェクトではなく、開口処理において用いられるオブジェクトである。この円筒の外周面は、仮想空間を、仮想カメラが位置する第１空間（本発明の「第２領域」に相当）と、この第１空間の周りに存在する第２空間（本発明の「第１領域」に相当）とに区分する。
【０２６１】
（実世界画像を開口させるための処理）
さらに、本実施形態に係るゲームでは、実世界画像に開口を設け、実世界画像の背後の奥側領域の存在をプレイヤに認識させる。より明確に言うと、実世界画像のうちこの開口の部分は、透明または半透明で表示され、その背後にある世界がこの部分に合成される。このため、ゲーム内で、所定のイベントの発生を契機に、実世界画像の一部が開口して（消去されて）、その開口を通して実世界画像の背後に存在する他の仮想空間（奥側領域）を示す画像が表示される。
【０２６２】
このような、実世界画像に開口を設けて奥側領域を表示する処理は、本実施形態において、境界面は球体面であり、第１の描画方法では、図２０Ａ及び図２０Ｂに示すように、上述の球体のスクリーンオブジェクトの内面に貼り付けられるテクスチャにより実現される。以下、このテクスチャのことをスクリーン用αテクスチャ（後述する、開口判定用データ）と呼ぶ。本実施形態では、スクリーン用αテクスチャは仮想カメラを中心として少なくとも或る方向に３６０度周回する部分に貼り付けられる。より具体的には、図２０Ｂで示すように、スクリーン用αテクスチャは、球体のうち中央部分、言い換えると、仮想カメラの位置を中心として、ＸＹ平面に平行な方向に３６０度周回させた、Ｙ方向に所定の幅を有する部分（以下、αテクスチャ適用部と呼ぶ）に貼り付けられる。このようにすることにより、スクリーン用αテクスチャのデータの持ち方を簡単にすることができる。具体的には、本実施形態では、スクリーン用αテクスチャは矩形形状である。このαテクスチャが図２０Ａで示す部分に貼り付けられることにより、スクリーン用αテクスチャの各ドットの情報は、スクリーンオブジェクトのうちαテクスチャ適用部の各座標に対応する。
【０２６３】
上述のように実世界画像が貼り付けられ、αテクスチャが設定されたスクリーンオブジェクトを仮想カメラで撮影することにより、開口部を有する実世界画像が境界面（球体内面）に存在するように描画されることになる。αテクスチャのうち実世界画像に対応する部分は、仮想カメラによる撮影により計算される。
【０２６４】
第２の描画方法においても、仮想空間の境界面（ここでは球体内面）に対して、開口の位置を示すデータが設定される。典型的には、境界面の各点について開口の有無を示すデータが設定される。より具体的には、上述と同様の球体オブジェクトが仮想オブジェクトの存在する仮想世界に配置され、この球体オブジェクトに対して同様のαテクスチャが設定される。そして、実世界画像のレンダリング時に、αテクスチャが設定された球体オブジェクトのうち仮想世界描画用カメラで撮影される部分に対応する部分のαテクスチャを、上述の平面ポリゴンに適用してレンダリングする。または、この部分のαテクスチャを用いて、実世界画像に対して開口部を透明化する処理を行った後、この処理後の実世界画像を前述の平面ポリゴンに貼り付けて実世界描画用カメラでレンダリングする。なお、この球体オブジェクトは、開口の計算にのみ使用されるオブジェクトであり、仮想世界の描画時に描画されないオブジェクトである。
【０２６５】
なお、本実施形態では、開口部を示すデータは境界面の各点ごとに情報を有するようなデータであるが、境界面において開口を有する位置を計算式で定義するような情報でもよい。
【０２６６】
第２空間には、開口を通じて仮想カメラの視野に収まる第２空間の背景画像（テクスチャ）を貼り付けるためのポリゴン（オブジェクト）が配置される。第２空間の背景は、「奥壁」と呼ぶこともある。
【０２６７】
第１空間には、敵キャラクタや、敵キャラクタを撃ち落とすための弾を表す各種のキャラクタを示すオブジェクトが配置される。第２空間にも所定のオブジェクト（例えば、敵キャラクタのうちの一部）が配置される。仮想空間上に配置された各オブジェクトは、予めプログラミングされたロジック（アルゴリズム）に従って仮想空間内を移動する。
【０２６８】
さらに、敵キャラクタのうちの一部は、境界面に形成された開口を通じて第１空間と第２空間との間を行き来することもできる。または、自ら境界面に開口を形成して第１空間と第２空間との間を行き来することができる。開口を形成するゲーム上の所定イベントは、例えば、敵キャラクタが境界面に衝突するようなイベント（衝突イベント）である。或いは、ゲームシナリオの進行上、所定のタイミングで境界面が破壊され、第２空間にいた
敵キャラクタが第１空間に進入して来るイベント（敵キャラクタ出現イベント）である。或いは、時間経過に応じて自動的に開口が形成されるようにしてもよい。また、プレイヤの所定のゲーム操作に応じて、開口を修復することができる。例えば、プレイヤは、形成された開口に対して弾を当てることで、開口を小さくする（修復する）こともできる。
【０２６９】
図２２は、実施形態における画像処理プログラムの一例であるゲームプログラムにおいて定義される仮想の３次元空間（ゲーム世界）を示す。なお、上述したように、本実施形態では、境界面は球体であるが、図２２では簡便のため、境界面を円筒状に示す。上述したように、本実施形態に係るゲームでは、ゲーム装置１０の上側ＬＣＤ２２には、仮想の３次元空間を表現した仮想世界画像と実世界画像が合成されて表示される。
【０２７０】
また、図２２において示されるとおり、本実施形態におけるゲーム上の仮想空間は、仮想カメラの位置を中心軸とする球体面で形成された境界面３によって第１空間１と第２空間２に分けられている。
【０２７１】
境界面３には、ゲーム装置１０に内蔵する実カメラによって撮像された実世界画像であるカメラ画像ＣＩ（図２３）は、第１の描画方法においては後述するステップ８１及び８２、また、第２の描画方法においては後述するステップ８３からステップ８５の処理により、境界面３の位置に存在しているかのように、仮想世界画像と合成される。
【０２７２】
本実施形態における実世界画像は平面視の画像である。また仮想世界画像も平面視の画像である。すなわち、ＬＣＤ２２には平面視の画像が表示される。ただし、実世界画像は、立体視可能な画像であってもよい。立体視本発明は、実世界画像の種類によって限定されない。なお、本実施形態におけるカメラ画像ＣＩは、静止画であっても、リアルタイムの実世界画像（動画像）であってもよい。本実施形態におけるゲームプログラムでは、カメラ画像ＣＩは、リアルタイムの実世界画像であるとする。また、実世界画像であるカメラ画像ＣＩは、カメラの種類によって限定されない。例えば、カメラ画像ＣＩは、ゲーム装置１０に外部接続可能なカメラによって得られた画像であってもよい。更に、本実施形態では、カメラ画像ＣＩは、外側撮像部２３（複眼カメラ）及び内側撮像部２４（単眼カメラ）のいずれかから取得した画像であればよい。本実施形態におけるゲームプログラムでは、カメラ画像ＣＩは、外側撮像部２３の外側左撮像部２３ａ及び外側右撮像部２３ｂの一方を単眼カメラとして用いることにより取得される画像であるとする。
【０２７３】
上記したように第１空間１は、仮想カメラから見て境界面３より手前の空間であり、境界面３によって囲まれた空間である。また、第２空間２は、仮想カメラから見て境界面３の背後の空間である。図２０Ａ及び図２１において図示はされていないが、境界面３を囲む奥壁ＢＷが存在する。つまり、第２空間２は、境界面３と奥壁ＢＷの間に存在する空間である。当該奥壁ＢＷは、任意の画像が貼り付けられる。例えば、奥壁ＢＷには、予め用意された宇宙空間を表す画像が貼り付けられ、第１空間の背後には宇宙空間である第２空間の存在が表示される。すなわち、仮想カメラから見て、手前から順に、第１空間、境界面３、第２空間、奥壁が配置される。
【０２７４】
ただし、上述のとおり、本発明の画像処理プログラムはゲームプログラムに限定される訳ではなく、これらの設定及びルールは、本発明の画像処理プログラムを限定するものではない。なお、敵オブジェクトＥＯは、図２２に示されるとおり、仮想の３次元空間内を移動し、上述の境界面３を通って、第１空間１と第２空間２とを往来することができる。境界面３のうち、仮想カメラによって撮像される領域を通って、敵オブジェクトＥＯが第１空間１と第２空間２との間を移動した場合には、ＬＣＤ２２に表示される画像においては、敵オブジェクトＥＯが実世界画像を通り抜けて奥側から手前側に、または、手前側から奥側に移動するように表現される。
画面には、ゲームのシナリオやイベントにより実世界画像に生じた開口（穴）を使って第１空間１と第２空間２とを往来する敵オブジェクトＥＯの様子が表示される。図２２及び図２４には、敵オブジェクトＥＯが境界面３に開口を作って、または、境界面３上に既に存在する開口を通って、第１空間１と第２空間２を行き来する様子が図示されている。
【０２７５】
なお、本実施形態における画像処理プログラムでは、第１空間１または第２空間２に存在するオブジェクトは、敵オブジェクトＥＯ、弾オブジェクトＢＯおよび奥壁ＢＷの３つであるが、本発明の画像処理プログラムは、オブジェクトの種類に限定されない。本実施形態における画像処理プログラムにおいて、オブジェクトは、仮想空間（第１空間１及び第２空間２）に存在する仮想物体である。例えば、本実施形態にかかる画像処理プログラムにおいて、障害物のオブジェクト等の任意のオブジェクトが存在してもよい。
【０２７６】
＜表示形態例＞
図２３〜図２６は、上側ＬＣＤ２２に表示されるゲーム画面の一例を示す。以下、各図の表示形態例について説明する。
【０２７７】
まず、図２３〜図２６において共通に表示される照準カーソルＡＬについて説明する。図２３〜図２６において、上側ＬＣＤ２２には、共通して、ゲーム装置１０を用いた攻撃操作（例えば、ボタン１４Ｂ（Ａボタン）の押下）に応じて発射される弾オブジェクトＢＯの照準カーソルＡＬが表示されている。本実施形態のゲームプログラムでは、照準カーソルＡＬは、ゲーム装置１０が実行するプログラムに応じて所定の方向を向くように設定されている。
【０２７８】
例えば、照準カーソルＡＬは、仮想カメラの視線方向、つまり、上側ＬＣＤ２２の画面中央に固定されているように設定される。この場合、上述のとおり、本実施形態において、外側撮像部２３の撮影方向の変化に応じて、仮想カメラ（第１の描画方法における仮想カメラまたは第２の描画方法における仮想世界描画用カメラ）の撮影方向を変更するので、プレイヤは、ゲーム装置１０の向きを変えることで、照準カーソルＡＬの仮想空間内における向きを変更する。そして、プレイヤは、例えば、ゲーム装置１０が備えるボタン１４Ｂ（Ａボタン）を、下側ハウジング１１を把持した右手の親指で押下することにより攻撃操作を行う。これにより、プレイヤは、攻撃操作による弾オブジェクトＢＯの発射を行い、本実施形態のゲーム上における敵オブジェクトＥＯの退治や、境界面３に存在する開口の修復をする。
【０２７９】
次に、図２３〜図２６について各図個別に説明する。
【０２８０】
図２３において、上側ＬＣＤ２２には、第１空間１に存在する敵オブジェクトＥＯと、ゲーム装置１０に内蔵する実カメラによって撮像されたカメラ画像ＣＩと、が表示されている。敵オブジェクトＥＯは、任意に設定される。
【０２８１】
敵オブジェクトＥＯは、例えば、ゲーム装置１０のデータ保存用外部メモリ４６等に記憶された画像（例えば、人の顔写真）をテクスチャとして用い、所定形状の３次元ポリゴンモデル（人の頭部の３次元形状を表すポリゴンモデル）に、所定の方法で貼り付けたオブジェクトである。
【０２８２】
また、本実施形態において、上側ＬＣＤ２２に表示されるカメラ画像ＣＩは、上述のとおり、ゲーム装置１０に内蔵する実カメラで撮像されたリアルタイムの実世界画像である。その他、例えば、カメラ画像ＣＩは、ゲーム装置１０のデータ保存用外部メモリ４６等に記憶された画像（例えば、風景写真）であってもよい。
【０２８３】
カメラ画像ＣＩが上側ＬＣＤ２２に表示された状態において、敵オブジェクトＥＯは任意に移動することができる。例えば、第１空間１に存在する敵オブジェクトＥＯは、第２空間２に移動することができる。図２４は、第１空間１に存在する敵オブジェクトＥＯが、第１空間１から第２空間２へ移動する様子の一例を示す。図２４に示した一例では、第１空間１に存在する敵オブジェクトＥＯは、境界面３上に開口を作って、第２空間２へ移動する。第２空間２に移動した敵オブジェクトＥＯは、境界面３上の非開口領域において仮想カメラから見た位置において影（シルエットモデル）ＥＳとして表示される。また、第２空間２は、境界面３上の開口を通して視認される。つまり、仮想カメラの視野内の境界面３上に開口が存在する場合、上側ＬＣＤ２２には、当該開口を通して第２空間２の画像の一部が表示される。第２空間２の画像は、具体的には、第２空間２に存在するオブジェクト、例えば、第２空間２に存在する敵オブジェクトＥＯや、奥壁ＢＷである。影ＥＳは、敵オブジェクトＥＯの影を示す表示である。図２７Ａは、敵オブジェクトＥＯの影のシルエットモデルを上から見た図を示す。また、図２７Ｂは、敵オブジェクトＥＯの影のシルエットモデル例を示す。図２７Ａ及び図２７Ｂに示すように、本実施形態においては、敵オブジェクトＥＯについて、複数の向きごとにシルエットモデルが設定されている。具体的には、シルエットモデルは、例えば、図２７Ａに示す８枚の平面ポリゴンである。このシルエットモデル（８枚の平面ポリゴン）は、実体モデルである敵オブジェクトＥＯと同じ位置に配置される。また、各平面ポリゴンは実体モデルに内包される大きさである（実体モデルからはみ出ない）。また、各平面ポリゴンにはその面の法線方向から見た敵オブジェクトＥＯの影画像が描いたテクスチャが貼り付けられる。敵オブジェクトＥＯが境界面３の非開口領域の背後に存在する場合には、このシルエットモデルが描画されることにより影ＥＳが表示される。
【０２８４】
なお、８枚の平面ポリゴンのすべてがレンダリングされる。敵オブジェクトＥＯが境界面の非開口領域の背後に存在する場合、奥行判定（デプス判定）により、敵オブジェクトＥＯの実体モデルはこの境界面（スクリーンオブジェクト）に隠されるため描画されない。しかしながら、シルエットモデルは、境界面（スクリーンオブジェクト）に対してデプス判定をしないように設定されているため、敵オブジェクトＥＯ（およびそのシルエットモデル）が境界面の非開口領域の背後に存在する場合であっても、シルエットモデルは描画されて、図２４や図２５に示すように影が表示される。しかしながら、敵オブジェクトＥＯが境界面の前方に存在する場合や、境界面の開口領域の背後に存在する場合は、シルエットモデルは実体モデルより奥に存在し、敵オブジェクトＥＯの実体モデルが描画され、それによりシルエットモデルは描画されないため、影は表示されない。これは、シルエットモデルが敵オブジェクトＥＯの実体モデルに内包されるように設定されているからである。
【０２８５】
上側ＬＣＤ２２には、以下の優先順位で画像が合成されて表示される。
【０２８６】
（１）第１空間１に存在するオブジェクトの画像
（２）実世界画像のうち非開口領域については、第２空間２に存在するオブジェクトの影画像と実世界画像の合成画像（例えば影画像が半透明で実世界画像に合成される）
（３）実世界画像のうち開口部領域については第２空間２に存在するオブジェクトの画像（実体画像）が優先的に合成され、さらにその奥に奥壁画像が合成される
ただし、第２空間２に存在する敵オブジェクトＥＯの移動状態によっては、敵オブジェクトＥＯが開口領域と非開口領域の両方にまたがって存在する場面がある。つまり、仮想カメラから見た位置において、敵オブジェクトＥＯが開口のふちに存在する場面がある。図２５は、このような、第２空間２に存在する敵オブジェクトＥＯが、境界面３上に設定された開口のふちに移動した状態を示す。図２５において示されるとおり、第２空間２に存在する敵オブジェクトＥＯについて、仮想カメラから見て、開口を通して第２空間２が視認できる範囲についてはそのままの画像が、開口を通して第２空間２が視認できない範
囲については影ＥＳが、上側ＬＣＤ２２に表示される。
【０２８７】
より具体的には、図２８に示すように、各オブジェクトには不透明度（アルファ値）のデータが設定される。図２８は、本実施形態において各オブジェクトに設定される不透明度（アルファ値）の例を示す。敵オブジェクトの実体モデルには、そのテクスチャにモデル全体について不透明度が１である設定がされる。また、敵オブジェクトのシルエットモデル（平面ポリゴン）には、そのテクスチャに影画像の全体について不透明度が１である設定がされる。弾のモデルについても同様である。敵オブジェクトのうち半透明のオブジェクトのモデルやエフェクト用のモデルについては、そのテクスチャに、例えば、そのモデル全体について不透明度０．６が設定される。スクリーンオブジェクト（図２０Ａに示される球体のスクリーンモデル）には、マテリアルとして不透明度０．２が設定され、そのテクスチャであるαテクスチャに、各点ごとに１または０が設定される。１が非開口部を示し、０が開口部を示す。すなわち、スクリーンオブジェクトには、不透明度値として、マテリアルの設定とテクスチャの設定の２つが施される。
【０２８８】
また、敵オブジェクト、弾オブジェクト、半透明の敵オブジェクト、エフェクトオブジェクト、スクリーンオブジェクトの間は、互いにデプス判定有効である。「影用の平面ポリゴンと敵オブジェクトの間」「影用の平面ポリゴンと弾オブジェクトの間」「影用の平面ポリゴンと半透明の敵オブジェクトの間」「影用の平面ポリゴンとエフェクトオブジェクトの間」は、互いにデプス判定有効である。影用の平面ポリゴンとスクリーンオブジェクトとの間は、デプス判定無効である。
【０２８９】
デプス判定が有効な場合には、通常の透視投影に従い、レンダリングされる。仮想カメラからの奥行方向に応じて陰面消去される。デプス判定が無効の場合には、対象オブジェクトが自身のオブジェクトより仮想カメラに近い側に存在していてもレンダリングされる。
【０２９０】
そして、本実施形態においては、レンダリング時に、オブジェクトごとにレンダリングの式を設定することができる。具体的には以下のように設定される。
【０２９１】
敵オブジェクトの実体、弾オブジェクト、半透明の敵オブジェクト、エフェクトオブジェクトは、以下の式で描画される。
【０２９２】
「自身の色  ×  自身の不透明度  ＋  背景の色  ×  （１  −  自身の不透明度）」
スクリーンオブジェクトは、以下の式で描画される。
【０２９３】
「自身の色（実世界画像の色）  ×  自身のテクスチャの不透明度  ＋  背景の色  ×
（１−  自身のテクスチャの不透明度）」
敵オブジェクトのシルエットモデルは、以下の式で描画される。
【０２９４】
「自身の色×（１−  背景のマテリアルの不透明度）＋背景の色×背景のマテリアルの不透明度）」
なお、敵オブジェクトが描画される場合、その背景はスクリーンオブジェクト（境界面３）であるから、上式において、「背景のマテリアルの不透明度」は「スクリーンオブジェクト（境界面３）のマテリアルの不透明度」である。
【０２９５】
上述のような様々な設定により、敵オブジェクトが境界面の非開口部の背後に存在するときには、実体は表示されずに影が表示され、敵オブジェクトが境界面の前方に存在するときおよび敵オブジェクトが境界面の開口部に存在するときには、影は表示されずに実体が表示される。
【０２９６】
また、本実施形態におけるゲームでは、境界面３上に存在する開口は、弾オブジェクトＢＯを当てることにより修復されうる。図２６は、境界面３に存在する開口に弾オブジェクトＢＯを当てることにより、当該開口を塞ぐ様子を示す。図２６に示されるとおり、例えば弾オブジェクトＢＯが当該境界面３上に存在する非開口領域に衝突した時に、衝突点から一定範囲の境界面について非開口のデータ設定がされる。これにより、衝突点から一定範囲に開口があったときに当該開口は塞がれる。なお、本実施形態では、開口にあたった弾オブジェクトＢＯは消滅する（したがって、図２６において弾オブジェクトＢＯは消滅している）。また、弾オブジェクトＢＯは境界面３上の開口に当たったときには、当該開口を通り抜けて第２空間に移動する。
【０２９７】
なお、上述したように、上側ＬＣＤ２２には、ゲーム装置１０に内蔵する実カメラによって撮像されたリアルタイムの実世界画像が境界面３上にあるかのように見える画像として表示されている。実空間内においてゲーム装置１０の方向を変えることによって、ゲーム装置１０で撮像される撮像範囲が変わるため、上側ＬＣＤ２２に表示されるカメラ画像ＣＩも変化する。この場合、ゲーム装置１０は、実空間内におけるゲーム装置１０の動きに応じて、上記仮想空間内における上記仮想カメラ（第２の描画方法については、仮想世界描画用カメラ）の方向を変化させる。これによって、実空間内に配置されているように表示されている敵オブジェクトＥＯや境界面３上に存在する開口は、実空間内におけるゲーム装置１０の方向が変わっても実空間内における同じ位置に配置されているように表示される。例えば、ゲーム装置１０の実カメラによる撮像方向を左へ変えるとする。この場合、上側ＬＣＤ２２に表示されている敵オブジェクトＥＯや境界面３上に存在する開口の表示位置が、実カメラの撮像方向を変えた方向の逆方向（右方向）に移動、すなわち敵オブジェクトＥＯおよび境界面３上に存在する開口が配置されている仮想空間の仮想カメラ（第２の描画方法については仮想世界描画用カメラ）の方向が実カメラと同じ左方向に移動する。したがって、敵オブジェクトＥＯや境界面３上に存在する開口は、ゲーム装置１０の方向が変化して実カメラの撮像範囲が変わったとしても、あたかもカメラ画像ＣＩで表現された実空間内に配置されているように上側ＬＣＤ２２に表示される。
【０２９８】
《画像処理の動作例》
次に、図２９〜図３１、図３２Ａ及び図３２Ｂを参照して、ゲーム装置１０で実行される本実施形態における画像処理プログラムによる具体的な画像処理の動作例について説明する。図２９は、当該画像処理プログラムを実行することによってゲーム装置１０が画像処理する動作例の一例を示すフローチャートである。図３０は、図２９のステップ５３で行われる敵オブジェクト関連処理の詳細な動作の一例を示すサブルーチンのフローチャートである。図３１は、図２９のステップ５４で行われる弾オブジェクト関連処理の詳細な動作の一例を示すサブルーチンのフローチャートである。図３２Ａ及び図３２Ｂは、図２９のステップ５７で行われる表示画像の更新処理（第１の描画方法及び第２の描画方法）の詳細な動作の一例を示すサブルーチンのフローチャートである。
【０２９９】
《画像処理例》
次に、図２９を参照して、情報処理部３１の動作について説明する。まず、ゲーム装置１０の電源（電源ボタン１４Ｆ）がＯＮされると、ＣＰＵ３１１によってブートプログラム（図示せず）が実行され、これにより内蔵メモリまたは外部メモリ４５やデータ保存用外部メモリ４６に格納されているプログラムがメインメモリ３２にロードされる。そして、当該ロードされたプログラムが情報処理部３１（ＣＰＵ３１１）で実行されることによって、図２９に示すステップが実行される。なお、図２９〜図３２Ａにおいては、本発明の画像処理に直接関連しない画像処理及びその他周辺の処理についての記載を省略する。
【０３００】
図２９において、情報処理部３１は、画像処理における初期設定を行い（ステップ５１
）、次のステップ５２に処理を進める。例えば、情報処理部３１は、仮想世界画像（仮想空間の画像）を生成するための仮想カメラの初期位置や初期方向を仮想カメラデータＤｊに設定し、当該仮想カメラが配置される仮想空間の座標軸（例えば、ＸＹＺ軸）を設定する。
【０３０１】
次に、情報処理部３１は、ゲーム装置１０の各構成部より各種データを取得し（ステップ５２）、次のステップ５３に処理を進める。例えば、情報処理部３１は、現在選択されている撮像部（本実施形態では外側撮像部２３）によって撮像されたカメラ画像を用いて、実カメラ画像データＤｂを更新する。また、情報処理部３１は、操作ボタン１４やアナログスティック１５を操作したことを示すデータを取得して、操作子データＤａ１を更新する。更に、情報処理部３１は、角速度センサ４０によって検出された角速度を示す角速度データを取得して、角速度データＤａ２を更新する。
【０３０２】
次に、情報処理部３１は、敵オブジェクト関連処理を実行し（ステップ５３）、次のステップ５４に処理を進める。以下、図３０を参照して、敵オブジェクト関連処理について説明する。
【０３０３】
図３０において、情報処理部３１は、敵オブジェクトＥＯが出現する条件を満たしているか否かを判断する（ステップ６１）。例えば、敵オブジェクトＥＯが出現する条件として、所定時間毎に敵オブジェクトＥＯが出現してもいいし、敵オブジェクトＥＯが仮想世界から消滅したことに応じて新たな敵オブジェクトＥＯが出現してもいいし、ランダムのタイミングで敵オブジェクトＥＯを出現させてもよい。なお、敵オブジェクトＥＯが出現する条件は、例えば、メインメモリ３２に保持されている各種プログラム群Ｐａにより設定される。
【０３０４】
そして、情報処理部３１は、敵オブジェクトＥＯが出現する条件を満たしている場合、次のステップ６２に処理を進める。一方、情報処理部３１は、敵オブジェクトＥＯが出現する条件を満たしていない場合、次のステップ６３に処理を進める。
【０３０５】
ステップ６２において、情報処理部３１は、出現条件を満たした敵オブジェクトＥＯに対応する敵オブジェクトデータＤｆを生成、および初期設定を行って、次のステップ６３に処理を進める。例えば、情報処理部３１は、メインメモリ３２に保持されている各種プログラム群Ｐａを用いて、実体データＤｆ１、シルエットデータＤｆ２、開口形状データＤｆ３、および敵オブジェクトＥＯに対応するポリゴンのデータを取得する。そして、情報処理部３１は、当該各データを含んだ敵オブジェクトデータＤｆを生成する。また、例えば、情報処理部３１は、生成した敵オブジェクトデータＤｆに含まれる、敵オブジェクトＥＯに対応するポリゴンの仮想空間上における配置方向や配置位置を示すデータ、および敵オブジェクトＥＯの仮想空間上における移動速度や移動方向を示すデータの初期設定を行う。当該初期設定は周知の方法で行われる。
【０３０６】
次に、情報処理部３１は、仮想空間に配置されている敵オブジェクトＥＯを移動させ（ステップ６３）、次のステップ６４に処理を進める。一例として、情報処理部３１は、敵オブジェクトデータＤｅに含まれる敵オブジェクトＥＯの配置位置を示すデータを、当該敵オブジェクトデータＤｅに含まれる敵オブジェクトＥＯの仮想空間上における移動速度や移動方向を示すデータに基づいて更新する。この際、情報処理部３１は、敵オブジェクトデータＤｅに含まれる敵オブジェクトＥＯの配置方向を示すデータを、上記移動方向を示すデータに基づいて更新する。更新後、敵オブジェクトデータＤｅに含まれる敵オブジェクトＥＯの仮想空間上における移動速度や移動方向を示すデータを任意に更新してもよい。移動速度や移動方向を示すデータを更新することで、敵オブジェクトＥＯは、仮想空間上を、任意の速度、任意の方向に移動することができる。
【０３０７】
次に、情報処理部３１は、敵オブジェクトＥＯが仮想カメラ（第１の描画方法における仮想カメラまたは第２の描画方法における仮想世界描画用カメラ。）の位置から一定距離まで到達したか否かを判定する（ステップ６４）。例えば、情報処理部３１は、敵オブジェクトデータＤｅに含まれる敵オブジェクトＥＯの配置位置を示すデータと、仮想カメラデータＤｊに含まれる仮想カメラ（第１の描画方法における仮想カメラまたは第２の描画方法における仮想世界描画用カメラ）の配置位置を示すデータとを比較する。そして、情報処理部３１は、二つのデータが所定の条件（例えば、敵オブジェクトＥＯの配置位置と仮想カメラの配置位置との間の距離が所定の値よりも小さくなる）を満たした場合、敵オブジェクトＥＯが仮想カメラの位置から一定距離まで到達したと判定し、二つのデータが所定の条件を満たさない場合、敵オブジェクトＥＯは仮想カメラの位置まで到達していないと判定する。なお、以下、第１の描画方法及び第２の描画方法を区別せず、単に「仮想カメラ」と表記した場合、第１の描画方法における仮想カメラまたは第２の描画方法における仮想世界描画用カメラを指す。
【０３０８】
情報処理部３１は、敵オブジェクトＥＯが仮想カメラの位置まで到達したと判定した場合、次のステップ６５に処理を進める。一方、情報処理部３１は、敵オブジェクトＥＯが仮想カメラの位置まで到達していないと判定した場合、ステップ６６に処理を進める。
【０３０９】
ステップ６５において、情報処理部３１は、減点処理を行って、次のステップ６６に処理を進める。例えば、情報処理部３１は、得点データＤｈが示すゲームの得点を所定値だけ減点し、減点後の得点を用いて得点データＤｈを更新する。なお、上記減点処理においては、情報処理部３１は、上記仮想カメラの位置まで到達した敵オブジェクトＥＯを仮想空間から消滅させる処理（例えば、仮想カメラの位置まで到達した敵オブジェクトＥＯに関する敵オブジェクトデータＤｅを初期化し、当該敵オブジェクトＥＯが仮想空間に存在しない状態にする）を行ってもよい。また、当該減点処理における所定値は、任意の値でよく、例えば、メインメモリ３２に保持されている各種プログラム群Ｐａによって設定されてもよい。
【０３１０】
ステップ６６において、情報処理部３１は、敵オブジェクトＥＯが境界面３を通過する（敵オブジェクトＥＯが第１空間１と第２空間２との間を移動する）か否かを判定する。例えば、情報処理部３１は、敵オブジェクトデータＤｅに含まれる敵オブジェクトＥＯの配置位置を示すデータと、境界面データＤｄに含まれる境界面３の配置位置を示すデータとを比較する。そして、情報処理部３１は、二つのデータが所定の条件を満たした場合、敵オブジェクトＥＯが境界面３を通過すると判定し、二つのデータが所定の条件を満たさない場合、敵オブジェクトＥＯが境界面３を通過しないと判定する。なお、所定の条件とは、例えば、敵オブジェクトＥＯの仮想空間上の座標（配置位置）が、境界面３の球体表面の条件式を満たすことである。上述のとおり、境界面３の仮想空間上の配置位置を示すデータは、境界面３の仮想空間上の存在範囲を示し、例えば、球体表面（本実施形態における境界面３の形状）の条件式である。敵オブジェクトＥＯの配置位置が当該条件式を満たす場合、敵オブジェクトＥＯは、仮想空間において境界面３上に存在することになる。本実施形態では、例えばこのような場合に、敵オブジェクトＥＯが境界面３を通過すると判定する。
【０３１１】
情報処理部３１は、敵オブジェクトＥＯが境界面３を通過すると判定した場合、次のステップ６７に処理を進める。一方、情報処理部３１は、敵オブジェクトＥＯが境界面３を通過しないと判定した場合、当該サブルーチンによる処理を終了する。
【０３１２】
ステップ６７において、情報処理部３１は、境界面データＤｄに含まれる開口判定用データの更新処理を行って、当該サブルーチンによる処理を終了する。本処理は、敵オブジ
ェクトＥＯが境界面３を通過することによりできる境界面３上の開口情報を境界面データＤｄに登録するための処理である。例えば、第１の描画方法及び第２の描画方法において、情報処理部３１は、境界面データＤｄに含まれる開口判定用データの、敵オブジェクトＥＯが境界面３を通過する仮想空間上の位置に対応する位置を中心とした領域のアルファ値と開口形状データＤｆ３のアルファ値とを乗算する。開口形状データＤｆ３は、敵オブジェクトＥＯの配置位置を中心とした、アルファ値「０」が格納されたテクスチャデータである。そのため、当該乗算によって、敵オブジェクトＥＯの配置位置（敵オブジェクトＥＯが通過する境界面３上の座標）を中心として開口が生成される領域の開口判定用データのアルファ値は「０」となる。つまり、情報処理部３１は、境界面３上に既に開口が存在するか否かを判定することなく、境界面の状態（具体的には開口判定用データ）を更新することができる。なお、敵オブジェクトと境界面の衝突位置に既に開口が存在するか否かを判定するようにしてもよい。そして、開口が存在しない場合には、当該衝突位置に対応する実世界画像が破片となって飛び散るエフェクトを表示してもよい。
【０３１３】
また、上記開口判定用データの更新処理においては、情報処理部３１は、開口が生成されたことの演出処理（例えば、開口が生成された位置において壁が崩れる演出を行う）を行ってもよい。この場合、情報処理部３１は、敵オブジェクトＥＯが境界面３を通過する位置（開口を生成する範囲）が既に開口状態であったか否かの判定をする必要がある。情報処理部３１は、例えば、開口形状データＤｆ３のアルファ値を「０」から「１」に反転させたデータと上記乗算した開口判定用データのアルファ値とを乗算することにより、開口を生成する範囲が既に開口状態であったかどうかの判定をすることができる。すなわち、開口を生成する範囲全てが既に開口状態であった場合、開口判定用データのアルファ値は「０」であるから、当該乗算結果は「０」である。他方、開口を生成する範囲の一部でも開口状態ではない場合、開口判定用データのアルファ値は「０」でない部分が存在するため、当該乗算結果は「０」以外となる。
【０３１４】
なお、敵オブジェクトＥＯの開口形状データＤｆ３は、敵オブジェクトＥＯの形状に対応したアルファ値「０」を格納したテクスチャデータであるが、情報処理部３１は、所定のイベントにより当該テクスチャデータのアルファ値を「１」に変換してもよい。当該変更後上記処理が行われた場合、開口形状データＤｆ３のアルファ値が「１」であるため、開口判定用データのアルファ値は変更されない。この場合、敵オブジェクトＥＯは、開口を作らず、境界面３を通過する。すなわち、これによって、敵オブジェクトＥＯが、境界面３をすり抜けるかのような演出を行うことができる（図２２参照）。なお、所定のイベントとは、例えば、乱数や所定の間隔で定められた時間間隔であってもよいし、ゲーム上の所定条件が満たされたことであってもよい。そして、これらは、例えば、メインメモリ３２に保持されている各種プログラム群Ｐａによって設定されてもよい。
【０３１５】
図２９に戻り、上記ステップ５３における敵オブジェクト関連処理の後、情報処理部３１は、弾オブジェクト関連処理を行い（ステップ５４）、次のステップ５５に処理を進める。以下、図３１を参照して、弾オブジェクト関連処理について説明する。
【０３１６】
図３１において、情報処理部３１は、設定されている移動速度ベクトルに応じて、仮想空間内で弾オブジェクトＢＯを移動させ（ステップ７１）、次のステップ７２に処理を進める。例えば、情報処理部３１は、弾オブジェクトデータＤｇに含まれる移動速度ベクトルを示すデータに基づいて、弾オブジェクトＢＯの配置方向や配置位置を示すデータを更新する。この際、情報処理部３１は、周知の方法で、当該移動速度ベクトルを示すデータを更新してもよい。また、例えば、情報処理部３１は、弾オブジェクトＢＯの種類に応じて、当該移動速度ベクトルを示すデータの更新方法を変えてもよい。例えば、弾オブジェクトＢＯがボールである場合、情報処理部３１は、仮想空間上鉛直方向における重力の影響を考慮して、当該移動速度ベクトルを示すデータを更新してもよい。
【０３１７】
次に、情報処理部３１は、ゲーム装置１０のユーザによって発射操作が行われたか否かを判断する（ステップ７２）。例えば、情報処理部３１は、操作子データＤａ１を参照して、ユーザが所定の発射操作（例えば、ボタン１４Ｂ（Ａボタン）の押下）を行ったか否かを判断する。そして、情報処理部３１は、発射操作が行われた場合、次のステップ７３に処理を進める。一方、情報処理部３１は、発射操作が行われていない場合、次のステップ７４に処理を進める。
【０３１８】
ステップ７３において、情報処理部３１は、発射操作に応じて、仮想空間における仮想カメラの位置に弾オブジェクトＢＯを配置し、当該弾オブジェクトＢＯに対する移動速度ベクトルを設定して、次のステップ７４に処理を進める。例えば、情報処理部３１は、当該発射操作に対応する弾オブジェクトデータＤｇを生成する。そして、例えば、情報処理部３１は、仮想カメラデータＤｊに含まれる仮想カメラの配置位置や配置方向を示すデータを、生成した弾オブジェクトデータＤｇに含まれる弾オブジェクトＢＯの配置位置や配置方向を示すデータに格納する。また、例えば、情報処理部３１は、生成した弾オブジェクトデータＤｇに含まれる移動速度ベクトルを示すデータに任意の値を格納する。当該移動速度ベクトルを示すデータに格納する値は、メインメモリ３２に保持されている各種プログラム群Ｐａによって設定されてもよい。
【０３１９】
ステップ７４において、情報処理部３１は、敵オブジェクトＥＯと弾オブジェクトＢＯとが仮想空間内で接触したか否かを判断する。例えば、情報処理部３１は、敵オブジェクトデータＤｆに含まれる敵オブジェクトＥＯの配置位置を示すデータと、弾オブジェクトデータＤｇに含まれる弾オブジェクトＢＯの配置位置を示すデータとを比較して、敵オブジェクトＥＯと弾オブジェクトＢＯとが仮想空間内で接触したか否かを判断する。例えば、情報処理部３１は、敵オブジェクトＥＯの配置位置を示すデータと弾オブジェクトＢＯの配置位置を示すデータとが所定の条件を満たした場合、敵オブジェクトＥＯと弾オブジェクトＢＯとが接触したと判定する。また、そうではない場合、情報処理部３１は、敵オブジェクトＥＯと弾オブジェクトＢＯとが接触していないと判定する。なお、所定の条件とは、例えば、敵オブジェクトＥＯの配置位置と弾オブジェクトＢＯの配置位置との間の距離が所定の値よりも小さくなることである。当該所定の値は、例えば、敵オブジェクトＥＯの大きさに基づいた値であってもよい。
【０３２０】
そして、情報処理部３１は、敵オブジェクトＥＯと弾オブジェクトＢＯとが接触したと判定した場合、次のステップ７５に処理を進める。一方、情報処理部３１は、敵オブジェクトＥＯと弾オブジェクトＢＯとが接触していないと判定した場合、次のステップ７６に処理を進める。
【０３２１】
ステップ７５において、情報処理部３１は、加点処理を行って、次のステップ７６に処理を進める。例えば、上記加点処理においては、情報処理部３１は、得点データＤｈが示すゲームの得点を所定数だけ加点し、加点後の得点を用いて得点データＤｈを更新する。また、上記加点処理においては、情報処理部３１は、上記ステップ８４で接触したと判定された両者（すなわち、敵オブジェクトＥＯと弾オブジェクトＢＯ）を仮想空間から消滅させる処理（例えば、弾オブジェクトＢＯと接触した敵オブジェクトＥＯおよび敵オブジェクトＥＯに接触した弾オブジェクトＢＯに関するそれぞれの敵オブジェクトデータＤｅおよび弾オブジェクトデータＤｇを初期化し、当該敵オブジェクトＥＯおよび弾オブジェクトＢＯが仮想空間に存在しない状態にする）を行う。なお、当該加点処理における所定値は、任意の値でよく、例えば、メインメモリ３２に保持されている各種プログラム群Ｐａによって設定されてもよい。
【０３２２】
ステップ７６において、情報処理部３１は、弾オブジェクトＢＯが境界面３上の非開口
領域に接触したか否かを判断する。例えば、情報処理部３１は、弾オブジェクトデータＤｇに含まれる弾オブジェクトＢＯの配置位置を示すデータと、開口判定用データとを用いて、弾オブジェクトＢＯが境界面３上の非開口領域に接触したか否かを判定する。
【０３２３】
例えば、情報処理部３１は、弾オブジェクトデータＤｇに含まれる弾オブジェクトＢＯの配置位置を示すデータが、上記敵オブジェクトＢＯの処理と同様に、境界面３の球体表面の条件式を満たすか否かを判定する。そして、情報処理部３１は、弾オブジェクトＢＯの配置位置を示すデータが、当該球体表面の条件式を満たさない場合、弾オブジェクトＢＯが境界面３上に接触していないと判定する。他方、弾オブジェクトＢＯの配置位置を示すデータが、境界面３の球体表面の条件式を満たす場合、弾オブジェクトＢＯは、仮想空間上、境界面３上に存在することになる。この時、情報処理部３１は、例えば、当該弾オブジェクトＢＯが存在する境界面３上の位置に対応する位置を中心とした所定の領域について、開口判定用データのアルファ値を取得する。この所定の領域は、弾オブジェクトＢＯと境界面３との接触点を中心とした所定領域である。そして、当該所定領域に対応する開口判定用データのアルファ値が非開口領域に対応するアルファ値「１」である場合、弾オブジェクトＢＯが境界面３上の非開口領域に接触したと判定する。
【０３２４】
そして、情報処理部３１は、弾オブジェクトＢＯが境界面３上の非開口領域に接触したと判定した場合、次のステップ７７に処理を進める。一方、情報処理部３１は、弾オブジェクトＢＯが境界面３上の非開口領域に接触していないと判定した場合、次のステップ７８に処理を進める。
【０３２５】
ステップ７７において、情報処理部３１は、開口判定用データの更新処理を行って、次のステップ７８に処理を進める。例えば、上記更新処理においては、情報処理部３１は、境界面３の非開口領域と接触したと判定した弾オブジェクトＢＯの配置位置に対応する境界面３上の位置を中心とした所定領域の開口判定用データのアルファ値を非開口領域に対応するアルファ値「１」に更新する。また、上記更新処理においては、情報処理部３１は、上記ステップ７６で接触したと判定された弾オブジェクトＢＯを仮想空間から消滅させる処理（例えば、境界面３上の非開口領域と接触した弾オブジェクトＢＯに関する弾オブジェクトデータＤｇを初期化し、当該弾オブジェクトＢＯが仮想空間に存在しない状態にする）を行う。なお、当該更新処理における所定領域は、任意の領域でよく、例えば、メインメモリ３２に保持されている各種プログラム群Ｐａによって設定されてもよい。
【０３２６】
ステップ７８において、情報処理部３１は、弾オブジェクトＢＯが仮想空間における所定の位置まで到達したか否かを判断する。所定の位置は、例えば、仮想空間上における奥壁が存在する位置であってもよい。この場合、例えば、情報処理部３１は、弾オブジェクトデータＤｇに含まれる弾オブジェクトＢＯの配置位置を示すデータがる奥壁に衝突したか否かを判定する。
【０３２７】
そして、情報処理部３１は、弾オブジェクトＢＯが所定の位置まで到達した場合、次のステップ７７に処理を進める。一方、情報処理部３１は、弾オブジェクトＢＯが所定の位置まで到達していない場合、当該サブルーチンによる処理を終了する。
【０３２８】
ステップ７７において、情報処理部３１は、上記ステップ７６で所定の位置に到達したと判定された弾オブジェクトＢＯを仮想空間から消滅させる処理を行い、当該サブルーチンによる処理を終了する。例えば、情報処理部３１は、上記ステップ７６で所定の位置に到達したと判定された弾オブジェクトＢＯを仮想空間から消滅させる処理（例えば、当該弾オブジェクトＢＯに関する弾オブジェクトデータＤｇを初期化し、当該弾オブジェクトＢＯが仮想空間に存在しない状態にする）を行う。
【０３２９】
図２９に戻り、上記ステップ５４における弾オブジェクト関連処理の後、情報処理部３１は、ゲーム装置１０の動きを算出して（ステップ５５）、次のステップ５６に処理を進める。一例として、情報処理部３１は、角速度データＤａ２が示す角速度を用いて、ゲーム装置１０の動き（例えば、ゲーム装置１０に設けられた実カメラにおける撮像方向の変化）を算出し、当該動きを用いて動きデータＤｉを更新する。具体的には、ユーザが実空間においてゲーム装置１０に設けられた実カメラの撮像方向を変化させた場合、ゲーム装置１０全体の向きも変化するため、ゲーム装置１０に当該変化に応じた角速度が生じる。そして、ゲーム装置１０に生じた角速度を角速度センサ４０が検出することによって、当該角速度を示すデータが角速度データＤａ２に格納される。したがって、情報処理部３１は、角速度データＤａ２が示す角速度を用いることによって、ゲーム装置１０に設けられた実カメラの撮像方向が変化した方向や変化した量（角度）をゲーム装置１０の動きとして算出することが可能となる。
【０３３０】
次に、情報処理部３１は、ゲーム装置１０の動きに応じて仮想空間における仮想カメラの方向を変更し（ステップ５６）、次のステップ５７に処理を進める。例えば、情報処理部３１は、動きデータＤｉを用いて、実空間におけるゲーム装置１０の実カメラの撮像方向変化と同じ変化を、仮想空間における仮想カメラに与え、変化後の仮想カメラの位置や方向を用いて仮想カメラデータＤｊを更新する。一例として、実空間におけるゲーム装置１０の実カメラの撮像方向が左へＡ°変化した場合、仮想空間における仮想カメラの方向も左へＡ°変化させる。これによって、実空間内に配置されているように表示されている敵オブジェクトＥＯや弾オブジェクトＢＯは、実空間内におけるゲーム装置１０の方向や位置が変わっても実空間内における同じ位置に配置されているように表示される。
【０３３１】
次に、情報処理部３１は、表示画面の更新処理を行い（ステップ５７）、次のステップ５８に処理を進める。以下、図３２Ａ及び図３２Ｂを参照して、表示画面の更新処理について説明する。図３２Ａは、第１の描画方法における表示画面の更新処理である。また、図３２Ｂは、第２の描画方法における表示画面の更新処理である。
【０３３２】
まず、第１の描画方法における表示画面の更新処理について説明する。
【０３３３】
図３２Ａにおいて、情報処理部３１は、上記ステップ５２で取得した実カメラ画像を仮想カメラの撮影範囲におけるスクリーンオブジェクト（境界面３）に貼りつける処理を行い（ステップ８１）、次のステップ８２に処理を進める。例えば、情報処理部３１は、上記ステップ５２で更新した実カメラ画像データＤｂを用いて、実世界画像データＤｃに含まれる実カメラ画像のテクスチャデータを更新する。そして、情報処理部３１は、仮想カメラデータＤｊに含まれる仮想カメラの仮想空間上の配置方向及び配置位置を示すデータを用いて、仮想カメラの視野方向と境界面３の重なる点を求める。情報処理部３１は、求めた点を中心として実世界画像データＤｃに含まれる上記実カメラ画像のテクスチャデータを貼り付け、境界面データＤｄを更新する。この時、情報処理部３１は、テクスチャデータを貼りつける領域に設定されている開口判定用データを、テクスチャデータの各画素に対応する領域分取得する。そして、情報処理部３１は、取得した開口判定用データに設定されているアルファ値（「０」または「０．２」）を上記テクスチャデータに適用する。具体的には、情報処理部３１は、貼りつける実カメラ画像のテクスチャデータの各画素の色情報と、開口判定用データの対応する位置におけるアルファ値とを掛け算する。この処理により、上述のとおり、実世界画像に開口が表現される。なお、開口判定用データに格納されるアルファ値「０．２」（非開口領域）は、上記掛け算の際は、上述のマテリアルとしてのアルファ値「１」として取り扱われる。また、本実施形態では、境界面３に貼り付けられる実カメラ画像のテクスチャデータは、仮想カメラＣ０の視野範囲よりも領域の広い画像データである。
【０３３４】
次に、情報処理部３１は、仮想空間をレンダリングする処理により表示画像を生成し（ステップ８２）、当該サブルーチンによる処理を終了する。例えば、情報処理部３１は、境界面３（スクリーンオブジェクト）、敵オブジェクトＥＯ、弾オブジェクトＥＯ、及び奥壁ＢＷが配置されている仮想空間をレンダリングした画像を生成し、当該画像を用いてレンダリング画像データＤｋに含まれる仮想空間のレンダリング画像データを更新する。また、情報処理部３１は、仮想空間のレンダリング画像データを用いて表示画像データＤｌを更新する。以下、図３３及び図３４を用いて、当該レンダリング処理の一例について説明する。
【０３３５】
図３３は、仮想空間上における、敵オブジェクトＥＯ、弾オブジェクトＢＯ、境界面３（開口判定用データが設定されたスクリーンオブジェクト）及び奥壁ＢＷの配置例を示す。また、図３４は、図３３における仮想カメラＣ０が原点から（Ｘ，Ｙ，Ｚ）＝（０，０，１）方向に向いているとした場合における各オブジェクトの位置関係を示す。このように、敵オブジェクトＥＯ、弾オブジェクトＢＯ、境界面３及び奥壁ＢＷが、それぞれ敵オブジェクトデータＤｆ、弾オブジェクトデータＤｇ、境界面データＤｄ及び奥壁画像データＤｅに含まれる配置位置を示すデータに応じて配置されている。また、仮想空間には、仮想空間をレンダリングするための仮想カメラＣ０が、仮想カメラデータＤｊに含まれる配置方向及び配置位置を示すデータに応じて配置されている。
【０３３６】
情報処理部３１は、図３３（または図３４）に示されるとおり境界面３を含み、仮想空間に配置された敵オブジェクトＥＯ、弾オブジェクトＢＯ、奥壁ＢＷを仮想カメラＣ０により透視投影でレンダリングする。このとき、情報処理部３１は、描画の優先度情報を考慮する。通常の透視投影では、境界面３により、第２空間２に存在するオブジェクトは描画されない。本実施形態のゲームでは、境界面３（実世界画像）に開口部を設けて、その開口部から第２空間２の一部が見えるようにした。また、第２空間２にあるオブジェクトの影を実世界画像に合成して描画するようにした。こうすることによって、実世界画像の向こうにさらに仮想世界が存在しているかのような感覚をユーザに与えることができる。具体的には、情報処理部３１は、描画の優先度情報を用いて、当該レンダリング処理を行う。なお、本実施形態における画像処理プログラムは、当該描画の優先度の一例として、アルファ値を用いる。
【０３３７】
上記透視投影において、第２空間２に存在するオブジェクト（本実施形態では敵オブジェクトＥＯ又は奥壁ＢＷ）は、境界面３の背後に存在する。ここで、境界面３は、上述のステップ８１により実カメラ画像のテクスチャデータが仮想カメラＣ０の視野方向（視野範囲）に貼られたスクリーンオブジェクトである。また、上記のとおり、実カメラ画像のテクスチャデータには、各位置に対応する開口判定用データが適用されている。したがって、仮想カメラＣ０の視野範囲には、開口判定用データが適用された実世界画像が存在する。
【０３３８】
なお、本実施形態では、例えば、情報処理部３１は、開口判定用データにアルファ値「０」が格納された領域（開口領域）については、第２空間２のうち開口領域から見える領域に存在する仮想オブジェクトや奥壁の画像を描画（レンダリング）する。また、情報処理部３１は、開口判定用データに非開口領域に対応するアルファ値「０．２」が格納された領域（非開口領域としてアルファ値「１」が格納された領域として取り扱われる領域）については、第２空間２に存在する仮想オブジェクトや奥壁は描画されない。すなわち、表示される画像において当該領域に対応する部分には、上述のステップ８１により貼り付けられた実世界画像が描画されることになる。
【０３３９】
したがって、仮想カメラＣ０から見て開口判定用データに「０」が格納された領域については、実体データＤｆ１、または、奥壁画像データＤｅに含まれる画像データが描画さ
れるようレンダリングされる。そして、上側ＬＣＤ２２上において当該領域に対応する部分には、仮想オブジェクト・奥壁の画像が表示されることになる。
【０３４０】
また、仮想カメラＣ０から見て開口判定用データに非開口領域を示すアルファ値「０．２」が格納された領域（非開口領域としてアルファ値「１」が格納された領域として取り扱われる領域）については、第２空間２に存在する仮想オブジェクトや奥壁は描画されない。すなわち、上側ＬＣＤ２２に表示される画像において当該領域に対応する部分には、実世界画像が描画されることになる。ただし、前述の第２空間２に存在する敵オブジェクトＥＯの影ＥＳ（シルエットモデル）については、境界面３との間のデプス判定を無効に設定されており、境界面３のアルファ値「０．２」よりもシルエットモデルのアルファ値「１」の方が大きいため、非開口領域を示すアルファ値「１」が格納されている領域（開口判定用データにアルファ値「０．２」が格納された領域）において描画される。これにより、実世界画像上に影ＥＳの画像が描画される。
【０３４１】
また、敵オブジェクトＥＯの影ＥＳ（シルエットモデル）は実体モデルに内包されるようなサイズでかつそのように配置され、かつ、敵オブジェクトＥＯの実体モデルと影ＥＳのシルエットモデルはデプス判定有効に設定される、敵オブジェクトＥＯが第１空間１に存在する場合、シルエットモデルは実体モデルに隠されるため描画されない。
【０３４２】
なお、本実施形態における境界面３の形状は図２０Ａに示すように球体表面の中央部であるため、仮想カメラＣ０の視野方向によっては、開口判定用データが存在しない。この場合、疑似的にアルファ値を「０．２」を格納した開口判定用データが存在するものとして、上記処理を行う。つまり、開口判定用データが存在しない領域は、非開口領域を示すアルファ値「１」が格納されている領域として取り扱われる。
【０３４３】
また、本実施形態における敵オブジェクトＥＯに対応する敵オブジェクトデータＤｆに含まれるシルエットデータＤｆ２は、複数の平面ポリゴンがその法線方向を敵オブジェクトから見て各放射方向となるように設定されており、各平面ポリゴンには、敵オブジェクトをその方向から見たシルエット画像のテクスチャが適用される。したがって、本実施形態における画像処理プログラムでは、仮想空間画像における敵オブジェクトＥＯの影は、第２空間２における敵オブジェクトの向きが反映された画像として表現される。
【０３４４】
また、情報処理部３１は、照準カーソル画像データＤｍに含まれる画像データを仮想カメラＣ０の視野の中心（レンダリングする画像の中心）に優先して描画されるように上記レンダリング処理を行う。
【０３４５】
以上の処理によって、情報処理部３１は、仮想空間に配置された敵オブジェクトＥＯ、弾オブジェクトＢＯ、及び奥壁ＢＷを透視投影でレンダリングし、仮想カメラＣ０から見た仮想世界画像（照準カーソルＡＬを含んだ画像）を生成し、仮想空間のレンダリング画像データを更新する（ステップ８２）。そして、更新した仮想空間のレンダリング画像データを用いて、表示画像データＤｌを更新する。
【０３４６】
次に、第２の描画方法における表示画面の更新処理について説明する。
【０３４７】
図３２Ｂにおいて、情報処理部３１は、上記ステップ５２で取得した実カメラ画像をレンダリングする処理を行い（ステップ８３）、次のステップ８４に処理を進める。例えば、情報処理部３１は、上記ステップ５２で更新した実カメラ画像データＤｂを用いて、実世界画像データＤｃに含まれる実カメラ画像のテクスチャデータを更新する。そして、情報処理部３１は、更新した実世界画像データＤｃを用いて、実カメラ画像をレンダリングした画像を生成し、生成した画像を用いて、レンダリング画像データＤｋに含まれる実カ
メラ画像のレンダリング画像データを更新する。以下、図３５及び図３６を用いて実カメラ画像をレンダリングする処理例について説明する。
【０３４８】
本実施形態において情報処理部３１は、図３５に示すように、ゲーム装置１０の実カメラから得られた実カメラ画像をテクスチャに設定し、当該テクスチャがマッピングされた平面ポリゴンを生成する。そして、情報処理部３１は、実世界画像描画用カメラＣ１から、平行投影で上記平面ポリゴンをレンダリングした画像を実世界画像として生成する。ここで、上側ＬＣＤ２２の表示画面全面に、ゲーム装置１０の実カメラから得られた実カメラ画像全面が表示される場合の実世界画像生成方法の一例について説明する。なお、本実施形態では上側ＬＣＤ２２の表示画面全体に本実施形態の合成画像（実世界画像と仮想世界画像との合成画像）が表示されるようにしたが、上側ＬＣＤ２２の表示画面の一部領域に合成画像が表示されるようにしてもよい。この場合には、この合成画像全体に実カメラ画像全体が表示されるようにする。
【０３４９】
まず、上記平面ポリゴンを配置する仮想空間の座標の１単位に対して、ｉピクセルのテクスチャをマッピングする平面ポリゴンを考える。この場合、上記座標の１単位×１単位の領域に対して、ｉピクセル×ｉピクセルのテクスチャがマッピングされることになる。ここで、上側ＬＣＤ２２の表示画面が横Ｗｄｏｔ×縦Ｈｄｏｔであって、Ｗｄｏｔ×Ｈｄｏｔの表示画面全面と上記実カメラ画像のテクスチャ全面とが対応しているとする。つまり、カメラ画像のテクスチャデータのサイズが横Ｗピクセル×縦Ｈピクセルであるとする。
【０３５０】
この場合、当該表示画面の１ｄｏｔ×１ｄｏｔと上記実カメラ画像のテクスチャ１ピクセル×１ピクセルとが対応するように平面ポリゴンを配置することを考えればよく、図３６に示すように上記座標を定めればよい。すなわち、上記カメラ画像のテクスチャが主面全面にマッピングされた平面ポリゴンの幅がＷ／ｉ座標分となり、平面ポリゴンの縦がＨ／ｉ座標分となるように、当該平面ポリゴンを配置する仮想空間のＸＹ座標を設定する。そして、上記テクスチャがマッピングされた平面ポリゴンの主面中心を仮想空間のＸＹ座標の原点に一致させ、当該平面ポリゴンの横方向がＸ軸方向（右方向がＸ軸正方向）となり、当該平面ポリゴンの縦方向がＹ軸方向（上方向がＹ軸正方向）となるように当該平面ポリゴンを配置する。この場合、上記テクスチャがマッピングされた平面ポリゴンの主面における右上角位置が（Ｘ，Ｙ）＝（Ｗ／２ｉ，Ｈ／２ｉ）に配置され、右下角位置が（Ｘ，Ｙ）＝（Ｗ／２ｉ，−Ｈ／２ｉ）に配置され、左上角位置が（Ｘ，Ｙ）＝（−Ｗ／２ｉ，Ｈ／２ｉ）に配置され、左下角位置が（Ｘ，Ｙ）＝（−Ｗ／２ｉ，−Ｈ／２ｉ）に配置されることになる。
【０３５１】
このように配置すれば、上記座標の１単位×１単位の領域が、テクスチャのｉピクセル×ｉピクセルの領域に対応するため、平面ポリゴンの横（Ｗ／ｉ）×縦（Ｈ／ｉ）の領域は、テクスチャのＷピクセル×Ｈピクセルのサイズに対応する。
【０３５２】
以上のとおり、表示画面上の１ｄｏｔと実カメラ画像（テクスチャ）の１ピクセルとが対応するように、仮想空間の座標に配置された平面ポリゴンを平行投影でレンダリングすることによって、ゲーム装置１０の実カメラから得られた実カメラ画像に対応する実世界画像が生成される。
【０３５３】
なお、上述のとおり、実世界画像データＤｃに含まれる実カメラ画像のテクスチャデータは、実カメラ画像データＤｂによって更新されるが、実カメラ画像データＤｂの画像の横Ａ×縦Ｂのサイズと当該テクスチャデータの横Ｗ×縦Ｈのサイズが一致しない場合が存在する。この場合、情報処理部３１は、任意の方法で、当該テクスチャデータの更新を行う。例えば、情報処理部３１は、Ｗ×Ｈサイズの画像（テクスチャデータの画像）に合う
ように、実カメラ画像データＤｂの画像の横Ａ及び縦Ｂのサイズを拡大及び縮小した画像を用いて、テクスチャデータを更新してもよい。また、例えば、実カメラ画像データＤｂの画像の横Ａ及び縦Ｂのサイズが、テクスチャデータの横Ｗ及び縦Ｈのサイズよりも大きいとする。この場合、例えば、情報処理部３１は、実カメラ画像データＤｂの画像の所定位置より、Ｗ×Ｈサイズの画像（テクスチャデータの画像）を切り出し、当該テクスチャデータを更新してもよい。また、例えば、実カメラ画像データＤｂの画像の横Ａ及び縦Ｂのサイズの少なくともどちらか一方が、テクスチャデータの横Ｗ及び縦Ｈのサイズよりも小さいとする。この場合、例えば、情報処理部３１は、実カメラ画像データＤｂの画像をテクスチャデータのサイズよりも大きくなるように拡大した後、拡大後の画像の所定の位置より、Ｗ×Ｈサイズの画像（テクスチャデータの画像）を切り出し、当該テクスチャデータを更新してもよい。
【０３５４】
また、本実施形態において、上側ＬＣＤ２２の表示画面の横×縦のサイズと、実カメラ画像のテクスチャデータの横×縦のサイズとが一致しているが、これらは一致していなくともよい。この場合、上側ＬＣＤ２２の表示画面と実世界画像のサイズが一致しないことになるが、情報処理部３１は、上側ＬＣＤ２２の表示画面に実世界画像を表示する際、周知の方法で、実世界画像のサイズを変更すればよい。
【０３５５】
次に、情報処理部３１は、図３２Ｂに示されるとおり、仮想空間をレンダリングする処理を行い（ステップ８４）、次のステップ８５に処理を進める。例えば、情報処理部３１は、開口判定用データを考慮して、敵オブジェクトＥＯ、弾オブジェクトＢＯ、及び奥壁ＢＷが配置されている仮想空間をレンダリングした画像を生成し、当該画像を用いて、レンダリング画像データＤｋに含まれる仮想空間のレンダリング画像データを更新する。以下、図３７〜図３９を用いて、当該レンダリング処理の一例について説明する。
【０３５６】
図３７は、仮想空間上における、敵オブジェクトＥＯ、弾オブジェクトＢＯ、境界面３（開口判定用データ）及び奥壁ＢＷの配置例を示す。また、図３８は、図３７における仮想カメラ（仮想世界描画用カメラ）が原点から（Ｘ，Ｙ，Ｚ）＝（０，０，−１）方向に向いているとした場合における各オブジェクトの位置関係を示す。このように、敵オブジェクトＥＯ、弾オブジェクトＢＯ、境界面３及び奥壁ＢＷが、それぞれ敵オブジェクトデータＤｆ、弾オブジェクトデータＤｇ、境界面データＤｄ及び奥壁画像データＤｅに含まれる配置位置を示すデータに応じて配置されているとする。また、仮想空間には、仮想空間をレンダリングするための仮想世界描画用カメラＣ２が、仮想カメラデータＤｊに含まれる配置方向及び配置位置を示すデータに応じて配置されている。
【０３５７】
ここでまず、境界面３（開口判定用データ）の位置について説明する。上述したとおり、本実施形態における画像処理プログラムでは、開口判定用データと実世界画像（実カメラ画像のレンダリング画像データ）の色情報とが掛け算されることで、開口が付与された実画像が生成される。したがって、例えば、実カメラ画像のレンダリング画像データ（図３５及び図３６の平面ポリゴンの位置関係を参照）の横１座標×縦１座標と、仮想空間における境界面３（具体的には、開口判定用データ）の横１座標×縦１座標とが対応しているとする。つまり、図３７または図３８に示す仮想世界描画用カメラＣ２から境界面３を透視投影により見たときに、仮想世界描画用カメラＣ２による境界面３の視野範囲が実カメラ画像のレンダリング画像データの横×縦のサイズに対応しているものとする。
【０３５８】
図３９は、仮想世界描画用カメラＣ２を境界面３との位置関係の例を示す。原点から（Ｘ，Ｙ，Ｚ）＝（０，０，−１）方向に向いた仮想世界描画用カメラＣ２により境界面３を透視投影することを考える。この場合、図３９に示すＺ＝Ｚ０の位置に境界面３が配置されているとすれば、開口判定用データの横１座標×縦１座標と実カメラ画像のレンダリング画像データの横１座標×縦１座標とが対応することになる。ここで、Ｚ＝Ｚ０の位置
は、境界面３を透視投影する仮想世界描画用カメラＣ２のＹ軸方向の画角をθとした場合に、仮想世界描画用カメラＣ２の注視点からＹ軸正方向への表示範囲の長さＨ／２ｉとなる位置である。なお、上述したように、Ｈは上側ＬＣＤ２２の表示画面における縦のドット数であり、ｉは仮想空間の座標の１単位に対してマッピングするテクスチャのピクセル数である。そして、仮想世界描画用カメラＣ２の中心からＺ＝Ｚ０の位置までの距離をＤ（Ｄ＞０）とすると、以下の数１が成立する。
【０３５９】
（数１）
ｔａｎθ＝（Ｈ／２ｉ）／Ｄ＝Ｈ／２Ｄｉ
したがって、境界面３を考慮して、後述する敵オブジェクトＥＯ等を透視投影して仮想世界画像を生成する場合、当該仮想世界画像を生成する仮想世界描画用カメラＣ２は「Ｙ軸方向の画角θ＝ｔａｎ−１（Ｈ／２Ｄｉ）、アスペクト比＝Ｗ：Ｈ」と設定される。そして、境界面３（具体的には境界面３の状態を示す開口判定用データ）は、仮想世界描画用カメラＣ２からのビュー座標Ｚ＝Ｚ０に配置される。これにより、仮想世界描画用カメラＣ２による境界面３の視野範囲が大きさＷ×Ｈとなる。
【０３６０】
次に、仮想空間のレンダリング処理について説明する。以上の位置に境界面３が存在するものとして、情報処理部３１は、仮想空間をレンダリングした画像を生成する。情報処理部３１は、後に実世界画像を合成することを考慮して、当該レンダリング処理を行う。以下、当該レンダリング処理の一例を具体的に説明する。
【０３６１】
情報処理部３１は、図３７（又は図３８）に示されるとおり境界面３が存在しているものとして、仮想空間に配置された敵オブジェクトＥＯ、弾オブジェクトＢＯ、奥壁ＢＷを仮想世界描画用カメラＣ２により透視投影でレンダリングする。このとき、情報処理部３１は、描画の優先度情報を考慮する。通常の透視投影では、仮想空間上において仮想カメラから見て手前にあるオブジェクトが優先的に描画されるようにレンダリングされる。したがって、通常の透視投影では、境界面３が存在するため、第２空間２にあるオブジェクトは描画されないことになる。本実施形態のゲームでは、境界面３（実世界画像）に開口部を設けて、その開口部から第２空間２の一部が見えるようにした。また、第２空間２にあるオブジェクトの影を実世界画像に合成して描画するようにした。こうすることによって、実世界画像の向こうにさらに仮想世界が存在しているかのような感覚をユーザに与えることができる。具体的には、情報処理部３１は、描画の優先度情報を用いて、当該レンダリング処理を行う。なお、本実施形態における画像処理プログラムは、当該描画の優先度情報の一例として、アルファ値を用いる。
【０３６２】
上記透視投影において、第２空間２に存在するオブジェクト（本実施形態では敵オブジェクトＥＯ又は奥壁ＢＷ）は、境界面３の背後に存在する。ここで、境界面３には、開口判定用データが設定されている。開口判定用データは、上述のとおり、アルファ値を格納した矩形のテクスチャデータであり、テクスチャデータ上の各座標は、仮想空間の境界面の各位置に対応する。したがって、情報処理部３１は、仮想世界描画用カメラＣ２による第２空間２に存在するオブジェクトの視野範囲に対応する開口判定用データの領域を特定することができる。
【０３６３】
なお、本実施形態では、例えば、情報処理部３１は、開口判定用データにアルファ値「０」が格納された領域（開口領域）については、第２空間２のうち開口領域から見える領域に存在する仮想オブジェクトや奥壁の画像を描画（レンダリング）する。また、情報処理部３１は、開口判定用データに非開口領域に対応するアルファ値「０．２」が格納された領域（非開口領域としてアルファ値「１」が格納された領域として取り扱われる領域）については、第２空間２に存在する仮想オブジェクトや奥壁は描画されない。すなわち、表示される画像において当該領域に対応する部分には、後述のステップ８５の合成処理に
より、実世界画像が描画されることになる。
【０３６４】
したがって、仮想世界描画用カメラＣ２から見て開口判定用データに「０」が格納された領域については、実体データＤｆ１、または、奥壁画像データＤｅに含まれる画像データが描画されるようレンダリングされる。そして、後述のステップＳ８５の合成処理により、上側ＬＣＤ２２上において当該領域に対応する部分には、仮想オブジェクト・奥壁の画像が表示されることになる。
【０３６５】
また、仮想世界描画用カメラＣ２から見て開口判定用データに非開口領域を示すアルファ値「０．２」が格納された領域（非開口領域としてアルファ値「１」が格納された領域として取り扱われる領域）については、第２空間２に存在する仮想オブジェクトや奥壁は描画されない。すなわち、上側ＬＣＤ２２に表示される画像において当該領域に対応する部分には、後述のステップ８５の合成処理により、実世界画像が描画されることになる。ただし、前述の敵オブジェクトＥＯの影ＥＳ（シルエットモデル）については、境界面３との間のデプス判定を無効に設定されており、境界面３のアルファ値「０．２」よりもシルエットモデルのアルファ値「１」の方が大きいため、非開口領域を示すアルファ値「１」が格納されている領域において描画される。これにより、実世界画像上に敵オブジェクトＥＯの影ＥＳが描画される。また、敵オブジェクトＥＯのシルエットモデルは実体モデルに内包されるようなサイズでかつそのように配置され、かつ、敵オブジェクトＥＯの実体モデルとシルエットモデルはデプス判定有効に設定される、敵オブジェクトＥＯが第１空間１に存在する場合、シルエットモデルは実体モデルに隠されるため描画されない。
【０３６６】
なお、本実施形態における境界面３の形状は図２０Ａに示すように球体表面の中央部であるため、仮想世界描画用カメラＣ２の視野方向によっては、開口判定用データが存在しない。この場合、疑似的にアルファ値を「０．２」を格納した開口判定用データが存在するものとして、上記処理を行う。つまり、開口判定用データが存在しない領域は、非開口領域を示すアルファ値「１」が格納されている領域として取り扱われる。
【０３６７】
なお、本実施形態における敵オブジェクトＥＯに対応する敵オブジェクトデータＤｆに含まれるシルエットデータＤｆ２は、複数の平面ポリゴンがその法線方向を敵オブジェクトから見て各放射方向となるように設定されており、各平面ポリゴンには、敵オブジェクトをその方向から見たシルエット画像のテクスチャが適用される。したがって、本実施形態における画像処理プログラムでは、仮想空間画像における敵オブジェクトＥＯの影ＥＳは、第２空間２における敵オブジェクトの向きが反映された画像として表現される。
【０３６８】
以上の処理によって、情報処理部３１は、仮想空間に配置された敵オブジェクトＥＯ、弾オブジェクトＢＯ、及び奥壁ＢＷを透視投影でレンダリングし、仮想世界描画用カメラＣ２から見た仮想世界画像を生成し、仮想空間のレンダリング画像データを更新する（図３２Ｂのステップ８４）。なお、当該処理によって生成される画像は、図４０に示される表示画像から実世界画像を除いた画像である。
【０３６９】
次に、情報処理部３１は、実世界画像と仮想空間画像とを合成した表示画像を生成し（ステップ８５）、当該サブルーチンによる処理を終了する。
【０３７０】
例えば、情報処理部３１は、実カメラ画像のレンダリング画像データと仮想空間のレンダリング画像とを、仮想空間のレンダリング画像を優先して、合成することによって、実世界画像と仮想空間画像とが合成された画像を生成する。そして、情報処理部３１は、当該合成画像の中心（仮想世界描画用カメラＣ２の視野の中心）に、照準カーソル画像データに含まれる画像データを優先して合成することによって表示画像（図４０）を生成する。図４０は、第１の描画方法または第２の描画方法により生成される表示画像の一例を示
す。なお、情報処理部３１は、仮想空間のレンダリング画像データに仮想空間画像が格納されていない場合、カメラ画像のレンダリング画像データに格納される実世界画像をそのまま表示画像データＤｌに格納すればよい。
【０３７１】
以上により、第１の描画方法または第２の描画方法により表示画像の更新に関する処理（サブルーチン）が完了する。
【０３７２】
図２９に戻り、上記ステップ５７における表示画像の更新に関する処理の後、情報処理部３１は、更新した表示画像を上側ＬＣＤ２２に表示して（ステップ５８）、次のステップ５９に処理を進める。例えば、情報処理部３１のＣＰＵ３１１は、上記ステップ５７により更新された表示画像データＤｌ（表示画像）をＶＲＡＭ３１３に格納する。そして、情報処理部３１のＧＰＵ３１２が、ＶＲＡＭ３１３に描画された表示画像を上側ＬＣＤ２２に出力することによって、上側ＬＣＤ２２に当該表示画像が表示される。
【０３７３】
次に、情報処理部３１は、ゲームを終了するか否かを判断する（ステップ５９）。ゲームを終了する条件としては、例えば、上記の所定の条件（ゲームクリアまたはゲームオーバー）が満たされたことや、ユーザがゲームを終了する操作を行ったこと等がある。情報処理部３１は、ゲームを終了しない場合、上記ステップ５２に戻って処理を繰り返す。一方、情報処理部３１は、ゲームを終了する場合、当該フローチャートによる処理を終了する。
【０３７４】
＜第１の実施形態に係る画像処理の作用及び効果＞
以上述べたように、本実施形態に係る画像処理プログラムでは、図１５の処理で例示したように、顔画像取得処理で取得された顔画像は、ユーザがゲーム（第１のゲーム）で成功するまでは、ユーザに解放されない。すなわち、ゲームで成功するまでは、ユーザは、取得された顔画像をゲームのセーブデータ記憶域Ｄｏに保存できない。また、ユーザは、取得された顔画像を複製、変更、転送等することができない。逆に、ゲーム不成功の状態で、ゲームの再試行をやめると、取得されていた顔画像が廃棄されて、処理が終了する。また、第１のゲームの処理の仕方、例えば、実行モード、あるいは、仕様によっては、第１のゲームの結果が不成功となると、直ちに、顔画像が廃棄されて、処理が終了する。したがって、取得された顔画像が引き渡されるまで、つまり顔画像がセーブデータ記憶域Ｄｏに保存されるまで、ユーザは、ゲームに執着し、熱意を持って成功を目指すようになる。すなわち、本実施形態の画像処理プログラムによれば、ユーザが極めて真剣にゲームに取り組むことができる。
【０３７５】
また、ゲームの開始時のユーザのＧＵＩに対する操作として、「内側撮像部２４による顔画像の取得」が指示され（図１４のステップ９でＹｅｓの場合）、顔画像取得処理１（図１４のステップ１０）が実行されると、以下のような効果も期待できる。すなわち、ゲーム開始時に、内側撮像部２４を用いて撮影することで顔画像を取得すると、撮影毎に異なる顔画像が得られる。このため、例えば、他の装置に記憶されている特定の画像を選択して、選択した画像をゲームで用いる場合と比較して、ゲーム成功への意欲が増すことになる。また、外側撮像部２３による顔画像取得処理２（図１４のステップ１２）の場合にも、同様の効果が期待できる。ゲーム開始時に、外側撮像部２３を用いて撮影することで顔画像を取得しても、撮影毎に異なる顔画像が得られるからである。
【０３７６】
また、本実施形態に係る画像処理プログラムによれば、上記第１のゲームに成功することで、セーブデータ記憶域Ｄｏに、ユーザ自身の顔画像、ユーザの周りの人の顔画像、ビデオ機器で得られた画像中の顔画像、ユーザの保有する生物の顔画像等、様々な顔画像を収集することができる。ゲーム装置１０は、収集した顔画像を例えば、図７、図８のような画面に表示することができる。そして、ゲーム装置１０は、例えば、図８のような画面
では、選択状態にある顔画像と関連の顔画像が反応を示す状態を表現できる。反応は、例えば、選択状態にある顔画像に向かって片目をつぶり、視線を送る、顔を向ける等である。したがって、ゲーム装置１０は、ゲーム装置１０内に収集した顔画像による仮想現実の世界に、実世界の人間関係、親密さ等に基づく関係を表現できる。その結果、顔画像を収集したユーザに、顔画像による仮想現実の世界への親近感、収集した顔画像に対する親しみ、実世界の人、あるいは生物に対する感情と同様の感情等を引き起こさせることができる。
【０３７７】
また、本実施形態の画像処理プログラムによれば、収集した顔画像を敵オブジェクトＥＯの顔面部分にテクスチャマッピングすることによって、敵オブジェクトＥＯを生成し、ゲームを実行できる。ユーザは、ゲームに登場する敵オブジェクトＥＯに、収集した顔画像を貼り付けることで、いわば、配役を自由に決定できる。したがって、ユーザは、ゲームの実行時、敵オブジェクトＥＯの顔から得られる効果によって、ますます、ゲームに熱中する可能性を高めることができる。
【０３７８】
さらに、本実施形態の画像処理プログラムによれば、敵オブジェクトＥＯを生成する際にも、敵オブジェクトＥＯに貼り付けるために、顔画像が選択状態になったときに、選択状態になった顔画像に関連する顔画像が反応を示す。したがって、敵オブジェクトＥＯの配役を決定するユーザに、仮想現実の世界への親近感、一覧表示された顔画像に対する親しみ、実世界の人に対する感情と同様の感情等を引き起こさせることができる。
【０３７９】
なお、上記第１の実施形態では、敵オブジェクトＥＯに顔画像を貼り付けることで、敵オブジェクトＥＯを生成した。しかし、このような処理は、敵オブジェクトＥＯの生成に限定される訳ではなく、ゲームに登場するキャラクタオブジェクト一般の生成に適用できる。例えば、ゲーム装置１０の操作、あるいはゲームの進行をガイドするエージェントなどに、ユーザが取得した顔画像を貼り付けるようにしてもよい。また、ゲーム装置１０に登場する、ユーザ自身を模擬したキャラクタオブジェクト、ユーザと友好的な関係でゲームに登場するキャラクタオブジェクト、ゲーム装置の持ち主を表すキャラクタオブジェクト等に、ユーザが取得した顔画像を貼り付けるようにしてもよい。
【０３８０】
上記では、顔画像として人の顔を想定したが、本発明の実施は、人の顔画像に限定されるものではなく、動物の顔画像にも適用できる。例えば、犬、猫、馬等のほ乳類、鳥類、魚類、は虫類、両生類、昆虫等、様々な動物の顔画像を取得のために、上記第１の実施形態で説明した顔画像取得処理を実行し、顔画像を収集してもよい。例えば、ゲーム装置１０によれば、図８の画面において人と人との関係で例示したように、選択状態にある人に対して、小鳥がさえずり、あるいは、犬が吠え、猫が視線を向けるというように、実世界の人と動物との関係を表現できる。逆に、ペットと主人の関係において、ペットの顔画像が選択状態にされたときに、主人とその家族に相当する顔画像が微笑む、あるいは、視線をペットの方に向けるというように、ゲーム装置１０は、実世界の感情、意識、関係を仮想世界の中に反映することできる。そして、配役決定処理により、敵オブジェクトＥＯ、その他のキャラクタオブジェクトに収集した顔を貼り付けることによって、実世界の関係をユーザに意識させつつゲームを実行させることができる。
【０３８１】
なお、ペットと主人の関係、主人とその家族の関係等は、ＵＩＦを通じて、顔画像管理情報Ｄｎ１によって定義し、顔画像間の関係として、参照できるようにしておけばよい。単純に、好き、嫌い等の感情、好きな人のペット、嫌いな人のペットなどの感情の善し悪しを定義できるようにしておけばよい。また、例えば、主人の顔画像でのゲームの結果が成功であったときに、ゲームのセーブデータ記憶域Ｄｏに保存できた動物の顔画像は、その主人と親密な関係にあるとの設定が、画像管理情報Ｄｎ１に記録できるようにしてもよい。ゲーム装置１０によれば、ユーザは、以上のようにして収集した様々の顔画像を基に
、キャラクタオブジェクトを生成、実世界の意識を反映したゲームを実行できるのである。
【０３８２】
また、本実施形態に係る画像処理プログラムでは、図１６に示したように、２つの外側撮像部２３（外側左撮像部２３ａおよび外側右撮像部２３ｂ）よりも先に内側撮像部２４による撮影をするように、ユーザを誘導する。内側撮像部２４は、主として、ゲーム装置１０を操作するユーザを撮影するものであるため、ユーザ以外の人の撮影には使用しづらい。また、内側撮像部２４は、主として、ゲーム装置１０を操作するユーザを撮影するものであるため、持ち主の撮影に適する。したがって、この処理によれば、ゲーム装置１０のユーザあるいは持ち主が誰もゲーム装置１０に顔画像を保存しない状態での外側撮像部２３の使用を禁止する効果がある。したがって、例えば、持ち主の特定されないゲーム装置１０、あるいは、ユーザの特定されないゲーム装置１０を第三者が用いて画像を撮影することを禁止する可能性を高めることができる。
【０３８３】
また、本実施形態に係る画像処理プログラムでは、図１９Ａ−図１９Ｃに示したように、情報処理部３１は、未取得の属性に該当する顔画像を優先して撮影をするように、ユーザを誘導する。このような処理によって、極力、属性の偏りのない顔画像取得を望むユーザの顔画像収集処理を支援することができる。
【０３８４】
また、本実施形態に係る画像処理プログラムでは、実カメラから得られた実世界画像と、当該実世界画像の背後に存在するオブジェクトを含む仮想空間画像とが合成されて表示される。
【０３８５】
したがって、本実施形態に係る画像処理プログラムは、実世界の画像を用いた背景に非現実を表す描画を行うことでユーザの興味を引くことができる画像を生成することができる。また、実世界の向こう側にさらに仮想世界が存在するように感じさせることができる。これは、ゲーム世界の奥行感の向上にもつながる。
【０３８６】
また、本実施形態では、実世界画像に開口が生じて、その開口を通って仮想オブジェクトが出現したり、仮想オブジェクトの影が実世界画像に表示されたりするなど、仮想オブジェクトが実世界画像に対して影響を与えるので、実世界画像が単なる背景ではなく、実世界が仮想世界と関係しているかのような感覚を与えることができる。
【０３８７】
また、当該合成されて表示される画像における当該実世界画像の背後に存在するオブジェクト（例えば、第２空間２に存在する敵オブジェクトＥＯ）は、実世界画像（境界面３）に開口が存在する領域においては、実像が表示される。また、当該オブジェクトは、実世界画像に開口が存在しない領域においては、影画像が表示される（図２４参照）。更に、当該実像及び影画像は、当該オブジェクトの仮想空間上における配置方向または、移動方向に応じた向きに対応する画像である。
【０３８８】
したがって、本実施形態に係る画像処理プログラムは、実世界画像の更に背後に存在するオブジェクトの数や移動方向等の動向をユーザが認識することができる画像を生成することができる。
【０３８９】
また、本実施形態に係る画像処理プログラムでは、奥壁ＢＷの画像データとして、宇宙の画像等の非現実空間の画像が用いられ得る。当該非現実空間の画像は、実世界画像の開口を通して視認されうる。当該開口は、仮想空間上の位置が特定される。そして、実カメラの向きと仮想カメラの向きは対応づけられている。
【０３９０】
したがって、本実施形態に係る画像処理プログラムは、実カメラの向きに応じた位置に
開口を設けることができ、実世界画像の同じ位置に開口を表現することができる。すなわち、本実施形態に係る画像処理プログラムは、実カメラの向きを変えても現実空間の同じ位置に開口が表現されるため、現実空間と非現実空間とが繋がったかのごとくユーザに認識させる画像を生成することができる。
【０３９１】
また、開口が表現された実世界画像は、実カメラから得られる実世界画像とアルファ値との掛け算によって生成される。
【０３９２】
したがって、本実施形態に係る画像処理プログラムは、簡便な方法で開口を表現及び生成することができる。
【０３９３】
また、敵オブジェクトＥＯが境界面３を通過することにより生成する実世界画像の開口は、敵オブジェクトデータＤｆに含まれる開口形状データＤｆ３を開口判定用データの所定の位置に掛け算することで生成される。
【０３９４】
したがって、本実施形態に係る画像処理プログラムは、簡便な方法で衝突したキャラクタの形状に対応した開口を設定することができる。
【０３９５】
また、本実施形態に係る画像処理プログラムでは、アルファ値の比較によって、影画像の描画を実現することができる。また、シルエットデータＤｆ２に設定されたアルファ値の変更によって、影画像の描画のオンまたはオフを切り替えることができる。
【０３９６】
したがって、本実施形態に係る画像処理プログラムは、影画像の描画をＧＰＵに任せることができ、また、影の表示または非表示を単純な操作で切り替えることができる。
【０３９７】
＜変形例＞
上述した実施例では、情報処理部３１は、敵オブジェクトＥＯを出現させる場合、特に当該敵オブジェクトＥＯの出現演出処理を実行しないが、当該敵オブジェクトＥＯの出現演出処理を実行してもよい。図４１は、当該出現演出処理の実行例を示す。図４１に示されるとおり、当該出現演出処理では、実世界画像の所定範囲が開口として矩形に切り取られ、当該矩形が第２空間２に倒れこみ、生成された開口から敵オブジェクトＥＯが出現する。情報処理部３１は、図１８のステップ６２における敵オブジェクトデータＤｆの生成に際して、図４１に示されるような敵オブジェクトＥＯの出現演出処理を行ってもよい。図４１における第２空間２に倒れた矩形部分は、実世界画像の所定範囲を切り取ったテクスチャを、当該所定範囲の大きさに対応した平面ポリゴンに貼り付け、当該平面ポリゴンに所定の動作をさせることで実現される。また、図４１における開口部分は、上述のとおり、開口判定用データの所定の位置のアルファ値を「０」にすることで実現される。
【０３９８】
上述した実施例では、敵オブジェクトＥＯが境界面３を通過した結果として開口が生成されるが、当該開口は、任意に設定されてよい。本実施形態では、情報処理部３１は、開口判定用データの任意の領域にアルファ値「０」を設定することで、当該開口を任意に設定することができる。
【０３９９】
上述した実施例では、情報処理部３１は、弾オブジェクトＢＯが境界面３に設定された開口のふちに衝突した結果として、当該開口の修復処理を行う。すなわち、情報処理部３１は、当該開口に対応する位置における開口判定用データのアルファ値の更新を行う。しかし、当該修復処理は、上述した実施例に限定されない。例えば、照準カーソルＡＬを当該開口のふちに合わせた時に、ゲーム装置１０の所定の操作ボタン１４が押下される結果として、当該修復処理が行われてよい。この場合、情報処理部３１は、例えば、照準カーソルＡＬの位置として、仮想カメラデータＤｊに含まれる仮想カメラの配置方向を示すデ
ータを用いる。そして、情報処理部３１は、当該仮想カメラの配置方向に対応する境界面３の位置における開口判定用データのアルファ値を非開口領域に対応するアルファ値「１」とする。これにより、アルファ値が「０」の領域は非開口領域に対応するアルファ値「１」となり、当該開口は修復される。
【０４００】
上述した実施例では、情報処理部３１は、ゲーム装置１０に生じる角速度を角速度センサ４０により検出し、当該角速度を用いて実空間におけるゲーム装置１０の動きを算出するが、他の方式を用いてゲーム装置１０の動きを算出してもかまわない。
【０４０１】
第１の例として、情報処理部３１は、ゲーム装置１０に内蔵されている加速度センサ３９が検出した加速度を用いて、ゲーム装置１０の動きを算出してもかまわない。一例として、加速度センサ３９を搭載するゲーム装置１０が静的な状態であることを前提としてコンピュータ側で処理する場合（すなわち、加速度センサ３９によって検出される加速度が重力加速度のみであるとして処理する場合）が想定される。このようにゲーム装置１０が現実に静的な状態であれば、情報処理部３１は、検出された加速度に基づいてゲーム装置１０の姿勢が重力方向に対して傾いているか否か、またはどの程度傾いているかを知ることができる。他の例として、加速度センサ３９を搭載するゲーム装置１０が動的な状態であることを前提とする場合が想定される。このような場合には、加速度センサ３９が重力加速度成分に加えて加速度センサ３９の動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、情報処理部３１は、ゲーム装置１０の動き方向等を知ることができる。具体的には、加速度センサ３９を備えるゲーム装置１０がユーザの手で動的に加速されて動かされる場合に、情報処理部３１は、加速度センサ３９によって生成される加速度信号を処理することによって、ゲーム装置１０の様々な動きおよび／または位置を算出することができる。また、加速度センサ３９が動的な状態であることを前提とする場合であっても、加速度センサ３９の動きに応じた加速度を所定の処理により除去すれば、情報処理部３１は、重力方向に対するゲーム装置１０の傾きを知ることが可能である。
【０４０２】
第２の例として、ゲーム装置１０に内蔵されている実カメラ（外側撮像部２３または内側撮像部２４）によってリアルタイムで撮像されたカメラ画像の移動量を用いて、情報処理部３１は、ゲーム装置１０の動きを算出してもかまわない。例えば、ゲーム装置１０が動くことによって、上記実カメラの撮像方向や撮像位置が変わった場合、当該実カメラで撮像されるカメラ画像も変化する。したがって、ゲーム装置１０に内蔵されている実カメラで撮像されるカメラ画像の変化を用いれば、情報処理部３１は、当該実カメラの撮像方向が変化した角度や撮像位置の移動量等を算出することができる。一例として、情報処理部３１は、ゲーム装置１０に内蔵されている実カメラで撮像されるカメラ画像から所定の物体を識別する。そして、情報処理部３１は、当該物体が撮像されている角度や撮像されている位置を時系列的に比較することによって、これらの変化量から当該実カメラの撮像方向が変化した角度や撮像位置の移動量等を算出することができる。他の例として、情報処理部３１は、ゲーム装置１０に内蔵されている実カメラで撮像されるカメラ画像全体に対して時系列的に比較する。この当該画像全体の撮像方向や撮像範囲の変化量から、情報処理部３１は、当該実カメラの撮像方向が変化した角度や撮像位置の移動量等を算出することができる。
【０４０３】
第３の例として、情報処理部３１は、上述したゲーム装置１０に生じる角速度、ゲーム装置１０に生じる加速度、およびゲーム装置１０によって撮像されたカメラ画像の少なくとも２つを組み合わせて、ゲーム装置１０の動きを算出してもかまわない。これによって、１つのパラメタからゲーム装置１０の動きを算出する場合に当該動きの推定が難しい状況において、他のパラメタを組み合わせてゲーム装置１０の動きを算出することによって、当該状況を補ったゲーム装置１０の動きの算出が可能となる。一例として、上記第２の
例によるゲーム装置１０の動きを算出では、撮像されたカメラ画像が時系列的に水平方向へ動いた場合、ゲーム装置１０の撮影角度が鉛直方向を中心として回転したのか、ゲーム装置１０が水平移動したのか、正確な判定が難しいことがある。この場合、情報処理部３１は、ゲーム装置１０に生じる角速度を用いれば、ゲーム装置１０が回転移動したのか水平移動したのかを容易に判定することが可能となる。
【０４０４】
第４の例として、情報処理部３１は、ゲーム装置１０の動きを、いわゆるＡＲ（拡張現実）の技術により算出してもよい。
【０４０５】
また、磁気センサを用いて、ゲーム装置１０の向きを検知してもよい。
【０４０６】
（第２の実施形態）
以下、図４２および図４３を参照して、本発明の第２の実施形態に係る画像処理プログラムを実行する画像処理装置について説明する。第１の実施形態では、顔画像取得処理１（図１４のステップ１０）において、第１のゲームが実行され、ユーザが第１のゲームで成功した場合に、ゲーム装置１０は、顔画像取得処理１で取得した画像をセーブデータ記憶域Ｄｏに格納することを許容する。そして、ユーザは、第１のゲームに成功すれば、同様の処理で取得した顔画像を順次、セーブデータ記憶域Ｄｏに追加していくことができる。そして、ゲーム装置１０は、セーブデータ記憶域Ｄｏに収集された顔画像から、例えば、ユーザの操作にしたがって、あるいは、自動的に、敵オブジェクトＥＯ等のキャラクタオブジェクトを作成する。そして、ゲーム装置１０は、ユーザに対して、ユーザが収集した顔画像を基に作成されたキャラクタオブジェクトを第１のゲーム（図１５のステップ１０６）、あるいは、第２のゲーム（図１４のステップ１８）等に登場させ、ユーザに、実世界の人間関係等を反映した仮想世界を提供する。したがって、ユーザは、そのような実世界を反映した仮想世界で、例えば、図２０Ａ−図２６に示したようなゲームを実行し、楽しむことができる。本実施形態では、そのような実世界を反映した仮想世界での他のゲーム処理の例を説明する。本実施形態のゲームも、第１の実施形態と同様、ゲーム装置１０の情報処理部３１が、メインメモリ３２に展開された画像処理プログラムを実行することで、ユーザに提供される。また、本実施形態のゲームは、第１の実施形態のゲームと同様、例えば、図１４に示したステップ１０による顔画像取得処理１のための第１のゲーム（図１５のステップ１０６）として実行してもよい。また、本実施形態のゲームは、例えば、第２のゲーム（図１４に示したステップ１８）と同様、顔画像が収集され、ゲームのセーブデータ記憶域Ｄｏに蓄積されていることを前提として実行されるようにしてもよい。
【０４０７】
図４２は、本実施形態に係るゲーム装置１０の上側ＬＣＤ２２に表示される画面の例である。この画面の作成手順は、上記第１の実施形態と同様である。すなわち、ユーザは、例えば、ゲーム装置１０の下側ハウジング１１と上側ハウジング２１を閉状態として、図４のように、下側ハウジング１１を両手に持つ場合を想定する。このとき、ユーザは上側ＬＣＤ２２の表示画面を見ることができる。そして、この状態では、外側撮像装置２３は、例えば、ユーザの視線前方の空間を撮影することが可能である。本実施形態のゲームの実行中、ゲーム装置１０は、画面の背景に、外側撮像装置２３が撮影した画像を写し出す。より具体的には、情報処理部３１は、外側撮像装置２３が撮影した画像をフレーム単位で、ゲームの画面の背景部分にテクスチャマッピングしている。ユーザがゲーム装置１０を手に持って方向を変えると、変化後の外側撮像部２３の視線方向から外側撮像装置２３を通じて取得された画像がゲームの背景に表示されることになる。すなわち、図４２の画面の背景には、ユーザがゲーム装置１０の外側撮像部２３を向けた方向から取得された画像が埋め込まれる。
【０４０８】
さらに、この画面では、上記背景に対して、例えば、図１０の画面例、および図１８の
配役決定処理で説明した手順にしたがって作成された敵オブジェクトＥＯ１が表示されている。敵オブジェクトＥＯ１の顔面部分には、図１８の配役決定処理で選択された顔画像がテクスチャマッピングされて表示されている。なお、敵オブジェクトＥＯ１の顔面部は、必ずしもテクスチャマッピングによって形成しなくてもよく、単に、図９に示した敵オブジェクトＥＯの頭部形状の周辺部分Ｈ１３と顔画像とを組み合わせることで、敵オブジェクトＥＯ１を表示するようにしてもよい。そこで、以下では、敵オブジェクトの顔面部分に、顔画像が貼り付けられている、という記述する。
【０４０９】
さらに、図４２では、敵オブジェクトＥＯ１の周りに、敵オブジェクトＥＯ１よりも形状の小さい敵オブジェクトＥＯ２−ＥＯ７が表示されている。このように、図４２の画面では、敵オブジェクトＥＯ１−ＥＯ７の合計７個の敵オブジェクトＥＯが表示されている。ただし、本実施形態に係るゲーム装置１０の処理において、敵オブジェクトＥＯの数が７個に限定される訳でない。なお、すでに第１の実施形態で説明したように、敵オブジェクトＥＯ１−ＥＯ７等を区別する必要がない場合には、敵オブジェクトＥＯと呼ぶ。
【０４１０】
また、敵オブジェクトＥＯ１−ＥＯ７のいずれか１以上、例えば、敵オブジェクトＥＯ６には、敵オブジェクトＥＯ１と同一の顔画像が貼り付けされている。一方、他の敵オブジェクトＥＯ２−ＥＯ５等には、敵オブジェクトＥＯ１とは異なる顔画像が貼り付けられている。
【０４１１】
さらに、図４２の画面内には、敵オブジェクトＥＯ１等を攻撃するための照準カーソルＡＬが表示されている。照準カーソルＡＬと、背景および敵オブジェクトＥＯ１等の位置関係、および相対移動の関係は、第１の実施形態（図２３−図２６）で説明したものと同様である。
【０４１２】
すなわち、敵オブジェクトＥＯ１は、図４２の画面内を自在に動き回る。より具体的には、外側撮像部２３が写し出した画像を背景とする仮想空間を自在に動き回る。したがって、上側ＬＣＤ２２を見るユーザには、自身が位置する空間内を敵オブジェクトＥＯ１が自在に動くように見える。また、敵オブジェクトＥＯ２−ＥＯ７は、敵オブジェクトＥＯ１の周りに配置される。
【０４１３】
したがって、仮想空間を自在に動き回る敵オブジェクトＥＯ１−ＥＯ７に対して、ユーザがゲーム装置１０の向きを変えることで、画面に表示された照準カーソルＡＬを敵オブジェクトＥＯ１−ＥＯ７に合わせることが可能となる。敵オブジェクトＥＯ１に照準カーソルＡＬを合わせた状態で、トリガボタンに相当する操作ボタン１４Ｂ（Ａボタン）を押下することで、敵オブジェクトＥＯ１−ＥＯ７に向けて弾を撃つことができる。
【０４１４】
ただし、本実施形態のゲームでは、敵オブジェクトＥＯ１−ＥＯ７のうち、敵オブジェクトＥＯ１と同一の顔画像を有するもの以外への攻撃は、有効な攻撃とはならない。例えば、ユーザが、敵オブジェクトＥＯ１および敵オブジェクトＥＯ１と同一の顔画像を有する敵オブジェクトを攻撃した場合には、ユーザの得点となる。あるいは、敵オブジェクトの失点となる。また、敵オブジェクトＥＯ１よりも寸法の小さい、敵オブジェクトＥＯ２−ＥＯ７を攻撃した方がユーザの得点が高いものとする。あるいは、敵オブジェクトＥＯ２−ＥＯ７が攻撃された場合の敵オブジェクトの失点は、敵オブジェクトＥＯ１が攻撃された場合よりも、大きいとする。しかしながら、敵オブジェクトＥＯ２−ＥＯ７のうち、敵オブジェクトＥＯ１と異なる顔画像の敵オブジェクトへの攻撃は無効な攻撃となる。すなわち、ユーザには、敵オブジェクトＥＯ１と同一の敵オブジェクトを攻撃する義務が課せられることになる。以下、敵オブジェクトＥＯ１と異なる顔画像の敵オブジェクトを誤認用オブジェクトと呼ぶ。なお、図４２では、敵オブジェクトＥＯ２−ＥＯ７は、同一種類の頭部形状を有している。しかし、敵オブジェクトＥＯ２−ＥＯ７のうち、誤認用オブ
ジェクトである、敵オブジェクトＥＯ２−ＥＯ５、ＥＯ７等のいずれかは、異なる種類の頭部形状を有するようにしてもよい。なお、すでに述べたように、個々の敵オブジェクトＥＯ１−ＥＯ７等を区別しない場合、単に、敵オブジェクトＥＯという。
【０４１５】
図４３により、ゲーム装置１０の情報処理部３１で実行される画像処理プログラムによる動作例を説明する。図４３は、情報処理部３１による動作の一例を示すフローチャートである。この処理では、情報処理部３１は、例えば、顔画像の選択を受け付け、敵オブジェクトを生成する（ステップ３０）。ステップ３０の処理は、例えば、図１８の配役決定処理と同様である。
【０４１６】
次に、情報処理部３１が、誤認用オブジェクトを生成する（ステップ３１）。誤認用オブジェクトの生成は、例えば、敵オブジェクトＥＯの頭部形状の顔面部分に、ステップ３０で指定された敵オブジェクトＥＯの顔画像以外の顔画像を貼り付ければよい。誤認用オブジェクトの顔画像の指定に限定はない。例えば、図７、８に示したようなユーザが取得済みの顔画像から、誤認用オブジェクトの顔画像を選択してもよい。また、例えば、ゲーム装置１０の出荷前にデータ保存用内部メモリ３５に、事前に誤認用オブジェクトの顔画像を格納しておいてもよい。また、画像処理プログラムのインストール時、あるいは、バージョンアップ時に、誤認用オブジェクトの顔画像も、併せてデータ保存用内部メモリ３５に格納するようにしてもよい。また、例えば、敵オブジェクトＥＯの顔画像を変形させた顔画像、例えば、目、鼻、口など、顔のパーツを他の顔画像と入れ替えた顔画像を誤認用オブジェクトに用いてもよい。
【０４１７】
次に、情報処理部３１は、敵オブジェクトＥＯおよび誤認用オブジェクトによるゲームを開始する（ステップ３２）。そして、情報処理部３１は、ユーザによる攻撃があったか否かを判定する（ステップ３３）。ユーザによる攻撃は、図４２に示した照準カーソルＡＬを敵オブジェクトＥＯに合わせた状態でのトリガの入力、例えば、操作ボタン１４Ｂの押下によって検知される。ユーザによる攻撃があった場合、情報処理部３１は、適正な敵オブジェクトＥＯへの攻撃か否かを判定する（ステップ３５）。適正な敵オブジェクトＥＯに対する攻撃がなされた場合、情報処理部３１は、敵オブジェクトＥＯを破壊し、ユーザの得点を追加する（ステップ３６）。一方、ステップ３５の判定で、適正な敵オブジェクトＥＯ以外の誤認用オブジェクトへの攻撃が検知された場合、情報処理部３１は、無効な攻撃であるとして、なにもしない。さらに、ステップ３３の判定で、ユーザによる攻撃がなかった場合、情報処理部３１は、他の処理を実行する（ステップ３４）。他の処理は、例えば、それぞれのゲーム特有の処理である。例えば、図４２の敵オブジェクトＥＯ６、誤認用オブジェクトＥＯ２−ＥＯ５を増殖する処理、図４２の敵オブジェクトＥＯ６の位置と誤認用オブジェクトＥＯ２−ＥＯ７等の位置とを入れ替える処理である。
【０４１８】
そして、情報処理部３１は、ゲーム終了か否かを判定する（ステップ３７）。ゲーム終了は、例えば、ユーザが、増殖する敵オブジェクトＥＯをすべて破壊し尽くしたとき、ユーザの得点が基準値を超えた場合等である。あるいは、ゲーム終了は、例えば、敵オブジェクトＥＯが所定限度を超えて増殖した場合、ユーザの失点が所定の限度を超えた場合等である。ゲーム終了でない場合、情報処理部３１は、制御をステップ３３に戻す。
【０４１９】
以上述べたように、本実施形態の画像処理プログラムによれば、収集した顔画像を用いて、敵オブジェクトＥＯを作成してゲームを実行できる。したがって、ユーザは、現実の世界に存在する人の顔画像を基に、仮想現実の世界でのゲームを遂行することができる。
【０４２０】
また、本実施形態のゲーム装置１０によれば、適正な敵オブジェクトＥＯと、誤認用オブジェクトの組み合わせによって、ユーザの混乱を生じさせつつ、ゲームが実行される。したがって、ユーザは、敵オブジェクトＥＯの顔画像の正確な把握が求められる。その結
果、ユーザには、敵オブジェクトＥＯを見分ける処理能力、集中力が要求される。したがって、本実施形態のゲーム装置１０は、ユーザにゲームを実行するときの緊張感を発生させ、あるいは、顔画像認識に伴う脳の活性化を可能とする。
【０４２１】
上記第２の実施形態では、例えば、図１４のステップ１６の配役決定処理およびステップ１８のゲーム実行の処理と同様に、ゲームのセーブデータ記憶域Ｄｏに格納済みの顔画像を基に敵オブジェクトＥＯを作成し、ゲームを実行した。しかし、図４３のステップ３０の処理として、例えば、図１５のステップ１００−ステップ１０５の処理を実行してもよい。すなわち、顔画像取得処理で取得し、ゲームのセーブデータ記憶域Ｄｏに格納前の状態で、本実施形態のゲームを実行してもよい。そして、図１５のステップ１０７−ステップ１１０と同様に、ゲームで成功した場合に、取得した顔画像をゲームのセーブデータ記憶域Ｄｏに格納すればよい。このような構成によって、第１の実施得形態と同様、ユーザは、取得した顔画像を保存するため、ますます熱心にゲームに取り組むようになる。
【０４２２】
（第３の実施形態）
以下、図４４から図４５を参照して、本発明の第３の実施形態に係る画像処理プログラムを実行する画像処理装置について説明する。本実施形態のゲームは、第１の実施形態のゲームと同様、例えば、図１４に示したステップ１０による顔画像取得処理１のための第１のゲーム（図１５のステップ１０６）として実行してもよい。また、本実施形態のゲームは、例えば、第２のゲーム（図１４に示したステップ１８）と同様、顔画像が収集され、ゲームのセーブデータ記憶域Ｄｏに蓄積されていることを前提として実行されるようにしてもよい。
【０４２３】
すなわち、第２の実施形態で述べた場合と同様、ゲーム装置１０の情報処理部３１は、本実施形態のゲームを第１の実施形態の配役決定処理（図１４のステップ１６）、および第２のゲーム（図１４のステップ１８で実行されるゲーム）の処理例として、実行する。また、ゲーム装置１０の情報処理部３１は、本実施形態のゲームを第１実施形態の第１のゲーム（図１５のステップ１０６で実行されるゲーム）としても実行できる。
【０４２４】
また、上記第２の実施形態では、顔画像を取得し、取得した顔画像を含む敵オブジェクトＥＯと誤認用オブジェクトを用いたゲームの処理の一例を説明した。そして、上記第２の実施形態では、誤認用オブジェクトへの攻撃は無効な攻撃とされた。
【０４２５】
本実施形態では、第２の実施形態のゲームに代えて、誤認用オブジェクトへの攻撃が検知されると、敵オブジェクトＥＯの顔画像のパーツが、他の顔画像のパーツと入れ替わるゲームについて説明する。例えば、敵オブジェクトＥＯの周辺部分（図９のＨ１３参照）と、ユーザの顔画像を組み合わせて、敵オブジェクトＥＯを構成する。ユーザの顔画像の代わりにユーザの親しい人の顔画像を用いてもよい。この場合に、ユーザの顔画像（あるいは親しい人の顔画像）は、敵オブジェクトＥＯに拘束された状態を模擬するようにしてもよい。そして、ユーザがゲームで、敵オブジェクトＥＯに勝利した場合には、ユーザの顔画像（あるいは親しい人の顔画像）が敵オブジェクトＥＯから解放されることを模擬すればよい。一方、ユーザがゲームで、失敗を続けると、徐々に、敵オブジェクトＥＯに拘束されたユーザの顔画像（あるいは親しい人の顔画像）が変形していくことになる。そして、変形の限度が一定限度を超えるとゲーム終了となるようにすればよい。
【０４２６】
図４４は、本実施形態に係る、上側ＬＣＤ２２に表示される画面の一例である。図４４の例では、敵オブジェクトＥＯ１（第１のキャラクタオブジェクトの一例）が表示されている。また、敵オブジェクトＥＯ１の周りに、寸法が敵オブジェクトＥＯ１よりも小さい敵オブジェクトＥＯ１１（第２のキャラクタオブジェクトの一例）と、誤認用オブジェクトＥＯ１２−ＥＯ１６（第３のキャラクタオブジェクトの一例）が表示されている。敵オ
ブジェクトＥＯ１１には、敵オブジェクトＥＯ１と同一の顔画像が貼り付けられている。一方、誤認用オブジェクトＥＯ１２−ＥＯ１６の構成は、第２の実施例の場合と同様であり、敵オブジェクトＥＯ１とは異なる顔画像が貼り付けられている。なお、図４４の構成は例示であり、寸法が敵オブジェクトＥＯ１よりも小さい敵オブジェクトＯＥ１１の数が、１個に限定される訳ではない。
【０４２７】
本実施形態のゲームにおいては、例えば、寸法の大きな敵オブジェクトＥＯ１には、照準カーソルＡＬを合わせやすいため、敵オブジェクトＥＯ１を攻撃し、弾が命中したとしても、ユーザが得られる得点、あるいは、敵オブジェクトＥＯ１に与えるダメージは小さいものとする。また、寸法の小さな敵オブジェクトＥＯ１１には、照準カーソルＡＬを合わせにくいため、敵オブジェクトＥＯ１１を攻撃し、弾が命中した場合には、ユーザが得られる得点、あるいは、敵オブジェクトＥＯ１に与えるダメージは、敵オブジェクトＥＯ１の場合よりも大きいものとする。
【０４２８】
さらに、本実施形態では、ユーザが誤認用オブジェクトＥＯ１２−ＥＯ１６を攻撃した場合には、敵オブジェクトＥＯ１に貼り付けられている顔画像のパーツが他の顔画像と入れ替えられる。例えば、図４４の場合には、すでに、敵オブジェクトＥＯ１に貼り付けられた顔画像のうち、眉と目の部分が顔画像ＥＯ１３の眉と目の部分と置き換えられている。このようにして、小さな敵オブジェクトＯＥ１１を攻撃しようとするユーザに対して、誤認用オブジェクトＥＯ１２−ＥＯ１６は、ユーザを混乱させ、敵オブジェクトＥＯ１の変形へと導こうとする。なお、図４４では、誤認用オブジェクトＥＯ１２−ＥＯ１６は、同一種類の頭部形状を有している。しかし、誤認用オブジェクトＥＯ１２−ＥＯ１６のいずれかは、異なる種類の頭部形状にしてもよい。
【０４２９】
図４５により、ゲーム装置１０の情報処理部３１で実行される画像処理プログラムによる動作例を説明する。図４５は、情報処理部３１による動作の一例を示すフローチャートである。この処理では、ステップ４０−ステップ４２の処理は、図４３のステップ３０−ステップ３２の処理と同様であるので、その説明を省略する。
【０４３０】
そして、情報処理部３１は、敵オブジェクトＥＯへの攻撃を検知すると（ステップ４３）、顔画像の変形を削減し、敵オブジェクトＥＯ１１の顔画像を本来貼り付けられている顔画像に近づける（ステップ４４）。この場合には、図４４に示した寸法の小さな敵オブジェクトＥＯ１１への攻撃には、寸法の大きな敵オブジェクトＥＯ１への攻撃よりも高い得点を付与すればよい。また、寸法の小さな敵オブジェクトＥＯ１１への攻撃には、寸法の大きな敵オブジェクトＥＯ１への攻撃よりも、顔画像の変形を削減する程度を大きくすれよい。
【０４３１】
一方、情報処理部３１は、誤認用オブジェクトＥＯ１２−ＥＯ１６等への攻撃を検知すると（ステップ４５）、現在よりも、さらに敵オブジェクトＥＯ１に貼り付けられている顔画像のパーツの置き換えを進める。すなわち、情報処理部３１は、顔画像の変形を追加する（ステップ４４）。また、情報処理部３１は、敵オブジェクトＥＯへの攻撃、誤認用オブジェクトへの攻撃以外の状態を検知した場合には、その他の処理を実行する（ステップ４７）。その他の処理は、図４３のステップ３４の場合と同様である。例えば、情報処理部３１は、敵オブジェクトＥＯを増殖する。
【０４３２】
そして、情報処理部３１は、ゲーム終了か否かを判定する（ステップ４８）。ゲーム終了の判定は、例えば、敵オブジェクトＥＯの顔画像の変形が基準の限度を超えた場合である。また、ゲーム終了の判定は、例えば、ユーザが敵オブジェクトＥＯを破壊し、所定限度の得点を得た場合である。そして、ゲーム終了でない場合、情報処理部３１は、制御をステップ４３に戻す。
【０４３３】
以上述べたように、本実施形態のゲーム装置１０によれば、ユーザが敵オブジェクトＥＯの攻撃に成功すると、変形した顔画像が復旧する。また、ユーザが誤認用オブジェクトを攻撃すると、顔画像の変形がさらに進行する。したがって、ユーザは、集中力を持ってゲームに取り組むことを要求され、ゲーム実行時の緊張感が高まり、集中力を養成することが可能になる。さらに、本実施形態のゲーム装置１０によれば、ユーザの顔画像、ユーザの親しい人の顔画像が変形されるので、ユーザは、現実の世界を投影した仮想現実の世界で、ゲームに熱中する可能性を高めることができる。
【０４３４】
上記第３の実施形態では、例えば、図４３のステップ３０、さらには、図１４のステップ１６の配役決定処理およびステップ１８のゲーム実行の処理と同様に、ゲームのセーブデータ記憶域Ｄｏに格納済みの顔画像を基に敵オブジェクトＥＯを作成し、ゲームを実行する場合を想定して説明した。しかし、図４５のステップ４０の処理として、例えば、図１５のステップ１００−ステップ１０５の処理を実行してもよい。すなわち、顔画像取得処理で取得し、ゲームのセーブデータ記憶域Ｄｏに格納前の状態で、第３の実施形態のゲームを実行してもよい。そして、図１５のステップ１０７−ステップ１１０と同様に、ゲームで成功した場合に、取得した顔画像をゲームのセーブデータ記憶域Ｄｏに格納すればよい。このような構成によって、第１の実施得形態と同様、ユーザは、ますます熱心にゲームに取り組むようになる。
【０４３５】
（第４の実施形態）
以下、図４６および図４７を参照して、本発明の第４の実施形態に係る画像処理プログラムを実行する画像処理装置について説明する。本実施形態のゲームは、第１の実施形態のゲームと同様、例えば、図１４に示したステップ１０による顔画像取得処理１のための第１のゲーム（図１５のステップ１０６）として実行してもよい。また、本実施形態のゲームは、例えば、第２のゲーム（図１４に示したステップ１８）と同様、顔画像が収集され、ゲームのセーブデータ記憶域Ｄｏに蓄積されていることを前提として実行されるようにしてもよい。
【０４３６】
すなわち、第２の実施形態で述べた場合と同様、ゲーム装置１０の情報処理部３１は、本実施形態のゲームを第１の実施形態の配役決定処理（図１４のステップ１６）、あるいは、第２のゲーム（図１４のステップ１８で実行されるゲーム）の処理例として、実行することができる。また、ゲーム装置１０の情報処理部３１は、本実施形態のゲームを第１実施形態の第１のゲーム（図１５のステップ１０６で実行されるゲーム）としても実行できる。
【０４３７】
また、上記第３の実施形態では、顔画像を取得し、取得した顔画像を用いた敵オブジェクトＥＯと誤認用オブジェクトを用いたゲームの処理の一例を説明した。さらに、第３実施形態では、誤認用オブジェクトへの攻撃が検知されると、敵オブジェクトＥＯの顔画像のパーツが、他の顔画像のパーツと入れ替えられた。
【０４３８】
本実施形態では、第２の実施形態、あるいは、第３実施形態のゲームに代えて、ゲーム開始時点で、敵オブジェクトＥＯに含まれる顔のパーツが、他の顔画像のパーツと入れ替えられており、ユーザがゲームに勝利すると、敵オブジェクトＥＯに含まれる顔のパーツが元の顔画像に戻る処理を説明する。
【０４３９】
図４６は、本実施形態に係る、上側ＬＣＤ２２に表示される画面の一例である。画面の左側には、敵オブジェクトＥＯに貼り付け可能な顔画像の一覧表（登場人物欄）が登場人物として表示されている。ただし、ゲーム装置１０の画面では、顔画像の一覧表は、なくてもよい。また、例えば、情報処理部３１が、ＧＵＩを通じて、ユーザからの一覧表の表
示要求操作を検知したときに、顔画像の一覧表を表示するようにしてもよい。また、顔画像の一覧表の表示箇所が、図４６のような画面の左側に限定される訳ではない。登場人物欄には、顔画像ＰＳ１−ＰＳ５等の顔画像が表示されている。
【０４４０】
また、図４６の画面には、敵オブジェクトＥＯ２０、ＥＯ２１−ＥＯ２５が表示されている。敵オブジェクトＥＯ２０、ＥＯ２１−ＥＯ２５等は、例えば、第１の実施形態の図７−９の画面、あるいは、図１８の配役決定処理に示したような選択操作で作成した敵オブジェクトＥＯである。ただし、本実施形態では、敵オブジェクトＥＯ２０は、画面中央に大きく描かれ、敵オブジェクトＥＯ２１−ＥＯ２５等は、敵オブジェクトＥＯ２０の周りに描かれている。また、例えば、敵オブジェクトＥＯ２０には、元々、顔画像ＰＳ１が貼り付けられていた。また、例えば、敵オブジェクトＥＯ２２には、顔画像ＰＳ２が貼り付けられていた。また、敵画像ＥＯ２５には、顔画像ＰＳ５が貼り付けられていた。
【０４４１】
しかしながら、本ゲームの開始前に、敵オブジェクトＥＯ２０と、ＥＯ２１−ＥＯ２５との間で、顔のパーツの入れ替えが行われる。例えば、敵オブジェクトＥＯ２０と敵オブジェクトＥＯ２２との間で、鼻が入れ替わっている。また、例えば、敵オブジェクトＥＯ２０と敵オブジェクトＥＯ２５との間で、左眉毛と左目が入れ替わっている。顔のパーツの入れ替えは、例えば、顔画像をテクスチャマッピング時に、テクスチャマッピングされる３次元モデルを構成するポリゴン単位で行えばよい。
【０４４２】
このような顔のパーツの入れ替えは、例えば、入れ替えるパーツ数と、入れ替え対象パーツをランダムに入れ替えるようにしてもよい。また、例えば、すでに行った当該ゲーム、あるいは、他のゲームの成否、得点によって、入れ替えるパーツ数を決定してもよい。例えば、すでに行ったゲームで、ユーザの成績、達成度が良好な場合には、入れ替えるパーツ数を少なくし、ユーザの成績、達成度が不調の場合には、入れ替えるパーツ数を多くするなどである。また、ゲームをレベル分けしておき、ゲームのレベルに応じて、入れ替えるパーツ数を変更してもよい。例えば、入門レベルでは、入れ替えるパーツ数を少なくし、上級レベルでは、入れ替えるパーツ数を多くするなどである。
【０４４３】
また、内側撮像部２４によりユーザの顔画像を取得して、顔認識を行い、認識された表情に応じて、入れ替えるパーツ数を決定してもよい。例えば、顔画像が笑っている場合、驚いている場合、悲しんでいる場合、無表情に近い場合などを判定し、判定結果に応じて、入れ替えるパーツ数を決定してもよい。顔の表情は、目の寸法、口の面積、口の形状、目の中心、口の中心、鼻等を基準点として、頬の輪郭の位置等から決定すればよい。例えば、ユーザの無表情状態の顔画像を事前に登録しておき、新たに、ユーザの顔画像を取得したときに得られた目の寸法、口の面積、口の形状、基準点からの頬の輪郭の位置等の値と、事前に登録した顔画像から得られた値との差分値から、ユーザの顔の表情を推定してもよい。なお、このような顔の表情の推定方法は、以上の手順に限定される訳ではなく、様々な手順を利用できる。
【０４４４】
本実施形態では、ゲーム装置１０では、ユーザが、図４６のような顔のパーツが入れ替えられた敵オブジェクトＥＯを攻撃し、敵オブジェクトＥＯと戦うゲームを実行する。攻撃の仕方は、第１の実施形態から第３の実施形態で説明した手順と同様である。そして、ユーザが、敵オブジェクトＥＯとの戦いに勝利したときに、入れ替えられたパーツが元の顔画像に復帰するようにすればよい。
【０４４５】
図４７により、ゲーム装置１０の情報処理部３１で実行される画像処理プログラムによる動作例を説明する。この処理のうち、ステップ９０の処理は、図４３のステップ３０、図４５のステップ４０と同様である。本実施形態では、ゲーム装置１０の情報処理部３１は、次に、顔のパーツの入れ替えを実行する（ステップ９１）。そして、情報処理部３１
は、ゲームを実行する（ステップ９２）。そして、情報処理部３１は、ゲームが成功したか否かを判定する（ステップ９３）。ゲームが成功した場合には、情報処理部３１は、ステップ９１の処理でパーツが入れ替えられた顔を、元の撮影された状態の顔に復旧する（ステップ９４）。
【０４４６】
以上述べたように、本実施形態の画像処理プログラムによれば、例えば、内側撮像部２４によりユーザの顔画像を取得し、取得した顔画像と、他の顔画像との間で、顔のパーツが入れ替えられた状態で、ゲームが開始する。そして、ユーザが敵オブジェクトＥＯとの戦いに勝利するなど、ゲームにおいて、ユーザが成功した場合には、パーツが入れ替えられた顔画像が、元の顔画像に復旧する。
【０４４７】
したがって、例えば、顔のパーツが入れ替えられる顔画像が、ユーザ自身の顔画像である場合、あるいは、ユーザと親密な人の顔画像等である場合に、ユーザはゲームで成功するため、高い動機付けを与えられる。
【０４４８】
また、すでに他のゲームでの成績に応じて、本実施形態でのゲーム開始時の顔のパーツの入れ替えを行うことによって、ユーザに他のゲームの結果如何によるハンディキャップあるいはアドバンテージを付与できる。また、ゲームのレベルに応じて顔のパーツの入れ替えを行うことによって、ゲームのレベルの難易度を顔の変形の程度によって表現することができる。
【０４４９】
上記第４の実施形態では、例えば、図４３のステップ３０、図４５のステップ４０、あるいは、図１４のステップ１６の配役決定処理およびステップ１８のゲーム実行の処理と同様に、ゲームのセーブデータ記憶域Ｄｏに格納済みの顔画像を基に敵オブジェクトＥＯを作成し、ゲームを実行することを想定して説明した。しかし、図４６のステップ９０の処理として、例えば、図１５のステップ１００−ステップ１０５の処理を実行してもよい。すなわち、顔画像取得処理で取得し、ゲームのセーブデータ記憶域Ｄｏに格納前の状態で、本実施形態のゲームを実行してもよい。そして、図１５のステップ１０７−ステップ１１０と同様に、ゲームで成功した場合に、取得した顔画像をゲームのセーブデータ記憶域Ｄｏに格納すればよい。このような構成によって、第１の実施得形態と同様、ユーザは、取得した顔画像を保存するため、ますます熱心にゲームに取り組むようになる。
【０４５０】
（第５の実施形態）
＜ゲーム装置１０による顔画像の撮像及び３次元顔オブジェクトの生成＞
以下に説明する実施形態では、図１から図６において説明されたゲーム装置１０を用いて人物の顔を撮像する例について説明される。また、本実施形態では、撮像された顔画像が顔の３次元形状モデルに貼り付けられて３次元顔オブジェクトが生成される。生成された３次元顔オブジェクトは、例えば、各種ゲームのキャラクタ等として用いられる。この顔の３次元形状モデルを構成する制御点を移動させることにより顔画像の表情を変化させることができる。具体的には、３次元形状モデルの目の周囲を構成する各制御点を移動させることによりウィンクをさせることができるし、口の周囲を構成する各制御点を移動させることにより口を開いた表情を表示することができる。
【０４５１】
ゲーム装置１０は、例えば、ゲーム装置１０の操作者（以下、ユーザともいう。）や、操作者の近くにいる人物の顔を、その場で簡単にキャラクタにするために、外側撮像部２３又は内側撮像部２４によって撮像された１枚の顔画像を３次元形状モデルに貼り付けて３次元顔オブジェクトを生成する。３次元形状モデルに貼り付けられる顔画像は、撮像対象人物の正面から撮像された画像であることが望ましい。１枚の顔画像、すなわち、一方向から撮像された顔画像が３次元形状モデルに貼り付けられる場合には、撮像対象人物の顔の形状と３次元形状モデルの形状とに大きな違いはないとしてアニメーションが作られ
ることが多い。ただし、見た目に違和感の少ない実存の人物の表情に近いアニメーションを実現するためには、例えば、３次元形状モデルの左右の目と口とが変形する場合には、３次元形状モデルの左右の目と口との位置に左右の目と口との位置が適合する顔画像の取得が望まれる。ゲーム装置１０を用いてユーザが自身又は他人の顔画像を撮像する際には、顔の位置調整はゲーム装置１０のユーザの手にゆだねられる。そのため、本実施形態において、ゲーム装置１０は、違和感の少ない表情をする３次元顔オブジェクトを生成するために、撮像対象人物の顔の位置の調整の誘導を行い、３次元形状モデルに貼り付けるための適正な顔画像の撮像を支援する。
【０４５２】
図４８は、メインメモリ３２のメモリマップの一例を示す図である。メインメモリ３２は、ワーク領域に、プログラム記憶領域７０とデータ記憶領域７２とを含む。プログラム記憶領域７０には、仮想ゲーム等のアプリケーションプログラム（情報処理プログラム）が記憶される。情報処理プログラムは、顔認識プログラム７０ａ、撮像プログラム７０ｂ、３次元顔オブジェクト生成プログラム７０ｃ、及びその他各種プログラムを有する。
【０４５３】
顔認識プログラム７０ａは、顔画像から特徴点を検出したり、検出した特徴点に基づいて顔画像の人物の性別及び年代を判定したりするプログラムである。顔認識プログラム７０ａは、公知のソフトウェアを利用することができるため顔認識プログラム７０ａの処理の詳細については、説明は省略される。
【０４５４】
顔認識プログラム７０ａの実行を通じて、情報処理部３１は、所定周期で、外側撮像部２３又は内側撮像部２４によって撮像された撮像対象人物の顔画像に対して、エッジ検出等の画像処理を施し、該顔画像における複数の特徴点の位置を検出する。特徴点検出が行われる所定周期は、本実施形態では、１０フレームである。フレームは、画面更新単位時間であって、１フレームは６０分の１秒である。ただし、本発明の実施において、特徴点検出処理の所定周期が１０フレームに限られるわけではない。
【０４５５】
図４９は、顔認識プログラム７０ａの実行によって検出される、顔の特徴点の一例を示す図である。本実施形態では、顔認識プログラム７０ａの実行によって顔画像から４２箇所の特徴点が検出される。ただし、顔画像から検出される特徴点は４２箇所に限られず、処理に応じて適宜変更可能である。
【０４５６】
顔認識プログラム７０ａによって検出された特徴点Ｐ１から特徴点Ｐ４２の位置は、２次元のカメラ座標系で表わされる。図４９に示される顔画像においては、顔画像の左上頂点がカメラ座標系の原点Ｏである。顔画像の右方向がＸ軸のプラス方向である。顔画像の下方向がＹ軸のプラス方向である。特徴点Ｐ１から特徴点Ｐ４２のそれぞれの位置情報は、このようなカメラ座標系のＸ座標とＹ座標とで示される。また、顔認識プログラム７０ａは、性別や年代毎の各特徴点の位置関係の特徴等のデータベースを保持しており、特徴点Ｐ１からＰ４２の位置情報などを用いて、撮像対象人物の性別および年代を判定可能である。顔認識プログラム７０ａの実行によって判定される年代は、例えば、「子供」、「大人」、「高齢者」である。または、例えば、「１０代未満」、「１０代」、「２０代」、「３０代」、・・・、「７０代」、「８０代以上」等のように、或る程度の幅を持たせて年齢を検出してもよい。ただし、性別及び年代の判定処理は、特徴点検出処理に比べると複雑であるため、特徴点検出処理よりも比較的時間を要する。また、判定される年代の幅が小さくなるほど、処理が複雑になるため、年代の判定処理に時間を要する。
【０４５７】
撮像プログラム７０ｂは、撮像対象人物の顔の位置合わせの誘導をして３次元形状モデルの貼り付け用の顔画像を撮像するプログラムである。３次元形状モデルは、左右の目と口とが変形するモデルである（詳細は後述）。なお、ゲーム装置１０は、外側撮像部２３と内側撮像部２４とを備えるので、内側撮像部２４を用いてゲーム装置１０の操作者自身
の顔を撮像することもできるし、外側撮像部２３を用いて操作者以外の人物の顔を撮像することもできる。すなわち、撮像対象人物は、ゲーム装置１０の操作者であってもよいし、操作者以外の人物であってもよい。さらに、撮像対象は、顔認識プログラム７０ａによって顔と認識されるものであれば、人物に限られず、動物であってもよい。
【０４５８】
撮像プログラム７０ｂでは、撮像対象人物の顔の位置合わせの誘導は、（１）撮像対象人物の顔と外側撮像部２３又は内側撮像部２４との距離の調整の誘導と、（２）撮像対象人物の顔の左右の目及び口を３次元形状モデルの左右の目と口との位置に合わせる位置合わせの誘導と、の２つのステップを含む。
【０４５９】
上記（１）の誘導において、顔認識プログラム７０ａから取得された顔画像の各特徴点の位置情報から、撮像対象人物の顔と外側撮像部２３または内側撮像部２４との距離が適当であるか否かが判定される。撮像対象人物の顔と外側撮像部２３または内側撮像部２４との適当な距離とは、例えば、撮像画像中の顔部分が３次元形状モデルに貼り付けるのに適当なサイズになる距離のことを示す。また、３次元形状モデルに貼り付けるのに適当なサイズの顔画像とは、例えば、３次元形状モデルとの、顔の寸法、各特徴点間の位置等の差が許容される所定の誤差の範囲内にある画像のことをいう。
【０４６０】
本実施形態では、撮像プログラム７０ｂの実行において、情報処理部３１は、顔画像の特徴点のうち、左右の目の中心点（図４９における特徴点Ｐ１３と特徴点Ｐ２２）間の距離に基づいて、撮像対象人物の顔と外側撮像部２３又は内側撮像部２４との距離が適当か否かを判定する。
【０４６１】
例えば、撮像プログラム７０ｂに左右の目の中心点間の距離の許容範囲が含まれており、撮像プログラム７０ｂが読み出されると左右の目の中心点間の距離の許容範囲もメインメモリ３２に保持される。撮像プログラム７０ｂの実行による上記（１）の誘導では、顔画像の左右の目の中心点間の距離が許容範囲内にあるか否かに応じて、ゲーム装置１０の操作者に撮像対象人物の顔と外側撮像部２３又は内側撮像部２４との距離の調整を促すメッセージが表示される。
【０４６２】
上記（１）の誘導が終わると、次に、（２）撮像対象人物の顔の左右の目及び口を３次元形状モデルの左右の目と口との位置に合わせる位置合わせの誘導が行われる。外側撮像部２３又は内側撮像部２４によって撮像された画像を表示している上側ＬＣＤ２２に左右の目及び口の位置の目標範囲が表示される。この目標範囲は、３次元形状モデルの左右の目と口との位置に対応している。操作者は、上側ＬＣＤ２２に映し出される撮像対象人物の顔と、３次元形状モデルに対応する左右の目と口との目標位置とを目視しながら、撮像対象人物の顔の位置合わせを行う。このようにしてゲーム装置１０の操作者に対する位置合わせの誘導が行われる。
【０４６３】
例えば、撮像プログラム７０ｂに３次元形状モデルの左右の目の中心点及び口の中心点を基準点としたそれぞれの目標範囲が含まれており、撮像プログラム７０ｂが読み出されると左右の目と口とのそれぞれの目標範囲もメインメモリ３２に保持される。撮像対象人物の左右の目の中心点及び口の中心点が、それぞれの目標範囲内に位置すると判定されると、３次元形状モデル貼り付け用の撮像対象人物の顔画像が撮像（記憶）される。撮像プログラム７０ｂにおける処理の詳細については、後述される。
【０４６４】
３次元顔オブジェクト生成プログラム７０ｃは、３次元形状モデルに顔画像を貼り付け、撮像対象人物の顔の３次元顔オブジェクトを生成するためのプログラムである。３次元顔オブジェクト生成プログラム７０ｃにおける処理の詳細については、後述される。
【０４６５】
顔認識プログラム７０ａ、撮像プログラム７０ｂ、及び３次元顔オブジェクト生成プログラム７０ｃは、データ保存用内部メモリ３５に記憶されており、適宜、情報処理部３１によってメインメモリ３２に読み出される。また、これに限られず、撮像プログラム７０ｂ及び３次元顔オブジェクト生成プログラム７０ｃは、外部メモリ４５に記録されており、適宜、情報処理装置３１によってメインメモリ３２に読み出されてもよい。または、撮像プログラム７０ｂ及び３次元顔オブジェクト生成プログラム７０ｃは、無線ＬＡＮを通じて、他のゲーム装置１０やサーバ等から取得され、適宜メインメモリに読み出されてもよい。
【０４６６】
メインメモリ３２のデータ記憶領域７２には、３次元形状モデル７２ａと、３次元顔オブジェクト情報７２ｂとが記憶されている。
【０４６７】
３次元形状モデル７２ａは、３次元顔オブジェクト生成プログラム７０ｃによって用いられる３次元の顔モデルである。
【０４６８】
図５０は、３次元形状モデル７２ａの一例を示す図である。３次元形状モデル７２ａは、本実施形態では、ポリゴンで定義された顔の３次元形状モデルである。３次元形状モデル７２ａがポリゴンで定義されている場合には、各ポリゴンの頂点の３次元座標によって表面の形状が決まる。３次元形状モデル７２ａは、変形するために用いられる複数の制御点を有する。制御点は、例えば、左右の目の周囲や口の周囲などの、変形させたい箇所に配置される。制御点を移動させることによって、３次元形状モデル７２ａは、目や口を閉じたり開いたりして顔の表情を変化させることができる。また、３次元形状モデル７２ａは、顔の向き等も変更可能なモデルである。
【０４６９】
３次元形状モデル７２ａには、特徴点ＴＴが設定される。特徴点ＴＴとして、例えば、目や口の端部、鼻の頂部、顎の下端部のように、実際に特徴のある部分、または、それらの中間のようなそれ自体では特徴はないが位置的に特定し易い部分などが選ばれる。図５０に示される３次元形状モデル７２ａには、左右の目の中心点と口の中心点とが特徴点ＴＴとして設定されている。特徴点ＴＴは、３次元形状モデル７２ａに２次元顔画像が貼り付けられる際の位置合わせの基準点として用いられる。より具体的には、２次元顔画像の各特徴点が３次元形状モデル７２ａの各特徴点に合致するように貼り付けられる。
【０４７０】
また、３次元形状モデル７２ａは、ポリゴンで定義されたものに限られず、自由曲面で定義された３次元形状モデルであってもよい。３次元形状モデル７２ａが自由曲面で定義されている場合には、局面を定義する関数、及び、各制御点の座標によって表面の形状が決まる。
【０４７１】
３次元形状モデル７２ａは、例えば、３次元顔生成プログラム７０ｃに含まれており、３次元顔オブジェクト生成プログラム７０ｃが読み出されると、メインメモリ３２に保持される。また、これに伴って、３次元形状モデル７２ａの左右の目の中心点と口の中心点とのカメラ座標系における座標などもメインメモリ３２に保持される。ただし、３次元形状モデル７２ａは、３次元顔生成プログラム７０ｃとは独立して、ゲーム装置１０のデータ保存用内部メモリ３５に記憶されていてもよい。
【０４７２】
３次元顔オブジェクト情報７２ｂは、３次元顔オブジェクト生成プログラム７０ｃによって生成された、３次元形状モデル７２ａに２次元の顔画像が貼り付けられた３次元顔オブジェクトに関する情報である。
【０４７３】
図５１は、３次元顔オブジェクト情報７２ｂの一例を示す図である。３次元顔オブジェクト情報７２ｂは、３次元顔オブジェクトデータ７２１、識別情報７２２、特徴点情報７
２３、性別情報７２４、年代情報７２５、及びユーザ名７２６を含む。
【０４７４】
３次元顔オブジェクトデータ７２１は、３次元顔オブジェクト生成プログラム７０ｃによって生成された、３次元モデル７２ａに顔画像が貼り付けられた３次元顔オブジェクトである。識別情報７２２は、３次元顔オブジェクト生成プログラム７０ｃによって生成された３次元顔オブジェクトを、ゲーム装置１０が内部的に識別するための情報である。識別情報７２２は、例えば、半角英数字の組み合わせで、他の３次元顔オブジェクトと重複しないように割り当てられる。
【０４７５】
特徴点情報７２３は、顔認識プログラム７０ａによって検出された３次元顔オブジェクトデータ７２１の顔画像の各特徴点の位置情報を含む。性別情報７２４は、顔認識プログラム７０ａによって判別された、３次元顔オブジェクトデータ７２１の顔画像の性別である。性別情報７２４は、「男性」、「女性」の何れかである。年代情報７２５は、顔認識プログラム７０ａによって判定された、３次元顔オブジェクトデータ７２１の顔画像の年代である。年代情報７２５は、例えば、「子供」、「大人」、「高齢者」等のうちの何れか１つである。
【０４７６】
ユーザ名７２６は、ゲーム装置１０の操作者によって３次元顔オブジェクト７２１に付される名前である。例えば、性別情報７２４、年代情報７２５、及びユーザ名７２６は、３次元顔オブジェクト７２１のプロフィールとして、ゲーム装置１０の上側ＬＣＤ２２又は下側ＬＣＤ１２に表示される情報である。
【０４７７】
３次元顔オブジェクト情報７２ｂは、３次元顔オブジェクト生成プログラム７０ｃによって生成された各３次元顔オブジェクトについて記憶される。
【０４７８】
（動作例）
図５２は、ゲーム装置１０の顔画像の撮像の誘導から３次元顔オブジェクト生成までの処理のフローの一例を示す図である。本実施形態では、外側撮像部２３、又は、内側撮像部２４を用いて撮像された画像がゲーム装置１０の上側ＬＣＤ２２に出力されるものとする。また、撮像対象人物は、ゲーム装置１０の操作者自身、操作者以外の人物、もしくは、写真等の画像を含む。なお、以降、内側撮像部２４又は外側撮像部２３をまとめて「撮像部」と称する。ただし、「撮像部」と称する場合には、内側撮像部２４と外側撮像部２３とのうち、起動している方を示していることとする。
【０４７９】
ゲーム装置１０の操作者によって、撮像プログラム７０ｂ又は撮像プログラム７０ｂを用いるアプリケーションプログラムが起動されると、図５２に示されるフローが開始される。また、撮像プログラム７０ｂ又は撮像プログラム７０ｂを用いるアプリケーションプログラムが起動されると、顔認識プログラム７０ａも起動される。顔認識プログラム７０ａの実行によって、撮像部から入力される顔画像が、例えば、１０フレーム周期で処理され、顔画像の特徴点が出力される。ただし、本発明の実施において、顔認識プログラム７０ａの処理の周期が１０フレームに限定されるわけではない。また、顔認識プログラム７０ａの実行によって、撮像部から入力される顔画像の性別及び年代が判定される。ただし、顔画像の性別及び年代の判定には時間がかかるため、まずは特徴点が検出され、その後に、性別及び年代の判定結果が出力される。
【０４８０】
情報処理部３１は、顔認識プログラム７０ａによって検出された顔画像の特徴点を取得できない場合には（ＯＰ１：Ｎｏ）、撮像対象人物の顔を上側ＬＣＤ２２の画面に映すように操作者を誘導するための誘導メッセージを出力する（ＯＰ２）。例えば、「顔を映してください。」等の誘導メッセージが上側ＬＣＤ２２の画面に表示される。
【０４８１】
情報処理部３１は、顔認識プログラム７０ａによって検出された顔画像の特徴点を取得した場合には（ＯＰ１：Ｙｅｓ）、顔画像の特徴点から、左右の目の中心点間の距離を取得する（ＯＰ３）。例えば、情報処理部３１は、左右の目の中心点のそれぞれの座標から、左右の中心点間の距離を計算して取得する。
【０４８２】
情報処理部３１は、顔画像の左右の目の中心点間の距離が許容範囲内であるか否かを判定する（ＯＰ４）。顔画像の左右の目の中心点間の距離が許容範囲内にある場合には（ＯＰ４：Ｙｅｓ）、処理がＯＰ６に進む。顔画像の左右の目の中心点間の距離が許容範囲内にない場合には（ＯＰ４：Ｎｏ）、撮像対象人物の顔と撮像部との距離の調整を促す誘導メッセージが上側ＬＣＤ２２の画面に表示される（ＯＰ５）。
【０４８３】
例えば、３次元形状モデル７２ａのカメラ座標系における左右の目の中心点間の距離がメインメモリ３２のデータ記憶領域７２に保持されており、顔画像の左右の目の中心点間の距離の許容範囲は、３次元形状モデル７２ａのカメラ座標系における左右の目の中心点間の距離を基準値とした許容される所定の誤差の範囲である。すなわち、顔画像の左右の目の中心点間の距離の許容範囲は、基準値±誤差αである。ただし、顔画像の左右の目の中心間の距離の許容範囲は、これに限定されるものではない。
【０４８４】
ＯＰ４における判定処理では、情報処理部３１は、顔画像の左右の目の中心点間の距離が、許容範囲の最小値（基準値−誤差α）未満であるか否かを判定し、次に、許容範囲の最大値（基準値＋誤差α）より大きいか否かを判定する。具体的には、以下の通りである。
【０４８５】
情報処理部３１は、ＯＰ３において取得された顔画像の左右の目の中心点間の距離が、許容範囲の最小値（基準値−誤差α）未満であるか否かを判定する。顔画像の左右の目の中心点間の距離が許容範囲の最小値（基準値−誤差α）未満である場合には（ＯＰ４：Ｎｏ）、撮像対象人物の顔と撮像部との距離が遠すぎることが示されるので、情報処理装置３１は、撮像対象人物の顔と撮像部との距離を近づけるように誘導するメッセージを上側ＬＣＤ２２の画面に表示する（ＯＰ５）。撮像対象人物の顔と撮像部との距離を近づけるように誘導するメッセージは、例えば、「顔を近づけてください」等である。その後処理がＯＰ１に戻る。誘導メッセージは、撮像部によって順次撮像されて上側ＬＣＤ２２の画面に表示される画像とともに、上側ＬＣＤ２２の画面に表示される。ただし、これに限られず、例えば、誘導メッセージのみが上側ＬＣＤ２２の画面に表示され、所定時間後には、撮像部によって撮像された画像が上側ＬＣＤ２２の画面に表示されるようにしてもよい。
【０４８６】
図５３は、撮像対象人物の顔が撮像部から離れ過ぎている場合の、誘導メッセージの表示画面例である。図５３に示される例では、撮像対象人物の顔画像の左右の目の距離が許容範囲より小さいため、「顔を近づけてください」等の誘導メッセージが表示されている。また、図５３に示される例では、誘導メッセージは、撮像部によって順次撮像されて表示される画像とともに上側ＬＣＤ２２の画面に表示されている。
【０４８７】
顔画像の左右の目の中心点間の距離が許容範囲の最小値（基準値−誤差α）未満ではない場合には、情報処理部３１は、顔画像の左右の目の中心点間の距離が許容範囲の最大値（基準値＋誤差α）より大きいか否かを判定する。顔画像の左右の目の中心点間の距離が許容範囲の最大値（基準値＋誤差α）より大きい場合には（ＯＰ４：Ｎｏ）、撮像対象人物の顔と撮像部との距離が近すぎることが示されるので、情報処理装置３１は、撮像対象人物の顔と撮像部との距離を遠ざけるように誘導するメッセージを上側ＬＣＤ２２の画面に表示する（ＯＰ５）。撮像対象人物の顔と撮像部との距離を遠ざけるように誘導するメッセージは、例えば、「顔を遠ざけてください」等である。その後、処理がＯＰ１に戻る
。
【０４８８】
顔画像の左右の目の中心点間の距離が許容範囲の最小値（基準値−誤差α）未満ではなく、且つ、許容範囲の最大値（基準値＋誤差α）より大きくない場合には、顔画像の左右の目の中心点間の距離が許容範囲内にあることが示され（ＯＰ４：Ｙｅｓ）、処理がＯＰ６に進む。
【０４８９】
図５４は、撮像対象人物の顔が撮像部に近づき過ぎている場合の、誘導メッセージの表示画面例である。図５４に示される例では、撮像対象人物の顔画像の左右の目の距離が許容範囲より大きいため、「顔を遠ざけてください」等の誘導メッセージが表示されている。また、図５４に示される例では、誘導メッセージは、撮像部によって順次撮像されて表示される画像とともに上側ＬＣＤ２２の画面に表示されている。この段階では、撮像対象人物と撮像部との距離調整を誘導しているだけである。そのため、図５４に示されるように、撮像対象人物の顔が画面の中心から外れた位置にある場合でも、情報処理部３１は、左右の目の中心点の距離が取得できるのであれば、ＯＰ４の判定を行い、誘導メッセージを表示することができる。
【０４９０】
ＯＰ４において実行される判定処理は、上述の処理に限られず、顔画像の左右の目の中心点間の距離が許容範囲の最大値（基準値＋誤差α）より大きいか否かを判定した後に、顔画像の左右の目の中心点間の距離が許容範囲の最小値（基準値−誤差α）未満であるか否かが判定されてもよく、その判定の順番は限定されない。
【０４９１】
また、ＯＰ４において実行される判定処理は、顔画像の左右の目の中心点間の距離が許容範囲の最小値以上且つ最大値以下であるか否かを判定し、最小値以上且つ最大値以下である場合には、処理がＯＰ６に進むようにしてもよい。顔画像の左右の目の中心点間の距離が許容範囲の最小値以上且つ最大値以下でない場合には、次に、顔画像の左右の目の中心点間の距離が許容範囲の最小値未満であるか否かを判定し、この判定結果に応じた誘導メッセージを表示してもよい。顔画像の左右の目の中心点間の距離が許容範囲の最小値未満であるか否かを判定する代わりに、許容範囲の最大値より大きいか否かを判定してもよく、何れの判定を行うかは限定されない。
【０４９２】
また、ＯＰ４において、許容範囲内とは、許容範囲の最小値以上最大値未満、最小値以上最大値以下、最小値より大きく最大値以下、又は、最小値より大きく最大値より小さい、のいずれであってもよく、限定されない。
【０４９３】
顔画像の左右の目の中心点間の距離が許容範囲内であると判定されると（ＯＰ４：Ｙｅｓ）、撮像対象人物の顔と撮像部との距離の調整が完了したことが示される。次に、撮像対象人物の左右の目と口との位置の調整を誘導するために、情報処理部３１は、左右の目と口との目標範囲、及び、誘導メッセージを上側ＬＣＤ２２に表示する（ＯＰ６）。左右の目と口との目標範囲及び誘導メッセージは、周期的に（例えば、６０分の１秒周期）撮像部によって撮像され更新される、ほぼリアルタイムに撮像対象者の顔の状況を確認可能な最新の画像とともに、上側ＬＣＤ２２の画面に表示される。ただし、これに限られず、例えば、誘導メッセージのみが上側ＬＣＤ２２の画面に表示され、所定時間後には、撮像部によって撮像された画像と左右の目と口との目標範囲とが上側ＬＣＤ２２の画面に表示されるようにしてもよい。撮像部によって順次撮像されて上側ＬＣＤ２２の画面に表示される画像とともに左右の目と口との目標位置が上側ＬＣＤ２２の画面に表示されることによって、ゲーム装置１０の操作者は撮像対象人物の顔の位置を確認しながら位置合わせをスムーズに行うことができる。
【０４９４】
顔画像の左右の目と口との目標範囲は、それぞれ、例えば、カメラ座標系に変換された
３次元形状モデル７２ａの左右の目の中心点及び口の中心点の座標を基準点として定義される。３次元形状モデル７２ａの左右の目の中心点と口の中心点との位置情報は、例えば、それぞれ、カメラ座標系（図４９参照）に変換された座標で記憶されている。例えば、目標範囲は、基準点からＸ軸方向に±β、Ｙ軸方向に±γの範囲で定義される。また、目標範囲は、基準点からの距離σの範囲として定義されてもよく、本発明の実施において、何れかの定義に限定されるものではない。
【０４９５】
図５５は、撮像対象人物の左右の目と口との位置の調整を誘導するための目標範囲と誘導メッセージとの画面表示例を示す図である。図５５に示される例では、左右の目と口との目標範囲が、左右の目のイメージＩＭ１と口のイメージＩＭ２とで表示されている。また、左右の目のイメージＩＭ１と口のイメージＩＭ２とに合わせるように誘導するために、「目と口を線に合わせてください」等の誘導メッセージが表示される。なお、左右の目のイメージＩＭ１及び口のイメージＩＭ２の大きさ（寸法）は、それぞれの目標範囲と厳密に一致していなくともよい。なお、左右の目と口との目標範囲は、イメージ表示に限られず、３次元形状モデル７２ａの左右の目の中心点と口の中心点とを表示したり、円で表示したりするなど様々な表示形態をとることができ、誘導メッセージも目標位置の表示形態に応じて変更可能である。
【０４９６】
また、ＯＰ６において、誘導メッセージが表示される際に、顔認識プログラム７０ａの顔画像の性別及び年代の判定が終了している場合には、情報処理部３１は、左右の目と口との目標位置とともに、顔画像の性別及び年代の判定結果を出力してもよい。図５５においては、撮像対象人物の性別の判定結果は「男性」、年代の判定結果は「子供」であることが画面下方に表示されている。なお、ＯＰ６の段階において、撮像対象人物の顔は適切な位置にあるとは限らないため、性別及び年代の判定は最終的なものではない。
【０４９７】
ＯＰ６において、左右の目と口との目標範囲と誘導メッセージとが表示された後に、情報処理部３１は、顔認識プログラム７０ａの実行によって新たに検出された顔画像の特徴点を取得する（ＯＰ７）。情報処理部３１は、新たに取得された顔画像の左右の目の中心点と口の中心点とが、何れも、目標範囲内に含まれるか否かを判定する（ＯＰ８）。
【０４９８】
例えば、目標範囲が基準点からＸ軸方向に±β、Ｙ軸方向に±γの範囲で定義されている場合には、情報処理部３１は、顔画像の左右の目の中心点と口の中心点とのそれぞれの座標がそれぞれの目標範囲内に含まれているか否かを判定することで、顔画像の左右の目の中心点と口の中心点とがそれぞれの目標範囲内に含まれるか否かを判定する。
【０４９９】
また、例えば、目標範囲が基準点からの距離σ以下の範囲で定義されている場合には、情報処理部３１は、顔画像の左右の目の中心点と口の中心点のそれぞれについて、基準点からの距離を計測し、該距離が距離σ以下であるか否かを判定することで、顔画像の左右の目の中心点と口の中心点とがそれぞれの目標範囲内に含まれるか否かを判定する。
【０５００】
何れの場合にも、顔画像の左右の目と口との目標範囲は、顔画像の左右の目の中心点間の距離の許容範囲（基準値±誤差α）に比べて、範囲が狭く（条件が厳しく）設定されている。これは、まず、撮像対象人物の顔と撮像部との距離の調整によって顔画像の位置を粗調整し、次に、顔画像の左右の目と口とを目標位置に合わせるという微調整を行う手法を行うためである。ゲーム装置１０は、まず、左右の目の中心点間の距離の判定という比較的単純な処理で撮像対象人物の顔の位置の粗調整の誘導を行い、次に、左右の目と口との位置合わせという比較的複雑で微細な調整の誘導を行うことで、操作者をスムーズに誘導することができる。
【０５０１】
顔画像の左右の目の中心点と口の中心点とが、何れも、それぞれの目標範囲内に含まれ
ていない場合には（ＯＰ８：Ｎｏ）、情報処理部３１は、顔認識プログラム７０ａの実行によって次の顔画像の特徴点が検出されるまで待機し、ＯＰ７とＯＰ８の処理を繰り返す。なお、上側ＬＣＤ２２の画面表示は、左右の目と口との目標範囲と誘導メッセージとが表示されたままである。
【０５０２】
顔画像の左右の目の中心点と口の中心点とが、何れも、それぞれの目標範囲内に含まれる場合には（ＯＰ８：Ｙｅｓ）、情報処理部３１は、自動的に撮像部のシャッターを切って撮像する（ＯＰ９）。すなわち、情報処理部３１は、顔画像の左右の目の中心点と口の中心点とが、何れも、それぞれの目標範囲内に存在すると判定した後に、撮像部によって撮像された顔画像を、３次元形状モデル７２ａの貼り付け用の顔画像として、メインメモリ３２のワーク領域に記憶する。また、これに限られず、ゲーム装置１０の操作者がボタン操作によってシャッターを切って、貼り付け用の顔画像を撮像してもよい。
【０５０３】
図５６は、撮像対象人物の左右の目の中心点と口の中心点とが目標位置に含まれる際の表示画面の一例を示す図である。図５６に示されるような状態になると、情報処理部３１は、顔画像の左右の目の中心点と口の中心点とがそれぞれの目標範囲内に存在すると判定し、自動的に撮像部のシャッターを切って撮像する。図５６においても、図５５と同様に、顔画像の性別及び年代の判定結果が表示される。
【０５０４】
情報処理部３１は、撮像された貼り付け用の顔画像を上側ＬＣＤ２２の画面に表示し、ゲーム装置１０の操作者に確認を促す。このとき、情報処理部３１は、顔認識プログラム７０ａによって判定された顔画像の性別及び年代の判定結果を最終結果としてともに表示する（ＯＰ１０）。
【０５０５】
図５７は、貼り付け用として撮像された顔画像の表示画面の一例を示す図である。また、貼り付け用の顔画像とともに、顔画像の性別及び年代の判定の最終結果も表示される。図５７に示される例では、性別及び年代の判定の最終結果として、「大人の男性顔」と表示されている。この他に性別及び年代に応じて、例えば、「子供の女性顔」、「高齢の男性顔」等の判定結果が表示される。
【０５０６】
ゲーム装置１０の操作者の操作によって、貼り付け用顔画像が確認されると、情報処理部３１は、３次元顔オブジェクト生成プログラム７０ｃを起動し、３次元形状モデル７２ａに貼り付け用顔画像を貼り付け、３次元顔オブジェクトを生成する（ＯＰ１１）。情報処理部３１は、生成した３次元顔オブジェクトをメインメモリ３２のワーク領域中のデータ記憶領域７２に格納する。このとき、情報処理部３１は、３次元顔オブジェクトとともに、顔画像の特徴点、性別及び年代の判定結果等を合わせて、３次元顔オブジェクト情報７２ｂとして記憶する。メインメモリ３２に記憶された３次元顔オブジェクト情報は、ゲーム装置１０の操作者による操作又はゲーム装置１０の電源切断処理において、データ保存用内部メモリ３５又はデータ保存用外部メモリ４６に記録される。
【０５０７】
図５８は、３次元形状モデル７２ａに貼り付け用顔画像を貼り付ける際の、２次元の顔画像と３次元形状モデル７２ａとの位置合わせの一例を示す図である。３次元顔オブジェクト生成プログラム７０ｃの実行を通じて、情報処理部３１は、貼り付け用画像の左右の目の中心点及び口の中心点と、３次元形状モデル７２ａの左右の目の中心点及び口の中心点と、をそれぞれ対応付け、それらの距離が最小となるように３次元形状モデル７２ａの向き、位置等を変更する。例えば、位置合わせの際にはエネルギー関数等が用いられる。また、貼り付け用画像と３次元形状モデル７２ａとで、左目の中心点間の距離Ｄ１、右目の中心点間の距離Ｄ２、口の中心点間の距離Ｄ３とし、これらの距離の二乗和（Ｄ１2＋
Ｄ２2＋Ｄ３2）が最小になるようにしてもよい。
【０５０８】
図５２のフローのＯＰ９において撮像された貼り付け用の顔画像は、３次元形状モデル７２ａと左右の目及び口の中心点が適合するように厳しい条件のもとで顔の位置調整が行われて撮像されているので、３次元形状モデル７２ａと精度良く位置合わせを行うことができる。
【０５０９】
（３次元顔オブジェクトの使用例）
図５９は、３次元顔オブジェクトの使用例１を示す図である。図５９は、ゲーム装置１０に記憶されている３次元顔オブジェクトの一覧画面の一例を示す図である。３次元顔オブジェクトは、それぞれがアプリケーションプログラムによって動作している。図５９に示される例において、３次元顔オブジェクトＧ０は、右目を閉じてウィンクをしている。３次元顔オブジェクトＧ３は、３次元オブジェクトＧ５の方に顔を向けている。また、例えば、３次元顔オブジェクトＧ５が操作者の操作によって選択されると、３次元顔オブジェクトＧ５の３次元顔オブジェクト情報７２ｂの情報が表示される。例えば、３次元顔オブジェクトＧ５のユーザ名（図５９では「山田さん」）、性別、年代（図５９では、「大人の男性顔」）等が表示される。
【０５１０】
図５９に示される何れの３次元顔オブジェクトも、貼り付け用の顔画像が、３次元形状モデル７２ａの左右の目と口との中心点と顔画像の左右の目と口との中心点に適合するように撮像されているので、違和感の少ない自然な表情を表現できる。また、例えば、３次元形状モデル７２の目の周囲の制御点を移動させることにより、目を閉じた表情を表示することができるが、このとき、３次元形状モデル７２の目の中心点と顔画像の目の中心点が適合しているため、目を閉じた表情を正しく表示することができる。
【０５１１】
図４３は、３次元顔オブジェクトの使用例２を示す図である。図４３は、ゲームのアプリケーションプログラムの実行中に表示される画面の一例を示す図である。３次元顔オブジェクトは、例えば、ゲーム装置１０の上側ＬＣＤ２２の画面に映し出された現実世界の裏側（仮想空間）から現実世界を突き破って飛び出してくる３次元オブジェクトの敵を撃破するゲームにおいて、キャラクタのフレームと組み合わされて、ゲーム中で３次元オブジェクトの敵キャラクタとして使用される。例えば、図５９で示される３次元顔オブジェクトの一覧画面を用いて、ユーザは、敵キャラクタの３次元顔オブジェクトを選択するようにしてもよい。図４３では、図５９において示された例における３次元顔オブジェクトのうちの一部が、敵キャラクタＥ０１〜Ｅ０７として使用されている。このような３次元オブジェクトの敵キャラクタは、３次元形状モデル７２ａを用いているため、表情を変えたり、向きを変えたりなどする。
【０５１２】
（本実施形態の作用効果）
ゲーム装置１０は、左右の目と口とが変形する３次元形状モデル７２ａに貼り付ける顔画像を撮像するために、（１）撮像対象人物の顔と撮像部との距離の調整を誘導し、（２）撮像対象人物の顔画像中における左右の目と口との位置の調整を誘導する。このように、上記（１）の誘導によって撮像対象人物の左右の目の位置を或る程度調整し、上記（２）の誘導によって、さらに左右の目と口との位置を合わせるための目標位置を表示してゲーム装置１０の操作者を誘導できるため、一度に左右の目と口との位置を調整する場合に比較して、ゲーム装置１０の操作者は撮像対象者の左右の目と口との位置合わせを容易に行うことができる。また、ゲーム装置１０の処理も、一度に左右の目と口との位置を調整する場合に比較して、複雑にならないため、ゲーム装置１０に対する負荷も軽くすることができる。また、画像内において、左右の目と口との目標位置に対して、撮像対象人物の左右の目及び口の配置の正確性を向上させることができる。また、このようにして撮像された顔画像は、３次元形状モデル７２ａに適合するように厳格な条件のもと撮像されているので、３次元形状モデル７２ａとの位置合わせの精度が向上する。これによって、撮像対象人物の顔を有し、違和感のない自然な表情をするオブジェクトを生成することができ
る。
【０５１３】
また、３次元形状モデル７２ａに適合するように撮像対象人物の顔画像が撮像されるので、ゲーム装置１０は、撮像された顔画像からモデルを作成したり、複数の３次元形状モデルを用意したりすることなく、１つのモデルで表情が変化する複数の３次元顔オブジェクトを生成することができる。
【０５１４】
また、ゲーム装置１０は、３次元顔オブジェクト用の顔画像を撮像するために、上記（１）と（２）のステップを踏まなければならないため、撮像対象人物の同意なく撮像することができず、盗撮防止の効果もある。
【０５１５】
また、ゲーム装置１０は、顔認識プログラム７０ａの実行によって撮像対象人物の性別及び年代を判定するが、性別及び年代の判定は顔画像の特徴点検出に比べて時間を要する。顔認識プログラム７０ａの性別及び年代の判定処理の間、ゲーム装置１０の操作者は上記（１）や（２）のような顔の位置調整の誘導に従って位置調整を行うことになるため、操作者に与える、撮像対象人物の性別及び年代判定の結果が出力されるまでの待ち時間による煩わしさを軽減することができる。
【０５１６】
（変形例）
本実施形態では、上記（１）撮像対象人物の顔と撮像部との距離の調整の誘導が、顔画像の左右の目の中心点間の距離に基づいて行われた。これに代えて、ゲーム装置１０は、顔画像の左右の目の中心点と口の中心点とで形成される三角形の面積に基づいて、撮像対象人物の顔と外側撮像部２３又は内側撮像部２４との距離の調整の誘導を行うことも可能である。この場合には、ゲーム装置１０は予め該三角形の面積の許容範囲を保持し、情報処理部３１は、顔画像の左右の目の中心点と口の中心点との位置情報から該三角形の面積を求め、該面積が許容範囲内か否かを判定する。該面積が許容範囲の最小値よりも小さければ、情報処理部３１は、撮像対象人物の顔を撮像部に近づけるように操作者に促すための誘導メッセージを表示させる。該面積が許容範囲の最大値よりも大きければ、情報処理部３１は、撮像対象人物の顔を撮像部から遠ざけるように操作者に促すための誘導メッセージを表示させる。また、誘導メッセージは、上側ＬＣＤ２２や下側ＬＣＤ１２の画面に表示されることに限られず、音声で出力されてもよい。
【０５１７】
また、上記（１）撮像対象人物の顔と撮像部との距離の調整の誘導は、顔画像の左右の目の中心点間の距離及び顔画像の左右の目の中心点と口の中心点とで形成される三角形の面積に限られず、顔画像における２つの特徴点間の距離に基づいて行われてもよい。さらに、撮像対象人物の顔と撮像部との距離の調整の誘導が終了した際に、該２つの特徴点と、該２つの特徴点以外の他の1つの特徴点との目標位置が表示されてもよい。まず、２つ
の特徴点を用いて撮像対象者の顔と撮像装置との位置関係をある程度調整した上で、さらに２つの特徴点と他の１つの特徴点の位置を合わせるための目標位置を表示して情報処理装置又は撮像装置の操作者を誘導できるため、一度に３つの特徴点の位置を調整する場合と比較して、操作者は３つの特徴点の位置合わせを容易に行うことができる。また、人によって、顔における２つの特徴点の間の距離は様々であるが、２つの特徴点の距離が３次元形状モデル７２ａにおける該２つの特徴点の間の距離になるように顔画像が撮影されるので、どんな人でも該２つの特徴点を３次元形状モデル７２ａに合わせることができる。また、該２つの特徴点と該他の1つの特徴点との位置関係も人それぞれであるが、撮像部
を傾ける等すれば、該２つの特徴点を３次元形状モデル７２ａに合わせた状態でさらに該他の１つの特徴点をモデルに合わせることもできる。これによって、撮像対象者がどんな人であっても、３次元形状モデル７２ａに貼り付けられる顔画像を撮像することができ、撮像対象者の３次元顔オブジェクトを生成することができる。
【０５１８】
また、本実施形態では、上記（１）の誘導において、顔画像の左右の目の中心点間の距離が許容範囲内にない場合には、誘導メッセージを表示して、撮像対象人物の顔と撮像部との距離の調整を誘導した。ゲーム装置１０は、顔画像の左右の目の中心点間の距離が許容範囲内にない場合のこのような撮像対象人物の顔と撮像部との距離の調整を誘導する誘導メッセージの表示を行わずに、顔画像の左右の目の中心点間の距離が許容範囲内に含まれたときに、上記（２）の誘導における、顔画像の左右の目と口との目標範囲を表示するようにしてもよい。
【０５１９】
また、本実施形態では、３次元形状モデル７２ａの左右の目と口とのそれぞれの中心点を基準点としたそれぞれの目標範囲が表示された。これに限られず、例えば、ゲーム装置１０は、左右の目の中心と鼻の頂点とを基準点としたそれぞれの目標範囲を表示し、撮像対象人物の左右の目と鼻とが目標範囲内に含まれるように操作者を誘導してもよい。すなわち、目標範囲として表示される箇所は、顔の特徴点の何れかを基準とした範囲であればよい。また、ゲーム装置１０は、３次元形状モデル７２ａの輪郭を表示し、この輪郭に撮像対象者の顔の輪郭を合わせるようにして操作者を誘導してもよい。
【０５２０】
（その他）
本実施形態において説明された、顔認識プログラム７０ａ、撮像プログラム７０ｂ、及び３次元顔オブジェクト生成プログラム７０ｃによる一連の処理は、ゲーム装置１０に限られず、例えば、カメラ付携帯電話端末、デジタルカメラ等の撮像装置と該撮像装置で撮像された画像を表示する表示装置とを備える装置に適用することができる。また、撮像対象人物の顔の位置合わせの誘導処理は、撮像装置及び表示装置と接続又は通信可能なパーソナルコンピュータに適用することもできる。
【０５２１】
また、本実施形態の顔認識プログラム７０ａ、撮像プログラム７０ｂ、及び３次元顔オブジェクト生成プログラム７０ｃは、インターネット等のネットワーク上のサーバに保持されてもよい。例えば、カメラ付き携帯電話端末、カメラ付き情報処理端末、カメラ付きパーソナルコンピュータ等のユーザ端末から撮像された顔画像が、ネットワーク上の該サーバに送信される。サーバ上では、顔認識プログラム７０ａ、撮像プログラム７０ｂ及び３次元顔オブジェクト生成プログラム７０ｃが実行されることによって、サーバは、送信されてきた顔画像を解析し（左右の目の中心点間の距離や、左右の目と口の位置の判定）、解析結果として、例えば、誘導メッセージや左右の目と口との目標範囲をユーザ端末に返信してもよい。ユーザ端末から送信される顔画像の左右の目と口とがそれぞれの目標範囲に含まれると、サーバは、顔画像を３次元形状モデル７２ａに貼り付け、３次元顔オブジェクトを生成し、ユーザ端末に送信してもよい。また、サーバは生成された３次元顔オブジェクトを、インターネット上で提供されるゲームのキャラクタとして用いてもよい。
【０５２２】
＜変形例＞
また、上述した実施例では、上側ＬＣＤ２２には、外側撮像部２３または内側撮像部２４により取得したカメラ画像ＣＩに基づいた実世界の平面画像（上述した立体視可能な画像とは反対の意味での平面視の画像）が表示されるが、裸眼で立体視可能な画像（立体画像）が表示してもよい。例えば、上述したように、ゲーム装置１０は、外側左撮像部２３ａおよび外側右撮像部２３ｂから取得したカメラ画像を用いた立体視可能な画像（立体画像）を上側ＬＣＤ２２に表示することが可能である。このとき、上側ＬＣＤ２２には、立体画像（実世界画像）の更に背後に存在する世界観をユーザに体験させる画像が表示される。
【０５２３】
この場合、情報処理部３１は、カメラ画像ＣＩとして外側左撮像部２３ａから得られた左目用画像および外側右撮像部２３ｂから得られた右目用画像を用いて、上述した画像処理を行う。
【０５２４】
具体的に、第１の描画方法では、図３２Ａに示したステップ８１の画像処理において、情報処理部３１は、外側左撮像部２３ａから得られた左目用画像（テクスチャデータ）および外側右撮像部２３ｂから得られた右目用画像（テクスチャデータ）をそれぞれ所定の距離ずらして境界面３に貼りつける。そして、図３２Ａに示したステップ８２の画像処理において、情報処理部３１は、仮想空間に配置された各オブジェクトを、２つの仮想カメラ（ステレオカメラ）から透視投影することによって、それぞれ左目用仮想世界画像と右目用仮想世界画像とを得る。これら左目用仮想世界画像と右目用仮想世界画像とが左目用表示画像および当該右目用表示画像となる。そして、情報処理部３１のＧＰＵ３１２が、当該左目用表示画像および当該右目用表示画像を上側ＬＣＤ２２に出力することで、上側ＬＣＤ２２には、立体画像が表示される。
【０５２５】
また、具体的に、第２の描画方法では、は図３２Ｂに示したステップ８３の画像処理において、情報処理部３１は、外側左撮像部２３ａから得られた左目用画像および外側右撮像部２３ｂから得られた右目用画像を用いて、それぞれの実カメラ画像のレンダリングした画像（左目用の実世界画像と右目用の実世界画像）を生成する。また、図３２Ｂに示したステップ８４の画像処理において、情報処理部３１は、仮想空間に配置された各オブジェクトを、２つの仮想世界描画用カメラ（ステレオカメラ）から透視投影することによって、それぞれ左目用仮想世界画像と右目用仮想世界画像とを得る。そして、図３２Ｂに示したステップ８５の画像処理において、情報処理部３１は、左目用の実世界画像と左目用仮想世界画像とを合成して左目用表示画像を生成する。同様に、情報処理部３１は、右目用の実世界画像と右目用仮想世界画像とを合成して右目用表示画像を生成する。そして、情報処理部３１のＧＰＵ３１２が、当該左目用表示画像および当該右目用表示画像を上側ＬＣＤ２２に出力することで、上側ＬＣＤ２２には、立体画像が表示される。
【０５２６】
また、上述した実施例では、ゲーム装置１０に内蔵する実カメラで撮像されたリアルタイムの動画像が上側ＬＣＤ２２に表示されるが、上側ＬＣＤ２２に表示する画像は、様々なバリエーションが考えられる。第１の例として、予め録画された動画像およびテレビジョン放送や他の装置から得られる動画像等が上側ＬＣＤ２２に表示されてもよい。この場合、上記動画像は、境界面３上にマッピングされることで仮想空間における位置が特定される。第２の例として、ゲーム装置１０に内蔵する実カメラや他の実カメラから得られた静止画像が上側ＬＣＤ２２に表示されてもよい。この場合も、上記例と同様に、当該静止画像は、境界面３上にマッピングされることで仮想空間における位置が特定される。ここで、実カメラから得られる静止画像は、ゲーム装置１０に内蔵する実カメラでリアルタイムに撮像された実世界の静止画像でもよく、当該実カメラや他の実カメラで予め撮影された実世界の静止画像でもよい。また、実カメラから得られる静止画像は、テレビジョン放送や他の装置から得られる静止画像でもよい。
【０５２７】
また、上記実施例では、上側ＬＣＤ２２は、パララックスバリア方式の液晶表示装置であり、視差バリアのＯＮ／ＯＦＦが制御されることにより立体表示と平面表示とを切り替えることができる。他の実施形態では、例えば、上側ＬＣＤ２２は、立体画像および平面画像を表示可能であるレンチキュラー方式の液晶表示装置であってもよい。上側ＬＣＤ２２がレンチキュラー方式の液晶表示装置である場合でも、上記実施形態と同様に、外側撮像部２３で撮像した２つの画像を縦方向に短冊状に分割して交互に配置することで画像が立体表示される。また、上側ＬＣＤ２２がレンチキュラー方式の液晶表示装置である場合でも、上記実施形態と同様に、内側撮像部２４で撮像した１つの画像をユーザの左右の目に視認させることによって、当該画像を平面表示させることができる。すなわち、レンチキュラー方式の液晶表示装置であっても、同じ画像を縦方向に短冊状に分割し、これら分割した画像を交互に配置することにより、ユーザの左右の目に同じ画像を視認させることができる。これにより、内側撮像部２４で撮像された画像を平面画像として表示すること
が可能である。
【０５２８】
また、上述した実施例では、２画面分の液晶表示部の一例として、物理的に分離された下側ＬＣＤ１２および上側ＬＣＤ２２を互いに上下に配置した場合（上下２画面の場合）を説明した。しかしながら、２画面分の表示画面の構成は、他の構成でもかまわない。例えば、下側ハウジング１１の一方主面に、下側ＬＣＤ１２および上側ＬＣＤ２２が左右に配置されてもかまわない。また、下側ＬＣＤ１２と横幅が同じで縦の長さが２倍のサイズからなる縦長サイズのＬＣＤ（すなわち、物理的には１つで、表示サイズが縦に２画面分あるＬＣＤ）を下側ハウジング１１の一方主面に配設して、２つの画像（例えば、撮像画像と操作説明画面を示す画像等）を上下に表示（すなわち上下の境界部分無しに隣接して表示）するように構成してもよい。また、下側ＬＣＤ１２と縦幅が同じで横の長さが２倍のサイズからなる横長サイズのＬＣＤを下側ハウジング１１の一方主面に配設して、横方向に２つの画像を左右に表示（すなわち左右の境界部分無しに隣接して表示）するように構成してもよい。すなわち、物理的に１つの画面を２つに分割して使用することにより２つの画像を表示してもかまわない。また、物理的に１つの画面を２つに分割して使用することにより上記２つの画像を表示する場合、当該画面全面にタッチパネル１３を配設してもかまわない。
【０５２９】
また、上述した実施例では、ゲーム装置１０にタッチパネル１３が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。また、上側ＬＣＤ２２の上面にタッチパネル１３を設けて上側ＬＣＤ２２に上述した下側ＬＣＤ１２に表示していた表示画像を表示してもよい。
【０５３０】
また、上述した実施例では、携帯型のゲーム装置１０や据置型のゲーム装置を用いて説明したが、一般的なパーソナルコンピュータ等の情報処理装置で本発明の画像処理プログラムを実行して、本発明を実現してもかまわない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）や携帯電話、パーソナルコンピュータ、カメラ等であってもよい。例えば、携帯電話が、１つのハウジングの主面に２つの表示部と、実カメラとを備えてもよい。
【０５３１】
また、上述した実施例では、画像処理プログラムを１つのゲーム装置１０で実行する例を用いたが、上記画像処理プログラムにおける処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲーム装置１０が他の装置（例えば、サーバや他のゲーム装置）と通信可能に構成されている場合、上記画像処理における処理ステップは、ゲーム装置１０および当該他の装置が協働することによって実行されてもよい。一例として、他の装置が図２９におけるステップ５２〜ステップ５７までの処理を実行し、ゲーム装置１０が図２９におけるステップ５８及びステップ５９の処理を実行するように協働してもよい。このように、上記画像における処理ステップの少なくとも一部を他の装置で行うことによって、上述した画像処理と同様の処理が可能となる。このように、上述した画像処理は、少なくとも１つの情報処理装置により構成される情報処理システムに含まれる１つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。
【０５３２】
また、上述した実施例では、ゲーム装置１０の情報処理部３１が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置１０が備える専用回路によって上記処理の一部または全部が行われてもよい。
【０５３３】
また、上述したゲーム装置１０の形状や、それに設けられている各種操作ボタン１４、アナログスティック１５、タッチパネル１３の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うま
でもない。また、上述した画像処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまでもない。
【０５３４】
また、上記画像処理プログラム（ゲームプログラム）は、外部メモリ４５やデータ保存用外部メモリ４６等の外部記憶媒体を通じてゲーム装置１０に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置１０に供給されてもよい。また、上記プログラムは、ゲーム装置１０内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【０５３５】
また、表示デバイスはヘッドマウントディスプレイであってもよい。
【０５３６】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書（定義を含めて）が優先する。
【符号の説明】
【０５３７】
１…第１空間
２…第２空間
３…境界面
１０…ゲーム装置
１１…下側ハウジング
１２…下側ＬＣＤ
１３…タッチパネル
１４…操作ボタン
１５…アナログスティック
１６…ＬＥＤ
１７…挿入口
１８…マイクロフォン用孔
１９…無線スイッチ
２１…上側ハウジング
２２…上側ＬＣＤ
２３…外側撮像部
２３ａ…外側左撮像部
２３ｂ…外側右撮像部
２４…内側撮像部
２５…３Ｄ調整スイッチ
２６…３Ｄインジケータ
２７…境界面カバー
２８…タッチペン
３１…情報処理部
３１１…ＣＰＵ
３１２…ＧＰＵ
３１３…ＶＲＡＭ
３２…メインメモリ
３３…外部メモリＩ／Ｆ
３４…データ保存用外部メモリＩ／Ｆ
３５…データ保存用内部メモリ
３６…無線通信モジュール
３７…ローカル通信モジュール
３８…ＲＴＣ
３９…加速度センサ
４０…角速度センサ
４１…電源回路
４２…Ｉ／Ｆ回路
４３…マイク
４４…スピーカ
４５…外部メモリ
４６…データ保存用外部メモリ
ＡＬ…照準カーソル
ＢＯ…弾オブジェクト
ＣＩ…カメラ画像
Ｃ０…仮想カメラ
Ｃ１…実世界描画用カメラ
Ｃ２…仮想世界描画用カメラ
ＥＯ…敵オブジェクト
ＥＳ…影
【図１】
0005738569.tif 000002
【図２】
0005738569.tif 000003
【図３Ａ】
0005738569.tif 000004
【図３Ｂ】
0005738569.tif 000005
【図３Ｃ】
0005738569.tif 000006
【図３Ｄ】
0005738569.tif 000007
【図４】
0005738569.tif 000008
【図５】
0005738569.tif 000009
【図６】
0005738569.tif 000010
【図７】
0005738569.tif 000011
【図８】
0005738569.tif 000012
【図９】
0005738569.tif 000013
【図１０】
0005738569.tif 000014
【図１１】
0005738569.tif 000015
【図１２】
0005738569.tif 000016
【図１３】
0005738569.tif 000017
【図１４】
0005738569.tif 000018
【図１５】
0005738569.tif 000019
【図１６】
0005738569.tif 000020
【図１７】
0005738569.tif 000021
【図１８】
0005738569.tif 000022
【図１９Ａ】
0005738569.tif 000023
【図１９Ｂ】
0005738569.tif 000024
【図１９Ｃ】
0005738569.tif 000025
【図２０Ａ】
0005738569.tif 000026
【図２０Ｂ】
0005738569.tif 000027
【図２１】
0005738569.tif 000028
【図２２】
0005738569.tif 000029
【図２３】
0005738569.tif 000030
【図２４】
0005738569.tif 000031
【図２５】
0005738569.tif 000032
【図２６】
0005738569.tif 000033
【図２７Ａ】
0005738569.tif 000034
【図２７Ｂ】
0005738569.tif 000035
【図２８】
0005738569.tif 000036
【図２９】
0005738569.tif 000037
【図３０】
0005738569.tif 000038
【図３１】
0005738569.tif 000039
【図３２Ａ】
0005738569.tif 000040
【図３２Ｂ】
0005738569.tif 000041
【図３３】
0005738569.tif 000042
【図３４】
0005738569.tif 000043
【図３５】
0005738569.tif 000044
【図３６】
0005738569.tif 000045
【図３７】
0005738569.tif 000046
【図３８】
0005738569.tif 000047
【図３９】
0005738569.tif 000048
【図４０】
0005738569.tif 000049
【図４１】
0005738569.tif 000050
【図４２】
0005738569.tif 000051
【図４３】
0005738569.tif 000052
【図４４】
0005738569.tif 000053
【図４５】
0005738569.tif 000054
【図４６】
0005738569.tif 000055
【図４７】
0005738569.tif 000056
【図４８】
0005738569.tif 000057
【図４９】
0005738569.tif 000058
【図５０】
0005738569.tif 000059
【図５１】
0005738569.tif 000060
【図５２】
0005738569.tif 000061
【図５３】
0005738569.tif 000062
【図５４】
0005738569.tif 000063
【図５５】
0005738569.tif 000064
【図５６】
0005738569.tif 000065
【図５７】
0005738569.tif 000066
【図５８】
0005738569.tif 000067
【図５９】
0005738569.tif 000068