説明

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

【課題】画像センサと表示部のアスペクト比の違いの吸収等を実現できるプログラム、情報記憶媒体、画像生成システム等の提供。
【解決手段】画像生成システムは、画像センサからの画像情報を取得する画像情報取得部と、画像センサからの画像情報に基づいて、操作者の動き情報を取得する動き情報取得部と、画像センサのアスペクト比と表示部のアスペクト比との関係を表すアスペクト比情報に基づいて、動き情報についての補正処理を行う補正処理部と、表示部に表示される画像を生成する画像生成部を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。
【背景技術】
【0002】
近年、従来の操作ボタンや方向キーを備えたコントローラに代わって、モーションセンサを内蔵するコントローラを用いて操作が可能なゲーム装置が人気を博している。このような操作インターフェースを備えるゲーム装置によれば、操作者(プレーヤ、ユーザ)の直感的な操作入力が可能になり、ゲーム操作の簡素化等を図れる。このような直感的なインターフェースを可能にするゲーム装置の従来技術としては例えば特許文献1に開示される技術がある。
【0003】
一方、このような直感的なインターフェースを実現する他の手法として、画像センサにより操作者を撮像して、操作者の動きによる操作入力を実現する手法が考えられる。
【0004】
しかしながら、画像センサのアスペクト比は様々であり表示部のアスペクト比と一致しない場合がある。そしてこのような場合に不自然な画像が生成される事態が生じることが判明した。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−136695号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の幾つかの態様によれば、画像センサと表示部のアスペクト比の違いの吸収等を実現できるプログラム、情報記憶媒体、画像生成システム等を提供できる。
【課題を解決するための手段】
【0007】
本発明の一態様は、画像センサからの画像情報を取得する画像情報取得部と、前記画像センサからの前記画像情報に基づいて、操作者の動き情報を取得する動き情報取得部と、前記画像センサのアスペクト比と表示部のアスペクト比との関係を表すアスペクト比情報に基づいて、前記動き情報についての補正処理を行う補正処理部と、前記補正処理の結果に応じた画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【0008】
本発明の一態様では、画像センサから画像情報が取得され、画像情報から操作者の動き情報が取得される。そして、画像センサのアスペクト比と表示部のアスペクト比との関係を表すアスペクト比情報により、操作者の動き情報についての補正処理が行われ、補正処理の結果に応じた画像が生成される。従って、例えば画像センサと表示部のアスペクト比が異なる場合等にも、アスペクト比の違いが吸収された画像等を生成できるようになる。
【0009】
また本発明の一態様では、前記操作者の動きに応じて移動又は動作するオブジェクトの制御を行うオブジェクト制御部を含み(オブジェクト制御部としてコンピュータを機能させ)、前記補正処理部は、前記アスペクト比情報に基づいて、前記オブジェクトの移動又は動作についての補正処理を行ってもよい。
【0010】
このようにすれば、例えば画像センサと表示部のアスペクト比が異なる場合等にも、オブジェクトの適正な移動又は動作の制御を実現できる。
【0011】
また本発明の一態様では、前記補正処理部は、前記操作者の動きに応じて前記オブジェクトが移動する場合に、前記表示部の画面の水平方向での前記オブジェクトの移動量の方が、前記表示部の画面の垂直方向での移動量よりも大きくなるように、前記補正処理を行ってもよい。
【0012】
このようにすれば、アスペクト比の幅側の比率が表示部に比べて小さい画像センサを用いた場合にも、オブジェクトの適正な移動又は動作の制御を実現できる。
【0013】
また本発明の一態様では、前記オブジェクト制御部は、第1のモードでは、前記アスペクト比情報に基づく前記補正処理の結果を用いてオブジェクトの制御を行い、第2のモードでは、前記アスペクト比情報に基づく前記補正処理の結果を用いずに、前記スケルトン情報を用いてオブジェクトの制御を行ってもよい。
【0014】
このようにすれば、例えばオブジェクトの移動方向の正確性が重要になる場合には、第1のモードに設定し、アスペクト比情報に基づく補正処理の結果を用いてオブジェクトの制御を行うようにする。こうすることで、画像センサと表示部のアスペクト比の違いを吸収したオブジェクト制御を実現でき、オブジェクトの移動方向の正確性等を維持できる。一方、オブジェクトの移動方向の正確性がそれほど重要にならない場合には、第2のモードに設定し、アスペクト比情報に基づく補正処理の結果を用いずに、スケルトン情報を用いてオブジェクトの制御を行うようにする。こうすることで、アスペクト比情報に基づく補正処理を省略できるため、処理を効率化できる。
【0015】
また本発明の一態様では、前記動き情報取得部は、前記動き情報として、前記画像センサから見える操作者の動作を特定するスケルトン情報を取得し、前記補正処理部は、前記スケルトン情報で表されるスケルトンの骨の位置情報についての補正処理を行ってもよい。
【0016】
このようにすれば、操作者のスケルトン情報を利用して、多様な画像を生成できるようになり、例えば、体格等が異なる多様な操作者に対応等することも可能になる。
【0017】
また本発明の一態様では、前記補正処理部は、前記スケルトンの骨の位置情報の補正処理を行って、補正位置情報を求め、前記オブジェクト制御部は、前記補正位置情報に基づいて、前記オブジェクトの制御を行い、前記画像生成部は、前記補正位置情報に対応する画面上の表示位置に前記オブジェクトが表示される画像を生成してもよい。
【0018】
このようにすれば、スケルトンの骨の位置情報の補正処理を行って、求められた補正位置情報に対応する表示位置にオブジェクトを表示できるようになる。
【0019】
また本発明の一態様では、前記オブジェクトは、前記操作者の所定部位の動きに応じて移動するオブジェクトであってもよい。
【0020】
このようにすれば、操作者の所定部位の動きに応じてオブジェクトを移動させることができると共に、そのオブジェクトの移動等の制御に補正処理の結果を反映させることが可能になる。
【0021】
また本発明の一態様では、前記所定部位は前記操作者の手であり、前記オブジェクトは、前記操作者の手の動きに応じて移動する手オブジェクトであってもよい。
【0022】
このようにすれば、操作者の手の動きに応じて手オブジェクトを移動させることができると共に、その手オブジェクトの移動等の制御に補正処理の結果を反映させることが可能になる。
【0023】
また本発明の一態様では、前記補正処理部は、第1の操作者のスケルトンの状態が第1の状態である時の前記オブジェクトの表示位置と、第2の操作者のスケルトンの状態が前記第1の状態である時の前記オブジェクトの表示位置とが同じ位置になるように前記補正処理を行ってもよい。
【0024】
このようにすれば、操作者が第1の操作者であるか第2の操作者であるかに依存しないオブジェクト制御を実現できる。
【0025】
また本発明の一態様では、前記補正処理部は、前記操作者の体格情報を用いて前記補正処理を行ってもよい。
【0026】
このようにすれば、操作者の体格情報を補正処理に反映させることが可能になり、操作者の体格等の違いを吸収した補正処理を実現できる。
【0027】
また本発明の一態様では、前記補正処理部は、前記スケルトンの第1の関節と第2の関節の間の距離情報を、前記体格情報として用いて、前記補正処理を行ってもよい。
【0028】
このようにすれば、例えばスケルトン情報から、関節間距離情報を体格情報として取得して、操作者の体格等の違いを吸収した補正処理を実現できる。
【0029】
また本発明の一態様では、ゲーム演算処理を行うゲーム演算部を含み(ゲーム演算部としてコンピュータを機能させ)、前記ゲーム演算部は、前記補正処理の結果に応じた前記ゲーム演算処理を行ってもよい。
【0030】
このようにすれば、スケルトンの骨の位置情報の補正処理の結果を反映させたゲーム演算処理を実現できる。
【0031】
また本発明の一態様では、前記ゲーム演算部は、前記ゲーム演算処理として、前記補正処理の結果に応じたゲーム結果演算処理を行ってもよい。
【0032】
このようにすれば、ゲーム結果演算処理に対して、スケルトンの骨の位置情報の補正処理を反映できるようになる。
【0033】
また本発明の一態様では、前記補正処理部は、前記スケルトンの骨の位置の移動量情報についての補正処理を行って、補正移動量情報を求め、前記ゲーム演算部は、前記補正移動量情報に基づいて前記ゲーム結果演算処理を行ってもよい。
【0034】
このようにすれば、スケルトンの骨の位置の移動量情報を補正し、得られた補正移動量情報を利用したゲーム結果演算処理を実現できる。
【0035】
また本発明の一態様では、前記スケルトン情報の信頼度を表す信頼度情報を取得する信頼度情報取得部を含み(信頼度情報取得部としてコンピュータを機能させ)、前記画像生成部は、前記表示部に表示される画像として、取得された前記信頼度情報に応じた画像を生成してもよい。
【0036】
このようにすれば、表示部に表示される画像にスケルトン情報の信頼度を反映することが可能になり、これまでにない画像生成システムの提供が可能になる。
【0037】
また本発明の一態様では、前記画像生成部は、前記信頼度情報に基づいて、前記表示部に表示される画像の表示態様を変化させてもよい。
【0038】
このようにすれば、信頼度情報により表される信頼度が増減すると、表示部に表示される画像の表示態様が変化するため、信頼度の増減を、画像の表示態様の変化を通じて操作者に伝えることが可能になる。
【0039】
また本発明の他の態様は、画像センサからの画像情報を取得する画像情報取得部と、前記画像センサからの前記画像情報に基づいて、操作者の動き情報を取得する動き情報取得部と、前記操作者の動きに応じて移動又は動作するオブジェクトの制御を行うオブジェクト制御部と、前記画像センサのアスペクト比と表示部のアスペクト比との関係を表すアスペクト比情報に基づいて、前記オブジェクトの移動又は動作についての補正処理を行う補正処理部と、前記表示部に表示される画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【図面の簡単な説明】
【0040】
【図1】本実施形態の画像生成システムの構成例。
【図2】図2(A)、図2(B)は画像センサからの撮像情報を用いた本実施形態の操作インターフェースの説明図。
【図3】デプス情報等に基づいて操作者のスケルトン情報を求める手法の説明図。
【図4】図4(A)、図4(B)はアスクペクト比情報を用いた本実施形態の補正処理の説明図。
【図5】図5(A)、図5(B)はオブジェクトの水平方向での移動量を垂直方向での移動量よりも大きくする補正処理の説明図。
【図6】図6(A)、図6(B)は骨の位置情報の補正処理の説明図。
【図7】図7(A)、図7(B)は骨の位置情報の補正処理の説明図。
【図8】図8(A)、図8(B)は補正位置情報により描画位置を求める手法の説明図。
【図9】図9(A)、図9(B)は操作者の体格情報に基づく補正処理の説明図。
【図10】図10(A)、図10(B)は第1、第2の方向のなす角度を用いた補正処理の説明図。
【図11】図11(A)、図11(B)は補正移動量情報に基づくゲーム演算処理の説明図。
【図12】図12(A)、図12(B)は第2のモードのゲームの説明図。
【図13】図13(A)、図13(B)はスケルトン情報、信頼度情報のデータ構造の例。
【図14】図14(A)、図14(B)は信頼度、存在確率範囲の説明図。
【図15】図15(A)、図15(B)は信頼度の説明図。
【図16】図16(A)、図16(B)は操作者の操作動作を示す図。
【図17】図17(A)、図17(B)は信頼度情報に基づき画像の表示態様を変化させる手法の説明図。
【図18】図18(A)、図18(B)は映像機器への本実施形態の手法の適用例。
【図19】本実施形態の処理を説明するフローチャート。
【図20】本実施形態の処理を説明するフローチャート。
【図21】本実施形態の処理を説明するフローチャート。
【発明を実施するための形態】
【0041】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0042】
1.構成
図1に本実施形態の画像生成システム(ゲーム装置、映像機器等)のブロック図の例を示す。なお、本実施形態の画像生成システムの構成は図1に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0043】
操作部160は、操作者が操作情報を入力するためのものである。この操作部160は、例えばカラー画像センサやデプスセンサなどにより実現される画像センサを含む。なお操作部160の機能を、画像センサだけで実現してもよいし、画像センサ以外の操作デバイス(方向指示キー、操作ボタン、アナログスティック、レバー、角速度センサ・加速度センサ等のセンサ、マイク、或いはタッチパネル型ディスプレイ)を用いて実現してもよい。
【0044】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。
【0045】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0046】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0047】
補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【0048】
通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【0049】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0050】
処理部100(プロセッサ)は、操作部160からの操作情報やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0051】
処理部100は、画像情報取得部102、動き情報取得部104、信頼度情報取得部106、補正処理部108、ゲーム演算部110、オブジェクト空間設定部112、オブジェクト制御部114、仮想カメラ制御部118、画像生成部120、音生成部130を含む。なおこれらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0052】
画像情報取得部102は、画像センサからの画像情報を取得する。例えば画像センサにより撮像された画像の情報は、記憶部170の画像情報記憶部171に保存される。具体的には、画像センサのカラー画像センサにより撮像されたカラー画像の情報はカラー画像情報記憶部172に保存され、画像センサのデプスセンサにより撮像されたデプス画像の情報はデプス情報記憶部173に保存される。画像情報取得部102は、これらの画像情報を画像情報記憶部171から読み出すことで画像情報を取得する。
【0053】
動き情報取得部104は操作者の動き情報を取得する。動き情報取得部104が含むスケルトン情報取得部105はスケルトン情報を取得し、信頼度情報取得部106は、スケルトン情報の信頼度情報を取得する。スケルトン情報、信頼度情報はスケルトン情報記憶部174、信頼度情報記憶部175に記憶される。補正処理部108は種々の補正処理を行う。動き情報取得部104、スケルトン情報取得部105、信頼度情報取得部106、補正処理部108の詳細については後述する。
【0054】
ゲーム演算部110はゲーム演算処理を行う。ここでゲーム演算処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【0055】
オブジェクト空間設定部112は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、キャラクタ(人、動物、ロボット、車、船舶、飛行機等)、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちオブジェクトが3次元オブジェクトである場合には、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクトデータ記憶部176には、オブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部112は、例えば各フレーム毎にこのオブジェクトデータを更新する処理などを行う。
【0056】
オブジェクト制御部114は、オブジェクトの制御を行う。例えば、操作部160により操作者(プレーヤ、ユーザ)が入力した操作情報や、プログラム(移動・動作アルゴリズム)や、各種データなどに基づいて、オブジェクトの移動及び動作の少なくとも一方を制御する。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。或いはオブジェクトのモーション処理やアニメーション処理などの動作制御を行う。なおフレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
【0057】
オブジェクト制御部114により制御されるオブジェクトは、3次元オブジェクト空間に配置設定される3次元オブジェクトであってもよいし、2次元スクリーン(表示画面)に描画される2次元オブジェクトであってもよい。オブジェクトが、3次元モデルにより表されるキャラクタのオブジェクトである場合には、オブジェクト制御部114は、キャラクタにモーションを行わせるモーション処理(モーション再生、モーション生成)を行う。このモーション処理は、キャラクタのモーションを、モーションデータ記憶部177に記憶されているモーションデータ等に基づいて再生することなどで実現できる。ここで、モーションデータ記憶部177には、キャラクタ(モデルオブジェクト)のスケルトンを構成する各骨(キャラクタを構成する各パーツオブジェクト)の位置又は回転角度(親の骨に対する子の骨の3軸周りの回転角度)等を含むモーションデータが記憶されている。またモデルデータ記憶部178には、キャラクタを表すモデルオブジェクトのモデルデータが記憶される。
【0058】
仮想カメラ制御部118は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点、基準仮想カメラ)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0059】
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ179(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、描画処理は頂点シェーダ処理やピクセルシェーダ処理により実現することができる。
【0060】
なお、画像生成部120が、いわゆる立体視用の画像を生成するようにしてもよい。この場合には、基準となる仮想カメラの位置とカメラ間距離を用いて、左目用仮想カメラと右目用仮想カメラを配置設定する。そして画像生成部120が、オブジェクト空間内において左目用仮想カメラから見える左目用画像と、オブジェクト空間内において右目用仮想カメラから見える右目用画像を生成する。そしてこれらの左目用画像、右目用画像を用いて、眼分離眼鏡方式や、レンティキュラーレンズなどを用いた裸眼方式などにより、立体視を実現すればよい。
【0061】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0062】
そして本実施形態では、画像情報取得部102が、画像センサからの画像情報を取得すると、動き情報取得部104が操作者の動き情報を取得する。そして補正処理部108が、この動き情報についての補正処理を行う。
【0063】
ここで動き情報としては、例えば動きベクトルなどのオプティカルフローの情報や、操作者の部位の動きを表す情報や、操作者のスケルトン情報などを想定できる。オプティカルフローの情報は、画像センサの撮像画像での操作者の動きを動きベクトルで表現した情報である。操作者の部位の動きを表す情報は、操作者の各部位がどのように動いているかを特定するための情報である。またスケルトン情報は、画像センサから見える操作者の動作を特定するための情報であり、操作者の複数の関節に対応する複数の関節位置情報を有し、各関節位置情報は3次元座標情報により構成される。各関節を結合するものが骨(ボーン)となり、複数の骨の結合によりスケルトンが構成される。関節位置情報は骨の位置情報として用いられる。
【0064】
そして補正処理部108は、アスペクト比情報に基づいて、動き情報(骨の位置情報等)についての補正処理を行い、画像生成部120は、この補正処理の結果に応じた画像を生成する。この動き情報についての補正処理は、動き情報自体の補正処理であってもよいし、他の情報を補正することで、動き情報自体を補正するのと同様の効果が得られる補正処理であってもよい。また画像生成部120は、このようなアスペクト比情報についての補正処理の結果が反映された画像を生成して、表示部190に表示する。
【0065】
ここでアスペクト比情報は、画像センサのアスペクト比と表示部190のアスペクト比との関係を表す情報である。例えば画像センサのアスペクト比がi:jであり、表示部190のアスペクト比がm:nである場合には、アスペクト比情報は、i、j、m、nの関係であり、具体的にはi:jとm:nの関係(比率等)である。このようなアスペクト比情報に基づく補正処理を行うことで、画像センサと表示部190のアスペクト比の違いを吸収した画像を生成することが可能になる。
【0066】
またオブジェクト制御部114は、操作者の動きに応じて移動又は動作するオブジェクトの制御を行う。ここでオブジェクトは2次元オブジェクトであってもよいし、3次元オブジェクトであってもよい。そして補正処理部108は、アスペクト比情報に基づいて、オブジェクトの移動又は動作についての補正処理を行う。
【0067】
具体的には補正処理部108は、操作者の動きに応じてオブジェクトが移動する場合(動き情報に基づきオブジェクトが移動する場合)に、表示部190の画面の水平方向でのオブジェクトの移動量の方が、表示部190の画面の垂直方向での移動量よりも大きくなるように、補正処理を行う。例えば操作者の所定部位(手等)が水平方向に第1の移動量だけ移動し、垂直方向にも、同じ第1の移動量だけ移動したとする。この場合に、画面上のオブジェクトの水平方向での移動量は、垂直方向での移動量よりも大きくなる。このようにすれば、アスペクト比の幅側の比率が小さい画像センサを使用した場合にも、オブジェクトの適正な移動又は動作の制御を実現できる。
【0068】
またスケルトン情報取得部105は、画像センサからの画像情報に基づいて、操作者のスケルトン情報を取得する。すると、補正処理部108は、スケルトン情報で表されるスケルトンの骨の位置情報(関節位置情報)についての補正処理を行い、画像生成部120は、この補正処理の結果に応じた画像を生成する。ここで、骨の位置情報についての補正処理は、骨の位置情報自体の補正処理であってもよいし、他の情報を補正することで、骨の位置情報自体を補正するのと同様の効果が得られる補正処理であってもよい。また画像生成部120は、このような骨の位置情報についての補正処理の結果が反映された画像を生成して、表示部190に表示する。
【0069】
具体的には、補正処理部108は、スケルトンの骨の位置情報(関節位置情報)の補正処理を行って、補正位置情報を求める。するとオブジェクト制御部114は、補正処理により得られた補正位置情報に基づいて、オブジェクトの制御を行う。例えば補正位置情報に基づいて、オブジェクトの描画位置などを決定する。そして画像生成部120は、補正位置情報に対応する画面上の表示位置にオブジェクトが表示される画像を生成する。このようにすることで、補正処理の結果に応じた画像(補正処理が反映された画像)が生成されるようになる。
【0070】
ここで、オブジェクトは、操作者の所定部位(例えば手、足等)の動きに応じて移動するオブジェクトである。具体的には、所定部位は操作者の手であり、オブジェクトは、操作者の手の動きに応じて移動する手オブジェクト(アイコン、カーソル)である。
【0071】
またオブジェクト制御部114は、第1のモード(第1の種類のゲーム)では、アスペクト比情報に基づく補正処理の結果を用いてオブジェクトの制御を行う。
【0072】
一方、第2のモード(第2の種類のゲーム)では、アスペクト比情報に基づく補正処理の結果を用いずに、スケルトン情報を用いてオブジェクトの制御を行う。例えばオブジェクトがキャラクタである場合には、画像センサからの画像情報により得られるスケルトン情報により、キャラクタのモーションを特定し、特定されたモーションでキャラクタを動作させる制御を行う。この場合に、スケルトン情報により設定されるモーションデータをそのまま用いて、キャラクタのモーション再生を行ってもよい。或いは、複数のモーションパターンの中から、取得されたスケルトン情報に対応するモーションパターンを選択し、選択されたモーションパターンのモーションデータで、キャラクタのモーション再生を行ってもよい。
【0073】
また補正処理部108は、第1の操作者のスケルトンの状態が第1の状態である時のオブジェクトの表示位置と、第2の操作者のスケルトンの状態が第1の状態である時のオブジェクトの表示位置とが同じ位置になるように補正処理を行う。例えば第1の操作者が大人であり、第2の操作者が子供である場合に、その大人のスケルトンが第1の状態(例えば右手を上げるなどの姿勢状態)である時のオブジェクト(例えば右手オブジェクト)の表示位置と、その子供が同じ姿勢状態である時のオブジェクトの表示位置とが同じ位置になるように、補正処理を行う。
【0074】
また補正処理部108は、操作者の体格情報を用いて補正処理を行ってもよい。体格情報は、操作者の体の大きさや体型等を表す情報である。具体的には、補正処理部108は、スケルトンの第1の関節(例えば肩の関節)と第2の関節(例えば手の関節)の間の関節距離情報を、体格情報として用いて、補正処理を行う。或いは、複数フレームに亘って取得された関節間距離情報から得られる距離情報を、体格情報として用いて、補正処理を行ってもよい。例えば複数フレーム分の関節間距離情報の平均化処理を行い、平均化処理により得られた距離情報を用いて補正処理を行う。
【0075】
また補正処理部108は、操作者の位置(代表位置)と画像センサとを結ぶ第1の方向と、操作者の位置と所定部位(例えば手、足)に対応する関節の位置とを結ぶ第2の方向とのなす角度を求めて、補正処理を行ってもよい。例えば求められた角度に基づいて、オブジェクトの表示位置を求める。このようにすることで、骨の位置情報の補正位置情報を直接求めなくても、オブジェクトの描画位置を求めることが可能になる。
【0076】
またゲーム演算部110が、補正処理の結果(補正位置情報、第1、第2の方向のなす角度等)に応じたゲーム演算処理を行ってもよい。そして画像生成部120が、このゲーム演算処理の結果に基づいて画像を生成することで、補正処理の結果に応じた画像(補正処理を反映させた画像)が生成されるようになる。例えばゲーム演算部110は、ゲーム演算処理として、補正処理の結果に応じたゲーム結果演算処理を行う。即ち、ゲーム結果の演算に、補正処理の結果を反映させる。具体的には補正処理部108は、スケルトンの骨の位置の移動量情報についての補正処理を行って、補正移動量情報を求める。するとゲーム演算部110は、補正移動量情報に基づいてゲーム結果演算処理を行う。例えば補正移動量情報を利用してゲーム結果を調整することで、大人と子供などの個人差で不利が生じないようにする。
【0077】
信頼度情報取得部106は、スケルトン情報の信頼度(情報の確からしさ)を表す信頼度情報を取得する。そして画像生成部120は、表示部190に表示される画像として、取得された信頼度情報に応じた画像を生成する。例えば画像生成部120は、信頼度情報に基づいて、表示部190に表示される画像の表示態様を変化させる。またゲーム演算部110が信頼度情報に応じたゲーム演算処理を行った場合や、オブジェクト制御部114が信頼度情報に応じたオブジェクト制御を行った場合には、当該ゲーム演算処理やオブジェクト制御に基づく画像を生成することで、信頼度情報に応じた画像が生成されるようになる。
【0078】
例えば信頼度情報取得部106は、スケルトン情報により表されるスケルトンを構成する各骨(各関節)に対して、各骨の情報(位置情報、対応づけ情報)の信頼度が関連づけられた情報を、信頼度情報として取得する。ここで、スケルトン情報は、操作者の各部位(手、足、腰、胴体、首、頭等)に対応づけられた各骨(各関節)の位置情報を含む。この場合には、信頼度情報により表される信頼度は、操作者の各部位と各骨との対応づけと、各骨の位置情報に関する信頼度となる。
【0079】
また信頼度情報取得部106は、操作者の所定部位(例えば手、足等)が操作者の他の部位(例えば胴体、頭、他方の手・足等)、に近づくほど、所定部位に対応する骨の情報(位置情報、対応づけ情報)の信頼度が低くなる情報を、信頼度情報として取得する。即ち所定部位と他の部位との区別がつかなくなった場合に信頼度が低くなるような情報を、信頼度情報として取得する。或いは、信頼度情報取得部106は、操作者が画像センサから所定距離以上離れた場合に、スケルトン情報の骨の情報の信頼度が低くなる情報を、信頼度情報として取得する。即ち、操作者が画像センサから遠く離れてしまい、画像センサからの画像情報から信頼度情報を取得できなくなったり取得するのが極めて困難になった場合に信頼度が低くなるような情報を、信頼度情報として取得する。なおスケルトン情報と信頼度情報は一体となった情報であってもよい。
【0080】
画像生成部120は、取得された信頼度情報に基づいて、表示部190に表示される画像の表示態様を変化させる。この場合に、信頼度情報により表される信頼度の変化の予測情報(変化率情報等)に基づいて、表示部190に表示される画像の表示態様を変化させてもよい。例えば信頼度が所定しきい値以下になることが前もって予測された場合に、画像の表示態様を変化させる。
【0081】
具体的には画像生成部120は、操作者の所定部位(例えば手、足)に対応する骨(手、足の骨・関節)の情報の信頼度に基づいて、所定部位に対応して表示部190に表示されるオブジェクトの表示態様を変化させる。ここで所定部位に対応して表示されるオブジェクトは、所定部位の動きに連動して移動又は動作するオブジェクトであり、2次元オブジェクトであってもよいし、3次元オブジェクトであってもよい。
【0082】
そして画像生成部120は、所定部位に対応する骨の情報の信頼度が低くなるにつれて、所定部位に対応するオブジェクトをぼかす処理(ぼかしフィルタ処理)、オブジェクトを透明に近づける処理(α値を変化させる処理)、及びオブジェクトの色を変化させる処理(ターゲット色に近づける処理)の少なくとも1つの処理を行う。或いは、所定部位に対応する骨の情報の信頼度が低くなるにつれて、オブジェクトの明度(輝度)を変化させる処理、オブジェクトの輪郭線の表示態様(太さ、濃さ)を変化させる処理、オブジェクトのサイズを変化(変形)させる処理、及びオブジェクトに施されるエフェクトを変化させる処理の少なくとも1つの処理を行ってもよい。
【0083】
2.本実施形態の手法
次に本実施形態の手法について具体的に説明する。
【0084】
2.1 アスペクト比情報に基づく補正処理
一般的に、ゲーム装置や、テレビや記録・再生機器等の映像機器では、コントローラ(リモコン)のボタンやレバーを用いて操作を指示する。またコントローラにモーションセンサ(6軸センサ)を設け、操作者がコントローラそのものを動かすことで操作を指示する機器も考えられる。
【0085】
しかしながら、このような操作インターフェースの機器では、操作にコントローラが必要になり、操作者の手の動きなどのジェスチャをそのまま反映させるような操作については実現できなかった。
【0086】
そこで本実施形態では、画像センサで撮像された画像情報に基づき操作者の操作入力を可能にする操作インターフェースを採用している。
【0087】
例えば図2(A)では、表示部190(画面SC)に対応する位置に、デプスセンサ(赤外線センサ等)やカラー画像センサ(CCDやCMOSセンサなどのRGBセンサ)により実現される画像センサISEが設置されている。この画像センサISEは、例えばその撮像方向(光軸方向)が表示部190から操作者の方に向く方向になるように設置されており、表示部190側から見た操作者のカラー画像情報やデプス情報を撮像する。なお画像センサISEは、表示部190に内蔵されるものであってもよいし、外付け部品として用意されるものであってもよい。また画像センサISEの設置位置は図2(A)に限定されず、任意の位置(例えば表示部190の下部)に設定できる。
【0088】
そして図2(A)の画像センサISEを用いて、図2(B)に示すようなカラー画像情報とデプス情報を取得する。例えばカラー画像情報では、操作者やその周りの風景の色情報が得られる。一方、デプス情報では、操作者やその周りの風景のデプス値(奥行き値)が、例えばグレースケール値として得られる。例えばカラー画像情報は、その各画素位置にカラー値(RGB)が設定された画像情報であり、デプス情報は、その各画素位置にデプス値(奥行き値)が設定された画像情報である。なお、画像センサISEは、デプスセンサとカラー画像センサとが別々に設けられたセンサであってもよいし、デプスセンサとカラー画像センサとが複合的に組み合わせられたセンサであってもよい。
【0089】
デプス情報の取得手法としては、公知に種々の手法を想定できる。例えば画像センサISE(デプスセンサ)から赤外線等の光を投射し、その投射光の反射強度や、投射光が戻ってくるまでの時間(Time Of Flight)を検出することで、デプス情報を取得し、画像センサISEの位置から見た操作者などの物体のシェイプを検出する。具体的には、デプス情報は、例えば画像センサISEから近い物体では明るくなり、画像センサISEから遠い物体では暗くなるグレースケールデータとして表される。
【0090】
なおデプス情報の取得手法としては種々の変形実施が可能であり、例えばCMOSセンサなどの画像センサを用いて、カラー画像情報と同時にデプス情報(被写体までの距離情報)を取得するようにしてもよい。また超音波などを用いた測距センサなどによりデプス情報を取得してもよい。
【0091】
そして本実施形態では、画像センサISEからの画像情報に基づき、画像センサISEから見える操作者(プレーヤ、ユーザ)の動き情報を取得する。そして、取得された動き情報についての補正処理を行う。ここで動き情報は、前述のように、オプティカルフローの情報や、操作者の部位の動きを表す情報や、操作者のスケルトン情報などである。
【0092】
例えば本実施形態では図3に示すように、図2(B)のデプス情報等に基づいて、操作者の動作を特定するためのスケルトン情報(動き情報)を取得する。図3ではスケルトン情報として、スケルトンを構成する骨の位置情報(3次元座標)が、関節C0〜C19の位置情報として取得されている。このスケルトンを構成する各骨は、画像センサISEに映る操作者の各部位(手、足、胸等)に対応するものであり、関節C0〜C19は、画像センサISEに映る操作者の関節に対応するものである。
【0093】
例えば図2(B)のデプス情報を用いれば、画像センサISE側から見た操作者等の3次元形状を特定できる。またカラー画像情報を組み合わせれば、顔画像認識などにより操作者の顔等の部位の領域も特定できる。そこで、これらの3次元形状の情報等や画像の動きベクトル(オプティカルフロー)などを用いて、操作者の各部位を推定し、各部位の関節位置を推定する。そして推定された関節位置に対応するデプス情報の画素位置の2次元座標と、画素位置に設定されたデプス情報に基づいて、スケルトンの関節位置の3次元座標情報を求め、図3に示すようなスケルトン情報を取得する。更に具体的には、体型・体格が異なる複数のモデルを用意する。そして画像センサISEにより得られた操作者のデプス情報やカラー画像情報を用いて、操作者の体型・体格と、これらの複数のモデルの体型・体格とのマッチング処理を行い、体型・体格が類似するモデルを特定する。そして、特定されたモデルの関節位置の情報等を用いて、操作者の関節位置(骨の位置、部位の位置)を推定して、スケルトン情報を取得する。
【0094】
このようなスケルトン情報を用いれば、操作者の動作をリアルタイムに特定することができ、従来にない操作インターフェース環境を実現できる。また、このスケルトン情報は、オブジェクト空間に配置されるキャラクタのモーションデータとの親和性が高い。従って、このスケルトン情報を例えばキャラクタのモーションデータとして利用することで、オブジェクト空間において、操作者に対応するキャラクタ(アバター)を動作させることが可能になる。
【0095】
ところで、近年、ハイビジョン(HDTV)などの普及により、表示部190として、アスペクト比が16:9の表示装置が使用される場合が多い。特に家庭用のハイビジョン対応のテレビは、アスペクト比が16:9で、画面解像度が1920×1080のものが用いられる。ここでアスペクト比は、画面の幅と高さの数値比率であり、本実施形態では、長辺:短辺(横縦比)の比率で表している。
【0096】
一方、画像センサISEについては、操作者の動きを検出できれば十分であり、ハイビジョン画質についての要求は少ない。このため、従来型のテレビ(SDTV)と同じアスペクト比である4:3のアスペクト比の画像センサISEが用いられる場合が多い。このような4:3のアスペクト比の画像センサISEを用いることで、低コスト化等を図れる。
【0097】
ところが、画像センサISEからの画像情報からスケルトン情報などの動き情報を取得し、この動き情報に基づいて、画面上の手オブジェクトやキャラクタ等のオブジェクトを移動又は動作させる場合に、何ら補正処理を行わないと、不自然な画像が生成されてしまう事態が生じることが判明した。
【0098】
例えば図4(A)は、画像センサISEにより操作者を、操作者の正面側から撮像した撮像画像の例であり、アスペクト比が4:3になっている。一方、図4(B)は表示部190に表示される画像の例であり、画面のアスペクト比は16:9になっている。
【0099】
そして図4(A)に示すように操作者が左手を動かすと、操作者のスケルトンの左手の動きに連動して、図4(B)の左手オブジェクトHLも画面上で移動する。同様に、操作者のスケルトンの右手の動きに連動して、図4(B)の右手オブジェクトHRも画面上で移動する。例えば操作者が左手を上下左右に動かすと、左手オブジェクトHLが画面上で上下左右に移動し、操作者が右手を上下左右に動かすと、右手オブジェクトHRが上下左右に移動する。そして、例えば画面上に表示される風船を模したオブジェクトOBJ(接触対象オブジェクト)に、手オブジェクトHR、HLを素速く接触させることで、風船を割るミニゲームを、操作者は楽しむことになる。
【0100】
ところが、図4(A)のように操作者が左手を左上方向に動かした時に、図4(B)の左手オブジェクトHLについても、当該左上方向と全く同じ方向に移動させてしまうと、画像センサISEと表示部190のアスペクト比の違いが原因となって、不自然な画像が生成されてしまうおそれがある。
【0101】
例えば図4(A)において、操作者のスケルトンの左手が、画像センサISEの撮像画像の対角線に沿った方向に移動したとする。この場合には、画像センサISEのアスペクト比が4:3であるため、操作者のスケルトンの左手は、傾きM1=3/4の直線の方向に沿って移動することになる。
【0102】
この時に、図4(B)の左手オブジェクトHLについても、アスペクト比16:9の表示部190の画面上で、傾きM1=3/4の直線の方向に沿って移動してしまうと、操作者にとって不自然な画像になってしまう。
【0103】
即ち、アスペクト比が4:3である画像センサISEの対角線の傾きはM1=3/4であるが、アスペクト比が16:9である表示部190の画面の対角線の傾きはM2=9/16である。従って、左手オブジェクトHLが、傾きM1=3/4の直線の方向に沿って移動すると、その傾きは、表示部190の対角線の傾きM2=9/16よりも大きいため、操作者が不自然さを感じてしまう。即ち、本来ならば、左手オブジェクトHLは、表示部190の対角線の傾きM2=9/16の直線の方向に沿って移動することが望ましいのに、それよりも小さな傾きM1=3/4の直線の方向に沿って移動してしまうことになり、不自然な画像になってしまう。
【0104】
この点、本実施形態では、画像センサISEのアスペクト比(4:3)と表示部190のアスペクト比(16:9)との関係を表すアスペクト比情報に基づいて、動き情報についての補正処理を行っている。即ち、このアスペクト比情報に基づいて、オブジェクトHR、HL等の移動(又は動作)についての補正処理を行っている。
【0105】
従って、図4(A)に示すように操作者のスケルトンの左手が、例えば傾きM1=3/4の直線(撮像センサの対角線)の方向に沿って移動した場合には、図4(B)に示すように左手オブジェクトHLは、例えば傾きM2=9/16の直線(表示部の画面の対角線)の方向に沿って移動するようになる。従って、画像センサISEと表示部190のアスペクト比の違いを吸収した画像の生成が可能になり、生成された画像に操作者が不自然さを感じる事態を抑止できる。
【0106】
なお、アスペクト比情報に基づく補正処理の態様としては、図4(A)、図4(B)に示すものに限らず、種々の変形実施が可能である。例えば画像センサISEのアスペクト比や表示部190のアスペクト比は、図4(A)、図4(B)に示すものとは違ったアスペクト比であってもよい。また、画像センサISEのアスペクト比が複数存在する場合には、このアスペクト比の情報を取得して、補正処理の内容を切り替えるようにしてもよい。例えば画像センサISEのアスペクト比が4:3である場合には、上述したような補正処理を行い、画像センサISEのアスペクト比が16:9である場合には、上述したような補正処理を行わないという切り替え処理を行ってもよい。
【0107】
また画像センサISEにおけるスケルトンの手の移動方向と、表示部190の画面での手オブジェクトHR、HL等の移動方向の関係は、図4(A)、図4(B)の関係には限定されない。例えば図4(A)で撮像画像の対角線方向で手が移動した場合に、図4(B)では、表示部190の画面の対角線の傾きよりも大きい又は小さい傾きの方向で、手オブジェクトHR、HL等を移動させてもよい。
【0108】
例えば図5(A)において、画像センサISEにおける手等の所定部位の水平方向(X軸方向)での移動量をXSとし、垂直方向(Y軸方向)での移動量をYSとする。図5(A)では、XS=YSとなっており、水平方向の移動量と垂直方向の移動量は同じ値になっている。
【0109】
一方、図5(B)において、上述の操作者の所定部位の動き(XS、YSの移動)に応じてオブジェクトが表示部190の画面上で移動する場合に、そのオブジェクトの水平方向での移動量をXDとし、垂直方向での移動量をYDとする。この場合には図5(B)に示すように、表示部190の画面の水平方向でのオブジェクトの移動量XDの方が、垂直方向での移動量YDよりも大きくなるように、補正処理が行われる。このようにすることで、画像センサISEのアスペクト比が4:3であり、表示部190のアスペクト比が16:9であるような場合に、操作者にとってより自然に見える画像を生成できるようになる。従って、画像センサISEと表示部190のアスペクト比の違いを吸収できる画像生成システム等の提供が可能になる。
【0110】
2.2 スケルトンの骨の位置情報の補正処理
以上では、アスペクト比情報に基づく補正処理について説明したが、本実施形態では、スケルトンの骨の位置情報についての補正処理を行っている。
【0111】
例えば操作者の体型・体格は様々であり、身長差や年齢差などの個人差がある。一方、操作者の動きに連動して画面上のオブジェクトを移動、動作させる場合、その移動、動作範囲は、画面全体に亘ることが望ましい。
【0112】
そこで本実施形態では、図3のスケルトン情報で表される骨の位置情報(関節位置情報)についての補正処理を行って、補正処理の結果に応じた画像を生成する手法を採用する。
【0113】
例えば図6(A)は、画像センサISEにより大人の操作者を撮った時の撮像画像(カラー画像等の画像情報)の例であり、この撮像画像から同図に示すような大人の操作者のスケルトン情報が取得されている。
【0114】
図6(A)の操作者のスケルトンの動きに連動して、図6(B)に示すような画像が生成されて、表示部190に表示される。具体的には、図6(A)の操作者のスケルトンの右手の動きに連動して、図6(B)の右手オブジェクトHRが画面上で移動し、スケルトンの左手の動きに連動して、左手オブジェクトHLが画面上で移動する。なおCH1は、大人の操作者のアバターとなるキャラクタである。
【0115】
一方、図7(A)は、画像センサISEにより子供の操作者を撮った時の撮像画像の例であり、この撮像画像から同図に示すように子供の操作者のスケルトン情報が取得されている。
【0116】
図7(A)の操作者のスケルトンの動きに連動して、図7(B)に示すような画像が生成されて、表示部190に表示される。即ち、図7(A)の操作者のスケルトンの右手、左手の動きに連動して、図7(B)の右手、左手オブジェクトHR、HLが画面上で移動する。なおCH2は、子供の操作者のアバターとなるキャラクタである。
【0117】
このように操作者のスケルトン情報を取得して、画面上の手オブジェクトHR、HLを移動させる場合に、スケルトン情報の骨の位置情報をそのまま使用して手オブジェクトHR、HLを移動させてしまうと、操作者が大人である場合と子供である場合とで、手オブジェクトHR、HLの移動範囲に広狭の差が生じてしまう。
【0118】
例えば図6(A)のように操作者が大人である場合には、手オブジェクトHR、HLの移動範囲は広くなる一方で、図7(A)のように操作者が子供である場合には、手オブジェクトHR、HLの移動範囲は狭くなってしまう。そして手オブジェクトHR、HLの移動範囲が狭くなると、手オブジェクトHR、HLを、接触対象のオブジェクトOBJに接触させることが難しくなる。例えばオブジェクトOBJが画面の端部付近に配置されていた場合には、子供の操作者では、このオブジェクトOBJに手オブジェクトHR、HLを接触させることができなくなるおそれがある。従って、体格差、年齢差などの個人差によって、ゲームプレイに有利、不利が生まれてしまい、ゲームバランスが崩れてしまう。
【0119】
この点、本実施形態では、スケルトン情報の骨の位置情報をそのまま使用して手オブジェクトHR、HLを移動(又は動作)させるのではなく、骨の位置情報の補正処理を行って、手オブジェクトHR、HLを移動させている。即ち補正処理の結果に基づいて、オブジェクトの移動等が制御される。従って、図6(A)のように大人の操作者が両手を一杯に広げた場合のみならず、図7(A)のように子供の操作者が両手を一杯に広げた場合においても、図6(B)、図7(B)に示すように手オブジェクトHR、HLは画面端に移動するようになる。即ち大人の操作者(広義には第1の操作者)のスケルトンの状態が手を一杯に広げた状態(広義には第1の状態)である時のオブジェクトHR、HLの表示位置と、子供の操作者(広義には第2の操作者)のスケルトンの状態が手を一杯に広げた状態(第1の状態)である時のオブジェクトHR、HLの表示位置が、同じ位置(ほぼ同じ位置)になるように、補正処理が行われる。
【0120】
このようにすれば、大人の操作者であるか子供の操作者であるかに依らずに、操作者が手を動かすことで、例えば画面のほぼ全体の領域を移動範囲として、手オブジェクトHR、HLを移動させることができる。従って、体格差、年齢差などの個人差によって、ゲームプレイに有利、不利が生まれてしまう事態を防止することができ、ゲームバランスを保つことなどが可能になる。
【0121】
次に図8(A)、図8(B)を用いて本実施形態の補正処理の一例を説明する。本実施形態では、スケルトンの骨の位置情報の補正処理により、補正位置情報を求める。そして補正位置情報に基づいて、オブジェクトの制御を行い、補正位置情報に対応する画面上の表示位置にオブジェクトが表示される画像を生成している。
【0122】
図8(A)は本実施形態の補正処理を行わない場合の説明図である。図8(A)においてCCは例えば手の関節(手の先、手首)である。補正処理を行わない場合には、関節CCの位置PCにより画面上の表示位置PDSを求める。例えば位置CCをスクリーンに投影等することにより、表示位置PDSを求める。そしてこの表示位置PDSにオブジェクトOBが表示される画像を生成する。
【0123】
図8(B)は本実施形態の補正処理を行う場合の説明図である。図8(B)では、関節CCの位置PC(手の骨の位置)の補正処理により、補正位置PC’を求める。例えば図7(A)のように子供の操作者である場合には、基準となる操作者よりも手の長さが短いと考えられるため、位置PCを手に沿った方向で延長した位置を、補正位置PC’として求める。そして、この補正位置PC’により画面上の表示位置PDSを求め、この表示位置PDSにオブジェクトOBが表示(配置)される画像を生成する。このようにすれば、子供の操作者であっても、手を一杯に広げた時に、図7(B)に示すように手オブジェクトHR、HLが画面端に届くようになる。一方、例えば体格の大きな大人の操作者である場合には、基準となる操作者よりも手の長さが長いと考えられるため、位置PCを手に沿った方向で短縮した位置を、補正位置PC’として求めればよい。
【0124】
このように基準となる操作者との比較により補正処理を行う場合には、操作者の体格情報を用いて、この補正処理を行えばよい。ここで体格情報(体型情報、骨格情報)は、操作者の体格の大小等を表す情報であり、例えば操作者の関節間の距離情報や各部位の長さ情報などにより表される情報である。この体格情報は、図3のスケルトン情報などにより求めることができる。
【0125】
即ち、図3のスケルトン情報は、後述するように、操作者のスケルトンを構成する各骨の位置情報である関節位置情報を含む。従って、この場合にはスケルトンの第1の関節と第2の関節の間の距離情報を、体格情報として採用することができ、この体格情報である距離情報を用いて図8(B)等の補正処理を行う。
【0126】
例えば図9(A)のSC1は、体格の大きな第1の操作者のスケルトン情報であり、図9(B)のSC2は、体格の小さな第2の操作者のスケルトン情報である。この場合に、図9(A)のスケルトン情報SC1から、肩の関節C4と手(手先、手首)の関節C7の間の関節間距離LD1を求める。また図9(B)のスケルトン情報SC2から、肩の関節C4と手の関節C7の間の関節間距離LD2を求める。そして、これらの距離LD1、LD2を用いて、図8(B)等の補正処理を行う。
【0127】
例えば画像センサによって取得された操作者のスケルトン情報が、図9(A)のように体格の大きなスケルトン情報SC1であった場合には、関節間距離LD1と基準距離LDRとの比などの情報に基づいて、図8(B)の補正位置PC’を求める補正処理を行う。一方、操作者のスケルトン情報が、図9(B)のように体格の小さなスケルトン情報SC2であった場合には、関節間距離LD2と基準距離LDRとの比などの情報に基づいて、図8(B)の補正位置PC’を求める補正処理を行う。こうすることで、操作者の体格情報の差を吸収する補正処理を実現できる。
【0128】
なお、体格情報として使用する距離情報は、操作者の体格・体型を表す情報であればよく、図9(A)、図9(B)のような関節間距離には限定されず、種々の変形実施が可能である。例えば左手の関節間距離と右手の関節間距離の両方により得られた距離情報を用いて、補正処理を行ってもよい。
【0129】
或いは複数フレームに亘って取得された関節間距離から得られる距離情報を用いて、補正処理を行ってもよい。例えば複数フレーム分の関節間距離の平均化処理を行い、得られた距離情報を用いて補正処理を行う。即ち画像センサの画像情報からスケルトン情報を取得した場合、スケルトン情報から得られる関節間距離にはバラツキが生じ、特定のフレームで得られた関節間距離が特異な距離になってしまうおそれがある。そして、このような特異な関節間距離を用いて補正処理を行うと、図8(B)のオブジェクトOBの表示位置PDSが変動してしまい、オブジェクトOBが操作者の予期しない位置に表示されたり、オブジェクトOBの画像がちらつくなどの問題が生じる可能性がある。
【0130】
この点、複数フレーム分の関節間距離の平均化処理等を行えば、特定のフレームでの関節間距離が特異な距離であっても、その影響が平均化される。従って、オブジェクトOBが操作者の予期しない位置に表示されたり、表示位置PDSが変動してオブジェクトOBの画像がちらつくなどの問題を抑止できる。
【0131】
図10(A)、図10(B)に本実施形態の補正処理の他の例を示す。この補正処理では、操作者OPの位置と画像センサISEとを結ぶ第1の方向DR1と、操作者OPの位置(例えば肩)と所定部位(例えば手)に対応する関節CCの位置とを結ぶ第2の方向DR2とのなす角度θY、θXを求めて、補正処理を行う。
【0132】
例えば図10(A)のθYは、垂直方向(縦方向)の座標軸であるY軸回りの角度(回転角度)であり、θXは、水平方向(Y方向)の座標軸であるX軸回りの角度(回転角度)である。角度θYを用いることで、画面上でのオブジェクトの表示位置のX座標を特定できる。角度θXを用いることで、画面上でのオブジェクトの表示位置のY座標を特定できる。例えば角度θYが90度又は−90度に近づくと、オブジェクトの表示位置は画面の左端又は右端に近づき、θYが0度に近づくと、表示位置は画面中心に近づく。また角度θXが90度又は−90度に近づくと、オブジェクトの表示位置は画面の上端又は下端に近づき、θXが0度に近づくと、表示位置は画面中心に近づく。
【0133】
図10(A)、図10(B)の手法によれば、角度θY、θXを求めて、骨の位置情報の補正処理を行って、オブジェクトの表示位置を求めているため、操作者の体格の違い(手の長さ等の違い)を自動的に吸収した補正処理を実現できる。なお、操作者が手を曲げた場合などに対応するためには、図9(A)、図9(B)の関節間距離LD1、LD2などを用いて角度θY、θXを補正すればよい。例えば操作者が手を曲げて関節間距離LD1、LD2が短くなった場合には、それに連動して角度θY、θXの絶対値を小さくすればよい。
【0134】
2.3 ゲーム演算処理への適用
本実施形態では、補正処理の結果をゲーム演算処理に反映させることもできる。例えば補正処理の結果に応じたゲーム結果演算処理やゲーム進行処理などのゲーム演算処理を行う。
【0135】
例えば図11(A)、図11(B)において、操作者は、画面上に表示された矢印の指示にしたがって両手を広げたり、閉じたりする。すると、操作者のアバターとなるキャラクタCHが、操作者の動きに応じて、その両手を広げたり、閉じたりする。そして、指示通りの動作を指示通りのタイミングで行うことで、操作者に対して得点が加算される。
【0136】
この場合に、画面上の指示にしたがって、単に両手を広げたり、閉じたりするだけでは、得点は加算されず、得点の加算のためには、手の位置の移動量が所定しきい値を超える必要がある。即ち手の位置の移動量が少ない場合には得点は加算されない。
【0137】
ところが、図7(A)のように操作者が体格の小さな子供である場合には、大人と同じように両手を広げたり、閉じたりしても、その時の手の位置の移動量は大人に比べて小さい。従って、大人の操作者ならば移動量がしきい値を超えるような手の動きであっても、子供の操作者ではしきい値を超えない事態が生じてしまう。従って、ゲームに有利、不利が生じてしまい、ゲームバランスが崩れる。
【0138】
そこで本実施形態では、スケルトンの骨の位置の移動量情報(例えば手の位置の移動量)についての補正処理を行って、補正移動量情報を求め、この補正移動量情報に基づいてゲーム結果演算処理を行う。
【0139】
例えば子供の操作者である場合には、そのスケルトンの骨の位置の移動量の補正処理を行って、当該移動量よりも大きな補正移動量を求める。そして、求められた補正移動量に基づいて、図11(A)、図11(B)のゲーム結果の演算処理を行う。一方、体格が大きな大人の操作者である場合には、そのスケルトンの骨の位置の移動量の補正処理を行って、当該移動量よりも小さな補正移動量を求める。そして、求められた補正移動量に基づいて、図11(A)、図11(B)のゲーム結果の演算処理を行う。
【0140】
なお、大人の操作者か子供の操作者であるかは、図9(A)、図9(B)で説明した手法により判別できる。従って、例えば図9(A)の関節間距離LD1と基準距離LDRとの比や、図9(B)の関節間距離LD2と基準距離LDRとの比などの情報に基づいて、補正移動量を求めれば、大人の操作者である場合と子供の操作者である場合とで、同じ動きの時の補正移動量を例えば同じ値にできる。例えば大人の操作者である場合には、LD1とLDRの比に基づいて、スケルトンでの移動量を小さくする補正処理が行われて、補正移動量が求められる。一方、子供の操作者である場合には、LD2とLDRの比に基づいて、スケルトンでの移動量を大きくする補正処理が行われて、補正移動量が求められる。このようにすることで、子供の操作者では、実際の手の位置の移動量が小さくても、補正移動量は大きくなるため、図11(A)、図11(B)のゲーム結果演算処理において、移動量(補正移動量)がしきい値を超えたと判断されて、得点が加算されるようになる。即ち補正処理の結果に応じたゲーム演算処理(ゲーム結果演算処理)が行われるようになる。従って、子供と大人とでゲームの有利、不利が生じる事態が抑止され、ゲームバランスを保つことなどが可能になる。
【0141】
なお補正処理の結果を反映させるゲームとしては種々のゲームを想定できる。例えばボートを漕いで競争するゲームにおいては、子供の操作者は、大人の操作者に比べて、同じような動きの漕ぎ動作であっても、漕ぐ量や漕ぐ速度・加速度が小さくなる。従って、大人に比べてゲームが不利になってしまう。そこで、例えば図9(A)、図9(B)で説明した体格情報(LD1、LD2)などを用いて、漕ぐ量や漕ぐ速度・加速度等の補正処理を行う。即ち、同じような動きの漕ぎ動作であれば、子供であっても大人であっても、漕ぐ量や漕ぐ速度・加速度が同等になるように、補正処理を行う。こうすることで、子供と大人とでゲームの有利、不利が生じる事態が抑止され、ゲームバランスを保つことができる。
【0142】
また本実施形態では、第1、第2のモードを設け、第1のモードでは、補正処理の結果を用いてオブジェクトの制御を行い、第2のモードでは、補正処理の結果を用いずに、スケルトン情報を用いてオブジェクトの制御を行う。
【0143】
例えば図4(A)〜図7(B)や図11(A)、図11(B)は、第1のモードで行われるゲームである。即ちスケルトン情報の骨の位置情報についての補正処理を行い、補正処理の結果(補正位置、補正移動量、補正速度、補正加速度等)に基づいてオブジェクトの制御を行う。即ち図4(A)〜図7(B)では、大人と子供とで、同じ動きならば手オブジェクトHR、HLの位置が同じ位置になるように補正処理を行う。また図11(A)、図11(B)では、大人と子供とで、同じ動きならばキャラクタCHの手の移動量が同じ移動量になるように補正処理を行う。このようにすることで、体格差や年齢差などの個人差を吸収したゲームを実現できる。
【0144】
一方、図12(A)、図12(B)は、第2のモードで行われるゲームである。この第2のモードのゲームでは、スケルトン情報の骨の位置についての補正処理は行われずに、スケルトン情報に基づくオブジェクトの制御が行われる。なお図12(A)は操作者をその後方から見た図である。
【0145】
例えば図12(A)、図12(B)では、操作者は、両手を使って、画面上に表示された時間に対応する時計の針と同じ形のポーズをとる。例えば図12(B)では、「10時20分」の時間が指示されているため、操作者は、時計の短針に対応する右手が「10時」を示す方向になり、時計の長針に対応する左手が「20分」を示す方向になるポーズをとる。そして、時間に対応する時計の針の状態と操作者のポーズが一致すると、操作者に得点が加算される。
【0146】
図12(A)、図12(B)のような第2のモードのゲームでは、手の角度だけが問われ、手の骨の位置については問われない。従って、この第2のモードのゲームでは、図8(A)、図8(B)等(或いは図5(A)、図5(B))で説明した補正処理は行わずに、画像センサにより取得された操作者のスケルトン情報を例えばそのまま用いて、時計の針等のオブジェクトの制御を行う。
【0147】
このような第1、第2のモードを設けることで、ゲームの種類等に応じた適切なオブジェクト制御を効率的に実現できる。
【0148】
また本実施形態では、第1のモードでは、図4(A)〜図5(B)で説明したように、アスペクト比情報に基づく補正処理の結果を用いてオブジェクトの制御を行う。このようにすることで、手オブジェクトなどのオブジェクトの移動方向の正確性が重要になるゲームに対応できるようになる。
【0149】
一方、図11(A)〜図12(B)に示すようなゲームでは、オブジェクトの移動方向の正確性は要求されない。従って、このようなゲームでは第2のモードに設定し、アスペクト比情報に基づく補正処理の結果を用いずに、スケルトン情報だけを用いてオブジェクトを動作させる制御を行う。こうすることで、アスペクト比情報に基づく補正処理を省略できるため、処理を効率化できる。
【0150】
2.4 信頼度情報
次にスケルトン情報の信頼度情報と、信頼度情報に基づく画像生成手法について説明する。
【0151】
前述のように図3に示すスケルトン情報を用いれば、操作者の動作をリアルタイムに特定することができ、従来にない操作インターフェース環境を実現できる。
【0152】
しかしながら、操作者の動きや体型・体格は種々様々である。また操作者が画像センサISEの撮像範囲の外に出てしまう場合もある。従って、完全に100パーセントの信頼度のスケルトン情報を取得することは困難である。このため、操作者のスケルトンの骨(部位)を完全にはトラッキングできない場合には、骨の位置(関節位置)の推測処理を行い、推測処理により得られた骨の位置等に対しては、その推測処理の確からしさの程度を表す信頼度を関連づける。
【0153】
例えば図13(A)にスケルトン情報のデータ構造の例を示す。このスケルトン情報は、各骨(各関節)に対して、その位置情報が関連づけられている。この各骨(各関節)の位置情報は、例えば画像センサISEのカメラ座標系での3次元座標情報である。また、各骨(各関節)は、操作者の各部位に対応づけられている。例えばC0、C1、C2は、各々、腰、胸、首の部位に対応づけられている。この対応づけは、骨の番号(関節番号)などにより実現される。
【0154】
図13(B)に信頼度情報のデータ構造の例を示す。図13(B)に示すように、本実施形態の信頼度情報は、スケルトン情報により表されるスケルトンを構成する各骨(各関節)に対して、信頼度が関連づけられた情報である。この信頼度は、各骨の情報の信頼度を表している。具体的には、図13(A)に示すように、スケルトン情報は、操作者の各部位に対応づけられた各骨の位置情報を含み、図13(B)の信頼度は、操作者の各部位と各骨(各関節)との対応づけや、各骨(各関節)の位置情報に関する信頼度である。なお、「骨」と「関節」は対応しているため、以下では、適宜、「骨」を「関節」として説明したり、「関節」を「骨」として説明する。
【0155】
例えば図14(A)において、関節C1とC7の距離は遠く離れている。PR1、PR7は関節C1、C7の位置についての存在確率の範囲を表すものである。例えば、ある測定タイミングで関節C1、C7が図14(A)に示す位置にあった場合には、次の測定タイミングにおいても、関節C1、C7の位置は、これらの存在確率の範囲PR1、PR7内に位置することが予想される。骨のトラッキングによるスケルトン情報の推定処理の際には、この存在確率の概念を用いる。そして、図14(A)に示すように関節C1、C7の距離が離れている場合には、存在確率の範囲PR1、PR7の間に重なりが無いため、関節C1、C7の情報(部位との対応づけや位置情報)の信頼度は高い。
【0156】
一方、図14(B)では関節C1、C7の距離が近づいており、存在確率の範囲PR1、PR7の間に重なりが生じている。従って、この場合には、次の測定タイミングで、関節C1をC7と判断したり、関節C7をC1と判断してしまう可能性があり、骨のトラッキングの推定処理の際に、誤った判断をする可能性がある。従って、図14(B)の場合には、図14(A)に比べて関節C1、C7の情報(部位への対応づけや位置情報)の信頼度が低くなる。
【0157】
また図15(A)では、画像センサISEと操作者の距離が適正な距離になっている。従って、画像センサISEの撮像により得られる画像情報の信頼度(解像度等)が高くなり、この画像情報から得られるスケルトン情報の信頼度も高くなる。
【0158】
一方、図15(B)では、画像センサISEと操作者の距離が長く、操作者が画像センサISEから所定の距離(許容距離)LM以上離れている。従って、画像センサISEの撮像により得られる画像情報の信頼度が低くなり、この画像情報から得られるスケルトン情報の信頼度も低くなる。
【0159】
以上のように本実施形態で用いられる信頼度情報は、例えば図14(A)、図14(B)に示すように操作者の所定部位(例えば手、足)が他の部位(例えば胸、腰、頭、他方の手・足)に近づくほど信頼度が低くなる情報である。また図15(A)、図15(B)に示すように、操作者が画像センサISEから所定距離LM(例えば4〜5m)以上離れた場合に信頼度が低くなる情報である。但し本実施形態の信頼度情報は、これに限定されない。例えば他の人間が近づくことで、操作者の認識の精度が低下し、操作者のスケルトン情報の信頼度が低くなるような情報であってもよい。
【0160】
本実施形態では、以上のように説明した信頼度情報を用いた画像を生成して、表示部190に表示している。具体的には、信頼度情報に基づいて、表示部190に表示される画像の表示態様を変化させたり、信頼度情報に基づくオブジェクト制御やゲーム演算処理を行い、そのオブジェクト制御やゲーム演算結果により生成された画像を表示部190に表示する。
【0161】
例えば図16(A)、図16(B)は、図2(A)のように表示部190の前方に立って、その体の動きにより操作情報を入力している操作者の様子を示す図である。図16(A)では、操作者は、自身の体(胴体)から手を離した状態で、手を動かすことで操作情報を入力している。一方、図16(B)では、自身の体に手が近い状態で、手を動かすことで操作情報を入力している。
【0162】
図16(A)では、図14(A)に示すように手の関節と胸の関節は遠くなっているため、手の関節の信頼度は高くなり、手の位置情報等は、より確からしい情報になっている。一方、図16(B)では、手の関節と胸の関節は近くなっているため、手の関節の信頼度は低くなり、手の位置情報等は、図16(A)に比べて不確かな情報になっている。即ち図16(B)では、実際には胸の位置情報であるものを、手の位置情報として誤認識している可能性がある。
【0163】
そして、本来は操作者は図16(A)のような状態の手の動きで操作すべきであるのに、図16(B)のような状態の手の動きでの操作を許容すると、操作者の操作をシステム側が誤認識してしまうおそれがある。即ち、システム側が認識した操作と、操作者が意図する操作との間に不一致が生じるおそれがある。
【0164】
そこで本実施形態では、図16(B)のような不適切な操作状態になっていることを操作者に認知させるために、図17(A)、図17(B)に示すように信頼度情報に基づいて画像の表示態様を変化させている。
【0165】
例えば図17(A)において、HR、HLは、操作者の手(広義には所定部位)に対応して表示部190に表示される手オブジェクト(アイコン、カーソル)である。またCHは、操作者に対応するキャラクタ(アバター)のオブジェクトである。
【0166】
そして図16(A)のように操作者が手を動かすと、その手の動きに応じて図17(A)の手オブジェクトHR、HLが移動(又は動作)する。例えば操作者が右手を上下左右に動かすと、右手オブジェクトHRが画面上で上下左右に移動し、操作者が左手を上下左右に動かすと、左手オブジェクトHLが上下左右に移動する。操作者は、このように手オブジェクトHR、HLを動かすことで、プレイしたいミニゲームを選択したり、ゲームのスタートを選択する。
【0167】
そして図17(A)は、図16(A)のように手が体から離れた状態の時に表示される画像の例であり、図17(B)は、図16(B)のように手が体の近くにある状態の時に表示される画像の例である。
【0168】
図16(A)のようにスケルトン情報の信頼度が高いと考えられる状態では、図17(A)に示すように、手オブジェクトHR、HLは、はっきりとした画像になる。一方、図16(B)のように、スケルトン情報の信頼度が低いと考えられる状態では、図17(B)に示すように、手オブジェクトHR、HLは、図17(A)に比べて例えばぼけた画像になったり、透明に近づいた画像になる。或いは手オブジェクトHR、HLの色が薄い色等に変化する。
【0169】
このように本実施形態では、操作者の手の骨の情報の信頼度(所定部位に対応する骨の情報の信頼度)が低くなるにつれて、手(所定部位)に対応する手オブジェクトHR、HL(広義にはオブジェクト)をぼかす処理、透明に近づける処理、或いは色を変化させる処理などを行う。
【0170】
ぼかし処理は、例えば手オブジェクトHR、HLに対してぼかしフィルタ等を適用することなどで実現できる。具体的には、バイリニアフィルタリングによるぼかし処理である線形テクスチャフィルタリングの手法や、何枚ものテクスチャを同時に使用するマルチテクスチャによるぼかし処理であるボックスフィルタサンプリングの手法などを採用できる。透明に近づける処理は、手オブジェクトHR、HLのα値を、透明に近いα値に変化させることで実現できる。色を変化させる処理は、手オブジェクトHR、HLをターゲット色に近づけることで実現できる。
【0171】
なお手オブジェクトHR、HLの表示態様の変化処理は、これらの処理には限定されない。例えばスケルトン情報の信頼度が低くなるにつれて、手オブジェクトHR、HLの明度(輝度)を変化させる処理や、輪郭線の表示態様を変化させる処理や、サイズを変化させる処理や、オブジェクトHR、HLに施されるエフェクトを変化させる処理などを行ってもよい。例えば信頼度が低くなるにつれて、手オブジェクトHR、HLの明度を暗くしたり、輪郭線を薄くしたり、細くしたり、サイズを拡大又は縮小する。或いは、手オブジェクトHR、HLに施されるエフェクトを用いて、上述した処理と同等の映像効果を実現してもよい。或いはスケルトン情報の信頼度に応じて手オブジェクトHR、HLを変形させてもよい。またスケルトン情報の信頼度に基づいて、図17(A)、図17(B)のキャラクタCH(アバター)の画像の表示態様(ぼかし度、透明度、色等)を変化させてもよい。また、スケルトン情報の信頼度が低くなった場合に、信頼度が低くなったことを警告するアイコンオブジェクトを表示してもよい。
【0172】
以上のように、信頼度に応じて手オブジェクトHR、HLの表示態様を変化させれば、手の操作についての信頼度が低下していることを、操作者は容易に把握できるようになる。例えば図16(B)のように手が体に近い状態で操作している場合には、図17(B)のように手オブジェクトHR、HLがぼけた画像になるため、これを見た操作者は、図16(A)のように手を伸ばして操作するようになる。従って、結局、操作者は、図16(A)のようにスケルトン情報の信頼度が高い状態で手を動かして操作を行うようになり、操作者の操作が誤認識されてしまう事態を抑止できる。従って、誤操作等が抑止され、快適な操作インターフェース環境を操作者に提供できる。
【0173】
なお、以上では本実施形態の手法をゲーム装置に適用した場合について主に説明したが、本実施形態の手法はゲーム装置以外の種々の機器に適用できる。
【0174】
例えば図18(A)は、映像機器の1つであるテレビ(表示装置)への本実施形態の手法の適用例である。図18(A)において、操作対象オブジェクトOBD、OBE、OBF、OBG、OBHは、操作者の操作の対象となるオブジェクトであり、例えば映像機器(又はゲーム装置)に対して操作指示を行うためのオブジェクトである。具体的には、映像機器(ゲーム装置)に対してコンテンツ選択、所定の機器動作、及びコンテンツ再生・記録の少なくも1つを操作指示するためのオブジェクトである。例えばOBD、OBE、OBFは、各々、チャンネル選択(広義にはコンテンツ選択)、ボリュームの操作(広義には機器動作の選択)、消音の操作(広義には機器動作の選択)を行うための操作対象オブジェクトである。OBG、OBHは、各々、コンテンツの再生・記録操作(プレイ、停止、早送り、巻き戻し、録画等)、放送種別(地上デジタル放送、衛星放送等)の選択操作を行うための操作対象オブジェクトである。
【0175】
操作者は、チャンネルを切り替えたい場合には、表示部190の方に手を伸ばし、手オブジェクトHRの位置をチャンネル操作用の操作対象オブジェクトOBDの位置に合わせる。そして手を回すなどの操作を行うことで、チャンネルを切り替えて、所望の放送番組を視聴する。
【0176】
また操作者は、ボリュームを変えたい場合には、手を伸ばして、手オブジェクトHRの位置をボリューム操作用の操作対象オブジェクトOBEの位置に合わせる。そして手を左右に動かすなどの操作を行うことで、音のボリュームを変更する。同様に消音を行いたい場合には、手オブジェクトHRの位置を消音操作用の操作対象オブジェクトOBFの位置に合わせて、手の指で押すなどの操作を行うことで、音声を消音する。操作対象オブジェクトOBG、OBHの操作も同様にして実現できる。
【0177】
そして、操作者が手を伸ばしており、右手と左手が交差していないというように、スケルトン情報の信頼度が高い場合には、図18(A)に示すように操作対象オブジェクトOBD〜OBHや手オブジェクトHR、HLは、はっきりとした画像で表示部190に映し出される。
【0178】
また、スケルトン情報の信頼度が高い場合には、操作対象オブジェクトOBD〜OBHの操作が許可され、操作者の手等の動きに応じて操作対象オブジェクトOBD〜OBHが操作されるようになる。即ち、操作者は、手を回したり、手を左右に動かすことで、チャンネル用の操作対象オブジェクトOBDを操作したり、ボリューム用の操作対象オブジェクトOBEを操作できる。
【0179】
一方、操作者の手が体の近くにあったり、右手と左手が交差しているというように、スケルトン情報の信頼度が低い場合には、図18(B)に示すように、操作対象オブジェクトOBD〜OBHや手オブジェクトHR、HLは、ぼかした画像や透明に近い画像(或いは透明な画像)になる。即ち、信頼度情報に基づいて操作対象オブジェクトOBD〜OBHや手オブジェクトHR、HLの表示態様が変化し、信頼度が低い場合には、操作対象オブジェクトOBD〜OBHに対してぼかし処理、透明に近づける処理などが行われるようになる。
【0180】
また、信頼度が低い場合には、操作対象オブジェクトOBD〜OBHに対する操作者の操作が制限又は不許可にされる。即ち、操作者が、手を回したり、手を左右に動かしても、チャンネル用の操作対象オブジェクトOBDやボリューム用の操作対象オブジェクトOBEに対する操作は実行されない。
【0181】
このようにすれば、例えば操作者が手を伸ばすことで、図18(A)に示すように操作対象オブジェクトOBD〜OBHが画面に映し出され、これらの操作対象オブジェクトOBD〜OBHを操作することで、コンテンツ(映像、音)選択の操作や、機器動作の操作や、コンテンツ再生・記録の操作を行うことが可能になる。
【0182】
一方、操作者が手を体の方に近づけて曲げる等の動きをすると、図18(B)に示すように操作対象オブジェクトOBD〜OBHがぼけて薄い画像になったり、透明になって見えないようになる。従って、画面上において操作対象オブジェクトOBD〜OBHが目立たなくなり、操作者は、映像等のコンテンツの視聴を妨げられることなく楽しめるようになる。
【0183】
以上のように本実施形態では、スケルトン情報の信頼度が低くなった場合には、操作対象オブジェクトOBD〜OBHに対する操作者の操作が制限又は不許可にされる。一方、信頼度が高くなった場合には、操作対象オブジェクトOBD〜OBHに対する操作者の操作が許可される。従って、これまでにないタイプの操作インターフェース環境を操作者に提供できる。
【0184】
そして図18(A)、図18(B)に示すような操作インターフェース環境を実現した場合に、操作者が大人であった場合と子供であった場合とで、手オブジェクトHR、HLの移動範囲が異なってしまうと、操作者にとって使いにくいインターフェース環境になってしまうおそれがある。
【0185】
この点、本実施形態では、前述したような補正処理を行っているため、操作者の個人差やアスペクト比の差に依存せずに、手オブジェクトHR、HLの移動範囲を同じ範囲に設定することができ、広い範囲に設定することが可能になる。従って、操作者にとって使いやすいインターフェース環境を提供することができ、操作者の利便性等を向上できる。
【0186】
2.5 詳細な処理例
次に本実施形態の詳細な処理例について図19〜図21のフローチャートを用いて説明する。図19は、アスペクト比情報に基づく補正処理を行って画像を生成する処理の具体例を示すフローチャートである。
【0187】
まず、図2(A)、図2(B)で説明したように画像センサからの画像情報を取得する(ステップS21)。次に、画像情報に基づいて操作者の動き情報を取得する(ステップS22)。具体的には図3で説明したように、画像情報に基づき例えばスケルトン情報を取得する。
【0188】
次に、動き情報に基づきオブジェクトの描画位置を決定する(ステップS23)。この際に、図4(A)〜図5(B)で説明したように、画面の水平方向での移動量の方が垂直方向での移動量よりも大きくなるように、アスペクト比情報に基づく補正処理を行う。そして、手オブジェクト、キャラクタ等のオブジェクトの描画処理を行う(ステップS24)。
【0189】
図20は、スケルトン情報の補正処理を行って画像を生成する処理の具体例を示すフローチャートである。
【0190】
まず、図2(A)、図2(B)で説明したように画像センサからの画像情報を取得する(ステップS1)。次に、図3で説明したように、画像情報に基づきスケルトン情報を取得する(ステップS2)。
【0191】
次に、図6(A)〜図10(B)等で説明したように、体格情報、アスペクト比情報を用いて、スケルトン情報の骨の位置情報についての補正処理を行って、補正位置情報を求める(ステップS3)。そして、求められた補正位置情報により手オブジェクトの描画位置を求め(ステップS4)、手オブジェクト、キャラクタ等の描画処理を行う(ステップS5)。
【0192】
図21は、信頼度情報を用いた画像の表示態様の変化処理の具体例を示すフローチャートである。
【0193】
まず、スケルトン情報の手の骨(関節)の位置等に基づき、手オブジェクトの描画位置を求める(ステップS11)。そして手の骨等についての信頼度を取得する(ステップS12)。
【0194】
次に、取得された信頼度に基づいて、手オブジェクトのぼかし度合、α値、色等を設定する(ステップS13)。そして、このようにぼかし度合、α値、色等が設定された手オブジェクト、キャラクタ等の描画処理を実行する(ステップS14)。このようにすることで、図17(A)、図17(B)に示すような画像の表示態様の変化処理を実現できる。
【0195】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(動き情報、所定部位、オブジェクト等)と共に記載された用語(スケルトン情報、手、手オブジェクト等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、アスペクト比情報に基づく補正処理手法、スケルトン情報の取得手法、スケルトン情報についての補正処理手法、オブジェクトの制御手法、ゲーム演算手法、信頼度情報の取得手法、画像の表示態様の変化手法等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話、映像機器、音響機器、家電機器等の種々の画像生成システムに適用できる。
【符号の説明】
【0196】
ISE 画像センサ、SC 画面(スクリーン)、HL、HR 手オブジェクト、
CH、CH1、CH2 キャラクタ(アバター)、C0〜C19 関節(骨)、
OB、OBJ オブジェクト、DR1、DR2 第1、第2の方向、
θY、θX DR1とDR2のなす角度、
100 処理部、102 画像情報取得部、104 動き情報取得部、
105 スケルトン情報取得部、106 信頼度情報取得部、108 補正処理部、
110 ゲーム演算部、112 オブジェクト空間設定部、114 オブジェクト制御部、
118 仮想カメラ制御部、120 画像生成部、130 音生成部、
160 操作部、170 記憶部、171 画像情報記憶部、
172 カラー画像情報記憶部、173 デプス情報記憶部、
174 スケルトン情報記憶部、175 信頼度情報記憶部、
176 オブジェクトデータ記憶部、177 モーションデータ記憶部、
178 モデルデータ記憶部、179 描画バッファ、180 情報記憶媒体、
190 表示部、192 音出力部、194 補助記憶装置、196 通信部

【特許請求の範囲】
【請求項1】
画像センサからの画像情報を取得する画像情報取得部と、
前記画像センサからの前記画像情報に基づいて、操作者の動き情報を取得する動き情報取得部と、
前記画像センサのアスペクト比と表示部のアスペクト比との関係を表すアスペクト比情報に基づいて、前記動き情報についての補正処理を行う補正処理部と、
前記補正処理の結果に応じた画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
前記操作者の動きに応じて移動又は動作するオブジェクトの制御を行うオブジェクト制御部として、
コンピュータを機能させ、
前記補正処理部は、
前記アスペクト比情報に基づいて、前記オブジェクトの移動又は動作についての補正処理を行うことを特徴とするプログラム。
【請求項3】
請求項2において、
前記補正処理部は、
前記操作者の動きに応じて前記オブジェクトが移動する場合に、前記表示部の画面の水平方向での前記オブジェクトの移動量の方が、前記表示部の画面の垂直方向での移動量よりも大きくなるように、前記補正処理を行うことを特徴とするプログラム。
【請求項4】
請求項2又は3において、
前記オブジェクト制御部は、
第1のモードでは、前記アスペクト比情報に基づく前記補正処理の結果を用いてオブジェクトの制御を行い、
第2のモードでは、前記アスペクト比情報に基づく前記補正処理の結果を用いずに、前記スケルトン情報を用いてオブジェクトの制御を行うことを特徴とするプログラム。
【請求項5】
請求項2乃至4のいずれかにおいて、
前記動き情報取得部は、
前記動き情報として、前記画像センサから見える操作者の動作を特定するスケルトン情報を取得し、
前記補正処理部は、
前記スケルトン情報で表されるスケルトンの骨の位置情報についての補正処理を行うことを特徴とするプログラム。
【請求項6】
請求項5において、
前記補正処理部は、
前記スケルトンの骨の位置情報の補正処理を行って、補正位置情報を求め、
前記オブジェクト制御部は、
前記補正位置情報に基づいて、前記オブジェクトの制御を行い、
前記画像生成部は、
前記補正位置情報に対応する画面上の表示位置に前記オブジェクトが表示される画像を生成することを特徴とするプログラム。
【請求項7】
請求項5又は6において、
前記オブジェクトは、前記操作者の所定部位の動きに応じて移動するオブジェクトであることを特徴とするプログラム。
【請求項8】
請求項7において、
前記所定部位は前記操作者の手であり、前記オブジェクトは、前記操作者の手の動きに応じて移動する手オブジェクトであることを特徴とするプログラム。
【請求項9】
請求項5乃至8のいずれかにおいて、
前記補正処理部は、
第1の操作者のスケルトンの状態が第1の状態である時の前記オブジェクトの表示位置と、第2の操作者のスケルトンの状態が前記第1の状態である時の前記オブジェクトの表示位置とが同じ位置になるように前記補正処理を行うことを特徴とするプログラム。
【請求項10】
請求項5乃至9のいずれかにおいて、
前記補正処理部は、
前記操作者の体格情報を用いて前記補正処理を行うことを特徴とするプログラム。
【請求項11】
請求項10において、
前記補正処理部は、
前記スケルトンの第1の関節と第2の関節の間の距離情報を、前記体格情報として用いて、前記補正処理を行うことを特徴とするプログラム。
【請求項12】
請求項5乃至11のいずれかにおいて、
ゲーム演算処理を行うゲーム演算部として、
コンピュータを機能させ、
前記ゲーム演算部は、
前記補正処理の結果に応じた前記ゲーム演算処理を行うことを特徴とするプログラム。
【請求項13】
請求項12において、
前記ゲーム演算部は、
前記ゲーム演算処理として、前記補正処理の結果に応じたゲーム結果演算処理を行うことを特徴とするプログラム。
【請求項14】
請求項12又は13において、
前記補正処理部は、
前記スケルトンの骨の位置の移動量情報についての補正処理を行って、補正移動量情報を求め、
前記ゲーム演算部は、
前記補正移動量情報に基づいて前記ゲーム結果演算処理を行うことを特徴とするプログラム。
【請求項15】
請求項1乃至14のいずれかにおいて、
前記スケルトン情報の信頼度を表す信頼度情報を取得する信頼度情報取得部として、
コンピュータを機能させ、
前記画像生成部は、
前記表示部に表示される画像として、取得された前記信頼度情報に応じた画像を生成することを特徴とするプログラム。
【請求項16】
請求項15において、
前記画像生成部は、
前記信頼度情報に基づいて、前記表示部に表示される画像の表示態様を変化させることを特徴とするプログラム。
【請求項17】
画像センサからの画像情報を取得する画像情報取得部と、
前記画像センサからの前記画像情報に基づいて、操作者の動き情報を取得する動き情報取得部と、
前記操作者の動きに応じて移動又は動作するオブジェクトの制御を行うオブジェクト制御部と、
前記画像センサのアスペクト比と表示部のアスペクト比との関係を表すアスペクト比情報に基づいて、前記オブジェクトの移動又は動作についての補正処理を行う補正処理部と、
前記補正処理の結果に応じた画像を生成する画像生成部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項18】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至17のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項19】
画像センサからの画像情報を取得する画像情報取得部と、
前記画像センサからの前記画像情報に基づいて、操作者の動き情報を取得する動き情報取得部と、
前記画像センサのアスペクト比と表示部のアスペクト比との関係を表すアスペクト比情報に基づいて、前記動き情報についての補正処理を行う補正処理部と、
前記表示部に表示される画像を生成する画像生成部と、
を含むことを特徴とする画像生成システム。
【請求項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

【図20】
image rotate

【図21】
image rotate

【図2】
image rotate


【公開番号】特開2011−258160(P2011−258160A)
【公開日】平成23年12月22日(2011.12.22)
【国際特許分類】
【出願番号】特願2010−134584(P2010−134584)
【出願日】平成22年6月11日(2010.6.11)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】