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