KR20110120276A - 표준 제스처 - Google Patents
표준 제스처 Download PDFInfo
- Publication number
- KR20110120276A KR20110120276A KR1020117017692A KR20117017692A KR20110120276A KR 20110120276 A KR20110120276 A KR 20110120276A KR 1020117017692 A KR1020117017692 A KR 1020117017692A KR 20117017692 A KR20117017692 A KR 20117017692A KR 20110120276 A KR20110120276 A KR 20110120276A
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- gesture
- package
- value
- parameter
- Prior art date
Links
- 230000000295 complement effect Effects 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000009471 action Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 23
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 210000003128 head Anatomy 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 210000002414 leg Anatomy 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 210000000689 upper leg Anatomy 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 210000003127 knee Anatomy 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 210000002683 foot Anatomy 0.000 description 3
- 238000004080 punching Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000010304 firing Methods 0.000 description 2
- 239000006260 foam Substances 0.000 description 2
- 210000000245 forearm Anatomy 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 210000003371 toe Anatomy 0.000 description 2
- PUAQLLVFLMYYJJ-UHFFFAOYSA-N 2-aminopropiophenone Chemical compound CC(N)C(=O)C1=CC=CC=C1 PUAQLLVFLMYYJJ-UHFFFAOYSA-N 0.000 description 1
- 208000031872 Body Remains Diseases 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
보완적인 일련의 표준 제스처를 제스처 라이브러리로 그룹화하는 시스템, 방법 및 컴퓨터 판독가능 매체가 개시되어 있다. 제스처가 어떤 컨텍스트에서 서로 빈번히 사용된다는 점에서 또는 제스처의 매개변수가 상호 관련되어 있다는 점에서 제스처가 보완적일 수 있다. 제스처의 매개변수가 제1 값으로 설정되는 경우, 그 제스처 및 제1 값에 의존하는 제스처 패키지 내의 다른 제스처의 모든 다른 매개변수가 제1 값을 사용하여 결정되는 그 자신의 값으로 설정될 수 있다.
Description
컴퓨터 게임, 멀티미디어 응용 프로그램, 오피스 응용 프로그램 등과 같은 많은 컴퓨팅 응용 프로그램은 사용자가 게임 캐릭터 또는 응용 프로그램의 다른 측면을 조작할 수 있게 해주기 위해 컨트롤을 사용한다. 통상적으로, 이러한 컨트롤은, 예를 들어, 컨트롤러, 리모콘, 키보드, 마우스 등을 사용하여 입력된다. 안타깝게도, 이러한 컨트롤은 배우기가 어려울 수 있으며, 따라서 사용자와 이러한 게임 및 응용 프로그램 간에 장벽을 만든다. 게다가, 이러한 컨트롤은 컨트롤이 사용되는 실제 게임 동작 또는 기타 응용 프로그램 동작과 상이할 수 있다. 예를 들어, 게임 캐릭터로 하여금 야구 방망이를 스윙하게 하는 게임 컨트롤이 야구 방망이를 스윙하는 실제 움직임에 대응하지 않을지도 모른다.
사용자의 골격 움직임을 반영하는 데이터를 수신하고 그 데이터로부터 사용자가 하나 이상의 제스처를 수행했는지를 판정하는 시스템 및 방법이 본 명세서에 개시되어 있다. 표준 제스처의 패키지가 개시되어 있으며, 이 패키지로부터 응용 프로그램 개발자는 제스처 인식을 자신의 응용 프로그램에 포함시킬 수 있다.
예시적인 실시예에서, 제스처 라이브러리(gesture library)는 복수의 제스처를 포함한다. 이들 제스처는, 서로 보완적인 경우, 그룹화되어 제스처 패키지(gesture package)에 넣어질 수 있다. 이 제스처 패키지는 이어서 제스처 인식기 엔진(gesture recognizer engine)에서 사용하기 위해 응용 프로그램에 제공된다. 응용 프로그램은 하나 이상의 제스처 패키지를 이용할 수 있다.
응용 프로그램은 미식축구공 던지기(football throw) 제스처가 인식되기 위해 도달되어야만 하는 팔 속도 최소 임계값과 같은 제스처의 제1 매개변수에 값을 할당할 수 있다. 인식기 엔진은 그 값으로 제1 매개변수를 설정하고, 또한 제1 제스처의 값에 의존하는 그 제스처 또는 제스처 패키지 내의 임의의 다른 제스처의 임의의 다른 매개변수의 값을 설정한다. 예를 들어, 제스처 패키지가 미식축구공 던지기 제스처를 포함하는 스포츠 제스처 패키지인 경우, 패키지는 또한 미식축구공 던지기 제스처와 상호 관련되어 있는 야구 커브볼 던지기 제스처 및 야구 속구 던지기 제스처를 포함할 수 있다. 야구 커브볼 던지기 제스처가 미식축구공 던지기 제스처의 80%의 팔 속도 최소 임계값을 가져야 하고 야구 속구 던지기 제스처가 미식축구공 던지기 제스처의 90%의 팔 속도 최소 임계값을 가져야 하는 것으로 결정되어 있는 경우, 이들 매개변수는 각각 그 값의 80% 및 90%로 설정될 수 있다.
당업자라면 본 개시 내용의 하나 이상의 다양한 측면이 본 개시 내용의 여기에 언급한 측면을 수행하는 회로 및/또는 프로그래밍을 포함할 수 있지만 이들로 제한되지 않고, 이 회로 및/또는 프로그래밍이 시스템 설계자의 설계 선택 사항들에 따라 여기에 언급된 측면들을 수행하도록 구성된 하드웨어, 소프트웨어 및/또는 펌웨어의 거의 모든 조합일 수 있다는 것을 잘 알 수 있다.
이상은 요약이며, 따라서 필요에 따라 상세가 간략화, 일반화 및 생략되어 있다. 당업자라면 이 요약이 단지 예시적인 것이고 결코 제한하기 위한 것이 아니라는 것을 잘 알 것이다.
본 명세서에 따른 보완적인 제스처의 제스처 패키지에 대한 시스템, 방법 및 컴퓨터 판독가능 매체에 대해 첨부 도면을 참조하여 더 기술한다.
도 1a 및 도 1b는 사용자가 게임을 플레이할 때 대상 인식, 분석 및 추적 시스템의 예시적인 실시예를 나타낸 도면.
도 2는 대상 인식, 분석 및 추적 시스템에서 사용될 수 있는 캡처 장치의 예시적인 실시예를 나타낸 도면.
도 3a는 대상 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하는 데 사용될 수 있는 컴퓨팅 환경의 예시적인 실시예를 나타낸 도면.
도 3b는 대상 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하는 데 사용될 수 있는 컴퓨팅 환경의 다른 예시적인 실시예를 나타낸 도면.
도 4a는 도 2의 대상 인식, 분석 및 추적 시스템으로부터 발생된 사용자의 골격 매핑을 나타낸 도면.
도 4b는 도 2에 도시된 제스처 인식기 아키텍처의 추가 상세를 나타낸 도면.
도 5a 및 도 5b는 보다 복잡한 제스처 필터(gesture filter)를 생성하기 위해 제스처 필터가 어떻게 적층될 수 있는지를 나타낸 도면.
도 6a, 도 6b, 도 6c, 도 6d, 및 도 6e는 사용자(502)가 미식축구 비디오 게임에서 "페어 캐치(fair catch)"에 대한 신호를 보내기 위해 할 수 있는 예시적인 제스처를 나타낸 도면.
도 7a, 도 7b, 도 7c, 도 7d, 및 도 7e는 사용자의 골격 맵(skeletal map)을 생성하기 위해 이미지 데이터의 각각의 프레임이 파싱되었을 때 도 6a 내지 도 6e의 예시적인 "페어 캐치" 제스처를 나타낸 도면.
도 8은 제스처 라이브러리로부터의 일반 제스처가 특정의 작업에 대한 보완적인 제스처의 장르 패키지로 그룹화되는 방법을 나타낸 도면.
도 9는 응용 프로그램이 하나의 제스처의 하나의 매개변수에 대한 값을 제공할 때 제스처 패키지 내의 보완적인 제스처를 조정하는 예시적인 동작 절차를 나타낸 도면.
도 1a 및 도 1b는 사용자가 게임을 플레이할 때 대상 인식, 분석 및 추적 시스템의 예시적인 실시예를 나타낸 도면.
도 2는 대상 인식, 분석 및 추적 시스템에서 사용될 수 있는 캡처 장치의 예시적인 실시예를 나타낸 도면.
도 3a는 대상 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하는 데 사용될 수 있는 컴퓨팅 환경의 예시적인 실시예를 나타낸 도면.
도 3b는 대상 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하는 데 사용될 수 있는 컴퓨팅 환경의 다른 예시적인 실시예를 나타낸 도면.
도 4a는 도 2의 대상 인식, 분석 및 추적 시스템으로부터 발생된 사용자의 골격 매핑을 나타낸 도면.
도 4b는 도 2에 도시된 제스처 인식기 아키텍처의 추가 상세를 나타낸 도면.
도 5a 및 도 5b는 보다 복잡한 제스처 필터(gesture filter)를 생성하기 위해 제스처 필터가 어떻게 적층될 수 있는지를 나타낸 도면.
도 6a, 도 6b, 도 6c, 도 6d, 및 도 6e는 사용자(502)가 미식축구 비디오 게임에서 "페어 캐치(fair catch)"에 대한 신호를 보내기 위해 할 수 있는 예시적인 제스처를 나타낸 도면.
도 7a, 도 7b, 도 7c, 도 7d, 및 도 7e는 사용자의 골격 맵(skeletal map)을 생성하기 위해 이미지 데이터의 각각의 프레임이 파싱되었을 때 도 6a 내지 도 6e의 예시적인 "페어 캐치" 제스처를 나타낸 도면.
도 8은 제스처 라이브러리로부터의 일반 제스처가 특정의 작업에 대한 보완적인 제스처의 장르 패키지로 그룹화되는 방법을 나타낸 도면.
도 9는 응용 프로그램이 하나의 제스처의 하나의 매개변수에 대한 값을 제공할 때 제스처 패키지 내의 보완적인 제스처를 조정하는 예시적인 동작 절차를 나타낸 도면.
본 명세서에 기술될 것인 바와 같이, 사용자는 하나 이상의 제스처를 수행함으로써 게임 콘솔, 컴퓨터 등과 같은 컴퓨팅 환경에서 실행 중인 응용 프로그램을 제어할 수 있다. 일 실시예에 따르면, 제스처는, 예를 들어, 캡처 장치에 의해 수신될 수 있다. 예를 들어, 캡처 장치는 장면의 깊이 이미지(depth image)를 캡처할 수 있다. 일 실시예에서, 캡처 장치는 장면 내의 하나 이상의 대상 또는 개체가 사용자와 같은 사람 대상에 대응하는지를 판정할 수 있다. 장면 내의 대상 또는 개체가 사람 대상에 대응하는지를 판정하기 위해, 각각의 대상이 플러드 필(flood fill)되고 사람 신체 모델의 패턴과 비교될 수 있다. 사람 신체 모델과 일치하는 각각의 대상 또는 개체는 이어서 스캔되어, 그와 연관된 골격 모델을 발생할 수 있다. 골격 모델은 이어서 컴퓨팅 환경에 제공될 수 있고, 그로써 컴퓨팅 환경은 골격 모델을 추적하고, 골격 모델과 연관된 아바타를 렌더링하며, 예를 들어, 골격 모델로부터 인식된 사용자의 제스처에 기초하여 컴퓨터 환경에서 실행 중인 응용 프로그램에서 어느 컨트롤을 수행해야 하는지를 결정할 수 있다. 제스처 인식기 엔진(그의 아키텍처에 대해서는 이하에서 더 상세히 기술함)은 사용자가 특정의 제스처를 했을 때를 판정하는 데 사용된다.
도 1a 및 도 1b는 사용자(18)가 복싱 게임을 플레이할 때 대상 인식, 분석 및 추적 시스템(10)의 구성의 예시적인 실시예를 나타낸 것이다. 예시적인 실시예에서, 대상 인식, 분석 및 추적 시스템(10)은 사용자(18)와 같은 사람 대상을 인식, 분석 및/또는 추적하는 데 사용될 수 있다.
도 1a에 도시된 바와 같이, 대상 인식, 분석 및 추적 시스템(10)은 컴퓨팅 환경(12)을 포함할 수 있다. 컴퓨팅 환경(12)은 컴퓨터, 게임 시스템 또는 콘솔 등일 수 있다. 예시적인 실시예에 따르면, 컴퓨팅 환경(12)은 컴퓨팅 환경(12)이 게임 응용 프로그램, 비게임 응용 프로그램 등과 같은 응용 프로그램을 실행하는 데 사용될 수 있도록 하드웨어 구성요소 및/또는 소프트웨어 구성요소를 포함할 수 있다.
도 1a에 도시된 바와 같이, 대상 인식, 분석 및 추적 시스템(10)은 캡처 장치(20)를 추가로 포함할 수 있다. 캡처 장치(20)는, 예를 들어, 사용자(18)와 같은 하나 이상의 사용자를 시각적으로 모니터링하는 데 사용될 수 있는 카메라일 수 있고, 그로써 응용 프로그램 내에서 하나 이상의 컨트롤 또는 동작을 수행하기 위해 하나 이상의 사용자에 의해 수행되는 제스처가 캡처, 분석 및 추적될 수 있으며, 이에 대해서는 이하에서 더 상세히 기술할 것이다.
일 실시예에 따르면, 대상 인식, 분석 및 추적 시스템(10)은 게임 또는 응용 프로그램 비주얼(visual) 및/또는 오디오를 사용자(18)와 같은 사용자에게 제공할 수 있는 텔레비전, 모니터, HDTV(high-definition television) 등과 같은 오디오비주얼 장치(16)에 연결될 수 있다. 예를 들어, 컴퓨팅 환경(12)은 게임 응용 프로그램, 비게임 응용 프로그램 등과 연관된 오디오비주얼 신호(audiovisual signal)를 제공할 수 있는 그래픽 카드와 같은 비디오 어댑터 및/또는 사운드 카드와 같은 오디오 어댑터를 포함할 수 있다. 오디오비주얼 장치(16)는 컴퓨팅 환경(12)으로부터 오디오비주얼 신호를 수신할 수 있고, 이어서 오디오비주얼 신호와 연관된 게임 또는 응용 프로그램 비주얼 및/또는 오디오를 사용자(18)에게 출력할 수 있다. 일 실시예에 따르면, 오디오비주얼 장치(16)는, 예를 들어, S-Video 케이블, HDMI 케이블, DVI 케이블, VGA 케이블 등을 통해 컴퓨팅 환경(12)에 연결될 수 있다.
도 1a 및 도 1b에 도시된 바와 같이, 대상 인식, 분석 및 추적 시스템(10)은 사용자(18)와 같은 사람 대상을 인식, 분석 및/또는 추적하는 데 사용될 수 있다. 예를 들어, 사용자(18)의 움직임이 컴퓨터 환경(12)에 의해 실행되고 있는 응용 프로그램에 영향을 주는 데 사용될 수 있는 컨트롤로서 해석될 수 있도록 사용자(18)가 캡처 장치(20)를 사용하여 추적될 수 있다. 따라서, 일 실시예에 따르면, 사용자(18)는 응용 프로그램을 제어하기 위해 자신의 신체를 움직일 수 있다.
도 1a 및 도 1b에 도시된 바와 같이, 예시적인 실시예에서, 컴퓨팅 환경(12)에서 실행 중인 응용 프로그램은 사용자(18)가 플레이하고 있을 수 있는 복싱 게임일 수 있다. 예를 들어, 컴퓨팅 환경(12)은 오디오비주얼 장치(16)를 사용하여, 복싱 상대(22)의 시각적 표현(visual representation)을 사용자(18)에 제공할 수 있다. 컴퓨팅 환경(12)은 또한 오디오비주얼 장치(16)를 사용하여, 사용자(18)가 자신의 움직임으로 제어할 수 있는 플레이어 아바타(24)의 시각적 표현을 제공할 수 있다. 예를 들어, 도 1b에 도시된 바와 같이, 사용자(18)는 플레이어 아바타(24)로 하여금 게임 공간에서 펀치를 날리게 하기 위해 실제 공간에서 펀치를 날릴 수 있다. 따라서, 예시적인 실시예에 따르면, 대상 인식, 분석 및 추적 시스템(10)의 컴퓨터 환경(12) 및 캡처 장치(20)는, 펀치가 게임 공간에서 플레이어 아바타(24)의 게임 컨트롤로서 해석될 수 있도록, 실제 공간에서 사용자(18)의 펀치를 인식하고 분석하는 데 사용될 수 있다.
사용자(18)의 다른 움직임도 역시 보빙(bob), 위빙(weave), 셔플(shuffle), 블로킹(block), 잽(jab) 또는 각종의 상이한 펀치를 날리는 컨트롤과 같은 다른 컨트롤 또는 동작으로서 해석될 수 있다. 게다가, 일부 움직임이 플레이어 아바타(24)를 제어하는 것 이외의 동작에 대응할 수 있는 컨트롤로서 해석될 수 있다. 예를 들어, 플레이어는 움직임을 사용하여, 게임을 종료, 일시정지 또는 저장하고, 레벨을 선택하며, 최고 점수를 보고, 친구와 통신하는 등을 할 수 있다.
예시적인 실시예에서, 사용자(18)와 같은 사람 대상은 개체를 가질 수 있다. 이러한 실시예에서, 전자 게임의 사용자는, 플레이어 및 개체의 움직임이 게임의 매개변수를 조정 및/또는 제어하는 데 사용될 수 있도록, 개체를 잡고 있을 수 있다. 예를 들어, 라켓을 잡고 있는 플레이어의 움직임이 추적되고 전자 스포츠 게임에서 온스크린 라켓을 제어하는 데 이용될 수 있다. 다른 예시적인 실시예에서, 개체를 잡고 있는 플레이어의 움직임이 추적되고 전자 전투 게임에서 온스크린 무기를 제어하는 데 이용될 수 있다.
다른 예시적인 실시예에 따르면, 대상 인식, 분석 및 추적 시스템(10)은 또한 대상 움직임을 게임의 영역 밖에 있는 운영 체제 및/또는 응용 프로그램 컨트롤로서 해석하는 데 사용될 수 있다. 예를 들어, 운영 체제 및/또는 응용 프로그램의 거의 모든 제어가능한 측면이 사용자(18)와 같은 대상의 움직임에 의해 제어될 수 있다.
도 2는 대상 인식, 분석 및 추적 시스템(10)에서 사용될 수 있는 캡처 장치(20)의 예시적인 실시예를 나타낸 것이다. 예시적인 실시예에 따르면, 캡처 장치(20)는, 예를 들어, 비행 시간(time-of-flight), 구조 광(structured light), 입체(stereo) 이미지 등을 비롯한 임의의 적당한 기법을 통해, 깊이 값을 포함할 수 있는 깊이 이미지를 비롯한 깊이 정보를 갖는 비디오를 캡처하도록 구성될 수 있다. 일 실시예에 따르면, 캡처 장치(20)는 계산된 깊이 정보를 "Z층", 즉 깊이 카메라로부터 그의 시선(line of sight)을 따라 뻗어 있는 Z축에 수직일 수 있는 층으로 구성할 수 있다.
도 2에 도시된 바와 같이, 캡처 장치(20)는 이미지 카메라 구성요소(22)를 포함할 수 있다. 예시적인 실시예에 따르면, 이미지 카메라 구성요소(22)는 장면의 깊이 이미지를 캡처할 수 있는 깊이 카메라일 수 있다. 깊이 이미지는 캡처된 장면의 2차원(2-D) 픽셀 영역을 포함할 수 있으며, 이 경우 2-D 픽셀 영역 내의 각각의 픽셀은 카메라로부터의 캡처된 장면 내의 개체의 길이(단위: 예를 들어, 센티미터, 밀리미터 등)를 나타낼 수 있다.
도 2에 도시된 바와 같이, 예시적인 실시예에 따르면, 이미지 카메라 구성요소(22)는 장면의 깊이 이미지를 캡처하는 데 사용될 수 있는 IR 광 구성요소(24), 3차원(3-D) 카메라(26) 및 RGB 카메라(28)를 포함할 수 있다. 예를 들어, 비행 시간 분석에서, 캡처 장치(20)의 IR 광 구성요소(24)는 장면 상으로 적외선 광을 방출할 수 있고, 이어서, 예를 들어, 3-D 카메라(26) 및/또는 RGB 카메라(28)를 사용하여 장면 내의 하나 이상의 대상 및 개체의 표면으로부터 후방 산란된 광을 검출하기 위해 센서(도시 생략)를 사용할 수 있다. 일부 실시예에서, 나가는 광 펄스와 대응하는 들어오는 광 펄스 간의 시간이 측정되고 캡처 장치(20)로부터 장면 내의 대상 또는 개체 상의 특정의 위치까지의 실제 거리를 구하는 데 사용될 수 있도록 펄스형 적외선 광(pulsed infrared light)이 사용될 수 있다. 그에 부가하여, 다른 예시적인 실시예에서, 위상 천이를 결정하기 위해 나가는 광파의 위상이 들어오는 광파의 위상과 비교될 수 있다. 위상 천이는 이어서 캡처 장치로부터 대상 또는 개체 상의 특정의 위치까지의 실제 거리를 결정하는 데 사용될 수 있다.
다른 예시적인 실시예에 따르면, 예를 들어, 셔터 방식의 광 펄스 이미징(shuttered light pulse imaging)을 비롯한 다양한 기법을 통해 시간에 따라 반사된 광 빔의 세기를 분석함으로써 캡처 장치(20)로부터 대상 또는 개체 상의 특정의 위치까지의 실제 거리를 간접적으로 결정하기 위해 비행 시간 분석이 사용될 수 있다.
다른 예시적인 실시예에서, 캡처 장치(20)는 깊이 정보를 캡처하기 위해 구조 광을 사용할 수 있다. 이러한 분석에서, 패턴화된 광(즉, 격자 패턴 또는 줄무늬 패턴과 같은 기지의 패턴으로서 디스플레이되는 광)이, 예를 들어, IR 광 구성요소(24)를 통해 장면 상에 투사될 수 있다. 장면 내의 하나 이상의 대상 또는 개체의 표면에 부딪칠 때, 패턴이 그에 응답하여 변형될 수 있다. 패턴의 이러한 변형은, 예를 들어, 3-D 카메라(26) 및/또는 RGB 카메라(28)에 의해 캡처될 수 있고, 이어서 캡처 장치로부터 대상 또는 개체 상의 특정의 위치까지의 실제 거리를 결정하기 위해 분석될 수 있다.
다른 실시예에 따르면, 캡처 장치(20)는 깊이 정보를 발생하기 위해 분석될 수 있는 시각적 입체 데이터를 획득하기 위해 상이한 각도로부터 장면을 볼 수 있는 2개 이상의 물리적으로 분리되어 있는 카메라를 포함할 수 있다.
캡처 장치(20)는 마이크(30)를 추가로 포함할 수 있다. 마이크(30)는 소리를 수신하여 전기 신호로 변환할 수 있는 트랜스듀서 또는 센서를 포함할 수 있다. 일 실시예에 따르면, 마이크(30)는 대상 인식, 분석 및 추적 시스템(10)에서 캡처 장치(20)와 컴퓨팅 환경(12) 간의 피드백을 감소시키는 데 사용될 수 있다. 그에 부가하여, 마이크(30)는 컴퓨팅 환경(12)에 의해 실행될 수 있는 게임 응용 프로그램, 비게임 응용 프로그램 등과 같은 응용 프로그램을 제어하기 위해 사용자에 의해 제공될 수도 있는 오디오 신호를 수신하는 데 사용될 수 있다.
예시적인 실시예에서, 캡처 장치(20)는 이미지 카메라 구성요소(22)와 통신 동작을 하고 있을 수 있는 프로세서(32)를 추가로 포함할 수 있다. 프로세서(32)는 깊이 이미지를 수신하는 명령어, 깊이 이미지에 적당한 대상이 포함될 수 있는지를 판정하는 명령어, 적당한 대상을 대상의 골격 표현 또는 모델로 변환하는 명령어 또는 임의의 다른 적당한 명령어를 포함할 수 있는 명령어를 실행할 수 있는 표준화된 프로세서, 특수 프로세서, 마이크로프로세서 등을 포함할 수 있다.
캡처 장치(20)는 프로세서(32)에 의해 실행될 수 있는 명령어, 3-D 카메라 또는 RGB 카메라에 의해 캡처된 이미지 또는 이미지의 프레임, 또는 임의의 다른 적당한 정보, 이미지 등을 저장할 수 있는 메모리 구성요소(34)를 추가로 포함할 수 있다. 예시적인 실시예에 따르면, 메모리 구성요소(34)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 캐시, 플래시 메모리, 하드 디스크, 또는 임의의 다른 적당한 저장 구성요소를 포함할 수 있다. 도 2에 도시된 바와 같이, 일 실시예에서, 메모리 구성요소(34)는 이미지 캡처 구성요소(22) 및 프로세서(32)와 통신하는 별개의 구성요소일 수 있다. 다른 실시예에 따르면, 메모리 구성요소(34)는 프로세서(32) 및/또는 이미지 캡처 구성요소(22) 내에 통합될 수 있다.
도 2에 도시된 바와 같이, 캡처 장치(20)는 통신 링크(36)를 통해 컴퓨팅 환경(12)과 통신하고 있을 수 있다. 통신 링크(36)는, 예를 들어, USB 연결, Firewire 연결, 이더넷 케이블 연결 등을 비롯한 유선 연결 및/또는 무선 802.11b, 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)을 사용하여, 골격 모델의 움직임을 해석하고 움직임에 기초하여 응용 프로그램을 제어할 수 있다.
도 3a는 대상 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하는 데 사용될 수 있는 컴퓨팅 환경의 예시적인 실시예를 나타낸 것이다. 도 1a 내지 도 2와 관련하여 전술한 컴퓨팅 환경(12)과 같은 컴퓨팅 환경은 게임 콘솔과 같은 멀티미디어 콘솔(100)일 수 있다. 도 3a에 도시된 바와 같이, 멀티미디어 콘솔(100)은 레벨 1 캐시(102), 레벨 2 캐시(104), 및 플래시 ROM(Read-Only Memory)(106)을 갖는 중앙 처리 장치(CPU)(101)를 가진다. 레벨 1 캐시(102) 및 레벨 2 캐시(104)는 데이터를 일시적으로 저장하고, 따라서 메모리 액세스 사이클의 수를 감소시킴으로써 처리 속도 및 처리율(throughput)을 향상시킨다. 2개 이상의 코어, 따라서 부가의 레벨 1 및 레벨 2 캐시(102, 104)를 가지는 CPU(101)가 제공될 수 있다. 플래시 ROM(106)은, 멀티미디어 콘솔(100)의 전원이 켜질 때, 부팅 프로세스의 초기 단계 동안에 로드되는 실행가능 코드를 저장할 수 있다.
그래픽 처리 장치(GPU)(108) 및 비디오 인코더/비디오 코덱(코더/디코더)(114)는 고속 및 고해상도 그래픽 처리를 위한 비디오 처리 파이프라인을 형성한다. 데이터는 버스를 통해 그래픽 처리 장치(108)로부터 비디오 인코더/비디오 코덱(114)으로 전달된다. 비디오 처리 파이프라인은 텔레비전 또는 기타 디스플레이로 전송하기 위해 데이터를 A/V(오디오/비디오) 포트(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 드라이브, 이동식 매체, 기타)에 대한 호스트로서 역할한다. 네트워크 인터페이스(124) 및/또는 무선 어댑터(148)는 네트워크(예를 들어, 인터넷, 홈 네트워크, 기타)에의 액세스를 제공하고, 이더넷 카드, 모뎀, 블루투스 모듈, 케이블 모뎀, 기타를 비롯한 광범위한 다양한 유선 또는 무선 어댑터 구성요소 중 어느 것이라도 될 수 있다.
시스템 메모리(143)는 부팅 프로세스 동안에 로드되는 응용 프로그램 데이터를 저장하기 위해 제공된다. 미디어 드라이브(144)가 제공되고 DVD/CD 드라이브, 하드 드라이브, 또는 기타 이동식 미디어 드라이브 등을 포함할 수 있다. 미디어 드라이브(144)는 멀티미디어 콘솔(100)에 대해 내장형이거나 외장형일 수 있다. 멀티미디어 콘솔(100)에 의한 실행, 재생 등을 위해, 응용 프로그램 데이터가 미디어 드라이브(144)를 통해 액세스될 수 있다. 미디어 드라이브(144)는 직렬 ATA 버스 또는 기타 고속 연결(예를 들어, IEEE 1394) 등의 버스를 통해 I/O 제어기(120)에 연결된다.
시스템 관리 제어기(122)는 멀티미디어 콘솔(100)의 이용가능성을 확인하는 것과 관련된 각종의 서비스 기능을 제공한다. 오디오 처리 장치(123) 및 오디오 코덱(132)은 Hi-Fi(high fidelity) 및 스테레오 처리를 갖는 대응하는 오디오 처리 파이프라인을 형성한다. 오디오 데이터는 통신 링크를 통해 오디오 처리 장치(123)와 오디오 코덱(132) 사이에서 전달된다. 오디오 처리 파이프라인은 오디오 기능을 갖는 외장형 오디오 플레이어 또는 장치에 의한 재생을 위해 데이터를 A/V 포트(140)로 출력한다.
프런트 패널 I/O 서브어셈블리(130)는 전원 단추(150) 및 꺼내기 단추(152)의 기능은 물론, 멀티미디어 콘솔(100)의 외부 표면 상에 노출되어 있는 임의의 LED(light emitting diode) 또는 다른 표시기도 지원한다. 시스템 전원 공급 장치 모듈(136)은 멀티미디어 콘솔(100)의 구성요소에 전원을 제공한다. 팬(138)은 멀티미디어 콘솔(100) 내의 회로를 냉각시킨다.
CPU(101), GPU(108), 메모리 제어기(110) 및 멀티미디어 콘솔(100) 내의 다양한 다른 구성요소는 직렬 버스 및 병렬 버스, 메모리 버스, 주변 장치 버스, 및 각종의 버스 아키텍처 중 임의의 것을 사용하는 프로세서 또는 로컬 버스를 비롯한 하나 이상의 버스를 통해 상호연결된다. 일례로서, 이러한 아키텍처는 PCI(Peripheral Component Interconnects) 버스, PCI-Express 버스 등을 포함할 수 있다.
멀티미디어 콘솔(100)의 전원이 켜지는 경우, 응용 프로그램 데이터가 시스템 메모리(143)로부터 메모리(112) 및/또는 캐시(102, 104)로 로드되어 CPU(101) 상에서 실행될 수 있다. 응용 프로그램은 멀티미디어 콘솔(100) 상에서 이용가능한 상이한 미디어 유형을 탐색할 때 일관성있는 사용자 경험을 제공하는 그래픽 사용자 인터페이스를 제시할 수 있다. 동작을 설명하면, 멀티미디어 콘솔(100)에 부가의 기능을 제공하기 위해, 미디어 드라이브(144) 내에 들어 있는 응용 프로그램 및/또는 기타 미디어가 미디어 드라이브(144)로부터 시작되거나 재생될 수 있다.
멀티미디어 콘솔(100)은 본 시스템을 텔레비전 또는 기타 디스플레이에 간단히 연결시킴으로써 독립형 시스템(standalone system)으로서 동작될 수 있다. 이 독립형 모드에서, 멀티미디어 콘솔(100)은 한명 이상의 사용자가 시스템과 상호작용하거나, 영화를 시청하거나, 음악을 듣게 해줄 수 있다. 그렇지만, 광대역 연결의 통합이 네트워크 인터페이스(124) 또는 무선 어댑터(148)를 통해 이용가능하게 되는 경우, 멀티미디어 콘솔(100)은 또한 대규모 네트워크 커뮤니티에의 참여자로서 동작될 수 있다.
멀티미디어 콘솔(100)의 전원이 켜질 때, 설정된 양의 하드웨어 리소스가 멀티미디어 콘솔 운영 체제에 의한 시스템 사용을 위해 예약된다. 이들 리소스는 메모리(예를 들어, 16 MB), CPU 및 GPU 사이클(예를 들어, 5%), 네트워킹 대역폭(예를 들어, 8 kbs) 등의 예약을 포함할 수 있다. 이들 리소스가 시스템 부팅 시에 예약되기 때문에, 예약된 리소스는 응용 프로그램의 관점에서 볼 때 존재하지 않는다.
상세하게는, 메모리 예약은 바람직하게는 시작 커널(launch kernel), 동시 시스템 응용 프로그램(concurrent system application) 및 드라이버를 포함할 정도로 충분히 크다. 예약된 CPU 사용량이 시스템 응용 프로그램에 의해 사용되지 않는 경우, 유휴 스레드(idle thread)가 임의의 미사용 사이클을 사용하도록, CPU 예약이 바람직하게는 일정하다.
GPU과 관련하여, GPU 인터럽트를 사용하여 코드가 팝업을 오버레이에 렌더링하도록 스케줄링함으로써 시스템 응용 프로그램에 의해 발생된 경량 메시지(예를 들어, 팝업)가 디스플레이된다. 오버레이에 필요한 메모리의 양은 오버레이 영역 크기에 의존하며, 오버레이는 바람직하게는 화면 해상도에 따라 스케일링된다. 사용자 인터페이스 전체가 동시 시스템 응용 프로그램에 의해 사용되는 경우, 응용 프로그램 해상도에 독립적인 해상도를 사용하는 것이 바람직하다. 주파수를 변경하고 TV를 재동기시킬 필요가 없도록 스케일러가 이 해상도를 설정하는 데 사용될 수 있다.
멀티미디어 콘솔(100)이 부팅하고 시스템 리소스가 예약된 후에, 시스템 기능을 제공하기 위해 동시 시스템 응용 프로그램이 실행된다. 시스템 기능은 전술한 예약된 시스템 리소스 내에서 실행되는 일련의 시스템 응용 프로그램에 캡슐화되어 있다. 운영 체제 커널은 게임 응용 프로그램 스레드에 대해 시스템 응용 프로그램 스레드인 스레드를 식별한다. 시스템 응용 프로그램은 바람직하게는 응용 프로그램에게 일관성있는 시스템 리소스 뷰를 제공하기 위해 미리 정해진 때에 그리고 미리 정해진 간격으로 CPU(101) 상에서 실행되도록 스케줄링되어 있다. 스케줄링은 콘솔 상에서 실행 중인 게임 응용 프로그램에 대한 캐시 방해(cache disruption)를 최소화하는 것이다.
동시 시스템 응용 프로그램이 오디오를 필요로 할 때, 오디오 처리가 시간 민감도로 인해 게임 응용 프로그램에 비동기적으로 스케줄링된다. 시스템 응용 프로그램이 활성일 때, 멀티미디어 콘솔 응용 프로그램 관리자(이하에 기술됨)는 게임 응용 프로그램 오디오 레벨(예를 들어, 음소거, 감쇠)을 제어한다.
입력 장치[예를 들어, 제어기(142(1), 142(2))]가 게임 응용 프로그램 및 시스템 응용 프로그램에 의해 공유된다. 입력 장치는 예약된 리소스가 아니고, 각각이 장치의 포커스를 가지도록 시스템 응용 프로그램과 게임 응용 프로그램 간에 전환된다. 응용 프로그램 관리자는 바람직하게는, 게임 응용 프로그램의 정보를 모르는 상태에서, 입력 스트림의 전환을 제어하고, 드라이버는 포커스 전환에 관한 상태 정보를 유지한다. 카메라(26, 28) 및 캡처 장치(20)는 콘솔(100)에 대한 부가의 입력 장치를 정의할 수 있다.
도 3b는 대상 인식, 분석 및 추적 시스템에서 하나 이상의 제스처를 해석하는 데 사용되는 도 1a 내지 도 2에 도시된 컴퓨팅 환경(12)일 수 있는 컴퓨팅 환경(220)의 다른 예시적인 실시예를 나타낸 것이다. 컴퓨팅 시스템 환경(220)은 적당한 컴퓨팅 환경의 일례에 불과하며 여기 개시된 발명 대상의 용도 또는 기능의 범위에 관한 어떤 제한을 암시하기 위한 것이 아니다. 컴퓨팅 환경(220)이 예시적인 운영 환경(220)에 예시된 구성요소 중 어느 하나 또는 이들 구성요소의 임의의 조합에 관한 어떤 의존성 또는 요구조건을 갖는 것으로 해석되어서도 안된다. 일부 실시예에서, 다양한 도시된 컴퓨팅 구성요소는 본 명세서의 특정 측면을 구현하도록 구성된 회로를 포함할 수 있다. 일례로, 본 명세서에서 사용되는 용어 회로는 펌웨어 또는 스위치에 의해 기능(들)을 수행하도록 구성된 특수 하드웨어 구성요소를 포함할 수 있다. 다른 예시적인 실시예에서, 용어 회로는 기능(들)을 수행하는 동작을 하는 논리를 구현하는 소프트웨어 명령에 의해 구성되는, 범용 처리 장치, 메모리, 기타 등등을 포함할 수 있다. 회로가 하드웨어와 소프트웨어의 조합을 포함하는 예시적인 실시예에서, 구현자는 논리를 구현하는 소스 코드를 작성할 수 있으며, 소스 코드는 범용 처리 장치에 의해 처리될 수 있는 기계 판독가능 코드로 컴파일될 수 있다. 당업자라면 하드웨어, 소프트웨어, 또는 하드웨어/소프트웨어 조합 간에 거의 차이가 없는 수준까지 최신 기술이 발전해왔다는 사실을 잘 알 수 있기 때문에, 특정 기능을 실시하기 위해 소프트웨어를 선택할지 하드웨어를 선택할지는 구현자에게 맡겨진 설계 선택사항이다. 보다 구체적으로는, 당업자라면 소프트웨어 프로세스가 동등한 하드웨어 구조로 변환될 수 있고, 하드웨어 구조 자체가 동등한 소프트웨어 프로세스로 변환될 수 있다는 것을 잘 알 것이다. 따라서, 소프트웨어 구현을 선택할지 하드웨어 구현을 선택할지는 설계 선택사항의 하나로서 구현자에게 맡겨져 있다.
도 3b에서, 컴퓨팅 환경(220)은 통상적으로 각종의 컴퓨터 판독가능 매체를 포함하는 컴퓨터(241)를 포함한다. 컴퓨터 판독가능 매체는 컴퓨터(241)에 의해 액세스될 수 있는 이용가능한 매체라면 어느 것이라도 될 수 있고, 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체 둘다를 포함한다. 시스템 메모리(222)는 판독 전용 메모리(ROM)(223) 및 랜덤 액세스 메모리(RAM)(260) 등의 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 시동 중과 같은 때에 컴퓨터(241) 내의 구성요소들 간의 정보 전송을 돕는 기본 루틴들이 들어 있는 기본 입/출력 시스템(224)(BIOS)은 통상적으로 ROM(223)에 저장되어 있다. RAM(260)에는 통상적으로 처리 장치(259)에 의해 즉각 액세스될 수 있고 및/또는 현재 처리되고 있는 데이터 및/또는 프로그램 모듈이 들어 있다. 제한이 아닌 예로서, 도 3b는 운영 체제(225), 응용 프로그램(226), 기타 프로그램 모듈(227), 및 프로그램 데이터(228)를 나타내고 있다.
컴퓨터(241)는 또한 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체도 포함할 수 있다. 단지 예로서, 도 3b는 비이동식, 비휘발성 자기 매체로부터 판독을 하거나 그에 기록을 하는 하드 디스크 드라이브(238), 이동식, 비휘발성 자기 디스크(254)로부터 판독을 하거나 그에 기록을 하는 자기 디스크 드라이브(239), 및 CD-ROM 또는 기타 광 매체 등의 이동식, 비휘발성 광 디스크(253)로부터 판독을 하거나 그에 기록을 하는 광 디스크 드라이브(240)를 나타내고 있다. 예시적인 운영 환경에서 사용될 수 있는 기타의 이동식/비이동식, 휘발성/비휘발성 컴퓨터 저장 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD(digital versatile disk), 디지털 비디오 테이프, 고상 RAM, 고상 ROM, 기타 등등이 있지만, 이들로 제한되지 않는다. 하드 디스크 드라이브(238)는 통상적으로 인터페이스(234) 등의 비이동식 메모리 인터페이스를 통해 시스템 버스(221)에 연결되고, 자기 디스크 드라이브(239) 및 광 디스크 드라이브(240)는 통상적으로 인터페이스(235) 등의 이동식 메모리 인터페이스에 의해 시스템 버스(221)에 연결된다.
이상에서 설명되고 도 3b에 도시되어 있는 드라이브들 및 이들과 연관된 컴퓨터 저장 매체는 컴퓨터(241)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 제공한다. 도 3b에서, 예를 들어, 하드 디스크 드라이브(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, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있고, 통상적으로 컴퓨터(241)와 관련하여 상기한 구성요소들 중 다수 또는 그 전부를 포함하지만, 도 3b에는 메모리 저장 장치(247)만이 도시되어 있다. 도 3b에 도시된 논리적 연결은 LAN(local area network)(245) 및 WAN(wide area network)(249)을 포함하지만, 다른 네트워크도 포함할 수 있다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔한 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(241)는 네트워크 인터페이스 또는 어댑터(237)를 통해 LAN(245)에 연결된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(241)는 통상적으로 인터넷 등의 WAN(249)을 통해 통신을 설정하는 모뎀(250) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(250)은 사용자 입력 인터페이스(236) 또는 다른 적절한 메커니즘을 통해 시스템 버스(221)에 연결될 수 있다. 네트워크화된 환경에서, 컴퓨터(241) 또는 그의 일부와 관련하여 도시된 프로그램 모듈들은 원격 메모리 저장 장치에 저장될 수 있다. 제한이 아닌 예로서, 도 3b는 원격 응용 프로그램(248)이 메모리 장치(247)에 존재하는 것으로 도시하고 있다. 도시된 네트워크 연결이 예시적인 것이고 컴퓨터들 간에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.
도 4a는 캡처 장치(20)로부터 발생될 수 있는 사용자의 예시적인 골격 매핑을 나타낸 것이다. 이 실시예에서, 각종의 관절 및 뼈, 즉 각각의 손(302), 각각의 팔뚝(304), 각각의 팔꿈치(306), 각각의 이두근(308), 각각의 어깨(310), 각각의 엉덩이(312), 각각의 대퇴부(314), 각각의 무릎(316), 각각의 하퇴부(318), 각각의 발(320), 머리(322), 몸통(324), 등뼈의 상부(326) 및 하부(328), 및 허리(330)가 식별된다. 더 많은 지점이 추적되는 경우, 손가락 또는 발가락의 뼈 및 관절, 또는 얼굴의 개개의 특징부(코 및 눈 등) 등의 부가의 특징부가 식별될 수 있다.
사용자는, 자신의 신체를 움직임으로써, 제스처를 생성할 수 있다. 제스처는 이미지 데이터로서 캡처되고 의미를 위해 파싱될 수 있는 사용자에 의한 움직임 또는 자세를 포함한다. 공을 던지는 것을 흉내내는 것과 같은 움직임을 포함하는 제스처는 동적일 수 있다. 몸통(324) 앞에 팔뚝(304)을 팔짱낀 채로 있는 것과 같은 제스처는 정적 자세일 수 있다. 제스처는 또한 모조 칼을 휘두르는 것과 같이 소도구를 포함할 수 있다. 제스처는 손(302)으로 손뼉을 치는 것과 같이 2개 이상의 신체 부위 또는 입술을 오무리는 것과 같은 더 미묘한 움직임을 포함할 수 있다.
제스처는 일반적으로 컴퓨팅과 관련하여 입력을 위해 사용될 수 있다. 예를 들어, 손(302) 또는 다른 신체 부위의 다양한 움직임은 계층적 목록에서 위 또는 아래로 탐색하는 것, 파일을 여는 것, 파일을 닫는 것, 및 파일을 저장하는 것과 같은 통상적인 시스템 전체에 걸친 작업에 대응할 수 있다. 제스처는 또한, 게임에 따라, 비디오 게임과 관련한 상황에서도 사용될 수 있다. 예를 들어, 운전 게임에서, 손(302) 및 발(320)의 다양한 움직임은 차량을 어떤 방향으로 조향하는 것, 기어를 변속하는 것, 가속하는 것 및 브레이크를 밟는 것에 대응할 수 있다.
사용자는, 스스로 제자리에서 걷거나 달림으로써, 걷기 또는 달리기에 대응하는 제스처를 발생할 수 있다. 사용자는 다른 대안으로서 이동하지 않고 걷기를 흉내내기 위해 각각의 다리(312-320)를 들어올리고 내릴 수 있다. 시스템은 각각의 엉덩이(312) 및 각각의 대퇴부(314)를 분석함으로써 이 제스처를 파싱할 수 있다. 하나의 엉덩이-대퇴부 각도(수직선에 대해 측정되며, 여기서 서 있는 다리는 0°의 엉덩이-대퇴부 각도를 가지고, 앞쪽으로 수평으로 뻗은 다리는 90°의 엉덩이-대퇴부 각도를 가짐)가 다른쪽 대퇴부에 대해 어떤 임계값을 초과할 때 스텝이 인식될 수 있다. 다리를 교대로 움직임으로써 어떤 수의 연속적인 스텝 후에 걷기 또는 달리기가 인식될 수 있다. 2개의 가장 최근의 스텝 사이의 시간이 주기로서 생각될 수 있다. 그 임계값 각도가 만족되지 않은 어떤 수의 주기 이후에, 시스템은 걷기 또는 달리기 제스처가 중지된 것으로 판정할 수 있다.
"걷기 또는 달리기" 제스처가 주어진 경우, 응용 프로그램은 이 제스처와 연관된 응용 프로그램-결정 매개변수에 대한 값을 설정할 수 있다. 이들 매개변수는 상기 임계값 각도, 걷기 또는 달리기 제스처를 시작하는 데 필요한 스텝의 수, 제스처를 종료하기 위해 스텝이 발생하지 않는 주기의 수, 및 제스처가 걷기인지 달리기인지를 판정하는 임계값 주기를 포함할 수 있다. 사용자가 자신의 다리를 신속하게 움직일 것이기 때문에, 빠른 주기는 달리기에 대응할 수 있고, 느린 주기는 걷기에 대응할 수 있다.
제스처는 처음에 응용 프로그램이 그 자신의 매개변수로 재정의할 수 있는 일련의 기본 매개변수와 연관될 수 있다. 이 시나리오에서, 응용 프로그램은 무리하여 매개변수를 제공하지 않고 그 대신에 응용 프로그램-정의 매개변수가 없는 경우 제스처가 인식될 수 있게 해주는 일련의 기본 매개변수를 사용할 수 있다.
제스처와 연관될 수 있는 각종의 출력이 있다. 제스처가 행해지고 있는지에 관해 "예 또는 아니오" 기준선이 있을 수 있다. 또한, 사용자의 추적된 움직임이 제스처에 대응할 확률에 대응하는 신뢰 수준이 있을 수 있다. 이것은 0과 1(경계 포함) 사이의 부동 소수점 숫자의 범위에 걸쳐 있는 선형 스케일일 수 있다. 이 제스처 정보를 수신하는 응용 프로그램이 거짓 양성(false-positive)을 입력으로서 받아들일 수 없는 경우, 이 응용 프로그램은 적어도 0.95와 같은 높은 신뢰 수준을 가지는 그 인식된 제스처만을 사용할 수 있다. 응용 프로그램이 거짓 양성을 희생해서라도 제스처의 모든 인스턴스를 인식해야만 하는 경우, 응용 프로그램은 단지 0.2보다 큰 것과 같은 적어도 훨씬 더 낮은 신뢰 수준을 가지는 제스처를 사용할 수 있다. 제스처는 2개의 가장 최근의 스텝 사이의 시간에 대한 출력을 가질 수 있으며, 제1 스텝만이 등록되어 있는 경우, 이것은 -1과 같은 예약된 값으로 설정될 수 있다(임의의 2개의 스텝 사이의 시간이 양이어야만 하기 때문임). 제스처는 또한 가장 최근의 스텝 동안에 도달된 가장 높은 대퇴부 각도에 대한 출력을 가질 수 있다.
다른 예시적인 제스처는 "힐 리프트 점프(heel lift jump)"이다. 이것에서, 사용자는 발가락을 박아둔 채로 자신의 뒷꿈치를 지면으로부터 들어올림으로써 제스처를 생성할 수 있다. 다른 대안으로서, 사용자는 자신의 발(320)이 지면으로부터 완전히 떨어지게 공중으로 점프할 수 있다. 시스템은 똑바로 서있는 것과 같은 정렬의 위치에 있는지를 알아보기 위해 어깨(310), 엉덩이(312) 및 무릎(316)의 각도 관계를 분석함으로써 이 제스처에 대한 골격을 파싱할 수 있다. 이어서, 임의의 상향 가속도가 있는지 이들 지점 및 상부(326)와 하부(328) 등뼈 지점이 모니터링될 수 있다. 충분한 가속도 조합이 점프 제스처를 트리거할 수 있다.
이 "힐 리프트 점프" 제스처가 주어진 경우, 응용 프로그램은 이 제스처와 연관된 응용 프로그램-결정 매개변수에 대한 값을 설정할 수 있다. 매개변수는 제스처를 트리거하기 위해 사용자의 어깨(310), 엉덩이(312) 및 무릎(316)이 얼마나 빠르게 위쪽으로 움직여야만 하는지를 결정하는 상기 가속도 임계값은 물론, 점프가 여전히 트리거될 수 있는 어깨(310), 엉덩이(312) 및 무릎(316) 사이의 최대 정렬 각도도 포함할 수 있다.
출력은 신뢰 수준은 물론, 점프 시의 사용자의 신체 각도를 포함할 수 있다.
제스처를 수신할 응용 프로그램의 상세에 기초하여 제스처에 대한 매개변수를 설정하는 것은 제스처를 정확하게 식별하는 데 중요하다. 제스처 및 사용자의 의도를 적절히 식별하는 것이 긍정적인 사용자 경험을 생성하는 데 크게 도움을 준다. 제스처 인식기 시스템이 너무 민감하고 약간 전방으로의 손(302)의 움직임이라도 던짐으로 해석되는 경우, 사용자가 제스처를 할 의도가 없고 따라서 시스템에 대한 제어를 하지 않는 경우 제스처가 인식될 것이기 때문에 사용자가 좌절하게 될 수 있다. 제스처 인식기 시스템이 충분히 민감하지 않은 경우, 시스템은 던지는 제스처를 하기 위한 사용자에 의한 의식적인 시도를 인식하지 않을 수 있고, 그로써 사용자를 유사한 방식으로 좌절시킬 수 있다. 감도 범위의 어느 한쪽 끝에서, 사용자는 시스템에 입력을 적절히 제공할 수 없기 때문에 좌절하게 된다.
제스처에 대한 다른 매개변수는 움직인 거리일 수 있다. 사용자의 제스처가 가상 환경에서 아바타의 동작을 제어하는 경우, 그 아바타는 공으로부터 팔의 길이만큼 떨어져 있을 수 있다. 사용자가 공과 상호작용하여 공을 잡고자 하는 경우, 이것은 잡기 제스처를 하는 동안 사용자가 그의 팔(302-310)을 완전히 뻗는 것을 필요로 할 수 있다. 이 상황에서, 사용자가 그의 팔(302-310)을 단지 부분적으로 뻗는 유사한 잡기 제스처는 공과 상호작용하는 결과를 달성하지 않을 수 있다.
제스처 또는 그의 일부분은 제스처가 행해져야만 하는 공간의 체적을 매개변수로서 가질 수 있다. 제스처가 신체 움직임을 포함하는 경우, 공간의 이 체적은 통상적으로 신체와 관련하여 표현될 수 있다. 예를 들어, 오른손잡이 사용자에 대한 미식축구공 던지기 제스처가 오른쪽 어깨(310a)보다 낮지 않고 머리(322)에 대해 던지는 팔(302a-310a)과 동일한 쪽의 공간의 체적 내에서만 인식될 수 있다. 이 던지기 제스처에서와 같이, 체적의 모든 경계를 정의할 필요가 없을 수 있으며, 이 경우 신체로부터 떨어진 외부 경계가 정의되지 않은 채로 있고, 체적은 무제한으로 또는 모니터링되고 있는 장면의 가장자리까지 뻗어 있다.
도 4b는 도 2의 제스처 인식기 엔진(190)의 예시적인 일 실시예의 추가 상세를 제공한다. 도시된 바와 같이, 제스처 인식기 엔진(190)은 제스처 또는 제스처들을 결정하기 위해 적어도 하나의 필터(418)를 포함할 수 있다. 필터(418)는 제스처(426)(이후부터 "제스처"라고 함)를 정의하는 정보를 포함하며, 또한 그 제스처에 대한 매개변수(428) 또는 메타데이터를 포함할 수 있다. 예를 들어, 신체의 후방으로부터 신체의 전방으로의 하나의 손의 움직임을 포함하는 던지기는 신체의 후방으로부터 신체의 전방으로의 사용자의 하나의 손의 움직임을 나타내는 정보를 포함하는 제스처(426)로서 구현될 수 있는데, 그 이유는 그 움직임이 깊이 카메라에 의해 캡처될 것이기 때문이다. 이어서 그 제스처(426)에 대해 매개변수(428)가 설정될 수 있다. 제스처(426)가 던지기인 경우, 매개변수(428)는 손이 도달해야만 하는 임계값 속도, 손이 이동해야 하는 거리(절대적 또는 전체로서 사용자의 크기에 대해 상대적), 및 제스처가 발생했다는 인식기 엔진에 의한 신뢰도 평가(confidence rating)일 수 있다. 제스처(426)에 대한 이들 매개변수(428)는 응용 프로그램들 간에, 단일 응용 프로그램의 컨텍스트들 간에, 또는 하나의 응용 프로그램의 한 컨텍스트 내에서 시간에 따라 변할 수 있다.
필터는 모듈 방식이거나 상호교환가능할 수 있다. 일 실시예에서, 필터는 각각이 유형을 갖는 다수의 입력 및 각각이 유형을 갖는 다수의 출력을 가진다. 이 상황에서, 제1 필터는, 인식기 엔진 아키텍처의 어떤 다른 측면도 변경하지 않고, 제1 필터와 동일한 수 및 유형의 입력 및 출력을 가지는 제2 필터로 대체될 수 있다. 예를 들어, 입력으로서 골격 데이터를 받고 필터와 연관된 제스처가 행해지고 있을 신뢰도 및 조향 각도를 출력하는 구동용 제1 필터가 있을 수 있다. 이 제1 구동 필터를 제2 구동 필터로 대체하고자 하는 경우 - 어쩌면 제2 구동 필터가 보다 효율적이고 더 적은 수의 처리 리소스를 필요로 하기 때문임 -, 제2 필터가 그 동일한 입력 및 출력 - 골격 데이터 유형의 하나의 입력과 신뢰도 유형 및 각도 유형의 2개의 출력 - 을 가지는 한, 제1 필터를 제2 필터로 대체하기만 함으로써 그렇게 할 수 있다.
필터는 매개변수를 가질 필요가 없다. 예를 들어, 사용자의 신장을 반환하는 "사용자 신장(user height)" 필터는 조정될 수 있는 어떤 매개변수도 허용하지 않을 수 있다. 대안의 "사용자 신장" 필터는 조정가능한 매개변수 - 사용자의 신장을 결정하는 데 사용자의 신발, 헤어스타일, 모자 및 자세를 고려해야 할지 여부 등 - 를 가질 수 있다.
필터에 대한 입력은 관절에서 만나는 뻐들에 의해 형성되는 각도와 같은 사용자의 관절 위치에 관한 관절 데이터, 장면으로부터의 RGB 컬러 데이터, 및 사용자의 측면의 변화율과 같은 것들을 포함할 수 있다. 필터로부터의 출력은 주어진 제스처가 행해질 신뢰도, 제스처 움직임이 행해지는 속도, 및 제스처 움직임이 행해지는 시간과 같은 것들을 포함할 수 있다.
컨텍스트가 문화 컨텍스트일 수 있고, 컨텍스트가 환경 컨텍스트일 수 있다. 문화 컨텍스트는 시스템을 사용하는 사용자의 문화를 말한다. 상이한 문화는 유사한 제스처를 사용하여 아주 상이한 의미를 부여할 수 있다. 예를 들어, 다른 사용자에게 "보라고" 또는 "자신의 눈을 사용하라고" 말하고자 하는 미국 사용자는 집게 손가락을 눈의 원단쪽에 가까운 머리 위에 둘 수 있다. 그렇지만, 이탈리아 사용자에게는, 이 제스처가 마피아에 대한 언급으로서 해석될 수 있다.
이와 유사하게, 단일 응용 프로그램의 상이한 환경들 간에 상이한 컨텍스트가 있을 수 있다. 자동차를 작동시키는 것을 포함하는 1인칭 슈팅 게임을 생각해보자. 사용자가 걷고 있는 동안, 손가락을 지면 쪽으로 향하게 한 상태에서 주먹을 쥐는 것 및 전방으로 신체로부터 멀어지게 주먹을 뻗는 것은 펀치 제스처를 나타낼 수 있다. 사용자가 운전 컨텍스트에 있는 동안, 그 동일한 동작은 "기어 변속" 제스처를 나타낼 수 있다. 또한, 하나 이상의 메뉴 환경이 있을 수 있으며, 이 경우 사용자는 자신의 게임을 저장하거나, 자신의 캐릭터의 장비 중에 선택하거나, 직접적인 게임-플레이를 포함하지 않는 유사한 동작을 수행할 수 있다. 그 환경에서, 이 동일한 제스처가 어떤 것을 선택하는 것 또는 다른 장면으로 진행하는 것과 같은 제3 의미를 가질 수 있다.
제스처 인식기 엔진(190)은 기능을 제스처 필터(418)에 제공하는 베이스 인식기 엔진(base recognizer engine)(416)을 가질 수 있다. 일 실시예에서, 인식기 엔진(416)이 구현하는 기능은 인식된 제스처 및 기타 입력을 추적하는 시간에 따른 입력 보관(input-over-time archive), 은닉 마코프 모델(Hidden Markov Model) 구현(모델링된 시스템이 마코프 프로세스 - 현재 상태가 미래 상태를 결정하는 데 필요한 임의의 과거 상태 정보를 캡슐화하고 따라서 이 목적을 위해 어떤 다른 과거 상태 정보도 유지되어서는 안되는 프로세스 - 인 것으로 가정되고, 미지의 매개변수 및 은닉 매개변수가 관찰가능 데이터로부터 결정되는 경우)은 물론, 제스처 인식의 특정의 인스턴스를 해결하는 데 필요한 다른 기능을 포함한다.
필터(418)는 베이스 인식기 엔진(416) 상부에 로드되어 구현되며, 엔진(416)에 의해 모든 필터(418)에 제공되는 서비스를 이용할 수 있다. 일 실시예에서, 베이스 인식기 엔진(416)은 수신된 데이터를 처리하여, 수신된 데이터가 임의의 필터(418)의 요구사항을 만족시키는지를 판정한다. 입력을 파싱하는 것과 같은 이들 제공된 서비스가 각각의 필터(418)에 의해서라기보다는 베이스 인식기 엔진(416)에 의해 한번 제공되기 때문에, 이러한 서비스는 어떤 기간에 필터(418)마다 한번씩이 아니라 그 기간에 한번 처리되기만 하면 되며, 따라서 제스처를 결정하는 데 필요한 처리가 감소된다.
응용 프로그램은 인식기 엔진(190)에 의해 제공되는 필터(418)를 사용할 수 있거나, 베이스 인식기 엔진(416)에 플러그 인(plug in)되어 있는 그 자신의 필터(418)를 제공할 수 있다. 일 실시예에서, 모든 필터(418)는 이 플러그 인(plug-in) 특성을 가능하게 해주기 위해 공통의 인터페이스를 가진다. 게다가, 모든 필터(418)는 매개변수(428)를 이용할 수 있고, 따라서 이하에 기술된 단일 제스처 도구가 필터 시스템(418) 전체를 디버그하고 조정하는 데 사용될 수 있다.
이들 매개변수(428)는 제스처 도구(420)에 의해 응용 프로그램 또는 응용 프로그램의 컨텍스트에 대해 조정될 수 있다. 일 실시예에서, 제스처 도구(420)는 복수의 슬라이더(422)를 포함하며, 각각의 슬라이더(422)는 매개변수(428)는 물론, 신체(424)의 흉부 표현에 대응한다. 매개변수(428)가 대응하는 슬라이더(422)에 의해 조정될 때, 신체(424)는 그 매개변수(428)에 의해 제스처로서 인식될 동작 및 그 자체로서 식별되는 그 매개변수(428)에 의해 제스처로서 인식되지 않을 동작 둘다를 나타낼 수 있다. 제스처의 매개변수(428)의 이러한 시각화는 제스처를 디버그하기도 하고 미세 조정하기도 하는 효과적인 수단을 제공한다.
도 5는 적층된 제스처 또는 필터(418)로부터 생성되는 보다 복잡한 제스처 또는 필터(418)를 나타낸 것이다. 제스처가 서로에 적층될 수 있고, 적층된 필터는 이어서 복수의 다른 필터를 포함하는 필터로서 생각될 수 있다. 즉, 사용자에 의해 한번에 2개 이상의 제스처가 표현될 수 있다. 예를 들어, 던지기 제스처가 행해질 때 던지기 이외에 어떤 입력도 허용되지 않거나 제스처의 구성요소를 제외하고는 사용자가 움직이지 않는 채로 있어야 하는 것(하나의 팔만을 필요로 하는 던지기 제스처를 하는 동안 가만히 서 있는 것)은 아니다. 제스처가 적층되는 경우, 사용자는 점프 제스처와 던지기 제스처를 동시에 할 수 있고, 이들 제스처 둘다가 제스처 엔진에 의해 인식될 것이다.
도 5a는 적층 패러다임(stacking paradigm)에 따른 간단한 제스처 필터(418)를 나타낸 것이다. IFilter 필터(502)는 모든 제스처 필터에서 사용될 수 있는 기본 필터(418)이다. IFilter(502)는 사용자 위치 데이터(504)를 받고 제스처가 행해졌다는 신뢰 수준(506)을 출력한다. 이는 또한 그 위치 데이터(504)를 SteeringWheel 필터(508)에 피드하고, SteeringWheel 필터는 이를 입력으로 받아 사용자가 조향하고 있는 각도(예를 들어, 사용자의 현재 방향의 오른쪽으로 40도)(510)를 출력한다.
도 5b는 도 5a의 제스처 필터 상에 필터(418)를 적층하는 보다 복잡한 제스처를 나타낸 것이다. IFilter(502) 및 SteeringWheel(508)에 부가하여, IFilter(502)로부터 위치 데이터(504)를 수신하고 제스처(514)를 통해 사용자가 전진한 양을 출력하는 ITracking 필터(512)가 있다. ITracking(512)은 또한, 비상 브레이크를 사용하는 것과 같이, 차량을 조작할 때 행해질 수 있는 다른 제스처에 관한 필터(418)인 GreaseLightning(514) 및 EBrake(516)에 위치 데이터(504)를 피드한다.
제스처를 적층하는 다른 실시예가 있다. 일 실시예에서, 위치 데이터(504)가, IFilter(502)를 통하기보다는, 적층된 제스처의 모든 필터에 직접 전달되고, 인식기 엔진의 구성요소는 각각의 필터가 어떻게 상호 연동하는지를 결정한다. 예를 들어, 점프 필터 및 던지기 필터의 경우, 어떤 다른 사용자 동작도 행해지지 않을 때 각각이 독립적으로 인식될 수 있지만, 이 구성요소는 각각의 필터로부터의 각자의 출력에 기초하여 점프 및 던지기일 수 있는 어떤 사용자 입력이 동시에 행해지고 있다는 것을 인식할 것이다. 이 구성요소는 그러며 던지기 필터를 덜 엄격하게(예를 들어, 매개변수를 만족하도록 적당한 값의 범위를 확장하여) 그리고 "던지기일지도 모르는 어떤 입력"이 던지기로서 인식될 수 있다는 것에 기초하여 해석할 수 있다.
도 6은 사용자(602)가 미식축구 비디오 게임에서 "페어 캐치"에 대한 신호를 보내기 위해 할 수 있는 예시적인 제스처를 나타낸 것이다. 이들 도면은 여러 시점에서의 사용자를 나타낸 것이며, 도 6a는 제1 시점이고, 도 6e는 마지막 시점이다. 이들 도면 각각은 깊이 카메라(402)에 의해 캡처된 스냅샷 또는 이미지 데이터의 프레임(꼭 이미지 데이터의 연속적인 프레임일 필요는 없음)에 대응할 수 있는데, 그 이유는 깊이 카메라(402)가 사용자가 거리를 이동할 수 있는 것보다 더 빠르게 프레임을 캡처할 수 있기 때문이다. 예를 들어, 이 제스처는 3초의 기간에 걸쳐 행해질 수 있고, 깊이 카메라가 초당 40 프레임으로 데이터를 캡처하는 경우, 사용자(602)가 이 페어 캐치 제스처를 하는 동안에 깊이 카메라는 60 프레임의 이미지 데이터를 캡처할 것이다.
도 6a에서, 사용자(602)는 자신의 팔(604)을 옆구리 아래에 둔채로 시작한다. 사용자는 이어서 도 6b에 나타낸 바와 같이 자신의 팔을 어깨 위로 들어올리고, 이어서 도 6c에 나타낸 바와 같이, 더 위로 올려 대략 머리 높이까지 올린다. 그곳으로부터, 사용자는 도 6d에 나타낸 바와 같이 자신의 팔(604)을 어깨 높이까지 내리고, 도 6e에 나타낸 바와 같이, 다시 팔을 위쪽으로 대략 머리 높이까지 들어올린다. 시스템이 제스처가 취소되거나 다른 제스처가 행해지고 있다는 것을 신호할 수 있는 어떤 중간 위치도 없이 사용자(602)에 의한 이들 위치를 캡처하는 경우, 시스템은 페어 캐치 제스처가 사용자(602)에 의해 행해진 것으로 인식할 수 있다.
도 7은 사용자의 골격 맵을 생성하기 위해 이미지 데이터의 각각의 프레임이 파싱되었을 때 도 5의 예시적인 "페어 캐치" 제스처를 나타낸 것이다. 사용자의 깊이 이미지로부터 골격 맵을 생성한 시스템은 이제 그 사용자의 신체가 시간에 따라 어떻게 움직이는지를 결정하고 그것으로부터 제스처를 파싱할 수 있다.
도 7a에서, 사용자의 어깨(310)는 팔꿈치(306)보다 위에 있고, 팔꿈치(306)는 또한 손(302)보다 위에 있다. 도 7b에서, 어깨(310), 팔꿈치(306) 및 손(302)은 이어서 균등한 높이에 있다. 시스템은 이어서 도 7c에서 손(302)이 팔꿈치보다 위에 있고, 팔꿈치가 어깨(310)보다 위에 있다는 것을 검출한다. 도 7d에서, 사용자는 어깨(310), 팔꿈치(306) 및 손(302)이 균등한 높이에 있는 도 7b의 위치로 되돌아왔다. 도 7e에 도시된 제스처의 최종 위치에서, 사용자는 손(302)이 팔꿈치보다 위에 있고 팔꿈치가 어깨(310)보다 위에 있는 도 7c의 위치로 되돌아간다.
임의의 하나의 이미지에서 사용자가 정지해 있는 것처럼 보이도록 깊이 카메라(402)가 일련의 정지 영상을 캡처하는 동안, (전술한 바와 같이, 정지해 있는 제스처가 아니라) 사용자는 이 제스처를 수행하는 동안 움직이고 있다. 시스템은 각각의 정지 영상에서의 이 일련의 자세를 받고, 그것으로부터 사용자가 행하고 있는 움직이는 제스처를 결정할 수 있다.
제스처를 수행할 때, 사용자는, 오른쪽 어깨(310a), 오른쪽 팔꿈치(306a) 및 오른쪽 손(302a)에 의해 형성되는 각도, 예를 들어, 140° 내지 145°로 만들 수 있기는 쉽지 않다. 따라서, 페어 캐치 제스처(428)를 위해 필터(418)를 사용하는 응용 프로그램은 응용 프로그램의 구체적 사항을 최상으로 수행하기 위해 연관된 매개변수(426)를 조정할 수 있다. 예를 들어, 팔꿈치(306) 위치에 관계없이, 사용자의 손(302)이 어깨(310)보다 위에 있을 때마다 도 7c 및 도 7e에서의 위치가 인식될 수 있다. 보다 엄격한 일련의 매개변수는 손(302)이 머리(310)보다 위에 있는 것과 팔꿈치(306)가 어깨(310)보다 위에 있는 동시에 머리(322)와 손(302) 사이에 있는 것을 필요로 할 수 있다. 그에 부가하여, 페어 캐치 제스처(428)에 대한 매개변수(426)는 사용자가 지정된 기간(1.5초 등) 내에 도 7a의 위치로부터 도 7e의 위치를 통해 움직일 것을 필요로 할 수 있으며, 사용자가 이들 위치를 통해 움직이는 데 1.5초보다 오래 걸리는 경우, 이는 페어 캐치(418)로서 인식되지 않을 것이다.
도 8은 제스처 필터 라이브러리(802)로부터의 일반 제스처 필터(806)가 특정의 작업에 대한 보완적인 제스처 필터의 장르 패키지(804)로 그룹화되는 방법을 나타낸 것이다. 제스처 필터 라이브러리(802)는 시스템에 의해 제공된 모든 제스처 필터(806)를 취합한다. 일 실시예에서, 응용 프로그램은 그 응용 프로그램의 사용을 위해 부가의 제스처 필터를 제공할 수 있다. 일반 제스처 필터는 "팔로 던지기"(806a) 및 "웅크리기"(806b)와 같은 것들을 포함한다. 이들 제스처 필터는 이어서 장르 패키지(804)에서 서로 그룹화된다.
장르 패키지(804)는 장르 내에서 공통으로 사용되는 그 제스처를 포함할 수 있다. 예를 들어, 1인칭 슈팅(first-person shooter)(FPS) 장르 패키지(804a)는 무기를 발포하는 것(812c), 발사체를 발사하는 것(812d), 펀치하는 것(812e), 문을 여는 것(812f), 웅크리는 것(812g), 점프하는 것(812h), 달리는 것(812i), 및 회전하는 것(812j)에 대한 제스처 필터를 가질 수 있다. 이 FPS 장르 패키지(804a)는 일반 FPS 장르 패키지(808a) - 많은 수의 FPS 응용 프로그램에서 적절히 동작할 가능성이 있도록 조정되거나 설정된 제스처 필터 매개변수를 갖는 장르 패키지 - 를 제공하는 것으로 생각될 수 있다.
장르 패키지는 알려진 장르 또는 응용 프로그램에 대해 동작하는 보완적 제스처 필터의 그룹으로 제한되지 않는다. 장르 패키지는 적절한 장르가 아직 식별되지 않았더라도, 응용 프로그램 또는 장르에 의해 사용되는 필터들 또는 보완적인 필터들의 부분집합을 포함하는 제스처 필터를 포함할 수 있다.
이어서, 응용 프로그램이 그 응용 프로그램의 상세를 만족시키도록 일반 장르 패키지를 조정할 수 있다. 응용 프로그램은 장르 패키지 내의 필터의 매개변수에 대한 값을 설정함으로써 일반 장르 패키지를 조정할 수 있다. 예를 들어, 게임 A(810a)의 제작자는 문을 여는 제스처 필터(812f)를 등록하는 데 예증적 움직임이 요구되는 경우에 자신의 게임이 가장 잘 동작한다고 결정할 수 있는데, 그 이유는 그렇지 않은 경우 이는 펀치하는 제스처 필터(812e)와 너무 유사하기 때문이다. 그렇지만, 게임 B의 제작자는 이것이 관심사가 아니라고 결정하고, 문을 여는 제스처 필터(812fB)를 등록하기 위해 보다 적당한 움직임만을 필요로 할 수 있다.
장르 패키지가 기계 판독가능 명령어를 포함하는 실시예에서, 장르 패키지는 소스 코드 형태의 또는 명령어의 어느 정도의 컴파일을 반영하는 형태의 명령어로서 제공될 수 있다.
도 9는 응용 프로그램이 하나의 필터의 하나의 매개변수에 대한 값을 제공할 때 필터 패키지 내의 보완적인 제스처 필터를 조정하는 예시적인 동작 절차를 나타낸 것이다.
동작(902)은 복수의 필터를 포함하는 패키지를 제공하는 것을 나타내며, 각각의 필터는 제스처 및 적어도 하나의 매개변수에 관한 정보를 포함하고, 각각의 필터는 패키지 내의 적어도 하나의 다른 필터와 보완적이다. 패키지는 특정의 장르에 대한 제스처 필터를 나타낼 수 있다. 예를 들어, 비디오 게임에 대한 장르 패키지는 1인칭 슈팅, 액션, 운전 및 스포츠와 같은 장르를 포함할 수 있다.
본 명세서에서 사용되는 바와 같이, 적어도 하나의 실시예에서, "패키지를 제공하는 것"은 패키지 내의 필터에 대응하는 프로그래밍 언어 라이브러리 파일에의 액세스를 허용하는 것 또는 응용 프로그램에 대한 응용 프로그래밍 인터페이스(API)에의 액세스를 허용하는 것을 말할 수 있다. 응용 프로그램의 개발자는 라이브러리 파일을 로드하고 이어서 적절한 경우 메서드 호출을 할 수 있다. 예를 들어, 스포츠 패키지의 경우, 대응하는 스포츠 패키지 라이브러리 파일이 있을 수 있다.
응용 프로그램에 포함될 때, 응용 프로그램은 주어진 API에 따라 스포츠 패키지를 사용하는 호출을 할 수 있다. 이러한 API는 필터에 대한 매개변수의 값을 반환하는 것, 필터에 대한 매개변수의 값을 설정하는 것, 필터의 ID를 응용 프로그램의 어떤 부분을 트리거하는 것(사용자가 적절한 테니스 라켓 스윙 제스처를 할 때 사용자-제어 테니스 플레이어로 하여금 테니스 라켓을 스윙하게 하는 것 등)과 상관시키는 것을 포함할 수 있다.
이상에서 기술한 바와 같이, 제스처는 아주 다양한 것들을 포함할 수 있다. 제스처는, 예를 들어, 웅크리기, 점프, 기대기, 팔로 던지기, 토스하기, 스윙, 피하기, 차기 및 블로킹 중 어느 것이라도 될 수 있다. 이와 마찬가지로, 제스처는 사용자 인터페이스를 탐색하는 것에 대응할 수 있다. 예를 들어, 사용자는 자신의 손을 손가락은 위를 가리키고 손바닥은 3D 카메라 쪽으로 향해 있도록 하고 있을 수 있다. 사용자는 이어서 주먹을 쥐기 위해 손가락을 손바닥 쪽으로 오므릴 수 있고, 이것은 창-기반 사용자 인터페이스 컴퓨팅 환경에서의 포커스된 창(focused window)이 닫혀야만 한다는 것을 나타내는 제스처일 수 있다.
응용 프로그램 내의 아바타가 펀치를 날리는 것부터 응용 프로그램 내의 창이 닫혀야 하는 것까지의 모든 것을 나타내기 위해 제스처가 사용될 수 있기 때문에, 비디오 게임부터 텍스트 편집기까지 아주 다양한 응용 프로그램이 제스처를 이용할 수 있다.
보완적인 제스처 필터 - 서로 공통으로 사용되는 제스처 필터에서와 같이 보완적이거나 하나의 제스처 필터의 매개변수의 변경이 다른 제스처 필터의 매개변수를 변경하게 되는 것에서와 같이 보완적임 - 가 서로 그룹화되어, 그 장르 내의 응용 프로그램에 의해 사용될 가능성이 있는 장르 패키지에 넣어질 수 있다. 이들 패키지는 적어도 하나의 패키지를 선택할 수 있는 응용 프로그램에 의해 이용가능하거나 식별될 수 있다. 응용 프로그램은, 응용 프로그램의 고유의 측면에 가장 적합하도록, 선택된 패키지 내의 필터의 매개변수(들)를 조정하거나 수정할 수 있다. 그 매개변수가 조정될 때, 필터 또는 제2 필터 중 어느 하나의 제2의 보완적 매개변수(상호의존적 의미에서)는 또한 매개변수가 보완적인 채로 있도록 조정될 수 있다.
응용 프로그램-결정 매개변수는 응용 프로그램이 있는 컨텍스트에 기초하여 변할 수 있다. 그를 위해, 응용 프로그램은 필터에 대한 응용 프로그램-결정 매개변수에 복수의 값을 할당할 수 있으며, 각각의 값은 상이한 컨텍스트에 대응한다. 이상에서 논의된 바와 같이, 이 컨텍스트는 문화 컨텍스트 또는 환경 컨텍스트일 수 있다.
동작(904)은 제1 필터의 매개변수에 값을 할당하는 것의 표시를 수신하는 것을 나타낸다. 응용 프로그램-결정 매개변수는 신체 부위, 공간의 체적, 속도, 움직임의 방향, 각도, 및 움직임이 일어나는 장소와 같은 필터의 아주 다양한 특성들 중 임의의 것을 포함할 수 있다.
일 실시예에서, 응용 프로그램-결정 매개변수의 값은 제스처를 하는 것을 통해 응용 프로그램의 최종 사용자에 의해 결정된다. 예를 들어, 사용자가 생각하기에 제스처가 어느 움직임을 포함해야 하는지를 사용자가 지정할 수 있도록, 응용 프로그램은 사용자가 응용 프로그램을 훈련시킬 수 있게 해줄 수 있다. 이것은 자신의 운동 기능(motor skill)을 잘 제어하지 못하는 사용자가 어느 움직임을 할 수 있는지를 대응하는 제스처와 링크시킬 수 있게 해주는 데 유익할 수 있다. 이것이 이용가능하지 않은 경우, 사용자는 좌절할 수 있는데, 그 이유는 사용자가 제스처를 생성하기 위해 응용 프로그램에 의해 요구되는 방식으로 자신의 신체를 움직이게 할 수 없기 때문이다.
보완적 필터 - 상호 관련된 매개변수를 가지는 복수의 필터 - 가 존재하는 실시예에서, 제1 필터의 응용 프로그램-결정 매개변수에 대한 값을 응용 프로그램으로부터 수신하는 것은 제1 필터의 응용 프로그램-결정 매개변수를 그 값으로 설정하는 것 및 제1 필터의 매개변수의 값에 기초하여 제2의 보완적인 필터의 보완적인 응용 프로그램-결정 매개변수를 설정하는 것 둘다를 포함할 수 있다. 예를 들어, 특정 방식으로 미식축구공을 던지는 사용자가 특정 방식으로 야구공도 던질 가능성이 있다고 결정할 수 있다. 따라서, 미식축구공 던지기 제스처에 대한 필터에 관한 속도 매개변수와 같은 하나의 필터의 특정의 응용 프로그램-결정 매개변수가 특정의 방식으로 설정되어야만 하는 것으로 판정되는 경우, 야구공 던지기 제스처에 관한 속도 매개변수와 같은 다른 보완적인 응용 프로그램-결정 매개변수가 그 제1 응용 프로그램-결정 매개변수가 어떻게 설정되는지에 기초하여 설정될 수 있다.
이것이 주어진 응용 프로그램-결정 매개변수 또는 심지어 필터들에 걸쳐 동일한 유형의 응용 프로그램-결정 매개변수에 대해 동일한 값일 필요는 없다. 예를 들어, 미식축구공 던지기가 X m/s의 전방 팔 속도로 행해져야만 할 때, 미식축구공 잡기가 몸통으로부터 적어도 Y m 떨어져 있는 손으로 행해져야만 한다는 것일 수 있다.
팔 속도는 X 초과와 같이, 이 값이 임계값일 수 있다. 팔 속도는 X와 같이, 이 값이 절대적인 것일 수 있다. 팔 속도가 X로부터 Y 내에 있는 것과 같이 위반 허용 범위가 있을 수 있다. 팔 속도가 X 이상 Z 미만과 같이 이 값이 또한 범위도 포함할 수 있다.
동작(906)은 제1 필터의 매개변수에 값을 할당하는 것을 나타낸다. 매개변수와 그의 값 사이의 연관이 데이터베이스에 저장되는 경우, 이것은 매개변수와의 연관과 함께 값을 데이터베이스에 저장하는 것을 포함할 수 있다.
동작(908)은 제2 값을 제2 필터의 제2 매개변수에 할당하는 것을 나타내고, 제2 값은 제1 필터의 매개변수에 할당된 값을 사용하여 결정된다. 앞서 논의된 바와 같이, 제2 값은 다양한 방식으로 제1 값과 관련될 수 있다. 2개의 매개변수가 임계값 점프 높이와 같은 실질적으로 유사한 무언가를 포함하는 경우, 제2 값은 제1 값과 같을 수 있다. 제2 값과 제1 값은 비례 관계, 역비례 관계, 선형 관계, 지수 관계, 및 값을 입력으로서 받는 함수와 같은 각종의 다른 관계를 가질 수 있다.
개체-지향 구현에서와 같이 필터가 서로로부터 특성을 상속받을 수 있는 실시예에서, 제2 필터는 제1 필터의 자식을 포함할 수 있고, 제1 필터는 마찬가지로 제2 필터에 대한 부모이다. 예를 들어, "손바닥 치기" 필터를 생각해보자. 이 필터는 "하이 파이브", "하이 텐" 및 "로우 파이브"와 같은 손바닥 치기의 변형에 대한 부모로서 역할할 수 있다. "손바닥 치기"가 "손 움직임 거리 임계값" 매개변수를 가지는 경우, 그 매개변수에 대한 값이 설정될 때, 모든 자식 필터에 대한 "손 움직임 거리 임계값" 매개변수가 그 동일한 값으로 설정될 수 있다.
이와 마찬가지로, 2개의 매개변수의 보완적인 성질은 한 필터가 다른 필터에 포함되도록 적층되는 것으로 인한 것일 수 있다. 한 필터는 조향 필터일 수 있고, 그 필터는 운전 필터를 생성하기 위해 기어 변속, 가속 및 감속과 같은 다른 필터들과 적층된다. 조향 필터의 "최소 조향 각도 임계값" 매개변수가 수정될 때, 운전 필터의 대응하는 "최소 조향 각도 임계값"도 역시 수정될 수 있다.
동작(910)은 사람의 이미지를 포함하는 데이터를 수신하는 것, 및 데이터가 특정의 필터와 일치하는지(따라서 특정의 제스처를 나타내는지)를 판정하기 위해 필터를 파싱할 때, 패키지에 있지 않은 필터에 대한 데이터를 파싱하기 전에 선택된 패키지 내의 각각의 필터에 대한 데이터를 파싱하는 것의 선택적인 동작을 나타낸다. 응용 프로그램이, 그 필터 패키지에 대한 라이브러리 파일을 포함시키는 등에 의해, 사용하기 위한 필터 패키지를 선택하는 경우, 응용 프로그램은 그렇게 할 가능성이 있는데, 그 이유는 그 필터가 응용 프로그램의 사용자에 의해 빈번하게 사용될 것이기 때문이다. 게다가, 1인칭 슈팅 패키지에서의 달리기, 점프, 기총소사(strafe), 웅크리기, 및 무기 발포 필터에서와 같이, 필터 패키지 내의 필터가 짧은 시간 간격으로 연속하여 사용될 수 있다. 이를 위해, 필터 패키지가 응용 프로그램에 의해 사용되는 것으로 식별된 경우, 전술한 베이스 필터 엔진과 같은 시스템 처리 필터가, 선택된 필터 패키지를 구성하는 필터에 대한 데이터를 먼저 처리함으로써, 사용자 입력에 대응하는 이미지 데이터를 처리하는 데 필요한 처리 리소스를 감소시킬 가능성이 있을 수 있다.
동작(912)은 제3 값을 제2 매개변수에 할당하는 것의 표시를 수신하는 것 및 제3 값을 제2 매개변수에 할당하는 것의 선택적인 동작을 나타낸다. 2개의 매개변수 사이의 관계가 쌍방(bilateral)일 필요는 없다. 값의 변경이 제2 값에 영향을 주지만 제2 값의 변경이 제1 값에 영향을 주지 않을 수 있다.
동작(914)은 제4 값을 매개변수에 할당하는 것의 선택적인 동작을 나타내고, 제4 값은 제3 값을 사용하여 결정된다. 또한, 2개의 매개변수 사이의 관계가 쌍방일 수 있다. 이 실시예에서, 제2 매개변수의 새로운 값을 사용하여 결정되는 바와 같이, 제2 매개변수의 값의 변경으로 인해 제1 매개변수의 값이 변경된다.
동작(916)은 사람의 이미지를 포함하는 데이터를 수신하는 것, 데이터가 패키지의 제1 필터와 일치하는지를 판정하는 것, 및 필터와 동시에 사용자에 의해 나타내어질 수 없는 필터에 대한 데이터를 파싱하기 전에 제1 필터와 동시에 사용자에 의해 나타내어질 수 있는 패키지 내의 각각의 다른 필터에 대한 데이터를 파싱하는 것의 선택적인 동작을 나타낸다. 일 실시예에서, 1인칭 슈팅 패키지에서의 동시적인 달리기 필터 및 무기 발포 필터와 같이, 필터 패키지 내의 필터가 동시에 사용될 수 있다. 이를 위해, 필터 패키지가 응용 프로그램에 의해 사용되는 것으로 식별된 경우, 전술한 베이스 필터 엔진과 같은 시스템 처리 필터가, 필터 패키지를 구성하는 필터에 대한 데이터를 먼저 처리함으로써, 사용자 입력에 대응하는 이미지 데이터를 처리하는 데 필요한 처리 리소스를 감소시킬 가능성이 있을 수 있다.
결론
본 발명이 다양한 도면에 예시된 바람직한 측면과 관련하여 기술되어 있지만, 본 발명을 벗어나지 않고 본 발명의 동일한 기능을 수행하기 위해, 다른 유사한 측면이 사용될 수 있거나 기술된 측면에 대해 수정 및 추가가 행해질 수 있다는 것을 잘 알 것이다. 따라서, 본 발명이 임의의 하나의 측면으로 제한되어서는 안되고, 오히려 첨부된 특허청구범위에 따라 그의 범위 및 폭이 해석되어야 한다. 예를 들어, 본 명세서에 기술된 다양한 절차가 하드웨어 또는 소프트웨어 또는 이 둘의 조합으로 구현될 수 있다. 따라서, 개시된 실시예의 방법 및 장치, 또는 개시된 실시예의 어떤 측면 또는 일부분이 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 임의의 다른 기계 판독가능 저장 매체 등의 유형의 매체(tangible media)에 구현된 프로그램 코드(즉, 명령어)의 형태를 가질 수 있다. 프로그램 코드가 컴퓨터 등의 기계에 로드되어 실행될 때, 그 기계는 개시된 실시예를 실시하도록 구성된 장치가 된다. 본 명세서에 명확히 기재된 특정의 구현에 부가하여, 다른 측면 및 구현이 본 명세서에 개시된 명세서를 고려하면 당업자에게 명백하게 될 것이다. 본 명세서 및 예시된 구현은 단지 일례로서 보아야 한다.
Claims (15)
- 보완적인 제스처 필터들의 패키지를 응용 프로그램에 제공하는 방법으로서,
복수의 필터를 포함하는 패키지를 제공하는 단계(902) - 각각의 필터는 제스처에 관한 정보를 포함하고, 적어도 하나의 필터는 상기 패키지 내의 적어도 하나의 다른 필터와 보완적임 -,
제1 필터의 매개변수에 제1 값을 할당한다는 표시를 수신하는 단계(904),
상기 매개변수에 상기 값을 할당하는 단계(906), 및
제2 필터의 제2 매개변수에 제2 값을 할당하는 단계(908) - 상기 제2 값은 상기 제1 값을 사용하여 결정됨 -
를 포함하는 방법. - 제1항에 있어서, 상기 제1 필터의 상기 매개변수가 신체 일부, 공간의 체적, 속도, 움직임의 방향, 각도, 2차원(2D) 평면 또는 움직임이 일어나는 장소를 나타내는 방법.
- 제1항에 있어서, 상기 제스처가 웅크리기, 점프, 기대기, 팔로 던지기, 토스하기, 스윙, 피하기, 차기 또는 블로킹을 포함하는 방법.
- 제1항에 있어서, (i) 필터가 상기 패키지 내의 적어도 하나의 다른 필터의 매개변수에 기초하여 결정되는 적어도 하나의 매개변수를 갖는 경우, (ii) 필터가 상기 패키지 내의 적어도 하나의 다른 필터에 의해 표현되는 제스처의 짧은 기간 내에 사용자에 의해 공통적으로 행해지는 제스처를 나타내는 경우, 또는 (iii) 필터에 의해 표현된 제스처가 상기 패키지 내의 적어도 하나의 필터에 의해 표현된 제스처와 동시에 행해질 수 있는 경우에, 그 필터가 상기 패키지 내의 적어도 하나의 다른 필터와 보완적인 방법.
- 제1항에 있어서, 상기 매개변수에 상기 값을 할당한다는 표시는 사용자가 상기 제스처를 한 것의 결과로서 수신되는 방법.
- 제1항에 있어서, 상기 값이 고정된 값, 범위 또는 허용 오차를 갖는 값인 방법.
- 제1항에 있어서, 상기 제2 값이 비례 관계, 역비례 관계, 선형 관계, 지수 관계, 또는 상기 제1 값을 입력으로 취하는 함수에 기초하여 상기 제1 값을 사용하여 결정되는 방법.
- 제1항에 있어서, 상기 패키지가 특정의 장르에 대한 보완적인 제스처 필터를 포함하고, 상기 장르가 1인칭 슈팅, 액션, 운전 또는 스포츠 장르 중 하나인 방법.
- 제1항에 있어서, 상기 응용 프로그램은 비디오 게임 또는 운영 체제인 방법.
- 제1항에 있어서,
상기 제2 매개변수에 제3 값을 할당한다는 표시를 수신하는 단계, 및
상기 제2 매개변수에 상기 제3 값을 할당하는 단계
를 더 포함하는 방법. - 보완적인 필터들의 패키지를 응용 프로그램에 제공하는 시스템으로서,
적어도 하나의 필터들의 패키지를 포함하는 필터 라이브러리(802) - 각각의 필터는 제스처에 관한 정보를 포함하고, 상기 적어도 하나의 패키지의 적어도 하나의 필터는 상기 패키지 내의 적어도 하나의 다른 필터와 보완적임 -, 및
상기 응용 프로그램에 필터 패키지를 제공하고, 사용자의 적어도 일부의 적어도 하나의 이미지에 대응하는 데이터를 수신하며, 상기 데이터가 적어도 2개의 일치된 필터에 대응하는지를 결정하고, 상기 일치된 필터들 중 제1 필터가 상기 일치된 필터들 중 적어도 하나의 다른 필터와 어떻게 동작하는지를 결정하며, 각각의 일치된 필터에 대응하는 출력을 상기 응용 프로그램에 전송하는 회로(12)
를 포함하는 시스템. - 제11항에 있어서, 상기 출력은 신뢰 수준을 포함하고, 상기 회로는, 적어도 하나의 다른 일치된 필터의 신뢰 수준에 기초하여 상기 제1 필터의 신뢰 수준을 변경함으로써, 제1 일치된 필터가 상기 적어도 하나의 다른 일치된 필터와 어떻게 동작하는지를 결정하는 시스템.
- 제11항에 있어서, 상기 회로는 또한, 상기 패키지 내에 있지 않은 필터에 대한 데이터를 파싱하기 전에, 상기 패키지 내의 각각의 필터에 대한 데이터를 파싱하여 상기 데이터가 상기 패키지의 필터들 중 하나 이상의 필터와 일치함을 나타내는지를 판정하는 시스템.
- 제11항에 있어서, 상기 회로는 또한,
상기 데이터에 대응하는 상기 적어도 하나의 필터와 동시에 파싱될 수 없는 필터에 대한 데이터를 파싱하기 전에, 상기 데이터에 대응하는 상기 적어도 하나의 필터와 동시에 파싱될 수 있는 상기 패키지 내의 각각의 다른 필터에 대한 데이터를 파싱하는 시스템. - 프로세서 상에서 실행될 때, 상기 프로세서로 하여금 동작들을 수행하게 하는 컴퓨터 판독가능 명령어를 포함하는 컴퓨터 판독가능 저장 매체로서,
상기 동작들은,
복수의 필터를 포함하는 패키지를 제공하는 동작(902) - 각각의 필터는 제스처에 관한 정보를 포함하고, 각각의 필터는 상기 패키지 내의 적어도 하나의 다른 필터와 보완적이며, 제스처는 거리 카메라에 의해 캡처되는 그 제스처와 연관된 움직임 또는 자세를 취하는 사용자에 의해 입력됨 -,
제1 필터의 매개변수에 제1 값을 할당한다는 표시를 수신하는 동작(904),
상기 매개변수에 상기 값을 할당하는 동작(906), 및
제2 필터의 제2 매개변수에 제2 값을 할당하는 동작(908) - 상기 제2 값은 상기 제1 값을 사용하여 결정됨 -
을 포함하는, 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14888409P | 2009-01-30 | 2009-01-30 | |
US61/148,884 | 2009-01-30 | ||
US12/391,150 | 2009-02-23 | ||
US12/391,150 US8487938B2 (en) | 2009-01-30 | 2009-02-23 | Standard Gestures |
PCT/US2010/021883 WO2010088156A2 (en) | 2009-01-30 | 2010-01-22 | Standard gestures |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110120276A true KR20110120276A (ko) | 2011-11-03 |
KR101679442B1 KR101679442B1 (ko) | 2016-11-24 |
Family
ID=42396296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117017692A KR101679442B1 (ko) | 2009-01-30 | 2010-01-22 | 표준 제스처 |
Country Status (9)
Country | Link |
---|---|
US (1) | US8487938B2 (ko) |
EP (1) | EP2384464B1 (ko) |
JP (1) | JP2012516507A (ko) |
KR (1) | KR101679442B1 (ko) |
CN (1) | CN102301311B (ko) |
BR (1) | BRPI1006166A2 (ko) |
CA (1) | CA2748497C (ko) |
RU (1) | RU2534941C2 (ko) |
WO (1) | WO2010088156A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210056832A (ko) * | 2019-11-11 | 2021-05-20 | 엠투엠글로벌(주) | 제스처 인식이 가능한 카트의 자율 주행 시스템 및 제스처 인식 방법 |
US11403866B2 (en) | 2014-10-17 | 2022-08-02 | Ebay Inc. | Method, medium, and system for fast 3D model fitting and anthropometrics using synthetic data |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100306716A1 (en) * | 2009-05-29 | 2010-12-02 | Microsoft Corporation | Extending standard gestures |
JP5320332B2 (ja) * | 2010-03-19 | 2013-10-23 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲーム装置の制御方法、及びプログラム |
EP2550578B1 (en) * | 2010-03-26 | 2017-08-16 | Hewlett Packard Development Company, L.P. | Method and apparatus for accessing a computer file when a user interacts with a physical object associated with the file |
US8638364B2 (en) * | 2010-09-23 | 2014-01-28 | Sony Computer Entertainment Inc. | User interface system and method using thermal imaging |
CN102553232A (zh) * | 2010-12-07 | 2012-07-11 | 鼎亿数码科技(上海)有限公司 | 人体姿态捕捉装置及其实现方法 |
US10509466B1 (en) | 2011-05-11 | 2019-12-17 | Snap Inc. | Headwear with computer and optical element for use therewith and systems utilizing same |
US8740702B2 (en) | 2011-05-31 | 2014-06-03 | Microsoft Corporation | Action trigger gesturing |
US8845431B2 (en) | 2011-05-31 | 2014-09-30 | Microsoft Corporation | Shape trace gesturing |
US8657683B2 (en) | 2011-05-31 | 2014-02-25 | Microsoft Corporation | Action selection gesturing |
JP2013037454A (ja) * | 2011-08-05 | 2013-02-21 | Ikutoku Gakuen | 姿勢判定方法、プログラム、装置、システム |
US9628843B2 (en) * | 2011-11-21 | 2017-04-18 | Microsoft Technology Licensing, Llc | Methods for controlling electronic devices using gestures |
US9782680B2 (en) | 2011-12-09 | 2017-10-10 | Futurewei Technologies, Inc. | Persistent customized social media environment |
WO2013103410A1 (en) | 2012-01-05 | 2013-07-11 | California Institute Of Technology | Imaging surround systems for touch-free display control |
US9646200B2 (en) * | 2012-06-08 | 2017-05-09 | Qualcomm Incorporated | Fast pose detector |
US9329678B2 (en) | 2012-08-14 | 2016-05-03 | Microsoft Technology Licensing, Llc | Augmented reality overlay for control devices |
US9304603B2 (en) * | 2012-11-12 | 2016-04-05 | Microsoft Technology Licensing, Llc | Remote control using depth camera |
AU2013204965B2 (en) | 2012-11-12 | 2016-07-28 | C2 Systems Limited | A system, method, computer program and data signal for the registration, monitoring and control of machines and devices |
CN103252088B (zh) * | 2012-12-25 | 2015-10-28 | 上海绿岸网络科技股份有限公司 | 实景扫描游戏互动系统 |
WO2014107434A1 (en) | 2013-01-02 | 2014-07-10 | California Institute Of Technology | Single-sensor system for extracting depth information from image blur |
CN103970646B (zh) | 2013-01-29 | 2016-12-28 | 国际商业机器公司 | 一种用于操作序列的自动分析方法及其系统 |
US10134267B2 (en) | 2013-02-22 | 2018-11-20 | Universal City Studios Llc | System and method for tracking a passive wand and actuating an effect based on a detected wand path |
US9498885B2 (en) | 2013-02-27 | 2016-11-22 | Rockwell Automation Technologies, Inc. | Recognition-based industrial automation control with confidence-based decision support |
US9804576B2 (en) | 2013-02-27 | 2017-10-31 | Rockwell Automation Technologies, Inc. | Recognition-based industrial automation control with position and derivative decision reference |
US9798302B2 (en) | 2013-02-27 | 2017-10-24 | Rockwell Automation Technologies, Inc. | Recognition-based industrial automation control with redundant system input support |
US9393695B2 (en) | 2013-02-27 | 2016-07-19 | Rockwell Automation Technologies, Inc. | Recognition-based industrial automation control with person and object discrimination |
US20140279508A1 (en) * | 2013-03-14 | 2014-09-18 | TollShare, Inc. | Selective operation of executable procedures based on detected gesture and context |
US9129478B2 (en) * | 2013-05-20 | 2015-09-08 | Microsoft Corporation | Attributing user action based on biometric identity |
US9384013B2 (en) | 2013-06-03 | 2016-07-05 | Microsoft Technology Licensing, Llc | Launch surface control |
JP6377328B2 (ja) * | 2013-08-21 | 2018-08-22 | 東急テクノシステム株式会社 | 列車見張員訓練用シミュレータ |
CN103520923A (zh) * | 2013-10-17 | 2014-01-22 | 智尊应用程序开发有限公司 | 游戏控制方法及设备 |
EP2886173B1 (en) * | 2013-12-18 | 2020-08-19 | Microsoft Technology Licensing, LLC | Augmented reality overlay for control devices |
US10283162B2 (en) | 2014-02-05 | 2019-05-07 | Avatar Merger Sub II, LLC | Method for triggering events in a video |
US9276886B1 (en) | 2014-05-09 | 2016-03-01 | Snapchat, Inc. | Apparatus and method for dynamically configuring application component tiles |
US10025990B2 (en) | 2014-05-21 | 2018-07-17 | Universal City Studios Llc | System and method for tracking vehicles in parking structures and intersections |
US10207193B2 (en) | 2014-05-21 | 2019-02-19 | Universal City Studios Llc | Optical tracking system for automation of amusement park elements |
US10061058B2 (en) | 2014-05-21 | 2018-08-28 | Universal City Studios Llc | Tracking system and method for use in surveying amusement park equipment |
US9616350B2 (en) | 2014-05-21 | 2017-04-11 | Universal City Studios Llc | Enhanced interactivity in an amusement park environment using passive tracking elements |
US9433870B2 (en) | 2014-05-21 | 2016-09-06 | Universal City Studios Llc | Ride vehicle tracking and control system using passive tracking elements |
US9429398B2 (en) | 2014-05-21 | 2016-08-30 | Universal City Studios Llc | Optical tracking for controlling pyrotechnic show elements |
US9600999B2 (en) | 2014-05-21 | 2017-03-21 | Universal City Studios Llc | Amusement park element tracking system |
US9396354B1 (en) | 2014-05-28 | 2016-07-19 | Snapchat, Inc. | Apparatus and method for automated privacy protection in distributed images |
US9537811B2 (en) | 2014-10-02 | 2017-01-03 | Snap Inc. | Ephemeral gallery of ephemeral messages |
US9225897B1 (en) | 2014-07-07 | 2015-12-29 | Snapchat, Inc. | Apparatus and method for supplying content aware photo filters |
US9365186B2 (en) | 2014-08-17 | 2016-06-14 | Toyota Motor Engineering & Manufacturing North America, Inc. | Advanced seatbelt interlock using video recognition |
US10238979B2 (en) | 2014-09-26 | 2019-03-26 | Universal City Sudios LLC | Video game ride |
US10775996B2 (en) | 2014-11-26 | 2020-09-15 | Snap Inc. | Hybridization of voice notes and calling |
US9385983B1 (en) | 2014-12-19 | 2016-07-05 | Snapchat, Inc. | Gallery of messages from individuals with a shared interest |
US10311916B2 (en) | 2014-12-19 | 2019-06-04 | Snap Inc. | Gallery of videos set to an audio time line |
EP3272078B1 (en) | 2015-03-18 | 2022-01-19 | Snap Inc. | Geo-fence authorization provisioning |
US9668217B1 (en) | 2015-05-14 | 2017-05-30 | Snap Inc. | Systems and methods for wearable initiated handshaking |
US10503264B1 (en) | 2015-06-16 | 2019-12-10 | Snap Inc. | Radial gesture navigation |
CN105261052B (zh) | 2015-11-03 | 2018-09-18 | 沈阳东软医疗系统有限公司 | 管腔图像展开绘制方法及装置 |
US10310618B2 (en) * | 2015-12-31 | 2019-06-04 | Microsoft Technology Licensing, Llc | Gestures visual builder tool |
US10599324B2 (en) | 2015-12-31 | 2020-03-24 | Microsoft Technology Licensing, Llc | Hand gesture API using finite state machine and gesture language discrete values |
US10055895B2 (en) | 2016-01-29 | 2018-08-21 | Snap Inc. | Local augmented reality persistent sticker objects |
US10474353B2 (en) | 2016-05-31 | 2019-11-12 | Snap Inc. | Application control using a gesture based trigger |
US11404056B1 (en) | 2016-06-30 | 2022-08-02 | Snap Inc. | Remoteless control of drone behavior |
US10102423B2 (en) | 2016-06-30 | 2018-10-16 | Snap Inc. | Object modeling and replacement in a video stream |
US10609036B1 (en) | 2016-10-10 | 2020-03-31 | Snap Inc. | Social media post subscribe requests for buffer user accounts |
WO2018112833A1 (en) * | 2016-12-22 | 2018-06-28 | Intel Corporation | Efficient transferring of human experiences to robots and other autonomous machines |
JP6957218B2 (ja) * | 2017-06-12 | 2021-11-02 | 株式会社バンダイナムコエンターテインメント | シミュレーションシステム及びプログラム |
FR3067615B1 (fr) | 2017-06-16 | 2019-07-19 | Skis Rossignol | Planche de glisse |
US10579869B1 (en) | 2017-07-18 | 2020-03-03 | Snap Inc. | Virtual object machine learning |
US11323398B1 (en) | 2017-07-31 | 2022-05-03 | Snap Inc. | Systems, devices, and methods for progressive attachments |
US11204949B1 (en) | 2017-07-31 | 2021-12-21 | Snap Inc. | Systems, devices, and methods for content selection |
US10591730B2 (en) | 2017-08-25 | 2020-03-17 | II Jonathan M. Rodriguez | Wristwatch based interface for augmented reality eyewear |
US11847426B2 (en) | 2017-11-08 | 2023-12-19 | Snap Inc. | Computer vision based sign language interpreter |
US10523606B2 (en) | 2018-01-02 | 2019-12-31 | Snap Inc. | Generating interactive messages with asynchronous media content |
US10567321B2 (en) | 2018-01-02 | 2020-02-18 | Snap Inc. | Generating interactive messages with asynchronous media content |
US11063889B2 (en) | 2018-06-08 | 2021-07-13 | Snap Inc. | Generating interactive messages with entity assets |
US10796482B2 (en) | 2018-12-05 | 2020-10-06 | Snap Inc. | 3D hand shape and pose estimation |
US11036368B1 (en) | 2019-03-29 | 2021-06-15 | Snap Inc. | Messaging system with message transmission user interface |
US11019011B1 (en) | 2019-03-29 | 2021-05-25 | Snap Inc. | Messaging system with discard user interface |
US11106342B1 (en) | 2019-06-03 | 2021-08-31 | Snap Inc. | User interfaces to facilitate multiple modes of electronic communication |
US11151794B1 (en) | 2019-06-28 | 2021-10-19 | Snap Inc. | Messaging system with augmented reality messages |
US11307747B2 (en) | 2019-07-11 | 2022-04-19 | Snap Inc. | Edge gesture interface with smart interactions |
US11589094B2 (en) * | 2019-07-22 | 2023-02-21 | At&T Intellectual Property I, L.P. | System and method for recommending media content based on actual viewers |
US11551374B2 (en) | 2019-09-09 | 2023-01-10 | Snap Inc. | Hand pose estimation from stereo cameras |
US11062498B1 (en) | 2019-12-30 | 2021-07-13 | Snap Inc. | Animated pull-to-refresh |
US11265274B1 (en) | 2020-02-28 | 2022-03-01 | Snap Inc. | Access and routing of interactive messages |
US11409368B2 (en) | 2020-03-26 | 2022-08-09 | Snap Inc. | Navigating through augmented reality content |
US11675494B2 (en) | 2020-03-26 | 2023-06-13 | Snap Inc. | Combining first user interface content into second user interface |
US11960651B2 (en) | 2020-03-30 | 2024-04-16 | Snap Inc. | Gesture-based shared AR session creation |
US11991469B2 (en) | 2020-06-30 | 2024-05-21 | Snap Inc. | Skeletal tracking for real-time virtual effects |
US11606697B2 (en) | 2020-08-03 | 2023-03-14 | Bank Of America Corporation | Electronic system for construction and detection of spatial movements in a VR space for performance of electronic activities |
WO2022036372A1 (en) | 2020-08-13 | 2022-02-17 | Snap Inc. | User interface for pose driven virtual effects |
US11671559B2 (en) | 2020-09-30 | 2023-06-06 | Snap Inc. | Real time video editing |
US11797162B2 (en) | 2020-12-22 | 2023-10-24 | Snap Inc. | 3D painting on an eyewear device |
US11782577B2 (en) | 2020-12-22 | 2023-10-10 | Snap Inc. | Media content player on an eyewear device |
WO2022146729A1 (en) | 2020-12-29 | 2022-07-07 | Snap Inc. | Body ui for augmented reality components |
US11997422B2 (en) | 2020-12-31 | 2024-05-28 | Snap Inc. | Real-time video communication interface with haptic feedback response |
EP4272063A1 (en) | 2020-12-31 | 2023-11-08 | Snap Inc. | Media content items with haptic feedback augmentations |
EP4272059A1 (en) | 2020-12-31 | 2023-11-08 | Snap Inc. | Electronic communication interface with haptic feedback response |
US12008152B1 (en) | 2020-12-31 | 2024-06-11 | Snap Inc. | Distance determination for mixed reality interaction |
US11978283B2 (en) | 2021-03-16 | 2024-05-07 | Snap Inc. | Mirroring device with a hands-free mode |
USD998637S1 (en) | 2021-03-16 | 2023-09-12 | Snap Inc. | Display screen or portion thereof with a graphical user interface |
US11734959B2 (en) | 2021-03-16 | 2023-08-22 | Snap Inc. | Activating hands-free mode on mirroring device |
US11798201B2 (en) | 2021-03-16 | 2023-10-24 | Snap Inc. | Mirroring device with whole-body outfits |
US11809633B2 (en) | 2021-03-16 | 2023-11-07 | Snap Inc. | Mirroring device with pointing based navigation |
US11908243B2 (en) | 2021-03-16 | 2024-02-20 | Snap Inc. | Menu hierarchy navigation on electronic mirroring devices |
US11928306B2 (en) | 2021-05-19 | 2024-03-12 | Snap Inc. | Touchpad navigation for augmented reality display device |
US11880542B2 (en) | 2021-05-19 | 2024-01-23 | Snap Inc. | Touchpad input for augmented reality display device |
US11670059B2 (en) | 2021-09-01 | 2023-06-06 | Snap Inc. | Controlling interactive fashion based on body gestures |
US11960784B2 (en) | 2021-12-07 | 2024-04-16 | Snap Inc. | Shared augmented reality unboxing experience |
US11748958B2 (en) | 2021-12-07 | 2023-09-05 | Snap Inc. | Augmented reality unboxing experience |
US11579747B1 (en) | 2022-03-14 | 2023-02-14 | Snap Inc. | 3D user interface depth forgiveness |
WO2023189649A1 (ja) * | 2022-03-30 | 2023-10-05 | ソニーグループ株式会社 | 情報処理システム、プログラムおよび情報処理方法 |
US11960653B2 (en) | 2022-05-10 | 2024-04-16 | Snap Inc. | Controlling augmented reality effects through multi-modal human interaction |
US12001878B2 (en) | 2022-06-03 | 2024-06-04 | Snap Inc. | Auto-recovery for AR wearable devices |
US12002168B2 (en) | 2022-06-20 | 2024-06-04 | Snap Inc. | Low latency hand-tracking in augmented reality systems |
US11948266B1 (en) | 2022-09-09 | 2024-04-02 | Snap Inc. | Virtual object manipulation with gestures in a messaging system |
US11995780B2 (en) | 2022-09-09 | 2024-05-28 | Snap Inc. | Shooting interaction using augmented reality content in a messaging system |
US11797099B1 (en) | 2022-09-19 | 2023-10-24 | Snap Inc. | Visual and audio wake commands |
US11747912B1 (en) | 2022-09-22 | 2023-09-05 | Snap Inc. | Steerable camera for AR hand tracking |
Family Cites Families (177)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4288078A (en) | 1979-11-20 | 1981-09-08 | Lugo Julio I | Game apparatus |
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 |
US5252951A (en) | 1989-04-28 | 1993-10-12 | International Business Machines Corporation | Graphical user interface with gesture recognition in a multiapplication environment |
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 |
US6054991A (en) | 1991-12-02 | 2000-04-25 | Texas Instruments Incorporated | Method of modeling player position and movement in a virtual reality system |
JPH06508788A (ja) | 1991-12-03 | 1994-10-06 | フレンチ スポーテク コーポレイション | 対話型ビデオ式検査および訓練システム |
US5875108A (en) | 1991-12-23 | 1999-02-23 | Hoffberg; Steven M. | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US5903454A (en) * | 1991-12-23 | 1999-05-11 | Hoffberg; Linda Irene | Human-factored interface corporating adaptive pattern recognition based controller apparatus |
JPH07325934A (ja) | 1992-07-10 | 1995-12-12 | Walt Disney Co:The | 仮想世界に向上したグラフィックスを提供する方法および装置 |
US5999908A (en) | 1992-08-06 | 1999-12-07 | Abelow; Daniel H. | Customer-based product design module |
US5320538A (en) | 1992-09-23 | 1994-06-14 | Hughes Training, Inc. | Interactive aircraft training system and method |
IT1257294B (it) | 1992-11-20 | 1996-01-12 | Dispositivo atto a rilevare la configurazione di un'unita' fisiologicadistale,da utilizzarsi in particolare come interfaccia avanzata per macchine e calcolatori. | |
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 |
JP2799126B2 (ja) | 1993-03-26 | 1998-09-17 | 株式会社ナムコ | ビデオゲーム装置及びゲーム用入力装置 |
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 |
US5980256A (en) | 1993-10-29 | 1999-11-09 | Carmein; David E. E. | Virtual reality system with enhanced sensory 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 |
US6714665B1 (en) | 1994-09-02 | 2004-03-30 | Sarnoff Corporation | Fully automated iris recognition system utilizing wide and narrow fields of view |
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 |
US5913727A (en) | 1995-06-02 | 1999-06-22 | Ahdoot; Ned | Interactive movement and contact simulation game |
US6229913B1 (en) | 1995-06-07 | 2001-05-08 | The Trustees Of Columbia University In The City Of New York | Apparatus and methods for determining the three-dimensional shape of an object using active illumination and relative blurring in two-images due to defocus |
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 |
US5702323A (en) | 1995-07-26 | 1997-12-30 | Poulton; Craig K. | Electronic exercise enhancer |
US6430997B1 (en) | 1995-11-06 | 2002-08-13 | Trazer Technologies, Inc. | System and method for tracking and assessing movement skills in multidimensional space |
US6308565B1 (en) | 1995-11-06 | 2001-10-30 | Impulse Technology Ltd. | System and method for tracking and assessing movement skills in multidimensional space |
US6098458A (en) | 1995-11-06 | 2000-08-08 | Impulse Technology, Ltd. | Testing and training system for assessing movement and agility skills without a confining field |
US6073489A (en) | 1995-11-06 | 2000-06-13 | French; Barry J. | Testing and training system for assessing the ability of a player to complete a task |
US6176782B1 (en) | 1997-12-22 | 2001-01-23 | Philips Electronics North America Corp. | Motion-based command generation technology |
US5933125A (en) | 1995-11-27 | 1999-08-03 | Cae Electronics, Ltd. | Method and apparatus for reducing instability in the display of a virtual environment |
US5641288A (en) | 1996-01-11 | 1997-06-24 | Zaenglein, Jr.; William G. | Shooting simulating process and training device using a virtual reality display screen |
US6152856A (en) | 1996-05-08 | 2000-11-28 | Real Vision Corporation | Real time simulation using position sensing |
US6173066B1 (en) | 1996-05-21 | 2001-01-09 | Cybernet Systems Corporation | Pose determination and tracking by matching 3D objects to a 2D sensor |
US5989157A (en) | 1996-08-06 | 1999-11-23 | Walton; Charles A. | Exercising system with electronic inertial game playing |
JP2001504605A (ja) | 1996-08-14 | 2001-04-03 | ラティポフ,ヌラフメド,ヌリスラモビチ | 空間内のユーザの位置及び方向性を追跡及び表示するための方法、ユーザに対し仮想環境を提示するための方法及びこれらの方法を実現するためのシステム |
RU2107328C1 (ru) * | 1996-08-14 | 1998-03-20 | Нурахмед Нурисламович Латыпов | Способ отслеживания и отображения положения и ориентации пользователя в пространстве и система для осуществления способа |
JP3064928B2 (ja) | 1996-09-20 | 2000-07-12 | 日本電気株式会社 | 被写体抽出方式 |
RU2123718C1 (ru) * | 1996-09-27 | 1998-12-20 | Кузин Виктор Алексеевич | Способ ввода информации в компьютер |
DE69626208T2 (de) | 1996-12-20 | 2003-11-13 | Hitachi Europ Ltd | Verfahren und System zur Erkennung von Handgesten |
US5904484A (en) * | 1996-12-23 | 1999-05-18 | Burns; Dave | Interactive motion training device and method |
US6009210A (en) | 1997-03-05 | 1999-12-28 | Digital Equipment Corporation | Hands-free interface to a virtual reality environment using head tracking |
US6100896A (en) | 1997-03-24 | 2000-08-08 | Mitsubishi Electric Information Technology Center America, Inc. | System for designing graphical multi-participant environments |
US5877803A (en) | 1997-04-07 | 1999-03-02 | Tritech Mircoelectronics International, Ltd. | 3-D image detector |
US6215898B1 (en) | 1997-04-15 | 2001-04-10 | Interval Research Corporation | Data processing system and method |
JP3077745B2 (ja) | 1997-07-31 | 2000-08-14 | 日本電気株式会社 | データ処理方法および装置、情報記憶媒体 |
US6188777B1 (en) | 1997-08-01 | 2001-02-13 | Interval Research Corporation | Method and apparatus for personnel detection and tracking |
US6720949B1 (en) | 1997-08-22 | 2004-04-13 | Timothy R. Pryor | Man machine interfaces and applications |
US6289112B1 (en) | 1997-08-22 | 2001-09-11 | International Business Machines Corporation | System and method for determining block direction in fingerprint images |
AUPO894497A0 (en) | 1997-09-02 | 1997-09-25 | Xenotech Research Pty Ltd | Image processing method and apparatus |
EP0905644A3 (en) | 1997-09-26 | 2004-02-25 | Matsushita Electric Industrial Co., Ltd. | Hand gesture recognizing device |
US6141463A (en) | 1997-10-10 | 2000-10-31 | Electric Planet Interactive | Method and system for estimating jointed-figure configurations |
US6072494A (en) | 1997-10-15 | 2000-06-06 | Electric Planet, Inc. | Method and apparatus for real-time gesture recognition |
US6130677A (en) | 1997-10-15 | 2000-10-10 | Electric Planet, Inc. | Interactive computer vision system |
AU1099899A (en) | 1997-10-15 | 1999-05-03 | Electric Planet, Inc. | Method and apparatus for performing a clean background subtraction |
WO1999019840A1 (en) | 1997-10-15 | 1999-04-22 | Electric Planet, Inc. | A system and method for generating an animatable character |
US6101289A (en) | 1997-10-15 | 2000-08-08 | Electric Planet, Inc. | Method and apparatus for unencumbered capture of an object |
US6057845A (en) | 1997-11-14 | 2000-05-02 | Sensiva, Inc. | System, method, and apparatus for generation and recognizing universal commands |
US6181343B1 (en) | 1997-12-23 | 2001-01-30 | Philips Electronics North America Corp. | System and method for permitting three-dimensional navigation through a virtual reality environment using camera-based gesture inputs |
US20070177804A1 (en) | 2006-01-30 | 2007-08-02 | Apple Computer, Inc. | Multi-touch gesture dictionary |
US6159100A (en) | 1998-04-23 | 2000-12-12 | Smith; Michael D. | Virtual reality game |
US6077201A (en) | 1998-06-12 | 2000-06-20 | Cheng; Chau-Yang | Exercise bicycle |
US6681031B2 (en) | 1998-08-10 | 2004-01-20 | Cybernet Systems Corporation | Gesture-controlled interfaces for self-service machines and other applications |
US20010008561A1 (en) | 1999-08-10 | 2001-07-19 | Paul George V. | Real-time object tracking system |
US6801637B2 (en) | 1999-08-10 | 2004-10-05 | Cybernet Systems Corporation | Optical body tracker |
US7121946B2 (en) | 1998-08-10 | 2006-10-17 | Cybernet Systems Corporation | Real-time head tracking system for computer games and other applications |
US6950534B2 (en) | 1998-08-10 | 2005-09-27 | Cybernet Systems Corporation | Gesture-controlled interfaces for self-service machines and other applications |
US7036094B1 (en) | 1998-08-10 | 2006-04-25 | Cybernet Systems Corporation | Behavior recognition system |
IL126284A (en) | 1998-09-17 | 2002-12-01 | Netmor Ltd | System and method for three dimensional positioning and tracking |
EP0991011B1 (en) | 1998-09-28 | 2007-07-25 | Matsushita Electric Industrial Co., Ltd. | Method and device for segmenting hand gestures |
WO2000034919A1 (en) | 1998-12-04 | 2000-06-15 | Interval Research Corporation | Background estimation and segmentation based on range and color |
US6147678A (en) | 1998-12-09 | 2000-11-14 | Lucent Technologies Inc. | Video hand image-three-dimensional computer interface with multiple degrees of freedom |
JP4578686B2 (ja) | 1998-12-16 | 2010-11-10 | マイクロソフト インターナショナル ホールディングス ビイ.ヴイ. | 3dカメラ |
US6570555B1 (en) | 1998-12-30 | 2003-05-27 | Fuji Xerox Co., Ltd. | Method and apparatus for embodied conversational characters with multimodal input/output in an interface device |
US6363160B1 (en) | 1999-01-22 | 2002-03-26 | Intel Corporation | Interface using pattern recognition and tracking |
US7003134B1 (en) | 1999-03-08 | 2006-02-21 | Vulcan Patents Llc | Three dimensional object pose estimation which employs dense depth information |
US6299308B1 (en) | 1999-04-02 | 2001-10-09 | Cybernet Systems Corporation | Low-cost non-imaging eye tracker system for computer control |
US6503195B1 (en) | 1999-05-24 | 2003-01-07 | University Of North Carolina At Chapel Hill | Methods and systems for real-time structured light depth extraction and endoscope using real-time structured light depth extraction |
US7821507B2 (en) | 1999-05-25 | 2010-10-26 | Silverbrook Research Pty Ltd | Method of providing information via a printed substrate and two-mode sensing device |
US6476834B1 (en) | 1999-05-28 | 2002-11-05 | International Business Machines Corporation | Dynamic creation of selectable items on surfaces |
US6873723B1 (en) | 1999-06-30 | 2005-03-29 | Intel Corporation | Segmenting three-dimensional video images using stereo |
US6738066B1 (en) | 1999-07-30 | 2004-05-18 | Electric Plant, Inc. | System, method and article of manufacture for detecting collisions between video images generated by a camera and an object depicted on a display |
US7113918B1 (en) | 1999-08-01 | 2006-09-26 | Electric Planet, Inc. | Method for video enabled electronic commerce |
US7050606B2 (en) | 1999-08-10 | 2006-05-23 | Cybernet Systems Corporation | Tracking and gesture recognition system particularly suited to vehicular control applications |
US6512838B1 (en) | 1999-09-22 | 2003-01-28 | Canesta, Inc. | Methods for enhancing performance and data acquired from three-dimensional image systems |
US6663491B2 (en) | 2000-02-18 | 2003-12-16 | Namco Ltd. | Game apparatus, storage medium and computer program that adjust tempo of sound |
US6633294B1 (en) | 2000-03-09 | 2003-10-14 | Seth Rosenthal | Method and apparatus for using captured high density motion for animation |
SE0000850D0 (sv) * | 2000-03-13 | 2000-03-13 | Pink Solution Ab | Recognition arrangement |
EP1152261A1 (en) | 2000-04-28 | 2001-11-07 | CSEM Centre Suisse d'Electronique et de Microtechnique SA | Device and method for spatially resolved photodetection and demodulation of modulated electromagnetic waves |
US6640202B1 (en) | 2000-05-25 | 2003-10-28 | International Business Machines Corporation | Elastic sensor mesh system for 3-dimensional measurement, mapping and kinematics applications |
US6731799B1 (en) | 2000-06-01 | 2004-05-04 | University Of Washington | Object segmentation with background extraction and moving boundary techniques |
US6788809B1 (en) | 2000-06-30 | 2004-09-07 | Intel Corporation | System and method for gesture recognition in three dimensions using stereo imaging and color vision |
GB0017793D0 (en) | 2000-07-21 | 2000-09-06 | Secr Defence | Human computer interface |
US7227526B2 (en) | 2000-07-24 | 2007-06-05 | Gesturetek, Inc. | Video-based image control system |
US7058204B2 (en) | 2000-10-03 | 2006-06-06 | Gesturetek, Inc. | Multiple camera control system |
US7039676B1 (en) | 2000-10-31 | 2006-05-02 | International Business Machines Corporation | Using video image analysis to automatically transmit gestures over a network in a chat or instant messaging session |
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 |
US8035612B2 (en) | 2002-05-28 | 2011-10-11 | Intellectual Ventures Holding 67 Llc | Self-contained interactive video display system |
JP3420221B2 (ja) | 2001-06-29 | 2003-06-23 | 株式会社コナミコンピュータエンタテインメント東京 | ゲーム装置及びプログラム |
US6937742B2 (en) | 2001-09-28 | 2005-08-30 | Bellsouth Intellectual Property Corporation | Gesture activated home appliance |
ATE321689T1 (de) | 2002-04-19 | 2006-04-15 | Iee Sarl | Sicherheitsvorrichtung für ein fahrzeug |
US7348963B2 (en) | 2002-05-28 | 2008-03-25 | Reactrix Systems, Inc. | Interactive video display system |
US7170492B2 (en) | 2002-05-28 | 2007-01-30 | Reactrix Systems, Inc. | Interactive video display system |
US7710391B2 (en) | 2002-05-28 | 2010-05-04 | Matthew Bell | Processing an image utilizing a spatially varying pattern |
US7489812B2 (en) | 2002-06-07 | 2009-02-10 | Dynamic Digital Depth Research Pty Ltd. | Conversion and encoding techniques |
US7576727B2 (en) | 2002-12-13 | 2009-08-18 | Matthew Bell | Interactive directed light/sound system |
JP4235729B2 (ja) | 2003-02-03 | 2009-03-11 | 国立大学法人静岡大学 | 距離画像センサ |
US9177387B2 (en) * | 2003-02-11 | 2015-11-03 | Sony Computer Entertainment Inc. | Method and apparatus for real time motion capture |
DE602004006190T8 (de) | 2003-03-31 | 2008-04-10 | Honda Motor Co., Ltd. | Vorrichtung, Verfahren und Programm zur Gestenerkennung |
JP4153818B2 (ja) * | 2003-03-31 | 2008-09-24 | 本田技研工業株式会社 | ジェスチャ認識装置、ジェスチャ認識方法及びジェスチャ認識プログラム |
US7372977B2 (en) | 2003-05-29 | 2008-05-13 | Honda Motor Co., Ltd. | Visual tracking using depth data |
US8072470B2 (en) | 2003-05-29 | 2011-12-06 | Sony Computer Entertainment Inc. | System and method for providing a real-time three-dimensional interactive environment |
JP4546956B2 (ja) | 2003-06-12 | 2010-09-22 | 本田技研工業株式会社 | 奥行き検出を用いた対象の向きの推定 |
WO2005041579A2 (en) | 2003-10-24 | 2005-05-06 | Reactrix Systems, Inc. | Method and system for processing captured image information in an interactive video display system |
FI117308B (fi) | 2004-02-06 | 2006-08-31 | Nokia Corp | Eleohjausjärjestelmä |
EP1743277A4 (en) | 2004-04-15 | 2011-07-06 | Gesturetek Inc | MONITORING OF BI-MANUAL MOVEMENTS |
US7308112B2 (en) | 2004-05-14 | 2007-12-11 | Honda Motor Co., Ltd. | Sign based human-machine interaction |
US7132975B2 (en) * | 2004-05-28 | 2006-11-07 | Time Domain Corporation | Apparatus and method for detecting moving objects |
US7704135B2 (en) | 2004-08-23 | 2010-04-27 | Harrison Jr Shelton E | Integrated game system, method, and device |
JP2006146435A (ja) * | 2004-11-17 | 2006-06-08 | Univ Waseda | 動作伝達システムおよび動作伝達方法 |
KR20060070280A (ko) | 2004-12-20 | 2006-06-23 | 한국전자통신연구원 | 손 제스처 인식을 이용한 사용자 인터페이스 장치 및 그방법 |
CN101622630B (zh) | 2005-01-07 | 2012-07-04 | 高通股份有限公司 | 检测和跟踪图像中的物体 |
EP1849123A2 (en) | 2005-01-07 | 2007-10-31 | GestureTek, Inc. | Optical flow based tilt sensor |
US7430312B2 (en) | 2005-01-07 | 2008-09-30 | Gesturetek, Inc. | Creating 3D images of objects by illuminating with infrared patterns |
CN101536494B (zh) | 2005-02-08 | 2017-04-26 | 奥布隆工业有限公司 | 用于基于姿势的控制系统的系统和方法 |
JP4686595B2 (ja) | 2005-03-17 | 2011-05-25 | 本田技研工業株式会社 | クリティカルポイント解析に基づくポーズ推定 |
CN103257684B (zh) | 2005-05-17 | 2017-06-09 | 高通股份有限公司 | 方向敏感的信号输出方法及装置 |
DE602005010696D1 (de) | 2005-08-12 | 2008-12-11 | Mesa Imaging Ag | Hochempfindliches, schnelles Pixel für Anwendung in einem Bildsensor |
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 |
US7450736B2 (en) | 2005-10-28 | 2008-11-11 | Honda Motor Co., Ltd. | Monocular tracking of 3D human motion with a coordinated mixture of factor analyzers |
JP4148281B2 (ja) * | 2006-06-19 | 2008-09-10 | ソニー株式会社 | モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム |
US7701439B2 (en) | 2006-07-13 | 2010-04-20 | Northrop Grumman Corporation | Gesture recognition simulation system and method |
US7725547B2 (en) * | 2006-09-06 | 2010-05-25 | International Business Machines Corporation | Informing a user of gestures made by others out of the user's line of sight |
JP5395323B2 (ja) | 2006-09-29 | 2014-01-22 | ブレインビジョン株式会社 | 固体撮像素子 |
US7412077B2 (en) | 2006-12-29 | 2008-08-12 | Motorola, Inc. | Apparatus and methods for head pose estimation and head gesture detection |
US7729530B2 (en) | 2007-03-03 | 2010-06-01 | Sergey Antonov | Method and apparatus for 3-D data input to a personal computer with a multimedia oriented operating system |
JP2008250823A (ja) | 2007-03-30 | 2008-10-16 | Funai Electric Co Ltd | 画像形成装置 |
US7852262B2 (en) | 2007-08-16 | 2010-12-14 | Cybernet Systems Corporation | Wireless mobile indoor/outdoor tracking system |
CN201254344Y (zh) | 2008-08-20 | 2009-06-10 | 中国农业科学院草原研究所 | 植物标本及种子存贮器 |
-
2009
- 2009-02-23 US US12/391,150 patent/US8487938B2/en active Active
-
2010
- 2010-01-22 EP EP10736269.1A patent/EP2384464B1/en active Active
- 2010-01-22 RU RU2011132086/08A patent/RU2534941C2/ru not_active IP Right Cessation
- 2010-01-22 WO PCT/US2010/021883 patent/WO2010088156A2/en active Application Filing
- 2010-01-22 CA CA2748497A patent/CA2748497C/en active Active
- 2010-01-22 CN CN2010800063068A patent/CN102301311B/zh active Active
- 2010-01-22 KR KR1020117017692A patent/KR101679442B1/ko active IP Right Grant
- 2010-01-22 JP JP2011548160A patent/JP2012516507A/ja active Pending
- 2010-01-22 BR BRPI1006166A patent/BRPI1006166A2/pt not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11403866B2 (en) | 2014-10-17 | 2022-08-02 | Ebay Inc. | Method, medium, and system for fast 3D model fitting and anthropometrics using synthetic data |
KR20210056832A (ko) * | 2019-11-11 | 2021-05-20 | 엠투엠글로벌(주) | 제스처 인식이 가능한 카트의 자율 주행 시스템 및 제스처 인식 방법 |
Also Published As
Publication number | Publication date |
---|---|
RU2534941C2 (ru) | 2014-12-10 |
CN102301311A (zh) | 2011-12-28 |
EP2384464B1 (en) | 2018-09-05 |
WO2010088156A3 (en) | 2010-11-04 |
CN102301311B (zh) | 2013-07-24 |
KR101679442B1 (ko) | 2016-11-24 |
RU2011132086A (ru) | 2013-02-10 |
EP2384464A2 (en) | 2011-11-09 |
EP2384464A4 (en) | 2016-12-21 |
WO2010088156A2 (en) | 2010-08-05 |
US20100194762A1 (en) | 2010-08-05 |
BRPI1006166A2 (pt) | 2016-02-23 |
CA2748497C (en) | 2016-04-19 |
JP2012516507A (ja) | 2012-07-19 |
US8487938B2 (en) | 2013-07-16 |
CA2748497A1 (en) | 2010-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101679442B1 (ko) | 표준 제스처 | |
US8856691B2 (en) | Gesture tool | |
KR101658937B1 (ko) | 제스처 숏컷 | |
US10691216B2 (en) | Combining gestures beyond skeletal | |
US7996793B2 (en) | Gesture recognizer system architecture | |
US7971157B2 (en) | Predictive determination | |
US9256282B2 (en) | Virtual object manipulation | |
US8633890B2 (en) | Gesture detection based on joint skipping | |
US20110151974A1 (en) | Gesture style recognition and reward |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20191016 Year of fee payment: 4 |