KR20240004873A - 증강 현실 체험들을 위한 큐레이팅된 상황별 오버레이들 - Google Patents

증강 현실 체험들을 위한 큐레이팅된 상황별 오버레이들 Download PDF

Info

Publication number
KR20240004873A
KR20240004873A KR1020237041595A KR20237041595A KR20240004873A KR 20240004873 A KR20240004873 A KR 20240004873A KR 1020237041595 A KR1020237041595 A KR 1020237041595A KR 20237041595 A KR20237041595 A KR 20237041595A KR 20240004873 A KR20240004873 A KR 20240004873A
Authority
KR
South Korea
Prior art keywords
display
contextual
overlay
current
data
Prior art date
Application number
KR1020237041595A
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 KR20240004873A publication Critical patent/KR20240004873A/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/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/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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/68Food, e.g. fruit or vegetables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

증강 현실 체험에서 그래픽 요소들과 가상 요소들을 포함하는 상황별 오버레이를 큐레이팅하고 프레젠테이션하기 위한 예시적인 시스템들, 디바이스들, 매체들, 및 방법들이 설명된다. 상황별 오버레이 애플리케이션은 카메라의 시야 내의 비디오 데이터의 프레임들의 캡처를 구현하고 제어한다. 이미지 프로세싱 시스템은, 캡처된 비디오 데이터의 프레임들에서, 물리적 환경 내의 하나 이상의 식품 항목을 검출한다. 식품 항목들을 검출하는 것은 컴퓨터 비전 및 기계 훈련된 분류 모델들을 수반할 수 있다. 이 방법은 검출된 식품 항목과 연관된 데이터를 검색하는 단계, 검색된 데이터 및 구성 가능한 프로파일에 기초하여 상황별 오버레이를 큐레이팅하는 단계, 및 디스플레이 상에 상황별 오버레이를 프레젠테이션하는 단계를 포함한다.

Description

