Nothing Special   »   [go: up one dir, main page]

KR20230022239A - 증강 현실 환경 향상 - Google Patents

증강 현실 환경 향상 Download PDF

Info

Publication number
KR20230022239A
KR20230022239A KR1020237000985A KR20237000985A KR20230022239A KR 20230022239 A KR20230022239 A KR 20230022239A KR 1020237000985 A KR1020237000985 A KR 1020237000985A KR 20237000985 A KR20237000985 A KR 20237000985A KR 20230022239 A KR20230022239 A KR 20230022239A
Authority
KR
South Korea
Prior art keywords
enhancement
environment
image
eyewear device
locations
Prior art date
Application number
KR1020237000985A
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 KR20230022239A publication Critical patent/KR20230022239A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • 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
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/033Headphones for stereophonic communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2400/00Loudspeakers
    • H04R2400/03Transducers capable of generating both sound as well as tactile vibration, e.g. as used in cellular phones

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Eye Examination Apparatus (AREA)
  • Eyeglasses (AREA)

Abstract

안경류 디바이스를 사용한 증강 현실(AR) 및 가상 현실(VR) 환경 향상이 제공된다. 안경류 디바이스는 이미지 캡처 시스템, 디스플레이 시스템 및 포지션 검출 시스템을 포함한다. 이미지 캡처 시스템 및 포지션 검출 시스템은 환경의 캡처된 이미지들을 나타내는 포인트 클라우드 내의 특징 포인트들을 식별한다. 디스플레이 시스템은 환경 내의 특징 포인트들에 포지셔닝된 향상 그래픽들을 포함하는 이미지 오버레이들을 사용자에게 제공한다.

Description

