KR20120020137A - 애니메이션 또는 모션들을 캐릭터에 적용하는 시스템 및 방법 - Google Patents

애니메이션 또는 모션들을 캐릭터에 적용하는 시스템 및 방법 Download PDF

Info

Publication number
KR20120020137A
KR20120020137A KR1020117028425A KR20117028425A KR20120020137A KR 20120020137 A KR20120020137 A KR 20120020137A KR 1020117028425 A KR1020117028425 A KR 1020117028425A KR 20117028425 A KR20117028425 A KR 20117028425A KR 20120020137 A KR20120020137 A KR 20120020137A
Authority
KR
South Korea
Prior art keywords
motion
user
virtual character
model
recorded
Prior art date
Application number
KR1020117028425A
Other languages
English (en)
Other versions
KR101751078B1 (ko
Inventor
캐스린 스톤 페레즈
알렉스 에이 키프만
제프리 마골리스
Original Assignee
마이크로소프트 코포레이션
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 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20120020137A publication Critical patent/KR20120020137A/ko
Application granted granted Critical
Publication of KR101751078B1 publication Critical patent/KR101751078B1/ko

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)

Abstract

온스크린 객체, 아바타, 온스크린 캐릭터 등의 가상 캐릭터가 사용자의 라이브 모션 및 사전 레코딩된 모션을 사용하여 애니메이션화될 수 있다. 예를 들어, 사용자의 라이브 모션이 캡쳐되고, 아티스트가 생성한 사전 레코딩된 모션, 사용자의 사전 레코딩된 모션 및/또는 프로그램으로 제어되는 변환 등 사전 레코딩된 모션이 수신된다. 이후에, 가상 캐릭터의 제 1 부분에 라이브 모션이 적용되고, 가상 캐릭터의 제 2 부분에 사전 레코딩된 모션이 적용되어, 가상 캐릭터가 라이브 및 사전 레코딩된 모션들의 조합으로 애니메이션화될 수 있다.

Description

