KR20150010702A - 제스처 인식 디바이스들 및 방법들 - Google Patents

제스처 인식 디바이스들 및 방법들 Download PDF

Info

Publication number
KR20150010702A
KR20150010702A KR20147026595A KR20147026595A KR20150010702A KR 20150010702 A KR20150010702 A KR 20150010702A KR 20147026595 A KR20147026595 A KR 20147026595A KR 20147026595 A KR20147026595 A KR 20147026595A KR 20150010702 A KR20150010702 A KR 20150010702A
Authority
KR
South Korea
Prior art keywords
user
workspace
input
sensor
landmarks
Prior art date
Application number
KR20147026595A
Other languages
English (en)
Other versions
KR101953165B1 (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 KR20150010702A publication Critical patent/KR20150010702A/ko
Application granted granted Critical
Publication of KR101953165B1 publication Critical patent/KR101953165B1/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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • 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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means
    • G06F3/0425Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected
    • G06F3/0426Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means using a single imaging device like a video camera for tracking the absolute position of a single or a plurality of objects with respect to an imaged reference surface, e.g. video camera imaging a display or a projection screen, a table or a wall surface, on which a computer generated image is displayed or projected tracking fingers with respect to a virtual keyboard projected or printed on the surface
    • 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
    • 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/04886Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04104Multi-touch detection in digitiser, i.e. details about the simultaneous detection of a plurality of touching locations, e.g. multiple fingers or pen and finger
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Abstract

일반적으로 디지털 데이터 프로세싱 시스템에 의한 사용을 위한 사용자 입력 정보를 생성하기 위해 사용자에 의해 이루어진 제스처들을 검출하는 것 및 해석하는 것을 수반하는 디바이스들 및 관련 방법들이 여기에 개시된다. 일 실시예에서, 디바이스는 사용자 제스처들이 수행되는 워크스페이스를 관찰하는 제 1 및 제 2 센서들을 포함한다. 상기 디바이스는 사용자의 손들의 위치 결정에 기초하여 키보드 입력 모드, 숫자 패드 입력 모드, 또는 마우스 입력 모드로 설정될 수 있다. 사용자에 의해 이루어진 후속 제스처들은 사용자 손들의 관찰된 특성들 및 사용자의 손들의 다양한 모션 속성들을 사용하여 키보드 입력들, 마우스 입력들 등으로서 해석될 수 있다. 이들 관찰된 특성들은 또한 예를 들면, 제스처를 하는 동안 사용자에 의해 보여지는 행동 속성들 또는 그들의 손들의 해부학적 속성들에 의해 허가된 사용자들을 식별함으로써 보안 프로토콜을 구현하기 위해 사용될 수 있다.

Description

제스처 인식 디바이스들 및 방법들{GESTURE RECOGNITION DEVICES AND METHODS}
관련 출원들
본 출원은 여기에 전체적으로 참조로서 통합되는, 2012년 2월 24일에 출원된, 미국 가 출원 일련 번호 제61/602,704호에 대한 우선권을 주장한다.
본 발명은 제스처 인식에 관한 것이며, 특히 디지털 데이터 프로세싱 시스템들에 대한 제스처 인식 입력 디바이스들 및 관련된 방법들에 관한 것이다.
종래에, 디지털 데이터 프로세싱 시스템들(예로서, 개인용 컴퓨터들, 데스크탑 컴퓨터들, 랩탑 컴퓨터들, 태블릿 컴퓨터들, 서버 컴퓨터들, 셀 전화기들, PDA들, 게이밍 시스템들, 텔레비전들, 셋 탑 박스들, 라디오들, 휴대용 음악 플레이들 등)과의 인간 상호 작용은 키보드 또는 마우스와 같은 하나 이상의 입력 디바이스들의 물리적 조작을 요구하였다. 이들 시스템들은, 사용자가 디바이스의 고정된 형상을 따르도록 요구되기 때문에, 다수의 인체 공학적 이슈들을 보여준다. 예를 들면, 종래의 입력 디바이스들은 고정된 또는 제한된 버튼 크기들을 가지며, 이것은 특히 보다 큰 또는 보다 작은 손들을 가진 사람들에 대해, 이러한 디바이스들과의 상호 작용을 불편하고 오류 발생이 쉽게 만들 수 있다. 종래의 입력 디바이스들은 또한 디지털 데이터 프로세싱 시스템의 무게 및 크기를 증가시킬 수 있으며, 그에 의해 휴대성 및 사용자 편리함을 감소시킨다. 게다가, 디바이스들 사이에서(예로서, 키보드, 숫자 패드, 및 마우스 사이에서의)의 빈번한 시프팅이 사용자로 하여금 사용자의 사고 과정 및 집중에 의식적으로 또는 무의식적으로 지장을 줄 수 있는 정신적인 작업들을 물리적으로 리셋할 뿐만 아니라 또한 수행하도록 야기할 수 있지만, 물리적 습득은 어색할 수 있다.
게다가, 종래의 입력 디바이스들은 다수의 보안 도전들을 보여줄 수 있다. 첫째로, 시스템이 (예로서, 액세스 이전에 입력되어야 하는 패스워드에 의해) 안전해지지 않다면, 허가되지 않은 사용자는 연관된 디지털 데이터 프로세싱 시스템을 액세스하기 위해 종래의 입력 디바이스를 사용할 수 있다. 또한, 시스템이 패스워드-보호될지라도, 종래의 입력 디바이스는 패스워드가 입력될 때 쉽게 키스트로크들을 관찰할 수 있는 부도덕한 제 3 자들에게 피해를 입기 쉬울 수 있다. 마지막으로, 종래의 입력 디바이스는 근본적으로, 예를 들면, 패스워드의 입력시, 또는 사용자가 계속해서 시스템을 액세스하는 동안 계속적으로 실제로 허가된 시스템 사용자 및 사기꾼을 구별하기 위해 독립적인 능력(예로서, 패스워드를 인식하는 것을 제외하고) 없이 1-회 게이팅 기능을 가장 자주 제공하는 수동형 디바이스이다.
다양한 "가상 키보드" 입력 디바이스들이 제안되었지만, 이것들은 다수의 단점들을 너무 겪는다. 예를 들면, 이러한 시스템들은 "키" 스트라이크가 발생할 때를 결정하기 위해 사용자의 손가락의 끝 부분만을 검출하며 손가락 끝의 속도를 산출하는 것에 주로 의존한다. 이러한 시스템들은 또한 일반적으로 가상 키들이 워크스페이스 내에서의 고정된 위치들에 할당되는 정적 모델에 의존한다. 따라서, 이러한 시스템들은 워크스페이스를 정의하는 사용자의 손가락 끝 및 표면 사이에서의 충격점에 초점을 맞춘다. 실제로, 그러나, 고정된 가상 위치에서의 손가락 끝의 속도에 관한 데이터는 사용자가 입력 디바이스로부터 필요로 하고 및/또는 기대하는 정확도의 레벨을 달성하기에 불충분하다. 게다가, 이들 시스템들은 근본적으로 예를 들면, 상기 논의된 바와 같이 종래의 기계적 키보드들에 의해 제기된 동일한 인체 공학적 이슈들을 보여주는 고정된 형상으로 사용자를 고정시킨다. 또한, 이러한 시스템들은 일반적으로 키보드 모드에서만 기능하거나, 또는 이용 가능한 입력 모드들 사이에서 스위칭하기 위해 편리한 및 비-파괴적 방식이 부족하다. 대표적인 가상 키보드 입력 디바이스는 "가상 입력 디바이스를 사용하여 데이터를 입력하기 위한 방법 및 장치"라는 제목의, Rafii 외의 미국 특허 번호 제6,614,422호에 개시되며, 그 전체 콘텐트들은 여기에 참조로서 통합된다.
앞서 말한 것을 고려하여, 디지털 데이터 프로세싱 시스템들을 위한 개선된 입력 디바이스들에 대한 요구가 있다.
본 교시는 일반적으로 디지털 데이터 프로세싱 시스템에 의한 사용을 위한 사용자 입력 정보를 생성하기 위해 사용자에 의해 이루어진 제스처들을 검출 및 해석하기 위한 디바이스들 및 방법들에 관한 것이다. 관찰된 워크스페이스에서 사용자의 손들의 특성들 및/또는 상기 사용자의 손들의 다양한 모션 속성들을 검출함으로써, 여기에 제공된 대표적인 방법들 및 시스템들은 디지털 데이터 프로세싱 시스템에 대한 입력들(예로서, 키보드 입력들, 마우스 입력들 등)로서 사용자의 다양한 제스처들을 신뢰성 있게 해석할 수 있다. 관찰된 특성들은 또한 예를 들면, 사용자가 제스처를 하는 동안 사용자의 손들의 해부학적 속성들 및/또는 사용자에 의해 보여지는 행동 속성들을 통해 허가된 사용자들을 식별함으로써 보안 프로토콜을 구현하기 위해 사용될 수 있다. 부가적인 오브젝트 및/또는 그것 상에 미리 정의된 패턴들이 식별될 수 있으며 디바이스와의 상호 작용을 위한 부가적인 정보 및 옵션들을 제공할 수 있다.
본 교시들의 일 양상에서, 워크스페이스를 관찰하며 상기 워크스페이스 내에서의 입력 에이전트의 하나 이상의 파라미터들을 표시하는 데이터를 생성하는 적어도 하나의 센서, 및 상기 센서(들)에 의해 생성된 상기 데이터로부터 상기 에이전트에 의해 이루어진 제스처들을 식별하며 상기 식별된 제스처들에 기초하여 사용자 입력 정보를 생성하는 프로세서를 포함하는 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스가 제공된다. 상기 프로세서에 의해 생성된 상기 사용자 입력 정보는, 모두 비-제한적인 예로서 키보드 입력 정보, 포인팅 디바이스 입력 정보, 및 숫자 패드 입력 정보 중 하나 이상과 같은 다양한 유형들의 정보를 나타낼 수 있다.
본 교시들에 따른 사용을 위한 센서들은 다양한 구성들을 가질 수 있다. 비-제한적인 예로서, 하나 이상의 센서들은 상기 워크스페이스를 관찰하기 위해 광학 이미징(예로서, 이미지 프로세싱), 적외선 광, 구조화된 광, 및 비행 시간(time-of-flight) 검출을 이용할 수 있다. 예를 들면, 단일 센서는 예로서 비행 시간 신호들 및/또는 구조화된 광(예로서, 적외선 광 및 적외선 센서, RGB 카메라)을 사용하여 3-차원에서의 워크스페이스 내에서 입력 에이전트의 부분들의 거리 및/또는 방향을 표시하는 데이터를 생성할 수 있다. 게다가, 대표적인 시스템들은 조합하여 사용된 다수의 센서들 및/또는 다수의 유형들의 센서들을 포함할 수 있다. 예를 들면, 1차 센서는 제 1 관점으로부터 워크스페이스를 관찰할 수 있으며, 제 1 센서로부터 떨어진 거리가 이격될 수 있는 동일하거나 또는 상이한 양식의 2차 센서가 상기 제 1 관점과 상이한 제 2 관점으로부터 상기 워크스페이스를 관찰할 수 있다. 몇몇 양상들에서, 상기 1차 센서는 구조화된 광 센서를 포함하고, 상기 2차 센서는 카메라를 포함하며, 상기 1차 및 2차 센서들에 의해 생성된 상기 데이터는 워크스페이스 및 그것과의 입력 에이전트의 상호 작용의 보다 강력한 표현을 생성하기 위해 조합될 수 있다. 몇몇 양상들에서, 제 1 및 제 2 센서의 다양한 관점들은 워크스페이스의 3-차원 입체 해석을 함께 생성할 수 있다. 다양한 양상들에서, 프로세서는 입력 디바이스와의 물리적 사용자 접촉을 요구하지 않고 사용자 입력 정보를 생성하도록 구성될 수 있다.
몇몇 양상들에서, 프로세서는 워크스페이스의 범위 내에서 에이전트의 랜드마크들(예로서, 특정 특징들, 패턴들)을 검출할 수 있다. 예를 들면, 에이전트는 사용자의 손을 포함할 수 있으며 프로세서에 의해 검출된 랜드마크들은 손가락, 손가락 세그먼트, 손가락 형태, 손가락 관절, 손톱, 피부 표면 윤곽, 및 손 표면 중 적어도 하나일 수 있다. 몇몇 양상들에서, 에이전트의 하나 이상의 파라미터들은 에이전트의 크기, 에이전트의 컬러, 에이전트의 표면 텍스처, 에이전트의 위치, 및 에이전트의 방향(사용자의 손의 하나 이상의 부분들의 방향)을 포함한다. 다양한 양상들에서, 프로세서는 에이전트의 파라미터들 중 적어도 하나에서의 변화들을 산출할 수 있다.
본 교시들의 다양한 양상들에서, 워크스페이스는 입력 디바이스에 인접한 표면 및/또는 적어도 하나의 센서의 시야 내에 3-차원 공간을 포함한다. 예를 들면, 워크스페이스는 상기 입력 디바이스가 위치되는 표면 및/또는 상기 입력 디바이스로부터 연장되는 정면의 180도 호를 포함할 수 있다. 본 교시들의 몇몇 양상들에서, 상기 하나 이상의 센서들에 의해 관찰될 수 있는 상기 워크스페이스는 센서들의 위치 및/또는 수에 기초할 수 있다. 예로서, 상기 적어도 하나의 센서는 상기 워크스페이스의 둘레 주변에 위치된 복수의 센서들을 포함할 수 있고, 상기 워크스페이스는 상기 복수의 센서들에 의해 프레이밍된 영역을 포함한다. 몇몇 실시예들에서, 예를 들면, 상기 센서(들)는 360도 구형 워크스페이스를 생성하기 위해 워크스페이스의 중심에 위치되며 바깥쪽을 향할 수 있다.
본 교시들의 몇몇 양상들에서, 프로세서는 에이전트에 의해 이루어진 제스처들을 모두 비-제한적인 예로서, 영숫자 문자들, 구두점들, 심볼들, 또는 기능 요소들과 같은 하나 이상의 입력 후보들과 연관시킬 수 있다. 상기 입력 디바이스의 프로세서가 키보드 입력 정보를 표현하는 실시예에서, 예를 들면, 상기 입력 후보는 통상적으로 CTRL, ALT, 페이지 업(Page Up), 및 페이지 다운(Page Down)과 같은 특수 키 또는 기능 키와 연관된 기능과 같은 기능을 제공할 수 있다.
다양한 실시예들에서, 에이전트는 하나 이상의 손들을 포함할 수 있으며, 상기 하나 이상의 손들의 각각은 복수의 손가락들을 포함한다. 이러한 대표적인 실시예에서, 입력 디바이스는 복수의 동작 모드들에서 동작 가능할 수 있으며 상기 프로세서는 상기 하나 이상의 손들의 위치, 상기 하나 이상의 손들에 의해 이루어진 제스처, 및 상기 하나 이상의 손들의 구성 중 적어도 하나에 적어도 부분적으로 기초하여 현재 동작 모드를 설정하도록 구성될 수 있다. 예로서, 상기 복수의 동작 모드들은 키보드 입력 모드, 포인팅 디바이스 입력 모드, 숫자 패드 입력 모드, 템플릿-기반 입력 모드, 및 맞춤 패드 입력 모드를 포함할 수 있다. 몇몇 양상들에서, 예를 들면, 프로세서는 상기 복수의 손가락들 중 하나만이 뻗어질 때 현재 동작 모드를 포인팅 디바이스 입력 모드로 설정할 수 있다. 대안적으로, 예를 들면, 상기 프로세서는 상기 프로세서가 워크스페이스 내에서의 임계 수의 손가락들을 검출할 때 현재 동작 모드를 키보드 입력 모드로 설정할 수 있다. 몇몇 양상들에서, 상기 프로세서는 상기 프로세서가 홈 위치로부터 횡 방향으로 오프셋된 위치로 상기 하나 이상의 손들 중 하나의 움직임을 검출할 때 또는 상기 프로세서가 상기 하나 이상의 손들 중 하나만이 상기 워크스페이스에 존재하는 것을 검출할 때 현재 동작 모드를 숫자 패드 입력 모드로 설정할 수 있다. 몇몇 양상들에서, 상기 프로세서는 상기 프로세서가 홈 위치로부터 횡 방향으로 오프셋된 위치로의 상기 하나 이상의 손들 중 하나의 움직임을 검출할 때 또는 상기 프로세서가 상기 하나 이상의 손들 중 단지 하나만이 상기 워크스페이스에 존재한다고 검출할 때 현재 동작 모드를 맞춤 패드 입력 모드로 설정할 수 있다. 몇몇 양상들에서, 상기 프로세서는 상기 워크스페이스 내에서 템플릿 및/또는 오브젝트(예로서, 툴, 스타일러스 등)의 식별에 적어도 부분적으로 기초하여 템플릿-기반 입력 모드를 설정하도록 구성될 수 있다.
몇몇 양상들에서, 상기 입력 디바이스들은 특정한 제스처가 검출될 때 상기 프로세서가 특정한 사용자 입력 정보를 생성하도록 상기 특정한 사용자 입력 정보를 상기 특정한 제스처에 할당하는 구성 모듈을 포함할 수 있다. 예로서, 집게 손가락 및 엄지 손가락이 합쳐지거나 또는 서로 떨어지는 핀칭 모션과 같은 사용자의 특정한 제스처는 각각 줌 인 또는 줌 아웃과 같은 특정한 동작과 연관될 수 있다. 이러한 연관들은 사용자에 의해 미리 정의되고 및/또는 할당될 수 있다. 다양한 양상들에서, 구성 모듈은 특정한 제스처가 신뢰성 있게 검출될 수 있는 정도에 기초하여 제스처 강도 표시자를 디스플레이한다.
본 교시들의 다양한 양상들에 따르면, 워크스페이스를 표시한 데이터를 생성하기 위한 적어도 하나의 센서 및 프로세서를 포함하는 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스가 제공된다. 상기 프로세서는 부가적으로 상기 센서(들)에 의해 생성된 상기 데이터에 기초하여 사용자의 손의 복수의 해부학적 랜드마크들을 식별하며 상기 워크스페이스 내에서의 상기 랜드마크들의 상기 위치들을 결정하는 사용자 프로파일 모듈, 상기 랜드마크들에서의 변화들을 표시한 값들의 세트를 생성하기 위해 시간에 걸쳐 상기 센서에 의해 생성된 상기 데이터를 비교하는 모션 검출 모듈, 및 사용자 입력 정보와 상기 랜드마크들에서의 변화들을 연관시키는 분류 모듈을 포함한다.
상기 모션 검출 모듈은 상기 랜드마크들에서의 변화들을 표시한 값들을 생성하기 위해 다양한 데이터를 비교할 수 있다. 예로서, 상기 모션 검출 모듈은 상기 분류 모듈이 상기 비교에 기초하여 사용자 입력 정보를 생성할 수 있도록 특정한 랜드마크의 이동 거리, 속도, 및 가속도 중 하나 이상을 적어도 하나의 다른 랜드마크의 이동 거리, 속도, 및 가속도 중 적어도 하나에 비교할 수 있다. 몇몇 양상들에서, 예를 들면, 상기 모션 검출 모듈은 시작 위치에 대하여 랜드마크들의 거리에서의 변화들을 측정할 수 있으며 상기 분류 모듈은 이러한 측정들을 사용자 입력 정보와 연관시킬 수 있다. 대안적으로 또는 덧붙여, 상기 모션 검출 모듈은 랜드마크들의 속도 및/또는 가속도에서의 변화들을 측정할 수 있다. 몇몇 양상들에서, 상기 모션 검출 모듈은 예를 들면, 적어도 두 개의 랜드마크들의 각도 관계에서의 변화들을 측정할 수 있다. 몇몇 실시예들에서, 예를 들면, 상기 모션 검출 모듈은 꼭짓점 및 적어도 두 개의 랜드마크들에 의해 정의된 각도의 각도 변위를 측정할 수 있다. 대안적으로 또는 덧붙여, 상기 모션 검출 모듈은 꼭짓점 및 적어도 두 개의 랜드마크들에 의해 정의된 각도의 각속도 및/또는 각가속도를 측정할 수 있다.
몇몇 양상들에서, 상기 프로세서는 부가적으로 상기 사용자의 손의 코어 값을 수립하는 방향 모듈을 포함할 수 있으며, 상기 코어 값은, 예들 들면 사용자의 손의 다양한 해부학적 랜드마크들의 관찰된 위치 및/또는 방향에 기초하여, 상기 워크스페이스 내에서의 상기 사용자의 손의 코어의 위치를 표시한다.
몇몇 양상들에서, 본 교시들에 따른 시스템들 및 방법들은 부가적으로 관찰된 워크스페이스 내에 위치되며 사용자가 물리적으로 상호 작용하고 및/또는 조작할 수 있는 물리적 템플릿을 이용할 수 있다. 관련된 양상들에서, 상기 입력 디바이스는 부가적으로 상기 적어도 하나의 센서에 의해 생성된 데이터에 기초하여 상기 워크스페이스 내에서의 오브젝트 또는 템플릿의 존재 및 위치를 결정하며 예를 들면, 상기 오브젝트의 적어도 하나의 특성, 및/또는 상기 템플릿 상에서의 패턴 또는 마킹에 기초하여, 상기 오브젝트 또는 템플릿을 식별하는 템플릿 식별 모듈을 포함할 수 있다. 따라서, 서로에 대하여 하나 이상의 랜드마크들에서의 변화들을 연관시키는 것에 대안적으로 또는 이에 부가하여, 분류 모듈은 상기 템플릿에 대한 랜드마크들에서의 변화들을 상기 템플릿과 연관되는 사용자 입력 정보와 연관시킬 수 있다.
본 교시들의 일 양상에서, 워크스페이스를 관찰하는 서로로부터 떨어진 거리로 이격된 적어도 두 개의 센서들을 포함하며 적어도 제 1 및 제 2 관점으로부터의 상기 워크스페이스를 표시한 데이터를 생성하는 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스가 제공된다. 상기 입력 디바이스는 부가적으로 상기 워크스페이스 내에서의 상기 랜드마크들의 위치를 결정하기 위해 상기 적어도 두 개의 센서들로부터 생성된 상기 데이터에 의해 표시된 사용자의 손의 복수의 해부학적 랜드마크들을 식별하는 사용자 프로파일 모듈을 가진 프로세서를 포함할 수 있다. 부가적으로, 상기 프로세서는 상기 워크스페이스 내에서 상기 사용자의 손의 코어의 위치를 표시하는 코어 값을 산출하는 방향 산출 모듈, 및 상기 랜드마크들의 이동 거리, 속도, 및 가속도를 표시한 제 1 세트의 값들을 생성하기 위해 시간에 걸쳐 상기 복수의 센서들에 의해 생성된 상기 데이터를 비교하는 모션 산출 모듈을 포함할 수 있다. 상기 프로세서는 또한 상기 제 1 세트의 값들에 기초하여 사용자 입력 정보와 상기 워크스페이스 내에서의 상기 사용자의 손에 의해 이루어진 제스처들을 연관시키는 분류 모듈을 포함할 수 있다.
예로서, 각각 제 1 및 제 2 관점들로부터 워크스페이스의 2-차원 이미지들을 캡처하는 서로로부터 떨어진 거리로 이격된 제 1 및 제 2 카메라들, 및 프로세서를 포함하는 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스가 제공될 수 있다. 상기 프로세서는 상기 이미지들(예로서, 이미지 프로세싱을 사용한) 내에서의 사용자의 손의 복수의 해부학적 랜드마크들을 식별하며 상기 워크스페이스 내에서의 상기 랜드마크들의 위치를 결정하는 사용자 프로파일 모듈을 포함할 수 있다. 상이한 관점들에서 다양한 카메라들에 의해 생성된 데이터에 기초하여, 방향 산출 모듈은 사용자의 손에 대한 코어 값을 산출할 수 있으며, 상기 모션 산출 모듈은 상기 랜드마크들의 2-차원 이동 거리, 속도, 및 가속도를 표시한 제 1 세트의 값들을 생성할 수 있다. 부가적으로, 상기 모션 산출 모듈은 상기 제 1 세트의 값들을 상기 랜드마크들의 3-차원 이동 거리, 속도, 및 가속도를 표시한 제 2 세트의 값들로 변환할 수 있다. 상기 제 2 세트의 값들에 기초하여, 분류 모듈은 그 후 사용자 입력 정보와 상기 워크스페이스 내에서의 상기 사용자의 손에 의해 이루어진 제스처들을 연관시킬 수 있다.
몇몇 실시예들에서, 상기 모션 산출 모듈은 부가적으로 각도 변위, 각속도, 및 각가속도를 표시한 제 3 세트의 값들(꼭짓점을 가지며 상기 꼭짓점으로부터 상기 복수의 랜드마크들의 제 1 랜드마크로 연장된 제 1 광선 및 상기 꼭짓점으로부터 상기 복수의 랜드마크들의 제 2 랜드마크로 연장된 제 2 광선을 가진 각도의)을 생성할 수 있다. 몇몇 양상들에서, 상기 분류 모듈은 부가적으로 상기 워크스페이스 내에서의 상기 사용자의 손에 의해 이루어진 제스처들을 사용자 입력 정보와 연관시키기 위해 이러한 제 3 세트의 값들을 사용할 수 있다.
본 교시들의 일 양상에서, 워크스페이스에서 사용자의 하나 이상의 파라미터들을 표시한 데이터를 생성하기 위해 적어도 하나의 센서를 사용하는 단계, 상기 데이터에 기초하여 상기 워크스페이스 내에서 상기 사용자에 의해 이루어진 제스처를 표시한 제스처 정보를 결정하는 단계, 및 상기 사용자가 디지털 프로세싱 시스템의 허가된 사용자인지를 결정하기 위해 상기 사용자에 특별한 알려진 제스처 정보(예로서, 미리 결정된 제스처 정보)에 상기 제스처 정보를 비교하는 단계를 포함하는, 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법이 제공된다. 다양한 양상들에서, 상기 워크스페이스는 상기 디지털 데이터 프로세싱 시스템에 인접한 표면, 상기 디지털 데이터 프로세싱 시스템으로부터 확장하는 정면 180도 호, 및/또는 상기 디지털 데이터 프로세싱 시스템이 위치되는 표면을 포함할 수 있다.
다양한 양상들에서, 상기 제스처 정보는 코드의 입력(예로서, 영-숫자 코드 또는 숫자들의 스트링의 입력) 동안 사용자의 손의 구성에서의 변화들을 포함할 수 있다. 예로서, 상기 제스처 정보는 코드의 입력 동안 사용자 손 움직임의 속도, 마침꼴(cadence), 또는 스타일을 포함할 수 있다. 부가적으로, 다양한 양상들에서, 상기 방법은 손이 상기 디지털 데이터 프로세싱 시스템의 허가된 사용자에 속하는지 여부를 결정하기 위해 상기 손이 상기 워크스페이스에 들어갈 때마다 검출 및 비교 단계들을 반복하는 단계를 포함할 수 있다. 대안적으로 또는 덧붙여, 상기 프로세서는 상기 손이 상기 허가된 사용자에 속함을 보장하기 위해 상기 관찰된 제스처 정보를 상기 사용자에 특별한 알려진 제스처 정보와 계속해서 또는 간헐적으로 비교할 수 있다.
몇몇 양상들에서, 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법들은 상기 데이터에 기초하여 상기 사용자의 하나 이상의 파라미터들을 결정하는 단계, 및 상기 사용자가 상기 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위해 상기 결정된 파라미터를 미리 결정된 값(들)에 비교하는 단계를 더 포함할 수 있다. 다양한 양상들에서, 상기 파라미터는 상기 사용자의 일 부분의 해부학적 형상, 상기 사용자의 상기 부분의 컬러, 및 상기 사용자의 상기 부분의 표면 텍스처(손의 세그먼트들) 중 적어도 하나일 수 있다. 게다가, 상기 검출 및 비교 단계들은 사용자가 계속해서 상기 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위해 상기 사용자가 상기 워크스페이스에 들어갈 때마다 반복될 수 있다. 대안적으로 또는 덧붙여, 상기 프로세서는 상기 손이 상기 허가된 사용자에 속함을 보장하기 위해 상기 미리 결정된 값과 상기 파라미터를 계속해서 또는 간헐적으로 비교할 수 있다.
본 교시들의 몇몇 양상들에 따르면, 워크스페이스 내에서 사용자에 의해 이루어진 제스처들을 검출하며 상기 검출된 제스처들을 표시한 제스처 정보를 생성하는 하나 이상의 센서들, 및 저장 매체에 저장된 미리 결정된 제스처 정보에 상기 생성된 제스처 정보를 비교하는 프로세서로서, 상기 생성된 제스처 정보가 상기 미리 결정된 제스처 정보에 일치하는 정도에 기초하여 상기 사용자가 허가된 사용자인지 여부를 결정하는 상기 프로세서를 포함하는, 상기 사용자가 디지털 데이터 프로세싱 시스템의 허가된 사용자인지를 결정하기 위한 시스템이 제공된다.
여기에서 그 외 논의되는 바와 같이, 상기 센서들은 다양한 구성들을 가질 수 있다. 예를 들면, 몇몇 양상들에서, 상기 하나 이상의 센서들은 상기 센서들과의 물리적 사용자 접촉을 요구하지 않고 상기 사용자에 의해 이루어진 상기 제스처들을 검출하도록 구성될 수 있다. 예로서, 몇몇 실시예들에서, 상기 하나 이상의 센서들은 제 1 및 제 2 카메라들을 포함할 수 있고, 상기 생성된 제스처 정보는 상기 제 1 및 제 2 카메라들에 의해 캡처된 상기 워크스페이스의 이미지들을 포함할 수 있다. 관련된 실시예들에서, 상기 프로세서는 상기 워크스페이스의 상기 이미지들 내에서 상기 사용자의 랜드마크들을 검출할 수 있다. 대표적인 랜드마크들은 손가락, 손가락 세그먼트, 손가락 형태, 손가락 관절, 손톱, 피부 표면 윤곽, 및 손 표면을 포함한다.
본 교시들의 몇몇 양상들에 따르면, 입력 에이전트의 손의 적어도 하나의 물리적 특성을 검출하는 적어도 하나의 센서, 및 저장 매체에 저장된 미리 결정된 특성 정보에 상기 검출된 물리적 특성을 비교하는 프로세서로서, 상기 검출된 물리적 특성이 상기 미리 결정된 특성 정보와 일치하는 정도에 기초하여 상기 사용자가 허가된 사용자인지 여부를 결정하는, 상기 프로세서를 포함하는 디지털 데이터 프로세싱 시스템의 허가된 사용자를 인식하기 위한 시스템이 제공된다.
다양한 양상들에서, 상기 적어도 하나의 센서는 사용자의 손의 적어도 하나의 물리적 특성을 검출하기 위해 광학 이미징, RGB, 적외선 광, 구조화된 광, 및 비행 시간 검출 중 하나 이상을 이용할 수 있다. 예로서, 상기 적어도 하나의 센서는 제 1 및 제 2 카메라들을 포함할 수 있으며, 상기 검출된 물리적 특성은 상기 에이전트의 손이 위치되는 워크스페이스의 이미지들로부터 검출될 수 있고, 상기 이미지들은 상기 제 1 및 제 2 카메라들에 의해 캡처된다.
본 발명은 또한 청구된 바와 같이 디바이스들, 시스템들, 및 방법들을 제공한다.
본 발명의 방법들 및 디바이스들은 종래의 입력 디바이스들의 한계들로부터 사용자를 자유롭게 할 수 있다는 것이 이해될 것이다. 노력하지 않고 및 직관에 의하여, 사용자는 기술을 훨씬 더 편안하고 효율적인 방식으로 조작할 수 있다. 여기에 개시된 방법들 및 디바이스들은 또한 다양한 건강 이득들을 제공할 수 있다. "끊임없이 활동하는" 사용자는 더 이상 여분의 장비를 휴대하도록 요구되지 않으며 개시된 방법들 및 디바이스들에 의해 허용된 손 방향의 자유는 다수의 인체 공학적 이득들을 제공할 수 있다.
또한 본 발명의 방법들 및 디바이스들은 보안 시스템으로의 액세스를 승인하기 전에 초기 게이팅 함수를 제공할 수 있을 뿐만 아니라 그것이 보안 데이터가 조작되기 때문에 사용자의 진정성을 반복적으로, 간헐적으로, 또는 계속해서 확인함으로써 안정하게 하려고 하는 데이터와 보안 기능을 직접 연결할 수 있는 고유 보안 이점들을 또한 제공한다는 것이 이해될 것이다. 보안 기능은 연속적인, 및 적절하다면, 동시적인 레벨들의 보안을 제공할 수 있다.
도 1a는 표면에 기초하는 제스처 인식 입력 디바이스의 일 대표적이 실시예의 개략적인 상면도.
도 1b는 도 1a의 제스처 인식 입력 디바이스의 측면도.
도 1c는 두 개의 구조화된 광 센서들을 가진 제스처 인식 입력 디바이스의 일 대표적인 실시예의 측면도.
도 1d는 구조화된 광 센서를 가진 제스처 인식 입력 디바이스의 또 다른 대표적인 실시예의 측면도.
도 1e는 카메라 및 구조화된 광 센서를 가진 제스처 인식 입력 디바이스의 또 다른 대표적인 실시예의 측면도.
도 1f는 카메라 및 두 개의 구조화된 광 센서들을 가진 제스처 인식 입력 디바이스의 또 다른 대표적인 실시예의 측면도.
도 1g는 도 1a의 제스처 인식 입력 디바이스의 개략도.
도 1h는 도 1a의 디바이스의 센서(들)의 관점으로부터 활성 구역 및 관심 구역의 개략도.
도 1i는 제스처 인식 입력 디바이스의 또 다른 대표적인 실시예의 개략적인 예시이며, 상기 입력 디바이스는 워크스페이스를 프레이밍한다.
도 2는 도 1a에 도시된 바와 같이 제스처 인식 디바이스와 함께 사용하기 위한 제어 유닛의 개략도.
도 3은 도 2의 제어 유닛에 포함될 수 있는 대표적인 모듈들의 개략도.
도 4a는 제스처 인식 입력 디바이스와 함께 사용하기 위한 교정 템플릿의 일 대표적인 실시예를 도시한 도면.
도 4b는 교정 절차의 일 대표적인 실시예 동안 "정지" 위치에서의 사용자의 손들을 도시한 도면.
도 4c는 교정 절차의 일 대표적인 실시예 동안 "확산 정지" 위치에서의 사용자의 손들을 도시한 도면.
도 4d는 교정 절차의 일 대표적인 실시예 동안 "준비" 위치에서의 사용자의 손들을 도시한 도면.
도 5a는 하나 이상의 인간 손들의 특정한 부분들을 특정하기 위해 사용될 수 있는 좌표 시스템의 개략도.
도 5b는 단일 숫자에 적용되는 바와 같이 도 5a의 좌표 시스템의 개략도.
도 5c는 디바이스에 의해 식별될 수 있는 대표적인 해부학적 랜드마크들을 도시하는 도 1a의 디바이스의 센서(들)의 관점으로부터 보여지는 바와 같이 두 개의 손들의 개략도.
도 5d는 도 1a의 디바이스에 의해 산출될 수 있는 대표적인 코어 위치들 및 도 1a의 디바이스에 의해 측정될 수 있는 대표적인 각도들을 도시한 도 1a의 디바이스의 센서(들)의 관점으로부터 보여지는 바와 같은 두 개의 손들의 개략도.
도 5e는 도 1a의 디바이스의 센서의 관점으로부터 왼쪽 손의 개략도.
도 6a는 제스처 인식 입력 디바이스 및 상기 입력 디바이스의 워크스페이스 내에서의 키보드 입력 모드 위치에 위치된 두 개의 인간 손들의 상면도.
도 6b는 이미지에 식별된 다양한 해부학적 랜드마크들을 갖고, 도 6a에 도시된 바와 같이 사용자가 위치될 때 제스처 인식 입력 디바이스의 센서에 의해 캡처된 대표적인 이미지를 개략적으로 도시한 도면.
도 7a는 제스처 인식 입력 디바이스 및 상기 입력 디바이스의 워크스페이스 내에서의 숫자 패드 입력 모드 위치에 위치된 두 개의 인간 손들의 상면도.
도 7b는 이미지에서 식별된 다양한 해부학적 랜드마크들을 갖고, 도 7a에 도시된 바와 같이 사용자가 위치될 때 제스처 인식 입력 디바이스의 센서에 의해 캡처된 대표적인 이미지를 개략적으로 도시한 도면.
도 8a는 제스처 인식 입력 디바이스 및 상기 입력 디바이스의 워크스페이스 내에서 마우스 입력 모드 위치에 위치된 두 개의 인간 손들의 상면도.
도 8b는 이미지에서 식별된 다양한 해부학적 랜드마크들을 갖고, 도 8a에 도시된 바와 같이 사용자가 위치될 때 제스처 인식 입력 디바이스의 센서에 의해 캡처된 대표적인 이미지를 개략적으로 도시한 도면.
도 8c는 본 교시들의 다양한 실시예들에 따른 대표적인 키보드 템프릿을 도시한 도면.
도 8d는 본 교시들의 다양한 양상들에 따라 배치된 패턴을 가진 대표적인 특수 기능 키패드 템플릿을 도시한 도면.
도 8e는 대표적인 센서에 대하여 도 8d의 것과 상이한 방향에 배치된 도 8d의 대표적인 특수 기능 키패드 템플릿을 도시한 도면.
도 8f는 워크스페이스에서의 사용을 위해 및 프로세서에 의해 식별되고 및/또는 추적될 수 있는 대표적인 패턴을 가진 대표적인 오브젝트를 도시한 도면.
도 8g는 도 8c의 오브젝트에 배치된 또 다른 대표적인 패턴을 도시한 도면.
도 8h는 제 1 위치에서 사용자의 손으로 구조화된 광의 투사의 대표적인 표현을 도시한 도면.
도 8i는 제 2 위치에 있는 사용자의 손상에서의 구조화된 광의 투사의 대표적인 표현을 도시한 도면.
도 9a는 스트라이크 제스처를 수행하는 사용자의 왼쪽 손의 제스처 인식 입력 디바이스의 센서에 의해 캡처된 대표적인 이미지를 개략적으로 도시한 도면.
도 9b는 스트라이크 제스처를 수행하는 사용자의 오른쪽 손의 제스처 인식 입력 디바이스의 센서에 의해 캡처된 대표적인 이미지를 개략적으로 도시한 도면.
도 9c는 스트라이크 제스처를 수행하는 사용자의 오른쪽 손의 제스처 인식 입력 디바이스의 센서에 의해 캡처된 대표적인 이미지를 개략적으로 도시한 도면.
도 10a는 키 스트라이크들의 대표적인 시퀀스에 대한 시간의 함수로서 각가속도의 그래프.
도 10b는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 각속도의 그래프.
도 10c는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 각도 변위의 그래프.
도 10d는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 선형 속도의 그래프.
도 10e는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 선형 가속도의 그래프.
도 10f는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 수평 거리의 그래프.
도 10g는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 수평 속도의 그래프.
도 10h는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 수평 가속도의 그래프.
도 10i는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 수직 거리의 그래프.
도 10j는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 수직 속도의 그래프.
도 10k는 도 10a의 키 스트라이크들의 시퀀스에 대한 시간의 함수로서 수직 가속도의 그래프.
도 11은 제스처 인식 입력 디바이스의 동작의 일 대표적인 방법을 묘사한 흐름도.
본 발명은 첨부한 도면들과 함께 취해진 다음의 상세한 설명으로부터 보다 완전히 이해될 것이다.
특정한 대표적인 실시예들이 이제 여기에 개시된 구조, 기능, 제조, 및 방법들, 시스템들, 및 디바이스들의 사용의 원리들의 전체 이해를 제공하기 위해 설명될 것이다. 이들 실시예들의 하나 이상의 예들은 첨부한 도면들에 예시된다. 이 기술분야의 숙련자들은 여기에 구체적으로 설명되며 첨부한 도면들에 예시된 방법들, 시스템들, 및 디바이스들이 비-제한적인 대표적인 실시예들이며 본 발명의 범위는 단지 청구항들에 의해 정의됨을 이해할 것이다. 일 대표적인 실시예와 관련되어 예시되거나 또는 설명된 특징들은 다른 실시예들의 특징들과 조합될 수 있다. 이러한 수정들 및 변화들은 본 발명의 범위 내에 포함되도록 의도된다.
여기에 통합된 참조 문헌들에서의 자료 중 임의의 것이 본 출원의 개시와 상충되는 정도로, 본 출원의 개시가 제어된다.
일반적으로 디지털 데이터 프로세싱 시스템에 의한 사용을 위한 사용자 입력 정보를 생성하기 위해 사용자에 의해 이루어진 제스처들을 검출 및 해석하는 것을 수반하는 디바이스들 및 관련된 방법들이 여기에 개시된다. 다양한 실시예들에서, 대표적인 디바이스들은 사용자가 제스처들을 수행하는 워크스페이스를 관찰하는 하나 이상의 센서들 및 다양한 사용자 입력들로서 센서들에 의해 생성된 데이터를 해석할 수 있는 프로세서를 포함한다. 다양한 양상들에서, 예를 들면 사용자의 손들의 구성을 포함하는 사용자의 제스처들은 센서들에 의해 생성된 데이터가 해석되는 방식에 영향을 미칠 수 있는 다양한 입력 모드들로 디바이스를 설정하기 위해 사용될 수 있다. 예로서, 디바이스는 사용자의 손의 구성(예로서, 서로에 대한 사용자의 우세 및 비-우세 손들의 존재 및/또는 위치)에 기초하여, 예로서 키보드 입력 모드, 숫자 패드 입력 모드, 마우스 입력 모드, 또는 다른, 맞춤 가능한 입력 모드로 설정될 수 있다. 사용자에 의해 이루어진 후속 제스처들은 따라서 사용자의 손들의 관찰된 특성들 및 사용자의 손들의 다양한 모션 속성들을 사용하여, 키보드 입력들, 숫자 패드 입력들, 마우스 입력들 등으로서 해석될 수 있다. 이들 관찰된 특성들은 또한 예를 들면, 제스처를 하는 동안(예로서, 패스워드에서 타이핑하는 동안 또는 사용 동안 계속해서 또는 간헐적으로) 그들의 손들의 해부학적 속성들 및/또는 사용자에 의해 보여지는 행동 속성들을 사용하여 허가된 사용자들을 식별함으로써 보안 프로토콜을 구현하기 위해 사용될 수 있다.
부가적으로, 본 교시들의 다양한 양상들에 따른 입력 디바이스들은 사용자가 새로운 물리적 디바이스의 위치를 찾고 습득하도록 사용자에게 요구하지 않는 고유 전이를 제공함으로써 키보드, 숫자 패드, 및 마우스와 같은 종래의 입력 디바이스들 사이에서 스위칭하도록 요구되지 않기 때문에 정신 집중 및 집중에서의 중단의 기회를 감소시킬 수 있다. 더욱이, 본 교시들의 다양한 실시예들에 따른 입력 디바이스들은 사용자의 손들의 다양한 세그먼트들에 기초한 코어 산출을 사용하여 입력 디바이스에 관하여 및 서로에 관하여 사용자의 손들의 위치를 알아낼 수 있는 방향 구성요소를 포함할 수 있다. 몇몇 양상들에서, 이러한 코어 산출은 사용자의 의도를 믿을 수 있게 및 정확하게 반영하기 위해 필요한 많은 다른 산출들을 미세 조정하기 위해 사용될 수 있는 관찰된 데이터에 기초한 단일 변수를 제공할 수 있다. 게다가, 본 교시들에 따른 시스템들 및 방법들은 또한 그들의 손 위치들에 대한 조정들을 하기 위해 사용자에 대한 엄청난 자유를 허용할 수 있으며, 그에 따라 피로, 반복적인 긴장 질환들, 및 다른 인체 공학적 우려들을 방지하도록 돕는다. 예를 들면, 여기에 개시된 대표적인 입력 디바이스들은 그것들이 고정된 입력 장치의 엄격한 한계로부터 자유로운 비-제한적인 경험을 사용자에게 제공할 수 있으며, 이들 해부학적 랜드마크들의 각각의 X, Y, 및 Z 좌표들에 대한 강력한 위치 산출을 생성하기 위해 사용자의 손가락 세그먼트들, 손가락 관절들, 및 손톱들의 몇몇 또는 모두를 구체적으로 측정할 수 있다. 다양한 양상들에서, 특정한 사용자의 모션들의 이러한 정확한 측정들은 특정한 사용자에 의해 수행되도록 의도된 태스크를 식별하기에 유용할 뿐만 아니라, 또한 특정한 동작을 위해 넓은 범위의 사용자들에 걸쳐 본질적인 패턴들을 포함한 데이터 창고를 개발하도록 도울 수 있다. 단지 속도에 의존하기보다는, 본 교시들에 따른 입력 디바이스들은 모두 비-제한적인 예로서, 수직 거리, 수직 속도, 수직 가속도, 수평 거리, 수평 속도, 수평 가속도, 각도 변위, 각속도, 각가속도 등을 포함한 복수의 모션 변수들을 고려할 수 있다. 이들 특징들의 몇몇 또는 모두는 기존의 시스템들보다 더 뛰어난 정확도를 입력 디바이스에 제공하기 위해 조합될 수 있다.
시스템 일반성
도 1a 내지 도 1i는 본 교시들의 다양한 양상들을 통합하는 제스처 인식 입력 디바이스(100)의 대표적인 실시예들을 예시한다.
센서들
본 교시들의 다양한 양상들에 따른 제스처 인식 입력 디바이스들은 일반적으로 일반적으로 입력 에이전트 및 입력 디바이스 사이에서의 물리적 접촉을 요구하지 않고, 워크스페이스를 관찰하고 및/또는 상기 워크스페이스(예로서, 사용자의 손(들), 템플릿 등)에 존재하는 오브젝트 또는 입력 에이전트의 하나 이상의 파라미터들을 표시한 데이터를 생성하기 위한 하나 이상의 센서들을 포함한다. 비-제한적인 예로서, 센서(들)는 이하에 보다 상세히 논의되는 바와 같이, 워크스페이스 내에서 오브젝트의 부분들의 거리 및/또는 방향을 산출하기 위해 사용될 수 있는 워크스페이스에서의 오브젝트의 위치, 속도, 가속도, 각도 변위 등을 표시한 데이터를 생성할 수 있다. 실제로, 센서(들)는 다양한 구성들 및 방향들을 가질 수 있으며 다양한 검출 양식들 하에서 동작할 수 있다.
도 1a 및 도 1b에 도시된 바와 같이, 예를 들면, 디바이스(100)는 워크스페이스(106) 내에서의 오브젝트들(예로서, 사용자의 손들)의 존재를 검출하기 위한 제 1 및 제 2 센서들(102)을 포함할 수 있으며, 이러한 오브젝트들의 모션을 검출할 수 있다. 예시된 실시예에서, 두 개의 센서들(102, 104)이 도시되지만, 디바이스(100)는 또한 단지 하나의 센서를 가질 수 있거나, 또는 두 개 이상의 센서들을 포함할 수 있다. 예를 들면, 도 1d에 묘사된 대표적인 디바이스(100)는 단지 단일 센서(104)를 포함한다. 다른 한편으로, 도 1f에 묘사된 대표적인 디바이스(100)는 3개의 센서들(102, 103, 104)을 포함한다.
본 교시들에 따른 사용을 위한 센서들은 이 기술 분야에 알려지거나 또는 이후 예를 들면, 광학 이미징(예로서, 가시광선 카메라들), 적외선 검출, 구조화된 광 검출, 및 비행 시간 검출을 포함한 워크스페이스를 관찰하기 위해 본 교시들을 갖고 개발 및 수정되는 다양한 센서 기술들 중 임의의 것 또는 센서 기술들의 조합들을 이용할 수 있다. 실제로, 대표적인 시스템들은 다수의 센서들 및/또는 다수의 유형들의 센서들을 포함할 수 있다. 예를 들면, 개별적으로 2-차원 이미지들을 생성하는 다수의 센서들(예로서, RGB 센서, CCD 카메라)에 의해 생성된 데이터를 조합함으로써, 워크스페이스의 입체 3-차원 "이미지"가 획득될 수 있다. 3-차원 양식들이 또한 사용될 수 있다. 예를 들면, 워크스페이스 상에 알려진 패턴(예로서, 라인들, 바들, 점들, 형태들)을 캐스팅하기 위해 적외선 광을 이용함으로써, IR 센서는 패터닝된 또는 "구조화된" 광이 오브젝트로 투사될 때 성형되고 및/또는 구부려지는 방식에 기초하여 3-차원 이미지를 캡처할 수 있다. 투사된 광의 구조 또는 패턴에서의 변화들에 기초하여, 오브젝트의 3-차원 이해가 획득될 수 있다. 투사된 광은 대안적으로 워크스페이스로 투사되며 여기에서의 교시들에 따라 센서에 의해 검출될 수 있는 위상-시프트 광 또는 가시광선의 알려진 패턴들(예로서, 컬러링된 광의 패턴)을 포함할 수 있다. 도 1d는 예를 들면, 단일 구조화된 적외선 광 센서(104)(구조화된 적외선 광원(105) 뿐만 아니라)를 가진 디바이스(100)를 묘사한다. 대안적으로, 2개의 이격된 CCD 카메라들을 참조하여 상기 설명된 바와 같이, 다수의 IR 센서들이 예를 들면 도 1c에 도시된 바와 같이, 캡처되는(예로서, 가림의 경우에) 오브젝트의 보다 정확한 표현을 제공하기 위해 서로로부터 거리가 이격되어 위치될 수 있다. 부가적으로, 다양한 실시예들에서, 다양한 양식들의 다수의 센서들이 워크스페이스에서의 오브젝트들에 관한 부가적인 데이터를 제공하기 위해 단일 디바이스로 통합될 수 있다.
예를 들면, 도 1a 및 도 1b에 묘사된 실시예에서, 제 1 및 제 2 센서들(102, 104) 양쪽 모두가 시야로부터 이미지를 캡처하기 위한 각각의 광학들을 가진 카메라들(예로서, CCD-기반 이미징 디바이스들)의 형태에 있는 반면, 도 1c, 도 1e, 및 도 1f에 묘사된 대표적인 디바이스들은 부가적으로 또는 대안적으로 적어도 하나의 구조화된 적외선 광원(105) 및 하나 이상의 적외선 센서들을 이용한다. 예를 들면, 도 1c에 묘사된 대표적인 디바이스(100)는 워크스페이스에서의 하나 이상의 오브젝트들을 갖고 적외선 광원(105)에 의해 생성된 구조화된 광의 상호 작용을 검출하도록 구성되는 두 개의 구조화된 적외선 센서들(102, 104)을 포함한다. 대안적으로, 도 1e 및 도 1f에 묘사된 대표적인 디바이스들은 다수의 센서 유형들을 포함한다. 도 1e는 예를 들면, 하나의 카메라(예로서, CCD-기반 이미징 센서들)(102) 및 하나의 구조화된 적외선 광 센서(104)(구조화된 적외선 광원(105) 뿐만 아니라)를 가진 디바이스(100)를 묘사한다. 다른 한편으로, 도 1f는 하나의 카메라(예로서, CCD-기반 이미징 센서들)(103) 및 워크스페이스 및/또는 사용자를 향하는 디바이스(100)의 표면상에 장착되는 두 개의 구조화된 적외선 광 센서들(102, 104)(구조화된 적외선 광원(105))을 묘사한다.
도 1a 및 도 1b를 다시 참조하면, 센서들(102, 104)은 디바이스(100)가 받쳐지는 테이블, 데스크, 또는 다른 작업 표면(108)으로부터 실질적으로 수직으로 연장되는 디바이스(100)의 표면(110) 상에 장착되며, 따라서 센서들(102, 104)은 사용자의 방향으로 향해진다. 이러한 구성에서, 두 개의 센서들(102, 104)의 공동 시야는 각각의 센서로부터 대략 120도 원호에서 디바이스(100)로부터 바깥쪽으로 연장되는 워크스페이스(106)를 정의한다. 몇몇 실시예들에서, 워크스페이스(106)는 보다 넓거나 또는 보다 좁은 원호, 예로서, 90도, 160도, 180도 등으로 연장될 수 있다. 워크스페이스(106)는, 그것이 또한 디바이스(100)가 위치되는 표면(108)으로부터 수직 상향으로 연장된다는 점에서 3-차원이다. 따라서, 워크스페이스(106)는 예를 들면 도 1h에 도시되는 바와 같이, 다수의 구역들로 논리적으로 분할될 수 있다. "활성 구역"(130)은 사용자가, 디바이스(100)가 받치고 있는 표면(108)과 상호작용하는 영역(또는 디바이스(100)가 표면상에서 받치고 있지 않은 인스턴스들에서의 디바이스로부터 연장된 평면)으로서 정의될 수 있다. 또한, "관심 구역"(132)은 활성 구역(130) 위 영역(예로서, 활성 구역(130)보다 디바이스(100)가 받치고 있는 표면(108)으로부터 더 멀리 떨어진 영역)으로서 정의될 수 있다. 이하에 논의되는 바와 같이, 관심 구역(132)은 특정한 사용자 제스처들, 동작들, 또는 행동들을 분류하도록 돕기 위해 모니터링될 수 있다. 몇몇 실시예들에서, 활성 구역(130)은 디바이스(100) 및 센서들(102, 104)에 대하여 고정된 채로 있을 수 있는 반면, 관심 구역(132)은 사용자의 손들(134, 136)에 따라 움직일 수 있다(예로서, 이를 따를 수 있다). 다시 말해서, 사용자의 손들(134, 136) 중 하나 또는 양쪽 모두가 이동하며 센서들(102, 104)에 대해 비딱하게 된다면, 관심 구역(132)의 좌측 및/또는 우측 부분든은 마찬가지로 이동할 수 있다. 이와 같이, 워크스페이스 내에서 사용자의 제스처들을 추적하기 위한 센서들(102, 104)의 능력은, 공간과의 사용자의 상호 작용에 있는지 또는 공간(예로서, 표면 위)에 있는지에 관계없이, 사용자로 하여금 최고의 안정을 위해 그들의 손 위치를 시프트하도록 허용하고 및/또는 디바이스(100)로 하여금 다양한 환경들에서 사용되도록 허용함으로써 사용자 피로를 감소시키고 유용성을 증가시킬 수 있다. 예로서, 다양한 모바일 환경들에서, 사용자는 그것과의 안정된 상호 작용을 가능하게 하는 표면을 제공받지 않을 수 있다. 개의치 않고, 센서들은 그럼에도 불구하고, 워크스페이스 내에서의 사용자 제스처들을 추적하며 여기에 달리 논의된 바와 같이, 사용자 입력 정보를 생성하기 위해 사용자의 제스처들의 식별을 가능하게 할 수 있다. 다른 한편으로, 적절한 표면이 사용자에게 제공되며 사용자가 그렇게 할 것 같다면, 사용자는 표면 위에서의 사용자의 제스처들 및/또는 표면과의 그것들의 상호 작용을 관찰하기 위한 센서들 능력을 방해하지 않고 피로를 감소시키기 위해 표면상에서의 그들의 몸체의 일 부분(예로서, 손목들)을 쉴 수 있다.
센서들의 양, 및/또는 센서 위치들 및 방향들은 다양한 크기들 및 형태들 중 임의의 것을 가진 워크스페이스를 제공하기 위해 선택될 수 있다는 것이 이해될 것이다. 예를 들면, 워크스페이스(106)의 원호는 1도만큼 작을 수 있으며 360도만큼 클 수 있다(예로서, 디바이스(100)의 하나 이상의 측면 상에 센서들을 위치시킴으로써). 몇몇 실시예들에서, 디바이스(100)는 센서들(102, 104) 사이에서의 거리의 인식을 가질 수 있으며(즉, 센서들 사이에서의 거리는 "알려져 있을" 수 있다), 따라서 센서들에 의해 생성된 데이터는 후속 프로세싱을 위해 조합될 수 있다.
워크스페이스(106) 내에서의 물리적 작업 표면(108)의 존재가 일반적으로 여기에서 고려되지만, 디바이스(100)는 또한, 워크스페이스(106)가 임의의 표면을 포함하지 않는 것들을 포함하여, 임의의 공간에서 사용될 수 있다. 또한, 여기에 사용된 바와 같은 용어(표면)는 물리적 표면 또는 가상 표면(예로서, 가상 평면)을 나타낼 수 있다. 또한, 정면 센서 관점이 여기에 설명되지만, 디바이스(100)는 또한 다른 센서 관점들을 가질 수 있다. 예를 들면, 도 1i에 도시된 바와 같이, 디바이스(100')는 센서들(102')이 화이트 보드, 데스크탑, 테이블탑, 디스플레이, 벽 등과 같은 직사각형 워크스페이스(106')를 프레이밍하도록 위치될 수 있으며, 그에 의해 워크스페이스(106') 내에서 사용자에 의해 조작되는 사용자의 손들 또는 다른 오브젝트들이 복수의 측면들로부터 보여지도록 허용한다. 본 교시들에 기초하여, 워크스페이스는 그 안에서 오브젝트들을 검출하기 위해 센서(들)의 능력에 기초하여 임의의 형태를 가질 수 있다는 것이 추가로 이해될 것이다. 예로서, 하나 이상의 센서(들)는 센서들을 둘러싸는 360도 구형 워크스페이스를 생성하기 위해 워크스페이스의 중심에 및 바깥쪽을 향해 위치될 수 있다.
광원
상기 논의된 바와 같이, 감지 양식 자체는 워크스페이스로의 광의 투사를 요구할 수 있다. 예로서, 도 1c 내지 도 1f에 묘사된 디바이스들(100)의 각각은 예를 들면, 워크스페이스 상에서 적외선 광의 알려진 패턴(예로서, 수평 또는 수직 선들, 바들, 점들, 형태들)을 생성하기 위해 적외선 광원(105) 또는 컬러링된 바들의 패턴을 생성하기 위해 가시 광원을 이용하며, 그에 의해 하나 이상의 센서들로 하여금 패터닝된 광이 오브젝트로 투사될 때 성형되고 및/또는 구부려지는 방식을 캡처하도록 허용한다. 광원(105)은 워크스페이스를 조사하기 위한 다양한 구성들을 가질 수 있다. 예를 들면, 구조화된 적외선 광원(106)은 IR 센서에 인접하여 위치될 수 있거나, 또는 대안적으로, 그로부터 멀리 배치될 수 있다.
이제 도 1b, 도 1e, 및 도 1f를 참조하면, 디바이스(100)는 부가적으로 또는 대안적으로 워크스페이스(106)의 적어도 일 부분을 조사하기 위한 광원(112)을 포함할 수 있다. 이것은 특히 하나 이상의 가시광선 카메라들이 센서로서 사용될 때 유리할 수 있으며 디바이스(100)는 낮은 주변 광 레벨들에 의해 특성화된 환경에서 사용된다. LED들 또는 백열 전구들과 같은, 다양한 광원들 중 임의의 것이 사용될 수 있다. 센서들(예로서, 도 1b에서의 센서들(102, 104))에 의해 캡처된 데이터는 디바이스(100)가 사용되는 조명 상태들을 결정하기 위해 및 그러므로 광원(112)이 사용될지 여부 및 광원(112)의 강도를 제어하기 위해 프로세싱될 수 있다는 것이 이해될 것이다.
여기에서의 교시들에 비추어, 다양한 실시예들에서, 광원이 사용자에게 가시적인 디스플레이를 표면으로 투사하도록 구성될 수 있다는 것이 또한 이해될 것이다. 이러한 투사는 디바이스(100)의 교정을 돕고(예로서, 여기에 달리 논의된 바와 같은 특정한 방식으로 표면과의 사용자 상호 작용을 가짐으로써) 및/또는 예를 들면, 표면으로의 키보드의 시각적 표현을 디스플레이함으로써 초보자 또는 숙련되지 않은 타이피스트들을 돕기 위해 사용될 수 있다. 유사하게, 다양한 양상들에서, 투사된 광은 특정한 원하는 사용자 입력에 대응하는 것으로서 표시한 컬러 및/또는 형태에 의해 워크스페이스의 특정한 부분들을 식별할 수 있다. 예를 들면, 이하에 상세히 논의되는 바와 같이, 사용자는 그들이 이들 투사된 광 패턴들에 관련됨에 따라 다양한 제스처들에 맞춤화된 의미들을 할당할 수 있다.
전력 스위치
디바이스는 또한 전력 온/오프 스위치(114)를 포함할 수 있으며, 이것은 디바이스(100)의 외부에 장착된 소프트웨어 스위치 또는 하드웨어 스위치일 수 있다. 몇몇 실시예들에서, 연장된 시간 기간(예로서, 3 초들) 동안 전력 스위치(114)를 누르는 것은 디바이스(100)를 파워 온 또는 오프할 수 있는 반면, 짧은 시간 기간(예로서, 1초 이하) 동안 전력 스위치(114)를 누르는 것은 이스케이프 또는 리셋 동작을 트리거할 수 있다. 전력 스위치(114)는 또한 디바이스로 하여금 대기, 수면, 하이버네이트, 각성 등과 같은 하나 이상의 동작 모드들에 들어가거나 또는 이를 빠져나오게 하기 위해 사용될 수 있다.
제어 유닛
디바이스는 또한 디바이스(100)의 다양한 요소들을 제어하고, 디바이스(100)에 대한 입력들을 프로세싱하며, 디바이스(100)의 출력들을 생성하기 위한 제어 유닛(116)(또한 일반적으로 "프로세서"로 불리울 수 있는)을 포함할 수 있다. 도 2는 제어 유닛(116)의 일 대표적인 아키텍처를 예시한다. 대표적인 제어 유닛(116)이 여기에 묘사되며 설명되지만, 이것은 보편성 및 편리함을 위한 것임이 이해될 것이다. 다른 실시예들에서, 제어 유닛은 여기에 도시되며 설명된 것과 아키텍처 및 동작에서 상이할 수 있다.
예시된 제어 유닛(116)은 예를 들면, 운영 시스템(OS), 디바이스 드라이버들, 애플리케이션 프로그램들 등을 실행함으로써, 디바이스(100)의 동작을 제어하는 프로세서(118)를 포함한다. 프로세서(118)는 프로그램 가능한 범용 또는 특수-목적 마이크로프로세서들 및/또는 다양한 독점 또는 상업적으로-이용 가능한 단일 또는 다중-프로세서 시스템들 중 임의의 하나를 포함하여, 임의의 유형의 마이크로프로세서 또는 중앙 프로세싱 유닛(CPU)을 포함할 수 있다. 제어 유닛(116)은 또한 프로세서(118)에 의해 실행될 코드를 위한 또는 프로세서(118)에 의해 프로세싱되는 데이터를 위한 임시 또는 영구 저장 장치를 제공하는, 메모리(120)를 포함할 수 있다. 메모리(120)는 판독-전용 메모리(ROM), 플래시 메모리, 하나 이상의 각종의 랜덤 액세스 메모리(RAM), 및/또는 메모리 기술들의 조합을 포함할 수 있다. 제어 유닛(116)의 다양한 요소들은 버스 시스템(121)에 결합된다. 예시된 버스 시스템(121)은 적절한 브리지들, 어댑터들, 및/또는 제어기들에 의해 연결된, 임의의 하나 이상의 별개의 물리적 버스들, 통신 라인들/인터페이스들, 및/또는 다중-드롭 또는 포인트-대-포인트 연결들을 표현하는 관념이다.
대표적인 제어 유닛(116)은 또한 네트워크 인터페이스(122), 입력/출력(IO) 인터페이스(124), 저장 디바이스(126), 및 디스플레이 제어기(128)를 포함한다. 네트워크 인터페이스(122)는 제어 유닛(116)이 네트워크를 통해 원격 디바이스들(예로서, 디지털 데이터 프로세싱 시스템들)과 통신할 수 있게 한다. IO 인터페이스(124)는 하나 이상의 입력 디바이스들(예로서, 센서들, 템플릿, GPS 또는 다른 위치 식별 유닛, 사용자 명령어 버튼(들)), 하나 이상의 출력 디바이스들(예로서, 광원(112), 컴퓨터 스크린, 텔레비전, 사용자의 셀 전화기 또는 태블릿, 가상 키보드의 그래픽 디스플레이 등), 및 제어 유닛(116)의 다양한 다른 구성요소들 사이에서 통신을 가능하게 한다. 예를 들면, 제 1 및 제 2 센서들(102, 104)은 센서 판독들이 프로세서(118)에 의해 수신되며 프로세싱될 수 있도록 IO 인터페이스(124)에 결합될 수 있다. 저장 디바이스(126)는 비-휘발성 및/또는 비-일시적 방식으로 데이터를 저장하기 위한 임의의 종래의 매체를 포함할 수 있다. 저장 디바이스(126)는 따라서 영구 상태에(즉, 값은 제어 유닛(116)에 대한 전력의 중단에도 불구하고 보유된다) 데이터 및/또는 지시들을 유지할 수 있다. 저장 디바이스(126)는 하나 이상의 하드 디스크 드라이브들, 플래시 드라이브들, USB 드라이브들, 광학 드라이브드, 다양한 미디어 디스크들 또는 카드들, 및/또는 그것의 임의의 조합을 포함할 수 있으며 제어 유닛(116)의 다른 구성요소들에 직접 연결될 수 있거나 또는 네트워크를 통해서와 같이, 그것에 원격으로 연결될 수 있다. 디스플레이 제어기(128)는 비디오 프로세서 및 비디오 메모리를 포함하며, 프로세서(118)로부터 수신된 지시들에 따라 하나 이상의 디스플레이들 상에 디스플레이될 이미지들을 생성한다.
디바이스(100)에 의해 수행된 다양한 기능들은 제어 유닛(116)의 하나 이상의 모듈들에 의해 수행되는 바와 같이 논리적으로 설명될 수 있다. 이러한 모듈들은 하드웨어, 소프트웨어, 또는 그것의 조합으로 구현될 수 있다. 소프트웨어로 구현될 때, 모듈들은 단일 프로그램 또는 하나 이상의 별개의 프로그램들의 일부일 수 있으며, 다양한 맥락들(예로서, 운영 시스템의 일부, 디바이스 드라이버, 독립형 애플리케이션, 및/또는 그것의 조합들로서)에서 구현될 수 있다는 것이 추가로 이해될 것이다. 또한, 하나 이상의 모듈들을 구체화한 소프트웨어는 하나 이상의 바-일시적 컴퓨터-판독 가능한 저장 매체들 상에서 실행 가능한 프로그램으로서 저장될 수 있다. 특정한 모듈에 의해 수행되는 바와 같이 여기에 개시된 기능들은 또한 임의의 다른 모듈 또는 모듈들의 조합에 의해 수행될 수 있다.
사용시, 디바이스(100)는 워크스페이스(106) 내에서 사용자에 의해 이루어진 물리적 제스처들을 검출 및/또는 해석하며, 디바이스(100)가 결합되는 하나 이상의 디지털 데이터 프로세싱 시스템들(예로서, 개인용 컴퓨터들, 데스크탑 컴퓨터들, 랩탑 컴퓨터들, 태블릿 컴퓨터들, 서버 컴퓨터들, 셀 전화기들, PDA들, 게이밍 시스템들, 텔레비전들, 셋탑 박스들, 라디오들, 휴대용 음악 플레이어들 등)에 의한 사용을 위해 대응하는 사용자 입력 정보를 생성할 수 있다. 디바이스(100)는 예를 들면, USB 또는 다른 통신 인터페이스를 사용하여 디지털 데이터 프로세싱 시스템에 동작 가능하게 결합되는 독립형 또는 외부 액세서리일 수 있다. 대안적으로, 디바이스(100)의 하나 이상의 구성요소들이 디지털 데이터 프로세싱 시스템과 일체형으로 형성될 수 있다. 예를 들면, 디바이스(100)는 셀룰러 전화기가 테이블 상에서 얼굴을 위로 하여 받쳐질 때, 셀룰러 전화기의 하부 표면상에 위치된 제 1 및 제 2 센서들(102, 104))이 테이블에 앉혀진 사용자로 향해지도록 셀룰러 전화기에 내장될 수 있다.
모듈들
도 3은 제스처 인식 입력 디바이스(100)의 일 대표적인 실시예의 대표적인 제어 유닛 모듈들의 개략도이다.
교정 모듈
다양한 실시예들에서, 디바이스(100)는 처음에 특정한 사용자에 대해 디바이스(100)를 교정하기 위한 교정 모듈(300)을 포함할 수 있다. 교정 모듈(300)은 사용자의 손가락들 및 손들의 각각의 세그먼트, 관절, 손톱 등의 치수들 및 속성들을 산출할 수 있으며, 사용자가 교정 루틴을 수행함에 따라 모션 변수들을 산출할 수 있다. 대표적인 교정 변수들은 제한 없이 수직 거리, 수직 속도, 수직 가속도, 수평 거리, 수평 속도, 수평 각속도, 각도 변위, 각속도, 각가속도 등을 포함한다.
교정 모듈(300)은 예를 들면, 다양한 교정 제스처들을 수행하도록 사용자에게 지시하는 가시적 또는 가청 큐들을 사용하여, 교정 프로토콜을 통해 사용자를 걷게할 수 있다. 일 실시예에서, 디바이스(100)는 교정 절차를 돕기 위해 교정 템플릿과 함께 패키징될 수 있다. 도 4는 교정 템플릿(400)의 일 대표적인 실시예를 예시하며, 이것은 종이 또는 카드보드의 20"×24" 시트의 형태에 있을 수 있다. 템플릿(400)은 디바이스 윤곽(402) 및 QWERTY 키보드의 표현(404)을 포함한다. 키보드(404)의 홈 키들(406)이 개괄되며, "S" 및 "L" 키들(408, 410)이 강조된다. 지그재그 라인(412)이 또한 두 개의 수평 라인들(414, 416)과 함께, 템플릿(400) 상에 제공된다.
대표적인 교정 루틴에서, 템플릿(400)은 편평한 표면(108) 상에 위치되며 디바이스(100)는 마킹된 디바이스 윤곽(402)에 위치된다. 사용자는 그 후 예로서, 도 4b에 도시된 바와 같이, "정지" 위치에 그들의 손들을 위치시키도록 지시받으며, 여기에서 사용자의 손가락들은 완전히 똑바르며 서로를 터치하고, 사용자의 좌측 가운데 손가락의 끝은 강조된 "S" 키(408) 상에 위치되고 사용자의 우측 가운데 손가락의 끝은 강조된 "L" 키(410) 상에 위치되어, 사용자의 손가락들 및 손들이 템플릿 평면(400)으로부터 위쪽으로 수직하여 연장된다. 사용자는 그 후 예로서, 도 4c에 도시된 바와 같이, "펼침 정지" 위치로 전이하도록 지시받으며, 이것은 사용자의 손가락들이 서로로부터 이격되어 펼쳐진다는 점을 제외하고 "정지" 위치와 동일하다. 이들 단계들 동안, 디바이스(100)는 템플릿의 디바이스 윤곽(402) 및 템플릿의 키보드 표현(404) 사이에서의 알려진 거리(D)에 부분적으로 의존하여, 사용자의 손가락들, 손들, 및 그것들의 다양한 부분들의 절대 길이 및 폭을 측정할 수 있다. 일 실시예에서, 이러한 알려진 거리(D)는 18일 수 있다. 디바이스(100)의 후속 동작 동안, 센서들(102, 104)에 의해 검출된 숫자 또는 숫자 세그먼트의 크기는 알려진 거리(D)를 가진 교정 위상 동안 획득된 크기 데이터에 비교될 수 있다. 이것은 디바이스(100)가 숫자 또는 숫자 세그먼트 및 센서들(102, 104) 사이에서의 현재 거리를 추정하도록 허용할 수 있다.
다음으로, 사용자는 예로서, 도 4d에 도시된 바와 같이, 그들의 손들을 "준비" 위치에 위치시키도록 지시받을 수 있으며, 여기에서 사용자의 손가락 끝들은 사용자의 손가락들이 사용자의 손바닥들을 템플릿 평면(400)을 향해 얼굴을 아래쪽으로 하여 위치시키도록 구부려지면서 템플릿의 홈 키들(406) 상에 위치된다. 교정 루틴의 이러한 단계 동안, 디바이스(100)는 방향 산출 모듈(304)에 대하여 이하에 논의된 바와 같이, 이전에 측정된 해부학적 치수들을 확인하며 방향 산출을 수행하기 시작할 수 있다.
사용자는 그 후 템플릿(400)의 키보드 표현(404) 상에서 미리 결정된 텍스트 스트링 또는 문장을 타이핑하도록 촉구될 수 있다. 사용자가 텍스트 스트링을 타이핑함에 따라, 디바이스(100)는 이하에 논의된 바와 같이, 방향 및 길이 산출들을 수행하고, 길이 평가를 산출하며, 움직임 및 행동 프로파일을 형성할 수 있다.
교정 루틴은 또한 "마우스 손 위치"를 추정하도록 사용자에게 지시할 수 있다(예로서, 밑에서의 컬링(d2, d3, d4) 및 사용자가 마우스를 동작시키기 위해 사용하는데 더 선호하는 손 또는 우세 손의 검지 손가락이 뻗어지는). 사용자는 그 후 뻗은 검지 손가락의 끝을 갖고 지그재그 라인(412)을 추정하도록 지시받는다. 교정 루틴이 이러한 단계 동안, 디바이스(100)는 3차원 산출들을 수행하고 Z 방향(예로서, 그것을 따라 사용자의 손들이 센서들(102, 104)을 향해 또는 센서들로부터 멀어져 이동하는, 센서들(102, 104)이 장착되며 템플릿 평면(400)에 평행하는 디바이스 표면(110)에 수직으로 연장되는 방향)으로 기준 프레임을 수립할 수 있다. 다음으로, "마우스 손 위치"를 유지하면서, 사용자는 뻗은 검지 손가락을 갖고 두 개의 수평 라인들(414, 416)을 추적하도록 지시받을 수 있다. 교정 루틴의 이러한 단계는 디바이스(100)가 X 방향(예를 들면, 그것을 따라 사용자의 손들이 센서들(102, 104)에 대하여 좌측 및 우측으로 이동할 수 있는, Z 방향에 수직이며 템플릿 평면(400)에 평행하여 연장되는 방향)으로 및 Y 방향(예를 들면, 그것을 따라 사용자의 손들이 센서들(102, 104)에 대해 위로 및 아래로 이동할 수 있는, 템플릿 평면(400)에 수직으로 연장되는 방향)으로 기준 프레임을 수립하도록 허용한다. 이러한 단계는 또한 디바이스(100)가 Z 방향으로 그것의 기준 프레임을 정제하도록 허용한다.
사용자 프로파일 모듈
다양한 양상들에서, 본 교시들에 따른 시스템들은 특정한 사용자와 관련된 정보(예로서, 사용자에게 특정한 데이터의 라이브러리)를 획득 및/또는 저장할 수 있다. 예로서, 일단 교정 루틴이 완료된다면, 사용자 프로파일 모듈(302)은 교정 루틴을 완료한 특정한 사용자에 고유한 사용자 프로파일 정보를 저장할 수 있다. 이것은 사용자로 하여금 교정 절차를 반복하지 않고 후속 세션들에서 디바이스(100)를 다시 사용하도록 허용할 수 있으며, 이는 근본적으로 교정 절차를 각각의 사용자에 대한 1-회 실행으로 만든다. 부가적으로 또는 대안적으로(예로서, 교정 루틴이 수행되지 않는 경우에서), 사용자 프로파일 모듈은 시스템과의 사용자 상호 작용을 통해 사용자에 특별한 정보를 획득 및/또는 저장할 수 있다. 이러한 저장된 정보는, 예를 들면, 사용자의 해부학적 특징들 및/또는 공통으로-사용된 제스처들, 동작들, 또는 행동 패턴들과 관련될 수 있다. 사용자 프로파일 모듈이 특정 사용자에 특별한 것으로 논의되지만, 다양한 실시예들에서, 특정한 사용자 프로파일과 연관된 데이터는 예를 들면, 승인된 2차 사용자들 또는 다양한 사용자들에 걸친 분류 모듈의 모집단을 허용하기 위해 공유될 수 있다.
다양한 양상들에서, 사용자 프로파일 정보는 이하에 설명되는 바와 같이, 디바이스의 사용자들을 인증하기 위해 사용될 수 있다. 예를 들면, 이제 도 5a 및 도 5b를 참조하면, 시스템은 손(좌측 또는 우측), 숫자(D1 내지 D5), 및 세그먼트(S1 내지 S4)에 의해 특정된 좌표 시스템에 사용자의 손들의 각각의 세그먼트를 매핑시킬 수 있다. 따라서, 사용자의 우측 검지 손가락의 끝은 그것들의 우측 D1S1으로 불리울 수 있으며, 사용자의 좌측 새끼 손가락의 베이스는 그것들의 좌측 D4S3으로 불리울 수 있다. 시스템은 또한 손(좌측 또는 우측), 숫자(D1 내지 D5), 및 관절(J1 내지 J3)에 의해 특정된 좌표 시스템에 사용자의 손들의 각각의 관절을 매핑시킬 수 있다.
예시된 실시예에서, 원위 발가락뼈는 S1에 매핑되고, 원위 지절간관절(DIP)은 J1에 매핑되고, 중간 발가락뼈는 S2에 매핑되고, 근위 지절간관절(PIP)은 J2에 매핑되고, 근위 발가락뼈는 S3에 매핑되고, 중수지절 관절(MP)은 J3에 매핑되며, 손바닥뼈는 S4에 매핑된다. 보다 정확하게, 이들 해부학적 특징들의 각각의 등쪽 양상 위에 높인 피부는 표시된 기준 좌표들에 매핑된다.
시스템은 또한 손(좌측 또는 우측) 및 손톱(N1 내지 N5)에 의해 특정된 좌표 시스템에 사용자의 손들의 각각의 손톱을 매핑시킬 수 있다. 각각의 손톱은 통상적으로 그 각각이 디바이스(100)에 의해 검출될 수 있는, 큐티클, 속손톱, 및 조판을 포함한다는 것이 이해될 것이다.
사용자 프로파일 정보는 도 5a 및 도 5b에 도시된 다양한 요소들의 각각의 크기 및 형태 및 요소들의 각각의 상대적인 위치들과 같은 사용자의 손들의 다양한 속성들 중 임의의 것을 포함할 수 있다. 사용자 프로파일 정보는 또한 사용자의 손톱들, 너클들, 흉터들, 문신들, 주름들 등의 다양한 속성들을 포함할 수 있다. 사용자의 피부의 컬러 및/또는 텍스처를 표시한 정보는 또한 사용자 프로파일 정보로서 저장될 수 있다.
상기 논의된 사용자의 손들의 물리적 속성들 외에, 사용자 프로파일 모듈(302)은 또한 특정한 방식(예로서, 패턴들, 마침꼴, 속도, 타이핑 스타일 등)으로 특정한 동작들을 수행하기 위해 사용자의 경향과 관련 있는 사용자 프로파일 정보를 저장하도록 구성될 수 있다. 따라서, 사용자 프로파일은 정상 사용 동안 또는 공통으로-사용된 제스처들, 동작들, 또는 행동 패턴들에 관한 교정 절차 동안 획득된 데이터를 포함할 수 있다. 도 5c에 도시된 바와 같이, 예를 들면, 시간에 걸쳐 생성된 데이터는 어떤 데이터 포인트들(예로서, 사용자의 손들의 구성요소들)이 워크스페이스에서 검출 가능한지를 결정하기 위해 및 이미지 내에서 상기 데이터 포인트들의 위치를 결정하기 위해 프로세싱될 수 있다. 예로서, 센서들 중 하나 이상이 이미징 센서들을 포함하는 경우에, 이 기술분야에 알려진 다양한 이미지 프로세싱 기술들 중 임의의 것이 예를 들면, 그 전체 콘텐트들이 참조로서 여기에 통합되는, Rothganger 외의, 2006, 231 내지 259, 컴퓨터 비전 66(3)의 국제 저널, "국소적 아핀-불변 이미지 디스크립터들 및 다중-뷰 공간 제약들을 사용한 3D 오브젝트 모델링 및 인식(3D OBJECT MODELING AND RECOGNITION USING LOCAL AFFINE-INVARIANT IMAGE DESCRIPTORS AND MULTI-VIEW SPATIAL CONSTRAINTS)"에 개시되는 바와 같이, 이러한 프로세싱을 수행하기 위해 이용될 수 있다. 이러한 프로세싱으로부터 획득된 데이터는 예를 들면, 수직 거리, 수직 속도, 수직 가속도, 수평 거리, 수평 속도, 수평 가속도, 각도 변위, 각속도, 각가속도 등과 같은, 각각의 특정 데이터 포인트의 다양한 모션 속성들을 산출하기 위해, 및 사용자 프로파일 모듈(302)에 저장될 수 있는 임의의 행동 패턴들을 결정하기 위해 상이한 시간 포인트들에서 획득된 데이터와 비교될 수 있다.
방향 산출 모듈
다양한 양상들에서, 디바이스(100)는 또한 서로에 대한 및 디바이스(100)에 대한 사용자의 손들의 위치 및 방향 관계를 결정하기 위해 교정 프로토콜 동안 교정 모듈(300)에 의해 획득된 정보 및/또는 사용 동안 시스템과의 사용자의 상호 작용을 통해 획득된 사용자(예로서, 비-교정된 사용자)에 특별한 정보를 사용하는 방향 산출 모듈(304)을 포함할 수 있다. 방향 산출 모듈(304)은 후속 산출들에서 사용된 하나 이상의 값들을 도출하기 위해 해부학적 파라미터들, 특정 사용자 치수들, 각도들, 움직임들, 및 다양한 다른 데이터를 사용할 수 있다. 예로서, 방향 산출 모듈은 손등의 중심을 표현하는 "코어" 값을 산출할 수 있으며 손 회전을 결정하기 위해 및/또는 움직이는 전체 손 및 손 뻗기 또는 오므리기에 대한 단지 하나의 손가락 사이에서 구별하기 위해 사용될 수 있다. 도 5d 내지 도 5e에서, 예를 들면, 우측 손의 코어 위치(CR) 및 좌측 손의 코어 위치(CL)가 음영 삼각형들로서 도시된다. 코어 값은 또한 사용자 및 디바이스(100)의 공통 환경에 의해 도입된 진동들(예로서, 양쪽 모두가 울퉁불퉁한 도로상에서 차량으로 이동하고 있다면)로부터 사용자에 의해 도입된 진동들(예로서, 손 떨림)을 구별하도록 도울 수 있다. 몇몇 양상들에서, 코어 값은 또한 예를 들면, X, Y, 및 Z 데이터를 미세 조정함으로써, 이하에 논의된 모션 산출 모듈(324)에 의해 수행된 움직임 산출들에 기여할 수 있다. 코어 값은 또한 이하에 논의되는 바와 같이, 분류 모듈(326)에 의해 이루어진 분류 결정들에 기여할 수 있다. 코어 값은 사용자가 계속된 사용 동안 그들의 손 위치를 변경할 수 있도록 디바이스(100)의 동작 동안 계속해서 재산출되며 조정될 수 있고, 그에 의해 연장된 기간들 동안 동일한 자세에 사용자의 손을 유지하도록 강요됨으로써 야기될 수 있는 피로 및 반복적 스트레스 장애들과 같은 건강 이슈들을 최소화하거나 또는 제거하면서 사용자 안정을 증가시킨다.
일 실시예에서, 코어 값은 사용자의 손들의 다양한 구성요소들 사이에서의 각도의 측정치들을 사용하여 산출될 수 있다. 예를 들면, 도 5d에 도시된 바와 같이, 방향 산출 모듈(304)은 다양한 각도들(A1 내지 A9) 중 임의의 것을 측정할 수 있다. 예시된 각도들(A1 내지 A9)은 단지 대표적이며, 각도들은 좌측 손 코어 위치(CL) 및 우측 손 코어 위치(CR)를 산출하기 위해 사용자의 손들 및 손가락들의 관절들 또는 세그먼트들 중 임의의 것 사이에서 측정될 수 있다는 것이 이해될 것이다.
도 5d 내지 도 5e에 도시된 바와 같이, 코어 위치(CL, CR)에 의해 형성된 각도들 및 사용자의 손들의 임의의 두 개의 세그먼트들, 관절들, 또는 손톱들은 디바이스(100)에 대하여 손의 방향을 결정하기 위해 사용될 수 있다. 방향 산출은 디바이스(100)로 하여금 광범위한 손 방향들과 함게 사용되도록 및 손 방향에서의 변화들에 실시간으로 적응하도록 허용하기 위해 이하에 논의된 모션 및 분류 프로세싱에 요인으로 포함될 수 있다. 따라서, 디바이스(100)는 종래의 고정-형상 기계 키보드들과 및 고정-형상 가상 키보드들과 연관된 제약들 및 인체 공학적 이슈들을 겪지 않는다.
해부학적 파라미터들 모듈
디바이스(100)는 또한 그들의 골격 구조, 근육들, 및 관절들을 포함하여, 인간 손들의 물리적 제약들에 기초하여 하나 이상의 규칙들을 저장하는 해부학적 파라미터 모듈(306)을 포함할 수 있다. 산출들이 기초하는 토대를 제공하는 것과 함께, 이러한 정보는 예를 들면, 물리적으로 불가능한 손 위치들을 표시하는 임의의 센서 판독들을 스퓨리어스로서 조정하거나 또는 폐기함으로써, 디바이스 정확도를 개선하기 위해 사용될 수 있다. 게다가, 전체 워크스페이스의 센서의 뷰가 예를 들면, 사용자 손의 다양한 부분들에 의해 가려질 때, 해부학적 파라미터 모듈(306)은 하나 이상의 관찰 가능한 데이터 포인트들에 기초하여 제스처의 결정을 돕기 위해 정보를 제공할 수 있다.
모드 선택 모듈
디바이스는 또한 복수의 동작 모드들 사이에서 디바이스(100)를 스위칭하도록 구성된 모드 선택 모듈(308)을 포함할 수 있다. 대표적인 동작 모드는 키보드 입력 모드, 숫자 패드 입력 모드, 및 마우스 입력 모드를 포함한다. 모드 선택 모듈(308)은 사용자의 손 위치와 같은, 다양한 파라미터들 중 임의의 것을 평가함으로써 원하는 동작 모드를 결정할 수 있다.
도 6a는 손가락 끝들이 워크스페이스(106) 내에서 표면(108) 상에 받치고 있으며 사용자의 손바닥들이 표면(108)을 향해 아래쪽을 향하도록 구부려지는 대표적인 "키보드 입력 모드 위치"에 위치된 사용자의 손들을 도시한다. 다시 말해서, 사용자는 종래의, 물리적 키보드를 타이핑할 때 그들이 하는 바와 같이 준비 위치에 그들의 손들을 위치시킨다. 도 6b는 사용자가 키보드 입력 모드 위치를 추정할 때 센서들(102, 104) 중 하나에 의해 캡처된 대표적인 이미지를 예시한다. 도시된 바와 같이, 양쪽 손들의 D1 내지 D4의 손톱들(N1 내지 N4) 및 관절들(J1 내지 J3)은 통상적으로 키보드 입력 모드 위치에서 가시적이다. 도 6b는 또한 각각의 손의 코어 위치들(CL, CR)을 도시하며, 이것은 상기 설명된 바와 같이 산출된다. 모드 선택 모듈(308)이 사용자의 손들이 키보드 입력 모드 위치에 위치됨을 검출할 때, 현재 동작 모드는 키보드 입력 모드로 스위칭된다.
도 7a는 대표적인 "숫자 패드 입력 모드 위치"에 위치된 사용자의 손들을 도시한다. 이러한 위치는, 사용자의 우세 손(708), 또는 사용자가 숫자 패드 입력들을 위해 사용하기를 원하는 손이 앞으로 및/또는 "홈" 키보드 제스처 위치로부터 적어도 약간 바깥쪽으로 멀리 이동된다는 점을 제외하고, 키보드 입력 모드 위치와 유사하다. 도 7b는 사용자가 숫자 패드 입력 모드 위치를 추정할 때 센서들(102, 104) 중 하나에 의해 캡처된 대표적인 이미지를 예시한다. 도시된 바와 같이, 양쪽 손들 상에서의 D1 내지 D4의 손톱들(N1 내지 N4) 및 관절들(J1 내지 J3)은 숫자 패드 입력 위치에서 여전히 가시적이지만, 센서들(102, 104)에 더 가까운 우세 손(710)의 위치로 인해, 우세 손(708)에 대한 것보다 비-우세 손(710)에 대해 더 작게 나타난다. 이러한 크기 차이는 키보드 입력 모드 위치 및 숫자 패드 입력 모드 위치 사이에서 구별하는 것을 돕기 위해 사용될 수 있다. 크기 차이 외에, 손 위치에서의 변화(예로서, 각각의 손에 대한 코어 위치(CR, CL) 또는 사용자의 손들의 하나 이상의 구성요소들의 X, Y, 및 Z 좌표들에 의해 표시된 바와 같이)는 모드 변화들이 발생할 때 결정하기 위해 사용될 수 있다. 예를 들면, 사용자가 전체 손을 들어올리며 그것을 워크스페이스(106)에서의 또 다른 위치로 이동할 때 발생하는 코어 변화는 숫자 패드 입력 모드로 전이하기 위한 의도로서 해석될 수 있다. 산출된 코어 위치들(CR, CL)이 또한 도 7b에 도시된다.
또 다른 대표적인 숫자 패드 입력 모드 위치는, 사용자의 비-우세 손(710), 또는 사용자가 숫자 패드 입력을 위해 사용하고 싶어하지 않는 손이 워크스페이스(106)로부터 제거된다는 점을 제외하고, 키보드 입력 모드 위치와 유사하다. 따라서, 숫자 패드 입력 모드는 여러 개의 방식들로 활성화될 수 있다. 양쪽 손들(708, 710)이 이미 워크스페이스(106)에 있다면, 사용자는 비-우세 손(710)을 제거하며 우세 손(708)을 계속할 수 있다. 부가적으로, 사용자는 양쪽 손들(708, 710)을 워크스페이스에 유지할 수 있으며 단지 우세 손(708)을 앞으로 이동시킬 수 있다. 또한, 손 중 어떤 것도 워크스페이스(106)에 존재하지 않는다면, 사용자는 단지 하나의 손만을 갖고 워크스페이스에 들어감으로써 숫자 패드 입력 모드에 들어갈 수 있다. 키보드 입력 모드로 돌아가기 위해, 사용자는 키보드 입력 모드 위치의 원래 깊이로 다시 우세 손(708)을 떨어뜨리고 타이핑으로 돌아갈 수 있다. 대안적으로, 사용자는 키보드 입력 모드를 재개하기 위해 비-우세 손(710)을 갖고 워크스페이스(106)를 다시 들어갈 수 있다. 모드 선택 모듈(308)이 사용자의 손들이 숫자 패드 입력 모드 위치에 위치됨을 검출할 때, 현재 동작 모드는 숫자 패드 입력 모드로 스위칭된다.
도 8a는 대표적인 "마우스 입력 모드 위치"에 위치된 사용자의 손들을 도시한다. 이러한 위치는, 사용자의 우세 손(808), 또는 사용자가 마우스 입력을 위해 사용하고 싶어하는 손의 검지 손가락(D1)이 디바이스(100)를 향해, Z 방향으로 앞으로 연장된다는 점을 제외하고, 키보드 입력 모드 위치와 유사하다. 도 8b는 사용자가 마우스 입력 모드 위치를 추정할 때 센서들(102, 104) 중 하나에 의해 캡처된 대표적인 이미지를 예시한다. 도시된 바와 같이, 우세 측 상에서의 D1이 뻗어지는 반면, D2, D3, 및 D4는 오므린 채로 있다. D1 손톱(N1)은 이 위치에서 가시적인 반면, D2, D3, 및 D4 손톱들은 가시적이지 않다. 일반적으로, 이러한 손 위치로의 전이는 각각 D2, D3, 및 D4의 손톱들(N2, N3, 및 N4)의 점진적인 소멸에 의해 보여질 것이다. 또한, D1의 모든 3개의 관절들(J1, J2, 및 J3)은 가시적인 반면, 단지 두 개의 관절들(J2, J3)은 D2, D3, 및 D4 상에서 가시적이다. 또한, 관절들(J3)은 손가락들이 오므려질 때 더 두드러진다. 다시 말해서, 좌-우 또는 X 방향에서 실질적으로 편평하게 놓여 있는 것처럼 보이는 관절들(J3) 대신에, 밸리들은 손가락들이 오므려질 때 관절들(J3) 사이에 나타난다). 이러한 정보는 다른 손 위치들로부터 마우스 입력 모드 위치를 구별하기 위해 사용될 수 있다. 마우스 입력 모드 위치에 있는 동안, 클릭 및 드래그 기능들은, 사용자가 실제로 버튼을 클릭하지 않는다는 점을 제외하고, 물리적 마우스를 사용하는 것과 유사한 제스처들을 사용하여 성취될 수 있다. 모드 선택 모듈(308)이 사용자의 손들이 마우스 입력 모드 위치에 위치됨을 검출할 때, 현재 동작 모드는 마우스 입력 모드로 스위칭된다. 가리키지 않는 손이 도 8a 및 도 8b에 도시되지만, 마우스 입력 모드는 또한 단지 워크스페이스(106) 내에서 가리키는 손만을 보여줌으로써 입력 및 사용될 수 있다.
상기 논의에서 주지된 바와 같이, 동작 모드가 사용자에 의해 요구되는 것에 대한 결정이 상기 논의된 다양한 센서들로부터 출력된 데이터를 평가함으로써 이루어질 수 있다. 예를 들면, 센서들에 의해 캡처된 데이터에 존재하는 손톱들의 수를 카운팅하는 것은, 손톱이 일반적으로 손가락이 오므려질 때 센서들에게 가시적이지 않기 때문에, 하나 이상의 손가락들이 뻗어지고 있는지를 결정하도록 돕기 위해 사용될 수 있다. 손톱들의 고유 품질들은 센서 데이터 내에서 손톱들을 식별하기 위해 사용될 수 있다. 이들 품질들은 손톱의 형태, 손톱의 반사성, 및 손톱의 위치(손톱은 손가락의 끝에 있는 것으로 가정된다)를 포함할 수 있다. 모드 결정은 숫자가 철회될 때와 대조적으로 숫자가 연장될 때 관찰되는 숫자의 관절들 사이에서의 거리에서의 변화들과 같은, 센서 출력으로부터 해석된 다른 데이터에 의해 증강될 수 있다.
다양한 사용자 동작들이 동작 모드들 사이에서 전이하기 위한 트리거로서 사용될 수 있다는 것이 이해될 것이다. 예를 들면, 마우스 입력 모드는 D1을 뻗는 동안 두 개의 손들이 워크스페이스에 있으며 하나의 손이 숫자들(D2 내지 D4)을 철회할 때 들어가질 수 있다. 마우스 입력 모드는 또한 하나의 손이 뻗어진 D1을 갖고 워크스페이스에 존재할 때, 또는 단지 하나의 손만이 워크스페이스에 들어가며 하나의 손에서의 D1이 연장될 때 들어가질 수 있다. 마우스 입력 모드로의 전이들은 숫자 패드 입력 모드, 키보드 입력 모드, 맞춤 패드 입력 모드 등으로부터 발생할 수 있다. 추가 예로서, 키보드 입력 모드는 두 개의 손들이 워크스페이스에 들어갈 때, 또는 하나의 손이 또 다른 손이 이미 워크스페이스에 존재하는 동안 워크스페이스에 들어갈 때 들어가질 수 있다. 키보드 입력 모드로의 전이들은 숫자 패드 입력 모드, 마우스 입력 모드, 맞춤 패드 입력 모드 등으로부터 발생할 수 있다. 추가 예로서, 숫자 패드 입력 모드는 우세 손이 키보드 입력 모드에 있는 동안 앞으로 이동할 때, 단지 하나의 손이 워크스페이스에 들어갈 때, 또는 하나의 손이 단지 하나의 손만을 워크스페이스에 남겨두고 워크스페이스를 빠져나올 때 들어가질 수 있다. 숫자 패드 입력 모드로의 전이들은 마우스 입력 모드, 키보드 입력 모드, 맞춤 패드 입력 모드 등으로부터 발생할 수 있다. 상기 설명된 다양한 입력 모드들이 템플릿과 함께 또는 독립적으로, 워크스페이스에 존재하는 템플릿을 갖고 기능할 수 있다는 것이 이해될 것이다.
제스처 라이브러리 모듈
디바이스는 또한 제스처 라이브러리 모듈(310)을 포함할 수 있으며, 이것은 사용자가 여기에 논의된 다양한 입력 모드들(예로서, 키보드 입력, 숫자 패드 입력, 및/또는 마우스 입력 모드들)과 함께 사용하기 위한 맞춤 제스처들을 정의하도록 허용할 수 있다. 다시 말해서, 제스처 라이브러리 모듈(310)은 특정한 출력 행동과 특정한 입력 제스처를 연관시키는 규칙들을 저장할 수 있다. 예를 들면, 키보드 입력 모드에 있는 동안 수행된 연장된 스트라이크 지속 기간은 대문자가 요구됨을 표시하는 맞춤 제스처로서 해석될 수 있다. 유사하게, D1 및 D2의 동시 스트라이크(즉, 2-손가락 탭)는 백스페이스 또는 삭제 동작이 요구됨을 표시하는 맞춤 제스처로서 해석될 수 있다. 연장된 지속 기간의 2-손가락 탭들은 다중 문자 백스페이스 또는 삭제 동작을 표시하는 맞춤 제스처로서 해석될 수 있다. 따라서, 예를 들면, 텍스트의 전체 섹션을 삭제하기 위해, 사용자는 마우스 입력 모드로 전이하고, 텍스트를 강조하며, 2-손가락 탭을 수행할 수 있다. 일 대표적인 실시예에서, 워크스페이스 내에서, 그의 검지 손가락을 엄지 손가락으로부터 분리하거나 또는 핀칭 모션에 그의 검지 손가락 및 엄지 손가락을 합치는 사용자의 제스처는 각각 줌 인 또는 아웃과 같은 특정한 동작과 연관될 수 있다.
사용자에 의해 정의된 제스처들은 얼마나 정확하게 그것들이 검출될 수 있는지를 결정하기 위해 디바이스(100)에 의해 평가될 수 있으며, 강도 등급 모듈(328)에 대하여 이하에 논의되는 바와 같이, 강도 등급을 할당받을 수 있다. 강도 등급 정보는 그 후 특정한 제스처가 약함을 사용자에게 알리기 위해, 또는 더 강할 수 있는 대안 제스처들을 제안하기 위해 사용될 수 있다.
제스처 라이브러리 모듈(310)은 또한 템플릿 식별 모듈에 대하여 이하에 설명되는 바와 같이, "템플릿"의 존재에 의존하는 입력 모드들을 포함할 수 있다.
출력 모듈
다양한 양상들에서, 출력 모듈(312)은 현재 동작 모드에 의존하여, 사용자 입력들에 응답하여 생성될 수 있는 가능한 출력의 세계를 정의할 수 있다. 예를 들면, 키보드 입력 모드에 대한 가능한 출력들은 알파벳 대문자 및 소문자들(A-Z), 리턴/엔터, 스페이스바, 대문자, 백스페이스, 탭, 기능 키들을 포함할 수 있다. 숫자 패드 입력 모드에 대한 가능한 출력들은 숫자들(0 내지 9)을 포함할 수 있다. 마우스 입력 모드에 대한 가능한 출력들은 포인트, 클릭, 더블 클릭, 선택, 드래그 해제, 우측 클릭 등을 포함할 수 있다. 예를 들면, 일 실시예에서, 우측 클릭은 검지 손가락을 우측으로 떨어져 이동시킴으로써 표시될 수 있으며 단일 탭을 수행한다. 부가적인 가능한 출력들은 매크로들, 심볼들, 구두점들, 특수 문자들 및 다른 기능들을 포함할 수 있다. 예를 들면, 키보드 입력 모드에서, 사용자의 비-우세 손은 CTRL, ALT, Page Up, 및 Page Down과 같은 특수 키 또는 기능 키를 입력하기 위한 제스처를 수행할 수 있다.
보안 모듈
디바이스(100)는 또한 디바이스(100) 또는 디바이스(100)가 결합되는 디지털 데이터 프로세싱 시스템의 장래 사용자를 인증하도록 구성된 보안 모듈(314)을 포함할 수 있다. 저장된 사용자 프로파일 정보를 이용하여, 사용자의 고유 손 치수들은 장래의 사용자가 게이팅 함수로서 허가된 사용자인지 여부를 결정하기 위해(예로서, 워크스페이스로의 초기 입력시 패스워드의 입력 시간에) 다른 보안 수단들(예로서, 미리 정의된 패스워드 또는 제스처)과 함께 또는 단독으로 및/또는 사용자가 사용자가 여전히 허가된 채로 있다는 것을 보장하기 위해 시스템을 액세스하는 동안 계속해서 사용될 수 있다.
보안 모듈(314)은 또한 패스워드를 입력할 때 사용자가 동일한 패턴들, 마침꼴, 속도, 타이핑 스타일 등을 모방하거나 또는 반복하려는 경향이 있다는 지식에 기초한 행동 구성요소를 포함할 수 있다. 이들 행동들은 각각의 허가된 사용자에 대한 사용자 프로파일 정보의 일부로서 저장될 수 있으며, 장래의 사용자가 허가되는지 여부를 결정하기 위해 장래의 사용자의 행동들에 비교될 수 있다. 극단적인 예에서, 이것은 유리하게는 동일한 물리적 손가락 구조 및 특성들을 가진 동일한 쌍둥이 사이에서 구별할 수 있다. 이러한 프로토콜은 또한 행동 및/또는 외관에 영향을 미칠 수 있는 사용자의 손들의 물리적 특징에서의 손상 또는 몇몇 다른 예측하지 못한 변화를 수용하기 위한 능력을 가진다. 보안 모듈(314)은 현재 사용자가 여전히 허가된 사용자임을 보장하기 위해 동작 동안 사용자의 타이핑 스타일 또는 다른 행동들을 계속해서 또는 간헐적으로 모니터링할 수 있다. 예를 들면, 몇몇 실시예들에서, 디바이스(100)는 워크스페이스에 존재하는 랜드마크들의 수가 미리 결정된 임계치 이하가 될 때마다 사용자 인증이 요구됨을 결정할 수 있다. 다시 말해서, 사용자가 워크스페이스로부터 그들의 손들을 제거할 때, 디바이스(100)는 잠겨질 수 있어서, 예로서, 하나 이상의 미리 결정된 허가된 사용자들의 것들에 사용자의 행동 또는 물리적 속성들을 비교함으로써, 그 다음에 워크스페이스에 들어가는 임의의 사용자가 인증되도록 요구한다. 따라서, 1-회 패스워드 프롬프트와 달리, 이것은 디바이스(100)로 하여금 허가된 사용자가 디바이스(100)를 잠금 해제하고 그 후 디바이스(100)를 내버려둘 때 허가되지 않은 사용자들에 의해 액세스를 방지하도록 허용할 수 있다. 보안 모듈(314)은 정확도를 개선하기 위해 증강 및 행동 정보를 파악하고 있으며 시간에 걸쳐 행동 변화들에 적응할 수 있다.
디바이스(100)에 의해 제공된 또 다른 보안 이점은 패스워드, 사회 보장 번호, 신용 카드 번호, 또는 임의의 다른 민감 데이터를 가시적인 키보드의 사용 없이 디지털 데이터 프로세싱 시스템에 입력하기 위한 능력이다. 이것은 사용자가 민감 정보를 훔치기 위해 사용자의 어깨 너머로 보며 어떤 키들을 치는지를 보는 허가되지 않은 당사자의 위험을 제거할 수 있다.
템플릿 식별 모듈
디바이스는 또한 "워크스페이스 내의 워크스페이스"로서 작용할 수 있는, "템플릿"과 같은, 사용자의 손들이 아닌 오브젝트들을 가진 디바이스(100)의 사용을 용이하게 하기 위해 템플릿 식별 모듈(316)을 포함할 수 있다. 템플릿들은 다양한 구성들을 가질 수 있지만, 다양한 실시예들에서 사용자가 물리적으로 상호 작용하고 및/또는 조작할 수 있는 선택된 입력 모드의 물리적 표현일 수 있다. 예로서, 템플릿은 키보드, 마우스, 숫자 패드, 특수 기능 키 패드, 음악 입력(예로서, 피아노 키보드), 그림/쓰기 도구 등의 물리적 표현일 수 있다. 몇몇 실시예들에서, 템플릿은 고정된 키 표현들(예로서, 영-숫자 키들, 특정한 미리-정의된 기능들과 연관된 키들, 피아노 키들)을 갖는 표면, 키 표현들이 서로에 대해 고정되는 위치들을 갖지만 반드시 센서(들) 또는 워크스페이스에 대하여 고정되는 것은 아닌 고정된 의미를 가진 판 또는 카드일 수 있다. 이것은 예를 들면, 보다 제한적인 공간(차량 또는 공장에서와 같은)에서 구현될 템플릿과 연관된 특정 명령어들에 대해 중요한 특정 산업 환경들에서 사용될 수 있다. 템플릿의 사용에 의해 제공된 표준화된 키 표현들은 또한 2 손가락 타이피스트와 같은 상이한 타이핑 스타일들을 위해 도움이 될 수 있다.
템플릿은 템플릿이 워크스페이스에 들어갈 때 센서들에 의해 생성된 데이터에 기초하여 템플릿 식별 모듈에 의해 식별 가능하도록 문자, 심볼, 형태, 이미지, 패턴 등을 갖고 코딩될 수 있다. 예로서, 템플릿 식별 모듈은 특정한 기능 또는 치수의 템플릿을 표시하기 위해 바 코드들 및 빠른 응답(QR) 코드들과 같은 산업에서(예로서, 의료 분야에서) 사용된 패턴들을 인식하도록 구성될 수 있다. 도 8c를 참조하면, 예를 들면, 대표적인 키보드 템플릿은 패턴(예로서, 형태들의 어레이, 십자들)을 갖고 코딩되며 워크스페이스 내에서의 특정한 위치들에 위치된 특별한 키들을 가진 키보드를 표현하는 것으로서 템플릿 식별 모듈(316)에 의해 식별될 수 있는 대략 1/16 인치의 센서-향 에지를 가질 수 있다. 대안적으로, 도 8d 및 도 8e에 도시되는 바와 같이, 템플릿은 미리-정의된 문자들, 매크로 등과 같은 특정한 특수 기능들과 연관될 수 있거나 또는 사용자가 특정한 기능들(예로서, F2 버튼, 저장, 매크로 1)을 할당할 수 있는 특정한 영역들을 정의할 수 있다. 다양한 양상들에서, 템플릿 식별 모듈(316)은 패턴의 검출에 기초하여 템플릿의 위치 및/또는 그것의 아이덴티티를 결정할 수 있다. 예로서, 도 8d 및 도 8e를 참조하면, 템플릿의 센서-향 에지 상에서의 십자들의 패턴은 디바이스(100)에 대한 템플릿의 방향에 기초하여 변경될 것이다. 예를 들면, 템플릿이 디바이스(100)(도 8d)에 대해 삐딱하다면, 관찰된 패턴은 디바이스(도 8e)에 직각인 템플릿 상에서의 동일한 패턴에 대하여 좁고 줄어든 것으로 보일 것이다. 디바이스는 그 후 특정한 입력을 표현하기 위해 정의되는 템플릿 상에서의 하나 이상의 영역들을 표현하는 좌표들을 결정하기 위해 이러한 검출된 패턴을 이용할 수 있다. 일단 템플릿이 식별되고 워크스페이스 내에서의 그것이 위치가 그것의 코드에 기초하여 결정된다면, 예를 들면, 디바이스(100)는 템플릿 상에 정의된 입력들 또는 특수 기능들과 사용자 제스처들을 동일시할 수 있다. 몇몇 실시예들에서, 디바이스(100)는 워크스페이스 내에서의 다른 오브젝트들(예로서, 쓰기 도구들)의 움직임 또는 변화하는 배경이 무시될 수 있도록, 단지 손들 또는 템플릿들에만 응답하기 위해 구성될 수 있다.
템플릿 식별 모듈(316)은 또한 워크스페이스(106)에서 사용자에 의해 조작되며 센서들에 의해 검출될 수 있는 다양한 오브젝트들을 검출하도록 구성될 수 있다. 예를 들면, 템플릿 식별 모듈은 그것의 크기, 형태, 컬러, 또는 다른 식별 특성들에 기초하여 사용자에 의해 유지되는 스타일러스(예로서, 펜, 연필) 또는 다른 도구와 같은 대표적인 툴을 식별하도록 구성될 수 있다. 또한, 몇몇 양상들에서, 툴들은 템플릿 식별 모듈로 하여금 툴을 식별하고 및/또는 워크스페이스에서의 그것의 위치를 결정할 수 있게 하는 코드(예로서, 바 코드, QR 코드) 및/또는 패턴을 포함할 수 있다. 게다가, 여기에 달리 논의된 바와 같이, 프로세서는 부가적인 입력 정보가 결정될 수 있는 위치 및 움직임 데이터를 제공하기 위해 워크스페이스 내에서 코드 및/또는 패턴을 추적할 수 있다. 예로서, 패턴의 검출을 통해 스타일러스의 방향(예로서, 기울기) 및 속도는 스타일러스를 갖고 사용자에 의해 표시되는 라인의 무게, 두께, 또는 강도를 산출하기 위해 사용될 수 있다.
도 8f 및 도 8g를 참조하여, 예를 들면, 템플릿 식별 모듈(316)은 툴(예로서, 스타일러스(800)) 상에 배치된 패턴의 식별에 기초하여 툴(예로서, 대표적인 그림 툴에 의해 생성된 컬러, 라인 폭, 패턴)에 의해 표현된 원하는 입력의 특성들 및/또는 툴(예로서, 그림 툴)의 존재를 결정할 수 있다. 예를 들면, 도 8f에서의 대표적인 스타일러스(800) 상에 배치된 동심 원들의 패턴은 하이라이터를 표현하는 것으로서 템플릿 식별 모듈(316)에 의해 식별될 수 있는 반면, 예를 들면, 도 8g에 묘사된 십자들의 패턴은 특정된 컬러의 라인 및/또는 라인 두께를 생성하는 펜을 식별할 수 있다. 몇몇 양상들에서, 예를 들면, 펜을 표현한 스타일러스는 스타일러스의 모션에 의해 표시된 라인의 두께를 증가시키기 위해 기울어질 수 있다. 게다가, 여기에 달리 논의된 바와 같이, 프로세서는 그림 툴의 위치 및 방향이 추적되도록 허용하기 위해 워크스페이스 내에서의 스타일러스(800) 및 결정된 사용자 입력을 사용자가 조작하는 바와 같이 패턴의 움직임을 추적할 수 있다. 이것은 디바이스(100)로 하여금 워크스페이스(106)가 화이트 보드, 데스크탑, 테이블탑, 디스플레이, 벽 등의 표면을 포함하도록 및 디바이스(100)가 툴의 움직임을 검출하며 다양한 사용자 입력들로서 이러한 움직임을 해석할 수 있도록 위치되도록 허용할 수 있다. 예를 들면, 몇몇 실시예들에서, 복수의 쓰기 도구들이 제공될 수 있으며, 각각은 특정한 유형의 입력 정보 또는 입력 속성(예로서, 입력 컬러, 입력 라인 폭 등)과 쓰기 도구를 연관시키는 고유 특성, 마킹, 및/또는 패턴을 가진다. 또한, 스타일러스들(800)이, 스타일러스의 움직임이 또한 디바이스(100)에 의해 검출되는 동안 사용자로 하여금 실제로 오브젝트(예로서, 종이 또는 화이트 보드) 상에 기록하도록 허용하는 물리적 팁(802)(예로서, 고체-지우개 팁)을 갖는 것으로서 도 8f 및 도 8g에 묘사되지만, 상기 팁은 단지 툴의 입력 특성들(예로서, 컬러, 라인 폭 등)을 사용자에게 시각적으로 표현할 수 있다는 것이 이해될 것이다. 부가적으로, 몇몇 실시예들에서, 툴은 사용자가 원하는 입력을 위해 선택할 수 있게 하는 메커니즘을 포함할 수 있다. 예로서, 사용자는 도 8f에 묘사된 바와 같이 스타일러스(800)에 의해 디스플레이된 패턴이 도 8g에 묘사된 패턴으로 대체되도록 스타일러스(800) 상에서의 기계적 버튼을 누를 수 있다. 몇몇 실시예들에서, 예를 들면, 템플릿은 부가적으로 사용자로 하여금 명령들을 프로세서에 직접 전달하도록 허용하는 하나 이상의 제어들을 포함할 수 있다. 예를 들면, 다양한 실시예들에서, 사용자는 이전 제스처를 무효로 만들기 위해 프로세서에 입력 정보를 송신할 수 있는(예로서, 라디오 또는 IR 신호를 통해) 버튼을 누를 수 있다. 이러한 방식으로, 템플릿 식별 모듈(316)은 그러므로 스타일러스의 모션의 검출과 연관될 원하는 입력 특성들을 표시할 수 있다.
에러 핸들링 모듈
디바이스(100)는 또한 디바이스(100)의 전체 정확도를 개선하기 위한 에러 핸들링 모듈(318)을 포함할 수 있다. 예를 들면, 에러 핸들링 모듈(318)은 사전 또는 다른 참조 데이터 소스에 하나 이상의 이전 입력들을 비교함으로써 복수의 잠재적인 "키들" 중 어떤 것이 스트라이킹되는지 대한 위기 상황을 해결하도록 구성되는 단어 추측기를 포함할 수 있다.
클록 모듈
디바이스(100)는 또한 사용자 제스처들(사용자가 제공하려고 시도하는 특정 입력을 결정하도록 돕기 위해 사용될 수 있는)의 속도를 평가하기 위한, 또는 배터리 수명을 보존하기 위해 하이버네이션 모드에 디바이스(100)를 두는 것이 적절할 때를 결정하기 위한 클록 모듈(320)을 포함할 수 있다. 예를 들면, 미리 결정된 시간이 사용자 입력 없이 경과된다면, 디바이스는 센서들(102, 104)의 샘플 레이트가 감소되며 광원(112)이 턴 오프되는 하이버네이션 모드에 자동으로 들어갈 수 있다.
피드백 모듈
대안적으로 또는 워크스페이스 내에서 사용자의 제스처들의 디바이스(100)에 의한 검출에 기인한 디지털 데이터 프로세싱 시스템에 의해 생성된 출력 이외에, 디바이스(100)는 또한 사용자에게 시각적 또는 가청 피드백을 제공하도록 구성된 피드백 모듈(322)을 포함할 수 있다. 일 실시예에서, 피드백 모듈(322)은 디스플레이 디바이스 상에서 팝업 키보드 또는 다른 그래픽 템플릿을 디스플레이하도록 구성될 수 있다. 스트라이크 또는 다른 사용자 제스처가 검출될 때, 스트라이킹되는 키는 팝업 표현상에서 강조될 수 있다. 팝업의 디스플레이는 미리 결정된 시간 기간 동안 어떤 움직임도 없는 준비 위치에서 사용자가 그들의 손들을 위치 결정함으로써 트리거될 수 있다. 시간 기간의 지속 기간이 조정될 수 있으며, 팝업은 함께 디스에이블될 수 있다. 이러한 특징은 사용자가 먼저 디바이스(100)를 동작시키는데 익숙해질 때, 및 "키들"을 위치시키기 위해 시각적 가이드를 필요로 할 때 도움이 될 수 있다. 기준 스크린 또는 템플릿이 또한 미리 결정된 제스처에 응답하여 디스플레이될 수 있으며, 이것은 제스처 라이브러리 모듈(310)에 의해 저장될 수 있다. 기준 스크린은 또한 모드-특정적일 수 있으며, 따라서 키보드는 키보드 입력 모드에 디스플레이되고, 숫자 패드는 숫자 패드 입력 모드에 디스플레이되는 등이다. 다른 유형들의 피드백이 또한 예를 들면, 스트라이크가 검출될 때 클릭 또는 다른 사운드를 생성함으로써, 피드백 모듈(322)에 의해 제공될 수 있다.
모션 산출 모듈
디바이스(100)는 또한 워크스페이스(106) 내에서 사용자의 모션을 평가하기 위한 모션 산출 모듈(324)을 포함할 수 있다. 상기 주지된 바와 같이, 시간에 걸쳐 센서들에 의해 생성된 데이터는 사용자의 손들의 하나 이상의 구성요소들에 대한 수직 거리, 수직 속도, 수직 가속도, 수평 거리, 수평 속도, 수평 가속도, 각도 변위, 각속도, 각가속도, 크기에서의 변화들 등을 도출하기 위해 프로세싱될 수 있다. 예를 들면, 도 8h 및 도 8i를 참조하면, 그것 상에 투사된 구조화된 광(예로서, 가시광, IR)의 대표적인 표현을 가진 사용자의 손은 제 1 위치(도 8h)로부터 제 2 위치(도 8i)로 이동하는 것으로 묘사된다. 사용자의 손이 이동됨에 따라 구조화된 광의 각각의 원의 패턴, 크기, 및 형태에 관한 구조화된 광 센서에 의해 생성된 데이터는 원들의 위치, 크기, 및 형태에서의 변화들에 기초하여 시간에 걸친 그것의 움직임뿐만 아니라 사용자의 손의 순시적인 3-차원 위치 결정을 결정하기 위해 프로세서(예로서, 모션 산출 모듈)에 의해 사용될 수 있다. 묘사된 실시예에 구조화된 광은 복수의 원들을 보여주지만, 구조화된 광의 다양한 패턴들이 사용될 수 있다(예로서, 수평 선들, 수직 선들, 컬러링된 광 바들 등)는 것이 이해될 것이다. 구조화된 광은 적외선의 특징일 수 있으며, 따라서 인간 눈에 가시적이지 않다는 것이 이해될 것이다.
또한, 대표적인 모션 산출 모듈(324)은 상기 설명된 바와 같이 단일 3-차원 감지 양식(예로서, 구조화된 광 센서)으로부터 도출된 데이터에 기초하여 워크스페이스에서의 오브젝트의 모션 및/또는 3-차원 위치 결정을 도출할 수 있지만, 예를 들면, 프로세서는 부가적으로 워크스페이스의 사용자의 상호 작용의 훨씬 더 강력한 표현을 생성하기 위해 동일한 또는 상이한 양식의 하나 이상의 부가적인 센서(들)에 의해 생성된 데이터를 수신할 수 있다는 것이 이해될 것이다. 몇몇 실시예들에서, 예를 들면, 모션 산출의 일부로서, 일 세트의 "활성 움직임 변수들"에 대한 값들의 스트림은 다양한 모듈들에 의해 프로세싱을 미세-조정하기 위해 또 다른 구조화된 광 센서 또는 이미징 센서로부터 수신된 데이터에 기초하여 방향 산출 모듈(304)에 의해 수행된 코어 산출에 기초하여 조정될 수 있다. 예로서, 움직임 변수들은 다양한 센서들에 걸쳐 비교될 수 있다. 일 실시예에서, 모드 선택 모듈(308)에 의해 결정된 현재 동작 모드는 활성 움직임 변수들 중 어떤 것이 움직임 산출에 적절한지를 결정하기 위해 사용될 수 있다.
3차원 변수들은 또한 그 각각이 워크스페이스(106)의 상이한 밴티지 포인트를 갖는, 다수의 센서들의 출력을 비교함으로써 산출될 수 있다. 둘 이상의 이미징 센서들(102, 104)을 사용함으로써, 예를 들면, 삼각 측량 또는 시차 알고리즘들이 사용자의 손들의 특정한 세그먼트가 센서들(102, 104)에 대해 얼마나 가까이 또는 멀리 있는지를 결정하도록 깊이 산출을 획득하기 위해 사용될 수 있다. 입체 이미지들에 기초하여 특정한 오브젝트의 깊이를 결정하기 위한 대표적인 기술들이 2007년 2월, 기기 장치 및 측정에 대한 IEEE 트랜잭션들, Vol. 56, No. 1, Su 외의, "3-D 전자기 위치 결정 시스템을 사용한 EMG-제어 인공 손을 향해(TOWARDS AND EMG-CONTROLLED PROSTHETIC HAND USING A 3-D ELECTROMAGNETIC POSITIONING SYSTEM)"; 2000년, Hartley 외, "컴퓨터 비전에서의 다중 뷰 형상, 제 1 에디션(MULTIPLE VIEW GEOMETRY IN COMPUTER VISION, FIRST EDITION)", 챕터 8, 페이지들 219-243; 2003년 6월 16일, 서던 캘리포니아 대학교, Sibley 외 "입체 관찰 모델들(STEREO OBSERVATION MODELS); 및 2006년, 유니버시티 칼리지 런던 - 컴퓨터 과학부, Prince 외, "패턴 인식 및 기계 비전: 입체 시각 및 깊이 재구성(PATTERN RECOGNITION AND MACHINE VISION; STEREO VISION AND DEPTH RECONSTRUCTION)"에 개시되며, 그 각각의 전체 콘텐트들은 여기에 참조로서 통합된다. 유사하게, 데이터가 복수의 공간적으로-분리된 3-차원 센서들(예로서, 하나 이상의 광원들을 가진 두 개의 구조화된 광 센서들)에 의해 상이한 밴티지 포인트들로부터 또는 3-차원 센서 및 공간적으로-분리된 이미징 센서로부터 획득되는 몇몇 대표적인 실시예들에서, 예를 들면, 프로세서는 워크스페이스와의 사용자의 상호 작용의 보다 강력한 표현을 생성할 수 있다. 예로서, 이미징 센서(예로서, 카메라)는 여기에 설명된 하나 이상의 모듈들에 유용한 위치, 움직임, 컬러, 형태 등과 같은 부가적인 데이터를 표시할 수 있다. 몇몇 양상들에서, 예를 들면, 다양한 센서들에 의해 생성된 데이터는 센서들 중 하나에 의한 검출로부터 가려지는 워크스페이스의 부분들에 관한 정보를 여전히 제공할 수 있다.
분류 모듈
다양한 양상들에서, 본 교시들에 따른 시스템들 및 방법들은 사용자 입력 정보와 워크스페이스에서의 사용자 제스처들에 기초하여 센서들에 의해 생성된 데이터를 연관시키도록 구성된 분류 모듈을 포함할 수 있다. 예로서, 일단 모션 산출 모듈이 시간에 걸쳐 해부학적 랜드마크들(예로서, 세그먼트들, 너클들, 손톱들) 사이에서의 위치, 속도, 가속도, 또는 각도에서의 변화를 결정한다면, 분류 모듈은 특정한 사용자 입력과 이러한 측정치들을 연관시킬 수 있다. 예로서, 분류 모듈은 사용자의 동작이 예를 들면 키보드 입력 모드에서 동작할 때, 특정한 키의 스트라이크로서 분류되어야 하는 사용자의 손의 부분들의 위치, 방향, 및/또는 속도에서의 관찰된 변화들에 기초하여 결정될 수 있다. 이러한 결정은 예를 들면, 기준 묘션들의 라이브러리의 것과 관찰된 모션을 비교함으로써 이루어질 수 있다.
다양한 양상들에서, 예를 들면, 디바이스(100)는 특정한 사용자 제스처 또는 동작으로서 모션 산출 모듈(324)에 의해 생성된 활성 모션 변수들의 스트림을 해석하는 분류 모듈(326)을 포함할 수 있다. 다시 말해서, 분류 모듈(326)은 어떤 손가락이 치려고 하는지, 스트라이크가 발생한 곳, 및 스트라이크가 실제로 스크라이크인지 여부를 결정할 수 있다.
어떤 손가락이 치려고 하는지를 결정하기 위해, 분류 모듈(326)은 필요한 만큼 많은 손가락들을 추적할 수 있으며, 이것은 바람직하게는 각각의 손에서 적어도 4개이다. 분류 모듈(326)은 디바이스가 받쳐지는 표면(108) 및 랜드마크 사이에서의 수직 거리, 랜드마크의 수직 서명, 랜드마크의 가속도, 또는 하나 이상의 다른 랜드마크들에 대한 랜드마크의 거리, 속도, 또는 가속도에서의 변화들과 같이, 사용자의 해부학적 랜드마크들의 다양한 속성들 중 임의의 것을 평가할 수 있다. 따라서, 분류 모듈(326)은 각각의 손가락 또는 손가락 세그먼트가 어떻게 다른 손가락들 또는 손가락 세그먼트들에 대하여 이동하는지를 평가할 수 있다. 이것은 사용자가 "콘서트 이동기"일 때(즉, 사용자의 타이핑 스타일이 단일 키스트로크를 만들 때 다수의 손가락들을 움직이는 것일 때) 또는 사용자가 빠른 타이피스트일 때(즉, 사용자의 타이핑 스타일이 또 다른 손가락이 이전 키스트로크를 실행하는 것을 완료하기 전에 후속 키스트로크를 위한 손가락을 움직이기 시작하는 것일 때) 정확도를 개선하도록 도울 수 있다. 몇몇 실시예들에서, 분류 모듈(326)은 "빠른 이동기(fast mover)"(예로서, 가장 빠르게 가속하고 있는 숫자가 속도에서의 가장 극적인 변화를 갖거나, 또는 가장 신중한 방향 변화 각도들을 갖는)를 결정할 수 있다. 빠른 이동기는 이러한 실시예들에서, 현재-치고 있는 손가락으로서 분리될 수 있다. 분류 모듈(326)은 또한 움직임이 발생하거나 또는 움직임이 개시되는 구역에 의존하여 잠재적인 스트라이크 후보들인 사용자 움직임들에 상이한 가중치들을 할당할 수 있다. 예를 들면, 잠재적인 스트라이크 후보인 움직임은 움직임이 관심 구역에서 개시되거나 또는 실행될 때 낮은 가중치를 할당받을 수 있는 반면, 활성 구역에서 개시되거나 또는 실행된 유사한 움직임은 보다 높은 가중치를 할당받을 수 있다. 할당된 가중치는 스트라이크 후보가 궁극적으로 스크라이크로서 분류되는지 여부를 결정하기 위해 사용될 수 있다.
스트라이크가 발생하는 곳을 결정하기 위해, 분류 모듈(326)은 방향 산출 모듈(304)에 의해 생성된 방향 정보와 함께 모션 산출 모듈(324)에 의해 생성된 X, Y, 및 Z 위치 데이터를 해석할 수 있다. 수직 속도, 수직 가속도, 수평 속도, 수평 가속도, 각도 변위, 각속도, 각가속도 등과 같은 다른 모션 속성들이 또한 고려될 수 있다.
스크라이크가 발생하였는지 여부를 결정하기 위해, 분류 모듈(326)은 광범위한 데이터를 해석할 수 있다. 예를 들면, 분류 모듈(326)은 사용자 프로파일 모듈(302)에 의해 저장된 사용자 프로파일 정보를 참조함으로써 사용자가 일반적으로 타이핑하는 속도 또는 다른 행동 데이터를 고려할 수 있다. 분류 모듈(326)은 또한 감소하는 수직 거리(예로서, 손가락 끝이 워크스페이스 내에서의 표면에 도달함을 표시하는), 수직 속도 서명, 선형 속도 서명, 가속도 서명, 각속도 서명, 및 각도 변위 서명과 같은 특정한 표시자들에 대한 모션 변수들을 검사할 수 있다. 이러한 정보를 사용하여, 분류 모듈(326)은 의도된 키 스트라이크(예로서, 가속도에서의 갑작스러운 저하에 앞서 통상적으로 높은 가속도에 의해 특성화된 움직임) 및 사용자가 단지 표면(108) 상에서 그들의 손가락들을 받치고 있는 상황(예로서, 갑작스러운 변화들 없이 낮은 가속도들에 의해 통상적으로 특성화된 움직임) 사이에서 구별할 수 있다. 분류 모듈(326)은 또한 사용자 움직임이 활성 구역, 관심 구역, 또는 워크스페이스(106) 내에서의 몇몇 다른 영역에서 발생하는지 여부를 결정함으로써 스트라이크가 발생하는지 여부를 결정할 수 있다.
분류 모듈(326)은 또한 숫자의 이전 상태를 고려할 수 있으며, 이것은 에러들을 감소시키도록 도울 수 있다. 예를 들면, 분류 모듈(326)은 "플로팅" 위치에서 "준비" 위치로 이동하는 숫자 및 "플로팅" 위치에서 "스트라이크" 위치로 이동하는 숫자 사이에서 구별할 수 있다.
도 9a 내지 도 9c는 사용자가 디바이스(100)가 결합되는 디지털 데이터 프로세싱 시스템에 문자("M")를 입력하는 의도를 갖고 키 스트라이크를 수행할 때 센서들(102, 104) 중 하나에 의해 생성된 데이터를 예시한다. 도 9a에 도시된 바와 같이, 사용자의 우측 D1S1은 홈 위치(예로서, "J" 위치)로부터, 활성 구역의 밖으로, 및 비활성 구역으로 Y 방향으로 들어올린다. 도 9b에 도시된 바와 같이, 사용자의 우측 D1S1은 그 후 센서들로부터 멀어지는 Z 방향으로 및 D2S1을 향하는 X 방향으로 이동하여, "M" 위치 위에 도달한다. 도 9c에 도시된 바와 같이, 사용자의 우측 D1S1은 그 후 비활성 구역으로부터 활성 구역으로 스트라이크 모션에서 Y 방향으로 내려가며, 키 스트로크를 완료한다.
사용자가 타이핑하는 동안 디바이스(100)에 의해 모니터링/산출될 수 있는 대표적인 모션 변수들이 도 10a 내지 도 10k에 그래프화된다. 각각의 그래프에서, 대표적인 값들은 사용자가 디바이스(100)를 사용하여 문자 시퀀스("J U J Y J H J N J M J J")를 타이핑하는 시간 기간 동안 도시된다. 다시 말해서, 각각의 그래프는 동일한 타이핑 이벤트를 표현한다. 그래프들은 단일 센서로부터 생성된 2-차원 데이터를 예시한다. 그래프들로부터 이해될 바와 같이, 이러한 2-차원 데이터에서의 주목할 만한 이벤트들 및 실제 사용자 키스트로크들 사이에서의 약간의 시간 불일치가 있을 수 있다. 이러한 불일치는 그러나, 여기에 설명된 바와 같이, 3-차원 데이터를 생성하기 위해 복수의 센서들로부터 2-차원 센서 데이터를 총합하고, 코어 산출로부터 방향 데이터를 갖고 상기 데이터를 증강시킴으로써 대개 제거될 수 있다.
도 10a에서, 각가속도가 그것의 꼭짓점으로서 사용자의 우측 손의 코어(CR), 코어에서 D1S1으로 연장된 제 1 광선, 및 코어에서 D1S2로 연장된 제 2 광선을 가진 각도에 대해 도시된다. 초당 도들에 대해 표현된 각가속도는 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 대하여 표현된다. 각각의 키 스트로크는 원을 가진 그래프에서 라벨링된다. 도시된 바와 같이, 각가속도에서의 급격한 양의 스파이크는 각각의 "키"가 스트라이킹되는 시간에 발생한다.
도 10b에서, 각속도는 그 가속도가 도 10a에서 도시되는 각도에 대해 도시된다. 초당 도들에 대해 표현된, 각속도는 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 대하여 표현된다. 각각의 키 스트로크는 원을 가진 그래프에서 라벨링된다. 도시된 바와 같이, 각각의 "키"가 스트라이킹되는 타이밍은 대략 인접한 음 및 양의 속도 스파이크들 사이에서의 중간점 또는 변곡점에 대응한다. 각속도에서의 양의 스파이크들은 각각의 "키"가 스트라이킹되는 타이밍 후까지 발생하지 않는다.
도 10c에서, 각도 변위는 그 가속도 및 속도가 도 10a 및 도 10b에 도시되는 각도에 대해 도시된다. 도들에 대해 표현된, 각도 변위는 시간의 함수로서 그려지며, 이는 이미지 프레임 번호에 대하여 표현된다. 각각의 키 스트로크는 원을 가진 그래프에서 라벨링된다. 도시된 바와 같이, 각도 변위에서의 급격한 하강 스파이크는 각각의 "키"가 스트라이킹되는 타이밍에서 발생한다. 다시 말해서, 각도 변위는 키가 스트라이킹될 때 코스를 갑작스럽게 반전시킨다.
도 10d에서, 선형 속도는 사용자의 우측 손, 사용자의 우측 D1S1, 및 사용자의 우측 D1S2의 코어의 각각에 대해 도시된다. 초당 피트에 대하여 표현된, 이들 구성요소들의 각각의 선형 속도는 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 관하여 표현된다. 각각의 키 스트로크는 수직 라인을 가진 그래프에서 라벨링된다. 도시된 바와 같이, 각각의 키 스트로크는 선형 속도에서의 음의 피크에 의해 성취된다. 그래프는 또한 하나 이상의 다른 해부학적 랜드마크들의 움직임에 특정한 해부학적 랜드마크의 움직임을 비교할 때 값을 강조한다. 예를 들면, D1S1의 속도는 일반적으로 J 내지 Y 시퀀스 동안 D1S2의 속도보다 훨씬 더 높은 반면, J 내지 M 시퀀스 동안 반대가 일반적으로 참이다. 이것은 "백" 모션에 대해(예로서, 사용자가 센서들로부터 멀어지는 Z 방향으로 J 위치에서 M 위치로 그들의 손가락을 이동시키는 것) D1S2가 통상적으로 Y 방향으로 더 빨리 및 D1S1보다 더 높게 팝 업하기 때문이다. 다른 한편으로, "순방향" 모션(예로서, 사용자가 J 위치로부터 Y 위치로 센서들을 향해 Z 방향으로 그들의 손가락을 이동시키는 것)에 대해, D1S2는 통상적으로 D1S1보다 훨씬 더 빨리 떨어지지만 D1S1은 보다 큰 속도를 가진다.
도 10e에서, 선형 가속도가 사용자의 우측 손, 사용자의 우측 D1S1, 및 사용자의 우측 D1S2의 코어의 각각에 대해 도시된다. 초당 초당 피트에 관하여 표현된, 이들 구성요소들의 각각의 선형 가속도가 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 대하여 표현된다. 각각의 키 스트로크는 수직 라인을 가진 그래프에서 라벨링된다. 도시된 바와 같이, 각각의 "키"가 스트라이킹되는 타이밍은 대략 인접한 음의 및 양의 가속도 스파이크들 사이에서의 중간점 또는 변곡점에 대응한다. 선형 가속도에서의 양의 스파이크들은 각각의 "키"가 스트라이킹되는 타이밍 후까지 발생하지 않는다.
도 10f에서, 수평 거리는 사용자의 우측 손, 사용자의 우측 D1S1, 및 사용자의 우측 D1S2의 코어의 각각에 대해 도시된다. 피트에 관하여 표현된, 이들 구성요소들의 각각의 수평 거리는 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 관하여 표현된다. 각각의 키 스트로크는 수직 라인을 가진 그래프에서 라벨링된다. 도시된 바와 같이, 수평 거리 변수는 하나가 Y 내지 Y 시퀀스 동안 또는 J 내지 H 시퀀스 동안 이동된 거리가 J 내지 N 시퀀스 또는 J 내지 M 시퀀스의 후방 모션보다 훨씬 더 크며, 그것과 완전히 다르다는 것을 관찰할 수 있기 때문에 다른 측정치들에 대한 첨가일 수 있다. 이들 두 개의 대표적인 랜드마크들(D1S1 및 D1S2) 사이에서의 관계는 순방향 및 도달 움직임 및 팝업 및 백 움직임 사이에서의 차이를 입증한다. 또한 그래프에 도시된 바와 같이, J 내지 J 시퀀스 레지스터들은, 사용자가 동일한 위치를 스트라이크할 때 예상할 바와 같이 수평 거리에서 거의 변화가 없다.
도 10g에서, 수평 속도는 사용자의 우측 손, 사용자의 우측 D1S1, 및 사용자의 우측 D1S2의 코어의 각각에 대해 도시된다. 초당 피트에 관하여 표현된, 이들 구성요소들의 각각의 수평 속도는 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 관하여 표현된다. 각각의 키 스트로크는 수직 라인을 가진 그래프에서 라벨링된다. 도시된 바와 같이, 수평 속도는 각각의 "키" 스트라이크의 움직임에서 대략 0인 경향이 있다.
도 10h에서, 수평 가속도는 사용자의 우측 손, 사용자의 우측 D1S1, 및 사용자의 우측 D1S2의 코어의 각각에 대해 도시된다. 초당 초당 피트에 관하여 표현된, 이들 구성요소들의 각각의 수평 가속도는 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 관하여 표현된다. 각각의 키 스트로크는 수직 라인을 가진 그래프에서 라벨링된다. 수평 가속도 변수는 사용자 의도를 해석하도록 돕기에 특히 유용할 수 있다. 예를 들면, D1S1 및 D1S2 사이에서의 수평 가속도에서의 이격도가 특히 관심 있을 수 있다. J 내지 Y 시퀀스 동안, 예를 들면, 그래프는 앞으로 및 위로 도달하는 것을 확인하는 서명을 도시한다. 이것은 예를 들면 J 내지 M 시퀀스에 대조되며, 여기에서 서명은 위 및 후방 모션을 표시한다. 도 10i에서, 수직 거리가 사용자의 우측 손, 사용자의 우측 D1S1, 및 사용자의 우측 D1S2의 코어의 각각에 대해 도시된다. 피트에 관하여 표현된, 이들 구성요소들의 각각의 수직 거리는 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 관하여 표현된다. 각각의 키 스트로크는 수직 라인을 가진 그래프에서 라벨링된다. 도시된 바와 같이, 코어의 수직 거리는 시퀀스를 타이핑하는 동안 비교적 일정한 채로 있는 반면, 세그먼트들(D1S1 및 D1S2)은 각각의 키 스트라이크 이전에 수직 방향으로 들어올리며 그 후 실제 스트라이크 동안 수직 방향으로 떨어진다. 이러한 그래프에서의 D1S1 및 D1S2 사이에서의 이격도는 스파이크가 D1S2 변수를 갖는 J 내지 M 시퀀스에 비교하여 J 내지 Y 시퀀스에서 순방향 및 좌측 모션을 다시 한 번 표시한다.
도 10j에서, 수직 속도가 사용자의 우측 손, 사용자의 우측 D1S1, 및 사용자의 우측 D1S2의 코어의 각각에 대해 도시된다. 초당 피트에 관하여 표현된, 이들 구성요소들의 각각의 수직 속도는 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 관하여 표현된다. 각각의 키 스트로크는 수직 라인을 가진 그래프에서 라벨링된다. 도시된 바와 같이, D1S1 및 D1S2 사이에서의 관계는 각각의 키 시퀀스에 대해 고유하다. 예를 들면, D1S1은 J 내지 Y 시퀀스 동안 D1S2보다 더 큰 수직 속도를 갖는 반면, J 내지 M 시퀀스에 대해 반대가 참이다. 유사하게, J 내지 J 시퀀스 동안 D1S1 및 D1S2 사이에 매우 가까운 미러링이 있다.
도 10k에서, 수직 가속도가 사용자의 우측 손, 사용자의 우측 D1S1, 및 사용자의 우측 D1S2의 코어의 각각에 대해 도시된다. 초당 초당 피트에 관하여 표현된, 이들 구성요소들의 각각의 수직 가속도는 시간의 함수로서 그려지며, 이것은 이미지 프레임 번호에 관하여 표현된다. 각각의 키 스트로크가 수직 라인을 가진 그래프에 라벨링된다. 도시된 바와 같이, 코어의 수직 가속도는 시퀀스를 타이핑하는 동안 비교적 일정한 채로 있는 반면, 세그먼트들(D1S1 및 D1S2)의 수직 가속도는 각각의 "키"가 스트라이킹되는 타이밍에서 스파이크한다.
상기 그래프들은 단일 센서의 2D 관점을 예시한다. 이러한 2D 모션의 3D 등가물은 예를 들면, 여기에 통합된 참조들에 개시된 바와 같이, 알려진 알고리즘들을 사용하여 산출될 수 있다.
디바이스(100)는 스크라이크가 발생할 때 및 장소를 결정하기 위해 상기 설명된 모션 변수들 및/또는 다양한 다른 정보 중 하나 이상을 사용할 수 있다. 몇몇 실시예들에서, 디바이스(100)는 후속 스트라이크를 개시할 수 있는 다른 손가락들로부터 현재-스트라이킹하는 손가락을 분리하기 위해 가장 빠른 이동기(예로서, 최고 가속도 및/또는 속도를 가진 숫자)를 결정할 수 있다. 현재-스트라이크하고 있는 손가락의 손가락 끝의 위치는 그 후 어떤 키가 스트라이킹되는지를 결정하기 위해 코어에 대하여 산출될 수 있다. 예를 들면, 사용자의 우측 D1이 현재-스트라이킹하고 있는 손가락으로서 분리된다면, 코어에 대하여 사용자의 우측 D1S1의 위치는 어떤 키가 스트라이킹되고 있는지를 결정하기 위해 산출될 수 있다. 우측 D1S1이 "J" 위치로부터 Z 방향으로 코어에 더 가까운 위치로, 및 X 방향으로 D1S2를 향해 이동한다면, 제스처는 "M" 스트라이크로서 해석될 수 있다. 추가 예로서, 우측 D1S1이 "J" 위치로부터 Z 방향으로 코어로부터 대략 동일한 거리이며 X 방향으로 D1S2로부터 멀어지는 위치로 이동한다면, 제스처는 "H" 스트라이크로서 해석될 수 있다.
대안적으로, 또는 덧붙여, 하나의 손 구성요소의 또 다른 손 구성요소에 대한 모션은 스트라이크를 분류하기 위해 분석될 수 있다. 예를 들면, 몇몇 실시예들에서, 스트라이킹하고 있는 손가락의 관절(J2)은 손가락이 Z 방향으로 앞으로 이동할 때 Y 방향으로 떨어지며 손가락이 Z 방향으로 뒤쪽으로 이동할 때 Y 방향으로 들어올린다고 가정될 수 있다. 이들 방법들의 각각은 몇몇 내재된 에러를 갖기 때문에, 시스템은 중복성이 에러의 대부분을 제거하도록 양쪽 기술들 모두를 사용할 수 있다.
이러한 프로세스 전체에 걸쳐, 확률-기반 알고리즘들이 거짓 스트라이크들(예로서, 사용자가 "콘서트 이동기"일 때 야기할 수 있는 것들)을 제거하기 위해 사용될 수 있다.
단지 속도가 스트라이크가 발생할 때를 결정하기 위해 모니터링되는 종래 기술의 시스템들과 달리, 디바이스(100)는 훨씬 더 정확한 스트라이크 검출이 획득될 수 있는 다변량 접근법을 사용할 수 있다. 특히, 디바이스(100)에서의 스트라이크 분류는 사용자의 손들의 다양한 구성요소들의 가속도, 상이한 타이핑 스타일들 및 손 크기들 또는 형태들에 걸쳐 비교적 일관되는 서명을 갖는 경향이 있는 모션 파라미터에 적어도 부분적으로 기초하여 결정될 수 있다. 몇몇 실시예들에서, 분류 모듈은 각도 변위, 가속도, 선형 속도, 및 수직 거리의 조합에 기초하여 어떤 키가 스트라이킹되는지를 결정할 수 있다.
본 교시들에 따라 하나 이상의 디바이스들에 생성된 데이터는 동일한 또는 상이한 분류 모듈들에 의한 사용을 위해 분류 시스템을 생성하기 위해 사용될 수 있다는 것이 또한 이해될 것이다. 예로서, 사용자의 특정한 움직임에 기초한 특정한 사용자의 의도된 입력을 간단히 식별하기보다는, 분류 시스템은 특정한 행동의 일반적인 패턴들을 인식하고, 여기에 달리 논의된 바와 같이 해부학적 규칙들을 결정하거나 또는 정제하고, 및/또는 교정되지 않은 사용자의 분류를 개선하기 위한 그것의 능력을 계속해서 개선하기 위해 통상적인 사용자 입력들의 데이터 창고를 생성할 수 있다. 예로서, 분류 시스템은 알려지지 않은 사용자의 의도된 사용자 입력을 신뢰성 있게 분류하기 위해 광범위한 사용자들에 걸쳐 본질적인 키스트로크들의 출현에 기초한 정보와 함께 실장될 수 있다.
강도 등급 모듈
디바이스(100)는 또한 획득되는 센서 데이터의 품질을 계속해서 또는 간헐적으로 모니터링하는 강도 등급 모듈(328)을 포함할 수 있다. 강도 등급 모듈이 검출 세기가 충분히 약하다고 결정할 때(예로서, 사용자의 손들이 여러 개의 숫자들 또는 세그먼트들이 다른 숫자들 또는 세그먼트들에 의해 모호해지는 이러한 방식으로 위치되거나, 또는 센서들(102, 104)의 범위를 넘을 때), 그들의 손들을 재배향시키도록, 또는 디바이스(100)에 더 가깝게 이동시키도록 촉구하는 경고가 사용자에게 발행될 수 있다.
강도 등급 모듈(328)은 또한 상기 논의된 바와 같이, 사용자에 의해 정의된 맞춤 제스처들의 신뢰성을 평가하기 위해 사용될 수 있다. 강도 등급 모듈(328)은 또한 에러의 임의의 부가적인 기회를 회피하기 위해 각각이 충분히 고유하다는 것을 보장하기 위해 다른 저장된 제스처들에 맞춤 제스처들을 비교할 수 있다. 산출된 강도 등급은 또한 디바이스(100)의 문제를 해결하기 위해 또는 디바이스(100)를 사용하여 어려움을 가진 사용자를 돕기 위해 고객 서비스 환경에서 사용될 수 있다. 이러한 설정에서 산출된 강도 등급의 사용은 보안 모듈(314)에 의해 사용된 고유 손 치수들 또는 다른 속성들과 같은, 대표적인 고객 서비스에 다른, 더 민감한 정보를 알려주기 위한 요구를 제거할 수 있다.
적응성 모듈
디바이스(100)는 또한 적응성 모듈(330)을 포함할 수 있다. 적응성 모듈(330)은 기본 키보드, 숫자 패드, 및 마우스 입력 모드들을 넘어 디바이스(100)의 기능을 확대할 수 있다. 예를 들면, 적응성 모듈(330)은 사용자로 하여금, 그 각각이 상기 설명된 바와 같이 강도 등급 모듈(328)에 의해 평가될 수 있고 및/또는 제스처 라이브러리 모듈(310)에 의해 저장될 수 있는, 다양한 제스처들, 템플릿들, 또는 맞춤 패드에 맞춤화된 의미들을 할당하도록 허용할 수 있다. 다시 말해서, 적응성 모듈(330)은 사용자로 하여금 표준 입력 모드들 대신에, 또는 그 외에 사용하기 위한 맞춤 모드들(예로서, 비-QWERTY 키보드, 외국어 기반 키보드)을 정의하도록 허용할 수 있다. 이것은 사용자가 맞춤 키보드, 예를 들면, 심볼들, 기능 키들, 매크로들, 또는 상이한 언어에서의 문자들을 포함하는 것을 정의하도록 허용할 수 있다. 맞춤 패드는 맞춤 패드 입력 모드에 들어감으로써 액세스될 수 있으며, 이것은 몇몇 실시예들에서 숫자 패드 입력 모드의 것과 반대의 제스처에 의해 표시될 수 있다. 예를 들면, 우세 손을 앞으로 및/또는 약간 바깥쪽으로 이동하는 것이 숫자 패드 입력 모드로 전이하기에 효과적이라면, 비-우세 손을 앞으로 및/또는 약간 바깥쪽으로 이동시키는 것은 맞춤 패드 입력 모드로 전이하기 위해 효과적일 수 있다. 적응성 모듈(330)은 또한 사용자로 하여금 템플릿 상에서 정의된 키들 또는 버튼들에, 또는 표준 입력 모드들로부터 벗어나지 않고 수행될 수 있는 고유 제스처들에 맞춤 의미들을 할당하도록 허용할 수 있다. 따라서, 사용자는 도 8d 및 도 8e에 도시된 바와 같이, 그것이 하나 이상의 흔히-사용된 문자들, 기능들, 매크로들 등을 포함하거나 또는 특정한 입력 또는 기능을 맞춤 제스처 또는 입력 패드에 할당하도록 템플릿을 맞춤화할 수 있다. 예를 들면, 프로그램 가능한 고정 키를 가진 템플릿은 특정한 기능(예로서, 피아노 키보드에서의 특정 음표, 페이지 업, 흔히 사용된 작업 기능 등)을 할당받을 수 있다. 템플릿은 또한 그것들의 기능에 대한 단지 기록된 또는 프린팅된 참조들을 갖고 템플릿 사에서의 사용자-정의된 섹션들에 의해 맞춤화될 수 있다.
다양한 양상들에서, 적응성 모듈(330)은 예를 들면, 디바이스가 동작하는 환경과 같은 다양한 파라미터들에 기초하여, 분류 모듈에 의해 다양한 제스처들의 해석 및/또는 디바이스의 기능에서의 변화들을 위해 제공할 수 있다. 몇몇 실시예들에서, 적응성 모듈(330)은 사용자가 통상적으로 특정한 환경 또는 위치에서 사용하는 기능의 유형을 프로세서에 알릴 수 있는 태그들을 식별할 수 있다. 예로서, 디바이스의 현재 위치가 공개 공간에 있는 것으로서 식별된다면(예로서, 알려진 또는 안전한 무선 네트워크를 검출하기 위해 디지털 데이터 프로세싱 시스템의 불능을 통해), 적응성 모듈은 보안 설정들을 변경하기 위해 프로세서에 표시하도록 태그를 생성할 수 있다. 예를 들면, 디바이스가 공개 공간에 있는 것으로 식별된다면, 적응성 모듈(330)은 사용자의 아이덴티티가, 예로서 워크스페이스에서의 제스처들을 통해 사용자의 행동 및/또는 해부학적 특징들을 통해, 계속해서 모니터링되어야 함을 표시할 수 있다. 마찬가지로, 데이터 프로세싱 시스템에 의해 조작되는 특정한 프로젝트 또는 문서가 특히 민감하다면, 적응성 모듈(330)은 보안 모듈에 의해 모니터링을 증가시키도록 구성될 수 있다.
부가적으로, 태그들은 특정한 환경에서 사용된 통상적인 기능들 및/또는 제스처들을 식별하도록 돕기 위해 사용될 수 있다. 예로서, 규칙들은 디바이스의 현재 위치가 사용자의 홈에 또는 특정한 위치에 있는 것으로 식별된다면(예로서, "홈" 무선 네트워크의 식별 또는 특정한 위치를 식별하는 신호의 검출을 통해), 사용자의 특정한 모션들은 사용자가 사무실에 있는 것으로 식별되는 경우와 상이하게 해석될 수 있음을 표시하기 위해 사용자 또는 관리자에 의해 생성될 수 있다. 예를 들면, 그들의 사무실에서의 회계사가 좌측 손의 특정한 제스처들이 흔히 사용된 기능 키들과 연관된다는 규칙을 가질 수 있지만, 홈에서의 상기 동일한 모션은 상이한 기능으로서 해석되도록 설정될 수 있다. 예를 들면, 부엌에 있을 때, 좌측 손을 가진 회계사의 제스처는 대신에 영수증들의 리스트를 가져올 수 있다.
방법들
디바이스(100)의 동작의 일 대표적인 방법이 도 11의 흐름도에서 개략적으로 예시된다. 여기에 개시된 다양한 방법들은 흐름도 또는 흐름도들에 관하여 도시되지만, 이러한 흐름도들 또는 그것의 설명에 의해 암시된 방법 단계들의 임의의 순서는 상기 순서로 단계들을 수행하는 것으로 방법을 제한하는 것으로서 해석되지 않는다는 것이 주의되어야 한다. 오히려, 여기에 개시된 방법들의 각각의 다양한 단계들은 다양한 시퀀스들 중 임의의 것에서 수행될 수 있다. 또한, 예시된 흐름도들이 단지 대표적인 실시예들인 것과 같이, 부가적인 단계들을 포함하거나 또는 예시된 것보다 적은 단계들을 포함하는 다양한 다른 방법들이 또한 본 발명의 범위 내에 있다.
도시된 바와 같이, 방법은 초기화 단계(S1002)에 앞서, 단계(S1000)에서 디바이스 파워-온으로 시작할 수 있다. 초기화 단계(S1002) 동안, 사용자는 워크스페이스로 그들의 손들을 보여줄 수 있으며, 이 점에서 디바이스는 사용자의 손들, 손가락들, 손가락 관절들, 손가락 세그먼트들, 손톱들 등의 크기, 위치, 및/또는 각도와 같은 사용자의 다양한 속성들을 측정한다. 이러한 정보에 기초하여, 프로파일이 사용자 프로파일 모듈(302)에 의해 생성되며 선택적으로 저장된다.
동작은 그 후 단계(S1004)로 진행하며, 여기에서 초기화 단계(S1002) 동안 생성된 프로파일 정보가 사용자를 인증하기 위해 사용된다. 이 단계 동안, 보안 모듈(314)은 허가된 사용자들과 연관된 하나 이상의 세트들의 저장된 프로파일 정보에 획득된 프로파일 정보를 비교한다. 획득된 프로파일 정보가 허가된 사용자의 프로파일 정보에 일치한다면, 동작은 단계(S1006)로 진행한다. 그렇지 않다면, 디바이스(100)는 허가되지 않은 사용자에 의한 사용을 방지하기 위해 잠겨진다. 상기 주지된 바와 같이, 보안 목적들을 위해 비교되는 프로파일 정보는 사용자의 손들의 물리적 속성들, 뿐만 아니라 사용자의 행동 특성들을 포함할 수 있다. 보안 파라미터들의 민감도가 사용자 또는 관리자에 의해 조정될 수 있다는 것이 이해될 것이다.
단계(S1006)에서, 방향 산출 모듈(304)이 디바이스(100)의 센서들(102, 104)에 가시적인 각각의 손에 대한 코어 위치를 산출하는 것을 시작한다. 그것이 사용자의 손들의 다양한 구성요소들을 갖고 형성하는 코어 위치 및 각도를 사용하여, 방향 모듈(304)은 서로에 대한 및 디바이스(100)에 대한 손들의 위치 및 방향을 결정한다.
단계(S1008)에서, 모션 산출 모듈(324)은 제 1 센서(102)로부터의 데이터 및 제 2 센서(104)로부터의 데이터를 비교함으로써 워크스페이스에서의 각각의 숫자에 대한 보다 신뢰성 있는 X, Y, 및 Z 값들을 결정한다.
단계(S1010)에서, 모션 산출 모듈(324)은 연속적인 이미지 프레임들 또는 센서 데이터의 다른 스냅샷들을 비교함으로써 워크스페이스(106)에서 하나 이상의 손들, 손가락들, 또는 세그먼트들에 대한 X, Y, 및 Z 방향에서의 모션을 표시한 데이터 스트림들을 생성한다. 대표적인 모션 데이터는 수직 거리, 수직 속도, 수직 가속도, 수평 거리, 수평 속도, 수평 가속도, 각도 변위, 각속도, 각가속도 등을 포함한다.
단계(S1012)에서, 모드 선택 모듈(308)은 어떤 동작 모드를 사용자가 원하는지를 결정하며, 그에 따라 가능한 출력들의 세계를 설정한다.
단계(S1014)에서, 분류 모듈(326)은 "키" 스트로크들, 마우스 움직임들, 숫자 패드 입력들 등으로서 사용자 제스처들을 해석하기 위해 단계들(S1006 내지 S1012)에서 생성된 데이터를 통합한다. 일단 제스처들이 분류된다면, 대응하는 출력이 단계(S1016)에서 생성되며 디바이스(100)가 결합되는 하나 이상의 디지털 데이터 프로세싱 시스템들에 제공된다.
단계들(S1006 내지 S1016)은 사용자 제스처들에 대한 워크스페이스를 모니터링하며 디지털 데이터 프로세싱 시스템에 의한 사용을 위해 대응하는 출력을 생성하기 위해 계속해서 또는 간헐적으로(반드시 동일한 레이트로 또는 동일한 순서는 아닌) 수행된다.
앞서 말한 것을 고려하여, 여기에 개시된 방법들 및 디바이스들이 종래의 입력 디바이스들의 한계들로부터 사용자를 자유롭게 할 수 있다는 것이 이해될 것이다. 노력하지 않고 및 직관에 의하여, 사용자는 기술을 훨씬 더 편안하고 효율적인 방식으로 조작할 수 있다. 여기에 개시된 방법들 및 디바이스들은 또한 다양한 건강 이득들을 제공할 수 있다. "끊임없이 활동하는" 사용자는 더 이상 여분의 장비를 휴대하도록 요구되지 않으며 개시된 방법들 및 디바이스들에 의해 허용된 손 방향의 자유는 다수의 인체 공학적 이득들을 제공할 수 있다.
앞서 말한 것을 고려하여, 여기에 개시된 방법들 및 디바이스들은 보안 시스템으로의 액세스를 승인하기 전에 초기 게이팅 함수를 제공할 수 있을 뿐만 아니라 그것이 보안 데이터가 조작되기 때문에 사용자의 진정성을 반복적으로, 간헐적으로, 또는 계속해서 확인함으로써 안정하게 하려고 하는 데이터와 보안 기능을 직접 연결할 수 있는 고유 보안 이점들을 또한 제공한다는 것이 이해될 것이다. 보안 기능은 연속적인, 및 적절하다면, 동시적인 레벨들의 보안을 제공할 수 있다.
본 발명은 특정 실시예들에 대한 참조에 의해 설명되었지만, 다수의 변화들이 설명된 본 발명이 개념들의 사상 및 범위 내에서 이루어질 수 있다는 것이 이해되어야 한다. 따라서, 본 발명은 설명된 실시예들에 제한되지 않지만, 다음의 청구항들의 언어에 의해 정의된 전체 범위를 가진다는 것이 의도된다.
100: 디바이스 102, 103, 104: 센서
105: 적외선 광원 106: 워크스페이스
108: 물리적 작업 표면 112: 광원
114: 전력 스위치 116: 제어 유닛
118: 프로세서 120: 메모리
121: 버스 시스템 122: 네트워크 인터페이스
124: 입력/출력 인터페이스 126: 저장 디바이스
128: 디스플레이 제어기 130: 활성 구역
132: 관심 구역 134, 136: 손
300: 교정 모듈 302: 사용자 프로파일 모듈
304: 방향 산출 모듈 306: 해부학적 파라미터 모듈
308: 모드 선택 모듈 310: 제스처 라이브러리 모듈
314: 보안 모듈 316: 템플릿 식별 모듈
320: 클록 모듈 322: 피드백 모듈
324: 모션 산출 모듈 326: 분류 모듈
328: 강도 등급 모듈 330: 적응성 모듈
400: 교정 템플릿 800: 스타일러스
802: 물리적 팁