증강 현실 환경 향상
[0001] 본 출원은 2020년 6월 13일에 "AUGMENTED REALITY ENVIRONMENT ENHANCEMENT"란 명칭으로 출원된 미국 출원 번호 제16/900,897호에 대한 우선권을 주장하며, 이 미국 출원의 내용은 인용에 의해 본 명세서에 포함된다.
[0002] 본 개시내용에서 제시되는 예들은 증강 현실(AR: augmented reality) 및 웨어러블(wearable) 모바일 디바이스들, 이를테면 안경류(eyewear) 디바이스들의 분야에 관한 것이다. 보다 구체적으로, 그러나 제한으로는 아닌, 본 개시내용은 환경에서 사용자에 의해 착용된 안경류 디바이스를 사용하는 증강 현실 환경 향상을 설명한다.
[0003] 오늘날 이용 가능한 많은 타입들의 컴퓨터들 및 전자 디바이스들, 이를테면 모바일 디바이스들(예컨대, 스마트폰들, 태블릿들 및 랩톱들), 핸드헬드 디바이스들 및 웨어러블 디바이스들(예컨대, 스마트 안경, 디지털 안경류, 헤드웨어(headwear), 헤드 기어(headgear) 및 머리-장착 디스플레이(display)들)은 사용자가 디스플레이된 콘텐츠와 상호 작용할 수 있게 하는 다양한 카메라들, 센서들, 무선 트랜시버들, 입력 시스템들(예컨대, 터치-감응 표면들, 포인터들), 주변 디바이스들, 디스플레이들 및 그래픽 사용자 인터페이스(GUI: graphical user interface)들을 포함한다.
[0004] 증강 현실(AR)은 물리적 환경의 실제 객체들을 가상 객체들과 결합하고 그 결합을 사용자에게 디스플레이한다. 결합된 디스플레이는 특히, 가상 객체들이 실제 객체들처럼 나타나고 거동할 때, 가상 객체들이 환경에 확실히 존재한다는 인상을 준다.
[0005] 컴퓨터 비전 및 객체 추적과 같은 고급 AR 기술들이 지각적으로 풍부하고 몰입적인 경험을 생성하는 데 사용될 수 있다. 컴퓨터 비전 알고리즘들은 디지털 이미지들 또는 비디오에서 캡처된 데이터로부터 물리적 세계에 관한 3차원 데이터를 추출한다. 객체 추적 알고리즘들은 디지털 이미지 또는 비디오에서 객체를 검출하고 그의 움직임을 추적하는 데 사용될 수 있다.
[0006] 설명되는 다양한 예들의 특징들은 도면들에 대한 참조가 이루어지는 다음의 상세한 설명으로부터 용이하게 이해될 것이다. 설명에서 그리고 도면 중 여러 도들에 걸쳐 각각의 엘리먼트와 함께 참조 번호가 사용된다. 복수의 유사한 엘리먼트들이 존재할 때, 동일한 엘리먼트들에 단일 참조 번호가 할당될 수 있으며, 부가된 소문자가 특정 엘리먼트를 지칭한다.
[0007] 도면들에 도시된 다양한 엘리먼트들은 달리 표시되지 않는 한 실척대로 도시되지는 않았다. 다양한 엘리먼트들의 치수들은 명확성을 위해 확대 또는 축소될 수 있다. 몇몇 도면들은 하나 이상의 구현들을 도시하고 단지 예로서 제시되며, 제한적인 것으로 해석되지 않아야 한다. 도면에는 다음의 도들이 포함된다:
[0008] 도 1a는 증강 현실 생성 시스템에서 사용하기에 적합한 안경류 디바이스의 예시적인 하드웨어 구성의 측면도(우측)이다.
[0009] 도 1b는 우측 가시광 카메라 및 회로 보드를 묘사하는, 도 1a의 안경류 디바이스의 우측 코너(corner)의 부분적인 단면 사시도이다.
[0010] 도 1c는 좌측 가시광 카메라를 도시하는, 도 1a의 안경류 디바이스의 예시적인 하드웨어 구성의 측면도(좌측)이다.
[0011] 도 1d는 회로 보드 및 좌측 가시광 카메라를 묘사하는, 도 1c의 안경류 디바이스의 좌측 코너의 부분적인 사시 단면도이다.
[0012] 도 2a 및 도 2b는 증강 현실 생성 시스템에서 이용되는 안경류 디바이스의 예시적인 하드웨어 구성들의 배면도들이다.
[0013] 도 3은 3차원 장면, 좌측 가시광 카메라에 의해 캡처된 좌측 원시 이미지, 및 우측 가시광 카메라에 의해 캡처된 우측 원시 이미지의 개략적인 묘사이다.
[0014] 도 4는 다양한 네트워크들을 통해 연결된 웨어러블 디바이스(예컨대, 안경류 디바이스) 및 서버 시스템을 포함하는 예시적인 증강 현실 생성 시스템의 기능 블록도이다.
[0015] 도 5는 도 4의 증강 현실 생성 시스템의 모바일 디바이스에 대한 예시적인 하드웨어 구성의 개략적인 표현이다.
[0016] 도 6은 동시 로컬화(localization) 및 매핑(mapping)을 설명하는 데 사용하기 위한 예시적인 환경에서의 사용자의 개략적인 예시이다.
[0017] 도 7은 물리적 환경에서 가상 객체들을 디스플레이하는 예시적인 방법의 단계들을 열거하는 흐름도이다.
[0018] 도 8a, 도 8b, 도 8c, 도 8d, 도 8e 및 도 8f는 가상 환경 향상을 위한 예시적인 단계들을 포함하는 흐름도들이다.
[0019] 도 9a, 도 9b, 도 9c, 도 9d, 도 9e 및 도 9f는 가상 환경 향상의 사시도 예시들이다.
[0020] 이미지 캡처 시스템, 포지션(position) 검출 시스템 및 디스플레이 시스템을 포함하는 안경류 디바이스에 가상 환경 향상을 제공하기 위한 시스템을 포함하는 예들을 참조하여 다양한 구현들 및 세부사항들이 설명된다. 안경류 디바이스는 특징 포인트들(즉, 위치 추적 포인트들)을 노출시키고 그러한 포인트들에 포지셔닝되는 그래픽들(예컨대, 꽃들)을 사용자에게 보여줌으로써 환경을 증강시킨다. 그래픽들이 환경의 위치 추적 포인트들에 연결되기 때문에, 그래픽들은 (공간에서 떠있는 것과 대조적으로) 실세계에 연결된다.
[0021] 이어지는 상세한 설명은 본 개시내용에 제시되는 예들을 예시하는 시스템들, 방법들, 기법들, 명령 시퀀스들 및 컴퓨팅 기계 프로그램 제품들을 포함한다. 개시된 청구 대상 및 그 관련 교시들의 철저한 이해를 제공할 목적으로 다수의 세부사항들 및 예들이 포함된다. 그러나 당해 기술분야에서 통상의 지식을 가진 자들은 그러한 세부사항들 없이 관련 교시들을 적용하는 방법을 이해할 수 있다. 개시된 청구 대상의 양상들은 설명되는 특정 디바이스들, 시스템들 및 방법으로 제한되지 않는데, 그 이유는 관련 교시들이 다양한 방식들로 적용되거나 실시될 수 있기 때문이다. 본 명세서에서 사용되는 용어 및 명명법은 특정 양상들만을 설명하기 위한 것이며, 한정으로 의도되는 것은 아니다. 일반적으로, 잘 알려진 명령 인스턴스들, 프로토콜들, 구조들 및 기법들은 반드시 상세히 도시되는 것은 아니다.
[0022] 본 명세서에서 사용되는 바와 같은 "결합된" 또는 "연결된"이라는 용어들은 하나의 시스템 엘리먼트에 의해 생성되거나 공급되는 전기 또는 자기 신호들이 다른 결합된 또는 연결된 시스템 엘리먼트에 제공되게 하는 링크 등을 포함하여, 임의의 논리적, 광학적, 물리적 또는 전기적 연결을 지칭한다. 달리 설명되지 않는 한, 결합되거나 연결된 엘리먼트들 또는 디바이스들은 반드시 서로 직접 연결되는 것은 아니며, 중간 컴포넌트들, 엘리먼트들 또는 통신 매체들에 의해 분리될 수 있고, 이들 중 하나 이상은 전기 신호들을 수정, 조작 또는 전달할 수 있다. "~ 상에(on)"라는 용어는 엘리먼트에 의해 직접적으로 지지되거나, 또는 엘리먼트에 통합되거나 엘리먼트에 의해 지지되는 다른 엘리먼트를 통해 엘리먼트에 의해 간접적으로 지지되는 것을 의미한다.
[0023] "근위(proximal)"라는 용어는 물체 또는 사람 근처에, 인접하게 또는 옆에 놓이는; 또는 "원위(distal)"로서 설명될 수 있는 아이템의 다른 부분들에 비해 더 근접한 아이템 또는 아이템의 일부를 설명하는 데 사용된다. 예컨대, 물체에 가장 가까운 아이템의 단부는 근위 단부로 지칭될 수 있는 반면, 일반적으로 대향하는 단부는 원위 단부로 지칭될 수 있다.
[0024] 도면들 중 임의의 도면에 도시된 바와 같이, 안경류 디바이스, 다른 모바일 디바이스들, 연관된 컴포넌트들, 및 카메라, 관성 측정 유닛, 또는 이 둘 모두를 통합하는 임의의 다른 디바이스들의 배향들은 예시 및 논의 목적들을 위해 단지 예로서 주어진다. 동작 시에, 안경류 디바이스는 안경류 디바이스의 특정 애플리케이션에 적합한 임의의 다른 방향으로; 예컨대, 위, 아래, 옆으로, 또는 임의의 다른 배향으로 배향될 수 있다. 또한, 본 명세서에서 사용되는 범위까지, 전방, 후방, 내측, 외측, ~을 향해, 좌측, 우측, 측 방향, 세로, 위, 아래, 상부, 하부, 최상부, 최하부, 측면, 수평, 수직 및 대각과 같은 임의의 방향 용어는 단지 예로서만 사용되고, 구성되는 바와 같이 또는 본 명세서에서 달리 설명되는 바와 같이 임의의 카메라 또는 관성 측정 유닛의 방향 또는 배향에 대해 제한적이지 않다.
[0025] 예들의 추가적인 목적들, 이점들 및 신규한 특징들은 다음의 설명에서 부분적으로 제시될 것이고, 부분적으로는 다음의 첨부 도면들을 검토할 때 본 기술분야의 기술자들에게 명백하어지거나 예들의 생성 또는 동작에 의해 학습될 수 있다. 본 청구 대상의 목적들 및 이점들은 첨부된 청구항들에서 특별히 지적된 방법들, 수단들 및 조합들에 의해 실현되고 달성될 수 있다.
[0026] 이제 첨부 도면들에 예시되고 아래에 논의되는 예들이 상세히 참조된다.
[0027] 도 1a는 터치-감응 입력 디바이스 또는 터치 패드(181)를 포함하는 안경류 디바이스(100)의 예시적인 하드웨어 구성의 측면도(우측)이다. 도시된 바와 같이, 터치 패드(181)는 미묘하고 쉽게 보이지 않는 경계를 가질 수 있으며; 대안적으로, 경계는 명백하게 보이거나, 또는 터치 패드(181)의 위치 및 경계에 관한 피드백을 사용자에게 제공하는 융기된 또는 달리 촉각적인 에지를 포함할 수 있다. 다른 구현들에서, 안경류 디바이스(100)는 좌측에 터치 패드를 포함할 수 있다.
[0028] 터치 패드(181)의 표면은, 사용자가 직관적인 방식으로 메뉴 옵션들을 탐색하고 선택할 수 있게 하기 위해, 이미지 디스플레이 상에 안경류 디바이스에 의해 디스플레이되는 GUI와 함께 사용할 손가락 터치들, 탭(tap)들 및 제스처(gesture)들(예컨대, 움직이는 터치들)을 검출하도록 구성되며, 이는 사용자 경험을 향상시키고 단순화한다.
[0029] 터치 패드(181) 상의 손가락 입력들의 검출은 여러 기능들을 가능하게 할 수 있다. 예컨대, 터치 패드(181) 상의 임의의 위치를 터치하는 것은, 광학 어셈블리들(180A, 180B) 중 적어도 하나에 투사될 수 있는 이미지 디스플레이 상의 아이템을 GU가 디스플레이하거나 강조하게 할 수 있다. 터치 패드(181) 상에서의 더블 탭은 아이템 또는 아이콘을 선택할 수 있다. 특정 방향으로(예컨대, 앞에서 뒤로, 뒤에서 앞으로, 위에서 아래로, 또는 아래에서 위로) 손가락을 슬라이딩 또는 스와이프(swipe)하는 것은 아이템들 또는 아이콘들이 특정 방향으로 슬라이딩 또는 스크롤되게 할 수 있는데; 예컨대, 다음 아이템, 아이콘, 비디오, 이미지, 페이지 또는 슬라이드로 이동하게 할 수 있다. 손가락을 다른 방향으로 슬라이딩하는 것은 반대 방향으로; 예컨대 이전 아이템, 아이콘, 비디오, 이미지, 페이지 또는 슬라이드로 이동하도록 슬라이딩 또는 스크롤할 수 있다. 터치 패드(181)는 안경류 디바이스(100) 상에서 사실상 임의의 곳에 있을 수 있다.
[0030] 일 예에서, 터치 패드(181) 상의 단일 탭의 식별된 손가락 제스처는 광학 어셈블리(180A, 180B)의 이미지 디스플레이 상에 제공된 이미지에서 그래픽 사용자 인터페이스 엘리먼트의 선택 또는 누름을 개시한다. 식별된 손가락 제스처에 기반하여 광학 어셈블리(180A, 180B)의 이미지 디스플레이 상에 제시된 이미지에 대한 조정은 추가 디스플레이 또는 실행을 위해 광학 어셈블리(180A, 180B)의 이미지 디스플레이 상에서 그래픽 사용자 인터페이스 엘리먼트를 선택하거나 제출하는 1차 액션일 수 있다.
[0031] 도시된 바와 같이, 안경류 디바이스(100)는 우측 가시광 카메라(114B)를 포함한다. 본 명세서에서 추가로 설명되는 바와 같이, 2 개의 카메라들(114A, 114B)은 2 개의 별개의 관점들로부터 장면에 대한 이미지 정보를 캡처한다. 2 개의 캡처된 이미지들은 3D 안경으로 보기 위해 이미지 디스플레이 상에 3차원 디스플레이를 투사하는 데 사용될 수 있다.
[0032] 안경류 디바이스(100)는 깊이 이미지들과 같은 이미지들을 제공하기 위한 이미지 디스플레이를 갖는 우측 광학 어셈블리(180B)를 포함한다. 도 1a 및 도 1b에 도시된 바와 같이, 안경류 디바이스(100)는 우측 가시광 카메라(114B)를 포함한다. 안경류 디바이스(100)는 수동 타입의 3차원 카메라, 이를테면 스테레오 카메라를 형성하는 다수의 가시광 카메라들(114A, 114B)을 포함할 수 있으며, 이러한 카메라들 중 우측 가시광 카메라(114B)는 우측 코너(110B) 상에 위치된다. 도 1c - 도 1d에 도시된 바와 같이, 안경류 디바이스(100)는 또한 좌측 가시광 카메라(114A)를 포함한다.
[0033] 좌측 및 우측 가시광 카메라들(114A, 114B)은 가시광 범위 파장에 민감하다. 가시광 카메라들(114A, 114B) 각각은 3차원 깊이 이미지들의 생성을 가능하게 하기 위해 중첩되는 상이한 전방 시야를 가지며, 예컨대 우측 가시광 카메라(114B)는 우측 시야(111B)를 묘사한다. 일반적으로, "시야"는 공간 내의 특정 포지션 및 배향에서 카메라를 통해 보이는 장면의 일부이다. 시야들(111A, 111B)은 중첩하는 시야(304)를 갖는다(도 3). 가시광 카메라가 이미지를 캡처할 때 시야(111A, 111B) 외부의 객체들 또는 객체 특징들은 원시 이미지(예컨대, 사진 또는 그림)에 레코딩되지 않는다. 시야는 가시광 카메라(114A, 114B)의 이미지 센서가 주어진 장면의 캡처된 이미지에서 주어진 장면의 전자기 방사선을 픽업하는 각도 범위 또는 규모를 설명한다. 시야는 뷰(view) 원뿔의 각도 크기; 즉, 시야각으로서 표현될 수 있다. 시야각은 수평으로, 수직으로 또는 대각선으로 측정될 수 있다.
[0034] 일 예에서, 가시광 카메라들(114A, 114B)은 30° 내지 110°, 예컨대 108°의 시야각을 갖는 시야를 가지며, 480 × 480 픽셀 이상의 해상도를 갖는다. "커버리지 각도"는 가시광 카메라들(114A, 114B) 또는 적외선 카메라(410)(도 4 참조)의 렌즈가 효과적으로 이미징할 수 있는 각도 범위를 설명한다. 통상적으로, 카메라 렌즈는 가능하게는, 소정의 비네팅(vignetting)(예컨대, 중심과 비교할 때 에지들을 향한 이미지의 어두움)을 포함하여, 카메라의 필름 또는 센서를 완전히 커버할 정도로 충분히 큰 이미지 원을 생성한다. 카메라 렌즈의 커버리지 각도가 센서를 채우지 않는다면, 이미지 원은 통상적으로 에지를 향하는 강한 비네팅과 함께 보일 것이며, 유효 시야각은 커버리지 각도로 제한될 것이다.
[0035] 그러한 가시광 카메라들(114A, 114B)의 예들은 640p(예컨대, 총 0.3 메가픽셀에 대해 640 × 480 픽셀들), 720p 또는 1080p의 해상도들이 가능한 고해상도 CMOS(complementary metal-oxide-semiconductor) 이미지 센서 및 디지털 VGA 카메라(비디오 그래픽 어레이)를 포함한다. 가시광 카메라들(114A, 114B)의 다른 예들은 HD(high-definition) 정지 이미지들을 캡처하고 이들을 1642 x 1642 픽셀(또는 그 초과)의 해상도로 저장할 수 있거나; 또는 높은 프레임 레이트(예컨대, 초당 30 개 내지 60 개 이상의 프레임들)로 고선명 비디오를 레코딩하고, 1216 x 1216 픽셀(또는 그 초과)의 해상도로 레코딩을 저장한다.
[0036] 안경류 디바이스(100)는 메모리에 저장하기 위해 이미지 프로세서에 의해 디지털화된 지오로케이션(geolocation) 데이터와 함께 가시광 카메라들(114A, 114B)로부터 이미지 센서 데이터를 캡처할 수 있다. 가시광 카메라들(114A, 114B)은 수평 포지션에 대한 X-축 및 수직 포지션에 대한 Y-축을 포함하는 2차원 좌표계 상의 픽셀들의 행렬을 포함하는 2차원 공간 도메인에서 개개의 좌측 및 우측 원시 이미지들을 캡처한다. 각각의 픽셀은 컬러 속성 값(예컨대, 적색 픽셀 광 값, 녹색 픽셀 광 값 또는 청색 픽셀 광 값)을 포함하고; 및 포지션 속성(예컨대, X-축 좌표 및 Y-축 좌표)을 포함한다.
[0037] 3차원 투사로서 추후의 디스플레이를 위해 스테레오 이미지들을 캡처하기 위해, 이미지 프로세서(412)(도 4에 도시됨)는 가시광 카메라들(114A, 114B)에 결합되어 시각적 이미지 정보를 수신 및 저장할 수 있다. 이미지 프로세서(412) 또는 다른 프로세서는 인간의 양안시(binocular vision)를 시뮬레이션하는 스테레오 카메라로서 동작하도록 가시광 카메라들(114A, 114B)의 동작을 제어하고, 각각의 이미지에 타임스탬프를 부가할 수 있다. 각각의 쌍의 이미지들 상의 타임스탬프는 3차원 투사의 일부로서 함께 이미지들의 디스플레이를 가능하게 한다. 3차원 투사들은 가상 현실(VR) 및 비디오 게임을 포함하는 다양한 상황들에서 바람직한 몰입형 실물과 같은 경험을 생성한다.
[0038] 도 1b는 카메라 시스템의 우측 가시광 카메라(114B) 및 회로 보드(140B)를 묘사하는, 도 1a의 안경류 디바이스(100)의 우측 코너(110B)의 사시 단면도이다. 도 1c는 카메라 시스템의 좌측 가시광 카메라(114A)를 도시하는, 도 1a의 안경류 디바이스(100)의 예시적인 하드웨어 구성의 측면도(좌측)이다. 도 1d는 3차원 카메라의 좌측 가시광 카메라(114A) 및 회로 보드(140A)를 묘사하는, 도 1c의 안경류 디바이스의 좌측 코너(110A)의 사시 단면도이다.
[0039] 좌측 가시광 카메라(114A)의 구성 및 배치는 좌측 측면(170A) 상에 연결부들 및 결합이 있다는 점을 제외하면, 우측 가시광 카메라(114B)와 실질적으로 유사하다. 도 1b의 예에 도시된 바와 같이, 안경류 디바이스(100)는 우측 가시광 카메라(114B) 및 회로 보드(140B)를 포함하며, 회로 보드(140B)는 가요성 PCB(printed circuit board)일 수 있다. 우측 힌지(126B)는 우측 코너(110B)를 안경류 디바이스(100)의 우측 안경다리(125B)에 연결한다. 유사하게, 좌측 힌지(126A)는 좌측 코너(110A)를 안경류 디바이스(100)의 좌측 안경다리(125A)에 연결한다. 일부 예들에서, 우측 가시광 카메라(114B), 가요성 PCB(140B), 또는 다른 전기 커넥터들 또는 접촉부들의 컴포넌트들은 우측 안경다리(125B) 또는 우측 힌지(126B) 상에 위치될 수 있다.
[0040] 우측 코너(110B)는 코너 바디(190) 및 코너 캡(cap)을 포함하며, 코너 캡은 도 1b의 단면에서 생략된다. 우측 코너(110B) 내부에는 우측 가시광 카메라(114B)를 위한 제어기 회로들, 마이크로폰(들), (예컨대, Bluetooth™를 통한 무선 단거리 네트워크 통신을 위한) 저전력 무선 회로, (예컨대, Wi-Fi 통한 무선 근거리 네트워크 통신을 위한) 고속 무선 회로를 포함하는 다양한 상호 연결된 회로 보드들, 이를테면 PCB들 또는 가요성 PCB들이 배치된다.
[0041] 우측 가시광 카메라(114B)는 가요성 PCB(140B)에 결합되거나 그 위에 배치되고, 프레임(105)에 형성된 개구(들)를 통해 조준되는 가시광 카메라 커버 렌즈에 의해 커버된다. 예컨대, 도 2a에 도시된 프레임(105)의 우측 림(rim)(107B)은 우측 코너(110B)에 연결되고, 가시광 카메라 커버 렌즈를 위한 개구(들)를 포함한다. 프레임(105)은 사용자의 눈으로부터 바깥쪽을 향하도록 구성된 전면을 포함한다. 가시광 카메라 커버 렌즈를 위한 개구는 프레임(105)의 전방 또는 외향 면 상에 그리고 이를 관통하여 형성된다. 이 예에서, 우측 가시광 카메라(114B)는 안경류 디바이스(100)의 사용자의 오른쪽 눈과 상관되는 시선 또는 관점을 갖는 외향 시야(111B)(도 3에 도시됨)를 갖는다. 가시광 카메라 커버 렌즈는 또한, 외향 커버리지 각도를 갖지만 상이한 외측 방향으로 개구가 형성되는 우측 코너(110B)의 전면 또는 외향 표면에 부착될 수 있다. 결합은 또한 개재 컴포넌트들을 통해 간접적일 수 있다.
[0042] 도 1b에 도시된 바와 같이, 가요성 PCB(140B)는 우측 코너(110B) 내부에 배치되고, 우측 코너(110B)에 하우징된 하나 이상의 다른 컴포넌트들에 결합된다. 우측 코너(110B)의 회로 기판들 상에 형성되는 것으로 도시되지만, 우측 가시광 카메라(114B)는 좌측 코너(110A), 안경다리들(125A, 125B) 또는 프레임(105)의 회로 기판들 상에 형성될 수 있다.
[0043] 도 2a 및 도 2b는 2 개의 상이한 타입들의 이미지 디스플레이들을 포함하는, 안경류 디바이스(100)의 예시적인 하드웨어 구성들의 후방으로부터의 사시도들이다. 안경류 디바이스(100)는 사용자에 의한 착용을 위해 구성된 형태로 크기가 정해지고 형상화되며; 예에서는 안경의 형태가 도시된다. 안경류 디바이스(100)는 다른 형태들을 취할 수 있고, 다른 타입들의 프레임워크들; 예컨대 헤드기어, 헤드셋 또는 헬멧을 통합할 수 있다.
[0044] 안경 예에서, 안경류 디바이스(100)는 사용자의 코에 의해 지지되도록 적응된 브리지(106)를 통해 우측 림(107B)에 연결된 좌측 림(107A)을 포함하는 프레임(105)을 포함한다. 좌측 및 우측 림들(107A, 107B)은 렌즈 및 디스플레이 디바이스와 같은 개개의 광학 엘리먼트(180A, 180B)를 유지하는 개개의 개구들(175A, 175B)을 포함한다. 본 명세서에서 사용되는 바와 같이, "렌즈"라는 용어는 광이 수렴/발산하게 하거나 수렴 또는 발산을 거의 또는 전혀 유발하지 않는 곡면 또는 평평한 표면들을 갖는 투명 또는 반투명 유리들 또는 플라스틱들을 포함하는 것으로 여겨진다.
[0045] 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)에 부착된 안경다리들(도시되지 않음)에 통합될 수 있다.
[0046] 일 예에서, 광학 어셈블리(180A, 180B)의 이미지 디스플레이는 통합 이미지 디스플레이를 포함한다. 도 2a에 도시된 바와 같이, 각각의 광학 어셈블리(180A, 180B)는 LCD(liquid crystal display), OLED(organic light-emitting diode) 디스플레이, 또는 임의의 다른 그러한 디스플레이와 같은 적절한 디스플레이 행렬(177)을 포함한다. 각각의 광학 어셈블리(180A, 180B)는 렌즈들, 광학 코팅들, 프리즘들, 미러들, 도파관들, 광학 스트립들 및 다른 광학 컴포넌트들을 임의의 조합으로 포함할 수 있는 광학 층 또는 층들(176)을 또한 포함한다. 광학 층들(176A, 176B, … 176N)(도 2a 및 본 명세서에서 176A-N으로 도시됨)은, 적합한 크기 및 구성을 갖고 디스플레이 행렬로부터 광을 수신하기 위한 제1 표면 및 사용자의 눈에 광을 방출하기 위한 제2 표면을 포함하는 프리즘을 포함할 수 있다. 광학 층들(176A-N)의 프리즘은 좌측 및 우측 림들(107A, 107B)에 형성된 각각의 개구(175A, 175B)의 전부 또는 적어도 일부 위로 연장하여, 사용자의 눈이 대응하는 좌측 및 우측 림들(107A, 107B)을 통해 보고 있을 때 사용자가 프리즘의 제2 표면을 볼 수 있게 한다. 광학 층들(176A-176N)의 프리즘의 제1 표면은 프레임(105)으로부터 위쪽으로 향하고, 디스플레이 행렬(177)은 프리즘 위에 놓여, 디스플레이 행렬(177)에 의해 방출된 광자들 및 광이 제1 표면에 충돌하게 된다. 프리즘은 광이 프리즘 내에서 굴절되고, 광학 층들(176A-N)의 프리즘의 제2 표면에 의해 사용자의 눈을 향해 지향되도록 크기가 정해지고 형상화된다. 이와 관련하여, 광학 층들(176A-N)의 프리즘의 제2 표면은 눈의 중심을 향해 광을 지향시키도록 볼록할 수 있다. 프리즘은 선택적으로, 디스플레이 행렬(177)에 의해 투사된 이미지를 확대하는 크기 및 형상을 가질 수 있고, 광은 제2 표면으로부터 보이는 이미지가 디스플레이 행렬(177)로부터 방출된 이미지보다 하나 이상의 차원에서 더 크도록 프리즘을 통해 이동한다.
[0047] 일 예에서, 광학 층들(176A-176N)은, 층을 불투명하게 만드는(렌즈를 폐쇄하거나 차단하는) 전압이 인가되지 않는 한 그리고 인가될 때까지 투명한(렌즈를 개방된 상태로 유지하는) LCD 층을 포함할 수 있다. 안경류 디바이스(100) 상의 이미지 프로세서(412)는 능동 셔터 시스템을 생성하기 위해 전압을 LCD 층에 인가하도록 프로그래밍을 실행하여, 안경류 디바이스(100)가 3차원 투사로서 디스플레이될 때 시각 콘텐츠를 보는 데 적합하게 할 수 있다. 전압 또는 다른 타입의 입력에 응답하는 다른 타입들의 반응성 층들을 포함하여, LCD 이외의 기술들이 활성 셔터 모드에 대해 사용될 수 있다.
[0048] 다른 예에서, 광학 어셈블리(180A, 180B)의 이미지 디스플레이 디바이스는 도 2b에 도시된 바와 같은 투사 이미지 디스플레이를 포함한다. 각각의 광학 어셈블리(180A, 180B)는 스캐닝 미러 또는 검류계(galvanometer)를 사용하는 3색 레이저 프로젝터인 레이저 프로젝터(150)를 포함한다. 동작 동안, 레이저 프로젝터(150)와 같은 광학 소스는 안경류 디바이스(100)의 안경다리들(125A, 125B) 중 하나 내에 또는 그 위에 배치된다. 이 예에서, 광학 어셈블리(180B)는, 각각의 광학 어셈블리(180A, 180B)의 렌즈의 폭을 가로질러 또는 렌즈의 전방 표면과 후방 표면 사이의 렌즈의 깊이를 가로질러 이격되는 하나 이상의 광학 스트립들(155A, 155B, … 155N)(도 2b에서는 155A-155N으로 도시됨)을 포함한다.
[0049] 레이저 프로젝터(150)에 의해 투사된 광자들이 각각의 광학 어셈블리(180A, 180B)의 렌즈를 가로질러 이동함에 따라, 광자들은 광학 스트립들(155A-N)을 만난다. 특정 광자가 특정 광학 스트립을 만날 때, 광자는 사용자의 눈을 향해 재지향되거나, 광자는 다음 광학 스트립으로 전달된다. 레이저 프로젝터(150)의 변조와 광학 스트립들의 변조의 조합은 광의 특정 광자들 또는 빔들을 제어할 수 있다. 일 예에서, 프로세서는 기계, 음향 또는 전자기 신호들을 개시함으로써 광학 스트립들(155A-N)을 제어한다. 2 개의 광학 어셈블리들(180A, 180B)을 갖는 것으로 도시되지만, 안경류 디바이스(100)는 단일 또는 3 개의 광학 어셈블리들과 같은 다른 배열들을 포함할 수 있거나, 각각의 광학 어셈블리(180A, 180B)는 안경류 디바이스(100)의 의도된 사용자 또는 응용에 따라 상이한 배열을 배열했을 수 있다.
[0050] 도 2a 및 도 2b에 추가로 도시된 바와 같이, 안경류 디바이스(100)는 프레임(105)의 좌측 측면(170A)에 인접한 좌측 코너(110A) 및 프레임(105)의 우측 측면(170B)에 인접한 우측 코너(110B)를 포함한다. 코너들(110A, 110B)은 (예시된 바와 같이) 개개의 측면들(170A, 170B) 상에서 프레임(105)에 통합되거나 개개의 측면들(170A, 170B) 상에서 프레임(105)에 부착된 개별 컴포넌트들로서 구현될 수 있다. 대안으로, 코너들(110A, 110B)은 프레임(105)에 부착된 안경다리들(125A, 125B)에 통합될 수 있다.
[0051] 다른 예에서, 도 2b에 도시된 안경류 디바이스(100)는 2 개의 투사기들, 즉 좌측 투사기(150A)(도시되지 않음) 및 우측 투사기(150B)(투사기(150)로서 도시됨)를 포함할 수 있다. 좌측 광학 어셈블리(180A)는 좌측 디스플레이 행렬(177A)(도시되지 않음) 또는 광학 스트립들(155'A, 155'B, … 155'N)(155'A 내지 155'N, 도시되지 않음)의 좌측 세트를 포함할 수 있으며, 이들은 좌측 투사기(150A)로부터의 광과 상호 작용하도록 구성된다. 유사하게, 우측 광학 어셈블리(180B)는 우측 디스플레이 행렬(177B)(도시되지 않음) 또는 광학 스트립들(155''A, 155''B, … 155''N)(155''A 내지 155''N, 도시되지 않음)의 우측 세트를 포함할 수 있으며, 이들은 우측 투사기(150B)로부터의 광과 상호 작용하도록 구성된다. 이 예에서, 안경류 디바이스(100)는 좌측 디스플레이 및 우측 디스플레이를 포함한다.
[0052] 도 3은 3차원 장면(306), 좌측 가시광 카메라(114A)에 의해 캡처된 좌측 원시 이미지(302A), 및 우측 가시광 카메라(114B)에 의해 캡처된 우측 원시 이미지(302B)의 개략적인 묘사이다. 좌측 시야(111A)는 도시된 바와 같이 우측 시야(111B)와 중첩할 수 있다. 중첩 시야(304)는 두 카메라들(114A, 114B) 모두에 의해 캡처된 이미지의 그 부분을 나타낸다. 시야를 언급할 때 '중첩'이라는 용어는 생성된 원시 이미지들 내의 픽셀들의 행렬이 30% 이상 중첩하는 것을 의미한다. '실질적으로 중첩하는'이라는 용어는 생성된 원시 이미지들 내의 ― 또는 장면의 적외선 이미지 내의 ― 픽셀들의 행렬이 50% 이상 중첩됨을 의미한다. 본 명세서에서 설명되는 바와 같이, 2 개의 원시 이미지들(302A, 302B)은 타임스탬프를 포함하도록 프로세싱될 수 있으며, 이는 이미지들이 3차원 투사의 일부로서 함께 디스플레이될 수 있게 한다.
[0053] 스테레오 이미지들의 캡처를 위해, 도 3에 예시된 바와 같이, 실제 장면(306)의 한 쌍의 원시 RGB(red, green, blue) 이미지들― 좌측 카메라(114A)에 의해 캡처된 좌측 원시 이미지(302A) 및 우측 카메라(114B)에 의해 캡처된 우측 원시 이미지(302B) ―이 주어진 시간 순간에 캡처된다. 한 쌍의 원시 이미지들(302A, 302B)이 (예컨대, 이미지 프로세서(412)에 의해) 프로세싱될 때, 깊이 이미지들이 생성된다. 생성된 깊이 이미지들은 안경류 디바이스의 광학 어셈블리(180A, 180B) 상에, 다른 디스플레이(예컨대, 모바일 디바이스(401) 상의 이미지 디스플레이(580)) 상에, 또는 스크린 상에 보일 수 있다.
[0054] 생성된 깊이 이미지들은 3차원 공간 도메인에 있고, 수평 포지션(예컨대, 길이)에 대한 X축, 수직 포지션(예컨대, 높이)에 대한 Y축, 및 깊이(예컨대, 거리)에 대한 Z축을 포함하는 3차원 위치 좌표계 상의 정점들의 행렬을 포함할 수 있다. 각각의 정점은 색상 속성(예컨대, 적색 픽셀 광 값, 녹색 픽셀 광 값 또는 청색 픽셀 광 값); 포지션 속성(예컨대, X 위치 좌표, Y 위치 좌표 및 Z 위치 좌표); 텍스처 속성; 반사율 속성; 또는 이들의 조합을 포함할 수 있다. 텍스처 속성은 깊이 이미지의 정점들의 구역에서의 색상 또는 강도들의 공간적 배열과 같은 깊이 이미지의 인지된 텍스처를 정량화한다.
[0055] 일 예에서, 대화형 증강 현실 시스템(400)(도 4)은 안경류 디바이스(100)를 포함하며, 이는 프레임(105) 및 프레임(105)의 좌측 측면(170A)으로부터 연장되는 좌측 안경다리(110A), 및 프레임(105)의 우측 측면(170B)으로부터 연장되는 우측 안경다리(125B)를 포함한다. 안경류 디바이스(100)는 중첩 시야들을 갖는 적어도 2 개의 가시광 카메라들(114A, 114B)을 더 포함할 수 있다. 일 예에서, 안경류 디바이스(100)는 도 3에 예시된 바와 같이 좌측 시야(111A)를 갖는 좌측 가시광 카메라(114A)를 포함한다. 좌측 카메라(114A)가 프레임(105) 또는 좌측 안경다리(110A)에 연결되어 장면(306)의 좌측으로부터 좌측 원시 이미지(302A)를 캡처한다. 안경류 디바이스(100)는 우측 시야(111B)를 갖는 우측 가시광 카메라(114B)를 더 포함한다. 우측 카메라(114B)는 프레임(105) 또는 우측 안경다리(125B)에 연결되어 장면(306)의 우측으로부터 우측 원시 이미지(302B)를 캡처한다.
[0056] 도 4는 인터넷과 같은 다양한 네트워크들(495)을 통해 연결된 웨어러블 디바이스(예컨대, 안경류 디바이스(100)), 모바일 디바이스(401) 및 서버 시스템(498)을 포함하는 예시적인 대화형 증강 현실 시스템(400)의 기능 블록도이다. 대화형 증강 현실 시스템(400)은 안경류 디바이스(100)와 모바일 디바이스(401) 사이의 저전력 무선 연결(425) 및 고속 무선 연결(437)을 포함한다.
[0057] 도 4에 도시된 바와 같이, 안경류 디바이스(100)는 본 명세서에서 설명되는 바와 같이, 정지 이미지들, 비디오 이미지들, 또는 정지 및 비디오 이미지들 모두를 캡처하는 하나 이상의 가시광 카메라들(114A, 114B)을 포함한다. 카메라들(114A, 114B)은 고속 회로(430)에 대한 DMA(direct memory access)를 가질 수 있고 스테레오 카메라로서 기능할 수 있다. 카메라들(114A, 114B)은 RGB(red, green, blue) 이미지화된 장면의 텍스처-매핑된 이미지들인 3차원(3D) 모델들로 렌더링될 수 있는 초기-깊이 이미지들을 캡처하는 데 사용될 수 있다. 디바이스(100)는 또한, 디바이스(100)에 대한 객체들의 포지션을 추정하기 위해 적외선 신호들을 사용하는 깊이 센서를 포함할 수 있다. 일부 예들에서, 깊이 센서는 하나 이상의 적외선 방출기(들)(415) 및 적외선 카메라(들)(410)를 포함한다.
[0058] 안경류 디바이스(100)는 각각의 광학 어셈블리(180A, 180B)의 2 개의 이미지 디스플레이들(하나는 좌측 면(170A)과 연관되고 하나는 우측 면(170B)과 연관됨)을 더 포함한다. 안경류 디바이스(100)는 또한 이미지 디스플레이 드라이버(442), 이미지 프로세서(412), 저전력 회로(420) 및 고속 회로(430)를 포함한다. 각각의 광학 어셈블리(180A, 180B)의 이미지 디스플레이들은 정지 이미지들, 비디오 이미지들, 또는 정지 및 비디오 이미지들을 포함하는 이미지들을 제시하기 위한 것이다. 이미지 디스플레이 드라이버(442)는 이미지들의 디스플레이를 제어하기 위해 각각의 광학 어셈블리(180A, 180B)의 이미지 디스플레이들에 결합된다.
[0059] 안경류 디바이스(100)는 부가적으로 하나 이상의 스피커들(440)(예컨대, 하나는 안경류 디바이스의 좌측과 연관되고 다른 하나는 안경류 디바이스의 우측과 연관됨)를 포함한다. 스피커들(440)은 안경류 디바이스(100)의 프레임(105), 안경다리들(125) 또는 코너들(110)에 통합될 수 있다. 하나 이상의 스피커들(440)은 저전력 회로(420), 고속 회로(430), 또는 이 둘 모두의 제어 하에서 오디오 프로세서(443)에 의해 구동된다. 스피커들(440)은 예컨대, 비트 트랙을 포함하는 오디오 신호들을 제시하기 위한 것이다. 오디오 프로세서(443)는 사운드의 제시를 제어하기 위해 스피커들(440)에 결합된다.
[0060] 안경류 디바이스(100)에 대한 도 4에 도시된 컴포넌트들은 림들 또는 안경다리들에 위치된 하나 이상의 회로 보드들, 예를 들어, PCB(printed circuit board) 또는 FPC(flexible printed circuit) 상에 위치된다. 대안으로 또는 추가로, 도시된 컴포넌트들은 안경류 디바이스(100)의 코너들, 프레임들, 힌지들 또는 브리지에 위치될 수 있다. 좌측 및 우측 가시광 카메라들(114A, 114B)은 CMOS(complementary metal-oxide-semiconductor) 이미지 센서, 전하 결합 디바이스, 렌즈, 또는 알려지지 않은 객체들을 갖는 장면들의 정지 이미지들 또는 비디오를 포함하는 데이터를 캡처하기 위해 사용될 수 있는 임의의 다른 개개의 가시 또는 광 캡처 엘리먼트들과 같은 디지털 카메라 엘리먼트들을 포함할 수 있다.
[0061] 도 4에 도시된 바와 같이, 고속 회로(430)는 고속 프로세서(432), 메모리(434) 및 고속 무선 회로(436)를 포함한다. 이 예에서, 이미지 디스플레이 드라이버(442)는 고속 회로(430)에 결합되고, 각각의 광학 어셈블리(180A, 180B)의 좌측 및 우측 이미지 디스플레이들을 구동하기 위해 고속 프로세서(432)에 의해 동작된다. 고속 프로세서(432)는 안경류 디바이스(100)에 필요한 임의의 일반 컴퓨팅 시스템의 고속 통신들 및 동작을 관리할 수 있는 임의의 프로세서일 수 있다. 고속 프로세서(432)는 고속 무선 회로(436)를 사용하는 WLAN(wireless local area network)에 대한 고속 무선 연결(437) 상의 고속 데이터 전송들을 관리하는 데 필요한 프로세싱 자원들을 포함한다.
[0062] 일부 예들에서, 고속 프로세서(432)는 안경류 디바이스(100)의 LINUX 운영 체제 또는 다른 그러한 운영 체제와 같은 운영 체제를 실행하고, 운영 체제는 실행을 위해 메모리(434)에 저장된다. 임의의 다른 책임들에 부가하여, 고속 프로세서(432)는 고속 무선 회로(436)와 함께 데이터 전송들을 관리하는 데 사용되는 안경류 디바이스(100)에 대한 소프트웨어 아키텍처를 실행한다. 일부 예들에서, 고속 무선 회로(436)는 본 명세서에서는 Wi-Fi로도 또한 지칭되는 IEEE(Institute of Electrical and Electronic Engineers) 802.11 통신 표준들을 구현하도록 구성된다. 다른 예들에서, 다른 고속 통신 표준들이 고속 무선 회로(436)에 의해 구현될 수 있다.
[0063] 저전력 회로(420)는 저전력 프로세서(422) 및 저전력 무선 회로(424)를 포함한다. 안경류 디바이스(100)의 저전력 무선 회로(424) 및 고속 무선 회로(436)는 단거리 트랜시버들(Bluetooth™ 또는 BLE(Bluetooth Low-Energy)) 및 무선 광대역, 근거리 또는 광역 네트워크 트랜시버들(예컨대, 셀룰러 또는 Wi-Fi)을 포함할 수 있다. 저전력 무선 연결(425) 및 고속 무선 연결(437)을 통해 통신하는 트랜시버들을 포함하는 모바일 디바이스(401)는 네트워크(495)의 다른 엘리먼트들과 같이 안경류 디바이스(100)의 아키텍처의 세부사항들을 사용하여 구현될 수 있다.
[0064] 메모리(434)는 무엇보다도, 좌측 및 우측 가시광 카메라들(114A, 114B), 적외선 카메라(들)(410), 이미지 프로세서(412)에 의해 생성된 카메라 데이터, 및 각각의 광학 어셈블리(180A, 180B)의 이미지 디스플레이 상에 이미지 디스플레이 드라이버(442)에 의한 디스플레이를 위해 생성된 이미지들을 포함하는 다양한 데이터 및 애플리케이션들을 저장할 수 있는 임의의 저장 디바이스를 포함한다. 메모리(434)가 고속 회로(430)와 통합된 것으로 도시되어 있지만, 다른 예들에서 메모리(434)는 안경류 디바이스(100)의 독립적인 독립형 엘리먼트일 수 있다. 이러한 특정 예들에서, 전기 라우팅 라인들은 고속 프로세서(432)를 포함하는 칩을 통해 이미지 프로세서(412) 또는 저전력 프로세서(422)로부터 메모리(434)로의 연결을 제공할 수 있다. 다른 예들에서, 고속 프로세서(432)는 메모리(434)의 어드레싱을 관리할 수 있어, 저전력 프로세서(422)는 메모리(434)를 수반하는 판독 또는 기록 동작이 필요한 임의의 시간에 고속 프로세서(432)를 부팅할 것이다.
[0065] 도 4에 도시된 바와 같이, 안경류 디바이스(100)의 고속 프로세서(432)는 카메라 시스템(가시광 카메라들(114A, 114B)), 이미지 디스플레이 드라이버(442), 사용자 입력 디바이스(491) 및 메모리(434)에 결합될 수 있다. 도 5에 도시된 바와 같이, 모바일 디바이스(401)의 CPU(540)는 카메라 시스템(570), 모바일 디스플레이 드라이버(582), 사용자 입력 계층(591) 및 메모리(540A)에 결합될 수 있다.
[0066] 서버 시스템(498)은 예컨대, 프로세서, 메모리 및 네트워크(495)를 통해 안경류 디바이스(100) 및 모바일 디바이스(401)와 통신하기 위한 네트워크 통신 인터페이스를 포함하는 서비스 또는 네트워크 컴퓨팅 시스템의 일부인 하나 이상의 컴퓨팅 디바이스일 수 있다.
[0067] 안경류 디바이스(100)의 출력 컴포넌트들은 도 2a 및 도 2b에서 설명되는 바와 같이 각각의 렌즈 또는 광학 어셈블리(180A, 180B)와 연관된 좌측 및 우측 이미지 디스플레이들(예컨대, LCD(liquid crystal display), PDP(plasma display panel), LED(light emitting diode) 디스플레이, 프로젝터 또는 도파관과 같은 디스플레이)과 같은 시각적 엘리먼트들을 포함한다. 안경류 디바이스(100)는 사용자-대면 표시 자(예컨대, LED, 라우드스피커 또는 진동 액추에이터) 또는 외향 신호(예컨대, LED, 라우드스피커)를 포함할 수 있다. 각각의 광학 어셈블리(180A, 180B)의 이미지 디스플레이들은 이미지 디스플레이 드라이버(442)에 의해 구동된다. 일부 예시적인 구성들에서, 안경류 디바이스(100)의 출력 컴포넌트들은 부가적인 표시자들, 이를테면 가청 엘리먼트들(예컨대, 라우드스피커들), 촉각 컴포넌트들(예컨대, 햅틱 피드백을 생성하기 위한 진동 모터와 같은 액추에이터), 및 다른 신호 생성기들을 더 포함한다. 예컨대, 디바이스(100)는 표시자들의 사용자-대면 세트 및 신호들의 외향 세트를 포함할 수 있다. 표시자들의 사용자-대면 세트는 디바이스(100)의 사용자에 의해 보이거나 그렇지 않으면 감지되도록 구성된다. 예컨대, 디바이스(100)는, 사용자가 그것을 볼 수 있도록 포지셔닝된 LED 디스플레이, 사용자가 들을 수 있는 사운드를 생성하도록 포지셔닝된 하나 이상의 스피커들, 또는 사용자가 느낄 수 있는 햅틱 피드백을 제공하기 위한 액추에이터를 포함할 수 있다. 신호들의 외향 세트는 디바이스(100) 근처의 관찰자에 의해 보이거나 그렇지 않으면 감지되도록 구성된다. 유사하게, 디바이스(100)는 관찰자에 의해 감지되도록 구성 및 포지셔닝되는 LED, 라우드스피커 또는 액추에이터를 포함할 수 있다.
[0068] 안경류 디바이스(100)의 입력 컴포넌트들은 영숫자 입력 컴포넌트들(예컨대, 영숫자 입력, 포토-광학 키보드(photo-optical keyboard) 또는 다른 영숫자-구성 엘리먼트들을 수신하도록 구성된 터치 스크린 또는 터치 패드), 포인터-기반 입력 컴포넌트들(예컨대, 마우스, 터치 패드, 트랙볼, 조이스틱, 모션 센서, 또는 다른 포인팅 기기들), 촉각 입력 컴포넌트들(예컨대, 터치들 또는 터치 제스처들, 또는 다른 촉각-구성 엘리먼트들의 위치, 힘 또는 위치 및 힘을 감지하는 버튼 스위치, 터치 스크린 또는 터치 패드) 및 오디오 입력 컴포넌트들(예컨대, 마이크로폰) 등을 포함할 수 있다. 모바일 디바이스(401) 및 서버 시스템(498)은 영숫자, 포인터-기반, 촉각, 오디오 및 다른 입력 컴포넌트들을 포함할 수 있다.
[0069] 일부 예들에서, 안경류 디바이스(100)는 관성 측정 유닛(472)으로 지칭되는 모션-감지 컴포넌트들의 집합을 포함한다. 모션-감지 컴포넌트들은, 종종 마이크로 칩의 일부가 되기에 충분히 작은 미세한 이동 부품들을 갖는 MEMS(micro-electro-mechanical systems)들일 수 있다. 일부 예시적인 구성들의 IMU(inertial measurement unit)(472)는 가속도계, 자이로스코프 및 자력계를 포함한다. 가속도계는 3 개의 직교 축들(x, y, z)에 대한 디바이스(100)의 선형 가속도(중력으로 인한 가속도를 포함함)를 감지한다. 자이로스코프는 3 개의 회전 축들(피치, 롤, 요)에 대한 디바이스(100)의 각속도를 감지한다. 가속도계 및 자이로스코프는 함께, 6 개의 축들(x, y, z, 피치, 롤, 요)에 대한 디바이스에 관한 포지션, 배향 및 모션 데이터를 제공할 수 있다. 자력계는 존재한다면, 자북에 대한 디바이스(100)의 진로를 감지한다. 디바이스(100)의 포지션은 GPS 유닛(473)과 같은 위치 센서들, 상대 포지션 좌표들을 생성하기 위한 하나 이상의 트랜시버들, 고도 센서들 또는 기압계들, 및 다른 배향 센서들에 의해 결정될 수 있다. 이러한 포지셔닝 시스템 좌표들은 또한, 무선 연결들(425, 437)을 통해 저전력 무선 회로(424) 또는 고속 무선 회로(436)를 거쳐 모바일 디바이스(401)로부터 수신될 수 있다.
[0070] IMU(472)는 컴포넌트들로부터 원시 데이터를 수집하고 디바이스(100)의 포지션, 배향 및 모션에 관한 다수의 유용한 값들을 컴퓨팅하는 프로그래밍 또는 디지털 모션 프로세서를 포함하거나 그와 협력할 수 있다. 예컨대, 가속도계로부터 수집된 가속도 데이터는 각각의 축(x, y, z)에 대한 속도를 획득하기 위해 통합될 수 있고; (선형 좌표들, x, y 및 z로) 디바이스(100)의 포지션을 획득하기 위해 다시 통합될 수 있다. 자이로스코프로부터의 각속도 데이터는 (구면 좌표들에서) 디바이스(100)의 포지션을 획득하기 위해 통합될 수 있다. 이러한 유용한 값들을 컴퓨팅하기 위한 프로그래밍은 메모리(434)에 저장되고 안경류 디바이스(100)의 고속 프로세서(432)에 의해 실행될 수 있다.
[0071] 안경류 디바이스(100)는 선택적으로, 추가 주변 센서들, 이를테면 생체 인식 센서들, 특수 센서들, 또는 안경류 디바이스(100)와 통합된 디스플레이 엘리먼트들을 포함할 수 있다. 예컨대, 주변 디바이스 엘리먼트들은 출력 컴포넌트들, 모션 컴포넌트들, 위치 컴포넌트들, 또는 본 명세서에서 설명되는 임의의 다른 그러한 엘리먼트들을 포함하는 임의의 I/O 컴포넌트들을 포함할 수 있다. 예컨대, 생체 인식 센서들은 표현들(예컨대, 손 표현들, 얼굴 표현들, 음성 표현들, 신체 제스처들 또는 눈 추적)을 검출하고, 생체 신호들(예컨대, 혈압, 심박수, 체온, 땀 또는 뇌파들)을 측정하고, 또는 사람을 식별(예컨대, 음성, 망막, 얼굴 특징들, 지문들, 또는 뇌전도 데이터와 같은 전기 생체 신호들에 기반한 식별)하는 등을 위한 컴포넌트들을 포함할 수 있다.
[0072] 모바일 디바이스(401)는 스마트폰, 태블릿, 랩톱 컴퓨터, 액세스 포인트, 또는 저전력 무선 연결(425) 및 고속 무선 연결(437) 둘 다를 사용하여 안경류 디바이스(100)와 연결할 수 있는 임의의 다른 그러한 디바이스일 수 있다. 모바일 디바이스(401)는 서버 시스템(498) 및 네트워크(495)에 연결된다. 네트워크(495)는 유선 및 무선 연결들의 임의의 조합을 포함할 수 있다.
[0073] 도 4에 도시된 바와 같은 대화형 증강 현실 시스템(400)은 네트워크를 통해 안경류 디바이스(100)에 결합된 컴퓨팅 디바이스, 이를테면 모바일 디바이스(401)를 포함한다. 대화형 증강 현실 시스템(400)은 명령들을 저장하기 위한 메모리 및 명령들을 실행하기 위한 프로세서를 포함한다. 프로세서(432)에 의한 대화형 증강 현실 시스템(400)의 명령들의 실행은 모바일 디바이스(401)와 협력하도록 안경류 디바이스(100)를 구성한다. 대화형 증강 현실 시스템(400)은 안경류 디바이스(100)의 메모리(434) 또는 모바일 디바이스(401)(도 5)의 메모리 엘리먼트들(540A, 540B, 540C)을 이용할 수 있다. 또한, 대화형 증강 현실 시스템(400)은 안경류 디바이스(100)의 프로세서 엘리먼트들(432, 422) 또는 모바일 디바이스(401)(도 5)의 CPU(central processing unit)(540)를 이용할 수 있다. 부가하여, 대화형 증강 현실 시스템(400)은 서버 시스템(498)의 메모리 및 프로세서 엘리먼트들을 추가로 이용할 수 있다. 이 양상에서, 대화형 증강 현실 시스템(400)의 메모리 및 프로세싱 기능들은 안경류 디바이스(100), 모바일 디바이스(401) 및 서버 시스템(498)에 걸쳐 공유되거나 분산될 수 있다.
[0074] 메모리(434)는 곡 파일들(482) 및 가상 객체들(484)을 포함한다. 곡 파일들(482)은 템포(예컨대, 비트 트랙) 및 선택적으로, 음표들 및 음표 값들의 시퀀스를 포함한다. 음표는 특정 피치 또는 다른 음악적 사운드를 표시하는 심벌이다. 음표 값은 템포에 대해 음표가 재생되는 지속 기간을 포함하고, 다른 음표들에 대한 음량, 강조, 조음(articulation) 및 프레이징(phrasing)과 같은 다른 품질들을 포함할 수 있다. 일부 구현들에서, 템포는 사용자 인터페이스와 함께 디폴트 값을 포함하며, 이를 통해 사용자는 곡의 재생 동안 사용하기 위한 특정 템포를 선택할 수 있다. 가상 객체들(484)은 카메라들(114)에 의해 캡처된 이미지들에서 객체들 또는 특징들을 식별하기 위한 이미지 데이터를 포함한다. 객체들은 환경 내에서 안경류 디바이스(100)를 로컬화하는 데 사용하기 위한 물리적 특징들, 이를테면 알려진 그림들 또는 물리적 마커(marker)들일 수 있다.
[0075] 메모리(434)는 부가적으로, 프로세서(432)에 의한 실행을 위해, 포지션 검출 유틸리티(460), 위치 등록 유틸리티(462), 로컬화 유틸리티(464), 객체들을 인식하기 위한 객체 인식 유틸리티(465), 가상 객체 렌더링 유틸리티(466), 물리 엔진(468), 및 예측 엔진(470)을 포함한다. 포지션 검출 유틸리티(460)는 예컨대, 로컬화 유틸리티(464)를 사용하여 환경 내의 포지션(위치 및 배향)을 결정하도록 프로세서(432)를 구성한다. 위치 등록 유틸리티(462)는 환경 내의 마커들 및 다른 특징들(예컨대, 특징 포인트들)의 위치를 등록하도록 프로세서(432)를 구성한다. 등록된 위치들은 환경 내의 알려진 위치를 갖는 미리 정의된 물리적 마커들의 위치들 또는 안경류 디바이스(100)가 동작하고 있는 환경에 대해 또는 안경류 자체에 대해 프로세서(432)에 의해 특정 위치에 할당된 위치들일 수 있다. 로컬화 유틸리티(464)는 안경류 디바이스(100)의 포지션, 안경류 디바이스에 의해 제공되는 가상 객체들, 또는 이들의 조합을 결정하는 데 사용하기 위한 로컬화 데이터를 획득하도록 프로세서(432)를 구성한다. 위치 데이터는 일련의 이미지들, IMU 유닛(472), GPS 유닛(473), 또는 이들의 조합으로부터 도출될 수 있다. 가상 객체 렌더링 유틸리티(466)는 이미지 디스플레이 드라이버(442) 및 이미지 프로세서(412)의 제어 하에 이미지 디스플레이(180)에 의한 디스플레이를 위해 가상 이미지들을 렌더링하도록 프로세서(432)를 구성한다. 물리 엔진(468)은 예컨대, 가상 객체들 사이에서, 중력 및 마찰과 같은 물리 법칙들을 가상 단어에 적용하도록 프로세서(432)를 구성한다. 예측 엔진(470)은 그의 현재 진로, IMU(472)와 같은 센서들로부터의 입력, 환경의 이미지들, 또는 이들의 조합에 기초하여 안경류 디바이스(100)와 같은 객체의 예상된 움직임을 예측하도록 프로세서(432)를 구성한다.
[0076] 도 5는 예시적인 모바일 디바이스(401)의 고레벨 기능 블록도이다. 모바일 디바이스(401)는 본 명세서에 설명된 기능들의 전부 또는 서브세트를 수행하기 위해 CPU(540)에 의해 실행될 프로그래밍을 저장하는 플래시 메모리(540A)를 포함한다.
[0077] 모바일 디바이스(401)는 적어도 2 개의 가시광 카메라들(중첩 시야를 갖는 제1 가시광 카메라 및 제2 가시광 카메라) 또는 적어도 하나의 가시광 카메라 및 실질적으로 중첩하는 시야들을 갖는 깊이 센서를 포함하는 카메라(570)를 포함할 수 있다. 플래시 메모리(540A)는 카메라(570)를 통해 생성되는 다수의 이미지들 또는 비디오를 더 포함할 수 있다.
[0078] 도시된 바와 같이, 모바일 디바이스(401)는 이미지 디스플레이(580), 이미지 디스플레이(580)를 제어하기 위한 모바일 디스플레이 드라이버(582), 및 디스플레이 제어기(584)를 포함한다. 도 5의 예에서, 이미지 디스플레이(580)는 이미지 디스플레이(580)에 의해 사용되는 스크린의 최상부 상에 계층화되거나 달리 통합되는 사용자 입력 계층(591)(예컨대, 터치 스크린)을 포함한다.
[0079] 사용될 수 있는 터치 스크린형 모바일 디바이스들의 예들은 스마트폰, PDA(personal digital assistant), 태블릿 컴퓨터, 랩톱 컴퓨터 또는 다른 휴대용 디바이스를 포함한다(그러나 이에 제한되지 않음). 그러나 터치 스크린형 디바이스들의 구조 및 동작은 예로서 제공되고; 본 명세서에 설명된 바와 같은 본 기술은 이에 제한되는 것으로 의도되지 않는다. 따라서, 이러한 논의의 목적들을 위해, 도 5는 (터치, 멀티-터치 또는 제스처 등에 의해, 손, 스타일러스 또는 다른 툴에 의해) 입력을 수신하기 위한 터치 스크린 입력 층(591)을 포함하는 사용자 인터페이스 및 콘텐츠를 디스플레이하기 위한 이미지 디스플레이(580)를 갖는 예시적인 모바일 디바이스(401)의 블록도 예시를 제공한다.
[0080] 도 5에 도시된 바와 같이, 모바일 디바이스(401)는 광역 무선 모바일 통신 네트워크를 통한 디지털 무선 통신들을 위한, WWAN XCVR들로서 도시된 적어도 하나의 디지털 트랜시버(XCVR)(510)를 포함한다. 모바일 디바이스(401)는 또한, 이를테면 NFC, VLC, DECT, ZigBee, Bluetooth™ 또는 Wi-Fi를 통한 단거리 네트워크 통신을 위한 단거리 XCVR(transceiver)들(520)과 같은 추가 디지털 또는 아날로그 트랜시버들을 포함한다. 예컨대, 단거리 XCVR들(520)은 IEEE 802.11 하의 Wi-Fi 표준들 중 하나와 같은 무선 근거리 네트워크들에서 구현되는 통신의 하나 이상의 표준 프로토콜과 호환되는 타입의 임의의 이용 가능한 양방향 WLAN(wireless local area network) 트랜시버의 형태를 취할 수 있다.
[0081] 모바일 디바이스(401)의 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해, 모바일 디바이스(401)는 GPS(global positioning system) 수신기를 포함할 수 있다. 대안으로서 또는 추가적으로, 모바일 디바이스(401)는 포지셔닝을 위한 로케이션 좌표들을 생성하기 위해 단거리 XCVR들(520) 및 WWAN XCVR들(510) 중 어느 하나 또는 둘 다를 이용할 수 있다. 예컨대, 셀룰러 네트워크, Wi-Fi 또는 Bluetooth™ 기반 포지셔닝 시스템들은, 특히 조합하여 사용될 때 매우 정확한 위치 좌표들을 생성할 수 있다. 이러한 위치 좌표들은 하나 이상의 네트워크 연결들을 통해 XCVR들(510, 520)을 거쳐 안경류 디바이스로 송신될 수 있다.
[0082] 트랜시버들(510, 520)(즉, 네트워크 통신 인터페이스)은 최신 모바일 네트워크들에 의해 이용되는 다양한 디지털 무선 통신 표준들 중 하나 이상을 따른다. WWAN 트랜시버들(510)의 예들은 예컨대 그리고 제한 없이, 3GPP 타입 2(또는 3GPP2) 및 때때로 "4G"로 지칭되는 LTE를 포함하는 CDMA(Code Division Multiple Access) 및 3GPP(3rd Generation Partnership Project) 네트워크 기술들에 따라 동작하도록 구성된 트랜시버들을 포함하지만, 이에 제한되지 않는다. 예컨대, 트랜시버들(510, 520)은 디지털화된 오디오 신호들, 정지 이미지 및 비디오 신호들, 웹 관련 입력들뿐만 아니라 디스플레이를 위한 웹 페이지 정보, 및 모바일 디바이스(401)로의/로부터의 다양한 타입들의 모바일 메시지 통신들을 포함하는 정보의 양방향 무선 통신을 제공한다.
[0083] 모바일 디바이스(401)는 도 5에서 CPU(540)로서 도시된 CPU(central processing unit)로서 기능하는 마이크로프로세서를 더 포함한다. 프로세서는 하나 이상의 프로세싱 기능들, 통상적으로 다양한 데이터 프로세싱 기능들을 수행하도록 구성되고 배열된 엘리먼트들을 갖는 회로이다. 개별 로직 컴포넌트들이 사용될 수 있지만, 예들은 프로그래밍 가능 CPU를 형성하는 컴포넌트들을 이용한다. 마이크로프로세서는 예컨대, CPU(540)의 기능들을 수행하기 위한 전자 엘리먼트들을 통합하는 하나 이상의 IC(integrated circuit) 칩들을 포함한다. CPU(540)는 예컨대, 모바일 디바이스들 및 다른 휴대용 전자 디바이스들에서 오늘날 흔히 사용되는, ARM 아키텍처를 사용하는 RISC(Reduced Instruction Set Computing)와 같은 임의의 공지된 또는 이용 가능한 마이크로프로세서 아키텍처에 기반할 수 있다. 물론, 스마트폰, 랩톱 컴퓨터 및 태블릿에서 CPU(540) 또는 프로세서 하드웨어를 형성하기 위해 프로세서 회로의 다른 배열이 사용될 수 있다.
[0084] CPU(540)는 예컨대, CPU(540)에 의해 실행 가능한 명령들 또는 프로그래밍에 따라 다양한 동작들을 수행하도록 모바일 디바이스(401)를 구성함으로써 모바일 디바이스(401)에 대한 프로그래밍 가능 호스트 제어기의 역할을 한다. 예컨대, 이러한 동작들은 모바일 디바이스의 다양한 일반 동작들은 물론, 모바일 디바이스 상의 애플리케이션들을 위한 프로그래밍과 관련된 동작들을 포함할 수 있다. 프로세서가 하드와이어드(hardwired) 로직을 사용하여 구성될 수 있지만, 모바일 디바이스들 내의 통상적인 프로세서들은 프로그래밍의 실행에 의해 구성되는 일반적인 프로세싱 회로들이다.
[0085] 모바일 디바이스(401)는 프로그래밍 및 데이터 저장하기 위한 메모리 또는 저장 시스템을 포함한다. 이 예에서, 메모리 시스템은 필요에 따라 플래시 메모리(540A), RAM(random access memory)(540B) 및 다른 메모리 컴포넌트들(540C)을 포함할 수 있다. RAM(540B)은 CPU(540)에 의해 처리되고 있는 명령들 및 데이터에 대한 단기 저장소로서, 예컨대 작업 데이터 프로세싱 메모리로서의 역할을 한다. 플래시 메모리(540A)는 통상적으로 더 장기의 저장소를 제공한다.
[0086] 그러므로 모바일 디바이스(401)의 예에서, 플래시 메모리(540A)는 CPU(540)에 의한 실행을 위한 프로그래밍 또는 명령들을 저장하는 데 사용된다. 디바이스의 타입에 따라, 모바일 디바이스(401)는 특정 애플리케이션들이 실행되게 하는 모바일 운영 체제를 저장하고 실행한다. 모바일 운영 체제들의 예들은 Google Android, Apple iOS(iPhone 또는 iPad 디바이스들), Windows Mobile, Amazon Fire OS, RIM BlackBerry OS 등을 포함한다.
[0087] 안경류 디바이스(100) 내의 프로세서(432)는 안경류 디바이스(100)를 둘러싸는 환경의 맵을 구성하고, 매핑된 환경 내의 안경류 디바이스의 위치를 결정하며, 매핑된 환경 내의 하나 이상의 객체들에 대한 안경류 디바이스의 상대적인 포지션을 결정한다. 일 예에서, 프로세서(432)는 맵을 구성하고, 하나 이상의 센서들로부터 수신된 데이터에 적용된 SLAM(simultaneous localization and mapping) 알고리즘을 사용하여 위치 및 포지션 정보를 결정한다. 증강 현실의 맥락에서, SLAM 알고리즘은 매핑된 환경 내에서 디바이스(또는 사용자)의 위치를 동시에 추적 및 업데이트하면서 환경의 맵을 구성 및 업데이트하는 데 사용된다. 수학적 해는 입자 필터들, 칼만(Kalman) 필터들, 확장 칼만 필터들, 및 공분산 교점과 같은 다양한 통계적 방법들을 사용하여 근사화될 수 있다.
[0088] 센서 데이터는 카메라들(114A, 114B) 중 하나 또는 둘 모두로부터 수신된 이미지들, 레이저 거리 측정기로부터 수신된 거리(들), GPS 유닛(473)으로부터 수신된 포지션 정보, 또는 이러한 센서 데이터 중, 또는 포지션 정보를 결정하는 데 유용한 데이터를 제공하는 IMU(572)와 같은 다른 센서들로부터의 2 개 이상의 센서 데이터의 조합을 포함한다.
[0089] 도 6은 자연 특징 추적(NFT; 예컨대, SLAM 알고리즘을 사용하는 추적 애플리케이션)에 유용한 엘리먼트들과 함께 예시적인 환경(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)는 이미지 디스플레이들(180)을 통한 증강 현실 뷰잉(viewing)을 위해 환경(600) 내에 (도 6에 도시된 키와 같은) 가상 객체(608)를 포지셔닝한다.
[0090] 도 7은 본 명세서에서 설명되는 증강 현실 애플리케이션들을 웨어러블 디바이스(예컨대, 안경류 디바이스) 상에서 구현하기 위한 방법을 묘사하는 흐름도(700)이다. 본 명세서에서 설명되는 바와 같이, 단계들은 안경류 디바이스(100)를 참조하여 설명되지만, 다른 타입들의 디바이스들에 대해, 설명되는 단계들의 다른 구현들이 본 명세서의 설명으로부터 당해 기술분야에서 통상의 지식을 가진 자에 의해 이해될 것이다. 부가적으로, 도 7 및 다른 도면들에 도시되고 본 명세서에서 설명되는 단계들 중 하나 이상은 생략되거나, 동시에 또는 연속적으로 수행되거나, 예시되고 설명된 것과 다른 순서로 수행되거나, 또는 추가 단계들과 함께 수행될 수 있는 것으로 고려된다.
[0091] 블록(702)에서, 안경류 디바이스(100)는 안경류 디바이스(100) 근처의 물리적 환경(600)의 하나 이상의 입력 이미지들을 캡처한다. 프로세서(432)는 가시광 카메라(들)(114)로부터 입력 이미지들을 계속해서 수신하고, 그러한 이미지들을 프로세싱을 위해 메모리(434)에 저장할 수 있다. 부가적으로, 안경류 디바이스(100)는 다른 센서들로부터의 정보(예컨대, GPS 유닛(473)으로부터의 위치 정보, IMU(472)로부터의 배향 정보, 또는 레이저 거리 센서로부터의 거리 정보)를 캡처할 수 있다.
[0092] 블록(704)에서, 안경류 디바이스(100)는 캡처된 이미지들 내의 객체들을 이미지들의 라이브러리에 저장된 객체들과 비교하여 매치를 식별한다. 일부 구현들에서, 프로세서(432)는 캡처된 이미지들을 메모리(434)에 저장한다. 알려진 객체들의 이미지들의 라이브러리는 가상 객체 데이터베이스(484)에 저장된다.
[0093] 일 예에서, 프로세서(432)는 미리 정의된 특정 객체(예컨대, 벽 위의 알려진 위치에 걸려 있는 특정 사진(604a), 다른 벽의 창문(604b), 또는 바닥에 포지셔닝된 금고(604c)와 같은 객체)를 식별하도록 프로그래밍된다. 다른 센서 데이터, 이를테면 GPS 데이터는 비교에 사용하기 위한 알려진 객체들의 수를 좁히기 위해 사용될 수 있다(예컨대, GPS 좌표들을 통해 식별된 공간과 연관된 이미지들만). 다른 예에서, 프로세서(432)는 미리 정의된 일반 객체들(이를테면, 공원 내의 하나 이상의 나무들)을 식별하도록 프로그래밍된다.
[0094] 블록(706)에서, 안경류 디바이스(100)는 객체(들)에 대한 자신의 포지션을 결정한다. 프로세서(432)는 캡처된 이미지들 내의 2 개 이상의 포인트들 사이의(예컨대, 하나의 객체들(604) 상의 2 개 이상의 위치 포인트들 사이 또는 2 개의 객체들(604) 각각 상의 위치 포인트(606) 사이의) 거리들을 식별된 객체들 내의 대응하는 포인트들 사이의 알려진 거리들과 비교하고 프로세싱함으로써 객체들에 대한 자신의 포지션을 결정할 수 있다. 식별된 객체들의 포인트들보다 더 큰 캡처된 이미지들의 포인트들 사이의 거리들은, 식별된 객체를 포함하는 이미지를 캡처한 이미저(imager)보다 안경류 디바이스(100)가 식별된 객체에 더 근접함을 표시한다. 다른 한편으로, 식별된 객체들의 포인트들보다 더 작은 캡처된 이미지들의 포인트들 사이의 거리들은, 식별된 객체를 포함하는 이미지를 캡처한 이미저보다 안경류 디바이스(100)가 식별된 객체에 더 멀리 있음을 표시한다. 상대적인 거리들을 프로세싱함으로써, 프로세서(432)는 객체(들)에 대한 포지션을 결정할 수 있다. 대안적으로 또는 부가적으로, 레이저 거리 센서 정보와 같은 다른 센서 정보가 객체(들)에 대한 포지션을 결정하는 데 사용될 수 있다.
[0095] 블록(708)에서, 안경류 디바이스(100)는 안경류 디바이스(100)를 둘러싸는 환경(600)의 맵을 구성하고, 환경 내에서 자신의 위치를 결정한다. 일 예에서, 식별된 객체(블록(704))가 미리 정의된 좌표계(x, y, z)를 갖는 경우, 안경류 디바이스(100)의 프로세서(432)는 그 미리 정의된 좌표계를 사용하여 맵을 구성하고, 식별된 객체들에 대해 결정된 포지션들(블록(706))에 기초하여 그 좌표계 내에서 자신의 포지션을 결정한다. 다른 예에서, 안경류 디바이스는 환경 내의 영구 또는 반영구적 객체들(604)(예컨대, 공원 내의 나무 또는 공원 벤치)의 이미지들을 사용하여 맵을 구성한다. 이 예에 따르면, 안경류 디바이스(100)는 환경에 대해 사용되는 좌표계(x', y', z')를 정의할 수 있다.
[0096] 블록(710)에서, 안경류 디바이스(100)는 환경 내의 안경류 디바이스(100)의 머리 포즈(롤, 피치 및 요)를 결정한다. 프로세서(432)는 하나 이상의 객체들(604) 상의 2 개 이상의 위치 포인트들(예컨대, 3 개의 위치 포인트들(606a, 606b, 606c))을 사용함으로써 또는 2 개 이상의 객체들(604) 상의 하나 이상의 위치 포인트들(606)을 사용함으로써 머리 포즈를 결정한다. 종래의 이미지 프로세싱 알고리즘들을 사용하여, 프로세서(432)는 캡처된 이미지들과 알려진 이미지들에 대한 위치 포인트들 사이에서 연장되는 라인들의 각도 및 길이를 비교함으로써 롤, 피치, 및 요를 결정한다.
[0097] 블록(712)에서, 안경류 디바이스(100)는 사용자에게 시각적 이미지들을 제공한다. 프로세서(432)는 이미지 프로세서(412) 및 이미지 디스플레이 드라이버(442)를 사용하여 이미지 디스플레이들(180) 상에서 사용자에게 이미지들을 제공한다. 프로세서는 환경(600) 내의 안경류 디바이스(100)의 위치에 응답하여 이미지 디스플레이들을 통해 시각적 이미지들을 현상하고 제시한다.
[0098] 블록(714)에서, 블록들(706-712)을 참조하여 위에서 설명된 단계들은 반복되어, 사용자가 환경(600)을 통해 이동할 때 안경류 디바이스(100)의 포지션 및 사용자(602)에 의해 보이는 것을 업데이트한다.
[0099] 도 6을 다시 참조하면, 이 예에서, 본 명세서에서 설명된 증강 현실 가상 환경 향상 애플리케이션들을 구현하는 방법은 물리적 객체들(예컨대, 그림(604a))과 연관된 가상 마커들(예컨대, 마커(610a))에 대한 등록된 위치들 및 가상 객체들(예컨대, 키(608))과 연관된 등록된 위치들을 포함한다. 일 예에서, 안경류 디바이스(100)는 물리적 객체들과 연관된 등록된 위치들을 사용하여 환경 내의 안경류 디바이스(100)의 포지션을 결정하고, 가상 객체들과 연관된 등록된 위치들을 사용하여, 안경류 디바이스(100)의 디스플레이 상의 등록된 위치들에서 환경(600) 내의 연관된 가상 객체(들)(608)를 제공하는 오버레이 이미지(overlay image)들을 생성한다. 예컨대, 위치들은 매핑된 환경에서 사용자들, 디바이스들 및 객체들(가상 및 물리적)의 위치를 추적 및 업데이트하는 데 사용하기 위해 환경에 등록된다. 위치들은 때때로 더 밝은 컬러의 벽에 장착된 비교적 어두운 객체(604a)와 같은 고 대비 물리적 객체에 등록되어, 위치를 검출하는 작업으로 카메라들 및 다른 센서들을 보조한다. 등록된 위치들은 사전 할당(즉, 사전 등록)될 수 있거나, 환경에 진입할 때 안경류 디바이스(100)에 의해 등록될 수 있다. 위치들은 또한, 매핑된 환경 내의 그러한 위치들에서 가상 이미지들을 제시하는 데 사용하기 위해 환경 내의 위치들에 등록된다.
[0100] 마커들은 정보로 인코딩되거나 그렇지 않으면 정보에 링크될 수 있다. 일 예에서, 마커는 포지션 정보, 물리적 코드(이를테면, 바코드 또는 QR 코드; 사용자가 볼 수 있거나 은닉됨), 또는 이들의 조합을 포함한다. 마커와 연관된 데이터의 세트가 안경류 디바이스(100)의 메모리(434)에 저장된다. 데이터의 세트는 마커(610a), 마커의 포지션(위치 및 배향), 하나 이상의 가상 객체들, 또는 이들의 조합에 관한 정보를 포함한다. 마커 포지션은 하나 이상의 마커 랜드마크(landmark)들(616a), 이를테면 도 6에 도시된 일반적으로 직사각형 마커(610a)의 코너에 대한 3차원 좌표들을 포함할 수 있다. 마커 위치는 실세계 지리적 좌표들, 마커 좌표계, 안경류 디바이스(100)의 포지션, 또는 다른 좌표계에 대해 표현될 수 있다. 마커(610a)와 연관된 하나 이상의 가상 객체들은 정지 이미지들, 비디오, 오디오, 촉각적 피드백, 실행 가능한 애플리케이션들, 대화형 사용자 인터페이스들 및 경험들, 및 그러한 자료의 조합들 또는 시퀀스들을 포함하는 다양한 자료 중 임의의 자료를 포함할 수 있다. 이러한 맥락에서, 마커(610a)가 만나거나 또는 할당된 마커와 연관될 때 메모리에 저장되고 리트리브될 수 있는 임의의 타입의 콘텐츠는 이러한 맥락에서 가상 객체로서 분류될 수 있다. 예컨대, 도 6에 도시된 키(608)는 마커 위치에서 2D 또는 3D의 정지 이미지로서 디스플레이되는 가상 객체이다.
[0101] 일 예에서, 마커(610a)는 물리적 객체(604a)(예컨대, 도 6에 도시된 프레임화된 작품) 근처에 위치되고 그와 연관되는 것으로 메모리에 등록될 수 있다. 다른 예에서, 마커는 안경류 디바이스(100)에 대한 특정 포지션인 것으로 메모리에 등록될 수 있다.
[0102] 등록된 위치들은 또한 정보에 링크된다. 일 예에서, 등록된 위치는 포지션 정보 및 마커와 연관된 다른 정보를 포함한다. 등록된 위치들에 대한 정보는 안경류 디바이스(100)의 메모리(434)에, 예컨대 룩업 테이블(look-up table)에 저장되는 등록된 위치와 연관된 데이터의 세트이다. 데이터의 세트는 (예컨대, 3차원 좌표들로 표현된) 위치, 배향, 속성들 또는 이들의 조합과 같은 정보를 포함한다. 등록된 위치는 실세계 지리적 좌표들, 마커 좌표계, 안경류 디바이스(100)의 포지션, 또는 다른 좌표계에 대해 표현될 수 있다.
[0103] 도 8a - 도 8f는 증강 현실 환경 향상 경험의 예시적인 방법의 단계들을 열거하는 흐름도들(800, 820, 830, 840, 850, 870)이다. 본 명세서에서 설명되는 바와 같이, 단계들은 안경류 디바이스(100)를 참조하여 설명되지만, 다른 타입들의 웨어러블 모바일 디바이스들에 대해, 설명되는 단계들의 다른 구현들이 본 명세서의 설명으로부터 당해 기술분야에서 통상의 지식을 가진 자에 의해 이해될 것이다. 부가적으로, 도 8a - 도 8f에 도시되고 본 명세서에서 설명되는 단계들 중 하나 이상은 생략되거나, 동시에 또는 연속적으로 수행되거나, 예시되고 설명된 것과 다른 순서로 수행되거나, 또는 추가 단계들과 함께 수행될 수 있는 것으로 고려된다.
[0104] 도 8a에서는, 블록(802)에서, 프로세서(432)가 환경의 이미지들을 캡처한다. 일 예에서, 이미지들은 안경류 디바이스(100)에 결합되는 또는 그 일부인 카메라(114A, 114B)에 의해 캡처된 비디오 데이터의 프레임들의 시퀀스들이다. 카메라(114A, 114B)는 일부 구현들에서, 고선명 정지 이미지들 및 고선명 비디오를 캡처할 수 있는 CMOS 이미지 센서를 갖춘 하나 이상의 고해상도 디지털 카메라들을 포함한다. 디지털 비디오의 각각의 프레임은 이미지 내의 복수의 픽셀들에 대한 깊이 정보를 포함한다. 이 양상에서, 카메라(114A, 114B)는 환경의 상세한 입력 이미지를 캡처함으로써 고선명 스캐너로서의 역할을 한다. 카메라(114A, 114B)는 일부 구현들에서, 안경류 디바이스(100)에 결합되고 좌측 카메라 원시 이미지 및 우측 카메라 원시 이미지를 획득하도록 이격된 한 쌍의 고해상도 디지털 카메라들(114A, 114B)을 포함한다. 결합될 때, 원시 이미지들은 3차원 픽셀 위치들의 행렬을 포함하는 입력 이미지 포인트 클라우드를 형성한다. 일부 구현들에서, 이 방법은 단계(802)에서, 프레임들이 분석에 이용 가능하도록 적어도 일시적으로, 비디오 데이터의 프레임들의 캡처된 시퀀스들을 안경류 디바이스(100) 상의 메모리(434)에 저장하는 단계를 포함한다.
[0105] 블록(804)에서, 프로세서(432)는 환경 내의 다른 객체들에 대한 안경류 디바이스(100)의 포지션(예컨대, 위치 및 배향)을 모니터링한다. 일 예에서, 프로세서(432)는 SLAM 알고리즘 또는 다른 컴퓨터 비전 알고리즘을 적용함으로써 환경 내의 안경류 디바이스(100)의 포지션을 로컬화하기 위해 비디오 데이터의 프레임들의 시퀀스를 사용한다.
[0106] 부가적으로, 프로세서(432)는 안경류 디바이스(100)의 시야를 결정한다. 안경류 디바이스(100) 시야는 (투시(see-through) 디스플레이들을 가정하면) 광학 엘리먼트들을 통해 보이는 뷰이다. 시야는 광학 어셈블리와 연관된 각도 값(예컨대, 광학 어셈블리의 중심 축이 가리키는 방향을 둘러싸는 110도의 원뿔)에 기반하여 결정될 수 있다. 일 예에서, 태블릿이 모바일 디바이스인 경우, 시야는 태블릿의 가시광 카메라에 의해 실질적으로 동시에 캡처되는 스크린 상에서 보이는 이미지이다.
[0107] 안경류 디바이스(100)는 3차원 공간(예컨대, 2 개의 축들 X 및 Y 또는 3 개의 축들 X, Y 및 Z)에서의 자신의 위치와 배향 및 하나 이상의 축들(예컨대, 피치, 요, 롤)을 중심으로 하는 회전을 결정 및 모니터링한다. 안경류 디바이스(100)는 SLAM 알고리즘, 다른 CV(computer vision) 알고리즘들, 다양한 센서들(예컨대, 배향을 결정하기 위한 IMU(472)), 또는 이들의 조합을 사용하여, 안경류 디바이스(100)의 위치 및 배향을 결정하고 모니터링할 수 있다.
[0108] 블록(806)에서, 프로세서(432)는 비디오 데이터의 프레임들로 특징 포인트들을 식별한다. 일 예에서, 프로세서(432)는 SLAM 알고리즘 또는 다른 컴퓨터 비전 알고리즘들을 사용하여 특징 포인트들을 식별한다. 특징 포인트들은 비디오 데이터의 인접한 프레임들(예컨대, 3 개 이상의 인접한 프레임들)의 시퀀스 내에 존재하는 비디오 데이터 내의 구별 가능한 포인트들이며, 이는 SLAM 알고리즘이 환경 내의 위치 추적을 위해 사용한다. 일 예에서, 구별 가능한 포인트들은 높은 대비의 포인트들, 기하학적 피처들(예컨대, 직선 에지들), 알려진 객체들(도 9a의 책(902) 및 도 9e의 컵(936) 참조) 또는 이들의 조합을 포함한다.
[0109] 도 8b는 특징 포인트들을 식별하기 위한 예시적인 단계들을 포함하는 흐름도(820)를 묘사한다. 블록(822)에서, 프로세서(432)는 비디오 데이터의 프레임들에서 잠재적인 특징 포인트들, 예컨대 기하학적 특징들과 연관된 또는 알려진 객체들과 연관된 높은 대비를 갖는 포인트들을 검출한다. 블록(824)에서, 프로세서(432)는 복수의 인접한 프레임들에 존재하는 공통 잠재적인 특징 포인트들(예컨대, 3 개 이상의 인접한 프레임들 내의 동일한 잠재적인 특징 포인트들)을 식별한다. 블록(826)에서, 프로세서(432)는 식별된 공통 잠재적 특징 포인트들을 향상 그래픽들을 이용한 향상을 위한 특징 포인트들로서 지정한다.
[0110] 도 8a를 다시 참조하면, 블록(808)에서, 프로세서(432)는 식별된 특징 포인트들에서 환경 향상 위치들을 등록한다. 프로세서(432)는 위치 등록 유틸리티(462)를 사용하여, 안경류 디바이스(100)를 둘러싸는 환경에 대해 식별된 특징 포인트들의 위치들을 선택하고 등록한다. 위치 등록은 메모리, 예컨대 메모리(434)에 위치들을 저장하는 것을 포함한다. 일 예에서, 등록된 위치들은 디지털 이미지 또는 디지털 비디오의 프레임으로부터 획득된 깊이 정보에 기초하거나 그와 상관된 3차원 좌표들의 세트를 포함한다. 다른 예에서, 등록된 위치들은 GPS 정보 또는 프로세서(432)에 의해 획득된 다른 포지션 정보에 기초하거나 그와 상관된 3차원 좌표들의 세트를 포함한다.
[0111] 일부 구현들에서, 등록된 위치들은 위치 좌표계에 대한 원점(0, 0, 0)과 일치한다. 위치 좌표계는 등록된 위치들에 대한 기준으로서 사용될 수 있다. 일 예에서, 원점은 환경에 대응하고, 모든 등록된 위치들은 환경에 대해 정의된다.
[0112] 블록(810)에서, 프로세서(432)는 특징 포인트들의 등록된 위치들에서의 디스플레이를 위한 환경 향상 그래픽들을 포함하는 오버레이 이미지를 생성한다. 프로세서(432)는 렌더링 유틸리티(466)를 실행하고 이미지 프로세서(412), 이미지 디스플레이 드라이버(442) 및 이미지 디스플레이(180)를 포함하는 디스플레이 시스템을 사용하여 오버레이 이미지를 생성할 수 있다. 환경 향상 그래픽은 다수의 속성들(예컨대, 형상, 크기, 컬러)을 포함한다. 속성들은 등록된 위치 룩업 테이블 또는 다른 테이블에 저장될 수 있다. 일 예에서, 프로세서(432)는 예컨대, 안경류 디바이스(100)가 마커에 접근함에 따라 마커의 겉보기 크기가 증가하도록 거리에 기초하여 크기와 같은 속성을 조정함으로써, 등록된 위치들에 대한 안경류 디바이스(100)의 포지션에 대한 응답으로 오버레이 이미지를 생성한다.
[0113] 블록(812)에서, 프로세서(432)는 오버레이 이미지를 제공한다. 이미지 프로세서(412)는 환경 향상 그래픽들이 등록된 위치들에 나타나도록 이미지 디스플레이 드라이버(442)를 사용하여 이미지 디스플레이(180A-180B) 상에 환경 향상 그래픽들을 포함하는 오버레이 이미지를 제공한다. 예컨대, 비디오 데이터의 캡처된 프레임들(단계(802)) 및 가상 객체 렌더링 유틸리티(466)를 사용하여 로컬화로부터 획득된 위치 및 배향 결과들을 사용하여, 안경류 디바이스(100)는 등록된 위치와 상관되는 크기, 형상 및 배향으로 디스플레이 상에 환경 향상 그래픽들을 갖는 오버레이 이미지를 제공하는 단계(812)를 실행한다. 환경 향상 그래픽들은 안경류 디바이스(100)의 렌즈들 상에 제공되어, 환경 향상 그래픽들 및 물리적 환경 모두의 뷰를 가능하게 한다. 예컨대, 우측 렌즈(우측 광학 어셈블리(180B))는 렌즈(180B)의 내부 표면 상에 이미지들을 투사하도록 포지셔닝된 우측 투사기(150B)로부터의 광과 상호 작용하도록 구성된 우측 디스플레이 행렬(177B)을 포함한다. 이 양상에서, 환경 향상 그래픽들은 물리적 환경에 대한 오버레이의 일부로서 제공되어, 환경 향상 그래픽들이 지속적으로 보일 수 있다. 도 9b는 환경(904) 내의 특징 포인트들의 등록된 위치들에 포지셔닝된 3 개의 환경 향상 그래픽들(제1 꽃(912a), 제2 꽃(912b) 및 제3 꽃(912c))을 포함하는 오버레이 이미지를 갖는 예시적인 안경류 디바이스(100)를 묘사한다.
[0114] 도 8c에서, 흐름도(830)는 거리에 기반하여 환경 향상 그래픽의 외관을 변경하기 위한 단계들의 예를 도시한다. 블록(832)에서, 프로세서(432)는 환경 향상 그래픽과 연관된 등록된 위치와 안경류 디바이스(100) 사이의 거리를 결정한다. 예컨대, 프로세서(432)는 환경 향상 그래픽들의 등록된 위치와 안경류 디바이스(100)의 현재 포지션 사이의 차이를 계산하고 차이의 절대 값을 사용한다. 블록(834)에서, 이미지 프로세서(412)는 프로세서(432)의 제어 하에, 결정된 거리에 응답하여 환경 향상 그래픽의 시각적 속성(들)을 조정한다. 예컨대, 이미지 프로세서(412)는 거리가 감소함에 따라 환경 향상 그래픽들의 크기를 증가시키고 거리가 증가함에 따라 환경 향상 그래픽의 크기를 감소시킬 수 있다. 도 9c는 제1 크기를 갖는 환경 향상 그래픽(916a) 및 더 작은 제2 크기를 갖는 다른 환경 향상 그래픽(918)을 묘사한다. 다른 속성들(이를테면, 컬러)이 또한 거리에 기반하여 조정될 수 있다. 블록(836)에서, 프로세서(432)는 조정된 환경 향상 그래픽을 포함하는 오버레이 이미지를 생성한다. 오버레이 이미지는 블록(812)을 참조하여 위에서 설명된 바와 같이 생성될 수 있다.
[0115] 도 8d에서, 흐름도(840)는 환경에서 중첩되는 특징 포인트들에 대한 응답으로 환경 향상 그래픽을 조정하기 위한 예를 묘사한다. 블록(842)에서, 프로세서(432)는 특징 포인트들에 대한 등록된 위치들의 포지션들 및 그러한 위치들에서의 포지션들이 되도록 환경 향상 그래픽들의 형상을 분석한다. 블록(844)에서, 프로세서(432)는 등록된 위치들의 포지션들에 디스플레이되는 경우 중첩될 복수의 환경 향상 그래픽들을 식별한다. 블록(846)에서, 프로세서(432)는 블록(844)에서 식별된 바와 같이 중첩될 복수의 환경 향상 그래픽들을 다른 환경 향상 그래픽(들)으로 대체한다. 일 예에서, 프로세서(432)는 복수의 환경 향상 그래픽들을 단일의 더 큰 환경 향상 그래픽으로 대체한다(예컨대, 여러 중첩되는 작은 꽃들을 하나의 더 큰 꽃으로 대체함). 다른 예에서, 프로세서(432)는 복수의 환경 향상 그래픽들을 제공될 때 중첩되지 않을 복수의 더 작은 환경 향상 그래픽들로 대체한다(예컨대, 몇몇 중첩되는 꽃들을 더 작은 중첩되지 않는 꽃들로 대체함).
[0116] 블록(848)에서, 프로세서(432)는 대체 환경 향상 그래픽(들)을 포함하는 오버레이 이미지를 생성한다. 오버레이 이미지는 블록(812)을 참조하여 위에서 설명된 바와 같이 생성될 수 있다. 프로세서(432)는 특징 포인트들에 대한 등록된 위치에 대체 환경 향상 그래픽(들)을 포지셔닝한다. 일 예에서, 프로세서(432)가 복수의 환경 향상 그래픽들을 단일의 더 큰 환경 향상 그래픽으로 대체하는 경우, 프로세서(432)는 복수의 환경 향상 위치들의 등록된 위치들을 평균화하고 대체 그래픽을 평균된 위치에 포지셔닝한다. 다른 예에서, 프로세서(432)가 복수의 환경 향상 그래픽들을 더 작은 환경 향상 그래픽으로 대체하는 경우, 프로세서(432)는 대체 그래픽들을 원래의 등록된 위치들에 포지셔닝한다.
[0117] 도 8e에서, 흐름도(840)는 환경에서 식별된 객체들에 응답하여 환경 향상 그래픽들을 선택하기 위한 예를 묘사한다. 블록(852)에서, 프로세서(432)는 환경 향상 위치들의 포지션들을 분석한다. 블록(854)에서, 프로세서(432)는 환경 향상 위치들에 위치된 객체들을 식별한다. 프로세서(432)는 카메라에 의해 캡처된 이미지들(블록(802))에 (예컨대, CV 알고리즘을 구현하는) 객체 인식 유틸리티(465)를 적용함으로써 객체들을 식별할 수 있다.
[0118] 블록(856)에서, 프로세서(432)는 식별된 객체들을 환경 향상 객체들과 비교하며, 여기서 각각의 환경 향상 객체는 환경 향상 그래픽과 연관된다. 예컨대, 제1 환경 향상 객체는 화분일 수 있고, 제2 환경 향상 객체는 커피 컵일 수 있다. 화분은 꽃의 환경 향상 그래픽과 연관될 수 있다. 커피 컵은 몇몇 커피 원두들의 환경 향상 그래픽과 연관될 수 있다.
[0119] 블록(858)에서, 프로세서(432)는 식별된 객체와 매칭하는 환경 향상 객체와 연관된 환경 향상 그래픽을 선택한다. 블록(860)에서, 프로세서(432)는 선택된 환경 향상 그래픽을 포함하는 오버레이 이미지를 생성한다. 오버레이 이미지는 블록(812)을 참조하여 위에서 설명된 바와 같이 생성될 수 있다.
[0120] 도 8f에서, 흐름도(870)는 현재 환경 내의 특징 포인트들의 수에 응답하여 오디오 트랙을 조정하기 위한 예를 도시한다. 블록(872)에서, 프로세서(432)는 오디오 트랙을 제공한다. 일 예에서, 프로세서(432)는 메모리(434)에 저장된 곡 파일들(482)로부터 오디오 트랙을 리트리브하고, 리트리브된 오디오 트랙을 오디오 프로세서(443) 및 스피커(들)(440)를 통해 제공한다.
[0121] 블록(874)에서, 프로세서(432)는 특징 포인트들의 수를 모니터링한다. 블록(876)에서, 프로세서(432)는 특징 포인트들의 현재 수를 선행 오버레이 이미지의 특징 포인트들의 수와 비교한다. 현재 특징 포인트들의 수가 더 많다면, 프로세싱이 블록(878)에서 진행되고, 오디오 트랙의 볼륨이 증가된다. 현재 특징 포인트들의 수가 선행 오버레이 이미지의 특징 포인트들의 수 이하라면, 프로세싱은 블록(880)에서 진행된다.
[0122] 블록(880)에서, 프로세서(432)는 다시, 특징 포인트들의 현재 수를 선행 오버레이 이미지의 특징 포인트들의 수와 비교한다. 현재 특징 포인트들의 수가 더 적다면, 프로세싱은 블록(882)에서 진행되고, 오디오 트랙의 볼륨은 감소되고, 프로세싱은 계속되는 모니터링을 위해 블록(874)으로 되돌아 감으로써 884에서 반복된다. 현재 특징 포인트들의 수가 선행 오버레이 이미지 내의 특징 포인트들의 수와 동일하다면, 프로세싱은 볼륨 레벨을 조정하지 않고 블록(874)으로 되돌아 간다.
[0123] 도 9a - 도 9f는, 식별된 특징 포인트들의 등록된 위치들에서 안경류 디바이스(100)의 사용자에게 환경 향상 그래픽들이 제공되는 향상된 증강 현실 경험을 예시한다. 도 9a는 안경류(100)의 디스플레이(180)를 통해 보이는 향상 이전의 환경(906)을 묘사한다. 환경은 스탠드(904) 상의 책(902), 테이블(908), 및 벽(910)을 포함한다.
[0124] 도 9b는 환경(906) 내의 상이한 위치에서 안경류(100)의 디스플레이(180) 상에 제시된 오버레이 이미지를 묘사한다. 오버레이 이미지는 식별된 특징 포인트들의 등록 위치들에서 책(902)의 표면(914) 상에 포지셔닝된 3 개의 환경 향상 그래픽들(꽃들(912a, 912b, 912c))을 포함한다. 도 9c는 환경(906) 내의 다른 위치에서 안경류(100)의 디스플레이(180) 상에 제시된 오버레이 이미지를 묘사한다. 오버레이 이미지는 식별된 특징 포인트들의 등록된 위치들에서 박스(918) 상에 포지셔닝된 3 개의 환경 향상 그래픽들(꽃들(916a, 916b, 916c))을 포함한다. 오버레이 이미지는 부가적으로, 꽃들(916)에 대한 등록된 위치들(916)에서 안경류(100)로부터 더 멀리 떨어진 등록된 위치에 포지셔닝된 더 작은 환경 향상 그래픽(꽃(919))을 포함한다.
[0125] 도 9d는 환경(906) 내의 상이한 위치에서 안경류(100)의 디스플레이(180) 상에 제시된 오버레이 이미지를 묘사한다. 오버레이 이미지는 식별된 특징 포인트들의 등록 위치들에서 플로어(922) 상에 포지셔닝된 4 개의 환경 향상 그래픽들(꽃들(920a, 920b, 920c, 920d))의 클러스터(cluster)를 포함한다. 부가적으로, 환경 향상 그래픽들은 의자(924), 스텝 스툴(step stool)(926), 및 테이블(928) 상에서, 그러한 객체들 근처에서 식별된 특징 포인트들에 포지셔닝된다.
[0126] 도 9e는 환경(906) 내의 상이한 위치에서의 오버레이 이미지를 묘사한다. 이 위치에서, 안경류는 테이블(928)에 더 가깝고, 안경류는 (예컨대, 플레이트(932), 랩톱(934)의 코너, 커피 컵(936), 스툴(926) 및 테이블(928)과 연관된) 더 많은 특징 포인트들을 식별하며, 각각의 특징 포인트는 등록되고 환경 향상 그래픽(꽃들(930a-j))을 수신한다.
[0127] 도 9f는 다른 환경 향상 그래픽들로 대체된 중첩 환경 향상 그래픽들을 갖는 도 9d의 오버레이 이미지를 묘사한다. 특히, 도 9d의 꽃들(920a-920d)은 더 큰 꽃(938a)으로 대체되고, 멀리 있는 꽃들은 더 큰 꽃(938b)으로 대체된다.
[0128] 안경류 디바이스(100), 모바일 디바이스(401) 및 서버 시스템(498)에 대해 본 명세서에서 설명된 기능 중 임의의 기능은 본 명세서에서 설명되는 바와 같이, 하나 이상의 컴퓨터 소프트웨어 애플리케이션들 또는 프로그래밍 명령들의 세트들로 구현될 수 있다. 일부 예들에 따르면, "기능", "기능들", "애플리케이션", "애플리케이션들", "명령", "명령들", 또는 "근접 프로그래밍"은 프로그램들에서 정의되는 기능들을 실행하는 프로그램(들)이다. 다양한 방식들로 구성된 애플리케이션들 중 하나 이상을 개발하기 위해 객체 지향 프로그래밍 언어들(Objective-C, Java 또는 C++) 또는 절차형 프로그래밍 언어들(예컨대, C 또는 어셈블리 언어)과 같은 다양한 프로그래밍 언어들이 이용될 수 있다. 특정 예에서, 제3자 애플리케이션(예컨대, 특정 플랫폼의 판매자 이외의 엔티티에 의해 ANDROID™ 또는 IOS™ 소프트웨어 개발 키트(SDK)를 이용하여 개발된 애플리케이션)은 IOS™, ANDROID™, WINDOWS® Phone 또는 다른 모바일 운영 체제들과 같은 모바일 운영 체제 상에서 실행되는 모바일 소프트웨어를 포함할 수 있다. 이 예에서, 제3자 애플리케이션은 본 명세서에서 설명되는 기능을 가능하게 하기 위해 운영 체제에 의해 제공되는 API 호출들을 불러낼 수 있다.
[0129] 그러므로 기계 판독 가능 매체는 유형적인 저장 매체의 많은 형태를 취할 수 있다. 비휘발성 저장 매체들은 예컨대, 도면들에 도시된 클라이언트 디바이스, 미디어 게이트웨이, 트랜스코더 등을 구현하는 데 사용될 수 있는 것과 같은 임의의 컴퓨터 디바이스들 등 내의 저장 디바이스들 중 임의의 저장 디바이스와 같은 광 또는 자기 디스크들을 포함한다. 휘발성 저장 매체들은 그러한 컴퓨터 플랫폼의 메인 메모리와 같은 동적 메모리를 포함한다. 유형의 송신 매체들은 컴퓨터 시스템 내의 버스를 포함하는 와이어들을 포함하여, 동축 케이블들; 구리 와이어 및 광섬유들을 포함한다. 반송파 송신 매체들은 RF(radio frequency) 및 IR(infrared) 데이터 통신들 동안 생성되는 것들과 같은 전기 또는 전자기 신호들, 또는 음향파 또는 광파의 형태를 취할 수 있다. 따라서 컴퓨터 판독 가능 매체들의 일반적인 형태들은 예컨대: 플로피 디스크, 가요성 디스크, 하드 디스크, 자기 테이프, 임의의 다른 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 임의의 다른 광학 매체, 펀치 카드들, 종이 테이프, 구멍들의 패턴들을 갖는 임의의 다른 물리적 저장 매체, RAM, PROM 및 EPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지, 데이터 또는 명령들을 운반하는 반송파, 그러한 반송파를 운반하는 케이블들 또는 링크들, 또는 컴퓨터가 프로그래밍 코드 또는 데이터를 판독할 수 있는 임의의 다른 매체를 포함한다. 이러한 형태들의 컴퓨터 판독 가능 매체들 중 다수는 하나 이상의 명령들의 하나 이상의 시퀀스들을 실행을 위해 프로세서로 전달하는 데 관련될 수 있다.
[0130] 바로 위에서 언급된 것을 제외하고, 언급되거나 예시된 어떤 것도, 그것이 청구항들에 기재되는지 여부에 관계없이, 임의의 컴포넌트, 단계, 특징, 목적, 이익, 이점, 또는 균등물의 공중에 대한 전용을 야기하도록 의도되거나 해석되지 않아야 한다.
[0131] 본 명세서에서 사용되는 용어들 및 표현들은 특정 의미들이 본 명세서에서 달리 제시된 경우를 제외하고는 그들의 대응하는 각각의 조사 및 연구 분야들과 관련하여 그러한 용어들 및 표현들에 부여되는 바와 같은 통상의 의미를 갖는다는 것을 이해할 것이다. 제1 및 제2 등과 같은 관계 용어들은 하나의 엔티티 또는 액션을 다른 엔티티 또는 액션과 구별하기 위해서만 사용될 수 있으며, 그러한 엔티티들 또는 액션들 사이의 임의의 실제 그러한 관계 또는 순서를 반드시 요구하거나 암시하는 것은 아니다. "포함하다", "포함하는", "구비하다", "구비하는"이라는 용어들 또는 이들의 임의의 다른 변형은 비-배타적 포함을 커버하는 것으로 의도되어, 엘리먼트들 또는 단계들의 리스트를 포함 또는 구비하는 프로세스, 방법, 물품 또는 장치가 그러한 엘리먼트들 또는 단계들만을 포함하는 것이 아니라, 이러한 프로세스, 방법, 물품 또는 장치에 고유하거나 명백히 열거되지 않은 다른 엘리먼트들 또는 단계들을 포함할 수 있다. 단수 표현("a" 또는 "an")이 앞에 오는 엘리먼트는, 추가 제약들 없이, 그 엘리먼트를 포함하는 프로세스, 방법, 물품 또는 장치에서 추가적인 동일한 엘리먼트들의 존재를 배제하지 않는다.
[0132] 달리 언급되지 않는 한, 이어지는 청구항들을 포함한 본 명세서에 명시된 모든 측정들, 값들, 등급들, 포지션들, 크기들, 사이즈들 및 다른 규격들은 정확한 것이 아니라 대략적인 것이다. 이러한 양들은 이들이 관련되는 기능들 및 이들이 속하는 분야에서 관례적인 것과 일치하는 적정한 범위를 갖는 것으로 의도된다. 예컨대, 명시적으로 달리 언급되지 않는 한, 파라미터 값 등은 언급된 양 또는 범위로부터 +10% 또는 -10% 정도 달라질 수 있다.
[0133] 추가로, 전술한 상세한 설명에서, 본 개시를 간소화할 목적으로 다양한 특징들이 다양한 예들에서 함께 그룹화되는 것을 알 수 있다. 본 개시내용의 이러한 방법은 청구된 예들이 각각의 청구항에 명시적으로 언급되는 것보다 더 많은 특징들을 요구한다는 의도를 반영하는 것으로서 해석되지 않아야 한다. 오히려, 이하의 청구항들이 반영하는 바와 같이, 보호될 청구 대상은 개시된 임의의 단일 예의 모든 특징들보다는 적은 특징에 있다. 따라서 이하의 청구항들은 이로써 발명을 실시하기 위한 구체적인 내용에 포함되며, 각각의 청구항은 그 자체가 개별적으로 청구되는 대상으로서 독립적이다.
[0134] 위에서는 최상의 모드 및 다른 예들인 것으로 간주되는 것을 설명하였지만, 그 안에서 다양한 수정들이 이루어질 수 있고, 본 명세서에 개시된 청구 대상은 다양한 형태들 및 예들로 구현될 수 있고, 이들은 많은 응용들에서 적용될 수 있으며, 그 중 일부만이 본 명세서에서 설명되었다고 이해된다. 이어지는 청구항들은 본 개념들의 진정한 범위 내에 있는 임의의 그리고 모든 수정들 및 변형들을 청구하는 것으로 의도된다.

Claims (20)

  1. 증강 현실 환경 향상 시스템으로서,
    이미지 캡처(image capture) 시스템;
    포지션(position) 검출 시스템;
    디스플레이(display) 시스템;
    상기 이미지 캡처 시스템, 상기 포지션 검출 시스템, 상기 디스플레이 시스템, 프로세서 및 메모리를 포함하는 안경류 디바이스(eyewear device); 및
    상기 메모리에서의 프로그래밍을 포함하며,
    상기 프로세서에 의한 프로그래밍의 실행은 기능들을 수행하도록 상기 안경류 디바이스를 구성하고,
    상기 기능들은:
    상기 이미지 캡처 시스템을 이용하여, 환경에서 이미지 데이터의 프레임들을 캡처하기 위한 기능;
    상기 포지션 검출 시스템을 이용하여, 상기 환경 내에서 상기 안경류 디바이스의 현재 포지션을 모니터링하기 위한 기능;
    상기 이미지 데이터의 프레임들 내의 특징 포인트들을 식별하기 위한 기능;
    상기 포지션 검출 시스템을 이용하여, 상기 특징 포인트들에서의 환경 향상 위치들을 등록하기 위한 기능;
    상기 안경류 디바이스의 현재 포지션에 응답하여 상기 디스플레이 시스템을 이용하여, 상기 환경 향상 위치들에서의 디스플레이를 위한 환경 향상 그래픽들을 포함하는 오버레이 이미지(overlay image)를 생성하기 위한 기능; 및
    상기 디스플레이 시스템에 의해 상기 오버레이 이미지를 제공하기 위한 기능을 포함하는,
    증강 현실 환경 향상 시스템.
  2. 제1 항에 있어서,
    상기 특징 포인트들을 식별하기 위한 기능은:
    상기 이미지 데이터의 프레임들에서 잠재적 특징 포인트들을 검출하기 위한 기능;
    상기 이미지 데이터의 프레임들에서 복수의 인접한 프레임들에 있는 공통 잠재적 특징 포인트들을 식별하기 위한 기능; 및
    상기 공통 잠재적 특징 포인트들을 특징 포인트들로서 지정하기 위한 기능을 포함하는,
    증강 현실 환경 향상 시스템.
  3. 제1 항에 있어서,
    상기 오버레이 이미지를 생성하기 위한 기능은:
    상기 환경 향상 위치들의 포지션들 및 상기 환경 향상 그래픽들의 개개의 형상들을 분석하기 위한 기능;
    상기 분석된 포지션들 및 형상들에 응답하여 디스플레이된다면 중첩될 복수의 환경 향상 그래픽들을 식별하기 위한 기능;
    중첩될 상기 복수의 환경 향상 그래픽들을 오버레이 이미지들을 생성하는 데 사용하기 위해 더 큰 향상 그래픽으로 대체하기 위한 기능; 및
    상기 환경 향상 위치들의 인접 포지션들에 포지셔닝된 더 큰 향상 그래픽을 포함하는 오버레이 이미지를 생성하기 위한 기능을 포함하는,
    증강 현실 환경 향상 시스템.
  4. 제1 항에 있어서,
    상기 오버레이 이미지를 생성하기 위한 기능은:
    상기 환경 향상 위치들의 포지션들을 분석하기 위한 기능;
    상기 환경 향상 위치들에 위치된 객체들을 식별하기 위한 기능;
    식별된 객체를 환경 향상 객체들과 비교하기 위한 기능 ― 각각의 환경 향상 객체는 환경 향상 그래픽과 연관됨 ―;
    상기 식별된 객체와 매칭하는 환경 향상 객체와 연관된 환경 향상 그래픽을 선택하기 위한 기능; 및
    환경 향상 위치들에 포지셔닝된 선택된 환경 향상 그래픽들을 포함하는 오버레이 이미지들을 생성하기 위한 기능을 포함하는,
    증강 현실 환경 향상 시스템.
  5. 제1 항에 있어서,
    상기 안경류 디바이스는 오디오 시스템을 더 포함하고, 그리고
    상기 프로세서에 의한 프로그래밍의 실행은 추가 기능들을 수행하도록 상기 안경류 디바이스를 추가로 구성하고,
    상기 기능들은:
    상기 오디오 시스템에 의해 오디오 트랙을 제공하기 위한 기능;
    특징 포인트들의 수를 모니터링하기 위한 기능; 및
    상기 특징 포인트들의 수에 응답하여 상기 오디오 트랙의 볼륨을 조정하기 위한 기능을 포함하는,
    증강 현실 환경 향상 시스템.
  6. 제1 항에 있어서,
    상기 환경 향상 위치들 중 적어도 하나의 환경 향상 위치는 복수의 이미지들을 포함하는 동적 이미지이고, 각각의 이미지는 상이한 배향을 가지며, 그리고
    상기 오버레이 이미지를 생성하기 위한 기능은:
    카운터(counter)를 모니터링하기 위한 기능; 및
    상기 카운터 및 상기 안경류 디바이스의 현재 포지션에 응답하여 상기 디스플레이 시스템을 이용하여, 상기 복수의 이미지들로부터 연속적인 오버레이 이미지들을 생성하기 위한 기능을 포함하며,
    상기 적어도 하나의 환경 향상 위치는 상기 연속적인 오버레이 이미지들의 인접한 이미지들에서 상이한 배향을 갖는,
    증강 현실 환경 향상 시스템.
  7. 제1 항에 있어서,
    상기 환경 향상 그래픽들은 복수의 시각적 속성들을 가지며,
    상기 오버레이 이미지를 생성하기 위한 기능은:
    상기 환경 향상 위치들과 상기 안경류 디바이스의 현재 포지션 사이의 거리를 결정하기 위한 기능;
    상기 결정된 거리에 응답하여 상기 복수의 시각적 속성들 중 적어도 하나를 조정하기 위한 기능; 및
    상기 안경류 디바이스의 현재 포지션에 응답하여 상기 디스플레이 시스템을 이용하여, 상기 결정된 거리에 응답하여 조정된 바와 같이 상기 환경 향상 그래픽들을 포함하는 오버레이 이미지를 생성하기 위한 기능을 포함하는,
    증강 현실 환경 향상 시스템.
  8. 제7 항에 있어서,
    상기 적어도 하나의 속성은 상기 환경 향상 그래픽의 크기를 포함하는,
    증강 현실 환경 향상 시스템.
  9. 제1 항에 있어서,
    상기 디스플레이 시스템은:
    상기 안경류 디바이스에 의해 지지되어, 상기 환경 향상 위치들을 제공하도록 구성되는 투시(see-through) 디스플레이를 포함하는,
    증강 현실 환경 향상 시스템.
  10. 이미지 캡처 시스템, 포지션 검출 시스템 및 디스플레이 시스템을 갖는 안경류 디바이스를 사용하여 환경을 통해 사용자를 안내하기 위한 증강 현실 환경 향상 방법으로서,
    상기 이미지 캡처 시스템을 이용하여, 환경에서 이미지 데이터의 프레임들을 캡처하는 단계;
    상기 포지션 검출 시스템을 이용하여, 상기 환경 내에서 상기 안경류 디바이스의 현재 포지션을 모니터링하는 단계;
    상기 이미지 데이터의 프레임들 내의 특징 포인트들을 식별하는 단계;
    상기 포지션 검출 시스템을 이용하여, 상기 특징 포인트들에서의 환경 향상 위치들을 등록하는 단계;
    상기 안경류 디바이스의 현재 포지션에 응답하여 상기 디스플레이 시스템을 이용하여, 상기 환경 향상 위치들에서의 디스플레이를 위한 환경 향상 그래픽들을 포함하는 오버레이 이미지를 생성하는 단계; 및
    상기 디스플레이 시스템에 의해 상기 오버레이 이미지를 제공하는 단계를 포함하는,
    증강 현실 환경 향상 방법.
  11. 제10 항에 있어서,
    상기 식별하는 단계는:
    상기 이미지 데이터의 프레임들에서 잠재적 특징 포인트들을 검출하는 단계;
    상기 이미지 데이터의 프레임들에서 복수의 인접한 프레임들에 있는 공통 잠재적 특징 포인트들을 식별하는 단계; 및
    상기 공통 잠재적 특징 포인트들을 특징 포인트들로서 지정하는 단계를 포함하는,
    증강 현실 환경 향상 방법.
  12. 제10 항에 있어서,
    상기 생성하는 단계는:
    상기 환경 향상 위치들의 포지션들 및 상기 환경 향상 그래픽들의 개개의 형상들을 분석하는 단계;
    상기 분석된 포지션들 및 형상들에 응답하여 디스플레이된다면 중첩될 복수의 환경 향상 그래픽들을 식별하는 단계;
    중첩될 상기 복수의 환경 향상 그래픽들을 오버레이 이미지들을 생성하는 데 사용하기 위해 더 큰 향상 그래픽으로 대체하는 단계; 및
    상기 환경 향상 위치들의 인접 포지션들에 포지셔닝된 더 큰 향상 그래픽을 포함하는 오버레이 이미지를 생성하는 단계를 포함하는,
    증강 현실 환경 향상 방법.
  13. 제10 항에 있어서,
    상기 생성하는 단계는:
    상기 환경 향상 위치들의 포지션들을 분석하는 단계;
    상기 환경 향상 위치들에 위치된 객체들을 식별하는 단계;
    식별된 객체를 환경 향상 객체들과 비교하는 단계 ― 각각의 환경 향상 객체는 환경 향상 그래픽과 연관됨 ―;
    상기 식별된 객체와 매칭하는 환경 향상 객체와 연관된 환경 향상 그래픽을 선택하는 단계; 및
    환경 향상 위치들에 포지셔닝된 선택된 환경 향상 그래픽들을 포함하는 오버레이 이미지들을 생성하는 단계를 포함하는,
    증강 현실 환경 향상 방법.
  14. 제10 항에 있어서,
    상기 안경류 디바이스는 오디오 시스템을 더 포함하고, 그리고
    상기 방법은:
    상기 오디오 시스템에 의해 오디오 트랙을 제공하는 단계;
    특징 포인트들의 수를 모니터링하는 단계; 및
    상기 특징 포인트들의 수에 응답하여 상기 오디오 트랙의 볼륨을 조정하는 단계를 더 포함하는,
    증강 현실 환경 향상 방법.
  15. 제10 항에 있어서,
    상기 환경 향상 위치들 중 적어도 하나의 환경 향상 위치는 복수의 이미지들을 포함하는 동적 이미지이고,
    각각의 이미지는 상이한 배향을 가지며, 그리고
    상기 오버레이 이미지를 생성하는 단계는:
    카운터를 모니터링하는 단계; 및
    상기 카운터 및 상기 안경류 디바이스의 현재 포지션에 응답하여 상기 디스플레이 시스템을 이용하여, 상기 복수의 이미지들로부터 연속적인 오버레이 이미지들을 생성하는 단계를 포함하며,
    상기 적어도 하나의 환경 향상 위치는 상기 연속적인 오버레이 이미지들의 인접한 이미지들에서 상이한 배향을 갖는,
    증강 현실 환경 향상 방법.
  16. 제10 항에 있어서,
    상기 환경 향상 그래픽들은 복수의 시각적 속성들을 가지며, 그리고
    상기 오버레이 이미지를 생성하는 단계는:
    상기 환경 향상 위치들과 상기 안경류 디바이스의 현재 포지션 사이의 거리를 결정하는 단계;
    상기 결정된 거리에 응답하여 상기 복수의 시각적 속성들 중 적어도 하나를 조정하는 단계; 및
    상기 안경류 디바이스의 현재 포지션에 응답하여 상기 디스플레이 시스템을 이용하여, 상기 결정된 거리에 응답하여 조정된 바와 같이 상기 환경 향상 그래픽들을 포함하는 오버레이 이미지를 생성하는 단계를 포함하는,
    증강 현실 환경 향상 방법.
  17. 제16 항에 있어서,
    상기 적어도 하나의 속성은 상기 환경 향상 그래픽의 크기를 포함하는,
    증강 현실 환경 향상 방법.
  18. 이미징 캡처 시스템, 포지션 검출 시스템 및 디스플레이 시스템을 갖는 안경류 디바이스에 의해 실행될 때 환경 사용을 통해 사용자를 안내하기 위한 프로그램 코드를 저장하는 비-일시적 컴퓨터-판독 가능 매체로서,
    상기 프로그램 코드는 실행될 때, 전자 프로세서로 하여금:
    상기 이미지 캡처 시스템을 이용하여, 환경에서 이미지 데이터의 프레임들을 캡처하는 단계;
    상기 포지션 검출 시스템을 이용하여, 상기 환경 내에서 상기 안경류 디바이스의 현재 포지션을 모니터링하는 단계;
    상기 이미지 데이터의 프레임들 내의 특징 포인트들을 식별하는 단계;
    상기 포지션 검출 시스템을 이용하여, 상기 특징 포인트들에서의 환경 향상 위치들을 등록하는 단계;
    상기 안경류 디바이스의 현재 포지션에 응답하여 상기 디스플레이 시스템을 이용하여, 상기 환경 향상 위치들에서의 디스플레이를 위한 환경 향상 그래픽들을 포함하는 오버레이 이미지를 생성하는 단계; 및
    상기 디스플레이 시스템에 의해 상기 오버레이 이미지를 제공하는 단계를 수행하게 하도록 동작하는,
    비-일시적 컴퓨터-판독 가능 매체.
  19. 제18 항에 있어서,
    상기 특징 포인트들을 식별하기 위한 프로그램 코드는 실행될 때, 상기 전자 프로세서로 하여금:
    상기 이미지 데이터의 프레임들에서 잠재적 특징 포인트들을 검출하는 단계;
    상기 이미지 데이터의 프레임들에서 복수의 인접한 프레임들에 있는 공통 잠재적 특징 포인트들을 식별하는 단계; 및
    상기 공통 잠재적 특징 포인트들을 특징 포인트들로서 지정하는 단계를 수행하게 하도록 동작하는,
    비-일시적 컴퓨터-판독 가능 매체.
  20. 제18 항에 있어서,
    상기 오버레이 이미지를 생성하기 위한 프로그램 코드는 실행될 때, 상기 전자 프로세서로 하여금:
    상기 환경 향상 위치들의 포지션들을 분석하는 단계;
    상기 환경 향상 위치들에 위치된 객체들을 식별하는 단계;
    식별된 객체를 환경 향상 객체들과 비교하는 단계 ― 각각의 환경 향상 객체는 환경 향상 그래픽과 연관됨 ―;
    상기 식별된 객체와 매칭하는 환경 향상 객체와 연관된 환경 향상 그래픽을 선택하는 단계; 및
    환경 향상 위치들에 포지셔닝된 선택된 환경 향상 그래픽들을 포함하는 오버레이 이미지를 생성하는 단계를 수행하게 하도록 동작하는,
    비-일시적 컴퓨터-판독 가능 매체.
KR1020237000985A 2020-06-13 2021-06-02 증강 현실 환경 향상 KR20230022239A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/900,897 US11508130B2 (en) 2020-06-13 2020-06-13 Augmented reality environment enhancement
US16/900,897 2020-06-13
PCT/US2021/035473 WO2021252242A2 (en) 2020-06-13 2021-06-02 Augmented reality environment enhancement

Publications (1)

Publication Number Publication Date
KR20230022239A true KR20230022239A (ko) 2023-02-14

Family

ID=76662542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237000985A KR20230022239A (ko) 2020-06-13 2021-06-02 증강 현실 환경 향상

Country Status (5)

Country Link
US (3) US11508130B2 (ko)
EP (1) EP4165490A2 (ko)
KR (1) KR20230022239A (ko)
CN (1) CN115836269A (ko)
WO (1) WO2021252242A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11508130B2 (en) * 2020-06-13 2022-11-22 Snap Inc. Augmented reality environment enhancement
JP2023003033A (ja) * 2021-06-23 2023-01-11 キヤノン株式会社 電子機器および電子機器の制御方法
US11949527B2 (en) 2022-04-25 2024-04-02 Snap Inc. Shared augmented reality experience in video chat
US12136160B2 (en) 2022-04-27 2024-11-05 Snap Inc. Augmented reality experience power usage prediction
US12069399B2 (en) 2022-07-07 2024-08-20 Snap Inc. Dynamically switching between RGB and IR capture
CN118115716A (zh) * 2024-03-05 2024-05-31 北京大希科技有限公司 一种融合视觉和ar技术的高精度定位方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2482997T3 (es) * 2008-11-10 2014-08-05 Metaio Gmbh Método y sistema para analizar una imagen generada mediante al menos una cámara
JPWO2012049795A1 (ja) * 2010-10-12 2014-02-24 パナソニック株式会社 表示処理装置、表示方法およびプログラム
GB2499249B (en) * 2012-02-13 2016-09-21 Sony Computer Entertainment Europe Ltd System and method of image augmentation
GB2500416B8 (en) * 2012-03-21 2017-06-14 Sony Computer Entertainment Europe Ltd Apparatus and method of augmented reality interaction
US9646522B2 (en) * 2012-06-29 2017-05-09 Intel Corporation Enhanced information delivery using a transparent display
US9317972B2 (en) 2012-12-18 2016-04-19 Qualcomm Incorporated User interface for augmented reality enabled devices
KR101515484B1 (ko) * 2013-05-31 2015-04-29 전자부품연구원 증강현실정보 제공 장치 및 그 방법
US10272920B2 (en) * 2013-10-11 2019-04-30 Panasonic Intellectual Property Corporation Of America Processing method, program, processing apparatus, and detection system
JP2019028603A (ja) 2017-07-27 2019-02-21 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US10586394B2 (en) * 2018-03-01 2020-03-10 Intel Corporation Augmented reality depth sensing using dual camera receiver
US11508130B2 (en) * 2020-06-13 2022-11-22 Snap Inc. Augmented reality environment enhancement

Also Published As

Publication number Publication date
EP4165490A2 (en) 2023-04-19
CN115836269A (zh) 2023-03-21
US11508130B2 (en) 2022-11-22
US20210390780A1 (en) 2021-12-16
WO2021252242A2 (en) 2021-12-16
US20230343046A1 (en) 2023-10-26
US11741679B2 (en) 2023-08-29
WO2021252242A3 (en) 2022-01-27
US20230015522A1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
US11995774B2 (en) Augmented reality experiences using speech and text captions
US20210405761A1 (en) Augmented reality experiences with object manipulation
US11854147B2 (en) Augmented reality guidance that generates guidance markers
US11954268B2 (en) Augmented reality eyewear 3D painting
KR20230016209A (ko) 포지션 추적을 사용한 인터랙티브 증강 현실 경험들
US11741679B2 (en) Augmented reality environment enhancement
KR20230029885A (ko) 말 풍선들 및 번역을 갖는 증강 현실 안경류
KR20230029923A (ko) 롤링 셔터 카메라들을 사용하는 시각적 관성 추적
KR20230026503A (ko) 사회적 거리두기를 사용한 증강 현실 경험들
EP4172681A1 (en) Augmented reality eyewear with 3d costumes
KR20230025913A (ko) 기분 공유를 갖는 증강 현실 안경류
KR20230073336A (ko) 가상 아이웨어 빔들을 사용한 증강 현실 게이밍
KR20230025911A (ko) 시각적 관성 오도메트리 시스템들에 대한 동적 센서 선택
KR20230124077A (ko) 증강 현실 정밀 추적 및 디스플레이

Legal Events

Date Code Title Description
A201 Request for examination