애니메이션 또는 모션들을 캐릭터에 적용하는 시스템 및 방법{SYSTEMS AND METHODS FOR APPLYING ANIMATIONS OR MOTIONS TO A CHARACTER}
컴퓨터 게임, 멀티미디어 애플리케이션 등의 많은 컴퓨팅 애플리케이션은 일반적인 모션 캡쳐 기술을 사용하여 애니메이션화되는 아바타 또는 캐릭터들이 포함한다. 예를 들어, 골프 게임을 개발하는 경우, 스튜디오 내 특정 포인트를 향하는 복수의 카메라를 비롯한 모션 캡쳐 장비가 마련된 스튜디오로 프로 골퍼가 안내된다. 프로 골퍼의 골프 모션을 캡쳐하기 위해, 프로 골퍼는 카메라로 구성되어 트래킹 가능한 복수의 포인트 인디케이터들이 있는 모션 캡쳐 수트를 입는다. 이후에, 골프 게임을 개발하는 동안 아바타 또는 캐릭터에 이 모션들이 적용될 수 있다. 골프 게임이 완성되면, 골프 게임의 실행 시에 아바타 또는 캐릭터가 프로 골퍼의 모션으로 애니메이션화될 수 있다. 불행하게도, 일반적인 모션 캡쳐 기술은 많은 비용이 들고, 특정 애플리케이션의 개발에 얽매여 있으며, 그 애플리케이션의 실제 플레이어나 사용자와 연관된 모션들을 포함하지 않는다.
애니메이션들을 혼합하는 시스템 및 방법이 본원에 개시되어 있다. 예를 들어, 일 실시예에서, 사용자의 라이브 모션이 캡쳐되고, 아티스트가 생성한 사전 레코딩된 모션, 사용자의 사전 레코딩된 모션 및/또는 프로그램으로 제어되는 변환 등 사전 레코딩된 모션이 수신된다. 이후에, 가상 캐릭터의 제 1 부분에 라이브 모션이 적용되고, 가상 캐릭터의 제 2 부분에 사전 레코딩된 모션이 적용되어, 가상 캐릭터가 라이브 및 사전 레코딩된 모션들의 조합으로 애니메이션화될 수 있다. 일 실시예에 따르면, 애니메이션 명령에 관련된 사용자의 제스쳐의 수신하면, 라이브 모션 및/또는 사전 레코딩된 모션이 가상 캐릭터에 적용된다. 또한, 가상 캐릭터는 예컨대, 사용자의 사전 레코딩된 모션을 가상 캐릭터의 제 1 부분에 적용하고, 아티스트가 생성한 사전 레코딩된 애니메이션을 가상 캐릭터의 제 2 부분에 적용함으로써, 사용자의 사전 레코딩된 모션 및 아티스트가 생성한 사전 레코딩된 애니메이션 등의 사전 레코딩된 모션들의 조합으로 애니메이션될 수 있다.
본 요약은 아래의 상세한 설명에서 추가적으로 설명되는 일련의 컨셉을 간략화된 형태로 소개하기 위한 것이다. 본 요약은 특허청구된 대상의 핵심적인 특징 또는 필수적인 특징을 밝히기 위한 것이 아니며, 특허청구된 대상의 범위를 결정하는 데 일조하기 위해 사용되는 것도 아니다. 또한, 특허청구된 대상은 본 개시의 어느 부분에서든 언급된 문제점의 일부 또는 전부를 해결하는 구현들로 제한되지 않는다.
도 1a 및 1b는 게임을 하는 사용자가 있는 타겟 인식, 분석 및 트래킹 시스템의 일 실시예를 도시한다.
도 2는 타겟 인식, 분석 및 트래킹 시스템에서 사용되는 캡쳐 장치의 일 실시예를 도시한다.
도 3은 타겟 인식, 분석 및 트래킹 시스템에서 여러 제스쳐를 해석하여, 타겟 인식, 분석 및 트래킹 시스템에서 디스플레이되는 가상 캐릭터를 애니메이션화하기 위해 사용되는 컴퓨팅 환경의 일 실시예를 도시한다.
도 4는 타겟 인식, 분석 및 트래킹 시스템에서 여러 제스쳐를 해석하여, 타겟 인식, 분석 및 트래킹 시스템에서 디스플레이되는 가상 캐릭터를 애니메이션화하기 위해 사용되는 컴퓨팅 환경의 다른 실시예를 도시한다.
도 5는 사용자의 모션 캡쳐 파일을 생성하고 적용하는 방법의 일례에 대한 순서도를 도시한다.
도 6은 사용자와 관련된 인간 타겟을 포함하는 이미지의 일 실시예를 도시한다.
도 7은 사용자에 관련된 인간 타겟을 위해 생성되는 모델의 일 실시예를 도시한다.
도 8a 및 8b는 모션 캡쳐 파일의 다양한 시점에서 캡쳐되는 사용자와 관련된 모델의 일 실시예를 도시한다.
도 9a 및 9b는 다양한 시점에서 모델을 기반으로 하여 애니메이션화되는 가상 캐릭터를 위한 모델의 일 실시예를 도시한다.
도 10a 및 10b는 애니메이션화되는 가상 캐릭터의 일 실시예를 도시한다.
도 11a 내지 도 11f는 애니메이션화되는 가상 캐릭터의 다른 실시예를 도시한다.
도 12a 및 12b는 애니메이션화되는 가상 캐릭터의 또 다른 실시예를 도시한다.
본원에서 앞으로 설명될 바와 같이, 사용자는 게임 콘솔, 컴퓨터를 비롯한 컴퓨팅 환경에서 실행되는 애플리케이션을 제어하고, 또한 여러 제스쳐 및/또는 움직임을 통해 아바타나 온스크린 캐릭터를 애니메이션화할 수 있다. 일 실시예에 따르면, 캡쳐 장치로 제스쳐 및/또는 움직임을 탐지할 수 있다. 예를 들어, 캡쳐 장치로 장면의 깊이 이미지를 캡쳐할 수 있다. 일 실시예에서, 캡쳐 장치는 장면의 여러 타겟이나 객체가 사용자 등의 인간 타겟에 해당하는지를 결정할 수 있다. 인간 타겟에 대응하는 각 타겟 또는 객체는 이에 관련된 골격 모델, 메쉬 모델 등의 모델을 생성하기 위해 스캔될 것이다. 일 실시예에 따르면, 모델이 트래킹되고, 이 트래킹된 모델의 모션 캡쳐 파일이 생성되며, 사용자의 모델에 관련된 가상 캐릭터 또는 객체가 렌더링되며, 사용자의 모델 및/또는 사전 레코딩된 모션들에 관련된 라이브 모션으로 애니메이션화될 수 있고, 또는 트래킹된 모델을 기초로 하여 컴퓨팅 환경에서 실행되는 애플리케이션에서 어떤 제어가 실행되는 지가 결정될 수 있다.
도 1a 및 1b는 복싱 게임을 하는 사용자(18)가 있는 타겟 인식, 분석 및 트래킹 시스템(10) 구성의 일 실시예를 도시한다. 일 실시예에서, 사용자(18)와 같은 인간 타겟을 인식, 분석 및/또는 트래킹하기 위해 타겟 인식, 분석 및 트래킹 시스템(10)이 사용될 수 있다.
도 1a에 도시된 바와 같이, 타겟 인식, 분석 및 트래킹 시스템(10)은 컴퓨팅 환경(12)을 포함할 수 있다. 컴퓨팅 환경(12)은 컴퓨터, 게임 시스템 또는 콘솔 등일 수 있다. 일 실시예에 따르면, 컴퓨팅 환경(12)은 게임 애플리케이션, 비게임 애플리케이션을 비롯한 애플리케이션들을 실행시키기 위해 하드웨어 컴포넌트 및/또는 소프트웨어 컴포넌트들을 포함할 수 있다. 일 실시예에서, 컴퓨팅 환경(12)은 사용자의 라이브 모션을 캡쳐하고, 사전 레코딩된 모션을 수신하여, 가상 객체의 제 1 부분에 라이브 모션을, 가상 객체의 제 2 부분에 사전 레코딩된 모션을 적용하기 위한 인스트럭션 또는 기타 적절한 인스트럭션을 포함하는 인스트럭션들을 실행하는 표준화된 프로세서, 특화된 프로세서, 마이크로 프로세서 등의 프로세서를 포함할 수 있으며, 이에 대해서는 아래에서 보다 상세하게 설명될 것이다.
도 1a에 도시된 바와 같이, 타겟 인식, 분석 및 트래킹 시스템(10)은 캡쳐 장치(20)를 더 포함할 수 있다. 캡쳐 장치(20)는 예를 들어, 사용자(18)를 비롯한 여러 사용자들을 시각적으로 모니터링하여, 이 사용자들이 행하는 제스쳐 및/또는 움직임을 캡쳐, 분석 및 트래킹하여 애플리케이션 내의 여러 제어나 액션을 실행하고, 아바타나 온스크린 캐릭터, 온스크릭 객체 등의 가상 캐릭터를 애니메이션화하는 카메라일 수 있으며, 이는 아래에서 보다 상세하게 설명될 것이다.
일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템(10)은 사용자(18)와 같은 사용자에게 게임 또는 애플리케이션 비주얼 및/또는 오디오를 제공하는 텔레비전, 모니터, HDTV(high-definition television) 등을 비롯한 오디오비주얼 장치(16)에 연결될 수 있다. 예를 들어, 컴퓨팅 환경(12)은 게임 애플리케이션, 비게임 애플리케이션 등에 관계된 오디오비주얼 신호를 제공하는 그래픽 카드 등의 비디오 어댑터 및/또는 사운드 카드 등의 오디오 어댑터를 포함할 수 있다. 오디오비주얼 장치(16)는 컴퓨팅 환경(12)으로부터 오디오비주얼 신호를 수신하여, 이 오디오비주얼 신호에 관계된 게임 또는 애플리케이션의 비주얼 및/또는 오디오를 사용자(18)에게 제공한다. 일 실시예에 따르면, 오디오비주얼 장치(16)는 예를 들어, S-Video 케이블, 동축 케이블, HDMI 케이블, DVI 케이블, VGA 케이블 등을 통해 컴퓨팅 환경(12)에 연결될 수 있다.
도 1a 및 1b에 도시된 바와 같이, 타겟 인식, 분석 및 트래킹 시스템(10)은 사용자(18)와 같은 인간 타겟을 인식, 분석 및/또는 트래킹하기 위해 사용될 수 있다. 예를 들어, 사용자(18)를 캡쳐 장치(20)로 트래킹하여, 사용자(18)의 제스쳐 및/또는 움직임을 캡쳐하여 아바타나 온스크린 캐릭터, 온스크릭 객체 등의 가상 캐릭터를 애니메이션화하거나, 이러한 제스쳐 및/또는 움직임을 컴퓨팅 환경(12)에서 실행되는 애플리케이션에 영향을 주는 제어로 해석할 수 있다. 따라서, 일 실시예에 따르면, 사용자(18)는 자신의 몸을 움직여 애플리케이션을 제어하거나 가상 객체를 애니메이션화할 수 있다.
도 1a 및 1b에 도시된 바와 같이, 일 실시예에서, 컴퓨팅 환경(12)에서 실행되는 애플리케이션은 사용자(18)가 하는 복싱 게임일 수 있다. 예를 들면, 컴퓨팅 환경(12)은 오디오비주얼 장치(16)를 사용하여 사용자(18)에게 복싱 상대(38)의 비주얼 표현을 제공할 수 있다. 또한, 컴퓨팅 환경(12)은 오디오비주얼 장치(16)를 사용하여 사용자(18)가 그 자신의 움직임으로 제어할 수 있는 플레이어 아바타(40)의 비주얼 표현을 제공할 수도 있다. 예를 들어, 도 1b에 도시된 대로, 사용자(18)는 물리적인 공간에서 펀치를 날려, 플레이어 아바타(40)가 게임 공간에서 펀치를 날리게 할 수 있다. 따라서 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템(10)의 컴퓨팅 환경(12) 및 캡쳐 장치(20)는 그 펀치가 게임 공간에서 플레이어 아바타(40)의 게임 제어로 해석되거나 그 펀치의 모션이 게임 공간에서 플레이어 아바타(40)의 애니메이션화를 위해 사용될 수 있도록, 물리적 공간에서의 사용자(18)의 펀치를 인식하고 분석하는 데에 사용될 수 있다.
또한, 사용자(18)의 다른 움직임들이 다른 제어나 액션으로 해석되거나 플레이어 아바타(40)를 애니메이션화하는 데에 사용될 수 있으며, 예를 들어, 보빙(bob), 위빙(weave), 셔플(shuffle), 블록(block), 잽(jab)을 하거나 또는 다양한 다른 파워 펀치들을 날리는 것을 제어할 수 있다. 나아가, 일부 움직임들은 플레이어 아바타(40)의 제어가 아닌 액션들에 해당하는 제어로 해석될 수 있다. 예를 들어, 플레이어는 움직임을 통해 게임의 종료, 일시 중지 또는 저장, 레벨 선택, 최고점 보기, 친구와의 통신 등을 할 수 있다. 또한, 사용자(18)의 모든 움직임은 적절한 방식으로 애플리케이션과 인터랙트하도록 이용 가능, 사용 및 분석될 수 있다.
실시예들에서, 사용자(18)와 같은 인간 타겟은 객체를 가질 수 있다. 이러한 실시예에서, 전자 게임의 사용자는 객체를 쥐어, 사용자와 객체의 모션들을 통해 게임의 파라미터들을 조정 및/또는 제어할 수 있다. 예를 들어, 전자 스포츠 게임에서 라켓을 쥐고 있는 사용자의 모션이 트래킹되어, 온스크린 라켓을 제어하는 데에 이용될 수 있다. 또 다른 실시예에서, 전자 컴뱃 게임에서 객체를 쥐고 있는 플레이어의 모션이 트래킹되어, 온스크린 무기를 제어하는 데에 이용될 수 있다.
또 다른 실시예들에 따르면, 타겟 인식, 분석 및 트래킹 시스템(10)은 타겟 움직임들을 게임 세상 밖의 운영 체제 및/또는 애플리케이션 제어들로 해석하는 데에 사용될 수도 있다. 예를 들어, 운영 체제 및/또는 애플리케이션의 제어 가능한 모든 양태가 사용자(18) 등 타겟의 움직임들에 의해 제어될 수 있다.
도 2는 타겟 인식, 분석 및 트래킹 시스템(10)에서 사용될 수 있는 캡쳐 장치(20)의 일 실시예를 도시한다. 일 실시예에 따르면, 캡쳐 장치(20)는 비행 시간(time-of-flight), 구조광(structured light), 스테레오 이미지 등의 적절한 임의 기술을 통해, 깊이 값을 포함하는 깊이 이미지 등 깊이 정보가 있는 비디오를 캡쳐하도록 구성될 수 있다. 일 실시예에 따르면, 캡쳐 장치(20)는 "Z 레이어들", 또는 깊이 카메라로부터 시선을 따라 연장되는 Z 축에 수직인 레이어들로 깊이 정보를 체계화시킬 수 있다.
도 2에 도시된 바와 같이, 캡쳐 장치(20)는 이미지 카메라 컴포넌트(22)를 포함할 수 있다. 일 실시예에 따르면, 이미지 카메라 컴포넌트(22)는 장면의 깊이 이미지를 캡쳐하는 깊이 카메라일 수 있다. 깊이 이미지는 캡쳐된 장면의 2-D(two-dimensional) 화소 영역을 포함할 수 있고, 2-D 화소 영역의 각 화소는 카메라로부터 캡쳐된 장면에서 객체의 길이 또는 거리 등의 깊이 값을 센티미터, 밀리미터 등으로 나타낼 수 있다.
도 2에 도시된 바와 같이, 일 실시예에 따르면, 이미지 카메라 컴포넌트(22)는 장면의 깊이 이미지를 캡쳐하기 위해 사용되는 적외선 컴포넌트(IR light component, 24), 3-D(three-dimensional) 카메라(26) 및 RGB 카메라(28)를 포함할 수 있다. 예를 들면, 비행 시간 분석법에서는, 캡쳐 장치(20)의 적외선 컴포넌트(24)가 장면으로 적외선을 내보내고, 센서들(도시되지 않음)을 사용하여 3-D 카메라(26) 및/또는 RGB 카메라(28)를 사용한 장면의 하나 이상의 타겟 및 객체들의 표면으로부터 후방 산란되는 빛을 검출한다. 몇몇 실시예에서는, 펄스 적외선(pulsed infrared light)을 사용하여, 나가는 광 펄스와 이에 대응하여 들어오는 광 펄스 간의 시간을 측정하고, 이를 사용하여 캡쳐 장치(20)로부터 장면의 타겟 또는 객체의 특정 지점까지의 물리적인 거리를 결정할 수 있다. 또한, 또 다른 실시예에서는, 나가는 광파의 위상과 들어오는 광파의 위상을 비교하여 위상 변위(phase shift)를 결정할 수 있다. 이후, 이 위상 변위를 사용하여 캡쳐 장치로부터 타겟 또는 객체의 특정 지점까지의 물리적인 거리를 결정할 수 있다.
또 다른 실시예에 따르면, 비행 시간 분석법을 사용하여, 셔터 광 펄스 이미징(shuttered light pulse imaging)을 포함하는 다양한 기술을 통해 시간에 따른 반사광의 강도를 분석함으로써 캡쳐 장치(20)로부터 타겟 또는 객체의 특정 지점까지의 물리적인 거리를 간접적으로 결정할 수 있다.
또 다른 실시예에 따르면, 캡쳐 장치(20)는 구조광을 사용하여 깊이 정보를 캡쳐할 수 있다. 이러한 분석법에서는, 패터닝된 광(즉, 그리드 패턴이나 스트라이프 패턴과 같이 공지된 패턴으로 디스플레이되는 광)이 적외선 컴포넌트(24)를 통해 장면에 투사될 수 있다. 그 장면의 하나 이상의 타겟 또는 객체의 표면에 부딪치면, 패턴이 그에 따라 변형되게 된다. 이러한 패턴의 변형은 예컨대, 3-D 카메라(26) 및/또는 RGB 카메라(28)에 의해 캡쳐된 후에 분석되어, 캡쳐 장치로부터 타겟 또는 객체의 특정 지점까지의 물리적인 거리를 결정할 수 있다.
또 다른 실시예에 따르면, 캡쳐 장치(20)는, 깊이 정보의 생성을 위해 분석되는 비주얼 스테레오 데이터를 얻기 위해 각기 다른 앵글에서 장면을 볼 수 있는 물리적으로 분리된 둘 이상의 카메라들을 포함할 수 있다.
캡쳐 장치(20)는 마이크(30)를 더 포함할 수 있다. 마이크(30)는 소리를 수신하여 이를 전기 신호로 변환하는 변환기(transducer) 또는 센서를 포함할 수 있다. 일 실시예에 따르면, 타겟 인식, 분석 및 트래킹 시스템(10)에서 캡쳐 장치(20)와 컴퓨팅 환경(12) 사이의 피드백을 감소시키기 위해 마이크(30)가 사용될 수 있다. 또한, 이 마이크(30)는 컴퓨팅 환경(12)에서 실행가능한 게임 애플리케이션, 비게임 애플리케이션 등의 애플리케이션들을 제어하기 위해 사용자로부터 제공되는 오디오 신호를 수신하는 데에 사용될 수 있다.
일 실시예에서, 캡쳐 장치(20)는 이미지 카메라 컴포넌트(22)와 통신 가능한 논리 프로세서(32)를 더 포함할 수 있다. 이 프로세서(32)는 사용자의 라이브 모션을 캡쳐하고, 사전 레코딩된 모션을 수신하며, 가상 객체의 제 1 부분에 라이브 모션을, 가상 객체의 제 2 부분에 사전 레코딩된 모션을 적용하기 위한 인스트럭션 또는 기타 적절한 인스트럭션을 포함하는 인스트럭션들을 실행하는 표준화된 프로세서, 특화된 프로세서, 마이크로 프로세서 등을 포함할 수 있으며, 이에 대해서는 아래에서 보다 상세하게 설명될 것이다.
캡쳐 장치(20)는, 프로세서(32)로 실행될 수 있는 인스트럭션, 3-D 카메라나 RGB 카메라로 캡쳐된 이미지 또는 이미지 프레임, 또는 기타 적절한 정보, 이미지 등을 저장하는 메모리 컴포넌트(34)를 더 포함할 수 있다. 일 실시예에 따르면, 메모리 컴포넌트(34)는 RAM, ROM, 캐시, 플래시 메모리, 하드 디스크 또는 기타 적절한 저장 컴포넌트를 포함할 수 있다. 도 2에 도시된 바와 같이, 일 실시예에서, 메모리 컴포넌트(34)는 이미지 카메라 컴포넌트(22)및 논리 프로세서(32)와 통신하는 별개의 컴포넌트일 수 있다. 또 다른 실시예에 따르면, 메모리 컴포넌트(34)가 프로세서(32) 및/또는 이미지 카메라 컴포넌트(22)에 통합될 수도 있다.
도 2에서 도시된 바대로, 캡쳐 장치(20)는 통신 링크(36)를 통해 컴퓨팅 환경(12)과 통신할 수 있다. 통신 링크(36)는 USB 연결, 파이어와이어(Firewire) 연결, 이더넷 케이블 연결 등을 포함하는 유선 연결 및/또는 무선 802.11 b, g, a 또는 n 연결 등의 무선 연결일 수 있다. 일 실시예에 따르면, 컴퓨팅 환경(12)은 장면을 언제 캡쳐할 지를 결정하는 데에 사용되는 클럭을 통신 링크(36)를 통해 캡쳐 장치(20)에 제공할 수 있다.
또한, 캡쳐 장치(20)는 예를 들어, 3-D 카메라(26) 및/또는 RGB 카메라(28)에서 캡쳐되는 깊이 정보 및 이미지, 및/또는 캡쳐 장치(20)로부터 생성되는 골격 모델을 통신 링크(36)를 통해 컴퓨팅 환경(12)으로 제공할 수 있다. 이후에, 컴퓨팅 환경(12)은 모델, 깊이 정보 및 캡쳐된 이미지를 사용하여, 예컨대, 게임 또는 워드 프로세서를 비롯한 애플리케이션의 제어 및/또는 온스크린 캐릭터, 아바타 또는 온스크린 객체 등의 가상 캐릭터의 애니메이션화를 할 수 있다. 예를 들어, 도 2에서와 같이, 컴퓨팅 환경(12)은 제스쳐 라이브러리(190)를 포함할 수 있다. 제스쳐 라이브러리(190)는 (사용자의 움직임에 따라) 골격 모델이 취하는 제스쳐에 관한 정보를 각각 포함하는 제스쳐 필터의 모음을 포함한다. 카메라(26, 28) 및 캡쳐 장치(20)에서 캡쳐되는 골격 모델 형태의 데이터와 그 데이터에 관련된 움직임이 제스쳐 라이브러리(190)에 있는 제스쳐 필터들과 비교되어 (골격 모델로 표현되는) 사용자가 하나 이상의 제스쳐를 언제 취했는지를 확인할 수 있다. 이러한 제스쳐들은 애플리케이션의 다양한 제어들에 연계될 수 있다. 따라서, 컴퓨팅 환경(12)은 제스쳐 라이브러리(190)를 사용하여, 골격 모델의 움직임을 해석하고 그 움직임을 기반으로 하여 애플리케이션을 제어할 수 있다.
도 3은 타겟 인식, 분석 및 트래킹 시스템에서의 여러 제스쳐들의 해석하고, 타겟 인식, 분석 및 트래킹 시스템에 의해 디스플레이되는 아바타, 온스크린 캐릭터, 온스크린 객체 등의 가상 캐릭터를 애니메이션화하기 위해 사용되는 컴퓨팅 환경의 일 실시예를 도시한다. 도 1a 내지 2와 관련하여 전술한 컴퓨팅 환경(12) 등의 컴퓨팅 환경은 게임 콘솔과 같은 멀티미디어 콘솔(100)일 수 있다. 도 3에 도시된 바와 같이, 멀티미디어 콘솔(100)은, 레벨 1 캐시(102), 레벨 2 캐시(104) 및 플래시 ROM(Read Only Memory, 106)을 포함하는 CPU(central processing unit, 101)를 갖는다. 레벨 1 캐시(102) 및 레벨 2 캐시(104)는 데이터를 임시로 저장하여 메모리 액세스 사이클의 수를 감소시킴으로써, 처리 속도와 처리율을 향상시킨다. CPU(101)에는 하나 이상의 코어, 따라서 추가적인 레벨 1 및 레벨 2 캐시(102 및 104)가 제공될 수 있다. 플래시 ROM(106)은 멀티미디어 콘솔(100)의 전원이 켜질 때 부팅 프로세스(boot process)의 초기 단계 동안 로딩되는 실행가능 코드를 저장할 수 있다.
그래픽 처리 장치(GPU, 108)와 비디오 인코더/비디오 코덱(코더/디코더, 114)은 고속 및 고해상도 그래픽 처리를 위해 비디오 처리 파이프라인을 형성한다. 데이터는 버스를 통해 그래픽 처리 장치(108)에서 비디오 인코더/비디오 코덱(114)으로 전달된다. 비디오 처리 파이프라인은 텔레비전이나 다른 디스플레이로의 전송을 위해 A/V(오디오/비디오) 포트(140)로 데이터를 출력한다. 메모리 제어기(110)는 GPU(108)에 접속되어, RAM(Random Access Memory)과 같은, 하지만 이에 제한되지는 않는, 다양한 유형의 메모리(112)로의 프로세서 액세스를 용이하게 한다.
멀티미디어 콘솔(100)은, 모듈(118)에서 바람직하게 구현되는 I/O 제어기(120), 시스템 관리 제어기(122), 오디오 처리 장치(123), 네트워크 인터페이스 제어기(124), 제 1 USB 호스트 제어기(126), 제 2 USB 제어기(128), 및 전면 패널 I/O 서브어셈블리(130)를 포함한다. USB 제어기들(126 및 128)은 주변 제어기들(142(1) ~ 142(2)), 무선 어댑터(148) 및 외부 메모리 장치(146, 예를 들어, 플래시 메모리, 외부 CD/DVD ROM 드라이브, 이동식 매체 등)를 위한 호스트들로서 기능한다. 네트워크 인터페이스(124) 및/또는 무선 어댑터(148)는 네트워크(예를 들어, 인터넷, 홈 네트워크 등)로의 액세스를 제공하고, 이더넷 카드, 모뎀, 블루투스 모듈, 케이블 모뎀 등을 포함하는 아주 다양한 유무선 어댑터 컴포넌트들 중 임의의 것일 수 있다.
시스템 메모리(143)는 부팅 프로세스 동안에 로딩되는 애플리케이션을 저장하기 위해 제공된다. 미디어 드라이브(144)가 제공되고, 이는 DVD/CD 드라이브, 하드 드라이브, 또는 다른 이동식 미디어 드라이브 등을 포함할 수 있다. 미디어 드라이브(144)는 멀티미디어 콘솔(100)의 내부 또는 외부에 있을 수 있다. 애플리케이션 데이터는 멀티미디어 콘솔(100)에 의한 실행, 플레이백 등을 위해 미디어 드라이브(144)를 통해 액세스될 수 있다. 미디어 드라이브(144)는, 직렬 ATA 버스 또는 기타 고속 접속(예를 들어, IEEE 1394)과 같은 버스를 통해 I/O 제어기(120)에 접속된다.
시스템 관리 제어기(122)는 멀티미디어 콘솔(100)의 가용성의 보장과 관련된 다양한 서비스 기능들을 제공한다. 오디오 처리 장치(123)와 오디오 코덱(132)은 고신뢰성과 스테레오 처리를 갖는 대응 오디오 처리 파이프라인을 형성한다. 오디오 데이터는 통신 링크를 통해 오디오 처리 장치(123)와 오디오 코덱(132) 사이에서 전달된다. 오디오 처리 파이프라인은 오디오 기능이 있는 외부 오디오 플레이어 또는 장치에 의한 재생을 위해 A/V 포트(140)로 데이터를 출력시킨다.
전면 패널 I/O 서브어셈블리(130)는 전원 버튼(150), 배출 버튼(eject button, 152), 및 멀티미디어 콘솔(100)의 외부 표면에 노출된 임의의 LED들(light emitting diodes) 또는 기타 인디케이터들의 기능을 지원한다. 시스템 전원 모듈(136)은 멀티미디어 콘솔(100)의 컴포넌트들에 전력을 공급한다. 팬(fan, 138)은 멀티미디어 콘솔(100) 내의 회로를 냉각시킨다.
멀티미디어 콘솔(100) 내의 CPU(101), GPU(108), 메모리 제어기(110) 및 기타 다양한 컴포넌트들은 직렬 및 병렬 버스들, 메모리 버스, 주변장치 버스, 또는 다양한 버스 아키텍처들 중의 임의의 것을 사용하는 프로세서나 로컬 버스를 포함하는 하나 이상의 버스들을 통해 상호접속된다. 예를 들어, 이러한 아키텍쳐에는 PCI(Peripheral Component Interconnects) 버스, PCI 익스프레스(PCI-Express) 버스 등이 포함될 수 있다.
멀티미디어 콘솔(100)의 전원이 켜질 때, 시스템 메모리(143)로부터 애플리케이션 데이터가 메모리(112) 및/또는 캐시(102, 104)로 로딩되어, CPU(101)에서 실행될 수 있다. 애플리케이션은 멀티미디어 콘솔(100)에서 이용가능한 다른 미디어 유형들로 네비게이트할 때 일관된 사용자 경험을 제공하는 그래픽 사용자 인터페이스를 제공할 수 있다. 동작 시에는, 미디어 드라이브(144) 내에 포함된 애플리케이션들 및/또는 기타 미디어들이 미디어 드라이브(144)로부터 시작되거나 재생되어, 멀티미디어 콘솔(100)에 추가 기능들을 제공할 수 있다.
멀티미디어 콘솔(100)은 텔레비전이나 기타 디스플레이에 시스템을 단순히 접속시킴으로써 독립형 시스템으로서 동작할 수 있다. 이 독립형 모드에서, 멀티미디어 콘솔(100)은 한 명 이상의 사용자들이 시스템과 인터랙트하고, 영화를 보고, 음악을 듣게 하도록 할 수 있다. 그러나, 네트워크 인터페이스(124) 또는 무선 어댑터(148)를 통해 이용가능하게 된 통합 광대역 접속으로 인해, 멀티미디어 콘솔(100)은 보다 큰 네트워크 커뮤니티의 참가자로서 동작할 수도 있다.
멀티미디어 콘솔(100)의 전원이 켜지면, 설정량의 하드웨어 리소스들이 멀티미디어 콘솔 운영 체제에 의한 시스템 사용을 위해 예약된다. 이러한 리소스들은 메모리(예컨대, 16 MB), CPU 및 GPU 사이클(예컨대, 5 %), 네트워킹 대역폭(예컨대, 8 kbs) 등의 예약을 포함할 수 있다. 이러한 리소스들은 시스템 부팅 시간에 예약되기 때문에, 애플리케이션의 관점에서는 예약된 리소스들이 존재하지 않는다.
특히, 개시 커널(launch kernel), 동시(concurrent) 시스템 애플리케이션 및 드라이버를 포함할 수 있을 정도로 메모리 예약이 충분히 큰 것이 바람직하다. 예약된 CPU 사용량이 시스템 애플리케이션에서 사용되지 않는 경우, 휴지 쓰레드(idle thread)가 미사용 사이클들을 쓸 수 있도록 CPU 예약이 일정한 것이 바람직하다.
GPU 예약과 관련하여, 팝업이 오버레이되도록 코드를 스케줄링하는 GPU 인터럽트를 사용하여, 시스템 애플리케이션에서 생성되는 간단한 메시지(예컨대, 팝업)가 디스플레이된다. 오버레이에 필요한 메모리량은 오버레이 영역 크기에 따르며, 오버레이는 스크린 해상도에 맞춰 스케일링되는 것이 바람직하다. 동시 시스템 애플리케이션이 풀 유저 인터페이스(full user interface)를 사용하는 경우에는, 애플리케이션 해상도와는 별개의 해상도를 사용하는 것이 바람직하다. 주파수를 변경하고 TV를 재동기화시킬 필요가 없도록 이 해상도를 설정하기 위해, 스케일러가 사용될 수 있다.
멀티미디어 콘솔(100)이 부팅되고 시스템 리소스가 예약된 후에, 동시 시스템 애플리케이션이 실행되어 시스템 기능들을 제공한다. 시스템 기능들은, 상기에서 설명한 예약된 시스템 리소스들 내에서 실행되는 일련의 시스템 애플리케이션에서 캡슐화되어 있다. 운영 체제 커널은 시스템 애플리케이션 쓰레드인지 게임 애플리케이션 쓰레드인지를 식별한다. 일관적인 시스템 리소스 뷰를 애플리케이션에 제공하기 위해, 시스템 애플리케이션은 사전 설정된 시간 및 간격으로 CPU(101)에서 실행되도록 스케줄링되는 것이 바람직하다. 스케줄링은 콘솔에서 실행되는 게임 애플리케이션에 대한 캐시 중단을 최소화하기 위한 것이다.
동시 시스템 애플리케이션이 오디오를 필요로 할 때, 오디오 처리는 시간에 대한 민감도로 인해 게임 애플리케이션과 비동기적으로 스케줄링된다. 시스템 애플리케이션이 활성화될 때, 멀티미디어 콘솔 애플리케이션 관리자(이하에서 설명됨)는 게임 애플리케이션 오디오 레벨(예컨대, 음소거(mute), 감쇠(attenuate))을 제어한다.
게임 애플리케이션 및 시스템 애플리케이션은 입력 장치들(예컨대, 제어기(142(1) 및 142(2)))을 공유한다. 입력 장치들은 예약된 리소스들이 아니지만, 각 시스템 애플리케이션 및 게임 애플리케이션이 입력 장치의 포커스를 갖도록 애플리케이션들 사이에서 스위칭될 것이다. 애플리케이션 관리자는 게임 애플리케이션에 대한 정보 없이 입력 스트림의 스위칭을 제어하는 것이 바람직하며, 드라이버는 포커스 스위치에 관한 상태 정보를 보유한다. 카메라(26, 28) 및 캡쳐 장치(20)는 콘솔(100)을 위한 추가적인 입력 장치들이다.
도 4는 타겟 인식, 분석 및 트래킹 시스템에서의 여러 제스쳐들의 해석, 및/또는 타겟 인식, 분석 및 트래킹 시스템에 의해 디스플레이되는 아바타, 온스크린 캐릭터, 온스크린 객체 등의 가상 캐릭터의 애니메이션화를 위해 사용되는 도 1a 내지 도 2에 도시된 컴퓨팅 환경(12)의 또 다른 실시예인 컴퓨팅 환경(220)을 도시한다. 컴퓨팅 시스템 환경(220)은 적합한 컴퓨팅 환경의 일례일 뿐, 본원에 개시된 대상의 사용이나 기능의 범위를 제한하는 것은 아니다. 컴퓨팅 환경(220)은, 예시적인 운영 환경(220)에 도시된 임의의 컴포넌트 또는 컴포넌트 조합에 관한 의존성이나 요구 사항을 가지는 것으로 해석되어서는 안 된다. 몇몇 실시예에서, 도시된 다양한 컴퓨팅 구성요소들은 본 개시의 특정 양태들에 대한 예를 들어 설명하는 회로를 포함할 수 있다. 예를 들어, 본 개시에서 사용되는 회로는 펌웨어나 스위치로 기능(들)을 실행하도록 구성되는 특화된 하드웨어 컴포넌트들을 포함할 수 있다. 또 다른 실시예에서, 회로는 기능(들)을 실행하는 논리 동작을 구현하는 소프트웨어 인스트럭션으로 구성되는 범용 처리 장치(general purpose processing unit), 메모리 등을 포함할 수 있다. 하드웨어와 소프트웨어의 조합을 포함하는 회로의 실시예들에 있어서, 구현자는 논리를 구현하는 소스 코드를 작성하고, 이 소스 코드는 범용 처리 장치에서 처리될 수 있는 기계 판독가능 코드로 컴파일될 수 있다. 실시예들에서, 당업자라면 하드웨어, 소프트웨어 또는 하드웨어/소프트웨어의 조합 간에 차이가 거의 없는 방향으로 선행 기술이 발전해왔다는 점을 알 수 있으므로, 특정 기능을 구현하기 위한 하드웨어 대 소프트웨어의 선택은 구현자에게 달려 있는 설계 선택에 불과하다. 특히, 당업자라면 소프트웨어 프로세스가 동등한 하드웨어 구조로 변환가능하고, 하드웨어 구조 또한 동등한 소프트웨어 프로세스로 변환가능하다는 점을 알 수 있다. 따라서, 하드웨어 구현 대 소프트웨어 구현의 선택은 설계 선택으로, 구현자에게 달려 있다.
도 4에서, 컴퓨팅 환경(220)은, 일반적으로 다양한 컴퓨터 판독가능 매체를 포함하는 컴퓨터(241)를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(241)가 액세스할 수 있으며, 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체 모두를 포함하는 임의의 가용 매체일 수 있다. 시스템 메모리(222)는 ROM(read only memory, 223) 및 RAM(random access memory, 260)과 같은 휘발성 및/또는 비휘발성 메모리의 형태인 컴퓨터 저장 매체를 포함한다. 스타트업 동안과 같이 컴퓨터(241) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS, 224)은 일반적으로 ROM(223)에 저장된다. RAM(260)은 일반적으로 처리 장치(259)에 의해 즉시 액세스 가능 및/또는 바로 동작되는 데이터 및/또는 프로그램 모듈들을 포함한다. 예를 들어, 도 4는 운영 체제(225), 애플리케이션 프로그램(226), 다른 프로그램 모듈(227), 및 프로그램 데이터(228)를 도시하고 있으며, 이들로서 제한되는 것은 아니다.
또한, 컴퓨터(241)는 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 예를 들어, 도 4는 비이동식, 비휘발성 자기 매체에 판독 또는 기록하는 하드 디스크 드라이브(238), 이동식, 비휘발성 자기 디스크(254)에 판독 또는 기록하는 자기 디스크 드라이브(239), 및 CD ROM 또는 다른 광학 매체와 같은 이동식, 비휘발성 광 디스크(253)에 판독 또는 기록하는 광 디스크 드라이브(240)를 도시한다. 예시적인 운영 환경에서 사용가능한 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체는, 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 상태 RAM, 고체 상태 ROM 등을 포함하지만, 이들로서 제한되는 것은 아니다. 하드 디스크 드라이브(238)는 일반적으로 인터페이스(234)와 같은 비이동식 메모리 인터페이스를 통해 시스템 버스(221)에 연결되며, 자기 디스크 드라이브(239) 및 광 디스크 드라이브(240)는 일반적으로 인터페이스(235)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(221)에 연결된다.
앞서 논의되었으며 도 4에 도시된 드라이브 및 그 관련 컴퓨터 저장 매체는 컴퓨터(241)를 위한 컴퓨터 판독가능 인스트럭션, 데이터 구조, 프로그램 모듈 및 기타 데이터를 저장한다. 도 4에서, 예를 들어, 하드 디스크 드라이브(238)는 운영 체제(258), 애플리케이션 프로그램(257), 다른 프로그램 모듈(256) 및 프로그램 데이터(255)를 저장하는 것으로 도시되어 있다. 이러한 컴포넌트들은 운영 체제(225), 애플리케이션 프로그램(226), 다른 프로그램 모듈(227) 및 프로그램 데이터(228)와 동일할 수도 또는 다를 수도 있음을 알 것이다. 운영 체제(258), 애플리케이션 프로그램(257), 다른 프로그램 모듈(256), 및 프로그램 데이터(255)는, 최소한 이들이 상이한 카피들임을 나타내기 위해 본원에서 상이한 번호가 부여된다. 사용자는 키보드(251), 및 일반적으로 마우스, 트랙볼, 또는 터치 패드로 불리는 포인팅 장치(252)를 비롯한 입력 장치들을 통해 명령어 및 정보를 컴퓨터(241)에 입력할 수 있다. 다른 입력 장치들(도시되지 않음)은 마이크, 조이스틱, 게임 패드, 위성 접시, 스캐너, 리모콘 등을 포함할 수 있다. 이들 및 다른 입력 장치들은 보통 시스템 버스에 연결된 사용자 입력 인터페이스(236)를 통해 처리 장치(259)에 접속되지만, 병렬 포트, 게임 포트, 또는 USB(universal serial bus)를 비롯한 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 카메라(26, 28) 및 캡쳐 장치(20)는 콘솔(100)의 추가 입력 장치에 해당한다. 모니터(242) 또는 다른 형태의 디스플레이 장치도 비디오 인터페이스(232)와 같은 인터페이스를 통해 시스템 버스(221)에 접속된다. 모니터뿐만 아니라, 컴퓨터들은, 출력 주변 기기 인터페이스(233)를 통해 접속될 수 있는 스피커(244) 및 프린터(243)를 비롯한 다른 주변 기기 출력 장치들을 포함할 수 있다.
컴퓨터(241)는 원격 컴퓨터(246)와 같은 하나 이상의 원격 컴퓨터들에 대한 논리적인 연결들을 사용하여 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(246)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치(peer device) 또는 다른 공통 네트워크 노드일 수 있으며, 단지 메모리 저장 장치(247)만이 도 4에 도시되어 있지만, 일반적으로 컴퓨터(241)와 관련하여 전술한 다수의 또는 모든 구성요소들을 포함한다. 도 4에 도시된 논리적인 연결은 LAN(local area network, 245) 및 WAN(wide area network, 249)을 포함하지만, 또한 다른 네트워크들도 포함할 수 있다. 이러한 네트워킹 환경들은 사무실, 기업(enterprise-wide) 컴퓨터 네트워크, 인트라넷 및 인터넷에 흔하다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(241)는 네트워크 인터페이스 또는 어댑터(237)를 통해서 LAN(245)에 연결된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(241)는 일반적으로 모뎀(250) 또는 인터넷과 같이 WAN(249)을 통해 통신을 구축하기 위한 다른 수단을 포함한다. 내부 또는 외부에 존재할 수 있는 모뎀(250)은 사용자 입력 인터페이스(236), 또는 다른 적절한 메카니즘을 통해 시스템 버스(221)에 연결될 수 있다. 네트워킹 환경에서, 컴퓨터(241) 또는 그 일부분에 관련하여 도시된 프로그램 모듈들이 원격 메모리 저장 장치 내에 저장될 수 있다. 예를 들면, 도 4는 메모리 장치(247) 상에 존재하는 원격 애플리케이션 프로그램들(248)을 도시하고 있다. 도시된 네트워크 연결들은 예시적인 것이며, 컴퓨터들 간에 통신 링크를 구축하는 다른 수단이 사용될 수 있음을 이해할 것이다.
도 5는 애니메이션을 혼합하는 방법(300)의 순서도를 도시한다. 방법(300)은, 도 1a 내지 도 4와 관련하여 설명된 타겟 인식, 분석 및 트래킹 시스템(10)의 캡쳐 장치(20) 및/또는 컴퓨팅 환경(12)을 사용하여 구현될 수 있다. 일 실시예에서, 방법(300)은, 도 1a 내지 도 4와 관련하여 설명된 타겟 인식, 분석 및 트래킹 시스템(10)의 캡쳐 장치(20) 및/또는 컴퓨팅 환경(12)에서 실행되는 프로그램 코드(즉, 인스트럭션)의 형태를 취할 수 있다.
일 실시예에 따르면, 305에서 이미지가 수신된다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 도 1a 내지 도 2와 관련하여 전술한 캡쳐 장치(20) 등의 캡쳐 장치를 포함할 수 있다. 캡쳐 장치는 여러 타겟을 포함하는 장면을 캡쳐하거나 관찰할 수 있다. 일 실시예에서, 캡쳐 장치는, 비행 시간 분석법, 구조광 분석법, 스테레오 이미지 분석법 등의 적절한 임의 기술을 통해 장면의 RGB 이미지, 깊이 이미지 등의 이미지를 얻도록 구성되는 깊이 카메라일 수 있다.
예를 들어, 일 실시예에서, 이미지는 깊이 이미지를 포함할 수 있다. 깊이 이미지는 관찰된 복수의 화소들을 포함할 수 있고, 관찰된 각 화소는 그 화소에 대해 관찰된 깊이 값을 가진다. 깊이 이미지는 캡쳐된 장면의 2-D(two-dimensional) 화소 영역을 포함할 수 있고, 2-D 화소 영역의 각 화소는 캡쳐 장치로부터 캡쳐된 장면의 객체의 길이 또는 거리 등의 깊이 값을 센티미터, 밀리미터 등으로 나타낼 수 있다.
도 6은 305에서 수신되는 깊이 이미지(400)의 일 실시예를 도시한다. 일 실시예에 따르면, 깊이 이미지(400)는 도 2에 관해 전술한 캡쳐 장치(20)의 3-D 카메라(26) 및/또는 RGB 카메라(28)에서 캡쳐되는 장면의 이미지나 프레임일 수 있다. 도 6에 도시된 대로, 깊이 이미지(400)는 캡쳐된 장면에서 도 1a 및 1b에 관해 전술한 사용자(18)와 같은 사용자에 해당하는 인간 타겟(402), 및 벽, 테이블, 모니터 등의 비인간 타겟들(404)을 포함한다. 전술한 바와 같이, 깊이 이미지(400)는 관찰된 복수의 화소들을 포함할 수 있고, 관찰된 각 화소는 그 화소에 대해 관찰된 깊이 값을 가진다. 예를 들어, 깊이 이미지(400)는 캡쳐된 장면의 2-D(two-dimensional) 화소 영역을 포함할 수 있고, 2-D 화소 영역의 각 화소는 캡쳐 장치로부터 캡쳐된 장면의 타겟이나 객체의 길이 또는 거리 등의 깊이 값을 센티미터, 밀리미터 등으로 나타낼 수 있다. 일 실시예에서, 깊이 이미지(400)가 컬러화되어, 그 깊이 이미지의 화소들의 상이한 색상들이 캡쳐 장치로부터의 인간 타겟(402) 및 비인간 타겟(404)으로의 상이한 거리들에 상응하게 된다. 예를 들어, 일 실시예에 따르면, 캡쳐 장치에 가장 가까이에 있는 타겟에 관련된 화소들은 깊이 이미지에서 적색 및/또는 주황색을 내는 한편, 멀리 떨어진 타겟에 관련된 화소들은 깊이 이미지에서 녹색 및/또는 청색을 내게 된다.
도 5를 다시 참조하면, 일 실시예에서, 305에서 이미지가 수신되면, 깊이 이미지가 보다 쉽게 사용되고 적은 컴퓨팅 오버헤드(computing overhead)로 보다 빨리 처리될 수 있도록, 이 이미지는 낮은 처리 해상도로 다운샘플링된다(downsampled). 또한, 깊이 정보를 사용하여 골격 모델과 같은 모델을 생성하기 위해서, 여러 고분산(high-variance) 및/또는 잡음 깊이(noisy depth) 값들이 깊이 이미지로부터 제거되거나 스무딩되고(smoothed), 손실 및/또는 제거된 깊이 정보 부분이 채워지거나 복원되며, 수신된 깊이 정보에 대해 기타 적절한 처리가 실행되며, 이에 대해서는 아래에서 보다 상세하게 설명될 것이다.
310에서, 이미지의 사용자 모델이 생성된다. 예를 들어, 이미지를 수신하면, 타겟 인식, 분석 및 트래킹 시스템은 깊이 이미지의 각 타겟이나 객체를 플러드 필링하고 이를 다양한 위치 또는 포즈의 인체 모델에 관한 패턴과 비교함으로써 깊이 이미지가, 도 1a 및 1b와 관련하여 전술한 사용자(18)와 같은 사용자에 해당하는, 도 6와 관련하여 전술한 인간 타겟(402) 등의 인간 타겟을 포함하는지를 결정할 수 있다. 패턴과 매칭하는 플러드 필링 된 타겟이나 객체는 분리되고 스캔되어, 예를 들어, 다양한 신체 부위의 측정값을 포함하는 값들을 결정할 수 있다. 일 실시예에 따르면, 골격 모델, 메쉬 모델 등의 모델이 스캔에 기반하여 생성될 것이다. 예를 들어, 일 실시예에 따르면, 스캔에 의해 결정된 측정값들은 모델의 여러 조인트들을 정의하기 위해 사용되는 여러 데이터 구조들에 저장될 수 있다. 이 여러 조인트들은 인체 부위에 대응하는 여러 뼈들을 정의하기 위해 사용될 수 있다.
도 7은 310에서 사용자를 위해 생성되는 모델(500)의 일 실시예를 도시한다. 일 실시예에 따르면, 모델(500)은 예를 들어, 도 6과 관련하여 전술한 깊이 이미지(400)의 인간 타겟(402)과 같이 깊이 이미지의 사용자에 관련된 인간 타겟의 3-D 모델을 나타내는 하나 이상의 데이터 구조를 포함할 수 있다. 일 실시예에서, 사용자와 관련된 인간 타겟의 각 신체 부위는 모델(500)의 조인트 및 뼈들을 정의하는 수학적인 벡터로 규정될 수 있다.
도 7에서, 모델(500)은 하나 이상의 조인트들(j1 - j18)을 포함할 수 있다. 일 실시예에 따르면, 각 조인트들(j1 - j18)은 그 사이에서 정의된 여러 신체 부위들이 여러 다른 신체 부위에 관련되어 움직일 수 있게 한다. 예를 들어, 인간 타겟을 나타내는 모델은, 인접 뼈들의 교차점에 위치한 조인트들(j1 - j18)과 함께 "뼈"와 같은 여러 구조 부재로 정의되는 복수의 고정(rigid) 및/또는 변형가능한 신체 부위들을 포함할 수 있다. 조인트들(j1 - j18)은 뼈와 조인트(j1 - j18)들에 관련된 다양한 신체 부위들이 서로 독립적으로 움직일 수 있게 한다. 예를 들어, 도 7에서 조인트(j7 및 j11) 사이에 정의된 뼈는 종아리에 해당하는 조인트(j15 및 j 17) 사이에 정의된 뼈와는 독립적으로 움직이는 팔뚝에 해당한다.
전술한 바와 같이, 각 신체 부위는 도 7의 조인트 및 뼈들을 정의하는 X 값, Y 값 및 Z 값을 갖는 수학적인 벡터로 규정될 수 있다. 일 실시예에서, 도 7에 도시된 뼈들에 관련된 벡터들의 교차점이 조인트들(j1 - j18)에 관련된 각각의 포인트를 정의할 수 있다.
다시 도 5를 참조하면, 315에서 사용자와 관련된 모델의 실시간 또는 라이브 모션이 캡쳐된다. 예를 들어, 모델이 트래킹되어, 그 모델이 사용자 움직임을 흉내내도록 조정되거나 움직일 수 있다. 사용자와 관련된 모델의 이러한 조정이나 모션이 실시간으로 캡쳐된다. 또한, 이러한 조정이나 모션은 아바타, 온스크린 캐릭터, 온스크린 객체 등의 가상 캐릭터에 적용되며, 이에 대해서는 아래에서 보다 상세하게 설명될 것이다.
일 실시예에 따르면, 도 7과 관련하여 전술한 모델(500) 등의 모델은 도 1a 및 1b와 관련하여 전술한 사용자(18)와 같은 사용자의 표현일 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 모델(500)을 조정하거나 움직이는 데에 사용되는 사용자(18)의 움직임을 관찰하거나 캡쳐하여, 모델(500)의 조정이나 모션이 315에서 캡쳐될 수 있다.
예를 들어, 도 1a 내지 도 2와 관련하여 전술한 캡쳐 장치(20) 등의 캡쳐 장치는 모델을 조정하기 위해 사용되는 장면의 깊이 이미지, RGB 이미지 등 다수의 이미지를 관찰하거나 캡쳐할 수 있다. 일 실시예에 따르면, 각각의 이미지는 정의된 빈도에 따라 관찰되거나 캡쳐될 수 있다. 예를 들어, 캡쳐 장치는 밀리세컨드, 마이크로세컨드마다 장면의 새로운 이미지를 관찰하거나 캡쳐할 수 있다.
각각의 이미지를 수신하면, 특정 이미지에 관련된 정보가 모델에 관련된 정보와 비교되어 사용자의 움직임 여부를 결정할 수 있다. 예를 들어, 일실시예에서 모델은 합성된 깊이 이미지(synthesized depth image) 등의 합성 이미지로 래스터화될(rasterized) 수 있다. 이 합성 이미지의 화소들은 수신된 각각의 이미지에서의 인간 타겟에 관련된 화소들과 비교되어, 수신된 이미지에서 인간 타겟의 움직임 여부를 결정하게 된다.
일 실시예에 따르면, 합성된 이미지와 수신된 이미지 간에 비교되는 화소들에 기반하여 하나 이상의 힘 벡터(force vectors)가 계산될 수 있다. 이 여러 힘이 모델의 조인트와 같은 여러 힘-수신 부분에 적용되거나 매핑되어, 모델이 물리적 공간에서의 인간 타겟 또는 사용자의 포즈에 보다 근접하게 대응하는 포즈가 되도록 조정할 수 있다.
다음으로, 트래킹된 모델의 조정이나 모션들이 315에서 캡쳐될 것이다. 일 실시예에서, 트래킹된 모델의 조정이나 모션들은 모션 캡쳐 파일에 저장된다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 도 1a 및 1b와 관련하여 전술한 사용자(18)와 같은 사용자 특유의 흔드는 모션, 골프 스윙과 같은 스윙 모션, 펀치 모션, 걷는 모션, 뛰는 모션 등의 여러 모션들을 포함하는 모션 캡쳐 파일을 렌더링 및 저장할 수 있다. 일 실시예에 따르면, 모션 캡쳐 파일은 트래킹된 모드에 관련된 X, Y 및 Z 값을 포함하는 벡터 등의 정보를 기반으로 하여 실시간으로 생성되고, 또한 모델에 적용되는 사용자의 움직임의 여러 프레임들을 포함할 수 있다. 또한, 모션 캡쳐 파일에서의 모델의 모션들은 아바타, 온스크린 객체, 온스크린 캐릭터 등의 가상 캐릭터에 실시간으로 또는 라이브로 적용될 수 있다. 게다가, 모션 캡쳐 파일에서의 모델의 모션들이 저장되거나 사전 레코딩되어, 모션 캡쳐 파일이 미래 시점에 가상 객체나 캐릭터에 적용될 수 있으며, 이에 대해서는 아래에서 보다 상세하게 설명될 것이다.
도 8a 및 8b는 모션 캡쳐 파일의 다양한 시점에 캡쳐되는, 도 1a 및 1b에 관하여 전술한 사용자(18)와 같은 사용자에 관련된 모델(500)의 일 실시예를 도시한다. 도 8a 및 8b에 도시된 바와 같이, 도 7에 관하여 전술한 모델(500)은 전술한 바와 같이 다양한 시점에서의 사용자 움직임에 기반하여 조정되거나 움직일 수 있다. 예를 들어, 도 8a에서, 사용자가 자신의 오른쪽 아래팔을 들어올릴 때, 전술한 조인트들(j3, j7 및 j11)에 하나 이상의 힘 벡터를 적용시킴으로써 모델(500)의 조인트들(j3, j7 및 j11)과 그 사이의 뼈들이 조정되거나 움직여서 포즈(502)를 표현할 수 있다. 도 8a에서 사용자가 자신의 오른쪽 아래팔을 들은 후에, 사용자(18)와 같은 사용자는 자신의 왼쪽 아래팔을 들어올린다. 도 8b에 도시된 바와 같이, 사용자가 자신의 오른쪽 아래팔을 들어올릴 때 전술한 조인트들(j4, j8 및 j12)에 하나 이상의 힘 벡터를 적용시킴으로써 모델의 조인트들(j4, j8 및 j12)과 그 사이의 뼈들이 조정되거나 움직여서, 모델(500)이 포즈(502)로부터 포즈(504)로 조정된다. 도 8a 및 8b의 포즈들(502, 504)에서와 같이 모델(500)에 적용되는 조정이나 모션들은 315에서, 전술한 모션 캡쳐 파일의 각 프레임들에서 캡쳐된다.
도 5를 다시 참조하면, 사전 레코딩된 모션이 320에서 수신된다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 온스크린 게임 캐릭터, 아바타, 온스크린 객체 등을 비롯한 가상 캐릭터에 대해 사전 레코딩된 모션을 수신할 수 있다. 일 실시예에서, 사전 레코딩된 모션은, 애플리케이션 개발자가 개발한 가상 캐릭터 또는 객체에 대해 아티스트가 개발한 애니메이션 또는 모션 캡쳐 파일, 및/또는 애플리케이션 개발자가 개발한 입력 장치로 제어되는 애니메이션 또는 모션, 래그돌(rag doll) 애니메이션 또는 모션 등 프로그램으로 제어되는 변환(transformation)일 수 있다. 또 다른 실시예에 따르면, 사전 레코딩된 모션은 전술한 바와 같이 나중의 사용을 위해 저장되는, 타겟 인식, 분석 및 트래킹 시스템의 사용자에 관련된 모델의 모션 캡쳐 파일일 수 있다.
도 9a 및 도 9b는 켄타우로스와 같은 가상 객체 또는 캐릭터에 대한 다양한 시점이나 다양한 프레임에서의 캐릭터 모델(600)의 일 실시예를 도시하여, 이는 아티스트가 개발한 사전 레코딩된 모션으로서 320에서 수신될 수 있다. 도 9a 및 도 9b에 도시된 바와 같이, 캐릭터 모델(600)은 여러 조인트들(j1' - j20')을 포함할 수 있다. 일 실시예에서, 각각의 조인트(j1' - j20')는 조인트(j1' - j20')의 여러 다른 신체 부위에 대해 상대적으로 또는 독립적으로 움직이는 여러 신체 부위를 정의하여, 가상 객체나 캐릭터를 애니메이션화할 수 있게 되며, 이에 대해서는 아래에서 보다 상세하게 설명될 것이다.
또한, 일 실시예에 따르면, 캐릭터 모델(600)의 조인트(j1' - j20') 각각은 아티스트가 개발한 사전 레코딩된 애니메이션 또는 모션 캡쳐 파일 내의 다양한 시점에서, 또는 아티스트가 개발한 사전 레코딩된 애니메이션 또는 모션 캡쳐 파일의 각각의 프레임에서 대응 애니메이션 트랙을 가질 수 있다. 예를 들어, 도 9a에서와 같이, 캐릭터 모델(600)의 조인트들(j16', j18' 및 j20')과 그 사이에서 정의된 신체 부위들은, 아티스트가 개발한 사전 레코딩된 애니메이션 또는 모션 파일의 제 1 시점에서 또는 아티스트가 생성한 사전 레코딩된 애니메이션 또는 모션 캡쳐 파일의 제 1 프레임에서 캐릭터 모델(600)의 포즈(602)가 되게 하는 애니메이션 트랙을 가질 수 있다. 이후에, 조인트들(j16', j18' 및 j20')은 아티스트가 개발한 사전 레코딩된 애니메이션 또는 모션 파일의 다음 또는 제 2 시점이나, 제 2 또는 다음 프레임에서, 캐릭터 모델(600)의 조인트들(j16', j18' 및 j20')에 대한 애니메이션 트랙 각각에 대해 포즈(604)를 표현하도록 조정될 수 있다.
다시 도 5를 참조하면, 모델의 모션 및/또는 사전 레코딩된 모션이 가상 객체 또는 캐릭터에 적용된다. 예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 여러 실시간 또는 라이브 모션 및/또는 사전 레코딩된 사용자 모션을 가상 객체 또는 캐릭터의 적어도 일부분에 매핑시켜서, 가상 객체 또는 캐릭터가 도 1a 및 1b에 관하여 전술한 사용자(18)와 같은 사용자가 하는 움직임을 흉내내도록 애니메이션화될 수 있다. 게다가, 타겟 인식, 분석 및 트래킹 시스템은, 여러 아티스트가 개발한 사전 레코딩된 애니메이션이나 모션들 및/또는 여러 프로그램으로 제어되는 사전 레코딩된 변환들을 가상 객체 또는 캐릭터의 적어도 일부분에 매핑시켜서, 가상 객체 또는 캐릭터가 아티스트가 개발한 사전 레코딩된 모션 및/또는 프로그램으로 제어되는 사전 레코딩된 변환들을 흉내내도록 애니메이션화될 수 있다.
도 10a 및 10b는 325에서 적용된 사용자의 라이브 모션 및/또는 사전 레코딩된 모션을 갖는 가상 캐릭터(700)의 일 실시예를 도시한다. 도 10a 및 10b에 도시된 대로, 캐릭터(700)는 예컨대, 게임 애플리케이션의 캐릭터인 켄타우로스를 포함한다. 일 실시예에 따르면, 325에서 가상 캐릭터(700)가 사용자에 관련된 트래킹된 모델의 라이브 모션 및 아티스트가 개발한 사전 레코딩된 모션 등의 사전 레코딩된 모션으로 애니메이션화될 수 있다. 예를 들어, 가상 캐릭터(700)의 제 1 부분(A)은 도 1a 및 1b에 관해 전술한 사용자(18)와 같은 사용자가 하는 라이브 모션으로 애니메이션화되고, 제 2 부분(B)은 아티스트가 개발한 사전 레코딩된 모션으로 애니메이션화될 수 있다.
일 실시예에 따르면, 도 7 내지 8(b)와 관련하여 전술한 바와 같이 사용자에 관련된 모델(500)의 조인트들(j1 - j12)은 가상 캐릭터(700)의 제 1 부분(A)에 매핑되고, 도 9a 및 9b와 관련하여 전술한 바와 같이 캐릭터 모델(600)의 조인트들(j9' - j20')은 가상 캐릭터(700)의 제 2 부분(B)에 매핑되어, 제 1 부분(A)은 사용자가 하는 라이브 모션을 흉내내도록 애니메이션화되고, 제 2 부분(B)은 가상 캐릭터(700)와 관련된 캐릭터 모델(600) 등의 캐릭터 모델의 애니메이션을 흉내내도록 애니메이션화될 수 있다. 예를 들어, 도 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)의 앞쪽 왼쪽 둔부, 앞쪽 왼쪽 무릎 및 앞쪽 왼쪽 발목 및 그 사이의 신체 부위들에 매핑되어, 도 10a 및 10b에 도시된 가상 캐릭터(700)의 제 2 부분(B)이 앞쪽 왼쪽 다리를 펴는 켄타우로스 모델의 도 9a 및 9b에 도시된 조인트들(j16', j18' 및 j20')의 포즈들(602 및 604)을 흉내낼 수 있게 된다. 따라서, 일 실시예에 따르면, 가상 캐릭터(700)는 가상 캐릭터 또는 객체에 관련된 캐릭터 모델(600)의 사전 레코딩된 모션들과 혼합된 사용자와 관련된 모델(500)의 라이브 모션을 포함할 수 있다.
일 실시예에서, 라이브 모션 및 사전 레코딩된 모션들로 가상 캐릭터(700)를 애니메이션화하기 위해, 타겟 인식, 분석 및 트래킹 시스템은 가상 캐릭터(700)의 제 1 부분(A)에 대응하는 캐릭터 모델(600)의 조인트 및/또는 신체 부위에 관한 애니메이션 또는 모션 트랙들을 사용금지시킬 수 있다. 이에 더하여, 타겟 인식, 분석 및 트래킹 시스템은 가상 캐릭터(700)의 제 2 부분(B)에 대응하는 모션 캡쳐 파일의 모델(500)의 조인트들에 관련된 애니메이션 또는 모션들을 사용금지시킬 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 모션 캡쳐 파일의 사용자에 관련된 모델(500)의 애니메이션 또는 모션들과 캐릭터 모델(600)의 애니메이션 또는 모션 트랙들을 혼합하여, 제 1 부분(A)은 사용자와 관련된 모델(500)의 모션으로 애니메이션화되고, 제 2 부분(B)은 가상 캐릭터(700)와 관련된 캐릭터 모델(600)의 애니메이션 또는 모션들로 애니메이션화되게 할 수 있다.
예를 들어, 타겟 인식, 분석 및 트래킹 시스템은 캐릭터 모델(600)의 조인트들(j1' - j8')의 애니메이션 또는 모션 트랙들 및 사용자와 관련된 모델(500)의 조인트들(j13 - j18)의 애니메이션 또는 모션들을 사용금지시킬 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 캐릭터 모델(600) 및 사용자와 관련된 모델(500)의 애니메이션 및 모션들을 혼합시켜서, 도 10a 및 10b에 도시된 바와 같이, 가상 캐릭터(700)의 제 1 부분(A)이 사용자의 움직임을 흉내내고, 가상 캐릭터(700)의 제 2 부분(B)이 캐릭터 모델의 사전 레코딩된 애니메이션 또는 모션들을 흉내내게 할 수 있다.
도 11a 내지 11f는 325에서 적용된 사용자의 라이브 모션 및/또는 사전 레코딩된 모션을 갖는 가상 캐릭터(800)의 또 다른 실시예를 도시한다. 도 11a 및 11f에 도시된 대로, 캐릭터(800)는 예컨대, 게임 애플리케이션의 캐릭터인 로봇을 포함한다. 일 실시예에 따르면, 가상 캐릭터(800)는 325에서 사용자에 관련된 트래킹된 모델의 라이브 모션 및/또는 사용자와 관련된 모델의 저장된 모션이나 아티스트가 개발한 사전 레코딩된 모션을 비롯한 사전 레코딩된 모션으로 애니메이션화될 수 있다. 예를 들어, 가상 캐릭터(800)의 제 1 부분(A')은 도 1a 및 1b에 관해 전술한 사용자(18)와 같은 사용자가 하는 라이브 모션으로 애니메이션화되고, 제 2 부분(B)은 모션 캡쳐 파일의 사전 레코딩된 모션 또는 아티스트가 개발한 사전 레코딩된 모션으로 애니메이션화될 수 있다.
일 실시예에 따르면, 사용자로부터 수신된 제스쳐에 대응하여 라이브 및/또는 사전 레코딩된 모션들 또는 애니메이션들이 가상 캐릭터(800)에 적용된다. 예를 들어, 315에서 캡쳐되는 사용자에 관련된 모델의 실시간 또는 라이브 모션들 중 어느 하나는, 325에서 가상 캐릭터(800)의 움직임 또는 애니메이션을 제어하는 데에 사용되는 제스쳐를 포함할 수 있다.
일 실시예에서, 사용자가 자신의 왼팔을 들어올리면, 그 사용자에 관련된 모델이 왼팔을 들어올리는 사용자를 흉내내도록 조정되고, 이는 315에서 캡쳐될 수 있다. 예를 들어, 도 7 내지 8(b)과 관련하여 전술한 모델(500)의 조인트들(j4, j8 및 j12)이 왼팔을 들어올리는 사용자를 반영하도록 조정될 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 왼팔을 들어올리는 것에 관련된 제스쳐를 해석하여, 가상 캐릭터(800)의 제 1 부분(A') 등의 적어도 일부분에 사전 레코딩된 모션 또는 라이브 모션을 적용하고, 사용자가 왼팔을 들어올리는 것에 관련된 제스쳐에 대응하여, 가상 캐릭터(800)의 제 1 부분(A') 등의 적어도 일부분에 적용되는 사전 레코딩된 모션 또는 라이브 모션으로부터 변경될 수 있다.
예를 들어, 일 실시예에 따르면, 사용자가 자신의 왼팔을 들어올리는 것에 대응하여, 도 11b에서와 같이, 사용자에 관련된 모델(500)에 행해지는 조정을 기초로 하여 사용자가 왼팔을 들어올리는 라이브 모션이 가상 캐릭터(800)의 제 1 부분(A')에 적용되어 가상 캐릭터(800)가 애니메이션화된다. 즉, 사용자가 왼팔을 들어올리는 것에 대응하여, 사용자와 관련된 모델(500)의 조인트들(j4, j8 및 j12)이 가상 캐릭터(800)의 왼팔에 매핑되어, 가상 캐릭터(800)의 제 1 부분(A')이 사용자의 상체에서 행해지는 라이브 모션으로 애니메이션화될 수 있다. 뿐만 아니라, 사용자의 상체에서의 다음 움직임도 가상 캐릭터(800)에 적용될 수 있다. 예를 들어, 사용자가 자신의 오른쪽 아래팔을 들면, 그 오른쪽 아래팔을 들어올리는 라이브 모션들이 모델(500)의 조인트들(j7 및 j11)에 적용된다. 이후에, 전술한 바와 같이 이 라이브 모션들이 가상 캐릭터(800)에 적용되어, 도 11c에 도시된 대로 가상캐릭터(800)가 자신의 오른쪽 아래팔을 들도록 애니메이션화되거나 움직일 수 있게 된다. 따라서, 일 실시예에 따르면, 수신된 제스쳐에 대응하여, 가상 캐릭터(800)의 적어도 일부분은 사용자와 관련된 모델(500)에 적용되는 사용자의 움직임을 흉내내도록 애니메이션화될 수 있다.
이와 유사하게, 사용자가 자신의 왼발을 들면, 그 사용자에 관련된 모델이 왼발을 들어올리는 사용자를 흉내내도록 조정되고, 이는 315에서 캡쳐될 수 있다. 예를 들어, 도 7 내지 8(b)과 관련하여 전술한 모델(500)의 조인트들(j14, j16 및 j18)이 왼발을 들어올리는 사용자를 반영하도록 조정될 수 있다. 타겟 인식, 분석 및 트래킹 시스템은 이 왼발을 들어올리는 것에 관련된 제스쳐를 해석하여, 사전 레코딩된 모션 또는 라이브 모션을 가상 캐릭터(800)의 제 2 부분(B')을 비롯한 적어도 일부분에 적용하고, 사용자가 왼발을 들어올리는 것에 관련된 제스쳐에 대응하여 가상 캐릭터(800)의 제 2 부분(B')을 비롯한 적어도 일부분에 적용되는 사전 레코딩된 모션 또는 라이브 모션으로부터 변경될 수 있다.
예를 들어, 일 실시예에 따르면, 사용자가 자신의 왼발을 들어올리는 것에 대응하여, 도 11d 내지 11f에서와 같이, 가상 캐릭터(800)의 제 2 부분(B')이 모션 캡쳐 파일에서 캡쳐된 사용자와 관련된 모델(500)의 사전 레코딩된 걷는 모션 또는 아티스트가 개발한 걷는 애니메이션 등의 사전 레코딩된 걷는 모션으로 애니메이션화된다. 즉, 사용자가 자신의 다리를 들어올리는 것에 대응하여, 저장된 모션 캡쳐 파일의 모델(500)의 조인트들(j13 - j18)이 가상 캐릭터(800)의 오른쪽 다리 및 왼쪽 다리에 각각 매핑되어, 가상 캐릭터(800)의 제 2 부분(B')이 사전 레코딩된 사용자의 걷는 모션으로 애니메이션화 될 수 있다. 또는, 사용자가 자신의 다리를 들어올리는 것에 대응하여, 캐릭터 모델의 조인트 및/또는 신체 부위들이 가상 캐릭터(800)의 오른쪽 다리 및 왼쪽 다리 각각에 매핑되어, 가상 캐릭터(800)의 제 2 부분(B')이 아티스트가 개발한 사전 레코딩된 걷는 모션으로 애니메이션화 될 수 있다.
일 실시예에서, 가상 캐릭터(800)에 적용되는 애니메이션을 제어하는 다음의 제스쳐가 수신될 때까지, 사용자의 라이브 모션 및/또는 사전 레코딩된 모션들이 가상 캐릭터(800)의 제 1 및 제 2 부분(A' 및 B')에 적용될 것이다. 예를 들어, 사용자가 자신의 오른쪽 팔 및 왼쪽 팔 모두를 들어올리는 등의 다음 제스쳐가 수신될 때까지, 사용자의 라이브 모션이 가상 캐릭터(800)의 제 1 부분(A')에 적용된다. 다음 제스쳐를 수신하면, 가상 캐릭터(800)의 제 1 부분(A')은 움직이지 않거나, 전술한 모션 캡쳐 파일에서의 사용자의 사전 레코딩된 모션 또는 아티스트가 생성한 사전 레코딩된 애니메이션 등의 사전 레코딩된 모션으로 애니메이션화될 수 있다.
일 실시예에 따르면, 사용자가 왼손을 들어올리는 것에 대응하여 가상 캐릭터(800)의 제 1 부분(A')을 사용자의 상체에서 행하는 라이브 모션으로 애니메이션화하기 위해서, 타겟 인식, 분석 및 트래킹 시스템은 사용자의 하체에 관련된 모델(500)의 조인트들(j13 - J18)을 비롯한 조인트들 및/또는 신체 부위의 애니메이션이나 모션들을 사용금지시킬 수 있다. 또한, 사용자가 왼발을 들어올리는 것에 대응하여 가상 캐릭터(800)의 제 2 부분(B')을 사전 레코딩된 걷는 모션으로 애니메이션화하기 위해서, 타겟 인식, 분석 및 트래킹 시스템은 가상 캐릭터(800)나 사용자에 관련된 캐릭터 모델의 상체에 관련된 캐릭터 모델 또는 모델(500)의 조인트들 및/또는 신체 부위의 애니메이션이나 모션들을 사용금지 시킬 수 있다. 이후에, 타겟 인식, 분석 및 트래킹 시스템은 사용가능한 사용자의 상체의 라이브 애니메이션 또는 모션들과 캐릭터 모델(600)의 사용가능한 사전 레코딩된 걷는 모션들을 혼합시켜, 도 11d 내지 11f에 도시된 바와 같이, 사전 레코딩된 걷는 모션과 함께 제 1 부분(A')이 사용자가 왼팔을 드는 것에 대응한 사용자의 상체의 라이브 모션으로 애니메이션화될 수 있다.
또한, 일 실시예에서, 가상 캐릭터(800)의 제 1 부분(A')에 적용된 사용자의 라이브 모션을 사전 레코딩된 모션으로 바꾸게 하는, 사용자가 두 팔을 들어올리는 것과 같은 다음 제스쳐를 수신하게 되면, 가상 캐릭터의 제 1 부분(A')이 라이브 모션과 사전 레코딩된 모션 사이에서 매끄럽게 전환되도록, 타겟 인식, 분석 및 트래킹 시스템은 15 내지 20 개의 프레임 등 사전 결정된 수의 프레임에 걸쳐 전환을 혼합시킨다. 예를 들어, 라이브 모션을 하는 모델(500)의 조인트 및/또는 신체 부위 각각은 15 내지 20 개의 프레임에 걸쳐 사전 레코딩된 모션을 하는 대응 조인트 및/또는 신체 부위와 혼합된다. 따라서, 모션 캡쳐 파일의 라이브 모션의 1 프레임에서 모델(500)의 상체에 관련된 각 조인트와 사전 레코딩된 모션 또는 애니메이션의 제 1 프레임에서 캐릭터 모델의 대응 조인트 및/또는 신체 부위가 혼합될 것이다. 이후, 사전 결정된 프레임 수가 지나면 라이브 모션은 사라지고, 가상 캐릭터(800)의 제 1 부위(A')는 사전 레코딩된 모션이나 애니메이션으로 애니메이션화될 것이다.
도 12a 및 12b는 325에서 적용되는 사용자의 라이브 모션 및/또는 프로그램으로 제어되는 변환이 있는 게임 캐릭터(900)의 일 실시예를 도시한다. 도 12a 및 12b에 도시된 바와 같이, 게임 캐릭터(900)는 풋볼 게임 애플리케이션의 캐릭터인 풋볼 플레이어를 포함한다. 일 실시예에 따르면, 게임 캐릭터(900)는 사용자에 관련된 트래킹된 모델의 라이브 모션, 및 입력 장치로 제어되는 애니메이션 또는 모션, 래그돌 애니메이션 또는 모션 등의 프로그램으로 제어되는 변환으로 애니메이션화될 수 있다. 예를 들어, 게임 캐릭터(900)의 두 팔(906a 및 906b)인 제 1 부분은 도 1a 및 1b에 관해 전술한 사용자(18)와 같은 사용자가 자신의 두 팔로 하는 라이브 모션으로 제어되거나 애니메이션화된다. 일 실시예에 따르면, 도 12a 및 12b에 도시된 게임 캐릭터(900)의 나머지 각 신체 부위 등과 같은 제 2 부분은 이 부분에 적용되는, 프로그램으로 제어되는 사전 레코딩된 변환을 가질 수 있다.
일 실시예에서, 프로그램으로 제어되는 사전 레코딩된 변환은, 물리학을 사용하여 게임 캐릭터(900) 등의 게임 캐릭터가 애플리케이션에서 목표를 달성하게 하는 목표 기반 애니메이션 또는 모션을 포함할 수 있다. 예를 들어, 게임 캐릭터(900)는 패스를 캐치하기 위해 풋볼 게임 애플리케이션에서 제공되는 풋볼 필드의 특정 위치에 도달하는 목표를 갖는 와이드 리시버(wide receiver)일 수 있다. 프로그램으로 제어되는 사전 레코딩된 변환은 게임 캐릭터(900)가 자동으로 그 위치에 도달하게끔 하는 물리학을 사용하는 애니메이션 또는 모션을 포함할 수 있다.
또한, 일 실시예에 따르면, 게임 캐릭터(900)는 도 12a 및 12b에 도시된 바와 같이 상대 팀의 게임 캐릭터에 의해 태클당할 수 있다. 프로그램으로 제어되는 변환은, 풋볼 게임 애플리케이션에서 게임 캐릭터(900)를 정해진 위치에서 태클하도록 배치된 래그돌을 기반으로 하는 사전 레코딩된 모션 또는 애니메이션을 포함할 수 있다. 예를 들어, 프로그램으로 제어되는 변환 모션 또는 애니메이션은, 게임 캐릭터(900)가 상대편 플레이어의 위치에 있는 래그돌에 의해 태클당했을 때, 게임 캐릭터(900)의 반응에 기반한 물리학적인 계산에 따라 생성되는 래그돌 애니메이션 또는 모션을 포함할 수 있다.
따라서, 일 실시예에서, 두 팔(906a 및 906b)은 여기에 적용되는 사용자의 두 팔의 라이브 모션을 하고, 게임 캐릭터(900)의 나머지 신체 부위는 게임 캐릭터(900)를 태클하는 상대편 플레이어에 대한 래그돌 애니메이션 또는 모션의 프로그램으로 제어되는 변환으로 애니메이션화되어, 도 12a 및 12b에 도시된 바와 같이 캐치를 하도록 사용자는 두 팔(906a 및 906b))을 제어하고, 나머지 신체 부위는 실제 상대편 플레이어에 의해 태클당한 플레이어와 유사한 방식으로 반응하게 될 것이다.
따라서, 일 실시예에서, 온스크린 캐릭터의 시각적인 외관은 도 5의 325에서 모션 캡쳐 파일의 여러 라이브 또는 사전 레코딩된 모션에 따라 변경될 수 있다. 예를 들어, 게임 콘솔로 전자 게임을 하는 도 1a 및 도 1b에서 전술한 사용자(18)와 같은 게임 플레이어는 본원에서 설명한 바와 같이 게임 콘솔로 트래킹될 수 있다. 게임 플레이어가 팔을 흔들면, 게임 콘솔이 이러한 모션을 트래킹하고, 이 트래킹된 모션에 대응해 사용자와 관련된 모델을 조정하게 된다. 전술한 바와 같이, 트래킹된 모델은 모션 캡쳐 파일에서 캡쳐될 수도 있다. 예컨대, 이 모션 캡쳐 파일은 온스크린 캐릭터의 상체 부분에 적용되어, 온스크린 캐릭터가 팔을 흔드는 사용자의 실제 모션을 흉내내도록 애니메이션화될 수 있다. 또한, 아티스트가 생성한 사전 레코딩된 모션 또는 프로그램으로 제어되는 변환이 모션 캡쳐 파일의 라이브 또는 사전 레코딩된 모션들과 혼합될 수도 있다. 예를 들어, 일 실시예에 따르면, 온스크린 캐릭터가, 사용자가 자신의 팔을 실시간 또는 라이브로 흔드는 것과 똑같이 게임에서 골프 클럽, 배트를 휘두르거나 펀치를 날리는 것으로 애니메이션화되고, 뛰거나, 걷거나 자전거를 타는 사전 레코딩된 모션 또는 애니메이션으로 캡쳐되는 운동 선수처럼 뛰거나, 걷거나 자전거를 타도록 애니메이션화될 수 있다.
본원에 기술된 구성 및/또는 접근 방법은 예시적인 것으로, 이러한 특정 실시예들이나 예시들로 제한되는 것은 아님을 이해할 것이다. 본원에 기술된 특정 루틴 또는 방법들은 하나 이상인 임의의 수의 처리 전략을 나타낸다. 따라서, 도시된 다양한 행위들은 도시된 순서대로, 다른 순서로 또는 동시에 실행될 수 있다. 마찬가지로, 전술한 프로세스의 순서도 변경될 수 있다.
본 개시의 대상은, 본원에 기술된 다양한 프로세스, 시스템 및 구성의 신규하고 자명하지 않은 모든 컴비네이션 및 서브 컴비네이션, 및 기타 특징, 기능, 행위 및/또는 특성들의 뿐만 아니라 그들의 임의의 모든 등가물을 포함한다.

Claims (15)

  1. 모션들을 혼합하는 컴퓨터 구현 방법에 있어서,
    상기 컴퓨터 구현 방법은
    사용자의 라이브 모션을 캡쳐하는 단계(315)와,
    사전 레코딩된 모션을 수신하는 단계(320)와,
    상기 라이브 모션을 가상 캐릭터의 제 1 부분에, 상기 사전 레코딩된 모션을 상기 가상 캐릭터의 제 2 부분에 적용하는 단계(325)를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 컴퓨터 구현 방법은
    이미지를 수신하는 단계(305)와 - 상기 이미지는 상기 사용자와 관련된 인간 타겟을 포함함 -,
    상기 수신된 이미지의 상기 인간 타겟에 기반하여 상기 사용자의 모델을 생성하는 단계(310)를 더 포함하는 방법.
  3. 제 2 항에 있어서,
    상기 라이브 모션을 상기 가상 캐릭터의 제 1 부분에, 상기 사전 레코딩된 모션을 상기 가상 캐릭터의 제 2 부분에 적용하는 상기 단계(325)는
    상기 가상 캐릭터의 하나 이상의 신체 부위를 상기 사용자 모델의 하나 이상의 조인트들에 매핑하는 단계와,
    상기 가상 캐릭터의 하나 이상의 신체 부위를 상기 사전 레코딩된 모션에 관련된 캐릭터 모델의 하나 이상의 신체 부위들에 매칭하는 단계를 더 포함하는 방법.
  4. 제 3 항에 있어서,
    상기 라이브 모션을 상기 가상 캐릭터의 제 1 부분에, 상기 사전 레코딩된 모션을 상기 가상 캐릭터의 제 2 부분에 적용하는 상기 단계(325)는
    상기 가상 캐릭터의 제 2 부분의 하나 이상의 신체 부위들에 대응하는 상기 사용자 모델의 하나 이상의 조인트들을 사용금지시키는 단계와,
    상기 가상 캐릭터의 제 1 부분의 하나 이상의 신체 부위들에 대응하는 상기 사전 레코딩된 모션에 관련된 캐릭터 모델의 하나 이상의 조인트들을 사용금지시키는 단계와,
    상기 사용자 모델의 하나 이상의 조인트들과 상기 캐릭터 모델의 하나 이상의 조인트들의 사용금지에 대응하여, 상기 사용자의 조정된 모델에 관련된 상기 라이브 모션과 상기 캐릭터 모델과 관련된 상기 사전 레코딩된 모션을 혼합하는 단계와,
    상기 가상 캐릭터의 제 1 부분 및 제 2 부분을 상기 혼합된 라이브 및 사전 레코딩된 모션들로 애니메이션화하는 단계를 더 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 컴퓨터 구현 방법은
    상기 사용자로부터 제스쳐를 수신하는 단계(315)를 더 포함하며,
    상기 제스쳐는 상기 가상 캐릭터에 애니메이션을 적용하는 명령어에 관련된 방법.
  6. 제 5 항에 있어서,
    상기 사용자로부터 상기 제스쳐를 수신하는 것에 대응하여, 상기 라이브 모션 및 사전 레코딩된 모션의 적어도 어느 하나가 상기 가상 캐릭터의 상기 제 1 및 제 2 부분 각각에 적용되는(325) 방법.
  7. 모션들을 혼합하기 위한 컴퓨터 실행가능 인스트럭션들을 저장하는 컴퓨터 판독가능 저장 매체(34, 110, 143 및 222)에 있어서,
    상기 컴퓨터 실행가능 인스트럭션들은
    사전 레코딩된 모션을 가상 캐릭터(700, 800)에 적용하고,
    사용자(18)로부터 제 1 제스쳐를 수신하고,
    상기 사용자(18)의 라이브 모션을 캡쳐하며,
    상기 제 1 제스쳐의 수신에 대응하여, 상기 가상 캐릭터(700, 800)의 적어도 일부분에 상기 라이브 모션을 적용하기 위한 인스트럭션들을 포함하는 컴퓨터 판독가능 저장 매체.
  8. 제 7 항에 있어서,
    상기 컴퓨터 판독가능 저장 매체는
    상기 사용자(18)로부터 제 2 제스쳐를 수신하기 위한 인스트럭션을 더 포함하는 컴퓨터 판독가능 저장 매체.
  9. 제 8 항에 있어서,
    상기 컴퓨터 판독가능 저장 매체는
    상기 제 2 제스쳐의 수신에 대응하여, 상기 가상 캐릭터(700, 800)의 상기 일부분에 상기 사전 레코딩된 모션을 적용하기 위한 인스트럭션들을 더 포함하는 컴퓨터 판독가능 저장 매체.

  10. 제 9 항에 있어서,
    상기 제 2 제스쳐의 수신에 대응하여, 상기 가상 캐릭터(700, 800)의 상기 일부분에 상기 사전 레코딩된 모션을 적용하기 위한 상기 인스트럭션들은
    사전 결정된 수의 프레임에 걸쳐 상기 사용자(18)의 상기 라이브 모션을 상기 사전 레코딩된 모션과 혼합하고,
    상기 사전 결정된 수의 프레임에 걸쳐 상기 혼합된 라이브 및 사전 레코딩된 모션으로 상기 가상 캐릭터(800)를 애니메이션화하고,
    상기 사전 결정된 수의 프레임 이후에 상기 사전 레코딩된 모션으로 상기 가상 캐릭터(800)를 애니메이션화하기 위한 인스트럭션들을 포함하는 컴퓨터 판독가능 저장 매체.
  11. 모션들을 혼합하는 시스템(10)에 있어서,
    상기 시스템은 프로세서(32, 101, 259)를 포함하고,
    상기 프로세서(32, 101, 259)는 컴퓨터 실행가능 인스트럭션들을 실행하고, 상기 컴퓨터 실행가능 인스트럭션들은
    사전 레코딩된 모션 및 상기 사용자(18)의 라이브 모션을 수신하고,
    상기 가상 캐릭터(700)의 하나 이상의 신체 부위들을 상기 라이브 모션에 관련된 상기 사용자(18)의 제 1 모델(500)의 하나 이상의 조인트들에 매핑하고,
    상기 가상 캐릭터(700)의 하나 이상의 신체 부위를 상기 사전 레코딩된 모션에 관련된 제 2 모델(600)의 하나 이상의 신체 부위들에 매핑하고,
    상기 가상 캐릭터(700)를 상기 사전 레코딩된 모션 및 라이브 모션으로 애니메이션화하기 위한 인스트럭션들을 더 포함하는 시스템.
  12. 제 11 항에 있어서,
    상기 사전 레코딩된 모션은 상기 사용자(18)의 사전 레코딩된 모션, 아티스트가 개발한 모션 및 프로그램으로 제어되는 변환 중 적어도 어느 하나를 포함하는 시스템.
  13. 제 11 항에 있어서,
    상기 가상 캐릭터(700)를 상기 사전 레코딩된 모션 및 라이브 모션으로 애니메이션화하기 위한 인스트럭션들은
    상기 가상 캐릭터(700)의 제 2 부분의 하나 이상의 신체 부위들에 대응하는 상기 사용자(18)의 제 1 모델(500)의 하나 이상의 조인트들을 사용금지시키고,
    상기 가상 캐릭터(700)의 제 1 부분의 하나 이상의 신체 부위들에 대응하는 상기 사전 레코딩된 모션에 관련된 제 2 모델(600)의 하나 이상의 조인트들을 사용금지시키고,
    상기 사용자(18)의 상기 제 1 모델(500)의 하나 이상의 조인트들과 상기 제 2 모델(600)의 하나 이상의 조인트들의 사용금지에 대응하여, 상기 사용자(18)의 상기 제 1 모델(500)에 관련된 상기 라이브 모션을 상기 제 2 모델(600)과 관련된 상기 사전 레코딩된 모션과 혼합하며,
    상기 가상 캐릭터(700)의 제 1 부분 및 제 2 부분을 상기 혼합된 라이브 및 사전 레코딩된 모션들로 애니메이션화하기 위한 인스트럭션들을 더 포함하는 시스템.
  14. 제 11 항에 있어서,
    상기 시스템은
    상기 사용자(18)로부터 제스쳐를 수신하기 위한 인스트럭션들을 더 포함하며,
    상기 제스쳐는 상기 가상 캐릭터(700)에 애니메이션을 적용하는 명령어에 관련된 시스템.
  15. 제 14 항에 있어서,
    상기 사용자(18)로부터 상기 제스쳐를 수신하는 것에 대응하여, 상기 가상 캐릭터(700)가 상기 라이브 모션 및 사전 레코딩된 모션으로 애니메이션화되는 시스템.
KR1020117028425A 2009-05-29 2010-05-22 애니메이션 또는 모션들을 캐릭터에 적용하는 시스템 및 방법 KR101751078B1 (ko)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
KR20120020137A true KR20120020137A (ko) 2012-03-07
KR101751078B1 KR101751078B1 (ko) 2017-07-03

Family

ID=43219712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117028425A KR101751078B1 (ko) 2009-05-29 2010-05-22 애니메이션 또는 모션들을 캐릭터에 적용하는 시스템 및 방법

Country Status (9)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160131380A (ko) * 2015-05-07 2016-11-16 한국과학기술원 이형 공간간의 인간형 객체 모션 리타게팅 방법 및 시스템
WO2021015582A1 (ko) * 2019-07-25 2021-01-28 삼성전자 주식회사 아바타를 제공하는 전자 장치 및 그의 동작 방법
KR102589194B1 (ko) 2023-02-07 2023-10-13 (주)로코모스튜디오 서로 다른 캐릭터 사이의 애니메이션 데이터를 호환 가능하게 연결하는 모션 커버 방법, 장치 및 시스템

Families Citing this family (71)

* 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
US8678896B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for asynchronous band interaction in a rhythm action game
US8678895B2 (en) 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for online band matching in a rhythm action game
US8588465B2 (en) * 2009-01-30 2013-11-19 Microsoft Corporation Visual target tracking
US8449360B2 (en) 2009-05-29 2013-05-28 Harmonix Music Systems, Inc. Displaying song lyrics and vocal cues
US8803889B2 (en) * 2009-05-29 2014-08-12 Microsoft Corporation Systems and methods for applying animations or motions to a character
US8465366B2 (en) 2009-05-29 2013-06-18 Harmonix Music Systems, Inc. Biasing a musical performance input to a part
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
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
US8568234B2 (en) 2010-03-16 2013-10-29 Harmonix Music Systems, Inc. Simulating musical instruments
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
EP2579955B1 (en) 2010-06-11 2020-07-08 Harmonix Music Systems, Inc. Dance game and tutorial
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance 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
US9158389B1 (en) * 2012-10-15 2015-10-13 Tangible Play, Inc. Virtualization of tangible interface objects
US10033943B1 (en) 2012-10-15 2018-07-24 Tangible Play, Inc. Activity surface detection, display and enhancement
US10657694B2 (en) * 2012-10-15 2020-05-19 Tangible Play, Inc. Activity surface detection, display and enhancement of a virtual scene
US9687730B2 (en) * 2013-03-15 2017-06-27 Steelseries Aps Gaming device with independent gesture-sensitive areas
WO2014151798A2 (en) * 2013-03-15 2014-09-25 Sony Computer Entertainment Inc. User-generated recordings of skeletal animations
US10825220B1 (en) * 2013-10-03 2020-11-03 Pixar Copy pose
CN103543830B (zh) * 2013-10-28 2017-02-15 四川大学 一种人体骨骼点映射至立体显示中虚拟三维空间点的方法
EP3068301A4 (en) 2013-11-12 2017-07-12 Highland Instruments, Inc. Analysis suite
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
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
US10543429B2 (en) * 2015-12-09 2020-01-28 Capcom Co., Ltd. Recording medium whereupon game program is recorded, effect control method, and game device
US9919217B2 (en) 2016-03-08 2018-03-20 Electronic Arts Inc. Dynamic difficulty adjustment
CN107180446B (zh) * 2016-03-10 2020-06-16 腾讯科技(深圳)有限公司 人物面部模型的表情动画生成方法及装置
EP4050464A1 (en) * 2016-03-25 2022-08-31 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 广东欧珀移动通信有限公司 游戏人物形象创建方法及装置、终端设备
JP6489726B1 (ja) * 2017-09-08 2019-03-27 株式会社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
KR102585051B1 (ko) 2018-05-08 2023-10-04 그리 가부시키가이샤 액터의 움직임에 기초하여 생성되는 캐릭터 오브젝트의 애니메이션을 포함하는 동화상을 배신하는 동화상 배신 시스템, 동화상 배신 방법 및 동화상 배신 프로그램
CN115086736A (zh) * 2018-05-08 2022-09-20 日本聚逸株式会社 动态图像分发系统及其方法和记录介质
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
EP3821323A4 (en) * 2018-07-10 2022-03-02 Microsoft Technology Licensing, LLC AUTOMATIC GENERATION OF MOVEMENTS 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
WO2021005878A1 (ja) * 2019-07-11 2021-01-14 ソニー株式会社 情報処理装置、情報処理方法および情報処理プログラム
WO2021034211A1 (ru) * 2019-08-16 2021-02-25 Станислав Игоревич АШМАНОВ Способ и система передачи движения субъекта из видео на анимированного персонажа
CN110531860B (zh) * 2019-09-02 2020-07-24 腾讯科技(深圳)有限公司 一种基于人工智能的动画形象驱动方法和装置
WO2022251671A1 (en) * 2021-05-27 2022-12-01 Ai Thinktank Llc 3d avatar generation and robotic limbs using biomechanical analysis
US11615648B2 (en) 2021-05-28 2023-03-28 Sportsbox.ai Inc. Practice drill-related features 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
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
JPH11508359A (ja) 1995-06-22 1999-07-21 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
US7224384B1 (en) 1999-09-08 2007-05-29 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
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
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
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
US20030132950A1 (en) 2001-11-27 2003-07-17 Fahri Surucu Detecting, classifying, and interpreting input events based on stimuli in multiple sensory domains
US20030021032A1 (en) 2001-06-22 2003-01-30 Cyrus Bamji Method and system to display a virtual input device
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
AU2001241500A1 (en) 2000-02-15 2001-08-27 Sorceron, Inc. 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
WO2003054683A2 (en) 2001-12-07 2003-07-03 Canesta Inc. User interface for electronic devices
US7340077B2 (en) 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
US20030169906A1 (en) 2002-02-26 2003-09-11 Gokturk Salih Burak 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
RU2344483C9 (ru) * 2002-09-30 2009-07-20 АйДжиТи Трехмерный текст в игровой машине
US9177387B2 (en) 2003-02-11 2015-11-03 Sony Computer Entertainment Inc. Method and apparatus for real time motion capture
WO2004107266A1 (en) 2003-05-29 2004-12-09 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
KR101183000B1 (ko) 2004-07-30 2012-09-18 익스트림 리얼리티 엘티디. 이미지 프로세싱을 기반으로 한 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 삼성전기주식회사 멀티 레이어 커패시터 내장형의 인쇄회로기판의 제조방법
JP4686595B2 (ja) 2005-03-17 2011-05-25 本田技研工業株式会社 クリティカルポイント解析に基づくポーズ推定
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
US20090221367A1 (en) * 2005-12-22 2009-09-03 Pkr Limited On-line gaming
JP4917615B2 (ja) 2006-02-27 2012-04-18 プライム センス リミティド スペックルの無相関を使用した距離マッピング(rangemapping)
US8766983B2 (en) 2006-05-07 2014-07-01 Sony Computer Entertainment Inc. Methods and systems for processing an interchange of real time effects during video communication
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
WO2008144843A1 (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
US9292092B2 (en) 2007-10-30 2016-03-22 Hewlett-Packard Development Company, L.P. Interactive display system with collaborative gesture detection
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 泰州市双宇电子有限公司 可重复使用电子元件

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160131380A (ko) * 2015-05-07 2016-11-16 한국과학기술원 이형 공간간의 인간형 객체 모션 리타게팅 방법 및 시스템
WO2021015582A1 (ko) * 2019-07-25 2021-01-28 삼성전자 주식회사 아바타를 제공하는 전자 장치 및 그의 동작 방법
KR102589194B1 (ko) 2023-02-07 2023-10-13 (주)로코모스튜디오 서로 다른 캐릭터 사이의 애니메이션 데이터를 호환 가능하게 연결하는 모션 커버 방법, 장치 및 시스템

Also Published As

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

Similar Documents

Publication Publication Date Title
US9861886B2 (en) Systems and methods for applying animations or motions to a character
JP5739872B2 (ja) モーションキャプチャにモデルトラッキングを適用するための方法及びシステム
US10048747B2 (en) Methods and systems for determining and tracking extremities of a target
US8660310B2 (en) Systems and methods for tracking a model
JP5639646B2 (ja) スケルトン・データーのゲーム・アバターへのリアル・タイム・リターゲティング
US8542252B2 (en) Target digitization, extraction, and tracking
US9182814B2 (en) Systems and methods for estimating a non-visible or occluded body part
RU2530708C2 (ru) Связывание анимаций
TWI545464B (zh) 人體追蹤系統

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant