KR20120020106A - 모션 캡처를 위하여 모델 추적을 적용하는 시스템 및 방법 - Google Patents

모션 캡처를 위하여 모델 추적을 적용하는 시스템 및 방법 Download PDF

Info

Publication number
KR20120020106A
KR20120020106A KR1020117025795A KR20117025795A KR20120020106A KR 20120020106 A KR20120020106 A KR 20120020106A KR 1020117025795 A KR1020117025795 A KR 1020117025795A KR 20117025795 A KR20117025795 A KR 20117025795A KR 20120020106 A KR20120020106 A KR 20120020106A
Authority
KR
South Korea
Prior art keywords
model
user
instructions
movement
motion capture
Prior art date
Application number
KR1020117025795A
Other languages
English (en)
Other versions
KR101625259B1 (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 KR20120020106A publication Critical patent/KR20120020106A/ko
Application granted granted Critical
Publication of KR101625259B1 publication Critical patent/KR101625259B1/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
    • 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/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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • 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
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/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/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • 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/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • 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
    • 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/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)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Generation (AREA)

Abstract

장치에 의해 장면의 깊이 이미지와 같은 이미지를 수신, 관찰 또는 캡처할 수 있고, 이미지에서 사용자 모델을 생성할 수 있다. 그 다음, 사용자에 의한 하나 이상의 움직임을 흉내개도록 모델을 조정할 수 있다. 예를 들면 모델은 물리적 공간에서 사용자의 움직임에 대응한 자세로 조정될 수 있는 관절 및 뼈를 가진 골격 모델일 수 있다. 조정된 모델을 기반으로 사용자 움직임의 모션 캡처 파일을 실시간으로 생성할 수 있다. 예를 들면 조정된 모델의 각 자세에 대한 관절 및 뼈를 정의하는 벡터 집합을 모션 캡처 파일에 캡처 및 렌더링할 수 있다.

Description

