【文献】
福井博章, 外3名,”単一加速度センサを用いた感情識別”,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2009年 1月15日,第108巻, 第389号,p.109-114
(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザーの気質を示す属性を視覚表示に適用するステップが、前記物理的な空間内の前記ユーザーを示すデータの受信に対しリアルタイムに実行されることを特徴とする請求項1記載の方法。
前記ユーザーの気質が、一般的に後ろ向き、一般的に前向き、両面の感情、退屈、満足、悲しみ、不満、興奮、又は怒りのうち少なくとも1つを含むことを特徴とする請求項1記載の方法。
前記プロセッサー上で実行されたとき前記システムに、表示装置上の視覚表示用に、前記既存の動画を少なくとも表示するステップを実行させる命令が、前記物理的な空間内のユーザーを示す前記データの受信に対してリアルタイムに表示装置上の視覚表示用に、前記既存の動画を表示することを特徴とする請求項8記載のシステム。
気質を示す属性を視覚表示に適用するための計算機実行可能命令を担持する計算機可読記憶媒体であって、前記計算機実行可能命令がコンピューター上で実行されたとき、当該コンピューターをして、
ユーザーの前記視覚表示をレンダリングするステップと、
物理的な空間内のユーザーを示すデータを受信するステップと、
前記ユーザーの気質を推論するために、前記物理的な空間内の前記ユーザーを示すデータを解析するステップであって、ユーザーの特徴、ユーザーの物理的特性、ユーザーの行動、ユーザーの音声パターン、ユーザーの声、ジェスチャ、又は履歴データの解析と、前記ユーザーのデータと、複数の特徴を特定の気質と相互に関連させるテーブルとの比較を含むものと、
前記ユーザーの気質に基づいて、視覚表示用の既存の動画を決定するステップと、
表示装置上の視覚表示用に、前記既存の動画を表示するステップと、
を含む処理を実行させることを特徴とする媒体。
【発明を実施するための形態】
【0009】
[0016]本明細書に開示されるものは、ユーザーの気質を反映し得るアバターのようなユーザーの視覚表示を提供するための技法である。ユーザーの視覚表示は、物理的な空間のユーザーに対応するキャラクター、動画、アバター、画面上のカーソル、手、又は別の任意の仮想表現の形式であり得る。顔認識及びジェスチャ/体位認識技法を使用し、システムは、ユーザーの視覚表示を介しユーザーの感情及び態度を自然に伝達し得る。例えば、キャプチャ装置がユーザーの特徴を識別し得、感情、表情、心的状態など識別されたそれらの特徴に基づいてユーザーの視覚表示をカスタマイズし得る。実施形態例において、本システムは、キャプチャ装置によってキャプチャされた画像データに基づく人の骨格の様子又はメッシュモデルを生成して利用し、物体認識技法を使用してユーザーの気質を決定する。
【0010】
[0017]開示されるものは、視覚表示をリアルタイムに表示し、ユーザーの気質を示す属性を視覚表示にリアルタイムに適用するための技法でもある。本システムは、時間とともに物理的な空間のユーザーをトラッキングし、修正又は更新をリアルタイムに視覚表示に適用する。本システムは、ユーザーの特徴、ジェスチャ、アプリケーションの状況など検出可能な特徴をトラッキングし得、ユーザーの気質を推論し得る。例えば、顔の表情及び体の動きのようなユーザーの特徴が、気質を推論するために使用され得、その後、その気質の属性が視覚表示に適用され得、視覚表示がユーザーの気質を反映し得る。例えば、キャプチャ装置は、ユーザーの行動、癖、感情、音声パターン、履歴データなどを識別し得、ユーザーの気質を決定し、これらをユーザーの視覚表示に適用し得る。本システムは、検出可能な任意の特徴を利用し得、視覚表示に適用するためのユーザーの気質を評価し得る。
【0011】
[0018]物理的な空間の目標又は被写体の代表となるモデルを生成するために、キャプチャ装置は、シーンの立体視画像をキャプチャし得、シーンの目標又は被写体をスキャンし得る。目標は、物理的な空間のユーザーのようなヒューマンターゲットであり得る。かくして本明細書に使用される目標及びユーザーが互換可能に使用され得ることを理解されよう。一実施形態において、キャプチャ装置は、シーン中の1つ以上の目標又は被写体がユーザーのようなヒューマンターゲットに対応しているか否か決定し得る。シーン中の目標又は被写体がヒューマンターゲットに対応しているか否か決定するために、目標それぞれは大量情報で満たされ得、人体モデルのパターンと比較され得る。人体モデルと一致する目標又は被写体それぞれは、その後、スキャンされ得、それに関連付けられた骨格モデルを生成し得る。例えば、人間として識別された目標がスキャンされ得、それに関連付けられた骨格モデルを生成し得る。骨格モデルをトラッキングし、骨格モデルに関連付けられた視覚表示をレンダリングするために、骨格モデルはその後、計算環境に提供され得る。例えば認識された、骨格モデルにマッピングされたユーザーのジェスチャに基づいて、計算環境が、計算機環境上で実行するアプリケーションにおいて実行するコントロールを決定し得る。かくしてユーザーのフィードバックが画面上のアバターを介し表示され得、ユーザーは、物理的な空間においてジェスチャを実行することによって、そのアバターの動作を制御し得る。
【0012】
[0019]視覚表示の動きは、視覚表示の動きを物理的な空間のユーザーの動きにマッピングすることによって制御され得る。例えば目標は、物理的な空間において動作及びジェスチャを実行するヒューマンユーザーであり得る。目標の視覚表示は画面上に表示されるアバターであり得、アバターの動きはユーザーの動きに対応し得る。物理的な空間における動きは、仮想空間及び/又はゲーム空間などのシステム空間又はアプリケーション空間におけるコントロールへ変換され得る。例えば、ユーザーの動きがトラッキングされ得、モデル化され得、表示され得、ユーザーのジェスチャが、オペレーティングシステム又は実行中のアプリケーションのいくつかの様子を制御し得る。ユーザーのジェスチャは、気質を示す属性を視覚表示に適用するために、本システム又はアプリケーション空間におけるコントロールへ変換され得る。
【0013】
[0020]キャプチャされる動作は、物理的な空間における任意の動作であり得、カメラのようなキャプチャ装置によってキャプチャされる。キャプチャされる動作は、物理的な空間におけるユーザー又は被写体のような目標の動きを含み得る。キャプチャされる動作は、オペレーティングシステム又はアプリケーションにおけるコントロールへ変換するジェスチャを含み得る。動作は、走行動作のように動的であり得るか又は動きがほとんどないポーズのユーザーのように静的であり得る。
【0014】
[0021]本明細書に記載したユーザーの態度及び感情を伝達するための顔及び体の認識システム、方法、及びコンポーネントは、ゲームコンソールのようなマルチメディアコンソール、又は例としてどんな意図した限定もしない目標の視覚表示の表示が所望される衛星電波受信装置、セットトップボックス、アーケードゲーム、パーソナルコンピューター(PC)、携帯電話、携帯情報端末(PDA)、及びその他の携帯端末を含み得る別の任意の計算装置において具体化され得る。
【0015】
[0022]
図1は、ユーザーの特徴を視覚表示に適用するための技法を使用し得る目標認識、解析、及びトラッキングシステム(10)に関する構成の実施形態例を示している。実施形態例において、ユーザー(18)は、ボクシングゲームをプレーしている。実施形態例において、システム(10)は、ユーザー(18)などヒューマンターゲットを認識し、解析し、及び/又はトラッキングし得る。システム(10)は、物理的な空間におけるユーザーの動き、顔の表情、ボディランゲージ、感情に関連する情報などを集め得る。例えば、本システムは、ヒューマンターゲット(18)を識別し得、スキャンし得る。システム(10)は、体位認識技法を使用し得、ヒューマンターゲット(18)の気質を識別し得る。例えば、ユーザー(18)が前かがみの姿勢をし、胸の前で両手の指を組み合わせ、頭が一方に無気力に動いた場合、システム(10)は、ユーザー(18)の体の一部を認識し得、それらがどのように動いたか識別し得る。システム(10)は、感情、心的状態、態度、表情などのライブラリーと動きを比較し得、ユーザーの気質を解釈し得る。
【0016】
[0023]
図1に示した目標認識、解析、及びトラッキングシステム(10)は、計算環境(12)を含み得る。計算環境(12)は、計算機、ゲームシステム、又はゲーム機などであり得る。実施形態例による計算環境(12)は、ハードウェアコンポーネント及び/又はソフトウェアコンポーネントを含み得、計算環境(12)が、ゲームアプリケーション、非ゲームアプリケーションなどのようなアプリケーションを実行するために使用され得る。
【0017】
[0024]
図1に示した目標認識、解析、及びトラッキングシステム(10)は更に、キャプチャ装置(20)を含み得る。キャプチャ装置(20)は、例えば、ユーザー(18)のような1人以上のユーザーを視覚的に監視するために使用され得るカメラであり得、1人以上のユーザーによって実行されるジェスチャが、キャプチャされ得、解析され得、トラッキングされ得、より詳細に後述されるようにアプリケーション内において1つ以上のコントロール又は動作を実行し得る。
【0018】
[0025]一実施形態による目標認識、解析、及びトラッキングシステム(10)は、ゲーム、又は映像アプリケーション及び/又は音声アプリケーションをユーザー(18)のようなユーザーに提供し得るテレビ、モニター、ハイビジョンテレビ(HDTV)などのような視聴覚装置(16)と接続され得る。例えば、計算環境(12)は、グラフィックカードなどのビデオアダプター及び/又はサウンドカードなどの音声アダプターを含み得、ゲームアプリケーション、非ゲームアプリケーションなどに関連する視聴覚信号を提供し得る。視聴覚装置(16)は、計算環境(12)から視聴覚信号を受信し得、その後、視聴覚信号と関連付けられたゲーム、又は映像アプリケーション及び/又は音声アプリケーションをユーザー(18)へ出力し得る。一実施形態による視聴覚装置(16)は、例えば、S−Videoケーブル、同軸ケーブル、HDMIケーブル、DVIケーブル、VGAケーブルなどを介し計算環境(12)と接続され得る。
【0019】
[0026]
図1に示した目標認識、解析、及びトラッキングシステム(10)が、ユーザー(18)のようなヒューマンターゲットを認識し、解析し、及び/又はトラッキングするために使用され得る。例えば、ユーザー(18)が、キャプチャ装置(20)を使用しトラッキングされ得、ユーザー(18)の位置、動き、及び大きさが、計算機環境(12)によって実行されるアプリケーションに作用するために使用され得るコントロールとして解釈され得る。かくして一実施形態によるユーザー(18)は、彼又は彼女の体を動かし、アプリケーションを制御し得る。システム(10)は、アプリケーション、オペレーティングシステムなどシステムの様子を制御するジェスチャを含む、ユーザーの体によって実行されるユーザーの体及び動きをトラッキングし得る。本システムは、ユーザーの体位、顔の表情、声色、及び口調、注視方向などを比較し得、ユーザーの気質又は態度を決定し得、その気質又は態度の特徴をアバターに適用し得る。
【0020】
[0027]システム(10)は、キャプチャ装置(20)への入力を動画へ変換し得、入力はユーザーの動きを代表していて、動画がその入力によって駆動される。かくして、ユーザーの動きは、視覚表示(
14)へマッピングし得、物理的な空間のユーザーの動作がアバター(
24)によって実行される。ユーザーの動きは、アプリケーションのコントロールに適用可能なジェスチャであり得る。
図1に示した実施形態例において、計算環境(12)上で実行しているアプリケーションは、ユーザー(18)がプレーしているボクシングゲームであり得る。
【0021】
[0028]計算環境(12)は、ユーザー(18)が彼又は彼女の動きを使って制御し得るプレーヤーアバター(
24)の視覚表示を提供するための視聴覚装置(16)を使用し得る。例えば、ユーザー(18)は、プレーヤーアバター(
24)がゲーム空間でパンチを飛ばすことをもたらすように物理的な空間でパンチを飛ばし得る。プレーヤーアバター(
24)はキャプチャ装置(20)によって識別されたユーザーの特徴を有し得るか、又はシステム(10)は、ユーザーの動作にマッピングする視覚表示に、周知のボクサーの特徴を使用するか又はプロボクサーの体格を描き得る。システム(10)は、ユーザーをトラッキングし得、物理的な空間において検出可能なユーザーの特徴に基づいてユーザーのアバターの特徴を修正し得る。計算環境(12)は、ボクシングの相手(
22)の視覚表示をユーザー(18)に提供するための視聴覚装置(16)も使用し得る。実施形態例に従って、計算機環境(12)並びに目標認識、解析、及びトラッキングシステム(10)のキャプチャ装置(20)が、物理的な空間においてユーザー(18)のパンチを認識し、解析するために使用され得、パンチが、ゲーム空間においてプレーヤーアバター(
24)のゲームコントロールとして解釈され得る。複数のユーザーは離れた場所から互いに対話し得る。例えば、ボクシングの相手(
22)の視覚表示は、物理的な空間のユーザー(18)と一緒にいる第2のユーザー又は第2の物理的な空間のネットワークユーザーのような別のユーザーを代表し得る。
【0022】
[0029]素早く上下する、曲がって進む、足を引きずって歩く、妨害する、ジャブで突く、又は異なる様々なパンチ力で食らわすためのコントロールなど、ユーザー(18)による別の動作も別のコントロール又は動作として解釈され得る。更に、動作の中には、プレーヤーのアバター(24)の制御以外の動作に相当し得るコントロールとして解釈され得るものもある。例えば、ゲームの終了、停止、セーブ、レベルの選択、高得点の閲覧、又は友人との通信など実行するための動作をプレーヤーは使用し得る。加えて、ユーザー(18)の動作の範囲すべてが利用可能であって、使用され、アプリケーションと対話するために適切な任意の方法で解析され得る。
【0023】
[0030]実施形態例において、ユーザー(18)のようなヒューマンターゲットは、物体を有し得る。上記の実施形態において、コンピューターゲームのユーザーは物体を手に持つ場合があって、プレーヤーの動作と物体とが、ゲームのパラメーターを調整し及び/又は制御するために使用され得る。例えば、ラケットを手に持つプレーヤーの動作が、コンピュータースポーツゲームにおいて、スクリーン上のラケットを制御するためにトラッキングされ、利用され得る。別の実施形態例において、物体を手に持つプレーヤーの動作が、コンピューターの戦闘ゲームにおいて、スクリーン上の兵器を制御するためにトラッキングされ得、利用され得る。
【0024】
[0031]ユーザーのジェスチャ又は動きは、プレーヤーアバター(
24)を制御する以外の動きに対応し得るコントロールとして解釈され得る。例えば、プレーヤーは、ゲームを終了し、休止し、又はセーブし、レベルを選択し、ハイスコアを眺め、友人と通信する動きなどを使用し得る。プレーヤーは、気質を示す属性をユーザーの視覚表示に適用するために動きを使用し得る。仮想的に制御可能なオペレーティングシステム及び/又はアプリケーションの任意の様子が、ユーザー(18)のような目標の動きによって制御され得る。別の実施形態例による目標認識、解析、及びトラッキングシステム(10)が、オペレーティングシステム及び/又はゲーム分野以外のアプリケーションの様子を制御するために、目標の動きを解釈し得る。
【0025】
[0032]ユーザー特性の視覚表示への適用又はユーザーのある感情若しくは態度の検出は、ユーザーのジェスチャによって制御され得るか又はそれから認識され得るオペレーティングシステム及び/又はアプリケーションの様子であり得る。例えば、ユーザーの胸の前で彼又は彼女の手を組むジェスチャは、不満な心的状態として認識されるジェスチャであり得る。ユーザーの難しい顔つきの表情を伴うユーザーが不満であることを示しているジェスチャのシステム認識は、結果として不満な気質を反映した視覚表示をもたらし得る。
【0026】
[0033]ユーザーのジェスチャは、オペレーティングシステム、ゲームのゲーム外の様子又は非ゲームアプリケーションに適用可能なコントロールであり得る。ユーザーのジェスチャは、ユーザーインターフェースを制御するオブジェクトの操作として解釈され得る。例えば、垂直に左から右へ並んだブレード又はタブを有するユーザーインターフェー
スであってブレード又はタブそれぞれの選択が、アプリケーション又はシステム内の様々なコントロールに関するオプションを起動するものを考えられたい。本システムは、タブの動きに対するユーザーの手のジェスチャを識別し得、物理的な空間のユーザーの手が仮想的に、アプリケーション空間のタブを使って整列される。休止動作、掴み動作、及びその後、左に手をはらう動作を含むジェスチャが、タブの選択と、その後、次のタブを開く方向への移動として解釈され得る。
【0027】
[0034]
図2は、ユーザー又は被写体であり得る目標の目標認識、解析、及びトラッキングするために使用され得るキャプチャ装置(20)の実施形態例を示している。実施形態例によるキャプチャ装置(20)は、例えば、飛行時間技法、構造光技法、立体視画像技法などを含む適切な任意の技法を介し、深度値を含み得る立体視画像を含む立体視情報を有する映像をキャプチャするように構成され得る。一実施形態によるキャプチャ装置(20)は、算出された立体視情報を「Zレイヤ」又はその照準線に沿って立体視カメラから延長したZ軸に垂直であり得るレイヤへ統合化し得る。
【0028】
[0035]
図2のようにキャプチャ装置(20)は画像カメラコンポーネント(22)を含み得る。実施形態例による画像カメラコンポーネント(22)は、シーンの立体視画像をキャプチャする立体視カメラであり得る。立体視画像は、キャプチャされたシーンの二次元(2−D)画素領域を含み得、2−D画素領域の画素それぞれが、カメラからキャプチャされたシーンの例えば、センチメートル、ミリメートルで被写体の長さ又は距離などのような深度値を示し得る。
【0029】
[0036]
図2のように実施形態例による画像カメラコンポーネント(22)は、シーンの立体視画像をキャプチャするために使用され得る赤外線光コンポーネント(24)、立体視(3−D)カメラ(26)、及びRGBカメラ(28)を含み得る。例えば、飛行時間解析においてキャプチャ装置(20)の赤外線光コンポーネント(24)は、赤外光をシーンに放射し得、その後、(示されていない)センサーを使用し、例えば、立体視カメラ(26)及び/又はRGBカメラ(28)を使用し、シーンにおける目標及び被写体の1つ以上の表面から後方散乱光を検出する。実施形態の中には、赤外線パルス光が使用され得るものもあって、出射パルス光と応答着信パルス光との間の時間が測定され得、キャプチャ装置(20)からシーンにおける目標又は被写体上の特定の位置までの物理的距離を決定するために使用され得る。加えると、別の実施形態例の中には出射パルス光波の位相が、位相変動を決定する着信光波の位相と比較され得るものもある。その後、位相変動が、キャプチャ装置(20)から目標又は被写体上の特定の位置までの物理的距離を決定するために使用され得る。
【0030】
[0037]別の実施形態例による飛行解析時間が使用され得、例えば、シャッターパルス光画像化を含む様々な技法を介し、長い時間をかけて反射される光線強度を解析することによってキャプチャ装置(20)から目標又は被写体上の特定位置までの物理的距離を間接的に決定し得る。
【0031】
[0038]別の実施形態例において、キャプチャ装置(20)は、立体視情報をキャプチャするために構造光を使用し得る。そのような解析において、パターン光(すなわち、周知のグリッドパターン又は縞模様のようなパターンとして表示される光)が、例えば、赤外線光コンポーネント(24)を介しシーン上に映し出され得る。シーンにおいて目標又は被写体1つ以上の表面を叩くと、それに応じてパターンが変形する。そのようなパターンの変形が、例えば、立体視カメラ(26)及び/又はRGBカメラ(28)によってキャプチャされ得、その後、キャプチャ装置(20)から目標又は被写体上の特定位置までの物理的距離を決定するために解析され得る。
【0032】
[0039]別の実施形態によるキャプチャ装置(20)は、分解され得る視覚的立体視データを取得し立体視情報を生成するために、異なる角度からシーンを眺め得る物理的に別個の2つ以上のカメラを含み得る。
【0033】
[0040]キャプチャ装置(20)は更に、マイクロフォン(30)又はマイクロフォンアレイを含み得る。マイクロフォン(30)は、音声を受信し電気的信号に変換し得る変換器又はセンサーを含み得る。一実施形態によるマイクロフォン(30)は、目標認識、解析、及びトラッキングシステム(10)のキャプチャ装置(20)と計算環境(12)との間のフィードバックを減少させるために使用され得る。加えると、マイクロフォン(30)は、計算環境(12)によって実行されるゲームアプリケーション、非ゲームのアプリケーションなどのようなアプリケーションを制御するためのユーザーによって提供され得る音声信号を受信するためにも使用され得る。
【0034】
[0041]実施形態例において、キャプチャ装置(20)は更に、画像カメラコンポーネント(22)と作用し通信し得るプロセッサー(32)を含み得る。プロセッサー(32)は、立体視画像を受信し、適切な目標が立体視画像に含まれ得るか否か決定し、適切な目標を骨格表現又は目標モデル又は適切な別の任意の命令に変換するための命令を含み得る命令を実行し得る標準プロセッサー、専用プロセッサー、マイクロプロセッサーなどを含み得る。
【0035】
[0042]キャプチャ装置(20)は更に、メモリーコンポーネント(34)を含み得、プロセッサー(32)によって実行される命令、3-Dカメラ(26)若しくはRGBカメラ(28)によってキャプチャされる画像、又は画像フレーム、別の適切な任意の情報、画像などをストアし得る。実施形態例によるメモリーコンポーネント(34)は、ランダムアクセスメモリー(RAM)、読み出し専用メモリー(ROM)、キャッシュメモリー、フラッシュメモリー、ハードディスク、又は別の適切な任意のストレージコンポーネントを含み得る。
図2のように一実施形態において、メモリーコンポーネント(34)は、画像キャプチャコンポーネント(22)及びプロセッサー(32)と通信する別個のコンポーネントであり得る。別の実施形態によるメモリーコンポーネント(34)は、プロセッサー(32)及び/又は画像キャプチャコンポーネント(22)に統合され得る。
【0036】
[0043]
図2のようにキャプチャ装置(20)は、通信リンク(36)を介し計算環境(12)と通信し得る。通信リンク(36)は、例えば、USB接続、ファイヤーワイヤー接続、イーサネットケーブル接続などを含む有線接続、及び/又は無線802.11b, 11g, 11a, 又は11n接続などの無線接続であり得る。一実施形態による計算環境(12)が、例えば、通信リンク(36)を介し、シーンをいつキャプチャにするか決定するために使用され得るクロックをキャプチャ装置(20)に提供し得る。
【0037】
[0044]加えて、キャプチャ装置(20)は、例えば、3-Dカメラ(26)及び/又はRGBカメラ(28)によってキャプチャされた立体視情報及び画像、及びキャプチャ装置(20)によって生成され得る骨格モデルを、通信リンク(36)を介し計算環境(12)に提供し得る。その後、計算環境(12)が、骨格モデル、立体視情報、及びキャプチャされた画像を使用し得、例えば、ゲーム又はワードプロセッサーなどのアプリケーションをコントロールし得る。例えば、
図2のように計算環境(12)は、ジェスチャライブラリー(192)を含み得る。
【0038】
[0045]
図2に示した計算環境(12)は、ジェスチャライブラリー(
192)及びジェスチャ認識エンジン(
190)を含み得る。ジェスチャ認識エンジン(
190)は、ジェスチャフィルター(191)の集まりを含み得る。フィルターは、ジェスチャを認識し得るか又はさもなければ深度値、RGB、又は骨格データを処理し得るコード及び関連するデータを含み得る。フィルター(191)それぞれは、そのジェスチャに関するパラメーター又はメタデータを伴うジェスチャを定義している情報を含み得る。例えば、投げの動作は、体の後ろから体の前を通過する一方の手の動作を含んでいて、その動きが立体視カメラによってキャプチャされるように体の後ろから体の前を通過するユーザーの一方の手の動きを表す情報を含むジェスチャフィルター(191)として実装され得る。そのジェスチャに関するパラメーターは、その後、設定され得る。ジェスチャが投げる動作であるところにおいては、パラメーターは、手が届かなければならない臨界速度、手が伸びる必要がある(概してユーザーの大きさに対し絶対的か又は相対的どちらか一方の)距離、及び認識装置エンジンによって評定しているジェスチャが生じた信頼性、であり得る。ジェスチャに関するこれらのパラメーターは、アプリケーション間、又は単一のアプリケーションの文脈間、又は1つのアプリケーションの1つの文脈の中で時間とともに変化し得る。
【0039】
[0046]ジェスチャ認識エンジンは、ジェスチャフィルターの集まりを含み得、フィルターがコードを含み得るか、又はさもなければ、深度値、RGB、又は骨格データを処理するためのコンポーネントを含むことが想定されているが一方、フィルターの使用は、解析をフィルターに限定することを意図していない。フィルターは、システムによって受信されるシーンデータを解析し、そのデータと、ジェスチャを表す基本情報とを比較するコンポーネント又はコードの選択例の表示である。解析の結果として、本システムは、入力データがジェスチャに対応しているか否かに対応する出力を製造し得る。ジェスチャを表している基本情報は、履歴データ内のユーザーのキャプチャ動作を代表している再発する特性に対応するように調整され得る。基本情報は、例えば、前述したジェスチャフィルターの一部であり得る。しかし、入力データ及びジェスチャデータを解析する適切な任意の方法が想定される。
【0040】
[0047]ジェスチャは気質識別ジェスチャとして認識され得る。実施形態例において、物理的な空間の動作は、特定の気質の属性を目標の視覚表示に適用するためのリクエストとして認識されたジェスチャの代表であり得る。複数のジェスチャがそれぞれ、特定の気質識別ジェスチャを表し得る。かくして、ユーザーは、物理的な空間において気質識別ジェスチャとして認識されるジェスチャを実行することによって、視覚表示形式を制御できる。例えば、前述したユーザーの動作は、
図2が提供しているジェスチャフィルター(191)のようなジェスチャフィルターと比較され得る。ジェスチャフィルター(191)は、ジェスチャライブラリー(
192)の気質識別ジェスチャ(196)が提供している気質識別ジェスチャに関する情報を含み得る。
【0041】
[0048]複数の気質識別ジェスチャはそれぞれ、画面上の視覚表示に適用される属性を有している気質を表し得る。例えば、「興奮」の識別ジェスチャは、ユーザーの両腕を空に上げて上下に跳躍している動作を含むユーザーの動作の識別から認識され得る。その結果がユーザーの視覚表示への属性の適用であり得、ユーザーの動作及び/又はユーザーの動作に加えて動画に直接にマッピングされ得る。
【0042】
[0049]カメラ(26)、(28)、及び機器(20)によってキャプチャされた骨格モデル形式データ及びそれに関連付けられた動作が、(骨格モデルによって示される)ユーザーがいつ1つ以上のジェスチャを実行したか識別するために、ジェスチャ
認識エンジン(190)のジェスチャフィルター(191)と比較され得る。かくして、フィルター(191)のようなフィルターへの入力は、ユーザーの関節部分に関する関節データ、関節で接合する骨によって形成される角度、シーンが提供するRGBカラーデータ、及びユーザーの様子の変化率などを含み得る。言及したジェスチャに関するパラメーターが設定され得る。フィルター(191)からの出力は、特定のジェスチャを実行している信頼性、ジェスチャの動作が実行される速度、ジェスチャが生じた時のものなどを含み得る。
【0043】
[0050]計算環境(12)は、立体視画像を処理し、どんな目標が部屋のユーザー(18)又はオブジェクトなどシーンにあるかを決定するプロセッサー(195)を含み得る。これは、例えば、類似した距離の値を共有する立体視画像の画素を一緒に分類することによって、実行され得る。画像も、関節の間で実行する関節及び組織など特徴が識別されるように、ユーザーの骨格の表示を製造するために解析され得る。既存の骨格のマッピング技術は、立体視カメラを用いて人をキャプチャし、それから手の関節、手首、肘、膝、鼻、足首、肩、及び骨盤が脊椎と接合するユーザーの骨格上の様々な点を決定する。別の技法は、画像を人の体のモデル表示に変換し、画像を人のメッシュモデル表示に変換することを含む。
【0044】
[0051]実施形態において、処理はキャプチャ装置(20)(キャプチャ装置(20)は3Dカメラ(26)を含む)自身の上で実行され、深度及色の値に関する原画像データが、リンク(36)を介し計算環境(12)に送信される。別の実施形態において、処理はカメラ(
22)に接続されたプロセッサー(32)によって実行され、その後、解析された画像データが計算環境(12)に送信される。更に別の実施形態において、原画像データ及び解析された画像データ双方が、計算環境(12)に送信される。計算環境(12)は、解析された画像データを受信し得るが、それはまだ、目下のプロセス又はアプリケーションを実行するための未加工データを受信し得る。例えば、シーン画像をコンピューターネットワーク上の別のユーザーに送信する場合、計算環境(12)は、別の計算環境によって処理するための未加工データを送信し得る。
【0045】
[0052]計算環境(12)は、骨格モデルの動きを解釈し、アプリケーションを動きに基づいてコントロールするためのジェスチャライブラリー(
192)を使用し得る。計算環境(12)は、アバター又はポインタの形式などのユーザーの表示をモデル化し、表示装置(
194)のようなディスプレイ上に表示し得る。表示装置(
194)は、コンピューター用モニター、テレビ画面、又は適切な任意の表示装置を含み得る。例えば、カメラで制御されたコンピューターシステムは、ユーザー画像データをキャプチャし得、ユーザーのジェスチャにマッピングするテレビ画面にユーザーフィードバックを表示し得る。ユーザーフィードバックは、図
1に示した画面のアバターとして表示され得る。アバターの動作は、アバターの動きをユーザーの動きへマッピングすることによって直接制御され得る。ユーザーのジェスチャは、アプリケーションのいくつかの外観に対する解釈されたコントロールであり得る。
【0046】
[0053]前述したように気質の属性を目標の視覚表示に適用することが望まれ得る。例えば、ユーザーは、ユーザーの視覚表示に画面上でダンスを実行させ、ユーザーの満足を示すことを所望し得る。ユーザーは、特定の気質識別ジェスチャを実行することによって、上記属性の適用を開始し得る。
【0047】
[0054]実施形態例による目標は、仮想画面を生成し、ユーザーを1つ以上のストアされたプロファイルと比較するためにスキャンされ、トラッキングされ、モデル化され、及び/又は評価され、及び/又は目標に関するプロファイル情報(198)を計算環境(12)などの計算環境にストアする、立っているか又は座っている任意の位置のヒューマンターゲット、オブジェクトを有するヒューマンターゲット、2人以上のヒューマンターゲット、1人以上のヒューマンターゲットの1つ以上の腕などであり得る。プロファイル情報(198)は、後でアクセスするためのデータをストアするためのユーザープロファイル、個人プロファイル、アプリケーションプロファイル、システムプロファイル、又は別の適切な任意の方法の形式であり得る。プロファイル情報(198)は、例えば、アプリケーションを介しアクセス可能か又はシステムの広い範囲で利用可能であり得る。プロファイル情報(198)は、特定のユーザープロファイル情報をロードするためのルックアップテーブルを含み得る。仮想画面は、図
1に関して前述した計算環境(12)によって実行されるアプリケーションと対話し得る。
【0048】
[0055]実施形態例によるルックアップテーブルは、ユーザー特有のプロファイル情報を含み得る。一実施形態において、計算環境(12)のような計算環境は、ルックアップテーブルに1つ以上のユーザーに関するストアしているプロファイルデータ(198)を含み得る。ストアされているプロファイルデータ(198)は、特に、スキャンされた目標又は評価された体の大きさ、骨格モデル、体のモデル、音声サンプル又はパスワード、目標の年令、以前のジェスチャ、目標の制限、及び例えば、腰を下ろす傾向、左利き又は右利き、又はキャプチャ装置に非常に近く立つ傾向など、システムの目標による標準的用法を含み得る。この情報は、キャプチャシーンの目標と1つ以上のユーザープロファイル(198)との間に一致があるか否か決定するために使用され得、一実施形態において、プロファイル(198)に従ってシステムが仮想画面をユーザーに適合可能にするか又は別のコンピューティング体験又はゲーム体験の構成要素を適合可能にする。
【0049】
[0056]1つ以上の個人的なプロファイル(198)が、計算機環境(12)にストアされ得、多くのユーザーセッション用に使用されるか又は1つ以上の個人プロファイルが単一セッションのためだけに生成され得る。ユーザーは、それらがシステムに音声又はボディスキャン、年齢、個人的好み、右利き又は左利き、アバター、名前の情報などを提供し得るプロファイルを確立するオプションを有し得る。個人プロファイルは、キャプチャ空間への一歩を越えてシステムにどんな情報も提供しない「ゲスト」も提供され得る。1人以上のゲストに関する一時的な個人プロファイルが確立され得る。ゲストの個人プロファイルは、ゲストセッションの終わりにストアされ得るか又は削除され得る。
【0050】
[0057]ジェスチャライブラリー(
192)、ジェスチャ認識エンジン(
190)、及びプロファイル(198)は、ハードウェア、ソフトウェア又はその双方の組み合わせで実装され得る。例えば、ジェスチャライブラリー(
192)、及びジェスチャ認識エンジン(
190)は、計算環境(12)のプロセッサー(195)(又は
図3の演算処理装置(101)又は
図4の演算処理装置(259))のようなプロセッサー上で実行するソフトウェアとして実装され得る。
【0051】
[0058]後述される
図2及び
図3〜4に表したブロック図は、例示的であって特定の実装を含意するために意図していないことを強調されたい。かくして、
図1のプロセッサー(195)又は(32)、
図3の演算処理装置(101)、及び
図4の演算処理装置(259)は、単一のプロセッサー又は複数のプロセッサーとして実装され得る。複数のプロセッサーが、分散又は中心に位置付けられ得る。例えば、ジェスチャライブラリー(
192)が、キャプチャ装置のプロセッサー(32)上で実行するソフトウェアとして実装され得るか、又はそれは、それが計算環境(12)のプロセッサー(195)上で実行するソフトウェアとして実装され得る。本明細書に開示した技法を実行するために適切であるプロセッサーの任意の組み合わせが想定される。複数のプロセッサーは、ハードワイヤ、又はその組み合わせを介し無線通信し得る。
【0052】
[0059]更に、本明細書に使用した計算環境(12)は、単一の計算装置又は計算システムを参照し得る。計算環境は非計算コンポーネントを含み得る。計算環境は、
図2に示した表示装置(
194)のような表示装置を含み得る。表示装置は、例えば、別個であり得るがしかし、計算環境に接続されたエンティティか又は表示装置は、処理し、表示する計算装置であり得る。かくして、計算システム、計算装置、計算環境、計算機、プロセッサー、又はその他の計算コンポーネントは、互換性を持って使用され得る。
【0053】
[0060]ジェスチャツールによるアプリケーション又はアプリケーション文脈に関するジェスチャライブラリー及びフィルターパラメーターが調整され得る。文脈は文化的文脈であり得、それは環境的文脈であり得る。文化的文脈は、システムを使用したユーザーの文化を参照している。異文化は、類似のジェスチャを使用し、著しく異なる意味を授け得る。例えば、別のユーザーに「見て」又は「目を使って」と言いたいアメリカ人ユーザーは、自分の人差し指を彼の目の方から自分の頭の方に当てる。しかしながら、イタリア人ユーザーにとってこのジェスチャは、マフィアへの参照として解釈され得る。
【0054】
[0061]同様に、単一アプリケーションの異なる環境の中に異なる文脈があり得る。自動車の操作を伴った一人称形式のシューターゲームを取りあげたい。ユーザーが歩きながら地面に向かった指でこぶしを作り、こぶしを体から前に延ばすパンチジェスチャを表し得る。ユーザーがドライビング文脈にいる間、同一動作は「ギヤシフト」ジェスチャを表し得る。視覚表示への修正に関連する異なるジェスチャが、環境による異なる修正を起動し得る。異なる起動ジェスチャの修正は、アプリケーション特有の修正モード対システムの広い範囲の修正モードへのエントリーのために使用され得る。それぞれの修正モードは、修正モードに対応する独立した一連のジェスチャを用いてパッケージ化され得、修正起動ジェスチャの結果として入力され得る。例えばボーリングゲームにおいて、腕のスイング動作は、仮想ボウリングレーンの下で離すためのボーリングボールのスイングとして識別されたジェスチャであり得る。しかしながら、別のアプリケーションにおける腕のスイング動作は、画面に表示したユーザーのアバターの腕を伸ばすリクエストとして識別されたジェスチャであり得る。ユーザーが、自分のゲームをセーブするか、自分のキャラクター装備の中から選択するか、又は直接ゲームプレーを含まない類似の動作を実行し得るか1つ以上のメニュー環境もあり得る。その環境において、同一のこのジェスチャは、何かを選択するか又は別の画面に進む第3の意味を有し得る。
【0055】
[0062]ジェスチャは、そのジャンルのアプリケーションによって使用される傾向がある
コンプリメンタリ(complimentary)ジェスチャのジャンルのパッケージに一緒に分類され得る。−一般に一緒に使用されるものとしての
コンプリメンタリか、又は1つのパラメーターにおける変化が別のパラメーターを変更するものとしての
コンプリメンタリかどちらか一方の−
コンプリメンタリのジェスチャが、一緒にパッケージ化されたジャンルに分類される。これらのパッケージは、少なくとも1つを選択し得るアプリケーションに提供され得る。アプリケーションは、アプリケーション固有の様子に最も適合するようにジェスチャ又はジェスチャフィルター(191)のパラメーターを調整又は修正し得る。そのパラメーターは調整されたとき、ジェスチャ又は第2のジェスチャのどちらか一方の第2の
コンプリメンタリパラメーターも(互いに依存している意味の)パラメーターが
コンプリメンタリのままであるように調整される。テレビゲームに関するジャンルパッケージは、第1のユーザーシューター、動作、ドライビング、スポーツなどのジャンルを含み得る。
【0056】
[0063]
図3は、目標認識、解析、及びトラッキングシステムにおいて、1つ以上のジェスチャを解釈するために使用され得る計算環境の実施形態例を示している。図
1〜図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)が電源投入されたとき、ブートプロセスの初期段階の間、ロードされる実行プログラムをストアし得る。
【0057】
[0064]グラフィック処理装置(GPU)(108)及び映像エンコーダー/映像コーデック(符号化器/デコーダー)(114)が、高速かつ高解像度画像処理用の映像処理パイプラインを形成する。データが、画像処理装置(108)から映像エンコーダー/映像コーデック(114)へバスを介し伝達される。映像処理パイプラインは、テレビ又はその他のディスプレイへの伝送用A/V(音声/映像)ポート(140)へデータを出力する。メモリーコントローラー(110)が、RAM(ランダムアクセスメモリー)に限定しないが、そのような様々なタイプのメモリー(112)へのプロセッサーへのアクセスを容易にするGPU(108)と接続される。
【0058】
[0065]マルチメディアコンソール(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)は、ネットワーク(例えば、インターネット、ホームネットワークなど)へのアクセスを提供し、イーサネットカード、モデム、ブルートゥースモジュール、ケーブルモデムなどを含む多種多様な有線又は無線アダプターコンポーネントのいずれかであり得る。
【0059】
[0066]ブートプロセス中、ロードされるアプリケーションデータをストアするためのシステムメモリー(143)が提供される。媒体ドライブ(144)が提供され、DVD/CDドライブ、ハードドライブ、又はその他の取り外し可能媒体ドライブなどを含み得る。媒体ドライブ(144)は内蔵か又はマルチメディアコンソール(100)に外付けであり得る。アプリケーションデータが、マルチメディアコンソール(100)によって再生などを実行するために媒体ドライブ(144)を介しアクセスされ得る。媒体ドライブ(144)は、シリアルATAバス又は他の高速接続(例えばIEEE1394)などのバスを介しI/Oコントローラー(120)と接続される。
【0060】
[0067]システム管理コントローラー(122)は、マルチメディアコンソール(100)の利用可能性保証に関連する様々なサービス機能を提供する。音声処理装置(123)及び音声コーデック(132)が、忠実性の高い三次元処理を用いて応答音声処理パイプライン処理装置を形成する。音声データが、音声処理装置(123)と音声コーデック(132)との間を通信リンクを介し伝達される。音声処理パイプラインが、音声機能を有する外付けオーディオプレーヤー又は装置によって再生するためにA/Vポート(140)へデータを出力する。
【0061】
[0068]フロントパネルI/O部分組立体(130)が、マルチメディアコンソール(100)の外面上に見ることができる電源スイッチ(150)及びイジェクトボタン(152)並びにいくつかのLED(発光ダイオード)又はその他の指標の機能性を支援する。システム電力供給モジュール(136)が、マルチメディアコンソール(100)のコンポーネントに電力を提供する。ファン(138)がマルチメディアコンソール(100)内部の回路を冷却する。
【0062】
[0069]マルチメディアコンソール(100)内部のCPU(101)、GPU(108)、メモリーコントローラー(110)、及びその他の様々なコンポーネントは、シリアルバス及びパラレルバス、メモリーバス、周辺機器用バス、及び様々なバスアーキテクチャのうちいずれかを使用したプロセッサーバス又はローカルバスを含む1つ以上のバスを介し相互に接続される。例として、上記アーキテクチャは、Peripheral Component Interconnects(PCI)バス、PCI−エクスプレスバスなどを含み得る。
【0063】
[0070]マルチメディアコンソール(100)が電源投入されたとき、アプリケーションデータが、システムメモリー(143)からメモリー(112)及び/又はキャッシュ(102)、(104)へロードされ、CPU(101)上で実行される。アプリケーションは、マルチメディアコンソール(100)上で利用可能な異なる媒体のタイプへナビゲートするとき、一貫性したユーザー体験を提供するグラフィカルユーザーインターフェースを提示し得る。動作中、媒体ドライブ(144)内部に含まれるアプリケーション及び/又はその他の媒体は、媒体ドライブ(144)から起動され得るか又は再生され得、マルチメディアコンソール(100)に付加的機能性を提供し得る。
【0064】
[0071]マルチメディアコンソール(100)は、システムをテレビ又はその他のディスプレイと単に接続することによって、単独で動作するシステムとして作動され得る。この単独動作モードのマルチメディアコンソール(100)によって1人以上のユーザーが、システムとの対話、映画の鑑賞、又は音楽の鑑賞が可能になる。しかしながら、ネットワークインターフェース(124)又は無線アダプター(148)を介し利用可能になるブロードバンドの接続性統合を用いると、マルチメディアコンソール(100)が更に、より大きなネットワークコミュニティに参加者として作動され得る。
【0065】
[0072]マルチメディアコンソール(100)が電源投
入されたとき、設定された量のハードウェア資源が、マルチメディアコンソールのオペレーティングシステムによるシステムを使用するために予約される。これらのリソースは、メモリー(例えば16MB)、CPU及びGPUサイクル(例えば5%)、ネットワーク帯域幅(例えば8kbs)などの予約を含み得る。これらのリソースはシステムのブート時に予約されるため、アプリケーションの観点から予約されるリソースは存在しない。
【0066】
[0073]具体的にメモリー予約は、望ましくは十分に大きく、起動カーネル、並列システムアプリケーション及びドライバーを含む。CPUの予約は、望ましくは一定であり、予約されたCPU利用が、システムアプリケーションによって使用されていない場合、アイドルスレッドが、いくらかの未使用サイクルを消費する。
【0067】
[0074]GPUの予約に関すると、システムアプリケーションによって生成される軽い(例えばポップアップ)メッセージが、ポップアップをオーバーレイにレンダリングするプログラムをスケジューリングするGPU中断を使用することによって、表示される。オーバーレイに要求されるメモリーの総計は、オーバーレイ領域のサイズ及び望ましくは画面解像度を伴うオーバーレイスケールによって決まる。十分なユーザーインターフェースが、並行システムアプリケーションによって使用されるところでは、アプリケーション解像度に影響されずに解像度を利用することが望まれる。スケーラーがこの解像度を設定するために使用され得、テレビの周波数を変更して再同時性をもたらす必要性が省かれる。
【0068】
[0075]マルチメディアコンソール(100)が起動し、システム資源が予約された後、システム機能性を提供する並列システムアプリケーションが実行する。システム機能性は、前述した予約されたシステム資源の範囲内で実行する一連のシステムアプリケーションにカプセル化される。オペレーティングシステムカーネルは、ゲームアプリケーションスレッドに対しシステムアプリケーションスレッドであるスレッドを識別する。本システムのアプリケーションは、望ましくは、一貫性のあるシステム資源の表示をアプリケーションに提供するために、所定の時間及び間隔でCPU(101)上で実行するようにスケジューリングされる。スケジューリングは、コンソール上で実行するゲームアプリケーションに対するキャッシュ分裂を最小化することである。
【0069】
[0076]並行システムアプリケーションが音声を必要とするとき、音声処理が時間感度によって、ゲームアプリケーションと非同期にスケジューリングされる。(後述される)マルチメディアコンソールのアプリケーションマネージャは、システムアプリケーションがアクティブであるとき、ゲームアプリケーションの音声の(例えば、ミュート、減衰)レベルを制御する。
【0070】
[0077]入力装置(例えば、コントローラー142(1)及び142(2))が、ゲームアプリケーション及びシステムアプリケーションによって共有される。入力装置は、予約される資源でないが、しかしシステムアプリケーションとゲームアプリケーションとの間で切換えられ、それぞれが装置のフォーカスを有し得る。アプリケーションマネージャが、ゲームアプリケーションの知識がなくても望ましくは入力ストリームの切換えを制御し、ドライバーが、フォーカス切換えに関する状態情報を維持する。カメラ(26)、(28)、及びキャプチャ装置(20)は、コンソール(100)用の付加入力装置を定義している。
【0071】
[0078]
図4は、目標認識、解析、及びトラッキングシステムにおいて1つ以上のジェスチャを解釈するために使用される
図1〜
図2のような計算環境(12)である別の計算環境(220)の実施形態例を示している。計算システム環境(220)は、適切な計算環境の一例に過ぎず、開示される本対象項目の利用性又は機能性の範囲に関し、いかなる制限も推論するように意図されていない。計算環境(220)は、例示的動作環境(220)に示されている一コンポーネント又は任意の組み合わせに関連するいかなる依存性も要件も有していないものとして解釈されたい。実施形態の中には、示した様々な計算エレメントが、今開示される特定の態様を例示するように構成された回路を含み得るものもある。例えば、本開示において使用される用語の回路は、ファームウェア又はスイッチによって機能(単数又は複数)を実行するように構成される専用ハードウェアコンポーネントを含み得る。別の実施形態例の中には、用語の回路が、機能(単数又は複数)を実行するように作動可能なロジックを具体化するソフトウェア命令によって構成された汎用処理装置、メモリーなどを含み得るものもある。回路がハードウェア及びソフトウェアの組み合わせを含む実施形態例において、実装者がロジックを具体化するソースコードを記述し得、ソースコードが汎用演算処理装置によって処理され得る計算機読み出し可能プログラムへコンパイルされ得る。当業者は、技術の最先端が、ハードウェア、ソフトウェア、又はハードウェア/ソフトウェアの組み合わせの間の差異がほとんどない程度に発展していることを十分に理解し得るのであるから、特定機能を実現するためのハードウェア対ソフトウェアの選択は、実装者に任せられた設計選択である。より具体的には、当業者は、ソフトウェアプロセスが同等のハードウェア構造へ変換され得ることと、ハードウェア構造がそれ自体、同等のソフトウェア処理へ変換され得ることと、を十分に理解されよう。かくして、ハードウェア実装対ソフトウェア実装の選択は、設計選択の1つであって実装者に委ねられている。
【0072】
[0079]
図4において、計算環境(220)は、典型的に、様々な計算機可読媒体を含む計算機(241)を含む。計算機可読媒体は、計算機(241)によってアクセスされ得る利用可能な任意の媒体であり得、揮発性及び不揮発性媒体、及び取り外し可能及び取り外し不可能媒体双方を含む。システムメモリー(222)は、読み出し専用メモリー(ROM)(223)及びランダムアクセスメモリー(RAM)(260)などの揮発性及び/又は不揮発性メモリー形式の計算機記憶媒体を含む。起動中などに計算機(241)内部のエレメント間における情報送信を支援する基本ルーチンを含む基本入出力システム(BIOS)(224)は、典型的に、ROM(223)にストアされる。RAM(260)は、典型的に、演算処理装置(259)によって即座にアクセス可能な及び/又は目下作動されているデータ及び/又はプログラムモジュールを含む。非限定の例として、
図4は、オペレーティングシステム(225)、アプリケーションプログラム(226)、その他のプログラムモジュール(227)、及びプログラムデータ(228)を示している。
【0073】
[0080]計算機(241)は、別の取り外し可能/取り外し不可能、揮発性/不揮発性計算機記憶媒体も含み得る。ほんの一例として、
図4は、取り外し不可能、不揮発性磁気媒体から読み出すか又はそれに書き込むハードディスクドライブ(238)、取り外し可能、不揮発性磁気ディスク(254)から読み出すか又はそれに書き込む磁気ディスクドライブ(239)、CD−ROM、又はその他の光学式媒体などの取り外し可能、不揮発性光学式ディスク(253)から読み出すか又はそれに書き込む光学式ディスクドライブ(240)を示している。例示的な動作環境において使用され得る別の取り外し可能/取り外し不可能、揮発性/不揮発性計算機記憶媒体は、磁気カセットテープ、フラッシュメモリーカード、デジタル多用途ディスク、デジタルビデオテープ、半導体RAM、半導体ROM等を含むがこれらに限定しない。ハードディスクドライブ(238)は、典型的に、インターフェース(234)のような取り外し不可能メモリーインターフェースを介しシステムバス(221)と接続され、磁気ディスクドライブ(239)及び光学式ディスクドライブ(240)は、典型的に、インターフェース(235)のような取り外し可能メモリーインターフェースによってシステムバス(221)と接続される。
【0074】
[0081]
図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)のような別の周辺出力装置も含み得る。
【0075】
[0082]計算機(241)は、リモートコンピューター(246)のような1つ以上のリモートコンピューターとの論理接続を使用し、ネットワーク環境において作動し得る。リモートコンピューター(246)は、パーソナルコンピューター、サーバー、ルーター、ネットワークPC、ピア装置、又は別の一般的なネットワークノードであり得、典型的に、前述した計算機(241)に関連するエレメントの多く又はすべてを含むが、
図4にはメモリー記憶装置(247)だけが例示されている。
図2に示される論理的な接続は、ローカルエリアネットワーク(LAN)(245)及び広域ネットワーク(WAN)(249)を含むが、別のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業規模のコンピューターネットワーク、イントラネット、及びインターネットにおいて一般的である。
【0076】
[0083]LANネットワーク環境において使用されるとき、計算機(241)は、ネットワークインターフェース又はアダプター(237)を介しLAN(245)と接続される。WANネットワーク環境において使用されるとき、計算機(241)は、典型的にインターネットなどのようなWAN(249)を介し通信を確立するモデム(250)又はその他の手段を含む。内蔵又は外付けがあり得るモデム(250)が、ユーザー入力インターフェース(236)又はその他の適切な手段を介し、システムバス(221)と接続され得る。ネットワークの環境において、計算機(241)又はその一部に関連し示されるプログラムモジュールが、リモートメモリー記憶装置にストアされ得る。非限定の例として
図4が、記憶装置(247)上に常駐するリモートアプリケーションプログラム(248)を示している。示したネットワーク接続が例示的であって、計算機間の通信リンクを確立する別の手段が使用され得ることを十分に理解されよう。
[0084]計算機可読記憶媒体は、視覚表示を変更するための計算機可読命令を含み得る。命令は、視覚表示をレンダリングし、シーンデータを受信するための命令を含み得、データは、ユーザーの気質識別ジェスチャに基づいて視覚表示を修正する物理的な空間のユーザーの気質識別ジェスチャを代表するデータを含んでいて、気質識別ジェスチャは、気質を示す属性をユーザーの視覚表示に適用するためのコントロールするためにマッピングするジェスチャである。
【0077】
[0085]
図5Aは、キャプチャ装置(20)によってキャプチャされる画像データから生成され得るユーザーの骨格マッピングの例を表している。この実施形態において、それぞれの手(502)、それぞれの前腕(504)、それぞれの肘(506)、それぞれの二頭筋(508)、それぞれの肩(510)、それぞれの臀部(512)、それぞれの大腿部(514)、それぞれの膝(516)、それぞれの前脚(518)、それぞれの足(520)、頭(522)、胴(524)、上部脊椎(526)、下部脊椎(528)、及び腰(530)の様々な関節及び骨が識別される。より多く
の点がトラッキングされるところでは、指又は爪先の骨と関節、鼻や目などの表面に関する個人特徴などのような更なる機能が識別され得る。
【0078】
[0086]ユーザーは、自分の体の動きを介しジェスチャを生成し得る。ジェスチャは、意味に関する解析画像データとしてキャプチャされ得たユーザーによる動作又はジェスチャを含む。ジェスチャは、ボールを投げる物真似のような動作を含む動的であり得る。ジェスチャは、彼の胴(524)の前で彼の前腕(504)の交差を保持しているような静的ポーズであり得る。見せかけの剣などを振ることによるジェスチャは道具も組み込み得る。ジェスチャは、一緒に手(502)を叩くか又は人の唇をすぼめるような、より微妙な動作のような2つ以上の体の部分を含み得る。
【0079】
[0087]ユーザーのジェスチャは、入力のための一般的コンピューターの文脈で使用され得る。例えば、手(502)又は体の別の一部の様々な動作は、階層リスト内を上方又は下方にナビゲートし、ファイルをオープンし、ファイルをクローズし、ファイルをセーブするなど、一般的システムの広い範囲のタスクに対応し得る。例えば、ユーザーは、キャプチャ装置(20)を指差した手をそのまま手のひらをキャプチャ装置に向け得る。彼はその後、指を手のひらに向けて閉じてこぶしを作り得、これが、ウィンドウベースのユーザーインターフェース計算環境において、フォーカスされたウィンドウが閉じられるべきことを示すジェスチャであり得る。ジェスチャは、映像ゲーム固有のゲームに従った文脈でも使用され得る。例えば、ドライビングゲームの手(502)及び足(520)の様々な動きは、乗り物を方向付け、ギヤチェンジし、加速し、ブレーキングに対応し得る。かくして、ジェスチャは、示されるユーザー表示、及びテレビゲーム、テキストエディタ、文書処理、データ管理など様々なアプリケーションへマッピングする様々な動作を示し得る。
【0080】
[0088]ユーザーは、物理的な空間の定位置における歩行又は走行によって、歩行又は走行に対応しているジェスチャを生成し得る。例えば、ユーザーは代替として、動かずに歩行を模倣するために、脚(512〜520)それぞれを上げ落し得る。本システムは、臀部(512)それぞれと大腿部(514)それぞれとを解析することによってこのジェスチャを解析し得る。(垂線に対して測定されるとき、立っている脚が臀部と大腿部が0°の角度を有していて、前方に水平に伸びた脚が臀部と大腿部が90°の角度を有する)臀部と大腿部の1つの角度が、他方の大腿部に対し一定の閾値を超えたとき、一歩が認識され得る。歩行又は走行は、交互の脚による連続した数歩の後、認識され得る。最新の2歩の間の時間が周期として考慮され得る。その閾値角が満足されない数周期後、本システムは、歩行又は走行ジェスチャが停止していることを決定し得る。
【0081】
[0089]「歩行又は実行」ジェスチャが与えられると、アプリケーションは、このジェスチャに関連付けられるパラメーターに対する値を設定し得る。これらのパラメーターは、上記歩行又は走行ジェスチャを開始するために要求される閾値角、歩数、ジェスチャを終了したために一歩も発生しない周期閾値、及びジェスチャが歩行又は走行であるか決定する周期閾値を含み得る。短い周期は、ユーザーが自分の足を素早く動かす走行に相当し得、より長い周期は歩行に相当し得る。
【0082】
[0090]ジェスチャは、アプリケーションがそれ自身のパラメーターを使って上書きし得る一連のデフォルトパラメーターと最初に関連付けられ得る。このシナリオにおいて、アプリケーションはパラメーターを提供するように強制されないが、そのかわりに一連のデフォルトパラメーターを使用し得、アプリケーションが定義したパラメーターが存在しないときでもジェスチャを認識可能になる。ジェスチャと関連した情報は、あらかじめ準備された動画のために格納され得る。
【0083】
[0091]ジェスチャに関連付けられ得る様々な出力が存在する。ジェスチャが生じているか否かに関して「はい又はいいえ」の基準値が存在し得る。ユーザーのトラッキングされた動きがジェスチャに対応している可能性に対応する信頼水準も存在し得る。これは0と1を含めた、その間の浮動小数点の範囲の線形目盛であり得る。このジェスチャ情報を受信するアプリケーションが、入力として誤検出を受け入れ不可能なところにおいては、少なくとも0.95の高信頼水準を有する認識されたジェスチャだけを使用し得る。誤検出コストであってもジェスチャのあらゆるインス
タンスをアプリケーションが認識する必要があるところにおいては、単に0.2よりも大きい、少なくともよりずっと低い信頼水準を有するジェスチャを使用し得る。ジェスチャは、最新の2歩の間の時間に関する出力を有し得、最初の一歩だけが登録されているところにおいては(任意の2つの歩数間の時間が正数でなければならないので)これは−1のような予約値に設定され得る。ジェスチャは、最新の一歩の間に達する大腿部の最大角度に関する出力も有し得る。
【0084】
[0092]別の例示的ジェスチャは「かかと上げの跳躍」である。ここでユーザーは、自分のかかとを地面から離すことによってジェスチャを生成し得るがしかし、自分の爪先は地面に付けたままである。代替としてユーザーは、空中で跳躍し得、自分の足(520)は完全に地面を離れる。本システムは、肩(510)、臀部(512)、及び膝(516)の角度関係を解析することによって、このジェスチャに関する骨格を解析し得、それらが直立に等しい配列位置にあるか確認し得る。その後、これらの点並びに上部脊椎(526)及び下部脊椎(528)の点が、上向きの任意の加速に関し監視され得る。十分な加速の組み合わせが跳躍ジェスチャを起動し得る。特定のジェスチャとともに十分な加速の組み合わせが、転移点パラメーターを満足し得る。
【0085】
[0093]この「かかと上げの跳躍」ジェスチャを仮定すると、アプリケーションは、このジェスチャに関連付けられたパラメーターに関する値を設定し得る。パラメーターは、上記の加速度閾値を含み得、ユーザーの肩(510)、臀部(512)及び膝(516)のいくつかの組み合わせがジェスチャを起動するためにどのくらい速く上向きに動く必要があるか、及び更に跳躍が起動され得る肩(510)、臀部(512)、及び膝(516)の間の配列の最大角度を決定する。出力は、信頼水準及び跳躍時のユーザーの体の角度を含み得る。
【0086】
[0094]ジェスチャを受信する特定のアプリケーションに基づいた、ジェスチャに関するパラメーター設定が、ジェスチャを正確に識別するときに重要である。ジェスチャ及びユーザーの意図を適切に識別することが、積極的なユーザー体験を生成するときに大きく支援する。
【0087】
[0095]アプリケーションが、あらかじめ準備された動画を使用する点を識別するための、様々な転移点に関連付けられたパラメーターに関する値を設定し得る。転移点は、特定のジェスチャの識別、速度、目標若しくは被写体の角度、又はその任意の組み合わせなど、様々なパラメーターによって定義され得る。特定のジェスチャの識別による転移点が少なくとも一部定義されている場合、ジェスチャの適切な識別を支援し、転移点のパラメーターが満足されている信頼水準を増大させる。
【0088】
[0096]ジェスチャに対する別のパラメーターは移動距離であり得る。ユーザーのジェスチャが、仮想環境において視覚表示の動作を制御するところでは、そのアバターはボールから腕の長さのところに存在し得る。ユーザーがボールと情報をやりとりし、それを掴むことを所望した場合、これは、掴むジェスチャの実行中、ユーザーに自分の腕を十分に伸ばす(502〜510)ように要求し得る。この状況において、ユーザーが自分の腕(502〜510)を一部だけ伸ばす類似した掴むジェスチャは、ボールとの情報のやりとりの結果を達成し得ない。同様に、転移点パラメーターは、掴むジェスチャの識別であり得、ユーザーは自分の腕(502〜510)を一部だけ伸ばし、その結果、ボールとの情報のやりとりの結果を達成しない場合、ユーザーのジェスチャは転移点パラメーターも満足しない。
【0089】
[0097]ジェスチャ又はその一部は、それが生じる必要がある空間量をパラメーターとして有し得る。この空間量は、典型的に体と関連して表現され得、ジェスチャは体の動きを含んでいる。例えば、右利きのユーザーに対するフットボール投球ジェスチャは、右の肩(510a)よりも低くない空間容積だけであって、投げる腕(502a〜310a)と同じ側にある頭(522)の上で認識され得る。この投球ジェスチャを使用する領域の容積すべてを定義する必要なく、体から離れた外側の領域は未定義のままであって、容積は無限か又は監視されるシーンの縁まで延びている。
【0090】
[0098]
図5Bは、
図2のジェスチャ認識装置エンジン(
190)の一例示的な実施形態の詳細を提供している。示したジェスチャ認識装置エンジン(190)は、ジェスチャか又はジェスチャを決定するための少なくとも1つのフィルター(
516)を含み得る。フィルター(
516)は、(本明細書において以下「ジェスチャ」として参照される)ジェスチャ(526)を定義している情報を含み得、そのジェスチャ(526)に関する少なくとも1つのパラメーター(528)又はメタデータを含み得る。例えば、体の後ろから体の前に過ぎる手の1つの動作を含む投げジェスチャ(526)として実装され得、その動きは、立体視カメラによってキャプチャされる体の後ろから体の前に過ぎるユーザーの手の1つの動きを表している情報を含んでいる。そのジェスチャ(526)に関するパラメーター(528)は、その後、設定され得る。ジェスチャ(526)が投げるところにおいて、パラメーター(528)は、手が届く必要がある手の速度の閾値、手が届く必要がある(概して絶対的又はユーザーの大きさに相対的な)距離、及び認識装置エンジン(192)によって評価するジェスチャ(526)が生じた信頼度であり得る。ジェスチャ(526)に関するこれらのパラメーター(528)は、時間とともにアプリケーション間、単一のアプリケーションの文脈間、又は1つのアプリケーションの1つの文脈内で変化し得る。
【0091】
[0099]フィルターはモジュール式か又は交換可能であり得る。実施形態において、フィルターは、入力それぞれがタイプを有するいくつかの入力と、出力それぞれがタイプを有するいくつかの出力と、を有する。この状況において、第1のフィルターは、認識装置エンジン(190)のアーキテクチャの他の側面をどれも変更せずに、第1のフィルターと入力及び出力が同一数及び同一タイプを有する第2のフィルターと置換され得る。例えば、入力の骨格データを取り入れ、フィルターに関連付けられたジェスチャ(526)が発生している信用度と操縦角度とを出力するドライビング用の第1のフィルターがあり得る。−ことによると第2のドライビングフィルターがより効率的でより少ない処理リソースを必要とするため−人がこの第1のドライビングフィルターを第2のドライビングフィルターを代用することを所望するところにおいて、第2のフィルターがそれらと同一の入力及び出力−骨格のデータ型の1つの入力、及び信用度タイプと角度タイプの2つの出力−を有している限り、人は、単に第1のフィルターを第2のフィルターと置換することよって代用し得る。
【0092】
[0100]フィルターがパラメーター(528)を有している必要はない。例えば、ユーザーの身長を返却する「ユーザーの身長」フィルターは、調整され得るどんなパラメーターも許可し得ない。代替の「ユーザーの身長」フィルターは、−ユーザーの身長を決定するとき、ユーザーの履物、髪型、頭にかぶっているもの、及び姿勢を計算するか否か調整可能なパラメーターを有し得る。
【0093】
[0101]フィルターへの入力は、関節で交わる骨格によって形成される角度のようなユーザーの関節位置に関する関節データ、シーンからのRGBカラーデータ、及びユーザーの様子の変化率などのものを含み得る。フィルターからの出力は、特定のジェスチャを実行している信頼度、ジェスチャ動作が実行される速度、ジェスチャ動作が実行される時間のようなものを含み得る。
【0094】
[0102]文脈は文化的文脈であり得、それは環境的文脈であり得る。文化的文脈は、システムを使用したユーザーの文化を参照している。異文化は、類似のジェスチャを使用し、著しく異なる意味を授け得る。例えば、別のユーザーに「見て」又は「目を使って」と言いたいアメリカ人ユーザーは、自分の人差し指を彼の目の方から自分の頭の方に当てる。しかしながら、イタリア人ユーザーにとってこのジェスチャは、マフィアへの参照として解釈され得る。
【0095】
[0103]同様に、単一アプリケーションの異なる環境の中に異なる文脈があり得る。自動車の操作を伴った一人称形式のシューターゲームを取りあげたい。ユーザーが歩きながら地面に向かった指でこぶしを作り、こぶしを体から前に延ばすパンチジェスチャを表し得る。ユーザーがドライビング文脈にいる間、同一動作は「ギヤシフト」ジェスチャを表し得る。ユーザーが、自分のゲームをセーブし、自分のキャラクターの装備の間で選択し、又は直接のゲームプレーを含んでいない類似の動作を実行可能な1つ以上のメニュー環境もあり得る。その環境において、この同一のジェスチャは、何か選択するか又は別の画面に進むなど、第3の意味を有し得る。
【0096】
[0104]ジェスチャ認識装置エンジン(190)は、ジェスチャフィルター(
516)に機能性を提供する基本認識装置エンジ
ンを有し得る。実施形態において、認識装置エンジ
ンが実装している機能性は、認識されたジェスチャ及び他の入力をトラッキングする時間をかけた入力のアーカイブ、(モデル化されたシステムは未知パラメーターを有するマルコフ過程である−現在の状態が、将来の状態を決定するために必要な過去の任意の状態情報を要約しているので、このために別のどんな過去の状態情報も維持される必要はない−と仮定され、隠されたパラメーターが観察可能なデータから決定される)隠れマルコフモデル実装、及び特定のジェスチャ認識実体を解決するために要求される別の機能性を含んでいる。
【0097】
[0105]フィルター(
516)がロードされ、基本認識装置エンジ
ン上に実装され、フィルター(
516)すべてにエンジ
ンによって提供されるサービスを利用できる。実施形態において、基本認識装置エンジ
ンは、受信したデータを処理し、それが任意のフィルター(
516)の要件を満足するか否か決定する。提供されるこれらの入力を解析するサービスは、フィルター(
516)それぞれによってというよりもむしろ、基本認識装置エンジ
ンによって一旦提供され、その時にフィルター(
516)ごとに一度処理されることと対照的に、上記サービスは一定時間に一度だけ処理される必要があるので、ジェスチャを決定するために要求される処理が抑えられる。
【0098】
[0106]アプリケーションは、認識装置によって提供されるフィルター(
516)を使用し得るか又は基本認識装置エンジ
ンにプラグインするそれ自身のフィルター(
516)を提供し得る。実施形態において、すべてのフィルター(
516)は、このプラグイン特性を利用可能にする一般的インターフェースを有する。更に、フィルター(
516)すべてがパラメーター(528)を利用し得るので、後述される単一のジェスチャツールが使用され得、全てのフィルターシステム(
516)をデバッグし調整し得る。
【0099】
[0107]これらのパラメーター(528)は、ジェスチャツール(
520)によってアプリケーション又はアプリケーションの文脈に関して調整され得る。実施形態において、ジェスチャツール(
520)は、スライダー(
522)それぞれがパラメーター(528)に対応している複数のスライダー(
522)と本体(524)の図的表示とを含む。パラメーター(528)は、対応しているスライダー(
522)を使って調整されるので、本体(524)が、それらパラメーター(528)を有するジェスチャとして認識される動作と、上記識別されたそれらパラメーター(528)を有するジェスチャとして認識されない動作と、の双方を実演し得る。ジェスチャのこのパラメーター(528)の可視化が、ジェスチャをデバッグ及び微調整双方に効果的な手段を提供する。
【0100】
[0108]
図6は、キャプチャ装置(608)、計算装置(610)、及び表示装置(612)を含むシステム(600)を表している。例えば、キャプチャ装置(608)、計算装置(610)、及び表示装置(612)はそれぞれ、
図1〜
図5Bに関連して説明した装置のような所望の機能性を実行する適切な任意の装置を含み得る。単一の装置がシステム(600)の機能すべてを実行し得るか又は適切な装置の任意の組み合わせが所望の機能を実行し得るように想定されている。例えば、計算装置(610)は、
図2に示した計算環境(12)又は
図3に示した計算機に関連し記載された機能性を提供し得る。
図2に示した計算環境(12)は、表示装置及びプロセッサーを含み得る。計算装置(610)は、それ自身のカメラコンポーネントも含み得るか、又はキャプチャ装置(608)のようなカメラコンポーネントを有する装置と接続され得る。
【0101】
[0109]この例において、立体視カメラ(608)が、ユーザー(602)が存在している物理的な空間(601)のシーンをキャプチャする。立体視カメラ(608)が立体視情報を処理し、及び/又は立体視情報を計算機(610)などの計算機に提供する。立体視情報は、ユーザー(602)の視覚表示を示すために解釈され得る。例えば、立体視カメラ(608)又はそれが接続される示した計算装置(610)が、ディスプレイ(612)に出力し得る。
【0102】
[0110]物理的な空間(601)のユーザー(602)の視覚表示は、動画、キャラクター、アバターなどの形式いずれかを取り得る。例えば、ユーザー(602)のような目標の視覚表示は、初め、ユーザー(602)が所望した形及び大きさに彫刻可能なデジタル粘土塊か又はディスプレイ装置(612)に示したモンキー(
603)などのキャラクター表示であり得る。視覚表示は、ユーザー(602)の特徴と、動画又はストックモデルとの組み合わせであり得る。視覚表示は、システム(600)又はアプリケーションに提供されるストックモデルであり得る。例えば、ユーザー(602)は、ゲームアプリケーションによって提供される様々なストックモデルから選択し得る。例えば、野球ゲームアプリケーションにおいて、ユーザー(602)を視覚的に表すためのオプションは、有名な野球選手の表示からタフィー又は象の一部、架空のキャラクター又はカーソル又は手の記号のようなシンボルまで任意の形式を取り得る。ストックモデルが、本システムによって検出されるユーザーの特徴を用いて修正され得る。プログラムとともにパッケージ化される視覚表示は、アプリケーション特有であり得るか又は視覚表示は、アプリケーションを越えて利用可能か又はシステムの広い範囲で利用可能であり得る。
【0103】
[0111]
図6に示した視覚表示の例は、表示装置(612)に表示したモンキーキャラクター(603)の視覚表示である。更なる画像データフレームがキャプチャされて表示され得るが、
図6に表したフレームが、例示のために選択されている。画像データのフレームがキャプチャされて表示されるレートは、表示される視覚表示の動きの連続性レベルを決定し得る。代替又は付加的な視覚表示が、別のユーザー又は非ヒューマンオブジェクトのような物理的な空間(601)の別の目標に対応し得、又は視覚表示が、部分的仮想オブジェクト又は部分的仮想オブジェクト全体であり得ることにも留意されたい。
【0104】
[0112]システム(600)は、立体視情報、画像情報、RGBデータなど、物理的な空間(601)に関する情報をキャプチャし得る。一実施形態による画像データは、立体視カメラ(608)及び/又はRGBカメラからの立体視画像若しくは画像、又は別の任意の探知器上の画像も含み得る。例えば、カメラ(608)が画像データを処理し得、それを利用して目標の形、色、及び大きさを決定し得る。人間のパターンに一致する目標又は被写体それぞれがスキャンされ、それに関連付けられた骨格モデル、フラッドモデル、ヒューマンメッシュモデルのようなモデルを生成し得る。例えば、前述した立体視情報が、
図5Aに示したユーザーの骨格モデルを生成するために使用され得、本システムは、ユーザーの頭や手足など体の一部分を識別する。例えば、観測された複数のヒューマンターゲットに関連付けられている画素の深度値、及び身長、頭の大きさ、又は肩幅など、ヒューマンターゲットの1つ以上の外観の範囲を利用し、ヒューマンターゲットの大きさが決定され得る。
【0105】
[0113]システム(600)はキャプチャされたデータを解析し、それを骨格モデルに変換することによってユーザーの手足の動きをトラッキングし得る。システム(600)はその後、骨格モデルをトラッキングし得、体の一部それぞれの動作を視覚表示のそれぞれの部分にマッピングし得る。例えば、ユーザー(602)が彼又は彼女の腕を振った場合、本システムがこの動きをキャプチャし得、それを仮想モンキー(603)の腕に適用し得、仮想モンキーも腕を振る。更に、システム(600)は、キャプチャデータの単一フレーム又は一連のフレーム全域に渡るユーザーの位置を評価することによって、ユーザーの動作からジェスチャを識別し得、ジェスチャを視覚表示に適用し得る。
【0106】
[0114]本システムは、スキャンしたデータ、画像データ、又は立体視情報などキャプチャされたデータを利用し得、特徴を検出し得る。検出可能な特徴は、システム(600)によって検出可能なユーザー又は物理的な空間に関連する任意の特徴を含み得る。例えば、検出可能な特徴は、(例えば、ユーザーの顔の特徴、髪の毛の色、音声解析など)標的特性、ジェスチャ(すなわち、ユーザーによって実行され、システム(600)によって認識されたジェスチャ)、履歴データ(システムによって検出され格納され得るユーザー傾向データなどのデータ)、アプリケーションの状況(例えば、ゲームアプリケーションにおける不成功/成功)、又はユーザーの気質を示し得るか又はユーザーの気質を推論するためにも使用され得る、システムによって検出可能な別の任意の特徴を含み得る。
【0107】
[0115]本システムは、検出可能な1つ以上の特徴を解析し得、ユーザーの気質を推論し得る。推論は、推論又は仮定に基づき得るか又はそれは特徴に関連する気質の研究結果など科学的研究法に基づき得る。かくして推論は、特定の気質を示す典型的な特徴の簡易解析、特定の気質を示すジェスチャの識別、検出可能な特徴と突っ込んだ心理学解析との比較、及び様々な気質と相互に関連がある特徴などに基づき得る。
【0108】
[0116]標的特性は、行動、音声パターン、顔の表情、骨格の動き、話し言葉、履歴データ、音声認識情報など、特定のユーザー(602)に関連付けられた情報を含み得る。標的特性は、目の大きさ、タイプ、及び色、髪の毛の長さ、タイプ、及び髪の色、膚の色、服、及び服の色など、任意の標的特性を含み得る。例えば、色は対応するRGB画像に基づいて識別され得る。ヒューマンターゲットに関する別の標的特性は、例えば、身長及び/又は腕の長さを含み得、例えば、ボディスキャン、骨格モデル、ユーザー(602)の画素領域上の範囲、又は適切な別の任意のプロセス若しくはデータに基づいて取得され得る。計算システム(610)は画像データを解釈するために、物体認識技法を使用し得、ユーザー(602)の手の大きさ、形、及び深度値に従ってユーザー(602)の視覚表示の大きさと形とを作り得る。
【0109】
[0117]説明したシステム(600)は、ユーザーの気質の指標を含むデータを物理的な空間から識別し得る。例えば、システム(600)は、物理的な空間のユーザーの動き、顔の表情、ボディランゲージ、感情などに関連する情報を集め得る。システム(10)は、ヒューマンターゲット(18)の感情又は気質の識別の支援する体位認識技法を使用し得る。例えば、システム(600)は、ユーザーの骨格モデルを解析し、トラッキングし、ユーザーがどのように動いたか決定し得る。システム(600)は、アプリケーション、オペレーティングシステムなどシステムの様子を制御するジェスチャを含む、ユーザーの体によって実行されるユーザーの体及び動きをトラッキングし得る。本システムは、ユーザーの体位、顔の表情、声色及び口調、注視方向などを識別し得る。ユーザーの声による表現は、ユーザーの気質の指標を提供し得る。例えば、使用の言語、口調、声の高さ、声量などが、ユーザーの気質感覚を伝達し得る。例えば、荒々しい口調は、怒り又は敵意として解釈され得る。その他の口調は、緊張、様子、息遣い、囁き、きしみ声、冷静、興奮、満足、又は別の任意の口調であり得る。かくしてユーザーの特徴は、ユーザーの気質に関する優れた指標である。
【0110】
[0118]本システムは、システム(600)によってキャプチャされ、検出されたユーザーの標的特性の少なくとも1つをユーザーの視覚表示に適用し得る。例えば、本システムは、ユーザーが眼鏡をかけて赤いシャツを着ていることを検出し得、眼鏡を適用し得、システムは、この例においてユーザーの視覚表示である仮想モンキー(603)に眼鏡及び赤いシャツを適用し得る。本システムは、ユーザーの眉の動き及び/又は難しい顔つきの表情又は微笑む表情などユーザーの顔の動きを識別し得る。本システムは、ユーザーによって話される言葉及びユーザーの口調、又はユーザーの体位などを検出し得る。例えば、本システムは、人の右腕を検出し得、上腕、下腕、指、親指、指の関節などを区別する忠実性を有し得る。本システムは、ユーザーの上腕及び下腕に対応しているユーザーのシャツの色を識別し得、その色を適切に視覚表示に適用し得る。本システムは、ユーザーの指の指輪又は手の入墨を識別し得、本システムによって生成されたユーザーモデルに基づいて、検出された標的特性を視覚表示に適用し得、物理的な空間におけるユーザーの特徴を摸倣し得る。視覚表示は、ユーザーのように見えて、ユーザーのように動き、ユーザーの服に似ている服などを身に付け得る。
【0111】
[0119]本システムによって検出され、ユーザーの気質を推論するために使用される標的特性の中には、ユーザーに直接適用され得ないがしかし、表示目的のために修正され得るものもある。ユーザーの特徴は、視覚表示形式、アプリケーション、アプリケーションの状態などに対応するように修正され得る。特徴の中には、視覚表示が、ユーザーの視覚表示に直接にマッピングし得ない、架空のキャラクターであるものもある。例えば、表示装置(612)に示したモンキー(603)などユーザーのキャラクター表示は、ユーザー(602)に類似しているがしかし、例えば、特定のキャラクターに対し修正された体の比率を与えられ得る。モンキーの表示(603)は、ユーザー(602)に類似した身長を与えられ得るがしかし、モンキーの腕は、ユーザーの腕よりも比率として長くすることができる。モンキー(604)の腕の動きは、本システムによって識別されたユーザーの腕の動きに対応し得るがしかし、本システムは、モンキーの腕の動き方を反映するようにモンキーの腕の動画を修正し得る。
【0112】
[0120]
図6に示した例において、ユーザーは、頭を横に傾け、右肘を膝の上に置いて、頭をユーザーの右手で支えて座っている。ユーザーの顔の表情、体位、話される言葉、又は別の任意の検出可能な特徴が仮想のモンキー(603)に適用され、適切な場合、修正され得る。例えば、ユーザーは物理的な空間において、難しい顔つきをしている。本システムは、この顔の表情を検出し、仮想モンキーも難しい顔つきをするようにモンキーに対し難しい顔つきを適用する。更に、その姿勢のモンキーの体のタイプ及び大きさに対応するための修正を除き、モンキーは、ユーザーに類似した姿勢で座っている。同様に、本システムは、ユーザーの標的特性を使用し、ユーザーの気質を推論し、その後、気質を示す属性をユーザーの視覚表現に適用するがしかし、システムは、ユーザーの特徴に直接マッピングし得るか又はマッピングし得ない。
【0113】
[0121]システム(600)は、検出された標的特性を可能性ある気質のライブラリーと比較し得、どの属性がユーザーの視覚表示に適用される必要があるか決定し得る。例えば、
図7及び
図8に関連して更に後述した計算機(610)は、気質情報の編集物をルックアップテーブルに格納し得る。ルックアップテーブルは、特有又は一般の気質情報を含み得る。検出した特徴が、ユーザーの気質を推論するためにルックアップテーブルと比較され得る。
解析は、検出した体位、顔の表情、口調、及び言葉、ジェスチャ、履歴データとの比較などを含み得る。
【0114】
[0122]
図7は、ユーザーの気質を推論し、気質に対応している視覚表示を示すための気質を示す属性を選択する方法例を示している。例えば、(702)において、本システムは、ユーザーを含む物理的な空間からデータを受信する。前述したキャプチャ装置が、シーンの立体視画像及びシーンのスキャンターゲットなどシーンデータをキャプチャし得る。キャプチャ装置は、シーンの1つ以上の目標が、ユーザーのようなヒューマンターゲットに対応しているか否か決定し得る。人体モデルに一致する目標又は被写体それぞれが、その後、それに関連付けられた骨格モデルを生成するためにスキャンされ得る。骨格モデルは、その後、骨格モデルをトラッキングし、骨格モデルに関連付けられた視覚表示をレンダリングするために計算環境に提供され得る。
【0115】
[0123](704)において、本システムは、ユーザーの視覚表示をレンダリングし得る。視覚表示は、例えば、モデルに基づき得る。物理的な空間(601)における目標の視覚表示は、動画、キャラクター、アバターなど任意の形式を取り得る。視覚表示は、最初は、ユーザー(602)が、モンキー(
603)など所望の形及び大きさに形を変えることが可能なデジタル粘土塊か又はキャラクターの表示であり得る。視覚表示は、キャプチャ装置によって検出されたユーザーの特徴に基づいて直接モデル化され得るか又はそれは、選択したユーザーの特徴を有する架空のキャラクターであり得る。視覚表示は、ユーザー(602)の特徴と動画との組み合わせか又はストックモデルであり得る。
【0116】
[0124](706)において、本システムは、ユーザーをトラッキングし得、ユーザーの気質の指標であるユーザーの特徴を検出し得る。例えば、本システムは、ユーザーの顔の表情及び体の動きをトラッキングし得、気質を識別し得、その後、その気質をアバターがユーザーの感情を反映するように適用し得る。本システムは、検出可能な任意の特徴を利用し得、視覚表示に適用するためのユーザーの気質を評価し得る。(708)において、本システムは、検出した特徴を解析し得、ユーザーの気質を推論し得る。例えば、本システムにおいてプロセッサーが、気質情報をルックアップテーブル又はデータベースに格納し得る。検出したユーザーの特徴は、データベース又はルックアップテーブル内の様々な気質の指標である特徴と比較され得る。例えば、ルックアップテーブルが「悲しみ」の気質の指標である特徴を定義し得る。上記特徴は、難しい顔つき、泣き顔、低い静かな口調、胸の前の腕組みがあり得る。物理的な空間におけるユーザーのこれらの特徴のいくつか又はすべてが検出された場合、プロセッサーは、ユーザーが「悲しみ」の気質を提示していることを推論し得る。
【0117】
[0125]ルックアップテーブル又はデータベースは、例えば、適用可能なアプリケーションに適用し得るか又はシステムの広い範囲に適用し得る。例えば、ゲームアプリケーションは、ゲームに適用可能な様々な気質を示す特徴を定義し得る。定義される気質は、特有の気質及び一般の気質を含み得、1つ以上の入力(すなわち検出された特徴)を気質それぞれを定義している特徴と比較して気質を識別し得る。ルックアップテーブル又はデータベースに対する参照が例示的であることも留意されていて、本明細書に開示した技法に関連する気質情報が、適切な任意の方法でアクセスされ得、ストアされ得、パッケージ化され得、提供され得、生成され得ることなどが想定されている。
【0118】
[0126]代替又は組み合わせとして、(710)において、本システムは、キャプチャされたユーザーに関連するデータから気質リクエストジェスチャを識別し得る。例えば、ユーザーは、特定のジェスチャが、ユーザーの視覚表示に適用されることをリクエストするジェスチャを実行し得る。
【0119】
[0127](712)において、本システムは、ユーザーのジェスチャから推論又は識別された気質を反映する、ユーザーの視覚表現に適用するための属性を選択し得る。特定の気質に適用可能な属性は、ルックアップテーブル又はデータベースにも存在し得る。選択された属性は、キャプチャ装置によって検出されたユーザーの特徴であり得るか、及び/又は選択された属性は、気質を反映する動画であり得る。例えば、ユーザーが「悲しみ」の気質の特徴の指標を示していることを本システムが推論した場合、ルックアップテーブルは、上記気質を反映する様々な動画を示し得る。本システムは、これらの属性のいくつかを選択し得、それらをユーザーの視覚表示に適用し得る。
【0120】
[0128](714)において、属性の視覚表示への適用はリアルタイムに生じ得る。かくして、体認識解析が一緒にリアルタイムに実行され得、ユーザーの心的状態又は感情などに関連しキャプチャされたデータが、ユーザーの視覚表示にリアルタイムに適用され得る。ユーザーは、故に、ユーザーの感情又は気質のリアルタイム表示を鑑賞できる。
【0121】
[0129](716)において、本システムは時間とともに、物理的な空間におけるユーザー及び任意の動作をトラッキングし続け得、(718)において、気質における変化を反映するために修正又は更新を視覚表示に適用し得る。例えば、更新は、検出したユーザーの特徴及び履歴データにおける変化に基づき得る。いつでも、キャプチャ装置は、ユーザーの行動及び癖、感情、音声パターンなどを識別し得、ユーザーの気質を決定し得、これらをユーザーの視覚表示に適用し得る。更新は、リアルタイムに視覚表示へ適用され得る。例えば、本システムが時間とともに、ユーザーの表情をキャプチャし、模倣し、視覚表示を介しユーザーの気質を反映することが望まれ得る。
【0122】
[0130]
図8は、ユーザーの気質を推論するために利用されるルックアップテーブ
ルの例を表している。
図8に示した気質のルックアップテーブ
ルの例は、顔の表情(802)、口調(804)、声量(806)、言葉(808)、体位(810)、ジェスチャ(812)、適用結果(814)、履歴データ(816)など、検出可能な特徴のカテゴリーを含んでいる。検出された特性又は特徴は、本システムがキャプチャ装置を介し検出可能な標的特性、アプリケーションの状況などを含む情報をキャプチャし得る、物理的な空間における任意の特徴を含み得る。ルックアップテーブ
ルのカテゴリーは例示的であって、カテゴリー数及びタイプのいくつかが、ユーザーの気質解析の一部であり得る。例えば、カテゴリーは更に、検出された別のユーザー又は被写体との情報のやりとり、ユーザーが着ている服のタイプ、ユーザーの体の別の一部に関する解析などを含み得る。ユーザーの態度又は気質の解析の一部に使用され得るいくつかの方法によって、システム(600)によってキャプチャされ得る検出可能なユーザーの任意の特性又は特徴が、適用可能であり得ることが想定される。
【0123】
[0131]
図8に3人のユーザーに関し検出された特徴の3つの例が示されていて、列A、列B、及び列Cそれぞれが検出された特徴を表している。
表の最初の部分は、シーンにおいてキャプチャされる検出可能な標的特性を表している。
表の2番目の部分は、ユーザーによって実行されるジェスチャの識別、アプリケーションの状態、及び上記の結果、及び/又はユーザー又はアプリケーション特有の履歴データなど検出可能な別の特徴を表している。
表の最後の部分は、利用できる検出可能な特徴の解析結果としてユーザーの気質に関する本システムの推論を表している。記述した
表のカテゴリーは例示用に過ぎず、検出可能な更なる特徴を多かれ少なかれ含み得る。
【0124】
[0132]列Aは、本システムによって検出される特徴の実施形態例を表している。列Aにおいて、本システムは、第1のユーザーが、難しい顔つきを含む顔の表情を有していることと、適用の結果が失敗していることと、第1のユーザーに関する履歴データが、失敗した結果の後、ユーザーが難しい顔をする傾向を示していることと、を検出し得る。これら検出される特徴のシステム解析は、第1のユーザーの気質が「一般的に後ろ向き」であることを示し得る。場合によって検出可能な更なる特徴は、より特有の気質を提供するがしかし、本システムは、利用可能なデータを用いたより一般的な、一般的に後ろ向きの気質を推論する。
【0125】
[0133]第2のユーザーに関連して列Bに説明される検出可能な特徴を用いて、本システムは、難しい顔つきの表情、簡潔な口調、無口、どんな言葉もないことを検出するがしかし、ユーザーの体位は、背中を曲げ、頭を一方に傾け、一方の手で支えている姿勢を含んでいる。本システムは、これらの特徴からユーザーの気質が、
「一般的
に後ろ向き
」又は場合によっては退屈、疲弊、怒り、悲しみなどを決定し得る。本システムは更に、ゲームアプリケーションにおいてプレーする異なるユーザーの順番であって、異なるユーザーが長い間続けている第2のユーザーに関して検出し得、ユーザーの履歴データの解析からこれらの状況下におけるこのユーザーの気質の傾向を検出している。そのデータを用いて、本システムは、第2のユーザーの気質が、一般的
に後ろ向きであるだけではなく、特に退屈か又は無関心であることも決定し得る。例えば、本システムは、第2のユーザーが、ゲームアプリケーションにおいて「退屈」の気質に対応する顔の表情、口調、体位などを有する動作中のプレーヤーでないとき、第2のユーザーの傾向を識別し得る。
【0126】
[0134]例えば難しい顔つきの表情が、多くの気質に対応し得ることが想定される。
表に示した特定の気質それぞれを示す気質及び特徴例は、例示的に過ぎない。検出可能な特徴それぞれは、気質をより特定の態度又は心的状態に限定するために使用され得るか、又は本システムは、単に
「一般的
に後ろ向き
」又は
「前向き
」の態度を識別し得る。
【0127】
[0135]列Cに示した第3のユーザーの検出可能な特徴は、笑顔の表情と、「
おお」、「素晴らしい」という言葉と、大声でもある満足な口調と、及び両腕を上げて上下に跳躍す
る体位と、を含んでいる。第3のユーザーに対し成功したゲームの結果としてもたらす上下跳躍する動作は、アプリケーションに適用可能なジェスチャの指標でもあり得る。検出可能なこれらの特徴とユーザーの履歴データとの比較は、この情報に基づく第3のユーザーのありがちな気質の指標も提供し得る。この例において、本システムは、検出可能な特徴に基づくユーザーの気質が「興奮」の気質であることを推論する。
【0128】
[0136]本システムは、ユーザーの実際の特徴を単に視覚表示へマッピングし得る。視覚表示がユーザーの検出された特徴に直接マッピングする実施形態例において、ユーザーの気質は、視覚表示が、本来、検出したユーザーの特徴を反映するように視覚表示によって示される。しかしながら、視覚表示は、常にユーザーの直接表現ではないので、本システムは、視覚表示形式に対応する気質を修正し得る。ユーザーの気質を推論すると、本システムは、その気質を反映するために、ユーザーの視覚表示に適用する適切な動画を決定し得る。
【0129】
[0137]例えば、
図6は、対応するモンキーキャラクターの特徴を示すように修正されたユーザーの顔の表情、体位などのユーザーの視覚表示(603)への適用を表している。モンキーが難しい顔つきをしているがしかし、モンキーの口はユーザーの口の直接的マッピングをしていないがむしろ、本システムは、モンキーが難しい顔つきになった場合、それが見える方法で検出された難しい顔つきを仮想のモンキーの口に適用し得る。ユーザーの気質をユーザーの視覚表示へ変換することは、多くの形式を取り得、いくつかの動画を含み得る。例えば、ユーザーの視覚表示が「家」である場合、家は顔の特徴を用いて動画化され得ない。かくして、本システムは、ユーザーの気質を新しい形式へ変換することによって、気質を家にマッピングし得る。例えば、本システムがユーザーの顔の表情又は体位に基づいて検出された「悲しみ」の気質をユーザーが有していることを検出した場合、本システムは、これを家に変換し得、がっくりした仮想的な家の仮想的なウィンドウを表示することによって、それが膨れるように見え、その後、正面玄関から空中にはき出されるように動画化し、家がため息をついた外観を与える。
【0130】
[0138]システムは、検出可能な特徴に基づいて、ユーザーの心的状態又は態度があり得る気質を推論できる。気質は、ユーザーの感情又は思いを表現しているユーザーの感情的反応の表現をいくつか含み得る。識別された気質は、一般的
に前向き又は後ろ向きか、又はそれは曖昧であり得る。識別された態度は、満足、怒り、不満、退屈、悲しみなど、より特有であり得る。態度の特異性は、態度/感情/心的状態ライブラリーに依存し得、システム(600)が、一般から特有に至るユーザーの様々な態度を識別し得る。例えば、本システムは、検出可能なユーザーの直立の体位及び明るい口調の特徴からユーザーが、一般
的に前向きの態度を有していることを決定し得る。代替として、本システムは、より具体的には、体の直立した体位が、腕を上げた上下の跳躍を含んでいて、ユーザーの履歴データが、検出可能なこれらの特徴が興奮している気質を示しているので、ユーザーが興奮していることを決定し得る。異なるアプリケーションは、一般的かつ特有の心的状態及び気質双方の広大なデータベースを有し得、別のアプリケーションは、一般的に前向き又は一般的に後ろ向きの一般的気質を推論し得る。
【0131】
[0139]より多数の検出可能な特徴は、ユーザーの態度のシステム解析の忠実性を増大し得る。ユーザーの体位の変化は、ユーザーの気質の強い指標であり得る。ユーザーの姿勢は、ユーザーの体位、ユーザーの立ち方、座り方、彼又は彼女の胸の反り、及びユーザーが自分の腕、脚、及び足を置く場所、を含み得る。例えば、ユーザーが彼又は彼女の頭を一方に傾けて背中を曲げ、頭はユーザーの手によって支えられている場合、本システムは、退屈か又は無関心なユーザーの気質を識別し得る。あるいは、例えば、ユーザーが、頭を立て、胸の前で腕組みをし、唇をむすんだ表情で正座している場合、本システムは、ユーザーの不合意、防御、不満のうち一つの気質を識別し得る。一般的に、後ろ向きの意味合いは、ユーザーのアバターに反映され得る。本システムは、ユーザーの首又は肩の筋肉を固く締める結果のユーザーの体位の変化を検出し得る。時々、ユーザーの前かがみの姿勢は単に、ユーザーがリラックスしているか又はおそらく悪い姿勢をしている指標である。ユーザーの頭の姿勢は、ユーザーの気質の指標であり得る。本システムは、ユーザーの顎の緊張又は眉間のしわの刻みを検出し得る。
【0132】
[0140]
図9は、本システムがユーザーの検出可能な特徴をトラッキングし、気質を推論している
図6に示したシステム(600)を表している。気質は、ユーザーの検出可能な特徴を視覚表示にマッピングすることによって、ユーザーの視覚表示に反映され得る。気質は、特定の気質に対応する動画のアプリケーションによってユーザーの視覚表示にも反映され得る。
図9は、物理的な空間(601)の時間内の3つの時点でユーザー(602)を表していて、(901a)、(901b)、及び(901c)は時間内の離散的な3つの時点の物理的な空間を表している。時点それぞれにおいて、ユーザー(602)は、顔の表情を変え、変更し、異なる動作及び/又は動いた体位を実行している。システム(600)は、時点それぞれの物理的な空間(601)の目標、ユーザー(602)をキャプチャし得、時点それぞれの(902a)、(902b)、及び(902c)に示される検出可能なユーザーの特徴をキャプチャし得る。ユーザー(602)の視覚表示の結果として生じた表示例の2つが、表示例(912a)及び表示例(912b)に示されている。
【0133】
[0141]前述したユーザーの視覚表示は、任意の動画、キャラクター、アバターなどがあり得る。
図9に示した例視覚表示は、(装置912aに示した)アバター(905)又は(装置(912b)に示した)キャラクター(907)である。アバター(905)は、例えば、物理的な空間のユーザーの体位、髪の毛の色、衣服などにマッピングしているユーザーの厳密な表現であり得る。キャラクター(907)は、例えば、示したモンキーなどのキャラクター表示であり得る。また、キャラクター(907)は、システム(600)によってキャプチャされたユーザーの特徴も有し得る。例えば、顔の表情、衣服などがキャラクターの表示へマッピングされ得る。
【0134】
[0142]システム(600)は、物理的な空間からユーザーの気質の指標を含むデータを識別し得る。システム(600)は、気質を示す属性をユーザーの視覚表示に適用することによってユーザーの気質を視覚表示へ適用する。更に、システム(600)は、ユーザーの動きからキャプチャデータの単一フレーム又は一連のフレーム上のユーザー位置を評価することによってジェスチャを識別し得る。システム(600)は、データのそれぞれフレームから、データのフレームと時間とともにキャプチャされたデータにおける変化、ユーザーの気質を識別するため音声データキャプチャされたデータ、及び別の任意の入手可能な情報からも識別されたジェスチャ又は感情などからの情報の組み合わせを使用し得る。
【0135】
[0143]実施形態例において、アバター(905)は、画像データ解析から決定された特徴を与えられ得る。ユーザー(602)は、ユーザー(602)自身の特徴、物理的又は別のものが視覚表示によって示されるユーザー(602)の特徴にマッピングされる視覚表示に関して選び得る。ユーザー(602)の視覚表示も呼び出され、アバター(905)などのアバターは、人体比率、顔の特徴などのようなユーザー(602)の特徴に基づいて初期化され得る。例えば、骨格モデルは、身長、手足の体重などユーザー(602)の体型を摸倣したユーザー(602)の視覚表示生成のためのベースモデルである。その後、検出されたユーザー(602)の髪の色、皮膚、衣服、及び他の特徴が視覚表示へマッピングされ得る。
【0136】
[0144]ユーザーの動作に関するマッピングは、視覚表示が修正に適合させられ得るとき、ユーザーの動きの直接変換でない場合がある。例えば、ユーザーの視覚表示は、顔の特徴がない架空のキャラクターであり得る。本システムは、視覚表示形式に適切なユーザーの気質を別の方法で反映し得る。かくして、ユーザーの動作は、視覚表示の形式を反映するようにいくつか追加された動画を有する視覚表示へのマッピングが、変換され得る。例えば、
図9において、ディスプレイ装置(912b)に示したユーザーの視覚表示は、モンキーキャラクター(907)のそれである。ユーザー(602)の視覚表示(907)が、ユーザーの自己の物理構造の表現でないので、ユーザー(602)の動作及び/又は気質が、視覚表示(907)が取る形式を用いて一貫性があるように変換される。この例において、例えば、検出された特徴及び/又は気質は、モンキー(907)の特徴を有する一貫性があるように変換され得る。
【0137】
[0145]ユーザーの気質の指標でもあり得るユーザーの特徴は、検出可能な特徴のシステムの解析に基づいて視覚表示にマッピングされ得、その結果、物理的な空間のユーザーの外観及び/又は動きを模倣する。この例において、本システムは、物理的な空間において検出可能な時間内の3時点(901a)、(901b)、及び(901c)のユーザーの特徴をトラッキングする。ユーザーは、位置(902a)のユーザーが片側に傾いた頭を手で支えて座っていることを検出し得る。ユーザー(902a)は、難しい顔つきをし得、退屈又は不満な気質の指標である音声を出し得るか又は言葉を話し得る。かくして、本システムは、時間をかけて検出可能な特徴を解析し得、ユーザーの気質を推論し得る。
【0138】
[0146]この例において、本システムは、ユーザーの「退屈」な気質を推論する。本システムは、時点(901a)における物理的な空間からキャプチャされたデータからユーザーの気質を推論し得る。本システムは、検出可能なユーザーの特徴をトラッキングし続け得、(901b)及び(901c)において物理的な空間は、時間内の異なる時点のユーザーの例を表している。本システムは、物理的な空間(901a)のシーンからキャプチャされたデータ、又はキャプチャされたデータの複数フレームの結果として時間とともに3つのシーン(901a)、(90b)、(901c)すべてからキャプチャされたデータなど、キャプチャされたデータの単一フレームに基づいて推論された気質を示す属性を適用し得る。本システムは、単一フレームに基づいて及び/又は時間とともに推論された気質を示す属性を適用し得る。推論された気質の信頼性は、検出可能なユーザーの特徴の継続的解析に基づいて増大し得る。代替として、本システムは、検出可能な特徴における変化に基づいて異なる気質を検出又は推論し得る。
【0139】
[0147]本システムは、検出された特徴をユーザーの視覚表示に適用することによってそれらをリアルタイムに表示し得る。かくして、
図6に示した視覚表示(603)は、検出された多くのユーザーの特徴(例えば、顔の表情、体位など)を表している。同様に、本システムは、ユーザーの気質を推論するためにユーザーの標的特性を使用するがしかし、気質の指標であるがユーザーの特徴に直接マッピングし得るか又はし得ないユーザーの視覚表現に属性を適用し得る。例えば、本システムは、検出された特徴からユーザーにはおそらく「興奮と満足」の気質を有していると推論し得る。この検出された気質を示す特徴は、ゲームアプリケーションにおける上下の跳躍動作、興奮した叫び、成功動作、及び微笑などの特徴であり得る。本システムは、ユーザーの気質を推論するために、これらの特徴を、例えば様々な気質を示す特徴を有するデータベースと比較し得る。本システムは、これらの特徴が気質を示す属性の好例であり得るとき、標的特性を視覚表示に直接適用し得る。しかしながら、本システムは、代替として又は追加として、適用された属性がユーザーの特徴の直接マッピングであるか否かにかかわらず、気質を示す属性を適用し得る。例えば、本システムがユーザーの検出可能な特徴から「満足と興奮」の気質を推論した場合、本システムは、スクリーン上でダンスをするか又は空に跳躍し星をつかむユーザーを動画化するユーザーの視覚表示を動画化し得る。本システムは、表示装置上で(例えば「私は本当に満足している」又はおどけた若しくはばかげた何か)点滅する言葉など、別の気質を示す属性を適用できる。
【0140】
[0148]
図9において、検出可能な多くのユーザーの特徴を有するアバター(905)の動画の例は、アバター(905)壁に向けた頭が「退屈だなあ」と言いながら立っている。ユーザー(602)は、本システムによってキャプチャされた任意の時点でこの動作を実行しておらず、これらの言葉を言っていないがしかし、本システムは、それらが「退屈」な気質を示すのでこれらの属性をユーザーに適用し得る。同様に表示装置(912b)は視覚表示の表示例を示していて、両腕を引きずって非常にゆっくり「ワー、ワー、アー、アー」というモンキーの鳴き声を出しているモンキーキャラクター(907)が示されている。モンキーに適用された属性は、退屈している気質を示す。属性は、例えば、モンキーなどのキャラクターに特定であり得るルックアップテーブルに基づいてシステムによって識別され得るか、又は属性は、通常、多くのタイプの視覚表示に適切であり得る。
【0141】
[0149]アバター(905)及びモンキーの表示(907)は、表示され得る異なる2つの視覚表示の例であって、表示装置の例(912a)及び(912b)に示される。視覚表示(905)、(907)それぞれと、ユーザー(602)の気質を示す属性の適用とは、物理的な空間に関連して時間(901a)にキャプチャされたキャプチャデータの単一のセットに基づき得る。代替として視覚表示(905)、(907)それぞれの表示例の双方は、時間とともにユーザー(602)を監視している本システムの結果であり得る。ユーザーは、ユーザーの気質を更新するために、時間とともにキャプチャされたデータを使用し得、より多くの特徴を視覚表示に追加し、より特定の気質を示す属性などを適用し得る。
【0142】
[0150]ユーザーの視覚表示に対し特定の気質を示す属性適用の結果として、ユーザー(602)がジェスチャを実行し得る。気質識別ジェスチャは、特定の気質を示す属性をユーザーの視覚表示に適用するリクエストとして解釈されるジェスチャであり得る。例えば、
図9のユーザーの「退屈」な気質に関するシステムの検出が、物理的な空間において「退屈」な気質を示している、本システムのユーザーのジェスチャの認識結果であり得る。ジェスチャは、(902c)において、例えば、腕を胸の前で組んでいるユーザーの体位を含み得る。このようにユーザーの単に立っている動きから動作を区別するためのジェスチャは、腕を大げさにその位置に保持するか又は腕を胸の前でゆっくり組む動作を含み得る。図
2に関連し説明したジェスチャ認識エンジン(
190)のようなジェスチャ認識エンジンは、ジェスチャライブラリー(
192)のジェスチャに対応するジェスチャフィルターとユーザーの動作とを比較する。ユーザー(602)のキャプチャ動作は、例えば、ジェスチャライブラリー(
192)内の気質識別ジェスチャ(196)に対応し得る。かくして、上記属性の視覚表示への適用は、ユーザーのジェスチャによる制御又はそこから認識され得るオペレーティングシステム及び/又はアプリケーションの様子であり得る。
【0143】
[0151]気質識別ジェスチャは、典型的に、特定の気質に関連付けられた特徴を含み得るか又は含み得ない。例えば、「悲しみ」の気質に関するジェスチャは手の動きがあり得、「悲しみ」の気質を有しているとき、手の動きは、人が典型的に作る特徴でない。しかしながら、手の動きは「悲しみ」の気質を示す属性を視覚表示へ適用するように、ユーザーがシステムに指示することが実行可能なジェスチャであり得る。したがってユーザーは、物理的な空間においてジェスチャを実行することによって、ユーザーの視覚表示の気質を制御可能である。ユーザーは、気質に対応するジェスチャを意図的か又は無意識に実行し得る。例えば、胸の前でユーザーの手が組まれるジェスチャは、不満の気質として認識されるジェスチャであり得、ユーザーが不満に感じているのでユーザーは、ジェスチャに対応する動作を単に実行し得る。
【0144】
[0152]ユーザーが、難しい顔つきのような自分の表現とともに不満そうなことを示すジェスチャのシステムの認識が、結果として不満な気質を反映する視覚表示をもたらし得る。代替としてユーザーは、ユーザーの視覚表示に適用される特定の気質をもたらすジェスチャを物理的な空間において故意に実行し得る。例えば、ユーザーは、ちょうどゲームに勝ったところか又はアプリケーションにおいて何かうまくいったところであり得る。「満足」の気質に関するジェスチャは、両腕を上げたユーザーの上下の跳躍をもたらす動きを含み得る。ユーザーは、「満足」の気質ジェスチャを実行し得、標的特性及び/又は「満足」の属性いくつかをユーザーの視覚表示へ適用することを本システムにもたらし得る。例えば、前述したユーザーの視覚表示は、システムが満足の気質の表現に関連している腕立て側転を実行し得るか又はダンス若しくは別の任意の活動を実行し得る。かくして、仮想の空間のジェスチャは、コンピューターゲームなどのアプリケーションのコントロールとして作用し得るが一方、それらは、ユーザーの視覚表示に特定の気質を反映するようにシステムに求めるユーザーによるリクエストにも応答し得る。
【0145】
[0153]システム(600)は、検出可能な特徴を監視することによって、ユーザーの視覚表示におけるユーザーの気質を更新し得る。システム(600)は、時点(901a)、(901b)、(901c)におけるユーザーからキャプチャされるそれぞれのデータフレームからの情報と、データフレーム間の時間とともにキャプチャされたデータ、標的特性、及び標的特性の時間における変化から識別されたジェスチャからの情報と、及び顔の表情、体位、音声データなど利用可能な別の任意の情報と、の組み合わせを使用し得、ユーザーの視覚表示によって反映されるように気質を識別し、更新する。
【0146】
[0154]物理的な空間においてユーザーに関連付けられた標的特性は、プロファイルの一部になり得る。プロファイルは、例えば、特定の物理的な空間又はユーザーに特有であり得る。ユーザーの特徴を含むアバターデータは、ユーザーのプロファイルの一部になる。プロファイルは、キャプチャシーンへのユーザーのエントリー時、アクセスされ得る。プロファイルがパスワード、ユーザーによる選択、体の大きさ、音声認識などに基づいて、ユーザーと一致した場合、そのプロファイルが、ユーザーの視覚表示の決定時に使用され得る。
【0147】
[0155]ユーザーに関する履歴データは、監視され得、ユーザーのプロファイルに情報を格納する。例えば、本システムは、ユーザーの行動、音声パターン、感情、音声など、ユーザー特有の特徴を検出し得る。本システムは、気質を視覚表示に適用するとき、それらの特徴をユーザーの視覚表示に適用し得る。例えば、本システムがユーザーの気質を識別し、気質を反映するための発話を含む属性を選択した場合、視覚表示の音声はユーザーの音声パターンからパターン化され得るか、又はユーザー自身の音声録音でさえあり得る。
【0148】
[0156]ユーザー特有の情報は、1人以上のユーザーによるプレーのモード傾向も含み得る。例えば、ユーザーが一定の方法で行動又は反応する傾向がある場合、本システムは、ユーザーの傾向をトラッキングし得、ユーザーの気質をより正確に推論し得る。例えば、本システムが「怒り」の気質を表示するユーザーの体位を検出した場合、ユーザーは(ゲームのような)アプリケーションにおいてユーザーが失敗する度に類似のやり方で行動する傾向があり、本システムが、この情報をトラッキングし得る。かくして本システムは、ユーザーの傾向をトラッキングすることを開始し得、ユーザーの気質をより正確に評価するためにその情報を使用し得る。
【0149】
[0157]本明細書に記載した構成及び/又は手法は、本来、例示的であって、これらの具体的な実施形態又は例は、限定している意味として考えられないように理解されたい。本明細書に記載した特定のルーチン又は方法は、1つ以上の処理の戦略をいくつも示している。したがって、例示した様々な動作が、例示した順番、別の順番、並列などで実行され得る。同様に前述したプロセスの順序は変更され得る。
【0150】
[0158]更に、本開示が様々な図面に例示した特定の態様に関連して説明されているが一方、別の類似した態様が使用され得るか、又は本開示の同一機能を実行するための修正及び追加がそれから逸脱せずに説明した態様に対し実行され得ることが理解されよう。本開示の対象項目は、本明細書に開示した様々なプロセス、システム、及び構成、並びにその他の特徴、機能、動作、及び/又は特性に関する新規及び非新規の組み合わせ及び部分的な組み合わせすべて、並びにその同等物のいくつか及びすべてを含む。かくして開示した実施形態の方法又は装置、又はいくつかの態様又はその一部は、フロッピーディスク、CD−ROM、ハードドライブ、又は別の任意の計算機可読記憶媒体など、実際の媒体で具体化されたプログラムコード(すなわち命令)形式を取り得る。プログラムコードがマシンによってロードされ実行されるとき、計算機のようなマシンが開示した実施形態を実施するように構成される機器になる。
【0151】
[0159]明示的に本明細書に説明した特定の実装に加えて、本明細書に開示した明細書の考慮から当業者には別の態様及び実装が明らかになろう。したがって、本開示は、単一の任意の態様に限定されるのではなく、むしろ添付の請求に従った全域及び範囲内で解釈される態様に限定されるべきである。例えば、本明細書に記載された様々な手順は、ハードウェア又はソフトウェア、又は双方の組み合わせで実装され得る。