説明

ビデオゲーム装置

【課題】深度センサを備えたビデオゲーム装置において、深度センサに対するプレイヤの向きにかかわらずジェスチャを精度よく認識する。
【解決手段】プレイヤが存在する空間を撮像し、各画素ごとに深度情報を取得する深度センサと、前記撮像された画像を複数の区画に区分した上で前記深度情報の統計情報を区画毎に算出し、算出した前記統計情報に基づいてプレイヤのジェスチャを認識するジェスチャ認識部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はビデオゲーム装置の制御技術に関する。
【背景技術】
【0002】
ビデオゲーム装置の新たな仕組として、プレイヤがコントローラを操作することなく、プレイヤのジェスチャ(体の姿勢や身振り手振り等)や音声によりゲーム進行をコントロールするものが提案されている。なお、従来においてもプレイヤのポーズ(ジェスチャ)によりゲーム操作を行う技術が提案されている(例えば、特許文献1等を参照。)。
【0003】
前述したビデオゲーム装置の新たな仕組においては、骨格追跡と呼ばれる技術を用いてプレイヤのジェスチャを認識し、認識したジェスチャに対応したゲーム進行を行うようにしている。骨格追跡とは、カメラや深度センサ(カメラの撮像画素に対応した各点につき、センサからの距離を測定する機器)により取得したプレイヤの姿態の情報に基づき、体の特徴的な端部(頭、腕、胴体、脚等)を認識し、その内部の骨および関節の位置を推定し、その動きを追跡するものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−68315号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した骨格追跡は、カメラや深度センサに対してプレイヤが正面を向き、ほぼ全身が撮影されている場合には有効に機能する。しかし、プレイヤが横向きになったような場合には、体のかなりの部分の部位、具体的にはカメラ・センサ位置の反対側の腕、手、脚および足首等の位置がカメラや深度センサから観測できなくなってしまうため、骨格追跡の処理が不安定になり、処理が破綻してしまう場合もあった。
【0006】
骨格追跡の処理の不安定さを回避するために、計算に遊び(Dead Zone)を入れる手法が存在するが、その結果、わずかな姿勢変化や体重移動等を見逃してしまうこととなり、微細なコントロールを要するビデオゲームには適用できないという問題があった。例えば、サーフボードやスケートボード等のコントロールをプレイヤのジェスチャにより操作するようなビデオゲームの場合、プレイヤはカメラや深度センサに対して顔を右または左に90度横に向け、体を横向きにした状態でゲーム操作を行うため、微妙な姿勢変化や体重移動を行うものであることから、特にカメラ・センサと反対側の位置にある身体部位の計測においてかかる点は特に問題となる。
【0007】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、深度センサに対するプレイヤの向きにかかわらずジェスチャを精度よく認識することのできるビデオゲーム装置を提供することにある。
【課題を解決するための手段】
【0008】
上記の課題を解決するため、本発明にあっては、請求項1に記載されるように、プレイヤが存在する空間を撮像し、各画素ごとに深度情報を取得する深度センサと、前記撮像された画像を複数の区画に区分した上で前記深度情報の統計情報を区画毎に算出し、算出した前記統計情報に基づいてプレイヤのジェスチャを認識するジェスチャ認識部とを備えるビデオゲーム装置を要旨としている。
【0009】
また、請求項2に記載されるように、請求項1に記載のビデオゲーム装置において、前記ジェスチャ認識部は、前記画像における前記プレイヤのシルエットの面積中心を算出し、該面積中心位置に基づいて前記画像を複数の区画に分割するようにすることができる。
【0010】
また、請求項3に記載されるように、請求項1または2のいずれか一項に記載のビデオゲーム装置において、前記ジェスチャ認識部は、前記プレイヤに対して複数の所定の姿勢をとるよう誘導を行い、個々の姿勢について前記統計情報に対する補正パラメータを算出するようにすることができる。
【0011】
また、請求項4に記載されるように、ビデオゲーム装置の深度センサが、プレイヤが存在する空間を撮像し、各画素ごとに深度情報を取得する手順と、ジェスチャ認識部が、前記撮像された画像を複数の区画に区分した上で前記深度情報の統計情報を区画毎に算出し、算出した前記深度情報に基づいてプレイヤのジェスチャを認識する行う手順とを前記ビデオゲーム装置のコンピュータに実行させるビデオゲーム制御プログラムとして構成することができる。
【発明の効果】
【0012】
本発明のビデオゲーム装置にあっては、深度センサに対するプレイヤの向きにかかわらずジェスチャを精度よく認識することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態にかかるビデオゲーム装置の構成例を示す図である。
【図2】画像情報および深度情報のデータ構造例を示す図である。
【図3】ジェスチャ認識およびゲーム制御の処理例を示すフローチャートである。
【図4】分割位置の算出の処理例を示すフローチャートである。
【図5】ジェスチャ認識の例を示す図である。
【図6】ゲーム制御の例を示す図である。
【図7】補正パラメータの算出の処理例を示すフローチャートである。
【図8】補正パラメータの算出における画面および算出情報の例を示す図(その1)である。
【図9】補正パラメータの算出における画面および算出情報の例を示す図(その2)である。
【発明を実施するための形態】
【0014】
以下、本発明の好適な実施形態につき説明する。
【0015】
<構成>
図1は本発明の一実施形態にかかるビデオゲーム装置1の構成例を示す図である。
【0016】
図1において、ビデオゲーム装置1は、制御部101とメモリ108とカメラ111と深度センサ112とマイク113と映像出力部114と音声出力部115と通信部116とモニタ117とスピーカ118とを備えている。なお、カメラ111、深度センサ112、モニタ117、スピーカ118をビデオゲーム装置1内のものとして図示しているが、ケーブル等による外付けとしてもよい。
【0017】
制御部101は、CPU(Central Processing Unit)等から構成され、コンピュータプログラムに従って主たる制御動作を行う。
【0018】
メモリ108は、制御部101の作業用領域としてデータを保持する。
【0019】
カメラ111は、プレイヤが存在する空間を撮像して画像情報を取得する。データ構造については後述する。
【0020】
深度センサ112は、プレイヤが存在する空間に対して赤外線光等を照射して撮像し、発信から受信までの時間(飛行時間)から、撮像された画像(例:図5(a)〜(c))の各画素ごとの深度情報(距離情報)を取得する。データ構造については後述する。
【0021】
マイク113は、プレイヤが通常存在する空間から音声を入力する。
【0022】
映像出力部114は、モニタ117に出力する映像信号を生成する。
【0023】
音声出力部115は、スピーカ118に出力する音声信号を生成する。
【0024】
通信部116は、有線もしくは無線により他の機器やネットワークとデータ通信を行う。
【0025】
一方、制御部101は、機能部として、カメラ/深度センサ制御部102とプレイヤ追跡部103と骨格追跡部104とジェスチャ認識部105と音声認識部106とゲーム進行制御部107を構成している。
【0026】
カメラ/深度センサ制御部102は、カメラ111および深度センサ112の制御を行い、カメラ111により撮像された画像情報109と深度センサ112から取得された深度情報110をメモリ108に格納する。画像情報109は、図2(a)に示すように、RGB(Red, Green, Blue)等の画像データが画像内の各画素(ピクセル)に対応付けて格納される。深度情報110は、図2(b)に示すように、深度センサ112から被測定対象表面までの距離を示す深度データと、どのプレイヤの深度データであるかを示すフラグ(例えば、2プレイヤ対応の場合、「1」はプレイヤ#1、「2」はプレイヤ#2、「3」はその他の物体)とが、撮像された画像の各画素(ピクセル)に対応付けて格納される。なお、深度情報110のフラグはプレイヤ追跡部103により設定されるものであり、深度センサ112から取得した時点ではブランクである。また、画像情報109の解像度と深度情報110の解像度は同じである必要はない。
【0027】
図1に戻り、プレイヤ追跡部103は、メモリ108に格納された深度情報110(必要に応じて画像情報109を利用することも可能)を追跡し、プレイヤを特定するフラグを設定する。例えば、特定のプレイヤ(2プレイヤ対応の場合、プレイヤ#1かプレイヤ#2)であることを所定のジェスチャにより認識した後、そのプレイヤのシルエット(深度情報のうち背景に比べて前景として認識される部分)を追跡し、同じプレイヤのシルエットに含まれると推定される深度情報110に当該プレイヤを示すフラグを設定する。プレイヤのシルエットと推定されない深度情報110にはその旨を示すフラグを設定する。なお、プレイヤ追跡部103は、骨格追跡部104に含まれるものとしてもよい。
【0028】
骨格追跡部104は、メモリ108に格納された深度情報110(必要に応じて画像情報109を利用することも可能)に基づき、プレイヤの体の特徴的な端部(頭、腕、胴体、脚等)を認識し、その内部の骨および関節の位置を推定し、その動きを追跡する。
【0029】
ジェスチャ認識部105は、骨格追跡部104の追跡結果の他、メモリ108に格納された深度情報110(必要に応じて画像情報109を利用することも可能)を利用し、画像を複数の区画(例えば、4個の区画)に区分した上での深度情報110の統計情報に基づいてジェスチャの認識を行う。処理の詳細については後述する。
【0030】
音声認識部106は、マイク113から入力された音声情報に基づき、音声認識を行う。
【0031】
ゲーム進行制御部107は、骨格追跡部104、ジェスチャ認識部105および音声認識部106の処理結果に基づいてゲーム進行を制御する。
【0032】
<動作>
図3はジェスチャ認識およびゲーム制御の処理例を示すフローチャートである。なお、ジェスチャ認識およびゲーム制御は複数のプレイヤが存在する場合には、プレイヤ毎に行う。また、図3における処理は原則としてフレーム(ゲーム画像の画面更新単位)毎に行うものである。
【0033】
図3において、処理を開始すると(ステップS101)、ジェスチャ認識部105は、メモリ108から深度情報110を取得する(ステップS102)。
【0034】
次いで、ジェスチャ認識部105は、深度情報110の画像の分割位置を算出する(ステップS103)。
【0035】
図4は分割位置の算出(図3のステップS103)の処理例を示すフローチャートである。なお、ここでは、4個の区画に分割するための分割位置として1個の座標を求める場合について説明する。更に多くの区画に分割する場合は、分割位置の座標を複数求める。例えば、2(横方向)×4(縦方向)の場合は、上記の分割位置により区分される領域を縦方向に更に2分割する位置のそれぞれが新たな分割位置として追加される。
【0036】
その場合、分割の方法としては、例えば上下に分割した各領域を高さ方向の情報で単純に2等分してもよいし、または各領域内での深度情報で求められた面積中心を元に重心となる点を求め、その縦軸座標を元に更に分割してもよい。また、画像認識情報を元に上半身側であれば首の位置、下半身側であれば膝の位置で領域分割を行うことも可能である。
【0037】
図4において、処理を開始すると(ステップS201)、深度情報110の個々のデータのフラグから該当プレイヤの深度情報を特定する(ステップS202)。
【0038】
次いで、該当プレイヤのシルエットの深度情報110の面積中心(重心)を算出する(ステップS203)。例えば、画像の横軸をx、縦軸をyとすると、該当プレイヤに対応するフラグが設定された深度情報110の個々につき、x値の総和を深度情報110の総数で除したものを面積中心のx座標とし、y値の総和を深度情報110の総数で除したものを面積中心のy座標とする。
【0039】
次いで、算出した面積中心の深度値を取得する(ステップS204)。すなわち、面積中心の座標に対応する深度情報110の深度データを参照する。
【0040】
次いで、取得した深度値から前後所定値範囲内の該当プレイヤの深度情報110をフィルタリングする(ステップS205)。すなわち、該当プレイヤに対応するフラグが設定された深度情報110について深度データを参照し、所定値範囲内でないものを除去する。これは、プレイヤの前後に存在する障害物によるノイズを除去するためである。
【0041】
次いで、フィルタリング後の深度情報110の面積中心を算出して分割位置とし(ステップS206)、処理を終了する(ステップS207)。
【0042】
図3に戻り、ジェスチャ認識部105は、求められた分割位置により画像のエリア分割を行う(ステップS104)。具体的には、求められた分割位置をエリア分割の座標値として設定する。
【0043】
次いで、ジェスチャ認識部105は、分割区画毎のフィルタリング後の深度情報110の統計情報を算出する(ステップS105)。図5(a)(b)は統計情報の算出の例を示しており、異なる姿勢における統計情報の算出の例である。図5(a)(b)において、四隅に示された括弧でくくられた2つの数字は、第1要素が、対応する区画における該当プレイヤのシルエットの面積値(深度情報110の数)、第2要素が、対応する区画における該当プレイヤのシルエットの平均深度値(深度情報110の深度値の平均値)である。なお、統計情報としてはこれらの例に限らない。
【0044】
図3に戻り、ジェスチャ認識部105は、算出した統計情報を内部的に保存する(ステップS106)。
【0045】
次いで、ジェスチャ認識部105は、前回保存した統計情報と今回保存した統計情報との分割区画毎の差分を算出する(ステップS107)。図5(c)は、前回保存した統計情報を図5(a)の四隅の値とし、今回保存した統計情報を図5(b)の四隅の値とした場合の差分の例を示している。
【0046】
図3に戻り、ジェスチャ認識部105は、前回保存した統計情報と今回保存した統計情報との分割区画毎の差分に基づき、ジェスチャ認識結果を算出してゲーム進行制御部107に出力し(ステップS108)、深度情報の取得(ステップS102)に再び移行する。図5(c)に示した例では、左上の区画の面積値が増加し、右上の区画の面積値が減少し、左下と右下の面積値の増加幅が小さいことから、プレイヤが図の左方向に体をかがめた(前に反らした)と認識することができる。反らした量は、左上の区画の面積値の増加量(これに、右上の面積値の減少量(増加量を符号反転)を加算してもよい)に比例したものとすることができる。なお、ジェスチャ認識結果の算出に深度値の平均値の差分を含めてもよい。
【0047】
図3に戻り、ジェスチャ認識結果を取得したゲーム進行制御部107は、ジェスチャの種類に応じて予め取得された補正パラメータに従って補正を行う(ステップS109)。例えば、一般に前への反りと後ろへの反りでは、後ろへの反りが小さくなるプレイヤが多いため、サーフボードのように前後の反りで同じ程度の操作を行わせたい場合、認識結果そのままでは偏った操作しか行えなくなってしまう。そのため、予めプレイヤに前後に反らせた場合の認識結果から補正パラメータを計算しておき、後ろへの反りの場合に補正パラメータを乗算することで補正を行い、前後の反りに対して均等な操作を行えるようにする。なお、プレイヤの前後の反りに対する補正パラメータの算出および適用(補正実行)にあたっては、プレイヤが前に反っているのか、後ろに反っているのかを判断するために、プレイヤがどちら(右側、左側)を向いているのかを知る必要があるが、そのプレイヤの向きについては骨格追跡部104の出力する情報を用いることができる。骨格追跡部104はプレイヤの体の骨および関節の3次元上の位置を逐次把握しているので、プレイヤが深度センサ方向に対して右側・左側どちらを向いているかを判断することができる。補正パラメータの計算の詳細については後述する。
【0048】
次いで、ゲーム進行制御部107は、ジェスチャ認識結果(補正が行われる場合は補正後のジェスチャ認識結果)に基づいてゲーム進行を制御する(ステップS110)。図6はゲーム制御の例を示しており、プレイヤの姿勢に連動するキャラクタ21がサーフボード22に乗って走行している状態を示している。ここで、プレイヤの姿勢が図5(a)の状態の時のゲーム画面が図6(a)であったとすると、図5(b)のようにプレイヤが前に反ることで、図6(b)のようにキャラクタ21を前に反らせ、サーフボード22を右方向に回転させる。
【0049】
図7はゲーム制御時の補正(図3のステップS109)で用いられる補正パラメータの算出の処理例を示すフローチャートである。なお、この処理はプログラムロード中やゲーム開始前等において行うことができる。
【0050】
図7において、処理を開始すると(ステップS301)、プレイヤに正面を向いて直立させるための誘導を行うための画面表示を行う(ステップS302)。図8(a)はキャラクタが正面向きに立った状態の画面例である。なお、「補正のため、正面を向いて直立してください。」等のメッセージを併せて表示することができる。なお、正面向き直立の測定は、基本位置のデータを取得するためのものであり、補正パラメータを計算するためには用いないので、省略することができる。続く、ステップS303も同様である。
【0051】
次いで、図7に戻り、深度情報の取得、分割位置の算出、エリア分割、分割区画毎の深度情報の統計情報の算出/保存を行う(ステップS303:S304〜S307)。ここで、深度情報の取得(ステップS304)は、図3の深度情報の取得(ステップS102)に示したのと同様の処理である。分割位置の算出(ステップS305)は、図3の分割位置の算出(ステップS103)に示したのと同様の処理であり、詳細は図4に示したとおりである。エリア分割(ステップS306)は、図3のエリア分割(ステップS104)と同様の処理である。分割区画毎の深度情報の統計情報の算出/保存(ステップS307)は、図3の分割区画毎の深度情報の統計情報の算出(ステップS105)と統計情報の保存(ステップS106)と同様の処理である。取得される統計情報の例を図8(b)に示している。
【0052】
次いで、図7に戻り、プレイヤに横向き直立の誘導を行うための画面表示を行う(ステップS308)。図8(c)(d)はキャラクタが横向き直立になった状態の画面例であり、図8(c)はレギュラースタンス(プレイヤの左足が前)、図8(d)はグーフィースタンス(プレイヤの右足が前)の場合である。どちらかを選択させてもよいし、両者に対応できる画面としてもよい。なお、「横を向いて直立してください。」等のメッセージを併せて表示することができる。
【0053】
次いで、図7に戻り、深度情報の取得、分割位置の算出、エリア分割、分割区画毎の深度情報の統計情報の算出/保存を行う(ステップS309)。ステップS303(ステップS304〜S307)と同様の処理である。取得される統計情報の例を図8(e)(f)に示している。なお、誘導した通りの方向をプレイヤが向かない場合に備え、骨格追跡部104の出力する情報等によるプレイヤの向きの情報を併せて取得/保存するようにしてもよい。
【0054】
次いで、図7に戻り、プレイヤに前反りの誘導を行うための画面表示を行う(ステップS310)。図9(a)(b)はキャラクタが前反りになった状態の画面例であり、図9(a)はレギュラースタンスの場合、図9(b)はグーフィースタンスの場合である。なお、「前に最大まで反って(かがんで)ください。」等のメッセージを併せて表示することができる。
【0055】
次いで、図7に戻り、深度情報の取得、分割位置の算出、エリア分割、分割区画毎の深度情報の統計情報の算出/保存を行う(ステップS311)。ステップS303(ステップS304〜S307)と同様の処理である。取得される統計情報の例を図9(c)(d)に示している。
【0056】
次いで、図7に戻り、プレイヤに後ろ反りの誘導を行うための画面表示を行う(ステップS312)。図9(e)(f)はキャラクタが後ろ反りになった状態の画面例であり、図9(e)はレギュラースタンスの場合、図9(f)はグーフィースタンスの場合である。なお、「後ろに最大まで反ってください。」等のメッセージを併せて表示することができる。
【0057】
次いで、図7に戻り、深度情報の取得、分割位置の算出、エリア分割、分割区画毎の深度情報の統計情報の算出/保存を行う(ステップS313)。ステップS303(ステップS304〜S307)と同様の処理である。取得される統計情報の例を図9(g)(h)に示している。なお、誘導した通りの方向をプレイヤが向かない場合に備え、骨格追跡部104の出力する情報等によるプレイヤの向きの情報を併せて取得/保存するようにしてもよい。
【0058】
次いで、図7に戻り、横向き直立時の統計情報と前反り時の統計情報の差分と、横向き直立時の統計情報と後ろ反り時の統計情報の差分を算出し、これらから補正パラメータを算出する(ステップS314)。前反りか後ろ反りかは統計情報取得時の誘導内容に従うか、併せて取得/保存したプレイヤの向きの情報から判断する。
【0059】
例えば、図8(e)、図9(c)、(g)の統計情報が取得された場合、図8(e)と図9(c)の統計情報の差分のうちの左上の区画の面積値の増加量(これに、右上の面積値の減少量(増加量を符号反転)を加算してもよい)を、図8(e)と図9(g)の統計情報の差分のうちの右上の区画の面積値の増加量(これに、左上の面積値の減少量(増加量を符号反転)を加算してもよい)で割った値を補正パラメータとする。
【0060】
図7に戻り、その後、処理を終了する(ステップS315)。
【0061】
なお、前後の反りに対する補正パラメータの算出について説明したが、補正の対象はこの例に限らない。例えば、深度情報を用いたパンチのリーチの補正パラメータの算出、キックの高さ等の補正パラメータの算出を行うことができる。
【0062】
<総括>
以上説明した実施形態によれば、プレイヤの向きにかかわらずジェスチャを精度よく認識することができるとともに、体の部位の特性に起因する補正を適切に行うことができる。
【0063】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【0064】
1 ビデオゲーム装置
101 制御部
102 カメラ/深度センサ制御部
103 プレイヤ追跡部
104 骨格追跡部
105 ジェスチャ認識部
106 音声認識部
107 ゲーム進行制御部
108 メモリ
109 画像情報
110 深度情報
111 カメラ
112 深度センサ
113 マイク
114 映像出力部
115 音声出力部
116 通信部
117 モニタ
118 スピーカ

【特許請求の範囲】
【請求項1】
プレイヤが存在する空間を撮像し、各画素ごとに深度情報を取得する深度センサと、
前記撮像された画像を複数の区画に区分した上で前記深度情報の統計情報を区画毎に算出し、算出した前記統計情報に基づいてプレイヤのジェスチャを認識するジェスチャ認識部と
を備えたことを特徴とするビデオゲーム装置。
【請求項2】
請求項1に記載のビデオゲーム装置において、
前記ジェスチャ認識部は、前記画像における前記プレイヤのシルエットの面積中心を算出し、該面積中心位置に基づいて前記画像を複数の区画に分割する
ことを特徴とするビデオゲーム装置。
【請求項3】
請求項1または2のいずれか一項に記載のビデオゲーム装置において、
前記ジェスチャ認識部は、前記プレイヤに対して複数の所定の姿勢をとるよう誘導を行い、個々の姿勢について前記統計情報に対する補正パラメータを算出する
ことを特徴とするビデオゲーム装置。
【請求項4】
ビデオゲーム装置の深度センサが、プレイヤが存在する空間を撮像し、各画素ごとに深度情報を取得する手順と、
ジェスチャ認識部が、前記撮像された画像を複数の区画に区分した上で前記深度情報の統計情報を区画毎に算出し、算出した前記深度情報に基づいてプレイヤのジェスチャを認識する行う手順と
を前記ビデオゲーム装置のコンピュータに実行させるビデオゲーム制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−165(P2012−165A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−135609(P2010−135609)
【出願日】平成22年6月14日(2010.6.14)
【出願人】(000132471)株式会社セガ (811)
【Fターム(参考)】