説明

プログラム、情報記憶媒体及び画像生成システム

【課題】プレーヤのつかみ動作を検出してつかみ動作を反映した画像を生成できるプログラム、情報記憶媒体、画像生成システム等の提供。
【解決手段】画像生成システムは、画像センサからの画像情報を取得する画像情報取得部と、画像情報に基づいて、プレーヤがつかみ準備動作を行っているか否かを判定するつかみ準備動作判定部と、つかみ準備動作が行われていると判定された場合には、つかみ準備動作を行っているプレーヤの手に対応する画像に対して画像処理を行い、画像処理の結果に基づいて、プレーヤがつかみ準備動作に続くつかみ動作を行っているか否かを判定するつかみ動作判定部と、つかみ動作の判定結果に基づいて画像を生成する画像生成部を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。
【背景技術】
【0002】
近年、従来の操作ボタンや方向キーを備えたゲームコントローラに代わって、モーションセンサを内蔵するゲームコントローラを用いてゲーム操作が可能なゲーム装置が人気を博している。このような操作インターフェースを備えるゲーム装置によれば、プレーヤの直感的な操作入力が可能になり、ゲーム操作の簡素化等を図れる。このような直感的なインターフェースを可能にするゲーム装置の従来技術としては例えば特許文献1に開示される技術がある。
【0003】
しかしながら、このようなモーションセンサを内蔵するゲームコントローラでは、プレーヤが手を振る動作については検知できるが、プレーヤが物をつかむ動作を検知することは難しい。
【0004】
また、プレーヤに対応するキャラクタが、相手キャラクタの方に手を伸ばす動作を行った場合に、その手の動作が、単に相手キャラクタに対して手を伸ばしただけなのか、或いは手を伸ばして相手キャラクタをつかむ動作なのかを判定することは容易ではない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−89629号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の幾つかの態様によれば、プレーヤのつかみ動作を検出してつかみ動作を反映した画像を生成できるプログラム、情報記憶媒体、画像生成システム等を提供できる。
【課題を解決するための手段】
【0007】
本発明の一態様は、画像センサからの画像情報を取得する画像情報取得部と、前記画像情報に基づいて、プレーヤがつかみ準備動作を行っているか否かを判定するつかみ準備動作判定部と、つかみ準備動作が行われていると判定された場合には、つかみ準備動作を行っている前記プレーヤの手に対応する画像に対して画像処理を行い、前記画像処理の結果に基づいて、前記プレーヤがつかみ準備動作に続くつかみ動作を行っているか否かを判定するつかみ動作判定部と、前記つかみ動作の判定結果に基づいて画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【0008】
本発明の一態様によれば、プレーヤがつかみ準備動作を行っているか否かが、画像センサからの画像情報に基づき判定される。そしてつかみ準備動作が行われていると判定されると、つかみ準備動作を行っている手についての画像に対して画像処理が行われ、この画像処理により、プレーヤがつかみ動作を行っているか否かが判定され、その判定結果に応じた画像が生成される。このように本発明の一態様によれば、プレーヤのつかみ準備動作と、それに続くつかみ動作を、画像センサからの画像情報に基づき判定できる。従って、プレーヤの動きが、生成される画像に直感的に反映されるようになり、これまでにはない画像の生成が可能になる。また、プレーヤの動作がそのまま画像に反映するため、プレーヤの仮想現実感等を向上できる。
【0009】
また本発明の一態様では、前記つかみ動作判定部は、つかみ準備動作を行っていると判定された前記プレーヤの手の部分に対応する画像領域の情報に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定してもよい。
【0010】
このようにすれば、プレーヤがつかみ動作を行っているか否かを、つかみ準備動作を行っている手の部分に対応する画像領域の情報を有効利用して判定できるようになる。
【0011】
また本発明の一態様では、前記つかみ動作判定部は、所与の期間又は所与のタイミングにおける前記画像領域の情報に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定してもよい。
【0012】
このように所与の期間における画像領域の情報を用いて判定を行えば、例えば画像領域の情報が瞬間的に変化した場合に、それをつかみ動作と誤判定してしまう事態などを防止できる。また所与のタイミングにおける画像領域の情報を用いて判定を行えば、例えば、つかみ動作が成功したか否かをそのタイミングにおいて判定することなどが可能になるため、これまでにないタイプのゲームの提供等が可能になる。
【0013】
また本発明の一態様では、前記つかみ動作判定部は、前記画像領域の面積に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定してもよい。
【0014】
このようにすれば、プレーヤがつかみ動作を行っているか否かを、画像領域の面積を求めるという画像処理で実現できるようになり、簡素な画像処理でつかみ動作の判定処理を実現できる
また本発明の一態様では、前記画像情報取得部は、前記画像情報として、各画素位置にカラー値が設定されたカラー画像情報を取得し、前記つかみ動作判定部は、前記カラー画像情報における前記画像領域の面積に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定してもよい。
【0015】
このようにすれば、画像センサにより得られたカラー画像情報を利用した画像処理により、プレーヤのつかみ動作の判定処理を実現できる。
【0016】
また本発明の一態様では、前記画像情報取得部は、前記画像情報として、各画素位置にデプス値が設定されたデプス情報を取得し、前記つかみ動作判定部は、前記デプス情報における前記画像領域の面積に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定してもよい。
【0017】
このようにすれば、画像センサにより得られたデプス情報を利用した画像処理により、プレーヤのつかみ動作の判定処理を実現できる。
【0018】
また本発明の一態様では、前記つかみ動作判定部は、前記画像領域の面積を判定する際の判定しきい値を、生成された画像が表示される表示部と前記プレーヤとの間の距離情報に応じて変化させてもよい。
【0019】
このようにすれば、表示部とプレーヤとの間の距離が変化した場合にも、精度の良いつかみ動作の判定処理を実現できる。
【0020】
また本発明の一態様では、前記つかみ動作判定部は、前記プレーヤが手に装着する認識用部材の画像情報に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定してもよい。
【0021】
このようにすれば、認識部材の画像情報を用いてプレーヤのつかみ動作の判定処理を実現できるため、プレーヤの手の画像だけを用いる手法に比べて、判定処理の精度等を向上できる。
【0022】
また本発明の一態様では、前記認識用部材は、手のひら側が第1の色に設定され、前記つかみ動作判定部は、前記プレーヤがつかみ準備動作を行っていると判断された後に、前記第1の色の画像領域の面積が減少した場合に、前記プレーヤがつかみ動作を行っていると判定してもよい。
【0023】
このようにすれば、プレーヤがつかみ準備動作を行っていると判断された後に、第1の色の画像領域の面積の減少を検出するという簡素な処理で、プレーヤのつかみ動作の判定処理を実現できるようになる。
【0024】
また本発明の一態様では、前記認識用部材は、手の甲側が第2の色に設定され、前記つかみ動作判定部は、前記プレーヤがつかみ準備動作を行っていると判断された後に、前記第1の色の画像領域の面積が第1の判定しきい値よりも小さくなり、且つ、前記第2の色の画像領域の面積が第2の判定しきい値よりも小さい場合に、前記プレーヤがつかみ動作を行っていると判定してもよい。
【0025】
このようにすれば、例えば単に手が回転した場合と手がつかみ動作を行った場合とを判別することが可能になり、つかみ動作の判定精度等を向上できる。
【0026】
また本発明の一態様では、前記つかみ動作判定部は、前記第1の判定しきい値及び前記第2の判定しきい値を、生成された画像が表示される表示部と前記プレーヤとの間の距離情報に応じて変化させてもよい。
【0027】
このようにすれば、表示部とプレーヤとの間の距離が変化した場合にも、精度の良いつかみ動作の判定処理を実現できる。
【0028】
また本発明の一態様では、前記つかみ動作判定部は、つかみ準備動作を行っていると判定された前記プレーヤの手の部分の画像情報に対する形状認識処理により、前記プレーヤがつかみ動作を行っているか否かを判定してもよい。
【0029】
このようにすれば、例えばプレーヤの手のひらが開いている状態から閉じた状態になることを形状認識処理により検出することで、プレーヤのつかみ動作の判定処理を実現できるようになる。
【0030】
また本発明の一態様では、前記つかみ準備動作判定部は、前記プレーヤが複数の第1〜第Nのつかみ準備動作(Mは2以上の整数)のうちのいずれのつかみ準備動作を行っているかを、前記画像センサからの前記画像情報に基づいて判定してもよい。
【0031】
このようにすれば、第1〜第Nのつかみ準備動作のうちのいずれのつかみ準備動作を行ったかを判定して、その後に続くつかみ動作の判定や、その判定結果による画像を生成できるため、多様なつかみ動作画像の生成が可能になる。
【0032】
また本発明の一態様では、前記画像センサからの前記画像情報に基づいて、前記画像センサから見える前記プレーヤの動作を特定するスケルトン情報を取得する情報取得部を含み(情報取得部としてコンピュータを機能させ)、前記つかみ準備動作判定部は、前記プレーヤの前記スケルトン情報に基づいて、前記プレーヤが前記第1〜第Nのつかみ準備動作のうちのいずれのつかみ準備動作を行っているかを判定してもよい。
【0033】
このようにすれば、スケルトン情報を有効活用して、第1〜第Nのつかみ準備動作のうちのいずれのつかみ準備動作をプレーヤが行ったのかを判定できるようになる。
【0034】
また本発明の一態様では、前記つかみ準備動作判定部は、前記プレーヤが前記第1〜第Nのつかみ準備動作のうちのいずれのつかみ準備動作を行っているかを、前記スケルトン情報の関節位置情報に基づいて判定してもよい。
【0035】
このようにすれば、プレーヤが第1〜第Nのつかみ準備動作のうちのいずれのつかみ準備動作を行ったのかを、スケルトン情報の関節位置情報の変化等を検出することで判定できるようになる。
【0036】
また本発明の一態様では、前記画像センサからの前記画像情報に基づいて、前記画像センサから見える前記プレーヤの動作を特定するスケルトン情報を取得する情報取得部を含み(情報取得部としてコンピュータを機能させ)、前記つかみ準備動作判定部は、前記プレーヤの前記スケルトン情報に基づいて、前記プレーヤがつかみ準備動作を行っているか否かを判定してもよい。
【0037】
このようにすれば、スケルトン情報を有効活用して、プレーヤのつかみ準備動作の判定処理を実現できるようになる。
【0038】
また本発明の一態様では、前記画像センサからの前記画像情報に基づいて、前記画像センサから見える前記プレーヤの動作を特定するスケルトン情報を取得し、取得された前記スケルトン情報に基づいて、つかみ動作を判定するための前記画像処理の処理領域を設定する情報取得部を含んでもよい(情報取得部としてコンピュータを機能させてもよい)。
【0039】
このようにすれば、設定された処理領域において画像処理を行えば済むようになるため、画像処理の処理負荷を軽減でき、少ない処理負荷でつかみ動作の判定処理を実現できるようになる。
【0040】
また本発明の一態様では、前記プレーヤに対応するキャラクタの制御を行うキャラクタ制御部を含み(キャラクタ制御部としてコンピュータを機能させ)、前記画像生成部は、前記プレーヤがつかみ動作を行っていると判定された場合には、前記キャラクタがつかみ動作を行う画像を生成してもよい。
【0041】
このようにすれば、プレーヤがつかみ動作を行うと、それに対応してゲーム空間内のキャラクタもつかみ動作を行うようになるため、プレーヤの仮想現実感を向上できる。
【図面の簡単な説明】
【0042】
【図1】本実施形態の画像生成システムの構成例。
【図2】図2(A)、図2(B)は画像センサを用いたカラー画像情報、デプス情報の取得手法の説明図。
【図3】図3(A)、図3(B)はプレーヤのつかみ準備動作を判定する手法の説明図。
【図4】図4(A)、図4(B)はプレーヤのつかみ動作を判定する手法の説明図。
【図5】本実施形態により生成される画像の例。
【図6】図6(A)〜図6(C)は手の部分の画像領域の面積に基づきつかみ動作を判定する手法の説明図。
【図7】図7(A)〜図7(C)は判定しきい値を距離に応じて変化させる手法の説明図。
【図8】図8(A)、図8(B)は認識用部材である手袋の説明図。
【図9】図9(A)〜図9(D)は認識用部材を用いた判定手法の説明図。
【図10】図10(A)〜図10(C)は認識用部材を用いた判定における問題点についての説明図。
【図11】図11(A)〜図11(C)は認識用部材を用いた判定手法の説明図。
【図12】図12(A)、図12(B)は複数のつかみ準備動作のうちのいずれのつかみ準備動作を行っているかを判定する手法の説明図。
【図13】図13(A)、図13(B)は本実施形態により生成される画像の例。
【図14】デプス情報に基づいてプレーヤのスケルトン情報を求める手法の説明図。
【図15】図15(A)、図15(B)はプレーヤのスケルトン情報を用いてつかみ準備動作を判定する手法の説明図。
【図16】図16(A)、図16(B)はプレーヤのスケルトン情報を用いて画像処理の処理領域を設定する手法の説明図。
【図17】本実施形態の処理を説明するフローチャート。
【図18】本実施形態の処理を説明するフローチャート。
【図19】本実施形態の処理を説明するフローチャート。
【発明を実施するための形態】
【0043】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0044】
1.構成
図1に本実施形態の画像生成システム(ゲーム装置)のブロック図の例を示す。なお、本実施形態の画像生成システムの構成は図1に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0045】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ(角速度センサ、加速度センサ等)、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【0046】
また操作部160は、例えばカラー画像センサやデプスセンサなどにより実現される画像センサを含む。なお操作部160の機能を画像センサだけで実現してもよい。
【0047】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。
【0048】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0049】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0050】
補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【0051】
通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【0052】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0053】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0054】
処理部100は、画像情報取得部102、情報取得部104、ゲーム演算部106、つかみ準備動作判定部107、つかみ動作判定部108、つかみ連動動作判定部109、攻撃演算部110、オブジェクト空間設定部112、キャラクタ制御部114、仮想カメラ制御部118、画像生成部120、音生成部130を含む。また情報取得部104はスケルトン情報取得部105を含み、キャラクタ制御部114は移動処理部115、モーション処理部116を含む。なおこれらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0055】
画像情報取得部102は、画像センサからの画像情報を取得する。例えば画像センサにより撮像された画像の情報は、記憶部170の画像情報記憶部171に保存される。具体的には、画像センサのカラー画像センサにより撮像されたカラー画像の情報はカラー画像情報記憶部172に保存され、画像センサのデプスセンサにより撮像されたデプス画像の情報はデプス情報記憶部173に保存される。画像情報取得部102は、これらの画像情報を画像情報記憶部171から読み出すことで画像情報を取得する。
【0056】
情報取得部104は、画像情報取得部102が取得した画像情報に基づいて、スケルトン情報を取得する。そして、取得されたスケルトン情報に基づいて、プレーヤの動作を特定する。またスケルトン情報に基づいて、例えば画像処理の処理領域などを設定する。
【0057】
ゲーム演算部106はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【0058】
つかみ準備動作判定部107、つかみ動作判定部108、つかみ連動動作判定部109は、各々、つかみ準備動作、つかみ動作、つかみ連動動作の判定処理を行う。攻撃演算部110は、プレーヤに対応するキャラクタの攻撃演算処理を行う。これらの詳細については後述する。
【0059】
オブジェクト空間設定部112は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、キャラクタ(人、動物、ロボット、車、船舶、飛行機等)、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクトデータ記憶部175には、オブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部112は、例えば各フレーム毎にこのオブジェクトデータを更新する処理などを行う。
【0060】
キャラクタ制御部114は、オブジェクト空間を移動(動作)するキャラクタの制御を行う。例えばキャラクタ制御部114が含む移動処理部115は、キャラクタ(モデルオブジェクト、移動オブジェクト)を移動させる処理を行う。例えば操作部160によりプレーヤが入力した操作情報や、プログラム(移動アルゴリズム)や、各種データなどに基づいて、キャラクタをオブジェクト空間内で移動させる。具体的には、キャラクタの移動情報(位置、回転角度、速度、或いは加速度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動処理やモーション処理や画像生成処理を行う時間の単位である。
【0061】
キャラクタ制御部114が含むモーション処理部116は、キャラクタにモーション(アニメーション)を行わせるモーション処理(モーション再生、モーション生成)を行う。このモーション処理は、キャラクタのモーションを、モーションデータ記憶部176に記憶されているモーションデータに基づいて再生することなどで実現できる。
【0062】
具体的にはモーションデータ記憶部176には、キャラクタ(モデルオブジェクト)のスケルトンを構成する各骨(キャラクタを構成する各パーツオブジェクト)の位置又は回転角度(親の骨に対する子の骨の3軸周りの回転角度)等を含むモーションデータが記憶されている。またモデルデータ記憶部177は、キャラクタを表すモデルオブジェクトのモデルデータを記憶する。モーション処理部116は、このモーションデータをモーションデータ記憶部176から読み出し、読み出されたモーションデータに基づいてスケルトンを構成する各骨(パーツオブジェクト)を動かすことで(スケルトン形状を変形させることで)、キャラクタのモーションを再生する。
【0063】
仮想カメラ制御部118は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点、基準仮想カメラ)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0064】
例えば仮想カメラによりキャラクタを後方から撮影する場合には、キャラクタの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動処理部115で得られたキャラクタの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【0065】
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ179(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、描画処理は頂点シェーダ処理やピクセルシェーダ処理により実現することができる。
【0066】
なお、画像生成部120が、いわゆる立体視用の画像を生成するようにしてもよい。この場合には、基準となる仮想カメラの位置とカメラ間距離を用いて、左目用仮想カメラと右目用仮想カメラを配置設定する。そして画像生成部120が、オブジェクト空間内において左目用仮想カメラから見える左目用画像と、オブジェクト空間内において右目用仮想カメラから見える右目用画像を生成する。そしてこれらの左目用画像、右目用画像を用いて、眼分離眼鏡方式や、レンティキュラーレンズなどを用いた裸眼方式などにより、立体視を実現すればよい。
【0067】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0068】
そして本実施形態では、画像情報取得部102が画像センサからの画像情報を取得すると、つかみ準備動作判定部107は、取得された画像情報に基づいて、プレーヤがつかみ準備動作を行っているか否かを判定する。ここで、つかみ準備動作は、プレーヤの手がつかむ動作を行う前に行われる一連の動作であり、つかみ動作の前提となる動作である。具体的には、相手キャラクタやアイテムなどを手でつかむために、プレーヤが腕を伸ばしたり、曲げたり、或いは手首を曲げたりするなどの準備動作である。
【0069】
そしてつかみ準備動作判定部107により、つかみ準備動作が行われていると判定されると、つかみ動作判定部108は、つかみ準備動作を行っているプレーヤの手に対応する画像に対して画像処理を行う。そして画像処理の結果に基づいて、プレーヤがつかみ準備動作に続くつかみ動作を行っているか否かを判定する。
【0070】
例えば、プレーヤの左手(左腕)がつかみ準備動作(例えば左腕を伸ばしたり曲げる動作)を行っていると判定された場合には、左手に対応する画像(例えば左手を内包する画像領域の画像)に対して画像処理を行う。またプレーヤの右手(右腕)がつかみ準備動作(例えば右腕を伸ばしたり曲げる動作)を行っていると判定された場合には、右手に対応する画像(例えば右手を内包する画像領域の画像)に対して画像処理を行う。そして画像処理の結果に基づいて、プレーヤの左手や右手がつかみ動作を行っているか否かを判定する。すると画像生成部120は、つかみ動作の判定結果に基づいて画像を生成する。例えばつかみ動作を行っていると判定された場合には、プレーヤに対応するキャラクタ(キャラクタの手)がつかみ動作を行う画像を生成する。
【0071】
またつかみ動作判定部108は、つかみ準備動作を行っていると判定されたプレーヤの手の部分に対応する画像領域の情報に基づいて、プレーヤがつかみ動作を行っているか否かを判定する。具体的には、当該画像領域の面積に基づいて、つかみ動作を行っているか否かを判定する。例えばプレーヤの左手がつかみ準備動作を行っていると判定された場合には、左手の画像が占める画像領域の面積を求めて、左手がつかみ動作を行っているか否かを判定する。またプレーヤの右手がつかみ準備動作を行っていると判定された場合には、右手の画像が占める画像領域の面積を求めて、右手がつかみ動作を行っているか否かを判定する。
【0072】
そして画像情報取得部102が、画像情報としてカラー画像情報を取得した場合に、つかみ動作判定部108は、カラー画像情報における画像領域の面積に基づいて、プレーヤがつかみ動作を行っているか否かを判定する。例えば手の色(肌色等)の画像領域の面積を求めて、プレーヤがつかみ動作を行っているか否かを判定する。ここでカラー画像情報は、例えば各画素位置にカラー値が設定された画像情報である。また画像情報取得部102が、画像情報としてデプス情報を取得した場合に、つかみ動作判定部108は、デプス情報における画像領域の面積に基づいて、プレーヤがつかみ動作を行っているか否かを判定してもよい。例えば手のデプス値に対応する画像領域の面積を求めて、プレーヤがつかみ動作を行っているか否かを判定する。ここでデプス情報は、各画素位置にデプス値が設定された画像情報である。
【0073】
また、つかみ動作判定部108は、画像領域の面積を判定する際の判定しきい値を、生成された画像が表示される表示部190とプレーヤとの距離情報に応じて変化させてもよい。例えば表示部190とプレーヤとの距離が近いと判断された場合には、画像領域の面積を判定する際の判定しきい値を大きな値にする。一方、表示部190とプレーヤとの距離が遠いと判断された場合には、画像領域の面積を判定する際の判定しきい値を小さな値にする。このようにすることで、表示部190とプレーヤとの距離に応じた適切な値に、判定しきい値を設定できる。なお、表示部190とプレーヤとの距離情報は、表示部190とプレーヤとの距離そのものであってもよいし、その距離と同等な情報であってもよい。例えば、プレーヤの代表位置やプレーヤの手の位置でのデプス値を、表示部190とプレーヤとの距離情報として、判定しきい値を変化させてもよい。
【0074】
なお、つかみ動作を判定する際に使用される画像領域の情報は、画像領域の面積には限定されず、面積以外の画像領域の情報に基づいて、つかみ動作を行っているか否かを判定してもよい。例えば画像領域でのカラー画像情報自体やデプス情報自体に基づいて、つかみ動作を判定してもよい。
【0075】
また、つかみ動作の判定の際には、所与の期間における画像領域の情報に基づいてつかみ動作を判定することが望ましい。例えばつかみ準備動作を行っていると判定されてから、複数フレーム分の画像領域の情報を用いて、つかみ動作を行っているか否かを判定する。即ち、画像領域の面積等の情報が瞬間的に変化した場合には、この瞬間的に変化した情報については判定処理の対象にはせずに、所与の期間だけ維持された画像領域の情報を判定処理の対象にする。このようにすれば、ノイズ等により画像領域の情報が瞬間的に変化した場合に、プレーヤがつかみ動作を行っていないのにつかみ動作を行っていると誤判定してしまう事態を防止できるようになる。
【0076】
また、つかみ動作の判定の際には、所与のタイミングにおける画像領域の情報に基づいてつかみ動作を判定することが望ましい。例えば、つかみ動作を行うべきタイミングを、画像や音などを用いてプレーヤに対して指示し、その指示タイミング(所与のタイミング)における画像領域の情報に基づいて、つかみ動作の判定を行う。そして、その指示タイミングでの画像領域の情報から、その指示タイミングでプレーヤがつかみ動作を行うことに成功したと判定された場合には、プレーヤに対して得点等を付与する。このようにすることで、音楽ゲーム、アクションゲーム、スポーツゲーム等の分野において、これまでにないタイプのゲームを提供することが可能になる。
【0077】
また、つかみ動作判定部108は、プレーヤが手に装着する認識用部材の画像情報に基づいて、プレーヤがつかみ動作を行っているか否かを判定してもよい。例えば認識用部材として、後述するような手袋等をプレーヤに装着させる。そして、手袋等の認識用部材のカラー画像情報等に基づいて、プレーヤがつかみ動作を行っているか否かを判定する。
【0078】
具体的には、認識用部材の手のひら側を第1の色に設定する。そしてつかみ動作判定部108は、プレーヤがつかみ準備動作を行っていると判断された後に、第1の色の画像領域の面積が減少した場合に、プレーヤがつかみ動作を行っていると判定する。例えばカラー画像情報から、第1の色の画素を抽出し、その画素数等から第1の色の画像領域の面積を求める。そしてこの面積が所定の判定しきい値よりも小さくなった場合に、プレーヤがつかみ動作を行っていると判定する。
【0079】
また認識用部材の手の甲側を第2の色に設定してもよい。この場合にはつかみ動作判定部108は、プレーヤがつかみ準備動作を行っていると判断された後に、第1の色の画像領域の面積が第1の判定しきい値よりも小さくなり、且つ、第2の色の画像領域の面積が第2の判定しきい値よりも小さい場合に、プレーヤがつかみ動作を行っていると判定すればよい。
【0080】
この場合に、つかみ動作判定部108は、第1の判定しきい値及び第2の判定しきい値を、表示部190とプレーヤとの間の距離情報に応じて変化させてもよい。例えば、表示部190とプレーヤとの距離が近いと判断された場合には、第1、第2の判定しきい値を大きな値にする。一方、表示部190とプレーヤとの距離が遠いと判断された場合には、第1、第2の判定しきい値を小さな値にする。このようにすることで、表示部190とプレーヤとの距離に応じた適切な値に、第1、第2の判定しきい値を設定できる。
【0081】
なお、つかみ動作判定部108は、つかみ準備動作を行っていると判定されたプレーヤの手の部分の画像情報に対する形状認識処理により、プレーヤがつかみ動作を行っているか否かを判定してもよい。例えば左手がつかみ準備動作を行っていると判定された場合には、つかみ動作判定部108は、左手に対応する画像情報に対して形状認識処理を行う。そして形状認識処理により、左手の手のひらが開いた状態(パーの状態)から閉じた状態(グーの状態)に変化したと判断された場合には、左手のつかみ動作が行われたと判定する。また右手がつかみ準備動作を行っていると判定された場合には、つかみ動作判定部108は、右手に対応する画像情報に対して形状認識処理を行う。そして形状認識処理により、右手の手のひらが開いた状態から閉じた状態に変化したと判断された場合には、右手のつかみ動作が行われたと判定する。この場合の形状認識処理は、手のひらが開いた状態や閉じた状態での手の形状を表すテンプレート画像を用意し、このテンプレート画像とのマッチング処理を行うことなどで実現できる。
【0082】
また、つかみ準備動作判定部107は、プレーヤが複数の第1〜第Nのつかみ準備動作(Mは2以上の整数)のうちのいずれのつかみ準備動作を行っているかを、画像センサからの画像情報に基づいて判定してもよい。例えば腕を下方向から伸ばして相手キャラクタの胸ぐらをつかむためのつかみ準備動作を行っているのか、或いは腕を上方向から伸ばして相手キャラクタの頭部をつかむためのつかみ準備動作を行っているのかを、画像センサからの画像情報に基づいて判定する。
【0083】
また情報取得部104は、画像センサからの画像情報に基づいて、画像センサから見えるプレーヤの動作を特定するスケルトン情報を取得する。この取得されたスケルトン情報はスケルトン情報記憶部174に保存される。
【0084】
ここでスケルトン情報は、例えば画像センサから見えるプレーヤの動作を特定する情報である。具体的には、このスケルトン情報は、プレーヤの複数の関節に対応する複数の関節位置情報を有し、各関節位置情報は3次元座標情報により構成される。各関節を結合するものが骨(ボーン)となり、複数の骨の結合によりスケルトンが構成される。
【0085】
そして、つかみ準備動作判定部107は、プレーヤのスケルトン情報に基づいて、プレーヤがつかみ準備動作を行っているか否かを判定する。また、スケルトン情報に基づいてプレーヤが第1〜第Nのつかみ準備動作のいずれのつかみ準備動作を行っているかを判定する。具体的には、プレーヤが第1〜第Nのつかみ準備動作のうちのいずれのつかみ準備動作を行っているかを、スケルトン情報の関節位置情報に基づいて判定する。例えば第1〜第Nのつかみ準備動作でのスケルトン情報を表すテンプレートとなる第1〜第Nの基準スケルトン情報を用意する。そして、画像情報により検出されたプレーヤのスケルトン情報と、第1〜第Nの基準スケルトン情報とのマッチング処理を行う。そしてマッチング処理の評価関数の結果を用いて、プレーヤが第1〜第Nのつかみ準備動作のいずれのつかみ準備動作を行っているのかを判定する。この場合のマッチング処理は例えば複数フレームに亘って行ってもよい。
【0086】
また、情報取得部104は、このようなスケルトン情報が取得されると、このスケルトン情報に基づいて、つかみ動作を判定するための画像処理の処理領域を設定する。例えばプレーヤの左手がつかみ準備動作を行っていると判定された場合には、情報取得部104は、スケルトン情報に基づいて左手の位置を特定し、特定された位置を含む所定サイズの領域(画面よりも小さな領域)を処理領域に設定する。そしてつかみ動作判定部108は、設定された処理領域の画像情報(カラー画像情報、デプス情報)に対して画像処理を行って、左手がつかみ動作を行っているか否かを判定する。またプレーヤの右手がつかみ準備動作を行っていると判定された場合には、情報取得部104は、スケルトン情報に基づいて右手の位置を特定し、特定された位置を含む所定サイズの領域を処理領域に設定する。そしてつかみ動作判定部108は、設定された処理領域の画像情報に対して画像処理を行って、右手がつかみ動作を行っているか否かを判定する。
【0087】
またキャラクタ制御部114は、プレーヤに対応するキャラクタの制御を行う。ここでキャラクタは、三人称視点の場合には実際に表示されるオブジェクトになるが、一人称視点の場合には、表示部190に表示されない仮想的なオブジェクトになる。
【0088】
そして画像生成部120は、プレーヤがつかみ動作を行っていると判定された場合には、キャラクタがつかみ動作を行う画像を生成する。例えば、キャラクタがつかみ準備動作を行い、その後につかみ動作を行う画像を生成する。この場合のキャラクタの一連の動作は、画像センサからの画像情報により取得されたプレーヤのスケルトン情報を用いてモーション再生することで実現してもよい。
【0089】
また本実施形態では、つかみ連動動作判定部109が、プレーヤが、つかみ動作に続くつかみ連動動作を行ったか否かを判定する。例えばつかみ動作判定部108は、画像センサからの画像情報に基づいて、プレーヤの右手、左手の一方の手がつかみ動作を行っているか否かを判定する。そして、つかみ連動動作判定部109は、一方の手がつかみ動作を行っていると判定された場合には、画像情報に基づいて、一方の手とは異なる他方の手が、つかみ動作に続くつかみ連動動作を行っているか否かを判定する。例えばプレーヤの一方の手である左手がつかみ動作を行っていると判定された場合には、つかみ連動動作判定部109は、他方の手である右手がつかみ連動動作を行っているか否かを判定する。またプレーヤの一方の手である右手がつかみ動作を行っていると判定された場合には、つかみ連動動作判定部109は、他方の手である左手がつかみ連動動作を行っているか否かを判定する。
【0090】
そして画像生成部120は、つかみ動作及びつかみ連動動作の判定結果に基づいて画像を生成する。例えばプレーヤに対応するキャラクタがつかみ動作を行った後、それに続くつかみ連動動作を行う画像を生成する。
【0091】
ここで、つかみ連動動作(つかみ連携動作)は、つかみ動作の後に、そのつかみ動作に連動(連携)して行われる動作である。例えば、つかみ動作に続いて行われることが予定されている動作であり、つかみ動作に連動(連携)して行われることが予め関連づけられている動作である。このつかみ連動動作としては、例えば攻撃動作(殴る動作、投げる動作等)、撫でる動作、叩く動作、調べる動作、持つ動作、或いは他方の手で更につかむ動作(両手でつかむ動作)などがある。
【0092】
また、つかみ連動動作判定部109は、他方の手が複数の第1〜第Mのつかみ連動動作(Mは2以上の整数)のうちのいずれのつかみ連動動作を行っているかを、画像センサからの画像情報に基づいて判定する。ここで、第1〜第Mのつかみ連動動作は、上述した攻撃動作、撫でる動作、叩く動作、調べる動作、持つ動作、他方の手で更につかむ動作などである。例えばプレーヤの一方の手(例えば左手)が相手キャラクタ等をつかむ動作を行っていると判定された場合には、つかみ連動動作判定部109は、他方の手(例えば右手)が、これらの攻撃動作、撫でる動作、叩く動作等である第1〜第Mのつかみ連動動作のいずれのつかみ連動動作を行っているかを判定する。具体的には、画像センサからの画像情報に基づいてつかみ連動動作を判定する。そして、第1〜第Mのつかみ連動動作のうちの第Kのつかみ連動動作(1≦K≦M)を行っていると判定された場合には、画像生成部120は、プレーヤに対応するキャラクタが、一方の手によるつかみ動作の後に、他方の手による第Kのつかみ連動動作を行っている画像を生成する。
【0093】
この場合に、つかみ連動動作判定部109は、他方の手の部分に対応する画像領域の面積に基づいて、他方の手が第1〜第Mのつかみ連動動作のうちのいずれのつかみ連動動作を行っているかを判定する。例えば、他方の手の部分に対応するカラー画像情報における画像領域の面積、或いは他方の手の部分に対応するデプス情報における画像領域の面積に基づいて、他方の手(他方の腕)が、第1〜第Mのつかみ連動動作のうちのいずれのつかみ連動動作を行っているかを判定する。この場合に画像領域の面積を判定する際の判定しきい値を、他方の手の部分でのデプス値に基づいて変化させてもよい。
【0094】
またつかみ連動動作判定部109は、他方の手の部分の画像情報に対する形状認識処理により、他方の手が第1〜第Mのつかみ連動動作のうちのいずれのつかみ連動動作を行っているかを判定してもよい。或いは他方の手の部分の画像情報における動きベクトル情報に基づいて、他方の手が第1〜第Mのつかみ連動動作のうちのいずれのつかみ連動動作を行っているかを判定してもよい。また他方の手が第1〜第Mのつかみ連動動作のうちのいずれのつかみ連動動作を行っているかを、スケルトン情報に基づいて判定してもよい。具体的にはスケルトン情報の関節位置情報に基づいて判定する。
【0095】
またつかみ連動動作判定部109は、画像センサからの画像情報に基づいて、他方の手がつかみ連動動作として攻撃動作を行っているか否かを判定する。この場合に攻撃演算部110は、画像センサからの画像情報に基づいて、他方の手による攻撃動作の攻撃演算用パラメータ(攻撃力や、相手キャラクタの硬直時間等のパラメータ)を設定する。そして攻撃演算用パラメータに基づいて攻撃演算処理を行う。
【0096】
2.本実施形態の手法
次に本実施形態の手法について具体的に説明する。
【0097】
2.1 つかみ動作の判定
一般的に、ゲーム装置では、ゲームコントローラのボタンやレバーを操作してゲーム操作を行う。またゲームコントローラにモーションセンサ(6軸センサ)を設け、プレーヤがゲームコントローラそのものを動かすことでゲーム操作を行うゲーム装置もある。
【0098】
しかしながら、このような操作インターフェースのゲーム装置では、ゲーム操作にゲームコントローラが必要になり、プレーヤの手の動きなどのジェスチャをそのまま反映させるようなゲーム操作については実現できず、プレーヤの仮想現実感を今ひとつ向上できない。
【0099】
そこで本実施形態では、画像センサで撮像された画像情報に基づきプレーヤの操作入力を可能にする操作インターフェースを採用している。
【0100】
例えば図2(A)では、表示部190に対応する位置に、デプスセンサ(赤外線センサ等)やカラー画像センサ(CCDやCMOSセンサなどのRGBセンサ)により実現される画像センサISEが設置されている。この画像センサISEは、例えばその撮像方向(光軸方向)が表示部190からプレーヤPLの方に向く方向になるように設置されており、表示部190側から見たプレーヤPLのカラー画像情報やデプス情報を撮像する。なお画像センサISEは、表示部190に内蔵されるものであってもよいし、外付け部品として用意されるものであってもよい。
【0101】
そして図2(A)の画像センサISEを用いて、図2(B)に示すようなカラー画像情報とデプス情報を取得する。例えばカラー画像情報では、プレーヤPLやその周りの風景の色情報が得られる。一方、デプス情報では、プレーヤPLやその周りの風景のデプス値(奥行き値)が、例えばグレースケール値として得られる。例えばカラー画像情報は、その各画素位置にカラー値(RGB)が設定された画像情報であり、デプス情報は、その各画素位置にデプス値(奥行き値)が設定された画像情報である。なお、画像センサISEは、デプスセンサとカラー画像センサとが別々に設けられたセンサであってもよいし、デプスセンサとカラー画像センサとが複合的に組み合わせられたセンサであってもよい。
【0102】
デプス情報の取得手法としては、公知に種々の手法を想定できる。例えば画像センサISE(デプスセンサ)から赤外線等の光を投射し、その投射光の反射強度や、投射光が戻ってくるまでの時間(Time Of Flight)を検出することで、デプス情報を取得し、画像センサISEの位置から見たプレーヤPLなどの物体のシェイプを検出する。具体的には、デプス情報は、例えば画像センサISEから近い物体では明るくなり、画像センサISEから遠い物体では暗くなるグレースケールデータとして表される。なおデプス情報の取得手法としては種々の変形実施が可能であり、例えばCMOSセンサなどの画像センサを用いて、カラー画像情報と同時にデプス情報(被写体までの距離情報)を取得するようにしてもよい。また超音波などを用いた測距センサなどによりデプス情報を取得してもよい。
【0103】
そして本実施形態では、画像センサISEからの画像情報に基づきプレーヤPLがつかみ準備動作を行っていると判定された場合に、つかみ準備動作を行っている手に対応する画像に対して画像処理行い、つかみ準備動作に続くつかみ動作を行っているか否かを判定する。
【0104】
例えば図3(A)、図3(B)では、プレーヤPLは、つかみ動作を行うために、左手HDLを徐々に上げるつかみ準備動作を行っている。この場合に本実施形態では、画像センサISEにより図2(B)に示すようなカラー画像情報やデプス情報などの画像情報を取得する。そして、取得された画像情報に基づいて、プレーヤPLが、つかみ動作のためのつかみ準備動作を行っているか否かを判定する。
【0105】
例えば図2(B)に示すようなカラー画像情報やデプス情報に基づいて、プレーヤPLの動作を検知して、つかみ準備動作を行っているか否かを判定する。具体的には、後述するように図2(B)のデプス情報に基づいてプレーヤPLのスケルトン情報を検出し、スケルトン情報での関節の動きを解析して、プレーヤPLがつかみ準備動作を行っているか否かを判定する。例えばプレーヤPLが行うと考えられる複数の第1〜第Nのつかみ準備動作に対応する、テンプレートとなる第1〜第Nの基準スケルトン情報を用意する。そして、デプス情報により求められたプレーヤPLのスケルトン情報と、これらの第1〜第Nの基準スケルトン情報とのマッチング処理を行う。そして例えば第1〜第Nの基準スケルトン情報のうちの第Lの基準スケルトン情報(1≦L≦N)と、プレーヤPLのスケルトン情報とのマッチングの評価関数の値が、所定値以下になった場合に、マッチングしたと判定する。そして、第Lの基準スケルトン情報に対応する第Lのつかみ準備動作をプレーヤPLが行っていると判定する。
【0106】
なお、画像情報に基づくつかみ準備動作の判定手法は、このようなスケルトン情報を用いた手法には限定されず、公知の種々の動作判定手法を採用できる。例えばカラー画像情報やデプス情報そのものを用いて、マッチング処理を行って、プレーヤPLがつかみ準備動作を行っているか否かを判定してもよい。或いは、例えばスケルトン情報での手首や肘などの関節位置の情報の変化だけを監視して、プレーヤPLがつかみ準備動作を行っているか否かを判定してもよい。
【0107】
そして、プレーヤPLが図3(A)、図3(B)に示すようなつかみ準備動作を行っていると判定された場合には、つかみ準備動作を行っている手の付近の画像に対して画像処理を行う。例えば手の付近の画像領域でのカラー画像情報やデプス情報に対して画像処理を行い、その画像処理の結果に基づいて、プレーヤがつかみ準備動作に続いてつかみ動作を行っているか否かを判定する。
【0108】
例えば図4(A)、図4(B)に、画像センサISEにより撮像されたカラー画像情報(デプス情報)の例を示す。図4(A)では、プレーヤPLの左手HDLの手のひらが開いた状態(パーの状態)になっている。一方、図4(B)では、左手HDLの手のひらが閉じた状態(グーの状態)になっている。このように、手のひらが開いた状態から閉じた状態に変化した場合には、プレーヤPLがつかみ準備動作に続いてつかみ動作を行っていると判定する。
【0109】
そして、このようにつかみ動作が行われたと判定されると、例えば図5に示すような画像を生成して表示部190に表示する。図5では、プレーヤPLに対応するキャラクタの手HLOB(手のオブジェクト)が、相手キャラクタ(ターゲットオブジェクトTOB)の肩をつかんでいる画像が生成されている。即ち、本実施形態では、プレーヤPLの操作により、オブジェクト空間(ゲーム空間)において、プレーヤPLに対応するキャラクタを動作させる。この場合のプレーヤPLの操作は、例えばプレーヤPLの動作を画像センサISEにより検出することなどにより実現される。そして、プレーヤPLが図3(A)、図3(B)に示すようなつかみ準備動作を行った後、図4(A)、図4(B)に示すようなつかみ動作を行うと、図5に示すような画像が生成される。
【0110】
なお、図5は、一人称視点の画像の例であるが、三人称視点の画像を生成してもよい。三人称視点の画像では、キャラクタの全身(或いは少なくともキャラクタの頭部)が表示されるのに対して、一人称視点の画像では、キャラクタの全身(頭部)は表示されず、例えば図5に示すようにキャラクタの手などの部位の一部だけが表示される。
【0111】
以上の本実施形態の手法によれば、プレーヤのつかみ準備動作と、それに続くつかみ動作を、画像センサからの画像情報に基づいて判定できる。従って、ゲームコントローラを用いたゲーム操作によっては検出することが難しいプレーヤのつかみ動作を検知して、プレーヤがつかみ動作を行ったか否かを判定できるようになる。従って、プレーヤに対応するキャラクタがゲーム空間(オブジェクト空間)内を移動して、相手キャラクタやアイテム等をつかむことでゲームが進行するようなゲームを実現できる。また、プレーヤは、現実世界と同様なつかみ動作を行うことで、自身に対応するキャラクタもつかみ動作を行うようになる。従って、プレーヤの動きがゲーム画像に直感的に反映されるようになり、これまでにはないゲーム画像の生成が可能になる。また、プレーヤの動作がそのままゲーム画像に反映するため、プレーヤの仮想現実感を向上できる。
【0112】
また本実施形態では、プレーヤがつかみ準備動作を行ったと判定された場合に、つかみ準備動作を行っているプレーヤの手の画像に対して画像処理が行われて、プレーヤがつかみ動作を行っているか否かが判定される。従って、プレーヤのつかみ動作を、適切且つ確実に検出することが可能になる。
【0113】
即ち、図4(A)、図4(B)に示すように、プレーヤの手のひらが開いた状態から閉じた状態に変化したことだけを検知して、つかみ動作を判定してしまうと、つかみ動作ではない動作を誤ってつかみ動作と判定してしまうおそれがある。また、プレーヤの手のひらが開いた状態から閉じた状態に変化したことを検出するつかみ動作検出用の画像処理を、例えば画面全体の画像に対して行わなければならなくなり、処理負荷も増加してしまう。特に、このようなつかみ動作検出用の画像処理を、全てのフレームにおいて実行すると、処理負荷が過大になってしまう。
【0114】
この点、本実施形態では、図3(A)、図3(B)に示すようなつかみ準備動作が行われたと判定されたことを条件に、図4(A)、図4(B)で説明したつかみ動作検出用の画像処理が実行される。従って、例えば全てのフレームにおいてつかみ動作検出用の画像処理を実行する必要はなくなるため、処理負荷を軽減できる。また、つかみ動作の判定の前に、つかみ準備動作を判定すれば、つかみ動作検出用の画像処理を行う範囲を限定することが可能になる。例えば左手がつかみ準備動作を行っていると判定された場合には、左手に対応する画像領域の画像に対してだけ、つかみ動作検出用の画像処理を行えば済むようになる。また右手がつかみ準備動作を行っていると判定された場合には、右手に対応する画像領域の画像に対してだけ、つかみ動作検出用の画像処理を行えば済むようになる。従って、画像処理の処理負荷を軽減できる。特に、後述するように、スケルトン情報を有効活用して画像処理を行う処理領域を設定すれば、画像処理を行う処理領域を更に限定することが可能になり、画像処理の処理負荷を更に軽減することが可能になる。
【0115】
2.2 画像領域の面積に基づく判定処理
次に、図4(A)、図4(B)のつかみ動作を判定する具体的な手法の例について説明する。例えば本実施形態では、つかみ準備動作を行っていると判定されたプレーヤの手の部分の画像領域の面積に基づいて、プレーヤがつかみ動作を行っているか否かを判定している。
【0116】
例えば図6(A)は、プレーヤの手のひらが開いた時の状態(パーの状態)を示し、図6(B)は、プレーヤの手のひらが閉じた時の状態(グーの状態)を示している。図6(A)、図6(B)に示すように、プレーヤの手の画像領域の面積Sは、図6(A)の手のひらが開いた状態よりも、図6(B)の手のひらが閉じた状態の方が小さくなる。従って、手の画像領域の面積Sが、判定しきい値VTよりも大きい場合には、手のひらが開いた状態であると判定でき、面積SがVTよりも小さい場合には、手のひらが閉じた状態であると判定できる。
【0117】
従って、図6(C)に示すように、プレーヤのつかみ準備動作が行われたと判定された後に、対応する手の画像領域の面積Sが減少し、面積Sが判定しきい値VTよりも小さくなった場合に、プレーヤがつかみ動作を行ったと判定できる。一方、つかみ準備動作が行われたと判定された後、所定時間が経過しても、手の画像領域の面積Sが、判定しきい値VTよりも小さくならなかった場合には、つかみ動作は行われなかったと判定できる。
【0118】
なお、面積Sは、図2(B)に示すカラー画像情報における画像領域の面積であってもよいし、デプス情報における画像領域の面積であってもよい。例えばカラー画像情報を用いる場合には、手の色(肌の色)に対応する色相範囲を設定し、カラー画像情報の各画素位置の色が、この色相範囲に入るか否かを判断する。そして色相値が色相範囲に入る画素の数を算出することにより、面積Sを求めればよい。またデプス情報を用いる場合には、手のデプス値に対応するデプス範囲を設定し、デプス情報の各画素位置のデプス値が、このデプス範囲に入るか否かを判断する。そしてデプス値がデプス範囲に入る画素の数を算出することにより、面積Sを求めればよい。
【0119】
また、図7(A)に示すように表示部190にプレーヤPLが近づいた場合と、図7(B)に示すように表示部190からプレーヤPLが遠ざかった場合とでは、手の画像領域の面積Sは異なった面積になってしまう。例えば図7(A)のように表示部190とプレーヤPLとの間の距離が短い距離LDNである場合には、面積Sは大きな値になり、図7(B)のように長い距離LDFである場合には、面積Sは小さな値になる。
【0120】
そこで本実施形態では、画像領域の面積Sを判定する際の判定しきい値VTを、表示部190とプレーヤPLとの距離情報に応じて変化させる。例えば図7(C)に示すように、表示部190とプレーヤPLとの距離Lが短い距離LDNである場合には、判定しきい値VTを大きなしきい値VTNに設定する。一方、距離Lが長い距離LDFである場合には、判定しきい値VTを小さなしきい値VTFに設定する。即ち、距離Lが長くなるにつれて、判定しきい値VTを小さくする。
【0121】
このようにすることで、図7(A)のように表示部190にプレーヤPLが近づいた場合にも、図7(B)のように遠ざかった場合にも、適切な判定しきい値VTを用いて、画像領域の面積Sを判定できるようになる。従って、面積Sに基づくつかみ動作の判定処理の精度を向上できる。
【0122】
なお図7(C)では、表示部190とプレーヤPLとの距離Lそのものを用いて、判定しきい値VTを設定しているが、本実施形態はこれに限定されない。例えば、キャラクタCHやキャラクタCHの手HDLのデプス値により、判定しきい値VTを設定してもよい。この場合には、このデプス値が、表示部190とプレーヤPLの距離を表す距離情報に相当することになる。
【0123】
また画像処理の精度や正確性を高めるためには、プレーヤに、つかみ動作の判定のための認識用部材を装着させ、その認識用部材の画像情報に基づいて、プレーヤがつかみ動作を行っているか否かを判定することが望ましい。
【0124】
例えば図8(A)、図8(B)に、このような認識用部材の一例である手袋ETHを示す。図8(A)に示すように、この手袋ETH(広義には認識用部材)は、その手のひら側が赤(広義には第1の色)に設定されている。また図8(B)に示すように、その手の甲側が青(広義には第2の色)に設定されている。このように、手のひらと手の甲とで色を異ならせることで、プレーヤが手のひらの方を表示部190に向けているのか手の甲の方を向けているのかを、容易に判定できるようになる。
【0125】
そして図9(A)は、手袋ETHを装着した手のひらが開いた状態(パーの状態)を示している。この場合には、手の画像領域の大部分において、手袋ETHの手のひら側の色である赤が占めるようになる。一方、図9(B)は、手袋ETHを装着した手のひらが閉じた状態(グーの状態)を示している。この場合には、手の画像領域の第1の領域では、手のひら側の色である赤が占め、第2の領域では、手の甲側の色である青が占めるようになる。
【0126】
そこで本実施形態では、図9(C)に示すように、プレーヤの手がつかみ準備動作を行っていると判断された後に、手のひら側の色である赤(第1の色)の画像領域の面積SRが減少した場合に、プレーヤがつかみ動作を行っていると判定する。具体的には、赤の色の面積SRが、判定しきい値VTRよりも小さくなった場合に、プレーヤがつかみ動作を行っていると判定する。
【0127】
なお図9(D)に示すように、手の甲側の色である青(第2の色)の画像領域の面積SBが増加した場合に、プレーヤがつかみ動作を行っていると判定してもよい。具体的には、青の色の面積SBが、判定しきい値VTBよりも大きくなった場合に、プレーヤがつかみ動作を行っていると判定する。
【0128】
さて、図9(A)〜図9(D)で説明した判定手法では、以下に説明する問題が生じるおそれがある。
【0129】
例えばプレーヤの手が図10(A)、図10(B)、図10(C)のように回転した場合を考える。図10(A)では、手のひら側が表示部190(画像センサ)の方に向いており、その後の図10(B)では、例えば手の親指側が表示部190の方に向いている。また、その後の図10(C)では、手の甲側が表示部190の方に向いている。
【0130】
そして図10(A)から図10(B)に変化した時に、赤の面積SRは減少する。従って、このような手の回転により図9(C)のように赤の面積SRが判定しきい値VTRよりも小さくなってしまうと、誤判定が生じる。即ち、図10(A)〜図10(C)のように手が回転した場合においても、図9(A)、図9(B)に示すつかみ動作が行われていると誤判定してしまう。図9(D)に示すように青の面積SBの増加を検出した場合にも、同様の誤判定が生じる。
【0131】
そこで本実施形態では図11(A)、図11(B)に示すように、プレーヤの手がつかみ準備動作を行っていると判断された後に、赤(第1の色)の画像領域SBの面積が第1の判定しきい値VTRよりも小さくなり、且つ、青(第2の色)の画像領域の面積SBが第2の判定しきい値VTB2よりも小さい場合に、プレーヤがつかみ動作を行っていると判定する。このようにすれば図10(A)〜図10(C)のように手が回転した場合と、図9(A)、図9(B)に示すようにつかみ動作が行われた場合とを、区別して判定することが可能になる。
【0132】
即ち図10(A)〜図10(C)のように手が回転した場合には、図11(A)に示すように赤の面積SRは減少するが、図11(C)に示すように、青の面積SBも第2の判定しきい値VTB2を超えるようになる。従って、赤の面積SRが減少し、且つ、青の面積SBが第2の判定しきい値VTB2を超えないことを検出すれば、図9(A)、図9(B)のつかみ動作を、誤判定が生じることなく判定することが可能になる。
【0133】
なお図11(A)、図11(B)の第1の判定しきい値VTR及び第2の判定しきい値VTB2についても、図7(C)の場合と同様に、表示部190とプレーヤとの間の距離情報に応じて変化させることが望ましい。即ち、表示部190とプレーヤとの距離Lが長くなるにつれて、第1の判定しきい値VTR及び第2の判定しきい値VTB2を小さくする。
【0134】
このようにすれば、表示部190とプレーヤとの間の距離が変化した場合にも、適切な判定しきい値VTR、VTB2を用いて、画像領域の面積SR、SBを判定できるようになり、つかみ動作の判定処理の精度を向上できる。
【0135】
なお、認識用部材である手袋の色の設定は図8(A)、図8(B)のような設定に限定されず、種々の変形実施が可能である。また色自体ではなくて、手袋に描かれた模様等の特定のパターンの画像情報に基づいて、プレーヤのつかみ動作を判定してもよい。また、認識用部材は手袋には限定されない。例えばプレーヤの指に装着した指輪等を認識用部材とし、その指輪等の画像情報に基づいて、プレーヤのつかみ動作を判定してもよい。
【0136】
また、手の形状認識処理により、プレーヤがつかみ動作を行っているか否かを判定してもよい。具体的には、つかみ準備動作を行っていると判定されたプレーヤの手の部分の画像情報に対する形状認識処理を行うことで、プレーヤがつかみ動作を行っているか否かを判定する。例えば画像認識された手の形状が、図6(A)の形状から図6(B)の形状に変化した場合に、プレーヤがつかみ動作を行っていると判定する。この場合の形状認識処理としては、公知の様々な画像認識処理を採用できる。
【0137】
2.3 つかみ準備動作の判定
さて、プレーヤのつかみ準備動作やつかみ動作としては種々の動作が考えられる。例えば図12(A)では、プレーヤPLは、左腕を伸ばしながら左手HDLを下から上に上げるつかみ準備動作を行っている。そして、この場合には、図13(A)に示すように、ゲーム空間内のキャラクタは、例えば相手キャラクタ(ターゲットオブジェクトTOB)の胸ぐらを左手HLOBでつかむ動作を行う。
【0138】
一方、図12(B)では、プレーヤPLは、左腕を伸ばしながら左手HDLを上から下に下げるつかみ準備動作を行っている。そして、この場合には、図13(B)に示すように、ゲーム空間内のキャラクタは、例えば相手キャラクタの頭部を左手HLOBでつかむ動作を行う。
【0139】
このように、プレーヤPLが行うつかみ準備動作としては、複数のつかみ準備動作(第1〜第Nのつかみ準備動作)を想定できる。例えば図12(A)、図12(B)に示すような異なる形態のつかみ準備動作である。
【0140】
そこで本実施形態では、このような複数のつかみ準備動作のうちのいずれのつかみ準備動作をプレーヤPLが行っているかを、画像センサISEからの画像情報に基づいて判定する。即ち、図12(A)に示すようなつかみ準備動作が行われたのか、図12(B)に示すようなつかみ準備動作が行われたのかを、プレーヤPLを撮像する画像センサISEからの画像情報に基づき判定する。
【0141】
このようにすれば、例えば図12(A)のつかみ準備動作が行われた場合には、このつかみ準備動作に関連づけられたつかみ動作をキャラクタに行わせることで、図13(A)に示すような画像を生成できるようになる。また図12(B)のつかみ準備動作が行われた場合には、このつかみ準備動作に関連づけられたつかみ動作をキャラクタに行わせることで、図13(B)に示すような画像を生成できるようになる。
【0142】
従って、プレーヤPLの動きに応じて、様々なつかみ動作画像が生成されるようになり、生成される画像の多様性を増すことができる。また、プレーヤPLの動きに忠実なつかみ動作画像を生成できるため、プレーヤPLの仮想現実感を向上できる。
【0143】
この場合に本実施形態では、プレーヤPLがつかみ準備動作を行っているか否かを、プレーヤPLのスケルトン情報に基づいて判定してもよい。例えば、図12(A)、図12(B)で説明したような複数のつかみ準備動作(第1〜第Nのつかみ準備動作)のいずれのつかみ準備動作を行っているかを、プレーヤPLのスケルトン情報に基づいて判定する。
【0144】
即ち本実施形態では図14に示すように、図2(B)のデプス情報等の画像情報に基づいて、プレーヤPLの動作を特定するためのスケルトン情報を取得する。図14ではスケルトン情報として、スケルトンの関節C0〜C19の位置情報(3次元座標)が取得されている。これらの関節C0〜C10は、画像センサISEに映るプレーヤPLの関節に対応するものである。なお画像センサISEにプレーヤPLの全身が映らない場合には、映った部分だけの関節の位置情報を有するスケルトン情報を生成すればよい。
【0145】
例えば図2(B)のデプス情報を用いれば、画像センサISE側から見たプレーヤPL等の3次元形状を特定できる。またカラー画像情報を組み合わせれば、顔画像認識などによりプレーヤPLの顔等の部位の領域も特定できる。そこで、これらの3次元形状の情報等に基づいて、プレーヤPLの各部位を推定し、各部位の関節位置を推定する。そして推定された関節位置に対応するデプス情報の画素位置の2次元座標と、画素位置に設定されたデプス情報に基づいて、スケルトンの関節位置の3次元座標情報を求め、図14に示すようなスケルトン情報を取得する。
【0146】
このようなスケルトン情報を用いれば、プレーヤPLのジェスチャ等の動作をリアルタイムに特定することができ、従来にない操作インターフェース環境を実現できる。また、このスケルトン情報は、オブジェクト空間に配置されるキャラクタのモーションデータとの親和性が高い。従って、このスケルトン情報を例えばモーションデータとして利用して、オブジェクト空間においてキャラクタを動作させることも可能になる。
【0147】
そして本実施形態では、プレーヤPLのつかみ準備動作を、図14のスケルトン情報を用いて判断する。
【0148】
例えば図15(A)は、図12(A)のようなつかみ準備動作を行っているプレーヤPLを、画像センサISEで撮像することで得られたスケルトン情報の例である。一方、図15(B)は、図12(B)のようなつかみ準備動作を行っているプレーヤPLを、画像センサISEで撮像することで得られたスケルトン情報の例である。
【0149】
図15(A)、図15(B)に示すように、スケルトン情報の関節位置C0〜C19の情報を用いることで、プレーヤPLが、図12(A)、図12(B)のいずれのつかみ準備動作を行ったのかを判定できる。
【0150】
例えば図12(A)の左手HDLに対応する図15(A)の関節C11、C10の位置の変化を検出することで、左腕を伸ばしながら左手HDLを下から上に上げる図12(A)のつかみ準備動作を判別できる。また図12(B)の左手HDLに対応する図15(B)の関節C11、C10の位置の変化を検出することで、左腕を伸ばしながら左手HDLを上から下に下げる図12(B)のつかみ準備動作を判別できる。
【0151】
そして図15(A)に示すようなスケルトン情報が検出された場合には、図12(A)のつかみ準備動作に対応するつかみ動作の画像として、図13(A)に示すような画像を生成する。また図15(B)に示すようなスケルトン情報が検出された場合には、図12(B)のつかみ準備動作に対応するつかみ動作の画像として、図13(B)に示すような画像を生成する。
【0152】
このように、デプス情報から得られるスケルトン情報を用いて、つかみ準備動作を判定すれば、より正確で適切な判定処理を実現できる。また例えばキャラクタのモーションを再生するために使用されるスケルトン情報を有効活用して、つかみ準備動作の判定処理を実現できるようになる。
【0153】
また本実施形態では、図14に示すように取得されたスケルトン情報を用いて、画像処理の処理領域を設定してもよい。
【0154】
例えば図12(A)、図12(B)に示すようなつかみ準備動作が行われたことが、図15(A)、図15(B)に示すスケルトン情報に基づいて判定されたとする。この場合には、つかみ準備動作を行っている手が左手HDLであることが、スケルトン情報に基づき判別されている。従って、この場合には、図16(A)、図16(B)に示すように、プレーヤPLの左手HDLに対応する関節C11、C10の位置を含む画像領域を、画像処理の処理領域RPCに設定する。そして、設定された処理領域RPCでのデプス情報やカラー画像情報に対して、つかみ動作の判定のための画像処理を行う。
【0155】
例えば、図4(A)、図4(B)に示すつかみ動作を判定する際に、設定された処理領域RPCでのカラー画像情報やデプス情報に対して画像処理を行う。具体的には、この処理領域RPCにおいて、図6(A)〜図11(C)で説明したような画像領域の面積を求める画像処理を行う。或いは、この処理領域RPCにおいて、つかみ動作を判定するための手の形状認識処理を行う。
【0156】
このようにすれば、全ての領域において画像処理を行う必要がなくなり、画面サイズよりも小さな処理領域RPCにおいて画像処理を行えば済むようになる。従って、画像処理の処理負荷を軽減でき、少ない処理負荷で、つかみ動作の判定のための画像処理を実行できるようになる。
【0157】
2.4 詳細な処理例
次に本実施形態の詳細な処理例について図17〜図19のフローチャートを用いて説明する。図17は、本実施形態の全体的な処理を示すフローチャートである。
【0158】
まず、図2(A)、図2(B)で説明したように、画像センサからの画像情報を取得する(ステップS1)。そして、取得された画像情報に基づいて、図3(A)、図3(B)に示すようなつかみ準備動作をプレーヤが行っているか否かを判定する(ステップS2)。
【0159】
そして、つかみ準備動作を行っていると判定された場合には(ステップS3)、つかみ準備動作を行っている手に対応する画像に対する画像処理を行って、図4(A)、図4(B)に示すようなつかみ動作をプレーヤが行っているか否かを判定する(ステップS4)。そして、つかみ動作を行っていると判定された場合には(ステップS5)、図5に示すように、プレーヤに対応するキャラクタがつかみ動作を行う画像を生成する(ステップS6)。
【0160】
図18は、プレーヤのスケルトン情報を用いて、プレーヤがつかみ準備動作やつかみ動作を行っているか否かを判定する処理のフローチャートである。
【0161】
まず、図2(A)、図2(B)で説明したように、画像センサによりカラー画像情報、デプス情報等の画像情報を取得する(ステップS11)。次に、取得されたデプス情報等を用いて、図14で説明したプレーヤのスケルトン情報を求める(ステップS12)。そして、求められたスケルトン情報に基づいて、図15(A)、図15(B)で説明したように、プレーヤがつかみ準備動作を行っているか否かを判定する(ステップS13)。
【0162】
そして、つかみ準備動作を行っていると判定された場合には(ステップS14)、図16(A)、図16(B)で説明したように、スケルトン情報に基づき、つかみ準備動作を行っている手の位置を特定し、特定された位置を含む画像領域を、画像処理の処理領域に設定する(ステップS15)。次に、設定された処理領域での画像情報に基づき画像処理を行って、プレーヤがつかみ動作を行っているか否かを判定する(ステップS16)。
【0163】
そして、つかみ動作を行っていると判定された場合には(ステップS17)、図5に示すように、プレーヤに対応するキャラクタがつかみ動作を行う画像を生成する(ステップS18)。
【0164】
図19は、画像領域の面積に基づく判定処理のフローチャートである。
【0165】
まず、図8(A)〜図9(D)で説明したように、つかみ準備動作を行っている手の部分に対応する第1の色(例えば赤)の画像領域の面積SRを求める(ステップS21)。また、つかみ準備動作を行っている手の部分に対応する第2の色(例えば青)の画像領域の面積SBを求める(ステップS22)。
【0166】
次に、図11(A)で説明したように、第1の色の画像領域の面積SRと第1の判定しきい値VTRとの間に、SR<VTRの関係が成り立つか否かを判定する(ステップS23)。そしてSR<VTRである場合には、第2の色の画像領域の面積SRと第2の判定しきい値VTB2との間に、SB<VTB2の関係が成り立つか否かを判定する(ステップS24)。そして、SR<VTR、且つ、SB<VTB2である場合には、プレーヤがつかみ動作を行っていると判断する(ステップS25)。
【0167】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、画像情報に基づくプレーヤのつかみ準備動作やつかみ動作やつかみ連動動作の判定手法、画像領域の面積に基づく判定手法、スケルトン情報の取得手法等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【符号の説明】
【0168】
ISE 画像センサ、PL プレーヤ、SC 画面、HDL 左手、HDR 右手、
HLOB キャラクタの左手、TOB ターゲットオブジェクト(相手キャラクタ)、
RPC 処理領域、ETH 手袋(認識用部材)、
100 処理部、102 画像情報取得部、104 情報取得部、
105 スケルトン情報取得部、106 ゲーム演算部、107 つかみ準備動作判定部、
109 つかみ動作判定部、109 つかみ連動動作判定部、110 攻撃動作判定部、
112 オブジェクト空間設定部、114 キャラクタ制御部、115 移動処理部、
116 モーション処理部、118 仮想カメラ制御部、120 画像生成部、
130 音生成部、160 操作部、170 記憶部、171 画像情報記憶部、
172 カラー画像情報記憶部、173 デプス情報記憶部、
174 スケルトン情報記憶部、175 オブジェクトデータ記憶部、
176 モーションデータ記憶部、177 モデルデータ記憶部、179 描画バッファ、
180 情報記憶媒体、190 表示部、192 音出力部、194 補助記憶装置、
196 通信部

【特許請求の範囲】
【請求項1】
画像センサからの画像情報を取得する画像情報取得部と、
前記画像情報に基づいて、プレーヤがつかみ準備動作を行っているか否かを判定するつかみ準備動作判定部と、
つかみ準備動作が行われていると判定された場合には、つかみ準備動作を行っている前記プレーヤの手に対応する画像に対して画像処理を行い、前記画像処理の結果に基づいて、前記プレーヤがつかみ準備動作に続くつかみ動作を行っているか否かを判定するつかみ動作判定部と、
前記つかみ動作の判定結果に基づいて画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
前記つかみ動作判定部は、
つかみ準備動作を行っていると判定された前記プレーヤの手の部分に対応する画像領域の情報に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定することを特徴とするプログラム。
【請求項3】
請求項2において、
前記つかみ動作判定部は、
所与の期間又は所与のタイミングにおける前記画像領域の情報に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定することを特徴とするプログラム。
【請求項4】
請求項2又は3において、
前記つかみ動作判定部は、
前記画像領域の面積に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定することを特徴とするプログラム。
【請求項5】
請求項4において、
前記画像情報取得部は、
前記画像情報として、各画素位置にカラー値が設定されたカラー画像情報を取得し、
前記つかみ動作判定部は、
前記カラー画像情報における前記画像領域の面積に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定することを特徴とするプログラム。
【請求項6】
請求項4において、
前記画像情報取得部は、
前記画像情報として、各画素位置にデプス値が設定されたデプス情報を取得し、
前記つかみ動作判定部は、
前記デプス情報における前記画像領域の面積に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定することを特徴とするプログラム。
【請求項7】
請求項4乃至6のいずれかにおいて、
前記つかみ動作判定部は、
前記画像領域の面積を判定する際の判定しきい値を、生成された画像が表示される表示部と前記プレーヤとの間の距離情報に応じて変化させることを特徴とするプログラム。
【請求項8】
請求項1において、
前記つかみ動作判定部は、
前記プレーヤが手に装着する認識用部材の画像情報に基づいて、前記プレーヤがつかみ動作を行っているか否かを判定することを特徴とするプログラム。
【請求項9】
請求項8において、
前記認識用部材は、手のひら側が第1の色に設定され、
前記つかみ動作判定部は、
前記プレーヤがつかみ準備動作を行っていると判断された後に、前記第1の色の画像領域の面積が減少した場合に、前記プレーヤがつかみ動作を行っていると判定することを特徴とするプログラム。
【請求項10】
請求項9において、
前記認識用部材は、手の甲側が第2の色に設定され、
前記つかみ動作判定部は、
前記プレーヤがつかみ準備動作を行っていると判断された後に、前記第1の色の画像領域の面積が第1の判定しきい値よりも小さくなり、且つ、前記第2の色の画像領域の面積が第2の判定しきい値よりも小さい場合に、前記プレーヤがつかみ動作を行っていると判定することを特徴とするプログラム。
【請求項11】
請求項10において、
前記つかみ動作判定部は、
前記第1の判定しきい値及び前記第2の判定しきい値を、生成された画像が表示される表示部と前記プレーヤとの間の距離情報に応じて変化させることを特徴とするプログラム。
【請求項12】
請求項1において、
前記つかみ動作判定部は、
つかみ準備動作を行っていると判定された前記プレーヤの手の部分の画像情報に対する形状認識処理により、前記プレーヤがつかみ動作を行っているか否かを判定することを特徴とするプログラム。
【請求項13】
請求項1乃至12のいずれかにおいて、
前記つかみ準備動作判定部は、
前記プレーヤが複数の第1〜第Nのつかみ準備動作(Mは2以上の整数)のうちのいずれのつかみ準備動作を行っているかを、前記画像センサからの前記画像情報に基づいて判定することを特徴とするプログラム。
【請求項14】
請求項13において、
前記画像センサからの前記画像情報に基づいて、前記画像センサから見える前記プレーヤの動作を特定するスケルトン情報を取得する情報取得部として、
コンピュータを機能させ、
前記つかみ準備動作判定部は、
前記プレーヤの前記スケルトン情報に基づいて、前記プレーヤが前記第1〜第Nのつかみ準備動作のうちのいずれのつかみ準備動作を行っているかを判定することを特徴とするプログラム。
【請求項15】
請求項14において、
前記つかみ準備動作判定部は、
前記プレーヤが前記第1〜第Nのつかみ準備動作のうちのいずれのつかみ準備動作を行っているかを、前記スケルトン情報の関節位置情報に基づいて判定することを特徴とするプログラム。
【請求項16】
請求項1乃至12のいずれかにおいて、
前記画像センサからの前記画像情報に基づいて、前記画像センサから見える前記プレーヤの動作を特定するスケルトン情報を取得する情報取得部として、
コンピュータを機能させ、
前記つかみ準備動作判定部は、
前記プレーヤの前記スケルトン情報に基づいて、前記プレーヤがつかみ準備動作を行っているか否かを判定することを特徴とするプログラム。
【請求項17】
請求項1乃至12のいずれかにおいて、
前記画像センサからの前記画像情報に基づいて、前記画像センサから見える前記プレーヤの動作を特定するスケルトン情報を取得し、取得された前記スケルトン情報に基づいて、つかみ動作を判定するための前記画像処理の処理領域を設定する情報取得部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項18】
請求項1乃至17のいずれかにおいて、
前記プレーヤに対応するキャラクタの制御を行うキャラクタ制御部として、
コンピュータを機能させ、
前記画像生成部は、
前記プレーヤがつかみ動作を行っていると判定された場合には、前記キャラクタがつかみ動作を行う画像を生成することを特徴とするプログラム。
【請求項19】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至18のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項20】
画像センサからの画像情報を取得する画像情報取得部と、
前記画像情報に基づいて、プレーヤがつかみ準備動作を行っているか否かを判定するつかみ準備動作判定部と、
つかみ準備動作が行われていると判定された場合には、つかみ準備動作を行っている前記プレーヤの手に対応する画像に対して画像処理を行い、前記画像処理の結果に基づいて、前記プレーヤがつかみ準備動作に続くつかみ動作を行っているか否かを判定するつかみ動作判定部と、
前記つかみ動作の判定結果に基づいて画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図2】
image rotate


【公開番号】特開2011−215921(P2011−215921A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−83893(P2010−83893)
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】