KR20230124732A - 가상 및 그래픽 엘리먼트들을 제어하기 위한 미세 손제스처들 - Google Patents

가상 및 그래픽 엘리먼트들을 제어하기 위한 미세 손제스처들 Download PDF

Info

Publication number
KR20230124732A
KR20230124732A KR1020237025757A KR20237025757A KR20230124732A KR 20230124732 A KR20230124732 A KR 20230124732A KR 1020237025757 A KR1020237025757 A KR 1020237025757A KR 20237025757 A KR20237025757 A KR 20237025757A KR 20230124732 A KR20230124732 A KR 20230124732A
Authority
KR
South Korea
Prior art keywords
finger
hand
display
thumb
scale
Prior art date
Application number
KR1020237025757A
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
Application filed by 스냅 인코포레이티드 filed Critical 스냅 인코포레이티드
Publication of KR20230124732A publication Critical patent/KR20230124732A/ko

Links

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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • G06F3/04855Interaction with scrollbars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • G06V40/113Recognition of static hand signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Abstract

카메라 시스템을 사용하여 비디오 데이터의 프레임들을 캡처하고 있는 아이웨어 디바이스에 의해 검출된 손 제스처들에 응답하여 디스플레이 상의 가상 엘리먼트들 또는 그래픽 엘리먼트들을 제어하기 위한 예시적인 시스템들, 디바이스들, 매체들 및 방법들이 설명된다. 이미지 프로세싱 시스템은 비디오 데이터에서 일련의 손 모양들을 검출하고 이것이 미리 정의된 일련의 손 제스처들과 일치하는지 여부를 결정한다. 각각의 미리 정의된 일련의 손 제스처들은 액션과 연관된다. 시스템은 연관된 액션에 따라 디스플레이에 대한 가상 엘리먼트의 움직임을 제어한다. 펴진 손가락을 따라 슬라이딩하는 엄지손가락을 포함하는 예시적인 손 모양에서, 시스템은 펴진 손가락을 따라 손가락 스케일을 설정하며, 손가락 스케일로 그래픽 스케일을 교정하며, 교정된 그래픽 스케일에 대한 현재 엄지손가락 포지션에 따라 슬라이더와 같은 인터랙티브 그래픽 엘리먼트의 움직임을 제어한다.

Description