Claims (51)

  1. 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스에 있어서,
    워크스페이스를 관찰하며 상기 워크스페이스 내에서 입력 에이전트의 하나 이상의 파라미터들을 표시하는 데이터를 생성하는 적어도 하나의 센서; 및
    상기 적어도 하나의 센서에 의해 생성된 상기 데이터로부터 상기 에이전트에 의해 이루어진 제스처들을 식별하며 상기 식별된 제스처들에 기초하여 사용자 입력 정보를 생성하는 프로세서를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  2. 제 1 항에 있어서,
    상기 프로세서에 의해 생성된 상기 사용자 입력 정보는 키보드 입력 정보, 포인팅 디바이스 입력 정보, 및 숫자 패드 입력 정보 중 적어도 하나를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 센서는 상기 에이전트의 3차원 위치 및 방향을 표시한 데이터를 생성하도록 구성된 단일 센서를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  4. 제 3 항에 있어서,
    상기 센서는 구조화된 광 센서를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  5. 제 4 항에 있어서,
    상기 구조화된 광 센서는 구조화된 적외선 광 센서를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  6. 제 3 항에 있어서,
    상기 센서는 비행 시간(time-of-flight) 검출을 이용하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  7. 제 1 항에 있어서,
    상기 적어도 하나의 센서는 제 1 관점으로부터 상기 워크스페이스를 관찰하는 제 1 센서 및 상기 제 1 센서로부터 멀리 떨어져 이격된, 상기 제 1 관점과 상이한 제 2 관점으로부터 상기 워크스페이스를 관찰하는 제 2 센서를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  8. 제 7 항에 있어서,
    상기 제 1 센서는 상기 에이전트의 상기 3차원 위치 및 방향을 표시한 데이터를 생성하며, 상기 제 2 센서는 광학 이미저를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  9. 제 1 항에 있어서,
    상기 프로세서는 상기 에이전트의 랜드마크들을 검출하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  10. 제 9 항에 있어서,
    상기 에이전트는 손을 포함하며 상기 프로세서에 의해 검출된 상기 랜드마크들은 손가락, 손가락 세그먼트, 손가락 형태, 손가락 관절, 손톱, 피부 표면 윤곽, 및 손 표면 중 적어도 하나를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  11. 제 1 항에 있어서,
    상기 에이전트의 상기 하나 이상의 파라미터들은 상기 에이전트의 크기, 상기 에이전트의 컬러, 상기 에이전트의 표면 텍스처, 상기 에이전트의 위치, 및 상기 에이전트의 방향을 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  12. 제 1 항에 있어서,
    상기 프로세서는 상기 에이전트의 상기 하나 이상의 파라미터들 중 적어도 하나에서의 변화들을 산출하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  13. 제 1 항에 있어서,
    상기 워크스페이스는 상기 적어도 하나의 센서의 상기 시야 내에서 3차원 공간을 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  14. 제 1 항에 있어서,
    상기 워크스페이스는 상기 입력 디바이스가 위치되는 표면을 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  15. 제 1 항에 있어서,
    상기 적어도 하나의 센서는 상기 워크스페이스의 둘레 주변에 위치된 복수의 센서들을 포함하며, 상기 워크스페이스는 상기 복수의 센서들에 의해 프레이밍된 영역을 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  16. 제 1 항에 있어서,
    상기 프로세서는 상기 에이전트에 의해 이루어진 제스처들을 하나 이상의 입력 후보들과 연관시키는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  17. 제 16 항에 있어서,
    상기 입력 후보들은 영숫자 문자들, 구두점들, 심볼들, 또는 기능 요소들을 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  18. 제 1 항에 있어서,
    상기 에이전트는 하나 이상의 손들을 포함하고, 상기 하나 이상의 손들의 각각은 복수의 손가락들을 포함하며, 상기 입력 디바이스들은 복수의 동작 모드들에서 동작 가능하고, 상기 프로세서는 상기 하나 이상의 손들의 위치, 상기 하나 이상의 손들에 의해 이루어진 제스처, 및 상기 하나 이상의 손들의 구성 중 적어도 하나에 적어도 부분적으로 기초하여 현재 동작 모드를 설정하도록 구성되는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  19. 제 18 항에 있어서,
    상기 복수의 동작 모드들은 키보드 입력 모드, 포인팅 디바이스 입력 모드, 숫자 패드 입력 모드, 템플릿-기반 입력 모드, 및 맞춤 패드 입력 모드를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  20. 제 19 항에 있어서,
    상기 프로세서는 상기 복수의 손가락들 중 단지 하나만이 뻗어질 때 상기 현재 동작 모드를 상기 포인팅 디바이스 입력 모드로 설정하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  21. 제 19 항에 있어서,
    상기 프로세서는, 상기 프로세서가 상기 워크스페이스 내에서 임계 수의 손가락들을 검출할 때, 상기 현재 동작 모드를 상기 키보드 입력 모드로 설정하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  22. 제 19 항에 있어서,
    상기 프로세서는 상기 프로세서가 홈 위치로부터 횡 방향으로 오프셋된 위치로 상기 하나 이상의 손들 중 하나의 움직임을 검출할 때 또는 상기 프로세서가 상기 하나 이상의 손들 중 단지 하나만이 상기 워크스페이스에 제공됨을 검출할 때 상기 현재 동작 모드를 상기 숫자 패드 입력 모드로 설정하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  23. 제 1 항에 있어서,
    특정한 제스처가 검출될 때, 상기 프로세서가 특정한 사용자 입력 정보를 생성하도록 상기 특정한 사용자 입력 정보를 상기 특정한 제스처에 할당하는 구성 모듈을 더 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  24. 제 23 항에 있어서,
    상기 구성 모듈은 상기 특정한 제스처가 신뢰성 있게 검출될 수 있는 정도에 기초하여 제스처 강도 표시자를 디스플레이하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  25. 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스에 있어서,
    워크스페이스를 표시한 데이터를 생성하기 위한 적어도 하나의 센서; 및
    프로세서로서:
    사용자의 손의 복수의 해부학적 랜드마크들을 식별하며 상기 적어도 하나의 센서에 의해 생성된 데이터에 기초하여 상기 워크스페이스 내에서 상기 랜드마크들의 위치들을 결정하는 사용자 프로파일 모듈;
    상기 랜드마크들에서의 변화들을 표시한 값들의 세트를 생성하기 위해 시간에 걸쳐 상기 적어도 하나의 센서에 의해 생성된 상기 데이터를 비교하는 모션 검출 모듈; 및
    상기 랜드마크들에서의 변화들을 사용자 입력 정보와 연관시키는 분류 모듈을 포함하는, 상기 프로세서를 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  26. 제 25 항에 있어서,
    상기 모션 검출 모듈은 시작 위치에 대한 상기 랜드마크들의 거리에서의 변화들, 상기 랜드마크들의 속도에서의 변화, 상기 랜드마크들의 가속도에서의 변화들, 적어도 두 개의 랜드마크들의 각도 관계에서의 변화들, 꼭짓점 및 적어도 두 개의 랜드마크들에 의해 정의된 각도의 각도 변위, 꼭짓점 및 적어도 두 개의 랜드마크들에 의해 정의된 각도의 각속도, 및 꼭짓점 및 적어도 두 개의 랜드마크들에 의해 정의된 각도의 각가속도 중 적어도 하나를 측정하며, 상기 분류 모듈은 이러한 측정치들을 사용자 입력 정보와 연관시키는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  27. 제 25 항에 있어서,
    상기 모션 검출 모듈은 적어도 랜드마크들의 속도에서의 변화들을 측정하며, 상기 분류 모듈은 이러한 측정치들을 사용자 입력 정보와 연관시키는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  28. 제 25 항에 있어서,
    상기 모션 검출 모듈은 적어도 랜드마크들의 가속도에서의 변화들을 측정하며 상기 분류 모듈은 이러한 측정치들을 사용자 입력 정보와 연관시키는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  29. 제 25 항에 있어서,
    상기 모션 검출 모듈은 적어도, 적어도 두 개의 랜드마크들의 각도 관계에서의 변화들을 측정하며 상기 분류 모듈은 이러한 측정치들을 사용자 입력 정보와 연관시키는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  30. 제 25 항에 있어서,
    상기 모션 검출 모듈은 적어도, 하나의 꼭짓점 및 적어도 두 개의 랜드마크들에 의해 정의된 각도의 각도 변위를 측정하며, 상기 분류 모듈은 이러한 측정치들을 사용자 입력 정보와 연관시키는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  31. 제 25 항에 있어서,
    상기 모션 검출 모듈은 적어도, 하나의 꼭짓점 및 적어도 두 개의 랜드마크들에 의해 정의된 각도의 각속도를 측정하며, 상기 분류 모듈은 이러한 측정치들을 사용자 입력 정보와 연관시키는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  32. 제 25 항에 있어서,
    상기 모션 검출 모듈은 적어도, 하나의 꼭짓점 및 적어도 두 개의 랜드마크들에 의해 정의된 각도의 각가속도를 측정하며, 상기 분류 모듈은 이러한 측정치들을 사용자 입력 정보와 연관시키는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  33. 제 25 항에 있어서,
    상기 모션 검출 모듈은 특정한 랜드마크의 이동 거리, 속도, 및 가속도 중 적어도 하나를 적어도 하나의 다른 랜드마크의 이동 거리, 속도, 및 가속도 중 적어도 하나에 비교하며, 상기 분류 모듈은 상기 비교에 기초하여 사용자 입력 정보를 생성하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  34. 제 25 항에 있어서,
    상기 워크스페이스 내에서 템플릿의 존재를 결정하는 템플릿 식별 모듈을 더 포함하는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  35. 제 34 항에 있어서,
    상기 템플릿은 상기 템플릿 상에서의 적어도 하나의 마킹에 기초하여 식별되는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  36. 제 34 항에 있어서,
    상기 템플릿은 상기 사용자에 의해 조작될 수 있는 오브젝트를 포함하며, 상기 오브젝트는 상기 오브젝트의 적어도 하나의 특성에 기초하여 식별되는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  37. 제 34 항에 있어서,
    상기 분류 모듈은 상기 템플릿에 대한 랜드마크들에서의 변화들을 상기 템플릿과 연관된 사용자 입력 정보와 연관시키는, 디지털 데이터 프로세싱 시스템을 위한 입력 디바이스.
  38. 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법에 있어서,
    워크스페이스에서 사용자의 하나 이상의 파라미터들을 표시한 데이터를 생성하기 위해 적어도 하나의 센서를 사용하는 단계;
    상기 데이터에 기초하여 상기 워크스페이스 내에서 상기 사용자에 의해 이루어진 제스처를 표시한 제스처 정보를 결정하는 단계; 및
    상기 사용자가 상기 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위해 상기 제스처 정보를 미리 결정된 제스처 정보와 비교하는 단계를 포함하는, 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법.
  39. 제 38 항에 있어서,
    상기 제스처 정보는 코드의 입력 동안 상기 사용자의 손의 구성에서의 변화들을 포함하는, 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법.
  40. 제 38 항에 있어서,
    상기 제스처 정보는 코드의 입력 동안 상기 사용자의 손 움직임의 속도, 마침꼴, 또는 스타일을 포함하는, 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법.
  41. 제 38 항에 있어서,
    손이 상기 디지털 데이터 프로세싱 시스템의 허가된 사용자에 속하는지 여부를 결정하기 위해 상기 손이 상기 워크스페이스에 들어갈 때마다 상기 결정 및 비교 단계들을 반복하는 단계를 더 포함하는, 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법.
  42. 제 38 항에 있어서,
    상기 사용자가 상기 디지털 데이터 프로세싱 시스템에 의해 안전하게 된 데이터의 조작 동안 허가된 사용자인지를 결정하기 위해 상기 결정 및 비교 단계들을 반복하는 단계를 더 포함하는, 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법.
  43. 제 38 항에 있어서,
    상기 적어도 하나의 센서로부터의 상기 데이터에 기초하여 상기 사용자의 파라미터를 결정하는 단계; 및
    상기 사용자가 상기 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위해 상기 결정된 파라미터를 미리 결정된 값에 비교하는 단계를 더 포함하는, 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법.
  44. 제 43 항에 있어서,
    상기 파라미터는 상기 사용자의 일 부분의 해부학적 형상, 상기 사용자의 상기 부분의 컬러, 및 상기 사용자의 상기 부분의 표면 텍스처 중 적어도 하나를 포함하는, 디지털 데이터 프로세싱 시스템의 사용자를 인증하는 방법.
  45. 사용자가 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위한 시스템에 있어서,
    워크스페이스 내에서 상기 사용자에 의해 이루어진 제스처들을 검출하며 상기 검출된 제스처들을 표시한 제스처 정보를 생성하는 적어도 하나의 센서; 및
    상기 생성된 제스처 정보를 저장 매체에 저장된 미리 결정된 제스처 정보에 비교하는 프로세서로서, 상기 프로세서는 상기 생성된 제스처 정보가 상기 미리 결정된 제스처 정보에 일치하는 정도에 기초하여 상기 사용자가 허가된 사용자인지 여부를 결정하는, 상기 프로세서를 포함하는, 사용자가 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위한 시스템.
  46. 제 45 항에 있어서,
    상기 프로세서는 상기 사용자의 랜드마크들을 검출하는, 사용자가 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위한 시스템.
  47. 제 46 항에 있어서,
    상기 프로세서에 의해 검출된 상기 랜드마크들은 손가락, 손가락 세그먼트, 손가락 형태, 손가락 관절, 손톱, 피부 표면 윤곽, 및 손 표면 중 적어도 하나를 포함하는, 사용자가 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위한 시스템.
  48. 제 45 항에 있어서,
    상기 복수의 센서들은 상기 복수의 센서들과의 물리적 사용자 접촉을 요구하지 않고 상기 사용자에 의해 이루어진 상기 제스처들을 검출하도록 구성되는, 사용자가 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위한 시스템.
  49. 제 45 항에 있어서,
    상기 프로세서는 또한 상기 사용자의 물리적 특성을 결정하며 상기 검출된 물리적 특성을 상기 저장 매체에 저장된 미리 결정된 특성 정보에 비교하는, 사용자가 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위한 시스템.
  50. 제 45 항에 있어서,
    상기 프로세서는 상기 디지털 데이터 시스템에 의해 안전하게 된 데이터에 대한 액세스를 제공하기 전에 상기 사용자가 허가된 사용자인지 여부를 결정하는, 사용자가 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위한 시스템.
  51. 제 50 항에 있어서,
    상기 프로세서는 또한 상기 디지털 데이터 프로세싱 시스템에 의해 확보된 데이터의 조작 동안 상기 사용자가 허가된 사용자인지 여부를 결정하도록 구성되는, 사용자가 디지털 데이터 프로세싱 시스템의 허가된 사용자인지 여부를 결정하기 위한 시스템.