증강 현실 체험들을 위한 큐레이팅된 상황별 오버레이들
관련 출원들에 대한 상호 참조
[0001] 본 출원은 2021년 5월 5일에 출원된 미국 가출원 제63/184,448호에 대한 우선권을 주장하며, 그 내용은 인용에 의해 본 명세서에 완전히 포함된다.
[0002] 본 개시에서 제시된 예들은, 아이웨어와 같은 웨어러블 디바이스들을 포함하는, 전자 디바이스들을 위한 증강 현실 체험들의 분야에 관한 것이다. 더 특정하게는, 본 개시는 디스플레이 상의 상황별 오버레이의 큐레이팅 및 프레젠테이션을 기술하지만, 이에 제한되는 것은 아니다.
[0003] 모바일 디바이스들(예를 들어, 스마트폰들, 태블릿들, 랩톱들), 핸드헬드 디바이스들, 및 웨어러블 디바이스들(예를 들어, 스마트 안경들, 디지털 아이웨어, 헤드웨어, 헤드기어, 및 헤드 장착 디스플레이들)과 같은, 오늘날 사용 가능한 많은 타입의 컴퓨터들 및 전자 디바이스들은 다양한 카메라들, 센서들, 무선 트랜시버들, 입력 시스템들, 및 디스플레이들을 포함한다.
[0004] 가상 현실(virtual reality, VR) 기술은, 때때로 VR 헤드셋이나 다른 헤드 장착 디스플레이 상에 프레젠테이션되는, 사실적인 이미지들을 포함하는 완전한 가상 환경을 생성한다. VR 체험들은 사용자가 가상 환경을 통해 이동하고 가상 객체와 상호 작용할 수 있게 한다. 증강 현실(augmented reality, AR)은 물리적 환경 내의 실제 객체들을 가상 객체들과 조합하여 해당 조합을 사용자에게 디스플레이하는 VR 기술의 일종이다. 조합된 디스플레이는 가상 객체들이 환경 내에 진짜로 존재한다는 인상을 주는데, 특히 가상 객체들이 나타나 실제 객체들처럼 거동할 때 그러하다. 교차 현실(cross reality, XR)은 일반적으로 AR, VR, 및 MR(mixed reality) 환경들로부터의 요소들을 포함하거나 조합하는 시스템들을 지칭하는 포괄적 용어로서 이해된다.
[0005] 가상 객체들 및 아이콘들, 작업 표시줄들, 리스트 박스들, 메뉴들, 버튼들과 같은 그래픽 요소들, 및 커서들, 포인터들, 핸들들, 및 슬라이더들과 같은 선택 제어 요소들을 포함하는, 그래픽 사용자 인터페이스들은 사용자가 디스플레이된 콘텐츠와 상호 작용할 수 있게 한다.
[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] 증강 현실 체험에서 그래픽 요소들과 가상 요소들을 포함하는 상황별 오버레이를 큐레이팅하고 프레젠테이션하기 위한 예들에 관련하여 다양한 구현들 및 세부 사항들이 설명된다. 예를 들어, 컴퓨터 비전 및 기계 훈련된 분류 모델들을 사용하여 아이웨어 디바이스에 의해 캡처된 비디오 데이터에서 식품 항목들이 검출된다. 도서관들과 인터넷 검색들로부터 관련 데이터가 검색한다. 검색된 데이터를 사용하여 상황별 오버레이가 큐레이팅되어 디스플레이 상에 프레젠테이션된다. 상황별 오버레이의 선택된 요소들이 열리거나, 저장되거나, 공유될 수 있다.
[0021] 예들은 물리적 환경에서 아이웨어 디바이스로 검출된 항목들에 응답하여 상황별 오버레이를 프레젠테이션하는 방법을 포함한다. 아이웨어 디바이스는 카메라 시스템, 마이크로폰, 라우드스피커, 상황별 오버레이 애플리케이션, 이미지 프로세싱 시스템, 및 디스플레이를 포함한다. 이 방법은 마이크로폰으로 시작 명령을 인식하는 단계, 및 응답으로, 라우드스피커를 통해 확인 메시지를 재생하는 단계를 포함한다. 상황별 오버레이 애플리케이션은 카메라의 시야 내에서 비디오 데이터의 프레임들을 캡처한다. 이미지 프로세싱 시스템은, 캡처된 비디오 데이터의 프레임들에서, 디스플레이에 대해 현재 항목 포지션에 있는 식품 항목을 검출한다. 이 방법은 검출된 식품 항목과 연관된 데이터를 검색하는 단계, 검색된 데이터에 기초하여 상황별 오버레이를 큐레이팅하는 단계, 및 디스플레이 상에 상황별 오버레이를 프레젠테이션하는 단계를 추가로 포함한다.
[0022] 식품 항목 항목들 및 식품 정보와 관련하여 다양한 시스템들 및 방법들이 본 명세서에서 기술되어 있기는 하지만, 설명된 기술은 물리적 환경에서 임의의 타입 또는 클래스의 항목들을 검출하고, 검출된 항목들에 관한 데이터를 검색하고, 디스플레이 상에 상황별 오버레이를 프레젠테이션하는 것에 적용될 수 있다.
[0023] 다음의 상세한 설명은 본 개시에서 제시된 예들을 예시하는 시스템들, 방법들, 기법들, 명령어 시퀀스들, 및 컴퓨팅 기계 프로그램 제품들을 포함한다. 개시된 주제 및 그의 관련 교시 내용들의 완전한 이해를 제공하기 위해 많은 세부 사항들 및 예들이 포함되어 있다. 그러나, 당업자들은 그러한 세부 사항들 없이도 관련 교시 내용들을 어떻게 적용할지를 이해할 수 있다. 개시된 주제의 양태들은, 관련 교시 내용들이 다양한 방식들로 적용되거나 실시될 수 있기 때문에, 설명된 특정 디바이스들, 시스템들, 및 방법들로 제한되지는 않는다. 본 명세서에서 사용된 용어 및 명명법은 단지 특정 양태들을 기술하기 위해 사용된 것일 뿐이고, 제한하려고 의도된 것은 아니다. 일반적으로, 잘 알려진 명령어 인스턴스들, 프로토콜들, 구조들, 및 기법들이 반드시 상세히 제시되어 있는 것은 아니다.
[0024] 본 명세서에서 사용되는 "결합된" 또는 "연결된"이라는 용어들은 하나의 시스템 요소에 의해 생성 또는 공급되는 전기 또는 자기 신호들이 다른 결합된 또는 연결된 시스템 요소에 전달되는 링크 등을 포함하는, 임의의 논리적, 광학적, 물리적, 또는 전기적 연결을 지칭한다. 달리 기술되지 않는 한, 결합된 또는 연결된 요소들 또는 디바이스들은 반드시 서로 직접 연결되는 것은 아니며, 중간 컴포넌트들, 요소들 또는 통신 매체에 의해 분리될 수 있으며, 이들 중 하나 이상이 전기 신호들을 수정, 조작, 또는 운반할 수 있다. "상에(on)"라는 용어는 요소에 의해 직접 지지되는 것 또는 해당 요소에 통합되거나 해당 요소에 의해 지지되는 다른 요소를 통해 해당 요소에 의해 간접적으로 지지되는 것을 의미한다.
[0025] "근위(proximal)"라는 용어는 객체 또는 사람 근처에, 인접하여, 또는 옆에 위치해 있는; 또는 "원위(distal)"로서 기술될 수 있는, 항목의 다른 부분들에 비해 상대적으로 더 가까운 항목 또는 항목의 일부를 기술하기 위해 사용된다. 예를 들어, 객체에 가장 가까운 항목의 단부는 근위 단부라고 지칭될 수 있는 반면, 일반적으로 반대되는 단부는 원위 단부라고 지칭될 수 있다.
[0026] 도면들 중 임의의 도면에 도시된 것들과 같은, 아이웨어 디바이스, 다른 모바일 디바이스들, 결합된 컴포넌트들, 및 임의의 다른 디바이스들의 배향들은, 예시 및 논의를 위해, 단지 예로서 주어져 있다. 동작 시에, 아이웨어 디바이스는 아이웨어 디바이스의 특정 응용에 적합한 임의의 다른 방향으로; 예를 들어, 위로, 아래로, 옆으로, 또는 임의의 다른 배향으로 배향될 수 있다. 또한, 본 명세서에서 사용되는 한은, 전방, 후방, 내측, 외측, 향하여, 좌측, 우측, 가로, 세로, 위, 아래, 상부, 하부, 최상부, 최하부, 측면, 수평, 수직, 및 대각선과 같은 임의의 방향 용어는 단지 예로서 사용되며, 본 명세서에서 구성된 바와 같은 또는 달리 기술된 바와 같은 임의의 카메라, 관성 측정 유닛, 또는 디스플레이의 방향 또는 배향에 대해 제한적인 것은 아니다.
[0027] 지각적으로 풍부하고 몰입감 있는 체험을 생성하기 위해 컴퓨터 비전 및 객체 추적과 같은, 고급 AR 기술들이 사용될 수 있다. 컴퓨터 비전 알고리즘들이 디지털 이미지들 또는 비디오에서 캡처된 데이터로부터 물리적 세계에 관한 3차원 데이터를 추출한다. 디지털 이미지 또는 비디오에서 객체를 검출하고, 그것의 배향 또는 포즈를 추정하고, 시간 경과에 따른 그것의 움직임을 추적하기 위해 객체 인식 및 추적 알고리즘들이 사용된다. 실시간으로 손과 손가락을 인식하고 추적하는 것은 컴퓨터 비전 분야에서 가장 도전적이고 프로세싱 집약적인 태스크들 중 하나이다.
[0028] "포즈"라는 용어는 특정 순간에서의 객체의 정적 포지션 및 배향을 지칭한다. "제스처"라는 용어는, 때때로 신호 또는 아이디어를 전달하기 위한, 일련의 포즈들을 통한, 손과 같은 객체의 능동적인 움직임을 지칭한다. 포즈 및 제스처라는 용어들은 때때로 컴퓨터 비전 및 증강 현실 분야에서 교환 가능하게 사용된다. 본 명세서에서 사용되는, "포즈" 또는 "제스처"(또는 이들의 변형들)라는 용어들은 포즈들과 제스처들 양쪽 모두를 포함하도록 의도되어 있으며; 다시 말해서, 하나의 용어의 사용이 다른 용어를 배제하지 않는다.
[0029] 예들의 추가적인 목적들, 이점들 및 신규한 특징들은 부분적으로는 다음의 설명에서 제시될 것이며, 부분적으로는 다음의 그리고 첨부 도면들의 검토에 따라 당업자들에게 명백해질 것이거나, 예들의 제작 또는 작동에 의해 학습될 수 있다. 본 주제의 목적들 및 이점들은 첨부된 청구항들에서 특별히 지적된 방법들, 수단들 및 조합들에 의해 실현되고 달성될 수 있다.
[0030] 이제 첨부 도면들에 예시되고 아래에서 논의되는 예들을 상세히 참조한다.
[0031] 도 1a는 터치패드(181)와 같은 터치 감응 입력 디바이스를 포함하는 아이웨어 디바이스(100)의 예시적인 하드웨어 구성의 측면도(우측)이다. 도시된 바와 같이, 터치패드(181)는 뚜렷이 보이거나 터치패드(181)의 로케이션 및 경계에 관해 사용자에게 피드백을 제공하는 융기된 또는 달리 촉각으로 알 수 있는 에지를 포함하는 경계를 가질 수 있고; 대안적으로, 경계는 미세하여 잘 보이거나 느껴지지 않을 수 있다. 다른 구현들에서는, 아이웨어 디바이스(100)는 우측 측면 상의 터치패드(181)와 함께 또는 독립적으로 동작하는 좌측 측면 상의 터치패드(181)를 포함할 수 있다.
[0032] 터치패드(181)의 표면은, 이미지 디스플레이 상에, 아이웨어 디바이스에 의해 디스플레이된 GUI와 함께 사용하기 위한 손가락 터치들, 탭들, 및 제스처들(예를 들어, 이동 터치들)을 검출하여 사용자가 직관적인 방식으로 메뉴 옵션들을 탐색하고 선택할 수 있게 하도록 구성되며, 이는 사용자 체험을 향상시키고 단순화한다.
[0033] 터치패드(181) 상의 손가락 입력들의 검출은 여러 기능들을 가능하게 할 수 있다. 예를 들어, 터치패드(181) 상의 어느 곳이든 터치하면 GUI가 이미지 디스플레이 상의 항목을 디스플레이하거나 하이라이트할 수 있으며, 이는 광학 어셈블리들(180A, 180B) 중 적어도 하나에 투사될 수 있다. 터치패드(181)를 탭하거나 두 번 탭하면 항목이나 아이콘이 선택될 수 있다. 손가락을 특정 방향으로(예를 들어, 앞에서 뒤로, 뒤에서 앞으로, 위에서 아래로 또는 아래에서 위로) 슬라이딩하거나 스와이프하면, 예를 들어, 다음 항목, 아이콘, 비디오, 이미지, 페이지, 또는 슬라이드로 이동하기 위해 항목들이나 아이콘들이 특정 방향으로 슬라이딩되거나 스크롤될 수 있다. 손가락을 다른 방향으로 슬라이딩하면, 예를 들어 이전 항목, 아이콘, 비디오, 이미지, 페이지, 또는 슬라이드로 이동하기 위해 반대 방향으로 슬라이딩되거나 스크롤될 수 있다. 터치패드(181)는 아이웨어 디바이스(100) 상의 사실상 어느 곳이든 있을 수 있다.
[0034] 일 예에서는, 터치패드(181)에 대한 단일 탭의 식별된 손가락 제스처가 광학 어셈블리(180A, 180B)의 이미지 디스플레이 상에 프레젠테이션된 이미지 내의 그래픽 사용자 인터페이스 요소의 선택 또는 누름을 개시한다. 식별된 손가락 제스처에 기초한 광학 어셈블리(180A, 180B)의 이미지 디스플레이 상에 프레젠테이션된 이미지에 대한 조정이 추가 디스플레이 또는 실행을 위해 광학 어셈블리(180A, 180B)의 이미지 디스플레이 상의 그래픽 사용자 인터페이스 요소를 선택하거나 제출하는 주요 액션일 수 있다.
[0035] 도시된 바와 같이, 아이웨어 디바이스(100)는 우측 가시광 카메라(114B)를 포함한다. 본 명세서에서 추가로 기술되는 바와 같이, 2개의 카메라(114A, 114B)는 2개의 별개의 관점에서 장면에 대한 이미지 정보를 캡처한다. 캡처된 2개의 이미지는 3D 안경으로 보기 위해 이미지 디스플레이 상에 3차원 디스플레이를 투사하기 위해 사용될 수 있다.
[0036] 아이웨어 디바이스(100)는 깊이 이미지들과 같은 이미지들을 프레젠테이션하기 위한 이미지 디스플레이를 갖는 우측 광학 어셈블리(180B)를 포함한다. 도 1a 및 도 1b에 도시된 바와 같이, 아이웨어 디바이스(100)는 우측 가시광 카메라(114B)를 포함한다. 아이웨어 디바이스(100)는 스테레오 카메라와 같은 수동 타입의 3차원 카메라를 형성하는 다수의 가시광 카메라들(114A, 114B)을 포함할 수 있으며, 그 중 우측 가시광 카메라(114B)는 우측 코너(110B)에 위치한다. 도 1c 및 도 1d에 도시된 바와 같이, 아이웨어 디바이스(100)는 좌측 가시광 카메라(114A)를 또한 포함한다.
[0037] 좌측 및 우측 가시광 카메라들(114A, 114B)은 가시광 범위 파장에 민감하다. 가시광 카메라들(114A, 114B) 각각은 3차원 깊이 이미지들의 생성을 가능하게 하기 위해 겹치는 상이한 정면을 향하는 시야를 가지며, 예를 들어 우측 가시광 카메라(114B)는 우측 시야(111B)를 묘사한다. 일반적으로, "시야(field of view)"는 공간에서의 특정 포지션 및 배향에서 카메라를 통해 보이는 장면의 부분이다. 시야들(111A 및 111B)은 겹치는 시야(304)(도 3)를 갖는다. 가시광 카메라가 이미지를 캡처할 때 시야(111A, 111B) 외부의 객체들 또는 객체 특징들은 원시 이미지(예를 들어, 사진 또는 그림)에 기록되지 않는다. 시야는 가시광 카메라(114A, 114B)의 이미지 센서가 주어진 장면의 캡처된 이미지에서 주어진 장면의 전자기 복사를 픽업하는, 각도 범위 또는 정도를 기술한다. 시야는 뷰 콘(view cone)의 각도 크기; 즉, 시야각(angle of view)으로서 표현될 수 있다. 시야각은 수평으로, 수직으로, 또는 대각선으로 측정될 수 있다.
[0038] 예시적인 구성에서, 가시광 카메라들(114A, 114B) 중 하나 또는 양쪽 모두는 100°의 시야와 480x480 픽셀의 해상도를 갖는다. "커버리지 각도(angle of coverage)"는 가시광 카메라들(114A, 114B) 또는 적외선 카메라(410)(도 2a 참조)의 렌즈가 효과적으로 이미징할 수 있는 각도 범위를 기술한다. 전형적으로, 카메라 렌즈는 가능한 경우에 약간의 비네팅(예를 들어, 중앙과 비교할 때 가장자리들 쪽으로 이미지가 어두워지는 것)을 포함하여 필름이나 카메라의 센서를 완전히 덮을 수 있을 만큼 큰 이미지 서클을 생성한다. 카메라 렌즈의 커버리지 각도가 센서를 채우지 않으면, 전형적으로 가장자리 쪽으로 강한 비네팅이 있는, 이미지 서클이 보일 것이며, 유효 시야각은 커버리지 각도로 제한될 것이다.
[0039] 그러한 가시광 카메라들(114A, 114B)의 예들은 고해상도 CMOS(complementary metal-oxide-semiconductor) 이미지 센서 및 480p(예를 들어, 640x480 픽셀), 720p, 1080p 이상의 해상도들이 가능한 디지털 VGA 카메라(비디오 그래픽 어레이)를 포함한다. 다른 예들은 높은 프레임 레이트(예를 들어, 초당 30 내지 60프레임 이상)로 고화질(HD) 비디오를 캡처하고 1216x1216 픽셀의 해상도로 기록을 저장할 수 있는 가시광 카메라들(114A, 114B)을 포함한다.
[0040] 아이웨어 디바이스(100)는 가시광 카메라들(114A, 114B)로부터의 이미지 센서 데이터를 지오로케이션 데이터와 함께 캡처할 수 있고, 이들은 이미지 프로세서에 의해 디지털화되어, 메모리에 저장된다. 가시광 카메라들(114A, 114B)은 수평 포지션에 대한 X축과 수직 포지션에 대한 Y축을 포함하는 2차원 좌표계 상의 픽셀들의 매트릭스를 포함하는 2차원 공간 영역에서 개개의 좌측 및 우측 원시 이미지들을 캡처한다. 각각의 픽셀은 컬러 속성 값(예를 들어, 적색 픽셀 광 값, 녹색 픽셀 광 값, 또는 청색 픽셀 광 값); 및 포지션 속성(예를 들어, X축 좌표 및 Y축 좌표)을 포함한다.
[0041] 나중에 3차원 프로젝션으로서 디스플레이하기 위한 스테레오 이미지들을 캡처하기 위해, 이미지 프로세서(412)(도 4에 도시됨)는 가시광 카메라들(114A, 114B)에 결합되어 시각적 이미지 정보를 수신하고 저장할 수 있다. 이미지 프로세서(412) 또는 다른 프로세서는 인간의 양안 시력을 시뮬레이션하는 스테레오 카메라로서의 역할을 하도록 가시광 카메라들(114A, 114B)의 동작을 제어하고 각각의 이미지에 타임스탬프를 추가할 수 있다. 각각의 이미지 쌍에 대한 타임스탬프는 3차원 프로젝션의 일부로서 이미지들을 함께 디스플레이할 수 있게 한다. 3차원 프로젝션들은, 가상 현실(VR) 및 비디오 게임을 포함한, 다양한 상황들에서 바람직한 몰입감 있는 실제 같은 체험을 제공한다.
[0042] 도 1b는 카메라 시스템의 우측 가시광 카메라(114B), 및 회로 기판을 묘사하는 도 1a의 아이웨어 디바이스(100)의 우측 코너(110B)의 사시적 부분 단면도이다. 도 1c는 카메라 시스템의 좌측 가시광 카메라(114A)를 보여주는, 도 1a의 아이웨어 디바이스(100)의 예시적인 하드웨어 구성의 측면도(좌측)이다. 도 1d는 3차원 카메라의 좌측 가시광 카메라(114A), 및 회로 기판을 묘사하는 도 1c의 아이웨어 디바이스의 좌측 코너(110A)의 사시적 부분 단면도이다.
[0043] 좌측 가시광 카메라(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) 상에 위치할 수 있다.
[0044] 우측 코너(110B)는 코너 바디(190)와 코너 캡을 포함하며, 도 1b의 단면에서는 코너 캡이 생략되어 있다. 우측 코너(110B) 내부에는 우측 가시광 카메라(114B), 마이크로폰(들)(139), 라우드스피커(들)(191), 저전력 무선 회로(예를 들어, Bluetooth™를 통한 무선 단거리 네트워크 통신용), 고속 무선 회로(예를 들어, Wi-Fi를 통한 무선 근거리 네트워크 통신용)를 위한 컨트롤러 회로들을 포함하는, PCB들 또는 가요성 PCB들과 같은, 다양한 상호 연결된 회로 기판들이 배치되어 있다.
[0045] 우측 가시광 카메라(114B)는 가요성 PCB(140B)에 결합되거나 배치되고, 프레임(105)에 형성된 개구(들)를 통해 조준되는, 가시광 카메라 커버 렌즈에 의해 커버된다. 예를 들어, 도 2a에 도시된 프레임(105)의 우측 테(107B)는 우측 코너(110B)에 연결되고 가시광 카메라 커버 렌즈를 위한 개구(들)를 포함한다. 프레임(105)은 사용자의 눈에서 멀어지게 외측을 향하도록 구성된 전면을 포함한다. 프레임(105)의 전면 또는 외측을 향하는 면 상에 그리고 이를 관통하여 가시광 카메라 커버 렌즈를 위한 개구가 형성된다. 이 예에서는, 우측 가시광 카메라(114B)는 아이웨어 디바이스(100) 사용자의 우측 눈과 상관되는 시선 또는 시점(perspective)을 갖는 외측을 향하는 시야(111B)(도 3에 도시됨)를 갖는다. 가시광 카메라 커버 렌즈는, 외측을 향하는 커버리지 각도를 갖되, 상이한 외측 방향으로 개구가 형성되어 있는 우측 코너(110B)의 전면 또는 외측을 향하는 표면에도 부착될 수 있다. 결합은 개재하는 컴포넌트들을 통해 간접적으로 이루어질 수도 있다.
[0046] 도 1b에 도시된 바와 같이, 가요성 PCB(140B)는 우측 코너(110B) 내부에 배치되고 우측 코너(110B)에 수용된 하나 이상의 다른 컴포넌트에 결합된다. 우측 코너(110B)의 회로 기판들 상에 형성되어 있는 것으로 도시되어 있기는 하지만, 우측 가시광 카메라(114B)는 좌측 코너(110A), 안경다리들(125A, 125B), 또는 프레임(105)의 회로 기판들 상에 형성될 수 있다.
[0047] 도 2a 및 도 2b는, 2개의 상이한 타입의 이미지 디스플레이들을 포함하는, 아이웨어 디바이스(100)의 예시적인 하드웨어 구성의, 후방으로부터의, 사시도들이다. 아이웨어 디바이스(100)는 사용자가 착용할 수 있도록 구성된 형태로 크기 및 형상이 조정되며; 본 예에서는 안경의 형태가 도시되어 있다. 아이웨어 디바이스(100)는 다른 형태들을 취할 수 있으며 다른 타입의 프레임워크들을 통합할 수 있다; 예를 들어, 헤드기어, 헤드셋, 또는 헬멧.
[0048] 안경 예에서는, 아이웨어 디바이스(100)는 사용자의 코에 의해 지지되도록 적응된 브리지(106)를 통해 우측 테(107B)에 연결된 좌측 테(107A)를 포함하는 프레임(105)을 포함한다. 좌측 및 우측 테들(107A, 107B)은, 렌즈 및 디스플레이 디바이스와 같은, 개개의 광학 요소(180A, 180B)를 유지하는, 개개의 애퍼처들(175A, 175B)을 포함한다. 본 명세서에서 사용되는, "렌즈"라는 용어는 광이 수렴 또는 발산되게 하거나 수렴 또는 발산을 거의 또는 전혀 일으키지 않는 곡면 및 편평한 표면을 갖는 투명한 또는 반투명한 유리 또는 플라스틱의 조각들을 포함하도록 의도되어 있다.
[0049] 도 2a는 우측 코너(110B)가 마이크로폰(139)과 라우드스피커(191)를 지지하는 아이웨어 디바이스(100)에 대한 예시적인 하드웨어 구성이다. 마이크로폰(139)은 사운드를 대응하는 전기 오디오 신호로 변환하는 변환기를 포함한다. 이 예에서 마이크로폰(139)은, 도시된 바와 같이, 착용자가 말하는 구두 명령들과 같은 음파들의 수신을 용이하게 하기 위해, 착용자를 향해 내측을 향하는 개구와 함께 포지셔닝되어 있다. 추가의 또는 다르게 배향된 개구들이 구현될 수도 있다. 다른 예시적인 구성들에서는, 아이웨어 디바이스(100)는, 함께 또는 독립적으로 동작하도록 구성되고, 아이웨어 디바이스(100) 상의 다양한 로케이션들에 포지셔닝된, 하나 이상의 마이크로폰(139)에 결합된다.
[0050] 라우드스피커(191)는 전기 오디오 신호를 대응하는 사운드로 변환하는 전기 음향 변환기를 포함한다. 라우드스피커(191)는 프로세서들(422, 432) 중 하나에 의해 또는 오디오 프로세서(413)에 의해 제어된다(도 4). 이 예에서 라우드스피커(191)는, 도시된 바와 같이, 착용자를 향해 사운드를 지향시키기 위해 내측을 향하는 일련의 직사각형 애퍼처들을 포함한다. 추가의 또는 다르게 배향된 애퍼처들이 구현될 수도 있다. 다른 예시적인 구성들에서는, 아이웨어 디바이스(100)는, 함께(예를 들어, 스테레오로, 서라운드 사운드를 생성하는 구역들에서) 또는 독립적으로 동작하도록 구성되고, 아이웨어 디바이스(100)의 다양한 로케이션들에 포지셔닝된, 하나 이상의 라우드스피커(191)에 결합된다. 예를 들어, 하나 이상의 라우드스피커(191)가 아이웨어 디바이스(100)의 프레임(105), 안경다리들(125), 또는 코너들(110A, 110B)에 통합될 수 있다.
[0051] 도 2a 및 도 2b에서는 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)에 부착된 안경다리들(도시되지 않음)에 통합될 수 있다.
[0052] 일 예에서는, 광학 어셈블리(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)로부터 방사된 이미지보다 하나 이상의 치수가 더 크도록 프리즘을 통해 이동한다.
[0053] 일 예에서는, 광학 층들(176A-N)은 층을 불투명하게 만드는(렌즈를 닫거나 차단하는) 전압이 인가되지 않으면 그리고 그러한 전압이 인가되지 않을 때까지 투명한(렌즈를 열린 상태로 유지하는) LCD 층을 포함할 수 있다. 아이웨어 디바이스(100) 상의 이미지 프로세서(412)는, 시각적 콘텐츠가 3차원 프로젝션으로서 디스플레이될 때 아이웨어 디바이스(100)를 해당 시각적 콘텐츠를 보기에 적합하게 만드는, 액티브 셔터 시스템을 생성하기 위해 LCD 층에 전압을 인가하도록 프로그래밍을 실행할 수 있다. 전압이나 다른 타입의 입력에 응답하는 다른 타입의 반응 층들을 포함하는, LCD 이외의 기술들이 액티브 셔터 모드를 위해 사용될 수 있다.
[0054] 다른 예에서는, 광학 어셈블리(180A, 180B)의 이미지 디스플레이 디바이스는 도 2b에 도시된 바와 같이 프로젝션 이미지 디스플레이를 포함한다. 각각의 광학 어셈블리(180A, 180B)는, 스캐닝 미러 또는 검류계를 사용하는 3색 레이저 프로젝터인, 레이저 프로젝터(150)를 포함한다. 동작 중에, 레이저 프로젝터(150)와 같은 광원이 아이웨어 디바이스(100)의 안경다리들(125A, 125B) 중 하나 안에 또는 위에 배치된다. 광학 어셈블리(180B)는 이 예에서는 각각의 광학 어셈블리(180A, 180B)의 렌즈 폭을 가로질러 또는 렌즈의 전면과 후면 사이의 렌즈의 깊이를 가로질러 이격되어 있는 하나 이상의 광학 스트립(155A, 155B, …155N)(도 2b에서는 155A-N으로 도시됨)을 포함한다.
[0055] 레이저 프로젝터(150)에 의해 투사된 광자들이 각각의 광학 어셈블리(180A, 180B)의 렌즈를 가로질러 이동할 때, 광자들은 광학 스트립들(155A-N)과 부딪친다. 특정 광자가 특정 광학 스트립과 부딪칠 때, 해당 광자는 사용자의 눈을 향해 재지향되거나, 그것은 다음 광학 스트립으로 전달된다. 레이저 프로젝터(150)의 변조와, 광학 스트립들의 변조의 조합이 특정 광자들 또는 광 빔들을 제어할 수 있다. 일 예에서는, 프로세서는 기계, 음향, 또는 전자기 신호들을 개시함으로써 광학 스트립들(155A-N)을 제어한다. 2개의 광학 어셈블리(180A, 180B)를 갖는 것으로 도시되어 있기는 하지만, 아이웨어 디바이스(100)는, 단일 또는 3개의 광학 어셈블리와 같은, 다른 배열들을 포함할 수 있거나, 각각의 광학 어셈블리(180A, 180B)는 아이웨어 디바이스(100)의 용도 또는 의도된 사용자에 따라 상이하게 배열된 배열을 가질 수 있다.
[0056] 도 2a 및 도 2b에 추가로 도시된 바와 같이, 아이웨어 디바이스(100)는 프레임(105)의 좌측 측면(170A)에 인접한 좌측 코너(110A) 및 프레임(105)의 우측 측면(170B)에 인접한 우측 코너(110B)를 포함한다. 코너들(110A, 110B)은 개개의 측면들(170A, 170B)에서 프레임(105)에 통합되거나(예시된 바와 같이) 개개의 측면들(170A, 170B)에서 프레임(105)에 부착된 별도의 컴포넌트들로서 구현될 수 있다. 대안적으로, 코너들(110A, 110B)은 프레임(105)에 부착된 안경다리들(125A, 125B)에 통합될 수 있다.
[0057] 다른 예에서는, 도 2b에 도시된 아이웨어 디바이스(100)는 2개의 프로젝터, 즉 좌측 프로젝터(도시되지 않음)와 우측 프로젝터(150)를 포함할 수 있다. 좌측 광학 어셈블리(180A)는 좌측 프로젝터로부터의 광과 상호 작용하도록 구성되는 좌측 디스플레이 매트릭스(도시되지 않음) 또는 좌측 광학 스트립들의 세트(도시되지 않음)를 포함할 수 있다. 유사하게, 우측 광학 어셈블리(180B)는 우측 프로젝터(150)로부터의 광과 상호 작용하도록 구성되는 우측 디스플레이 매트릭스(도시되지 않음) 또는 우측 광학 스트립들의 세트(155A, 155B, …155N)를 포함할 수 있다. 이 예에서는, 아이웨어 디바이스(100)는 좌측 디스플레이와 우측 디스플레이를 포함한다.
[0058] 도 3은 3차원 장면(306), 좌측 가시광 카메라(114A)에 의해 캡처된 좌측 원시 이미지(302A), 및 우측 가시광 카메라(114B)에 의해 캡처된 우측 원시 이미지(302B)의 도식적 묘사이다. 좌측 시야(111A)는, 도시된 바와 같이, 우측 시야(111B)와 겹칠 수 있다. 겹치는 시야(304)는 양쪽 카메라(114A, 114B)에 의해 캡처된 이미지의 해당 부분을 나타낸다. 시야각을 언급할 때 '겹치는(overlapping)'이라는 용어는 생성된 원시 이미지들 내의 픽셀들의 매트릭스가 30퍼센트(30%) 이상 겹치는 것을 의미한다. '실질적으로 겹치는'이란 생성된 원시 이미지들 내의 - 또는 장면의 적외선 이미지 내의 - 픽셀들의 매트릭스가 50퍼센트(50%) 이상 겹치는 것을 의미한다. 본 명세서에서 기술된 바와 같이, 2개의 원시 이미지(302A, 302B)는, 3차원 프로젝션의 일부로서 함께 디스플레이될 수 있게 하는, 타임스탬프를 포함하도록 프로세싱될 수 있다.
[0059] 스테레오 이미지들의 캡처를 위해, 도 3에 예시된 바와 같이, 주어진 순간에 실제 장면(306)의 원시 적색, 녹색, 및 청색(RGB) 이미지들의 쌍이 캡처된다 - 좌측 카메라(114A)에 의해 캡처된 좌측 원시 이미지(302A)와 우측 카메라(114B)에 의해 캡처된 우측 원시 이미지(302B). 원시 이미지들(302A, 302B)의 쌍이 프로세싱될 때(예를 들어, 이미지 프로세서(412)에 의해), 깊이 이미지들이 생성된다. 생성된 깊이 이미지들은 아이웨어 디바이스의 광학 어셈블리(180A, 180B) 상에서, 다른 디스플레이(예를 들어, 모바일 디바이스(401) 상의 이미지 디스플레이(580)) 상에서, 또는 스크린 상에서 볼 수 있다.
[0060] 생성된 깊이 이미지들은 3차원 공간 영역에 있으며 수평 포지션(예를 들어, 길이)에 대한 X축, 수직 포지션(예를 들어, 길이)에 대한 Y축, 및 깊이(예를 들어, 거리)에 대한 Z축을 포함하는 3차원 로케이션 좌표계 상의 정점들의 행렬을 포함할 수 있다. 각각의 정점은 컬러 속성(예를 들어, 적색 픽셀 광 값, 녹색 픽셀 광 값, 또는 청색 픽셀 광 값); 포지션 속성(예를 들어, X 로케이션 좌표, Y 로케이션 좌표, 및 Z 로케이션 좌표); 텍스처 속성; 반사율 속성; 또는 이들의 조합을 포함할 수 있다. 텍스처 속성은 깊이 이미지의 정점들의 영역에서의 강도들 또는 컬러의 공간적 배열과 같은, 깊이 이미지의 인식된 텍스처를 정량화한다.
[0061] 일 예에서는, 상황별 오버레이 시스템(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)를 캡처한다.
[0062] 도 4는 아이웨어 디바이스(100), 모바일 디바이스(401), 및 인터넷과 같은 다양한 네트워크들(495)을 통해 연결된 서버 시스템(498)을 포함하는 예시적인 상황별 오버레이 시스템(400)의 기능 블록도이다. 도시된 바와 같이, 상황별 오버레이 시스템(400)은 아이웨어 디바이스(100)와 모바일 디바이스(401) 사이의 저전력 무선 연결(425) 및 고속 무선 연결(437)을 포함한다.
[0063] 도 4에 도시된 바와 같이, 아이웨어 디바이스(100)는 본 명세서에서 기술된 바와 같이 정지 이미지들, 비디오 이미지들, 또는 정지 및 비디오 이미지들 양쪽 모두를 캡처하는 하나 이상의 가시광 카메라(114A, 114B)를 포함한다. 카메라들(114A, 114B)은 고속 회로(430)에 대한 직접 메모리 액세스(DMA)를 갖고 스테레오 카메라로서 기능할 수 있다. 카메라들(114A, 114B)은 적색, 녹색, 및 청색(RGB) 이미징된 장면의 텍스처 매핑된 이미지들인 3차원(3D) 모델로 렌더링될 수 있는 초기 깊이 이미지들을 캡처하기 위해 사용될 수 있다. 디바이스(100)는 디바이스(100)에 대한 객체들의 포지션을 추정하기 위해 적외선 신호들을 사용하는 깊이 센서를 또한 포함할 수 있다. 일부 예들에서 깊이 센서는 하나 이상의 적외선 방사체(들) 및 적외선 카메라(들)(410)를 포함한다.
[0064] 아이웨어 디바이스(100)는 각각의 광학 어셈블리(180A, 180B)의 2개의 이미지 디스플레이(하나는 좌측 측면(170A)과 연관되고 다른 하나는 우측 측면(170B)과 연관됨)를 추가로 포함한다. 아이웨어 디바이스(100)는 이미지 디스플레이 드라이버(442), 이미지 프로세서(412), 저전력 회로(420), 및 고속 회로(430)를 또한 포함한다. 각각의 광학 어셈블리(180A, 180B)의 이미지 디스플레이들은 정지 이미지들, 비디오 이미지들, 또는 정지 및 비디오 이미지들을 포함한 이미지들을 프레젠테이션하기 위한 것이다. 이미지 디스플레이 드라이버(442)는 이미지들의 디스플레이를 제어하기 위해 각각의 광학 어셈블리(180A, 180B)의 이미지 디스플레이들에 결합된다.
[0065] 아이웨어 디바이스(100)용으로 도 4에 도시된 컴포넌트들은 안경테들 또는 안경다리들에 위치한, 하나 이상의 회로 기판, 예를 들어 인쇄 회로 기판(PCB) 또는 가요성 인쇄 회로(FPC) 상에 위치한다. 대안적으로, 또는 추가적으로, 묘사된 컴포넌트들은 아이웨어 디바이스(100)의 코너들, 프레임들, 힌지들, 또는 브리지에 위치할 수 있다. 좌측 및 우측 가시광 카메라들(114A, 114B)은 CMOS(complementary metal-oxide-semiconductor) 이미지 센서, 전하 결합 디바이스, 렌즈, 또는 미지의 객체들이 있는 장면들의 정지 이미지들 또는 비디오를 포함한, 데이터를 캡처하기 위해 사용될 수 있는 임의의 다른 개개의 가시 또는 광 캡처 요소들을 포함할 수 있다.
[0066] 도 4에 도시된 바와 같이, 고속 회로(430)는 고속 프로세서(432), 메모리(434), 및 고속 무선 회로(436)를 포함한다. 이 예에서는, 이미지 디스플레이 드라이버(442)는 각각의 광학 어셈블리(180A, 180B)의 좌측 및 우측 이미지 디스플레이들을 구동하기 위해 고속 회로(430)에 결합되어 고속 프로세서(432)에 의해 작동된다. 고속 프로세서(432)는 아이웨어 디바이스(100)에 필요한 임의의 일반적인 컴퓨팅 시스템의 고속 통신 및 동작을 관리할 수 있는 임의의 프로세서일 수 있다. 고속 프로세서(432)는 고속 무선 회로(436)를 사용하여 무선 근거리 네트워크(WLAN)로의 고속 무선 연결(437)을 통한 고속 데이터 전송들을 관리하기 위해 필요한 프로세싱 리소스들을 포함한다.
[0067] 일부 예들에서는, 고속 프로세서(432)는 LINUX 운영 체제 또는 아이웨어 디바이스(100)의 다른 그러한 운영 체제와 같은 운영 체제를 실행하고 운영 체제는 실행을 위해 메모리(434)에 저장된다. 임의의 다른 책임들에 더하여, 고속 프로세서(432)는 고속 무선 회로(436)를 이용한 데이터 전송들을 관리하기 위해 사용되는 아이웨어 디바이스(100)용 소프트웨어 아키텍처를 실행한다. 일부 예들에서는, 고속 무선 회로(436)는 본 명세서에서 Wi-Fi라고도 지칭되는, IEEE(Institute of Electrical and Electronic Engineers) 802.11 통신 표준들을 구현하도록 구성된다. 다른 예들에서는, 고속 무선 회로(436)에 의해 다른 고속 통신 표준들이 구현될 수도 있다.
[0068] 저전력 회로(420)는 저전력 프로세서(422)와 저전력 무선 회로(424)를 포함한다. 아이웨어 디바이스(100)의 저전력 무선 회로(424) 및 고속 무선 회로(436)는 단거리 트랜시버들(Bluetooth™ 또는 Bluetooth Low-Energy(BLE)) 및 무선 광역, 근거리, 또는 광역 네트워크 트랜시버들(예를 들어, 셀룰러 또는 Wi-Fi)을 포함할 수 있다. 저전력 무선 연결(425) 및 고속 무선 연결(437)을 통해 통신하는 트랜시버들을 포함하는 모바일 디바이스(401)는, 네트워크(495)의 다른 요소들과 마찬가지로, 아이웨어 디바이스(100)의 아키텍처의 세부 사항들을 사용하여 구현될 수 있다.
[0069] 메모리(434)는, 무엇보다도, 좌측 및 우측 가시광 카메라들(114A, 114B), 적외선 카메라(들)(410), 이미지 프로세서(412)에 의해 생성된 카메라 데이터, 및 각각의 광학 어셈블리(180A, 180B)의 이미지 디스플레이 상의 이미지 디스플레이 드라이버(442)에 의한 디스플레이를 위해 생성된 이미지들을 포함하여, 다양한 데이터 및 애플리케이션들을 저장할 수 있는 임의의 저장 디바이스를 포함한다. 메모리(434)는 고속 회로(430)와 통합된 것으로 도시되어 있기는 하지만, 다른 예들에서는, 메모리(434)는 아이웨어 디바이스(100)의 독립적인 독립형 요소일 수 있다. 그러한 특정 예들에서는, 전기 라우팅 라인들은 이미지 프로세서(412) 또는 저전력 프로세서(422)로부터 메모리(434)로의 고속 프로세서(432)를 포함하는 칩을 통한 연결을 제공할 수 있다. 다른 예들에서는, 고속 프로세서(432)는 메모리(434)를 수반한 판독 또는 기입 동작이 필요할 때마다 저전력 프로세서(422)가 고속 프로세서(432)를 부팅하도록 메모리(434)의 어드레싱을 관리할 수 있다.
[0070] 도 4에 도시된 바와 같이, 아이웨어 디바이스(100)의 다양한 요소들이 저전력 회로(420), 고속 회로(430), 또는 양쪽 모두에 결합될 수 있다. 예를 들어, 적외선 카메라(410)(일부 구현들에서는 적외선 방사체를 포함함), 사용자 입력 디바이스들(491)(예를 들어, 터치패드(181)), 마이크로폰(들)(139), 및 IMU(472)가 저전력 회로(420), 고속 회로(430), 또는 양쪽 모두에 결합될 수 있다.
[0071] 도 5에 도시된 바와 같이, 모바일 디바이스(401)의 CPU(530)는 카메라 시스템(570), 모바일 디스플레이 드라이버(582), 사용자 입력 레이어(591), 및 메모리(540A)에 결합될 수 있다.
[0072] 서버 시스템(498)은, 예를 들어, 프로세서, 메모리, 및 네트워크(495)를 통해 아이웨어 디바이스(100) 및 모바일 디바이스(401)와 통신하기 위한 네트워크 통신 인터페이스를 포함하는, 서비스 또는 네트워크 컴퓨팅 시스템의 일부로서의 하나 이상의 컴퓨팅 디바이스일 수 있다.
[0073] 아이웨어 디바이스(100)의 출력 컴포넌트들은 도 2a 및 도 2b에 설명된 광학 어셈블리(180A, 180B) 또는 각각의 렌즈와 연관된 좌측 및 우측 이미지 디스플레이들과 같은, 시각적 요소들(예를 들어, 액정 디스플레이(LCD), 플라즈마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 프로젝터, 또는 도파관과 같은 디스플레이)을 포함한다. 아이웨어 디바이스(100)는 사용자를 향하는 인디케이터(예를 들어, LED, 라우드스피커(191), 또는 진동 액추에이터), 또는 외측을 향하는 신호(예를 들어, LED, 라우드스피커(191))를 포함할 수 있다. 각각의 광학 어셈블리(180A, 180B)의 이미지 디스플레이들은 이미지 디스플레이 드라이버(442)에 의해 구동된다. 일부 예시적인 구성들에서는, 아이웨어 디바이스(100)의 출력 컴포넌트들은 가청 요소들(예를 들어, 라우드스피커들(191)), 촉각 컴포넌트들(예를 들어, 햅틱 피드백을 생성하는 진동 모터와 같은 액추에이터), 및 다른 신호 발생기들과 같은 추가의 인디케이터들을 추가로 포함한다. 예를 들어, 디바이스(100)는 사용자를 향하는 인디케이터 세트 및 외측을 향하는 신호 세트를 포함할 수 있다. 사용자를 향하는 인디케이터 세트는 디바이스(100)의 사용자에게 보이거나 달리 감지되도록 구성된다. 예를 들어, 디바이스(100)는 사용자가 볼 수 있도록 포지셔닝된 LED 디스플레이, 사용자가 들을 수 있는 사운드를 생성하도록 포지셔닝된 하나 이상의 스피커(191), 또는 사용자가 느낄 수 있는 햅틱 피드백을 제공하는 액추에이터를 포함할 수 있다. 외측을 향하는 신호 세트는 디바이스(100) 근처의 관찰자에게 보이거나 달리 감지되도록 구성된다. 유사하게, 디바이스(100)는 관찰자에 의해 검출될 수 있도록 구성되고 포지셔닝되는 LED, 라우드스피커(191), 또는 액추에이터를 포함할 수 있다.
[0074] 아이웨어 디바이스(100)의 입력 컴포넌트들은 영숫자 입력 컴포넌트들(예를 들어, 영숫자 입력을 수신하도록 구성된 터치 스크린 또는 터치패드(181), 광-광학 키보드, 또는 다른 영숫자 구성된 요소들), 포인터 기반 입력 컴포넌트들(예를 들어, 마우스, 터치패드(181), 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 도구들), 촉각 입력 컴포넌트들(예를 들어, 버튼 스위치, 터치들 또는 터치 제스처들의 로케이션, 힘 또는 로케이션과 힘을 검출하는 터치 스크린 또는 터치패드(181), 또는 다른 촉각 입력 컴포넌트들), 및 오디오 입력 컴포넌트들(예를 들어, 마이크로폰(139)) 등을 포함할 수 있다. 모바일 디바이스(401) 및 서버 시스템(498)은 영숫자, 포인터 기반, 촉각, 오디오, 및 다른 입력 컴포넌트들을 포함할 수 있다.
[0075] 일부 예들에서는, 아이웨어 디바이스(100)는 관성 측정 유닛(472)이라고 지칭되는 모션 감지 컴포넌트들의 컬렉션을 포함한다. 모션 감지 컴포넌트들은, 종종 마이크로칩의 일부가 될 만큼 작은, 미세한 이동 부분들을 갖는 MEMS(micro-electro-mechanical systems)일 수 있다. 일부 예시적인 구성들에서 관성 측정 유닛(IMU)(472)은 가속도계, 자이로스코프, 및 자력계를 포함한다. 가속도계는 3개의 직교축(x, y, z)에 대한 디바이스(100)의 선형 가속도(중력으로 인한 가속도를 포함함)를 감지한다. 자이로스코프는 3개의 회전축(피치, 롤, 요)에 대한 디바이스(100)의 각속도를 감지한다. 가속도계 및 자이로스코프는, 함께, 6개의 축(x, y, z, 피치, 롤, 요)에 대한 디바이스에 관한 포지션, 배향, 및 모션 데이터를 제공할 수 있다. 자력계는, 존재한다면, 자북에 대한 디바이스(100)의 방향을 감지한다. 디바이스(100)의 포지션은 GPS 유닛과 같은 로케이션 센서들, 상대 포지션 좌표들을 생성하기 위한 하나 이상의 트랜시버, 고도 센서들 또는 기압계들, 및 다른 배향 센서들에 의해 결정될 수 있다. 그러한 포지셔닝 시스템 좌표들은 저전력 무선 회로(424) 또는 고속 무선 회로(436)를 통해 모바일 디바이스(401)로부터 무선 연결들(425 및 437)을 통해 수신될 수도 있다.
[0076] IMU(472)는 컴포넌트들로부터 원시 데이터를 수집하여 디바이스(100)의 포지션, 배향, 및 모션에 관한 다수의 유용한 값들을 계산하는 프로그래밍 또는 디지털 모션 프로세서를 포함하거나 이와 협력할 수 있다. 예를 들어, 가속도계로부터 수집된 가속도 데이터를 적분하여 각각의 축(x, y, z)에 대한 속도를 획득하고; 다시 적분하여 디바이스(100)의 포지션(선형 좌표들, x, y 및 z로)을 획득할 수 있다. 자이로스코프로부터의 각속도 데이터를 적분하여 디바이스(100)의 포지션(구면 좌표들로)을 획득할 수 있다. 이들 유용한 값을 계산하기 위한 프로그래밍은 메모리(434)에 저장되고 아이웨어 디바이스(100)의 고속 프로세서(432)에 의해 실행될 수 있다.
[0077] 아이웨어 디바이스(100)는 옵션으로 추가적인 주변 센서들, 예컨대 생체 인식 센서들, 특수목적 센서들, 또는 아이웨어 디바이스(100)와 통합된 디스플레이 요소들을 포함할 수 있다. 예를 들어, 주변 디바이스 요소들은 출력 컴포넌트들, 모션 컴포넌트들, 포지션 컴포넌트들, 또는 본 명세서에서 기술된 임의의 다른 그러한 요소들을 포함한 임의의 I/O 컴포넌트들을 포함할 수 있다. 예를 들어, 생체 인식 센서들은 표현들(예를 들어, 손 표현들, 얼굴 표정들, 음성 표현들, 바디 제스처들, 또는 시선 추적)을 검출하거나, 생체 신호들(예를 들어, 혈압, 심박수, 체온, 땀, 또는 뇌파들)을 측정하거나, 또는 사람을 식별하거나(예를 들어, 음성, 망막, 얼굴 특징들, 지문들, 또는 뇌전도 데이터와 같은 전기적 생체 신호들에 기초한 식별) 하는 컴포넌트들을 포함할 수 있다.
[0078] 모바일 디바이스(401)는 저전력 무선 연결(425) 및 고속 무선 연결(437) 양쪽 모두를 사용하여 아이웨어 디바이스(100)와 연결할 수 있는 스마트폰, 태블릿, 랩톱 컴퓨터, 액세스 포인트, 또는 임의의 다른 그러한 디바이스일 수 있다. 모바일 디바이스(401)는 서버 시스템(498) 및 네트워크(495)에 연결된다. 네트워크(495)는 유선 및 무선 연결들의 임의의 조합을 포함할 수 있다.
[0079] 상황별 오버레이 시스템(400)은, 도 4에 도시된 바와 같이, 네트워크를 통해 아이웨어 디바이스(100)에 결합된, 모바일 디바이스(401)와 같은 컴퓨팅 디바이스를 포함한다. 상황별 오버레이 시스템(400)은 명령어들을 저장하기 위한 메모리와 명령어들을 실행하기 위한 프로세서를 포함한다. 프로세서(432)에 의한 상황별 오버레이 시스템(400)의 명령어들의 실행은 모바일 디바이스(401)와 협력하도록 아이웨어 디바이스(100)를 구성한다. 상황별 오버레이 시스템(400)은 아이웨어 디바이스(100)의 메모리(434) 또는 모바일 디바이스(401)의 메모리 요소들(540A, 540B, 540C)(도 5)을 이용할 수 있다. 또한, 상황별 오버레이 시스템(400)은 아이웨어 디바이스(100)의 프로세서 요소들(432, 422) 또는 모바일 디바이스(401)의 중앙 프로세싱 유닛(CPU)(540)(도 5)을 이용할 수 있다. 또한, 상황별 오버레이 시스템(400)은 서버 시스템(498)의 메모리 및 프로세서 요소들을 더 이용할 수 있다. 이러한 양태에서, 상황별 오버레이 시스템(400)의 메모리 및 프로세싱 기능들이 아이웨어 디바이스(100), 모바일 디바이스(401), 및 서버 시스템(498)의 프로세서들 및 메모리들에 걸쳐 공유되거나 분산될 수 있다.
[0080] 메모리(434)는, 일부 예시적인 구현들에서는, 본 명세서에서 기술된 바와 같이, 식품 데이터 라이브러리(480) 및 레시피 라이브러리(482)를 포함하거나 그에 결합된다.
[0081] 일부 예시적인 구현들에서는, 메모리(434)는 상황별 오버레이 애플리케이션(910), 로컬라이제이션 시스템(915), 이미지 프로세싱 시스템(920), 및 음성 명령 모듈(925)을 포함한다. 카메라가 비디오 데이터(900)의 프레임들을 캡처하고 있는 상황별 오버레이 시스템(400)에서, 상황별 오버레이 애플리케이션(910)은 하나 이상의 항목을 검출하고, 검출된 항목들과 연관된 데이터(850)를 검색하고, 디스플레이 상에 상황별 오버레이(725)를 프레젠테이션하도록 프로세서(432)를 구성한다. 로컬라이제이션 시스템(915)은 물리적 환경에 대한 아이웨어 디바이스(100)의 포지션을 결정하는데 사용하기 위한 로컬라이제이션 데이터를 획득하도록 프로세서(432)를 구성한다. 로컬라이제이션 데이터는 일련의 이미지들, IMU 유닛(472), GPS 유닛(473), 또는 이들의 조합으로부터 도출될 수 있다. 이미지 프로세싱 시스템(920)은 이미지 디스플레이 드라이버(442) 및 이미지 프로세서(412)와 협력하여 광학 어셈블리(180A, 180B)의 디스플레이 상에 상황별 오버레이(725)를 프레젠테이션하도록 프로세서(432)를 구성한다. 음성 명령 모듈(925)은 마이크로폰으로 명령들을 인식하고, 라우드스피커를 통해 메시지를 재생하도록 프로세서(432)를 구성한다.
[0082] 도 5는 예시적인 모바일 디바이스(401)의 하이-레벨 기능 블록도이다. 모바일 디바이스(401)는 본 명세서에서 기술된 기능들의 전부 또는 일부를 수행하기 위해 CPU(540)에 의해 실행되는 프로그래밍을 저장하는 플래시 메모리(540A)를 포함한다.
[0083] 모바일 디바이스(401)는 적어도 2개의 가시광 카메라(겹치는 시야를 갖는 제1 및 제2 가시광 카메라들) 또는 실질적으로 겹치는 시야를 갖는 적어도 하나의 가시광 카메라와 깊이 센서를 포함하는 카메라(570)를 포함할 수 있다. 플래시 메모리(540A)는, 카메라(570)를 통해 생성되는, 다수의 이미지들 또는 비디오를 추가로 포함할 수 있다.
[0084] 도시된 바와 같이, 모바일 디바이스(401)는 이미지 디스플레이(580), 이미지 디스플레이(580)를 제어하는 모바일 디스플레이 드라이버(582), 및 디스플레이 컨트롤러(584)를 포함한다. 도 5의 예에서, 이미지 디스플레이(580)는 이미지 디스플레이(580)에 의해 사용되는 스크린의 위에 층을 이루거나 달리 스크린에 통합되는 사용자 입력 레이어(591)(예를 들어, 터치스크린)를 포함한다.
[0085] 사용될 수 있는 터치스크린 타입 모바일 디바이스들의 예들은 스마트폰, PDA(personal digital assistant), 태블릿 컴퓨터, 랩톱 컴퓨터, 또는 다른 휴대용 디바이스를 포함한다(그러나 이에 제한되지는 않는다). 그러나, 터치스크린 타입 디바이스들의 구조 및 동작이 예로서 제공된다; 본 명세서에 기술된 바와 같은 본 기술은 이에 제한되도록 의도되어 있지 않다. 따라서, 이 논의의 목적을 위해, 도 5는 (손, 스타일러스, 또는 다른 도구에 의한 터치, 멀티터치, 또는 제스처 등에 의한) 입력을 수신하기 위한 터치스크린 입력 레이어(591) 및 콘텐츠를 디스플레이하기 위한 이미지 디스플레이(580)를 포함하는 사용자 인터페이스를 갖는 예시적인 모바일 디바이스(401)의 블록도 예시를 제공한다.
[0086] 도 5에 도시된 바와 같이, 모바일 디바이스(401)는 광역 무선 이동 통신 네트워크를 통한 디지털 무선 통신을 위한, WWAN XCVR들로서 도시된, 적어도 하나의 디지털 트랜시버(XCVR)(510)를 포함한다. 모바일 디바이스(401)는, 예컨대 NFC, VLC, DECT, ZigBee, Bluetooth™, 또는 WiFi를 통한, 단거리 네트워크 통신을 위한 단거리 트랜시버들(XCVR들)(520)과 같은 추가적인 디지털 또는 아날로그 트랜시버들을 또한 포함한다. 예를 들어, 단거리 XCVR들(520)은 IEEE802.11 하의 Wi-Fi 표준들 중 하나와 같은 무선 근거리 네트워크들에서 구현되는 통신의 하나 이상의 표준 프로토콜과 호환되는 타입의 임의의 이용 가능한 양방향 무선 근거리 네트워크(WLAN) 트랜시버의 형태를 취할 수 있다.
[0087] 모바일 디바이스(401)의 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해, 모바일 디바이스(401)는 GPS(global positioning system) 수신기를 포함할 수 있다. 대안적으로, 또는 추가적으로 모바일 디바이스(401)는 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해 단거리 XCVR들(520) 및 WWAN XCVR들(510) 중 어느 하나 또는 양쪽 모두를 이용할 수 있다. 예를 들어, 셀룰러 네트워크, Wi-Fi, 또는 Bluetooth™ 기반 포지셔닝 시스템들은, 특히 조합하여 사용될 때, 매우 정확한 로케이션 좌표들을 생성할 수 있다. 그러한 로케이션 좌표들은 XCVR들(510, 520)을 통해 하나 이상의 네트워크 연결을 통해 아이웨어 디바이스에 송신될 수 있다.
[0088] 일부 예들에서 클라이언트 디바이스(401)는 클라이언트 디바이스(401)의 포지션, 배향, 및 모션을 감지하기 위한 관성 측정 유닛(IMU)(572)이라고 지칭되는 모션 감지 컴포넌트들의 컬렉션을 포함한다. 모션 감지 컴포넌트들은, 종종 마이크로칩의 일부가 될 만큼 작은, 미세한 이동 부분들을 갖는 MEMS(micro-electro-mechanical systems)일 수 있다. 일부 예시적인 구성들에서 관성 측정 유닛(IMU)(572)은 가속도계, 자이로스코프, 및 자력계를 포함한다. 가속도계는 3개의 직교축(x, y, z)에 대한 클라이언트 디바이스(401)의 선형 가속도(중력으로 인한 가속도를 포함함)를 감지한다. 자이로스코프는 3개의 회전축(피치, 롤, 요)에 대한 클라이언트 디바이스(401)의 각속도를 감지한다. 가속도계 및 자이로스코프는, 함께, 6개의 축(x, y, z, 피치, 롤, 요)에 대한 디바이스에 관한 포지션, 배향, 및 모션 데이터를 제공할 수 있다. 자력계는, 존재한다면, 자북에 대한 클라이언트 디바이스(401)의 방향을 감지한다.
[0089] IMU(572)는 컴포넌트들로부터 원시 데이터를 수집하여 클라이언트 디바이스(401)의 포지션, 배향, 및 모션에 관한 다수의 유용한 값들을 계산하는 프로그래밍 또는 디지털 모션 프로세서를 포함하거나 이와 협력할 수 있다. 예를 들어, 가속도계로부터 수집된 가속도 데이터를 적분하여 각각의 축(x, y, z)에 대한 속도를 획득하고; 다시 적분하여 클라이언트 디바이스(401)의 포지션(선형 좌표들, x, y 및 z로)을 획득할 수 있다. 자이로스코프로부터의 각속도 데이터를 적분하여 클라이언트 디바이스(401)의 포지션(구면 좌표들로)을 획득할 수 있다. 이들 유용한 값을 계산하기 위한 프로그래밍은 하나 이상의 메모리 요소(540A, 540B, 540C)에 저장되고 클라이언트 디바이스(401)의 CPU(540)에 의해 실행될 수 있다.
[0090] 트랜시버들(510, 520)(즉, 네트워크 통신 인터페이스)은 현대의 이동 네트워크들에 의해 이용되는 다양한 디지털 무선 통신 표준들 중 하나 이상을 준수한다. WWAN 트랜시버(510)들의 예들은, 예를 들어 그리고 제한 없이, 3GPP 타입 2(또는 3GPP2) 및 때때로 "4G"라고 지칭되는 LTE를 포함하는 CDMA(Code Division Multiple Access) 및 3GPP(3rd Generation Partnership Project) 네트워크 기술들에 따라 동작하도록 구성되는 트랜시버들을 포함한다(그러나 이에 제한되지는 않는다). 예를 들어, 트랜시버들(510, 520)은 디지털화된 오디오 신호들, 정지 이미지 및 비디오 신호들, 디스플레이를 위한 웹 페이지 정보뿐만 아니라 웹 관련 입력들을 포함하는 정보의 양방향 무선 통신, 및 모바일 디바이스(401)로의/로부터의 다양한 타입들의 모바일 메시지 통신들을 제공한다.
[0091] 모바일 디바이스(401)는 중앙 프로세싱 유닛(CPU)으로서 기능하는 마이크로프로세서를 추가로 포함한다; 도 4에서 CPU(540)로서 도시됨. 프로세서는 하나 이상의 프로세싱 기능, 전형적으로 다양한 데이터 프로세싱 기능들을 수행하도록 구조화되고 배열된 요소들을 갖는 회로이다. 개별 로직 컴포넌트들이 사용될 수 있기는 하지만, 예들은 프로그래머블 CPU를 형성하는 컴포넌트들을 이용한다. 마이크로프로세서는 예를 들어 CPU의 기능들을 수행하기 위해 전자 요소들을 통합한 하나 이상의 집적 회로(IC) 칩을 포함한다. CPU(540)는, 예를 들어, 오늘날 모바일 디바이스들 및 다른 휴대용 전자 디바이스들에서 흔히 사용되는, ARM 아키텍처를 사용하는 RISC(Reduced Instruction Set Computing)와 같은 임의의 알려진 또는 이용 가능한 마이크로프로세서 아키텍처에 기초할 수 있다. 물론, 스마트폰, 랩톱 컴퓨터, 및 태블릿에서 CPU(540) 또는 프로세서 하드웨어를 형성하기 위해 프로세서 회로의 다른 배열들이 사용될 수도 있다.
[0092] CPU(540)는, 예를 들어, CPU(540)에 의해 실행 가능한 명령어들 또는 프로그래밍에 따라, 다양한 동작들을 수행하도록 모바일 디바이스(401)를 구성함으로써 모바일 디바이스(401)에 대한 프로그래머블 호스트 컨트롤러로서의 역할을 한다. 예를 들어, 그러한 동작들은 모바일 디바이스의 다양한 일반적인 동작들뿐만 아니라, 모바일 디바이스 상의 애플리케이션들에 대한 프로그래밍과 관련된 동작들을 포함한다. 프로세서는 하드와이어드 로직을 이용하여 구성될 수도 있기는 하지만, 모바일 디바이스들 내의 전형적인 프로세서들은 프로그래밍의 실행에 의해 구성되는 일반적인 프로세싱 회로들이다.
[0093] 모바일 디바이스(401)는 프로그래밍 및 데이터를 저장하기 위한 메모리 또는 스토리지 시스템을 포함한다. 이 예에서는, 메모리 시스템은 플래시 메모리(540A), 랜덤 액세스 메모리(RAM)(540B), 및 필요에 따라 다른 메모리 컴포넌트들(540C)을 포함한다. RAM(540B)은 CPU(540)에 의해 처리되고 있는 명령어들 및 데이터에 대한 단기 스토리지로서의 역할, 예를 들어, 작업 데이터 프로세싱 메모리로서의 역할을 한다. 플래시 메모리(540A)는 전형적으로 더 장기의 스토리지를 제공한다.
[0094] 그러므로, 모바일 디바이스(401)의 예에서, 플래시 메모리(540A)는 CPU(540)에 의한 실행을 위한 프로그래밍 또는 명령어들을 저장하기 위해 사용된다. 디바이스의 타입에 따라서는, 모바일 디바이스(401)는 특정 응용들이 실행되는 모바일 운영 체제를 저장하고 실행한다. 모바일 운영 체제들의 예들은 Google Android, Apple iOS(iPhone 또는 iPad 디바이스용), Windows Mobile, Amazon Fire OS, RIM BlackBerry OS 등을 포함한다.
[0095] 아이웨어 디바이스(100) 내의 프로세서(432)는 아이웨어 디바이스(100)를 둘러싸는 환경의 맵을 구성하고, 매핑된 환경 내의 아이웨어 디바이스의 로케이션을 결정하고, 매핑된 환경 내의 하나 이상의 객체에 대한 아이웨어 디바이스의 상대적 포지션을 결정할 수 있다. 프로세서(432)는 하나 이상의 센서로부터 수신된 데이터에 적용되는 동시 로컬라이제이션 및 매핑(simultaneous localization and mapping, SLAM) 알고리즘을 사용하여 맵을 구성하고 로케이션 및 포지션 정보를 결정할 수 있다. 센서 데이터는 카메라(114A, 114B) 중 하나 또는 양쪽 모두로부터 수신된 이미지들, 레이저 거리 측정기로부터 수신된 거리(들), GPS 유닛(473)으로부터 수신된 포지션 정보, IMU(572)로부터 수신된 모션 및 가속도 데이터, 또는 그러한 센서들로부터의 데이터, 또는 포지션 정보를 결정하는 데 유용한 데이터를 제공하는 다른 센서들로부터의 데이터의 조합을 포함한다. 증강 현실의 상황에서, SLAM 알고리즘은 환경의 맵을 구성하고 업데이트하는 한편, 동시에 매핑된 환경 내의 디바이스(또는 사용자)의 로케이션을 추적하고 업데이트하기 위해 사용된다. 수학적 솔루션은 입자 필터들, 칼만 필터들, 확장 칼만 필터들, 및 공분산 교집합(covariance intersection)과 같은 다양한 통계 방법들을 사용하여 근사화할 수 있다. 높은 프레임 레이트(예를 들어, 초당 30프레임)로 비디오를 캡처하는 고화질(HD) 비디오 카메라를 포함하는 시스템에서는, SLAM 알고리즘은 적어도 프레임 레이트만큼 빈번하게 맵과 객체들의 로케이션을 업데이트한다; 다시 말해서, 매핑과 로컬라이제이션을 초당 30회 계산하고 업데이트한다.
[0096] 센서 데이터는 카메라(114A, 114B) 중 하나 또는 양쪽 모두로부터 수신된 이미지(들), 레이저 거리 측정기로부터 수신된 거리(들), GPS 유닛(473)으로부터 수신된 포지션 정보, IMU(472)로부터 수신된 모션 및 가속도 데이터, 또는 그러한 센서들로부터의 데이터, 또는 포지션 정보를 결정하는 데 유용한 데이터를 제공하는 다른 센서들로부터의 데이터의 조합을 포함한다.
[0097] 도 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에 도시된 열쇠)를 포지셔닝할 수 있다.
[0098] 일부 예들에서 로컬라이제이션 시스템(915)은 환경(600) 내의 가상 객체(608)와 연관된 가상 마커(610a)이다. 증강 현실에서는, 마커들이 환경 내의 로케이션들에 등록되어 디바이스들이 매핑된 환경 내의 사용자들, 디바이스들, 및 객체들(가상 및 물리적)의 로케이션을 추적하고 업데이트하는 태스크를 돕는다. 마커들은 때때로 더 밝은 컬러의 벽에 설치된, 액자에 넣은 그림(604a)과 같은 비교적 어두운 객체와 같은 고대비 물리적 객체에 등록되어 카메라들 및 다른 센서들이 마커를 검출하는 태스크를 돕는다. 마커들은 미리 할당될 수 있거나 환경에 진입하면 아이웨어 디바이스(100)에 의해 할당될 수 있다.
[0099] 마커들은 정보가 인코딩되거나 또는 달리 정보에 링크될 수 있다. 마커는 포지션 정보, 물리적 코드(예컨대 바코드 또는 QR 코드; 사용자에게 보이거나 숨겨짐), 또는 이들의 조합을 포함할 수도 있다. 마커와 연관된 데이터 세트가 아이웨어 디바이스(100)의 메모리(434)에 저장된다. 데이터 세트는 마커(610a), 마커의 포지션(로케이션 및 배향), 하나 이상의 가상 객체, 또는 이들의 조합에 관한 정보를 포함한다. 마커 포지션은 도 6에 도시된 대체로 직사각형의 마커(610a)의 코너와 같은 하나 이상의 마커 랜드마크(616a)에 대한 3차원 좌표들을 포함할 수 있다. 마커 로케이션은 실제 지리적 좌표들, 마커 좌표계, 아이웨어 디바이스(100)의 포지션, 또는 다른 좌표계에 대해 표현될 수 있다. 마커(610a)와 연관된 하나 이상의 가상 객체는 정지 이미지들, 비디오, 오디오, 촉각 피드백, 실행 가능한 애플리케이션들, 대화형 사용자 인터페이스들 및 체험들, 및 그러한 자료의 조합들 또는 시퀀스들을 포함하는, 다양한 자료 중 임의의 것을 포함할 수 있다. 메모리에 저장될 수 있고 마커(610a)가 할당된 마커와 마주치거나 연관될 때 검색될 수 있는 임의의 타입의 콘텐츠가 이 상황에서 가상 객체로서 분류될 수 있다. 예를 들어, 도 6에 도시된 열쇠(608)는 마커 로케이션에, 2D 또는 3D 중 어느 하나의 정지 이미지로서 디스플레이된 가상 객체이다.
[0100] 일 예에서는, 마커(610a)는 물리적 객체(604a)(예를 들어, 도 6에 도시된 액자에 넣은 예술 작품) 근처에 위치하고 그와 연관되는 것으로서 메모리에 등록될 수 있다. 다른 예에서는, 마커는 아이웨어 디바이스(100)에 대한 특정 포지션인 것으로서 메모리에 등록될 수 있다.
[0101] 도 8은 아이웨어 디바이스(100)의 디스플레이(180B) 상에 상황별 오버레이(725)를 프레젠테이션하는 예시적인 방법의 단계들을 열거하는 흐름도(800)이다. 단계들은 본 명세서에서 기술된 아이웨어 디바이스(100)와 관련하여 기술되어 있기는 하지만, 다른 타입의 디바이스들에 대해, 기술된 단계들의 다른 구현들이 본 명세서의 설명으로부터 당업자에 의해 이해될 것이다. 도시되고 기술된 단계들 중 하나 이상이 동시에, 연속하여 수행되거나, 도시되고 설명된 것과 다른 순서로 수행되거나, 또는 추가적인 단계들과 함께 수행될 수 있다. 일부 단계들은 생략되거나, 일부 애플리케이션들에서는, 반복될 수 있다.
[0102] 도 8의 블록 802는 아이웨어 디바이스(100)의 마이크로폰(139)으로 시작 명령(861)을 인식하는 예시적인 단계를 기술한다. 이 예에서 아이웨어 디바이스(100)는 마이크로폰(139), 카메라(114B), 디스플레이(180B), 라우드스피커(191), 및 상황별 오버레이 애플리케이션(910)을 포함한다. 가청 시작 명령(861)의 사운드는, 본 명세서에서 기술된 바와 같이, 음파들을 대응하는 전기 신호로 변환하는 마이크로폰(139)에 의해 인식된다. 상황별 오버레이 애플리케이션(910)은 "몇 가지 저녁 식사 아이디어를 좀 알려줘", "레시피들을 보여줘", 또는 "영양 데이터를 검색해"와 같은 다수의 미리 정의된 또는 예시적인 시작 명령(861)을 인식하고 이에 따라 동작하도록 구성될 수 있다.
[0103] 일부 예시적인 구현들은 또한 상황별 오버레이 애플리케이션(910)을 동작하여 시작 명령(861)을 수신할 준비가 되도록 작동시킬 깨우기 명령(wake command)(예를 들어, "Context please")을 포함한다. 이러한 양태에서는, 깨우기 명령이 수신될 때까지 컴퓨팅 리소스들이 보존된다.
[0104] 도 8의 블록 804는, 시작 명령(861)을 인식하는 것에 응답하여, 라우드스피커(191)를 통해 확인 메시지(871)를 재생하는 예시적인 단계를 기술한다. 상황별 오버레이 애플리케이션(910)은 사운드, 경고음, 또는 "물론이죠. 야채가 보이네요. 몇 가지 레시피를 찾아볼께요. 잠시만 기다려 주세요", "레시피를 찾는 중입니다", 또는 "영양 데이터를 검색 중입니다"와 같은 메시지를 포함하는 다수의 미리 정의된 또는 예시적인 확인 메시지(871)를 재생하도록 구성될 수 있다. 확인 메시지(871)는 본 명세서에서 기술된 오디오 프로세서(413) 및 라우드스피커(들)(191)를 사용하여 재생되거나 디스플레이(180B) 상에 텍스트로서 프레젠테이션되거나, 둘 다일 수 있다.
[0105] 도 8의 블록 806은 아이웨어 디바이스(100)의 카메라(114B)의 시야(904) 내에서 비디오 데이터(900)의 프레임들을 캡처하는 예시적인 단계를 기술한다. 일부 구현들에서는, 아이웨어 디바이스(100)는, 본 명세서에서 기술된 바와 같이, 비디오 데이터(900)의 정지 이미지들 또는 프레임들을 캡처하기 위한 하나 이상의 카메라(114A, 114B)를 포함한다. 이 예에서 아이웨어 디바이스(100)는 이미지 프로세싱 시스템(920) 및 하나 이상의 디스플레이(180A, 180B)를 포함한다. 예를 들어, 도 7에 도시된 바와 같이, 아이웨어 디바이스(100)는, 본 명세서에서 기술된 바와 같이, 반투명 렌즈 층 및 아이웨어 디바이스의 렌즈 상에 이미지들을 프레젠테이션하도록 구성된 디스플레이 매트릭스 층을 포함할 수 있는 반투명 이미지 디스플레이(180B)를 포함한다. 그래픽 및 가상 요소들(710, 720, 711)(도 7 참조)은, 주위의 물리적 환경(600)에 대한 오버레이로서 디스플레이(180B) 상에 프레젠테이션되는, 상황별 오버레이(725)의 일부이다. 도시된 바와 같은 효과는 주위의 환경(600)도 디스플레이(180B)를 통해 계속 보이는 동안 뷰어가 프레젠테이션된 상황별 오버레이(725)를 보고 그와 상호 작용할 수 있게 한다.
[0106] 일부 구현들에서는, 아이웨어 디바이스(100)의 고속 프로세서(432)는 착용자가 물리적 환경(600)을 통해 이동함에 따라 카메라(114B)로 캡처된 비디오 데이터(900)의 프레임들을 저장한다. 본 명세서에서 기술되고 도 7에 도시된 바와 같이, 카메라(114B)는 전형적으로 디스플레이(180B)의 한계를 넘어 환경의 이미지들과 비디오를 캡처할 수 있는 카메라 시야(904)를 갖는다.
[0107] 카메라 시스템은, 일부 구현들에서는, 비교적 높은 프레임 레이트(예를 들어, 초당 30프레임 이상)로 고화질 정지 이미지들 및 고화질 비디오를 캡처할 수 있는 CMOS 이미지 센서가 구비된 하나 이상의 고해상도 디지털 카메라를 포함한다. 디지털 비디오의 각각의 프레임은 이미지 내의 복수의 픽셀에 대한 깊이 정보를 포함한다. 이러한 양태에서, 카메라 시스템은 물리적 환경의 상세한 입력 이미지를 캡처함으로써 고화질 스캐너로서의 역할을 한다. 카메라 시스템은, 일부 구현들에서는, 아이웨어 디바이스(100)에 결합되고 본 명세서에서 기술된 바와 같이 좌측 카메라 원시 이미지 및 우측 카메라 원시 이미지를 취득하기 위해 이격된 고해상도 디지털 카메라들(114A, 114B)의 쌍을 포함한다. 원시 이미지들은, 조합될 때, 3차원 픽셀 로케이션들의 매트릭스를 포함하는 입력 이미지를 형성한다. 예시적인 방법은, 블록 806에서, 일부 구현들에서는, 캡처된 비디오 데이터(900)의 프레임들이 분석에 이용될 수 있도록, 해당 프레임들을 아이웨어 디바이스(100) 상의 메모리(434)에 적어도 일시적으로 저장하는 단계를 포함한다.
[0108] 블록 808은 이미지 프로세싱 시스템(920)을 사용하여 캡처된 비디오 데이터(900)의 프레임들에서 식품 항목(650)을 검출하는 예시적인 단계를 기술한다. 일부 예시적인 구현들에서는, 이미지 프로세싱 시스템(920)은 캡처된 비디오 데이터(900)의 프레임들 내의 픽셀-레벨 데이터를 분석하여 해당 프레임이 하나 이상의 식품 항목(650)을 포함하는지 여부를 결정한다. 식품 항목(650)을 검출하는 프로세스는, 도시된 바와 같이, 디스플레이(180B)에 대해 또는 대안적으로 아이웨어 로케이션(840)과 같은 다른 알려진 포지션에 대해 3차원 좌표들에서 현재 식품 항목 포지션(705)을 검출하는 것을 포함한다.
[0109] 도 7은 야외 시장이나 식료품점과 같은 물리적 환경(600)의 테이블이나 선반 위에 있는 예시적인 식품 항목들(650A, 650B, 650C)의 사시적 예시이다. 각각의 검출된 식품 항목(650A, 650B, 650C)은, 도시된 바와 같이, 각각, 검출된 현재 항목 포지션(705A, 705B, 705C)과 연관되어 있다. 이 예에서는, 상황별 오버레이 애플리케이션(910)은, 도시된 바와 같이, 검출된 식품 항목들(650A, 650B, 650C)의 상단 에지를 따라 현재 항목 포지션들(705A, 705B, 705C)을 검출하고 설정한다. 다른 상황들에서는, 항목 포지션(750)은 검출된 식품 항목(650)의 중심 근처에 설정되거나, 검출된 식품 항목(650)의 크기 및 형상에 대해 어떤 다른 미리 정의된 또는 구성 가능한 포지션에 설정될 수 있다.
[0110] 당업자들은, 아이웨어 디바이스(100)가 물리적 환경(600)을 통해 이동함에 따라, 식품 항목들(650) 및 포지션들(705)을 검출하는 프로세스가 시간 경과에 따라 계속해서 발생한다는 것을 이해할 것이다. 시간 경과에 따라, 카메라(114B)의 시야(904) 내에서 추가의 식품 항목들(650)이 검출될 수 있는 반면 다른 항목들은 검출이 중단될 수 있다. 더욱이, 하나 이상의 검출된 식품 항목(650)이 물리적 환경의 새로운 로케이션으로 이동된 다음 상이한 현재 항목 포지션(705)에서 검출될 수 있다. 이러한 양태에서, 검출하는 프로세스는 진행 중이고 실질적으로 연속적이며, 여기서 이미지 프로세싱 시스템(920)은 캡처된 비디오 데이터(900)의 프레임들 내의 픽셀-레벨 데이터를 분석하여 후속 항목 포지션들에서 후속 식품 항목들을 검출한다.
[0111] 일부 구현들에서는, 캡처된 비디오 데이터(900)의 프레임들에서 식품 항목(650)을 검출하는 블록 808에서의 프로세스는 컴퓨터 비전 시스템들 및 기계 학습 알고리즘을 사용하여 하나 이상의 캡처된 비디오 데이터의 프레임 내의 검출된 항목들(예를 들어, 식품 항목들 및 비식품 항목들)에 관한 픽셀-레벨 데이터를 식품 항목들을 포함하는 저장된 이미지들의 컬렉션과 비교하는 것을 수반한다.
[0112] 기계 학습은 경험을 통해 점진적으로 개선되는 알고리즘을 지칭한다. 기계 학습 알고리즘은, 많은 수의 상이한 입력 데이터세트들(예를 들어, 다양한 환경들에서의 다양한 식품 항목들의 사진들)을 프로세싱함으로써, 특정 데이터세트들에 관한 개선된 일반화들을 개발한 다음, 해당 일반화들을 사용하여 새로운 데이터세트를 프로세싱할 때 정확한 출력 또는 솔루션을 생성할 수 있다. 광범위하게 말하면, 기계 학습 알고리즘은 새로운 경험들에 응답하여 조정되거나 변경될 하나 이상의 파라미터를 포함하며, 그에 의해 알고리즘을 점진적으로 개선한다; 학습과 유사한 프로세스.
[0113] 컴퓨터 비전의 상황에서, 수학적 모델들은, 컴퓨터들을 사용하여 이미지에서 정보를 추출하고 이미지의 콘텐츠의 정확한 이해를 달성할 목적으로, 인간의 시각 시스템에 의해 달성되는 태스크들을 모방하려고 시도한다. 컴퓨터 비전 알고리즘들은, 디지털 이미지들과 비디오 내의 데이터를 추출하여 분석하기 위해, 인공 지능, 자율 항법 주행을 포함하는, 다양한 분야들에서 개발되었다.
[0114] 딥 러닝은 인공 신경망들에 기초하거나 인공 신경망들을 본떠서 만들어지는 기계 학습 방법들의 클래스를 지칭한다. 인공 신경망은 외부 입력들에 대한 그들의 동적 상태 응답에 의해 정보를 프로세싱하는, 다수의 단순하고 고도로 상호 연결된 프로세싱 요소들(노드들)로 구성된 컴퓨팅 시스템이다. 대규모 인공 신경망은 수백 또는 수천 개의 노드들을 가질 수 있다.
[0115] 컨볼루션 신경망(convolutional neural network, CNN)은, 디지털 사진들 및 비디오를 포함하는, 시각적 이미지들을 분석하는 데 빈번하게 적용되는 신경망의 일종이다. CNN 내의 노드들 간의 연결 패턴은 전형적으로, 시야 내의 겹치는 영역들에 응답하도록 배열된 개개의 뉴런들을 포함하는, 인간의 시각 피질의 조직을 본떠서 만들어진다. 본 명세서에서 기술된 결정 프로세스에서 사용하기에 적합한 신경망은 다음의 아키텍처들 중 하나에 기초한다: VGG16, VGG19, ResNet50, Inception V3, Xception, 또는 다른 CNN 호환 아키텍처들.
[0116] 기계 학습 예에서, 블록 808에서, 프로세서(432)는 항목 분류 모델과 같은 기계 훈련된 알고리즘을 사용하여 검출된 항목들(예를 들어, 식품 항목들 및 비식품 항목들)이 미리 정의된 식품 항목들의 컬렉션 중 임의의 식품 항목과 실질적으로 매칭되는지 여부를 결정한다. 프로세서(432)는 기계 학습을 통해 훈련된 항목 분류 모델에 액세스하고, 분류 모델을 적용하여 비디오 데이터의 프레임들 내의 검출된 항목들을 식별하고 식품 항목들 또는 비식품 항목들로서 분류하도록 구성된다.
[0117] 하나의 예시적인 구현에서는, 훈련된 항목 분류 모델은 검출된 항목을 포함하는 비디오 데이터의 프레임을 수신하고 분석을 위해 해당 프레임 내의 이미지를 레이어들로 추상화한다. 각각의 레이어 내의 데이터는, 훈련된 손 특징 모델에 기초하여, 식품 데이터 라이브러리(480)에 저장된 식품 항목들과, 레이어별로(layer by layer), 양호한 매칭이 식별될 때까지 비교된다.
[0118] 일 예에서는, 레이어별 이미지 분석은 컨볼루션 신경망을 사용하여 실행된다. 제1 컨볼루션 레이어에서는, CNN은 학습된 특징들(예를 들어, 미가공 식품 특성들, 통조림 식품 라벨들, 조리된 식품 설명자들 등)을 식별한다. 제2 컨볼루션 레이어에서는, 이미지는 학습된 특징들이 개개의 부분 이미지(sub-image)에서 각각 강조되는, 복수의 이미지로 변환된다. 풀링 레이어에서는, 가능한 관심 특징들(예를 들어, 미가공 식품 형상, 식품 라벨 상의 텍스트)을 포함하는 각각의 이미지의 부분들을 분리하기 위해 이미지들과 부분 이미지들의 크기들과 해상도가 저감된다. 비출력 레이어들로부터의 이미지들의 값들 및 비교들은 프레임 내의 이미지를 분류하기 위해 사용된다.
[0119] 도 8의 블록 810은 상황별 오버레이 애플리케이션(910)을 사용하여 하나 이상의 검출된 식품 항목(650)과 연관된 데이터(850)를 검색하는 예시적인 단계를 기술한다. 검색된 데이터(850)는 아이웨어 디바이스(100) 상의 메모리(434)에 적어도 일시적으로 저장된다.
[0120] 일부 예시적인 구현들에서는, 도 9의 블록 822에서 기술된 바와 같이, 데이터(850)를 검색하는 프로세스는, 식품 데이터 라이브러리(480), 레시피 라이브러리(482), 및 인터넷 상의 하나 이상의 웹사이트를 포함하는, 하나 이상의 소스로부터 식품 정보(855)를 수집하는 것을 포함한다. 이러한 양태에서, 데이터(850)를 검색하는 프로세스는 검색 용어들을 조합하는 것(예를 들어, 하나 이상의 검출된 식품 항목(650)의 리스트를 포함함), 검색을 실행하는 것, 및 검출된 식품 항목들(650)과 관련된 식품 정보(855)를 수집하는 것을 포함한다. 상황별 오버레이 애플리케이션(910)은, 일부 구현들에서는, 하나 이상의 선호하는 검색 엔진, 웹사이트, 및 다른 인터넷 기반 리소스에 액세스하도록 구성된다.
[0121] 식품 데이터 라이브러리(480)는 일부 구현들에서는, 다양한 식품 항목들의 설명들을 포함하는, 식품들에 관한 정보의 컬렉션을 포함한다. 저장된 데이터는 이미지 또는 비디오 데이터의 프레임에서 검출된 항목들과의 즉시 비교에 적합하다. 식품 데이터 라이브러리(480)에 저장된 식품 항목 레코드는 텍스트 식별자(예를 들어, 브로콜리, 콩, 쌀), 조건 참조들(예를 들어, 미가공, 조리, 통조림, 냉동), 및 각각의 식품 항목과 관련된 다른 데이터 및 설명자들을 포함할 수 있다.
[0122] 레시피 라이브러리(482)는 일부 구현들에서는 레시피들에 관한 정보의 컬렉션을 포함한다. 레시피 라이브러리(482)에 저장된 레시피 항목 레코드는 텍스트 식별자(예를 들어, 양배추 샐러드, 야채 샐러드, 수프), 재료들의 리스트, 조리 프로세스(예를 들어, 날것, 찜, 구이, 로스팅), 조리 기간, 준비 시간, 각각의 레시피와 관련된 다른 데이터 및 설명자들을 포함할 수 있다. 저장된 정보는 레시피 정보를 포함하는 상황별 오버레이(725)를 큐레이팅할 때 빠른 검색에 적합하다.
[0123] 일부 구현들에서는, 인터넷 검색을 사용하여 식품 정보(855)를 수집하는 블록 822에서의 프로세스는 기계 학습 알고리즘을 사용하여 관련 식품 정보(855)를 신속하고 효율적으로 검색할 가능성이 가장 높은 검색 엔진, 웹 리소스들, 및 웹사이트 데이터를 선택하는 것을 수반한다.
[0124] 도 8의 블록 812는 검색된 데이터(850)에 기초하여 상황별 오버레이(725)를 큐레이팅하는 예시적인 단계를 기술한다. 본 명세서에서 사용되는, 큐레이팅이라는 용어는, 본 명세서에서 기술된 바와 같이, 하나 이상의 파라미터에 따라 정보를 선택하고, 조직하고, 우선순위를 매기는 것을 지칭하고 이를 포함한다. 예를 들어, 도 9의 블록 824에 기술되는 바와 같이, 상황별 오버레이(725)를 큐레이팅하는 프로세스는 그러한 파라미터들을 프로파일(880)에 유지하는 것을 포함한다. 프로파일(880)과 그것의 파라미터들은 구성 가능하며 디폴트 설정으로 시작될 수 있다. 프로파일(880)은 일부 구현들에서는 특정 디바이스 또는 사용자와 연관된다.
[0125] 예시적인 구현에서는, 프로파일(880)은 상황별 오버레이 애플리케이션(910)과 연관된 활동(881), 현장(882), 및 콘텐츠 설정(883)을 포함한다. 활동(881)은 조리, 영양, 쇼핑, 가격 책정 등과 같은 주제나 목적을 지칭하고 이를 포함한다. 활동(881)은 일부 구현들에서는 사용자 이력, 습관들, 가장 최근의 목적, 가장 빈번한 목적 등을 또한 포함한다. 현장(882)은 농장 판매대, 야외 시장, 식료품점, 냉장고, 또는 주방 조리대와 같은 환경 또는 설정을 지칭하고 이를 포함한다. 콘텐츠 설정(883)은 레시피들, 영양 데이터, 가격들, 및 소스들과 같은, 사용자에 또는 디바이스에 특정한, 임의의 타입의 선호도 또는 설정을 지칭하고 이를 포함한다.
[0126] 프로파일(880)은 본 명세서에서 기술된 다양한 프로세스들을 알려준다. 예를 들어, 도 9의 블록 826은 유지된 프로파일(880) 및 검색된 데이터(850)(예를 들어, 수집된 식품 정보(855)를 포함함)에 따라 상황별 오버레이(725)를 파퓰레이팅(populating)하는 예시적인 단계를 기술한다. 예를 들어, 활동(881)이 조리이고, 현장(882)이 야외 시장이고, 콘텐츠 설정(883)이 레시피들인 경우, 데이터(850)를 검색하고 상황별 오버레이(725)를 큐레이팅하는 프로세스들은 레시피들을 수집하고 프레젠테이션하는 것을 향해 지향될 것이다. 다른 예에서, 활동(881)이 영양이고, 현장(882)이 식료품점이고, 콘텐츠 설정(882)이 영양 데이터인 경우, 데이터(850)를 검색하고 상황별 오버레이(725)를 큐레이팅하는 프로세스들은 영양 데이터(예를 들어, 특정 다이어트 관련 제약들에 맞춰짐)를 수집하고 프레젠테이션하는 것을 향해 지향될 것이다. 이러한 양태에서, 프로파일(880)은 특정 사용자 또는 디바이스에 맞춤화된 상황별 오버레이(725)의 프레젠테이션을 용이하게 한다.
[0127] 도 8의 블록 814는 디스플레이(180B) 상에 상황별 오버레이(725)를 프레젠테이션하는 예시적인 단계를 기술한다. 상황별 오버레이(725)는, 도 7에 도시된 바와 같이, 오버레이 포지션(701)에 프레젠테이션된다. 일부 구현들에서는, 오버레이 포지션(701)은 디스플레이(180B)와 관련하여 정의되며, 이에 따라 상황별 오버레이(725)가 디스플레이 상의 일관된 포지션에 프레젠테이션되게 된다. 예를 들어, 상황별 오버레이(725)는 일부 구현들에서는 오버레이 포지션(701)으로부터 미리 정의된 디폴트 거리만큼 떨어져 위치하는 하나 이상의 그래픽 요소(720)를 포함한다.
[0128] 상황별 오버레이(725)는 일부 구현들에서는 하나 이상의 그래픽 요소(720)를 포함하며, 그 중 하나 이상은 도 9의 블록 828에서 일반적으로 기술된 바와 같이 선택 가능할 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 그래픽 요소들(720A, 720B, 720C)의 컬렉션이 디스플레이 상에, 오버레이 포지션(701)에 대해 프레젠테이션된다. 그래픽 요소들(720A, 720B, 720C)은, 도시된 바와 같이, 각각의 요소에 관한 추가의 세부 사항을 제시하는 시각적 아이콘 및 다른 표시와 함께 라벨들을 포함할 수 있다.
[0129] 본 명세서에서 사용되는, 하나 이상의 그래픽 요소(720)는 VR 체험들과 연관된 가상 객체들 및 아이콘들, 썸네일들, 작업 표시줄들, 및 메뉴 항목들과 같은 그래픽 요소들을 포함하지만 이에 제한되지 않는, 디스플레이 상에 프레젠테이션된 그래픽 요소들의 임의의 컬렉션을 의미하고 이를 포함한다. 예를 들어, 도 7의 그래픽 요소들(720A, 720B, 720C)은 사진들, 요약들, 및 완전한 레시피들에 대한 링크들을 포함하는 선택 가능한 항목들을 나타낸다.
[0130] 상황별 오버레이(725)는 일부 구현들에서는 현재 식품 항목 포지션(705)에 인접하여 프레젠테이션된 라벨(710)을 포함한다. 현재 식품 항목 포지션(705)은 물리적 환경(600) 내의 검출된 식품 항목(650)의 로케이션에 관련하여, 그리고 그에 따라 정의되며, 이에 따라 아이웨어 디바이스(100)가 물리적 환경(600)을 통해 이동함에 따라 라벨(710)이 (디스플레이(180B)에 대해) 움직이는 것처럼 보이게 된다. 예를 들어, 도 7에 도시된 바와 같이, 현재 식품 항목 포지션들(705A, 705B, 705C)에 인접하여 또는 그 근처에 각각 라벨들(710A, 710B, 710C)이 프레젠테이션된다.
[0131] 아이웨어 디바이스(100)가 물리적 환경(600)을 통해 이동함에 따라, 로컬라이제이션이라고 불리는 프로세스를 사용하여, 현재 식품 항목 포지션들(705A, 705B, 705C) 근처에 라벨들(710A, 710B, 710C)이 계속 있는 것처럼 보일 것이다. 아이웨어 디바이스(100) 상의 로컬라이제이션 시스템(915)은 일부 구현들에서는 현재 식품 항목 포지션들(705A, 705B, 705C)에 대한 현재 아이웨어 로케이션(840)을 결정하는 데 사용하기 위한 로컬라이제이션 데이터를 획득하도록 아이웨어(100) 상의 프로세서(432)를 구성한다. 로컬라이제이션 데이터는 캡처된 비디오 데이터(900)의 프레임들, IMU 유닛(472), GPS 유닛(473), 또는 이들의 조합으로부터 도출될 수 있다. 로컬라이제이션 시스템(915)은 적어도 카메라(114B)의 프레임 레이트만큼 빈번하게 맵과 객체들의 로케이션을 업데이트하는(예를 들어, 현재 아이웨어 로케이션(840)의 매핑과 로컬라이제이션을 초당 30회 이상 빈번하게 계산하고 업데이트하는), 본 명세서에서 기술된 바와 같은, SLAM 알고리즘을 사용하여 카메라 시야(904) 내의 다양한 요소들의 가상 맵을 구성할 수 있다.
[0132] 로컬라이제이션의 프로세스는 일부 구현들에서는 검출된 현재 식품 항목 포지션들(705A, 705B, 705C)과 현재 아이웨어 로케이션(840) 사이의 상관을 계산하는 것을 포함한다. 상관이라는 용어는, 현재 아이웨어 로케이션(840)에 따라, 검출된 현재 식품 항목 포지션들(705A, 705B, 705C)과 아이웨어 디스플레이(180B) 사이의 3차원 거리를 정의하기에 충분한 하나 이상의 벡터, 행렬, 공식, 또는 다른 수학적 표현을 지칭하고 이를 포함한다. 현재 아이웨어 로케이션(840)은, 물론, 아이웨어 디바이스(100)의 프레임에 의해 지지되는 디스플레이(180B)에 관련되어 있거나 지속적으로 연관되어 있다. 이러한 양태에서, 상관은 검출된 현재 식품 항목 포지션들(705A, 705B, 705C)의 겉보기 모션으로 아이웨어(100)의 모션을 캘리브레이션하는 기능을 수행한다. 로컬라이제이션 프로세스는 계속해서 빈번하게 발생하기 때문에, 상관은 계속해서 빈번하게 계산되어, 결국 현재 아이웨어 로케이션(840)에 대한 검출된 현재 식품 항목 포지션들(705A, 705B, 705C)의 추적이 정확하고 거의 실시간으로 이루어진다.
[0133] 로컬라이제이션 프로세스는 계속해서 빈번하게 발생하기 때문에, 상관은 계속해서 빈번하게 계산되어, 결국 현재 아이웨어 로케이션(840)에 대한 현재 손 위치(681)의 추적이 정확하고 거의 실시간으로 이루어진다.
[0134] 상황별 오버레이(725)는 일부 구현들에서는, 도 9의 블록 828에서 일반적으로 기술되는 바와 같이, 라우드스피커(191)를 통해 프레젠테이션 메시지(872)를 재생하는 것을 포함한다. 상황별 오버레이 애플리케이션(910)은 사운드, 경고음, 또는 "몇 가지 레시피를 찾았습니다", "여기 몇 가지 저녁 식사 아이디어가 있습니다", 또는 "이 영양 데이터를 보세요"와 같은 메시지를 포함하는 다수의 미리 정의된 또는 예시적인 프레젠테이션 메시지(871)를 재생하도록 구성될 수 있다. 프레젠테이션 메시지(872)는 본 명세서에서 기술된 오디오 프로세서(413) 및 라우드스피커(들)(191)를 사용하여 재생되거나 디스플레이(180B) 상에 텍스트로서 프레젠테이션되거나, 둘 다일 수 있다.
[0135] 도 9는 상황별 오버레이(725)의 선택 가능한 요소들을 큐레이팅하고 그와 상호 작용하는 예시적인 방법의 단계들을 열거하는 흐름도(820)이다.
[0136] 도 9의 블록 830은, 도 7에 도시된 커서와 같은, 움직일 수 있는 요소(711)를 디스플레이(180B) 상에 프레젠테이션하는 예시적인 단계를 기술한다. 이 예에서, 커서(711)는, 도 7에 예시된 바와 같이, 터치패드(181)에 대해 검출된 현재 손가락 끝 로케이션(681)에 따라, 디스플레이 상의 현재 요소 포지션(740)에 프레젠테이션된다. 이러한 양태에서, 터치패드(181)에 대한 손가락 끝의 모션이 실시간으로 추적되어 디스플레이(180B)에 대한 커서(711)의 겉보기 모션을 구동하도록 상관된다. 다른 예시적인 구현들에서는, 이미지 프로세싱 시스템(920)에 의해 캡처된 비디오 데이터(900)의 프레임들에서 검출된 하나 이상의 손 제스처에 의해 움직일 수 있는 요소(711)가 제어된다.
[0137] 도 9의 블록 832는, 검출된 현재 손가락 끝 로케이션(681)에 기초하여, 터치패드(811)에 대한 탭 제스처(851)를 검출하는 예시적인 단계를 기술한다. 다른 예시적인 구현들에서는, 이미지 프로세싱 시스템(920)에 의해 캡처된 비디오 데이터(900)의 프레임들에서 선택 액션(예를 들어, 스와이프 또는 탭과 같은 손 제스처)이 검출된다.
[0138] 도 9의 블록 834는 검출된 탭 제스처(851) 및 현재 요소 포지션(740)에 따라 선택 액션(801)을 실행하는 예시적인 단계를 기술한다. 선택 액션(801)을 실행하는 것은, 이 예에서, 커서(711)의 현재 요소 포지션(740)에 가장 가까운 그래픽 요소(예를 들어, 720A, 720B 또는 720C)를 식별하는 것; 및 그 후 식별된 가장 가까운 그래픽 요소에 대해 선택 액션(801)을 실행하는 것을 포함한다. 예를 들어, 탭 제스처(851)가 검출될 때 커서(711)가 제1 그래픽 요소(720A)에 가장 가까이 있다면, 선택 액션(801)은 제1 그래픽 요소(720A)에 대해 수행된다. 관련 양태에서, 식별된 가장 가까운 그래픽 요소 주위 또는 근처에 하이라이트 또는 다른 표시가 프레젠테이션될 수 있다.
[0139] 본 명세서에서 기술된 바와 같이, 상황별 오버레이(725)의 하나 이상의 그래픽 요소(720)가 선택 가능하다. 이러한 양태에서, 그래픽 요소들(720)은 정지 이미지들, 비디오, 오디오, 실행 가능한 애플리케이션들, 메뉴 항목들, 및 그러한 콘텐츠의 조합들이나 시퀀스들을 포함하는, 다양한 콘텐츠 중 임의의 것을 포함하거나 이에 결합될 수 있다. 이러한 양태에서, 커서(711)에 가장 가까운 식별된 그래픽 요소와 연관된 콘텐츠에 대한 선택 액션(801)은, 일부 구현들에서는, 콘텐츠를 여는 것, 저장하는 것, 공유하는 것, 또는 제거하는 것을 포함한다. "여는" 선택 액션(801)은 디스플레이 상에 콘텐츠를 프레젠테이션하거나 메뉴 항목들의 리스트를 여는 것을 포함할 수 있다. "저장하는" 선택 액션(801)은 콘텐츠를 메모리에 저장하거나 콘텐츠를 저장을 위해 지정된 또는 인근의 디바이스에 송신하는 것을 포함할 수 있다. "공유하는" 선택 액션(801)은 콘텐츠를 하나 이상의 지정된 또는 인근의 디바이스에 송신하는 것을 포함할 수 있다. "제거하는" 선택 액션(801)은 디스플레이로부터 콘텐츠를 제거하고 그 자리에 후속 그래픽 요소(720)를 프레젠테이션하는 것을 포함할 수 있다. 선택 액션(801)은, 일부 구현들에서는, 본 명세서에서 기술된 유지된 프로파일(880)의 하나 이상의 파라미터에 의해 안내되거나 제어된다.
[0140] 아이웨어 디바이스(100), 모바일 디바이스(401), 및 서버 시스템(498)에 대해 본 명세서에서 기술된 기능 중 임의의 것이 본 명세서에 기술된 바와 같이 하나 이상의 컴퓨터 소프트웨어 애플리케이션 또는 프로그래밍 명령어들의 세트들로 구현될 수 있다. 일부 예들에 따르면, "함수", "함수들", "애플리케이션", "애플리케이션들", "명령어", "명령어들" 또는 "프로그래밍"은 프로그램들에서 정의된 함수들을 실행하는 프로그램(들)이다. 객체 지향형 프로그래밍 언어들(예를 들어, Objective-C, Java, 또는 C++) 또는 절차형 프로그래밍 언어들(예를 들어, C 또는 어셈블리 언어)과 같은, 다양한 프로그래밍 언어들이, 다양한 방식들로 구조화된 애플리케이션들 중 하나 이상을 개발하기 위해 채용될 수 있다. 특정 예에서, 제3자 애플리케이션(예를 들어, 특정 플랫폼의 벤더 이외의 엔티티에 의해 ANDROID™ 또는 IOS™ 소프트웨어 개발 키트(SDK)를 이용하여 개발된 애플리케이션)은 IOS™, ANDROID™, WINDOWS® Phone, 또는 다른 모바일 운영 체제와 같은 모바일 운영 체제 상에서 실행되는 모바일 소프트웨어를 포함할 수 있다. 이 예에서는, 제3자 애플리케이션은 본 명세서에 기술된 기능을 용이하게 하기 위해 운영 체제에 의해 제공되는 API 호출들을 작동(invoke)시킬 수 있다.
[0141] 따라서, 기계 판독가능 매체는 유형 스토리지 매체의 많은 형태들을 취할 수 있다. 비휘발성 스토리지 매체들은, 예를 들어, 도면들에 도시된 클라이언트 디바이스, 미디어 게이트웨이, 트랜스코더 등을 구현하기 위해 사용될 수 있는, 임의의 컴퓨터 디바이스들 등 내의 임의의 스토리지 디바이스들 중 임의의 스토리지 디바이스들과 같은, 광 또는 자기 디스크들을 포함한다. 휘발성 스토리지 매체들은 그러한 컴퓨터 플랫폼의 메인 메모리와 같은 동적 메모리를 포함한다. 유형 송신 매체들은 동축 케이블들; 컴퓨터 시스템 내의 버스를 포함하는 와이어들을 포함하는, 구리 와이어 및 광섬유를 포함한다. 반송파 송신 매체들은 전기 또는 전자기 신호들, 또는 무선 주파수(RF) 및 적외선(IR) 데이터 통신 중에 생성된 것들과 같은 음향 또는 광파들의 형태를 취할 수 있다. 따라서 일반적인 형태의 컴퓨터 판독 가능 매체들은 예를 들어: 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 임의의 다른 광 매체, 펀치 카드 용지 테이프, 구멍의 패턴들을 갖는 임의의 다른 물리적 스토리지 매체, RAM, PROM 및 EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 데이터 또는 명령어들을 전송하는 반송파, 그러한 반송파를 전송하는 케이블들 또는 링크들, 또는 컴퓨터가 프로그래밍 코드 또는 데이터를 판독할 수 있는 임의의 다른 매체를 포함한다. 이들 형태의 컴퓨터 판독 가능 매체들 중 다수는 실행을 위해 프로세서에 하나 이상의 명령어의 하나 이상의 시퀀스를 반송하는 데 관련될 수 있다.
[0142] 바로 위에 언급된 것을 제외하고, 언급되거나 예시된 어떤 것도, 그것이 청구항들에 기재되어 있는지 여부에 관계없이, 임의의 컴포넌트, 단계, 특징, 객체, 이익, 이점, 또는 등가물이 대중에 제공되는 것을 야기하도록 의도되거나 해석되어서는 안 된다.
[0143] 본 명세서에서 사용된 용어들 및 표현들은 본 명세서에서 특정 의미들이 달리 제시된 경우를 제외하고 그들의 대응하는 개개의 조사 및 연구 분야들과 관련하여 그러한 용어들 및 표현들에 부여되는 통상의 의미를 갖는다는 것을 이해할 것이다. 제1 및 제2 등과 같은 관계 용어들은 하나의 엔티티 또는 액션을 다른 것과 구별하기 위해서만 사용될 수 있으며 그러한 엔티티들 또는 액션들 간에 임의의 실제 그러한 관계 또는 순서를 반드시 요구하거나 암시하지는 않는다. 용어 "포괄하다", "포괄하는", "포함하다", 포함하는", 또는 이들의 임의의 변형 표현들은 비배타적 포함을 커버하기 위해 의도된 것이며, 따라서 요소들 또는 단계들의 리스트를 포괄하거나 포함하는 프로세스, 방법, 물품, 또는 장치는 해당 요소들 또는 단계들만을 포함하는 것이 아니라 명시적으로 열거되지 않은 또는 그러한 프로세스, 방법, 물품, 또는 장치에 고유한 다른 요소들을 포함할 수 있다. 단수형 요소는, 더 많은 제한 사항이 없다면, 그 요소를 포함하는 프로세스, 방법, 물품, 또는 장치에서 추가적인 동일한 요소들의 존재를 배제하지 않는다.
[0144] 달리 언급되지 않는 한, 다음의 청구항들을 포함하여, 본 명세서에서 제시되는 임의의 그리고 모든 측정치들, 값들, 등급들, 포지션들, 크기들, 사이즈들, 및 다른 사양들은 정확한 것이 아니라, 대략적인 것이다. 그러한 양들은 그것들과 관련되는 기능들과 그리고 그것들과 관련되는 분야에서 관례적인 것과 일치하는 합리적인 범위를 갖도록 의도된다. 예를 들어, 명시적으로 달리 언급되지 않는 한, 파라미터 값 등은 언급된 양 또는 범위에서 ±10%만큼 달라질 수 있다.
[0145] 또한, 전술한 상세한 설명에서는, 개시를 간소화할 목적으로 다양한 특징들이 다양한 예에서 함께 그룹화됨을 알 수 있다. 이 개시의 방법은 청구된 예들이 각각의 청구항에서 명시적으로 기재된 것보다 더 많은 특징들을 요구한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 다음의 청구항들이 반영하는 바와 같이, 보호되어야 할 주제는 임의의 단일의 개시된 예의 모든 특징들보다 적은 것에 있다. 따라서, 다음의 청구항들은 상세한 설명에 통합되며, 각각의 청구항은 개별적으로 청구된 주제로서 자립하고 있다.
[0146] 상기에서는 최상의 모드라고 생각되는 것들 및 다른 예들을 기술하였지만, 다양한 수정들이 이루어질 수 있다는 점 그리고 본 명세서에 개시된 주제가 다양한 형태들 및 예들로 구현될 수 있다는 점, 그리고 그것들이 많은 응용들 ― 본 명세서에서는 그 중 일부만이 기술됨 ― 에서 적용될 수 있다는 점이 이해된다. 다음의 청구항들이 의도하는 바는 본 개념들의 진정한 범위 내에 속하는 임의의 그리고 모든 수정들 및 변형들을 청구하는 것이다.

