KR20150002776A - 빠른 제스처 재접속 - Google Patents

빠른 제스처 재접속 Download PDF

Info

Publication number
KR20150002776A
KR20150002776A KR20147031253A KR20147031253A KR20150002776A KR 20150002776 A KR20150002776 A KR 20150002776A KR 20147031253 A KR20147031253 A KR 20147031253A KR 20147031253 A KR20147031253 A KR 20147031253A KR 20150002776 A KR20150002776 A KR 20150002776A
Authority
KR
South Korea
Prior art keywords
gesture
user
condition
user gesture
detecting
Prior art date
Application number
KR20147031253A
Other languages
English (en)
Other versions
KR102230630B1 (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 KR20150002776A publication Critical patent/KR20150002776A/ko
Application granted granted Critical
Publication of KR102230630B1 publication Critical patent/KR102230630B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/113Recognition of static hand signs
    • 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

Abstract

제스처들을 검출하도록 구성된 시스템과 함께 이용하기 위한 시스템들, 방법들, 장치들, 및 컴퓨터 판독가능 매체들이 제공된다. 일 실시형태에서, 방법은 동작 모드에 진입하기 위한 제 1 조건을 충족시키는 제 1 사용자 제스처를 검출하는 단계를 포함한다. 방법은 동작 모드를 나가는 단계를 더 포함할 수도 있다. 방법은 제 1 사용자 제스처를 검출하는 것에 기초하여 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하는 단계를 더 포함할 수도 있으며, 여기서 제 2 조건은 제 1 조건보다 덜 엄격하다.

Description

빠른 제스처 재접속{RAPID GESTURE RE-ENGAGEMENT}
관련 출원들에 대한 상호 참조
본 출원은 2012 년 4 월 16 일에 출원된, "RAPID GESTURE RE-ENGAGEMENT" 라는 발명의 명칭이 주어진 미국 가출원 제 61/624,953 호, 및 2013 년 3 월 13 일에 출원된, "RAPID GESTURE RE-ENGAGEMENT" 라는 발명의 명칭이 주어진 미국 출원 제 13/801,704 호의 혜택을 주장하며, 이들은 다목적으로 그 전체가 본원에 참조로서 포함된다.
기술분야
본 개시물의 양상들은 컴퓨팅 기술들에 관한 것이다. 특히, 본 개시물의 양상들은 제스처 인식을 수행하는 시스템들, 방법들, 장치들, 및 컴퓨터 판독가능 매체들에 관한 것이다.
점점 더, 컴퓨팅 디바이스들, 예컨대, 스마트 폰들, 태블릿 컴퓨터들, 개인 휴대 정보 단말기 (PDA) 들, 및 다른 디바이스들은 터치 스크린들, 가속도계들, 카메라들, 근접 센서들, 마이크로폰들, 및/또는 이러한 디바이스들이 사용자 입력의 형태로서 모션 및/또는 다른 감지된 조건들을 캡쳐하는 것을 허용할 수도 있는 다른 센서들을 포함한다. 일부 디바이스들은, 예를 들어, 특정 이동들 및/또는 발생들이, 예를 들어, 상이한 상황들에서 특정 커맨드들에 대응하는 제스처들로서 인식될 수도 있다. 예를 들어, 디바이스는, 제스처, 예컨대, 브라우저 애플리케이션이 디스플레이되는 동안에는 "이전 페이지" 커맨드에 대응하는, 그리고 미디어 재생기 애플리케이션이 디스플레이되는 동안에는 "이전 트랙" 커맨드 에 대응하는 왼쪽 스와이프 (swipe) (예를 들어, 사용자가 디바이스의 정면에서 사용자들의 손을 왼쪽으로 흔든다) 를 인식할 수도 있다. 이러한 예에서, 사용자는 이러한 상황들의 각각에서 대응하는 제스처들을 수행함으로써 디바이스가 이러한 커맨드들을 실행하게 할 수도 있다.
본 개시물의 양상들은 제스처 인식을 수행하는 보다 편리하고, 직관적이고, 기능적인 방식들을 제공한다. 터치 시스템에서, 사용자의 손가락이 컴퓨팅 디바이스의 유리 표면을 터치하고, 그 다음에 제스처의 방향으로 이동하고, 그 다음에 유리 표면으로부터 들어 올려, 제스처의 시작과 끝의 명확한 표시를 준다. 터치-프리 시스템들에서는, 제스처의 시작과 끝을 결정하기 위한 본질적으로 명확한 방식이 없다.
본 발명의 실시형태들은 이러한 문제들을 다루기 위해 개선된 기법들을 제공한다.
이러한 문제들 및 다른 문제들은, 본원에서 설명된, 본 발명의 실시형태들에 따라 해결될 수도 있다. 실시형태들은 제스처 제어 시스템들에 접속하는 (engage) 것 및/또는 시스템에 제공되는 반복적인 입력들을 해석하는 것과 연관된 문제들을 해결할 수도 있다.
시스템들, 방법들, 장치들, 및 컴퓨터 판독가능 매체들은 연속적으로 제스처들을 추적하기 위한 제스처 모드에 접속하고 재접속하기 (re-engage) 위해 제공된다. 일부 실시형태들은 사용자가 사용자들의 손을 일정한 포지션, 구역, 영역, 또는 위치에서 가만히 하고 있는 제스처들을 검출하는 컴퓨터 시스템을 수반한다. 다른 실시형태들에서, 컴퓨터 시스템은 손과 같은 사용자 말단부위가 특정한 방식 (펼쳐진 손바닥 등) 으로 포즈가 취해진다는 것을 검출한다. 다른 접근법은 사용자가 원래의 검출된 손 포지션 쪽으로 이동하나 방향이 변하여, 원래의 검출된 제스처의 방향으로 새로운 제스처를 일으키는 것을 검출한다. 일부 구현들에서, 컴퓨터 시스템은 제스처 제어 시스템에 접속 및 재접속하기 위한 제스처를 결정하기 위해 인간의 말단부위의 안정성을 검출한다.
일부 실시형태들에서, 방법은 컴퓨팅 디바이스 상에서 동작 모드에 진입하기 위한 제 1 조건을 충족시키는 제 1 사용자 제스처를 검출하는 단계를 포함한다. 방법은 동작 모드를 나가는 단계를 더 포함한다. 방법은 제 1 사용자 제스처를 검출하는 것에 기초하여 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하는 단계를 더 포함하며, 여기서 제 2 조건은 제 1 조건보다 덜 엄격하다.
일부 실시형태들에서, 동작 모드는 일정 기간에 걸쳐 제 1 사용자 제스처 또는 제 2 사용자 제스처를 추적하는 것을 포함하는 제스처 추적 모드이다.
일부 실시형태들에서, 제 1 사용자 제스처 또는 제 2 사용자 제스처를 추적하는 것은 심도 센서 추적, 2-D 센서 추적, 히스토그램 추적, 및 초음파 센서 추적 중 하나 이상의 추적을 이용하는 것을 포함한다.
일부 실시형태들에서, 동작 모드는 하나 이상의 커맨드들을 실행하는 것을 포함하는 커맨드 모드이다.
일부 실시형태들에서, 제 1 사용자 제스처 또는 제 2 사용자 제스처를 검출하는 것은 이미지 센서를 이용하여 복수의 이미지들을 획득하는 것을 포함한다.
일부 실시형태들에서, 제 1 사용자 제스처 및 제 2 사용자 제스처는 고정된 제스처들이다.
일부 실시형태들에서, 제 1 사용자 제스처 및 제 2 사용자 제스처는 동적인 제스처들이다.
일부 실시형태들에서, 제 1 조건은 제 1 기간 동안 제 1 사용자 제스처를 검출하는 것이고, 제 2 조건은 제 2 기간 동안 제 2 사용자 제스처를 검출하는 것이며, 여기서 제 2 기간은 제 1 기간보다 짧다.
일부 실시형태들에서, 제 1 조건은 제 1 영역 내에서 제 1 사용자 제스처를 검출하는 것이고, 제 2 조건은 제 2 영역 내에서 제 2 사용자 제스처를 검출하는 것이며, 제 2 영역은 제 1 영역보다 크거나 같다.
일부 실시형태들에서, 제 1 사용자 제스처를 검출하는 것은 사용자 말단부위와 연관된 임의의 이동이 일정 기간 동안 제 1 영역에서 미리 정의된 이동 임계치 아래라고 검출함으로써 제 1 영역 내에서 안정되어 있는지 여부를 결정하는 것을 포함한다.
일부 실시형태들에서, 사용자 말단부위는 손이다.
일부 실시형태들에서, 방법은 검출하는 것에 응답하여 동작 모드에 재진입하는 것을 표시하는 피드백을 제공하는 단계를 더 포함한다.
일부 실시형태들에서, 방법은 제 1 사용자 제스처 및 제 2 사용자 제스처 사이에서 수행되는 제스처에 대응하는 커맨드와 등가인 제 2 사용자 제스처에 대응하는 커맨드를 포함하는 제 2 조건을 더 포함한다. 방법은 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하는 것에 적어도 부분적으로 기초하여 제 1 조건을 충족시키기 위해 제 2 사용자 제스처에 대한 요건을 바이패스하는 단계를 더 포함한다.
일부 실시형태들에서, 제 1 조건은 제 1 방향에서의 모션 또는 궤적을 포함하고, 여기서 제 2 조건은 결과적인 모션의 방향이 실질적으로 제 1 방향에 맞춰 조정되도록 하는 방향에서의 변화를 포함한다.
일부 실시형태들에서, 방법은 사용자가 컴퓨팅 디바이스를 터치하는 것의 부재 시에 제 1 사용자 제스처를 검출하고 제 2 사용자 제스처를 검출하는 것을 수행하는 단계를 포함한다.
일부 실시형태들에서, 장치는 이미지들을 캡쳐하도록 구성된 이미지 캡쳐 디바이스 및 이미지 캡쳐 디바이스에 커플링된 프로세서를 포함한다. 프로세서는 동작 모드에 진입하기 위한 제 1 조건을 충족시키는 제 1 사용자 제스처를 검출하도록 구성될 수도 있다. 프로세서는 동작 모드를 나가도록 더 구성될 수도 있다. 프로세서는, 이미지 캡쳐 디바이스에 의해 캡쳐된 이미지들에 기초하여, 제 1 사용자 제스처를 검출하는 것에 기초하여 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하도록 더 구성될 수도 있으며, 여기서 제 2 조건은 제 1 조건보다 덜 엄격하다.
일부 실시형태들에서, 장치는 동작 모드에 진입하기 위한 제 1 조건을 충족시키는 제 1 사용자 제스처를 검출하는 수단을 포함한다. 일부 실시형태들에서, 장치는 동작 모드를 나가는 수단을 더 포함한다. 일부 실시형태들에서, 장치는 제 1 사용자 제스처를 검출하는 것에 기초하여 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하는 수단을 더 포함하며, 여기서 제 2 조건은 제 1 조건보다 덜 엄격하다.
장치의 일부 실시형태들에서, 동작 모드는 일정 기간에 걸쳐 제 1 사용자 제스처 또는 제 2 사용자 제스처를 추적하는 것을 포함하는 제스처 추적 모드이다.
장치의 일부 실시형태들에서, 장치는 심도 센서 추적, 2-D 센서 추적, 히스토그램 추적, 및 초음파 센서 추적 중 하나 이상의 추적을 이용하여 제 1 사용자 제스처 또는 제 2 사용자 제스처를 추적하는 수단을 더 포함한다.
장치의 일부 실시형태들에서, 동작 모드는 하나 이상의 커맨드들을 실행하는 것을 포함하는 커맨드 모드이다.
장치의 일부 실시형태들에서, 제 1 조건은 제 1 기간 동안 제 1 사용자 제스처를 검출하는 것이고, 제 2 조건은 제 2 기간 동안에 제 2 사용자 제스처를 검출하는 것이며, 여기서 제 2 기간은 제 1 기간보다 짧다.
장치의 일부 실시형태들에서, 제 1 조건은 제 1 영역 내에서 제 1 사용자 제스처를 검출하는 것이고, 제 2 조건은 제 2 영역 내에서 제 2 사용자 제스처를 검출하는 것이며, 여기서 제 2 영역은 제 1 영역보다 크거나 같다.
장치의 일부 실시형태들에서, 제 1 사용자 제스처를 검출하는 수단 또는 제 2 사용자 제스처를 검출하는 수단은 이미지 센서를 이용하여 복수의 이미지들을 획득하는 수단을 포함한다.
장치의 일부 실시형태들에서, 제 1 사용자 제스처 및 제 2 사용자 제스처는 고정된 제스처들이다.
장치의 일부 실시형태들에서, 제 1 사용자 제스처 및 제 2 사용자 제스처는 동적인 제스처들이다.
장치의 일부 실시형태들에서, 제 1 사용자 제스처를 검출하는 수단은 사용자 말단부위와 연관된 임의의 이동이 일정 기간 동안 제 1 영역에서 미리 정의된 이동 임계치 아래인 것을 검출함으로써 사용자 말단부위가 제 1 영역 내에서 안정되어 있는지 여부를 결정하는 수단을 포함한다.
장치의 일부 실시형태들에서, 사용자 말단부위는 손이다.
장치의 일부 실시형태들에서, 제 1 조건은 제 1 신뢰도 수준으로 제 1 사용자 제스처를 검출하는 것이고, 제 2 조건은 제 2 신뢰도 수준으로 제 2 사용자 제스처를 검출하는 것이며, 여기서 제 2 신뢰도 수준은 제 1 신뢰도 수준보다 낮다.
장치의 일부 실시형태들에서는, 검출하는 것에 응답하여 동작 모드에 재진입하는 것을 표시하는 피드백을 제공하는 수단을 더 포함한다.
장치의 일부 실시형태들에서, 제 2 조건은 제 1 사용자 제스처와 제 2 사용자 제스처 사이에서 수행되는 제스처에 대응하는 커맨드와 등가인 제 2 사용자 제스처에 대응하는 커맨드를 포함하고, 장치는 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하는 것에 적어도 부분적으로 기초하여 제 1 조건을 충족시키기 위해 제 2 사용자 제스처에 대한 요건을 바이패스하는 수단을 더 포함한다.
장치의 일부 실시형태들에서, 제 1 조건은 제 1 방향에서의 모션 또는 궤적을 포함하고, 제 2 조건은 결과적인 모션의 방향이 실질적으로 제 1 방향에 맞춰 조정되도록 하는 방향에서의 변화를 포함한다.
장치의 일부 실시형태들에서, 제 1 사용자 제스처를 검출하는 수단은 제 1 사용자 제스처를 검출하고, 제 2 사용자 제스처를 검출하는 수단은 사용자가 컴퓨팅 디바이스를 터치하는 것의 부재 시에 제 2 사용자 제스처를 검출한다.
일부 실시형태들에서, 프로세서 판독가능 매체는 프로세서로 하여금 동작 모드에 진입하기 위한 제 1 조건을 충족시키는 제 1 사용자 제스처를 검출하게 하도록 구성된 프로세서 판독가능 명령들을 포함한다. 명령들은 프로세서로 하여금 동작 모드를 나가게 하도록 더 구성될 수도 있다. 명령들은 프로세서로 하여금 제 1 사용자 제스처를 검출하는 것에 기초하여 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하게 하도록 더 구성될 수도 있으며, 여기서 제 2 조건은 제 1 조건보다 덜 엄격하다.
일부 실시형태들에서, 방법은 제 1 접속 (engagement) 제스처를 검출하는 단계를 포함한다. 방법은 제 1 접속 제스처의 검출 후에 제 1 제스처를 검출하는 단계를 더 포함할 수도 있다. 방법은 제 2 제스처를 검출하는 단계를 더 포함할 수도 있다. 방법은 제 1 제스처에 대응하는 커맨드가 제 2 제스처에 대응하는 커맨드와 등가라고 결정하는 단계를 더 포함할 수도 있다. 방법은 결정하는 단계에 적어도 부분적으로 기초하여 제 2 접속 제스처에 대한 요건을 바이패스하는 단계를 더 포함할 수도 있다.
일부 실시형태들에서, 접속 제스처들을 요구하는 시스템과 함께 이용하기 위한 방법은 접속 제스처를 검출하는 단계를 포함하며, 접속 제스처는 제 1 포지션에서 제 1 기간 동안 유지되는 손의 제 1 포즈를 포함한다. 방법은 접속 제스처의 검출에 후속하여 제 1 제스처를 검출하는 단계를 더 포함할 수도 있으며, 제 1 제스처는 제 1 손의 모션을 포함한다. 방법은 손이 실질적으로 제 2 기간 동안 제 1 포지션으로 복귀했다고 결정하는 단계를 더 포함할 수도 있으며, 제 2 기간은 제 1 기간보다 짧다. 방법은 제 2 손의 모션을 포함하여 손이 제 2 포지션으로 복귀했다고 결정하는 것에 후속하여 제 2 제스처를 검출하는 단계를 더 포함할 수도 있다.
다양한 실시형태들의 본질 및 이점들의 추가적인 이해는 다음의 도면들에 대한 참조로 깨닫게 될 수도 있다. 첨부된 도면들에서, 유사한 컴포넌트들 또는 특징부들은 동일한 참조 부호를 가질 수도 있다. 또한, 동일한 유형의 다양한 컴포넌트들은 참조 부호 다음의 유사한 컴포넌트들 중에서 구별짓는 대쉬 및 제 2 부호에 의해 구별될 수도 있다. 단지 제 1 참조 부호만이 명세서에서 이용되는 경우, 설명은 제 2 참조 부호와 상관 없이 동일한 제 1 참조 부호를 갖는 유사한 컴포넌트들 중 임의의 컴포넌트에 적용가능하다.
도 1 은 본 발명의 실시형태들에 따른 동작 모드에 진입하고 동작 모드를 나가기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 2 는 본 발명의 실시형태들에 따른 제스처를 추적하고 제스처에 응답하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 3 은 본 발명의 실시형태들에 따른 안정적인 사용자 말단부위를 검출하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 4 는 본 발명의 실시형태들에 따른 안정적인 사용자 말단부위를 검출할 시에 연속하는 제스처를 추적하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 5 는 본 발명의 실시형태들에 따른 영역 내에서 사용자 말단부위의 복귀를 검출할 시에 연속하는 제스처를 추적하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 6 은 본 발명의 실시형태들에 따른 영역 내에서 안정적인 사용자 말단부위의 복귀를 검출할 시에 연속하는 제스처를 추적하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 7 은 본 발명의 실시형태들에 따른 안정적인 사용자 말단부위를 검출할 시에 연속하는 제스처를 추적하고 사용자에게 피드백을 제공하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 8 은 본 발명의 실시형태들에 따른 영역 내에서 사용자 말단부위의 복귀를 검출할 시에 연속하는 제스처를 추적하고 사용자에게 피드백을 제공하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 9 는 본 발명의 실시형태들에 따른 영역 내에서 안정적인 사용자 말단부위의 복귀를 검출할 시에 연속하는 제스처를 추적하고 사용자에게 피드백을 제공하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 10 은 본 발명의 실시형태들에 따른 연속하는 제스처들을 추적하고 제스처의 방향에서의 변화를 검출하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도이다.
도 11 은 본 발명의 실시형태들에 따른 제스처 동작 모드에 진입하고 제스처 동작 모드에 재진입하는 것을 도시한다.
도 12a 내지 도 12c 는 본 발명의 실시형태들에 따른 제스처 동작 모드에 진입하고 제스터 동작 모드에 재진입하는 것을 도시한다.
도 13a 및 도 13b 는 본 발명의 실시형태들에 따른 제스처 동작 모드에 진입하고 제스처 동작 모드에 재진입하는 경우에 사용자에게 디스플레이되는 프롬프트 (prompt) 들을 도시한다.
도 14 는 본 발명의 실시형태들을 실시하는데 사용되는 디바이스의 부분들을 포함하는 예시적인 컴퓨터 시스템을 도시한다.
본 개시물의 양상들은 제스처 인식을 수행하는 보다 편리하고, 직관적이고, 기능적인 방식들을 제공한다. 터치 시스템에서, 손가락은 스크린의 유리 표면을 터치하고, 그 다음에 제스처의 방향으로 이동하고, 그 다음에 사용자와의 터치 상호작용을 요구하면서 유리로부터 들어올려진다. 그러나, 프롬프트에 응답하기 위해 사용자가 스크린을 터치할 수도 없거나 터치하길 원하지 않을 수도 있는 많은 상황들이 있다. 예를 들어, 사용자는 차를 운전할 수도 있고, 사용자 인터페이스에서의 특정 버튼 또는 영역을 터치하기 위해 도로에서 사용자들의 눈들을 떼길 원하지 않을 수도 있다. 이러한 시나리오 및 많은 다른 시나리오들은 터치를 통해 활성화될 수 있는 인터페이스들을 갖는 단점을 지적한다.
설명을 위해, 본 발명의 실시형태들은 손 포즈를 이용하여 본원에서 설명된다. 그러나, 임의의 사용자 말단부위가 포즈들 및 제스처들에 이용될 수도 있다. 일부 실시형태들에서, 사용자의 신체, 얼굴, 또는 머리가 제스처를 수행하는데 이용될 수도 있다. 당업자들은 수행될 수도 있는 다른 제스처들을 인식할 것이다. 일부 실시형태들에서, 포즈는 일 유형의 제스처를 포함할 수도 있고, 제스처를 설명하는 실시형태들은 제스처가 포즈를 포함하는 경우에 이용될 수도 있다. 또한, 포즈에 대해 논의된 실시형태들은 일부 구현들에서 다른 제스처들과 함께 이용될 수도 있다. 일부 실시형태들에서, 제스처 또는 포즈는 사용자에 의해 수행될 수도 있고/있거나, 디바이스 또는 시스템의 스크린을 사용자가 터치하지 않거나 그렇지 않으면 디바이스 또는 시스템에 접촉하지 않으면서 디바이스 또는 시스템에 의해 검출될 수도 있다. 예를 들어, 하기의 추가적인 세부사항에서 설명된 바와 같이, 포즈 또는 제스처는 일부 실시형태들에서 이미지, 초음파, 및/또는 심도 센서를 이용하여 검출될 수도 있다.
추적 시스템에서의 제스처 제어의 재접속에 대한 방법 및 장치에 대한 기법들이 본원에서 설명된다. 접속 제스처는 사용자가 미리 결정된 일정 기간 동안 특정 포즈를 유지하는 것, 예를 들어, 추적 시스템에 접속하기 위해 소정의 포지션 또는 손 포즈에서 손과 같은 인간의 말단부위를 유지하는 것을 포함할 수도 있다. 접속 포즈는 제스처 시스템이 제어 제스처들이도록 의도하지 않은 손 모션들을 무시하는 것을 허용하고, 따라서 시스템을 보다 강력하게 할 수 있다. 일부 시스템들에서, 사용자 모션들은 접속 제스처의 검출 이전에는 무시된다. 접속 제스처가 검출된 후에, 제스처 커맨드가 사용자 제스처로부터 식별될 수도 있다. 그 후에, 시스템은 추가적인 접속 제스처가 검출될 때까지 사용자 모션들을 무시하는 것으로 복귀할 수도 있다. 접속 제스처와 연관된 지연은 일반적으로, 사용자가 오직 단일 제스처만을 수행하려고 계획하는 경우에는 사용자가 수용가능하나, 사용자가 일련의 제스처들을 하기를 원하는 경우, 말하자면, 옵션들의 리스트를 통해 스와이프하거나 (swipe) 가장 책에서 일련의 페이지들을 넘기길 원하는 경우, 모든 제스처 커맨드에 앞서 접속 제스처를 요구하는 것은 비효율적일 수도 있다.
본 발명의 실시형태들은 연속하는 반복적인 제스처들에 대해 제 2 접속 제스처와 같은 완전 재접속을 사용자가 피하는 것을 허용하는 기법들을 설명한다. 설명된 시스템들, 방법들, 장치들, 및 컴퓨터 판독가능 매체들은, 컴퓨터 시스템이 일련의 제스처들에서 제 1 제스처를 검출하여 응답하면, 추가적인 제스처들의 재접속을 위해 미리 결정된 영역으로의 손과 같은 제어 오브젝트 또는 인간의 말단부위의 복귀를 검출할 수도 있다.
본 발명의 실시형태들에 대한 여러 구현들이 하기에서 보다 상세히 설명된다. 일부 실시형태들은 사용자가 일정한 포지션, 구역, 영역, 또는 위치에서 그의 손을 가만히 하는 제스처를 검출하는 컴퓨터 시스템을 수반한다. 다른 실시형태들에서, 컴퓨터 시스템은 손과 같은 사용자 말단부위가 특정한 방식 (펼쳐진 손바닥 등) 으로 포즈가 취해진다는 것을 검출한다. 다른 접근법은 사용자가 원래의 검출된 손 포지션 쪽으로 이동하나 방향이 변하여, 원래의 검출된 제스처의 방향에서 새로운 제스처를 일으키는 것을 검출한다. 일부 구현들에서, 컴퓨터 시스템은 제스처 제어 시스템에 접속하기 위한 제스처를 결정하기 위해 인간의 말단부위의 안정성을 검출한다. 미리 결정된 시간의 양은 사용자가 사용자들의 선호들에 따라 프로세스를 짧게 할 수도 있도록 구성가능할 수도 있다.
2D 센서 추적
일 예시적인 실시형태는 카메라와 같은 2-차원 (2D) 이미지 센서를 이용하여 복수의 이미지들을 캡쳐함으로써 컴퓨팅 시스템의 전면에서의 장면을 캡쳐하고, 그러한 이미지들을 분석함으로써 (펼쳐진 손과 같은) 알려진 손 포즈를 식별하는 것을 포함한다. 손-포즈를 식별하기 위한 일 기법은 Viola-Jones 오브젝트 검출 프레임워크에 기초할 수도 있다; 그러나, 손이 존재한다는 것을 결정하는 임의의 적합한 수단이 이용될 수도 있다. 컴퓨터 시스템이 미리 결정된 일정 기간 동안 일 손-포즈에 있는 손을 검출하면, "제스처 모드" 에 접속되었다는 것을 사용자에게 시그널링하는데 추가적인 피드백 매커니즘이 이용될 수도 있다.
일부 실시형태들에서, 컴퓨터 시스템은 제스처 검출 알고리즘을 이용하여 손이 최초의 접속 위치로부터 왼쪽, 오른쪽, 위쪽, 또는 아래쪽으로 "스와이프" 하는 결과를 가져오도록 이동하는 방향을 결정한다. 일부 구현들은 Kanade-Lucas-Tomasi (KLT) 추적, 히스토그램 추적, 랜덤 결정 포레스트 (random decision forest), K-수단 클러스터링 및 광류 (optical flow), 또는 제스처들을 추적하기 위한 임의의 적합한 알고리즘 중 하나 이상을 이용할 수도 있다. 컴퓨터 시스템이 스와이프를 결정하면, 시스템은 활성 애플리케이션에 스와이프 신호를 발생시킬 수도 있고, 애플리케이션은 적절히 응답할 것이다.
다음으로, 사용자는 빨리 연속하여 다른 스와이프를 하기 위해 시스템에 재접속하길 원할 수도 있다. 일 실시형태에서, 컴퓨터 시스템은 원래의 추적 위치 또는 영역 (또는 컴퓨터 시스템의 임계 거리 내에 있는 구역) 에서 그리고 원하는 손 포즈로 사용자의 손을 다시 검출함으로써 제스처가 다시 제스처 검출을 인에이블하도록 재접속하는 것을 가능하게 할 수도 있다. 다른 실시형태에서, 컴퓨터 시스템은 손이 특정한 손-포즈의 필요 없이 미리 결정된 영역에 다시 있다고 검출할 수도 있다. 또 다른 실시형태에서, 컴퓨터 시스템은 제스처 추적 시스템에 재접속하기 위해 손 및/또는 손-포즈가 그리고 또한 미리 결정된 영역에서의 손의 미리 결정된 일정 기간 있는지를 검출할 수도 있다. 상기의 모든 접속 기법들에 있어서, 컴퓨터 시스템은 "제스처 모드" 에 재접속되었다는 것을 사용자에게 시그널링하기 위해 사용자에게 추가적인 피드백 매커니즘 (사운드, 또는 시각물, 또는 그 밖의 것) 을 제공할 수도 있다. 컴퓨터 시스템은 다음 제스처에 대한 추적을 시작할 수도 있고, 프로세스는 계속될 수도 있다. 일부 실시형태들에서, 손 포즈는 결정된 스와이프와 상이한 제스처를 수행하기 전에 미리 결정된 일정 기간 동안 유지되어야 하지만, 예를 들어, 상술된 바와 같이, 손-포즈가 미리 결정된 일정 기간 동안 유지되지 않는 경우일지라도 스와이프가 반복될 수도 있다.
광류를 이용한 2D 센서 추적:
일 구현에서, 컴퓨터 시스템은 제스처들을 추적하기 위해 광류 오브젝트 검출 프레임워크를 이용한다. 본 방법의 일 사례에서, 픽셀들의 블록, 예를 들어, 모든 원하는 방향들에서의 검출된 손 및 검출된 손에 인접한 영역에서 캡쳐된 이미지에서의 각각의 16×16 픽셀들의 블록은, 하나의 프레임부터 다음 프레임으로 분석될 수도 있고, 다음 프레임에서의 각각의 블록의 컨텐츠들에 대해 최상의 매치가 발견될 수도 있다. 이러한 최상의 매치는 (각각의 픽셀 값에 대한) 절대 차이들의 합 (sum of absolute differences; SAD) 기법들을 이용하여 행해질 수도 있거나, 임의의 다른 적합한 기법을 이용하여 행해질 수도 있다. 이전의 프레임으로부터 새로운 프레임에서의 그것의 포지션으로의, 주어진 16×16 블록의 원래의 포지션으로부터의 오프셋은 (x,y) 값으로 나타내어질 수 있으며, 이는 2 개의 프레임들 사이의 픽셀들의 블록의 모션의 벡터를 나타낸다. 전체 손 영역의 블록 모션 데이터를 축적함으로써, 손의 모션의 방향의 정확한 표현이 결정될 수 있다. 연속하는 프레임들은 일련의 모션의 벡터들을 제공할 수도 있고, 이는 "스와이프" 액션이 발생했다는 것을 식별하기 위한 임계 값을 전달하도록 축적될 수 있다.
이러한 기법을 이용하여 컴퓨터 시스템에 의해 스와이프 액션이 검출되면, 원래의 검출된 손 위치 주위의 확장된 영역을 계속 분석하여 손이 시작 지점으로 다시 왔다는 "복귀 제스처" 를 발견하는 것이 가능하다. 이러한 기법은 원래의 검출된 손 영역으로 이동하는 오브젝트가 있는지를 결정하기 위해 위에서 이용된 동일한 16×16 픽셀 광류 접근법을 이용할 수도 있다. 이러한 것이 발생하는 경우, 컴퓨터 시스템은 사용자에게 추가적인 피드백을 제공하여, 시스템이 새로운 스와이프를 검출할 준비가 되었다는 것을 사용자가 알 수도 있다.
컴퓨터 시스템은 제 1 제스처의 원래의 또는 미리 결정된 영역의 일반 영역으로의 손의 복귀를 검출함으로써 복귀 포지션을 검출할 수도 있으며, 따라서 사용자에게 융통성을 제공한다. 특히, 사용자는 종종 복귀하면서 원래의 손 검출 영역을 "지나칠 (overshoot)" 수도 있다. 이는 일부 실시형태들에서 이러한 모션을 반대 방향으로의 스와이프로 해석하는 것은 바람직하지 않을 수도 있다. 이러한 바람직하지 않은 해석을 피하기 위해, "빠른 재접속" 이 제 1 검출된 일련의 스와이프와 동일한 방향에서의 스와이프들에 적용될 수도 있다. 따라서, 일 구현에서, 반복된 제스처는 반대 방향으로의 단일 이벤트에 비해 선호될 수도 있다. 그러한 구현에서, 손 포즈 검출기를 이용하는 컴퓨터 시스템의 재접속은 반대 방향으로 스와이프할 필요가 있을 수도 있다. 따라서, 컴퓨터 시스템은 반복되는 접속 제스처가 검출되는지 여부와 상관없이 반복적인 제스처를 실행할지 여부를 결정할 수도 있다. 일부 구현들에서, 컴퓨터 시스템은 반복 제스처가 검출되는 경우 또는 최초의 접속 제스처의 포지션으로의 복귀가 검출되는 경우 접속 제스처에 대한 요건을 무시하거나 바이패스할 것을 결정할 수도 있다. 일 실시형태에서, 제스처 제어 시스템은 수행되는 모든 제스처에 앞서 접속 제스처를 요구할 수도 있으나, 반복 제스처가 수행되는 경우 그러한 요건을 바이패스할 수도 있다. 위에서 논의된 반복 제스처들의 검출에 더해, 하기에서 논의되는 것들과 같은, 반복 제스처들을 검출하는 다른 방법들이 이용될 수도 있다.
히스토그램 추적을 이용한 2D 센서 추적:
다른 구현들에서, 컴퓨터 시스템은 제스처들을 추적하기 위해 히스토그램 추적 기법들을 이용한다. 본 발명의 일 사례에서, 손의 최초의 포지션은 본원에서 설명된 바와 같은 손 검출기 방법을 이용하여 검출된다. 손 포지션이 알려지면, 손 또는 검출기에 의해 발견된 손의 사이즈와 관련된 고정된 사이즈에서의 손의 부분의 색상 샘플이 채취될 수도 있다. 예를 들어, 손-포즈가 펼쳐진 손에 대한 것인 경우, 컴퓨터 시스템은 오직 손의 손바닥에서의 색상들만을 샘플링할 수도 있다. 따라서, 컴퓨터 시스템은 발견된 손 구역의 보다 하위 섹션을 색상 샘플 영역으로서 선택할 수도 있다. 색상 샘플링 기법의 일 구현은 색상 공간, 예를 들어, 24 비트 색상 공간을, 모든 색상들을 색상 테이블의 256 개의 슬롯들 중 하나의 슬롯에 할당하는 8 비트 룩업 테이블로 감소시킬 것이다. 컴퓨터 시스템은 그 다음에 손바닥 영역에서의 각각의 슬롯에 대한 복수의 픽셀들을 가산함으로써 선택된 손바닥 영역의 히스토그램을 생성할 수도 있다. 이러한 합산은 손바닥의 색상 분포에 기초할 수도 있는 손바닥 사이즈의 영역의 색상 특징 (signature) 이 될 수도 있다.
유사하게, 일 구현에서, 후속하는 프레임들에 대해, 컴퓨터 시스템은 프레임에서 그 색상 특징에 대한 최상의 매치를 발견할 수도 있다. 이는 각각의 손바닥 사이즈의 관심 영역에 대한 색상 히스토그램을 생성하고 위에서 위의 샘플링된 특징에 가장 가까운 특징을 갖는 영역을 발견함으로써 행해질 수도 있다. 손바닥 사이즈의 관심 영역들은 실질적으로 모두 프레임의 단일 행에 있을 수 있으며, 왼쪽 스와이프 및 오른쪽 스와이프를 검출하도록 원래의 손바닥 위치에 맞춰 조정되거나, 손바닥 사이즈의 관심 영역들은 위쪽 스와이프 및 아래쪽 스와이프를 검출하도록 원래의 손바닥 검출 영역에 맞춰 실질적으로 수직으로 조정될 수 있거나, 손바닥 사이즈의 관심 영역은 전체 프레임에 대해 산출될 수 있다. 각각의 영역에 대해, 산출된 히스토그램은, 예를 들어, 절대 차이들의 직선 합을 이용하여, 참조 손바닥 히스토그램에 대해 비교될 수도 있고, 가장 작은 차이는 새로운 프레임에서 최상의 매칭하는 영역을 식별할 수도 있다. 여러 프레임들에 대해 이러한 기법을 이용하여, 손의 경로가 원래의 손바닥 포지션에 상대적인 일련의 포지션들로서 검출되어 저장될 수 있다. 이러한 포지션들은 하나의 프레임으로부터 다른 프레임으로 비교되고, 예를 들어, 손 포지션이 소정의 시간의 양에서 소정의 거리를 이동한 경우에, 스와이프가 발생한 것을 결정하는데 이용될 수 있다. 스와이프가 트리거링되면, 컴퓨터 시스템에서의 히스토그램 추적은 손이 시작 위치 또는 영역으로 복귀할 때까지 계속될 수 있고, 사용자들이 다시 빠르게 스와이프할 수 있도록 재접속이 사용자에게 시그널링될 수 있다. 일 구현에서, 이러한 방법은 동일한 방향에서의 후속하는 스와이프들로 선호할 수도 있으며, 반대 방향 스와이프를 허용하도록 보다 높은 거리의 임계치 또는 심지어는 완전 재접속을 이용한다. 즉, 일부 실시형태들에서, 동일한 방향으로의 후속하는 스와이프들이 반대 방향으로의 스와이프와 비교하여 사용자에 의해 의도되는 스와이프를 표시할 가능성이 더 많기 때문에 동일한 방향으로의 후속하는 스와이프들로 선호될 수도 있다. 따라서, 반대 방향으로의 스와이프들은, 커맨드들로서 인정되기에 앞서, 보다 긴 거리에 걸친 이동 또는 완전 접속의 검출, 예를 들어, 완전 접속 시간 동안 접속 포즈의 검출을 요구할 수도 있다.
초음파 센서 추적:
일 구현에서, 본 발명의 실시형태들은 하나 이상의 초음파 센서들의 수집을 이용하여 컴퓨터 시스템 또는 디바이스의 전면에서의 영역에서 손의 존재를 검출하는 것을 수반한다. 손의 포지션은 이러한 센서들로부터의 출력들을 이용하여 측정될 수 있다. 예를 들어, 시스템은 초음파 주파수들에 민감한 하나 이상의 마이크로폰들을 포함할 수도 있다. 마이크로폰들은 제스처들을 수행하는데 이용되는 초음파 펜 (pen) 과 같은 방출기로부터 초음파 신호들을 수신하고 초음파들을 방출할 수도 있거나, 시스템은 사용자의 손과 같이 떨어져 있는 제어 오프젝트가 반영되는 초음파들을 방출하고, 다시 마이크로폰들로 방출하는 방출기를 포함할 수도 있다. 미리 설정된 시간의 양에 걸쳐 초음파 센서들로부터의 연속하는 출력들과 비교함으로써 손 또는 다른 제어 오브젝트가 일 위치에서 안정되어 있다고 결정될 수 있다. 일 양상에서, "제스처 모드" 에 접속되었다고 사용자에게 시그널링하는데 선택적인 피드백 매커니즘이 이용될 수 있다.
"제스처 모드" 에 접속되면, 컴퓨터 시스템은 왼쪽, 오른쪽, 위쪽, 또는 아래쪽으로의 "스와이프" 제스처를 검출하기 위해 초음파 센서들로부터의 출력들을 수신하고 손이 최초의 포지션으로부터 어느 방향으로 이동하는지를 결정할 수도 있다. 컴퓨터 시스템이 스와이프 방향을 결정하면, 시스템은 활성 애플리케이션에 스와이프 신호를 발생시킬 수도 있고, 애플리케이션은 적절히 응답할 수도 있다.
다음으로, 사용자는 빨리 연속하여 다른 스와이프를 수행하기 위해 시스템에 재접속하길 원할 수도 있다. 컴퓨터 시스템은 손이 원래의 추적 위치 또는 영역에 다시 나타날 때까지 초음파 센서들의 출력을 분석함으로써 재접속을 가능하게 한다. 시스템은 그 다음에 "제스처 모드" 에 접속되었다고 사용자에게 시그널링할 수도 있거나, 다른 제스처가 요망되는지를 확인하기 위해 사용자가 그 위치에서 사용자들의 손을 멈췄는지를 확인하도록 작은 지연이 가산될 수도 있다. 컴퓨터 시스템은 그 다음에 선택적으로 "제스처 모드" 에 재접속되었다는 것, 및 사용자에 의한 추가적인 "스와이프들" 에 대한 검색을 사용자에게 시그널링할 수 있다.
심도 센서 추적:
일 구현에서, 본 발명의 실시형태들은 디바이스의 정면에서의 장면의 심도 맵을 제공하는 3D 이미지 캡쳐 시스템으로부터의 이미지들을 캡쳐함으로써 디바이스의 정면에서의 장면을 캡쳐하는 것을 수반한다. 이러한 심도 데이터는 오브젝트가 디바이스의 정면에 있는지를 식별하기 위해 컴퓨터 시스템에 의해 분석될 수도 있거나, 보다 상세한 분석에서, 손이 존재하고 손이 특정한 손 포즈 (말하자면, 펼쳐진 손) 로 있다고 결정할 수 있다. 일 구현에서, 컴퓨터 시스템은 직접적으로 또는 임의의 다른 적합한 방법으로 3D 심도 데이터를 분석함으로써 3D 이미지에서 손가락들을 세는 것에 기초하여 손 포즈를 검출할 것이다. 컴퓨터 시스템에 미리 결정된 시간의 양 동안 손-포즈에서의 손의 존재를 검출하면, "제스처 모드" 에 접속했다는 것을 사용자에게 시그널링하는데 추가적인 피드백 매커니즘이 이용될 수도 있다.
"제스처 모드" 가 검출되고 접속되면, 손이 최초의 접속 위치로부터 왼쪽, 오른쪽, 위쪽, 또는 아래쪽 "스와이프" 를 가져오도록 이동하는 것을 결정하기 위해 컴퓨터 시스템에 의해 제스처 검출 알고리즘이 이용될 수 있다. 심도 센서의 경우에, 최초 접속 후에 후속하는 프레임들에서의 손의 절대 위치를 결정하는 것이 가능할 수도 있고, 손이 이동하는 방향은 스와이프의 방향을 결정하는데 이용될 수도 있다. 스와이프 방향이 결정되면, 컴퓨터 시스템은 활성 애플리케이션에 스와이프 신호를 발생시킬 수도 있고, 애플리케이션은 적절히 응답할 수도 있다.
다음으로, 컴퓨터 시스템은 빠른 연속으로 다른 스와이프를 검출할 시에 재접속할 수도 있다. 컴퓨터 시스템은 원래의 추적 위치 또는 영역에서의 및/또는 원하는 손 포즈로의 손의 복귀를 분석함으로써 재접속을 가능하게 하여 제스처 모드를 다시 인에이블할 수도 있다. 다른 접근법에서, 컴퓨터 시스템은 사용자가 사용자들의 손을 원래의 추적 위치 또는 영역으로 복귀시키나 손 포즈를 요구하지 않는다는 것을 검출할 수도 있다. 또 다른 접근법에서, 원래의 추적 위치 또는 영역에서의 손 또는/및 손 포즈의 안정성을 검출하는 것과 연계하여 위의 접근법들 중 어느 일방이 이용될 수도 있다. 이러한 것들의 모두에서, 컴퓨터 시스템은 "제스처 모드" 에 재접속되었다고 사용자에게 시그널링하기 위해 선택적인 피드백 매커니즘 (사운드 또는 시각물, 또는 그 외의 것) 을 제공할 수도 있다. 컴퓨터 시스템은 다음 제스처에 대한 추적을 시작할 수도 있고, 프로세스는 계속될 수도 있다.
여러 예시적인 실시형태들이 본원의 일부분을 형성하는 첨부 도면들에 대하여 이제 설명될 것이다. 본 개시물의 하나 이상의 양상들이 구현될 수도 있는 특정 실시형태들이 하기에서 설명되나, 다른 실시형태들이 이용될 수도 있고, 본 개시물의 범위 또는 첨부된 청구항들의 사상으로부터 벗어나지 않으면서 다양한 수정들이 이루어질 수도 있다.
빠른 제스처 재접속
도 1 은 본 발명의 실시형태들에 따라 동작 모드에 진입하고 동작 모드를 나가기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (100) 이다. 방법은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 것과 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) (도 14 참조) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
블록 (102) 에서, 컴퓨터는 제스처들에 대한 모니터링을 시작한다. 블록 (104) 에서, 컴퓨터 시스템은 동작 모드에 진입하기 위한 제 1 조건을 충족시키는 사용자 제스처를 검출한다. 사용자 제스처는 이미지 센서, 예를 들어, 카메라 (1420) (도 14), 및/또는 입력 디바이스 (1408) 를 이용하여 복수의 이미지들을 획득함으로써 검출될 수도 있다. 일부 실시형태들에서, 동작 모드는 사용자 제스처를 검출하고 일정 기간에 걸쳐 사용자 제스처를 추적하는 것을 포함하는 제스처 추적 모드이다 (블록 (106)). 제스처를 추적하는 것은, 이로 제한되지는 않으나, 초음파 센서 추적, 심도 센서 추적, 2-D 센서 추적, 및/또는 히스토그램 추적을 포함하여, 상술된 추적 방법들 중 임의의 방법을 이용하여 달성될 수도 있다.
다른 실시형태에서, 동작 모드는 컴퓨터 시스템 상에서 하나 이상의 커맨드들을 실행하는 것을 포함하는 커맨드 모드일 수도 있다. 커맨드 모드에서, 사용자 제스처(들)는 컴퓨터 시스템에 의해 해석될 수도 있다. 이러한 액션(들)은 컴퓨터 시스템에 대한 특정한 커맨드들로 묶일 수도 있다. 컴퓨터 시스템은 이러한 커맨드들을 실행하고 사용자에게 피드백을 제공할 수도 있다. 예를 들어, 사용자는 컴퓨터 시스템 상에서 디스플레이되고 있는 가상 책에서의 페이지를 넘기기 위해 소정의 미리 결정된 포지션에 사용자들의 손을 두고 있을 수도 있다.
일부 실시형태들에서, 사용자 제스처는 고정된 제스처일 수도 있다. 다른 실시형태에서, 사용자 제스처는 동적인 제스처일 수도 있다. 고정된 제스처는 사용자 말단부위에 의해 수행되는 미리 정의된 정지 포즈일 수도 있다. 예를 들어, 고정된 제스처는 펼쳐진 손바닥 손 포즈, 또는 주먹 포즈, 또는 OK 나 평화 사인일 수도 있다. 동적인 제스처는 사용자 말단부위에 의해 수행되는 미리 정의된 모션 또는 궤적일 수도 있다. 예를 들어, 동적인 제스처는 사용자가 수행하는 왼쪽에서 오른쪽으로의 스와이프 제스처일 수도 있다. 일부 실시형태들에서, 펼쳐진 손바닥 손 포즈와 같은 손 포즈는 모션 또는 궤적 동안에 유지된다.
블록 (108) 에서, 컴퓨터 시스템은 동작 모드를 나간다. 일정 기간에 걸쳐 제스처를 추적한 후에, 컴퓨터 시스템은 동작 모드 (제스처 추적 모드 및/또는 커맨드 모드) 를 나갈 수도 있다. 예를 들어, 컴퓨터 시스템은 사용자가 사용자 제스처를 수행한 후에 동작 모드를 나간다. 사용자 제스처가 완료되면, 컴퓨터 시스템은 제스처 추적 모드 및/또는 커맨드 모드를 나갈 수도 있다. 이 시점에서, 컴퓨터 시스템은 더 이상 제스처 입력을 받아들이지 않을 수도 있다.
블록 (110) 에서, 컴퓨터 시스템은, 예를 들어, 카메라 (1420) 및/또는 입력 디바이스 (1408) 를 이용하여, 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 사용자 제스처를 검출한다. 제 2 조건은 제 1 조건보다 덜 엄격할 수도 있다. 일부 실시형태들에서, 제 1 조건은 제 1 기간 동안 사용자 제스처를 검출하는 것이고, 제 2 조건은 제 2 기간 동안 사용자 제스처를 검출하는 것이다. 제 2 기간은 제 1 기간보다 짧을 수도 있다. 예를 들어, 제 1 조건은 제 1 미리 결정된 일정 기간 동안 사용자가 수행하는 손 포즈에 의해 충족될 것이다. 제 1 조건을 충족시키는 사용자 제스처를 검출하고 상술된 동작 모드에 진입한 후에, 컴퓨터 시스템은 동작 모드를 나갈 수도 있다. 이 시점에서, 컴퓨터 시스템은 제 2 기간 동안 제 2 조건을 충족시키는 사용자 제스처를 검출할 수도 있으며, 여기서 제 2 기간은 제 1 기간보다 짧다. 예를 들어, 제 2 조건은 제 1 미리 결정된 일정 기간보다 짧은 제 2 미리 결정된 일징 시간 동안 사용자가 수행하는 손 포즈에 의해 충족될 수도 있다. 이는 제 1 조건보다 덜 엄격한 제 2 조건의 예이다. 사용자는 사용자가 손 포즈를 하고 있었던 제 1 시간보다 짧은 시간 동안 다시 손 포즈를 하고 있을 수도 있다. 이러한 제 2 조건을 충족시키는 사용자 제스처를 검출하면, 컴퓨터 시스템은 동작 모드 (제스처 추적 및/또는 커맨드) 에 재진입하여 사용자에게 상호작용 및 피드백을 계속 제공할 수도 있다. 대안으로, 사용자 제스처가 제 2 조건을 충족시키는 것으로 검출되지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템에 완전히 재접속될 것이 요구될 수도 있다.
동작 모드를 나갈 것에 대한 결정 (블록 (108)) 은 필요하지 않을 수도 있는 것으로 이해될 수 있다. 즉, 동작 모드를 나가게 될 수도 있는 (블록 (108)) 그 시점에 제 2 조건을 충족시키는 사용자 제스처가 검출될 수도 있다 (블록 (110)). 일부 실시형태들에서, 제 2 조건을 충족시키는 사용자 제스처 (블록 (110)) 가 절대 검출되지 않는 경우, 컴퓨터 시스템은 제 1 조건을 충족시키는 사용자 제스처를 검출할 시에 진입된 동작 모드에 계속 있을 수도 있다. 일부 실시형태들에서, 동작 모드를 나가는 것은 동작 모드에 재진입하거나 재접속하는 것을 포함한다.
일부 실시형태들에서, 제 1 조건은 제 1 영역 내의 사용자 제스처를 검출하는 것이고, 제 2 조건은 제 2 영역 내의 사용자 제스처를 검출하는 것이다. 제 2 영역은 더 클 수도 있다. 일부 실시형태들에서, 검출하는 것은 일정 기간 동안 제 1 영역에서 미리 결정된 이동 임계치 아래인 사용자 말단부위와 연관된 이동을 검출함으로써 사용자 말단부위가 제 1 영역 내에서 안정되어 있는지 여부를 결정하는 것을 포함한다. 예를 들어, 제 1 조건은 디스플레이 디바이스의 제 1 영역 내에서 사용자가 수행하는 손 포즈에 의해 충족될 것이다. 제 1 조건을 충족시키는 사용자 제스처를 검출하고 상술된 동작 모드에 진입한 후에, 컴퓨터 시스템은 동작 모드를 나갈 수도 있다. 이 시점에서, 컴퓨터 시스템은 제 2 영역 내에서 제 2 조건을 충족시키는 사용자 제스처를 검출할 수도 있으며, 여기서 제 2 영역은 제 1 영역보다 크다. 예를 들어, 제 2 조건은 디스플레이 디바이스의 제 1 영역보다 큰 디스플레이 디바이스의 제 2 영역 내에서 사용자가 수행하는 손 포즈에 의해 충족될 수도 있다. 이는 제 1 조건보다 덜 엄격한 제 2 조건의 예이다. 이러한 제 2 조건을 충족시키는 사용자 제스처를 검출하면, 컴퓨터 시스템은 동작 모드 (예를 들어, 제스처 추적 및/또는 커맨드) 에 재진입하여 사용자에게 상호작용 및 피드백을 계속 제공할 수도 있다.
일부 실시형태들에서, 제 1 조건은 제 1 미리 결정된 신뢰도 수준으로 사용자 제스처를 검출하는 것이고, 제 2 조건은 제 2 미리 결정된 신뢰도 수준으로 사용자 제스처를 검출하는 것이다. 제 1 및 제 2 미리 결정된 신뢰도 수준들은 사용자가 사실상 의도된 제스처, 예를 들어, 고정 제스처 또는 동적인 제스처를 수행하는 컴퓨터 시스템의 신뢰도와 관련된다. 신뢰도 수준들은 의도하지 않은 사용자 입력을 필터링하기 위해 시스템에 의해 이용될 수도 있다. 제 1 및 제 2 신뢰도 수준들은 최소 임계치들일 수도 있고, 최소 임계치를 초과하는 조건들은 제 1 및 제 2 신뢰도 수준들을 충족시키는 것으로 고려될 수도 있다는 것이 이해될 수 있을 것이다. 일부 실시형태들에서, 제 2 신뢰도 수준은 제 1 신뢰도 수준보다 낮을 수도 있다. 제 1 조건 및 제 2 조건이 손 포즈가 수행되고 있는 신뢰도 수준들을 포함하는 일 예에서, 보다 낮은 신뢰도는 사용자가 보다 덜 확정적이거나 보다 완화된 제스처를 수행하는 것을 허락할 수도 있어, 예를 들어, 일부 실시형태들에서 제 1 손 포즈에 대해 요구될 수도 있는 바와 같이 손가락들이 직선으로 펴져 있는 대신에 제 2 손 포즈 동안에 사용자들의 손가락들이 둥그렇게 감기는 것을 허용한다. 일부 실시형태들에서, 보다 낮은 임계치는 사용자가 보다 낮은 정밀도를 갖는 동적인 제스처를 수행하는 것을 허락할 수도 있다.
일부 실시형태들에서, 컴퓨터 시스템은 검출하는 것에 응답하여 동작 모드에 재진입하는 것을 표시하는 피드백을 더 제공할 수도 있다. 예를 들어, 컴퓨터 시스템이 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 사용자 제스처를 검출한 후에, 컴퓨터 시스템은 동작 모드에 재진입되었다는 것을 표시하는 피드백을 (디스플레이와 같은 출력 디바이스를 통해) 사용자에게 제공할 수도 있다. 이러한 피드백은 사용자에게 컴퓨터 시스템의 현재 동작 모드에 대한 시각 큐 (cue) 및/또는 가청 큐를 제공할 수도 있다.
일부 실시형태들에서, 컴퓨터 시스템은 제 1 사용자 제스처에 대응하는 커맨드가 제 2 사용자 제스처에 대응하는 커맨드와 등가인지 여부를 더 결정할 수도 있다. 컴퓨터 시스템은 또한 결정에 적어도 부분적으로 기초하여 제 2 조건을 만족시키기 위한 제 2 사용자 제스처에 대한 요건을 바이패스할 수도 있다. 예를 들어, 사용자가 제 1 조건을 충족시키는 제 1 제스처를 수행하고, 예를 들어, 사용자가 가상 책에서의 페이지를 넘기기를 바라는 것을 표시하기 위해 왼쪽에서 오른쪽으로의 스와이프를 수행하고, 사용자가 제 1 제스처와 등가인 제 2 제스처를 수행하는 경우, 컴퓨터 시스템은 제 2 제스처가 제 2 조건을 충족시킬 것을 요구하지 않으면서 가장 책에서의 다른 페이지를 넘김으로써 응답할 것이다. 제 2 조건은, 예를 들어, 디스플레이 디바이스의 비교적 동일한 구역에서 제스처를 수행하는 것일 수도 있다. 일부 실시형태들에서, 제 2 조건은 스와이프의 최소 길이를 포함할 수도 있다. 예를 들어, 사용자가 손으로 왼쪽에서 오른쪽으로의 스와이프를 수행하고 그 다음에 스와이프가 시작된 포지션의 임계치 내의 구역으로 손을 복귀시키는 경우, 시스템은 제 2 스와이프가 일부 실시형태들에서의 길이 요건을 충족시키지 않을지라도 제 2 스와이프가 수행되었다고 검출할 수도 있다. 일부 실시형태들에서, 제 1 스와이프를 검출하는데 제 1 길이가 요구될 수도 있으며, 한편 제 1 길이보다 짧은 제 2 길이가 반복 스와이프를 검출하는데 요구될 수도 있다. 일부 실시형태들에서, 제 1 조건은 접속 제스처, 예를 들어, 임계 시간의 양 동안의 손 포즈의 유지를 포함하고, 시스템은 제 1 조건이 만족된 후에 제스처, 예를 들어, 스와이프를 검출한다. 일부 그러한 실시형태들에서는, 이후에 시스템이 다른 스와이프 제스처를 검출하는 경우 접속 제스처에 대한 요건이 바이패스될 수도 있다. 따라서, 추가적인 제스처를 수행하기 전에 접속 제스처가 요구되는 시스템들에서 - 그러한 시스템들에서, 제 1 조건 및 제 2 조건은 접속 제스처를 포함할 수도 있다 - 일부 실시형태들에서는 접속 제스처의 부재 시에도 반복적인 제스처가 검출될 수도 있다.
도 2 는 본 발명의 실시형태들에 따라 제스처를 추적하고 제스처에 응답하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (200) 이다. 방법은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 것과 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) (도 14 참조) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
블록 (202) 에서, 컴퓨터 시스템은 제스처들에 대한 모니터링을 시작한다. 블록 (204) 에서, 컴퓨터 시스템은, 예를 들어, 카메라 (1420) 및/또는 입력 디바이스 (1408) 를 이용하여, 제 1 미리 정의된 일정 기간 동안 어느 포지션, 영역, 위치, 또는 구역에서의 최초의 사용자 말단부위의 존재를 검출한다. 제 1 미리 정의된 일정 기간 동안 어느 영역에서의 최초의 사용자 말단부위의 존재를 검출하는 것은 제츠처를 추적할 목적으로 제스처 모드에 접속한다. 일부 실시형태들에서, 컴퓨터 시스템은 미리 정의된 영역에서 사용자 말단부위를 검출하도록 구성될 수도 있다. 사용자 말단부위는 손일 수도 있다. 일부 구현들에서, 최초의 사용자 말단부위의 존재를 검출하는 것은 영역에서의 손-포즈를 검출하는 것을 포함한다. 또한, 최초의 사용자 말단부위의 존재를 검출하는 것은 사용자의 말단부위가 영역에서 안정되어 있다고 검출하는 것을 포함할 수도 있다. 일 구현에서, 사용자 말단부위가 안정되어 있다고 검출하는 것은 제 1 미리 정의된 일정 기간 동안 영역에서 미리 정의된 임계치 아래인 사용자 말단부위와 연관된 이동을 검출하는 것을 수반할 수도 있다. 임의의 적합한 수단이 이용될 수도 있으나, 일 구현에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자 말단부위의 존재를 검출하기 위해 Viola- Jones 오브젝트 검출 프레임워크를 이용할 수도 있다.
컴퓨터 시스템은, 예를 들어, 출력 디바이스 (1410) 를 이용하여, 시스템이 제스처 모드에 접속되었고 제스처를 추적하기 위한 준비가 되었다는 피드백을 사용자에게 더 제공할 수도 있다. 피드백은 시각 피드백, 청각 피드백, 또는 전술 피드백 중 하나 이상일 수도 있다.
블록 (206) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 최초의 사용자 말단부위의 존재의 검출의 영역에서부터 시작하여 사용자 말단부위에 의한 제스처를 추적한다. 사용자 말단부위는 사용자의 손일 수도 있다. 제스처를 추적하는 것은 먼저 제스처를 검출하고, 그 다음에 일정 기간에 걸쳐 제스처를 추적하는 것을 포함할 수도 있다. 제스처는 Viola- Jones 오브젝트 검출 프레임워크 또는 임의의 다른 적합한 수단을 이용하여 검출될 수도 있다. 일 구현에서, 제스처를 추적하는 것은 사용자 말단부위를 포함하는 복수의 이미지들을 획득하는 것, 컴퓨팅 디바이스에 통신가능하게 커플링된 이미지 센서를 이용하는 것, 및 복수의 이미지들에서의 사용자 말단부위와 연관된 속성들에서의 변화를 분석함으로써 특정 방향으로의 사용자 말단부위의 이동을 결정하는 것을 포함한다. 도 14 에 설명된 카메라들 (1420) (도 14 참조) 및 다른 입력 디바이스들 (1408) 이 사용자 말단부위를 감지하는데 사용될 수도 있다. 컴퓨터 시스템에 의해 수행되는 방법은 복수의 2 차원 이미지들을 이용하는 광류 프레임워크 또는 히스토그램 프레임워크, 상술된 바와 같은, 제스처를 추적하기 위한 초음파 센서 추적 혹은 심도 센서 추적, 또는 임의의 다른 적합한 수단을 이용할 수도 있다.
블록 (208) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 제스처의 추적에 응답한다. 일 예에서, 사용자는 디스플레이 유닛 또는 홀로그램 또는 3D 이미지들 상에 디스플레이된 페이지들을 넘기거나 오브젝트들을 이동시키기 위해 제스처를 이용할 수도 있다. 이러한 제스처는 디바이스 (1400) 의 애플리케이션 (1416) 또는 다른 요소들에 영향을 미칠 수도 있다. 일 사례에서, 사용자의 제스처들에 대한 응답은 도 14 에서 설명된 출력 디바이스 (1410) 와 같은 디스플레이 디바이스 상에 보인다.
블록 (210) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 후속하는 사용자 말단부위의 존재를 검출할 시에 연속하는 제스처들을 추적하기 위해 제스처 모드에 재접속한다. 빠른 연속하는 제스처들에 대해 추적 시스템에 재접속하는 것의 한 가지 이점은 컴퓨터 시스템이 반복적인 제스처들에 대해 사용자가 블록 (204) 에서부터 시스템에 접속하도록 요구하는 대신에 책을 통해 페이지들을 넘기는 것과 같은 사용자의 제스처들에 보다 빠르게 응답하는 것을 허용한다는 것이며, 이는 그렇지 않으면 보다 긴 설정 시간이 걸릴 수도 있다.
블록 (210) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 제 2 미리 정의된 일정 기간 동안 영역에서 후속하는 사용자 말단부위의 존재를 검출하고 제스처 모드에 재접속한다. 일부 구현들에서, 제 2 미리 정의된 일정 기간은 제 1 미리 정의된 일정 기간보다 짧다. 재접속을 위한 사용자 말단부위 검출에 대한 영역은 최초의 접속을 위한 영역보다 클 수도 있다. 이는 제 1 조건보다 덜 엄격한 제 2 조건의 예이다. 또 다른 구현들에서, 제 2 미리 정의된 기간은 필요하지 않을 수도 있고 제로이거나 무시해되 될 정도일 수도 있다.
컴퓨터 시스템은, 블록 (204) 에서, 사용자 말단부위가 최초에 검출되었던 것과 동일한 영역에서 사용자 말단부위를 검출하도록 구성될 수도 있다. 컴퓨터 시스템은 또한 시간 경과에 따른 영역에서의 편차들을 고려할 수도 있다. 사용자 말단부위는 손일 수도 있다. 일부 구현들에서, 최초의 사용자 말단부위의 존재를 검출하는 것은 영역에서의 손-포즈를 검출하는 것을 포함한다. 또한, 최초의 사용자 말단부위의 존재를 검출하는 것은 사용자의 말단부위가 영역에서 안정되어 있다고 검출하는 것을 포함할 수도 있다. 일 구현에서, 사용자 말단부위가 안정되어 있다고 검출하는 것은 제 1 미리 정의된 일정 기간 동안 영역에서 미리 정의된 임계치 아래인 사용자 말단부위와 연관된 이동을 검출하는 것을 수반할 수도 있다. 임의의 적합한 수단이 이용될 수도 있으나, 일 구현에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자 말단부위의 존재를 검출하기 위해 Viola- Jones 오브젝트 검출 프레임워크를 이용할 수도 있다.
컴퓨터 시스템은, 예를 들어, 출력 디바이스 (1410) 를 이용하여, 시스템이 제스처 모드에 재접속되었고 제스처를 추적하기 위한 준비가 되었다는 피드백을 사용자에게 더 제공할 수도 있다. 피드백은 시각 피드백, 청각 피드백, 또는 전술 피드백 중 하나 이상일 수도 있다. 피드백은 도 14 에서 설명된 출력 디바이스들 (1410) 을 이용하여 사용자에게 제공될 수도 있다. 제스처 모드에 재접속되면, 컴퓨터 시스템에 의해 수행되는 방법은 영역으로부터 사용자 말단부위에 의한 제스처를 추적하고 (블록 (206)) 제스처의 추적에 응답하기 (블록 (208)) 시작할 수도 있다.
예를 들어, 임계 일정 기간 내에, 컴퓨터 시스템이 블록 (210) 에서 후속하는 사용자 말단부위의 존재를 검출하지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템을 완전히 재접속할 것이 요구될 수도 있다.
도 3 은 본 발명의 실시형태들에 따른 안정적인 사용자 말단부위를 검출하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (300) 이다. 방법 (300) 은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 것과 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) (도 14 참조) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
블록 (302) 에서, 컴퓨터 시스템은 사용자의 손에 대한 모니터링을 시작한다. 블록 (304) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 안정되어 있고 미리 정의된 일정 기간 동안 어느 위치에 있는지를 기다렸다가 결정한다. 위치는 이미지 캡쳐 디바이스, 예를 들어, 카메라 (1420) 에 의해 보이는 구역일 수도 있다. 위치는 또한 사용자의 손의 최초의 검출 지점 주위의 미리 정의된 반경일 수도 있다. 일부 실시형태들에서, 위치는 사용자의 손의 최초의 검출 지점 주위의 박스 또는 직사각형에 의해 정의될 수도 있다. 사용자의 손의 최초의 검출 지점은 (x,y) 좌표를 이용하여 정의될 수도 있다. 블록 (306) 에서, 컴퓨터 시스템에 의해 수행되는 방법은, 예를 들어, 카메라 (1420) 및/또는 입력 디바이스 (1408) 를 이용하여, 사용자의 손이 검출되는 위치에서부터 시작하여 제스처를 추적한다. 블록 (308) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 제스처의 추적에 응답한다. 제스처에 대한 응답은, 가상 책 페이지들을 넘기는 것의 표현과 같이 외부에서 보일 수도 있거나, 컴퓨터 시스템에 의해 태스크를 수행하기 위한 내부적 트리거일 수도 있다. 블록 (310) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 원래 검출되었던 위치로 사용자의 손이 복귀되기를 기다린다. 상술된 바와 같이, 위치는 사용자의 손의 최초의 검출 지점 주위의 미리 정의된 반경 또는 박스/직사각형일 수도 있다. 일부 실시형태들에서, 절대 포지션이 카메라 (1420) 에 대해 변화되었을 수 있을지라도, 위치는 사용자의 신체에 대해 상대적일 수 있는데, 예를 들어, 왼쪽 스와이프를 수행한 후에 다시 사용자의 우측일 수도 있다. 일부 실시형태들에서, 위치는 절대적인 원래의 포지션 (최초의 검출 지점) 의 임계 거리 내에, 또는 원래의 반경, 박스, 직사각형, 영역 등의 반영 (penumbra) 내에 있을 수도 있다. 사용자의 손이 복귀하는 경우, 제스처에 대한 추적 시스템은 재접속되고 시스템은 제스처를 계속 추적한다 (블록 (306)). 시스템이 제스처를 계속 추적할 시에 (블록 (306)) 블록 (304) 은 바이패스될 수도 있는 것으로 이해될 수 있다.
상술된 본 발명의 실시형태들은 컴퓨터 시스템에 통신가능하게 커플링된 이미지 센서를 이용하여 복수의 후속하는 사용자의 손의 이미지들을 획득함으로써 수행될 수도 있다. 도 14 에 설명된 하나 이상의 카메라들 (1420) 및 다른 입력 디바이스들 (1408) 이 이미지들을 감지하는데 사용될 수도 있다. 블록 (302) 에서, 시스템은 사용자의 손의 검출을 위해 획득된 이미지들을 계속 분석한다. 블록 (304) 에서, 컴퓨터 시스템은, 예를 들어, 카메라 (1420) 및/또는 입력 디바이스 (1408) 를 이용하여 캡쳐된 복수의 이미지들을 분석함으로써 미리 정의된 일정 기간 동안 사용자의 손이 안정되어 있고 어느 위치에 있다는 것을 검출한다. 블록 (306) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 그 위치에서 시작하여 제스처를 검출하여 추적한다. 블록 (308) 에서, 컴퓨터 시스템은 검출된 제스처에 응답한다. 블록 (310) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 사용자의 손이 그 위치로 복귀하는 것을 기다렸다가 검출한다. 사용자의 손이 검출되는 경우, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 원래의 위치에서 시작하여 (블록 (306) 에서) 제스처를 추적하고 (블록 (308) 에서) 제스처에 응답한다.
컴퓨터 시스템이 블록 (310) 에서 미리 결정된 일정 기간 후에, 예를 들어, 임계 일정 기간 내에 손의 복귀를 검출하지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템을 완전히 재접속할 것이 요구될 수도 있다.
도 4 는 본 발명의 실시형태들에 따른 안정적인 사용자 말단부위를 검출할 시에 연속하는 제스처를 추적하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (400) 이다. 방법 (400) 은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 것과 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) (도 14 참조) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
블록 (402) 에서, 컴퓨터 시스템은 사용자의 손에 대한 모니터링을 시작한다. 블록 (404) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 제 1 미리 정의된 일정 기간 동안 안정되어 있고 어느 위치에 있는지를 기다렸다가 결정한다. 블록 (406) 에서, 컴퓨터 시스템에 의해 수행되는 방법은, 예를 들어, 카메라 (1420) 및/또는 입력 디바이스 (1408) 를 이용하여, 사용자의 손이 검출되는 위치에서부터 시작하여 제스처를 추적한다. 블록 (408) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 제스처에 응답한다. 제스처에 대한 응답, 예컨대, 가상 책 페이지들을 넘기는 것의 표현은 외부에서 보일 수도 있거나, 컴퓨터 시스템에 의해 태스크를 수행하기 위한 내부적 트리거일 수도 있다. 블록 (410) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 원래 검출되었던 위치로 사용자의 손이 복귀되기를 기다린다. 블록 (412) 에서, 사용자의 손이 원래의 위치로 복귀하는 경우, 제스처에 대한 추적 시스템이 재접속되고 시스템이 다시 제스처를 계속 추적하기 (블록 (406)) 전에, 컴퓨터 시스템은 사용자의 손의 안정성을 검출하기 위해 추가적인 제 2 미리 정의된 일정 기간 동안 기다릴 수도 있으며, 여기서 제 2 미리 정의된 일정 기간은 제 1 미리 정의된 일정 기간보다 짧다. 이는 제 1 조건보다 덜 엄격한 제 2 조건의 예이다.
상술된 본 발명의 실시형태들은 컴퓨터 시스템에 통신가능하게 커플링된 이미지 센서를 이용하여 복수의 후속하는 사용자의 손의 이미지들을 획득함으로써 수행될 수도 있다. 도 14 에 설명된 하나 이상의 카메라들 (1420) (도 14 참조) 및 다른 입력 디바이스들 (1408) 이 이미지들을 감지하는데 사용될 수도 있다. 블록 (402) 에서, 시스템은 사용자의 손의 검출을 위해 획득된 이미지들을 분석하기 시작한다. 블록 (404) 에서, 컴퓨터 시스템은 복수의 이미지들을 분석함으로써 제 1 미리 정의된 일정 기간 동안 사용자의 손이 안정되어 있고 어느 위치에 있다고 검출한다. 블록 (406) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 그 위치에서 시작하여 제스처를 검출하여 추적한다. 블록 (408) 에서, 컴퓨터 시스템은 검출된 제스처에 응답한다. 블록 (410) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 사용자의 손이 그 위치로 복귀하는 것을 기다렸다가 검출한다. 후속하는 이미지들을 분석함으로써 원래의 위치에서 시작하여 (블록 (406) 에서) 제스처를 추적하고 (블록 (408) 에서) 제스처에 응답하기 전에, 블록 (412) 에서, 사용자의 손이 검출되는 경우, 컴퓨터 시스템은 사용자의 손의 안정성을 확실히 하기 위해 추가적인 제 2 미리 정의된 일정 기간 동안 더 기다린다. 시스템이 제스처를 계속 추적할 시에 (블록 (306)) 블록 (304) 은 바이패스될 수도 있는 것으로 이해될 수 있다.
예를 들어, 임계 일정 기간 내에, 컴퓨터 시스템이 블록 (412) 에서 사용자의 손의 안정성을 검출하지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템을 완전히 재접속할 것이 요구될 수도 있다.
도 5 는 본 발명의 실시형태들에 따라 영역 내에서 사용자 말단부위의 복귀를 검출할 시에 연속하는 제스처를 추적하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (500) 이다. 방법 (500) 은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 바와 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) (도 14 참조) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
상술된 본 발명의 실시형태들은 컴퓨터 시스템에 통신가능하게 커플링된 이미지 센서를 이용하여 복수의 후속하는 사용자의 손의 이미지들을 획득함으로써 수행될 수도 있다. 도 14 에 설명된 하나 이상의 카메라들 (1420) (도 14 참조) 및 다른 입력 디바이스들 (1408) 이 이미지들을 감지하는데 사용될 수도 있다. 블록 (502) 에서, 시스템은, 예를 들어, 카메라 (1420) 및/또는 입력 디바이스 (1408) 를 이용하여 사용자의 손의 검출을 위해 획득된 이미지들을 계속 분석한다. 블록 (504) 에서, 컴퓨터 시스템은 컴퓨터 시스템은 복수의 이미지들을 분석함으로써 손 포즈 및 미리 정의된 일정 기간 동안 어느 위치에서 사용자의 손이 손 포즈에서 안정되어 있는 것을 검출하다. 블록 (506) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 그 위치에서 시작하여 제스처를 검출하여 추적한다. 블록 (508) 에서, 컴퓨터 시스템은 검출된 제스처에 응답한다. 블록 (510) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 그 위치로 복귀하는 사용자의 손 및 사용자에 의한 손-포즈를 기다렸다가 검출한다. 사용자의 손의 복귀 및 손-포즈가 검출되는 경우, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 원래의 위치에서 시작하여 (블록 (506) 에서) 제스처를 추적하고 (블록 (508) 에서) 제스처에 응답한다. 시스템이 제스처를 계속 추적할 시에 (블록 (506)) 블록 (505) 은 바이패스될 수도 있는 것으로 이해될 수 있다.
예를 들어, 임계 일정 기간 내에, 컴퓨터 시스템이 블록 (510) 에서 위치로 복귀하는 사용자의 손 및 사용자에 의한 손-포즈를 검출하지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템을 완전히 재접속할 것이 요구될 수도 있다.
도 6 은 본 발명의 실시형태들에 따른 영역 내에서 안정적인 사용자 말단부위의 복귀를 검출할 시에 연속하는 제스처를 추적하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (600) 이다. 방법은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 것과 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법 (600) 은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
상술된 본 발명의 실시형태들은 컴퓨터 시스템에 통신가능하게 커플링된 이미지 센서를 이용하여 복수의 후속하는 사용자의 손의 이미지들을 획득함으로써 수행될 수도 있다. 도 14 에 설명된 하나 이상의 카메라들 (1420) 및 다른 입력 디바이스들 (1408) 이 이미지들을 감지하는데 사용될 수도 있다. 블록 (602) 에서, 시스템은, 예를 들어, 카메라 (1420) 및/또는 입력 디바이스 (1408) 를 이용하여 사용자의 손의 검출을 위해 획득된 이미지들을 분석하기 시작한다. 블록 (604) 에서, 컴퓨터 시스템은 복수의 이미지들을 분석함으로써 손 포즈 및 제 1 미리 정의된 일정 기간 동안 사용자의 손이 안정되어 있고 어느 위치에 있다고 검출한다. 블록 (606) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 그 위치에서 시작하여 제스처를 검출하여 추적한다. 블록 (608) 에서, 컴퓨터 시스템은 검출된 제스처에 응답한다. 블록 (610) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 그 위치로 복귀하는 사용자의 손 및 손-포즈를 기다렸다가 검출한다. 사용자의 손 및 손-포즈가 검출되는 경우, 후속하는 이미지들을 분석함으로써 원래의 위치에서 시작하여 (블록 (606) 에서) 제스처를 추적하고 (블록 (608) 에서) 제스처에 응답하기 전에, 블록 (612) 에서, 컴퓨터 시스템은 손-포즈의 안정성을 확실하게 하기 위해 추가적인 제 2 미리 정의된 일정 기간 동안 더 기다린다. 제 2 미리 정해진 일정 기간은 제 1 미리 정해진 일정 기간보다 짧을 수도 있다. 이는 제 1 조건보다 덜 엄격한 제 2 조건의 예이다. 시스템이 제스처를 계속 추적할 시에 (블록 (606)) 블록 (604) 은 바이패스될 수도 있는 것으로 이해될 수 있다.
예를 들어, 임계 일정 기간 내에, 컴퓨터 시스템이 블록 (612) 에서 손-포즈의 안정성을 검출하지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템에 완전히 재접속할 것이 요구될 수도 있다.
도 7 은 본 발명의 실시형태들에 따른 안정적인 사용자 말단부위를 검출할 시에 연속하는 제스처를 추적하고 사용자에게 피드백을 제공하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (700) 이다. 방법은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 것과 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
블록 (702) 에서, 컴퓨터 시스템은 사용자의 손에 대한 모니터링을 시작한다. 블록 (704) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 미리 정의된 일정 기간 동안 안정되어 있고 어느 위치에 있는지를 기다렸다가 결정한다. 블록 (706) 에서, 컴퓨터 시스템에 의해 수행되는 방법은, 사용자의 손이 미리 정의된 일정 기간 동안 안정되어 있고 어느 위치에 있다고 결정하는 것에 응답하여, 예를 들어, 출력 디바이스 (1410) 를 이용해, 시스템이 접속되었다고 사용자에게 피드백을 제공할 수도 있다. 블록 (708) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 검출된 위치에서부터 시작하여 제스처를 추적한다. 블록 (710) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 제스처에 응답한다. 제스처에 대한 응답, 예컨대, 가상 책 페이지들을 넘기는 것의 표현과 같이 외부에서 보일 수도 있거나, 컴퓨터 시스템에 의해 태스크를 수행하기 위한 내부적 트리거일 수도 있다. 블록 (712) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 원래 검출되었던 위치로 사용자의 손이 복귀되기를 기다린다. 블록 (714) 에서, 컴퓨터 시스템은 손이 안정되어 있는 손-포즈로 있다는 것을 결정하기 위해 제 2 미리 정의된 일정 기간 동안 기다릴 수도 있다. 사용자의 손이 복귀하며, 손-포즈가 검출되고, 손이 안정되어 있는 경우, 제스처에 대한 추적 시스템은 재접속되고 시스템은 제스처를 계속 추적한다 (블록 (708)). 선택적으로, 컴퓨터 시스템은 시스템이 다시 추적을 위해 재접속되었다는 추가적인 피드백을 제공할 수도 있다 (블록 (706)). 시스템이 제스처를 계속 추적할 시에 (블록 (706)) 블록 (704) 은 바이패스될 수도 있는 것으로 이해될 수 있다.
예를 들어, 임계 일정 기간 내에, 컴퓨터 시스템이 블록 (714) 에서 안정적인 손-포즈를 검출하지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템에 완전히 재접속할 것이 요구될 수도 있다.
도 8 은 본 발명의 실시형태들에 따른 어느 영역에서 사용자 말단부위의 복귀를 검출할 시에 연속하는 제스처를 추적하고 사용자에게 피드백을 제공하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (800) 이다. 방법은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 것과 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) (도 14 참조) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
상술된 본 발명의 실시형태들은 컴퓨터 시스템에 통신가능하게 커플링된 이미지 센서를 이용하여 복수의 후속하는 사용자의 손의 이미지들을 획득함으로써 수행될 수도 있다. 도 14 에 설명된 하나 이상의 카메라들 (1420) 및 다른 입력 디바이스들 (1408) 이 이미지들을 감지하는데 사용될 수도 있다. 블록 (802) 에서, 시스템은 사용자의 손의 검출을 위해 획득된 이미지들을 계속 분석한다. 블록 (804) 에서, 컴퓨터 시스템은 복수의 이미지들을 분석함으로써 손 포즈 및 제 1 미리 정의된 일정 기간 동안 어느 위치에서 사용자의 손이 그 손 포즈로 안정되어 있다고 검출한다. 블록 (806) 에서, 컴퓨터 시스템에 의해 수행되는 방법은, 예를 들어, 출력 디바이스 (1410) 를 이용하여, 시스템에 접속되었다고 사용자에게 피드백을 제공할 수도 있다. 블록 (808) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 그 위치에서 시작하여 제스처를 검출하여 추적한다. 블록 (810) 에서, 컴퓨터 시스템은 검출된 제스처에 응답한다. 블록 (812) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 사용자의 손이 그 위치로 그리고 사용자에 의해 그 손-포즈로 복귀하는 것을 기다렸다가 검출한다. 블록 (806) 에서, 컴퓨터 시스템은 시스템에 다시 추적을 위해 재접속되었다는 추가적인 피드백을 제공할 수도 있다. 사용자의 손의 복귀 및 손-포즈가 검출되는 경우, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 원래의 위치에서 시작하여 (블록 (808) 에서) 제스처를 추적하고 (블록 (810) 에서) 제스처에 응답한다. 시스템이 제스처를 계속 추적할 시에 (블록 (806)) 블록 (804) 은 바이패스될 수도 있는 것으로 이해될 수 있다.
컴퓨터 시스템이 블록 (812) 에서 그 위치로 그리고 그 손-포즈로 복귀하는 사용자의 손을 검출하지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템에 완전히 재접속할 것이 요구될 수도 있다.
도 9 는, 예를 들어, 출력 디바이스 (1410) 를 이용하여, 본 발명의 실시형태들에 따른 영역 내에서의 안정적인 사용자 말단부위의 복귀를 검출할 시에 연속하는 제스처를 추적하고 사용자에게 피드백을 제공하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (900) 이다. 방법은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 것과 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) (도 14 참조) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
상술된 본 발명의 실시형태들은 컴퓨터 시스템에 통신가능하게 커플링된 이미지 센서를 이용하여 복수의 후속하는 사용자의 손의 이미지들을 획득함으로써 수행될 수도 있다. 도 14 에 설명된 하나 이상의 카메라들 (1420) 및 다른 입력 디바이스들 (1408) 이 이미지들을 감지하는데 사용될 수도 있다. 블록 (902) 에서, 시스템은, 예를 들어, 카메라 (1420) 및/또는 입력 디바이스 (1408) 를 이용하여 사용자의 손의 검출을 위해 획득된 이미지들을 분석하기 시작한다. 블록 (904) 에서, 컴퓨터 시스템은 복수의 이미지들을 분석함으로써 손 포즈 및 제 1 미리 정의된 일정 기간 동안 어느 위치에 사용자의 손이 안정되어 있다고 검출한다. 블록 (906) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 시스템이 접속되었다고 사용자에게 피드백을 제공할 수도 있다. 블록 (908) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 그 위치에서 시작하여 제스처를 검출하여 추적한다. 블록 (910) 에서, 컴퓨터 시스템은 검출된 제스처에 응답한다. 블록 (912) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 사용자의 손이 그 위치로 복귀하는 것 및 손-포즈를 기다렸다가 검출한다. 사용자의 손 및 손-포즈가 검출되는 경우, 후속하는 이미지들을 분석함으로써 원래의 위치에서 시작하여 (블록 (908) 에서) 제스처를 추적하고 (블록 (910) 에서) 제스처에 응답하기 전에, 블록 (914) 에서, 컴퓨터 시스템은 손-포즈의 안정성을 확실하게 하기 위해 추가적인 제 2 미리 정의된 일정 기간 동안 더 기다린다. 제 2 미리 결정된 일정 기간은 제 1 미리 결정된 일정 기간보다 짧을 수도 있다. 이는 제 1 조건보다 덜 엄격한 제 2 조건의 예이다. 다시 추적하고 응답하기 전에, 블록 (906) 에서, 컴퓨터 시스템은, 예를 들어, 출력 디바이스 (1410) 를 이용하여, 추적 시스템이 다시 제스처 모드에 있다고 사용자에게 피드백을 제공할 수도 있다. 시스템이 사용자에게 피드백을 제공할 시에 (블록 (906)), 블록 (904) 은 바이패스될 수도 있는 것으로 이해될 수 있다.
예를 들어, 임계 일정 기간 내에, 컴퓨터 시스템이 블록 (914) 에서 손-포즈의 안정성을 검출하지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템에 완전히 재접속할 것이 요구될 수도 있다.
도 10 은 본 발명의 실시형태들에 따른 연속하는 제스처들을 추적하고 제스처의 방향에서의 변화를 검출하기 위한 본 발명의 예시적인 실시형태를 도시하는 흐름도 (1000) 이다. 방법은 하드웨어 (회로부, 전용 로직 등), (범용 컴퓨팅 시스템 또는 전용 머신 상에서 구동되는 것과 같은) 소프트웨어, 펌웨어 (임베디드 소프트웨어), 또는 이들의 임의의 조합을 포함하는 프로세서 (1404) (도 14 참조) 와 같은 프로세싱 로직에 의해 수행된다. 일 실시형태에서, 방법은 도 14 의 디바이스 (1400) 에 의해 수행된다. 컴퓨터 시스템 상에서 구동하는 소프트웨어는, 작업 메모리 (1418) 에 또는 저장 디바이스 (1406) 상에 저장된, 운영 체제 (1414) 및 애플리케이션들 (1416) 을 포함할 수도 있다.
블록 (1002) 에서, 컴퓨터 시스템은 사용자의 손에 대한 모니터링을 시작한다. 블록 (1004) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 미리 정의된 일정 기간 동안 안정되어 있고 어느 위치에 있는지를 기다렸다가 결정한다. 블록 (1006) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 검출된 위치에서부터 시작하여 제스처를 추적한다. 블록 (1008) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 제스처에 응답한다. 제스처에 대한 응답, 예컨대, 책 페이지들을 넘기는 것의 표현과 같이 외부에서 보일 수도 있거나, 컴퓨터 시스템에 의해 태스크를 수행하기 위한 내부적 트리거일 수도 있다. 블록 (1010) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 사용자의 손이 원래 검출되었던 위치로의 사용자의 손의 적어도 부분적인 복귀를 기다린다. 블록 (1012) 에서, 컴퓨터 시스템은 손이 최초의 위치에 이르지 않으면서 최초의 위치로부터 떨어진 방향으로의 변화를 검출한다. 일 실시형태에서, 컴퓨터 시스템은, 제스처 모드에 재접속하기 위한 사용자에 의한 의도로서, 사용자 손의 이러한 부분적인 복귀를 검출한다. 따라서, 컴퓨터 시스템은 제스처 모드에 재접속하고 다시 블록 (1006) 에서 추적하기 시작한다. 따라서, 제스처 모드는 제어 오브젝트의 방향에서의 변화에 기초하여 사용자가 시작 포지션으로 완전히 복귀하지 않은 경우일지라도 재접속될 수도 있다.
대안적인 실시형태에서, 블록 (1006) 후에, 제스처 추적기가 제스처의 모션 경로의 전체에 있어서 손을 추적할 수 없는 경우 손이 분실될 수도 있다. 예를 들어, 손 모션이 센서의 시계 (field of view) 를 떠날 수도 있거나, 손 포즈 및 배향이 센서에 대해 외관상 상당히 변화할 수도 있어, 손 추적기가 손의 위치를 더 이상 추적할 수 없게 한다. 손이 분실되기에 바로 앞서 제스처의 일부분이 관측되는 경우 부분적 모션 경로는 제스처로 분류될 수도 있다. 블록 (1008) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 제스처에 응답한다. 제스처에 대한 응답, 예컨대, 가상 책 페이지들을 넘기는 것의 표현과 같이 외부에서 보일 수도 있거나, 컴퓨터 시스템에 의해 태스크를 수행하기 위한 내부적 트리거일 수도 있다. 블록 (1010) 에서, 컴퓨터 시스템에 의해 수행되는 방법은 추적기가 손이 가장 최근에 분실된 이후로 미리 정의된 일정 기간 내에서 손을 재검출하기를 기다린다. 일 실시형태에서, 컴퓨터 시스템은 이러한 사용자의 손의 재검출이 제스처 모드에 재접속하기 위한 사용자에 의한 의도라고 결정한다. 예를 들어, 손을 재검출하는 것은, 제스처 모들를 재접속하기 위한 사용자에 의한 의도를 암시할 수도 있는, 센서의 시계로의 손 복귀, 또는 원래의 포즈 및 배향과 유사한 포즈 및 배향으로의 손 포즈 및 배향 복귀를 요구할 수도 있다. 따라서, 컴퓨터 시스템은 제스처 모드에 재접속하고 다시 블록 (1006) 에서 추적하기 시작한다. 시스템이 제스처를 계속 추적할 시에 (블록 (1006)) 블록 (1004) 은 바이패스될 수도 있는 것으로 이해될 수 있다.
상술된 본 발명의 실시형태들은 컴퓨터 시스템에 통신가능하게 커플링된 이미지 센서를 이용하여 복수의 후속하는 사용자의 손의 이미지들을 획득함으로써 수행될 수도 있다. 도 14 에 설명된 하나 이상의 카메라들 (1420) 및 다른 입력 디바이스들 (1408) 이 이미지들을 감지하는데 사용될 수도 있다. 블록 (1002) 에서, 시스템은 사용자의 손의 검출을 위해 획득된 이미지들을 계속 분석한다. 블록 (1004) 에서, 컴퓨터 시스템은 복수의 이미지들을 분석함으로써 미리 정의된 일정 기간 동안 사용자의 손이 안정되어 있고 어느 위치에 있다고 검출한다. 블록 (1006) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 그 위치에서 시작하여 제스처를 검출하여 추적한다. 블록 (1008) 에서, 컴퓨터 시스템은 검출된 제스처에 응답한다. 블록 (1010) 에서, 컴퓨터 시스템은 후속하는 이미지들을 분석함으로써 사용자의 손이 그 위치로 부분적으로 복귀하는 것을 기다렸다가 검출한다. 블록 (1012) 에서, 컴퓨터 시스템은 복수의 이미지들을 분석함으로써 최초의 위치로부터 떨어진 사용자의 손의 방향에서의 변화를 검출한다. 일 실시형태에서, 컴퓨터 시스템은, 제스처 모드에 재접속하기 위한 사용자에 의한 의도로서, 사용자 손의 이러한 부분적인 복귀를 검출한다. 따라서, 컴퓨터 시스템은 제스처 모드에 재접속하고 다시 블록 (1006) 에서 추적하기 시작한다.
예를 들어, 임계 일정 기간 내에, 컴퓨터 시스템이 블록 (1012) 에서 방향에서의 변화를 검출하지 않는 경우, 방법은 끝날 수도 있고 제스처 추적은 더 이상 계속되지 않을 수도 있다. 사용자는 그러면 임의의 후속하는 제스처 커맨드들을 수행하기에 앞서 컴퓨터 시스템에 완전히 재접속할 것이 요구될 수도 있다.
도 11 은 본 발명의 실시형태들에 따른 제스처 동작 모드에 진입하고 제스처 동작 모드에 재진입하는 것을 도시한다. 사용자는, 상술된 바와 같이, 제스처 동작 모드로 진입하는 조건(들) (1102) 을 충족시키기 위해 제 1 미리 결정된 일정 기간 (1101) 동안에 제스처 (1100) 를 하고 있는 사용자 제스처 (예를 들어, 손 포즈) 를 수행할 수도 있다. 사용자는 그 다음에 제스처들 또는 포즈들 (1103) 을 수행하고, 예를 들어, 미리 결정된 커맨드를 완료함으로써 추적 구역을 떠나거나 그렇지 않으면 제스처 동작 모드를 나갈 수도 있다. 사용자는 그 다음에 손 포즈 (1104) 를 재확립하고 제 1 기간보다 짧은 제 2 미리 결정된 일정 기간 (1105) 동안 그 포즈를 유지할 수도 있고, 컴퓨터 시스템은 다시 한번 제스처 동작 모드 (1102) 에 진입할 수도 있다. 제스처 동작 모드에 재진입하는 경우, 컴퓨터 시스템은 제 1 조건에 기초하여 제스처 동작 모드를 확립할 필요가 없다. 예를 들어, 사용자가 이미 제스처 동작 모드를 작동시켰기 때문에 컴퓨터 시스템은 사용자가 제스처를 수행하길 원하는 것을 인식하는 전체 프로세스를 수행할 필요가 없다. 컴퓨터는 단지 제 1 미리 결정된 일정 기간보다 짧은 제 2 미리 결정된 일정 기간 동안의 제스처 또는 포즈를 인식하고 제스처 동작 모드에 재진입할 수도 있다. 다시 말해, 전체 검출 및/또는 전체 제스처 접속은 앞서 완료되었기 때문에 완료될 필요가 없다.
도 12a 내지 도 12c 는 본 발명의 실시형태들에 따라 제스처 동작 모드에 진입하고 제스처 동작 모드에 재진입하는 것을 도시한다. 도 12a 는 사용자에 의해 입력되는 제스처 (1100) 를 검출, 인식, 및 응답할 수 있는 모바일 디바이스 (1202), 예를 들어, 스마트폰을 도시한다. 제스처들 (1100) 은 카메라 (1420) 및 모바일 디바이스 (1202) 의 내부에 있는 추가적인 프로세싱 로직에 의해 검출되고 인식될 수도 있다. 제스처 (1100) 는 모바일 디바이스 (1202) 상에 디스플레이되는 제 1 영역 (1204) 내에 존재하는 경우에 인식될 수도 있다. 일부 실시형태들에서, 제스처 (1100) 는 미리 결정된 일정 기간 동안 제 1 영역 (1204) 내에서 인식될 필요가 있을 수도 있다. 미리 결정된 일정 기간 후에, 모바일 디바이스 (1202) 는 제스처 추적 모드 및/또는 커맨드 모드에 진입할 수도 있다. 제스처 추적 모드에 있는 동안에, 모바일 디바이스 (1202) 는 사용자에 의해 수행되는 제스처들 (1100) 을 추적할 수도 있다. 커맨드 모드에 있는 동안에, 모바일 디바이스 (1202) 는 제스처들 (1100) 에 기초하여 시스템 커맨드들을 실행할 수도 있다. 이러한 예는 손을 사용함으로서 제스처를 묘사하는데; 하지만, 상술된 바와 같은 다른 제스처들이 사용될 수도 있는 것으로 이해될 수 있다.
도 12b 는 더 이상 제 1 영역 (1204) 내에 있지 않은 제스처 (1100) 를 도시한다. 예를 들어, 사용자가 제스처들을 검출하고 인식하기 위해 제 1 영역의 외부로 사용자들의 손을 이동시키는 경우, 모바일 디바이스 (1202) 는 제스처 추적 모드 및 커맨드 모드를 나갈 수도 있다. 모바일 디바이스 (1202) 가 제스처 추적 모드 및 커맨드 모드에 재진입하지 않는 한 모바일 디바이스 (1202) 는 더 이상 임의의 제스처들 (1100) 에 응답하지 않을 수도 있다.
도 12c 는 제 2 영역 (1206) 내의 제스처 (1100) 를 도시한다. 이러한 특정 실시형태에서, 제 2 영역 (1206) 은 제 1 영역 (1204) 보다 더 크다. 제 2 영역 (1206) 내의 제스처 (1100) 를 검출할 시에, 모바일 디바이스 (1202) 는 제스처 추적 모드 및 커맨드 모드에 재진입할 수도 있다. 일부 실시형태들에서, 제스처 (1100) 는 모바일 디바이스 (1202) 가 제스처 추적 모드 및 커맨드 모드에 재진입하기에 앞서 미리 결정된 일정 기간 동안 제 2 영역 (1206) 내에서 인식될 필요가 있을 수도 있다. 일부 실시형태들에서, 제스처 추적 모드 및 커맨드 모드에 재진입하기 위한 미리 결정된 일정 기간은 제스처 추적 모드 및 커맨드 모드에 진입하기 위한 미리 결정된 일정 기간보다 짧을 수도 있다.
모바일 디바이스 (1202) 가 도 12a 에서 미리 결정된 일정 기간 동안 그리고 제 1 영역 (1204) 내에서 제스처 (1100) 를 검출했으므로, 모바일 디바이스 (1202) 는, 제스처 추적 모드 및 커맨드 모드를 나간 후에, 제스처 추적 모드 및 커맨드 모드에 재진입하기 위해 전체 검출 프로세스를 요구하지 않을 수도 있다. 일부 실시형태들에서, 다시 전체 검출 프로세스를 수행해야하기에 앞서 사용자가 제스처 추적 모드에 재진입할 수도 있는 기간을 정의하는 미리 정의된 타임아웃 기간이 존재할 수도 있다. 그에 따라, 보다 큰 제 2 영역 (1206) 내의 제스처 (1100) 가 사실상 제스처 (1100) 이고 사용자에 의한 우연한 입력은 아닐 가능성이 더 많기 때문에 제 2 영역 (1206) 은 제 1 영역 (1204) 보다 더 클 수도 있다. 유사하게, 동일한 이유로, 제스처 추적 모드 및 커맨드 모드에 재진입하기 위한 미리 정의된 일정 기간은 제스처 추적 모드 및 커맨드 모드에 최초에 진입하기 위한 미리 결정된 일정 기간보다 짧을 수도 있다.
도 13a 및 도 13b 는 본 발명의 실시형태들에 따라 제스처 동작 모드에 진입하고 제스처 동작 모드에 재진입하는 경우 사용자에게 디스플레이되는 프롬프트들 (1308, 1310) 을 도시한다. 도 13a 는 제스처 추적 모드 및/또는 커맨드 모드에 진입하는 경우 사용자에게 디스플레이되는 제스처 접속 프롬프트 (1308) 를 도시한다. 상술된 바와 같이, 사용자는 모바일 디바이스 (1202) 상에서 제스처 추적 모드 및/또는 커맨드 동작 모드에 진입하기 위해 제 1 영역 (1204) 에서 제스처 (1100) 를 수행할 수도 있다. 일부 실시형태들에서, 손 또는 제스처 (1100) 의 표현이 디스플레이 디바이스, 예를 들어, 출력 디바이스 (1410) 상에 디스플레이되어, 사용자가 제스처를 수행하고 있는 위치를 사용자에게 표시할 수도 있다. 그러나, 제스처 (1100) 를 수행하기에 앞서, 모바일 디바이스 (1202) 는 모바일 디바이스 (1202) 가 제스처 동작 모드에 진입하기 위해 접속을 위한 최초의 제스처를 검출할 준비가 되었다는 것을 표시하는 제스처 접속 프롬프트 (1308) 를 사용자에게 디스플레이할 수도 있다. 예를 들어, 모바일 디바이스 (1202) 는 "제스처 제어 모드에 진입하기 위해 지정된 구역에 손을 올려 놓아 주세요" 라고 명시하는 제스처 접속 프롬프트 (1308) 를 디스플레이할 수도 있다. 프롬프트가 디스플레이되면, 사용자는 그 다음에 모바일 디바이스 (1202) 가 제스처 추적 모드 및/또는 커맨드 모드에 진입하도록 미리 결정된 일정 기간 동안 제 1 영역 (1204) 에서 제스처 (1100) 를 수행할 수도 있다. 일부 실시형태들에서, 제스처 추적 모드 및/또는 커맨드 모드에 진입할 시에, 모바일 디바이스 (1202) 는 제스처 추적 모드 및/또는 커맨드 모드에 진입되었다는 것을 명시하는 프롬프트를 디스플레이할 수도 있다.
도 13b 는 제스처 추적 모드 및/또는 커맨드 모드에 재진입하는 경우 사용자에게 디스플레이되는 제스처 재접속 (reengagement) 프롬프트 (1310) 를 도시한다. 상술된 바와 같이, 최초에 모바일 디바이스 (1202) 로 제스처 동작 모드 및/또는 커맨드 모드에 접속하고 후속하여 제스처 동작 모드 및/또는 커맨드 모드를 접속해제한 후에, 사용자는 모바일 디바이스 (1202) 의 제 2 영역 (1206) 에서 제스처 (1100) 를 수행함으로써 제스처 추적 모드 및/또는 커맨드 모드를 재접속할 수도 있다. 재접속을 위한 제스처 (1100) 를 수행한 후에, 모바일 디바이스 (1202) 는 모바일 디바이스 (1202) 가 제스처 추적 모드 및/또는 커맨드 모드에 재접속했다는 것을 표시하는 제스처 재접속 프롬프트 (1310) 를 사용자에게 디스플레이할 수도 있다. 예를 들어, 모바일 디바이스 (1202) 는 "제스처 제어 모드에 재접속되었습니다" 라고 명시하는 제스처 재접속 프롬프트 (1310) 를 디스플레이할 수도 있다.
상술된 실시형태들의 모두는 컴퓨터 시스템과 같은 그러한 시스템들에서 실시될 수도 있다.
도 14 는 본 발명의 실시형태들에 따라 본 발명의 실시형태들을 실시할 시에 사용되는 디바이스의 부분들을 포함하는 예시적인 컴퓨터 시스템을 도시한다. 도 14 에 도시된 바와 같은 컴퓨터 시스템은 상술된 컴퓨터화된 디바이스의 일부분으로서 포함될 수도 있다. 예를 들어, 컴퓨터 시스템 (1400) 은 텔레비전, 모바일 디바이스, 서버, 데스크톱, 워크스테이션, 자동차에서의 제어 혹은 상호작용 시스템, 태블릿, 넷북, 또는 임의의 다른 적합한 컴퓨팅 시스템의 컴포넌트들 중 일부를 나타낼 수 있다. 모바일 디바이스는 이미지 캡쳐 디바이스나 입력 센서 유닛 및 사용자 출력 디바이스를 갖는 임의의 컴퓨팅 디바이스일 수도 있다. 이미지 캡쳐 디바이스 또는 입력 센서 유닛은 카메라 디바이스일 수도 있다. 사용자 출력 디바이스는 디스플레이 유닛일 수도 있다. 모바일 디바이스의 예들은, 이로 제한되지는 않으나, 비디오 게임 콘솔들, 태블릿들, 스마트 폰들, 및 임의의 다른 핸드-헬드 디바이스들을 포함한다. 도 14 는 본원에서 설명된 바와 같은 다양한 다른 실시형태들에 의해 제공되는 방법들을 수행할 수 있고/있거나, 호스트 컴퓨터 시스템, 원격 키오스크/단말기, POS (point-of-sale) 디바이스, 자동차에서의 전화 혹은 네비게이션 혹은 멀티미디어 인터페이스, 모바일 디바이스, 셋-톱 박스, 테이블 컴퓨터, 및/또는 컴퓨터 시스템으로서 기능할 수 있는 컴퓨터 시스템 (1400) 의 일 실시형태의 개략도를 제공한다. 도 14 는 오직 다양한 컴포넌트들의 일반화된 예시만을 제공하고자 하며, 그 중 임의의 것 및/또는 모두가 적절히 사용될 수도 있다. 도 14 는, 따라서, 어떻게 개개의 시스템 요소들이 상대적으로 분리되어 또는 상대적으로 보다 집적되는 방식으로 구현되는 될 수도 있는지를 광범위하게 도시한다. 일부 실시형태들에서, 디바이스 (1400) 는 모바일 디바이스 (1202) 를 구현하는데 이용될 수도 있다.
컴퓨터 시스템 (1400) 은 버스 (1402) 를 통해 전기적으로 커플링될 수 있는 (또는, 그렇지 않으면, 적절히 통신 상태일 수도 있는) 하드웨어 요소들을 포함하는 것으로 도시된다. 하드웨어 요소들은 하나 이상의 범용 프로세서들 및/또는 하나 이상의 특수 목적용 프로세서들 (예컨대, 디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들 등) 을 포함하나 이로 제한되지는 않는 하나 이상의 프로세서들 (1404); 하나 이상의 카메라들, 센서들, 마우스, 키보드, 초음파나 다른 사운드들을 검출하도록 구성된 마이크로폰들 등을 포함할 수 있으나 이로 제한되지는 않는 하나 이상의 입력 디바이스들 (1408); 및 본 발명의 실시형태들에서 이용되는 디바이스, 프린터 등과 같은 디스플레이 유닛을 포함할 수 있으나 이로 제한되지는 않는 하나 이상의 출력 디바이스들 (1410) 을 포함할 수도 있다. 추가적인 카메라들 (1420) 이 사용자의 말단부위들 및 제스처들의 검출에 사용될 수도 있다. 일부 구현들에서, 입력 디바이스들 (1408) 은 적외선 센서, 심도 센서, 및/또는 초음파 센서와 같은 하나 이상의 센서들을 포함할 수도 있다.
본 발명의 실시형태들의 일부 구현들에서, 디스플레이 디바이스들, 테이블들, 바닥들, 벽들, 및 창문 스크린들과 같은 인터페이스들에 다양한 입력 디바이스들 (1408) 및 출력 디바이스들 (1410) 이 내장될 수도 있다. 또한, 프로세서들에 커플링된 입력 디바이스들 (1408) 및 출력 디바이스들 (1410) 은 다차원 추적 시스템들을 형성할 수도 있다.
컴퓨터 시스템 (1400) 은, 제한 없이, 로컬 및/또는 네트워크 액세스가능한 저장부를 포함할 수 있는, 하나 이상의 비일시적 저장 디바이스들 (1406) 을 더 포함할 수도 있고/있거나, 제한 없이, 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 프로그램가능한, 플래시 업데이트 가능한 등 랜덤 액세스 메모리 ("RAM") 및/또는 판독 전용 메모리 ("ROM") 와 같은 솔리드 스테이트 저장 디바이스를 포함할 수 있다. 그러한 저장 디바이스들은, 제한 없이, 다양한 파일 시스템들, 데이터베이스 구조들 등을 포함하여, 임의의 적절한 데이터 저장부를 구현하도록 구성될 수도 있다.
컴퓨터 시스템 (1400) 은 또한, 제한 없이, 모뎀, 네트워크 카드 (무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 칩셋 (예컨대, BluetoothTM 디바이스, 802.11 디바이스, WiFi 디바이스, WiMax 디바이스, 셀룰러 통신 설비들 등) 등을 포함할 수 있는, 통신 서브시스템 (1412) 을 포함할 수도 있다. 통신 서브시스템 (1412) 은 네트워크, 다른 컴퓨터 시스템들, 및/또는 본원에서 설명된 임의의 다른 디바이스들로 데이터가 교환되는 것을 허락할 수도 있다. 많은 실시형태들에서, 컴퓨터 시스템 (1400) 은 상술된 바와 같이 RAM 또는 ROM 디바이스를 포함할 수 있는 비일시적 작업 메모리 (1418) 를 더 포함할 것이다.
컴퓨터 시스템 (1400) 은 또한, 운영 체제 (1414), 디바이스 드라이버, 실행가능한 라이브러리들, 및/또는 다양한 실시형태들에 의해 제공되는 컴퓨터 프로그램들을 포함할 수도 있고/있거나, 본원에서 설명된 바와 같은 다른 실시형태들에 의헤 제공되는 방법들, 및/또는 구성 시스템들을 구현하도록 설계될 수도 있는 하나 이상의 애플리케이션 프로그램들 (1416) 과 같은 다른 코드를 포함하는, 작업 메모리 (1418) 내에 현재 위치된 것으로 도시되는 소프트웨어 요소들을 포함할 수 있다. 단지 예로서, 위에서 논의된 방법(들)에 대해 설명된 하나 이상의 절차들은 컴퓨터 (및/또는 컴퓨터 내의 프로세서) 에 의해 실행가능한 코드 및/또는 명령들로서 구현될 수도 있으며; 일 양상에서, 그러면, 그러한 코드 및/또는 명령들은 설명된 방법들에 따라 하나 이상의 동작들을 수행하도록 범용 컴퓨터 (또는 다른 디바이스) 를 구성하고/하거나 적응시키는데 이용될 수 있다.
이러한 명령들 및/또는 코드의 세트는 상술된 저장 디바이스(들) (1406) 와 같은 컴퓨터 판독가능 저장 매체 상에 저장될 수도 있다. 일부 경우들에서, 저장 매체는 컴퓨터 시스템 (1400) 과 같은 컴퓨터 시스템 내에 포함될 수도 있다. 다른 실시형태들에서, 저장 매체는 컴퓨터 시스템으로부터 분리될 수도 있고/있거나 (예를 들어, 컴팩트 디스크와 같은 제거가능한 매체), 설치 패키지로 제공되어, 저장 매체가 저장 매체 상에 저장된 명령들/코드로 범용 컴퓨터를 프로그램, 구성, 및/또는 적응시키는데 이용될 수 있다. 이러한 명령들은 컴퓨터 시스템 (1400) 에 의해 실행가능한 실행가능한 코드의 형태를 취할 수도 있고/있거나, (예를 들어, 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등 중 임의의 것을 이용하여) 컴퓨터 시스템 (1400) 에 컴파일 및/또는 설치 시에 실행가능한 코드의 형태를 취하는 소스 및/또는 설치가능한 코드의 형태를 취할 수도 있다.
특정 요구사항들에 따라 상당한 변형들이 이루어질 수도 있다. 예를 들어, 맞춤제작된 하드웨어가 또한 이용될 수도 있고/있거나, 특정 요소들이 하드웨어, (애플릿들 등과 같은 휴대용 소프트웨어를 포함하여) 소프트웨어, 또는 양자 모두로 구현될 수도 있다. 또한, 네트워크 입/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 연결이 사용될 수도 있다. 일부 실시형태들에서, 컴퓨터 시스템 (1400) 의 하나 이상의 요소들은 생략될 수도 있거나, 도시된 시스템들과 별도로 구현될 수도 있다. 예를 들어, 프로세서 (1404) 및/또는 다른 요소들은 입력 디바이스 (1408) 와 별도로 구현될 수도 있다. 일 실시형태에서, 프로세서는 별도로 구현된 하나 이상의 카메라들로부터 이미지들을 수신하도록 구성된다. 일부 실시형태들에서, 도 14 에서 설명된 요소들에 더해 컴퓨터 시스템 (1400) 에 요소들이 포함될 수도 있다.
일부 실시형태들은 (컴퓨터 시스템 (1400) 과 같은) 컴퓨터 시스템을 사용하여 본 개시물에 따른 방법들을 수행할 수도 있다. 예를 들어, 설명된 방법들의 절차들 중 일부 또는 전부는 작업 메모리 (1418) 에 포함된 (운영 체제 (1414), 및/또는 애플리케이션 프로그램 (1416) 과 같은 다른 코드 내에 포함될 수도 있는) 하나 이상의 명령들의 하나 이상의 시퀀스들을 실행하는 프로세서 (1404) 에 응답하여 컴퓨터 시스템 (1400) 에 의해 수행될 수도 있다. 그러한 명령들은 다른 컴퓨터 판독가능 매체, 예컨대, 저장 디바이스(들) (1406) 중 하나 이상의 저장 디바이스로부터 작업 메모리 (1418) 내로 읽어들여질 수도 있다. 단지 예로서, 작업 메모리 (1418) 에 포함된 명령들의 시퀀스들의 실행은 프로세서(들) (1404) 로 하여금 본원에서 설명된 방법들의 하나 이상의 절차들을 수행하게 하도록 할 수도 있다.
본원에서 이용된 바와 같은 용어들 "머신 판독가능 매체" 및 "컴퓨터 판독가능 매체" 는 머신으로 하여금 특정한 방식으로 동작하게 하는 데이터를 제공하는데 참여하는 임의의 매체를 지칭한다. 컴퓨터 시스템 (1400) 을 이용하여 구현되는 일부 실시형태들에서, 다양한 컴퓨터 판독가능 매체들이 실행을 위한 명령들/코드를 프로세서(들) (1404) 에 제공하는데 수반될 수도 있고/있거나, 그러한 명령들/코드 (예를 들어, 신호들) 를 저장하고/하거나 전달하는데 이용될 수도 있다. 많은 구현들에서, 컴퓨터 판독가능 매체는 물리적 및/또는 유형의 저장 매체이다. 그러한 매체는, 이로 제한되지는 않으나, 비휘발성 매체들, 휘발성 매체들, 및 송신 매체들을 포함하여, 많은 형태들을 취할 수도 있다. 비휘발성 매체들은, 예를 들어, 저장 디바이스(들) (1406) 와 같은 광학 및/또는 자기 디스크들을 포함할 수도 있다. 휘발성 매체들은, 제한 없이, 작업 메모리 (1418) 와 같은 동작 메모리를 포함한다. 송신 매체들은, 제한 없이, 버스 (1402), 뿐만 아니라 통신 서브시스템 (1412) 의 다양한 컴포넌트들을 포함하는 와이어를 포함하여, 동축 케이블들, 구리 와이어, 및 광섬유 (및/또는 그에 의해 통신 서브시스템 (1412) 이 다른 디바이스들과의 통신을 제공하는 매체들) 를 포함한다. 따라서, 송신 매체들은 또한 (제한 없이, 무선 웨이브 및 적외선 데이터 통신들 동안에 발생되는 것과 같은 무선, 음향 웨이브, 및/또는 광 웨이브를 포함하여) 웨이브들의 형태를 취할 수 있다.
물리적 및/또는 유형의 컴퓨터 판독가능 매체들의 통상적인 형태들은, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프 혹은 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 펀치카드들, 페이퍼테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPROM, 플래시 EPROM, 임의의 다른 메모리 칩 혹은 카트리지, 이후에 설명된 바와 같은 반송파, 또는 그로부터 컴퓨터가 명령들 및/또는 코드를 판독할 수 있는 임의의 다른 매체를 포함한다.
컴퓨터 판독가능 매체들의 다른 형태들이 실행을 위해 프로세서(들) (1404) 로 하나 이상의 명령들의 하나 이상의 시퀀스들을 전달할 시에 수반될 수도 있다. 단지 예로서, 명령들은 처음에 원격 컴퓨터의 자기 디스크 및/또는 광학 디스크 상으로 반송될 수도 있다. 원격 컴퓨터는 원격 컴퓨터의 동적 메모리로 명령들을 로딩하고, 컴퓨터 시스템 (1400) 에 의해 수신되고/되거나 실행되도록 송신 매체를 통해 신호들로서 명령들을 전송할 수도 있다. 전자기 신호들, 음향 신호들, 광학 신호들 등의 형태일 수도 있는 이러한 신호들은, 모두, 본 발명의 다양한 실시형태들에 따른, 명령들이 인코딩될 수 있는 반송파들의 예들이다.
통신 서브시스템 (1412) (및/또는 그의 컴포넌트들) 이 일반적으로 신호들을 수신할 것이고, 버스 (1402) 가 그 다음에 그로부터 프로세서(들) (1404) 가 명령들을 취출하고 실행하는 작업 메모리 (1418) 에 신호들 (및/또는 신호들에 의해 반송되는 데이터, 명령들 등) 을 반송할 것이다. 작업 메모리 (1418) 에 의해 수신된 명령들은 선택적으로 프로세서(들) (1404) 에 의한 실행 전 또는 후에 비일시적 저장 디바이스 (1406) 상에 저장될 수도 있다.
위에서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 실시형태들은 다양한 절차들 또는 컴포넌트들을 적절히 생략, 대체, 또는 추가할 수도 있다. 예를 들어, 대안적인 구성들에서, 설명된 방법들은 설명된 것과 상이한 순서로 수행될 수도 있고/있거나, 다양한 스테이지들이 추가, 생략, 및/또는 결합될 수도 있다. 또한, 소정의 실시형태들에 대해 설명된 특징들은 다양한 다른 실시형태들에 결합될 수도 있다. 실시형태들의 상이한 양상들 및 요소들은 유사한 방식으로 결합될 수도 있다. 또한, 기술은 진화하고, 따라서, 요소들 중 많은 요소는 이러한 특정한 예들로 본 개시물의 범위를 제한하지 않는 예들이다.
실시형태들의 철저한 이해를 제공하기 위해 특정한 세부사항들이 설명에서 주어진다. 그러나, 실시형태들은 이러한 특정한 세부사항들이 없이 실시될 수도 있다. 예를 들어, 공지의 회로들, 프로세스들, 알고리즘들, 구조들, 및 기법들은 실시형태들을 모호하게 하는 것을 피하기 위해 불필요한 세부사항들 없이 제시되었다. 이러한 설명은 오직 예시적인 실시형태들만을 제공하고, 본 발명의 범위, 적용가능성, 또는 구성을 제한하도록 의도되지는 않는다. 오히려, 본 실시형태의 앞서의 설명은 당업자들에게 본 발명의 실시형태들을 구현하기 위한 가능한 설명을 제공할 것이다. 본 발명의 사상 및 범위를 벗어나지 않으면서 요소들의 기능 및 배열에 다양한 변화들이 이루어질 수도 있다.
또한, 일부 실시형태들은 흐름도들 또는 블록도들로서 도시된 프로세스들로서 설명된다. 각각이 순차적인 프로세스로서 동작들을 설명할 수도 있지만, 많은 동작들은 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는 도면들에 포함되지 않은 추가적인 단계들을 가질 수도 있다. 또한, 방법들의 실시형태들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 설명 언어들, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드에서 구현되는 경우, 연관된 태스크들을 수행하는 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 컴퓨터 판독가능 매체에 저장될 수도 있다. 프로세서들은 연관된 태스크들을 수행할 수도 있다. 따라서, 위의 설명에서, 컴퓨터 시스템에 의해 수행되는 것으로 설명되는 기능들 또는 방법들은 기능들 또는 방법들을 수행하도록 구성된 프로세서 - 예를 들어, 프로세서 (1404) - 에 의해 수행될 수도 있다. 또한, 그러한 기능들 또는 방법들은 하나 이상의 컴퓨터 판독가능 매체들 상에 저장된 명령들을 실행하는 프로세서에 의해 수행될 수도 있다.
위에서 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 실시형태들은 다양한 절차들 또는 컴포넌트들을 적절히 생략, 대체, 또는 추가할 수도 있다. 예를 들어, 대안적인 구성들에서, 설명된 방법들은 설명된 것과 상이한 순서로 수행될 수도 있고/있거나, 다양한 스테이지들이 추가, 생략, 및/또는 결합될 수도 있다. 또한, 소정의 실시형태들에 대해 설명된 특징들은 다양한 다른 실시형태들에 결합될 수도 있다. 실시형태들의 상이한 양상들 및 요소들은 유사한 방식으로 결합될 수도 있다. 또한, 기술은 진화하고, 따라서, 요소들 중 많은 요소는 이러한 특정한 예들로 본 개시물의 범위를 제한하지 않는 예들이다.
실시형태들의 철저한 이해를 제공하기 위해 특정한 세부사항들이 설명에서 주어진다. 그러나, 실시형태들은 이러한 특정한 세부사항들이 없이 실시될 수도 있다. 예를 들어, 공지의 회로들, 프로세스들, 알고리즘들, 구조들, 및 기법들은 실시형태들을 모호하게 하는 것을 피하기 위해 불필요한 세부사항들 없이 제시되었다. 이러한 설명은 오직 예시적인 실시형태들만을 제공하고, 본 발명의 범위, 적용가능성, 또는 구성을 제한하도록 의도되지는 않는다. 오히려, 본 실시형태들의 앞서의 설명은 당업자들에게 본 발명의 실시형태들을 구현하는 것에 대한 가능한 설명을 제공할 것이다. 본 발명의 사상 및 범위를 벗어나지 않으면서 요소들의 기능 및 배열에 다양한 변화들이 이루어질 수도 있다.
또한, 일부 실시형태들은 흐름도들 또는 블록도들로서 도시된 프로세스들로서 설명되었다. 각각이 순차적인 프로세스로서 동작들을 설명할 수도 있지만, 많은 동작들은 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는 도면에 포함되지 않은 추가적인 단계들을 가질 수도 있다. 또한, 방법들의 실시형태들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 설명 언어들, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드에서 구현되는 경우, 연관된 태스크들을 수행하는 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 컴퓨터 판독가능 매체에 저장될 수도 있다. 프로세서들은 연관된 태스크들을 수행할 수도 있다.
설명된 여러 실시형태들, 다양한 수정예들, 대안적인 구조들, 및 등가물들은은 본 개시물의 사상으로부터 벗어나지 않으면서 이용될 수도 있다. 예를 들어, 위의 요소들은 단지 보다 큰 시스템의 컴포넌트일 수도 있으며, 여기서 다른 규칙들이 우선할 수도 있거나 그렇지 않으면 본 발명의 응용을 수정할 수도 있다. 또한, 위의 요소들이 고려되기 전에, 중에, 또는 후에 다수의 단계들이 착수될 수도 있다. 이에 따라, 위의 설명은 본 개시물의 범위를 제한하지 않는다.
다양한 예들이 설명되었다. 이러한 예들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (36)

  1. 컴퓨팅 디바이스 상에서 동작 모드에 진입하기 위한 제 1 조건을 충족시키는 제 1 사용자 제스처를 검출하는 단계;
    상기 동작 모드를 나가는 단계; 및
    상기 제 1 사용자 제스처를 검출하는 것에 기초하여 상기 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하는 단계를 포함하고,
    상기 제 2 조건은 상기 제 1 조건보다 덜 엄격한, 방법.
  2. 제 1 항에 있어서,
    상기 동작 모드는 일정 기간에 걸쳐 상기 제 1 사용자 제스처 또는 상기 제 2 사용자 제스처를 추적하는 것을 포함하는 제스처 추적 모드인, 방법.
  3. 제 2 항에 있어서,
    상기 제 1 사용자 제스처 또는 상기 제 2 사용자 제스처를 추적하는 것은 심도 센서 추적, 2-D 센서 추적, 히스토그램 추적, 및 초음파 센서 추적 중 하나 이상을 이용하는 것을 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 동작 모드는 하나 이상의 커맨드들을 실행하는 것을 포함하는 커맨드 모드인, 방법.
  5. 제 1 항에 있어서,
    상기 제 1 사용자 제스처 또는 상기 제 2 사용자 제스처를 검출하는 것은 이미지 센서를 이용하여 복수의 이미지들을 획득하는 것을 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 제 1 및 제 2 사용자 제스처들은 고정된 제스처들인, 방법.
  7. 제 1 항에 있어서,
    상기 제 1 및 제 2 사용자 제스처들은 동적인 제스처들인, 방법.
  8. 제 1 항에 있어서,
    상기 제 1 조건은 제 1 기간 동안 상기 제 1 사용자 제스처를 검출하는 것이고 상기 제 2 조건은 제 2 기간 동안 상기 제 2 사용자 제스처를 검출하는 것이며, 상기 제 2 기간은 상기 제 1 기간보다 짧은, 방법.
  9. 제 1 항에 있어서,
    상기 제 1 조건은 제 1 영역 내에서 상기 제 1 사용자 제스처를 검출하는 것이고 상기 제 2 조건은 제 2 영역 내에서 상기 제 2 사용자 제스처를 검출하는 것이며, 상기 제 2 영역은 상기 제 1 영역보다 크거나 같은, 방법.
  10. 제 9 항에 있어서,
    상기 제 1 사용자 제스처를 검출하는 단계는, 사용자 말단부위와 연관된 임의의 움직임이 일정 기간 동안 상기 제 1 영역에서 미리 정의된 움직임 임계치 아래인지를 검출함으로써 상기 사용자 말단부위가 상기 제 1 영역 내에서 안정되어 있는지 여부를 결정하는 단계를 포함하는, 방법.
  11. 제 10 항에 있어서,
    상기 사용자 말단부위는 손인, 방법.
  12. 제 1 항에 있어서,
    상기 제 1 조건은 제 1 신뢰도 수준으로 상기 제 1 사용자 제스처를 검출하는 것이고 상기 제 2 조건은 제 2 신뢰도 수준으로 상기 제 2 사용자 제스처를 검출하는 것이며, 상기 제 2 신뢰도 수준은 상기 제 1 신뢰도 수준보다 낮은, 방법.
  13. 제 1 항에 있어서,
    상기 검출하는 것에 응답하여 상기 동작 모드에 재진입하는 것을 표시하는 피드백을 제공하는 단계를 더 포함하는, 방법.
  14. 제 1 항에 있어서,
    상기 제 2 조건은 상기 제 1 사용자 제스처와 상기 제 2 사용자 제스처 사이에 수행되는 제스처에 대응하는 커맨드와 등가인 상기 제 2 사용자 제스처에 대응하는 커맨드를 포함하고;
    상기 제 2 조건을 충족시키는 상기 제 2 사용자 제스처를 검출하는 것에 적어도 부분적으로 기초하여 상기 제 1 조건을 충족시키도록 상기 제 2 사용자 제스처에 대한 요건을 바이패스하는 단계를 더 포함하는, 방법.
  15. 제 1 항에 있어서,
    상기 제 1 조건은 제 1 방향으로의 모션 또는 궤적을 포함하고, 상기 제 2 조건은 결과적인 모션의 방향이 실질적으로 상기 제 1 방향에 맞춰 조정되도록 하는 방향으로의 변화를 포함하는, 방법.
  16. 제 1 항에 있어서,
    상기 제 1 사용자 제스처를 검출하는 것 및 상기 제 2 사용자 제스처를 검출하는 것은 사용자가 상기 컴퓨팅 디바이스를 터치하는 것의 부재 시에 수행되는, 방법.
  17. 장치로서,
    이미지들을 캡쳐하도록 구성된 이미지 캡쳐 디바이스; 및
    상기 이미지 캡쳐 디바이스에 커플링된 프로세서를 포함하고,
    상기 프로세서는 동작 모드에 진입하기 위한 제 1 조건을 충족시키는 제 1 사용자 제스처를 검출하도록 구성되며;
    상기 프로세서는 상기 동작 모드를 나가도록 구성되고;
    상기 프로세서는, 상기 이미지 캡쳐 디바이스들에 의해 캡쳐된 이미지들에 기초하여, 상기 제 1 사용자 제스처를 검출하는 것에 기초해, 상기 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하도록 구성되며,
    상기 제 2 조건은 상기 제 1 조건보다 덜 엄격한, 장치.
  18. 제 17 항에 있어서,
    상기 동작 모드는 일정 기간에 걸쳐 상기 제 1 사용자 제스처 또는 상기 제 2 사용자 제스처를 추적하는 것을 포함하는 제스처 추적 모드인, 장치.
  19. 제 18 항에 있어서,
    상기 제 1 사용자 제스처 또는 상기 제 2 사용자 제스처를 추적하는 것은 심도 센서 추적, 2-D 센서 추적, 히스토그램 추적, 및 초음파 센서 추적 중 하나 이상을 이용하는 것을 포함하는, 장치.
  20. 제 17 항에 있어서,
    상기 동작 모드는 하나 이상의 커맨드들을 실행하는 것을 포함하는 커맨드 모드인, 장치.
  21. 제 17 항에 있어서,
    상기 제 1 및 제 2 사용자 제스처들은 고정된 제스처들인, 장치.
  22. 제 17 항에 있어서,
    상기 제 1 및 제 2 사용자 제스처들은 동적인 제스처들인, 장치.
  23. 제 17 항에 있어서,
    상기 제 1 조건은 제 1 기간 동안 상기 제 1 사용자 제스처를 검출하는 것이고 상기 제 2 조건은 제 2 기간 동안 상기 제 2 사용자 제스처를 검출하는 것이며, 상기 제 2 기간은 상기 제 1 기간보다 짧은, 장치.
  24. 제 17 항에 있어서,
    상기 제 1 조건은 제 1 영역 내에서 상기 제 1 사용자 제스처를 검출하는 것이고 상기 제 2 조건은 제 2 영역 내에서 상기 제 2 사용자 제스처를 검출하는 것이며, 상기 제 2 영역은 상기 제 1 영역보다 크거나 같은, 장치.
  25. 제 24 항에 있어서,
    상기 프로세서는 사용자 말단부위와 연관된 임의의 움직임이 일정 기간 동안 상기 제 1 영역에서 미리 정의된 움직임 임계치 아래인지를 검출함으로써 상기 사용자 말단부위가 상기 제 1 영역 내에서 안정되어 있는지 여부를 결정함으로써 상기 제 1 사용자 제스처를 검출하도록 구성되는, 장치.
  26. 제 25 항에 있어서,
    상기 사용자 말단부위는 손인, 장치.
  27. 제 17 항에 있어서,
    상기 제 1 조건은 제 1 신뢰도 수준으로 상기 제 1 사용자 제스처를 검출하는 것이고 상기 제 2 조건은 제 2 신뢰도 수준으로 상기 제 2 사용자 제스처를 검출하는 것이며, 상기 제 2 신뢰도 수준은 상기 제 1 신뢰도 수준보다 낮은, 장치.
  28. 제 17 항에 있어서,
    상기 프로세서는, 출력 디바이스로 하여금, 상기 제 2 조건을 충족시키는 상기 제 2 사용자 제스처를 검출하는 것에 응답하여 상기 동작 모드에 재진입하는 것을 표시하는 피드백을 제공하게 하도록 더 구성되는, 장치.
  29. 제 17 항에 있어서,
    상기 제 2 조건은 상기 제 1 사용자 제스처와 상기 제 2 사용자 제스처 사이에 수행되는 제스처에 대응하는 커맨드와 등가인 상기 제 2 사용자 제스처에 대응하는 커맨드를 포함하고;
    상기 프로세서는 상기 제 2 조건을 충족시키는 상기 제 2 사용자 제스처를 검출하는 것에 적어도 부분적으로 기초하여 상기 제 1 조건을 충족시키도록 상기 제 2 사용자 제스처에 대한 요건을 바이패스하도록 더 구성되는, 장치.
  30. 제 17 항에 있어서,
    상기 제 1 조건은 제 1 방향으로의 모션 또는 궤적을 포함하고, 상기 제 2 조건은 결과적인 모션의 방향이 실질적으로 상기 제 1 방향에 맞춰 조정되도록 하는 방향으로의 변화를 포함하는, 장치.
  31. 동작 모드에 진입하기 위한 제 1 조건을 충족시키는 제 1 사용자 제스처를 검출하는 수단;
    상기 동작 모드를 나가는 수단; 및
    상기 제 1 사용자 제스처를 검출하는 것에 기초하여 상기 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하는 수단을 포함하고,
    상기 제 2 조건은 상기 제 1 조건보다 덜 엄격한, 장치.
  32. 제 31 항에 있어서,
    상기 동작 모드는 일정 기간에 걸쳐 상기 제 1 사용자 제스처 또는 상기 제 2 사용자 제스처를 추적하는 것을 포함하는 제스처 추적 모드인, 장치.
  33. 제 31 항에 있어서,
    상기 동작 모드는 하나 이상의 커맨드들을 실행하는 것을 포함하는 커맨드 모드인, 장치.
  34. 제 31 항에 있어서,
    상기 제 1 조건은 제 1 기간 동안 상기 제 1 사용자 제스처를 검출하는 것이고 상기 제 2 조건은 제 2 기간 동안 상기 제 2 사용자 제스처를 검출하는 것이며, 상기 제 2 기간은 상기 제 1 기간보다 짧은, 장치.
  35. 제 31 항에 있어서,
    상기 제 1 조건은 제 1 영역 내에서 상기 제 1 사용자 제스처를 검출하는 것이고 상기 제 2 조건은 제 2 영역 내에서 상기 제 2 사용자 제스처를 검출하는 것이며, 상기 제 2 영역은 상기 제 1 영역보다 크거나 같은, 장치.
  36. 프로세서 판독가능 명령들을 포함하는 프로세서 판독가능 매체로서,
    상기 명령들은, 프로세서로 하여금,
    동작 모드에 진입하기 위한 제 1 조건을 충족시키는 제 1 사용자 제스처를 검출하게 하고;
    상기 동작 모드를 나가게 하며;
    상기 제 1 사용자 제스처를 검출하는 것에 기초하여 상기 동작 모드에 재진입하기 위한 제 2 조건을 충족시키는 제 2 사용자 제스처를 검출하게 하고,
    상기 제 2 조건은 상기 제 1 조건보다 덜 엄격한, 프로세서 판독가능 매체.
KR1020147031253A 2012-04-16 2013-04-02 빠른 제스처 재접속 KR102230630B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261624953P 2012-04-16 2012-04-16
US61/624,953 2012-04-16
US13/801,704 US9448635B2 (en) 2012-04-16 2013-03-13 Rapid gesture re-engagement
US13/801,704 2013-03-13
PCT/US2013/035000 WO2013158366A1 (en) 2012-04-16 2013-04-02 Rapid gesture re-engagement

Publications (2)

Publication Number Publication Date
KR20150002776A true KR20150002776A (ko) 2015-01-07
KR102230630B1 KR102230630B1 (ko) 2021-03-19

Family

ID=49324635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147031253A KR102230630B1 (ko) 2012-04-16 2013-04-02 빠른 제스처 재접속

Country Status (7)

Country Link
US (1) US9448635B2 (ko)
EP (1) EP2839357B1 (ko)
KR (1) KR102230630B1 (ko)
CN (1) CN104254817B (ko)
ES (1) ES2759786T3 (ko)
HU (1) HUE047064T2 (ko)
WO (1) WO2013158366A1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8693731B2 (en) 2012-01-17 2014-04-08 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging
US11493998B2 (en) 2012-01-17 2022-11-08 Ultrahaptics IP Two Limited Systems and methods for machine control
US10691219B2 (en) 2012-01-17 2020-06-23 Ultrahaptics IP Two Limited Systems and methods for machine control
US9501152B2 (en) 2013-01-15 2016-11-22 Leap Motion, Inc. Free-space user interface and control using virtual constructs
US9679215B2 (en) 2012-01-17 2017-06-13 Leap Motion, Inc. Systems and methods for machine control
US8638989B2 (en) 2012-01-17 2014-01-28 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
US10585530B2 (en) 2014-09-23 2020-03-10 Neonode Inc. Optical proximity sensor
US20140130116A1 (en) * 2012-11-05 2014-05-08 Microsoft Corporation Symbol gesture controls
US20140130090A1 (en) * 2012-11-05 2014-05-08 Microsoft Corporation Contextual gesture controls
US9459697B2 (en) 2013-01-15 2016-10-04 Leap Motion, Inc. Dynamic, free-space user interactions for machine control
CN103970260B (zh) * 2013-01-31 2017-06-06 华为技术有限公司 一种非接触式手势控制方法及电子终端设备
US9702977B2 (en) 2013-03-15 2017-07-11 Leap Motion, Inc. Determining positional information of an object in space
US9916009B2 (en) 2013-04-26 2018-03-13 Leap Motion, Inc. Non-tactile interface systems and methods
US10281987B1 (en) 2013-08-09 2019-05-07 Leap Motion, Inc. Systems and methods of free-space gestural interaction
US9721383B1 (en) 2013-08-29 2017-08-01 Leap Motion, Inc. Predictive information for free space gesture control and communication
US9632572B2 (en) 2013-10-03 2017-04-25 Leap Motion, Inc. Enhanced field of view to augment three-dimensional (3D) sensory space for free-space gesture interpretation
US9996638B1 (en) 2013-10-31 2018-06-12 Leap Motion, Inc. Predictive information for free space gesture control and communication
KR101534745B1 (ko) * 2013-12-31 2015-07-07 현대자동차 주식회사 제스처 인식 장치
US10845884B2 (en) * 2014-05-13 2020-11-24 Lenovo (Singapore) Pte. Ltd. Detecting inadvertent gesture controls
US9977505B2 (en) * 2014-06-06 2018-05-22 International Business Machines Corporation Controlling inadvertent inputs to a mobile device
CN204480228U (zh) 2014-08-08 2015-07-15 厉动公司 运动感测和成像设备
US9740924B1 (en) * 2014-09-26 2017-08-22 Amazon Technologies, Inc. Feature-based pose detection
EP3202623B1 (en) * 2014-10-03 2023-06-28 Kyocera Corporation Vehicle and steering unit
DE102014224898A1 (de) * 2014-12-04 2016-06-09 Robert Bosch Gmbh Verfahren zum Betreiben einer Eingabevorrichtung, Eingabevorrichtung
WO2016098519A1 (ja) * 2014-12-17 2016-06-23 コニカミノルタ株式会社 電子機器、電子機器の制御方法及びその制御プログラム
US10613637B2 (en) 2015-01-28 2020-04-07 Medtronic, Inc. Systems and methods for mitigating gesture input error
US11347316B2 (en) * 2015-01-28 2022-05-31 Medtronic, Inc. Systems and methods for mitigating gesture input error
JP6426025B2 (ja) * 2015-02-20 2018-11-21 クラリオン株式会社 情報処理装置
US9939908B2 (en) 2015-09-28 2018-04-10 Paypal, Inc. Multi-device authentication
EP3168711A1 (en) * 2015-11-11 2017-05-17 ams AG Method, optical sensor arrangement and computer program product for passive optical motion detection
US10254845B2 (en) 2016-01-05 2019-04-09 Intel Corporation Hand gesture recognition for cursor control
EP3324270A1 (en) * 2016-11-16 2018-05-23 Thomson Licensing Selection of an object in an augmented reality environment
KR20180070086A (ko) * 2016-12-16 2018-06-26 현대자동차주식회사 차량, 및 그 제어방법
US10354129B2 (en) * 2017-01-03 2019-07-16 Intel Corporation Hand gesture recognition for virtual reality and augmented reality devices
US10838505B2 (en) * 2017-08-25 2020-11-17 Qualcomm Incorporated System and method for gesture recognition
EP3454177B1 (en) * 2017-09-11 2020-06-10 Barco N.V. Method and system for efficient gesture control of equipment
US11429192B2 (en) * 2018-06-05 2022-08-30 Google Llc Confidence-based application-specific user interactions
US20200012350A1 (en) * 2018-07-08 2020-01-09 Youspace, Inc. Systems and methods for refined gesture recognition
CN109840478B (zh) * 2019-01-04 2021-07-02 广东智媒云图科技股份有限公司 一种动作评估方法、装置、移动终端和可读存储介质
CN110297545B (zh) * 2019-07-01 2021-02-05 京东方科技集团股份有限公司 手势控制方法、手势控制装置和系统、以及存储介质
WO2022000149A1 (zh) * 2020-06-28 2022-01-06 华为技术有限公司 交互方法及电子设备
US20220229524A1 (en) * 2021-01-20 2022-07-21 Apple Inc. Methods for interacting with objects in an environment
US20220283644A1 (en) * 2021-03-04 2022-09-08 Honda Motor Co., Ltd. Device and method for gesture based application control

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080099225A (ko) * 2008-10-24 2008-11-12 주식회사 애트랩 접촉센서 장치
JP2012003690A (ja) * 2010-06-21 2012-01-05 Toyota Infotechnology Center Co Ltd ユーザインタフェース装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5360971A (en) 1992-03-31 1994-11-01 The Research Foundation State University Of New York Apparatus and method for eye tracking interface
US7180500B2 (en) 2004-03-23 2007-02-20 Fujitsu Limited User definable gestures for motion controlled handheld devices
US20070266345A1 (en) * 2006-05-15 2007-11-15 Eastman Kodak Company Method for driving display with reduced aging
EP2597868B1 (en) 2007-09-24 2017-09-13 Qualcomm Incorporated Enhanced interface for voice and video communications
US8933876B2 (en) 2010-12-13 2015-01-13 Apple Inc. Three dimensional user interface session control
US9772689B2 (en) 2008-03-04 2017-09-26 Qualcomm Incorporated Enhanced gesture-based image manipulation
WO2009128064A2 (en) 2008-04-14 2009-10-22 Pointgrab Ltd. Vision based pointing device emulation
US8146020B2 (en) 2008-07-24 2012-03-27 Qualcomm Incorporated Enhanced detection of circular engagement gesture
JP5256109B2 (ja) 2009-04-23 2013-08-07 株式会社日立製作所 表示装置
US8619029B2 (en) * 2009-05-22 2013-12-31 Motorola Mobility Llc Electronic device with sensing assembly and method for interpreting consecutive gestures
KR101564222B1 (ko) * 2009-05-26 2015-11-06 삼성전자주식회사 휴대단말의 잠금 모드 해제 방법 및 장치
TW201112074A (en) * 2009-09-30 2011-04-01 Higgstec Inc Touch gesture detecting method of a touch panel
WO2011066343A2 (en) 2009-11-24 2011-06-03 Next Holdings Limited Methods and apparatus for gesture recognition mode control
WO2011130919A1 (en) * 2010-04-23 2011-10-27 Motorola Mobility, Inc. Electronic device and method using touch-detecting surface
US9104306B2 (en) * 2010-10-29 2015-08-11 Avago Technologies General Ip (Singapore) Pte. Ltd. Translation of directional input to gesture
KR20120051212A (ko) * 2010-11-12 2012-05-22 엘지전자 주식회사 멀티미디어 장치의 사용자 제스쳐 인식 방법 및 그에 따른 멀티미디어 장치
US8797283B2 (en) * 2010-11-22 2014-08-05 Sony Computer Entertainment America Llc Method and apparatus for performing user-defined macros
US20120169594A1 (en) * 2010-12-30 2012-07-05 Motorola-Mobility, Inc. Electronic device and method for backlight control
US8797288B2 (en) * 2011-03-07 2014-08-05 Lester F. Ludwig Human user interfaces utilizing interruption of the execution of a first recognized gesture with the execution of a recognized second gesture
TW201224849A (en) * 2011-03-09 2012-06-16 Acer Inc Mobile devices and methods for controlling mobile devices
US9134899B2 (en) * 2011-03-14 2015-09-15 Microsoft Technology Licensing, Llc Touch gesture indicating a scroll on a touch-sensitive display in a single direction
US9285950B2 (en) * 2011-03-30 2016-03-15 Google Inc. Hover-over gesturing on mobile devices
US20130104089A1 (en) * 2011-10-20 2013-04-25 Fuji Xerox Co., Ltd. Gesture-based methods for interacting with instant messaging and event-based communication applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080099225A (ko) * 2008-10-24 2008-11-12 주식회사 애트랩 접촉센서 장치
JP2012003690A (ja) * 2010-06-21 2012-01-05 Toyota Infotechnology Center Co Ltd ユーザインタフェース装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JoesiPodSupport 유투브 채널 영상 "ScreenDimmer: Save Battery Life On Your iDevice!" (https://www.youtube.com/watch?v=3Dba0WMZ6BY) 2011. 6. 21. 1부.* *

Also Published As

Publication number Publication date
EP2839357A1 (en) 2015-02-25
CN104254817A (zh) 2014-12-31
US9448635B2 (en) 2016-09-20
EP2839357B1 (en) 2019-09-04
CN104254817B (zh) 2017-10-03
ES2759786T3 (es) 2020-05-12
US20130271397A1 (en) 2013-10-17
KR102230630B1 (ko) 2021-03-19
HUE047064T2 (hu) 2020-04-28
WO2013158366A1 (en) 2013-10-24

Similar Documents

Publication Publication Date Title
KR102230630B1 (ko) 빠른 제스처 재접속
JP6370893B2 (ja) 検出されたジェスチャーに基づいてデバイス動作を実行するためのシステムおよび方法
US10901519B2 (en) Cursor mode switching
US20130211843A1 (en) Engagement-dependent gesture recognition
KR102255774B1 (ko) 제스처들을 이용한 디바이스와의 상호작용
CN105229582B (zh) 基于近距离传感器和图像传感器的手势检测
US9069386B2 (en) Gesture recognition device, method, program, and computer-readable medium upon which program is stored
EP2795450B1 (en) User gesture recognition
EP3049908B1 (en) Presentation of a control interface on a touch-enabled device based on a motion or absence thereof
KR101631011B1 (ko) 제스처 인식 장치 및 제스처 인식 장치의 제어 방법
US20140118244A1 (en) Control of a device by movement path of a hand
CN108874284B (zh) 手势触发方法
KR20150145677A (ko) 사용자 인터페이스를 제공하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
US20160034027A1 (en) Optical tracking of a user-guided object for mobile platform user input
US9148537B1 (en) Facial cues as commands
KR102107182B1 (ko) 손 제스처 인식 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
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