KR20150105308A - 제스처 제어기 및 복수 클라이언트 디바이스, 디스플레이, 및 사용자를 갖춘 작동 환경 - Google Patents

제스처 제어기 및 복수 클라이언트 디바이스, 디스플레이, 및 사용자를 갖춘 작동 환경 Download PDF

Info

Publication number
KR20150105308A
KR20150105308A KR1020157015783A KR20157015783A KR20150105308A KR 20150105308 A KR20150105308 A KR 20150105308A KR 1020157015783 A KR1020157015783 A KR 1020157015783A KR 20157015783 A KR20157015783 A KR 20157015783A KR 20150105308 A KR20150105308 A KR 20150105308A
Authority
KR
South Korea
Prior art keywords
protein
data
gesture
user
hand
Prior art date
Application number
KR1020157015783A
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 US13/759,472 external-priority patent/US9495228B2/en
Priority claimed from US13/850,837 external-priority patent/US9804902B2/en
Priority claimed from US13/888,174 external-priority patent/US8890813B2/en
Priority claimed from US13/909,980 external-priority patent/US20140035805A1/en
Priority claimed from US14/048,747 external-priority patent/US9952673B2/en
Application filed by 오블롱 인더스트리즈, 인크 filed Critical 오블롱 인더스트리즈, 인크
Publication of KR20150105308A publication Critical patent/KR20150105308A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0325Detection arrangements using opto-electronic means using a plurality of light emitters or reflectors or a plurality of detectors forming a reference frame from which to derive the orientation of the object, e.g. by triangulation or on the basis of reference deformation in the picked up image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Signal Processing (AREA)

Abstract

여기서 설명되는 실시예는 디스플레이 장치, 센서, 원격 클라이언트 장치, 및 컴퓨터 애플리케이션에 연결되는 프로세서를 포함하는 시스템을 포함한다. 상기 컴퓨터 애플리케이션은 디스플레이 장치와 원격 크라링언트 장치 간에 동시에 원격 크랄이언트 장치의 콘텐트를 조정하고, 디스플레이 장치의 동시적 제어를 가능하게 한다. 동시적 제어는 센서를 통해 수신되는 제스처 데이터로부터 적어도 하나의 물체의 제스처를 자동적으로 검출하는 단계를 포함한다. 검출은 제스처 데이터만을 이용한 상기 제스처의 식별을 포함한다. 상기 컴퓨터 애플리케이션은 제스처를 제스처 신호로 변환하고, 제스처 신호에 응답하여 디스플레이 장치를 제어한다.

Description

제스처 제어기 및 복수 클라이언트 디바이스, 디스플레이, 및 사용자를 갖춘 작동 환경 {OPERATING ENVIRONMENT WITH GESTURAL CONTROL AND MULTIPLE CLIENT DEVICES. DISPLAYS, AND USERS}
관련 출원
본 출원은 2012년 11월 12일 출원된 미국특허출원 61/725,449호에 기초한 우선권을 주장한다.
본 출원은 2012년 12월 31일 출원된 미국특허출원 61/747,940호에 기초한 우선권을 주장한다.
본 출원은 2013년 3월 15일 출원된 미국특허출원 61/787,792호에 기초한 우선권을 주장한다.
본 출원은 2013년 3월 14일 출원된 미국특허출원 61/785,053호에 기초한 우선권을 주장한다.
본 출원은 2013년 3월 15일 출원된 미국특허출원 61/787,650호에 기초한 우선권을 주장한다.
본 출원은 미국특허출원 12/572,689, 12/572,698, 13/850,837, 12/417,252, 12/487,623, 12/553,845, 12/553,902, 12/553,929, 12/557,464, 12/579,340, 13/759,472, 12/579,372, 12/773,605, 12/773,667, 12/789,129, 12/789,262, 12/789,302, 13/430,509, 13/430,626, 13/532,527, 13/532,605, 13/532,628, 13/888,174, 13/909,980, 14/048,747, 및 14/064,736호의 연속 분할 출원이다.
기술분야
여기서 설명되는 실시예는 프로세싱 시스템에 관한 것이고, 특히, 공간 작동 환경에서 제스처 제어에 관한 것이다.
기존 협업-공간 해법은 구형 구조의 입력 및 출력을 반영하며, 이는 개별 이용의 특전을 주고, 저대역폭 가정을 반영한다. 더욱이, 사용자가 일을 마침에 따라, 그 디지털 툴은 호환불가능하다. 디바이스 및 "솔루션" 인력은 종종 함께 일할 수 없는 회의 또는 프레젠테이션에 오게 된다. 사용자가 협업을 위해 만나는 물리적 공간은 새로운 기술을 반영하기 위해 발전하여야 하고, 그리고, 중요하게도, 사용자 및 비즈니스 수요를 반영하기 위해 발전하여야 한다.
먼저, 화소가 풍부하다. 디스플레이의 가격은 낮고 품질은 높다. 회사 및 조직 레버리지는 디스플레이 해상도, 네트워크 용량, 및 연산 시스템 증가에 영향을 미쳐서, 회의실 및 커맨드 월 세팅(command cell setting)에서 혼합 매체를 제시할 수 있다. 사용자 목표는 강렬한 화소-사비(pixel-savvy) 프레젠테이션, 토론 및 분석이다. 두번째로서, 데이터가 풍부하다. 데이터의 저장, 액세스, 및 조작을 위한 연산 디바이스 및 시스템은 저렴하면서도 높은 품질을 가진다.
컴퓨팅의 폼 팩터는 역시 다양하고, 그 실시예 - 데스크탑, 랩탑, 이동 전화, 태블릿, 네트워크 솔루션 - 들은 계속하여 증식하고 있을 뿐이다. 이러한 디바이스 및 솔루션들은 다양한 방식으로 데이터를 취급한다. 로우-레벨 데이터의 캡처로부터, 적절한 하이-레벨 이벤트로의 프로세싱, 사용자에 의한 조작, 및 네트워크간 교환의 스펙트럼에 걸쳐, 컴퓨터는, 데이터 포맷 및 타이핑, 운영 체제, 및 애플리케이션에서 서로 다른 접근법을 구현한다. 이들은 상호운용성을 방해하는 많은 시련들 중 일부일 뿐이다.
인용에 의한 편입
본 명세서에서 언급되는 각각의 특허, 특허출원, 및/또는 공보는 각각의 개별 특허, 특허출원, 및/또는 공보가 인용에 의해 편입되도록 구체적으로 그리고 개별적으로 표시된 것과 동일한 정도로 그 전체가 인용에 의해 여기에 포함된다.
도 1A는 일 실시예 하에서, 손 추적 및 형상 인지 구성요소 또는 애플리케이션을 호스팅하는 프로세서, 디스플레이, 및 센서를 포함하는 SOE 키오스크의 블록도다.
도 1B는 일 실시예 하에서, SOE 키오스크와 조작자 간의 관계를 보여준다.
도 1C는 일 실시예 하에서, 메자닌(Mezzanine)의 설치를 보여준다.
도 1D는 일 실시예 하에서, 메자닌의 예시적인 논리도를 보여준다.
도 1E는 일 실시예 하에서, 메자닌의 예시적 랙(rack) 도를 보여준다.
도 1F는 일 실시예 하에서, 메즈(Mezz)의 도시어 포털(dossier portal)의 블록도다.
도 1G는 일 실시예 하에서, 메즈의 트립틱(triptych)(풀스크린)의 블록도다.
도 1H는 일 실시예 하에서, 메즈의 트립틱(푸시백)의 블록도다.
도 1I는 일 실시예 하에서, 메즈의 애셋 빈 및 라이브 빈의 블록도다.
도 1J는 일 실시예 하에서, 메즈의 윈드쉴드의 블록도다.
도 1K는 일 실시예 하에서, 메즈의 푸시백 제어를 보여주는 블록도다.
도 1L은 일 실시예 하에서, 메즈의 입력 모드 제어를 보여주는 도면이다.
도 1M은 일 실시예 하에서, 메즈의 물체 이동 제어를 보여주는 도면이다.
도 1N은 일 실시예 하에서, 메즈의 물체 스케일링을 보여주는 도면이다.
도 1O는 일 실시예 하에서, 버튼 릴리스시, 메즈의 물체 스케일링을 보여주는 도면이다.
도 1P는 일 실시예 하에서, 연결 전 메즈의 리치스루(reachthrough)를 보여주는 블록도다.
도 1Q는 일 실시예 하에서, 연결 후 메즈의 리치스루를 보여주는 블록도다.
도 1R은 일 실시예 하에서, 리치스루 포인터를 이용한 메즈의 리치스루를 보여주는 도면이다.
도 1S는 일 실시예 하에서, 메즈의 스냅샷 제어를 보여주는 도면이다.
도 1T는 일 실시예 하에서, 메즈의 삭제 제어를 보여주는 도면이다.
도 2는 일 실시예 하에서, 손 또는 물체 추적 및 형상 인지를 수행하는 비전-기반 인터페이스의 작동의 순서도다.
도 3은 일 실시예 하에서, 손 또는 물체 추적 및 형상 인지를 수행하기 위한 순서도다.
도 4는 일 실시예 하에서, 손 또는 물체 추적 및 형상 인지를 수행하기 위한 순서도다.
도 5는 동일한 손 형상 카테고리에 대한 사용자간 변화를 보여주는 샘플 이미지를 도시한다.
도 6A, 6B, 6C(집합적으로 도 6)는 일 실시예 하에서, 신뢰도 값과 함께 인지 결과, 추적 히스토리, 추적 결과와 함께 의사-칼라 뎁스 이미지(pseudo-color depth image)를 보여주는 샘플 프레임을 도시한다.
도 7은 일 실시예 하에서, 인접한 원시 센서 판독치들 간에 계측 거리에 기초하여 뎁스의 함수로 추정 최소 뎁스 모호성의 플롯을 보여준다.
도 8은 일 실시예 하에서, (a) 4개의 장방형을 보여주는 세트 B와, (b) 한 쌍의 그리드 셀 간의 평균 뎁스 차이를 보여주는 세트 C에 대해 추출된 특징들을 보여준다.
도 9는 일 실시예 하에서, 4개의 특징 세트에 대해 서포트 벡터 머신(SVM) 클래스파이어와 랜덤화된 결정 포레스트(RF)에 대한 손 형상 인지 정확도의 비교 플롯이다.
도 10은 일 실시예 하에서, 랜덤화된 결정 포레스트 내 서로 다른 개수의 트리를 이용한 손 형상 인지 정확도의 비교 플롯이다.
도 11은 일 실시예 하에서, 키오스크 시스템 에서 구현되는 추적 및 검출 구성요소를 이용하여, 각 프레임에 대한 프로세싱 시간 결과(대기시간)의 히스토그램이다.
도 12는 일 실시예 하에서, SOE의 제스처 어휘의 포즈의 도면이다.
도 13은 일 실시예 하에서, SOE의 제스처 어휘의 배향의 도면이다.
도 14는 일 실시예에 따라, 공간 매핑 애플리케이션에 의해 사용되는 키오스크 시스템에서 SOE의 명령의 예이다.
도 15는 일 실시예에 따라, 미디어 브라우저 애플리케이션에서 사용되는 키오스크 시스템에서 SOE의 명령의 예이다.
도 16은 일 실시예 하에서 업로드, 포인터, 회전을 포함하여 응용 프로그램에서 사용하는 키오스크 시스템에서 SOE의 명령의 예이다.
도 17A는 또한 사용자가 자신의 손을 이동할 때 소음을 악화시키는 줌에 대한 손 변위의 지수적 매핑을 보여준다.
도 17B는 일 실시예 하에서, 대표적인 적응 필터 함수를 사용하여 (사용자쪽으로 당기는) 양의 손 변위 (X 축) 대 줌 배율 (Z) (Y 축)의 플롯을 나타낸다.
도 17C는 일 실시예 하에서, 편 손바닥이, 맵 디스플레이 상에서 일 영역을 목표로하여 온-스크린 커서를 구동시킴에 따라 줌에 대한 손 변위의 지수적 매핑을 보여준다.
도 17D는 일 실시예 하에서, 손바닥/줌 제스처의 초기화를 위해, 손을 주먹으로 손 변위의 지수 매핑이 실시예에서, 팬 / 줌 제스처를 초기화 주먹으로 쥠에 대응하는 줌에 대한 손 변위의 지수적 매핑을 보여준다.
도 17E는 일 실시예 하에서, 맵의 패닝(panning) 및 줌(동시에 발생가능) 중에 줌에 대한 손 변위의 지수적 매핑을 보여준다.
도 17F는 일 실시예 하에서, 편 손바닥이 맵 디스플레이 상의 일 영역을 목표로 하여 온-스크린 커서를 구동시킴에 따라 줌 레벨에 대한 손 변위의 지수적 매핑에 의해, 사용자가, 편안한 물리적 모션 범위로부터 더 큰 거리에 도달할 수 있음을 보여준다.
도 17G는 일 실시예 하에서, 사용자가 제스처를 시작했을 때의 위치 및 줌으로 항상 되돌아갈 수 있음을 손 변위의 직접 매핑이 보장함을 보여준다.
도 18a는 일 실시예 하에서 제 1 범위 [0 ... 1200] (전체)에 대한 shove 필터 응답이다.
도 18b는 일 실시예 하에서 제 2 범위 [0 ~ 200] (줌)에 대한 shove 필터 응답이다.
도 19a는 일 실시예 하에서 손 거리에 대한 속도를 나타내는 제 1 그래프이다.
도 19b는 일 실시예 하에서 손 거리에 대한 속도를 나타내는 제 2 플롯이다.
도 19C는 일 실시예 하에서 손 거리에 대한 속도를 나타내는 제 3 플롯이다.
도 20은 일 실시예에 따라, 제스처 제어 시스템의 블록도이다.
도 21은 일 실시예에 따라, 표시 태그(marking tags)의 도면이다.
도 22는 일 실시예에 따라, 제스처 어휘 포즈의 도면이다.
도 23은 일 실시예에 따라, 제스처 어휘 방향의 도면이다.
도 24는 일 실시예에 따라, 제스처 어휘의 양손 조합의 다이어그램이다.
도 25는 일 실시예 하에서, 제스처 어휘의 배향 블렌드의 도면이다.
도 26은 일 실시예에 따라, 시스템의 동작의 흐름도이다.
도 27a 및 27b는 본 발명의 일 실시예 하에서, 일례의 명령이다.
도 28은 일 실시예에 따라, 슬로(slawx), 프로테인, 및 풀을 이용한 데이터 표현을 포함하는 처리 환경의 블록도다.
도 29는 실시예에 따라, 프로테인의 블록도이다.
도 30은 실시예에 따라, descrip의 블록도이다.
도 31은 실시예에 따라, 인제스트의 블록도이다.
도 32는 실시예에 따라, 슬로의 블록도이다.
도 33A는 일 실시예에 따라, 풀의 프로테인의 블록도이다.
도 33BA 및 33BB는 실시예에 따라, 슬로 헤더 포맷을 보여준다.
도 33C는 실시예에 따라, 프로테인을 사용하기위한 흐름도이다.
도 33D는 일 실시예에 따라, 프로테인을 구성 또는 생성하는 흐름도이다.
도 34는 실시예에 따라, 슬로, 프로테인, 및 풀을 이용한 데이터 교환을 포함하는 처리 환경의 블럭도이다.
도 35은 일 실시예에 따라, 복수의 장치와, 이러한 장치들 중 하나 이상에서 구동되는 수많은 프로그램들을 포함하는 처리 환경의 블록도로서, 플라즈마 구성(즉, 풀, 프로테인, 슬로)을 이용하여 수많은 구동 프로그램들이 장치들에 의해 발생되는 이벤트를 공유하고 집합적으로 이벤트에 응답할 수 있음을 보여준다.
도 36은 대안의 실시예에 따라, 복수의 장치와, 이러한 장치들 중 하나 이상에서 구동되는 수많은 프로그램들을 포함하는 처리 환경의 블록도로서, 플라즈마 구성(즉, 풀, 프로테인, 슬로)을 이용하여 수많은 구동 프로그램들이 장치들에 의해 발생되는 이벤트를 공유하고 집합적으로 이벤트에 응답할 수 있음을 보여준다.
도 37는 다른 대안의 실시예에 따라, 복수의 장치와, 이러한 장치들 중 하나 이상에서 구동되는 수많은 프로그램들을 포함하는 처리 환경의 블록도로서, 플라즈마 구성(즉, 풀, 프로테인, 슬로)을 이용하여 수많은 구동 프로그램들이 장치들에 의해 발생되는 이벤트를 공유하고 집합적으로 이벤트에 응답할 수 있음을 보여준다.
도 38는 또다른 대안의 실시예에 따라, 복수의 장치와, 이러한 장치들 중 하나 이상에서 구동되는 수많은 프로그램들을 포함하는 처리 환경의 블록도로서, 플라즈마 구성(즉, 풀, 프로테인, 슬로)을 이용하여 수많은 구동 프로그램들이 장치들에 의해 발생되는 이벤트를 공유하고 집합적으로 이벤트에 응답할 수 있음을 보여준다.
도 39는 또 다른 대안의 실시예에 따라, 복수의 장치와, 이러한 장치들 중 하나 이상에서 구동되는 수많은 프로그램들을 포함하는 처리 환경의 블록도로서, 플라즈마 구성(즉, 풀, 프로테인, 슬로)을 이용하여 구동 프로그램의 스테이트풀 인스펙션, 시각화, 및 디버깅을 행할 수 있음을 보여준다.
도 40는 추가적인 대안의 실시예에 따라, 복수의 장치와, 이러한 장치들 중 하나 이상에서 구동되는 수많은 프로그램들을 포함하는 처리 환경의 블록도로서, 플라즈마 구성(즉, 풀, 프로테인, 슬로)을 이용하여 이러한 프로세스 풀에서 생성되고 배치되는 상태 정보의 특성에 영향을 미치거나 제어할 수 있음을 보여준다.
도 41은 일 실시예에 따라, 메즈 파일 시스템의 블록도이다.
도 42-85는 실시예에 따라, 기능에 의한 메즈 프로테인 통신의 순서도이다.
도 42은 실시예에 따라, 클라이언트와 심장 박동을 개시하는 메즈를 위한 메즈 프로세스의 흐름도이다.
도 43은 일 실시예 하에서, 클라이언트가 메즈를 이용하여 심장박동을 개시하기 위한 메즈 프로세스의 흐름도이다.
도 44는 실시예에 따라, 세션에 참여하도록 요청하는 클라이언트 용 메즈 프로세스의 흐름도이다.
도 45는 실시예에 따라, 세션(max) 가입을 요청하는 클라이언트의 메즈 프로세스의 흐름도이다.
도 46은 실시예에 따라, 새로운 서류를 생성하는 메즈의 메즈 프로세스의 흐름도이다.
도 47은 실시예에 따라, 새로운 서류를 요청하는 클라이언트를 위한 메즈 프로세스의 흐름도이다.
도 48은 실시예에 따라, 새로운 서류(에러 1)를 요청하는 클라이언트를 위한 메즈 프로세스의 흐름도이다.
도 49은 실시예 하에서 새로운 서류(에러 2 및 3)를 요청하는 클라이언트를 위한 메즈 프로세스의 흐름도이다.
도 50은 실시예 하에서, 서류를 여는 메즈의 메즈 프로세스의 흐름도이다.
도 51은 실시예에 따라, 서류 오픈을 요청하는 클라이언트의 메즈 프로세스의 흐름도이다.
도 52은 실시예에 따라, 서류 (1 에러) 오픈을 요청하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 53은 실시예에 따라, 서류 (에러 2) 오픈을 요청하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 54는 실시예에 따라, 서류 이름 변경(rename)을 요청하는 클라이언트를 위한 메즈 프로세스의 흐름도이다.
도 55은 실시예에 따라, 서류 (에러 1)의 이름 변경을 요청하는 클라이언트 용 메즈 프로세스의 흐름도이다.
도 56은 실시예에 따라, 서류 (에러 2)의 이름 변경을 요청하는 클라이언트 용 메즈 프로세스의 흐름도이다.
도 57은 실시예에 따라, 서류를 복제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 58는 실시예에 따라, 서류를 복제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 59은 실시예에 따라, 서류(에러 1)를 복제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 60은 실시예에 따라, 서류(에러 2 및 3)를 복제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 61은 실시예에 따라, 서류를 삭제하는 메즈용 메즈 프로세스의 흐름도이다.
도 62는 실시예에 따라, 서류를 삭제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 63은 실시예에 따라, 서류(에러)를 삭제하는 클라이언트 용 메즈 프로세스의 흐름도이다.
도 64은 실시예에 따라, 서류를 닫는 메즈용 메즈 프로세스의 흐름도이다.
도 65는 실시예에 따라, 서류를 닫는 클라이언트용 메즈 프로세스의 흐름도이다.
도 66은 실시예에 따라, 새로운 슬라이드용 메즈 프로세스의 흐름도이다.
도 67은 실시예에 따라, 슬라이드 삭제용 메즈 프로세스의 흐름도이다.
도 68은 실시예에 따라, 슬라이드 재정렬용 메즈 프로세스의 흐름도이다.
도 69은 실시예에 따라, 새로운 윈드실드 품목용 메즈 프로세스의 흐름도이다.
도 70은 실시예에 따라, 윈드실드 품목을 삭제하기 위한 메즈 프로세스의 흐름도이다.
도 71은 실시예 하에서, 윈드실드 품목을 리사이징/이동/풀-펠드하기 위한 메즈 프로세스의 흐름도이다.
도 72은 실시예에 따라, 슬라이드 스크롤링 및 푸시백용 메즈 프로세스의 흐름도이다.
도 73은 실시예에 따라, 데크를 스크롤링하는 웹 클라이언트용 메즈 프로세스의 흐름도이다.
도 74은 실시예에 따라, 웹 클라이언트 푸시백을 위한 메즈 프로세스의 흐름도이다.
도 75은 실시예에 따라, 웹 클라이언트 패스-포워드 래칫(pass-forward ratchet)용 메즈 프로세스의 흐름도이다.
도 76은 실시예에 따라, 새로운 자산(픽셀 그랩(pixel grab))용 메즈 프로세스의 흐름도이다.
도 77은 일 실시예 하에서, 자산/슬라이드의 클라이언트 업로드용 메즈 프로세스의 흐름도다.
도 78은 일 실시예 하에서, 자산/슬라이드의 직접적 클라이언트 업로드를 위한 메즈 프로세스의 흐름도다.
도 79은 실시예에 따라, 자산 (S) / 슬라이드 (들) (타임 아웃 발생)의 웹 클라이언트 업로드 메즈 프로세스의 흐름도이다.
도 80은 실시예에 따라, 자산의 웹 클라이언트 다운로드 메즈 프로세스의 흐름도이다.
도 81은 실시예에 따라, 모든 자산의 웹 클라이언트 다운로드 메즈 프로세스의 흐름도이다.
도 82은 실시예에 따라, 모든 슬라이드의 웹 클라이언트 다운로드 메즈 프로세스의 흐름도이다.
도 83은 실시예에 따라, 웹 클라이언트의 자산 삭제용 메즈 프로세스의 흐름도이다.
도 84은 실시예에 따라, 웹 클라이언트의 모든 자산 삭제용 메즈 프로세스의 흐름도이다.
도 85은 실시예에 따라, 모든 슬라이드 삭제 웹 클라이언트 메즈 프로세스의 흐름도이다.
도 86-115는 일 실시예 하에서, 메즈 프로테인의 프로테인 사양이다.
도 86은 일 실시예 하에서 일례의 메즈 프로테인 사양 (가입)이다.
도 87은 일 실시예 하에서 메즈 프로테인 사양 (상태 요청)이다.
도 88은 일 실시예 하에서 메즈 프로테인 사양 (새로운 서류 작성)이다.
도 89은 일 실시예 하에서 메즈 프로테인 사양 (서류 불러오기)이다.
도 90은 본 발명의 실시예에 따라 예를 들어 메즈 프로테인 사양 (서류의 이름을 변경)이다.
도 91은 일 실시예 하에서 메즈 프로테인 사양 (서류 삭제)된다.
도 92은 일 실시예 하에서 메즈 프로테인 사양 (서류 닫기)이다.
도 93은 일 실시예 하에서 메즈 프로테인 사양 (이미지 업로드)이다.
도 94은 일 실시예 하에서 메즈 프로테인 사양 (새로운 서류)이다.
도 95은 일 실시예 하에서 메즈 프로테인 사양 (불러온 서류)이다.
도 96은 본 발명의 실시예에 따라 메즈 프로테인 사양 (명칭변경된 서류)이다.
도 97은 일 실시예 하에서 메즈 프로테인 사양 (삭제된 서류)이다.
도 98은 일 실시예 하에서 메즈 프로테인 사양 (닫힌 서류)이다.
도 99은 실시예에 따라, 예 메즈 프로테인 사양 (변경된 데크 상태)된다.
도 100은 실시예 하에서 메즈 프로테인 사양 (새 자산)이다.
도 101는 일 실시예에 따라, (프로테인에 합류가능한) 메즈 프로테인 사양이다.
도 102는 일 실시예에 따라 메즈 프로테인 사양 (프로테인에 합류불가능)이다.
도 103은 실시예 하에서 메즈 프로테인 사양 (전체 상태 응답 (포털))이다.
도 104는 일 실시예 하에서, 메즈 프로테인 사양(풀 상태 응답(서류))이다.
도 105는 일 실시예 하에서, 메즈 프로테인 사양 (새 서류 생성(에러))이다.
도 106은 본 발명의 실시예에 따라 또 다른 예 메즈 프로테인 사양 (새 서류 생성(에러))이다.
도 107은 본 발명의 실시예에 따라 예를 들어 메즈 프로테인 사양 (오픈 서류 (에러))이다.
도 108은 일 실시예에 따라 예를 들어 메즈 프로테인 사양 (서류 이름 변경(에러))이다.
도 109은 실시예 하에서 메즈 프로테인 사양 (서류 삭제(에러))이다.
도 110은 실시예 하에서 다른 메즈 프로테인 사양 (서류 삭제(에러))이다.
도 111은 실시예 하에서 메즈 프로테인 사양 (이미지 준비(에러))이다.
도 112은 실시예 하에서 메즈 프로테인 사양 (이미지 업로드(성공))이다.
도 113은 본 발명의 실시예에 따라 예를 들어 메즈 프로테인 사양 (이미지 업로드(에러))이다.
도 114은 본 발명의 실시예에 따라 예를 들어 메즈 프로테인 사양 (이미지 업로드(부분 성공))이다.
도 115은 실시예 하에서 메즈 프로테인 사양 (준비 이미지)이다.
본 명세서에 기재된 실시예는 넓은 범위의 손 형상을 자동적으로 인지하는, 그리고, 폭넓은 범위의 사용자 간에 제스처를 추적 및 인지함에 있어 고도의 정확도를 유지하는, 제스처 인터페이스를 제공한다. 실시예는 센서로부터 수신 된 데이터를 이용하여 실시간 손 검출 및 추적을 제공한다. 여기서 설명되는 손 추적 및 형상 인식 제스처 인터페이스는 공간 작동 환경(SOE) 키오스크를 실현시키거나 그 구성 요소이며("SOE 키오스크" 또는 "키오스크"라고도 함), 공간적 작동영 환경 (SOE)과, 그 제스처 인터페이스가, 신뢰가능한 마커리스(markerless) 손 추적 시스템 내에서 동작한다. 마커리스(markerless) 제스처 인식과 SOE의 결합은 SOE 응용 프로그램의 설계, 실행 및 범위의 발전과, 손 형상의 추적 및 분류에서의 신규성을 포함하는 기능을 제공한다.
본 명세서에 기재된 실시예들은 디스플레이 장치, 센서, 원격 클라이언트 장치("에지 장치"라고도 함), 및 컴퓨터 애플리케이션에 결합 된 프로세서를 포함하는 시스템을 포함한다. 컴퓨터 애플리케이션은 디스플레이 장치 및 원격 클라이언트 장치들 중 적어도 하나에 걸쳐 동시에 원격 클라이언트 장치의 콘텐츠를 조정하고, 디스플레이 장치들을 동시에 제어할 수 있다. 동시 제어는 자동으로 센서를 통해 수신 된 제스처 데이터로부터 적어도 하나의 물체의 제스처를 검출하는 단계를 포함한다. 제스처 데이터는 시간과 공간의 지점에서 적어도 하나의 물체의 순간 상태의 절대 3차원 위치의 데이터이다. 이러한 검출은, 제스처 데이터를 집합화하는 단계와, 제스처 데이터만을 이용하여 제스처를 식별하는 단계를 포함한다. 컴퓨터 애플리케이션은 제스처를 제스처 신호를 번역하고, 제스처 신호에 응답하여 원격 클라이언트 장치 및 디스플레이 장치들들 중 적어도 하나를 제어한다.
참조 된 관련 출원은 본 발명의 일부 실시예들에서 마커리스 제스처 인식을 제공하는 제스처 기반 제어를 위한 시스템 및 방법에 대한 설명을 포함하고, 다른 실시예들이 특정 표식의 장갑의 형태로 사용자의 손을 식별한다. SOE 키오스크 시스템은 마커리스 세팅을 제공하여, 제스처가 장값없는, 무-표식 시스템에서 추적 및 검출되어, 한 예로서, 특이한 손가락 검출 및 대기시간을 제공한다. SOE는 적어도 제스처 입력 / 출력, 네트워크 기반 데이터 표현, 전송 및 교환, 그리고 공간적으로 일치 된 디스플레이 메쉬를 포함한다. 범위 내에서, SOE는 완전한 애플리케이션 및 개발 플랫폼인 것처럼 운영 체제를 닮았다. 그러나, 기존의 컴퓨팅 시스템을 넘어 확장된 디자인과 기능의 시각 재연을 가정한다.
농축, 기능은, 손 포즈, 제스처, 및 모션을 추적 및 해석하는 시스템과 사용자가 상호 작용하도록, 인터페이스 제스처를 포함한다.
본원의 설명 및 본원에 참고로 인용되어있는 모든 관련 출원에서 상세히 설명한 바와 같이, SOE는 이러한 인터페이스 및 상호작용을 실현시키는 실제 기하구조를 재연한다. 예를 들어, SOE는 시스템의 시각, 청각, 촉각 및 표시 "실제" 구역 내에 존재하도록 현실 공간과 가상 공간을 정렬시키는 공간적 일치된 디스플레이 메시를 사용한다. 그 기능이 전체 면적은 3차원 기하구조의 측면에서 SOE에 의해 실현된다. 2차원 모니터 자체가 크기 및 배향을 가지기 때문에, 화소는, 모니터 상에 해상도에 추가하여, 이러한 세상에서 위치를 가진다. 이러한 기법에서는 현실 세계 좌표가 속성을 표시하게 된다. 이러한 설명적 기능은 모든 SOE 참가자를 다루고 있다. 예를 들면, 완드 및 모바일 유닛과 같은 장치가, 다수의 실현되는 입력 요소들 중 하나일 수 있다.
공간의 이러한 확실한 표기법이 SOE를 지배한다. 모든 수준에서, 이는 좌표 표기법에 대한 액세스를 제공한다. (실제 또는 가상의) 물체의 위치가 기하적으로 표현될 수 있기 때문에, (실제 또는 가상의) 물체 간의 공간적 관계가 기하적으로 표현될 수 있다. (또한, 임의의 종류의 입력 장치가 이러한 관계의 구성요소로 포함될 수 있다). 관련 출원에서 설명한 본원의 설명과 같이 사용자가 화면의 개체를 가리킬 때, SOE는 교차점 연산을 해석한다. 화면 물체는 반응하여, 사용자의 작동에 응답한다. 사용자가 인지하여 이러한 인과 관계에 응답할 때, 구 모드의 컴퓨터 상호작용을 대체한다. 사용자는 SOE 내에서 그래픽이 자신과 동일한 방 안에 있음을 이해하게 된다. 그 결과는 직접적 공간 조작이다. 이러한 동적 인터페이스에서, 입력은 과거 방법들의 제약사항을 넘어선다. SOE는 3차원 공간의 풀 볼륨을 개방하고, 다양한 입력 요소들을 수용한다.
이와 같이 재인식되고 풍부한 컴퓨팅 공간 내로, SOE는 상호운용성에 대한 새로운 접근법인 재조합형 네트워킹을 안내한다. 관련 출원 및 본원 출원의 설명에 따르면, SOE는 대규모 멀티프로세스 상호운용을 지지하는 프로그래밍 환경이다. SOE는 다수의 프로세스, 유연 데이터 "타이핑", 및 구조 사이에서 데이터의 효율적 교환을 구성하는 구조인 "플라즈마"를 포함하여, 폭넓게 변화하는 종류 및 용도의 데이터가 지원되고, 데이터 교환용 유연한 메커니즘들(가령, 로컬 메모리, 디스크, 네트워ㅋ, 등) - 모두가 실질적으로 유사한 API에 의해 구동됨 - 과, 서로 다른 프로그래밍 언어로 기록된 프로세스들 간의 데이터 교환과, 데이터 캐싱 및 집합 상태의 자동적 유지관리, 등등이 지원된다. 기술 스택 또는 운영 체제에 관계없이, SOE는 레거시 수식(legacy expressions)을 포함한, 외부 데이터 및 작동을 이용한다. 이는 아이폰과 같은 이동식 기기를 포함하는, 그러나 이에 제한되지 않는, 장치로부터 비교적 로우 레벨 품질의 공간 데이터를 통합하는 과정을 포함한다. 이러한 장치는 "에지" 유닛으로 또한 불린다.
전술 한 바와 같이, 본원에 기재된 SOE 키오스크는 자체-수용 마커리스 세팅 내에 SOE의 견고한 접근법을 제공한다. 사용자는 장갑, 마커, 또는 이러한 임의의 표식없이 "자유" 에이전트로 SOE와 결합하며, 화면, 카메라, 또는 방출기의 설치와 같은, 공간 변형을 요구하지도 않는다. 유일한 요건은, 손 형상 및 기타 입력 요소를 검출, 추적, 및 이에 응답하는 시스템에 대한 근접성이다. 여기서 세부적으로 설명되는, 마커리스 추적 시스템과 조합된 대표 센서들을 포함하는 시스템은, 기명시된 범위 내의 포즈 인식을 제공한다(가령, 11미터 내지 3미터 사이, 등). 따라서, SOE 키오스크 시스템은 휴대성 및 설비에 있어서 유연성을 제공하지만, 실시예는 이에 제한되지 않는다.
도 1A는 일 실시예 하에서, 손 추적 및 형상 인식을 이용하여 비전-기반 인터페이스를 제공하는 제스처 인터페이스 구성요소 또는 애플리케이션을 호스팅하는 프로세서와, 디스플레이 및 센서를 포함하는 SOE 키오스크의 블록도다. 도 1B는 일 실시예 하에서, SOE 키오스크와 조작자 사이의 관계를 보여준다. 일반 용어 "키오스크"는 여기서 설명되는 마커리스 추적 및 인식 프로세스를 이용하는 다양한 설정 또는 구성을 포괄한다. 서로 다른 이러한 설비는 예를 들어, 센서 및 적어도 하나의 디스플레이에 연결되는 프로세서를 포함하며, 이러한 추적 및 인식 구성요소 EH는 애플리케이션은 비전 파이프라인들을 통합하는 SOE를 제공하도록, 프로세서 상에서 구동된다. 일 실시예의 SOE 키오스크는 네트워크 기능을 포함하며, 무선과 같은 액세스를 통해 결합되는, 또는 라우터와 같은 결합 또는 연결된 장치에 의해 제공되는, 네트워크 기능을 포함한다.
일 실시예의 키오스크는 메자닌(Mezzanine) 또는 메즈(Mezz)로 또한 불린다. 메자닌은 복수 스크린, 복수 사용자, 및 복수 장치를 포함하는 작업공간이다. 도 1C는 일 실시예 하에서, 메자닌의 설비를 보여준다. 도 1D는 일 실시예 하에서, 메자닌의 예시적 논리도를 보여준다. 도 1E는 일 실시예 하에서, 메자닌의 예시적 랙 도를 보여준다.
메자닌은 제스처 입력/출력, 공간적으로 일치하는 디스플레이 메시, 및 재조합형 네트워킹을 포함하지만, 이에 제한되지 않는다. 공간 작동 환경(SOE)의 일 구성요소로서, 메자닌은 이음새없는 견고한 협업을 가능하게 한다. 설계, 실행, 및 특징에 있어서, "원격회의", "비디오회의", "화이트보딩", "협업"에 제한되지 않는 종래 기술에서의 결여사항을 취급한다. 메자닌의 기능은 멀티디스플레이 세팅의 실시간 조정, 디스플레이 환경의 동시적 제어, 랩탑 비디오 및 애플리케이션 공유, 그룹 화이트보딩, 원격 스트리밍 비디오, 및 복수 메자닌 설비 및 추가 미디어 소스의 원격 네트워크 연결성을 포함하지만, 이에 제한되지 않는다.
메자닌은 제스처 입력/출력, 공간적으로 일치하는 디스플레이 메시, 및 재조합형 네트워킹을 포함한다(그러나 이에 제한되지 않는다).
도 1C-1E를 참조하면, 협업 기술의 메즈 시스템 및 방법은 복수 스크린, 복수 사용자, 및 복수 장치 사이에 작업 공간을 포함한다. 이는 임의의 회의실 내 고화질 디스플레이를 공유 작업 공간에 재구성하고, 이와 같이, 멀티디스플레이 세팅을 실시간으로 조정할 수 있고, 디스플레이 환경의 동시적 제어, 랩탑 비디오 및 애플리케이션 공유, 그룹 화이트보딩을 실현시킬 수 있다. 복수 사용자는 다양한 장치들 상에서, 회의실의 공유 스크린 상에 이미지 및 비디오 자산을 제시 및 조작할 수 있다. 사용자는 MMID(multi-modal input devices)(관련 출원 참조), 브라우저-기반 클라이언트, 및 참가자의 고유 iOS, 및 안드로이드 장치를 통해 시스템을 한다. 랩탑이 메즈에 연결될 때, 데스크탑의 화소가 디스플레이 트립틱 상태 나타나고, 세션의 작업흐름에 따라 이동, 리스케일링, 및 통합될 수 있다. 참가자는 그 후 협업 스크린을 통해 도달하여(reachthrough), 임의의 연결된 랩탑 상에서 구동되는 애플리케이션과 직접 상호작용하게 된다. 일 실시예는 복수 메즈 시스템들 간의 협업을 또한 지원한다.
여기서 세부적으로 논의되는 바와 같이 공간 작동 환경(SOE) 위에 구축되는 메즈는, 제스처 입력/출력, 공간적으로 일치되는 메시, 및 재조합 네트워킹을 포함한다(그러나 이에 제한되지 않는다). 설계, 실행, 및 특징에 있어서, "원격회의", "비디오회의", "화이트보딩", "협업" 및 관련 영역에 제한되지 않는 종래 기술에서의 결여사항을 취급한다.
일반적으로, 사용자는 메즈에 전자 자산(가령, 이미지, 비디오, 등)을 업로드한다. 이러한 자산들은 서류로 조직되며, 이는 파일과 다르지 않다. 메즈에 작업 세션을 포함하는 서류는, 이미지 자산, 비디오 자산, 및 데크를 또한 포함할 수 있다. 데크는 슬라이드들의 정돈된 집합체이고, 슬라이드는 하나의 자산이다. 포털은 서류들의 집합체다. 자산, 슬라이드, 및 서류를 포함하는 이러한 애플리케이션 요소들을 조작하기 위해, 사용자는 생성, 불러오기, 삭제, 이동, 스케일, 리오더, 명칭변경, 복제, 다운로드, 및 비우기와 같은, 액션들에서 약정한다. 메즈는 자산 디스플레이 및 조작을 위한 컨테이너들의 구체적 유형인 구성요소들을 포함하며, 자산 용도로 화이트보드 및 코르크보드를 또한 포함한다. 사용자는 포털에 또는 서류에 위치한다. 메즈 제어는 MMID(multimodal input device), 웹-기반 클라이언트, iOS 클라이언트, 및/또는 안드로이드 클랄이언트를 통해 제공된다. 일 실시예의 메즈 기능은 트립틱(triptych), 포털, 서류, 파라무스(paramus), 호보켄(hoboken), 데크, 슬라이드, 코르크보드, 화이트보드, 완드 제어, iOS 클라이언트, 및 웹 클라이언트를 포함하지만, 이에 제한되지 않으며, 기능은 자산의 업로드, 데크를 포함하는 슬라이드의 삽입, 재배열, 및 삭제, 화이트보드 입력의 캡처, 및 리치스루를 포함하지만, 이에 제한되지 않는다.
메즈는 관련 출원에서 설명되는 "g-speak"으로 불리는 플랫폼 위에 구성된다. 그 핵심적 기능 구성요소 - 관련 출원에서 그 중 일부가 문서화됨 - 는 멀티-디바이스, 공간 입력 및 출력; 플라즈마 네트워킹 및 멀티-애플리케이션 서포트, 및 현실 세계 공간 등록을 이용하여 멀티 스크린 간에 화소를 렌더링하는 지오메트리 엔진을 포함한다. 더 구체적으로, 메자닌은 실시간으로 서로 통신하고 상호작용하는 프로세스 및 장치들의 에코시스템이다. 이러한 개별 모듈들은 여기서 설명되는 플라즈마를 이용하여 서로 통신한다. 여기서 그리고 관련 출원에서 세부적으로 설명되는 바와 같이, 플라즈마는 시간-기반 인트라-프로세스, 인터-프로세스, 또는 인터-머신 데이터 전송을 위한 프레임웍이다.
구조적 레벨에서, 메즈는 요소들을 트리틱으로 렌더링시키는, 입력 장치 및 기타 장치로부터 입력을 취급하는, 그리고, 전체 시스템 상태를 유지시키는, 그러한 책임을 가진 요보(yovo) 애플리케이션을 의미한다. 요보 애플리케이션은 클라이언트로 불리는 기타 장치로부터 수신되는 이미지를 변환하는 자산 매니저로 불리는 다른 요보 프로세스에 의해 도움받는다. 클라이언트는 메즈에 연결되는 논-요보, 논-메즈 장치로 폭넓게 규정된다. 클라이언트는 메즈 웹 애플리케이션과, iOS 또는 안드로이드 플랫폼을 지원하는, 모바일 장치들을 포함한다.
메즈의 일 실시예는 추적 시스템, 메인 디스플레이 스크린, - 일 실시예에서 "트립틱"이라 불림 - 수많은 비디오 또는 컴퓨터 소스, 네트워크 포트, 멀티모덜 입력 장치, 디지털 코르크보드, 화이트보드를 포함하지만, 이에 제한되지 않는, 구성요소들에 연결되는 하드웨어 장치를 포함한다. 추적 시스템은 공간 데이터 입력을 제공한다. 일 실시예에서, 추적 시스템은 인터센스 IS-900 추적 시스템이지만, 이에 제한되지 않는다. 다른 실시예는 IS-900의 내부 PCI 버전을 이용하지만 이에 제한되지 않는다.
하드웨어 장치의 출력 포트(가령, DVI, 등)는 메인 디스플레이 스크린/트립틱으로 하나 이상의 디스플레이(가령, 2개, 4개, 등)에 연결된다. 일례의 실시예에서, 3개의 55" 디스플레이가 차례로 인접하여 설치되며, 하나의 "트립틱"을 포함한다. 대안의 실시예는 예를 들어, 각각 1920x1280 까지의 해상도를 가진, 수평 및 수직 틸트의 디스플레이를 지원한다.
입력 포트(가령, DVI, 등)는 수많은 비디오/컴퓨터 소스(가령, 2개, 4개, 등)에 연결된다. 일 실시예에서, 1 기가비트 이더넷 네트워크 포트가 제공되어, 원격 스트리밍 비디오 소스에 연결할 수 있게 되고, 연결된 컴퓨터 상에서 구동되는 애플리케이션과 상호작용하게 된다. 수많은 공간 완드 EH는 입력 장치가 또한 지원된다.
메즈는 서로 다른 펠드(feld) 구조에 의해 특성화된다. 여기서 사용되는 용어 "펠드"(Feld)는 스크린의 아이디어를 일반화시키기 위해 사용되는, 통상적으로 평면형의 디스플레이 공간의 추상적 아이디어를 의미한다. 이는, 넓은 측면에서, 그래픽 구조 및 공간 구조가 배치될 수 있는 경계표시된 관심 영역이다. VisiFeld는 렌더링 버전이다.
예를 들어, 사용자가 더 작은 방에서 메자닌을 이용하고자 할 수 있다. 임의의 크기의 조직이 가진 모든 대형 회의실의 경우, 동일 실체가 물리적으로 풀 트릭틱 설비를 수용하지 못할 수 있는 많은 방 및 사무실을 또한 가진다. 단일-펠드 메자닌은 사용자에게 더 많은 옵션들을 부여한다. 더욱이, 이는 서로 다른 타입의 디스플레이 및 통신 인프러스트럭처에 투자하는 수고로움없이 조직을 절약한다. 이는 또한, 모든 기술이 이음새없이 협업할 수 있음을 또한 보장한다. 예를 들어, 사무실 내 단일-펠드 메자닌을 가진 간부가 더 큰 회의실 내 풀 트립틱 메자닌과의 협업에 참가할 수 있다. 혼합-기하구조 협업을 위한 지원이 이러한 사용자들의 필요에 본질적이다.
두번째 예는 가격 유연성에 관련된다. 단일-펠드 메즈는 메자닌에, 그리고 메자닌이 제공하는 특징에, 관심을 가질 수 있는 더 작은 조직에 대해 옵션을 제공한다.
세번째 예는 빅 화소 디스플레이에 관련된다. 일부 회사들은 "빅 화소 디스플레이" - 전체 벽체를 화소로 채우도록 설계된 전용 디스플레이 기술 - 의 설치에 이미 과도하게 투자했을 수 있다. 이러한 구조는 폭넓게 변화하는 해상도를 가질 수 있고, 다양한 종횡비를 가질 수 있다. 이러한 회사들은 많은 소스로부터 시각화할 다량의 데이터를 갖는 경우가 많으며, 하지만 보여주기 위한 소스 구조는 성가시고 유연성이 없다. 메즈는, 투자 이용의 최대화에 추가하여, 추가적인 유연성을 부가하고, IT 오버헤드를 감소시키며, 협업 가능성을 높인다.
메즈 지원은 트릭틱, 유닙틱, 및 폴립틱 기하구조를 포함한다. 트립틱은 표준화된 메자닌 구조로서, 설명되는 바와 같이, 그 속성은 3개의 디스플레이, 동평면 16:9 종횡비, 48:9 조합 종횡비, 55" 디스플레이 전용, 및 동일-크기 베젤 및 멀리온을 포함한다.
"유닙틱"(uniptych)은 "입틱"(iptych) 계열의 기하구조 정의와 상관성을 유지하는 단일-펠드 디스플레이를 위한 용어다. 이에 대응하여, 명세서는 수치에 관계없이, 작업공간 펠드의 경계를 너머 놓이는 공간의 영역을 호칭하기 위해 "오프-입틱"을 이용할 수 있다. 이는 단일 디스플레이, 45"와 65" 사이의 디스플레이 크기 범위, 16:9 종횡비를 포함하지만, 대안의 실시예에서, 종횡비는 가변적이다. "폴립틱"(polyptych)은 "입틱" 계열의 기하구조 정의와 상관성을 유지하는 멀티-펠드 디스플레이를 위한 용어다.
메즈는 네이티브 방식으로 구동되는 애플리케이션을 제공한다. 일 실시예는 다음과 같이 수많은 애플리케이션들을 포함한다. 웹 서버 애플리케이션은 CMC의 제어 및 구성을 위해 웹 브라우저를 통해 메즈에 사용자가 연결될 수 있게 한다. 예시적 상호작용은 출력 비디오 포트 상에 해상도 설정, 네트워크 설정의 구성, 소프트웨어 업데이트 제어, 및 파일 전송 실현을 포함한다. 이는 "웹 클라이언트"로 불릴 수 있다. iOS 및 안드로이드 애플리케이션은 시스템 제어를 위해 iOS 또는 안드로이드 플랫폼의 모바일 장치를 통해 메즈에 사용자가 연결될 수 있게 한다. 캘리브레이션 애플리케이션은 새로이 설치된 또는 기존에 설치된 시스템을 사용자가 교정할 수 있게 하는, 그리고, 시스템의 교정을 사용자가 확인할 수 있게 하는, 애플리케이션이다.
메즈는 제스처 또는 완드 제어를 이용하여 디스플레이되는 윈도, 애플리케이션, 및 위젯과 실시간으로 사용자가 상호작용할 수 있게 하는 SOE 윈도 매니저 애플리케이션을 또한 포함한다. 사용자는 윈도를 선택, 이동, 및 스케일링할 수 있고, 또는, 개별 애플리케이션과 직접 상호작용할 수 있다. 이러한 애플리케이션은 레이아웃을 저장 및 복원할 수 있도록, 레코딩 기능을 포함한다.
비디오 패스스루 애플리케이션은 국부적으로 연결된 라이브 비디오 소스의 윈도 매니저 내 윈도를 생성한다. 이러한 공급이 연결된 컴퓨터로부터 이루어질 경우, 애플리케이션은 연결된 소형 스크린 상의 입력을 제어하기 위해 완드/빅 스크린으로부터 이벤트들의 패스스루 제어를 가능하게 한다. 이는 "패스스루"(passthrough)라 불린다.
화이트보드 애플리케이션은 윈도 매니저에 화이트보드 기능을 통합한다. 이는 웹 브라우저를 통해 연결된 컴퓨터로부터 프레젠테이션 스크린 및 윈도의 웹 제어를 포함한다. "패스포워드" 또는 "패스-포워드"로 알려진 프록시 애플리케이션은 랩탑 또는 데스크탑 상에 쉽게 설치되고, DVI 및 이더넷을 퇘 장치가 메즈에 연결될 때 프록시 위젯을 통해 메즈 명령 벽체 상에서 제어되도록 해당 장치 상에서 애플리케이션을 구동시킬 수 있다.
메즈 환경은 여기서 세부적으로 설명되는 바와 같이, 다양하 s장치 간에 멀티유저 협업을 가능하게 한다. 예시적 실시예에서, 트립틱은 메즈의 심장이고, 본 예에서, 메즈 사용자 경험의 중심에서 3개의 연결된 스크린을 포함하여, 사용자가 그래픽 및 비디오 자산을 디스플레이 및 조작할 수 있다. 메즈 스크린은 트립틱 내 위치에 의해 이름지어진다(가령, 좌측, 중앙, 우측).
트립틱은 풀스크린 및 푸시백 모드의 두 모드로 사용될 수 있다. 풀스크린 모드는 "프레젠테이션" 모드로 또한 간주될 수 있고, 푸시백 모드는 "편집" 모드로 간주될 수 있다. 이러한 명칭은 그 기능을 엄격하게 정의하는 것은 아니나, 이들이 어떻게 사용될 수 있는지에 관한 범용 가이드로 작용한다. 메즈 완드를 이용하여, 모드들 간을 전환할 수 있고, 메즈 환경에서 물체를 조작할 수 있다. 메즈의 주 제어 장치는 완드이지만, 웹 브라우저 클라이언트 및 iOS장치를 통해 제어될 수도 있다. 더욱이, 이러한 장치들의 임의의 조합이 동시에 사용될 수 있다. 서류 명칭부여와 같은 일부 기능들이 웹 브라우저 클라이언트 또는 연결된 iOS 장치를 이용하여 수행된다.
일 실시예의 메즈는 코르크보드 및 화이트보드를 포함한다. 코르크보드는 메즈 트립틱 외에 추가적인 스크린이고, 추가적인 자산을 보여주는데 사용될 수 있다. 화이트보드는 화이트보드 영역에서 완드를 가리킴으로써 그리고 완드 버튼을 누름으로써 디지털 방식으로 캡처될 수 있는 영역이다. 캡처된 이미지 자산은 즉시 자산 빈에 나타난다.
완드는 일 실시예에서 메즈 환경을 제어하는 주 수단이다. 메즈는 3차원(3D) 공간에서 극도로 정확하게 완드의 위치 및 배향을 추적하여, 메즈 환경 내에서 모드 선택 및 물체의 정밀한 제어를 가능하게 한다. 메즈는 복수의 완드를 동시에 추적하며, 각각의 완드는 메즈에 의헤 제어되는 디스플레에서 목표로할 때 포인터를 투영한다. 메즈 환경에서 나타나는 각각의 포인터는 이와 상관된 칼라-코딩 도트를 가져서, 특정 작업을 수행하고 잇는 자를 메즈 세션 내 참가자가 알 수 있게 한다. 다수의 혁신적 제스처와 연결되어, 완드는 모든 메즈 기능의 수행에 사용되는 단일 버튼을 가진다.
도 1F는 일 실시예 하에서, 메즈의 서류 포털의 블록도다. 작동시, 메즈를 이용한 작업을 시작하도록 서류를 불러온다. 서류 포털은 메즈 환경 내에서 불러올 수 있는 모든 가용 서듀들의 리스트를 보여준다. 서류를 선택(가령, 클릭)하면 서류가 열리고, 선택기를 클릭 및 홀드하면 복제 및 삭제 기능이 노출된다. 메즈는 서류 포털 내에 있거나, 서류 자체 내에 있다. 각각의 서류는 편집된 최종 시간으로부터 시간 스탬프를 보여준다. 서류로부터의 섬네일은 명칭의 좌측에 나타난다. 우측 스크린은 "새 서류 생성" 버튼을 보여주고, 새로운 빈 메즈 서류를 생성하기 위해 이를 클리갛ㄴ다. 새로운 빈 서류를 클릭하여, 서류를 연다. 일 실시예의 서류 명명은 웹 클라이언트 또는 연결된 iOS 장치를 이용하여 실행되지만, 이에 제한되지 않는다. 우측 스크린은 지원되는 웹 브라우저를 이용하여 메즈 세션에 연결하는데 사용되는 웹 어드레스를 보여준다.
도 1G는 일 실시예 하에서, 메즈의 트릭틱(풀스크린)의 블록도다. 풀스크린 모드는 프레젠테이션을 하기 위해 종종 사용된다. 풀스크린 모드는 메즈 환경의 "줌 인" 뷰다. 푸시백 제스처를 이용하여 풀스크린과 푸시백 모드 사이를 토글할 수 있다. 완드를 우측 오프스크린으로 가리킴으로써 그리고 버튼을 클릭함으로써 데크를 전진시킨다. 완드를 좌측 오프스크린으로 가리킴으로써 그리고 버튼을 클릭함으로써 데크를 후퇴시킨다. 슬라이드 데크 내 슬라이드들은 이들을 좌측 또는 우측으로 드래그함으로써 재정렬될 수 있다. 슬라이드가 다른 슬라이드 위치를 거의 덮도록 드래그되면, 디스플레이된 슬라이드가 이동된 슬라이드의 원 위치로 스냅된다.
도 1H는 일 실시예 하에서, 메즈의 트립틱(푸시백)의 블록도다. 푸시백 모드는 메즈 자산의 조작 및 편집에 유용하다. 푸시백 모드는 메즈 환경의 "줌 아웃" 뷰다. 이러한 뷰는 데크 내 더 많은 수의 슬라이드와, 자산 및 라이브 빈을 볼 수 있게 한다. 트립틱의 각각의 스크린은 자산 빈이라 불리는 상부에서의 자산을 위한 공간을 가진다. 자산이 서류에 추가됨에 따라, 자산이 우선 중앙 자산 빈을, 그 후 우측을, 그 후 좌측을 충전한다. 자산 빈 내 이미지는 완드를 이용하여 데크 내로 또는 윈드실드로 드래그될 수 있다. 데크는 우측 또는 좌측 오프스크린을 클릭함으로써 전진 또는 후퇴될 수 있다. 자산 섬네일 또는 비디오 섬네일 상의 완드를 이용한 단일 클릭은 윈드실드 상에 물체를 배치시킨다. 비디오 섬네일은 비디오 소스가 연결될 때 라이브 빈에 나타난다. 포인터가 우측 스크린의 하부로부터 벗어나려 할때 서류 명칭을 가진 배너 및 "서류 닫기" 버튼이 푸시백 모드에서 나타난다. "서류 닫기" 버튼을 클릭하면 모든 사용자 및 장치가 분리되고, 메즈가 서류 포털로 되돌아간다.
도 1I는 일 실시예 하에서, 메즈의 라이브 빈 및 자산 빈의 블록도다. 자산 빈은 현 서류 내로 로딩된 이미지 물체를 디스플레이한다. 비디오 빈은 DVI-연결 비디오 소스를 지닌다. 빈 물체는 데크 내로 드래그될 수 있고, 또는 윈드실드에 위치할 수 있다. 자산 및 라이브 빈은 푸시백 모드에서 나타난다. 라이브 빈 섬네일은 주기적으로 업데이트된다. 데크에 물체를 배치하기 위해, 물체를 요망 위치로 드래그하고, 버튼을 릴리스한다. 윈드실드 상에 물체를 배치하기 위해 데크 외부의 영역으로 물체를 드래그하고, 버튼을 릴리스한다. 또는, 클릭함으로써 물체를 최대화시킨다. 슬라이드는 빈으로부터 드래그되는 물체를 위한 공간을 만들기 위한 길로부터 벗어나 이동한다.
도 1J는 일 실시예 하에서, 메즈의 윈드실드의 블록도다. 윈드실드는 "항상 맨위의" 작업 영역이다. 메즈가 풀스크린 모드 또는 푸시백 모드인지에 관계없이, 윈드실드 상의 물체는 다른 모든 것 위에 합성된다. 조작자가 한번에 단일 슬라이드만 나타나기를 원할 때, 풀스크린 물체를 이용하여, 프레임으로 작용하거나 데크 물체를 덮을 수 있다. 윈드실드 상에 물체를 배치하는 것은, 자산 빈 또는 라이브 빈으로부터 물체를 요망 위치로 드래그하는 과정을 포함한다. 라이브 빈으로부터의 소스는 윈드실드 상에 또한 배치될 수 있고, 이러한 물체들은 초점이 맞을 때 "로컬 DVI 입력"의 헤더로 나타난다. 윈드실드 상의 물체를 이동시키기 위해, 드래그한다. 풀스크린의 윈드실드 물체는 이동할 때 스크린 에지에 브라켓이 나타나게 한다.
도 1K는 일 실시예 하에서, 메즈의 푸시백 제어를 보여주는 블록도다. 메즈의 뷰를 변화시키기 위해, 푸시백 제스처를 이용한다. 푸시백은 전체 메즈 작업공간의 뷰를 매끄럽게 스케일링하여, 조작자가 모드 간을 용이하게 이동할 수 있게 한다. 푸시백 약정을 위해, 완드를 천정을 가리키게 하고, 버튼을 홀딩하며, 그 후 스크린을 향해 밀고 스크린으로부터 멀리 당긴다. 메즈 작업공간은 이러한 제스처를 이용하여 푸시 및 풀함에 따라 유동적으로 줌 인 및 줌 아웃된다. 버튼을 릴리스하면, 현 줌 레벨에 따라 풀스크린 모드 또는 푸시백 모드로 스냅된다. 뷰가 푸시백일 경우, 메즈는 푸시백 모드로 스냅된다. 뷰가 줌-인일 경우, 메즈는 풀스크린 모드로 스냅된다. 완드를 (스크린에 평행하게) 좌측 또는 우측으로 이동시키면, 사용자의 움직임과 동일 방향으로 데크 내 슬라이드가 이동한다. 물체가 항상 동일 크기를 유지하도록, 윈드실드 상의 물체는 푸시백에 의해 영향받지 않는다.
도 1L은 일 실시예 하에서, 메즈의 입력 모드 제어를 보여주는 도면이다. 메즈의 입력 모드를 변경시키기 위해, 라쳇 제스처를 이용한다. 3개의 완드 입력 모드 - 이동 및 스케일링, 스냅샷, 및 리치스루 - 가 메즈에서 가용하다. 시계방향 또는 반시계 방향으로 회전함으로써 완드를 라쳇화하면, 모든 간에 전환이 이루어져서, 어느 모드가 활성인지를 표시하도록 포인터가 변경된다. 임의의 모드로부터, 위 도면에서 표시되는 방향으로 라쳇이 이루어져서 요망 모드를 활성화시킨다. 동일 방향으로 계속적으로 라쳇하면 궁극적으로 조작자가 자신이 개시한 모드로 되돌아 가게 되도록, 모드 선택이 돌아가게 된다. 언제라도 조작자는 완드를 천정을 향하게 하여, 이동 및 스케일링 모드로 복귀할 수 있다.
도 1M은 일 실시예 하에서, 메즈의 물체 이동 제어를 보여주는 도면이다. 메즈 내 물체를 이동시키기 위해, 드래그가 이루어진다. 조작자는 자신이 이동하고자하는 윈드실드 상의 물체를 완드로 가리키고, 완드 버튼을 클릭하며, 물체를 새 위치까지 드래그하고, 버튼을 릴리스시킨다. 물체가 이동함에 따라, 앵커가 물체의 지삭 위치 중앙에 나타난다. 웨이브 라인이 앵커를 물체의 새 위치에 연결한다. 완드를 이용하여, 조작자는 물체를 이동시킬 수 있고, 동시에 물체를 스케일링할 수 있다. 일 스크린으로부터 다른 스크린으로 풀스크린 물체를 이동시킬 때, 스크린의 에지에 브라켓이 나타나서, 버튼이 릴리스될 때 스크린을 채우도록 물체가 스냅될 것임을 보여준다. 슬라이드 데크 내 물체들이 동일 방법을 이용하여 이동한다 - 물체를 요망 위치로 드래그하고 버튼을 릴리스한다.
도 1N은 일 실시예 하에서 메즈의 물체 스케일링을 보여주는 도면이다. 메즈에서 물체를 스케일링하기 위해, 스케일링 제스처를 이용하고, 완드로 물체를 가리키며, 완드 버튼을 홀드 다운하고, 그 후, 스크린으로부터 멀리 완드를 당겨서, 물체를 확대하고 완드를 스크린을 향해 밀어내서 물체를 축소시킨다. 물체가 요망 크기에 있을 때 버튼을 릴리스시킨다. 스크린(전체 스크린)을 물체로 채우기 위해, 스크린 에지에 브라켓이 나타날 때까지 확대하고, 그 후 버튼을 릴리스한다. 풀스크린 물체가 스크린의 중심에 스냅된다. 도 1O는 일 실시예 하에서, 버튼 릴리스 시 메즈의 물체 스케일링을 보여주는 도면이다. 브라켓은, 이러한 스케일 레벨에서 버튼 릴리스는 해당 물체를 풀스크린화함을 보여주기 위해, 스크린 에지에 나타난다.
도 1P는 일 실시예 하에서, 연결 전 메즈의 리치스루(reachthrough)를 보여주는 블록도다. 도 1Q는 일 실시예 하에서, 연결 후 메즈의 리치스루를 보여주는 블록도다. 메즈의 리치스루 기능을 이용하기 위해, 조작자는 연결된 컴퓨터 상에서 리치스루 애플리케이션을 구동시킨다. 컴퓨터 DVI 출력이 메즈의 DVI 입력 중 하나에 연결된다. DVI 출력이 메즈에 연결될 때, 데스크탑의 섬네일이 메즈 라이브 빈의 대응 입력에 나타난다. 리치스루는 대응 애플리케이션이 구동 중일 때까지 비활성으로 유지된다. MzReach 아이콘을 더블클릭함으로써 리치스루가 구동된다. 메즈 리치스루를 실현하기 위해, 메즈 서버의 호스트 명 또는 IP 어드레스의 유형이 참가하기를 원할 것이고, 또는, 드롭-다운 메뉴를 이용하여 최근 사용된 메즈 서버를 선택할 수 있다. 그 후, 연결 버튼을 클릭한다. 조작자가 마치면, 분리 버튼을 클릭한다. 메즈 IP 어드레스 또는 호스트네임이 서류 포털에 통상적으로 디스플레이된다. 더 많은 정보를 위해 시스템 관리자를 찾아볼 수 있다. 물리적(DVI) 및 네트워크 연결이, 어느 연결도 독립적으로 존재할 수 있으나, 모두 리치스루 기능을 지원한다.
도 1R은 일 실시예 하에서, 리치스루 포인터를 이용한 메즈의 리치스루를 보여주는 도면이다. 조작자는 리치스루 포인터를 이용하여 DVI-연결 비디오 소스의 제어를 취한다. 라쳇 제스처를 이용하여 리치스루 포인터를 활성화시킨다. 리치스루 포인터를 이용하여, 마우스로 행하듯이, 르릭, 드래그, 선택, 등을 할 수 있다. 리치스루를 이용할 때 제공되는 피드백은 소스를 직접 제어할 때 제공되는 것과 정확하게 동일하여야 한다. DVI-연결 기계는 리치스루를 지원하는 리치스루 애플리케이션을 구동하고 있다.
도 1S는 일 실시예 하에서, 메즈의 스냅샷 제어를 보여주는 도면이다. 라쳇 제스처로 스냅샷 포인터를 활성화시키고, 그 후, 캡처되고자 하는 작업공간의 영역 간에 드래그가 이루어진다. 영역이 덮힐 때, 완드 버튼을 릴리스한다. 요망 영역 사이를 드래그할 때, 마퀴(marquee)를 가진 강조 영역이 나타나, 캡처될 영역을 표시한다. 눈에 보이는 모든 물체(윈드실드 상의 물체 포함)가 캡처되고, 스냅샷이 자산 빈의 마지막에 나타난다. 취소를 위해, 완드 버튼 릴리스 전에, 원점 사이에서 포인터를 역방향으로 드래그하고, 그 후, 완드 버튼을 릴리스한다.
도 1T는 일 실시예 하에서, 메즈의 삭제 제어를 보여주는 도면이다. 이동 및 스케일링 입력 모드에 들어가면, 조작자는 물체 삭제를 위해, 천정까지 드래그하고, 완드 버튼을 릴리스한다. 물체는 그 후 서류로부터 제거된다. 슬라이드, 윈도실드 물체, 또는 이미지 자산 삭제는 모두 동일한 방식으로 이루어진다. 풀스크린 또는 푸시백 모드에서 눈에 보이는 어떤 물체도 삭제될 수 있다. 피드백되는 메즈는, 조작자가 물체를 삭제하고 있을 때 제공되어, 천정을 향해 스크린을 벗어나 드래그될 때, 물체를 삭제 배너 및 붉은 앵커로 대체한다. 슬라이드가 데크로부터 삭제될 때, 삭제 배터가 슬라이드의 원 위치 위에 놓인다.
도 2는 일 실시예 하에서, 손 또는 물체 추적 및 형상 인식(20)을 수행하기 위한 제스처 또는 비전-기반 인터페이스의 작동의 흐름도다. 비전-기반 인터페이스는 센서로부터 데이터를 수신하고(21), 데이터는 센서에 의해 검출되는 물체에 대응한다. 인터페이스는 데이터의 각각의 프레임으로부터 이미지를 생성하고(22), 이미지는 수많은 해상도를 나타낸다. 인터페이스는 이미지 내 블랍을 검출하고, 물체의 트랙과 블랍을 상관시킴으로써 물체를 추적한다(23). 블랍은 디지털 이미지의 일 영역으로서, 소정의 특성(가령, 밝기, 색상, 깊이, 등)이 지정 값 범위 내에서 변하거나 일정하여, 블랍 내 모든 점들이 일부 측면에서 서로 유사하게 간주될 수 있게 되는, 디지털 이미지의 일 영역을 말한다. 인터페이스는 다수의 물체 형상 중 하나에 대응하는 것으로 각각의 블랍을 분류함으로써 물체의 포즈를 검출한다(24). 인터페이스는 포즈 및 트랙에 응답하여 제스처 인터페이스를 제어한다(25).
도 3은 일 실시예 하에서, 손 또는 물체 추적 및 형상 인식(30)을 수행하기 위한 흐름도다. 물체 추적 및 형상 인식은 예를 들어, 비전-기반 제스처 인터페이스에 사용되지만, 이에 제한되지 않는다. 추적 및 인식은 신체의 부속물의 센서 데이터를 수신하는 단계(31)를 포함한다. 추적 및 인식은 제 1 해상도를 가진 제 1 이미지를 센서 데이터로부터 발생시키는 단계(32)를 포함한다. 추적 및 인식은 제 1 이미지 내 블락을 검출하는 단계(33)를 포함한다. 추적 및 인식은 부속물의 트랙과 블랍을 상관시키는 단계(34)를 포함한다. 추적 및 인식은 제 2 해상도를 가진 제 2 이미지를 센서 데이터로부터 발생시키는 단계(35)를 포함한다. 추적 및 인식은 제 2 이미지를 이용하여 다수의 손 형상 중 하나로 각각의 블랍을 분류하는 단계(36)를 포함한다.
SOE 키오스크 하드웨어 구조의 예시적 실시예들이 이어지지만, 실시예는 이러한 예시적 구조에 제한되지 않는다. 일 실시예의 SOE 키오스크는 아수스 Xtion Pro를 장착한 애플 아이맥 27 "버전을 포함하는 아이맥-기반 키오스크이고, 센서가 아이맥의 상부에 부착된다. Tenba 케이스가 아이맥, 센서를 포함하고, 악세사리를 포함하고, 악세사리는 키보드, 마우스, 전원 케이블, 전력 스트립을 포함한다.
다른 예시적인 실시예의 SOE 키오스크는 비교적 작은 폼팩터 개인용 컴퓨터(PC)를 가진 30 "스크린을 포함하는 휴대용 미니-키오스크다. 스크린 및 스탠드가 프로세서로부터 분리되기 때문에, 이러한 설정은 디스플레이에서 풍경 및 초상 배향을 모두 지원한다.
추가 실시예의 SOE 키오스크는 DVI 또는 HDMI 입력을 수용하는 50 ", 1920 × 1080 텔레비전이나 모니터, 센서(예를 들어, 아수스 Xtion Pro 라이브, 아수스 Xtion Pro, 마이크로소프트 키넥트, Windows용 Microsoft Kinect, 파나소닉 D-이미저, SoftKinetic DS311, Tyzx G3 EVS, 등), 및 쿼드 코어 CPU와 NVIDIA NVS 420 GPU를 구동하는 상대적으로 작은 폼팩터 PC를 포함하는 컴퓨터 또는 프로세스를 포함한다.
상술 한 바와 같이, SOE 키오스크의 실시예들은 센서로서 마이크로소프트 키넥트 센서를 포함하지만, 실시예들은 이에 한정되지 않는다. 실시예의 키넥트 센서는 일반적으로 카메라, 적외선 (IR) 방출기, 마이크로폰, 및 가속도계를 포함한다. 보다 구체적으로, 키넥트는 1280 × 960 해상도로 3-채널 데이터를 저장하는 컬러 VGA 카메라 또는 RGB 카메라를 포함한다. 또한 IR 방출기 및 IR 깊이 센서가 포함된다. 방출기는 적외선 광선을 방출하고 깊이 센서는 센서로 다시 반사되는 IR 빔을 판독한다. 반사된 광선은 물체와 센서 사이의 거리를 측정하는 깊이 정보로 변환되어, 깊이 이미지의 캡처를 가능하게 한다.
키넥트는 소리를 캡처하기 위해 네 개의 마이크로폰를 포함하는 멀티 어레이 마이크로폰을 또한 포함한다. 네 개의 마이크로폰이 있기 때문에, 이것은 오디오를 녹음할 뿐만 아니라 음원의 위치 및 오디오 파의 방향을 알아낼 수 있다. 2G 범위용으로 구성된 3-축 가속도계가 센서에 또한 포함되며, G는 중력 가속도를 나타낸다. 가속도계는 키 넥트의 현재 방향을 결정하는데 사용될 수있다.
저가 깊이 카메라는 강력하고 유비쿼터스 비전 기반의 인터페이스를위한 새로운 기회를 만들 수 있다. 많은 연구가 전신 포즈 추정 및 전체 신체 운동의 해석에 집중하고 있지만, 이러한 작업은골격없는 손 검출, 추적, 및 형상 분류를 조사한다. 본 명세서에 기재된 실시예는 손 형상의 광범위한 세트를 인식하고, 사용자의 넓은 범위에 걸쳐 높은 정확도 등급을 유지하는 방법을 발전시킴으로써 풍부하고 신뢰가능한 제제스처 인터페이스를 제공한다. 실시예는 예를 들어, 마이크로소프트 키넥트로부터 깊이 데이터를 이용하여 실시간 손 검출 및 추적을 제공하지만, 이에 한정되지 않는다. 16명의 사용자로부터 수집되는 8개의 손 형상에 대한 정량적 형상 인식 결과가 제시되며, 신뢰도 및 전체 사용자 경험의 부양을 돕는 물리적 구조 및 인터페이스 설계 문제가 제시된다.
손 추적, 제스처 인식, 비전 기반 인터페이스는 컴퓨터 비전 커뮤니티 내에서 긴 역사를 가지고 잇다(가령, 1980년에 공개된 put-that-there 시스템(가령, R. A. Bolt. Put-that-there: Voice and gesture at the graphics interface. Conference on Computer Graphics and Interactive Techniques, 1980 ("Bolt"))). 관심있는 독자는 더 넓은 분야를 커버하는 많은 조사 논문 중 하나로 지향된다(가령, A. Erol, G. Bebis, M. Nicolescu, R. Boyle, and X. Twombly. Vision-based hand pose estimation: A review. Computer Vision and Image Understanding, 108:52-73, 2007 ("Erol et al."); S. Mitra and T. Acharya. Gesture recognition: A survey. IEEE Transactions on Systems, Man and Cybernetics -Part C, 37(3):311-324, 2007 ("Mitra et al."); X. Zabulis, H. Baltzakis, and A. Argyros. Vision-based hand gesture recognition for human-computer interaction. The Universal Access Handbook, pages 34.1-34.30, 2009 ("Zabulis et al."); T. B. Moeslund and E. Granum. A survey of computer vision-based human motion capture. Computer Vision and Image Understanding, 81:231-268, 2001 ("Moeslund- 1 et al."); T. B. Moeslund, A. Hilton, and V. Kruger. A survey of advances in vision-based human motion capture and analysis. Computer Vision and Image Understanding, 104:90-126, 2006 ("Moeslund-2 et al.")).
Plagemann, 등의 작업은 깊이 이미지로부터 직접 머리, 손, 발과 같은 신체부를 검출 및 분류하기 위한 방법을 제시한다(가령, C. Plagemann, V. Ganapathi, D. Koller, and S. Thrun. Real-time identification and localization of body parts from depth images. IEEE International Conference on Robotics and Automation (ICRA), 2010 ("Plagemann et al.")). 이들은 이러한 신체부들을 지오데식 극값과 균등화하고, 이 값들은 깊이 이미지에 연결된 메시를 배치함으로써, 그리고 그 후, 이전 점 세트까지의 지오데식 거리를 최대화시키는 메시 점들을 반복적으로 찾아냄으로써, 검출된다. 이 프로세스는 메시의 센트로이드를 이용함으로써, 또는, 2개의 가장 먼 지점들을 파악함으로써, 시딩된다. 여기서 제시되는 기법은 개념적으로 유사하지만, 클러터를 무시하도록 기-명시된 경계 박스를 요구하지는 않는다. 더욱이, Plagemann 등은 유효한 머리, 손, 또는 발로 극값을 식별하기 위해 학습된 분류기를 이용하였으나, 우리의 방법은 더 고해상도의 깊이 센서를 이용하고 여러 다른 손 현상 중 하나로 극값을 인지한다.
Shwarz, 등은 추가적인 신체부를 검출함으로써 그리고 전신 골격을 메시에 끼워맞춤으로써, Plagemann, 등의 작업을 확장한다(가령, L. A. Schwarz, A. Mkhitaryan, D. Mateus, and N. Navab. Estimating human 3d pose from time-of-flight images based on geodesic distances and optical flow. Automatic Face and Gesture Recognition, pages 700-706, 2011 ("Shwarz et al.")). 이들은 자체-교합의 보상을 돕기 위해 광학적 유동 정보를 또한 포함한다. 그러나, 여기서 제시되는 실시예에 대한 관계는 Plagemann의 것과 유사한데, 이는 Shwarz, 등이 클러터링되는 장면의 신뢰도를 감소시킬 가능성이 높은 지오데식 거리를 연산하기 위해 전역 정보를 이용하고, 손가락 구조를 검출하거나 전체 손 형상을 인식하려 시도하지 않기 때문이다.
Shotton, 등은 질의점과 국부적 이웃의 타 지점들 사이의 거리에 대해 훈련된, 랜덤화된 결정 포레스트를 이용하여 서로 다른 신체부로 깊이 지점을 직접 분류하는 방법을 개발하였다(가령, L. Breiman. Random forests. Machine Learning, 45(l):5-32, 2001 ("Breiman")), (가령, J. Shotton, A. Fitzgibbon, M. Cook, T. Sharp, M. Finocchio, R. Moore, A. Kipman, and A. Blake. Real-time human pose recognition in parts from a single depth image. IEEE Conf on Computer Vision and Pattern Recognition, 2011 ("Shotton et al.")). 그 목표는 실시간 골격 추적 시스템에 더 높은 레벨의 정보를 제공하는 것이었고, 따라서, 서로 다른 31개의 신체부를 인지하여, 머리, 손, 발을 넘어선다. 여기서 설명되는 기법은 멀티-클래스 문제 해결을 위한 모델 고유의 능력과 낮은 분류 오버헤드 때문에 랜덤화된 결정 포레스트를 또한 이용한다. 여기서 설명되는 실시예는 포트레스트르 훈련하여 서로 다른 여러 손 형상을 인식할 수 있으나, 손이 아닌 신체부를 검출하지 못한다.
비전-기반 인터페이스에서, 앞서 언급한 바와 같이, 손 추적을 종종 이용하여, 커서 제어, 3D 항법, 동적 제스처 인식, 및 일관적 포커스 및 사용자 식별과 같은 사용자 상호작용을 지원할 수 있다. 클러터링되는 시각적으로 노이즈가 심한 장면을 견고하게 추적하기 위해 많은 정교한 알고리즘들이 개발되었고(e.g., J. Deutscher, A. Blake, and I. Reid. Articulated body motion capture by annealed particle filtering. Computer Vision and Pattern Recognition, pages 126-133, 2000 ("Deutscher et al."); A. Argyros and M. Lourakis. Vision-based interpretation of hand gestures for remote control of a computer mouse. Computer Vision in HCI, pages 40-51, 2006. 1 ("Argyros et al.")), 추적 초기화를 위한 손 검출 및 장기간 추적은 여전히 과제로 남아있다. 여기서 제시되는 실시예는 손 형상, 포즈, 및 모션에 기초하여 제스처 인터페이스의 생성을 지원하는 시노리가능한, 마커리스 손 추적 시스템을 구축한다. 이러한 인터페이스는 저-대기시간 손 추적 및 정확한 형상 분류를 필요로하며, 이는 함께 적시의 피드백 및 이음새없는 사용자 경험을 가능하게 한다.
여기서 설명되는 실시예는 국부적 세그먼트화 및 손 추적을 위해 단일 카메라로부터 깊이 정보를 이용한다. 정확한, 화소-당 깊이 데이터는, 시각적 복잡도에 크게 독립적인 방식으로 포그라운드/백그라운드 세그먼트화의 문제를 크게 감소시킨다. 따라서, 실시예는 서로 다른 사용자 및 환경 사이에서 통상적으로 더 높은 수준의 변화를 나타내는, 로컬 텍스처 및 색상과 같은 보조적 효과에 기초하기보다, 신체부의 3D 구조에 기초하여 신체부 검출기 및 추적 시스템을 구축한다(Shotton et al., Plagemann et al. 참조).
실시예는 비전-기반 사용자 인터페이스를 위한 토대로 마커리스 손 추적 및 손 형상 인식을 제공한다. 이와 같이, 엄격하게 사용자의 전신을 식별 및 추적할 필요가 없고, 실제로, 전체 신체(또는 심지어 전체 상반신)가 보인다고 가정되지 않는다. 대신에, 실시예는 손이 신체 나머지에 관찰가능하게 연결되지 않도록 사용자의 팔의 일부분을 데스크가 가리도록 착석한 사용자와 같이, 제한된 가시도만이 가능한 상황을 가정한다. 이러한 시나리오는 사용자가 의자의 팔에 팔꿈치를 기댈 수 있도록, 또는, 열린 랩탑과 같은 데스크탑 클러터가 카메라의 뷰의 낮은 부분을 가리도록, 현실 세계 환경에서 매우 자연스럽게 나타난다.
도 4는 실시예에 따라, 손 추적 및 형상 인식에 사용 여덟 손 모양을 나타낸다. - 왼쪽에 종료하거나 엄지 손가락을 연장 또는 손바닥에 자리 잡고 있는지를 참조 폐쇄 오픈하면서, 그 손에 특정 - 오른쪽 이름을 포즈. 약어 "OFP"는 "한 손가락 점"을 나타내고 뻗은 검지 손가락에 해당한다.
상대적으로 강한 시각적 특수성을 유지하면서 실시의 팔 포즈의 초기 설정은 유용한 상호 작용의 범위를 제공한다. 예를 들어, 오픈 손 주먹의 조합은 커서를 이동시킨 후 잡아 또는 객체를 선택하는데 사용될 수있다. 마찬가지로, 손바닥 오픈 포즈 측면 손동작으로 데이터를 스크롤 한 후와 (우주의 그래픽 표현 "밀어"에 의해) 더 많은 정보를 활성화하고 노출 할 수 있다.
손 모양의 다른 세트는 폭 넓은 있다뿐만 아니라 손가락의 구성에 대한 훨씬 더 정확하고 완전한 정보를 필요로한다. 예를 들어, 미국 수화 (ASL) 손가락 맞춤법 알파벳 26 글자를 더한 숫자 구 0 - 커버 손 포즈 훨씬 풍부한 세트가 포함되어 있다. 이 손 형상은 사용자, 특히 비전 시스템 모두에 대해 구별하기 어려울 수있다, 그러나, 미묘한 손가락 큐 사용한다.
실시 세트 제스처 시각적 구별 가능하게 구성되어 있음에도 불구하고, 큰 변화의 범위는 각 형상 클래스 내 보였다. 도 5는 같은 손 모양 범주에 대한 사용자 걸쳐 변화를 보여주는 샘플 이미지를 보여준다.
더 정확하고 더 높은 해상도의 깊이 센서 인트라 클래스 차이점을 감소시킬지라도, 주 원인은 사람의 손을 걸쳐 극한 변형 및 전용 뷰의 단일 포인트를 사용하여 발생 시각과 폐색 효과이다. 물리적 변화는 손 전체 크기, 손가락 폭, 손바닥 크기, 관절 범위, 유연성 및 핑거 제어 손가락 길이의 비율에서 관찰되었다. 그것은 거의 자신의 손바닥과 검지 손가락에 수직이되도록 예를 들어, 손바닥 오픈 포즈, 일부 사용자는 자연스럽게 45도 이상으로 자신의 엄지 손가락을 이동하려고 할 때 다른 사용자가 불편 함을 표현하면서, 자신의 엄지 손가락을 확장 할 것이다. 예를 들어, 사용자가 단단히 함께 누르면 자신의 손가락으로 손바닥 오픈 제스처를 시작하지만 제스처 따라서 손바닥 개방과 개방의 구분을 모호하게, 진행으로 자신의 손가락을 휴식을 취할 수있는, 마찬가지로, 변화는 하나의 상호 작용 동안 관찰되었다 손. 또한 SOE 키오스크 시스템은 카메라 센서에 평행 한 평면 내에서 손의 포인팅 각을 추정 할 수있다 (즉, z 축을 내려다보고 카메라를 가정 XY 평면). 손가락 끝을 사용함으로써, 실제 (이차원) 포인팅 각도를 말한다.
실시예의 중앙 기여 본원 디자인과 손 형상 및 역학 넓은 변동에도 불구하고 상이한 사용자들에 걸쳐 안정적으로 작동 실시간 비전 인터페이스의 구현이다. 실시예의 접근법은 본원 이상의 손 형상 인식률을 제공 당 프레임 극값의 빠른 핸드 형상 분류 결합 검출 및 방법의 정량적 평가를 사용하여 효율적 골격 자유 재량 검출 및 추적 알고리즘에 기초 과거에는 볼 수 없었던 사용자의 97 % 이상.
탐지 및 추적의 실시예들은 본원에 손이 사용자의 체질량의 중심으로부터 최단 거리의 관점에서 극값 대응 아이디어에 기초한다. 예를 들면, 사용자가 아암 댄을 의미하지만, 이러한 본체는 인터페이스 유효한 상호 작용을 배제 포즈 등이 저레벨 위음성이 고레벨 위음성에 해당하지 않는 경우, 이러한 가정이 위배된다. 실시예는 처리 용적을 한정하는 미리 지정된 경계 박스 없이도 혼란에 강인하도록하기 때문에, 그러한 실시예들의 접근은 글로벌 측지선 거리를 계산 피하고 대신 간단한 로컬 접근 걸린다. 특히, 극값 후보는 깊이 이미지를 직접 검출 지역, 방향 피크에 의해 발견 된 후 잠재적 손으로 공간적으로 연결 구성 요소의 압축을 푼다.
실시예들의 핵심 검출 및 추적은 다운 80x60으로 640 × 480의 입력 해상도에서 서브 샘플링 후에 깊이 각 프레임에 대해 수행된다. 본원에 기술 된 바와 같이 손 형상 분석은, 그러나, 더 높은 해상도로 수행된다. 다운 샘플링 깊이 이미지가 누락 깊이 데이터에 해당하는 0 값을 무시 강력한 접근 방식을 사용하여 계산하고, 그 가장자리를 유지한다. 깊이 측정은 본질적으로 장면의 질량을 표현하기 때문에, 달리 중간 깊이 "환각"질량 이어질 것이다 이종 깊이 값의 평균을 방지하는 것이 바람직하다.
현지 피크 멀리 자신의 공간 이웃보다 네 추기경 방향 (위, 아래, 오른쪽에서 왼쪽 등)의 연장 픽셀을 검색하여 80x60 깊이 이미지에서 검출된다. 이 발견은 심지어 많은 오탐 (false positive)의 비용으로 낮은 위음성 율을 제공한다. 즉, 실시예들은 실제의 손을 놓치고 싶지 않지만 여러 탐지 또는 이들이 이후 단계에서 여과되기 때문에 다른 물체를 포함 할 수있다.
각 피크 픽셀은 예상 깊이 오차를 나타낸다 300mm 플러스 깊이에 의존하는 슬랙 값으로 촬영되는 최대 손 크기에 의해 제한 연결된 구성 요소 ( "BLOB")의 씨앗이된다. 마이크로 소프트 넥트 들어 깊이 오차는 (인접한 원시 센서 판독 사이 메트릭 거리에 기초하여 깊이의 함수로서 추정 된 최소 깊이 모호성의 플롯을 나타낸다 도 7 참조) 두 개의 인접한 원시 센서 판독으로 표시되는 물리적 거리에 대응 . 그 깊이에서 재현 정확도에만 25mm이므로 즉, 2,000mm의 거리에서 10mm의 깊이에 차이를 찾고 있다는 사실 슬랙 값 계정 합리적인 아니다.
실시예의 알고리즘은 거리 변환을 이용하여 효율적으로 계산 될 수 블랍의 경계로부터 먼 화소를 찾음으로써, 각 블랍에 대한 잠재적 인 핸드 중심을 추정한다. 그 다음 더 자두 팔뚝이나 다른 신체 부위를 제외하면서 손 픽셀을 포함하는 목표로 200mm의 손바닥 반경을 사용하여 BLOB. 마지막으로, 저 - 레벨 처리는 유사한 깊이를 갖는 블랍에 인접한 픽셀들을 정의 블랍을 "확장"하는 것이 깊이 화소의 외부 경계를 검색하여 결론. 실시예의 알고리즘은 경계의 길이에 비해 짧은, 단일 영역을 찾는 확장 픽셀을 분석하고, 그것은 매우 큰거나 연결 확장 영역이 블랍을 프 i. 확장 영역은 유효한 핸드 블랍 손목에 대응하는 것으로한다 훨씬 동일한 방법 Plagemann 그 외 방향을 추정하는 데 사용된다. 측지 역 추적 포인트를 사용 (Plagemann 등을 참조하자.).
블랍이어서 기존 트랙과 현재 프레임에서 블랍 연관 추적 모듈로 전송된다. 각 블랍 / 트랙 쌍은 블랍의 중심과 현재의 속도에 의해 제한 트랙의 궤적 사이의 최소 거리에 따라 획득된다. 또한,이 로우 레벨의 모호성으로 인해 얼룩 겹치는 것으로, 따라서 트래킹 모듈은 묵시적 상호 배제를 적용 할 수있다. 모양은 경기의 모든 걸쳐 총 점수를 최소화하여 전 세계적으로 최적의 방법으로 트랙과 연결되어 있다. 250mm의 스코어 임계 값은 매우 열악한 매치를 방지하기 위해 사용되며, 따라서 일부 블랍 및 / 또는 트랙은 탁월한 갈 수있다.
메인 트랙 확장 한 후, 나머지 타의 추종을 불허하는 모양은 트랙에 비교하고 가까운 공간 근접에있는 경우 보조 모양으로 추가. 단일 손 때때로 여러 개별 성분으로서 관찰 될 수 있기 때문에, 이러한 방식으로, 다수의 모양은 하나의 트랙과 연관 될 수있다. 사용자가 투영 된 구조 빛의 키 넥트의 분석을 포일 큰, 빛나는 반지를 끼고 때 관찰을 해체에 이르게 시나리오이다. 링 자체를 다루는 더 깊이 데이터가 없을 것이기 때문에 이러한 경우에, 링 핑거 시각적 손으로부터 분리 될 수있다.
손가락이없는 완전히 손의 형상 해석을 변경할 수 있기 때문에, 트랙 손가락 블랍을 연관 극히 중요해진다.
추적 모듈은 남아있는 모양 새로운 트랙을 배정하고 해당 개체의 시각적 증거없이 여러 프레임을 이동 된 트랙을 제거 할 수 있도록 사용한다.
손 형상 인식과 관련하여, 블랍 추출 및 추적에 사용 80x60의 깊이 이미지는 경우에 따라 형상 분석을위한 충분한 정보를 제공한다. 대신, 손 인식 320X240 깊이 이미지, 쿼터 비디오 그래픽 어레이 (QVGA) 디스플레이 해상도를 사용한다 포즈. QVGA 모드는 크기 나 이미지의 픽셀 해상도를 설명한다. 실시예는 QVGA의 화소가 각 트랙에 대응하는 바와 같이 결정한다. 이러한 픽셀은 해당 80x60 픽셀의 작은 깊이 거리 내의 각 QVGA 픽셀에 연결된 구성 요소 검색을 시드로 식별된다. 실시예의 알고리즘은 또한 재 추정 손 중앙 커서 컨트롤 등 연속, 위치 기반의 상호 작용을보다 민감 3D 위치 추정을 제공하도록 QVGA의 화소를 이용.
실시예는 팔 모델링 손 모양의 하나로서 각각의 덩어리를 분류하기 위해 무작위 결정의 숲 (Breiman 참조)를 사용한다. 각 숲은 나무의 모든 걸쳐 결과를 병합하여 계산 의사 결정 나무의 앙상블과 (클래스 이상 또는 배포) 최종 분류이다. 나무가 분산을 증가시키고, 복합 에러를 줄이기 위해 무작위되도록 단일 결정 트리 쉽게 그 트레이닝 데이터를 overfit있다.
무작위 화는 두 가지 형태 취한다 : (1) 각 트리는 전체 트레이닝 데이터 세트로부터 부트 스트랩 샘플을 알게된다, (2) 트리의 노드는 기능의 작은 무작위 수를 통해 최적화. 무작위 결정 숲 실시간 손 모양 분류에 유용한 몇 가지 매력적인 특성을 가지고 : 그들은 자동으로, 그들은 본질적으로 멀티 클래스 분류를 지원하는 기능 선택을 수행하고, 그들은 쉽게 병렬화 될 수 있으며, 런타임에 매우 빠르다.
실시 방법은 분할 된 패치 손을 특성화 화상 특징의 세 종류 사용한다. 이러한 얼룩 형상에 의해 덮여 화소의 비율로 전체 영상의 통계를 포함 잡은 손끝의 개수가 검출 된 손가락에 블랍의 중심에서의 평균 각도, 및 자신의 손가락의 평균 각도. . 또한 대칭 물체의 인식에 대한 모든 일곱 독립 Flusser 석 순간 (예를 들어, J. Flusser and T. Suk. Rotation moment invariants for recognition of symmetric objects. IEEE Transactions on Image Processing, 15:3784-3790, 2006 ("Flusser et al.")).
손끝이 높은 긍정적 인 곡률의 지역을 검색하여 각 BLOB의 윤곽에서 검출된다. 곡률은 윤곽 점 Q와 K-이웃에 의해 형성된 벡터 사이의 각도를보고 추정 .k 및 Q + k는 적절한 랩 어라운드으로 샘플링된다. 실시예의 알고리즘은 두 규모에서 높은 곡률을 사용하고, k는 2 스케일에 대한 질의 지점으로부터 약 50mm 대략 제 1 스케일위한 30mm이고되도록 블랍의 깊이에 따라, K의 값을 변조한다.
기능 세트 B는 전체 크기로 정규화 블랍의 바운딩 박스 내의 모든 가능한 사각형으로 덮여 화소 수로 구성된다. 규모 불변을 보장하기 위해, 각 BLOB 이미지가 225 사각형 및 () 세트 B는 네 개의 사각형을 보여주고에 대한 추출 기능을 보여준다 세트 B (도 8에 따라서 (225) 설명이 있다는 것을 의미하는 5 × 5 격자까지 서브 샘플링한다 (B) ) C 그리드 셀 중 하나 쌍의 평균 깊이의 차이를 나타내는 설정한다.
기능 세트 B 세트 C는 동일한 격자를 사용하지만, 그 대신 다른 사각형 내의 커버리지를 찾고, 그 각 셀의 각 쌍에 대한 평균 깊이의 차이를 포함한다. 5 × 5 격자에 25 세포가 있기 때문에, 설정 C. 기능 설정 D 300 디스크립터 (536) 전체 기능을 선도 세트 A, B 및 C의 모든 기능이 결합한 있다.
본원에 기술 된 바와 같이, 블로 추출 알고리즘은 확장 픽셀을 검색하여 각 블랍 손목의 위치를 추정하기 위해 시도한다. 이러한 영역이 발견되면, 이것은 블랍의 중심에 확장 영역의 중심을 연결하는 벡터에 기초하여 방향을 추정하는 데 사용된다. 이 각도의 역수 QVGA 이미지 패치의 회전에 의해, 많은 블랍 어떤 기술자가 계산되기 전에 정규 방향을 갖도록 변형 될 수있다. 이 공정은 회전 불변의 레벨을 제공함으로써 분류의 정확도를 향상시킨다. 오리엔테이션 그러나 모든 블랍 대해 추정 될 수 없다. 예를 들어
암은 덩어리가 어떤 확장 픽셀이 없다 직접 카메라를 지적했다. 이러한 경우, 기술자는 변형되지 않은 블랍 이미지 계산된다.
실시간 손 추적에 본원 실시를 평가하고 인식 형상, 샘플 동영상 16 주체로부터 기록 된 추적 결과와 함께 의사 색상 화상을 나타내는 세 개의 샘플 프레임을 표시 (도 6a는도 6b 및도 6c는 (총칭 6)도) (601), 트랙의 역사 (602), 및 신뢰도 값과 함께 인식 결과 (텍스트 레이블)). 동영상은 구조 광을 기반 접근법을 이용하여 픽셀 단위의 심도를 추정 넥트 마이크로 소프트를 이용하여 30Hz로에서 640 * 480의 해상도로 촬영 하였다. 각 주제는 여기에 디스크에 가장 가까운 QVGA 급 BLOB 이미지를 저장 수정 후 공정에이 동영상에서 실행 도 4. 분할 및 설명 추적 알고리즘에 묘사 된 팔 손의 모양에 해당하는 여덟 비디오 세그먼트를 기여했다. 따라서 훈련로서는 자동 온라인 버전에서 사용했던 것과 동일한 알고리즘을 이용하여 비디오로부터 추출 하였다. 단지 수동 개입 그렇지 트레이닝 세트를 오염시킬 트랙킹 에러 소수의 제거였다. 예를 들어, 몇몇 비디오의 시작 부분에서, 시스템은 그들의 손에 고정하기 전에 사용자의 머리에 대응하는 얼룩을 저장.
손 포즈의 일부는 왼쪽이나 오른쪽 중 하나에 고유 한 (예를 들면, 손바닥 오픈 왼쪽) 다른 사람이 두 손으로 (예를 들어, 승리) 매우 유사한 반면. 두 번째 세트에서 포즈 한번 어떤 변형없이 한번 수직축 주위의 반사 후에, 회 훈련 데이터에 포함되었다. 라이브, 대화 형 시스템과 질적 실험을 통해이를 반영 예제의 포함은 인식 성능이 눈에 띄게 개선을 주도하였다.
16명의 대상자는 네 여성과 25 ~ 40 세에 160과 188cm 키 사이에 이르기까지 12 명의 남성을 포함했다. 반사 된 버전을 포함하여, 각 사람은 93,336 표시된 예제의 총에 이르는 여덟 손 포즈에서 1898 사이의 9625 예를 기여했다. 초기 평가는 일반화 성능을 추정하기 위해 표준 교차 유효성 검사를 사용했다. 매우 낮은 에러율이 발견되었지만, 암시 적 성능은 상대적으로 안정적으로 불량한 분류 속도를보고 실제 시스템과 새로운 사용자의 경험을 예견하지 못했다.
해석은 교차 검증이 있었다이다 과다 추정 임의의 파티션이 교육 및 테스트 세트 모두에서 각 사용자의 예를 포함하기 때문에 성능을. 훈련 예는 동영상으로부터 추출 되었기 때문에,이 시간 상관의 높은 수준이며, 따라서 테스트 파티션 일반화 성능을 나타내는 아니었다. 사용자 간 오차의 유효 추정치보다 의미있는 실험을 실행하기 위해, 스위치 대신에두고 온 사용자 - 아웃 방법을 사용 하였다. 이 평가 방식에서 모델 및 기능 세트의 각 조합은 15 과목에서 데이터에 대한 교육을하고, 눈에 보이지 않는 16 주제에 결과 분류를 평가했다. 이 프로세스는 테스트 세트와 같은 다른 개체로부터 데이터를 사용하여 각각의 반복으로 16 회 반복 하였다.
도 9 플롯 무작위로 결정 숲 (RF)를위한 손 모양 인식 정확도의 비교 및 지원 벡터 머신 기능 세트의 글로벌 통계를 사용 (SVM) 네 기능 세트를 통해 분류는, 기능 세트 B는 다른 사각형의 정규화 점유 비율을 사용, 기능 세트 C 점 사이의 깊이 차이를 사용 및 기능 세트 D가 세트가, B, 및 C.도 9 따라서 무작위 결정 숲 (RF)과 서포트 벡터 머신 (SVM) 모델 모두 평균 인식률을 제공 결합한다. SVM은 예를 들어 LIBSVM (가령, C.C. Chang and C.J. Lin. LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology, 2:27:1-27:27, 2011 ("Chang et al.")) 과 데이터의 서브 세트 위에 작은 검색 결과에 기초하여 정확도를 최대화하도록 선택된 파라미터를 가지는 방사형 기저 함수 커널을 사용했다. RF 및 SVM은 모두 본원에 기재된 네 기능 세트로 시험 하였다.
최상의 결과는 기능 세트 D (RF-D)를 사용하여 RF 모델로 달성 하였다. 이 조합은 2.42의 표준 편차를 갖는 97.2 %의 평균 간 사용자 정확도 레이트되었다. 여섯 과목이 99 % 이상의 정확도 속도를보고하면서 RF-D에서 어떤 주제에 대한 최악의 성능은 92.8 %였다. 비교를 위해, SVM을 이용하여 최적의 성능은 95.6 %의 평균 정확도 레이트, 2.73의 표준 편차, 및 89.0 %의 최악의 경우를 준 기능 세트를 B로했다.
도 9에 제시된 RF 결과는 100 나무와 숲을 기반으로한다. 각 트리 (30)의 최대 깊이없이 가지 치기 배운했다. 각 스플릿 노드에서, 임의의 선택된 특징의 수는 설명의 총 개수의 제곱근으로 설정 하였다. 앙상블 분류자는 임의의 나무의 모든 걸쳐 결과를 병합하여 입력 데이터를 평가하고, 따라서 런타임은 나무의 개수에 비례한다. 레이턴시 문제는, 천연 질문 숲에서 나무의 수가 감소됨에 따라 분류 정밀도를 변경하는 방법, 특히, 실시간 시스템에서. 도 10은 무작위로 결정 숲에서 나무의 다른 번호를 사용하여 손의 형상 인식 정밀도의 비교를 나타낸다. 그래프를 보여준다 정확성과 하나의 예 (녹색 다이아몬드 오른쪽 축)을 분류하는 평균 시간과 함께 대략 95 % 신뢰 구간 (파란색 원, 왼쪽 축) 묘사 ± 2σ 라인을 의미한다. 도 10은 손 형상 분류 문제에 대한 인식 정확성이 단지 96.9 %로 97.2 % 내지 30 방울 나무 아래로 안정적임을 보여준다. 이 점 이하, 성능이 더 극적으로 드롭하기 시작하지만, 심지어 20 나무, 평균 크로스 사용자 정확도는, 96.4 %로 감소된다. 사용 된 테스트 시스템에서 볼 수 평균 분류 속도는 100 나무와 예를 당 93.3μ8하지만 30 나무 만 20.1μ8했다.
높은 정밀도의 비율이 바람직 할 수도 있지만, 비공식적보고 및 실시예의 쌍방향 시스템과 함께 작동 할 사용자의 관찰 해석은 97.2 %의 전류 정확도 레이트 사용자 만족도에 충분하다는 것이다. 약 3 %의 에러율은 에러가 독립적으로 같지 않기 때문에 같은 균일 한 분포가 실제로 기대 아니지만 평균적 실시예의 시스템은, 사용자의 자세 대략 한번씩 30 프레임을 잘못 분류 할 수 있다는 것을 의미한다. 이 오차로 인해 몇 가지 중요한 요인 또한 실제 사용하는 동안 마스크된다 그들 중 많은을 응집하지만 것으로 생각된다. 먼저, 시스템은 임의의 실시간, 단기간 오류를 방지하기 위해 시간적 일관성을 사용할 수있다. 사소한 행동 변경이 필요한 경우, 충분한 피드백이며 경우 둘째, 사용자가 협력 시스템에 적용한다. 셋째, 사용자 인터페이스는 쉽게 혼란 손 자세의 영향을 최소화하도록 구성 될 수있다.
인터페이스를 적응의 좋은 예는 손바닥 오픈 포즈를 기반으로 이륙 시각의 연기의 상호 작용으로 발생한다. 이러한 상호 작용의 전형적인 사용은 사용자가 멀리 다시 화면에 그래픽 표현을 눌러 작업 공간을 더 많이 볼 수 있다. 사용자는 작업 공간의 다른 영역으로 패닝 할 수 또는 다른 목적 (예를 들면, 영화, 이미지, 또는 상품)을 스크롤 할 수 있다. 리드에 상대적으로 긴 상호 작용과 스크롤 손바닥 열린 자신의 의도가 변경되지 않은 경우에도 오픈 손처럼 보이기 시작하도록 그래서 사용자는 종종 자신의 손가락을 휴식. 실시예는 오픈 손이 다른 상황에서 서로 다른 상호 작용에 이르게하는 경우에도, 이륙 시각의 연기 상호 작용을 방해하는 오픈 손을 방지하는 간단한 인식 비틀기를 구현했다.
본질적으로, 두 포즈 만 손바닥 열기를 개시 할 수있다하더라도 상호 작용을 계속할 수있다. 또한, 분류의 신뢰가 그들 사이에 포즈 과도 설명하기 위해 두 개의 포즈 사이 풀링된다.
실험은 또한 인터페이스 및 작업 공간에 물리적 변화를 수행 하였다. 깊이 카메라가 기본 화면 아래보다는 위에 장착되었을 때, 예를 들어, 눈에 띄게 개선은 사용자 경험에 보였다. 이러한 차이는 가능성으로 인해 기본적인 신체 역학과 중력에 휴식과 손을 낮추기보다는 인상 사용자의 경향에서 유래한다. 상단에 장착 된 카메라에서 뷰가 저하 반면에 바닥에 장착 된 카메라로, 약간 각진 또는 인하 손, 손 모양의 더 나은보기를 제공한다. 마찬가지로, 장점은 큰 화면에서 멀리 서서 사용자의 자연적인 경향으로 촬영할 수 있다. 넥트 많은 다른 깊이 카메라는 30~80cm 범위의 최소 검출 거리를 갖기 때문에, 사용자는 가능한 한 적은 명시하고 알림 경고 메시지와 기능적 거리를 유지하도록 권장된다. 상호 작용이 가까이 촬상면 또는 카메라의 시야의 가장자리에 도달 할 때 실시예의 인터페이스는 시각적 표시를 제공 않지만, 화면 크기 등을 암시 천연 단서가 훨씬 바람직하다.
본원에 기재된 바와 같이, 다른 마커리스 조사 골격 시스템에 초점을 맞추고있다. SOE 식으로, 본 명세서에 기재된 시스템은 키오스크 마커리스 종래 시스템과 대조적으로, 추적 및 손가락 및 손의 검출에 초점을 맞춘다. 인간의 손 SOE에서 최적의 입력 후보를 나타낸다. 민첩하고 손재주는, 그 구성은 시스템의 볼륨을 최대한 활용. 또한, SOE의 키 값은 인과 관계에 대한 사용자의 확신이다. 제스처 어휘 평 또는 주로 정적 인 종래의 시스템들과 대조적으로, 실시 형태의 시스템은 키오스크 깊이 치수를 따라 이동을 통합 및 동적 제스처 공간 순차 조작을 달성한다.
지연 특성에서, 프로세싱 알고리즘은 예를 들어, 약 8.5 밀리, 표준 편차는 약 2.5 밀리, 최소 약 2 밀리, 최대 약 27 밀리 초를 평균 2 내지 30 밀리 초 (의 범위를 나타내는 실험과 대기 시간의 약 10 밀리 초 (MS)를 추가 ) 장면의 복잡성에 따라 달라진다. 실시예 실험은 대표적인 시나리오를 반영 (예를 들어, 하나의 사용자, 아니 혼란, 혼란 한 사용자, 두 명의 사용자, 더 혼란). 결과는 일반적인 하드웨어 설정에서 데이터의 1287 프레임에서 추정되었다 (쿼드 코어 제온 E5506 2.13 GHz에서 실행할 수 있다.). 도 11은 실시예에 따라, 키오스크 시스템에서 구현되는 구성 요소를 사용하여 트래킹을 검출하고 각각의 프레임에 대한 처리 결과 시간 (대기 시간)의 히스토그램이다. 결과는 컴퓨터에 카메라와 전송에 캡처 사이의 시간으로 정의 하드웨어 대기 시간을 포함하지 않다. 이 후자의 값은 드라이버 구현에 의존하며, 실험 키오스크 개발 지원 개의 드라이버 느린에 준비된 있었기 때문에 결과는, 드라이버로부터 제 풀로 깊이 데이터를 취득하는 시간으로 정의 획득 지연을 포함하지 않는다. 처리 손 형상에 대한 실시예의 달성 레이턴시는 신규이며, 전형적인 대화 형 디스플레이 시스템에서 하나의 비디오 프레임 내에서의 상호 작용 지연으로 변환. 정확한 손 인식과 낮은 대기 시간이 조합은 SOE에 필요한 원활한 환경을 제공한다.
키오스크에서 SOE의 제스처
관련 출원은 제스처 입력 언어를 기술 한 제스처 어휘 스트링, 여기서 참조하고, 본 명세서에 도시 된 도면을 정의한다. 예를 들어,도 12는 실시예 하에서 SOE의 제스처 어휘 포즈의 다이어그램을 도시한다. 도 13은 실시예에 따라, SOE의 제스처 어휘 방향의도를 나타낸다. 마커리스 시스템은 적어도 다음의 제스처를 인식하지만, 이러한 동작에 한정되는 것은 아니다 :
1. GrabNav, 팬 / 줌 (: XA를 W-) 또는 오픈 손바닥 (|||| - : χΛ)는 동적 순서, 손바닥에있는 X 축을 따라 밀어하고 주먹으로 전환
^ ΛΛΛΛ ^
2. 팔레트 : 위쪽 천장을 향해 한 손가락 점 오픈 포인팅 (오픈 ofp-, ΛΛΛ | -> χΛ, 총, L) 엄지 손가락 클릭으로 전환.
3. 승리 : 정적 제스처 (ΛΛν> : χΛ).
4. 목표 포스트 / 프레임 -이 : 집게 손가락으로 두 OFP-손을 엽니 다
위쪽 천장을 향해 평행 포인트 (ΛΛΛ | -> χΛ)과 (ΛΛΛ | - : χΛ).
5. 촬영 감독 : 두 손으로 제스처에서 검지 손가락으로 하나 OFP 오픈 점은 위쪽을 가리키는 (ΛΛΛ | - : χΛ). 초침도 ofp- 개방에 집게 손가락이 서로 수직이되도록, 회전 (ΛΛΛ | - : χΛ).
6. 왼쪽 / 오른쪽 : 순차적 인 제스처, OFP-열기 (ΛΛΛ | - : χΛ) (손바닥 방향으로 즉, 엄지 손가락 스냅 "폐쇄") 엄지 손가락을 닫아 완료된다.
7. 홈 / 엔드 : 두 손으로 순차적 인 제스처, 하나 OPF 오픈 (ΛΛΛ | - : XA를) 또는 OFP 폐쇄 (ΛΛΛ |> : χΛ)을 따라 두 손으로 주먹에 점 (XA를 MM>) 가로 축.
8. 푸시 백 : 미국 특허 출원 번호 12 / 553,845는 이륙 시각의 연기 제스처를 묘사. 키오스크 실시예에서, 열 손바닥 (||| - : XA를) Z 축으로 가압하고 가로축을 통과.
9. 조그 다이얼이 연속, 두 손으로 제스처에, 한 손으로베이스와 두 번째 셔틀이다. 기본 손 OFP 오픈 포즈이다 (ΛΛΛ | - : χΛ), 셔틀 손 OFP 폐쇄 포즈 (ΛΑΛ |> : χΛ).
본원에 상세히 기술 된 바와 같이 이러한 제스처 구현하고는도 14-16에 도시.공간 매핑 애플리케이션은 상기 동작을도 1 내지 5를 포함하고,도 14는 실시예에 따라, 공간 매핑 애플리케이션에 의해 사용되는 시스템에서 키오스크 SOE의 명령의 예이다.미디어 브라우저 애플리케이션은 상기 제스처 9 내지 4를 포함하고,도 15는 실시예에 따라, 미디어 브라우저 애플리케이션에서 사용 키오스크 시스템에서 SOE의 명령의 예이다.프리 케이션 스위트, 업로드 / 포인터 / 회전, 상기 제스처 3 및도 8을 포함하고,도 16은 실시예에 따라, 업로드, 포인터, 회전 등의 애플리케이션에서 사용 키오스크 시스템에서 SOE의 명령의 예이다.
응용 프로그램
신청은 마커리스 설정 특이성 내의 SOE 방식을 실현 애플리케이션의 예로서 본 명세서에서 설명되지만, SOE 키오스크의 실시예들은 이러한 애플리케이션에만 한정되는 것은 아니다. 마커리스 설정에서 SOE 구현, 이러한 응용 프로그램은 새로운 일을 달성하고 다른 기능과 우선 순위를 반영한다. 실시 형태의 응용 프로그램은 공간 매핑, 미디어 브라우저, 회전, 업로드 및 포인터를 포함한다. 공간 매핑 애플리케이션은 외부 데이터 세트의 통합을 포함하여 복잡한 데이터 세트의 강력한 조작을 가능하게한다. 미디어 브라우저 응용 프로그램은 빛 풋 프린트 프레젠테이션의 유체, 직관적 인 제어 할 수 있다. 회전, 업로드 및 포인터 응용 프로그램은 키오스크 응용 프로그램 간의 원활한 이동을 가능하게 응용 프로그램의 아이폰 OS 제품군을 포함한다. 설치, 휴대 성, 그리고 의지의 측면에서 낮은 진입 장벽을 제공하기 위해, 키오스크는 감소 감지 자원으로 작동한다. 예를 들어, 본원에서 상세히 설명 넥트 센서는 30Hz의 프레임 레이트를 제공한다 관련 출원에 설명 된 시스템의 Vicon 카메라에 의해 판독 실시 장갑 포함, 100 Hz의 특징으로한다. 이 제약 조건 내에서 키오스크는 낮은 지연 시간을 달성하고 신뢰할 수는 추적 및 탐지 시스템과 인식을 제기.
여기에 제공된 SOE 응용 프로그램 예제 만하고 특정 응용 프로그램에 대한 실시예를 제한하는 대신 SOE의 새로움을 표현하고자하는 것은 아니다. 사용자 SOE의 기하학적 공간을 채우는 방법을 구체적으로, 공간 환경의 SOE 애플리케이션 구조 할당과 적절히 렌더링. 사용자 값의 관점에서 말하면, SOE 애플리케이션은 사용자가 완전히 SOE의 볼륨을 사용한다 원활한 편안한 구현을 달성한다. 이와 유사하게, 적절한 시각적 존재를 확실히 화면 -에 SOE 응용 프로그램 구조 시각적 요소와 피드백과, 더 근본적으로 SOE를 들어, 사용자의 제스처와 시스템 응답을 연결하는 공간 조작.
여기에 직접 공간 조작의 사용자 경험을 유지 설명 SOE 응용 프로그램; 3 차원 공간에 약정; 그래픽과 공유 공간의 사용자의 신념. 사용자와 그래픽 같은 공간에 있었던 것처럼, 사용자가 데이터를 조작되도록 SOE 애플리케이션은 다양한 동작을 포함하지만 이에 한정되지 후술 기술을 전개; 속도 임계 값; 차원이 제한된 동작; 그리고 폴 오프.
아키텍처 관련하여, 완전 실시를 활용 SOE의 상호 운용성 접근 방식의 SOE 응용 프로그램. 관계없이 기술 스택 / 운영 시스템과의 SOE 애플리케이션 디스플레이 데이터는 유사하게, 예를 들면, 에지 장치 (예를 들어, 아이폰 등)로부터 로우 레벨의 데이터를 사용한다. SOE 가장자리에 장치를 연결하기 위해 사용자는 해당 발언 g 애플리케이션을 다운로드한다. 설명은 본원 아이폰 OS 또는 다른 클라이언트 g 발언 애플리케이션을 제한하지 않고, 대표적인 예이다 g 발언 포인터 애플리케이션에 의해 제공되는 기능을 설명한다.
관련 출원에서 설명 된 바와 같이, 상관없이 입력 장치, SOE는 풀 아키텍처에 의해 증착 프로테인 이벤트를 받아 들인다. 마찬가지로, SOE 키오스크 프로테인 및 풀 아키텍처를 사용 iOS 장치로부터 데이터를 통합한다. 응용 프로그램은 키오스크 스택에 내장 여기에 활용 피드백을 설명했다. 경우 좌우측 가장자리 센서뿐만 아니라 상부 및 하부 벗어난 사용자의 제스처 이동은, 시스템은 관련 모서리를 따라 사선 막대 신호 할 수있다. 디자인 이유로, 응용 프로그램은 왼쪽, 오른쪽을 넘어 이동하고, 상단에 대한 피드백을 제공한다.
응용 프로그램 - 공간 매핑
(또한, "S-매핑"또는 "S-MAP"으로 지칭되는) 공간 매핑 애플리케이션은 사용자가 큰 데이터 세트를 볼 층, 및 조작 할 수 있도록, 내비게이션, 데이터 시각화 기능을 제공한다. 실제 형상에 내장 된 SOE 내에서 작동, S-MAP은 공간 데이터 렌더링에 적합한 자산을 부담 제공한다. 이 SOE 프레임 워크로, 공간 매핑은 대용량 데이터의 3 차원 조작을 제공한다. 이 인터페이스로 데이터 표현을 동기화으로, 강력한 데이터에 대한 사용자의 상호 작용은보다 직관적이고 영향력이된다. 본원 바와 같은 렌더링 된 데이터 세트의 범위에 관한 것이다. 설명은 본원 지리 구조체 (애플리케이션의 개발에 사용 시나리오)를 호출한다.
공간 매핑 애플리케이션은 사용자가 공간 데이터와 상호 작용하는 방법에 대한 접근의 조합을 제공한다. 기준으로서, 컨트롤의 특정 인식을 강조한다. 본 출원은 직접 공간적 이동으로 사용자의 움직임을 매핑 : 행해지는 일대일 상호 관계, 안정된 조작이 요구되는 유용한 불안 및 제어한다. 직접 데이터 위치, 어떤 시나리오의 키 값은, 지리 정보지도, 예를 들어, 운영자가 특히 유용 할 수있다. 동시에, S-MAP은 사용자가 빨리 큰 데이터 집합을 통해 이동 가능한 빠른 탐색 기능을한다. 사용자 입력의 효과를 승산되도록, 상기 공간 매핑 애플리케이션은 공간 데이터의 입력을 통해 가속도를 연관. 안정 조작 및 빠른 탐색을위한 제스처의 제공에, S-매핑 계정으로도뿐만 아니라 사용자의 움직임과 편안함,하지만 기능을한다. 본원에 기재된 바와 같이, 상기 공간 매핑 애플리케이션은 사용자가 수행하고 작업의 종류에 대응하는 제스처. SOE 따라서 데이터에 대한 사용자의 원활한 처리를 제공한다. 사용자의 조작은 데이터 자체를 명령한다.
필터링
실시의 공간적 매핑 애플리케이션은 본 명세서, 지구의지도 전체에 사용 된 예에서, 홈과 같은 화상을 표시 연다. 사용자는 입력 요소 한편, 트래킹을 제공하고 검출 파이프 라인은 제스처 데이터를 제공하는 경우. 어플리케이션은 별도로 정밀도 표현의 높은 정도를 사용자에게 제공하기 위해,이 데이터를 필터링 시스템의 다양한 동작을 수행하기 쉽고 즐겁게 만들면서. 원시 공간적 움직임은 운전중인 인터페이스 요소에 적용되기 전에 일차 로우 패스 필터에 통과된다.
사용자의 실제 움직임을 직접 디지털지도의 논리 움직임을 구동 등의지도 탐색 제스처와 같은 상호 작용, 의도하지 않은 동작이나 잡음이 원하는 위치에 점점이 어렵거나 불가능 할 수 있다. 잡음원 인해 저 충실도 트래킹 센서, 사용자의 움직임을 추적하는 데 사용되는 알고리즘의 아티팩트 천연 사용자의 손 떨림, 오차를 포함한다. 프레임 그것과 수직 메뉴 제스처 몇 이름, 실시 형태의 필터링은 잡음의 이러한 소스 카운터 적응 필터링을 포함하고, 이러한 필터링은 다음과 같은 아날로그 타입의 동작에 사용되지만 잡아 탐색에 한정되지 않는다.
실시 형태의 적응 필터링을 사용하여 예로서 손잡이 제스처를 감안도 17a는 손 변위 지수 매핑 상기 사용자가 자신의 손을 이동 잡음 악화를 확대 도시한다. 이 효과에 대처하기 위해, 필터의 강도가 사용자의 변위에 비례 실시예에서 (예를 들어, 증가, 감소) 적응 적으로 변경된다. 도 17B는 양 손으로 변위 실시예 하에서, 대표적인 적응 필터 함수를 사용하여 (사용자쪽으로 당기는) 핸드 변위 (X 축) 대 줌 배율 (Z) (Y 축)의 플롯을 나타낸다. 예의 대표적인 적응 필터 함수는 다음과 같은, 그러나 이에 한정되지 않는다 :
Figure pct00001
£ 변수는 필터 함수 곡선의 편심, 변수 x가 운동 범위를 나타내고, Zmax 순과는 최대 줌을 나타낸다. 정규화 변위 각 신체 파라미터의 실제의 차이 (예를 들어, 팔의 길이 등)에도 불구하고 시스템을 통해 동일한 제어를 가지고, 전체 줌 범위가되도록 상관없이 사용자의 이동 사용자의 개인 영역에 매핑 될 수있다. 다음 네거티브 손 변위 (멀리 밀어)의 경우, 줌 배율 (Z)을 산출한다 :
Figure pct00002
더 상세하게 잡아 제스처 예를 고려하면, 도 17C는 오픈 손바닥이 실시예에서,지도 표시에 지역을 대상으로 화면의 커서를 드라이브로 손 변위의 지수 매핑 확대하는 방법을 보여준다. 도 17D 손 변위의 지수 매핑이 실시예에서, 팬 / 줌 제스처를 초기화 주먹으로 손 떨림에 해당하는 확대하는 방법을 보여준다. 변위는 주먹이 처음 나타나는 위치에서 측정한다.
도 17E 손 변위의 지수 매핑이 실시예에서 (동시에 발생할 수 있다)지도, 패닝 및 확대시 확대하는 방법을 보여준다. 실시의 초기 핸드의 변위를 크게 비교적 얕은 량을 생성하고,이 용서 영역은 고정 된 배율로지도를 탐색하는 방법을보다 안정을 허용한다.
도 17F는 오픈 손바닥이 실시예에서, 운동의 편안한 물리적 인 범위에서 더 먼 거리에 도달 할 수있게한다지도 표시에 지역을 대상으로 화면의 커서를 드라이브로 손 변위의 지수 매핑 수준을 확대 할 수 있음을 보여준다. 도 17G는 손 변위 직접적인 매핑은 사용자가 항상 실시예 하에서, 제스처가 시작되는 위치와 줌로 복귀 할 수 있다는 것을 보장 나타낸다.
탐색 데이터 세트
사용자는 효과의 두 가지 동작의 순서와,이 집의 이미지 및 이후의 그래픽을 탐색 할 수 있다. 이 시퀀스는 잡아 / 탐색 및 팬 / 줌을 포함한 용어라고한다. 공간 매핑 응용 프로그램 전반에 걸쳐, "V"제스처 (AAV> : XA를) 전체 재설정을 시작한다. 지도는 (위의 시작 지리 예, 예를 들어, 온 땅)의 "홈"화면으로 돌아 확대된다.
먼저, 사용자가 맵 "잡고". 손바닥 (W-: XA를) 또는 오픈 손바닥 (|||| - : XA를) 지역을 대상으로 측면면을 가로 질러 커서를 이동한다. 주먹으로 전환 (ΜΜ>, χΛ는) 다음지도에 커서를 잠근다. 사용자가 지금 할 수있는 "드래그"지도 : 이미지 프레임에 매핑 정면 평면을 가로 지르는 주먹,지도를 이동한다. (아래 코멘트)을 이륙 시각의 연기 유사한 기능으로, 팬 줌은 다른 논리 변환에 깊이 차원에 따른 움직임의 상관 관계.
팬 / 줌 시퀀스에서, 사용자는 주먹 (ΛΛΛΛ>; χΛ) 스크린을 향해 밀어 줌 효과를 : 큰 데이터 영역으로서 표시되는지도의 표시 영역이 축소된다. 제스처 운동 전반에 걸쳐 데이터 프레임 디스플레이는 수준을 확대 묶여있다. 분명히 대부분의 현재 줌 레벨 스트림을 묘사하고 너무 크거나 맵이 확대으로 너무 작아 그 대체 데이터 프레임. 사용자가 화면에서 멀리 주먹을 끌어 마찬가지로,지도 영역이 점진적으로 작은 데이터 영역을 표시, 표시쪽으로 확장 할 수 있다. 또한, 사용자는, 정면 면내 주먹을 변위시킴으로써지도의 표시 영역을 패닝지도 평행있다. 수직 주먹의 움직임이 아래로 초점 이동하면서 측면 주먹의 움직임은 오른쪽에있는지도와 왼쪽 팬.
키오스크의 감지 환경, 제한, 주먹 손바닥에서이 전환을 잘못 해석 할 것이다. 사용자가 신속하게 측면 평면을 통과 할 때, 센서는 주먹 흐리게 손바닥, 해석한다. 기능을 확보하기 위해, 상기 공간 매핑 애플리케이션은 제스처로 속도 임계 값을 포함한다. 빠른 움직임은 주먹의 감지 및 그 이후의 피드백을 유발하지 않다. 대신에, 실시예는 의도적 인 맞물림을 사용하여 일정한 속도로 수평 이동을 초과하면 지속적으로, 응용 프로그램은 이동을 해석한다. 그것은 "주먹"인식에 뛰어하지 않다.
주먹 제스처 센서의 정밀도 필드 내에서 작동하는 다양한 제스처이다. 사용자 "을 고정"또는 "잠금"사용자의 데이타 스페이스 위치 : 동시에 그것을 잡아와 노력 내장 디자인 효과를 제공한다. 심지어 화소 정확한 검출을 허가하지 않는 본원에 기재된 넥트 같은 센서, 사용자는 정확한지도 영역을 선택할 수있다.
대용량 데이터 세트를 조작하기위한 도구로서, S-매핑 민첩한 움직임이 잠금 단계를 병치. 광범위한 데이터 세트로 작업하기, 사용자는 넓은 범위를 밀어해야한다. 지구의지도와 사용자는 국가, 주, 도시, 지구 수준에서 뛰어 수 있다.
직접 매핑 데이터를 통해이 스윕을 손상 것이다. 따라서, 실시 형태의 시스템의 제스처가 제스처 공간의 범위를 제한한다.
또한, 사용자의 공차 예의 제스처 범위를 제한한다.
일반적으로, 사용자가 편안하게 제한된 거리에 사용자의 손을 이동한다.
부정확 입력을 불안정, 사용자의 제스처에 침범.
유용성의 매개 변수에 제스처를 적합하면, SOE의 핵심 원칙과 디자인 실행한다. 대용량 데이터 세트를 통해 탐색을위한 강력한, 응용 프로그램은 "감쇠,"출력에 대한 입력의 비선형 매핑 기술을 사용한다. 사용자가 데이터 또는 범위로 줌아웃이 가속도 성분을 제공한다.
시스템은 주먹 처음 나타나는 위치로부터의 변위를 측정한다. 그것이 Z 변위의 원점을 기억하므로, 사용자는 사용자가 줌 제스처를 시작 위치로 복귀 할 수있다. 응용 프로그램이 동시에 팬 및 줌을 지원하지만, 초기 오프셋 손은 제한된 효과를 얻을 수 있다. 이 버퍼 영역은 고정 줌 레벨에서 안정적인 탐색을 제공한다.
애플리케이션은 기하 급수적으로 본원 상세히 설명 된 바와 같이 줌 손의 Z 변위를 매핑한다. 그 효과에있어서, 매핑 애플리케이션은 사용자가 빨리 큰 데이터 세트 내의 콘텍스트를 조달함으로써 푸시의 주요 기능을 회상한다. 관련 응용 프로그램은 상황화 상세하게 제스처를 설명한다.
푸시 백은 수평축 데이타 스페이스의 번역 깊이 치수를 따라 움직임에 관한 것이다. 깊이 치수를 따라 사용자의 움직임은 Z 축 데이터 프레임의 변위와 이웃 횡 (오른쪽, 즉, 왼쪽 프레임)을 트리거한다. S-MAP에서, 맵은 공간적으로 고정 된 채로 유지되고, 사용자의 움직임은 논리적 줌 레벨, 또는 매핑되는 "고도 인자." 언급 한 바와 같이, 패닝 및 응용 프로그램에서 동시에 발생할 수 확대. 이러한 S-MAP을 도 없다 "죽은 공간"과 문양 피드백 등의 구성 요소는이 문서의 뒷부분에서 설명하는 미디어 브라우저 응용 프로그램에 포함되어 있다.
데이터 세트를 레이어링
S-MAP의 두 번째 조항은 다수의 데이터 세트는 구상이다. 단지, 대용량 데이터 세트의 확산과 함께, 개개의 범위 탐색은 병설 자신의 질문에 의해 효율적으로 이어진다. 이 애플리케이션은 유체와 레이어링 된 데이터 세트에 대한 액세스를 결합한다.
관련 응용 프로그램은 SOE는 새로운 프로그래밍 환경이다 방법에 대해 설명한다. 전통적인 상호 컴퓨팅에서 출발, 그것은 매니 폴드와 근본적으로 다른 프로세스를 통합하고있다. 이 데이터 유형 및 구조뿐만 아니라, 프로그램 언어의 차이에도 불구하고 교환을 지원한다. 매핑 애플리케이션에서, 사용자는 액세스 할 수 있고, 서로 다른 소스 및 시스템의 데이터 계층을 제어한다. 예를 들어, 지리 반복 상업 매핑 공급 업체의 도시 국가지도에 액세스 할 수 있다; 자체 레거시 시스템에서 데이터를 인력; 공급 업체의 시스템에서 창고 자산. 데이터는 로컬에 저장하거나 네트워크를 통해 액세스 할 수 있다.
애플리케이션은이 데이터를 액세스하는 "렌즈"기능을 포함한다. 이 기능에 대한 다른 조건은 제한되는 것은 아니지만 포함 "형광 투시경." 지도의 부분에 배치하면, 렌즈는 그 영역에 대한 데이터를 렌더링한다. "렌즈"라는 라벨이 제안한 방식에서, 선택된 영역은 데이터 렌즈를 통해 볼 수있다. 데이터 셋이 패널에서 디스플레이의 좌측에 나타나는 ( "창", "표", "카세트"및 다른 유사한 용어로 지칭). S-MAP의 디자인은 배경 맵을 강조 : 사용시 시각적 서랍 만 존재한다. 이 SOE 조작으로 그래픽에 대한 강조, 깨끗한 공간 경험을 방해 할 수있는 지속적인 메뉴의 강등을 유지하고있다.
이 사이드 메뉴를 끌어 제스처 워크 플로우를 반영한다. 우선, OFP 공개 (ΛΛΛ | - : χΛ)은 화면의 좌측에 표시하는 수직 메뉴를 트리거. 호출은 왼쪽이나 오른쪽 손에 의해 소환, 양손이다. 그런 다음, 수직 운동은 선택 내에서 이동, 그리고 마지막으로, 손목의 엄지 손가락 또는 래칫-회전을 클릭하여 선택 사항을 해결한다. 선택에 상하 이동하거나 할 때, 단지 Y 축은 응답 인터페이스에 기여한다. 부대 손 운동의 X 축 및 Z-구성 요소는 기여하지 않다. 하나의 축이 잠금 SOE 응용 프로그램에서 자주 사용되는 중요한 사용성 기술이다.
이러한 설계는 실시예의 시스템의 두 가지 원칙을 반영한다. 플로로 정렬, 시퀀스는 사용자가 제스처를 사용하는 방법과 상관하도록 설계된다. 둘째, 자신의 한 차원 측면은 해당 차원의 확장 사용할 수 있다. SOE는 세 가지 차원을 열어 있지만, 그것은 전략적으로 효율적으로 입력 프레임과 긍정적 인 사용자 경험을 제공하기 위해 형상의 구성 요소를 사용한다.
이 선택 과정에서, 프로그램 전반으로, 사용자는 두 가지 방식으로 재설정 할 수있다. 본원에 언급 된 바와 같이, "V"제스처 (AAV> XA를) 전체 재설정을 산출. 지도 위의 시작 지리 예, 예를 들어, 다시 "홈"화면 (온 땅에 확대 영구 렌즈는 사라질과 자신을 삭제 주먹 동작이 수행 "로컬"재설정 :.. 사용자는 확대 한 경우 영역 맵이 끼워 식 유지한다. 그러나, 주먹 제스처를 형성하여, 렌즈는 사라질 것이고 제스처 탈출시 자신을 삭제한다. "V"와 주먹 리셋 모두에서, 시스템은 렌즈 선택의 메모리를 보유 렌즈의 물리적 인스턴스가 분산도있다. 리셋 후 렌즈를 프레임 사용자가 마지막으로 선택한 렌즈 타입의 인스턴스를 만든다.
주먹 제스처는, 본원에 기재된 바와 같이, 네비게이션의 "복"함수이다. 이 제스처 리콜로, 인터페이스는 깔끔하고 단순한 느낌을 유지한다. 그러나, 애플리케이션은 다시 사용자 공차 주위 설계한다. 주먹을 형성하는 경우, 하나의 사용자 연습 폐쇄 손가락을 곱슬 머리,하지만 또한 손을 삭제뿐만 아니다. 응용 프로그램이 직접 매핑을 배포하고, 주먹 제스처지도 "를 잡고"때문에, 낙하 손을 바닥에지도를 양키스. 다시 말하지만, 속도 임계 값은 제스처에 통합되어 사용자가 손잡이를 트리거하지 않는 특정 속도를 초과. 대신 시스템이 재설정으로 주먹을 해석한다.
데이터 세트를 레이어링 - 오버레이
데이터 세트를 선택하면, 사용자는 생성과 같은 세 가지 방법으로 층을 사용한다 : (1) 전체에지도를 이동시키는 단계; (2) 렌즈의 크기를 조절; (3)을 확대하면지도를 재정의한다. 이러한 작업을 결합하도록, 사용자가 렌즈를 인스턴스화한다. 다시 워크 플로우를 다음, 선택 후 제스처는 왼쪽 또는 오른쪽 중 하나 OPF - 손바닥의 구성을 기반으로. 선택한 렌즈를 렌더링하려면, 초침이 "프레임을"에서 발생 (골대처럼 나타나는). 그것은 집게 손가락 병렬 및 천장을 향해 가리키는 두 OFP 오픈 손을 사용 (ΛΑΛ | - : χΛ)과 (ΛΛΛ | - : χΑ). 제스처 쉽게 확장, 팔레트 메뉴 제스처에서 깨끗하게 segues.
이 데이터는 현재 렌즈 위치를 변경할 수있다. 본원에 기술 된 바와 같이 사용자가 이동으로, 렌즈는 계층화 된 영역 위에 데이터를 투영한다. 사용자는 성장 또는 사용자의 "프레임"의 측면을 따라 기부 사용자의 손을 확산함으로써, 렌즈의 크기를 축소 (즉, X 축에 따라, 사용자의 손가락을 통해 뻗은 가상 선에 평행 한) 수있다. 기본 투시기의 표현은 그 지역의 성장 또는 크기 조정과 축소 광장이다. 사용자는 "프레임을"90도 회전시켜 종횡비를 변경할 수있다. 기능,이 "촬영 감독"제스처 (ΛΛΛ | - : χΛ)과 (ΛΛΛ | - : χ-) ". 프레임을"에 해당 비록 사용자가 자신의 손에 의해 형성되는 사각형의 크기를 조절함으로써 종횡비를 설정할 수있는 현명한 피쳐.
이 "프레임을"- 후속 제스처로 - 고급이며, 기능 및 프리젠 테이션에 모두 최적화하는 "프로"사용자에 의해 완벽하게 활용된다. SOE 제스처 인터페이스는 프리젠 테이션 자산의 모음이다 : 제스처는 극적인 급격하게 수행 가능하면 전체 볼륨을 표현한다. 사용자는이 스윙 할
감독 큰 아크 프레임 등은 렌즈 오버레이를 강조한다. 그는 시스템의 허용 오차를 학습으로 풍부한 제스처 인터페이스는 사용자 미세 조정 그의 제스처를 할 수 있다. 이 날카 롭거나 극적인 몸짓으로, 그는 자신의 입력을 최적화 할 수 있다.
투시기 화면 맞물려 다수의 방식으로 데이터를 표현할 수있다. 형광 투시경 화면을 종사 그래서 다음과 같이 데이터가 표현하는 세 가지 예 방법 :
(1) 화면 전체를 포괄하는 데이터 층 ( "풀 스크린"모드로 전환), 사용자는 그의 손을 퍼진다. 임계 거리를 넘어, 렌즈는 전체 화면을 포섭 전체 화면 모드로 이행한다.
(2)에지도 데이터 층을 해결하기 위해, 사용자는 맵 "에"렌즈를 푸시;
즉 화면을 향해 밀어. 사용자는, 예를 들면, 지리적 영역으로서 특정한 영역에 렌즈를 할당 할 수있다. 사용자가 주변의지도를 이동함에 따라, 렌즈는 할당 된 영역에 고정 남아있다.
(3) 사용자는 그를 향해 렌즈를 당긴, 디스플레이 데이터 층을 고정한다. 디스플레이에 부착 된 렌즈는, 배경 이미지 위에 수레. 사용자가 주위를 이동할 때지도 렌즈 아래로 이동하는 경우,지도 데이터를 보여준다.
이 밀거나 각각 맵 또는 디스플레이 상에 스냅에게 렌즈를 당기는. 물리기로 리사이징부터 순서 애플리케이션 SOE 형상의 빌딩 블록을 사용하는 방법의 예시이다. (제스처 표현 할 때 / 팔레트를 호출 한 차원 내에서 제약) 렌즈 선택과 마찬가지로, 렌즈 크기 조정은 하나의 평면, 즉 정면에서 발생한다. Z 축이어서 스냅 동작에 사용된다.
데이터 계층화에 대한 이러한 제스처는 두 가지 이유로 사용자 연습을 중심으로 설계되어있다. 우선, 사용자의 "프레임"렌즈는, 실시예는 사용자가 이격 / 그의 손을 함께 밀어하고자 얼마나 빨리 고려한다. 운동의 편안하고 표현 범위는 실제 공간의 측면에서 측정된다. 신체가 이동하고자 얼마나 반영하여 어플리케이션을 조정할 수있다 제스처 또는 사용자 당 장치. 사용자 경험을 향상시키는 것 외에,이 접근법은 출력 불가지론 자이다. 화면 크기가 제스처 발현에 영향을 미치지 않는다. 사용자의 움직임이 일정이 디커플링은 애플리케이션을 포팅 용이하게한다.
사용자가 선택하고 렌즈를 구현하는 바와 같이, 오버레이는 투명성을 통합 할 수 있다.
토폴로지 데이터 투명성을 이용한다 렌즈의 예이다. 시스템은 적절한 투명도를 통합 기본 맵과 다른 층의 상부에 렌즈를 합성한다.
에지 장치
SOE 제로는, S-MAP (상기 "콘텍스트"에 정의 된 바와 같은) 에지 장치에서 낮은 수준의 데이터를 통합하는 옵션을 허용한다. 그러나 여기에는 애플리케이션 디바이스로부터 관성 데이터를 사용한다 "포인터"기능에 한정되지 않는다. 아이폰 인 일례의 장치는, 아이폰 OS 클라이언트 다운로드 g 발언 포인터 애플리케이션을 포함한다. 화면에서 전화 포인팅, 아래로 손가락을 들고, SOE 지역 내의 모든 사용자가 화면에서 커서를 추적 할 수 있다.
응용 프로그램 - 미디어 브라우저
미디어 브라우저는 쉬운 사용 및 액세스를 제공하기 위해 만들어졌다. 또한 SOE의 유기 적응성을 반영 엔지니어링 복잡한 데이터 세트를 동적으로 제어 할 수있는 동안, 그 방법은 간단 자연스럽게 식에서 스틸 링. 전체 SOE 개발 공간, 키오스크 사용자와 운영 요구의 범위에 적합한 응용 프로그램을 지원한다. 여기에, 브라우저는 미디어 갑판의 직관적 인 탐색을 할 수 있다.
시작에서 응용 프로그램은 오른쪽 상단 영역에 불만 "거울"와 홈 슬라이드로 열린다. 시스템의 피드백 요소는,이 거울은 입력을 감지 표시하는 작은 창이다. 정보를 표시 또는 깊이의 외부 사용자에게 특정 기준 정보를 저장하지 시스템을 익명으로 수집된다. 미러 표시 깊이 정보와 불만 문자열 모두. 피드백은 두 가지 이점이 포함되어 있다. 첫째, 애플리케이션은 시스템이 활성화되어 사용자에게 시그널링 결합을 나타낸다. 둘째, 거울 입력에 현장 디버깅 메커니즘으로 작동한다. 입력 피드백, 사용자는 시스템이하고 사용자의 해석을 확인 할 수있다.
비 스크롤 제스처 / 기능
그 시작에서 아무도 제스처 실시예에 따라 작업을 시작하기 위해 필요하지 않다. 유저는 다음을 포함하지만 이에 한정되지 않는다 그의 기능, 필요에 따라 입력을 제공 할 수있다 : 사용자가 왼쪽 또는 슬라이드 하나씩 통하여 진행할 오른쪽 "클릭 수"여기서, 이전 / 다음; 홈 / 엔드, 여기서 사용자가 첫 번째 또는 마지막 슬라이드로 이동한다; 사용자가 그리드 디스플레이 선택에서 모든 슬라이드를 볼 수 있다 개요; 사용자가 빠르게 측면 슬라이드 디스플레이를 통해 스크롤 스크롤, 속도는 기반.
재고는 여기에 이름과 상관 함수에 의해 동작을 나열하고 시스템 입력에 대해 설명한다. 슬라이드 하나씩을 진행하기 위해, 사용자 권한 이전 / 다음을 위해 왼쪽 / "클릭 수".
제스처는 두 부분 서열이다. 첫 번째 구성 요소는-OFP 열려 (ΛΛΛ | - : χΛ); 그 방향은 방향을 나타낸다 : 이전 슬라이드로 왼쪽으로 왼쪽으로 이동, 위쪽을 가리키는; 오른쪽 손으로 가리키는 것은 다음 슬라이드로 바로 이동한다; 좌우 (지면 검지 평행) 가리키는 점의 방향으로 이동한다.
응용 프로그램은 사용자의 입력에 대한 시각적 피드백을 제공한다. 제스처의 첫 번째 부분은 진동 화살표를 표시한다. 화면의 중요한 측면에 나타나는, 화살표는 사용자의 입력 방향에 의해 정의 된 브라우저, 이동 방향을 나타낸다. 엄지 (: | : χΛ> χΛ 또는 ΛΛΛ ΛΛΛ을 ||) 폐쇄에 의해 그 방향으로 제스처 "클릭"의 두 번째 부분. 시각적 피드백도 제공을 포함하지만, 가능한 움직임을 약간 어둡게 나타 내기 위해 화살표로 한정하지 않으며, 사용자에게 표시하기 위해 적색 점멸 블록 슬라이드 데크의 양쪽 끝에이다.
첫 번째 또는 마지막 슬라이드, 그의 주먹에 사용자 점, 수평 축을 따라 두 손으로 이동한다. 시스템이 가리키는 허용하거나 개방 (ΛΛΛ | - : χΛ) 또는 폐쇄 (ΛΛΛ |> : χΛ). 가리키는 방향은 방향을 결정한다. (왼쪽 주먹으로) 왼쪽을 가리키는 것은 첫 번째 슬라이드로 이동한다. (오른쪽 주먹을 향해) 오른쪽 포인팅 마지막 슬라이드로 이동한다.
개요 기능으로 브라우저는 그리드의 모든 슬라이드를 표시한다. 개요 입력하려면, 사용자 점 촬영 감독 제스처에 두 손. 어느 감독 또는 목표 후 다시 마지막으로 표시된 슬라이드, 개요에서 사용자를 종료한다. 푸시 백 슬라이드를 통해 사용자가 스크롤을 할 수 있다 및 순차 수평 갑판에 표시 할 다른 하나를 선택한다.
제스처 스크롤 / 기능 - 푸시 백
브라우저의 스크롤링 기능은 신속하고 정밀하게 데크 슬라이드 수평 모음을 탐색 할 수있게한다. 두 제스처 - 이륙 시각의 연기 및 전화 조깅 - 스크롤 유사 제정 기능을 제공한다. 미디어 브라우저 응용 프로그램이 사용자를 대신하여, 공간을 할당하고, 그래픽 디스플레이로 사용자의 움직임의 상관 관계를 어떻게 그들의 설명은 여기에 대한 의견을 포함한다.
관련 응용 프로그램은 어떻게 푸시 quantized- "멈춤"와 구조 사용자 상호 작용을 ~ 공간을 설명한다. 공간 차원과 제어 파라미터를 관련시킴으로써, 사용자는 빠른 문맥을 취득 할 수 있다. 구체적으로는, 미디어 브라우저에서, 데이터 세트의 요소를 포함하는 슬라이드는 동일 평면 및 측 방향으로 배열된다. 데이터 공간은 Z 방향의 단일 천연 멈춤 및 X- 멈춤 쇠들을 포함한다. 푸시 백은이 두 연결한다.
이륙 시각의 연기 스키마는 두 구역으로 깊이 치수를 나눈다. "죽은"영역은 디스플레이에서 멀리 절반 공간이다; "활성"영역은 디스플레이가 가깝다. 수평 평면을 따라, 볼 슬라이드의 좌우에 규칙적으로 이격 된 동일 평면의 데이터 프레임이있다.
사용자는 때 슬라이드에, 오픈 손바닥 (- : χΛ ||||)를 형성한다. 이 시스템은 공간에 그 시점을 등록, 두 개의 동심원 문양을 포함하는 레티클을 표시한다. 작은 내부 문양은 손이 사각 지대에 있음을 나타낸다. 문양은 성장하고 사용자가 사각 지대에 앞뒤로 그의 손을 이동로 축소. 그의 손바닥과 스크린 사이의 가능한 깊이를 확장하기 위해, 사용자는 그의 손을 뒤로 당길 수있다. 특정 임계 값에 도달 할 때까지 내부 문양의 크기 감소, 및 링 디스플레이 안정화시킨다.
언제든지 사용자는 z 축으로 밀 수있다. 그가 활성에서 데드 존을 분리하는 임계 값을 초과하면, 시스템은 푸시 백을 트리거한다. 시스템은이 임계 손 상대적인 Z- 값을 측정하고, 그 설명을 스케일링 함수와의 대응을 생성한다. 결과 값은 상기 데이터 프레임과 횡 이웃 Z 축 변위를 발생시킨다. 원근법으로 밀려 것처럼 화상 프레임은, 디스플레이에서 멀어. 미디어 브라우저에서 효과는 슬라이드의 순서로 멀어져 개별 슬라이드이다. 사용자가 밀고 당기는으로, Z-변위는 지속적으로 업데이트된다. 효과는 슬라이드 세트 횡 멀어져 그의 운동에 직접 응답하여 다가가 배치된다.
사용자가 이륙 시각의 연기 임계 값을 초과 할 때 문자 모양도 변경. 스케일링 기반 디스플레이로부터, 회전 모드로 이행한다 : 임계 손 오프셋의 실제 Z 축 오프셋 양 (평면)의 각도로 매핑된다. 전에 같이, 외부 그리 정적이다 내부 문양으로 화면에서 멀리 이동 관련, 시계 방향과 반 시계 방향으로 회전한다.
활성 존 진입 사용자는 두 번째 차원의 활동을 트리거한다. X 축 이동은 수평 프레임 세트의 X 변위와 유사하게 관련된다. 양의 값은 데이터 세트의 요소는 사용자의 손에 의해 조작으로 ~ 즉 좌우 슬라이딩 slides-에 대응한다. 미디어 브라우저에서, 사용자가 스크롤 오른쪽으로, 글리프는 시계 방향으로 회전한다. 왼쪽 스크롤, 문자 모양은 반 시계 방향으로 회전. 사용자는 푸시 백을 종료하고 포즈 오픈 손바닥을 위반하여 슬라이드를 선택한다. 사용자는 슬라이드를 선택 글리프를 위치 : 센터를 문자 모양 슬라이드 가장 가까운 화면을 채운다. 프레임은 다시 하나의 슬라이드는 디스플레이와 동일 평면 원래 Z-텐트에 스프링을 수집한다.
시스템의 푸시 백 필터의 표현은도 18a 및도 18b에 도시된다. 요약하면, 애플리케이션은 Z 축 및 X 축에 대응 한 성분으로 분리되는 손 위치 변위를 계산한다. 오프셋은 오프셋의 크기에 따라 계수 조정된다. 계수 계산은 측면과 깊이면을 따라 움직임의 속도로 연결된다. 효과적으로, 작은 속도는 감쇠된다 빠른 움직임이 확대된다.
미디어 브라우저에 푸시 백 두 가지 구성 요소가 포함되어 있다. 상기 설명은 사용자가 z 축으로 가압하기 전에, 그 Z 축 푸시의 큰 범위를 제공하는, 위로 당긴다 주목. 사용자가 뒤로 당긴 같이, 상기 시스템은 변위를 계산하여 푸시 백을 결합하도록 교차되는 위치에, Z 값이 적용된다. 사용자가 단지 제스처의 끝 근처 푸시 맞물린 상황과는 대조적으로,이 결합은 효율적인 제스처 움직임을 제공한다.
또한, 미디어 브라우저 애플리케이션에서 푸시 센서 Z - 지터하도록 구성된다. 손바닥 깊이 밀어 AS / 더 Z 축을 따라, 센서는 지터가 발생. 센서의 허용 오차 내에서 안정적인 입력을 사용하려면, 시스템은 제스처의 궁극적 인 깊이 범위를 제한한다. 다음 키오스크 미디어 브라우저 애플리케이션에서 구현 푸시 제스처 필터의 예 식은하지만 실시예는 이에 한정되지 않는다 :
Figure pct00003
"흔들"는 수평 방향 운동을 설명하고 "밀어"는 / 뒤로 이동 앞으로 다루고 있다. 쑤셔 필터 VMAX 빨리 빠른 이동을 초래하는 더 작은 것을 제외하고는 모두 필터는, 실시예에서와 동일하다.
일반적으로, 실시예는 현재 프레임에 대한 (DV)의 오프셋 위치를 계산 한 후, Z 축 및 X 축에 대응 쑤셔 성분 (deltaShove) 및 시미 (deltaShimmy) 컴포넌트로 분리한다. 실시예는 오프셋의 크기에 따라 계수 부분적 오프셋을 스케일링하고, 상기 오프셋 합친 재구성한다.
계수가 1.0 인 경우, 스케일링이 적용되지 않고, 오프셋 물리적 정확하게 오프셋 가상 매핑된다. (0.0, 1.0)의 값은 운동을 감쇠 1.0 상기 값은 모션을 확대한다.
계수 계산은 속도가 (쑤셔 1000에 이상 진동에 대한 40-1800 40) 다른 범위에 앉아 위치에 따라 최소 및 최대 계수 (0.1 여기에 1.1) 사이에 선형 보간이다. 실제로, 이것은 작은 속도에 대한 상당한 감쇠가 적용된다는 것을 의미하지만, 빠른 움직임이 어느 정도 (예를 들면, 10 % 등)에 의해 확대된다.
도 18은 본 발명의 실시예에서 제 1 범위 [0 ... 1200 (전체)에 대한 쑤셔 필터 응답이다. 도 18b는 실시예 하에서 초 범위 [0 ~ 200] (크게)에 대한 밀쳐 필터 응답이다.
스크롤 입력 / 기능 ~ 조그 다이얼
조그 다이얼은 추가 스크롤 상호 작용을 제공한다. 이 두 손으로 제스처는 속도 제어를 제공하는베이스와 셔틀을 가지고 있다. (| - : χΛ ΛΛΑ) 및 셔틀 손 OFP-닫혀 (ΛΛΛ |> : χΛ) 기본 손-OFP 열려 있다. 시스템이 제스처를 감지하면, 200 ms의 기간 동안의 거리를 추정하고, 다음 슬라이드 데크의 수평 속도까지의 거리의 변화를 매핑한다. 관련 Aapplications에 설명 된대로 제스처, "죽은"영역, 또는 중앙 멈춤 쇠에 의존한다.
그 최소한 하나를 초과하는 임의의 거리에서, 응용 프로그램은 속도에 해당 값을 매핑한다. 매개 변수들은 응용 프로그램이 화면 자산의 사이즈를 고려되도록, 화면 크기에 비례한다는 계산된다. 이 디스플레이 요소가 큰 큰 화면에 예, 빠른 이동을 위해, 할 수 있다. 속도는 프레임 속도에 의해 변조 및 셔틀 손의 계산 속도에 혼합된다.
다음 키오스크의 실시 형태에서 실행 된 조그 - 다이얼 식의 예는 있지만, 실시예는 이에 한정되지 않는다 :
Figure pct00004
일반적으로, 실시 추정 손 거리 SOE 키오스크 (baseShuttleDist)은 상호 작용하고 약 +/- 15mm 내의 임의의 변화는 아무런 영향 (중앙 멈춤 쇠)가없는 시작하면되지만,이 실시예는 이에 한정되지 않는다. 사용자가보다 +/- 15mm를 이동하는 경우, 거리 (마이너스 멈춤 크기) ShuttleSpeed 기능에 의해 속도로 매핑된다. 자산 자체가 물리적으로 큰 이래로 큰 화면에 더 빠른 이동 자연스러운 느낌으로 shuttleScale 파라미터는 화면 크기에 비례한다. 또한, 속도는 전역 shuttleVelocity로 프레임 레이트 (DT)과 혼합하여 변조된다.
달성 효과는 기능이 다른 스케일과 손의 거리에서 작동하는 방법을 보여도 19A-19C,에 도시 된 바와 같이, 기본적으로 선형이다. 도 19a는 실시예 하에서 핸드 거리와 상대 속도를 나타내는 제 1 그래프이다. 도 19b는 실시예 하에서 핸드 거리에 상대 속도를 나타내는 제 플롯이다. 도 19C는 실시예 하에서 핸드 거리와 상대 속도를 나타내는 제 플롯이다. 실시 형태는, 거리를 의미하는 직접 속도에 대체로 선형 매핑되어 있지만, 짧은 거리를위한 시스템은 본원에 개시된 특징들의 조합은 정확하고 느린 움직임과 빠른 동작 모두를 할 수 있기 때문에 더 많은 제어를 가능하게하는 더 느리게 움직일 수있다.
아이폰의 입력
SOE 제로는, 미디어 브라우저 받아서 다른 장치에서 사용 가능한 낮은 레벨 데이터에 응답한다. 예를 들어, 브라우저는 아이폰 OS 클라이언트에 대응 g 발언 애플리케이션을 다운로드 한 아이폰 같은 디바이스로부터의 관성 데이터를 받아 들인다. 이 아키텍처는 행동에 대한 장치에 입력 기본을 지정할 수 있다 :이 경우, 더블 탭은 G-이야기 포인터 응용 프로그램에서 제공하는 "포인터"기능을 결합한다. 압력을 유지하는, 사용자는 슬라이드를 가로 질러 커서를 추적 할 수있다.
비디오
응용 프로그램은 비디오 통합과 제어를 지원한다. OFP-오픈 (ΛΛΛ | - : χΛ)은 비디오를 재생; 주먹에 폐쇄 (ΛΛΛΛ> : χΛ)는 일시 중지한다. 다시, 시스템은 또한 G-이야기 포인터 응용 프로그램과 함께 사용할 수 아이폰에서 같은 데이터를 받아 들인다 : 더블 탭 재생 일시 정지; 슬라이드 세정을 트리거한다.
응용 프로그램 - 에지 스위트 룸 - 업로드, 포인터, 회전
응용 프로그램 제품군은 키오스크의 데이터 / 장치 통합 기능을 강조한다. 앞서 언급했듯이, SOE는 세계적인 공간이다. 관련 출원에 기재된 플라즈마 아키텍처 시크 이벤트의 범위를 받아들이는 데이터 불가지론 풀을 설정한다. 이는 설계 및 강력한 공간 기능을 제공하기 위해 실행되는 동안, 또한 SOE에 연결된 장치에서 사용 가능한 낮은 수준의 데이터를 사용한다.
업로드, 포인터, 및 회전 애플리케이션 수집하고 환경에 기본적으로 고유하지 장치에 의해 제공되는 로우 레벨의 데이터에 대응; 즉,하지 SOE을 위해 특별히 만들어진 장치. 에지 소자는 원하는 SOE에 연결할 g 발언 애플리케이션을 다운로드한다. 여기에 설명되어있는 아이폰 OS 나 다른 클라이언트에 대한 G 발언 응용 프로그램을 제한하지 않고 담당자 인 G-이야기 포인터 응용 프로그램에서 제공하는 기능을 제공한다.
이러한 응용 프로그램에서이 "외부"에이전트로부터 언제든지 SOE에 가입 할 수 관련 G 발언 응용 프로그램, 데이터와 iOS 기기가 허용된다. 그 데이터는 정의에 제약 낮은 수준이다. 그러나, SOE는 외국 소싱, 프로필, 또는 품질에 따라 거부하지 않다. 데이터는 프로테인 풀을 통해 교환되고, 슬로 아키텍처 관련 출원 명세서에 기재. 에지 소자는 풀 구조로 프로테인을 증착하고, 풀 구조로부터 프로테인을 철회 할 수; 시스템은 출처에 관계없이 이러한 이벤트를 찾다.
실시의 이러한 낮은 수준의 데이터는 두 가지 형태 걸린다. 우선, 아이폰 OS 상대 위치를 제공 관성 데이터를 생성한다. SOE는 직접 스크린에 명령을 매핑하는 "터치 패드"모드를 사용한다. 영구는 SOE의 강력한 공간 조작이다; 동시에, 제스처 사용 전략적이다. 업로드 / 회전 / 포인터와 같은 응용 프로그램은 제한되지 않은 관객이 키오스크와 상호 작용하는 일반 대중 설정을 위해 특별히 개발된다. 스위트 룸은, 다음, 사용 편의성 및 프리젠 테이션을위한 최적화, 제스처의 선택 번호를 사용하도록 선택한다.
G 발언 포인터 응용 프로그램 아이콘, 키오스크 응용 프로그램 아이콘, 튜토리얼, 센서 미러를 포함하는 요소는 시스템의 홈 화면에 표시된다. G 발언 포인터 응용 프로그램 아이콘은 정보를 다운로드한다. 애플리케이션 전반 탐색하려면, 사용자 입력이 푸시된다. 사용자의 손바닥이 (Z 축으로) 화면으로 밀어으로, 메뉴 (가로 축을 따라,이 예에서) 사용자는 빠르게 가로 질러 추적하는 디스플레이로 후퇴. 응용 프로그램을 선택하려면, 사용자는 원하는 애플리케이션에 일시 정지. "V"제스처 (AAV> : XA를) 선택하라는 메시지를 표시한다. 푸시 백 (|||| - : XA를) 종료 제스처로 응용 프로그램에서 사용된다. 사용자의 오픈 손바닥 거리 임계 값을 초과하면, 화면이 어두워과 자산 페이드. 주먹과 마찬가지로, 제스처 속보, 출구를 트리거한다.
튜토리얼 및 센서 거울이 시스템 시작 화면을 포함한 모든 화면의 하단 근처의 패널에 표시된다. 이 예 제품군은 일반 대중이 키오스크와 상호 작용 제한 설정에 사용되는 경우 설치는 여기에 설명되어 있다. 튜토리얼 및 센서 미러는 설정에서 유리한 요소이다.
튜토리얼 (응용 프로그램을 사용하여, 선택 영역 등) 응용 프로그램에서 이동하는 명령을 설명하는 애니메이션의 집합이다. 전술 한 바와 같이 센서는 미러, 그 피드백은 사용자 입력을 조정할 수 있도록, 디버깅기구로서 효과적으로 작용할 수있다. 튜토리얼처럼, 그것은 또한 공용 액세스하는 데 유용한다. 사용자가 결합하여 활성화 될 때까지 기존의 컴퓨터 시스템은 유휴이다. 키오스크로, 센서는 미러 시스템이 결합되어 사용자에게 나타내는 플래그이다. 본원에 언급 된 바와 같이, 정보는 익명 깊이로 제한된다.
응용 프로그램 - 에지 스위트 룸 - 업로드
업로드는 업로드 및 이미지를 볼 수있는 응용 프로그램이다; 그 디자인은 소매 및 마케팅과 같은 설정에서의 일반인 사용을 반영하지만, 이에 한정되지 않는다. 그것은 익숙한 아이폰 OS 클라이언트 작업을 배포한다. 수직 강타는 카메라 화면에 아이폰을 전환, 사용자는 사진을 걸린다. 전화가 폐기 또는 이미지를 저장할지 묻는 메시지를 표시한다. 사용자가 저장 옵트 경우 파일은 컬렉션의 이미지를 표시하는 시스템에 업로드된다. 시스템이 장치에 의해 설정된 기본 화상 영역을 수용하고,이 값은 애플리케이션 관리인에 의해 변형 될 수있다.
디폴트 디스플레이 화면에서 이미지를 산란, "랜덤"일 것이다. 강조 표시된 원은 업로드 된 이미지 뒤에 나타난다. 더블 탭은 사진을 선택한다. 드래그, 사용자는 압력을 유지한다. 화면이 손가락의 참여는 키오스크에서 허용 관성 데이터를 발행한다.
전방 및 중앙에 화상을 이동하는 것은 본 실시예에서, 이미지를 확대.
추가 디스플레이 패턴 그리드를 포함한다; 그 나선 화면을 채울 수있는 가마; 레이디 얼 반 원. 이 디스플레이를 통해 수평 슬쩍 사이클 (와 예를 들면, 이전과 왼쪽 및 오른쪽으로 다음). 더블 탭은 가마 또는 방사형 같은 디스플레이에 의해 회전 이미지를 회전한다.
또한, 사용자는 터치 패드의 입력을 제공 할 수있다. 이것은 (관성 대신의) 화면에 직접 매핑된다. 두 번 탭 다시 이미지를 선택하고, 유지 압력 요소를 이동한다. 강타는이 같은 압력으로 이해된다; 두 손가락으로 쓸기, 다음, 디스플레이를 통해 순환한다.
응용 프로그램 - 에지 스위트 룸 - 포인터
포인터는 두 명의 사용자를 종사 체험, 협업 응용 프로그램이다. 슬쩍 응용 프로그램을 시작한다. 유저마다 발광, 체인 링크는 그래픽 표시이다. 체인은 그 링크, 코일 및 무작위 방식으로 각도로 구부러진 다. 더블 탭은 선택 입력; 압력을 유지시키는 것은 전도성 것처럼 사용자가 다음에, 연쇄 이동 있다.
이 계약은 대기 시간 및 정밀 과제를 제시 시스템 환경, 주위에 설계되었다. 먼저, 사용자는 대기 겪을 수있는 무선 네트워크를 통해 통상적으로 연결된다. 또한, 사용자는 운동 장치에 의해 제공되는 데이터에 의해 제약을 입력하여, 불규칙적 일 수도있다. 대신 특정 지점 주위에 선택을 구조화, 응용 프로그램은 일반 지역에 발생하는 것으로 선택을 읽다. 사용자가 화면 전체 체인을 소용돌이 모양으로, 시각적 피드백 유체이다. 그것은 대기 시간을 마스킹,이 미학을 강조한다.
포인터 응용 프로그램은 터치 패드의 상호 작용을 제공한다. 더블 탭은 영역을 선택하고, 유지 압력은 포인터를 이동한다. 이 응용 프로그램은 허용하고 최대 두 개의 장치에 대한 입력을 표시한다.
응용 프로그램 - 에지 스위트 룸 - 회전
멀티 플레이어, 공동 탁구 게임, 가속도계 데이터의 상단에 레이어 제스처 동작을 돌린다. 이 예에서, 래칫 모션 탁구 게임의 패들을 제어한다.
시작 표시, 플레이 필드는 반원 (180도)이다. 반원의 기준을 튀는 공은 사용자에 의해 제어되는 패들 인 아크를 향해 어떤 임의의 각도로 떨어져 커져 들리는. 각 참가자는 아크, 그 플레이어에 상관 색상을 지정된다. 플레이어는베이스 라인에 공을 반격 할 수있는 패들 / 호를 이동한다. 때마다 볼이 중앙 떨어져 다시 그 속도가 증가 바운스. 이 패들 파업 때마다, 패들 작아진다. (이 감소 패들가 사라지지함으로써 일부 설정 작은 비율이다.) 게임, 다음, 어려움의 증가.
더블 탭은 게임을 결합한다. 사용자는 숫자로 압력을 유지, 래칫 모션 패를 회전한다. 손가락이 화면에있을 때만 입력 장치로부터의 방사는 통과된다. 패들 볼이 아직도 경우 사용자 릴리스 압력, 수신 거부, 공간에 정지한다. 더 입력의 약 10 초 후에 패들 펄스. 사용자가 게임을 종료하기 위해 이동할 때 공은 게임 상태의 동결과 동결.
사용자 연습을 고려하여 설계대로 래칫 운동은 화면의 영상에 매핑된다. 손목의 회전의 전체 180도를 제공하는 반면, "중앙"위치에서 시작하는 사용자는 전형적으로 어느 한 방향으로 30도 회전한다. 이 문제에 대한 회계 응용 프로그램은 상대적으로 제어 및 피드백을 저어하는이 운동을 매핑한다. 어느 방향으로 최대 거리에 도달하기 위해, 예를 들어, 사용자가 180도를 채울 필요가 없다.
하나의 디자인과 속도 측면은 사용자의 참여를 확장 : 패들 크기는 항상 영역을 칠 직접 매핑되지 않다. 사용자의 성공을 육성과 경험을 반복하려면, 특정 조건에서 응용 프로그램은 시각적으로 인식 영역의 외부 패들 기능을 확장한다. 소정의 속도 임계 값에 초과하는 경우, 사용자는 신속하게 히트 영역 증가 패들 이동. "외야의 천사들"효과에 가깝다,이 확장 버그의 사용자 인식을 피하기 위해 표시되지 않다. 패들 참으로 빠르게 이동하기 때문에, 사용자의 우려는 일반적으로 속도를 유지하지 않다. 상업 설정에 대한 응용 프로그램 관련 당, 관리인 아크의 폭, 중심에서 아크 거리와 공의 속도를 포함하여 게임을 제어 텍스트 입력과 수정 된 값을, 정의한다.
사용 사례 예
키오스크 시스템은 설치가 휴대용뿐만 아니라, 가볍고 때문에 유연성의 이점을 부담 제공한다. 다음 예제 사용 사례는이 운영 기동성을 강조하고, 위에서 설명한 기본 응용 프로그램에 설명 된 기능과 제스처를 호출한다. 이러한 예는 제한하지 않고, SOE 키오스크 혜택 도메인을 나타낸다.
군사 설정에서 브리핑은 작업의 필드에 최근의 사건을 검토하기 위해 개최된다. 키오스크와 작업 공간에서 장교 정치적 경계 만지고, 다양한 정보를 전달하기 위해 매핑 프로그램을 사용한다; 지형; 인사 자산; 인구 밀도; 위성 사진. 자산의 위치와 위성 영상은 브리핑 특성에 맞는 소스에서 연결되어 있다. 데이터 소스는 로컬로 저장하거나 네트워크를 통해 액세스 할 수 있다. 장교는 정치적 경계 데이터를 선택 (팔레트 제스처, ΛΛΛ | - : χΛ) 전체 표시 영역에 스냅 (촬영 감독 ΛΛΛ | - : χΛ), (활동 최근 플레어 업에 팬 / 줌을 확대하기 전에, W- : XA를> ΛΛΛΛ하는 단계;를 χΛ). 그는 (팔레트 ΛΛΛ | - : χΑ) 화면의 왼쪽에있는 형광 투시경 메뉴를 가져온다. 그는 (촬영 감독 ΛΛΛ | - : χΛ) 및 스냅 (자신의 엄지 손가락을 폐쇄)을 선택 영역 첫 번째 인구 밀도 렌즈, 다음 지형 렌즈에. 이 지역의 윤곽을 논의 후, 그가에서 밀어 (줌, ΛΛΛΛ> : χΛ은) 활동시 자산 위치를 기록한다. 그는 오늘날의 영역 표시 및 리뷰 자산 위치를 확장 : 또한 (χΛ ΛΛΑΑ>)에 확대.
예를 들어 아래 허리케인 해안선, 정부 기관 및 관리 문제 권고에 접근, 비상 사태 준비 및 대응을 포함하는 경우를 사용하고 대중과 정보를 공유 할 수 신속하게 이동한다. 주지사의 사무실은 그의 행정부에서 그의 비상 대응 황제의 참여, 날씨 서비스 감독, 법 집행 인물, 공공 관리뿐만 아니라 관계자들과 기자 회견을 소집. 서로 다른 기관에서 키오스크 소싱 데이터, 기자 회견 바람 데이터, 강수량 데이터, 인구 밀도, 대피 경로, 비상 대피소를 표시하는지도를 사용한다.
추출 엔지니어 및 지질학 토폴로지 렌즈와 지리 공간지도를 사용하여, 추가 사용 사례에서 추출 영역을 검토; 토양 시료; 지하 토폴로지; 원래 심토 자원; 렌더링 심토 자원. 사용자 정의 된 응용 프로그램은 에지 장치의 인식을 포함한다. (: λ> λλ하는 XA를, ΧΛ을 팬 줌, W-) 작업의 세계지도에서 추출 엔지니어는 추출 영역의 세부 표시로 푸시한다. 사용자는 렌더링 심토 자원 선택 렌즈 메뉴에서 (팔레트를, ΛΛΑ | - : χΛ); 네트워크를 통해 외부 데이터베이스에서 액세스 하층토 그것은 자원의 현재의 발현을 나타낸다. 그녀는 원래 심토 자원 렌즈를 생성 (프레임 - 그것, ΛΛΛ | - "χΛ) 과거의 어떤 시점에서 추출을 표시하는 지질 학자 특정 한번 벤 면적을 가리 키도록, 다운로드 G-이야기 포인터 응용 프로그램과 함께, 자신의 아이폰을 사용한다. : 그들은 최근의 지질 학적 사건을 토론 할 때, 지질 학자는 지하 토폴로지 렌즈 프레임 (프레임 - 그것, ΛΛΛ | - "χΛ)를, 그리고 자신을 향해 잡아 당겨, 지하 강이 추출 영역에 접근 디스플레이로 투시기를 해결한다. 지질 학자는 다음지도 (주먹, λλλΑ이> 잡고 :. ΧΛ ^을 ^ 전자 이동 i는 지하 렌즈 아래에 인접한 지역을 슬라이드, 최근 활동을 논의 두 동료.
또 다른 예시적인 사용 케이스에서 관절 재건 과정은 무균 수술실 두 키오스크를 사용한다. 하나의 화면에서 간호사가 미디어 브라우저의 버전을 제어한다. 그 기본 개요 디스플레이는 심박수, 혈압, 온도, 소변 및 혈액 검사 등의 환자 데이터를 나타낸다. 두 번째 키오스크는 외과 의사가 엑스레이, CT 촬영, 자기 공명 영상, 병원에서 사용되는 사용자 정의 절차 소프트웨어를 포함한 자산을 확대 할 수있는 공간 매핑 구현을 실행한다. 팀 작동으로, 표시 정보를 제공하고 위치 결정 절차 소프트웨어로부터의 화상이다. 프로 팀의 의사는 자신의 주먹을 보유하고 있으며 자세한 세부 사항에서 대퇴골을 볼 자신쪽으로 당긴다. (ΛΛΛΛ> : χΛ). 저항의 예기치 않은 수준이 관련 연골에서 발생하는 경우, 팀의 외과 의사 (팔레트 ΛΛΛ | - : χΛ) 렌즈 패널을 끌어와 지역의 MRI 영상을 선택한다.
금융 서비스 세미나에서 스피커는 갑판 프리젠 테이션을 시작한다. 그는 (R을 클릭 ΛΛΛ | - : χΛ) 바로 옆에 슬라이드로 이동하려면 클릭한다. 청중은 포트폴리오 구축에 대한 문제를 제기했을 때, 그는 (조그 다이얼 ΛΛΛ | - : χΛ) 빨리 다시 두 손을 사용하여 이전 슬라이드로 이동한다 pieChart로의 포트폴리오의 구성 요소를 보여준다. 그는 다운로드 G 발언 포인터 응용 프로그램과 함께, 자신의 휴대 전화를 가져오고 다른 투자 유형을 논의, 포인터로 장치를 사용하기 위해 손가락을 아래로 보유하고있다. 그는 특정 뮤추얼 펀드에 길이 거. 그의 자유로운 손으로, 그는 다시 다른 슬라이드로 빠르게 푸시 백 (: χΛ ΙΙΙΙ-)이 시간을 이동한다. 청중은 그의 손자에 대한 구조화 대학 자금에 대해 묻다. 비디오와 슬라이드에 스피커 조그 다이얼 (ΛΛΛ | - : χΑ 및 ΛΛΛ |> : χΛ), 여기서 같은 목표, 방법 스피커의 회사가 그에게 그의 다른 금융 이익의 균형을 도움에 대한 고객 회담.
명품 브랜드는 뉴욕, 런던, 파리, 도쿄를 포함한 주요 백화점의 주요 위치에 키오스크를 설치한다. 하드웨어 설치 화면 케이싱의 하이 엔드 커스터마이즈 포함 브랜드 가치를 반영한다. 이 브랜드의 '룩북'광고 캠페인을 전시, 미디어 브라우저를 실행한다. 간단한 "L"-처럼 제스처, (와 ΛΛΛ | - : χΛ 또는 ΛΛΛ |> : χΛ (ΛΛΛ ||에 비디오 재생 기능 "배후에 걸쳐 슬라이드 χΛ), 사용자가 서로 다른 외모와 슬라이드를 클릭 할 수 있다. "스타일리스트와 사진 작가가 촬영을 논의 사진 촬영의 장면. 중앙 비디오는 파리에서 가장 최근의 패션쇼에서 영상을 재생한다.
음료 회사는 새로운 에너지 음료를 소개하는 식료품 점에서 키오스크 엔드 캡을 설치한다. 체험은, 키오스크 사용자가 협업 회전 게임의 버전을 재생할 수 있다. 그의 엄마와 함께 지나가는 청소년은 홈 화면의 가운데 그래픽을 볼 중지 : 주요 게임 그래픽, 패들 튀는 공을 차단 앞뒤로 회전한다. 청소년은 자신의 휴대 전화에 무료 G 발언 포인터 응용 프로그램을 다운로드하려면 화면 상단의 간단한 지침을 따른다. 화면 하단의 튜토리얼 그래픽 손을 나타내고, 손가락, 손목을 회전 가압 전화. 십대는 제스처를 다음과 그의 부모 상점 동안 몇 라운드를한다. (- : χΛ ||||) 그의 부모 반환, 두 사람은 이륙 시각의 연기를 보여주고 화면 하단에 다른 튜토리얼을 따라한다. 이 제스처는 영양 정보와 슬라이드를 가져온다; 하나의 슬라이드는 지역 유명 운동 선수에서 연장 승인을 포함한다.
공간 운영 환경 (SOE)
공간적 연속체 입력 시스템의 실시예들은 공간 운영 환경 (SOE)의 맥락에서 설명된다. 예로서,도 20은 실시예 아래 공간 운영 환경 (SOE)의 블록도이다. 사용자가 손 (101)의 위치를 (101, 102 또는 손)의 카메라 (예를 들어, 하나 이상의 카메라 또는 센서 104A-104D)의 배열의 관찰 영역 (150)에있다. 카메라 공간 추적 데이터로서, 위치, 방향, 및 손과 손가락 (101, 102)의 움직임을 검출하고, 출력 신호를 생성하는 프리 - 프로세서 (105)는 전 처리기 (105)에 제공된다 제스처 신호로 카메라 출력 변환 컴퓨터 처리 장치의 시스템 (107). 컴퓨터 (107) 스크린 커서에 하나 이상을 제어하는 명령을 생성하기 위해 입력 된 정보를 이용하여 실시간의 초기화 위에서 상세히 설명 (103)의 시스템 및 방법을 표시하는 비디오 출력을 제공하고, 비전 - 기반 손 추적 시스템이 사용될 수있다 SOE에서 예를 들면 유사한 시스템이다.
시스템은 입력으로 단일 사용자의 손으로 도시되어 있지만, SOE 100은 다수의 사용자를 사용하여 구현 될 수있다. 대신 또는 손에 더하여 또한, 상기 시스템은 머리, 발, 다리, 팔, 팔꿈치, 무릎, 등을 포함하는 사용자의 신체의 일부 또는 부분을 추적 할 수있다.
SOE 손 또는 물체 추적 및 인식이 본원에 기재된 형태를 행하는 시각 기반의 인터페이스를 포함하지만, 다른 실시예는 로컬 환경에서 사용자의 손의 위치, 방향 및 움직임을 감지하는 카메라 나 센서의 어떤 수를 포함하는 센서를 사용한다. 예시적인 실시예에 도시에서, 하나 이상의 카메라 또는 센서 (사용자의 손보기 영역 150 그것은 SOE (100) 이상을 포함 할 수 있다는 것을 이해해야한다 (101) 및 (102)의 위치, 방향 및 움직임을 감지하는 데 사용되는 예 여섯 카메라, 카메라 8 등) 이하 (예를 들어, 두 개의 카메라) SOE의 범위 또는 사상을 벗어나지 않고 카메라 나 센서. 카메라 나 센서 실시예에서 대칭 적으로 배치되어 있지만, 또한, 사용자의 손을 더 SOE (100)의 위치, 방향을 허용하는 임의의 수 또는 카메라 또는 센서 위치에서 그러한 대칭 요건과 움직임이 없다 수도 SOE (100)에 이용 될 수있다.
일 실시예에서, 사용되는 카메라는 그레이 스케일 이미지를 캡쳐 할 수있는 모션 캡쳐 카메라이다. 일 실시예에서, 사용되는 카메라 등의 Vicon MX40 카메라 등의 Vicon 의해 제조 된 것들이다. 이 카메라는 카메라 본체의 처리를 포함하고 초당 1,000 프레임의 속도로 이미지를 캡처 할 수있다. 모션 캡쳐 카메라가 검출 마커를 위치시킬 수있다.
설명 된 실시예에서, 카메라는 광 검출 센서를 사용한다. 다른 실시예에서, 카메라 또는 다른 검출기는 전자기, 정자 기적, RFID, 검출 또는 임의의 다른 적절한 유형이 사용될 수있다.
사전 프로세서 (105)는 세 가지 차원 공간의 포인트 재건과 골격 포인트 라벨을 생성한다. 제스처 변환기 (106)는 디스플레이상에서 커서의 위치, 형상 및 동작을 갱신하기 위해 컴퓨터 프로세서에 의해 해석 될 수있는 명령어로 3D 공간 정보와 마커의 움직임 정보를 변환한다. SOE (100)의 다른 실시예에서, 프리 - 프로세서 (105) 및 변환기 (106)는 제스처 일체화 또는 단일 디바이스로 결합.
애플, 델, 또는 임의의 다른 적합한 제조로에 의해 제조 된 컴퓨터 (107)는 범용 컴퓨터 등 일 수있다. 컴퓨터 (107)는 응용 프로그램을 실행하고 화면 출력을 제공한다. 달리 마우스 또는 다른 종래의 입력 장치 지금 제스처 시스템으로부터 오는 정보로부터 와서 커서.
마커 태그
본 명세서에 기재된 실시예들은 마커리스 비전 기반 추적 시스템을 포함하면서 시스템이보고되었는지 여부를 식별하는, 사용자의 손을 찾을 수 있도록, 다른 실시예의 SOE는 사용자의 하나 이상의 손가락에 마커 태그의 사용을 고려 왼쪽 또는 오른쪽, 어느 손가락을 볼 수 있다. 이것은 사용자의 손의 위치, 방향 및 움직임을 감지하는 시스템을 허용한다. 이러한 정보는 동작의 개수는 시스템에 의해 인식되고, 사용자에 의한 명령으로서 사용되는 것을 허용한다.
일 실시예에서, 마커 태그 및 고유 식별 패턴으로 기판의 표면 상에 배치 된 분리 된 마커 (인간의 손의 다양한 위치에 부착되는 본 실시에 적절한) 기판을 포함하는 물리적 태그이다.
마커와 연관된 외부 감지 시스템은 3 ~ 공간 위치의 정확하고 정밀하고 신속한 연속 획득을 가능하게하는 모든 도메인 (광학적, 전자 기적, 정자 기적, 등)에서 동작 할 수있다. 스스로 능동적 동작 할 수 마커 또는 수동적 (구조화 전자기 펄스를 방사하여 예를 들면) (본 실시예에서와 같이, 광학적으로 재귀 반사 됨으로써 예를 들면).
취득의 각 프레임에서 검출 시스템 (카메라 또는 다른 검출기의 가시 범위 내에서) 계측 작업 부피 현재 태그로부터 모든 마커를 포함하는 세 개의 공간 위치를 회수의 집합체 "클라우드". 각 태그에 마커를 수신 충분한 다수의이고 독특한 패턴으로 배열 된 검출 시스템은 다음과 같은 작업을 수행 할 수 있도록 (1) 분할, 각 회복 마커 위치가 하나에 할당되고 하나의 태그를 형성하는 점 중 하나만 하위 컬렉션하는 단계; (2 포인트들 각각 분할 된 하위 컬렉션은 특정 태그로 식별되는) 표지; 식별 태그의 3 공간 위치가 회수되는 (3)의 위치, 및 (4) 방향, 이는 세 개의 공간 배향에 식별 태그를 회수한다. 작업 (1), (2) 후술하는 바와 같이, 마커 패턴의 특정 성질을 가능하게되고,도 21에 하나의 실시예에 도시 된 바와 같이.
일 실시예에서, 태그에 대한 마커 정규 격자 위치의 일부에 부착된다. 이 하부 격자는 본 실시예에서와 같이, 기존의 직교 정렬 될 수도있다; 나 대신 (예를 들어 삼각형 / 육각형 타일 배열) 다른 일반 평면 테셀레이션을 할 수있다. 인접한 그리드 위치가 혼동 가능성되지 않도록 스케일과 그리드의 간격은, 마커 감지 시스템의 공지 된 공간 해상도에 대하여 확립된다. 모든 태그 마커 패턴의 선택은 다음과 같은 제약 조건을 만족해야한다 : 없음 태그의 패턴이 회전, 번역, 또는 미러링의 조합을 통해 다른 태그의 패턴의 일치하여야한다. 구성 요소 마커의 일부 지정된 수의 손실 (또는 폐쇄)이 허용되도록 마커의 다양성과 배열은 더 선택 될 수있다 : 임의의 변환 후, 여전히 다른 어떤로 손상된 모듈을 혼동하지 않을 수 있어야한다.
도 21을 참조하면, 태그 (201)-201E (왼쪽)과 202A-202E (오른쪽)의 숫자가 표시된다. 각 태그는 직사각형이고 5X7 그리드 어레이의 형태에있다. 직사각형 형상은 태그의 방향을 결정하고 미러 중복의 가능성을 감소시키기에 보조제로서 선택된다. 도시 된 실시예에서, 각 손에 각각의 핑거에 대한 태그가있다. 일부 실시예에서, 손에 하나씩, 2 개, 3 개 또는 4 개의 태그를 사용하는 것이 적합 할 수있다. 각 태그는 다른 그레이 스케일 또는 컬러 그늘의 테두리가 있다. 이 경계 내에서 3X5 그리드 어레이이다. (도 21의 검은 점으로 표시 함) 마커 정보를 제공하기 위해 그리드 어레이에서 특정 지점에 배치된다.
자격 정보는 일반적인 '과'독특한 '서브 패턴'에 각 패턴의 분할을 통해 마커 패턴 '태그로 인코딩 할 수있다. 예를 들어, 본 실시예는 두 개의 가능한 '테두리 패턴', 직사각형 경계에 대한 마커의 분포를 지정한다. 태그 A '가족'이렇게 확립-되어 모두 동일한 경계 패턴을 사용 따라서 수도 왼손위한 태그와 같이 오른손의 손가락에 부착 된 사람들은 다른 패턴을 할당 할 수 있지만 태그 (201) A-201E에 도시 태그 202A-202E. 태그의 모든 방향에서 왼쪽 패턴이 오른쪽 패턴과 구별 될 수 있도록 서브 패턴이 선택된다. 도시 된 예에서, 좌측 패턴은 각 모서리에서 모서리와 격자 위치에서 제 마커에 마커를 포함한다. 오른쪽 패턴은 두 개의 모서리와 비 코너 그리드 위치에 두 개의 마커에서 마커를 가지고있다. 패턴의 검사 한 4 개의 마커 중 세이 가시 같이 왼손 패턴 왼손 패턴으로부터 적극적으로 구별 될 수 있음을 보여준다. 일 실시예에서, 테두리의 색상 또는 음영도 선성의 지표로 사용될 수있다.
물론 각 태그의 필수 여전히 독특한 인테리어 패턴, 그 가족의 국경 내에서 분산 마커를 사용한다. 도시 된 실시예에서, 내부 그리드 어레이의 두 마커 고유 손가락의 회전 또는 배향에 의한 중복없이 함께 열 손가락의 각각을 식별하기에 충분한 것으로 밝혀졌다. 마커의 하나 폐색 되어도 패턴의 조합과 태그의 선성은 고유 식별자를 산출한다.
본 실시예에서, 그리드 위치가 의도 한 위치에서 각각의 재귀 반사 마커를 부착하는 (수동) 태스크 조제로서 견고한 기판에 시각적으로 존재한다. 이 그리드와 의도 된 마커 위치는 그대로 여기에 (처음에) 유연한 '수축 필름'의 장이다 기판에 컬러 잉크젯 프린터를 통해 인쇄된다. 각 모듈은 시트에서 잘라 다음 각 모듈은 정확하고 반복적 인 수축을 거쳐 열하는 치료 기간 동안, 오븐에서 구운된다. 이 절차에 따라, 짧은 간격의 경우, 태그는 약간의 냉각 대, 예를 들면 손가락의 길이 곡선을 따라 형성 될 수있다; 그 후, 기판이 적합하게 경질이며, 마커가 표시된 그리드 포인트에 부착 될 수있다.
일 실시예에서, 마커 자체가 접착 또는 다른 적절한 수단을 통해 상기 기판에 부착 된 세 같은 치수 작은 반사 분야이다.
마커의 3 차원 두 가지 차원 마커를 통해 감지 및 위치에 도움이 될 수 있다. 그러나 하나는 본원에 기재된 SOE의 사상 및 범위를 벗어나지 않고 사용될 수있다.
현재, 태그는 운영자에 의해 착용 장갑에 벨크로 또는 다른 적절한 수단을 통해 부착하거나 교대 가벼운 양면 테이프를 사용하여 작업자의 손가락에 직접 부착되어 있다. 제 3 실시예에서, 직접 조작자의 손과 손가락에 'paint'- 개별 마커를 리지드 기판과 닿아 전부 또는 부착 할 수있다.
제스처 어휘
실시 SOE 손 자세, 방향, 손의 조합을 포함하는 제스처 어휘를 고려하고, 배향이 혼합. 표기 언어 또한 SOE의 제스처 어휘 포즈 제스처 설계 및 통신을 위해 구현된다. 제스처 어휘 순간 표현하기위한 시스템이다 컴팩트 텍스트 형태 학적 연계의 '국가 포즈'. 또는 전체 인간의 몸, 또는 메뚜기 다리 문제의 연계는 생물 (인간의 손에, 예를 들어 수있다;
또는 여우 원숭이의 관절 척추) 또는 대신) 비 생물학적 (예를 들어 로봇 팔 수있다. 어떤 경우에, 링키지 (척추) 또는 (손)을 단순 분지 일 수도있다. SOE의 제스처 어휘 시스템은 특정 링크 일정한 길이 문자열을 설정; 스트링의 "문자 위치"점유 특정 ASCII 문자 집합은 순시 고유 상태 설명, 또는 쇄교, "포즈".
손 포즈
도 22는 손이 실시예에 따라, SOE의 제스처 어휘 실시 포즈 나타낸다. SOE는 손의 다섯 손가락 각각 사용되는 것을 가정한다. 이 손가락은 P-새끼, R-약지, M-가운데 손가락, I-집게 손가락, 그리고 T-엄지 손가락으로 코드이다. 손가락과 엄지 손가락의 포즈 번호가도 22에 정의 된 제스처 어휘 문자열 (이 경우, 손가락) 결합 자유 각각 발현 정도에 대한 단일 문자 위치를 확립에 도시되어있다. 또한, 이러한 각각의 자유 운동의 정도는 그 전체 범위는 해당 문자열 위치에서 표준 ASCII 문자의 유한 수의 하나의 할당을 통해 표현 될 수 있도록 ( "양자화"또는) 이산화 것으로 이해된다. 이러한 자유도는 체내 특정 원점에 대해서 표현하고 시스템 (손등, 메뚜기의 몸의 중심을 상기 로보트 팔의 기부; 등)을 조정한다. 추가적인 제스처 어휘 문자 위치 소수 따라서 더 글로벌 좌표계에서의 "전체"결합의 위치 및 방위를 표현하는 데 사용된다.
참조를 계속하는 것은 (22) 그림으로 포즈의 숫자가 정의 ASCII 문자를 사용하여 식별된다. 포즈 중 일부는 엄지 손가락과 비 엄지 손가락 사이에 분할된다. 본 실시예에서 SOE는 ASCII 문자 자체가 포즈 암시되도록 부호화를 사용한다. 그러나, 임의의 문자는 암시 여부, 포즈를 나타내는 데 사용할 수있다. 또한, 문자열 표기 ASCII 문자를 사용하는 실시예들에서 필요가 없다. 임의의 적절한 기호, 부호, 또는 다른 표현은 어쩌면 실시예들의 범위 및 사상에서 벗어나지 않고 사용된다. 원하는대로 예를 들어, 표시는 원할 경우 손가락 또는 다른 어떤 비트 수 당 두 개의 비트를 사용할 수도있다.
웅크 리고 손가락은 문자 ">"에 의해 ""동안 웅크 리고 엄지 손가락으로 표시된다. 바로 손가락 가리키는 손가락은 "1"로하고 "\"또는 "/"에 의해 각도로 표시된다. "-"바로 옆으로 가리키는 손가락을 나타내고, "X"는 평면으로 가리키는 손가락을 나타낸다.
이러한 개별 손가락과 엄지 손가락을 사용하여 설명 손 자세의 강력한 수가 정의 실시예의 방식을 사용하여 기록 될 수있다. 각각은 전술 한 순서는 prmit되는 다섯 문자로 표시된다 포즈. 도 22는 포즈 번호를 도시하고 몇몇은 예시 및 예로써 여기에 기술되어있다. 손 평면 개최지면과 평행이 "11111"로 표시된다. 주먹은 "> ΛΛΛΛ"으로 표시된다. "확인"기호는 "111A>"로 표시된다.
'암시 문자를 사용하는 경우. 자유의 각각의 정도는 일반적으로 빠른 인식과 분명 비유에 눈으로 선택 될 수있다 설명 할 수있는 문자 세트를. 예를 들어, 수직 바 ('문자열은 간단 "인간의 읽을 수있는 기회를 제공 | '는 ELL ('날카로운 벤드를 나타낼 수 '구십도 굴곡을 의미 할 수 있다), 그리고 곡절 ('L Λ ') 직선') 가능성이 연계 요소가 있음을 의미한다 '위에서 언급 한 바와 같이, 모든 문자를. 원하는대로 또는 코딩이 사용될 수있다.
본원에 설명 된대로 모든 시스템 채용 제스처 어휘 문자열은 원하는 사이에 (예를 들어 UNIX의 '을 strcmp ()'함수)의 문자열 비교 식별의 높은 계산 효율성의 혜택을 누리고 또는 지정된 문자 그대로 '문자열 비교'하게 포즈를 검색 문자열과 순간 실제 문자열을 제기.
그 순간 상태 일치 관계가 심문 점 C로 지정 될 수 있다 자유도 : 또한, '와일드 카드'의 사용은 프로그래머 나 시스템 추가 익숙한 효율성과 효과와 디자이너를 제공? ); 추가 와일드 카드 의미가 할당 될 수있다.
오리엔테이션
손가락과 엄지 손가락의 자세뿐만 아니라, 손의 방위 정보를 나타낼 수있다. 글로벌 공간 방향을 나타내는 문자가 투명하게 선택 될 수있다 : 문자 '<'> ',' 'Λ, 및 V를 나타내는데 이용 될 수 있고, 배향의 문자 위치에서 발생하는 경우, 왼쪽, 오른쪽, 위의 아이디어 아래로. 도 23은 손 방향 설명 및 포즈와 방향 결합 코딩의 예를 보여준다. (가에 상관없이 손가락의 실제 벤드 직선 인 경우) 일 실시예에서, 두 문자 위치는 제 손바닥하고 손가락의 방향으로의 방향을 지정. 이 두 위치에 사용할 수있는 문자는 방향의 '몸 중심'개념을 표현 : '-', '+', 'χ', '*', 'Λ', 및 V 앞으로 (내측, 외측, 전방을 설명, 거리 몸에서) 떨어져 몸에서 후방 (뒤로), (상승) 두개골, 그리고 꼬리 (아래).
실시 형태의 표기 방식에서, 다섯 손가락을 나타내는 문자가 콜론되는 포즈와 두 개의 방향 문자는 전체 명령 포즈 정의 할 수 있다. 포즈이 이루어질 때 일 실시예에서, 시작 위치는 "XYZ"포즈 엄지 똑바로 가리키는이고, 검지 앞으로 가리키는과 가운데 손가락이 좌측을 가리키고, 검지 손가락에 수직이라 오른쪽 손으로. "- : - χ ΛΛχ1"이것은 문자열로 표시된다.
"XYZ 손 '는 시각적 표시 입체 구조의 전체 여섯도 외 자유 네비게이션 있도록 인간의 손의 형상을 활용하는 기술이다. 이 기술은 대량의 번역 및 회전에 따라 다르지만 운영자의 손 그래서 손가락은 원칙적으로 어떤에서 개최 될 수 있음을 본 실시예는 정적 구성을 선호 desired- 포즈 검지 손가락 포인트 떨어져 몸에서하는; 천장을 향해 엄지 손가락 포인트; 그리고 가운데 손가락 포인트는 왼쪽에서 오른쪽으로. 따라서 'XYZ 손을'세 손가락 따라서 좌표계 (약하지만 분명히 분명 의도로) 설명 세 공간의 세 개의 서로 직교하는 축.
XYZ 손 탐색 한 다음 손으로 진행, 소정의 '중립 위치'에서, 전술 한 바와 작업자의 신체 전에 예정으로 포즈 손가락. 세 개의 병진과 세 개의 공간 객체 (또는 카메라) 다음과 같은 자연적인 방법으로 영향을 받는다의 3 자유 회전도 액세스 : 손의 좌우 움직임을 따라 운동의 결과 (신체의 자연 좌표계에 대한) 계산 컨텍스트의 x 축; 상하 제어 문맥의 Y 축을 따라 이동의 손 결과의 이동; 앞으로 백 손의 움직임 컨텍스트 내에서 z 축 모션 결과 (/ 멀리 작업자의 몸에서 방향). 마찬가지로, 검지 손가락에 대한 운영자의 손의 회전은 계산 문맥의 배향 "롤"변경에 이르게; "피치"와 "요"변화는 각각 가운데 손가락과 엄지 손가락에 대한 작업자의 손의 회전을 통해 유사하게 영향을 받는다.
"계산 콘텍스트가"엔티티를 참조하기 위해 여기에 사용되는 동안 XYZ 손에 의해 제어되는 방법 및 합성 세 공간 객체 또는 어느 카메라 -이 기술은 제어 똑같이 유용하다는 것을 이해하여야한다 제안 보인다되는 유의 실제 개체의 자유의 다양한 정도 예를 들어, 적절한 회전 액츄에이터가 장착 된 비디오 또는 영화 카메라의 팬 / 틸트 / 롤 제어한다. 또한, XYZ 손 자세에 의해 제공되는 자유 물리도 다소 덜 그대로 가상 도메인에서도 매핑 될 수있다 : 본 실시예에서, XYZ 손은되도록 큰 파노라마 이미지를 표시하는 탐색 액세스를 제공하는데 사용된다 작업자의 손 맵의 좌우 및 예상 왼쪽에서 오른쪽으로 작업자의 손 리드의 상하 운동 또는 최대 다운 이미지에 대해 "패닝"하지만 앞으로 백 모션 제어를 "확대"로 설정한다.
모든 경우에, 손의 움직임과 유도 계산 병진 / 회전 사이의 결합이 될 수도 있고 (직접 즉 위치 또는 위치에 약간의 선형 또는 비선형 함수로 일대일 매핑 오퍼레이터의 손 오프셋 회전 또는 회전 연산 문맥 객체 또는 카메라의 오프셋) 또는 간접 (즉, 작업자의 손의 오프셋 위치 또는 회전은 / 위치의 제 또는 고차 유도체로 일부 선형 또는 비선형 함수로 일대일 매핑 계산 컨텍스트의 방향은, 지속적인 통합은) 계산 컨텍스트의 실제 제로 순서 위치 / 방향에서 비 정적 변화에 영향을 미친다. 이 후자의 제어 수단은 상수가 더 많거나 적은, 일정 차속으로 페달 리드 오프셋되는 자동차의 '가속 페달 "의 사용과 유사하다.
실제 XYZ 손의 로컬 6 자유도 좌표 원점으로 역할을 "중립 위치"아마 설립 (1) 공간의 절대 위치 및 방향 등 (상대, 말, 바깥 쪽 방) (2) 조작자 자신에게 고정 된 위치 및 방향에 대하여 등 (예를 들면 몸의 앞에 팔인치 10 인치 턱 아래 및 횡 방향으로 어깨면과 일치)에 관계없이 전반적으로 위치 그리고 '호' 운영자; 또는 (3) 대화 형, 예를 들어, 사용 연산자 (고의적 보조 작업을 통해, 조작자의 '다른'손 제정 제스처 명령은 명령 XYZ 손의 현재 위치 및 방위 금후 병진로서 사용되는 것을 나타내는, 상기 및 회전 원점).
그것은이 볼륨 내에서 움직임을 제어 맥락에서 운동에 매핑하지 않도록 '텐트'지역 (또는 '데드 존') XYZ 손의 중립 위치에 대한을 제공하는 것이 더 편리한다.
다른 포즈 포함 할 수있다 :
[||||| : VX] 손바닥이 앞으로 아래로 손가락 향 플랫 손 (손가락에 엄지 손가락 평행)이다.
[||||| : XA를] 손바닥이 천장을 향해 앞으로 손가락 향 플랫 손이다.
[||||| : -x] 손바닥은 몸의 중심을 향해 향 플랫 손이 (왼손, 오른손 경우 왼쪽에서 오른쪽 경우) 앞으로 손가락.
[ΛΛΛΛ - : - χ는 (엄지 손가락 천장을 향해 가리키는) 한 손 엄지 손가락 최대이다. [ΛΛΛ | - : - χ]를 가리키는 앞으로 마임 총이다.
두 손 조합
실시 SOE 단일 손 명령 및 자세뿐만 아니라 양손 명령 및 자세를 고려한다. 도 24는 SOE의 실시예에서 두 손의 조합의 예와 관련된 표시를 도시한다. 첫 번째 예제의 표기법을 검토, "마침표"은 두 개의 닫힌 주먹을 포함하는 것을 알 수있다. "스냅 샷"예 골대 모양의 프레임을 정의 서로를 향해 가리키는 각 손 확장, 엄지 손가락의 엄지와 검지 손가락을 가지고있다. "키와 스로틀 시작 위치는"손가락을 화면에 직면 손바닥을 가리키는 손가락이다.
방향 블렌드
도 25는 SOE의 일 실시예에서 배향 블렌드의 예를 나타낸다. 블렌드는 손가락 후 괄호 안에 방향 표기법의 쌍을 묶어 표현의 예에서 문자열을 포즈. 예를 들어, 첫 번째 명령은 모든 가리키는 직선의 손가락의 위치를 나타낸다. 배향 명령 첫 번째 쌍은 손바닥 디스플레이 번째 쌍 향해 평면 당할 스크린을 향해 45도 피치로 회전 손을 가지고있다. 블렌드의 쌍이이 예에 도시되어 있지만, 임의의 수의 혼합은 SOE에서 고려된다.
예 명령
1분의 27 및도 27/2은 SOE 함께 사용될 수 가능한 명령의 수를 나타낸다. 여기서 논의의 일부는 디스플레이상의 커서 제어에 대한 하였지만, SOE 그 활동에 한정되지 않는다. 사실, SOE는 임의의 모든 데이터와 데이터의 일부 화면뿐만 아니라, 디스플레이의 상태를 조작 큰 애플리케이션을 갖는다. 예를 들어, 명령은 비디오 미디어의 재생 중에 비디오 백 컨트롤 일어날하는데 사용될 수있다. 명령은, 빨리 감기, 일시 정지, 되감기 등을 행하는데 사용된다. 또한, 명령은 확대 또는 축소 된 이미지의 임의의 방향으로 패닝, 이미지의 방향을 변경하는 등을하도록 구현 될 수있다. SOE은 또한, 개폐, 저장 등과 같은 메뉴 명령 대신에 사용될 수있다. 즉, 상상 될 수있는 임의의 명령 또는 활동 손짓으로 구현 될 수있다.
운전
도 26은 일 실시예에서 SOE의 동작을 설명하는 흐름도이다. 701에서, 탐지 시스템은 마커 및 태그를 검출한다. 태그 및 마커가 검출되는 경우 (702)에서 판정한다. 그렇지 않으면 태그 및 마커 (702)에서 검출되는 경우, 시스템 (701)에 반환 (703)에서, 시스템 (703)으로 진행하여 시스템 손, 손가락을 식별하고, 검출 된 태그와 마커로부터 포즈. 704에서 시스템은 자세의 방향을 식별한다. (705)에서 시스템은 감지 손이나 손의 세 가지 차원 공간 위치를 식별한다. (모든 또는 (703)의 모든, 704, 705이 결합 될 수 있다).
706에서, 정보는 전술 한 제스처 표기로 변환된다. 포즈가 유효하면 (707)에서 판정한다. 이는 생성 된 표기법 문자열을 사용하여 간단한 문자열 비교를 통해 달성 될 수있다. 포즈가 유효하지 않으면, 시스템은 포즈가 유효하면, 시스템은 컴퓨터가 제스처 및 업데이트에 응답하여 수행 할 적절한 조치를 결정한다 (709)에서 (708)에서 컴퓨터로 표기 및 위치 정보를 전송한다 (701)로 되돌아 간다 따라서 (710)에 표시된다.
SOE의 일 실시예에서, 701-705는 카메라 본체의 프로세서에 의해 달성된다. 원하는 경우, 다른 실시예에서, 프로세싱 시스템은 컴퓨터에 의해 달성 될 수있다.
구문 분석과 번역
시스템은 "분석"및 하부 시스템에 의해 회수 저레벨 제스처 스트림 "번역", 그리고 광범위한 제어하는데 사용될 수 명령 또는 이벤트 데이터 스트림으로 그 구문 번역 제스처를 반전 할 수있다 컴퓨터 응용 프로그램 및 시스템. 이러한 기술과 알고리즘은 엔진의 능력을 활용 컴퓨터 애플리케이션을 구축하기위한 이러한 기술 및 플랫폼을 구현 엔진 모두를 제공하는 컴퓨터 코드로 이루어진 시스템에서 구현 될 수있다.
일 실시예는 비뿐만 아니라, 컴퓨터 인터페이스를 인간의 손의 다양한 제스처를 사용 가능하게 집중뿐 아니라 다른 신체 부위에 의해 제스처 인식 할 수있다 (비롯한, 그러나 팔, 상체, 다리, 머리에 한정되지 않음)되고 정적 및 관절을 포함하지만 모두 다양한 종류의 손 물리적 도구 캘리퍼스, 나침반, 유연한 곡선 approximators, 다양한 형태의 포인팅 장치로 제한. 마커 및 태그는 아마도 원하는대로 오퍼레이터에 의해지지되고 이용 될 수있는 항목 및 툴에 적용.
여기에 설명 된 시스템은 가능한 동시에 애플리케이션에 쉽게 통합 제공하면서, 인식 및 동작 될 수있는 제스처의 범위 풍부 제스처 시스템을 구축 할 수 있도록 혁신의 수를 포함한다.
일 실시예에서 제스처를 해석 및 번역 시스템을 포함한다 :
1) 컴팩트하고 효율적인 방법은 컴퓨터 프로그램에 사용) 집합의 여러 가지 수준의 동작에 대한 (인코딩을 지정한다 :
. 한 손의 "포즈"(구성 및 서로에 대해 손의 부분의 방향) 3 차원 공간에서 하나의 손의 방향 및 위치.
나. 두 손을 고려하여 두 손으로 조합, 위치 또는 둘 모두를 포즈.
다. 여러 사람의 조합; 시스템은 둘 이상의 손을 추적 할 수 있고, 그렇게 한 사람 이상이 협력 (또는 경쟁적, 게임 애플리케이션의 경우) 타겟 시스템을 제어 할 수있다.
D. 포즈는 직렬로 결합 된 연속 동작; 우리는이 "애니 메이팅"제스처를 호출한다.
전자. "그래 핀"제스처가있는 작업자는 공간에 모양을 추적한다.
2) 그 위에 각 카테고리에서 특정 제스처를 등록하기위한 프로그래밍 기술은 특정 애플리케이션 컨텍스트에 적합하다.
3) 등록 된 제스처가 식별 될 수 있고, 제스처를 캡슐화 이벤트 관련 애플리케이션 컨텍스트로 전달 될 수 있도록 제스처 스트림을 파싱하기위한 알고리즘.
(IF)에 대한 구성 요소 (LA)와 사양 시스템 (1)은, 제스처 분석을 활용하고 여기에 설명 된 시스템의 기능을 변환하는 기초를 제공한다.
단일 손 "포즈"손가락과 손등 사이의 상대적인 방향은, II)가 분리 된 상태의 작은 숫자로 양자화) I의 문자열로 표현된다.
접합 상대 배향을 사용하여 서로 다른 크기와 손 형상과 관련된 문제를 피하기 위해 여기에 설명 된 시스템을 허용한다. 없음 "연산자 교정은"이 시스템이 필요하지 않다. 또한, 상대 방향의 문자열 또는 컬렉션으로 포즈를 지정하면 더 복잡한 제스처 사양을 쉽게 추가 필터 및 사양 표현 포즈 결합하여 만들 수 있다.
포즈 스펙 이산 상태의 소수를 사용하는 것은 가능 포즈 지정 컴팩트뿐만 아니라 정확한가 점등 점 및 카메라로 인식 (예를 들어 기본 추적 기술의 다양한 방법을 사용하는 수동형 광 추적하여 카메라, 활성 광 추적 포즈를 보장 할 수있게 전자기장 추적 등).
중요하지 않은 데이터는 무시 될 수 있도록 (IF)에 대한 모든 범주 (라)의 제스처 (또는 최소) 지정, 부분적으로 할 수있다. 예를 들어, 제스처는 두 손가락의 위치를 확정하고, 다른 손가락의 위치는 두 개의 관련된 핑거 동작 위치가 동일한 문자열 내에 주어되는 단일 명세서, "야생에 의해 표현 될 수 있으며, 중요하지 카드 "또는 일반은"이 "지표는 다른 손가락 나열된다 무시한다.
제스처 인식에 대해 여기에 기술 혁신을 모두 포함하지만, 다층 규격 기술에 한정되지 않고, 모든 수준에서 부분 또는 최소 사양의 상대적인 배향, 데이터의 양자화 및 수당의 사용은 명세서에 손 제스처의 사양을 능가 일반화 다른 신체 부위와 "제조"도구 및 객체를 사용하여 제스처.
"제스처 등록"에 대한 프로그래밍 기법 (2)는, 프로그래머가 엔진이 작동중인 시스템의 다른 부분을 사용할 수 있도록한다 제스처를 정의 할 수 있도록 애플리케이션 프로그래밍 인터페이스 호출을 정의 세트로 구성된다.
이러한 API 루틴 실행 애플리케이션의 수명 전체에 사용되는 정적 인터페이스 정의를 생성, 애플리케이션 설정시에 사용될 수있다. 또한 인터페이스 특성을 즉시 변경할 수 있도록, 실행 과정에서 사용될 수있다. 이 인터페이스의 실시간 변경을하는 것을 가능하게,
내가) 복잡한 상황과 조건 제어 상태를 구축,
II)를 동적으로 제어 환경에 히스테리시스를 추가하려면
III) 사용자가 변경하거나 실행중인 시스템 자체의 인터페이스 어휘를 확장 할 수있는 응용 프로그램을 만들 수 있다.
제스처 스트림 (3)의 (1)에서와 같이 지정된 등록 제스처를 비교 구문 분석을위한 알고리즘 (2) 수신 낮은 수준의 제스처 데이터에 대한. 등록 된 제스처에 대한 일치가 인식되면, 일치하는 제스처를 대표하는 이벤트 데이터는 실행중인 응용 프로그램에 스택을 제공된다.
효율적인 실시간 매칭이 시스템 설계에서 요구되며, 특정 제스처가 가능한 한 빨리 처리 가능성의 트리로 간주된다.
또한, 프리미티브 비교 연산자는 애플리케이션 프로그래머가 사용하는 (예를 들어 착체 화합물 제스처 유연한 상태 검사) 상기 비교가 애플리케이션 컨텍스트 내에서에도 일어날 수 있도록 또한, 노출 된 특정 제스처를 인식하기 위해 내부적으로 사용된다.
인식 "잠금"의미는 여기에 설명 된 시스템의 혁신이다. 이러한 의미는 (명세서 어휘 (1) 내에 내장 적은 정도로하고) 등록 API (2)에 의해 암시된다. 등록 API 호출로는,
I) "항목"상태 신고자와 "계속"상태 신고자 및
II) 제스처 우선 순위 지정자.
제스처가 인식 된 경우, 그 "계속"조건이 동일하거나 낮은 우선 순위의 제스처에 대한 모든 "항목"조건보다 우선한다. 항목과 계속 상태 간의 차이는 인식 시스템의 유용성에 크게 추가한다.
여기에 설명 된 시스템은 실제 데이터 에러 및 불확실성에도 불구하고 견고한 동작 알고리즘을 포함한다. 낮은 수준 추적 시스템의 데이터가 불완전 할 수있다 (광 추적 네트워크 탈락이나 처리 지연 등의 마커의 폐색 성을 포함한 여러가지 이유로).
누락 된 데이터는 파싱 시스템으로 표시하고, 손실 된 데이터의 양 및 문맥에 따라 어느 "최후 기지의"또는 "대부분"상태로 보간된다.
특정 제스처 구성 요소에 대한 데이터 (예를 들어, 특정 관절의 방향)이 누락되어 있지만, 그 특정 성분의 "최종 알려진"상태가 실제로 가능한 분석 할 수있는 경우, 시스템은 실시간으로이 마지막으로 알려진 상태를 사용 시간 일치.
마지막으로 알려진 상태가 물리적으로 불가능 분석 반대로, 시스템은 다시 컴포넌트에 대한 "최선의 추측 범위"로 떨어지면, 그 실시간 매칭이 합성 데이터를 사용한다.
멀티 손 제스처 중 하나를 손에 대한 요구 사항을 만족시키기 위해 포즈 허용되도록 여기에 설명 된 사양 및 분석 시스템은 신중하게 "하는 손의 불가지론"을 지원하도록 설계되었다.
동행 가상 / 디스플레이 및 물리적 공간
시스템은 가상 공간이 시스템의 운영자 나 사업자가 거주 물리적 공간과 일치로 처리되어, 하나 이상의 디스플레이 장치 ( "스크린")에 도시 된 환경을 제공 할 수있다. 이러한 환경의 실시예는 여기에 설명된다. 이것은 현재의 실시예는 고정 된 위치에서 세 프로젝터 스크린 중심, 단일 데스크톱 컴퓨터에 의해 구동된다 포함하고, 본원에 기술 된 제스처 어휘 및 인터페이스 시스템을 사용하여 제어된다. 스크린의 번호가 기술되는 기술들에 의해 지원된다는 점에 유의; 그 화면은 (오히려 고정 이하) 이동 될 수있다; 화면은 동시에 많은 독립적 인 시스템에 의해 구동 될 수있다; 그리고 전체 시스템은 임의의 입력 장치 또는 기술에 의해 제어 될 수있다.
본 명세서에 기재된 인터페이스 시스템은 실제 공간에서의 화면의 크기, 방향 및 위치를 결정하는 수단을 가져야한다. 이 정보를 주어 시스템이 동적으로 이러한 화면은 시스템에서 실행중인 컴퓨터 애플리케이션의 가상 공간에 투영로 (및 시스템의 운영자들이 살고있는) 위치하는 물리적 공간에 매핑 할 수있다. 이 자동 매핑의 일부로서, 시스템은 시스템에 의해 호스팅되는 애플리케이션의 요구에 따라, 스케일, 각도, 깊이 치수와 다양한 방법으로 두 공간의 다른 공간적 특성을 변환한다.
물리적 및 가상 공간 사이의 이러한 지속적인 번역은 기존 응용 프로그램 플랫폼 또는 기존 플랫폼에서 실행되는 각 응용 프로그램이 구현되어야 조각 식사에 달성하기 어려운 인터페이스 기술의 숫자의 일관성 및 보급 사용을 가능하게한다. 이러한 기술 (이에 제한되지 않음)을 포함한다 :
"리터럴"포인팅 제스처 인터페이스 환경에서 손을 -using 또는 물리적 포인팅 도구 또는 장치로서의 퍼베이시브 및 천연 인터페이스 기술을 사용하여 1)을 사용.
화면의 이동이나 재배치 2) 자동 보정.
깊이 지각을 향상 시차 이동을 시뮬레이션 예를 들면 운전자의 위치에 따라 변화 3) 그래픽 렌더링.
화면에 계정 실제 위치, 방향, 상태 등을 예를 들어, 대형, 불투명 한 화면 앞에 서 작업자가, 응용 프로그램의 그래픽의 표현을 모두 볼 수로 표시 촬영에서 물리적 객체의 4)에 포함될 (아마도, 이동 또는 방향을 변경하고있다) 화면 뒤에 확장 모델의 실제 위치.
그것은 리터럴 포인팅 마우스 윈도 기반 인터페이스 및 대부분의 다른 시스템에 사용되는 현대의 추상 포인팅 다르다는 것을 주목하는 것이 중요하다. 이러한 시스템들에서, 운영자는 가상 포인터 및 물리 포인팅 장치 간의 변환을 관리하기 위해 학습해야하고,인지 적으로 둘 사이에 매핑한다.
대조적으로, 본 명세서에 기재된 시스템에서, 가상 및 물리적 공간간에 차이 애플리케이션 또는 사용자의 관점에서 하나 (즉, 가상 공간을 제외하고는 수학적 조작에 더 의무가)가 없으므로, 요구되는 어떠한인지 번역은 없다 연산자.
여기에 설명 된 실시예에 의해 제공되는 리터럴 가리키는 근접한 비유 (많은 ATM 시스템에서, 예를 들면, 발견 된 바와 같이) 터치 스크린이다. 터치 스크린은 화면에 2 차원 화상 표시 장치의 공간과 스크린 표면의 2 차원 입력 공간 간의 일대일 매핑에 하나를 제공한다. 유사한 방식으로, 여기에 설명 된 시스템은 유연한 매핑을 제공 (가능하게 필수적인 것은 아니지만, 1-1), 하나 이상의 스크린에 표시된 가상 공간과 조작자에 의해 거주 공간 사이의 물리적. 비유의 유용성에도 불구하고, 그것은 세 가지 차원, 임의의 큰 건축 환경, 여러 화면이 "매핑 방식"의 연장이 아닌 사소한 것을 가치 이해이다.
본원에 설명 된 성분 이외에, 시스템은 또한 연속, 시스템 레벨 매핑을 구현하는 알고리즘을 구현할 수있다 각 화면 환경의 물리적 공간과 디스플레이 공간 사이에 (아마도 회전, 평행 이동, 스케일링 또는 다른 기하학적 변형에 의해 변형) .
연산 목적 및 매핑을 받아서 가상 공간의 그래픽 표현을 출력 묘화 스택.
입력 이벤트로부터 공간 데이터 (시스템 및 마우스 입력으로부터 현재의 실시예에서 모두 제스처 및 포인팅 데이터) 제어 시스템에서 이벤트 데이터를 받아 매핑 입력 이벤트 처리 스택은 가상 공간 좌표. 번역 이벤트는 실행중인 응용 프로그램에 전달된다.
시스템은 로컬 영역 네트워크에있는 여러 컴퓨터를 통해 실행되는 애플리케이션을 호스팅 할 수 있도록 "접착층".
데이터 표현, 대중 교통 및 교환
SOE 또는 공간 연속체 입력 시스템의 실시예로서, 서브 시스템 "슬로", "프로테인", 및 "풀"포함 "플라즈마"라는 시스템을 포함 네트워크 기반 데이터 표현, 전송 및 교환을 포함하는 것으로 설명된다 상세히 설명. 풀 및 프로테인 간 또는 프로세스간에 공유 될 데이터를 캡슐화하기 위해 본원에 기재된 방법 및 시스템의 구성 요소이다. 이러한 메커니즘은 또한 프로테인과 풀에 추가 ( "슬로"복수) 슬로을 포함한다. 일반적으로, 간 교환 용 데이터 정의의 최하위 레벨을 제공 슬로, 프로테인은 쿼리 및 필터링에 대해 중간 레벨의 구조와 후크를 제공하며, 풀은 높은 수준의 조직 및 액세스 의미론을 제공한다. 슬로 효율적, 플랫폼에 독립적 인 데이터 표현 및 액세스 메커니즘을 포함한다.
프로테인은 데이터 캡슐화 및 페이로드로서 슬로하여 전송 방식을 제공한다. 풀은 원격 또는 분산 프로세스 간의 네트워크를 통해, 그리고 장기 (예를 들어, 온 디스크 등)에 저장을 통해, 지역의 프로세스간에, 프로세스 내에서 구조화하고 유연한 통합, 주문, 필터링 및 프로테인의 분포를 제공한다.
구성 및 본 명세서에 기재된 실시예들의 구현은 다수의 기능을 함께 사용할 수있는 몇 가지 구조를들 수있다. 전술 한 바와 같이 예를 들어, 본 명세서에 기재된 실시예들은 많은 수의 프로세스들 사이의 데이터 교환을 효율적으로 제공한다. 데이터의 매우 다양한 종류와 용도가 지원하도록 본 명세서에 설명 된 실시예는 유연한 데이터 "입력"및 구조를 제공한다. 또한, 본 명세서에 기재된 실시예와 실질적으로 유사 애플리케이션 프로그래밍 인터페이스 (API)에 의해 구동 데이터 교환을위한 유연한 메커니즘 (예를 들어, 로컬 메모리, 디스크, 네트워크 등)를 모두 포함한다. 또한, 설명 된 실시예는 다양한 프로그래밍 언어로 작성된 프로세스 간의 데이터 교환을 가능하게한다.
또한, 본 명세서에 기재된 실시예들은 데이터 캐시 상태와 골재의 자동 유지 관리를 가능하게한다.
도 28은 실시예에 따라, 데이터를 사용하여 표현 슬로, 프로테인, 및 풀 포함한 처리 환경의 블럭도이다. 여기에 제시된 실시의 주요 구조는 슬로 ( "슬로"복수), 프로테인, 그리고 수영장 등이 있다. 설명 된대로 슬로 여기에 효율적인 플랫폼에 독립적 인 데이터 표현 및 액세스 메커니즘을 포함한다. 프로테인은 본원에서 상세히 설명한 바와 같이, 데이터의 캡슐화 및 전송 방식을 제공하며, 실시 형태의 프로테인 슬로 페이로드를 포함한다. 풀은, 본원에 기술 된 바와 같이, 구조화하면서도 유연한 응집, 주문, 필터링, 및 프로테인의 분포를 제공한다. 풀은 원격 또는 분산 프로세스 간의 네트워크를 통해, 그리고 장기적으로 '(예를 들어, 온 디스크) 저장 장치를 통해, 지역의 프로세스간에, 프로세스 내에서 프로테인의 덕택으로, 데이터에 대한 액세스를 제공한다.
도 29는 실시예에 따라, 프로테인의 블록도이다. 프로테인은 길이 헤더, descrip 및 인제 스트를 포함한다. 하기에 상세히 설명 된 바와 같이 descrip과 인제 각각, 슬로 또는 슬로를 포함한다.
도 30은 실시예에 따라, descrip의 블록도이다. 하기에 상세히 설명 된 바와 같이 descrip은, 길이 및 오프셋을 포함 슬로.
도 31은 실시예에 따라, 인제의 블록도이다. 하기에 상세히 설명 된 바와 같이 인제는, 길이 및 오프셋을 포함 슬로.
도 32는 실시예에 따라, 슬로의 블록도이다. 이하에서 상세히 설명한 바와 같이 슬로는 타입 헤더와 유형 특정 데이터를 포함한다.
도 33은 실시예에 따라, 풀의 프로테인의 블록도이다. 프로테인은 길이 헤더 ( "프로테인의 길이"), descrips가 섭취 오프셋, 오프셋, descrip 및 인제 스트를 포함한다. descrips은, 길이 및 슬로를 오프셋하는 단계를 포함한다. 인제는 오프셋, 길이, 슬로를 포함한다.
본원에 기재된 프로테인은 프로세스간에 공유, 또는 버스 또는 네트워크 나 다른 처리 구조물을 가로 질러 이동해야하는 데이터를 캡슐화하기위한기구이다. 예로서, 프로테인 수송 및 데이터에 대응 또는 사용자 인터페이스와 연관된 이벤트를 포함한 데이터를 조작하는 개선 된 메커니즘을 제공한다; 특히, 실시예의 사용자 인터페이스 이벤트는 전술 한 제스처 인터페이스의 것들을 포함한다. 몇 가지 이름을, 그래픽 데이터 또는 이벤트 및 상태 정보를 추가의 예로서, 프로테인 수송 및 포함 된 데이터를 조작하기위한 개선 된 메커니즘을 제공하지만, 이에 한정되는 것은 아니다. 프로테인은 구조화 된 레코드 형식과 기록을 조작하기위한 방법의 관련 집합이다. 본원에 사용 된 바와 같이 기록의 조작은 구조로부터 데이터를 가지고, 데이터 구조로 바꾸어, 데이터의 포맷 및 존재 질의를 포함한다. 프로테인은 컴퓨터 다양한 언어로 작성된 코드를 통해 사용하도록 구성된다. 본원에 기재된 프로테인은 또한, 풀에 대한 기본 빌딩 블록으로 구성된다. 또한, 프로테인은 포함 된 데이터를 그대로 유지하면서, 프로세서들 사이의 네트워크를 가로 질러 이동할 수 있도록 기본적으로 구성된다.
종래의 데이터 전송 메커니즘과는 대조적으로,이 지정되지 않은 프로테인이다. 유형이 지정되지 않은하면서, 프로테인은 "형 같은"기능이 구현되어있는 상단에 강력하고 유연한 패턴 매칭 기능을 제공한다. 본원에 기재된 바와 같이 구성된 프로테인은 또한 본질적으로 멀티 포인트 (포인트 - 투 - 포인트 형태 용이 다 지점 송신의 일부로서 구현되어있다)이다. 또한, 프로테인은 다른 (또는 만 수행되는 선택 사양 최적화의 종류의 차이)에 디스크에서 메모리 사이하지 않는 "보편적 인"레코드 형식을 정의하고, 온 - 더 - 와이어 (네트워크) 형식, 예를 들어 .
도 29 및도 33A를 참조하면, 실시예의 프로테인 바이트 선형 시퀀스이다. 이 바이트 내에서 descrips 목록 및 섭취라는 키 - 값 쌍의 집합을 캡슐화된다. descrips리스트는 임의의 정교한하지만 효율적으로 필터링 할 수있는 당 프로테인 이벤트 설명이 포함되어 있다. 섭취 프로테인의 실제 내용을 포함하는 키 - 값 쌍들의 세트를 포함한다.
키 - 값 쌍뿐만 아니라, 네트워크 친화적이고 멀티 포인트 데이터 교환에 대한 몇 가지 핵심 아이디어와 프로테인 '관심은, 그 권한 "튜플"(예를 들어, 린다, 지니)의 개념을 이전 시스템과 공유된다. 프로테인은 표준 최적화 할 패턴 매칭 기판을 제공하는 descrips리스트의 사용을 포함하는 여러 가지 주요 튜플 지향 시스템에서 다르다. 프로테인은 또한 레코드 형식을 "인터페이스"여러 특정 구현과 함께, 스토리지 및 언어 구조의 다양한 적절한 레코드 형식의 엄격한 사양에 튜플 지향 시스템 다르다.
프로테인의 설명하면, 프로테인의 처음 4 개 또는 8 바이트 실시예에서 16 바이트의 배수 여야 프로테인의 길이를 지정. 이 16 바이트 단위는 바이트 정렬 및 버스 정렬 효율성 현대 하드웨어에 달성되도록한다. 그 길이가 16 바이트의 배수가되도록 자연스럽게 아닌 프로테인은 "정렬 된 쿼드 워드"는 임의의 바이트로 패딩된다.
네 개의 최하위 비트는 매크로 수준의 프로테인 구조의 특성을 나타내는 플래그 역할로, 빅 엔디안 형식의 길이를 지정하는 32 비트; 프로테인의 길이 부분의 형식은 다음과 상기 32 비트이어서 프로테인의 길이는 2Λ32 바이트보다 큰 경우.
실시예 1 -byte 배향 단은 제 4 바이트의 최하위 비트는 플래그로서 사용할 수있는 것을 의미한다. 그래서 처음 세 개의 하위 비트 플래그 프로테인의 길이는 제 4 바이트로 표현 또는 프로테인은 빅 엔디안 또는 리틀 엔디안 바이트 순서를 사용하는지 여부, 및 프로테인은 표준 또는 비 채택 여부 여덟 필요로 할 수 있는지 여부를 나타 표준 구조는 각각 그러나 프로테인은 이에 한정되지 않는다. 네 번째 플래그 비트는 나중에 사용하기 위해 예약되어 있다.
8 바이트 길이 플래그 비트가 설정되면, 프로테인의 길이는 다음의 4 바이트를 판독하고 빅 엔디안의 상위 바이트로를 이용하여 계산되며, 4 바이트와 8 바이트의 정수 (이미 읽어 ) 저차 공급부. 리틀 엔디안 플래그가 설정되어있는 경우, 프로테인의 모든 이진 숫자 데이터는 리틀 엔디안 (달리, 빅 엔디안)로 해석되어야한다. 비표준 플래그 비트가 설정되면, 프로테인의 나머지 부분은 후술하는 표준 구조에 맞지 않는다.
비표준 프로테인 구조를 설명하고 프로테인 풀을 사용하여 시스템 프로그래머에게 제공 비표준 프로테인 형식에 동기화하기위한 다양한 방법이 있다는 것을 말할 제외 여기서는 더 설명되지 않을 것이며,이 방법은 유용 할 수 있다고 할 때 공간 또는 컴퓨팅 사이클이 제한된다. 예를 들어, 실시예의 짧은 프로테인 여섯 바이트이다. 표준 형식의 프로테인은 그 여섯 바이트로 실제 페이로드 데이터 (사자의 점유율있는 이미 프로테인의 구성 부품의 위치를 설명하기에 이관된다)에 맞지 않을 수 있다. 그러나 비 표준 형식 프로테인은 생각할 데이터의 16 바이트 (12)를 사용할 수 있다. 프로테인을 교환하는 두 애플리케이션은 함께 그들이 항상 발광 모든 16 바이트 길이의 프로테인이 실시간으로 아날로그 - 디지털 변환기로부터 예를 나타내는 12 바이트, 12의 8 비트 센서 값을 포함하고 있는지를 결정할 수있다.
즉시 프로테인의 표준 구조에서는, 헤더 길이를 따라 두개 이상의 가변 길이 정수 번호가 나타난다. 이 수치는 각각에 오프셋을 지정 descrips 목록의 첫 번째 원소와 제 키 - 값 쌍 (인제). 이러한 오프셋은 descrips 오프셋 및 섭취 오프셋으로 각각 지칭된다. 이러한 숫자들 각각 쿼드의 바이트 순서가 프로테인 엔디안 플래그 비트에 의해 특정된다. 각각에 대해, 제 4 바이트의 최상위 비트 수가 4 또는 8 바이트 폭의 여부를 판정한다. 최상위 비트 (MSB)가 설정되어있는 경우, 상기 제 4 바이트는 더블 워드 (여덟 바이트) 수의 최상위 바이트이다. 이것은 "폼 오프셋"으로 지칭된다. descrips과 쌍을 가리키는 별도의 오프셋의 사용은 예를 들면, 패턴 매칭 및 프로테인 어셈블리 descrips, 관련된 특정 최적화를 가능하게하고 descrips 쌍이 다른 코드 경로에 의해 처리 될 수있다. 프로테인의 처음 두 옵셋의 존재는 또한 몇 가지 유용한 최적화를 허용한다.
8 바이트 길이 또는 포인터를 요구하는 대부분의 프로테인은 그렇게 크지 않을 것이다, 그래서 일반적으로 (플래그) 길이와 두 숫자는 프로테인의 첫 번째 3 바이트를 차지한다 오프셋. 많은 하드웨어 또는 시스템 아키텍쳐에서,이 또는 제 넘어 바이트의 특정 수의 판독 페치는 (예, 16 바이트는 단일 바이트로 셀 프로세서의 메인 버스를 통해 당겨 클록 사이클 정확히 동일한 번호를 가지고) "자유"이다 .
많은 경우에 이것은 프로테인 안에 구현 고유 또는 콘텍스트 특정 메타 데이터를 캐싱하거나 허용하는 것이 유용하다. 오프셋들의 사용은 메타 데이터가 될 수있는 슬롯으로 프로테인의 시작 근처에 생성 될 임의의 사이즈의 "구멍"을 허용한다. 메타 데이터의 8 바이트를 사용할 수있다 구현은 모든 프로테인의 길이 헤더의 페치와 많은 시스템 아키텍처에 무료로 그 바이트를 가져온다.
descrips 지정에게 프로테인의 시작과 제 descrip 항목 사이의 바이트 수를 오프셋. 각 descrip 항목은 슬로 다음 (오프셋 형식으로 다시) 가변 폭 길이 필드가 다음 descrip 항목에 오프셋 (물론 오프셋 (offset) 양식을) 포함한다. 더 descrips가없는 경우, 규칙함으로써, 제로의 4 바이트 오프셋. 그렇지 않으면, 오프셋이 descrip 항목의 시작과 후속 descrip 항목 사이의 바이트 수를 지정한다. 길이 필드는 바이트, 슬로의 길이를 지정한다.
최상위 비트 세트와 길이를 지정하는 데 사용 만 낮은 30 비트 4 바이트 길이 / 유형 헤더, 데이터의 헤더의 지정된 수에 따라 대부분의 프로테인, 각 descrip는 슬로 문자열 방식으로 포맷 된 문자열이다 바이트. 평소와 같이, 길이 헤더는 프로테인로부터 엔디안 걸린다. 바이트 UTF-8 문자 인코딩 가정한다 (따라서, 및 ~ 조심해야 ~ 문자 수가 반드시 바이트의 수와 동일하지 않다).
섭취 지정에게 프로테인의 시작과 제 인제 항목 사이의 바이트 수를 오프셋. 인제 각 항목은 다음 항목에 인제 (오프셋 형태로) 오프셋, 길이 필드 및 슬로 다시 포함 하였다. 오히려 다음 descrip 항목보다 다음 인제 엔트리를 가리키는 것을 제외하고 오프셋 섭취는 descrips 오프셋에 기능적으로 동일하다.
대부분의 프로테인에서 모든 인제는 슬로의 단점은 일반적으로 키 / 값 쌍으로 사용되는 2 차원 값리스트를 포함하는 타입이다. 슬로 죄수 레코드는 중요한 대부분의 제 2 비트 세트와 길이를 지정하는 데 사용 만 낮은 30 비트 4 바이트 길이 / 유형 헤더를 포함하며, 값 (초) 요소의 시작 오프셋 4 바이트; 키 엘리먼트의 4 바이트 길이; 핵심 요소에 대한 슬로 기록; 소자 값의 4 바이트 길이; 마지막 값 요소 슬로 레코드.
일반적으로, 죄수 키는 슬로의 문자열이다. 여러 프로테인과 슬로 단점 길이와 오프셋 필드에서 데이터의 중복은 정제 및 최적화 아직 더 많은 기회를 제공한다.
일 실시예에서 사용 된 구조는 전술 한 바와 같이, 프로테인 내부에 데이터를 입력 (복수는 "슬로"이다) "슬로"라는 태그 바이트 시퀀스 사양과 추상화 포함한다. 슬로는 (아마도 골재)의 일부를 나타내는 바이트 데이터 입력의 선형 서열이며, 슬로가 생성, 수정 및 메모리 공간, 저장 매체, 및 컴퓨터 사이의 주위로 이동 될 수 있도록 프로그래밍 언어 별 API와 연관된다. 슬로 형 방식은 확장 가능한 한 경량으로, 임의의 프로그래밍 언어에서 사용할 수있는 공통 기판 것으로 의도된다.
효율적인 대규모 프로세스 간 통신 메커니즘을 구축하는 요구가 슬로 구성의 드라이버이다. 통상적 인 프로그래밍 언어는 특정 프로세스 메모리 레이아웃에서 잘 작동 복잡한 데이터 구조 및 입력 기능을 제공하지만, 데이터가 프로세스 사이를 이동하거나 디스크 상에 저장 될 필요가있을 때 이러한 데이터 표현 변함 분해. 슬로 구조는 먼저, 프로세스 간 통신을위한 실질적 효율적인 멀티 플랫폼 친화적 저레벨 데이터 모델이다.
그러나 더 중요하게는, 슬로 함께 프로테인, 영향으로 구성되고, 미래의 컴퓨팅 하드웨어 (마이크로 프로세서, 메모리 컨트롤러, 디스크 컨트롤러)의 개발을 가능하게한다. 몇 가지 특정 추가는, 슬로은 심지어 단일 프로세스로서 효율적으로 대부분의 프로그래밍 언어에 사용 된 스키마로 - 메모리 데이터 레이아웃에 대해 일반적으로 이용 가능한 마이크로 프로세서의 명령어 세트가 가능하게 말하고.
각 슬로은 유형 특정 데이터 레이아웃 다음 가변 길이 type 헤더를 포함한다. C, C ++, 예를 들어 루비 전체 슬로 기능을 지원하는 예시적인 실시예에서, 형태, 각 언어에서 액세스 파일 시스템 헤더에 정의 된 범용 정수로 표시된다. 더 정교하고 유연한 형 해상도 기능도 사용할 수 있다 : 보편적 인 물체 ID 및 네트워크 검색을 통해 예를 들어, 간접 입력한다.
실시예의 구성은 슬로 슬로 레코드는 예를 들어, 루비 및 C ++ 언어 - 모두로부터 친화적 방식으로 물체로서 사용될 수있다. C ++ 컴파일러 정신 검사 슬로 바이트 레이아웃 외부 유틸리티 모음은 개인 슬로 유형에 특정 헤더 파일과 매크로를 생성하고, 루비에 대한 바인딩을 자동으로 생성. 결과적으로, 잘 구성된 슬로 유형은 단일 프로세스 내에서 사용하는 경우에도 매우 효율적이다. 프로세스의 메모리에 액세스 할 수 언제 어디서나 슬로는 복사 또는 "직렬화"단계없이 해결할 수 있다.
실시 슬로의 기능은 다음 중 하나 이상을 수행하는 API 시설 포함 특정 유형의 새로운 슬로를 생성하는 단계; 만들거나 디스크 나 메모리에 바이트에서 슬로에 언어 별 참조를 구축; 유형 특정 방식으로 슬로 내에서 임베드 데이터; 슬로의 크기를 질의; 슬로 내에서 데이터를 검색; 슬로를 복제; 와 슬로 내의 모든 데이터의 엔디안과 다른 형식의 속성을 변환한다. 슬로의 모든 종은 위의 동작을 구현한다.
33B / 1 및도 33B2은 실시예에 따라, 슬로 헤더 포맷을 보여준다. 슬로의 상세한 설명은 다음과 같다.
각 슬로의 내부 구조는 그 슬로 인스턴스 타입 해상도, 캡슐화 된 데이터에 대한 액세스, 및 사이즈 정보를 각각 최적화한다. 일 실시예에서, 슬로 유형의 전체 세트는 디자인에 의해 최소한으로 완료하고, 포함 : 슬로 문자열을; 슬로 죄수 (즉, 다이 애드) 슬로 목록; 그 자체가 개인 수치 유형의 광범위한 세트를 나타내는 슬로 수치 목적은 반 다스의 순열 정도의 기본 속성으로 이해했다. 어떤 슬로의 다른 기본 속성은 그것의 크기이다. 실시예에서, 슬로가 4의 배수 양자화 바이트 길이를 갖는; 이 4 바이트 단어는 '쿼드'으로 여기라고한다. 일반적으로, 쿼드 기반의 크기는 현대적인 컴퓨터 하드웨어 아키텍처의 구성과 잘 슬로 정렬한다.
실시예에서 모든 슬로의 처음 4 바이트, 타입 설명 및 다른 메타 정보를 인코딩 헤더 구조를 포함하고, 그 특정 비트 패턴에 특정한 타입의 의미를 돌린다. 예를 들어, 슬로 헤더의 첫 번째 (가장 중요한) 비트는 슬로의 크기 (쿼드 단어의 길이) 초기 4 바이트 형식 헤더를 다음 여부를 지정하는 데 사용된다. 이 비트가 설정되면, 그것은 슬로의 크기를 명시 적 슬로의 다음의 4 바이트에 기록되어있는 것을 알 수있다 (예, 5-8 바이트); 슬로의 크기는 4 바이트로 표현 될 수 없다는 등의 경우 (즉 크기 또는보다 큰 두 제 32 전원 인 경우) 다음에 슬로의 처음 4 바이트의 다음 - 최상위 비트는 또한 슬로를 8 바이트 (아닌 네 바이트) 길이를 갖는 것을 의미한다 설정. 이 경우의 검사 처리는 슬로의 길이 열두 통해 서수 바이트 다섯 저장된 발견 할 것이다. 한편, 슬로 종류의 소수는 많은 경우에 완전히 typal 지정된 비트 패턴이 4 개의 바이트 슬로 헤더 내의 많은 비트 "미사용 잎"것을 의미한다; 이러한 경우에이 비트들은 달리 요구되는 바이트 (5-8)를 저장, 슬로의 길이를 인코딩하기 위해 사용될 수있다.
예를 들어, 실시예는 슬로 헤더의 최상위 비트 슬로의 길이 (( "길이 이하"플래그) 해제 및 슬로는 "연소 단점"을 나타 내기 위해 다음의 비트를 설정하고,이 경우에 나뭇잎 쿼드) 나머지 서른 비트로 인코딩된다. 마찬가지로, "꼬마 문자열은"슬로 문자열의 길이의 표현 스물아홉 비트 잎 헤더에있는 패턴 001으로 표시된다; 헤더에서 선도적 인 0001 스물여덟 가능한 길이를 나타내는 비트의 미덕에 의해 2 ~ - 스물여덟의 크기와 쿼드의 슬로의 목록이 될 수 있다 "꼬마 목록"을 설명한다. 슬로 길이 (극단적 인 경우, 또는 12) 여덟 통해 바이트 다섯 따로 부호화되기 때문에 최상위 헤더 비트가 반드시 설정으로 "전체 문자열"(또는 양론 또는 목록)은, 헤더에 상이한 비트 서명을 갖는다. 플라즈마 구현이 "꼬마"또는 사용할 수있는 꼬마 비트에서 이러한 구조의 "전체"버전 (결정이 결과 크기가 "적합"여부를 기반으로 또는 사용 여부 슬로 건설의 순간에 "결정"한다 )하지만, 전체 대 - 꼬마 세부 사항은 알고 그녀는 슬로 문자열을 사용하거나, 슬로 죄수, 또는 슬로의 목록이다 만 관심 플라즈마 구현의 사용자로부터 숨겨져 없다.
숫자 슬로는 선두 헤더 패턴에 의해 지시 된 실시예에서 후속 00001 헤더 비트는 임의의 순열에 결합 될 수 직교 특성의 집합을 나타내는 데 사용된다. 실시예 채용하지만 번호인지의 여부를 나타내는 경우에, 이러한 다섯 문자 비트에 한정되는 것은 아니다 : (1) 부동 소수점; (2) 복잡한; (3) 부호; (4) "전체"; (5) "똥똥"((4) "와이드"(5) "똥똥이"여덟, 열 여섯, 서른 두 및 예순넷 비트 숫자 표현을 나타 내기 위해 순열된다). 두 개의 추가 비트들 (예를 들어, (7) 및 (8))는 캡슐화 된 수치 데이터가 모두 비트 숫자가 "하나의 요소 벡터임을 시사 제로인와, 3 또는 4 요소 벡터 (임을 표시 ") (스칼라 예). 본 실시예에서 네 번째 헤더 바이트의 8 비트는 캡슐화 된 수치 데이터의 크기를 인코딩 (바이트 단위가 아니라 쿼드)하기 위해 사용된다. 과 1 사이 이백쉰여섯 바이트를 포함하여 그 어떤 크기를 나타낼 수 있도록이 크기 인코딩, 하나에 의해 상쇄된다. 마지막으로, 두 문자의 비트 (예를 들어, (9) 및 (10))에 수치 데이터를 통해 문자 비트 (1)에 의해 설명 된 유형 인, 각각의 개별 수치 엔티티들의 배열을 코딩하는 것을 나타 내기 위해 사용된다 (8) . 어레이의 경우, 각각의 숫자는 추가적인 엔티티 헤더 태그로 각 없지만 아마도 연속 단일 헤더 다음 데이터와, 명시 적 슬로 사이즈 정보로 포장된다.
이 실시예는 간단하고 효율적인 슬로 듀플리 수득 (로서 구현 될 수있다 바이트 단위 부)과 매우 간단하고 효율적인 슬로 비교 (일대일가 존재하고 경우 만 두 슬로 본 실시예에서는 동일하다 시퀀스에서 고려 그들의 성분 바이트)의 각각의 일치. 이 후자의 속성은 프로테인의 구조, 그 위기 및 보급 기능 중 하나의 효율적인 구현에, 예를 들어, 중요한 것은 프로테인의 descrips 목록 ON1 또는 '경기를 통해 검색 할 수있는 기능이다.
또한, 실시예들은 슬로 골재 형태 (예를 들어, 슬로와 양론 슬로리스트)를 간단하고 효율적으로 구축 될 수 있도록. 예를 들어, 실시예에 의해 응집체, 스스로 포함하는 임의의 형태 일 수있는 두 요소 슬로에서 슬로 양론 빌드 : (a) 각 구성 요소의 크기 슬로 질의; (b) 두 성분 슬로 및 1, 2 또는 헤더 플러스 크기의 구조에 필요한 세 사분면의 크기의 합과 동일한 크기의 메모리를 할당하는 단계; (c) 제 4 개, 8 개 또는 12 개 바이트 슬로 헤더 (플러스 사이즈 정보)를 기록하는 단계; 다음 (D) 바로 다음 메모리에 차례로 구성 요소 슬로의 바이트를 복사. 중요한 것은, 이러한 구성 루틴은 두 개의 구성 요소 슬로의 종류에 대해 아무것도 알 필요가 없다; 문제 (바이트의 순서로 접근성) 그들의 크기. 동일한 프로세스는 (아마도) 이종 유형의 임의의 많은 하위 슬로의 캡슐화를 정렬 슬로 목록의 건설에 관한 것이다.
메모리에 순차적 바이트와 슬로 시스템의 기본적인 형식의 또 다른 결과는 반복 사용 패턴 활동 - "호랑이"와 관련하여 획득 예를 들어, 사용, 슬로 목록에 저장되어있는 개인 슬로에 순차 액세스. 프로테인 구조 내에서 descrips 및 섭취를 나타내는 개별 슬로 유사 통과해야한다. 이러한 기동이 놀랄만큼 간단하고 효율적인 방법으로 달성된다 : 슬로 목록의 다음 슬로 "얻을"데, 하나는 메모리에 그것의 위치를 현재 슬로의 길이를 더한 결과로 메모리 위치의 동일 헤더 인 다음 슬로. 슬로와 프로테인 디자인은 "간접"를 eschews 때문에 이러한 단순함이 가능한다; 어떤 포인터가 없다; 오히려, 데이터는 단순히 그 자리에서 그 전체에 존재한다.
슬로 비교 지점으로, 플라즈마 시스템의 완전한 구현에 걸쳐 서로 다른 운영체제, CPU 및 하드웨어 아키텍처와 호환 중 다른 데이터 표현 방식의 존재를 인식해야한다. 주요 이러한 차이는 바이트 순서 정책 (예를 들어, little- 대 빅 엔디안) 및 부동 소수점 표현을 포함한다; 다른 차이가 존재한다. 플라즈마 사양 슬로에 의해 캡슐화 된 데이터 즉, 슬로가 검사되고있는 아키텍처 나 플랫폼의 기본 형식으로 표시해야한다 (interprable을 보장 할 것을 요구한다.이 요구 사항은 플라즈마 시스템은 자체 데이터 형식에 대한 책임이 있음을 차례로 의미 변환. 그러나 사양은 슬로가 검사 할 수 실행 프로세스에 "전혀 표시"가되기 전에 변환이 발생하는 것으로 만 규정하고있다. 그것은 따라서하는 그러한 형식 C의 변환을 수행하도록 선택 가리 개별 구현에 2 개의 적절한 접근법 슬로 데이터 페이로드를 개별 슬로 그대로가 충전되었던되는 프로테인 "당겨", 또는 (1) 로컬 아키텍처의 데이터 포맷을 따른다되었는지 (2)를 동시에 프로테인의 모든 슬로위한 그 프로테인이 상주시킨 풀로부터 추출 될 때,. 변환 규정은 하드웨어 지원 구현 가능성을 고려한다. 예를 들어, 명시적인 플라즈마 능력 내장 칩셋 네트워킹 "을 지능적으로 포맷 변환을 수행하도록 선택할 수있다 수신 시스템의 알려진 특성에 기초하여 송신의 순간」. 선택적으로, 전송의 프로세스는 수신 처리 대칭 정규에 "로컬"형식을 변환하여, 표준 형식으로 데이터 페이로드를 변환 할 수있다. 또 다른 실시예는 데이터가 항상 짝수 로컬 메모리에, 표준 형식으로 저장되는 것을 의미하는, "금속에서"포맷 변환을 수행하고, 데이터를 메모리로부터 검색 근위의 레지스터들에 배치되는 바와 같이 메모리 제어기 하드웨어 자체는 변환을 수행한다는 CPU.
실시의 최소 (읽기 전용) 프로테인 구현은 하나 이상의 애플리케이션 또는 프로테인의 활용 프로그래밍 언어 동작 또는 행동을 포함한다. 도 33C는 실시예에 따라, 프로테인을 사용하기위한 흐름도 (650)이다. 작동은 프로테인의 바이트 (652)의 길이를 조회하여 시작한다. descrips 항목의 수는 섭취의 수는 656 쿼리 descrip 항목은 인덱스 번호 (658)를 검색한다 (654) 쿼리된다. 인제는 인덱스 번호 (660)를 검색한다.
본 명세서에 기술 된 실시예는 프로테인 구성 및 최적화를 작성하기위한 데이터, 프로그래머 쉽게 일반적인 작업을 도우미-방법 및 후크로 가득 할 수 있도록 기본적인 방법을 정의한다. 도 33D는 일 실시예에 따라, 프로테인을 구성 또는 생성하는 순서도 (670)이다. 작동은 새로운 프로테인의 생성 (672)로 시작한다. descrips 항목의 일련의 인제 스트도 일치하는 descrip의 존재는 678 쿼리 (676)를 추가된다 (674)에 추가하고, 일치하는 인제 키의 존재는 인제 스트 키, 인제 값이 682을 검색된다 감안할 때 680 쿼리된다. 패턴 매칭은 descrips에 걸쳐 684를 수행한다. 비 구조화 된 메타 데이터는 프로테인의 시작 부분 (686)을 포함한다.
간 데이터 교환을 위해 정의의 최하위 레벨을 제공 슬로, 상술 한 바와 같이, 프로테인과 질의 필터링 중간 레벨 구조와 후크를 제공하며, 풀은 높은 수준의 조직 및 액세스 의미론을 제공한다. 풀은 선형 시퀀싱 및 상태 캐싱을 제공, 프로테인 저장소이다. 수영장은 여러 프로그램이나 여러 다른 유형의 응용 프로그램에서 멀티 프로세스 액세스를 제공한다. 또한, 풀은 일반, 최적화 할 필터링 및 패턴 대응 행동의 집합을 제공한다.
수십 프로테인 수천을 수용 할 수있는 형태의 풀은 개별 프로세스는 다중 프로세스 프로그램 코드에 공통 지루한 부기 대부분을 오프로드 할 수 있도록, 상태를 유지하는 기능을한다. 풀은 유지 또는 플라톤 풀 명시 적 인 참여 프로세스가 마음대로 풀에 모두 앞뒤로 스캔 할 수 있도록 infinite- available- 지난 프로테인의 큰 버퍼를 유지한다. 버퍼의 크기는 구현 물론, 의존하지만, 일반적인 사용에서 몇 시간 또는 일 동안 수영장에서 프로테인을 유지하는 것이 가능하다.
본원에 기술 된 바와 같이 풀 사용의 일반적인 스타일은 기존 간 통신 프레임 워크에 의해 촬영 기계론, 포인트 투 포인트 방식과 달리 생물학적 은유 hews. 이름 프로테인은 생물학적 영감을 암시 : 살아있는 유기체 화학 프로테인이 세포 요원의 큰 숫자로 패턴 매칭 및 필터링을 사용할 수 있다로 풀의 데이터 프로테인, 계산 과정의 큰 숫자에 의해 유연한 쿼리 및 패턴 매칭에 사용할 수 있다.
두 개의 추가 추상화의 사용을 포함하여, 생물학적 은유 의지
"핸들러"하고 골지 프레임 워크. 풀에 참여하는 과정은 일반적으로 핸들러의 번호를 생성한다. 핸들러는 핸들 행동과 일치하는 조건을 연결 코드의 상대적으로 작은 번들 있다. 풀에 하나 이상의 핸들러를 묶는함으로써, 프로세스 상태를 캡슐화하고 새로운 프로테인에 반응하는 유연한 콜백 트리거를 설정한다.
여러 풀에 참여하는 과정은 일반적으로 추상적 인 골지 클래스에서 상속한다. 골지 프레임 워크는 여러 풀 및 처리기를 관리하는 데 유용 루틴을 제공한다. 골지 클래스는 또한 풀을 사용하지 않는 지방 프로테인 교환하는 메커니즘을 제공하고, 부모 - 자식 관계를 캡슐화.
실시예에 따라 제공 풀 API는 풀 양쪽 시스템 특정 목적을 위해 주어진 하드웨어 및 네트워크 아키텍쳐의 이용 가능한 기능을 설명하기 위해, 다양한 방식으로 구현 될 수 있도록 구성된다. 풀 종속 된 두 가지 기본적인 시스템 규정은 저장 시설 및 프로세스 간 통신의 수단이다. 본원에 기재된 현존하는 시스템은 저장 시설 공유 메모리, 가상 메모리 및 디스크의 유연한 결합을 사용하여 IPC 큐와 프로세스 간 통신을위한 TCP / IP 소켓.
실시예의 풀 기능을 포함하지만, 이에 한정되지 않고 다음 : 풀에 참여; 수영장에서 프로테인을 배치하는 단계; 풀에서 다음 보이지 않는 프로테인을 검색하는 단계; 풀의 내용 (예를 들면, 프로테인)을 통해 되감기 또는 빨리 감기. 또한, 풀 기능을 포함 할 수 있으나, 이에 한정되지 않고 다음 : 프로세스 스트리밍 풀 콜백을 설정하는 단계; 선택적 descrips의 특정 패턴과 일치 또는 키를 섭취 프로테인을 검색하는 단계; 특히 descrips의 패턴이나 일치하는 프로테인을 주사 뒤로 및 앞으로 키를 섭취.
전술 한 프로테인은 다른 애플리케이션과 프로테인 데이터 콘텐츠를 공유하는 방법으로 풀에 제공된다. 도 34는 실시예에 따라, 데이터 교환을 이용한 슬로, 프로테인, 및 풀 포함한 처리 환경의 블럭도이다. 이 예시적인 환경은 세 개의 장치가 전술 한 바와 같이 슬로, 프로테인 및 풀의 사용을 통해 데이터를 공유하는 (예를 들어, 장치 X, 장치 Y, 및 장치 Z는, 이하 "장치"로 지칭)를 포함한다. 각 장치는 세 풀에 결합된다 (예를 들어, 풀 1, 2 풀, 풀 3). 풀 1은 다수의 프로테인 (예를 들어, 프로테인 XI이 프로테인 Z2 프로테인 Y2 프로테인 X4 프로테인 Y4)의 기부 또는 (각 장치에서 풀에 전송 포함 예 프로테인 Z2는 장치 Z, 등등에 의해 풀 (1)에 전송되거나 기여 .). 풀 2 (예를 들어, 프로테인 Z4, 프로테인 Y3, 프로테인의 Z1, 프로테인 X3)이 기여 또는 각각의 장치 (예를 들면, 프로테인 Y3 등, 전송 또는 장치 Y로 풀 2에 기여)에서 풀로 전송 많은 프로테인을 포함하고 있다. 풀 3은 다수의 프로테인 (예를 들어, 프로테인 일이, 프로테인 Z3, 프로테인 X2)이 기여 또는 각각의 장치 (예를 들면, 프로테인 X2 등, 전송 또는 장치 X로 풀 3에 기여)에서 풀로 전송을 포함한다. 전술 한 예는 세 풀 사이에 결합 또는 접속 세 장치를 포함하지만, 임의의 수의 디바이스가 결합되거나 풀 임의의 수 중 임의의 방식으로 또는 조합하여 접속되고, 임의의 풀은 임의의 수 또는 조합으로부터 기여 프로테인의 임의의 수를 포함 할 수있다 장치.
도 35은 여러 장치 및 플라즈마가 구축 된 하나 또는 그 이상의 장치에서 실행하는 다수의 프로그램을 포함하는 처리 환경의 블럭도이다 (예, 풀, 프로테인, 및 음식 찌꺼기)이 공유하는 프로그램을 실행하는 많은 수 있도록 사용되며 공동으로 실시예에서, 장치에 의해 생성 된 이벤트에 응답. 이 시스템은 다중 사용자, 다중 디바이스, 멀티 컴퓨터 대화 제어 시나리오 또는 구성의 일례 일 뿐이다. 특히,이 예에서, 대화 형 시스템은 다수의 장치를 포함하는 (예를 들면, 디바이스 A, B, 등)와 프로그램의 수는 장치에서 실행하는 (예를 들면, AA-AX 앱 BA-BX 등 앱) 플라즈마가 실행중인 프로그램이 주 집단적 이러한 입력 장치에 의해 발생 된 이벤트에 응답 할 수 있도록 (예를 들어, 풀, 프로테인, 및 음식 찌꺼기)를 사용하여 구성한다.
이 예에서, 각 장치는 (예를 들어, 디바이스 A, B 등)에 그 각각의 디바이스에서 실행되는 프로그램 (예, BA-BX 등, AA-AX 앱 앱)에서 또는 출력으로 생성 이산 원시 데이터를 변환 혈장 프로테인과 예금 플라즈마 풀에 그 프로테인. 예를 들어, 프로그램 AX 데이터 또는 출력을 생성하고, 차례로, 풀로 프로테인 (예를 들면, 프로테인 1 A, 프로테인 2 등), 예금 이들 프로테인에 원시 데이터를 변환 디바이스에 출력을 제공한다. 다른 예로서, BC는 프로그램 데이터를 생성하고, 풀로 장치 (예를 들어, 프로테인 IB, 2B 프로테인 등)을 차례로 프로테인로 데이터를 변환, B 석출물 이들 프로테인에 데이터를 제공한다.
각 프로테인은 프로그램 자체에 대한 식별 정보뿐만 아니라 어플리케이션을 등록 데이터 또는 출력을 지정 descrip리스트를 포함한다. 가능하다면, 프로테인 descrips 또한 출력 이벤트 또는 조치에 대한 일반적인 의미 론적 의미를 돌리다 수 있다. 프로테인의 데이터 페이로드 (예, 섭취) 프로그램 이벤트 유용한 상태 정보의 완전한 세트를 전달한다.
상술 한 바와 같이 프로테인은,에 관계없이 프로그램이나 장치의 종류, 모든 프로그램 또는 장치 결합 또는 풀에 연결하여 사용하기 위해 수영장에서 사용할 수 있다. 결과적으로, 임의의 수의 컴퓨터에서 실행되는 프로그램이 임의의 수의 입력 이벤트 풀로부터 프로테인을 추출 할 수있다. 이러한 장치는 로컬 메모리 버스 또는 풀로부터 프로테인을 추출하기 위해 네트워크 연결을 통해 하나 풀에 참여할 수에만 필요하다. 이것의 결과는 즉시 사용하거나 이벤트를 해석하는 것과 처리 이벤트를 생성하기위한 프로세스를 담당 디커플링 유리한 가능성이다. 생성 된 이벤트 스트림에있는 동안 장치는, 하나의 사용자에 의해 제어 될 수 있거나, 여러 사람들 (예, 플라즈마 기반의 입력 프레임 워크는 많은 동시 사용자들을 지원하는)에 의해 동시에 사용될 수 있도록 또 다른 결과는 소스와 이벤트 소비자 멀티플렉싱 여러 이벤트 소비자에게 볼을 켠다.
예로서, 디바이스 C는 풀에서 하나 이상의 프로테인 (예를 들면, 프로테인 1, 2A 프로테인 등)를 추출 할 수있다. 프로테인 추출 후, 기기 C는 프로테인 데이터에 대응하는 이벤트 처리에서, 프로테인, 검색 또는 프로테인의 섭취와 descrips 슬로로부터 판독의 데이터를 사용할 수있다. 다른 예로서, 단말기 B는 하나 이상의 프로테인을 추출 할 수있다 (예를 들면, 프로테인 1C, 2A 프로테인 등) 풀.
프로테인 추출 후, 디바이스 B는 프로테인 데이터는 대응하는 이벤트를 처리하는 프로테인의 데이터를 사용할 수있다.
풀에 연결하거나 연결 장치 및 / 또는 프로그램은 프로테인의 특정 시퀀스를 찾고 수영장에서 앞뒤로 탈지 수 있다. 그것은 예를 들어이 프로테인을 특정 사람과 함께 등장 하였는지를 결정하도록 거꾸로 탈지 한 후, 소정의 패턴과 일치하는 프로테인의 모양을 기다리는 프로그램을 설정하는 것이 유용하다. 입력 된 풀에 저장된 이벤트 이력의 활용을위한이 기능은 주로 기록 상태 관리 코드가 불필요하게하거나 적어도 상당히 바람직하지 않은 코딩 패턴에 대한 의존도를 감소시킨다.
도 36은 여러 장치 및 플라즈마가 구축 된 하나 또는 그 이상의 장치에서 실행하는 다수의 프로그램을 포함하는 처리 환경의 블럭도이다 (예, 풀, 프로테인, 및 음식 찌꺼기)이 공유하는 프로그램을 실행하는 많은 수 있도록 사용되며 총괄적 다른 실시하에 장치에 의해 발생되는 이벤트에 응답한다. 이 시스템은 다중 사용자, 다중 디바이스, 멀티 컴퓨터 대화 제어 시나리오 또는 구성의 일례 일 뿐이다. 특히,이 예에서, 대화 형 시스템은 다수의 장치를 포함하는 (예를 들면, 장치들 X 및 Y는 각각 디바이스 A 및 B에 결합) 및 프로그램 번호 (예, AA-AX를 앱, BA-BX 등 앱 ) 하나 이상의 컴퓨터들 (예, 장치, 장치 B 등)를 플라즈마가 구축 사용하여 실행 (예를 들어, 풀, 실행중인 프로그램이 주 집단적 이들 입력에 의해 생성 된 이벤트에 응답 할 수 있도록, 프로테인, 및 슬로) 장치.
이 예에서, 각 장치는 (예를 들어, 장치들 X 및 Y는 각각 디바이스 A 및 B에 결합) (관리 및 / 또는 각 장치에 호스팅 된 하나 이상의 프로그램에 따라 또는 연관하여 실행하도록 결합되어 예를 들어, 디바이스 A, 장치에 의해 발생 된 이산 원시 데이터를 변환 장치 B 등) (예를 들면, 플라즈마 풀로 혈장 프로테인 및 예금 이들 프로테인에 장치 X, 장치, 장치 Y, 장치 B 등) 하드웨어. 예를 들어, 애플리케이션 AB와 관련하여 실행 장치 X는 장치에 호스팅은 원시 데이터를 생성 풀로 프로테인 (예를 들면, 프로테인 1 A, 프로테인 2A, 등) 및 예금 이러한 프로테인로 분리 된 원시 데이터를 변환한다. 다른 예로서, AT 장치에 호스팅 된 애플리케이션과 연관하여 실행 장치 X는, 원시 데이터를 생성 풀로 프로테인 (예를 들면, 프로테인 1 A, 프로테인 2 등), 예금 이러한 프로테인로 분리 된 원시 데이터를 변환한다. 또 다른 예로서, 디바이스 C에 호스팅 된 애플리케이션 CD에 대응하여 실행되는 장치 Z는, 원시 데이터를 생성 풀로 프로테인 (예를 들면, 프로테인 (1C), 프로테인 (2C) 등) 및 예금 이러한 프로테인로 분리 된 원시 데이터를 변환한다.
각 프로테인은 장치 자체에 대한 식별 정보뿐만 아니라, 입력 장치에 의해 등록 된 작업을 지정 descrip리스트를 포함한다. 가능하다면, 프로테인 descrips 또한 장치 동작에 대한 일반 론적 의미를 돌리다 수 있다. 프로테인의 데이터 페이로드 (예, 섭취) 장치 이벤트에 유용한 상태 정보의 완전한 세트를 전달한다.
상술 한 바와 같이 프로테인은,에 관계없이 프로그램이나 장치의 종류, 모든 프로그램 또는 장치 결합 또는 풀에 연결하여 사용하기 위해 수영장에서 사용할 수 있다. 결과적으로, 임의의 수의 컴퓨터에서 실행되는 프로그램이 임의의 수의 입력 이벤트 풀로부터 프로테인을 추출 할 수있다. 이러한 장치는 로컬 메모리 버스 또는 풀로부터 프로테인을 추출하기 위해 네트워크 연결을 통해 하나 풀에 참여할 수에만 필요하다. 이것의 결과는 즉시 사용하거나 이벤트를 해석하는 것과 처리 이벤트를 생성하기위한 프로세스를 담당 디커플링 유리한 가능성이다. 그 입력 장치는 하나의 사용자에 의해 제어 될 수 있거나, 여러 사람들 (예, 플라즈마 기반의 입력 프레임 워크는 많은 동시 사용자들을 지원하는)에 의해 동시에 이용 될 수 있도록 생성 된 이벤트 스트림 인 반면 또 다른 결과는, 소스와 이벤트 소비자 멀티플렉싱 여러 이벤트 소비자가 볼 차례.
풀에 연결하거나 연결 장치 및 / 또는 프로그램은 프로테인의 특정 시퀀스를 찾고 수영장에서 앞뒤로 탈지 수 있다. 그것은 예를 들어이 프로테인을 특정 사람과 함께 등장 하였는지를 결정하도록 거꾸로 탈지 한 후, 소정의 패턴과 일치하는 프로테인의 모양을 기다리는 프로그램을 설정하는 것이 유용하다. 입력 된 풀에 저장된 이벤트 이력의 활용을위한이 기능은 주로 기록 상태 관리 코드가 불필요하게하거나 적어도 상당히 바람직하지 않은 코딩 패턴에 대한 의존도를 감소시킨다.
도 37는 플라즈마가 구축 된 하나 또는 그 이상의 장치에서 실행되는 다수의 프로그램들 사이에서 결합되어 복수의 입력 장치를 포함하는 처리 환경의 블럭도이다 (예를 들면, 풀, 프로테인, 및 음식 찌꺼기가)에 다수의 실행 프로그램을 허용하기 위해 사용된다 주 집단적 다른 실시예에 따라, 입력 장치에 의해 발생 된 이벤트에 응답. 이 시스템은 다중 사용자, 다중 디바이스, 멀티 컴퓨터 대화 제어 시나리오 또는 구성의 일례 일 뿐이다. 특히,이 예에서, 다수의 입력 장치를 포함하는 대화 형 시스템 (예를 들어, 입력 장치 A, B, BA와 BB 등) 등 및 하나 이상의 컴퓨터에서 실행되는 프로그램의 수 (도시 생략) ( 단말기 A, 단말기 B 등)는 플라즈마가 실행중인 프로그램이 주 집단적 이러한 입력 장치에 의해 발생 된 이벤트에 응답 할 수 있도록 (예를 들어, 풀, 프로테인, 및 음식 찌꺼기)를 사용하여 구성한다.
이 예에서, 각 입력 장치 (예를 들어, 입력 장치 A, B는, BA와 BB 등) (예를 들면, 단말기 A, 단말기 B 등) 이는 번역 각 장치에 호스팅 된 소프트웨어 드라이버 프로그램에 의해 관리되고 플라즈마 풀로 혈장 프로테인 및 예금 그 프로테인을 상기 입력 장치 하드웨어에 의해 발생 된 이산 원시 데이터. 예를 들어, 입력 장치는 원시 데이터를 생성하고, 차례로, 풀로 프로테인 (예를 들면, 프로테인 1 A, 프로테인 2 등), 예금 이러한 프로테인로 분리 된 원시 데이터를 변환하는, 디바이스로 미가공 데이터를 제공한다 . 다른 예로서, 입력 장치 BB는 원시 데이터를 생성하고, 차례로, 프로테인로 분리 된 원시 데이터를 변환, 디바이스 B에 대한 원시 데이터를 제공한다 (예를 들어, 프로테인 IB 프로테인 3B 등) 및 예금 풀로 이들 프로테인.
각 프로테인은 장치 자체에 대한 식별 정보뿐만 아니라, 입력 장치에 의해 등록 된 작업을 지정 descrip리스트를 포함한다. 가능하다면, 프로테인 descrips 또한 장치 동작에 대한 일반 론적 의미를 돌리다 수 있다. 프로테인의 데이터 페이로드 (예, 섭취) 장치 이벤트에 유용한 상태 정보의 완전한 세트를 전달한다.
여기서, 설명하기 위해 이러한 시스템에서 두 전형적인 이벤트 예 프로테인이다. 프로테인들은 실제 구현에서, 이들 프로테인의 구성 부품 데이터 번들 (예, 슬로)에 입력되고, 여기 그러나 텍스트로 표시된다. 다음과 같이 G-말하는 "한 손가락 클릭은"(관련 응용 프로그램에 설명) 포즈를 설명하는 프로테인이다 :
Figure pct00005
추가적인 예로서, 마우스 클릭을 설명하는 프로테인은 다음과 같다:
Figure pct00006
전술 한 샘플의 프로테인 중 하나 또는 둘 모두의 특정 코드 부분을 실행하는 호스트 장치의 프로그램 참여를 유발할 수있다. 이 프로그램은 일반적인 의미 라벨에 관심이있을 수 있다 : 모두의 가장 일반적인를, "포인트", 또는보다 구체적인 쌍, "한 참여". "한 손가락 참여", 또는 하나의 집합 개체, "손-ID-23"또는 그들은 그럴듯하게 만 정확한 장치에 의해 생성 될 이벤트를보고 할 수있다.
상술 한 바와 같이 프로테인은,에 관계없이 프로그램이나 장치의 종류, 모든 프로그램 또는 장치 결합 또는 풀에 연결하여 사용하기 위해 수영장에서 사용할 수 있다. 결과적으로, 임의의 수의 컴퓨터에서 실행되는 프로그램이 임의의 수의 입력 이벤트 풀로부터 프로테인을 추출 할 수있다. 이러한 장치는 로컬 메모리 버스 또는 풀로부터 프로테인을 추출하기 위해 네트워크 연결을 통해 하나 풀에 참여할 수에만 필요하다. 이것의 즉각적인 결과는 사용하거나 이벤트를 해석하는 것과 '입력 이벤트'를 생성 할 책임이 있다 프로세스를 디커플링의 수익 가능성이다. 그 입력 장치는 하나의 사용자에 의해 제어 될 수 있거나, 여러 사람들 (예, 플라즈마 기반의 입력 프레임 워크는 많은 동시 사용자들을 지원하는)에 의해 동시에 이용 될 수 있도록 생성 된 이벤트 스트림 인 반면 또 다른 결과는, 소스와 이벤트 소비자 멀티플렉싱 여러 이벤트 소비자가 볼 차례.
예를 들어 프로테인 또는 사용 된 바와 같이, 디바이스 C는 풀에서 하나 이상의 프로테인 (예, 프로테인 IB 등)를 추출 할 수있다. 프로테인 추출 후, 기기 C는 입력 장치 CA와 프로테인 데이터가 대응되는 CC들의 처리 입력 이벤트에서, 프로테인, 검색 또는 descrips과 프로테인 섭취의 슬로로부터 판독의 데이터를 사용할 수있다. 다른 예로서, 장치는 풀에서 하나 이상의 프로테인 (예, 프로테인 IB 등)를 추출 할 수있다. 프로테인 추출 후, 장치는 프로테인의 데이터에 대응되는 입력 장치의 입력 이벤트를 처리하는 프로테인의 데이터를 사용할 수있다.
풀에 연결하거나 연결 장치 및 / 또는 프로그램은 프로테인의 특정 시퀀스를 찾고 수영장에서 앞뒤로 탈지 수 있다. 그것은 예를 들어이 프로테인을 특정 사람과 함께 등장 하였는지를 결정하도록 거꾸로 탈지 한 후, 소정의 패턴과 일치하는 프로테인의 모양을 기다리는 프로그램을 설정하는 것이 유용하다. 입력 된 풀에 저장된 이벤트 이력의 활용을위한이 기능은 주로 기록 상태 관리 코드가 불필요하게하거나 적어도 상당히 바람직하지 않은 코딩 패턴에 대한 의존도를 감소시킨다.
본원에 설명 된 시스템의 실시예에서 사용되는 입력 장치의 예는 몇 가지 이름을 제스처 입력 센서, 키보드, 마우스 등의 가전 제품에 사용되는 것과 같은 적외선 원격 제어, 작업 중심 유형 매체 객체들을 포함한다.
도 38는 플라즈마가 구축 된 하나 또는 그 이상의 장치에서 실행되는 다수의 프로그램들 사이에서 연결된 다수의 장치를 포함하는 처리 환경의 블럭도이다 (예를 들면, 풀, 프로테인, 및 슬로)는 다수의 실행 프로그램에서 공유 할 수 있도록하는 데 사용되는 집단적 또 다른 실시예에 따라, 장치에 의해 생성 된 그래픽 이벤트에 응답. 시스템의 일 예는 (예를 들어 그래픽 AE)를 다수 실행중인 프로그램을 포함하고, 프로그램의 일부 또는 전부의 그래픽 출력을 조정에서 다른 프로그램에 제공되는 하나 이상의 표시 장치 (도시되지 않음)하지만,이 시스템은 플라즈마를 이용한 방법은 실행중인 프로그램이 주 집단적 장치에 의해 생성 된 그래픽 이벤트에 응답 할 수 있도록 (예를 들어, 풀, 프로테인, 및 음식 찌꺼기)를 구성한다.
컴퓨터 프로그램이 다른 프로그램에 의해 생성 된 그래픽을 표시하는 것이 종종 유용하다. 몇 가지 일반적인 예는 화상 회의 응용 프로그램, 네트워크 기반의 슬라이드 쇼 및 데모 프로그램, 창 관리자를 포함한다. 이러한 구성에 따라, 풀 비디오, 네트워크 애플리케이션 공유 및 윈도우 관리를 캡슐화하고, 프로그래머는 프로그램의 현재 버전에서 일반적으로 사용할 수없는 기능의 수를 추가 할 수 있도록 일반화 된 프레임 워크를 구현하는 플라즈마 라이브러리로서 사용된다.
프로그램 (예를 들어, 그래픽 AE) 플라즈마 합성 환경에서 실행은 풀에 커플 링 및 / 또는 연결을 통해 조정 풀에 참여한다. 각 프로그램은 각종 그래픽 소스의 이용 가능성을 나타 내기 위해 그 풀에서 프로테인을 증착 할 수있다. 그래픽을 표시 할 수있는 프로그램들도 표시 '기능, 보안 및 사용자 프로파일, 물리적 및 네트워크 위치를 표시하기 위해 프로테인을 입금.
그래픽스 데이터는 풀을 통해 전송 될 수도 있고, 프로그램은 디스플레이 (TSP는 예를 들어, 스트림들)에 다른 종류의 네트워크 자원을 지시 할 수있다. 본원에서 사용되는 어구 "그래픽 데이터"는 넓은 연속체 놓여 다른 다양한 표현을 의미한다; 그래픽 데이터의 예는 있지만 리터럴 예 (예를 들면, "영상", 또는 화소의 블록), 절차 적 실시예에 한정되지 않는 포함 (예를 들어, 일반적인 OpenGL은 파이프 라인을 흘러 그러한 것과 '드로잉'지시어의 서열) 및 설명 예 (예를 들어, 기하학적 변환, 클리핑, 및 합성 작업의 방법에 의해 다른 그래픽 구조를 결합 지침).
로컬 컴퓨터에서 그래픽 데이터를 플랫폼에 특정 디스플레이 드라이버 최적화를 통해 전달 될 수있다. 그래픽은 풀을 통해 전송되지 않는 경우에도 더 비전 소스에 직접 액세스 할 수없는 클라이언트가 여전히 가을 백 그래픽을 표시 할 수 있도록, 종종주기적인 화면 캡처 조정 풀에 저장된다.
여기에 설명 된 시스템의 하나의 장점은 대부분의 메시지 전달 체계와 네트워크 프로토콜과 달리, 풀 데이터의 상당한 버퍼를 유지한다는 것이다. 그래서 프로그램 (조정 풀의 경우) 액세스 및 사용 패턴을 찾고 또는 (그래픽 풀의 경우) 이전의 그래픽 프레임을 추출 수영장에 뒤로 되감기 할 수 있다.
도 39는 하나 이상의 플라즈마가 구축되는 장치 (예 : 풀, 프로테인, 및 슬로)가 안정된 검사, 시각화를 허용하는 데 사용되며, 실행중인 다수의 프로그램들 사이에서 연결된 다수의 장치를 포함하는 처리 환경의 블럭도이다 또 다른 대안의 실시예에서 실행중인 프로그램의 디버깅. 이 시스템은 다수의 장치에 다수의 실행 프로그램 (예를 들면 프로그램 PA, 프로그램 PB 등)를 포함하는 시스템의 한 예에 불과하다 (예를 들어, 단말기 A, 단말기 B, 등등) 일부 프로그램은 다른 프로그램의 내부 상태를 액세스하는 사용하거나 풀을 통해.
대부분의 대화 형 컴퓨터 시스템은 단일 시스템 또는 여러 시스템에와 네트워크를 통해 상호 작용하는 하나 서로 함께 실행 많은 프로그램을 포함한다. 다중 프로그램은 시스템 구성, 런타임 데이터는 각각의 프로세스 내에서 숨겨지고 접근하는 것은 곤란하다 때문에 분석 및 디버깅하기 어려울 수있다. 본원에 기재된 실시예의 일반화 된 프레임 워크를 플라즈마 제물은 다른 프로그램의 상태를 검사 할 수 있도록 풀 비아 가능한 데이터의 대부분을 만들기 위해 프로그램을 실행할 수 있다. 이 프레임 워크는 인간 오퍼레이터 상세히 프로그램 또는 프로그램을 통과 한 상태들의 시퀀스를 분석 할 수 있도록 구성된 종래 디버거 정교한 시스템 관리 툴, 및 시각화 하니스보다 더 유연 디버깅 도구를 가능하게한다.
(39), 프로그램을 참조하면 (예를 들어, 프로그램 PA, PB 프로그램 등)이 프레임 워크에서 실행하는 프로그램 생성시 또는 풀 프로세스가 시작 만든다. 이 풀은 시스템 책력에 등록되고, 보안 및 액세스 제어가 적용된다. 보다 구체적으로, 각 장치는 (예를 들어, 디바이스 A, B 등) 프로그램에서 사용자에 의해 또는 출력 생성 이산 원시 데이터를 변환 (예를 들어, 프로그램 PA, 프로그램 PB 등) 혈장 프로테인 및 예금 이들로 그 각각의 장치에서 실행 플라즈마 풀에 프로테인. 예를 들어, 프로그램 PA 데이터 또는 출력을 생성하고, 차례로, 풀로 프로테인 (예를 들면, 프로테인 1 A, 프로테인 2A, 프로테인 3A, 등) 및 예금 이들 프로테인에 원시 데이터를 변환 디바이스에 출력을 제공한다 . 다른 예로서, 프로그램 PB는 데이터를 생성하고, 차례로, 프로테인 풀로 (예, 프로테인 등 1B-4B) 및 이들 프로테인에 입금 데이터를 변환, 디바이스 B에 데이터를 제공한다.
프로그램의 수명 기간 동안, 충분한 액세스 권한이있는 다른 프로그램 풀에 연결하고 프로그램 예금 프로테인을 읽을 수 있다; 이것은 기본적인 검사 양상을 나타내며, 개념적으로 "단방향"또는 "읽기 전용"발의안이다 프로그램 PA 관심 엔티티는 프로세스 풀에서 PA에 의해 증착 상태 정보의 흐름을 검사한다. 예를 들어, 디바이스 C 하에서 검사 프로그램 또는 애플리케이션 실행은 하나 이상의 프로테인을 추출 할 수있다 (예를 들면, 한 프로테인 A, 프로테인 2 등) 풀. 프로테인 추출 후, 기기 C는, 액세스 프로테인의 섭취와 descrips 슬로에서 검색 또는 판독 프로테인의 데이터를 사용하여 해석하고 프로그램 PA의 내부 상태를 검사 할 수있다.
그러나, 플라즈마 시스템은 효율적인 상태 기반 전송 방식뿐만 아니라, 전방위 메시징 환경, 몇 가지 추가 모드 지원 프로그램 프로그램 상태 검사뿐임을 리콜. 인가 된 검사 프로그램은 그 자체에 영향을 미치거나 생산 (결국 프로그램 P는에 기록뿐 아니라로부터 판독)하는 프로세스 풀에 배치 된 상태 정보의 특성을 제어하기위한 프로그램 P의 프로세스 풀로 프로테인을 증착 할 수있다.
도 40는 플라즈마가 구축 된 하나 또는 그 이상의 장치에서 실행되는 다수의 프로그램들 사이에서 연결된 다수의 장치를 포함하는 처리 환경의 블럭도이다 (예를 들어, 풀은, 프로테인, 및 음식 찌꺼기)의 영향을 허용하거나의 특성을 제어하는데 이용된다 상태 정보 생성 및 추가 다른 실시예에 따라, 그 과정 풀에 배치. 이 시스템의 예에서, 하나의 인스턴트 또는 특정 기간에 대한 하나의 프로그램 (예, 프로그램 PA, 프로그램 PB 등) 풀에 평소보다 더 상태를 덤프 예컨대 요청 디바이스 C 캔 검사 프로그램. 또는 디버그 통신 다음 '레벨'prefiguring, 관심있는 프로그램은 프로그램 (예를 들면, 프로그램 PA, 프로그램 PB 등)을 개별적으로 가능하고 사용할 수있는 그 런타임 환경에 현존하는 개체를 목록으로 프로테인을 방출 할 것을 요청할 수있다 디버그 풀을 통해 상호 작용. 따라서 정보, 관심있는 프로그램은 프로세스 풀에 프로테인을 배치 프로그램 런타임에서 객체 간의 '주소'개인, 특정 개체 혼자 차지에 응답 할 수 있다. 관심있는 프로그램은, 예를 들면, 물체의 모든 구성 요소의 순시 변수의 값을 기술 보고서 프로테인을 방출 할 것을 요청할 수있다. 더욱 크게 관심 프로그램은, 다른 프로테인을 통해, 그 행동 또는 변수 '값을 변경하는 것을 목적으로 지시 할 수있다.
보다 구체적으로,이 예에서, 물체리스트 (프로테인의 형태로) 풀 요청으로 디바이스 C에 대한 검사 응용 프로그램 (예 : "요청 - 물체리스트") 다음 예 (각 디바이스에 의해 추출하고, 장치 A, 풀 결합 장치 B 등)를 포함한다. 요청, 각 디바이스에 응답하여 (예를 들면, 단말기 A, 단말기 B, 등) (예를 들면, 프로테인 1 A, 프로테인 IB 등)을 개별적으로되어 그 런타임 환경에 현존하는 객체를 나열 풀로 프로테인을 배치 할 수있는 디버그 풀을 통해 상호 작용을 사용할 수 있다.
따라서 장치에서, 및 물체의 목록에 대한 응답으로 목록을 통해 정보, 장치 C의 검사 응용 프로그램은 프로그램 실행시에 객체 간의 개인, 배치 프로테인 프로세스 풀에서 혼자 특정 객체가 소요된다 및 주소 에 반응한다. 장치 C의 검사 애플리케이션은, 예를 들어, 요청 프로테인을 배치 할 수 (예를 들어, 프로테인 "요청 리포트 PAO", "요청 리포트 PBO") 객체 (예를 들어, 객체 PAO는 각각 PBO 개체) 풀은 방출 모든 구성 요소의 순시 변수의 값을 기술 보고서의 프로테인 (예를 들면,이 프로테인 A, 프로테인 2B 등). 각 물체 (예를 들어, 객체 PAO는 객체 PBO)는 그 요청 (각각 예를 들어, 프로테인 "요청 리포트 PAO", "요청 리포트 PBO를")를 추출하고, 응답하여, 요청 된 리포트를 포함하는 풀으로 프로테인을 배치 (예 프로테인 2A, 2B는 각각 프로테인,). 장치 C가 다음 다양한 리포트를 추출하는 프로테인 (예를 들어, 프로테인 2A, 2B 프로테인 등) 보고서의 내용에 적절한 후속 공정 작업을 수행.
이러한 방식으로, 교환 매체로서 플라즈마의 사용은 디버깅 프로세스 제어, 프로그램 간 통신 및 조정 구별 침식 궁극적 쉽다.
마지막에, 일반화 된 플라즈마 프레임 워크는 시각화 및 분석 프로그램은 느슨하게 결합 된 방식으로 설계 할 수 있다. 메모리 액세스 패턴을 표시 시각화 툴, 예를 들어, 그 기본 메모리를 판독 출력하고, 풀에 기록하는 임의의 프로그램과 함께 사용될 수있다. 분석을 진행 프로그램은 존재 또는 시각화 툴의 디자인, 또는 그 반대로 알고 필요가 없다.
상술 한 방식으로 풀의 사용은 과도한 시스템 성능에 영향을 미치지 않는다. 예를 들어, 실시예는 비교적 상세 데이터 출력을 가능하게하는 가장 두드러 프로그램 또는 대화식 응답 특성을 저해하지 않도록, 풀 초당 수십만 프로테인 증착 수있다.
메즈 상호 작용 및 데이터 표현
상술 한 바와 같이, 메즈 누구 고선명 디스플레이 삼면 공유 작업 영역의 중심을 형성하는 신규 한 협업 화이트 보드, 및 프리젠 테이션 환경이다. 여러 참가자가 동시에 시스템의 직관적 인 공간 지팡이, 유체 브라우저 기반 클라이언트, 자신의 휴대 기기를 통해 작업, 메즈의 디스플레이에서 요소를 조작 할 수 있다. 노트북이 메즈에 연결하는 경우, 그 컴퓨터의 픽셀은 디스플레이 삼부작에 표시하고, 이동 슬캘링, 세션의 워크 플로우에 통합 할 수 있다. 모든 참가자는 '도달 통해'연결된 모든 컴퓨터에서 실행중인 응용 프로그램과 직접 상호 작용하는 삼부작에 사용할 수 있다. 그것은 모든 전례 다중 참가자 제어 프레임 워크 내에서, 협업 화이트 보드 프레젠테이션 디자인 배송 및 애플리케이션 공유를위한 기술을 병합한다 결과적으로, 메즈 전통적인 텔레프레즌스 및 비디오 회의에 강력한 보수이다.
특히, 메즈 통신하고 실시간으로 서로 상호 작용 프로세스 및 장치의 생태계이다. 이 별도의 모듈을 사용하여 서로 플라즈마와 통신, 시간 기반 내부 프로세스, 프로세스 간, 간 머신 데이터 전송을 위해 직사각형의 프레임 워크이다. 다음 설명은 메즈의 기술 인프라와 상호 작용하는 이들 성분을 가능 플라즈마 프로토콜의 주요 구성 요소를 정의한다.
기술적 관점에서, 메즈는 삼면에 요소를 렌더링 완드 및 기타 장치에서 인간의 입력을 처리하고, 전체 시스템의 상태를 관리 할 책임이있다 yovo 응용 프로그램의 이름이다. 그것은 이미지가 다른 장치에서 수신 변환 자산 관리자는 클라이언트라는 또 다른 yovo 프로세스에 의해 호출 지원한다. 클라이언트는 광범위하게 결합 또는 메즈에 연결되지 않은 yovo, 비 메즈 장치로 정의된다. 클라이언트는 메즈 웹 응용 프로그램과 아이폰 OS 나 안드로이드 플랫폼을 지원하는 모바일 장치를 포함한다.
메즈의 건축 요소는 핵심 yovo 과정, 자산 관리자, 병참, Eventilator, 웹 클라이언트, 아이폰 OS와 안드로이드 클라이언트를 포함한다. 단일 스레드 yovo 프로세스는 모든 응용 프로그램 상태의 골키퍼와 모든 클라이언트 간의 통신의 기획자이다. 메즈은 클라이언트의 요청을 중개하고 필요에 따라 모든 클라이언트에 결과를보고한다. 이 G 발언 플랫폼에 집에 있기 때문에 구어체로,이 과정은 종종 "기본 응용 프로그램"이라고한다. 메즈은 사용자가 선택하고 dossier-에게 메즈 슬라이드 데크를 열거 나 문서 수 또는 서류가 이미 열려있을 때 세션에 가입 할 수 있도록 세션 상태를 제어한다. 기본 메즈 프로세스는 삼부작의 모든 그래픽을 렌더링하고 모두 여러가 원본의 지팡이와 클라이언트의 입력에 대한 모든 피드백 글리프를 생성한다.
자산 관리자는 클라이언트와 기본 메즈 모두에서 이미지 내용을 처리한다. 그것은 유지하고 메즈와 클라이언트 모두에 액세스 할 수있는 디스크에 이미지 파일을 만들기위한 책임이 있다. 자산 관리자는 표준 포맷으로 변환을 수행하고 이미지 썸네일의 생성을 처리, 고해상도 이미지를 슬라이드와 메즈 자산과 슬라이드의 아카이브를 압축 할 수 있다.
병참는, 인코딩 및 트랜스 코딩 비디오 및 오디오 소스, 모두 자동으로 사용자 컨트롤에 응답을 캡처하는 역할을 프로세스 그룹을 의미한다. 특히, 병참 캡처하고, 예를 들면, Westar HRED의 PCI 카드에서 DVI 입력을 인코딩하는 데 사용하지만, 이에 한정되지 않는다된다. 메즈 하드웨어는 네 개의 DVI 입력을 가지고 있으며, 메즈 소프트웨어는 비디오를 스트리밍하는 병참로 조정한다.
Eventilator은 메즈에서 "통과 (pass-through)"기능을 사용할 수 있다. 실시의 Eventilator은 사용자가 자신의 컴퓨터 (예를 들어, 노트북 컴퓨터 등)에서 실행할 수있는 응용 프로그램이다. Eventilator GUI는 다른 회의 참가자는 그 / 그녀의 마우스 커서를 제어 할 수 있도록 메즈에 비디오 피드에 그 / 그녀의 노트북을 연결하는 사용자 수 있다.
메즈 웹 응용 프로그램은 사용자가 웹 브라우저를 통해 디스플레이의 삼부작과 상호 작용 할 수 있다. reachthrough 호출 실시예의기구를 사용하여, 웹 클라이언트가 완전 priveleged 메즈 커서로서의 마우스를 사용할 수있다. 웹 클라이언트는, 갑판 스크롤 슬라이드 및 이미지 콘텐츠를 업로드, 비디오 피드의 소스와 볼륨을 조절할 수 있다. 웹 클라이언트 요청이 보류되는 동안 일시적으로 독립적으로 메즈 자신의 상태를 설정할 수 있지만 항상 메즈 응용 프로그램 상태를 지시 할 수 있도록해야한다. 웹 클라이언트는 플라즈마 풀을 통해 메즈과 동기화를 유지.
아이폰 OS 나 안드로이드 모바일 장치는 삼부작의 최소 볼 수있는 메즈 클라이언트에 액세스 할 슬라이드를 업로드하고 세션이 활성화 될 때 슬라이드의 갑판을 스크롤 할 수 있다. 모바일 장치 클라이언트는 웹 클라이언트로서 네이티브 애플리케이션과 통신하기 위해 동일한 플라즈마 프로토콜을 사용한다.
메즈은 수와 프로테인 시설을 다수의 클라이언트 상호 작용을 포함한다. 실시예에서, 메즈은 경험 성분으로서 확인 된 고객 세트를 지원한다. 이러한 클라이언트는 하나 또는 임의의 웹 브라우저에서 실행하는 웹 클라이언트의 이상뿐만 아니라 iOS 장치 (예를 들면, 아이 패드, 아이폰, 아이팟 등)를 포함한다. 메즈은 세션에 참가하여 참여 환경이 메즈와이 상주하는 내 공간에 거주하는 사람들과 참여에 참여하는 것을 의미한다. 이와 같이, 프로테인의 설명 통로 호출 조치가 보일 것이고 메즈 세션에 참여하는 다른 사람에 의해 경험.
상세히 설명 프로테인은 본원에서 사용 된 메즈의 서브 세트, 또한 본 명세서 흐름도 내에 언급 된 이들의 서브 세트를 포함한다. 만 또는 클라이언트에 전달 그 프로테인은 여기에 설명되어 있다. 흐름도는 여기에 제공된 모든 가능한 오류 상태를 포함하지 않는다. 그럼에도 불구하고, 본원에 기재된 프로테인은 기록 작업으로 인해 발생할 수있는 에러를 포함하는 프로테인.
본원 슬로, 프로테인, 및 풀 대하여 상세히 설명 된 바와 같이, libPlasma의 최하위 레벨 슬로이다. 하나의 데이터 유닛을 나타내는 슬로 및 많은 종류의 데이터를 저장할 수 있으며, 그들이 부호없는 64 비트 정수, 복소수 벡터, 문자열 또는 목록이. 프로테인을 생성 또는 슬로에서 생성 및 프로테인은 비정질 데이터 구조를 포함한다.
프로테인은 descrips 및 섭취를 포함하는 두 개의 구성 요소가 있다. descrips는 슬로 문자열이 있어야하고, 섭취는 키가 접근을 용이하게하는 문자열 키 - 값 쌍, 있어야하고 있지만, 이러한 기대는 striclty 적용되지 않을 수 있다.
모든 프로테인 descrips의리스트를 포함한다. descrips은 프로테인을 식별하는 스키마로 생각할 수있다. descrips리스트에 제공된 스키마에 기초하여, 섭취의 세트가 포함하는 프로테인은 일반적으로 추론 될 수있다. 그러나 본 명세서에서 설명한 바와 같이, 프로테인 규칙 느슨하게 시행 될 수 있고, 그래서 그것은 단일 스키마를 가질 수 있고, 또는 몇몇 프로테인 섭취 여러 유효한 직교 세트에 매핑리스트를 descrips. descrips이지도를 포함 할 수는 없지만, 그들은 키 제공 할 수 있다 값 데이터를 필터링 할 수 있다. descrip 콜론 만료되면 (:), 이는 목록에서 다음 descrip는 대응하는 값을 나타내는 것으로한다. descrips 목록을 기반으로 프로테인을 필터링하고, metabolize- 수 풀에 참여하는 클라이언트는 단지 특정 필터 설정과 일치하는 프로세싱을 선택한다.
섭취는 키의 컬렉션을 포함하는 맵을 포함한다 : 값 쌍을, 데이터가 놓여 곳이다. 여러 수신자에 도달 할 수 있다 하나 임에도 불구하고, 봉투에 낙서 주소의 매우 느슨한 형태로 descrips을 고려하면, 섭취는 내부의 편지로 생각 될 수있다.
풀은 프로테인 수송 및 불변의 저장 메커니즘, 선형 증착 시간에 주문을한다. 풀 프로세스 프로테인을 통해 통신하기위한 수단을 제공한다.
본원에 기재된 프로테인은 가독성을 보조 의사 코드 구문에 나타낸다. 프로테인이 libPlasma API를 사용하여 구성해야하므로이 구문은, 프로테인 플라즈마 구현에 소요되는 실제 양식을 반영하지 않다.
설명은 문서 스타일의 다음과 주요 변수 중 일부는 많은 메즈 프로테인에서 참조.
Braces-는 {} - key.value 쌍의 목록을 포함하는지도를 표시하기 위해 문서 전체에서 사용된다. 지도는 섭취 내에서 사용할 수 있지만 중첩 될 수있다. 주어진 프로테인의 섭취 세트 맵이지만, 1 차 중괄호 발표의 명확성을 위해 생략된다.
Brackets- [] - 목록을 표시하기 위해 문서 전체에서 사용된다. 모두 descrips과 섭취는 중첩 될 수 있다 목록을 포함 할 수있다. 주어진 프로테인의 descrips 세트리스트이지만, 1 차 브래킷 명확한 표현을 위해 생략된다.
모두 descrips 및 섭취 변수를 포함 할 수있다. 문자열로 표시되는 변수 (<)보다 덜하고보다 큼 (>) 기호를 예를 들면, <변수 이름> 사이에 포함되어 있다. 일부 섭취는 값으로 특정 문자열을 수용 할 수있다. 이 경우에는 모든 가능한 값은 열거하고 (||) 논리 또는 기호로 구분. 원색 : 빨간색 노란색 || || 블루 예를 들어.
대부분의 descrips은 문자열이다. 모든 키는, 문자열, 또는해야한다. 섭취 내의 많은 값도 문자열이다. 이 문서에 추가 구문을 방지하기 위해, 따옴표 ( ") 일반적으로 특정 사례의 경우를 제외하고, 문자열 주위를 생략한다.
많은 섭취는 종종 표시 <INT> 또는 <부유>, 숫자 값을 받아들이다. 특정 범위 내에서만 값을 허용하는 경우, 그 범위는 변수 내에서 표시된다. 예를 들어, <플로트 [0,1]> 비율을 나타내고, <INT는 : [0, 맥스]> 양의 정수를 나타낸다.
일부 섭취는 예를 들어, 여러 부분으로 변수 치환 한 다음 자신의 유형과 일치하는 속기 형태로 표시되는 벡터,,,, v3f <X, Y, Z> 또는 v2f <W, H>를 받아들이다.
실시의 일반 슬로 변수는 포함 할 수 있지만 다음 제한되지 않다 : <클라이언트 UID> (클라이언트, 예를 들어, 브라우저 XXX ... 또는 iPad-XXX ...의 고유 ID); 거래 번호> (해당 응답이 일정하게 증가하는 정수로 포함하는 요청의 고유 식별자) <서류 UID> (서류의 고유 ID, ... 양식 DS-XXX를 가짐); (AS-XXX ... 형태를 갖는 자산의 고유 ID) <자산 UID>; <UTC 타임 스탬프> (유닉스 시대 시간); <타임 스탬프> (의 strftime 얻은 사람이 읽을 수있는 타임 스탬프).
도 41은 일 실시예에 따라, 메즈 파일 시스템의 블록도이다.
도 42-85는 실시예에 따라, 기능에 의한 메즈 프로테인 통신의 순서도이다.
도 42은 실시예에 따라, 클라이언트와 심장 박동을 개시하는 메즈를 위한 메즈 프로세스의 흐름도이다.
도 43은 일 실시예 하에서, 클라이언트가 메즈를 이용하여 심장박동을 개시하기 위한 메즈 프로세스의 흐름도이다.
도 44는 실시예에 따라, 세션에 참여하도록 요청하는 클라이언트 용 메즈 프로세스의 흐름도이다.
도 45는 실시예에 따라, 세션(max) 가입을 요청하는 클라이언트의 메즈 프로세스의 흐름도이다.
도 46은 실시예에 따라, 새로운 서류를 생성하는 메즈의 메즈 프로세스의 흐름도이다.
도 47은 실시예에 따라, 새로운 서류를 요청하는 클라이언트를 위한 메즈 프로세스의 흐름도이다.
도 48은 실시예에 따라, 새로운 서류(에러 1)를 요청하는 클라이언트를 위한 메즈 프로세스의 흐름도이다.
도 49은 실시예 하에서 새로운 서류(에러 2 및 3)를 요청하는 클라이언트를 위한 메즈 프로세스의 흐름도이다.
도 50은 실시예 하에서, 서류를 여는 메즈의 메즈 프로세스의 흐름도이다.
도 51은 실시예에 따라, 서류 오픈을 요청하는 클라이언트의 메즈 프로세스의 흐름도이다.
도 52은 실시예에 따라, 서류 (1 에러) 오픈을 요청하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 53은 실시예에 따라, 서류 (에러 2) 오픈을 요청하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 54는 실시예에 따라, 서류 이름 변경(rename)을 요청하는 클라이언트를 위한 메즈 프로세스의 흐름도이다.
도 55은 실시예에 따라, 서류 (에러 1)의 이름 변경을 요청하는 클라이언트 용 메즈 프로세스의 흐름도이다.
도 56은 실시예에 따라, 서류 (에러 2)의 이름 변경을 요청하는 클라이언트 용 메즈 프로세스의 흐름도이다.
도 57은 실시예에 따라, 서류를 복제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 58는 실시예에 따라, 서류를 복제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 59은 실시예에 따라, 서류(에러 1)를 복제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 60은 실시예에 따라, 서류(에러 2 및 3)를 복제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 61은 실시예에 따라, 서류를 삭제하는 메즈용 메즈 프로세스의 흐름도이다.
도 62는 실시예에 따라, 서류를 삭제하는 클라이언트용 메즈 프로세스의 흐름도이다.
도 63은 실시예에 따라, 서류(에러)를 삭제하는 클라이언트 용 메즈 프로세스의 흐름도이다.
도 64은 실시예에 따라, 서류를 닫는 메즈용 메즈 프로세스의 흐름도이다.
도 65는 실시예에 따라, 서류를 닫는 클라이언트용 메즈 프로세스의 흐름도이다.
도 66은 실시예에 따라, 새로운 슬라이드용 메즈 프로세스의 흐름도이다.
도 67은 실시예에 따라, 슬라이드 삭제용 메즈 프로세스의 흐름도이다.
도 68은 실시예에 따라, 슬라이드 재정렬용 메즈 프로세스의 흐름도이다.
도 69은 실시예에 따라, 새로운 윈드실드 품목용 메즈 프로세스의 흐름도이다.
도 70은 실시예에 따라, 윈드실드 품목을 삭제하기 위한 메즈 프로세스의 흐름도이다.
도 71은 실시예 하에서, 윈드실드 품목을 리사이징/이동/풀-펠드하기 위한 메즈 프로세스의 흐름도이다.
도 72은 실시예에 따라, 슬라이드 스크롤링 및 푸시백용 메즈 프로세스의 흐름도이다.
도 73은 실시예에 따라, 데크를 스크롤링하는 웹 클라이언트용 메즈 프로세스의 흐름도이다.
도 74은 실시예에 따라, 웹 클라이언트 푸시백을 위한 메즈 프로세스의 흐름도이다.
도 75은 실시예에 따라, 웹 클라이언트 패스-포워드 래칫(pass-forward ratchet)용 메즈 프로세스의 흐름도이다.
도 76은 실시예에 따라, 새로운 자산(픽셀 그랩(pixel grab))용 메즈 프로세스의 흐름도이다.
도 77은 일 실시예 하에서, 자산/슬라이드의 클라이언트 업로드용 메즈 프로세스의 흐름도다.
도 78은 일 실시예 하에서, 자산/슬라이드의 직접적 클라이언트 업로드를 위한 메즈 프로세스의 흐름도다.
도 79은 실시예에 따라, 자산 (S) / 슬라이드 (들) (타임 아웃 발생)의 웹 클라이언트 업로드 메즈 프로세스의 흐름도이다.
도 80은 실시예에 따라, 자산의 웹 클라이언트 다운로드 메즈 프로세스의 흐름도이다.
도 81은 실시예에 따라, 모든 자산의 웹 클라이언트 다운로드 메즈 프로세스의 흐름도이다.
도 82은 실시예에 따라, 모든 슬라이드의 웹 클라이언트 다운로드 메즈 프로세스의 흐름도이다.
도 83은 실시예에 따라, 웹 클라이언트의 자산 삭제용 메즈 프로세스의 흐름도이다.
도 84은 실시예에 따라, 웹 클라이언트의 모든 자산 삭제용 메즈 프로세스의 흐름도이다.
도 85은 실시예에 따라, 모든 슬라이드 삭제 웹 클라이언트 메즈 프로세스의 흐름도이다.
도 86-115는 일 실시예 하에서, 메즈 프로테인의 프로테인 사양이다.
도 86은 일 실시예 하에서 일례의 메즈 프로테인 사양 (가입)이다.
도 87은 일 실시예 하에서 메즈 프로테인 사양 (상태 요청)이다.
도 88은 일 실시예 하에서 메즈 프로테인 사양 (새로운 서류 작성)이다.
도 89은 일 실시예 하에서 메즈 프로테인 사양 (서류 불러오기)이다.
도 90은 본 발명의 실시예에 따라 예를 들어 메즈 프로테인 사양 (서류의 이름을 변경)이다.
도 91은 일 실시예 하에서 메즈 프로테인 사양 (서류 삭제)된다.
도 92은 일 실시예 하에서 메즈 프로테인 사양 (서류 닫기)이다.
도 93은 일 실시예 하에서 메즈 프로테인 사양 (이미지 업로드)이다.
도 94은 일 실시예 하에서 메즈 프로테인 사양 (새로운 서류)이다.
도 95은 일 실시예 하에서 메즈 프로테인 사양 (불러온 서류)이다.
도 96은 본 발명의 실시예에 따라 메즈 프로테인 사양 (명칭변경된 서류)이다.
도 97은 일 실시예 하에서 메즈 프로테인 사양 (삭제된 서류)이다.
도 98은 일 실시예 하에서 메즈 프로테인 사양 (닫힌 서류)이다.
도 99은 실시예에 따라, 예 메즈 프로테인 사양 (변경된 데크 상태)된다.
도 100은 실시예 하에서 메즈 프로테인 사양 (새 자산)이다.
도 101는 일 실시예에 따라, (프로테인에 합류가능한) 메즈 프로테인 사양이다.
도 102는 일 실시예에 따라 메즈 프로테인 사양 (프로테인에 합류불가능)이다.
도 103은 실시예 하에서 메즈 프로테인 사양 (전체 상태 응답 (포털))이다.
도 104는 일 실시예 하에서, 메즈 프로테인 사양(풀 상태 응답(서류))이다.
도 105는 일 실시예 하에서, 메즈 프로테인 사양 (새 서류 생성(에러))이다.
도 106은 본 발명의 실시예에 따라 또 다른 예 메즈 프로테인 사양 (새 서류 생성(에러))이다.
도 107은 본 발명의 실시예에 따라 예를 들어 메즈 프로테인 사양 (오픈 서류 (에러))이다.
도 108은 일 실시예에 따라 예를 들어 메즈 프로테인 사양 (서류 이름 변경(에러))이다.
도 109은 실시예 하에서 메즈 프로테인 사양 (서류 삭제(에러))이다.
도 110은 실시예 하에서 다른 메즈 프로테인 사양 (서류 삭제(에러))이다.
도 111은 실시예 하에서 메즈 프로테인 사양 (이미지 준비(에러))이다.
도 112은 실시예 하에서 메즈 프로테인 사양 (이미지 업로드(성공))이다.
도 113은 본 발명의 실시예에 따라 예를 들어 메즈 프로테인 사양 (이미지 업로드(에러))이다.
도 114은 본 발명의 실시예에 따라 예를 들어 메즈 프로테인 사양 (이미지 업로드(부분 성공))이다.
도 115은 실시예 하에서 메즈 프로테인 사양 (준비 이미지)이다.
본 명세서에 기재된 실시예는 디스플레이 장치들 및 복수의 센서에 결합 된 프로세서를 포함하는 시스템을 포함한다. 시스템은 프로세서에 연결된 원격 클라이언트 장치들을 포함한다. 시스템은 프로세서에 연결된 복수의 애플리케이션을 포함한다. 애플리케이션 복수 동시에 표시 장치 및 복수의 원격 클라이언트 장치들 중 적어도 하나의 원격 클라이언트 디바이스의 복수의 콘텐츠를 조정 및 표시 장치의 복수의 동시 제어를 허용한다. 동시 제어가 자동으로 복수의 센서를 통해 수신 된 제스처 데이터로부터 적어도 하나의 객체의 제스처를 감지하는 단계를 포함한다. 제스처 데이터는 시간과 공간의 지점에서 적어도 하나의 물체의 순간 상태의 절대 세 - 공간 위치의 데이터이다. 검지 제스처 데이터를 집계하고, 단지 제스처 데이터를 이용하여 제스처를 식별하는 단계를 더 포함한다. 어플리케이션은 복수의 신호에 제스처 제스처를 해석하고, 표시 장치에 상기 복수의 제스처 신호에 응답하여 원격 클라이언트 장치들 중 적어도 하나를 제어한다.
본원에 기술 된 실시예는 시스템에있어서 포함 디스플레이 장치들 및 복수의 센서에 결합 된 프로세서를; 프로세서에 결합 된 원격 클라이언트 장치들; 및 애플리케이션의 복수가 동시에 디스플레이 장치의 복수의 원격 클라이언트 장치들 중 적어도 하나의 원격 클라이언트 디바이스의 복수의 콘텐츠를 조정 및 다수의 동시 제어를 가능하게 상기 프로세서에 연결되는 어플리케이션의 복수 제스처 데이터는 상기 적어도 하나의 물체의 순간적인 상태에서의 절대 세 - 공간 위치의 데이터 인 것을 특징으로 동시 제어가 자동으로 복수의 센서를 통해 수신 된 제스처 데이터로부터 적어도 하나의 객체의 제스처를 감지하는 단계를 포함하는 디스플레이 장치의 시간과 공간에서의 포인트는, 검지 제스처 데이터 집계를 포함하고, 단지 제스처 데이터, 제스처 신호 제스처 번역 애플리케이션을 복수 사용하여 제스처를 식별하고 적어도 상기 복수의 표시 소자 하나를 제어 제스처 신호에 응답하여 원격 클라이언트 장치의 다수.
본원에 기재된 시스템 및 방법을 포함 및 / 또는 아래 및 / 또는 처리 시스템과 관련하여 실행. 당 업계에 알려진 바와 같이 처리 시스템은, 프로세서 기반의 장치 또는 함께 작동하는 컴퓨팅 장치, 또는 처리 시스템 또는 장치의 구성 요소의 집합을 포함한다. 예를 들어, 처리 시스템은 하나 이상의 통신 네트워크에서 동작하는 휴대용 컴퓨터, 휴대용 통신 장치의 더 많은, 및 / 또는 네트워크 서버를 포함 할 수있다. 휴대용 컴퓨터는 퍼스널 컴퓨터, 휴대 전화, PDA (Personal Digital Assistants), 휴대용 컴퓨팅 디바이스, 휴대용 통신 장치들 중에서 선택되는 다수의 디바이스 및 / 또는 이들의 조합 중 하나 일 수 있지만, 이에 한정되지 않는다있다. 처리 시스템은 대형 컴퓨터 시스템 내의 컴포넌트들을 포함 할 수있다.
실시 형태의 처리 시스템은 적어도 하나의 프로세서 및 적어도 하나의 메모리 장치 또는 서브 시스템을 포함한다. 처리 시스템도 포함 할 수 있거나, 적어도 하나의 데이터베이스에 결합 될 수있다. 일반적으로 본원에서 사용 된 용어 "프로세서"는, 임의의 로직 처리 유닛을 의미 하나 이상의 중앙 처리 등 유닛 (CPU에), 디지털 신호 프로세서 (DSP), 주문형 반도체 (ASIC), 프로세서 및 메모리와 같은 모 놀리 식으로, 단일 칩에 집적 칩 또는 호스트 시스템의 다수의 구성 요소 사이에 분산 및 / 또는 알고리즘의 조합에 의해 제공 될 수있다. 여기에 설명 된 방법은 임의의 조합으로, 하나 이상의 소프트웨어 알고리즘 (들), 프로그램들, 펌웨어, 하드웨어, 컴포넌트, 회로의 이상으로 구현 될 수있다.
본원에 기재된 시스템 및 방법을 구현하는 시스템 구성 요소를 함께 또는 별도의 장소에 위치 될 수있다. 따라서, 본 명세서에 기재된 시스템 및 방법을 구현하는 시스템 구성 요소들은 하나의 시스템 컴포넌트, 다수의 시스템들, 및 / 또는 지리적으로 분리 된 시스템 들일 수있다. 이러한 구성 요소는 하위 또는 단일 시스템, 다중 시스템의 하위 시스템, 및 / 또는 지리적으로 분리 된 시스템 들일 수있다. 이러한 구성 요소는 하나 이상의 다른 호스트 시스템의 구성 요소 또는 호스트 시스템에 연결된 시스템에 연결될 수있다.
통신 경로 커플 시스템 구성 요소와 통신하는 구성 요소들 사이 또는 파일을 전송하는 임의의 매체를 포함한다. 통신 경로는 무선 연결, 유선 연결 및 하이브리드 무선 / 유선 연결을 포함한다. 통신 경로는 또한 커플 링 또는 접속 네트워크 근거리 통신망 (LAN)을 포함하여, 도시권 통신망 (MAN의), 광역 네트워크 (WAN), 전용 네트워크, 인터 오피스 나 백엔드 네트워크, 그리고 인터넷을 포함한다. 또한, 통신 경로는 플로피 디스크와 같은 제거 가능한 고정 매체, 하드 디스크 드라이브 및 CD-ROM 디스크뿐 아니라, 플래시 RAM, 범용 직렬 버스 (USB) 연결, RS-232 연결, 전화선, 버스, 전자 메일을 포함 메시지.
문맥이 명확하게 달리 요구되지 않는 한, 설명 전반에 걸쳐, 단어 "포함하는"을 포함하는 ""등이 단독 또는 소모적 의미에 반대되는 포괄적 인 의미로 해석되어야한다; 즉, 감각에, 대답은 "포함하지만, 이에 한정되는 것은 아니다." 단수 또는 복수의 번호를 사용하여 단어는 각각 복수 또는 단수를 포함한다. 또한, "여기에"단어 ","위, "본 계약" '¾elow, 사용 또는 ""비슷한 수입의 단어는 전체가 아닌이 응용 프로그램의 특정 부분이 응용 프로그램이다. 단어를 참조하자 " 리스트의 항목 중, 목록의 항목 및리스트 아이템들의 임의의 조합 모두 둘 이상의 항목의 목록을 참조하여, 그 단어는 단어의 다음의 해석을 모두 커버한다.
프로세싱 환경의 실시예들의 상기 설명은 개시된 정확한 형태로 설명한 시스템 및 방법을 제한하지 않는다. 특정 실시예 및 처리 환경에 대한 실시예는 예시적인 목적으로 본원에 기술되었지만, 다양한 등가의 변형이 당업자라면 그와 같은 다른 시스템 및 방법의 범위 내에서 가능하다. 본원에 제공된 처리 환경의 가르침은 상술 한 시스템 및 방법에 대한 아니라 다른 처리 시스템 및 방법에 적용될 수있다.
상술 한 다양한 실시예들의 구성 요소 및 동작을 조합하여 또 다른 실시예를 제공 할 수 있다. 이들 및 다른 변경들은 전술 한 설명의 견지에서 처리 환경을 만들 수 있다.

Claims (1)

  1. 복수의 디스플레이 장치 및 복수의 센서에 연결되는 프로세서와,
    상기 프로세스에 연결되는 복수의 원격 클라이언트 장치와,
    상기 프로세서에 연결되는 복수의 애플리케이션 - 상기 복수의 애플리케이션은 상기 복수의 원격 클라이언트 장치 및 상기 복수의 디스플레이 장치 중 적어도 하나 사이에서 동시에 상기 복수의 원격 클라이언트 장치의 콘텐츠를 조정하고, 상기 복수의 디스플레이 장치를 동시에 제어하며, 상기 동시 제어는 상기 복수의 센서를 통해 수신되는 제스처로부터 적어도 하나의 물체의 제스처를 자동적으로 검출하는 과정을 포함하고, 상기 검출은 상기 제스처 데이터만을 이용하여 상기 제스처를 식별하는 것과, 상기 제스처를 제스처 신호로 번역하는 것과, 상기 제스처 신호에 응답하여 상기 복수의 디스플레이 장치를 제어하는 것을 포함함 - 을 포함하는
    시스템.
KR1020157015783A 2012-11-12 2013-11-12 제스처 제어기 및 복수 클라이언트 디바이스, 디스플레이, 및 사용자를 갖춘 작동 환경 KR20150105308A (ko)

Applications Claiming Priority (23)

Application Number Priority Date Filing Date Title
US201261725449P 2012-11-12 2012-11-12
US61/725,449 2012-11-12
US201261747940P 2012-12-31 2012-12-31
US61/747,940 2012-12-31
US13/759,472 US9495228B2 (en) 2006-02-08 2013-02-05 Multi-process interactive systems and methods
US13/759,472 2013-02-05
US201361785053P 2013-03-14 2013-03-14
US61/785,053 2013-03-14
US201361787792P 2013-03-15 2013-03-15
US201361787650P 2013-03-15 2013-03-15
US61/787,792 2013-03-15
US61/787,650 2013-03-15
US13/850,837 US9804902B2 (en) 2007-04-24 2013-03-26 Proteins, pools, and slawx in processing environments
US13/850,837 2013-03-26
US13/888,174 US8890813B2 (en) 2009-04-02 2013-05-06 Cross-user hand tracking and shape recognition user interface
US13/888,174 2013-05-06
US13/909,980 US20140035805A1 (en) 2009-04-02 2013-06-04 Spatial operating environment (soe) with markerless gestural control
US13/909,980 2013-06-04
US14/048,747 2013-10-08
US14/048,747 US9952673B2 (en) 2009-04-02 2013-10-08 Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control
US14/064,736 US10642364B2 (en) 2009-04-02 2013-10-28 Processing tracking and recognition data in gestural recognition systems
US14/064,736 2013-10-28
PCT/US2013/069725 WO2014075090A1 (en) 2012-11-12 2013-11-12 Operating environment with gestural control and multiple client devices, displays, and users

Publications (1)

Publication Number Publication Date
KR20150105308A true KR20150105308A (ko) 2015-09-16

Family

ID=50685251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157015783A KR20150105308A (ko) 2012-11-12 2013-11-12 제스처 제어기 및 복수 클라이언트 디바이스, 디스플레이, 및 사용자를 갖춘 작동 환경

Country Status (6)

Country Link
US (1) US10642364B2 (ko)
EP (1) EP2918074A4 (ko)
JP (2) JP2016504652A (ko)
KR (1) KR20150105308A (ko)
CN (1) CN105122790A (ko)
WO (1) WO2014075090A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111506199A (zh) * 2020-05-06 2020-08-07 北京理工大学 基于Kinect的高精度无标记全身运动追踪系统
KR20230144664A (ko) * 2019-03-13 2023-10-16 구글 엘엘씨 애플리케이션 전달 서버를 통해 전달을 위한 애플리케이션 디버깅

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5917125B2 (ja) 2011-12-16 2016-05-11 キヤノン株式会社 画像処理装置、画像処理方法、撮像装置および表示装置
TW201423484A (zh) 2012-12-14 2014-06-16 Pixart Imaging Inc 動態偵測系統
US11287897B2 (en) * 2012-12-14 2022-03-29 Pixart Imaging Inc. Motion detecting system having multiple sensors
US9159116B2 (en) * 2013-02-13 2015-10-13 Google Inc. Adaptive screen interfaces based on viewing distance
EP3135445B1 (en) 2014-03-28 2021-04-28 Sony Corporation Robot arm device
US10222865B2 (en) * 2014-05-27 2019-03-05 Dell Products, Lp System and method for selecting gesture controls based on a location of a device
JP2017532920A (ja) * 2014-08-26 2017-11-02 ブラックマジック デザイン ピーティーワイ リミテッドBlackmagic Design Pty Ltd 3次元空間において音像を定位し、制御するための方法及びシステム
FR3033202B1 (fr) * 2015-02-27 2017-03-10 Evalandgo Borne d'interaction avec des utilisateurs et systeme comprenant une telle borne
CN107810531B (zh) * 2015-04-29 2020-11-27 通腾科技股份有限公司 数据处理系统
JP2016218688A (ja) * 2015-05-19 2016-12-22 東芝テック株式会社 情報提供装置、情報提供方法及び情報提供プログラム
US10468066B2 (en) * 2015-09-23 2019-11-05 Nokia Technologies Oy Video content selection
US9927917B2 (en) * 2015-10-29 2018-03-27 Microsoft Technology Licensing, Llc Model-based touch event location adjustment
EP3182328A1 (en) * 2015-12-17 2017-06-21 Nokia Technologies Oy A method, apparatus or computer program for controlling image processing of a captured image of a scene to adapt the captured image
CN105551339A (zh) * 2015-12-31 2016-05-04 英华达(南京)科技有限公司 基于虚拟现实技术的书法练习系统及方法
CN107436678B (zh) * 2016-05-27 2020-05-19 富泰华工业(深圳)有限公司 手势控制系统及方法
US10386933B2 (en) * 2016-08-30 2019-08-20 International Business Machines Corporation Controlling navigation of a visual aid during a presentation
CN106454490B (zh) * 2016-09-21 2019-07-26 天脉聚源(北京)传媒科技有限公司 一种智能播放视频的方法及装置
CN106980362A (zh) 2016-10-09 2017-07-25 阿里巴巴集团控股有限公司 基于虚拟现实场景的输入方法及装置
CN106713749A (zh) * 2016-12-13 2017-05-24 广州视源电子科技股份有限公司 摄像控制方法、系统及交互智能平板一体机
WO2018148219A1 (en) * 2017-02-07 2018-08-16 Oblong Industries, Inc. Systems and methods for user input device tracking in a spatial operating environment
CN107580268B (zh) * 2017-08-04 2019-11-08 歌尔科技有限公司 一种头部姿态检测方法、装置和耳机
CN109963187B (zh) * 2017-12-14 2021-08-31 腾讯科技(深圳)有限公司 一种动画实现方法和装置
WO2019226124A1 (en) * 2018-05-22 2019-11-28 Reyhanoglu Ozgur A control device for touchless control of medical devices
US10678342B2 (en) 2018-10-21 2020-06-09 XRSpace CO., LTD. Method of virtual user interface interaction based on gesture recognition and related device
CN109583373B (zh) * 2018-11-29 2022-08-19 成都索贝数码科技股份有限公司 一种行人重识别实现方法
CN109615423B (zh) 2018-11-29 2020-06-16 阿里巴巴集团控股有限公司 业务的处理方法及装置
US10936281B2 (en) 2018-12-19 2021-03-02 International Business Machines Corporation Automatic slide page progression based on verbal and visual cues
KR102185454B1 (ko) * 2019-04-17 2020-12-02 한국과학기술원 3차원 스케치 방법 및 장치
US11385610B2 (en) * 2019-08-16 2022-07-12 Exato IP LLC Stage automation system
US11681369B2 (en) * 2019-09-16 2023-06-20 Iron Will Innovations Canada Inc. Control-point activation condition detection for generating corresponding control signals
CN112748794A (zh) * 2019-10-30 2021-05-04 武汉科天路智能科技有限公司 一种智能化资产管理系统
CN110807833B (zh) * 2019-11-04 2023-07-25 成都数字天空科技有限公司 一种网状拓扑获得方法、装置、电子设备及存储介质
JP2023505611A (ja) 2020-02-10 2023-02-09 コグネックス・コーポレイション 複合三次元ブロブツール及び複合三次元ブロブツールを動作させるための方法
KR20230009360A (ko) 2020-02-18 2023-01-17 코그넥스코오포레이션 시야보다 긴 이동하는 물체의 3차원 스캔을 위한 시스템 및 방법
US11188450B2 (en) * 2020-04-02 2021-11-30 Sap Se Cloud application architecture using edge computing
JP7459679B2 (ja) * 2020-06-23 2024-04-02 富士通株式会社 行動認識方法、行動認識プログラム及び行動認識装置
CN112214370A (zh) * 2020-10-28 2021-01-12 京东数字科技控股股份有限公司 一种大屏终端的调试设备及方法
US20240164851A1 (en) * 2021-04-28 2024-05-23 Dignity Health Systems and methods for a multidimensional tracking system
JP6986308B1 (ja) * 2021-09-14 2021-12-22 株式会社ラグザ オンライン対戦ダーツゲーム用ライブ映像送信方法及びオンライン対戦ダーツゲーム用カメラシステム

Family Cites Families (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7164117B2 (en) 1992-05-05 2007-01-16 Automotive Technologies International, Inc. Vehicular restraint system control system and method using multiple optical imagers
US4843568A (en) 1986-04-11 1989-06-27 Krueger Myron W Real time perception of and response to the actions of an unencumbered participant/user
US5664177A (en) 1988-04-13 1997-09-02 Digital Equipment Corporation Data processing system having a data structure with a single, simple primitive
JPH0816877B2 (ja) 1991-06-10 1996-02-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データ処理システム用資源データの実時間捕獲及び減縮方法及びシステム
JP3244798B2 (ja) 1992-09-08 2002-01-07 株式会社東芝 動画像処理装置
US5982352A (en) 1992-09-18 1999-11-09 Pryor; Timothy R. Method for providing human input to a computer
DE69315969T2 (de) 1992-12-15 1998-07-30 Sun Microsystems Inc Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern
US5454043A (en) 1993-07-30 1995-09-26 Mitsubishi Electric Research Laboratories, Inc. Dynamic and static hand gesture recognition through low-level image analysis
US7218448B1 (en) 1997-03-17 2007-05-15 The Regents Of The University Of Colorado Extended depth of field optical systems
US5594469A (en) 1995-02-21 1997-01-14 Mitsubishi Electric Information Technology Center America Inc. Hand gesture machine control system
US6191773B1 (en) 1995-04-28 2001-02-20 Matsushita Electric Industrial Co., Ltd. Interface apparatus
US6002808A (en) 1996-07-26 1999-12-14 Mitsubishi Electric Information Technology Center America, Inc. Hand gesture control system
JP3749369B2 (ja) 1997-03-21 2006-02-22 株式会社竹中工務店 ハンドポインティング装置
US6075895A (en) 1997-06-20 2000-06-13 Holoplex Methods and apparatus for gesture recognition based on templates
US6720949B1 (en) 1997-08-22 2004-04-13 Timothy R. Pryor Man machine interfaces and applications
US6807583B2 (en) 1997-09-24 2004-10-19 Carleton University Method of determining causal connections between events recorded during process execution
EP0905644A3 (en) 1997-09-26 2004-02-25 Matsushita Electric Industrial Co., Ltd. Hand gesture recognizing device
US6072494A (en) 1997-10-15 2000-06-06 Electric Planet, Inc. Method and apparatus for real-time gesture recognition
WO1999035633A2 (en) 1998-01-06 1999-07-15 The Video Mouse Group Human motion following computer mouse and game controller
US9292111B2 (en) * 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
JP3660492B2 (ja) 1998-01-27 2005-06-15 株式会社東芝 物体検知装置
US6043805A (en) 1998-03-24 2000-03-28 Hsieh; Kuan-Hong Controlling method for inputting messages to a computer
US6198485B1 (en) 1998-07-29 2001-03-06 Intel Corporation Method and apparatus for three-dimensional input entry
US7036094B1 (en) * 1998-08-10 2006-04-25 Cybernet Systems Corporation Behavior recognition system
US6950534B2 (en) 1998-08-10 2005-09-27 Cybernet Systems Corporation Gesture-controlled interfaces for self-service machines and other applications
US6501515B1 (en) 1998-10-13 2002-12-31 Sony Corporation Remote control system
JP2000132305A (ja) 1998-10-23 2000-05-12 Olympus Optical Co Ltd 操作入力装置
US6222465B1 (en) 1998-12-09 2001-04-24 Lucent Technologies Inc. Gesture-based computer interface
US7145551B1 (en) 1999-02-17 2006-12-05 Microsoft Corporation Two-handed computer input device with orientation sensor
US7164413B2 (en) * 1999-05-19 2007-01-16 Digimarc Corporation Enhanced input peripheral
US6351744B1 (en) 1999-05-28 2002-02-26 Unisys Corporation Multi-processor system for database management
JP4332649B2 (ja) 1999-06-08 2009-09-16 独立行政法人情報通信研究機構 手の形状と姿勢の認識装置および手の形状と姿勢の認識方法並びに当該方法を実施するプログラムを記録した記録媒体
US7050606B2 (en) 1999-08-10 2006-05-23 Cybernet Systems Corporation Tracking and gesture recognition system particularly suited to vehicular control applications
US7229017B2 (en) 1999-11-23 2007-06-12 Xerox Corporation Laser locating and tracking system for externally activated tags
JP3557147B2 (ja) * 2000-02-16 2004-08-25 日本電信電話株式会社 共有ホワイトボードシステム及びその制御方法及びその方法を記録した記録媒体
DE10007891C2 (de) 2000-02-21 2002-11-21 Siemens Ag Verfahren und Anordnung zur Interaktion mit einer in einem Schaufenster sichtbaren Darstellung
SE0000850D0 (sv) 2000-03-13 2000-03-13 Pink Solution Ab Recognition arrangement
US7109970B1 (en) 2000-07-01 2006-09-19 Miller Stephen S Apparatus for remotely controlling computers and other electronic appliances/devices using a combination of voice commands and finger movements
US7227526B2 (en) 2000-07-24 2007-06-05 Gesturetek, Inc. Video-based image control system
US20020065950A1 (en) 2000-09-26 2002-05-30 Katz James S. Device event handler
US7058204B2 (en) 2000-10-03 2006-06-06 Gesturetek, Inc. Multiple camera control system
US20020184401A1 (en) 2000-10-20 2002-12-05 Kadel Richard William Extensible information system
US6486874B1 (en) * 2000-11-06 2002-11-26 Motorola, Inc. Method of pre-caching user interaction elements using input device position
US6703999B1 (en) 2000-11-13 2004-03-09 Toyota Jidosha Kabushiki Kaisha System for computer user interface
US20020085030A1 (en) * 2000-12-29 2002-07-04 Jamal Ghani Graphical user interface for an interactive collaboration system
US7259747B2 (en) 2001-06-05 2007-08-21 Reactrix Systems, Inc. Interactive video display system
US8300042B2 (en) 2001-06-05 2012-10-30 Microsoft Corporation Interactive video display system using strobed light
US20040125076A1 (en) 2001-06-08 2004-07-01 David Green Method and apparatus for human interface with a computer
US20020186200A1 (en) 2001-06-08 2002-12-12 David Green Method and apparatus for human interface with a computer
US7151246B2 (en) 2001-07-06 2006-12-19 Palantyr Research, Llc Imaging system and methodology
US20030048280A1 (en) 2001-09-12 2003-03-13 Russell Ryan S. Interactive environment using computer vision and touchscreens
JP2003085112A (ja) * 2001-09-14 2003-03-20 Sony Corp ネットワーク情報処理システム及び情報処理方法
US7159194B2 (en) 2001-11-30 2007-01-02 Palm, Inc. Orientation dependent functionality of an electronic device
WO2004002044A2 (en) 2002-02-01 2003-12-31 John Fairweather A system for exchanging binary data
AU2003217587A1 (en) 2002-02-15 2003-09-09 Canesta, Inc. Gesture recognition system using depth perceptive sensors
DE60317472T2 (de) 2002-02-27 2008-09-04 CDM Optics, Inc., Boulder Optimierte bildverarbeitung für wellenfrontkodierte abbildungssysteme
US7170492B2 (en) 2002-05-28 2007-01-30 Reactrix Systems, Inc. Interactive video display system
US7348963B2 (en) 2002-05-28 2008-03-25 Reactrix Systems, Inc. Interactive video display system
US7850526B2 (en) 2002-07-27 2010-12-14 Sony Computer Entertainment America Inc. System for tracking user manipulations within an environment
US7854655B2 (en) 2002-07-27 2010-12-21 Sony Computer Entertainment America Inc. Obtaining input for controlling execution of a game program
US7576727B2 (en) 2002-12-13 2009-08-18 Matthew Bell Interactive directed light/sound system
US7991920B2 (en) 2002-12-18 2011-08-02 Xerox Corporation System and method for controlling information output devices
US7665041B2 (en) 2003-03-25 2010-02-16 Microsoft Corporation Architecture for controlling a computer using hand gestures
US8745541B2 (en) 2003-03-25 2014-06-03 Microsoft Corporation Architecture for controlling a computer using hand gestures
GB0308943D0 (en) 2003-04-17 2003-05-28 Univ Dundee A system for determining the body pose of a person from images
US7372977B2 (en) 2003-05-29 2008-05-13 Honda Motor Co., Ltd. Visual tracking using depth data
US7436535B2 (en) 2003-10-24 2008-10-14 Microsoft Corporation Real-time inking
US20050212753A1 (en) 2004-03-23 2005-09-29 Marvit David L Motion controlled remote controller
US7555613B2 (en) 2004-05-11 2009-06-30 Broadcom Corporation Storage access prioritization using a data storage device
EP1743277A4 (en) 2004-04-15 2011-07-06 Gesturetek Inc MONITORING OF BI-MANUAL MOVEMENTS
WO2005116802A1 (ja) 2004-05-25 2005-12-08 Sony Computer Entertainment Inc. 入力装置及び方法、文字入力方法
US7366368B2 (en) 2004-06-15 2008-04-29 Intel Corporation Optical add/drop interconnect bus for multiprocessor architecture
US7519223B2 (en) * 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
US7466308B2 (en) 2004-06-28 2008-12-16 Microsoft Corporation Disposing identifying codes on a user's hand to provide input to an interactive display application
JP2006031359A (ja) * 2004-07-15 2006-02-02 Ricoh Co Ltd 画面共有方法、及び会議支援システム
US7559053B2 (en) 2004-08-24 2009-07-07 Microsoft Corporation Program and system performance data correlation
US7761814B2 (en) 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
US7430312B2 (en) 2005-01-07 2008-09-30 Gesturetek, Inc. Creating 3D images of objects by illuminating with infrared patterns
CN101622630B (zh) 2005-01-07 2012-07-04 高通股份有限公司 检测和跟踪图像中的物体
EP1849123A2 (en) 2005-01-07 2007-10-31 GestureTek, Inc. Optical flow based tilt sensor
US7966353B2 (en) 2005-01-31 2011-06-21 Broadcom Corporation Method and system for flexibly providing shared access to non-data pool file systems
CN101536494B (zh) 2005-02-08 2017-04-26 奥布隆工业有限公司 用于基于姿势的控制系统的系统和方法
CN103257684B (zh) 2005-05-17 2017-06-09 高通股份有限公司 方向敏感的信号输出方法及装置
US7428542B1 (en) 2005-05-31 2008-09-23 Reactrix Systems, Inc. Method and system for combining nodes into a mega-node
US8537111B2 (en) 2006-02-08 2013-09-17 Oblong Industries, Inc. Control system for navigating a principal dimension of a data space
US9063801B2 (en) 2008-04-24 2015-06-23 Oblong Industries, Inc. Multi-process interactive systems and methods
US8531396B2 (en) 2006-02-08 2013-09-10 Oblong Industries, Inc. Control system for navigating a principal dimension of a data space
US8370383B2 (en) 2006-02-08 2013-02-05 Oblong Industries, Inc. Multi-process interactive systems and methods
US8669939B2 (en) 2006-02-08 2014-03-11 Oblong Industries, Inc. Spatial, multi-modal control device for use with spatial operating system
US8681098B2 (en) 2008-04-24 2014-03-25 Oblong Industries, Inc. Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes
US8537112B2 (en) 2006-02-08 2013-09-17 Oblong Industries, Inc. Control system for navigating a principal dimension of a data space
US8769127B2 (en) 2006-02-10 2014-07-01 Northrop Grumman Systems Corporation Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT)
JP4781897B2 (ja) 2006-04-26 2011-09-28 富士通株式会社 センサイベント制御装置
US20070288467A1 (en) * 2006-06-07 2007-12-13 Motorola, Inc. Method and apparatus for harmonizing the gathering of data and issuing of commands in an autonomic computing system using model-based translation
JP4148281B2 (ja) 2006-06-19 2008-09-10 ソニー株式会社 モーションキャプチャ装置及びモーションキャプチャ方法、並びにモーションキャプチャプログラム
US7701439B2 (en) * 2006-07-13 2010-04-20 Northrop Grumman Corporation Gesture recognition simulation system and method
US8234578B2 (en) * 2006-07-25 2012-07-31 Northrop Grumman Systems Corporatiom Networked gesture collaboration system
US7725547B2 (en) 2006-09-06 2010-05-25 International Business Machines Corporation Informing a user of gestures made by others out of the user's line of sight
JP2008123408A (ja) * 2006-11-15 2008-05-29 Brother Ind Ltd 投影装置、プログラム、投影方法、並びに投影システム
US7979850B2 (en) 2006-09-29 2011-07-12 Sap Ag Method and system for generating a common trace data format
WO2008041605A1 (fr) * 2006-09-29 2008-04-10 Brother Kogyo Kabushiki Kaisha Appareil de projection, support d'enregistrement comportant un programme enregistré en lui, procédé de projection et système de projection
US8756516B2 (en) * 2006-10-31 2014-06-17 Scenera Technologies, Llc Methods, systems, and computer program products for interacting simultaneously with multiple application programs
US7984452B2 (en) * 2006-11-10 2011-07-19 Cptn Holdings Llc Event source management using a metadata-driven framework
EP2613281B1 (en) 2006-12-29 2014-08-13 Qualcomm Incorporated Manipulation of virtual objects using enhanced interactive system
US7971156B2 (en) * 2007-01-12 2011-06-28 International Business Machines Corporation Controlling resource access based on user gesturing in a 3D captured image stream of the user
US8116518B2 (en) 2007-02-15 2012-02-14 Qualcomm Incorporated Enhanced input using flashing electromagnetic radiation
US20080208517A1 (en) 2007-02-23 2008-08-28 Gesturetek, Inc. Enhanced Single-Sensor Position Detection
KR101545360B1 (ko) 2007-04-24 2015-08-19 오블롱 인더스트리즈, 인크 프로세싱 환경에서의 프로틴, 풀 및 슬럭스
WO2008134745A1 (en) 2007-04-30 2008-11-06 Gesturetek, Inc. Mobile video-based therapy
EP2153377A4 (en) 2007-05-04 2017-05-31 Qualcomm Incorporated Camera-based user input for compact devices
US8726194B2 (en) 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US7949157B2 (en) 2007-08-10 2011-05-24 Nitin Afzulpurkar Interpreting sign language gestures
JP5406188B2 (ja) 2007-08-20 2014-02-05 クアルコム,インコーポレイテッド 高度な語彙外単語の拒否
US9261979B2 (en) 2007-08-20 2016-02-16 Qualcomm Incorporated Gesture-based mobile interaction
EP2201761B1 (en) 2007-09-24 2013-11-20 Qualcomm Incorporated Enhanced interface for voice and video communications
US8341635B2 (en) 2008-02-01 2012-12-25 International Business Machines Corporation Hardware wake-and-go mechanism with look-ahead polling
US8280732B2 (en) 2008-03-27 2012-10-02 Wolfgang Richter System and method for multidimensional gesture analysis
US9684380B2 (en) 2009-04-02 2017-06-20 Oblong Industries, Inc. Operating environment with gestural control and multiple client devices, displays, and users
US8723795B2 (en) 2008-04-24 2014-05-13 Oblong Industries, Inc. Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes
US9740293B2 (en) 2009-04-02 2017-08-22 Oblong Industries, Inc. Operating environment with gestural control and multiple client devices, displays, and users
US8269817B2 (en) 2008-07-16 2012-09-18 Cisco Technology, Inc. Floor control in multi-point conference systems
US20100060568A1 (en) 2008-09-05 2010-03-11 Apple Inc. Curved surface input device with normalized capacitive sensing
WO2010030822A1 (en) 2008-09-10 2010-03-18 Oblong Industries, Inc. Gestural control of autonomous and semi-autonomous systems
US8363098B2 (en) 2008-09-16 2013-01-29 Plantronics, Inc. Infrared derived user presence and associated remote control
US8704767B2 (en) 2009-01-29 2014-04-22 Microsoft Corporation Environmental gesture recognition
JP5358834B2 (ja) 2009-02-17 2013-12-04 株式会社ワコム 位置指示器及び入力装置
US8856691B2 (en) 2009-05-29 2014-10-07 Microsoft Corporation Gesture tool
US20100315439A1 (en) 2009-06-15 2010-12-16 International Business Machines Corporation Using motion detection to process pan and zoom functions on mobile computing devices
GB2474536B (en) 2009-10-13 2011-11-02 Pointgrab Ltd Computer vision gesture based control of a device
US20120229383A1 (en) 2010-01-14 2012-09-13 Christoffer Hamilton Gesture support for controlling and/or operating a medical device
JP5012968B2 (ja) * 2010-07-15 2012-08-29 コニカミノルタビジネステクノロジーズ株式会社 会議システム
US9465457B2 (en) 2010-08-30 2016-10-11 Vmware, Inc. Multi-touch interface gestures for keyboard and/or mouse inputs
US20120239396A1 (en) 2011-03-15 2012-09-20 At&T Intellectual Property I, L.P. Multimodal remote control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230144664A (ko) * 2019-03-13 2023-10-16 구글 엘엘씨 애플리케이션 전달 서버를 통해 전달을 위한 애플리케이션 디버깅
CN111506199A (zh) * 2020-05-06 2020-08-07 北京理工大学 基于Kinect的高精度无标记全身运动追踪系统

Also Published As

Publication number Publication date
JP2018077882A (ja) 2018-05-17
EP2918074A4 (en) 2017-01-04
CN105122790A (zh) 2015-12-02
US20140240231A1 (en) 2014-08-28
WO2014075090A1 (en) 2014-05-15
JP2016504652A (ja) 2016-02-12
EP2918074A1 (en) 2015-09-16
US10642364B2 (en) 2020-05-05

Similar Documents

Publication Publication Date Title
US20200241650A1 (en) Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control
US10296099B2 (en) Operating environment with gestural control and multiple client devices, displays, and users
US10521021B2 (en) Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes
KR20150105308A (ko) 제스처 제어기 및 복수 클라이언트 디바이스, 디스플레이, 및 사용자를 갖춘 작동 환경
US10627915B2 (en) Visual collaboration interface
US9495013B2 (en) Multi-modal gestural interface
US8681098B2 (en) Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes
EP2427857B1 (en) Gesture-based control systems including the representation, manipulation, and exchange of data
US9317128B2 (en) Remote devices used in a markerless installation of a spatial operating environment incorporating gestural control
US20140035805A1 (en) Spatial operating environment (soe) with markerless gestural control
WO2013184704A1 (en) Spatial operating environment (soe) with markerless gestural control
US10824238B2 (en) Operating environment with gestural control and multiple client devices, displays, and users
WO2014058909A2 (en) Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application