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