Claims (20)

  1. 물리적 환경에서 아이웨어 디바이스로 검출된 항목들에 응답하여 상황별 오버레이를 프레젠테이션하는 방법으로서, 상기 아이웨어 디바이스는 카메라, 마이크로폰, 라우드스피커, 상황별 오버레이 애플리케이션, 이미지 프로세싱 시스템, 및 디스플레이를 포함하고,
    상기 방법은:
    상기 마이크로폰으로 시작 명령을 인식하는 단계;
    상기 인식된 시작 명령에 응답하여, 상기 라우드스피커를 통해 확인 메시지를 재생하는 단계;
    상기 카메라의 시야 내에서 비디오 데이터의 프레임들을 캡처하는 단계;
    상기 이미지 프로세싱 시스템을 사용하여, 상기 캡처된 비디오 데이터의 프레임들에서, 상기 디스플레이에 대해 현재 항목 포지션에 있는 식품 항목을 검출하는 단계;
    상기 상황별 오버레이 애플리케이션을 사용하여 상기 검출된 식품 항목과 연관된 데이터를 검색하는 단계;
    상기 검색된 데이터에 기초하여 상황별 오버레이를 큐레이팅하는 단계; 및
    상기 디스플레이 상에 상기 디스플레이에 대해 오버레이 포지션에 상기 상황별 오버레이를 프레젠테이션하는 단계를 포함하는, 방법.
  2. 제1항에 있어서,
    후속 식품 항목을 검출하는 단계;
    상기 검출된 후속 식품 항목과 연관된 후속 데이터를 검색하는 단계; 및
    상기 검색된 후속 데이터에 기초하여 상기 상황별 오버레이를 더 큐레이팅하는 단계를 추가로 포함하는, 방법.
  3. 제1항에 있어서,
    데이터를 검색하는 상기 프로세스는 식품 데이터 라이브러리, 레시피 라이브러리, 및 인터넷 상의 하나 이상의 웹사이트로 이루어지는 그룹 중에서 선택된 소스로부터 식품 정보를 수집하는 단계를 추가로 포함하는, 방법.
  4. 제1항에 있어서,
    상황별 오버레이를 큐레이팅하는 상기 프로세스는:
    활동, 현장, 및 콘텐츠 설정을 포함하는 프로파일을 유지하는 단계; 및
    상기 유지된 프로파일 및 상기 검색된 데이터에 따라 상기 상황별 오버레이를 파퓰레이팅(populating) 단계를
    추가로 포함하는, 방법.
  5. 제1항에 있어서,
    상황별 오버레이를 프레젠테이션하는 상기 프로세스는:
    상기 디스플레이 상에 하나 이상의 그래픽 요소를 프레젠테이션하는 단계 ― 각각의 그래픽 요소는 상기 검색된 데이터와 연관됨 ―;
    상기 현재 항목 포지션에 인접하여 상기 디스플레이 상에 상기 검출된 식품 항목과 연관된 라벨을 프레젠테이션하는 단계; 및
    상기 라우드스피커를 통해, 상기 프레젠테이션된 상황별 오버레이와 관련하여 프레젠테이션 메시지를 재생하는 단계를 추가로 포함하는, 방법.
  6. 제1항에 있어서,
    식품 항목을 검출하는 상기 프로세스는:
    상기 캡처된 비디오 데이터의 프레임들 내의 복수의 다른 항목들 중에서 상기 식품 항목을 식별하기 위해 분류 모델에 액세스하는 단계를 추가로 포함하는, 방법.
  7. 제1항에 있어서,
    상기 아이웨어 디바이스는 로컬라이제이션 시스템을 추가로 포함하고, 상기 방법은:
    상기 로컬라이제이션 시스템을 사용하여, 상기 현재 항목 포지션에 대한 현재 아이웨어 로케이션을 결정하는 단계;
    상기 현재 아이웨어 로케이션에 따라, 상기 현재 항목 포지션과 상기 디스플레이 사이의 상관을 계산하는 단계; 및
    상기 아이웨어가 상기 물리적 환경을 통해 이동함에 따라 상기 현재 항목 포지션에 인접하여 상기 상황별 오버레이가 지속적으로 프레젠테이션되도록, 상기 계산된 상관에 따라 상황별 오버레이를 프레젠테이션하는 단계를 추가로 포함하는, 방법.
  8. 제1항에 있어서,
    상기 아이웨어 디바이스는 터치패드를 추가로 포함하고, 상기 상황별 오버레이를 프레젠테이션하는 상기 프로세스는:
    상기 터치패드에 대한 현재 손가락 끝 로케이션을 검출하는 단계;
    상기 검출된 현재 손가락 끝 로케이션에 따라 상기 디스플레이 상의 현재 요소 포지션에 움직일 수 있는 요소를 프레젠테이션하는 단계;
    상기 현재 요소 포지션에 가장 가까운 상기 디스플레이 상에 포지셔닝된 제1 그래픽 요소에 인접하여 하이라이트를 프레젠테이션하는 단계;
    상기 검출된 현재 손가락 끝 로케이션에 기초하여, 상기 터치패드에 대한 탭 제스처를 검출하는 단계; 및
    상기 검출된 탭 제스처 및 상기 현재 요소 포지션에 따라 선택 액션을 실행하는 단계를 추가로 포함하는, 방법.
  9. 제8항에 있어서,
    선택 액션을 실행하는 상기 프로세스는:
    상기 현재 요소 포지션에 가장 가까운 상기 디스플레이 상에 포지셔닝된 선택된 그래픽 요소를 식별하는 단계를 추가로 포함하고, 상기 제1 그래픽 요소에 대한 상기 선택 액션은 여는 것, 저장하는 것, 공유하는 것, 및 제거하는 것으로 이루어진 그룹 중에서 선택되는 프로세스인, 방법.
  10. 상황별 오버레이 시스템으로서,
    카메라, 마이크로폰, 라우드스피커, 상황별 오버레이 애플리케이션, 이미지 프로세싱 시스템, 메모리, 프로세서, 및 디스플레이를 포함하는 아이웨어 디바이스; 및
    상기 메모리 내의 프로그래밍을 포함하고, 상기 프로세서에 의한 상기 프로그래밍의 실행은 기능들을 수행하도록 상기 아이웨어 디바이스를 구성하고, 상기 기능들은:
    상기 마이크로폰으로 시작 명령을 인식하는 기능;
    상기 인식된 시작 명령에 응답하여, 상기 라우드스피커를 통해 확인 메시지를 재생하는 기능;
    상기 카메라의 시야 내에서 비디오 데이터의 프레임들을 캡처하는 기능;
    상기 이미지 프로세싱 시스템을 사용하여, 상기 캡처된 비디오 데이터의 프레임들에서, 상기 디스플레이에 대해 현재 항목 포지션에 있는 식품 항목을 검출하는 기능;
    상기 상황별 오버레이 애플리케이션을 사용하여 상기 검출된 식품 항목과 연관된 데이터를 검색하는 기능;
    상기 검색된 데이터에 기초하여 상황별 오버레이를 큐레이팅하는 기능; 및
    상기 디스플레이 상에 상기 디스플레이에 대해 오버레이 포지션에 상기 상황별 오버레이를 프레젠테이션하는 기능을 포함하는, 상황별 오버레이 시스템.
  11. 제10항에 있어서,
    데이터를 검색하는 상기 기능은 식품 데이터 라이브러리, 레시피 라이브러리, 및 인터넷 상의 하나 이상의 웹사이트로 이루어지는 그룹 중에서 선택된 소스로부터 식품 정보를 수집하는 기능을 추가로 포함하는, 상황별 오버레이 시스템.
  12. 제10항에 있어서,
    상황별 오버레이를 큐레이팅하는 상기 기능은:
    활동, 현장, 및 콘텐츠 설정을 포함하는 프로파일을 유지하는 기능; 및
    상기 유지된 프로파일 및 상기 검색된 데이터에 따라 상기 상황별 오버레이를 파퓰레이팅하는 기능을 추가로 포함하는, 상황별 오버레이 시스템.
  13. 제10항에 있어서,
    상기 디스플레이 상에 상황별 오버레이를 프레젠테이션하는 상기 기능은:
    상기 디스플레이 상에 하나 이상의 그래픽 요소를 프레젠테이션하는 기능 ― 각각의 그래픽 요소는 상기 검색된 데이터와 연관됨 ―;
    상기 현재 항목 포지션에 인접하여 상기 디스플레이 상에 상기 검출된 식품 항목과 연관된 라벨을 프레젠테이션하는 기능; 및
    상기 라우드스피커를 통해, 상기 프레젠테이션된 상황별 오버레이와 관련하여 프레젠테이션 메시지를 재생하는 기능을 추가로 포함하는, 상황별 오버레이 시스템.
  14. 제10항에 있어서,
    식품 항목을 검출하는 상기 기능은 상기 캡처된 비디오 데이터의 프레임들 내의 복수의 다른 항목들 중에서 상기 식품 항목을 식별하기 위해 분류 모델에 액세스하는 기능을 추가로 포함하는, 상황별 오버레이 시스템.
  15. 제10항에 있어서,
    상기 아이웨어 디바이스는 터치패드를 추가로 포함하고, 상기 디스플레이 상에 상기 상황별 오버레이를 프레젠테이션하는 기능은:
    상기 터치패드에 대한 현재 손가락 끝 로케이션을 검출하는 기능;
    상기 검출된 현재 손가락 끝 로케이션에 따라 상기 디스플레이 상의 현재 요소 포지션에 움직일 수 있는 요소를 프레젠테이션하는 기능;
    상기 현재 요소 포지션에 가장 가까운 상기 디스플레이 상에 포지셔닝된 제1 그래픽 요소에 인접하여 하이라이트를 프레젠테이션하는 기능;
    상기 검출된 현재 손가락 끝 로케이션에 기초하여, 상기 터치패드에 대한 탭 제스처를 검출하는 기능; 및
    상기 검출된 탭 제스처 및 상기 현재 요소 포지션에 따라 선택 액션을 실행하는 기능을 추가로 포함하고, 상기 제1 그래픽 요소에 대한 상기 선택 액션은 여는 것, 저장하는 것, 공유하는 것, 및 제거하는 것으로 이루어진 그룹 중에서 선택되는 프로세스인, 상황별 오버레이 시스템.
  16. 프로그램 코드를 저장한 비일시적 컴퓨터 판독가능 매체로서,
    상기 프로그램 코드는, 실행될 때, 전자 프로세서로 하여금:
    아이웨어 디바이스의 마이크로폰으로 시작 명령을 인식하는 단계 ― 상기 아이웨어 디바이스는 카메라, 라우드스피커, 상황별 오버레이 애플리케이션, 이미지 프로세싱 시스템, 및 디스플레이를 추가로 포함함 ―;
    상기 인식된 시작 명령에 응답하여, 상기 라우드스피커를 통해 확인 메시지를 재생하는 단계;
    상기 카메라의 시야 내에서 비디오 데이터의 프레임들을 캡처하는 단계;
    상기 이미지 프로세싱 시스템을 사용하여, 상기 캡처된 비디오 데이터의 프레임들에서, 상기 디스플레이에 대해 현재 항목 포지션에 있는 식품 항목을 검출하는 단계;
    상기 상황별 오버레이 애플리케이션을 사용하여 상기 검출된 식품 항목과 연관된 데이터를 검색하는 단계;
    상기 검색된 데이터에 기초하여 상황별 오버레이를 큐레이팅하는 단계; 및
    상기 디스플레이 상에 상기 디스플레이에 대해 오버레이 포지션에 상기 상황별 오버레이를 프레젠테이션하는 단계를
    수행하게 하도록 동작하는, 비일시적 컴퓨터 판독가능 매체.
  17. 제16항에 있어서,
    데이터를 검색하는 상기 단계는 식품 데이터 라이브러리, 레시피 라이브러리, 및 인터넷 상의 하나 이상의 웹사이트로 이루어지는 그룹 중에서 선택된 소스로부터 식품 정보를 수집하는 단계를 추가로 포함하는,
    비일시적 컴퓨터 판독가능 매체.
  18. 제16항에 있어서,
    상황별 오버레이를 큐레이팅하는 상기 단계는:
    활동, 현장, 및 콘텐츠 설정을 포함하는 프로파일을 유지하는 단계; 및
    상기 유지된 프로파일 및 상기 검색된 데이터에 따라 상기 상황별 오버레이를 파퓰레이팅하는 단계를 추가로 포함하는,
    비일시적 컴퓨터 판독가능 매체.
  19. 제16항에 있어서,
    상황별 오버레이를 프레젠테이션하는 상기 단계는:
    상기 디스플레이 상에 하나 이상의 그래픽 요소를 프레젠테이션하는 단계 ― 각각의 그래픽 요소는 상기 검색된 데이터와 연관됨 ―;
    상기 현재 항목 포지션에 인접하여 상기 디스플레이 상에 상기 검출된 식품 항목과 연관된 라벨을 프레젠테이션하는 단계; 및
    상기 라우드스피커를 통해, 상기 프레젠테이션된 상황별 오버레이와 관련하여 프레젠테이션 메시지를 재생하는 단계를 추가로 포함하는,
    비일시적 컴퓨터 판독가능 매체.
  20. 제16항에 있어서,
    상기 상황별 오버레이를 프레젠테이션하는 상기 단계는:
    상기 아이웨어 디바이스에 결합된 터치패드에 대한 현재 손가락 끝 로케이션을 검출하는 단계;
    상기 검출된 현재 손가락 끝 로케이션에 따라 상기 디스플레이 상의 현재 요소 포지션에 움직일 수 있는 요소를 프레젠테이션하는 단계;
    상기 현재 요소 포지션에 가장 가까운 상기 디스플레이 상에 포지셔닝된 제1 그래픽 요소에 인접하여 하이라이트를 프레젠테이션하는 단계;
    상기 검출된 현재 손가락 끝 로케이션에 기초하여, 상기 터치패드에 대한 탭 제스처를 검출하는 단계; 및
    상기 검출된 탭 제스처 및 상기 현재 요소 포지션에 따라 선택 액션을 실행하는 단계를 추가로 포함하고, 상기 제1 그래픽 요소에 대한 상기 선택 액션은 여는 것, 저장하는 것, 공유하는 것, 및 제거하는 것으로 이루어진 그룹 중에서 선택되는 프로세스인,
    비일시적 컴퓨터 판독가능 매체.