모션 캡처를 위하여 모델 추적을 적용하는 시스템 및 방법{SYSTEMS AND METHODS FOR APPLYING MODEL TRACKING TO MOTION CAPTURE}
컴퓨터 게임, 멀티미디어 애플리케이션 등과 같은 많은 컴퓨팅 애플리케이션은 전형적인 모션 캡처(motion capture) 기법을 사용하여 애니메이션(animation)화된 아바타(avatars) 또는 캐릭터를 포함한다. 예를 들면 골프 게임을 개발시에, 예를 들어 스튜디오에서 특정 지점을 향하는 다수의 카메라를 포함한 모션 캡처 설비를 가진 스튜디오로 프로 골퍼를 데려갈 수 있다. 그리고는, 프로 골퍼는 카메라가 예를 들어, 카메라가 프로 골퍼의 골프 움직임을 캡처할 수 있도록 카메라와 함께 설정될 수 있으며 카메라를 통해 추적가능한 다수의 표식(point indicators)을 가진 모션 캡처 슈트(motion capture suit)를 갖춰 입을 수 있다. 그러면, 골프 게임이 전개되는 동안에, 모션이 아바타 또는 캐릭터로 적용될 수 있다. 골프 게임이 완료시에, 아바타 또는 캐릭터는 골프 게임의 실행 동안에 프로 골퍼의 모션을 가지고 애니메이션화될 수 있다. 불행히도, 전형적인 모션 캡처 기술은 비용이 많이 들고, 특정 애플리케이션의 개발에 한정되어 있으며(tied to), 애플리케이션의 실제 플레이어(player) 또는 사용자와 관련된 모션을 포함하지 않는다.
장면(scene)에 사용자의 모션을 캡처하기 위한 시스템 및 방법을 여기에 개시한다. 예를 들면 장면의 깊이와 같은 이미지를 수신 또는 관찰할 수 있다. 그 후에, 깊이 이미지(depth image)를 분석하여 이미지가 사용자와 관련된 인간 표적(human target)을 포함하는 지의 여부를 결정한다. 이미지가 사용자와 관련된 인간 표적을 포함한다면, 사용자 모델을 생성할 수 있다. 그러면, 사용자의 움직임에 응답하여 모델을 추적할 수 있어, 사용자의 움직임을 흉내내도록 모델을 조정할 수 있다. 예를 들면 모델은 물리적 공간에서 사용자의 움직임에 대응한 자세(pose)로 조정될 수 있는 관절(joints)과 뼈(bones)를 가진 골격 모델(skeletal model)일 수 있다. 그 다음, 실시예에 따라서 추적 모델을 기반으로 한 실시간으로 사용자 움직임의 모션 캡처 파일을 생성할 수 있다. 예를 들어, 조정된 모델의 각 자세에 대한 관절과 뼈를 정의하는 벡터 집합을 캡처하고 모션 캡처 파일로 렌더링(rendering)할 수 있다.
이 요약은 상세한 설명에서 더 후술되는 개념 선택을 간단한 형태로 소개하기 위해 제공된다. 이 요약은 청구 대상의 주요 특징 또는 핵심적 특징을 확인하려는 것이 아니며, 또한 청구 대상의 범주를 제한하는데 사용하려는 것도 아니다. 또한 청구 대상은 본 개시물의 임의의 부분에 기록된 임의의 또는 모든 단점을 해결하는 구현으로 제한되지 않는다.
도 1a 및 도 1b는 게임을 하고 있는 사용자와 함께 표적 인식, 분석 및 추적 시스템의 실시예를 도시하는 도면.
도 2는 표적 인식, 분석 및 추적 시스템에 사용가능한 캡처 장치의 실시예를 도시하는 도면.
도 3은 표적 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하고, 그리고/또는 표적 인식, 분석 및 추적 시스템에 의해 디스플레이되는 아바타 또는 온스크린 캐릭터를 애니메이션화하는 데 사용할 수 있는 컴퓨팅 환경의 실시예를 도시하는 도면.
도 4는 표적 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하고, 그리고/또는 표적 인식, 분석 및 추적 시스템에 의해 디스플레이되는 아바타 또는 온스크린 캐릭터를 애니메이션화하는데 사용할 수 있는 컴퓨팅 환경의 다른 실시예를 도시하는 도면.
도 5는 인간 표적의 모션을 캡처하기 위한 방법 예를 도시하는 흐름도.
도 6은 인간 표적을 포함할 수 있는 이미지의 실시예를 도시하는 도면.
도 7은 인간 표적을 위해 생성할 수 있는 모델의 실시예를 도시하는 도면.
도 8a 내지 도 8c는 다양한 시점에 캡처될 수 있는 모델의 실시예를 도시하는 도면.
도 9a 내지 도 9c는 다양한 시점에서 캡처될 수 있는 모델을 기반으로 애니메이션화될 수 있는 아바타 또는 게임 캐릭터의 실시예를 도시하는 도면.
여기에 기술하는 바와 같이, 사용자는 게임 콘솔, 컴퓨터등과 같은 컴퓨팅 환경에서 실행되는 애플리케이션을 제어할 수 있고, 그리고/또는 하나 이상의 제스처(gestures) 및/또는 움직임을 수행함으로써 아바타(avatar) 또는 온스크린 캐릭터(on-screen character)를 애니메이션화할 수 있다. 일 실시예에 따라서, 예를 들어 캡처 장치가 제스처 및/또는 움직임을 수신할 수 있다. 예를 들면 캡처 장치는 장면의 깊이 이미지를 캡처할 수 있다. 일 실시예에서, 캡처 장치는 장면의 하나 이상의 표적 또는 물체(objects)가 사용자와 같은 인간 표적에 대응하는 지의 여부를 결정할 수 있다. 그러면, 관련된 골격 모델, 메시(mesh) 인간 모델 등과 같은 모델을 생성하기 위해 매칭하는 각 표적 또는 물체를 스캐닝(scanning)할 수 있다. 그 후에, 컴퓨팅 환경은 모델을 추적하고, 추적한 모델의 모션 캡처 파일을 생성하고, 모델과 관련된 아바타를 렌더링(rendering)하고, 추적한 모델의 모션 캡처 파일을 기반으로 아바타를 애니메이션화하고, 그리고/또는 예를 들어 추적한 모델을 기반으로 컴퓨터 환경에서 실행되는 애플리케이션에서 수행을 제어하는 것을 결정할 수 있다.
도 1a와 도 1b는 복싱 게임을 하는 사용자(18)와 함께 표적 인식, 분석 및 추적 시스템(10)의 구성을 도시하는 실시예를 도시한다. 실시예에서, 표적 인식, 분석 및 추적 시스템(10)은 사용자(18)와 같은 인간 표적을 인식, 분석 및/또는 추적하는데 사용될 수 있다.
도 1a에 도시된 바와 같이, 표적 인식, 분석 및 추적 시스템(10)은 컴퓨팅 환경(12)을 포함할 수 있다. 컴퓨팅 환경(12)은 컴퓨터, 게임 시스템 또는 콘솔 등일 수 있다. 실시예에 따라서, 게임 애플리케이션, 비게임 애플리케이션 등과 같은 애플리케이션을 실행하는데 컴퓨팅 환경(12)을 사용할 수 있도록, 컴퓨팅 환경(12)은 하드웨어 구성요소 및/또는 소프트웨어 구성요소를 포함할 수 있다. 일 실시예에서, 컴퓨팅 환경(12)은 예를 들어 이미지 수신, 이미지에 캡처된 사용자 모델 생성, 모델 추적, 추적한 모델을 기반으로 모션 캡처 파일 생성, 모션 캡처 파일 적용을 위한 인스트럭션, 또는 임의의 다른 적당한 인스트럭션을 포함한 인스트럭션을 실행할 수 있는 표준 프로세서, 전문 프로세서, 마이크로프로세서 등과 같은 프로세서를 포함할 수 있으며, 이는 보다 상세히 후술될 것이다.
도 1a에 도시된 바와 같이, 표적 인식, 분석 및 추적 시스템(10)은 캡처 장치(20)를 더 포함할 수 있다. 예를 들어, 캡처 장치(20)는 한 명 이상의 사용자에 의해 수행된 제스처 및/또는 움직임을 캡처, 분석 및 추적하여, 애플리케이션내 하나 이상의 제어 또는 액션을 수행하고, 그리고/또는 아바타 또는 온스크린 캐릭터를 애니메이션화할 수 있도록 사용자(18)와 같은 한 명 이상의 사용자를 시각적으로 모니터링하는데 사용될 수 있는 카메라일 수 있으며, 이는 보다 상세히 후술될 것이다.
일 실시예에 따라서, 표적 인식, 분석 및 추적 시스템(10)은 사용자(18)와 같은 사용자에게 게임 또는 애플리케이션 비쥬얼(visual) 및/또는 오디오를 제공할 수 있는 텔레비젼, 모니터, HDTV(high-definition television) 등과 같은 시청각 장치(audiovisual device)(16)로 연결될 수 있다. 예를 들면 컴퓨팅 환경(12)은 게임 애플리케이션, 비게임 애플리케이션 등과 관련된 시청각 신호를 제공할 수 있는, 그래픽 카드와 같은 비디오 어댑터 및/또는 사운드 카드와 같은 오디오 어댑터를 포함할 수 있다. 시청각 장치(16)는 컴퓨팅 환경(12)으로부터 시청각 신호를 수신할 수 있고, 그 후에 시청각 신호와 관련된 게임 또는 애플리케이션 비쥬얼 및/또는 오디오를 사용자(18)에게로 출력할 수 있다. 일 실시예에 따라서, 시청각 장치(16)는 예를 들면 S-비디오 캐이블, 동축 캐이블, HDMI 캐이블, DVI 캐이블, VGA 캐이블 등을 통해 컴퓨팅 환경(12)으로 연결될 수 있다.
도 1a 및 도 1b에 도시된 바와 같이, 표적 인식, 분석 및 추적 시스템(10)은 사용자(18)와 같은 인간 표적을 인식, 분석 및/또는 추적하는데 사용될 수 있다. 예를 들면 사용자(18)의 제스처 및/또는 움직임을 아바타 또는 온스크린 캐릭터로 애니메이션화하기 위해 캡처할 수 있고, 그리고/또는 컴퓨터 환경(12)에 의해 실행중인 애플리케이션에 영향을 주는데 사용될 수 있는 제어(controls)로서 해석할 수 있도록, 캡처 장치(20)를 사용하여 사용자(18)를 추적할 수 있다. 따라서 일 실시예에 따라서, 사용자(18)는 애플리케이션을 제어하고, 그리고/또는 아바타 또는 온스크린 캐릭터를 애니메이션화하기 위해 그 또는 그녀의 몸을 움직일 수 있다.
도 1a 및 도 1b에 도시된 바와 같은 실시예에서, 컴퓨팅 환경(12)에서 실행중인 애플리케이션은 사용자(18)가 하고 있을 수 있는 복싱 게임일 수 있다. 예를 들어 컴퓨팅 환경(12)은 사용자(18)에게 복싱 상대자(38)의 시각적 표현을 제공하기 위하여 시청각 장치(16)를 사용할 수 있다. 또한 컴퓨팅 환경(12)은 사용자(18)가 그 또는 그녀의 움직임으로써 제어할 수 있는 플레이어 아바타(40)의 시각적 표현을 제공하기 위해 시청각 장치(16)를 사용할 수 있다. 예를 들어 도 1b에 도시된 바와 같이, 플레이어 아바타(40)가 게임 공간에서 펀치(punch)를 휘두르도록, 사용자(18)가 물리적 공간에서 펀치를 휘두를 수 있다. 따라서 실시예에 따라서, 펀치를 게임 공간에서 플레이어 아바타(40)의 게임 제어로서 해석할 수 있고, 그리고/또는 펀치의 모션을 게임 공간에서 플레이어 아바타(40)를 애니메이션화하는 사용할 수 있도록, 표적 인식, 분석 및 추적 시스템(10)의 캡처 장치(20)와 컴퓨터 환경(12)을 사용하여 물리적 공간에서 사용자(18)의 펀치를 인식 및 분석할 수 있다.
또한 사용자(18)에 의한 다른 움직임은 다른 제어 또는 액션으로 해석될 수 있고, 그리고/또는 보빙(bob), 위빙(weave), 셔플(shuffle), 블락(block), 잽(jab) 또는 다른 다양한 파워 펀치를 날리기 위한 제어와 같이 플레이어 아바타를 애니메이션화하는데 사용될 수 있다. 게다가, 일부 움직임은 플레이어 아바타(40)를 제어하기 보다는 액션에 대응할 수 있는 제어로서 해석될 수 있다. 예를 들면 플레이어는 게임을 종료, 일시 정지 또는 저장하고, 레벨을 선택하고, 고득점을 조사하고, 친구와 통신하는 등을 위해 움직임을 사용할 수 있다. 추가적으로, 사용자(18)의 전체 모션 범위는 애플리케이션과 상호작용하는 임의의 적당한 방식으로 이용될 수 있으며, 사용되고 분석된다.
실시예에서, 사용자(18)와 같은 인간 표적은 물체(object)를 가질 수 있다. 이러한 실시예에서 전자 게임의 사용자는 플레이어와 물체의 모션을 사용하여 게임의 매개변수를 조정 및/또는 제어할 수 있도록 물체를 유지할 수 있다. 예를 들어 라켓(racket)을 잡고 있는 플레이어의 모션을 추적하여 전자 스포츠 게임에서 온스크린 라켓을 제어하는데 이용할 수 있다. 다른 실시예에서, 물체를 잡고 있는 플레이어의 움직임을 추적하여 전자 전투 게임에서 온스크린 무기를 제어하는데 이용할 수 있다.
또 다른 실시예에 따라서, 표적 인식, 분석 및 추적 시스템(10)은 게임 영역의 외부에 있는 운영체제 및/또는 애플리케이션 제어로서 표적 움직임을 해석하는데 더 사용될 수 있다. 예를 들어 운영체제 및/또는 애플리케이션의 사실상 임의의 제어가능한 부분이 사용자(18)와 같은 표적의 움직임에 의해 제어될 수 있다.
도 2는 표적 인식, 분석 및 추적 시스템(10)에 사용될 수 있는 캡처 장치(20)의 실시예를 도시한다. 실시예에 따라서, 캡처 장치(20)는 예를 들어 TOF(time-of-flight), 구조광(structured light), 입체 이미지(stereo image) 등을 포함한 임의의 적당한 기법을 통해 깊이 값을 포함할 수 있는 깊이 이미지를 구비한 깊이 정보와 함께 비디오를 캡처하도록 구성될 수 있다. 일 실시예에 따라서, 캡처 장치(20)는 깊이 정보를 "Z 층(Z layers)", 또는 그의 시선을 따라 깊이 카메라(depth camera)로부터 연장되는 Z 축에 수직할 수 있는 층으로 구성할 수 있다.
도 2에 도시된 바와 같이, 캡처 장치(20)는 이미지 카메라 구성요소(22)를 포함할 수 있다. 실시예에 따라서, 이미지 카메라 구성요소(22)는 장면의 깊이 이미지를 캡처할 수 있는 깊이 카메라일 수 있다. 깊이 이미지는 카메라로부터 캡처한 장면에서 물체의, 예를 들어 센티미터, 밀리미터 등의 길이 또는 거리와 같은 깊이 값을 나타낼 수 있다.
도 2에 도시된 바와 같이 실시예에 따라서, 이미지 카메라 구성요소(22)는 장면의 깊이 이미지를 캡처하는데 사용될 수 있는 IR 광 구성요소(24), 3D(three-dimensional) 카메라(26) 및 RGB 카메라(28)를 포함할 수 있다. 예를 들어 TOF 분석에서, 캡처 장치(20)의 IR 광 구성요소(24)는 장면속으로 적외선을 방출하여 예를 들어 3D 카메라(26) 및/또는 RGB 카메라(28)를 사용한 장면에서 하나 이상의 표적 및 물체의 표면으로부터 후방 산란된 광을 검출하기 위해 (도시되지 않은) 센서를 사용할 수 있다. 소정 실시예에서, 펄스(pulsed) 적외선을 사용하여, 출사광 펄스(outgoing light pulse)와 대응한 입력광 펄스 간의 시간을 측정할 수 있고, 캡처 장치(20)로부터의 장면의 표적 또는 물체상의 특정 위치까지의 물리적 거리를 결정하는데 사용할 수 있다. 또한 다른 실시예에서, 출사 광파의 위상(phase)은 위상 시프트를 결정하기 위해 입력 광파의 위상과 비교될 수 있다. 그 후에, 위상 시프트는 캡처 장치로부터 표적 또는 물체상의 특정 위치까지의 물리적 거리를 결정하는데 사용될 수 있다.
또 다른 실시예에 따라서, TOF 분석은 예를 들어 셔터링된(shuttered) 광펄스 이미징을 포함한 다양한 기법을 통해 시간에 걸쳐 광의 반사빔 강도를 분석함으로써 캡처 장치(20)로부터 표적 또는 물체상의 특정 위치까지의 물리적 거리를 간접적으로 결정하는데 사용될 수 있다.
또 다른 실시예에서, 캡처 장치(20)는 깊이 정보를 캡처하기 위해 구조광을 사용할 수 있다. 이러한 분석에서, 예를 들어 IR 광 구성요소(24)를 통해, 패턴화된 광(즉 격자 패턴 또는 줄무늬 패턴과 같은 알려진 패턴으로 디스플레이된 광)을 장면에 투사할 수 있다. 장면에서 하나 이상의 표적 또는 물체의 표면을 칠 시에, 패턴이 응답하여 변형될 수 있다. 이러한 패턴 변형은 예를 들어 3D 카메라(26) 및/또는 RGB 카메라(28)에 의해 캡처될 수 있고, 그 후에 캡처 장치로부터 표적 또는 물체상의 특정 위치까지의 물리적 거리를 결정하기 위해 분석될 수 있다.
또 다른 실시예에 따라서, 캡처 장치(20)는 깊이 정보를 생성하기 위해 분석가능한 시각적 입체 데이터를 얻기 위하여 다른 각도로 장면을 볼 수 있는 물리적으로 분리된 둘 이상의 카메라를 포함할 수 있다.
캡처 장치(20)는 마이크로폰(microphone)(30)을 더 포함할 수 있다. 마이크로폰(30)은 사운드(sound)를 수신하여 전기신호로 변환할 수 있는 트랜스듀서 또는 센서를 포함할 수 있다. 일 실시예에 따라서, 마이크로폰(30)은 표적 인식, 분석 및 추적 시스템(10)에서 캡처 장치(20)와 컴퓨팅 환경(12) 간의 피드백을 감소시키는데 사용될 수 있다. 게다가, 마이크로폰(30)은 컴퓨팅 환경(12)에 의해 실행될 수 있는 게임 애플리케이션, 비게임 애플리케이션 등과 같은 애플리케이션을 제어하기 위해 사용자에 의해 또한 제공될 수 있는 오디오 신호를 수신하는데 사용될 수 있다.
실시예에서, 캡처 장치(20)는 이미지 카메라 구성요소(22)와 동작가능하게 통신할 수 있는 프로세서(32)를 더 포함할 수 있다. 프로세서(32)는 예를 들어 이미지 수신, 이미지에 캡처된 사용자 모델 생성, 모델 추적, 추적한 모델을 기반으로 모션 캡처 생성, 모션 캡처 파일 적용을 위한 인스트럭션, 또는 임의의 다른 적당한 인스트럭션을 포함한 인스트럭션을 실행할 수 있는 표준 프로세서, 전문 프로세서, 마이크로프로세서 등을 포함할 수 있는데, 이는 보다 상세히 후술될 것이다.
캡처 장치(20)는 프로세서(32)에 의해 실행될 수 있는 인스트럭션, 3D 카메라 또는 RGB 카메라에 의해 캡처된 이미지 또는 이미지 프레임, 또는 임의의 적당한 정보를 저장할 수 있는 메모리 구성요소(34)를 더 포함할 수 있다. 실시예에 따라서, 메모리 구성요소(34)는 RAM(random access memory), ROM(read only memory), 캐시, 플래시 메모리, 하드 디스크 또는 임의의 다른 적당한 저장 구성요소를 포함할 수 있다. 도 2에 도시된 바와 같이 일 실시예에서, 메모리 구성요소(34)는 이미지 캡처 구성요소(22) 및 프로세서(32)와 통신하는 독립된 구성요소일 수 있다. 다른 실시예에 따라서, 메모리 구성요소(34)는 프로세서(32) 및/또는 이미지 캡처 구성요소(22)로 통합될 수 있다.
도 2에 도시된 바와 같이, 캡처 장치(20)는 통신 회선(36)을 통해 컴퓨팅 환경(12)과 통신할 수 있다. 통신 회선(36)은 예를 들어 USB 연결부, 파이어와이어(Firewire) 연결부, 이더넷 캐이블 연결부 등을 포함한 유선 연결부, 그리고/또는 무선 802.11b,g, a, n 연결부와 같은 무선 연결부일 수 있다. 일 실시예에 따라서, 컴퓨팅 환경(12)은 예를 들어 통신 회선(36)을 통해 장면을 캡처할 때를 결정하는데 사용될 수 있는 클록을 캡처 장치(20)로 제공할 수 있다.
게다가, 캡처 장치(20)는 예를 들어 3D 카메라(26) 및/또는 RGB 카메라(28)에 의해 캡처된 이미지 및 깊이 정보, 그리고/또는 캡처 장치(20)에 의해 생성될 수 있는 골격 모델을 통신 회선(36)을 통해 컴퓨팅 환경(12)으로 제공할 수 있다. 그러면, 컴퓨팅 환경(12)은 예를 들어 게임 또는 워드 프로세서와 같은 애플리케이션을 제어하고, 그리고/또는 아바타 또는 온스크린 캐릭터를 애니메이션화하기 위하여, 모델, 깊이 정보 및 캡처한 이미지를 사용할 수 있다. 예를 들어 도 2에 도시된 바와 같이, 컴퓨팅 환경(12)은 제스처 라이브러리(gesture library)(190)를 포함할 수 있다. 제스처 라이브러리(190)는 제스처 필터 집합을 포함할 수 있고, 각 제스처 필터는 (사용자가 움직임에 따라) 골격 모델에 의해 수행될 수 있는 제스처에 관한 정보를 포함한다. 골격 모델 및 이와 관련된 움직임의 형태로 카메라(26, 28) 및 캡처 장치(20)에 의해 캡처된 데이터는 (골격 모델에 의해 표현되는) 사용자가 하나 이상의 제스처를 수행하였을 때를 식별하기 위해 제스처 라이브러리(190)의 제스처 필터와 비교될 수 있다. 이들 제스처는 애플리케이션의 다양한 제어와 관련될 수 있다. 따라서 컴퓨팅 환경(12)은 골격 모델의 움직임을 해석하고 움직임을 기반으로 애플리케이션을 제어하기 위하여 제스처 라이브러리(190)를 사용할 수 있다.
도 3은 표적 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하고, 그리고/또는 표적 인식, 분석 및 추적 시스템에 의해 디스플레이되는 아바타 또는 온스크린 캐릭터를 애니메이션화하는데 사용될 수 있는 컴퓨팅 환경의 실시예를 도시한다. 도 1a 내지 도 2와 관련하여 전술한 컴퓨팅 환경(12)과 같은 컴퓨팅 환경은 게임 콘솔(gaming console)과 같은 멀티미디어 콘솔(100)일 수 있다. 도 3에 도시된 바와 같이, 멀티미디어 콘솔(100)은 레벨 1 캐시(102), 레벨 2 캐시(104) 및 플래시 ROM(Read Only Memory)(106)를 가진 CPU(central processing unit)(101)를 구비한다. 레벨 1 캐시(102)와 레벨 2 캐시(104)는 임시로 데이터를 저장하고 메모리 액세스 사이클의 수를 감소시킴으로써, 처리 속도 및 처리량을 개선시킨다. 둘 이상의 코어(core), 따라서 추가적인 레벨 1 및 레벨 2 캐시(102, 104)를 가진 CPU(101)를 제공할 수 있다. 플래시 ROM(106)은 멀티미디어 콘솔(100)이 파워온일 때에 초기 부팅 처리(boot process) 단계 동안에 로딩되는 실행가능한 코드를 저장할 수 있다.
GPU(graphics processing unit)(108)와 비디오 인코더/비디오 코덱(coder/decoder)(114)는 고속 및 고해상도 그래픽 처리를 위해 비디오 처리 파이프라인을 형성한다. 데이터는 버스를 통해 그래픽 처리 유닛(108)로부터 비디오 인코더/비디오 코덱(114)으로 운송된다. 비디오 처리 파이프라인은 텔레비젼 또는 다른 디스플레이로의 전송을 위해 A/V(audio/video) 포트(140)로 데이터를 출력한다. 메모리 제어기(110)는 RAM(Random Access Memory)과 같은, 그러나 이로 제한되지 않는 다양한 유형의 메모리(112)에 대한 프로세서 액세스를 용이하게 하기 위하여 GPU(108)로 연결된다.
멀티미디어 콘솔(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 드라이브, 분리식 매체 등)을 위한 호스트(hosts)로서의 기능을 한다. 네트워크 인터페이스(124) 및/또는 무선 어댑터(148)는 네트워크(예를 들면 인터넷, 홈 네트워크 등)에 대한 액세스를 제공하고, 그리고 이더넷 카드, 모뎀, 블루투스 모듈, 캐이블 모뎀 등을 포함한 폭넓게 다양한 유선 또는 무선 어댑터 구성요소 중의 임의의 구성요소일 수 있다.
시스템 메모리(143)는 부팅(booting) 처리 동안에 로딩되는 애플리케이션 데이터를 저장하기 위해 제공된다. 매체 드라이브(144)가 제공되며, DVD/CD 드라이브, 하드 드라이브 또는 다른 분리식 매체 드라이버 등을 구비할 수 있다. 매체 드라이브(144)는 멀티미디어 콘솔(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)뿐만 아니라 임의의 LED(light emitting diodes), 또는 멀티미디어 콘솔(100)의 외부면에 노출된 다른 표시기의 기능을 지원한다. 시스템 전원 모듈(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)이 파워온일 때, 하드웨어 자원 집합량은 멀티미디어 콘솔 운영체제에 의해 시스템 사용을 위해 예약된다. 이들 자원은 메모리(예를 들면 16MB), CPU 및 GPU 사이클(예를 들면 5%), 네트워킹 대역폭(예를 들면 8kbs) 등의 예약을 포함할 수 있다. 이들 자원은 시스템 부팅 시간에 예약되므로, 예약된 자원은 애플리케이션 뷰에 존재하지 않는다.
특히, 메모리 예약은 바람직하게는 론치 커널(launch kernel), 동시 시스템 애플리케이션 및 드라이브를 포함할 수 있도록 충분히 크다. CPU 예약은 바람직하게는 일정하므로, 예약된 CPU 사용을 시스템 애플리케이션이 사용되지 않는다면, 유휴 스레드(idle thread)는 사용되지 않은 임의의 사이클을 소비할 것이다.
GPU 예약의 경우, 시스템 애플리케이션에 의해 생성된 경량 메시지(lightweight messages)(예를 들면 팝업(popups))는 팝업을 오버레이로 렌더링하기 위하여 코드를 스케줄링하도록 GPU 인터럽트를 사용해 디스플레이된다. 오버레이에 필요한 메모리량은 오버레이 영역 크기에 의존하고, 오버레이는 바람직하게는 스크린 해상도와 함께 크기조정된다. 동시 시스템 애플리케이션이 풀 사용자 인터페이스를 사용할 시에, 애플리케이션 해상도에 독립적인 해상도를 사용하는 것이 바람직하다. 스케일러(scaler)는 주파수 변경과 TV 재동기가 필요없도록 이 해상도를 설정하는데 사용될 수 있다.
멀티미디어 콘솔(100)이 부팅되고, 시스템 자원이 예약된 후에, 동시 시스템 애플리케이션은 시스템 기능을 제공하기 위해 실행된다. 시스템 기능은 전술한 예약 시스템 자원내에서 실행되는 시스템 애플리케이션 집합에 압축된다. 운영체제 커널은 시스템 애플리케이션 스레드(system application threads) 대 게임 애플리케이션 스레드인 스레드를 식별한다. 시스템 애플리케이션은 바림직하게는, 애플리케이션으로 일정한 시스템 자원 뷰를 제공하기 위하여 사전결정된 횟수 및 간격으로 CPU(101)상에서 실행되도록 스케줄링된다. 스케줄링은 콘솔상에서 실행되는 게임 애플리케이션에 대한 캐시 중단을 최소화하기 위한 것이다.
동시 시스템 애플리케이션이 오디오를 요구할 때, 오디오 처리는 시간 감도(time sencitivity)에 따라 게임 애플리케이션에 비동기로 스케줄링된다. (후술되는) 멀티미디어 콘솔 애플리케이션 관리자는 시스템 애플리케이션이 활성일 때에 게임 애플리케이션 오디오 레벨(예를 들면 무음, 감소)을 제어한다.
입력 장치(예를 들면 제어기 142(1)과 142(2))는 게임 애플리케이션과 시스템 애플리케이션에 의해 공유된다. 입력 장치는 예약된 자원이 아니고, 각각이 장치의 포커스(focus)를 가질 시스템 애플리케이션과 게임 애플리케이션 간에 전환된다. 애플리케이션 관리자는 바람직하게는, 게임 애플리케이션의 지식을 알지 못하고 입력 스트림의 전환을 제어하고, 드라이버는 포커스 스위치에 관한 상태 정보를 유지관리한다. 카메라(26, 28)와 캡처 장치(20)는 콘솔(100)을 위한 추가 입력 장치를 정의할 수 있다.
도 4는 표적 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하고, 그리고/또는 표적 인식, 분석 및 추적 시스템에 의해 디스플레이되는 아바타 또는 온스크린 캐릭터를 애니케이션화하는데 사용되는 도 1a 내지 도 2에 도시된 컴퓨팅 환경(12)일 수 있는 컴퓨팅 환경(220)의 다른 실시예를 도시한다. 컴퓨팅 시스템 환경(220)은 적당한 컴퓨팅 환경의 단지 일 예이며, 현재 개시된 주제의 기능성 또는 사용의 범주에 관한 임의의 제한을 하려는 것이 아니다. 컴퓨팅 환경(220)이 예시적인 동작 환경(220)에 도시된 임의의 한 구성요소 또는 이의 결합에 관해 임의의 종속성 또는 요건을 가지는 것으로 해석되어서는 안된다. 소정 실시예에서, 도시된 다양한 컴퓨팅 요소는 개시물의 특정 부분을 예시하기 위해 구성된 회로를 포함할 수 있다. 예를 들면 개시물에 사용된 용어 "회로"는 펌웨어 또는 스위치에 의한 기능(들)을 수행하기 위해 구성된 전문 하드웨어 구성요소를 포함할 수 있다. 다른 실시예에서, 용어 "회로"는 기능(들)을 수행하기 위해 동작가능한 논리부를 구현하는 소프트웨어 인스트럭션에 의해 구성된 범용 처리 유닛, 메모리 등을 포함할 수 있다. 회로가 하드웨어와 소프트웨어 결합을 포함하는 실시예에서, 구현자는 논리부를 구현하는 소스 코드를 기록할 수 있고, 소스 코드는 범용 처리 유닛에 의해 처리될 수 있는 머신 판독가능 코드로 컴파일(compile)될 수 있다. 당해 분야에 통상의 지식을 가진 자는 하드웨어, 소프트웨어, 또는 하드웨어/소프트웨어 결합 간에 차이가 거의 없는 지점으로 발전했다는 것을 알 수 있으므로, 특정 기능을 발휘하기 위한 하드웨어 대 소프트웨어의 선택은 구현자에게 남겨진 설계상 선택사항이다. 특히, 당해 분야에 통상의 지식을 가진 자는 소프트웨어 프로세스가 등가의 하드웨어 구조로 변형될 수 있으며, 하드웨어 구조 그자체는 등가의 소프트웨어 프로세스로 변형될 수 있다는 것을 알 수 있다. 따라서 하드웨어 구현 대 소프트웨어 구현의 선택은 구현자에게 남겨진 하나의 설계상 선택사항이다.
도 4에서, 컴퓨팅 환경(220)은 전형적으로 다양한 컴퓨터 판독가능 매체를 포함하는 컴퓨터(241)를 구비한다. 컴퓨터 판독가능 매체는 컴퓨터(241)에 의해 액세스될 수 있는 임의의 사용가능 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리식 및 비분리식 매체를 포함한다. 시스템 메모리(222)는 ROM(223)과 RAM(260)과 같은 휘발성 및/또는 비휘발성 메모리의 형태인 컴퓨터 저장 매체를 포함한다. 시동과 같은 기간에 컴퓨터(241)내 요소들 간에 정보 전송을 돕는 기본 루틴을 포함한 BIOS(basic input/output system)(224)는 전형적으로 ROM(223)에 저장된다. RAM(260)은 전형적으로, 처리 유닛(259)을 바로 액세스가능하고, 그리고/또는 이에 의해 현재 동작되는 데이터 및/또는 프로그램 모듈을 포함한다. 제한이 아닌 예를 들면, 도 4는 운영체제(225), 애플리케이션 프로그램(226), 다른 프로그램 모듈(227) 및 프로그램 데이터(228)를 도시한다.
또한 컴퓨터(241)는 다른 분리식/비분리식, 휘발성/비휘발성 컴퓨터 저장매체를 포함할 수 있다. 단지 예를 들면, 도 4는 비분리식 비휘발성 자기 매체로부터/로 판독 또는 기록하는 하드 디스크 드라이브(238), 분리식 비휘발성 자기 디스크(254)로부터/로 판독 또는 기록하는 자기 디스크 드라이브(239), CD ROM 또는 광학 매체와 같은 분리식 비휘발성 광 디스크(253)로부터/로 판독 또는 기록하는 광 디스크 드라이브(240)를 도시한다. 예시적인 동작 환경에 사용될 수 있는 다른 분리식/비분식, 휘발성/비휘발성 컴퓨터 저장매체는 자기 테잎 카세트, 플래시 메모리 카드, DVD(digital versatile disks), 디지털 비디오 테잎, 고체상태 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)와 같은 하나 이상의 원격 컴퓨터로의 논리적 연결부를 사용하는 네트워크 환경에서 동작할 수 있다. 도 4에 메모리 저장 장치(247)만을 도시하였지만, 원격 컴퓨터(246)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치(peer device) 또는 다른 공통 네트워크 노드일 수 있고, 전형적으로 컴퓨터(241)에 대하여 전술한 모든 또는 다수의 요소를 포함한다. 도 2에 도시된 논리적 구성요소는 LAN(local area network)(245)과 WAN(wide area network)(249)을 포함하지만, 또한 다른 네트워크를 포함할 수 있다. 이러한 네트워킹 환경은 사무실, 전사적(enterprise-wide) 컴퓨터 네트워크, 인트라넷(intranets) 및 인터넷에서 흔하다.
LAN 네트워크 환경에 사용시에, 컴퓨터(241)는 네트워크 인터페이스 또는 어댑터(237)를 통해 LAN(245)으로 연결된다. WAN 네트워크 환경에 사용시에, 컴퓨터(241)는 전형적으로, 인터넷과 같이 WAN(249)을 통해 통신을 설정하기 위한 모뎀(250) 또는 다른 수단을 포함한다. 내부 또는 외부적일 수 있는 모뎀(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)와 같은 캡처 장치를 포함할 수 있다. 캡처 장치는 하나 이상의 표적을 포함할 수 있는 장면을 캡처 또는 관찰할 수 있다. 실시예에서, 캡처 장치는 TOF 분석, 구조광 분석, 입체 시각 분석 등과 같은 임의의 적당한 기법을 사용하여 장면의 RGB 이미지, 깊이 정보 등과 같은 이미지를 얻기 위하여 구성된 깊이 카메라일 수 있다.
예를 들면 일 실시예에서, 이미지는 깊이 이미지를 포함할 수 있다. 깊이 이미지는 각 관찰된 픽셀이 관찰된 깊이 값을 가지는 다수의 관찰 픽셀일 수 있다. 예를 들면 깊이 이미지는 캡처 장면의 2D 픽셀 영역을 포함할 수 있고, 여기서 2D 픽셀 영역의 각 픽셀은 캡처 장치로부터 캡처된 장면에서 물체의, 예를 들어 센티미터, 밀리미터 등의 길이 또는 거리와 같은 깊이 값을 나타낼 수 있는 캡처 장면의 2차원(2D) 픽셀 영역을 포함할 수 있다.
도 6은 단계(305)에서 수신할 수 있는 깊이 이미지(400)의 실시예를 도시한다. 실시예에 따라서, 깊이 이미지(400)는 예를 들어 도 2와 관련하여 전술한 캡처 장치(20)의 3D 카메라(26) 및/또는 RGB 카메라(28)에 의해 캡처된 장면의 이미지 또는 프레임일 수 있다. 도 6에 도시된 바와 같이, 깊이 이미지(400)는 예를 들어 도 1a 및 도 1b와 관련하여 전술한 사용자(18)와 같은 사용자에 대응한 인간 표적(402), 그리고 캡처된 장면에서 벽, 테이블, 모니터 등과 같은 하나 이상의 인간이 아닌 표적(404)을 포함할 수 있다. 전술한 바와 같이, 깊이 이미지(400)는 다수의 관찰 픽셀을 포함할 수 있는데, 여기서 각 관찰된 픽셀은 그와 관련된 관찰 깊이 값을 가진다. 예를 들면 깊이 이미지(400)는 캡처된 장면의 2D 픽셀 영역을 포함할 수 있는데, 여기서 2D 픽셀 영역의 각 픽셀은 캡처 장치로부터의 캡처 장면에서 표적 또는 물체의, 예를 들어 센티미터, 밀리미터 등의 길이 또는 거리와 같은 깊이 값을 나타낼 수 있다. 일 실시예에서, 깊이 이미지의 픽셀의 상이한 색상은 캡처 장치로부터의 인간 표적(402)과 비인간 표적(404)의 상이한 거리에 대응하고, 및/또는 이를 시각적으로 도시하도록 깊이 이미지(400)를 컬러링할 수 있다. 예를 들어 일 실시예에 따라서, 캡처 장치에 가장 근접한 표적과 관련된 픽셀은 깊이 이미지에서 레드 및/또는 오렌지 셰이드(shades)로써 컬러링할 수 있고, 반면에 더 멀리 있는 표적과 관련된 픽셀은 깊이 이미지에서 그린 및/또는 블루 셰이드로써 컬러링할 수 있다.
도 5를 다시 참조하면 일 실시예에서, 단계(305)에서 이미지를 수신시에, 깊이 이미지를 보다 쉽게 사용할 수 있고, 그리고/또는 보다 적은 컴퓨팅 오버헤드로써 보다 신속하게 처리할 수 있도록, 이미지를 보다 낮은 처리 해상도로 다운샘플링할 수 있다. 게다가, 하나 이상의 고 변동 및/또는 노이지 깊이 값을 깊이 이미지로부터 제거 및/또는 평활화(smoothing)할 수 있고, 손실 및/또는 제거된 깊이 정보 부분은 채워지고, 및/또는 재구성될 수 있고, 그리고/또는 깊이 정보가 골격 모델과 같은 모델을 생성하는데 사용될 수 있도록 수신한 깊이 정보상에 임의의 다른 적당한 처리를 수행할 수 있는데, 이는 보다 상세히 후술될 것이다.
단계(310)에서, 이미지에서 사용자 모델을 생성할 수 있다. 예를 들면 이미지를 수신시에, 표적 인식, 분석 및 추적 시스템은 깊이 이미지가 깊이 이미지에서 각 표적 또는 물체를 플러드 필링(flood fill)하고, 플러드 필링된 각 표적 또는 물체를, 다양한 위치 또는 자세에서 인간의 바디 모델과 관련된 패턴과 비교함으로써, 예를 들어 도 1a 및 도 1b와 관련하여 전술한 사용자(18)와 같은 사용자에 대응한 인간 표적을 포함하는 지의 여부를 결정할 수 있다. 패턴과 매칭하는 플러드 필링된 표적 또는 물체는 예를 들어 다양한 바디 부분의 측정치를 포함한 값을 결정하기 위해 분리 및 스캐닝될 수 있다. 그 후에 실시예에 따라서, 스캔을 기반으로 골격 모델, 메시 모델 등과 같은 모델을 생성할 수 있다. 예를 들면 일 실시예에 따라서, 스캔에 의해 결정될 수 있는 측정치는 모델에서 하나 이상의 관절을 정의하는데 사용될 수 있는 하나 이상의 데이터 구조에 저장될 수 있다. 하나 이상의 관절은 인간의 바디 부분에 대응할 수 있는 하나 이상의 뼈를 정의하는데 사용될 수 있다.
도 7은 단계(310)에서 인간 표적에 대해 생성될 수 있는 모델(500)의 실시예를 도시한다. 실시예에 따라서, 모델(500)은 예를 들어 3차원 모델과 같이 도 6과 관련하여 전술한 인간 표적(402)을 나타낼 수 있는 하나 이상의 데이터 구조를 포함할 수 있다. 각 바디 부분은 모델(500)의 관절과 뼈를 정의하는 수학적 벡터로서 특징지어질 수 있다.
도 7에 도시된 바와 같이, 모델(500)은 하나 이상의 관절(j1-j18)을 포함할 수 있다. 실시예에 따라서, 관절(j1-j18)의 각각은 그들 사이에 정의된 하나 이상의 바디 부분이 하나 이상의 다른 바디 부분에 관하여 움직일 수 있도록 할 수 있다. 예를 들어 인간 표적을 나타내는 모델은 인접한 뼈들의 교차부분에 위치한 관절(j1-j18)과 함께 "뼈"와 같은 하나 이상의 구조적 멤버에 의해 정의될 수 있는 다수의 단단한(rigid) 및/또는 변형가능한 바디 부분을 포함할 수 있다. 관절(j1-j18)은 뼈 및 관절(j2-j18)과 관련된 다양한 바디 부분이 서로 독립적으로 움직일 수 있도록 해줄 수 있다. 예를 들어 도 7에 도시된 관절(j7-j11) 사이에 정의된 뼈는 예를 들어 종아리에 대응할 수 있는 관절(j15, j17) 사이에 정의된 뼈에 대해 독립적으로 움직일 수 있는 팔뚝에 대응할 수 있다.
전술한 바와 같이, 각 바디 부분은 도 7에 도시된 관절과 뼈를 정의하는 X 값, Y 값 및 Z 값을 가진 수학적 벡터로서 특징지어질 수 있다. 실시예에서, 도 7에 도시된 뼈와 관련된 벡터의 교차부분은 관절(j1-j18)과 관련된 각 지점을 정의할 수 있다.
도 5를 다시 참조하면, 단계(315)에서, 모델을 사용자의 움직임을 기반으로 조정할 수 있도록, 모델을 추적할 수 있다. 일 실시예에 따라서, 도 7과 관련하여 전술한 모델(500)과 같은 모델은 도 1a 및 도 1b와 관련하여 전술한 사용자(18)와 같은 사용자의 표현일 수 있다. 표적 인식, 분석 및 추적 시스템은 모델을 조정하는데 사용될 수 있는 사용자(18)와 같은 사용자로부터의 움직임을 관찰 또는 캡처할 수 있다.
예를 들면 도 1a 내지 도 2와 관련하여 전술한 캡처 장치(20)와 같은 캡처 장치는 모델을 조정하는데 사용될 수 있는 장면의 깊이 이미지, RGB 이미지 등과 같은 다수 이미지를 관찰 또는 캡처할 수 있다. 일 실시예에 따라서, 각 이미지는 정의된 횟수를 기반으로 관찰 또는 캡처될 수 있다. 예를 들면 캡처 장치는 밀리초, 마이크로초 등 마다 장면의 새 이미지를 관찰 또는 캡처할 수 있다.
각 이미지를 수신시에, 사용자에 의한 움직임이 수행되었는지의 여부를 결정하기 위해 특정 이미지와 관련된 정보를 모델과 관련된 정보와 비교할 수 있다. 예를 들어 일 실시예에서, 모델은 합성된 깊이 이미지와 같은 합성 이미지로 래스터화(rasterize)될 수 있다. 합성 이미지에서 픽셀은 수신 이미지의 인간 표적이 움직였는지의 여부를 결정하기 위해 각 수신 이미지에서 인간 표적과 관련된 픽셀과 비교될 수 있다.
실시예에 따라서, 하나 이상의 힘 벡터(force vectors)는 합성 이미지와 수신 이미지 사이에 비교되는 픽셀을 기반으로 계산될 수 있다. 그 다음, 물리적 공간에서 인간 표적 또는 사용자의 자세에 보다 근접하게 대응하는 자세로 모델을 조정하기 위해, 모델을 모델의 관절과 같은 하나 이상의 힘을 받는(force-receiving) 부분으로 하나 이상의 힘을 적용 또는 매핑할 수 있다.
다른 실시예에 따라서, 모델은 사용자의 움직임을 기반으로 모델을 조정하기 위해 수신 이미지의 각각에서 인간 표적의 마스크 또는 표현내에 맞도록 조정될 수 있다. 예를 들면 각 관찰 이미지를 수신시에, 뼈와 관절의 각각을 정의할 수 있는 X, Y, Z 값을 포함한 벡터는 각 수신 이미지에서 인간 표적의 마스크를 기반으로 조정될 수 있다. 예를 들어 모델은 각 수신 이미지에서 인간의 마스크의 픽셀과 관련된 X 및 Y 값을 기반으로 X 방향 및/또는 Y 방향으로 움직일 수 있다. 게다가, 모델의 관절과 뼈는 각 수신 이미지에서 인간 표적의 마스크의 픽셀과 관련된 깊이 값을 기반으로 Z 방향으로 회전될 수 있다.
도 8a 내지 도 8c는 도 1a 및 도 1b와 관련하여 전술한 사용자(18)와 같은 사용자에 의한 움직임 또는 제스처를 기반으로 조정되는 모델의 실시예를 도시한다. 도 8a 내지 도 8c에 도시된 바와 같이, 도 7과 관련하여 전술한 모델(500)은 전술한 바와 같이 다양한 시점(points in time)에 수신된 깊이 이미지에 관찰 및 캡처된 다양한 지점에서 사용자의 움직임 또는 제스처를 기반으로 조정될 수 있다. 예를 들어 도 8a에 도시된 바와 같이, 사용자가 전술한 바와 같은 다양한 시점에 수신한 이미지에서 인간 표적에 대한 마스크와 들어맞도록 모델을 조정하거나 또는 하나 이상의 힘 벡터를 적용함으로써 그 또는 그녀의 팔을 올릴 때, 모델(500)의 관절(j4, j8, j12)과 그들 사이에 정의된 뼈는 자세(502)를 표현하도록 조정될 수 있다. 사용자가 그 또는 그녀의 왼쪽 팔뚝을 움직여 흔들 때, 관절(j8, j12)과 그들 사이에 정의된 뼈는 도 8b 내지 도 8c에 도시된 바와 같이 자세(504, 506)로 더 조정될 수 있다. 따라서 실시예에 따라서, 팔뚝과, 그들 사이의 이두근과 관련된 관절(j4, j8, j12) 및 뼈를 정의하는 수학적 벡터는 전술한 바와 같이 마스크내에 모델을 맞추거나 또는 힘 벡터를 적용함으로써 자세(502, 504, 506)에 대응하도록 조정가능한 X 값, Y 값 및 Z 값을 가진 벡터를 포함할 수 있다.
도 5를 다시 참조하면, 단계(320)에서, 추적 모델의 모션 캡처 파일을 생성할 수 있다. 예를 들면 표적 인식, 분석 및 추적 시스템은 도 1a 및 도 1b와 관련하여 전술한 사용자(18)와 같은 사용자에 특정적인 위빙(weaving) 모션, 골프 스윙과 같은 스윙(swing) 모션, 펀치(punching) 모션, 걷기 모션, 달리기 모션 등과 같은 하나 이상의 모션을 포함할 수 있는 모션 캡처 파일을 렌더링 및 저장할 수 있다. 일 실시예에 따라서, 추적 모델과 관련된 정보를 기반으로 실시간으로 모션 캡처 파일을 생성할 수 있다. 예를 들면 일 실시예에서, 모션 캡처 파일은 예를 들어 다양한 시점에서 추적한 대로 모델의 관절 및 뼈를 정의할 수 있는 X, Y 및 Z 값을 포함한 벡터를 포함할 수 있다.
일 실시예에서, 모션 캡처 파일에 캡처할 수 있는 다양한 모션을 수행하도록 사용자에게 촉구할 수 있다. 예를 들면 걷거나 또는 골프 스윙 모션을 수행하도록 사용자에게 촉구할 수 있는 인터페이스를 디스플레이할 수 있다. 전술한 바와 같이, 추적중인 모델은 그 후에 다양한 시점에서 이들 모션을 기반으로 조정될 수 있고, 촉구된 모션에 대한 모션의 모션 캡처 파일을 생성 및 저장할 수 있다.
다른 실시예에서, 모션 캡처 파일은 표적 인식, 분석 및 추적 시스템과 상호작용하는 사용자에 의한 자연스런 움직임 동안에 추적 모델을 캡처할 수 있다. 예를 들면 모션 캡처 파일이 표적 인식, 분석 및 추적 시스템과의 상호작용하는 동안에 사용자에 의한 임의의 움직임 또는 모션을 자연스럽게 캡처할 수 있도록, 모션 캡처 파일을 생성할 수 있다.
일 실시예에 따라서, 모션 캡처 파일은 예를 들어 상이한 시점에서 사용자의 모션 스냅샷에 대응한 프레임을 포함할 수 있다. 추적 모델을 캡처시에, 특정 시점에서 그에 적용되는 임의의 움직임 또는 조정을 포함한 모델과 관련된 정보가 모션 캡처 파일의 프레임에 렌더링될 수 있다. 프레임의 정보는 예를 들어 사용자가 추적 모델의 자세에 대응한 움직임을 수행한 시점을 나타낼 수 있는 타임 스탬프(time stamp)와 추적 모델의 관절과 뼈를 정의할 수 있는 X, Y, Z 값을 포함한 벡터를 포함할 수 있다.
예를 들면 도 8a 내지 도 8c와 관련하여 전술한 바와 같이, 모델(500)을 추적하고, 특정 시점에서 그 또는 그녀의 왼손을 흔드는 사용자를 나타낼 수 있는 자세(502, 504, 506)를 형성하도록 조정할 수 있다. 자세(502, 504, 506)의 각각에 대한 모델(500)의 관절과 뼈와 관련된 정보는 모션 캡처 파일에 캡처될 수 있다.
예를 들어 도 8a에 도시된 모델(500)의 자세(502)는 사용자가 그 또는 그녀의 왼팔을 올릴 때인 시점에 대응할 수 있다. 자세(502)에 대한 관절 및 뼈의 X, Y, Z 값과 같은 정보를 포함한 자세(502)는 예를 들어 사용자가 그 또는 그녀의 왼팔을 올린 후인 시점과 관련된 제 1 타임 스탬프를 가진 모션 캡처 파일의 제 1 프레임에 렌더링될 수 있다.
유사하게, 도 8b 및 도 8c에 도시된 모델(500)의 자세(504, 506)는 사용자가 그 또는 그녀의 왼손을 흔드는 시점에 대응할 수 있다. 자세(504, 506)에 대한 관절과 뼈의 X, Y, Z 값과 같은 정보를 포함한 자세(504, 506)는 예를 들어 그 또는 그녀의 왼손을 흔드는 사용자의 상이한 시점과 관련된 각 제 2 및 제 3 타임 스탬프를 가진 모션 캡처 파일의 각 제 2 및 제 3 프레임에 렌더링될 수 있다.
실시예에 따라서, 자세(502, 504, 506)와 관련된 제 1, 제 2 및 제 3 프레임은 제 1, 제 2, 제 3 타임 스탬프의 각각에서 순차적 시간 순서로 모션 캡처 파일에서 렌더링될 수 있다. 예를 들어 자세(502)에 대해 렌더링된 제 1 프레임은 사용자가 그 또는 그녀의 왼팔을 올릴 때 0초의 제 1 타임 스탬프를 가질 수 있고, 자세(504)에 대해 렌더링된 제 2 프레임은 사용자가 위빙 모션을 시작하기 위해 바깥 방향으로 그 또는 그녀의 왼손을 움직인 후에 1초인 제 2 타임 스탬프를 가질 수 있고, 자세(506)에 대해 렌더링된 제 3 프레임은 사용자가 위빙 모션을 끝내기 위해 안쪽 방향으로 그 또는 그녀의 왼손을 움직일 때 2초의 제 3 타임 스탬프를 가질 수 있다.
단계(325)에서, 모션 캡처 파일을 아바타 또는 게임 캐릭터로 적용할 수 있다. 예를 들면 표적 인식, 분석 및 추적 시스템은 도 1a 및 도 1b와 관련하여 기술된 사용자(18)와 같은 사용자에 의해 수행되는 모션을 흉내내기 위하여 아바타 또는 게임 캐릭터를 애니메이션화할 수 있도록, 모션 캡처 파일에 캡처된 추적 모델의 하나 이상의 모션을 아바타 또는 게임 캐릭터로 적용할 수 있다. 실시예에서, 모션 캡처 파일에 캡처된 모델에서 관절과 뼈는 게임 캐릭터 또는 아바타의 특정 부분으로 매핑될 수 있다. 예를 들면 우측 팔꿈치와 관련된 관절은 아바타 또는 게임 캐릭터의 우측 팔꿈치로 매핑될 수 있다. 그러면, 우측 팔꿈치는 모션 캡처 파일의 각 프레임에서 사용자의 모델과 관련된 우측 팔꿈치 모션을 흉내내도록 애니메이션화될 수 있다.
실시예에 따라서, 표적 인식, 분석 및 추적 시스템은 모션이 모션 캡처 파일에 캡처되므로 하나 이상의 모션을 적용할 수 있다. 따라서 모션 캡처 파일에 프레임을 렌더링할 때, 아바타 또는 게임 캐릭터가 프레임에 캡처된 모션을 바로 흉내내도록 애니메이션화할 수 있도록, 프레임에 캡처된 모션을 아바타 또는 게임 캐릭터에 적용할 수 있다.
다른 실시예에서, 표적 인식, 분석 및 추적 시스템은 모션 캡처 파일에 모션을 캡처한 후에 하나 이상의 모션을 적용할 수 있다. 예를 들면 걷기 모션과 같은 모션은 사용자에 의해 수행되고, 모션 캡처 파일에 캡처 및 저장될 수 있다. 그 후에, 걷기 모션과 같은 모션은 예를 들어 사용자가 사용자의 걷기 모션과 같은 모션과 관련된 제어로서 인식된 제스처를 후속하여 수행할 때마다 아바타 또는 게임 캐릭터로, 걷기 모션과 같은 모션을 적용할 수 있다. 예를 들면 사용자가 그 또는 그녀의 왼쪽 다리를 들어 올릴 때, 아바타를 걷게 하는 커맨드를 개시할 수 있다. 그러면, 아바타는 걷기를 시작할 수 있고, 사용자와 관련된 걷기 모션을 기반으로 애니메이션화될 수 있고, 모션 캡처 파일에 저장될 수 있다.
도 9a 내지 도 9c는 예를 들어 단계(325)에서 모션 캡처 파일을 기반으로 애니메이션화될 수 있는 아바타 또는 게임 캐릭터(600)의 실시예를 도시한다. 도 9a 내지 도 9c에 도시된 바와 같이, 아바타 또는 게임 캐릭터(600)는 도 8a 내지 도 8c와 관련하여 전술한 추적 모델(500)에 대해 캡처한 위빙 모션을 흉내내도록 애니메이션화될 수 있다. 예를 들면 도 8a 내지 도 8c에 도시된 모델(500)의 관절(j4, j8, j12)과 그들 사이에 정의된 뼈는 도 9a 내지 도 9c에 도시된 바와 같은 아바타 또는 게임 캐릭터(600)의 왼쪽 어깨 관절(j4'), 왼쪽 팔꿈치 관절(j8'), 왼쪽 손목 관절(j12'), 그리고 대응한 뼈로 매핑될 수 있다. 그러면, 아바타 또는 게임 캐릭터(600)는 모션 캡처 파일에서 각 제 1, 제 2 및 제 3 타임 스탬프에서 도 8a 내지 도 8c에 도시된 모델의 자세(502, 504, 506)를 흉내내는 자세(602, 604, 606)로 애니메이션화될 수 있다.
따라서 실시예에서, 온스크린 캐릭터의 시각적 외형은 모션 캡처 파일에 응답하여 변경될 수 있다. 예를 들면 게임 콘솔 상에서 전자 게임을 하는, 도 1a 및 도 1b와 관련하여 전술한 사용자(18)와 같은 게임 플레이어를, 여기에 기술한 바와 같은 게임 콘솔에 의해 추적할 수 있다. 게임 플레이어가 팔을 흔듬에 따라, 게임 콘솔은 이 모션을 추적하고, 추적한 모션에 응답하여, 이에 따라 사용자와 관련된 골격 모델 또는 메시 모델 등과 같은 모델을 조정할 수 있다. 전술한 바와 같이, 추적 모델을 모션 캡처 파일에 더 캡처할 수 있다. 그 후에, 모션 캡처 파일을 온스크린 캐릭터로 적용할 수 있어, 온스크린 캐릭터는 그들의 팔을 스윙하는 사용자의 실제 모션을 흉내내도록 애니메이션화될 수 있다. 실시예에 따라서, 온스크린 캐릭터는 예를 들어 그 또는 그녀의 팔을 흔드는 사용자와 정확히 동일하게 게임에서 골프 클럽, 배트를 휘두르거나, 또는 펀치를 휘두르도록 애니메이션화될 수 있다.
여기에 기술된 구성 및/또는 접근방안은 사실상 예시적이며, 이들 특정 실시예 또는 예는 제한하려는 것으로 간주되어서는 안된다. 여기에 기술된 특정 루틴 또는 방법은 임의의 수의 처리 전략중의 하나 이상을 나타낼 수 있다. 따라서, 도시된 다양한 액트는 도시된 순서로, 다른 순서로, 병렬 등으로 수행될 수 있다. 이와 같이, 전술한 처리의 순서는 변경될 수 있다.
본 개시물의 주제는 여기에 개시된 다양한 프로세서, 시스템 및 구성, 그리고 다른 특징, 기능, 액트 및/또는 속성의 모든 신규 및 비자명한 결합 및 서브결합뿐만 아니라 이의 모든 및 임의의 등가물을 포함한다.

Claims (15)

  1. 장면(scene)에서 사용자의 모션(motions)을 캡처(capture)하기 위한 장치(20)에 있어서,
    상기 장면의 이미지(400)를 수신하는 카메라 구성요소(22), 및
    컴퓨터 실행가능 인스트럭션을 실행하는 프로세서(32)
    를 포함하고,
    상기 컴퓨터 실행가능 인스트럭션은
    상기 카메라 구성요소(22)로부터 상기 장면의 이미지(400)를 수신하기 위한 인스트럭션,
    상기 이미지에서 상기 사용자와 관련된 모델(500)을 생성하기 위한 인스트럭션,
    상기 사용자에 의한 움직임에 응답하여 상기 모델(500)을 추적(tracking)하기 위한 인스트럭션, 및
    상기 추적한 모델(500)을 기반으로 실시간으로 상기 사용자의 움직임에 대한 모션 캡처 파일(motion capture file)을 생성하기 위한 인스트럭션
    을 포함하는 장치.
  2. 제 1 항에 있어서,
    상기 사용자에 의한 움직임은 물리적 공간에서 상기 사용자와 관련된 하나 이상의 몸체(body) 부분의 하나 이상의 모션을 포함하는 장치.
  3. 제 1 항에 있어서,
    상기 추적한 모델(500)을 기반으로 실시간으로 상기 사용자의 움직임에 대하여 상기 모션 캡처 파일을 생성하기 위한 상기 인스트럭션은,
    상기 사용자에 의한 움직임에 응답하여 상기 추적한 모델(500)의 제 1 자세(502, 504, 506)를 캡처하기 위한 인스트럭션, 및
    상기 추적한 모델(500)의 상기 제 1 자세(502, 504, 506)를 포함하는 상기 모션 캡처 파일에서 제 1 타임 스탬프(time stamp)에 제 1 프레임을 렌더링(rendering)하기 위한 인스트럭션
    을 포함하는 장치.
  4. 제 3 항에 있어서,
    상기 추적한 모델(500)을 기반으로 실시간으로 상기 사용자의 움직임에 대하여 상기 모션 캡처 파일을 생성하기 위한 상기 인스트럭션은,
    상기 사용자에 의한 움직임에 응답하여 상기 추적한 모델(500)의 제 2 자세(502, 504, 506)를 캡처하기 위한 인스트럭션, 및
    상기 추적한 모델(500)의 제 2 자세(502, 504, 506)를 포함한 상기 모션 캡처 파일에서 제 2 타임 스탬프에 제 2 프레임을 렌더링하기 위한 인스트럭션
    을 포함하는 장치.
  5. 제 4 항에 있어서,
    상기 제 1 프레임과 상기 제 2 프레임은 상기 제 1 타임 스탬프와 상기 제 2 타임 스탬프에 대응한 순차적 시간 순서로 상기 모션 캡처 파일에서 렌더링되는 장치.
  6. 제 5 항에 있어서,
    상기 모델(500)은 관절과 뼈를 가진 골격 모델(skeletal model)을 포함하는 장치.
  7. 제 6 항에 있어서,
    상기 제 1 프레임은 상기 제 1 자세(502, 504, 506)에서 관절 및 뼈를 정의하는 제 1 벡터 집합을 포함하고, 상기 제 2 프레임은 상기 제 2 자세(502, 504, 506)에서 관절 및 뼈를 정의하는 제 2 벡터 집합을 포함하는 장치.
  8. 장면에서 사용자의 모션을 캡처하기 위한 컴퓨터 실행가능 인스트럭션을 저장하고 있는 컴퓨터 판독가능 저장매체(34, 110, 143, 222)에 있어서, 상기 컴퓨터 실행가능 인스트럭션은,
    상기 장면의 이미지(400)를 수신하기 위한 인스트럭션과,
    상기 이미지(400)에서 상기 사용자의 모델(500)을 생성하기 위한 인스트럭션과,
    상기 사용자에 의한 움직임을 흉내내기 위해 상기 모델(500)을 조정하기 위한 인스트럭션, 및
    상기 조정된 모델(500)을 기반으로 상기 사용자의 움직임의 모션 캡처 파일을 생성하기 위한 인스트럭션
    을 포함하는
    컴퓨터 판독가능 저장매체.
  9. 제 8 항에 있어서,
    상기 사용자에 의한 움직임은 물리적 공간에서 상기 사용자와 관련된 하나 이상의 몸체 부분의 하나 이상의 모션을 포함하는 컴퓨터 판독가능 저장매체.
  10. 제 8 항에 있어서,
    상기 조정된 모델을 기반으로 상기 사용자 움직임의 상기 모션 캡처 파일을 생성하기 위한 상기 인스트럭션은,
    상기 조정된 모델(500)의 자세(502, 504, 506)를 캡처하기 위한 인스트럭션, 및
    상기 조정된 모델(500)의 자세(502, 504, 506)를 포함한 상기 모션 캡처 파일에서 프레임을 렌더링하기 위한 인스트럭션
    을 더 포함하는 컴퓨터 판독가능 저장매체.
  11. 제 10 항에 있어서,
    상기 모델(500)은 관절과 뼈를 가진 골격 모델을 포함하고, 상기 프레임은 상기 자세(502, 504, 506)에서 상기 관절과 뼈를 정의하는 벡터 집합을 포함하는 컴퓨터 판독가능 저장매체.
  12. 제 11 항에 있어서,
    상기 모델(500)의 상기 관절 및 뼈를 아바타(600)의 특정 부분으로 매핑(mapping)하기 위한 인스트럭션, 및
    상기 조정된 모델(500)에서 상기 관절 및 뼈의 모션을 흉내내기 위하여 상기 아바타(600)의 특정 부분을 애니메이션(animation)화하기 위한 인스트럭션
    을 더 포함하는 컴퓨터 판독가능 저장매체.
  13. 사용자의 모델(500)을 렌더링하기 위한 시스템(10)에 있어서,
    장면의 깊이 이미지(depth image)(400)를 수신하는 카메라 구성요소(22)를 구비한 캡처 장치(20), 및
    프로세서(101, 259)를 구비하며, 상기 캡처 장치(20)와 동작하도록 통신하는 컴퓨팅 장치(12)
    를 포함하고,
    상기 프로세서(101, 259)는 상기 깊이 이미지(400)에서 상기 사용자의 모델(500)을 생성하고, 상기 사용자의 움직임에 응답하여 상기 모델(500)을 추적하고, 상기 사용자의 움직임을 상기 추적 모델(500)로 적용하고, 그리고 상기 추적한 모델(500)을 기반으로 실시간으로 상기 사용자의 움직임의 모션 캡처 파일을 생성하는 시스템.
  14. 제 13 항에 있어서,
    상기 프로세서(101, 259)는 상기 모델(500)의 관절 및 뼈를 아바타(600)의 특정 부분으로 매핑(mapping)하고, 상기 추적한 모델(500)의 관절 및 뼈로 적용되는 상기 사용자의 움직임을 흉내내도록 상기 아바타(600)의 특정 부분을 애니메이션화함으로써 상기 모션 캡처 파일을 상기 아바타(600)에 적용하는 시스템.
  15. 제 13 항에 있어서,
    상기 컴퓨팅 장치는 저장된 제스처 라이브러리(gestures library)(190)를 더 포함하고, 그리고 상기 프로세서(101, 259)는 상기 모션 캡처 파일을 상기 아바타(600)로 적용할 것인지의 여부를 결정하기 위하여 상기 추적 모델(500)로 적용되는 하나 이상의 움직임을 상기 제스처 라이브러리(190)와 비교하는 시스템.
KR1020117025795A 2009-05-01 2010-04-26 모션 캡처를 위하여 모델 추적을 적용하는 시스템 및 방법 KR101625259B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US17495009P 2009-05-01 2009-05-01
US61/174,950 2009-05-01
US12/485,730 US20100277470A1 (en) 2009-05-01 2009-06-16 Systems And Methods For Applying Model Tracking To Motion Capture
US12/485,730 2009-06-16
PCT/US2010/032366 WO2010126816A2 (en) 2009-05-01 2010-04-26 Systems and methods for applying model tracking to motion capture

Publications (2)

Publication Number Publication Date
KR20120020106A true KR20120020106A (ko) 2012-03-07
KR101625259B1 KR101625259B1 (ko) 2016-05-27

Family

ID=43030045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117025795A KR101625259B1 (ko) 2009-05-01 2010-04-26 모션 캡처를 위하여 모델 추적을 적용하는 시스템 및 방법

Country Status (10)

Country Link
US (2) US20100277470A1 (ko)
EP (1) EP2424631A4 (ko)
JP (1) JP5739872B2 (ko)
KR (1) KR101625259B1 (ko)
CN (1) CN102413885B (ko)
BR (1) BRPI1015282A2 (ko)
CA (1) CA2757173C (ko)
IL (1) IL215294A (ko)
RU (1) RU2580450C2 (ko)
WO (1) WO2010126816A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160113666A (ko) * 2014-01-24 2016-09-30 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 오디오 탐색 지원
KR20190065859A (ko) * 2017-12-04 2019-06-12 한국전자통신연구원 인체 자세 및 행동 모니터링 장치 및 방법
KR102212035B1 (ko) * 2020-05-27 2021-02-04 (주)프렌즈몬 제스처 인식 기반 원격 교육서비스 시스템 및 방법
US11226675B2 (en) 2017-11-22 2022-01-18 Samsung Electronics Co., Ltd. Apparatus and method for adaptively configuring user interface

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8294767B2 (en) * 2009-01-30 2012-10-23 Microsoft Corporation Body scan
US8202161B2 (en) * 2009-10-23 2012-06-19 Disney Enterprises, Inc. Virtual game instructor
TWI439960B (zh) 2010-04-07 2014-06-01 Apple Inc 虛擬使用者編輯環境
KR20120080072A (ko) * 2011-01-06 2012-07-16 삼성전자주식회사 모션에 의해 제어되는 디스플레이 장치 및 그 모션 제어 방법
KR101858531B1 (ko) 2011-01-06 2018-05-17 삼성전자주식회사 모션에 의해 제어되는 디스플레이 장치 및 그 모션 제어 방법
KR101795574B1 (ko) 2011-01-06 2017-11-13 삼성전자주식회사 모션에 의해 제어되는 전자기기 및 그 제어 방법
KR101758058B1 (ko) 2011-01-20 2017-07-17 삼성전자주식회사 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템
US8740702B2 (en) * 2011-05-31 2014-06-03 Microsoft Corporation Action trigger gesturing
US9594430B2 (en) * 2011-06-01 2017-03-14 Microsoft Technology Licensing, Llc Three-dimensional foreground selection for vision system
JP6074170B2 (ja) * 2011-06-23 2017-02-01 インテル・コーポレーション 近距離動作のトラッキングのシステムおよび方法
KR101695638B1 (ko) * 2011-07-18 2017-01-13 한국전자통신연구원 인터렉티브 컨텐츠의 제어 방법 및 이를 이용한 사용자 인터페이스 장치
US20130093751A1 (en) * 2011-10-12 2013-04-18 Microsoft Corporation Gesture bank to improve skeletal tracking
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
KR20140116740A (ko) * 2013-03-25 2014-10-06 삼성전자주식회사 안무 영상을 표시하는 디스플레이 장치 및 표시 방법
US9348411B2 (en) 2013-05-24 2016-05-24 Microsoft Technology Licensing, Llc Object display with visual verisimilitude
US9649558B2 (en) * 2014-03-14 2017-05-16 Sony Interactive Entertainment Inc. Gaming device with rotatably placed cameras
US10083233B2 (en) * 2014-09-09 2018-09-25 Microsoft Technology Licensing, Llc Video processing for motor task analysis
US10110881B2 (en) 2014-10-30 2018-10-23 Microsoft Technology Licensing, Llc Model fitting from raw time-of-flight images
US10048765B2 (en) * 2015-09-25 2018-08-14 Apple Inc. Multi media computing or entertainment system for responding to user presence and activity
JP6569452B2 (ja) 2015-10-08 2019-09-04 富士通株式会社 画像生成システム、画像生成プログラム及び画像生成方法
US11006856B2 (en) * 2016-05-17 2021-05-18 Harshavardhana Narayana Kikkeri Method and program product for multi-joint tracking combining embedded sensors and an external sensor
US10009536B2 (en) 2016-06-12 2018-06-26 Apple Inc. Applying a simulated optical effect based on data received from multiple camera sensors
CN109564428B (zh) * 2016-07-29 2022-05-31 日本电气方案创新株式会社 移动物体操作系统、操作信号发送系统、移动物体操作方法、程序和记录介质
JP6744033B2 (ja) 2016-07-29 2020-08-19 Necソリューションイノベータ株式会社 移動体操縦システム、操縦シグナル送信システム、移動体操縦方法、プログラム、および記録媒体
KR20210013323A (ko) 2016-09-23 2021-02-03 애플 인크. 아바타 생성 및 편집
EP3324365A1 (en) * 2016-11-22 2018-05-23 Dassault Systèmes Computer-implemented method for simulating a body taking a posture, in particular to look at a target
US20180225858A1 (en) * 2017-02-03 2018-08-09 Sony Corporation Apparatus and method to generate realistic rigged three dimensional (3d) model animation for view-point transform
JP6827875B2 (ja) * 2017-04-19 2021-02-10 株式会社日立製作所 姿勢推定システム、距離画像カメラ、及び姿勢推定装置
DK180859B1 (en) 2017-06-04 2022-05-23 Apple Inc USER INTERFACE CAMERA EFFECTS
DE102017216000A1 (de) * 2017-09-11 2019-03-14 Conti Temic Microelectronic Gmbh Gestensteuerung zur Kommunikation mit einem autonomen Fahrzeug auf Basis einer einfachen 2D Kamera
DK201870374A1 (en) 2018-05-07 2019-12-04 Apple Inc. AVATAR CREATION USER INTERFACE
US10375313B1 (en) 2018-05-07 2019-08-06 Apple Inc. Creative camera
US11722764B2 (en) 2018-05-07 2023-08-08 Apple Inc. Creative camera
DK201870623A1 (en) 2018-09-11 2020-04-15 Apple Inc. USER INTERFACES FOR SIMULATED DEPTH EFFECTS
US11770601B2 (en) 2019-05-06 2023-09-26 Apple Inc. User interfaces for capturing and managing visual media
US10645294B1 (en) 2019-05-06 2020-05-05 Apple Inc. User interfaces for capturing and managing visual media
US11321857B2 (en) 2018-09-28 2022-05-03 Apple Inc. Displaying and editing images with depth information
US11128792B2 (en) 2018-09-28 2021-09-21 Apple Inc. Capturing and displaying images with multiple focal planes
US11107261B2 (en) 2019-01-18 2021-08-31 Apple Inc. Virtual avatar animation based on facial feature movement
US10984575B2 (en) * 2019-02-06 2021-04-20 Snap Inc. Body pose estimation
JP6722316B1 (ja) * 2019-03-05 2020-07-15 株式会社コロプラ 配信プログラム、配信方法、コンピュータ、および視聴端末
US11706521B2 (en) 2019-05-06 2023-07-18 Apple Inc. User interfaces for capturing and managing visual media
CN110415321B (zh) * 2019-07-06 2023-07-25 深圳市山水原创动漫文化有限公司 一种动画动作处理方法及其系统
CN111290577B (zh) * 2020-01-22 2024-03-22 北京明略软件系统有限公司 一种非接触式输入方法及装置
US11645873B1 (en) * 2020-03-20 2023-05-09 18Birdies Llc Systems, media, and methods providing a golf swing coach
DK181103B1 (en) 2020-05-11 2022-12-15 Apple Inc User interfaces related to time
US11921998B2 (en) 2020-05-11 2024-03-05 Apple Inc. Editing features of an avatar
US11054973B1 (en) 2020-06-01 2021-07-06 Apple Inc. User interfaces for managing media
US11991469B2 (en) 2020-06-30 2024-05-21 Snap Inc. Skeletal tracking for real-time virtual effects
US11212449B1 (en) 2020-09-25 2021-12-28 Apple Inc. User interfaces for media capture and management
US11539876B2 (en) 2021-04-30 2022-12-27 Apple Inc. User interfaces for altering visual media
US11778339B2 (en) 2021-04-30 2023-10-03 Apple Inc. User interfaces for altering visual media
US11776190B2 (en) 2021-06-04 2023-10-03 Apple Inc. Techniques for managing an avatar on a lock screen
CN114359469B (zh) * 2022-01-07 2023-06-09 腾讯科技(深圳)有限公司 生成主控对象投影的方法、装置、设备及介质
KR102612512B1 (ko) * 2023-07-07 2023-12-11 주식회사 위시 모션 캡쳐 시스템에서의 모션 스킬 발현 장치 및 방법

Family Cites Families (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4288078A (en) * 1979-11-20 1981-09-08 Lugo Julio I Game apparatus
US4600919A (en) * 1982-08-03 1986-07-15 New York Institute Of Technology Three dimensional animation
US4695953A (en) * 1983-08-25 1987-09-22 Blair Preston E TV animation interactively controlled by the viewer
US4630910A (en) * 1984-02-16 1986-12-23 Robotic Vision Systems, Inc. Method of measuring in three-dimensions at high speed
US4627620A (en) * 1984-12-26 1986-12-09 Yang John P Electronic athlete trainer for improving skills in reflex, speed and accuracy
US4645458A (en) * 1985-04-15 1987-02-24 Harald Phillip Athletic evaluation and training apparatus
US4702475A (en) * 1985-08-16 1987-10-27 Innovating Training Products, Inc. Sports technique and reaction training system
US4843568A (en) * 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US4711543A (en) * 1986-04-14 1987-12-08 Blair Preston E TV animation interactively controlled by the viewer
US4796997A (en) * 1986-05-27 1989-01-10 Synthetic Vision Systems, Inc. Method and system for high-speed, 3-D imaging of an object at a vision station
US5184295A (en) * 1986-05-30 1993-02-02 Mann Ralph V System and method for teaching physical skills
US4751642A (en) * 1986-08-29 1988-06-14 Silva John M Interactive sports simulation system with physiological sensing and psychological conditioning
US4809065A (en) * 1986-12-01 1989-02-28 Kabushiki Kaisha Toshiba Interactive system and related method for displaying data to produce a three-dimensional image of an object
US4817950A (en) * 1987-05-08 1989-04-04 Goo Paul E Video game control unit and attitude sensor
US5239464A (en) * 1988-08-04 1993-08-24 Blair Preston E Interactive video system providing repeated switching of multiple tracks of actions sequences
US5239463A (en) * 1988-08-04 1993-08-24 Blair Preston E Method and apparatus for player interaction with animated characters and objects
US4901362A (en) * 1988-08-08 1990-02-13 Raytheon Company Method of recognizing patterns
US4893183A (en) * 1988-08-11 1990-01-09 Carnegie-Mellon University Robotic vision system
JPH02199526A (ja) * 1988-10-14 1990-08-07 David G Capper 制御インターフェース装置
US4925189A (en) * 1989-01-13 1990-05-15 Braeunig Thomas F Body-mounted video game exercise device
US5229756A (en) * 1989-02-07 1993-07-20 Yamaha Corporation Image control apparatus
US5469740A (en) * 1989-07-14 1995-11-28 Impulse Technology, Inc. Interactive video testing and training system
JPH03103822U (ko) * 1990-02-13 1991-10-29
US5101444A (en) * 1990-05-18 1992-03-31 Panacea, Inc. Method and apparatus for high speed object location
US5148154A (en) * 1990-12-04 1992-09-15 Sony Corporation Of America Multi-dimensional user interface
US5534917A (en) * 1991-05-09 1996-07-09 Very Vivid, Inc. Video image based control system
US5417210A (en) * 1992-05-27 1995-05-23 International Business Machines Corporation System and method for augmentation of endoscopic surgery
US5295491A (en) * 1991-09-26 1994-03-22 Sam Technology, Inc. Non-invasive human neurocognitive performance capability testing method and system
US5320538A (en) * 1992-09-23 1994-06-14 Hughes Training, Inc. Interactive aircraft training system and method
US5495576A (en) * 1993-01-11 1996-02-27 Ritchey; Kurtis J. Panoramic image based virtual reality/telepresence audio-visual system and method
US5690582A (en) * 1993-02-02 1997-11-25 Tectrix Fitness Equipment, Inc. Interactive exercise apparatus
US5405152A (en) * 1993-06-08 1995-04-11 The Walt Disney Company Method and apparatus for an interactive video game with physical feedback
US5454043A (en) * 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US5423554A (en) * 1993-09-24 1995-06-13 Metamedia Ventures, Inc. Virtual reality game method and apparatus
JP3419050B2 (ja) * 1993-11-19 2003-06-23 株式会社日立製作所 入力装置
US5347306A (en) * 1993-12-17 1994-09-13 Mitsubishi Electric Research Laboratories, Inc. Animated electronic meeting place
JP2552427B2 (ja) * 1993-12-28 1996-11-13 コナミ株式会社 テレビ遊戯システム
US5577981A (en) * 1994-01-19 1996-11-26 Jarvik; Robert Virtual reality exercise machine and computer controlled video system
US5580249A (en) * 1994-02-14 1996-12-03 Sarcos Group Apparatus for simulating mobility of a human
US5597309A (en) * 1994-03-28 1997-01-28 Riess; Thomas Method and apparatus for treatment of gait problems associated with parkinson's disease
US5385519A (en) * 1994-04-19 1995-01-31 Hsu; Chi-Hsueh Running machine
US5524637A (en) * 1994-06-29 1996-06-11 Erickson; Jon W. Interactive system for measuring physiological exertion
US5563988A (en) * 1994-08-01 1996-10-08 Massachusetts Institute Of Technology Method and system for facilitating wireless, full-body, real-time user interaction with a digitally represented visual environment
US5516105A (en) * 1994-10-06 1996-05-14 Exergame, Inc. Acceleration activated joystick
US5638300A (en) * 1994-12-05 1997-06-10 Johnson; Lee E. Golf swing analysis system
JPH08161292A (ja) * 1994-12-09 1996-06-21 Matsushita Electric Ind Co Ltd 混雑度検知方法およびそのシステム
US5594469A (en) * 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US5682229A (en) * 1995-04-14 1997-10-28 Schwartz Electro-Optics, Inc. Laser range camera
US5682196A (en) * 1995-06-22 1997-10-28 Actv, Inc. Three-dimensional (3D) video presentation system providing interactive 3D presentation with personalized audio responses for multiple viewers
AU6136096A (en) * 1995-06-22 1997-01-22 3Dv Systems Ltd. Telecentric 3d camera and method
IL114278A (en) * 1995-06-22 2010-06-16 Microsoft Internat Holdings B Camera and method
US5641288A (en) * 1996-01-11 1997-06-24 Zaenglein, Jr.; William G. Shooting simulating process and training device using a virtual reality display screen
DE69626208T2 (de) * 1996-12-20 2003-11-13 Hitachi Europ Ltd Verfahren und System zur Erkennung von Handgesten
US6075895A (en) * 1997-06-20 2000-06-13 Holoplex Methods and apparatus for gesture recognition based on templates
US6072494A (en) * 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
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
EP1214609B1 (en) * 1999-09-08 2004-12-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
KR100361462B1 (ko) * 1999-11-11 2002-11-21 황병익 모션 캡쳐 데이터 획득 방법
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
US6663491B2 (en) * 2000-02-18 2003-12-16 Namco Ltd. Game apparatus, storage medium and computer program that adjust tempo of sound
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
US7259747B2 (en) * 2001-06-05 2007-08-21 Reactrix Systems, Inc. Interactive video display system
US7340077B2 (en) * 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
US7310431B2 (en) * 2002-04-10 2007-12-18 Canesta, Inc. Optical methods for remotely measuring objects
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
US7623115B2 (en) * 2002-07-27 2009-11-24 Sony Computer Entertainment Inc. Method and apparatus for light input device
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
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 株式会社ソニー・コンピュータエンタテインメント 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス
US20050215319A1 (en) * 2004-03-23 2005-09-29 Harmonix Music Systems, Inc. Method and apparatus for controlling a three-dimensional character in a three-dimensional gaming environment
US7308112B2 (en) * 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
WO2006025137A1 (ja) * 2004-09-01 2006-03-09 Sony Computer Entertainment Inc. 画像処理装置、ゲーム装置および画像処理方法
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 本田技研工業株式会社 クリティカルポイント解析に基づくポーズ推定
GB2431717A (en) * 2005-10-31 2007-05-02 Sony Uk Ltd Scene analysis
WO2007096893A2 (en) * 2006-02-27 2007-08-30 Prime Sense Ltd. Range mapping using speckle decorrelation
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
JP2008033840A (ja) 2006-07-31 2008-02-14 Xing Inc 動画表示装置、動画表示方法、及びコンピュータプログラム
US8395658B2 (en) * 2006-09-07 2013-03-12 Sony Computer Entertainment Inc. Touch screen-like user interface that does not require actual touching
WO2008061023A2 (en) * 2006-11-10 2008-05-22 Mtv Networks Electronic game that detects and incorporates a user's foot movement
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
WO2008109299A2 (en) * 2007-03-01 2008-09-12 Sony Computer Entertainment America Inc. System and method for communicating with a virtual world
GB0703974D0 (en) * 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
US7970176B2 (en) * 2007-10-02 2011-06-28 Omek Interactive, Inc. Method and system for gesture classification
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
WO2009086088A1 (en) * 2007-12-21 2009-07-09 Honda Motor Co., Ltd. Controlled human pose estimation from depth image streams
US8149210B2 (en) * 2007-12-31 2012-04-03 Microsoft International Holdings B.V. Pointing device and method
CN101520902A (zh) * 2009-02-24 2009-09-02 上海大学 低成本动作捕捉与演示系统及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160113666A (ko) * 2014-01-24 2016-09-30 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 오디오 탐색 지원
US11226675B2 (en) 2017-11-22 2022-01-18 Samsung Electronics Co., Ltd. Apparatus and method for adaptively configuring user interface
KR20190065859A (ko) * 2017-12-04 2019-06-12 한국전자통신연구원 인체 자세 및 행동 모니터링 장치 및 방법
KR102212035B1 (ko) * 2020-05-27 2021-02-04 (주)프렌즈몬 제스처 인식 기반 원격 교육서비스 시스템 및 방법

Also Published As

Publication number Publication date
IL215294A (en) 2016-05-31
US20100277470A1 (en) 2010-11-04
US20120127176A1 (en) 2012-05-24
EP2424631A4 (en) 2013-05-22
CN102413885B (zh) 2013-07-10
JP5739872B2 (ja) 2015-06-24
JP2012525643A (ja) 2012-10-22
WO2010126816A3 (en) 2011-03-03
CA2757173A1 (en) 2010-11-04
KR101625259B1 (ko) 2016-05-27
WO2010126816A2 (en) 2010-11-04
BRPI1015282A2 (pt) 2018-02-20
CN102413885A (zh) 2012-04-11
IL215294A0 (en) 2011-12-29
RU2011144152A (ru) 2013-05-10
EP2424631A2 (en) 2012-03-07
RU2580450C2 (ru) 2016-04-10
CA2757173C (en) 2017-05-23

Similar Documents

Publication Publication Date Title
KR101625259B1 (ko) 모션 캡처를 위하여 모델 추적을 적용하는 시스템 및 방법
US10048747B2 (en) Methods and systems for determining and tracking extremities of a target
US8803889B2 (en) Systems and methods for applying animations or motions to a character
US8660310B2 (en) Systems and methods for tracking a model
TWI549022B (zh) 用於全自動動態鉸接模型校準的電腦可讀取儲存裝置及處理器實施的方法
US8897493B2 (en) Body scan
TWI545464B (zh) 人體追蹤系統
US9182814B2 (en) Systems and methods for estimating a non-visible or occluded body part
US8866898B2 (en) Living room movie creation
US20100302253A1 (en) Real time retargeting of skeletal data to game avatar

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee