(57)【要約】【課題】ゲームプレイ中におけるプレイヤの位置のずれの対処を図ること。【解決手段】位置取得部８２は、プレイヤ１００を撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置とプレイヤ１００との間隔に関する深度情報と、に基づいて、３次元空間におけるプレイヤ１００の位置に関する３次元位置情報を生成する位置情報生成手段から３次元位置情報を取得する。判定部８４は、３次元空間におけるプレイヤ１００の位置が判定対象空間内に含まれるか否かを判定する。ゲーム処理実行部８６は、判定手段の判定結果に基づいてゲーム処理を実行する。判定対象空間変更部８８は、３次元空間におけるプレイヤ１００の位置が判定対象空間内に含まれないと判定された場合、３次元空間におけるプレイヤ１００の位置に基づいて、判定対象空間の位置を変更する。【選択図】図１６
2011189066.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、３次元空間における前記プレイヤの位置に関する３次元位置情報を生成する位置情報生成手段から前記３次元位置情報を取得する位置取得手段と、
前記３次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定手段と、
前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行手段と、
前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記３次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更手段と、
を含むことを特徴とするゲーム装置。
【請求項２】
前記判定対象空間変更手段は、
前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれない状態が基準期間にわたって継続したか否かを判定する手段と、
前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれない状態が前記基準期間にわたって継続した場合、前記判定対象空間の位置を変更する手段と、を含む、
ことを特徴とする請求項１に記載のゲーム装置。
【請求項３】
ゲームキャラクタと、他の領域よりも明度が高く設定された注目領域と、を含むゲーム画面を表示手段に表示させる表示制御手段を含み、
前記表示制御手段は、前記ゲームキャラクタの表示位置と前記注目領域の表示位置との位置関係を、前記３次元空間における前記プレイヤの位置と前記判定対象空間との位置関係に基づいて制御する手段を含む、
ことを特徴とする請求項１又は２に記載のゲーム装置。
【請求項４】
第１のゲームキャラクタと第２のゲームキャラクタとを含むゲーム画面を表示手段に表示させる表示制御手段を含み、
前記表示制御手段は、前記第１のゲームキャラクタの表示位置と前記第２のゲームキャラクタの表示位置との位置関係を、前記３次元空間における前記プレイヤの位置と前記判定対象空間との位置関係に基づいて制御する手段を含む、
ことを特徴とする請求項１又は２に記載のゲーム装置。
【請求項５】
プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、３次元空間における前記プレイヤの位置に関する３次元位置情報を生成する位置情報生成手段から前記３次元位置情報を取得する位置取得ステップと、
前記３次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定ステップと、
前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行ステップと、
前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記３次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項６】
プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、３次元空間における前記プレイヤの位置に関する３次元位置情報を生成する位置情報生成手段から前記３次元位置情報を取得する位置取得手段、
前記３次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定手段、
前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行手段、
前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記３次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更手段、
を含むゲーム装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
プレイヤをカメラで撮影した画像を用いたゲームが知られている。例えば、特許文献１には、プレイヤを撮影した画像と、予め記憶された参考ゲーム画像と、を合成してモニタに表示させることにより、ゲームにおいてプレイヤがすべき動きを理解させる技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２８７８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、プレイヤを撮影した画像に加えて、赤外線センサを用いて得られる距離情報（例えば、プレイヤと赤外線センサとの距離）を用いたゲームが検討されている。例えば、プレイヤを撮影した画像及び距離情報に基づいてプレイヤの位置や動作が判別可能になる。
【０００５】
このようなゲームでは、プレイヤは体を動かしてゲームをプレイするため、プレイヤの立ち位置がずれることがあり、プレイヤが周りの障害物にぶつかってしまう可能性がある。そこで、プレイヤが所定の範囲から出ないようにカメラの撮影範囲を狭くすることも考えられる。しかし、この場合、プレイヤが撮影範囲から出やすくなってしまうので、プレイヤのゲームプレイに支障をきたす可能性がある。
【０００６】
本発明は、上記課題に鑑みてなされたものであって、その目的は、ゲームプレイ中におけるプレイヤの位置のずれの対処を図ることが可能になるゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係るゲーム装置は、プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、３次元空間における前記プレイヤの位置に関する３次元位置情報を生成する位置情報生成手段から前記３次元位置情報を取得する位置取得手段と、前記３次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定手段と、前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行手段と、前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記３次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更手段と、を含むことを特徴とする。
【０００８】
また、本発明に係るゲーム装置の制御方法は、プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、３次元空間における前記プレイヤの位置に関する３次元位置情報を生成する位置情報生成手段から前記３次元位置情報を取得する位置取得ステップと、前記３次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定ステップと、前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行ステップと、前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記３次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更ステップと、を含むことを特徴とする。
【０００９】
また、本発明に係るプログラムは、プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、３次元空間における前記プレイヤの位置に関する３次元位置情報を生成する位置情報生成手段から前記３次元位置情報を取得する位置取得手段、前記３次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定手段、前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行手段、前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記３次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更手段、を含むゲーム装置としてコンピュータを機能させる。
【００１０】
また、本発明に係る情報記憶媒体は、上記のプログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【００１１】
本発明によれば、ゲームプレイ中におけるプレイヤの位置のずれの対処を図ることが可能になる。
【００１２】
また、本発明の一態様では、前記判定対象空間変更手段は、前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれない状態が基準期間にわたって継続したか否かを判定する手段と、前記３次元空間における前記プレイヤの位置が前記判定対象空間内に含まれない状態が前記基準期間にわたって継続した場合、前記判定対象空間の位置を変更する手段と、を含む、ことを特徴とする。
【００１３】
また、本発明の一態様では、ゲームキャラクタと、他の領域よりも明度が高く設定された注目領域と、を含むゲーム画面を表示手段に表示させる表示制御手段を含み、前記表示制御手段は、前記ゲームキャラクタの表示位置と前記注目領域の表示位置との位置関係を、前記３次元空間における前記プレイヤの位置と前記判定対象空間との位置関係に基づいて制御する手段を含む、ことを特徴とする。
【００１４】
また、本発明の一態様では、第１のゲームキャラクタと第２のゲームキャラクタとを含むゲーム画面を表示手段に表示させる表示制御手段を含み、前記表示制御手段は、前記第１のゲームキャラクタの表示位置と前記第２のゲームキャラクタの表示位置との位置関係を、前記３次元空間における前記プレイヤの位置と前記判定対象空間との位置関係に基づいて制御する手段を含む、ことを特徴とする。
【図面の簡単な説明】
【００１５】
【図１】位置検出装置、ゲーム装置、及びプレイヤの位置関係を示す図である。
【図２】ＣＣＤカメラによって生成される撮影画像の一例を示す図である。
【図３】赤外線センサによるプレイヤの深度の測定方法を説明するための図である。
【図４】赤外線センサによって得られる深度画像の一例を示す図である。
【図５】位置検出装置により生成される３次元位置情報の一例を示す図である。
【図６】３次元位置情報によって特定されるプレイヤの位置を示す図である。
【図７】位置検出装置により撮影される空間を示す図である。
【図８】ゲーム装置において表示されるゲーム画面の一例を示す図である。
【図９】プレイヤが判定対象空間の外に出た場合、ゲーム装置において表示されるゲーム画面の一例を示す図である。
【図１０】Ｘｗ−Ｚｗ平面から位置検出装置及びプレイヤを見た図である。
【図１１】判定対象空間からプレイヤが外れた場合に表示されるゲーム画面の一例である。
【図１２】Ｘｗ−Ｙｗ平面から位置検出装置及びプレイヤを見た図である。
【図１３】判定対象空間からプレイヤが外れた場合に表示されるゲーム画面の一例である。
【図１４】位置検出装置のハードウェア構成を示す図である。
【図１５】ゲーム装置のハードウェア構成を示す図である。
【図１６】ゲーム装置において実現される機能群を示す機能ブロック図である。
【図１７】基準動作情報の一例を示す図である。
【図１８】動作判定基準情報の一例を示す図である。
【図１９】ゲーム装置において実行される処理の一例を示すフロー図である。
【図２０】変更された判定対象空間を示す図である。
【図２１】ゲーム画面に含まれる画像の表示位置が変更された場合を示す図である。
【図２２】ゲーム画面の他の一例を示す図である。
【図２３】ゲーム画面の一例を示す図である。
【図２４】ゲーム画面の一例を示す図である。
【図２５】ゲーム画面に含まれる画像の表示位置が変更された場合を示す図である。
【発明を実施するための形態】
【００１６】
［１．実施形態１］
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機（据置型ゲーム機）、携帯ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【００１７】
［１−１．全体の概要］
図１は、位置検出装置１、ゲーム装置２０、及びプレイヤ１００の位置関係を示す図である。図１に示すように、プレイヤ１００は、例えば、位置検出装置１の前方に位置する。位置検出装置１とゲーム装置２０とは、データ通信可能に接続される。また、プレイヤ１００は、例えば、家具Ｆが配置されたリビングルームでゲームをプレイする。
【００１８】
位置検出装置１は、プレイヤ１００を撮影して得られる画像と、位置検出装置１とプレイヤ１００との距離に関する情報と、に基づいてプレイヤ１００の位置に関する情報を生成する。例えば、位置検出装置１は、プレイヤ１００の体を構成する複数の部位（例えば、頭や肩等）のそれぞれに対応する３次元座標を検出する。
【００１９】
ゲーム装置２０は、プレイヤ１００の位置に関する情報を位置検出装置１から取得する。ゲーム装置２０は、例えば、３次元空間におけるプレイヤ１００の立ち位置を示す３次元座標を位置検出装置１から取得する。ゲーム装置２０は、この３次元座標の変化に基づいてゲームの制御を行う。
【００２０】
プレイヤ１００に対応する３次元座標の変化は、プレイヤ１００の動作に対応する。例えば、プレイヤ１００が右手を上げる動作をした場合、このプレイヤ１００の右ひじ及び右手に対応する３次元座標が、主に変化する。
【００２１】
［１−２．位置検出装置の動作］
次に、位置検出装置１がプレイヤ１００の位置に関する情報（３次元位置情報）を生成する処理について説明する。図１に示すように、位置検出装置１は、例えば、ＣＣＤカメラ２、赤外線センサ３、複数のマイクロフォンを含むマイク４等を備える。本実施形態においては、ＣＣＤカメラ２及び赤外線センサ３から得られる情報に基づいてプレイヤ１００の３次元位置情報が生成される。
【００２２】
ＣＣＤカメラ２は、ＣＣＤイメージセンサを備えた公知のカメラである。ＣＣＤカメラ２は、プレイヤ１００を撮影する。ＣＣＤカメラ２は、例えば、所定時間毎（例えば１／６０秒毎）にプレイヤ１００を撮影した静止画像（例えば、ＲＧＢデジタル画像）を生成する。以降、ＣＣＤカメラ２により生成される静止画像を撮影画像という。撮影画像には、ＣＣＤカメラ２に対応する視野内に配置された物体が含まれる。
【００２３】
図２は、ＣＣＤカメラ２によって生成される撮影画像の一例を示す図である。図２に示すように、撮影画像には、例えば、プレイヤ１００が含まれる。なお、説明の簡略化のため図２では省略しているが、ＣＣＤカメラ２の視野内に家具Ｆやリビングルームの床や壁等が含まれている場合、撮影画像には、これらが含まれる。
【００２４】
撮影画像には、互いに直行するＸｓ軸、Ｙｓ軸が設定される。例えば、撮影画像の左上を、原点Ｏｓ（０，０）とする。また例えば、撮影画像の右下を、座標Ｐｍａｘ（Ｘｍａｘ，Ｙｍａｘ）とする。撮影画像に対応する各画素の位置は、それぞれの画素に割り当てられる２次元座標（Ｘｓ−Ｙｓ座標）によって特定される。
【００２５】
赤外線センサ３は、例えば、赤外線発光素子及び赤外線受光素子（例えば、赤外線ダイオード）から構成される。赤外線センサ３は、赤外線光を照射して得られる反射光を検出する。赤外線センサ３は、この反射光の検出結果に基づいて被写体（例えば、プレイヤ１００）の深度を測定する。
【００２６】
被写体の深度とは、測定基準位置（例えば、赤外線センサ３の赤外線受光素子の位置）と被写体の位置との距離間隔である。測定基準位置とは、プレイヤ１００の位置の深度（奥行き）を測定する際の基準となる位置である。測定基準位置は、位置検出装置１の位置と関連付けられる所定の位置であればよい。赤外線センサ３は、例えば、赤外線を照射してから反射光を受光するまでの飛行時間（ＴＯＦ:Time of Flight）に基づいてプレイヤ１００の深度を測定する。
【００２７】
図３は、赤外線センサ３によるプレイヤ１００の深度の測定方法を説明するための図である。図３に示すように、赤外線センサ３から所定間隔でパルス状の赤外線光が照射される。赤外線センサ３から照射された赤外線光は、赤外線センサ３の発光位置を中心点として球状に広がる。
【００２８】
赤外線センサ３から照射された赤外線光は、例えば、プレイヤ１００の体や、リビングルームに配置された他の物体（例えば、家具Ｆや壁等）の表面に当たる。これらの表面に当たった赤外線光は、反射する。反射した赤外線光は、赤外線センサ３の赤外線受光素子により検出される。即ち、赤外線センサ３は、照射した赤外線に対して位相が１８０度反転した反射光を検出する。
【００２９】
例えば、図３に示すように、プレイヤ１００が両手を前に突き出している場合、突き出された両手は、プレイヤ１００の胴体よりも赤外線センサ３に近い。つまり、プレイヤ１００の両手によって反射される赤外線光の飛行時間は、プレイヤ１００の胴体によって反射される赤外線光の飛行時間よりも短い。
【００３０】
赤外線センサ３が赤外線光を照射してから反射光を検出するまでの時間（つまり、飛行時間）と、赤外線の速度と、を乗算して半分で割った値は、測定基準位置とプレイヤ１００との距離間隔（即ち、深度）に相当する。このようにして、赤外線センサ３は、プレイヤ１００の深度を測定することができる。
【００３１】
また、赤外線センサ３は、反射した赤外線光から得られる深度差を検出することにより、被写体（プレイヤ１００）の輪郭を検知することもできる。
【００３２】
具体的には、上記のように、赤外線センサ３が赤外線光の反射光を受信する、ということは、この場所に物体が配置されていることを意味する。この物体の後方に他の物体が配置されていなければ、この物体と、この物体の周囲と、の深度差は大きくなる。つまり、例えば、プレイヤ１００に赤外線光が反射されて得られる深度と、プレイヤ１００の後方にある壁に赤外線光が反射されて得られる深度と、の深度差は大きいので、深度差が所定値よりも大きい箇所をつなぎ合わせることによって、物体の輪郭を検知することができる。
【００３３】
なお、物体の輪郭を検出する方法は、上記の例に限られない。他にも例えば、ＣＣＤカメラ２によって得られる撮影画像の各画素の輝度に基づいて輪郭を検知するようにしてもよい。この場合も、例えば、画素間の輝度差が大きい箇所をつなぎ合わせることによって物体の輪郭を検出することができる。
【００３４】
なお、赤外線センサ３に戻ってきた光は、所定のフィルタリング処理が施されるようにしてもよい。つまり、赤外線センサ３が発した赤外線光に対応する反射光のみが、光検知センサによって検知されるようにして、ノイズが低減されるようにしてもよい。
【００３５】
上記のようにして検出されるプレイヤ１００の深度に関する情報（深度情報）は、例えば、深度画像として表現される。本実施形態においては、深度情報が、グレースケールの深度画像（例えば、２５６ビットのグレースケールの画像データ）として表現される例を挙げて説明する。
【００３６】
図４は、赤外線センサ３によって得られる深度画像の一例を示す図である。図４に示すように、例えば、赤外線センサ３に近い物体は明るく（輝度が高く）、遠い物体は暗く（輝度が低く）表現される。例えば、深度画像が２５６ビットのグレースケールの画像データとして表される場合、プレイヤ１００の深度は、深度画像の輝度（画素値）に対応する。即ち、例えば、プレイヤ１００の深度が２センチ異なる毎に深度画像が１ビット異なる。この場合、赤外線センサ３は、被写体の深度を２センチ単位で検出することが可能であることを示す。
【００３７】
図３に示すように、プレイヤ１００が両手を突き出している場合、突き出された両手は、プレイヤ１００の胴体よりも、赤外線センサ３に近い。つまり、プレイヤ１００の両手は、胴体よりも深度が小さい。したがって、図４に示すように、プレイヤ１００の両手に対応する画素は、胴体に対応する画素よりも明るく（輝度が高く）表現される。
【００３８】
本実施形態においては、赤外線センサ３は、ＣＣＤカメラ２と同様に所定時間毎（例えば１／６０秒毎）に、深度画像を生成する。ＣＣＤカメラ２により得られる撮影画像と、赤外線センサ３により得られる深度画像と、に基づいてプレイヤ１００の位置に関する３次元位置情報が生成される。
【００３９】
例えば、ＣＣＤカメラ２により得られる撮影画像（ＲＧＢデータ）に、深度画像が示す深度情報（Ｄ：Ｄｅｐｔｈ）が合算された合成画像（ＲＧＢＤデータ）が生成される。即ち、合成画像は、画素ごとに、色情報（ＲＧＢそれぞれの明度）と深度情報とを含む。
【００４０】
なお、合成画像が生成される際には、ＣＣＤカメラ２と赤外線センサ３との位置間隔に基づいて、撮影画像と深度画像との少なくとも一方の位置が補正される。例えば、ＣＣＤカメラ２と赤外線センサ３が水平方向に２センチ離れている場合、深度画像の各画素の座標を、２センチに対応する画素数だけ移動させることによって、位置の補正が行われる。
【００４１】
この合成画像に基づいて３次元位置情報が生成される。本実施形態においては、３次元位置情報が、プレイヤ１００の体の各部位（例えば、頭や肩等）に対応する３次元座標である例を挙げて説明する。
【００４２】
具体的には、例えば、次のようにして３次元位置情報が生成される。
【００４３】
まず、先述のように、深度画像に基づいてプレイヤ１００の輪郭に対応する画素が特定される。プレイヤ１００の輪郭によって囲まれる画素は、プレイヤ１００の体に対応する画素である。
【００４４】
次いで、撮影画像のうち、上記の輪郭によって囲まれた画素の色情報（ＲＧＢの明度）が参照される。撮影画像の色情報に基づいて、プレイヤ１００の体の各部位に対応する画素が特定される。この特定方法としては、例えば、比較画像（教師画像）との比較によって画像の中から対象物（即ち、プレイヤ１００の体の各部位）を抽出するパターンマッチング法等、公知の手法を適用可能である。
【００４５】
他にも例えば、撮影画像の各画素の色情報の変化から体の各部位の速度ベクトルを算出し、物体の運動を表すオプティカルフロー（例えば、勾配法又はフィルタリング法）等に基づいて各画素の動きベクトルを検出し、プレイヤ１００の頭の位置や両肘の位置等に対応する画素が特定されるようにしてもよい。
【００４６】
上記のようにして特定された画素の画素値（ＲＧＢＤ値）に基づいて、プレイヤ１００の頭や両ひじ等の３次元座標が算出される。例えば、この画素値に対して所定の行列変換処理が施されることによって、３次元座標が生成される。この行例変換処理は、例えば、３Ｄグラフィックにおけるワールド座標−スクリーン座標の２つの座標系の変換処理と同様の行例演算によって実行される。つまり、画素の色情報を示すＲＧＢ値と奥行きを示すＤ値と、が所定の行列式に代入されることにより、この画素の３次元座標が算出される。即ち、プレイヤ１００の各部位の３次元座標が算出される。
【００４７】
なお、画素値（ＲＧＢＤ値）から画素に対応する３次元座標が算出される方法は、公知の手法を適用可能であり、この算出方法は、上記の例に限られない。他にも例えば、ルックアップテーブルを用いて座標変換が行われるようにしてもよい。
【００４８】
図５は、位置検出装置１により生成される３次元位置情報の一例を示す図である。図５に示すように、３次元位置情報は、例えば、プレイヤ１００の各部位と、３次元座標と、が対応付けられて格納される。
【００４９】
図６は、３次元位置情報によって特定されるプレイヤ１００の位置を示す図である。本実施形態では、例えば、位置検出装置１に対応する所定位置（例えば、測定基準位置）を原点Ｏｗとする。例えば、原点Ｏｗは、赤外線センサ３の測定基準位置に対応する３次元座標である。なお、原点Ｏｗの位置は、プレイヤ１００がいる３次元空間のどこに設定されてもよい。例えば、撮影画像の原点Ｏｓに対応する３次元座標が、原点Ｏｗとして設定されるようにしてもよい。
【００５０】
図６に示すように、本実施形態では、例えば、プレイヤ１００の頭Ｐ１、首Ｐ２、右肩Ｐ３、左肩Ｐ４、右ひじＰ５、左ひじＰ６、右手Ｐ７、左手Ｐ８、胸Ｐ９、腰Ｐ１０、右ひざＰ１１、左ひざＰ１２、右かかとＰ１３、左かかとＰ１４、右つま先Ｐ１５、左つま先Ｐ１６に対応する３次元座標が、３次元位置情報として取得される例を挙げて説明する。
【００５１】
なお、３次元位置情報によって示されるプレイヤ１００の体の部位は、プレイヤの骨格のうちで予め定められた部位のものであってよい。例えば、この部位は、先述したパターンマッチング法によって特定可能な体の部位であればどこでもよい。
【００５２】
本実施形態においては、先述のように、所定間隔で生成される撮影画像と深度画像とに基づいて、所定間隔毎（例えば、１／６０秒毎）に３次元位置情報が生成される。生成された３次元位置情報は、所定時間毎に位置検出装置１からゲーム装置２０に対して送信される。
【００５３】
ゲーム装置２０は、位置検出装置１から送信される３次元位置情報を受信して、この３次元位置情報に基づいてプレイヤ１００の体の位置を把握する。つまり、プレイヤ１００が踊ったりボールを蹴ったりする動作をすると、この動作に対応するように３次元位置情報が変化するので、この３次元位置情報の変化に基づき、ゲーム装置２０はプレイヤの動きを把握する。詳細は後述するが、ゲーム装置２０は、３次元位置情報に基づいてプレイヤの体の動きを把握してゲームを実行する。
【００５４】
次に、位置検出装置１がプレイヤ１００を検知することができる空間（以降、検知可能空間６０という。）について説明する。
【００５５】
図７は、位置検出装置１により撮影される空間を示す図である。図７に示すように、検知可能空間６０（図７の破線で囲まれた空間）は、例えば、ＣＣＤカメラ２の視野内のうちの所定空間となる。ＣＣＤカメラ２の視野は、例えば、ＣＣＤカメラ２の視線方向と画角とに基づいて決定される。
【００５６】
検知可能空間６０は、位置検出装置１により撮影される空間（つまり、視野内の空間）のうちでプレイヤ１００を正確に捉えることができる空間である。
【００５７】
例えば、位置検出装置１とプレイヤ１００との距離が近すぎる場合（例えば、１メートル以内）、位置検出装置１は、プレイヤ１００の全身を撮影することができない。この場合、撮影画像（図２）に例えばプレイヤ１００の頭や足等が含まれなくなると、位置検出装置１は、正確な３次元位置情報を取得することができなくなる。したがって、ＣＣＤカメラ２の視野内の空間であっても、位置検出装置１との距離が比較的近い空間は、検知可能空間６０には含まれない。
【００５８】
また例えば、位置検出装置１とプレイヤ１００との距離が遠すぎる場合（例えば、５メートル以上）、赤外線が減衰するため、位置検出装置１は、反射光を検出することができない。この場合、位置検出装置１は、正確な深度情報を取得することができなくなる。したがって、ＣＣＤカメラ２の視野内の空間であっても、位置検出装置１との距離が比較的遠い空間は、検知可能空間６０には含まれない。
【００５９】
また例えば、プレイヤ１００の立ち位置が、水平方向（例えば、Ｙｗ軸方向）にずれている場合、位置検出装置１は、プレイヤ１００の全身を撮影することができない。この場合、プレイヤ１００の右半身や左半身が撮影画像（図２）から切れてしまい、位置検出装置１は、正確な３次元位置情報を取得することができなくなる。したがって、ＣＣＤカメラ２の視野内の空間であっても、水平方向の両端部に近い空間は、検知可能空間６０には含まれない。
【００６０】
図７に示すように、検知可能空間６０は、例えば、ＣＣＤカメラ２の視野内の空間から上記のそれぞれの空間を除いた空間である。即ち、検知可能空間６０とは、その内部にプレイヤ１００が立っている場合、位置検出装置１が正確な３次元位置情報を生成することができる空間である。検知可能空間６０の広さ（体積）、形状、及び位置は、例えば、ゲーム作成者によって予め定められていてよいし、位置検出装置１を設置する部屋の状況に応じて変更されるようにしてもよい。
【００６１】
本実施形態では、検知可能空間６０の内部に判定対象空間７０が設定される。図７に示すように、例えば、判定対象空間７０は、位置検出装置１に対応する検知可能空間６０の内部の所定の位置に設定される。また、判定対象空間７０は、判定対象空間７０を配置すべき位置を特定するための代表点７１を含む。
【００６２】
判定対象空間７０とは、プレイヤ１００がいるべき空間を定義するためのものである。判定対象空間７０の広さ（体積）や形状は、例えば、ゲーム作成者によって予め定められていてよい。一方、判定対象空間７０の位置は、詳細は後述するが、例えば、プレイヤ１００の位置によって変更される。
【００６３】
ここで、図７に示す判定対象空間７０の意義について説明する。先述のように、検知可能空間６０内にプレイヤ１００がいる場合には、原則として、ゲーム装置２０は、プレイヤ１００の動作を検出することができる。
【００６４】
しかしながら、プレイヤ１００は、検知可能空間６０内を自由に動くことができない場合がある。例えば、図１に示すように、プレイヤ１００が自宅のリビングルーム等でゲームをプレイする場合である。
【００６５】
図１に示すように、リビングルームには、机や椅子等の家具Ｆやリビングルームの壁等が配置されている。また、リビングルームには、他のプレイヤ１００やゲームを観戦する人がいる場合もある。つまり、実際にプレイヤ１００がゲームをプレイする場合、検知可能空間６０の内部には、種々の障害物が配置されていることが多く、このような場合、検知可能空間６０内をプレイヤは自由に動くことができない。
【００６６】
また、プレイヤ１００がゲームプレイに夢中になった場合、プレイヤ１００は、周りの障害物の存在に気付かない可能性がある。即ち、プレイヤ１００は、障害物があるにも関わらずに体を動かして、障害物に体をぶつけてしまう可能性がある。また、複数のプレイヤ１００が同時にプレイをする場合、互いに体を動かしてゲームプレイをするので、これらのプレイヤ１００同士がぶつかってしまう可能性がある。
【００６７】
そこで、本実施形態では、検知可能空間６０の内部に判定対象空間７０を設定し、この判定対象空間７０内で、プレイヤにゲームをプレイさせるようにしている。すなわち、プレイヤ１００が判定対象空間７０の中でゲームをプレイする限り、このプレイヤ１００が他のプレイヤ１００や障害物にぶつかる可能性を軽減することができるようにしている。したがって、判定対象空間７０は、障害物にぶつかる可能性が低い安全な空間を、プレイヤ１００に案内する役割を果たす。
【００６８】
プレイヤ１００は、通常、周囲の家具Ｆを自分の立ち位置から遠ざけて、周囲の安全を確認してからゲームのプレイを開始する。そこで、判定対象空間７０の位置は、例えば、ゲーム開始時（又は、ゲーム開始直前もしくは直後）のプレイヤ１００の位置に基づいて決定される。例えば、判定対象空間７０の位置は、ゲーム開始時（又は、ゲーム開始直前もしくは直後）において、プレイヤ１００が立っている場所を含むように設定される。
【００６９】
このように設定された判定対象空間７０の内部にプレイヤ１００が居続ければ、机や椅子等の障害物が周りにない可能性が高いので、プレイヤ１００は、より安全にゲームをプレイすることができる。
【００７０】
なお、判定対象空間７０の位置の設定方法は、上記の例に限られない。例えば、ＣＣＤカメラ２の視線方向の延長上が、判定対象空間７０の初期の位置として設定されるようにしてもよい。この場合には、プレイヤ１００を、位置検出装置１に向かい合う位置（例えば、テレビの中央付近の位置）に立たせてゲームをプレイさせることができる。
【００７１】
なお、以上説明した例では、プレイヤ１００を一人としたが、ゲームをプレイするプレイヤ１００は複数人であってもよい。プレイヤ１００が複数人である場合、上記と同様の処理によって、各プレイヤ１００の３次元位置情報が生成される。即ち、プレイヤ１００の輪郭の個数に基づいて、位置検出装置１は、プレイヤ１００の人数を把握することができる。複数のプレイヤ１００のそれぞれに対応する画素に対して上記と同様の処理が実行されることによって、複数のプレイヤ１００の３次元位置情報を生成することができる。
【００７２】
また、位置検出装置１により撮影される撮影画像からプレイヤ１００を認識する際に、所定の高さ（例えば、１メートル）以下の物体を排除するようにしてもよい。つまり、プレイヤ１００が床に座っていて、座高が所定の高さ以下である等は、プレイヤ１００を正確に検出することができない可能性があるので、この場合には、プレイヤ１００を検出しないようにしてもよい。
【００７３】
このように、判定対象空間７０にいるプレイヤ１００の３次元位置情報に基づいてゲームが実行される。以降、このゲームの一例について説明する。
【００７４】
［１−３．ゲーム装置で実行されるゲーム］
本実施形態においては、ゲーム装置２０が、３次元位置情報に基づいてプレイヤの立ち位置や動作を把握してダンスゲームを実行する例を挙げて説明する。
【００７５】
例えば、ゲーム装置２０は、ゲーム画面５０に含まれるゲームキャラクタの動きに合わせてプレイヤ１００が踊るゲームを実行する。このゲームにおいては、プレイヤ１００は、例えば、所定の立ち位置から動かずにゲームをプレイすることが望まれる。そこで、本実施形態において表示されるゲーム画面５０によれば、プレイヤ１００が判定対象空間７０から外れた場合に、判定対象空間７０に戻るように誘導することができるようにしている。
【００７６】
図８は、ゲーム装置２０において表示されるゲーム画面５０の一例を示す図である。図８に示すように、ゲーム画面５０は、例えば、ゲームキャラクタ５１、スポットライト５２、スポットライト５２によって照らされた領域であるスポットライト領域５３、メッセージ５４を含む。本実施形態におけるゲームでは、原則として、ゲームキャラクタ５１は、スポットライト領域５３（注目領域）内に立って踊る。
【００７７】
スポットライト領域５３の明度（輝度）は、他の領域の明度よりも高い（明るい）。一方、スポットライト領域５３外の領域の明度は、スポットライト領域５３の明度よりも低い（暗い）。即ち、ゲームキャラクタ５１がスポットライト領域５３外に移動した場合、ゲームキャラクタ５１は見えにくくなる。
【００７８】
ゲームキャラクタ５１は、体の各部を動かし、プレイヤ１００が行うべき踊りの動作を案内する役割を果たす。ゲームキャラクタ５１の体の動きに合わせて、プレイヤ１００は位置検出装置１の前で踊ることになる。
【００７９】
例えば、ゲームキャラクタ５１が右足を前に踏み出したら、同様にプレイヤ１００も右足を前に踏み出す。また例えば、ゲームキャラクタ５１が左手を上げる動作をしたら、同様にプレイヤ１００も左手を上げる動作をする。ゲームキャラクタ５１の動作に合わせてプレイヤ１００が体を動かすことができた場合には、例えば「ＧＯＯＤ」等のメッセージ５４がゲーム画面５０に表示される。
【００８０】
また、プレイヤ１００が判定対象空間７０からはみ出た場合、ゲーム画面５０には、その旨を示すメッセージ５４が表示される。
【００８１】
図９は、プレイヤ１００が判定対象空間７０からはみ出した場合、ゲーム装置２０において表示されるゲーム画面５０の一例を示す図である。図９に示すように、例えば「ＣＡＵＴＩＯＮ」等のメッセージ５４がゲーム画面５０に表示される。つまり、プレイヤ１００が、比較的安全な判定対象空間７０の外に出てしまっているので、注意を促すメッセージ５４が表示される。
【００８２】
また、このとき、スポットライト領域５３の表示位置を、位置検出装置１の判定対象空間７０に対応するようにしてもよい。以降では、この例について説明する。つまり、プレイヤ１００が判定対象空間７０の内部にいた場合、ゲームキャラクタ５１は、明度の高い位置に配置される。即ち、この場合、ゲームキャラクタ５１は、スポットライト領域５３の上に配置される。
【００８３】
一方、プレイヤ１００が判定対象空間７０からはみ出た場合、ゲームキャラクタ５１は、明度の低い位置に配置される。即ち、この場合、ゲームキャラクタ５１は、スポットライト領域５３外部の領域上に配置される。
【００８４】
図１０は、Ｘｗ−Ｚｗ平面から（即ち、横から）位置検出装置１及びプレイヤ１００を見た図である。図１０は、プレイヤ１００がダンスをしながら後方に移動してしまった場合を示す。図１０に示すように、プレイヤ１００は、後方に移動したことにより、判定対象空間７０から外れている。
【００８５】
プレイヤ１００が、このまま気付かずにゲームプレイをすると、プレイヤ１００の後方にあるソファ等の家具にぶつかる可能性がある。そこで、プレイヤ１００に対して、前方に移動して判定対象空間７０の内部に戻るように誘導するようなゲーム画面５０が表示される。
【００８６】
図１１は、判定対象空間７０からプレイヤ１００が外れた場合に表示されるゲーム画面５０の一例である。図１１のゲーム画面５０は、図９の位置にプレイヤ１００が立っていた場合に表示される。図１１に示すように、スポットライト領域５３外の領域（例えば、後方の所定位置）にゲームキャラクタ５１が表示される。先述のように、スポットライト領域５３外の領域は、明度が低く設定されている。
【００８７】
つまり、比較的暗い領域にゲームキャラクタ５１が表示されるので、プレイヤ１００は、ゲームキャラクタ５１が見えにくくなる。このような場合、プレイヤ１００は、ゲームキャラクタ５１を、明るくて見やすいスポットライト領域５３に移動させるように、前方に移動することが考えられる。つまり、位置検出装置１から見て判定対象空間７０の後方にプレイヤ１００が外れた場合、ゲームキャラクタ５１の位置をスポットライト領域５３外に移動させることによって、判定対象空間７０に向かってプレイヤ１００を移動させるように誘導することができる。
【００８８】
図１２は、Ｘｗ−Ｙｗ平面から（即ち、上から）位置検出装置１及びプレイヤ１００を見た図である。図１２は、プレイヤ１００がダンスをして水平方向（例えば、Ｙｗ軸方向）に移動した場合を示す。図１２に示すように、例えば、プレイヤ１００が水平方向にずれており、判定対象空間７０から外れている。
【００８９】
図１３は、判定対象空間７０からプレイヤ１００が外れた場合に表示されるゲーム画面５０の一例である。図１３に示すゲーム画面５０は、図１２の位置にプレイヤ１００が立っていた場合に表示される。
【００９０】
つまり、比較的暗い領域にゲームキャラクタ５１が表示されるので、プレイヤ１００は、ゲームキャラクタ５１が見えにくくなる。プレイヤ１００は、ゲームキャラクタ５１を、明るくて見やすいスポットライト領域５３に移動させるように、左側に移動する。つまり、判定対象空間７０の後方にプレイヤ１００が外れた場合、判定対象空間７０に向かってプレイヤ１００を移動させるように誘導することができる。
【００９１】
上記のように、例えば、ゲームキャラクタ５１の動きに合わせてプレイヤ１００が踊るようなダンスゲームでは、ゲームプレイ中にプレイヤ１００の立ち位置が徐々に変わってしまうことがある。つまり、プレイヤ１００が、ゲームの開始時に周囲の安全を確認しても、ゲームに熱中した場合、プレイヤ１００が障害物に近づいてしまう可能性がある。そこで、ゲーム装置２０は、プレイヤ１００の立ち位置を案内するための判定対象空間７０を設定することによって、プレイヤ１００に立ち位置を案内することができる。
【００９２】
ところで、プレイヤ１００が判定対象空間７０の外に出た場合、図１１又は図１３に示すように、ゲームキャラクタ５１の位置をスポットライト領域５３外に移動させると、ゲームキャラクタ５１が見えづらくなる。確かに、プレイヤ１００を安全な位置を案内することもできるが、実際には、判定対象空間７０外の領域に障害物が配置されていないこともある。即ち、判定対象空間７０を初期の位置に固定することによって、プレイヤ１００がゲームをプレイしづらくなるという不都合が生じるおそれがある。以下、この不都合も解決する技術についての詳細な処理を説明する。
【００９３】
まず、位置検出装置１及びゲーム装置２０の構成について詳細に説明する。
【００９４】
［１−４．位置検出装置の構成］
図１４は、位置検出装置１のハードウェア構成を示す図である。図１４に示すように、位置検出装置１は、マイクロプロセッサ１０、記憶部１１、撮影部１２、深度測定部１３、音声処理部１４、通信インタフェース部１５から構成される。位置検出装置１の各構成要素は、バス１６によってデータ送受信可能に接続される。
【００９５】
マイクロプロセッサ１０は、記憶部１１に記憶されるオペレーティングシステム、各種プログラムに基づいて位置検出装置１の各部を制御する。
【００９６】
記憶部１１は、オペレーティングシステムや撮影部１２、深度測定部１３を動作させるためのプログラム、各種パラメータを記憶する。また、記憶部１１は、撮影画像及び深度画像に基づいて３次元位置情報を生成するためのプログラムを記憶する。
【００９７】
撮影部１２は、ＣＣＤカメラ２等から構成される。撮影部１２は、例えば、プレイヤ１００の撮影画像を生成する。
【００９８】
深度測定部１３は、赤外線センサ３等から構成される。深度測定部１３は、例えば、赤外線センサ３により得られる飛行時間に基づいて深度画像を生成する。
【００９９】
マイクロプロセッサ１０は、先述のように、撮影部１２により生成される撮影画像と、深度測定部１３により生成される深度画像と、に基づいて、３次元位置情報を生成する。マイクロプロセッサ１０は、撮影画像に基づいてプレイヤ１００の各部（例えば、頭Ｐ１〜左つま先Ｐ１６）に対応する画素の位置を特定する。
【０１００】
次いで、マイクロプロセッサ１０は、この特定された画素のＲＧＢＤ値に基づいて座標変換処理を実行して３次元座標を算出する。この座標変換処理は、先述のように、行列演算に基づいた処理である。これらの一連の処理によって、３次元位置情報（図５）が、所定時間毎（例えば、１／６０秒毎）に生成される。
【０１０１】
音声処理部１４は、マイク４等から構成される。例えば、音声処理部１４は、複数のマイクロフォン（例えば、３つ）に基づいて検出した音声のずれ時間に基づいて、プレイヤ１００が音声を発した位置を特定することができる。また、音声処理部１４のマイク４としては、ＣＣＤカメラ２の視線方向にある発音源からの音を検知する単一指向性のマイクを適用可能である。
【０１０２】
通信インタフェース部１５は、ゲーム装置２０に対して３次元位置情報等の各種データを送信するためのインタフェースである。
【０１０３】
［１−５．ゲーム装置の構成］
図１５は、ゲーム装置２０のハードウェア構成を示す図である。図１５に示すように、本実施形態に係るゲーム装置２０は、家庭用ゲーム機２１、表示部４０、音声出力部４１、光ディスク４２、及びメモリカード４３を含む。表示部４０及び音声出力部４１は、家庭用ゲーム機２１に接続される。例えば、家庭用テレビ受像機が表示部４０として用いられる。また例えば、家庭用テレビ受像機に内蔵されたスピーカが、音声出力部４１として用いられる。
【０１０４】
光ディスク４２及びメモリカード４３は情報記憶媒体であり、家庭用ゲーム機２１に装着される。
【０１０５】
家庭用ゲーム機２１は、公知のコンピュータゲームシステムである。図１５に示すように、家庭用ゲーム機２１は、バス２２、マイクロプロセッサ２３、主記憶２４、画像処理部２５、音声処理部２６、光ディスク再生部２７、メモリカードスロット２８、通信インタフェース（Ｉ／Ｆ）２９、コントローラインタフェース（Ｉ／Ｆ）３０、及びコントローラ３１を含む。コントローラ３１以外の構成要素は家庭用ゲーム機２１の筐体内に収容される。
【０１０６】
バス２２は、アドレス及びデータを家庭用ゲーム機２１を構成する各部でやり取りするためのものである。即ち、マイクロプロセッサ２３、主記憶２４、画像処理部２５、音声処理部２６、光ディスク再生部２７、メモリカードスロット２８、通信インタフェース２９、及びコントローラインタフェース３０は、バス２２によって相互データ通信可能に接続される。
【０１０７】
マイクロプロセッサ２３は、図示しないＲＯＭに格納されるオペレーティングシステムや、光ディスク４２又はメモリカード４３から読み出されるプログラムに基づいて、各種情報処理を実行する。
【０１０８】
主記憶２４は、例えばＲＡＭを含む。主記憶２４には、光ディスク４２又はメモリカード４３から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶２４は、マイクロプロセッサ２３の作業用としても用いられる。
【０１０９】
また、主記憶２４には、所定時間毎に位置検出装置１から受信する３次元位置情報が記憶される。マイクロプロセッサ２３は、主記憶２４に記憶された３次元位置情報に基づいてゲームの制御を行う。
【０１１０】
画像処理部２５は、ＶＲＡＭを含む。画像処理部２５は、マイクロプロセッサ２３から送信される画像データに基づいてＶＲＡＭ上にゲーム画面５０を描画する。画像処理部２５は、このゲーム画面５０をビデオ信号に変換し、所定のタイミングで表示部４０に出力する。
【０１１１】
音声処理部２６は、サウンドバッファを含む。音声処理部２６は、光ディスク４２からサウンドバッファに読み出された各種音声データ（ゲーム音楽、ゲーム効果音、メッセージ等）を、音声出力部４１から出力する。
【０１１２】
光ディスク再生部２７は、光ディスク４２に記録されたプログラムやデータを読み取る。本実施形態では、家庭用ゲーム機２１にプログラムやデータを供給するために光ディスク４２を用いる例を挙げて説明するが、他にも例えば、他の情報記憶媒体（例えば、メモリカード４３等）を用いるようにしてもよい。また、インターネットなどのデータ通信網を介してプログラムやデータが、家庭用ゲーム機２１に供給されるようにしてもよい。
【０１１３】
メモリカードスロット２８は、メモリカード４３を装着するためのインタフェースである。メモリカード４３は、不揮発性メモリ（例えばＥＥＰＲＯＭなど）を含む。メモリカード４３は、例えば、セーブデータなどの各種ゲームデータを記憶する。
【０１１４】
通信インタフェース２９は、インターネットなどの通信ネットワークに通信接続するためのインタフェースである。
【０１１５】
コントローラインタフェース３０は、コントローラ３１と無線接続又は有線接続するためのインタフェースである。コントローラインタフェース３０としては、例えばＢｌｕｅｔｏｏｔｈ（登録商標）インタフェース規格に則ったインタフェースが適用される。なお、コントローラインタフェース３０は、コントローラ３１を有線接続するためのインタフェースとしてもよい。
【０１１６】
［１−６．ゲーム装置で実現される機能］
図１６は、ゲーム装置２０において実現される機能群を示す機能ブロック図である。図１６に示すように、ゲーム装置２０では、ゲームデータ記憶部８０、位置取得部８２、判定部８４、ゲーム処理実行部８６、判定対象空間変更部８８、表示制御部９０が実現される。これらの機能は、マイクロプロセッサ２３が、光ディスク４２から読み出されたプログラムに従って動作することにより、実現される。
【０１１７】
［１−６−１．ゲームデータ記憶部］
ゲームデータ記憶部８０は、主記憶２４及びメモリカード４３を主として実現される。ゲームデータ記憶部８０は、ゲームを実行するために必要な情報を記憶する。例えば、ゲームデータ記憶部８０は、ゲームキャラクタ５１が体を動かす様子を示すアニメーション情報を記憶する。
【０１１８】
また例えば、ゲームデータ記憶部８０は、プレイヤ１００が行うべき動作を識別するための基準動作情報を記憶する。
【０１１９】
図１７は、基準動作情報の一例を示す図である。図１７に示すように、基準動作情報は、動作をすべきタイミングを示す時間情報と、プレイヤ１００が行うべき動作を識別する情報が格納される。時間情報は、例えば、ゲームが開始されてからの経過時間を示す。図１７に示すデータ格納例では、例えば、時間ｔ１においては、プレイヤ１００が右足を前に出す動作をすべきことを示している。
【０１２０】
先述のように、ゲームキャラクタ５１は、プレイヤ１００が行うべき動作を案内するための役割を果たすので、時間ｔ１が訪れると、ゲームキャラクタ５１は右足を前に出すような動作を行う。アニメーション情報は、図１７に示す基準動作情報に対応するように作成されている。即ち、基準動作情報に格納された時間情報が示す時間が訪れるたびに、アニメーション情報に基づいてゲームキャラクタ５１が所定のアニメーション動作を行う。
【０１２１】
また例えば、ゲームデータ記憶部８０は、３次元位置情報に基づいてプレイヤの動作が判定されるための条件となる動作判定基準情報を記憶する。
【０１２２】
図１８は、動作判定基準情報の一例を示す図である。図１８に示すように、動作判定基準情報には、例えば、プレイヤ１００の体の動きを識別する情報と、３次元位置情報が満たすべき判定基準と、が対応付けられて格納される。判定基準は、例えば、プレイヤ１００の各部位の３次元座標の変化量、変化方向、変化の速度等である。即ち例えば、判定基準は、プレイヤ１００の各部位の動きベクトル（３次元ベクトル）が満たすべき条件である。
【０１２３】
動作判定基準情報に格納された体の動きが「右足を前に出す」である場合、例えば、右かかとＰ１３と右つま先Ｐ１５の３次元座標の変化量、変化方向、及び変化速度に対応する条件が、この体の動きに対応付けられている。この場合、右かかとＰ１３と右つま先Ｐ１５の３次元座標の変化量、変化方向、及び変化速度が、動作判定基準情報に格納された条件を満たせば、プレイヤ１００が右足を前に出したと判定される。
【０１２４】
プレイヤ１００の他の動作（例えば、右手でパンチをする等）についても同様に、３次元位置情報が示す３次元座標が動作判定基準情報に格納された条件を満たすか否かに基づいてプレイヤ１００の動作が判別される。即ち、本実施形態においては、判定基準情報は、プレイヤ１００の踊りを判別するための情報が格納されたものである。なお、判定基準情報は、ゲーム装置２０の図示しないＲＯＭ等に記憶されていてもよい。
【０１２５】
また、ゲームデータ記憶部８０は、例えば、判定対象空間７０を特定するための判定対象空間情報を記憶する。例えば、判定対象空間７０の形状が図７に示すような四角錘台である場合、判定対象空間７０の各辺の長さ、及び代表点７１の位置を示す情報が記憶される。つまり、これらの情報に基づいて、判定対象空間７０の位置が特定される。また、判定対象空間７０の各辺の長さは、予め定められた値であってよい。
【０１２６】
例えば、プレイヤ１００がゲームを開始する際に、代表点７１の初期位置が決定される。例えば、判定対象空間７０の位置は、ゲームが開始される場合のプレイヤ１００の位置が含まれるように決定される。即ち例えば、ゲーム開始時のプレイヤ１００の立ち位置に対応するように代表点７１が決定される。他にも例えば、代表点７１は、ＣＣＤカメラ２の視線方向上の点であってもよい。
【０１２７】
なお、判定対象空間情報となりうる情報は、上記の例に限られない。判定対象空間情報は、判定対象空間７０の位置及び大きさを特定可能な情報であればよい。例えば、判定対象空間７０の形状が四角錘台である場合、判定対象空間情報は、判定対象空間７０の上面の左上頂点と右下頂点、及び、下面の左上頂点と右下頂点を示す情報、及び、代表点７１を示す情報であってもよい。
【０１２８】
また、ゲームデータ記憶部８０は、検知可能空間６０を特定するための情報を記憶する。この情報は、判定対象空間情報と同様に、検知可能空間６０の位置と大きさを特定可能な情報であればよい。
【０１２９】
［１−６−２．位置取得部］
位置取得部８２は、マイクロプロセッサ２３を主として実現される。位置取得部８２は、プレイヤ１００を撮影する位置検出装置（撮影部１２）から得られる撮影画像と、深度測定手段（深度測定部１３）の測定基準位置とプレイヤ１００との間隔に関する深度情報と、に基づいて、３次元空間におけるプレイヤ１００の位置に関する３次元位置情報を生成する位置情報生成手段（マイクロプロセッサ１０）から３次元位置情報（図５）を取得する。
【０１３０】
本実施形態の場合、位置取得部８２は、位置検出装置１のマイクロプロセッサ１０（位置情報生成手段）によって生成される３次元位置情報を取得する。
【０１３１】
［１−６−３．判定部］
判定部８４は、マイクロプロセッサ２３を主として実現される。判定部８４は、３次元空間におけるプレイヤ１００の位置が、判定対象空間７０内に含まれるか否かを判定する。例えば、３次元位置情報に含まれる３次元座標のうちの何れか一つが、判定対象空間７０に含まれていない場合、３次元位置情報に対応するプレイヤの位置が、位置検出装置１の判定対象空間７０内に含まれないと判定される。
【０１３２】
なお、判定部８４による判定方法は、３次元位置情報と、判定対象空間７０とに基づいた方法であればよく、判定部８４の判定方法は、これに限られない。例えば、３次元位置情報が示すプレイヤ１００の複数の部位（例えば、１６個）のうちの複数（例えば、３個）に対応する３次元座標が、判定対象空間７０の外にある場合に、プレイヤ１００の位置が、判定対象空間７０に含まれない、と判定されるようにしてもよい。
【０１３３】
［１−６−４．ゲーム処理実行部］
ゲーム処理実行部８６は、マイクロプロセッサ２３を主として実現される。ゲーム処理実行部８６は、判定部８４の判定結果に基づいてゲーム処理を実行する。ゲーム処理実行部８６の動作の詳細については後述する（図１９のＳ１０５，Ｓ１０６、Ｓ１０８参照）。
【０１３４】
［１−６−５．判定対象空間変更部］
判定対象空間変更部８８は、マイクロプロセッサ２３を主として実現される。判定対象空間変更部８８は、３次元空間におけるプレイヤ１００の位置が判定対象空間７０内に含まれないと判定された場合、３次元空間におけるプレイヤ１００の位置に基づいて、判定対象空間７０の位置を変更する。判定対象空間変更部８８の動作の詳細については後述する（図１９のＳ１０８，Ｓ１０９参照）。
【０１３５】
［１−６−６．表示制御部］
表示制御部９０は、マイクロプロセッサ２３を主として実現される。表示制御部９０は、ゲーム画面５０を表示部４０に表示する。本実施形態においては、表示制御部９０は、ゲームキャラクタ５１と、他の領域よりも明度が高く設定された注目領域（スポットライト領域５３）と、を含むゲーム画面５０を表示手段（表示部４０）に表示させる。
【０１３６】
また、表示制御部９０は、ゲームキャラクタ５１の表示位置と注目領域の表示位置との位置関係を、３次元空間におけるプレイヤ１００の位置と判定対象空間７０との位置関係に基づいて制御する手段を含む。表示制御部９０の動作の詳細については後述する（図１９のＳ１０２参照）。
【０１３７】
［１−７．ゲーム装置において実行される処理］
図１９は、ゲーム装置２０において実行される処理の一例を示すフロー図である。図１９の処理は、マイクロプロセッサ２３が、光ディスク４２から読み出されたプログラムに従って動作することにより実行される。図１９の処理は、例えば、所定時間毎（例えば、１／６０秒毎）に実行される。
【０１３８】
図１９に示すように、まず、マイクロプロセッサ２３（位置取得部８２）は、プレイヤ１００の３次元位置情報を取得する（Ｓ１０１）。
【０１３９】
マイクロプロセッサ２３（表示制御部９０）は、ゲーム画面５０に表示されるゲームキャラクタ５１の位置を変更する（Ｓ１０２）。Ｓ１０２においては、例えば、プレイヤ１００の３次元位置情報と代表点７１との位置関係に基づいてゲームキャラクタ５１の表示位置が変更される。例えば、プレイヤ１００の３次元位置情報に含まれる腰Ｐ１０の３次元座標と、代表点７１との位置関係が判断される。具体的には、判定対象空間７０の代表点７１からプレイヤの腰Ｐ１０の３次元座標への方向Ｄ及び距離Ｌ（図７）が取得される。
【０１４０】
次いで、ゲームキャラクタ５１の表示位置と、スポットライト領域５３の誘導位置５５と、の位置関係が、プレイヤの腰Ｐ１０の３次元座標と、判定対象空間７０の代表点７１と、の位置関係に対応する位置関係となるように、ゲームキャラクタ５１の表示位置が変更される。
【０１４１】
例えば、図１１及び図１３に示すように、スポットライト領域５３の誘導位置５５から、上記方向Ｄに対応する方向Ｄｓに、上記距離Ｌに対応する距離Ｌｓだけ移動した位置５７に、ゲームキャラクタ５１の表示位置が変更される。方向Ｄｓ及び距離Ｌｓは、例えば、方向Ｄ又は距離Ｌと所定の数式とに基づいて算出される。所定の数式は、例えば、３次元のベクトルを２次元に変換するための所定の行例（例えば、射影行列）であってよい。
【０１４２】
また、誘導位置５５は、ゲームキャラクタ５１を誘導する位置であり、代表点７１に対応する位置である。例えば、誘導位置５５は、スポットライト領域５３の中心点から上に所定距離の位置である。
【０１４３】
Ｓ１０２における処理によって、ゲームキャラクタ５１の表示位置が制御される。即ち、プレイヤ１００は、ゲーム画面５０に表示されるゲームキャラクタ５１とスポットライト領域５３との位置関係を参照することによって、プレイヤ１００の体の位置が判定対象空間７０からはみ出しているか否かを把握できるようになる。
【０１４４】
その結果、プレイヤは、自らの立ち位置を修正できるようになる。また、スポットライト領域５３外にゲームキャラクタ５１が移動した場合、ゲームキャラクタ５１が見えにくくなるため、プレイヤは、ゲームキャラクタ５１がスポットライト領域５３内に位置するように、自分の立ち位置を無意識のうちに修正することが考えられる。このようにゲームキャラクタ５１の表示位置を制御することによって、プレイヤが自分の立ち位置を無意識のうちに修正するように図ることも可能になる。
【０１４５】
図１９に戻り、マイクロプロセッサ２３（表示制御部９０）は、ゲーム画面５０に表示されるゲームキャラクタ５１の姿勢をアニメーションデータに基づいて更新する（Ｓ１０３）。
【０１４６】
マイクロプロセッサ２３（判定部８４）は、３次元位置情報が示すプレイヤ１００の体の少なくとも一つの位置が判定対象空間７０外であるか否かを判定する（Ｓ１０４）。Ｓ１０４における判定は、例えば、３次元位置情報と判定対象空間情報とが比較されることによって行われる。つまり、例えば、３次元位置情報に含まれる３次元座標（図５）が、判定対象空間７０（図７）の内部にあるか否かに基づいて判定される。
【０１４７】
プレイヤの位置が判定対象空間７０外でない場合（Ｓ１０４；Ｎ）、即ち、プレイヤ１００に対応する全ての位置が判定対象空間７０内である場合、マイクロプロセッサ２３（ゲーム処理実行部８６）は、ゲームキャラクタ５１の体の動きに合わせてプレイヤ１００が体を動かしたか否かを判定する（Ｓ１０５）。
【０１４８】
Ｓ１０５においては、プレイヤ１００が、ゲームキャラクタ５１が行う動作（体の動き）と類似の動作を行ったか否かが判定される。この判定は、例えば、３次元位置情報、基準動作情報（図１７）、及び判定基準情報（図１８）に基づいて実行される。
【０１４９】
基準動作情報が図１７に示すデータ格納例である場合、例えば、時間ｔ１においてゲームキャラクタ５１が右足を前方に踏み出すことを示している。この場合、ゲームキャラクタ５１が右足を前方に踏み出すタイミング（以下「基準タイミング」と呼ぶ。）において、プレイヤが右足を前に踏み出したか否かが判定される。基準タイミングは、例えば、基準動作情報に格納された時間（例えば、時間ｔ１）を含む所定期間内のタイミングである。
【０１５０】
ここで、「所定期間」とは、例えば、基準タイミングの所定時間前の開始タイミングから、基準タイミングから所定時間後の終了タイミングまでの期間である。上記所定期間内にプレイヤ１００が右足を前に踏み出した場合、ゲームキャラクタ５１の足の動きに合わせてプレイヤが足を動かしたと判定される。即ち、ゲームキャラクタ５１の動きに合わせてプレイヤ１００が動作したと判定される。先述のように、プレイヤ１００が右足を前に踏み出したか否かは、判定基準情報（図１８）に基づいて判別される。
【０１５１】
ゲームキャラクタ５１の動きに合わせてプレイヤ１００が動作したと判定された場合（Ｓ１０５；Ｙ）、マイクロプロセッサ２３（ゲーム処理実行部８６）は、例えば「ＧＯＯＤ」等のメッセージ５４をゲーム画面５０に表示する（Ｓ１０６）。
【０１５２】
一方、ゲームキャラクタ５１の動きに合わせてプレイヤ１００が動作したと判定されない場合（Ｓ１０５；Ｎ）、マイクロプロセッサ２３は、Ｓ１０６のようなメッセージを表示させずに処理を終了する。
【０１５３】
一方、プレイヤの体の少なくとも一つの位置が判定対象空間７０外である場合（Ｓ１０４；Ｙ）、マイクロプロセッサ２３（ゲーム処理実行部８６）は、例えば「ＣＡＵＴＩＯＮ」等のメッセージ５４をゲーム画面５０に表示する（Ｓ１０７）。
【０１５４】
マイクロプロセッサ２３（判定対象空間変更部８８）は、プレイヤの体の少なくとも一つの位置が判定対象空間７０外である状態が基準期間（例えば３秒間）にわたって継続したか否かを判定する（Ｓ１０８）。
【０１５５】
プレイヤの体の少なくとも一つの位置が判定対象空間７０外である状態が基準期間にわたって継続した場合（Ｓ１０８；Ｙ）、マイクロプロセッサ２３（判定対象空間変更部８８）は、判定対象空間７０の位置を変更する（Ｓ１０９）。
【０１５６】
Ｓ１０９においては、例えば、３次元位置情報の腰Ｐ１０の３次元座標が参照される。次いで、判定対象空間７０の代表点７１がプレイヤの腰Ｐ１０に対応する３次元座標と一致するようにして、判定対象空間７０の位置が変更される。
【０１５７】
図２０は、変更された判定対象空間７０を示す図である。図２０に示すように、プレイヤ１００の腰Ｐ１０の位置と代表点７１とが一致するように、判定対象空間７０の位置が変更される。
【０１５８】
なお、Ｓ１０９における判定対象空間７０の位置の変更方法は、３次元位置情報が示すプレイヤ１００の位置に基づいて、プレイヤ１００の位置が判定対象空間７０に含まれるようにすればよく、この変更方法は、上記の例に限られない。他にも例えば、３次元位置情報に含まれる３次元座標の平均値と代表点７１とが一致するように判定対象空間７０の位置が変更されるようにしてもよい。
【０１５９】
例えば、プレイヤ１００が障害物に近づいた場合には、所定時間以内に気づいて元の位置に戻ることが考えられる。つまり、上記のように、変更前の判定対象空間７０からプレイヤ１００がはみ出した状態が所定時間継続した場合、現在のプレイヤ１００の立ち位置周辺には、障害物がない可能性が高いと考えられる。つまり、この場合には、プレイヤ１００がゲームプレイを継続できるように、図１９に示すように、プレイヤの体の位置が判定対象空間７０内に含まれるように、判定対象空間７０の位置が変更される。
【０１６０】
一方、プレイヤの体の少なくとも一つの位置が判定対象空間７０外である状態が基準期間にわたって継続していない場合（Ｓ１０８；Ｎ）、マイクロプロセッサ２３は、処理を終了する。即ち、この場合、マイクロプロセッサ２３は、プレイヤ１００の体の動きに基づいて「ＧＯＯＤ」等のメッセージ５４を表示する処理が行われない。つまり、プレイヤ１００がダンスの動作をしても反応しないため、プレイヤ１００に判定対象空間７０にいないことを理解させることもできる。
【０１６１】
［１−８．実施形態のまとめ］
以上に説明したゲーム装置２０では、プレイヤ１００が判定対象空間７０にいるか否かに基づいて、「ＣＡＵＴＩＯＮ」等のメッセージ５４を表示させたり、プレイヤ１００の動作を検出しないようにしてゲーム処理を実行する。また、３次元空間におけるプレイヤ１００の位置に基づいて判定対象空間７０の位置が変更されるので、判定対象空間７０にいるようにプレイヤ１００を誘導しつつ、プレイヤ１００がゲームプレイを継続できるように判定対象空間７０を変更することができる。
【０１６２】
先述のように、ゲーム開始時（又は、ゲーム開始直前もしくは直後）は、プレイヤ１００は、周囲の安全を確認することが考えられるので、この位置にプレイヤ１００を誘導することによって、プレイヤ１００が障害物や他のプレイヤ１００にぶつかってしまう可能性を軽減できる。したがって、プレイヤ１００は、体を動かすようなゲームであっても安全にプレイすることができる。
【０１６３】
また、プレイヤ１００の体の位置と、判定対象空間７０の位置と、の位置関係に基づいて、ゲームキャラクタ５１の表示位置と、スポットライト領域５３の表示位置と、の位置関係が制御される。例えば、プレイヤ１００の体の位置が判定対象空間７０から外れている場合には、ゲームキャラクタ５１がスポットライト領域５３外に位置するようになる（図１１、図１３参照）。
【０１６４】
ゲーム装置２０によれば、プレイヤ１００は、ゲーム画面５０に表示されるゲームキャラクタ５１とスポットライト領域５３との位置関係を参照することによって、プレイヤ１００の体の位置が判定対象空間７０から外れているか否かを把握できるようになる。その結果、ゲームプレイ中にプレイヤ１００の立ち位置が変わったような場合に、プレイヤ１００は、立ち位置が変わってしまったことを知ることができるようになる。即ち、プレイヤ１００は、自らの立ち位置を修正できるようになる。
【０１６５】
また、スポットライト領域５３外にゲームキャラクタ５１が移動した場合、ゲームキャラクタ５１が見えにくくなる。つまり、プレイヤ１００は、ゲームキャラクタ５１がスポットライト領域５３内に位置するように、自分の立ち位置を無意識のうちに修正しようとすることが考えられる。このように、ゲーム装置２０によれば、プレイヤ１００が、自分の立ち位置を無意識のうちに修正するように図ることも可能になる。
【０１６６】
また、ゲーム装置２０では、プレイヤ１００の体の少なくとも一つの位置が判定対象空間７０外である状態が基準期間（例えば３秒間）にわたって継続した場合、プレイヤ１００の体の位置が判定対象空間７０内に含まれるように、判定対象空間７０の位置が変更される（図２０参照）。
【０１６７】
ゲーム装置２０の上記の処理によれば、ゲームプレイ中にプレイヤ１００の立ち位置が変わり、プレイヤ１００の体の少なくとも一つの部位の位置が判定対象空間７０外になった状態において、仮にプレイヤ１００が立ち位置を修正しなくても、ゲームを進行できるようになる。先述のように、プレイヤ１００が判定対象空間７０の外にいる状態が基準期間にわたって継続した場合、プレイヤ１００の立ち位置周辺には障害物がない可能性が高いので、判定対象空間７０の位置を変更してもプレイヤ１００の安全を保障することができる。
【０１６８】
また例えば、プレイヤの体の何れかの位置が、瞬間的に判定対象空間７０外になった場合にも判定対象空間７０の位置を変更してしまうと、却ってプレイヤが戸惑ってしまうおそれがある。この点、ゲーム装置２０ではそのような戸惑いをプレイヤに感じさせないようにすることができる。
【０１６９】
［２．変形例］
なお、本発明は以上に説明した実施形態に限定されるものではない。
【０１７０】
［２−１．第１変形例］
図１９のＳ１０２では、ゲームキャラクタ５１の表示位置とスポットライト領域５３の誘導位置５５との位置関係が、プレイヤ１００の位置（例えば、腰Ｐ１０の３次元座標）と、判定対象空間７０の代表点７１と、の位置関係に対応する位置関係となるように、スポットライト領域５３（及び、スポットライト５２）の表示位置が変更されるようにしてもよい。つまり、ゲームキャラクタ５１を動かさずに、スポットライト領域５３を動かすようにしてもよい。
【０１７１】
または、ゲームキャラクタ５１の表示位置とスポットライト領域５３の誘導位置５５との位置関係が、プレイヤ１００の位置（例えば、腰Ｐ１０の３次元座標）と、判定対象空間７０の代表点７１と、の位置関係に対応する位置関係となるように、ゲームキャラクタ５１と、スポットライト領域５３（及び、スポットライト５２）と、の両方の表示位置が変更されるようにしてもよい。
【０１７２】
また、ゲームキャラクタ５１やスポットライト領域５３等の相対的な位置を変更させずに、ゲームキャラクタ５１の表示位置をゲーム画面５０の右側や左側等に移動させるようにしてもよい。即ち例えば、ゲーム画面５０が、仮想ゲーム空間を仮想カメラから見た様子を示す画面である場合、この仮想カメラの位置が変更されることによって、上記のようにゲームキャラクタ５１の表示位置が変更する。
【０１７３】
図２１は、ゲーム画面５０に含まれる画像の表示位置が変更された場合を示す図である。図２１に示すゲーム画面５０は、例えば、プレイヤ１００が位置検出装置１に対して判定対象空間７０の右側に移動した場合に表示される。仮想カメラの位置が左側に変更されることにより、例えば、ゲーム画面５０の中央付近に位置していたゲームキャラクタ５１が、ゲーム画面５０の中心点から見て右側に移動する。
【０１７４】
また例えば、領域５０ａのように、ゲーム画面５０の左端部付近が黒く表示される。領域５０ａの幅と位置は、例えば、代表点７１とプレイヤ１００の腰Ｐ１０との距離Ｌと方向Ｄに基づいて決定される。プレイヤ１００は、ゲーム画面５０の左端部付近の領域５０ａには、何も表示されないように見えることになる。この場合、プレイヤ１００は、ゲームキャラクタ５１の表示位置を元に戻そうとして、左側に移動することが考えられる。即ち、このゲーム画面５０によれば、判定対象空間７０の内側にプレイヤ１００を案内することができる。
【０１７５】
このようにゲーム画面５０の表示制御がなされることによって、ゲーム画面５０に含まれる画像（ゲームキャラクタ５１等）のそれぞれの相対的な位置を変えることなく、プレイヤ１００に立ち位置がずれていることを案内することができる。なお、上記では、仮想カメラの位置が変更される場合を説明したが、仮想カメラの視線方向や画角が変更されることによってプレイヤ１００の立ち位置を案内するようにしてもよい。
【０１７６】
［２−２．第２変形例］
また、ゲーム画面５０は、プレイヤ１００の立ち位置と判定対象空間７０の代表点７１との表示位置との位置関係が案内されるようにすればよく、ゲーム画面５０の例は、本実施形態の例に限られない。
【０１７７】
図２２は、ゲーム画面５０の他の一例を示す図である。図２２に示すゲーム画面５０には、プレイヤ１００に対応するプレイヤキャラクタ５１ａ（第１のゲームキャラクタ）と、インストラクターキャラクタ５１ｂ（第２のゲームキャラクタ）と、が表示されている。
【０１７８】
この場合、例えば、プレイヤ１００は、インストラクターキャラクタ５１ｂの動きに合わせて体を動かす。そして、プレイヤキャラクタ５１ａが、プレイヤ１００の動きに基づいて動作する。実施形態と同様に、プレイヤ１００の動作がうまくいった場合、「ＧＯＯＤ」等のメッセージ５４が表示される。
【０１７９】
なお、プレイヤキャラクタ５１ａ及びインストラクターキャラクタ５１ｂが同じ動きを行い、プレイヤ１００が、プレイヤキャラクタ５１ａ及びインストラクターキャラクタ５１ｂの動きに合わせて体を動かすようにしてもよい。
【０１８０】
この第２変形例では、プレイヤキャラクタ５１ａとインストラクターキャラクタ５１ｂとの位置関係が、プレイヤ１００の位置と、判定対象空間７０と、の位置関係に基づいて変更される。例えば、プレイヤ１００の位置が、判定対象空間７０内に含まれている場合、図２２に示すように、プレイヤキャラクタ５１ａがインストラクターキャラクタ５１ｂの略正面に表示される。
【０１８１】
一方、例えば、図１０に示すようにプレイヤ１００の位置が判定対象空間７０から外れている場合、例えば、図２３に示すように、プレイヤキャラクタ５１ａが、インストラクターキャラクタ５１ｂから遠くにずれた位置に表示される。また、「ＣＡＵＴＩＯＮ」等のメッセージ５４が表示される。
【０１８２】
また例えば、図１２に示すようにプレイヤ１００の位置が判定対象空間７０から外れている場合、例えば、図２４に示すように、プレイヤキャラクタ５１ａが、インストラクターキャラクタ５１ｂから横に大きくずれた位置に表示される。
【０１８３】
第２変形例では、例えば、図１７のＳ１０２の処理と類似の処理が実行される。即ち、プレイヤキャラクタ５１ａの表示位置とインストラクターキャラクタ５１ｂの表示位置との位置関係が、プレイヤ１００の位置と、判定対象空間７０の代表点７１と、の位置関係に対応する位置関係となるように、プレイヤキャラクタ５１ａ及びインストラクターキャラクタ５１ｂの少なくとも一方の表示位置が変更される。
【０１８４】
例えば、まず、プレイヤ１００の腰Ｐ１０の３次元座標が参照される。次いで、プレイヤ１００の腰Ｐ１０の３次元座標と、判定対象空間７０の代表点７１と、の位置関係が判断される。例えば、プレイヤ１００の腰Ｐ１０の３次元座標と、判定対象空間７０の代表点７１と、の差が取得される。具体的には、判定対象空間７０の代表点７１からプレイヤ１００の腰Ｐ１０の３次元座標への方向Ｄ及び距離Ｌが取得される。
【０１８５】
その後、プレイヤキャラクタ５１ａの表示位置とインストラクターキャラクタ５１ｂの表示位置との位置関係が、プレイヤ１００の腰Ｐ１０の３次元座標と、判定対象空間７０の代表点７１と、の位置関係に対応する位置関係となるように、プレイヤキャラクタ５１ａの表示位置が変更される。例えば、図２３及び図２４に示すように、インストラクターキャラクタ５１ｂの真正面に設定される基本位置５６から、上記方向Ｄに対応する方向Ｄｓに、上記距離Ｌに対応する距離Ｌｓだけ移動した位置５７に、プレイヤキャラクタ５１ａの表示位置が変更される。
【０１８６】
第２変形例によれば、プレイヤ１００は、プレイヤキャラクタ５１ａとインストラクターキャラクタ５１ｂとの位置関係を参照することによって、プレイヤ１００の体の位置が判定対象空間７０から外れているか否かを把握できるようになる。その結果、ゲームプレイ中にプレイヤ１００の立ち位置が変わったような場合、プレイヤ１００は、立ち位置が変わってしまったことを知ることができるようになり、プレイヤ１００は、自らの立ち位置を修正できるようになる。即ち、プレイヤ１００は、判定対象空間７０内の比較的安全な場所でゲームをプレイすることができる。
【０１８７】
なお、プレイヤキャラクタ５１ａの位置がインストラクターキャラクタ５１ｂの正面からずれている場合や遠く離れている場合、一般的に、プレイヤ１００は、プレイヤキャラクタ５１ａの位置がインストラクターキャラクタ５１ｂの正面となるようにしようとすることが考えられる。
【０１８８】
即ち、プレイヤキャラクタ５１ａの位置がインストラクターキャラクタ５１ｂの正面からずれている場合や遠く離れている場合、プレイヤ１００は、インストラクターキャラクタ５１ｂの動きを真似しにくくなると考えられる。つまり、プレイヤ１００は、プレイヤキャラクタ５１ａの位置がインストラクターキャラクタ５１ｂの正面となるように、自分の立ち位置を無意識のうちに修正すると考えられる。
【０１８９】
以上に説明したようにプレイヤキャラクタ５１ａとインストラクターキャラクタ５１ｂとの位置関係が制御されることによって、プレイヤ１００が、自分の立ち位置を無意識のうちに修正するように図ることも可能になる。
【０１９０】
また、第２変形例においても、図２１のような表示制御がなされるようにしてもよい。つまり、プレイヤキャラクタ５１ａとインストラクターキャラクタ５１ｂの相対的な位置を変更させずに、プレイヤキャラクタ５１ａとインストラクターキャラクタ５１ｂの表示位置をゲーム画面５０の右側や左側等に移動させるようにしてもよい。この場合も、図２１に示す場合と同様に、例えば、仮想カメラの位置が変更されることによって、上記のようにプレイヤキャラクタ５１ａとインストラクターキャラクタ５１ｂの表示位置が変更する。
【０１９１】
図２５は、ゲーム画面５０に含まれる画像の表示位置が変更された場合を示す図である。図２５に示すゲーム画面５０は、例えば、プレイヤ１００が位置検出装置１に対して判定対象空間７０の右側に移動した場合に表示される。仮想カメラの位置が左側に変更されることにより、例えば、ゲーム画面５０の中央付近に位置していたプレイヤキャラクタ５１ａとインストラクターキャラクタ５１ｂが、ゲーム画面５０の中心点から見て右側に移動する。
【０１９２】
また例えば、図２１と同様に、領域５０ａが表示される。この場合、プレイヤ１００は、プレイヤキャラクタ５１ａとインストラクターキャラクタ５１ｂの表示位置を元に戻そうとして、左側に移動することが考えられる。即ち、このゲーム画面５０によれば、判定対象空間７０の内側にプレイヤ１００を案内することができる。
【０１９３】
［２−３．その他の変形例］
なお、本発明は、以上説明した実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【０１９４】
（１）例えば、プレイヤ１００の位置を示す３次元位置情報を図５に示すデータ格納例を挙げて説明したが、位置検出装置１から送信される３次元位置情報は、プレイヤ１００の位置（例えば、立ち位置）を識別できる情報であればよく、このデータ格納例は、図５の例に限られない。他にも例えば、プレイヤ１００の基準点（例えば、頭に対応する点）から体の各部までの距離と方向を示す情報等であってもよい。
【０１９５】
（２）また例えば、上記では、撮影画像と深度情報（深度画像）とに基づいて３次元位置情報を生成する位置情報生成手段が位置検出装置１に含まれる例を挙げて説明したが、位置情報生成手段は、ゲーム装置２０であってもよい。つまり、ゲーム装置２０は、位置検出装置１から撮影画像と深度画像とを受信し、これらに基づいて３次元位置情報を生成するようにしてもよい。
【０１９６】
（３）また例えば、上記では、３次元位置情報に基づいてプレイヤ１００の動作を解析する方法として、図１８に示す動作判定基準情報とプレイヤ１００の各部位の３次元座標の変化量、変化方向、変化の速度等とを比較する例を挙げて説明した。プレイヤ１００の動作の解析方法は、３次元位置情報に基づいたものであればよく、この解析方法は、上記の例に限られない。他にも例えば、３次元位置情報に含まれる３次元座標が、所定の数式に代入されることによって得られる値に基づいてプレイヤ１００の動作が解析されるようにしてもよい。
【０１９７】
（４）また例えば、複数のプレイヤ１００がゲームをプレイする場合、それぞれのプレイヤ１００に対応する判定対象空間７０が互いに重畳しないように制御されるようにしてもよい。例えば、２人のプレイヤ１００がゲームをプレイする場合、３次元位置情報には、２人分の３次元座標が含まれる。一方のプレイヤ１００の腰Ｐ１０の３次元座標に代表点７１が移動するように判定対象空間７０を変更させると変更後の判定対象空間７０と他方のプレイヤ１００の判定対象空間７０とが重畳する場合には、互いにぶつかる可能性があるので、この変更をしないように制御されるようにしてもよい。
【０１９８】
つまり、ゲーム装置２０が実行するゲームが複数のプレイヤ１００によってプレイされる場合、判定対象空間変更部８８は、一方のプレイヤ１００に対応する判定対象空間７０の位置を変更させると他方のプレイヤ１００に対応する判定対象空間７０に重畳する場合、当該変更を制限する手段を含む、ようにしてもよい。
【０１９９】
（５）また、第１変形例及び第２変形例では、表示制御部９０が表示位置を制御する際に参照されるプレイヤ１００の位置と判定対象空間７０との位置関係の基準点を、それぞれ腰Ｐ１０の３次元座標と代表点７１とした。表示制御部９０は、プレイヤ１００に対応する３次元位置情報と判定対象空間７０の位置を識別する情報とに基づいて表示位置を制御するか否かを決定するようにすればよく、比較される情報は、上記の例に限られない。例えば、３次元位置情報に含まれる３次元座標の平均値と判定対象空間７０の内部の任意の一点とが比較されるようにしてもよい。
【０２００】
（６）また、本実施形態においては、プレイヤ１００の深度を測定する方法を、赤外線光の飛行時間に基づいて算出する例を挙げて説明したが、この測定方法は、本実施形態の例に限られない。他にも例えば、三角測量を行なう方法や、３次元レーザースキャニングを行なう方法等を適用可能である。また、深度情報を深度画像として取得する例を挙げて説明したが、深度情報はこれに限られない。深度情報は、プレイヤ１００の深度を識別する情報であればよく、例えば、深度情報は、飛行時間を示す値であってもよい。
【０２０１】
（７）また、判定対象空間７０を、図７に示すような形状を例に挙げて説明したが、判定対象空間７０の形状は、これに限られない。判定対象空間７０は、プレイヤ１００がいるべき位置を特定できる形状であればよく、例えば、判定対象空間７０は、球状であってもよい。この場合、ゲームデータ記憶部８０には、判定対象空間７０の代表点７１（例えば、球の中心点）と、球の半径を識別する情報が記憶される。
【０２０２】
（８）また、本実施形態においては、判定対象空間７０の広さをそのままにして、位置のみを変更させるようにしたが、判定対象空間７０の広さが変更されることにより、判定対象空間７０の位置が変更されるようにしてもよい。即ち、プレイヤ１００が判定対象空間７０からはみ出した状態が所定時間継続した場合、このはみ出した方向に判定対象空間７０が拡大されるようにして、判定対象空間７０の位置が変更されるようにしてもよい。
【０２０３】
（９）また例えば、本実施形態においては、ゲーム装置２０が、３次元位置情報に基づいてプレイヤ１００の動作を判定するようにしたが、位置検出装置１が、プレイヤ１００の動作を判定するようにしてもよい。この場合、位置検出装置１に判定基準情報（図１８）が記憶される。つまり、プレイヤ１００の動作が位置検出装置１によって判定され、この判定結果を示す情報のみがゲーム装置２０に対して送信される。
【０２０４】
（１０）また、プレイヤ１００が判定対象空間７０からはみ出した場合、表示制御部９０が行う表示制御処理は、本実施形態や変形例（図１１、図１３、図２１、図２３、図２４、図２５）に限られない。プレイヤ１００が判定対象空間７０からはみ出した旨を、プレイヤ１００に対して伝えることができるような表示制御が行われればよい。例えば、判定対象空間７０の全体と、ゲーム画面５０の表示領域全体と、が対応していてもよい。即ち、判定対象空間７０からプレイヤ１００がはみ出した場合、ゲームキャラクタ５１がゲーム画面５０から見えなくなるようにしてもよい。
【０２０５】
（１１）他にも例えば、表示制御部９０は、プレイヤ１００が判定対象空間７０にいない場合、ゲーム画面５０に含まれる画像に対して所定の画像処理を行うようにしてもよい。即ち、例えば、プレイヤ１００の注視対象であるゲームキャラクタ５１に対してノイズ処理を行い、見えづらくなるようにしてもよい。
【０２０６】
（１２）また、本実施形態においては、ゲーム装置２０が実行するゲームとしてダンスゲームを例に挙げて説明した。ゲーム装置２０が実行するゲームは、プレイヤ１００の動作を検出してゲーム処理が実行されるものであればよく、実行されるゲームの種類は、これに限られない。他にも例えば、サッカーゲーム等のスポーツゲームであってもよいし、格闘ゲーム等であってもよい。
【符号の説明】
【０２０７】
１  位置検出装置、２  ＣＣＤカメラ、３  赤外線センサ、４  マイク、１０  マイクロプロセッサ、１１  記憶部、１２  撮影部、１３  深度測定部、１４  音声処理部、１５  通信インタフェース部、１６，２２  バス、２０  ゲーム装置、２１  家庭用ゲーム機、２３  マイクロプロセッサ、２４  主記憶、２５  画像処理部、２６  音声処理部、２７  光ディスク再生部、２８  メモリカードスロット、２９  通信インタフェース、３０  コントローラインタフェース、３１  コントローラ、４０  表示部、４１  音声出力部、４２  光ディスク、４３  メモリカード、５０  ゲーム画面、５０ａ  領域、５１  ゲームキャラクタ、５１ａ  プレイヤキャラクタ、５１ｂ  インストラクターキャラクタ、５２  スポットライト、５３  スポットライト領域、５４  メッセージ、５５  誘導位置、５６  基本位置、５７  位置、６０  検知可能空間、７０  判定対象空間、７１  代表点、８０  ゲームデータ記憶部、８２  位置取得部、８４  判定部、８６  ゲーム処理実行部、８８  判定対象空間変更部、９０  表示制御部、１００  プレイヤ、Ｐ１  頭、Ｐ２  首、Ｐ３  右肩、Ｐ４  左肩、Ｐ５  右ひじ、Ｐ６  左ひじ、Ｐ７  右手、Ｐ８  左手、Ｐ９  胸、Ｐ１０  腰、Ｐ１１  右ひざ、Ｐ１２  左ひざ、Ｐ１３  右かかと、Ｐ１４  左かかと、Ｐ１５  右つま先、Ｐ１６左つま先、Ｆ  家具、Ｏｗ，Ｏｓ  原点、Ｐｍａｘ  座標、Ｄ，Ｄｓ  方向、Ｌ，Ｌｓ  距離。
【図１】
2011189066.tif 000003
【図２】
2011189066.tif 000004
【図３】
2011189066.tif 000005
【図４】
2011189066.tif 000006
【図５】
2011189066.tif 000007
【図６】
2011189066.tif 000008
【図７】
2011189066.tif 000009
【図８】
2011189066.tif 000010
【図９】
2011189066.tif 000011
【図１０】
2011189066.tif 000012
【図１１】
2011189066.tif 000013
【図１２】
2011189066.tif 000014
【図１３】
2011189066.tif 000015
【図１４】
2011189066.tif 000016
【図１５】
2011189066.tif 000017
【図１６】
2011189066.tif 000018
【図１７】
2011189066.tif 000019
【図１８】
2011189066.tif 000020
【図１９】
2011189066.tif 000021
【図２０】
2011189066.tif 000022
【図２１】
2011189066.tif 000023
【図２２】
2011189066.tif 000024
【図２３】
2011189066.tif 000025
【図２４】
2011189066.tif 000026
【図２５】
2011189066.tif 000027