KR1020237041595A 2021-05-05 2022-05-04 증강 현실 체험들을 위한 큐레이팅된 상황별 오버레이들 KR20240004873A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163184448P 2021-05-05 2021-05-05
US63/184,448 2021-05-05
PCT/US2022/027577 WO2022235729A1 (en) 2021-05-05 2022-05-04 Curated contextual overlays for augmented reality experiences

Publications (1)

Publication Number Publication Date
KR20240004873A true KR20240004873A (ko) 2024-01-11

Family

ID=81750562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237041595A KR20240004873A (ko) 2021-05-05 2022-05-04 증강 현실 체험들을 위한 큐레이팅된 상황별 오버레이들

Country Status (5)

Country Link
US (1) US12100066B2 (ko)
EP (1) EP4334805A1 (ko)
KR (1) KR20240004873A (ko)
CN (1) CN117616367A (ko)
WO (1) WO2022235729A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053483B2 (en) * 2011-09-30 2015-06-09 Microsoft Technology Licensing, Llc Personal audio/visual system providing allergy awareness
US9606992B2 (en) * 2011-09-30 2017-03-28 Microsoft Technology Licensing, Llc Personal audio/visual apparatus providing resource management
US10509487B2 (en) * 2016-05-11 2019-12-17 Google Llc Combining gyromouse input and touch input for navigation in an augmented and/or virtual reality environment
US20180101986A1 (en) * 2016-10-10 2018-04-12 Aaron Mackay Burns Drawing in a 3d virtual reality environment
US10311874B2 (en) * 2017-09-01 2019-06-04 4Q Catalyst, LLC Methods and systems for voice-based programming of a voice-controlled device

