[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101872426B1 - 깊이 기반 사용자 인터페이스 제스처 제어 - Google Patents

깊이 기반 사용자 인터페이스 제스처 제어 Download PDF

Info

Publication number
KR101872426B1
KR101872426B1 KR1020177026437A KR20177026437A KR101872426B1 KR 101872426 B1 KR101872426 B1 KR 101872426B1 KR 1020177026437 A KR1020177026437 A KR 1020177026437A KR 20177026437 A KR20177026437 A KR 20177026437A KR 101872426 B1 KR101872426 B1 KR 101872426B1
Authority
KR
South Korea
Prior art keywords
depth
computing device
user
user interface
input gesture
Prior art date
Application number
KR1020177026437A
Other languages
English (en)
Other versions
KR20170109695A (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 KR20170109695A publication Critical patent/KR20170109695A/ko
Application granted granted Critical
Publication of KR101872426B1 publication Critical patent/KR101872426B1/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • 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/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • 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

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)
  • User Interface Of Digital Computer (AREA)
  • Multimedia (AREA)

Abstract

깊이 기반 제스처 제어를 위한 기술들은 디스플레이 및 깊이 센서를 갖는 컴퓨팅 디바이스를 포함한다. 컴퓨팅 디바이스는 사용자에 의해 실행되는 입력 제스처를 인식하고, 깊이 센서로부터의 데이터에 기초하여 입력 제스처의 디스플레이에 대한 깊이를 결정하고, 깊이의 함수로서 깊이 평면을 입력 제스처에 할당하고, 입력 제스처 및 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하도록 구성된다. 사용자 인터페이스 명령은 게임에서의 플레이어 캐릭터를 포함하여, 깊이 평면에 의해 선택되는 가상 대상을 제어할 수 있다. 컴퓨팅 디바이스는, 사용자 인터페이스 성분들을 확대하거나 선택하고 또는 입력 제스처에 기초하여 부가 기능을 가능하게 하는 것과 같이, 1차 및 2차 가상 터치 평면들을 인식하고 또한 2차 가상 터치 평면상의 입력 제스처들에 대한 2차 사용자 인터페이스 명령을 실행할 수 있다. 기타 실시예들이 기술되고 청구되어 있다.

Description

깊이 기반 사용자 인터페이스 제스처 제어{DEPTH-BASED USER INTERFACE GESTURE CONTROL}
오늘날의 컴퓨팅 디바이스들은 주변 환경을 감지하고 이것과 상호 작용하기 위한 향상된 능력과 결부된 항상 증가하는 처리 능력을 구비한다. 그와 같은 향상된 능력들의 결과로서, 대다수의 컴퓨팅 디바이스들은 터치 컴퓨팅과 제스처 기반 컴퓨팅과 같은 새로운 입력 양식을 채택하고 있다.
사용자 인터페이스 제스처들은 컴퓨팅 디바이스의 접촉 표면을 가볍게 치거나, 스와이핑하거나(swipe), 다른 식으로 조작하는 것과 같은 터치 기반 입력 제스처들을 포함할 수 있다. 사용자 인터페이스 제스처들은 사용자 인터페이스 행동들을 명령하기 위해 사용자의 몸, 팔다리, 손, 또는 손가락을 움직이는 것을 포함하여, 컴퓨팅 디바이스에 물리적으로 접촉하지 않고서 이루어지는 입력 제스처들을 또한 포함할 수 있다. 그와 같은 움직임 기반 입력 제스처들은 때때로 지각적 또는 공중상 제스처들로 불린다.
본 명세서에서 기술되는 개념들은 첨부 도면들에서 한정을 위한 것이 아니라 예를 들기 위해 예시된다. 예시의 간단화와 명료성을 기하기 위해, 도면들에 예시된 요소들은 반드시 축척에 맞추어 그려지지는 않는다. 적절한 것으로 생각되는 경우, 대응하는 또는 유사한 요소들을 가리키기 위해 도면들 간에 참조 표시들이 반복되었다.
도 1은 깊이 기반 제스처 제어를 위한 컴퓨팅 디바이스의 적어도 일 실시예의 단순화된 블록도이다;
도 2는 도 1의 컴퓨팅 디바이스의 깊이 센서 시스템의 적어도 일 실시예의 단순화된 구성도이다;
도 3은 도 1의 컴퓨팅 디바이스의 환경의 적어도 일 실시예의 단순화된 블록도이다;
도 4는 도 1 및 도 3의 컴퓨팅 디바이스에 의해 실행될 수 있는 깊이 기반 제스처 제어를 위한 방법의 적어도 일 실시예의 단순화된 흐름도이다;
도 5는 도 1 및 도 3의 컴퓨팅 디바이스에 의해 인식되는 제스처들을 입력하기 위해 할당될 수 있는 복수의 깊이 평면의 구성도이다; 및
도 6은 도 1 및 도 3의 컴퓨팅 디바이스에 의해 실행될 수 있는 1차 또는 2차 사용자 인터페이스 명령 실행을 위한 방법의 적어도 일 실시예의 단순화된 흐름도이다.
본 개시 내용의 개념들이 다양한 수정들 및 대안 형태들을 쉽게 받아들일 수 있기는 하지만, 그 특정 실시예들이 도면들에서 예에 의해 도시되었고 본 명세서에서 상세히 기술될 것이다. 그렇지만, 본 개시 내용의 개념들을 개시된 특정 형태들로만 제한하려는 의도는 없으며, 그와 달리 그 의도하는 바는 본 개시 내용 및 첨부된 청구범위들과 양립하는 모든 수정들, 등가물들 및 대안들을 포함하고자 하는 것임을 잘 알 것이다.
본 명세서에서 "일 실시예", "일 실시예", "예시적 실시예" 등을 언급하는 것은 기술된 실시예가 특정의 특징, 구조, 또는 특성을 포함할 수 있지만, 모든 실시예마다 해당 특정의 특징, 구조 또는 특성을 반드시 포함할 수도 있고 또는 반드시 포함하는 것이 아닐 수도 있다는 것을 나타낸다. 더욱이, 이러한 문구들이 반드시 동일 실시예를 가리키는 것도 아니다. 또한, 특정의 특징, 구조, 또는 특성이 실시예와 연계하여 기술될 때, 명시적으로 기술되어 있든 그렇지 않든 간에 이러한 특징, 구조 또는 특성을 기타 실시예들과 연계하여 실시하는 것은 통상의 기술자의 지식 범위 내에 든다는 점을 지적해 두고자 한다.
개시된 실시예들은, 몇몇 경우들에서, 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 개시된 실시예들은 하나 이상의 프로세서들에 의해 판독되고 실행될 수 있는, 일시적 또는 비일시적 기계 판독가능(예컨대, 컴퓨터 판독가능) 저장 매체 상에 저장되어 있는 명령어들로서 또한 구현될 수 있다. 기계로 판독가능한 저장 매체는 기계에 의해 판독가능한 형태로 정보를 저장하기 위한 임의의 저장 디바이스, 메커니즘, 또는 기타 물리적 구조[예컨대, 휘발성 또는 비휘발성 메모리, 미디어 디스크(media disc), 또는 기타 미디어 디바이스]로서 구체화될 수 있다.
도면들에서, 몇몇 구조적 또는 방법적 특징들은 특정의 배열들 및/또는 순서들로 보여질 수 있다. 그렇지만, 이러한 특정의 배열들 및/또는 순서들이 요구되지 않을 수도 있다는 것을 알아야 한다. 오히려, 몇몇 실시예들에서, 이러한 특징들은 예시적 도면들에 도시된 것과는 상이한 방식 및/또는 순서로 배열될 수 있다. 덧붙여, 특정의 도면에 구조적 또는 방법적 특징을 포함시키는 것은 이 특징이 모든 실시예들에 필요하다는 것을 함의하고자 하는 것은 아니며, 몇몇 실시예들에서는 이 특징이 포함되지 않을 수 있거나 또는 다른 특징들과 조합될 수 있다.
도 1을 이제 참조하면, 예시적 실시예에서, 컴퓨팅 디바이스(100)는 디스플레이(112), 터치스크린(114), 제스처 센서(120), 및 깊이 센서(122)를 포함한다. 컴퓨팅 디바이스(100)의 사용자는 다양한 입력 제스처들을 수행함으로써 컴퓨팅 디바이스(100)와 상호 작용할 수 있는데, 입력 제스처들은 제스처 센서(120)에 의해 검출된다. 하기에서 더 상세히 논의되는 것처럼, 입력 제스처들은 디스플레이(112)의 전방으로 어느 정도의 거리에서 사용자에 의해 수행될 수 있다. 컴퓨팅 디바이스(100)는 깊이 센서(122)를 이용하여 입력 제스처에의 - 및 그에 대한 사용자에의- 거리를 결정하고 및 결정된 깊이에 기초하여 입력 제스처에 응답하도록 구성된다. 깊이 기반 제스처 제어는 특히 깊이를 수반하는 사용자 인터페이스 비유들에 대해 자연스럽고 유려한 제스처 제어를 허용한다. 또한, 깊이 기반 제스처 제어를 터치 제어와 같은 다른 입력 양식들과 조합하는 것은 전통적 인터페이스들과의 풍부한 상호작용을 허용하고, 사용자들로 하여금 복잡한 사용자 인터페이스들을 쉽게 관리하도록 허용할 수 있다. 깊이 기반 제스처 제어는 또한, 특히 얼굴 인식, 골격 추적(skeletal tracking) 또는 그와 유사한 것에 의한 사용자 식별과 조합될 때, 다중 이용자와의 상호작용들을 용이하게 할 수 있다.
컴퓨팅 디바이스(100)는 본 명세서에서 기술되는 기능들을 수행할 수 있는 임의 유형의 디바이스로 구체화될 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는, 제한 없이, 컴퓨터, 스마트폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 워크스테이션, 테이블톱 컴퓨터, 모바일 컴퓨팅 디바이스, 셀룰러 폰, 핸드셋, 메시징 디바이스, 차량 텔레매틱스 디바이스, 네트워크 기기, 웹 기기, 분산 컴퓨팅 시스템, 멀티프로세서 시스템, 프로세서 기반 시스템, 소비자 가전 디바이스, 디지털 텔레비전 디바이스, 및/또는 깊이 기반 제스처 명령들에 응답하도록 구성되는 임의의 다른 컴퓨팅 디바이스로서 구체화될 수 있다. 도 1에 도시된 바와 같이, 예시적 모바일 컴퓨팅 디바이스(100)는 프로세서(102), 입력/출력 서브시스템(104), 메모리(106), 및 데이터 스토리지 디바이스(108)를 포함한다. 물론, 컴퓨팅 디바이스(100)는 기타 실시예들에서 데스크톱 컴퓨터에서 흔히 발견되는 것들과 같은 기타 또는 부가적 컴포넌트들(예컨대, 다양한 입력/출력 디바이스들)을 포함할 수 있다. 덧붙여, 몇몇 실시예들에서, 예시적 컴포넌트들 중 하나 이상은 또 다른 컴포넌트에 통합될 수 있거나, 또는 다른 경우에는 그 일부분을 형성할 수 있다. 예를 들어, 메모리(106), 또는 이것의 일부분들은 몇몇 실시예들에서 프로세서(102)에 통합될 수 있다.
프로세서(102)는 본 명세서에 기술되는 기능들을 수행할 수 있는 임의 유형의 프로세서로서 구체화될 수 있다. 예를 들어, 프로세서(102)는 단일 또는 멀티 코어 프로세서(들), 디지털 신호 프로세서, 마이크로컨트롤러, 또는 기타 프로세서 또는 처리/제어 회로로서 구체화될 수 있다. 마찬가지로, 메모리(106)는 본 명세서에서 설명되는 기능들을 수행할 수 있는 임의 유형의 휘발성 또는 비휘발성 메모리 또는 데이터 스토리지로서 구체화될 수 있다. 동작 중에, 메모리(106)는 운영 체제, 애플리케이션, 프로그램, 라이브러리, 및 드라이버와 같이 컴퓨팅 디바이스(100)의 동작 동안에 사용되는 다양한 프로그램 및 데이터를 저장할 수 있다. 메모리(106)는 I/O 서브시스템(104)을 경유해 프로세서(102)에 통신 가능하게 결합되는데, I/O 서브시스템은 프로세서(102), 메모리(106), 및 컴퓨팅 디바이스(100)의 다른 컴포넌트들과의 입력/출력 동작들을 용이하게 하기 위한 회로 및/또는 컴포넌트들로서 구체화될 수 있다. 예를 들어, I/O 서브시스템(104)은 메모리 제어기 허브들, 입력/출력 제어 허브들, 펌웨어 디바이스들, 통신 링크들(즉, 포인트 투 포인트 링크들, 버스 링크들, 유선들, 케이블들, 광도파관, 인쇄 회로 기판 트레이스들, 기타 등등) 및/또는 입력/출력 동작들을 용이하게 하기 위한 다른 컴포넌트들 및 서브시스템들로서 구체화될 수 있거나, 또는 다른 경우에는 이들을 포함할 수 있다. 몇몇 실시예에서, I/O 서브시스템(104)은 SoC(system-on-a-chip)의 일부분을 형성할 수 있고 또한 프로세서(102), 메모리(106), 및 컴퓨팅 디바이스(100)의 다른 컴포넌트들과 함께 단일 집적 회로 칩 상에 통합될 수 있다.
데이터 스토리지(108)는 단기간 또는 장기간 데이터 저장을 위해 구성되는 임의 유형의 디바이스 또는 디바이스들로서 구체화될 수 있다. 예를 들어, 데이터 스토리지 디바이스(108)는 메모리 디바이스들 및 회로들, 메모리 카드들, 하드 디스크 드라이브들, 고체 상태 드라이브들, 또는 다른 데이터 스토리지 디바이스들로서 구체화될 수 있다.
컴퓨팅 디바이스(100)의 통신 회로(110)는 컴퓨팅 디바이스(100)와 다른 원격 디바이스들 간의 통신을 가능하게 할 수 있는 임의의 통신 회로, 디바이스, 또는 이것들의 모음으로서 구체화될 수 있다. 통신 회로(110)는 이러한 통신을 이루기 위해 임의의 하나 이상의 통신 기술들(예컨대, 무선 또는 유선 통신) 및 연관된 프로토콜들(예컨대, 이더넷, Bluetooth®, Wi-Fi®, RegS, WiMAX, 기타 등등)을 사용하도록 구성될 수 있다. 몇몇 실시예들에서, 통신 회로(110)는 무선 네트워크 어댑터를 포함하여 네트워크 어댑터로서 구체화될 수 있다.
전술한 바와 같이, 컴퓨팅 디바이스(100)는 또한 디스플레이(112)를 포함한다. 디스플레이(112)는 LCD(liquid crystal display), LED(light emitting diode) 디스플레이, 플라즈마 디스플레이, CRT(cathode ray tube), 또는 다른 유형의 디스플레이 디바이스와 같이, 디지털 정보를 표시할 수 있는 임의 유형의 디스플레이로서 구체화될 수 있다. 디스플레이(112)는 터치스크린(114)에 결합된다. 터치스크린(114)은 컴퓨팅 디바이스(100)의 사용자에 의해 접촉되는 것에 응답하여 입력 데이터를 생성할 수 있는 임의 유형의 터치스크린으로서 구체화될 수 있다. 몇몇 실시예들에서, 터치스크린(114)은 디스플레이(112)에 부착될 수 있거나 물리적으로 디스플레이(112)에 통합될 수 있다. 터치스크린(114)은, 저항성 터치 스크린 센서들, 용량성 터치 스크린 센서들, 카메라 기반 터치스크린 센서들, SAW(surface acoustic wave) 터치스크린 센서들, 적외선 터치스크린 센서들, 광학적 촬상 터치스크린 센서들, 음향 터치스크린 센서들, 및/또는 다른 유형의 터치스크린 센서들을 포함하지만 이것들에만 국한되지는 않는, 디스플레이(112) 상에 표시되는 정보에 대한 사용자의 촉각적 선택을 검출하기 위한 임의의 적절한 터치스크린 입력 기술을 사용할 수 있다. 덧붙여, 터치스크린(114)은 다중의 동시 생성 터치 포인트에 응답할 수 있다.
몇몇 실시예들에서, 컴퓨팅 디바이스(100)는 카메라(116) 및/또는 오디오 센서(118)를 포함할 수 있다. 카메라(116)는 컴퓨팅 디바이스(100)와 통합된 디지털 카메라 또는 다른 디지털 촬상 장치로서 구체화될 수 있다. 카메라(116)는, 예를 들어 CMOS(complementary metal-oxide-semiconductor) 센서와 같은 APS(active-pixel sensor) 또는 CCD(charge-coupled device)와 같은 전자적 촬상 센서를 포함한다. 오디오 센서(118)는 마이크로폰, 라인 입력 잭, ADC(analog-to-digital converter), 또는 기타 유형의 오디오 센서와 같이 오디오 신호들을 포착할 수 있는 임의의 센서로서 구체화될 수 있다.
컴퓨팅 디바이스(100)는 추가로 제스처 센서(120)를 포함하고, 이 제스처 센서는 사용자에 의해 수행되는 입력 제스처들을 검출하고 인식할 수 있는 임의 유형의 전자적 센서로서 구체화될 수 있다. 예를 들어, 제스처 센서(120)는 사용자의 움직임 이미지들을 포착할 수 있는 디지털 비디오 카메라로서 구체화될 수 있다. 예시적 실시예에서는, 어떤 특정 분해능도 요구되지 않는다; 몇몇 실시예들에서, 제스처 센서(120)는 사용자의 몸과 팔다리의 전체적 움직임만을 분해할 수 있다. 기타 실시예들에서, 제스처 센서(120)는 사용자의 얼굴 및/또는 손들의 미세한 상세 움직임을 분해할 수 있다. 물론, 기타 실시예들에서, 카메라(116) 및/또는 깊이 센서(122)와 같은 기타 컴포넌트들이 제스처 센서(120)를 구체화하거나, 또는 다른 경우에는 이것에 포함될 수 있다.
컴퓨팅 디바이스(100)는 추가로 깊이 센서(122)를 포함한다. 깊이 센서(122)는 컴퓨팅 디바이스(100)(및/또는 디스플레이(112))와 사용자에 의해 수행되는 입력 제스처 사이의 거리를 검출할 수 있는 임의 유형의 전자적 센서로서 구체화될 수 있다. 예를 들어, 깊이 센서(122)는 스테레오 깊이 카메라, 구조화된 광 카메라, 또는 근접 센서로서 구체화될 수 있다. 몇몇 실시예들에서, 깊이 센서(122)는 컴퓨팅 디바이스(100)의 기타 컴포넌트들로서 구체화될 수 있거나, 또는 다른 경우에는 이것들을 포함할 수 있다. 예를 들어, 깊이 센서(122)는 사용자의 손가락들까지의 거리를 측정하도록 구성되는 터치스크린(114)에서의 용량성 또는 저항성 센서로서 구체화될 수 있거나, 또는 다른 경우에는 이것을 포함할 수 있다. 덧붙여 또는 대안적으로, 깊이 센서(122)는 통신 회로(110)로서 구체화될 수 있거나, 또는 다른 경우에는 이것을 포함한다. 그와 같은 실시예들에서, 통신 회로(110)는 컴퓨팅 디바이스(100)에 대한 사용자에 의해 조작되는 송신기에의 거리를 결정하도록 구성될 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는, 송신기에의 거리를 결정하는데 사용될 수 있는, Bluetooth® 또는 NFC(near-field communication)와 같은 단거리 통신을 위한 신호 강도를 측정할 수 있다. 대응하는 송신기는 스타일러스 또는 다른 포인팅 디바이스와 같은 사용자에 의해 조작되는 디바이스에 내장될 수 있다. 덧붙여 또는 대안적으로, 깊이 센서(122)는 사용자에 의해 드리워지는 - 예를 들어 프로젝터 유형 디스플레이(112)로부터의- 그림자의 로케이션을 측정하고 또한 그림자의 겉보기 로케이션(apparent location)에 기초하여 사용자에의 물리적 거리를 결정하도록 구성될 수 있는 컴퓨팅 디바이스(100)의 카메라(116)를 포함할 수 있다.
도 2를 이제 참조하면, 다이어그램(200)은 깊이 센서(122)의 또 다른 실시예를 도해한다. 예시적 실시예에서, 컴퓨팅 디바이스(100)는 통합된 터치스크린(114)을 가진 디스플레이(112)를 포함한다. 디스플레이(112)는 디스플레이(112)로부터 멀어지며 투사되는 표면 법선(202)을 정의한다. 깊이 센서(122)는 두 개의 가시광 카메라(122a, 122b)를 포함한다. 각각의 카메라들(122a, 122b)은, 시선 (line of sight) 벡터들(204, 206)에 의해 표시된 것처럼, 독립적으로 조준될 수 있다. 깊이 감지를 수행하기 위해, 카메라들(122a, 122b)은 시선 벡터들(204, 206)이 디스플레이(112)와 평행하도록, 서로에 대해 직교하도록, 및 표면 법선(202)과 직교하도록 조준된다. 그와 같은 구성에서, 카메라들(122a, 122b)은 디스플레이(112)로부터 대상까지의 거리를 결정하는 것을 포함하여, 디스플레이(112) 근처에서 사용자의 손가락들과 같은 대상들의 로케이션을 결정할 수 있다.
이제 도 3을 참조하면, 예시적 실시예에서, 컴퓨팅 디바이스(100)는 동작 동안 환경(300)을 확립한다. 예시적 실시예(300)는 애플리케이션(302), 사용자 인터페이스 명령 모듈(306), 제스처 인식 모듈(308), 및 깊이 인식 모듈(310)을 포함한다. 덧붙여, 몇몇 실시예들에서, 환경(300)은 사용자 식별 모듈(312)을 포함할 수 있다. 환경(300)의 다양한 모듈들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로서 구체화될 수 있다.
애플리케이션(302)은 사용자 인터페이스를 사용자에게 제시하고 사용자 인터페이스 명령들에 응답하도록 구성된다. 그와 같은 인터페이스는 디스플레이(112) 상에 표시되는 사용자 그래픽 인터페이스 또는 다른 사용자 인터페이스로서 구체화될 수 있다. 제스처 제어뿐만 아니라, 애플리케이션(302)은 터치스크린(114) 상에서의 터치 입력 또는 컴퓨팅 디바이스(100)에 부착된 다른 주변 기기들(예를 들어, 키보드 또는 마우스)로부터의 입력과 같은 다른 입력 양식들에 응답할 수 있다. 애플리케이션(302)은 애플리케이션(302)으로 하여금 컴퓨팅 디바이스(100)의 다른 모듈들에 의해 제어되거나 또는 다른 경우에는 이들과 인터페이싱되도록 허용하는 API(application programming interface)(304)를 포함할 수 있다.
사용자 인터페이스 명령 모듈(306)은 사용자의 지시로 명령들을 실행하도록 구성된다. 그와 같은 명령들은 컴퓨팅 디바이스(100) 상에서 실행되는 애플리케이션(302)의 동작을 제어할 수 있다. 몇몇 실시예들에서, 사용자 인터페이스 명령 모듈(306)은 API(304)를 통하여 애플리케이션(302)을 제어할 수 있다. 덧붙여 또는 대안적으로, 몇몇 실시예들에서, 사용자 인터페이스 명령 모듈(306)은 또한 컴퓨팅 디바이스(100)의 운영 체제(도시 생략)를 제어할 수 있다.
제스처 인식 모듈(308)은 사용자에 의해 수행되는 입력 제스처들을 인식하도록 구성된다. 그와 같은 입력 제스처들은 몸과 팔다리 움직임, 손과 손가락 제스처들, 및 얼굴 제스처들과 같은 지각적 또는 공중 제스처들을 포함할 수 있다. 입력 제스처들은 제스처 센서(120)로부터 수신되는 데이터에 기초하여 인식된다. 인식된 입력 제스처는 애플리케이션(302)을 제어하기 위해 사용자 인터페이스 명령 모듈(306)에게 제공된다.
깊이 인식 모듈(310)은 깊이 센서(122)로부터 데이터를 수신하고 또한 제스처 인식 모듈(308)에 의해 인식되는 입력 제스처들의 깊이를 결정하기 위해 구성된다. 깊이 인식 모듈(310)은 또한 하기 상세하게 기술되는 바와 같이, 입력 제스처를 특정 깊이 평면에 할당한다. 전술한 바와 같이, 결과적 입력 제스처 및 깊이 정보는 애플리케이션(302)을 제어하기 위해 사용자 인터페이스 명령 모듈(306)에게 제공된다.
몇몇 실시예들에서, 환경(300)은 사용자 식별 모듈(312)을 포함하는데, 이 사용자 식별 모듈은 컴퓨팅 디바이스(100)의 하나 이상의 사용자들을 식별하고 또한 입력 제스처들을 적절한 사용자에 할당하기 위해 구성된다. 그렇게 함으로써, 컴퓨팅 디바이스(100)는 동시에 다중 이용자에 의해, 또는 컴퓨팅 디바이스(100)를 사용하는 않는 다른 사람들 중에의 단일 사용자에 의해 이용될 수 있다. 사용자 식별 모듈(312)은 얼굴 인식, 골격 추적, 눈 추적, 음성 인식, 및/또는 다른 사용자 식별 기술의 임의의 조합에 기초하여 사용자들을 식별하고 구별할 수 있다. 몇몇 실시예들에서, 그런 기능들은 서브 모듈들에 의해, 예를 들어 얼굴 인식 모듈(314), 골격 추적 모듈(316), 눈 추적 모듈(318), 또는 음성 인식 모듈(320)에 의해 모듈들에 의해 수행될 수 있다.
도 4를 이제 참조하면, 사용 시에, 컴퓨팅 디바이스(100)는 깊이 기반 제스처 제어를 위한 방법 400을 실행할 수 있다. 방법 400은 블록 402로 시작하고, 여기서 컴퓨팅 디바이스(100)는 제스처 센서(120)로부터 입력 센서 데이터를 수신한다. 전술한 바와 같이, 그와 같은 센서 데이터는 사용자의 비디오 피드(video feed)로서 구체화될 수 있다. 기타 실시예들에서, 그와 같은 센서 데이터는 터치스크린(114)으로부터 또는 컴퓨팅 디바이스(100)의 다른 주변 입력 기기들로부터의 입력 데이터로서 구체화될 수 있다.
블록 404에서, 컴퓨팅 디바이스(100)는 사용자에 의해 만들어진 입력 제스처를 인식하기 위해 입력 센서 데이터를 분석한다. 인식된 입력 제스처들의 유형들은 분석되는 특정 입력 센서 데이터, 컴퓨팅 디바이스(100)의 제스처 용어 범위, 또는 애플리케이션(302)의 특정 입력 요구들에 의존할 수 있다. 예를 들어, 몇몇 실시예들에서 인식된 입력 제스처는 공중 제스처일 수 있는데, 예를 들어 사용자가 방을 돌아다니거나 팔다리를 흔드는 것이다. 몇몇 실시예들에서 입력 제스처는 가볍게 두드리기(tapping), 스와이핑(swiping), 포인팅, 핀칭, 스프레딩, 또는 다른 식으로 손가락들을 조작하는 것과 같은 터치 제스처와 유사한 것으로서 터치스크린(114) 위에서 수행되는 손 움직임일 수 있다. 제스처 용어 범위에 포함되지 않는 몸 또는 손 움직임들은 입력 제스처들로서 인식되지 않을 수 있다.
블록 406에서, 컴퓨팅 디바이스(100)는 입력 제스처가 인식되었는지 여부를 결정한다. 어떤 입력 제스처도 인식되지 않았으면, 방법 400은 입력 센서 데이터를 수신하는 것을 계속하기 위해 블록 402로 루프 백한다. 제스처가 인식되었다면, 방법 400은 블록 408로 진행한다.
블록 408에서, 몇몇 실시예들에서 컴퓨팅 디바이스(100)는 컴퓨팅 디바이스(100)의 식별된 사용자에 입력 제스처를 할당할 수 있다. 예를 들어, 몇몇 실시예들에서 컴퓨팅 디바이스(100)는 다수 사용자에 의해 사용될 수 있고, 각각의 인식된 제스처는 특정의 식별된 사용자에 할당된다. 기타 실시예들에서, 컴퓨팅 디바이스(100)의 단일 사용자에 의해 만들어진 제스처들은 컴퓨팅 디바이스(100)에 의해 검출되지만 컴퓨팅 디바이스(100)와 상호 작용하지 않는 다른 사람들과 구별될 수 있다.
전술한 바와 같이, 컴퓨팅 디바이스(100)는 사용자를 식별하고 또한 인식된 제스처를 식별된 사용자에 할당하기 위해 임의의 하나 이상의 식별 기법을 이용할 수 있다. 예를 들어, 블록 410에서, 컴퓨팅 디바이스(100)는 사용자를 식별하고 입력 제스처를 식별된 사용자에 할당하기 위해 얼굴 검출 및 분석을 수행할 수 있다. 컴퓨팅 디바이스(100)는 카메라(116)로부터 수신되는 입력 데이터를 이용하여 그와 같은 얼굴 검출을 수행할 수 있다. 덧붙여 또는 대안적으로, 블록 412에서, 컴퓨팅 디바이스(100)는 사용자를 식별하고 입력 제스처를 식별된 사용자에 할당하기 위해 골격 추적을 수행할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는 컴퓨팅 디바이스(100)에 의해 검출 가능한 모든 손, 팔다리, 얼굴, 및 기타 특징들을 추적할 수 있고, 그와 같은 특징들을 특정 사용자에 대한 대응 골격 모델에 할당할 수 있다. 골격 모델에 대한 제약들(예를 들어, 인간 몸의 관절들의 각도의 전형적 범위들, 인간 몸의 뼈들의 전형적 길이 및 길이 비, 기타 등등)은 컴퓨팅 디바이스(100)로 하여금 다중 이용자의 특징들 간에 구별하도록 허용한다. 그와 같은 골격 추적은 카메라(116), 제스처 센서(120), 깊이 센서(122), 또는 이것들의 임의의 조합에 의해 수행될 수 있다. 덧붙여 또는 대안적으로, 블록 414에서, 컴퓨팅 디바이스(100)는 사용자를 식별하고 제스처를 식별된 사용자에 할당하기 위해 눈 추적 기술을 수행할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는 카메라(116)를 이용하여 또는 특수 눈 추적 센서(도시 생략)를 이용하여 사용자 주시의 각도 또는 고시점(fixation point)을 결정할 수 있다. 덧붙여 또는 대안적으로, 블록 416에서, 컴퓨팅 디바이스(100)는 사용자를 식별하고 제스처를 식별된 사용자에 할당하기 위해 음성 인식을 수행할 수 있다. 그와 같은 음성 인식은, 예를 들어, 오디오 센서(118)를 이용하여 수행될 수 있다.
몇몇 실시예들에서, 컴퓨팅 디바이스(100)는 디스플레이(112) 상에 사용자의 팔다리, 손가락, 또는 다른 몸 부분들의 시각적 표현을 보여줄 수 있다. 그와 같은 시각적 표현은 사용자에게 그 또는 그녀의 입력이 어떻게 해석되고 있는지에 대해, 디스플레이(112) 상의 어떤 대상들이 사용자의 입력에 의해 영향 받을 수 있는지에 대해 피드백을 제공하고, 깊이가 제스처에 할당될 수 있다. 몇몇 실시예들에서, 그와 같은 시각적 표현은 사용자의 팔다리의 실제 이미지의 형태를 취할 수 있거나, 또는 제스처가 만드는 행동에 대응하는 커서 또는 게임 성분일 수 있다.
블록 418에서, 컴퓨팅 디바이스(100)는 깊이 센서(122)로부터 수신되는 데이터에 기초하여 입력 제스처의 깊이를 결정한다. 앞에서 자세히 기술된 바와 같이, 깊이 센서(122)의 다양한 실시예들은 다른 방식들로 입력 제스처의 깊이를 결정한다. 예를 들어, 스테레오 카메라는 깊이가 두 개의 카메라 센서로부터의 이미지 데이터를 비교함으로써 결정되도록 허용한다. 구조화된 광 카메라는 깊이가 반사된 광 패턴을 분석함으로써 결정되도록 허용한다. 가시광 카메라들의 직교 쌍은 깊이가 카메라들의 쌍의 각각으로부터의 이미지 데이터를 비교함으로써 결정되도록 허용한다. 깊이에 대한 그와 같은 분석은 컴퓨팅 디바이스(100)에 의해 또는 깊이 센서(122)에 포함되는 하드웨어, 펌웨어 또는 소프트웨어에 의해 수행될 수 있다.
블록 420에서, 컴퓨팅 디바이스(100)는 측정된 깊이에 기초하여 입력 제스처를 깊이 평면에 할당한다. 예를 들어, 도 5에 도시된 대로, 다이어그램(500)은 컴퓨팅 디바이스(100) 및 복수의 깊이 평면(502)을 도해한다. 도 5의 예시적 컴퓨팅 디바이스(100)는 통합된 터치스크린(114)을 가진 디스플레이(112)를 포함한다. 디스플레이(112)는 축들 x, y 및 z에 의해 표현되는 3차원 좌표 시스템을 정의한다. z축은 디스플레이(112)로부터 수직으로 멀어지며 연장하고, 그러므로 디스플레이(112)의 표면 법선으로 지칭된다. 깊이 평면들(504, 506, 508 및 510)은 각각이 디스플레이(112)의 표면과 평행하고 z축을 따르면 자리잡고, 그에 의해 각각이 디스플레이(112)로부터 점차적으로 멀어지는 일련의 깊이 평면들(502)을 나타낸다. 사용자는 보통은 디스플레이(112)를 정면으로 또는 거의 정면으로 보면서 컴퓨팅 디바이스(100)와 상호 작용하기 때문에, 깊이 평면들(502)도 사용자에게 점차적으로 가깝게 된다. 컴퓨팅 디바이스(100)는 제스처의 측정된 깊이에 기초하여 인식된 입력 제스처들을 깊이 평면에 할당한다. 예를 들어, 입력 제스처(512)가 깊이 평면(506)에 할당될 수 있고 입력 제스처(514)가 깊이 평면(510)에 할당될 수 있다. 입력 제스처들은 이들의 측정된 깊이를 양자화함으로써, 즉 이들의 최근접 깊이 평면에 반올림함으로써 깊이 평면에 할당될 수 있다. 몇몇 실시예들에서, 임의의 깊이 평면으로부터 임계값 거리보다 더 큰 깊이에 있는 입력 제스처들은 전적으로 버려질 수 있다.
깊이 평면들(502)은 편리한 제스처 상호작용을 허용하기 위해 서로 충분히 가깝게 자리잡는다; 많은 실시예들에서, 깊이 평면들(502)은 불과 몇 센티미터만큼 분리될 수 있다. 깊이 평면들(502)이 등거리로 분리된 것으로서 도해되었지만, 몇몇 실시예들에서 각각의 깊이 평면들(502)은 인접 깊이 평면들로부터 임의의 거리에 있을 수 있다. 덧붙여, 깊이 평면들(502)의 로케이션과 배치는 사용자에 의해 구성가능할 수 있다. 또한, 도 5에서 네 개의 깊이 평면(502)을 갖는 것으로서 도해되었지만, 더 적거나 더 많은 수의 깊이 평면들(502)이 기타 실시예들에 사용될 수 있다. 예를 들어, 몇몇 실시예들에서 두 개의 깊이 평면(502)이 사용될 수 있다. 그와 같은 실시예들에서, 디스플레이(112)에 가장 근접한 깊이 평면, 예를 들어 깊이 평면(504)이 1차 가상 터치 평면으로 지정될 수 있다. 그와 같은 실시예들에서, 디스플레이(112)로부터 가장 멀고 사용자에게 가장 가까운 깊이 평면, 예를 들어 깊이 평면(506)이 2차 가상 터치 평면으로 지정될 수 있다. 또한, 깊이 평면(504)이 디스플레이(112)의 표면과 동일한 공간을 차지하는 것으로 도해되기는 하였지만, 몇몇 실시예들에서 깊이 평면(504)은 디스플레이(112)의 표면으로부터 임의의 거리만큼 떨어져 있을 수 있다.
도 4로 돌아가 참조할 때, 블록 422에서, 컴퓨팅 디바이스(100)는 인식된 입력 제스처 및 연관된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행한다. 예를 들어, 블록 424에서, 컴퓨팅 디바이스(100)는 블록 408에서 제스처에 할당되는 사용자에 추가로 기초하여 사용자 인터페이스 명령을 실행할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는 각각의 사용자로 하여금 컴퓨팅 디바이스(100) 상에서 실행되는 특정 애플리케이션(302), 디스플레이(112)의 특정 영역, 또는 특정 사용자 인터페이스 성분들을 제어하도록 허용할 수 있다. 몇몇 실시예들에서, 각각의 사용자는 특정한 깊이 평면이 지정될 수 있고, 지정된 깊이 평면을 벗어나는 해당 사용자에 의한 입력 제스처들은 컴퓨팅 디바이스(100)에 의해 거부될 수 있다.
덧붙여, 블록 426에서, 몇몇 실시예들에서, 컴퓨팅 디바이스(100)는 할당된 깊이 평면에 기초하여 특정 사용자 인터페이스 성분을 제어할 수 있다. 즉, 몇몇 실시예들에서, 각각의 깊이 평면은 특정 사용자 인터페이스 성분 및/또는 사용자 인터페이스 성분들의 특정 그룹 또는 유형을 제어할 수 있다. 예를 들어, 도 5를 다시 참조하면, 깊이 평면(504) 상의 입력 제스처들은 애플리케이션(302)의 사용자 인터페이스 성분들을 제어할 수 있는 반면, 깊이 평면(506) 상의 입력 제스처들은 일시적 대화상자들, 대시보드 위젯들, 운영 체제 제어들, 및 그와 유사한 것과 같은 "오버레이" 사용자 인터페이스 성분들을 제어할 수 있다. 몇몇 실시예들에서, 애플리케이션(302)은, 드로잉 애플리케이션들에서와 같이, 사용자 인터페이스 성분들을 "계층화된" 표현으로 렌더링할 수 있다. 그러한 애플리케이션(302)이 주어진다면, 사용자는 사용자의 입력 제스처들의 깊이 평면에 기초하여 조작용 특정 층을 선택할 수 있다.
기타 실시예들에서, 사용자 인터페이스 성분들의 그와 같은 깊이 기반 제어는 게임으로서 구체화되는 애플리케이션(302)과 함께 사용될 수 있다. 예를 들어, 몇몇 실시예들에서 컴퓨팅 디바이스(100)는 깊이 평면에 의해 선택되는 가상 대상을 제어할 수 있다. 그와 같은 가상 대상은 디스플레이(112) 상의 사용자 인터페이스 성분으로 표현될 수 있고, 물리적 특징들로 모델링될 수 있다. 예를 들어, 그러한 게임 애플리케이션(302)에서, 사용자는 입력 제스처의 깊이 평면에 기초한 제어를 위해 게임 세계의 환경적 대상들을 선택할 수 있다. 몇몇 실시예들에서, 플레이어 캐릭터들은 깊이 기반 입력 제스처들을 통하여 제어될 수 있다. 특정 예에서, 잠수함 사냥 게임은 깊이 평면들(504, 506, 및 508)을 이용할 수 있다. 최고 깊이 평면(508)에서의 입력 제스처들은 폭뢰(depth charge)들을 제어할 수 있고, 중앙 깊이 평면(506)에서의 입력 제스처들은 잠수함들을 제어할 수 있고, 최저 깊이 평면(504)에서의 입력 제스처들은 해저 이동 수단들을 제어할 수 있다. 또 다른 특정 예에서, 실시간 전략 게임을 위해, 최저 깊이 평면(504)에서의 입력 제스처들은 해병대들과 위생병들과 같은 지상 유닛들을 제어할 수 있고, 중앙 깊이 평면(506)에서의 입력 제스처들은 탱크들 및 워커(walker)들과 같은 정렬된 기갑 유닛들을 제어할 수 있고, 최고 깊이 평면(508)에서의 입력 제스처들은 우주 전함과 같은 공중 및 우주 기반 유닛들을 제어할 수 있다. 도 4를 다시 참조하면, 사용자 인터페이스 명령의 실행에 이어서, 방법(400)은 센서 입력 데이터를 수신하기를 계속하기 위해 블록 402로 루프 백한다.
몇몇 실시예들에서, 특정 제스처에 응답하여 실행되는 사용자 인터페이스 명령은 입력 제스처가 수행되었던 특정 깊이 평면에 의존할 수 있다. 즉, 동일 입력 제스처(예를 들어, 스와이핑 또는 더블 클릭 제스처)는 입력 제스처가 수행되었던 특정 깊이 평면에 의존하여 상이한 사용자 인터페이스 명령들을 생성할 수 있다. 이와 같이, 몇몇 실시예들에서, 컴퓨팅 디바이스(100)는 도 6에 도시된 대로 입력 제스처에 할당되는 깊이 평면에 기초하여 1차 또는 2차 사용자 인터페이스 명령을 실행하기 위해 방법 600을 실행할 수 있다. 방법 600은 블록 602로 시작하는데, 여기서 컴퓨팅 디바이스(100)는 사용자 상호작용이 수신되었는지 여부를 결정한다. 그와 같은 결정은 제스처 센서(120)로부터 센서 입력을 수신하는 단계, 입력 제스처가 인식되었는지 여부를 결정하는 단계, 및 몇몇 실시예들에서 식별된 사용자를 인식된 입력 제스처에 할당하는 단계를 수반한다. 그와 같은 기능들은 도 4의 블록들 402, 404, 406, 및 408에 대하여 앞서 기술되었다. 사용자 상호작용이 수신되지 않았다면, 방법 600은 블록 602에서 사용자 상호작용들을 대기하기를 계속하기 위해 루프 백한다. 사용자 상호작용이 수신되었다면, 방법 600은 블록 604로 진행한다.
블록 604에서, 컴퓨팅 디바이스(100)는 깊이 센서(122)로부터 수신되는 센서 데이터에 기초하여 인식된 입력 제스처에 대한 할당된 제스처 평면을 결정한다. 그와 같은 할당은 도 4의 블록들 418 및 420에 대하여 앞서 기술되었다. 그러나, 예시된 방법 600에서, 입력 제스처는 두 개의 깊이 평면: 1차 가상 터치 평면 또는 2차 가상 터치 평면 중 하나에 할당될 수 있다. 물론, 기타 실시예들에서, 추가적 깊이 평면들이 구현될 수 있다.
블록 606에서, 컴퓨팅 디바이스(100)는 입력 제스처가 1차 가상 터치 평면에 할당될지 여부를 결정한다. 전술한 바와 같이, 1차 가상 터치 평면은 디스플레이(112)에 가장 근접한 깊이 평면, 예를 들어 도 5의 깊이 평면(504)이다. 몇몇 실시예들에서, 1차 가상 터치 평면에 할당되었다, 입력 제스처는 터치스크린(114) 그 자체 상에서 수행되었을 수 있다(예를 들어, 터치스크린(114)에 의해 감지되는 사용자에 의한 촉각적 선택). 입력 제스처가 1차 가상 터치 평면에 할당되었다면, 방법 600은 컴퓨팅 디바이스(100)가 1차 사용자 인터페이스 명령을 실행하는 블록 608로 분기한다. 1차 사용자 인터페이스 명령은 예를 들어 터치스크린(114)을 가볍게 두드리거나 또는 컴퓨팅 디바이스(100)의 포인팅 디바이스의 1차 버튼을 클릭하는 컴퓨팅 디바이스(100)의 1차 입력 양식에 대응할 수 있다. 그와 같은 1차 사용자 인터페이스 명령은, 실행될 때, 컴퓨팅 디바이스(100)가 애플리케이션(302)을 실행하는 것, 파일을 여는 것, 사용자 인터페이스 성분을 활성화하는 것, 또는 컴퓨팅 디바이스의 전형적 입력 양식을 이용하여 활성화될 수 있는 임의의 다른 기능을 낳을 수 있다. 블록 608에서 1차 사용자 인터페이스 명령을 실행한 후, 방법 600은 사용자 상호작용들을 대기하기를 계속하기 위해 블록 602로 루프 백한다.
블록 606을 다시 참조하면, 입력 제스처가 1차 가상 터치 평면에 할당되지 않는다면, 방법 600은 블록 610으로 진행한다. 블록 610에서, 컴퓨팅 디바이스(100)는 입력 제스처가 2차 가상 터치 평면에 할당될지 여부를 결정한다. 전술한 바와 같이, 2차 가상 터치 평면은 디스플레이(112)의 전방에 있고 1차 가상 터치 평면보다 사용자에게 더 가까운 깊이 평면인데, 예를 들어 도 5의 깊이 평면(506)이다. 입력 제스처가 2차 가상 터치 평면에 할당되지 않는다면, 방법 600은 사용자 상호작용들을 대기하기를 계속하기 위해 어떠한 사용자 인터페이스 명령도 실행하지 않고서 블록 602로 루프 백한다. 그와 같은 실시예들에서, 입력 제스처는 예를 들어 터치스크린(114)으로부터 너무 멀리 떨어져 수행되었을 수 있다. 제스처가 2차 가상 터치 평면에 할당된다면, 방법 600은 블록 612로 진행한다.
블록 612에서, 컴퓨팅 디바이스(100)는 2차 사용자 인터페이스 명령을 실행한다. 2차 사용자 인터페이스 명령은, 예를 들어 터치스크린(114)을 오래 누르거나, 컴퓨팅 디바이스(100)의 포인팅 디바이스를 이용하여 커서를 포인팅하거나, 또는 컴퓨팅 디바이스(100)의 포인팅 디바이스의 2차 버튼을 클릭하는, 컴퓨팅 디바이스(100)의 2차 입력 양식에 대응할 수 있다. 2차 사용자 인터페이스 명령은 1차 사용자 인터페이스 명령과 다르며, 몇몇 실시예들에서 2차 가상 터치 평면과의 상호작용을 통해서만 활성화될 수 있다. 수많은 그와 같은 2차 사용자 인터페이스 명령들이 가능하다. 덧붙여, 추가적 깊이 평면들을 포함하는 실시예들에서, 3차, 4차, 5차, 기타 등등의 인터페이스 명령들이 대응하는 깊이 평면들 상에서 수행되는 동일 입력 제스처에 할당될 수 있다.
2차 사용자 인터페이스 명령은 1차 인터페이스 명령과 상이한 임의 유형의 사용자 인터페이스 명령으로서 구체화될 수 있다. 예를 들어, 블록 614에서, 컴퓨팅 디바이스(100)는 디스플레이(112) 상의 하나 이상의 사용자 인터페이스 성분들을 확대할 수 있다. 그와 같은 사용자 인터페이스 성분들은 아이콘들, 버튼들, 이미지들, 라벨들, 및 사용자 그래픽 인터페이스에 전형적인 유사한 컴포넌트들을 포함한다. 예를 들어, 컴퓨팅 디바이스(100)는 사용자의 손 바로 밑의 디스플레이(112)의 영역을 확대하고 또한 확대된 영역을 디스플레이(112)의 상이한 부분 상에 표시할 수 있어서, 그렇지 않았더라면 사용자의 손에 의해 가려졌을 사용자 인터페이스 성분들과의 상호작용을 허용한다.
몇몇 실시예들에서, 블록 616에서, 컴퓨팅 디바이스(100)는 하나 이상의 사용자 인터페이스 성분들을 선택할 수 있다. 선택된 사용자 인터페이스 성분들은 강조되거나 다른 경우에는 시각적으로 디스플레이(112) 상에서 구별될 수 있다. 예를 들어, 사용자는 2차 가상 터치 평면상의 아이콘들에서 제스처를 취함으로써 (예를 들어, 이동시키거나, 복사하거나, 삭제하기 위해) 한 그룹의 메뉴 아이콘들을 선택하거나 이를 통해서 "스크롤링"할 수 있고 또한 1차 평면 및/또는 터치스크린(114) 상의 입력 제스처를 통해 메뉴로부터 바라는 아이콘을 선택할 수 있다. 덧붙여, 몇몇 실시예들에서, 블록 618에서, 컴퓨팅 디바이스(100)는 하나 이상의 사용자 인터페이스 성분들에 대한 2차 상호작용 모드를 활성화할 수 있다. 2차 상호작용 모드는 명령들을 제공하고 또한 사용자 인터페이스 성분들의 보통의 상호작용 모드와는 상이한 조작을 허용할 수 있다. 그와 같은 명령들은 2차 가상 터치 평면 상의 또는 1차 가상 터치 평면 상의 추가적 상호작용들을 통하여 접근 가능할 수 있다. 활성화된 2차 상호작용 모드를 가진 사용자 인터페이스 성분들은, 예를 들어 사용자 인터페이스 성분들이 다른 사용자 인터페이스 성분들 전방에 "들어올려진" 것으로서 또는 다른 식으로 자리잡은 것으로서 렌더링함으로써 디스플레이(112) 상에서 시각적으로 구별될 수 있다. 예를 들어, 1차 평면 상에서 수행되는 입력 제스처들을 통해 접근 가능한 1차 상호작용 모드는 아이콘들이 디스플레이(112) 상의 현재 윈도 내부에서 이동되거나, 재배열되거나, 재정렬되도록 허용할 수 있다. 그와 같은 예에서, 2차 평면 상에서 수행되는 입력 제스처들을 통해 접근 가능한 2차 상호작용 모드는 아이콘들이 디스플레이(112) 상의 상이한 윈도에게 또는 또 다른 디바이스(도시되지 않음)에게 이동되도록 허용할 수 있다.
몇몇 실시예들에서, 블록 620에서, 컴퓨팅 디바이스(100)는 입력 제스처에 기초하여 하나 이상의 맥락상 명령들을 사용자에게 제시할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는 입력 제스처의 로케이션 근처의 디스플레이(112) 상에 맥락상 명령들을 표시할 수 있다. 예를 들어, 드로잉 애플리케이션(302)(도 3 참조)에서, 컴퓨팅 디바이스(100)는 제스처의 로케이션 근처에 도구 박스를 표시하여, 사용자가 먼 곳으로 자신의 손을 움직일 것 없이 드로잉 모드를 변화시키거나 또는 옵션들을 선택하도록 허용할 수 있다. 기타 실시예들에서, 컴퓨팅 디바이스(100)는 입력 제스처와 연관되는 사용자 인터페이스 성분에 기초하여 한 그룹의 명령들을 제시할 수 있다. 예를 들어, 컴퓨팅 디바이스(100)는 종래의 마우스의 2차 클릭 작동과 유사하게, 사용자의 손 바로 밑의 디스플레이(112) 상의 아이콘에 기초하여 맥락상 메뉴를 제시할 수 있다.
몇몇 실시예들에서, 블록 622에서, 컴퓨팅 디바이스(100)는 입력 제스처의 측정된 깊이에 기초하여 사용자 인터페이스 명령에 한 값을 할당할 수 있다. 그와 같은 할당 값은 사용자 인터페이스 명령의 동작을 변경할 수 있다. 드로잉 애플리케이션(302)의 예로 돌아가 보면, 할당 값은 "압력"에 대응할 수 있어서, 사용자가 디스플레이(112)와 입력 제스처 사이의 거리를 조절함으로써 그려진 라인들의 가중(weight)을 제어하도록 허용할 수 있다.
덧붙여, 몇몇 실시예들에서, 블록 624에서, 컴퓨팅 디바이스(100)는 공간에서의 입력 제스처의 표현에 기초하여 사용자 인터페이스 명령을 실행할 수 있다. 그와 같은 표현은 입력 제스처의 3차원 위치 및 속도 벡터들을 포함할 수 있다. 그와 같은 실시예들에서, 제스처는 터치 볼륨, 즉 사용자 상호작용들을 수용하는 공간의 3차원적 영역에서 인식된다. 공간에서의 입력 제스처의 표현은 디스플레이(112) 상의 가상 대상들의 표현들을 조작하기 위한 사용자 인터페이스 명령들에 대응할 수 있다. 예를 들어, 사용자 인터페이스는 레버들, 슬라이더들, 회전식 다이얼들, 지동륜들(thumbwheels), 및 그와 유사한 것과 같은 물리적 제어들의 응답들을 모델링할 수 있다. 사용자 인터페이스 명령의 응답은 입력 제스처 및 사용자 인터페이스 성분들의 모델링된 물리적 속성들에 의존한다.
블록 612의 실행 후에, 방법 600은 추가적 사용자 상호작용들을 대기하기를 계속하기 위해 블록 602로 루프 백한다. 이런 방식으로, 컴퓨팅 디바이스(100)의 사용자는 컴퓨팅 디바이스(100)와 상호작용하여 상이한 깊이 평면들에서 수행되는 동일 입력 제스처를 이용하여 상이한 사용자 인터페이스 명령들을 실행할 수 있다.
예들
예 1은 깊이 기반 제스처 제어를 위한 컴퓨팅 디바이스를 포함하는데, 컴퓨팅 디바이스는 표면 법선을 정의하기 위한 디스플레이; 디스플레이 전방에서 컴퓨팅 디바이스의 사용자에 의해 수행되는 입력 제스처의 디스플레이에 대한 깊이를 나타내는 깊이 센서 데이터를 생성하기 위한 깊이 센서; 입력 제스처를 인식하기 위한 제스처 인식 모듈; 깊이 센서로부터 깊이 센서 데이터를 수신하고; 입력 제스처의 깊이를 깊이 센서 데이터의 함수로서 결정하고; 입력 제스처의 깊이의 함수로서 깊이 평면을 입력 제스처에 할당하기 위한 깊이 인식 모듈 - 각각의 깊이 평면은 디스플레이와 평행하게 위치되고 표면 법선과 교차함-; 및 입력 제스처 및 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하기 위한 사용자 명령 모듈을 포함한다.
예 2는 예 1의 청구 대상을 포함하고, 여기서 깊이 평면을 할당하는 것은 디스플레이에 대한 입력 제스처의 깊이의 함수로서 복수의 깊이 평면 중의 깊이 평면을 할당하는 것을 추가로 포함한다.
예 3은 예들 1 및 2 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서는 스테레오 깊이 카메라를 포함한다.
예 4는 예들 1 내지 3 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서는 구조화된 광 카메라를 포함한다.
예 5는 예들 1 내지 4 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서는 복수의 카메라를 포함하며, 복수의 카메라 중 각각의 카메라는 디스플레이의 표면 법선과 직교하며 복수의 카메라 중 또 다른 카메라와 직교하도록 조준된다.
예 6은 예들 1 내지 5 중 임의의 것의 청구 대상을 포함하고, 여기서 추가로 깊이 센서는 카메라를 포함하고; 깊이 센서 데이터를 수신하는 것은 카메라로부터 이미지 데이터를 수신하는 것을 포함하고; 입력 제스처의 깊이를 결정하는 것은 수신된 이미지 데이터에서 포착되는 사용자에 의해 드리워지는 그림자의 위치의 함수로서 입력 제스처의 깊이를 결정하는 것을 포함한다.
예 7은 예들 1 내지 6 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서는 근접 센서를 포함한다.
예 8은 예들 1 내지 7 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서는 무선 수신기를 포함하고; 깊이 인식 모듈은 추가로, 무선 수신기를 이용하여 사용자에 의해 조작되는 송신기에 의해 송신되는 신호를 수신하기 위한 것이고; 깊이 센서 데이터를 수신하는 것은 무선 수신기로부터의 수신 신호와 연관되는 신호 강도 데이터를 수신하는 것을 포함한다.
예 9는 예들 1 내지 8 중 임의의 것의 청구 대상을 포함하고, 여기서 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하는 것은 할당된 깊이 평면의 함수로서 가상 대상을 선택하는 것; 및 입력 제스처에 기초하여 가상 대상을 제어하는 것을 포함한다.
예 10은 예들 1 내지 9 중 임의의 것의 청구 대상을 포함하고, 여기서 가상 대상을 선택하는 것은 할당된 깊이 평면의 함수로서 플레이어 캐릭터를 선택하는 것을 포함한다.
예 11은 예들 1 내지 10 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자 명령 모듈은 또한, 입력 제스처의 인식 전에 입력 제스처 및 할당된 깊이 평면에 기초하여 실행될 사용자 인터페이스 명령을 구성하기 위한 것이다.
예 12는 예들 1 내지 11 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자 인터페이스 명령을 실행하는 것은 할당된 깊이 평면이 컴퓨팅 디바이스의 2차 가상 터치 평면을 포함하는지 여부를 결정하고; 할당된 깊이 평면이 2차 가상 터치 평면을 포함한다는 결정에 응답하여 2차 사용자 인터페이스 명령을 실행하는 것을 포함한다.
예 13은 예들 1 내지 12 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령은 2차 가상 터치 평면을 통해서만 접근 가능하다.
예 14는 예들 1 내지 13 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 것은 디스플레이 상에 표시되는 사용자 인터페이스 성분을 확대하는 것을 포함한다.
예 15는 예들 1 내지 14 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 것은 디스플레이 상에 표시되는 사용자 인터페이스 성분을 선택하는 것을 포함한다.
예 16은 예들 1 내지 15 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 것은 사용자 인터페이스 성분에 대한 2차 상호작용 모드를 활성화하는 것을 포함하며, 여기서 사용자 인터페이스 성분에 대한 1차 상호작용 모드는 디스플레이의 터치스크린을 통해 접근 가능하다.
예 17은 예들 1 내지 16 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 것은 디스플레이 상에 맥락상 명령 메뉴(contextual command menu)를 표시하는 것을 포함한다.
예 18은 예들 1 내지 17 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 것은 입력 제스처의 깊이의 함수로서 2차 사용자 인터페이스 명령에 값을 할당하는 것을 포함한다.
예 19는 예들 1 내지 18 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 것은 입력 제스처의 함수로서 3차원 위치 및 속도를 2차 사용자 인터페이스 명령에 할당하는 것을 포함한다.
예 20은 예들 1 내지 19 중 임의의 것의 청구 대상을 포함하고, 컴퓨팅 디바이스의 사용자를 식별하고; 입력 제스처를 식별된 사용자에 할당하기 위한 사용자 인식 모듈을 추가로 포함하고; 여기서 사용자 인터페이스 명령을 실행하는 것은 입력 제스처에 할당되는 사용자의 함수로서 사용자 인터페이스 명령을 실행하는 것을 추가로 포함한다.
예 21은 예들 1 내지 20 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자 인식 모듈은 얼굴 인식에 의해 사용자를 식별하기 위한 얼굴 인식 모듈을 추가로 포함한다.
예 22는 예들 1 내지 21 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자 인식 모듈은 식별된 사용자의 골격 모델을 추적하기 위한 골격 추적 모듈을 추가로 포함하고 - 골격 모델은 팔다리를 포함함-; 입력 제스처를 식별된 사용자에 할당하는 것은 식별된 사용자의 골격 모델의 팔다리에 입력 제스처를 할당하는 것을 포함한다.
예 23은 예들 1 내지 22 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자 인식 모듈은 눈 추적에 의해 사용자를 식별하기 위한 눈 추적 모듈을 추가로 포함한다.
예 24는 예들 1 내지 23 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자 인식 모듈은 음성 인식에 의해 사용자를 식별하기 위한 음성 인식 모듈을 추가로 포함한다.
예 25는 예들 1 내지 24 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자 인식 모듈은 사용자에 할당되는 입력 제스처에 할당될 깊이 평면을 추가로 구성하기 위한 것이다.
예 26은 깊이 기반 제스처 제어를 위한 방법을 포함하고, 본 방법은 컴퓨팅 디바이스 상에서, 컴퓨팅 디바이스의 디스플레이 전방에서 컴퓨팅 디바이스의 사용자에 의해 수행되는 입력 제스처를 인식하는 단계; 컴퓨팅 디바이스 상에서, 컴퓨팅 디바이스의 깊이 센서로부터 입력 제스처의 디스플레이에 대한 깊이를 나타내는 깊이 센서 데이터를 수신하는 단계; 컴퓨팅 디바이스 상에서, 입력 제스처의 깊이를 깊이 센서 데이터의 함수로서 결정하는 단계; 컴퓨팅 디바이스 상에서, 깊이 평면을 입력 제스처의 깊이의 함수로서 입력 제스처에 할당하는 단계 - 여기서 각각의 깊이 평면은 디스플레이와 평행하고 디스플레이의 표면 법선과 교차함-; 및 컴퓨팅 디바이스 상에서, 입력 제스처 및 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하는 단계를 포함한다.
예 27은 예 26의 청구 대상을 포함하고, 여기서 깊이 평면을 할당하는 단계는 디스플레이에 대한 입력 제스처의 깊이의 함수로서 복수의 깊이 평면 중의 깊이 평면을 할당하는 단계를 추가로 포함한다.
예 28은 예들 26 및 27 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하는 단계는 컴퓨팅 디바이스의 스테레오 깊이 카메라로부터 깊이 센서 데이터를 수신하는 단계를 포함한다.
예 29는 예들 26 내지 28 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하는 단계는 컴퓨팅 디바이스의 구조화된 광 카메라로부터 깊이 센서 데이터를 수신하는 단계를 포함한다.
예 30은 예들 26 내지 29 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하는 단계는 컴퓨팅 디바이스의 복수의 카메라로부터 깊이 센서 데이터를 수신하는 단계를 포함하며, 여기서 복수의 카메라 중 각각의 카메라는 디스플레이의 표면 법선과 직교하고 복수의 카메라 중 또 다른 카메라와 직교하도록 조준된다.
예 31은 예들 26 내지 30 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하는 단계는 컴퓨팅 디바이스의 카메라로부터 이미지 데이터를 수신하는 단계를 포함하고; 입력 제스처의 깊이를 결정하는 단계는 수신된 이미지 데이터에서 포착되는 사용자에 의해 드리워지는 그림자의 위치의 함수로서 입력 제스처의 깊이를 결정하는 단계를 포함한다.
예 32는 예들 26 내지 31 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하는 단계는 컴퓨팅 디바이스의 근접 센서로부터 깊이 센서 데이터를 수신하는 단계를 포함한다.
예 33은 예들 26 내지 32 중 임의의 것의 청구 대상을 포함하고, 컴퓨팅 디바이스 상에서, 컴퓨팅 디바이스의 무선 수신기를 이용하여 사용자에 의해 조작되는 송신기에 의해 송신되는 신호를 수신하는 단계를 더 포함하고; 여기서 깊이 센서 데이터를 수신하는 단계는 무선 수신기로부터의 수신 신호와 연관되는 신호 강도 데이터를 수신하는 단계를 포함한다.
예 34는 예들 26 내지 33 중 임의의 것의 청구 대상을 포함하고, 여기서 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하는 단계는 할당된 깊이 평면의 함수로서 가상 대상을 선택하는 단계; 및 입력 제스처에 기초하여 가상 대상을 제어하는 단계를 포함한다.
예 35는 예들 26 내지 34 중 임의의 것의 청구 대상을 포함하고, 여기서 가상 대상을 선택하는 단계는 할당된 깊이 평면의 함수로서 플레이어 캐릭터를 선택하는 단계를 포함한다.
예 36은 예들 26 내지 35 중 임의의 것의 청구 대상을 포함하고, 컴퓨팅 디바이스 상에서, 입력 제스처를 인식하기 전에, 입력 제스처 및 할당된 깊이 평면에 기초하여 실행될 사용자 인터페이스 명령을 구성하는 단계를 더 포함한다.
예 37은 예들 26 내지 36 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자 인터페이스 명령을 실행하는 단계는 할당된 깊이 평면이 컴퓨팅 디바이스의 2차 가상 터치 평면을 포함하는지 여부를 결정하는 단계를 포함하고; 할당된 깊이 평면이 2차 가상 터치 평면을 포함한다고 결정하는 것에 응답하여 2차 사용자 인터페이스 명령을 실행하는 단계를 포함한다.
예 38은 예들 26 내지 37 중 임의의 것의 청구 대상을 포함하고, 2차 가상 터치 평면을 통해서만 2차 사용자 인터페이스 명령에 대한 접근을 허용하는 단계를 더 포함한다.
예 39는 예들 26 내지 38 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 단계는 컴퓨팅 디바이스의 디스플레이 상에 표시되는 사용자 인터페이스 성분을 확대하는 단계를 포함한다.
예 40은 예들 26 내지 39 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 단계는 컴퓨팅 디바이스의 디스플레이 상에 표시되는 사용자 인터페이스 성분을 선택하는 단계를 포함한다.
예 41은 예들 26 내지 40 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 단계는 사용자 인터페이스 성분에 대한 2차 상호작용 모드를 활성화하는 단계를 포함하며, 여기서 사용자 인터페이스 성분에 대한 1차 상호작용 모드는 디스플레이의 터치스크린을 통해 접근 가능하다.
예 42는 예들 26 내지 41 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 단계는 맥락상 명령 메뉴를 표시하는 단계를 포함한다.
예 43은 예들 26 내지 42 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 단계는 입력 제스처의 깊이의 함수로서 2차 사용자 인터페이스 명령에 값을 할당하는 단계를 포함한다.
예 44는 예들 26 내지 43 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하는 단계는 입력 제스처의 함수로서 2차 사용자 인터페이스 명령에 3차원 위치 및 속도를 할당하는 단계를 포함한다.
예 45는 예들 26 내지 44 중 임의의 것의 청구 대상을 포함하고, 컴퓨팅 디바이스 상에서, 컴퓨팅 디바이스의 사용자를 식별하는 단계; 및 컴퓨팅 디바이스 상에서, 식별된 사용자에 입력 제스처를 할당하는 단계를 추가로 포함하고; 여기서 사용자 인터페이스 명령을 실행하는 단계는 입력 제스처에 할당되는 사용자의 함수로서 사용자 인터페이스 명령을 실행하는 단계를 추가로 포함한다.
예 46은 예들 26 내지 45 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자를 식별하는 단계는 얼굴 인식에 의해 사용자를 식별하는 단계를 포함한다.
예 47은 예들 26 내지 46 중 임의의 것의 청구 대상을 포함하고, 여기서 식별된 사용자에 입력 제스처를 할당하는 단계는 식별된 사용자의 골격 모델을 추적하는 단계를 포함하고 - 골격 모델은 팔다리를 가짐-; 식별된 사용자에 입력 제스처를 할당하는 단계는 식별된 사용자의 골격 모델의 팔다리에 제스처를 할당하는 단계를 포함한다.
예 48은 예들 26 내지 47 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자를 식별하는 단계는 눈 추적에 의해 사용자를 식별하는 단계를 포함한다.
예 49는 예들 26 내지 48 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자를 식별하는 단계는 음성 인식에 의해 사용자를 식별하는 단계를 포함한다.
예 50은 예들 26 내지 49 중 임의의 것의 청구 대상을 포함하고, 컴퓨팅 디바이스 상에서, 사용자에 할당되는 입력 제스처에 할당될 깊이 평면을 구성하는 단계를 추가로 포함한다.
예 51은 프로세서; 및 프로세서에 의해 실행될 때 컴퓨팅 디바이스로 하여금 예들 26 내지 50 중 임의의 것의 방법을 실행하게 하는 복수의 명령어를 저장한 메모리를 포함한다.
예 52는 실행되는 것에 응답하여 컴퓨팅 디바이스로 하여금 예들 26 내지 50 중 임의의 것의 방법을 실행하게 하는 저장된 복수의 명령어를 포함하는 하나 이상의 기계로 판독가능한 저장 매체를 포함한다.
예 53은 깊이 기반 제스처 제어를 위한 컴퓨팅 디바이스를 포함하고, 컴퓨팅 디바이스는 컴퓨팅 디바이스 상에서, 컴퓨팅 디바이스의 디스플레이 전방에서 컴퓨팅 디바이스의 사용자에 의해 수행되는 입력 제스처를 인식하기 위한 수단; 컴퓨팅 디바이스 상에서, 컴퓨팅 디바이스의 깊이 센서로부터 입력 제스처의 디스플레이에 대한 깊이를 나타내는 깊이 센서 데이터를 수신하기 위한 수단; 컴퓨팅 디바이스 상에서, 깊이 센서 데이터의 함수로서 입력 제스처의 깊이를 결정하기 위한 수단; 컴퓨팅 디바이스 상에서, 입력 제스처의 깊이의 함수로서 입력 제스처에 깊이 평면을 할당하기 위한 수단- 여기서 각각의 깊이 평면은 디스플레이와 평행하고 디스플레이의 표면 법선과 교차함-, 및 컴퓨팅 디바이스 상에서, 입력 제스처 및 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하기 위한 수단을 포함한다.
예 54는 예 53의 청구 대상을 포함하고, 여기서 깊이 평면을 할당하기 위한 수단은 디스플레이에 대한 입력 제스처의 깊이의 함수로서 복수의 깊이 평면 중의 깊이 평면을 할당하기 위한 수단을 추가로 포함한다.
예 55는 예들 53 및 54 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하기 위한 수단은 컴퓨팅 디바이스의 스테레오 깊이 카메라로부터 깊이 센서 데이터를 수신하기 위한 수단을 포함한다.
예 56은 예들 53 내지 55 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하기 위한 수단은 컴퓨팅 디바이스의 구조화된 광 카메라로부터 깊이 센서 데이터를 수신하기 위한 수단을 포함한다.
예 57은 예들 53 내지 56 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하기 위한 수단은 컴퓨팅 디바이스의 복수의 카메라로부터 깊이 센서 데이터를 수신하기 위한 수단을 포함하며, 여기서 복수의 카메라 중 각각의 카메라는 디스플레이의 표면 법선과 직교하고 복수의 카메라 중 또 다른 카메라와 직교하도록 조준된다.
예 58은 예들 53 내지 57 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하기 위한 수단은 컴퓨팅 디바이스의 카메라로부터 이미지 데이터를 수신하기 위한 수단을 포함하고; 입력 제스처의 깊이를 결정하기 위한 수단은 수신된 이미지 데이터에서 포착되는 사용자에 의해 드리워진 그림자의 위치의 함수로서 입력 제스처의 깊이를 결정하기 위한 수단을 포함한다.
예 59는 예들 53 내지 58 중 임의의 것의 청구 대상을 포함하고, 여기서 깊이 센서 데이터를 수신하기 위한 수단은 컴퓨팅 디바이스의 근접 센서로부터 깊이 센서 데이터를 수신하기 위한 수단을 포함한다.
예 60은 예들 53 내지 59 중 임의의 것의 청구 대상을 포함하고, 컴퓨팅 디바이스 상에서, 컴퓨팅 디바이스의 무선 수신기를 이용하여 사용자에 의해 조작되는 송신기에 의해 송신되는 신호를 수신하기 위한 수단을 추가로 포함하고; 여기서 깊이 센서 데이터를 수신하기 위한 수단은 무선 수신기로부터의 수신 신호와 연관되는 신호 강도 데이터를 수신하기 위한 수단을 포함한다.
예 61은 예들 53 내지 60 중 임의의 것의 청구 대상을 포함하고, 여기서 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하기 위한 수단은 할당된 깊이 평면의 함수로서 가상 대상을 선택하기 위한 수단; 및 입력 제스처에 기초하여 가상 대상을 제어하기 위한 수단을 포함한다.
예 62는 예들 53 내지 61 중 임의의 것의 청구 대상을 포함하고, 여기서 가상 대상을 선택하기 위한 수단은 할당된 깊이 평면의 함수로서 플레이어 캐릭터를 선택하기 위한 수단을 포함한다.
예 63은 예들 53 내지 62 중 임의의 것의 청구 대상을 포함하고, 컴퓨팅 디바이스 상에서, 입력 제스처를 인식하기 전에 입력 제스처 및 할당된 깊이 평면에 기초하여 실행될 사용자 인터페이스 명령을 구성하기 위한 수단을 추가로 포함한다.
예 64는 예들 53 내지 63 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자 인터페이스 명령을 실행하기 위한 수단은 할당된 깊이 평면이 컴퓨팅 디바이스의 2차 가상 터치 평면을 포함하는지 여부를 결정하기 위한 수단; 및 할당된 깊이 평면이 2차 가상 터치 평면을 포함한다는 결정에 응답하여 2차 사용자 인터페이스 명령을 실행하기 위한 수단을 포함한다.
예 65는 예들 53 내지 64 중 임의의 것의 청구 대상을 포함하고, 2차 가상 터치 평면을 통해서만 2차 사용자 인터페이스 명령에 대한 접근을 허용하기 위한 수단을 추가로 포함한다.
예 66은 예들 53 내지 65 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하기 위한 수단은 컴퓨팅 디바이스의 디스플레이상에 표시되는 사용자 인터페이스 성분을 확대하기 위한 수단을 포함한다.
예 67은 예들 53 내지 66 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하기 위한 수단은 컴퓨팅 디바이스의 디스플레이 상에 표시되는 사용자 인터페이스 성분을 선택하기 위한 수단을 포함한다.
예 68은 예들 53 내지 67 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하기 위한 수단은 사용자 인터페이스 성분에 대한 2차 상호작용 모드를 활성화하기 위한 수단을 포함하며, 여기서 사용자 인터페이스 성분에 대한 1차 상호작용 모드는 디스플레이의 터치스크린을 통해 접근 가능하다.
예 69는 예들 53 내지 68 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하기 위한 수단은 맥락상 명령 메뉴를 표시하기 위한 수단을 포함한다.
예 70은 예들 53 내지 69 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하기 위한 수단은 입력 제스처의 깊이의 함수로서 2차 사용자 인터페이스 명령에 값을 할당하기 위한 수단을 포함한다.
예 71은 예들 53 내지 70 중 임의의 것의 청구 대상을 포함하고, 여기서 2차 사용자 인터페이스 명령을 실행하기 위한 수단은 입력 제스처의 함수로서 2차 사용자 인터페이스 명령에 3차원 위치 및 속도를 할당하기 위한 수단을 포함한다.
예 72는 예들 53 내지 71 중 임의의 것의 청구 대상을 포함하고, 컴퓨팅 디바이스 상에서, 컴퓨팅 디바이스의 사용자를 식별하기 위한 수단; 및 컴퓨팅 디바이스 상에서, 식별된 사용자에 입력 제스처를 할당하기 위한 수단을 추가로 포함하고; 여기서 사용자 인터페이스 명령을 실행하기 위한 수단은 입력 제스처에 할당되는 사용자의 함수로서 사용자 인터페이스 명령을 실행하기 위한 수단을 추가로 포함한다.
예 73은 예들 53 내지 72 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자를 식별하기 위한 수단은 얼굴 인식에 의해 사용자를 식별하기 위한 수단을 포함한다.
예 74는 예들 53 내지 73 중 임의의 것의 청구 대상을 포함하고, 여기서 식별된 사용자에 입력 제스처를 할당하기 위한 수단은 식별된 사용자의 골격 모델을 추적하기 위한 수단을 포함하고 - 골격 모델은 팔다리를 가짐- ; 식별된 사용자에 입력 제스처를 할당하기 위한 수단은 식별된 사용자의 골격 모델의 팔다리에 제스처를 할당하기 위한 수단을 포함한다.
예 75는 예들 53 내지 74 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자를 식별하기 위한 수단은 눈 추적에 의해 사용자를 식별하기 위한 수단을 포함한다.
예 76은 예들 53 내지 75 중 임의의 것의 청구 대상을 포함하고, 여기서 사용자를 식별하기 위한 수단은 음성 인식에 의해 사용자를 식별하기 위한 수단을 포함한다.
예 77은 예들 53 내지 76 중 임의의 것의 청구 대상을 포함하고, 컴퓨팅 디바이스 상에서, 사용자에 할당되는 입력 제스처에 할당될 깊이 평면을 구성하기 위한 수단을 추가로 포함한다.

Claims (11)

  1. 깊이 기반 제스처 제어를 위한 컴퓨팅 디바이스로서:
    표면 법선을 정의하기 위한 디스플레이;
    상기 디스플레이 전방에서 상기 컴퓨팅 디바이스의 사용자에 의해 수행되는 입력 제스처의 상기 디스플레이에 대한 깊이를 나타내는 깊이 센서 데이터를 생성하고, 상기 디스플레이 전방에서 상기 컴퓨팅 디바이스의 제2 사용자에 의해 수행되는 제2 입력 제스처의 상기 디스플레이에 대한 제2 깊이를 나타내는 제2 깊이 센서 데이터를 생성하기 위한 깊이 센서;
    상기 입력 제스처 및 상기 제2 입력 제스처를 인식하기 위한 제스처 인식 모듈;
    상기 깊이 센서로부터 상기 깊이 센서 데이터 및 상기 제2 깊이 센서 데이터를 수신하고, 상기 깊이 센서 데이터의 함수로서 상기 입력 제스처의 깊이를 결정하고, 상기 제2 깊이 센서 데이터의 함수로서 상기 제2 입력 제스처의 제2 깊이를 결정하고, 상기 입력 제스처의 깊이의 함수로서 상기 입력 제스처에 깊이 평면을 할당하고, 상기 제2 입력 제스처의 제2 깊이의 함수로서 상기 제2 입력 제스처에 상기 깊이 평면과는 상이한 제2 깊이 평면을 할당하기 위한 깊이 인식 모듈 - 각각의 깊이 평면은 상기 디스플레이와 평행하게 위치되고 상기 표면 법선과 교차함 - ;
    상기 입력 제스처 및 상기 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하고, 상기 제2 입력 제스처 및 상기 할당된 제2 깊이 평면에 기초하여 제2 사용자 인터페이스 명령을 실행하기 위한 사용자 명령 모듈 - 상기 제2 사용자 인터페이스 명령을 실행하는 것은:
    상기 할당된 제2 깊이 평면이 상기 컴퓨팅 디바이스의 2차 가상 터치 평면을 포함하는지 여부를 결정하고,
    상기 할당된 제2 깊이 평면이 상기 2차 가상 터치 평면을 포함한다는 결정에 응답하여 2차 사용자 인터페이스 명령을 실행하는 것을 포함하고,
    상기 2차 사용자 인터페이스 명령을 실행하는 것은 상기 디스플레이 상에 맥락상 명령 메뉴(contextual command menu)를 표시하는 것을 포함함 -; 및
    상기 컴퓨팅 디바이스의 사용자를 식별하고, 상기 사용자에 상기 입력 제스처를 할당하기 위한 사용자 인식 모듈
    을 포함하고,
    상기 사용자 인터페이스 명령을 실행하는 것은 상기 입력 제스처에 할당되는 상기 사용자의 함수로서 상기 사용자 인터페이스 명령을 실행하는 것을 더 포함하고,
    상기 사용자 인식 모듈은:
    상기 사용자의 골격 특징을 추적하고, 상기 제2 사용자의 골격 특징을 추적하기 위한 골격 추적 모듈을 더 포함하고,
    상기 컴퓨팅 디바이스의 사용자를 식별하는 것은 상기 사용자의 골격 특징과 상기 제2 사용자의 골격 특징을 구별하는 것을 포함하는 컴퓨팅 디바이스.
  2. 제1항에 있어서, 상기 깊이 센서는:
    스테레오 깊이 카메라;
    구조화된 광 카메라;
    복수의 카메라 - 상기 복수의 카메라 중 각각의 카메라는 상기 디스플레이의 상기 표면 법선과 직교하며 상기 복수의 카메라 중 또 다른 카메라와 직교하도록 조준됨-; 또는
    근접 센서 중 하나를 포함하는
    컴퓨팅 디바이스.
  3. 제1항에 있어서,
    상기 깊이 센서는 카메라를 포함하고;
    상기 깊이 센서 데이터를 수신하는 것은 상기 카메라로부터 이미지 데이터를 수신하는 것을 포함하고;
    상기 입력 제스처의 깊이를 결정하는 것은 상기 수신된 이미지 데이터에서 포착되는 상기 사용자에 의해 드리워지는 그림자의 위치의 함수로서 상기 입력 제스처의 깊이를 결정하는 것을 포함하는
    컴퓨팅 디바이스.
  4. 제1항에 있어서,
    상기 깊이 센서는 무선 수신기를 포함하고;
    상기 깊이 인식 모듈은 또한, 상기 무선 수신기를 이용하여, 상기 사용자에 의해 조작되는 송신기에 의해 송신되는 신호를 수신하기 위한 것이고;
    상기 깊이 센서 데이터를 수신하는 것은 상기 무선 수신기로부터의 수신 신호와 연관되는 신호 강도 데이터를 수신하는 것을 포함하는
    컴퓨팅 디바이스.
  5. 제1항에 있어서, 상기 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하는 것은:
    상기 할당된 깊이 평면의 함수로서 가상 대상을 선택하는 것; 및
    상기 입력 제스처에 기초하여 상기 가상 대상을 제어하는 것을 포함하는
    컴퓨팅 디바이스.
  6. 제1항에 있어서,
    상기 사용자 인터페이스 명령을 실행하는 것은:
    상기 디스플레이 상에 표시되는 사용자 인터페이스 성분을 확대하는 것;
    상기 사용자 인터페이스 성분에 대한 2차 상호작용 모드를 활성화하는 것 - 상기 사용자 인터페이스 성분에 대한 1차 상호작용 모드는 상기 디스플레이의 터치스크린을 통해 접근 가능함-; 또는
    상기 입력 제스처의 함수로서 상기 2차 사용자 인터페이스 명령에 3차원 위치 및 속도를 할당하는 것 중 하나를 포함하는
    컴퓨팅 디바이스.
  7. 깊이 기반 제스처 제어를 위한 방법으로서:
    컴퓨팅 디바이스 상에서, 상기 컴퓨팅 디바이스의 디스플레이 전방에서 상기 컴퓨팅 디바이스의 사용자에 의해 수행되는 입력 제스처를 인식하는 단계;
    컴퓨팅 디바이스 상에서, 상기 컴퓨팅 디바이스의 디스플레이 전방에서 상기 컴퓨팅 디바이스의 제2 사용자에 의해 수행되는 제2 입력 제스처를 인식하는 단계;
    상기 컴퓨팅 디바이스 상에서, 상기 컴퓨팅 디바이스의 깊이 센서로부터 상기 입력 제스처의 상기 디스플레이에 대한 깊이를 나타내는 깊이 센서 데이터를 수신하는 단계;
    상기 컴퓨팅 디바이스 상에서, 상기 깊이 센서로부터 상기 제2 입력 제스처의 상기 디스플레이에 대한 제2 깊이를 나타내는 제2 깊이 센서 데이터를 수신하는 단계;
    상기 컴퓨팅 디바이스 상에서, 상기 깊이 센서 데이터의 함수로서 상기 입력 제스처의 깊이를 결정하는 단계;
    상기 컴퓨팅 디바이스 상에서, 상기 제2 깊이 센서 데이터의 함수로서 상기 제2 입력 제스처의 제2 깊이를 결정하는 단계;
    상기 컴퓨팅 디바이스 상에서, 상기 입력 제스처의 깊이의 함수로서 상기 입력 제스처에 깊이 평면을 할당하는 단계;
    상기 컴퓨팅 디바이스 상에서, 상기 제2 입력 제스처의 제2 깊이의 함수로서 상기 제2 입력 제스처에 상기 깊이 평면과는 상이한 제2 깊이 평면을 할당하는 단계 - 각각의 깊이 평면은 상기 디스플레이와 평행하고 상기 디스플레이의 표면 법선과 교차함 - ;
    상기 컴퓨팅 디바이스 상에서, 상기 입력 제스처 및 상기 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하는 단계;
    상기 컴퓨팅 디바이스 상에서, 상기 입력 제스처 및 상기 할당된 제2 깊이 평면에 기초하여 제2 사용자 인터페이스 명령을 실행하는 단계 - 상기 제2 사용자 인터페이스 명령을 실행하는 단계는:
    상기 할당된 제2 깊이 평면이 상기 컴퓨팅 디바이스의 2차 가상 터치 평면을 포함하는지 여부를 결정하는 단계; 및
    상기 할당된 제2 깊이 평면이 상기 2차 가상 터치 평면을 포함한다고 결정하는 것에 응답하여 2차 사용자 인터페이스 명령을 실행하는 단계를 포함하고,
    상기 2차 사용자 인터페이스 명령을 실행하는 단계는 맥락상 명령 메뉴를 표시하는 단계를 포함함 -;
    상기 컴퓨팅 디바이스 상에서, 상기 컴퓨팅 디바이스의 사용자를 식별하는 단계; 및
    상기 컴퓨팅 디바이스 상에서, 상기 사용자에 상기 입력 제스처를 할당하는 단계
    를 포함하고,
    상기 사용자 인터페이스 명령을 실행하는 단계는 상기 입력 제스처에 할당되는 상기 사용자의 함수로서 상기 사용자 인터페이스 명령을 실행하는 단계를 더 포함하고,
    상기 컴퓨팅 디바이스의 사용자를 식별하는 단계는,
    상기 사용자의 골격 특징을 추적하는 단계; 및
    상기 제2 사용자의 골격 특징을 추적하는 단계
    를 더 포함하고,
    상기 컴퓨팅 디바이스의 사용자를 식별하는 단계는 상기 사용자의 골격 특징과 상기 제2 사용자의 골격 특징을 구별하는 단계를 포함하는, 깊이 기반 제스처 제어 방법.
  8. 제7항에 있어서, 상기 사용자 인터페이스 명령을 실행하는 단계는:
    상기 컴퓨팅 디바이스의 상기 디스플레이 상에 표시되는 사용자 인터페이스 성분을 확대하는 단계;
    상기 사용자 인터페이스 성분에 대한 2차 상호작용 모드를 활성화하는 단계 - 상기 사용자 인터페이스 성분에 대한 1차 상호작용 모드는 상기 디스플레이의 터치스크린을 통해 접근 가능함 - ; 또는
    상기 입력 제스처의 함수로서 상기 2차 사용자 인터페이스 명령에 3차원 위치 및 속도를 할당하는 단계 중 하나를 포함하는
    깊이 기반 제스처 제어 방법.
  9. 복수의 명령어를 포함하는 하나 이상의 비일시적인, 기계로 판독가능한 저장 매체로서, 상기 복수의 명령어는, 실행되는 것에 응답하여, 컴퓨팅 디바이스로 하여금,
    상기 컴퓨팅 디바이스의 디스플레이 전방에서 상기 컴퓨팅 디바이스의 사용자에 의해 수행되는 입력 제스처를 인식하고;
    상기 컴퓨팅 디바이스의 디스플레이 전방에서 상기 컴퓨팅 디바이스의 제2 사용자에 의해 수행되는 제2 입력 제스처를 인식하고;
    상기 컴퓨팅 디바이스의 깊이 센서로부터 상기 입력 제스처의 상기 디스플레이에 대한 깊이를 나타내는 깊이 센서 데이터를 수신하고;
    상기 깊이 센서로부터 상기 제2 입력 제스처의 상기 디스플레이에 대한 제2 깊이를 나타내는 제2 깊이 센서 데이터를 수신하고;
    상기 깊이 센서 데이터의 함수로서 상기 입력 제스처의 깊이를 결정하고;
    상기 제2 깊이 센서 데이터의 함수로서 상기 제2 입력 제스처의 제2 깊이를 결정하고;
    상기 입력 제스처의 깊이의 함수로서 상기 입력 제스처에 깊이 평면을 할당하고;
    상기 제2 입력 제스처의 제2 깊이의 함수로서 상기 제2 입력 제스처에 상기 깊이 평면과는 상이한 제2 깊이 평면을 할당하고 - 각각의 깊이 평면은 상기 디스플레이와 평행하고 상기 디스플레이의 표면 법선과 교차함-;
    상기 입력 제스처 및 상기 할당된 깊이 평면에 기초하여 사용자 인터페이스 명령을 실행하고;
    상기 컴퓨팅 디바이스 상에서, 상기 입력 제스처 및 상기 할당된 제2 깊이 평면에 기초하여 제2 사용자 인터페이스 명령을 실행하고 - 상기 제2 사용자 인터페이스 명령을 실행하는 것은:
    상기 할당된 제2 깊이 평면이 상기 컴퓨팅 디바이스의 2차 가상 터치 평면을 포함하는지 여부를 결정하고;
    상기 할당된 제2 깊이 평면이 상기 2차 가상 터치 평면을 포함한다고 결정하는 것에 응답하여 2차 사용자 인터페이스 명령을 실행하는 것을 포함하고,
    상기 2차 사용자 인터페이스 명령을 실행하는 것은 상기 디스플레이 상에 맥락상 명령 메뉴를 표시하는 것을 포함함 -;
    상기 컴퓨팅 디바이스 상에서, 상기 컴퓨팅 디바이스의 사용자를 식별하고;
    상기 컴퓨팅 디바이스 상에서, 상기 사용자에 상기 입력 제스처를 할당하게 하고,
    상기 사용자 인터페이스 명령을 실행하는 것은 상기 입력 제스처에 할당되는 상기 사용자의 함수로서 상기 사용자 인터페이스 명령을 실행하는 것을 더 포함하고,
    상기 컴퓨팅 디바이스의 사용자를 식별하는 것은,
    상기 사용자의 골격 특징을 추적하는 것; 및
    상기 제2 사용자의 골격 특징을 추적하는 것
    을 더 포함하고,
    상기 컴퓨팅 디바이스의 사용자를 식별하는 것은 상기 사용자의 골격 특징과 상기 제2 사용자의 골격 특징을 구별하는 것을 포함하는, 하나 이상의 비일시적인, 기계로 판독가능한 저장 매체.
  10. 제9항에 있어서,
    실행되는 것에 응답하여, 상기 컴퓨팅 디바이스로 하여금,
    상기 2차 가상 터치 평면을 통해서만 상기 2차 사용자 인터페이스 명령에의 접근을 허용하게 하는 복수의 명령어를 더 포함하는
    하나 이상의 비일시적인, 기계로 판독가능한 저장 매체.
  11. 제9항에 있어서,
    상기 2차 사용자 인터페이스 명령을 실행하는 것은:
    상기 컴퓨팅 디바이스의 디스플레이 상에 표시되는 사용자 인터페이스 성분을 확대하는 것;
    상기 사용자 인터페이스 성분에 대한 2차 상호작용 모드를 활성화하는 것 - 상기 사용자 인터페이스 성분에 대한 1차 상호작용 모드는 상기 디스플레이의 터치스크린을 통해 접근 가능함-; 또는
    상기 입력 제스처의 함수로서 상기 2차 사용자 인터페이스 명령에 3차원 위치 및 속도를 할당하는 것 중 하나를 포함하는
    하나 이상의 비일시적인, 기계로 판독가능한 저장 매체.
KR1020177026437A 2013-03-14 2013-03-14 깊이 기반 사용자 인터페이스 제스처 제어 KR101872426B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/031367 WO2014142879A1 (en) 2013-03-14 2013-03-14 Depth-based user interface gesture control

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020157020891A Division KR20150103240A (ko) 2013-03-14 2013-03-14 깊이 기반 사용자 인터페이스 제스처 제어

Publications (2)

Publication Number Publication Date
KR20170109695A KR20170109695A (ko) 2017-09-29
KR101872426B1 true KR101872426B1 (ko) 2018-06-28

Family

ID=51534555

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177026437A KR101872426B1 (ko) 2013-03-14 2013-03-14 깊이 기반 사용자 인터페이스 제스처 제어
KR1020157020891A KR20150103240A (ko) 2013-03-14 2013-03-14 깊이 기반 사용자 인터페이스 제스처 제어

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020157020891A KR20150103240A (ko) 2013-03-14 2013-03-14 깊이 기반 사용자 인터페이스 제스처 제어

Country Status (5)

Country Link
US (1) US9389779B2 (ko)
EP (1) EP2972669B1 (ko)
KR (2) KR101872426B1 (ko)
CN (1) CN104969148B (ko)
WO (1) WO2014142879A1 (ko)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11493998B2 (en) 2012-01-17 2022-11-08 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
US9696867B2 (en) 2013-01-15 2017-07-04 Leap Motion, Inc. Dynamic user interactions for display control and identifying dominant gestures
US9459697B2 (en) 2013-01-15 2016-10-04 Leap Motion, Inc. Dynamic, free-space user interactions for machine control
WO2014142879A1 (en) * 2013-03-14 2014-09-18 Intel Corporation Depth-based user interface gesture control
JP5790692B2 (ja) * 2013-03-29 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法および記録媒体
US9883209B2 (en) 2013-04-15 2018-01-30 Autoconnect Holdings Llc Vehicle crate for blade processors
US9916009B2 (en) 2013-04-26 2018-03-13 Leap Motion, Inc. Non-tactile interface systems and methods
US9747696B2 (en) 2013-05-17 2017-08-29 Leap Motion, Inc. Systems and methods for providing normalized parameters of motions of objects in three-dimensional space
US10281987B1 (en) 2013-08-09 2019-05-07 Leap Motion, Inc. Systems and methods of free-space gestural interaction
KR102101741B1 (ko) * 2013-08-16 2020-05-29 엘지전자 주식회사 이동 단말기 및 이의 제어방법
KR101500130B1 (ko) * 2013-09-02 2015-03-06 현대자동차주식회사 스티어링 휠에 설치된 차량용 제어장치
US20150091841A1 (en) * 2013-09-30 2015-04-02 Kobo Incorporated Multi-part gesture for operating an electronic personal display
US9971490B2 (en) * 2014-02-26 2018-05-15 Microsoft Technology Licensing, Llc Device control
CN104856729B (zh) * 2015-05-25 2018-07-31 无锡海斯凯尔医学技术有限公司 弹性检测设备的操作控制方法和弹性检测设备
CN105204627B (zh) * 2015-09-01 2016-07-13 济南大学 一种基于手势的数字输入方法
US20170115737A1 (en) * 2015-10-26 2017-04-27 Lenovo (Singapore) Pte. Ltd. Gesture control using depth data
KR20170052976A (ko) * 2015-11-05 2017-05-15 삼성전자주식회사 모션을 수행하는 전자 장치 및 그 제어 방법
US10692126B2 (en) 2015-11-17 2020-06-23 Nio Usa, Inc. Network-based system for selling and servicing cars
US11188143B2 (en) 2016-01-04 2021-11-30 Microsoft Technology Licensing, Llc Three-dimensional object tracking to augment display area
US10503968B2 (en) 2016-03-22 2019-12-10 Intel Corporation Identifying a local coordinate system for gesture recognition
US10089000B2 (en) 2016-06-03 2018-10-02 Microsoft Technology Licensing, Llc Auto targeting assistance for input devices
US20180012196A1 (en) 2016-07-07 2018-01-11 NextEv USA, Inc. Vehicle maintenance manager
CN106249882B (zh) * 2016-07-26 2022-07-12 华为技术有限公司 一种应用于vr设备的手势操控方法与装置
US9928734B2 (en) 2016-08-02 2018-03-27 Nio Usa, Inc. Vehicle-to-pedestrian communication systems
DE102016216577A1 (de) * 2016-09-01 2018-03-01 Volkswagen Aktiengesellschaft Verfahren zur Interaktion mit Bildinhalten, die auf einer Anzeigevorrichtung in einem Fahrzeug dargestellt werden
US10297085B2 (en) 2016-09-28 2019-05-21 Intel Corporation Augmented reality creations with interactive behavior and modality assignments
US10751605B2 (en) 2016-09-29 2020-08-25 Intel Corporation Toys that respond to projections
US10031523B2 (en) 2016-11-07 2018-07-24 Nio Usa, Inc. Method and system for behavioral sharing in autonomous vehicles
US10694357B2 (en) 2016-11-11 2020-06-23 Nio Usa, Inc. Using vehicle sensor data to monitor pedestrian health
US10410064B2 (en) 2016-11-11 2019-09-10 Nio Usa, Inc. System for tracking and identifying vehicles and pedestrians
US10708547B2 (en) 2016-11-11 2020-07-07 Nio Usa, Inc. Using vehicle sensor data to monitor environmental and geologic conditions
US10699305B2 (en) 2016-11-21 2020-06-30 Nio Usa, Inc. Smart refill assistant for electric vehicles
CN110545886A (zh) * 2016-12-05 2019-12-06 优史佩斯公司 用于基于手势的交互的系统和方法
US10303259B2 (en) 2017-04-03 2019-05-28 Youspace, Inc. Systems and methods for gesture-based interaction
US10303417B2 (en) 2017-04-03 2019-05-28 Youspace, Inc. Interactive systems for depth-based input
US10437342B2 (en) 2016-12-05 2019-10-08 Youspace, Inc. Calibration systems and methods for depth-based interfaces with disparate fields of view
WO2018106275A1 (en) * 2016-12-05 2018-06-14 Youspace, Inc. Interactive systems for depth-based input
US10249104B2 (en) 2016-12-06 2019-04-02 Nio Usa, Inc. Lease observation and event recording
US11507216B2 (en) 2016-12-23 2022-11-22 Realwear, Inc. Customizing user interfaces of binary applications
US10437070B2 (en) 2016-12-23 2019-10-08 Realwear, Inc. Interchangeable optics for a head-mounted display
US10620910B2 (en) 2016-12-23 2020-04-14 Realwear, Inc. Hands-free navigation of touch-based operating systems
US10393312B2 (en) 2016-12-23 2019-08-27 Realwear, Inc. Articulating components for a head-mounted display
US10936872B2 (en) 2016-12-23 2021-03-02 Realwear, Inc. Hands-free contextually aware object interaction for wearable display
US11099716B2 (en) 2016-12-23 2021-08-24 Realwear, Inc. Context based content navigation for wearable display
US10074223B2 (en) 2017-01-13 2018-09-11 Nio Usa, Inc. Secured vehicle for user use only
US10031521B1 (en) 2017-01-16 2018-07-24 Nio Usa, Inc. Method and system for using weather information in operation of autonomous vehicles
US10471829B2 (en) 2017-01-16 2019-11-12 Nio Usa, Inc. Self-destruct zone and autonomous vehicle navigation
US9984572B1 (en) 2017-01-16 2018-05-29 Nio Usa, Inc. Method and system for sharing parking space availability among autonomous vehicles
US10286915B2 (en) 2017-01-17 2019-05-14 Nio Usa, Inc. Machine learning for personalized driving
US10464530B2 (en) 2017-01-17 2019-11-05 Nio Usa, Inc. Voice biometric pre-purchase enrollment for autonomous vehicles
US10897469B2 (en) 2017-02-02 2021-01-19 Nio Usa, Inc. System and method for firewalls between vehicle networks
CN106919928A (zh) * 2017-03-08 2017-07-04 京东方科技集团股份有限公司 手势识别系统、方法及显示设备
CN106951087B (zh) * 2017-03-27 2020-02-21 联想(北京)有限公司 一种基于虚拟交互平面的交互方法及装置
US10234302B2 (en) 2017-06-27 2019-03-19 Nio Usa, Inc. Adaptive route and motion planning based on learned external and internal vehicle environment
CN107329574A (zh) * 2017-06-30 2017-11-07 联想(北京)有限公司 用于电子设备的输入方法和系统
CN107300975A (zh) * 2017-07-13 2017-10-27 联想(北京)有限公司 一种信息处理方法及电子设备
US10369974B2 (en) 2017-07-14 2019-08-06 Nio Usa, Inc. Control and coordination of driverless fuel replenishment for autonomous vehicles
US10710633B2 (en) 2017-07-14 2020-07-14 Nio Usa, Inc. Control of complex parking maneuvers and autonomous fuel replenishment of driverless vehicles
US10837790B2 (en) 2017-08-01 2020-11-17 Nio Usa, Inc. Productive and accident-free driving modes for a vehicle
KR102328637B1 (ko) * 2017-08-28 2021-11-18 주식회사 케이티 디스플레이 장치
US10635109B2 (en) 2017-10-17 2020-04-28 Nio Usa, Inc. Vehicle path-planner monitor and controller
US10935978B2 (en) 2017-10-30 2021-03-02 Nio Usa, Inc. Vehicle self-localization using particle filters and visual odometry
US10606274B2 (en) 2017-10-30 2020-03-31 Nio Usa, Inc. Visual place recognition based self-localization for autonomous vehicles
US10717412B2 (en) 2017-11-13 2020-07-21 Nio Usa, Inc. System and method for controlling a vehicle using secondary access methods
CN108268134B (zh) * 2017-12-30 2021-06-15 广州正峰电子科技有限公司 拿放商品的手势识别装置及方法
EP3735652A1 (en) * 2018-01-03 2020-11-11 Sony Semiconductor Solutions Corporation Gesture recognition using a mobile device
US10369966B1 (en) 2018-05-23 2019-08-06 Nio Usa, Inc. Controlling access to a vehicle using wireless access devices
WO2019236764A1 (en) * 2018-06-05 2019-12-12 Google Llc Confidence-based application-specific user interactions
CN109191593A (zh) * 2018-08-27 2019-01-11 百度在线网络技术(北京)有限公司 虚拟三维模型的运动控制方法、装置及设备
US10672136B2 (en) * 2018-08-31 2020-06-02 Snap Inc. Active image depth prediction
CN109542218B (zh) * 2018-10-19 2022-05-24 奥比中光科技集团股份有限公司 一种移动终端、人机交互系统及方法
CN112714900B (zh) * 2018-10-29 2024-11-05 深圳市欢太科技有限公司 显示屏操作方法、电子设备、可读存储介质
CN109614953A (zh) * 2018-12-27 2019-04-12 华勤通讯技术有限公司 一种基于图像识别的控制方法、车载设备及存储介质
CN111514584B (zh) * 2019-02-01 2022-07-26 北京市商汤科技开发有限公司 游戏控制方法及装置、游戏终端及存储介质
WO2021160024A1 (en) * 2020-02-14 2021-08-19 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and system of identifying a user selection at a display of a user device
US11310433B1 (en) 2020-11-24 2022-04-19 International Business Machines Corporation User-configurable, gestural zoom facility for an imaging device
US11296942B1 (en) 2021-03-11 2022-04-05 International Business Machines Corporation Relative device placement configuration
CN115344121A (zh) * 2022-08-10 2022-11-15 北京字跳网络技术有限公司 用于处理手势事件的方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020064382A1 (en) 2000-10-03 2002-05-30 Evan Hildreth Multiple camera control system
US20110025598A1 (en) 2006-02-08 2011-02-03 Underkoffler John S Spatial, Multi-Modal Control Device For Use With Spatial Operating System
US20110093820A1 (en) 2009-10-19 2011-04-21 Microsoft Corporation Gesture personalization and profile roaming
US20110234492A1 (en) 2010-03-29 2011-09-29 Ajmera Rahul Gesture processing

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6624833B1 (en) * 2000-04-17 2003-09-23 Lucent Technologies Inc. Gesture-based input interface system with shadow detection
WO2003071410A2 (en) * 2002-02-15 2003-08-28 Canesta, Inc. Gesture recognition system using depth perceptive sensors
US9959463B2 (en) * 2002-02-15 2018-05-01 Microsoft Technology Licensing, Llc Gesture recognition system using depth perceptive sensors
US8560972B2 (en) * 2004-08-10 2013-10-15 Microsoft Corporation Surface UI for gesture-based interaction
KR100783552B1 (ko) * 2006-10-11 2007-12-07 삼성전자주식회사 휴대 단말기의 입력 제어 방법 및 장치
US8904312B2 (en) * 2006-11-09 2014-12-02 Navisense Method and device for touchless signing and recognition
US20100235786A1 (en) * 2009-03-13 2010-09-16 Primesense Ltd. Enhanced 3d interfacing for remote devices
US20100306716A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Extending standard gestures
US8418085B2 (en) * 2009-05-29 2013-04-09 Microsoft Corporation Gesture coach
US20100302138A1 (en) * 2009-05-29 2010-12-02 Microsoft Corporation Methods and systems for defining or modifying a visual representation
KR101071843B1 (ko) * 2009-06-12 2011-10-11 엘지전자 주식회사 이동단말기 및 그 제어방법
US8631355B2 (en) * 2010-01-08 2014-01-14 Microsoft Corporation Assigning gesture dictionaries
US8687044B2 (en) * 2010-02-02 2014-04-01 Microsoft Corporation Depth camera compatibility
US8396252B2 (en) * 2010-05-20 2013-03-12 Edge 3 Technologies Systems and related methods for three dimensional gesture recognition in vehicles
US20110292036A1 (en) * 2010-05-31 2011-12-01 Primesense Ltd. Depth sensor with application interface
US8803888B2 (en) * 2010-06-02 2014-08-12 Microsoft Corporation Recognition system for sharing information
US8296151B2 (en) * 2010-06-18 2012-10-23 Microsoft Corporation Compound gesture-speech commands
US8462997B2 (en) * 2010-09-15 2013-06-11 Microsoft Corporation User-specific attribute customization
US9043732B2 (en) * 2010-10-21 2015-05-26 Nokia Corporation Apparatus and method for user input for controlling displayed information
WO2012124837A1 (en) * 2011-03-14 2012-09-20 Lg Electronics Inc. An apparatus and a method for gesture recognition
CN102693063B (zh) * 2011-03-23 2015-04-29 联想(北京)有限公司 操作控制方法、装置及电子设备
WO2012126103A1 (en) * 2011-03-23 2012-09-27 Mgestyk Technologies Inc. Apparatus and system for interfacing with computers and other electronic devices through gestures by using depth sensing and methods of use
US8717318B2 (en) 2011-03-29 2014-05-06 Intel Corporation Continued virtual links between gestures and user interface elements
US8736583B2 (en) 2011-03-29 2014-05-27 Intel Corporation Virtual links between different displays to present a single virtual object
US9182838B2 (en) * 2011-04-19 2015-11-10 Microsoft Technology Licensing, Llc Depth camera-based relative gesture detection
US8657683B2 (en) * 2011-05-31 2014-02-25 Microsoft Corporation Action selection gesturing
JP6074170B2 (ja) 2011-06-23 2017-02-01 インテル・コーポレーション 近距離動作のトラッキングのシステムおよび方法
RU2455676C2 (ru) * 2011-07-04 2012-07-10 Общество с ограниченной ответственностью "ТРИДИВИ" Способ управления устройством с помощью жестов и 3d-сенсор для его осуществления
US20130159939A1 (en) * 2011-10-12 2013-06-20 Qualcomm Incorporated Authenticated gesture recognition
WO2013077883A1 (en) 2011-11-23 2013-05-30 Intel Corporation Gesture input with multiple views, displays and physics
US9478037B2 (en) 2011-12-08 2016-10-25 Intel Corporation Techniques for efficient stereo block matching for gesture recognition
CN104205034A (zh) 2012-03-29 2014-12-10 英特尔公司 使用手势创建三维图形
US9536135B2 (en) * 2012-06-18 2017-01-03 Microsoft Technology Licensing, Llc Dynamic hand gesture recognition using depth data
US20140009378A1 (en) * 2012-07-03 2014-01-09 Yen Hsiang Chew User Profile Based Gesture Recognition
US20140123077A1 (en) * 2012-10-29 2014-05-01 Intel Corporation System and method for user interaction and control of electronic devices
US9459697B2 (en) * 2013-01-15 2016-10-04 Leap Motion, Inc. Dynamic, free-space user interactions for machine control
WO2014142879A1 (en) * 2013-03-14 2014-09-18 Intel Corporation Depth-based user interface gesture control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020064382A1 (en) 2000-10-03 2002-05-30 Evan Hildreth Multiple camera control system
US20110025598A1 (en) 2006-02-08 2011-02-03 Underkoffler John S Spatial, Multi-Modal Control Device For Use With Spatial Operating System
US20110093820A1 (en) 2009-10-19 2011-04-21 Microsoft Corporation Gesture personalization and profile roaming
US20110234492A1 (en) 2010-03-29 2011-09-29 Ajmera Rahul Gesture processing

Also Published As

Publication number Publication date
KR20170109695A (ko) 2017-09-29
US9389779B2 (en) 2016-07-12
CN104969148A (zh) 2015-10-07
KR20150103240A (ko) 2015-09-09
EP2972669A4 (en) 2016-12-21
EP2972669A1 (en) 2016-01-20
WO2014142879A1 (en) 2014-09-18
EP2972669B1 (en) 2019-07-24
CN104969148B (zh) 2018-05-29
US20140282278A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
KR101872426B1 (ko) 깊이 기반 사용자 인터페이스 제스처 제어
CN107533373B (zh) 虚拟现实中经由手与对象的场境敏感碰撞的输入
US10444908B2 (en) Virtual touchpads for wearable and portable devices
CN107665042B (zh) 增强的虚拟触摸板和触摸屏
JP6074170B2 (ja) 近距離動作のトラッキングのシステムおよび方法
KR100783552B1 (ko) 휴대 단말기의 입력 제어 방법 및 장치
US9448714B2 (en) Touch and non touch based interaction of a user with a device
US20140347308A1 (en) System and method for generating a representative computerized display of a user's interactions with a touchscreen based hand held device on a gazed-at screen
WO2017120052A1 (en) Three-dimensional object tracking to augment display area
EP2840478B1 (en) Method and apparatus for providing user interface for medical diagnostic apparatus
KR20140114913A (ko) 사용자 기기의 센서 운용 방법 및 장치
EP2558924B1 (en) Apparatus, method and computer program for user input using a camera
US20140022171A1 (en) System and method for controlling an external system using a remote device with a depth sensor
US20140055385A1 (en) Scaling of gesture based input
WO2015105756A1 (en) Increasing touch and/or hover accuracy on a touch-enabled device
US11886643B2 (en) Information processing apparatus and information processing method
WO2015174316A1 (ja) 端末、及び端末制御方法
JP2014109888A (ja) 入力装置およびプログラム
CN104951211A (zh) 一种信息处理方法和电子设备
JP6008904B2 (ja) 表示制御装置、表示制御方法、及び、プログラム
US10175825B2 (en) Information processing apparatus, information processing method, and program for determining contact on the basis of a change in color of an image
CN105389031A (zh) 一种人机交互的方法与装置
KR20130128143A (ko) 손동작에 의한 인터페이스 조작 장치 및 방법, 그리고 컴퓨터로 읽을 수 있는 기록매체
KR20140101276A (ko) 깊이 정보 및 사용자의 공간 제스처에 기초하여 메뉴를 표시하는 방법
KR101165388B1 (ko) 이종의 입력 장치를 이용하여 화면을 제어하는 방법 및 그 단말장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right