가상 및 그래픽 엘리먼트들을 제어하기 위한 미세 손 제스처들
[0001] 본 출원은 2020년 12월 29일에 출원된 미국 가출원 일련번호 제63/131,403호에 대해 우선권을 주장하며, 이 출원의 내용들은 인용에 의해 본원에 완전히 통합된다.
[0002] 본 개시내용에 제시된 예들은 아이웨어와 같은 웨어러블 디바이스들을 포함하는 전자 디바이스들에 대한 디스플레이 제어 분야에 관한 것이다. 더 상세하게는, 본 개시내용은 디스플레이 상의 가상 객체들 및 인터랙티브 그래픽 엘리먼트들을 제어하기 위한 손 제스처들 및 미세 규모 움직임들의 실시간 추적을 설명하나, 이에 제한되지 않는다.
[0003] 오늘날 이용 가능한 많은 타입들의 컴퓨터들 및 전자 디바이스들, 이를테면 모바일 디바이스들(예컨대, 스마트폰들, 태블릿들 및 랩톱들), 핸드헬드 디바이스들, 및 웨어러블 디바이스들(예컨대, 스마트 안경, 디지털 아이웨어, 헤드웨어, 헤드기어 및 머리-장착 디스플레이들)은 다양한 카메라들, 센서들, 무선 트랜시버들, 입력 시스템들 및 디스플레이들을 포함한다. 그래픽 사용자 인터페이스들은 사용자로 하여금 가상 객체들 및 그래픽 엘리먼트들, 이를테면 아이콘들, 태스크바들, 리스트 박스들, 메뉴들, 버튼들, 및 커서들, 포인터들, 핸들들 및 슬라이드들과 같은 선택 제어 엘리먼트들을 포함하여, 디스플레이된 콘텐츠와 상호작용할 수 있게 한다.
[0004] 가상 현실(VR) 기술은 때때로 VR 헤드셋 또는 다른 머리-장착 디스플레이 상에 제시되는 현실적인 이미지들을 포함하는 완전한 가상 환경을 생성한다. VR 경험들은 사용자로 하여금 가상 환경을 통해 이동하고 가상 객체들과 상호 작용할 수 있게 한다. 증강 현실(AR)은 가상 객체들과 물리적 환경의 실제 객체들을 결합하고 이 결합을 사용자에게 디스플레이하는 일종의 VR 기술이다. 결합된 디스플레이는 특히 가상 객체들이 실제 객체들 처럼 나타나고 동작할 때 가상 객체들이 물리적 환경에 진정으로 존재한다는 인상을 준다.
[0005] 설명된 다양한 예들의 특징들은 도면들을 참조하는 이하의 상세한 설명으로부터 용이하게 이해될 것이다. 상세한 설명에서 그리고 도면의 여러 도면들 전반에 걸쳐 각각의 엘리먼트에 대해 참조 부호가 사용된다. 복수의 유사한 엘리먼트들이 존재할 때, 소문자를 추가하여 특정 엘리먼트들을 지칭하면서, 유사한 엘리먼트들에 단일 참조 부호가 할당될 수 있다.
[0006] 도면들에 도시된 다양한 엘리먼트들은 달리 표시하지 않는 한 실척대로 도시되지는 않는다. 다양한 엘리먼트들의 치수들은 명확성을 위해 확대되거나 또는 축소될 수 있다. 여러 도면들은 하나 이상의 구현들을 묘사하며, 단지 예로서 제시되며 제한으로서 해석되지 않아야 한다. 도면들에는 이하의 도면들이 포함된다.
[0007] 도 1a는 가상 엘리먼트 제어 생성 시스템에서 사용하기에 적합한 아이웨어 디바이스의 예시적인 하드웨어 구성의 측면도(우측)이다.
[0008] 도 1b는 우측 가시광 카메라 및 회로 보드를 묘사한, 도 1a의 아이웨어 디바이스의 우측 코너의 부분 사시 단면도이다.
[0009] 도 1c는 좌측 가시광 카메라를 도시하는, 도 1a의 아이웨어 디바이스의 예시적인 하드웨어 구성의 측면도(좌측)이다.
[0010] 도 1d는 좌측 가시광 카메라 및 회로 보드를 묘사한, 도 1c의 아이웨어 디바이스의 좌측 코너의 부분 사시 단면도이다.
[0011] 도 2a 및 도 2b는 가상 엘리먼트 제어 시스템에서 활용되는 아이웨어 디바이스의 예시적인 하드웨어 구성들의 배면도들이다.
[0012] 도 3은 3차원 장면, 좌측 가시광 카메라에 의해 캡처된 좌측 원시 이미지 및 우측 가시광 카메라에 의해 캡처된 우측 원시 이미지의 개략도이다.
[0013] 도 4는 다양한 네트워크들을 통해 연결된 서버 시스템 및 웨어러블 디바이스(예컨대, 아이웨어 디바이스)를 포함하는 예시적인 가상 엘리먼트 제어 시스템의 기능 블록도이다.
[0014] 도 5는 도 4의 가상 엘리먼트 제어 시스템의 모바일 디바이스에 대한 예시적인 하드웨어 구성의 개략도이다.
[0015] 도 6은 동시 로컬리제이션 및 매핑을 설명할 때 사용하기 위한 예시적인 환경에서의 사용자의 개략도이다.
[0016] 도 7은 디스플레이 상의 인터랙티브 가상 및 그래픽 엘리먼트들을 제어하는 예시적인 손 제스처의 사시도이다.
[0017] 도 8은 디스플레이 상의 인터랙티브 가상 및 그래픽 엘리먼트들을 제어하는 예시적인 손 제스처의 사시도이다.
[0018] 도 9는 예시적인 일련의 손 제스처들의 사시도이다.
[0019] 도 10은 예시적인 선택 손 제스처들의 사시도이다.
[0020] 도 11은 예시적인 내비게이팅 손 제스처들의 사시도이다.
[0021] 도 12는 손가락 스케일을 사용한 그래픽 스케일의 예시적 교정의 개략도이다.
[0022] 도 13은 손 제스처들에 응답하여 가상 객체들 및 그래픽 엘리먼트들을 제어하는 예시적인 방법의 단계들을 나열한 흐름도이다.
[0023] 아이웨어 디바이스에 의해 검출된 손 제스처들에 응답하여 가상 엘리먼트를 제어하는 방법을 포함하여, 다양한 구현들 및 세부사항들이 예를 참조하여 설명된다. 아이웨어 디바이스는 카메라 시스템, 이미지 프로세싱 시스템, 및 디스플레이를 포함한다. 이 방법은 카메라 시스템으로 비디오 데이터의 프레임들을 캡처하는 단계, 이미지 프로세싱 시스템으로 캡처된 비디오 데이터의 프레임에서 일련의 손 모양들을 검출하는 단계, 검출된 일련의 손 모양들이 액션과 연관된 미리 정의된 일련의 손 제스처들과 매칭되는지 여부를 결정하는 단계, 및 연관된 액션에 따라 디스플레이에 대한 가상 엘리먼트의 움직임을 제어하는 단계를 포함한다. 일련의 손 모양들의 검출을 통해, 손의 양상들(예컨대, 손가락에 대한 엄지손가락 포지션)의 매우 작거나 미세-규모 변화들은 디스플레이 상의 가상 객체들 및 인터랙티브 그래픽 엘리먼트들의 대응하는 작거나 미세-규모 움직임들을 생성할 수 있다.
[0024] 일부 예시적인 구현들에서, 가상 엘리먼트는 하나 이상의 인터랙티브 그래픽 엘리먼트들을 포함하고, 검출된 일련의 손 모양들은 펴진 손가락 근처의 엄지손가락을 포함한다. 이러한 예에서, 방법은 펴진 손가락에 대한 손가락 스케일(finger scale)을 설정하는 단계를 포함하며, 여기서 손가락 스케일은 손바닥 끝으로부터 중간 지점을 거쳐 끝까지 펴진 손가락을 따라 길이 방향으로 연장된다. 이 방법은 또한 손가락 스케일로 인터랙티브 그래픽 엘리먼트와 연관된 그래픽 스케일을 교정하는 단계, 손가락 스케일에 대한 현재 엄지손가락 포지션을 식별하는 단계, 및 교정된 그래픽 스케일에 대한 식별된 현재 엄지손가락 포지션에 따라 디스플레이에서 인터랙티브 그래픽 엘리먼터의 움직임을 제어하는 단계를 포함한다.
[0025] 다양한 시스템들 및 방법들이 아이웨어 디바이스를 사용하여 스틸 이미지들을 캡처하는 것을 참조하여 본원에서 설명되지만, 설명된 기술은 다른 디바이스들에 의해 캡처된 비디오 데이터의 프레임들의 시퀀스로부터 스틸 이미지들을 선택하여 캡처하는 것에 적용될 수 있다.
[0026] 이하의 상세한 설명은 본 개시내용에 제시된 예들을 예시하는 시스템들, 방법들, 기법들, 명령 시퀀스들, 및 컴퓨팅 머신 프로그램 제품들을 포함한다. 개시된 청구대상 및 이의 관련 교시들의 완전한 이해를 제공하기 위한 다수의 세부사항들 및 예들이 포함된다. 그러나, 당업자는 이러한 세부사항들 없이 관련 교시들을 적용하는 방법을 이해할 수 있다. 개시된 청구대상의 양상들은 관련 교시들이 다양한 방식들로 적용되거나 실시될 수 있기 때문에 설명된 특정 디바이스들, 시스템들 및 방법으로 제한되지 않는다. 본원에서 사용되는 용어 및 명명법은 오직 특정 양상들을 설명하기 위한 목적이며, 제한으로 의도되지 않는다. 일반적으로, 잘 알려진 명령 인스턴스들, 프로토콜들, 구조들 및 기법들은 반드시 상세히 도시되지는 않는다.
[0027] 본원에서 사용되는 "커플링된” 또는 "연결된"이라는 용어들은 하나의 시스템 엘리먼트에 의해 생성되거나 공급되는 전기 또는 자기 신호들이 다른 커플링되거나 연결된 시스템 엘리먼트에 전달되게 하는 링크 등을 포함하여, 임의의 논리적, 광학적, 물리적 또는 전기적 연결부를 지칭한다. 달리 설명되지 않는 한, 커플링된 또는 연결된 엘리먼트들 또는 디바이스들은 반드시 서로 직접 연결되는 것은 아니며, 중간 컴포넌트들, 엘리먼트들 또는 통신 매체들에 의해 분리될 수 있으며, 이들 중 하나 이상은 전기 신호들을 수정, 조작 또는 반송할 수 있다. “상에”라는 용어는 엘리먼트에 의해 직접 지지되는 것 또는 엘리먼트에 통합되거나 그에 의해 지지되는 다른 엘리먼트를 통해 엘리먼트에 의해 간접적으로 지지되는 것을 의미한다.
[0028] "근접"이라는 용어는 객체 또는 사람 근처에, 이에 인접하게 또는 이 옆에 배치되거나; 또는 "말단"으로서 설명될 수 있는 아이템의 다른 부분들에 대해 더 근접한 아이템 또는 아이템의 부분을 설명하기 위해 사용된다. 예컨대, 객체에 가장 가까운 아이템의 끝은 근위 끝으로 지칭될 수 있는 반면에, 일반적으로 반대 끝은 말단 끝으로서 지칭될 수 있다.
[0029] 도면들 중 임의의 도면에 도시된 바와 같은, 카메라, 관성 측정 유닛 또는 이들 둘 모두를 통합한 아이웨어 디바이스, 다른 모바일 디바이스들, 연관된 컴포넌트들 및 임의의 다른 디바이스들의 배향들은 예시 및 논의 목적들을 위해 단지 예로서 주어진다. 동작 시에, 아이웨어 디바이스는 아이웨어 디바이스의 특정한 애플리케이션에 적합한 임의의 다른 방향으로, 예컨대, 위, 아래, 옆으로, 또는 임의의 다른 배향으로 배향될 수 있다. 또한, 본원에 사용되는 범위까지, 앞, 뒤, 내향, 외향, 쪽으로, 좌측, 우측, 측방향, 종방향, 위, 아래, 상부, 하부, 최상부, 최하부, 측면, 수평, 수직 및 대각과 같은 임의의 방향성 용어는 단지 예시의 방식으로 사용되며, 구성된 또는 본원에 달리 설명된 임의의 카메라 또는 관성 측정 유닛의 방향 또는 배향으로 제한되지 않는다.
[0030] 진보된 AR 기술들, 이를테면 컴퓨터 비전 및 객체 추적은 지각적으로 풍부하고 몰입적인 경험을 생성하는 데 사용될 수 있다. 컴퓨터 비전 알고리즘들은 디지털 이미지들 또는 비디오에 캡처된 데이터로부터 물리적 세계에 대한 3차원 데이터를 추출한다. 객체 인식 및 추적 알고리즘들은 디지털 이미지 또는 비디오에서 객체를 검출하고, 객체의 배향 또는 포즈를 추정하며, 그리고 시간에 따른 객체의 이동을 추적하기 위해 사용된다. 실시간으로 손 및 손가락을 인식하고 추적하는 것은 컴퓨터 비전 분야에서 가장 어렵고 프로세싱 집약적인 작업들 중 하나이다.
[0031] "포즈"라는 용어는 특정한 순간에 객체의 정적인 포지션 및 배향을 의미한다. "제스처"라는 용어는 때때로 신호 또는 아이디어를 전달하기 위한 일련의 포즈들을 통한 손과 같은 객체의 능동적인 움직임을 지칭한다. 포즈와 제스처라는 용어들은 때때로 컴퓨터 비전 및 증강 현실 분야에서 상호 교환 가능하게 사용된다. 본원에서 사용되는 바와같이, "포즈" 또는 "제스처" (또는 이들의 변형들)라는 용어들은 포즈들 및 제스처들 둘 모두를 포함하는 것으로 의도되는데, 즉, 한 용어의 사용은 다른 용어의 사용을 배제하지 않는다.
[0032] 예들의 추가적인 목적들, 이점들 및 신규 특징들은 하기 설명에서 부분적으로 제시될 것이고, 부분적으로, 이하의 그리고 첨부된 도면들의 검토 시에 당업자들에게 자명해질 것이거나, 또는 예들의 생산 또는 동작에 의해 학습될 수 있다. 본 발명의 청구대상의 목적들 및 장점들은 특히 첨부된 청구항들에서 적시된 방법론들, 기구들 및 이들의 조합들에 의해 실현 및 달성될 수 있다.
[0033] 이제, 첨부된 도면들에서 예시되고 아래에서 논의되는 예들이 상세히 참조된다.
[0034] 도 1a는 터치-감지 입력 디바이스 또는 터치패드(181)를 포함하는 아이웨어 디바이스(100)의 예시적인 하드웨어 구성의 측면도(우측)이다. 도시된 바와 같이, 터치패드(181)는 이해하기 어려우며 용이하게 쉽게 보여지지 않는 경계를 가질 수 있으며; 대안적으로, 경계는 명백하게 보일 수 있거나, 또는 터치패드(181)의 로케이션 및 경계에 대한 피드백을 사용자에게 제공하는 상승된 또는 그렇지 않으면 촉각적인 에지를 포함할 수 있다. 다른 구현들에서, 아이웨어 디바이스(100)는 좌측에 터치패드를 포함할 수 있다.
[0035] 터치패드(181)의 표면은, 사용자가 메뉴 옵션들을 통해 내비게이팅하여 직관적인 방식으로 메뉴 옵션들을 선택할 수 있게 하도록, 이미지 디스플레이 상에서 아이웨어 디바이스에 의해 디스플레이되는 GUI와 함께 사용하기 위한 손가락 터치들, 탭들 및 제스처들 (예컨대, 이동 터치들)을 검출하도록 구성되며, 이는 사용자 경험을 향상시키고 단순화시킨다.
[0036] 터치패드(181) 상의 손가락 입력들의 검출은 여러 기능들을 가능하게 할 수 있다. 예컨대, 터치패드(181)의 임의의 위치를 터치하면, GUI가 이미지 디스플레이 상에 아이템을 디스플레이하거나 또는 강조할 수 있으며, 이는 광학 조립체들(180A, 180B) 중 적어도 하나에 투사될 수 있다. 터치패드(181) 상의 더블 태핑은 아이템 또는 아이콘을 선택할 수 있다. 특정 방향으로 (예컨대, 앞에서 뒤로, 뒤에서 앞으로, 위에서 아래로 또는 아래에서 위로) 손가락을 슬라이딩하거나 또는 스와이핑하면, 아이템들 또는 아이콘들이 특정 방향으로 슬라이딩되거나 또는 스크롤링되게 할 수 있으며; 예컨대, 다음 아이템, 아이콘, 비디오, 이미지, 페이지 또는 슬라이드로 이동되게 할 수 있다. 손가락을 다른 방향으로 슬라이딩하면, 반대 방향으로 슬라이딩 또는 스크롤링되게 할 수 있으며; 예컨대 이전 아이템, 아이콘, 비디오, 이미지, 페이지 또는 슬라이드로 이동되게 할 수 있다. 터치패드(181)는 아이웨어 디바이스(100)의 사실상 임의의 위치일 수 있다.
[0037] 일례에서, 터치패드(181) 상의 단일 탭의 식별된 손가락 제스처는 광학 조립체(180A, 180B)의 이미지 디스플레이 상에 제시된 이미지에서 그래픽 사용자 인터페이스 엘리먼트의 선택 또는 누름을 개시한다. 식별된 손가락 제스처에 기반하여 광학 조립체(180A, 180B)의 이미지 디스플레이 상에 제시된 이미지에 대한 조절은 추가적인 디스플레이 또는 실행을 위해 광학 조립체(180A, 180B)의 이미지 디스플레이 상의 그래픽 사용자 인터페이스 엘리먼트를 선택하거나 또는 제출하는 1차 액션일 수 있다.
[0038] 도시된 바와 같이, 아이웨어 디바이스(100)는 우측 가시광 카메라(114B)를 포함한다. 본원에서 추가로 설명되는 바와 같이, 2개의 카메라들(114A, 114B)은 2개의 별개의 뷰포인트들로부터 스크린에 대한 이미지 정보를 캡처한다. 2개의 캡처된 이미지들은 3D 안경으로 보기 위해 3차원 디스플레이를 이미지 디스플레이에 투사하는 데 사용될 수 있다.
[0039] 아이웨어 디바이스(100)는 깊이 이미지들과 같은 이미지들을 제시하기 위한 이미지 디스플레이를 갖는 우측 광학 조립체(180B)를 포함한다. 도 1a 및 도 1b에 도시된 바와 같이, 아이웨어 디바이스(100)는 우측 가시광 카메라(114B)를 포함한다. 아이웨어 디바이스(100)는 스테레오 카메라와 같은 수동 타입의 3차원 카메라를 형성하는 다수의 가시광 카메라들(114A, 114B)을 포함할 수 있고, 이들 중 우측 가시광 카메라(114B)는 우측 코너(110B) 상에 로케이팅된다. 도 1c 및 도 1d에 도시된 바와 같이, 아이웨어 디바이스(100)는 또한 좌측 가시광 카메라(114A)를 포함한다.
[0040] 좌측 및 우측 가시광 카메라들(114A, 114B)은 가시광선 범위 파장에 민감하다. 가시광 카메라들(114A, 114B)의 각각은 3차원 깊이 이미지들의 생성을 가능하게 하기 위해 중첩하는 상이한 전방을 향하는 시야를 갖는데, 예컨대, 우측 가시광 카메라(114B)는 우측 시야(111B)를 묘사한다. 일반적으로, “시야”는, 공간 내의 특정 포지션 및 배향에서 카메라를 통해 가시적인 장면의 일부이다. 시야들(111A 및 111B)은 중첩하는 시야(304)(도 3)를 갖는다. 가시광 카메라가 이미지를 캡처할 때 시야(111A, 111B) 외측의 객체들 또는 객체 특징들은 원시 이미지(예컨대, 포토그래프 또는 사진)에 기록되지 않는다. 시야는 가시광 카메라(114A, 114B)의 이미지 센서가 주어진 장면의 캡처된 이미지 내의 주어진 장면의 전자기 방사를 픽업하는 각도 범위 또는 정도를 설명한다. 시야는 뷰 콘(view cone)의 각도 크기, 즉 시야각으로 표현될 수 있다. 시야각은 수평으로, 수직으로 또는 대각으로 측정될 수 있다.
[0041] 예시적인 구성에서, 가시광 카메라들(114A, 114B) 중 하나 또는 둘 모두는 100°의 시야 및 480 x 480 픽셀들의 해상도를 갖는다. "커버리지 각도"는 가시광 카메라들(114A, 114B) 또는 적외선 카메라(410)(도 2a 참조)의 렌즈가 효과적으로 이미징할 수 있는 각도 범위를 설명한다. 통상적으로, 카메라 렌즈는 가능하게는 일부 비네팅(vignetting)(예컨대, 중심과 비교하여 에지들 쪽의 이미지의 다크닝)을 포함하여, 필름 또는 카메라의 센서를 완전히 커버할 만큼 충분히 큰 이미지 원을 생성한다. 카메라 렌즈의 커버리지 각도가 센서를 채우지 않는 경우, 이미지 원은 가시적일 것이고, 통상적으로 에지를 향하는 강한 비네팅을 가지며, 뷰의 유효 각도는 커버리지 각도로 제한될 것이다.
[0042] 이러한 가시광 카메라들(114A, 114B)의 예들은 480p(예컨대, 640 x 480 픽셀들), 720p, 1080p 또는 그 초과의 해상도들을 가능하게 하는 HD(high-resolution) CMOS(complementary metal-oxide-semiconductor) 이미지 센서 및 디지털 VGA 카메라(비디오 그래픽 어레이)를 포함한다. 다른 예들은 높은 프레임 레이트(예컨대, 초당 30 내지 60개의 프레임들 또는 그 초과)로 HD(high-definition) 비디오를 포착하고 기록을 1216 x 1216개의 (또는 그 초과의) 픽셀들의 해상도로 저장할 수 있는 가시광 카메라들(114A, 114B)를 포함한다.
[0043] 아이웨어 디바이스(100)는 메모리에의 저장을 위해 이미지 프로세서에 의해 디지털화되는, 가시광 카메라들(114A, 114B)로부터의 이미지 센서 데이터를 지오로케이션 데이터와 함께 캡처할 수 있다. 가시광 카메라들(114A, 114B)은 수평 포지션에 대한 X-축 및 수직 포지션에 대한 Y-축을 포함하는 2차원 좌표 시스템 상의 픽셀들의 매트릭스를 포함하는, 2차원 공간 도메인에서의 개개의 좌측 및 우측 원시 이미지들을 캡처한다. 각각의 픽셀은 색 속성 값(예컨대, 적색 픽셀 광 값, 녹색 픽셀 광 값, 또는 청색 픽셀 광 값); 및 포지션 속성(예컨대, X-축 좌표 및 Y-축 좌표)을 포함한다.
[0044] 3차원 투사로서 추후 디스플레이하기 위한 스테레오 이미지들을 캡처하기 위해, 이미지 프로세서(412)(도 4에 도시됨)는 가시광 카메라들(114A, 114B)에 커플링되어 시각 이미지 정보를 수신하고 저장할 수 있다. 이미지 프로세서(412) 또는 다른 프로세서는 가시광 카메라들(114A, 114B)의 동작을 제어하여, 인간의 양안 비전을 시뮬레이팅하는 스테레오 카메라의 역할을 하고, 각각의 이미지에 타임스탬프를 추가할 수 있다. 이미지들의 각각의 쌍 상의 타임스탬프는 3차원 투사의 부분으로서 이미지들의 동시 디스플레이를 허용한다. 3차원 투사들은 가상 현실(VR) 및 비디오 게이밍을 포함하여 다양한 콘텍스트들에서 바람직한 몰입형의 실감나는 경험을 생성한다.
[0045] 도 1b는 카메라 시스템의 우측 가시광 카메라(114B) 및 회로 보드를 묘사하는, 도 1a의 아이웨어 디바이스(100)의 우측 코너(110B)의 사시 단면도이다. 도 1c는 카메라 시스템의 좌측 가시광 카메라(114A)를 도시하는, 도 1a의 아이웨어 디바이스(100)의 예시적인 하드웨어 구성의 측면도(좌측)이다. 도 1d는 3차원 카메라의 좌측 가시광 카메라(114A) 및 회로 보드를 묘사하는, 도 1c의 아이웨어 디바이스의 좌측 코너의(110A)의 사시 단면도이다.
[0046] 좌측 가시광 카메라(114A)의 구성 및 배치는 연결부들 및 커플링이 좌측 측방향 측면(170A)에 있다는 점을 제외하고 우측 가시광 카메라(114B)와 실질적으로 유사하다. 도 1b의 예에 도시된 바와 같이, 아이웨어 디바이스(100)는 우측 가시광 카메라(114B) 및 가요성 PCB(printed circuit board)일 수 있는 회로 보드(140B)를 포함한다. 우측 힌지(126B)는 아이웨어 디바이스(100)의 우측 템플(125B)에 우측 코너(110B)를 연결한다. 일부 예들에서, 우측 가시광 카메라(114B), 가요성 PCB(140B), 또는 다른 전기 커넥터들 또는 콘택들의 컴포넌트들은 우측 템플(125B) 또는 우측 힌지(126B) 상에 로케이팅될 수 있다. 좌측 힌지(126B)는 좌측 코너(110A)를 아이웨어 디바이스(100)의 좌측 템플(125A)에 연결한다. 일부 예들에서, 좌측 가시광 카메라(114A), 가요성 PCB(140A) 또는 다른 전기 커넥터들 또는 콘택들의 컴포넌트들은 좌측 템플(125A) 또는 좌측 힌지(126A) 상에 로케이팅될 수 있다.
[0047] 우측 코너(110B)는 코너 본체(190) 및 코너 캡을 포함하고, 코너 캡은 도 1b의 단면에서 생략된다. 우측 코너(110B) 내부에는 우측 가시광 카메라(114B)에 대한 제어기 회로들, 마이크로폰(들), (예컨대, Bluetooth™를 통한 무선 근거리 네트워크 통신을 위한) 저전력 무선 회로부, (예컨대, Wi-Fi 통한 무선 근거리 네트워크 통신을 위한) 고속 무선 회로부를 포함하는 다양한 상호연결된 회로 보드들, 예컨대, PCB들 또는 가요성 PCB들이 배치된다.
[0048] 우측 가시광 카메라(114B)는 가요성 PCB(140B)에 커플링되거나 배치되고, 프레임(105)에 형성된 개구(들)를 통해 조준되는 가시광 카메라 커버 렌즈에 의해 커버된다. 예컨대, 도 2a에 도시된 프레임(105)의 우측 테두리(107B)는 우측 코너(110B)에 연결되고 가시광 카메라 커버 렌즈를 위한 개구(들)를 포함한다. 프레임(105)은 사용자의 눈으로부터 멀리 바깥쪽을 향하도록 구성된 전방 측면을 포함한다. 가시광 카메라 커버 렌즈를 위한 개구는 프레임(105)의 전방 또는 외향 측면 상에 그리고 이를 통해 형성된다. 예에서, 우측 가시광 카메라(114B)는 아이웨어 디바이스(100)의 사용자의 우측 눈과 상관되는 시선 또는 시각을 갖는 (도 3에 도시된) 갖는 외향 시야(111B)를 갖는다. 가시광 카메라 커버 렌즈는 또한 우측 코너(110B)의 전방 측면 또는 외향 표면에 부착될 수 있고, 여기서 커버리지의 외향 각도를 갖지만 상이한 외측 방향을 향하는 개구가 형성된다. 커플링은 또한 개재 컴포넌트들을 통해 간접적일 수 있다.
[0049] 도 1b에 도시된 바와 같이, 가요성 PCB(140B)는 우측 코너(110B) 내부에 배치되고, 우측 코너(110B)에 하우징된 하나 이상의 다른 컴포넌트들에 커플링된다. 우측 코너(110B)의 회로 보드들 상에 형성된 것으로 도시되었지만, 우측 가시광 카메라(114B)는 좌측 코너(110A), 템플들(125A, 125B) 또는 프레임(105)의 회로 보드들 상에 형성될 수 있다.
[0050] 도 2a 및 도 2b는 2개의 상이한 타입들의 이미지 디스플레이들을 포함하는 아이웨어 디바이스(100)의 예시적인 하드웨어 구성들을 뒤에서 본 사시도들이다. 아이웨어 디바이스(100)는 사용자가 착용하도록 구성된 형태의 크기를 갖고 이러한 형태로 형상화되며; 안경의 형태가 본 예에 도시된다. 아이웨어 디바이스(100)는 다른 형태들을 취할 수 있고, 다른 타입들의 프레임워크들, 예컨대 헤드기어, 헤드셋 또는 헬멧을 통합할 수 있다.
[0051] 안경 예에서, 아이웨어 디바이스(100)는 사용자의 코에 의해 지지되도록 구성된 브리지( bridge)(106)를 통해 우측 테두리(107B)에 연결된 좌측 테두리(107A)를 포함하는 프레임(105)을 포함한다. 좌측 및 우측 테두리들(107A, 107B)은 렌즈 및 디스플레이 디바이스와 같은 개개의 광학 엘리먼트(180A, 180B)를 홀딩하는 개개의 애퍼처들(175A, 175B)을 포함한다. 본원에서 사용되는 바와 같이, 렌즈라는 용어는 빛이 수렴/발산하게 하는 또는 수렴 또는 발산이 거의 또는 전혀 없게 하는 만곡된 또는 평탄한 표면들을 갖는 유리 또는 플라스틱의 투명한 또는 반투명한 피스들을 포함하는 것으로 의미된다.
[0052] 2개의 광학 엘리먼트들(180A, 180B)을 갖는 것으로 도시되었지만, 아이웨어 디바이스(100)는 아이웨어 디바이스(100)의 애플리케이션 또는 의도된 사용자에 따라 단일 광학 엘리먼트와 같은 다른 배열들을 포함할 수 있다 (또는 임의의 광학 엘리먼트(180A, 180B)를 포함하지 않을 수 있다). 추가로 도시된 바와 같이, 아이웨어 디바이스(100)는 프레임(105)의 좌측 측방향 측면(170A)에 인접한 좌측 코너(110A) 및 프레임(105)의 우측 측방향 측면(170B)에 인접한 우측 코너(110B)를 포함한다. 코너들(110A, 110B)은 (예시된 바와 같이) 개개의 측면들(170A, 170B) 상에서 프레임(105)에 통합되거나, 또는 개개의 측면들(170A, 170B) 상에서 프레임(105)에 부착된 별개의 컴포넌트들로서 구현될 수 있다. 대안적으로, 코너들(110A, 110B)은 프레임(105)에 부착된 템플들(미도시)에 통합될 수 있다.
[0053] 일례에서, 광학 조립체(180A, 180B)의 이미지 디스플레이는 통합 이미지 디스플레이를 포함한다. 도 2a에 도시된 바와 같이, 각각의 광학 조립체(180A, 180B)는 LCD(liquid crystal display), OLED(organic light-emitting diode) 디스플레이 또는 임의의 다른 그러한 디스플레이와 같은 적합한 디스플레이 매트릭스(177)를 포함한다. 각각의 광학 조립체(180A, 180B)는 또한 렌즈들, 광학 코팅들, 프리즘들, 미러들, 도파관들, 광학 스트립들, 및 다른 광학 컴포넌트들을 임의의 조합으로 포함할 수 있는 광학 층 또는 층들(176)을 포함한다. (도 2a 및 본원에서 176A-N으로서 도시된) 광학 층들(176A, 176B, … 176N)은 적합한 크기 및 구성을 갖고 디스플레이 매트릭스로부터 광을 수신하기 위한 제1 표면 및 사용자의 눈에 광을 방출하기 위한 제2 표면을 포함하는 프리즘을 포함할 수 있다. 광학 층들(176A-N)의 프리즘은 좌측 및 우측 테두리들(107A, 107B)에 형성된 개개의 애퍼처들(175A, 175B)의 전부 또는 적어도 일부분에 걸쳐 연장되어, 사용자의 눈이 대응하는 좌측 및 우측 테두리들(107A, 107B)을 보고 있을 때 사용자가 프리즘의 제2 표면을 보도록 허용한다. 광학 층들(176A-N)의 프리즘의 제1 표면은 프레임(105)으로부터 위를 향하고, 디스플레이 매트릭스(177)는 디스플레이 매트릭스(177)에 의해 방출된 광자들 및 광이 제1 표면에 충돌하도록 프리즘 위에 놓인다. 프리즘은 광이 프리즘 내에서 굴절되고 광학 층들(176A-N)의 프리즘의 제2 표면에 의해 사용자의 눈을 향해 지향되도록 하는 크기를 가지고 형상화된다. 이와 관련하여, 광학 층들(176A-N)의 프리즘의 제2 표면은 눈의 중심을 향해 광을 지향하도록 볼록할 수 있다. 프리즘은 선택적으로 디스플레이 매트릭스(177)에 의해 투사된 이미지를 확대하도록 하는 크기를 가지고 형상화될 수 있으며, 광은 프리즘을 통해 이동하여 제2 표면으로부터 보이는 이미지는 디스플레이 매트릭스(177)로부터 방출된 이미지보다 하나 이상의 차원들에서 더 크다.
[0054] 일례에서, 광학 층들(176A-N)은 층을 불투명하게 만드는(렌즈를 닫거나 차단하는) 전압이 인가되지 않는 한 그리고 그 전압이 인가될 때까지 투명한 (렌즈를 개방된 상태로 유지하는) LCD 층을 포함할 수 있다. 아이웨어 디바이스(100) 상의 이미지 프로세서(412)는 능동 셔터 시스템을 생성하기 위해 LCD 층에 전압을 인가하는 프로그래밍을 실행할 수 있고, 이는 아이웨어 디바이스(100)가 3차원 투사로서 디스플레이될 때 시각적 콘텐츠를 보기에 적합하도록 만든다. 전압 또는 다른 타입의 입력에 응답하는 다른 타입들의 반응 층들을 포함하여, LCD와 다른 기술들이 능동 셔터 모드 동안 사용될 수 있다.
[0055] 다른 예에서, 광학 조립체(180A, 180B)의 이미지 디스플레이 디바이스는 도 2b에 도시된 바와 같이 투사 이미지 디스플레이를 포함한다. 각각의 광학 조립체(180A, 180B)는 스캐닝 미러 또는 검류계를 사용하는 3-색 레이저 프로젝터인 레이저 프로젝터(150)를 포함한다. 동작 동안, 레이저 프로젝터(150)와 같은 광원은 아이웨어 디바이스(100)의 템플들(125A, 125B) 중 하나에 또는 그 위에 배치된다. 이러한 예에서 광학 조립체(180B)는 각각의 광학 조립체(180A, 180B)의 렌즈의 폭에서 떨어져서 이를 가로질러 또는 렌즈의 전방 표면 및 후방 표면 사이의 렌즈의 깊이를 가로질러 이격되는 하나 이상의 광학 스트립들(155A, 155B, … 155N)(도 2b에서 155A-N로서 도시됨)을 포함한다.
[0056] 레이저 프로젝터(150)에 의해 투사된 광자들이 각각의 광학 조립체(180A, 180B)의 렌즈를 가로질러 이동함에 따라, 광자들은 광학 스트립들(155A-N)과 만난다. 특정 광자가 특정 광학 스트립을 만날 때, 그 광자는 사용자의 눈을 향해 재지향되거나 다음 광학 스트립으로 전달된다. 레이저 프로젝터(150)의 변조 및 광학 스트립들의 변조의 조합은 특정 광자들 또는 광 빔들을 제어할 수 있다. 일례에서, 프로세서는 기계적, 음향적 또는 전자기 신호들을 개시함으로써 광학 스트립들(155A-N)을 제어한다. 2개의 광학 조립체들(180A, 180B)을 갖는 것으로 도시되었지만, 아이웨어 디바이스(100)는 단일의 또는 3개의 광학 조립체들과 같은 다른 배열들을 포함할 수 있거나, 또는 각각의 광학 조립체(180A, 180B)는 아이웨어 디바이스(100)의 의도된 사용자 또는 애플리케이션에 따라 배열된 상이한 배열을 가질 수 있다.
[0057] 도 2a 및 도 2b에 추가로 도시된 바와 같이, 아이웨어 디바이스(100)는 프레임(105)의 좌측 측방향 측면(170A)에 인접한 좌측 코너(110A) 및 프레임(105)의 우측 측방향 측면(170B)에 인접한 우측 코너(110B)를 포함한다. 코너들(110A, 110B)은 (예시된 바와 같이) 개개의 측방향 측면들(170A, 170B) 상에서 프레임(105)에 통합되거나, 또는 개개의 측면들(170A, 170B) 상에서 프레임(105)에 부착된 별개의 컴포넌트들로서 구현될 수 있다. 대안적으로, 코너들(110A, 110B)은 프레임(105)에 부착된 템플들(125A, 125B)에 통합될 수 있다.
[0058] 다른 예에서, 도 2b에 도시된 아이웨어 디바이스(100)는 2개의 프로젝터들, 즉 좌측 프로젝터(150A)(미도시) 및 우측 프로젝터(150B)(프로젝터(150)로 도시됨)를 포함할 수 있다. 좌측 광학 조립체(180A)는 좌측 디스플레이 매트릭스(177A)(미도시), 또는 좌측 프로젝터(150A)로부터의 광과 상호작용하도록 구성된 좌측 세트의 광학 스트립들(155'A, 155'B, … 155'N)(155 프라임, A 내지 N, 미도시)을 포함할 수 있다. 유사하게, 우측 광학 조립체(180B)는 우측 디스플레이 매트릭스(177B)(미도시), 또는 우측 프로젝터(150B)로부터의 광과 상호작용하도록 구성된 우측 세트의 광학 스트립들(155''A, 155''B, … 155''N)(155 더블 프라임, A 내지 N, 미도시)을 포함할 수 있다. 이러한 예에서, 아이웨어 디바이스(100)는 좌측 디스플레이 및 우측 디스플레이를 포함한다.
[0059] 도 3은 3차원 장면(306), 좌측 가시광 카메라(114A)에 의해 캡처된 좌측 원시 이미지(302A) 및 우측 가시광 카메라(114B)에 의해 캡처된 우측 원시 이미지(302B)의 개략도이다. 좌측 시야(111A)는 도시된 바와 같이 우측 시야(111B)와 중첩할 수 있다. 중첩 시야(304)는 양 카메라들(114A, 114B)에 의해 캡처된 이미지의 해당 부분을 나타낸다. 시야를 지칭할 때 “중첩”이라는 용어는 생성된 원시 이미지들의 픽셀들의 매트릭스가 30 퍼센트(30%) 이상 중첩하는 것을 의미한다. '실질적으로 중첩하는 것'은 생성된 원시 이미지들 (또는 장면의 적외선 이미지)의 픽셀들의 매트릭스가 50 퍼센트 (50%) 이상 중첩하는 것을 의미한다. 본원에서 설명되는 바와 같이, 2개의 원시 이미지들(302A, 302B)은 타임스탬프를 포함하도록 프로세싱될 수 있으며, 이는 이미지들이 3차원 투사의 부분으로서 함께 디스플레이될 수 있게 한다.
[0060] 스테레오 이미지의 캡처를 위해, 도 3에 예시된 바와같이, 원시 적색, 녹색 및 청색(RGB) 이미지들의 쌍, 즉 좌측 카메라(114A)에 의해 캡처된 좌측 원시 이미지(302A) 및 우측 카메라(114B)에 의해 캡처된 우측 원시 이미지(302B)가 주어진 순간에 실제 장면(306)으로부터 캡처된다. 원시 이미지들(302A, 302B)의 쌍이 (예컨대, 이미지 프로세서(412))에 의해 프로세싱될 때, 깊이 이미지들이 생성된다. 생성된 깊이 이미지들은 아이웨어 디바이스의 광학 조립체(180A, 180B) 상에, 다른 디스플레이(예컨대, 모바일 디바이스(401) 상의 이미지 디스플레이(580)) 상에 또는 스크린 상에서 보여질 수 있다.
[0061] 생성된 깊이 이미지들은 3차원 공간 도메인에 있고, 수평 포지션(예컨대, 길이)에 대한 X-축, 수직 포지션(예컨대, 높이)에 대한 Y-축, 및 깊이(예컨대, 거리)에 대한 Z-축을 포함하는 3차원 로케이션 좌표 시스템 상에 정점들의 매트릭스를 포함할 수 있다. 각각의 정점은 색 속성(예컨대, 적색 픽셀 광 값, 녹색 픽셀 광 값, 및/또는 청색 픽셀 광 값); 포지션 속성(예컨대, X 로케이션 좌표, Y 로케이션 좌표, 및 Z 로케이션 좌표); 텍스처 속성; 반사 속성; 또는 이들의 조합을 포함할 수 있다. 텍스처 속성은 깊이 이미지의 정점들의 영역에서 색의 공간적 배열 또는 세기들과 같은 깊이 이미지의 인지된 텍스처를 정량화한다.
[0062] 일례에서, 가상 엘리먼트 제어 시스템(400)(도 4)은 아이웨어 디바이스(100)를 포함하며, 아이웨어 디바이스(100)는 프레임(105) 및 프레임(105)의 좌측 측방향 측면(170A)으로부터 연장되는 좌측 템플(125A) 및 프레임(105)의 우측 측방향 측면(170B)으로부터 연장되는 우측 템플(125B)을 포함한다. 아이웨어 디바이스(100)는 중첩 시야를 갖는 적어도 2개의 가시광 카메라들(114A, 114B)을 더 포함할 수 있다. 일례에서, 아이웨어 디바이스(100)는 도 3에 예시된 바와 같이 좌측 시야(111A)를 갖는 좌측 가시광 카메라(114A)를 포함한다. 좌측 카메라(114A)는 프레임(105) 또는 좌측 템플(125A)에 연결되어 장면(306)의 좌측으로부터 좌측 원시 이미지(302A)를 캡처한다. 아이웨어 디바이스(100)는 우측 시야(111B)를 갖는 우측 가시광 카메라(114B)를 더 포함한다. 우측 카메라(114B)는 프레임(105) 또는 우측 템플(125B)에 연결되어 장면(306)의 우측으로부터 우측 원시 이미지(302B)를 캡처한다.
[0063] 도 4는 인터넷과 같은 다양한 네트워크들(495)을 통해 연결된 웨어러블 디바이스(예컨대, 아이웨어 디바이스(100)), 모바일 디바이스(401) 및 서버 시스템(498)을 포함하는 예시적인 가상 엘리먼트 제어 시스템(400)의 기능 블록도이다. 도시된 바와같이, 가상 엘리먼트 제어 시스템(400)은 아이웨어 디바이스(100)와 모바일 디바이스(401) 사이의 저-전력 무선 연결(425) 및 고속 무선 연결(437)을 포함한다.
[0064] 도 4에 도시된 바와 같이, 아이웨어 디바이스(100)는 본원에서 설명되는 바와 같이 스틸 이미지들, 비디오 이미지들 또는 스틸 이미지들과 비디오 이미지들 둘 모두를 캡처하는 하나 이상의 가시광 카메라들(114A, 114B)을 포함한다. 카메라들(114A, 114B)은 고속 회로부(430)에 대한 직접 메모리 액세스(DMA)를 가질 수 있고, 스테레오 카메라로서 기능할 수 있다. 카메라들(114A, 114B)은 적색, 녹색 및 청색 (RGB) 이미지 장면의 텍스처 매핑 이미지들인 3차원(3D) 모델들로 렌더링될 수 있는 초기-깊이 이미지들을 캡처하는 데 사용될 수 있다. 디바이스(100)는 또한 디바이스(100)에 대한 객체들의 포지션을 추정하기 위해 적외선 신호들을 사용하는 깊이 센서(213)를 포함할 수 있다. 일부 예들에서 깊이 센서(213)는 하나 이상의 적외선 방출기(들)(215) 및 적외선 카메라(들)(410)를 포함한다.
[0065] 아이웨어 디바이스(100)는 각각의 광학 조립체(180A, 180B) (하나는 좌측 측면(170A)과 연관되고 하나는 우측 측면(170B)과 연관됨)의 2개의 이미지 디스플레이들을 더 포함한다. 아이웨어 디바이스(100)는 또한 이미지 디스플레이 드라이버(442), 이미지 프로세서(412), 저전력 회로부(420) 및 고속 회로부(430)를 포함한다. 각각의 광학 조립체(180A, 180B)의 이미지 디스플레이들은 스틸 이미지들, 비디오 이미지들 또는 정지 및 비디오 이미지들을 포함하는 이미지들을 제시하기 위한 것이다. 이미지 디스플레이 드라이버(442)는 이미지들의 디스플레이를 제어하기 위해 각각의 광학 조립체(180A, 180B)의 이미지 디스플레이들에 커플링된다.
[0066] 아이웨어 디바이스(100)는 하나 이상의 스피커들(440)(예컨대, 하나는 아이웨어 디바이스의 좌측 측면과 연관되며 다른 것은 아이웨어 디바이스의 우측 측면과 연관됨)을 추가로 포함한다. 스피커들(440)은 아이웨어 디바이스(100)의 프레임(105), 템플들(125) 또는 코너들(110)에 통합될 수 있다. 하나 이상의 스피커들(440)은 저전력 회로부(420), 고속 회로부(430) 또는 이들 둘 모두의 제어 하에 오디오 프로세서(443)에 의해 구동된다. 스피커들(440)은 예컨대 비트 트랙을 포함하는 오디오 신호들을 제공하기 위한 것이다. 오디오 프로세서(443)는 사운드의 프리젠테이션을 제어하기 위해 스피커들(440)에 커플링된다.
[0067] 아이웨어 디바이스(100)에 대해 도 4에 도시된 컴포넌트들은 테두리들 또는 템플들에 로케이팅된, 하나 이상의 회로 보드들, 예컨대, PCB(printed circuit board) 또는 PCB(flexible printed circuit) 상에 로케이팅된다. 대안적으로 또는 추가적으로, 묘사된 컴포넌트들은 아이웨어 디바이스(100)의 코너들, 프레임들, 힌지들 또는 브리지에 로케이팅될 수 있다. 좌측 및 우측 가시광 카메라들(114A, 114B)은 디지털 카메라 엘리먼트들, 이를테면 CMOS(complementary metal-oxide-semiconductor) 이미지 센서, 전하-결합 디바이스, 렌즈, 또는 미지의 객체들을 갖는 장면들의 스틸 이미지들 또는 비디오를 포함하여 데이터를 캡처하기 위해 사용될 수 있는 임의의 다른 개개의 가시적 또는 광 캡처 엘리먼트들을 포함할 수 있다.
[0068] 도 4에 도시된 바와 같이, 고속 회로부(430)는 고속 프로세서(432), 메모리(434) 및 고속 무선 회로부(436)를 포함한다. 예에서, 이미지 디스플레이 드라이버(442)는 고속 회로부(430)에 커플링되고, 각각의 광학 조립체(180A, 180B)의 좌측 및 우측 이미지 디스플레이들을 구동하기 위해 고속 프로세서(432)에 의해 동작된다. 고속 프로세서(432)는 아이웨어 디바이스(100)에 필요한 임의의 일반적인 컴퓨팅 시스템의 동작 및 고속 통신들을 관리할 수 있는 임의의 프로세서일 수 있다. 고속 프로세서(432)는 고속 무선 회로부(436)를 사용하여 WLAN(wireless local area network)으로의 고속 무선 연결부(437)를 통한 고속 데이터 전달들을 관리하는 데 필요한 프로세싱 자원들을 포함한다.
[0069] 일부 예들에서, 고속 프로세서(432)는 오퍼레이팅 시스템, 이를테면 LINUX 오퍼레이팅 시스템, 또는 아이웨어 디바이스(100)의 다른 그러한 오퍼레이팅 시스템을 실행하고, 오퍼레이팅 시스템은 실행을 위해 메모리(434)에 저장된다. 임의의 다른 책임들에 부가하여, 고속 프로세서(432)는 고속 무선 회로부(436)로의 데이터 전달들을 관리하는데 사용되는 아이웨어 디바이스(100)를 위한 소프트웨어 아키텍처를 실행한다. 일부 예들에서, 고속 무선 회로부(436)는 본원에서 또한 Wi-Fi로 지칭되는 IEEE(Institute of Electrical and Electronic Engineers) 802.11 통신 표준들을 구현하도록 구성된다. 다른 예들에서, 다른 고속 통신 표준들은 고속 무선 회로부(436)에 의해 구현될 수 있다.
[0070] 저-전력 회로부(420)는 저-전력 프로세서(422) 및 저-전력 무선 회로부(424)를 포함한다. 아이웨어 디바이스(100)의 저-전력 무선 회로부(424) 및 고속 무선 회로부(436)는 단거리 트랜시버들(Bluetooth™ 또는 BLE(Bluetooth Low-Energy)) 및 무선 와이드, 근거리 또는 광역 네트워크 트랜시버들(예컨대, 셀룰러 또는 Wi-Fi)을 포함할 수 있다. 저-전력 무선 연결부(425) 및 고속 무선 연결부(437)를 통해 통신하는 트랜시버들을 포함하는 모바일 디바이스(401)는 네트워크(495)의 다른 엘리먼트들과 마찬가지로 아이웨어 디바이스(100)의 아키텍처의 세부사항들을 사용하여 구현될 수 있다.
[0071] 메모리(434)는 무엇보다도 좌측 및 우측 가시광 카메라들(114A, 114B), 적외선 카메라(들)(410), 이미지 프로세서(412)에 의해 생성된 카메라 데이터 및 각각의 광학 조립체(180A, 180B)의 이미지 디스플레이들 상에서 이미지 디스플레이 드라이버(442)에 의한 디스플레이를 위해 생성된 이미지들을 포함하는 다양한 데이터 및 애플리케이션들을 저장할 수 있는 임의의 저장 디바이스를 포함한다. 메모리(434)가 고속 회로부(430)와 통합된 것으로 도시되었지만, 다른 예들에서, 메모리(434)는 아이웨어 디바이스(100)의 독립적인 스탠드얼론 엘리먼트일 수 있다. 이러한 특정 예들에서, 전기 라우팅 라인들은 고속 프로세서(432)를 포함하는 칩을 통해 이미지 프로세서(412) 또는 저전력 프로세서(422)로부터 메모리(434)로의 연결을 제공할 수 있다. 다른 예들에서, 고속 프로세서(432)는 메모리(434)를 수반하는 판독 또는 기록 동작이 필요할 때마다 저전력 프로세서(422)가 고속 프로세서(432)를 부팅하도록 메모리(434)의 어드레싱을 관리할 수 있다.
[0072] 도 4에 도시된 바와 같이, 아이웨어 디바이스(100)의 고속 프로세서(432)는 카메라 시스템(가시광 카메라들(114A, 114B)), 이미지 디스플레이 드라이버(442), 사용자 입력 디바이스(491) 및 메모리(434)에 커플링될 수 있다. 도 5에 도시된 바와 같이, 모바일 디바이스(401)의 CPU(530)는 카메라 시스템(570), 모바일 디스플레이 드라이버(582), 사용자 입력 층(591) 및 메모리(540A)에 커플링될 수 있다.
[0073] 서버 시스템(498)은 예컨대 프로세서, 메모리, 및 네트워크(495)를 통해 아이웨어 디바이스(100) 및 모바일 디바이스(401)와 통신하기 위한 네트워크 통신 인터페이스를 포함하는 서비스 또는 네트워크 컴퓨팅 시스템의 일부로서 하나 이상의 컴퓨팅 디바이스들일 수 있다.
[0074] 아이웨어 디바이스(100)의 출력 컴포넌트들은 도 2a 및 도 2b에 설명된 바와 같은 각각의 렌즈 또는 광학 조립체(180A, 180B)와 연관된 좌측 및 우측 이미지 디스플레이들(예컨대, LCD(liquid crystal display), PDP(plasma display panel), LED(light emitting diode) 디스플레이, 프로젝터 또는 도파관과 같은 디스플레이)과 같은 시각적 엘리먼트들을 포함한다. 아이웨어 디바이스(100)는 사용자-대면 표시기(예컨대, LED, 라우드스피커 또는 진동 액추에이터) 또는 외향 신호(예컨대, LED, 라우드스피커)를 포함할 수 있다. 각각의 광학 조립체(180A, 180B)의 이미지 디스플레이들은 이미지 디스플레이 드라이버(442)에 의해 구동된다. 일부 예시적인 구성들에서, 아이웨어 디바이스(100)의 출력 컴포넌트들은 추가 표시기들, 이를테면 가청 엘리먼트들(예컨대, 라우드스피커들), 촉각 컴포넌트들(예컨대, 햅틱 피드백을 생성하기 위한 진동 모터와 같은 액추에이터) 및 다른 신호 생성기들을 더 포함한다. 예컨대, 디바이스(100)는 사용자-대면 세트의 표시기들 및 외향 세트의 신호들을 포함할 수 있다. 사용자-대면 세트의 표시기들은 디바이스(100)의 사용자가 보거나 그렇지 않으면 감지하도록 구성된다. 예컨대, 디바이스(100)는 사용자가 볼 수 있도록 포지셔닝된 LED 디스플레이, 사용자가 들을 수 있는 사운드를 생성하도록 포지셔닝된 하나 이상의 스피커들, 또는 사용자가 느낄 수 있는 햅틱 피드백을 제공하기 위한 액추에이터를 포함할 수 있다. 외향 세트의 신호들은 디바이스(100) 근처의 관찰자가 보거나 또는 그렇지 않으면 감지하도록 구성된다. 유사하게, 디바이스(100)는 관찰자에 의해 감지하도록 구성되고 포지셔닝된 LED, 라우드스피커 또는 액추에이터를 포함할 수 있다.
[0075] 아이웨어 디바이스(100)의 입력 컴포넌트들은 알파뉴메릭 입력 컴포넌트들 (예컨대, 알파뉴메릭 입력을 수신하도록 구성된 터치 스크린 또는 터치패드, 포토-광학 키보드, 또는 다른 알파뉴메릭-구성 엘리먼트들), 포인터-기반 입력 컴포넌트들(예컨대, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서 또는 다른 포인팅 기구들), 촉각 입력 컴포넌트들(예컨대, 터치들 또는 터치 제스처들의 로케이션, 힘 또는 로케이션 및 힘을 감지하는 버튼 스위치, 터치 스크린 또는 터치패드 또는 다른 촉각-구성 엘리먼트들), 및 오디오 입력 컴포넌트들(예컨대, 마이크로폰) 등을 포함할 수 있다. 모바일 디바이스(401) 및 서버 시스템(498)은 알파뉴메릭, 포인터-기반, 촉각, 오디오 및 다른 입력 컴포넌트들을 포함할 수 있다.
[0076] 일부 예들에서, 아이웨어 디바이스(100)는 관성 측정 유닛(472)으로 지칭되는 모션-감지 컴포넌트들의 집합을 포함한다. 모션-감지 컴포넌트들은 종종 마이크로칩의 일부가 될 정도로 충분히 작은 마이크로스코픽 이동 부분들을 갖는 MEMS(micro-electro-mechanical system)들일 수 있다. 일부 예시적인 구성들의 관성 측정 유닛(IMU)(472)은 가속도계, 자이로스코프 및 자력계를 포함한다. 가속도계는 3개의 직교 축들(x, y, z)에 대한 디바이스(100)의 선형 가속도(중력으로 인한 가속도를 포함함)를 감지한다. 자이로스코프는 3개의 회전축들(피치, 롤, 요)에 대한 디바이스(100)의 각속도를 감지한다. 동시에, 가속도계 및 자이로스코프는 6개 축들(x, y, z, 피치, 롤, 요)에 대한 디바이스에 대한 포지션, 배향 및 모션 데이터를 제공할 수 있다. 존재하는 경우 자력계는 자북에 대한 디바이스(100)의 헤딩을 감지한다. 디바이스(100)의 포지션은 로케이션 센서들, 이를테면 GPS 유닛(473), 상대적인 포지션 좌표들을 생성하기 위한 하나 이상의 트랜시버들, 고도 센서들 또는 기압계들, 및 다른 배향 센서들에 의해 결정될 수 있다. 이러한 포지셔닝 시스템 좌표들은 또한 저-전력 무선 회로부(424) 또는 고속 무선 회로부(436)를 통해 모바일 디바이스(401)로부터 무선 연결부들(425, 437)을 통해 수신될 수 있다.
[0077] IMU(472)는 컴포넌트들로부터의 원시 데이터를 수집하는 디지털 모션 프로세서 또는 프로그래밍을 포함하거나 또는 이와 협력할 수 있으며, 디바이스(100)의 포지션, 배향 및 모션에 대한 다수의 유용한 값들을 계산할 수 있다. 예컨대, 가속도계로부터 수집된 가속도 데이터는 각각의 축(x, y, z)에 대한 속도를 획득하도록 통합될 수 있으며; (선형 좌표들 (x, y, 및 z)에서) 디바이스(100)의 포지션을 획득하기 위해 다시 통합될 수 있다. (구형 좌표들로부터) 디바이스(100)의 포지션을 획득하기 위해 자이로스코프로부터의 각속도 데이터가 통합될 수 있다. 이들 유용한 값들을 계산하기 위한 프로그래밍은 메모리(434)에 저장될 수 있고, 아이웨어 디바이스(100)의 고속 프로세서(432)에 의해 실행될 수 있다.
[0078] 아이웨어 디바이스(100)는 추가 주변 센서들, 이를테면 생체 센서들, 특수 센서들, 또는 아이웨어 디바이스(100)와 통합된 디스플레이 엘리먼트들을 선택적으로 포함할 수 있다. 예컨대, 주변 디바이스 엘리먼트들은 출력 컴포넌트들, 모션 컴포넌트들, 포지션 컴포넌트들 또는 본원에 설명된 임의의 다른 이러한 엘리먼트들을 포함하는 임의의 I/O 컴포넌트들을 포함할 수 있다. 예컨대, 생체 센서들은 표현들(예컨대, 손 표현들, 얼굴 표현들, 음성 표현들, 신체 제스처들 또는 눈 추적)을 검출하는 것, 생체신호들 (예컨대, 혈압, 심박수, 체온, 땀 또는 뇌파)을 측정하는 것, 또는 사람을 식별(예컨대, 음성, 망막, 얼굴 특징들, 지문들 또는 전기 생체 신호들, 이를테면 뇌전도 데이터에 기반한 식별)하는 것 등을 수행하기 위한 컴포넌트들을 포함할 수 있다.
[0079] 모바일 디바이스(401)는 스마트폰, 태블릿, 랩톱 컴퓨터, 액세스 포인트, 또는 저전력 무선 연결부(425) 및 고속 무선 연결부(437) 둘 모두를 사용하여 아이웨어 디바이스(100)와 연결할 수 있는 임의의 다른 그러한 디바이스일 수 있다. 모바일 디바이스(401)는 서버 시스템(498) 및 네트워크(495)에 연결된다. 네트워크(495)는 유선 및 무선 연결들의 임의의 조합을 포함할 수 있다.
[0080] 도 4에 도시된 바와 같은 가상 엘리먼트 제어 시스템(400)은 네트워크를 통해 아이웨어 디바이스(100)에 커플링된 모바일 디바이스(401)와 같은 컴퓨팅 디바이스를 포함한다. 가상 엘리먼트 제어 시스템(400)은 명령들을 저장하기 위한 메모리 및 명령들을 실행하기 위한 프로세서를 포함한다. 프로세서(432)에 의한 가상 엘리먼트 제어 시스템(400)의 명령들의 실행은 모바일 디바이스(401)와 협력하도록 아이웨어 디바이스(100)를 구성한다. 가상 엘리먼트 제어 시스템(400)은 아이웨어 디바이스(100)의 메모리(434) 또는 모바일 디바이스(401)의 메모리 엘리먼트들(540A, 540B, 540C)(도 5)을 활용할 수 있다. 또한, 가상 엘리먼트 제어 시스템(400)은 아이웨어 디바이스(100)의 프로세서 엘리먼트들(432, 422) 또는 모바일 디바이스(401)의 CPU(central processing unit)(530)(도 5)를 활용할 수 있다. 더욱이, 가상 엘리먼트 제어 시스템(400)은 서버 시스템(498)의 메모리 및 프로세서 엘리먼트들을 추가로 활용할 수 있다. 이러한 양상에서, 가상 엘리먼트 제어 시스템(400)의 메모리 및 프로세싱 기능들은 아이웨어 디바이스(100), 모바일 디바이스(401) 및 서버 시스템(498)의 프로세서들 및 메모리들에 걸쳐 공유되거나 또는 분산될 수 있다.
[0081] 메모리(434)는 일부 예시적인 구현들에서 손 제스처 라이브러리(480)를 포함하거나 또는 이에 커플링된다. 손 제스처 라이브러리(480)는 손이 다양한 포지션들 및 배향들에 있는 경우에 많은 수의 포즈들 및 제스처들을 포함한다. 저장된 포즈들 및 제스처들은 이미지에서 검출된 손 모양과 용이하게 비교하기에 적합하다. 라이브러리(480)는 손목에서 손가락 끝까지 많은 수의 랜드마크들에 대한 3차원 좌표들을 포함한다. 예컨대, 라이브러리(480)에 저장된 손 제스처 레코드는, 손목, 15개의 지절간 관절들, 5개의 손가락 끝들 또는 다른 골격 또는 연조직 랜드마크들에 대한 3차원 좌표들과 함께, 손 제스처 식별자(예컨대, 손가락질 하기, L자-모양을 만드는 엄지손가락과 손가락, 주먹 쥐기, 손바닥 펴기, 손의 힘 빼기, 객체 잡기, 꼬집기, 벌리기), 시점 또는 지향성 기준(예컨대, 손바닥 쪽, 등쪽, 옆쪽 보이기), 및 배향에 대한 다른 정보를 포함할 수 있다. 일부 구현들에서, 손 모양을 검출하는 프로세스는 양호한 매칭이 발견될 때까지 라이브러리(480)에 저장된 손 제스처들과 비디오 데이터의 하나 이상의 캡처된 프레임들의 픽셀-레벨 데이터를 비교하는 것을 수반한다.
[0082] 일부 예시적인 구현들에서, 메모리(434)는 객체 제어 애플리케이션(910), 로컬리제이션 시스템(915) 및 이미지 프로세싱 시스템(920)을 추가로 포함한다. 카메라가 비디오 데이터(900)의 프레임들을 캡처하고 있는 가상 엘리먼트 제어 시스템(400)에서, 객체 제어 애플리케이션(910)은 하나 이상의 손 모양들 또는 제스처들을 검출하는 것에 응답하여 디스플레이 상의 가상 엘리먼트(700)의 움직임을 제어하도록 프로세서(432)를 구성한다. 로컬리제이션 시스템(915)은 물리적 환경에 대한 아이웨어 디바이스(100)의 포지션을 결정할 때 사용하기 위한 로컬리제이션 데이터를 획득하도록 프로세서(432)를 구성한다. 로컬리제이션 데이터는 일련의 이미지들, IMU 유닛(472), GPS 유닛(473) 또는 이들의 조합으로부터 유도될 수 있다. 이미지 프로세싱 시스템(920)은 이미지 디스플레이 드라이버(442) 및 이미지 프로세서(412)와 협력하여 광학 조립체(180A, 180B)의 디스플레이 상에 캡처된 스틸 이미지를 제시하도록 프로세서(432)를 구성한다.
[0083] 도 5는 예시적인 모바일 디바이스(401)의 하이-레벨 기능 블록도이다. 모바일 디바이스(401)는 본원에 설명된 기능들의 전부 또는 서브세트를 수행하기 위해 CPU(530)에 의해 실행될 프로그래밍을 저장하는 플래시 메모리(540A)를 포함한다.
[0084] 모바일 디바이스(401)는 적어도 2개의 가시광 카메라들(중첩하는 시야들을 갖는 제1 및 제2 가시광 카메라들) 또는 실질적으로 중첩하는 시야들을 갖는 적어도 하나의 가시광 카메라 및 깊이 센서를 포함하는 카메라(570)를 포함할 수 있다. 플래시 메모리(540A)는 카메라(570)를 통해 생성되는 다수의 이미지들 또는 비디오를 더 포함할 수 있다.
[0085] 도시된 바와 같이, 모바일 디바이스(401)는 이미지 디스플레이(580), 이미지 디스플레이(580)를 제어하기 위한 모바일 디스플레이 드라이버(582), 및 디스플레이 제어기(584)를 포함한다. 도 5의 예에서, 이미지 디스플레이(580)는 이미지 디스플레이(580)에 의해 사용되는 스크린 최상부에 계층화되거나 또는 그렇지 않으면 스크린에 통합되는 사용자 입력 층(591)(예컨대, 터치스크린)을 포함한다.
[0086] 사용될 수 있는 터치스크린-타입의 모바일 디바이스들의 예들은 스마트 폰, PDA(personal digital assistant), 태블릿 컴퓨터, 랩톱 컴퓨터 또는 다른 휴대용 디바이스를 포함한다 (그러나, 이에 제한되지는 않음). 그러나, 터치스크린-타입 디바이스들의 구조 및 동작은 예로서 제공되며; 본원에 설명된 청구대상 기술은 이에 제한되는 것으로 의도되지 않는다. 따라서, 이러한 논의의 목적들을 위해, 도 5는 (터치, 멀티-터치 또는 제스처 등에 의한, 손에 의한, 스타일러스 또는 다른 도구에 의한) 입력을 수신하기 위한 터치스크린 입력 층(891) 및 콘텐츠를 디스플레이하기 위한 이미지 디스플레이(580)를 포함하는 사용자 인터페이스를 갖는 예시적인 모바일 디바이스(401)의 블록도 예시를 제공한다.
[0087] 도 5에 도시된 바와 같이, 모바일 디바이스(401)는 광역 무선 모바일 통신 네트워크를 통한 디지털 무선 통신들을 위해 WWAN 디지털 트랜시버(XCVR)들로서 도시된 적어도 하나의 디지털 트랜시버(XCVR)(510)를 포함한다. 모바일 디바이스(401)는 또한 이를테면 NFC, VLC, DECT, ZigBee, Bluetooth™ 또는 Wi-Fi를 통해 단거리 네트워크 통신을 위한 단거리 트랜시버(XCVR)(520)들과 같은 추가 디지털 또는 아날로그 트랜시버들을 포함한다. 예컨대, 단거리 XCVR들(520)은 IEEE 802.11 하의 Wi-Fi 표준들 중 하나와 같은 무선 로컬 영역 네트워크들에서 구현되는 하나 이상의 표준 통신 프로토콜들과 호환 가능한 타입의 임의의 이용 가능한 양방향 WLAN(wireless local area network) 트랜시버의 형태를 취할 수 있다.
[0088] 모바일 디바이스(401)의 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해, 모바일 디바이스(401)는 GPS(global positioning system) 수신기를 포함할 수 있다. 대안적으로 또는 추가적으로 모바일 디바이스(401)는 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해 근거리 XCVR들(520) 및 WWAN XCVR들(510) 중 하나 또는 둘 모두를 활용할 수 있다. 예컨대, 셀룰러 네트워크, Wi-Fi 또는 Bluetooth™ 기반 포지셔닝 시스템들은 특히 조합하여 사용될 때 매우 정확한 로케이션 좌표들을 생성할 수 있다. 이러한 로케이션 좌표들은 XCVR들(510, 520)을 사용하여 하나 이상의 네트워크 연결부들을 통해 아이웨어 디바이스에 송신될 수 있다.
[0089] 일부 예들에서, 클라이언트 디바이스(401)는 클라이언트 디바이스(401)의 포지션, 배향 및 움직임을 감지하기 위해 IMU(inertial measurement unit)(572)로서 지칭되는 모션-감지 컴포넌트들의 집합을 포함한다. 모션-감지 컴포넌트들은 종종 마이크로칩의 일부가 될 정도로 충분히 작은 마이크로스코픽 이동 부분들을 갖는 MEMS(micro-electro-mechanical system)들일 수 있다. 일부 예시적인 구성들의 관성 측정 유닛(IMU)(572)은 가속도계, 자이로스코프 및 자력계를 포함한다. 가속도계는 3개의 직교 축들(x, y, z)에 대한 클라이언트 디바이스(401)의 선형 가속도(중력으로 인한 가속도를 포함함)를 감지한다. 자이로스코프는 3개의 회전축들(피치, 롤, 요)에 대한 클라이언트 디바이스(401)의 각속도를 감지한다. 동시에, 가속도계 및 자이로스코프는 6개 축들(x, y, z, 피치, 롤, 요)에 대한 디바이스에 대한 포지션, 배향 및 모션 데이터를 제공할 수 있다. 존재하는 경우 자력계는 자북에 대한 클라이언트 디바이스(401)의 헤딩을 감지한다.
[0090] IMU(572)는 컴포넌트들로부터의 원시 데이터를 수집하는 디지털 모션 프로세서 또는 프로그래밍을 포함하거나 또는 이와 상호 작용할 수 있으며, 클라이언트 디바이스(401)의 포지션, 배향 및 모션에 대한 다수의 유용한 값들을 계산할 수 있다. 예컨대, 가속도계로부터 수집된 가속도 데이터는 각각의 축(x, y, z)에 대한 속도를 획득하도록 통합될 수 있으며; (선형 좌표들 (x, y, 및 z)에서) 클라이언트 디바이스(401)의 포지션을 획득하기 위해 다시 통합될 수 있다. 자이로스코프로부터의 각속도 데이터는 클라이언트 디바이스(401)의 (구형 좌표들의)포지션을 획득하기 위해 통합될 수 있다. 이러한 유용한 값들을 계산하기 위한 프로그래밍은 하나 이상의 메모리 엘리먼트들(540A, 540B, 540C)에 저장되고, 클라이언트 디바이스(401)의 CPU(540)에 의해 실행될 수 있다.
[0091] 트랜시버들(510, 520)(즉, 네트워크 통신 인터페이스)은 현대식 모바일 네트워크들에 의해 활용되는 다양한 디지털 무선 통신 표준들 중 하나 이상을 준수한다. WWAN 트랜시버들(510)의 예들은, 예컨대 제한없이 3GPP(3rd Generation Partnership Project) 타입 2(또는 3GPP2) 및 때때로 “4G”로 지칭되는 LTE를 포함하는 3GPP 네트워크 기술들 및 CDMA(Code Division Multiple Access)에 따라 동작하도록 구성된 트랜시버들을 포함한다(그러나 이에 제한되지 않음). 예컨대, 트랜시버들(510, 520)은 디지털화된 오디오 신호들, 스틸 이미지들 및 비디오 신호들, 디스플레이를 위한 웹 페이지 정보뿐만 아니라 웹 관련 입력들, 및 모바일 디바이스(401)로/로부터의 다양한 타입들의 모바일 메시지 통신들을 포함하는 정보의 양방향 무선 통신을 제공한다.
[0092] 모바일 디바이스(401)는 도 4의 CPU(530)로서 도시된 CPU(central processing unit)로서 기능하는 마이크로프로세서를 더 포함한다. 프로세서는 하나 이상의 프로세싱 기능들, 즉, 통상적으로 다양한 데이터 프로세싱 기능들을 수행하도록 구조화되고 배열된 엘리먼트들을 갖는 회로이다. 개별 로직 컴포넌트들이 사용될 수 있지만, 예들은 프로그램 가능 CPU를 형성하는 컴포넌트들을 활용한다. 예컨대, 마이크로프로세서는 CPU의 기능들을 수행하기 위해 전자 엘리먼트들을 통합하는 하나 이상의 IC(integrated circuit) 칩들을 포함한다. 예컨대, CPU(530)는 오늘날 모바일 디바이스들 및 다른 휴대용 전자 디바이스들에서 통상적으로 사용되는 바와 같이 ARM 아키텍처를 사용하여 RISC(Reduced Instruction Set Computing)와 같은 임의의 공지된 또는 이용 가능한 마이크로프로세서 아키텍처에 기반할 수 있다. 물론, 스마트폰, 랩톱 컴퓨터 및 태블릿에서 CPU(530) 또는 프로세서 하드웨어를 형성하기 위해 프로세서 회로부의 다른 배열들이 사용될 수 있다.
[0093] CPU(530)는 예컨대 CPU(530)에 의해 실행 가능한 프로그래밍 또는 명령들에 따라, 다양한 동작들을 수행하도록 모바일 디바이스(401)를 구성함으로써 모바일 디바이스(401)에 대한 프로그램 가능 호스트 제어기로서 역할을 한다. 예컨대, 이러한 동작들은 모바일 디바이스의 다양한 일반적인 동작들뿐만 아니라 모바일 디바이스 상의 애플리케이션들에 대한 프로그래밍과 관련된 동작들을 포함할 수 있다. 프로세서는 하드와이어드 로직을 사용하여 구성될 수 있지만, 모바일 디바이스들의 통상적인 프로세서들은 프로그래밍의 실행에 의해 구성된 일반적인 프로세싱 회로들이다.
[0094] 모바일 디바이스(401)는 프로그래밍 및 데이터를 저장하기 위한 메모리 또는 저장 시스템을 포함한다. 예에서, 메모리 시스템은 필요에 따라 플래시 메모리(540A), RAM(random access memory)(540B) 및 다른 메모리 컴포넌트들(540C)을 포함할 수 있다. RAM(540B)은 예컨대, 작동 데이터 프로세싱 메모리로서 CPU(530)에 의해 처리되는 명령들 및 데이터를 위한 단기 저장부로서 역할을 한다. 플래시 메모리(540A)는 전형적으로 장기 저장부를 제공한다.
[0095] 따라서, 모바일 디바이스(401)의 예에서, 플래시 메모리(540A)는 CPU(530)에 의한 실행을 위한 프로그래밍 또는 명령들을 저장하기 위해 사용된다. 디바이스의 타입에 따라, 모바일 디바이스(401)는 특정 애플리케이션들이 실행되게 하는 모바일 오퍼레이팅 시스템을 저장 및 실행한다. 모바일 오퍼레이팅 시스템들의 예들은 Google Android, (I-Phone 또는 iPad 디바이스들에 대한) Apple iOS, Windows Mobile, Amazon Fire OS, RIM BlackBerry OS 등을 포함한다.
[0096] 아이웨어 디바이스(100) 내의 프로세서(432)는 아이웨어 디바이스(100)를 둘러싼 환경의 지도를 구성하고, 매핑된 환경 내에서 아이웨어 디바이스의 로케이션을 결정하며, 그리고 매핑된 환경에서 하나 이상의 객체들에 대한 아이웨어 디바이스의 상대적 포지션을 결정할 수 있다. 프로세서(432)는 하나 이상의 센서들로부터 수신된 데이터에 적용된 SLAM(simultaneous localization and mapping) 알고리즘을 사용하여 지도를 구성하고 로케이션 및 포지션 정보를 결정할 수 있다. 센서 데이터는 카메라들(114A, 114B) 중 하나 또는 둘 모두로부터 수신된 이미지들, 레이저 거리 측정기로부터 수신된 거리(들), GPS 유닛(473)으로부터 수신된 포지션 정보, IMU(572)로부터 수신된 모션 및 가속도 데이터, 또는 이러한 센서들로부터의 데이터 또는 포지션 정보를 결정할 때 유용한 데이터를 제공하는 다른 센서들로부터의 데이터의 조합을 포함한다. 증강 현실의 맥락에서, SLAM 알고리즘은 환경의 지도를 구성 및 업데이트하는 동시에 매핑된 환경 내에서 디바이스(또는 사용자)의 로케이션을 추적하고 업데이트하는 데 사용된다. 수학적 솔루션은 입자 필터들, 칼만 필터들, 확장 칼만 필터들 및 공분산 교차점(covariance intersection)과 같은 다양한 통계 방법들을 사용하여 근사화될 수 있다. 높은 프레임 레이트(예컨대, 초당 30개의 프레임들)로 비디오를 캡처하는 HD(high-definition) 비디오 카메라를 포함하는 시스템에서, SLAM 알고리즘은 적어도 프레임 레이트 만큼 자주 객체들의 지도 및 로케이션을 업데이트하며, 즉 매핑 및 로컬리제이션을 초당 30번 계산하고 업데이트한다.
[0097] 센서 데이터는 카메라들(114A, 114B) 중 하나 또는 둘 모두로부터 수신된 이미지들, 레이저 거리 탐지기로부터 수신된 거리(들), GPS 유닛(473)으로부터 수신된 포지션 정보, IMU(472)로부터 수신된 모션 및 가속도 데이터, 또는 이러한 센서들로부터 또는 포지션 정보를 결정하는 데 유용한 데이터를 제공하는 다른 센서들로부터의 데이터의 조합을 포함한다.
[0098] 도 6은 SLAM 애플리케이션 및 다른 타입들의 추적 애플리케이션들(예컨대, NFT(natural feature tracking))을 사용할 때 유용한 엘리먼트들과 함께 예시적인 물리적 환경(600)을 묘사한다. 아이웨어 디바이스(100)의 사용자(602)는 (도 6에서는 내부 방인) 예시적인 물리적 환경(600)에 존재한다. 아이웨어 디바이스(100)의 프로세서(432)는 캡처된 이미지들을 사용하여 환경(600) 내의 하나 이상의 객체들(604)에 대한 자신의 포지션을 결정하고, 환경(600)에 대한 좌표 시스템(x, y, z)을 사용하여 환경(600)의 지도를 구성하며, 좌표 시스템 내에서 자신의 포지션을 결정한다. 부가적으로, 프로세서(432)는 단일 객체(604a)와 연관된 2개 이상의 로케이션 포인트들(예컨대, 3개의 로케이션 포인트들(606a, 606b, 및 606c))을 사용함으로써 또는 2개 이상의 객체들(604a, 604b, 604c)과 연관된 하나 이상의 로케이션 포인트들(606)을 사용함으로써 환경 내에서 아이웨어 디바이스(100)의 헤드 포즈(롤, 피치 및 요)를 결정한다. 아이웨어 디바이스(100)의 프로세서(432)는 증강 현실 경험 동안 보기를 위해 환경(600) 내에 (도 6에 도시된 키와 같은) 가상 객체(608)를 포지셔닝할 수 있다.
[0099] 로컬리제이션 시스템(915)의 일부 예들에서, 가상 마커(610a)는 환경(600)의 가상 객체(608)와 연관된다. 증강 현실에서, 마커들은 매핑된 환경에서 사용자들, 디바이스들 및 객체들(가상 및 물리적 객체들)의 로케이션을 추적하고 업데이트하는 작업으로 디바이스들을 보조하기 위해 환경의 로케이션들에 등록된다. 마커들은 때때로 마커를 검출하는 작업으로 카메라들 및 다른 센서들을 보조하기 위해 밝은 색상의 벽에 장착된 액자용 그림(604a)과 같은 상대적으로 어두운 객체와 같은 높은 콘트라스트 물리 객체에 등록된다. 마커들은 미리 할당될 수 있거나, 또는 환경에 진입할 때 아이웨어 디바이스(100)에 의해 할당될 수 있다.
[0100] 마커들은 정보로 인코딩되거나 또는 그렇지 않으면 정보에 링크될 수 있다. 마커는 포지션 정보, 물리적 코드(이를테면, 바코드 또는 QR 코드; 사용자에게 보이거나 또는 숨겨짐) 또는 이들의 조합을 포함할 수 있다. 마커와 연관된 데이터의 세트는 아이웨어 디바이스(100)의 메모리(434)에 저장된다. 데이터의 세트는 마커(610a), 마커의 포지션(로케이션 및 배향), 하나 이상의 가상 객체들 또는 이들의 조합에 대한 정보를 포함한다. 마커 포지션은 도 6에 도시된 대체로 직사각형인 마커(610a)의 코너와 같은 하나 이상의 마커 랜드마크들(616a)에 대한 3차원 좌표들을 포함할 수 있다. 마커 로케이션은 실세계 지리적 좌표들, 마커 좌표들의 시스템, 아이웨어 디바이스(100)의 포지션, 또는 다른 좌표 시스템에 대해 표현될 수 있다. 마커(610a)와 연관된 하나 이상의 가상 객체들은 스틸 이미지들, 비디오, 오디오, 촉각 피드백, 실행 가능 애플리케이션들, 인터랙티브 사용자 인터페이스들 및 경험들, 및 이러한 자료의 조합들 또는 시퀀스들을 포함하는 다양한 자료 중 임의의 자료를 포함할 수 있다. 메모리에 저장될 수 있고 마커(610a)가 할당된 마커와 마주치거나 연관될 때 리트리브될 수 있는 임의의 타입의 콘텐츠는 이러한 맥락에서 가상 객체로서 분류될 수 있다. 도 6에 도시된 키(608)는 예컨대 마커 로케이션에서 2D 또는 3D인 스틸 이미지로서 디스플레이된 가상 객체이다.
[0101] 일례에서, 마커(610a)는 물리적 객체(604a)(예컨대, 도 6에 도시된 액자 미술작품) 근처에 로케이팅되고 이와 연관된 것으로 메모리에 등록될 수 있다. 다른 예에서, 마커는 아이웨어 디바이스(100)에 대한 특정 포지션인 것으로 메모리에 등록될 수 있다.
[0102] 도 13은 아이웨어 디바이스(100)의 디스플레이(180) 상에 제시된 가상 엘리먼트(700)를 제어하는 예시적인 방법을 묘사하는 흐름도(1300)이다. 단계들이 본원에서 설명된 아이웨어 디바이스(100)를 참조하여 설명되지만, 다른 타입들의 디바이스들에 대해 설명된 단계들의 다른 구현들이 당업자에 의해 본원의 설명으로부터 이해될 것이다. 도시되고 설명된 단계들 중 하나 이상이 동시에, 직렬로, 도시되고 설명된 것과 다른 순서로 또는 추가 단계들과 함께 수행될 수 있다. 일부 단계들은 생략되거나, 또는 일부 애플리케이션들에서 반복될 수 있다.
[0103] 블록(1302)에서, 가상 엘리먼트(700)는 아이웨어 디바이스(100)의 디스플레이(180) 상에 제시된다. 아이웨어 디바이스(100)는 스틸 이미지들 또는 비디오를 캡처하기 위한 하나 이상의 카메라들(114A, 114B)을 포함하는 카메라 시스템(114) 및 이미지 프로세싱 시스템(920)을 포함한다. 프로세서(432)는 이미지 프로세서(412) 및 이미지 디스플레이 드라이버(442)를 사용하여 이미지 디스플레이들(180A, 180B) 중 하나 또는 둘 모두 상에서 사용자에게 가상 엘리먼트(700)를 제시한다.
[0104] 본원에서 사용되는 바와같이, 가상 엘리먼트(700)는 VR 경험들과 연관된 가상 객체들, 그래픽 엘리먼트들, 이를테면 아이콘들, 썸네일들, 태스크바들, 및 메뉴 아이템들, 및 선택 제어 엘리먼트들, 이를테면 커서들, 포인터들, 버튼들, 핸들들, 및 슬라이더들을 포함하는 (그러나, 이에 제한되지 않음), 디스플레이 상에 제시된 임의의 그래픽 엘리먼트를 의미하며 이들을 포함하며; 이들 중 임의의 것은 GUI(graphical user interface)와 연관되거나 또는 연관되지 않을 수 있다. 가상 엘리먼트(700)는 도 7에 도시된 바와 같이 인터랙티브 그래픽 엘리먼트(710) 및 하나 이상의 2차 그래픽 엘리먼트들(740)을 포함할 수 있다. 가상 엘리먼트(700)는 도 8에 도시된 게임 피스(755)와 같은 가상 객체 또는 그래픽 아이콘을 포함할 수 있다.
[0105] 도 7은 예시적인 디스플레이(180B) 상의 인터랙티브 가상 및 그래픽 엘리먼트들을 제어하는 예시적인 손 제스처의 사시도이다. 이러한 예에서, 아이웨어 디바이스는 반-투명 이미지 디스플레이(180B)를 포함하며, 반-투명 이미지 디스플레이(180B)는, 본원에서 설명된 바와같이, 아이웨어 디바이스의 렌즈 상에 이미지들을 제시하도록 구성된 디스플레이 매트릭스 층 및 반-투명 렌즈 층을 포함할 수 있다. 가상 엘리먼트(700)는 물리적 환경(600) 대한 오버레이로서 제시된다. 도시된 바와 같이, 그 효과는 주변 환경(600)이 또한 디스플레이(180B)를 통해 가시적으로 유지되는 동안 뷰어가 가상 엘리먼트(700)를 보고 이와 상호 작용할 수 있게 한다. 이러한 예에서, 가상 엘리먼트(700)는 물리적 환경(600)에 앵커링되는 것과 반대로 디스플레이(180B) 상의 지속적인 로케이션에 나타난다.
[0106] 이러한 예에서, 가상 엘리먼트(700)는 디스플레이(180B) 상에 제시되는 인터랙티브 그래픽 엘리먼트(710) 및 하나 이상의 2차 그래픽 엘리먼트들(740)를 포함한다. 인터랙티브 그래픽 엘리먼트(710)는 뷰포트(714)의 슬라이더(712)를 포함한다. 2차 그래픽 엘리먼트들(740)은 다양한 크기들로 제시된 복수의 메뉴 아이템들을 포함한다. 슬라이더(712)와 상관된 엘리먼트는 메뉴 아이템 하이라이트(item highlight)(745)를 포함하며, 이는 제안된 선택 또는 후보 선택 주위 또는 그 근처에 그리고 최종 선택이 이루어질 때 제시될 수 있다.
[0107] 2차 그래픽 엘리먼트들(740)은 도시된 바와 같이 인터랙티브 그래픽 엘리먼트(710)에 대응하는 크기 및 모양으로 제시될 수 있다. 대안적으로, 2차 그래픽 엘리먼트들(740)은 2차 그래픽 엘리먼트들(740)의 배열이 슬라이더(712)의 로케이션과 상관되는 한, 다른 곳에서 상이한 크기 및 모양으로 제시될 수 있다.
[0108] 슬라이더(712)의 로케이션은 본원에서 설명된 방법들에 따라 도시된 바와 같이 손(650)에 대한 현재 엄지손가락 포지션(621)과 상관된다. 손(650) 및 손 모양들은 반투명 디스플레이(180B)를 통해 보여지고 카메라 시스템(114)에 의해 캡처되는, 물리적 환경(600)의 상이한 엘리먼트들로부터 검출되어 구별된다. 물론, 물리적 환경(600)은 도시된 단순한 방보다 훨씬 더 복잡할 수 있다. 카메라 시스템(114)은 전형적으로 디스플레이(180B)의 제한들을 넘는 이미지들 및 비디오를 캡처하는 카메라 시야(904)를 갖는다. 이러한 양상에서, 이미지 프로세싱 시스템(920)은 디스플레이(180B)를 통해 시야 외부에 로케이팅될 수 있지만 카메라 시야(904) 내에 로케이팅될 수 있는 손 모양들을 검출한다.
[0109] 도 8은 디스플레이 상의 인터랙티브 가상 및 그래픽 엘리먼트들을 제어하는 다른 예시적인 손 제스처의 사시도이다. 이러한 예에서, 가상 엘리먼트(700)는 필드오브플레이(field of play)(750) 상에 제시되는 게임 피스(755)를 포함한다. 이러한 예에서, 현재 엄지손가락 포지션(621)은 게임 피스(755)에 연결되어, 엄지손가락 포지션이 이동함에 따라 게임 피스(755)가 실시간으로 이동한다. 도 8에 도시된 예는 필드오브플레이(750) 상의 게임 피스(755)와 함께 인터랙티브 그래픽 엘리먼트(710)를 포함할 수 있다(또는 포함하지 않을 수 있다).
[0110] 블록(1304)은 카메라 시스템(114)으로 비디오 데이터(900)의 프레임들을 캡처하는 예시적인 단계를 설명한다. 일부 구현들에서, 아이웨어 디바이스(100)의 고속 프로세서(432)는 착용자가 물리적 환경(600)을 통해 이동할 때 카메라 시스템(114)과 함께 캡처된 비디오 데이터(900)의 프레임들을 저장한다. 앞서 설명된 바와 같이, 카메라 시스템(114)은 전형적으로 디스플레이(180B)의 제한들을 넘는 이미지들 및 비디오를 캡처하는 카메라 시야(904)를 갖는다.
[0111] 일부 구현들에서, 카메라 시스템(114)은 비교적 높은 프레임 레이트들 (예컨대, 초당 30개의 프레임들 또는 그 초과)로 HD(high-definition) 스틸 이미지들 및 HD(high-definition) 비디오를 캡처할 수 있는 CMOS 이미지 센서를 구비한 하나 이상의 HD(high-definition) 디지털 카메라들을 포함한다. 디지털 비디오의 각각의 프레임은 이미지의 복수의 픽셀들에 대한 깊이 정보를 포함한다. 이러한 양상에서, 카메라 시스템(114)은 물리 환경의 상세한 입력 이미지를 캡처함으로써 HD(high-definition) 스캐너의 역할을 한다. 일부 구현들에서, 카메라 시스템(114)은 본원에서 설명된 바와같이 아이웨어 디바이스(100)에 커플링되고 좌측-카메라 원시 이미지 및 우측-카메라 원시 이미지를 획득하기 위해 이격된 한 쌍의 HD(high-definition) 디지털 카메라들(114A, 114B)을 포함한다. 결합될 때, 원시 이미지들은 3차원 픽셀 로케이션들의 매트릭스를 포함하는 입력 이미지를 형성한다. 일부 구현들에서, 예시적인 방법은, 블록(1304)에서, 캡처된 비디오 데이터(900)의 프레임들을 아이웨어 디바이스(100)의 메모리(434)에 적어도 일시적으로 저장하여 프레임들이 분석에 이용 가능하도록 하는 단계를 포함한다.
[0112] 블록(1306)은 이미지 프로세싱 시스템(920)으로 캡처된 비디오 데이터(900)의 프레임들에서 일련의 손 모양들(800)을 검출하는 예시적인 단계를 설명한다. 일부 예시적인 구현들에서, 이미지 프로세싱 시스템(412)은 캡처된 비디오 데이터(900)의 프레임들이 인간 손을 포함하는지를 결정하고 만일 그렇다면 프레임들이 특정 손 모양을 포함하는지를 결정하기 위해 캡처된 비디오 데이터(900)의 프레임들에서 픽셀-레벨 데이터를 분석한다. 프레임의 데이터는 손 제스처 라이브러리(480)에 저장된 많은 수의 손 포즈들 및 제스처들과 비교된다.
[0113] 예시적인 일련의 손 모양들(800)이 도 9에 도시되어 있으며, 이러한 손 모양들(800)은 엄지손가락이 펴진 집게손가락의 손바닥 끝 근처에 로케이팅된 제1 손 모양(801), 엄지손가락이 중심 지점 근처에 로케이팅되는 제2 손 모양(802), 및 엄지손가락이 손가락의 끝에 로케이팅되는 제3 손 모양(803)을 포함한다. 일부 구현들에서 일련의 손 모양들(800)을 검출하는 프로세스는 손 모양이 순차적인 프레임들에서 지속적으로 나타나는지를 결정하기 위해 캡처된 비디오 데이터(900)의 프레임들의 순차적인 서브세트를 분석하는 것을 포함한다. 예컨대, 제1 손 모양(801)은 일시적으로 하나 또는 수개의 프레임들에서 나타날 수 있지만, 비디오 데이터(900)의 임계 수의 순차적인 프레임들에서 나타나기 전에 사라질 수 있다.
[0114] 블록(1308)은 검출된 일련의 손 모양들(800)이 미리 정의된 일련의 손 제스처들(485)과 매칭되는지 여부를 결정하는 예시적인 단계를 설명한다. 이러한 결정 단계는 이미지 프로세싱 시스템(920) 또는 객체 제어 애플리케이션(910)에 의해 달성될 수 있다. 미리 정의된 일련의 손 제스처들(485) 및 이들의 연관된 액션들(490)은 데이터베이스 또는 관계형 데이터베이스의 세트의 손 제스처 라이브러리(480)에 저장될 수 있다.
[0115] 비디오 데이터(900)에서 캡처된 검출된 일련의 손 모양들(800)은 매치를 식별하기 위해 손 제스처 라이브러리(480)에 저장된 미리 정의된 일련의 손 제스처들(485)의 복수 세트들과 비교된다. 본원에서 사용되는 바와 같이, 매치라는 용어는 실질적인 매치들 또는 대략적인 매치들을 포함하는 것으로 의미되며, 이들은 가능한 매치들 또는 후보 매치들과 연관된 미리 결정된 신뢰도 값에 의해 지배될 수 있다. 검출된 손 모양 데이터는 손목에 대한 3차원 좌표들, 최대 15개의 지절간 관절들, 최대 5개의 손가락 끝들 및 캡처된 프레임에서 발견되는 다른 골격 또는 연조직 랜드마크들을 포함할 수 있다. 일부 예들에서, 검출 프로세스는 검출된 손 모양 손가락 끝 좌표들과 라이브러리(480)에 저장된 각각의 손 제스처에 대한 한 세트의 손가락 끝 좌표들 간의 측지 거리들의 합을 계산하는 것을 포함한다. 구성 가능한 임계 정확도 값 내에 있는 합은 매치를 나타낸다.
[0116] 다른 예시적인 구현에서, 검출된 손 모양이 셔터 제스처와 매칭되는지 여부를 결정하는 프로세스는 손 제스처들을 포함하는 이미지들의 집합과 캡처된 비디오 데이터의 하나 이상의 프레임들에서의 손 모양에 대한 픽셀-레벨 데이터를 비교하기 위해 머신-학습 알고리즘을 사용하는 것을 수반한다.
[0117] 머신 러닝은 경험을 통해 점차적으로 개선하는 알고리즘을 지칭한다. 많은 수의 상이한 입력 데이터세트들을 프로세싱함으로써, 머신-러닝 알고리즘은 특정 데이터세트들에 대한 개선된 일반화들을 개발하고, 이후 이러한 일반화들을 사용하여 새로운 데이터세트를 프로세싱할 때 정확한 출력 또는 솔루션을 생성할 수 있다. 대체로, 머신-러닝 알고리즘은 새로운 경험들에 응답하여 조절하거나 또는 변경하여 알고리즘을 점차적으로 개선할 하나 이상의 파라미터들; 러닝과 유사한 프로세스를 포함한다.
[0118] 컴퓨터 비전의 맥락에서, 수학적 모델들은 인간 시각 시스템에 의해 달성되는 작업들을 에뮬레이트하려고 시도하며, 여기서 컴퓨터들을 사용하는 목표는 이미지로부터 정보를 추출하고 이미지의 콘텐츠들을 정확하게 이해하는 것이다. 인공지능, 자율주행 등을 포함하여 다양한 분야들에서 컴퓨터 비전 알고리즘들이 개발되어, 디지털 이미지들과 비디오에서 데이터를 추출하고 분석하였다.
[0119] 딥 러닝은 인공 신경망들에 기반하거나 또는 인공 신경망들 이후에 모델링되는 일종의 머신-러닝 방법들을 지칭한다. 인공 신경망은 외부 입력들에 응답하여 자신들의 동적 상태에 의해 정보를 프로세싱하는 다수의 단순하고 고도로 상호 연결된 프로세싱 엘리먼트들(노드들)로 구성된 컴퓨팅 시스템이다. 대규모 인공 신경망은 수백 또는 수천 개의 노드들을 가질 수 있다.
[0120] CNN(convolutional neural network)은 디지털 사진들 및 비디오를 포함하여 시각적 이미지들을 분석하기 위해 자주 적용되는 일종의 신경망이다. CNN에서 노드들 간의 연결 패턴은 전형적으로 인간 시각 피질의 조직을 본떠서 만들어지며, 이는 시야 내의 중첩 구역들에 반응하도록 배열된 개별 뉴런들을 포함한다. 본원에서 설명된 결정 프로세스에 사용하기에 적합한 신경망은 이하의 아키텍처들, 즉 VGG16, VGG19, ResNet50, Inception V3, Xception, 또는 다른 CNN-호환 가능 아키텍처들 중 하나에 기반한다.
[0121] 머신-러닝 예에서, 블록(1308)에서, 프로세서(432)는 손 특징 모델로서 지칭되는 머신-러닝 알고리즘을 사용하여 검출된 손 모양이 셔터 제스처와 실질적으로 매칭되는지 여부를 결정한다. 프로세서(432)는 머신 러닝을 통해 훈련된 손 특징 모델에 액세스하도록 구성되고, 손 특징 모델을 적용하여 비디오 데이터의 하나 이상의 프레임들에서 손 모양의 특징들을 식별하여 로케이팅한다.
[0122] 하나의 예시적인 구현에서, 훈련된 손 특징 모델은 검출된 손 모양을 포함하는 비디오 데이터의 프레임을 수신하고, 분석을 위해 프레임의 이미지를 계층들로 추상화한다. 각각의 계층의 데이터는 양호한 매치가 식별될 때까지 훈련된 손 특징 모델에 기반하여 계층별로 손 제스처 라이브러리(480)에 저장된 손 제스처 데이터와 비교된다.
[0123] 일례에서, 계층별 이미지 분석은 컨벌루션 신경망을 사용하여 실행된다. 제1 컨벌루션 계층에서, CNN은 학습된 특징들(예컨대, 손 랜드마크들, 관절 좌표들의 세트들 등)을 식별한다. 제2 컨벌루션 계층에서, 이미지는 복수의 이미지들로 변환되며, 여기서 학습된 특징들은 개개의 서브-이미지에서 각각 강조된다. 풀링 계층에서, 이미지들 및 서브-이미지들의 크기들 및 해상도는 가능한 관심 특징(예컨대, 가능한 손바닥 모양, 가능한 손가락 관절)을 포함하는 각각의 이미지의 부분들을 격리하기 위해 감소된다. 비-출력 계층들로부터의 이미지들의 값들 및 비교들은 프레임에서 이미지를 분류하는 데 사용된다. 본원에서 사용되는 분류는 검출된 손 모양에 따라 이미지를 분류하기 위해 훈련된 모델을 사용하는 프로세스를 지칭한다. 예컨대, 이미지는 검출된 손 모양이 라이브러리(480)로부터의 셔터 제스처와 매칭되는 경우에 "셔터 제스처 존재"로서 분류될 수 있다.
[0124] 각각의 미리 정의된 일련의 손 제스처들(485)은 액션(490)과 연관된다. 예컨대, 미리 정의된 선택 제스처(810)(예컨대, 도 10에 도시된 바와 같이 손가락에 대해 엄지손가락을 탭하는 것)는 선택 액션, 이를테면 메뉴로부터 아이템을 선택하는 액션 및 선택된 아이템 근처에 아이템 하이라이트(745)를 제시하는 액션과 연관된다. 미리 정의된 내비게이팅 제스처(820)(예컨대, 도 11에 도시된 손목을 중심으로 손을 회전시키는 것)는 내비게이팅 액션, 이를테면 디스플레이 상에 다음 메뉴 또는 다른 그래픽 엘리먼트를 요소를 제시하는 액션과 연관된다.
[0125] 일부 예시적인 구현들에서, 미리 정의된 선택 제스처(810)는 펴진 손가락(또는 다른 손가락)의 측면에 대해 엄지손가락을 탭하는 것, 펴진 손가락(또는 다른 손가락)의 끝 근처에 엄지손가락을 탭하는 것, 엄지손가락을 구부리는 것, 잡는 모션으로 손의 전부 또는 일부를 수축시키는 것, 디스플레이에 대해 (또는 본원에서 설명된 바와같이 손가락 스케일에 대해) 일반적으로 정지된 로케이션에서 엄지손가락을 오래 유지하는 것, 및 카메라 시야(904)로부터 손의 전부 또는 일부를 제거하는 것을 포함한다. 다양한 다른 미리 정의된 선택 제스처들 중 일부가 설정되어 손 제스처 라이브러리(480)에 저장될 수 있다.
[0126] 일부 예시적인 구현들에서, 미리 정의된 내비게이팅 제스처(820)는 손목에 대해 미리 결정된 회전 각도를 초과하여 손을 회전시키는 것, 미리 결정된 측방향 거리를 초과하여 엄지손가락, 펴진 손가락 또는 다른 손가락을 스와이핑하는 것, 및 잡는 모션으로 손을 수축시키는 것을 포함한다. 다양한 다른 미리 정의된 내비게이팅 제스처들 중 임의의 제스처가 설정되어 손 제스처 라이브러리(480)에 저장될 수 있다. 예컨대, 일부 구현들에서, 회전 손을 검출하는 프로세스는 손이 적어도 부분적으로 그 회전을 역전시키고 초기 포지션으로 복귀하기 전에 초기 회전 방향(예컨대, 시계 방향 또는 반시계 방향)을 식별하는 것을 포함한다. 가상 엘리먼트들(700)은 디스플레이 순서와 연관될 수 있다. 시계 방향의 초기 회전 방향에 응답하여, 다음 또는 후속 그래픽 엘리먼트가 디스플레이 상에 제시된다. 반시계 방향의 초기 회전 방향에 응답하여, 마지막 또는 이전 그래픽 엘리먼트가 디스플레이 상에 제시된다.
[0127] 블록(1310)은 연관된 액션(490)에 따라 가상 엘리먼트(700)의 움직임을 제어하는 예시적인 단계를 설명한다. 이러한 맥락에서 움직임은, 검출된 손 모양들이 변화함에 따라 가상 엘리먼트(700)가 실시간으로 이동하는 것으로 나타나도록, 연관된 액션들의 시퀀스에 따라 디스플레이(180) 상의 일반적으로 연속적인 일련의 로케이션들에서 가상 엘리먼트(700)를 제시하는 것을 포함한다. 예컨대, 도 7에서, 캡처된 손 모양(예컨대, 집게손가락을 따라 슬라이딩하는 엄지손가락)은 좌측 및 우측 움직임의 액션과 연관되는 일련의 손 제스처들과 실질적으로 매칭된다. 이에 응답하여, 가상 엘리먼트(700)(예컨대, 슬라이더(712))는 연관된 좌측-우측 액션에 따라 좌우로 이동한다.
[0128] 도 8에서, 가상 엘리먼트(700)는 필드오브플레이(750) 상에 제시되는 게임 피스(755)를 포함한다. 이러한 예에서, 현재 엄지손가락 포지션(621)은 게임 피스(755)에 연결되어, 엄지손가락 포지션이 이동함에 따라 게임 피스(755)가 실시간으로 이동한다. 이러한 예에서 움직임을 제어하는 프로세스는 현재 엄지손가락 포지션(621)이 게임 피스(755) 근처에 있는지 여부 (예컨대, 엄지손가락이 게임 피스(755)에 대한 디스플레이 상의 미리 정의된 영역 내에서 검출되는지 여부)를 결정하는 것 및 이후 현재 엄지손가락 포지션(621)의 움직임으로 게임 피스(755)의 움직임을 제어하는 것을 포함한다.
[0129] 도 12는 손가락 스케일을 사용한 그래픽 스케일의 예시적인 교정의 개략도이다. 이러한 예에서, 가상 엘리먼트(700)는 뷰포트(714)의 슬라이더(712)와 같은 인터랙티브 그래픽 엘리먼트(710)를 포함한다. 검출된 손 모양은 펴진 손가락(630) 근처의 엄지손가락(620)을 포함한다. 펴진 손가락(630)은 도시된 바와 같은 제1 손가락 또는 집게손가락 또는 임의의 다른 손가락일 수 있다.
[0130] 이러한 예에서 손가락(630)으로 슬라이더(712)를 교정하는 것은 카메라에 의해 식별되는, 펴진 손가락(630)의 크기 및 배향에 대해 손가락 스케일(640)을 설정하는 것을 포함한다. 손가락 스케일(640)은 손바닥 끝(631)(손가락이 손바닥과 만나는 위치 근처)으로부터 (중간 관절 근처에 있을 수 있는) 중간 지점(635)을 거쳐 손가락의 끝(693)까지 펴진 손가락(630)을 따라 길이방향으로 연장된다. 인터랙티브 그래픽 엘리먼트(710)는 엘리먼트(710)와 연관된 길이 또는 다른 치수(예컨대, 슬라이더 뷰포트(714)의 길이)에 대응하는 그래픽 스케일(720)을 특징으로 한다. 다른 예들에서, 그래픽 스케일(720)은 (슬라이더(712) 또는 유사한 엘리먼트를 참조하지 않고) 2차 그래픽 엘리먼트들(740)의 세트 또는 서브세트의 총 길이와 같은 하나 이상의 2차 그래픽 엘리먼트들(740)과 연관된 치수이다.
[0131] 도시된 바와 같이, 그래픽 스케일(720)은 그 길이를 따라 하나 이상의 증분 로케이션들(730)을 포함할 수 있다. 증분 로케이션들(730)은 많을 수 있으며, 이는 손가락 스케일(640)에 대해 현재 엄지손가락 포지션(621)에 대한 매우 민감한 응답을 가능하게 한다. 이러한 양상에서, 현재 엄지손가락 포지션(621)의 매우 작거나 또는 미세-규모 변화들은 디스플레이 상에서 가상 객체들 및 인터랙티브 그래픽 엘리먼트들의 대응하는 작은 또는 미세-규모 움직임들을 초래할 것이다.
[0132] 손가락 스케일(640)에 대해 그래픽 스케일(720)을 교정하는 프로세스는 스케일들(720, 640)을 비교하는 것 및 손가락 스케일(640)의 길이와 그래픽 스케일(720)의 길이를 수학적으로 상관시키는 것을 포함한다.
[0133] 이러한 예에서, 블록(1306)에서 손 모양들을 검출하는 프로세스는 비디오 데이터(900)의 프레임들에서 손가락 스케일(640)에 대한 현재 엄지손가락 포지션(621)을 식별하는 것을 더 포함한다. 블록(1310)에서 가상 엘리먼트의 움직임을 제어하는 프로세스는 엄지손가락 포지션(621)이 이동함에 따라 슬라이더(712)가 이동하도록 교정된 그래픽 스케일(720)에 대한 식별된 현재 엄지손가락 포지션(621)에 따라 인터랙티브 그래픽 엘리먼트(710)(예컨대, 슬라이더(712))의 움직임을 제어하는 것을 포함하다. 도 12에 도시된 바와 같이, 이러한 예에서, 슬라이더(712)의 움직임은 슬라이더(712)의 움직임과 함께 실시간으로 이동하는 것처럼 보이는 하나 이상의 2차 그래픽 엘리먼트들(740)을 제시하는 것을 포함한다.
[0134] 예컨대, 펴진 손가락(630)이 우측 손과 연관될 때, 도 12에 도시된 바와같이, 슬라이더(712)는 식별된 현재 엄지손가락 포지션(621)이 손가락 스케일(640)의 중간 지점(635) 근처에 있을 때 그리고 그 동안 그 현재 증분 로케이션에서 제시된다. 슬라이더(712)는 식별된 현재 엄지손가락 포지션(621)이 손가락 스케일(640)의 손바닥 끝(631)과 중간 지점(635) 사이에 있을 때 다음의 가장 우측의 증분 로케이션에 제시된다. 역으로, 슬라이더(712)는 식별된 현재 엄지손가락 포지션(621)이 손가락 스케일(640)의 끝(639)과 중간 지점(635) 사이에 있을 때 다음의 가장 좌측 증분 로케이션에 제시된다.
[0135] 관련된 양상에서, 슬라이더(712)의 이동의 겉보기 속도는 식별된 현재 엄지손가락 포지션(621)과 손가락 스케일(640)의 중간 지점(635) 사이의 갭의 거리(갭 거리)에 비례하여 제어될 수 있다. 중간 지점(635)으로부터 멀리서 갭 거리가 클수록, 슬라이더(712)는 그의 이전 로케이션에 비해 디스플레이 상에서 더 빠르게 이동하는 것으로 나타난다.
[0136] 다른 예에서, 도 8에 도시된 바와 같이, 중간 지점(635)으로부터 멀리서 갭 거리가 클수록, 게임 피스(755)는 필드오브플레이(750) 상의 그의 이전 로케이션에 비해 디스플레이 상에서 더 빠르게 이동하는 것으로 나타난다.
[0137] 아이웨어 디바이스(100), 모바일 디바이스(401) 및 서버 시스템(498)에 대해 본원에 설명된 기능 중 임의의 것은 본원에 설명되는 바와같이 하나 이상의 컴퓨터 소프트웨어 애플리케이션들 또는 프로그래밍 명령들의 세트들로 구현될 수 있다. 일부 예들에 따르면, "기능", "기능들", "애플리케이션", "애플리케이션들", "명령", "명령들” 또는 "프로그래밍"은 프로그램들에서 정의된 기능들을 실행하는 프로그램(들)이다. 다양한 방식들로 구성된 애플리케이션들 중 하나 이상을 개발하기 위해 객체 지향 프로그래밍 언어들(예컨대, Objective-C, Java 또는 C++) 또는 절차적 프로그래밍 언어들(예컨대, C 또는 어셈블리 언어)과 같은 다양한 프로그래밍 언어들이 이용될 수 있다. 특정 예에서, 제3자 애플리케이션(예컨대, 특정 플랫폼의 벤더 이외의 엔티티에 의해 ANDROID™ 또는 IOS™ SDK(software development kit)를 사용하여 개발된 애플리케이션)은 IOS™, ANDROID™, WINDOWS® Phone 또는 다른 모바일 오퍼레이팅 시스템들과 같은 모바일 오퍼레이팅 시스템 상에서 실행되는 모바일 소프트웨어를 포함할 수 있다. 이러한 예에서, 제3자 애플리케이션은 본원에 설명된 기능을 용이하게 하기 위해 오퍼레이팅 시스템에 의해 제공된 API 콜들을 인보크할 수 있다.
[0138] 따라서, 머신-판독가능 매체는 유형의 저장 매체의 많은 형태들을 취할 수 있다. 비-휘발성 저장 매체들은 예컨대, 도면들에 도시된 클라이언트 디바이스, 미디어 게이트웨이, 트랜스코더 등을 구현하는 데 사용될 수 있는 것과 같은 임의의 컴퓨터 디바이스들 등에 있는 저장 디바이스들 중 임의의 것과 같은 광학 또는 자기 디스크들을 포함한다. 휘발성 저장 매체들은 이러한 컴퓨터 플랫폼의 메인 메모리와 같은 동적 메모리를 포함한다. 유형의 송신 매체들은 컴퓨터 시스템 내의 버스를 포함하는 와이어들을 포함하는 동축 케이블들; 구리 와이어 및 광섬유들을 포함한다. 반송파 송신 매체들은 RF(radio frequency) 및 적외선(IR) 데이터 통신들 동안 생성되는 것들과 같은 전기 또는 전자기 신호들, 또는 음파 또는 광파의 형태를 취할 수 있다. 따라서, 컴퓨터-판독가능 매체들의 일반적인 형태들은, 예컨대 플로피 디스크, 가요성 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 임의의 다른 광학 매체, 펀치 카드들, 페이퍼 테이프, 구멍들의 패턴들을 갖는 임의의 다른 물리적 저장 매체, RAM, PROM 및 EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 데이터 또는 명령들을 전달하는 반송파, 그러한 반송파를 전달하는 케이블들 또는 링크들, 또는 컴퓨터가 프로그래밍 코드 또는 데이터를 판독할 수 있는 임의의 다른 매체를 포함한다. 이러한 형태들의 컴퓨터 판독가능 매체들의 대부분은 실행을 위해 프로세서에 하나 이상의 명령들의 하나 이상의 시퀀스들을 반송하는 것과 관련될 수 있다.
[0139] 바로 위에 언급된 경우를 제외하고, 청구항들에 인용되든 아니든 무관하게, 언급되거나 예시된 어떤 것도 임의의 컴포넌트, 단계, 특징, 목적, 이익, 이점 또는 이의 균등물을 일반 대중에게 제공하도록 의도되거나 해석되어서는 안된다.
[0140] 본원에서 사용된 용어들 및 표현들은, 특정 의미들이 본원에 달리 제시된 경우를 제외하고는 그들 대응하는 개개의 탐구 및 연구 영역들과 관련하여 그러한 용어들 및 표현들에 부여된 바와 같은 일반적인 의미를 갖는다는 것이 이해될 것이다. 관계형 용어들, 이를테면 제1, 제2 등은 단지 하나의 엔티티 또는 액션을 다른 것으로부터 구별하기 위해 사용될 수 있고, 이러한 엔티티들 또는 액션들 간의 임의의 실제 이러한 관계 또는 순서를 반드시 요구하거나 암시하지는 않는다. 용어들 "포함하다", "포함하는", "구비하다" , “구비하는" , 또는 이의 임의의 다른 변형은 비-배타적인 포함을 커버하는 것으로 의도되어, 엘리먼트들 또는 단계들의 리스트를 포함하거나 구비하는 프로세스, 방법, 물품 또는 장치는 그러한 엘리먼트들 또는 단계들만을 구비하는 것이 아니라, 명시적으로 나열되지 않거나 또는 이러한 프로세스, 방법, 물품 또는 장치에 고유한 다른 엘리먼트들 또는 단계들을 구비할 수 있다. 단수형 엘리먼트는, 추가적인 제약들 없이, 엘리먼트를 포함하는 프로세스, 방법, 물품 또는 장치에서 추가적인 동일한 엘리먼트들의 존재를 배제하지 않는다.
[0141] 달리 언급되지 않는 한, 이하의 청구항들을 포함하여 본 명세서에 기재된 임의의 그리고 모든 측정치들, 값들, 등급들, 포지션들, 크기들, 사이즈들 및 다른 규격들은 정확한 것이 아니라 근사치이다. 이러한 수량들은, 이들이 관련되는 기능들 및 이들과 관련된 분야에서 통상적인 것과 일치하는 합리적인 범위를 갖도록 의도된다. 예컨대, 달리 명시적으로 언급되지 않는 한, 파라미터 값 등은 언급된 양 또는 범위으로부터 ± 10 %만큼 많이 달라질 수 있다.
[0142] 더욱이, 전술한 상세한 설명에서, 다양한 특징들은 본 개시내용을 간소화할 목적으로 다양한 예들에서 함께 그룹화된다는 것을 알 수 있다. 본 개시내용의 방법은 청구되는 예들이 각각의 청구항에 명시적으로 언급된 것보다 많은 특징들을 요구하려는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 하기의 청구항들이 반영하는 바와 같이, 보호될 청구대상은 임의의 단일의 개시된 예의 모든 특징들보다 적다. 따라서, 이에 의해, 하기의 청구항들은 상세한 설명에 통합되며, 각각의 청구항은 별개로 청구된 청구대상으로서 독자적으로 기재된다.
[0143] 전술한 것은 최상의 모드 및 다른 예들인 것으로 고려되는 것을 설명하지만, 본원에서 다양한 수정들이 이루어질 수 있고 본원에 개시된 청구대상은 다양한 형태들 및 예들로 구현될 수 있으며 이들은 다수의 애플리케이션들에 적용될 수 있고 그 일부만이 본원에서 설명되었음이 이해되어야 한다. 이하의 청구항들은 본 개념들의 진정한 범위 내에 있는 임의의 그리고 모든 수정들 및 변경들을 청구하도록 의도된다.

Claims (20)

  1. 아이웨어 디바이스로 검출된 손 제스처들에 응답하여 가상 엘리먼트를 제어하는 방법으로서, 상기 아이웨어 디바이스는 카메라 시스템, 이미지 프로세싱 시스템, 및 가상 엘리먼트를 제시하기 위한 디스플레이를 포함하며,
    상기 방법은,
    상기 카메라 시스템을 사용하여 비디오 데이터의 프레임들을 캡처하는 단계;
    상기 이미지 프로세싱 시스템을 사용하여 상기 캡처된 비디오 데이터의 프레임들에서 일련의 손 모양들을 검출하는 단계;
    상기 검출된 일련의 손 모양들이 상기 액션과 연관된 미리 정의된 일련의 손 제스처들과 매칭되는지 여부를 결정하는 단계; 및
    상기 연관된 액션에 따라 상기 디스플레이에 대한 상기 가상 엘리먼트의 움직임을 제어하는 단계를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 검출된 일련의 손 모양들이 제2 액션과 연관된 제2 미리 정의된 일련의 손 제스처들과 매칭되는지 여부를 결정하는 단계; 및
    상기 연관된 제2 액션에 따라 상기 디스플레이에 대한 상기 가상 엘리먼트의 움직임을 제어하는 단계를 더 포함하는, 방법.
  3. 제1 항에 있어서,
    상기 가상 엘리먼트는 상기 디스플레이 상에 제시되는 복수의 가상 엘리먼트들을 포함하며,
    상기 방법은,
    상기 이미지 프로세싱 시스템을 사용하여 상기 비디오 데이터의 프레임들에서 상기 디스플레이에 대한 현재 엄지손가락 포지션을 식별하는 단계; 및
    상기 식별된 현재 엄지손가락 포지션에 따라 상기 디스플레이 상에서 상기 복수의 가상 엘리먼트들 중 하나의 엘리먼트 근처에 아이템 하이라이트(item highlight)를 제시하는 단계를 더 포함하는, 방법.
  4. 제1 항에 있어서,
    상기 가상 엘리먼트의 움직임을 제어하는 단계는,
    상기 이미지 프로세싱 시스템을 사용하여 상기 비디오 데이터의 프레임들에서 상기 가상 엘리먼트에 대한 현재 엄지손가락 포지션을 식별하는 단계; 및
    상기 식별된 현재 엄지손가락 포지션이 상기 가상 엘리먼트에 대한 상기 디스플레이 상의 미리 정의된 영역 내에 있는지 여부를 결정하는 것에 응답하여, 상기 식별된 현재 엄지손가락 포지션이 이동함에 따라 상기 가상 엘리먼트가 거의 실시간으로 이동하는 것처럼 보이도록 상기 식별된 현재 엄지손가락 포지션에 따라 상기 디스플레이 상의 일련의 로케이션들에서 상기 가상 엘리먼트를 제시하는 단계를 포함하는, 방법.
  5. 제1 항에 있어서,
    상기 검출된 일련의 손 모양들이 선택 액션과 연관된 선택 손 제스처와 매칭되는지 여부를 결정하는 단계 ― 상기 선택 손 제스처는,
    펴진 손가락 또는 다른 손가락의 측면에 대해 상기 엄지손가락을 탭하는 것, 상기 펴진 손가락 또는 다른 손가락의 끝 근처에 상기 엄지손가락을 탭하는 것, 상기 엄지손가락을 구부리는 것, 잡는 모션으로 손을 수축시키는 것, 상기 디스플레이에 대해 일반적으로 정지된 로케이션에서 상기 엄지손가락을 오래 유지하는 것, 및 카메라 시야로부터 손을 제거하는 것으로 구성된 그룹으로부터 선택된 선택 모션을 포함함 ―; 및
    상기 연관된 선택 액션에 따라 선택된 엘리먼트를 상기 디스플레이 상에 제시하는 단계를 더 포함하는, 방법.
  6. 제1 항에 있어서,
    상기 가상 엘리먼트는 디스플레이 순서로 제시되는 2차 그래픽 엘리먼트와 각각 연관된 복수의 가상 엘리먼트들을 포함하며,
    상기 방법은,
    상기 검출된 일련의 손 모양들이 내비게이팅 액션과 연관된 내비게이팅 손 제스처와 매칭되는지 여부를 결정하는 단계 ― 상기 내비게이팅 손 제스처는 손목에 대해 미리 결정된 회전 각도를 초과하여 손을 회전시키는 것, 상기 엄지손가락, 펴진 손가락 또는 다른 손가락을 미리 결정된 측방향 거리를 초과하여 스와이핑하는 것, 및 잡는 모션으로 손을 수축시키는 것으로 구성된 그룹으로부터 선택된 내비게이팅 모션을 포함함 ―; 및
    상기 연관된 내비게이팅 액션에 따라 선택된 2차 그래픽 엘리먼트를 상기 디스플레이 순서로 상기 디스플레이 상에 제시하는 단계를 더 포함하는, 방법.
  7. 제6 항에 있어서,
    상기 선택된 2차 그래픽 엘리먼트를 제시하는 단계는,
    상기 내비게이팅 손 제스처와 연관된 초기 회전 방향을 식별하는 단계;
    반시계 방향의 초기 회전 방향에 응답하여 이전 2차 그래픽 엘리먼트를 상기 디스플레이 순서로 제시하는 단계; 및
    시계 방향의 초기 회전 방향에 응답하여 상기 디스플레이 순서로 후속 2차 그래픽 엘리먼트를 제시하는 단계를 포함하는, 방법.
  8. 제1 항에 있어서,
    상기 가상 엘리먼트는 인터랙티브 그래픽 엘리먼트를 포함하고, 상기 검출된 일련의 손 모양들은 펴진 손가락 근처의 엄지손가락을 포함하며,
    상기 방법은,
    상기 펴진 손가락에 대한 손가락 스케일(finger scale)을 설정하는 단계 ― 상기 손가락 스케일은 손바닥 끝으로부터 중간 지점을 거쳐 끝까지 길이 방향으로 연장됨 ―;
    상기 손가락 스케일로 인터랙티브 그래픽 엘리먼트와 연관된 그래픽 스케일을 교정하는 단계; 및
    상기 이미지 프로세싱 시스템을 사용하여 상기 비디오 데이터의 프레임들에서 상기 손가락 스케일에 대한 현재 엄지손가락 포지션을 식별하는 단계를 더 포함하며;
    상기 움직임을 제어하는 단계는 상기 교정된 그래픽 스케일에 대한 상기 식별된 현재 엄지손가락 포지션에 따라 상기 디스플레이 상에서의 상기 인터랙티브 그래픽 엘리먼트의 움직임을 제어하는 단계를 포함하는, 방법.
  9. 제8 항에 있어서,
    상기 교정된 그래픽 스케일은 복수의 증분 로케이션들을 포함하며, 상기 펴진 손가락은 우측 손과 연관되며,
    상기 움직임을 제어하는 단계는,
    상기 식별된 현재 엄지손가락 포지션이 상기 펴진 손가락의 손바닥 끝과 중간 지점 사이에 로케이팅될 때 또는 그 동안에 상기 교정된 그래픽 스케일을 따라 다음 우측 증분 로케이션에서 상기 인터랙티브 그래픽 엘리먼트를 제시하는 단계;
    상기 식별된 현재 엄지손가락 포지션이 상기 펴진 손가락의 끝과 중간 지점 사이에 로케이팅될 때 그리고 그 동안에 상기 그래픽 스케일을 따라 다음 좌측 증분 로케이션에서 상기 인터랙티브 그래픽 엘리먼트를 제시하는 단계; 및
    상기 식별된 현재 엄지손가락 포지션이 상기 중간 지점 근처에 로케이팅될 때 그리고 그 동안에 상기 그래픽 스케일에 따라 현재 증분 로케이션에서 상기 인터랙티브 그래픽 엘리먼트를 제시하는 단계를 더 포함하는, 방법.
  10. 제8 항에 있어서,
    상기 인터랙티브 그래픽 엘리먼트의 움직임을 제어하는 단계는,
    상기 식별된 현재 엄지손가락 포지션과 상기 손가락 스케일의 중간 지점 사이의 갭 거리를 측정하는 단계; 및
    상기 인터랙티브 그래픽 엘리먼트가 상기 갭 거리와 상관된 속도로 이동하는 것처럼 보이도록 상기 갭 거리에 따라 다음 로케이션에서 상기 인터랙티브 그래픽 엘리먼트를 연속하여 제시하는 단계를 더 포함하는, 방법.
  11. 가상 엘리먼트 제어 시스템으로서,
    프로세서, 메모리, 이미지 프로세싱 시스템 및 디스플레이를 포함하는 아이웨어 디바이스;
    상기 메모리 내의 프로그래밍을 포함하며, 상기 프로세서에 의한 상기 프로그래밍의 실행은 기능들을 수행하도록 상기 아이웨어 디바이스를 구성하며,
    상기 기능들은,
    상기 카메라 시스템을 사용하여 비디오 데이터의 프레임들을 캡처하는 기능;
    상기 이미지 프로세싱 시스템을 사용하여 상기 캡처된 비디오 데이터의 프레임들에서 일련의 손 모양들을 검출하는 기능;
    상기 검출된 일련의 손 모양들이 액션과 연관된 미리 정의된 일련의 손 제스처들과 매칭되는지 여부를 결정하는 기능; 및
    상기 연관된 액션에 따라 상기 디스플레이에 대한 상기 가상 엘리먼트의 움직임을 제어하는 기능을 포함하는, 가상 엘리먼트 제어 시스템.
  12. 제11 항에 있어서,
    상기 프로그래밍의 실행은,
    상기 검출된 일련의 손 모양들이 제2 액션과 연관된 제2 미리 정의된 일련의 손 제스처들과 매칭되는지 여부를 결정하고; 그리고
    상기 연관된 제2 액션에 따라 상기 디스플레이에 대한 상기 가상 엘리먼트의 움직임을 제어하도록, 상기 아이웨어 디바이스를 추가로 구성하는, 가상 엘리먼트 제어 시스템.
  13. 제11 항에 있어서,
    상기 프로그래밍의 실행은,
    상기 검출된 일련의 손 모양들이 선택 액션과 연관된 선택 손 제스처와 매칭되는지 여부를 결정하며 ― 상기 선택 손 제스처는 펴진 손가락 또는 다른 손가락의 측면에 대해 상기 엄지손가락을 탭하는 것, 펴진 손가락 또는 다른 손가락의 끝 근처에 상기 엄지손가락을 탭하는 것, 상기 엄지손가락을 구부리는 것, 잡는 모션으로 손을 수축시키는 것, 상기 디스플레이에 대해 일반적으로 정지된 로케이션에서 상기 엄지손가락을 오래 유지하는 것, 및 카메라 시야로부터 손을 제거하는 것으로 구성된 그룹으로부터 선택된 선택 모션을 포함함 ―; 그리고
    상기 연관된 선택 액션에 따라 선택된 엘리먼트를 상기 디스플레이 상에 제시하도록, 상기 아이웨어 디바이스를 추가로 구성하는, 가상 엘리먼트 제어 시스템.
  14. 제11 항에 있어서,
    상기 가상 엘리먼트는 디스플레이 순서로 제시되는 2차 그래픽 엘리먼트와 각각 연관된 복수의 가상 엘리먼트들을 포함하며,
    상기 프로그래밍의 실행은,
    상기 검출된 일련의 손 모양들이 내비게이팅 액션과 연관된 내비게이팅 손 제스처와 매칭되는지 여부를 결정하며 ― 상기 내비게이팅 손 제스처는 손목에 대해 미리 결정된 회전 각도를 초과하여 손을 회전시키는 것, 미리 결정된 측방향 거리를 초과하여 상기 엄지손가락, 펴진 손가락 또는 다른 손가락을 스와이핑하는 것, 및 잡는 모션으로 손을 수축시키는 것으로 구성된 그룹으로부터 선택된 내비게이팅 모션을 포함함 ―; 및
    상기 연관된 내비게이팅 액션에 따라 선택된 2차 그래픽 엘리먼트를 상기 디스플레이 순서로 상기 디스플레이 상에 제시하도록, 상기 아이웨어 디바이스를 추가로 구성하는, 가상 엘리먼트 제어 시스템.
  15. 제11 항에 있어서,
    상기 가상 엘리먼트는 인터랙티브 그래픽 엘리먼트를 포함하고, 상기 검출된 일련의 손 모양들은 펴진 손가락 근처의 엄지손가락을 포함하며,
    상기 프로그래밍의 실행은,
    상기 펴진 손가락에 대한 손가락 스케일을 설정하며 ― 상기 손가락 스케일은 손바닥 끝으로부터 중간 지점을 거쳐 끝까지 길이 방향으로 연장됨 ―;
    상기 손가락 스케일로 인터랙티브 그래픽 엘리먼트와 연관된 그래픽 스케일을 교정하며;
    상기 이미지 프로세싱 시스템을 사용하여 상기 비디오 데이터의 프레임들에서 상기 손가락 스케일에 대한 현재 엄지손가락 포지션을 식별하며; 그리고
    상기 교정된 그래픽 스케일에 대한 상기 식별된 현재 엄지손가락 포지션에 따라 상기 디스플레이 상에서의 상기 인터랙티브 그래픽 엘리먼트의 움직임을 제어하도록, 상기 아이웨어 디바이스를 추가로 구성하는, 가상 엘리먼트 제어 시스템.
  16. 제11 항에 있어서,
    상기 프로그래밍의 실행은,
    상기 식별된 현재 엄지손가락 포지션과 상기 손가락 스케일의 중간 지점 사이의 갭 거리를 측정하며; 그리고
    상기 인터랙티브 그래픽 엘리먼트가 상기 갭 거리와 상관된 속도로 이동하는 것처럼 보이도록 상기 갭 거리에 따라 다음 로케이션에서 상기 인터랙티브 그래픽 엘리먼트를 연속하여 제시하도록, 상기 아이웨어 디바이스를 추가로 구성하는, 가상 엘리먼트 제어 시스템.
  17. 프로그램 코드를 저장한 비-일시적 컴퓨터-판독 가능 매체로서, 상기 프로그램 코드는, 실행될 때, 전자 프로세서로 하여금,
    상기 카메라 시스템을 사용하여 비디오 데이터의 프레임들을 캡처하는 단계 ― 상기 카메라는 프로세서, 메모리 및 이미지 프로세싱 시스템을 포함하는 아이웨어 디바이스에 커플링됨 ―;
    상기 이미지 프로세싱 시스템을 사용하여 상기 캡처된 비디오 데이터의 프레임들에서 일련의 손 모양들을 검출하는 단계;
    상기 검출된 일련의 손 모양들이 액션과 연관된 미리 정의된 일련의 손 제스처들과 매칭되는지 여부를 결정하는 단계; 및
    상기 연관된 액션에 따라 상기 디스플레이에 대한 상기 가상 엘리먼트의 움직임을 제어하는 단계를 수행하게 하도록,
    동작하는, 비-일시적 컴퓨터-판독 가능 매체.
  18. 제17 항에 있어서,
    상기 프로그램 코드는, 실행될 때, 상기 전자 프로세서로 하여금 추가로,
    상기 검출된 일련의 손 모양들이 선택 액션과 연관된 선택 손 제스처와 매칭되는지 여부를 결정하는 단계 ― 상기 선택 손 제스처는,
    펴진 손가락 또는 다른 손가락의 측면에 대해 상기 엄지손가락을 탭하는 것, 상기 펴진 손가락 또는 다른 손가락의 끝 근처에 상기 엄지손가락을 탭하는 것, 상기 엄지손가락을 구부리는 것, 잡는 모션으로 손을 수축시키는 것, 상기 디스플레이에 대해 일반적으로 정지된 로케이션에서 상기 엄지손가락을 오래 유지하는 것, 및 카메라 시야로부터 손을 제거하는 것으로 구성된 그룹으로부터 선택된 선택 모션을 포함함 ―; 및
    상기 연관된 선택 액션에 따라 선택된 엘리먼트를 상기 디스플레이 상에 제시하는 단계를 수행하게 하도록,
    동작하는, 비-일시적 컴퓨터-판독 가능 매체.
  19. 제17 항에 있어서,
    상기 가상 엘리먼트는 디스플레이 순서로 제시되는 2차 그래픽 엘리먼트와 각각 연관되는 복수의 가상 엘리먼트들을 포함하며,
    상기 프로그램 코드는, 실행될 때, 상기 전자 프로세서로 하여금 추가로,
    상기 검출된 일련의 손 모양들이 내비게이팅 액션과 연관된 내비게이팅 손 제스처와 매칭되는지 여부를 결정하는 단계 ― 상기 내비게이팅 손 제스처는 손목에 대해 미리 결정된 회전 각도를 초과하여 손을 회전시키는 것, 미리 결정된 측방향 거리를 초과하여 상기 엄지손가락, 펴진 손가락 또는 다른 손가락을 스와이핑하는 것, 및 잡는 모션으로 손을 수축시키는 것으로 구성된 그룹으로부터 선택된 내비게이팅 모션을 포함함 ―; 및
    상기 연관된 내비게이팅 액션에 따라 선택된 2차 그래픽 엘리먼트를 상기 디스플레이 순서로 상기 디스플레이 상에 제시하는 단계를 수행하게 하도록,
    동작하는, 비-일시적 컴퓨터-판독 가능 매체.
  20. 제17 항에 있어서,
    상기 가상 엘리먼트는 인터랙티브 그래픽 엘리먼트를 포함하며, 상기 검출된 일련의 손 모양들은 펴진 손가락 근처의 엄지손가락을 포함하며,
    상기 프로그램 코드는, 실행될 때, 상기 전자 프로세서로 하여금 추가로,
    상기 펴진 손가락에 대한 손가락 스케일을 설정하는 단계 ― 상기 손가락 스케일은 손바닥 끝으로부터 중간 지점을 거쳐 끝까지 길이 방향으로 연장됨 ―;
    상기 손가락 스케일로 인터랙티브 그래픽 엘리먼트와 연관된 그래픽 스케일을 교정하는 단계; 및
    상기 이미지 프로세싱 시스템을 사용하여 상기 비디오 데이터의 프레임들에서 상기 손가락 스케일에 대한 현재 엄지손가락 포지션을 식별하는 단계를 수행하게 하도록,
    동작하며;
    상기 움직임을 제어하는 단계는 상기 교정된 그래픽 스케일에 대한 상기 식별된 현재 엄지손가락 포지션에 따라 상기 디스플레이 상에서의 상기 인터랙티브 그래픽 엘리먼트의 움직임을 제어하는 단계를 포함하는, 비-일시적 컴퓨터-판독 가능 매체.
KR1020237025757A 2020-12-29 2021-12-14 가상 및 그래픽 엘리먼트들을 제어하기 위한 미세 손제스처들 KR20230124732A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063131403P 2020-12-29 2020-12-29
US63/131,403 2020-12-29
PCT/US2021/063340 WO2022146678A1 (en) 2020-12-29 2021-12-14 Micro hand gestures for controlling virtual and graphical elements

Publications (1)

Publication Number Publication Date
KR20230124732A true KR20230124732A (ko) 2023-08-25

Family

ID=80123497

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237025757A KR20230124732A (ko) 2020-12-29 2021-12-14 가상 및 그래픽 엘리먼트들을 제어하기 위한 미세 손제스처들

Country Status (5)

Country Link
US (1) US20220206588A1 (ko)
EP (1) EP4272064A1 (ko)
KR (1) KR20230124732A (ko)
CN (1) CN116724285A (ko)
WO (1) WO2022146678A1 (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509466B1 (en) 2011-05-11 2019-12-17 Snap Inc. Headwear with computer and optical element for use therewith and systems utilizing same
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10503264B1 (en) 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US10055895B2 (en) 2016-01-29 2018-08-21 Snap Inc. Local augmented reality persistent sticker objects
US11404056B1 (en) 2016-06-30 2022-08-02 Snap Inc. Remoteless control of drone behavior
US10579869B1 (en) 2017-07-18 2020-03-03 Snap Inc. Virtual object machine learning
US11323398B1 (en) 2017-07-31 2022-05-03 Snap Inc. Systems, devices, and methods for progressive attachments
US10591730B2 (en) 2017-08-25 2020-03-17 II Jonathan M. Rodriguez Wristwatch based interface for augmented reality eyewear
US11847426B2 (en) 2017-11-08 2023-12-19 Snap Inc. Computer vision based sign language interpreter
US10796482B2 (en) 2018-12-05 2020-10-06 Snap Inc. 3D hand shape and pose estimation
US11036368B1 (en) 2019-03-29 2021-06-15 Snap Inc. Messaging system with message transmission user interface
US11106342B1 (en) 2019-06-03 2021-08-31 Snap Inc. User interfaces to facilitate multiple modes of electronic communication
US11151794B1 (en) 2019-06-28 2021-10-19 Snap Inc. Messaging system with augmented reality messages
US11307747B2 (en) 2019-07-11 2022-04-19 Snap Inc. Edge gesture interface with smart interactions
US11551374B2 (en) 2019-09-09 2023-01-10 Snap Inc. Hand pose estimation from stereo cameras
US11062498B1 (en) 2019-12-30 2021-07-13 Snap Inc. Animated pull-to-refresh
US11409368B2 (en) 2020-03-26 2022-08-09 Snap Inc. Navigating through augmented reality content
US11960651B2 (en) 2020-03-30 2024-04-16 Snap Inc. Gesture-based shared AR session creation
US11798429B1 (en) 2020-05-04 2023-10-24 Snap Inc. Virtual tutorials for musical instruments with finger tracking in augmented reality
KR20230047480A (ko) 2020-08-13 2023-04-07 스냅 인코포레이티드 포즈 구동형 가상 효과들을 위한 사용자 인터페이스
US11925863B2 (en) 2020-09-18 2024-03-12 Snap Inc. Tracking hand gestures for interactive game control in augmented reality
US11671559B2 (en) 2020-09-30 2023-06-06 Snap Inc. Real time video editing
US20220197393A1 (en) * 2020-12-22 2022-06-23 Snap Inc. Gesture control on an eyewear device
US11797162B2 (en) 2020-12-22 2023-10-24 Snap Inc. 3D painting on an eyewear device
US11782577B2 (en) 2020-12-22 2023-10-10 Snap Inc. Media content player on an eyewear device
KR20230124703A (ko) 2020-12-29 2023-08-25 스냅 인코포레이티드 증강 현실 컴포넌트들을 위한 신체 ui
US11531402B1 (en) 2021-02-25 2022-12-20 Snap Inc. Bimanual gestures for controlling virtual and graphical elements
US11908243B2 (en) 2021-03-16 2024-02-20 Snap Inc. Menu hierarchy navigation on electronic mirroring devices
US11809633B2 (en) 2021-03-16 2023-11-07 Snap Inc. Mirroring device with pointing based navigation
US11734959B2 (en) 2021-03-16 2023-08-22 Snap Inc. Activating hands-free mode on mirroring device
US11798201B2 (en) 2021-03-16 2023-10-24 Snap Inc. Mirroring device with whole-body outfits
USD998637S1 (en) 2021-03-16 2023-09-12 Snap Inc. Display screen or portion thereof with a graphical user interface
WO2022216784A1 (en) * 2021-04-08 2022-10-13 Snap Inc. Bimanual interactions between mapped hand regions for controlling virtual and graphical elements
EP4327185A1 (en) 2021-04-19 2024-02-28 Snap, Inc. Hand gestures for animating and controlling virtual and graphical elements
US20220375110A1 (en) * 2021-05-18 2022-11-24 Snap Inc. Augmented reality guided depth estimation
US11928306B2 (en) 2021-05-19 2024-03-12 Snap Inc. Touchpad navigation for augmented reality display device
US11880542B2 (en) 2021-05-19 2024-01-23 Snap Inc. Touchpad input for augmented reality display device
US11748958B2 (en) 2021-12-07 2023-09-05 Snap Inc. Augmented reality unboxing experience
US11960784B2 (en) 2021-12-07 2024-04-16 Snap Inc. Shared augmented reality unboxing experience
US11579747B1 (en) 2022-03-14 2023-02-14 Snap Inc. 3D user interface depth forgiveness
US11960653B2 (en) 2022-05-10 2024-04-16 Snap Inc. Controlling augmented reality effects through multi-modal human interaction
US20240061513A1 (en) * 2022-08-18 2024-02-22 Meta Platforms Technologies, Llc Multi-stage gestures detected based on neuromuscular-signal sensors of a wearable device to activate user-interface interactions with low-false positive rates, and systems and methods of use thereof
US20240069643A1 (en) * 2022-08-31 2024-02-29 Youjean Cho Physical gesture interaction with objects based on intuitive design
US20240087246A1 (en) * 2022-09-09 2024-03-14 Snap Inc. Trigger gesture for selection of augmented reality content in messaging systems
US11797099B1 (en) 2022-09-19 2023-10-24 Snap Inc. Visual and audio wake commands
US11747912B1 (en) 2022-09-22 2023-09-05 Snap Inc. Steerable camera for AR hand tracking

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3654141A1 (en) * 2008-10-06 2020-05-20 Samsung Electronics Co., Ltd. Method and apparatus for displaying graphical user interface depending on a user's contact pattern
US9734393B2 (en) * 2012-03-20 2017-08-15 Facebook, Inc. Gesture-based control system
US8819812B1 (en) * 2012-08-16 2014-08-26 Amazon Technologies, Inc. Gesture recognition for device input
US10057400B1 (en) * 2012-11-02 2018-08-21 Majen Tech, LLC Lock screen interface for a mobile device apparatus
US10133342B2 (en) * 2013-02-14 2018-11-20 Qualcomm Incorporated Human-body-gesture-based region and volume selection for HMD
KR102144763B1 (ko) * 2013-05-22 2020-08-28 삼성전자주식회사 웨어러블 부가 장치를 통한 스케줄 표시 방법 및 장치
US9235051B2 (en) * 2013-06-18 2016-01-12 Microsoft Technology Licensing, Llc Multi-space connected virtual data objects
US10579207B2 (en) * 2014-05-14 2020-03-03 Purdue Research Foundation Manipulating virtual environment using non-instrumented physical object
US20170140552A1 (en) * 2014-06-25 2017-05-18 Korea Advanced Institute Of Science And Technology Apparatus and method for estimating hand position utilizing head mounted color depth camera, and bare hand interaction system using same
CN108369643B (zh) * 2016-07-20 2022-05-13 杭州凌感科技有限公司 用于3d手部骨架跟踪的方法和系统
US20180329209A1 (en) * 2016-11-24 2018-11-15 Rohildev Nattukallingal Methods and systems of smart eyeglasses
US20190327330A1 (en) * 2018-04-20 2019-10-24 Facebook, Inc. Building Customized User Profiles Based on Conversational Data
US20200311396A1 (en) * 2019-03-25 2020-10-01 Microsoft Technology Licensing, Llc Spatially consistent representation of hand motion
US10890983B2 (en) * 2019-06-07 2021-01-12 Facebook Technologies, Llc Artificial reality system having a sliding menu

Also Published As

Publication number Publication date
WO2022146678A1 (en) 2022-07-07
EP4272064A1 (en) 2023-11-08
US20220206588A1 (en) 2022-06-30
CN116724285A (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
US20220206588A1 (en) Micro hand gestures for controlling virtual and graphical elements
US11861070B2 (en) Hand gestures for animating and controlling virtual and graphical elements
US11531402B1 (en) Bimanual gestures for controlling virtual and graphical elements
US20220326781A1 (en) Bimanual interactions between mapped hand regions for controlling virtual and graphical elements
KR20230074780A (ko) 검출된 손 제스처들에 응답한 터치리스 포토 캡처
KR20230025914A (ko) 음성 및 텍스트 캡션들을 사용한 증강 현실 경험들
US11954268B2 (en) Augmented reality eyewear 3D painting
KR20230113374A (ko) 머리-관련 전달 함수
KR20230029923A (ko) 롤링 셔터 카메라들을 사용하는 시각적 관성 추적
KR20230026502A (ko) 3d 의상들을 갖는 증강 현실 안경류
CN115735179A (zh) 增强现实眼戴器与情绪共享
KR20230073336A (ko) 가상 아이웨어 빔들을 사용한 증강 현실 게이밍
US20240069642A1 (en) Scissor hand gesture for a collaborative object
US20240071020A1 (en) Real-world responsiveness of a collaborative object
US20240070299A1 (en) Revealing collaborative object using countdown timer
US20240069643A1 (en) Physical gesture interaction with objects based on intuitive design
US20220182777A1 (en) Augmented reality spatial audio experience
WO2024049577A1 (en) Selective collaborative object access based on timestamp