Also Published As

Publication number Publication date
US20220358689A1 (en) 2022-11-10
WO2022235729A1 (en) 2022-11-10
CN117616367A (zh) 2024-02-27
US12100066B2 (en) 2024-09-24
EP4334805A1 (en) 2024-03-13

Similar Documents

Publication Publication Date Title
US11531402B1 (en) Bimanual gestures for controlling virtual and graphical elements
US11861070B2 (en) Hand gestures for animating and controlling virtual and graphical elements
US12008153B2 (en) Interactive augmented reality experiences using positional tracking
KR20230164185A (ko) 가상 및 그래픽 요소들을 제어하기 위한 매핑된 손 영역들 사이의 양손 상호 작용들
KR20240009999A (ko) 웨어러블 디바이스들에 대한 로컬라이제이션 및 콘텐츠 전달을 위한 비컨들
KR20230025914A (ko) 음성 및 텍스트 캡션들을 사용한 증강 현실 경험들
KR20230074780A (ko) 검출된 손 제스처들에 응답한 터치리스 포토 캡처
WO2022146678A1 (en) Micro hand gestures for controlling virtual and graphical elements
US11195341B1 (en) Augmented reality eyewear with 3D costumes
KR20230113374A (ko) 머리-관련 전달 함수
WO2022005733A1 (en) Augmented reality eyewear with mood sharing
WO2024049578A1 (en) Scissor hand gesture for a collaborative object
WO2024049576A1 (en) Real-world responsiveness of a collaborative object
KR20230124077A (ko) 증강 현실 정밀 추적 및 디스플레이
WO2022125280A1 (en) Augmented reality spatial audio experience
US12100066B2 (en) Curated contextual overlays for augmented reality experiences