KR20220124810A - 생체전위들 및 벡터들을 사용한 제스처 제어 시스템 - Google Patents

생체전위들 및 벡터들을 사용한 제스처 제어 시스템 Download PDF

Info

Publication number
KR20220124810A
KR20220124810A KR1020227029109A KR20227029109A KR20220124810A KR 20220124810 A KR20220124810 A KR 20220124810A KR 1020227029109 A KR1020227029109 A KR 1020227029109A KR 20227029109 A KR20227029109 A KR 20227029109A KR 20220124810 A KR20220124810 A KR 20220124810A
Authority
KR
South Korea
Prior art keywords
person
user interface
sensor
data
signals
Prior art date
Application number
KR1020227029109A
Other languages
English (en)
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
Priority claimed from US16/774,825 external-priority patent/US20210232224A1/en
Application filed by 피손 테크놀로지, 인크. filed Critical 피손 테크놀로지, 인크.
Publication of KR20220124810A publication Critical patent/KR20220124810A/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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/015Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Neurosurgery (AREA)
  • Dermatology (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Electrotherapy Devices (AREA)

Abstract

장치는 사람에 의해 착용되도록 구조화되고 사람에 의해 의도된 방향을 나타내는 정보를 센싱하도록 구성된 센서를 포함한다. 장치는 프로세서, 및 프로세서에 의해 실행 가능한 지시들을 위한 저장장치를 포함한다. 지시들을 실행할 때, 프로세서는 센서에 의해 센싱된 정보에 기초하여 방향을 결정하며, 상기 방향과 사람의 위치에 기초하여, 지리적 위치를 결정한다. 센서는 사람에 의해 의도된 제스처가 결정될 수 있는 생체전위 신호를 포함할 수 있다.

Description

인간 제스처들에 기초하여 지리적 위치 결정
대부분의 기계들은 사람이 기계와 상호 작용하는 "사용자 인터페이스"의 형태를 가진다. 사람은 기계가 사람의 의도를 해석하는 하나 이상의 디바이스들을 통해 입력들을 제공한다. 기계는 이를테면 기계의 거동에 의해 또는 사람에게 정보를 제공하는 하나 이상의 디바이스들을 통한 출력들에 의해, 이들 입력들에 응답하여 사람에게 피드백을 제공한다.
기계가 디스플레이를 가진 컴퓨터 시스템이거나 또는 이를 포함할 때, 사용자 인터페이스에 대한 공통 패러다임은 "그래픽 사용자 인터페이스"이다. 그래픽 사용자 인터페이스를 갖고, 사람은 컴퓨터를 구동하는 애플리케이션에 입력을 제공하는 사용자 인터페이스 디바이스를 조작한다. 결과적으로, 컴퓨터는 디스플레이 상에 시각적 출력을 제공한다. 컴퓨터는 오디오와 같은, 다른 출력들을 제공할 수 있다. 사용자 인터페이스 디바이스를 통해, 사람은 디스플레이 내에서, 통상적으로 커서로 불리우는, 그래픽 오브젝트의 자리 (position) 를 제어할 수 있으며, 수행될 동작을 나타낼 수 있다. 수행될 동작은 통상적으로 디스플레이상에 제공된 정보 내에서 상기 그래픽 오브젝트의 자리에 부분적으로 기초한다. 다양한 사용자 인터페이스 디바이스들은 컴퓨터들을 위해 생성되어 왔다. 마찬가지로, 많은 종류들의 그래픽 사용자 인터페이스들 및 다른 종류들의 사용자 인터페이스 패러다임들은 컴퓨터들과 함께 사용되어 왔다.
관련 출원들에 대한 상호-참조
본 출원은 2020년 1월 28일에 출원된, 미국 특허 출원 일련 번호 제16/774,825호의 일부 계속 출원인 2020년 6월 2일에 출원된, 미국 특허 출원 번호 제16/890,507호에 대한 우선권을 주장하며, 이는 본원에서 참조로서 인용된다.
본 출원은 2017년 10월 7일에 출원된, 미국 가 특허 출원 제62/566,674호, 및 2016년 12월 2일에 출원된 미국 가 특허 출원 제62/429,334호의 정규 출원인, 2018년 9월 11일에 허여된, 현재 미국 특허 제10,070,799호인, 미국 특허 출원 일련 번호 제15/826,131호의 계속 출원인, 계류 중인, 2018년 8월 17일에 출원된, 미국 특허 출원 일련 번호 제16/104,273호와 관련되며, 그 모두는 본원에서 참조로서 인용된다.
본 출원은 또한 계류 중인, 2018년 8월 5일에 출원된 미국 특허 출원 일련 번호 제16/055,123호와 관련된다.
본 출원은 또한 계류 중인, 2019년 1월 14일에 출원된, 미국 특허 출원 일련 번호 제16/246,964호와 관련된다.
본 출원은 또한 계류 중인, 2018년 11월 20일에 출원된 미국 특허 출원 일련 번호 제16/196,462호에 대한 우선권을 주장하고 미국을 지정국으로 한 국제 출원인, 계류 중인, 2019년 11월 4일에 출원된 PCT 특허 출원 일련 번호 PCT/US2019/061421호와 관련된다.
본 출원은 또한 계류 중인, 2020년 1월 8일에 출원된 미국 특허 출원 일련 번호 제16/737,252호와 관련된다.
앞서 말한 것 모두는 본원에서 참조로서 인용된다.
이러한 요약은 이하에서의 상세한 설명에서 추가로 설명되는 개념들의 선택을 단순화된 형태로 소개한다. 이러한 요약은 청구된 주제의, 특징들을 주요하거나 또는 필수적인 것으로 식별하지도 않으며 범위를 제한하지도 않는다.
기계 또는 컴퓨터와 상호작용하기 위한 그래픽 사용자 인터페이스 패러다임은 몇몇 환경들에서 사용하기 어려울 수 있다. 몇몇 환경들에서, 컴퓨팅 디바이스는 작은 디스플레이를 갖거나 또는 디스플레이를 갖지 않을 수 있다. 뿐만 아니라, 몇몇 환경들에서, 사용자들은, 그들이 또 다른 오브젝트를 움켜잡거나 또는 들고 있기 때문에, 임의의 입력 디바이스들을 쉽게 조작하지 못할 수 있다. 다양한 이유들로, 몇몇 환경들에서, 입력 디바이스와 디스플레이의 통상적인 조합은 기계와의 충분히 직관적이고, 운용 가능하고, 편리하거나, 또는 안전한 형태의 상호작용들을 제공하지 않는다.
뿐만 아니라, 컴퓨터에 대한 대부분의 그래픽 사용자 인터페이스들은 디스플레이상에 제공된 그래픽 오브젝트들 또는 그 외 디스플레이상에서의 컴퓨터에 알려지고 그것에 의해 제공된 오브젝트들과 사용자의 상호작용에 기초한다. 사용자로부터의 입력은 컴퓨터에 알려지고 그것에 의해 제어된 디스플레이 공간 내에서의 위치와 연관되는 경향이 있다.
본원에서 설명된 바와 같이, 하나 이상의 사용자들이 그로부터 지리적 위치가 결정되는, 실세계 (real-world) 지리적 위치를 나타내는 하나 이상의 입력들을 제공하는 인간-기계 인터페이스가 제공된다. 하나 이상의 사용자들의 각각은 각각의 입력이 수신되는 각각의 사용자 인터페이스 디바이스를 갖는다. 반응 디바이스는 적어도 하나의 사용자 인터페이스 디바이스로부터 입력을 수신하고 프로세싱한다. 다수의 반응 디바이스들이 있을 수 있으며, 각각은 하나 이상의 사용자 인터페이스 디바이스들로부터 입력들을 수신한다. 반응 디바이스, 또는 반응 디바이스와 통신하는 또 다른 컴퓨팅 디바이스는 수신된 하나 이상의 입력들에 기초하여 지리적 위치를 결정할 수 있다. 피드백은 결정된 지리적 위치에 관해 적어도 하나의 사용자에게 제공될 수 있다.
지리적 위치가 결정될 수 있는 몇몇 예시적인 시나리오들은 이에 제한되지 않지만 다음을 포함한다.
개인은 북쪽, 또는 서쪽과 같은, 특정 방향을 향하고 있을 수 있으며, 상기 일반적인 방향에 무엇이 있는지에 대한 정보를 원할 수 있다. 개인은 거리 모퉁이 또는 빌딩을 가리킬 수 있으며 그에 대한 정보, 또는 간단히 그것을 식별하길 원할 수 있다. 개인은 하나의 방향을 가리킬 수 있으며 지도상에 포인트를 설정하길 원할 수 있다. 개인은 사냥하는 동안 사슴 또는 다른 동물을 발견하기 위해, 또는 게임 또는 다른 활동 동안 통신하기 위해서와 같은, 오브젝트를 식별하기 위해 하나의 방향으로 향할 수 있다.
다수의 개인들은 대략 동일한 위치 또는 동일한 오브젝트를 가리킬 수 있다. 다수의 사용자들은 동일한 오브젝트를 선택하거나 또는 식별하기 위해 협력하길 원할 수 있다. 다수의 사용자들은 다수의 오브젝트들을 선택하거나 또는 식별하기 위해 협력하길 원할 수 있다. 오브젝트 또는 오브젝트들은 움직일 수 있다. 예를 들어, 다수의 소방관들은 빌딩 상에서 동일한 창문 또는 다른 자리를 가리킬 수 있다. 거리에서 다수의 개인들은 거리에서 동일한 차량을 가리킬 수 있다. 예를 들어, 여러 경찰관들은 동일한 자동차를 가리킬 수 있다. 하나의 장소에서 다수의 개인들은 대략 동일한 위치를 가리킬 수 있다. 도시 공원에서 다수의 사람들은 오브젝트를 가리킬 수 있다. 예를 들어, 하나의 장소에 대한 보안 요원은 동일한 사람, 또는 개방된 문, 또는 오브젝트를 가리킬 수 있다. 수색 구조 임무 상에서 다수의 사람들은 오브젝트, 또는 구조될 사람 또는 동물, 또는 위험 또는 장애물을 식별할 수 있다.
선택된 지리적 위치는 통신을 제어하기 위해 사용될 수 있다. 예를 들어, 개인은 또 다른 개인을 가리키며 상기 개인과 직접 통신을 개시할 수 있다. 개인은 그룹과 통신하기 위해, 이를테면, 개별적으로 그들을 가리키거나 또는 제스처를 이용하여 그룹으로서 그들을 선택함으로써, 개인들의 그룹을 선택할 수 있다. 개인은 하늘을 가리키는 것과 같은 제스처를 이용하여, 미리 결정된 세트의 개인들과 통신을 개시할 수 있다. 유사하게, 오브젝트들과의 통신, 또는 그것의 제어, 또는 둘 모두는 개개의 오브젝트를 가리키고, 세트 내에서 오브젝트들의 그룹을 선택하거나, 또는 미리 결정된 세트의 오브젝트들을 선택함으로써 수행될 수 있다.
지리적 위치는 절대적 위치 또는 상대적 위치로서 정의될 수 있다. 절대적 위치들의 예들은, 이에 제한되지 않지만, 지도 시스템에서의 좌표들, 지리적 위치 결정 시스템 (geographical positioning system; GPS) 좌표들, 또는 다양한 분해능들에서의 경도 및 위도, 또는 이들의 임의의 조합을 포함한다. 상대적 위치들의 예들은, 이에 제한되지 않지만, 기준 포인트 및 방향, 또는 기준 포인트 및 방향과 거리, 복수의 기준 포인트들 및 이들 기준 포인트들로부터의 각각의 방향들, 또는 복수의 기준 포인트들 및 이들 기준 포인트들로부터의 각각의 방향들과 거리들, 또는 이들의 임의의 조합을 포함한다.
지리적 위치는 적어도 하나의 사람과 연관된 센서로부터 센서 데이터로부터의 입력들에 기초하여 결정될 수 있다. 하나 이상의 다른 사람들, 또는 하나 이상의 다른 오브젝트들, 또는 이들의 조합으로부터 연관된 센서들로부터의 부가적인 센서 데이터는 지리적 위치를 결정하기 위해 사용될 수 있다. 이러한 센서들의 예들은 다음: 위치 센서 (이하에서 설명되는 바와 같이), 지자기 센서 (geomagnetic sensor), 나침반, 자력계, 가속도계, 자이로스코프, 고도계, 눈 추적 디바이스, 자리에서의 변화를 나타내는 정보를 제공하는 인코더, 이미지 데이터 또는 모션 비디오를 제공하는 카메라, 알려진 랜드마크에 대한 기준, 또는 하나 이상의 마이크로폰들과 같은, 사운드 센서, 또는 사람으로부터의 방향의 표시를 제공할 수 있는 다른 센서, 또는 이들 중 둘 이상의 임의의 조합 중 적어도 임의의 하나 이상을 포함한다. 센서 데이터는, 예를 들어, 사람에 의한 다수의 프리미티브 (primitive) 제스처들, 의도된 동작, 팔 각도 또는 상대적 수직 위치의 다른 표시, 방향 또는 방위 (bearing), 거리, 또는 고도 또는 이들의 임의의 조합 중 임의의 것으로서 해석될 수 있다. 지리적 위치는 하나 이상의 사람들과 연관된 센서들로부터 수신된 이러한 센서 데이터에 기초하여 결정될 수 있다.
몇몇 구현들에서, 지리적 위치의 결정은 콘텍스트 데이터를 사용하여 보조될 수 있다. 이러한 콘텍스트 데이터는 하나 이상의 오브젝트들의 지리적 위치, 음성, 사운드, 또는 텍스트 데이터, 하나 이상의 카메라들로부터의 이미지 데이터, 지도 데이터 또는 지도에 대한 사용자 입력들, 또는 이들 또는 다른 콘텍스트 정보의 임의의 조합들과 같은, 정보를 포함할 수 있다.
몇몇 구현들에서, 이러한 콘텍스트 데이터와 같은, 부가적인 정보는 지리적 위치들 또는 지리적 위치에 기초하여 선택된 오브젝트에 관련된 다른 동작들을 선택하고, 제어하고, 작동하거나, 또는 수행하도록 입력들을 제공하기 위해 사용될 수 있다. 예를 들어, 음성, 제스처, 또는 다른 데이터는 수식어로서 사용될 수 있다. 예를 들어, 빌딩을 가리키는 소방관은 음성을 통해, 예컨대, "두 사람이 2층 창문 가까이에 있다"고 통신할 수 있다. 예를 들어, 음성, 제스처, 또는 다른 데이터는 선택된 오브젝트에 주석을 달기 위해 사용될 수 있으며, 상이한 제스처들은 "안전" 또는 "위험"과 같은, 오브젝트에 대한 상이한 라벨들을 제공하기 위해 사용된다. 예를 들어, 음성, 제스처, 또는 다른 데이터는 오브젝트에 대한 명령을 활성화하기 위해 사용될 수 있으며, 상이한 동작들은 상이한 방식들로 작동된다. 이러한 작동들은 "클릭"과 유사할 수 있지만, 사용자로부터 수신된 임의의 다른 데이터로부터 획득될 수 있다.
지리적 위치는 다양한 상이한 종류들의 프로세싱 기술들을 사용하여, 센서 데이터, 및 선택적으로 콘텍스트 데이터로부터 결정될 수 있다. 몇몇 구현들에서, 삼각측량의 형태들은 다수의 기준 포인트들로부터의 방향들을 사용하여 이용될 수 있다. 몇몇 구현들에서, 입력은 사용자가 결정된 위치 및 방향에 관련하여 거리를 특정하도록 허용할 수 있다. 몇몇 구현들에서, 에이전트의 위치를 계산하는 동시적 국소화 및 매핑 (SLAM) 알고리즘들의 변형들과 같은, 계산 기하학으로부터의 기법들이 이용될 수 있으며, 여기에서 결정될 지리적 위치는 계산될 에이전트의 위치로서 처리된다. 몇몇 구현들에서, 시간에 걸친 자리에서의 변화가 센서 데이터에 기초하여 결정되는 주행거리계 (odometry) 의 형태들이 사용될 수 있다. 몇몇 구현들에서, 시각적 주행거리계가 카메라들로부터의 이미지들에 대해 수행될 수 있다. 이러한 구현들의 임의의 조합이 또한 사용될 수 있다.
이러한 지리적 위치는 결과적으로 많은 방식들로 사용될 수 있으며, 그 예들은 이에 제한되지 않지만 다음을 포함하며 다음 중 둘 이상의 조합들을 포함할 수 있다. 지리적 위치는 이를테면, 오브젝트를 식별하기 위해 또는 선택하기 위해, 애플리케이션에 대한 입력으로서 사용될 수 있다. 다양한 동작들이 선택된 오브젝트와 관련하여 애플리케이션에 의해 수행될 수 있으며, 그것의 비-제한적인 예들은 카메라에 의해 오브젝트의 추적을 실행하거나, 또는 데이터베이스로부터 오브젝트에 대한 정보를 획득하는 것을 포함한다. 지리적 위치는 또 다른 사용자 또는 또 다른 기계로 전달된 데이터일 수 있다. 지리적 위치는 하나 이상의 사용자 인터페이스 디바이스들로부터 수신된 신호들에 기초하여 데이터와 조합하여 수행될 동작을 선택할 때 콘텍스트 정보로서 처리될 수 있다. 지리적 위치는 이를테면 지도상에 점을 디스플레이함으로써, 피드백으로서 사용자에게 제공될 수 있다.
본원에서 설명된 몇몇 구현들에서, 컴퓨터 또는 컴퓨터-제어형 디바이스와 상호작용하기 위한 인터페이스와 같은, 인간-기계 인터페이스는 사람에 의해 착용된 하나 이상의 사용자 인터페이스들의 조합, 및 하나 이상의 기계들 또는 사람과 연관된 하나 이상의 반응 디바이스들에 의해 구현될 수 있다. 기계는, 예를 들어, 임의의 유형의 컴퓨팅 디바이스 또는 컴퓨터-제어형 디바이스를 포함할 수 있다. 사람은 사용자 인터페이스 디바이스에서 센서들에 의해 센싱되는 동작들을 수행하거나, 또는 수행하려고 시도하거나 또는 의도하며; 센서들은 신호들을 출력한다. 반응 디바이스는 사람이 기계와 상호작용할 수 있게 하기 위해 사용자 인터페이스 디바이스에서 센서들로부터 출력 신호들에 기초하여 수신된 데이터를 해석하고 사용하거나 또는 그것에 따라 동작한다. 피드백은 사람에게 제공된다. 이러한 피드백은 기계에 의해, 반응 디바이스에 의해, 또는 사용자 인터페이스 디바이스에 의해, 또는 다른 피드백 디바이스들에 의해, 또는 이들 중 둘 이상의 조합으로 제공될 수 있다. 이하에서 더 상세하게 설명되는 바와 같이, 반응 디바이스에 의해 수행될 수 있으며, 피드백이 제공될 수 있는 하나의 종류의 동작은 지리적 위치를 식별하는 것을 포함한다.
몇몇 구현들에서, 사용자 인터페이스 디바이스는 사람에 의해 신체 부분 상에 착용되며 적어도 생체전위 센서 (biopotential sensor) 및 위치 센서를 포함한다. 사용자 인터페이스 디바이스가 착용되는 신체 부분은 사람들이 통상적으로 그들의 몸통에 대하여 움직이는 것이 가능한 외지 (appendage) 이다. 또한, 상기 외지에서, 신체 부분을 제어하는 근육들의 활동에 관련된 생체전위들이 피부 표면에서 센싱될 수 있으며, 상기 근육 활동은 사람으로 하여금 본원에서 설명된 바와 같이, 신체 부분의 특정한 자세들을 야기하거나, 또는 야기하도록 의도할 수 있게 한다.
손목-착용 사용자 인터페이스 디바이스의 예에서, 사용자 인터페이스 디바이스는 적어도 하나의 생체전위 센서가 손목의 최상부에서 생체전위들을 센싱하기 위해 본원에서 설명된 바와 같이, 적어도 손목의 최상부에 위치되도록 사람에 의해 착용되도록 구성된다. 손목의 최상부에서 센싱된 생체전위들은 손과 손가락들을 제어하는 근육들의 활동에 관련된다. 본원에서 설명된 바와 같이, 손의 임의의 자세는 이들 근육들의 활성화 또는 이완의 결과이다. 생체전위 신호들은 사람이 손의 임의의 자세를 형성하려고 의도하는 것에 응답하여 생성된다; 손의 자세는, 사람이 신경근 조건을 가질 때와 같은, 몇몇 경우들에서 형성되지 않을 수 있다. 생체전위 센서는 센싱된 생체전위들을 나타내는 생체전위 신호를 제공하는 출력을 가진다.
손목-착용 사용자 인터페이스 디바이스의 예에서, 위치 센서는 본원에서 설명된 바와 같이, 기준 포인트에 대하여 손목의 위치를 센싱하며 센싱된 위치를 나타내는 위치 신호를 제공하는 출력을 가진다. 상이한 종류들의 위치 센서들은 상이한 기준 포인트들을 사용할 수 있다.
반응 디바이스는 사용자 인터페이스 디바이스로부터, 생체전위 신호들에 기초하며 위치 신호들에 기초하는 데이터를 수신하는, 일종의 기계, 통상적으로 컴퓨팅 디바이스이다. 반응 디바이스는 수신된 데이터에 기초하여 동작들을 수행한다. 수신된 데이터는 센서들로부터의 출력 신호들일 수 있거나, 또는 이들 신호들을 필터링하거나 또는 변환하는 것으로부터 획득된 데이터, 이들 신호들로부터 추출된 특징들을 나타내는 데이터, 앞서 말한 것으로부터 도출된 자세 또는 위치 정보, 또는 이들 신호들로부터 검출된 프리미티브 제스처들을 나타내는 데이터, 또는 이들 신호들을 프로세싱하는 것으로부터 획득된 다른 데이터, 또는 이들 중 임의의 둘 이상의 조합과 같은, 이들 신호들을 프로세싱하는 것으로부터 도출된 정보를 나타내는 데이터일 수 있다.
반응 디바이스는 수신된 데이터에서 프리미티브 제스처들을 검출하며, 프리미티브 제스처들에 기초하여 동작들이 수행되게 하기 위해 수신된 데이터에 반응적이다. 프리미티브 제스처는 제 1 시간 순간에서 손의 제 1 자세, 또는 손목의 제 1 위치, 또는 둘 모두; 및 제 1 시간 순간에 이어 제 2 시간 순간에서, 손의 제 2 자세, 또는 손목의 제 2 위치, 또는 둘 모두를 포함할 수 있다. 프리미티브 제스처는 제 2 자세가 제 1 자세와 동일한 "유지 (hold)" 제스처를 포함할 수 있다.
몇몇 경우들에서, 수행될 동작은 검출된 프리미티브 제스처들의 시퀀스에 기초한다. 몇몇 경우들에서, 동작은 특정 검출된 프리미티브 제스처들에 기초한다. 몇몇 경우들에서, 동작은 둘 이상의 검출된 프리미티브 제스처들의 동시-발생에 기초한다. 몇몇 경우들에서, 동작은 특정한 콘텍스트에서 하나 이상의 프리미티브 제스처들의 발생에 기초한다.
통상적으로, 수행될 동작은 컴퓨팅 디바이스에 의해 수행된 동작이다. 이러한 동작은 통상적으로 컴퓨팅 디바이스 상에서 실행하는 애플리케이션에 의해 수행된다. 컴퓨팅 디바이스는 실행하는 여러 애플리케이션들을 가질 수 있다. 사용자 인터페이스 디바이스를 통해 다수의 애플리케이션들과 상호작용할 때, 컴퓨팅 디바이스는 선택된 애플리케이션으로 입력을 제공하도록 지시받으며, 상기 입력은 선택된 애플리케이션이 선택된 동작을 수행하게 한다. 사용자 인터페이스로부터 수신된 데이터에서 검출된 프리미티브 제스처들은 애플리케이션을 선택하거나, 또는 애플리케이션으로 제공될 입력을 선택하거나, 또는 둘 모두를 하기 위해 사용될 수 있다.
예로서, 반응 디바이스는 선택된 애플리케이션으로 입력들을 향하게 할 수 있으며, 선택된 애플리케이션은 손목의 검출된 모션 없이 일정 시간 기간 후 발생한 손의 검출된 자세에 응답하여 동작을 수행할 수 있다. 반대로, 손목의 모션이 검출되지만, 반응 디바이스는 생체전위 센서로부터의 신호들에 기초하여 데이터를 무시할 수 있다. 이러한 거동은 손목의 모션이 손의 자세를 검출하는 것을 방해하는 신호들을 발생시키지 않는다는 것을 보장할 수 있다.
예로서, 반응 디바이스는 손목의 검출된 위치에 기초하여 애플리케이션을 선택할 수 있다. 선택된 애플리케이션 내에서, 손목은 검출된 위치에 남아있지만, 애플리케이션은 적어도 손의 검출된 자세에 기초하여 동작을 선택하고 수행할 수 있다. 거동은, 예를 들어, 상이한 애플리케이션들 간에 스위칭을 가능하게 할 수 있다. 예를 들어, 사람은 애플리케이션을 활성화하기 위해 손목을 머리 위로 들어올리고 검지손가락을 들어올리며, 상기 애플리케이션이 동작을 수행하게 할 수 있다. 나중에, 사람은 또 다른 애플리케이션을 활성화하기 위해 손목을 내리고 검지손가락을 들어올리며 상기 다른 애플리케이션이 또 다른 동작을 수행하게 할 수 있다.
예로서, 반응 디바이스는 선택된 애플리케이션으로 입력들을 지향시킬 수 있으며, 선택된 애플리케이션은 손목의 검출된 위치에 기초하여 동작을 선택할 수 있다. 선택된 동작은 손목이 검출된 위치에 남아있는 동안 손의 검출된 자세에 응답하여 수행될 수 있다. 이러한 거동은, 예를 들어, 메뉴 아이템을 선택하거나 또는 값들의 범위 내에서 하나의 값을 선택하는 것을 가능하게 할 수 있다. 예를 들어, 오디오 재생 시스템은 플레이리스트로부터 곡을 선택하거나, 또는 볼륨을 조정할 수 있다.
예로서, 선택된 애플리케이션은 하나의 방향에서 손목의 검출된 모션에 의해 성취된 자세의 검출된 유지에 앞서, 손목의 검출된 모션 없이 일정 시간 기간 후 발생하는, 손의 검출된 자세에 응답하여 동작을 수행할 수 있다. 이러한 거동은, 예를 들어, 오브젝트를 둘러쌈으로써 오브젝트를 선택하는 것, 리스트에서 다음 또는 이전 아이템을 선택하는 것, 스크롤링 또는 슬라이딩 요소들을 조정하는 것, 및 다른 동작들을 가능하게 할 수 있다. 예를 들어, 사람은 오브젝트를 선택하기 위해, 팔을 들어올리고, 그 후 손가락을 들며, 그 후 원 모션을 만들 수 있다.
예로서, 반응 디바이스는 주로 손목의 위치에 기초하여 동작들을 수행하는 동작 모드를 개시하고 종료하기 위해 검출된 손의 자세를 사용할 수 있다. 이 거동은 예를 들어, 손목의 모션에 기초하여 드론과 같은 오브젝트의 운동을 제어하기 위한 동작 모드를 인에이블하는 것을 가능하게 할 수 있다. 예를 들어, 손가락의 들어올림 및 유지에 응답하여, 드론에 대한 원격 제어 모드가 활성화되어, 손목 위치가 드론의 모션을 제어한다.
동작들은 또한 사용자 인터페이스 디바이스 상에서 다른 센서들로부터의 임의의 다른 정보에 기초하여 수행될 수 있다. 동작들은 또한 반응 디바이스에 이용 가능한 임의의 콘텍스트 정보에 기초하여 수행될 수 있다.
반응 디바이스에서 이러한 거동은 다양한 콘텍스트들에서 기계와 상호작용하기 위한 광범위한 사용자 경험들을 가능하게 한다. 기계와 상호작용하기 위해 사용된 손의 자세가 손가락을 들어올리는 것과 같은, 사람이 또 다른 오브젝트를 움켜잡거나 또는 드는 동안 수행될 수 있을 때, 사용자 인터페이스 디바이스는 다른 활동들을 수행하는 동안 사람이 기계와 상호작용할 수 있게 한다. 기계와 상호작용하기 위해 사용된 손의 자세가 조심스럽게 수행될 수 있을 때, 또는 사람이 주머니에 손을 넣을 때와 같은, 최소 모션 또는 움직임을 이용하여, 사용자 인터페이스 디바이스는 도전적인 환경들에서 기계와 편리하거나 또는 안전하게 또는 몰래 상호작용할 수 있게 한다. 기계와 상호작용하기 위해 사용된 손의 자세 또는 손목의 위치가, 가리키는 것 및 스와이핑과 같은, 직관적일 때, 사용자 인터페이스 디바이스는 사람이 기계와 직관적으로 상호작용할 수 있게 한다.
따라서, 일 양상에서, 장치는 사람에 의해 착용되도록 구성되고 사람에 의해 의도된 방향을 나타내는 정보를 센싱하도록 구성된 센서를 포함한다. 상기 장치는 프로세서, 및 상기 프로세서에 의해 실행 가능한 지시들을 위한 저장장치를 포함한다. 지시들을 실행할 때, 프로세서는 센서에 의해 센싱된 정보에 기초하여 방향을 결정하며, 상기 방향 및 사람의 위치에 기초하여, 지리적 위치를 결정한다.
또 다른 양상에서, 반응 디바이스는 사용자 인터페이스 디바이스와 통신하도록 구성된다. 반응 디바이스는 프로세싱 디바이스 및 컴퓨터 저장장치를 포함한 프로세싱 시스템을 포함한다. 컴퓨터 저장장치는 프로세싱 디바이스에 의해 프로세싱될 때, 반응 디바이스를 구성하는 컴퓨터 프로그램 지시들을 그것 상에 저장한다. 반응 디바이스는 사용자 인터페이스 디바이스로부터 센서 데이터를 수신하고 지리적 위치를 결정하도록 구성된다.
몇몇 구현들에서, 장치는 생체전위 센서 및 위치 센서를 포함한다. 상기 생체전위 센서는 사람에 의해 착용되며 사람에 의해 표현된 의도에 반응하도록 구성된다. 생체전위 센서는 사람에게 나타나는 생체전위들을 센싱하도록 구성된다. 생체전위들은 신체 부분을 제어하거나 또는 신체 부분 가까이에 있는 외지를 제어하는 근육들과 연관된다. 위치 센서는 사람에 대한 위치를 센싱하기 위해 구성된다. 프로세서에 의해 실행 가능한 지시들을 위한 저장장치를 가진, 프로세서는 센싱된 생체전위들 및 센싱된 위치에 기초하여, 사람에 의해 표현된 의도를 나타내는 프리미티브 제스처를 검출한다. 프리미티브 제스처에 응답하여, 프로세서는 지리적 위치를 결정한다.
몇몇 구현들에서, 반응 디바이스는 생체전위 신호에 기초한 데이터 및 위치 신호에 기초한 데이터를 수신하도록 구성된다. 반응 디바이스는 사람에 의해 표현된 의도를 나타내는 프리미티브 제스처를 검출하도록 구성된다. 프리미티브 제스처에 응답하여, 프로세서는 지리적 위치를 결정한다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 센서는 사람에 의해 착용되도록 구성되며 사람에게 나타나는 생체전위들을 센싱하도록 구성된 생체전위 센서를 포함한다. 센서는 사람에 의해 착용되도록 구성되며 사람에 대한 위치를 센싱하도록 구성된 위치 센서를 포함한다. 상기 센서는 눈 추적 디바이스를 포함한다. 상기 센서는 지자기 센서를 포함한다. 상기 센서는 고도계를 포함한다. 상기 센서는 자리에서의 변화를 나타내는 정보를 제공하는 인코더를 포함한다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 신체 부분은 손목이다. 외지는 손이다. 외지는 손의 하나 이상의 손가락들을 포함한다. 자세는 손의 자세이다. 손의 자세는 하나 이상의 손가락들의 자세를 포함한다. 손의 자세는 하나 이상의 손가락들의 움직임을 포함한다. 손의 자세는 단일 손가락의 자세를 포함한다. 손의 자세는 단일 손가락의 움직임을 포함한다. 단일 손가락은 엄지손가락이다. 단일 손가락은 검지손가락이다. 손의 자세는 손목에 대한 손의 자리를 포함하다. 프리미티브 제스처는 손가락 스와이프를 포함한다. 프리미티브 제스처는 손가락 들어올리기를 포함한다. 프리미티브 제스처는 손가락 유지를 포함한다. 손목의 위치는 손목의 최상부의 자리를 포함한다. 손목의 위치는 손목의 최상부의 배향을 포함한다. 손목의 위치는 손목의 최상부의 모션을 포함한다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 위치 센서는 신체 부분의 가속도의 크기 및 방향을 나타내는 신호를 포함한 위치 신호들을 발생시키는 가속도계를 포함한다. 위치 센서는 신체 부분의 배향 및 각속도를 나타내는 신호를 포함한 위치 신호들을 발생시키는 자이로스코프를 포함한다. 위치 센서는 선수방향 (heading) 을 나타내는 신호를 포함한 위치 신호들을 발생시키는 지자기 센서를 포함한다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 지리적 이치는 사람의 제 1 지리적 위치, 적어도 센서 데이터에 기초한 제 1 방향, 및 제 2 지리적 위치로부터의 제 2 방향에 기초하여 결정된다. 제 2 지리적 위치는 제 2 사람에 대한 것이다. 제 2 방향은 제 2 사람이 가리킨 방향이다. 제 2 지리적 위치는 사람에 의해 운반된 디바이스로부터의 신호에 기초하여 도출된 위치이다. 제 2 방향은 사람에 의해 운반된 디바이스로부터의 신호에 기초하여 도출된 방향이다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 지리적 위치는 사람의 지리적 위치 및 방향과 방향을 따르는 거리를 나타내는 데이터에 기초하여 결정된다. 방향을 따르는 거리는 사람으로부터의 생체전위 신호들 또는 위치 신호들 중 적어도 하나에 기초한다. 결정된 지리적 위치는 지도에서 점을 특정한다. 검출된 프리미티브 제스처에 응답하여, 프로세서는 지도상에서 특정된 점의 위치를 한정한다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 지리적 위치는 선택된 오브젝트에 기초하여 결정된다. 사람의 지리적 위치에 응답하여, 및 검출된 프리미티브 제스처에 응답하여, 지리적 위치를 가진 오브젝트가 선택된다. 선택된 오브젝트의 지리적 위치는 결정된 지리적 위치이다. 선택된 오브젝트의 지리적 위치는 데이터베이스로부터 선택된 오브젝트의 지리적 위치에 대한 정보를 액세스하는 것에 기초한다. 선택된 오브젝트의 지리적 위치는 오브젝트의 비행 시간 데이터에 기초하여 선택된 오브젝트의 지리적 위치를 계산하는 것에 기초한다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 사람에 대한 위치는 손목의 최상부의 자리를 포함한다. 사람에 대한 위치는 손목의 최상부의 배향을 포함한다. 사람에 대한 위치는 손목의 최상부의 모션을 포함한다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 프로세서는 사람의 제 1 지리적 위치를 나타내는 데이터를 수신하는 것, 사람에 의해 착용된 사용자 인터페이스 디바이스로부터 수신된 센서 데이터에 기초하여 제 1 방향을 결정하는 것, 제 2 지리적 위치로부터 제 2 방향을 결정하는 것, 및 제 1 지리적 위치와 제 2 방향, 및 제 2 지리적 위치와 제 2 방향에 기초하여 지리적 위치를 결정하는 것에 의해 지리적 위치를 결정한다. 제 2 지리적 위치는 제 2 사람의 지리적 위치를 포함한다. 제 2 방향은 제 2 사람이 가리킨 방향을 포함한다. 제 2 지리적 위치는 제 2 사람에 의해 운반된 디바이스로부터의 신호에 기초하여 도출된 위치를 포함한다. 제 2 방향은 제 2 사람에 의해 운반된 디바이스로부터의 신호에 기초하여 도출된 방향을 포함한다. 제 2 지리적 위치는 제 2 센서의 위치를 포함한다. 제 2 방향은 제 2 센서로부터의 신호들에 기초한 방향을 포함한다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 프로세서는 사람의 지리적 위치 및 방향을 나타내는 데이터를 수신하는 것, 상기 센서 데이터에 기초하여, 제 1 방향을 따르는 거리를 결정하는 것, 및 사람의 지리적 위치, 방향, 및 결정된 거리에 기초하여 지리적 위치를 결정하는 것에 의해 지리적 위치를 결정한다. 결정된 지리적 위치는 지도와 연관된 좌표들에서 포인트를 특정한다. 검출된 프리미티브 제스처에 응답하여, 프로세서는 특정된 포인트의 위치를 한정한다.
앞서 말한 것 중 임의의 것은 다음의 특징들 중 하나 이상을 포함할 수 있다. 지리적 위치를 결정하기 위해, 프로세서는, 사람의 지리적 위치에 응답하여, 및 센서 데이터에 응답하여, 지리적 위치를 가진 오브젝트를 선택하고, 선택된 오브젝트의 지리적 위치를 결정된 지리적 위치로 제공하도록 구성된다. 선택된 오브젝트의 지리적 위치는 데이터베이스로부터 선택된 오브젝트의 지리적 위치에 대한 정보를 액세스하는 것을 포함한다. 선택된 오브젝트의 지리적 위치는 오브젝트의 비행 시간 데이터에 기초하여 선택된 오브젝트의 지리적 위치를 계산하는 것을 포함한다.
앞서 말한 것 중 임의의 것은 컴퓨터 시스템으로서, 이러한 컴퓨터 시스템의 구성요소로서, 이러한 컴퓨터 시스템 또는 이러한 컴퓨터 시스템의 구성요소에 의해 수행된 프로세스로서, 또는 컴퓨터 프로그램 코드가 저장되며 하나 이상의 컴퓨터들의 프로세싱 시스템(들)에 의해 프로세싱될 때, 이러한 컴퓨터 시스템 또는 이러한 컴퓨터 시스템의 구성요소를 제공하도록 하나 이상의 컴퓨터들의 프로세싱 시스템(들)을 구성하는 컴퓨터 저장장치를 포함한 제조 물품으로서 구체화될 수 있다.
다음의 상세한 설명은 이러한 출원의 일 부분을 형성하며 예시로서, 특정 예시적인 구현들을 도시하는 첨부된 도면들을 참조한다. 다른 구현들이 본 개시의 범위로부터 벗어나지 않고 이루어질 수 있다.
도 1a는 사용자 인터페이스 디바이스의 블록도이다.
도 1b 및 도 1c는 예시적인 사용자 인터페이스 디바이스의 투시도들이다.
도 2a 내지 도 2d는 반응 디바이스의 예시적인 구현들의 블록도들이다.
도 3은 사용자 인터페이스 디바이스로부터의 신호들의 프로세싱 스테이지들의 예시적인 개략도이다.
도 4a는 예시적인 손 자세들을 예시한다.
도 4b는 손목의 최상부의 예시적인 위치들을 예시한다.
도 4c는 사용자 인터페이스 디바이스로부터 수신된 데이터의 프로세싱을 예시한 상태도이다.
도 5는 반응 디바이스 상에서의 애플리케이션들로 입력들을 제공하기 위해 사용자 인터페이스 디바이스와 반응 디바이스 간의 상호작용을 예시한 데이터 흐름도이다.
도 6은 애플리케이션이 손목의 위치에 기초하여 어떻게 상이한 동작들을 선택할 수 있는지에 대한 개략도이다.
도 7은 애플리케이션이 어떻게 손의 자세 또는 손목의 위치 또는 둘 모두에 기초하여 상이한 동작들을 수행할 수 있는지에 대한 상태도이다.
도 8은 손목의 위치가 어떻게 상이한 동작들에 매핑될 수 있는지를 그래픽으로 예시한다.
도 9a는 지리적 위치를 결정하는 것을 예시한 데이터 흐름도이다.
도 9b 및 도 9c는 그래픽 위치를 결정하는 예시적인 시나리오를 예시한다.
도 9d는 3-차원 장면 내에서 선택된 오브젝트에 대해 수행될 동작을 선택하는 애플리케이션의 데이터 흐름도이다.
도 10은 예시적인 그래픽 사용자 인터페이스이다.
도 11은 예시적인 그래픽 사용자 인터페이스이다.
도 12는 범용 컴퓨터의 블록도이다.
본원에서 설명된 바와 같이, 컴퓨터 또는 컴퓨터-제어형 디바이스와 상호작용하기 위한 인터페이스와 같은, 인간-기계 인터페이스는 사람에 의해 착용된 하나 이상의 사용자 인터페이스 디바이스들, 및 하나 이상의 기계들 또는 사람과 연관된 하나 이상의 반응 디바이스들의 조합에 의해 구현된다. 기계는 예를 들어, 임의의 유형의 컴퓨팅 디바이스 또는 컴퓨터-제어형 디바이스를 포함할 수 있다.
사람은 사용자 인터페이스 디바이스에서 센서들에 의해 센싱되는 동작들을 수행하거나 또는 수행하려고 시도하거나 또는 의도하며; 센서들은 신호들을 출력한다. 반응 디바이스는 사람이 기계와 상호작용할 수 있게 하기 위해 사용자 인터페이스 디바이스에서 센서들로부터의 출력 신호들에 기초하여 수신된 데이터를 해석한다. 피드백이 사람에게 제공된다. 이러한 피드백은 기계에 의해, 반응 디바이스에 의해, 또는 사용자 인터페이스 디바이스에 의해, 또는 다른 피드백 디바이스들에 의해, 또는 이들 중 둘 이상의 조합으로 제공될 수 있다. 이하에서 더 상세하게 설명되는 바와 같이, 반응 디바이스에 의해 수행될 수 있으며, 피드백이 제공될 수 있는 하나의 종류의 동작은 지리적 위치를 식별하는 것을 포함한다.
사용자 인터페이스 디바이스, 반응 디바이스, 및 기계의 많은 가능한 구성들 및 상호관계들이 있으며, 그 중 일부는 도 2a 내지 도 2d와 관련하여 이하에서 더 상세하게 설명된다. 통상적으로, 사용자 인터페이스 디바이스, 반응 디바이스, 및 기계는 별개의 디바이스들일 수 있다. 디바이스들 중 둘 이상은 사용자 인터페이스 디바이스와 반응 디바이스 둘 모두를 통합한 단일 디바이스 (예컨대, 스마트 워치는 또 다른 기계를 제어한다); 반응 디바이스와 기계 둘 모두를 통합한 단일 디바이스 (예컨대, 사용자 인터페이스 디바이스는 스마트폰 또는 태블릿 또는 컴퓨터와 상호작용한다); 및 사용자 인터페이스 디바이스, 반응 디바이스, 및 기계를 통합한 단일 디바이스 (예컨대, 스마트 워치) 와 같은, 동일한 디바이스로 통합될 수 있다. 디바이스들은 이를테면 본원에서 반응 디바이스에 존재하는 것으로 설명된 기능이 사용자 인터페이스 디바이스에 위치될 때 (도 3과 관련하여 이하에서 더 상세하게 주지되는 바와 같이), 부분적으로 동일한 디바이스로 통합될 수 있다. 사용자 인터페이스 디바이스들의, 또는 반응 디바이스들의, 또는 기계들의, 또는 그것들의 조합들의 다수의 인스턴스들이 있을 수 있다. 예를 들어, 몇몇 경우들에서, 다수의 사용자 인터페이스 디바이스들은 하나의 사람에 의해 착용될 수 있으며, 각각의 사용자 인터페이스 디바이스들은 상이한 손목들 또는 발목들과 같은, 몸의 각각의 부분들 상에 착용된다. 몇몇 경우들에서, 다수의 사용자 인터페이스 디바이스들은 제 1 사용자 인터페이스 디바이스를 착용한 제 1 사람 및 제 2 사용자 인터페이스 디바이스를 착용한 제 2 사람과 같은, 다수의 상이한 사람들에 의해 착용될 수 있으며, 양쪽 사용자 인터페이스들 모두는 하나 이상의 반응 디바이스들에 연결한다. 디바이스들 간의 연결들은 유선 및 무선 통신, 컴퓨터 네트워크들, 컴퓨터 버스 구조들 등, 및 그것들의 조합들을 포함한, 많은 방식들로 구현될 수 있다.
도 1a는 사람에 착용된 사용자 인터페이스 디바이스 (100) 에서 회로의 블록도를 개략적으로 예시한다. 사용자 인터페이스 디바이스가 착용될 수 있는 신체 부분은 사람들이 통상적으로 그들의 몸통에 대하여 움직이는 것이 가능한 외지, 예를 들어 손목의 최상부에서의 팔일 수 있다. 또한, 이러한 외지에서, 신체 부분을 제어하는 근육들의 활동 또는 의도된 활동에 관련된 생체전위들이 피부 표면에서 센싱될 수 있으며, 상기 근육 활동은 사람이 신체 부분의 특정한 자세들을 야기하거나 또는 야기하도록 의도할 수 있게 한다.
이러한 사용자 인터페이스 디바이스는 사람의 많은 상이한 신체 부분들 상에 착용될 수 있지만, 사용자 인터페이스 디바이스는 본원에서 적어도 하나의 생체전위 센서가 손목의 최상부에 위치되도록 사용자 인터페이스 디바이스를 착용하는 예를 사용하여 설명될 것이다. 본원에서 사용된 바와 같이 구절 "손목의 최상부"는 팔에 손을 연결하는 관절 (즉, 손목) 에 인접한 팔의 원위 단부에 있는 또는 그 가까이에 있는 팔의 뒤쪽 표면을 의미하도록 의도된다 (도 4a 내지 도 4c와 관련하여 이하에서 더 상세하게 설명됨).
몇몇 구현들에서, 사용자 인터페이스 디바이스가 손목의 최상부에 착용되는 경우에, 사용자 인터페이스 디바이스 (100) 는 적어도 기준 포인트에 대한 손목의 위치를 나타내는 신호들 (102) 및 손목에 연결된 손 및 손의 손가락들을 제어하는 근육들의 활동에 관련된 생체전위들을 나타내는 신호들 (104) 을 포함한, 데이터 (120) 를 출력한다. 이들 신호들을 생성하기 위해, 사용자 인터페이스 디바이스 (100) 는 적어도 두 개의 센서들, 즉 생체전위 센서 (106) 및 위치 센서 (108) 를 갖는다. 사용자 인터페이스가 손목이 아닌 사람의 또 다른 신체 부분 상에 착용될 때, 사용자 인터페이스 디바이스는 기준 포인트에 대한 상기 신체 부분에 대한 위치 및 상기 신체 부분에서의 피부 표면에서 센싱된 생체전위들을 나타내는 신호들을 출력할 것이다.
구절 "위치"는 속도, 각속도, 가속도, 또는 각 가속도, 또는 이들 중 둘 이상의 임의의 조합과 같은, 기준 포인트에 대한 자리 또는 배향, 선수방향, 또는 이들 중 임의의 것에서의 변화들을 적어도 부분적으로 기술하는 임의의 데이터를 의미하도록 의도된다. 사람의 신체와 연관된 좌표 시스템과 같은, 기준 프레임 내에서, 기준 포인트는 절대적이거나 (기준 프레임에서의 원점과 같은) 또는 상대적 (이전에 알려진 위치와 같은) 일 수 있다. 상이한 종류들의 위치 센서들은 상이한 기준 포인트들을 사용할 수 있다. 위치는 좌표들에서, 데카르트, 방사, 구면 좌표들에 있는지에 관계없이, 1, 2, 또는 3차원들에서, 또는 벡터로서 표현될 수 있다. 위치는 또한 고, 저, 좌, 우, 원, 및 근, 및 그것들의 조합들과 같은, 상대적인 용어들로 표현될 수 있다. 본원에서 사용된 바와 같이, 손목과 같은 신체 부분의 "모션"은 기준 포인트에 대하여 시간에 걸친 신체 부분의 자리 또는 배향, 또는 둘 모두에서의 변화를 나타내도록 의도된다. 통상적으로, 손목의 최상부의 자리 또는 배향에서의 변화는 팔 모션에 기인하며, 본원에서 손목 모션 또는 팔 모션으로 불리운다. 손 또는 손가락의 다른 움직임들은, 가능하게는 손의 구부림 또는 하나 이상의 손가락들 (또는 유사한 신체 부분) 의 확장 또는 수축과 같은, 손목 (또는 다른 신체 부분) 에서 또는 그 가까이에서 발생할지라도, 본원에서 "움직임"으로 불리운다.
"생체전위들"은 피부의 표면상에서 비침습적으로 센싱될 수 있으며 근육들로 송신되는 신경 신호들, 이러한 신경 신호들에 응답하는 근육들의 전기 활동, 및 조직들 내에서의 다른 전기 활동을 나타내는 신체에서 전파되는 전기 신호들이다. 손목의 최상부에서 센싱될 때, 이러한 생체전위들은 손 또는 서로에 대한 단일 손가락 또는 손가락들의 그룹들의 움직임, 및 팔에 대한 손의 움직임, 및 이들의 임의의 조합을 포함하여, 손과 손가락들을 제어하는 근육들의 활동과 관련된다. 구절 "근육들의 활동에 관련된"은 신경 신호들, 근육 조직 신호들, 의도된 근육 움직임 (실현되는지 여부에 관계없이) 에 관련된 신호들, 또는 의도되지 않은 근육 움직임 (실현되는지 여부에 관계없이) 에 관련된 신호들, 또는 이들 중 둘 이상의 임의의 조합 중 임의의 하나 이상을 포함하도록 의도된다. 근육 움직임은 사람의 조건에 의존하여 실현되거나 또는 실현되지 않을 수 있다. 사람은 근육이 의도한 대로 움직이지 않거나 또는 전혀 움직이지 않는 위축성 측색 경화증 (ALS) 과 같은, 질병을 가질 수 있지만, 신경 신호들은 여전히 의도된 근육 움직임을 위해 발생될 수 있다. 사람은 그 외 제한될 수 있으며, 따라서 근육 움직임은 발생하지 않지만, 신경 신호들 및 가능하게는 근육 조직 신호들은 발생된다. 본원에서 몇몇 인스턴스들에서, 텍스트는 손가락의 움직임과 같은, 신체 부분의 움직임을 참조한다. 이들 인스턴스들은 짧은 참조로서 이해되어야 하며 신체 부분의 실제 움직임뿐만 아니라, 상기 신체 부분의 의도되지만, 실현되지 않은, 움직임을 또한 포함하며, 그 경우에 생체전위 신호는 상기 신체 부분을 제어하기 위한 의도된 근육 움직임을 나타낸다.
사용자 인터페이스 디바이스 (100) 는 또한 하나 이상의 피드백 디바이스들 (110) 을 통해 사람에게 피드백을 출력할 수 있으며, 그 예들은 이하에서 더 상세하게 설명된다. 사용자 인터페이스 디바이스 (100) 는 피드백 디바이스들 (110) 에 관련된 피드백 신호들 (112) 을 수신할 수 있다. 사용자 인터페이스 디바이스 (100) 는 피드백 디바이스들 (100) 에 대한 피드백 신호들 (112) 을 생성할 수 있다 (예컨대, 제어기 (130) 에 의해). 사용자 인터페이스 디바이스 (100) 는 이러한 피드백이 반응 디바이스, 기계, 또는 다른 피드백 디바이스로부터 제공될 수 있으므로, 사용자로의 피드백의 유일한 소스가 아닐 수 있다. 몇몇 구현들에서, 사용자 인터페이스 디바이스 (100) 는 임의의 피드백 디바이스를 갖지 않을 수 있다. 예를 들어, 번쩍이는 빛은 사용자 인터페이스 디바이스가 반응 디바이스와 통신하고 있음을 나타낼 수 있거나, 또는 진동은 반응 디바이스가 동작을 완료하였음을 나타낼 수 있다.
사용자 인터페이스 디바이스 (100) 는 또한 버튼과 같은, 하나 이상의 입력 디바이스들 (114) 을 가질 수 있으며, 그것을 통해 사람은 의도적으로 또는 의도하지 않게 직접 입력들을 사용자 인터페이스 디바이스 (100) 로 제공할 수 있다.
사용자 인터페이스 디바이스 (100) 는 통상적으로 무선 연결을 통해 반응 디바이스와 통신한다. 사용자 인터페이스 디바이스는 배터리에 의해 동력을 공급받을 수 있다. 사용자 인터페이스 디바이스는, 반응 디바이스로부터 분리될 때, 무선 트랜시버 (도시되지 않음) 를 통해 반응 디바이스와 통신할 수 있다 (데이터 (120) 를 전송하고 피드백 신호들 (112) 을 수신하기 위해).
사용자 인터페이스 디바이스의 다양한 구성요소들, 예컨대, 106, 108, 110, 114, 및 122가 제어기 (130) 와 상호작용한다. 제어기는 그것들의 동작을 제어하기 위해 이들 구성요소들에 연결된다. 제어기는 센서의 출력 신호들로부터 원하는 샘플링 레이트로 디지털 샘플들의 시퀀스를 제공하기 위해 센서들 (106, 108, 122) 의 출력들을 샘플링하고, 다운샘플링하거나, 또는 업샘플링하는 아날로그-대-디지털 변환기를 포함할 수 있다. 제어기 (230) 는 증폭기 또는 대역 통과, 노치, 고역-통과 또는 전역-통과 필터링과 같은, 샘플링 이전에 데이터 (102, 104, 및 124) 를 프로세싱하거나 또는 조절하는 임의의 다른 회로를 포함할 수 있다.
생체전위 센서 (106) 는 손목의 최상부에서와 같은, 사용자 인터페이스 디바이스가 착용되는 신체상에서의 위치에서 생체전위들을 센싱한다. 생체전위 센서 (106) 는 센싱된 생체전위들을 나타내는 하나 이상의 출력 신호들, 즉 생체전위 신호들 (104) 을 제공한다.
생체전위 센서 (106) 는 전극들의 하나 이상의 쌍들을 포함한다. 전극들의 각각의 쌍은 도 1c와 관련하여 상기 설명된 바와 같이, 본원에서 "채널"로 불리운다. 사용자 인터페이스 디바이스 (100) 가 손목 상에 착용될 때, 전극들은 손목의 최상부에서 피부와 접촉하도록 배열되며 각각의 쌍 내에서의 전극들은 제 1 전극이 쌍의 제 2 전극보다 손가락들에 더 가깝도록 배향된다. 몇몇 구현들에서, 상기 나열된 관련 출원들에서, 또는 상기 도 1c에서 설명된 바와 같이 전극들 및 회로부의 종류들은 생체전위 센서 (106) 의 각각의 채널을 제공하기 위해 사용될 수 있다.
차동 신호가 전극들의 각각의 출력들로부터 발생될 수 있다. 차동 신호는 미국 특허 제10,070,799호에서 설명된 바와 같이, 연산 증폭기를 사용함으로써 전극들의 각각의 쌍의 출력들로부터 발생될 수 있다. 도 1c에서의 전극 (180) 과 같은, 부가적인 잡음 제거를 위해 기준 전극을 사용하는 구현들에서, 차동 신호는 또한 기준 전극으로부터의 신호를 통합할 수 있다. 예를 들어, 제 1 전극에 대한 신호 (e1), 제 2 전극에 대한 신호 (e2), 및 기준 전극에 대한 신호 (r) 를 고려해볼 때, 기준 신호 (r) 는 전극들의 쌍에 대한 차동 신호를 생성하기 전에, 먼저 아날로그 도메인에서 수행될 수 있는, 제 1 전극 및 제 2 전극의 신호들 (e1, e2) 로부터 감하여질 수 있으며, 따라서 전극들의 쌍에 대한 차동 신호는 (e1-r)-(e2-r) 로서 표현될 수 있다. 차동 신호는 채널의 출력일 수 있다. 하나 이상의 채널들로부터의 출력들은 생체전위 신호들 (104) 을 구성한다.
생체전위 신호들 (104) 은 손의 자세들, 또는 그 가까이에 사용자 인터페이스 디바이스가 착용되는 또 다른 신체 부분의 자세를 검출하기 위해 사용된다. "손의 자세 (pose of the hand)"는 손에 대한 하나 이상의 손가락들의 자리 또는 움직임, 또는 손목에 대한 손의 자리 또는 움직임, 또는 이들의 임의의 조합을 포함한다. 따라서, 시스템은 적어도 제 1 자세를 검출하며, 상기 제 1 자세를 임의의 자세의 부족과 구별하기 위해, 비교적 단순한 경우에서 설계되고 구현된다. 제 2 자세가 도입되면, 시스템은 제 2 자세로부터 제 1 자세를, 및 어느 하나의 자세의 부족으로부터 제 1 자세 및 제 2 자세를 구별하도록 설계된다. 생체전위 센서 (106) 는 그러므로 애플리케이션에 기초하여 설계되며, 따라서 생체전위 센서 (106) 에 의해 센싱된 생체전위들은 잡음과 비교하여 및 검출된 다른 특정 자세들과 비교하여 사람에 의한 특정 자세의 검출을 가능하게 하기 위해 충분한 정보를 나른다.
사용자 인터페이스 디바이스가 손목의 최상부에 착용되는 애플리케이션들에서, 생체전위 신호는 손의 자세를 검출하기 위해 프로세싱될 수 있다. 이러한 프로세싱은 임의의 손가락의 움직임과 임의의 손가락의 움직임 없음을 구별하는 것을 수반할 수 있다. 이러한 프로세싱은 동일한 손가락의 상이한 움직임으로부터 또는 상이한 손가락의 동일한 또는 상이한 움직임으로부터 하나의 손가락의 한 종류의 움직임을 구별하는 것을 수반할 수 있다. 이러한 프로세싱은 손의 하나의 자세를 손의 또 다른 자세와 구별하는 것을 수반할 수 있다. 생체전위 센서는 전극들의 단일 쌍을 포함한, 단일 채널일 수 있다. 생체전위 센서는 단지 두 개의 채널들을 가질 수 있으며, 각각의 채널은 전극들의 단일 쌍을 갖는다. 생체전위 센서는 단지 3개의 채널들을 가질 수 있다. 생체전위 센서는 4개 이상의 채널들을 가질 수 있다. 생체전위 센서로부터의 출력 신호들은 손의 상이한 자세들 간을 구별하도록 돕기 위해 다른 센서들로부터의 정보를 사용하여 프로세싱될 수 있다.
단일 채널 내에서, 전극들 간의 더 큰 간격은 더 의미 있는 정보를 제공하기 위해 상기 채널에 대한 출력 차동 신호의 능력을 개선한다. 둘 이상의 채널들을 갖고, 두 개의 채널들 간의 더 큰 간격은 신호 분리를 개선하며 크로스토크를 감소시킨다. 전극들의 간격 ("전극 간격") 및 채널들의 간격 ("채널 간격") 은 사용자 인터페이스 디바이스가 착용되도록 의도되는 신체의 부분 내에서 전파되는 생체전위들의 특성들과 관련되며, 따라서 그것에 기초하여 선택된다.
몇몇 애플리케이션들에 대해, 전극들의 각각의 쌍은 신경 신호들의 캡처를 최적화하도록 배치될 수 있다. 신경 신호들을 캡처하는 것은 사람이 위축성 측색 경화증 (ALS) 과 같은 신경근 조건을 가진 것으로 알려져 있거나 또는 그 외 실제 근육 움직임을 갖는 것이 제한될 수 있는 애플리케이션들에 대해 도움이 될 수 있다. 예를 들어, 손목의 최상부에서, 전극 쌍들은 정중 신경, 척골 신경, 또는 요골 신경, 또는 이들의 임의의 조합에 관련된 신경 신호들의 캡처를 강조하기 위해 위치될 수 있다. 그러나, 많은 구현들에서, 충분한 간격을 가진 손목의 최상부 상에서 두 개의 차동 채널들의 배치는 특정 신경에 관련된 신중한 배치를 요구하지 않고 충분한 정보를 제공한다.
몇몇 애플리케이션들에서, 전극들로부터의 신호 획득은 미국 특허 제10,070,799호에서 설명된 바와 같이, 동적 임피던스 매칭의 형태를 포함할 수 있다. 채널에서 두 개의 전극들의 차동 신호를 제공하는 연산 증폭기는 피부의 임피던스에 매칭되도록 적응되는 가변 저항기에 연결될 수 있다. 동적 임피던스 매칭 없이, 센서는 여전히 착용 몇 분 후 착용자의 피부의 임피던스에 자연스럽게 적응할 수 있을 것이다. 그러나, 하드웨어로 동적 임피던스 매칭을 구현하는 것은 센서를 사람에 더 빨리 적응시킬 수 있다.
미국 특허 제10,070,799호에서 설명된 바와 같이, 생체전위 신호는 신경, 신경근, 근육, 및 외부 소스들 (라디오 파들과 같은) 을 포함하여, 다양한 소스들로부터의 신호들의 부분들을 포함할 수 있다. 몇몇 프로세싱은 이를테면, 노치 필터들 및 대역 통과 필터들을 사용함으로써, 원치 않는 신호들의 영향을 감소시키기 위해 수행될 수 있다. 통상적으로, 외부 잡음은 60 ㎐ 및 그것의 정수배로 있으려는 경향이 있으며, 따라서 이들 상이한 주파수들에 대한 노치 필터들이 사용될 수 있다. 근육 수축 전기 신호들은 50 ㎐ 내지 150 ㎐ 범위에서의 우세 에너지를 갖고 20 ㎐ 내지 300 ㎐의 주파수 범위를 가진다. 신경 신호들은 통상적으로 약 200 ㎐ 내지 약 1000 ㎐의 주파수 범위를 가진다. 하나의 대역-통과 필터는 신경 신호들에 초점을 맞추려고 시도하기 위해 적용될 수 있다. 또 다른 대역-통과 필터는 근육 신호들에 초점을 맞추려고 시도하기 위해 적용될 수 있다. 20 ㎐ 내지 1000 ㎐의 주파수들에 대한 대역 통과 필터는 신경 및 근육 신호들 양쪽 모두에 초점을 맞추기 위해 사용될 수 있다. 이하에서 더 상세하게 설명되는 바와 같이, 이러한 필터링은 생체전위 센서 (106) 또는 사용자 인터페이스 디바이스 상에서의 또 다른 구성요소에 의해 수행될 수 있거나, 또는 시스템의 또 다른 부분에 의해 수행된 신호 프로세싱의 부분일 수 있다.
상기 주지된 바와 같이, 위치 센서 (108) 는 손목의 최상부에서와 같은, 기준 포인트에 대하여 사용자 인터페이스 디바이스가 착용되는 신체의 부분의 위치를 센싱한다. 손목의 최상부에서 센싱될 때, 센싱된 위치는 기준 포인트에 대한 손목의 위치를 나타낸다. 기준 포인트는 위치 센서의 종류에 의존할 수 있다. 예들은, 이에 제한되지 않지만, 신체, 또는 머리 또는 입 또는 다른 특정 신체 부분에 대한 임의의 기준 포인트와 같은, 절대 포인트, 또는 이전에 센싱된 위치와 같은 상대 포인트를 포함한다. 위치 센서 (108) 는 센싱된 위치를 나타내는, 출력 신호, 예컨대, 위치 신호들 (102) 을 제공한다. 손목-착용 사용자 인터페이스 디바이스를 가진, 신체 부분의 위치의 개념은 도 4a와 관련하여 이하에서 더 상세하게 설명된다.
예로서, 위치 센서 (108) 는 가속도계, 자이로스코프, 지자기 센서 또는 다른 형태의 자력계, 또는 이들 중 둘 이상의 조합 중 하나 이상을 포함할 수 있다. 예를 들어, 관성 측정 유닛 또는 IMU가 사용될 수 있으며, 이것은 적어도 가속도계 및 자이로스코프를 포함하지만, 또한 지자기 센서를 포함할 수 있다. 위치 센서 (108) 로서 사용될 수 있는 상업적으로 이용 가능한 제품의 예는 Bosch BNO055 절대 배향 센서와 같은, 3개의 유형들의 디바이스들 (가속도계, 자이로스코프, 및 지자기 센서들) 을 조합한 9-축 센서이다. 이러한 센서는 지리적 위치를 결정하기 위한 센서 데이터를 제공하기 위해 사용될 수 있다.
가속도계는 하나 이상의 축들을 따라 그 자신의 가속도를 측정하며 디바이스 내에서 가속도에 의해 유도된 응력 또는 다른 힘에 응답하여 출력 신호를 제공하는 디바이스를 포함한다. 3개의 축들에서 가속도계로부터의 초기 자리 및 가속도 데이터를 고려해볼 때, 프로세싱 디바이스는 그것의 초기 자리에 대하여 3-차원 공간에서 손목의 자리 및 배향을 결정할 수 있다. 이러한 센서는 지리적 위치를 결정하기 위한 센서 데이터를 제공하기 위해 사용될 수 있다.
자이로스코프는 하나 이상의 차원들을 따라 배향 및 각 속도를 측정하는 디바이스를 포함한다. 3차원들에서 자이로스코프로부터의 신호들을 고려해볼 때, 그것은 초기 배향에 대해 3-차원들에서 손목의 배향을 결정할 수 있다. 이러한 센서는 지리적 위치를 결정하기 위한 센서 데이터를 제공하기 위해 사용될 수 있다.
지자기 센서는 장의 측정된 크기 및 배향을 나타내는 신호를 제공하기 위해 지구의 자기장을 측정하는 디바이스를 포함한다. 지자기 센서로부터의 신호들을 고려해볼 때, 프로세싱 디바이스는 위치, 예컨대 지구의 자극 (magnetic pole) 에 대한 방향 또는 선수방향을 결정할 수 있다. 이러한 센서는 지리적 위치를 결정하기 위한 센서 데이터를 제공하기 위해 사용될 수 있다.
위치 센서 (108) 는 단일 마이크로폰 또는 복수의 마이크로폰들과 같은, 하나 이상의 사운드 검출 디바이스들을 포함할 수 있다. 사운드 검출 디바이스는 사용자 인터페이스 디바이스 (100) 상에 이격된 복수의 마이크로폰들을 포함한 마이크로폰 어레이일 수 있다. 사운드 검출 디바이스는 사용자 인터페이스 디바이스 (100) 상에서의 마이크로폰 및 공진 디바이스일 수 있다. 사운드 검출 디바이스는 오디오 신호들을 출력한다. 오디오 신호들은 입과 같은, 사운드 소스의 위치에 대한 손목의 위치를 결정하기 위해 프로세싱될 수 있다. 이것의 예시적인 구현은 2020년 1월 8일에 출원되고 본원에 참조로서 통합된, 일련 번호 제16/737,242호, Dexter Ang 및 Davic Cipoletta에 의한, "신체 부분에 대한 위치 정보를 제공하는 사운드 검출 디바이스를 포함한 착용 가능한 디바이스"라는 명칭의 공동 계류 중인 특허 출원에서 발견된다. 이러한 위치는 사운드 소스 국소화 기술들을 사용하여 계산될 수 있다. 예를 들어, 사운드 소스는 사용자 인터페이스 디바이스를 착용한 사람의 입일 수 있다. 사운드 검출 디바이스들은 임의의 하나 이상의 다른 종류들의 위치 센서들과 조합하여 사용될 수 있다. 사운드 검출 디바이스들은 지리적 위치를 결정하기 위한 센서 데이터를 제공하기 위해 사용될 수 있다.
사용자 인터페이스 디바이스는 또한 다른 센서 데이터 (124) 를 출력하는 하나 이상의 다른 유형들의 부가적인 센서들 (예컨대, 122) 을 포함할 수 있다. 부가적인 센서들로서 사용될 수 있는 센서들의 유형들의 예들은, 이에 제한되지 않지만, GPS (global positioning system) 센서들, 수분 센서들, 온도 센서들, 가시 광 센서들, 적외선 센서들, 카메라들과 같은 이미지 캡처 디바이스들, 오디오 센서들, 근접성 센서들, 초음파 센서들, 라디오 주파수 신호 검출기들, 피부 임피던스 센서들, 압력 센서들, 전자기 간섭 센서들, 터치 정전용량 센서들, 및 그것들의 조합들과 같은, 물리 파라미터, 현상, 또는 발생을 센싱하고, 검출하거나, 또는 측정할 수 있는 임의의 디바이스를 포함한다.
지리적 위치는 적어도 하나의 사람과 연관된 센서로부터 센서 데이터로부터의 입력들에 기초하여 결정될 수 있다. 하나 이상의 다른 사람들, 또는 하나 이상의 다른 오브젝트들, 또는 이들의 조합으로부터 연관된 센서들로부터의 부가적인 센서 데이터는 지리적 위치를 결정하기 위해 사용될 수 있다. 이러한 센서들의 예들은 다음 중 적어도 임의의 하나 이상을 포함한다: 위치 센서 (이하에서 설명되는 바와 같이), 지자기 센서, 나침반, 자력계, 가속도계, 자이로스코프, 고도계, 눈 추적 디바이스, 자리에서의 변화를 나타내는 정보를 제공하는 인코더, 이미지 데이터 또는 모션 비디오를 제공하는 카메라, 알려진 랜드마크에 대한 기준, 또는 하나 이상의 마이크로폰들과 같은 사운드 센서, 또는 사람으로부터의 방향의 표시를 제공할 수 있는 다른 센서, 또는 이들 중 둘 이상의 임의의 조합. 센서 데이터는, 예를 들어, 사람에 의한 다수의 프리미티브 제스처들, 의도된 동작, 상대적 수직 위치의 팔 각도 또는 다른 표시, 방향 또는 방위, 거리, 또는 고도 또는 이들 중 임의의 조합 중 임의의 것으로서 해석될 수 있다. 지리적 위치는 하나 이상의 사람들과 연관된 센서들로부터 수신된 이러한 센서 데이터에 기초하여 결정될 수 있다.
몇몇 구현들에서, 사용자 인터페이스 디바이스는 생체전위 센서들 또는 위치 센서들 없이 지리적 위치를 결정하기 위한 데이터를 센싱하기 위해 센서를 포함할 수 있다. 사람은 다수의 사용자 인터페이스 디바이스들을 착용하고 있을 수 있으며, 상이한 사용자 인터페이스 디바이스들은 상이한 데이터를 제공하는 상이한 센서들을 갖는다.
이제 피드백 디바이스들 (110) 로 가면, 사용자 인터페이스 (100) 를 착용한 사람에게 피드백을 제공하는 임의의 디바이스 (또는 디바이스들의 조합) 가 사용될 수 있다. 피드백은 사람에게 지각 가능하며 반응 디바이스에 의해 수행된 동작에서 기인한 임의의 자극들이다. 도 1a에서 예시의 목적들을 위해, 사용자 인터페이스 디바이스 (100) 는 피드백 디바이스 (110) 를 포함하는 것으로 예시된다. 그러나, 몇몇 구현들에서, 피드백 디바이스는 사용자 인터페이스 디바이스 (100) 에서 임의의 피드백 디바이스 (110) 대신에, 또는 그 외에, 사용자 인터페이스 디바이스 (100) 의 밖에 존재할 수 있다.
예로서, 피드백 디바이스 (110) 는 또한, 햅틱 디바이스로 불리우는, 햅틱 피드백의 소스를 포함할 수 있다. 햅틱 디바이스는 직접적이든 또는 몇몇 재료를 통해 간접적으로든 관계없이, 통상적으로 피부와의 비침습성 접촉에 의해, 사람과 물리적으로 접촉한다. 햅틱 디바이스는 통상적으로 피부 (촉각 자극) 를 통해 또는 팔다리들의 모션 및 자리의 센싱 (운동 자극) 를 통해, 사람에 의해 지각될 수 있는 자극을 생성한다. 햅틱 피드백의 예들은, 이에 제한되지 않지만, 진동, 모션, 힘, 압력, 가속도, 열, 텍스처, 형태, 또는 다른 형태들의 촉각 또는 운동 감각들을 포함할 수 있다. 사용자 인터페이스 디바이스 (100) 는 햅틱 디바이스의 상태를 제어하기 위해, 피드백 신호들 (112) 로 나타낸 바와 같이, 외부 소스로부터 데이터를 수신할 수 있다. 사용자 인터페이스 디바이스 (100) 는 제어기 (130) 를 통해, 햅틱 디바이스의 상태를 제어하기 위해 저장 데이터를 생성할 수 있거나 또는 저장 데이터를 가질 수 있다.
또 다른 예로서, 피드백 디바이스 (110) 는 하나 이상의 발광 다이오드들과 같은, 광원을 포함할 수 있다. 예를 들어, 단일 발광 다이오드는 착용자의 관점에서, 사용자 인터페이스 디바이스 (100) 의 가시 표면상에 위치될 수 있다. 물론, 다수의 발광 다이오드들이 사용될 수 있다. 발광 다이오드는 단일 컬러 또는 다수의 컬러들의 광을 생성할 수 있다. 발광 다이오드는 단일 세기 또는 다수의 세기들의 광을 생성할 수 있다. 사용자 인터페이스 디바이스 (100) 는 광원의 상태를 제어하기 위해, 피드백 신호들 (112) 로 나타낸 바와 같이, 외부 소스로부터 데이터를 수신할 수 있다. 사용자 인터페이스 디바이스 (100) 는 제어기 (130) 를 통해, 광원의 상태를 제어하기 위해 저장된 데이터를 생성하거나 또는 가질 수 있다.
또 다른 예로서, 피드백 디바이스 (110) 는 하나 이상의 스피커들과 같은, 사운드 소스를 포함할 수 있다. 예를 들어, 작은 스피커는 사용자 인터페이스 디바이스 (100) 를 착용한 사람으로 향한 표면상에 위치될 수 있다. 물론, 다수의 스피커들이 사용될 수 있다. 스피커는 음악과 같은, 가청 사운드들의 전체 범위까지, 단일 톤 또 또는 주파수와 같은, 생성될 원하는 사운드 신호들에 기초하여 선택될 수 있다. 사운드들은 단일 설정 볼륨으로 또는 가변 볼륨들로 생성될 수 있다. 볼륨은 사람, 사용자 인터페이스 디바이스, 또는 다른 디바이스 (피드백 신호 (112) 를 통해서와 같은) 에 의해 조정 가능할 수 있다. 사용자 인터페이스 디바이스 (100) 는 하나 이상의 스피커들 상에서 사운드의 재생을 제어하기 위해, 피드백 신호들 (112) 로 나타낸 바와 같이, 외부 소스로부터 데이터를 수신할 수 있다. 사용자 인터페이스 디바이스 (100) 는 제어기 (130) 를 통해, 하나 이상의 스피커들 상에서 사운드의 재생을 제어하기 위해 저장된 데이터를 생성할 수 있거나 또는 가질 수 있다. 이러한 피드백 신호들은 오디오 데이터, 또는 제어 데이터, 또는 둘 모두를 포함할 수 있다.
또 다른 예로서, 피드백 디바이스 (110) 는 이미지들을 디스플레이하는 N 픽셀들×M 픽셀들의 어레이와 같은, 디스플레이를 포함할 수 있다. 예를 들어, 작은 디스플레이는 사용자 인터페이스 디바이스 (100) 를 착용한 사람을 향한 표면상에 위치될 수 있다. 디스플레이는 애플리케이션에 의존할 수 있는, 사용자 인터페이스 디바이스 상에서 생성될 이미지들의 원하는 분해능에 기초하여 선택될 수 있으며, 풀-모션 비디오까지, 단순한 텍스트 또는 그래픽들을 지원할 수 있다. 제어들은 디스플레이의 대조, 밝기, 컬러 밸런스 및 다른 특성들을 조정하기 위해 이용 가능할 수 있으며, 이것은 사람, 사용자 인터페이스 디바이스, 또는 다른 디바이스 (피드백 신호 (112) 를 통해서와 같은) 에 의해 조정 가능할 수 있다. 사용자 인터페이스 디바이스 (100) 는 디스플레이상에서 콘텐트의 디스플레이를 제어하기 위해, 피드백 신호들 (112) 로 나타낸 바와 같이, 외부 소스로부터 데이터를 수신할 수 있다. 사용자 인터페이스 디바이스 (100) 는 디스플레이상에서 콘텐트의 디스플레이를 제어하기 위해 저장된 데이터를 생성하거나 또는 가질 수 있다. 피드백 신호들 (112) 은 이미지 데이터, 텍스트 데이터, 그래픽 데이터, 비디오 데이터, 또는 데이터를 임의로 조합하여 포함할 수 있다.
사용자 인터페이스 디바이스 (100) 는 또한 사람이 사용자 인터페이스 디바이스 (100) 로 입력들을 제공할 수 있는 하나 이상의 입력 디바이스들 (114) 을 가질 수 있다. 이러한 입력 디바이스들은 몇몇 의미로, 센서들 (상기 언급된 센서 (122) 와 같은) 이지만, 입력 디바이스 (114) 는 버튼 또는 터치스크린과 같은, 사용자 인터페이스 디바이스로 직접 특정 입력을 제공하기 위해 사람이 활발히 조작하는 디바이스를 의미하도록 의도된다. 이러한 입력 디바이스들은 통상적으로 인간-기계 인터페이스의 부분으로서 프로세싱될 신호들을 생성하지 않을 것이지만, 대신에 디바이스를 파워 온하는 것, 네트워크 연결들을 개시하는 것, 및 설정들을 제어하는 것과 같은, 사용자 인터페이스 디바이스를 제어하기 위한 것이다.
도 1b 및 도 1c에 예시된, 손목 착용 사용자 인터페이스 디바이스에 대한 예시적인 구성에서, 하우징 (150) 은 도 1a에 도시된 회로, 뿐만 아니라 그것의 대응하는 기계적 구성요소들을 포함한다. 도 1b는 최상부 투시도이고; 도 1c는 최하부 투시도이다. 설비들 (152) 은 손목 밴드 또는 다른 디바이스 (도시되지 않음) 가 하우징이 착용되는 것을 허용하기 위해 하우징 (150) 에 연결하도록 허용한다. 버튼들 (154) 은 입력 디바이스들 (114) (도 1a) 의 예들이고; 발광 다이오드들 (LED들) (156) 은 피드백 디바이스들 (110) 의 예들이다.
도 1c에 도시된 바와 같이, 전극 (160) 은 일반적으로 스테인리스 스틸 또는 다른 도전성 재료로 만든다. 몇몇 구현들에서, 전극은 평면 디스크일 수 있다. 몇몇 구현들에서, 전극은 원뿔 형태와 같은, 곡률을 가진 표면을 가질 수 있다. 둥근 전극의 직경은 통상적으로 2 ㎜보다 크고 10 ㎜보다 작다. 몇몇 구현들에서, 전극은 약 6 밀리미터 (6 ㎜) 의 직경을 가질 수 있다.
채널, 예컨대 전극들 (160) 및 162) 의 쌍 내에서, 전극들은 전극들의 중심들 간에 측정된 전극 간격을 갖는다. 전극 간격 (164) 은 로우 엔드 상에서 전극들의 크기 및 그것들 간의 원하는 간격, 예컨대 전극들이 직경이 6 ㎜이고 약 9 ㎜의 재료가 전극들의 가까운 에지들 사이에 제공되는 약 15 밀리미터 (15 ㎜) 로 제한되고 하이 엔드 상에서 디바이스의 크기, 예컨대 전극들이 직경이 6 ㎜이고 디바이스가 약 30 ㎜인 약 25 밀리미터 (25 ㎜) 로 제한된 범위에 있을 수 있다. 일반적으로, 감소하는 전극 간격이 하위 신호 진폭을 야기하므로, 최대 가능한 간격이 요구된다. 몇몇 구현들에서, 전극 간격은 약 25 밀리미터 (25 ㎜) 이격될 수 있다.
둘 이상의 채널들을 갖고, 채널들의 쌍들은 제 1 채널의 전극들, 예컨대 160 및 162를 통해 그려진 제 1 라인과 제 2 채널의 전극들, 예컨대 166 및 168을 통해 그려진 제 2 라인 간에 측정된 채널 간격을 가진다. 채널 간격 (170) 은 약 10 밀리미터 (10 ㎜) 내지 20 밀리미터 (20 ㎜) 의 범위에 있을 수 있다. 범위는 하이 엔드 상에서 해부학에 의해 제한되며 따라서 디바이스가 착용되는 신체 부분에 의존한다. 손목의 최상부를 갖고, 채널 간격의 범위의 하이 엔드는 약 20 ㎜이다. 채널 거리를 감소시키는 것은 일반적으로 채널들 간의 더 낮은 소스 분리를 야기한다. 몇몇 구현들에서, 채널 간격은 약 15 밀리미터 (15 ㎜) 일 수 있다. 몇몇 구현들에서, 생체전위 센서는 이하에서 더 상세하게 설명되는 바와 같이, 잡음 감소를 위해 사용될 수 있는, 하나 이상의 기준 전극들 (180) 을 포함할 수 있다.
이제 도 2a 내지 도 2d로 가면, 여러 종류들의 반응 디바이스가 이제 설명될 것이다. 반응 디바이스 (200) 는 일종의 기계, 통상적으로 컴퓨팅 디바이스이며, 이것은 하나 이상의 기계들 또는 하나 이상의 다른 컴퓨팅 디바이스들, 또는 둘 모두와 연관될 수 있다. 반응 디바이스는 사람이 반응 디바이스 그 자체일 수 있거나, 또는 반응 디바이스와 연관된 기계 또는 컴퓨팅 디바이스일 수 있는, 기계와 상호작용하는 것을 허용하기 위해 사용자 인터페이스 디바이스 (100) 에 반응적이다.
도 2a에 도시된 바와 같이, 반응 디바이스 (200) 는 사용자 인터페이스 디바이스 (100) 에 의해 생성된 생체전위 신호들 (104) 및 위치 신호들 (102) 에 기초하여 데이터 (202) 를 수신한다. 이하에서 더 상세하게 설명되는 바와 같이, 수신된 데이터 (202) 는 센서들로부터의 출력 신호들 (102 및 104) 일 수 있거나, 또는 이들 신호들을 필터링하거나 또는 변환하는 것으로부터 획득된 데이터, 이들 신호들로부터 추출된 특징들을 나타내는 데이터, 이들 신호들로부터 도출된 신체 부분의 자세 또는 위치를 나타내는 데이터, 또는 이들 신호들로부터 검출된 프리미티브 제스처들, 또는 이들 신호들을 프로세싱하는 것으로부터 획득된 다른 데이터, 또는 이들의 임의의 조합과 같은, 이들 신호들을 프로세싱하는 것에서 도출된 정보를 나타내는 데이터일 수 있다.
반응 디바이스 (200) 는 수신된 데이터 (202) 에 기초하여 동작들을 수행한다. 반응 디바이스 (200) 는 또한 이를테면 반응 디바이스 또는 그것과 연관된 기계의 거동에 의해, 또는 사용자 인터페이스 디바이스로 피드백 신호들 (112) (도 1a) 을 전송함으로써 사용자 인터페이스 디바이스 (100) 를 통해, 또는 반응 디바이스 (200) 에 의해 제어된 다른 피드백 디바이스들 (206) 을 통해, 사람으로의 피드백 (204) 을 생성할 수 있다. 이하에서 더 상세하게 설명되는 바와 같이, 수행될 동작들, 및 사용자에게 제공된 피드백은 애플리케이션, 컴퓨팅 디바이스, 기계, 또는 사람이 사용자 인터페이스 디바이스 및 반응 디바이스를 사용하여 상호작용하고 있는 다른 시스템에 의존한다. 이러한 상호작용의 몇몇 예들은 이제 도 2b 내지 도 2d와 관련하여 설명될 것이다.
도 2b에서, 반응 디바이스 (200) 는 사람이 상호작용하는 컴퓨팅 디바이스이다. 예를 들어, 반응 디바이스는 범용 데스크탑 또는 랩탑 컴퓨터, 스마트폰, 태블릿, 게임 콘솔, 셋-탑 박스, 스마트 텔레비전 등과 같은, 컴퓨터일 수 있다. 스마트 워치와 같은, 몇몇 컴퓨팅 디바이스들은 하나의 물리 디바이스 내에 사용자 인터페이스 디바이스 및 반응 디바이스 둘 모두를 통합할 수 있다. 도 2b에서의 반응 디바이스 (200) 에서, 컴퓨팅 디바이스는 통상적으로 실행 중인 하나 이상의 애플리케이션들 (210) 을 지원하는 운영 시스템 (208) 을 가진다. 사용자 인터페이스 디바이스 (100) 는 운영 시스템 또는 애플리케이션(들)과 상호작용하기 위해 사람에 의해 사용된다. 통상적으로 이미지들 및 사운드의 형태로, 운영 시스템 또는 애플리케이션으로부터의 피드백 (204) 은 디스플레이들, 스피커들, 또는 컴퓨팅 디바이스에 액세스 가능한 다른 피드백 디바이스 (206) 를 통해 제공될 수 있다.
도 2b에 도시된 것과 같은 구성의 구현들에서, 사용자 인터페이스 디바이스는 사람이, 반응 디바이스 상에서 실행하는 다양한 애플리케이션들, 예를 들어, 미디어 재생 애플리케이션, 카메라, 맵 애플리케이션, 날씨 애플리케이션, 검색 엔진, 증강 현실 애플리케이션, 가상 현실 애플리케이션, 비디오 게임, 또는 다른 애플리케이션과 상호작용할 수 있게 할 수 있다.
도 2b에 도시된 것과 같은 구성의 구현들에서, 사용자가 사용자 인터페이스 디바이스를 통해 상호작용할 수 있는 다수의 상이한 애플리케이션들이 있을 수 있다. 이러한 환경에서, 이들 애플리케이션들 간의 선택은, 다른 것들 중에서, 반응 디바이스가 사용자 인터페이스 디바이스에 응답하여 수행할 수 있는 동작이다.
도 2c에서, 반응 디바이스 (200) 는 컴퓨팅 디바이스에 의해 제공되거나 또는 제어된 기계 (220) 와 상호작용하는 원격 제어 애플리케이션 (212) 을 실행하는 컴퓨팅 디바이스이다. 사람은 사용자 인터페이스 디바이스를 사용함으로써 반응 디바이스를 통해 기계 (220) 와 상호작용하고; 사용자 인터페이스 디바이스로부터 수신된 데이터에 응답하여, 반응 디바이스는 입력들을 원격 제어 애플리케이션 (212) 으로 전송한다. 기계 (220) 의 거동은 시스템의 1차 피드백이지만, 다른 피드백이 컴퓨팅 디바이스 또는 사용자 인터페이스 디바이스에 의해 제공될 수 있다. 예를 들어, 원격 제어 애플리케이션 (212) 은 컴퓨팅 디바이스의 디스플레이 또는 사용자 인터페이스 디바이스와 같은, 피드백 디바이스 (206) 로 다른 피드백 (204) 을 제공할 수 있다.
예로서, 다른 기계 (220) 는 또한 애플리케이션 (212) 이 원격 제어기를 포함하는, 무인 자율 수송체로 불리우는, 드론일 수 있다. 애플리케이션 (212) 은 애플리케이션 (212) 의 제어 하에서 컴퓨팅 디바이스에 의해 드론으로 송신되는 제어 명령들을 생성한다. 사람이 사용자 인터페이스 디바이스를 사용 중일 때, 애플리케이션은 사용자 인터페이스 디바이스에 의해 생성된 신호들에 기초하여 수신된 데이터 (202) 에 응답하여 이들 제어 명령들을 생성할 수 있다. 예를 들어, 애플리케이션은 이러한 기능과 연관된 프리미티브 제스처의 검출에 응답하여 원격 제어 세션을 활성화할 수 있다. 원격 제어 세션 동안, 손목의 위치들은 애플리케이션에 의해 드론을 위한 방향 제어들을 제공하는 것으로서 해석된다. 애플리케이션은 상기 기능과 연관된 프리미티브 제스처의 검출에 응답하여 원격 제어 세션을 종료할 수 있다.
또 다른 예로서, 다른 기계 (220) 는 또 다른 컴퓨터, 또는 컴퓨터들의 모음일 수 있다. 또 다른 예로서, 다른 기계 (220) 는 관절형 기계 팔일 수 있으며, 이것은 제조, 원격 의료, 또는 다른 애플리케이션에서 사용되는 바와 같은, 로봇으로 고려되거나 또는 고려되지 않을 수 있다. 또 다른 예로서, 다른 기계 (220) 는 모터 및 상기 모터에 의해 구동된 추진력의 형태를 가진, 육지 또는 물을 가로지를 수 있는 이동 로봇일 수 있다.
도 2d에서, 반응 디바이스는 통신 애플리케이션 (230) 을 가진 컴퓨팅 디바이스 (200) 이다. 통신 애플리케이션 (230) 은 피드백 디바이스 (206) 를 통해 사람에게 메시지들 (232) 을 전송할 수 있다. 사람이 사용자 인터페이스 디바이스를 사용하고 있을 때, 통신 애플리케이션 (230) 은 사용자 인터페이스 디바이스 (100) 로 메시지들 (232) 을 전송할 수 있다. 컴퓨팅 디바이스 (200), 또는 또 다른 컴퓨팅 디바이스 (도시되지 않음) 는 결과적으로 사용자 인터페이스 디바이스로부터 데이터 (202) 를 수신할 수 있다. 수신된 데이터 (201) 는 메시지 (232) 에 반응적일 수 있으며, 도 2d에 도시된 예에서, 통신 애플리케이션으로 향할 수 있다. 피드백 (204) 은 또한 컴퓨팅 디바이스 (200) 가 데이터 (202) 를 수신하였음을 나타내기 위해서와 같은, 다수의 목적들을 위해 제공될 수 있다. 이러한 통신 애플리케이션은 많은 형태들을 가질 수 있다.
도 2d에 도시된 예에서, 통신 애플리케이션 (230) 은 기계 학습 시스템 (250) 을 트레이닝하는데 사용하기 위한 라벨링 데이터를 수집하기 위해 사용된다. 반응 디바이스는 예를 들어, 특정된 동작을 수행함으로써, 사용자 인터페이스를 조작하도록 사람에게 지시하는 메시지를 전송한다. 결과적으로, 반응 디바이스는 사용자 인터페이스 디바이스로부터 데이터를 수신한다. 반응 디바이스는 사람이 수행하고 라벨링 데이터를 기계 학습 시스템 (250) 으로 제공하도록 지시되는 조작에 대응하는 것으로 상기 데이터를 라벨링할 수 있다.
또 다른 예로서, 사용자 인터페이스 디바이스를 착용한 사람의 웰빙을 모니터링하기 위해, 반응 디바이스는 사람이 응답하도록 요청한 메시지를 전송할 수 있다. 반응 디바이스는 그 후 상기 사람의 사용자 인터페이스 디바이스로부터 데이터를 수신한다. 수신된 데이터에 기초하여, 반응 디바이스는 예를 들어, 모니터링 애플리케이션 (260) 을 통해, 부가적인 동작들을 수행하며, 이를테면 사람의 상태에 대해 간병인에게 통지할 수 있다. 이러한 시스템의 예시적인 구현은 본원에서 참조로서 인용되는, 2019년 11월 14일에 출원된, "생체전위 센싱 및 촉각 동작들을 사용한 통신"이라는 명칭의, 공동 계류 중인 PCT 특허 출원 PCT/US19/061421호에서 설명된다.
또 다른 예로서, 음성 호출 또는 텍스트 메시징 애플리케이션과 같은, 메시징 애플리케이션에서 인입 메시지는 반응 디바이스로 하여금 통지 메시지를 사용자 인터페이스 디바이스로 송신하게 할 수 있다. 반응 디바이스는 그 후 상기 사람의 사용자 인터페이스 디바이스로부터 데이터를 수신한다. 반응 디바이스는 사용자 인터페이스 디바이스로부터의 수신된 데이터에 응답하여, 호출에 답하거나 또는 텍스트에 응답하는 것과 같은, 동작이 메시징 애플리케이션에서 취해지게 할 수 있다.
사용자 인터페이스 디바이스 (100) 및 반응 디바이스 (200) 의 이러한 구현들 중 임의의 것에서, 사용자 인터페이스 디바이스에서 생성된 신호들 (102 및 104) 은 반응 디바이스들 상에서의 애플리케이션들에 의해 사용된 입력들로 변환된다. 이러한 변환은 하나 이상의 프로세싱 디바이스들에 의해 수행될 수 있으며, 이것은 사용자 인터페이스 디바이스 상에, 반응 디바이스 상에, 또는 사용자 인터페이스 디바이스 및 반응 디바이스 둘 모두 상에 존재할 수 있다. 몇몇 구현들에서, 이러한 변환은 사용자 인터페이스 디바이스로부터 및 반응 디바이스로부터 분리된 컴퓨팅 디바이스 상에 존재하는 하나 이상의 프로세싱 디바이스들에 의해 수행될 수 있다.
앞서 말한 구성들 중 임의의 것에서, 반응 디바이스에 의해 수행될 수 있으며, 피드백이 제공될 수 있는 일종의 동작은 지리적 위치를 식별하는 것을 포함한다. 이러한 지리적 위치는 결과적으로 많은 방식들로 사용될 수 있으며, 그 예들은 이에 제한되지 않지만 다음을 포함하며 다음 중 둘 이상의 조합들을 포함할 수 있다. 지리적 위치는 애플리케이션으로의 입력으로서 사용될 수 있다. 지리적 위치는 또 다른 사용자 또는 또 다른 기계로 전달된 데이터일 수 있다. 지리적 위치는 하나 이상의 사용자 인터페이스 디바이스들로부터 수신된 신호들에 기초하여 데이터와 조합하여 수행될 동작을 선택할 때 콘텍스트 정보로서 처리될 수 있다. 지리적 위치는 피드백으로서 사용자에게 제공될 수 있다.
센서들 (106 및 108) 로부터 애플리케이션들로의 입력들로의 신호들 (102 및 104) 의 변환은 여러 스테이지들의 프로세싱을 수반할 수 있다. 이제 도 3을 참조하면, 이러한 프로세싱의 스테이지들은 이제 추가로 상세하게 설명될 것이다.
프로세싱의 제 1 스테이지는 사용자 인터페이스 디바이스에서 센서들 (300) 에 의해 수행된다. 몇몇 센서들은 디지털 신호들을 출력한다. 몇몇 센서들은 아날로그 신호들을 출력한다. 몇몇 구현들에서, 채널에 대한 생체전위 센서는 아날로그 차동 신호를 출력하기 위해 동적 임피던스 매칭 회로 및 증폭기를 포함할 수 있다. 이러한 제 1 스테이지의 출력은 원시 (raw) 센서 신호들이다.
프로세싱의 다음 스테이지 (302) 는 센서들로부터 출력된 신호들의 조절을 수반할 수 있다. 임의의 조절 후, 센서들로부터 출력된 신호들은 샘플링되며 동기화된다. 아날로그 신호들을 출력하는 센서들에 대해, 아날로그 신호들은 아날로그 회로들에 의해 수행된, 필터링 및 증폭과 같은, 신호 조절 동작들을 겪을 수 있다. 아날로그 신호들은 아날로그-대-디지털 변환기를 사용하여 디지털 신호들로 변환된다. 디지털 신호들을 출력하는 센서들에 대해, 또는 아날로그-대-디지털 변환기로부터 출력된 디지털 신호들에 대해, 디지털 신호들은 디지털 회로들에 의해 수행된, 필터링 및 증폭과 같은, 신호 조절 동작들을 겪을 수 있다. 조절된 신호들이 아날로그 신호들이든 또는 디지털 신호들이든, 다양한 센서들로부터의 신호들은 샘플링 레이트로 디지털 센서 신호들의 출력 스트림을 제공하기 위해 동일한 샘플링 레이트로 샘플링될 수 있으며, 따라서 다양한 센서들로부터의 데이터는 동일한 샘플링 레이트로 동기화된다. 이러한 샘플링은 아날로그-대-디지털 변환기, 또는 디지털-대-디지털 변환기에 의해 수행될 수 있으며, 보간을 갖거나 또는 그것이 없는 업샘플링, 또는 필터링을 갖거나 또는 그것이 없는 다운샘플링을 포함할 수 있다. 이러한 제 2 스테이지 (302) 로부터 샘플링 레이트에서 디지털 신호들의 출력 스트림은 본원에서 "정규화된 디지털 센서 신호들"로서 불리운다.
정규화된 디지털 센서 신호들은 샘플링 후 적용될 수 있는 샘플링 이전에 적용되지 않은 임의의 필터링 또는 다른 조절을 위해, 몇몇 디지털 신호 프로세싱 (304) 의 대상이 될 수 있다. 예를 들어, 생체전위 신호들은 노치 필터를 적용함으로써, 전기 간섭의 효과들을 제거하거나 또는 감소시키도록 필터링될 수 있다. 예를 들어, 생체전위 신호들은 대역 통과 필터를 적용함으로써, 근육 움직임에 관련될 가능성이 있는 신호들에만 초점을 맞추기 위해, 신체에 영향을 주는 다른 전기 활동의 효과들을 제거하거나 또는 감소시키도록 필터링될 수 있다. 생체전위 신호들이 신경 신호들에 중점을 두고 프로세싱된다면, 생체전위 신호들은 대역 통과 필터링을 사용함으로써, 근육 활성화와 연관된 신호들의 효과들을 제거하거나 또는 감소시키기 위해 필터링될 수 있다. 임의의 다른 센서들의 출력들로부터 도출된 신호들의 임의의 다른 필터링 또는 프로세싱은 이러한 디지털 신호 프로세싱 스테이지 (304) 에서 수행될 수 있다. 사용된다면, 이러한 제 3 스테이지 (304) 의 출력은 본원에서 "필터링된" 정규화 디지털 센서 신호들로서 불리우며, 이것은 여전히 샘플링 레이트에서 디지털 신호들의 출력 스트림이다.
다음 스테이지 (306) 에서, 선택적으로 필터링된, 정규화 디지털 센서 신호들은 신호들의 "특징들"을 추출하기 위해 프로세싱된다. 도 3에서, 이러한 종류의 프로세싱은 특징 추출 층 (306) 으로 표현된다. 특징은 신호에, 또는 신호의 변환에 (예컨대, 신호의 주파수 도메인 표현), 또는 둘 이상의 신호들의 조합 또는 그것들의 변환들에 동작을 적용함으로써 양자화될 수 있는 신호의 임의의 특성이다. 통상적으로, 샘플링 레이트에서 디지털 신호들의 출력 스트림인 신호를 고려해볼 때, 특징들은 윈도우 함수를 적용함으로써, 윈도우들로 불리우는, 샘플들의 서브세트들의 스트림에 대해 계산된다. 윈도우 함수는 디지털 신호들의 스트림에서 하나의 시간 순간, 및 간격에 의해 특정될 수 있다. 윈도우 함수를 적용한 결과는 값들이 간격 밖에서 0이라는 것이다. 가장 단순한 윈도우 함수는 간격 내에서 원래 샘플들을 보유하는 직사각형 윈도우이다. 간격 내에서의 샘플들에 아이덴티티 함수가 아닌 수학 함수를 적용하는 윈도우 함수들을 사용하는 것이 가능하다. 디지털 샘플들의 스트림의 윈도우들의 시퀀스에 대해, 또 다른 파라미터는 하나의 윈도우에서 다음으로의 중첩의 양, 즉 하나의 윈도우의 시작에서 바로 다음 윈도우의 시작까지의 오프셋의 양이다. 오프셋은 윈도우에 대해 특정된 간격과 동일하고, 그것보다 작거나, 또는 그것보다 클 수 있다. 이러한 제 4 스테이지의 출력은 특징 세트들의 스트림을 포함하며, 특징 세트는 (선택적으로 필터링된) 정규화 디지털 센서 신호들의 각각의 윈도우에 대해 출력된다. 특정들의 여러 예들이 이하에서 더 상세하게 설명된다.
도 3에서, 프로세싱의 다음 스테이지 (308) 는 "제스처 검출" 층으로 불리운다. 이 스테이지는 그에 응답하여 반응 디바이스가 동작을 수행하게 하는, 총괄하여 "제스처 검출"이라 불리우는, 신체 부분의 자세들, 신체 부분의 위치, 또는 프리미티브 제스처들, 또는 이들의 조합들 또는 서브세트들을 식별하기 위해, 정규화된 디지털 센서 신호들, 필터링된 정규화 디지털 센서 신호들, 또는 그것들로부터 추출된 특징 세트들의 스트림들을 프로세싱하는 것을 수반한다. 도 3은 제스처 검출 층 (304) 과 디지털 신호 프로세싱 층 (304) 간의 특징 추출 층 (306) 을 예시하지만, 제스처 검출 층 (308) 은, 몇몇 구현들에서, 특징 추출 층, 디지털 신호 프로세싱 층으로부터 출력된 데이터, 뿐만 아니라 정규화된 디지털 센서 신호들을 사용할 수 있다는 것을 주의하자. 프리미티브 제스처의 검출에 응답하여, 반응 디바이스는 310에서 표시된 바와 같이, 입력들을 애플리케이션들로 향하게 하며, 이에 응답하여 애플리케이션들은 동작들을 수행한다.
도 3에 도시된 바와 같이, 몇몇 구현들에서, 자세, 위치, 또는 프리미티브 제스처는 기계 학습 모델로 불리우는 계산 모델을 사용하여 검출될 수 있다. 기계 학습 모델은 라벨링 데이터를 사용하여 기계 학습 프로세스에 의해 트레이닝된 모델이며, 그 예는 이하에서 더 상세하게 설명된다. 통상적으로, 정규화된 디지털 센서 신호들, 필터링된 정규화 디지털 센서 신호들, 또는 이들 신호들로부터 추출된 특징 세트들의 스트림들과 같은, 하나 이상의 사용자 인터페이스 디바이스들로부터의 데이터는 또한 데이터를 알려진 자세, 위치, 또는 프리미티브 제스처를 나타내는 것으로 라벨링하는 방식으로 수집된다. 기계 학습 (ML) 트레이닝 모듈 (320) 은 라벨링 데이터를 수시하며 트레이닝된 기계 학습 (ML) 모델 (322) 에 대한 파라미터들을 생성한다. ML 트레이닝 모듈 (320) 은 사용자 인터페이스 디바이스와 반응 디바이스 간의 실-시간 상호작용의 밖에서 이 데이터를 프로세싱할 수 있다. 트레이닝된 ML 모델 (322) 은 통상적으로 트레이닝된 ML 모델의 파라미터들을 제스처 검출 층 (308) 에 제공함으로써, 제스처 검출 층 (308) 으로 제공되며, 이것은 모델의 구현 내에서 파라미터들을 적용한다. 따라서, 트레이닝된 모델들에 대한 파라미터들은 제스처 검출을 수행할 책임이 있는, 운영 시스템, 디바이스 구동기, 또는 애플리케이션과 같은, 사용자 인터페이스 디바이스 내에서의 구성요소 또는 반응 디바이스 내에서의 구성요소로 제공된다.
현재 다양한 프로세싱 층들 간의 상호작용을 설명하였지만, 이들 상이한 층들에 대한 몇몇 예시적인 구현들이 이제 설명될 것이다.
이들 프로세싱 스테이지들에서 어느 시점들에, 정보는 사용자 인터페이스와 반응 디바이스 사이에서 송신된다. 이러한 종류의 프로세싱은 신호 송신 층 (도 3에서 도시되지 않음) 으로 고려될 수 있지만, 구현에 의존하여, 신호 송신 층 상에서 사용자 인터페이스 디바이스로부터 반응 디바이스로 송신된 신호들은 층들 (302, 304, 306, 또는 308) 중 임의의 것의 출력들일 수 있다. 다시 말해서, 사용자 인터페이스 디바이스는 정규화된 디지털 센서 신호들, 필터링된 정규화 디지털 센서 신호들, 이들 신호들로부터 도출된 특징 세트들의 스트림, 또는 이들로부터 도출된 자세 또는 위치 정보, 또는 이러한 데이터에 기초하여 검출된 프리미티브 제스처들, 또는 이들에 대한 임의의 조합을 송신할 수 있다. 임의의 특정 구현을 위하 적절한 설계는 데이터를 반응 디바이스로 송신하기 전에 얼마나 많은 프로세싱이 사용자 인터페이스 디바이스 내에서 수행될지, 및 임의의 추가 프로세싱을 수행하기 위해 반응 디바이스 상에서 사용될 정보에 의존하며, 이것은 구현에 대한 설계 제약들에 의존한다.
본원에서, 이러한 신호 송신 층은 디바이스 인터페이스로서 불리운다. 디바이스 인터페이스는 사용자 인터페이스 디바이스와 반응 디바이스 사이에서 송신된 정보의 유형들 및 포맷들의 규격, 이러한 정보의 송신 프로토콜, 및 정보가 송신되는 통신 시스템을 포함한다. 몇몇 구현들에서, 사용자 인터페이스 디바이스는 생체전위 및 위치 센서들의 출력들에 기초하여 디지털 샘플들의 스트림을 송신하기 위해 스트리밍 데이터 프로토콜을 구현한다. 반응 디바이스는 디바이스 인터페이스 상에서 사용자 인터페이스 디바이스로 메시지들 및 피드백을 전송할 수 있다. 따라서, 디바이스 인터페이스는 양방향일 수 있다. 대안적으로, 별개의 디바이스 피드백 인터페이스가 있을 수 있다. 이러한 피드백 인터페이스는 반응 디바이스와 사용자 인터페이스 디바이스 사이에서 송신된 정보의 유형들 및 포맷들에 대한 그 자신의 규격, 이러한 정보의 송신 프로토콜, 및 정보가 송신되는 통신 시스템을 가질 수 있다. 몇몇 구현들에서, 피드백 인터페이스는 비동기식 메시징에 의해 제공된다. 몇몇 구현들에서, 통신 시스템은 사용자 인터페이스 디바이스와 반응 디바이스 간의 무선 블루투스 연결이다.
이들 프로세싱 스테이지들에서의 어느 시점들에서, 정보는 또한 반응 디바이스 내에서, 반응 디바이스 상에서 실행하는 제 1 애플리케이션 (아마도 사용자 인터페이스 디바이스를 위한 운영 시스템 또는 디바이스 구동기) 에서 반응 디바이스 상에서 또는 반응 디바이스와 연관된 기계 상에서 실행하는 제 2 애플리케이션으로, 전달될 수 있다. 몇몇 구현들에서, 제 1 애플리케이션은 제스처 검출 층을 포함하며, 제 2 애플리케이션은 제 1 애플리케이션의 출력에 반응하도록 설계된다. 몇몇 구현들에서, 제 2 애플리케이션은 애플리케이션의 거동에 영향을 줄 수 있는 예상된 입력들의 세트를 가질 수 있으며, 사용자 인터페이스 디바이스로부터 수신된 데이터는 제 1 애플리케이션에 의해 이들 입력들에 매핑된다. 몇몇 구현들에서, 제 1 애플리케이션은 제스처 검출을 수행하지 않지만, 디지털 샘플들 또는 특징 세트들의 스트림과 같은, 데이터는 제 2 애플리케이션으로 전달하며, 제 2 애플리케이션은 제스처 검출을 수행한다.
본원에서, 애플리케이션 인터페이스는 반응 디바이스 내에서 제 1 애플리케이션에서 제 2 애플리케이션으로 (또는 더 일반적으로, 반응 디바이스 상에서 실행하는 애플리케이션으로) 전달된 정보, 및 이러한 통신을 위한, 데이터 포맷 및 메시징 프로토콜을 포함한, 프로토콜을 나타낸다. 반응 디바이스에 의해 사용자 인터페이스 디바이스로 전송될, 메시지들 및 피드백과 같은, 제 2 애플리케이션에 의해 생성된 출력들이 있을 수 있기 때문에, 이러한 애플리케이션 인터페이스는 양방향일 수 있다. 대안적으로, 그 자신의 데이터 포맷 및 메시징 프로토콜을 가진 별개의 애플리케이션 피드백 인터페이스가 있을 수 있다.
반응 디바이스 상에서 운영 시스템의 부분으로서 실행하는 사용자 인터페이스 디바이스를 위한 디바이스 구동기 (제 1 애플리케이션) 와 같은, 몇몇 구현들에서, 제 1 애플리케이션은 사용자 인터페이스 디바이스와의 상호작용을 다루기 위한 디바이스 인터페이스, 및 제 2 애플리케이션과의 상호작용을 다루기 위한 애플리케이션 인터페이스 둘 모두를 포함할 수 있다.
몇몇 구현들에서, 제 1 애플리케이션 및 제 2 애플리케이션은 단일 애플리케이션으로 조합되며, 따라서 단일 애플리케이션은 사용자 인터페이스 디바이스와의 상호작용을 다루기 위해 디바이스 인터페이스를 구현하며, 그 외 또 다른 애플리케이션에 의한 간섭 없이 직접 사용자 인터페이스로부터의 정보를 프로세싱한다.
다수의 층들의 프로세싱을 제공하는 여러 애플리케이션 인터페이스들이 있을 수 있다. 예를 들어, 운영 시스템 내에서의 디바이스 구동기 (제 1 애플리케이션) 는 사용자 인터페이스로부터 수신된 데이터를 검출된 특징들에 대한 정보, 또는 검출된 자세들, 또는 위치 정보, 또는 검출된 프리미티브 제스처들로 프로세싱할 수 있지만; 또 다른 애플리케이션 (제 2 애플리케이션) 은 이를테면, 또 다른 종류의 입력 디바이스를 에뮬레이팅하기 위해 이러한 정보를 대응하는 이벤트들에 매핑시키고 이러한 이벤트들을 제 3 애플리케이션으로 제공하기 위해 이러한 정보를 추가로 프로세싱할 수 있다.
이러한 콘텍스트 내에서, 사용자 인터페이스 디바이스 (100) (도 1a) 는 위치 신호들 (102) 및 생체전위 신호들 (104) 을 생성하며, 반응 디바이스 (200) (도 2a 내지 도 2d) 는 디바이스 인터페이스를 통해 이들 신호들에 기초하여 데이터 (202) 를 수신한다. 반응 디바이스 내에서, 수신된 데이터 (202) 에 기초한 정보는 애플리케이션 인터페이스를 통해 하나 이상의 애플리케이션들로 전달될 수 있다. 디바이스 인터페이스를 통해 및 애플리케이션 인터페이스를 통해 송신된 데이터의 콘텐트는 프로세싱의 상이한 스테이지들이 발생하는 곳에 의존한다.
사용자 인터페이스 디바이스가 배터리-동력식이고 데이터를 반응 디바이스로 전달하기 위해 무선으로 연결될 때 사용자 인터페이스 디바이스 상에서 수행된 프로세싱의 양을 줄이기 위해, 사용자 인터페이스 디바이스는 정규화된 디지털 센서 신호들을 송신하기 위해 디바이스 인터페이스를 구현하도록 구성될 수 있다. 이러한 구현에서, 데이터의 추가 프로세싱이 반응 디바이스 상에서 발생한다.
반응 디바이스를 구현하기 위해 사용될 수 있는 많은 컴퓨팅 디바이스들에서, 운영 시스템은 통상적으로 디바이스 구동기를 사용하여, 사용자 인터페이스 디바이스와 같은 입력 디바이스로부터 애플리케이션으로 데이터의 전달을 관리한다. 몇몇 운영 시스템들은 사용자 인터페이스 디바이스와 같은 입력 디바이스로부터의 데이터가 운영 시스템을 바이패스하고 애플리케이션을 위해 메모리로 직접 전달되는 것을 허용할 수 있다. 디바이스 구동기는 사용자 인터페이스 디바이스와 통신하기 위한 디바이스 인터페이스 및 애플리케이션과 통신하기 위한 애플리케이션 인터페이스 둘 모두를 구현할 수 있으며, 애플리케이션은 애플리케이션 인터페이스를 구현한다.
디바이스 인터페이스가 정규화된 디지털 센서 신호들을 반응 디바이스로 제공하는 구현들에서, 반응 디바이스 상에서의 구성요소는 애플리케이션들에 대한 입력들을 생성하기 위해 이들 신호들을 프로세싱한다. 몇몇 구현들에서, 디바이스 구동기는 수신된 데이터를 애플리케이션으로 전달할 수 있으며, 그 경우에 애플리케이션은 특징 추출 및 제스처 검출 층들을 구현한다. 몇몇 구현들에서, 디바이스 구동기는 특징 추출 층을 구현할 수 있으며, 애플리케이션은 제스처 검출 층을 구현할 수 있다. 몇몇 구현들에서, 디바이스 구동기는 특징 추출 및 제스처 검출 층들 둘 모두를 구현할 수 있다. 몇몇 구현들에서, 제 1 애플리케이션은 제스처 검출 층의 부분을 구현하며, 프로세싱된 정보를 제 2 애플리케이션으로 전달한다.
이러한 반응 디바이스와 이러한 사용자 인터페이스 디바이스의 짝짓기는 사람이 기계와 상호작용하는 것을 가능하게 하는 많은 상이한 콘텍스트들을 지원한다. 이러한 사용 콘텍스트들의 예들은, 이에 제한되지 않지만, 다음 중 임의의 하나 이상을 포함한다.
반응 디바이스와 사용자 인터페이스 디바이스의 조합은 매우 작은 디스플레이를 갖거나 또는 디스플레이를 갖지 않을 수 있다. 사람은 디스플레이를 사용할 수 없을 것이다. 사람은 오브젝트에 초점을 맞출 수 있으며 오브젝트 및 디스플레이를 동시에 볼 수 없다. 사람은 또 다른 오브젝트를 움켜잡거나 또는 쥘 수 있다. 사람은 터치스크린 또는 유사한 디바이스로 터치 입력을 제공할 수 없을 것이다. 사람은 사용자 인터페이스 디바이스가 아닌 오브젝트를 들기 위해 손을 자유롭게 유지할 필요가 있을 것이다. 사람은 가청 입력들을 제공할 수 없을 것이다. 사람은 스피치 입력을 제공할 수 없을 것이다. 사람은 말할 수 없을 것이다. 사람이 그들의 현재 환경에서 말하거나 또는 소음을 만드는 것은 안전하지 않거나 또는 바람직하지 않을 수 있다. 사람은 가청 피드백을 수신할 수 없을 것이다. 사람이 그들의 현재 환경에서 가청 피드백을 수신하는 것은 안전하지 않거나 또는 바람직하지 않을 수 있다. 사람은 물리적으로 제한되거나 또는 장애가 있을 수 있거나, 또는 그 외 제한된 이동성을 가질 수 있다. 사람은 모션 또는 움직임을 포함한, 제한된 지각 가능한 활동을 요구하는 상황에 있을 수 있다. 이러한 콘텍스트에서 및 다른 콘텍스트들에서, 사람은 유사한 콘텍스트들에서 다른 개개인들과 통신하거나 또는 상호작용하려고 시도할 수 있다.
이러한 콘텍스트들에서 이러한 사용자-기계 상호작용들을 지원하기 위해, 반응 디바이스는 사용자 인터페이스 디바이스 상에서 (예를 들어, 손가락들 및 손들의 움직임 및 손목과 팔의 모션의 결과로서) 및 사용자 인터페이스 디바이스로의 사용자 입력들 상에서 생성된 위치 신호들 및 생체전위 신호들, 사용자 인터페이스 디바이스 상에서의 다른 센서들에 기초하여 수신된 데이터, 및 임의의 소스로부터의 콘텍스트에 대한 데이터, 및 그것들의 조합들에 기초하여 동작들을 수행하기 위해 수신된 데이터에 반응적이다. 결과적으로, 사람은 사용자 인터페이스 디바이스, 반응 디바이스, 기계, 또는 다른 피드백 디바이스 또는 그것들의 조합들 중 하나 이상을 통해 피드백을 수신한다.
수행될 동작은 또한 사용자 인터페이스 디바이스 상에서 임의의 다른 센서들로부터의 정보에 기초하거나 또는 사용자 인터페이스 디바이스, 반응 디바이스, 또는 기계 중 하나 이상에 이용 가능한 다른 콘텍스트 정보에 기초할 수 있다. 동작을 수행하기 위해 사용될 수 있는 추가 콘텍스트 정보의 예들은 이에 제한되지 않지만 다음 및 다음의 조합들을 포함한다. 또 다른 사람에 의해 착용된 사용자 인터페이스 디바이스로부터의 정보가 사용될 수 있다. 또 다른 디바이스로부터의 센서로부터의 정보, 사람과 연관된 디바이스로부터의 이러한 전역적 위치결정 정보가 사용될 수 있다. 국소 또는 원격 데이터베이스로부터 액세스된 정보가 사용될 수 있다.
보다 특히, 프리미티브 제스처들은 위치 신호들 및 생체전위 신호들에 기초하여 시간 순간들에서 발생하는 것으로 검출된다. 몇몇 경우들에서, 수행될 동작은 프리미티브 제스처들의 발생에 기초하여 선택된다. 몇몇 경우들에서, 수행될 동작은 시퀀스에서 복수의 프리미티브 제스처들의 발생에 기초하여 선택된다. 몇몇 경우들에서, 수행될 동작은 둘 이상의 프리미티브 제스처들의 동시-발생에 기초하여 선택된다. 몇몇 경우들에서, 수행될 동작은 이러한 발생들의 콘텍스트 또는 콘텍스트들에 기초하여 선택된다. 수행될 동작에 대한 이들 기초들의 조합들이 또한 가능하다.
생체전위 신호들 및 위치 신호들에 기초하여 검출될 수 있는 프리미티브 제스처들의 종류를 예시하기 위해, 다음의 설명은 사람의 손목에 착용된 사용자 인터페이스 디바이스의 예에 기초한다.
프리미티브 제스처는 도 4a와 관련하여 이하에서 더 상세하게 설명되는 바와 같이, 제 1 시간 순간에서, 손의 제 1 자세의 시퀀스, 또는 손목의 제 1 위치, 또는 둘 모두; 및 제 1 시간 순간에 이은 제 2 시간 순간에서, 손의 제 2 자세, 또는 손목의 제 2 위치, 또는 둘 모두로서, 특성화될 수 있다. 유지와 같은, 몇몇 프리미티브 제스처들에서, 제 1 위치 및 제 2 위치는 동일하다. 프리미티브 제스처는 또는 이러한 이전, 또는 이전의 부재를 검출하는 것으로 고려될 수 있다.
프리미티브 제스처는 위치 신호들로부터 추출된 특징들의 세트, 또는 생체전위 신호들로부터 추출된 특징들의 세트, 또는 둘 모두에 의해 특성화될 수 있으며, 이것은 상기 프리미티브 제스처를 다른 프리미티브 제스처들로부터 구별한다. 특징들의 세트(들)는 신호의 샘플들의 단일 윈도우, 또는 신호들의 샘플들의 연속 윈도우들의 시퀀스로부터 추출될 수 있다. 몇몇 구현들에서, 프리미티브 제스처를 특성화하는 특징(들)의 세트들은 손의 하나 이상의 자세들, 또는 손목의 위치 또는 위치들, 또는 이들의 조합들에 대응한다.
프리미티브 제스처는 도 4c와 관련하여 이하에서 더 상세하게 설명되는 바와 같이, 하나 이상의 상태들에 의해 특성화될 수 있다: 프리미티브 제스처가 발생하기 직전 윈도우에서 신호의 초기 상태 (제 1 세트의 특징들); 프리미티브 제스처의 발생의 처음에 발생하는 윈도우에서 신호에서의 변화를 나타내는 온셋 (제 2 세트의 특징들); 온셋 직후 하나 이상의 윈도우들에서 신호의 상태들 또는 그것에서의 변화들 (제 3 세트의 특징들); 및 프리미티브 제스처의 끝에서 윈도우에서의 신호의 변화 (제 4 세트의 특징들). 프리미티브 제스처는 프리미티브 제스처가 검출된 것으로 고려되는 시간 순간을 가질 수 있다. 프리미티브 제스처는 시간의 지속 기간 동안 존재할 수 있으며, 따라서 프리미티브 제스처가 시작하는 시간 순간 및 프리미티브 제스처가 끝나는 시간 순간을 가질 수 있다.
생체전위 센서 (도 1a에서 106) 의 출력이, 손목의 최상부에 위치될 때, 손과 손가락들을 제어하는 근육들의 활동에 관련되기 때문에, 생체전위 신호는 손의 자세에 대한 정보의 중요한 소스이다. 그러나, 손목의 최상부의 위치, 즉 자리 또는 배향이 팔 모션으로 인해 변한다면, 이러한 팔 모션은 생체전위 센서의 전극들이 일관되지 않은 접촉의 정도들 및 피부와의 접촉의 위치들을 갖게 하며, 결과적으로 생체전위 신호들의 일관되지 않은 생성을 야기할 수 있다. 따라서, 팔 모션은 팔이 움직이고 있을 때 생체전위 신호들로부터 손의 자세를 검출하기 위한 능력을 감소시킬 수 있다. 이러한 불일치가 발생하는 이러한 실시예들에서, 생체전위 신호들에 기초한 데이터는 무시될 수 있지만 중요한 팔 모션이 검출된다. 본원에서, 생체전위 신호들을 무시하는 이러한 동작은 "모션 사일런싱 (motion silencing)"으로 불리운다. 따라서, 몇몇 구현들에서, 손의 자세에 기초하는 프리미티브 제스처를 검출하기 위해, 자세가 검출될 수 있는 제 2 윈도우 직전에, 제 1 윈도우에서의 신호의 초기 상태는 손목의 위치에서 중요한 변화들의 부재일 수 있다. 손목의 위치에서의 중요한 변화들의 부재 시, 생체전위 신호들은 손의 자세를 검출하기 위해 분석된다.
검출될 수 있는 손의 많은 가능한 자세들이 있지만, 본원에서는 하나 이상의 손가락들을 들어올리는 것에 관한 여러 자세들이 설명된다. 손가락의 모션들은 확장 또는 수축 또는 둘 모두를 수반할 수 있다. 손가락의 상이한 프리미티브 제스처들에 대해 생성된 생체전위 신호들에서의 차이들은 상이한 프리미티브 제스처들을 구별하기 위해 사용될 수 있다. 하나 이상의 손가락들을 들어올리는 것에 관한 자세들의 표시들에 대한 생체전위 신호들을 프로세싱함으로써, 매우 경미한 손가락 움직임들이 검출될 수 있으며 여기에서 이들 손가락 움직임들은 오브젝트를 드는 동안 또는 손이 이를테면 사람의 주머니에 숨겨지는 동안 수행될 수 있다.
도 4a를 참조하면, 손 (450) 은 중립 자리 (452) 에서 도시된다. 사용자 인터페이스 디바이스 (454) 는 손목 (456) 의 최상부 가까이에 착용되는 것으로 도시된다. 손가락이 460에서 도시된 바와 같이, 이러한 중립 자리 (452) 로부터 들어올려질 때, 손에 가장 가까운 제 1 관절 (458) 이 손의 뒤를 향해 회전되며 손바닥을 향해 손가락을 수축시키는 것과 대조적으로, 손바닥으로부터 멀어진다. 이러한 움직임은 또한 손의 뒤를 향해 제 1 관절의 회전 없이 손가락이 연장되거나 또는 똑바르게 되는 포인트 또는 휙 움직임과는 완전히 별개이다. 임의의 손가락, 또는 다수의 손가락들은 순차적으로 또는 함께, 들어올려질 수 있다. 손가락을 들어올리는 것은 또한 테이블 최상부 또는 들고 있는 오브젝트와 같은, 표면으로부터 떨어져 손가락을 들어올리지만, 손의 손바닥은 상기 표면에 얹혀 있는 동작으로서 이해될 수 있다. 손이 제자리에 남아있는 동안, 손가락은 표면으로부터 멀리 들어올려진다. 이러한 움직임을 특성화하는 "온셋" 또는 제 2 세트의 특징들은 생체전위 신호의 채널들에서 진폭의 갑작스러운 증가이다. 생체전위 신호들의 채널들 간의 차이들은 검지손가락과 같은, 하나의 손가락의 들어올림이 다른 손가락들의 들어올림으로부터 구별되도록 허용한다.
본원에서 "들어올리기 (lift)"로 불리우는 프리미티브 제스처는 손가락이 고정되거나 또는 조정 가능한 임계치에 의해 정의될 수 있는 짧은 시간 기간 동안 들어올려질 때 발생하며 (460), 그 후 생체전위 신호들이 더 이상 손가락이 들어올려짐을 나타내지 않는 휴식 상태 (예컨대, 452) 로 돌아간다. 따라서, 온셋 직후 하나 이상의 윈도우들에서 신호들의 상태 또는 그것의 변화 (제 3 세트의 특징들) 는 들어올려진 손가락에 관련된 생체전위 신호들에서의 갑작스러운 하락이다. 들어올리기는 들어올려진 손가락에 관련된 생체전위 신호가 상당히 떨어지는 다수의 윈도우들에 앞서, 들어올려진 손가락 자세에 관련된 생체전위 신호에서의 상승된 진폭의 적은 수의 윈도우들의 검출 시 검출되는 것으로 고려될 수 있다. 들어올리기는 검출될 때 종료된 것으로 고려될 수 있으며 따라서 들어올리기가 종료됨을 고려하기 위해 제 4 세트의 특징들의 검출을 수반하지 않는다.
본원에서 "유지 (hold)"로 불리우는 프리미티브 제스처는 손가락이 들어올려지며 (460) 상기 자세 (460) 에서 일정 시간 기간 동안 유지될 때 발생한다. 들어올리기 대 유지를 정의한 시간 기간은 고정되거나 또는 조정 가능한 임계치일 수 있다. 따라서, 온셋 직후 하나 이상의 윈도우들에서 신호들의 상태 또는 그것의 변화 (제 3 세트의 특징들) 는 추가의 상당한 손목 모션 없이, 들어올려진 손가락에 관련된 생체전위 신호들에서의 계속된 상승된 진폭이다. 유지는 들어올려진 손가락에 관련된 생체전위 신호에서의 상승된 진폭의 둘 이상의 윈도우들의 검출 시 검출되는 것으로 고려될 수 있다. 유지는 들어올려진 손가락에 관련된 생체전위 신호가 상당히 떨어질 때 종료된 것으로 고려될 수 있으며, 이것은 유지를 정의한 제 4 세트의 특징들을 나타낸다.
본원에서 "손가락 스와이프 (finger swipe)"로 불리우는 프리미티브 제스처는 손가락이 들어올려지고 (460) "유지" 자세 (460) 에 있을 때 발생하며, 그 후 팔은 손목의 위치가 462에서 도시된 바와 같이 우측으로 또는 좌측으로, 또는 464에서 도시된 바와 같이 위로 또는 아래로와 같은, 방향으로 스위핑 모션에 따라 변화하도록 이동된다. 따라서, 온셋 직후 하나 이상의 윈도우들에서의 신호들의 상태 또는 그것의 변화 (제 3 세트의 특징들) 는 손목의 위치에서, 임계치를 넘는 양에서, 주어진 방향에서의 변화이다. 손가락 스와이프는 손가락 스와이프가 종료됨을 고려하기 위해 제 4 세트의 특징들의 검출을 수반하지 않고, 들어올리기 및 유지 자세들의 검출 후 손목 모션의 검출 시 검출되는 것으로 고려될 수 있다. 손가락 스와이프와 유사한 프리미티브 제스처는 466에서 도시된 바와 같이 시계 또는 시계반대 방향으로 손목의 최상부의 회전에 앞선 들어올리기 및 유지 자세의 조합이다.
본원에서 "상사형 들어올리기 (analog lift)"로 불리우는 프리미티브 자세는 손가락이 일정 시간 기간에 걸쳐 초기 자세 (452) 에서 들어올려진 자세 (454) 로 느리게 들어올려질 때 발생한다. 생체전위 신호의 진폭은 움직임의 부족과 비교하여, 상사형 들어올리기에 대해 상승되며, 처음에 생체전위 신호가 들어올리기를 나타낼 때보다 낮지만, 또한 일정 기간에 걸쳐 점진적으로 증가한다. 따라서, 온셋 직후 하나 이상의 윈도우들에서 신호들이 상태 또는 그것의 변화 (제 3 세트의 특징들) 는 들어올려진 손가락에 관련된 생체전위 신호에서의 계속된 증가이다. 상사형 들어올리기는 들어올려진 손가락에 관련된 생체전위 신호에서, 증가하든 또는 감소하든, 연속적인 변화의 둘 이상의 윈도우들의 검출 시 검출되는 것으로 고려될 수 있다. 상사형 들어올리기는 들어올려진 손가락에 관련된 생체전위 신호가 그것의 초기 상태로 돌아갈 때 종료된 것으로 고려될 수 있으며, 이것은 상사형 들어올리기를 정의한 제 4 세트의 특징들을 나타낸다. 상사형 들어올리기는 따라서 상사형 들어올리기가 일정 기간에 걸쳐 계속되는 동안 값을 느리게 증가시키거나 또는 감소시키기 위해 입력으로서 사용될 수 있다.
위치 센서 (도 1a에서 108) 위 출력이, 손목의 최상부에 위치될 때, 손목의 위치에 관련되기 때문에, 위치 신호는 손목의 최상부의 자리, 배향, 및 이것들에서의 임의의 변화들에 대한 정보의 1차 소스일 수 있다. 위치 신호를 사용하여, 손목의 최상부의 상이한 자리들, 배향들, 및 모션을 구별하는 것이 가능하다. 손목의 위치들 및 위치의 변화들은 다양한 프리미티브 제스처들로서 해석될 수 있다.
위치에 기초한 프리미티브 제스처들의 두 개의 예시적인 예들이 이제 설명될 것이다: 상대적 위치 및 회전들. 상대적 위치는 하나 이상의 축들을 따르는 자리에 기초할 수 있다. 이하의 예들에서, 상대적 위치들은 자리가 매핑되는 1 또는 2 또는 3차원들에서 둘 이상의 요소들의 그리드를 참조하여 정의된다. 이하의 예들에서, 그리드는 3개의 수직 요소들 및 3개의 수평 요소들을 갖는 것으로 설명된다. 유사하게, 회전은 배향에 기초할 수 있다. 이하의 예에서, 회전들은 180도의 둘 이상의 세분들에서 팔꿈치에 대한 손목의 회전의 정도로서 표현된다. 이하의 예들에서, 세분들은 양의 또는 음의 N-도 회전 (+90도에서 -90도까지) 으로서 설명된다. 주로 위치에 관련된 다양한 다른 프리미티브 제스처들은 단독으로든 또는 다른 신호들과 조합하든, 위치 신호에 기초하여 정의될 수 있다.
팔꿈치에 대한 손목 및 손의 배향, 또는 회전은 예를 들어, 손목에 위치된 자이로스코프 센서에 의해 검출된 "롤"에 기초하여 검출될 수 있다. 예를 들어, 도 4a에 도시된 바와 같이, 손목은 "중립" 자리 (452) 에, 또는 90도 시계방향 회전, 또는 "손바닥 위" 자리 (470) 에, 또는 90도 반-시계방향 회전, 또는 "손바닥 아래" 자리 (472) 에 있을 수 있거나, 또는 하나의 배향에서 또 다른 것으로 회전되는 프로세스에 있을 수 있다. 3개의 상이한 상대적 회전 위치들 (배향들) 의 사용은 단지 예시적이며; 임의의 수의 상이한 상대적 회전 위치들은 회전의 검출의 입도 및 신뢰성에 의존하여 사용될 수 있다. 회전의 양은 N-도 회전으로 표현될 수 있다.
손목에 대한 손의 배향이 또한 검출될 수 있다 (손목에서 팔뚝에 대한 손의 구부림의 양). 예를 들어, 손 배향은 손목에 대한 "위" 자리, "아래" 자리, 또는 "중립" 자리에 있을 수 있다. 3개의 상이한 상대적 배향들의 사용은 단지 예시적이며; 임의의 수의 상이한 상대적 배향들은 배향의 검출의 입도 및 신뢰성에 의존하여 사용될 수 있다. 배향은 예를 들어, 중립으로부터의 N-도 오프셋, 또는 검출의 분류, 또는 방향으로 표현될 수 있다. 손목에 대하여 좌측 또는 우측으로의 손의 회전이 또한 검출될 수 있다.
상대적 수직 위치는 이를테면 팔을 들어올리거나 또는 낮춤으로써, 팔의 수직 모션의 시작, 종료 시, 또는 그 동안의 위치에 기초하여 검출될 수 있다. 예를 들어, 도 4b에 도시된 바와 같이, 손목은 480에서 어깨 위로와 같은, "높은" 또는 "위"; 482에서 엉덩이 아래와 같은, "낮은" 또는 "아래"; 또는 484에서 엉덩이와 어깨들 사이와 같은, "중간" 또는 "중립일 수 있거나, 또는 하나의 위치에서 또 다른 것으로 이동하는 프로세스에 있을 수 있다. 임계치들로서 어깨와 엉덩이를 사용하는 것은 단지 예시적이며; 다른 임계 높이들 또는 기준 포인트들이 사용될 수 있다. 예를 들어, 그것은 어깨 대신에 팔꿈치에 대한 손목의 높이를 결정할 수 있다. 또한, 3개의 상이한 상대적인 높이들의 사용은 단지 예시적이며; 임의의 수의 상이한 상대적 수직 위치들이 위치의 검출의 입도 및 신뢰성에 의존하여 사용될 수 있다. 방향은 팔꿈치 또는 허리 또는 엉덩이와 같은, 앵커 포인트에 대한 방사 방향으로 표현될 수 있다. 정보는 사용자 인터페이스 디바이스가 팔에 착용될 때 팔 각도를 나타낼 수 있는, 각도로서 제공될 수 있다.
상대적 수평 위치는 유사하게, 이를테면 팔을 좌측 또는 우측으로 스위핑함으로써, 팔의 수평 모션의 시작, 종료 시, 또는 그 동안의 위치에 기초하여 검출될 수 있다. 예를 들어, 손목은 착용자의 "좌측", "중간", 또는 "우측"으로 있을 수 있거나, 또는 하나의 이러한 위치에서 또 다른 것으로 이동하는 프로세스에 있을 수 있다. 3개의 상이한 상대적 수평 위치들의 사용은 단지 예시적이며; 임의의 수의 상이한 상대적 수평 위치들이 위치의 검출의 입도 및 신뢰성에 의존하여 사용될 수 있다. 방향은 팔꿈치 또는 척추와 같은, 앵커 포인트에 대한 방사 방향으로 표현될 수 있다. 몇몇 구현들에서, 수평 방향은 예를 들어, 지자기 센서에 의해 제공될 수 있다. 몇몇 구현들에서, 수평 방향은 초기 기준 자리로부터의 가속도계 또는 자이로스코프 데이터로부터 도출될 수 있다.
애플리케이션은 사용자가 상대적 위치들의 정의들을 변경하는 것을 허용하는 그래픽 사용자 인터페이스를 포함할 수 있다. 예를 들어, 다수의 그리드 요소들을 가진 그리드는 상대적 수직 및 수평 위치들을 정의하기 위해 사용된 임계치들에 기초하여 정의될 수 있다. 그래픽 사용자 인터페이스는 이러한 그리드의 그래픽 표현을 사용자에게 제공할 수 있다. 사용자는 상대적 수평 또는 수직 위치들을 정의하는 그리드 요소들의 수 및 크기들을 조작할 수 있다. 예를 들어, 도 6 및 도 8에 도시되는 (이하에서 더 상세하게 설명되는 ) 바와 같이, 디스플레이된 오브젝트들의 선택을 허용하는 터치스크린 또는 다른 종래의 그래픽 사용자 인터페이스 상에 디스플레이된다면, 그리드를 정의한 라인들은 사용자에 의해 선택되고 이동될 수 있다. 사용자 선택에 응답하여, 반응 디바이스 상에서의 애플리케이션은 그리드 요소들의 치수들을 업데이트한다. 업데이트된 그리드 요소들은 이러한 동작 동안 쌍방향으로 디스플레이될 수 있다. 완료될 때, 업데이트된 그리드 요소들은 손목 위치 정보를 상대적 수직 및 수평 위치로 프로세싱하기 위해 사용될 수 있다.
상기 표시된 바와 같이, 검출될 수 있는 다른 프리미티브 제스처들은 시간 순간에, 또는 시간에 걸쳐 순차적으로, 또는 시간 순간에 동시 발생하는 것으로서 검출되는 하나 이상의 자세들 또는 위치들에 기초한다. 특히 유용한 한 종류의 프리미티브 제스처는 반응 디바이스가, 사용자 인터페이스 디바이스로부터, 또는 또 다른 입력 디바이스 또는 센서로부터, 또는 둘 모두로부터의 신호들을 프로세싱하는 것을 시작하게 하도록 의도된 프리미티브 제스처이다. 이러한 프리미티브 제스처는 본원에서 "웨이크 워드 (wake word)"로 불리운다. 몇몇 구현들에서, 사용자 인터페이스 디바이스로부터의 신호들을 프로세싱하기 전에, 사용자 인터페이스 디바이스는 그것이 웨이크 워드를 정의한 프리미티브 제스처들이 검출되는 신호들을 제공하는 센서(들)가 아닌 센서들로부터 데이터를 송신하지 않는 상태에서 설정될 수 있다. 웨이크 워드는 사용자 인터페이스 디바이스를 "잠금 해제 (unlock)"하며 사용자 인터페이스 디바이스로부터 수신된 데이터를 프로세싱하기 시작하기 위해 사용될 수 있다. 유사하게, 동일한 웨이크 워드, 또는 또 다른 프리미티브 제스처 ("슬립 워드 (sleep word)") 는 사용자 인터페이스 디바이스를 "잠그며 (lock)" 그로부터 수신된 데이터를 프로세싱하는 것을 멈추기 위해 사용될 수 있다. 이러한 웨이크 워드 또는 슬립 워드는 반응 디바이스에 의해 수행된 프로세싱을 제어할 수 있거나, 또는 반응 디바이스 상에서 실행하는 애플리케이션에 특정적이거나, 또는 둘 모두일 수 있다.
웨이크 워드 또는 슬립 워드는 활발히 모니터링되는 센서들로부터 검출될 수 있는 프리미티브 제스처들의 임의의 시퀀스일 수 있다. 이상적으로, 웨이크 워드를 정의한 프리미티브 제스처들의 시퀀스는 손목 또는 팔의 통상의 모션 또는 손 또는 손가락들의 움직임들로부터 자연스럽게 발생할 가능성이 없으며; 대신에 프리미티브 제스처들의 이러한 시퀀스는 단지 사람에 의해 의도적으로 발생할 가능성이 있어야 한다. 예로서, (이하에서 설명되는) 특정 N-도 회전들의 시퀀스에서 손목을 회전시키는 것은 웨이크 워드로서 사용될 수 있다.
몇몇 구현들에서, 웨이크 워드 또는 슬립 워드를 정의한 프리미티브 제스처들의 시퀀스는 사용자 인터페이스 디바이스로부터, 또는 또 다른 센서 또는 입력 디바이스로부터 수신된 데이터의 반응 디바이스의 프로세싱을 활성화하거나 또는 비활성화하기 위해 신호로서 반응 디바이스의 운영 시스템의 하위-레벨 구동기에 의해 프로세싱될 수 있다. 몇몇 구현들에서, 웨이크 워드 또는 슬립 워드를 정의한 프리미티브 제스처들의 시퀀스는 사용자 인터페이스 디바이스로부터 수신된 데이터를 프로세싱하는 반응 디바이스에 기초하여 입력들에 대한 애플리케이션의 프로세싱을 활성화하거나 또는 비활성화하기 위해 신호로서 애플리케이션에 의해 프로세싱될 수 있다. 몇몇 구현들에서, 웨이크 워드 또는 슬립 워드를 정의한 프리미티브 제스처들의 시퀀스는 사용자 인터페이스 디바이스로부터 반응 디바이스로의 데이터의 송신을 활성화하거나 또는 비활성화하기 위해 사용자 인터페이스 디바이스 상에서 프로세싱될 수 있다. 이러한 구현에서, 반응 디바이스는 사용자 인터페이스 디바이스로부터 수신된 데이터를 계속해서 프로세싱하도록 구성될 수 있다. 몇몇 구현들에서, 웨이크 워드 또는 슬립 워드는 이를테면 사용자 인터페이스 디바이스, 반응 디바이스, 또는 다른 디바이스 상에서 마이크로폰으로부터 수신된 오디오 신호들에 적용된 음성 인식을 활성화하기 위해, 또 다른 형태의 입력 디바이스 또는 센서 데이터의 프로세싱을 활성화할 수 있다.
사용자 인터페이스 디바이스를 잠금 해제하고 잠그는 것 둘 모두를 위한 웨이크 워드 또는 슬립 워드가 반응 디바이스의 운영 시스템을 위한 하위 레벨 디바이스 구동기에 의해 프로세싱되는 경우에, 몇몇 구현들에서, 반응 디바이스는 반응 디바이스의 입력 포트를 통해 사용자 인터페이스 디바이스로부터 신호들을 수신할 수 있다. 상기 입력 포트를 위한 디바이스 구동기는 잠금해제 명령 또는 잠금 명령이 수신되었는지를 결정하기 위해 수신된 신호들을 프로세싱할 수 있다. 잠금해제 명령이 수신되는 것에 응답하여, 그 다음 데이터는 운영 시스템에 의한 추가 프로세싱을 위해 반응 디바이스의 운영 시스템 또는 운영 시스템에 의해 관리된 다른 애플리케이션들로 전달될 수 있다. 유사하게, 잠금 명령이 수신되는 것에 응답하여, 디바이스 구동기는 사용자 인터페이스 디바이스로부터 반응 디바이스의 운영 시스템으로 데이터를 전달하는 것을 멈출 수 있다.
이제 도 4c를 참조하면, 상태도가 프리미티브 제스처들을 검출하는 동작을 예시하기 위해 사용된다. 통상적으로, 프로세싱될 데이터는 각각이 샘플에 대한 진폭 및 샘플링 레이트를 가진 디지털 샘플들의 시퀀스의 형태에 있다. 시스템은 샘플들의 "윈도우들"의 시퀀스를 정의한다. 샘플들의 윈도우는 a. 신호에서의 시간 순간 및 b. 상기 시간 순간 주위의 샘플들이 수 또는 시간 기간에 의해 특정될 수 있다. 각각의 윈도우에 대해, 특징들은 디지털 신호 프로세싱 기법들을 사용하여 상기 윈도우에서의 샘플들에 기초하여 산출된다. 각각의 윈도우에 대해, 샘플링된 데이터 및 상기 윈도우에서 샘플링된 데이터로부터 추출된 임의의 특징들은 프리미티브 제스처에 관련된 특징들이 상기 윈도우에서 검출되었는지를 결정하기 위해 프로세싱된다. 임의의 주어진 윈도우, 또는 윈도우들의 모음은 프리미티브 제스처들을 나타내거나 또는 프리미티브 제스처를 나타내지 않는 것으로 라벨링될 수 있다. 이전에 프로세싱된 윈도우들에서 검출된 특징들에 대한 정보는 프리미티브 제스처가 현재 윈도우에서 발생되었는지를 결정하기 위해 사용될 수 있다. 어떻게 윈도우들이 프로세싱될 수 있는지에 대한 더 많은 세부사항들은 이하에서 제공된다. 샘플들의 윈도우들 및 대응하는 특징들로서 수신된 데이터를 프로세싱하는 것은 프리미티브 제스처들, 프리미티브 제스처들의 조합들, 및 프리미티브 제스처들의 시퀀스들의 발생을 검출하기 위해 수신된 데이터를 프로세싱하는 것에 대한 상태-기반 및 순차적 접근법을 허용한다. 이러한 상태-기반 프로세싱의 예시적인 구현은 도 4c에 있다.
프로세싱은 임의의 웨이크 워드가 사용자 인터페이스 디바이스로부터 수신되기 전에 초기 상태 (400) 에서 시작한다. 402에서 표시된 바와 같이, 웨이크 워드가 아닌 데이터에 응답하여, 프로세싱은 이러한 초기 상태 (400) 에 남아있다. 웨이크 워드를 검출하는 것에 응답하여, 프로세싱은 406에서 표시된 바와 같이, 상태 (404) 로 전이한다. 이러한 상태에서 수신된 웨이크 워드는 다시 초기 상태 (400) 로 전이하기 위해 사용될 수 있다 (440).
상태 (404) 내에서, 프로세싱은 주로 손목에 대한 위치 센서로부터의 정보를 모니터링한다. 손목 상에서의 위치 센서로부터의 정보가 상당한 모션을 나타내는 한, 프로세싱은 408에 표시된 바와 같이, 이 상태 (404) 에 남아있어서, 모션 사일런싱을 효과적으로 구현한다. 이 상태에 있는 동안, 손목의 자리 및 배향에 대한 정보는 위치 센서로부터의 정보에 기초하여 업데이트될 수 있다. 손목에 대한 상당한 모션이 없다면, 생체전위 센서로부터의 정보가 손가락 들어올리기와 같은, 손 또는 손가락들의 움직임의 임의의 표시가 있는지를 결정하기 위해 분석될 수 있다. 손가락 들어올리기가 검출된다면, 들어올리기 상태 (410) 로의 전이가 412에서 표시된 바와 같이, 발생한다. 유사한 상태들이 다른 움직임들에 관련된 다른 특징들의 검출을 위해 제공될 수 있다.
들어올리기 상태 (410) 에서, 프로세싱은 그 다음 수신된 데이터를 분석함으로써, 검출된 움직임이 들어올리기, 상사형 들어올리기, 또는 유지를 나타내는지, 및 그들 중 어떤 것이 표시되는지를 결정한다. 검출된 움직임이 들어올리기를 나타낸다면, 들어올리기에 응답하여 동작이 수행될 수 있으며 다시 상태 (404) 로의 전이 (414) 가 발생할 수 있다. 예로서, 수행된 동작은 들어올리기가 검출된 시간에 손목의 현재 자리 및 배향에 기초할 수 있다.
검출된 움직임이 상사형 들어올리기를 나타낸다면, 상사형 들어올리기 상태 (418) 로의 전이 (416) 가 발생한다. 이 상태에서, 420에서 표시된 바와 같이, 상사형 들어올리기가 계속해서 검출되는 동안 상사형 들어올리기에 응답하는 동작이 발생할 수 있다. 수행된 동작은 상사형 들어올리기가 검출되는 시간에 손목의 현재 자리 및 배향에 기초할 수 있다. 상사형 들어올리기가 종료될 때, 다시 상태 (404) 로의 전이 (422) 가 발생할 수 있다.
검출된 움직임이 유지를 나타낸다면 (생체전위 센서는 손가락 근육의 활성화의 계속된 레벨을 검출한다), 유지 상태 (426) 로의 전이 (424) 가 발생한다. 이 상태에서, 428에 표시된 바와 같이, 유지가 계속해서 검출되고 검출된 손목의 모션이 없는 동안 유지에 응답하는 동작이 발생할 수 있다. 유지가 검출되는 것을 중단할 때, 다시 상태 (404) 로의 전이 (432) 가 발생할 수 있다. 유지가 또한 계속해서 검출되는 동안 손목의 모션이 검출된다면, 상태 (434) 로의 전이가 발생하며, 손가락 스와이프가 그것에서 검출된 바와 같이 표시되며 대응하는 동작이 수행될 수 있다. 손가락 스와이프에 관련된 동작이 수행된 후, 다시 상태 (404) 로의 전이 (436) 가 발생할 수 있다. 상태 (428 또는 434) 에서 수행된 동작은 유지 또는 손가락 스와이프가 검출되었던 때에 손목의 현재 자리 및 배향에 기초할 수 있다.
이제 도 5를 참조하면, 애플리케이션들로 입력들을 제공하기 위해, 사용자 인터페이스 디바이스 (도 1a에서 100) 의 센서들로부터의 신호들에 기초하여 수신된 데이터 (202) 에 응답하여, 반응 디바이스 (도 2a 내지 도 2d에서 200) 의 거동을 예시한 데이터 흐름도가 이제 설명될 것이다. 반응 디바이스는, 사용자 인터페이스 디바이스로부터 정보를 수신하고 프로세싱하기 위해 활성화된 후, 위치 센서에 의해 검출된 바와 같이 손목의 위치로부터 도출되는 정보 (502) 에 기초하여, 및 생체전위 센서에 의해 검출된 바와 같이 근육 움직임에 관련된 생체전위들로부터 도출되는 정보 (504) 에 기초하여, 및 둘의 조합들로 동작들을 수행할 수 있다. 정보 (502 및 504) 는 임의의 다른 이용 가능한 콘텍스트 정보와 함께, 디지털 샘플들, 특징들, 자세, 위치, 또는 검출된 프리미티브 제스처들 및 사용자 인터페이스 디바이스로부터 데이터의 프로세싱의 층들 중 임의의 것에 의해 생성된 상태 정보 중 임의의 것일 수 있다. 몇몇 구현들에서, 반응 디바이스는 애플리케이션 (508-1, 508-2, ..., 508-N) 을 선택할 수 있는 선택 모듈 (706) 을 포함할 수 있다. 애플리케이션 (508-1, 508-2, ..., 508-N) 내에서, 애플리케이션은 정보 (502 또는 504) 및 반응 디바이스 또는 애플리케이션에 의해 이들로부터 도출된 임의의 부가적인 정보를 포함할 수 있는, 정보 (510) 에 기초하여 동작을 수행한다.
애플리케이션은 손목의 검출된 위치 또는 손이 검출된 자세, 또는 이들의 조합 중 하나 이상에 기초하여 동작을 선택할 수 있다. 몇몇 구현들에서, 반응 디바이스는 손목의 위치들과 동작들을 연관시킬 수 있으며, 이들 동작들은 손목이 주어진 위치에 있는 동안 검출되는 손의 자세에 응답하여 활성화될 수 있다. 상기 설명된 바와 같이, 상대적 손목 위치들을 결정하기 위한 임계치들을 정의하는 설정들은 그래픽 사용자 인터페이스에서 조작될 수 있다. 이러한 설정들은 또한 위치와, 손목이 상기 위치에 있는 동안 발생할 수 있는 자세 또는 다른 프리미티브 제스처를 가진 하나 이상의 동작들을 연관시키는 것을 포함할 수 있다.
여러 부가적인 예들이 이제 반응 디바이스에 의한 이러한 종류의 거동을 추가로 예시하기 위해 설명될 것이다.
제 1
일 예시적인 구현에서, 상이한 애플리케이션들은 신체에 대하여 손목의 상이한 위치들에 할당된다. 예를 들어, 제 1 애플리케이션은 "위" 자리에 할당될 수 있고, 제 2 애플리케이션은 "아래" 자리에 할당될 수 있으며, 제 3 애플리케이션은 "중립" 자리에 할당될 수 있다. 반응 디바이스는, 사용자 인터페이스 디바이스가 위 자리에 있다고 결정하는 동안, 입력들을 제 1 애플리케이션으로 향하게 한다. 반응 디바이스는, 사용자 인터페이스 디바이스가 아래 자리에 있다고 결정하는 동안, 입력들을 제 2 애플리케이션으로 향하게 한다. 반응 디바이스는, 사용자 인터페이스 디바이스가 중립 자리에 있다고 결정하는 동안, 입력들을 제 3 애플리케이션으로 향하게 한다.
애플리케이션들로 향해진 입력들은, 예를 들어, 사용자 인터페이스 디바이스가 주어진 자리에 있는 동안 검출된 하나 이상의 프리미티브 제스처들에 기초할 수 있다. 예를 들어, 사용자는 사용자 인터페이스 디바이스가 위 자리에 있는 동안 검지손가락을 갖고 들어올리기를 수행할 수 있다. 이러한 프리미티브 제스처에 기초한 입력은 그 후 제 1 애플리케이션으로 전달된다. 또 다른 예로서, 사용자는 사용자 인터페이스 디바이스가 아래 자리에 있는 동안 N-도 손목 회전을 수행할 수 있다. 이러한 프리미티브 제스처에 기초한 입력은 그 후 제 2 애플리케이션으로 전달된다. 또 다른 예로서, 사용자는 사용자 인터페이스 디바이스가 중립 자리에 있는 동안 검지손가락을 이용한 들어올리기에 앞서 N-도 손목 회전을 수행할 수 있다. 이러한 시퀀스의 프리미티브 제스처들에 기초한 입력은 제 3 애플리케이션으로 전달된다.
특정 예시적인 사용 경우로서, 사람은 관성 측정 유닛 및 생체전위 센서들을 가진 손목밴드 (사용자 인터페이스 디바이스) 를 착용하는 동안, 휴대 전화와 같은, 이동 컴퓨팅 디바이스 (반응 디바이스) 를 운반하면서 걸을 수 있다. 이동 컴퓨팅 디바이스는 사람의 포맷에 있거나, 또는 사람의 손에 쥐어질 수 있거나, 또는 손목-착용되거나 또는 사람의 신체의 다른 곳에 있을 수 있다. 이동 컴퓨팅 디바이스 및 사용자 인터페이스 디바이스는 동일한 디바이스에서 조합될 수 있다. 이동 컴퓨팅 디바이스는 디스플레이를 가질 수 있지만, 이러한 디스플레이는 사람에게 가시적이거나 또는 가시적이지 않을 수 있다. 이동 컴퓨팅 디바이스는 통상적으로 iOS 운영 시스템 또는 안드로이드 운영 시스템과 같은, 운영 시스템을 가지며, 하나 이상의 애플리케이션들을 실행할 수 있다. 예를 들어, 제 1 애플리케이션은 날씨 애플리케이션일 수 있고, 제 2 애플리케이션은 음악 재생 애플리케이션일 수 있으며, 제 3 애플리케이션은 지도 애플리케이션일 수 있다. 사람은 이동 컴퓨팅 디바이스의 지시 및 제어 하에서 오디오를 재생하기 위해, 이동 컴퓨팅 디바이스와 통신하는 헤드폰들을 착용할 수 있거나, 또는 이동 컴퓨팅 디바이스가 스피커를 가질 수 있다.
이러한 예시적인 셋업을 사용하여, 사람은 머리 위로 그녀의 손을 올리며, 그 후 검지 들어올리기를 수행할 수 있다. 이 경우에, 이동 컴퓨팅 디바이스는 검지 들어올리기를 날씨 애플리케이션을 향하게 하며, 결과적으로 이동 컴퓨팅 디바이스가, 예를 들어, 현재 날씨 예보의 스피치-생성 버전 또는 레코딩을 사용하여 헤드폰들을 통해 오디오를 플레이하게 할 수 있다.
사람은 중립 자리에 그녀의 팔, 손목, 및 손을 가지며, 검지손가락 들어올리기를 수행할 수 있다. 이 경우에, 이동 컴퓨팅 디바이스는 검지 들어올리기를 오디오 재생 애플리케이션으로 향하게 하며, 결과적으로 오디오 재생 애플리케이션이 음악 재생을 시작하게 할 수 있다. 재생될 현재 음악 선택은 다양한 디폴트 설정들에 의해 결정될 수 있다. 재생이 시작한 후, 오디오 재생 애플리케이션은 추가 입력들을 경청할 수 있으며, 이것은 다양한 재생 제어들 (이하의 제 2 예 참조) 을 제공할 것이다.
사람은 그녀의 허리 또는 엉덩이 아래, 낮은 자리로, 그녀의 손을 낮추며 검지손가락 들어올리기를 수행할 수 있다. 이 경우에, 이동 컴퓨팅 디바이스는 검지 들어올리기를 지도 애플리케이션으로 향하게 하며, 결과적으로 이동 컴퓨팅 디바이스가 예를 들어, 지도상에서의 사용자의 현재 위치의 기술의 스피치-생성 버전 또는 레코딩을 사용하여 헤드폰들을 통해 오디오를 플레이하게 할 수 있다.
이러한 예시적인 구현에서, 이동 컴퓨팅 디바이스의 운영 시스템, 또는 그것 상에서 실행하는 제어 애플리케이션은 도 5에서 선택 모듈 (506) 을 포함할 수 있다. 선택 모듈은 검출된 손목 위치들 대 애플리케이션들의 매핑을 포함할 수 있다. 예를 들어, 선택 모듈은 대응하는 애플리케이션에 대한 검출된 손목 위치의 관계를 나타내는 데이터를 저장하는, 테이블과 같은, 데이터 구조를 유지할 수 있다. 사용자 인터페이스 디바이스로부터의 검출된 손목 위치를 나타내는 데이터를 수신하는 것에 응답하여, 운영 시스템 또는 제어 애플리케이션은 사용자 인터페이스 디바이스로부터 수신된 데이터에 기초하여 검출된 프리미티브 제스처와 연관된 임의의 동작의 타겟으로서 상기 손목 위치에 대응하는 애플리케이션을 선택할 수 있다.
제 2
또 다른 예시적인 구현으로서, 오디오 재생 애플리케이션과 같은, 다수의 기능들이 선택될 수 있는 애플리케이션을 고려하자. 오디오 재생 동작들의 예시적인 예들은 플레이, 정지, 일시중지, 앞으로 건너뛰기, 뒤로 건너뛰기, 플레이리스트 선택, 플레이리스트에서 아이템 선택 등을 포함한다.
이러한 예시적인 구현에서, 상이한 동작들이 1×2 또는 2×1의 최소 크기 그리드, 즉 2개의 그리드 요소들의 최소치를 가진, M×N 그리드에서의 상이한 요소들에 할당될 수 있다. 그리드는 직사각형일 수 있으며, 그리드 내에서의 그리드 요소들은 직사각형이고, 균일하며, 인접할 수 있다. 그리드 요소들은 비-직사각형일 수 있다. 그리드 요소들은 균일하지 않을 수 있다. 그리드 요소들은 인접하지 않을 수 있다. 그리드 요소들은 상이한 형태들 및 크기들을 가질 수 있다. 그리드 요소들은 2차원들 또는 3차원들로 배열될 수 있다. 그리드 요소들의 형태들 및 크기들은 사용자 정의되고 사용자-수정 가능할 수 있거나, 또는 컴퓨터 시스템에 의해 정의될 수 있으며, 고정되거나, 또는 둘의 조합일 수 있다. 그리드에서의 각각의 요소는 수행될 하나 이상이 동작들에 할당될 수 있다. 애플리케이션은 다수의 그리드들을 포함할 수 있으며, 프리미티브 제스처가 하나의 그리드가 활성인 동안 발생하는 것에 응답하여, 애플리케이션이 추가 프리미티브 제스처들을 프로세싱하기 위한 또 다른 그리드를 활성화하는 것을 야기한다.
현재 활성 애플리케이션 및 현재 활성 세트의 동작들을 고려해볼 때, 선택적으로 하나 이상의 검출된 자세들 또는 프리미티브 자세들과 조합하여, 손목의 검출된 위치는 현재 활성 애플리케이션으로 전달될 수 있다. 현재 활성 애플리케이션은 결과적으로 적어도 손목의 검출된 위치에 기초하여 하나 이상의 동작들을 수행한다. 애플리케이션은 현재 활성 그리드의 그리드 요소를 선택하기 위해 검출된 위치를 사용하며, 그 후 상기 그리드 요소와 연관된 동작을 수행한다. 수행된 동작은 검출된 자세 또는 프리미티브 제스처에 의존할 수 있다.
동작들의 세트 및 검출된 위치들에 대한 그것의 매핑을 나타내는 그리드는 사용자에게 가시적이지 않을 수 있다. 그러나, 사용자에게 가시적이지 않을지라도, 그리드 또는 그리드들은 사용자가, 사용자가 그리드의 요소들 중 대응하는 것들과 연관되는 것으로 해석될 것으로 알고 있는 위치들을 선택할 수 있도록 사용자에 의해 개념적으로 또는 실질적으로 알려지거나 또는 이해된다. 몇몇 애플리케이션들에서 그리드는 디스플레이상에서 가시적일 수 있다.
특정 예시적인 사용 경우로서, 재생 시작, 정지, 및 일시중지, 앞으로 건너뛰기, 뒤로 건너뛰기, 볼륨 업, 및 볼륨 다운과 같은, 다양한 동작들이 제공되는 오디오 재생 애플리케이션을 고려하자. 도 6을 참조하면, 동작들 대 위치들의 개념적인 공간적 매핑을 나타내는 예시적인 그리드가 도시된다. 이러한 예에서, 시작, 정지, 및 일시중지는 중심 영역 (600) 에 매핑된다. 앞으로 건너뛰기는 우측으로의 영역 (602) 에 매핑되고; 뒤로 건너뛰기는 좌측으로의 영역 (604) 에 매핑된다. 볼륨 업은 최상부에서의 영역 (606) 에 매핑되며; 볼륨 다운은 최하부에서의 영역 (608) 에 매핑된다. 동작들 대 위치들의 이러한 매핑은 사용자가 상이한 영역들이 위치되는 곳, 및 그것들과 연관된 동작들을 개념적으로 이해할 수 있도록 하는 몇몇 방식으로 사용자에게 설명될 수 있다. 디스플레이를 가진 디바이스 상에서, 이러한 매핑의 시각화가 디스플레이상에서 제공될 수 있다.
오디오 애플리케이션은 입력들을 수신하기 위한 활성 애플리케이션이지만, 반응 디바이스는 검출된 프리미티브 제스처들에 기초하여 오디오 애플리케이션으로 입력들을 제공할 수 있다. 일 예시적인 구현에서, 입력은 프리미티브 제스처가 검출되는 것에 응답하여, 도 6에서와 같은, 공간 (가상 또는 "실제") 메뉴를 활성화할 수 있다. 검지손가락이 들어올려지는 동안, 손목의 모션 (즉, 손가락 스와이프를 수행하는) 은 다른 동작들이 수행되도록 허용한다. 예를 들어, 우측 또는 좌측으로의 손가락 스와이프는 앞으로 건너뛰기 또는 뒤로 건너뛰기 동작들이 선택되도록 허용한다. 위 또는 아래로의 손가락 스와이프는 볼륨 업 또는 볼륨 다운 동작들이 선택되도록 허용한다. 손목의 회전은, 팔꿈치에 대하여 팔뚝을 회전시킴으로써, 부가적인 입력을 제공하기 위해 사용될 수 있다. 손목의 모션에 대한 동작들의 프로세싱은 사용자가 들어올려진 위치에 검지손가락을 유지하는 것을 멈출 때 종료될 수 있다.
예로서, 사용자는 신체에 대하여 중립 자리에 손목을 갖고, 검지손가락 들어올리기를 수행하고, 손목을 우측으로 이동시키는 동안 들어올려진 자리에서 검지 손가락을 유지하며, 그 후 검지손가락 들어올리기를 해제할 수 있다. 손목 위치들 및 손의 자세들의 이러한 조합에 응답하여, 반응 디바이스는 손목 위치 및 자세 정보를 오디오 애플리케이션으로 향하게 한다. 결과적으로, 오디오 애플리케이션은 그리드 (800) 를 활성화하며, 플레이리스트에서 다음 곡으로 건너뛰기 위해 사용자로부터의 지시로서 손목 위치 및 자세 정보를 프로세싱한다. 오디오 애플리케이션은 플레이리스트에서 다음 곡의 재생을 시작한다. 사용자가 검지손가락을 들어올리는 것을 멈춘 후, 오디오 애플리케이션은 그리드에 대하여 입력들을 프로세싱하는 것을 멈추며 선택된 곡을 계속해서 재생한다. 또 다른 예로서, 상사형 들어올리기는 디바이스 상에서 플레이되는 사운드의 볼륨을 점진적으로 증가시키거나 또는 감소시키기 위해 사용될 수 있다.
애플리케이션은 사용자 인터페이스 디바이스에 기초하여 수신된 정보에 기초하여 상태 정보를 유지할 수 있다. 이제 도 7을 참조하면, 애플리케이션은 제 1 청취 상태 (700) 에 있을 수 있으며, 여기에서 검지손가락 들어올리기 및 유지와 같은, 제 1 프리미티브 자세는 제 1 그리드의 다수의 그리드 요소들에 관련된 추가 입력들에 대한 모니터링을 활성화할 수 있다. 제 1 프리미티브 제스처는 제 2 상태 (704) 로의 전이 (702) 를 불러일으킨다. 이러한 제 2 상태에서, 상기 제 1 프리미티브 제스처 후 검출된 손목의 모션은, 공간적 자리를 결정하기 위해 사용될 수 있으며, 결과적으로 선택된 그리드 요소로 불리우는 하나 이상의 그리드 요소들에 매핑된다. 특정한 상태 (예컨대, 706, 708) 가 각각의 그리드 요소를 위해 할당될 수 있다. 몇몇 구현들에서, 손목이 예컨대, 상태 (708) 에서, 선택된 그리드 요소에 대응하는 공간적 자리에 남아있는 동안, 볼륨을 증가시키는 것과 같은, 710에서 표시된 바와 같이, 선택된 그리드 요소에 관련된 동작이 수행될 수 있다. 애플리케이션은 사용자가 더 이상 이러한 그리드 요소에 있지 않도록 손목 위치를 이동시킬 때까지, 또는 그리드 또는 애플리케이션이 더 이상 활성화되지 않을 때까지 이 상태에 남아있을 수 있다.
몇몇 구현들에서, 손목이 예컨대, 상태 (706) 에서, 선택된 그리드 요소에 대응하는 공간적 자리에 있는 동안, 선택된 그리드 요소에 관련된 동작이 상태 (714) 로의 전이 (712) 로 표시된 바와 같이, 또 다른, 제 2 프리미티브 제스처가 발생한 후 프로세싱될 수 있다. 따라서, 애플리케이션은 사용자가 중립 수직 위치 (상태 (700) 에 있는 오디오 애플리케이션에 대응하는) 에 손목을 두고, 검지손가락 들어올리기 (명령들의 그리드를 활성화하고 상태 (704) 로 전이하는) 를 수행하고, 손목을 위로 스와이핑하며 (상태 (706) 로의 전이를 야기하는), 그 후 N-도 회전 (상태 (714) 로의 전이를 야기하는) 과 같은, 또 다른 동작을 수행함으로써 상태 (714) 에 위치될 수 있다. 이러한 다른 상태 (714) 에 대한 동작을 프로세싱한 후, 상태 (704 또는 700) 로의 전이와 같은, 또 다른 상태로의 전이가 발생할 수 있다.
검지손가락이 들어올려진 동안 손목의 모션은, 상태들 사이에서, 예를 들어, 상태들 (706 및 708) 사이에서, 스위칭함으로써, 애플리케이션이 상이한 그리드 요소들 간에 그것의 선택을 스위칭하게 할 수 있다. 예를 들어, 사용자가 처음에 손목을 우측으로 이동시키고 애플리케이션이 처음에 우측으로 그리드 요소를 선택한 후, 사용자는 손목을 좌측으로 이동시켜서, 애플리케이션이 좌측으로 그리드 요소를 선택하게 할 수 있다. 검지손가락 들어올리기 및 유지를 종료하는 것과 같은, 제 3 프리미티브 제스처는 공간 요소들과 관련하여 손목에 대한 모션 정보의 프로세싱을 종료하여, 다시 초기 상태 (700) 로의 전이를 야기할 수 있다.
제 3
또 다른 예시적인 사용 경우로서, 수송체의 모션을 제어하기 위해 라디오 주파수들을 통해 무선으로 수신된 명령들에 응답하는 제어기를 가진, 소형, 무인, 항공 수송체, 즉 드론을 위한 제어기를 고려하자. 이러한 수송체에 대해, 다양한 제어 동작들이 위 또는 아래로 이동하고, 호버링하고, 좌측 또는 우측으로 회전하거나, 또는 앞뒤로 움직이거나, 또는 이들의 몇몇 조합을 하도록 지시하기 위해서와 같은, 모션을 제공하기 위해 제공될 수 있다. 이러한 제어는 통상적으로 "하위-레벨" 제어로 불리운다. 웨이크 워드는 사용자 인터페이스 디바이스를 통해 이러한 하위 레벨 제어를 개시하기 위해 사용될 수 있다.
도 8을 참조하면, 손목 위치들 대 동작들의 공간적 매핑을 나타내는 예시적인 그리드가 도시된다. 이 예에서, 손목 모션의 부재는, 중심 영역 (800) 에 표시된 바와 같이, 호버 동작에 매핑된다. 중간 우측 상에서의 영역 (802) 에 매핑된, 우측으로의 손목의 모션은 드론을 우측으로 이동시키는 것에 매핑된다. 중간 좌측 상에서의 영역 (804) 에 매핑된, 좌측으로의 손목의 모션은 드론을 좌측으로 이동시키는 것에 매핑된다. 최상부 중심에서의 영역 (806) 에 매핑된, 손목의 위로의 모션은 드론을 위 또는 앞으로 이동시키는 것에 매핑된다. 최하부 중심에서의 영역 (808) 에 매핑된, 아래로의 손목의 모션은 드론을 아래로 또는 뒤로 이동시키는 것에 매핑된다. 위로/앞으로 또는 아래로/뒤로 간의 구별은 손가락의 검출된 움직임에 기초하여 구현될 수 있다. 예를 들어, 위 또는 아래로 손목 위치와 조합한 유지는 드론을 위로 또는 아래로 이동시키는 것을 시그널링할 수 있는 반면; 유지의 부재는 드론이 앞으로 또는 뒤로 이동하게 할 수 있다. 상부 좌측 및 우측, 및 하부 좌측 및 우측 코너들은 손목의 조합된 모션을 나타낼 수 있거나, 또는 또 다른 명령에 매핑될 수 있다. 시계방향 또는 반시계 방향으로의 손목 N-도 회전들 (도 8에 도시되지 않음) 은 또한 대응하는 방향 및 양으로 드론의 대응하는 회전들에 매핑될 수 있는 손목 모션들이다.
지리적 위치를 사용하는 예들
몇몇 구현들에서, 반응 디바이스는 지리적 위치를 결정하기 위해 하나 이상의 사용자 인터페이스 디바이스들로부터 수신된 데이터에 기초하여 정보를 사용할 수 있다. 몇몇 구현들에서, 결정은 하나 이상의 다른 사용자 인터페이스 디바이스들, 또는 하나 이상의 다른 센서들, 또는 정보의 다른 소스, 또는 이들의 임의의 조합으로부터 수신된, 부가적인 센서 정보 또는 부가적인 콘텍스트 정보, 또는 둘 모두를 사용하여 보조된다.
지리적 위치가 결정될 수 있는 몇몇 예시적인 시나리오들은 이에 제한되지 않지만, 다음을 포함한다.
개인은 북쪽, 또는 남쪽과 같은, 특정 방향으로 향할 수 있으며, 상기 일반적인 방향에 있는 것에 대한 정보를 원할 수 있다. 개인은 거리 모퉁이 또는 빌딩을 가리킬 수 있으며 그에 대해, 또는 간단히 그것을 식별하기 위해 정보를 원할 수 있다. 개인은 하나의 방향으로 향하며 지도상에 포인트를 설정하도록 의도할 수 있다. 예를 들어, 개인은 지도상에 포인트를 설정하기 위해 또는 그것들의 위치를 또 다른 디바이스로 전달하기 위해 그들의 발을 가리킬 수 있다. 개인은 사냥하는 동안 사슴 또는 다른 동물을 찾기 위해, 또는 게임 또는 다른 활동 동안 통신하기 위해서와 같은, 오브젝트를 식별하기 위해 하나의 방향으로 향할 수 있다.
다수의 개인들은 대략 동일한 위치 또는 동일한 오브젝트를 가리킬 수 있다. 다수의 사용자들은 동일한 오브젝트를 선택하거나 또는 식별하기 위해 협력하길 원할 수 있다. 다수의 사용자들은 다수의 오브젝트들을 선택하거나 또는 식별하기 위해 협력하길 원할 수 있다. 오브젝트 또는 오브젝트들은 움직일 수 있다. 예를 들어, 다수의 소방관들은 빌딩 상에서 동일한 창문 또는 다른 자리를 가리킬 수 있다. 거리에서 다수의 개인들은 거리에서 동일한 차량을 가리킬 수 있다. 예를 들어, 여러 경찰관들은 동일한 자동차를 가리킬 수 있다. 하나의 장소에서 다수의 개인들은 대략 동일한 위치를 가리킬 수 있다. 도시 공원에서의 다수의 사람들은 하나의 오브젝트를 가리킬 수 있다. 예를 들어, 하나의 장소에 대한 보안 요원은 동일한 사람, 또는 개방된 문, 또는 오브젝트를 가리킬 수 있다. 수색 구조 임무 상에서 다수의 사람들은 오브젝트, 또는 구조될 사람 또는 동물, 또는 위험 또는 장애물을 식별할 수 있다.
선택된 지리적 위치는 통신을 제어하기 위해 사용될 수 있다. 예를 들어, 개인은 또 다른 개인을 가리키며 상기 개인과 직접 통신을 개시할 수 있다. 개인은 그룹과 통신하기 위해, 이를테면, 개별적으로 그들을 가리키거나 또는 제스처를 이용하여 그룹으로서 그들을 선택함으로써, 개인들의 그룹을 선택할 수 있다. 개인은 하늘을 가리키는 것과 같은 제스처를 이용하여, 미리 결정된 세트의 개인들과 통신을 개시할 수 있다. 유사하게, 오브젝트들과의 통신, 또는 그것의 제어, 또는 둘 모두는 개개의 오브젝트를 가리키고, 세트 내에서 오브젝트들의 그룹을 선택하거나, 또는 미리 결정된 세트의 오브젝트들을 선택함으로써 수행될 수 있다.
지리적 위치는 절대적 위치 또는 상대적 위치로서 정의될 수 있다. 절대적 위치들의 예들은, 이에 제한되지 않지만, 지도 시스템에서의 좌표들, GPS (geographical positioning system) 좌표들, 또는 다양한 분해능들에서의 경도 및 위도, 또는 이들의 임의의 조합을 포함한다. 상대적 위치들의 예들은, 이에 제한되지 않지만, 기준 포인트 및 방향, 또는 기준 포인트 및 방향과 거리, 복수의 기준 포인트들 및 이들 기준 포인트들로부터의 각각의 방향들, 또는 복수의 기준 포인트들 및 이들 기준 포인트들로부터의 각각의 방향들과 거리들, 또는 이들의 임의의 조합을 포함한다.
지리적 위치는 적어도 하나의 사람과 연관된 센서로부터 센서 데이터로부터의 입력들에 기초하여 결정될 수 있다. 하나 이상의 다른 사람들, 또는 하나 이상의 다른 오브젝트들, 또는 이들의 조합으로부터 연관된 센서들로부터의 부가적인 센서 데이터는 지리적 위치를 결정하기 위해 사용될 수 있다. 이러한 센서들의 예들은 다음: 위치 센서(이하에서 설명되는 바와 같이), 지자기 센서, 나침반, 자력계, 가속도계, 자이로스코프, 고도계, 눈 추적 디바이스, 자리에서의 변화를 나타내는 정보를 제공하는 인코더, 이미지 데이터 또는 모션 비디오를 제공하는 카메라, 알려진 랜드마크에 대한 기준, 또는 하나 이상의 마이크로폰들과 같은, 사운드 센서, 또는 사람으로부터의 방향의 표시를 제공할 수 있는 다른 센서, 또는 이들 중 둘 이상의 임의의 조합 중 적어도 임의의 하나 이상을 포함한다. 센서 데이터는, 예를 들어, 사람에 의한 다수의 프리미티브 제스처들, 의도된 동작, 팔 각도 또는 상대적 수직 위치의 다른 표시, 방향 또는 방위, 거리, 또는 고도 또는 이들의 임의의 조합 중 임의의 것으로서 해석될 수 있다. 지리적 위치는 하나 이상의 사람들과 연관된 센서들로부터 수신된 이러한 센서 데이터에 기초하여 결정될 수 있다.
몇몇 구현들에서, 지리적 위치의 결정은 콘텍스트 데이터를 사용하여 보조될 수 있다. 이러한 콘텍스트 데이터는 하나 이상의 오브젝트들의 지리적 위치, 음성, 사운드, 또는 텍스트 데이터, 하나 이상의 카메라들로부터의 이미지 데이터, 지도 데이터 또는 지도에 대한 사용자 입력들, 또는 이들 또는 다른 콘텍스트 정보의 임의의 조합들과 같은, 정보를 포함할 수 있다.
몇몇 구현들에서, 이러한 콘텍스트 데이터와 같은, 부가적인 정보는 지리적 위치들 또는 지리적 위치에 기초하여 선택된 오브젝트에 관련된 다른 동작들을 선택하고, 제어하고, 작동하거나, 또는 수행하도록 입력들을 제공하기 위해 사용될 수 있다. 예를 들어, 음성, 제스처, 또는 다른 데이터는 수식어로서 사용될 수 있다. 예를 들어, 빌딩을 가리키는 소방관은 음성, 예컨대, "두 사람이 2층 창문 가까이에 있다"를 통해 통신할 수 있다. 예를 들어, 음성, 제스처, 또는 다른 데이터는 선택된 오브젝트에 주석을 달기 위해 사용될 수 있으며, 상이한 제스처들은 "안전" 또는 "위험"과 같은, 오브젝트에 대한 상이한 라벨들을 제공하기 위해 사용된다. 예를 들어, 음성, 제스처, 또는 다른 데이터는 오브젝트에 대한 명령을 활성화하기 위해 사용될 수 있으며, 상이한 동작들은 상이한 방식들로 작동된다. 이러한 작동들은 "클릭"과 유사할 수 있지만, 사용자로부터 수신된 임의의 다른 데이터로부터 획득될 수 있다.
도 9a는 지리적 위치를 결정하는 시스템의 예시적인 데이터 흐름도이다. 도 9a에서, 하나 이상의 사용자 인터페이스 디바이스들로부터의, 수신된 데이터 (950, 950-2, ..., 이후 "950") 가 반응 디바이스 (952) 에서 수신된다. 몇몇 구현들에서, 제 2 사용자 인터페이스 디바이스 (이용 가능하다면) 로부터의 수신된 데이터 (950-2) 는 그 자신의 반응 디바이스 (954) 를 통해 전달될 수 있으며, 이것은 결과적으로 정보를 반응 디바이스 (952) 로 제공한다. 몇몇 구현들에서, 반응 디바이스 (952 및 954) 는 지리적 위치를 결정하기 위해 정보를 또 다른 디바이스로 제공할 수 있다.
사용자 인터페이스 디바이스들로부터 수신된 데이터에 기초하여 지리적 위치들을 결정하는 것을 돕기 위해, 수신된 데이터 (950) 는 적어도 사용자 인터페이스 디바이스 상에서 하나 이상의 센서들로부터의 센서 데이터를 포함한다. 이러한 센서들의 예들은 다음 중 적어도 임의의 하나 이상을 포함한다: 신체 부분의 위치를 찾기 위한 위치 센서 (이하에서 설명되는 바와 같이), 지자기 센서, 나침반, 자력계, 가속도계, 자이로스코프, 고도계, 눈 추적 디바이스, 자리에서의 변화를 나타내는 정보를 제공하는 인코더들, 카메라들로부터의 이미지 데이터, 알려진 랜드마크에 대한 기준, 또는 하나 이상의 마이크로폰들과 같은 사운드 센서, 또는 사람으로부터의 방향의 표시를 제공할 수 있는 다른 센서, 또는 이들 중 둘 이상의 임의의 조합. 몇몇 구현들에서, 반응 디바이스 (952) 는 손의 자세 및 손목의 모션을 결정하기 위해 사용자 인터페이스 디바이스로부터의 수신된 데이터 (950) 를 사용할 수 있으며, 그로부터 가리키기, 가리키는 방향, 모션과 함께 가리키기와 같은 정보가 결정될 수 있다. 다른 프리미티브 제스처들이 또한 오브젝트의 선택 또는 선택된 오브젝트에 대하여 수행될 동작을 나타내기 위해 검출될 수 있다.
반응 디바이스 (952) 는 또한 다른 콘텍스트 데이터 (956) 를 수신할 수 있다. 다른 콘텍스트 데이터 (956) 는 적어도 다음의 유형들의 데이터 중 임의의 하나 이상일 수 있다.
콘텍스트 데이터는 하나 이상의 오브젝트들의, 지리적 위치와 같은, 정보를 포함할 수 있다. 예를 들어, 오브젝트들에 대한 정보의 데이터베이스가 액세스될 수 있다.
콘텍스트 데이터 (956) 는 하나 이상의 마이크로폰들로부터 음성 또는 다른 오디오 데이터를 포함할 수 있다. 콘텍스트 데이터 (956) 는 이러한 오디오 데이터로부터 인식된 스피치 또는 다른 오디오 신호들로부터 도출된 텍스트 또는 다른 데이터를 포함할 수 있다.
콘텍스트 데이터 (956) 는 하나 이상의 카메라들로부터의 이미지 데이터 또는 비디오 데이터를 포함할 수 있다. 비디오 데이터는 비행 시간 프로세싱에 의해 제공된 깊이 정보를 제공할 수 있다. 유사하게, 다른 비행 시간 센서들은 이러한 깊이 정보를 제공할 수 있다. 콘텍스트 데이터 (956) 는 이러한 이미지 데이터에 기초하여 오브젝트 인식 또는 표면 검출의 결과들을 포함할 수 있다.
콘텍스트 데이터 (956) 는 지도 또는 지도와 연관된 다른 정보에 대한 사용자 입력을 포함할 수 있다. 이러한 사용자 입력은, 예를 들어, 지도에 대한 위치, 면적, 또는 곡선을 포함할 수 있다. 사용자(들) 주위의 면적의 지도와 연관된 관심 포인트 데이터는 또한 콘텍스트 데이터 (956) 로서 이용 가능할 수 있다.
이제 도 9b 및 도 9c로 가면, 지리적 위치가 결정될 수 있는 예시적인 사용 경우가 예시된다. 도 9b에서, 3명의 사람들 (982, 984, 및 986) 이 면적 (980) 내에서의 상이한 지리적 위치들에서 예시된다. 도면은 일정한 비율은 아니지만, 각각이 면적 (980) 내에서의 땅에 서 있는 개인을 갖고 몇몇 관점 또는 깊이를 도시하도록 의도된다. 각각의 사람은 땅 위에 예시된, 오브젝트 (988) 를 가리킨다. 이들 기법들이 지상에, 차량들에, 스쿠버 다이빙을 위해서와 같은 수중에, 또는 비행기들 또는 심지어 낙하산과 같은 항공 수송체들에서와 같은, 공중에 있는 사람들에게 적용할 수 있으므로, 이러한 정보를 제공하는 개인들은 어디든 위치될 수 있으며, 반드시 지상에 있는 것은 아니라는 것이 이해되어야 한다. 사람들의 각각은 오브젝트 (988) 를 가리키며 예시되며, 따라서 면적 (980) 내에서의 그것들 각각의 위치들로부터 가리키는 상이한 방향들을 제공한다. 사람의 팔의 각도가 또한 제공될 수 있다. 개인들로부터 이용 가능한 정보, 즉 그들의 위치들 및 가리키는 방향들, 및 선택적으로 팔 각도들로부터, 오브젝트 (988) 의 지리적 위치가 결정될 수 있다. 면적 (980) 의 땅에 대응하는, 2-차원들에서의 위치는 개인들의 위치들 및 가리키는 방향들을 사용하여 결정될 수 있다. 오브젝트의 고도는 개인들로부터의 팔 각도들을 사용하여 추가로 결정될 수 있다.
도 9c에서, 2-차원들에서 예시적인 디스플레이상에서의 오브젝트 (988) 의 지리적 위치의 예시가 도시된다. 예를 들어, 사람들 중 하나는 오브젝트 (988) 의 결정된 지리적 위치의 그래픽 표시 (990) 를 제공하는 디스플레이를 가진 디바이스를 가질 수 있다. 디스플레이는 선택적으로 사람의 지리적 위치들, 예컨대, P1을 포함할 수 있다. 디스플레이는 선택적으로 다른 사람들의 지리적 위치들, 예컨대 P2 및 P3을 포함할 수 있다.
도 9a로 돌아가면, 수신된 데이터 (950), 및 임의의 콘텍스트 데이터 (956) 를 고려해볼 때, 반응 디바이스는 지리적 위치 (960) 를 결정할 수 있다. 지리적 위치를 계산하는 많은 방식들이 있다. 여러 예들이 이어진다.
지리적 위치는 다양한 상이한 종류들의 프로세싱 기법들을 사용하여, 센서 데이터, 및 선택적으로 콘텍스트 데이터로부터 결정될 수 있다. 몇몇 구현들에서, 삼각측량의 형태들은 다수의 기준 포인트들로부터의 방향들을 사용하여 이용될 수 있다. 몇몇 구현들에서, 입력은 사용자가 결정된 위치 및 방향에 관하여 거리를 특정하도록 허용할 수 있다. 몇몇 구현들에서, 에이전트의 위치를 계산하는 동시적 국소화 및 매핑 (SLAM) 알고리즘들의 변형들과 같은, 계산 기하학으로부터의 기법들이 이용될 수 있으며, 여기에서 결정될 지리적 위치는 계산될 에이전트의 위치로서 처리된다. 몇몇 구현들에서, 시간에 걸친 자리에서의 변화가 센서 데이터에 기초하여 결정되는 주행거리계의 형태들이 사용될 수 있다. 몇몇 구현들에서, 시각적 주행 거리계는 카메라들로부터의 이미지들에 대해 수행될 수 있다. 이러한 구현들의 임의의 조합이 또한 사용될 수 있다.
지리적 위치를 결정하기 위해 사용된 센서 데이터는 또한 시간 스탬프 또는 시간의 다른 표시들을 가질 수 있다. 다수의 사용자들 또는 디바이스들과 연관된 센서 데이터가 사용되는 구현들에서, 그 후 시간 정보는 센서 데이터를 제거하거나 또는 가중시키기 위해 사용될 수 있다. 예를 들어, 보다 최근 데이터가 강조되거나 또는 사용될 수 있으며, 덜 최근의 데이터가 덜 강조되거나 또는 폐기될 수 있다.
지리적 위치의 결정은 또한 확실성의 레벨, 또는 타당성, 또는 신뢰도, 또는 결정된 지리적 위치에 대한 범위를 나타내는 데이터를 포함할 수 있다. 예를 들어, 이러한 데이터는 지리적 위치를 결정하기 위해 사용된 입력들의 수에 기초할 수 있다. 예로서, 데이터가 동일한 일반적인 면적을 가리키는 더 많은 수의 개인들과 같은, 더 많은 수의 소스들로부터 획득된다면, 이 데이터는 그것이 의도된 오브젝트인 오브젝트의 증가된 타당성 또는 오브젝트의 증가하는 의미성, 또는 둘 모두를 내포할 가능성이 있다. 또 다른 예로서, 데이터는 지리적 위치를 계산하기 위해 사용된 이용 가능한 데이터의 분해능에 기초할 수 있다.
예를 들어, 제 1 벡터를 정의하는, 제 1 사람에 대한 제 1 지리적 위치 및 제 1 방향, 및 제 2 벡터를 정의하는, 제 2 사람에 대한 제 2 지리적 위치 및 제 2 방향을 고려해볼 때, 제 1 벡터 및 제 2 벡터의 교차점은 위치를 제공한다. 제 1 지리적 위치 및 제 2 지리적 위치, 및 제 1 방향 및 제 2 방향은 사람에 의해 착용된 각각의 사용자 인터페이스로부터, 사람이 하나의 방향을 가리키는 동안 발생하는 손가락 들어올림과 같은, 프리미티브 제스처의 검출의 시간에 기초할 수 있다. 프리미티브 제스처에 응답하여, 상기 시간쯤에서 이용 가능한 데이터는 지리적 위치들 또는 방향들 중 하나 이상으로서 사용될 수 있다. 따라서, 두 명의 개인들은 하나의 오브ㅈ게트를 가리킬 수 있으며 그것들의 정보는 상기 오브젝트의 지리적 위치를 결정하기 위해 사용될 수 있다.
또 다른 예로서, 사람의 지리적 위치를 고려해볼 때, 방위 및 거리는 사용자 인터페이스 디바이스로부터 수신된 데이터로부터 도출될 수 있다. 방위는 지자기 센서로부터의 신호들로부터 또는 손목의 좌측 및 우측 모션 또는 둘 모두에 의해 도출될 수 있다. 거리는 손목의 위아래 모션에 기초할 수 있다. 결정된 지리적 위치에 대한 벡터는 결정된 위치에 대한 피드백을 사용자에게 제공하기 위해 디스플레이 상에 또는 헤드업 디스플레이에서의 지도상에서와 같이 사용자에게 디스플레이될 수 있다. 반응 디바이스는 사용자로부터의 추가 입력에 응답하여 상기 위치를 업데이트할 수 있다.
또 다른 예로서, 사람의 지리적 위치를 고려해볼 때, 방위 및 거리는 사용자 인터페이스 디바이스로부터 수신된 데이터로부터 및 사람에 의해 운반된 또 다른 디바이스로부터 수신된 데이터로부터 도출될 수 있다. 예를 들어, 사용자 인터페이스 디바이스를 착용한 사람은 그 자신의 지자기 센서 또는 다른 센서를 가진, 전화와 같은 이동 디바이스, 또는 제 1 방향이 도출될 수 있는 센서들을 가질 수 있다. 사용자 인터페이스 디바이스를 착용한 사람은 눈 추적을 포함하는 헤드-업 디스플레이를 가질 수 있다. 사용자 인터페이스 디바이스를 착용한 사람들은 제 1 사용자 인터페이스 디바이스로부터 상이한 팔 상에 착용된 제 2 사용자 인터페이스 디바이스를 가질 수 있다. 제 1 방향은 그것이 예를 들어, 사람의 응시 방향, 또는 사람의 머리 또는 가슴 또는 손이 가리키는 방향을 나타내도록 의도되도록 계산될 수 있다. 사용자 인터페이스 디바이스는 또한 손이 가리키는 방향을 나타내는, 지자기 센서에 기초한 방위와 같은, 제 2 방향이 도출될 수 있는 하나 이상의 신호들을 제공한다. 공통 평면에 투영된, 제 1 방향 및 제 2 방향을 나타내는 벡터들, 및 제 1 방향 및 제 2 방향에 대한 원점들 간의 차이들은 교차점을 결정하기 위해 사용되어, 원점들 중 하나 또는 둘 모두로부터 지리적 거리에 대한 거리를 제공할 수 있다. 결정된 지리적 위치에 대한 벡터는 결정된 지리적 위치에 대한 피드백을 사용자에게 제공하기 위해 디스플레이상에 또는 헤드업 디스플레이에서의 지도상에서와 같이 사용자에게 디스플레이될 수 있다. 반응 디바이스는 사용자로부터의 추가 입력에 응답하여 상기 위치를 업데이트할 수 있다.
또 다른 예로서, 사람의 지리적 위치, 방향, 및 선택된 오브젝트를 고려해볼 때, 선택된 오브젝트의 비행 시간 데이터는 거리 정보를 결정하기 위해 사용될 수 있다. 사람의 지리적 위치, 그들의 방향, 및 선택된 오브젝트에 대한 거리에 기초하여, 결정된 지리적 위치에 대한 벡터는 결정된 지리적 위치에 대한 피드백을 사용자에게 제공하기 위해 디스플레이상에 또는 헤드업 디스플레이에서 지도상에서와 같이 사용자에게 디스플레이될 수 있다. 반응 디바이스는 사용자로부터의 추가 입력에 응답하여 상기 위치를 업데이트할 수 있다.
몇몇 구현들에서, 콘텍스트 데이터는 계산된 지리적 위치를 정제하기 위해 사용될 수 있다. 예를 들어, 사용자가 "은행"을 말하면, "은행"에 대응하는 위치가 선택될 수 있다. 또 다른 예로서, 지도상에서 선택된 면적은 결정된 지리적 위치가 상기 면적에 있음을 보장하기 위해 사용될 수 있다.
지리적 위치는 결과적으로 많은 방식들로 사용될 수 있으며, 그 예들은 이에 제한되지 않지만 다음을 포함하며 다음 중 둘 이상의 조합들을 포함할 수 있다. 지리적 위치는 이를테면 오브젝트를 식별하거나 또는 선택하기 위해, 애플리케이션에 대한 입력으로서 사용될 수 있다. 다양한 동작들이 선택된 오브젝트와 관련하여 애플리케이션에 의해 수행될 수 있으며, 그것의 비-제한적인 예들은 카메라에 의해 오브젝트의 추적을 불러일으키는 것, 또는 데이터베이스로부터 오브젝트에 대한 정보를 획득하는 것을 포함한다. 지리적 위치는 또 다른 사용자 또는 또 다른 기계로 전달된 데이터일 수 있다. 지리적 위치는 하나 이상의 사용자 인터페이스 디바이스들로부터 수신된 신호들에 기초하여 데이터와 조합하여 수행될 동작을 선택할 때 콘텍스트 정보로서 처리될 수 있다. 지리적 위치는 이를테면 지도상에 포인트를 디스플레이하는 것에 의해, 피드백으로서 사용자에게 제공될 수 있다.
지리적 위치 (960) 를 고려해 볼 때, 지도상에서 디스플레이상의 사용자로의 피드백 외에 다양한 동작들이 이러한 정보를 갖고 수행될 수 있다. 예를 들어, 몇몇 구현들에서, 이러한 관심 포인트 데이터는 임의의 결정된 지리적 위치 (960) 와 함께 피드백 데이터로서 제공될 수 있다. 이러한 지리적 위치 (960) 는, 사용자 인터페이스 디바이스로부터의 수신된 데이터로부터 도출된 다른 정보와 함께, 프로세싱을 위해 애플리케이션으로 제공될 수 있다. 결정된 위치 가까이에 있는 하나 이상의 오브젝트들은 검출되거나 또는 추적되거나 또는 선택될 수 있다. 카메라에 의한 오브젝트의 추적을 불러일으키는 것, 또는 데이터베이스로부터 오브젝트에 대한 정보를 획득하는 것과 같은, 동작이 검출된 또는 선택된 오브젝트와 관련하여 수행될 수 있다.
일 예시적인 구현에서, 사람이 가능하게는, 3-차원 공간에서, 오브젝트들을 보고 있는 애플리케이션을 고려하자. 뷰어는 가상 현실 디스플레이 또는 다른 몰입형 디스플레이를 착용하고 있을 수 있다. 뷰어는 종래의 2-차원 디스플레이를 보고 있을 수 있다. 사용자 인터페이스 디바이스는 다른 오브젝트들을 꽉 잡고 있는 동안에도, 사용자가 디스플레이된 오브젝트들에 대하여 동작들을 직관적으로 선택하고 수행할 수 있게 한다.
이제 도 9d를 참조하면, 디스플레이되는 가상 장면을 갖고, 컴퓨터가 장면 데이터 (903) 로 표현된, 렌더링되고 있는 장면의 3-차원 모델을 가진다. 이러한 장면 데이터 (903)는, 3-차원 표면 (902) 을 나타내는 데이터를 생성하기 위해, 장면 데이터 프로세서 (900) 를 사용하여, 프로세싱될 수 있다. 장면에서 사용자 인터페이스 디바이스 또는 사용자의 위치 (904), 및 상기 위치에서 나온 벡터 (906) 를 고려해볼 때, 상기 벡터와 3D 표면의 교차점이 결정될 수 있다. 상기 교차점은 3-차원 장면에서 오브젝트에 대응한다. "오브젝트 선택기" (908) 는 오브젝트 (910) 를 선택하기 위해 3D 표면, 벡터, 및 위치 정보를 프로세싱할 수 있다.
사용자 인터페이스 디바이스로부터의 신호들에 기초한 입력들 (911) 은 벡터 컴퓨팅 모듈 (918) 을 사용하여 벡터 (906) 를 계산하기 위해 사용될 수 있다. 몇몇 애플리케이션들에서, 비디오 게임에서 아바타의 뷰의 방향과 같은, 벡터는 애플리케이션에 의해 제공될 수 있다. 유사하게, 사용자 인터페이스 디바이스로부터의 신호들에 기초한 입력들 (911) 은 위치 컴퓨팅 모듈 (920) 을 사용하여 위치 (904) 를 계산하기 위해 사용될 수 있다.
선택된 오브젝트 (910), 및 사용자 인터페이스 디바이스로부터의 신호들에 기초한 입력들 (911) 을 고려해볼 때, 동작 (914) 은 선택된 오브젝트에 대하여 수행될 수 있다. 동작 선택 모듈 (916) 은 입력들 (911) 및 선택된 오브젝트 (910) 를 수신하며 수행될 선택된 오브젝트 (914) 를 결정한다.
애플리케이션은, 각각의 오브젝트에 대해, 가능한 입력들 및 대응하는 동작들의 세트를 가질 수 있다. 사용자 인터페이스 디바이스에 기초하여 수신된 입력들은 선택된 오브젝트와 연관된 가능한 입력들 중 하나 이상일 수 있다. 이들 입력들에 응답하여, 애플리케이션은 선택된 오브젝트에 대해 수행할 동작을 선택할 수 있다.
또 다른 예시적인 구현으로서, 사람이 헤드-업 또는 증강 현실 디스플레이를 통해 실세계 오브젝트들을 보고 있는 애플리케이션을 고려해보자. 사용자 인터페이스 디바이스는 사용자가, 다른 오브젝트들을 꽉 붙잡고 있는 동안에도, 실세계 오브젝트들에 대하여 동작들을 직관적으로 선택하고 수행할 수 있게 한다. 실세계 오브젝트의 이러한 선택, 및 상기 선택된 오브젝트에 대한 동작의 수행은 도 9b와 관련하여 상기 설명된 바와 유사한 방식으로 애플리케이션에서 구현될 수 있다. 그러나, 이러한 인스턴스에서, 오브젝트들의 표면이 3차원들에서 이미 정의되는 인공 장면 데이터 (903) 는 없다. 대신에, 반응 디바이스는 사용자에 의해 착용된 헤드셋으로부터이 카메라와 같은, 실세계 위치를 나타내는 비디오 정보를 수신하고 있을 수 있다. 이러한 인스턴스에서, 비디오 정보는 장면 데이터 (903) 를 제공하기 위해 표면 정보를 추출하도록 프로세싱된다.
예시적인 사용자 인터페이스가 도 10에서 도시된다. 이러한 인터페이스는, 예를 들어, 헤드 업 디스플레이에서 제공될 수 있다. 이러한 이미지에서, 사용자는 손목-착용 사용자 인터페이스 디바이스 (1000), 및 손목-착용 디바이스에서 선택된 오브젝트 (1004) 로 나오는 것으로 디스플레이된 라인 (1002) 을 볼 수 있다. 2차원들에서 오버헤드 뷰 (1006) 가 도시될 수 있다. 선택될 수 있는 다른 오브젝트들은 1008 및 1010에서 표시된다. 이들 오브젝트들 중 임의의 하나가 손목의 위치에 기초하여 선택될 수 있으며, 그 후 검지 들어올리기와 같은, 또 다른 프리미티브 제스처가 이를테면 상기 오브젝트에 대한 정보를 검색하기 위해, 선택된 오브젝트에 대해 수행될 동작을 지정할 수 있다. 이 예에서, 오브젝트 (1004, 1008 및 1010) 는 그 후 상기 설명된 기법들을 사용하여 선택된 후 제어될 수 있는 드론들 또는 다른 오브젝트들일 수 있다.
또 다른 예시적인 구현에서, 사람이 도 11에서 도시된 바와 같이, 2-차원, 제 3 자 뷰에서 실세계 오브젝트들을 보고 있는 애플리케이션을 고려해보자. 예를 들어, 디스플레이는 2-차원 항공 지도 (1100) 를 제공할 수 있으며, 여기에서 사용자의 자리, 또는 선택된 오브젝트의 자리가 화살표 (1102) 에 의해서와 같이, 지도상에 언급된다. 화살표를 사용하는 것은 지자기 센싱에 기초한 배향이 디스플레이에서 반영되도록 허용한다. 사용자의 지리적 위치는 사용자에 의해 입력될 수 있거나, 또는 GPS (global positioning system) 데이터, 또는 이러한 지리적 위치를 결정하는데 적절한 다른 데이터를 사용하여 결정될 수 있으며, 이것은 사용자가 몸에 지닐 수 있는 이동 전화 또는 다른 이동 디바이스에 의해 제공될 수 있다. GPS 또는 다른 지리적 위치 정보는 사용자에 의해 사용되는 태블릿 컴퓨터와 같은, 반응 디바이스에 의해 제공될 수 있다.
이러한 사용자 인터페이스에서, 팔을 들어올리고 낮추는 것과 같은, 손목의 모션에 응답하여, 반응 디바이스는 라인을 따르는 자리 (1102) 내지 사용자로부터 멀리 있는 또 다른 지리적 위치 (1104) 사이에서의 거리를 지도상에서 변경할 수 있다. 반응 디바이스는 상기 라인의 방향을 변경하기 위해 사용자 인터페이스 디바이스 상에서의 지리-위치결정 센서로부터 또는 또 다른 소스로부터의 방향 또는 선수방향 정보를 사용할 수 있다. 예를 들어, 사용자는 방위 정보를 변경하기 위해 손목을 좌측 및 우측으로 움직일 수 있으며, 거리를 변경하기 위해 손목을 위아래로 움직일 수 있다.
자리 (1102) 로부터의 선수방향 및 거리에 의해 지도상에서 포인트를 조작한 후, 프리미티브 제스처가, 아마도 또 다른 프리미티브 제스처에 기초하여, 상기 포인트에서 오브젝트를 선택하고 선택된 오브젝트에 대하여 동작을 수행하기 위해 사용될 수 있다. 예를 들어, 들어올리기는 선택된 오브젝트에 대하여 동작을 개시하기 위해 사용될 수 있다.
또 다른 예로서, 손가락 스와이프에 응답하여, 반응 디바이스는 초기 선수방향 및 거리를 고려해볼 때, 스와이프의 시작 시 초기 자리 (1104), 및 스와이프의 종료 시 종료 자리 (1106) 에 기초하여 호를 정의할 수 있다. 또 다른 프리미티브 제스처에 응답하여, 반응 디바이스는 포인트들 (1102, 1104, 및 1106) 에 의해 정의된 면적에서 하나 이상의 오브젝트들의 선택을 허용할 수 있다.
상기 주어진 예들에서, 몇몇 애플리케이션들에서 다수의 사용자 인터페이스 디바이스들이 있을 수 있다. 몇몇 구현들에서, 다수의 사용자 디바이스들은 생체전위 센서 및 위치 센서와 같은, 사용자 인터페이스 디바이스의 상이한 부분들을 하우징하며, 동일한 신체 부분 상에 착용될 수 있다. 몇몇 구현들에서, 다수의 사용자 인터페이스 디바이스들은 상이한 신체 부분들 상에 착용된다. 예를 들어, 제 1 사용자 인터페이스 디바이스는 우측 팔의 손목의 최상부에 착용될 수 있으며 제 2 사용자 인터페이스 디바이스는 좌측 팔의 손목의 최상부에 착용될 수 있다. 다수의 사용자 인터페이스 디바이스들이 사용될 때, 그것들은 일반적으로 동일한, 예컨대 동일한 형태 인자, 센서들, 및 피드백 디바이스들을 가질 수 있지만, 또한 상이할 수 있다. 예를 들어, 손목의 최상부에 착용된 사용자 인터페이스 디바이스는 발목에 착용된 사용자 인터페이스 디바이스와 상이하게 구성될 수 있다. 다수의 사용자 인터페이스들을 사용하는 구현들에서, 애플리케이션의 선택 또는 애플리케이션에 의해 수행될 동작의 선택, 또는 둘 모두는 또한 어떤 사용자 디바이스가 생체전위 신호들 또는 위치 신호들에 기초하여 데이터를 제공하고 있는지에 기초할 수 있다.
이제 사용자 인터페이스 디바이스에 의해 제공된 입력들을 통해 반응 디바이스와 사람의 상호작용의 여러 예들을 설명하였지만, 프리미티브 제스처들의 검출 및 신호 프로세싱의 예시적인 구현들에 대한 추가 세부사항들이 이제 제공될 것이다.
다양한 프리미티브 제스처들이 검출될 수 있게 하기 위해, 센서들로부터의 조건부 신호들이 프리미티브 제스처들에 대응하는 이들 신호들에서 패턴들을 검출하기 위해 추가로 프로세싱된다. 몇몇 구현들에서, 생체전위 센서로부터 수신된 신호들은 시간 순간에 발생한, 생체전위 신호들의 일 부분을 상기 시간 순간에 발생된 손의 자세를 나타내는 데이터로 분류하도록 프로세싱될 수 있다. 위치 센서들로부터 수신된 신호들은 시간 순간에서의 위치 신호들의 일 부분을 상기 시간 순간에서 손목의 최상부의 위치를 나타내는 데이터로 분류하도록 프로세싱될 수 있다. 몇몇 구현들에서, 생체전위 센서 및 위치 센서 둘 모두로부터의 신호들은 시간 순간들에서 손의 자세들 및 손목의 최상부의 위치들을 나타내는 데이터를 획득하기 위해 함께 프로세싱된다. 손의 자세들 및 손목의 위치들에 대한 데이터는 프리미티브 제스처들의 검출을 허용하도록 프로세싱될 수 있다. 몇몇 구현들에서, 특징들은 생체전위 신호들 및 위치 신호들로부터 추출되며, 이들 특징들은 프리미티브 제스처들을 나타내는 데이터로 직접 프로세싱될 수 있다.
센서로부터의 신호는 각각의 샘플에 대한 진폭 및 샘플링 레이트를 가진 디지털 샘플들의 시퀀스의 형태에 있을 수 있다. 신호에 대해 다양한 신호 프로세싱 동작들을 수행하기 위해, 시스템은 샘플들의 "윈도우들"의 시퀀스를 정의한다. 샘플들의 윈도우는 a. 신호에서의 시간 순간, 및 b. 일정 시간 기간 또는 상기 시간 순간 주위의 샘플들의 수에 의해 특정될 수 있다. 각각이 윈도우에 대해, 특징들은 디지털 신호 프로세싱 기법들을 사용하여 산출된다. 임의의 주어진 윈도우, 또는 윈도우들의 모음은 프리미티브 제스처를 나타내거나 또는 프리미티브 제스처를 나타내지 않는 것으로 라벨링될 수 있다.
예로 든, 예시적인 구현으로서, 윈도우는 200 밀리초일 수 있으며, 인접한 윈도우들은 50퍼센트 (50%) 만큼 중첩하여 마지막 100 밀리초의 제 1 윈도우를 형성하는 샘플이 또한 윈도우들의 시퀀스에서 제 1 윈도우에 바로 이어 첫 100 밀리초의 제 2 윈도우를 형성한 샘플들임을 의미한다. 상이한 윈도우 구조들은 신호들의 실시간 프로세싱 및 분류를 위해 사용되는 것보다는 데이터 수집 및 라벨링을 위해 사용될 수 있다. 예를 들어, 실-시간 분류를 위해, 중첩이 없는 200 밀리초의 슬라이딩 윈도우가 사용될 수 있다. 윈도우의 크기 및 인접한 윈도우들의 중첩 모두는 특정한 사용자 인터페이스 설계 및 애플리케이션을 위해 조정될 수 있다.
조건부 센서 신호의 샘플들의 윈도우들을 고려해볼 때, 각각의 윈도우는 특징들을 추출하도록 프로세싱되며, 결과적으로 손목의 위치 또는 모션, 또는 손의 자세, 또는 다른 특성화와 같은, 센서 신호들로부터 추출되도록 요구된 정보의 종류들에 관련된 상이한 패턴들을 정의하고 이를 구별하기 위해 사용된다.
특징 추출 또는 제스처 검출을 수행하는 반응 디바이스 내에서의 프로세싱 모듈은 사용자 인터페이스 디바이스로부터 샘플링된 센서 데이터를 수신하기 위해 디바이스 인터페이스를 구현할 수 있으며, 특징들 또는 다른 데이터를 반응 디바이스 내에서의 다른 애플리케이션들로 제공하기 위해 애플리케이션 인터페이스를 구현한다. 특징들은 각각의 윈도우에 대해, 윈도우와 연관된 특징들을 나타내는 데이터의 스트림으로서 출력될 수 있다.
신호들로부터 도출될 수 있는 특징들은, 예를 들어, 신호의 시간 도메인 표현을 프로세싱하는 것으로부터 획득된 특징들, 및 신호의 주파수 도메인 표현을 프로세싱하는 것으로부터 획득된 특징들을 포함한다. 신호의 시간 도메인 표현으로부터 획득될 수 있는 특징들은 이에 제한되지 않지만, 허진스 (Hudgin's) 시간 도메인 특징들을 포함한다.
각각의 윈도우에 대해 계산될 수 있는 예시적인 특징들은 표 1 내지 표 5에 나열된다. 나열된 특징들 모두가 요구되는 것은 아니며, 또한 사용될 수 있는 나열되지 않은 몇몇 특징들이 있을 수 있다.
단일 채널에 대한 기본 특징 세트
평균 절대 값
제로 교차들의 수
기울기 부호 변화들의 수
파형 길이
윌리슨 (Willison) 진폭
단일 채널에 대한 확장된 특징 세트 (표 1에 더하여 )
제곱 평균 제곱근
분산
로그 검출기
근전성 펄스 레이트 (Myoelectric pulse rate)
평균 제곱 근
에너지
샘플 엔트로피
평균 주파수
최대 주파수
중앙 주파수 (median frequency)
진폭들의 분산
수정된 평균 주파수
수정된 중앙 주파수
제 1 스펙트럼 모멘트
주파수 비
평균 절대 값 기울기
제 1 자동회귀 계수
두 개의 채널들을 비교하는 것으로부터 도출된 예시적인 특징들:
에너지 비
에너지 차
IMU 채널들로부터 추출된 특징들:
자이로스코프 값의 평균
가속도계 값의 평균
자이로스코프 값의 표준 편차
가속도계 값의 표준 편차
모든 자이로스코프 채널들로부터 또는 모든 가속도계 채널들로부터의 신호들을 수반한 특징 조합들:
평균 속도
최대 속도
최소 속도
평균 가속도
최대 가속도
최소 가속도
충분한 데이터를 갖고, 신호 그 자체는 그 자신의 특징들을 학습할 심층 학습 모델들로 공급될 수 있다.
모델 트레이닝
패턴들을 검출하기 위해 신호들을 프로세싱하기 위한 하나의 기법은 파라미터들이 알려진 패턴들에 대응하는 신호들에 기초하여 트레이닝되는 파라미터화된 모델을 사용하는 것이다. 이러한 신호들은 "라벨링"되며, 이것은 신호가 포함하는 것으로 알려진 패턴을 나타내는 신호와 연관된 데이터가 있음을 의미한다. 컴퓨터 시스템은 "트레이닝"으로 불리우는 프로세스를 통해 모델을 생성하기 위해 라벨링된 데이터를 프로세싱한다. 결과적인 모델은, 센서로부터의 실-시간 신호에서, 특정한 패턴이 센서로부터의 실-시간 신호에서 발생하였는지를 검출할 수 있다.
이러한 모델들을 트레이닝하는 것이 가진 도전들 중 하나는 트레이닝 세트로 불리우는, 상당한 양의 라벨링된 데이터를 획득하는 것이다. 트레이닝 세트는 이상적으로 정 (positively) 및 부 (negatively) 라벨링 샘플들을 포함한다. 정 라벨링 샘플은 신호의 알려진 특성화를 나타내는 것으로 라벨링되는 샘플이다. 부 라벨링 샘플은 신호의 알려진 특성화를 포함하지 않는 것으로 알려진 샘플이다. 트레이닝 세트에 이러한 부 라벨링 샘플들을 갖는 것은 사람의 매일 활동으로부터 의도적인 활동을 보다 양호하게 구별할 수 있는 모델이 트레이닝되도록 허용한다.
트레이닝 세트에 대한 정-라벨링 샘플들을 획득하기 위한 여러 방식들이 있다. 일 구현에서, 복수의 사용자 인터페이스 디바이스들이 컴퓨터로부터 신호들을 수신하기 우해 구비될 수 있다. 이들 신호들에 응답하여, 사용자 인터페이스 디바이스는 특정된 동작을 수행하기 위해 사용자 인터페이스 디바이스를 착용한 사람에 대한 프롬프트를 생성한다. 사용자는 그 후 특정된 동작을 수행한다. 사용자 인터페이스 디바이스는 센서 신호들을 컴퓨터로 전송하며, 이것은 특정된 동작에 따라 신호를 라벨링한다.
더 구체적으로, 수신된 신호에서 샘플들의 각각의 윈도우는 선택된 모션에 따라 라벨링된다. 여러 윈도우들을 포함한 샘플들의 세트를 고려해볼 때, 윈도우는 손의 자세 또는 손목 위치 또는 프리미티브 자세 또는 이들의 임의의 조합에 대응하거나, 또는 대응하지 않는 것으로 라벨링된다. 샘플들의 세트 및 라벨을 고려해볼 때, 윈도우 라벨링 구성요소는 온셋을 식별한다. 온셋을 가진 윈도우 이전에 발생한 샘플들의 윈도우들은 라벨링되지 않는다. 검출된 온셋 이전에 라벨링되지 않은 윈도우들에서의 샘플들의 세트는 트레이닝의 목적을 위해 폐기될 수 있다.
트레이닝 데이터를 모으는 또 다른 예시적인 방법은 실제 손 및 손가락 자리를 검출할 수 있는 터치스크린 또는 다른 디바이스를 가진 컴퓨팅 디바이스에서 실행하는 애플리케이션을 사용하는 것이다.
모델 트레이닝은 통상적으로 센서들의 특정 버전 및 이들 센서들로부터의 신호들에 대해 수행된 신호 프로세싱에 특정적이다. 동일한 구성 (즉, 동일한 센서들, 센서 구성, 하위 레벨 신호 프로세싱, 및 특징 추출 하드웨어) 의 디바이스들을 가진 다수의 사용자들은 상기 구성에 대한 모델을 트레이닝하기 위해 데이터를 제공할 수 있다. 그러나, 그것들의 대응하는 특징들을 포함한 데이터의 다수의 라벨링된 윈도우들 및 선택적으로 이들 윈도우들에 대응하는 부가적인 센서 데이터를 고려해볼 때, 종래의 트레이닝 알고리즘들은 프로세싱되는 특정 종류들의 신호들을 수용하도록 적응되어 온 모델들에 적용될 수 있다.
트레이닝은 단일 사용자로부터의 라벨링 데이터를 사용하여 단일 사용자에 대한 트레이닝 모델을 생성하기 위해, 또는 다수의 사용자들로부터의 라벨링 데이터를 사용하여 다수의 사용자들에 대한 트레이닝 모델을 생성하기 위해 수행될 수 있다. 단일 사용자에 대한 모델의 트레이닝은 상기 단일 사용자의 사용자 인터페이스 디바이스로 액세스 가능한 컴퓨팅 디바이스 상에서 수행될 수 있다. 다수의 사용자들에 대해, 라벨링 데이터는 컴퓨터 네트워크를 통해 각각의 사용자의 라벨링 데이터의 소스에 연결된 서버 컴퓨터로 전달되며 그것을 갖고 저장될 수 있다.
모델을 트레이닝하고 테스트한 후, 트레이닝 모델이 배치될 수 있다. 사용자의 디바이스는, 반응 디바이스이든 또는 사용자 인터페이스 디바이스이든, 서버 컴퓨터로부터 또는 모델을 트레이닝한 컴퓨팅 디바이스로부터 트레이닝 모델을 다운로드한다.
몇몇 특징들은 분류에 대한 영향을 갖는 것으로 이러한 모델들을 트레이닝하는 것에서 나올 수 있다. 예를 들어, 제 1 센서의 제 1 채널 및 제 2 채널 간의 에너지 비는 엄지 및 검지 확장을 분리하는 것에 대해 매우 예측적임을 발견하여 왔다. 몇몇 경우들에서, 이러한 비는 또는 손목 확장, 새끼손가락 확장 등과 같은 다른 "거짓 양성들"을 걸러내기 위해 사용될 수 있다. 한편으로 센서 구성과 신호 품질 간의 의존성, 및 에너지 비에 대한 엄지손가락 및 검지손가락 확장 사이에서와 같은, 특정한 자세들, 위치들, 프리미티브 자세들, 또는 이들의 조합들을 구별하기 위한 능력이 있다.
이제 여러 예시적인 구현들을 설명하였지만, 도 12는 반응 디바이스 또는 이러한 반응 디바이스들과 관련하여 사용된 다른 컴퓨터 시스템들을 구현하기 위해 사용될 수 있는 범용 컴퓨팅 디바이스의 예를 예시한다. 이것은 컴퓨터의 단지 하나의 예이며 이러한 컴퓨터의 사용 또는 기능의 범위에 대한 임의의 제한을 제안하도록 의도되지 않는다. 상기 설명된 시스템은 도 12에 도시된 바와 같이 하나 이상의 이러한 컴퓨터들 상에서 실행된 하나 이상의 컴퓨터 프로그램들에서 구현될 수 있다.
도 12는 프로세싱 시스템을 사용하여 컴퓨터 프로그램 코드를 프로세싱하는 범용 컴퓨터의 블록도이다. 범용 컴퓨터상에서의 컴퓨터 프로그램들은 통상적으로 운영 시스템 및 애플리케이션들을 포함한다. 운영 시스템은 애플리케이션들 및 운영 시스템에 의해 컴퓨터의 다양한 리소스들로의 액세스를 관리하는 컴퓨터상에서 실행하는 컴퓨터 프로그램이다. 다양한 리소스들은 통상적으로 메모리, 저장장치, 통신 인터페이스들, 입력 디바이스들 및 출력 디바이스들을 포함한다.
이러한 범용 컴퓨터들의 예들은, 이에 제한되지 않지만, 서버 컴퓨터들, 데이터베이스 컴퓨터들, 데스크탑 컴퓨터들, 랩탑 및 노트북 컴퓨터들과 같은 더 큰 컴퓨터 시스템들, 뿐만 아니라 태블릿 컴퓨터, 핸드헬드 컴퓨터, 스마트폰, 미디어 플레이어, 개인용 데이터 보조기, 오디오 또는 비디오 레코더, 또는 착용 가능한 컴퓨팅 디바이스와 같은, 이동 또는 핸드헬드 컴퓨팅 디바이스들을 포함한다.
도 12를 참조하면, 예시적인 컴퓨터 (1200) 는 적어도 하나의 프로세싱 유닛 (1202) 및 메모리 (1204) 를 포함한 프로세싱 시스템을 포함한다. 컴퓨터는 다수의 프로세싱 유닛들 (1202) 및 메모리 (1204) 를 구현한 다수의 디바이스들을 가질 수 있다. 프로세싱 유닛 (1202) 은 서로 독립적으로 동작하는 하나 이상의 프로세싱 코어들 (도시되지 않음) 을 포함할 수 있다. 그래픽스 프로세싱 유닛 (1220) 과 같은, 부가적인 코-프로세싱 유닛들이 또한 컴퓨터에 존재할 수 있다. 메모리 (1204) 는 휘발성 디바이스들 (동적 랜덤 액세스 메모리 (DRAM) 또는 다른 랜덤 액세스 메모리 디바이스와 같은), 및 비-휘발성 디바이스들 (판독-전용 메모리, 플래시 메모리 등과 같은) 또는 둘의 몇몇 조합을 포함하며, 선택적으로 프로세싱 디바이스에서 이용 가능한 임의의 메모리를 포함할 수 있다. 전용 메모리 또는 레지스터와 같은 다른 메모리가 또한 프로세싱 유닛에 존재할 수 있다. 이러한 메모리의 구성은 도 12에서 파선 (1204) 으로 예시된다. 컴퓨터 (1200) 는 이에 제한되지 않지만, 자기적으로-기록된 또는 광학적으로-기록된 디스크들 또는 테이프를 포함한 부가적인 저장장치 (착탈 가능하거나 또는 착탈 가능하지 않은) 를 포함할 수 있다. 이러한 부가적인 저장장치는 도 12에서 착탈 가능한 저장장치 (1208) 및 착탈 가능하지 않은 저장장치 (1210) 로 예시된다. 도 12에서의 다양한 구성요소들은 통상적으로 하나 이상의 버스들 (1230) 과 같은, 상호연결 메커니즘에 의해 상호연결된다.
컴퓨터 저장 매체는 데이터가 컴퓨터에 의해 어드레싱 가능한 물리적 저장 위치들에 저장되고 그로부터 검색될 수 있는 임의의 매체이다. 컴퓨터 저장 미디어는 휘발성 및 비휘발성 메모리 디바이스들, 및 착탈 가능 및 착탈 가능하지 않은 저장 디바이스들을 포함한다. 메모리 (1204), 착탈 가능한 저장장치 (208) 및 착탈 가능하지 않은 저장장치 (1210) 는 모두 컴퓨터 저장 미디어의 예들이다. 컴퓨터 저장 미디어의 몇몇 예들은 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다목적 디스크들 (DVD) 또는 다른 광학적으로 또는 자기-광학적으로 기록된 저장 디바이스, 자기 카세트들, 자기 테이프, 자기 디스크 저장장치 또는 다른 자기 저장 디바이스들이다. 컴퓨터 저장 미디어 및 통신 미디어는 미디어의 상호 배타적 카테고리들이다.
컴퓨터 (1200) 는 또한 컴퓨터가 통신 매체를 통해 다른 디바이스들과 통신하도록 허용하는 통신 연결(들)(1212) 을 포함할 수 있다. 통신 미디어는 통상적으로 반송파 또는 물질을 통한 다른 수송 메커니즘과 같은 변조된 데이터 신호를 전파함으로써 유선 또는 무선 물질을 통해 컴퓨터 프로그램 코드, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터를 송신한다. 용어 "변조된 데이터 신호"는 그것의 특성 세트 중 하나 이상을 갖거나 또는 신호에서 정보를 인코딩하도록 하는 방식으로 변경되고, 그에 의해 신호의 수신 디바이스의 구성 또는 상태를 변경하는 신호를 의미한다. 제한으로서가 아닌 예로서, 통신 미디어는 유선 네트워크 또는 직접-유선 연결과 같은 유선 미디어를 포함하며, 무선 미디어는 음향, 전자기, 전기, 광학, 적외선, 라디오 주파수 및 다른 신호들과 같은, 신호들의 전파를 허용하는 임의의 유선이 아닌 통신 미디어를 포함한다. 통신 연결들 (1212) 은 통신 미디어를 통해 데이터를 송신하고 그것을 통해 전파된 신호들로부터 데이터를 수신하기 위해 무선 미디어와 인터페이스하는, 네트워크 인터페이스 또는 라디오 송신기와 같은, 디바이스들이다.
통신 연결들은 셀룰러 전화 네트워크들을 통한 전화 통신들을 위한 하나 이상의 라디오 송신기들, 또는 컴퓨터 네트워크로의 무선 연결을 위한 무선 통신 인터페이스를 포함할 수 있다. 예를 들어, 셀룰러 연결, Wi-Fi 연결, 블루투스 연결, 및 다른 연결들이 컴퓨터에 존재할 수 있다. 이러한 연결들은 이를테면, 음성 또는 데이터 통신들을 지원하기 위해, 다른 디바이스들과의 통신을 지원한다.
컴퓨터 (1200) 는 마우스, 태블릿 및 펜, 터치패드 및 다른 터치-기반 입력 디바이스들, 스타일러스와 같은 다양한 포인터 (단일 포인터인지 또는 다중-포인터인지에 관계없이) 디바이스들, 스틸 및 모션 카메라들과 같은 이미지 입력 디바이스들, 마이크로폰과 같은 오디오 입력 디바이스들과 같은 다양한 입력 디바이스(들)(1214) 을 가질 수 있다. 컴퓨터는 디스플레이, 스피커들, 프린터들 등과 같은 다양한 출력 디바이스(들)(1216) 를 가질 수 있으며, 또한 포함될 수 있다. 이들 디바이스들은 이 기술분야에 잘 알려져 있으며 여기에서 길게 논의될 필요가 없다.
다양한 저장장치 (1210), 통신 연결들 (1212), 출력 디바이스들 (1216) 및 입력 디바이스들 (1214) 은 컴퓨터의 하우징 내에 통합될 수 있거나, 또는 컴퓨터상에서의 다양한 입력/출력 인터페이스 디바이스들을 통해 연결될 수 있고, 그 경우에 참조 숫자들 (1210, 1212, 1214 및 1216) 은 경우에 따라 디바이스 또는 디바이스 자체로의 연결을 위한 인터페이스를 나타낼 수 있다.
컴퓨터의 운영 시스템은 흔히 구동기들로 불리우는, 컴퓨터 프로그램들을 포함하며, 이것은 다양한 저장장치 (1210), 통신 연결들 (1212), 출력 디바이스들 (1216) 및 입력 디바이스들 (1214) 로의 액세스를 관리한다. 이러한 액세스는 이들 디바이스들로부터의 입력들 및 그것으로의 출력들을 관리하는 것을 포함할 수 있다. 통신 연결들의 경우에, 운영 시스템은 또한 통신 연결들 (1212) 을 통해 컴퓨터들과 디바이스들 간에 정보를 전달하기 위해 사용된 통신 프로토콜들을 구현하기 위한 하나 이상의 컴퓨터 프로그램들을 포함할 수 있다.
컴퓨터 시스템의 및 하나 이상의 컴퓨터들 상에서 동작하는 각각의 구성요소 (또한 "모듈" 또는 "엔진" 등으로 불리울 수 있는) 는 하나 이상의 컴퓨터들의 프로세싱 시스템(들)에 의해 프로세싱된 컴퓨터 프로그램 코드로서 구현될 수 있다. 컴퓨터 프로그램 코드는 지시들이 컴퓨터의 프로세싱 시스템에 의해 프로세싱되는, 프로그램 모듈들과 같은, 컴퓨터-실행 가능한 지시들 또는 컴퓨터-해석된 지시들을 포함한다. 이러한 지시들은 프로세싱 시스템에 의해 프로세싱될 때, 데이터에 대한 동작들을 수행하도록 프로세싱 시스템에 지시하거나 또는 컴퓨터 저장장치에서 다양한 구성요소들 또는 데이터 구조들을 구현하도록 프로세서 또는 컴퓨터를 구성하는 루틴들, 프로그램들, 오브젝트들, 컴퓨터들, 데이터 구조들 등을 정의한다. 데이터 구조는 컴퓨터 프로그램에 정의되며 메모리 디바이스 또는 저장 디바이스에서와 같은, 컴퓨터 저장장치에서 데이터가 어떻게 조직되는지를 특정하고, 따라서 데이터는 컴퓨터의 프로세싱 시스템에 의해 액세스되고, 조작되며 저장될 수 있다.
첨부된 청구항들에서 정의된 주제는 반드시 상기 설명된 특정 구현들에 제한되는 것은 아니라는 것이 이해되어야 한다. 상기 설명된 특정 구현들은 단지 예들로서 개시된다.

Claims (30)

  1. 사람에 의해 착용되도록 구조화되며 상기 사람에 의해 의도된 방향을 나타내는 정보를 센싱하도록 구성된 센서;
    프로세서, 및
    저장장치로서, 상기 프로세서에 의해:
    상기 센서에 의해 센싱된 정보에 기초하여 상기 방향을 결정하며,
    상기 방향 및 상기 사람에 대한 위치에 기초하여, 지리적 위치를 결정하도록 실행 가능한 지시들을 위한, 상기 저장장치를 포함하는, 장치.
  2. 제 1 항에 있어서,
    상기 센서는:
    상기 사람에 의해 착용되도록 구조화되며 상기 사람에게 나타나며 신체 부분 또는 상기 신체 부분 가까이에 있는 외지 (appendage) 를 제어하는 근육들과 연관된 생체전위들을 센싱하도록 구성된 생체전위 센서; 및
    상기 사람에 의해 착용되도록 구조화되며 상기 사람에 대한 위치를 센싱하도록 구성된 위치 센서를 포함하는, 장치.
  3. 제 2 항에 있어서,
    상기 저장장치의 지시들은 상기 프로세서에 의해:
    상기 생체전위 센서에 의해 센싱된 상기 생체전위들에 기초하여 그리고 상기 위치 센서에 의해 센싱된 상기 사람에 대한 상기 위치에 기초하여, 상기 사람에 의해 표현된 의도를 나타내는 프리미티브 제스처 (primitive gesture) 를 검출하며,
    상기 프리미티브 제스처에 응답하여, 상기 지리적 위치를 결정하도록 실행 가능한, 장치.
  4. 제 1 항에 있어서,
    상기 센서는 눈 추적 디바이스를 포함하는, 장치.
  5. 제 1 항에 있어서,
    상기 센서는 상기 사람에 의해 착용되도록 구조화되며 상기 사람에 대한 위치를 센싱하도록 구성된 위치 센서를 포함하는, 장치.
  6. 제 1 항에 있어서,
    상기 센서는 지자기 센서 (geomagnetic sensor) 를 포함하는, 장치.
  7. 제 1 항에 있어서,
    상기 센서는 고도계를 포함하는, 장치.
  8. 제 1 항에 있어서,
    상기 센서는 자리 (position) 에서의 변화를 나타내는 정보를 제공하는 인코더를 포함하는, 장치.
  9. 제 3 항에 있어서,
    상기 생체전위 센서는 손목의 최상부 상에서 생체전위 신호들을 센싱하도록 구성되는, 장치.
  10. 제 9 항에 있어서,
    상기 외지는 상기 손목에 연결된 손의 하나 이상의 손가락들을 포함하는, 장치.
  11. 제 10 항에 있어서,
    상기 프리미티브 제스처는 상기 외지의 자세를 포함하는, 장치.
  12. 제 11 항에 있어서,
    상기 외지의 자세는 상기 손의 자세를 포함하는, 장치.
  13. 제 12 항에 있어서,
    상기 손의 자세는 하나 이상의 손가락들의 자세를 포함하는, 장치.
  14. 제 12 항에 있어서,
    상기 손의 자세는 하나 이상의 손가락들의 움직임을 포함하는, 장치.
  15. 제 12 항에 있어서,
    상기 손의 자세는 단일 손가락의 자세를 포함하는, 장치.
  16. 제 12 항에 있어서,
    상기 손의 자세는 단일 손가락의 움직임을 포함하는, 장치.
  17. 제 16 항에 있어서,
    상기 단일 손가락은 엄지손가락인, 장치.
  18. 제 16 항에 있어서,
    상기 단일 손가락은 검지손가락인, 장치.
  19. 제 12 항에 있어서,
    상기 손의 자세는 상기 손목에 대한 손의 자리를 포함하는, 장치.
  20. 제 3 항에 있어서,
    상기 프리미티브 제스처는 손가락 스와이프를 포함하는, 장치.
  21. 제 3 항에 있어서,
    상기 프리미티브 제스처는 손가락 들어올리기를 포함하는, 장치.
  22. 제 3 항에 있어서,
    상기 프리미티브 제스처는 손가락 유지를 포함하는, 장치.
  23. 제 2 항에 있어서,
    상기 사람에 대한 위치는 선수방향을 나타내는 데이터를 포함하는, 장치.
  24. 제 1 항에 있어서,
    상기 프로세서는 또한 상기 결정된 지리적 위치에 기초하여 동작을 수행하는, 장치.
  25. 제 24 항에 있어서,
    상기 동작은 상기 지리적 위치에 기초하여 오브젝트를 선택하는 것을 포함하는, 장치.
  26. 제 25 항에 있어서,
    상기 선택된 오브젝트는 3-차원 장면의 오브젝트를 포함하는, 장치.
  27. 제 26 항에 있어서,
    상기 3-차원 장면은 컴퓨터-생성 3-차원 장면을 포함하는, 장치.
  28. 제 26 항에 있어서,
    상기 3-차원 장면은 실세계 (real-world) 장면을 포함하는, 장치.
  29. 제 2 항에 있어서,
    상기 위치 센서는 가속도계를 포함하며, 상기 가속도계에 의해 생성된 위치 신호들은 상기 사람에 대한 위치의 가속도의 방향 및 크기를 나타내는 신호를 포함하는, 장치.
  30. 제 2 항에 있어서,
    상기 위치 센서는 자이로스코프를 포함하며, 상기 자이로스코프에 의해 생성된 위치 신호들은 상기 사람에 대한 위치의 배향 및 각 속도를 나타내는 신호를 포함하는, 장치.
KR1020227029109A 2020-01-28 2021-01-22 생체전위들 및 벡터들을 사용한 제스처 제어 시스템 KR20220124810A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/774,825 US20210232224A1 (en) 2020-01-28 2020-01-28 Human-machine interface
US16/774,825 2020-01-28
US16/890,507 2020-06-02
US16/890,507 US11157086B2 (en) 2020-01-28 2020-06-02 Determining a geographical location based on human gestures
PCT/US2021/014723 WO2021154612A1 (en) 2020-01-28 2021-01-22 Determining a geographical location based on human gestures

Publications (1)

Publication Number Publication Date
KR20220124810A true KR20220124810A (ko) 2022-09-14

Family

ID=74672411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227029109A KR20220124810A (ko) 2020-01-28 2021-01-22 생체전위들 및 벡터들을 사용한 제스처 제어 시스템

Country Status (5)

Country Link
US (6) US11157086B2 (ko)
EP (1) EP4097572A1 (ko)
KR (1) KR20220124810A (ko)
CN (1) CN115335796A (ko)
WO (1) WO2021154612A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3675063A1 (en) * 2018-12-29 2020-07-01 Dassault Systèmes Forming a dataset for inference of solid cad features
EP3675062A1 (en) 2018-12-29 2020-07-01 Dassault Systèmes Learning a neural network for inference of solid cad features
US11199908B2 (en) * 2020-01-28 2021-12-14 Pison Technology, Inc. Wrist-worn device-based inputs for an operating system
US11157086B2 (en) * 2020-01-28 2021-10-26 Pison Technology, Inc. Determining a geographical location based on human gestures
WO2023034631A1 (en) * 2021-09-03 2023-03-09 Meta Platforms Technologies, Llc Systems for interpreting a digit-to-digit gesture by a user differently based on roll values of a wrist- wearable device worn by the user, and methods of use thereof
US20230076068A1 (en) * 2021-09-03 2023-03-09 Meta Platforms Technologies, Llc Systems for interpreting a digit-to-digit gesture by a user differently based on roll values of a wrist-wearable device worn by the user, and methods of use thereof
US11829531B2 (en) * 2021-09-13 2023-11-28 Htc Corporation Human-computer interaction method and system and non-transitory computer readable storage medium

Family Cites Families (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817628A (en) 1985-10-18 1989-04-04 David L. Zealear System and method for evaluating neurological function controlling muscular movements
US4751505A (en) 1986-06-23 1988-06-14 Xerox Corporation Optical mouse
US5463388A (en) 1993-01-29 1995-10-31 At&T Ipm Corp. Computer mouse or keyboard input device utilizing capacitive sensors
US5963195A (en) 1996-12-19 1999-10-05 International Business Machines Corporation Hardware-selectable mouse movement
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6587093B1 (en) 1999-11-04 2003-07-01 Synaptics Incorporated Capacitive mouse
US7148879B2 (en) * 2000-07-06 2006-12-12 At&T Corp. Bioacoustic control system, method and apparatus
KR100598078B1 (ko) 2001-01-05 2006-07-10 삼성전자주식회사 무선 통신기기 및 이를 적용한 무선 통신시스템 및 그통신방법
TW554282B (en) 2001-03-15 2003-09-21 Curtis Whitcomb Ergonomic computer mouse
US6850224B2 (en) 2001-08-27 2005-02-01 Carba Fire Technologies, Inc. Wearable ergonomic computer mouse
US6879316B2 (en) 2001-12-11 2005-04-12 Logitech Europe, S.A. Pointing device with pressure sensitive resistor
US20070100666A1 (en) 2002-08-22 2007-05-03 Stivoric John M Devices and systems for contextual and physiological-based detection, monitoring, reporting, entertainment, and control of other devices
DE60215504T2 (de) 2002-10-07 2007-09-06 Sony France S.A. Verfahren und Gerät zur Analyse von Gesten eines Menschen, z.B. zur Steuerung einer Maschine durch Gestik
US7365736B2 (en) 2004-03-23 2008-04-29 Fujitsu Limited Customizable gesture mappings for motion controlled handheld devices
US7908083B2 (en) 2006-02-08 2011-03-15 Leupold & Stevens, Inc. System and method for recording a note with location information derived from rangefinding and/or observer position
US8269721B2 (en) 2007-05-08 2012-09-18 Ming-Yen Lin Three-dimensional mouse apparatus
US9317110B2 (en) 2007-05-29 2016-04-19 Cfph, Llc Game with hand motion control
JP2009015449A (ja) 2007-07-02 2009-01-22 Sony Corp 生体情報共有システム、生体情報表現装置、生体情報表現方法
AT506236B1 (de) 2008-01-09 2011-01-15 Nanoident Technologies Ag Biometrische sicherungsvorrichtung
US8447704B2 (en) 2008-06-26 2013-05-21 Microsoft Corporation Recognizing gestures from forearm EMG signals
US8170656B2 (en) 2008-06-26 2012-05-01 Microsoft Corporation Wearable electromyography-based controllers for human-computer interface
US8803963B2 (en) 2008-09-22 2014-08-12 Kranthi Kiran Pulluru Vein pattern recognition based biometric system and methods thereof
JP2010211756A (ja) 2009-03-12 2010-09-24 Seiko Epson Corp 生体情報取得装置、生体情報取得方法及び生体認証装置
US8717291B2 (en) 2009-10-07 2014-05-06 AFA Micro Co. Motion sensitive gesture device
US20110166777A1 (en) * 2010-01-07 2011-07-07 Anand Kumar Chavakula Navigation Application
US8457353B2 (en) 2010-05-18 2013-06-04 Microsoft Corporation Gestures and gesture modifiers for manipulating a user-interface
US8228315B1 (en) * 2011-07-12 2012-07-24 Google Inc. Methods and systems for a virtual input device
JP2015504616A (ja) * 2011-09-26 2015-02-12 マイクロソフト コーポレーション 透過近眼式ディスプレイのセンサ入力に基づく映像表示修正
US9827420B2 (en) 2013-03-29 2017-11-28 Neurometrix, Inc. Transcutaneous electrical nerve stimulator with user gesture detector and electrode-skin contact detector, with transient motion detector for increasing the accuracy of the same
US9600169B2 (en) 2012-02-27 2017-03-21 Yahoo! Inc. Customizable gestures for mobile devices
US20130232148A1 (en) * 2012-03-01 2013-09-05 Microsoft Corporation Content mapping
US20140007008A1 (en) 2012-06-11 2014-01-02 Jim S. Baca Techniques for select-hold-release electronic device navigation menu system
US9042596B2 (en) 2012-06-14 2015-05-26 Medibotics Llc Willpower watch (TM)—a wearable food consumption monitor
US9891718B2 (en) 2015-04-22 2018-02-13 Medibotics Llc Devices for measuring finger motion and recognizing hand gestures
EP2698686B1 (en) 2012-07-27 2018-10-10 LG Electronics Inc. Wrist-wearable terminal and control method thereof
US20140049417A1 (en) 2012-08-20 2014-02-20 Playtabase, LLC Wireless motion activated command transfer device, system, and method
KR102065687B1 (ko) 2012-11-01 2020-02-11 아이캠, 엘엘씨 무선 손목 컴퓨팅과 3d 영상화, 매핑, 네트워킹 및 인터페이스를 위한 제어 장치 및 방법
JP5998861B2 (ja) * 2012-11-08 2016-09-28 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
WO2014085605A2 (en) * 2012-11-28 2014-06-05 Intrepid Networks, Llc Integrated systems and methods providing situational awareness of operations in an organization
EP2741176A3 (en) 2012-12-10 2017-03-08 Samsung Electronics Co., Ltd Mobile device of bangle type, control method thereof, and UI display method
US9092664B2 (en) 2013-01-14 2015-07-28 Qualcomm Incorporated Use of EMG for subtle gesture recognition on surfaces
US20140198034A1 (en) 2013-01-14 2014-07-17 Thalmic Labs Inc. Muscle interface device and method for interacting with content displayed on wearable head mounted displays
US9304587B2 (en) 2013-02-13 2016-04-05 Apple Inc. Force sensing mouse
KR102330889B1 (ko) 2013-02-22 2021-11-26 페이스북 테크놀로지스, 엘엘씨 제스처-기반 제어를 위해 근활성도 센서 신호와 관성 센서 신호를 결합하는 방법 및 기기
US9214043B2 (en) 2013-03-04 2015-12-15 Here Global B.V. Gesture based map annotation
US20140282275A1 (en) 2013-03-15 2014-09-18 Qualcomm Incorporated Detection of a zooming gesture
JPWO2014147713A1 (ja) 2013-03-18 2017-02-16 株式会社東芝 電子機器および認証制御方法
KR101999958B1 (ko) 2013-05-22 2019-07-15 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
US9645652B2 (en) 2013-05-28 2017-05-09 The Boeing Company Ubiquitous natural user system for human-machine interaction
US9429432B2 (en) 2013-06-06 2016-08-30 Duke University Systems and methods for defining a geographic position of an object or event based on a geographic position of a computing device and a user gesture
US20190265802A1 (en) * 2013-06-20 2019-08-29 Uday Parshionikar Gesture based user interfaces, apparatuses and control systems
US10558272B2 (en) 2013-06-20 2020-02-11 Uday Parshionikar Gesture control via eye tracking, head tracking, facial expressions and other user actions
US20150062086A1 (en) * 2013-08-29 2015-03-05 Rohildev Nattukallingal Method and system of a wearable ring device for management of another computing device
KR20150026649A (ko) 2013-09-03 2015-03-11 삼성전자주식회사 전자 장치에서 제스처를 설정하는 장치 및 방법
US9226330B2 (en) 2013-09-10 2015-12-29 Playtabase, LLC Wireless motion activated user device with bi-modality communication
US9907469B2 (en) 2013-12-12 2018-03-06 Google Llc Combining information from multiple formats
KR102135586B1 (ko) 2014-01-24 2020-07-20 엘지전자 주식회사 이동 단말기 및 이의 제어방법
WO2015116724A1 (en) 2014-01-28 2015-08-06 Invuity, Inc. Drop in surgical illuminator
WO2015121100A1 (en) * 2014-02-12 2015-08-20 Koninklijke Philips N.V. Movement detection apparatus for detecting a hand movement
WO2015126182A1 (ko) 2014-02-21 2015-08-27 삼성전자 주식회사 콘텐츠를 표시하는 방법 및 이를 위한 전자 장치
WO2015126095A1 (ko) 2014-02-21 2015-08-27 삼성전자 주식회사 전자 장치
EP3111303A4 (en) 2014-02-28 2017-08-23 Vikas Gupta Gesture operated wrist mounted camera system
US10199008B2 (en) 2014-03-27 2019-02-05 North Inc. Systems, devices, and methods for wearable electronic devices as state machines
KR101575051B1 (ko) 2014-06-13 2015-12-21 엘지전자 주식회사 웨어러블 디바이스 및 그 제어방법
TW201613327A (en) 2014-04-28 2016-04-01 Neptune Comp Inc Systems, apparatus, and methods relating to a wearable electronic hub for personal computing
US20150323998A1 (en) * 2014-05-06 2015-11-12 Qualcomm Incorporated Enhanced user interface for a wearable electronic device
KR20150144668A (ko) 2014-06-17 2015-12-28 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US9880632B2 (en) 2014-06-19 2018-01-30 Thalmic Labs Inc. Systems, devices, and methods for gesture identification
KR101647734B1 (ko) * 2014-07-22 2016-08-23 엘지전자 주식회사 이동 단말기 및 그 제어방법
US9965030B2 (en) * 2014-07-31 2018-05-08 Samsung Electronics Co., Ltd. Wearable glasses and method of displaying image via the wearable glasses
JP6447917B2 (ja) * 2014-08-06 2019-01-09 パナソニックIpマネジメント株式会社 手首装着型の入力装置
KR101570430B1 (ko) 2014-08-11 2015-11-20 엘지전자 주식회사 웨어러블 디바이스 및 그것의 동작 방법
WO2016039587A1 (en) 2014-09-11 2016-03-17 Samsung Electronics Co., Ltd. Wearable device
US20170316675A1 (en) 2014-09-23 2017-11-02 Sparq, LLC Universal personal emergency information notification and reporting system and method
US10488936B2 (en) 2014-09-30 2019-11-26 Apple Inc. Motion and gesture input from a wearable device
US9791919B2 (en) * 2014-10-19 2017-10-17 Philip Lyren Electronic device displays an image of an obstructed target
KR20170139684A (ko) 2014-12-05 2017-12-19 주식회사 퓨처플레이 사용자 인터페이스를 제공하기 위한 방법, 디바이스, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
US9720515B2 (en) 2015-01-02 2017-08-01 Wearable Devices Ltd. Method and apparatus for a gesture controlled interface for wearable devices
US9612661B2 (en) 2015-01-02 2017-04-04 Wearable Devices Ltd. Closed loop feedback interface for wearable devices
US10362944B2 (en) 2015-01-19 2019-07-30 Samsung Electronics Company, Ltd. Optical detection and analysis of internal body tissues
US11347316B2 (en) 2015-01-28 2022-05-31 Medtronic, Inc. Systems and methods for mitigating gesture input error
US9769594B2 (en) 2015-01-30 2017-09-19 Cassia Networks Inc. Methods, devices and systems for increasing wireless communication range
US20160307447A1 (en) * 2015-02-13 2016-10-20 Unmanned Innovation, Inc. Unmanned aerial vehicle remote flight planning system
RU2693905C2 (ru) * 2015-03-13 2019-07-05 Телефонактиеболагет Лм Эрикссон (Пабл) Устройство для ручной операции и соответствующий способ
KR20160149911A (ko) 2015-06-19 2016-12-28 삼성전자주식회사 생체 정보 측정 방법 및 이를 수행하는 전자 장치
US9804679B2 (en) 2015-07-03 2017-10-31 Google Inc. Touchless user interface navigation using gestures
KR101721967B1 (ko) 2015-07-27 2017-03-31 현대자동차주식회사 입력장치, 이를 포함하는 차량 및 입력장치의 제어방법
KR102426633B1 (ko) 2015-07-27 2022-07-29 삼성전자주식회사 운영체제 관리 방법 및 이를 지원하는 전자 장치
TWI565323B (zh) * 2015-09-02 2017-01-01 原相科技股份有限公司 分辨前景的成像裝置及其運作方法、以及影像感測器
KR102389038B1 (ko) * 2015-09-02 2022-04-21 엘지전자 주식회사 전자 기기 및 전자 기기의 제어 방법
US10348355B2 (en) 2015-09-16 2019-07-09 Intel Corporation Techniques for gesture recognition using photoplethysmographic (PPMG) sensor and low-power wearable gesture recognition device using the same
JP6144743B2 (ja) 2015-09-30 2017-06-07 京セラ株式会社 ウェアラブル装置
US9854529B2 (en) * 2015-12-03 2017-12-26 Google Llc Power sensitive wireless communication radio management
US10289206B2 (en) * 2015-12-18 2019-05-14 Intel Corporation Free-form drawing and health applications
US10599324B2 (en) 2015-12-31 2020-03-24 Microsoft Technology Licensing, Llc Hand gesture API using finite state machine and gesture language discrete values
US20170216675A1 (en) 2016-02-03 2017-08-03 Disney Enterprises, Inc. Fitness-based game mechanics
US20170215768A1 (en) 2016-02-03 2017-08-03 Flicktek Ltd. Wearable controller for wrist
US10061273B2 (en) 2016-04-26 2018-08-28 Samsung Electronics Co., Ltd. Intelligent security hub for providing smart alerts
KR20170138667A (ko) * 2016-06-08 2017-12-18 삼성전자주식회사 어플리케이션을 활성화하는 방법 및 이를 제공하는 전자 장치
US10114384B2 (en) * 2016-09-13 2018-10-30 Arrowonics Technologies Ltd. Formation flight path coordination of unmanned aerial vehicles
US11094205B2 (en) * 2016-09-30 2021-08-17 Skydio, Inc. Fleet management of unmanned aerial vehicles and flight authorization system
CN107438804B (zh) * 2016-10-19 2019-07-12 深圳市大疆创新科技有限公司 一种用于控制无人机的穿戴式设备及无人机系统
KR20180046762A (ko) 2016-10-28 2018-05-09 삼성전자주식회사 생체 센서를 포함하는 전자 장치
US20180329209A1 (en) * 2016-11-24 2018-11-15 Rohildev Nattukallingal Methods and systems of smart eyeglasses
KR102302640B1 (ko) 2016-12-02 2021-09-15 피손 테크놀로지, 인크. 신체 조직 전기 신호의 검출 및 사용
GB201706412D0 (en) * 2017-04-22 2017-06-07 Hubschmann Michal Systems methods and computer readable media of stereoscopic display configured for searching and booking rooms
US10806375B2 (en) * 2017-05-03 2020-10-20 The Florida International University Board Of Trustees Wearable device and methods of using the same
DE112018005499T5 (de) * 2017-09-29 2020-07-09 Apple Inc. Venenscanvorrichtung zur automatischen Gesten- und Fingererkennung
TW201928604A (zh) * 2017-12-22 2019-07-16 美商蝴蝶網路公司 用於基於超音波資料來識別姿勢的方法和設備
US10802598B2 (en) 2018-08-05 2020-10-13 Pison Technology, Inc. User interface control of responsive devices
US11099647B2 (en) 2018-08-05 2021-08-24 Pison Technology, Inc. User interface control of responsive devices
US11269428B2 (en) * 2018-09-09 2022-03-08 Microsoft Technology Licensing, Llc Changing a mode of operation of a computing device by a pen device
US11119573B2 (en) * 2018-09-28 2021-09-14 Apple Inc. Pupil modulation as a cognitive control signal
US11093041B2 (en) * 2018-11-30 2021-08-17 International Business Machines Corporation Computer system gesture-based graphical user interface control
US20210149483A1 (en) * 2019-11-18 2021-05-20 Bose Corporation Selective image capture based on multi-modal sensor input
US11157086B2 (en) * 2020-01-28 2021-10-26 Pison Technology, Inc. Determining a geographical location based on human gestures

Also Published As

Publication number Publication date
US11449150B2 (en) 2022-09-20
US20220221940A1 (en) 2022-07-14
US20210232226A1 (en) 2021-07-29
US20210349542A1 (en) 2021-11-11
US11157086B2 (en) 2021-10-26
US20230008108A1 (en) 2023-01-12
CN115335796A (zh) 2022-11-11
WO2021154612A1 (en) 2021-08-05
US20210294428A1 (en) 2021-09-23
US20240004480A1 (en) 2024-01-04
US11762473B2 (en) 2023-09-19
US11567581B2 (en) 2023-01-31
EP4097572A1 (en) 2022-12-07
US11262851B2 (en) 2022-03-01

Similar Documents

Publication Publication Date Title
US11762473B2 (en) Gesture control systems with logical states
US11409371B2 (en) Systems and methods for gesture-based control
US11150730B1 (en) Devices, systems, and methods for controlling computing devices via neuromuscular signals of users
JP7190434B2 (ja) 外部条件に基づくウェアラブルディスプレイデバイスの自動制御
CN112739254A (zh) 增强现实系统的神经肌肉控制
US11907423B2 (en) Systems and methods for contextualized interactions with an environment
WO2021154606A1 (en) Human-machine interface using biopotential sensor and location sensor
US10860104B2 (en) Augmented reality controllers and related methods
US20200269421A1 (en) Information processing device, information processing method, and program
WO2021073743A1 (en) Determining user input based on hand gestures and eye tracking
CN110554773A (zh) 用于产生定向声音和触觉感觉的触觉装置
JP2022169548A (ja) 情報処理装置、情報処理方法、およびプログラム
WO2020116233A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US20230195401A1 (en) Information processing apparatus and information processing method
WO2018074054A1 (ja) 表示制御装置、表示制御方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal