JP5865357B2 - アバター・ジェスチャーの表示制限 - Google Patents

アバター・ジェスチャーの表示制限 Download PDF

Info

Publication number
JP5865357B2
JP5865357B2 JP2013513246A JP2013513246A JP5865357B2 JP 5865357 B2 JP5865357 B2 JP 5865357B2 JP 2013513246 A JP2013513246 A JP 2013513246A JP 2013513246 A JP2013513246 A JP 2013513246A JP 5865357 B2 JP5865357 B2 JP 5865357B2
Authority
JP
Japan
Prior art keywords
avatar
gesture
user
data
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013513246A
Other languages
English (en)
Other versions
JP2013533537A5 (ja
JP2013533537A (ja
Inventor
ペレス,キャスリン・ストーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013533537A publication Critical patent/JP2013533537A/ja
Publication of JP2013533537A5 publication Critical patent/JP2013533537A5/ja
Application granted granted Critical
Publication of JP5865357B2 publication Critical patent/JP5865357B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Description

従来技術
[0001] アバターは、通例人であるユーザーを表す、コンピューター生成イメージとすることができる。アバターは、ユーザーのイメージを描写することができ、ユーザーが実際にどのように見えるか高度に表すか、あるいはユーザーに対する類似度が変化するか全く変化しないキャラクター(例えば、人間、架空の物体、動物、動く物体)であってもよい。ユーザーは、リモート・コントロール・デバイス上のボタンを選択する、またはコントローラーをある種のやり方で動かすというように、ある種の行為によってアバターを制御することができる。あるいは、ユーザーがセンサを身体の部分に装着して、追跡システムがユーザーの行為をアバターに伝えるのを補助することもできる。
[0002] 他の例では、特殊な検知デバイスをユーザーに取り付けることなく、ユーザーは彼女の体の動きを使用して画面上のアバターを制御することができる。ターゲット認識、分析、および追跡システムは、画像キャプチャー・システムを使用して、物理的空間におけるユーザーの画像データーを取り込む。取り込んだ画像データーに基づいて、このシステムは三次元空間におけるユーザーの自然な動きを認識し追跡する。このシステムを使用すると、ユーザーの行為がディスプレイ上における、彼女に関連したアバターの行為を直接制御することができる。言い換えると、アバターはユーザーの行為をリアル・タイムで真似することができる。
[0003] ユーザーは、表示された場面において不快な行為を行うように彼または彼女のアバターを誘導することもある。例えば、アバターに、卑猥な行為または不快な行為を行ったり、あるいは卑猥な姿勢または不快な姿勢を取るように誘導することもある。
[0004] ジェスチャーを表す動き追跡データーに基づいて、ジェスチャーが禁止ジェスチャーを描写するか否か判断することによって、アバターのジェスチャー表示を制限する技術を紹介する。そうである場合、アバターに対してそのジェスチャーを表す画像データーを変更する。一実施形態では、ユーザーの動きを追跡して、リアル・タイムのアバターの動きが得られ、したがって、ジェスチャーの判断および変更がリアル・タイムで行われる。
[0005] 変更は、禁止ジェスチャーをフィルタリングすること、またはアバターの表示において禁止ジェスチャーの画像データーを交換することを含むことができる。加えて、アバターがローカルで表示されているのか、または表示のために他のコンピューターに送信されているのかというような規準が、ジェスチャーをそのまま表示するのか、またはその画像データーを変更するのかに作用することができる。
[0006] この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。この摘要および以下の詳細な説明において記載される特徴は、全てを含むのではなく、特に、当業者には、図面、明細書、および特許請求の範囲を考慮することにより、多くの追加の特徴や利点が明白となるであろう。
[0007] 本明細書にしたがってアバターのジェスチャー表示を制限するシステム、方法、およびコンピューター読み取り可能記憶媒体について、添付図面を参照しながら更に説明する。図面において、
図1Aは、アバターによる禁止ジェスチャーの表示を制限するための技術の実施形態が動作することができる、ターゲット認識、分析、および追跡システムの実施形態例を、ゲームをプレーするユーザーと共に示す。 図1Bは、アバターによる禁止ジェスチャーの表示を制限するための技術の実施形態が動作することができる、ターゲット認識、分析、および追跡システムの実施形態例を、ゲームをプレーするユーザーと共に示す。 図2は、アバターによる禁止ジェスチャーの表示を制限するシステムの機能的コンピューター実装アーキテクチャーの例示的実施形態である。 図3Aは、アバターによる禁止ジェスチャーの表示を制限する1つ以上の実施形態が動作することができる計算環境の実施形態例を示す。 図3Bは、アバターによる禁止ジェスチャーの表示を制限する1つ以上の実施形態が動作することができる、ゲーム・コンソールにおける計算環境の更に詳しい実施形態例を示す。 図4は、1つ以上の実施形態と共に使用することができる画像キャプチャー・システムを含む、ターゲット認識、分析、および追跡システムの実施形態例を示す。 図5Aは、1つ以上の実施形態によって使用することができる、ユーザーのスケルトン・モデル例を前方から見たところを示す。 図5Bは、1つ以上の実施形態によって使用することができるユーザーの他のモデル例の斜視図(skewed view)を示す。 図6Aは、モデルの力受入位置への力の作用、およびその結果の一例を示す。 図6Bは、モデルの力受入位置への力の作用、およびその結果の一例を示す。 図6Cは、図6Aおよび図6Bのモデルからレンダリングされたプレーヤーのアバターを示す。 図6Dは、図6Aおよび図6Bのモデルからレンダリングされたプレーヤーのアバターを示す。 図7は、1つ以上の実施形態によって使用することができる、ユーザーのスケルトン・モデルの他の例を示す。 図8Aは、ディスプレイ上で禁止ジェスチャーを視覚的に隠すフィルタリング技法の一例を示す。 図8Bは、禁止ジェスチャーと置き換えるためにスケルトン・モデル例に適用される交換画像データーの例を示す。 図8Cは、図8Bにおける例の交換画像データーを表示するために更新されたアバターを示す。 図9Aは、2人のユーザーについてのスケルトン・モデル・データーによって示された、禁止相互作用の一例を示す。 図9Bは、2人のユーザーについてのスケルトン・モデル・データーによって示された、図9Aの禁止相互作用の例を、動きデーターの形態とした画像データーと交換する例を示す。 図10は、アバターのジェスチャー表示を制限する方法の一実施形態のフローチャートである。 図11は、アバターのジェスチャー表示を制限する方法の他の実施形態のフローチャートである。 図12は、アバターのジェスチャーを表す画像データーを変更する方法を示す。
[0026] 図1Aおよび図1Bは、人間の自然環境において、対象者に特殊な検知デバイスを取り付けることなく、人間を認識し、彼らを一意に識別し、三次元空間において彼らを追跡する、ターゲット認識、分析、および追跡システム50の実施形態例と対話処理するユーザーを示す。このような例示的なコンテキストは、禁止ジェスチャーのアバター表示を制限する技術が特に有用であるコンテキスト例を紹介する。しかしながら、本技術は、ユーザーがセンサを着用するセンサ・ベース・システム、またはデバイスに基づくアバター制御システムというような、他のアバター制御メカニズムにも適用可能である。デバイスの例には、キーボード、マウス、トラックボール、ゲーム・パッド、またはジョイスティックがある。
[0027] この実施形態例によれば、ターゲットは、人間のターゲット(例えば、ユーザー58)、物体を持った人間のターゲット、2人以上の人間のターゲット等とすることができ、このターゲットを走査して、スケルトン・モデル、メッシュ人間モデル、またはその任意の他の適した表現を生成することができる。このモデルを追跡すれば、ターゲットの物理的動き(movement)または運動(motion)がリアル・タイムのユーザー・インターフェースとして作用し、電子ゲームのようなアプリケーションのパラメーターを調節および/または制御するというようなことが可能になる。更に、このモデルは、アプリケーションに対してモデルとして提示され、リアル・タイムでアプリケーションに配信することができる。例えば、ユーザーの動きを追跡し、電子ロール・プレーイング・ゲームにおける画面上のキャラクターまたはアバターを動かすために、追跡したユーザーの動きを使用することができる。
[0028] モデルがマルチ・ポイント・スケルトン・モデルである一例では、ターゲット認識、分析、および追跡システム50は、人間の筋肉−骨格系の自然な力学および能力を理解することによって、効率的に人間およびその自然な動きを追跡する。また、システム例50は、複数の人間がその四肢および身体の自然な動きによって本システムと対話処理できるようにするために、個人を一意に認識する。
[0029] 具体的には、図1Aおよび図1Bは、ターゲット認識、分析、および追跡システム50の構成の実施形態例を、ボクシング・ゲームをプレーしているユーザー58と共に示す。以下で論ずるように、通信可能に結合されているカメラ・システム60およびオーディオビジュアル・ディスプレイ・ユニット56の他のコンピューター・システムにおけるソフトウェアを制御するまたはこのソフトウェアと相互作用を行う、コンピューター・システム52において実行するソフトウェアは、ユーザー58の動きを追跡し、これらを分析し、その動きをユーザーのアバターにマッピングする。つまり、この例では、ユーザー58は、ボクシング・ゲームにおいて彼の身体を動かして、彼の対戦相手のアバター62に対して、表示画面54上の彼のアバター64を制御することができる。
[0030] ジェスチャーは動きまたは姿勢を含む。ジェスチャーは、アバターによってまたはユーザーによって行うことができる。ユーザーは、彼の身体を動かすことによって、ジェスチャーを行うことができる。例えば、ユーザーを画像データーに取り込むことができる。ユーザーのジェスチャーを識別し、アプリケーションに対する制御または実行すべき動作としての意味を求めて解析することができる。例えば、ユーザー18は図1Aおよび図1Bのボクシング・ゲームにおいてジャブを出す。このゲーム・アプリケーションは、それをボクシングの試合において表し、それがアバター62と接触するか否か判断し、接触する場合、ユーザーのスコアを増やす。また、ジェスチャーは、意味のある表現である動きまたは姿勢であることもできる。例えば、感情あるいは考えまたは意味を表現することができる。例えば、中指のみを立てた手は、怒りまたは軽蔑を表現することができる。ナチの敬礼のようなジェスチャーは、民族または文化に基づく軽蔑的な意味を示す可能性がある。ジェスチャーは、胴体の前で腕を組んだままにするというような静止姿勢であってもよく、または1つ以上の動きであってもよい。更に、ジェスチャーは、両手を一緒にたたくというような、1つよりも多い身体部分を含むのでもよい。
[0031] 例えば、ターゲット認識、分析、および追跡システム50は、キャプチャー・エリア(例えば、画像キャプチャー・システム60の視野内にある彼の居間の一部)においてユーザー58のパンチを認識し分析するために使用して、このパンチをジェスチャーとして、この場合、ゲーム空間において彼のプレーヤー・アバター64が行うパンチのゲーム制御として解釈することもできる。また、ユーザー58による他のジェスチャーも、軽く叩く、行ったり来たりする、あちこち動き回る、防御する、ジャブを出す、または種々の異なる力のパンチを出すように制御するというように、他の制御または動作として解釈することができる。ユーザー58のパンチおよびジャブを追跡することによって、ボクシング・ゲームのソフトウェア・アプリケーションは、彼のアバター64のスコアを判断し、どちらのアバター(62または64)がその試合に勝つか判断する。異なるアプリケーションであれば、異なるジェスチャーを認識し追跡する。例えば、野球ゲームにおけるユーザーによる投球を追跡して、それがストライクかまたはボールか判断する。また、卑猥なジェスチャーまたは不快なジェスチャーを表す異なる動きまたは姿勢、およびそれに応答して行われる処理も、認識することができる。
[0032] 他の実施形態例では、ユーザー58のような人間のターゲットが物体を有していてもよい。また、ジェスチャーがプロップ(prop)を組み込んでいてもよい。このような実施形態では、電子ゲームのユーザーは、ゲームに参加している間、その物体を保持しているまたは使用している場合がある。その物体の動きを追跡し画面上でマッピングして、ユーザーが操作しているその物体を表す仮想物体も併せて、アバターを描く。実施形態例では、仮想物体は、実際の物体がユーザーによって動かされるに連れて、その動きを追跡する。例えば、ユーザーが保持しているラケットの動きを追跡し、電子スポーツ・ゲームにおいてボールを打つように画面上のラケットを制御するために利用することができる。他の実施形態例では、物体を保持しているユーザーの動きを追跡して、電子戦闘ゲームにおいて画面上の兵器を制御するために利用することもできる。また、他の物体も含むこともでき、その例の中には、1つ以上のグローブ、ボール、バット、クラブ、ギター、マイクロフォン、スティック、ペット、動物、ドラム等がある。
[0033] ボクシング・ゲームのコンテキストは、ユーザーが不適切に行動するかもしれないリアル・タイムの計算環境を例示するのであり、この行動は、彼のコンピューター生成アバターの動作にリアル・タイムで反映される。更に、アバターの動作は、オンライン環境では、1人以上のユーザーに伝えているのでもよい。オンライン送信は、参加するために使用される技術にアクセスすることができる誰にでも解放されているブロードキャスト送信とするとよい。これは、種々の年齢および感受性の人々を含むことができる。
[0034] 図2は、アバターによる禁止ジェスチャーの表示を制限するシステム200の機能的コンピューター実装アーキテクチャーの例示的実施形態である。このようなアーキテクチャー・システムは、1つ以上のプロセッサーおよび/またはコンピューター・ハードウェアにおいて実行するソフトウェアによって、あるいはハードウェアまたはファームウェアとして動作することができる1つ以上の処理モジュールとして実現することができる。アバター制御システム202は、動きモジュール204を含む。動きモジュール204は、アバター表示制御モジュール209、オーディオビジュアル・データー・キャプチャー・システム60、およびインターネット203に通信可能に結合されている。また、動きモジュール204は、アバター・プロファイル214のような、メモリー(例えば、112、314)に格納されているデーター・ストアにアクセスすることもできる。
[0035] この実施形態では、アバター・プロファイル214は、1つ以上のアバターのリアル・タイム表示についてのデーターおよび情報を含む。このデーターおよび情報の例には、各アバターについてのモデル・データー216が含まれ、これは、動きモジュール204による動き追跡のための規準として使用される。モデル・データー216は、アバターを表示するための画像データー219の部分集合であることができる。画像データー219は、アバター表示制御モジュール207によって場面の一部として表示されるために送られる。アバターの画像データー219は、アバターの動きまたは姿勢を表す。一例では、動きまたは姿勢を表す画像データー219は、アバターについての動き追跡データーとすることができる。一例では、このような動き追跡データーは、動き取り込みファイルに格納することができ、動きモジュールが、新たな動き追跡データー205を受けると、ときの経過と共にこの動き取り込みファイルを更新する。画像データー219の他の例は、紙、顔の造作、皮膚の色、衣服、場面におけるアバターの位置、およびそれと関連した任意のプロップというような、アバターの特徴についての色画像データーとすることができる。以下で論ずるように、一実施形態では、禁止ジェスチャー210を行うアバターは、そのジェスチャーを行うローカル・ディスプレイ上で表示することができるが、他のコンピューターまたはネットワークに送信されるその画像データーは、禁止ジェスチャーを描写するのを避けるために、変更させることができる。このような場合、画像データーの別個のバージョン、1つのローカル・バージョン219lおよび送信用バージョン219iが、少なくとも禁止ジェスチャーを含む部分について生成される。プロファイル214に格納される他の情報には、典型的な使用またはプレー・モード、年齢、身長、体重情報、名前、高スコア、またはユーザーおよび本システムの使用と関連した他の任意の情報を含むことができる。
[0036] 動き追跡データーは、セッションずつ格納することができる。例えば、ゲームにおけるユーザーが、進行中のゲームをセーブして、後にそこに戻ることができるようにするとよい。
[0037] モデル・データー216は、アバター用モデルを含む。これは、例えば、スケルトン・モデルとすることができる。トラックボール、キーボード、またはジョイスティックのようなアバター制御デバイスが使用されるアプリケーションのコンテキストでは、ユーザーについて別個のモデル・データーがないこともある。動きモジュール204は、アバターについての直接モデル・データー216aに関する入力コマンドを処理し、禁止ジェスチャーが行われていないことを検証するための処理を含む。加えて、ネットワークを介して受信されたモデル・データーは、アバターのモデル216aに関する場合もある。動きモジュール204は、以下で論ずるように、画像キャプチャー・システム60からのユーザー・モデル・データー216uを処理するのと同様に、アバターのモデル・データーを処理することができ、禁止ジェスチャーの処理を含む。この例では、画像キャプチャー・システム60は、オーディオ・データー217を、ユーザーについての動き追跡データー205lと共に送る、オーディオビジュアル・キャプチャー・システム60である。
[0038] システムの中には、図1Aおよび図1Bに示されたように、ユーザーに対して特殊な検知デバイスを使用せずに、アバターの制御のためにユーザーの身体の自然な動きを追跡する場合もある。他の実施形態では、ユーザーが異なる身体部分にセンサを装着してもよく、センサ・データーが、ユーザーの動きを彼の画面上のアバターに対して追跡するときに補助する。これら2つの例は、ユーザーの自然な動きを追跡して、直接対応するアバターを動かすことを可能にする。システムの中には、ある種の身体部分または領域、例えば、手および腕に対してアバターが行うことができる動きまたは姿勢の組み合わせを一定の数だけに止める一方、他の身体部分または領域、例えば、脚部には直接追跡を可能にすることができる場合もある。
[0039] ユーザーの身体の動きがアバターの動きにマッピングされる(例えば、ユーザーの画像取り込み、またはユーザーの身体上にあるセンサに基づいて)システムでは、ユーザーを表すモデル・データー216uと、アバターを表すモデル・データー216aとがあることができる。アバターの体形が全く異なる場合、動きモジュール204は、これら2つのモジュール間でマッピングを行う。例えば、ユーザー18が少年である場合、彼はそのアバター・ボクサー64よりも背が低く、腕の長さがありそうもない。言い換えると、スケルトン・モデルが使用された場合、これらはユーザーおよびアバターに対して同一であってもよい。しかしながら、実施形態の中には、アプリケーションが、同じモデル・データー216を使用して、ユーザーの身体の動きを分析し、更に対応するアバターの動きを命令する場合もある。一例では、身体モデルは、身体部分と、次元空間における(in dimensions)それらの位置および/または基準に対する回転角度とを表す1つ以上のデーター構造として実現することができる。モデル・データー216は、絶対位置に関する更新または位置および回転の変化で更新することができる。位置および回転の変化は、ベクトルおよび角度で表すとよい。
[0040] 場面データー218は、場面のコンテキストを規定し、その場面における他の物体を定める。例えば、場面データー218は、図1Aおよび図1Bにおけるボクシングの試合のコンテキスト環境、ならびにボクシング・リングのロープを含む物体の位置、および対戦相手のボクサー・アバター62の存在を規定している。この場面における他のボクサー・アバター62の最新の動き、特徴、および身体部分は、アバター・プロファイル・データー・ストア214に他のプロファイルとして格納することもできる。場面データー218に対する更新は、アバター表示制御モジュール209または動きモジュール204のような1つ以上のモジュールによって、インターネット203または他のネットワークを介して、リモート・モジュールまたは場面表示処理モジュール207のようなローカルな場面制御モジュールから受け取ることができる。
[0041] 図示されている実施形態例では、アバター制御システム202は、動き追跡データー205をオーディオビジュアル・データー・キャプチャー・システム60からローカルに受け取る。加えて、アバター制御システム202は、動き追跡データー205iをインターネット203または他のネットワーク上で離れて受信することができる。ユーザーに関して、動き追跡データーは、画像データー自体、またはそのデーターのダウン・サンプル・バージョンを含むことができる。加えて、深度データー、ならびに画像および/または深度データーから派生された種々の形態のデーターを、動き追跡データーに含めることができ、その例には、ユーザーの身体のモデル、モデルを参照する数学的原形における動きデーター、またはモデルの以前の状態との比較のためにユーザーに対して得られたビットマスク画像がある。アバター制御システム202は、このデーターを分析して、ユーザーの動きを認識し、その動きを追跡して、画面上におけるユーザーのアバターを動かす。
[0042] 動き追跡データー205iは、ローカルに受け取ったデーター205lと同じタイプであってよい。加えて、特にマルチプレーヤー環境においてネットワークを介して受信された動き追跡データー205iは、アバターのモデル・データー216aに関する動き追跡データーであってもよい。更に、動き追跡データー205lおよび205iは、キーボード、マウス、トラックボール、ゲーム・パッドなどのような、入力/出力デバイスによって指示された動きに対するコマンドも含むことができる。
[0043] 先に論じたように、動きおよび姿勢、ジェスチャーの中には、娯楽プログラムまたは他のアプリケーションのコンテキストにおいて特別な意味を有するものがあり、アバター制御システム202はそれらを識別する命令を実行する。即ち、動きモジュール204は、メモリーに格納されているジェスチャー・フィルター206にアクセスすることができる。一例では、動きモジュール204は、例えば、身体部分インデックスのような、関連データー・インデックスに基づいて、1つ以上のジェスチャー・フィルター206を選択することができる。例えば、動き追跡データー・セット更新がアバター制御システム202によって受け取られ、ある身体部分に対する動きの変化が指示された場合、動きモジュール204は、これらある身体部分と関連したジェスチャー・フィルター206をインデックスする。
[0044] ジェスチャー・フィルター206は、特定のジェスチャーが動き追跡データー205に基づいて行われたか否か判断するための規準を定めるパラメーターに基づいて命令を実行する。一実施形態では、各ジェスチャー・フィルター206は、ジェスチャー・ライブラリー208における特定のジェスチャーのライブラリー・モジュールとリンクされている。ジェスチャーと関連付けられている各ライブラリー・モジュール208は、そのジェスチャーに応答して処理を実行する実行可能命令を含む。この処理は、多くの場合、ジェスチャーを何らかの形態で反映するためにアバターの動きまたは画像を更新することを伴う。
[0045] 例えば、図1Aにおける少年のユーザー58は、彼のアバター64ボクサーよりも遙かに小さい体形をしている。アバターとゲームをプレーする楽しさの一部は、アバターの方が実生活におけるユーザーよりも上手に事を行うことが多いということにある。彼の居間における図1Aの身体58のパンチは、表示画面54上では、彼のアバター64による貼るかに強いパンチに変わる(translate)。ボクシング・ゲームにおける「パンチ」についてのライブラリー・モジュールは、ユーザーの拳が彼の肘から繰り出される速度の加速度(acceleration in speed)から、これはゲームにおけるこのユーザー58の「強力なパンチ」であると判断することができ、彼のアバター64のパンチは、ライブラリー・パンチ・モジュールの命令によって、これをディスプレイ上に反映する。また、この命令は、例えば、スコアを更新するというような、他のアプリケーション・タスクも含むことができる。
[0046] 禁止ジェスチャーに対するライブラリー・モジュール210の実行可能命令は、この禁止ジェスチャーの描写を回避するために、後続の表示更新におけるアバターの画像データーに対する変更(alterations or changes)を含むことができる。卑猥なまたは不快なジェスチャーの動きまたは姿勢に対する交換212を、禁止ジェスチャーのライブラリー・モジュール210に組み込むことができる。他の例では、禁止ジェスチャーについての画像データーを交換する処理は、分離して、それぞれの禁止ジェスチャー・ライブラリー・モジュールにリンクされている交換ライブラリー・モジュール212に入れることができる。
[0047] 例えば、禁止ジェスチャー・ライブラリーにおける1つ以上のモジュールを、その禁止ジェスチャーと関連付けられている交換画像データーの1つ以上のモジュールとリンクする関連アレイまたはデーターベース相互参照があるとよい。共通身体部分のような、身体的特性に基づいて、交換を禁止ジェスチャーにリンクすることができる。しかしながら、似ている意味、似ている感情、または似ている感情の強さというような規準に基づいて、交換をリンクすることもできる。とはいえ、一般に、交換画像の方が、強さは穏やかである。一実施形態では、ジェスチャーと画像データーの交換は、そのジェスチャーについての動きデーターを、アバターについての異なる動きデーターで置き換えることによって行われる。
[0048] また、本システムは、ユーザーが本システムを訓練して、他の禁止ジェスチャーを認識し、交換を選択するまたは用意する機構を含むこともできる。親は新しい不快なジェスチャーに気がつくので、これは親にとっては助けになることができる。
[0049] また、アプリケーションは、ユーザーが、シンボルを彼または彼女のアバターと関連付けることを可能にすることもできる。これを「トロフィー」(trophy)と呼ぶこともある。このシンボルは、動きまたは姿勢、つまり、ジェスチャーを含むことができ、ユーザーは画像キャプチャー・システム(例えば、60)に対してそれを実行することによって、シンボルを割り当て、次いで、計算環境(例えば、300または52)において実行するアプリケーションによって処理される。トロフィーに対するジェスチャーをチェックして、これらが禁止されているか否か確かめることもできる。
[0050] アバター表示制御モジュール209は、周期的に、または動きモジュール204からのメッセージに応答して、アバター・プロファイル(1つまたは複数)214に対する更新を読み込み、アバターの動きまたは姿勢を表す画像データー219を場面表示処理モジュール207に送る。場面表示処理モジュール207は、この例では、ディスプレイ・システム(例えば、56)に場面をレンダリングするのに備えて、アバター画像データー219を場面データーと一体にする。一例では、動きまたは姿勢を表す画像データーは、アバターについての動き追跡データーとすることができる。画像データーの他の例は、髪、顔の特徴、および衣服というような、アバターの特徴についての色画像データーとすることができる。画像データー219lはローカルに送ることができる。あるいは、アバターの動きまたは姿勢を表す画像データー219iをインターネット203または他のネットワークを介して送信しようとする場合、動きモジュール204は、ネットワーク送信に適したポートに画像データー219iを送ることを、アバター表示制御モジュール209に通知することができる。
[0051] アバターの表示に対するユーザーの動きの追跡は、好ましくは、リアル/タイムで行われ、ユーザーが実行中のアプリケーションとリアル・タイムで対話処理できるようにするとよい。リアル・タイムの表示とは、ジェスチャーの仮想表現を指し、この表示は、物理空間におけるジェスチャーの実行と同時にまたは殆ど同時に行われる(displayed)。例えば、本システムがユーザーにオウム返しする表示を提供することができる表示更新レートは、20Hz以上のレートとするとよく、この場合、些細な処理の遅れは、最小限の表示の遅れにしかならず、またはユーザーには全く見えない。つまり、リアル・タイムには、自動データー処理のために必要な時間だけ遅れているデーターの適時性(timeliness)に関する些細な遅れはいずれも含まれる。
[0052] 画像キャプチャー・システム60は、人間のターゲットおよび人間以外のターゲットをキャプチャー・エリア内で認識し(対象に特殊な検知デバイスが取り付けられているまたは取り付けられていない)、これらを一意に識別し、三次元空間においてこれらを追跡する。
[0053] 実施形態例によれば、画像キャプチャー・システム60は、深度画像を含む深度情報と共にビデオを取り込むように構成することができる。深度画像は、例えば、飛行時間、構造化光、立体画像などを含む任意の適した技法によって、深度値を含むことができる。図2に示されるように、実施形態例によれば、画像カメラ・コンポーネント70は、IR光コンポーネント72、三次元(3D)カメラ74、およびキャプチャー・エリアの深度画像を取り込むために用いることができるRGBカメラ76を含むことができる。例えば、飛行時間分析では、キャプチャー・システム60のIR光コンポーネント72は、キャプチャー・エリアに向けて赤外線光を放出することができ、次いでセンサを用いて、そのキャプチャー・エリアの中にある1つ以上のターゲットおよび物体の表面からの後方散乱光を、例えば、3Dカメラ74および/またはRGBカメラ76を用いて検出することができる。実施形態の中には、パルス状赤外線光を用いて、発信光パルスと対応する入射光パルスとの間の時間を測定し、深度カメラ・システム60からキャプチャー・エリア内にあるターゲットまたはオブジェクト上における特定の場所までの物理的距離を判定するために用いることができるようにするとよい場合がある。加えて、他の実施形態例では、発信光波の位相を着信光波の位相と比較して、位相ずれを判定することもできる。次いで、位相ずれを用いて、キャプチャー・システムからターゲットまたはオブジェクト上の特定の場所までの物理的距離を判定することができる。
[0054] 他の実施形態例によれば、飛行時間分析を使用して、例えば、散乱光パルス撮像(shuttered light pulse imaging)を含む種々の技法によって、経時的な光の反射ビームの強度を分析することによって、キャプチャー・システム60からターゲットまたは物体上の特定の場所までの物理的距離を間接的に判定することができる。
[0055] 他の一実施形態例では、キャプチャー・システム60は、構造化光を用いて深度情報を取り込むことができる。このような分析では、パターン光(即ち、格子パターン、縞パターンのような既知のパターンとして表示される光)を、例えば、IR光コンポーネント72によって、場面に向けて投射する。キャプチャー・エリアにおいて1つ以上のターゲットまたは物体の表面に衝突したときに、パターンが、それに応答して、変形する可能性がある。このようなパターンの変形を、例えば、3Dカメラ74および/またはRGBカメラ76によって取り込むことができ、次いで分析して、キャプチャー・システムからターゲットまたは物体上における特定の場所までの物理的距離を判定することができる。
[0056] 他の実施形態によれば、キャプチャー・システム60は、2つ以上の物理的に分離されたカメラを含むことができ、これらが異なる角度からのシーンを捕らえて、視覚的な立体像を得て、これを解明することによって深度情報を生成することができる。
[0057] これらのエレメントによって得られる相乗効果の例として、IR光コンポーネント72および3−Dカメラ74がキャプチャー・エリアの深度画像を供給するが、ある状況では、深度画像のみでは、人間のターゲットの位置または動きを識別するのに十分ではない可能性がある場合について考える。これらの状況では、RGBカメラ76が3−Dカメラからの情報を「引き継ぎ」または補充して、人間のターゲットの動きまたは位置の一層完全な認識を可能にすることができる。例えば、RGBカメラは、とりわけ、1つ以上のターゲットと関連した色を認識するために使用することができる。ユーザーが模様のあるシャツを着用しており、深度カメラがこのパターンを検出することができない場合、そのパターンを追跡し、ユーザーが行っている動きについての情報を提供するために、RGBカメラを使用することができる。他の例として、ユーザーが体を捻った場合、ユーザーのこの動きを判断するために1つ以上の他のセンサからの情報を補充するために、RGBカメラを使用することができる。更に他の例として、ユーザーが壁または第2ターゲットというような他の物体の隣にいる場合、2つの物体間で区別するためにRGBデーターを使用することができる。また、RGBカメラは、追加情報を提供するために使用することができる、顔の認識、髪の色等のような、ユーザーの特徴を判定することもできるとよい。例えば、ユーザーが後ろを向いた場合、RGBカメラは髪の色および/または顔の特徴がないことを使用して、ユーザーがキャプチャー・システムに背を向けていると判断することができる。
[0058] キャプチャー・システム60は、インタラクティブ・レート(interactive rate)でデーターを取り込むことができ、データーの忠実性を高め、開示する技法が生の深度データーを処理し、場面における物体をディジタル化し、物体の表面および模様を抽出し、ディスプレイ(56)がその表示画面(例えば、54)上に場面のリアル・タイム描画を供給できるように、これらの技法の内任意のものをリアル・タイムで実行することを可能にする。
[0059] 図2のシステムの実施形態では、画像キャプチャー・システム60は、図3A、図3Bにおけるコンピューター・システム例のような計算環境に、通信可能に結合されている(84)。この通信結合は、例えば、USB接続、Firewire接続、イーサネット(登録商標)・ケーブル接続等および/またはワイヤレス802.11b、g、a、またはn接続のようなワイヤレス接続というような、1つ以上の有線またはワイヤレス接続で実現することができる。
[0060] 更に、キャプチャー・システム60は、プロセッサー80によって実行することができる命令、およびフレーム・フォーマットで取り込むことができる画像データーを格納するためにメモリー・コンポーネント82も含むことができる。メモリー・コンポーネント82は、ランダム・アクセス・メモリー(RAM)、リード・オンリー・メモリー(ROM)、キャッシュ、フラッシュ・メモリー、ハード・ディスク、または任意の他の適した記憶コンポーネントを含むことができる。一実施形態では、メモリー・コンポーネント82は、図示されているように、画像取り込みコンポーネント70およびプロセッサー80と通信(90)が可能な別個のコンポーネントであってもよい。他の実施形態によれば、メモリー・コンポーネント82をプロセッサー80および/または画像取り込み・コンポーネント70に統合してもよい。
[0061] 更に、キャプチャー・システム60は、画像カメラ・コンポーネント70に通信可能に結合(90)されているプロセッサー80も含む。プロセッサー70は、画像カメラ・コンポーネント70および画像データーを格納するメモリー82を制御する。プロセッサー80は、標準化されたプロセッサー、特殊化されたプロセッサー、マイクロプロセッサー等を含むことができ、プロファイルを格納し、深度画像データーを受け取り、そのデーターを指定フォーマットでメモリー82に格納し、深度画像に適したターゲットが含まれるかもしれないか否か判断し、適したターゲットをスケルトン表現または他のタイプのターゲットのモデルに変換する命令、または任意の他の適した命令を含むことができる命令を実行することができる。更に、この処理の一部は、1つ以上の通信可能に結合されている計算環境において他のプロセッサー(例えば、101、108、259、229、304、372)によって実行することもできる。
[0062] 処理能力を画像キャプチャー・システム60に含ませることによって、ユーザーのマルチポイント・スケルトン・モデルのようなモデルを、リアル・タイムで配信することが可能になる。一実施形態では、キャプチャー・システムの複数のコンポーネント毎に別個のプロセッサーがあってもよく、または1つの中央プロセッサーがあってもよい。他の例として、中央プロセッサーと、少なくとも1つの他の関連プロセッサーがあってもよい。高コストの計算タスクがある場合、2つ以上のプロセッサーが任意の方法でこの処理タスクを分配することができる。プロセッサー(1つまたは複数)は、前述のようなメモリーを含むことができ、このメモリーは1つ以上のユーザー・プロファイルを格納することができる。これらのプロファイルは、身体走査、典型的な使用モードまたはプレー・モード、年齢、身長、体重情報、名前、アバター、高スコア、またはシステムのユーザーまたは使用に関連した任意の他の情報を格納することができる。
[0063] キャプチャー・システム60は、更に、ユーザーによって生成されたオーディオ信号を受けるために使用することができるマイクロフォン78も含むことができる。つまり、この実施形態では、画像キャプチャー・システム60は、オーディオビジュアル・データー・キャプチャー・システムとなる。キャプチャー・システムにおけるマイクロフォン(1つまたは複数)は、本システムがターゲットの位置または動きの態様をより良く識別することを可能にするように、ターゲットについて追加の情報および補足情報を提供するために使用することができる。例えば、マイクロフォン(1つまたは複数)は、指向性マイクロフォン(1つまたは複数)、または指向性マイクロフォンのアレイを含むことができ、人間のターゲットの位置を更に識別するため、または2つのターゲット間で区別するために使用することができる。例えば、2人のユーザーが同様の体形または背格好であり、キャプチャー・エリア内にいる場合、例えば、彼らの別々の音声を認識してこれらのユーザーを互いに区別することができるように、ユーザーについての情報を提供するためにマイクロフォンを使用することができる。他の例として、マイクロフォンは、ユーザーについてのユーザー・プロファイルに情報を提供するために、または「音声−テキスト」型実施形態において、使用することもでき、計算システムにおいてテキストを作るために少なくとも1つのマイクロフォンを使用するとよい。
[0064] 画像についての深度値を有する画素データーを、深度画像と呼ぶ。一実施形態によれば、この深度画像は、取り込まれた場面の二次元(2−D)画素エリアを含むことができ、2−D画素エリアにおける各画素は、例えば、カメラ・コンポーネント70の何らかの態様に関する基準点からの、取り込まれた場面における物体の、例えば、センチメートル、ミリメートル等の単位とした、長さまたは距離のような、関連する深度値を有する。例えば、画素に対する深度値は、「Zレイヤー」で表すことができる。Zレイヤーは、深度カメラ70からその見通し線に沿って延びるZ軸に対して垂直であるとよいレイヤーである。これらの深度値は、纏めて深度マップと呼ぶことができる。
[0065] 深度画像をより簡単に使用し、より少ない計算オーバーヘッドで素早く処理できるように、深度画像をより低い処理分解能にダウン・サンプルするとよい。例えば、観察された深度画像の種々の領域を、背景領域と、ターゲットの画像が占める領域に分けることができる。背景領域は、画像から除去するか、または識別して、1つ以上の後続の処理ステップの間これらを無視できるようにすることができる。加えて、1つ以上の高分散および/またはノイズ深度値を除去する、および/または深度画像からスムージングすることができる。失われた深度情報および/または除去された深度情報の部分は、充填すること、および/または再現することができる。このようなバックフィリング(backfilling)は、最も近い近隣を平均化すること、フィルタリング、および/または任意の他の適した方法で行うことができる。スケルトン・モデルのようなモデルを生成するために深度情報を使用できるように、他の適した処理を実行することもできる。
[0066] 図3Aは、図1Aから図2におけるようなゲーミング・コンソールにおいて使用することができる計算環境の実施形態の詳細な例を示し、アバターによる禁止ジェスチャーの表示を制限する1つ以上の実施形態が動作することができる。図3Aに示すように、マルチメディア・コンソール52は、レベル1キャッシュ102、レベル2キャッシュ104、およびフラッシュROM(リード・オンリー・メモリー)106を有する中央処理ユニット(CPU)101を有する。レベル1キャッシュ102およびレベル2キャッシュ104は、一時的にデーターを格納し、こうしてメモリー・アクセス・サイクルの回数を減らすことによって、処理速度およびスループットを向上させる。CPU101は、1つよりも多いコア、したがって追加のレベル1およびレベル2キャッシュ102および104を有して設けることもできる。フラッシュROM106は、実行可能コードを格納することができる。実行可能コードは、マルチメディア・コンソール52の電源をオンにしたときに、ブート・プロセスの初期段階中にロードされる。
[0067] グラフィクス処理ユニット(GPU)108およびビデオ・エンコーダー/ビデオ・コデック(コーダー/デコーダー)114は、高速および高分解能グラフィクス処理のためにビデオ処理パイプラインを形成する。データーは、バスを介して、GPU108からビデオ・エンコーダー/ビデオ・コデック114に伝えられる。ビデオ処理パイプラインは、テレビジョンまたは他のディスプレイに送信するために、データーをA/V(オーディオ/ビデオ)ポート140に出力する。メモリー・コントローラー110がGPU108に接続されており、限定ではなく、RAM(ランダム・アクセス・メモリー)のような、種々のタイプのメモリー112にプロセッサーがアクセスし易くなる。
[0068] マルチメディア・コンソール52は、I/Oコントローラー120、システム管理コントローラー122、オーディオ処理ユニット123、ネットワーク・インターフェース・コントローラー124、第1USBホスト・コントローラー126、第2USBコントローラー128、およびフロント・パネルI/Oサブアセンブリ130を含む。好ましくは、これらはモジュール118上に実装される。USBコントローラー126および128は、周辺コントローラー142(1)〜142(2)、ワイヤレス・アダプター148、および外部メモリー・デバイス146(例えば、フラッシュ・メモリー、外部CD/DVD ROMドライブ、リムーバブル媒体等)のためのホストとしての役割を果たす。ネットワーク・インターフェース124および/またはワイヤレス・アダプター148は、ネットワーク(例えば、インターネット、ホーム・ネットワーク等)へのアクセスを与え、イーサネット(登録商標)・カード、モデム、Bluetooth(登録商標)モジュール、ケーブル・モデム等を含む広範囲の種々の有線またはワイヤレス・インターフェース・コンポーネント内任意のものでよい。
[0069] システム・メモリー143は、ブート・プロセスの間にロードされるアプリケーション・データーを格納するために設けられている。メディア・ドライブ144が設けられており、DVD/CDドライブ、ハード・ドライブ、またはその他のリムーバブル・メディア・ドライブを含むことができる。メディア・ドライブ144は、マルチメディア・コンソール100の内部にあっても外部にあってもよい。アプリケーション・データーには、実行、再生等のためにマルチメディア・コンソール52がアクセスすることができる。メディア・ドライブ144は、シリアルATAバスまたはその他の高速接続(例えば、IEEE1394)のようなバスを介して、I/Oコントローラー120に接続されている。
[0070] 一実施形態では、アバター制御システム202のためのソフトウェアおよびデーターのコピーをメディア・ドライブ144に格納することができ、実行するときにシステム・メモリー143にロードすることができる。
[0071] システム管理コントローラー122は、メディア・コンソール52が利用できるように確保することに関する種々のサービス機能を提供する。オーディオ処理ユニット123およびオーディオ・コデック132は、高忠実度およびステレオ処理を行う、対応のオーディオ処理パイプラインを形成する。オーディオ・データーは、通信リンクを通じて、オーディオ処理ユニット123とオーディオ・コデック132との間で伝えられる。オーディオ処理パイプラインは、外部オーディオ・プレーヤーまたはオーディオ処理能力を有するデバイスによる再生のために、データーをA/Vポート140に出力する。
[0072] フロント・パネルI/Oサブアセンブリ130は、電力ボタン150およびイジェクト・ボタン142の機能をサポートするだけでなく、マルチメディア・コンソール52の外面上に露出する任意のLED(発光ダイオード)またはその他のインディケータもサポートする。システム電源モジュール136が、マルチメディア・コンソール52のコンポーネントに電力を供給する。ファン138は、マルチメディア・コンソール52内部にある回路を冷却する。
[0073] CPU101、GPU108、メモリー・コントローラー110、およびマルチメディア・コンソール100内部にある種々のその他のコンポーネントは、1系統以上のバスを通じて相互接続されている。これらのバスには、シリアルおよびパラレル・バス、メモリー・バス、周辺バス、および種々のバス・アーキテクチャーのいずれかを用いるプロセッサー・バスまたはローカル・バスが含まれる。一例として、このようなアーキテクチャーは、ペリフェラル・コンポーネント相互接続(PCI)バス、PCI-Expressバス等を含むことができる。
[0074] マルチメディア・コンソール52の電源をオンにすると、システム・メモリー143からメモリー112および/またはキャッシュ102、104にアプリケーション・データーをロードし、CPU101において実行することができる。アプリケーションは、グラフィカル・ユーザー・インターフェースを提示することができる。このグラフィカル・ユーザー・インターフェースは、マルチメディア・コンソール100において利用可能な異なるタイプのメディアにナビゲートするときに、一貫性のあるユーザー体験を提供する。動作において、アプリケーションおよび/またはメディア・ドライブ144内に収容されている他のメディアをメディア・ドライブ144から起動または再生して、マルチメディア・コンソール52に追加の機能を設けることもできる。
[0075] マルチメディア・コンソール52は、単にシステムをテレビジョンまたはその他のディスプレイに接続することによって、単体システムとして動作させることができる。この単体モードでは、マルチメディア・コンソール52は、一人以上のユーザーがシステムと対話処理を行い、ムービーを見ること、または音楽を聞くことを可能にする。しかしながら、ネットワーク・インターフェース124またはワイヤレス・アダプター148によって利用可能となるブロードバンド接続機能を統合することにより、マルチメディア・コンソール52を更に大きなネットワーク・コミュニティにおける一構成要素(participant)として動作させることもできる。
[0076] マルチメディア・コンソール52の電源をオンにすると、マルチメディア・コンソールのオペレーティング・システムによって、設定されている量のハードウェア・リソースがシステムの使用のために確保される。これらのリソースは、メモリー(例えば、16MB)、CPUおよびGPUサイクル(例えば、5%)、ネットワーキング帯域幅(例えば、8kbs)等の確保を含むことができる。これらのリソースは、システムのブート時に確保されるので、確保されたリソースは、アプリケーションの視点からは存在しない。
[0077] 特に、メモリーの確保は、起動カーネル、コンカレント・システム・アプリケーション、およびドライバーを含めるのに十分大きいことが好ましい。確保されたCPU使用枠(usage)がシステム・アプリケーションによって用いられない場合、アイドルのスレッドが任意の未使用サイクルを消費するように、CPUの確保は、一定であることが好ましい。
[0078] GPUの確保に関して、GPU割り込みを用いることによって、システム・アプリケーション(例えば、ポップアップ)によって発生される軽量メッセージ(lightweight message)を表示して、ポップアップをオーバーレイにレンダリングするコードをスケジューリングする。オーバーレイに用いられるメモリー量は、オーバーレイのエリア・サイズに依存し、オーバーレイは画面の解像度と共にスケーリングする(scale)ことが好ましい。コンカレント・システム・アプリケーションによってフル・ユーザー・インターフェースが用いられる場合、アプリケーションの解像度とは独立した解像度を用いることが好ましい。周波数を変更しTVの同期を取り直す必要性をなくすように、この解像度を設定するためにスケーラーを用いるとよい。
[0079] マルチメディア・コンソール52がブートして、システム・リソースを確保した後、コンカレント・システム・アプリケーションが実行してシステム機能を提供する。システム機能は、前述の確保したシステム・リソースの内部で実行する1組のシステム・アプリケーションの中にカプセル化されている。オペレーティング・システム・カーネルは、システム・アプリケーション・スレッドと、ゲーミング・アプリケーション・スレッドとの間でスレッドを識別する。一貫したシステム・リソース・ビューをアプリケーションに提供するために、システム・アプリケーションは、所定の時点および間隔でCPU101において実行するようにスケジューリングされていることが好ましい。このスケジューリングは、コンソールにおいて実行しているゲーミング・アプリケーションに対するキャッシュ破壊 (disruption)を最少に抑えるためにある。
[0080] コンカレント・システム・アプリケーションがオーディオを必要とする場合、時間に敏感であるため、オーディオ処理を非同期にゲーミング・アプリケーションにスケジューリングする。マルチメディア・コンソール・アプリケーション・マネージャー(以下で説明する)は、システム・アプリケーションがアクティブのとき、マルチメディア・アプリケーションのオーディオ・レベル(例えば、無音化、減衰)を制御する。
[0081] 入力デバイス(例えば、コントローラー142(1)および142(2))は、ゲーミング・アプリケーションおよびシステム・アプリケーションによって共有される。入力デバイスは、確保されるリソースではないが、システム・アプリケーションとゲーミング・アプリケーションとの間で切り換えられて、各々がデバイスのフォーカス(a focus of the device)を有するようにする。アプリケーション・マネージャは、好ましくは、ゲーミング・アプリケーションの知識を用いずに入力ストリームの切換を制御し、ドライバーはフォーカス・スイッチ(focus switches)に関する状態情報を維持する。画像キャプチャー・システム60は、コンソール52に対して(例えば、そのカメラ・システムに対して)追加の入力デバイスを定めることができる。
[0082] 図3Bは、パーソナル・コンピューターのような、計算環境の他の実施形態例を示す。
[0083] 図3Bを参照すると、本技術を実現するシステム例は、コンピューター310の形態とした汎用計算機を含む。コンピューター310のコンポーネントは、限定ではなく、処理ユニット320、システム・メモリー330、およびシステム・バス321を含むことができる。システム・バス321は、システム・メモリーを含む種々のシステム・コンポーネントを処理ユニット320に結合する。システム・バス321は、メモリー・バスまたはメモリー・コントローラー、周辺バス、および種々のバス・アーキテクチャーの内任意のものを用いるローカル・バスを含む、様々なタイプのバス構造の内任意のものとすることができる。一例として、そして限定ではなく、このようなアーキテクチャーは、業界標準アーキテクチャー(ISA)バス、マイクロ・チャネル・アーキテクチャー(MCA)バス、拡張ISA(EISA)バス、ビデオ・エレクトロニクス標準連盟(VESA)ローカル・バス、および メザニン・バス(Mezzanine bus)としても知られている周辺素子相互接続(PCI)バスを含む。
[0084] コンピューター310は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター310によってアクセス可能な任意の入手可能な媒体とすることができ、揮発性および不揮発性、リムーバブルおよび非リムーバブル双方の媒体を含む。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターというような情報の格納のために、任意の方法または技術で実現される、揮発性および不揮発性の双方、リムーバブル媒体および非リムーバブル媒体を含む。コンピューター記憶媒体は、限定ではなく、RAM、ROM、EEPROM、フラッシュ・メモリーまたはその他のメモリー技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピューター310がアクセス可能なその他のあらゆる媒体を含む。通信媒体は、通例、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、またはその他のデーターを、搬送波またはその他の移送機構のような変調データー信号において具体化し、任意の情報配信媒体を含む。「変調信号」という用語は、その信号に情報をエンコードするようなやり方で、1つ以上のその特性が設定または変化させられている信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、RF、赤外線、およびその他のワイヤレス媒体というようなワイヤレス媒体を含む。前述の内任意のものの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれてしかるべきである。
[0085] システム・メモリー330は、リード・オンリ・メモリー(ROM)331およびランダム・アクセス・メモリー(RAM)332のような揮発性および/または不揮発性メモリーの形態をなすコンピューター記憶媒体を含む。基本入出力システム333(BIOS)は、起動中のように、コンピューター310内のエレメント間における情報転送を補助する基本的なルーチンを含み、通例ROM331内に格納されている。RAM332は、通例、処理ユニット320が直ちにアクセス可能であるデーターおよび/またはプログラム・モジュール、あるいは現在処理ユニット320によって処理されているデーターおよび/またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図3は、オペレーティング・システム334、アプリケーション・プログラム335、その他のプログラム・モジュール331、およびプログラム・データー337を示す。
[0086] また、コンピューター310は、その他のリムーバブル/非リムーバブル揮発性/不揮発性コンピューター記憶媒体も含むことができる。一例として示すに過ぎないが、図3Bは、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ340、リムーバブル不揮発性磁気ディスク352からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ351、ならびにCD ROMまたはその他の光媒体のようなリムーバブル不揮発性光ディスク356からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ355を示す。本動作環境例において使用可能なその他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピューター記憶媒体には、限定ではないが、磁気テープ・カセット、フラッシュ・メモリー・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROM等が含まれる。ハード・ディスク・ドライブ341は、通例、インターフェース340のような非リムーバブル・メモリー・インターフェースを介してシステム・バス321に接続され、磁気ディスク・ドライブ351および光ディスク・ドライブ355は、通例、インターフェース350のようなリムーバブル・メモリー・インターフェースによって、システム・バス321に接続する。
[0087] 先に論じ図3Bに示すドライブおよびそれらと関連したコンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、およびコンピューター310のその他のデーターを格納する。図3Bでは、例えば、ハード・ディスク・ドライブ341は、オペレーティング・システム344、アプリケーション・プログラム345、その他のプログラム・モジュール346、およびプログラム・データー347を格納するように示されている。尚、これらのコンポーネントは、オペレーティング・システム334、アプリケーション・プログラム335、その他のプログラム・モジュール336、およびプログラム・データー337と同じでも異なっていても可能であることを注記しておく。オペレーティング・システム344、アプリケーション・プログラム345、その他のプログラム・モジュール346、およびプログラム・データー347は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。ユーザーは、キーボード362のような入力デバイス、および一般にマウス、トラックボールまたはタッチ・パッドと呼ばれているポインティング・デバイス361によって、コマンドおよび情報をコンピューター20に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザー入力インターフェース360を介して、処理ユニット320に接続されている。ユーザー入力インターフェース360は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス(USB)のようなその他のインターフェースおよびバス構造によって接続することも可能である。モニター391またはその他の形式のディスプレイ・デバイスも、ビデオ・インターフェース390のようなインターフェースを介して、システム・バス321に接続されている。モニターに加えて、コンピューターは、スピーカー397およびプリンター396のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース390を通じて接続することができる。
[0088] コンピューター310は、リモート・コンピューター380のような1つ以上のリモート・コンピューターへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモート・コンピューター380は、パーソナル・コンピューター、サーバー、ルータ、ネットワークPC、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピューター310に関して先に説明したエレメントの多くまたは全てを含むが、図3にはメモリー記憶装置381のみが示されている。図3に示す論理接続は、ローカル・エリア・ネットワーク(LAN)371およびワイド・エリア・ネットワーク(WAN)373を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピューター・ネットワーク、イントラネットおよびインターネットにおいては、一般的である。
[0089] LANネットワーク環境で用いる場合、コンピューター310は、ネットワーク・インターフェースまたはアダプター370を介してLAN371に接続される。WANネットワーク環境で用いる場合、コンピューター310は、通例、モデム372、またはインターネットのようなWAN373を介して通信を行うその他の手段を含む。モデム372は、内蔵でも外付けでもよく、ユーザー入力インターフェース310またはその他のしかるべきメカニズムを介してシステム・バス321に接続することができる。ネットワーク接続環境では、コンピューター310に関して図示したプログラム・モジュール、またはその一部は、離れたメモリー記憶装置に格納することもできる。一例として、そして限定ではなく、図3は、リモート・アプリケーション・プログラム385がメモリー・デバイス381上に存在するものとして示している。尚、図示のネットワーク接続は一例であり、コンピューター間で通信リンクを作る他の手段も使用可能であることは認められよう。
[0090] 図4は、アバターによる禁止ジェスチャーの表示を制限する1つ以上の実施形態が動作することができる、ネットワーク接続計算環境の実施形態例を示す。図4に示されるように、複数のコンソール400A〜400X、または図3Aおよび図3Bに示されたような処理デバイスをネットワーク402に結合することができ、更に互いに通信すること、およびネットワーク402を介して、1つ以上のサーバー(1つまたは複数)406を有するネットワーク・ゲーミング・サービス404と通信することができる。サーバー9(1つまたは複数)406は、コンソール400A〜400Xから情報を受信することおよびコンソール400A〜400Xに情報を送信することが可能な通信コンポーネントを含むことができ、コンソール400A〜400Xにおいて実行しているアプリケーションが呼び出して利用することができるサービスの集合体を提供することもできる。
[0091] コンソール400A〜400Xは、ユーザー・ログイン・サービス408を呼び出すことができる。ユーザー・ログイン・サービス408は、コンソール400A〜400Xにおいてユーザーを認証し特定するために使用される。ログインの間、ログイン・サービス408はゲーマー・タグ(gamer tag)(ユーザーと関連付けられている一意の識別子)およびパスワードをユーザーから取得し、更にユーザーが使用しているコンソールを一意に識別するコンソール識別子、およびこのコンソールへのネットワーク・パスも取得する。ゲーマー・タグおよびパスワードは、これらをユーザー・グローバル・プロファイル・データーベース416と比較することによって認証される。グローバル・プロファイル・データーベース416は、ユーザー・ログイン・サービス408と同じサーバーに配置することができ、あるいは1つの異なるサーバーまたは異なるサーバーの集合体に分散することもできる。一旦認証されたなら、ユーザー・ログイン・サービス408はコンソール識別子およびネットワーク・パスをグローバル・ユーザー・プロファイル・データーベース416に格納し、メッセージおよび情報をコンソールに送ることができるようにする。
[0092] 一実施形態では、コンソール400A〜400Xは、ゲーミング・サービス410、共有サービス412、禁止ジェスチャー検出器、ユーザー共有データー428、および交換データーベース418を含むことができる。ゲーミング・サービスは、ユーザーがオンライン・インタラクティブ・ゲームをプレーすること、コンソール間で合同ゲーム・プレーのためのゲーミング環境を作り共有すること、そしてオンライン市場、種々のゲームに跨がる集中達成追跡(centralized achievement tracking)、および他の共有体験機能というような、他のサービスを提供することを可能にするのであるとよい。共有サービス412は、ユーザーが他のユーザーとゲーム・プレー・エレメントを共有することを可能にする。例えば、コンソール400xにおけるユーザーが、ゲームにおいて使用するためのエレメントを作り、これらを他のユーザーと共有するまたはこれらを他のユーザーに販売することができる。加えて、ユーザーは、ゲームにおけるレースのムービーまたは種々の場面というような、ゲーム・プレー体験のエレメントを記録し、これらを他のユーザーと共有することもできる。共有または販売のためにユーザーによって提供される情報は、ユーザー共有データー428に格納することができる。
[0093] グローバル・ユーザー・プロファイル・データーベース416は、ユーザーのアカウント情報、および各ユーザーが使用している個々のコンソールを一意に識別するコンソール識別子というような、コンソール400A〜400Xにおけるユーザー全てについての情報を含むことができる。また、グローバル・ユーザー・プロファイル・データーベース416は、コンソール400A〜400Xにおける全てのユーザーと関連したユーザー好み情報も含むことができる。また、グローバル・ユーザー・プロファイル・データーベース416は、ユーザーと関連したゲーム記録および友人リストのような、ユーザーに関する情報も含むことができる。
[0094] 禁止ジェスチャー検出器は、ゲーミング・サービス404において提供するとよい。禁止ジェスチャー検出器は、サーバーにアップロードされユーザー共有データー428に格納されたゲーム・プレー・エレメントにおいて禁止ジェスチャーおよび動きを検出することができる。交換ジェスチャー・データーベースは、データーベース428におけるユーザー共有データーにアップロードされた禁止ジェスチャーと置き換えるときに使用する交換ジェスチャーを含むことができる。
[0095] 図4に示したようなゲーミング・システムにしたがって、任意の数のネットワーク接続された処理デバイスを設けることができる。したがって、本明細書において紹介される技術は、ゲーミング・サービス404と共に1つ以上のサーバー406において動作することができ、またはデバイス400A〜400Xのような、ネットワーク接続環境における個々の処理デバイスに設けることもできる。
[0096] ターゲット認識、分析、および追跡システム50は、深度画像が人間のターゲットを含むか否か判定することができる。一実施形態では、取り込まれた深度画像の場面における人間のターゲットおよび人間以外のターゲットというような各ターゲットのエッジを判定することができる。前述のように、深度値の各々は、カメラ70から取り込まれた場面における物体の長さまたは距離というような深度値を、例えば、センチメートル、ミリメートル等の単位で表すことができる。実施形態例によれば、エッジを判定するには、例えば、深度画像の隣接する画素または近隣の画素と関連した種々の値同士を比較すればよい。比較された種々の深度値が所定のエッジ許容度(tolerance)よりも大きい場合、その画素はエッジを定めると考えられる。一実施形態では、所定のエッジ許容度は、例えば、100ミリメートルとするとよい。1000ミリメートルの深度値を表す画素が、1200ミリメートルの深度値を表す隣接画素と比較された場合、これらの画素はターゲットのエッジを定めることができる。何故なら、これらの画素間の長さまたは距離の差が、100mmという所定のエッジ許容度よりも大きいからである。
[0097] 他の実施形態によれば、深度画像における所定のポイントまたはエリアを塗り潰して(flood fill)、深度画像が人間のターゲットを含むか否か判断することができる。例えば、深度画像の選択されたエリアまたはポイントにおける画素の種々の深度値を比較して、前述のようにターゲットまたは物体を定めることができるエッジを判定することができる。実施形態例では、所定のポイントまたはエリアが深度画像全体に均一に分布されているとよい。例えば、所定のポイントまたはエリアは、深度画像の中心にあるポイントまたはエリア、深度画像の左エッジと中心との間にある2つのポイントまたはエリア、深度画像の右エッジと中心との間にある2つのポイントまたはエリアなどを含むことができる。
[0098] 判定されたエッジに基づいて、ZレイヤーのZ値を塗り潰すことができる。例えば、判定されたエッジと関連した画素、および判定されたエッジの内部にあるエリアの画素を互いに関連付けて、キャプチャー・エリアの中にあるターゲットまたは物体を定めることができ、これをパターンと比較することができる。
[0099] 実施形態例によれば、塗り潰したターゲット、人間および人間以外のターゲットの各々をパターンと照合して、キャプチャー・エリアの中にいるターゲットが人間を含むか否か、および/またはどのターゲットが人間を含むか判定することができる。このパターンは、例えば、両腕が各側にある典型的な起立姿勢というような、種々の位置または姿勢の人間と関連した所定の身体モデルのマシン表現を含むことができる。
データーにおける身体部分の識別および表現
[00100] 実施形態例では、人間のターゲットを分離し、この人間のターゲットのビットマスクを作り、1つ以上の身体部分を求めて走査することができる。例えば、深度画像内において有効な人間のターゲットが発見された後、背景またはこの人間のターゲットと一致しない深度画像のエリアを除去することができる。次いで、例えば、X、Y、およびZ軸に沿って人間のターゲットの値を含むことができるビットマスクを、この人間のターゲットに生成することができる。実施形態例によれば、例えば、頭部から始めて、人間のターゲットのビットマスクを走査して、種々の身体部分を求め、人間のターゲットのモデルを生成することができる。ビットマスクの最上部を、頭部の最上部の位置と関連付けることができる。頭部の最上部を決定した後、下に向かってビットマスクを走査し、首の位置、肩の位置等を判定することができる。画素がモデルにおける特定の仮想身体部分と関連がある確率を含むように、深度マップまたは深度画像を更新することができる。
[00101] 実施形態例によれば、身体部分の値を判定するときに、データー構造を作ることができる。このデーター構造は、人間のターゲットのビットマスクと関連した身体部分の長さ、幅等のような測定値を含むことができる。一実施形態では、身体部分のデーター構造は、フレーム・レートでキャプチャー・システム60においてフレーム単位で取り込まれた複数の深度画像から平均を取った結果を含むことができる。このモデルは、あるフレーム数毎に繰り返し調節することができる。他の実施形態によれば、判定された身体部分の測定値を拡大、縮小等のように調節して、データー構造における測定値が、人間の身体の典型的なモデルにより密接に対応するようにすることができる。身体モデルは、任意の数の身体部分を含むことができ、その各々が、モデル化されたターゲットの対応する部分の任意の機械理解可能な表現とするとよい。
[00102] 2つ以上の身体部分を含むモデルの例では、このモデルの各身体部分が、1つ以上の構造部材(即ち、「骨」)を含み、隣接する骨の交点に関節が位置する。例えば、ビットマスクによって決定された測定値を使用して、スケルトン・モデルにおける1つ以上の関節を定めることができる。1つ以上の関節を使用して、人間の身体部分に対応すると考えられる1つ以上の骨を定めることができる。各関節は、1つ以上の身体部分が1つ以上の他の身体部分に対して動くことを可能にする場合もある。例えば、人間のターゲットを表すモデルが、複数の硬質で(rigid)および/または変形可能な身体部分を含むことができ、一部の身体部分は、人間のターゲットの対応する解剖学的身体部分を表すことができる。各身体部分は、スケルトン・モデルの関節および骨を定める数学的ベクトルとして特徴付けることができる。尚、一部の骨には人間のターゲットにおける解剖学的な骨に対応すると考えられるものがあること、および/または骨の一部は人間のターゲットにおいて対応する解剖学的な骨を有さないと考えられるものがあることは理解されてしかるべきであろう。
[00103] 骨および関節は、集合的にスケルトン・モデルを構成することができ、このスケルトン・モデルが他のモデルの構成エレメントとなることもある。このスケルトン・モデルは、身体部分毎に1つ以上のスケルトン部材と、隣接するスケルトン部材間に関節とを含む。三次元スケルトン・モデルの例、スケルトン・モデル407およびスケルトン・モデル408を、それぞれ、図5Aおよび図5Bに示す。図5Aは、前方から見たスケルトン・モデル407を示し、関節j1〜j33までを有する。スケルトン・モデル407は、1つ以上の関節j1〜j33を含むことができる。実施形態例によれば、関節j1〜j33の各々は、それらの間に定められている1つ以上の身体部分が1つ以上の他の身体部分に対して動くこと、そして互いに独立して動くことを可能にすることができる。例えば、関節j17およびj19間に定められている骨は、前腕に対応することができ、この前腕は、例えば、ふくらはぎに対応することができる関節j23およびj25間に定められている骨とは独立して動かすことができる。
[00104] 図5Bは、歪んだ視点から見たときのスケルトン・モデル408を示し、同様に関節j1〜j33までがある。更に、スケルトン・モデル408はねじり関節j34からj47までも含み、各ねじり関節(roll joint)は、軸ねじれ角(axial roll angle)を追跡するために利用することができる。例えば、軸ねじれ角は、親肢および/または胴体に対する肢の回転方位を定めるために使用することができる。例えば、スケルトン・モデルが腕の軸回転を示している場合、ねじり関節j40は、関連した手首が指し示す方向を示すために使用することができる(例えば、掌を上に向けている)。つまり、以下で説明するように、関節は力を受けてスケルトン・モデルを調節することができるが、一方、ねじり関節は、代わりに、軸ねじれ角を追跡するために組み立てて利用することができる。更に一般的には、親肢および/または胴体に対する肢の方位を調べることによって、軸ねじれ角を判定することもできる。例えば、下肢を調べる場合、軸ねじれ角度を判定するために関連した上肢および臀部に対する下肢の方位も調べることができる。
関節および骨、ならびに力ベクトルの適用
[00105] ユーザーが物理空間において動き、画像キャプチャー・システム60によって取り込まれると、結果的に得られた画像データーは、スケルトン・モデルが正確にユーザーを表すように、スケルトン・モデルを調節するために使用することができる。実施形態例によれば、モデルをラスタ化して合成深度画像を得ることができる。ラスタ化によって、数学的ベクトル、ポリゴン・メッシュ、または他のオブジェクトによって記述されたモデルを、画素に関する合成深度画像に変換することが可能になる。キャプチャー・システムによって引き出されたターゲットの被観察イメージと、モデルのラスタ化された(即ち、合成された)イメージとの間の差を使用して力ベクトルを決定することができる。この力ベクトルは、身体を異なる姿勢に調節するためにモデルに適用される。一実施形態では、1つ以上の力ベクトルを 1つ以上の受力面(force receiving aspect)に適用して、キャプチャー・エリアの物理空間におけるターゲットの姿勢に一層緊密に対応する姿勢に、モデルを調節することができる。このモデルは、フレームが取り込まれるに連れて繰り返し調節することができる。使用されているモデルのタイプに依存して、力ベクトルは、関節、身体部分の重心、三角形の頂角、またはモデルの任意の他の適した受力面に適用することができる。更に、実施形態によっては、力の方向および/または大きさを決定するときに、2つ以上の異なる計算を使用するとよい場合もある。
[00106] 制約
[00107] 画面上のキャラクターの視覚的外観は、追跡されているスケルトン・モデルに対する変更および制約に応答して、変更することもできる。力を加えたときにスケルトン・モデルの完全性を維持することは、1つ以上の制約を適用することの結果得ることができる。異なる可能なモデル・タイプの完全性を維持するためには、種々の異なる制約を強制することができる。
[00108] モデルを修正する各繰り返しの間、行為およびジェスチャーの集合を、1つ以上のターゲットの1つ以上の実際の身体によって物理的に表現可能なものに制限するために、動きまたは姿勢に対して緩やかにおよび/または徐々に制約を適用することができる。加えてまたは代わりに、ターゲットに基づいて各スケルトン部材の長さを計算し、これらの長さが修正の間制約として使用できるようにすることによって、スケルトン・モデルに制約を加えることもできる。例えば、ターゲットの身体の種々の部分の寸法(例えば、腕の長さ、臀部の幅、頭の大きさ等)は、身体モデルの種々のバージョンをレンダリングし、各レンダリングにおいて寸法を変更して使用し、1つ以上の適したメトリックにしたがってターゲットに最も緊密に一致するレンダリングの寸法を選択することによって決定することができる。他の例では、1回のレンダリングを行うのでもよく、レンダリングが被観察深度画像に一致する特定のエリア、および一致しない特定のエリアの分析によって、適正な身体の寸法を推論することができる。実施形態の中には、ターゲットの異なる部分がある時間枠(例えば、1秒の30分の1または60分の1)において動くことができる距離を制限することができるという知識を、モデルを得るときの制約として使用することができる。このような制約は、以前の枠が解っているときに、ある種の姿勢を除外するために使用することもできる。
[00109] 関節角度の制約に関して、ある種の肢および身体部分は、隣接する身体部分に対するそれらの運動範囲を制限するとよい。加えて、この運動範囲は、隣接する身体部分の方位に基づいて変化することもある。つまり、関節角度の制約を適用することによって、親肢(parent limps)および/または身体部分の方位が示されたときに、肢節(limb segment)を可能な構成に制約することが可能になるとよい。
[00110] 図6Aおよび図6Bは、モデルの力受け取り位置に力を加える例、および力を加えた結果を示す。図6Aは、スケルトン・モデル407を示し、被観察深度画像に一層緊密に一致させるためにスケルトン・モデル407の一方の腕を真っ直ぐに伸ばす目的で、力ベクトル492が関節j18(例えば、肘)に加えられ、力ベクトル494が関節j20(例えば、手首)に加えられる。図6Cは、図6Aのユーザーのモデルを表す画面上のアバター500の視覚的外観を示す。図6Bは、力が加えられた後におけるスケルトン・モデル409を示す。図6Bは、加えられた力が、モデルの姿勢をどのように調節したかを示す。図6Bに示されるように、スケルトン部材の長さは、保存することができる。更に示されるように、関節j2の位置は、スケルトン・モデルの肩に残っている。これは、人間が腕を伸ばした場合に予期されることである。言い換えると、スケルトン・モデルは、力が加えられた後元のままになっている。図6Bに示されている変更のような、モデルに対する変更に応答して、アバター制御システム202は、図6Dに示されている、調節されて腕を伸ばしたプレーヤー・アバター502を、オーディオビジュアル・ディスプレイ・システム56に表示させる。
[00111] ターゲットのモデルは、本開示の範囲から逸脱することなく、種々に構成することができる。例の中には、モデルが1つ以上のデーター構造を含み、これらが、硬質および/または変形可能な形状、または身体部分を含む二次元または三次元モデルとして、ターゲットを表すことができる場合もある。各身体部分は、数学的原子関数として特徴付けることができ、その例には、球体、異方的スケーリングされた球体、円筒、異方性円筒、滑らかな円筒、ボックス、面取されたボックス(beveled box)、角柱などが含まれるが、これらに限定されるのではない。
[00112] 前述のように、モデルの中には、モデル化されたターゲットのマシン表現として作用するスケルトンおよび/または身体部分を含むことができるものもある。実施形態の中には、代わりにまたは加えて、モデルが、ワイヤフレーム・メッシュを含むとよい場合もある。フレーム・メッシュは、硬質なポリゴン・メッシュ(例えば、三角形)の階層、1つ以上の変形可能なメッシュ、または身体モデルの形状を定めるメッシュに配置されたこれら2つの任意の組み合わせを含むことができる。このようなメッシュは、ポリゴン・エッジ毎に、折り曲げ限界を含むとよい。他の例では、モデルの中には、パッチ、非均一回転B−スプライン、または他の高次表面を含むことができるものもある。また、モデルは、より精度高く衣服、髪、および/またはモデル化されたターゲットの他の態様を表すために、表面模様および/または他の情報も含むことができる。
[00113] ターゲット認識、分析、および追跡システムは、1つ以上の動きを含むモーション・キャプチャー・ファイルをレンダリングおよび格納することができる。このような動きの例には、ユーザーに特定の手を振る動き、ゴルフ・スウィングのような素振りの動き、殴る動き、歩く動き、走る動き等がある。一実施形態によれば、モーション・キャプチャー・ファイルは、追跡されているモデルと関連した情報に基づいて、リアル・タイムに生成することができる。例えば、一実施形態では、モーション・キャプチャー・ファイルは、例えば、種々の時点において、追跡されているときのモデルの関節および骨を定めることができるX、Y、およびZ値を含むベクトルを含むことができる。
[00114] 一実施形態例では、ユーザーに、モーション・キャプチャー・ファイルに取り込むことができる種々の動きを行うように促すことができる。例えば、インターフェースを表示して、例えば、歩く、またはゴルフの素振りの動きを行うようにユーザーに促すことができる。前述のように、追跡されているモデルは、次に、種々の時点におけるこれらの動きに基づいて調節することができ、促された動きに対するモデルのモーション・キャプチャー・ファイルを生成して格納することができる。
[00115] 一実施形態によれば、モーション・キャプチャー・ファイルは、例えば、異なる時点におけるユーザーの動きのスナップショットに対応するフレームを含むことができる。追跡されているモデルを取り込むとき、このモデルと関連した情報は、任意の動きまたは特定の時点においてこれに適用された調節を含み、モーション・キャプチャー・ファイルのフレームにレンダリングすることができる。このフレームの中にある情報は、例えば、追跡されているモデルの関節および骨を定めることができるX、Y、およびZ値を含むベクトルと、例えば、追跡されているモデルのポーズに対応する動きをユーザーが行った時点を示すことができるタイム・スタンプとを含むことができる。
[00116] 例えば、図6Bに示されているモデル408は、ユーザーが最初に彼または彼女の左肘を伸ばした時点に対応することができる。この動きは、当該動きに対する関節および骨のX、Y、およびZ値のような情報を含み、例えば、ユーザーが彼または彼女の左腕を伸ばした時点と関連付けられた第1タイム・スタンプを有する、モーション・キャプチャー・ファイルの第1フレームにレンダリングすることができる。
[00117] 同様に、図6Bでは、ユーザーによる同様の動きに応答して、モデルが手首の関節j20を延ばし、この動きは後の時点に対応することができる。動きは、その動きに対する関節および骨のX、Y、およびZ値のような情報を含み、例えば、ユーザーが彼または彼女の肘および手首を伸ばした異なる時点と関連付けられた第1および第2タイム・スタンプをそれぞれ有する、モーション・キャプチャー・ファイルの第1および第2フレームにそれぞれレンダリングすることができる。
[00118] モーション・キャプチャー・ファイルは、アバターまたはゲーム・キャラクターに適用することもできる。例えば、ターゲット認識、分析、および追跡システムは、モーション・キャプチャー・ファイルに取り込まれている、追跡されているモデルの1つ以上の動きを、アバターまたはゲーム・キャラクターに適用することができ、このアバターまたはゲーム・キャラクターが、図1Aおよび図1Bに関して先に説明したユーザー58のような、ユーザーによって行われる動きを真似するように、動画化することができる。実施形態例では、モーション・キャプチャー・ファイルに取り込まれたモデルの関節および骨を、ゲーム・キャラクターまたはアバターの特定の部分にマッピングすることができる。例えば、左肘j18と関連した関節を、アバターまたはゲーム・キャラクターの左腕にマッピングすることができる(例えば、図6Dにおける502)。次いで、モーション・キャプチャー・ファイルの各フレームにおいてユーザーのモデルと関連した左肘の動きを真似するように、左肘を動画化することができる。
[00119] 実施形態例によれば、ターゲット認識、分析、および追跡システムは、モーション・キャプチャー・ファイルに動きが取り込まれるときに、1つ以上の動きを適用することができる。つまり、フレームがモーション・キャプチャー・ファイルにレンダリングされると、そのフレームに取り込まれた動きをアバターまたはゲーム・キャラクターに適用することができ、このフレームに取り込まれた動きを直ちに真似するように、アバターまたはゲーム・キャラクターを動画化することができる。
[00120] 他の実施形態では、ターゲット認識、分析、および追跡システムは、動きがモーション・キャプチャー・ファイルに取り込まれた後に、1つ以上の動きを適用することもできる。例えば、歩行の動きというような動きがユーザーによって行われ、取り込まれ、モーション・キャプチャー・ファイルに格納されるのでもよい。この歩行の動きは、次に、ユーザーが彼または彼女の足を上げる毎に、アバターに歩行させるジェスチャーまたはコマンドとして、アバターまたはゲーム・キャラクターに適用することができる。次いで、アバターは歩行し始めることができ、ユーザーと関連がありモーション・キャプチャー・ファイルに格納された歩行の動きに基づいて、動画化することができる。このように、画面上のキャラクターの視覚的外観は、モーション・キャプチャー・ファイルに応答して変化させることができる。更に、画面上のアバターは、ユーザーの実際の動きを真似るように動画化することができる。例えば、ユーザーがゴルフ・クラブを振る動作がモーション・キャプチャー・ファイルに取り込まれ、これと全く同じように、ゴルフ・クラブを振るようにアバターが動画化される。
[00121] スケルトン・モデル(例えば、407または700)のようなモデルは、ユーザーの動きを分析し、これらを追跡するアバターの動きを表示するために、動きモジュール204およびアバター表示制御モジュール209のような、アバター制御システム202における異なるモジュールに対して、共通の参照基準を設ける。
[00122] 本技術と共に使用することができる画像キャプチャー・システムおよびその処理についての更に詳細な情報については、以下の出願を参照することができる。2009年5月29日に出願された"Environment And/Or Target Segmentation"(環境および/またはターゲット区分)、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年10月21に出願された米国特許出願第12/603,437号、"Pose Tracking Pipeline"(姿勢追跡パイプライン)、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年5月29日に出願された米国特許出願第12/475,308号、"Device for Identifying and Tracking Multiple Humans Over Time"(ときの経過と共に複数の人間を識別および追跡するデバイス)、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年12月18日に出願された"Motion Detection Using Depth Images"(深度画像を使用した動き検出)、ここで引用したことにより本願にもその内容全体が含まれるものとする。 2009年10月7日に出願された米国特許出願第12/575,388号"Human Tracking System"(人間追跡システム)、ここで引用したことにより本願にもその内容全体が含まれるものとする。
ジェスチャー判定
[00123] ユーザーの自然な動きを取り込む1つ以上の実施形態では、キャプチャー・システム60は、ユーザーが適時に(in time)動くと、表示画面54上の場面を更新するために、動き追跡のためのデーター205lを、通信可能に結合されている動きモジュール204に繰り返し送る。先の例では、動き追跡データーは、異なる関節に関するベクトル、動きの変化を示すための重心またはノードというようなスケルトン・モデルの何らかの形態に関して参照されるデーターを含むことができる。このような変化は、モーション・キャプチャー・ファイルに取り込むことができる。このデーターは、ベクトル・データーをラスタ化することによって作られた合成画素データー表現を基準にする(reference)こともできる。また、このデーターは、どの身体部分が動いているのか検出するために、各更新において比較のためにユーザーのビットマスクを含むこともできる。各身体部分は、識別できるように、インデックス化されており、居間にある家具というようなキャプチャー・エリアの他の部分は、背景として識別され、ユーザーは、それぞれの身体部分についてのマシン表現可能データーをこれらにリンクできるように、インデックス化される。
[00124] 動きモジュール204は、インデックスを使用して、どの身体部分が更新の間に位置を変化させたか識別することができる。異なる身体部分毎に、ジェスチャー・フィルター206が関連付けられている。ジェスチャー・フィルター206は、更新205または一連の更新において示された動きが、ジェスチャーを表すか否か判断するための命令を含む。このジェスチャーは、動き自体または最終的な姿勢とすることができる。先に論じたように、ジェスチャーは、通常アプリケーションのコンテキストにおける意味を有するが、アプリケーションに関係なく、異なる文化では不快になる意味を有する可能性もある。動きモジュール204は、これらの行為に対する特定のジェスチャー・フィルターを有する。これらの行為を、以後禁止ジェスチャーと呼び、これらを認識するために、種々の身体部分と関連した動き追跡データーと、禁止ジェスチャーを比較する。
[00125] 一実施形態では、ジェスチャー・フィルター206は、ジェスチャーに伴う1つ以上の身体部分についての動き追跡データーを、そのジェスチャーを定める動き特性に関する規準を含むパラメーターと比較する命令を実行する。動き特性の例には、位置、角度、速度、および加速度が含まれる。例えば、投げる場合、一方の手が身体の背後から身体の前を通過する運動が含まれ、ユーザーの一方の手が身体の背後から身体の前を通過する動きを表す情報を含むジェスチャーとして実現することができる。この動きは、深度カメラによって取り込まれる。「投げる」に対するパラメーターの例には、手が到達しなければならないしきい値速度、手が移動しなければならない距離(絶対的またはユーザー全体の大きさに対して相対的な距離)、および身体の背後からその前面を通過する手の動く方向が含まれる。これらのパラメーターは、その対応するジェスチャーについてのメタデーターとして格納することができる。パラメーターは、ジェスチャーについての多様な動き特性の内任意のものを含むことができる。フィルターがパラメーターを含む場合、そのパラメーター値は異なる形態をなすことができる。例えば、しきい値、絶対値、フォールト・トレランス、または範囲であってもよい。
[00126] パラメーターによって表すことができる動き特性の更に別の例には、次のようなものがある。ジェスチャーに関与する身体部分、動きの身体部分に対する角度、関節、他の身体部分またはスケルトン・モデルによって表されるユーザーの身体の重心、身体部分または身体全体の位置変化、および身体部分または身体全体が動いた距離である。加えて、特性の他の例には、ユーザーの身体周囲において身体部分が動く空間の広さ(volume)、動きの方向、身体部分の動きの速度、動きが起こる場所、場面における身体部分と他の物体との間の角度、加速度しきい値、ジェスチャーの時間期間、ジェスチャーの特定時間、および解放点(release point)がある。
[00127] 実施形態では、パラメーターの値は、アプリケーションのエンド・ユーザーがジェスチャーを行うことによって決定される。例えば、ユーザーが、どの動きがジェスチャーを構成すると彼が信じるか指定することができるように、アプリケーションがユーザーにそれを訓練させるとよい。これは、ユーザーが、彼または彼女の運動能力によって正しい制御を行うことなく、ユーザーが行うことができる動きを対応するジェスチャーにリンクさせることができるという利点があると考えられる。これが利用可能でないと、ユーザーは、ジェスチャーを行うためにアプリケーションによって要求されるように彼の身体を動かすことができないので、いらいらする可能性がある。例えば、ピッチャーが50mphと105mphとの間の任意の整数の速度で投球を行う野球ゲームを仮定し、ユーザーがジェスチャーを行うときの最大の腕の速度にその速度が基づくとすると、これら56通りの可能な速度の各々に対して、別の1組のパラメーターを定めるのは厄介である。代わりに、アプリケーションには、ユーザーの最大の腕の速度でジェスチャーが行われたことの指示を与えればよく、次いで、アプリケーションは内部ロジックを使用して、対応するピッチャーのアバターが投球を行うべき速度を決定することができる。
[00128] 実施形態では、ユーザーは彼の声も使用して、ジェスチャーを行う、補強する、区別する、または明確にする。この実施形態では、動きモジュール204は音声データーを受け取り、データーと音声データーとの組み合わせがジェスチャーを示すと判断する。例えば、ユーザーは、彼の口を開いて閉じることによって、歌うジェスチャーを行うことができるが、特定の音程を歌うことによって、その歌うジェスチャーのその音程を指定することができる。加えて、ユーザーは、「通常のパンチ」のジェスチャーを行いながら叫ぶことによって、「通常のパンチ」ではなく、「強いパンチ」のジェスチャーを行うことができるとよい。
[00129] 一例では、ジェスチャー・フィルター206の規準が、モデル・データー216に格納されている、図5A〜図7に示されているスケルトン・モデルの1つ以上のような、スケルトン・モデルを参照する。このフィルターは、パラメーター規準が満たされているか否か判断するときに、深度値、またはスケルトン・データーに関するベクトル、または色画像データー、あるいはこれらの内2つ以上の組み合わせを処理することができる、コードおよび関連データーを含むことができる。例えば、フィルターへの入力は、ユーザーの関節位置についての関節データー、関節でつながる骨が形成する角度、衝突検査に役立つことができるユーザーのRGB色データー、およびユーザーの態様(aspect)の変化率というような事項を含むことができる。入力データー205は、位置、速度、動きの方向、関節角度などが変化するに連れて、ジェスチャーに関与する1つ以上の身体部分についての以前の測位データー集合も一緒に、提示することができる。
[00130] 一致があるか否かは、1つ以上の出力される信頼性レベルによって表すことができる。一例では、信頼性レベルは、0と1(1も含む)との間の浮動小数点数を範囲とする線形目盛り上で実現することができる。実施形態では、信頼性レベルの判定は、フィルターと関連したパラメーターに基づくブール判定を含むことができる。例えば、各パラメーターには、それと関連した動き特性が作られていることについてそれ自体の信頼性レベルが関連付けられており、動きモジュール204はそのジェスチャー判定のためにこの信頼性レベルを引き出すことができる。各パラメーターに重みおよびその信頼性レベルを与えることもでき、ジェスチャー全体が行われていることの信頼性レベルを判定するために、重み付け技法によってこの信頼性レベルを使用することができる。
[00131] 加えて、所与のジェスチャーについて動き特性の出力があってもよい。動き特性の例には、時間、速度、加速度、またはジェスチャーが作る角度が含まれる。アバター制御表示モジュール209は、動き特性をアバターについての画像データー219に組み込むことができる。
[00132] 一実施形態では、動きモジュール204は、 認識されたジェスチャーおよび他の動きを追跡する経時入力アーカイブを維持する。例えば、モーション・キャプチャー・ファイルを、アプリケーションのセッションまたはインスタンス(例えば、ゲーム)のスケルトン・データー変化に対してセーブすることができる。一例では、動きモジュール204は、隠れマルコフ・モデルを実装し、モデル化されるシステムは、未知のパラメーターを有するマルコフ・プロセスであると仮定される。このプロセスでは、現在の状態が、今後の状態を判定するために必要な任意の過去の状態情報をカプセル化するので、この目的のために他の過去の状態情報を維持しなくてもよい。未知のパラメーター、および隠れているパラメーターは、観察可能なデーターから判定される。
[00133] 動きモジュール204が分析するために、対応するフィルターが含むジェスチャーおよびパラメーターの例は、本技術の1つ以上の実施形態によって使用することができる図7におけるユーザーのより簡略化されたスケルトン・マッピング700を参照して、例示の目的で設けられている。ユーザーのスケルトン・マッピング例700は、オーディオビジュアル・データー・キャプチャー・システム60によって取り込まれる動き追跡データー205から生成されているとよい。この実施形態では、種々の関節および骨が識別される。即ち、各指701a〜701j、各手703a、703b、各手首702a、702b、各前腕704a、704b、各肘706a、706b、各二頭筋708a、708b、各肩710a、710b、各臀部712a、712b、各腿714a、714b、各膝716a、716b、各前肢718a、718b、各足720a、720b、頭部722、胴体724、脊柱の上端726および下端728、およびウェスト730が識別される。更に多くのポイントを追跡する場合、鼻や目というような、顔の個々の特徴というような、追加の特徴を識別することもできる。追跡するデーターが多い程、更に詳細なジェスチャー、または唇をすぼめるというような更に繊細な動きを追跡することができる。しかしながら、追跡するデーター変化が多い程、アバターの表示が遅くなる可能性もある。
[00134] 他のジェスチャー例に、「踵上げジャンプ」(heel lift jump)がある。この場合、ユーザーは、彼の踵を地面から上げるが、彼のつま先を付けたままにすることによって、このジェスチャーを行うことができる。あるいは、ユーザーは空中にジャンプすることもでき、この場合彼の両足720は完全に地上から離れている。本システムは、肩710、臀部712、および膝716の角度関係を分析することによって、このジェスチャーについてスケルトンを解析し、これらが、真っ直ぐに直立するときと等しい並び(alignment)の位置にあるか否か調べることができる。次いで、これらのポイントならびに上下の脊椎点726および728を監視して、あらゆる上方向への加速度を求めることができる。十分な加速度の組み合わせがあると、ジャンプ・ジェスチャーをトリガーすることができる。
[00135] この「踵上げジャンプ」ジェスチャーを想定した場合、パラメーターは、このジェスチャーをトリガーするためには、ユーザーの肩710、臀部712、および膝716の何らかの組み合わせが、どの位速く上に動かなければならないかを決定する前述の加速度しきい値、ならびに、ジャンプをまだトリガーすることができる肩710、臀部712、および膝716の間の並びの最大角を含むことができる。出力は、確実度レベル、およびジャンプの時点におけるユーザーの身体の角度を含むとよい。
[00136] 禁止行為またはジェスチャーの例は、立てた中指を除く拳とすることができる。これは、相手に中指を立てる(flipping someone off or flipping someone the bird)と呼ばれることもある。動きモジュール204は、1本以上の指701aから701jまでに関して動きの変化を判定することができる。一例では、画像キャプチャー・システム60は、開いた位置または閉じた位置に対応して、指毎に0または1のビットマスクの値を割り当てる。「相手に中指を立てる」ポーズに対するジェスチャー・フィルターは、指の身体部分にリンクされているデーター205の部分を調べて(traverse)、どの指が開いており、どの指が閉じているか判断する。手の中指だけが立てられている、即ち、「開いている」ことに応答して、対応するジェスチャー・フィルター206は、このジェスチャーを描写するのを回避するために、アバターの表示の変更をトリガーするのに十分高い確率を示す信頼性レベルを返す。
[00137] 動きモジュール204は、中指を立てるジェスチャー・フィルターと関連した禁止ジェスチャー・ライブラリー・モジュール210にリンクする。禁止ジェスチャー・ライブラリー・モジュール210の処理は、変更のための1つ以上の選択肢を含むことができる。1つの選択肢は、単なる省略、即ち、立てた指を表示しないことである。立てた指を省略すると、拳の表示のみを残すことができる。言い換えると、指を立てる動きは、アバターの表示のための画像データー219の中では表現されなくすることができる。他の選択肢は、ディスプレイ上で禁止ジェスチャーを視覚的に隠すフィルタリング技法を適用することである。
[00138] 本技術と共に使用することができる画像キャプチャー・システムおよびその処理についての更に詳細な情報については、以下の出願を参照することができる。2009年5月29日に出願された米国特許出願第12/474,655号、"Gesture Tool"(ジェスチャー・ツール)、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年4月13日に出願された米国特許出願第12/422,661号"Gesture Recognizer System Architecture"(ジェスチャー認識システムのアーキテクチャー)、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年2月23日に出願された米国特許第12/391,150号"Standard Gestures"(標準的なジェスチャー)、ここで引用したことにより本願にもその内容全体が含まれるものとする。
[00139] 図8Aは、アバター801の表示において禁止ジェスチャーを視覚的に隠すフィルタリング技法の例を示す。このような技法の一例は、図8Aに示されているモザイク(pixelation)である。立てた中指を含むアバター801の左手803bは、種々の色または中間色805の画素で覆われており、禁止ジェスチャーが画像では隠されるようになっている。
[00140] 他の選択肢は、代わりに他の動きまたは姿勢と交換することである。禁止ジェスチャー・モジュール210は、交換画像データー処理命令212を含むことができ、または交換画像データー処理212に対する命令を有するルーチンをコールすることができる。禁止ジェスチャー・モジュール210は、プログラミングの優先度によって指令されることがあると、この処理212にリンクされる。
[00141] 図8Bは、禁止ジェスチャーと置き換えるためにスケルトン・モデル例に適用される交換画像データーの一例を示し、図8Cは、図8Bにおける例の交換画像データーを表示するように更新されたアバターを示す。このジェスチャーについての動きデーターは、異なる、不快感が少ない、アバターの動きデーターと置き換えられる。この例では、手を振ることが、相手に中指を立てることと交換される。手を振る動作を生成するために、「録画された」または格納されたアニメーション・データー(例えば、モーション・キャプチャー・ファイル)が用いられる。一例では、指の動きは、それらと関連した関節に対する「開く」または「閉じる」という表現にかなり制限され、指の関節の位置を示すためにビット値が使用される。左手の指に対するデーター構造は、これらが全て広げられるように指定される。この例は、図8Bに示されるスケルトン・データー・モデルの上半分807において反映され、手を振るために、スケルトン指関節701f〜701jは左手703bにおいて開いている、即ち、広げられている。図8Cにおける対応するアバター801は、「関節」804f〜804jによって表されるように、彼のモデルに対して更新されたスケルトン指データーと一致して、彼の左手803bの指を振る。加えて、アバターの手首の関節802b、前腕804b、肘806b、二頭筋808b、および肩の関節810bは、図8Bにおけるユーザーのスケルトン・モデルの対応する関節702b、704b、706b、708b、および710bの動きを真似する。
[00142] 禁止ジェスチャーまたは禁止行為は、姿勢自体ではなく、キャプチャー・エリアの中にある他の物体との相互作用であることもある。図9Aは、2人のユーザーについてのスケルトン・モデル・データーによって例示された、禁止相互作用の一例を示す。図9Aに示されている例では、モデル904と関連したユーザーは、女性アバターによって表されている。彼女のスケルトン・データー・モデル904は、彼女の胸部に禁止ゾーン952を含む。禁止ゾーンは、モデルに関して定められる表面または空間の広がりとすることができる。女性アバターの胸部以外では、このような禁止ゾーンの他の例には、男性または女性アバターいずれもの生殖領域がある。これらの禁止エリアは、卑猥なジェスチャーが行われそうな領域であり、ゲームや業務用アプリケーションというような、アバターを使用する多くのアプリケーションにおいて、一般的に適切さを欠いている。
[00143] 一例では、異なるユーザー、およびこれらのユーザーの内1人について定められた禁止ゾーン952と関連付けられている深度データーに基づいて、直接動き追跡処理(straight-through motion tracking processing)が行われようとしている場合、スケルトン・モデル902、例えば、この場合男性ユーザーが女性アバター904の禁止ゾーン952における不適切な接触を表す。
[00144] 図9Bは、2人のユーザーについてのスケルトン・モデル・データーによって例示された、図9Aの禁止相互作用の例について、動きデーターの形態とした画像データーを交換する例を示す。この例では、動きモジュール204は、ジェスチャー・フィルター206をコールする、または処理自体を実行して、他の場面のオブジェクト、この場合は不快にする手を、禁止ゾーン952の外側にマッピングし直すことができる。一例では、力ベクトル(同じ拡縮率では描かれておらず、角度も正確には描かれていない)によって動きを表し、ベクトルf2は、肩の関節2が上に向かってやや右よりに動いたことを示す。ベクトル力f18は、上方向の動きおよび肘関節j18の右への並進を示す。ベクトル力f20は、上向きの動きおよび手首関節j20の右への並進を示す。そして、力ベクトルf22(図面では見やすくするために大きくそして広くなっているが、大きさを表すのではない)は関節j22を押し上げる。これは、指関節(knuckle)即ち指の関節が上および右に移り、スケルトン・モデル902と関連した手が今ではユーザー905の肩の上に載っていることを表す。この異なる動きのデーター(例えば、モーション・キャプチャー・ファイルに格納することができるようなデーター)の交換は、禁止ゾーン952と関連した禁止ジェスチャー・モジュール210と関連した交換ライブラリー処理モジュール212において定めることができる。交換動き処理を組み込むために、アニメーション・ブレンディングおよびリマッピング技法を使用することもできる。ブレンディングまたはリマッピングによっていくらかの遅延が生ずる場合もある。一般に、同様の動作を使用する場合、交換動作を実施するタイミングは、元のジェスチャーを表示するタイミングと同様である。動作間における類似性の一例では、同じ身体部分を使用している。他の例では、禁止ゾーンに近いエリアと相互作用することである。中指のジェスチャーの代わりに、掌または手を振る様子を表示することは、同様の身体部分を使用する適した動作の一例である。手を振る例では、5本の指全てを広げることを命令すると、中指だけを立てる場合とほぼ同じ時間量がかかる。接触を胸部ではなく肩に移すことは、動作のタイミング・フローを過度に混乱させないように、位置をある距離内に抑える例である。
[00145] アニメーション・ブレンディングおよびリマッピングに関する更なる情報については、2009年5月29日に出願された、SYSTEMS AND METHODS FOR APPLYING ANIMATIONS OR MOTIONS TO A CHARACTER(アニメーションまたは動きをキャラクターに適用するシステムおよび方法)と題する米国特許出願第12/475422号(発明者:Jeffrey Margolis, Kathryn Stone Peres, およびAlex Kipman)、および2009年5月29日に出願された、EXTENDING STANDARD GESTURES(標準的なジェスチャーの拡大)と題する米国特許出願第12/475,295号(発明者:Kathryn Stone Perez)を参照のこと。
[00146] 他の実施形態では、全てのプレーヤーは、同じキャプチャー・システムによってローカルに取り込まれない。離れたプレーヤーが、動画化された場面のコンテキスト内において、卑猥な行為を行うかもしれない。例えば、ユーザーが、彼の腕を伸ばして、場面の中にいる他のプレーヤーのアバターの禁止ゾーンに接触するかもしれない。離れた場所におけるアバターの相互作用に対処するときには、受信されたデーターを異なる形態にすることができる。
[00147] 例えば、クラウド計算環境(例えば、370)では、ローカル画像キャプチャー・システムが、それ自体によってまたはゲーム・コンソール(例えば、52)のような追加の処理能力によって、動き追跡データーをインターネットを介して、図4におけるように1つ以上のサーバーに送り、このデーターは、ユーザーの動き追跡データーとすることができ、モデル更新およびアバター更新によって、その処理能力向上を補助するために深度データーを含む。または、このデーターは、取り込まれた最新の行為によって既に更新されている、ユーザーについてのモデル・データーであってもよい。
[00148] 他の例では、ユーザーについてのモデル・データーは、アバターについてのモデル・データーと同じである。例えば、アバターは、ユーザーの体形を現実的な表現である。他の例では、ユーザーのモデル・データーが、アバターのモデルにマッピングし直されることも可能である。前述のように、図1Aおよび図1Bにおけるユーザー18は、少年または10代の若者であり、彼のアバター・ボクサー64と同じ身長や体格ではない。受けられる動き追跡データーは、アバターについてのモデル・データーに関するのであってもよい。また、アバターについての動き追跡データーは、ユーザーがアバターを制御するときに彼の身体の動きを使用するのではなく、キーボード、マウス、トラックボール、ジョイスティック、ゲーム・パッドというようなデバイス、または他のものを使用するシステムから受けることもできる。動き追跡データーは、アバターのモデルを含むことができ、またはアバターについてのモデル・データーを参照する更新を含むことができる。アバターについてのモデル・データーは、ユーザーについてのモデル・データーと同じように、マシン表現可能な形態で構造化することができる。例えば、その身体部分は、現ベクトル(current vector)またはそれらに作用する回転を表す、関節および骨のデーター構造にすることもできる。加えて、異なるアバター・データー構造が、互いにそして場面データーから区別するために、プレーヤー・インデックスを含むこともできる。
[00149] 例示の目的のためだけに図2に戻ると、アバターについてのモデル・データーを受け取る一実施形態において、動きモジュール204は、モデル・データーを処理して、モデル追跡データーに基づいて、禁止ジェスチャーがアバターによって行われているか否か判断する。具体的には、場面データー218にアクセスすることができる動きモジュール204がアバター・モデルのデーター構造を調べて、その禁止ゾーンを判断し、その身体部分が現在または以前にどのように位置付けられていたか判断する。これは、モーション・キャプチャー・ファイルに取り込まれていてもよい。動きモジュール204は、ジェスチャー・フィルター206を適用して、禁止ジェスチャーが行われているか否か検出する。行われている場合、禁止ジェスチャー・ライブラリー・モジュール210がコールされ、アバターのモデルを処理して、ジェスチャーを表す画像データーを変更する。これは、フィルタリング、省略、または交換のいずれによってでもよい。
[00150] また、動きモジュール204は、他のアバターまたは画面のオブジェクトとの相互作用も判断することができる。図9Aおよび図9Bの例では、動きモジュール204は、場面に関するユーザー902の動き、およびキャプチャー・エリアの中におけるユーザー902の動きを追跡し、彼の腕が、ユーザー904のアバターについてのモデル・データーにおいて示されている禁止ゾーン952上にあることを認識することができる。この例では、ユーザー904は、ユーザー902から離れた場所でプレーしている。
[00151] 戦争ゲームの他の例では、ユーザーのアバターが殺されたとき、そしてユーザーがゲームを止めるとき、画面上のアバターが地面に倒れている場合がある。地面上にあるアバターは、動きモジュール204によって、アバターおよび場面データー218の処理のために、検出することができる。例えば、場面データー218の中に死んだアバターの周囲に文字枠と、それと関連付けられたプレーヤー・インデックスがあり、このアバターを生き残っているアバターおよび背景から区別することができる。他のインアクティブなアバターに対してゲームの中に未だ残っているユーザーの他のアバターの不快なジェスチャーを表示するのを避けるために、交換ライブラリー・モジュールを使用することができる。例えば、1つのジェスチャーが、実際のプレーヤー死んだアバターを跨いで立っており、彼の膝を曲げたり伸ばしたりして、不快なやり方で、または不快と考えられる他の模した動きでこのアバターに接触していることもあり得る。このような場合、交換ライブラリー・モジュール212は、脚を、直前の動きの方向とは逆に、立ち上がっている姿勢における他方の脚と同じ身体の側に持って行くために実行することができる。
[00152] 望ましければ、更に他の交換画像データーの処理も行うことができる。例えば、生き残っているアバターが死んだ身体からある距離以内にある間に、足を動かさずに膝を折り曲げたことを検出した場合、アバターを立ったままにしておくことができる。動きがないことによって、不快な行為を行うプレーヤーが、卑猥な行為ではなく、ゲームの行為に戻るように促すことができる。
[00153] 図10、図11、および図12の方法の実施形態について、それぞれ、図2の機能コンピューター実装アーキテクチャーの実施形態のコンテキストで論ずるが、これは例示を目的とするのであって、限定ではない。
[00154] 図10は、アバターのジェスチャー表示を制限する方法1000の実施形態のフローチャートである。動きモジュール204は、アバターのジェスチャーが1組の禁止ジェスチャーの内1つを描写するか否か判断する(1002)。たとえば、動きモジュールは、動き追跡データーに基づいてこの判断を下すことができる。ジェスチャーが1組の禁止ジェスチャーのものであることに応答して、動きモジュール204は、アバターのジェスチャーを表す画像データーを変更する(1004)。ジェスチャーが1組の禁止ジェスチャーの内の1つではない場合、動きモジュール204は、ジェスチャーを表す画像データーを、アバターによる表示のために含ませる。アバターのジェスチャーを表す画像データーの例には、アバターの表示の更新を制御するために使用されるモデルに関する動き追跡データーがある。
[00155] 図11は、アバターのジェスチャー表示を制限する方法1100の他の実施形態のフローチャートである。動きモジュール204は、アバターのジェスチャーが1組の禁止ジェスチャーの内1つを描写するか否か判断する(1002)。ジェスチャーが1組の禁止ジェスチャーの内の1つではない場合、動きモジュール204は、アバターによるジェスチャーを表す画像データーを、表示のために含ませる(1006)。例えば、動きモジュールは、アバター・プロファイル214の画像データーを更新する。
[00156] ジェスチャーが1組の禁止ジェスチャーのものであることに応答して、動きモジュール204は、アバターの禁止ジェスチャーを表す画像データーが、他のコンピューターに、またはネットワークを介して送信されているか否か判断する(1104)。送信されようとしている場合、動きモジュール204は、送信用データーにおいて、アバターのジェスチャーを表す画像データーを変更する(1004)。アバター制御システム202は、ユーザーに、送信されたバージョンが変更されたことを通知しながら、ユーザーのコンピューターに直接またはローカルに接続されているディスプレイ(例えば、図1Aおよび図1Bにおけるディスプレイ56)上にジェスチャーを表示し続ける。例えば、ウィンドウ上にもっと小さなウィンドウを表示することができ(例えば、ピクチャー・イン・ピクチャー表示)、この小さい方のウィンドウが、アバターのジェスチャーの送信されたバージョンを表示することができる。
[00157] 図2の実施形態において、アバター・プロファイル214は、画像データーの異なるバージョン、即ち、禁止ジェスチャーを含むローカル・バージョン219lと、ディスプレイ上におけるその描写を回避するために禁止ジェスチャーについての画像データーの変更を含む送信バージョン219iとを格納することができる。
[00158] ユーザーが、禁止ジェスチャーを含むアプリケーションのセッション、例えば、送信されなかったローカル・コピーを不揮発性メモリーに格納する、または記録するという状況が生ずる可能性がある。後に、彼は、他の者がそれにアクセスできるように、それを共有サイトにアップロードすることを決断する。一実施形態では、動きモジュール204は、ユーザーまたはアバター、あるいは双方のモデルについての動き追跡データーをセッション全体の間格納する。例えば、モデル・データーにおける変化を時間順に保管して、ベクトルおよび回転で表すことができるような変化を保存して再生できるようにする。セッションをセーブするというメッセージまたは指示に応答して、セッション全体についての動き追跡データーが、ビデオ・ファイルと共にセーブされる。
[00159] ビデオ・ファイルをオペレーティング・システム318から送信するというメッセージまたは指示に応答して、アバター制御システム202の動きモジュール204は、そのセッションについての動き追跡データーを再生または処理して、禁止ジェスチャーがないかチェックする。禁止ジェスチャーが検出された場合、アバターのジェスチャーを表す画像データーの変更が行われる。
[00160] あるいは、またはこれに加えて、受信側のシステムの動きモジュール204は、そのセッションの間に保管された動き追跡データーを処理して、あらゆる禁止ジェスチャーについてチェックする。
[00161] 他の実施形態では、動き追跡データーがないビデオ・ファイルのみがセーブされる場合、このビデオ・ファイルは生の画像データーとして扱うことができ、アバターの各々にモデルが生成され、これらのいずれかが禁止ジェスチャーを行っているか否か判断する。
[00162] 動きモジュール204は、画像データー205のソースを、オーディオビジュアル・データー・キャプチャー・システム60からのもの(205l)、またはインターネット203のようなネットワークを介して他のコンピューターから受信されたもの(205i)として、追跡することができる。画像ジェスチャー・データーが送信用でない場合、動きモジュール204は、禁止ジェスチャーを表す画像データーが、他のコンピューターから受信されたのか、またはローカルに生成されたのか判断する(1106)。他のコンピューターから受信されたのではなく、送信用でもない場合、この実施形態では、動きモジュール204は、アバターによるジェスチャーを表す画像データーを表示のために含ませる(1006)。例えば、プロファイルがアバター表示制御モジュール209によってアクセスされるときに、アバター・プロファイル214を、ジェスチャーの表示用に更新する。禁止ジェスチャーが他のコンピューターから受信されたのである場合、動きモジュール204は、アバターのジェスチャーを表す画像データーを変更し(1004)、禁止ジェスチャーがその元の形態で表示されないようにする。一般に、この変更は、表示されるジェスチャーが、禁止ジェスチャーよりも不快でないようにする。
[00163] 図12は、アバターのジェスチャーを表す画像データーを変更する方法1200を示す。図2のシステムを再度例示のコンテキストのみとして使用すると、動きモジュール204は、交換画像データーがこの禁止ジェスチャーと関連があるか否か判断する(1202)。例えば、動きモジュール204は、データーベースをサーチするか、または禁止ジェスチャー・ライブラリー210およびその関連する交換ライブラリー212のリンクリストを調べることができる。関連した交換があることに応答して、動きモジュール204は、禁止ジェスチャーを、交換画像データーと、アバターの画像データーにおいて置き換える(1204)。例えば、身体部分(1つまたは複数)についての画像データー219において、動き追跡データーを変更する。例えば、動きモジュール204は、動き追跡データーを含む動きデーターを、ジェスチャーについての画像データーにおいて、アバターについての異なる動きデーターと置き換える。先に論じたように、検出される禁止ジェスチャーの一例は、中指を立てたことを除く掌とすることができる。リンクされている交換画像または動きデーターは、通例描写される、指を立てない通常の拳、または図8Bおよび図8Cにおいて開示されたような手を振る動作とすることができる。
[00164] 関連した交換画像データーがないことに応答して、動きモジュール204は、ジェスチャーを表す画像データーに対してフィルタリング技法を実行し(1206)、禁止ジェスチャーを視覚的に隠す。例えば、図8Aにおけるモザイクのオーバーレイ805を参照のこと。
[00165] 随意な選択肢として、動きモジュール204は、禁止ジェスチャーを行いつつユーザーによって生成された音声データーを編集すること(1208)ができる。このような編集の例には、オーディオ全体を切除すること、または音声認識を使用して間投語句を削除することが含まれる。
[00166] 本技術は、その主旨や本質的な特性から逸脱することなく、他の特定形態においても具体化することができる。同様に、モジュール、ルーチン、特徴、属性、方法、およびその他の態様の特定の命名および区分は、必須ではなく、本技術またはその特徴を実現するメカニズムは、異なる名称、分割、および/またはフォーマットを有してもよい。更に、当業者には明白であろうが、開示された実施形態のモジュール、ルーチン、特徴、属性、方法、および他の態様は、ソフトウェア、ハードウェア、ファームウェア、またはこれら3つの任意の組み合わせで実現することができる。勿論、モジュールが一例であるコンポーネントがソフトウェアとして実現されるときはいつでも、このコンポーネントは単体のプログラムとして、もっと大きなプログラムの一部として、複数の別個のプログラムとして、静的または動的にリンクされたライブラリーとして、カーネル・ロード可能なモジュールとして、デバイス・ドライバーとして、および/または当業者に現在知られているまたは今後知られることになるあらゆる他の方法およびその内の任意のものとして実現することができる。
[00167] 以上の詳細な説明は、例示および説明を目的として提示された。これは、網羅的であることも、開示された技術を開示された形態そのものに限定することを意図するのではない。多くの変更や変形が、以上の教示に照らして、可能である。記載された実施形態は、本技術の原理およびその実用的な用途を最良に説明し、それによって当業者が本技術を種々の実施形態において、そして個々の考えられる使用に適するような種々の変更と共に、最良に利用することを可能にするために選択されたのである。更に、本明細書において用いられた文言は、主に読みやすさのためそして教育的な目的のために選択されたことは、注記してしかるべきであろう。主題は、構造的特徴および/または方法論的動作に特定の文言で記載されたが、添付されている特許請求の範囲において定められている主題は、必ずしも、前述した特定の特徴や動作には限定されないことは理解されてしかるべきである。むしろ、先に記載した特定の特徴および動作は、特許請求の範囲を実現する形態例として、開示したまでである。

Claims (10)

  1. アバターを制御するコンピューター・システムにおいて、アバターのジェスチャー表示を制限する方法であって、
    キャプチャー・デバイスを使って少なくとも1人のユーザーの動きを追跡するステップであって、これによりローカル・システムにおいて動きデーターを生成する、ステップと、
    動き追跡データーから、前記アバターのジェスチャーを作る前記少なくとも1人のユーザーの前記動きが禁止ジェスチャーの組の内の1つであるか否か判断するステップと、
    前記ジェスチャーを生成する前記動きデーターが、前記ローカル・システムに結合されたィスプレイにおいてローカルのアバターに対応する動きを有するリモート表示のアバターの生成を可能にするため、リモート・システムに送られるべきかどうか判断するステップと、
    前記ジェスチャーが禁止ジェスチャーの組のものであることに応答して、かつ前記ジェスチャーを生成する前記動きデーターが送られるべき場合、前記リモートのアバターにおいて前記ジェスチャーをレンダリングすることを阻止するために、前記リモート表示のアバターのための前記ジェスチャーを表す前記リモート・システムに送られるべき動き追跡データーを変更するステップと、
    前記ローカル・システムに結合された前記ディスプレイにおいて前記ローカルのアバターを前記禁止ェスチャーでレンダリングするステップと、
    を含む、方法。
  2. 請求項1記載の方法において、前記ジェスチャーが禁止ジェスチャーの組のものであることに応答して、前記ローカルのアバターにおいて前記ジェスチャーを表示する、方法。
  3. 請求項1記載の方法において、前記アバターのジェスチャーを表す画像データーを変更するステップが、更に、前記禁止ジェスチャーをディスプレイ上において視覚的に隠すために、前記ジェスチャーを表す前記動きデーターに対してフィルタリング技法を実行することを含む、方法。
  4. 請求項1記載の方法において、前記アバターのジェスチャーを表す画像データーを変更するステップが、更に、前記ジェスチャーについての動きデーターを、前記アバターについてのそれとは異なった動きデーターと置き換えることによって、前記禁止ジェスチャーを表す動きデーターを置換するステップを含む、方法。
  5. アバターのジェスチャー表示を制限するコンピューター実装システムであって、
    ユーザーの生の動きを表す画像データーを取り込むローカルの深度画像キャプチャー・システムと、
    前記画像キャプチャー・システムに通信可能に結合され、前記取り込まれた画像データーを受信する命令を実行する1つ以上の処理モジュールと、
    前記1つ以上の処理モジュールによってアクセス可能であり、前記画像キャプチャー・システムから受け取った動き追跡データーを格納する1つ以上のメモリー・デバイスと、
    を含み、
    前記1つ以上の処理モジュールが、前記受け取った動き追跡データーに基づいて、ユーザーについての動き追跡データーを更新する命令を実行し、
    前記1つ以上の処理モジュールが、前記処理モジュールに結合されたローカル・ディスプレイにおいてアバターをレンダリングする命令を実行し、前記アバターが前記ユーザーの生の動きを前記アバターの動きに追跡し、前記アバターが前記ユーザーと関連し、
    前記1つ以上の処理モジュールが、禁止ジェスチャーの組を表す動きについて規準を定めるパラメーター・データーに基づいて前記禁止ジェスチャーの組に含まれるジェスチャーを含む前記ユーザーによる動きを前記動きデーターが含むか否か判断し、
    前記1つ以上の処理モジュールが、モート・システムに結合されたリモート・ディスプレイにおいてリモートのアバターの表示を可能にするために、前記動きデーターが前記リモート・システムに送られるべきか否か判断し、
    前記ジェスチャーが前記禁止ジェスチャーの組のものであることに応答し、かつ前記動きデーターが送られるべき場合、前記1つ以上の処理モジュールが、表示のため前記アバターの前記ジェスチャーを表す動きデーターを変更し、変更後に前記リモート・ディスプレイに前記動きデーターを送り、
    前記1つ以上の処理モジュールが、前記ローカル・ディスプレイにおいて前記アバターを前記禁止ェスチャーでレンダリングする、
    システム。
  6. 請求項5記載のシステムにおいて、前記1つ以上の処理モジュールが、更に、前記禁止ジェスチャーを前記リモート・ディスプレイ上において視覚的に隠すために、前記ジェスチャーを表す画像データーに対してフィルタリング技法を実行することによって、前記アバターのジェスチャーを表す画像データーを変更するロジックを含む、システム。
  7. 請求項5記載のシステムにおいて、前記画像キャプチャー・システムが、前記ユーザーのオーディオ・データーを取り込むマイクロフォンを含み、前記1つ以上の処理モジュールが、更に、前記禁止ジェスチャーを行いながら前記ユーザーによって生成された音声データーを編集するロジックを含む、システム。
  8. コンピューター記憶デバイスであって、第1処理デバイスにおけるプロセッサーに、アバターのジェスチャー表示を制限する方法を実行させる命令がエンコードされたコンピューター記憶デバイスであって、前記方法が、
    深度画像キャプチャー・デバイスを使って少なくとも第1のユーザーと第2のユーザーの動きを追跡するステップであって、これによりローカル・システムにおいて動き追跡データーを生成し、該動き追跡データーが、ローカル・ディスプレイにおける第1のアバターとリモート・ディスプレイにおける第2のアバターの生成を可能にする、ステップと、
    前記第1のユーザーの前記第2のユーザーに対する前記動き追跡データーが、前記第1のアバターによる禁止ジェスチャーの組の内の1つの実行を生ずるか判断するステップと、
    前記アバターの表現が、第2処理デバイスへの送信のための画像データーに変換されたか否か判断するステップと、
    前記画像データーが第2の処理デバイスに送られるべき場合で、かつ前記ジェスチャーが前記禁止ジェスチャーの組内のものである場合、前記ジェスチャーについての動きデーターを、前記リモートのアバターについてのそれとは異なる動きデーターと置き換えるステップであって、前記異なった動きデーターを前記第2の処理デバイスに送って、前記リモート・ディスプレイにおける前記第2のアバターを前記禁止ジェスチャなしでレンダリングする一方、前記ローカル・システムに結合された前記ディスプレイにおいて前記ローカルのアバターを前記禁止ジェスチャーでレンダリングすることを可能にする、ステップと、
    を含む、コンピューター記憶デバイス。
  9. 請求項8記載のコンピューター記憶デバイスにおいて、前記追跡は、リアル・タイムで、前記ユーザーの画像データーから判断されたユーザーの動きを、前記アバターによる動きの表示するための画像データーに追跡することにより実行する、コンピューター記憶デバイス。
  10. 請求項8記載のコンピューター記憶デバイスにおいて、第2処理デバイスへの送信のための前記画像データーが、格納されたビデオ・ファイルを含み、更に、前記ビデオ・ファイルが送信されているという指示に応答して、前記格納されたビデオ・ファイルにおいて、前記リモートのアバターについての動き追跡データーを再生するステップを含む、コンピューター記憶デバイス。
JP2013513246A 2010-06-02 2011-05-26 アバター・ジェスチャーの表示制限 Active JP5865357B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/792,609 US9245177B2 (en) 2010-06-02 2010-06-02 Limiting avatar gesture display
US12/792,609 2010-06-02
PCT/US2011/038255 WO2011153078A2 (en) 2010-06-02 2011-05-26 Limiting avatar gesture display

Publications (3)

Publication Number Publication Date
JP2013533537A JP2013533537A (ja) 2013-08-22
JP2013533537A5 JP2013533537A5 (ja) 2014-07-10
JP5865357B2 true JP5865357B2 (ja) 2016-02-17

Family

ID=45064135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013513246A Active JP5865357B2 (ja) 2010-06-02 2011-05-26 アバター・ジェスチャーの表示制限

Country Status (5)

Country Link
US (1) US9245177B2 (ja)
EP (1) EP2577441A4 (ja)
JP (1) JP5865357B2 (ja)
CN (1) CN102918489A (ja)
WO (1) WO2011153078A2 (ja)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646340B2 (en) 2010-04-01 2017-05-09 Microsoft Technology Licensing, Llc Avatar-based virtual dressing room
TWI439960B (zh) 2010-04-07 2014-06-01 Apple Inc 虛擬使用者編輯環境
US9172979B2 (en) 2010-08-12 2015-10-27 Net Power And Light, Inc. Experience or “sentio” codecs, and methods and systems for improving QoE and encoding based on QoE experiences
WO2012021173A2 (en) 2010-08-12 2012-02-16 Net Power And Light Inc. System architecture and methods for experiential computing
US9557817B2 (en) * 2010-08-13 2017-01-31 Wickr Inc. Recognizing gesture inputs using distributed processing of sensor data from multiple sensors
KR101896947B1 (ko) * 2011-02-23 2018-10-31 엘지이노텍 주식회사 제스쳐를 이용한 입력 장치 및 방법
US9369543B2 (en) 2011-05-27 2016-06-14 Microsoft Technology Licensing, Llc Communication between avatars in different games
US8814693B2 (en) * 2011-05-27 2014-08-26 Microsoft Corporation Avatars of friends as non-player-characters
US11048333B2 (en) * 2011-06-23 2021-06-29 Intel Corporation System and method for close-range movement tracking
JP2013009073A (ja) * 2011-06-23 2013-01-10 Sony Corp 情報処理装置、情報処理方法、プログラム、及びサーバ
KR20130037998A (ko) 2011-10-07 2013-04-17 삼성전자주식회사 디스플레이 장치 및 그 디스플레이 방법
US9628843B2 (en) * 2011-11-21 2017-04-18 Microsoft Technology Licensing, Llc Methods for controlling electronic devices using gestures
US9625993B2 (en) * 2012-01-11 2017-04-18 Biosense Webster (Israel) Ltd. Touch free operation of devices by use of depth sensors
CN103366782B (zh) * 2012-04-06 2014-09-10 腾讯科技(深圳)有限公司 在虚拟形象上自动播放表情的方法和装置
US10360706B2 (en) 2012-05-22 2019-07-23 Sony Corporation Device method and program for adjusting a display state of a superimposed image
US9263084B1 (en) * 2012-06-15 2016-02-16 A9.Com, Inc. Selective sharing of body data
CN104395929B (zh) * 2012-06-21 2017-10-03 微软技术许可有限责任公司 使用深度相机的化身构造
US9084933B1 (en) * 2012-06-22 2015-07-21 The United States Of America As Represented By The Administrator Of The National Aeronatics And Space Administration Method and system for physiologically modulating action role-playing open world video games and simulations which use gesture and body image sensing control input devices
US20140055607A1 (en) * 2012-08-22 2014-02-27 Jiunn-Kuang Chen Game character plugin module and method thereof
US10212046B2 (en) * 2012-09-06 2019-02-19 Intel Corporation Avatar representation of users within proximity using approved avatars
US10877780B2 (en) 2012-10-15 2020-12-29 Famous Industries, Inc. Visibility detection using gesture fingerprinting
US11386257B2 (en) 2012-10-15 2022-07-12 Amaze Software, Inc. Efficient manipulation of surfaces in multi-dimensional space using energy agents
US10908929B2 (en) 2012-10-15 2021-02-02 Famous Industries, Inc. Human versus bot detection using gesture fingerprinting
US9501171B1 (en) * 2012-10-15 2016-11-22 Famous Industries, Inc. Gesture fingerprinting
US10176252B2 (en) * 2012-12-04 2019-01-08 Ntt Docomo, Inc. Information-processing device, server device, interaction system, and program
WO2014090262A1 (en) * 2012-12-11 2014-06-19 Unify Gmbh & Co. Kg Method of processing video data, device, computer program product, and data construct
TWI536259B (zh) * 2012-12-28 2016-06-01 緯創資通股份有限公司 手勢辨識模組及手勢辨識方法
US9690784B1 (en) * 2013-03-15 2017-06-27 University Of Central Florida Research Foundation, Inc. Culturally adaptive avatar simulator
EP3007786A1 (en) 2013-06-14 2016-04-20 Intercontinental Great Brands LLC Interactive video games
US9177410B2 (en) * 2013-08-09 2015-11-03 Ayla Mandel System and method for creating avatars or animated sequences using human body features extracted from a still image
US10139914B2 (en) 2013-09-13 2018-11-27 Nod, Inc. Methods and apparatus for using the human body as an input device
US10585478B2 (en) 2013-09-13 2020-03-10 Nod, Inc. Methods and systems for integrating one or more gestural controllers into a head mounted wearable display or other wearable devices
JP6344032B2 (ja) * 2013-09-26 2018-06-20 富士通株式会社 ジェスチャ入力装置、ジェスチャ入力方法、およびジェスチャ入力プログラム
US9965761B2 (en) * 2014-01-07 2018-05-08 Nod, Inc. Methods and apparatus for providing secure identification, payment processing and/or signing using a gesture-based input device
US9823749B2 (en) 2014-02-21 2017-11-21 Nod, Inc. Location determination and registration methodology for smart devices based on direction and proximity and usage of the same
US9911351B2 (en) * 2014-02-27 2018-03-06 Microsoft Technology Licensing, Llc Tracking objects during processes
US10579207B2 (en) 2014-05-14 2020-03-03 Purdue Research Foundation Manipulating virtual environment using non-instrumented physical object
CA2954000A1 (en) * 2014-07-03 2016-01-07 Krush Technologies, Llc Electronically mediated reaction game
US9531998B1 (en) 2015-07-02 2016-12-27 Krush Technologies, Llc Facial gesture recognition and video analysis tool
KR102103939B1 (ko) * 2014-07-25 2020-04-24 인텔 코포레이션 머리 회전을 갖는 아바타 얼굴 표정 애니메이션
KR101515847B1 (ko) * 2014-08-06 2015-05-04 스타십벤딩머신 주식회사 Nui 장치에 의해 수집된 동작정보의 보정 방법 및 장치
CN104281265B (zh) * 2014-10-14 2017-06-16 京东方科技集团股份有限公司 一种应用程序的控制方法、装置及电子设备
US10775878B2 (en) * 2015-04-10 2020-09-15 Sony Interactive Entertainment Inc. Control of personal space content presented via head mounted display
CN105338369A (zh) * 2015-10-28 2016-02-17 北京七维视觉科技有限公司 一种在视频中实时合成动画的方法和装置
JP6688990B2 (ja) * 2016-04-28 2020-04-28 パナソニックIpマネジメント株式会社 識別装置、識別方法、識別プログラムおよび記録媒体
JP6860010B2 (ja) 2016-05-06 2021-04-14 ソニー株式会社 情報処理システム、情報処理方法、および情報処理プログラム
US10722800B2 (en) * 2016-05-16 2020-07-28 Google Llc Co-presence handling in virtual reality
US9912860B2 (en) 2016-06-12 2018-03-06 Apple Inc. User interface for camera effects
JP6724582B2 (ja) * 2016-06-15 2020-07-15 富士通株式会社 画像生成装置、画像生成プログラム及び画像生成方法
US10482646B1 (en) * 2016-07-21 2019-11-19 Pixar Directable cloth animation
WO2018079383A1 (ja) * 2016-10-28 2018-05-03 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、制御方法、プログラム、及び記録媒体
WO2018112112A1 (en) * 2016-12-13 2018-06-21 DeepMotion, Inc. Improved virtual reality system using multiple force arrays for a solver
JP7070435B2 (ja) 2017-01-26 2022-05-18 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
US10969861B2 (en) * 2017-02-23 2021-04-06 Sony Corporation Image processing device, image processing method, and image system
CN110520822B (zh) 2017-04-27 2023-06-27 索尼互动娱乐股份有限公司 控制装置、信息处理系统、控制方法和程序
US11372473B2 (en) 2017-05-18 2022-06-28 Sony Corporation Information processing apparatus and information processing method
DK180859B1 (en) 2017-06-04 2022-05-23 Apple Inc USER INTERFACE CAMERA EFFECTS
DE102017216000A1 (de) * 2017-09-11 2019-03-14 Conti Temic Microelectronic Gmbh Gestensteuerung zur Kommunikation mit einem autonomen Fahrzeug auf Basis einer einfachen 2D Kamera
KR101897704B1 (ko) * 2017-09-25 2018-10-29 넷마블 주식회사 게임 서비스 제공 장치 및 방법
WO2019077652A1 (ja) 2017-10-16 2019-04-25 株式会社ソニー・インタラクティブエンタテインメント 情報処理システム、コントローラデバイス、及び情報処理装置
US11514604B2 (en) * 2017-12-15 2022-11-29 Sony Corporation Information processing device and information processing method
JP7091073B2 (ja) * 2018-01-05 2022-06-27 キヤノン株式会社 電子機器及びその制御方法
US10375313B1 (en) 2018-05-07 2019-08-06 Apple Inc. Creative camera
KR102400085B1 (ko) * 2018-05-07 2022-05-19 애플 인크. 크리에이티브 카메라
US12033296B2 (en) 2018-05-07 2024-07-09 Apple Inc. Avatar creation user interface
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
DK180078B1 (en) 2018-05-07 2020-03-31 Apple Inc. USER INTERFACE FOR AVATAR CREATION
US10924566B2 (en) 2018-05-18 2021-02-16 High Fidelity, Inc. Use of corroboration to generate reputation scores within virtual reality environments
US20190354189A1 (en) * 2018-05-18 2019-11-21 High Fidelity, Inc. Use of gestures to generate reputation scores within virtual reality environments
KR102664710B1 (ko) 2018-08-08 2024-05-09 삼성전자주식회사 외부 객체의 위치의 변화에 따라 외부 객체에 대응하는 아바타를 표시하기 위한 전자 장치
US11850514B2 (en) 2018-09-07 2023-12-26 Vulcan Inc. Physical games enhanced by augmented reality
DK201870623A1 (en) 2018-09-11 2020-04-15 Apple Inc. USER INTERFACES FOR SIMULATED DEPTH EFFECTS
JP6722244B2 (ja) * 2018-09-14 2020-07-15 株式会社コロプラ プログラム、情報処理方法及び情報処理装置
CN112955850B (zh) * 2018-09-20 2024-07-19 苹果公司 用于衰减模拟现实(sr)空间中的联合用户交互的方法和设备
US11770601B2 (en) 2019-05-06 2023-09-26 Apple Inc. User interfaces for capturing and managing visual media
US10674072B1 (en) 2019-05-06 2020-06-02 Apple Inc. User interfaces for capturing and managing visual media
US11321857B2 (en) 2018-09-28 2022-05-03 Apple Inc. Displaying and editing images with depth information
US11128792B2 (en) 2018-09-28 2021-09-21 Apple Inc. Capturing and displaying images with multiple focal planes
US10861223B2 (en) * 2018-11-06 2020-12-08 Facebook Technologies, Llc Passthrough visualization
US11670080B2 (en) 2018-11-26 2023-06-06 Vulcan, Inc. Techniques for enhancing awareness of personnel
US11068065B2 (en) 2018-11-28 2021-07-20 International Business Machines Corporation Non-verbal communication tracking and classification
JP7160669B2 (ja) * 2018-12-27 2022-10-25 株式会社コロプラ プログラム、情報処理装置、および方法
US11107261B2 (en) 2019-01-18 2021-08-31 Apple Inc. Virtual avatar animation based on facial feature movement
US11950577B2 (en) 2019-02-08 2024-04-09 Vale Group Llc Devices to assist ecosystem development and preservation
JP6585866B1 (ja) * 2019-02-20 2019-10-02 株式会社ドワンゴ 位置データ処理装置およびプログラム
US11331006B2 (en) 2019-03-05 2022-05-17 Physmodo, Inc. System and method for human motion detection and tracking
WO2020181136A1 (en) 2019-03-05 2020-09-10 Physmodo, Inc. System and method for human motion detection and tracking
WO2020198070A1 (en) 2019-03-22 2020-10-01 Vulcan Inc. Underwater positioning system
WO2020214484A1 (en) 2019-04-15 2020-10-22 Ocelot Laboratories Llc Attenuating mode
US11435845B2 (en) * 2019-04-23 2022-09-06 Amazon Technologies, Inc. Gesture recognition based on skeletal model vectors
US11706521B2 (en) 2019-05-06 2023-07-18 Apple Inc. User interfaces for capturing and managing visual media
JP6761888B1 (ja) 2019-10-25 2020-09-30 株式会社バーチャルキャスト 表示制御装置、表示制御方法、および表示システム
US11144128B2 (en) * 2019-11-20 2021-10-12 Verizon Patent And Licensing Inc. Systems and methods for controlling video wall content using air gestures
US10950034B1 (en) 2020-01-27 2021-03-16 Facebook Technologies, Llc Systems, methods, and media for generating visualization of physical environment in artificial reality
JP2021189674A (ja) * 2020-05-28 2021-12-13 グリー株式会社 コンピュータプログラム、サーバ装置、端末装置、及び方法
JP7537058B2 (ja) 2020-04-23 2024-08-21 インテル・コーポレーション 改良されたポーズ追跡を用いた運動学的インタラクションシステム
DK181103B1 (en) 2020-05-11 2022-12-15 Apple Inc User interfaces related to time
US11921998B2 (en) 2020-05-11 2024-03-05 Apple Inc. Editing features of an avatar
US11039074B1 (en) 2020-06-01 2021-06-15 Apple Inc. User interfaces for managing media
JP7138138B2 (ja) * 2020-06-16 2022-09-15 株式会社コロプラ プログラム、情報処理方法及び情報処理装置
US11212449B1 (en) 2020-09-25 2021-12-28 Apple Inc. User interfaces for media capture and management
CN112363658B (zh) * 2020-10-27 2022-08-12 维沃移动通信有限公司 视频通话的互动方法和装置
US11263796B1 (en) 2020-11-11 2022-03-01 Sony Interactive Entertainment Inc. Binocular pose prediction
US11763508B2 (en) * 2020-11-11 2023-09-19 Sony Interactive Entertainment Inc. Disambiguation of poses
KR20220086873A (ko) * 2020-12-17 2022-06-24 한국전자통신연구원 숙련도 조절이 가능한 npc 생성 장치 및 방법
CN116998161A (zh) * 2021-02-05 2023-11-03 阿里·科德 表演艺术的动作捕捉
JP7178015B2 (ja) * 2021-02-16 2022-11-25 ナツメアタリ株式会社 オンライン会議システム
US11539876B2 (en) 2021-04-30 2022-12-27 Apple Inc. User interfaces for altering visual media
US11778339B2 (en) 2021-04-30 2023-10-03 Apple Inc. User interfaces for altering visual media
US12112024B2 (en) 2021-06-01 2024-10-08 Apple Inc. User interfaces for managing media styles
US11776190B2 (en) 2021-06-04 2023-10-03 Apple Inc. Techniques for managing an avatar on a lock screen
JP7461654B2 (ja) 2021-06-28 2024-04-04 グリー株式会社 情報処理システム、情報処理方法、情報処理プログラム
GB2622068A (en) * 2022-09-01 2024-03-06 Sony Interactive Entertainment Inc Modifying game content based on at least one censorship criterion

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675384B1 (en) * 1995-12-21 2004-01-06 Robert S. Block Method and apparatus for information labeling and control
US5969755A (en) * 1996-02-05 1999-10-19 Texas Instruments Incorporated Motion based event detection system and method
US6178205B1 (en) * 1997-12-12 2001-01-23 Vtel Corporation Video postfiltering with motion-compensated temporal filtering and/or spatial-adaptive filtering
JP2002207685A (ja) * 2000-10-12 2002-07-26 Sony Computer Entertainment Inc 仮想世界システム、サーバコンピュータおよび情報処理装置
US7039676B1 (en) * 2000-10-31 2006-05-02 International Business Machines Corporation Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session
US8949878B2 (en) * 2001-03-30 2015-02-03 Funai Electric Co., Ltd. System for parental control in video programs based on multimedia content information
US20030028875A1 (en) 2001-05-02 2003-02-06 Koninklijke Philips Electronics N.V. Television access control system
US20040127242A1 (en) * 2002-12-31 2004-07-01 Dashevsky Jane Y. Apparatus and associated methods for the synchronization of shared content
US20070113181A1 (en) 2003-03-03 2007-05-17 Blattner Patrick D Using avatars to communicate real-time information
US7908554B1 (en) * 2003-03-03 2011-03-15 Aol Inc. Modifying avatar behavior based on user action or mood
US20050054381A1 (en) * 2003-09-05 2005-03-10 Samsung Electronics Co., Ltd. Proactive user interface
US7785197B2 (en) * 2004-07-29 2010-08-31 Nintendo Co., Ltd. Voice-to-text chat conversion for remote video game play
US8117282B2 (en) * 2004-10-20 2012-02-14 Clearplay, Inc. Media player configured to receive playback filters from alternative storage mediums
US8766983B2 (en) * 2006-05-07 2014-07-01 Sony Computer Entertainment Inc. Methods and systems for processing an interchange of real time effects during video communication
WO2008011353A2 (en) * 2006-07-16 2008-01-24 The Jim Henson Company System and method of producing an animated performance utilizing multiple cameras
KR100776801B1 (ko) * 2006-07-19 2007-11-19 한국전자통신연구원 화상 처리 시스템에서의 제스처 인식 장치 및 방법
EP1912175A1 (en) 2006-10-09 2008-04-16 Muzlach AG System and method for generating a video signal
US8144148B2 (en) * 2007-02-08 2012-03-27 Edge 3 Technologies Llc Method and system for vision-based interaction in a virtual environment
GB0703974D0 (en) * 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
US20080215975A1 (en) 2007-03-01 2008-09-04 Phil Harrison Virtual world user opinion & response monitoring
US8111281B2 (en) * 2007-06-29 2012-02-07 Sony Ericsson Mobile Communications Ab Methods and terminals that control avatars during videoconferencing and other communications
GB2450757A (en) * 2007-07-06 2009-01-07 Sony Comp Entertainment Europe Avatar customisation, transmission and reception
JP4506795B2 (ja) 2007-08-06 2010-07-21 ソニー株式会社 生体運動情報表示処理装置、生体運動情報処理システム
US8146005B2 (en) * 2007-08-07 2012-03-27 International Business Machines Corporation Creating a customized avatar that reflects a user's distinguishable attributes
US8243116B2 (en) * 2007-09-24 2012-08-14 Fuji Xerox Co., Ltd. Method and system for modifying non-verbal behavior for social appropriateness in video conferencing and other computer mediated communications
CN101909711B (zh) 2007-10-26 2014-12-24 美国索尼电脑娱乐公司 资源的在线监控
US20090221368A1 (en) * 2007-11-28 2009-09-03 Ailive Inc., Method and system for creating a shared game space for a networked game
US8151191B2 (en) * 2007-12-07 2012-04-03 International Business Machines Corporation Managing objectionable material in 3D immersive virtual worlds
US8713450B2 (en) * 2008-01-08 2014-04-29 International Business Machines Corporation Detecting patterns of abuse in a virtual environment
US7889073B2 (en) * 2008-01-31 2011-02-15 Sony Computer Entertainment America Llc Laugh detector and system and method for tracking an emotional response to a media presentation
WO2009101153A2 (en) * 2008-02-13 2009-08-20 Ubisoft Entertainment S.A. Live-action image capture
US8555207B2 (en) * 2008-02-27 2013-10-08 Qualcomm Incorporated Enhanced input using recognized gestures
JP5189382B2 (ja) 2008-02-28 2013-04-24 株式会社バンダイナムコゲームス プログラム、情報記憶媒体、携帯型端末装置、端末装置、サーバ、およびゲームシステム
US9223399B2 (en) * 2008-04-04 2015-12-29 International Business Machines Corporation Translation of gesture responses in a virtual world
US8904430B2 (en) * 2008-04-24 2014-12-02 Sony Computer Entertainment America, LLC Method and apparatus for real-time viewer interaction with a media presentation
US20090307595A1 (en) * 2008-06-09 2009-12-10 Clark Jason T System and method for associating semantically parsed verbal communications with gestures
US8041614B2 (en) * 2008-09-04 2011-10-18 International Business Machines Corporation Inventory item expiration and renewal in a virtual universe
US20100083112A1 (en) * 2008-09-23 2010-04-01 International Business Machines Corporation Managing virtual universe avatar behavior ratings
US8648865B2 (en) * 2008-09-26 2014-02-11 International Business Machines Corporation Variable rendering of virtual universe avatars
US8241131B2 (en) * 2008-09-26 2012-08-14 International Business Machines Corporation Avatar protection within a virtual universe
JP2010114626A (ja) 2008-11-06 2010-05-20 Atsushi Nishizawa 動画配信装置、動画配信システム、動画像配信方法および動画像提供店頭端末
US8396004B2 (en) * 2008-11-10 2013-03-12 At&T Intellectual Property Ii, L.P. Video share model-based video fixing
GB0902433D0 (en) * 2009-02-13 2009-04-01 Roberts Sarah E Messaging system
US8984548B2 (en) * 2009-09-29 2015-03-17 At&T Intellectual Property I, L.P. Applied automatic demographic analysis
US8826322B2 (en) * 2010-05-17 2014-09-02 Amazon Technologies, Inc. Selective content presentation engine

Also Published As

Publication number Publication date
US20110298827A1 (en) 2011-12-08
CN102918489A (zh) 2013-02-06
EP2577441A2 (en) 2013-04-10
WO2011153078A2 (en) 2011-12-08
WO2011153078A3 (en) 2012-03-08
EP2577441A4 (en) 2017-05-24
US9245177B2 (en) 2016-01-26
JP2013533537A (ja) 2013-08-22

Similar Documents

Publication Publication Date Title
JP5865357B2 (ja) アバター・ジェスチャーの表示制限
US9943755B2 (en) Device for identifying and tracking multiple humans over time
JP5943913B2 (ja) ユーザー追跡フィードバック
US9159151B2 (en) Bringing a visual representation to life via learned input from the user
JP5576932B2 (ja) キャラクターにアニメーションまたはモーションを加えるシステムおよび方法
CN102129152B (zh) 具有集成vcsel阵列的深度投影仪系统
CN102470273B (zh) 基于玩家表情的视觉表示表情
CN102301315B (zh) 姿势识别器系统架构
US8451278B2 (en) Determine intended motions
CN102356373A (zh) 虚拟对象操纵
CN102449576A (zh) 姿势快捷方式
CN102129293A (zh) 在运动捕捉系统中跟踪用户组
CN102207771A (zh) 推断参与运动捕捉系统的用户意图

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140521

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151105

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151225

R150 Certificate of patent or registration of utility model

Ref document number: 5865357

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250