KR1020147026595A 2012-02-24 2013-02-25 제스처 인식 디바이스들 및 방법들 KR101953165B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261602704P 2012-02-24 2012-02-24
US61/602,704 2012-02-24
PCT/US2013/027682 WO2013126905A2 (en) 2012-02-24 2013-02-25 Gesture recognition devices and methods

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197005290A Division KR102133702B1 (ko) 2012-02-24 2013-02-25 제스처 인식 디바이스들 및 방법들

Publications (2)

Publication Number Publication Date
KR20150010702A true KR20150010702A (ko) 2015-01-28
KR101953165B1 KR101953165B1 (ko) 2019-05-22

Family

ID=48045016

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147026595A KR101953165B1 (ko) 2012-02-24 2013-02-25 제스처 인식 디바이스들 및 방법들
KR1020197005290A KR102133702B1 (ko) 2012-02-24 2013-02-25 제스처 인식 디바이스들 및 방법들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197005290A KR102133702B1 (ko) 2012-02-24 2013-02-25 제스처 인식 디바이스들 및 방법들

Country Status (6)

Country Link
US (4) US9880629B2 (ko)
EP (1) EP2817693B1 (ko)
JP (1) JP6271444B2 (ko)
KR (2) KR101953165B1 (ko)
CA (2) CA2864719C (ko)
WO (1) WO2013126905A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180074378A (ko) * 2016-12-23 2018-07-03 단국대학교 산학협력단 지면 접촉식 손가락 입력 장치 및 방법

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2480955B1 (en) * 2009-09-22 2018-05-16 Facebook Inc. Remote control of computer devices
EP2686254B1 (de) * 2011-03-17 2018-08-15 SSI Schäfer Automation GmbH Steuerung und überwachung einer lager- und kommissionieranlage durch bewegung und sprache
CN102622174B (zh) * 2012-02-23 2013-12-11 中兴通讯股份有限公司 一种屏幕的解锁系统和方法
KR101953165B1 (ko) 2012-02-24 2019-05-22 토마스 제이. 모스카릴로 제스처 인식 디바이스들 및 방법들
JP6153290B2 (ja) * 2012-04-11 2017-06-28 シャープ株式会社 画像表示装置、および、それを用いた展示ボックス
TWM451589U (zh) * 2012-12-14 2013-04-21 Sunrex Technology Corp 光學感測式輸入裝置
US9203835B2 (en) * 2013-03-01 2015-12-01 Paypal, Inc. Systems and methods for authenticating a user based on a biometric model associated with the user
US9442570B2 (en) * 2013-03-13 2016-09-13 Google Technology Holdings LLC Method and system for gesture recognition
EP2818985B1 (en) * 2013-06-28 2021-05-12 Nokia Technologies Oy A hovering input field
US9703396B2 (en) 2013-07-12 2017-07-11 Wen-Chieh Geoffrey Lee High resolution and high sensitivity three-dimensional (3D) cursor maneuvering reference plane, and methods of its manufacture
US9335831B2 (en) * 2013-10-14 2016-05-10 Adaptable Keys A/S Computer keyboard including a control unit and a keyboard screen
KR102206053B1 (ko) * 2013-11-18 2021-01-21 삼성전자주식회사 입력 도구에 따라 입력 모드를 변경하는 전자 장치 및 방법
US9857971B2 (en) * 2013-12-02 2018-01-02 Industrial Technology Research Institute System and method for receiving user input and program storage medium thereof
JP6090140B2 (ja) * 2013-12-11 2017-03-08 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US20150220158A1 (en) * 2014-01-07 2015-08-06 Nod Inc. Methods and Apparatus for Mapping of Arbitrary Human Motion Within an Arbitrary Space Bounded by a User's Range of Motion
US9965761B2 (en) 2014-01-07 2018-05-08 Nod, Inc. Methods and apparatus for providing secure identification, payment processing and/or signing using a gesture-based input device
CN103793057B (zh) * 2014-01-26 2017-02-01 华为终端有限公司 信息处理方法、装置及设备
CN105981091B (zh) * 2014-02-06 2021-10-22 寇平公司 用于视频dac的电压参考和电流源混合方法
JP5956481B2 (ja) * 2014-02-10 2016-07-27 レノボ・シンガポール・プライベート・リミテッド 入力装置、入力方法、及びコンピュータが実行可能なプログラム
EP3105655A1 (en) 2014-02-12 2016-12-21 Koninklijke Philips N.V. Movement detection apparatus for detecting a hand movement
JP2015162079A (ja) * 2014-02-27 2015-09-07 沖電気工業株式会社 タッチ位置補正システムおよび自動取引装置
US10203762B2 (en) * 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US10013083B2 (en) 2014-04-28 2018-07-03 Qualcomm Incorporated Utilizing real world objects for user input
US10852838B2 (en) 2014-06-14 2020-12-01 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US9275220B2 (en) 2014-06-16 2016-03-01 International Business Machines Corporation Multiple input based passwords
US10423766B2 (en) 2014-06-27 2019-09-24 Microsoft Technology Licensing, Llc Data protection system based on user input patterns on device
US9734352B2 (en) 2014-06-27 2017-08-15 Microsoft Technology Licensing, Llc Data protection based on user and gesture recognition
US10474849B2 (en) 2014-06-27 2019-11-12 Microsoft Technology Licensing, Llc System for data protection in power off mode
CN105519038B (zh) 2014-06-27 2020-03-17 微软技术许可有限责任公司 用户输入的数据保护方法及系统
US9530219B2 (en) * 2014-07-02 2016-12-27 Covidien Lp System and method for detecting trachea
US9996109B2 (en) 2014-08-16 2018-06-12 Google Llc Identifying gestures using motion data
US10660039B1 (en) 2014-09-02 2020-05-19 Google Llc Adaptive output of indications of notification data
EP3032502A1 (en) * 2014-12-11 2016-06-15 Assa Abloy Ab Authenticating a user for access to a physical space using an optical sensor
JP6674683B2 (ja) * 2014-12-19 2020-04-01 国立大学法人 鹿児島大学 認証処理装置及び認証処理方法
US20160189161A1 (en) * 2014-12-29 2016-06-30 Ebay Inc. Authentication schemes for activities of accounts
US9294802B1 (en) * 2015-01-30 2016-03-22 Rovi Guides, Inc. Gesture control based on prosthetic nerve signal detection
US9779225B2 (en) * 2015-04-08 2017-10-03 Google Inc. Method and system to provide access to secure features of a device
US20180203437A1 (en) * 2015-04-17 2018-07-19 Tulip Interfaces, Inc. Containerized communications gateway
US10235507B1 (en) * 2015-04-20 2019-03-19 Intensity Analytics Corporation Authentication via typing cadence, gestures, and QR codes
US9842250B2 (en) * 2015-05-13 2017-12-12 Capital One Services, Llc Systems and methods for authenticating a user based on captured image data
US9804679B2 (en) 2015-07-03 2017-10-31 Google Inc. Touchless user interface navigation using gestures
JP6570376B2 (ja) * 2015-08-27 2019-09-04 キヤノン株式会社 情報処理装置、その制御方法、プログラム、記憶媒体
US10282090B2 (en) * 2015-09-30 2019-05-07 Apple Inc. Systems and methods for disambiguating intended user input at an onscreen keyboard using dual strike zones
US10429935B2 (en) * 2016-02-08 2019-10-01 Comcast Cable Communications, Llc Tremor correction for gesture recognition
KR101976605B1 (ko) * 2016-05-20 2019-05-09 이탁건 전자기기 및 그 동작 방법
WO2018042923A1 (ja) * 2016-08-31 2018-03-08 ソニー株式会社 情報処理システム、情報処理方法、およびプログラム
US10725544B1 (en) 2016-09-09 2020-07-28 Apple Inc. Pencil haptics
US10268273B1 (en) * 2016-09-09 2019-04-23 Apple Inc. Stylus with multiple inputs
US10268288B1 (en) 2016-09-20 2019-04-23 Apple Inc. Stiffness rendering for a pencil
US11002855B2 (en) 2016-12-27 2021-05-11 Microvision, Inc. Occlusion-based height estimation
US10061441B2 (en) * 2016-12-27 2018-08-28 Microvision, Inc. Touch interactivity with occlusions in returned illumination data
US10761188B2 (en) 2016-12-27 2020-09-01 Microvision, Inc. Transmitter/receiver disparity for occlusion-based height estimation
US10429938B2 (en) * 2017-04-18 2019-10-01 International Business Machines Corporation Interpreting and generating input and output gestures
KR102256110B1 (ko) 2017-05-26 2021-05-26 라인 가부시키가이샤 영상 압축 방법 및 영상 복원 방법
CN111108408A (zh) * 2017-06-27 2020-05-05 苹果公司 手势识别雷达系统和方法
JP6992367B2 (ja) * 2017-09-27 2022-01-13 カシオ計算機株式会社 爪輪郭検出装置、爪輪郭検出方法及び爪輪郭検出プログラム
CN107885337B (zh) * 2017-12-20 2024-03-08 陈瑞环 一种基于指法识别的信息输入方法及其装置
US11400363B2 (en) 2018-02-16 2022-08-02 Sony Interactive Entertainment Inc. Information processing apparatus, information processing system, controller device, information processing method, and program
WO2019176009A1 (ja) * 2018-03-14 2019-09-19 マクセル株式会社 携帯情報端末
US10719173B2 (en) * 2018-04-04 2020-07-21 Facebook Technologies, Llc Transcribing augmented reality keyboard input based on hand poses for improved typing accuracy
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US20190327330A1 (en) 2018-04-20 2019-10-24 Facebook, Inc. Building Customized User Profiles Based on Conversational Data
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11580002B2 (en) 2018-08-17 2023-02-14 Intensity Analytics Corporation User effort detection
JP7312615B2 (ja) * 2019-02-22 2023-07-21 シャープ株式会社 入力装置及び入力システム
JP6614545B1 (ja) * 2019-04-16 2019-12-04 クリスタルメソッド株式会社 推定システム、及び推定装置
JP7198356B2 (ja) * 2019-07-01 2022-12-28 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、及びプログラム
US11698457B2 (en) * 2019-09-04 2023-07-11 Pixart Imaging Inc. Object detecting system and object detecting method
EP4004695A4 (en) * 2019-09-18 2022-09-28 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND CONTROL METHOD THEREOF
CN112767300A (zh) * 2019-10-18 2021-05-07 宏达国际电子股份有限公司 自动生成手部的标注数据的方法和计算骨骼长度的方法
KR20210052874A (ko) 2019-11-01 2021-05-11 삼성전자주식회사 복수의 센서 신호를 이용하여 사용자의 제스처를 인식하는 전자 장치
US20230054973A1 (en) * 2020-02-06 2023-02-23 Sony Group Corporation Information processing apparatus, information processing method, and information processing program
JP2023515525A (ja) * 2020-02-26 2023-04-13 マジック リープ, インコーポレイテッド ウェアラブルシステムのための手のジェスチャ入力
CN111443802B (zh) * 2020-03-25 2023-01-17 维沃移动通信有限公司 测量方法及电子设备
US11946996B2 (en) 2020-06-30 2024-04-02 Apple, Inc. Ultra-accurate object tracking using radar in multi-object environment
US11755124B1 (en) * 2020-09-25 2023-09-12 Apple Inc. System for improving user input recognition on touch surfaces
CN112328156B (zh) * 2020-11-12 2022-05-17 维沃移动通信有限公司 输入设备的控制方法、装置和电子设备
JP2022087700A (ja) * 2020-12-01 2022-06-13 京セラドキュメントソリューションズ株式会社 電子機器および画像形成装置
US20220270248A1 (en) * 2021-02-19 2022-08-25 Covera Health Uncertainty-aware deep reinforcement learning for anatomical landmark detection in medical images
CN113031464B (zh) * 2021-03-22 2022-11-22 北京市商汤科技开发有限公司 设备控制方法、装置、电子设备及存储介质
US20230031200A1 (en) * 2021-07-30 2023-02-02 Jadelynn Kim Dao Touchless, Gesture-Based Human Interface Device
CN113743247A (zh) * 2021-08-16 2021-12-03 电子科技大学 基于Reders模型的手势识别方法
EP4325345A1 (en) * 2021-09-06 2024-02-21 Samsung Electronics Co., Ltd. Electronic device for acquiring user input through virtual keyboard and operating method thereof
US20230107097A1 (en) * 2021-10-06 2023-04-06 Fotonation Limited Method for identifying a gesture

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683512A (ja) * 1992-02-07 1994-03-25 Internatl Business Mach Corp <Ibm> コマンド及びデータ入力方法及び入力装置
JP2003256850A (ja) * 2001-12-27 2003-09-12 Sanyo Electric Co Ltd 動き認識装置および画像処理装置並びにプログラム
US20030174125A1 (en) * 1999-11-04 2003-09-18 Ilhami Torunoglu Multiple input modes in overlapping physical space
US20100231522A1 (en) * 2005-02-23 2010-09-16 Zienon, Llc Method and apparatus for data entry input

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732227A (en) * 1994-07-05 1998-03-24 Hitachi, Ltd. Interactive information processing system responsive to user manipulation of physical objects and displayed images
JP2000132305A (ja) * 1998-10-23 2000-05-12 Olympus Optical Co Ltd 操作入力装置
US6614422B1 (en) 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US20050037844A1 (en) * 2002-10-30 2005-02-17 Nike, Inc. Sigils for use with apparel
US6771294B1 (en) * 1999-12-29 2004-08-03 Petri Pulli User interface
US7660444B2 (en) * 2000-02-24 2010-02-09 Nokia Corporation Method and apparatus for user recognition using CCD cameras
EP1148411A3 (en) * 2000-04-21 2005-09-14 Sony Corporation Information processing apparatus and method for recognising user gesture
US6744420B2 (en) * 2000-06-01 2004-06-01 Olympus Optical Co., Ltd. Operation input apparatus using sensor attachable to operator's hand
US7042442B1 (en) 2000-06-27 2006-05-09 International Business Machines Corporation Virtual invisible keyboard
DE10100617A1 (de) * 2001-01-09 2002-07-18 Siemens Ag Steuerbare Anordnung mit Benutzerauthentisierung
US7003670B2 (en) * 2001-06-08 2006-02-21 Musicrypt, Inc. Biometric rights management system
US7071924B2 (en) 2002-01-10 2006-07-04 International Business Machines Corporation User input method and apparatus for handheld computers
US20030132913A1 (en) * 2002-01-11 2003-07-17 Anton Issinski Touchless computer input device to control display cursor mark position by using stereovision input from two video cameras
US7340077B2 (en) 2002-02-15 2008-03-04 Canesta, Inc. Gesture recognition system using depth perceptive sensors
WO2004003656A2 (en) 2002-06-26 2004-01-08 Vkb Inc. Multifunctional integrated image sensor and application to virtual interface technology
US8460103B2 (en) * 2004-06-18 2013-06-11 Igt Gesture controlled casino gaming system
US7151530B2 (en) 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
KR100537503B1 (ko) 2002-12-31 2005-12-19 삼성전자주식회사 공간형정보입력장치 구성 방법, 재구성 방법, 착용인식방법 및그 장치
JP4286556B2 (ja) * 2003-02-24 2009-07-01 株式会社東芝 画像表示装置
JP4185421B2 (ja) * 2003-08-27 2008-11-26 日本電信電話株式会社 処理情報入力装置、処理情報入力方法、この方法のプログラム、およびこのプログラムを記録した記録媒体
US7308112B2 (en) 2004-05-14 2007-12-11 Honda Motor Co., Ltd. Sign based human-machine interaction
US8872899B2 (en) * 2004-07-30 2014-10-28 Extreme Reality Ltd. Method circuit and system for human to machine interfacing by hand gestures
EP1859339A2 (en) * 2005-03-10 2007-11-28 Koninklijke Philips Electronics N.V. System and method for detecting the location, size and shape of multiple objects that interact with a touch screen display
US20070130547A1 (en) * 2005-12-01 2007-06-07 Navisense, Llc Method and system for touchless user interface control
JP2007219966A (ja) * 2006-02-20 2007-08-30 Sharp Corp 投影入力装置、投影入力装置を備えた情報端末及び充電器
US9696808B2 (en) * 2006-07-13 2017-07-04 Northrop Grumman Systems Corporation Hand-gesture recognition method
US8452978B2 (en) 2006-09-15 2013-05-28 Identity Metrics, LLC System and method for user authentication and dynamic usability of touch-screen devices
US8354997B2 (en) 2006-10-31 2013-01-15 Navisense Touchless user interface for a mobile device
US8793621B2 (en) 2006-11-09 2014-07-29 Navisense Method and device to control touchless recognition
US8904312B2 (en) 2006-11-09 2014-12-02 Navisense Method and device for touchless signing and recognition
US7877707B2 (en) 2007-01-06 2011-01-25 Apple Inc. Detecting and interpreting real-world and security gestures on touch and hover sensitive devices
US10133873B2 (en) * 2007-09-09 2018-11-20 International Business Machines Corporation Temporary concealment of a subset of displayed confidential data
US20090189858A1 (en) * 2008-01-30 2009-07-30 Jeff Lev Gesture Identification Using A Structured Light Pattern
US8555207B2 (en) 2008-02-27 2013-10-08 Qualcomm Incorporated Enhanced input using recognized gestures
US8514251B2 (en) 2008-06-23 2013-08-20 Qualcomm Incorporated Enhanced character input using recognized gestures
JP5304148B2 (ja) * 2008-09-29 2013-10-02 セイコーエプソン株式会社 情報処理装置およびプログラム
EP2394235A2 (en) * 2009-02-06 2011-12-14 Oculis Labs, Inc. Video-based privacy supporting system
JP2010268989A (ja) * 2009-05-22 2010-12-02 Sony Ericsson Mobilecommunications Japan Inc 個人認証装置および携帯端末
WO2010144050A1 (en) 2009-06-08 2010-12-16 Agency For Science, Technology And Research Method and system for gesture based manipulation of a 3-dimensional image of object
JP5532499B2 (ja) * 2009-06-16 2014-06-25 インテル・コーポレーション ハンドヘルドデバイス用のアダプティブ仮想キーボード
WO2010147600A2 (en) * 2009-06-19 2010-12-23 Hewlett-Packard Development Company, L, P. Qualified command
TWI398818B (zh) * 2009-06-30 2013-06-11 Univ Nat Taiwan Science Tech 手勢辨識方法與系統
US20110016240A1 (en) * 2009-07-14 2011-01-20 Andrew Jesse Mills Measuring and Analyzing Behavioral and Mood Characteristics in Order to Verify the Authenticity of Computer Users Works
US8600166B2 (en) * 2009-11-06 2013-12-03 Sony Corporation Real time hand tracking, pose classification and interface control
US8843857B2 (en) 2009-11-19 2014-09-23 Microsoft Corporation Distance scalable no touch computing
WO2011080923A1 (ja) * 2009-12-28 2011-07-07 パナソニック株式会社 関節状領域検出装置およびその方法
CN102109902A (zh) 2009-12-28 2011-06-29 鸿富锦精密工业(深圳)有限公司 基于手势识别的输入装置
IL204436A (en) * 2010-03-11 2016-03-31 Deutsche Telekom Ag A system and method for remote control of online TV by waving hands
JP2011209786A (ja) * 2010-03-29 2011-10-20 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
JP5601045B2 (ja) * 2010-06-24 2014-10-08 ソニー株式会社 ジェスチャ認識装置、ジェスチャ認識方法およびプログラム
US20130275907A1 (en) * 2010-10-14 2013-10-17 University of Technology ,Sydney Virtual keyboard
US9177125B2 (en) * 2011-05-27 2015-11-03 Microsoft Technology Licensing, Llc Protection from unfamiliar login locations
US8693726B2 (en) * 2011-06-29 2014-04-08 Amazon Technologies, Inc. User identification by gesture recognition
US8754863B2 (en) * 2011-09-23 2014-06-17 Motorola Solutions, Inc. Fixed display system interaction with a communication device
US20130159939A1 (en) * 2011-10-12 2013-06-20 Qualcomm Incorporated Authenticated gesture recognition
US20130182079A1 (en) 2012-01-17 2013-07-18 Ocuspec Motion capture using cross-sections of an object
US8693731B2 (en) 2012-01-17 2014-04-08 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging
US9070019B2 (en) 2012-01-17 2015-06-30 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
CN104145276B (zh) 2012-01-17 2017-05-03 厉动公司 用于通过光学成像进行的对象检测和表征的增强对比度
US8638989B2 (en) 2012-01-17 2014-01-28 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
US9501152B2 (en) 2013-01-15 2016-11-22 Leap Motion, Inc. Free-space user interface and control using virtual constructs
KR101953165B1 (ko) 2012-02-24 2019-05-22 토마스 제이. 모스카릴로 제스처 인식 디바이스들 및 방법들
WO2014018836A1 (en) 2012-07-26 2014-01-30 Leap Motion, Inc. Object detection and tracking
US9285893B2 (en) 2012-11-08 2016-03-15 Leap Motion, Inc. Object detection and tracking with variable-field illumination devices
US9392196B2 (en) 2012-11-08 2016-07-12 Leap Motion, Inc. Object detection and tracking with reduced error due to background illumination
US9386298B2 (en) 2012-11-08 2016-07-05 Leap Motion, Inc. Three-dimensional image sensors
US10609285B2 (en) 2013-01-07 2020-03-31 Ultrahaptics IP Two Limited Power consumption in motion-capture systems
US9465461B2 (en) 2013-01-08 2016-10-11 Leap Motion, Inc. Object detection and tracking with audio and optical signals
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
US10157309B2 (en) * 2016-01-14 2018-12-18 Nvidia Corporation Online detection and classification of dynamic gestures with recurrent convolutional neural networks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683512A (ja) * 1992-02-07 1994-03-25 Internatl Business Mach Corp <Ibm> コマンド及びデータ入力方法及び入力装置
US20030174125A1 (en) * 1999-11-04 2003-09-18 Ilhami Torunoglu Multiple input modes in overlapping physical space
JP2003256850A (ja) * 2001-12-27 2003-09-12 Sanyo Electric Co Ltd 動き認識装置および画像処理装置並びにプログラム
US20100231522A1 (en) * 2005-02-23 2010-09-16 Zienon, Llc Method and apparatus for data entry input

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180074378A (ko) * 2016-12-23 2018-07-03 단국대학교 산학협력단 지면 접촉식 손가락 입력 장치 및 방법

