説明

視覚表示の自動生成方法及びシステム

目標の視覚表示を自動的に生成するための技法が、目標の視覚表示を生成するために要求される手動による入力を減少又は除去し得る。例えば、キャプチャ装置を有するシステムが、物理的な空間内の様々なユーザーの特徴を検出し得、検出された特徴に基づいて、視覚表示の特徴オプションのライブラリーから特徴の選択を実行し得る。本システムは、検出された特徴に基づいて、自動的にユーザーの視覚表示に選択を適用し得る。代替として、本システムは、特徴に関するオプションの数を絞り込んだ選択を実行し得、そこからユーザーが選択し得る。本システムは、選択をユーザーにリアルタイムに適用し得ると同時に、選択された特徴に対する更新と、目標の視覚表示への適用とをリアルタイムに実行し得る。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジェスチャベースシステムに関し、具体的には視覚表示を生成するための方法及びシステムに関する。
【背景技術】
【0002】
[0001]アプリケーションは、しばしばユーザーに対応する視覚表示を示し、ユーザーは、リモート上のボタンを選択したり、コントローラーをいくつかの方法で移動するなどの一定の動作を介して制御する。視覚表示は、アバター、架空のキャラクター、漫画のイメージ又は動物、カーソル、手のような形式があり得る。視覚表示は、コンピューターゲーム、テレビゲーム、チャット、フォーラム、コミュニティ、インスタントメッセージングサービスなど様々なアプリケーションにおいて、典型的に2次元(2D)又は立体的(3D)なモデル形式を取る計算機の表示である。コンピューターゲーム、マルチメディアアプリケーション、オフィスアプリケーションのような計算アプリケーションの多くは、アプリケーションにおいてユーザーのアバターとして使用するために選択され得る所定の動画キャラクターの選択を提供している。
【0003】
[0002]アバターの作成を可能にするシステムのほとんどは、アバターに適用され得る選択可能な特徴のデータベースを提供することによって、そのキャラクターの外観のカスタマイズも可能にする。例えば、ユーザーは、アプリケーションで利用可能な服及び装身具のリポジトリをアクセスし得、アバターの外観の修正を実行し得る。多くの場合、ユーザーは、ユーザー自身の特徴に最も類似した特徴を選択する。例えば、ユーザーは、ユーザーに類似した体の構造を有するアバターを選択し得、その後、ユーザーは、特徴のカタログから類似した目、鼻、口、髪などを選択し得る。しかしながら、それらの特徴それぞれに関する特徴の数及びオプションの数が、選択するオプションの圧倒的な数をもたらす場合があって、ユーザーの視覚表示の手動生成は、重荷になり得る。本システムは、ユーザーによって要求される努力を抑えるために選択可能な特徴の数を制限し得るがしかし、これは、固有のアバターをユーザーが生成するために利用できる特徴を望ましくない程は制限しない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、目標の視覚表示を生成するために要求される手動による入力を減少又は除去し得る目標の視覚表示を自動的に生成する方法及びシステムを提供することである。
【課題を解決するための手段】
【0005】
[0003]アプリケーション又はシステムが、ユーザーの視覚表示に関する特徴をユーザーの代わりに選択をすることが望まれる。本システムは、選択された特徴を利用してユーザーの視覚表示を自動的に生成し得る。例えば、本システムは、ユーザーの様々な特徴を検出し得、検出された特徴に基づいて特徴を選択し得る。本システムは、検出された特徴に基づいて、選択をユーザーの視覚表示に自動的に適用できる。代替として、本システムは、特徴に関するオプションの数を絞り込んだ選択を実行し得、そこからユーザーが選択し得る。本システムがユーザーの代わりに決定できる場合、ユーザーは、多くの同じ決定を実行することも、同じ多くのオプションから選択することも要求され得ない。かくして、開示される本技法は、ユーザーの多大な努力を除去し得、ユーザーの代わりに選択を実行し得、それらをユーザーの視覚表示に適用し得る。
【0006】
[0004]実施形態例において、本システムは、ユーザーの特徴を識別するために、ボディスキャンを実行し、顔の認識技法及び/又は身体の認識技法を使用する。本システムは、ユーザーの識別された特徴に最も密接に類似した、ユーザーの視覚表示に関する選択をする。別の実施形態例において、本システムは、選択を視覚表示に適用する前に選択を修正し得る。ユーザーは、ユーザーの視覚表示に選択を適用する前に本システムに修正を実行するように指示し得る。例えば、ユーザーが太っている場合、ユーザーは、ユーザーの視覚表示に関し、もっと痩せた体の大きさを選択するように本システムに指示し得る。
【0007】
[0005]本システムは、選択をユーザーにリアルタイムに適用し得る。本システムは、物理的な空間からデータをキャプチャし、ユーザーの特性を識別し、ユーザーの視覚表示の特徴をリアルタイムに更新をすることも望まれ得る。
【0008】
[0006]この「課題を解決するための手段」は更に、「発明を実施するための形態」に後述される概念のいくつかを簡易化した形式で紹介するために提供される。この「課題を解決するための手段」は、請求対象項目の重要な機能も本質的な特徴も特定するように意図されておらず、請求対象項目の範囲を限定するために利用されることも意図されていない。更に、請求対象項目は、この開示の任意の一部に記述した不都合点のいくつか又はすべてを解決する実装に限定されない。
【0009】
[0007]この明細書に従って添付図面を参照し、特徴を選択して視覚表示の自動生成を実行するためのシステム、方法、及び計算機可読媒体が更に、説明される。
【図面の簡単な説明】
【0010】
【図1】[0008]ゲームをするユーザーと目標の認識、解析、及びトラッキングシステムの実施形態の例を示している。
【図2】[0009]目標の認識、解析、及びトラッキングシステムにおいて使用され得、推論と動画とを混合した技法を組み込み得るキャプチャ装置の実施形態例を示している。
【図3】[0010]本明細書に記載した動画技法が具体化され得る計算環境の実施形態例を示している。
【図4】[0011]本明細書に記載した動画技法が具体化され得る計算環境の別の実施形態例を示している。
【図5】[0012]立体視画像から生成されたユーザーの骨格のマッピングを例示している。
【図6A】[0013]目標の認識、解析、トラッキングシステムの例及び自動的に生成された視覚表示の実施形態例を示している。
【図6B】[0013]目標の認識、解析、トラッキングシステムの例及び自動的に生成された視覚表示の実施形態例を示している。
【図7】[0014]目標の視覚表示に適用するための特徴のオプションのサブセットを提供する目標の認識、解析、及びトラッキングシステムの例を示している。
【図8】[0015]視覚表示に適用するための視覚表示又は特徴のオプションのサブセットを自動的に生成する方法に関する流れ図の例を示している。
【図9】[0016]目標のデジタル処理技法を使用して物理的な空間の目標を識別する目標の認識、解析、及びトラッキングシステムの例を示している。
【発明を実施するための形態】
【0011】
[0017]本明細書に開示されるものは、物理的な空間のユーザー又は人間以外の被写体のような目標の視覚表示を提供するための技法である。ユーザーの視覚表示は、例えば、物理的な空間のユーザーに対応するアバター、画面上のカーソル、手、又は別の任意の仮想的なオブジェクト形式であり得る。人の骨格モデル又はメッシュモデルの外観が、キャプチャ装置によってキャプチャされた画像データに基づいて生成され得、ユーザーの特性を検出するために評価され得る。キャプチャ装置がユーザーの特徴を検出し得、顔の表情、髪の色及び髪型、皮膚の色及びタイプ、服、体型、身長、体重などの特徴のような検出されたものと類似した特徴カタログから特徴を選択することによって、ユーザーの視覚表示を自動的に生成し得る。例えば、本システムは、顔の認識及びジェスチャ/体位の認識技法を使用し、認識された特徴に対応する特徴のオプションのカタログ又はデータベースから特徴を自動的に選択できる。本システムはリアルタイムに、選択された特徴及びそれらの特徴に対する任意の更新をユーザーの視覚表示に適用できる。同様に、本システムは、物理的な空間の人間以外の目標の特徴を検出し得、仮想的なオブジェクトに関する特徴のオプションのカタログから特徴を選択し得る。本システムは、検出された特徴に対応する仮想的なオブジェクトを表示し得る。
【0012】
[0018]計算環境は、例えば、本システムによって認識されて自動的に生成された仮想的な表示にマッピングされたユーザーのジェスチャに基づいて、計算機環境上で実行するアプリケーションにおいて実行するコントロールを決定し得る。かくして、仮想的なユーザーが表示され得、ユーザーは、物理的な空間においてジェスチャを実行することによって仮想的なユーザーの動作を制御し得る。キャプチャされる動作は、物理的な空間の任意の動作であり得、カメラのようなキャプチャ装置によってキャプチャされる。キャプチャされる動作は、物理的な空間のユーザー又は被写体のような目標の動きを含み得る。キャプチャされる動作は、オペレーティングシステム又はアプリケーションにおけるコントロールへ変換するジェスチャを含み得る。動作は、走行動作のように動的であり得るか又はほとんど動きがない姿勢のユーザーのように静的であり得る。
【0013】
[0019]検出可能なユーザーの特性に基づいて、視覚表示のための選択を実行するための顔及び人体の認識システム、方法、技法、及びコンポーネントは、例として意図したどんな限定もしない、ゲームコンソールなどのマルチメディアコンソール又は目標の視覚表示の表示が所望される衛星電波受信装置、セットトップボックス、アーケードゲーム、パーソナルコンピューター(PC)、携帯電話、携帯情報端末(PDA)、及びその他の携帯端末を含み得る別の任意の計算装置において具体化され得る。
【0014】
[0020]図1は、ユーザーの特性をアバターに適用するための技法を使用し得る、目標の認識、解析、及びトラッキングシステム(10)の構成に関する実施形態例を例示している。実施形態例において、ユーザー(18)は、ボクシングゲームをしている。実施形態例において、システム(10)は、ユーザー(18)のようなヒューマンターゲットを認識し、解析し、及び/又はトラッキングし得る。システム(10)は、物理的な空間のユーザーの動作、顔の表情、ボディランゲージ、感情などに関連する情報を収集し得る。例えば、本システムは、ヒューマンターゲット(18)を識別し得、スキャンし得る。システム(10)は、体の姿勢認識技法を使用し、ヒューマンターゲット(18)の体型を識別し得る。システム(10)は、ユーザー(18)の体の一部識別し得。それらがどのように動いているか識別し得る。システム(10)は、検出されたユーザーの特徴と選択可能な視覚表示の特徴のカタログとを比較し得る。
【0015】
[0021]図1に示した目標の認識、解析、及びトラッキングシステム(10)は、計算環境(12)を含み得る。計算環境(12)は、計算機、ゲームシステム、又はゲーム機などであり得る。実施形態例による計算環境(12)は、ハードウェアコンポーネント及び/又はソフトウェアコンポーネントを含み得、計算環境(12)が、ゲームアプリケーション、ゲーム以外のアプリケーションなどのようなアプリケーションを実行するために使用され得る。
【0016】
[0022]図1に示した目標の認識、解析、及びトラッキングシステム(10)は更に、キャプチャ装置(20)を含み得る。キャプチャ装置(20)は、例えば、ユーザー(18)のような1人以上のユーザーを視覚的に監視するために使用され得るカメラであり得、1人以上のユーザーによって実行されるジェスチャが、キャプチャされ得、解析され得、トラッキングされ得、より詳細に後述されるようにアプリケーション内において1つ以上のコントロール又は動作を実行し得る。
【0017】
[0023]一実施形態による目標の認識、解析、及びトラッキングシステム(10)は、ゲーム、又はビデオアプリケーション及び/又は音声アプリケーションをユーザー(18)のようなユーザーに提供し得るテレビ、モニター、ハイビジョンテレビ(HDTV)などのような視聴覚装置(16)と接続され得る。例えば、計算環境(12)は、グラフィックカードなどのビデオアダプター及び/又はサウンドカードなどの音声アダプターを含み得、ゲームアプリケーション、ゲーム以外のアプリケーションなどに関連する視聴覚信号を提供し得る。視聴覚装置(16)は、計算環境(12)から視聴覚信号を受信し得、その後、視聴覚信号と関連付けられたゲーム、又はビデオアプリケーション及び/又は音声アプリケーションをユーザー(18)へ出力し得る。一実施形態による視聴覚装置(16)は、例えば、S−Videoケーブル、同軸ケーブル、HDMIケーブル、DVIケーブル、VGAケーブルなどを介し計算環境(12)と接続され得る。
【0018】
[0024]図1に示した目標の認識、解析、及びトラッキングシステム(10)は、ユーザー(18)などのヒューマンターゲットを認識し、解析し、及び/又はトラッキングするために使用され得る。例えば、ユーザー(18)は、キャプチャ装置(20)を使用してトラッキングされ得、ユーザー(18)の動作は、コンピューター環境(12)によって実行されているアプリケーションに作用するように使用され得るコントロールとして解釈され得る。かくして、一実施形態によるユーザー(18)は、アプリケーションを制御するために彼又は彼女の体を動かし得る。システム(10)は、アプリケーション、オペレーティングシステムなどのシステムの様相を制御するジェスチャを含むユーザーの体によって実行されるユーザーの体及び動きをトラッキングし得る。
【0019】
[0025]システム(10)は、キャプチャ装置(20)への入力を動画に変換し得、入力はユーザーの動作を代表していて、動画がその入力によって駆動される。かくして、ユーザーの動作はアバター(40)へマッピングし得、物理的な空間のユーザーの動作がアバター(40)によって実行される。ユーザーの動作は、アプリケーションのコントロールに適用可能なジェスチャであり得る。図1に示した実施形態例において、計算環境(12)上で実行しているアプリケーションは、ユーザー(18)が対戦しているボクシングゲームであり得る。
【0020】
[0026]計算環境(12)は、ユーザー(18)が彼又は彼女の動きを使って制御し得るプレーヤーアバター(40)の視覚表示を提供するための視聴覚装置(16)を使用し得る。本システムは、動作及び/又はジェスチャを、検出されたユーザーの特徴に基づいて本システムによって自動的に生成された自動生成視覚表示であり得るユーザーの視覚表示に適用し得る。例えば、ユーザー(18)は、プレーヤーアバター(40)がゲーム空間でパンチを飛ばすことをもたらすように物理的な空間においてパンチを飛ばし得る。プレーヤーアバター(40)はキャプチャ装置(20)によって識別されたユーザーの特徴を有し得るか、又はシステム(10)は、ユーザーの動作にマッピングする視覚表示に周知のボクサーの特徴を使用するか又はプロボクサーの体を描き得る。システム(10)は、物理的な空間のユーザーをトラッキングし得、検出可能なユーザーの特徴に基づいて、ユーザーのアバターの特性を修正し得る。計算環境(12)は、ボクシングの対戦相手(38)の視覚表示をユーザー(18)に提供するための視聴覚装置(16)も使用し得る。実施形態例に従って、計算機環境(12)並びに目標の認識、解析、及びトラッキングシステム(10)のキャプチャ装置(20)が、物理的な空間のユーザー(18)のパンチを認識し、解析するために使用され得、パンチが、ゲーム空間においてプレーヤーアバター(40)のゲームコントロールとして解釈され得る。複数のユーザーが離れた場所から互いに対話し得る。例えば、ボクシングの対戦相手(38)の視覚表示は、物理的な空間のユーザー(18)と一緒に存在する第2のユーザー又は第2の物理的な空間のネットワークユーザーのような別のユーザーを代表し得る。
【0021】
[0027]素早く上下する、曲がって進む、足を引きずって歩く、妨害する、ジャブで突く、又は異なる様々なパンチ力で食らわすためのコントロールなど、ユーザー(18)による別の動作も別のコントロール又は動作として解釈され得、使用され得る。更に、動作の中には、ユーザーのアバター(40)の制御以外の動作に相当し得るコントロールとして解釈され得るものもある。例えば、プレーヤーは、ゲームを終了し、一時停止し、又はセーブし、レベルを選択し、ハイスコアを眺め、友人との通信を実行するための動作などを使用し得る。加えると、ユーザー(18)の動作の範囲すべてが利用可能であって、使用され、アプリケーションと対話するために適切な任意の方法で解析され得る。
【0022】
[0028]実施形態例において、ユーザー(18)のようなヒューマンターゲットは、物体を有し得る。上記の実施形態において、コンピューターゲームのユーザーは物体を手に持つ場合があって、プレーヤーの動作と物体とが、ゲームのパラメーターを調整し及び/又は制御するために使用され得る。例えば、ラケットを手に持つプレーヤーの動作が、コンピュータースポーツゲームにおいて、スクリーン上のラケットを制御するためにトラッキングされ得、利用され得る。別の実施形態例において、物体を手に持つプレーヤーの動作が、コンピューターの戦闘ゲームにおいて、スクリーン上の兵器を制御するためにトラッキングされ得、利用され得る。
【0023】
[0029]ユーザーのジェスチャ又は動きは、プレーヤーアバター(40)を制御する以外の動きに対応し得るコントロールとして解釈され得る。例えば、プレーヤーは、ゲームを終了し、一時停止し、又はセーブし、レベルを選択し、ハイスコアを眺め、友人との通信を実行するための動作などを使用し得る。プレーヤーは、修正をアバターに適用するための動作を使用し得る。例えば、ユーザーは、物理的な空間において彼又は彼女の腕を振り得、これは、アバターの腕をより長くするためのリクエストとしてシステム(10)によって識別されるジェスチャであり得る。オペレーティングシステム及び/又はアプリケーションの仮想的な任意の制御可能な側面が、目標のユーザー(18)などの目標の動きによって制御され得る。別の実施形態例による目標の認識、解析、及びトラッキングシステム(10)が、オペレーティングシステム及び/又はゲーム分野以外のアプリケーションの様相を制御するために、目標の動きを解釈し得る。
【0024】
[0030]ユーザーのジェスチャは、オペレーティングシステム、ゲームのゲーム以外の様相又はゲーム以外のアプリケーションに適用可能なコントロールであり得る。ユーザーのジェスチャは、ユーザーインターフェースを制御するオブジェクトの操作として解釈され得る。例えば、垂直に左から右へ並んだブレード又はタブを有するユーザーインターフェースインターフェースであってブレード又はタブそれぞれの選択が、アプリケーション又はシステム内の様々なコントロールに関するオプションを開始するものを考えられたい。本システムは、タブの動きに対するユーザーの手のジェスチャを識別し得、物理的な空間のユーザーの手がアプリケーション空間のタブを使って仮想的に整列される。一時停止動作、掴み動作、及びその後、左に手をはらう動作を含むジェスチャが、タブの選択と、その後、次のタブを開く方向への動きとして解釈され得る。
【0025】
[0031]図2は、ユーザー又は被写体であり得る目標の目標認識、解析、及びトラッキングするために使用され得るキャプチャ装置(20)の実施形態例を示している。実施形態例によるキャプチャ装置(20)は、例えば、飛行時間技法、構造光技法、立体視画像技法などを含む適切な任意の技法を介し、深度を含み得る立体視画像を含む立体視情報を有する映像をキャプチャするように構成され得る。一実施形態によるキャプチャ装置(20)は、算出された立体視情報を「Zレイヤ」又はその照準線に沿って立体視カメラから延長したZ軸に垂直であり得るレイヤへ統合化し得る。
【0026】
[0032]図2のようにキャプチャ装置(20)は画像カメラコンポーネント(22)を含み得る。実施形態例による画像カメラコンポーネント(22)は、シーンの立体視画像をキャプチャする立体視カメラであり得る。立体視画像は、キャプチャされたシーンの2次元(2−D)画素領域を含み得、2−D画素領域の画素それぞれが、カメラからキャプチャされたシーンの例えば、センチメートル、ミリメートルで被写体の長さ又は距離などのような深度を示し得る。
【0027】
[0033]図2のように実施形態例による画像カメラコンポーネント(22)は、シーンの立体視画像をキャプチャするために使用され得る赤外線光コンポーネント(24)、立体視(3−D)カメラ(26)、及びRGBカメラ(28)を含み得る。例えば、飛行時間解析においてキャプチャ装置(20)の赤外線光コンポーネント(24)は、赤外光をシーンに放射し得、その後、(示されていない)センサーを使用し、例えば、立体視カメラ(26)及び/又はRGBカメラ(28)を使用し、シーンにおける目標及び被写体の1つ以上の表面から後方散乱光を検出する。実施形態の中には、赤外線パルス光が使用され得るものもあって、出射パルス光と応答着信パルス光との間の時間が測定され得、キャプチャ装置(20)からシーンにおける目標又は被写体上の特定の位置までの物理的な距離を決定するために使用され得る。加えると別の実施形態例の中には、出射パルス光波の位相が、位相変動を決定する着信光波の位相と比較され得るものもある。その後、位相変動が、キャプチャ装置(20)から目標又は被写体上の特定の位置までの物理的な距離を決定するために使用され得る。
【0028】
[0034]別の実施形態例による飛行解析時間が使用され得、例えば、シャッターパルス光画像化を含む様々な技法を介し、長い時間をかけて反射される光線強度を解析することによってキャプチャ装置(20)から目標又は被写体上の特定位置までの物理的な距離を間接的に決定し得る。
【0029】
[0035]別の実施形態例において、キャプチャ装置(20)は、立体視情報をキャプチャするために構造光を使用し得る。そのような解析において、パターン光(すなわち、周知のグリッドパターン又は縞模様のようなパターンとして表示される光)が、例えば、赤外線光コンポーネント(24)を介しシーン上に映し出され得る。シーンにおいて目標又は被写体1つ以上の表面を叩くと、それに応じてパターンが変形する。そのようなパターンの変形が、例えば、立体視カメラ(26)及び/又はRGBカメラ(28)によってキャプチャされ得、その後、キャプチャ装置(20)から目標又は被写体上の特定位置までの物理的な距離を決定するために解析され得る。
【0030】
[0036]別の実施形態によるキャプチャ装置(20)は、分解され得る視覚的立体視データを取得し立体視情報を生成するために、異なる角度からシーンを眺め得る物理的に別個の2つ以上のカメラを含み得る。
【0031】
[0037]別の実施形態例において、キャプチャ装置(20)は、ユーザーの特徴を検出するためにポイントクラウドデータ及び目標のデジタル処理技法を使用し得る。これらの技法が、図2Bに関連して以下に、より詳細に提供される。
【0032】
[0038]キャプチャ装置(20)は更に、マイクロフォン(30)又はマイクロフォンアレイを含み得る。マイクロフォン(30)は、音声を受信し電気的信号に変換し得る変換器又はセンサーを含み得る。一実施形態によるマイクロフォン(30)は、目標の認識、解析、及びトラッキングシステム(10)のキャプチャ装置(20)と計算環境(12)との間のフィードバックを減少させるために使用され得る。加えると、マイクロフォン(30)は、計算環境(12)によって実行されるゲームアプリケーション、ゲーム以外ののアプリケーションなどのようなアプリケーションを制御するためのユーザーによって提供され得る音声信号を受信するためにも使用され得る。
【0033】
[0039]実施形態例において、キャプチャ装置(20)は更に、画像カメラコンポーネント(22)と作用し通信し得るプロセッサー(32)を含み得る。プロセッサー(32)は、立体視画像を受信し、適切な目標が立体視画像に含まれ得るか否か決定し、適切な目標を骨格表現又は目標モデル又は適切な別の任意の命令に変換するための命令を含み得る命令を実行し得る標準プロセッサー、専用プロセッサー、マイクロプロセッサーなどを含み得る。
【0034】
[0040]例えば、計算機可読媒体は、シーンデータを受信するための計算機実行可能命令を含み得、データは、物理的な空間の目標を代表するデータを含んでいる。本命令は、データから少なくとも1つの目標の特徴を検出し、検出された少なくとも1つの目標の特徴を特徴ライブラリー(197)が提供する視覚表示の特徴のオプションと比較するための命令を含む。視覚表示の特徴のオプションは、視覚表示に適用するために構成された選択可能なオプションを含み得る。更に、命令は、視覚表示の特徴のオプションから視覚表示の特徴を選択し、視覚表示の特徴を目標の視覚表示に適用し、視覚表示をレンダリングすることを提供する。視覚表示は、視覚表示の特徴の選択がユーザーによる手動の選択を必要とせずに実行されるように、検出された少なくとも1つの特徴と視覚表示の特徴のオプションとの比較から自動的に生成され得る。
【0035】
[0041]視覚表示の特徴の選択は、検出された目標の特性と類似した視覚表示の特徴を選択することを含み得る。視覚表示の特徴は、顔の特徴、体の一部、色、大きさ、身長、幅、形、装身具、又は服の品目の少なくとも1つであり得る。視覚表示の特徴に関する命令は、視覚表示の特徴のオプションから視覚表示の特徴のオプションのサブセットを生成し、視覚表示に適用するための視覚表示の特徴のユーザーの選択のために、生成された特徴のオプションのサブセットを提供することを提供し得る。生成された視覚表示の特徴のオプションのサブセットは、検出された目標の特性と類似した複数の視覚表示の特徴のオプションを含み得る。本命令は、生成された特徴のオプションのサブセットから視覚表示の特徴のユーザーの選択を受信することを提供し得、視覚表示の特徴のオプションから視覚表示の特徴を選択することは、ユーザーの選択に対応する視覚表示の特徴を選択することを含む。視覚表示の特徴を有する視覚表示は、リアルタイムにレンダリングされ得る。更に、本命令は、目標を監視することと、検出された目標の特徴における変化を検出することと、検出された目標の特徴における変化に基づいて視覚表示に適用された視覚表示の特徴をリアルタイムに更新することによって目標の視覚表示を更新することと、を提供し得る。
【0036】
[0042]キャプチャ装置(20)は更に、メモリーコンポーネント(34)を含み得、プロセッサー(32)によって実行される命令、3-Dカメラ(26)若しくはRGBカメラ(28)によってキャプチャされる画像、又は画像のフレーム、別の適切な任意の情報、画像などをストアし得る。実施形態例によるメモリーコンポーネント(34)は、ランダムアクセスメモリー(RAM)、読み出し専用メモリー(ROM)、キャッシュメモリー、フラッシュメモリー、ハードディスク、又は別の適切な任意のストレージコンポーネントを含み得る。図2のように一実施形態において、メモリーコンポーネント(34)は、画像キャプチャコンポーネント(22)及びプロセッサー(32)と通信する別個のコンポーネントであり得る。別の実施形態によるメモリーコンポーネント(34)は、プロセッサー(32)及び/又は画像キャプチャコンポーネント(22)に統合され得る。
【0037】
[0043]図2のようにキャプチャ装置(20)は、通信リンク(36)を介し計算環境(12)と通信し得る。通信リンク(36)は、例えば、USB接続、ファイヤーワイヤー接続、イーサネットケーブル接続などを含む有線接続、及び/又は無線802.11b, 11g, 11a, 又は11n接続などの無線接続であり得る。一実施形態による計算環境(12)が、例えば、通信リンク(36)を介し、シーンをいつキャプチャにするか決定するために使用され得るクロックをキャプチャ装置(20)に提供し得る。
【0038】
[0044]加えると、キャプチャ装置(20)は、例えば、3-Dカメラ(26)及び/又はRGBカメラ(28)によってキャプチャされた立体視情報及び画像、及びキャプチャ装置(20)によって生成され得る骨格モデルを、通信リンク(36)を介し計算環境(12)に提供し得る。その後、計算環境(12)が、骨格モデル、立体視情報、及びキャプチャされた画像を使用し得、例えば、ゲーム又はワードプロセッサーなどのアプリケーションをコントロールし得る。例えば、図2のように計算環境(12)は、ジェスチャライブラリー(192)を含み得る。
【0039】
[0045]図2に示した計算環境(12)は、ジェスチャライブラリー(192)及びジェスチャ認識エンジン(190)を含み得る。ジェスチャ認識エンジン(190)は、ジェスチャフィルター(191)の集合を含み得る。フィルターは、ジェスチャを認識可能か、さもなければ深度、RGB、又は骨格データを処理可能なコード及び関連するデータを含み得る。フィルター(191)それぞれは、そのジェスチャに関するパラメーター又はメタデータを伴うジェスチャを定義している情報を含み得る。例えば、投げの動作は、体の後ろから体の前を通過する一方の手の動作を含んでいて、その動きが立体視カメラによってキャプチャされるように体の後ろから体の前を通過するユーザーの一方の手の動きを表す情報を含むジェスチャフィルター(191)として実装され得る。そのジェスチャに関するパラメーターは、その後、設定され得る。ジェスチャが投げる動作であるところにおいては、パラメーターは、手が届かなければならない臨界速度、手が伸びる必要がある(概してユーザーの大きさに対し絶対的か又は相対的どちらか一方の)距離、及び認識装置エンジンによって評定しているジェスチャが生じた信頼度、であり得る。ジェスチャに関するこれらのパラメーターは、アプリケーション間、又は単一のアプリケーションの文脈間、又は1つのアプリケーションの1つの文脈の中で時間とともに変化し得る。
【0040】
[0046]ジェスチャ認識エンジン(190)は、ジェスチャフィルターの集まりを含み得、フィルターがコードを含み得るか、又はさもなければ、深度、RGB、又は骨格データを処理するためのコンポーネントを含むことが想定されているが一方、フィルターの使用は、解析をフィルターに限定することを意図していない。フィルターは、システムによって受信されるシーンデータを解析し、そのデータと、ジェスチャを表す基本情報とを比較するコンポーネント又はコードの選択の例の代表である。解析の結果として、本システムは、入力データがジェスチャに対応しているか否かに対応する出力を製造し得る。ジェスチャを表している基本情報は、履歴データ内のユーザーのキャプチャ動作を代表している再発する特性に対応するように調整され得る。基本情報は、例えば、前述したジェスチャフィルターの一部であり得る。しかし、入力データ及びジェスチャデータを解析する適切な任意の方法が想定される。
【0041】
[0047]実施形態例において、ジェスチャは、修正モードに入るためのトリガーとして認識され得、ユーザーは、本システムによって自動的に生成された視覚表示を修正できる。例えば、ジェスチャフィルター(191)は、修正トリガージェスチャを認識するための情報を含み得る。修正トリガージェスチャが認識された場合、本アプリケーションは、修正モードに入り得る。修正トリガージェスチャは、アプリケーション間、又はシステム間、ユーザー間などで変わる場合がある。例えば、テニスゲームのアプリケーションにおいて同一のジェスチャは、ボーリングゲームのアプリケーションにおいて同一の修正トリガージェスチャであり得ない。ユーザーの体の前に提示されたユーザーの右手で、人差し指を上向きにして円運動で動かすユーザーの動きを含む修正トリガージェスチャの例を考えられたい。修正トリガージェスチャに対し設定されるパラメーターは、ユーザーの手がユーザーの体の前にあって、ユーザーの人指し指が上向きに指し、人差し指が円運動で動いていることを識別するために使用され得る。
【0042】
[0048]ジェスチャの中には、修正モードに入るためのリクエストとして識別され得るものもあって、アプリケーションが、現在、実行中である場合、修正モードがアプリケーションの現在の状態を中断し、修正モードに入る。修正モードはアプリケーションに一時中止をもたらし得、ユーザーが修正モードを去るとき、アプリケーションが、一時中止した時点から再開され得る。代替として、修正モードは、アプリケーションに対する一時停止をもたらさず、アプリケーションは、ユーザーが修正を実行している間、実行し続け得る。
【0043】
[0049]カメラ(26)、(28)、及び機器(20)によってキャプチャされた骨格モデル形式データ及びそれに関連付けられた動作が(骨格モデルによって示される)ユーザーがいつ1つ以上のジェスチャを実行したか識別するために、ジェスチャライブラリー(192)のジェスチャフィルター(191)と比較され得る。かくして、フィルター(191)のようなフィルターへの入力は、ユーザーの関節部分に関する関節データ、関節で接合する骨によって形成される角度、シーンが提供するRGBカラーデータ、及びユーザーの様子の変化率などを含み得る。言及したジェスチャに関するパラメーターが設定され得る。フィルター(191)からの出力は、特定のジェスチャを実行している信頼度、ジェスチャ動作が実行される速度、ジェスチャが生じた時間などを含み得る。
【0044】
[0050]計算環境(12)は、部屋の中の立体視画像を処理し、ユーザー(18)又は被写体など、どのような目標がシーンにあるかを決定するプロセッサー(195)を含み得る。これは、例えば、類似する距離の値を共有する立体視画像の画素を一緒に分類することによって実行され得る。ユーザーの骨格の表示を製造するための画像が、関節の間で接合する関節及び組織などの特徴も識別されるように解析され得る。骨格の既存のマッピング技術は、立体視カメラを用いて人をキャプチャし、それから手の関節、手首、肘、膝、鼻、足首、肩、及び骨盤が脊椎と接合するユーザーの骨格上の様々な点を決定する。別の技法は、画像を人の体のモデル表示に変換し、画像を人のメッシュモデル表示に変換することを含む。
【0045】
[0051]実施形態において、処理はキャプチャ装置(20)(キャプチャ装置(20)は3Dカメラ(26)を含む)自身の上で実行され、深度及色の値に関する原画像データが、リンク(36)を介し計算環境(12)に送信される。別の実施形態において、処理はカメラ(402)に接続されたプロセッサー(32)によって実行され、その後、解析された画像データが計算環境(12)に送信される。更に別の実施形態において、原画像データ及び解析された画像データ双方が、計算環境(12)に送信される。計算環境(12)は、解析された画像データを受信し得るが、それはまだ、現在のプロセス又はアプリケーションを実行するための未加工データを受信し得る。例えば、シーン画像をコンピューターネットワーク上の別のユーザーに送信する場合、計算環境(12)は、別の計算環境によって処理するための未加工データを送信し得る。
【0046】
[0052]プロセッサーは、特徴比較モジュール(196)を有し得る。特徴比較モジュール(196)が、検出された目標の特徴を特徴ライブラリー(197)のオプションと比較し得る。特徴ライブラリー(197)が、色のオプション、顔の特徴のオプション、体型のオプション、大きさのオプションなど、視覚表示の特徴のオプションを提供し得、オプションはヒューマンターゲット及び非ヒューマンターゲットに関して変わり得る。ライブラリーは、視覚表示に関する特徴を格納しているカタログ、データベース、メモリーなどであり得る。ライブラリーは、統合化された特徴のオプションの集まりか又は統合化されていない特徴のオプションの集まりであり得る。本システム又はユーザーが、特徴をカタログに追加し得る。例えば、アプリケーションは事前に準備された特徴のオプションセットを有し得るか、又は本システムは利用可能な特徴のデフォルト番号を有し得る。付加的な特徴のオプションが、特徴ライブラリー(197)に対し追加され得るか又は更新され得る。例えば、ユーザーは、仮想的な市場において付加的な特徴のオプションを購入し得、ユーザーは、特徴のオプションを別のユーザーに贈呈し得るか、又は本システムは、検出されたユーザーの特徴のスナップショットを取ることによって特徴のオプションを生成し得る。
【0047】
[0053]特徴比較モジュール(FCM)(196)が、検出された目標の特徴と最も密接に類似した特徴のオプションのカタログなどの特徴の選択を実行し得る。本システムは、検出された特徴を有する仮想的なオブジェクトを自動的に生成し得る。例えば、物理的な空間の赤い、二人乗り自動車の長椅子の検出を考えられたい。本システムは、検出された長椅子の目標の特徴と、類似した特徴ライブラリー(197)から単独又は組み合わせによって特徴を識別し得る。実施形態例において、特徴ライブラリー(197)からの選択は、物理的な目標の少なくとも1つの特徴を有する仮想的な目標を選択することと同じくらい単純であり得る。例えば、特徴ライブラリー(197)は、家具に関する多くの特徴のオプションを有し得、仮想的な画像又は赤い二人乗り自動車の長椅子の描写を含み得る上記の特徴は、事前に準備されたアプリケーション又本システムとともに提供され得る。別の例において、本システムは、物理的な長椅子のスナップショットを取り得、物理的な長椅子の形を取る漫画又は仮想的な画像を生成し得る。かくして、選択された特徴は、前にシステムによって取られた、特徴ライブラリー(197)に追加された物理的な長椅子のスナップショットからのものであり得る。
【0048】
[0054]本システムは、検出された目標の特性に基づいて選択された特徴の色、姿勢、又は拡大縮小を調整し得る。例えば、本システムは、特徴を選択し得るか又は検出された目標の特徴に類似した特徴ライブラリー(197)からいくつかの特徴を結合し得る。本システムは、選択された特徴又は仮想的な画像を検出された目標により完全に類似した特徴へ特徴を追加し得る。検出された長椅子の例において、本システムは、特徴ライブラリー(197)内の特徴のルックアップを実行し得、物理的な長椅子の特徴に類似した少なくとも1つの特徴を有している長椅子に関する仮想的なフレームを識別し得る。例えば、本システムは、初め、検出された物理的な長椅子に形において類似した仮想的な長椅子を選択し得る。仮想的な二人乗り自動車の長椅子が利用可能な特徴のオプションの場合、本システムは、仮想的な二人乗り自動車を選択する。色は、本システムによって選択可能な特徴のオプションであり得る。この例において、赤い長椅子が特に、特徴ライブラリー(197)内のオプションでない場合、本システムは、特徴ライブラリー(197)から色を選択し得、それを選択した仮想的なフレームに適用し得る。本システムは、検出された物理的な長椅子の赤い色と類似した特徴ライブラリー(197)内の既存の色を選択し得るか、又は本システムは、物理的な長椅子の色のスナップショットを取り得、特徴のオプションとしてそれを特徴ライブラリーに追加し得る。本システムは、選択された赤い色の特徴を仮想的な長椅子の画像に適用し得る。
【0049】
[0055]別の例において、本システムは、検出された目標と類似した視覚的対象物を生成するために、特徴ライブラリーからの特徴を結合し得る。例えば、本システムは、腕、脚、シート、クッション、後部、背骨などの長椅子の特徴のオプションを特徴ライブラリー(197)から選択することによって、選択された特徴を有する長椅子の部品を一緒にした二人乗り自動車の長椅子を生成し得る。
【0050】
[0056]目標がユーザーである別の例において、本システムは、目の色、大きさ、形、髪の色、タイプ、長さなどユーザーの特徴を検出し得る。本システムは、検出された特徴を特徴のオプションのカタログと比較し得、選択された特徴を視覚表示に適用し得る。前述したように本システムは、特徴を組み合わせ得、それらの特徴を変更し得る。例えば、目標に色、姿勢、又は拡大縮小を適用することによって、特徴が変更され得る。特徴が、色のような特徴ライブラリー(197)から付加的な特徴の選択によって、又は目標のスナップショットから画像データを使用することによって変更され得る。例えば、アプリケーションは、特徴ライブラリー(197)内の無地のズボン、Tシャツ、及び一般的な靴のタイプを提供し得る。本システムは、一般的な服の特徴から選択し得るがしかし、服に色を適用することによって選択された服の特徴を変更し得、本システムによって検出された目標の服の色を反映し得る。
【0051】
[0057]別の例において、本システムは、ユーザーの特徴と類似した特徴ライブラリー(197)内の特徴のサブセットを識別し得、サブセットを提供し得、そこからユーザーが選択し得る。かくして、特定の特徴に関してユーザーに提供されたオプションの数は、知的にフィルタリングされ得、ユーザーが視覚表示をカスタマイズすることをより容易にする。
【0052】
[0058]特徴ライブラリーは、適用可能なアプリケーションに適用し得るか又はシステムの広い範囲に適用し得る。例えば、ゲームアプリケーションは、ゲームに適用可能な様々な気質を示す特徴を定義し得る。特徴のオプションは、特定の特徴及び一般的な特徴を含み得る。ルックアップテーブル又はデータベースに対する参照が例示的であることも留意されていて、本明細書に開示した技法に関連する特徴のオプションの情報供給が、適切な任意の方法でアクセスされ得、ストアされ得、パッケージ化され得、提供され得、生成され得ることなどが想定されている。
【0053】
[0059]計算環境(12)は、骨格モデルの動きを解釈し、アプリケーションを動きに基づいてコントロールするためのジェスチャライブラリー(192)を使用し得る。計算環境(12)は、アバター又はポインタの形式などのユーザーの表示をモデル化し、表示装置(193)のようなディスプレイ上に表示し得る。表示装置(193)は、コンピューター用モニター、テレビ画面、又は適切な任意の表示装置を含み得る。例えば、カメラで制御されたコンピューターシステムは、ユーザー画像データをキャプチャし得、ユーザーのジェスチャにマッピングするテレビ画面にユーザーフィードバックを表示し得る。ユーザーフィードバックは、図1A及び1Bに示した画面のアバターとして表示され得る。アバターの動作は、アバターの動きをユーザーの動作へマッピングすることによって直接制御され得る。ユーザーのジェスチャが解釈され得、いくつかのアプリケーションの様相を制御し得る。
【0054】
[0060]実施形態例による目標は、仮想的な画面を生成し、ユーザーを1つ以上の格納されたプロファイルと比較するためにスキャンされ、トラッキングされ、モデル化され、及び/又は評価され、及び/又は目標に関するプロファイル情報(198)を計算環境(12)などの計算環境に格納する、立っているか又は座っている任意の位置のヒューマンターゲット、オブジェクトを有するヒューマンターゲット、2人以上のヒューマンターゲット、1人以上のヒューマンターゲットの1つ以上の腕などであり得る。プロファイル情報(198)は、後でアクセスするためのデータを格納するためのユーザープロファイル、個人プロファイル、アプリケーションプロファイル、システムプロファイル、又は別の適切な任意の方法の形式であり得る。プロファイル情報(198)は、例えば、アプリケーションを介しアクセス可能か又はシステムの広い範囲で利用可能であり得る。プロファイル情報(198)は、特定のユーザープロファイル情報をロードするためのルックアップテーブルを含み得る。仮想的な画面は、図1A〜図1Bに関して前述した計算環境(12)によって実行されるアプリケーションと対話し得る。
【0055】
[0061]本システムは、ユーザーのプロファイルにストアされた情報に基づく視覚表示を自動的に生成することによって、ユーザーのような目標の視覚表示をレンダリングし得る。実施形態例によるルックアップテーブルは、ユーザー特有のプロファイル情報を含み得る。一実施形態において、計算環境(12)のような計算環境は、ルックアップテーブルに1つ以上のユーザーに関するストアしているプロファイルデータ(198)を含み得る。格納されているプロファイルデータ(198)は、特に、スキャンされた目標又は評価された体の大きさ、骨格モデル、体のモデル、音声サンプル又はパスワード、目標の性別、目標の年令、以前のジェスチャ、目標の制限、及び例えば、腰を下ろす傾向、左利き又は右利き、又はキャプチャ装置に非常に近く立つ傾向など、システムの目標による標準的用法を含み得る。この情報は、キャプチャシーンの目標と1つ以上のユーザープロファイル(198)との間に一致があるか否か決定するために使用され得、一実施形態において、プロファイル(198)に従ってシステムが仮想的な画面をユーザーに適合可能にするか又は別のコンピューティング体験若しくはゲーム体験の構成要素を適合可能にする。
【0056】
[0062]前に選択された目標の視覚表示に関する特徴は、プロファイルに格納され得る。例えば、ユーザーに特有のプロファイルは、ユーザーの視覚表示を自動的に生成するために選択され適用される特徴を格納し得る。場所に特有のプロファイルは、物理的な空間に類似した仮想的なシーンを自動的に生成し、表示するために選択され適用される特徴を格納し得る。例えば、物理的な空間の部屋の家具のような被写体に対応する仮想的なオブジェクトは、特徴ライブラリー(197)内のオプションから選択することによって生成され得る。色が検出され得、利用可能な色が、特徴ライブラリー(197)から選択され得る。本システムによって、認識時又は初期化時に、位置特有のプロファイルが、ロードされ得、位置に対応する家具及び色を表示する。
【0057】
[0063]1つ以上の個人的なプロファイル(198)が、計算機環境(12)に格納され得、多くのユーザーセッション用に使用されるか又は1つ以上の個人プロファイルが、単一のセッションのためだけに生成され得る。ユーザーは、それらがシステムに音声又はボディスキャン、年齢、個人的な好み、右利き又は左利き、アバター、名前の情報などを提供し得るプロファイルを確立するオプションを有し得る。個人プロファイルは、キャプチャ空間への一歩を越えてもシステムにどんな情報も提供しない「ゲスト」も提供され得る。1人以上のゲストに関する一時的な個人プロファイルが確立され得る。ゲストの個人プロファイルは、ゲストセッションの終わりに格納され得るか又は削除され得る。
【0058】
[0064]ジェスチャライブラリー(192)、ジェスチャ認識エンジン(190)、特徴ライブラリー(197)、特徴比較モジュール(196)、及びプロファイル(198)は、ハードウェア、ソフトウェア、又はその双方の組み合わせで実装され得る。例えば、ジェスチャライブラリー(192)、及びジェスチャ認識エンジン(190)は、計算環境(12)のプロセッサー(195)(又は図3の演算処理装置(101)又は図4の演算処理装置(259))のようなプロセッサー上で実行するソフトウェアとして実装され得る。
【0059】
[0065]後述される図3〜図4に表されたブロック図は、例示的であって特定の実装を含意するために意図していないことを強調されたい。かくして、図1のプロセッサー(195)又は(32)、図3の演算処理装置(101)、及び図4の演算処理装置(259)は、単一のプロセッサー又は複数のプロセッサーとして実装され得る。複数のプロセッサーが、分散又は集中し位置付けられ得る。例えば、ジェスチャライブラリー(192)が、キャプチャ装置のプロセッサー(32)上で実行するソフトウェアとして実装され得るか、又はそれが計算環境(12)のプロセッサー(195)上で実行するソフトウェアとしてそれは実装され得る。本明細書に開示した技法を実行するために適切な任意のプロセッサーの組み合わせが想定される。複数のプロセッサーは、配線接続か又はその組み合わせを介し無線通信し得る。
【0060】
[0066]更に、本明細書に使用した計算環境(12)は、単一の計算装置又は計算システムを参照し得る。計算環境は非計算コンポーネントを含み得る。計算環境は、図2に示した表示装置(193)のような表示装置を含み得る。表示装置は、例えば、個別であるが計算環境に接続されたエンティティであり得るか、又は表示装置は、処理、表示する計算装置であり得る。かくして、計算システム、計算装置、計算環境、計算機、プロセッサー、又は別の計算コンポーネントが互換的に使用され得る。
【0061】
[0067]アプリケーション又はアプリケーション文脈に関するジェスチャライブラリー及びフィルターパラメーターは、ジェスチャツールによって調整され得る。文脈は文化的文脈であり得、それは環境的文脈であり得る。文化的文脈は、システムを使用したユーザーの文化を参照している。異文化は、類似のジェスチャを使用し、著しく異なる意味を授け得る。例えば、別のユーザーに「見て」又は「目を使って」と言いたいアメリカ人ユーザーは、自分の人差し指を彼の目の方から自分の頭の方に当てる。しかしながら、イタリア人ユーザーにとってこのジェスチャは、マフィアへの参照として解釈され得る。
【0062】
[0068]同様に、単一アプリケーションの異なる環境の中に異なる文脈があり得る。自動車の操作を伴った第1のユーザーのシューティングゲームを取り上げたい。ユーザーが歩きながら地面に向かった指でこぶしを作り、こぶしを体から前に延ばすパンチジェスチャを表し得る。ユーザーがドライビング文脈にいる間、同一動作は「ギヤシフト」ジェスチャを表し得る。視覚表示への修正に関連する異なるジェスチャが、環境による異なる修正を起動し得る。異なる起動ジェスチャの修正は、アプリケーション特有の修正モード対システムの広い範囲の修正モードに入るために使用され得る。それぞれの修正モードは、修正モードに対応する独立した一連のジェスチャを用いてパッケージ化され得、修正起動ジェスチャの結果として入力され得る。例えばボーリングゲームにおいて、腕のスイング動作は、仮想的なボウリングレーンの下で離すためのボーリングボールのスイングとして識別されたジェスチャであり得る。しかしながら、別のアプリケーションにおける腕のスイング動作は、画面に表示したユーザーのアバターの腕を伸ばすリクエストとして識別されたジェスチャであり得る。ユーザーが、自分のゲームをセーブし、自分のキャラクター装備の中から選択し、又はゲームの直接対戦を含まない類似の動作を実行可能な1つ以上のメニュー環境もあり得る。その環境において、この同一のジェスチャは、何かを選択するか又は別の画面に進む第3の意味を有し得る。
【0063】
[0069]ジェスチャは、そのジャンルのアプリケーションによって使用される傾向がある無償のジェスチャのジャンルのパッケージに一緒に分類され得る。−一般に一緒に使用されるものとしての無償か又は1つのパラメーターにおける変化が別のパラメーターを変更するものとしての無償かどちらか一方の−無償のジェスチャが、一緒にパッケージ化されたジャンルに分類される。これらのパッケージは、少なくとも1つを選択し得るアプリケーションに提供され得る。アプリケーションは、アプリケーション固有の様相に最も適合するようにジェスチャ又はジェスチャフィルター(191)のパラメーターを調整又は修正し得る。そのパラメーターは調整されたとき、ジェスチャ又は第2のジェスチャのどちらか一方の第2の賞賛パラメーターも(互いに依存している意味の)パラメーターが賞賛のままであるように調整される。テレビゲームに関するジャンルパッケージは、第1のユーザーシューティング、動作、ドライビング、スポーツなどのジャンルを含み得る。
【0064】
[0070]図3は、目標の認識、解析、及びトラッキングシステムにおいて、1つ以上のジェスチャを解釈するために使用され得る計算環境の実施形態例を示している。図1A〜図2に関連し前述した計算環境(12)のような計算環境は、ゲーム機などのマルチメディアコンソール(100)であり得る。図3のようにマルチメディアコンソール(100)は、レベル1キャッシュ(102)、レベル2キャッシュ(104)、及びフラッシュROM(読み出し専用メモリー)(106)を有する中央演算処理装置(CPU)(101)を有している。レベル1キャッシュ(102)及びレベル2キャッシュ(104)が、データを一時的にストアし、それによってメモリーアクセスサイクル数を減らし、その結果、処理速度及びスループットを改善する。2つ以上のコア、ひいては付加的なレベル1キャッシュ(102)及びレベル2キャッシュ(104)を有するCPU(101)が提供され得る。フラッシュROM(106)は、マルチメディアコンソール(100)が電源投入されたとき、ブートプロセスの初期段階の間、ロードされる実行プログラムをストアし得る。
【0065】
[0071]グラフィック処理装置(GPU)(108)及びビデオエンコーダー/ビデオコーデック(符号化器/デコーダー)(114)が、高速かつ高解像度画像処理用のビデオ処理パイプラインを形成する。データが、画像処理装置(108)からビデオエンコーダー/ビデオコーデック(114)へバスを介し伝達される。ビデオ処理パイプラインは、テレビ又はその他のディスプレイへの伝送用A/V(音声/ビデオ)ポート(140)へデータを出力する。メモリーコントローラー(110)が、RAM(ランダムアクセスメモリー)に限定しないが、そのような様々なタイプのメモリー(112)へのプロセッサーへのアクセスを容易にするGPU(108)と接続される。
【0066】
[0072]マルチメディアコンソール(100)は、I/Oコントローラー(120)、システム管理コントローラー(122)、音声処理装置(123)、ネットワークインターフェースコントローラー(124)、第1のUSBホストコントローラー(126)、第2のUSBコントローラー(128)、及び望ましくはモジュール(118)上に実装されるフロントパネルI/O部分組立体(130)を含む。USBコントローラー(126)及び(128)は、周辺機器コントローラー(142(1)〜142(2))、無線アダプター(148)、及び外部記憶装置(146)(例えば、フラッシュメモリー、外付けCD/DVD ROMドライブ、取り外し可能媒体など)に対しホスティングをする役目を果たす。ネットワークインターフェース(124)及び/又は無線アダプター(148)は、ネットワーク(例えば、インターネット、ホームネットワークなど)へのアクセスを提供し、イーサネットカード、モデム、ブルートゥースモジュール、ケーブルモデムなどを含む多種多様な有線又は無線アダプターコンポーネントのいずれかであり得る。
【0067】
[0073]ブートプロセス中、ロードされるアプリケーションデータをストアするためのシステムメモリー(143)が提供される。媒体ドライブ(144)が提供され、DVD/CDドライブ、ハードドライブ、又はその他の取り外し可能媒体ドライブなどを含み得る。媒体ドライブ(144)は内蔵か又はマルチメディアコンソール(100)に外付けであり得る。アプリケーションデータが、マルチメディアコンソール(100)によって再生などを実行するために媒体ドライブ(144)を介しアクセスされ得る。媒体ドライブ(144)は、シリアルATAバス又は他の高速接続(例えばIEEE1394)などのバスを介しI/Oコントローラー(120)と接続される。
【0068】
[0074]システム管理コントローラー(122)は、マルチメディアコンソール(100)の利用可能性保証に関連する様々なサービス機能を提供する。音声処理装置(123)及び音声コーデック(132)が、忠実性の高い3次元処理を用いて応答音声処理パイプライン処理装置を形成する。音声データが、音声処理装置(123)と音声コーデック(132)との間を通信リンクを介し伝達される。音声処理パイプラインが、音声機能を有する外付けオーディオプレーヤー又は装置によって再生するためにA/Vポート(140)へデータを出力する。
【0069】
[0075]フロントパネルI/O部分組立体(130)が、マルチメディアコンソール(100)の外面上に見ることができる電源スイッチ(150)及びイジェクトボタンlnposelstart(152)lnposelend並びにいくつかのLED(発光ダイオード)又は別の指標の機能性を支援する。システム電力供給モジュール(136)が、マルチメディアコンソール(100)のコンポーネントに電力を提供する。ファン(138)がマルチメディアコンソール(100)内部の回路を冷却する。
【0070】
[0076]マルチメディアコンソール(100)内部のCPU(101)、GPU(108)、メモリーコントローラー(110)、及びその他の様々なコンポーネントは、シリアルバス及びパラレルバス、メモリーバス、周辺機器用バス、及び様々なバスアーキテクチャのうちいずれかを使用したプロセッサーバス又はローカルバスを含む1つ以上のバスを介し相互に接続される。例として、上記のアーキテクチャは、Peripheral Component Interconnects(PCI)バス、PCI−エクスプレスバスなどを含み得る。
【0071】
[0077]マルチメディアコンソール(100)が電源投入されたとき、アプリケーションデータが、システムメモリー(143)からメモリー(112)及び/又はキャッシュ(102)、(104)へロードされ、CPU(101)上で実行される。アプリケーションは、マルチメディアコンソール(100)上で利用可能な異なる媒体のタイプへナビゲートするとき、一貫性したユーザー体験を提供するグラフィカルユーザーインターフェースを提示し得る。動作中、媒体ドライブ(144)内部に含まれるアプリケーション及び/又はその他の媒体は、媒体ドライブ(144)から起動され得るか又は再生され得、マルチメディアコンソール(100)に付加的機能性を提供し得る。
【0072】
[0078]マルチメディアコンソール(100)は、システムをテレビ又はその他のディスプレイと単に接続することによって、単独で動作するシステムとして作動され得る。この単独動作モードのマルチメディアコンソール(100)によって1人以上のユーザーが、システムとの対話、映画の鑑賞、又は音楽の鑑賞が可能になる。しかしながら、ネットワークインターフェース(124)又は無線アダプター(148)を介し利用可能になるブロードバンドの接続性統合を用いると、マルチメディアコンソール(100)が更に、より大きなネットワークコミュニティに参加者として作動され得る。
【0073】
[0079]マルチメディアコンソール(100)が電源投入時されたとき、設定された量のハードウェア資源が、マルチメディアコンソールのオペレーティングシステムによるシステムを使用するために予約される。これらのリソースは、メモリー(例えば16MB)、CPU及びGPUサイクル(例えば5%)、ネットワーク帯域幅(例えば8kbs)などの予約を含み得る。これらのリソースはシステムのブート時に予約されるため、アプリケーションの観点から予約されるリソースは存在しない。
【0074】
[0080]具体的にメモリー予約は、望ましくは十分に大きく、起動カーネル、並列システムアプリケーション及びドライバーを含む。CPUの予約は、望ましくは一定であり、予約されたCPU利用が、システムアプリケーションによって使用されていない場合、アイドルスレッドが、いくらかの未使用サイクルを消費する。
【0075】
[0081]GPUの予約に関すると、システムアプリケーションによって生成される軽い(例えばポップアップ)メッセージが、ポップアップをオーバーレイにレンダリングするプログラムをスケジューリングするGPU中断を使用することによって、表示される。オーバーレイに要求されるメモリーの総計は、オーバーレイ領域の大きさ及び望ましくは画面解像度を伴うオーバーレイスケールによって決まる。十分なユーザーインターフェースが、並行システムアプリケーションによって使用されるところにおいて、アプリケーション解像度に影響されずに解像度を利用することが望まれる。スケーラーがこの解像度を設定するために使用され得、テレビの周波数を変更して再同時性をもたらす必要性が省かれる。
【0076】
[0082]マルチメディアコンソール(100)が起動し、システム資源が予約された後、システム機能性を提供する並列システムアプリケーションが実行する。システム機能性は、前述した予約されたシステム資源の範囲内で実行する一連のシステムアプリケーションにカプセル化される。オペレーティングシステムカーネルは、ゲームアプリケーションスレッドに対しシステムアプリケーションスレッドであるスレッドを識別する。本システムのアプリケーションは、望ましくは、一貫性のあるシステム資源の表示をアプリケーションに提供するために、所定の時間及び間隔でCPU(101)上で実行するようにスケジューリングされる。スケジューリングは、コンソール上で実行するゲームアプリケーションに対するキャッシュ分裂を最小化することである。
【0077】
[0083]並行システムアプリケーションが音声を必要とするとき、音声処理が時間感度によって、ゲームアプリケーションと非同期にスケジューリングされる。(後述される)マルチメディアコンソールのアプリケーションマネージャは、システムアプリケーションがアクティブであるとき、ゲームアプリケーションの音声の(例えば、ミュート、減衰)レベルを制御する。
【0078】
[0084]入力装置(例えば、コントローラー142(1)及び142(2))が、ゲームアプリケーション及びシステムアプリケーションによって共有される。入力装置は、予約される資源でないが、しかしシステムアプリケーションとゲームアプリケーションとの間で切換えられ、それぞれが装置のフォーカスを有し得る。アプリケーションマネージャが、ゲームアプリケーションの知識がなくても望ましくは入力ストリームの切換えを制御し、ドライバーが、フォーカス切換えに関する状態情報を維持する。カメラ(26)、(28)、及びキャプチャ装置(20)は、コンソール(100)用の付加入力装置を定義している。
【0079】
[0085]図4は、目標の認識、解析、及びトラッキングシステムにおいて1つ以上のジェスチャを解釈するために使用される図1A〜図2のような計算環境(12)である別の計算環境(220)の実施形態例を示している。計算システム環境(220)は、適切な計算環境の一例に過ぎず、開示される本対象項目の利用性又は機能性の範囲に関し、いかなる制限も提示するように意図されていない。計算環境(220)は、例示的動作環境(220)に示されている一コンポーネント又は任意の組み合わせに関連するいかなる依存性も要件も有していないものとして解釈されたい。実施形態の中には、示した様々な計算エレメントが、今開示される特定の態様を例示するように構成された回路を含み得るものもある。例えば、本開示において使用される用語の回路は、ファームウェア又はスイッチによって機能(単数又は複数)を実行するように構成される専用ハードウェアコンポーネントを含み得る。別の実施形態例の中には、用語の回路が、機能(単数又は複数)を実行するように作動可能なロジックを具体化するソフトウェア命令によって構成された汎用処理装置、メモリーなどを含み得るものもある。回路がハードウェア及びソフトウェアの組み合わせを含む実施形態例において、実装者がロジックを具体化するソースコードを記述し得、ソースコードが汎用演算処理装置によって処理され得る計算機読み出し可能プログラムへコンパイルされ得る。当業者は、技術の最先端が、ハードウェア、ソフトウェア、又はハードウェア/ソフトウェアの組み合わせの間の差異がほとんどない程度に発展していることを十分に理解し得るのであるから、特定機能を実現するためのハードウェア対ソフトウェアの選択は、実装者に任せられた設計選択である。より具体的には、当業者は、ソフトウェアプロセスが同等のハードウェア構造へ変換され得ることと、ハードウェア構造がそれ自体、同等のソフトウェア処理へ変換され得ることと、を十分に理解されよう。かくして、ハードウェア実装対ソフトウェア実装の選択は、設計選択の1つであって実装者に委ねられている。
【0080】
[0086]図4において、計算環境(220)は、典型的に、様々な計算機可読媒体を含む計算機(241)を含む。計算機可読媒体は、計算機(241)によってアクセスされ得る利用可能な任意の媒体であり得、揮発性及び不揮発性媒体、及び取り外し可能及び取り外し不可能媒体双方を含む。システムメモリー(222)は、読み出し専用メモリー(ROM)(223)及びランダムアクセスメモリー(RAM)(260)などの揮発性及び/又は不揮発性メモリー形式の計算機記憶媒体を含む。起動中などに計算機(241)内部のエレメント間における情報送信を支援する基本ルーチンを含む基本入出力システム(BIOS)(224)は、典型的に、ROM(223)にストアされる。RAM(260)は、典型的に、演算処理装置(259)によって即座にアクセス可能な及び/又は目下作動されているデータ及び/又はプログラムモジュールを含む。非限定の例として、図4は、オペレーティングシステム(225)、アプリケーションプログラム(226)、その他のプログラムモジュール(227)、及びプログラムデータ(228)を示している。
【0081】
[0087]計算機(241)は、別の取り外し可能/取り外し不可能、揮発性/不揮発性計算機記憶媒体も含み得る。ほんの一例として、図4は、取り外し不可能、不揮発性磁気媒体から読み出すか又はそれに書き込むハードディスクドライブ(238)、取り外し可能、不揮発性磁気ディスク(254)から読み出すか又はそれに書き込む磁気ディスクドライブ(239)、CD−ROM、又はその他の光学式媒体などの取り外し可能、不揮発性光学式ディスク(253)から読み出すか又はそれに書き込む光学式ディスクドライブ(240)を示している。例示的な動作環境において使用され得る別の取り外し可能/取り外し不可能、揮発性/不揮発性計算機記憶媒体は、磁気カセットテープ、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROM等を含むがこれらに限定しない。ハードディスクドライブ(238)は、典型的に、インターフェース(234)のような取り外し不可能メモリーインターフェースを介しシステムバス(221)と接続され、磁気ディスクドライブ(239)及び光学式ディスクドライブ(240)は、典型的に、インターフェース(235)のような取り外し可能メモリーインターフェースによってシステムバス(221)と接続される。
【0082】
[0088]図4に前述され例示したドライブ及びそれらに関連する計算機記憶媒体が、計算機(241)に計算機可読命令、データ構造、プログラムモジュール、及び別のデータ記憶装置を提供する。図4において、例えばハードディスクドライブ(238)は、オペレーティングシステム(258)、アプリケーションプログラム(複数)(257)、その他のプログラムモジュール(複数)(256)、及びプログラムデータ(255)をストアするように例示されている。これらのコンポーネントが、オペレーティングシステム(225)、アプリケーションプログラム(複数)(226)、その他のプログラムモジュール(複数)(227)、及びプログラムデータ(228)と同一か又は異なるどちらか一方であり得ることを留意されたい。オペレーティングシステム(258)、アプリケーションプログラム(257)、その他のプログラムモジュール(256)、及びプログラムデータ(255)は、本明細書において異なる番号を付与されていて、異なる最小限の複製物であることを示している。ユーザーは、一般に、キーボード(251)のような入力装置、及びマウス、トラックボール又はタッチパッドとして参照されるポインティングデバイス(252)を介し、計算機(241)へコマンド及び情報を入力し得る。その他(示されていない)入力装置は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナーなどを含み得る。これらの入力装置及びその他の入力装置は、多くの場合、システムバスに接続されるユーザー入力インターフェース(236)を介し演算処理装置(259)と接続されるが、パラレルポート、ゲームポート又はユニバーサルシリアルバス(USB)のような別のインターフェース及びバス構造によっても接続され得る。カメラ(26)、(28)、及びキャプチャ装置(20)は、コンソール(100)用の付加入力装置を定義している。モニター(242)又は別のタイプの表示装置もビデオインターフェース(232)のようなインターフェースを介しシステムバス(221)と接続される。モニターに加えて計算機は、周辺出力インターフェース(233)を介し接続され得るスピーカー(244)及びプリンター(243)のような別の周辺出力装置も含み得る。
【0083】
[0089]計算機(241)は、リモートコンピューター(246)のような1つ以上のリモートコンピューターとの論理接続を使用し、ネットワーク環境において作動し得る。リモートコンピューター(246)は、パーソナルコンピューター、サーバー、ルーター、ネットワークPC、ピア装置、又は別の一般的なネットワークノードであり得、典型的に、前述した計算機(241)に関連するエレメントの多く又はすべてを含むが、図4にはメモリー記憶装置(247)だけが例示されている。図2に示される論理的な接続は、ローカルエリアネットワーク(LAN)(245)及び広域ネットワーク(WAN)(249)を含むが、別のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業規模のコンピューターネットワーク、イントラネット、及びインターネットにおいて一般的である。
【0084】
[0090]LANネットワーク環境において使用されるとき、計算機(241)は、ネットワークインターフェース又はアダプター(237)を介しLAN(245)と接続される。WANネットワーク環境において使用されるとき、計算機(241)は、典型的にインターネットなどのようなWAN(249)を介し通信を確立するモデム(250)又はその他の手段を含む。内蔵又は外付けがあり得るモデム(250)が、ユーザー入力インターフェース(236)又はその他の適切な手段を介し、システムバス(221)と接続され得る。ネットワークの環境において、計算機(241)又はその一部に関連し示されるプログラムモジュールが、リモートメモリー記憶装置にストアされ得る。非限定の例として図4が、記憶装置(247)上に常駐するリモートアプリケーションプログラム(248)を示している。示したネットワーク接続が例示的であって、計算機間の通信リンクを確立する別の手段が使用され得ることを十分に理解されよう。
【0085】
[0091]計算機可読記憶媒体は、視覚表示を変更するための計算機可読命令を含み得る。命令は、視覚表示をレンダリングするステップと、シーンデータを受信するステップであってデータが、物理的な空間のユーザーの修正ジェスチャを代表するデータを含むものと、ユーザーの修正ジェスチャに基づいて視覚表示の変更するステップであって修正ジェスチャが、視覚表示の特性を修正するためのコントロールにマッピングするジェスチャであるものと、に関する命令を含み得る。
【0086】
[0092]図5は、キャプチャ装置(20)によってキャプチャされる画像データから生成され得るユーザーの骨格マッピングの例を表している。この実施形態において、それぞれの手(502)、それぞれの前腕(504)、それぞれの肘(506)、それぞれの二頭筋(508)、それぞれの肩(510)、それぞれの臀部(512)、それぞれの大腿部(514)、それぞれの膝(516)、それぞれの前脚(518)、それぞれの足(520)、頭(522)、胴(524)、上部脊椎(526)、下部脊椎(528)、及び腰(530)の様々な関節及び骨が識別される。より多くの時点がトラッキングされるところにおいて、指又は爪先の骨と関節、鼻や目などの表面に関する個人特徴などのような更なる機能が識別され得る。
【0087】
[0093]ユーザーは、自分の体の動きを介しジェスチャを生成し得る。ジェスチャは、意味に関する解析画像データとしてキャプチャされ得たユーザーによる動作又はジェスチャを含む。ジェスチャは、ボールを投げる物真似のような動作を含む動的であり得る。ジェスチャは、彼の胴(524)の前で彼の前腕(504)の交差を保持しているような静的な姿勢であり得る。見せかけの剣などを振ることによるジェスチャは道具も組み込み得る。ジェスチャは、一緒に手(502)を叩くか又は人の唇をすぼめるような、より微妙な動作のような2つ以上の体の部分を含み得る。
【0088】
[0094]ユーザーのジェスチャは、入力のための一般的なコンピューターの文脈で使用され得る。例えば、手(502)又は体の別の一部の様々な動作は、階層リスト内を上方又は下方にナビゲートし、ファイルをオープンし、ファイルをクローズし、ファイルを保存するなど、一般的システムの広い範囲のタスクに対応し得る。例えば、ユーザーは、キャプチャ装置(20)を指差した手をそのまま手のひらをキャプチャ装置に向け得る。彼はその後、指を手のひらに向けて閉じてこぶしを作り得、これが、ウィンドウベースのユーザーインターフェース計算環境において、フォーカスされたウィンドウが閉じられるべきことを示すジェスチャであり得る。ジェスチャは、ビデオゲーム固有のゲームに従った文脈でも使用され得る。例えば、ドライビングゲームの手(502)及び足(520)の様々な動きは、乗り物を方向付け、ギヤチェンジし、加速し、ブレーキングに対応し得る。かくして、ジェスチャは、示されるユーザー表示、及びテレビゲーム、テキストエディタ、文書処理、データ管理など様々なアプリケーションへマッピングする様々な動作を示し得る。
【0089】
[0095]ユーザーは、自分自身の定位置における歩行又は走行によって、歩行又は走行に対応しているジェスチャを生成し得る。例えば、ユーザーは代替として、動かずに歩行を模倣するために、脚(512〜520)それぞれを上げ落し得る。本システムは、臀部(512)それぞれと大腿部(514)それぞれとを解析することによってこのジェスチャを解析し得る。(垂線に対して測定されるとき、立っている脚が臀部と大腿部が0°の角度を有していて、前方に水平に伸びた脚が臀部と大腿部が90°の角度を有する)臀部と大腿部の1つの角度が、他方の大腿部に対し一定の閾値を超えたとき、一歩が認識され得る。歩行又は走行は、交互の脚による連続した数歩の後、認識され得る。最新の2歩の間の時間が周期として考慮され得る。その閾値角が満足されない数周期後、本システムは、歩行又は走行ジェスチャが停止していることを決定し得る。
【0090】
[0096]「歩行又は実行」ジェスチャが与えられると、アプリケーションは、このジェスチャに関連付けられるパラメーターに対する値を設定し得る。これらのパラメーターは、上記の歩行又は走行ジェスチャを開始するために要求される閾値角、歩数、ジェスチャを終了したために一歩も発生しない周期閾値、及びジェスチャが歩行又は走行であるか決定する周期閾値を含み得る。短い周期は、ユーザーが自分の足を素早く動かす走行に相当し得、より長い周期は歩行に相当し得る。
【0091】
[0097]ジェスチャは、アプリケーションがそれ自身のパラメーターを使って上書きし得る一連のデフォルトパラメーターと最初に関連付けられ得る。このシナリオにおいて、アプリケーションはパラメーターを提供するように強制されないが、そのかわりに一連のデフォルトパラメーターを使用し得、アプリケーションが定義したパラメーターが存在しないときでもジェスチャを認識可能になる。ジェスチャと関連した情報は、事前に準備された動画のために格納され得る。
【0092】
[0098]ジェスチャに関連付けられ得る様々な出力が存在する。ジェスチャが生じているか否かに関して「はい又はいいえ」の基準値が存在し得る。ユーザーのトラッキングされた動きがジェスチャに対応している可能性に対応する信頼水準も存在し得る。これは0と1を含めた、その間の浮動小数点の範囲の線形目盛であり得る。このジェスチャ情報を受信するアプリケーションが、入力として誤検出を受け入れ不可能なところにおいては、少なくとも0.95の高信頼水準を有する認識されたジェスチャだけを使用し得る。誤検出コストであってもジェスチャのあらゆるインスンスをアプリケーションが認識する必要があるところにおいては、単に0.2よりも大きい、少なくともよりずっと低い信頼水準を有するジェスチャを使用し得る。ジェスチャは、最新の2歩の間の時間に関する出力を有し得、最初の一歩だけが登録されているところにおいては(任意の2つの歩数間の時間が正数でなければならないので)これは−1のような予約値に設定され得る。ジェスチャは、最新の一歩の間に達する大腿部の最大角度に関する出力も有し得る。
【0093】
[0099]別の例示的ジェスチャは「かかと上げの跳躍」である。ここでユーザーは、自分のかかとを地面から離すことによってジェスチャを生成し得るがしかし、自分の爪先は地面に付けたままである。代替としてユーザーは、空中で跳躍し得、自分の足(520)は完全に地面を離れる。本システムは、肩(510)、臀部(512)、及び膝(516)の角度関係を解析することによって、このジェスチャに関する骨格を解析し得、それらが直立に等しい配列位置にあるか確認し得る。その後、これらの点並びに上部脊椎(526)及び下部脊椎(528)の点が、上向きの任意の加速に関し監視され得る。十分な加速の組み合わせが跳躍ジェスチャを起動し得る。特定のジェスチャとともに十分な加速の組み合わせが、転移点パラメーターを満足し得る。
【0094】
[0100]この「かかと上げの跳躍」ジェスチャを仮定すると、アプリケーションは、このジェスチャに関連付けられたパラメーターに関する値を設定し得る。パラメーターは、上記の加速度閾値を含み得、ユーザーの肩(510)、臀部(512)及び膝(516)のいくつかの組み合わせがジェスチャを起動するためにどのくらい速く上向きに動く必要があるか、及び更に跳躍が起動され得る肩(510)、臀部(512)、及び膝(516)の間の配列の最大角度を決定する。出力は、信頼水準及び跳躍時のユーザーの体の角度を含み得る。
【0095】
[0101]ジェスチャを受信する特定のアプリケーションに基づいた、ジェスチャに関するパラメーター設定が、ジェスチャを正確に識別するときに重要である。ジェスチャ及びユーザーの意図を適切に識別することが、積極的なユーザー体験を生成するときに大きく支援する。
【0096】
[0102]アプリケーションが、事前に準備された動画を使用する点を識別するための、様々な転移点に関連付けられたパラメーターに関する値を設定し得る。転移点は、特定のジェスチャの識別、速度、目標若しくは被写体の角度、又はその任意の組み合わせなど、様々なパラメーターによって定義され得る。特定のジェスチャの識別による転移点が少なくとも一部定義されている場合、ジェスチャの適切な識別を支援し、転移点のパラメーターが満足されている信頼水準を増大させる。
【0097】
[0103]ジェスチャに対する別のパラメーターは移動距離であり得る。ユーザーのジェスチャが、仮想的な環境においてアバターの動作を制御するところにおいて、そのアバターはボールから腕の長さのところに存在し得る。ユーザーがボールと情報をやりとりし、それを掴むことを所望した場合、これは、掴むジェスチャの実行中、ユーザーに自分の腕を十分に伸ばす(502〜510)ように要求し得る。この状況において、ユーザーが自分の腕(502〜510)を一部だけ伸ばす類似した掴むジェスチャは、ボールとの情報のやりとりの結果を達成し得ない。同様に、転移点パラメーターは、掴むジェスチャの識別であり得、ユーザーは自分の腕(502〜510)を一部だけ伸ばし、その結果、ボールとの情報のやりとりの結果を達成しない場合、ユーザーのジェスチャは転移点パラメーターも満足しない。
【0098】
[0104]ジェスチャ又はその一部は、それが生じる必要がある空間量をパラメーターとして有し得る。この空間量は、典型的に体と関連して表現され得、ジェスチャは体の動きを含んでいる。例えば、右利きのユーザーに対するフットボール投球ジェスチャは、右の肩(510a)よりも低くない空間容積だけであって、投げる腕(502a〜310a)と同じ側にある頭(522)の上で認識され得る。この投球ジェスチャを使用する領域の容積すべてを定義する必要なく、体から離れた外側の領域は未定義のままであって、容積は無限か又は監視されるシーンの縁まで延びている。
【0099】
[0105]図6A及び図6Bは、キャプチャ装置(608)、計算装置(610)、及び表示装置(612)を含むシステム(600)を表している。例えば、キャプチャ装置(608)、計算装置(610)、及び表示装置(612)はそれぞれ、図1〜図5に関連して説明した所望の機能性を実行する装置のような適切な任意の装置を含み得る。単一の装置がシステム(600)の機能すべてを実行し得るか又は適切な任意の装置の組み合わせが所望の機能を実行し得ることを想定している。例えば、計算装置(610)は、図2に示した計算環境(12)又は図3に示した計算機に関連し記載された機能性を提供し得る。図2に示した計算環境(12)は、表示装置及びプロセッサーを含み得る。計算装置(610)は、それ自身のカメラコンポーネントも含み得るか、又はキャプチャ装置(608)のようなカメラコンポーネントを有する装置と接続され得る。
【0100】
[0106]この例において、立体視カメラ(608)が、ユーザー(602)が存在する物理的な空間(601)のシーンをキャプチャする。立体視カメラ(608)は、立体視情報を処理し、及び/又は立体視情報を計算機(610)のような計算機に提供する。ユーザー(602)の視覚表示を示すための立体視情報が解釈され得る。例えば、示された立体視カメラ(608)又はそれに接続された計算装置(610)がディスプレイ(612)に出力し得る。画像データのフレームがキャプチャされ表示されるレートが、表示される視覚表示の動きの連続性レベルを決定し得る。更なる画像データのフレームがキャプチャされ表示され得るが、例示のために図6A及び図6Bのそれぞれに表されたフレームが選択されている。視覚表示が物理的な空間(601)の別のユーザー又は人間以外のオブジェクトのような別の目標の視覚表示であり得るか、又は視覚表示が部分的又はすべて仮想的なオブジェクトであり得ることにも留意されたい。
【0101】
[0107]本技法は本明細書に、検出された目標の特徴と類似した特徴を有する目標の視覚表示を自動的に生成するためのシステムの能力を開示する。代替として、本システムは、選択可能な特徴のサブセットを提供し得、そこからユーザーが選択し得る。本システムは、検出された目標の特徴に基づいて特徴を選択し得、目標の視覚表示に選択を適用し得る。代替として、本システムは、オプションの数を絞り込んだ選択を実行し得、そこからユーザーが選択し得る。本システムがユーザーの代わりに決定可能な場合、ユーザーは、同じ多くの決定を実行することも、同じ多くのオプションから選択する必要があることも要求され得ない。かくして、開示された技法が、ユーザーから多大な努力を除外し得る。例えば、本システムが、ユーザーの代わりに選択を実行し得、それらをユーザーの視覚表示に適用し得る。
【0102】
[0108]図6Aに示したように本システムは、物理的な空間(601)のユーザー(602)に対応する視覚表示(603)をレンダリングする。この例において、ユーザー(602)の特徴を検出することによって視覚表示(603)を自動的に生成する本システムは、検出された特徴を特徴のオプションのライブラリーと比較し、検出されたユーザー(602)の特徴と類似した特徴のオプションを選択し、それらをユーザーの視覚表示(603)に自動的に適用する。視覚表示がゲーム又はアプリケーションの体験に楽に運ばれるので、視覚表示の自動生成は、ユーザー(602)から作業を省き、ユーザー(602)にとって魅惑的な体験を生成する。
【0103】
[0109]また、開示されるものは、視覚表示をリアルタイムに表示し、視覚表示に適用される特徴の選択をリアルタイムに更新するための技法である。本システムは、時間とともに物理的な空間のユーザーをトラッキングし得、修正を適用し得るか、又は視覚表示に適用される特徴の更新もリアルタイムに実行し得る。例えば、本システムは、ユーザーをトラッキングし得、ユーザーがスウェットシャツを脱いでいることを識別し得る。本システムは、ユーザーの体の動きを識別し得、ユーザーの服のタイプ及び色における変化を認識し得る。本システムは、特徴の選択の処理を支援するために識別されたユーザーの特徴及び/又は特徴ライブラリーから選択され、視覚表示に適用される更新された特徴のいずれかを使用し得る。かくして、この場合もやはり本システムは、ユーザーをアプリケーションの体験に楽に運び得、彼らが変化し得るときに検出されたユーザーの特徴に対応する視覚表示をリアルタイムに更新し得る。
【0104】
[0110]実施形態例において、ユーザーの特徴を検出し、検出された特徴を使用して視覚表示の特徴に関するオプションを選択するために、本システムはユーザーのモデルを生成し得る。モデルを生成するために、キャプチャ装置がシーンの画像をキャプチャし得るか又はシーンの目標及び被写体をスキャンし得る。一実施形態による画像データは、立体視画像、立体視カメラ(608)、及び/又はRGBカメラからの画像、又は別の任意の探知器に関する画像も含んでいる。システム(600)は、シーンから立体情報、画像情報、RGBデータなどをキャプチャし得る。シーン中の目標又は被写体がヒューマンターゲットに対応しているか否か決定するために、目標それぞれは大量情報で満たされ得、人体モデルのパターンと比較され得る。人間のパターンに一致する目標又は被写体それぞれがスキャンされ、それに関連付けられた骨格モデル、フラッドモデル、ヒューマンメッシュモデルのようなモデルを生成し得る。骨格モデルは、その後、骨格モデルをトラッキングし、骨格モデルに関連付けられたアバターをレンダリングするための計算環境に提供され得る。
【0105】
[0111]画像データ及び/又は立体情報は、目標の特徴を識別するために使用され得る。ヒューマンターゲットに関する別のそのような目標の特徴は、例えば、身長、及び/又は腕の長さを含み得、例えば、ボディスキャン、骨格モデル、画素領域のユーザー(602)の範囲、又は別の任意の適切なプロセス若しくはデータに基づいて取得され得る。例えば、観測された複数のヒューマンターゲットに関連付けられている画素の深度、及び身長、頭の大きさ、又は肩幅など、ヒューマンターゲットの1つ以上の外観の範囲を利用し、ヒューマンターゲットの大きさが決定され得る。カメラ(608)が、画像データを処理し得、ユーザーの髪、服などを含むユーザーの様々な一部の形、色、及び大きさを決定するためにそれを利用し得る。検出された特徴は、視覚表示へ適用するための特徴ライブラリー(197)内の視覚表示の特徴のオプションのような特徴のオプションのカタログと比較され得る。
【0106】
[0112]別の実施形態例において、ユーザーの特徴を識別し、識別した特徴を利用して、視覚表示に関する特徴を選択するために、本システムは、図2Bに関連し説明したような目標のデジタル処理技法を使用し得る。本技法は、深度検出装置のようなキャプチャ装置から導出された統合化されていないポイントクラウドから被写体の面、テクスチャ、及び大きさを識別することを含む。目標のデジタル処理の使用は、ポイントクラウドにおけるポイントを識別し、面法線を分類(ラベリング)し、被写体の特性を計算し、被写体の特性における変化を時間とともにトラッキングし、付加的なフレームがキャプチャされたときに被写体の境界及び識別の信頼性を増大させる面の抽出を含み得る。例えば、物理的な空間の被写体に関連するデータポイントのポイントクラウドが、受信され又は観測され得る。ポイントクラウドは、その後、ポイントクラウドが被写体を含んでいるか否か決定するために解析され得る。ポイントクラウドの集まりは被写体として識別され得、単一の被写体を示すように融合され得る。ポイントクラウドの面が、識別された被写体から抽出され得る。
【0107】
[0113]既知/未知の被写体のスキャン、人間のスキャン、シーン(例えば、床、壁)の背景の様子のスキャン能力を提供する既知の任意の技法、又は本明細書に開示した技法が、物理的な空間の目標の特徴を検出するために使用され得る。それぞれに関するスキャンデータは、深度データ及びRGBデータの組み合わせを含み得、が、被写体の3次元モデルを生成するために使用され得る。RGBデータは、対応するモデルの領域に適用される。フレームごとの一時的なトラッキングが信頼性を増大し得、被写体のデータにリアルタイムに適合し得る。かくして、被写体の特性と、被写体の特性における変化の時間をかけたトラッキングとが使用され得、位置及び方向性においてリアルタイムに変化する被写体をフレームごとに確実にトラッキングし得る。キャプチャ装置は、データの忠実性を増大させ、開示された技法が未加工の深度データを処理し、シーンの被写体をデジタル処理し、被写体の面及びテクスチャを抽出し、これらの技法のいずれかをリアルタイムに実行可能にし、表示がシーンのリアルタイムの描写を提供できるような対話的なレートでデータをキャプチャする。
【0108】
[0114]カメラの認識技術が使用され得、特徴ライブラリー(197)の要素のどれが、ユーザー(602)の特性と最も密接に類似しているか決定し得る。本システムは、ユーザー(602)の特徴を検出するために、顔の認識及び/又は体の認識技法を使用する。例えば、本システムは、画像データ、ポイントクラウドデータ、深度データなどから提供されるモデルの生成に基づいて、ユーザーの特徴を検出し得る。顔のスキャンが実行され得、本システムは、ユーザーの顔の特徴に関連しキャプチャされたデータ及びRGBデータを処理し得る。実施形態例において、5つのキーのデータポイント(すなわち、目、口の端店、及び鼻)の位置に基づいて、本システムがプレーヤーに対する顔の提案を提示する。顔の提案は、選択された少なくとも1つの顔の特徴、顔の一連の特徴の全てを含んでいるか、又はそれは特徴ライブラリー(197)から提供される顔の特徴に関するオプションを絞り込んだサブセットである。本システムは、体の認識技法を実行し得、ボディスキャンから体の様々な一部/タイプを識別し得る。例えば、ユーザーのボディスキャンが、ユーザーの身長に関する提案を提供し得る。ユーザーは、これらのスキャンのいくつかに関して最善のスキャン結果を提供する場所の物理的な空間に立つようにうながされ得る。
【0109】
[0115]別の特徴が、キャプチャされたデータから検出され得る。例えば、本システムは、ユーザー及び/又はユーザーのモデルを解析することによって色のデータ及び服のデータを検出し得る。本システムは、これらのユーザーの特性の識別に基づいてユーザーに対し服を提案し得る。服の提案は、ユーザーのクローゼットにある服に基づき得るか、又は仮想的な世界の市場において買うことができる服からに基づき得る。例えば、ユーザーは、特定の視覚表示が所有する、関連付けられた品目のリポジトリを有する個人のクローゼットを有し得る。個人のクローゼットは、ユーザーがユーザーの視覚表示に適用される服及びその他の品目を眺めて、修正可能なインターフェースを含み得る。例えば、装身具、靴などが修正され得る。ユーザーの性別は、キャプチャされたデータに基づくか又はユーザーに関連するプロファイルにアクセスした結果、決定され得る。
【0110】
[0116]本システムは、ユーザーの少なくとも1つの特徴を検出し得、検出された特徴を代表する特徴を特徴ライブラリー(197)から選択し得る。本システムは、選択された特徴をユーザーの視覚表示(603)に自動的に適用し得る。かくして、ユーザーの視覚表示(603)は、システムによって選択されるユーザーに類似した画像を有する。例えば、特徴の抽出技術が、ユーザーの顔の特徴をマッピングし得、特徴ライブラリーから選択された特徴のオプションが、ユーザーの漫画表現を生成するために使用され得る。視覚表示(603)は、検出されたユーザーの特徴と類似した特徴ライブラリーから選択された特徴を用いて自動的に生成されたものであるがしかし、この例において、視覚表示はユーザー(602)の漫画のバージョンである。視覚表示は、ユーザー(602)の髪、目、鼻、服(例えば、ジーンズ、ジャケット、靴)、体の姿勢、及びタイプなどの漫画版を有する。本システムは、特徴を適用して自動的に生成された視覚表示(603)をレンダリングすることによって生成される視覚表示(603)をユーザー(602)に提示し得る。ユーザー(602)は、自動的に生成された視覚表示(603)を修正し得るか又は視覚表示に適用するための選択を実行し続け得る。
【0111】
[0117]物理的な空間(601)の検出されたユーザーの視覚表示は、動画、キャラクター、アバターなど代替形式も取り得る。図6Bに示した視覚表示の例は、モンキーキャラクター(605)のそれである。ユーザー(602)は、本システム又はアプリケーションによって提供されるユーザーのスクリーン上の表現を様々なストックモデルから選択する。例えば、野球ゲームアプリケーションにおいて、ユーザー(602)を視覚的に表すために利用可能なストックモデルは、有名野球選手からタフィー又はエレファントの一部に至る架空のキャラクター表現、カーソル又はハンドシンボルのような任意のシンボル形式を含み得る。図6Bの例において、モンキーキャラクター(605)は、本システム又はアプリケーションによって提供されるストックモデルの代表であり得る。ストックモデルはプログラムとパッケージされるアプリケーション特有であり得るか、又はストックモデルはアプリケーションを越えて利用可能か若しくはシステムの広い範囲で利用可能であり得る。
【0112】
[0118]視覚表示は、ユーザー(602)の特徴と動画又はストックモデルとの組み合わせがあり得る。例えば、モンキーの表示(605)は、モンキーのストックモデルから初期化されるがしかし、モンキーの様々な特徴は、特徴ライブラリー(197)の特徴など特徴のオプションのカタログからシステム(600)によって選択されたユーザーと類似した特徴によって修正され得る。本システムは、ストックモデルを用いて視覚表示を初期化するがしかし、続いてユーザーの特徴を検出し、検出された特徴を特徴ライブラリー(197)と比較し、ユーザーに類似した特徴を選択し、選択された特徴をモンキーキャラクター(605)に適用するかくして、モンキー(605)は、モンキーの体を有し得るがしかし、ユーザーの顔の眉、目、鼻のような特徴を有し得る。ユーザーの顔の表情、体位、話し言葉、又は検出可能な別の任意の特徴が適切である場合、仮想的なモンキー(605)に適用され、修正され得る。例えば、ユーザーは物理的な空間において、難しい顔つきをしている。本システムは、この表情を検出し、ユーザーの難しい顔つきと最も密接に類似した難しい顔つきを特徴ライブラリーから選択し、仮想的なモンキーも難しい顔つきをするように、モンキーに対し選択された難しい顔つきを適用する。更に、その姿勢のモンキーの体のタイプ及び大きさに対応するための修正を除き、モンキーは、ユーザーに類似した姿勢で座っている。システム(600)は、検出された目標の体型の特徴と体型に関しあり得る視覚表示の特徴の集まりを格納している特徴ライブラリー(197)と比較し得る。本システムは、特徴ライブラリー内のモンキーの特徴のサブセットから特徴を選択し得る。例えば、アプリケーションは、アプリケーションと一緒に事前に準備されたストックモデルのモンキーキャラクターのオプションに対応する特徴ライブラリーのモンキー特有の特徴のオプションを提供し得る。本システム又はユーザーは、モンキー特有の特徴に関するオプションから検出されたユーザーの特徴と最も密接に類似したものを選択し得る。
【0113】
[0119]本システムが特徴のサブセットを特徴ライブラリー(197)から提供することが望まれ得る。例えば、特徴ライブラリー(197)内の2つ以上のオプションは、検出されたユーザーの特徴と類似し得る。本システムは、小さい特徴のサブセットを提供し得、そこからユーザーが選択し得る。数十、数百、数千であってもユーザーが特徴のオプションから手動で選択する代わりに、本システムは、絞り込んだオプションのサブセットを提供し得る。例えば、図7は、図6A及び図6Bに示したシステム(600)を表している。表示(612)上に、本システムは、視覚表示の髪のオプション1〜10に関する一連の特徴のオプション例を表示している。図6Aにおいて、本システムは、ユーザーの視覚表示に適用するために、髪のオプション#5を自動的に選択している。しかしながら図7に示した例において、本システムは、検出されたユーザーの髪の特徴と最も密接に類似した髪のオプションのサブセット(702)を選択している。かくして、ユーザーは、ユーザーの視覚表示に適用するために、オプションのサブセット(702)から選択できる。
【0114】
[0120]この例において、髪に関する特徴のオプションのサブセット(702)は、ユーザーの髪の形、色、及びタイプを含む体、及び顔のスキャンから検出されたユーザーの特徴と最も密接に類似した選択を含み得る。選択すべき圧倒的な数の髪のオプションの代わりに、本システムは、ユーザーの髪形、色、及びタイプと最も密接に類似した髪のオプションに関する、より小さなオプション一覧を提供し得る。本システムは、視覚表示を自動的に生成し得るがしかし、ユーザーが何よりも喜ぶ特徴のオプションの間において、ユーザーが詳細な最終的な選択を選び得る2つ以上のオプションをユーザーに提供するようにも設計され得る。オプションのサブセットは、オプションのすべてを評価するユーザーの必要性を減少させる。
【0115】
[0121]ユーザー又はアプリケーションは、特徴を視覚表示に適用する前に、ユーザーの特徴に対応する一定の特徴を修正するための設定を有し得る。例えば、本システムは、キャプチャされたデータ(例えば、体型/大きさ)に基づくユーザーに関する一定の体重の範囲を検出し得る。しかしながら、ユーザーが設定するか、又はアプリケーション自体が設定されるデフォルト値を有し得、ユーザーは、ユーザーの実際の体重の範囲よりも一定の体重の範囲内に表示される。かくして、例えば、太りすぎよりむしろ、ユーザーに関し実物よりもよく見せる視覚表示が表示され得る。別の例において、ユーザーの顔の特徴が検出され得、ユーザーの視覚表示に適用された特徴は、検出された特徴に対応し得、視覚表示の顔の特徴は、大きさ、割合、頭上の空間的配置などにおいて、ユーザーの特徴と類似している。ユーザーは、特徴を変更することによって、顔の認識技法の現実的効果を修正できる。例えば、ユーザーは、スライド可能な尺度を変更することによって、特徴を修正し得る。ユーザーは、視覚表示に適用される体重を変更するか、又は視覚表示に適用される鼻の大きさを変更するためのスライド可能な尺度の変更を実行し得る。かくして、本システムによって選択された特徴のいくつかは適用され得、別のあるものは、修正され得、その後、適用され得る。
【0116】
[0122]本システムによって検出される標的特性の中には、表示用に修正され得るものもある。例えば、標的特性は、視覚表示、アプリケーション、アプリケーションの状態などの形式に対応するように修正され得る。例えば、特性の中には、視覚表示が、ユーザーの視覚表示に直接にマッピングし得ない架空のキャラクターであるものもある。アバター(603)のようなユーザーの視覚表示又はモンキー(605)のようなユーザーのキャラクター表示はいずれも、ユーザー(602)に類似しているがしかし、例えば、特定のキャラクターに対し修正された体の比率を与えられ得る。例えば、モンキーの表示(605)は、ユーザー(602)に類似した身長を与えられ得るがしかし、モンキーの腕は、ユーザーの腕よりも比率としてより長くすることができる。モンキー(605)の腕の動きは、本システムによって識別されたユーザーの腕の動きに対応し得るがしかし、本システムは、モンキーの腕の動き方を反映するようにモンキーの腕の動画を修正し得る。
【0117】
[0123]本システムは、スキャンしたデータ、画像データ、又は立体視情報など、キャプチャされたデータを使用し得、別の標的特性を識別し得る。標的特性は、目の大きさ、タイプ、及び色、髪の毛の長さ、タイプ、及び色、皮膚の色、服、及び服の色など、目標の別の任意の特徴を含み得る。例えば、色は、対応するRGB画像に基づいて識別され得る。本システムは、検出可能なこれらの特徴を視覚表示にマッピングすることもできる。例えば、本システムは、ユーザーが眼鏡をかけて赤いシャツを着ていることを検出し得、眼鏡を適用し得、システムは、この例においてユーザーの視覚表示である仮想的なモンキー(605)に眼鏡及び赤いシャツを適用し得る。
【0118】
[0124]立体視情報及び標的特性は、例えば、特定のユーザー(602)と関連付けられ得る特定のジェスチャ、音声認識情報などのような情報を含む付加的な情報とも結合され得る。モデルがその後、計算装置(610)に、提供され得、計算装置(610)が、モデルをトラッキングし、モデルに関連付けられた視覚表示をレンダリングし、及び/又は例えば、モデルに基づいて計算装置(610)上で実行するアプリケーションにおいて、実行するコントロールを決定し得る。
【0119】
[0125]図8は、特徴の選択をユーザーに提供する方法例を示している。特徴の選択の情報供給は、視覚表示の表示によって適用される特徴を提供され得るか、又は絞り込んだオプションのサブセットを有する特徴ライブラリーのサブセットを提供され得、そこからユーザーが選択し得る。例えば、(802)において、本システムは、物理的な空間からユーザー又は人間以外の被写体のような目標を含むデータを受信する。
【0120】
[0126]前述したキャプチャ装置は、シーンの立体視画像及びシーンのスキャンの目標など、シーンに関するデータをキャプチャし得る。キャプチャ装置は、1つ以上のシーンの目標が、ユーザーのようなヒューマンターゲットに対応しているか否か決定し得る。例えば、シーン中の目標又は被写体がヒューマンターゲットに対応しているか否か決定するために、目標それぞれは大量情報で満たされ得、人体モデルのパターンと比較され得る。人体モデルと一致する目標又は被写体それぞれが、その後、スキャンされ得、それに関連付けられた骨格モデルを生成し得る。例えば、人間として識別された目標がスキャンされ得、それに関連付けられた骨格モデルを生成し得る。骨格モデルは、その後、骨格モデルをトラッキングし、骨格モデルに関連付けられた視覚表示をレンダリングするための計算環境に提供され得る。(804)において、本システムは、ボディスキャン、ポイントクラウドモデル、骨格モデル、大量情報処理技法のような適切な任意の技法を使用することによって、物理的な空間の目標の特徴を識別するためにキャプチャされたデータを変換し得る。
【0121】
[0127](806)において、本システムは、目標の特徴を検出し得、それらを特徴ライブラリー内の特徴のオプションなど特徴のオプションと比較し得る。特徴のオプションは、目標のための様々な特徴に関するオプションの集まりであり得る。例えば、ユーザーに関する特徴のオプションは、眉のオプション、髪のオプション、鼻のオプションなどを含み得る。部屋の中の家具に関する特徴のオプションは、大きさのオプション、形のオプション、ハードウェアのオプションなどを含み得る。
【0122】
[0128]実施形態例において、本システムは、検出されたユーザーの特徴と類似した視覚表示に適用するために利用可能ないくつかの特徴を検出し得る。かくして、(806)において、本システムは、ユーザーの特徴を検出し得、ユーザーの視覚表示に適用するために、検出された特徴を特徴ライブラリー(197)と比較し得、(810)において、本システムは、検出された特徴に基づいて特徴のオプションのサブセットを選択し得る。本システムは、特徴ライブラリー(197)の特徴との類似性を検出されたユーザーの特性と比較することによって、それらの特徴としてサブセットを選択し得る。特徴が時々、非常に類似しているがしかし、(810)において、本システムは更に、オプションのサブセットをユーザーに提供し得、そこからユーザーが選択し得る。このようにユーザーは、対応するユーザーの特徴に少なくとも類似した特徴をサブセットから選択できるがしかし、例えば、実物よりもよく見せる特徴をそのサブセットから選択できる。(812)において、本システムは、ユーザーの選択をオプションのサブセットから受信し得る。かくして、ユーザーは、ユーザーに類似した特徴に関し、特定の特徴に関するオプションのライブラリーすべてをフィルタリングする必要はない。本システムが、オプションのライブラリーをフィルタリングし、特徴のサブセットをユーザーに提供可能であって、そこからユーザーが選択し得る。
【0123】
[0129]本システムは、(814)において、ユーザーの視覚表示を自動的に生成し得る。かくして、検出された目標の特徴を特徴ライブラリー内のオプションと比較したとき、本システムは、特徴を自動的に選択することによって、視覚表示に適用するための目標の視覚表示を自動的に生成し得る。本システムが、検出された目標の特徴と類似した特徴を特徴ライブラリーから自動的に選択するので、ユーザーに対応している視覚表示を自動的にレンダリングするときに目標が、ソフトウェア体験に楽に輸送される。
【0124】
[0130]視覚表示は、自動的に選択された特徴と、本システムによって提供されるオプションのサブセットに基づいてユーザーによって選択された特徴と、の組み合わせを有し得る。かくして、視覚表示が部分的に生成され得、ユーザーによって部分的にカスタマイズされ得る。
【0125】
[0131](816)において、本システム及び/又はユーザーによって実行された選択が目標の視覚表示に適用され得る。本システムは、ユーザーに対する視覚表示をレンダリングし得る。(818)において、本システムは、物理的な空間の目標を監視し続け得、検出可能な目標の特徴を時間とともにトラッキングし得る。目標の視覚表示への修正はリアルタイムに実行され得、検出された目標の特徴に対する任意の変化を反映し得る。例えば、目標がユーザーであって、物理的な空間のユーザーがスウェットシャツを脱いでいる場合、本システムは、新しいシャツのスタイル及び/又は色を検出し得、ユーザーのシャツと密接に類似したオプションを特徴ライブラリーから自動的に選択し得る。選択されたオプションが、ユーザーの視覚表示にリアルタイムに適用され得る。かくして、前の段階における処理がリアルタイムに実行され得、表示は、物理的な空間にリアルタイムに対応している。このように、物理的な空間の被写体、ユーザー、又は動作は、ユーザーが実行しているアプリケーションとリアルタイムに対話し得るようにリアルタイムに、表示するために変換され得る。
【0126】
[0132](822)において、検出されたユーザーの特徴、本システムによって選択された特徴、及びユーザーによる選択された任意の特徴がプロファイルの一部になり得る。プロファイルは、例えば、特定の物理的な空間又はユーザーに特有であり得る。ユーザーの特徴を含むアバターデータはユーザープロファイルの一部になる。プロファイルは、キャプチャシーンにユーザーが入ったとき、アクセスされ得る。プロファイルが、パスワード、ユーザーによる選択、体の大きさ、音声認識などに基づくユーザーと一致した場合、そのプロファイルが、ユーザーの視覚表示の決定時に使用され得る。ユーザーに関するデータの履歴が監視され得、情報をユーザーのプロファイルに格納する。例えば、本システムは、ユーザーの顔の特徴、体型などのようなユーザーに特有の特徴を検出し得る。本システムは、目標の視覚表示に適用するため、及び目標プロファイルに格納するために、検出された特徴と類似した特徴を選択し得る。
【0127】
[0133]図9は、目標のデジタル処理技法を使用して、物理的な空間(601)の目標に関し受信された情報を処理して目標を識別できる、図6が提供しているシステム(600)の例を表している。キャプチャされた目標が、仮想的環境において、それらの目標の視覚表示へマッピングされ得る。この例において、物理的なシーンは、図1Aに示されている物理的な空間に表示されたボール(102)、箱(104)、ブラインド(106)、壁レール(108)、壁#1(110)、壁#2(112)、及び床(115)を含んでいる。更に、シーンに示されているのは、ユーザー(602)である。実施形態例において、システム(10)が、これらの(102)、(104)、(106)、(108)、(110)、(112)、及び(115)の被写体のどれか、並びにユーザー(602)などのヒューマンターゲットのような別の目標を認識し、解析、及び/又はトラッキングし得る。システム(10)が、物理的な空間の被写体(102)、(104)、(106)、(108)、(110)、(112)、及び(114)及び/又はユーザー(602)のジェスチャそれぞれに関連する情報を集め得る。物理的な空間のユーザー(602)のようなユーザーも物理的な空間に入り得る。
【0128】
[0134]目標は、物理的な空間(601)の任意の被写体又はユーザーであり得る。例えば、キャプチャ装置(608)が、物理的な空間(601)の人間(602)又はボール(607)、段ボール箱(609)、又は犬(605)などの人間以外の被写体をスキャンし得る。この例において、システム(600)は、キャプチャ装置(608)を使用し、物理的な空間(601)をスキャンすることによって目標をキャプチャし得る。例えば、立体視カメラ(608)は、未加工の深度データを受信し得る。システム(600)は、未加工の深度データを処理し得、ポイントクラウドデータとして深度データを解釈し得、ポイントクラウドデータを面法線へ変換し得る。例えば、深度バッファがキャプチャされ得、順序付ポイントクラウドへ変換され得る。
【0129】
[0135]深度バッファは、レンダリングされた画素それぞれの深度を記録するバッファであり得る。深度バッファは、それらがレンダリングされるとき、付加的な画素レコードを保持し得、レンダリングされた別の画素の深度と間の関係を決定し得る。例えば、深度バッファは、隠れた面の消去を実行し得、その位置においてレンダリングされる画素それぞれをフレームバッファに既にある画素と比較し得る。z−バッファも呼び出され、深度バッファは、キャプチャ装置からキャプチャされた画像内の目に見えるポイントそれぞれまでの距離の測定値を格納するフレームバッファを構成し得る。
【0130】
[0136]識別されたポイントクラウド及び面法線に基づいて、システム(600)は、シーンにおいて解析された被写体を分類し得、ノイズを除去し得、被写体それぞれに関する方向性を計算し得る。境界ボックスが、被写体の周りに形成され得る。被写体が、その後、テクスチャを抽出するためにフレームごとにトラッキングされ得る。
【0131】
[0137]一実施形態による画像データは、立体視カメラ及び/又はRGBカメラからの立体視画像若しくは画像、又は別の任意の探知器上の画像も含み得る。例えば、カメラ(608)が画像データを処理し得、それを利用して目標の形、色、及び大きさを決定し得る。この例において、物理的な空間(601)の目標(602)、(102)、(104)、(106)、(108)、(110)、(112)、及び(114)が、立体情報を処理し及び/又は立体情報を計算機(610)のような計算機に提供する立体視カメラ(608)によってキャプチャされる。
【0132】
[0138]ディスプレイ(612)上に視覚表示を表示するために立体視情報が解釈され得る。本システムは、特徴ライブラリー(197)からオプションを選択するための情報を利用し、物理的な空間の目標に対応する仮想的なオブジェクトを生成し得る。人間のパターンに一致する目標又は被写体それぞれがスキャンされ得、それに関連付けられた骨格モデル、人間のメッシュモデルなどのモデルを生成し得る。既知の被写体のライブラリーに一致する目標又は被写体それぞれがスキャンされ得、その特定の被写体に利用可能なモデルを生成し得る。未知の被写体もスキャンされ得、未知の被写体に対応するポイントクラウドデータ、RGBデータ、面法線、方向性、境界ボックス、及び未加工の深度データの別の任意の処理に対応しているモデルを生成し得る。
【0133】
[0139]画像データのフレームがキャプチャされ、表示される速度が、物理的な空間の目標が移動したときの視覚表示の表示の連続レベルを決定する。更に、時間とともに、フレーム画像からフレーム画像数は、ポイントクラウドデータが個別に分類された被写体へ解析される方法の信頼性を増大し得る。被写体の動きは更に、面法線及び方向性に関する立体視情報を与え得る。システム(600)は、ノイズと所望のポイントデータを更に区別可能であり得る。またシステム(600)は、キャプチャデータの単一のフレーム又は一連のフレーム全域に渡るユーザー(602)の位置を評価することによって、ユーザー(602)の動作からジェスチャを識別し得る。
【0134】
[0140]システム(600)が、物理的な空間(601)の目標(602)、(102)、(104)、(106)、(108)、(110)、(112)、及び(114)のいずれかをトラッキングし得、ディスプレイ(612)上の視覚表示が、目標(602)、(102)、(104)、(106)、(108)、(110)、(112)、及び(114)と、物理的な空間(601)においてキャプチャされたそれらの目標のいずれかの動作と、へマッピングしている。物理的な空間の被写体は、キャプチャ装置が、図2に示した特徴ライブラリー(197)など、特徴ライブラリー内の特徴のオプションと比較するためにキャプチャしスキャン可能な特徴を有し得る。本システムは、検出された目標の特徴と最も密接に類似した特徴ライブラリーから特徴を選択し得る。
【0135】
[0141]本明細書に開示されるものは、目標をデジタル処理する実装に関連するコンピュータービジョンに関する技法である。これらの技法は、本システムが、高い信頼性でキャプチャされた特徴を比較し、目標の特徴と類似した特徴を特徴ライブラリーから最善の選択可能にするために使用され得る。コンピュータービジョンは、未加工の深度又は画像データなどキャプチャされたデータから物理的な空間の被写体のモデルを生成することによって、シーンの内容を理解する概念である。例えば、技法は、面の抽出、ポイントクラウドにおける近接に基づくポイントの解釈を含み得、時間とともに被写体の特性をトラッキングし、時間とともに被写体の識別及び形における信頼性を増大し、人間、又は既知若しくは未知の被写体をスキャンし、被写体の特性計算、面の法線を投影し得る。
【0136】
[0142]キャプチャ装置は、物理的な空間をスキャンし得、物理的な空間(601)の様々な被写体に対する距離データを受信し得る。スキャンは、被写体の面のスキャン又は固体全体のスキャンを含み得る。未加工の2次元の深度バッファ形式の深度データを取ることによって、適切な任意の計算装置が、被写体の表面上の多くのポイントを解釈し得、ポイントクラウドを出力し得る。ポイントクラウドは、x、y、及びz座標によって定義されたデータポイントのような3次元座標システムに定義された一連のデータポイントであり得る。ポイントクラウドデータは、物理的な空間においてスキャンされた目に見える被写体の面を表し得る。かくして、被写体は、シーンの被写体を離散的なポイントセットとして表すことによって、デジタル処理され得る。ポイントクラウドデータは、2次元のデータセットとしてデータファイルに保存され得る。
【0137】
[0143]距離データは、立体視カメラ又は深度検出装置のようなキャプチャ装置を使用してリアルタイムにキャプチャされ得る。例えば、深度バッファ形式のデータのフレームは、深度感知カメラを使用し、少なくとも20ヘルツの周波数でキャプチャされ得る。データは、ポイントそれぞれが、位置、方向性、面法線、色、又はテクスチャ特性など、目標と関連付けられた特性を含み得る構造化されたサンプリングポイントクラウドの中に解釈され得る。ポイントクラウドデータは、2次元のデータセットで格納され得る。キャプチャ装置の光学的性質は知られているので、距離データは完全な3次元ポイントクラウドへ投影され得、その結果、正規化されたデータ構造で格納され得る。3次元のポイントクラウドは、被写体の面のトポロジーを示し得る。例えば、面の隣接部分間の関係は、クラウド中の隣接したポイントから決定され得る。ポイントクラウドデータは面に変換され得、ポイントクラウドデータによって表される被写体の面は、ポイントクラウドデータの面全域の面法線を評価することによって抽出され得る。正規化されたデータ構造は、2次元の深度バッファと類似し得る。
【0138】
[0144]ポイントクラウドは、物理的な空間の様々な被写体に関連する多くのデータポイントを含み得る。ポイントクラウドデータは、本明細書に記載したキャプチャ装置によって受信又は観測され得る。ポイントクラウドはその後、ポイントクラウドが被写体又は一連の被写体を含んでいるか否か決定するために解析され得る。データが被写体を含んでいる場合、被写体のモデルが生成され得る。被写体の識別において、信頼性の増大は、フレームがキャプチャされたとき生じ得る。特定の被写体に関連付けられたモデルのフィードバックが生成され得、ユーザーにリアルタイムに提供され得る。更に、被写体のモデルが、物理的な空間の被写体の任意の動きに対応してトラッキングされ得、被写体の動きを摸倣するようにモデルが調整され得る。
【0139】
[0145]このすべてが、結果を処理し、リアルタイムに表示する速度で実行され得る。リアルタイム表示は、ジェスチャの視覚的な表現の表示又は視覚的な支援の表示を参照していて、表示は物理的な空間のジェスチャの実行と同時か、又はほとんど同時に表示される。例えば、本システムがユーザー及びユーザーの環境の動きを繰り返す表示を提供し得るときの表示の更新速度は、20Hz以上の速度であり得、取るに足らない処理の遅延は、表示の最小の遅延をもたらすか又はユーザーの目には全く見えない。かくして、リアルタイムは、データの適時性に関する重要でない遅延をいくらか含んでいて、自動的なデータ処理に要求される時間まで遅延される。
【0140】
[0146]キャプチャ装置は、データの忠実性を増大させ、表示がシーンのリアルタイム表示を提供できるように、開示された技法が、未加工の深度データを処理し、シーンの被写体をデジタル処理し、被写体の面及びテクスチャを抽出し、これらの技法のいくつかをリアルタイムに実行可能にする対話的な速度でデータをキャプチャする。任意の特定のフレームに関して、クラウドのポイントグループをシーン内の離散的な被写体に分けるために、深度バッファが、左から右、そしてその後、上から下の走査線で歩み入れられ得る。クラウド中の対応するポイント又はポイントの一団それぞれが、スキャン時に処理され得る。
【0141】
[0147]カメラは、深度及び色のデータをキャプチャし得、色のデータに対応するポイントクラウドに色を割り当て得る。かくして、カメラは、キャプチャ装置が、物理的な3次元の空間を表すための深度データを、カメラの視点からそれを眺めているように解釈し得る。3次元のポイントクラウドデータは、ポイントがポイントクラウドになるように融合され、結合され得、クラウドのポイントのサブセットは、特定の被写体として分類され得る。分類されたこのポイントクラウドから、分類された被写体それぞれ及び生成された対応するメッシュモデルに関する3次元データが投影され得る。色情報は立体視情報に関連しているので、被写体に関するテクスチャ及び面も抽出され得る。上記の目標のデジタル処理は、ゲームアプリケーション、又はオペレーティングシステム若しくはソフトウェアアプリケーションなどゲーム以外のアプリケーションにとって有用であり得る。表示装置上のフィードバックを深度データのキャプチャ及び処理に関連しリアルタイムに提供することは、対話的なゲームの実行など体験を与える。
【0142】
[0148]図8に表した例において、壁、天井、及び床が物理的な空間にある。本システムは、図7Bに示したキャプチャ装置によって受信されたポイントクラウドデータのような未加工の深度データの処理からもたらされるポイントクラウドデータの解析から壁及び床を分類し得る。その後、物理的なシーンに関する部屋の形など付加情報が抽出され得る。本システムは、物理的な空間に関する基本情報を利用して物理的な空間に対応する仮想的な空間を生成するために、特徴ライブラリーから選択できる。例えば、特徴ライブラリーは、様々な特徴の動画描画を含み得、自動的に生成される仮想的な空間は、物理的な空間の漫画の版であり得る。
しかしながら、漫画の版は、
[0149]深度バッファ内の情報は、未加工の深度のデータから識別された被写体から面を分離するために利用され得る。深度バッファによる最初のパスの歩みは、ポイントクラウドから抽出された面法線に基づいて、深度バッファに関する通常のマッピングを計算するために使用され得る。かくして、空間の個々のポイントというよりもむしろ、本システムは、面が指している方向を抽出し得る。本システムは、深度バッファから面法線を投影し得、面法線が関連付けられているクラウド内のポイントと一緒に面法線を格納し得る。面法線は、被写体の形及び輪郭を識別するために使用され得る。例えば、球は、面全域に渡って標準方向にゆるやかな一定の変化を有し得る。様々な被写体に関する面法線は、シーンにおいて検出される面法線と比較するために、様々なオブジェクトフィルターにおいて異なり得る。
【0143】
[0150]本明細書に開示した面法線の計算及び通常のマッピング計算が、ポイントクラウドデータから面を識別するための一般的な技法であるが、ハフ変換、通常のマッピング、フーリエ変換、Curvelet変換のような適切な任意の面を分離する技法又は抽出する技法が使用され得る。例えば、ポイントクラウドから面を分離及び/又は抽出するための計算は、平面に対してハフ変換を使用し達成され得る。そのような例において通常のマッピングは必要ではなく、むしろポイントクラウドのハフ変換が提示され得る。かくして、クラウドのポイントが、被写体の中に融合され分類されるとき、ポイントそれぞれに対するハフ空間の評価は、ポイントが隣接するポイントと一緒の平面上にあるか否かを示し得、本システムは、特定の被写体を構成している特定の平面を個別に分類することが可能になる。適切な任意の分離/抽出の技術が使用され得、シナリオに依存した総合的な分類実行及び特性に調整され得る。様々な面の分離/抽出技術の使用は、分類を経験的に変更し得るが、上記の識別及び分類のための適切な任意の技法が使用され得、本システムは更に、深度データをリアルタイムに処理して、ユーザーに対しリアルタイムに表示を生成し、リフレッシュすることが可能になる。
【0144】
[0151]ノイズは、使用される深度センサーのタイプに起因し得る。最初の簡単な段階は、未加工のデータに対するノイズの抑制パスを含み得る。例えば、ノイズを除去するための平滑化パスが、通常のマッピングから実行され得る。
【0145】
[0152]クラウド内のポイントが、2次元のスキャンパスにおいて、データセット全域で分類され得、そこでは、お互いに近くにあって、識別された類似の面を有しているオプションが、同一の被写体に属しているものとして分類され得る。例えば、面を分離する技法が、通常のマッピングの生成を含んでいる場合、お互いに近くにあって、類似した面法線を有するデータセットは、同一の被写体に属しているものとして分類され得る。分類は、平面とゆるやかな曲面との間の区別を提供するが一方、床と壁のように空間的に結合された面又は分離された面は別々に分類され得る。隣接したポイントとの接続ポイントは、それらのポイント間の距離と、類似した方向を指し対応している面法線と、に基づいて分類され得る。距離の閾値及び通常の類似性の閾値の調整が、個別に分類されている被写体及び面の異なる大きさ及び曲率をもたらし得る。既知の被写体に関する閾値及び期待した結果は、オブジェクトフィルターに格納され得る。
【0146】
[0153]図7Cに示したように、ボール(102)及び箱(104)に関するポイントクラウドが示されている。近接にあるポイントクラウドデータ及びポイントクラウドの集まりから識別される面法線の評価が、箱とボールとを区別し得る。かくして、被写体(102)及び(104)それぞれが分類され得る。分類は単なる固有の識別であり得る。クラウドにおけるポイントの位置と面法線の組み合わせは、面上の被写体又は被写体を構成する被写体の間を区別するために有用である。例えば、カップが箱(104)の上にある場合、被写体が分離されていることをポイントクラウドデータからまだ決定され得ないのでカップは、箱に与えられた同一の固有IDを用いて分類され得る。しかしながらその後、面法線を考慮することによって、本システムは、面法線間に90度の相違があることを決定し得、被写体が、ポイント及びポイントクラウドの近接に基づくと別々に分類される必要があることを決定し得る。かくして、ポイントクラウドにおいて、構造的な面要素と一貫性があるデータポイントのグループが関連付けられ得、分類され得る。
【0147】
[0154]本システムは、様々なポイントクラウドの決定した面の方向性を再見積り可能であって、テクスチャが平面上にあるようにそれを再調整可能である。本技法によって本システムは、被写体を再度、より正確にテクスチャ解析することが可能になる。例えば、ユーザーが、印刷されたテキストを有する雑誌を持ち上げる場合、キャプチャ装置に対し、ユーザーが雑誌を持ち上げることができる方向性を限定しない。キャプチャ装置は、キャプチャした雑誌の面のテクスチャを再見積り可能であり、色情報、テキストを含むそのテクスチャ及び任意のテクスチャを再見積り可能である。
【0148】
[0155]被写体は分類され、それが含む計算された一連のパラメーターを有していて、本システムは、忠実性を増大させるために、仮想的なシーンに対し構成及び構造の解析を実行し得るか又は実行し続け得る。例えば、最も適合する境界ボックスは、特定の被写体を区別するためのより正確な方法であり得る。最も適合する境界ボックスが、特定のフレームに被写体の方向性を与え得る。例えば、その上にコーヒーカップが置かれている箱は、初めに箱のポイントクラウド及びコーヒーカップを表すポイントクラウド双方を含む境界ボックスが与えられ得る。それぞれのフレームにおいて、本システムは、空間的に最後のフレーム内と同一位置に存在する被写体を評価し得、方向性が類似している否か決定し得る。コーヒーカップがフレームごとに移動し得、本システムは、カップが箱から分離していることを識別し得、故に、カップに関する新しい境界ボックスを生成し得、段ボール箱に対する境界ボックスを再定義し得る。
【0149】
[0156]時々、部屋の中の取るに足らない粒子又は物体によって、又は使用されるセンサーのタイプに基づいて、ノイズがシステムの中に取り込まれる。例えば、クラウドにおける一連のポイントが、蠅のそれを示し得るか、又は使用されるセンサーのタイプが、無関係な外部からのポイントをもたらし得る。ノイズを減少させるために、洗浄段階が実行され得、センサーのデータを洗浄し得るか、又は非常に小さな物質及び少数の構成物質のポイントサンプルを有するだけの物質を除去し得る。例えば、シーンの塵粒子又は蠅がキャプチャされ得るがしかし、蠅を示している少数の構成物質ポイントサンプルは、そのポイントクラウドに関連付けられた面法線の識別を起動できるほど大きな影響を与え得ない。かくして、蠅を示している少数の構成物質ポイントサンプルが、解析から抽出され得る。ポイントクラウドデータの初期のパスは、被写体の大きな配列を与えるための空間的に関係付けられる被写体と一緒のポイントを使用し得る。例えば、大きなポイントの集まりは、特定のIDを用いて分類された長椅子であり得、別の被写体は床であり得る。一定の閾値が、解析から除外される必要があるポイントセットを識別するために設定され得る。例えば、被写体に関して20ポイントだけが識別され、シーンの物理的な空間又は別の被写体と比較して空間的な20ポイントの配列が、相対的に小さな領域にある場合、本システムがそれらの20ポイントを除去し得る。
【0150】
[0157]軸の位置合わせをした境界ボックスが、被写体が取っている全体容積/空間の迅速な計測として利用され得る。軸の位置合わせは、空間内の被写体の軸ではなく、X、Y、又はZのような特別な軸を参照する。例えば、本システムは、面が複雑か又は単純か計算し得る(例えば、球又は雑誌は単純な面を有していて、人形又は植物は複雑な面を有している)。被写体の回転は、本システムがより洗練された被写体の特性を解析し、決定するために、有用であり得る。キャプチャ装置は、容積の評価のために被写体の固体スキャンを実行し得る。キャプチャ装置は、シーンのポイントクラウドと被写体との間の参照も提供し得、被写体に対し、物理的な空間を参照した特定の位置が識別され得る。
【0151】
[0158]被写体の特性の計算及び時間をかけたこれらの変化のトラッキングは、フレームごとに位置及び方向性においてリアルタイムに変化し得る被写体をトラッキングするための信頼できる技法を確立した。変化をキャプチャするための一時的な情報の使用は、より多くのフレームがキャプチャされるにつれてシーンの被写体の解析、識別、及び分類に対する更なる信頼性を与え得る。640×480ポイントのような典型的なデータセットの大きさによる複雑な処理でも、開示された技法を使用し、達成され得る。データは、少なくとも20ヘルツの周波数でフレームシーケンスにキャプチャされ得る。
【0152】
[0159]被写体のパラメーターは、前のフレームのパラメーターと比較され得、被写体が再分類され得、動く被写体をリアルタイムにトラッキングされることを可能にすると同時に、静的な被写体から連続して分類を維持することも可能にする。被写体それぞれに対する信頼性が計算され得、信頼性の係数が時間とともに増加し得る。かくして、静的な被写体はフレームのかみ合わせによって視野の内及び外へ移動し得るが一方、被写体の信頼性は高いままであり得る。一時的な解析は、最後のフレーム及び今のフレームの評価を含み得る。被写体がフレームそれぞれにおいて同一である場合、被写体は、フレームごとにラベル及び被写体に対し一貫性を与えるように、前のフレームにおいてそれが有していたラベルを用いて再分類され得る。被写体及び面の方向性及び位置が、立体視カメラの方向性を評価するため及びカメラの環境に関連する統計的なデータを集めるために使用され得る。例えば、主な平面の場所は、多くの場合、壁及び床に一致する。
【0153】
[0160]本明細書に記載した構成及び/又は手法は、本来、例示的であって、これらの具体的な実施形態又は例は、限定している意味として考えられないように理解されたい。本明細書に記載した特定のルーチン又は方法は、1つ以上の処理の戦略をいくつも示している。したがって、例示した様々な動作が、例示した順番、別の順番、並列などで実行され得る。同様に、前述したプロセスの順序は変更され得る。
【0154】
[0161]更に、本開示が様々な図面に例示した特定の態様に関連して説明されているが一方、別の類似した態様が使用され得るか、又は本開示の同一機能を実行するための修正及び追加がそれから逸脱せずに説明した態様に対し実行され得ることが理解されよう。本開示の対象項目は、本明細書に開示した様々なプロセス、システム、及び構成、並びにその他の特徴、機能、動作、及び/又は特性に関する新規及び非新規の組み合わせ及び部分的な組み合わせすべて、並びにその同等物のいくつか及びすべてを含む。かくして、開示した実施形態の方法又は装置、又はいくつかの態様又はその一部は、フロッピーディスク、CD−ROM、ハードドライブ、又は別の任意の計算機可読記憶媒体など、実際の媒体で具体化されたプログラムコード(すなわち命令)形式を取り得る。プログラムコードがマシンによってロードされ実行されるとき、計算機のようなマシンが開示した実施形態を実施するように構成される機器になる。
【0155】
[0162]明示的に本明細書に説明した特定の実装に加えて、本明細書に開示した明細書の考慮から当業者には別の態様及び実装が明らかになろう。したがって、本開示は、単一の任意の態様に限定されるのではなく、むしろ添付の請求に従った全域及び範囲内で解釈される態様に限定されるべきである。例えば、本明細書に記載された様々な手順は、ハードウェア又はソフトウェア、又は双方の組み合わせで実装され得る。
【符号の説明】
【0156】
10 トラッキングシステム
12 計算環境
14 表示装置
16 視聴覚装置
18 ユーザー
20 キャプチャ装置
22 画像カメラコンポーネント
24 赤外線光コンポーネント
26 立体視(3−D)カメラ
28 RGBカメラ
30 マイクロフォン
32 プロセッサー
34 メモリーコンポーネント
36 通信リンク
100 マルチメディアコンソール
101 中央演算処理装置(CPU)
102 レベル1キャッシュ
104 レベル2キャッシュ
106 フラッシュROM
108 画像処理装置(GPU)
110 メモリーコントローラー
112 メモリー
114 ビデオエンコーダー/ビデオコーデック(符号化器/デコーダー)
118 モジュール
102 ボール
104 箱
106 ブラインド
110 壁#1
112 壁#2
115 床
120 I/Oコントローラー
122 システム管理コントローラー
123 音声処理装置
124 ネットワークインターフェースコントローラー
126 第1のUSBコントローラー
128 第2のUSBコントローラー
130 フロントパネルI/O部分組立体
132 音声コーデック
136 システム電力供給モジュール
138 ファン
140 伝送用A/V(音声/ビデオ)ポート
142(1)周辺機器コントローラー
142(2)周辺機器コントローラー
143 システムメモリー
144 媒体ドライブ
146 外部記憶装置
148 無線アダプター
150 電源スイッチ
152 イジェクトボタン
190 ジェスチャ認識エンジン
191 ジェスチャフィルター
192 ジェスチャライブラリー
194 表示装置
195 プロセッサー
196 特徴比較モジュール
197 特徴ライブラリー
198 プロファイル情報
220 計算環境
221 システムバス
222 システムメモリー
223 読み出し専用メモリー(ROM)
224 基本入出力システム(BIOS)
225 オペレーティングシステム
226 アプリケーションプログラム
227 その他のプログラムモジュール
228 プログラムデータ
229 画像処理装置(GPU)
230 ビデオメモリー
231 グラフィックインターフェース
232 ビデオインターフェース
233 周辺出力インターフェース
234 取り外し不可能不揮発性メモリーインターフェース
235 取り外し可能不揮発性メモリーインターフェース
236 ユーザー入力インターフェース
237 ネットワークインターフェース
238 ハードディスクドライブ
239 磁気ディスクドライブ
240 光学式ディスクドライブ
241 計算機
242 モニター
243 プリンター
244 スピーカー
245 ローカルエリアネットワーク(LAN)
246 リモートコンピューター
247 メモリー記憶装置
248 リモートアプリケーションプログラム
249 広域ネットワーク(WAN)
250 モデム
251 キーボード
252 ポインティングデバイス
253 取り外し可能不揮発性光学式ディスク
254 取り外し可能不揮発性磁気ディスク
255 プログラムデータ
256 その他のプログラムモジュール(複数)
257 アプリケーションプログラム(複数)
258 オペレーティングシステム
259 演算処理装置(単数又は複数)
260 ランダムアクセスメモリー(RAM)
502a 手
502b 手
504a 前腕
505b 前腕
506a 肘
506b 肘
508a 二頭筋
508b 二頭筋
510a 肩
510b 肩
512a 臀部
512b 臀部
514a 大腿部
514b 大腿部
516 膝
516a 膝
516b 膝
518a 前脚
518b 前脚
518n 前脚
520 足
520a 足
520b 足
522a 頭
522b 頭
522n 頭
524 胴
526 上部脊椎
526n 上部脊椎
528 下部脊椎
528n 下部脊椎
530 腰
600 本システム
601 物理的な空間
602 ユーザー
603 視覚表示
608 立体視カメラ
610 計算装置
612 表示装置
702 髪に関する特徴のオプション

