KR20230164185A - 가상 및 그래픽 요소들을 제어하기 위한 매핑된 손 영역들 사이의 양손 상호 작용들 - Google Patents
가상 및 그래픽 요소들을 제어하기 위한 매핑된 손 영역들 사이의 양손 상호 작용들 Download PDFInfo
- Publication number
- KR20230164185A KR20230164185A KR1020237038178A KR20237038178A KR20230164185A KR 20230164185 A KR20230164185 A KR 20230164185A KR 1020237038178 A KR1020237038178 A KR 1020237038178A KR 20237038178 A KR20237038178 A KR 20237038178A KR 20230164185 A KR20230164185 A KR 20230164185A
- Authority
- KR
- South Korea
- Prior art keywords
- hand
- detected
- display
- mapped area
- predefined
- Prior art date
Links
- 230000003993 interaction Effects 0.000 title description 6
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000009471 action Effects 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000015654 memory Effects 0.000 claims description 40
- 230000033001 locomotion Effects 0.000 claims description 30
- 230000006870 function Effects 0.000 claims description 23
- 230000004807 localization Effects 0.000 claims description 22
- 230000000007 visual effect Effects 0.000 claims description 13
- 230000002596 correlated effect Effects 0.000 claims description 6
- 230000003287 optical effect Effects 0.000 description 53
- 230000008569 process Effects 0.000 description 21
- 210000003811 finger Anatomy 0.000 description 18
- 238000004891 communication Methods 0.000 description 14
- 239000003550 marker Substances 0.000 description 14
- 210000004247 hand Anatomy 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 12
- 230000000712 assembly Effects 0.000 description 9
- 238000000429 assembly Methods 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000036961 partial effect Effects 0.000 description 5
- 230000001276 controlling effect Effects 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 210000000707 wrist Anatomy 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 210000001145 finger joint Anatomy 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 2
- 230000009023 proprioceptive sensation Effects 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 210000004872 soft tissue Anatomy 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 210000000245 forearm Anatomy 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000004932 little finger Anatomy 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 210000000623 ulna Anatomy 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 210000000857 visual cortex Anatomy 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/107—Static hand or arm
- G06V40/11—Hand-related biometrics; Hand pose recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
자체의 카메라 시스템으로 비디오 데이터의 프레임들을 캡처하고 있는 아이웨어 디바이스에 의해 검출된 양손 손 제스처들에 응답하여 디스플레이 상에 하나 이상의 가상 또는 그래픽 요소들의 프레젠테이션을 제어하기 위한 예시적인 시스템들, 디바이스들, 매체들, 및 방법들이 설명된다. 이미지 프로세싱 시스템은 제1 손을 검출하고 검출된 제1 손의 표면에 대해 매핑된 영역을 정의한다. 이 시스템은 매핑된 영역 내의 또는 그 근처의 포지션에 가상 타깃 아이콘을 프레젠테이션한다. 이미지 프로세싱 시스템은 검출된 제1 손과 제2 손의 적어도 하나의 손가락 끝을 포함하는, 일련의 양손 손 형상들을 검출한다. 검출된 일련의 양손 손 형상들이 미리 정의된 손 제스처와 매칭되는지 여부를 결정하는 것에 응답하여, 시스템은 디스플레이 상에 하나 이상의 그래픽 요소를 프레젠테이션하는 것을 포함하는 선택 액션을 실행한다.
Description
관련 출원들에 대한 상호 참조
[0001] 본 출원은 2021년 4월 8일자로 출원된 미국 가출원 제63/172,520호의 이익을 주장하며, 그 내용들이 인용에 의해 본 명세서에 포함된다.
기술 분야
[0002] 본 개시에서 제시된 예들은, 아이웨어와 같은 웨어러블 디바이스들을 포함하는, 전자 디바이스들을 위한 디스플레이 제어 분야에 관한 것이다. 더 특정하게는, 본 개시는 디스플레이 상의 가상 요소들과 상호 작용하기 위한 매핑된 손 영역들 사이의 양손 상호 작용들의 실시간 추적을 기술하지만, 이에 제한되는 것은 아니다.
[0003] 모바일 디바이스들(예를 들어, 스마트폰들, 태블릿들, 랩톱들), 핸드헬드 디바이스들, 및 웨어러블 디바이스들(예를 들어, 스마트 안경들, 디지털 아이웨어, 헤드웨어, 헤드기어, 및 헤드 마운티드 디스플레이들)과 같은, 오늘날 사용 가능한 많은 타입의 컴퓨터들 및 전자 디바이스들은 다양한 카메라들, 센서들, 무선 트랜시버들, 입력 시스템들, 및 디스플레이들을 포함한다.
[0004] 가상 객체들 및 아이콘들, 작업 표시줄들, 리스트 박스들, 메뉴들, 버튼들과 같은 그래픽 요소들, 및 커서들, 포인터들, 핸들들, 및 슬라이더들과 같은 선택 제어 요소들을 포함하는, 그래픽 사용자 인터페이스들은 사용자가 디스플레이된 콘텐츠와 상호 작용할 수 있게 한다.
[0005] 가상 현실(virtual reality, VR) 기술은, 때때로 VR 헤드셋이나 다른 헤드 마운티드 디스플레이 상에 프레젠테이션되는, 사실적인 이미지들을 포함하는 완전한 가상 환경을 생성한다. VR 체험들은 사용자가 가상 환경을 통해 이동하고 가상 객체와 상호 작용할 수 있게 한다. 증강 현실(augmented reality, AR)은 물리적 환경 내의 실제 객체들을 가상 객체들과 조합하여 해당 조합을 사용자에게 디스플레이하는 VR 기술의 일종이다. 조합된 디스플레이는 가상 객체들이 환경 내에 진짜로 존재한다는 인상을 주는데, 특히 가상 객체들이 나타나 실제 객체들처럼 거동할 때 그러하다. 교차 현실(cross reality, XR)은 일반적으로 AR, VR, 및 MR(mixed reality) 환경들로부터의 요소들을 포함하거나 조합하는 시스템들을 지칭하는 포괄적 용어로서 이해된다.
[0006] 설명된 다양한 예들의 특징들은 다음의 상세한 설명으로부터 쉽게 이해될 것이며, 상세한 설명에서는 도면들이 참조된다. 설명에서의 각각의 요소와 함께 그리고 몇몇 도면들의 전체에 걸쳐 참조 번호가 사용된다. 복수의 유사한 요소가 존재할 때, 단일 참조 번호가 유사한 요소들에 할당될 수 있으며, 추가된 소문자가 특정 요소를 지칭한다.
[0007] 도면들에 도시된 다양한 요소들은 달리 지시되지 않는 한 일정한 비율로 그려져 있는 것은 아니다. 다양한 요소들의 치수들은 명료성을 위해 확대 또는 축소될 수 있다. 몇몇 도면들은 하나 이상의 구현을 묘사하며 단지 예로서 제시되고 제한적인 것으로서 해석되어서는 안 된다. 도면에는 다음의 도면들이 포함된다:
[0008] 도 1a는 예시적인 양손 제어 시스템에서 사용하기에 적합한 아이웨어 디바이스의 예시적인 하드웨어 구성의 측면도(우측)이다.
[0009] 도 1b는 우측 가시광 카메라, 및 회로 기판을 묘사하는 도 1a의 아이웨어 디바이스의 우측 코너의 사시적 부분 단면도이다.
[0010] 도 1c는 좌측 가시광 카메라를 보여주는, 도 1a의 아이웨어 디바이스의 예시적인 하드웨어 구성의 측면도(좌측)이다.
[0011] 도 1d는 좌측 가시광 카메라, 및 회로 기판을 묘사하는 도 1c의 아이웨어 디바이스의 좌측 코너의 사시적 부분 단면도이다.
[0012] 도 2a 및 도 2b는 예시적인 양손 제어 시스템에서 이용되는 아이웨어 디바이스의 예시적인 하드웨어 구성의 후면도들이다.
[0013] 도 3은 3차원 장면, 좌측 가시광 카메라에 의해 캡처된 좌측 원시 이미지, 및 우측 가시광 카메라에 의해 캡처된 우측 원시 이미지의 도식적 묘사이다.
[0014] 도 4는 웨어러블 디바이스(예를 들어, 아이웨어 디바이스) 및 다양한 네트워크들을 통해 접속된 서버 시스템을 포함하는 예시적인 양손 제어 시스템의 기능 블록도이다.
[0015] 도 5는 도 4의 예시적인 양손 제어 시스템에서 사용하기에 적합한 모바일 디바이스에 대한 예시적인 하드웨어 구성의 도식적 표현이다.
[0016] 도 6은 동시 로컬라이제이션 및 매핑을 기술하는 데 사용하기 위한 예시적인 환경에서의 사용자의 개략적 예시이다.
[0017] 도 7은 디스플레이 상에 그래픽 요소들을 프레젠테이션하기 위한 매핑된 손 영역들 사이의 예시적인 양손 상호 작용의 사시적 예시이다.
[0018] 도 8은 디스플레이 상에 그래픽 요소들을 프레젠테이션하기 위한 예시적인 양손 손 제스처의 사시적 예시이다.
[0019] 도 9는 디스플레이 상의 그래픽 요소들의 프레젠테이션을 제어하기 위한 다른 예시적인 양손 상호 작용의 사시적 예시이다.
[0020] 도 10은 검출된 양손 손 제스처들에 응답하여 가상 요소들 또는 그래픽 요소들의 디스플레이 상의 프레젠테이션을 제어하는 예시적인 방법의 단계들을 열거하는 흐름도이다.
[0007] 도면들에 도시된 다양한 요소들은 달리 지시되지 않는 한 일정한 비율로 그려져 있는 것은 아니다. 다양한 요소들의 치수들은 명료성을 위해 확대 또는 축소될 수 있다. 몇몇 도면들은 하나 이상의 구현을 묘사하며 단지 예로서 제시되고 제한적인 것으로서 해석되어서는 안 된다. 도면에는 다음의 도면들이 포함된다:
[0008] 도 1a는 예시적인 양손 제어 시스템에서 사용하기에 적합한 아이웨어 디바이스의 예시적인 하드웨어 구성의 측면도(우측)이다.
[0009] 도 1b는 우측 가시광 카메라, 및 회로 기판을 묘사하는 도 1a의 아이웨어 디바이스의 우측 코너의 사시적 부분 단면도이다.
[0010] 도 1c는 좌측 가시광 카메라를 보여주는, 도 1a의 아이웨어 디바이스의 예시적인 하드웨어 구성의 측면도(좌측)이다.
[0011] 도 1d는 좌측 가시광 카메라, 및 회로 기판을 묘사하는 도 1c의 아이웨어 디바이스의 좌측 코너의 사시적 부분 단면도이다.
[0012] 도 2a 및 도 2b는 예시적인 양손 제어 시스템에서 이용되는 아이웨어 디바이스의 예시적인 하드웨어 구성의 후면도들이다.
[0013] 도 3은 3차원 장면, 좌측 가시광 카메라에 의해 캡처된 좌측 원시 이미지, 및 우측 가시광 카메라에 의해 캡처된 우측 원시 이미지의 도식적 묘사이다.
[0014] 도 4는 웨어러블 디바이스(예를 들어, 아이웨어 디바이스) 및 다양한 네트워크들을 통해 접속된 서버 시스템을 포함하는 예시적인 양손 제어 시스템의 기능 블록도이다.
[0015] 도 5는 도 4의 예시적인 양손 제어 시스템에서 사용하기에 적합한 모바일 디바이스에 대한 예시적인 하드웨어 구성의 도식적 표현이다.
[0016] 도 6은 동시 로컬라이제이션 및 매핑을 기술하는 데 사용하기 위한 예시적인 환경에서의 사용자의 개략적 예시이다.
[0017] 도 7은 디스플레이 상에 그래픽 요소들을 프레젠테이션하기 위한 매핑된 손 영역들 사이의 예시적인 양손 상호 작용의 사시적 예시이다.
[0018] 도 8은 디스플레이 상에 그래픽 요소들을 프레젠테이션하기 위한 예시적인 양손 손 제스처의 사시적 예시이다.
[0019] 도 9는 디스플레이 상의 그래픽 요소들의 프레젠테이션을 제어하기 위한 다른 예시적인 양손 상호 작용의 사시적 예시이다.
[0020] 도 10은 검출된 양손 손 제스처들에 응답하여 가상 요소들 또는 그래픽 요소들의 디스플레이 상의 프레젠테이션을 제어하는 예시적인 방법의 단계들을 열거하는 흐름도이다.
[0021] 양손 손 제스처들을 사용하여, AR, VR, XR, 또는 이들의 조합에서 그래픽 요소들과 가상 요소들을 프레젠테이션하고 제어하는 예들에 관련하여 다양한 구현들 및 세부 사항들이 설명된다. 예를 들어, 다른 손의 매핑된 영역 상의 가상 버튼을 터치하는 손가락 끝이 간접적인 가상 시스템 입력을 제공한다. 이 예에 따르면, 능동적인 손 추적이 손가락 끝과 가상 버튼의 교차를 검출하여, 다른 손을 터치하는 손가락 끝의 물리적 감각과 밀접하게 상관되는 시스템 이벤트를 야기한다.
[0022] 예들은 아이웨어 디바이스로 검출된 양손 제스처들에 응답하여 그래픽 요소를 프레젠테이션하는 방법을 포함한다. 아이웨어 디바이스는 카메라 시스템, 이미지 프로세싱 시스템, 로컬라이제이션 시스템, 및 디스플레이를 포함한다. 방법은 카메라 시스템으로 비디오 데이터의 프레임들을 캡처하는 단계 및 이미지 프로세싱 시스템을 사용하여 캡처된 비디오 데이터의 프레임들에서 제1 손을 검출하는 단계를 포함한다. 방법은 검출된 제1 손과 연관된 제1 매핑된 영역을 정의하는 단계 ― 제1 매핑된 영역은 디스플레이 평면에 대해 정의됨 ―; 및 정의된 제1 매핑된 영역에 대한 타깃 포지션에서 타깃 아이콘을 디스플레이 상에 프레젠테이션하는 단계를 추가로 포함한다. 손 위의 제1 매핑된 영역을 디스플레이 평면과 상관시키기 위해, 방법은, 로컬라이제이션 시스템을 사용하여, 정의된 제1 매핑된 영역에 대한 현재 아이웨어 로케이션을 결정하는 단계 및 현재 아이웨어 로케이션에 따라, 정의된 제1 매핑된 영역과 디스플레이 평면 간의 상관을 계산하는 단계를 포함한다.
[0023] 또한, 방법은, 이미지 프로세싱 시스템을 사용하여, 타깃 포지션에 대해, 검출된 제1 손 및 제2 손의 손가락 끝과 연관된 일련의 현재 손가락 끝 로케이션들을 포함하는 일련의 양손 손 형상들을 검출하는 단계를 포함한다. 방법은, 이미지 프로세싱 시스템을 사용하여, 검출된 일련의 양손 손 형상들이 복수의 미리 정의된 손 제스처들 중에서 선택된 미리 정의된 손 제스처와 매칭되는지 여부를 결정하는 단계를 추가로 포함한다. 매칭에 응답하여, 방법은 매칭되는 미리 정의된 손 제스처에 따라 선택 액션을 실행하는 단계를 포함한다.
[0024] 아이웨어 디바이스로 정지 이미지들을 캡처하는 것과 관련하여 다양한 시스템들 및 방법들이 본 명세서에서 기술되어 있기는 하지만, 설명된 기술은 다른 디바이스들에 의해 캡처된 비디오 데이터의 프레임들의 시퀀스로부터 정지 이미지들을 선택하고 캡처하는 것에 적용될 수 있다.
[0025] 다음의 상세한 설명은 본 개시에서 제시된 예들을 예시하는 시스템들, 방법들, 기법들, 명령어 시퀀스들, 및 컴퓨팅 기계 프로그램 제품들을 포함한다. 개시된 주제 및 그의 관련 교시 내용들의 완전한 이해를 제공하기 위해 많은 세부 사항들 및 예들이 포함되어 있다. 그러나, 관련 기술분야의 기술자들은 그러한 세부 사항들 없이도 관련 교시 내용들을 어떻게 적용할지를 이해할 수 있다. 개시된 주제의 양태들은, 관련 교시 내용들이 다양한 방식들로 적용되거나 실시될 수 있기 때문에, 설명된 특정 디바이스들, 시스템들, 및 방법들로 제한되지는 않는다. 본 명세서에서 사용된 용어 및 명명법은 단지 특정 양태들을 기술하기 위해 사용된 것일 뿐이고, 제한하려고 의도된 것은 아니다. 일반적으로, 잘 알려진 명령어 인스턴스들, 프로토콜들, 구조들, 및 기법들이 반드시 상세히 제시되어 있는 것은 아니다.
[0026] 본 명세서에서 사용되는 "결합된" 또는 "접속된"이라는 용어들은 하나의 시스템 요소에 의해 생성 또는 공급되는 전기 또는 자기 신호들이 다른 결합된 또는 접속된 시스템 요소에 전달되는 링크 등을 포함하는, 임의의 논리적, 광학적, 물리적, 또는 전기적 접속을 지칭한다. 달리 기술되지 않는 한, 결합된 또는 접속된 요소들 또는 디바이스들은 반드시 서로 직접 접속되는 것은 아니며, 중간 컴포넌트들, 요소들 또는 통신 매체에 의해 분리될 수 있으며, 이들 중 하나 이상이 전기 신호들을 수정, 조작, 또는 운반할 수 있다. "상에(on)"라는 용어는 요소에 의해 직접 지지되는 것 또는 해당 요소에 통합되거나 해당 요소에 의해 지지되는 다른 요소를 통해 해당 요소에 의해 간접적으로 지지되는 것을 의미한다.
[0027] "근위(proximal)"라는 용어는 객체 또는 사람 근처에, 인접하여, 또는 옆에 위치해 있는; 또는 "원위(distal)"로서 기술될 수 있는, 항목의 다른 부분들에 비해 상대적으로 더 가까운 항목 또는 항목의 일부를 기술하기 위해 사용된다. 예를 들어, 객체에 가장 가까운 항목의 단부는 근위 단부라고 지칭될 수 있는 반면, 일반적으로 반대되는 단부는 원위 단부라고 지칭될 수 있다.
[0028] 도면들 중 임의의 도면에 도시된 것과 같은, 아이웨어 디바이스, 다른 모바일 디바이스들, 연관된 컴포넌트들 및 카메라, 관성 측정 유닛, 또는 양쪽 모두를 포함하는 임의의 다른 디바이스들의 배향들은, 예시 및 논의를 위해, 단지 예로서 주어져 있다. 동작 시에, 아이웨어 디바이스는 아이웨어 디바이스의 특정 응용에 적합한 임의의 다른 방향으로; 예를 들어, 위로, 아래로, 옆으로, 또는 임의의 다른 배향으로 배향될 수 있다. 또한, 본 명세서에서 사용되는 한은, 전방, 후방, 내측, 외측, 향하여, 좌측, 우측, 가로, 세로, 위, 아래, 상부, 하부, 최상부, 최하부, 측면, 수평, 수직, 및 대각선과 같은 임의의 방향 용어는 단지 예로서 사용되며, 본 명세서에서 구성된 바와 같은 또는 달리 기술된 바와 같은 임의의 카메라 또는 관성 측정 유닛의 방향 또는 배향에 대해 제한적인 것은 아니다.
[0029] 지각적으로 풍부하고 몰입감 있는 체험을 생성하기 위해 컴퓨터 비전 및 객체 추적과 같은, 고급 AR 기술들이 사용될 수 있다. 컴퓨터 비전 알고리즘들이 디지털 이미지들 또는 비디오에서 캡처된 데이터로부터 물리적 세계에 관한 3차원 데이터를 추출한다. 디지털 이미지 또는 비디오에서 객체를 검출하고, 그것의 배향 또는 포즈를 추정하고, 시간 경과에 따른 그것의 움직임을 추적하기 위해 객체 인식 및 추적 알고리즘들이 사용된다. 실시간으로 손과 손가락을 인식하고 추적하는 것은 컴퓨터 비전 분야에서 가장 도전적이고 프로세싱 집약적인 태스크들 중 하나이다.
[0030] "포즈"라는 용어는 특정 순간에서의 객체의 정적 포지션 및 배향을 지칭한다. "제스처"라는 용어는, 때때로 신호 또는 아이디어를 전달하기 위한, 일련의 포즈들을 통한, 손과 같은 객체의 능동적인 움직임을 지칭한다. 포즈 및 제스처라는 용어들은 때때로 컴퓨터 비전 및 증강 현실 분야에서 교환 가능하게 사용된다. 본 명세서에서 사용되는, "포즈" 또는 "제스처"(또는 이들의 변형들)라는 용어들은 포즈들과 제스처들 양쪽 모두를 포함하도록 의도되어 있으며; 다시 말해서, 하나의 용어의 사용이 다른 용어를 배제하지 않는다.
[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)의 이미지 디스플레이 상의 그래픽 사용자 인터페이스 요소를 선택하거나 제출하는 주요 액션일 수 있다.
[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)를 묘사한다. 일반적으로, "시야(field of view)"는 공간에서의 특정 포지션 및 배향에서 카메라를 통해 보이는 장면의 부분이다. 시야들(111A 및 111B)은 겹치는 시야(304)(도 3)를 갖는다. 가시광 카메라가 이미지를 캡처할 때 시야(111A, 111B) 외부의 객체들 또는 객체 특징들은 원시 이미지(예를 들어, 사진 또는 그림)에 기록되지 않는다. 시야는 가시광 카메라(114A, 114B)의 이미지 센서가 주어진 장면의 캡처된 이미지에서 주어진 장면의 전자기 복사를 픽업하는, 각도 범위 또는 정도를 기술한다. 시야는 뷰 콘(view cone)의 각도 크기; 즉, 시야각(angle of view)으로서 표현될 수 있다. 시야각은 수평으로, 수직으로, 또는 대각선으로 측정될 수 있다.
[0041] 예시적인 구성에서, 가시광 카메라들(114A, 114B) 중 하나 또는 양쪽 모두는 100°의 시야와 480x480 픽셀의 해상도를 갖는다. "커버리지 각도(angle of coverage)"는 가시광 카메라들(114A, 114B) 또는 적외선 카메라(410)(도 2a 참조)의 렌즈가 효과적으로 이미징할 수 있는 각도 범위를 기술한다. 전형적으로, 카메라 렌즈는 가능한 경우에 약간의 비네팅(예를 들어, 중앙과 비교할 때 가장자리들 쪽으로 이미지가 어두워지는 것)을 포함하여 카메라의 센서 또는 필름을 완전히 덮기에 충분히 큰 이미지 서클을 생성한다. 카메라 렌즈의 커버리지 각도가 센서를 채우지 않으면, 전형적으로 가장자리 쪽으로 강한 비네팅이 있는, 이미지 서클이 보일 것이며, 유효 시야각은 커버리지 각도로 제한될 것이다.
[0042] 그러한 가시광 카메라들(114A, 114B)의 예들은 고해상도 CMOS(complementary metal-oxide-semiconductor) 이미지 센서 및 480p(예를 들어, 640x480 픽셀), 720p, 1080p 또는 그 초과의 해상도들이 가능한 디지털 VGA 카메라(비디오 그래픽 어레이)를 포함한다. 다른 예들은 높은 프레임 레이트(예를 들어, 초당 30 내지 60프레임 이상)로 고화질(HD) 비디오를 캡처하고 1216x1216 픽셀들(또는 그 초과)의 해상도로 기록을 저장할 수 있는 가시광 카메라들(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)일 수 있는 회로 기판(140B)을 포함한다. 우측 힌지(126B)는 우측 코너(110B)를 아이웨어 디바이스(100)의 우측 안경다리(125B)에 접속한다. 일부 예들에서는, 우측 가시광 카메라(114B), 가요성 PCB(140B), 또는 다른 전기 커넥터들 또는 콘택들의 컴포넌트들이 우측 안경다리(125B) 또는 우측 힌지(126B) 상에 위치할 수 있다. 좌측 힌지(126A)는 좌측 코너(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) 사용자의 우측 눈과 상관되는 시선 또는 시점(perspective)을 갖는 외측을 향하는 시야(111B)(도 3에 도시됨)를 갖는다. 가시광 카메라 커버 렌즈는, 외측을 향하는 커버리지 각도를 갖되, 상이한 외측 방향으로 개구가 형성되어 있는 우측 코너(110B)의 전면 또는 외측을 향하는 표면에도 부착될 수 있다. 결합은 개재하는 컴포넌트들을 통해 간접적으로 이루어질 수도 있다.
[0049] 도 1b에 도시된 바와 같이, 가요성 PCB(140B)는 우측 코너(110B) 내부에 배치되고 우측 코너(110B)에 수용된 하나 이상의 다른 컴포넌트에 결합된다. 우측 코너(110B)의 회로 기판들 상에 형성되어 있는 것으로 도시되어 있기는 하지만, 우측 가시광 카메라(114B)는 좌측 코너(110A), 안경다리들(125A, 125B), 또는 프레임(105)의 회로 기판들 상에 형성될 수 있다.
[0050] 도 2a 및 도 2b는, 2개의 상이한 타입의 이미지 디스플레이들을 포함하는, 아이웨어 디바이스(100)의 예시적인 하드웨어 구성의, 후방으로부터의, 사시도들이다. 아이웨어 디바이스(100)는 사용자가 착용할 수 있도록 구성된 형태로 크기 및 형상이 조정되며; 본 예에서는 안경의 형태가 도시되어 있다. 아이웨어 디바이스(100)는 다른 형태들을 취할 수 있으며 다른 타입의 프레임워크들을 통합할 수 있다; 예를 들어, 헤드기어, 헤드셋, 또는 헬멧.
[0051] 안경 예에서는, 아이웨어 디바이스(100)는 사용자의 코에 의해 지지되도록 적응된 브리지(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), 유기 발광 다이오드(OLED) 디스플레이, 또는 임의의 다른 그러한 디스플레이와 같은, 적합한 디스플레이 매트릭스(177)를 포함한다. 각각의 광학 어셈블리(180A, 180B)는 렌즈들, 광학 코팅들, 프리즘들, 미러들, 도파관들, 광학 스트립들, 및 다른 광학 컴포넌트들을 임의의 조합으로 포함할 수 있는, 광학 층 또는 층들(176)을 또한 포함한다. 광학 층들(176A, 176B, … 176N)(도 2a 및 본 명세서에서는 176A-N으로 도시됨)은 적합한 크기 및 구성을 갖고 디스플레이 매트릭스로부터 광을 수신하기 위한 제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)는, 시각적 콘텐츠가 3차원 프로젝션으로서 디스플레이될 때 아이웨어 디바이스(100)를 해당 시각적 콘텐츠를 보기에 적합하게 만드는, 액티브 셔터 시스템을 생성하기 위해 LCD 층에 전압을 인가하도록 프로그래밍을 실행할 수 있다. 전압이나 다른 타입의 입력에 응답하는 다른 타입의 반응 층들을 포함하는, 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개의 프로젝터, 즉 좌측 프로젝터(도시되지 않음)와 우측 프로젝터(프로젝터(150)로서 도시됨)를 포함할 수 있다. 좌측 광학 어셈블리(180A)는 좌측 프로젝터(150A)로부터의 광과 상호 작용하도록 구성되는 좌측 디스플레이 매트릭스(177A)(도시되지 않음) 또는 좌측 광학 스트립들의 세트(155'A, 155'B, … 155'N)(155 프라임, A 내지 N, 도시되지 않음)를 포함할 수 있다. 유사하게, 우측 광학 어셈블리(180B)는 우측 프로젝터(150)로부터의 광과 상호 작용하도록 구성되는 우측 디스플레이 매트릭스(177B)(도시되지 않음) 또는 우측 광학 스트립들의 세트(155"A, 155"B, … 155"N)(155 더블 프라임, A 내지 N, 도시되지 않음)를 포함할 수 있다. 이 예에서는, 아이웨어 디바이스(100)는 좌측 디스플레이와 우측 디스플레이를 포함한다.
[0059] 도 3은 3차원 장면(306), 좌측 가시광 카메라(114A)에 의해 캡처된 좌측 원시 이미지(302A), 및 우측 가시광 카메라(114B)에 의해 캡처된 우측 원시 이미지(302B)의 도식적 묘사이다. 좌측 시야(111A)는, 도시된 바와 같이, 우측 시야(111B)와 겹칠 수 있다. 겹치는 시야(304)는 양쪽 카메라(114A, 114B)에 의해 캡처된 이미지의 해당 부분을 나타낸다. 시야각을 언급할 때 '겹치는(overlapping)'이라는 용어는 생성된 원시 이미지들 내의 픽셀들의 매트릭스가 30퍼센트(30%) 이상 겹치는 것을 의미한다. '실질적으로 겹치는'이란 생성된 원시 이미지들 내의 - 또는 장면의 적외선 이미지 내의 - 픽셀들의 매트릭스가 50퍼센트(50%) 이상 겹치는 것을 의미한다. 본 명세서에서 기술된 바와 같이, 2개의 원시 이미지(302A, 302B)는, 이미지들이 3차원 프로젝션의 일부로서 함께 디스플레이될 수 있게 하는, 타임스탬프를 포함하도록 프로세싱될 수 있다.
[0060] 스테레오 이미지들의 캡처를 위해, 도 3에 예시된 바와 같이, 주어진 순간에 실제 장면(306)의 원시 적색, 녹색, 및 청색(RGB) 이미지들의 쌍이 캡처된다 - 좌측 카메라(114A)에 의해 캡처된 좌측 원시 이미지(302A)와 우측 카메라(114B)에 의해 캡처된 우측 원시 이미지(302B). 원시 이미지들(302A, 302B)의 쌍이 프로세싱될 때(예를 들어, 이미지 프로세서(412)에 의해), 깊이 이미지들이 생성된다. 생성된 깊이 이미지들은 아이웨어 디바이스의 광학 어셈블리(180A, 180B) 상에서, 다른 디스플레이(예를 들어, 모바일 디바이스(401) 상의 이미지 디스플레이(580)) 상에서, 또는 스크린 상에서 볼 수 있다.
[0061] 생성된 깊이 이미지들은 3차원 공간 영역에 있으며 수평 포지션(예를 들어, 길이)에 대한 X축, 수직 포지션(예를 들어, 길이)에 대한 Y축, 및 깊이(예를 들어, 거리)에 대한 Z축을 포함하는 3차원 로케이션 좌표계 상의 정점들의 행렬을 포함할 수 있다. 각각의 정점은 컬러 속성(예를 들어, 적색 픽셀 광 값, 녹색 픽셀 광 값, 또는 청색 픽셀 광 값); 포지션 속성(예를 들어, X 로케이션 좌표, Y 로케이션 좌표, 및 Z 로케이션 좌표); 텍스처 속성; 반사율 속성; 또는 이들의 조합을 포함할 수 있다. 텍스처 속성은 깊이 이미지의 정점들의 영역에서의 강도들 또는 컬러의 공간적 배열과 같은, 깊이 이미지의 인지된 텍스처를 정량화한다.
[0062] 일 예에서는, 양손 제어 시스템(400)(도 4)은, 프레임(105), 프레임(105)의 좌측 측면(170A)으로부터 연장되는 좌측 안경다리(125A) 및 프레임(105)의 우측 측면(170B)으로부터 연장되는 우측 안경다리(125B)를 포함하는 아이웨어 디바이스(100)를 포함한다. 아이웨어 디바이스(100)는 겹치는 시야를 갖는 적어도 2개의 가시광 카메라(114A, 114B)를 추가로 포함할 수 있다. 일 예에서는, 아이웨어 디바이스(100)는, 도 3에 예시된 바와 같이, 좌측 시야(111A)를 갖는 좌측 가시광 카메라(114A)를 포함한다. 좌측 카메라(114A)는 프레임(105) 또는 좌측 안경다리(125A)에 접속되어 장면(306)의 좌측 측면으로부터 좌측 원시 이미지(302A)를 캡처한다. 아이웨어 디바이스(100)는 우측 시야(111B)를 갖는 우측 가시광 카메라(114B)를 추가로 포함한다. 우측 카메라(114B)는 프레임(105) 또는 우측 안경다리(125B)에 접속되어 장면(306)의 우측 측면으로부터 우측 원시 이미지(302B)를 캡처한다.
[0063] 도 4는 웨어러블 디바이스(예를 들어, 아이웨어 디바이스(100)), 모바일 디바이스(401), 및 인터넷과 같은 다양한 네트워크들(495)을 통해 접속된 서버 시스템(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)의 2개의 이미지 디스플레이(하나는 좌측 측면(170A)과 연관되고 다른 하나는 우측 측면(170B)과 연관됨)를 추가로 포함한다. 아이웨어 디바이스(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) 또는 가요성 인쇄 회로(FPC) 상에 위치한다. 대안적으로, 또는 추가적으로, 묘사된 컴포넌트들은 아이웨어 디바이스(100)의 코너들, 프레임들, 힌지들, 또는 브리지에 위치할 수 있다. 좌측 및 우측 가시광 카메라들(114A, 114B)은 디지털 카메라 요소들, 예컨대 CMOS(complementary metal-oxide-semiconductor) 이미지 센서, 전하 결합 디바이스, 렌즈, 또는 미지의 객체들이 있는 장면들의 정지 이미지들 또는 비디오를 포함하여 데이터를 캡처하기 위해 사용될 수 있는 임의의 다른 개개의 가시 또는 광 캡처 요소들을 포함할 수 있다.
[0068] 도 4에 도시된 바와 같이, 고속 회로(430)는 고속 프로세서(432), 메모리(434), 및 고속 무선 회로(436)를 포함한다. 이 예에서는, 이미지 디스플레이 드라이버(442)는 각각의 광학 어셈블리(180A, 180B)의 좌측 및 우측 이미지 디스플레이들을 구동하기 위해 고속 회로(430)에 결합되어 고속 프로세서(432)에 의해 작동된다. 고속 프로세서(432)는 아이웨어 디바이스(100)에 필요한 임의의 일반적인 컴퓨팅 시스템의 고속 통신 및 동작을 관리할 수 있는 임의의 프로세서일 수 있다. 고속 프로세서(432)는 고속 무선 회로(436)를 사용하여 무선 근거리 네트워크(WLAN)로의 고속 무선 접속(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™ 또는 Bluetooth Low-Energy(BLE)) 및 무선 광역, 근거리, 또는 광역 네트워크 트랜시버들(예를 들어, 셀룰러 또는 Wi-Fi)을 포함할 수 있다. 저전력 무선 접속(425) 및 고속 무선 접속(437)을 통해 통신하는 트랜시버들을 포함하는 모바일 디바이스(401)는, 네트워크(495)의 다른 요소들과 마찬가지로, 아이웨어 디바이스(100)의 아키텍처의 세부 사항들을 사용하여 구현될 수 있다.
[0071] 메모리(434)는, 무엇보다도, 좌측 및 우측 가시광 카메라들(114A, 114B), 적외선 카메라(들)(410), 이미지 프로세서(412)에 의해 생성된 카메라 데이터, 및 각각의 광학 어셈블리(180A, 180B)의 이미지 디스플레이 상의 이미지 디스플레이 드라이버(442)에 의한 디스플레이를 위해 생성된 이미지들을 포함하여, 다양한 데이터 및 애플리케이션들을 저장할 수 있는 임의의 저장 디바이스를 포함한다. 메모리(434)는 고속 회로(430)와 통합된 것으로 도시되어 있기는 하지만, 다른 예들에서는, 메모리(434)는 아이웨어 디바이스(100)의 독립적인 독립형 요소일 수 있다. 그러한 특정 예들에서는, 전기 라우팅 라인들은 이미지 프로세서(412) 또는 저전력 프로세서(422)로부터 메모리(434)로의 고속 프로세서(432)를 포함하는 칩을 통한 접속을 제공할 수 있다. 다른 예들에서는, 고속 프로세서(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), 플라즈마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 프로젝터, 또는 도파관과 같은 디스플레이)을 포함한다. 아이웨어 디바이스(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 systems)일 수 있다. 일부 예시적인 구성들에서 관성 측정 유닛(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)에 대한 속도를 획득하고; 다시 적분하여 디바이스(100)의 포지션(선형 좌표들, x, y 및 z로)을 획득할 수 있다. 자이로스코프로부터의 각속도 데이터를 적분하여 디바이스(100)의 포지션(구면 좌표들로)을 획득할 수 있다. 이들 유용한 값을 계산하기 위한 프로그래밍은 메모리(434)에 저장되고 아이웨어 디바이스(100)의 고속 프로세서(432)에 의해 실행될 수 있다.
[0078] 아이웨어 디바이스(100)는 옵션으로 추가적인 주변 센서들, 예컨대 생체 인식 센서들, 특수목적 센서들, 또는 아이웨어 디바이스(100)와 통합된 디스플레이 요소들을 포함할 수 있다. 예를 들어, 주변 디바이스 요소들은 출력 컴포넌트들, 모션 컴포넌트들, 포지션 컴포넌트들, 또는 본 명세서에서 기술된 임의의 다른 그러한 요소들을 포함한 임의의 I/O 컴포넌트들을 포함할 수 있다. 예를 들어, 생체 인식 센서들은 표현들(예를 들어, 손 표현들, 얼굴 표정들, 음성 표현들, 바디 제스처들, 또는 시선 추적)을 검출하거나, 생체 신호들(예를 들어, 혈압, 심박수, 체온, 땀, 또는 뇌파들)을 측정하거나, 또는 사람을 식별하거나(예를 들어, 음성, 망막, 얼굴 특징들, 지문들, 또는 뇌전도 데이터와 같은 전기적 생체 신호들에 기초한 식별) 하는 컴포넌트들을 포함할 수 있다.
[0079] 모바일 디바이스(401)는 저전력 무선 접속(425) 및 고속 무선 접속(437) 양쪽 모두를 사용하여 아이웨어 디바이스(100)와 접속할 수 있는 스마트폰, 태블릿, 랩톱 컴퓨터, 액세스 포인트, 또는 임의의 다른 그러한 디바이스일 수 있다. 모바일 디바이스(401)는 서버 시스템(498) 및 네트워크(495)에 접속된다. 네트워크(495)는 유선 및 무선 접속들의 임의의 조합을 포함할 수 있다.
[0080] 양손 제어 시스템(400)은, 도 4에 도시된 바와 같이, 네트워크를 통해 아이웨어 디바이스(100)에 결합된, 모바일 디바이스(401)와 같은 컴퓨팅 디바이스를 포함한다. 양손 제어 시스템(400)은 명령어들을 저장하기 위한 메모리와 명령어들을 실행하기 위한 프로세서를 포함한다. 프로세서(432)에 의한 양손 제어 시스템(400)의 명령어들의 실행은 모바일 디바이스(401)와 협력하도록 아이웨어 디바이스(100)를 구성한다. 양손 제어 시스템(400)은 아이웨어 디바이스(100)의 메모리(434) 또는 모바일 디바이스(401)(도 5)의 메모리 요소들(540A, 540B, 540C)을 이용할 수 있다. 또한, 양손 제어 시스템(400)은 아이웨어 디바이스(100)의 프로세서 요소들(432, 422) 또는 모바일 디바이스(401)(도 5)의 중앙 프로세싱 유닛(CPU)(530)을 이용할 수 있다. 또한, 양손 제어 시스템(400)은 서버 시스템(498)의 메모리 및 프로세서 요소들을 더 이용할 수 있다. 이러한 양태에서, 양손 제어 시스템(400)의 메모리 및 프로세싱 기능들이 아이웨어 디바이스(100), 모바일 디바이스(401), 및 서버 시스템(498)의 프로세서들 및 메모리들에 걸쳐 공유되거나 분산될 수 있다.
[0081] 메모리(434)는, 일부 예시적인 구현들에서는, 본 명세서에서 기술된 바와 같이, 손 제스처 라이브러리(480)를 포함하거나 그에 결합된다. 손 형상을 검출하는 프로세스는, 일부 구현들에서는, 하나 이상의 캡처된 비디오 데이터(900)의 프레임들 내의 픽셀-레벨 데이터를 라이브러리(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)은 IEEE802.11 하의 Wi-Fi 표준들 중 하나와 같은 무선 근거리 네트워크들에서 구현되는 통신의 하나 이상의 표준 프로토콜과 호환되는 타입의 임의의 이용 가능한 양방향 무선 근거리 네트워크(WLAN) 트랜시버의 형태를 취할 수 있다.
[0088] 모바일 디바이스(401)의 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해, 모바일 디바이스(401)는 GPS(global positioning system) 수신기를 포함할 수 있다. 대안적으로, 또는 추가적으로 모바일 디바이스(401)는 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해 단거리 XCVR들(520) 및 WWAN XCVR들(510) 중 어느 하나 또는 양쪽 모두를 이용할 수 있다. 예를 들어, 셀룰러 네트워크, Wi-Fi, 또는 Bluetooth™ 기반 포지셔닝 시스템들은, 특히 조합하여 사용될 때, 매우 정확한 로케이션 좌표들을 생성할 수 있다. 그러한 로케이션 좌표들은 XCVR들(510, 520)을 통해 하나 이상의 네트워크 접속을 통해 아이웨어 디바이스에 송신될 수 있다.
[0089] 일부 예들에서 클라이언트 디바이스(401)는 클라이언트 디바이스(401)의 포지션, 배향, 및 모션을 감지하기 위한 관성 측정 유닛(IMU)(572)이라고 지칭되는 모션 감지 컴포넌트들의 컬렉션을 포함한다. 모션 감지 컴포넌트들은, 종종 마이크로칩의 일부가 될 만큼 작은, 미세한 이동 부분들을 갖는 MEMS(micro-electro-mechanical systems)일 수 있다. 일부 예시적인 구성들에서 관성 측정 유닛(IMU)(572)은 가속도계, 자이로스코프, 및 자력계를 포함한다. 가속도계는 3개의 직교축(x, y, z)에 대한 클라이언트 디바이스(401)의 선형 가속도(중력으로 인한 가속도를 포함함)를 감지한다. 자이로스코프는 3개의 회전축(피치, 롤, 요)에 대한 클라이언트 디바이스(401)의 각속도를 감지한다. 가속도계 및 자이로스코프는, 함께, 6개의 축(x, y, z, 피치, 롤, 요)에 대한 디바이스에 관한 포지션, 배향, 및 모션 데이터를 제공할 수 있다. 자력계는, 존재한다면, 자북에 대한 클라이언트 디바이스(401)의 방향을 감지한다.
[0090] IMU(572)는 컴포넌트들로부터 원시 데이터를 수집하여 클라이언트 디바이스(401)의 포지션, 배향, 및 모션에 관한 다수의 유용한 값들을 계산하는 프로그래밍 또는 디지털 모션 프로세서를 포함하거나 이와 협력할 수 있다. 예를 들어, 가속도계로부터 수집된 가속도 데이터를 적분하여 각각의 축(x, y, z)에 대한 속도를 획득하고; 다시 적분하여 클라이언트 디바이스(401)의 포지션(선형 좌표들, x, y 및 z로)을 획득할 수 있다. 자이로스코프로부터의 각속도 데이터를 적분하여 클라이언트 디바이스(401)의 포지션(구면 좌표들로)을 획득할 수 있다. 이들 유용한 값을 계산하기 위한 프로그래밍은 하나 이상의 메모리 요소(540A, 540B, 540C)에 저장되고 클라이언트 디바이스(401)의 CPU(540)에 의해 실행될 수 있다.
[0091] 트랜시버들(510, 520)(즉, 네트워크 통신 인터페이스)은 현대의 이동 네트워크들에 의해 이용되는 다양한 디지털 무선 통신 표준들 중 하나 이상을 준수한다. WWAN 트랜시버(510)들의 예들은, 예를 들어 그리고 제한 없이, 3GPP 타입 2(또는 3GPP2) 및 때때로 "4G"라고 지칭되는 LTE를 포함하는 CDMA(Code Division Multiple Access) 및 3GPP(3rd Generation Partnership Project) 네트워크 기술들에 따라 동작하도록 구성되는 트랜시버들을 포함한다(그러나 이에 제한되지는 않는다). 예를 들어, 트랜시버들(510, 520)은 디지털화된 오디오 신호들, 정지 이미지 및 비디오 신호들, 디스플레이를 위한 웹 페이지 정보뿐만 아니라 웹 관련 입력들을 포함하는 정보의 양방향 무선 통신, 및 모바일 디바이스(401)로의/로부터의 다양한 타입들의 모바일 메시지 통신들을 제공한다.
[0092] 모바일 디바이스(401)는 도 4에서 CPU(530)로서 도시된, 중앙 프로세싱 유닛(CPU)으로서 기능하는 마이크로프로세서를 추가로 포함한다. 프로세서는 하나 이상의 프로세싱 기능, 전형적으로 다양한 데이터 프로세싱 기능들을 수행하도록 구조화되고 배열된 요소들을 갖는 회로이다. 개별 로직 컴포넌트들이 사용될 수 있기는 하지만, 예들은 프로그래머블 CPU를 형성하는 컴포넌트들을 이용한다. 마이크로프로세서는 예를 들어 CPU의 기능들을 수행하기 위해 전자 요소들을 통합한 하나 이상의 집적 회로(IC) 칩을 포함한다. CPU(530)는, 예를 들어, 오늘날 모바일 디바이스들 및 다른 휴대용 전자 디바이스들에서 흔히 사용되는, ARM 아키텍처를 사용하는 RISC(Reduced Instruction Set Computing)와 같은 임의의 알려진 또는 이용 가능한 마이크로프로세서 아키텍처에 기초할 수 있다. 물론, 스마트폰, 랩톱 컴퓨터, 및 태블릿에서 CPU(530) 또는 프로세서 하드웨어를 형성하기 위해 프로세서 회로의 다른 배열들이 사용될 수도 있다.
[0093] CPU(530)는, 예를 들어, CPU(530)에 의해 실행 가능한 명령어들 또는 프로그래밍에 따라, 다양한 동작들을 수행하도록 모바일 디바이스(401)를 구성함으로써 모바일 디바이스(401)에 대한 프로그래머블 호스트 컨트롤러로서의 역할을 한다. 예를 들어, 그러한 동작들은 모바일 디바이스의 다양한 일반적인 동작들뿐만 아니라, 모바일 디바이스 상의 애플리케이션들에 대한 프로그래밍과 관련된 동작들을 포함한다. 프로세서는 하드와이어드 로직을 이용하여 구성될 수도 있기는 하지만, 모바일 디바이스들 내의 전형적인 프로세서들은 프로그래밍의 실행에 의해 구성되는 일반적인 프로세싱 회로들이다.
[0094] 모바일 디바이스(401)는 프로그래밍 및 데이터를 저장하기 위한 메모리 또는 스토리지 시스템을 포함한다. 이 예에서는, 메모리 시스템은 플래시 메모리(540A), 랜덤 액세스 메모리(RAM)(540B), 및 필요에 따라 다른 메모리 컴포넌트들(540C)을 포함한다. RAM(540B)은 CPU(530)에 의해 처리되는 명령어들 및 데이터에 대한 단기 스토리지로서의 역할, 예를 들어, 작업 데이터 프로세싱 메모리로서의 역할을 한다. 플래시 메모리(540A)는 전형적으로 더 장기의 스토리지를 제공한다.
[0095] 그러므로, 모바일 디바이스(401)의 예에서, 플래시 메모리(540A)는 CPU(530)에 의한 실행을 위한 프로그래밍 또는 명령어들을 저장하기 위해 사용된다. 디바이스의 타입에 따라서는, 모바일 디바이스(401)는 특정 응용들이 실행되는 모바일 운영 체제를 저장하고 실행한다. 모바일 운영 체제들의 예들은 Google Android, Apple iOS(iPhone 또는 iPad 디바이스용), Windows Mobile, Amazon Fire OS, RIM BlackBerry OS 등을 포함한다.
[0096] 아이웨어 디바이스(100) 내의 프로세서(432)는 아이웨어 디바이스(100)를 둘러싸는 환경의 맵을 구성하고, 매핑된 환경 내의 아이웨어 디바이스의 로케이션을 결정하고, 매핑된 환경 내의 하나 이상의 객체에 대한 아이웨어 디바이스의 상대적 포지션을 결정할 수 있다. 프로세서(432)는 하나 이상의 센서로부터 수신된 데이터에 적용되는 동시 로컬라이제이션 및 매핑(simultaneous localization and mapping, SLAM) 알고리즘을 사용하여 맵을 구성하고 로케이션 및 포지션 정보를 결정할 수 있다. 센서 데이터는 카메라(114A, 114B) 중 하나 또는 양쪽 모두로부터 수신된 이미지들, 레이저 거리 측정기로부터 수신된 거리(들), GPS 유닛(473)으로부터 수신된 포지션 정보, IMU(572)로부터 수신된 모션 및 가속도 데이터, 또는 그러한 센서들로부터의 데이터, 또는 포지션 정보를 결정하는 데 유용한 데이터를 제공하는 다른 센서들로부터의 데이터의 조합을 포함한다. 증강 현실의 컨텍스트에서, SLAM 알고리즘은 환경의 맵을 구성하고 업데이트하는 한편, 동시에 매핑된 환경 내의 디바이스(또는 사용자)의 로케이션을 추적하고 업데이트하기 위해 사용된다. 수학적 솔루션은 입자 필터들, 칼만 필터들, 확장 칼만 필터들, 및 공분산 교집합(covariance intersection)과 같은 다양한 통계 방법들을 사용하여 근사화할 수 있다. 높은 프레임 레이트(예를 들어, 초당 30프레임)로 비디오를 캡처하는 고화질(HD) 비디오 카메라를 포함하는 시스템에서는, SLAM 알고리즘은 적어도 프레임 레이트만큼 빈번하게 맵과 객체들의 로케이션을 업데이트한다; 다시 말해서, 매핑과 로컬라이제이션을 초당 30회 계산하고 업데이트한다.
[0097] 센서 데이터는 카메라(114A, 114B) 중 하나 또는 양쪽 모두로부터 수신된 이미지(들), 레이저 거리 측정기로부터 수신된 거리(들), GPS 유닛(473)으로부터 수신된 포지션 정보, IMU(472)로부터 수신된 모션 및 가속도 데이터, 또는 그러한 센서들로부터의 데이터, 또는 포지션 정보를 결정하는 데 유용한 데이터를 제공하는 다른 센서들로부터의 데이터의 조합을 포함한다.
[0098] 도 6은 SLAM 애플리케이션 및 다른 타입의 추적 애플리케이션들(예를 들어, 자연 특징 추적(natural feature tracking, NFT))을 사용할 때 유용한 요소들과 함께 예시적인 물리적 환경(600)을 묘사한다. 아이웨어 디바이스(100)의 사용자(602)는 예시적인 물리적 환경(600)(도 6에서는, 실내임)에 존재한다. 아이웨어 디바이스(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) 내의 가상 객체(608)(예컨대 도 6에 도시된 열쇠)를 포지셔닝할 수 있다.
[0099] 일부 예들에서 로컬라이제이션 시스템(915)은 환경(600) 내의 가상 객체(608)와 연관된 가상 마커(610a)이다. 증강 현실에서는, 마커들이 환경 내의 로케이션들에 등록되어 디바이스들이 매핑된 환경 내의 사용자들, 디바이스들, 및 객체들(가상 및 물리적)의 로케이션을 추적하고 업데이트하는 태스크를 돕는다. 마커들은 때때로 더 밝은 컬러의 벽에 설치된, 액자에 넣은 그림(604a)과 같은 비교적 어두운 객체와 같은 고대비 물리적 객체에 등록되어 카메라들 및 다른 센서들이 마커를 검출하는 태스크를 돕는다. 마커들은 미리 할당될 수 있거나 환경에 진입하면 아이웨어 디바이스(100)에 의해 할당될 수 있다.
[0100] 마커들은 정보가 인코딩되거나 또는 달리 정보에 링크될 수 있다. 마커는 포지션 정보, 물리적 코드(예컨대 바코드 또는 QR 코드; 사용자에게 보이거나 숨겨짐), 또는 이들의 조합을 포함할 수도 있다. 마커와 연관된 데이터 세트가 아이웨어 디바이스(100)의 메모리(434)에 저장된다. 데이터 세트는 마커(610a), 마커의 포지션(로케이션 및 배향), 하나 이상의 가상 객체, 또는 이들의 조합에 관한 정보를 포함한다. 마커 포지션은 도 6에 도시된 대체로 직사각형의 마커(610a)의 코너와 같은 하나 이상의 마커 랜드마크(616a)에 대한 3차원 좌표들을 포함할 수 있다. 마커 로케이션은 실제 지리적 좌표들, 마커 좌표계, 아이웨어 디바이스(100)의 포지션, 또는 다른 좌표계에 대해 표현될 수 있다. 마커(610a)와 연관된 하나 이상의 가상 객체는 정지 이미지들, 비디오, 오디오, 촉각 피드백, 실행 가능한 애플리케이션들, 대화형 사용자 인터페이스들 및 체험들, 및 그러한 자료의 조합들 또는 시퀀스들을 포함하는, 다양한 자료 중 임의의 것을 포함할 수 있다. 메모리에 저장될 수 있고 마커(610a)가 할당된 마커와 마주치거나 연관될 때 검색될 수 있는 임의의 타입의 콘텐츠가 이 컨텍스트에서 가상 객체로서 분류될 수 있다. 예를 들어, 도 6에 도시된 열쇠(608)는 마커 로케이션에, 2D 또는 3D 중 어느 하나의 정지 이미지로서 디스플레이된 가상 객체이다.
[0101] 일 예에서는, 마커(610a)는 물리적 객체(604a)(예를 들어, 도 6에 도시된 액자에 넣은 예술 작품) 근처에 위치하고 그와 연관되는 것으로서 메모리에 등록될 수 있다. 다른 예에서는, 마커는 아이웨어 디바이스(100)에 대한 특정 포지션인 것으로서 메모리에 등록될 수 있다.
[0102] 도 10은 아이웨어 디바이스(100)의 디스플레이(180) 상의 가상 요소 또는 그래픽 요소의 프레젠테이션을 제어하는 예시적인 방법을 묘사하는 흐름도(1000)이다. 단계들은 본 명세서에서 기술된 아이웨어 디바이스(100)와 관련하여 기술되어 있기는 하지만, 다른 타입의 디바이스들에 대해, 기술된 단계들의 다른 구현들이 본 명세서의 설명으로부터 당업자에 의해 이해될 것이다. 도시되고 기술된 단계들 중 하나 이상이 동시에, 연속하여 수행되거나, 도시되고 설명된 것과 다른 순서로 수행되거나, 또는 추가적인 단계들과 함께 수행될 수 있다. 일부 단계들은 생략되거나, 일부 애플리케이션들에서는, 반복될 수 있다.
[0103] 도 10의 블록 1002는 아이웨어 디바이스(100)의 카메라 시스템(114)으로 비디오 데이터(900)의 프레임들을 캡처하는 예시적인 단계를 기술한다. 일부 구현들에서는, 카메라 시스템(114)은, 본 명세서에서 기술된 바와 같이, 비디오 데이터(900)의 정지 이미지들 또는 프레임들을 캡처하기 위한 하나 이상의 카메라(114A, 114B)를 포함한다. 아이웨어 디바이스(100)는 이미지 프로세싱 시스템(920), 로컬라이제이션 시스템(915), 및 하나 이상의 디스플레이(180A, 180B)를 포함한다. 예를 들어, 도 7에 도시된 바와 같이, 아이웨어 디바이스(100)는, 본 명세서에서 기술된 바와 같이, 반투명 렌즈 층 및 아이웨어 디바이스의 렌즈 상에 이미지들을 프레젠테이션하도록 구성된 디스플레이 매트릭스 층을 포함할 수 있는 반투명 이미지 디스플레이(180B)를 포함한다. 그래픽 및 가상 요소들(700)(도 8 참조)은 물리적 환경(600)에 대해 오버레이로서 프레젠테이션된다. 도시된 바와 같은 효과는 주위 환경(600)도 디스플레이(180B)를 통해 계속 보이는 동안 뷰어가 프레젠테이션된 요소들(700)을 보고 그와 상호 작용할 수 있게 한다.
[0104] 일부 구현들에서는, 아이웨어 디바이스(100)의 고속 프로세서(432)는 착용자가 물리적 환경(600)을 통해 이동함에 따라 카메라 시스템(114)으로 캡처된 비디오 데이터(900)의 프레임들을 저장한다. 본 명세서에서 기술되고 도 7에 도시된 바와 같이, 카메라 시스템(114)은 전형적으로 디스플레이(180B)의 한계를 넘어 이미지들과 비디오를 캡처하는 카메라 시야(904)를 갖는다.
[0105] 카메라 시스템(114)은, 일부 구현들에서는, 비교적 높은 프레임 레이트(예를 들어, 초당 30프레임 이상)로 고화질 정지 이미지들 및 고화질 비디오를 캡처할 수 있는 CMOS 이미지 센서가 구비된 하나 이상의 고해상도 디지털 카메라를 포함한다. 디지털 비디오의 각각의 프레임은 이미지 내의 복수의 픽셀에 대한 깊이 정보를 포함한다. 이러한 양태에서, 카메라 시스템(114)은 물리적 환경의 상세한 입력 이미지를 캡처함으로써 고화질 스캐너로서의 역할을 한다. 카메라 시스템(114)은, 일부 구현들에서는, 아이웨어 디바이스(100)에 결합되고 본 명세서에서 기술된 바와 같이 좌측 카메라 원시 이미지 및 우측 카메라 원시 이미지를 취득하기 위해 이격된 고해상도 디지털 카메라들(114A, 114B)의 쌍을 포함한다. 원시 이미지들은, 조합될 때, 3차원 픽셀 로케이션들의 매트릭스를 포함하는 입력 이미지를 형성한다. 예시적인 방법은, 블록 1002에서, 일부 구현들에서는, 캡처된 비디오 데이터(900)의 프레임들이 분석에 이용될 수 있도록, 해당 프레임들을 아이웨어 디바이스(100) 상의 메모리(434)에 적어도 일시적으로 저장하는 단계를 포함한다.
[0106] 블록 1004는 이미지 프로세싱 시스템(920)을 사용하여 캡처된 비디오 데이터(900)의 프레임들에서 제1 손(650)을 검출하는 예시적인 단계를 기술한다. 일부 예시적인 구현들에서는, 이미지 프로세싱 시스템(920)은 캡처된 비디오 데이터(900)의 프레임들 내의 픽셀-레벨 데이터를 분석하여 프레임이 사람 손을 포함하는지 여부를 결정하고, 포함한다면, 도 7에 예시된 바와 같이, 프레임이 위로 향한 손의 손바닥 또는 손바닥 표면을 포함하는지 여부를 결정한다.
[0107] 블록 1006은 검출된 제1 손(650)과 연관된 제1 매핑된 영역(655)을 정의하는 예시적인 단계를 기술한다. 캡처된 비디오 데이터(900)의 프레임들에서 검출된 바와 같이, 시간이 흐르면서, 제1 손(650)이 움직임에 따라 제1 매핑된 영역(655)이 움직이도록, 정의된 제1 매핑된 영역(655)이 검출된 제1 손(650)과 지속적으로 연관된다. 제1 매핑된 영역(655)은 사용자가 볼 수 있도록 디스플레이(180B) 상에 프레젠테이션되거나 그렇지 않을 수 있다.
[0108] 도 7은 제1 손(650)의 척골측을 따라 예시적인 제1 매핑된 영역(655)을 포함하는 매핑된 손 영역들 사이의 예시적인 양손 상호 작용의 사시적 예시이다. 척골은 팔뚝의 2개의 뼈 중 더 얇은 뼈로, 엄지손가락의 반대 측에 위치한다. 위로 향한 좌측 손의 경우, 도시된 바와 같이, 척골측은 가장 짧은 또는 새끼 손가락 근처의 손바닥 표면을 따라 놓여 있다. 제1 매핑된 영역(655)을 정의하는 데 사용하기 위해 다양한 다른 적합한 손 표면들 중 임의의 것이 식별될 수 있다. 제1 손(650)은, 도시된 바와 같이, 좌측 손인 것으로 미리 정의될 수 있다. 일부 구현들에서는, 손바닥 면을 위로 하여 검출되는 제1 손이 제1 손(650)으로서 정의된다. 일부 구현들에서는, 시스템은 제1 손(650)으로서의 역할을 할, 우측 또는 좌측의, 손을 선택하고 설정하기 위한 프로세스를 포함한다.
[0109] 제1 매핑된 영역(655)은, 일부 구현들에서는, 제1 손(650) 위의 하나 이상의 랜드마크에 대해 정의된다. 예를 들어, 손바닥의 척골측은 완만하게 만곡되어 있으며 대략 손목 주름에서 손가락 주름(즉, 손가락의 시작 부분)까지 연장된다. 제1 매핑된 영역(655)은 일부 구현들에서는 제1 손(650)을 따라 검출된 크기 및 만곡된 형상들에 가까운 선들 및 곡선들에 의해 경계지어진다. 예를 들어, 도 7에 도시된 것과 같은 대체로 직사각형의 제1 매핑된 영역(655)은 손바닥의 두께를 따르는 일반적으로 볼록한 형상을 갖는 짧은 변들과 손바닥의 척골측의 세로 윤곽을 따르는 긴 변들을 포함한다. 다른 구현들에서는, 제1 매핑된 영역(655)은 손바닥의 척골측에 가깝도록 크기 및 형상이 조정되는 하나 이상의 평면 세그먼트를 포함한다.
[0110] 일 양태에서, 정의된 제1 매핑된 영역(655)은 시뮬레이션된 또는 가상 입력 컴포넌트(예를 들어, 가상 터치 스크린 또는 터치패드)로서 동작한다. 공중에 디스플레이된 가상 요소들에 비해, 손 위의 매핑된 영역(655)의 사용은 사용자에게 촉각 피드백을 제공한다. 하나 이상의 입력 액션(예를 들어, 매핑된 영역(655) 근처의 손을 터치하는 손가락 끝)을 느끼는 것에 더하여, 터치 입력들의 정확도는 일반적으로 고유 감각(즉, 신체 부위들 - 물론 손들과 손가락들을 포함함 - 의 로케이션 및 움직임에 대한 인식)으로 인해 신뢰할 만하고 정확하다. 촉각 피드백과 고유 감각은 양쪽 손으로 수행되는 다양한 양손 제스처들의 학습, 사용 용이성, 지구력, 및 효율성을 촉진할 것이다. 예를 들어, 본 명세서에서 기술된 터치 제스처는 손가락 끝(680)이 제1 손(650)의 피부를 터치하여 그 안에 작은 자국을 만드는 것을 포함한다. 이러한 그리고 다른 제스처들은, 공중이나 표면에 구속된 제스처들에 비해, 친숙하고, 학습 및 실행하기 쉽고, 덜 피로를 겪는 촉각 감각들에 기초한다. 더욱이, 신체 앞에서의, 양쪽 손의 사용은 사용자가 테이블 윗면과 같은 다른 표면에 기대면서 몸통에 팔과 손의 무게를 떠받칠 수 있게 한다.
[0111] 블록 1006에서 제1 매핑된 영역(655)을 정의하는 프로세스는, 일부 구현들에서는, 이미지 프로세싱 시스템(920)에 의해 달성된다. 블록 1002에서 제1 손(650)이 검출된 후, 이미지 프로세싱 시스템(920)은 검출된 제1 손(650)이, 손 제스처들의 라이브러리(480)에 저장된, 복수의 미리 정의된 시작 손 형상들 중에서 선택된 시작 형상과 매칭되는지 여부를 결정한다. 미리 정의된 시작 손 형상들은, 설명된 바와 같이, 예를 들어, 손바닥 표면과 손의 임의의 다른 적합한 표면을 노출시키는 형상들을 포함한다. 관련 양태에서, 손바닥 표면을 노출시키는 프로세스는 시간에 따른 손의 회전 모션을 포함할 수 있다. 따라서, 미리 정의된 시작 손 형상들은 손바닥 표면을 노출시키기 위해 손을 외전시키는 것과 같은, 제스처 움직임들을 포함할 수 있다. 이러한 양태에서, 블록 1006에서의 프로세스는, 일부 구현들에서는, 비디오 데이터(900)에서 캡처된 검출된 제1 손(650)을, 일정 기간에 걸쳐, 때때로 픽셀-바이-픽셀(pixel-by-pixel) 레벨로, 손 제스처 라이브러리(480)에 저장되어 있는 복수의 미리 정의된 시작 손 형상들과 매칭이 식별될 때까지 비교하는 것을 포함한다. 본 명세서에서 사용되는, 매칭이라는 용어는 가능한 또는 후부 매칭들과 연관된 미리 결정된 신뢰도 값에 의해 좌우될 수 있는 실질적인 매칭들 또는 근사 매칭(near match)들을 포함하도록 의도되어 있다. 검출된 손 형상 데이터는 손목에 대한 3차원 좌표들, 최대 15개의 지절간 관절, 최대 5개의 손가락 끝, 및 캡처된 프레임에서 발견된 다른 골격 또는 연조직 랜드마크들을 포함할 수 있다. 일부 예들에서는, 검출 프로세스는 검출된 손 형상 손가락 끝 좌표들과 라이브러리(480)에 저장된 각각의 손 제스처에 대한 손가락 끝 좌표들의 세트 사이의 측지선 거리(geodesic distance)들의 합계를 계산하는 것을 포함한다. 구성 가능한 임계치 정확도 값 내에 속하는 합계가 매칭을 나타낸다.
[0112] 도 6에 도시된 바와 같이, 디스플레이 평면(755)은 디스플레이(180B)의 렌즈를 따라 또는 그 근처에 있는 하나 이상의 개별 포인트 또는 포지션에 의해 정의될 수 있다. 예를 들어, 디스플레이 평면(755)은, 도시된 바와 같이, 디스플레이(180B)에 대체로 평행한 평면을 따라 놓여 있는, 직사각형 형상에 의해 정의될 수 있다. 디스플레이 평면(755)은 사용자가 볼 수 있도록 디스플레이(180B) 상에 프레젠테이션되거나 그렇지 않을 수 있다.
[0113] 도 10에서의 블록 1008은 디스플레이(180B) 상에 타깃 아이콘(710)을 프레젠테이션하는 예시적인 단계를 기술한다. 타깃 아이콘(710)은 타깃 포지션(740)에 프레젠테이션된다. 캡처된 비디오 데이터(900)의 프레임들에서 검출된 바와 같이, 시간이 흐르면서, 손 위의 제1 매핑된 영역(655)이 움직임에 따라 타깃 포지션(740)이 움직이도록, 타깃 포지션(740)이 제1 매핑된 영역(655)에 대해 정의된다.
[0114] 명칭이 시사하는 바와 같이, 타깃 아이콘(710)은 제1 손 위의 제1 매핑된 영역(655) 내의 또는 근처의 타깃을 제공한다. 타깃 아이콘(710)은 일부 구현들에서는 제1 매핑된 영역(655)의 전부 또는 일부를 따라 연장되는 하이라이트된 영역, 패턴(예를 들어, 컬러, 마킹, 음영, 또는 다른 장식)에 의해 정의된 영역, 또는 경계에 의해 정의된 폐쇄된 영역을 포함한다. 타깃 아이콘 영역은 2차원 또는 3차원으로 나타나는, 원, 다각형, 또는 다른 형상을 포함할 수 있다; 그것은 매핑된 영역(655)의 형상과 일치하거나 그렇지 않을 수 있다. 도 7에 도시된 바와 같이, 타깃 아이콘(710)은 하우징에 의해 지지되는 겉보기에 움직일 수 있는 버튼 캡을 포함하는 가상 버튼일 수 있다. 다양한 다른 아이콘들 중 임의의 것이 매핑된 영역(655)에 접근하는 손가락 끝(680)에 대한 타깃으로서 설계되고 프레젠테이션될 수 있다.
[0115] 도 10에서의 블록 1010은, 로컬라이제이션 시스템(915)을 사용하여, 정의된 제1 매핑된 영역(655)에 대한 현재 아이웨어 로케이션(840)을 결정하는 예시적인 단계를 기술한다. 로컬라이제이션 시스템(915)은, 일부 구현들에서는, 정의된 제1 매핑된 영역(655)에 대한 현재 아이웨어 로케이션(840)을 결정하는 데 사용하기 위한 로컬라이제이션 데이터를 획득하도록 아이웨어(100) 상의 프로세서(432)를 구성한다. 로컬라이제이션 데이터는 캡처된 비디오 데이터(900)의 프레임들, IMU 유닛(472), GPS 유닛(473), 또는 이들의 조합으로부터 도출될 수 있다. 로컬라이제이션 시스템(915)은, 적어도 카메라 시스템(114)의 프레임 레이트만큼 빈번하게 맵과 객체들의 로케이션을 업데이트하는(예를 들어, 현재 아이웨어 로케이션(840)의 매핑과 로컬라이제이션을 초당 30회 이상 빈번하게 계산하고 업데이트하는), 본 명세서에서 기술된 바와 같은, SLAM 알고리즘을 사용하여 카메라 시야(904) 내의 다양한 요소들의 가상 맵을 구성할 수 있다.
[0116] 블록 1012은 (블록 1010에서 결정된 바와 같이) 현재 아이웨어 로케이션(840)에 따라, 정의된 제1 매핑된 영역(655)(손(650)과 연관됨)과 디스플레이 평면(755) 사이의 상관(950)을 계산하는 예시적인 단계를 기술한다. 상관(950)이라는 용어는, 현재 아이웨어 로케이션(840)에 따라, 정의된 제1 매핑된 영역(655)과 디스플레이 평면(755) 사이의 3차원 거리를 정의하기에 충분한 하나 이상의 벡터, 행렬, 공식, 또는 다른 수학적 표현을 지칭하고 이를 포함한다. 현재 아이웨어 로케이션(840)은, 물론, 아이웨어 디바이스(100)의 프레임에 의해 지지된 디스플레이(180B)를 따라 놓여 있는 디스플레이 평면(755)에 관련되어 있거나 지속적으로 연관되어 있다. 이러한 양태에서, 상관(950)은 손(650)(및 정의된 매핑된 영역(655))의 모션으로 아이웨어(100)(및 디스플레이 평면(755))의 모션을 캘리브레이션하는 기능을 수행한다. 상관(950)은 매핑된 영역(655)을 따른 로케이션들을 디스플레이 평면(755) 상의 대응하는 포지션들로 수학적으로 변환한다. 더욱이, 블록 1010에서의 로컬라이제이션 프로세스는 계속해서 빈번하게 발생하기 때문에, 상관(950)은 계속해서 빈번하게 계산되어, 결국 아이웨어(100)에 대한 손(650)의 추적이 정확하고 거의 실시간으로 이루어진다.
[0117] 블록 1014는 이미지 프로세싱 시스템(920)을 사용하여 캡처된 비디오 데이터(900)의 프레임들에서 일련의 양손 손 형상들(670)을 검출하는 예시적인 단계를 기술한다. 이미지 프로세싱 시스템(920)은 캡처된 비디오 데이터(900)의 프레임들 내의 픽셀-레벨 데이터를 분석하여 제2 손(652)과 제1 손(650) 양쪽 모두의 모션을 추적한다. 일련의 양손 손 형상들(670)은 일부 구현들에서는 검출된 제1 손(650) 및 일련의 현재 손가락 끝 로케이션들(681)(즉, 제2 손(652)의 손가락 끝(680))을 포함한다. 프로세스는 일부 구현들에서는 타깃 아이콘 포지션(740)에 대한 또는 매핑된 영역(655) 또는 디스플레이 평면(755)과 같은 다른 알려진 포지션에 대한 3차원 좌표들에서의 일련의 현재 손가락 끝 로케이션들(681)을 검출하는 것을 포함한다.
[0118] 손가락 끝(680)은 제2 손(652)의 임의의 손가락 또는 엄지손가락과 연관될 수 있다. 관련 양태에서, 손가락 끝(680)은 제2 손(652)과 연관된 제2 매핑된 영역으로서 동작한다. 일부 구현들에서는, 제2 손(652)의 다른 표면들이 제2 매핑된 영역(예를 들어, 손가락 관절들, 관절들, 손가락들 또는 손의 측면들)으로서 정의되고 본 명세서에서 기술된 프로세스들을 사용하여 추적될 수 있다.
[0119] 도 8은 손들이 터치 제스처를 수행하는(예를 들어, 손가락 끝(680)이 타깃 아이콘(710) 근처의 제1 손(650)의 척골측을 터치하고 있는) 예시적인 양손 손 제스처의 사시적 예시이다. 이 예에서는, 일련의 양손 손 형상들(670)을 검출하는 것은 일련의 현재 손가락 끝 로케이션들(681) 중 적어도 하나가 타깃 아이콘 포지션(740)의 미리 정의된 임계 거리 내에서 검출되는 하나 이상의 비디오 데이터(900)의 프레임들을 포함한다.
[0120] 블록 1016에서의 예시적인 프로세스는 검출된 일련의 양손 손 형상들(670)이 손 제스처 라이브러리(480)에 저장된 복수의 미리 정의된 손 제스처들(850) 중 어느 하나와 매칭되는지 여부를 결정하는 것을 포함한다. 캡처된 비디오 데이터(900)의 프레임들에 저장된 데이터는 손 제스처들의 라이브러리(480)에 저장된 미리 정의된 손 제스처들(650)과 비교된다. 다양한 다른 미리 정의된 손 제스처들(850) 중 임의의 것이 설정되어 손 제스처 라이브러리(480)에 저장될 수 있다.
[0121] 도 8에 도시된 예에서는, 이미지 프로세싱 시스템(920)은 캡처된 비디오 데이터(900)의 프레임들 내의 픽셀-레벨 데이터를 분석하여 손가락 끝(680)이 터치 제스처를 수행하고 있는지 여부를 결정한다. 미리 정의된 터치 제스처는, 이 예에서는, 손가락 끝이 손바닥 표면의 척골측과 같은 다른 손의 표면과 교차하는 손 포즈들의 시퀀스를 포함한다.
[0122] 손 제스처 라이브러리(480)는 다양한 포지션들과 배향들의 손에 대한 기술들을 포함하여, 많은 수의 포즈들과 제스처들을 포함한다. 저장된 포즈들과 제스처들은 이미지에서 검출되는 손 형상과의 즉시 비교에 적합하다. 라이브러리(480)에 저장된 손 제스처 레코드는 일부 구현들에서는, 손목, 15개의 지절간 관절, 및 5개의 손가락 끝뿐만 아니라, 다른 골격 및 연조직 랜드마크들을 포함하여, 손 위의 다수의 랜드마크들에 대한 3차원 좌표들을 포함한다. 라이브러리(480)에 저장된 손 제스처 레코드는 각각의 미리 정의된 손 제스처(850)와 관련된 텍스트 식별자들, 관점 주석들, 방향 참조들(예를 들어, 손바닥, 등, 측면), 회전 참조들(예를 들어, 안정, 휨, 연장, 내전, 외전), 및 다른 데이터 및 설명자들을 또한 포함할 수 있다. 라이브러리(480)에 저장된 각각의 손 제스처 레코드는 각각의 관절 및 끝에 대한 예시적인 3차원 좌표들의 세트, 손 포지션 식별자(예를 들어, 중립 손), 및 손가락 포지션 식별자(예를 들어, 집게, 휨, 부분)를 포함할 수 있다. 손 제스처(예를 들어, 시간이 흐르면서 관찰된 일련의 손 포즈들)의 경우, 라이브러리(480)에 저장된 손 제스처 레코드는, 특정 시간 간격(예를 들어, 2초 이상)에 걸친, 집게손가락의 각각의 로케이션에서 각각의 관절 및 끝에 대한 예시적인 3차원 좌표들의 세트, 손 모션 식별자(예를 들어, 내전, 외전, 안정), 및 손가락 모션 식별자(예를 들어, 집게 휨 및 계속해서 연장)를 포함할 수 있다.
[0123] 터치 제스처의 경우, 손 제스처 라이브러리(480)에 저장된 레코드는, 일부 구현들에서는, 제스처 식별자(예를 들어, 터치), 제1 모션 식별자(예를 들어, 다른 손 위의 정의된 표면의 미리 정의된 임계 거리 내에서 검출된 손가락 끝), 최소 누름 지속 기간(예를 들어, 1초), 및 후속 모션 식별자(예를 들어, 다른 손에서 손가락 끝을 떼어내는 것)를, 해당 시간 간격 동안 각각의 손과 손가락 랜드마크에 대한 일련의 예시적인 3차원 좌표들과 함께 포함한다(예를 들어, 5밀리초마다 20개의 좌표 세트).
[0124] 다른 선택 제스처들은, 일부 구현들에서는, 손가락 끝을 탭하는 것, 손을 따라 손가락 끝을 슬라이딩하는 것, 미리 정의된 또는 구성 가능한 시간 지속 기간 동안 손가락 끝을 호버링하는 것을 포함한다. 더욱이, 본 명세서에서는 제스처들이 제2 손의 단일 손가락에 관련하여 기술되어 있기는 하지만, 선택된 손 제스처를 실행하기 위해 하나 이상의 손가락이 사용될 수도 있다.
[0125] 도 10을 다시 참조하면, 블록 1018에서의 예시적인 프로세스는 매칭되는 미리 정의된 손 제스처(예를 들어, 터치, 누름, 탭)에 따라 선택 액션(800)을 실행하는 것을 포함한다. 일부 구현들에서는, 선택 액션(800)은 디스플레이(180B) 상에 계산된 상관(950)에 따라 그리고 정의된 제1 매핑된 영역(655)에 대한 제1 포지션(701)에 하나 이상의 그래픽 요소(700)를 프레젠테이션하는 것을 포함한다. 제1 포지션(701)은 일부 구현들에서는, 도 8에 도시된 바와 같이, 디스플레이(180B)의 최상부 근처의 미리 정의된 디폴트 포지션이다. 제1 포지션(701)은 제1 손(650)이 움직임에 따라 제1 포지션(701)에 있는 요소들(700)이 움직이는 것처럼 보이도록 정의된 제1 매핑된 영역(655)에 대해 정의된다. 이러한 양태에서, 그래픽 요소들(700)은 겉보기에 제1 손(650)에 고정(anchor)되어 있다(디스플레이(180B)에 대한 디스플레이 평면(755)에 고정된 채로 있는 것과는 대조적으로). 요소(700)들이 현재 아이웨어 로케이션(840)과 제1 손(650) 위의 제1 매핑된 영역(655)의 현재 로케이션 사이의 상대적 거리와 상관되는 크기 및 형상을 갖도록, 요소들(700)은 계산된 상관(950)에 따라 프레젠테이션된다.
[0126] 본 명세서에서 사용되는, 하나 이상의 그래픽 요소(700)는 VR 체험들과 연관된 가상 객체들 및 아이콘들, 썸네일들, 작업 표시줄들, 및 메뉴 항목들과 같은 그래픽 요소들을 포함하지만 이에 제한되지 않는, 디스플레이 상에 프레젠테이션된 그래픽 요소들의 임의의 컬렉션을 의미하고 이를 포함한다. 예를 들어, 도 8에서의 그래픽 요소들(700)은 친구들, 맵들, 사진들 등을 포함한 선택 가능한 메뉴 항목들을 나타낸다.
[0127] 더 넓은 컨텍스트에서, 프로세스 단계들 및 방법들은 아이웨어 디바이스(100) 상에서 현재 실행 중인 다른 시스템 또는 애플리케이션과 관련하여 실행될 수 있다. 그러한 애플리케이션은 디스플레이 상에 하나 이상의 그래픽 요소를 프레젠테이션하는 옵션으로 논리적으로 진행되는 일련의 액션들을 포함할 수 있다. 그러한 시점에서, 실행 중인 애플리케이션은, 일부 구현들에서는 검출된 제1 손(650)의 척골측에 타깃 아이콘(710)을 프레젠테이션하는 것으로 시작하여, 본 명세서에서 기술된 프로세스에 액세스할 수 있다. 그래픽 요소들(700)을 프레젠테이션한 후, 실행 중인 애플리케이션은 추가적인 액션들을 실행하거나 달리 그래픽 요소들(700)과의 추가적인 상호 작용을 촉진하기 위한 프로세스들 및 도구들을 포함할 수 있다. 본 명세서에서 기술된 프로세스 단계들 및 방법들은 제1 손(650)이 손바닥을 아래로 한 포지션으로(예를 들어 손의 원위 표면을 드러내어) 검출될 때, 하나 또는 양쪽 손(650, 652)이 시야(904)에서 부분적으로 또는 완전히 제거될 때, 또는 미리 정의된 스톱 제스처가 검출될 때 종료될 수 있다.
[0128] 일부 구현들에서는, 블록 1018에서의 선택 액션(800)은 검출된 일련의 양손 손 형상들(670)이 미리 정의된 손 제스처들(850) 중 하나와 매칭된다고 블록 1016에서 결정하는 것에 대한 응답을 생성하는 것을 포함한다. 응답은 입력이 수신되었음을 사용자에게 알리기 위해 설계된 인디케이터 또는 신호를 포함한다; 바람직하게는 손가락 끝이 손을 터치하는 물리적 체험과 거의 일치하는 때에. 응답 인디케이터는, 일부 구현들에서는, 시각적 표시를 프레젠테이션하는 것, 사운드를 재생하는 것, 및 진동을 생성하는 것 중 하나 이상을 포함한다. 시각적 표시는, 예를 들어, 컬러 변경, 하이라이트, 플래시, 또는 타깃 아이콘(710) 또는 매핑된 영역(655)과 같이, 디스플레이 상에 프레젠테이션된 하나 이상의 항목과 연관된 다른 변경을 포함할 수 있다. 예를 들어, 타깃 아이콘이 버튼을 포함하는 경우, 시각적 표시는 버튼 캡을 작동된 포지션으로 프레젠테이션하는 것을 포함할 수 있다. 다른 예에서는, 응답 인디케이터는 라우드스피커(예를 들어, 아이웨어 디바이스(100)에 결합된 라우드스피커 또는 별도의 디바이스에 결합된 라우드스피커)를 통해 사운드를 재생하는 것을 포함한다. 또 다른 예에서는, 응답 인디케이터는 진동 액추에이터(예를 들어, 아이웨어 디바이스(100)에 결합된 액추에이터 또는 별도의 디바이스에 결합된 액추에이터)를 사용하여 진동을 생성하는 것을 포함한다.
[0129] 타깃 아이콘(710)은 일부 구현에서는 하우징에 의해 지지되는 버튼 캡을 갖는 가상 버튼을 포함한다. 버튼 캡은 디폴트 포지션에서 작동된 위치로 움직일 수 있으며 해당 캡을 그것의 디폴트 포지션을 향해 미는 스프링을 포함할 수 있다. 위에서 간략히 기술된 바와 같이, 응답 인디케이터는 캡의 겉보기 모션이 검출된 일련의 손가락 끝 로케이션들(681)과 상관되도록 매칭되는 미리 정의된 손 제스처에 따라 버튼 캡을 작동된 포지션으로 프레젠테이션하는 것을 포함한다. 이러한 양태에서, 캡은 움직이고 있는 손가락 끝(680)의 검출된 속도와 상관되는 겉보기 속도로 움직인다. 손가락 끝(680)을 떼거나 제거하면, 버튼 캡은, 도 9에 예시된 바와 같이, 그것의 디폴트 포지션으로 돌아갈 수 있다. 도시된 바와 같이, 그래픽 요소들(700)은 손가락 끝(680)이 타깃 아이콘 포지션(740) 근처에서 더 이상 검출되지 않은 후에도 디스플레이(180B) 상에 지속적으로 프레젠테이션될 수 있다. 관련 양태에서, 타깃 아이콘(710)은 토글 스위치로서 동작하도록 구성될 수 있다; 대안적으로 손가락 끝(680)에 의한 후속 터치들에 응답하여 그래픽 요소들(700)을 프레젠테이션하거나 디스플레이에서 제거하는 동작.
[0130] 다른 예시적인 구현에서는, 검출된 일련의 양손 손 형상들(670)이 미리 정의된 손 제스처(850)와 매칭되는지 여부를 결정하는 블록 1016에서의 프로세스는 기계 학습 알고리즘을 사용하여 하나 이상의 캡처된 비디오 데이터의 프레임들 내의 손 형상에 관한 픽셀-레벨 데이터를 손 제스처들을 포함하는 이미지들의 컬렉션과 비교하는 것을 수반한다.
[0131] 기계 학습은 경험을 통해 점진적으로 개선되는 알고리즘을 지칭한다. 기계 학습 알고리즘은, 많은 수의 상이한 입력 데이터세트들을 프로세싱함으로써, 특정 데이터세트들에 관한 개선된 일반화들을 개발한 다음, 해당 일반화들을 사용하여 새로운 데이터세트를 프로세싱할 때 정확한 출력 또는 솔루션을 생성할 수 있다. 광범위하게 말하면, 기계 학습 알고리즘은 새로운 경험들에 응답하여 조정되거나 변경될 하나 이상의 파라미터를 포함하며, 그에 의해 알고리즘을 점진적으로 개선한다; 학습과 유사한 프로세스.
[0132] 컴퓨터 비전의 컨텍스트에서, 수학적 모델들은, 컴퓨터들을 사용하여 이미지에서 정보를 추출하고 이미지의 콘텐츠의 정확한 이해를 달성할 목적으로, 인간의 시각 시스템에 의해 달성되는 태스크들을 모방하려고 시도한다. 컴퓨터 비전 알고리즘들은, 디지털 이미지들과 비디오 내의 데이터를 추출하여 분석하기 위해, 인공 지능, 자율 항법 주행을 포함하는, 다양한 분야들에서 개발되었다.
[0133] 딥 러닝은 인공 신경망들에 기초하거나 인공 신경망들을 본떠서 만들어지는 기계 학습 방법들의 클래스를 지칭한다. 인공 신경망은 외부 입력들에 대한 그들의 동적 상태 응답에 의해 정보를 프로세싱하는, 다수의 단순하고 고도로 상호 접속된 프로세싱 요소들(노드들)로 구성된 컴퓨팅 시스템이다. 대규모 인공 신경망은 수백 또는 수천 개의 노드들을 가질 수 있다.
[0134] 컨볼루션 신경망(convolutional neural network, CNN)은, 디지털 사진들 및 비디오를 포함하는, 시각적 이미지들을 분석하는 데 빈번하게 적용되는 신경망의 일종이다. CNN 내의 노드들 간의 접속 패턴은 전형적으로, 시야 내의 겹치는 영역들에 응답하도록 배열된 개개의 뉴런들을 포함하는, 인간의 시각 피질의 조직을 본떠서 만들어진다. 본 명세서에서 기술된 결정 프로세스에서 사용하기에 적합한 신경망은 다음의 아키텍처들 중 하나에 기초한다: VGG16, VGG19, ResNet50, Inception V3, Xception, 또는 다른 CNN 호환 아키텍처들.
[0135] 기계 학습 예에서는, 블록 1016에서, 프로세서(432)는 손 특징 모델이라고 지칭되는 기계 학습된 알고리즘을 사용하여 검출된 일련의 양손 손 형상들이 미리 정의된 손 제스처와 실질적으로 매칭되는지 여부를 결정한다. 프로세서(432)는, 기계 학습을 통해 훈련된, 손 특징 모델에 액세스하도록 구성되며, 손 특징 모델을 적용하여 비디오 데이터의 하나 이상의 프레임에서 손 형상의 특징들을 식별하고 로케이팅한다.
[0136] 하나의 예시적인 구현에서는, 훈련된 손 특징 모델은 검출된 손 형상을 포함하는 비디오 데이터의 프레임을 수신하고 분석을 위해 해당 프레임 내의 이미지를 레이어들로 추상화한다. 각각의 레이어 내의 데이터는 훈련된 손 특징 모델에 기초하여, 손 제스처 라이브러리(480)에 저장된 손 제스처 데이터와, 레이어별로(layer by layer), 양호한 매칭이 식별될 때까지 비교된다.
[0137] 일 예에서는, 레이어별 이미지 분석은 컨볼루션 신경망을 사용하여 실행된다. 제1 컨볼루션 레이어에서는, CNN은 학습된 특징들(예를 들어, 손 랜드마크들, 관절 좌표 세트들 등)을 식별한다. 제2 컨볼루션 레이어에서는, 이미지는 학습된 특징들이 개개의 부분 이미지(sub-image)에서 각각 강조되는, 복수의 이미지로 변환된다. 풀링 레이어에서는, 가능한 관심 특징들(예를 들어, 가능한 손바닥 형상, 가능한 손가락 관절)을 포함하는 각각의 이미지의 부분들을 분리하기 위해 이미지들과 부분 이미지들의 크기들과 해상도가 저감된다. 비출력 레이어들로부터의 이미지들의 값들 및 비교들은 프레임 내의 이미지를 분류하기 위해 사용된다. 본 명세서에서 사용되는, 분류는 훈련된 모델을 사용하여 검출된 손 형상에 따라 이미지를 분류하는 프로세스를 지칭한다. 예를 들어, 검출된 일련의 양손 손 형상들이 라이브러리(480)에 저장된 터치 제스처들과 매칭되면 이미지는 "터치 액션"으로 분류될 수 있다.
[0138] 아이웨어 디바이스(100), 모바일 디바이스(401), 및 서버 시스템(498)에 대해 본 명세서에서 기술된 기능 중 임의의 것이 본 명세서에 기술된 바와 같이 하나 이상의 컴퓨터 소프트웨어 애플리케이션 또는 프로그래밍 명령어들의 세트들로 구현될 수 있다. 일부 예들에 따르면, "함수", "함수들", "애플리케이션", "애플리케이션들", "명령어", "명령어들" 또는 "프로그래밍"은 프로그램들에서 정의된 함수들을 실행하는 프로그램(들)이다. 객체 지향형 프로그래밍 언어들(예를 들어, Objective-C, Java, 또는 C++) 또는 절차형 프로그래밍 언어들(예를 들어, C 또는 어셈블리 언어)과 같은, 다양한 프로그래밍 언어들이, 다양한 방식들로 구조화된 애플리케이션들 중 하나 이상을 개발하기 위해 채용될 수 있다. 특정 예에서, 제3자 애플리케이션(예를 들어, 특정 플랫폼의 벤더 이외의 엔티티에 의해 ANDROID™ 또는 IOS™ 소프트웨어 개발 키트(SDK)를 이용하여 개발된 애플리케이션)은 IOS™, ANDROID™, WINDOWS® Phone, 또는 다른 모바일 운영 체제와 같은 모바일 운영 체제 상에서 실행되는 모바일 소프트웨어를 포함할 수 있다. 이 예에서는, 제3자 애플리케이션은 본 명세서에 기술된 기능을 용이하게 하기 위해 운영 체제에 의해 제공되는 API 호출들을 작동(invoke)시킬 수 있다.
[0139] 따라서, 기계 판독가능 매체는 유형 스토리지 매체의 많은 형태들을 취할 수 있다. 비휘발성 스토리지 매체들은, 예를 들어, 도면들에 도시된 클라이언트 디바이스, 미디어 게이트웨이, 트랜스코더 등을 구현하기 위해 사용될 수 있는, 임의의 컴퓨터 디바이스들 등 내의 임의의 스토리지 디바이스들 중 임의의 스토리지 디바이스들과 같은, 광 또는 자기 디스크들을 포함한다. 휘발성 스토리지 매체들은 그러한 컴퓨터 플랫폼의 메인 메모리와 같은 동적 메모리를 포함한다. 유형 송신 매체들은 동축 케이블들; 컴퓨터 시스템 내의 버스를 포함하는 와이어들을 포함하는, 구리 와이어 및 광섬유를 포함한다. 반송파 송신 매체들은 전기 또는 전자기 신호들, 또는 무선 주파수(RF) 및 적외선(IR) 데이터 통신 중에 생성된 것들과 같은 음향 또는 광파들의 형태를 취할 수 있다. 따라서 일반적인 형태의 컴퓨터 판독가능 매체들은 예를 들어: 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 임의의 다른 광 매체, 펀치 카드 용지 테이프, 구멍의 패턴들을 갖는 임의의 다른 물리적 스토리지 매체, RAM, PROM 및 EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 데이터 또는 명령어들을 전송하는 반송파, 그러한 반송파를 전송하는 케이블들 또는 링크들, 또는 컴퓨터가 프로그래밍 코드 또는 데이터를 판독할 수 있는 임의의 다른 매체를 포함한다. 이들 형태의 컴퓨터 판독가능 매체들 중 다수는 실행을 위해 프로세서에 하나 이상의 명령어의 하나 이상의 시퀀스를 반송하는 데 관련될 수 있다.
[0140] 바로 위에 언급된 것을 제외하고, 언급되거나 예시된 어떤 것도, 그것이 청구항들에 기재되어 있는지 여부에 관계없이, 임의의 컴포넌트, 단계, 특징, 객체, 이익, 이점, 또는 등가물이 대중에 제공되는 것을 야기하도록 의도되거나 해석되어서는 안 된다.
[0141] 본 명세서에서 사용된 용어들 및 표현들은 본 명세서에서 특정 의미들이 달리 제시된 경우를 제외하고 그들의 대응하는 개개의 조사 및 연구 분야들과 관련하여 그러한 용어들 및 표현들에 부여되는 통상의 의미를 갖는다는 것을 이해할 것이다. 제1 및 제2 등과 같은 관계 용어들은 하나의 엔티티 또는 액션을 다른 것과 구별하기 위해서만 사용될 수 있으며 그러한 엔티티들 또는 액션들 간에 임의의 실제 그러한 관계 또는 순서를 반드시 요구하거나 암시하지는 않는다. 용어 "포괄하다", "포괄하는", "포함하다", 포함하는", 또는 이들의 임의의 변형 표현들은 비배타적 포함을 커버하기 위해 의도된 것이며, 따라서 요소들 또는 단계들의 리스트를 포괄하거나 포함하는 프로세스, 방법, 물품, 또는 장치는 해당 요소들 또는 단계들만을 포함하는 것이 아니라 명시적으로 열거되지 않은 또는 그러한 프로세스, 방법, 물품, 또는 장치에 고유한 다른 요소들을 포함할 수 있다. 단수형 요소는, 더 많은 제한 사항이 없다면, 그 요소를 포함하는 프로세스, 방법, 물품, 또는 장치에서 추가적인 동일한 요소들의 존재를 배제하지 않는다.
[0142] 달리 언급되지 않는 한, 다음의 청구항들을 포함하여, 본 명세서에서 제시되는 임의의 그리고 모든 측정치들, 값들, 등급들, 포지션들, 크기들, 사이즈들, 및 다른 사양들은 정확한 것이 아니라, 대략적인 것이다. 그러한 양들은 그것들과 관련되는 기능들과 그리고 그것들과 관련되는 분야에서 관례적인 것과 일치하는 합리적인 범위를 갖도록 의도된다. 예를 들어, 명시적으로 달리 언급되지 않는 한, 파라미터 값 등은 언급된 양 또는 범위에서 ±10%만큼 달라질 수 있다.
[0143] 또한, 전술한 상세한 설명에서는, 개시를 간소화할 목적으로 다양한 특징들이 다양한 예에서 함께 그룹화됨을 알 수 있다. 이 개시의 방법은 청구된 예들이 각각의 청구항에서 명시적으로 기재된 것보다 더 많은 특징들을 요구한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 다음의 청구항들이 반영하는 바와 같이, 보호되어야 할 주제는 임의의 단일의 개시된 예의 모든 특징들보다 적은 것에 있다. 따라서, 다음의 청구항들은 상세한 설명에 통합되며, 각각의 청구항은 개별적으로 청구된 주제로서 자립하고 있다.
[0144] 상기에서는 최상의 모드라고 생각되는 것들 및 다른 예들을 기술하였지만, 다양한 수정들이 이루어질 수 있다는 점 그리고 본 명세서에 개시된 주제가 다양한 형태들 및 예들로 구현될 수 있다는 점, 그리고 그것들이 많은 응용들 ― 본 명세서에서는 그 중 일부만이 기술됨 ― 에서 적용될 수 있다는 점이 이해된다. 다음의 청구항들이 의도하는 바는 본 개념들의 진정한 범위 내에 속하는 임의의 그리고 모든 수정들 및 변형들을 청구하는 것이다.
Claims (20)
- 아이웨어 디바이스로 검출된 양손 제스처들에 응답하여 그래픽 요소를 프레젠테이션하는 방법으로서, 상기 아이웨어 디바이스는 카메라 시스템, 이미지 프로세싱 시스템, 로컬라이제이션 시스템, 및 디스플레이를 포함하고,
상기 방법은:
상기 카메라 시스템으로 비디오 데이터의 프레임들을 캡처하는 단계;
상기 이미지 프로세싱 시스템을 사용하여 상기 캡처된 비디오 데이터의 프레임들에서 제1 손을 검출하는 단계;
상기 이미지 프로세싱 시스템을 사용하여 상기 검출된 제1 손과 연관된 제1 매핑된 영역을 정의하는 단계;
상기 정의된 제1 매핑된 영역에 대한 타깃 포지션에서 타깃 아이콘을 상기 디스플레이 상에 프레젠테이션하는 단계;
상기 로컬라이제이션 시스템을 사용하여, 상기 정의된 제1 매핑된 영역에 대한 현재 아이웨어 로케이션을 결정하는 단계;
상기 현재 아이웨어 로케이션에 따라, 상기 정의된 제1 매핑된 영역과 상기 디스플레이의 장소 사이의 상관을 계산하는 단계;
상기 이미지 프로세싱 시스템을 사용하여, 상기 검출된 제1 손 및 제2 손의 손가락 끝과 연관된 일련의 현재 손가락 끝 로케이션들을 포함하는 일련의 양손 손 형상들을 검출하는 단계;
상기 이미지 프로세싱 시스템을 사용하여, 상기 검출된 일련의 양손 손 형상들이 복수의 미리 정의된 손 제스처들 중에서 선택된 제1 미리 정의된 손 제스처와 매칭되는지 여부를 결정하는 단계; 및
상기 매칭되는 미리 정의된 손 제스처에 따라 선택 액션을 실행하는 단계를 포함하는, 방법. - 제1항에 있어서,
후속하는 일련의 양손 손 형상들을 검출하는 단계;
상기 검출된 후속하는 일련의 양손 손 형상들이 상기 복수의 미리 정의된 손 제스처들 중에서 선택된 후속하는 미리 정의된 손 제스처와 매칭되는지 여부를 결정하는 단계; 및
상기 매칭되는 후속하는 미리 정의된 손 제스처에 따라 후속하는 선택 액션을 실행하는 단계를 추가로 포함하는, 방법. - 제1항에 있어서,
제1 매핑된 영역을 정의하는 상기 단계는:
상기 검출된 제1 손의 손바닥 표면을 식별하는 단계; 및
상기 식별된 손바닥 표면의 척골측을 따라 상기 제1 매핑된 영역을 생성하는 단계를 포함하는, 방법. - 제1항에 있어서,
타깃 아이콘을 프레젠테이션하는 상기 단계는 상기 계산된 상관에 따라 상기 디스플레이 상에 상기 타깃 아이콘을 프레젠테이션하는 단계를 포함하고, 그리고
상기 프레젠테이션된 타깃 아이콘은 하우징에 의해 지지되는 캡을 포함하는 가상 버튼, 패턴에 의해 정의된 영역, 경계에 의해 정의된 폐쇄된 영역, 및 상기 정의된 제1 매핑된 영역의 전부 또는 일부를 따라 연장되는 하이라이트로 이루어지는 그룹에서 선택되는 인디케이터를 포함하는, 방법. - 제1항에 있어서,
손 제스처 라이브러리에 저장된, 상기 제1 미리 정의된 손 제스처는 손가락 끝이 손바닥 표면의 척골측과 교차하는 것을 특징으로 하는 포즈들의 시퀀스를 포함하고, 그리고
상기 검출된 일련의 양손 손 형상들은 상기 타깃 포지션의 미리 정의된 임계 거리 내에서 검출되는 상기 일련의 현재 손가락 끝 로케이션들 중 적어도 하나를 포함하는, 방법. - 제1항에 있어서,
선택 액션을 실행하는 상기 단계는:
상기 상관에 따라 그리고 상기 정의된 제1 매핑된 영역에 대한 제1 포지션에서 하나 이상의 그래픽 요소들을 상기 디스플레이 상에 프레젠테이션하는 단계를 추가로 포함하는, 방법. - 제1항에 있어서,
선택 액션을 실행하는 상기 단계는:
상기 디스플레이 상에 상기 타깃 아이콘과 연관된 시각적 표시를 프레젠테이션하는 것, 라우드스피커를 통해 사운드를 재생하는 것, 액추에이터를 사용하여 진동을 생성하는 것으로 이루어지는 그룹에서 선택된 인디케이터를 포함하는 응답을 생성하는 단계를 추가로 포함하는, 방법. - 제1항에 있어서,
상기 프레젠테이션된 타깃 아이콘은 가상 버튼을 포함하고, 상기 가상 버튼은 하우징에 의해 지지되고 디폴트 포지션에서 작동된 포지션으로 움직일 수 있는 캡을 포함하고, 그리고
선택 액션을 실행하는 상기 단계는, 상기 포지션들 사이의 상기 캡의 겉보기 모션이 상기 검출된 일련의 현재 손가락 끝 로케이션들과 상관되도록, 상기 매칭되는 미리 정의된 손 제스처에 따라 상기 디스플레이 상에 상기 캡을 프레젠테이션하는 단계를 추가로 포함하는, 방법. - 양손 제어 시스템으로서,
프로세서, 메모리, 카메라 시스템, 이미지 프로세싱 시스템, 로컬라이제이션 시스템, 및 디스플레이를 포함하는 아이웨어 디바이스; 및
상기 메모리 내의 프로그래밍을 포함하고, 상기 프로세서에 의한 상기 프로그래밍의 실행은 기능들을 수행하도록 상기 아이웨어 디바이스를 구성하고,
상기 기능들은:
상기 카메라 시스템으로 비디오 데이터의 프레임들을 캡처하는 기능;
상기 이미지 프로세싱 시스템을 사용하여 상기 캡처된 비디오 데이터의 프레임들에서 제1 손을 검출하는 기능;
상기 이미지 프로세싱 시스템을 사용하여 상기 검출된 제1 손과 연관된 제1 매핑된 영역을 정의하는 기능;
상기 로컬라이제이션 시스템을 사용하여, 상기 정의된 제1 매핑된 영역에 대한 현재 아이웨어 로케이션을 결정하는 기능;
상기 현재 아이웨어 로케이션에 따라, 상기 정의된 제1 매핑된 영역과 상기 디스플레이의 평면 사이의 상관을 계산하는 기능;
상기 계산된 상관에 따라 상기 정의된 제1 매핑된 영역에 대한 타깃 포지션에서 타깃 아이콘을 상기 디스플레이 상에 프레젠테이션하는 기능;
상기 이미지 프로세싱 시스템을 사용하여, 상기 검출된 제1 손 및 제2 손의 손가락 끝과 연관된 일련의 현재 손가락 끝 로케이션들을 포함하는 일련의 양손 손 형상들을 검출하는 기능;
상기 이미지 프로세싱 시스템을 사용하여, 상기 검출된 일련의 양손 손 형상들이 복수의 미리 정의된 손 제스처들 중에서 선택된 제1 미리 정의된 손 제스처와 매칭되는지 여부를 결정하는 기능; 및
상기 매칭되는 미리 정의된 손 제스처에 따라 선택 액션을 실행하는 기능을 포함하는, 양손 제어 시스템. - 제9항에 있어서,
상기 프로그램의 실행은:
후속하는 일련의 양손 손 형상들을 검출하고;
상기 검출된 후속하는 일련의 양손 손 형상들이 상기 복수의 미리 정의된 손 제스처들 중에서 선택된 후속하는 미리 정의된 손 제스처와 매칭되는지 여부를 결정하고; 그리고
상기 매칭되는 후속하는 미리 정의된 손 제스처에 따라 후속하는 선택 액션을 실행하도록 상기 아이웨어 디바이스를 추가로 구성하는, 양손 제어 시스템. - 제9항에 있어서,
제1 매핑된 영역을 정의하는 상기 기능은:
상기 검출된 제1 손의 손바닥 표면을 식별하는 기능; 및
상기 식별된 손바닥 표면의 척골측을 따라 상기 제1 매핑된 영역을 생성하는 기능을 추가로 포함하는, 양손 제어 시스템. - 제9항에 있어서,
상기 프레젠테이션된 타깃 아이콘은 하우징에 의해 지지되는 캡을 포함하는 가상 버튼, 패턴에 의해 정의된 영역, 경계에 의해 정의된 폐쇄된 영역, 및 상기 정의된 제1 매핑된 영역의 전부 또는 일부를 따라 연장되는 하이라이트로 이루어지는 그룹에서 선택되는 인디케이터를 포함하는, 양손 제어 시스템. - 제9항에 있어서,
손 제스처 라이브러리에 저장된, 상기 제1 미리 정의된 손 제스처는 손가락 끝이 손바닥 표면의 척골측과 교차하는 것을 특징으로 하는 포즈들의 시퀀스를 포함하고, 그리고
상기 검출된 일련의 양손 손 형상들은 상기 타깃 포지션의 미리 정의된 임계 거리 내에서 검출되는 상기 일련의 현재 손가락 끝 로케이션들 중 적어도 하나를 포함하는, 양손 제어 시스템. - 제9항에 있어서,
선택 액션을 실행하는 상기 기능은:
상기 상관에 따라 그리고 상기 정의된 제1 매핑된 영역에 대한 제1 포지션에서 하나 이상의 그래픽 요소를 상기 디스플레이 상에 프레젠테이션하는 기능들을 추가로 포함하는, 양손 제어 시스템. - 제9항에 있어서,
선택 액션을 실행하는 상기 기능은:
상기 디스플레이 상에 상기 타깃 아이콘과 연관된 시각적 표시를 프레젠테이션하는 것, 라우드스피커를 통해 사운드를 재생하는 것, 액추에이터를 사용하여 진동을 생성하는 것으로 이루어지는 그룹에서 선택된 인디케이터를 포함하는 응답을 생성하는 기능들을 추가로 포함하는, 양손 제어 시스템. - 제9항에 있어서,
상기 프레젠테이션된 타깃 아이콘은 가상 버튼을 포함하고, 상기 가상 버튼은 하우징에 의해 지지되고 디폴트 포지션에서 작동된 포지션으로 움직일 수 있는 캡을 포함하고, 그리고
선택 액션을 실행하는 상기 기능은, 상기 포지션들 사이의 상기 캡의 겉보기 모션이 상기 검출된 일련의 현재 손가락 끝 로케이션들과 상관되도록, 상기 매칭되는 미리 정의된 손 제스처에 따라 상기 디스플레이 상에 상기 캡을 프레젠테이션하는 기능들을 추가로 포함하는, 양손 제어 시스템. - 프로그램 코드를 저장한 비일시적 컴퓨터 판독가능 매체로서,
상기 프로그램 코드는, 실행될 때, 전자 프로세서로 하여금:
상기 카메라 시스템으로 비디오 데이터의 프레임들을 캡처하는 단계;
상기 이미지 프로세싱 시스템을 사용하여 상기 캡처된 비디오 데이터의 프레임들에서 제1 손을 검출하는 단계;
상기 이미지 프로세싱 시스템을 사용하여 상기 검출된 제1 손과 연관된 제1 매핑된 영역을 정의하는 단계;
상기 로컬라이제이션 시스템을 사용하여, 상기 정의된 제1 매핑된 영역에 대한 현재 아이웨어 로케이션을 결정하는 단계;
상기 현재 아이웨어 로케이션에 따라, 상기 정의된 제1 매핑된 영역과 상기 디스플레이의 평면 사이의 상관을 계산하는 단계;
상기 계산된 상관에 따라 상기 정의된 제1 매핑된 영역에 대한 타깃 포지션에서 타깃 아이콘을 상기 디스플레이 상에 프레젠테이션하는 단계;
상기 이미지 프로세싱 시스템을 사용하여, 상기 검출된 제1 손 및 제2 손의 손가락 끝과 연관된 일련의 현재 손가락 끝 로케이션들을 포함하는 일련의 양손 손 형상들을 검출하는 단계;
상기 이미지 프로세싱 시스템을 사용하여, 상기 검출된 일련의 양손 손 형상들이 복수의 미리 정의된 손 제스처들 중에서 선택된 제1 미리 정의된 손 제스처와 매칭되는지 여부를 결정하는 단계; 및
상기 매칭되는 미리 정의된 손 제스처에 따라 선택 액션을 실행하는 단계를 수행하게 하도록 동작하는, 비일시적 컴퓨터 판독가능 매체. - 제17항에 있어서,
제1 매핑된 영역을 정의하는 상기 단계는:
상기 검출된 제1 손의 손바닥 표면을 식별하는 단계; 및
상기 식별된 손바닥 표면의 척골측을 따라 상기 제1 매핑된 영역을 생성하는 단계를 포함하는, 비일시적 컴퓨터 판독가능 매체. - 제17항에 있어서,
손 제스처 라이브러리에 저장된, 상기 제1 미리 정의된 손 제스처는 손가락 끝이 손바닥 표면의 척골측과 교차하는 것을 특징으로 하는 포즈들의 시퀀스를 포함하고, 그리고
상기 검출된 일련의 양손 손 형상들은 상기 타깃 포지션의 미리 정의된 임계 거리 내에서 검출되는 상기 일련의 현재 손가락 끝 로케이션들 중 적어도 하나를 포함하는, 비일시적 컴퓨터 판독가능 매체. - 제17항에 있어서,
선택 액션을 실행하는 상기 단계는:
상기 디스플레이 상에 상기 타깃 아이콘과 연관된 시각적 표시를 프레젠테이션하는 것, 라우드스피커를 통해 사운드를 재생하는 것, 액추에이터를 사용하여 진동을 생성하는 것으로 이루어지는 그룹에서 선택된 인디케이터를 포함하는 응답을 생성하는 단계; 및
상기 상관에 따라 그리고 상기 정의된 제1 매핑된 영역에 대한 제1 포지션에서 하나 이상의 그래픽 요소들을 상기 디스플레이 상에 프레젠테이션하는 단계를 추가로 포함하는, 비일시적 컴퓨터 판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163172520P | 2021-04-08 | 2021-04-08 | |
US63/172,520 | 2021-04-08 | ||
PCT/US2022/023608 WO2022216784A1 (en) | 2021-04-08 | 2022-04-06 | Bimanual interactions between mapped hand regions for controlling virtual and graphical elements |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230164185A true KR20230164185A (ko) | 2023-12-01 |
Family
ID=81384740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237038178A KR20230164185A (ko) | 2021-04-08 | 2022-04-06 | 가상 및 그래픽 요소들을 제어하기 위한 매핑된 손 영역들 사이의 양손 상호 작용들 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220326781A1 (ko) |
EP (1) | EP4320502A1 (ko) |
KR (1) | KR20230164185A (ko) |
CN (1) | CN117120962A (ko) |
WO (1) | WO2022216784A1 (ko) |
Families Citing this family (63)
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 |
US10439972B1 (en) | 2013-05-30 | 2019-10-08 | Snap Inc. | Apparatus and method for maintaining a message thread with opt-in permanence for entries |
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 |
US10775996B2 (en) | 2014-11-26 | 2020-09-15 | Snap Inc. | Hybridization of voice notes and calling |
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 |
US10474353B2 (en) | 2016-05-31 | 2019-11-12 | Snap Inc. | Application control using a gesture based trigger |
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 |
US11204949B1 (en) | 2017-07-31 | 2021-12-21 | Snap Inc. | Systems, devices, and methods for content selection |
US10591730B2 (en) | 2017-08-25 | 2020-03-17 | II Jonathan M. Rodriguez | Wristwatch based interface for augmented reality eyewear |
WO2019094618A1 (en) | 2017-11-08 | 2019-05-16 | Signall Technologies Zrt | Computer vision based sign language interpreter |
US10796482B2 (en) | 2018-12-05 | 2020-10-06 | Snap Inc. | 3D hand shape and pose estimation |
US11019011B1 (en) | 2019-03-29 | 2021-05-25 | Snap Inc. | Messaging system with discard user interface |
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 |
US11991469B2 (en) | 2020-06-30 | 2024-05-21 | Snap Inc. | Skeletal tracking for real-time virtual effects |
CN116114258A (zh) | 2020-08-13 | 2023-05-12 | 斯纳普公司 | 用于位姿驱动的虚拟效果的用户界面 |
US11671559B2 (en) | 2020-09-30 | 2023-06-06 | Snap Inc. | Real time video editing |
US11797162B2 (en) | 2020-12-22 | 2023-10-24 | Snap Inc. | 3D painting on an eyewear device |
US12105283B2 (en) | 2020-12-22 | 2024-10-01 | Snap Inc. | Conversation interface on an eyewear device |
EP4268066A1 (en) | 2020-12-22 | 2023-11-01 | Snap Inc. | Media content player on an eyewear device |
WO2022146678A1 (en) | 2020-12-29 | 2022-07-07 | Snap Inc. | Micro hand gestures for controlling virtual and graphical elements |
KR20230124703A (ko) | 2020-12-29 | 2023-08-25 | 스냅 인코포레이티드 | 증강 현실 컴포넌트들을 위한 신체 ui |
KR20230124077A (ko) | 2020-12-30 | 2023-08-24 | 스냅 인코포레이티드 | 증강 현실 정밀 추적 및 디스플레이 |
EP4272063A1 (en) | 2020-12-31 | 2023-11-08 | Snap Inc. | Media content items with haptic feedback augmentations |
WO2022147449A1 (en) | 2020-12-31 | 2022-07-07 | Snap Inc. | Electronic communication interface with haptic feedback response |
KR20230128063A (ko) | 2020-12-31 | 2023-09-01 | 스냅 인코포레이티드 | 햅틱 피드백을 갖는 실시간 비디오 통신 인터페이스 |
US12008152B1 (en) | 2020-12-31 | 2024-06-11 | Snap Inc. | Distance determination for mixed reality interaction |
US11531402B1 (en) | 2021-02-25 | 2022-12-20 | Snap Inc. | Bimanual gestures for controlling virtual and graphical elements |
US11978283B2 (en) | 2021-03-16 | 2024-05-07 | Snap Inc. | Mirroring device with a hands-free mode |
US11734959B2 (en) | 2021-03-16 | 2023-08-22 | Snap Inc. | Activating hands-free mode on mirroring device |
USD998637S1 (en) | 2021-03-16 | 2023-09-12 | Snap Inc. | Display screen or portion thereof with a graphical user interface |
US11798201B2 (en) | 2021-03-16 | 2023-10-24 | Snap Inc. | Mirroring device with whole-body outfits |
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 |
US12050729B2 (en) | 2021-03-31 | 2024-07-30 | Snap Inc. | Real-time communication interface with haptic and audio feedback response |
US11861070B2 (en) | 2021-04-19 | 2024-01-02 | Snap Inc. | Hand gestures for animating and controlling virtual and graphical elements |
US11880542B2 (en) | 2021-05-19 | 2024-01-23 | Snap Inc. | Touchpad input for augmented reality display device |
US11928306B2 (en) | 2021-05-19 | 2024-03-12 | Snap Inc. | Touchpad navigation for augmented reality display device |
US11670059B2 (en) | 2021-09-01 | 2023-06-06 | Snap Inc. | Controlling interactive fashion based on body gestures |
KR20230072757A (ko) * | 2021-11-18 | 2023-05-25 | 삼성전자주식회사 | 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법 |
US11960784B2 (en) | 2021-12-07 | 2024-04-16 | Snap Inc. | Shared augmented reality unboxing experience |
US11748958B2 (en) | 2021-12-07 | 2023-09-05 | Snap Inc. | 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 |
US12001878B2 (en) | 2022-06-03 | 2024-06-04 | Snap Inc. | Auto-recovery for AR wearable devices |
US12002168B2 (en) | 2022-06-20 | 2024-06-04 | Snap Inc. | Low latency hand-tracking in augmented reality systems |
US12069399B2 (en) | 2022-07-07 | 2024-08-20 | Snap Inc. | Dynamically switching between RGB and IR capture |
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 |
US12112025B2 (en) | 2023-02-16 | 2024-10-08 | Snap Inc. | Gesture-driven message content resizing |
CN116546182B (zh) * | 2023-07-05 | 2023-09-12 | 中数元宇数字科技(上海)有限公司 | 视频处理方法、装置、设备以及存储介质 |
US12093443B1 (en) | 2023-10-30 | 2024-09-17 | Snap Inc. | Grasping virtual objects with real hands for extended reality |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1743277A4 (en) * | 2004-04-15 | 2011-07-06 | Gesturetek Inc | MONITORING OF BI-MANUAL MOVEMENTS |
US8799821B1 (en) * | 2008-04-24 | 2014-08-05 | Pixar | Method and apparatus for user inputs for three-dimensional animation |
US8750573B2 (en) * | 2010-08-02 | 2014-06-10 | Sony Corporation | Hand gesture detection |
US20120113223A1 (en) * | 2010-11-05 | 2012-05-10 | Microsoft Corporation | User Interaction in Augmented Reality |
WO2013093906A1 (en) * | 2011-09-19 | 2013-06-27 | Eyesight Mobile Technologies Ltd. | Touch free interface for augmented reality systems |
US10082950B2 (en) * | 2011-11-09 | 2018-09-25 | Joseph T. LAPP | Finger-mapped character entry systems |
CN104272225B (zh) * | 2012-05-09 | 2017-11-03 | 索尼公司 | 信息处理装置、信息处理方法 |
KR101757080B1 (ko) * | 2012-07-13 | 2017-07-11 | 소프트키네틱 소프트웨어 | 손위의 단일한 관심 포인트를 이용한 인간-컴퓨터 제스처 기반 동시 상호작용을 위한 방법 및 시스템 |
US10133342B2 (en) * | 2013-02-14 | 2018-11-20 | Qualcomm Incorporated | Human-body-gesture-based region and volume selection for HMD |
US9207771B2 (en) * | 2013-07-08 | 2015-12-08 | Augmenta Oy | Gesture based user interface |
US9575560B2 (en) * | 2014-06-03 | 2017-02-21 | Google Inc. | Radar-based gesture-recognition through a wearable device |
AU2015274283B2 (en) * | 2014-06-14 | 2020-09-10 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US10852838B2 (en) * | 2014-06-14 | 2020-12-01 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US9696795B2 (en) * | 2015-02-13 | 2017-07-04 | Leap Motion, Inc. | Systems and methods of creating a realistic grab experience in virtual reality/augmented reality environments |
US20170003746A1 (en) * | 2015-06-30 | 2017-01-05 | International Business Machines Corporation | Hand-gesture input |
US10037085B2 (en) * | 2015-12-21 | 2018-07-31 | Intel Corporation | Techniques for real object and hand representation in virtual reality content |
US10866652B2 (en) * | 2017-11-13 | 2020-12-15 | Samsung Electronics Co., Ltd. | System and method for distributed device tracking |
US20190361521A1 (en) * | 2018-05-22 | 2019-11-28 | Microsoft Technology Licensing, Llc | Accelerated gaze-supported manual cursor control |
US10642369B2 (en) * | 2018-06-14 | 2020-05-05 | Dell Products, L.P. | Distinguishing between one-handed and two-handed gesture sequences in virtual, augmented, and mixed reality (xR) applications |
US10635895B2 (en) * | 2018-06-27 | 2020-04-28 | Facebook Technologies, Llc | Gesture-based casting and manipulation of virtual content in artificial-reality environments |
US10909762B2 (en) * | 2018-08-24 | 2021-02-02 | Microsoft Technology Licensing, Llc | Gestures for facilitating interaction with pages in a mixed reality environment |
US11481025B2 (en) * | 2018-11-21 | 2022-10-25 | Sony Group Corporation | Display control apparatus, display apparatus, and display control method |
US10902250B2 (en) * | 2018-12-21 | 2021-01-26 | Microsoft Technology Licensing, Llc | Mode-changeable augmented reality interface |
US11294472B2 (en) * | 2019-01-11 | 2022-04-05 | Microsoft Technology Licensing, Llc | Augmented two-stage hand gesture input |
US11320911B2 (en) * | 2019-01-11 | 2022-05-03 | Microsoft Technology Licensing, Llc | Hand motion and orientation-aware buttons and grabbable objects in mixed reality |
EP3693834A1 (en) * | 2019-02-11 | 2020-08-12 | Siemens Aktiengesellschaft | Method and system for viewing virtual elements |
FR3095543B1 (fr) * | 2019-04-25 | 2022-02-25 | Hap2U | Dispositif de commande 3D à retour haptique |
US11003307B1 (en) * | 2019-06-07 | 2021-05-11 | Facebook Technologies, Llc | Artificial reality systems with drawer simulation gesture for gating user interface elements |
JP2021002288A (ja) * | 2019-06-24 | 2021-01-07 | 株式会社ソニー・インタラクティブエンタテインメント | 画像処理装置、コンテンツ処理システム、および画像処理方法 |
US10991163B2 (en) * | 2019-09-20 | 2021-04-27 | Facebook Technologies, Llc | Projection casting in virtual environments |
US11182909B2 (en) * | 2019-12-10 | 2021-11-23 | Google Llc | Scalable real-time hand tracking |
CN115443445A (zh) * | 2020-02-26 | 2022-12-06 | 奇跃公司 | 用于可穿戴系统的手部手势输入 |
CN111665986B (zh) * | 2020-06-02 | 2022-07-01 | 武汉天马微电子有限公司 | 一种显示面板及显示装置 |
US11546505B2 (en) * | 2020-09-28 | 2023-01-03 | Snap Inc. | Touchless photo capture in response to detected hand gestures |
US11416079B2 (en) * | 2020-12-03 | 2022-08-16 | Motorola Mobility Llc | Snap motion gesture detection and response |
WO2022120255A1 (en) * | 2020-12-04 | 2022-06-09 | VR-EDU, Inc. | Virtual information board for collaborative information sharing |
WO2022146678A1 (en) * | 2020-12-29 | 2022-07-07 | Snap Inc. | Micro hand gestures for controlling virtual and graphical elements |
US11531402B1 (en) * | 2021-02-25 | 2022-12-20 | Snap Inc. | Bimanual gestures for controlling virtual and graphical elements |
US11861070B2 (en) * | 2021-04-19 | 2024-01-02 | Snap Inc. | Hand gestures for animating and controlling virtual and graphical elements |
-
2022
- 2022-04-06 KR KR1020237038178A patent/KR20230164185A/ko unknown
- 2022-04-06 CN CN202280027035.7A patent/CN117120962A/zh active Pending
- 2022-04-06 WO PCT/US2022/023608 patent/WO2022216784A1/en active Application Filing
- 2022-04-06 EP EP22718536.0A patent/EP4320502A1/en active Pending
- 2022-04-06 US US17/714,352 patent/US20220326781A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN117120962A (zh) | 2023-11-24 |
EP4320502A1 (en) | 2024-02-14 |
WO2022216784A1 (en) | 2022-10-13 |
US20220326781A1 (en) | 2022-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12135840B2 (en) | Bimanual gestures for controlling virtual and graphical elements | |
US20220326781A1 (en) | Bimanual interactions between mapped hand regions for controlling virtual and graphical elements | |
US11861070B2 (en) | Hand gestures for animating and controlling virtual and graphical elements | |
US12086324B2 (en) | Micro hand gestures for controlling virtual and graphical elements | |
US11546505B2 (en) | Touchless photo capture in response to detected hand gestures | |
KR20230113374A (ko) | 머리-관련 전달 함수 | |
US20240107256A1 (en) | Augmented reality spatial audio experience | |
US12079395B2 (en) | Scissor hand gesture for a collaborative object | |
WO2024049585A1 (en) | Timelapse of generating a collaborative object | |
US12141367B2 (en) | Hand gestures for animating and controlling virtual and graphical elements | |
US20240168565A1 (en) | Single-handed gestures for reviewing virtual content | |
US12148114B2 (en) | Real-world responsiveness of a collaborative object | |
US20240071020A1 (en) | Real-world responsiveness of a collaborative object | |
US20240070298A1 (en) | Selective collaborative object access | |
WO2024049575A1 (en) | Revealing collaborative object using countdown timer | |
WO2024049577A1 (en) | Selective collaborative object access based on timestamp |