Also Published As

Publication number Publication date
US9880629B2 (en) 2018-01-30
EP2817693B1 (en) 2023-04-05
US11009961B2 (en) 2021-05-18
CA3051912C (en) 2023-03-07
EP2817693A2 (en) 2014-12-31
WO2013126905A3 (en) 2015-04-02
US20240077969A1 (en) 2024-03-07
US20130265218A1 (en) 2013-10-10
CA3051912A1 (en) 2013-08-29
JP2015519624A (ja) 2015-07-09
KR101953165B1 (ko) 2019-05-22
KR20190022911A (ko) 2019-03-06
US20180181208A1 (en) 2018-06-28
US11755137B2 (en) 2023-09-12
US20210271340A1 (en) 2021-09-02
CA2864719A1 (en) 2013-08-29
JP6271444B2 (ja) 2018-01-31
CA2864719C (en) 2019-09-24
KR102133702B1 (ko) 2020-07-14
WO2013126905A2 (en) 2013-08-29

Similar Documents

Publication Publication Date Title
US11755137B2 (en) Gesture recognition devices and methods
US20220083880A1 (en) Interactions with virtual objects for machine control
US8959013B2 (en) Virtual keyboard for a non-tactile three dimensional user interface
KR101809636B1 (ko) 컴퓨터 장치의 원격 제어
Murugappan et al. Extended multitouch: recovering touch posture and differentiating users using a depth camera
KR100630806B1 (ko) 동작 인식 장치를 이용한 명령 입력 방법
US9529523B2 (en) Method using a finger above a touchpad for controlling a computerized system
US9477874B2 (en) Method using a touchpad for controlling a computerized system with epidermal print information
US20150323998A1 (en) Enhanced user interface for a wearable electronic device
US9857868B2 (en) Method and system for ergonomic touch-free interface
US9542032B2 (en) Method using a predicted finger location above a touchpad for controlling a computerized system
US20150084884A1 (en) Extending the free fingers typing technology and introducing the finger taps language technology
US20150363038A1 (en) Method for orienting a hand on a touchpad of a computerized system
WO2006091753A2 (en) Method and apparatus for data entry input
Surale et al. Experimental analysis of mode switching techniques in touch-based user interfaces
US20140253486A1 (en) Method Using a Finger Above a Touchpad During a Time Window for Controlling a Computerized System
US9639195B2 (en) Method using finger force upon a touchpad for controlling a computerized system
KR20140086805A (ko) 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록매체
CN108021238A (zh) 新概念盲打键盘
KR101629737B1 (ko) 문자 입력 장치, 문자 입력 방법, 문자 입력을 위한 컴퓨터 판독가능 기록매체 및 컴퓨터 프로그램
JP2009252160A (ja) 文字入力装置、文字入力方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right