"アバターを制御するコンピューターシステムにおいて、アバターのジェスチャー表示を制限する方法であって、動き追跡データーから、前記アバターのジェスチャーが禁止ジェスチャーの組の内の1つであるか否か判断するステップと、前記ジェスチャーが禁止ジェスチャーの組のものであることに応答して、前記アバターのジェスチャーを表す画像データーを変更するステップと、を含む、方法。請求項1記載の方法において、前記ジェスチャーが禁止ジェスチャーの組のものであることに応答して、前記アバターのジェスチャーを表す画像データーを変更するステップが、更に、前記ジェスチャーを表す前記画像データーが他のコンピューターに送信されているか否か、またはローカルに表示されるか、あるいは前記ジェスチャーを表す前記画像データーが他のコンピューターから受信されているのか、を含む1群からの規準に基づいて、前記アバターのジェスチャーを表す画像データーを変更するステップを含む、方法。請求項1記載の方法において、前記アバターのジェスチャーを表す画像データーを変更するステップが、更に、前記ジェスチャーについての動きデーターを、前記アバターについての異なる動きデーターと置き換えることによって、前記禁止ジェスチャーを表す画像データーを画像データーと交換するステップを含む、方法。請求項1記載の方法において、前記アバターのジェスチャーの画像データーが、禁止ジェスチャーの組の内の1つを描写するか否か判断するステップが、更に、前記アバターのジェスチャーを表す画像データーが、他の場面オブジェクトとの禁止相互作用を描写するか否か、および前記アバターのジェスチャーを表す画像データーが、場面の中にある他のアバターとの禁止相互作用を描写するか否か、の内少なくとも1つを含む、方法。アバターのジェスチャー表示を制限するコンピューター実装システムであって、ユーザーの生の動きを表す画像データーを取り込む画像キャプチャーシステムと、前記画像キャプチャーシステムに通信可能に結合され、前記取り込まれた画像データーを受信する命令を実行する1つ以上の処理モジュールと、前記1つ以上の処理モジュールによってアクセス可能であり、前記画像キャプチャーシステムから受け取った動き追跡データーを格納する1つ以上のメモリーデバイスと、を含み、前記1つ以上の処理モジュールが、前記受け取った動き追跡データーに基づいて、ユーザーについての動き追跡データーを更新する命令を実行し、前記1つ以上の処理モジュールが、前記ユーザーの生の動きを、前記ユーザーと関連したアバターの動きに対して追跡する命令を実行し、前記1つ以上の処理モジュールが、禁止ジェスチャーの組を表す動きについて規準を定めるパラメーターデーターに基づいて、前記ユーザーによって行われたジェスチャーが禁止ジェスチャーの組の内の1つであるか否か判断し、前記ジェスチャーが前記禁止ジェスチャーの組のものであることに応答して、前記1つ以上の処理モジュールが、前記アバターのジェスチャーを表すデーターを、表示のために変更する、システム。請求項5記載のシステムにおいて、前記1つ以上の処理モジュールが、更に、前記禁止ジェスチャーをディスプレイ上において視覚的に隠すために、前記ジェスチャーを表す画像データーに対してフィルタリング技法を実行することによって、前記アバターのジェスチャーを表す画像データーを変更するロジックを含む、システム。請求項5記載のシステムにおいて、前記画像キャプチャーシステムが、前記ユーザーのオーディオデーターを取り込むマイクロフォンを含み、前記1つ以上の処理モジュールが、更に、前記禁止ジェスチャーを行いながら前記ユーザーによって生成された音声データーを編集するロジックを含む、システム。1つ以上のコンピューター読み取り可能記憶媒体であって、第1処理デバイスにおけるプロセッサーに、アバターのジェスチャー表示を制限する方法を実行させる命令がエンコードされた1つ以上のコンピューター読み取り可能記憶媒体であって、前記方法が、ディスプレイ上において前記アバターによる実行のための動きが、禁止ジェスチャーの組の内の1つを表すか否か、前記アバターの制御のための動き追跡データーに基づいて判断するステップと、前記アバターの表現が、第2処理デバイスへの送信のための画像データーに変換されたか否か判断するステップと、前記ジェスチャーが前記禁止ジェスチャーの組のものであること、および前記画像データーが前記第2処理デバイスへの送信のためのものであることに応答して、前記ジェスチャーについての動きデーターを、前記アバターについての異なる動きデーターと置き換えるステップと、を含む、1つ以上のコンピューター読み取り可能記憶媒体。請求項8記載の1つ以上のコンピューター読み取り可能記憶媒体において、前記方法が、更に、リアルタイムで、前記ユーザーの画像データーから判断されたユーザーの動きを、前記アバターによる動きを追跡して、表示するための画像データーを得るステップを含む、1つ以上のコンピューター読み取り可能記憶媒体。請求項8記載の1つ以上のコンピューター読み取り可能記憶媒体において、第2処理デバイスへの送信のための前記画像データーが、格納されたビデオファイルを含み、更に、前記ビデオファイルが送信されているという指示に応答して、前記格納されたビデオファイルにおいて、アバターについての動き追跡データーを再生するステップを含む、1つ以上のコンピューター読み取り可能記憶媒体。0003ユーザーは、表示された場面において不快な行為を行うように彼または彼女のアバターを誘導することもある。例えば、アバターに、卑猥な行為または不快な行為を行ったり、あるいは卑猥な姿勢または不快な姿勢を取るように誘導することもある。0004ジェスチャーを表す動き追跡データーに基づいて、ジェスチャーが禁止ジェスチャーを描写するか否か判断することによって、アバターのジェスチャー表示を制限する技術を紹介する。そうである場合、アバターに対してそのジェスチャーを表す画像データーを変更する。一実施形態では、ユーザーの動きを追跡して、リアルタイムのアバターの動きが得られ、したがって、ジェスチャーの判断および変更がリアルタイムで行われる。0005変更は、禁止ジェスチャーをフィルタリングすること、またはアバターの表示において禁止ジェスチャーの画像データーを交換することを含むことができる。加えて、アバターがローカルで表示されているのか、または表示のために他のコンピューターに送信されているのかというような規準が、ジェスチャーをそのまま表示するのか、またはその画像データーを変更するのかに作用することができる。0006この摘要は、詳細な説明の章において以下で更に説明する概念から選択したものを簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。この摘要および以下の詳細な説明において記載される特徴は、全てを含むのではなく、特に、当業者には、図面、明細書、および特許請求の範囲を考慮することにより、多くの追加の特徴や利点が明白となるであろう。0026図1Aおよび図1Bは、人間の自然環境において、対象者に特殊な検知デバイスを取り付けることなく、人間を認識し、彼らを一意に識別し、三次元空間において彼らを追跡する、ターゲット認識、分析、および追跡システム50の実施形態例と対話処理するユーザーを示す。このような例示的なコンテキストは、禁止ジェスチャーのアバター表示を制限する技術が特に有用であるコンテキスト例を紹介する。しかしながら、本技術は、ユーザーがセンサを着用するセンサベースシステム、またはデバイスに基づくアバター制御システムというような、他のアバター制御メカニズムにも適用可能である。デバイスの例には、キーボード、マウス、トラックボール、ゲームパッド、またはジョイスティックがある。0027この実施形態例によれば、ターゲットは、人間のターゲット例えば、ユーザー58、物体を持った人間のターゲット、2人以上の人間のターゲット等とすることができ、このターゲットを走査して、スケルトンモデル、メッシュ人間モデル、またはその任意の他の適した表現を生成することができる。このモデルを追跡すれば、ターゲットの物理的動きまたは運動がリアルタイムのユーザーインターフェースとして作用し、電子ゲームのようなアプリケーションのパラメーターを調節および/または制御するというようなことが可能になる。更に、このモデルは、アプリケーションに対してモデルとして提示され、リアルタイムでアプリケーションに配信することができる。例えば、ユーザーの動きを追跡し、電子ロールプレーイングゲームにおける画面上のキャラクターまたはアバターを動かすために、追跡したユーザーの動きを使用することができる。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のような人間のターゲットが物体を有していてもよい。また、ジェスチャーがプロップを組み込んでいてもよい。このような実施形態では、電子ゲームのユーザーは、ゲームに参加している間、その物体を保持しているまたは使用している場合がある。その物体の動きを追跡し画面上でマッピングして、ユーザーが操作しているその物体を表す仮想物体も併せて、アバターを描く。実施形態例では、仮想物体は、実際の物体がユーザーによって動かされるに連れて、その動きを追跡する。例えば、ユーザーが保持しているラケットの動きを追跡し、電子スポーツゲームにおいてボールを打つように画面上のラケットを制御するために利用することができる。他の実施形態例では、物体を保持しているユーザーの動きを追跡して、電子戦闘ゲームにおいて画面上の兵器を制御するために利用することもできる。また、他の物体も含むこともでき、その例の中には、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を使用して、ユーザーの身体の動きを分析し、更に対応するアバターの動きを命令する場合もある。一例では、身体モデルは、身体部分と、次元空間におけるそれらの位置および/または基準に対する回転角度とを表す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による貼るかに強いパンチに変わる。ボクシングゲームにおけるパンチについてのライブラリーモジュールは、ユーザーの拳が彼の肘から繰り出される速度の加速度から、これはゲームにおけるこのユーザー58の強力なパンチであると判断することができ、彼のアバター64のパンチは、ライブラリーパンチモジュールの命令によって、これをディスプレイ上に反映する。また、この命令は、例えば、スコアを更新するというような、他のアプリケーションタスクも含むことができる。0046禁止ジェスチャーに対するライブラリーモジュール210の実行可能命令は、この禁止ジェスチャーの描写を回避するために、後続の表示更新におけるアバターの画像データーに対する変更を含むことができる。卑猥なまたは不快なジェスチャーの動きまたは姿勢に対する交換212を、禁止ジェスチャーのライブラリーモジュール210に組み込むことができる。他の例では、禁止ジェスチャーについての画像データーを交換する処理は、分離して、それぞれの禁止ジェスチャーライブラリーモジュールにリンクされている交換ライブラリーモジュール212に入れることができる。0047例えば、禁止ジェスチャーライブラリーにおける1つ以上のモジュールを、その禁止ジェスチャーと関連付けられている交換画像データーの1つ以上のモジュールとリンクする関連アレイまたはデーターベース相互参照があるとよい。共通身体部分のような、身体的特性に基づいて、交換を禁止ジェスチャーにリンクすることができる。しかしながら、似ている意味、似ている感情、または似ている感情の強さというような規準に基づいて、交換をリンクすることもできる。とはいえ、一般に、交換画像の方が、強さは穏やかである。一実施形態では、ジェスチャーと画像データーの交換は、そのジェスチャーについての動きデーターを、アバターについての異なる動きデーターで置き換えることによって行われる。0048また、本システムは、ユーザーが本システムを訓練して、他の禁止ジェスチャーを認識し、交換を選択するまたは用意する機構を含むこともできる。親は新しい不快なジェスチャーに気がつくので、これは親にとっては助けになることができる。0049また、アプリケーションは、ユーザーが、シンボルを彼または彼女のアバターと関連付けることを可能にすることもできる。これをトロフィーと呼ぶこともある。このシンボルは、動きまたは姿勢、つまり、ジェスチャーを含むことができ、ユーザーは画像キャプチャーシステム例えば、60に対してそれを実行することによって、シンボルを割り当て、次いで、計算環境例えば、300または52において実行するアプリケーションによって処理される。トロフィーに対するジェスチャーをチェックして、これらが禁止されているか否か確かめることもできる。0050アバター表示制御モジュール209は、周期的に、または動きモジュール204からのメッセージに応答して、アバタープロファイル1つまたは複数214に対する更新を読み込み、アバターの動きまたは姿勢を表す画像データー219を場面表示処理モジュール207に送る。場面表示処理モジュール207は、この例では、ディスプレイシステム例えば、56に場面をレンダリングするのに備えて、アバター画像データー219を場面データーと一体にする。一例では、動きまたは姿勢を表す画像データーは、アバターについての動き追跡データーとすることができる。画像データーの他の例は、髪、顔の特徴、および衣服というような、アバターの特徴についての色画像データーとすることができる。画像データー219lはローカルに送ることができる。あるいは、アバターの動きまたは姿勢を表す画像データー219iをインターネット203または他のネットワークを介して送信しようとする場合、動きモジュール204は、ネットワーク送信に適したポートに画像データー219iを送ることを、アバター表示制御モジュール209に通知することができる。0051アバターの表示に対するユーザーの動きの追跡は、好ましくは、リアル/タイムで行われ、ユーザーが実行中のアプリケーションとリアルタイムで対話処理できるようにするとよい。リアルタイムの表示とは、ジェスチャーの仮想表現を指し、この表示は、物理空間におけるジェスチャーの実行と同時にまたは殆ど同時に行われる。例えば、本システムがユーザーにオウム返しする表示を提供することができる表示更新レートは、20Hz以上のレートとするとよく、この場合、些細な処理の遅れは、最小限の表示の遅れにしかならず、またはユーザーには全く見えない。つまり、リアルタイムには、自動データー処理のために必要な時間だけ遅れているデーターの適時性に関する些細な遅れはいずれも含まれる。0052画像キャプチャーシステム60は、人間のターゲットおよび人間以外のターゲットをキャプチャーエリア内で認識し対象に特殊な検知デバイスが取り付けられているまたは取り付けられていない、これらを一意に識別し、三次元空間においてこれらを追跡する。0053実施形態例によれば、画像キャプチャーシステム60は、深度画像を含む深度情報と共にビデオを取り込むように構成することができる。深度画像は、例えば、飛行時間、構造化光、立体画像などを含む任意の適した技法によって、深度値を含むことができる。図2に示されるように、実施形態例によれば、画像カメラコンポーネント70は、IR光コンポーネント72、三次元3Dカメラ74、およびキャプチャーエリアの深度画像を取り込むために用いることができるRGBカメラ76を含むことができる。例えば、飛行時間分析では、キャプチャーシステム60のIR光コンポーネント72は、キャプチャーエリアに向けて赤外線光を放出することができ、次いでセンサを用いて、そのキャプチャーエリアの中にある1つ以上のターゲットおよび物体の表面からの後方散乱光を、例えば、3Dカメラ74および/またはRGBカメラ76を用いて検出することができる。実施形態の中には、パルス状赤外線光を用いて、発信光パルスと対応する入射光パルスとの間の時間を測定し、深度カメラシステム60からキャプチャーエリア内にあるターゲットまたはオブジェクト上における特定の場所までの物理的距離を判定するために用いることができるようにするとよい場合がある。加えて、他の実施形態例では、発信光波の位相を着信光波の位相と比較して、位相ずれを判定することもできる。次いで、位相ずれを用いて、キャプチャーシステムからターゲットまたはオブジェクト上の特定の場所までの物理的距離を判定することができる。0054他の実施形態例によれば、飛行時間分析を使用して、例えば、散乱光パルス撮像を含む種々の技法によって、経時的な光の反射ビームの強度を分析することによって、キャプチャーシステム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は、インタラクティブレートでデーターを取り込むことができ、データーの忠実性を高め、開示する技法が生の深度データーを処理し、場面における物体をディジタル化し、物体の表面および模様を抽出し、ディスプレイ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つ以上の高分散および/またはノイズ深度値を除去する、および/または深度画像からスムージングすることができる。失われた深度情報および/または除去された深度情報の部分は、充填すること、および/または再現することができる。このようなバックフィリングは、最も近い近隣を平均化すること、フィルタリング、および/または任意の他の適した方法で行うことができる。スケルトンモデルのようなモデルを生成するために深度情報を使用できるように、他の適した処理を実行することもできる。0066図3Aは、図1Aから図2におけるようなゲーミングコンソールにおいて使用することができる計算環境の実施形態の詳細な例を示し、アバターによる禁止ジェスチャーの表示を制限する1つ以上の実施形態が動作することができる。図3Aに示すように、マルチメディアコンソール52は、レベル1キャッシュ102、レベル2キャッシュ104、およびフラッシュROMリードオンリーメモリー106を有する中央処理ユニットCPU101を有する。レベル1キャッシュ102およびレベル2キャッシュ104は、一時的にデーターを格納し、こうしてメモリーアクセスサイクルの回数を減らすことによって、処理速度およびスループットを向上させる。CPU101は、1つよりも多いコア、したがって追加のレベル1およびレベル2キャッシュ102および104を有して設けることもできる。フラッシュROM106は、実行可能コードを格納することができる。実行可能コードは、マルチメディアコンソール52の電源をオンにしたときに、ブートプロセスの初期段階中にロードされる。0067グラフィクス処理ユニットGPU108およびビデオエンコーダー/ビデオコデックコーダー/デコーダー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は、周辺コントローラー1421~1422、ワイヤレスアダプター148、および外部メモリーデバイス146例えば、フラッシュメモリー、外部CD/DVDROMドライブ、リムーバブル媒体等のためのホストとしての役割を果たす。ネットワークインターフェース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内部にある回路を冷却する。0073CPU101、GPU108、メモリーコントローラー110、およびマルチメディアコンソール100内部にある種々のその他のコンポーネントは、1系統以上のバスを通じて相互接続されている。これらのバスには、シリアルおよびパラレルバス、メモリーバス、周辺バス、および種々のバスアーキテクチャーのいずれかを用いるプロセッサーバスまたはローカルバスが含まれる。一例として、このようなアーキテクチャーは、ペリフェラルコンポーネント相互接続PCIバス、PCIExpressバス等を含むことができる。0074マルチメディアコンソール52の電源をオンにすると、システムメモリー143からメモリー112および/またはキャッシュ102、104にアプリケーションデーターをロードし、CPU101において実行することができる。アプリケーションは、グラフィカルユーザーインターフェースを提示することができる。このグラフィカルユーザーインターフェースは、マルチメディアコンソール100において利用可能な異なるタイプのメディアにナビゲートするときに、一貫性のあるユーザー体験を提供する。動作において、アプリケーションおよび/またはメディアドライブ144内に収容されている他のメディアをメディアドライブ144から起動または再生して、マルチメディアコンソール52に追加の機能を設けることもできる。0075マルチメディアコンソール52は、単にシステムをテレビジョンまたはその他のディスプレイに接続することによって、単体システムとして動作させることができる。この単体モードでは、マルチメディアコンソール52は、一人以上のユーザーがシステムと対話処理を行い、ムービーを見ること、または音楽を聞くことを可能にする。しかしながら、ネットワークインターフェース124またはワイヤレスアダプター148によって利用可能となるブロードバンド接続機能を統合することにより、マルチメディアコンソール52を更に大きなネットワークコミュニティにおける一構成要素として動作させることもできる。0076マルチメディアコンソール52の電源をオンにすると、マルチメディアコンソールのオペレーティングシステムによって、設定されている量のハードウェアリソースがシステムの使用のために確保される。これらのリソースは、メモリー例えば、16MB、CPUおよびGPUサイクル例えば、5、ネットワーキング帯域幅例えば、8kbs等の確保を含むことができる。これらのリソースは、システムのブート時に確保されるので、確保されたリソースは、アプリケーションの視点からは存在しない。0077特に、メモリーの確保は、起動カーネル、コンカレントシステムアプリケーション、およびドライバーを含めるのに十分大きいことが好ましい。確保されたCPU使用枠がシステムアプリケーションによって用いられない場合、アイドルのスレッドが任意の未使用サイクルを消費するように、CPUの確保は、一定であることが好ましい。0078GPUの確保に関して、GPU割り込みを用いることによって、システムアプリケーション例えば、ポップアップによって発生される軽量メッセージを表示して、ポップアップをオーバーレイにレンダリングするコードをスケジューリングする。オーバーレイに用いられるメモリー量は、オーバーレイのエリアサイズに依存し、オーバーレイは画面の解像度と共にスケーリングすることが好ましい。コンカレントシステムアプリケーションによってフルユーザーインターフェースが用いられる場合、アプリケーションの解像度とは独立した解像度を用いることが好ましい。周波数を変更しTVの同期を取り直す必要性をなくすように、この解像度を設定するためにスケーラーを用いるとよい。0079マルチメディアコンソール52がブートして、システムリソースを確保した後、コンカレントシステムアプリケーションが実行してシステム機能を提供する。システム機能は、前述の確保したシステムリソースの内部で実行する1組のシステムアプリケーションの中にカプセル化されている。オペレーティングシステムカーネルは、システムアプリケーションスレッドと、ゲーミングアプリケーションスレッドとの間でスレッドを識別する。一貫したシステムリソースビューをアプリケーションに提供するために、システムアプリケーションは、所定の時点および間隔でCPU101において実行するようにスケジューリングされていることが好ましい。このスケジューリングは、コンソールにおいて実行しているゲーミングアプリケーションに対するキャッシュ破壊を最少に抑えるためにある。0080コンカレントシステムアプリケーションがオーディオを必要とする場合、時間に敏感であるため、オーディオ処理を非同期にゲーミングアプリケーションにスケジューリングする。マルチメディアコンソールアプリケーションマネージャー以下で説明するは、システムアプリケーションがアクティブのとき、マルチメディアアプリケーションのオーディオレベル例えば、無音化、減衰を制御する。0081入力デバイス例えば、コントローラー1421および1422は、ゲーミングアプリケーションおよびシステムアプリケーションによって共有される。入力デバイスは、確保されるリソースではないが、システムアプリケーションとゲーミングアプリケーションとの間で切り換えられて、各々がデバイスのフォーカスを有するようにする。アプリケーションマネージャは、好ましくは、ゲーミングアプリケーションの知識を用いずに入力ストリームの切換を制御し、ドライバーはフォーカススイッチに関する状態情報を維持する。画像キャプチャーシステム60は、コンソール52に対して例えば、そのカメラシステムに対して追加の入力デバイスを定めることができる。0082図3Bは、パーソナルコンピューターのような、計算環境の他の実施形態例を示す。0083図3Bを参照すると、本技術を実現するシステム例は、コンピューター310の形態とした汎用計算機を含む。コンピューター310のコンポーネントは、限定ではなく、処理ユニット320、システムメモリー330、およびシステムバス321を含むことができる。システムバス321は、システムメモリーを含む種々のシステムコンポーネントを処理ユニット320に結合する。システムバス321は、メモリーバスまたはメモリーコントローラー、周辺バス、および種々のバスアーキテクチャーの内任意のものを用いるローカルバスを含む、様々なタイプのバス構造の内任意のものとすることができる。一例として、そして限定ではなく、このようなアーキテクチャーは、業界標準アーキテクチャーISAバス、マイクロチャネルアーキテクチャーMCAバス、拡張ISAEISAバス、ビデオエレクトロニクス標準連盟VESAローカルバス、およびメザニンバスとしても知られている周辺素子相互接続PCIバスを含む。0084コンピューター310は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター310によってアクセス可能な任意の入手可能な媒体とすることができ、揮発性および不揮発性、リムーバブルおよび非リムーバブル双方の媒体を含む。一例として、そして限定ではなく、コンピューター読み取り可能媒体は、コンピューター記憶媒体および通信媒体を含むことができる。コンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラムモジュール、またはその他のデーターというような情報の格納のために、任意の方法または技術で実現される、揮発性および不揮発性の双方、リムーバブル媒体および非リムーバブル媒体を含む。コンピューター記憶媒体は、限定ではなく、RAM、ROM、EEPROM、フラッシュメモリーまたはその他のメモリー技術、CD-ROM、ディジタルバーサタイルディスクDVDまたはその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピューター310がアクセス可能なその他のあらゆる媒体を含む。通信媒体は、通例、コンピューター読み取り可能命令、データー構造、プログラムモジュール、またはその他のデーターを、搬送波またはその他の移送機構のような変調データー信号において具体化し、任意の情報配信媒体を含む。変調信号という用語は、その信号に情報をエンコードするようなやり方で、1つ以上のその特性が設定または変化させられている信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、RF、赤外線、およびその他のワイヤレス媒体というようなワイヤレス媒体を含む。前述の内任意のものの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれてしかるべきである。0085システムメモリー330は、リードオンリメモリーROM331およびランダムアクセスメモリーRAM332のような揮発性および/または不揮発性メモリーの形態をなすコンピューター記憶媒体を含む。基本入出力システム333BIOSは、起動中のように、コンピューター310内のエレメント間における情報転送を補助する基本的なルーチンを含み、通例ROM331内に格納されている。RAM332は、通例、処理ユニット320が直ちにアクセス可能であるデーターおよび/またはプログラムモジュール、あるいは現在処理ユニット320によって処理されているデーターおよび/またはプログラムモジュールを収容する。一例として、そして限定ではなく、図3は、オペレーティングシステム334、アプリケーションプログラム335、その他のプログラムモジュール331、およびプログラムデーター337を示す。0086また、コンピューター310は、その他のリムーバブル/非リムーバブル揮発性/不揮発性コンピューター記憶媒体も含むことができる。一例として示すに過ぎないが、図3Bは、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハードディスクドライブ340、リムーバブル不揮発性磁気ディスク352からの読み取りおよびこれへの書き込みを行なう磁気ディスクドライブ351、ならびにCDROMまたはその他の光媒体のようなリムーバブル不揮発性光ディスク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に示す論理接続は、ローカルエリアネットワークLAN371およびワイドエリアネットワークWAN373を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピューターネットワーク、イントラネットおよびインターネットにおいては、一般的である。0089LANネットワーク環境で用いる場合、コンピューター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と通信することができる。サーバー91つまたは複数406は、コンソール400A~400Xから情報を受信することおよびコンソール400A~400Xに情報を送信することが可能な通信コンポーネントを含むことができ、コンソール400A~400Xにおいて実行しているアプリケーションが呼び出して利用することができるサービスの集合体を提供することもできる。0091コンソール400A~400Xは、ユーザーログインサービス408を呼び出すことができる。ユーザーログインサービス408は、コンソール400A~400Xにおいてユーザーを認証し特定するために使用される。ログインの間、ログインサービス408はゲーマータグユーザーと関連付けられている一意の識別子およびパスワードをユーザーから取得し、更にユーザーが使用しているコンソールを一意に識別するコンソール識別子、およびこのコンソールへのネットワークパスも取得する。ゲーマータグおよびパスワードは、これらをユーザーグローバルプロファイルデーターベース416と比較することによって認証される。グローバルプロファイルデーターベース416は、ユーザーログインサービス408と同じサーバーに配置することができ、あるいは1つの異なるサーバーまたは異なるサーバーの集合体に分散することもできる。一旦認証されたなら、ユーザーログインサービス408はコンソール識別子およびネットワークパスをグローバルユーザープロファイルデーターベース416に格納し、メッセージおよび情報をコンソールに送ることができるようにする。0092一実施形態では、コンソール400A~400Xは、ゲーミングサービス410、共有サービス412、禁止ジェスチャー検出器、ユーザー共有データー428、および交換データーベース418を含むことができる。ゲーミングサービスは、ユーザーがオンラインインタラクティブゲームをプレーすること、コンソール間で合同ゲームプレーのためのゲーミング環境を作り共有すること、そしてオンライン市場、種々のゲームに跨がる集中達成追跡、および他の共有体験機能というような、他のサービスを提供することを可能にするのであるとよい。共有サービス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から取り込まれた場面における物体の長さまたは距離というような深度値を、例えば、センチメートル、ミリメートル等の単位で表すことができる。実施形態例によれば、エッジを判定するには、例えば、深度画像の隣接する画素または近隣の画素と関連した種々の値同士を比較すればよい。比較された種々の深度値が所定のエッジ許容度よりも大きい場合、その画素はエッジを定めると考えられる。一実施形態では、所定のエッジ許容度は、例えば、100ミリメートルとするとよい。1000ミリメートルの深度値を表す画素が、1200ミリメートルの深度値を表す隣接画素と比較された場合、これらの画素はターゲットのエッジを定めることができる。何故なら、これらの画素間の長さまたは距離の差が、100mmという所定のエッジ許容度よりも大きいからである。0097他の実施形態によれば、深度画像における所定のポイントまたはエリアを塗り潰して、深度画像が人間のターゲットを含むか否か判断することができる。例えば、深度画像の選択されたエリアまたはポイントにおける画素の種々の深度値を比較して、前述のようにターゲットまたは物体を定めることができるエッジを判定することができる。実施形態例では、所定のポイントまたはエリアが深度画像全体に均一に分布されているとよい。例えば、所定のポイントまたはエリアは、深度画像の中心にあるポイントまたはエリア、深度画像の左エッジと中心との間にある2つのポイントまたはエリア、深度画像の右エッジと中心との間にある2つのポイントまたはエリアなどを含むことができる。0098判定されたエッジに基づいて、ZレイヤーのZ値を塗り潰すことができる。例えば、判定されたエッジと関連した画素、および判定されたエッジの内部にあるエリアの画素を互いに関連付けて、キャプチャーエリアの中にあるターゲットまたは物体を定めることができ、これをパターンと比較することができる。0099実施形態例によれば、塗り潰したターゲット、人間および人間以外のターゲットの各々をパターンと照合して、キャプチャーエリアの中にいるターゲットが人間を含むか否か、および/またはどのターゲットが人間を含むか判定することができる。このパターンは、例えば、両腕が各側にある典型的な起立姿勢というような、種々の位置または姿勢の人間と関連した所定の身体モデルのマシン表現を含むことができる。データーにおける身体部分の識別および表現00100実施形態例では、人間のターゲットを分離し、この人間のターゲットのビットマスクを作り、1つ以上の身体部分を求めて走査することができる。例えば、深度画像内において有効な人間のターゲットが発見された後、背景またはこの人間のターゲットと一致しない深度画像のエリアを除去することができる。次いで、例えば、X、Y、およびZ軸に沿って人間のターゲットの値を含むことができるビットマスクを、この人間のターゲットに生成することができる。実施形態例によれば、例えば、頭部から始めて、人間のターゲットのビットマスクを走査して、種々の身体部分を求め、人間のターゲットのモデルを生成することができる。ビットマスクの最上部を、頭部の最上部の位置と関連付けることができる。頭部の最上部を決定した後、下に向かってビットマスクを走査し、首の位置、肩の位置等を判定することができる。画素がモデルにおける特定の仮想身体部分と関連がある確率を含むように、深度マップまたは深度画像を更新することができる。00101実施形態例によれば、身体部分の値を判定するときに、データー構造を作ることができる。このデーター構造は、人間のターゲットのビットマスクと関連した身体部分の長さ、幅等のような測定値を含むことができる。一実施形態では、身体部分のデーター構造は、フレームレートでキャプチャーシステム60においてフレーム単位で取り込まれた複数の深度画像から平均を取った結果を含むことができる。このモデルは、あるフレーム数毎に繰り返し調節することができる。他の実施形態によれば、判定された身体部分の測定値を拡大、縮小等のように調節して、データー構造における測定値が、人間の身体の典型的なモデルにより密接に対応するようにすることができる。身体モデルは、任意の数の身体部分を含むことができ、その各々が、モデル化されたターゲットの対応する部分の任意の機械理解可能な表現とするとよい。001022つ以上の身体部分を含むモデルの例では、このモデルの各身体部分が、1つ以上の構造部材即ち、骨を含み、隣接する骨の交点に関節が位置する。例えば、ビットマスクによって決定された測定値を使用して、スケルトンモデルにおける1つ以上の関節を定めることができる。1つ以上の関節を使用して、人間の身体部分に対応すると考えられる1つ以上の骨を定めることができる。各関節は、1つ以上の身体部分が1つ以上の他の身体部分に対して動くことを可能にする場合もある。例えば、人間のターゲットを表すモデルが、複数の硬質でおよび/または変形可能な身体部分を含むことができ、一部の身体部分は、人間のターゲットの対応する解剖学的身体部分を表すことができる。各身体部分は、スケルトンモデルの関節および骨を定める数学的ベクトルとして特徴付けることができる。尚、一部の骨には人間のターゲットにおける解剖学的な骨に対応すると考えられるものがあること、および/または骨の一部は人間のターゲットにおいて対応する解剖学的な骨を有さないと考えられるものがあることは理解されてしかるべきであろう。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までも含み、各ねじり関節は、軸ねじれ角を追跡するために利用することができる。例えば、軸ねじれ角は、親肢および/または胴体に対する肢の回転方位を定めるために使用することができる。例えば、スケルトンモデルが腕の軸回転を示している場合、ねじり関節j40は、関連した手首が指し示す方向を示すために使用することができる例えば、掌を上に向けている。つまり、以下で説明するように、関節は力を受けてスケルトンモデルを調節することができるが、一方、ねじり関節は、代わりに、軸ねじれ角を追跡するために組み立てて利用することができる。更に一般的には、親肢および/または胴体に対する肢の方位を調べることによって、軸ねじれ角を判定することもできる。例えば、下肢を調べる場合、軸ねじれ角度を判定するために関連した上肢および臀部に対する下肢の方位も調べることができる。関節および骨、ならびに力ベクトルの適用00105ユーザーが物理空間において動き、画像キャプチャーシステム60によって取り込まれると、結果的に得られた画像データーは、スケルトンモデルが正確にユーザーを表すように、スケルトンモデルを調節するために使用することができる。実施形態例によれば、モデルをラスタ化して合成深度画像を得ることができる。ラスタ化によって、数学的ベクトル、ポリゴンメッシュ、または他のオブジェクトによって記述されたモデルを、画素に関する合成深度画像に変換することが可能になる。キャプチャーシステムによって引き出されたターゲットの被観察イメージと、モデルのラスタ化された即ち、合成されたイメージとの間の差を使用して力ベクトルを決定することができる。この力ベクトルは、身体を異なる姿勢に調節するためにモデルに適用される。一実施形態では、1つ以上の力ベクトルを1つ以上の受力面に適用して、キャプチャーエリアの物理空間におけるターゲットの姿勢に一層緊密に対応する姿勢に、モデルを調節することができる。このモデルは、フレームが取り込まれるに連れて繰り返し調節することができる。使用されているモデルのタイプに依存して、力ベクトルは、関節、身体部分の重心、三角形の頂角、またはモデルの任意の他の適した受力面に適用することができる。更に、実施形態によっては、力の方向および/または大きさを決定するときに、2つ以上の異なる計算を使用するとよい場合もある。00106制約00107画面上のキャラクターの視覚的外観は、追跡されているスケルトンモデルに対する変更および制約に応答して、変更することもできる。力を加えたときにスケルトンモデルの完全性を維持することは、1つ以上の制約を適用することの結果得ることができる。異なる可能なモデルタイプの完全性を維持するためには、種々の異なる制約を強制することができる。00108モデルを修正する各繰り返しの間、行為およびジェスチャーの集合を、1つ以上のターゲットの1つ以上の実際の身体によって物理的に表現可能なものに制限するために、動きまたは姿勢に対して緩やかにおよび/または徐々に制約を適用することができる。加えてまたは代わりに、ターゲットに基づいて各スケルトン部材の長さを計算し、これらの長さが修正の間制約として使用できるようにすることによって、スケルトンモデルに制約を加えることもできる。例えば、ターゲットの身体の種々の部分の寸法例えば、腕の長さ、臀部の幅、頭の大きさ等は、身体モデルの種々のバージョンをレンダリングし、各レンダリングにおいて寸法を変更して使用し、1つ以上の適したメトリックにしたがってターゲットに最も緊密に一致するレンダリングの寸法を選択することによって決定することができる。他の例では、1回のレンダリングを行うのでもよく、レンダリングが被観察深度画像に一致する特定のエリア、および一致しない特定のエリアの分析によって、適正な身体の寸法を推論することができる。実施形態の中には、ターゲットの異なる部分がある時間枠例えば、1秒の30分の1または60分の1において動くことができる距離を制限することができるという知識を、モデルを得るときの制約として使用することができる。このような制約は、以前の枠が解っているときに、ある種の姿勢を除外するために使用することもできる。00109関節角度の制約に関して、ある種の肢および身体部分は、隣接する身体部分に対するそれらの運動範囲を制限するとよい。加えて、この運動範囲は、隣接する身体部分の方位に基づいて変化することもある。つまり、関節角度の制約を適用することによって、親肢および/または身体部分の方位が示されたときに、肢節を可能な構成に制約することが可能になるとよい。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つ以上のデーター構造を含み、これらが、硬質および/または変形可能な形状、または身体部分を含む二次元または三次元モデルとして、ターゲットを表すことができる場合もある。各身体部分は、数学的原子関数として特徴付けることができ、その例には、球体、異方的スケーリングされた球体、円筒、異方性円筒、滑らかな円筒、ボックス、面取されたボックス、角柱などが含まれるが、これらに限定されるのではない。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日に出願されたEnvironmentAndOrTargetSegmentation環境および/またはターゲット区分、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年10月21に出願された米国特許出願第12/603,437号、PoseTrackingPipeline姿勢追跡パイプライン、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年5月29日に出願された米国特許出願第12/475,308号、DeviceforIdentifyingandTrackingMultipleHumansOverTimeときの経過と共に複数の人間を識別および追跡するデバイス、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年12月18日に出願されたMotionDetectionUsingDepthImages深度画像を使用した動き検出、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年10月7日に出願された米国特許出願第12/575388号HumanTrackingSystem人間追跡システム、ここで引用したことにより本願にもその内容全体が含まれるものとする。ジェスチャー判定00123ユーザーの自然な動きを取り込む1つ以上の実施形態では、キャプチャーシステム60は、ユーザーが適時に動くと、表示画面54上の場面を更新するために、動き追跡のためのデーター205lを、通信可能に結合されている動きモジュール204に繰り返し送る。先の例では、動き追跡データーは、異なる関節に関するベクトル、動きの変化を示すための重心またはノードというようなスケルトンモデルの何らかの形態に関して参照されるデーターを含むことができる。このような変化は、モーションキャプチャーファイルに取り込むことができる。このデーターは、ベクトルデーターをラスタ化することによって作られた合成画素データー表現を基準にすることもできる。また、このデーターは、どの身体部分が動いているのか検出するために、各更新において比較のためにユーザーのビットマスクを含むこともできる。各身体部分は、識別できるように、インデックス化されており、居間にある家具というようなキャプチャーエリアの他の部分は、背景として識別され、ユーザーは、それぞれの身体部分についてのマシン表現可能データーをこれらにリンクできるように、インデックス化される。00124動きモジュール204は、インデックスを使用して、どの身体部分が更新の間に位置を変化させたか識別することができる。異なる身体部分毎に、ジェスチャーフィルター206が関連付けられている。ジェスチャーフィルター206は、更新205または一連の更新において示された動きが、ジェスチャーを表すか否か判断するための命令を含む。このジェスチャーは、動き自体または最終的な姿勢とすることができる。先に論じたように、ジェスチャーは、通常アプリケーションのコンテキストにおける意味を有するが、アプリケーションに関係なく、異なる文化では不快になる意味を有する可能性もある。動きモジュール204は、これらの行為に対する特定のジェスチャーフィルターを有する。これらの行為を、以後禁止ジェスチャーと呼び、これらを認識するために、種々の身体部分と関連した動き追跡データーと、禁止ジェスチャーを比較する。00125一実施形態では、ジェスチャーフィルター206は、ジェスチャーに伴う1つ以上の身体部分についての動き追跡データーを、そのジェスチャーを定める動き特性に関する規準を含むパラメーターと比較する命令を実行する。動き特性の例には、位置、角度、速度、および加速度が含まれる。例えば、投げる場合、一方の手が身体の背後から身体の前を通過する運動が含まれ、ユーザーの一方の手が身体の背後から身体の前を通過する動きを表す情報を含むジェスチャーとして実現することができる。この動きは、深度カメラによって取り込まれる。投げるに対するパラメーターの例には、手が到達しなければならないしきい値速度、手が移動しなければならない距離絶対的またはユーザー全体の大きさに対して相対的な距離、および身体の背後からその前面を通過する手の動く方向が含まれる。これらのパラメーターは、その対応するジェスチャーについてのメタデーターとして格納することができる。パラメーターは、ジェスチャーについての多様な動き特性の内任意のものを含むことができる。フィルターがパラメーターを含む場合、そのパラメーター値は異なる形態をなすことができる。例えば、しきい値、絶対値、フォールトトレランス、または範囲であってもよい。00126パラメーターによって表すことができる動き特性の更に別の例には、次のようなものがある。ジェスチャーに関与する身体部分、動きの身体部分に対する角度、関節、他の身体部分またはスケルトンモデルによって表されるユーザーの身体の重心、身体部分または身体全体の位置変化、および身体部分または身体全体が動いた距離である。加えて、特性の他の例には、ユーザーの身体周囲において身体部分が動く空間の広さ、動きの方向、身体部分の動きの速度、動きが起こる場所、場面における身体部分と他の物体との間の角度、加速度しきい値、ジェスチャーの時間期間、ジェスチャーの特定時間、および解放点releasepointがある。00127実施形態では、パラメーターの値は、アプリケーションのエンドユーザーがジェスチャーを行うことによって決定される。例えば、ユーザーが、どの動きがジェスチャーを構成すると彼が信じるか指定することができるように、アプリケーションがユーザーにそれを訓練させるとよい。これは、ユーザーが、彼または彼女の運動能力によって正しい制御を行うことなく、ユーザーが行うことができる動きを対応するジェスチャーにリンクさせることができるという利点があると考えられる。これが利用可能でないと、ユーザーは、ジェスチャーを行うためにアプリケーションによって要求されるように彼の身体を動かすことができないので、いらいらする可能性がある。例えば、ピッチャーが50mphと105mphとの間の任意の整数の速度で投球を行う野球ゲームを仮定し、ユーザーがジェスチャーを行うときの最大の腕の速度にその速度が基づくとすると、これら56通りの可能な速度の各々に対して、別の1組のパラメーターを定めるのは厄介である。代わりに、アプリケーションには、ユーザーの最大の腕の速度でジェスチャーが行われたことの指示を与えればよく、次いで、アプリケーションは内部ロジックを使用して、対応するピッチャーのアバターが投球を行うべき速度を決定することができる。00128実施形態では、ユーザーは彼の声も使用して、ジェスチャーを行う、補強する、区別する、または明確にする。この実施形態では、動きモジュール204は音声データーを受け取り、データーと音声データーとの組み合わせがジェスチャーを示すと判断する。例えば、ユーザーは、彼の口を開いて閉じることによって、歌うジェスチャーを行うことができるが、特定の音程を歌うことによって、その歌うジェスチャーのその音程を指定することができる。加えて、ユーザーは、通常のパンチのジェスチャーを行いながら叫ぶことによって、通常のパンチではなく、強いパンチのジェスチャーを行うことができるとよい。00129一例では、ジェスチャーフィルター206の規準が、モデルデーター216に格納されている、図5A~図7に示されているスケルトンモデルの1つ以上のような、スケルトンモデルを参照する。このフィルターは、パラメーター規準が満たされているか否か判断するときに、深度値、またはスケルトンデーターに関するベクトル、または色画像データー、あるいはこれらの内2つ以上の組み合わせを処理することができる、コードおよび関連データーを含むことができる。例えば、フィルターへの入力は、ユーザーの関節位置についての関節データー、関節でつながる骨が形成する角度、衝突検査に役立つことができるユーザーのRGB色データー、およびユーザーの態様の変化率というような事項を含むことができる。入力データー205は、位置、速度、動きの方向、関節角度などが変化するに連れて、ジェスチャーに関与する1つ以上の身体部分についての以前の測位データー集合も一緒に、提示することができる。00130一致があるか否かは、1つ以上の出力される信頼性レベルによって表すことができる。一例では、信頼性レベルは、0と11も含むとの間の浮動小数点数を範囲とする線形目盛り上で実現することができる。実施形態では、信頼性レベルの判定は、フィルターと関連したパラメーターに基づくブール判定を含むことができる。例えば、各パラメーターには、それと関連した動き特性が作られていることについてそれ自体の信頼性レベルが関連付けられており、動きモジュール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他のジェスチャー例に、踵上げジャンプがある。この場合、ユーザーは、彼の踵を地面から上げるが、彼のつま先を付けたままにすることによって、このジェスチャーを行うことができる。あるいは、ユーザーは空中にジャンプすることもでき、この場合彼の両足720は完全に地上から離れている。本システムは、肩710、臀部712、および膝716の角度関係を分析することによって、このジェスチャーについてスケルトンを解析し、これらが、真っ直ぐに直立するときと等しい並びの位置にあるか否か調べることができる。次いで、これらのポイントならびに上下の脊椎点726および728を監視して、あらゆる上方向への加速度を求めることができる。十分な加速度の組み合わせがあると、ジャンプジェスチャーをトリガーすることができる。00135この踵上げジャンプジェスチャーを想定した場合、パラメーターは、このジェスチャーをトリガーするためには、ユーザーの肩710、臀部712、および膝716の何らかの組み合わせが、どの位速く上に動かなければならないかを決定する前述の加速度しきい値、ならびに、ジャンプをまだトリガーすることができる肩710、臀部712、および膝716の間の並びの最大角を含むことができる。出力は、確実度レベル、およびジャンプの時点におけるユーザーの身体の角度を含むとよい。00136禁止行為またはジェスチャーの例は、立てた中指を除く拳とすることができる。これは、相手に中指を立てると呼ばれることもある。動きモジュール204は、1本以上の指701aから701jまでに関して動きの変化を判定することができる。一例では、画像キャプチャーシステム60は、開いた位置または閉じた位置に対応して、指毎に0または1のビットマスクの値を割り当てる。相手に中指を立てるポーズに対するジェスチャーフィルターは、指の身体部分にリンクされているデーター205の部分を調べて、どの指が開いており、どの指が閉じているか判断する。手の中指だけが立てられている、即ち、開いていることに応答して、対応するジェスチャーフィルター206は、このジェスチャーを描写するのを回避するために、アバターの表示の変更をトリガーするのに十分高い確率を示す信頼性レベルを返す。00137動きモジュール204は、中指を立てるジェスチャーフィルターと関連した禁止ジェスチャーライブラリーモジュール210にリンクする。禁止ジェスチャーライブラリーモジュール210の処理は、変更のための1つ以上の選択肢を含むことができる。1つの選択肢は、単なる省略、即ち、立てた指を表示しないことである。立てた指を省略すると、拳の表示のみを残すことができる。言い換えると、指を立てる動きは、アバターの表示のための画像データー219の中では表現されなくすることができる。他の選択肢は、ディスプレイ上で禁止ジェスチャーを視覚的に隠すフィルタリング技法を適用することである。00138本技術と共に使用することができる画像キャプチャーシステムおよびその処理についての更に詳細な情報については、以下の出願を参照することができる。2009年5月29日に出願された米国特許出願第12/474,655号、GestureToolジェスチャーツール、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年4月13日に出願された米国特許出願第12/422,661号GestureRecognizerSystemArchitectureジェスチャー認識システムのアーキテクチャー、ここで引用したことにより本願にもその内容全体が含まれるものとする。2009年2月23日に出願された米国特許第12/391,150号StandardGestures標準的なジェスチャー、ここで引用したことにより本願にもその内容全体が含まれるものとする。00139図8Aは、アバター801の表示において禁止ジェスチャーを視覚的に隠すフィルタリング技法の例を示す。このような技法の一例は、図8Aに示されているモザイクである。立てた中指を含むアバター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と関連付けられている深度データーに基づいて、直接動き追跡処理が行われようとしている場合、スケルトンモデル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日に出願された、SYSTEMSANDMETHODSFORAPPLYINGANIMATIONSORMOTIONSTOACHARACTERアニメーションまたは動きをキャラクターに適用するシステムおよび方法と題する米国特許出願第12/475422号発明者:JeffreyMargolisKathrynStonePeresおよびAlexKipman、および2009年5月29日に出願された、EXTENDINGSTANDARDGESTURES標準的なジェスチャーの拡大と題する米国特許出願第12/475,295号発明者:KathrynStonePerezを参照のこと。00146他の実施形態では、全てのプレーヤーは、同じキャプチャーシステムによってローカルに取り込まれない。離れたプレーヤーが、動画化された場面のコンテキスト内において、卑猥な行為を行うかもしれない。例えば、ユーザーが、彼の腕を伸ばして、場面の中にいる他のプレーヤーのアバターの禁止ゾーンに接触するかもしれない。離れた場所におけるアバターの相互作用に対処するときには、受信されたデーターを異なる形態にすることができる。00147例えば、クラウド計算環境例えば、370では、ローカル画像キャプチャーシステムが、それ自体によってまたはゲームコンソール例えば、52のような追加の処理能力によって、動き追跡データーをインターネットを介して、図4におけるように1つ以上のサーバーに送り、このデーターは、ユーザーの動き追跡データーとすることができ、モデル更新およびアバター更新によって、その処理能力向上を補助するために深度データーを含む。または、このデーターは、取り込まれた最新の行為によって既に更新されている、ユーザーについてのモデルデーターであってもよい。00148他の例では、ユーザーについてのモデルデーターは、アバターについてのモデルデーターと同じである。例えば、アバターは、ユーザーの体形を現実的な表現である。他の例では、ユーザーのモデルデーターが、アバターのモデルにマッピングし直されることも可能である。前述のように、図1Aおよび図1Bにおけるユーザー18は、少年または10代の若者であり、彼のアバターボクサー64と同じ身長や体格ではない。受けられる動き追跡データーは、アバターについてのモデルデーターに関するのであってもよい。また、アバターについての動き追跡データーは、ユーザーがアバターを制御するときに彼の身体の動きを使用するのではなく、キーボード、マウス、トラックボール、ジョイスティック、ゲームパッドというようなデバイス、または他のものを使用するシステムから受けることもできる。動き追跡データーは、アバターのモデルを含むことができ、またはアバターについてのモデルデーターを参照する更新を含むことができる。アバターについてのモデルデーターは、ユーザーについてのモデルデーターと同じように、マシン表現可能な形態で構造化することができる。例えば、その身体部分は、現ベクトルまたはそれらに作用する回転を表す、関節および骨のデーター構造にすることもできる。加えて、異なるアバターデーター構造が、互いにそして場面データーから区別するために、プレーヤーインデックスを含むこともできる。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以上の詳細な説明は、例示および説明を目的として提示された。これは、網羅的であることも、開示された技術を開示された形態そのものに限定することを意図するのではない。多くの変更や変形が、以上の教示に照らして、可能である。記載された実施形態は、本技術の原理およびその実用的な用途を最良に説明し、それによって当業者が本技術を種々の実施形態において、そして個々の考えられる使用に適するような種々の変更と共に、最良に利用することを可能にするために選択されたのである。更に、本明細書において用いられた文言は、主に読みやすさのためそして教育的な目的のために選択されたことは、注記してしかるべきであろう。主題は、構造的特徴および/または方法論的動作に特定の文言で記載されたが、添付されている特許請求の範囲において定められている主題は、必ずしも、前述した特定の特徴や動作には限定されないことは理解されてしかるべきである。むしろ、先に記載した特定の特徴および動作は、特許請求の範囲を実現する形態例として、開示したまでである。"