(57)【要約】  例えば、コンピューター・ゲーム・システムにおける、手動およびカメラ・ベースのゲーム制御について記載する。一実施形態では、画像キャプチャー・システムが、実世界物体を掴んでいるプレーヤーの腕の動き(motion)を追跡し、同時にプレーヤーが手動コントローラーを用いてゲーム・システムに入力も行う。一例では、追跡するプレーヤーの腕の動きを用いて、ゲーム表示における仮想ダーツの標的を制御し、プレーヤーは、ダーツを投げるためにコントローラーにおいて手動入力を行う。種々の実施形態において、プレーヤーの一部の位置を検出し、マッピング関数を用いて、画面空間にマッピングする。マッピング関数は可変であってもよい。例えば、場面空間においてプレーヤーの手がマッピングされる位置は、アバターの腕を延ばすことによって、アバターの手の位置を制御するために用いられる。例では、アバターのカメラ・ベース制御の前に、条件が満たされる。【選択図】図１
2014523259.tif 000002
【特許請求の範囲】
【請求項１】
コンピューター・ゲーム・システムの制御方法であって、
ゲームの少なくとも１人のプレーヤーを描く画像のストリームを画像キャプチャー・デバイスから受け取るステップと、
前記画像のストリームを分析することによって、前記プレーヤーの一部の位置を判定するステップと、
前記プレーヤーが操作する手動操作コントローラーからプレーヤー手動入力を受け取るステップと、
前記少なくとも１人のプレーヤーが見る表示においてコンピューター・ゲームを表示するステップであって、前記表示が少なくとも１つのアバターと環境とを含む、ステップと、
複数のプレーヤー条件が満たされていることをチェックするステップと、
一旦前記プレーヤー条件が満たされたなら、前記判定したプレーヤーの一部の位置と前記コントローラーからの手動入力との双方に基づいて、前記アバターの表示を制御するステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記プレーヤーの一部の位置が、前記プレーヤーの身体部分の位置、または前記プレーヤーが保持する実世界物体の位置である、方法。
【請求項３】
請求項１記載の方法であって、マッピング関数を用いて、前記判定したプレーヤーの一部の位置を、場面空間におけるマッピング位置にマッピングするステップと、前記アバターの表示を場面空間における前記マッピング位置に関して制御するステップとを備えている、方法。
【請求項４】
請求項２記載の方法であって、前記アバターの一部を場面空間における前記マッピング位置に向けて伸ばすことによって、前記アバターの表示を制御するステップを備えている、方法。
【請求項５】
請求項２記載の方法であって、前記アバターを場面空間における前記マッピング位置に向けて動かすことによって、前記アバターの表示を制御するステップを備えている、方法。
【請求項６】
請求項１項記載の方法であって、前記プレーヤーの一部の位置を追跡し、前記追跡した一部の位置に基づいて前記アバターの表示を制御するステップを備えている、方法。
【請求項７】
請求項１項記載の方法であって、前記プレーヤーの一部の位置を追跡するステップと、マッピング関数を用いて前記追跡したプレーヤーの一部の位置を場面空間における複数のマッピング位置にマッピングし、場面空間における前記マッピング位置に関して前記アバターの表示を制御するステップとを備えている、方法。
【請求項８】
請求項１記載の方法において、複数のプレーヤー条件が満たされていることをチェックするステップが、前記プレーヤーが一方の手を前記手動操作コントローラー上に置いていることをチェックするステップを含む、方法。
【請求項９】
請求項８記載の方法において、前記複数の条件が、前記プレーヤーが一方の手を前記コントローラーから閾値距離よりも離していることをチェックすることを含む、方法。
【請求項１０】
コンピューター・ゲーム・システムであって、
ゲームの少なくとも１人のプレーヤーを描く画像のストリームを受け取るように構成されている画像キャプチャー・デバイスと、
前記画像のストリームを分析することによって、前記プレーヤーの一部の位置を判定するように構成されているプロセッサーと、
手動操作コントローラーからプレーヤー手動入力を受け取るように構成されている入力と、
前記プロセッサーが、複数のプレーヤー条件が満たされていることをチェックするように構成されており、
前記少なくとも１人のプレーヤーが見る表示においてコンピューター・ゲームを表示するように構成されている出力であって、前記表示が少なくとも１つのアバターと環境とを備えている、出力と、
を備えており、
前記プロセッサーが、一旦前記プレーヤー条件を満たしたなら、前記判定したプレーヤーの一部の位置および前記コントローラーからの前記手動入力の双方に基づいて、前記アバターの表示を制御するように構成されている、コンピューター・ゲーム・システム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  既存のビデオおよびコンピューター・ゲームの制御システムは、ハンド・ヘルド・コントローラー(hand held controller)を用い、このコントローラーは、プレーヤーがゲーム・ディスプレイに表示されるアバターまたはその他の物体を制御することを可能にするために、ボタンおよびジョイスティックを内蔵する。これらの形式のハンド・ヘルド・コントローラーの設計は、きめの細かい堅実なゲーム・プレー制御、使いやすさ、および直感的な操作(manner)を可能にすることを目指している。
【０００２】
[0002]  更に最近になって、一部のコンピューター・ゲームの制御システムは音声認識技術およびジェスチャー認識を用いて、プレーヤーがゲーム・インターフェースを制御することを可能にしている。この状況では、ゲームをする者はハンド・ヘルド・コントローラーを持たずに、単純明快に、ハンド・ヘルド・コントローラーのような物理的なユーザー入力デバイスによる制約を受けずに、ゲームと対話処理することができる。
【０００３】
[0003]  以下に記載する実施形態は、既知のゲーム制御システムの欠点のいずれかを解決する実施態様にも、欠点の全てを解決する実施態様にも限定されない。
【発明の概要】
【０００４】
[0004]  以下に紹介するのは、読者に基本的な理解が得られるようにするために、本開示を簡略化した摘要である。この摘要は、本開示の広範な全体像ではなく、主要な／必須の要素を特定するのでも、本明細書の範囲を明確に定めるのでもない。その唯一の目的は、本明細書に開示する概念から選択したものを、簡略化した形態で、以降で紹介する更に詳細な説明に対する序説として紹介することである。
【０００５】
[0005]  コンピューター・ゲーム・システムにおける手動およびカメラ・ベースのアバター制御について記載する。一実施形態では、画像キャプチャー・システムが、実世界物体を掴んでいるプレーヤーの腕の動き(motion)を追跡し、プレーヤーは同時に手動コントローラーを用いてゲーム・システムに入力も行う。一例では、追跡するプレーヤーの腕の動きを用いて、ゲーム表示における仮想ダーツの標的を制御し、プレーヤーは、ダーツを投げる(fire)ためにコントローラーにおいて手動入力を行う。種々の実施形態において、プレーヤーの一部の位置を検出し、マッピング関数を用いて、画面空間にマッピングする。マッピング関数は可変であってもよい。例えば、場面空間においてプレーヤーの手がマッピングされる位置は、アバターの腕を延ばすことによって、アバターの手の位置を制御するために用いられる。種々の例では、アバターのカメラ・ベース制御の前に、プレーヤーの条件が満たされる。
【０００６】
[0006]  付帯する特徴の多くは、以下の詳細な説明を参照し添付図面と関連付けて検討することによって理解が進むに連れて、一層容易に認められるであろう。
【０００７】
[0007]  本記載は、以下の詳細な説明を添付図面を参照しながら読解することによって一層深く理解されるであろう。添付図面において同様の部分を示すために、同様の参照番号を用いる。
【図面の簡単な説明】
【０００８】
【図１】図１は、プレーヤーがゲーム・コントローラーを手に持ち、深度カメラを有するゲーム装置の前に座っている姿の模式図である。
【図２】図２は、画像キャプチャー・デバイス、ハンド・ヘルド・コントローラー、計算デバイス、およびディスプレイを内蔵したゲーム・システムの模式図である。
【図３】図３は、ハンド・ヘルド・コントローラーの平面図である。
【図４】図４は、図３のハンド・ヘルド・コントローラーの斜視図である。
【図５】図５は、ゲーム・プレー中におけるディスプレイの模式図である。
【図６】図６は、ゲーム・システムの動作方法の流れ図である。
【図７】図７は、ゲーム・システムの他の動作方法の流れ図である。
【図８】図８は、図７の方法と合わせて用いるゲーム・システムの動作方法の流れ図である。
【図９】図９は、ゲーム・システムの実施形態を実現することができる、計算ベース・デバイス(computing-based device)の一例を示す。
【発明を実施するための形態】
【０００９】
[0008]  添付図面と関連付けて以下に示す詳細な説明は、本例を説明することを意図しており、本例を構成または利用することができる唯一の形態を表すことを意図しているのではない。この説明は、本例の機能、および本例を構成し動作させるステップのシーケンスを明記する。しかしながら、同じまたは同等の機能およびシーケンスを異なる例によって遂行することもできる。
【００１０】
[0009]  本明細書では、二次元サイド・スクローリング・プラットフォーマー・ゲーム(two dimensional side-scrolling platformer game)のためのゲーム・システムにおいて実現されるものとして本例を説明し図示するが、記載するシステムは、一例として提示されるのであって、限定としてではない。当業者には認められようが、本例は、種々の異なるタイプのゲーム・システムにおける応用に適している。
【００１１】
[0010]  最初に図１を参照すると、コンピューター・ゲームを制御する制御システム例１００が示されている。この例では、制御システムは、ハンド・ヘルド・コントローラーおよびカメラ・ベース制御システムの双方を備えている。両方のタイプの制御を統合することによって、ゲーム・プレーヤーは両タイプの制御システムの利点を体験する。本明細書において説明するように、きめの細かいゲーム・システムの制御を使いやすく堅実に可能にしてユーザー体験を向上させるために、統合を行う。図１は、この図示例では、二次元サイド・スクローリング・プラットフォーマー・ゲームをプレーしているユーザー１０２を示す。このタイプのゲームは、二次元の図面において明確に描くことができる。しかしながら、本明細書において説明する方法は、三次元ゲーム、拡張現実アプリケーション、および他のタイプのゲームにも応用可能である。例の中には、カメラ・ベース制御システム１００が、とりわけ、身体の姿勢を判断する、人間の標的を結び付ける(bind)、認識する、分析する、追跡する、人間の標的に関連付ける、フィードバックを提供する、および／またはユーザー１０２のような人間の標的（本明細書ではプレーヤーとも呼ぶ）の態様に適応するために、用いることができる場合もある。この例では、明確にするために、1人のプレーヤーを示す。しかしながら、２人以上のプレーヤーが同時に本制御システムを用いてもよい。
【００１２】
[0011]  カメラ・ベース制御システム１００は、計算デバイス１０４を備えている。計算デバイス１０４は、汎用コンピューター、ゲーミング・システムまたはコンソール、あるいは専用画像処理デバイスとすることができる。計算デバイス１０４は、ゲーミング・アプリケーションおよび／またはゲーミング以外のアプリケーションというようなアプリケーションを実行するために計算デバイス１０４を用いることができるように、ハードウェア・コンポーネントおよび／またはソフトウェア・コンポーネントを含むことができる。計算デバイス１０４の構造については、図９を参照しながら後で論ずることにする。
【００１３】
[0012]  更に、カメラ・ベース制御システム１００は、キャプチャー・デバイス１０６も備えている。キャプチャー・デバイス１０６は、例えば、１人以上のユーザー（ユーザー１０２のような）を視覚的に監視するために用いることができる画像センサーまたは検出器とすることができ、以下で更に詳しく説明するように、これら１人以上のユーザーによって行われるジェスチャーを取り込み、分析し、処理し、そして追跡して、ゲームまたはアプリケーション内において１つ以上の制御または処置(action)を実行することができるようにする。
【００１４】
[0013]  更に、カメラ・ベース制御システム１００は、計算デバイス１０４に接続されているディスプレイ・デバイス１０８も備えることができる。計算デバイスは、ゲームまたはアプリケーションの映像（および任意に音響）をユーザー１０２に供給することができるテレビジョン、モニター、高品位テレビジョン（ＨＤＴＶ）等とすることができる。
【００１５】
[0014]  動作において、キャプチャー・デバイス１０６を用いてユーザー１０２を追跡し、ユーザー１０２の位置、移動、および体格を計算デバイス１０４（および／またはキャプチャー・デバイス１０６）によって、計算デバイス１０４が実行しているアプリケーションに作用するために用いることができる制御として解釈することができる。その結果、ユーザー１０２は彼または彼女の身体（あるいは彼または彼女の身体の一部）を動かして、実行中のゲームまたはアプリケーションを制御することができる。
【００１６】
[0015]  図１の図示例では、計算デバイス１０４上で実行しているアプリケーションは、ユーザー１０２がプレーしている二次元サイド・スクローリング・プラットフォーマ・ゲームである。この例では、計算デバイス１０４はディスプレイ・デバイス１０８を制御して、風景、樹木、および太陽を含む地勢(terrain)の視覚的表現をユーザー１０２に供給する。また、計算デバイス１０４は、ディスプレイ・デバイス１０８を制御して、ユーザーのアバターの視覚的表現も供給する。ユーザーのアバターは、ユーザー１０２が彼または彼女の移動(movement)によって、および／またはハンド・ヘルド・コントローラー１１０を使用することによって制御することができる。アバターとは、キャラクタおよび／またはツール、兵器、あるいは制御しつつアバターが描かれるその他の物体の視覚表現とすることができる。例えば、計算デバイス１０４は、身体姿勢推定器を備えることができる。身体姿勢推定器は、ユーザーの異なる身体部分を認識および追跡し、これらをアバターにマッピングするように構成されている。このように、アバターはユーザー１０２の移動をコピーして、ユーザーが、例えば、物理的空間内を歩行した場合、ユーザーのアバターにゲーム空間内で歩行させるようになっている。
【００１７】
[0016]  しかしながら、ゲーム空間においてユーザーの移動をコピーするだけでは、ユーザーとゲームとの間における対話処理の種類および複雑さが限られてしまう。例えば、多くのゲーム内制御は、一時的な動作(action)またはコマンドであり、従前からのゲーミング・システムではボタンの押下を用いて誘起することができる。これらの例には、殴る、撃つ、兵器を交換する、投げる、蹴る、飛ぶ、および／または屈むというような行為が含まれる。このような行為またはコマンドは、ユーザーがこれらの行為の内１つを行っていることを認識し、対応するゲーム内動作を誘起することによって制御することができるのであって、単にユーザーの動きをコピーするのではない。加えて、ハンド・ヘルド・コントローラーにおけるユーザー入力と、カメラ・ベース制御システムを介した入力との組み合わせも、ゲーム装置を制御するために用いることができる。
【００１８】
[0017]  これより図２を参照すると、図１のカメラ・ベース制御システム１００において用いることができるキャプチャー・デバイス１０６の模式図が示されている。図２の例では、キャプチャー・デバイス１０６は、深度情報を有するビデオ画像を取り込むように構成されている。このようなキャプチャー・デバイスは、深度カメラと呼ぶことができる。深度情報は、深度値を含む深度画像の形態とすることができる。即ち、深度値とは、深度画像の各画像エレメントに関連付けられ、深度カメラと当該画像エレメントに位置する物品または物体との間の距離に関係する値である。尚、「画像エレメント」という用語は、画素、１群の画素、ボクセル、１群のボクセル、またはその他の更に上位の画像成分を指すために用いるものとする。
【００１９】
[0018]  深度情報は、適した技法であればいずれを用いても得ることができる。例えば、適した技法には、飛行時間、構造化光、ステレオ画像等が含まれる。例の中には、キャプチャー・デバイス１０６が深度情報を「Ｚレイヤー」、即ち、深度カメラからその見通し線に沿って延びるＺ軸に対して垂直となるはずのレイヤーに編成できるものもある。
【００２０】
[0019]  図２に示すように、キャプチャー・デバイス１０６は少なくとも１つの撮像センサー２００を含む。図２に示す例では、撮像センサー２００は、場面の深度画像を取り込むように配置されている深度カメラ２０２を備えている。取り込まれた深度画像は、取り込まれた場面の二次元（２−Ｄ）エリアを含むことができ、この２−Ｄエリアにおける各画像エレメントは、深度カメラ２０２から、取り込まれた場面における物体の長さまたは距離というような、深度値を表す。
【００２１】
[0020]  また、キャプチャー・デバイスは、エミッター２０４も含むことができる。エミッター２０４は、深度情報を深度カメラ２０２によって確認できるようなやり方で場面に照明を当てるように配置されている。例えば、深度カメラ２０２が赤外線（ＩＲ）飛行時間カメラである場合、エミッター２０４はＩＲ光を場面に放出し、深度カメラ２０２は、この場面における１つ以上の標的および物体の表面からの後方散乱光を検出するように配置される。例の中には、出射光パルスと対応する入射光パルスとの間の時間を深度カメラによって検出し、キャプチャー・デバイス１０６から場面における標的または物体上の位置までの物理的距離を判定するために用いることができるように、パルス状赤外線光をエミッター２０４から放出できる場合もある。加えて、例の中には、エミッター２０４からの出射光波の位相を、深度カメラ２０２における入射光波の位相と比較して、位相のずれを判定することができる場合もある。次いで、キャプチャー・デバイス１０６から標的または物体上の位置までの物理距離を判定するために、この位相ずれを用いることができる。他の例では、飛行時間分析を用いると、例えば、散乱光パルス撮像を含む種々の技法によって、経時的な反射光ビームの強度を分析することによって、キャプチャー・デバイス１０６から標的または物体上の位置までの物理距離を間接的に判定することができる。
【００２２】
[0021]  他の例では、キャプチャー・デバイス１０６は、構造化光を用いて深度情報を取り込むことができる。このような技法では、エミッター２０４を用いて、パターン化光（例えば、点、格子、または縞模様というような既知のパターンとして表示される光。これも時間と共に可変であってもよい）を場面に投射することができる。場面における１つ以上の標的または物体の表面に衝突すると、パターンは変形する。このようなパターンの変形を深度カメラ２０２によって取り込み、次いで分析して、キャプチャー・デバイス１０６から場面における標的または物体上の位置までの物理的距離を判定することができる。
【００２３】
[0022]  他の例では、深度カメラ２０２が２つ以上の物理的に分離されたカメラという形態をなすことができ、視覚的ステレオ・データーが得られるように、これらのカメラが１つの場面を異なる角度から捉えて、この視覚的ステレオ・データーを解明して深度情報を生成することができる。この場合、エミッター２０４は、場面に照明を当てるために用いることができ、あるいは省略することができる。
【００２４】
[0023]  例の中には、深度カメラ２０２に加えてまたはこれの代わりに、キャプチャー・デバイス１０６がビデオ・カメラを備えることができる場合もある。このビデオ・カメラをＲＧＢカメラ２０６と呼ぶ。ＲＢＧカメラ２０６は、可視光周波数において場面の画像のシーケンスを取り込むように配置され、したがって、深度画像を増強する(augment)ために用いることができる画像を供給することができる。例の中には、ＲＧＢカメラ２０６を深度カメラ２０２の代わりに用いることができる場合もある。また、キャプチャー・デバイス１０６は任意にマイクロフォン２０７またはマイクロフォン・アレイ（指向性および／または方向転換可能(steerable)とすることができる）も備えることができ、ユーザーからの音声入力のような音響情報を取り込むように配置され、音声認識のために用いることができる。
【００２５】
[0024]  図２に示すキャプチャー・デバイス１０６は、更に、少なくとも１つのプロセッサー２０８を備えている。プロセッサー２０８は、撮像センサー２００（即ち、図２の例では、深度カメラ２０２およびＲＧＢカメラ２０６）、エミッター２０４、およびマイクロフォン２０７と通信可能である。プロセッサー２０８は、汎用マイクロプロセッサー、または特殊信号／画像プロセッサーとすることができる。プロセッサー２０８は、深度画像、ＲＧＢ画像、および／または音声信号を取り込むために撮像センサー２００、エミッター２０４、およびマイクロフォン２０７を制御する命令を実行するように構成されている。また、以下で更に詳しく全体的に説明するが、プロセッサー２０８は、任意に、これらの画像および信号に対する処理を実行するように構成することもできる。
【００２６】
[0025]  更に、図２に示すキャプチャー・デバイス１０６は、メモリー２１０も含む。メモリー２１０は、プロセッサー２０８によって実行する命令、深度カメラ２０２またはＲＧＢカメラ２０６によって取り込まれた画像または画像のフレーム、あるいは他のあらゆる適した情報、画像等を格納するように構成されている。例の中には、メモリー２１０がランダム・アクセス・メモリー（ＲＡＭ）、リード・オンリー・メモリー（ＲＯＭ）、キャッシュ、フラッシュ・メモリー、ハード・ディスク、またはいずれかの他の適した記憶コンポーネントを含むことができる場合もある。メモリー２１０は、プロセッサー２０８と通信する別個のコンポーネントであること、またはプロセッサー２０８に統合することもできる。
【００２７】
[0026]  また、キャプチャー・デバイス１０６は、出力インターフェース２１２も備えている。出力インターフェース２１２は、プロセッサー２０８と通信可能であり、通信リンクを通じてデーターを計算デバイス１０４に供給するように構成されている。通信リンクは、例えば、有線接続（ＵＳＢ、Firewire、イーサネット（登録商標）または同様物のような 有線接続）、および／またはワイヤレス接続（WiFi、Bluetooth（登録商標）または同様物のようなワイヤレス接続）とすることができる。他の例では、出力インターフェース２１２は、１つ以上の通信ネットワーク（インターネット）とインターフェースし、これらのネットワークを通じてデーターを計算デバイス１０４に供給することができる。
【００２８】
[0027]  キャプチャー・デバイスの一部として、コントローラー１１０も設けられている。このコントローラーは、図１に模式的に示したようなハンド・ヘルド・コントローラーであってもよく、または手持ちではないもっと大きな他のデバイスと一体になっていてもよい。コントローラーは、ボタン、ジョイスティック、タッチ・パッド、スイッチというような、複数のユーザー入力デバイスを備えており、プレーヤーがゲーム・システムに入力することを可能にする。ユーザー入力データーは、コントローラーから計算デバイス１０４に、有線接続および／またはワイヤレス接続を通じて送られる。
【００２９】
[0028]  計算デバイス１０４は、任意の身体姿勢推定器２１４およびジェスチャー認識エンジン２１６というような、カメラ・ベース・ジェスチャー認識に関係する多数の機能を実行する。身体姿勢推定器２１４は、コンピューター映像技法を用いてユーザーの異なる身体部分を検出し追跡するように構成されている。身体姿勢推定器の一例が、２００９年５月２０日に出願された米国特許公開US-2010-0278384-A1,"Human body pose estimation"（人の身体姿勢推定）に記載されている。身体姿勢推定器２１４は、出力を、ユーザーの身体姿勢に関する時系列データーの形態で、ジェスチャー認識エンジンに供給することができる。これは、ユーザーをもれなく追跡したスケルトン・モデルの形態、またはユーザーの身体の内見ることができる部分のもっと粗い識別(identification)の形態とすることができる。例えば、これらの時系列シーケンスは、ユーザーの少なくとも２つの身体部分間における時間可変角度に関するデーター、ユーザーの少なくとも２つの身体部分間における角度の変化率、ユーザーの少なくとも１つの身体部分についての動き(motion)の速度、またはその組み合わせを含むことができる。異なるタイプのデーター（ある身体部分間の角度、速度等）は、「特徴」として知られる。他の例では、身体姿勢推定器２１４は、時間の経過と共に変化するユーザーの姿勢から他のデーター・シーケンス（即ち、他の特徴）を導き出すことができる。更に他の例では、ジェスチャー認識エンジン２１６は、身体姿勢推定器以外の異なるソースから導き出された入力（即ち、特徴）を利用することができる。また、アプリケーション・ソフトウェア２１８を計算デバイス１０４上で実行し、ジェスチャーを用いて制御することもできる。アプリケーション・ソフトウェアは、ディスプレイ２２０におけるゲームの表示を制御するように構成されている。
【００３０】
[0029]  図３は、ハンド・ヘルド・コントローラーの一例１１０の平面図である。これは、全体的に翼の形状をなし、３１６である各翼または肩１２２が、１つの手の中に握り締められる大きさおよび形状になっている。このコントローラーは、これより詳細に説明する複数のボタン、スイッチ、およびジョイスティックを支持する筐体を備えている。しかしながら、これは一例に過ぎず、他のタイプのコントローラー１１０を用いてもよい。
【００３１】
[0030]  ４つのディジタル・アクション・ボタン３０２が、コントローラーの右面上に設けられており、緑色のＡボタン、赤いＢボタン、青いＸボタン、およびアンバーのＹボタンから成る。２つのアナログ・ジョイスティック３１０および３１２が設けられている。これらのジョイスティックも、各ジョイスティックの直下にあるディジタル・ボタンを作動させるために、押下またはクリックすることができる。ディジタル開始ボタン３０６、戻るボタン３０８、およびガイド・ボタン３０４が、筐体の中央に位置付けられている。例えば、ガイド・ボタンは、コントローラーをオンに切り替えてメニューにアクセスするために用いられる。
【００３２】
[0031]  図４は、前述のコントローラーの斜視図であり、左バンパー４０６および右バンパー４０４を示す。これらの各々は、ユーザーが押下することができるボタンになっている。左トリガー４００および右トリガー４０２は、双方共アナログであり、コントローラーの下側に設けられている（図４において見ることができる）。計算デバイス１０４への有線接続を可能にするために、接続部４０８を設けるとよい。
【００３３】
[0032]  図５は、例えば、図１の表示画面１０８におけるゲームプレーの間の表示の模式図である。風景および太陽５００を含む環境の中に、アバターが示されている。この環境は、複数の活動物体(active object)を含み、これらがゲームの進展を左右することもある。この例では、活動物体は、攻撃の雲に取り囲まれた敵５０６、およびドアの取っ手５０２を含む。非活動物体５０４は通過できない壁であり、ドアの取っ手５０２は、プレーヤーがアバターを壁の上まで引き上げ、右に移動し続ける手段を設ける。また、他の非活動物体５１０もディスプレイの角に表示されており、ゲーム・システムによって現在捉えられている画像ストリームの表現を含み、ゲームのプレーヤーを描いている。複数のプレーヤーが一緒にゲーム・システムを用いている場合、画像ストリームは、あらゆる遮蔽や画像キャプチャ・システムの視野に応じて、画像ストリームにおいて見ることができる全てのプレーヤーを描く。非活動物体５１０を用いることは必須ではない。図５に示す例では、アバターの腕５０８の１本を、ドアの取っ手５０２に向けて延ばしている。これは、画像ストリームにおけるプレーヤーの手の位置を検出し（画面空間に対する）、検出したプレーヤーの手の位置に基づいて、アバターの腕を伸ばすことによって行われる。尚、図５の場面は一例に過ぎないことを注記しておく。プレーヤーの身体部分の位置、および／またはプレーヤーのジェスチャーを用いて、違う方法でアバターを制御することもできる。
【００３４】
[0033]  図６は、ゲーム・システムの動作方法の流れ図である。ゲーム・システムは、環境において少なくとも１つのアバターを含むゲームを表示する（６００）。ゲームの少なくとも１人のプレーヤーの画像ストリームを受け取り（６０２）、例えば、図２の身体姿勢推定器を用いて、画像ストリームにおいて身体部分の位置および／または関節の位置を検出する（６０６）。任意に、ジェスチャー認識も実行する。また、コントローラーから手動入力も受け取る（６０４）。コントローラーは、図３および図４のような、ハンド・ヘルド・コントローラーとしてもよい。手動入力は、身体部分位置およびジェスチャー認識と実質的に同時に受け取ることができる。ゲーム・システムは、カメラ・ベース入力およびコントローラーからの手動入力の双方に少なくとも部分的に基づいて、アバターを制御する。ゲームを表示し（６１０）、あらゆる手動入力に加えて、カメラ・ベース入力を受け取り続ける。ゲーム・プレーが遅れることなくプレーヤーが没頭するゲーム体験が得られるようにするために、身体部分位置検出および任意のジェスチャー認識をリアル・タイムで実行する。
【００３５】
[0034]  図７は、アバターを制御するためにカメラ・ベース入力を用いる前に、手動入力およびプレーヤー身体部分位置について特定のプレーヤー条件が満たされる、ゲーム・システムの動作方法の流れ図である。このように、ゲーム・システムの混成制御が、リアル・タイムで、カメラ・ベース制御と手動制御との間における衝突を回避するように行われて、きめの細か制御が行われ直感的に使用できる。この例では、カメラ・ベース制御を用いて、アバターの腕を伸ばす。しかしながら、これは一例に過ぎない。ゲームにおけるアバターまたは他の物体を他のやり方で制御するためにも、本方法を用いることができるはずである。
【００３６】
[0035]  ゲーム・システムは、環境においてアバターを表示し（７００）、図２を参照して先に説明したような画像キャプチャー・システムを用いて、継続中のプレーヤーの画像ストリームを受け取る。図３および図４のハンド・ヘルド・コントローラーまたは他のいずれかの手動コントローラーのような、コントローラーから手動入力を受け取る（７０４）。コントローラーの１つのバンパーのみが押下されたか否かについてチェックを行う（７０６）。例えば、これは、図４の左バンパー４０６または右バンパー４０４であってもよい。バンパーを用いることは必須ではない。ボタン、スイッチ、タッチ・パッド、またはその他の手で操作するユーザー入力デバイスであればいずれでも、用いることができる。これは、ユーザーの手による使用に合わせて設計された１対の内の１つである。１つのバンパーのみが押下された場合、ゲーム・システムは、プレーヤーのどちらの手が空いていそうであるかについての情報が得られる。ゲーム・システムは画像ストリームをチェックして、空いていそうな手を見つけ、この空いている手の位置が、コントローラーから閾値距離よりも遠くにあるか否か計算する（７０８）。そうである場合、ゲーム・システムは、コントローラーに対するプレーヤーの空いている手の位置を追跡する（７１０）。
【００３７】
[0036]  ゲーム・システムは、マッピング関数を用いて、判定したプレーヤーの空いている手の位置を、アバター周囲の画面空間にマッピングする（７１２）。マッピング関数は、ゲーム・システムに格納することができ、マッピング関数のパラメーターは、ゲーム状態にしたがって様々に変化させることができる（７１４）。例えば、マッピング関数は、画面空間においてマッピングした位置が、アバターの指定領域以内にあること、そしてマッピングした位置が、判定したプレーヤーの空いている手の位置に関係があることを、例えば、比例関係、非線形関係を用いて、またはその他の方法で確認することができる。次いで、アバターの手が画面空間においてマッピングした位置に来るように、アバターの腕を伸ばす（７１６）。
【００３８】
[0037]  図７の例によって示すように、手動入力の条件およびカメラ・ベース入力の条件が双方共満たされることを確認することによって、これら２つの制御方法のいずれを用いても、アバターの制御間における衝突が軽減される。７０６のような手動入力条件を用いることは必須ではない。例えば、プレーヤーの画像ストリームを用いて、プレーヤーの１つの手のみがコントローラー上にあるか否かチェックしてもよい。
【００３９】
[0038]  図８を参照すると、アバターの手（画面空間においてマッピングした位置に伸ばした後）が特定の物体（図５のドアの取っ手のような）の上にあるか否かチェックを行う（８００）。そうである場合、その特定の物体を掴んでいるアバターの手を表示することができる（８０２）。プレーヤーの空いている手の追跡および手動入力は継続し（８０４）、プレーヤーがバンパーを押下し続け、彼の空いている手を伸ばし続けているか否かチェックを行う（８０６）。続けていない場合、アバターの手を伸ばしていない状態に戻す（８０８）。プレーヤーがバンパーを押下し続け、空いている手を伸ばし続けている場合、アバターの腕が伸びているままプレーヤーがアバターを移動させている可能性があると考えられる。例えば、コントローラー上のジョイスティックで入力を行う。アバターの腕を伸ばしている間のアバターの動き(motion)を、プレーヤーによる手動入力にしたがって表示する（８１０）。例えば、この状態では、プレーヤーは彼の親指を用いてアバターを制御し、１本の腕を伸ばすことによってアバターが走り回り、その腕を回転させると、物体を掴んだままでいるようにすることができる。
【００４０】
[0039]  プレーヤーがバンパーを押下しながら、追跡されている手をコントローラーに戻した場合、物体に向けて動かされた(lift)アバターを表示することができる（８１４）。プレーヤーがバンパーを放すと、アバターの手は伸びていない状態に戻ることができる。指定されたゲーム状態が発生した場合（８１６）、アバターの手は伸びていない状態に戻ることができる（８０８）。例えば、指定されたゲーム状態は、敵からの怪我、掴んでいる物体から閾値距離よりも遠くにアバターが移動すること、指定時刻に達したこと、指定電力計レベルに達したことであってもよい。
【００４１】
[0040]  他の例では、カメラ・ベース入力を用いて、アバターが剣を振り下ろす方向を制御する。他の例では、カメラ・ベース入力を用いて、地図上のある地点に銃を向け、手動入力を用いて銃の引き金を引く。本明細書において説明した種々の例では、身体部分の位置またはプレーヤーが行う移動(movement)は、ゲームにおいて行われるアバターの制御に似ている。例えば、プレーヤーが一方の手を上に伸ばしたなら、その行為を増幅即ち誇張してゲームにおけるアバターにコピーする。しかしながら、これは必須ではない。プレーヤーが行う移動は、結果的に行われるアバターの制御に関係なくてもよい。
【００４２】
[0041]  図９は、計算デバイスの一例１０４の種々のコンポーネントを示し、これらはいずれの形態の計算デバイスおよび／または電子デバイスとしても実現することができ、以上で説明したゲーム制御技法の実施形態を実現することができる。
【００４３】
[0042]  計算デバイス１０４は、１つ以上のプロセッサー９０２を備えている。プロセッサー９０２は、マイクロプロセッサー、コントローラー、またはゲーム・システムを制御する計算実行可能命令を処理する適したタイプのプロセッサーであれば他のいずれでもよい。例の中には、例えば、チップ上システム・アーキテクチャーを用いる場合、プロセッサー９０２は、ハードウェア（ソフトウェアやファームウェアではなく）でゲーム制御方法の一部を実現する１つ以上の固定機能ブロック（アクセレレーターとも呼ぶ）を含むこともできる。
【００４４】
[0043]  また、計算ベース・デバイス１０４は、入力インターフェース９０４も備えている。入力インターフェース９０４は、図２のキャプチャー・デバイス１０６および／または図３および図４のコントローラーというような、１つ以上のデバイスから入力を受け取るように構成されている。また、出力インターフェース９０６も設けられており、例えば、計算ベース・デバイスと一体となっている、またはこれと通信可能なディスプレイ・システム（ディスプレイ・デバイス１０８または２２０のような）に出力を供給するように構成されている。ディスプレイ・システムは、グラフィカル・ユーザー・インターフェース、またはいずれかの適したタイプの他のユーザー・インターフェースを設けることができるが、これは必須ではない。通信インターフェース９０８も任意に設けることができ、１つ以上の通信ネットワーク（例えば、インターネット）と通信するように構成することができる。
【００４５】
[0044]  計算ベース・デバイス１０４によってアクセス可能ないずれかのコンピューター読み取り可能媒体を用いて、コンピューター実行可能命令を供給することができる。コンピューター読み取り可能媒体は、例えば、メモリー９１０のようなコンピューター記憶媒体、および通信媒体を含むことができる。メモリー９１０のようなコンピューター記憶媒体は、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターというような情報の記憶のためのいずれかの方法または技術で実現する。コンピューター記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリーまたは他のメモリー技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいは計算デバイスによるアクセスのために情報を格納するために用いることができる他のあらゆる非送信媒体(non-transmission medium)が含まれるが、これらに限定されるのではない。対照的に、通信媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターを、搬送波のような変調データー信号、あるいは他の伝達メカニズムに具体化することができる。本明細書における定義では、コンピューター記憶媒体は通信媒体を含まないこととする。したがって、コンピューター記憶媒体がそれ自体伝搬信号であると解釈すべきではない。コンピューター記憶媒体（メモリー９１０）は計算ベース・デバイス１０４内部に示されているが、ストレージは、ネットワークまたは他の通信リンク（例えば、通信インターフェース９０８を用いて）を通じて分散しまたは離れて配置し、アクセスしてもよいことは認められよう。
【００４６】
[0045]  オペレーティング・システム９１２を構成するプラットフォーム・ソフトウェア、または他のいずれかの適したプラットフォーム・ソフトウェアを計算ベース・デバイスにおいて設けると、アプリケーション・ソフトウェア２１８をそのデバイス上で実行することが可能になる。メモリー９１０は、身体姿勢推定器２１４およびジェスチャー認識エンジン２１６の機能を実現するための実行可能命令を格納することができる。また、メモリー９１０はデーター・ストア９１４も設けることができる。データー・ストア９１４は、いずれかのスタンス・テンプレート(stance template)、閾値、パラメーター、画面空間マッピング機能、または他のデーターに対してというように、ゲーム制御技法を実行するときにプロセッサー９０２によって用いられるデーターに記憶場所を設けるために用いることができる。
【００４７】
[0046]  「コンピューター」という用語は、本明細書で用いられる場合、命令を実行できるように処理能力を有するあらゆるデバイスを指す。尚、このような処理能力は、多くの異なるデバイスに組み込まれており、したがって、「コンピューター」という用語は、ＰＣ、サーバー、移動体電話機、パーソナル・ディジタル・アシスタント、および多くの他のデバイスを含むことは、当業者には理解されるはずである。
【００４８】
[0047]  本明細書において説明した方法は、有形記憶媒体上において機械読み取り可能な形態で、例えば、コンピューター・プログラムの形態としたソフトウェアによって実行することができる。コンピューター・プログラムは、このプログラムをコンピューター上で実行すると、本明細書において説明した方法のいずれでも、その全てのステップを実行するように構成されたコンピューター・プログラム・コード手段を備えている。コンピューター・プログラムは、コンピューター読み取り可能媒体上に具体化することができる。有形（または、一時的でない）記憶媒体の例には、ディスク、サム・ドライブ、メモリー等が含まれ、伝搬信号は含まれない。ソフトウェアは、適したいずれかの順序でまたは同時に本方法のステップを実行できるように、パラレル・プロセッサー上における実行またはシリアル・プロセッサー上における実行に適するはずである。
【００４９】
[0048]  これは、ソフトウェアが価値のある、別個に取引可能な商品となることができることを承認する。これは、所望の機能を実行するために、標準的なハードウェア上で実行するまたは「ダム」(dumb)を制御するソフトウェアを包含することを意図している。また、これは、所望の機能を実行するようにシリコン・チップを設計するまたはユニバーサル・プログラマブル・チップを構成する際に用いられるような、ＨＤＬ（ハードウェア記述言語）ソフトウェアというような、ハードウェアの構成を「記述する」または定義するソフトウェアも包含することも意図している。
【００５０】
[0049]  尚、プログラム命令を格納するために利用する記憶デバイスは、ネットワークを跨いで分散できることは、当業者には理解されよう。例えば、リモート・コンピューターが、ソフトウェアとして記述されるプロセスの一例を格納することができる。ローカル・コンピューターまたは端末コンピューターが、このリモート・コンピューターにアクセスし、そのソフトウェアの一部または全部をダウンロードして、プログラムを実行することができる。あるいは、ローカル・コンピューターが、必要に応じて、ソフトウェアの一部をダウンロードすること、または一部のソフトウェア命令をローカル端末において実行し、一部をリモート・コンピューター（またはコンピューター・ネットワーク）において実行することもできる。また、当業者には周知である従来の技法を利用することによって、ソフトウェア命令の全部または一部を、ＤＳＰ、プログラマブル・ロジック・アレイ等のような専用回路によって実行できることも、当業者には理解されよう。
【００５１】
[0050]  本明細書において示したいずれの範囲またはデバイス値も、求められる効果を失うことなく、拡大または変更することもできる。これは、当業者には明白であろう。
【００５２】
[0051]  以上、主題について構造的特徴および／または方法論的動作に特定的な文言で説明したが、添付した特許請求の範囲において定義されている主題は、以上で説明した特定の特徴や動作には必ずしも限定されないことは言うまでもない。逆に、以上で説明した特定の特徴および動作は、特許請求の範囲を実現する形態例として開示したまでである。
【００５３】
[0052]  尚、以上で説明した効果および利点は、一実施形態に関係するのでもよく、または様々な実施形態に関係するのでもよいことは言うまでもない。実施形態は、以上で述べた問題の内いずれかを解決するものにも、全てを解決するものにも限定されず、以上で述べた効果および利点の内いずれかを有するものにも、全てを有するものにも限定されない。更に、「ある」品目(an item)と言うときは、その品目が１つ以上あることを意味することは言うまでもない。
【００５４】
[0053]  本明細書において説明した方法のステップは、適した順序であればいずれでも実行することができ、またしかるべきときには同時に実行してもよい。加えて、個々のブロックは、本明細書において説明した主題の主旨および範囲から逸脱することなく、それらの方法のいずれからも削除してもよい。以上で説明した例はそのいずれも、その態様を、説明した他の例の内のいずれの態様とも組み合わせて、求めている効果を失うことなく、更に他の例を形成することができる。
【００５５】
[0054]  "comprising"（備えている）という用語は、本明細書において用いられる場合、特定した方法ブロックまたはエレメントを含むが、このようなブロックまたはエレメントは、網羅的な羅列を構成するのではなく、方法または装置が追加のブロックまたはエレメントを含んでもよいことを意味する。
【００５６】
[0055]  尚、以上の説明は、一例として示したに過ぎず、当業者によって種々の変更も行えることは言うまでもない。以上の明細書、例、およびデーターは、実施形態例の構造および使用の完全な記述を提供する。以上では、ある程度の特定性をもって、または１つ以上の個々の実施形態を参照して、種々の実施形態について説明したが、当業者であれば、本明細書の主旨や範囲から逸脱することなく、開示した実施形態に対して多数の変更を行うことができよう。
【図１】
2014523259.tif 000003
【図２】
2014523259.tif 000004
【図３】
2014523259.tif 000005
【図４】
2014523259.tif 000006
【図５】
2014523259.tif 000007
【図６】
2014523259.tif 000008
【図７】
2014523259.tif 000009
【図８】
2014523259.tif 000010
【図９】
2014523259.tif 000011
【国際調査報告】
2014523259.tif 000012
2014523259.tif 000013
2014523259.tif 000014
2014523259.tif 000015
2014523259.tif 000016
2014523259.tif 000017