【特許請求の範囲】
【請求項1】
目標の視覚表示を生成するための方法が、
シーンデータを受信するステップであって、前記データが、物理的な空間内の前記目標を代表するデータを含むもの(802)と、
前記データから少なくとも1つの目標の特徴を検出するステップ(806)と、
前記検出された少なくとも1つの目標の特性を視覚表示の特徴のオプションと比較するステップ(806)であって、前記視覚表示の特徴のオプションが、前記目標の前記視覚表示に適用されるように構成された選択可能なオプションを含むものと、
前記視覚表示の特徴のオプションから視覚表示の特徴を選択するステップ(810)と、
前記視覚表示の特徴を前記目標の前記視覚表示に適用するステップ(816)と、
前記視覚表示をレンダリングするステップと、を含む方法。
【請求項2】
前記視覚表示が、前記検出された少なくとも1つの目標の特徴と前記視覚表示の特徴のオプションとの比較から自動的に生成され、前記視覚表示の特徴の前記選択が、ユーザー(18,602)による手動の選択を必要とせずに実行されることを特徴とする請求項1記載の方法。
【請求項3】
前記視覚表示の特徴を選択するステップが、前記検出された少なくとも1つのターゲットの特性と類似した前記視覚表示の特徴を選択するステップ(810)を含む請求項1記載の方法。
【請求項4】
前記視覚表示の特徴が、顔の表情、体の一部、色、大きさ、身長、幅、形、装身具、又は衣類のうち少なくとも1つであることを特徴とする請求項1記載の方法。
【請求項5】
更に、
前記視覚表示の特徴のオプションから前記視覚表示の特徴に関する視覚表示の特徴のオプション(702)のサブセットを生成するステップ(810)と、
前記視覚表示の特徴のユーザー(18,602)の選択のために前記生成された特徴のオプションのサブセットを、前記視覚表示に適用するために提供するステップ(810)と、を含む請求項1記載の方法。
【請求項6】
前記生成された視覚表示の特徴のオプションのサブセットが、前記検出された少なくとも1つの目標の特性と類似した前記複数の視覚表示の特徴のオプションを含む請求項5記載の方法。
【請求項7】
更に、前記生成された特徴のオプションのサブセットから前記視覚表示の特徴の前記ユーザー(18,602)の選択を受信するステップ(812)を含んでいて、前記視覚表示の特徴のオプションから前記視覚表示の特徴を選択するステップが、前記ユーザー(18,602)の選択に対応する前記視覚表示の特徴を選択するステップを含むことを特徴とする請求項5記載の方法。
【請求項8】
前記視覚表示の特徴を有する前記視覚表示が、リアルタイムにレンダリングされることを特徴とする請求項1記載の方法。
【請求項9】
更に、
前記目標を監視して、前記検出された少なくとも1つの目標の特徴における変化を検出するステップ(818)と、
前記検出された少なくとも1つの目標の特徴における前記変化に基づいて、前記視覚表示に適用される前記視覚表示の特徴をリアルタイムに更新することによって前記目標の前記視覚表示を更新するステップ(816)と、を含む請求項1記載の方法。
【請求項10】
更に、前記目標がヒューマンターゲットであって、ユーザー(18,602)の目、口、鼻、又は眉のうち少なくとも1つの位置を検出し、前記位置を使用して対応する視覚表示の特徴を前記視覚表示に配列するステップ(816)を含む請求項1記載の方法。
【請求項11】
更に、所望の修正を提供する設定に基づいて、前記選択された視覚表示の特徴を修正するステップ(816)を含む請求項1記載の方法。
【請求項12】
前記修正が、前記視覚表示の特徴に関する様々な修正レベルを提供可能なスライドする尺度に基づくことを特徴とする請求項11記載の方法。
【請求項13】
シーンのデータを受信するためのキャプチャ装置(20)をであって、前記データが、物理的な空間内の目標を代表するデータを含むものと、
計算機実行可能命令を実行するためのプロセッサー(32)とを含んでいて、前記計算機実行可能命令が、
前記データから少なくとも1つの目標の特徴を検出するステップ(806)と、
前記検出された少なくとも1つの目標の特徴を視覚表示の特徴のオプションと比較するステップ(806)であって、前記視覚表示の特徴のオプションが、視覚表示に適用するために構成された選択可能なオプションを含むものと、
前記視覚表示の特徴のオプションから視覚表示の特徴を選択するステップ(810)と、
前記視覚表示の特徴を前記目標の前記視覚表示に適用するステップ(816)と、に関する命令を含むことを特徴とする装置。
【請求項14】
更に、前記視覚表示をリアルタイムにレンダリング(816)するための表示装置(193)を含んでいて、前記プロセッサー(32)が、前記検出された少なくとも1つの目標の特徴と前記視覚表示の特徴のオプションとの比較から前記視覚表示を自動的に生成して、前記視覚表示の特徴の前記選択が、ユーザー(18,602)による手動の選択を必要とせずに実行されることを特徴とする請求項13記載の装置。
【請求項15】
前記計算機の実行可能命令が更に、
前記視覚表示の特徴に関して、前記視覚表示の特徴のオプションから視覚表示の特徴のオプション(702)のサブセットを生成するステップ(810)と、
前記視覚表示の特徴のユーザー(18,602)の選択のために表示装置上に前記生成された特徴のオプションのサブセットを、前記視覚表示に適用するために提供するステップ(810)と、に関する命令を含むことを特徴とする請求項13記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2013−500771(P2013−500771A)
【公表日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2012−522942(P2012−522942)
【出願日】平成22年7月27日(2010.7.27)
【国際出願番号】PCT/US2010/043291
【国際公開番号】WO2011/014467
【国際公開日】平成23年2月3日(2011.2.3)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
2.イーサネット
3.フロッピー
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】