JP5576932B2 - キャラクターにアニメーションまたはモーションを加えるシステムおよび方法 - Google Patents

キャラクターにアニメーションまたはモーションを加えるシステムおよび方法 Download PDF

Info

Publication number
JP5576932B2
JP5576932B2 JP2012513147A JP2012513147A JP5576932B2 JP 5576932 B2 JP5576932 B2 JP 5576932B2 JP 2012513147 A JP2012513147 A JP 2012513147A JP 2012513147 A JP2012513147 A JP 2012513147A JP 5576932 B2 JP5576932 B2 JP 5576932B2
Authority
JP
Japan
Prior art keywords
motion
user
model
virtual character
joints
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012513147A
Other languages
English (en)
Other versions
JP2012528390A (ja
JP2012528390A5 (ja
Inventor
ペレス,キャスリン・ストーン
キップマン,アレックス・エイ
マーゴリス,ジェフリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012528390A publication Critical patent/JP2012528390A/ja
Publication of JP2012528390A5 publication Critical patent/JP2012528390A5/ja
Application granted granted Critical
Publication of JP5576932B2 publication Critical patent/JP5576932B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/251Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/215Input arrangements for video game devices characterised by their sensors, purposes or types comprising means for detecting acoustic signals, e.g. using a microphone
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/816Athletics, e.g. track-and-field sports
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1087Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals comprising photodetecting means, e.g. a camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5593Details of game data or player data management involving scheduling aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/69Involving elements of the real world in the game world, e.g. measurement in live races, real video
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8005Athletics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

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

Description

従来技術
[0001] コンピューター・ゲーム、マルチメディア・アプリケーション等のような多くの計算アプリケーションは、アバターまたはキャラクターを含み、これらは、典型的なモーション・キャプチャー技法を使って動画化される。例えば、ゴルフ・ゲームを開発するとき、モーション・キャプチャー機器を有するスタジオにプロのゴルファーを連れてくることができる。モーション・キャプチャー機器は、例えば、スタジオ内の特定ポイントに向けられている複数のカメラを含む。次いで、プロのゴルファーに、複数のポイント・インディケーターを有するモーション・キャプチャー・スーツを着用させる。モーション・キャプチャー・スーツは、カメラが、例えば、プロのゴルファーのゴルフをするモーションを取り込むことができるように構成され、カメラによって追跡させることができる。次いで、これらのモーションを、ゴルフ・ゲームの開発中に、アバターまたはキャラクターに適用することができる。ゴルフ・ゲームが完成したとき、アバターまたはキャラクターは、ゴルフ・ゲームの実行中にプロのゴルファーのモーションで動画化することができる。
生憎、典型的なモーション・キャプチャー技法は、費用がかかり、特定のアプリケーションの開発に結びつけられており、実際のプレーヤーまたはアプリケーションのユーザーと関連付けられたモーションを含まない。
[0002] 本明細書において開示するのは、アニメーションを混合する(blend)するシステムおよび方法である。例えば、一実施形態では、ユーザーの生のモーションを取り込み、アーティストが生成した予め記録されたモーションというような予め記録されたモーション、予め記録されたユーザーのモーション、および/またはプログラムで制御された変換を受けることができる。次いで、生のモーションを仮想キャラクターの第1部分に適用することができ、予め記録されたモーションをこの仮想キャラクターの第2部分に適用することができ、仮想キャラクターが生のモーションおよび予め記録されたモーションの組み合わせで動画化されるようにすることができる。一実施形態によれば、生のモーションおよび/または予め記録されたモーションは、ユーザーからのジェスチャーを受けたことに応答して、仮想キャラクターに適用することができ、ジェスチャーにはアニメーション・コマンドを関連付けることができる。加えて、仮想キャラクターは、予め記録されたユーザーのモーション、および予め記録されたアーティストが生成したモーションというような、予め記録されたモーションの組み合わせで、例えば、予め記録されたユーザーのモーションを仮想キャラクターの第1部分に適用し、予め記録されたアーティストが生成したモーションを仮想キャラクターの第2部分に適用することによって、動画化されていてもよい。
[0003] この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定するために使われることを意図するのでもない。更に、特許請求する主題は、本開示のいずれの部分に記されている実施形態のうちいずれかの欠点を解決するものにも、また全ての欠点を解決するものにも限定されないものとする。
図1Aは、ターゲット認識、分析、および追跡システムの一実施形態例を、ゲームをプレーするユーザーと共に示す。 図1Bは、ターゲット認識、分析、および追跡システムの一実施形態例を、ゲームをプレーするユーザーと共に示す。 図2は、ターゲット認識、分析、および追跡システムにおいて使うことができるキャプチャー・デバイスの一実施形態例を示す。 図3は、ターゲット認識、分析、および追跡システムにおいて1つ以上のジェスチャーを解釈するため、および/またはターゲット認識、分析、および追跡システムによって表示された仮想キャラクターを動画化するために使うことができる計算環境の一実施形態例を示す。 図4は、ターゲット認識、分析、および追跡システムにおいて1つ以上のジェスチャーを解釈するため、および/またはターゲット認識、分析、および追跡システムによって表示された仮想キャラクターを動画化するために使うことができる計算環境の他の実施形態例を示す。 図5は、ユーザーのモーション・キャプチャー・ファイルを生成し適用する方法例の流れ図を示す。 図6は、ユーザーと関連付けられたヒトのターゲットを含む画像の一実施形態例を示す。 図7は、ユーザーと関連付けられたヒトのターゲットに生成することができるモデルの一実施形態例を示す。 図8Aは、モーション・キャプチャー・ファイル内に種々の時点において取り込むことができるユーザーと関連付けられたモデルの一実施形態例を示す。 図8Bは、モーション・キャプチャー・ファイル内に種々の時点において取り込むことができるユーザーと関連付けられたモデルの一実施形態例を示す。 図9Aは、種々の時点におけるモデルに基づいて動画化することができる仮想キャラクターのモデルの一実施形態例を示す。 図9Bは、種々の時点におけるモデルに基づいて動画化することができる仮想キャラクターのモデルの一実施形態例を示す。 図10Aは、動画化することができる仮想キャラクターの一実施形態例を示す。 図10Bは、動画化することができる仮想キャラクターの一実施形態例を示す。 図11Aは、動画化することができる仮想キャラクターの他の一実施形態例を示す。 図11Bは、動画化することができる仮想キャラクターの他の一実施形態例を示す。 図11Cは、動画化することができる仮想キャラクターの他の実施形態例を示す。 図11Dは、動画化することができる仮想キャラクターの他の実施形態例を示す。 図11Eは、動画化することができる仮想キャラクターの他の実施形態例を示す。 図11Fは、動画化することができる仮想キャラクターの他の実施形態例を示す。 図12Aは、動画化することができる仮想キャラクターの他の実施形態例を示す。 図12Bは、動画化することができる仮想キャラクターの他の実施形態例を示す。
[0016] 本明細書において説明するように、ユーザーは、ゲーム・コンソール、コンピューター等のような計算環境において実行するアプリケーションを制御することができ、および/またはアバター、画面上のキャラクター、画面上のオブジェクト等というような仮想キャラクターを、1つ以上のジェスチャーおよび/または動きを行うことによって動画化することができる。一実施形態によれば、ジェスチャーおよび/または動きを、例えば、キャプチャー・デバイスによって受けることができる。例えば、キャプチャー・デバイスは、シーンの深度画像を取り込むことができる。一実施形態では、キャプチャー・デバイスは、そのシーンにおける1つ以上のターゲットまたはオブジェクトが、ユーザーのようなヒトのターゲットに対応するか否か判断することができる。次に、ヒトのターゲットに対応する各ターゲットまたはオブジェクトを走査して、スケルトン・モデル、メッシュ・ヒト・モデル等のような、それと関連付けられたモデルを生成することができる。一実施形態例では、このモデルを追跡することができ、追跡されたモデルのモーション・キャプチャー・ファイルを生成することができ、ユーザーのモデルと関連付けられた仮想キャラクターまたはオブジェクトをレンダリングし、ユーザーのモデルと関連付けられた生のモーションおよび/または予め記録されているモーションによって、仮想キャラクターまたはオブジェクトを動画化することができ、および/または計算環境において実行中のアプリケーションにおいて、例えば、追跡したモデルに基づいて、どの制御を行うべきか決定することができる。
[0017] 図1Aおよび図1Bは、ターゲット認識、分析、および追跡システム10の構成の一実施形態例を、ゲームをプレーするユーザー18と共に示す。一実施形態例では、目標認識、分析、および追跡システム10は、ユーザー18のようなヒトのターゲットを認識し、分析し、および/または追跡するために使うことができる。
[0018] 図1Aに示すように、ターゲット認識、分析、および追跡システム10は、計算環境12を含む。計算環境12は、コンピューター、ゲーミング・システムまたはコンソール等であればよい。一実施形態例によれば、ゲーミング・アプリケーション、ゲーミング以外のアプリケーション等のようなアプリケーションを実行するために計算環境12を使うことができるように、計算環境12はハードウェア・コンポーネントおよび/またはソフトウェア・コンポーネントを含むことができる。一実施形態では、計算環境12は、標準化されたプロセッサー、特殊化されたプロセッサー、マイクロプロセッサー等のようなプロセッサーを含むことができ、このプロセッサーは、例えば、ユーザーの生のモーションを取り込み、予め記録されているモーションを受け取り、生のモーションを仮想オブジェクトの第1部分に適用し、予め記録されているモーションを仮想オブジェクトの第2部分に適用する命令、あるいは任意の他の適した命令を含む、命令を実行することができる。これについては、以下で更に詳しく説明する。
[0019] 図1Aに示すように、ターゲット認識、分析、および追跡システム10は、更に、キャプチャー・デバイス20を含むことができる。キャプチャー・デバイス20は、例えば、ユーザー18のような、一人以上のユーザーを視覚的に監視するために使うことができるカメラとすればよく、一人以上のユーザーによって行われるジェスチャーおよび/またはモーションを取り込み、分析し、そして追跡して、アプリケーションにおいて1つ以上の制御または動作を実行する、および/またはアバター、画面上のキャラクター、画面上のオブジェクト等のような、仮想キャラクターを動画化することができる。これについては、以下で更に詳しく説明する。
[0020] 一実施形態によれば、ターゲット認識、分析、および追跡システム10は、テレビジョン、モニター、高品位テレビジョン(HDTV)等のような、ゲームまたはアプリケーションの映像(visual)および/または音声(audio)をユーザー18のようなユーザーに与えることができるオーディオビジュアル・デバイス16に接続することができる。例えば、計算環境12は、グラフィクスカードのようなビデオ・アダプターおよび/またはサウンド・カードのようなオーディオ・アダプターを含むことができる。これらは、ゲーム・アプリケーション、ゲーム以外のアプリケーション等と関連のあるオーディオビジュアル信号を供給することができる。オーディオビジュアル・デバイス16は、計算環境12からオーディビジュアル信号を受け取ることができ、次いで、これらのオーディオビジュアル信号と関連付けられたゲームまたはアプリケーションの映像および/または音声をユーザー18に出力することができる。一実施形態によれば、オーディオビジュアル・デバイス16は、例えば、S−Videoケーブル、同軸ケーブル、HDMIケーブル、DVIケーブル、VGAケーブル等によって、計算環境12に接続することができる。
[0021] 図1Aおよび図1Bに示すように、ターゲット認識、分析、および追跡システム10は、ユーザー18のようなヒトのターゲットを認識、分析、および/または追跡するために使うことができる。例えば、ユーザー18を、キャプチャー・デバイス20を使って追跡し、ユーザー18のジェスチャーおよび/またはモーションを取り込んで、アバター、画面上のキャラクター、画面上のオブジェクト等のような仮想キャラクターを動画化することができ、および/または計算環境12によって実行されているアプリケーションに作用するために使うことができる制御として解釈することができる。このように、一実施形態によれば、ユーザー18は彼または彼女の体を動かして、アプリケーションを制御すること、および/または仮想オブジェクトを動画化することができる。
[0022] 図1Aおよび図1Bに示すように、一実施形態例では、計算環境12において実行するアプリケーションは、ユーザー18がプレーしているかもしれないボクシング・ゲームであってもよい。例えば、コンピューター環境12は、オーディオビジュアル・デバイス16を使って、ボクシングの相手38の視覚的表現をユーザー18に与えることができる。また、計算環境12は、オーディオビジュアル・デバイス16を使って、ユーザー18が彼または彼女の動きで制御することができるプレーヤー・アバター40の視覚表現も与えることができる。例えば、図1Bに示すように、ユーザー18はプレーヤー・アバター40にゲーム空間においてパンチを打たせるために、実空間おいてパンチを打つことができる。このように、一実施形態例によれば、計算環境12、ならびにターゲット認識、分析、および追跡システム10のキャプチャー・デバイス20は、実空間におけるユーザー18のパンチを認識および分析するために使うことができ、このパンチをゲーム空間におけるプレーヤー・アバター40のゲーム制御として解釈することができ、および/またはパンチのモーションを使って、ゲーム空間におけるプレーヤー・アバター40を動画化することができる。
[0023] ユーザー18による他の動きも、軽く叩く、行ったり来たりする、あちこち動き回る、防御する、ジャブする、または種々の異なる力のパンチを出すように制御するというように、プレーヤー・アバターを動画化するために用いられる他の制御または動作として解釈することができる。更に、動きの中には、プレーヤー・アバター40を制御する以外の動作に対応することもできる制御として解釈してもよい場合もある。例えば、プレーヤーは、動きを使って、ゲームを終了する、一時停止する、またはセーブする、レベルを選択する、高スコアを見る、友人と通信する等を行うこともできる。加えて、ユーザー18のモーションの最大範囲が利用可能であり、アプリケーションと相互作用するために任意の適した方法で使って、分析することができる。
[0024] 実施形態例では、ユーザー18のようなヒトのターゲットがオブジェクトを有することもできる。このような実施形態では、電子ゲームのユーザーがそのオブジェクトを保持しているとよく、ゲームのパラメータを調節および/または制御するために、プレーヤーおよびオブジェクトのモーションを使うことができるようにするとよい。例えば、ラケットを保持しているプレーヤーのモーションを追跡し、電子スポーツ・ゲームにおける画面上のラケットを制御するために利用することができる。他の実施形態例では、オブジェクトを保持しているプレーヤーのモーションを追跡し、電子戦争ゲームにおける画面上の兵器を制御するために利用することができる。
[0025] 他の実施形態例では、ターゲット認識、分析、および追跡システム10は、更に、ターゲットの動きを、ゲームの範囲の外側にあるオペレーティング・システムおよび/またはアプリケーション制御として解釈するために使うこともできる。例えば、オペレーティング・システムおよび/またはアプリケーションの事実上あらゆる制御可能な態様を、ユーザー18のようなターゲットの動きによって制御することができる。
[0026] 図2は、ターゲット認識、分析、および追跡システム10において使うことができるキャプチャー・デバイス20の一実施形態例を示す。一実施形態例によれば、キャプチャー・デバイス20は、例えば、飛行時間、構造化光、立体画像等を含む任意の適した技法によって、深度値を含むことができる深度画像を含む深度情報と共にビデオを取り込むように構成することができる。一実施形態によれば、キャプチャー・デバイス20は、深度情報を「Zレイヤー」、または深度カメラからその視線に沿って延びるZ軸に対して垂直となることができるレイヤーに編成することができる。
[0027] 図2に示すように、キャプチャー・デバイス20は、画像カメラ・コンポーネント22を含むことができる。一実施形態例によれば、画像カメラ・コンポーネント22は、シーンの深度画像を取り込むことができる深度カメラとするとよい。深度カメラは、取り込まれたシーンの二次元(2D)画素エリアを含むことができ、この2D画素エリアにおける各画素は、カメラから取り込まれたシーンにおけるオブジェクトの、例えば、センチメートル、ミリメートル等の単位の長さまたは距離というような、深度値を表すことができる。
[0028] 図2に示すように、一実施形態例によれば、画像カメラ・コンポーネント22は、シーンの深度画像を取り込むために使うことができるIR発光コンポーネント24、三次元(3D)カメラ26、およびRGBカメラ28を含むことができる。例えば、飛行時間分析では、キャプチャー・デバイス20のIR発光コンポーネント24は、シーンに向けて赤外線光を放出することができ、次いでセンサ(図示せず)を使って、そのシーンの中にある1つ以上のターゲットおよびオブジェクトの表面から散乱される光を、例えば、3Dカメラ26および/またはRGBカメラ28を使って検出することができる。実施形態の中には、パルス状赤外線光を使って、発信光パルスと対応する入射光パルスとの間の時間を測定し、キャプチャー・デバイス20からシーン内にあるターゲットまたはオブジェクト上における特定の場所までの物理的距離を判定するために使うことができるようにするとよい場合がある。加えて、他の実施形態例では、発信光波の位相を着信光波の位相と比較して、位相ずれを判定するとよい場合もある。次いで、位相ずれを使って、キャプチャー・デバイスからターゲットまたはオブジェクト上の特定の場所までの物理的距離を判定することができる。
[0029] 他の実施形態例によれば、例えば、散乱光パルス撮像を含む種々の技法によって、経時的な光の反射ビームの強度を分析することによって、飛行時間分析を使って、キャプチャー・デバイス20からターゲットまたはオブジェクト上の特定の場所までの物理的距離を間接的に判定することができる。
[0030] 他の実施形態例によれば、キャプチャー・デバイス20は、構造化光を使って深度情報を取り込むことができる。このような分析では、パターン光(即ち、格子パターン、縞パターンのような既知のパターンとして表示される光)を、例えば、IR発光コンポーネント24によってシーンに向けて投射する。シーンにおいて1つ以上のターゲットまたはオブジェクトの表面に衝突したときに、それに応答して、パターンが変形する可能性がある。このようなパターンの変形を、例えば、3Dカメラ26および/またはRGBカメラ28によって取り込むことができ、次いで分析して、キャプチャー・デバイスからターゲットまたはオブジェクト上における特定の場所までの物理的距離を判定することができる。
[0031] 他の実施形態によれば、キャプチャー・デバイス20は、2つ以上の物理的に分離されたカメラを含むことができ、これらが異なる角度からのシーンを捕らえて、視覚的な立体像を得て、これを解明することによって深度情報を発生することができる。
[0032] キャプチャー・デバイス20は、更に、マイクロフォン30を含むことができる。マイクロフォン30は、音響を受信し電気信号に変換するトランスデューサまたはセンサを含むことができる。一実施形態によれば、マイクロフォン30を使うと、ターゲット認識、分析、および追跡システム10においてキャプチャー・デバイス20と計算環境12との間におけるフィードバックを低減することができる。加えて、マイクロフォン30を使うと、ユーザーによって供給することもできるオーディオ信号を受信し、計算環境12において実行することができるゲーム・アプリケーション、ゲーム以外のアプリケーション等のようなアプリケーションを制御することができる。
[0033] 一実施形態例では、キャプチャー・デバイス20は、更に、画像カメラ・コンポーネント22と動作的に通信することができるプロセッサー32を含むことができる。プロセッサー32は、標準化されたプロセッサー、特殊化されたプロセッサー、マイクロプロセッサー等を含むことができ、例えば、ユーザーの生のモーションを取り込む命令、予め記録されているモーションを受け取る命令、生のモーションを仮想オブジェクトの第1部分に適用し、予め記録されているモーションを仮想オブジェクトの第2部分に適用する命令、あるいは任意の他の適した命令を実行することができる。これについては、以下で更に詳しく説明する。
[0034] 更に、キャプチャー・デバイス20は、メモリー・コンポーネント34を含むことができる。メモリー・コンポーネント34は、プロセッサー32によって実行することができる命令、3DカメラまたはRGBカメラによって取り込まれた画像またはフレーム、あるいは任意の他の適した情報、画像等を格納することができる。一実施形態例によれば、メモリー・コンポーネント34は、ランダム・アクセス・メモリー(RAM)、リード・オンリー・メモリー(ROM)、キャッシュ、フラッシュ・メモリー、ハード・ディスク、または任意の他の適した記憶コンポーネントを含むことができる。図2に示すように、一実施形態では、メモリー・コンポーネント34は、画像キャプチャー・コンポーネント22およびプロセッサー32と通信する別のコンポーネントとすることができる。他の実施形態によれば、メモリー・コンポーネント34をプロセッサー32および/または画像キャプチャー・コンポーネント22に統合してもよい。
[0035] 図2に示すように、キャプチャー・デバイス20は、通信リンク36を通して、計算環境12と通信状態に置くことができる。通信リンク36は、例えば、USB接続、Firewire接続、イーサネット・ケーブル接続等を含む有線接続、および/またはワイヤレス802.11b、g、a、またはn接続のようなワイヤレス接続とすることができる。一実施形態によれば、計算環境12は、クロックをキャプチャー・デバイス20に供給することができ、通信リンク36を通して、例えば、いつシーンを取り込むか判断するために、このクロックを使うことができる。
[0036] 加えて、キャプチャー・デバイス20は、例えば、3Dカメラ26および/またはRGBカメラ28によって取り込まれた深度情報および画像、および/またはキャプチャー・デバイス20によって生成することができるスケルトン・モデルを、計算環境12に通信リンク36を通して供給することができる。次いで、計算環境12は、このモデル、深度情報、および取り込まれた画像を使って、例えば、ゲームまたはワード・プロセッサーのようなアプリケーションを制御すること、および/または画面上のキャラクター、アバター、画面上のオブジェクト等のような仮想キャラクターを動画化することができる。例えば、図2に示すように、計算環境12は、ジェスチャー・ライブラリー190を含むことができる。ジェスチャー・ライブラリー190は、ジェスチャー・フィルターの集合体を含むことができ、各集合体は、(ユーザーが動くに連れて)スケルトン・モデルによって実行することができるジェスチャーに関する情報を含む。カメラ26、28およびキャプチャー・デバイス20によって取り込まれたスケルトン・モデルの形態のデーター、およびそれと関連付けられた動きを、ジェスチャー・ライブラリー190の中にあるジェスチャー・フィルターと比較して、いつユーザー(スケルトン・モデルによって表現される)が1つ以上のジェスチャーを行ったのか特定することができる。これらのジェスチャーは、アプリケーションの種々の制御と関連付けることができる。つまり、計算環境12は、ジェスチャー・ライブラリー190を使って、スケルトン・モデルの動きを解釈し、その動きに基づいてアプリケーションを制御することができる。
[0037] 図3は、ターゲット認識、分析、および追跡システムにおいて1つ以上のジェスチャーを解釈するため、および/またはターゲット認識、分析、および追跡システムによって表示された、アバター、画面上のキャラクター、画面上のオブジェクト等のような、仮想キャラクターを動画化するために使うことができる計算環境の一実施形態例を示す。図1Aから図2に関して先に説明した計算環境12のような計算環境は、ゲーミング・コンソールのような、マルチメディア・コンソール100とするとよい。図3に示すように、マルチメディア・コンソール100は、レベル1キャッシュ102、レベル2キャッシュ104、およびフラッシュROM(リード・オンリー・メモリー)106を有する中央処理ユニット(CPU)101を有する。レベル1キャッシュ102およびレベル2キャッシュ104は、一時的にデーターを格納し、こうしてメモリー・アクセス・サイクルの回数を減らすことによって、処理速度およびスループットを向上させる。CPU101は、1つよりも多いコア、つまり、追加のレベル1およびレベル2キャッシュ102および104を有して設けることもできる。フラッシュROM106は、実行可能コードを格納することができる。実行可能コードは、マルチメディア・コンソール100の電源をオンにしたときに、ブート・プロセスの初期段階中にロードされる。
[0038] グラフィクス処理ユニット(GPU)108およびビデオ・エンコーダー/ビデオ・コデック(コーダー/デコーダー)114が、高速および高分解能グラフィクス処理のためにビデオ処理パイプラインを形成する。データーは、バスを通して、グラフィクス処理ユニット108からビデオ・エンコーダー/ビデオ・コデック114に伝達される。ビデオ処理パイプラインは、テレビジョンまたは他のディスプレイに送信するために、データーをA/V(オーディオ/ビデオ)ポート140に出力する。メモリー・コントローラー110がGPU108に接続されており、限定ではなく、RAM(ランダム・アクセス・メモリー)のような、種々のタイプのメモリー112にプロセッサーがアクセスし易くしている。
[0039] マルチメディア・コンソール100は、I/Oコントローラー120、システム管理コントローラー122、オーディオ処理ユニット123、ネットワーク・インターフェース・コントローラー124、第1USBホスト・コントローラー126、第2USBコントローラー128、およびフロント・パネルI/Oサブアセンブリ130を含む。好ましくは、これらをモジュール118に実装する。USBコントローラー126および128は、周辺コントローラー142(1)〜142(2)、ワイヤレス・アダプター148、および外部メモリー・デバイス146(例えば、フラッシュ・メモリー、外部CD/DVD ROMドライブ、リムーバブル媒体等)のためのホストとしての役割を果たす。ネットワーク・インターフェース124および/またはワイヤレス・アダプター148は、ネットワーク(例えば、インターネット、ホーム・ネットワーク等)へのアクセスを与え、イーサネット・カード、モデム、Bluetoothモジュール、ケーブル・モデム等を含む広範囲の種々の有線またはワイヤレス・アダプター・コンポーネントのうち任意のものとすることができる。
[0040] システム・メモリー143は、ブート・プロセスの間にロードされるアプリケーション・データーを格納するために設けられている。メディア・ドライブ144が設けられており、DVD/CDドライブ、ハード・ドライブ、またはその他のリムーバブル・メディア・ドライブ等を備えることができる。メディア・ドライブ144は、マルチメディア・コンソール100の内部にあっても外部にあってもよい。アプリエーション・データーは、実行、再生等のためにマルチメディア・コンソール100によってメディア・ドライブ144を通してアクセスすることができる。メディア・ドライブ144は、シリアルATAバスまたはその他の高速接続(例えば、IEEE1394)のようなバスを通して、I/Oコントローラー120に接続されている。
[0041] システム管理コントローラー122は、メディア・コンソール100の利用可能性を確保することに関する種々のサービス機能を提供する。オーディオ処理ユニット123およびオーディオ・コデック132は、高忠実度およびステレオ処理を行う、対応のオーディオ処理パイプラインを形成する。オーディオ・データーは、通信リンクを通して、オーディオ処理ユニット123とオーディオ・コデック132との間で伝達される。オーディオ処理パイプラインは、外部オーディオ・プレーヤーまたはオーディオ処理能力を有するデバイスによる再生のために、データーをA/Vポート140に出力する。
[0042] フロント・パネルI/Oサブアセンブリ130は、電力ボタン150およびイジェクト・ボタン152の機能をサポートするだけでなく、マルチメディア・コンソール100の外面上に露出する任意のLED(発光ダイオード)またはその他のインディケーターもサポートする。システム電源モジュール136が、マルチメディア・コンソール100のコンポーネントに電力を供給する。ファン138は、マルチメディア・コンソール100内部にある回路を冷却する。
[0043] CPU101、GPU108、メモリー・コントローラー110、およびマルチメディア・コンソール100内部にある種々のその他のコンポーネントは、1系統以上のバスを通して相互接続されている。これらのバスには、シリアルおよびパラレル・バス、メモリー・バス、周辺バス、および種々のバス・アーキテクチャーのうち任意のものを使うプロセッサー・バスまたはローカル・バスが含まれる。一例として、このようなアーキテクチャーは、ペリフェラル・コンポーネント相互接続(PCI)バス、PCI−Expressバス等を含むことができる。
[0044] マルチメディア・コンソール100の電源をオンにすると、システム・メモリー143からメモリー112および/またはキャッシュ102、104にアプリケーション・データーをロードし、CPU101において実行することができる。アプリケーションは、グラフィカル・ユーザー・インターフェースを提示することができる。グラフィカル・ユーザー・インターフェースは、マルチメディア・コンソール100において利用可能な異なるタイプのメディアにナビゲートするときに、一貫性のあるユーザー体験を提供する。動作において、アプリケーションおよび/またはメディア・ドライブ144に含まれている他のメディアをメディア・ドライブ144から起動または再生して、マルチメディア・コンソール100に追加の機能を設けることもできる。
[0045] マルチメディア・コンソール100は、単にシステムをテレビジョンまたはその他のディスプレイに接続することによって、スタンドアロン・システムとして動作させることができる。この単独モードでは、マルチメディア・コンソール100は、一人以上のユーザーがシステムと相互作用を行い、ムービーを見ること、または音楽を聞くことを可能にする。しかしながら、ネットワーク・インターフェース124またはワイヤレス・アダプター148によって利用可能となるブロードバンド接続機能を統合することにより、マルチメディア・コンソール100を更に大きなネットワーク・コミュニティにおける一員(participant)として動作させることもできる。
[0046] マルチメディア・コンソール100の電源をオンにすると、マルチメディア・コンソールのオペレーティング・システムによって、設定されている量のハードウェア・リソースがシステムの使用のために確保される。これらのリソースは、メモリー(例えば、16MB)、CPUおよびGPUサイクル(例えば、5%)、ネットワーキング帯域幅(例えば、8kbs)等の確保を含むことができる。これらのリソースは、システムのブート時に確保されるので、確保されたリソースは、アプリケーションの視点からは存在しない。
[0047] 特に、メモリーの確保は、起動カーネル、コンカレント・システム・アプリケーション、およびドライバーを含めるのに十分大きいことが好ましい。サーブされたCPUの使用がそのシステム・アプリケーションによって用いられない場合、アイドル状態にあるスレッドが未使用サイクルのうち任意のものを消費するように、CPUの確保を一定レベルに維持することが好ましい。
[0048] GPUの確保に関して、GPU割り込みを使うことによって、システム・アプリケーション(例えば、ポップアップ)によって発生される軽量メッセージを表示して、ポップアップをオーバーレイにレンダリングするコードをスケジューリングする。オーバーレイに用いられるメモリー量は、オーバーレイのエリア・サイズに依存し、オーバーレイは画面の解像度と共にスケーリングする(scale)ことが好ましい。コンカレント・システム・アプリケーションによってフル・ユーザー・インターフェースが用いられる場合、アプリケーションの解像度とは独立した解像度を使うことが好ましい。周波数を変更しTVの同期を取り直す必要性をなくすように、スケーラーを使ってこの解像度を設定するとよい。
[0049] マルチメディア・コンソール100がブートして、システム・リソースを確保した後、コンカレント・システム・アプリケーションが実行してシステム機能を提供する。システム機能は、前述の確保したシステム・リソースの内部で実行する1組のシステム・アプリケーションの中にカプセル化されている。オペレーティング・システム・カーネルは、システム・アプリケーション・スレッドと、ゲーミング・アプリケーション・スレッドとの間でスレッドを識別する。一貫したシステム・リソース・ビューをアプリケーションに提供するために、システム・アプリケーションは、所定の時点および間隔でCPU101において実行するようにスケジューリングされていることが好ましい。このスケジューリングは、コンソールにおいて実行しているゲーミング・アプリケーションに対するキャッシュの分裂(disruption)を最少に抑えるためにある。
[0050] コンカレント・システム・アプリケーションがオーディオを必要とする場合、時間に敏感であるため、オーディオ処理を非同期にゲーミング・アプリケーションにスケジューリングする。マルチメディア・コンソール・アプリケーション・マネージャー(以下で説明する)は、システム・アプリケーションがアクティブのとき、ゲーミング・アプリケーションのオーディオ・レベル(例えば、無音化、減衰)を制御する。
[0051] 入力デバイス(例えば、コントローラー142(1)および142(2))は、ゲーミング・アプリケーションおよびシステム・アプリケーションによって共有される。入力デバイスは、確保されたリソースではないが、システム・アプリケーションとマルチメディア・アプリケーションとの間で切り換えられて、各々がそのデバイスのフォーカス(a focus of the device)を有するようにする。アプリケーション・マネージャは、好ましくは、マルチメディア・アプリケーションの知識を用いずに入力ストリームの切換を制御し、ドライバーはフォーカス・スイッチ(focus switches)に関する状態情報を維持する。カメラ26、28およびキャプチャー・デバイス20は、コンソール100のための追加の入力デバイスを定めることができる。
[0052] 図4は、ターゲット認識、分析、および追跡システムにおいて1つ以上のジェスチャーを解釈するため、および/またはターゲット認識、分析、および追跡システムによって表示された、アバター、画面上のキャラクター、画面上のオブジェクト等のような、仮想キャラクターを動画化するために用いられる、図1Aから図2に示した計算環境12の他の実施形態例を示す。計算システム環境220は、適した計算環境の一例に過ぎず、本明細書において開示される主題の使用範囲または機能に関して、いかなる限定をも示唆する意図はない。また、計算環境220が、本明細書において例示されるいずれの1つのコンポーネントまたはコンポーネントの組み合わせに関して何らかの依存性または要件を有するように解釈してはならない。実施形態によっては、図示する種々の計算エレメントが、本開示の特定の態様をインスタンス化するように構成されている回路を含むこともあり得る。例えば、本開示において用いられる回路という用語は、ファームウェアまたはスイッチによって機能(1つまたは複数)を実行するように構成されている特殊ハードウェア・コンポーネントを含むことができる。別の実施形態例では、回路という用語は、機能(1つまたは複数)を実行するために動作可能なロジックを具現化するソフトウェア命令によって構成される汎用処理ユニット、メモリー等を含むことができる。回路がハードウェアおよびソフトウェアの組み合わせを含む実施形態例では、実装者(implementer)は、ロジックを具現化するソース・コードを書くことができ、ソース・コードを機械読み取り可能コードにコンパイルすることができ、この機械読み取り可能コードを汎用処理ユニットによって処理することができる。技術的現状では、ハードウェア、ソフトウェア、またはハードウェア/ソフトウェアの組み合わせの間には殆ど差がないというところまで発展していることを当業者は認めることができるので、特定の機能を実行するためにハードウェアまたはソフトウェアのどちらを選択するかということは、実装者に委ねられた設計選択事項である。更に具体的には、ソフトウェア・プロセスを等価のハードウェア構造に変換することができ、更にハードウェア構造自体を等価のソフトウェア・プロセスに変換することができることを、当業者は認めることができる。つまり、ハードウェアの実施態様およびソフトウェアの実施態様のどちらを選択するかということは、実装者に委ねられた設計選択事項の1つである。
[0053] 図4において、計算環境220は、コンピューター241を含む。コンピューター241は、通例、種々のコンピューター読み取り可能媒体を含む。コンピューター読み取り可能媒体は、コンピューター241がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。システム・メモリー222は、リード・オンリー・メモリー(ROM)223およびランダム・アクセス・メモリー(RAM)260のような揮発性および/または不揮発性メモリーの形態で、コンピューター記憶媒体を含む。基本入出力システム224(BIOS)は、起動中のように、コンピューター241内のエレメント間におけるデーター転送を補助する基本的なルーチンを含み、通例ROM223内に格納されている。RAM260は、通例、処理ユニット259が直ちにアクセス可能であるデーターおよび/またはプログラム・モジュール、または現在これによって処理されているデーターおよび/またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図4は、オペレーティング・システム225、アプリケーション・プログラム226、その他のプログラム・モジュール227、およびプログラム・データー228を示す。
[0054] また、コンピューター241は、その他のリムーバブル/非リムーバブル揮発性/不揮発性コンピューター記憶媒体も含むことができる。一例にすぎないが、図4は、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ238、リムーバブル不揮発性磁気ディスク254からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ239、ならびにCD ROMまたはその他の光媒体のようなリムーバブル不揮発性光ディスク253からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ240を示す。動作環境の一例において使用可能なその他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピューター記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリー・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROM等が含まれる。ハード・ディスク・ドライブ238は、通例、インターフェース234のような非リムーバブル・メモリー・インターフェースを介してシステム・バス221に接続され、磁気ディスク・ドライブ239および光ディスク・ドライブ240は、通例、インターフェース235のようなリムーバブル・メモリー・インターフェースによって、システム・バス221に接続する。
[0055] 先に論じ図4に示すドライブおよびそれらに関連するコンピューター記憶媒体は、コンピューター読み取り可能命令、データー構造、プログラム・モジュール、およびコンピューター241のその他のデーターを格納する。図4では、例えば、ハード・ディスク・ドライブ238は、オペレーティング・システム258、アプリケーション・プログラム257、他のプログラム・モジュール256、およびプログラム・データー255を格納するように示されている。尚、これらの構成要素は、オペレーティング・システム225、アプリケーション・プログラム226、他のプログラム・モジュール227、およびプログラム・データー228と同じでも異なっていても可能であることを注記しておく。オペレーティング・システム258、アプリケーション・プログラム257、他のプログラム・モジュール256、およびプログラム・データー255は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。ユーザーは、キーボード251、および一般にマウス、トラックボールまたはタッチ・パッドと呼ばれているポインティング・デバイス252のような入力デバイスによって、コマンドおよび情報をコンピューター241に入力することができる。他の入力デバイス(図示せず)には、マイクロフォン、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナー等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザー入力インターフェース236を介して、処理ユニット259に接続されている。ユーザー入力インターフェース236は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス(USB)によって接続することも可能である。カメラ26、28およびキャプチャー・デバイス20は、コンソール100の追加入力デバイスを定めることができる。モニター242またはその他のタイプの表示装置も、ビデオ・インターフェース232のようなインターフェースを介して、システム・バス221に接続されている。モニターに加えて、コンピューターは、スピーカー244およびプリンター243のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース233を通して接続することができる。
[0056] コンピューター241は、リモート・コンピューター246のような1つ以上のリモート・コンピューターへの論理接続を使って、ネットワーク環境において動作することも可能である。リモート・コンピューター246は、パーソナル・コンピューター、サーバー、ルータ、ネットワークPC、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例、コンピューター241に関して先に説明したエレメントの多くまたは全てを含むが、図4にはメモリー記憶装置247のみを示す。図4に示す論理接続は、ローカル・エリア・ネットワーク(LAN)245およびワイド・エリア・ネットワーク(WAN)249を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピューター・ネットワーク、イントラネットおよびインターネットにおいては一般的である。
[0057] LANネットワーク環境で使う場合、コンピューター241は、ネットワーク・インターフェースまたはアダプター237を介してLAN245に接続する。WANネットワーク環境で使う場合、コンピューター241は、通例、モデム250、またはインターネットのようなWAN249を通して通信を設定するその他の手段を含む。モデム250は、内蔵でも外付けでもよく、ユーザー入力インターフェース236またはその他の適切な機構を介してシステム・バス221に接続することができる。ネットワーク環境では、コンピューター241に関係付けて図示したプログラム・モジュール、またはその一部は、リモート・メモリー記憶装置に格納することもできる。一例として、そして限定ではなく、図4は、リモート・アプリケーション・プログラム248がメモリー・デバイス247に存在するものとして示している。尚、図示のネットワーク接続は一例であり、コンピューター間で通信リンクを設定する他の手段も使用可能であることは認められよう。
[0058] 図5は、アニメーションを混合するする方法例300の流れ図を示す。方法例300は、例えば、図1Aから図4に関して説明したターゲット認識、分析、および追跡システム10のキャプチャー・デバイス20および/または計算環境12を使って実現することができる。一実施形態例では、方法例300は、プログラム・コード(即ち、命令)の形態を取ることができ、例えば、図1Aから図4に関して説明したターゲット認識、分析、および追跡システム10のキャプチャー・デバイス20および/または計算環境12によって実行することができる。
[0059] 一実施形態によれば、305において、画像を受け取ることができる。例えば、ターゲット認識、分析、および追跡システムは、図1Aから図2に関して先に説明したキャプチャー・デバイス20のような、キャプチャー・デバイスを含むことができる。キャプチャー・デバイスは、1つ以上のターゲットを含むこともあるシーンを取り込むまたは観察することができる。一実施形態例では、キャプチャー・デバイスは、飛行時間分析、構造化光分析、ステレオ映像分析等のような任意の適した技法を使って、RGB画像、深度画像等のような画像を入手するように構成されている深度カメラとするとよい。
[0060] 例えば、一実施形態では、画像は深度画像を含むことができる。深度画像は、複数の被観察画素とすることができ、各被観察画像は、被観察深度値を有する。例えば、深度画像は、取り込まれたシーンの二次元(2D)画素エリアを含むことができ、2D画素エリアにおける各画層は、キャプチャー・デバイスから取り込まれたシーンにおけるオブジェクトの、例えば、センチメートル、ミリメートル等を単位とする長さまたは距離というような深度値を表すことができる。
[0061] 図6は、305において受け取ることができる深度画像400の一実施形態例を示す。一実施形態例によれば、深度画像400は、例えば、図2に関して先に説明したキャプチャー・デバイス20の3Dカメラ26および/またはRGBカメラ28によって取り込まれたシーンの画像またはフレームとすることができる。図6に示すように、深度画像400は、例えば、図1Aおよび図1Bに関して先に説明したユーザー18のようなユーザーに対応するヒト・ターゲット402と、取り込まれたシーンの中にある壁、テーブル、モニター等のような1つ以上の非ヒト・ターゲット404とを含むことができる。前述のように、深度画像400は、複数の被観察画素を含むことができ、各被観察画素には、観察された深度値が関連付けられている。例えば、深度画像400は、取り込まれたシーンの二次元(2D)画素エリアを含むことができ、この2D画素エリアの中にある各画素は、キャプチャー・デバイスからの取り込まれたシーンの中にあるターゲットまたはオブジェクトの、例えば、センチメートル、ミリメートル等を単位とする長さまたは距離のような深度値を表すことができる。一実施形態では、当該深度画像400の画素の異なる色が、キャプチャー・デバイスからのヒト・ターゲット402および非ヒト・ターゲット404の異なる距離に対応するように、および/または視覚的に描画するように、深度画像400に着色することもできる。例えば、一実施形態によれば、キャプチャー・デバイスに最も近いターゲットと関連付けられた画素には、深度画像では赤および/またはオレンジ色の濃淡で着色することができ、一方離れたターゲットと関連付けられた画素には、深度画像において緑および/または青の濃淡で着色することができる。
[0062] 再び図5を参照すると、一実施形態では、305において画像を受け取ったときに、この画像を更に低い処理分解能にダウンサンプルして、深度画像を一層使いやすくすること、および/または計算オーバーヘッドを減らして、更に素早く処理できるようにすることもできる。加えて、1つ以上の高分散および/またはノイズの多い深度値を深度画像から除去すること、および/または平滑化することもできる。失われた深度情報および/または除去した深度情報の部分は、補充することおよび/または再生することができ、および/またはスケルトン・モデルのようなモデルを生成するために深度情報を使うことができるように、受け取った深度情報に対して任意の他の適した処理を実行することもできる。これについては、以下で更に詳しく説明する。
[0063] 310において、画像におけるユーザーのモデルを生成することができる。例えば、画像を受け取ったとき、ターゲット認識、分析、および追跡システムは、深度画像の中にある各ターゲットまたはオブジェクトを塗りつぶし(flood filling)、塗りつぶした各ターゲットまたはオブジェクトを、種々の位置またはポーズのヒトの体モデルと関連付けられたパターンと比較することによって、例えば、図1Aおよび図1Bに関して先に説明したユーザー18のようなユーザーに対応する、図6に関して先に説明したヒト・ターゲット402のようなヒト・ターゲットが深度画像に含むか否か判断することができる。塗りつぶされたターゲットまたはオブジェクトがパターンと一致した場合、これを分離し、走査して、例えば、種々の体部分の測定値を含む値を判定することができる。一実施形態例によれば、次いで、走査に基づいて、スケルトン・モデル、メッシュ・モデル等のようなモデルを生成することができる。例えば、一実施形態によれば、走査によって決定することができる測定値を、1つ以上のデーター構造に格納することができ、このデーター構造は、モデルにおける1つ以上の関節を定めるために使うことができる。1つ以上の関節は、ヒトの体部分に対応することができる1つ以上の骨を定めるために使うことができる。
[0064] 図7は、310にいてユーザーについて生成することができるモデル500の一実施形態例を示す。一実施形態例によれば、モデル500は、1つ以上のデーター構造を含むことができ、このデーター構造は、例えば、図6に関して先に説明した深度画像400におけるヒト・ターゲット402のような、深度画像におけるユーザーと関連付けられたヒト・ターゲットの三次元モデルを表すことができる。一実施形態では、ユーザーと関連付けられたヒト・ターゲットの各体部分は、モデル500の関節および骨を定める数学的ベクトルとして特徴付けることができる。
[0065] 図7に示すように、モデル500は、1つ以上の関節j1〜j18を含むことができる。一実施形態例によれば、関節j1〜j18の各々は、それらの間に定められる1つ以上の体部分が、互いに対してまたは他の1つ以上の体部分に対して動くことを可能にする。例えば、ヒト・ターゲットを表すモデルは、複数の剛体の体部分および/または変形可能な体部分を含むことができ、これらの体部分は、「骨」のような1つ以上の構造的部材と、隣接する骨の交点に位置する関節j1〜j18とによって定めることができる。関節j1〜j18は、骨および関節j1〜j18と関連付けられている種々の体部分が、互いに独立して動くことを可能にすることができる。例えば、図7に示す関節j7およびj11間に定められている骨は、前腕に対応することができ、この前腕は、例えば、ふくらはぎに対応することができる関節j15およびj17間に定められている骨とは独立して動かすことができる。
[0066] 前述のように、体部分の各々は、図7に示す関節および骨を定める、X値、Y値、およびZ値を有する数学的ベクトルとして特徴付けることができる。一実施形態例では、図7に示す、骨と関連付けられたベクトルの交点は、関節j1〜j18と関連付けられたそれぞれのポイントを定めることができる。
[0067] 再度図5を参照すると、315において、ユーザーと関連付けられたモデルのリアル・タイムのモーション、即ち、生のモーションを取り込むことができる。例えば、モデルを追跡して、ユーザーのモーションを真似するように、モデルを調節するまたは動かすことができる。このようなユーザーと関連付けられたモデルの調節またはモーションは、リアル・タイムで取り込むことができる。加えて、このような調節またはモーションは、アバター、画面上のキャラクター、画面上のオブジェクト等のような、仮想キャラクターに適用することもできる。これについては、以下で更に詳しく説明する。
[0068] 一実施形態によれば、図7に関して先に説明したモデル500のようなモデルは、図1Aおよび図1Bに関して先に説明したユーザー18のようなユーザーの一表現とするとよい。ターゲット認識、分析、および追跡システムは、ユーザー18からの動きを観察するまたは取り込むことができ、その動きを使ってモデル500を調節するまたは動かして、315においてモデル500の調節またはモーションを取り込むことができるようにする。
[0069] 例えば、図1Aから図2に関して先に説明したキャプチャー・デバイス20のようなキャプチャー・デバイスは、シーンの深度画像、RGB画像のような複数の画像を観察するまたは取り込むことができ、モデルを調節するために使うことができる。一実施形態によれば、画像の各々は、定められた頻度に基づいて観察するまたは取り込むことができる。例えば、キャプチャー・デバイスは、シーンの新たな画像を、ミリ秒毎、マイクロ秒毎等で観察するまたは取り込むことができる。
[0070] 画像の各々を受け取ると、個々の画像と関連付けられた情報を、モデルと関連付けられた情報と比較して、ユーザーが動きを行った可能性があるか否か判断することができる。例えば、一実施形態では、合成深度画像のような合成画像に、モデルをラスタライズ (rasterize)することができる。合成画像における画素を、受け取った画像の各々におけるヒト・ターゲットと関連付けられた画素と比較して、受け取った画像におけるヒト・ターゲットが動いたか否か判断することができる。
[0071] 一実施形態例によれば、合成画像と受け取った画像との間における画素の比較に基づいて、1つ以上の力ベクトル(force vector)を計算することができる。次いで、モデルの関節のような1つ以上の力を受ける態様に、1つ以上の力を加えてまたはマッピングして、実空間にいるヒト・ターゲットまたはユーザーのポーズに一層密接に対応するポーズに、モデルを調節するまたは動かすことができる。
[0072] 被追跡モデルの調節またはモーションを、次に315において取り込むことができる。一実施形態では、被追跡モデルの調節またはモーションを、モーション・キャプチャー・ファイルに記録することができる。例えば、ターゲット認識、分析、および追跡システムは、手を振るモーション、ゴルフのスイングのような振り回すモーション、パンチを打つモーション、歩くモーション、走るモーション等のような、図1Aおよび図1Bに関して先に説明したユーザー18のようなユーザーに特定の1つ以上のモーションを含むことができるモーション・キャプチャー・ファイルをレンダリングおよび格納することができる。一実施形態によれば、モーション・キャプチャー・ファイルは、被追跡モデルと関連付けられたX、Y、Z値を含むベクトルのような情報に基づいてリアル・タイムで生成することができ、モデルに適用することができる、ユーザーによって行われる動きの1つ以上のフレームを含むことができる。更に、モーション・キャプチャー・ファイルにおけるモデルのモーションは、アバター、画面上オブジェクト、画面上キャラクター等のような仮想キャラクターに、リアル・タイムで、または生で適用することもできる。加えて、モーション・キャプチャー・ファイルにおけるモデルのモーションは、モーション・キャプチャー・ファイルを仮想オブジェクトまたはキャラクターに今後の時点において適用することができるように、格納するまたは予め記録しておくこともできる。これについては、以下で更に詳しく説明する。
[0073] 図8Aおよび図8Bは、モーション・キャプチャー・ファイル内に種々の時点において取り込むことができる、図1Aおよび図1Bに関して先に説明したユーザー18のようなユーザーと関連付けられたモデル500の一実施形態例を示す。図8Aおよび図8Bに示すように、図7に関して先に説明したモデル500は、前述のように種々の時点におけるユーザーの動きに基づいて、調節するまたは動かすことができる。例えば、図8Aに示すように、モデル500の関節j3、j7、およびj11、ならびにそれらの間に定められる骨は、ユーザーが彼または彼女の右前腕を上げたときに、例えば、前述のように1つ以上の力ベクトルを関節j3、j7、およびj11に適用することによって、ポーズ502を表すように、調節するまたは動かすことができる。図8Aに示すようにユーザーが彼または彼女の右前腕を上げた後、ユーザー18のようなユーザーは、次に彼または彼女の左前腕を上げることができる。図8Bに示すように、モデル500を次にポーズ502からポーズ504に調節して、ユーザーが彼または彼女の左前腕を上げたときに、例えば、前述のように1つ以上の力ベクトルを関節j4、j8、およびj12に適用することによって、モデル500の関節j4、j8、およびj12ならびにそれらの間に定められている骨を調節するまたは動かすことができるようにする。図8Aおよび図8Bにおいてポーズ502および504によって示されるように、モデル500に適用することができる調節またはモーションは、前述のように、モーション・キャプチャー・ファイルのそれぞれのフレームに、315において取り込むことができる。
[0074] 再度図5を参照すると、予め記録されているモーションを320において受け取ることができる。例えば、ターゲット認識、分析、および追跡システムは、画面上ゲーム・キャラクター、アバター、画面上オブジェクト等のような仮想キャラクターについて予め記録されているモーションを受け取ることができる。一実施形態では、予め記録されているモーションは、アプリケーション開発者によって作成された仮想キャラクターまたはオブジェクトのためにアーティストが制作した仮想キャラクターまたはオブジェクト、および/またはアプリケーション開発者によって作成された入力デバイス制御のアニメーションまたはモーション、ラグ・ドール(rag doll)のアニメーションまたはモーション等の、アーティストが制作したアニメーションまたはモーション・キャプチャー・ファイルとすることができる。他の実施形態によれば、予め記録されているモーションは、ターゲット認識、分析、および追跡システムのユーザーと関連付けられているモデルのモーション・キャプチャー・ファイルとすることができ、前述のように、今後の使用のために格納することもできる。
[0075] 図9Aおよび図9Bは、種々の時点における、または320において予め記録されているアーティストが制作したモーションとして受け取ることができる種々のフレームにおける、ケンタウルのような仮想オブジェクトまたはキャラクターについてのキャラクター・モデル600の一実施形態例を示す。図9Aおよび図9Bに示すように、キャラクター・モデル600は1つ以上の関節j1’〜j20’を含むことができる。一実施形態では、関節j1’〜j20’の各々は、1つ以上の体部分を定めることができる。これらの体部分は、関節j1’〜j20’における1つ以上の他の体部分と関係付けて、またはこれらとは独立して動くことができ、仮想オブジェクトまたはキャラクターを動画化することができる。これについては、以下で更に詳しく説明する。
[0076] 加えて、一実施形態例によれば、キャラクター・モデル600の関節j1’〜j20’の各々は、種々の時点において、または予め記録されているアーティスト制作アニメーションまたはモーション・キャプチャー・ファイルのそれぞれのフレームにおいて、予め記録されているアーティスト制作アニメーションまたはモーション・キャプチャー・ファイルの中に、対応するアニメーション・トラック(animation track)を有することもできる。例えば、図9Aに示すように、キャラクター・モデル600の関節j16’、j18’、およびj20’、ならびにそれらの間に定められた体部分は、各々、予め記録されているアーティスト制作アニメーションまたはモーション・キャプチャー・ファイルにおける第1時点または第1フレームにおいて、アニメーション・トラック(animation track)を有することができ、その結果、予め記録されているアーティスト制作アニメーションまたはモーション・ファイルにおけるキャラクター・モデル600のポーズ602が生ずることができる。次いで、関節j16’、j18’、およびj20’は、予め記録されているアーティスト制作アニメーションまたはモーション・ファイルにおけるキャラクター・モデル600の関節j16’、j18’、およびj20’についてのアニメーション・トラックの各々について、後続の第2時点または第2の後続フレームにおけるポーズ604を表すように調節することができる。
[0077] 再度図5を参照すると、325において、モデルのモーション、および/または予め記録されているモーションを、仮想オブジェクトまたはキャラクターに適用することができる。例えば、ターゲット認識、分析、および追跡システムは、ユーザーの1つ以上のリアル・タイムまたは生のモーション、および/またはユーザーの予め記録されているモーションを、仮想オブジェクトまたはキャラクターの少なくとも一部にマッピングすることができ、この仮想オブジェクトまたはキャラクターを動画化して、図1Aおよび図1Bに関して先に説明したユーザー18のようなユーザーによって行われる動きを真似させるようにすることができる。加えて、ターゲット認識、分析、および追跡システムは、1つ以上の予め記録されているアーティスト制作アニメーションまたはモーションおよび/または1つ以上の予め記録されているプログラム制御変換を、仮想オブジェクトまたはキャラクターの少なくとも一部にマッピングすることができ、この仮想オブジェクトまたはキャラクターを動画化して、予め記録されているアーティスト制作モーションおよび/または予め記録されているプログラム制御変換をまねるようにすることができる。
[0078] 図10Aおよび図10Bは、325において適用された、ユーザーの生のモーションおよび/または予め記録されているモーションを有することができる、仮想キャラクター700の一実施形態例を示す。図10Aおよび図10Bに示すように、キャラクター700は、例えば、ゲーム・アプリケーションにおけるキャラクターとすることもできる、ケンタウルを含むことができる。一実施形態によれば、仮想キャラクター700は、ユーザーと関連付けられたモデルを追跡して得られた生のモーション、および予め記録されているアーティスト制作モーションのような、予め記録されているモーションを使って、325において動画化することができる。例えば、仮想キャラクター700の第1部分Aは、図1Aおよび図1Bに関して先に説明したユーザー18のようなユーザーによって行われる生のモーションを使って動画化することができ、第2部分Bは、予め記録されているアーティスト制作モーションを使って動画化することができる。
[0079] 一実施形態例によれば、図7から図8Bに関して先に説明したように、ユーザーと関連付けられたモデル500の関節j1〜j12を、仮想キャラクター700の第1部分Aにマッピングすることができ、図9Aおよび図9Bに関して先に説明したように、キャラクター・モデル600の関節j9’〜j20’を、仮想キャラクター700の第2部分Bにマッピングすることができ、ユーザーが行うことができる生のモーションを真似するように第1部分Aを動画化し、仮想キャラクター700と関連付けられたキャラクター・モデル600のようなキャラクター・モデルのアニメーションをまねるように、第2部分Bを動画化することができるようになる。例えば、図8Aおよび図8Bに示したモデル500の関節j4、j8、およびj12、ならびにその間に定められている骨を、仮想キャラクター700の左肩、左肘、および左手首、ならびにそれらの間に定められている対応する体部分にマッピングすることができ、図10Aおよび図10Bに示す仮想キャラクター700の第1部分Aが、ユーザーが彼または彼女の左腕を動かしている姿と関連付けられる、図8Aおよび図8Bに示した関節j4、j8、およびj12のポーズ502および504を真似することができるようになる。加えて、図9Aおよび図9Bに示したキャラクター・モデル600の関節j16’、j18’、およびj20’ならびにそれらの間に定められている骨を、仮想キャラクター700の前左臀部(front left hip)、前左膝、および前左踝、ならびにそれらの間に定められる対応する体部分にマッピングすることができ、図10Aおよび図10Bに示した仮想キャラクター700の第2部分Bが、左前足を伸ばしているケンタウルのモデルの図9Aおよび図9Bに示した関節j16’、j18’、およびj20’のポーズ602および604を真似することができるようになる。このように、一実施形態例によれば、仮想キャラクター700は、ユーザーと関連付けられたモデル500の生のモーションを、仮想キャラクターまたはオブジェクトと関連付けられたキャラクター・モデル600の予め記録されているモーションと混合して、含むことができる。
[0080] 一実施形態では、生のモーションおよび予め記録されているモーションによって仮想キャラクター700を動画化するには、ターゲット認識、分析、および追跡システムは、仮想キャラクター700の第1部分Aに対応するキャラクター・モデル600の関節および/または体部分と関連付けられているアニメーションまたはモーションの追跡をディスエーブルすればよい。加えて、ターゲット認識、分析、および追跡システムは、仮想キャラクター700の第2部分Bに対応する、モーション・キャプチャー・ファイルにおけるモデル500の関節と関連付けられているアニメーションまたはモーションをディスエーブルしてもよい。ターゲット認識、分析、および追跡システムは、次いで、モーション・キャプチャー・ファイルの中にある、ユーザーと関連付けられているモデル500のアニメーションまたはモーションを、キャラクター・モデル600のアニメーションまたはモーション・トラックと混合して、ユーザーと関連付けられているモデル500のモーションによって、第1部分Aを動画化し、仮想キャラクター700と関連付けられているキャラクター・モデル500のアニメーションまたはモーションで、第2部分を動画化することができる。
[0081] 例えば、ターゲット認識、分析、およびターゲット・システムは、キャラクター・モデル600の関節j1’〜j8’のアニメーションまたはモーション・トラック、ならびにユーザーと関連付けられているモデル500の関節j13〜j18のアニメーションまたはモーションをディスエーブルすることができる。次に、ターゲット認識、分析、およびターゲット・システムは、キャラクター・モデル600と、ユーザーと関連付けられているモデル500とのアニメーションおよびモーションを混合して、仮想キャラクター700の第1部分Aが、ユーザーによる動きを真似することができ、仮想キャラクター700の第2部分Bが、図10Aおよび図10Bに示すような、キャラクター・モデルの予め記録されているアニメーションまたはモーションを真似することができるようになる。
[0082] 図11A〜図11Fは、325において、ユーザーの生のモーションおよび/または予め記録されているモーションが適用された仮想キャラクター800の他の実施形態例を示す。図11A〜図11Fに示すように、仮想キャラクター800は、例えば、ゲーム・アプリケーションにおけるキャラクターとしてもよいロボットを含むことができる。一実施形態によれば、仮想キャラクター800は、325において、ユーザーと関連付けられた被追跡モデルの生のモーション、および/またはユーザーと関連付けられたモデルの格納されているモーションまたはアーティストが制作した予め記録されているモーションというような、予め記録されているモーションを使って動画化することができる。例えば、仮想キャラクター800の第1部分A’は、図1Aおよび図1Bに関して先に説明したユーザー18のようなユーザーによって行われる生のモーションを使って動画化することができ、および/または第2部分B’は、モーション・キャプチャー・ファイルに予め記録されているユーザーのモーションまたはアーティストが制作した予め記録されているモーションを使って動画化することができる。
[0083] 一実施形態によれば、生のおよび/または予め記録されているモーションあるいはアニメーションは、ユーザーから受けたジェスチャーに応答して、仮想キャラクター800に適用することができる。例えば、315において取り込むことができる、ユーザーと関連付けられたモデルのリアル・タイムまたは生のモーションが、325において、仮想キャラクター800の動きまたはアニメーションを制御するために使うことができるジェスチャーを含むことができる。
[0084] 一実施形態例では、ユーザーと関連付けられているモデルを調節して、彼または彼女の左腕を上げているユーザーを真似して、そして315において取り込むことができるように、ユーザーが彼または彼女の左腕を上げることができる。例えば、図7から図8Bに関して先に説明したモデル500の関節j4、j8、およびj12は、ユーザーが彼または彼女の左腕を上げたことを反映するように調節することができる。次いで、ターゲット認識、分析、および追跡システムは、持ち上げられた左腕と関連付けられたジェスチャーを解釈し、ターゲット認識、分析、および追跡システムが、予め記録されているモーションまたは生のモーションを、仮想キャラクター800の第1部分A’のような少なくとも一部に適用することができ、ユーザーによって持ち上げられた左腕と関連付けられたジェスチャーに応答して、仮想キャラクター800の第1部分A’等のような少なくとも一部に適用されている、予め記録されているモーションまたは生のモーションから切り替えることができる。
[0085] 例えば、一実施形態によれば、ユーザーが彼または彼女の左腕を上げたことに応答して、例えば、ユーザーと関連付けられているモデル500に行われた調節に基づいて仮想キャラクター800を動画化し、図11Bに示すように、ユーザーが彼または彼女の左腕を上げたという生のモーションを、例えば、仮想キャラクター800の第1部分A’に適用することができるようになる。即ち、ユーザーが彼または彼女の左腕を上げたことに応答して、ユーザーと関連付けられているモデル500の関節j4、j8、およびj12を、仮想キャラクター800の左腕にマッピングすることができ、仮想キャラクター800の第1部分A’を、ユーザーが彼または彼女の上半身によって行う生のモーションによって動画化することができるようになる。加えて、ユーザーによる彼または彼女の上半身のその後の動きも、仮想キャラクター800に適用することができる。例えば、ユーザーが彼または彼女の右前腕を上げると、ユーザーが彼または彼女の右前腕を上げた生のモーションを、モデル500の関節j7およびj11に適用することができる。これらの生のモーションは、次に、前述のように仮想キャラクター800に適用され、仮想キャラクター800が、図11Cに示すように、彼または彼女の左前腕を上げるように動画化させるまたは動かすことができるようになる。このように、一実施形態によれば、受け取ったジェスチャーに応答して、仮想キャラクター800の少なくとも一部を、ユーザーと関連付けられたモデル500に適用することができるユーザーの動きを真似するように動画化することができる。
[0086] 同様に、ユーザーが彼または彼女の左足を上げると、ユーザーと関連付けられているモデルは、ユーザーが彼または彼女の左足を上げる動作を真似することができ、315においてこのモデルを取り込むことができるようになる。例えば、図7から図8Bに関して先に説明したモデル500の関節j14、j16、およびj18は、ユーザーが彼または彼女の左足を上げたことを反映するように調節することができる。ターゲット認識、分析、および追跡システムは、次に、上げられた左足と関連のあるジェスチャーを解釈することができ、ターゲット認識、分析、および追跡システムが、ユーザーによって上げられた左足と関連のあるジェスチャーに応答して、予め記録されているモーションまたは生のモーションを、仮想キャラクター800の第2部分B’のような少なくとも一部に適用することができ、仮想キャラクター800の第2部分B’のような少なくとも一部に適用されている、予め記録されているモーションまたは生のモーションから切り替えること等ができるようになる。
[0087] 例えば、一実施形態によれば、ユーザーが彼または彼女の左足を上げたことに応答して、仮想キャラクター800の第2部分B’を、モーション・キャプチャー・ファイルに取り込まれているユーザーと関連付けられているモデル500の予め記録されている歩行運動、または図11Dから図11Fに示すような、アーティストが制作した歩行アニメーションというような、予め記録されている歩行運動を使って動画化することができる。即ち、ユーザーが彼または彼女の左足を上げたことに応答して、格納されているモーション・キャプチャー・ファイルの中にあるモデル500の関節j13〜j18を、仮想キャラクター800の右足および左足それぞれにマッピングすることができ、仮想キャラクター800の第2部分B’を、ユーザーが行った歩行運動を予め記録したものによって動画化することができる。あるいは、ユーザーが彼または彼女の左足を上げたことに応答して、キャラクター・モデルの関節および/または体部分を、仮想キャラクター800の右足および左足それぞれにマッピングすることができ、仮想キャラクター800の第2部分B’を、アーティストが制作して予め記録されている歩行運動によって動画化することができる。
[0088] 一実施形態では、仮想キャラクター800に適用されるアニメーションを制御することができる後続のジェスチャーを受け取ることができるまで、ユーザーの生のモーションおよび/または予め記録されているモーションを、例えば、仮想キャラクター800の第1および第2部分A’およびB’に適用することができる。例えば、ユーザーが彼または彼女の右および左腕双方を上げるというような後続のジェスチャーを受け取ることができるまで、ユーザーの生のモーションを、仮想キャラクター800の第1部分A’に適用することができる。後続のジェスチャーを受け取ると、仮想キャラクター800の第1部分A’を静止させるか、あるいは、例えば、前述のモーション・キャプチャー・ファイルの中に予め記録されているユーザーのモーションまたはアーティストが生成し予め記録されているアニメーションというような、予め記録されているモーションを使って動画化されるように切り替えることができる。
[0089] 一実施形態例によれば、ユーザーが彼または彼女の左手を上げたことに応答して、ユーザーが彼または彼女の上半身によって行った生のモーションを使って仮想キャラクター800の第1部分A’を動画化するには、ターゲット認識、分析、および追跡システムは、ユーザーの下半身と関連付けられているモデル500の関節j13〜j18のような、関節および/または体部分のアニメーションまたはモーションをディスエーブルすることができる。加えて、ユーザーが彼または彼女の左足を上げたことに応答して、予め記録されている歩行運動を使って仮想キャラクター800の第2部分B’を動画化するには、ターゲット認識、分析、および追跡システムは、仮想キャラクター800またはユーザーと関連付けられたキャラクター・モデルの上半身と関連付けられたキャラクター・モデルまたはモデル500の関節および/または体部分のアニメーションまたはモーションをディスエーブルすることができる。ターゲット認識、分析、および追跡システムは、次に、キャラクター・モデル600の予め記録されている歩行運動をイネーブルしこれと、ユーザーの上半身のイネーブルされている生のアニメーションまたはモーションを混合することができ、ユーザーが彼または彼女の左腕を上げたことに応答して、第1部分A’をユーザーの上半身の生のモーションを使って、図11Dから図11Fに示すような予め記録されている歩行運動によって動画化することができる。
[0090] 加えて、一実施形態では、ユーザーが双方の腕を上げるというような後続のジェスチャーを受け取ったことに応答して、例えば、仮想キャラクター800の第1部分A’に適用されているユーザーの生のモーションを、予め記録されているモーションと切り替えることができ、ターゲット認識、分析、および追跡システムは、例えば、15〜20フレームのような所定数のフレームに渡って移り変わり(transition)を混合することができ、仮想キャラクターの第1部分A’が、生のモーションと予め記録されているモーションとの間で滑らかに移り変わることができるようにする。例えば、生のモーションにおけるモデル500の関節および/または体部分の各々を、15〜20フレームにわたる予め記録されているモーションにおける、対応する関節および/または体部分と混合することができる。このように、モーション・キャプチャー・ファイルにおける生のモーションの第1フレームにおけるモデル500の上半身と関連のある各関節を、予め記録されているモーションまたはアニメーションの第1フレームにおけるキャラクター・モデルの各対応する関節および/または体部分と混合することができる。次いで、生のモーションは、所定数のフレームの後に、徐々に消えて行き、仮想キャラクター800の第1部分A’が、予め記録されているモーションまたはアニメーションを使って動画化されるようにすることができる。
[0091] 図12Aおよび図12Bは、ユーザーの生のモーションおよび/または325において適用されたプログラム制御変形を有することができるゲーム・キャラクター900の一実施形態例を示す。図12Aおよび図12Bに示すように、ゲーム・キャラクター900は、例えば、フットボール・ゲーム・アプリケーションにおけるキャラクターとしてもよい、フットボール・プレーヤーを含むことができる。一実施形態によれば、ゲーム・キャラクター900は、325において、ユーザーと関連付けられた被追跡モデルの生のモーション、および入力デバイスによって制御されるアニメーションまたはモーション、ラグ・ドール(rag doll)のアニメーションまたはモーション等のようなプログラム制御変換を使って動画化することができる。例えば、ゲーム・キャラクター900の腕906aおよび906bのような第1部分は、図1Aおよび図1Bに関して説明したユーザー18のようなユーザーが彼または彼女の腕によって行った生のモーションによって、制御または動画化することができる。一実施形態例によれば、図12Aおよび図12Bに示すゲーム・キャラクター900の残りの体部分の各々のような第2部分には、予め記録されているプログラム制御変形が適用されていてもよい。
[0092] 一実施形態では、予め記録されているプログラム制御変形は、ゴール・ベース(goal based)アニメーションまたはモーションを含むことができる。このアニメーションまたはモーションは、物理的過程を使って、ゲーム・キャラクター900のようなゲーム・キャラクターがアプリケーションにおいてそのゴールに到達することを可能にすることができる。例えば、ゲーム・キャラクター900は、ワイド・レシーバーとすることができ、パスを捕球するために、フットボール・ゲーム・アプリケーションにおいて設けられているフットボール競技場において、特定の位置に到達して得点を得ることができる。この予め記録されているプログラム制御変形は、例えば、ゲーム・キャラクター900に自動的にその位置に到達させることができる物理的過程を使って、アニメーションまたはモーションを含むことができる。
[0093] 加えて、他の実施形態例によれば、ゲーム・キャラクター900は、図12Aおよび図12Bに示すように、相手チームのゲーム・キャラクターによってタックルされてもよい。プログラム制御変形は、フットボール・ゲーム・アプリケーションにおいて所与の位置でゲーム・キャラクター900にタックルするように位置付けることができるラグ・ドールに基づいて、予め記録されているアニメーションまたはモーションを含むことができる。例えば、プログラム制御変形のモーションまたはアニメーションは、ゲーム・キャラクター900が、敵のプレーヤーの位置と関連付けられたラグ・ドールによってタックルされたと考えたときのゲーム・キャラクター900の反応に基づく物理的過程の計算に基づいて生成することができる、ラグ・ドールのアニメーションまたはモーションを含むことができる。
[0094] このように、一実施形態では、腕906aおよび906bには、ユーザーの腕の生のモーションを適用することができ、ゲーム・キャラクター900の残りの体部分は、ゲーム・キャラクター900にタックルする敵のプレーヤーと関連付けられたラグ・ドールのアニメーションまたはモーションのプログラム制御変換によって動画化することができ、ユーザーは、図12Aおよび図12Bに示すように、捕球を行うように腕906aおよび906bを制御し続けることができ、体の残りの部分は、敵のプレーヤーによって実際にタックルされたプレーヤーと同様に反応することができる。
[0095] このように、一実施形態例では、図5に示した325において、1つ以上の生のモーションまたはモーション・キャプチャー・ファイルに予め記録されているモーションに応答して、 画面上のキャラクターの視覚的外観を変化させることができる。例えば、ゲーミング・コンソールにおいて電子ゲームをプレーしている図1Aおよび図1Bに関して先に説明したユーザー18のようなゲーム・プレーヤーを、本明細書において記載したように、ゲーミング・コンソールによって追跡することができる。ゲーム・プレーヤーが腕を振ると、ゲーミング・コンソールはこのモーションを追跡し、次いでこの追跡したモーションに応答して、ユーザーと関連付けられているモデルを調節することができる。前述のように、被追跡モデルを更にモーション・キャプチャー・ファイルに取り込むこともできる。次いで、モーション・キャプチャー・ファイルを、例えば、画面上のキャラクターの上半身部分に適用することができ、ユーザーが彼らの腕を振る実際のモーションを真似るように、画面上のキャラクターを動画化することができるようになる。加えて、アーティストが生成した予め記録されているモーション、またはプログラム制御変換を、生のモーションまたはモーション・キャプチャー・ファイルに予め記録されているモーションと混合することもできる。例えば、実施形態例によれば、画面上のキャラクターは、例えば、ユーザーが彼または彼女の腕をリアル・タイムで、または生で振るのと全く同様に、ゲームにおいて、ゴルフ・クラブ、バットを振る、またはパンチを打つように動画化することができ、そして予め記録されている走行、歩行、あるいはバイクのモーションまたはアニメーションに取り込むことができるプロの競技者と同様に、画面上のキャラクターが走行する、歩行する、またはバイクに乗るように動画化することができる。
[0096] 尚、本明細書において記載した構成および/または手法は、本質的に例示であること、そしてこれら具体的な実施形態または例を限定と見なしてはならないことは言うまでもない。本明細書において記載したこれら具体的なルーチンおよび方法は、任意の数の処理方策のうち1つ以上を表すことができる。したがって、例示した種々の動作(act)は、例示したシーケンスで、他のシーケンスで、並行して等で実行することができる。同様に、前述のプロセスの順序も変更することができる。
[0097] 本開示の主題は、本明細書において開示した種々のプロセス、システムおよび構成、ならびに他の特徴、機能、動作、および/または特性のあらゆる新規でかつ非明示的なコンビネーションおよびサブコンビネーション、更にはそのいずれの均等物および全ての均等物も含むこととする。

Claims (12)

  1. ンピューターにより実行される方法であって、
    前記コンピューターが、予め記録されたモーションとユーザーの生のモーションを受け取るステップと、
    前記コンピューターが、仮想キャラクターの1つ以上の体部分を、前記生のモーションに関連した前記ユーザーの第1モデルにおける1つ以上の関節にマッピングするステップと、
    前記コンピューターが、前記仮想キャラクターの1つ以上の体部分を、前記予め記録されたモーションに関連した第2モデルにおける1つ以上の関節にマッピングするステップと、
    前記コンピューターが、前記予め記録されたモーションと前記生のモーションによって前記仮想キャラクターを動画化するステップであって、少なくとも、
    前記コンピューターが、前記仮想キャラクター第2部分におけ1つ以上の体部分に対応する前記ユーザーの前記第1モデルにおける1つ以上の関節をディスエーブルするステップと、
    前記コンピューターが、前記仮想キャラクター第1部分におけ1つ以上の体部分に対応する前記予め記録されたモーション関連した前記第2モデルにおける1つ以上の関節をディスエーブルするステップと、
    前記コンピューターが、前記ユーザーの前記第1モデルにおける前記1つ以上の関節をディスエーブルすることおよび前記第2モデルにおける前記1つ以上の関節をディスエーブルすることに応答して、前記ユーザーの前記第1モデル関連した前記生のモーションを、前記第2モデル関連した前記予め記録されたモーションと混合するステップと、
    前記コンピューターが、前記仮想キャラクターの前記第1部分および前記第2部分を、前記混合された生のモーションおよび予め記録されたモーションを使って動画化するステップと、
    によって行う、ステップと、
    を含む方法。
  2. 請求項1記載方法において、前記予め記録されたモーションは、前記ユーザーの予め記録されたモーション、アーティストが制作したモーション、およびプログラム制御された変換のうち少なくとも1つを含む方法。
  3. 請求項1記載方法であって、更に、前記コンピューターが、前記ユーザーからジェスチャーを受け取るステップを含み、前記ジェスチャーが、アニメーションを前記仮想キャラクターに適用するコマンドと関連付けられた方法。
  4. 請求項記載方法において、前記仮想キャラクターは、前記ユーザーからの前記ジェスチャーの受け取りに応答して、前記生のモーションおよび前記予め記録されたモーションによって動画化される、方法。
  5. ステムであって、
    少なくとも1つのプロセッサーを含み、該少なくとも1つのプロセッサーが、コンピューター実行可能命令を実行し、該コンピューター実行可能命令が、
    ユーザーの予め記録されたモーションおよび生のモーションを受け取る命令と、
    仮想キャラクターの1つ以上の体部分を、前記生のモーション関連した前記ユーザーの第1モデルにおける1つ以上の関節にマッピングする命令と、
    前記仮想キャラクターの1つ以上の体部分を、前記予め記録されたモーション関連した第2モデルにおける1つ以上の関節にマッピングする命令と、
    前記予め記録されたモーションおよび前記生のモーションにより、前記仮想キャラクターを動画化する命令であって、少なくとも、
    前記仮想キャラクターの第2部分におけ1つ以上の体部分に対応する前記ユーザーの前記第1モデルにおける1つ以上の関節をディスエーブルすること、
    前記仮想キャラクターの第1部分におけ1つ以上の体部分に対応する前記予め記録されたモーション関連した前記第2モデルにおける1つ以上の関節をディスエーブルすること、
    前記ユーザーの前記第1モデルにおける前記1つ以上の関節をディスエーブルすることおよび前記第2モデルにおける前記1つ以上の関節をディスエーブルすることに応答して、前記ユーザーの前記第1モデル関連した前記生のモーションを、前記第2モデル関連した前記予め記録されたモーションと混合すること、
    前記仮想キャラクターの前記第1部分および前記第2部分を、前記混合された生のモーションおよび予め記録されたモーションを使って動画化すること、
    によって行う、命令と、
    を含む、システム。
  6. 請求項記載のシステムにおいて、前記予め記録されたモーションが、前記ユーザーの予め記録されたモーション、アーティストが制作したモーション、およびプログラム制御された変換のうち少なくとも1つを含む、システム。
  7. 請求項記載のシステムであって、前記コンピューター実行可能命令が更に、前記ユーザーからジェスチャーを受け取る命令を含み、前記ジェスチャーが、アニメーションを前記仮想キャラクターに適用するコマンドと関連付けられた、システム。
  8. 請求項記載のシステムにおいて、前記仮想キャラクターは、前記ユーザーからの前記ジェスチャーの受け取りに応答して、前記生のモーションおよび前記予め記録されたモーションによって動画化される、システム。
  9. ンピューター実行可能命令が格納されたコンピューター読み取り可能記憶デバイスであって、前記コンピューター実行可能命令が、
    予め記録されたモーションとユーザーの生のモーションを受け取る命令と、
    仮想キャラクターの1つ以上の体部分を、前記生のモーションに関連した前記ユーザーの第1モデルにおける1つ以上の関節にマッピングするステップと、
    前記仮想キャラクターの1つ以上の体部分を、前記予め記録されたモーションに関連した第2モデルにおける1つ以上の関節にマッピングするステップと、
    記予め記録されたモーションと前記生のモーションによって前記仮想キャラクターを動画化する命令であって、少なくとも、
    前記仮想キャラクター第2部分における前記1つ以上の体部分に対応する前記ユーザーの前記第1モデルにおける1つ以上の関節をディスエーブルすること、
    前記仮想キャラクター第1部分における1つ以上の体部分に対応する前記予め記録されたモーション関連した前記第2モデルにおける1つ以上の関節をディスエーブルすること、
    前記ユーザーの前記第1モデルにおける前記1つ以上の関節をディスエーブルすることおよび前記第2モデルにおける前記1つ以上の関節をディスエーブルすることに応答して、前記ユーザーの前記第1モデル関連した前記生のモーションを、前記第2モデル関連した前記予め記録されたモーションと混合すること、
    前記仮想キャラクターの前記第1部分および前記第2部分を、前記混合された生のモーションおよび予め記録されたモーションを使って動画化すること、
    によって行う、命令と、
    を含む、コンピューター読み取り可能記憶デバイス
  10. 請求項記載のコンピューター読み取り可能記憶デバイスにおいて、前記予め記録されたモーションは、前記ユーザーの予め記録されたモーション、アーティストが制作したモーション、およびプログラム制御された変換のうち少なくとも1つを含む、コンピューター読み取り可能記憶デバイス
  11. 請求項記載のコンピューター読み取り可能記憶デバイスであって、前記コンピューター実行可能命令が、更に、前記ユーザーからジェスチャーを受け取る命令を含み、前記ジェスチャーが、アニメーションを前記仮想キャラクターに適用するコマンドと関連付けられた、コンピューター読み取り可能記憶デバイス
  12. 請求項11記載のコンピューター読み取り可能記憶デバイスにおいて、前記仮想キャラクターは、前記ユーザーからの前記ジェスチャーの受け取りに応答して、前記生のモーションおよび前記予め記録されたモーションによって動画化される、コンピューター読み取り可能記憶デバイス
JP2012513147A 2009-05-29 2010-05-22 キャラクターにアニメーションまたはモーションを加えるシステムおよび方法 Active JP5576932B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/475,422 US8803889B2 (en) 2009-05-29 2009-05-29 Systems and methods for applying animations or motions to a character
US12/475,422 2009-05-29
PCT/US2010/035885 WO2010138428A2 (en) 2009-05-29 2010-05-22 Systems and methods for applying animations or motions to a character

Publications (3)

Publication Number Publication Date
JP2012528390A JP2012528390A (ja) 2012-11-12
JP2012528390A5 JP2012528390A5 (ja) 2013-07-04
JP5576932B2 true JP5576932B2 (ja) 2014-08-20

Family

ID=43219712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012513147A Active JP5576932B2 (ja) 2009-05-29 2010-05-22 キャラクターにアニメーションまたはモーションを加えるシステムおよび方法

Country Status (9)

Country Link
US (2) US8803889B2 (ja)
EP (1) EP2435146B1 (ja)
JP (1) JP5576932B2 (ja)
KR (1) KR101751078B1 (ja)
CN (1) CN102596340B (ja)
BR (1) BRPI1012091B1 (ja)
CA (1) CA2760210C (ja)
RU (1) RU2544770C2 (ja)
WO (1) WO2010138428A2 (ja)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7459624B2 (en) 2006-03-29 2008-12-02 Harmonix Music Systems, Inc. Game controller simulating a musical instrument
US20090075711A1 (en) 2007-06-14 2009-03-19 Eric Brosius Systems and methods for providing a vocal experience for a player of a rhythm action game
US8678896B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for asynchronous band interaction in a rhythm action game
US8588465B2 (en) * 2009-01-30 2013-11-19 Microsoft Corporation Visual target tracking
US8465366B2 (en) 2009-05-29 2013-06-18 Harmonix Music Systems, Inc. Biasing a musical performance input to a part
US8803889B2 (en) * 2009-05-29 2014-08-12 Microsoft Corporation Systems and methods for applying animations or motions to a character
US8449360B2 (en) 2009-05-29 2013-05-28 Harmonix Music Systems, Inc. Displaying song lyrics and vocal cues
US8719714B2 (en) 2009-07-08 2014-05-06 Steelseries Aps Apparatus and method for managing operations of accessories
US8202161B2 (en) * 2009-10-23 2012-06-19 Disney Enterprises, Inc. Virtual game instructor
US8702485B2 (en) 2010-06-11 2014-04-22 Harmonix Music Systems, Inc. Dance game and tutorial
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
US10357714B2 (en) 2009-10-27 2019-07-23 Harmonix Music Systems, Inc. Gesture-based user interface for navigating a menu
US8874243B2 (en) 2010-03-16 2014-10-28 Harmonix Music Systems, Inc. Simulating musical instruments
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
US9024166B2 (en) 2010-09-09 2015-05-05 Harmonix Music Systems, Inc. Preventing subtractive track separation
US8831794B2 (en) * 2011-05-04 2014-09-09 Qualcomm Incorporated Gesture recognition via an ad-hoc proximity sensor mesh for remotely controlling objects
US9628843B2 (en) * 2011-11-21 2017-04-18 Microsoft Technology Licensing, Llc Methods for controlling electronic devices using gestures
US20140018169A1 (en) * 2012-07-16 2014-01-16 Zhong Yuan Ran Self as Avatar Gaming with Video Projecting Device
US9266020B2 (en) 2012-09-27 2016-02-23 Empire Technology Development Llc Character model animation using stored recordings of player movement interface data
US10657694B2 (en) * 2012-10-15 2020-05-19 Tangible Play, Inc. Activity surface detection, display and enhancement of a virtual scene
US10033943B1 (en) 2012-10-15 2018-07-24 Tangible Play, Inc. Activity surface detection, display and enhancement
US9158389B1 (en) * 2012-10-15 2015-10-13 Tangible Play, Inc. Virtualization of tangible interface objects
US9687730B2 (en) * 2013-03-15 2017-06-27 Steelseries Aps Gaming device with independent gesture-sensitive areas
CN105451837B (zh) * 2013-03-15 2020-08-18 索尼电脑娱乐公司 骨骼动画的用户生成记录
US10825220B1 (en) * 2013-10-03 2020-11-03 Pixar Copy pose
CN103543830B (zh) * 2013-10-28 2017-02-15 四川大学 一种人体骨骼点映射至立体显示中虚拟三维空间点的方法
US20160262685A1 (en) 2013-11-12 2016-09-15 Highland Instruments, Inc. Motion analysis systemsand methods of use thereof
WO2016013893A1 (en) * 2014-07-25 2016-01-28 Samsung Electronics Co., Ltd. Displaying method, animation image generating method, and electronic device configured to execute the same
US10237329B1 (en) 2014-09-26 2019-03-19 Amazon Technologies, Inc. Wirelessly preparing device for high speed data transfer
US9940583B1 (en) 2014-09-26 2018-04-10 Amazon Technologies, Inc. Transmitting content to kiosk after determining future location of user
US20160092034A1 (en) * 2014-09-26 2016-03-31 Amazon Technologies, Inc. Kiosk Providing High Speed Data Transfer
US10973440B1 (en) * 2014-10-26 2021-04-13 David Martin Mobile control using gait velocity
KR101687484B1 (ko) * 2015-05-07 2016-12-16 한국과학기술원 이형 공간간의 인간형 객체 모션 리타게팅 방법 및 시스템
US10489956B2 (en) * 2015-07-27 2019-11-26 Autodesk, Inc. Robust attribute transfer for character animation
US9786032B2 (en) * 2015-07-28 2017-10-10 Google Inc. System for parametric generation of custom scalable animated characters on the web
JP6678682B2 (ja) * 2015-12-09 2020-04-08 株式会社カプコン ゲームプログラムを記録した記録媒体、効果制御方法およびゲーム装置
US9919217B2 (en) 2016-03-08 2018-03-20 Electronic Arts Inc. Dynamic difficulty adjustment
CN107180446B (zh) * 2016-03-10 2020-06-16 腾讯科技(深圳)有限公司 人物面部模型的表情动画生成方法及装置
WO2017165860A1 (en) 2016-03-25 2017-09-28 Tangible Play, Inc. Activity surface detection, display and enhancement of a virtual scene
JP2017176673A (ja) * 2016-03-31 2017-10-05 ブラザー工業株式会社 表示制御装置およびプログラム
US10384133B1 (en) 2016-12-30 2019-08-20 Electronic Arts Inc. Systems and methods for automatically measuring a video game difficulty
US10357718B2 (en) 2017-02-28 2019-07-23 Electronic Arts Inc. Realtime dynamic modification and optimization of gameplay parameters within a video game application
CN107469355A (zh) * 2017-07-31 2017-12-15 广东欧珀移动通信有限公司 游戏人物形象创建方法及装置、终端设备
WO2019049298A1 (ja) * 2017-09-08 2019-03-14 株式会社Vrc 3dデータシステム及び3dデータ処理方法
US10777006B2 (en) * 2017-10-23 2020-09-15 Sony Interactive Entertainment Inc. VR body tracking without external sensors
KR102040130B1 (ko) 2017-11-15 2019-11-04 동서대학교 산학협력단 3d 그래픽 툴에서의 모션 스컬팅 장치 및 그 방법
US10916059B2 (en) * 2017-12-06 2021-02-09 Universal City Studios Llc Interactive video game system having an augmented virtual representation
CN108375958B (zh) * 2018-01-15 2020-06-19 珠海格力电器股份有限公司 一种电器系统
US10380803B1 (en) * 2018-03-26 2019-08-13 Verizon Patent And Licensing Inc. Methods and systems for virtualizing a target object within a mixed reality presentation
CN114915827A (zh) * 2018-05-08 2022-08-16 日本聚逸株式会社 动态图像分发系统及其方法和记录介质
KR102481333B1 (ko) 2018-05-08 2022-12-23 그리 가부시키가이샤 액터의 움직임에 기초하여 생성되는 캐릭터 오브젝트의 애니메이션을 포함하는 동화상을 배신하는 동화상 배신 시스템, 동화상 배신 방법 및 동화상 배신 프로그램
US11128932B2 (en) 2018-05-09 2021-09-21 Gree, Inc. Video distribution system for live distributing video containing animation of character object generated based on motion of actors
CN108734774B (zh) * 2018-05-18 2022-05-31 网易(杭州)网络有限公司 虚拟肢体构建方法及装置、人机交互方法
CN110647780A (zh) * 2018-06-07 2020-01-03 东方联合动画有限公司 一种数据处理方法、系统
US10713543B1 (en) 2018-06-13 2020-07-14 Electronic Arts Inc. Enhanced training of machine learning systems based on automatically generated realistic gameplay information
WO2020010530A1 (en) 2018-07-10 2020-01-16 Microsoft Technology Licensing, Llc Automatically generating motions of an avatar
US11044535B2 (en) 2018-08-28 2021-06-22 Gree, Inc. Video distribution system for live distributing video containing animation of character object generated based on motion of distributor user, distribution method, and storage medium storing video distribution program
CN109407825A (zh) * 2018-08-30 2019-03-01 百度在线网络技术(北京)有限公司 基于虚拟物品的互动方法与装置
US11022863B2 (en) 2018-09-17 2021-06-01 Tangible Play, Inc Display positioning system
US11276216B2 (en) 2019-03-27 2022-03-15 Electronic Arts Inc. Virtual animal character generation from image or video data
US10953334B2 (en) * 2019-03-27 2021-03-23 Electronic Arts Inc. Virtual character generation from image or video data
US11110353B2 (en) 2019-07-10 2021-09-07 Electronic Arts Inc. Distributed training for machine learning of AI controlled virtual entities on video game clients
DE112020003344T5 (de) * 2019-07-11 2022-04-28 Sony Group Corporation Datenverarbeitungsvorrichtung, datenverarbeitungsverfahren unddatenverarbeitungsprogramm
KR20210012562A (ko) * 2019-07-25 2021-02-03 삼성전자주식회사 아바타를 제공하는 전자 장치 및 그의 동작 방법
RU2708027C1 (ru) * 2019-08-16 2019-12-03 Станислав Игоревич Ашманов Способ передачи движения субъекта из видео на анимированного персонажа
CN110531860B (zh) * 2019-09-02 2020-07-24 腾讯科技(深圳)有限公司 一种基于人工智能的动画形象驱动方法和装置
US11648480B2 (en) 2020-04-06 2023-05-16 Electronic Arts Inc. Enhanced pose generation based on generative modeling
US11620783B2 (en) * 2021-05-27 2023-04-04 Ai Thinktank Llc 3D avatar generation and robotic limbs using biomechanical analysis
US11640725B2 (en) 2021-05-28 2023-05-02 Sportsbox.ai Inc. Quantitative, biomechanical-based analysis with outcomes and context
US12008839B2 (en) 2021-05-28 2024-06-11 Sportsbox.ai Inc. Golf club and other object fitting using quantitative biomechanical-based analysis
US11734868B2 (en) 2021-07-19 2023-08-22 Sony Group Corporation Motion retargeting based on differentiable rendering
KR102364728B1 (ko) 2021-10-20 2022-02-18 주식회사 행복한다람쥐단 피사체의 프레임 데이터로부터 캐릭터 모션을 생성하는 방법 및 이를 이용한 장치
US11816772B2 (en) * 2021-12-13 2023-11-14 Electronic Arts Inc. System for customizing in-game character animations by players
KR102589194B1 (ko) 2023-02-07 2023-10-13 (주)로코모스튜디오 서로 다른 캐릭터 사이의 애니메이션 데이터를 호환 가능하게 연결하는 모션 커버 방법, 장치 및 시스템
CN117032618B (zh) * 2023-10-07 2024-02-02 启迪数字科技(深圳)有限公司 基于多屏幕的动画旋转方法、设备及介质

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2552427B2 (ja) 1993-12-28 1996-11-13 コナミ株式会社 テレビ遊戯システム
IL114278A (en) 1995-06-22 2010-06-16 Microsoft Internat Holdings B Camera and method
JP3869005B2 (ja) 1995-06-22 2007-01-17 3ディブイ・システムズ・リミテッド テレセントリック立体カメラと方法
JP3745802B2 (ja) 1995-10-13 2006-02-15 株式会社日立製作所 画像生成/表示装置
JP3368739B2 (ja) 1996-01-22 2003-01-20 三菱電機株式会社 アニメーション制作システム
US6088042A (en) 1997-03-31 2000-07-11 Katrix, Inc. Interactive motion data animation system
WO1999015863A1 (en) 1997-09-24 1999-04-01 3Dv Systems, Ltd. Acoustical imaging system
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
US6115052A (en) 1998-02-12 2000-09-05 Mitsubishi Electric Information Technology Center America, Inc. (Ita) System for reconstructing the 3-dimensional motions of a human figure from a monocularly-viewed image sequence
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6501515B1 (en) 1998-10-13 2002-12-31 Sony Corporation Remote control system
JP2000163178A (ja) 1998-11-26 2000-06-16 Hitachi Ltd 仮想キャラクタとのインタラクション装置、及び仮想キャラクタの映像を生成するプログラムを記憶した記憶媒体
US6552729B1 (en) * 1999-01-08 2003-04-22 California Institute Of Technology Automatic generation of animation of synthetic characters
US6614422B1 (en) 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US6738065B1 (en) 1999-08-10 2004-05-18 Oshri Even-Zohar Customizable animation system
WO2001018563A1 (en) 1999-09-08 2001-03-15 3Dv Systems, Ltd. 3d imaging system
US6512838B1 (en) 1999-09-22 2003-01-28 Canesta, Inc. Methods for enhancing performance and data acquired from three-dimensional image systems
US7050177B2 (en) 2002-05-22 2006-05-23 Canesta, Inc. Method and apparatus for approximating depth of an object's placement onto a monitored region with applications to virtual interface devices
US7006236B2 (en) 2002-05-22 2006-02-28 Canesta, Inc. Method and apparatus for approximating depth of an object's placement onto a monitored region with applications to virtual interface devices
US6690618B2 (en) 2001-04-03 2004-02-10 Canesta, Inc. Method and apparatus for approximating a source position of a sound-causing event for determining an input used in operating an electronic device
US20030132950A1 (en) 2001-11-27 2003-07-17 Fahri Surucu Detecting, classifying, and interpreting input events based on stimuli in multiple sensory domains
DE19960180B4 (de) 1999-12-14 2006-03-09 Rheinmetall W & M Gmbh Verfahren zur Herstellung eines Sprenggeschosses
US6674877B1 (en) 2000-02-03 2004-01-06 Microsoft Corporation System and method for visually tracking occluded objects in real time
US20010056477A1 (en) 2000-02-15 2001-12-27 Mcternan Brennan J. Method and system for distributing captured motion data over a network
US6663491B2 (en) 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
US6554706B2 (en) 2000-05-31 2003-04-29 Gerard Jounghyun Kim Methods and apparatus of displaying and evaluating motion data in a motion game apparatus
US20020024517A1 (en) 2000-07-14 2002-02-28 Komatsu Ltd. Apparatus and method for three-dimensional image production and presenting real objects in virtual three-dimensional space
JP2002058045A (ja) 2000-08-08 2002-02-22 Komatsu Ltd 現実の物体をバーチャル3次元空間に登場させるためのシステム及び方法
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
JP3725460B2 (ja) 2000-10-06 2005-12-14 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス
US6539931B2 (en) 2001-04-16 2003-04-01 Koninklijke Philips Electronics N.V. Ball throwing assistant
AU2002315456A1 (en) 2001-06-22 2003-01-08 Canesta, Inc. Method and system to display a virtual input device
US20030165048A1 (en) 2001-12-07 2003-09-04 Cyrus Bamji Enhanced light-generated interface for use with electronic devices
US7340077B2 (en) 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
AU2003219926A1 (en) 2002-02-26 2003-09-09 Canesta, Inc. Method and apparatus for recognizing objects
US7310431B2 (en) 2002-04-10 2007-12-18 Canesta, Inc. Optical methods for remotely measuring objects
US7623115B2 (en) 2002-07-27 2009-11-24 Sony Computer Entertainment Inc. Method and apparatus for light input device
US7646372B2 (en) 2003-09-15 2010-01-12 Sony Computer Entertainment Inc. Methods and systems for enabling direction detection when interfacing with a computer program
US7883415B2 (en) 2003-09-15 2011-02-08 Sony Computer Entertainment Inc. Method and apparatus for adjusting a view of a scene being displayed according to tracked head motion
US7151530B2 (en) 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
ATE421371T1 (de) * 2002-09-30 2009-02-15 Igt Reno Nev 3-d text in einem spielautomaten
US9177387B2 (en) * 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture
US7372977B2 (en) 2003-05-29 2008-05-13 Honda Motor Co., Ltd. Visual tracking using depth data
US7874917B2 (en) 2003-09-15 2011-01-25 Sony Computer Entertainment Inc. Methods and systems for enabling depth and direction detection when interfacing with a computer program
JP3847753B2 (ja) 2004-01-30 2006-11-22 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス
WO2005084209A2 (en) * 2004-02-27 2005-09-15 University Of Florida Research Foundation, Inc. Interactive virtual characters for training including medical diagnosis training
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
JP4904264B2 (ja) 2004-07-30 2012-03-28 エクストリーム リアリティー エルティーディー. 3d空間次元に基づく画像処理のためのシステムおよび方法
US7991220B2 (en) 2004-09-01 2011-08-02 Sony Computer Entertainment Inc. Augmented reality game system using identification information to display a virtual object in association with a position of a real object
EP1645944B1 (en) 2004-10-05 2012-08-15 Sony France S.A. A content-management interface
JP4449723B2 (ja) 2004-12-08 2010-04-14 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
US8009871B2 (en) 2005-02-08 2011-08-30 Microsoft Corporation Method and system to segment depth images and to detect shapes in three-dimensionally acquired data
KR100688743B1 (ko) 2005-03-11 2007-03-02 삼성전기주식회사 멀티 레이어 커패시터 내장형의 인쇄회로기판의 제조방법
WO2006099597A2 (en) 2005-03-17 2006-09-21 Honda Motor Co., Ltd. Pose estimation based on critical point analysis
US7403202B1 (en) 2005-07-12 2008-07-22 Electronic Arts, Inc. Computer animation of simulated characters using combinations of motion-capture data and external force modelling or other physics models
US20080026838A1 (en) 2005-08-22 2008-01-31 Dunstan James E Multi-player non-role-playing virtual world games: method for two-way interaction between participants and multi-player virtual world games
GB2431717A (en) 2005-10-31 2007-05-02 Sony Uk Ltd Scene analysis
KR20080080657A (ko) * 2005-12-22 2008-09-04 피케이알 리미티드 온라인 게이밍에 관한 개선
US7433024B2 (en) 2006-02-27 2008-10-07 Prime Sense Ltd. Range mapping using speckle decorrelation
WO2007130691A2 (en) 2006-05-07 2007-11-15 Sony Computer Entertainment Inc. Method for providing affective characteristics to computer generated avatar during gameplay
US7721207B2 (en) 2006-05-31 2010-05-18 Sony Ericsson Mobile Communications Ab Camera based control
US8339402B2 (en) 2006-07-16 2012-12-25 The Jim Henson Company System and method of producing an animated performance utilizing multiple cameras
US8395658B2 (en) 2006-09-07 2013-03-12 Sony Computer Entertainment Inc. Touch screen-like user interface that does not require actual touching
US20080134102A1 (en) 2006-12-05 2008-06-05 Sony Ericsson Mobile Communications Ab Method and system for detecting movement of an object
US8351646B2 (en) 2006-12-21 2013-01-08 Honda Motor Co., Ltd. Human pose estimation and tracking using label assignment
US8199152B2 (en) * 2007-01-16 2012-06-12 Lucasfilm Entertainment Company Ltd. Combining multiple session content for animation libraries
GB0703974D0 (en) 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
AU2008255571A1 (en) 2007-05-31 2008-12-04 Depth Analysis Pty Ltd Systems and methods for applying a 3D scan of a physical target object to a virtual environment
US7970176B2 (en) 2007-10-02 2011-06-28 Omek Interactive, Inc. Method and system for gesture classification
TWI372645B (en) 2007-10-17 2012-09-21 Cywee Group Ltd An electronic game controller with motion-sensing capability
CN101842810B (zh) 2007-10-30 2012-09-26 惠普开发有限公司 具有协作姿态检测的交互式显示系统
US20090221368A1 (en) 2007-11-28 2009-09-03 Ailive Inc., Method and system for creating a shared game space for a networked game
GB2455316B (en) 2007-12-04 2012-08-15 Sony Corp Image processing apparatus and method
US8149210B2 (en) 2007-12-31 2012-04-03 Microsoft International Holdings B.V. Pointing device and method
US8803889B2 (en) * 2009-05-29 2014-08-12 Microsoft Corporation Systems and methods for applying animations or motions to a character
CN102810367A (zh) * 2012-08-02 2012-12-05 泰州市双宇电子有限公司 可重复使用电子元件

Also Published As

Publication number Publication date
US9861886B2 (en) 2018-01-09
JP2012528390A (ja) 2012-11-12
WO2010138428A3 (en) 2011-02-24
KR101751078B1 (ko) 2017-07-03
KR20120020137A (ko) 2012-03-07
US8803889B2 (en) 2014-08-12
BRPI1012091B1 (pt) 2019-12-03
WO2010138428A2 (en) 2010-12-02
EP2435146B1 (en) 2019-05-15
EP2435146A4 (en) 2017-06-28
CA2760210C (en) 2018-11-06
RU2544770C2 (ru) 2015-03-20
BRPI1012091A2 (pt) 2018-03-13
EP2435146A2 (en) 2012-04-04
CN102596340A (zh) 2012-07-18
CA2760210A1 (en) 2010-12-02
US20100302257A1 (en) 2010-12-02
US20140320508A1 (en) 2014-10-30
CN102596340B (zh) 2014-10-29
RU2011148395A (ru) 2013-06-10

Similar Documents

Publication Publication Date Title
JP5576932B2 (ja) キャラクターにアニメーションまたはモーションを加えるシステムおよび方法
JP5739872B2 (ja) モーションキャプチャにモデルトラッキングを適用するための方法及びシステム
JP5639646B2 (ja) スケルトン・データーのゲーム・アバターへのリアル・タイム・リターゲティング
JP5635069B2 (ja) 連鎖アニメーション
US8660310B2 (en) Systems and methods for tracking a model
JP5943913B2 (ja) ユーザー追跡フィードバック
US9182814B2 (en) Systems and methods for estimating a non-visible or occluded body part

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130520

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140513

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140704

R150 Certificate of patent or registration of utility model

Ref document number: 5576932

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250