KR20220120649A - 인공 현실 콘텐츠의 가변 초점 디스플레이를 갖는 인공 현실 시스템 - Google Patents

인공 현실 콘텐츠의 가변 초점 디스플레이를 갖는 인공 현실 시스템 Download PDF

Info

Publication number
KR20220120649A
KR20220120649A KR1020227025773A KR20227025773A KR20220120649A KR 20220120649 A KR20220120649 A KR 20220120649A KR 1020227025773 A KR1020227025773 A KR 1020227025773A KR 20227025773 A KR20227025773 A KR 20227025773A KR 20220120649 A KR20220120649 A KR 20220120649A
Authority
KR
South Korea
Prior art keywords
user
depth
hmd
artificial reality
real
Prior art date
Application number
KR1020227025773A
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 KR20220120649A publication Critical patent/KR20220120649A/ko

Links

Images

Classifications

    • 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
    • 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/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B30/00Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
    • G02B30/50Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images the image being built up from image elements distributed over a 3D volume, e.g. voxels
    • G02B30/52Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images the image being built up from image elements distributed over a 3D volume, e.g. voxels the 3D volume being constructed from a stack or sequence of 2D planes, e.g. depth sampling systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • 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
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Abstract

본 발명은 사용자에게 인공 현실 콘텐츠를 제공하기 위한 인공 현실 시스템 및 기술을 설명한다. 예를 들어, 인공 현실 시스템은 인공 현실 콘텐츠를 출력하도록 구성되는 머리 장착형 디스플레이(HMD)를 포함하고, 상기 HMD는 사용자 시선의 초점을 나타내는 이미지 데이터를 캡처하도록 구성되는 제2 이미지 캡처 디바이스들의 세트, 및 상기 사용자의 초점에 기초하여 수정 가능한 초점 거리를 갖는 가변 초점 디스플레이를 포함한다. 또한, 상기 시스템은 현실 세계 이미지 데이터 및 상기 현실 세계 이미지 데이터와 관련된 깊이 데이터에 기초하여 사용자의 물리적 환경의 3-차원(3D) 장면을 생성하고, 상기 사용자의 초점에 기초하여 상기 HMD의 가변 초점 디스플레이상에 디스플레이하기 위해 인공 현실 콘텐츠를 상기 물리적 환경의 3D 장면에 대한 오버레이로서 생성하도록 구성되는 깊이 엔진을 포함한다.

Description

인공 현실 콘텐츠의 가변 초점 디스플레이를 갖는 인공 현실 시스템
본 발명은 일반적으로 증강 현실, 혼합 현실 및/또는 인공 현실 시스템과 같은 인공 현실 시스템에 관한 것이다.
인공 현실 시스템은 컴퓨터 게임, 건강 및 안전, 산업 및 교육과 같은 많은 분야에서 애플리케이션과 함께 점점 더 보편화되고 있다. 몇 가지 예로서, 인공 현실 시스템은 모바일 디바이스, 게임 콘솔, 개인용 컴퓨터, 영화관 및 테마파크에 통합되고 있다. 일반적으로, 인공 현실은 사용자에게 표시되기 전에 어떠한 방식으로든 조정되는 현실의 한 형태이며, 이는 인공 현실, 증강 현실, 혼합 현실, 하이브리드 현실, 또는 일부 조합 및/또는 그들의 파생물을 포함할 수 있다.
일반적인 인공 현실 시스템은 사용자에게 콘텐츠를 렌더링 및 표시하기 위한 하나 이상의 디바이스를 포함한다. 일례로서, 인공 현실 시스템은 사용자에 의해 착용되고 사용자에게 인공 현실 콘텐츠를 출력하도록 구성되는 머리-장착형 디스플레이(HMD)를 통합할 수 있다. 상기 인공 현실 콘텐츠는 상기 시스템에 의해 생성된 콘텐츠를 완전히 포함할 수 있거나 또는 캡처된 콘텐츠(예를 들면, 현실 세계 비디오 및/또는 이미지)와 결합된 생성 콘텐츠를 포함할 수 있다.
일반적으로, 본 발명은 사용자에게 시각적으로 정확한 인공 현실 콘텐츠를 제공하도록 구성된 가변 초점 머리-장착형 디스플레이(HMD)를 포함하는 인공 현실 시스템을 설명한다. 예를 들어, 상기 인공 현실 시스템은 HMD의 사용자가 보고 있는 위치에 기초하여 프레임당 상이한 초점 깊이로 현실 세계 이미지 데이터가 재구성되는 패스-스루(pass-through) 또는 혼합 현실(MR) 경험을 제공하기 위해 사용될 수 있다. 상기 가변 초점 HMD와 이미지 처리 기술의 조합은, 상기 현실 세계 이미지 데이터가 캡처되고 (예를 들면, 무한대에 초점을 맞춘) 큰 피사계 심도(depth of field)로 재구성되는 현재의 패스-스루와 비교하여, 보다 사실적인 3-차원(3D) 경험을 제공하고 수렴-수용 충돌을 감소시킬 수 있다. 다른 예들에 있어서, 상기 가변 초점 HMD 및 이미지 처리 기술은 인공 현실(VR) 경험 또는 증강 현실 경험을 제공하기 위해 사용될 수 있다.
상기 인공 현실 시스템이 패스-스루 또는 MR 경험을 제공하는 하나 이상의 예들에 있어서, 상기 가변 초점 HMD는 현실 세계 이미지 데이터를 컬러(예를 들어, RGB) 및 고해상도로 캡처하도록 구성된 적어도 하나의 패스-스루 카메라(pass-through camera), 사용자 동공의 움직임을 캡처하도록 구성된 눈 추적 카메라, 및 상기 HMD의 아이피스(eyepiece) 내의 하나 이상의 렌즈에 대해 기계적으로 이동하도록 구성된 디스플레이 패널을 포함할 수 있다. 또한, 가변 초점 HMD는 깊이 센서 및/또는 패스-스루 카메라에 의해 캡처된 현실 세계 이미지 데이터에 대응하는 깊이 데이터를 캡처하도록 구성된 듀얼 또는 스테레오 인사이드-아웃 카메라(inside-out camera)를 포함할 수 있다. 일부 예들에 있어서, 상기 가변 초점 HMD는 사용자의 눈당 하나의 인사이드-아웃 카메라를 포함할 수 있다.
개시된 기술에 따르면, 상기 AR 시스템은 상기 캡처된 깊이 데이터를 사용하여 현실 세계 장면의 3-차원 메시를 생성하고, 실제 깊이를 갖는 상기 HMD상에 디스플레이하기 위한 가상 장면을 생성하기 위해 상기 패스-스루 카메라로부터 캡처된 현실 세계 이미지 데이터를 사용하여 생성된 텍스처 데이터를 상기 3-차원 메시상으로 래핑하거나 오버레이하는 이미지 처리 기술을 수행할 수 있다.
가상 장면이 생성되면, 본원에 설명된 기술은 사용자가 상기 가상 장면에 대응하는 현실 세계 환경의 특정 객체에 초점을 맞추면서 경험할 수 있는 시각적 효과를 모방하기 위해 상기 가상 장면이 상기 HMD상에서 사용자에게 디스플레이되는 방식을 수정한다. 예를 들어, 상기 HMD의 하나 이상의 눈 추적 카메라는 기준점들의 세트와 관련하여 사용자 동공의 위치를 포함하는 초점 데이터를 캡처할 수 있다. 상기 초점 데이터를 사용하여, 상기 AR은 상기 가변 초점 디스플레이의 초점을 실시간 또는 거의 실시간으로 이동시켜 식별된 사용자의 초점과 일치시킬 수 있다. 추가적으로, 상기 AR 시스템은 상기 HMD 사용자의 식별된 피사계 심도 밖에 있는 가상 장면에 표현된 객체를 흐리게 하기 위해 깊이 흐림 또는 디포커스 필터를 적용하도록 구성될 수 있다.
일부 예들에 있어서, 인공 현실 시스템은 사용자의 물리적 환경을 나타내는 현실 세계 이미지 데이터를 캡처하도록 구성된 제1 이미지 캡처 디바이스 및 인공 현실 콘텐츠를 출력하도록 구성된 머리-장착형 디스플레이(HMD)를 포함하고, 상기 HMD는 사용자 시선의 초점을 나타내는 이미지 데이터를 캡처하도록 구성된 제2 이미지 캡처 디바이스들의 세트 및 사용자의 초점에 기초하여 수정 가능한 초점 길이를 갖는 가변 초점 디스플레이를 포함한다. 추가적으로, 상기 인공 현실 시스템은 상기 현실 세계 이미지 데이터 및 상기 현실 세계 이미지 데이터와 관련된 깊이 데이터에 기초하여 사용자의 물리적 환경의 3-차원(3D) 장면을 생성하도록 구성된 깊이 엔진을 포함하고, 사용자의 초점에 기초하여 상기 HMD의 가변 초점 디스플레이상에 디스플레이하기 위해 인공 현실 콘텐츠를 상기 물리적 환경의 3D 장면에 대한 오버레이로서 생성한다.
일부 실시예들에 있어서, 상기 제1 이미지 캡처 디바이스는 상기 현실 세계 이미지 데이터를 컬러 및 고해상도로 캡처하도록 구성되는 적어도 하나의 패스-스루 카메라를 포함할 수 있다.
일부 실시예들에 있어서, 상기 HMD는 상기 깊이 엔진을 실행하도록 구성되는 하나 이상의 프로세서를 포함할 수 있고, 상기 하나 이상의 프로세서는 상기 적어도 하나의 패스-스루 카메라에 근접하게 위치된다.
일부 실시예들에 있어서, 상기 HMD는 상기 깊이 데이터를 생성하도록 구성되는 깊이 센서를 추가로 포함할 수 있으며, 상기 물리적 환경의 3D 장면을 생성하기 위해, 상기 깊이 엔진은: 상기 깊이 데이터를 사용하여, 현실 세계 장면의 3D 메시를 생성하고; 상기 현실 세계 장면의 3D 메시상에 상기 현실 세계 이미지 데이터의 적어도 일부를 오버레이하도록 구성된다.
일부 실시예들에 있어서, 상기 현실 세계 이미지 데이터는 현실 세계 이미지 데이터의 스트림을 나타낼 수 있고, 상기 깊이 데이터는 깊이 데이터의 스트림을 나타내고, 상기 인공 현실 콘텐츠를 생성하기 위해, 상기 깊이 엔진은 추가로: 상기 현실 세계 이미지 데이터의 스트림과 상기 깊이 데이터의 스트림을 사용하여, 상기 현실 세계 장면의 3D 메시에 대한 상기 HMD의 위치 및 방향에 기초하여 상기 인공 현실 콘텐츠를 거의 실시간으로 생성하도록 구성된다.
일부 실시예들에 있어서, 상기 제2 이미지 캡처 디바이스들의 세트는: 기준점들의 제1 세트에 대한 상기 사용자의 제1 동공 위치를 포함하는 이미지 데이터의 제1 세트를 캡처하도록 구성되는 제1 눈 추적 카메라; 및 기준점들의 제2 세트에 대한 상기 사용자의 제2 동공 위치를 포함하는 이미지 데이터의 제2 세트를 캡처하도록 구성되는 제2 눈 추적 카메라를 포함하고, 여기서 상기 깊이 엔진은: 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치 및 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치에 기초하여 상기 사용자의 초점을 결정하도록 구성된다.
일부 실시예들에 있어서, 상기 시스템은 눈 추적기(gaze tracker)를 추가로 포함할 수 있으며, 상기 눈 추적기는: 일정 기간 동안 상기 기준점들의 제1 세트와 관련된 상기 제1 동공 위치를 추적하고; 일정 기간 동안 상기 기준점들의 제2 세트와 관련된 상기 제2 동공 위치를 추적하고; 일정 기간 동안의 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치의 움직임에 기초하여, 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치의 예상된 미래의 움직임을 결정하고; 일정 기간 동안의 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치의 움직임에 기초하여, 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치의 예상된 미래의 움직임을 결정하도록 구성되며, 여기서, 상기 깊이 엔진은, 상기 제1 동공 위치의 예상된 미래의 움직임 및 상기 제2 동공 위치의 예상된 미래의 움직임에 기초하여, 상기 사용자의 예상된 미래 초점을 결정하도록 추가로 구성된다.
일부 실시예들에 있어서, 상기 깊이 엔진은 추가로: 상기 사용자의 초점과 일치하도록 상기 가변 초점 디스플레이의 초점 거리를 거의 실시간으로 결정하고; 상기 결정된 초점 거리를 달성하기 위해 상기 가변 초점 디스플레이가 렌즈에 대해 이동하게 지시하도록 구성될 수 있다.
일부 실시예들에 있어서, 상기 HMD는 상기 렌즈에 대한 상기 가변 초점 디스플레이의 위치를 제어하도록 구성되는 모터를 추가로 포함할 수 있으며, 상기 가변 초점 디스플레이를 이동시키도록 지시하기 위해, 상기 깊이 엔진은: 상기 가변 초점 디스플레이를 상기 렌즈로부터 소정의 거리에 배치하여 상기 결정된 초점 거리를 달성하기 위해 상기 모터를 제어하도록 구성된다.
일부 실시예들에 있어서, 상기 이미지 데이터는 상기 사용자의 피사계 심도를 추가로 나타낼 수 있으며, 상기 인공 현실 콘텐츠를 생성하기 위해, 상기 깊이 엔진은: 상기 사용자의 피사계 심도 밖에 있는 상기 인공 현실 콘텐츠의 부분들을 흐리게 하도록 구성된다.
일부 실시예들에 있어서, 다음의 단계들을 포함하는 방법이 제공된다: 제1 이미지 캡처 디바이스에 의해, 사용자의 물리적 환경을 나타내는 현실 세계 이미지 데이터를 캡처하는 단계; 인공 현실 콘텐츠를 출력하도록 구성되는 머리-장착형 디스플레이(HMD)의 제2 이미지 캡처 디바이스들의 세트에 의해, 상기 사용자 시선의 초점을 나타내는 이미지 데이터를 캡처하는 단계; 상기 HMD의 깊이 엔진에 의해, 상기 사용자의 초점에 기초하여 상기 HMD의 가변 초점 디스플레이의 초점 거리를 수정하는 단계; 상기 깊이 엔진에 의해 그리고 상기 현실 세계 이미지 데이터 및 상기 현실 세계 이미지 데이터와 관련된 깊이 데이터에 기초하여, 상기 사용자의 물리적 환경의 3-차원(3D) 장면을 생성하는 단계; 및 상기 깊이 엔진에 의해, 상기 사용자의 초점에 기초하여 상기 HMD의 가변 초점 디스플레이상에 디스플레이하기 위해 인공 현실 콘텐츠를 상기 물리적 환경의 3D 장면에 대한 오버레이로서 생성하는 단계.
일부 실시예들에 있어서, 상기 제1 이미지 캡처 디바이스는 적어도 하나의 패스-스루 카메라를 포함할 수 있으며, 상기 방법은 상기 패스-스루 카메라를 사용하여 상기 현실 세계 이미지 데이터를 컬러 및 고해상도로 캡처하는 단계를 추가로 포함한다.
일부 실시예들에 있어서, 상기 방법은 상기 HMD의 하나 이상의 프로세서를 사용하여 상기 깊이 엔진을 실행하는 단계를 추가로 포함할 수 있으며, 여기서, 상기 하나 이상의 프로세서는 상기 적어도 하나의 패스-스루 카메라에 근접하게 위치된다.
일부 실시예들에 있어서, 상기 방법은, 깊이 센서를 사용하여, 상기 깊이 데이터를 생성하는 단계를 추가로 포함할 수 있으며, 여기서, 상기 물리적 환경의 3D 장면을 생성하는 단계는: 상기 깊이 데이터를 사용하여, 현실 세계 장면의 3D 메시를 생성하는 단계; 및 상기 현실 세계 장면의 3D 메시상에 상기 현실 세계 이미지 데이터의 적어도 일부를 오버레이하는 단계를 포함한다.
일부 실시예들에 있어서, 상기 현실 세계 이미지 데이터는 현실 세계 이미지 데이터의 스트림을 나타내고, 상기 깊이 데이터는 깊이 데이터의 스트림을 나타내고, 여기서, 상기 인공 현실 콘텐츠를 생성하는 단계는: 상기 현실 세계 이미지 데이터의 스트림 및 상기 깊이 데이터의 스트림을 사용하여, 상기 현실 세계 장면의 3D 메시에 대한 상기 HMD의 위치 및 방향에 기초하여 상기 인공 현실 콘텐츠를 거의 실시간으로 생성하는 단계를 포함한다.
일부 실시예들에 있어서, 상기 방법은: 상기 제2 이미지 캡처 디바이스들의 세트의 제1 눈 추적 카메라를 사용하여, 기준점들의 제1 세트에 대한 상기 사용자의 제1 동공 위치를 포함하는 이미지 데이터의 제1 세트를 캡처하는 단계; 상기 제2 이미지 캡처 디바이스들의 세트의 제2 눈 추적 카메라를 사용하여, 기준점들의 제2 세트에 대한 상기 사용자의 제2 동공 위치를 포함하는 이미지 데이터의 제2 세트를 캡처하는 단계; 및 상기 깊이 엔진을 사용하여, 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치 및 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치에 기초하여 상기 사용자의 초점을 결정하는 단계를 추가로 포함한다.
일부 실시예들에 있어서, 상기 방법은; 눈 추적기를 사용하여, 일정 기간 동안 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치를 추적하는 단계; 상기 눈 추적기를 사용하여, 일정 기간 동안 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치를 추적하는 단계; 일정 기간 동안의 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치의 움직임에 기초하여, 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치의 예상된 미래의 움직임을 결정하는 단계; 일정 기간 동안의 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치의 움직임에 기초하여, 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치의 예상된 미래의 움직임을 결정하는 단계; 및 상기 깊이 엔진을 사용하고 그리고 상기 제1 동공 위치의 예상된 미래의 움직임 및 상기 제2 동공 위치의 예상된 미래의 움직임에 기초하여, 상기 사용자의 예상된 미래 초점을 결정하는 단계를 추가로 포함한다.
일부 실시예들에 있어서, 상기 방법은: 상기 깊이 엔진을 사용하여, 상기 사용자의 초점과 일치하도록 상기 가변 초점 디스플레이의 초점 거리를 거의 실시간으로 결정하는 단계; 및 상기 깊이 엔진에 의해, 상기 결정된 초점 거리를 달성하기 위해 상기 가변 초점 디스플레이가 렌즈에 대해 이동하도록 지시하는 단계를 추가로 포함할 수 있다.
일부 실시예들에 있어서, 상기 이미지 데이터는 상기 사용자의 피사계 심도를 추가로 나타낼 수 있으며, 여기서, 상기 인공 현실 콘텐츠를 생성하는 단계는: 상기 사용자의 피사계 심도 밖에 있는 상기 인공 현실 콘텐츠의 부분들을 흐리게 하는 단계를 포함한다.
일부 실시예들에 있어서, 비일시적 컴퓨터 판독 가능 매체는, 실행될 때, 하나 이상의 프로세서로 하여금: 사용자의 물리적 환경을 나타내는 현실 세계 이미지 데이터를 캡처하게 하고; 상기 사용자 시선의 초점을 나타내는 이미지 데이터를 캡처하게 하고; 상기 사용자의 초점에 기초하여 가변 초점 디스플레이의 초점 거리를 수정하게 하고; 상기 현실 세계 이미지 데이터 및 상기 현실 세계 이미지 데이터와 관련된 깊이 데이터에 기초하여, 상기 사용자의 물리적 환경의 3-차원(3D) 장면을 생성하게 하고; 상기 사용자의 초점에 기초하여 머리-장착형 디스플레이(HMD)의 가변 초점 디스플레이상에 디스플레이하기 위해 상기 인공 현실 콘텐츠를 상기 물리적 환경의 3D 장면에 대한 오버레이로서 생성하게 하는, 명령어들을 포함한다.
본 발명의 하나 이상의 예에 대한 추가 세부 사항들은 첨부 도면 및 하기 설명에 기재되어 있다. 다른 특징, 목적 및 이점들은 상세한 설명과 도면, 그리고 청구범위로부터 명백할 것이다.
도 1a는 본 발명의 하나 이상의 기술들에 따른, 가상 장면을 사용자에게 제시하기 위한 인공 현실 시스템을 설명하는 개념도이다.
도 1b는 본 발명의 하나 이상의 기술에 따른, 한명 초과의 사용자에게 가상 환경을 제시하기 위한 인공 현실 시스템을 설명하는 개념도이다.
도 2a는 본 발명의 하나 이상의 기술에 따른, 가상 장면을 사용자에게 제시하기 위한 예시적인 머리-장착형 디스플레이(HMD) 및 예시적인 주변 디바이스를 설명하는 개념도이다.
도 2b는 본 발명의 하나 이상의 기술에 따른, 다른 예시적인 HMD를 설명하는 개념도이다.
도 3은 본 발명의 하나 이상의 기술에 따른, 도 1a 및 도 1b의 하나 이상의 다중 디바이스 인공 현실 시스템의 콘솔, HMD, 및 주변 디바이스의 예시적인 구현들을 설명하는 블록도이다.
도 4는 본 발명의 하나 이상의 기술에 따른, 도 1a 및 도 1b의 인공 현실 시스템의 HMD에 의해 가상 환경이 생성되는 예를 설명하는 블록도이다.
도 5는 본 발명의 하나 이상의 기술에 따른, HMD의 예시적인 요소들을 설명하는 개념도이다.
도 6a는 본 발명의 하나 이상의 기술에 따른, 환경 내의 초점 길이 및 제1 피사계 심도를 설명하는 개념도이다.
도 6b는 본 발명의 하나 이상의 기술에 따른, 환경 내의 초점 길이 및 제2 피사계 심도를 설명하는 개념도이다.
도 7은 본 발명의 하나 이상의 기술에 따른, 인공 현실 콘텐츠를 제공하기 위한 예시적인 동작을 설명하는 흐름도이다.
도 1a는 본 발명의 하나 이상의 기술에 따른, 가상 장면을 사용자에게 제시하기 위한 인공 현실 시스템(10)을 설명하는 개념도이다. 도 1a의 예에 있어서, 인공 현실 시스템(10)은 머리-장착형 디스플레이(HMD)(112), 주변 디바이스(136)를 포함하고, 일부 예들에 있어서 하나 이상의 외부 센서(90) 및/또는 콘솔(106)을 포함할 수 있다.
도시된 바와 같이, HMD(112)는 일반적으로 사용자(110)에 의해 착용되며, 인공 현실 콘텐츠(122)를 사용자(110)에게 제공하기 위한 가변 초점 디스플레이 및 광학 조립체를 포함한다. 또한, HMD(112)는 HMD(112)의 움직임을 추적하기 위한 하나 이상의 센서(예를 들어, 가속도계)를 포함한다. HMD(112)는 사용자(110)를 둘러싼 물리적 환경을 나타내는 이미지 데이터를 캡처하기 위한 하나 이상의 "인사이드-아웃" 이미지 캡처 디바이스(138)를 포함할 수 있다. 추가적으로, 또는 선택적으로, HMD(112)는, 인공 현실 시스템(10)이 현실 세계 이미지 데이터의 적어도 일부를 HMD(112)를 통해 사용자(110)에게 전달할 수 있도록, 현실 세계 이미지 데이터를 캡처하도록 구성된 하나 이상의 "패스-스루" 이미지 캡처 디바이스(139)를 포함할 수 있다. 일부 예들에 있어서, 패스-스루 이미지 캡처 디바이스(139)에 의해 캡처된 이미지 데이터의 해상도는 인사이드-아웃 이미지 캡처 디바이스(138)에 의해 캡처된 이미지 데이터의 해상도보다 크다. 상기 패스-스루 이미지 캡처 디바이스(139)에 의해 캡처된 이미지 데이터는 인사이드-아웃 이미지 캡처 디바이스(138)에 의해 캡처된 흑백 이미지 데이터보다 더 높은 해상도 및 컬러로 캡처된 이미지 데이터를 포함할 수 있다.
일부 예들에 있어서, HMD(112)는 눈 추적 카메라(140A) 및 눈 추적 카메라(140B)(집합적으로 "눈 추적 카메라들(140)")를 포함할 수 있다. 눈 추적 카메라들(140)의 각각의 눈 추적 카메라는 기준점들의 각각의 세트와 관련하여 사용자(110)의 동공을 나타내는 이미지 데이터를 캡처할 수 있다. 예를 들어, 눈 추적 카메라(140A)는 기준점들의 제1 세트와 관련하여 사용자(110)의 제1 동공 위치를 나타내는 이미지 데이터를 캡처할 수 있고, 눈 추적 카메라(140B)는 기준점들의 제2 세트와 관련하여 사용자(110)의 제2 동공 위치를 나타내는 이미지 데이터를 캡처할 수 있다. 눈 추적 카메라들(140)에 의해 캡처된 이미지 데이터는 기준점들의 제1 세트에 대한 제1 동공 위치 및 기준점들의 제2 세트에 대한 제2 동공 위치가 사용자(110)의 초점 및/또는 사용자(110)의 피사계 심도를 나타낼 수 있기 때문에 본원에서 "초점 데이터"로서 지칭될 수 있다. 일부 예들에 있어서, HMD(112) 및/또는 콘솔(106)상에서 실행되는 인공 현실 애플리케이션은 시선 추적 알고리즘 및/또는 신경망을 사용하여 눈 추적 카메라들(140)에 의해 캡처된 이미지 데이터에 기초하여 초점 데이터를 생성할 수 있다. 일부 예들에 있어서, 상기 초점 데이터는 눈 추적 카메라들(140)에 의해 캡처된 이미지 데이터에 추가하여 또는 대안적으로 다른 정보에 기초하여 생성될 수 있다. 예를 들어, 상기 인공 현실 애플리케이션은 사용자(110)가 상호 작용하고 있는 하나 이상의 객체에 기초하여 사용자(110)의 시선을 결정할 수 있다.
추가적으로, HMD(112)는 사용자(110)의 현실 세계의 3-차원(3D) 물리적 환경에서 하나 이상의 포인트 및/또는 객체의 깊이를 나타내는 깊이 데이터를 수집하는 하나 이상의 깊이 센서를 포함할 수 있다. 일부 예들에 있어서, 상기 깊이 센서는 적어도 2개의 인사이드-아웃 이미지 캡처 디바이스들(138)의 세트를 포함할 수 있다. 다른 예들에 있어서, 상기 깊이 센서는 독립형 깊이 센서 디바이스들을 포함할 수 있다. 예를 들어, 상기 깊이 데이터는 코너(152)가 코너(154)보다 사용자(110)에 더 가깝다는 것을 표시할 수 있다(예를 들어, 코너(152)의 깊이는 코너(154)의 깊이보다 작다). 머리-장착형 디스플레이로서 설명되어 있지만, 인공 현실 시스템(10)은 대안적으로 또는 추가적으로 인공 현실 콘텐츠(122)를 사용자(110)에게 제시하기 위한 안경 또는 다른 디스플레이 디바이스들을 포함할 수 있다.
본 예에 있어서, 콘솔(106)은 게임 콘솔, 워크스테이션, 데스크탑 컴퓨터 또는 랩탑과 같은 단일 컴퓨팅 디바이스로서 도시되어 있다. 다른 예들에 있어서, 콘솔(106)은 분산 컴퓨팅 네트워크, 데이터 센터, 또는 클라우드 컴퓨팅 시스템과 같은 복수의 컴퓨팅 디바이스들에 걸쳐 분산될 수 있다. 콘솔(106), HMD(112), 및 센서(90)는, 본 예에서 도시된 바와 같이, Wi-Fi, 메시 네트워크 또는 단거리 무선 통신 매체, 또는 이들의 조합과 같은 유선 또는 무선 네트워크일 수 있는 네트워크(104)를 통해 통신 가능하게 결합될 수 있다. 비록 HMD(112)가 본 예에서, 예를 들어, 콘솔(106)에 테더링되거나 상기 콘솔과 무선 통신하는 것으로 도시되지만, 일부 구현들에서 HMD(112)는 독립형 모바일 인공 현실 시스템으로서 동작한다.
일반적으로, 인공 현실 시스템(10)은 사용자(110)에게 디스플레이하기 위해 인공 현실 콘텐츠(122)를 렌더링하기 위해 현실 세계의 3D 물리적 환경으로부터 캡처된 정보를 사용한다. 도 1a의 예에 있어서, 사용자(110)는 HMD(112) 및/또는 콘솔(106)상에서 실행되는 인공 현실 애플리케이션에 의해 구성 및 렌더링된 인공 현실 콘텐츠(122)를 본다. 일부 예들에 있어서, 인공 현실 콘텐츠(122)는 혼합 현실 및/또는 증강 현실을 생성하기 위해 현실 세계 이미지(예를 들어, 손(132), 주변 디바이스(136), 벽(121))와 가상 객체(예를 들어, 가상 콘텐츠 아이템(124, 126) 및 가상 사용자 인터페이스(137))의 혼합물을 포함할 수 있다. 일부 예들에 있어서, 가상 콘텐츠 아이템(124, 126)은 인공 현실 콘텐츠(122) 내의 특정 위치에 매핑(예를 들어, 고정, 잠금, 배치)될 수 있다. 가상 콘텐츠 아이템의 위치는 예를 들어 벽(121) 또는 지면 중 하나에 대해 고정될 수 있다. 가상 콘텐츠 아이템에 대한 위치는 예를 들어 주변 디바이스(136) 또는 사용자에 대해 가변적일 수 있다. 일부 예들에 있어서, 인공 현실 콘텐츠(122) 내의 가상 콘텐츠 아이템의 특정 위치는 (예를 들어, 물리적 객체의 표면상의) 현실 세계의 3D 물리적 환경 내의 위치와 관련된다.
본 예에 있어서, 주변 디바이스(136)는 인공 현실 시스템(10)이 가상 사용자 인터페이스(137)를 오버레이하는 표면을 갖는 물리적인 현실 세계 디바이스이다. 주변 디바이스(136)는 존재 감지 표면의 위치를 터치하거나 호버링하는 하나 이상의 객체(예를 들면, 손가락, 스타일러스)의 존재를 검출함으로써 사용자 입력을 검출하기 위한 하나 이상의 존재 감지 표면을 포함할 수 있다. 일부 예들에 있어서, 주변 디바이스(136)는 존재 감지 디스플레이일 수 있는 출력 디스플레이를 포함할 수 있다. 일부 예들에 있어서, 주변 디바이스(136)는 스마트폰, 태블릿 컴퓨터, 개인 데이터 어시스턴트(PDA), 또는 다른 핸드-헬드 디바이스일 수 있다. 일부 예들에 있어서, 주변 디바이스(136)는 스마트워치, 스마트 링, 또는 다른 웨어러블 디바이스일 수 있다. 주변 디바이스(136)는 키오스크(kiosk) 또는 다른 고정식 또는 이동식 시스템의 일부일 수도 있다. 주변 디바이스(136)는 콘텐츠를 화면에 출력하기 위한 디스플레이 디바이스를 포함하거나 포함하지 않을 수 있다.
도 1a에 도시된 예시적인 인공 현실 경험에 있어서, 가상 콘텐츠 아이템들(124, 126)은 벽(121)상의 위치들에 매핑된다. 도 1a의 예는 또한 가상 콘텐츠 아이템(124)이 인공 현실 콘텐츠(122) 내에서만 벽(121)상에 부분적으로 나타나는 것을 도시하며, 이와 같은 가상 콘텐츠가 현실 세계, 물리적 환경에 존재하지 않음을 설명한다. 가상 사용자 인터페이스(137)는 주변 디바이스(136)의 표면에 매핑된다. 그 결과, 인공 현실 시스템(10)은, 인공 현실 환경에서 주변 디바이스(136)의 위치에 대해 고정된 사용자 인터페이스 위치에서, HMD(112)에 디스플레이하기 위한 가상 사용자 인터페이스(137)를 인공 현실 콘텐츠(122)의 일부로서 렌더링한다. 도 1a는 가상 사용자 인터페이스(137)가 인공 현실 콘텐츠(122) 내에서만 주변 디바이스(136)상에 나타나는 것으로 도시하고 있으며, 이와 같은 가상 콘텐츠가 현실 세계의 3D 물리적 환경에 존재하지 않는다는 사실을 설명한다.
상기 인공 현실 시스템(10)은 가상 콘텐츠 아이템들의 위치의 적어도 일부가 사용자(110)의 시계(130) 내에 있다는 결정에 응답하여 하나 이상의 가상 콘텐츠 아이템을 렌더링할 수 있다. 예를 들어, 인공 현실 시스템(10)은 주변 디바이스(136)가 사용자(110)의 시계(130) 내에 있는 경우에만 주변 디바이스(136)상의 가상 사용자 인터페이스(137)를 렌더링할 수 있다.
동작 동안, 상기 인공 현실 애플리케이션은 기준 프레임, 일반적으로 HMD(112)의 뷰잉(viewing) 관점에 대한 포즈 정보를 추적 및 컴퓨팅함으로써 사용자(110)에게 디스플레이하기 위한 인공 현실 콘텐츠(122)를 구성한다. HMD(112)를 기준 프레임으로 사용하고, HMD(112)의 현재 추정된 포즈에 의해 결정된 바와 같은 현재 시계(130)에 기초하여, 상기 인공 현실 애플리케이션은 일부, 예들에 있어서, 상기 현실 세계의 사용자(110)의 3D 물리적 환경에 적어도 부분적으로 오버레이될 수 있는, 3D 인공 현실 콘텐츠를 렌더링한다. 일부 예들에 있어서, 상기 인공 현실 애플리케이션은 HMD(112)의 하나 이상의 깊이 센서에 의해 캡처된 깊이 데이터를 사용하여 사용자(110)의 물리적 환경의 3D 메시를 생성할 수 있다. 일부 예들에 있어서, 상기 3D 메시는 데이터 포인트들의 세트를 포함하며, 여기서 데이터 포인트들의 세트의 데이터 포인트 서로에 대한 데이터 포인트들의 세트의 각각의 데이터 포인트 위치는 알려져 있다. 예를 들어, 상기 3D 메시는 코너(152)를 나타내는 하나 이상의 데이터 포인트가 코너(154)를 나타내는 하나 이상의 데이터 포인트보다 사용자(110)에 더 근접한다는 사실을 나타낼 수 있다. 3D 메시를 생성한 후, 상기 인공 현실 애플리케이션은 사용자(110)의 물리적 환경의 3D 장면을 생성하기 위해 상기 3D 메시상의 패스-스루 이미지 캡처 디바이스(139)에 의해 캡처된 현실 세계 이미지 데이터의 적어도 일부를 오버레이할 수 있다. 또한, 상기 인공 현실 애플리케이션은 사용자(110)의 초점에 기초하여 HMD(112)의 가변 초점 디스플레이상에 디스플레이하기 위한 물리적 환경의 3D 장면에 대한 오버레이로서 인공 현실 콘텐츠(122)를 생성할 수 있다.
일부 예들에 있어서, 상기 인공 현실 애플리케이션은 움직임 정보 및 사용자 명령과 같은 HMD(112)로부터 수신된 감지 데이터를 사용하고, 일부 예들에 있어서는 외부 카메라와 같은 임의의 외부 센서(90)로부터 데이터를 사용하여, 사용자(110)에 의한 움직임 및/또는 사용자(110)에 대한 특징 추적 정보와 같은 현실 세계의 물리적 환경 내의 3D 정보를 캡처한다. 상기 감지된 데이터에 기초하여, 상기 인공 현실 애플리케이션은 HMD(112)의 기준 프레임에 대한 현재 포즈를 결정할 수 있고, 상기 현재 포즈에 따라, 상기 인공 현실 콘텐츠(122)를 렌더링한다.
상기 인공 현실 애플리케이션은, 거의 사용자의 거의 실시간 눈 추적(예를 들어, 눈 추적 카메라(140)에 의해 수집된 이미지 데이터의 추적) 또는 다른 조건에 의해 결정될 수 있는 바와 같이, 사용자(110)의 현재 시계(130)에 기초하여 가상 콘텐츠 아이템의 생성 및 렌더링을 트리거할 수 있다. 보다 구체적으로, HMD(112)의 패스-스루 이미지 캡처 디바이스(139)는 패스-스루 이미지 캡처 디바이스(139)의 시계(130) 내에 있는 현실 세계의 3D 물리적 환경에서 객체를 나타내는 이미지 데이터를 캡처한다. 시계(130)는 일반적으로 HMD(112)의 뷰잉 관점에 대응한다. 일부 예들에 있어서, 상기 인공 현실 애플리케이션은 혼합 현실 및/또는 증강 현실을 포함하는 인공 현실 콘텐츠(122)를 제시한다. 도 1a에 도시된 바와 같이, 상기 인공 현실 애플리케이션은, 인공 현실 콘텐츠(122) 내의 객체들(124, 126)과 같은 가상 객체들을 따라 시계(130) 내에 있는, 사용자(110)의 주변 디바이스(136), 손(132), 및/또는 팔(134) 부분과 같은 현실 세계 객체의 이미지들을 렌더링할 수 있다. 다른 예들에 있어서, 상기 인공 현실 애플리케이션은 인공 현실 콘텐츠(122) 내의 시계(130) 내에 있는 사용자(110)의 주변 장치(136), 손(132), 및/또는 팔(134) 부분의 가상 표현을 렌더링할 수 있다(예를 들면, 현실 객체들을 가상 객체들로서 렌더링). 어느 한 예에 있어서, 사용자(110)는 자신의 손(132), 팔(134), 주변 디바이스(136) 및/또는 인공 현실 콘텐츠(122) 내의 시계(130) 내에 있는 임의의 다른 현실 세계 객체들의 부분을 볼 수 있다. 다른 예들에 있어서, 상기 인공 현실 애플리케이션은 사용자의 손(132) 또는 팔(134)의 표현을 렌더링하지 않을 수 있다.
동작 동안, 상기 인공 현실 애플리케이션은 HMD(112)의 인사이드-아웃 이미지 캡처 디바이스(138)에 의해 캡처된 이미지 데이터 내에서 객체 인식을 수행하여, 사용자(110)의 개별 손가락들 또는 엄지 손가락 및/또는 팔(134)의 선택적인 식별을 포함하는, 주변 디바이스(136), 손(132)을 식별한다. 또한, 상기 인공 현실 애플리케이션은 슬라이딩 윈도우 시간에 걸쳐 주변 디바이스(136), 손(132)(선택적으로 손의 특정 손가락들을 포함함), 및/또는 팔(134)의 부분의 위치, 방향 및 구성을 추적한다. 일부 예들에 있어서, 주변 디바이스(136)는 주변 디바이스(136)의 움직임 또는 방향을 추적하기 위한 하나 이상의 센서(예를 들어, 가속도계)를 포함한다.
상술된 바와 같이, 인공 현실 시스템(10)의 다수의 디바이스들은 AR 환경에서 함께 작동할 수 있으며, 여기서 각각의 디바이스는 별도의 물리적 전자 디바이스 및/또는 하나 이상의 물리적 디바이스 내의 별도의 집적 회로(예를 들면, SoC)일 수 있다. 본 예에 있어서, 주변 디바이스(136)는 인공 현실 경험을 제공하기 위해 인공 현실 시스템(10) 내에서 함께 작동하도록 HMD(112)와 작동 가능하게 쌍을 이룬다. 예를 들어, 주변 디바이스(136) 및 HMD(112)는 공동 처리 디바이스들로서 서로 통신할 수 있다. 일 예로서, 사용자가 주변 디바이스(136)상에 오버레이된 가상 사용자 인터페이스(137)의 가상 사용자 인터페이스 요소들 중 하나에 대응하는 위치에서 가상 환경의 사용자 인터페이스 제스처를 수행할 때, 상기 인공 현실 시스템(10)은 상기 사용자 인터페이스를 검출하고 HMD(112)에 렌더링되는 동작을 수행한다.
일부 예시적인 구현들에서, 본원에 설명된 바와 같이, 주변 디바이스(136) 및 HMD(112)는 각각, 공동 애플리케이션 프로세서, 센서 집합자(aggregator), 디스플레이 제어기 등과 같이 동작하는 SoC와 같은, 인공 현실 애플리케이션을 지원하도록 구성되는 하나 이상의 SoC 집적 회로를 포함할 수 있다.
일부 예들에 있어서, 상기 인공 현실 시스템(10)의 인공 현실 애플리케이션은 패스-스루 이미지 캡처 디바이스(139)에 의해 캡처된 현실 세계 이미지 데이터 및 눈 추적 카메라(140)에 의해 캡처된 초점 데이터에 기초하여 HMD(112)에 의해 디스플레이하기 위한 인공 현실 콘텐츠(122)를 생성하도록 구성된다. 예를 들어, 인공 현실 애플리케이션은 눈 추적 카메라(140)에 의해 캡처된 초점 데이터에 기초하여 사용자(110)의 시선의 초점 및/또는 사용자(110)의 피사계 심도를 결정할 수 있다. 일부 예들에 있어서, 상기 초점 데이터는 기준점들의 제1 세트와 관련하여 사용자(110)의 제1 동공의 위치를 지시하는 이미지 데이터 및 기준점들의 제2 세트와 관련하여 사용자(110)의 제2 동공의 위치를 지시하는 이미지 데이터를 나타낼 수 있다. 상기 인공 현실 애플리케이션은 상기 기준점들의 제1 세트에 대한 제1 동공의 위치 및 기준점들의 제2 세트에 대한 제2 동공의 위치에 기초하여 사용자(110)의 초점을 결정할 수 있다. 초점은 사용자(110)가 초점을 맞추고 있는 지점 또는 평면을 지칭할 수 있다. 피사계 심도는 사용자에 의해 인지되는 이미지 또는 장면에서 초점이 맞춰진(예를 들면, 선명하게 보이는) 가장 가까운 객체와 가장 먼 객체 사이의 거리를 지칭할 수 있다. 본원에 설명된 바와 같이, 피사계 심도는 상기 가장 가까운 초점이 맞취진 객체와 사용자 사이의 거리, 및 가장 먼 초점이 맞춰진 객체와 사용자 사이의 거리를 추가로 포함할 수 있다.
추가적으로 또는 대안적으로, 인공 현실 애플리케이션은 인사이드-아웃 이미지 캡처 디바이스(138), 패스-스루 이미지 캡처 디바이스(139), 깊이 프로젝터 센서, 또는 이들의 임의의 조합에 의해 캡처된 이미지 데이터에 기초하여 사용자(110)의 초점을 결정할 수 있다. 예를 들어, 상기 인공 현실 애플리케이션은 인공 현실 콘텐츠(122)에서 하나 이상의 객체와의 사용자 상호 작용을 검출하는 것에 기초하여 사용자(110)의 초점을 결정할 수 있다. 예를 들어, 상기 인공 현실 애플리케이션은 사용자(110)의 손(134)이 시계(130) 내에서 주변 디바이스(136)를 보유하고 있는 것으로 결정할 수 있다. 상기 인공 현실 애플리케이션은 사용자(110)가 시계(130) 내에서 주변 디바이스(136)와 상호 작용하고 있다는 식별에 기초하여 사용자(110)의 초점이 주변 디바이스(136)에 근접한 것으로 결정할 수 있다. 일부 예들에 있어서, 상기 인공 현실 애플리케이션은 눈 추적 카메라(140)에 의해 캡처된 초점 데이터 및 시계(130) 내의 하나 이상의 객체와의 사용자 상호 작용의 식별 둘 모두에 기초하여 사용자(110)의 초점을 결정할 수 있다. 일부 예들에 있어서, 상기 인공 현실 애플리케이션은 눈 추적 카메라(140)에 의해 캡처된 초점 데이터에 기초하여 사용자(110)의 초점을 결정할 수 있다. 일부 예들에 있어서, 상기 인공 현실 애플리케이션은 시계(130) 내의 하나 이상의 객체와의 사용자 상호 작용의 식별에 기초하여 사용자(110)의 초점을 결정할 수 있다.
일부 예들에 있어서, 상기 인공 현실 애플리케이션은 사용자(110)의 하나 이상의 동공 및/또는 각막에 관한 정보에 기초하여 사용자(110)의 초점을 결정할 수 있다. 예를 들어, 상기 눈 추적 카메라(140)에 의해 캡처된 이미지 데이터는 사용자(110)의 하나 이상의 동공 및/또는 각막에 관한 정보를 포함할 수 있다. 일부 예들에 있어서, 상기 눈 추적 카메라(140)에 의해 캡처된 이미지 데이터는 사용자(110)의 좌측 동공의 중심 위치 및/또는 우측 동공의 중심 위치를 포함할 수 있다. 상기 인공 현실 애플리케이션은 상기 좌측 동공의 중심 위치 및/또는 상기 우측 동공의 중심 위치에 기초하여 사용자(110)의 초점을 결정할 수 있다. 일부 경우에, 상기 인공 현실 애플리케이션은 사용자(110)의 동공 및/또는 각막에 관한 다른 정보에 기초하여 사용자(110)의 초점 및/또는 시선 방향을 결정할 수 있다. 예를 들어, 상기 인공 현실 애플리케이션은 좌측 각막의 형상, 우측 각막의 형상, 또는 좌측 각막 또는 우측 각막 중 하나 또는 둘 모두로부터 반사된 적외선을 나타내는 정보에 기초하여 사용자(110)의 초점 및/또는 시선 방향을 결정할 수 있다.
상술된 바와 같이, 상기 인공 현실 애플리케이션은 HMD(112)의 하나 이상의 깊이 센서(예를 들어, 인사이드-아웃 이미지 캡처 디바이스(138))에 의해 수집된 깊이 데이터에 기초하여 3D 메시를 생성할 수 있다. 상기 3D 메시는, 데이터 포인트들의 세트의 각각의 다른 데이터 포인트에 대한 데이터 포인트들의 세트의 각각의 데이터 포인트의 위치가 알려져 있는, 데이터 포인트들의 세트를 포함할 수 있다. 상기 3D 메시는 사용자(110)의 물리적 환경의 지형을 나타낼 수 있다. 예를 들어, 상기 3D 메시는 사용자(110)의 현실 세계 물리적 환경 내에서 하나 이상의 물리적 객체 및/또는 포인트(예를 들어, 벽(121), 손(132), 팔(134), 주변 디바이스(136), 코너(152), 및 코너(154))의 위치에 대한 디지털 표현을 포함한다. 상기 3D 메시는 예를 들어 손(132)이 코너(152)보다 사용자(110)에 더 가깝다는 것을 나타낼 수 있다. 또한, 일부 경우에, 상기 3D 메시는 사용자(110)의 현실 세계 3D 물리적 환경 내의 임의의 2개 이상의 객체들 또는 포인트들 사이의 거리를 나타낼 수 있다. 상기 인공 현실 애플리케이션은 거의 실시간으로 3D 메시를 생성할 수 있으므로, 상기 3D 메시는 사용자(110)의 물리적 환경의 변화를 반영한다. 예를 들어, 사용자(110)가 손(132)을 움직이면, 상기 인공 현실 애플리케이션은 거의 실시간으로 손(132)의 움직임을 고려하도록 3D 메시를 업데이트할 수 있다. 상기 인공 현실 애플리케이션은 패스-스루 이미지 캡처 디바이스(139)에 의해 수집된 현실 세계 이미지 데이터의 적어도 일부를 상기 3D 메시상에 오버레이함으로써 3D 장면을 생성할 수 있다. 추가적으로, 상기 인공 현실 애플리케이션은 사용자(110)의 검출된 초점에 기초하여 상기 3D 장면에 대한 오버레이로서 인공 현실 콘텐츠(122)를 생성할 수 있다.
상기 3D 메시 및 눈 추적 카메라(140)는 상기 인공 현실 애플리케이션이 사용자(110)에게 가변 초점 경험을 제공하도록 할 수 있다. 예를 들어, 상기 인공 현실 애플리케이션은 사용자(110)의 피사계 심도를 식별할 수 있다. 예로서, 상기 피사계 심도는 코너(152)를 포함할 수 있지만, 코너(154), 주변 디바이스(136), 손(132), 및 팔(134)을 제외할 수 있다. 순차적으로, 상기 인공 현실 애플리케이션은 사용자(110)의 피사계 심도와 일치하도록 거의 실시간으로 인공 현실 콘텐츠(122)를 생성할 수 있다. 다시 말해서, 상기 인공 현실 애플리케이션은, 사용자(110)가 피사계 심도 내의 코너(152) 및 다른 포인트들이 예리하거나 또는 초점이 맞는 것으로 인식하는 반면, 코너(154), 주변 디바이스(136), 손(132), 팔(134), 및 피사계 심도 외부의 다른 객체들 또는 포인트들은 흐릿하거나 초점이 맞지 않는 것으로 인식하도록, 인공 현실 콘텐츠(122)를 생성할 수 있다. 상기 3D 메시는 HMD(112)의 위치에 대한 인공 현실 콘텐츠(122)에 포함된 각각의 객체의 깊이를 나타낸다. 이와 같이, 인공 현실 콘텐츠(122)를 생성하기 위해, 상기 인공 현실 애플리케이션은 상기 3D 메시에 의해 표시된 객체들의 깊이가 사용자(110)의 검출된 피사계 심도 내에 있는지의 여부에 기초하여 인공 현실 콘텐츠(122) 내의 객체를 흐리게 하거나 흐리게 하지 않을 수 있다.
일부 예들에 있어서, 상기 인공 현실 애플리케이션은 인공 현실 콘텐츠(122) 내의 하나 이상의 객체와 관련하여 사용자(110)의 초점을 검출하는 것에 기초하여 인사이드-아웃 이미지 캡처 디바이스(138) 및 다른 깊이 센서를 교정할 수 있다. 일부 예들에 있어서, 상기 인공 현실 애플리케이션은 사용자(110)가 코너(152)와 같은 인공 현실 콘텐츠(122)의 객체상에 초점을 맞추고 있다고 결정할 수 있다. 이와 같이, 상기 인공 현실 애플리케이션은 사용자(110)가 코너(152)상에 초점을 맞추고 있는 동안 사용자(110)의 초점을 결정할 수 있다. 상기 인공 현실 애플리케이션은 사용자(110)가 코너(152) 및/또는 사용자(110)의 초점상에 초점을 맞추는 동안 사용자(110)가 인공 현실 콘텐츠(122) 내의 다른 객체상에 초점을 맞추는 동안 사용자(110)의 초점에 기초하여 인사이드-아웃 이미지 캡처 디바이스(138)를 보정할 수 있다.
HMD(112)는 검출된 사용자(110)의 초점에 기초하여 HMD(112)의 가변 초점 디스플레이의 초점 거리를 수정할 수 있다. 예를 들어, 상기 인공 현실 애플리케이션은 눈 추적 카메라(140)에 의해 수집된 이미지 데이터에 기초하여 사용자(110)의 초점을 검출할 수 있다. 순차적으로, HMD(112)는 사용자(110)의 눈에 대해 HMD(112)의 가변 초점 디스플레이를 이동시킬 수 있다. 예를 들어, HMD(112)는 모터(예를 들어, 전기 모터)를 포함하는 가변 초점 디스플레이상에서 사용자(110)에게 인공 현실 콘텐츠(122)를 디스플레이할 수 있다. 상기 인공 현실 애플리케이션은 검출된 사용자(110)의 초점과 일치시키기 위해 사용자(110)의 눈에 대해 디스플레이 패널을 이동시키도록 명령어를 출력할 수 있다. 이와 같이, HMD(112)는 인공 현실 애플리케이션이 가변 초점 디스플레이를 이동시키도록 허용하는 기계적 가변 초점 시스템을 구현할 수 있다. 상기 인공 현실 애플리케이션은 거의 실시간으로 사용자(110)의 초점을 결정할 수 있다. 이러한 방식으로, 상기 인공 현실 애플리케이션은 검출된 사용자(110)의 초점에 기초하여 거의 실시간으로 상기 가변 초점 디스플레이의 초점 길이를 수정할 수 있다. 추가적으로, 또는 대안적으로, HMD(112)는 결정된 사용자(110)의 초점에 기초하여 HMD(112)의 하나 이상의 이미징 요소의 특성을 변경하는 광학 가변 초점 시스템을 구현할 수 있다.
일부 예들에 있어서, 상기 인공 현실 애플리케이션은 눈 추적 카메라(140)에 의해 수집된 초점 데이터에 기초하여 사용자(110)의 미래 초점을 예측할 수 있다. 예를 들어, 인공 현실 애플리케이션은 일정 기간 동안 기준점들의 제1 세트와 관련된 사용자(110)의 제1 동공 위치를 추적할 수 있고, 일정 기간 동안 기준점들의 제2 세트와 관련된 사용자(110)의 제2 동공 위치를 추적할 수 있다. 이어서, 상기 인공 현실 애플리케이션은, 일정 기간에 걸친 기준점들의 제1 세트에 대한 제1 동공 위치의 움직임에 기초하여, 기준점들의 제1 세트에 대한 제1 동공 위치의 예상된 미래 움직임을 결정할 수 있고, 일정 기간에 걸친 기준점들의 제2 세트에 대한 제2 동공 위치의 움직임에 기초하여, 기준점들의 제2 세트에 대한 제2 동공 위치의 예상된 미래 움직임을 결정할 수 있다. 상기 인공 현실 애플리케이션은, 제1 동공 위치의 예측된 미래 움직임 및 제2 동공 위치의 예측된 미래 움직임에 기초하여, 사용자(110)의 예측된 미래 초점을 결정할 수 있다. 일부 예들에 있어서, 상기 인공 현실 애플리케이션은 인공 현실 콘텐츠(122)를 생성할 수 있고 그리고/또는 사용자(110)의 예측된 미래 초점 거리에 기초하여 가변 초점 디스플레이의 초점 거리를 수정할 수 있다. 추가적으로 또는 대안적으로, 상기 인공 현실 애플리케이션은 인공 현실 콘텐츠(122)를 생성할 수 있고 그리고/또는 사용자(110)의 예측된 미래 초점과 사용자(110)의 현재 초점 둘 모두에 기초하여 가변 초점 디스플레이의 초점 거리를 수정할 수 있다.
본원에 설명된 하나 이상의 기술은 실제 애플리케이션을 제공하는 하나 이상의 기술적 개선을 제공할 수 있다. 예를 들어, 사용자의 초점 및 피사계 심도 중 하나 또는 둘 다를 결정하기 위해 하나 이상의 눈 추적 카메라(140)에 의해 캡처된 초점 데이터를 사용함으로써, 상기 인공 현실 애플리케이션은 가상 장면을 생성하기 위해 포커스 데이터를 사용하지 않는 인공 현실 시스템과 비교하여 HMD(112)에 의해 디스를레이되는 가상 장면(예를 들어, 인공 현실 콘텐츠(122))을 개선할 수 있다. 다시 말해서, 인공 현실 시스템(10)은 사용자(110)의 피사계 심도 내에 있는 객체에 초점을 맞추기 위해 인공 현실 콘텐츠(122)를 맞춤화할 수 있어, 인공 현실 시스템(10)이 현실 세계 환경을 모방할 수 있게 허용한다. 추가적으로, 상기 3-차원 메시는 HMD(112)에 의해 사용자(110)에게 디스플레이되는 인공 현실 콘텐츠(122)에 대한 기초로서 역할을 하는, 사용자(110)에 근접한 현실 세계 환경의 일부인 하나 이상의 객체의 깊이를 나타내는 정보를 포함할 수 있다. 이와 같이, 사용자가 인공 현실 콘텐츠(122)에서 하나 이상의 객체에 초점을 맞출 때, 상기 HMD(112)는 검출된 사용자(112)의 초점에 기초하여 가변 초점 디스플레이의 초점 거리를 수정할 수 있다.
도 1b는 본 발명의 하나 이상의 기술에 따라, 1명 초과의 사용자에게 가상 환경을 제시하기 위한 인공 현실 시스템(20)을 설명하는 개념도이다. 도 1a의 인공 현실 시스템(10)과 유사하게도, 일부 예들에 있어서, 도 1b의 인공 현실 시스템(20)은 다중 사용자 인공 현실 환경 내에서 가상 콘텐츠 아이템을 생성 및 렌더링할 수 있다. 인공 현실 시스템(20)은 또한 다양한 예들에 있어서 사용자에 의한 주변 디바이스(136)와의 하나 이상의 특정 상호 작용의 검출에 응답하여 특정 가상 콘텐츠 아이템 및/또는 그래픽 사용자 인터페이스 요소를 생성하고 사용자에게 렌더링할 수 있다.
도 1b의 예에 있어서, 인공 현실 시스템(20)은 외부 카메라(102A, 102B)(총칭하여 "외부 카메라들(102)"), HMD(112A-112C)(총칭하여 "HMD들(112)"), 제어기(114A 및 114B)(총칭하여 "제어기들(1106)"), 콘솔(106) 및 센서(90)를 포함한다. 도 1b에 도시된 바와 같이, 인공 현실 시스템(20)은, 각각의 사용자에 대해 대응하는 기준 프레임의 현재 뷰잉 관점에 기초하여, 콘솔(106) 및/또는 HMD(112)상에서 실행되는 인공 현실 애플리케이션이 사용자(110A-110C)(총칭하여 "사용자들(110)") 각각에게 인공 현실 콘텐츠를 제공하는 다중 사용자 환경을 나타낸다. 즉, 본 예에 있어서, 상기 인공 현실 애플리케이션은 각각의 HMD(112)의 기준 프레임에 대한 포즈 정보를 추적 및 컴퓨팅함으로써 인공 현실 콘텐츠를 구성한다. 인공 현실 시스템(20)은 카메라(102), HMD(112) 및 제어기(114)로부터 수신된 데이터를 사용하여, HMD(112)의 대응하는 기준 프레임에 대한 업데이트된 포즈 정보를 컴퓨팅하는 데 사용하기 위해, 사용자(110)에 의한 움직임 및/또는 사용자(110) 및 객체(108)에 대한 추적 정보와 같은 현실 세계 환경 내의 3D 정보를 캡처한다. 일례로서, 상기 인공 현실 애플리케이션은, HMD(112C)에 대해 결정된 현재 뷰잉 관점에 기초하여, 가상 객체(128A-128B)(집합적으로 "가상 객체들(128)")를 갖는 인공 현실 콘텐츠(122)를 현실 세계 객체(108A-108B)(집합적으로, "현실 세계 개체 들(108)")에 공간적으로 오버레이되는 것으로서 렌더링할 수 있다. 또한, 상기 HMD(112C)의 관점으로부터, 인공 현실 시스템(20)은 각각 사용자(110A, 110B)에 대한 추정된 위치에 기초하여 아바타(120A, 120B)를 렌더링한다. HMD(112C)는 도 1의 HMD(112)의 일 예일 수 있다.
각각의 HMD(112)는 인공 현실 시스템(20) 내에서 동시에 동작한다. 도 1b의 예에 있어서, 사용자(110) 각각은 상기 인공 현실 애플리케이션의 "플레이어" 또는 "참가자"일 수 있고, 임의의 사용자들(110)은 상기 인공 현실 애플리케이션의 "관람자" 또는 "관찰자"일 수 있다. HMD(112C)는, 사용자(110C)의 손(132) 및/또는 팔(134)을 추적하고 시계(130) 내에 있는 손(132)의 부분을 인공 현실 콘텐츠(122) 내의 가상 손(132)으로 렌더링함으로써, 실질적으로 도 1a의 HMD(112)와 유사하게 동작할 수 있다. HMD(112B)는 사용자(110B)에 의해 보유되는 제어기(114)로부터 사용자 입력을 수신할 수 있다. 일부 예들에 있어서, 제어기(114A 및/또는 114B)는 도 1a의 주변 디바이스(136)에 대응할 수 있으며, 도 1a의 주변 디바이스(136)와 실질적으로 유사하게 동작할 수 있다. HMD(112A)는 또한 도 1a의 HMD(112)와 실질적으로 유사하게 동작할 수 있으며, 사용자(110A)의 손(132A, 132B)에 의해 주변 디바이스(136)상에서 또는 주변 디바이스(136)로 수행되는 제스처의 형태로 사용자 입력을 수신할 수 있다. HMD(112B)는 사용자(110B)의 의해 보유되는 제어기(114)로부터 사용자 입력을 수신할 수 있다. 제어기(114)는 블루투스와 같은 단거리 무선 통신의 근거리 통신을 사용하거나, 유선 통신 링크를 사용하거나, 또는 다른 유형의 통신 링크를 사용하여 HMD(112B)와 통신할 수 있다.
일부 예들에 있어서, 인공 현실 시스템(20)의 콘솔(106) 및/또는 HMD(112C)는, 가상 콘텐츠 아이템(129)과 관련된 벽(121)의 일부가 HMD(112C)의 시야(130) 내에 올 때 사용자(110C)에게 디스플레이된 인공 현실 콘텐츠(122) 위에 오버레이될 수 있는, 가상 콘텐츠 아이템(129)(예를 들어, GIF, 사진, 애플리케이션, 라이브 스트림, 비디오, 텍스트, 웹-브라우저, 그림, 애니메이션, 3D 모델, (2차원 및 3차원 데이터 세트를 포함하는) 데이터 파일의 표현, 또는 임의의 다른 가시적 미디어)을 포함하는 가상 표면을 생성 및 렌더링할 수 있다. 도 1b에 도시된 바와 같이, HMD(112C)의 이미지 캡처 디바이스(138)를 통해 캡처된 이미지 데이터에 추가하여 또는 그의 대안적으로, 외부 카메라(102)로부터의 입력 데이터는 주변 디바이스(136) 및/또는 사용자(110C)의 손(132)과 같은 사용자(110C)의 손 및 팔의 특정 동작, 구성, 위치 및/또는 방향을 추적 및 검출하기 위해 사용될 수 있으며, 이는 손의 손가락(손가락, 엄지)의 개별 및/또는 조합의 움직임을 포함한다.
일부 예들에 있어서, 상기 인공 현실 애플리케이션은 콘솔(106)상에서 실행될 수 있고, 외부 카메라(102A, 102B)를 사용하여 HMD(112A)의 사용자에 의해 수행될 수 있는 입력 제스처를 식별하기 위해 손(132B)의 구성, 위치, 및/또는 방향을 분석할 수 있다. 유사하게도, HMD(112C)는 HMD(112C)의 사용자에 의해 수행될 수 있는 제스처를 입력하기 위해 주변 디바이스(136) 및 손(132C)의 구성, 위치, 및/또는 방향을 분석하기 위해 이미지 캡처 디바이스(138)를 활용할 수 있다. 일부 예들에 있어서, 주변 디바이스(136)는 주변 디바이스(136)의 움직임 또는 방향을 추적하기 위한 하나 이상의 센서(예를 들어, 가속도계)를 포함한다. 상기 인공 현실 애플리케이션은 도 1a와 관련하여 위에서 설명된 것과 유사한 방식으로 그와 같은 제스처, 움직임 및 방향에 응답하여 가상 콘텐츠 항목 및/또는 UI 요소들을 렌더링할 수 있다.
외부 카메라(102) 및 인사이드-아웃 이미지 캡처 디바이스(138)는 가시광선 스펙트럼, 적외선 스펙트럼 또는 기타 스펙트럼의 이미지를 캡처할 수 있다. 예를 들면, 객체, 객체 포즈 및 제스처를 식별하기 위한, 본원에 설명된 이미지 처리는 적외선 이미지, 가시광선 스펙트럼 이미지 등을 처리하는 것을 포함할 수 있다.
인공 현실 시스템(20)의 디바이스는 AR 환경에서 함께 작동할 수 있다. 예를 들어, 주변 디바이스(136)는 HMD(112C)와 페어링되어 AR 시스템(20) 내에서 공동으로 동작한다. 유사하게도, 제어기(114)는 HMD(112B)와 페어링되어 AR 시스템(20) 내에서 공동으로 동작한다. 주변 디바이스(136), HMD(112) 및 제어기(114)는 각각 인공 현실 애플리케이션을 위한 작업 환경을 가능하게 하도록 구성된 하나 이상의 SoC 집적 회로를 포함할 수 있다.
일부 예들에 있어서, HMD들(112)의 각각의 HMD는 하나 이상의 이미지 캡처 디바이스 및 하나 이상의 눈 추적 카메라를 포함한다. 예를 들어, HMD(112C)는 인사이드-아웃 이미지 캡처 디바이스(138), 패스-스루 이미지 캡처 디바이스(139) 및 눈 추적 카메라(140A-140B)(총칭하여 "눈 추적 카메라들(140)")를 포함한다. 상기 인공 현실 애플리케이션은 HMD들(112) 중 임의의 하나 이상에 의한 디스플레이를 위해 인공 현실 콘텐츠를 생성할 수 있다. HMD들(112) 각각은 도 1의 HMD(112)와 관련하여 설명된 임의의 하나 이상의 기술을 수행할 수 있다.
도 2a는 본 발명의 하나 이상의 기술들에 따른, 가상 장면을 사용자에게 제시하기 위한 예시적인 HMD(112) 및 예시적인 주변 디바이스(136)를 설명하는 개념도이다. 도 2a의 HMD(112)는 도 1a 및 도 1b의 HMD들(112) 중 임의의 것의 예일 수 있다. HMD(112)는 도 1a 및 도 1b의 인공 현실 시스템(10, 20)과 같은 인공 현실 시스템의 일부일 수 있거나, 또는 본원에 기술된 기술을 구현하도록 구성된 독립형 모바일 인공 현실 시스템으로서 동작할 수 있다.
본 예에 있어서, HMD(112)는 전방 강성 본체 및 HMD(112)를 사용자에게 고정하기 위한 밴드를 포함한다. 또한, HMD(112)는 인공 현실 콘텐츠를 사용자에게 제공하도록 구성된 내부 대면 가변 초점 디스플레이(203)를 포함한다. 가변 초점 디스플레이(203)는 액정 디스플레이(LCD), 양자점 디스플레이, 도트 매트릭스 디스플레이, 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 음극선관(CRT) 디스플레이, e-잉크 또는 흑백, 컬러 또는 시각적 출력을 생성할 수 있는 기타 유형의 디스플레이와 같은, 임의의 적합한 디스플레이 기술일 수 있다. 일부 예들에 있어서, 상기 가변 초점 디스플레이는 사용자의 각각의 눈에 개별 이미지를 제공하기 위한 입체 디스플레이이다. 일부 예들에 있어서, HMD(112)의 전방 강성 본체에 대한 디스플레이(203)의 알려진 방향 및 위치는, HMD(112) 및 사용자의 현재 뷰잉 관점에 따라 인공 현실 콘텐츠를 렌더링하기 위해 HMD(112)의 위치 및 방향을 추적할 때, 로컬 원점이라고도 언급되는 기준 프레임으로서 사용된다. 다른 예들에 있어서, HMD(112)는 안경 또는 고글과 같은 다른 웨어러블 머리-장착형 디스플레이의 형태를 취할 수 있다. 일부 예들에 있어서, HMD(112)는 사용자의 양쪽 눈에 순차적으로 또는 동시에 이미지를 제공하기 위해 단일 가변 초점 디스플레이(203)를 포함할 수 있다. 일부 예들에 있어서, HMD(112)는 2개의 가변 초점 디스플레이, 또는 사용자(110)의 눈당 하나의 가변 초점 디스플레이를 포함할 수 있다. 일부 예들에 있어서, HMD(112)는 미니어처 프로젝터(miniature projector)에 의해 생성된 각도 도메인의 이미지를 사용자의 눈에 직접 전달하기 위해 사용되는 동공 복제 도파관을 포함할 수 있다.
일부 예들에 있어서, 디스플레이(203)는 HMD(112) 내에서 축(204)을 따라 이동할 수 있다. 예를 들어, 디스플레이(203)의 이동은 디스플레이(203)를 HMD(112) 사용자의 눈(들)으부터 더 가깝게 또는 더 멀리 이동시키도록 구성된 모터(예를 들어, 전기 모터)에 의해 제어될 수 있다. 디스플레이(203)를 이동시킴으로써, HMD(112)의 사용자는 사용자가 디스플레이(203)에 의해 제시된 인공 현실 콘텐츠상에 초점을 맞추는 방식을 변경할 수 있다. 예를 들어, 디스플레이(203)를 사용자의 눈에 더 가깝게 이동시키거나 또는 디스플레이(203)를 사용자의 눈으로부터 더 멀리 이동시킴으로써 디스플레이(203)의 초점 거리가 사용자의 초점과 일치되게 할 수 있다. 이와 같은 방식으로, HMD(112)가 디스플레이(203)에 의해 제시되는 인공 현실 콘텐츠의 초점을 변경하도록 구성되기 때문에, HMD(112)는 가변 초점 디바이스를 나타낼 수 있다.
추가로 도 2a에 도시된 바와 같이, 본 예에 있어서, HMD(112)는, HMD(112)의 현재 가속도를 나타내는 데이터를 출력하는 하나 이상의 가속도계(관성 측정 유닛 또는 "IMU"로도 지칭됨), HMD(112)의 위치를 나타내 데이터를 출력하는 GPS, 다양한 객체들로부터 HMD(112)의 거리를 나타내는 데이터를 출력하는 레이더 또는 소나, 또는 물리적 환경 내의 HMD(112) 또는 다른 객체들의 위치 또는 방향의 표시를 제공하는 다른 센서들과 같은, 하나 이상의 모션 센서(206)를 추가로 포함한다. HMD(112)는 HMD(112) 사용자의 현실 세계의 3D 물리적 환경에서 하나 이상의 포인트 및/또는 객체의 깊이를 나타내는 깊이 데이터를 수집할 수 있다. 일부 예들에 있어서 깊이 센서(208)는 깊이 데이터를 수집할 수 있다. 일부 예들에 있어서 인사이드-아웃 이미지 캡처 디바이스(138)는 이미지 데이터를 수집할 수 있다.
HMD(112)는, 물리적 환경을 나타내는 이미지 데이터를 캡처하도록 구성되는, 비디오 카메라, 레이저 스캐너, 도플러 레이더 스캐너, 깊이 스캐너 등과 같은, 통합된 인사이드-아웃 이미지 캡처 디바이스(138A 및 138B)(집합적으로 "인사이드-아웃 이미지 캡처 디바이스들(138)")를 포함할 수 있다. 보다 구체적으로, 인사이드-아웃 이미지 캡처 디바이스(138)는, 일반적으로 HMD(112)의 뷰잉 관점에 대응하는, 인사이드-아웃 이미지 캡처 디바이스(138)의 시계(130A, 130B) 내에 있는 (주변 디바이스(136) 및/또는 손(132) 포함하는) 물리적 환경에서 객체들을 나타내는 이미지 데이터를 캡처한다. 일부 예들에 있어서, 인사이드-아웃 이미지 캡처 디바이스들(138) 중 둘 이상은 HMD(112) 사용자의 현실 세계의 3D 물리적 환경에서 하나 이상의 포인트 및/또는 객체의 깊이를 나타내는 깊이 데이터를 수집할 수 있다. 이와 같은 방식으로, 인사이드-아웃 이미지 캡처 디바이스(138)는 깊이 센서(208)를 나타낼 수 있다. 다른 경우에, 인사이드-아웃 이미지 캡처 디바이스(138) 및 깊이 센서(208)는 별도의 디바이스일 수 있다.
HMD(112)는 하나 이상의 패스-스루 이미지 캡처 디바이스(139)를 포함할 수 있다. 패스-스루 이미지 캡처 디바이스(139)는 인사이드-아웃 이미지 캡처 디바이스(138)보다 더 높은 해상도 및 컬러로 현실 세계 이미지 데이터를 캡처하도록 구성될 수 있으며, 이는 인공 현실 시스템이 현실 세계 이미지 데이터의 적어도 일부를 HMD(112)를 통해 사용자에게 표시되거나 "전달"되도록 허용한다. 다시 말해서, HMD(112)는 사용자가 HMD(112)를 사용하지 않고 볼 수 있는 현실 세계 장면의 하나 이상의 요소, 객체 및 양태들을 포함하는 가상 장면을 사용자에게 디스플레이할 수 있다.
HMD(112)는 감지된 데이터를 처리하고 디스플레이(203)상에 인공 현실 콘텐츠를 제시하기 위해 프로그래머블(programmable) 동작을 실행하기 위한 작업 환경을 제공하기 위해 하나 이상의 프로세서, 메모리, 및 하드웨어를 갖는 하나 이상의 인쇄 회로 기판 및 내부 전원을 포함할 수 있는 내부 제어 유닛(210)을 포함한다. 제어 유닛(210)에 의해 수행되는 것으로서 본원에서 설명되는 하나 이상의 기술은, 일부 예들에 있어서, 콘솔(106), 주변 디바이스(136), 및 HMD(112) 중 임의의 하나 또는 조합에 의해 수행될 수 있다.
HMD(112)는 눈 추적 카메라(140A) 및 눈 추적 카메라(140B)(집합적으로 "눈 추적 카메라들(140)")를 포함할 수 있다. 눈 추적 카메라들(140)의 각각의 눈 추적 카메라는 기준점들의 각각의 세트와 관련하여 HMD(112) 사용자의 동공을 나타내는 이미지 데이터를 캡처할 수 있다. 예를 들어, 눈 추적 카메라(140A)는 기준점들의 제1 세트와 관련하여 사용자의 제1 동공(예를 들어, 좌측 동공)의 위치를 나타내는 이미지 데이터를 캡처할 수 있고, 눈 추적 카메라(140B)는 기준점들의 제2 세트와 관련하여 사용자의 제2 동공(예를 들어, 우측 동공)의 위치를 나타내는 이미지 데이터를 캡처할 수 있다. 일부 예들에 있어서, 눈 추적 카메라들(140)에 의해 캡처된 이미지 데이터는, 기준점들의 제1 세트와 관련된 제1 동공의 위치와 기준점들의 제2 세트와 관련된 제2 동공의 위치가 사용자의 피사계 심도(예를 들면, 초점)를 나타낼 수 있기 때문에, 초점 데이터를 나타낼 수 있다.
피사계 심도는 사용자에 의해 인지되는 이미지 또는 장면에서 초점이 맞춰지는(예를 들어, 선명하게 보이는) 가까운 객체와 가장 먼 객체 사이의 거리를 나타낼 수 있다. 본원에 설명된 바와 같이, 피사계 심도는 추가적으로 가장 가까이 초점이 맞춰진 객체와 사용자 사이의 거리, 및 가장 멀리 초점이 맞춰진 객체와 사용자 사이의 거리를 추가로 포함할 수 있다. 예를 들어, 관찰자에게 초점이 맞춰진 가장 가까운 객체가 관찰자로부터 10 m 떨어져 있고 관찰자에게 초점이 맞춰진 가장 먼 객체가 관찰자로부터 11.5 m 떨어져 있는 경우, 관찰자의 초점 깊이는 1.5 m이다. 이와 같은 예에 있어서, 10 m보다 가까운 객체와 12 m보다 먼 객체는 관찰자에게 흐릿하게 보일 수 있으며, 10 m 내지 12 m 범위 내의 객체는 관찰자에게 선명하게 보일 수 있다. 일부 예들에 있어서, 패스-스루 이미지 캡처 디바이스(139)에 의해 캡처된 이미지 데이터의 피사계 심도는 패스-스루 이미지 캡처 디바이스(139)와 이미지 캡처 디바이스(139)가 초점을 맞추는 객체 사이의 거리인 "객체까지의 거리"에 비례할 수 있다. 이미지 캡처 디바이스(139)가 인공 현실 콘텐츠(122) 내의 주변 디바이스에 초점을 맞추는 경우, 이미지 캡처 디바이스(139)에 의해 캡처된 이미지 데이터의 피사계 심도는 예를 들어 이미지 캡처 디바이스(139)가 코너(154)상에 초점을 맞추는 경우보다 작을 수 있다. 렌즈의 광학 도수는 어떤 경우에는 거리의 함수일 수도 있다. 예를 들어, 렌즈의 광학 도수는 렌즈의 초점 거리에 반비례한다. 디옵터는 렌즈의 광학 도수를 측정하는 단위이다.
일 예에 있어서, 제어 유닛(210)은, 감지된 데이터(예를 들어, 이미지 캡처 디바이스(102), 인사이드-아웃 이미지 캡처 디바이스(138) 및 패스-스루 이미지 캡처 디바이스 중 임의의 하나 이상에 의해 캡처된 이미지 데이터, 및 GPS 센서로부터의 위치 정보)에 기초하여, 인사이드-아웃 이미지 캡처 디바이스(138)의 시야(130A, 130B) 내에 포함된 위치 또는 이미지 캡처 디바이스(139)의 시야(130C) 내에 포함된 위치와 관련된 하나 이상의 가상 콘텐츠 아이템(예를 들어, 도 1a의 가상 콘텐츠 아이템(124, 126))을 디스플레이(203)상에 표시하기 위해 생성 및 렌더링하도록 구성된다. 도 1a 및 도 1b와 관련하여 설명된 바와 같이, 가상 콘텐츠 아이템은 현실 세계 환경 내의 위치와 관련될 수 있고, 제어 유닛(210)은 가상 콘텐츠(또는 그에 따른 일부)와 관련된 위치가 현재 시계(130A, 130B) 내에 있다는 결정에 응답하여 디스플레이(203)상에 디스플레이하기 위해 상기 가상 콘텐츠 아이템(또는 그의 일부)을 렌더링하도록 구성될 수 있다.
일 예에 있어서, 제어 유닛(210)은, 감지된 데이터에 기초하여, 사용자에 의해 수행된 특정 제스처 또는 제스처들의 조합을 식별하고 이에 응답하여 동작을 수행하도록 구성된다. 예를 들어, 하나의 식별된 제스처에 응답하여, 제어 유닛(210)은 주변 디바이스(136)의 위치에 대해 로킹된 사용자 인터페이스 위치에서 가변 초점 디스플레이(203)상의 디스플레이를 위한 특정 사용자 인터페이스를 생성 및 렌더링할 수 있다. 예를 들어, 제어 유닛(210)은 주변 디바이스(136)의 표면(220)상에 또는 주변 디바이스(136)에 근접(예를 들어, 주변 디바이스(136)의 위, 아래 또는 그에 인접)하여 하나 이상의 UI 요소(예를 들어, 가상 버튼)를 포함하는 사용자 인터페이스를 생성 및 렌더링할 수 있다. 제어 유닛(210)은 주변 디바이스(136) 및/또는 사용자의 손(132), 손가락, 엄지 손가락, 팔 또는 다른 부분을 식별하고, 또한 상기 주변 디바이스(136)의 움직임, 위치, 구성 등 및/또는 사용자에 의해 수행된 미리 한정된 제스처를 식별하도록 사용자의 식별된 부분(들)을 추적하기 위해, 인사이드-아웃 이미지 캡처 디바이스(138)에 의해 캡처된 이미지 데이터 내에서 객체 인식을 수행할 수 있다. 미리 한정된 제스처를 식별하는 것에 응답하여, 제어 유닛(210)은, 예를 들어, 사용자 인터페이스와 관련된 옵션 세트로부터 옵션을 선택하는 단계(예를 들어, UI 메뉴로부터 옵션을 선택), 상기 제스처를 입력(예를 들어, 문자)으로 변환하는 단계, 애플리케이션 실행 단계, 가상 콘텐츠 조작 단계(예를 들면, 가상 콘텐츠 항목의 이동, 회전), 가상 마킹 생성 및 렌더링 단계, 레이저 포인터 생성 및 렌더링 단계, 또는 콘텐츠 디스플레이 단계 등을 취할 수 있다. 예를 들어, 제어 유닛(210)은 사용자 인터페이스를 나타내기 위한 "트리거"로서 특정된 미리 한정된 제스처를 검출하는 것에 응답하여, 메뉴와 같은, 사용자 인터페이스를 동적으로 생성 및 제공할 수 있다(예를 들어, 주변 디바이스를 가로 방향 또는 수평 방향으로 전환( 표시되지 않음)). 일부 예들에 있어서, 제어 유닛(210)은, 감지된 데이터에 기초하여, 렌더링된 사용자 인터페이스(예를 들어, 가상 UI 요소상에서 수행된 탭핑 제스처)에 대한 사용자 입력을 검출한다. 일부 예들에 있어서, 제어 유닛(210)은, 객체 인식, 움직임 추적 및 제스처 검출, 또는 이들의 임의의 부분을 수행할 수 있는, 콘솔(106)과 같은, 외부 디바이스로부터의 지시에 응답하여 그와 같은 기능들을 수행한다.
예를 들어, 제어 유닛(210)은 주변 디바이스(136)에 대해 사용자에 의해 수행될 수 있는 사용자 인터페이스 제스쳐, 선택 제스쳐, 스탬핑 제스쳐, 변형 제스쳐, 회전 제스쳐, 그리기 제스쳐, 포인팅 제스쳐 등을 식별하도록 주변 디바이스(136), 손(132) 및/또는 팔(134)의 구성, 위치, 움직임 및/또는 방향을 분석하기 위해 인사이드-아웃 이미지 캡처 디바이스(138A 및 138B)를 활용할 수 있다. 상기 제어부(210)는, 아래에서 추가로 상세하게 설명된 바와 같이, UI 메뉴(UI 요소들을 포함)를 렌더링할 수 있고, 사용자에 의해 상기 주변 디바이스에 대해 수행된 사용자 인터페이스 제스처, 선택 제스처, 스탬핑 제스처, 변형 제스처, 회전 제스처 및 그리기 제스처의 검출에 기초하여, 사용자가 상기 UI 메뉴와 인터페이스하도록 할 수 있다.
일 예에 있어서, 주변 디바이스(136)의 표면(220)은 터치 및/또는 호버 입력을 검출하기 위해 용량성, 전도성, 저항성, 음향 또는 기타 기술을 사용하는 표면과 같은 존재 감지 표면이다. 일부 예들에 있어서, 주변 디바이스(136)의 표면(220)은 터치스크린(예를 들어, 정전용량식 터치스크린, 저항성 터치스크린, 표면 탄성파(SAW) 터치스크린, 적외선 터치스크린, 광학 이미징 터치스크린, 음향 펄스 인식 터치스크린, 또는 임의의 다른 터치스크린)이다. 그와 같은 예에 있어서, 주변 디바이스(136)는 표면(220)상에서 사용자 인터페이스 또는 다른 가상 요소(예를 들어, 가상 마킹)를 렌더링하고 또한 표면(220)상에서 사용자 입력(예를 들어, 터치 또는 호버 입력)을 검출할 수 있다. 그와 같은 예에 있어서, 주변 디바이스(136)는 무선 통신 링크(예를 들어, Wi-Fi, 블루투스와 같은 근거리 무선 통신의 근거리 통신)를 사용하거나, 유선 통신 링크(도시되지 않음)을 사용하거나, 또는 다른 유형의 통신 링크를 사용하여, 임의의 검출된 사용자 입력을 HMD(112)(및/또는 도 1a의 콘솔(106))로 전달할 수 있다. 일부 예들에 있어서, 주변 디바이스는 가상 콘텐츠와 상호 작용하기 위한(예를 들어, 가상 UI 요소를 선택하고, 가상 UI 요소를 통해 스크롤하기 위한) 하나 이상의 입력 디바이스(예를 들어, 버튼, 트랙볼, 스크롤 휠)를 포함할 수 있다.
제어 유닛(210)은 디스플레이(203)에 의해 제시되는 인공 현실 콘텐츠를 생성할 수 있다. 제어 유닛(210)이 디스플레이(203)에 의해 제시되는 인공 현실 콘텐츠를 생성할 수 있는 한 가지 방법은 HMD(112) 사용자의 피사계 심도 밖에 있는 인공 현실 콘텐츠의 하나 이상의 부분을 흐리게 하는 것이다. 3D 메시는 HMD(112)의 위치에 대해 인공 현실 콘텐츠에 포함된 각각의 객체의 깊이를 나타낼 수 있다. 이와 같이, 인공 현실 콘텐츠를 생성하기 위해, 제어 유닛(210)은 3D 메시에 의해 나타내는 객체의 깊이가 사용자의 피사계 심도 내에 있는지의 여부에 기초하여 인공 현실 콘텐츠에서 객체를 흐리게 하거나 흐리게 하지 않을 수 있다. 추가적으로, 제어 유닛(210)은 가변 초점 디스플레이(203)의 초점 거리를 수정하기 위해 축(204)을 따라 가변 초점 디스플레이(203)를 이동시킬 수 있다. 예를 들어, HMD(112)는 모터(예를 들면, 전기 모터)에 부착된, 가변 초점 디스플레이(203)상에서 사용자에게 인공 현실 콘텐츠를 제시할 수 있다. 제어 유닛(210)은 사용자의 검출된 초점을 반영하기 위해 가변 초점 디스플레이(203)를 이동시킬 수 있다. 일부 예들에 있어서, 사용자의 초점은 눈 추적 카메라(140)에 의해 캡처된 이미지 데이터에 기초하여 거의 실시간으로 결정될 수 있다. 이와 같은 방식으로, 제어 유닛(210)은, 사용자의 피사계 심도 및 3D 메시에 의해 식별되는 하나 이상의 객체 위치에 기초하여, 거의 실시간으로 상기 인공 현실 콘텐츠를 생성할 수 있다.
도 2b는 본 발명의 하나 이상의 기술들에 따른, 다른 예시적인 HMD(112)를 설명하는 개념도이다. 도 2b에 도시된 바와 같이, HMD(112)는 안경의 형태를 취할 수 있다. 도 2a의 HMD(112)는 도 1a 및 도 1b의 HMD들(112) 중 임의의 것의 예일 수 있다. HMD(112)는, 도 1a 및 도 1b의 인공 현실 시스템(10, 20)과 같은, 인공 현실 시스템의 일부일 수 있거나, 또는 본원에 기술된 기술을 구현하도록 구성된 독립형 모바일 인공 현실 시스템으로서 동작할 수 있다.
본 예에 있어서, HMD(112)는 상기 HMD(112)가 사용자의 코에 놓일 수 있도록 하는 브릿지와 사용자에게 HMD(112)를 고정하기 위해 사용자의 귀 위로 연장되는 안경 다리(또는 "팔")를 포함하는 전면 프레임을 포함하는 안경이다. 또한, 도 2b의 HMD(112)는 인공 현실 콘텐츠를 사용자에게 제공하도록 구성된 내부 지향 가변 초점 디스플레이(203A 및 203B)(총칭하여 "가변 초점 디스플레이들(203)")를 포함한다. 가변 초점 디스플레이(203)는 LCD, 양자점 디스플레이, 도트 매트릭스 디스플레이, LED 디스플레이, OLED 디스플레이, CRT 디스플레이, e-잉크 또는 흑백, 컬러 또는 시각적 출력 생성이 가능한 임의의 다른 유형의 디스플레이와 같은, 임의의 적절한 디스플레이 기술일 수 있다. 도 2b에 도시된 예에 있어서, 가변 초점 디스플레이(203)는 사용자의 각각의 눈에 별도의 이미지를 제공하기 위한 입체 디스플레이를 형성한다. 일부 예들에 있어서, HMD(112)의 전면 프레임에 대한 디스플레이(203)의 알려진 방향 및 위치는 HMD(112)와 사용자의 현재 뷰잉 관점에 따라 인공 현실 콘텐츠를 렌더링하기 위해 HMD(112)의 위치 및 방향을 추적할 때 로컬 원점이라고도 언급되는 기준 프레임으로서 사용된다. 일부 예들에 있어서, HMD(112)는 미니어처 프로젝터들에 의해 생성된 각도 도메인의 이미지들을 사용자의 눈으로 직접 전달하기 위해 사용되는 동공 복제 도파관들을 포함할 수 있다.
도 2b에 추가로 도시된 바와 같이, 본 예에 있어서, HMD(112)는 HMD(112)의 현재 가속도를 나타내는 데이터를 출력하는 하나 이상의 가속도계(관성 측정 유닛 또는 "IMU"로도 지칭됨)와 같은 하나 이상의 모션 센서, HMD(112)의 위치를 나타내는 데이터를 출력하는 GPS 센서, 다양한 객체들로부터의 HMD(112)의 거리를 나타내는 데이터를 출력하는 레이더 또는 소나, 또는 물리적 환경 내의 HMD(112) 또는 다른 객체들의 위치 또는 방향의 표시를 제공하는 다른 센서을 추가로 포함한다. HMD(112)는 HMD(112)의 사용자의 현실 세계의 3D 물리적 환경에서 하나 이상의 포인트 및/또는 물체의 깊이를 나타내는 깊이 데이터를 수집하는 하나 이상의 깊이 센서(208)를 포함할 수 있다. 또한, HMD(112)는, 물리적 환경을 나타내는 이미지 데이터를 출력하도록 구성된, 비디오 카메라, 레이저 스캐너, 도플러 레이더 스캐너, 깊이 스캐너 등과 같은, 통합된 인사이드-아웃 이미지 캡처 디바이스(138A 및 138B)(집합적으로 "인사이드-아웃 이미지 캡처 디바이스들(138)")를 포함할 수 있다. HMD(112)는, 감지된 데이터를 처리하고 인공 현실 콘텐츠를 디스플레이(203)상에 제공하도록 프로그래머블 작업을 실행하기 위한 작업 환경을 제공하기 위해 내부 전원 및 하나 이상의 프로세서, 메모리 및 하드웨어를 갖는 하나 이상의 인쇄 회로 기판을 포함할 수 있는, 내부 제어 유닛(210)을 포함한다.
도 2a에 설명된 예와 유사하게, 제어 유닛(210)은 가변 초점 디스플레이(203)에 의해 제시되는 인공 현실 콘텐츠를 생성할 수 있다. 제어 유닛(210)은 HMD(112) 사용자의 피사계 심도 밖에 있는 인공 현실 콘텐츠의 하나 이상의 부분을 흐리게 함으로써 디스플레이(203)에 의해 제시되는 인공 현실 콘텐츠를 생성할 수 있다. 3D 메시는 HMD(112)의 위치에 대한 인공 현실 콘텐츠에 포함된 각각의 객체의 깊이를 나타낼 수 있다. 이와 같은 방식으로, 상기 인공 현실 콘텐츠를 생성하기 위해, 제어 유닛(210)은 3D 메시에 의해 나타내는 객체의 깊이가 사용자의 피사계 심도 이내에 있는지의 여부에 기초하여 인공 현실 콘텐츠의 객체를 흐리게 하거나 흐리게 하지 않을 수 있다. 제어 유닛(210)은 눈 추적 카메라(140)에 의해 수집된 영상 데이터에 기초하여 사용자의 피사계 심도를 결정할 수 있다.
도 3은 본 발명의 하나 이상의 기술에 따른, 도 1a 및 도 1b의 다중 디바이스 인공 현실 시스템(10, 20)의 콘솔(106), HMD(112), 및 주변 디바이스(136)의 예시적인 구현을 설명하는 블록도이다. 도 3의 예에 있어서, 콘솔(106)은 HMD(112)에 의해 디스플레이되는 인공 현실 콘텐츠의 사용자 인식에 영향을 미치는, HMD(112)의 가변 초점 디스플레이(203)의 초점 거리를 설정한다. 추가적으로 또는 대안적으로, 콘솔(106)은 HMD(112)의 사용자가 사용자의 초점(예를 들어, 초점 거리 및/또는 피사계 심도)에 기초하여 현실 세계의 물리적 환경을 인지하는 방식을 모방하기 위해, HMD(112)에 의해 디스플레이되는 인공 현실 콘텐츠의 부분을 흐리게 할 수 있다.
본 예에 있어서, HMD(112)는 하나 이상의 프로세서(302) 및 메모리(304)를 포함하며, 이는 일부 예들에 있어서 예를 들어 내장형 실시간 멀티태스킹 작업 시스템 또는 다른 유형의 작업 시스템일 수 있는 작업 시스템(305)를 실행하기 위한 컴퓨터 플랫폼을 제공한다. 순차적으로, 작업 시스템(305)은 애플리케이션 엔진(340)을 포함하는 하나 이상의 소프트웨어 요소(307)를 실행하기 위한 멀티태스킹 작업 환경을 제공한다. 도 2a 및 도 2b의 예와 관련하여 논의된 바와 같이, 프로세서(302)는 가변 초점 디스플레이(203), 모션 센서(206), 깊이 센서(208) 인사이드-아웃 이미지 캡처 디바이스(138), 패스-스루 이미지 캡처 디바이스(139), 및 눈 추적 카메라(140)에 결합된다. 일부 예들에 있어서, 프로세서(302) 및 메모리(304)는 별개의 이산 요소들일 수 있다. 다른 예들에 있어서, 메모리(304)는 단일 집적 회로 내에서 프로세서(302)와 함께 배치된 온-칩 메모리일 수 있다.
일반적으로, 콘솔(106)은, HMD(112)의 가변 초점 디스플레이(203)의 초점 거리를 설정하고 그리고/또는 HMD(112)에 의한 디스플레이를 위한 인공 현실 콘텐츠를 생성하기 위해, 카메라(102)(도 1b), 인사이드-아웃 이미지 캡처 디바이스(138), 패스-스루 이미지 캡처 디바이스(139), 및 눈 추적 카메라(140) 중 하나 이상으로부터 수신된 이미지 및 추적 정보를 처리하는 컴퓨팅 디바이스이다. 가변 초점 디스플레이(203)는 모터(306)에 연결될 수 있으며, 여기서 모터(306)는 가변 초점 디스플레이(203)의 초점 거리를 설정하기 위해 가변 초점 디스플레이(203)를 이동시키도록 구성된다. 일부 예들에 있어서, 콘솔(106)은 워크스테이션, 데스크탑 컴퓨터, 랩탑 또는 게임 시스템과 같은 단일 컴퓨팅 디바이스이다. 일부 예들에 있어서, 프로세서(312) 및/또는 메모리(314)와 같은 콘솔(106)의 적어도 일부는 클라우드 컴퓨팅 시스템, 데이터 센터를 통해, 그리고 또는 인터넷, 예를 들어, 광대역, 셀룰러, Wi-Fi 및/또는 컴퓨팅 시스템, 서버 및 컴퓨팅 디바이스 간에 데이터를 전송하기 위한 기타 유형의 통신 네트워크와 같은, 다른 공공 또는 사설 통신 네트워크와 같은 네트워크를 통해 배포될 수 있다.
도 3의 예에 있어서, 콘솔(106)은 하나 이상의 프로세서(312) 및 메모리(314)를 포함하며, 이는 일부 예들에 있어서 작업 시스템(316)를 실행하기 위한 컴퓨터 플랫폼을 제공하는데, 이는 예를 들어 내장형 실시간 멀티태스킹 작업 시스템 또는 기타 유형의 작업 시스템일 수 있다. 순차적으로, 작업 시스템(316)는 하나 이상의 소프트웨어 애플리케이션(317)을 실행하기 위한 멀티태스킹 작업 환경을 제공한다. 프로세서들(312)은, 키보드, 게임 제어기, 디스플레이 디바이스, 이미지 캡처 디바이스, HMD, 주변 디바이스 등과 같은 외부 디바이스와 통신하기 위한 하나 이상의 I/O 인터페이스를 제공하는, 하나 이상의 I/O 인터페이스(315)에 연결된다. 또한, 상기 하나 이상의 I/O 인터페이스(315)는 네트워크(104)와 같은 네트워크와 통신하기 위한 하나 이상의 유선 또는 무선 네트워크 인터페이스 제어기(NIC)를 포함할 수 있다.
콘솔(106)의 소프트웨어 애플리케이션(317)은 전체 인공 현실 애플리케이션을 제공하도록 동작한다. 본 예에 있어서, 소프트웨어 애플리케이션(317)은 애플리케이션 엔진(320), 렌더링 엔진(322), 깊이 엔진(324), 및 포즈 추적기(326)를 포함한다.
일반적으로, 애플리케이션 엔진(320)은 인공 현실 애플리케이션, 예를 들어 원격 회의 애플리케이션, 게임 애플리케이션, 내비게이션 애플리케이션, 교육 애플리케이션, 훈련 또는 시뮬레이션 애플리케이션 등을 제공하고 제시하는 기능을 포함한다. 애플리케이션 엔진(320)은 예를 들어 콘솔(106)상에서 인공 현실 애플리케이션을 구현하기 위한 하나 이상의 소프트웨어 패키지, 소프트웨어 라이브러리, 하드웨어 드라이버, 및/또는 애플리케이션 프로그램 인터페이스(API)를 포함할 수 있다. 애플리케이션 엔진(320)에 의한 제어에 응답하여, 렌더링 엔진(322)은 HMD(112)의 애플리케이션 엔진(340)에 의해 사용자에게 디스플레이하기 위한 3D 인공 현실 콘텐츠를 생성할 수 있다.
일부 예들에 있어서, 애플리케이션 엔진(320) 및 렌더링 엔진(322)은, 포즈 추적기(326)에 의해 결정되는 바와 같이, 기준 프레임, 일반적으로 HMD(112)의 뷰잉 관점에 대한 현재 포즈 정보에 따라 사용자(110)에게 디스플레이하기 위한 인공 현실 콘텐츠를 구성할 수 있다. 상기 현재 뷰잉 관점에 기초하여, 렌더링 엔진(322)은 일부 경우에 사용자(110)의 현실 세계 3D 환경에 적어도 부분적으로 오버레이될 수 있는 3D 인공 현실 콘텐츠를 구성한다.
이와 같은 공정 동안, 포즈 추적기(326)는 움직임 정보 및 사용자 명령과 같은 HMD(112)로부터 수신된 감지 데이터, 및 일부 예들에 있어서, 사용자(110)에 의한 모션 및/또는 사용자(110)에 대한 특징 추적 정보와 같은 현실 세계 환경 내의 3D 정보를 캡처하기 위한 외부 카메라와 같은, 임의의 외부 센서(90)(도 1a 및 도 1b)로부터의 데이터에 대해 작동한다. 상기 감지된 데이터에 기초하여, 포즈 추적기(326)는 HMD(112)의 기준 프레임에 대한 현재 포즈를 결정하고, 상기 현재 포즈에 따라, 사용자(110)에게 디스플레이하기 위해 하나 이상의 I/O 인터페이스(315)를 통해 HMD(112)로의 통신을 위한 인공 현실 콘텐츠를 구성한다.
포즈 추적기(326)는 주변 디바이스(136)에 대한 현재 포즈를 결정할 수 있고, 상기 현재 포즈에 따라, 임의의 렌더링된 가상 콘텐츠와 관련된 특정 기능(예를 들어, 가상 콘텐츠 항목 배치, 가상 콘텐츠 항목 조작, 하나 이상의 가상 마킹 생성 및 렌더링, 레이저 포인터 생성 및 렌더링)을 트리거할 수 있다. 일부 예들에 있어서, 포즈 추적기(326)는 가상 콘텐츠의 렌더링을 트리거하기 위해, HMD(112)가 가상 표면(예를 들어, 가상 핀보드)에 대응하는 물리적 위치에 근접하는지의 여부를 검출한다.
렌더링 엔진(322)은, 주변 디바이스(136)에 대한 현재 포즈에 기초하여, 인공 현실 환경에서 다른 객체의 위치에 대해 로킹될 수 있는 인공 현실 환경에서 가상 콘텐츠를 렌더링하도록 구성된다. 렌더링 엔진(322)은 상기 가상 콘텐츠가 상기 인공 현실 환경에서 객체 상에 또는 객체 근처에 오버레이되도록 나타나도록 상기 객체의 위치와 일치하도록 상기 가상 콘텐츠를 스케일링, 회전 및 달리 변환할 수 있다. 일부 예들에 있어서, 렌더링 엔진(322)은, 포즈 데이터에 기초하여 그리고/또는 이미지 캡처 디바이스(138, 139)에 의해 캡처된 이미지 데이터에 기초하여 생성된 초점 데이터에 기초하여, 하나 이상의 가상 렌더링 카메라를 활주, 병진 이동 또는 달리 이동시킬 수 있다.
일부 예들에 있어서, 깊이 엔진(324)은 현실 세계 이미지 데이터 및 현실 세계 이미지 데이터와 관련된 깊이 데이터에 기초하여 HMD(112) 사용자(110)의 물리적 환경의 3D 장면을 생성하도록 구성된다. 상기 현실 세계 이미지 데이터는 패스-스루 카메라를 나타내는 HMD(112)의 패스-스루 이미지 캡처 디바이스(139)에 의해 캡처될 수 있다. 일부 예들에 있어서, 상기 깊이 데이터는 HMD(112)의 깊이 센서(208)에 의해 캡처될 수 있다. 일부 예들에 있어서, 상기 깊이 데이터는 인사이드-아웃 카메라를 나타내는 HMD(112)의 인사이드-아웃 이미지 캡처 디바이스(138)에 의해 캡처될 수 있다. 깊이 엔진(324)은 사용자(110)의 초점에 기초하여 상기 HMD의 가변 초점 디스플레이상에 디스플레이하기 위해 물리적 환경의 3D 장면에 대한 오버레이로서 인공 현실 콘텐츠(예를 들어, 인공 현실 콘텐츠(122))를 생성할 수 있다. 일부 예들에 있어서, 깊이 엔진(324)은 눈 추적 카메라(140)에 의해 캡처된 이미지 데이터에 기초하여 사용자(110)의 초점을 결정할 수 있다.
콘솔(106)은 HMD(112)에서의 디스플레이를 위해 통신 채널을 통해 이와 같은 가상 사용자 인터페이스 및 다른 인공 현실 콘텐츠를 HMD(112)로 출력할 수 있다. 렌더링 엔진(322)은 주변 디바이스(136)에 대한 포즈 정보를 수신하여 사용자 인터페이스 위치를 지속적으로 업데이트하고, 존재 감지 표면들(220) 중 하나의 포즈와 같은 주변 장치(136)의 포즈와 일치하도록 포즈를 취한다.
도 3에 도시된 예에 있어서, 주변 디바이스(136)는 하나 이상의 프로세서(346) 및 메모리(344)를 포함하며, 이는 일부 예들에 있어서 작업 시스템(342)를 실행하기 위한 컴퓨터 플랫폼을 제공하며, 이는 예를 들어 내장형 실시간 멀티태스킹 작업 시스템 또는 기타 유형의 작업 시스템일 수 있다. 순차적으로, 작업 시스템(342)는 하나 이상의 소프트웨어 요소를 실행하기 위한 멀티태스킹 작업 환경을 제공한다. 일부 예들에 있어서, 주변 디바이스(136)는 하나 이상의 존재 감지 표면(220)(예를 들어, 터치 및/또는 호버 입력을 검출하기 위해 용량성, 전도성, 저항성, 음향 및/또는 기타 기술을 사용하는 하나 이상의 표면)을 포함한다. 하나 이상의 양태들에 있어서, 주변 디바이스(136)는 존재 감지 표면(220)에서 터치 및/또는 호버 입력을 검출하고, (예를 들어, 프로세서(346)에서) 상기 입력을 처리하고, 상기 터치 및/또는 호버 입력을 전달하고, (상기 입력에 대한 위치 정보 포함하는) 상기 입력에 대한 정보를 콘솔(106) 및/또는 HMD(112)로 전달하도록 구성될 수 있다. 도 2a의 예와 관련하여 논의된 바와 같이, 존재 감지 표면(들)(220)은 터치스크린(예를 들어, 정전용량식 터치스크린, 저항성 터치스크린, 표면 탄성파(SAW) 터치스크린, 적외선 터치스크린, 광학 이미징 터치스크린, 음향 펄스 인식 터치스크린, 또는 임의의 다른 터치스크린)을 포함할 수 있다.
도 3에 추가로 도시된 바와 같이, 본 예에 있어서, 주변 디바이스(136)는 주변 디바이스(136)의 현재 가속도를 나타내는 데이터를 출력하는 하나 이상의 가속도계(IMU라고도 함)와 같은 하나 이상의 모션 센서(348), 주변 디바이스의 장소 또는 위치를 나타내는 데이터를 출력하는 GPS 센서, 다양한 객체들로부터(예를 들어, 벽 또는 다른 표면으로부터)의 주변 디바이스(136)의 거리를 나타내는 데이터를 출력하는 레이더 또는 소나, 또는 물리적 환경 내에서 주변 디바이스 또는 기타 객체들의 장소, 위치 및/또는 방향의 표시를 제공하는 기타 센서들을 추가로 포함한다. 일부 예들에 있어서, 프로세서(346)는 존재 감지 표면(들)(220) 및 모션 센서(246)에 결합된다. 일부 예들에 있어서, 프로세서(346) 및 메모리(344)는 별개의 개별 요소일 수 있다. 다른 예들에 있어서, 메모리(344)는 단일 집적 회로 내에서 프로세서(346)와 함께 배치된 온-칩 메모리일 수 있다. 하나 이상의 양태에 있엇, 주변 디바이스(136)는 HMD와 공존할 수 있으며, 일부 예들에 있어서, 가상 환경에서 HMD에 대한 보조 입력/출력 디바이스로서 동작할 수 있다. 일부 예들에 있어서, 상기 주변 디바이스(136)는 HMD의 기능들 중 일부가 오프로드되는 인공 현실 공동 처리 디바이스로서 동작할 수 있다. 하나 이상의 양태에 있어서, 주변 디바이스(136)는 스마트폰, 태블릿, 또는 다른 휴대용 디바이스일 수 있다.
일부 예들에 있어서, 프로세서들(302, 312, 346) 각각은 멀티 코어 프로세서, 제어기, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 - 프로그래머블 게이트 어레이(FPGA), 또는 이에 상응하는 개별 또는 집적 논리 회로 중 임의의 하나 이상을 포함할 수 있다. 메모리(304, 314, 344)는 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 프로그래머블 읽기 전용 메모리(PROM), 삭제 가능한 프로그래머블 읽기 전용 메모리(EPROM), 전자적으로 삭제 가능한 프로그래머블 읽기 전용 메모리(EEPROM) 및 플래시 메모리와 같은, 데이터 및 실행 가능한 소프트웨어 명령어들을 저장하기 위한 임의의 형태의 메모리를 포함할 수 있다.
깊이 엔진(324)은, 패스-스루 이미지 캡처 디바이스(139)에 의해 캡처된 현실 세계 이미지 데이터 및 눈 추적 카메라(140)에 의해 캡처된 초점 데이터에 기초하여, HMD(112)에 의한 디스플레이를 위한 인공 현실 콘텐츠를 생성할 수 있다. 예를 들어, 깊이 엔진(324)은 눈 추적 카메라(140)에 의해 캡처된 초점 데이터에 기초하여 사용자(110)의 초점 및 사용자(110)의 피사계 심도 중 하나 또는 둘 모두를 결정하도록 구성될 수 있다. 일부 예들에 있어서, 상기 초점 데이터는 기준점들의 제1 세트에 대한 사용자의 제1 동공 위치를 나타내는 이미지 데이터 및 기준점들의 제2 세트에 대한 사용자의 제2 동공 위치를 나타내는 이미지 데이터를 제시할 수 있다. 깊이 엔진(324)은 기준점들의 제1 세트에 대한 제1 동공 위치 및 기준점들의 제2 세트에 대한 제2 동공 위치에 기초하여 사용자(110)의 초점 및/또는 피사계 심도를 결정할 수 있다.
일부 예들에 있어서, 깊이 엔진(324)은 깊이 센서들(208) 및/또는 HMD(112)의 인사이드-아웃 이미지 캡처 디바이스들(138)에 의해 수집된 깊이 데이터에 기초하여 3D 메시를 생성할 수 있다. 깊이 엔진(324)은 패스-스루 이미지 캡처 디바이스(139)에 의해 수집된 현실 세계 이미지 데이터의 적어도 일부를 3D 메시 위에 오버레잉함으로써 인공 현실 콘텐츠를 생성할 수 있다. 상기 3D 메시 및 눈 추적 카메라(140)는 깊이 엔진(324)이 HMD(112)의 사용자에게 가변 초점 경험을 제공하도록 할 수 있다. 예를 들어, 깊이 엔진(324)은 사용자의 검출된 초점과 일치시키기 위해 HMD(112)의 가변 초점 디스플레이(203)의 초점 거리를 거의 실시간으로 설정할 수 있다. 추가적으로 또는 대안적으로, 깊이 엔진(324)은 상기 사용자의 검출된 피사계 심도 밖에 있는 HMD(112)에 의해 디스플레이되는 인공 현실 콘텐츠의 부분을 흐리게 할 수 있다.
도 4는 본 발명의 하나 이상의 기술에 따른, 도 1a 및 도 1b의 인공 현실 시스템의 HMD(112)에 의해 가상 환경이 생성되는 예를 설명하는 블록도이다.
본 예에 있어서, 도 3과 유사하게도, HMD(112)는 하나 이상의 프로세서(302) 및 메모리(304)를 포함하며, 이는 일부 예에 있어서 작업 시스템(305)을 실행하기 위한 컴퓨터 플랫폼을 제공하며, 이는 예를 들어 내장형 실시간 멀티태스킹 작업 시스템 또는 기타 유형의 작업 시스템일 수 있다. 순차적으로, 작업 시스템(305)은 하나 이상의 소프트웨어 요소(417)를 실행하기 위한 멀티태스킹 작업 환경을 제공한다. 또한, 프로세서(들)(302)는 가변 초점 디스플레이(203), 모션 센서(206), 인사이드-아웃 이미지 캡처 디바이스(138), 패스-스루 이미지 캡처 디바이스(139), 및 눈 추적 카메라(140)에 연결된다. 도 4의 예에 있어서, 소프트웨어 요소(417)는 전체 인공 현실 애플리케이션을 제공하도록 동작한다. 본 예에 있어서, 소프트웨어 애플리케이션(417)은 애플리케이션 엔진(440), 렌더링 엔진(422), 깊이 엔진(424), 및 포즈 추적기(426)를 포함한다. 다양한 예들에 있어서, 소프트웨어 요소(417)는 도 3의 콘솔(106)의 대응 요소들(예를 들어, 각각, 애플리케이션 엔진(320), 렌더링 엔진(322), 깊이 엔진(324), 및 포즈 추적기(326) 각각)과 유사하게 동작하여, HMD(112)의 가변 초점 디스플레이(203)의 초점 거리를 설정하거나 또는 달리 HMD(112)에 의해 제공되는 인공 현실 콘텐츠에 대한 사용자의 인식에 영향을 준다. 일부 예들에 있어서, HMD(112)는 주변 디바이스(136)와 같은 하나 이상의 다른 디바이스들과 통신할 수 있다.
도 5는 본 발명의 하나 이상의 기술들에 따른, HMD(560)의 예시적인 요소들을 설명하는 개념도이다. HMD(560)는 도 1a와 도 1b, 도 2a와 도 2b 및 도 3의 HMD(112, 112A, 112B, 112C) 중 임의의 것과 실질적으로 유사하게 동작할 수 있다. HMD(560)는 HMD(560)의 내부 요소를 설명하기 쉽도록 헤드셋 폼 팩터(form factor)를 갖는 것으로서 도 5에 도시되어 있다. 다른 예들에 있어서, HMD(560)는 안경 폼 팩터를 포함하는 다른 폼 팩터를 포함할 수 있다.
HMD(560)는 아이피스(562A, 562B)를 포함하며, 여기서 우측 아이피스(562A)는 사용자의 우측 눈에 이미지를 제시하도록 구성되고 좌측 아이피스(562B)는 사용자의 좌측 눈에 이미지를 제시하도록 구성된다. 여기서, "아이피스(eyepiece)"는 사용자의 눈에 허용 가능한 품질의 이미지를 제공할 수 있는 3-차원 기하학적 영역을 의미한다. 도 5의 예에 있어서, 아이피스(562A, 562B) 각각은 사용자의 눈이 HMD(560)를 착용하고 있을 때 사용자의 눈이 위치하는 아이피스(562A, 562B)로 상기 가변 초점 디스플레이(564A, 564B)에 의해 생성된 이미지를 전달하기 위해 이미징 요소(566A, 566B)에 결합되는 가변 초점 디스플레이(564A, 564B)를 포함한다. 이미징 요소들(566A, 566B) 각각은 렌즈, 미러, 또는 광학(즉, 포커싱) 도수를 갖는 임의의 다른 요소일 수 있다. 이미징 요소들(566A, 566B) 각각은 조정 가능하거나 전환 가능한 광학 도수를 갖는 가변 초점 광학 요소를 포함할 수 있다. 일부 예들에 있어서, 가변 초점 디스플레이들(564A, 564B)은 방향(590)으로 이미징 요소들(566A, 566B)에 대해 가변 초점 디스플레이들(564A, 564B)을 이동시키도록 구성되는 하나 이상의 전기 모터에 부착될 수 있다. 예를 들어, 상기 하나 이상의 전기 모터는 가변 초점 디스플레이들(564A, 564B)을 이동시켜서, HMD(560)의 초점 거리를 사용자의 검출된 초점과 일치시킬 수 있다. 일부 예들에 있어서, 아이피스(562A, 562B)는 "아이 컵(eye cup)"으로 지칭될 수 있다.
일부 예들에 있어서, HMD(560)는 순차적으로 또는 동시에, 사용자의 양쪽 눈에 이미지를 제공하기 위해 단일 가변 초점 디스플레이를 포함할 수 있다. 다른 예들에 있어서, HMD(560)는 이미징 요소(566A, 566B)를 포함하지 않을 수 있고, 대신 미니어처 프로젝터에 의해 생성된 각도 도메인의 이미지를 사용자의 눈에 직접 전달하기 위해 사용되는 동공 복제 도파관을 포함할 수 있다.
아이피스들(562A, 562B) 각각은 실시간으로 사용자 눈의 위치 및 방향을 추적하기 위한 눈 추적 시스템을 포함할 수 있다. 상기 눈 추적 시스템은 일반적으로 적외선과 같은 비가시광으로 사용자의 눈을 조명하기 위한 조명기들(567A, 567B)의 어레이, 및 상기 가변 초점 디스플레이(564A, 564B)로부터 가시광을 전송하면서 사용자의 눈 및 사용자 얼굴의 눈 영역에 의해 산란된 적외선을 반사하기 위한 핫 미러(565A, 565B)를 포함할 수 있다. 상기 눈 추적 시스템은 또한 눈 위치 및 방향을 결정하기 위해 사용자 눈으로부터의 조명기(567A, 567B)의 동공 및 반사, 소위 "섬광"으로 사용자 눈의 이미지를 감지하기 위한 눈 추적 카메라(584A, 584B)를 포함한다. 여기서, "눈 영역"이라는 용어는 눈을 포함하는 사용자의 얼굴 영역을 의미한다. 상기 눈 영역은 각막, 홍채 및 동공을 갖는 눈 자체를 포함한다. HMD(560)는 사용자를 둘러싸는 물리적 환경을 나타내는 이미지 데이터를 캡처하기 위한 인사이드-아웃 카메라(582A, 582B)를 포함한다. 일부 예들에 있어서, HMD(560)는 핫 미러(565A, 565B)를 포함하지 않을 수 있으며, 핫 미러(565A, 565B) 없이 사용자 얼굴의 눈 영역을 캡처하도록 구성되는 눈 추적 카메라를 포함할 수 있다.
HMD(560)는 가변 초점 디스플레이(564A, 564B), 이미징 요소(566A, 566B), 조명기(567A, 567B), 눈 추적 카메라(584A, 584B), 및 인사이드-아웃 카메라(582A, 582B)를 포함하는, HMD(560)의 다른 요소에 결합된 제어 유닛(580)을 포함한다. 제어 유닛(580)은 도 2로부터의 HMD(112)의 내부 제어 유닛(210)과 실질적으로 유사하게 동작할 수 있다. 예를 들어, HMD(560)의 동작 동안, 제어 유닛(580)은 가변 초점 디스플레이(564A, 564B)에 의해 디스플레이될 이미지를 생성할 수 있고, 조명기(567A, 567B)를 활성화할 수 있고, 대응하는 눈 추적 카메라(584A, 584B)로부터 눈 영역의 이미지를 획득할 수 있고, 또한 사용자의 시선 방향, 눈 동공 위치로부터 사용자 눈의 수렴 각도, 및 획득된 이미지에서 섬광 위치 중 하나 이상을 결정할 수 있다. 일부 예들에 있어서, 눈 추적 카메라(584A, 584B)에 의해 캡처된 눈 영역의 이미지는 사용자의 피사계 심도를 나타내는 정보를 포함할 수 있다. 일부 예들에 있어서, 일단 상기 수렴 각도가 결정되면, 제어 유닛(580)은 수렴-조절 충돌, 즉 눈 수렴 각도와 눈 초점 거리 사이의 불일치를 감소시키기 위해 이미징 요소들(566A, 566B)의 초점 거리를 조정할 수 있다. 일부 예들에 있어서, 인공 현실 콘텐츠의 초점은 사용자의 피사계 심도에 기초하여 설정될 수 있다.
일부 예들에 있어서, HMD(580)는 패스-스루 카메라(588)의 시계 내에 있는 현실 세계의 3D 물리적 환경에서 객체를 나타내는 이미지 데이터를 캡처하도록 구성된 패스-스루 카메라(588)를 포함한다. 일부 예들에 있어서, 깊이 엔진은 물리적 환경의 3D 장면을 생성하기 위해 깊이 데이터를 사용하여 생성된 3D 메시상에 패스-스루 카메라(588)에 의해 캡처된 이미지 데이터의 적어도 일부를 오버레이할 수 있다. HMD(360)는 가변 초점 디스플레이(564A, 564B)상에서 사용자에게 물리적 환경의 3D 장면을 디스플레이할 수 있다.
도 6a는 본 발명의 하나 이상의 기술들에 따른, 환경(602) 내의 초점 거리(610) 및 제1 피사계 심도(620)를 설명하는 개념도이다. 관찰자(604)는 환경(602)을 볼 수 있다. 상기 초점 거리(610)는 관찰자(604)의 눈 위치(612)와 관찰자(604)의 초점(614) 사이의 거리를 나타낼 수 있다. 추가적으로, 상기 관찰자(604)의 제1 피사계 심도(620)는 제1 근거리 피사계 심도 포인트(622) 및 제1 원거리 피사계 심도 포인트(624) 사이의 거리를 나타낸다. 상기 초점(514)은 상기 제1 피사계 심도(620) 내에 위치한다. 도 6a에 도시된 바와 같이, 상기 제1 피사계 심도(620) 내부의 객체는 초점이 맞춰진 상태(예를 들어, 선명함)로 나타나고, 상기 제1 피사계 심도(620) 외부의 객체는 초점이 맞지 않는 상태(예를 들어, 흐릿함)로 나타난다. 일부 예들에 있어서, 관찰자(604)는 환경(602) 내에서 도 1a 내지 도 4의 예시적인 HMD(예를 들어, HMD(112))를 사용할 수 있으며, 상기 예시적인 HMD는 인공 현실 콘텐츠로서 관찰자(604)에게 환경(602)의 적어도 일부를 제시할 수 있다. 상기 관찰자(604)는 환경(602)을 관찰자(604)가 현실 환경(602)을 인식하는 것과 유사한 깊이 특성을 갖는 것으로서 나타내는 인공 현실 콘텐츠를 인식할 수 있다.
도 6b는 본 발명의 하나 이상의 기술들에 따른, 도 6a의 초점 거리(610) 및 환경(602) 내의 제2 피사계 심도(640)를 나타내는 개념도이다. 관찰자(604)의 제2 피사계 심도(640)는 제2 근거리 피사계 심도 포인트(642)와 제2 원거리 피사계 심도 포인트(644) 사이의 거리를 나타낼 수 있다. 상기 초점(614)은 상기 제2 피사계 심도(640) 내에 있다. 도 6b에 도시된 바와 같이, 상기 제2 피사계 심도(640) 내의 객체는 초점이 맞춰진 상태(예를 들어, 선명함)로 나타나고, 제2 피사계 심도(640) 외부의 객체는 초점이 맞지 않는(예를 들어, 흐릿함) 상태로 나타난다. 제2 피사계 심도(640)는 도 6a의 제1 피사계 심도(620)보다 더 크다(예를 들어, 더 길다). 이와 같이, 관찰자(604)가 상기 제1 피사계 심도(620)를 사용하여 환경(602)을 볼 때보다 관찰자(604)가 상기 제2 피사계 심도(640)를 사용하여 환경(602)을 볼 때, 환경(602)의 더 많은 객체들의 초점이 맞춰진다. 일부 예들에 있어서, 관찰자(604)는 환경(602) 내에서 도 1a 내지 도 4의예시적인 HMD(예를 들어, HMD(112))를 사용할 수 있으며, 상기 예시적인 HMD는 가상 현실 콘텐츠로서 관찰자(604)에게 환경(602)의 적어도 일부를 제시할 수 있다. 관찰자(604)는 환경(602)을 나타내는 가상 현실 콘텐츠를 상기 관찰자(604)가 현실 환경(602)을 인식하는 것과 유사한 깊이 특성을 갖는 것으로서 인식할 수 있다.
하나 이상의 프로세서에 의해 실행되는 깊이 엔진(예를 들어, 도 3의 깊이 엔진(324) 및/또는 도 4의 깊이 엔진(424))은 상기 관찰자(604)의 검출된 초점에 기초하여 HMD(112)의 가변 초점 디스플레이의 초점을 설정할 수 있다. 예를 들어, 상기 깊이 엔진은 관찰자(604)의 검출된 초점과 일치하도록 HMD(112)의 가변 초점 디스플레이의 초점 길이를 설정할 수 있다. 추가적으로 또는 대안적으로, 상기 깊이 엔진은 사용자가 HMD(112) 없이 환경(602)을 인지하는 방식을 모방하기 위해 관찰자(604)의 검출된 피사계 심도에 기초하여 환경 내의 객체를 흐리게 하거나 흐리게 하지 않을 수 있다.
도 7은 본 발명의 하나 이상의 기술들에 따른, 인공 현실 콘텐츠를 제공하기 위한 예시적인 동작을 설명하는 흐름도이다. 도 7은 콘솔(106), HMD(112), 및 주변 디바이스(136)와 관련하여 설명된다. 그러나, 도 7의 기술은 콘솔(106), HMD(112), 및 주변 디바이스(136)의 다른 요소들에 의해, 또는 추가의 또는 대안적인 디바이스에 의해 수행될 수 있다.
제1 이미지 캡처 디바이스는 사용자(110)의 물리적 환경을 나타내는 현실 세계 이미지 데이터를 캡처한다(단계 702). 예를 들어, 상기 제1 이미지 캡처 디바이스는 현실 세계 이미지 데이터를 캡처하는 패스-스루 카메라를 나타내는 HMD(110)의 패스-스루 이미지 캡처 디바이스(139)를 포함할 수 있다. 추가적으로 또는 대안적으로, 상기 제1 이미지 캡처 디바이스는 HMD(112)의 다른 이미지 캡처 디바이스 및/또는 HMD(112)에 포함되지 않은 다른 이미지 캡처 디바이스를 포함할 수 있다. 일부 경우에, 상기 물리적 환경을 나타내는 현실 세계 이미지 데이터는 패스-스루 이미지 캡처 디바이스(139)의 시계(130) 내에 존재한다. 사용자(예를 들어, 사용자(110))가 HMD(112)를 착용할 수 있기 때문에, 패스-스루 이미지 캡처 디바이스(139)의 시계는 사용자(110)가 보고 있는 위치에 기초하여 변경될 수 있다.
HMD(112)의 제2 이미지 캡처 디바이스들의 세트는 사용자(110) 시선의 초점을 나타내는 이미지 데이터를 캡처한다(단계 704). 일부 예들에 있어서, 상기 제2 이미지 캡처 디바이스들의 세트는 눈 추적 카메라(140)를 포함한다. 예를 들어, 눈 추적 카메라(140A)는 기준점들의 제1 세트와 관련된 사용자(110)의 제1 동공(예를 들어, 좌측 동공)의 위치를 나타내는 이미지 데이터를 캡처할 수 있고, 시선 추적 카메라(140B)는 기준점들의 제2 세트와 관련된 사용자(110)의 제2 동공(예를 들어, 우측 동공)의 위치를 나타내는 이미지 데이터를 캡처할 수 있다. 일부 예들에 있어서, 상기 기준점들의 제1 세트에 대한 제1 동공 위치 및 상기 기준점들의 제2 세트에 대한 제2 동공 위치는 사용자(110)의 초점 및 사용자(110)의 피사계 심도 중 하나 또는 둘 모두를 나타낼 수 있기 때문에. 눈 추적 카메라(140)에 의해 캡처된 이미지 데이터는 초점 데이터를 나타낼 수 있다.
HMD(112)는 제2 이미지 캡처 디바이스들의 세트에 의해 캡처된 이미지 데이터에 의해 표시된 사용자(110)의 초점에 기초하여 HMD(112)의 가변 초점 디스플레이(203)의 초점 길이를 수정할 수 있다(단계 706). 예를 들어, 하나 이상의 프로세서에 의해 실행되는 깊이 엔진(예를 들어, 도 3의 깊이 엔진(324) 및/또는 도 4의 깊이 엔진(424))은 제2 이미지 캡처 디바이스들의 세트에 의해 캡처된 이미지 데이터에 기초하여 사용자(110)의 초점을 결정할 수 있다. 이어서, 상기 깊이 엔진은 가변 초점 디스플레이(203)의 초점 길이를 사용자(110)의 초점과 일치시키도록 설정하기 위해 모터(예를 들어, 전기 모터)로 하여금 가변 초점 디스플레이(203)를 이동시키게 할 수 있다.
상기 깊이 엔진은, 제1 이미지 캡처 디바이스에 의해 캡처된 현실 세계 이미지 데이터 및 상기 현실 세계 이미지 데이터와 관련된 깊이 데이터에 기초하여, 사용자(110)의 물리적 환경의 3D 장면을 생성한다(단계 708). 일부 예들에 있어서, 상기 깊이 데이터는 인사이드-아웃 이미지 캡처 디바이스들(138) 및/또는 HMD(112)의 깊이 센서들(308)을 사용하여 캡처될 수 있다. 상기 깊이 엔진은 깊이 데이터를 사용하여 사용자(110)의 물리적 환경의 3D 메시를 생성할 수 있다. 상기 3D 메시는 데이터 포인트들의 세트를 포함할 수 있고, 여기서 상기 데이터 포인트들의 세트의 각각의 다른 데이터 포인트에 대한 데이터 포인트들의 세트의 각각의 데이터 포인트의 위치는 알려져 있다. 예를 들어, 상기 데이터 포인트들의 세트는 사용자(110)의 물리적 환경의 적어도 일부의 지형을 나타낼 수 있다. 예를 들어, 상기 3D 메시는 하나 이상의 물리적 객체 및/또는 사용자(110)의 물리적 환경 내의 포인트들의 위치(예를 들어, 상기 깊이 데이터에 표현된 하나 이상의 포인트 및/또는 객체들 중 적어도 일부)에 대한 디지털 표현을 포함한다. 상기 깊이 엔진은 3D 장면을 생성하기 위해 현실 세계 이미지 데이터의 적어도 일부를 상기 3D 메시상에 오버레이할 수 있다.
상기 깊이 엔진은 사용자(110)의 검출된 초점에 기초하여 HMD(112)의 가변 초점 디스플레이(203)상에 디스플레이하기 위해 3D 장면에 대한 오버레이로서 인공 현실 콘텐츠(122)를 생성한다(단계 710). 상기 3D 메시는 하나 이상의 객체 및/또는 포인트들의 깊이를 나타내는 데이터를 포함할 수 있고 상기 현실 세계 이미지 데이터는 하나 이상의 객체 및/또는 포인트들 중 적어도 일부를 나타내는 이미지 데이터를 포함하기 때문에, 상기 인공 현실 콘텐츠는 그와 같은 물체 및/또는 포인트들의 외관과 깊이를 반영하는 데이터를 포함할 수 있다. 상기 깊이 엔진은 인공 현실 콘텐츠(122)를 생성하고, 사용자(110)에게 현실적, 가변 초점 및 패스-스루 경험을 제공하기 위해 거의 실시간으로 가변 초점 디스플레이(203)의 초점 거리를 수정할 수 있다.
본원의 다양한 예들에 의해 설명된 바와 같이, 본 발명의 기술들은 인공 현실 시스템을 포함할 수 있거나 또는 인공 현실 시스템과 함께 구현될 수 있다. 설명된 바와 같이, 인공 현실은, 예를 들면 인공 현실(VR), 증강 현실, 혼합 현실(MR), 하이브리드 현실 또는 그들의 일부 조합 및/또는 유도체들 포함할 수 있는, 사용자에게 표시하기 전에 어떤 방식으로든 조정된 현실의 한 형태이다. 인공 현실 콘텐츠는 완전히 생성된 콘텐츠 또는 캡처된 콘텐츠(예를 들면, 현실 세계 사진)와 결합된 생성 콘텐츠를 포함할 수 있다. 상기 인공 현실 콘텐츠는 비디오, 오디오, 햅틱 피드백 또는 이들의 일부 조합을 포함할 수 있으며, 이들 중 임의의 것은 단일 채널 또는 다중 채널(예를 들면, 시청자에게 3-차원 효과를 생성하는 스테레오 비디오)로 제공될 수 있다. 추가적으로, 일부 실시예들에 있어서, 인공 현실은, 예를 들어 인공 현실에서 콘텐츠를 생성하기 위해 사용되거나 그리고/또는 인공 현실에서 사용(예를 들면, 인공 현실에서 활동을 수행)되는, 애플리케이션, 제품, 액세서리, 서비스 또는 이들의 일부 조합과 연관될 수 있다. 상기 인공 현실 콘텐츠를 제공하는 인공 현실 시스템은, 호스트 컴퓨터 시스템에 연결된 HMD, 독립형 HMD, 모바일 디바이스 또는 컴퓨팅 시스템, 또는 한 명 이상의 시청자에게 인공 현실 콘텐츠를 제공할 수 있는 기타 하드웨어 플랫폼을 포함하는, 다양한 플랫폼들상에서 구현될 수 있다.
본 발명에서 설명된 기술은 적어도 부분적으로 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 설명된 기술의 다양한 양태들은, 하나 이상의 마이크로프로세서, DSP, 주문형 집적 회로(ASIC), 현장 프로그래머블 게이트 어레이(FPGA), 또는 임의의 다른 등가 집적 또는 이산 로직 회로뿐만 아니라 그러한 요소들의 임의의 조합을 포함하는, 하나 이상의 프로세서 내에서 구현될 수 있다. "프로세서" 또는 "처리 회로"라는 용어는, 일반적으로 단독으로 또는 다른 논리 회로 또는 임의의 다른 등가 회로와 조합하는, 상술된 논리 회로 중 임의의 것을 지칭할 수 있다. 하드웨어를 포함하는 제어 유닛은 또한 본 발명의 기술들 중 하나 이상을 수행할 수도 있다.
그와 같은 하드웨어, 소프트웨어 및 펌웨어는 본 발명에서 설명된 다양한 동작 및 기능을 지원하기 위해 동일한 디바이스 내에서 또는 별도의 디바이스 내에서 구현될 수 있다. 또한, 설명된 유닛, 모듈 또는 요소들 중 임의의 것은 개별적이지만 상호 운용 가능한 논리 디바이스로서 함께 또는 별도로 구현될 수 있다. 모듈 또는 유닛과 같은 상이한 특징들의 설명은 상이한 기능적 측면을 강조하기 위해 의도된 것이며, 그와 같은 모듈이나 유닛이 반드시 별도의 하드웨어 또는 소프트웨어 요소에 의해 실현되어야 함을 의미하지는 않는다. 오히려, 하나 이상의 모듈 또는 유닛과 관련된 기능은 별도의 하드웨어 또는 소프트웨어 요소에 의해 수행되거나 또는 공통의 또는 별도의 하드웨어 또는 소프트웨어 요소 내에 통합될 수 있다.
본 발명에서 설명된 기술은 또한 명령어를 포함하는 컴퓨터 판독 가능 저장 매체와 같은, 컴퓨터 판독 가능 매체에서 구현되거나 인코딩될 수도 있다. 컴퓨터 판독 가능 저장 매체에 내장되거나 인코딩된 명령어들은, 예를 들어 상기 명령어들이 실행될 때, 프로그래머블 프로세서 또는 다른 프로세서들로 하여금 상기 방법을 수행하게 할 수 있다. 컴퓨터 판독 가능 저장 매체는 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 프로그래머블 읽기 전용 메모리(PROM), 삭제 가능한 프로그래머블 읽기 전용 메모리(EPROM), 전자적으로 삭제 가능한 프로그래머블 읽기 전용 메모리(EEPROM), 플래시 메모리, 하드 디스크, CD-ROM, 플로피 디스크, 카세트, 자기 매체, 광학 매체 또는 기타 컴퓨터 판독 가능 매체를 포함할 수 있다.

Claims (15)

  1. 인공 현실 시스템으로서,
    사용자의 물리적 환경을 나타내는 현실 세계 이미지 데이터를 캡처하도록 구성되는 제1 이미지 캡처 디바이스;
    인공 현실 콘텐츠를 출력하도록 구성되는 머리-장착형 디스플레이(HMD)로서,
    상기 사용자 시선의 초점을 나타내는 이미지 데이터를 캡처하도록 구성되는 제2 이미지 캡처 디바이스들의 세트; 및
    상기 사용자의 초점에 기초하여 수정 가능한 초점 거리를 갖는 가변 초점 디스플레이를 포함하는, 상기 머리-장착형 디스플레이(HMD); 및
    깊이 엔진으로서,
    상기 현실 세계 이미지 데이터 및 상기 현실 세계 이미지 데이터와 관련된 깊이 데이터에 기초하여, 상기 사용자의 물리적 환경의 3-차원(3D) 장면을 생성하고;
    상기 사용자의 초점에 기초하여 상기 HMD의 가변 초점 디스플레이상에 디스플레이하기 위해 상기 인공 현실 콘텐츠를 상기 물리적 환경의 3D 장면에 대한 오버레이로서 생성하도록 구성되는, 상기 깊이 엔진을 포함하는, 인공 현실 시스템.
  2. 제1 항에 있어서, 상기 제1 이미지 캡처 디바이스는 상기 현실 세계 이미지 데이터를 컬러 및 고해상도로 캡처하도록 구성되는 적어도 하나의 패스-스루 카메라(pass-through camera)를 포함하는, 인공 현실 시스템.
  3. 제2 항에 있어서, 상기 HMD는 상기 깊이 엔진을 실행하도록 구성되는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 상기 적어도 하나의 패스-스루 카메라에 근접하게 위치되는, 인공 현실 시스템.
  4. 제1 항, 제2 항 또는 제3 항에 있어서, 상기 HMD는 상기 깊이 데이터를 생성하도록 구성되는 깊이 센서를 추가로 포함하고, 상기 물리적 환경의 3D 장면을 생성하기 위해, 상기 깊이 엔진은:
    상기 깊이 데이터를 사용하여, 현실 세계 장면의 3D 메시를 생성하고;
    상기 현실 세계 장면의 3D 메시상에 상기 현실 세계 이미지 데이터의 적어도 일부를 오버레이하도록 구성되는, 인공 현실 시스템.
  5. 제4 항에 있어서, 상기 현실 세계 이미지 데이터는 현실 세계 이미지 데이터의 스트림을 나타내고, 상기 깊이 데이터는 깊이 데이터의 스트림을 나타내고, 상기 인공 현실 콘텐츠를 생성하기 위해, 상기 깊이 엔진은 추가로:
    상기 현실 세계 이미지 데이터의 스트림과 상기 깊이 데이터의 스트림을 사용하여, 상기 현실 세계 장면의 3D 메시에 대한 상기 HMD의 위치 및 방향에 기초하여 상기 인공 현실 콘텐츠를 거의 실시간으로 생성하도록 구성되는, 인공 현실 시스템.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서, 상기 제2 이미지 캡처 디바이스들의 세트는:
    기준점들의 제1 세트에 대한 상기 사용자의 제1 동공 위치를 포함하는 이미지 데이터의 제1 세트를 캡처하도록 구성되는 제1 눈 추적 카메라; 및
    기준점들의 제2 세트에 대한 상기 사용자의 제2 동공 위치를 포함하는 이미지 데이터의 제2 세트를 캡처하도록 구성되는 제2 눈 추적 카메라를 포함하고,
    상기 깊이 엔진은:
    상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치 및 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치에 기초하여 상기 사용자의 초점을 결정하고; 바람직하게는:
    일정 기간 동안 상기 기준점들의 제1 세트와 관련된 상기 제1 동공 위치를 추적하고;
    일정 기간 동안 상기 기준점들의 제2 세트와 관련된 상기 제2 동공 위치를 추적하고;
    일정 기간 동안의 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치의 움직임에 기초하여, 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치의 예상된 미래의 움직임을 결정하고;
    일정 기간 동안의 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치의 움직임에 기초하여, 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치의 예상된 미래의 움직임을 결정하도록 구성되는 눈 추적기(gaze tracker)를 추가로 포함하며,
    상기 깊이 엔진은, 상기 제1 동공 위치의 예상된 미래의 움직임 및 상기 제2 동공 위치의 예상된 미래의 움직임에 기초하여, 상기 사용자의 예상된 미래 초점을 결정하도록 추가로 구성되는, 인공 현실 시스템.
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서, 상기 깊이 엔진은 추가로:
    상기 사용자의 초점과 일치하도록 상기 가변 초점 디스플레이의 초점 거리를 거의 실시간으로 결정하고;
    상기 결정된 초점 거리를 달성하기 위해 상기 가변 초점 디스플레이가 렌즈에 대해 이동하게 지시하도록 구성되며;
    바람직하게는, 상기 HMD는 상기 렌즈에 대한 상기 가변 초점 디스플레이의 위치를 제어하도록 구성되는 모터를 추가로 포함하고, 상기 가변 초점 디스플레이를 이동시키도록 지시하기 위해, 상기 깊이 엔진은:
    상기 가변 초점 디스플레이를 상기 렌즈로부터 소정의 거리에 배치하여 상기 결정된 초점 거리를 달성하기 위해 상기 모터를 제어하도록 구성되는, 인공 현실 시스템.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서, 상기 이미지 데이터는 상기 사용자의 피사계 심도(depth of field)를 추가로 나타내고, 상기 인공 현실 콘텐츠를 생성하기 위해, 상기 깊이 엔진은:
    상기 사용자의 피사계 심도 밖에 있는 상기 인공 현실 콘텐츠의 부분들을 흐리게 하도록 구성되는, 인공 현실 시스템.
  9. 제1 이미지 캡처 디바이스에 의해, 사용자의 물리적 환경을 나타내는 현실 세계 이미지 데이터를 캡처하는 단계;
    인공 현실 콘텐츠를 출력하도록 구성되는 머리-장착형 디스플레이(HMD)의 제2 이미지 캡처 디바이스들의 세트에 의해, 상기 사용자 시선의 초점을 나타내는 이미지 데이터를 캡처하는 단계;
    상기 HMD의 깊이 엔진에 의해, 상기 사용자의 초점에 기초하여 상기 HMD의 가변 초점 디스플레이의 초점 거리를 수정하는 단계;
    상기 깊이 엔진에 의해 그리고 상기 현실 세계 이미지 데이터 및 상기 현실 세계 이미지 데이터와 관련된 깊이 데이터에 기초하여, 상기 사용자의 물리적 환경의 3-차원(3D) 장면을 생성하는 단계; 및
    상기 깊이 엔진에 의해, 상기 사용자의 초점에 기초하여 상기 HMD의 가변 초점 디스플레이상에 디스플레이하기 위해 인공 현실 콘텐츠를 상기 물리적 환경의 3D 장면에 대한 오버레이로서 생성하는 단계를 포함하는, 방법.
  10. 제9 항에 있어서, 상기 제1 이미지 캡처 디바이스는 적어도 하나의 패스-스루 카메라를 포함하고, 상기 방법은 상기 패스-스루 카메라를 사용하여 상기 현실 세계 이미지 데이터를 컬러 및 고해상도로 캡처하는 단계를 추가로 포함하고; 바람직하게는 상기 HMD의 하나 이상의 프로세서를 사용하여 상기 깊이 엔진을 실행하는 단계를 추가로 포함하며, 상기 하나 이상의 프로세서는 상기 적어도 하나의 패스-스루 카메라에 근접하게 위치되는, 방법.
  11. 제9 항 또는 제10 항에 있어서,
    깊이 센서를 사용하여, 상기 깊이 데이터를 생성하는 단계를 추가로 포함하며, 상기 물리적 환경의 3D 장면을 생성하는 단계는:
    상기 깊이 데이터를 사용하여, 현실 세계 장면의 3D 메시를 생성하는 단계; 및
    상기 현실 세계 장면의 3D 메시상에 상기 현실 세계 이미지 데이터의 적어도 일부를 오버레이하는 단계를 포함하며; 바람직하게는, 상기 현실 세계 이미지 데이터는 현실 세계 이미지 데이터의 스트림을 나타내고, 상기 깊이 데이터는 깊이 데이터의 스트림을 나타내고, 상기 인공 현실 콘텐츠를 생성하는 단계는:
    상기 현실 세계 이미지 데이터의 스트림 및 상기 깊이 데이터의 스트림을 사용하여, 상기 현실 세계 장면의 3D 메시에 대한 상기 HMD의 위치 및 방향에 기초하여 상기 인공 현실 콘텐츠를 거의 실시간으로 생성하는 단계를 포함하는, 방법.
  12. 제9 항, 제10 항 또는 제11 항에 있어서,
    상기 제2 이미지 캡처 디바이스들의 세트의 제1 눈 추적 카메라를 사용하여, 기준점들의 제1 세트에 대한 상기 사용자의 제1 동공 위치를 포함하는 이미지 데이터의 제1 세트를 캡처하는 단계;
    상기 제2 이미지 캡처 디바이스들의 세트의 제2 눈 추적 카메라를 사용하여, 기준점들의 제2 세트에 대한 상기 사용자의 제2 동공 위치를 포함하는 이미지 데이터의 제2 세트를 캡처하는 단계; 및
    상기 깊이 엔진을 사용하여, 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치 및 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치에 기초하여 상기 사용자의 초점을 결정하는 단계를 추가로 포함하며; 바람직하게는 추가로:
    눈 추적기를 사용하여, 일정 기간 동안 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치를 추적하는 단계;
    상기 눈 추적기를 사용하여, 일정 기간 동안 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치를 추적하는 단계;
    일정 기간 동안의 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치의 움직임에 기초하여, 상기 기준점들의 제1 세트에 대한 상기 제1 동공 위치의 예상된 미래의 움직임을 결정하는 단계;
    일정 기간 동안의 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치의 움직임에 기초하여, 상기 기준점들의 제2 세트에 대한 상기 제2 동공 위치의 예상된 미래의 움직임을 결정하는 단계; 및
    상기 깊이 엔진을 사용하고 그리고 상기 제1 동공 위치의 예상된 미래의 움직임 및 상기 제2 동공 위치의 예상된 미래의 움직임에 기초하여, 상기 사용자의 예상된 미래 초점을 결정하는 단계를 포함하는, 방법.
  13. 제9 항 내지 제12 항 중 어느 한 항에 있어서,
    상기 깊이 엔진을 사용하여, 상기 사용자의 초점과 일치하도록 상기 가변 초점 디스플레이의 초점 거리를 거의 실시간으로 결정하는 단계; 및
    상기 깊이 엔진에 의해, 상기 결정된 초점 거리를 달성하기 위해 상기 가변 초점 디스플레이가 렌즈에 대해 이동하도록 지시하는 단계를 추가로 포함하는, 방법.
  14. 제9 항 내지 제13 항 중 어느 한 항에 있어서, 상기 이미지 데이터는 상기 사용자의 피사계 심도를 추가로 나타내며, 상기 인공 현실 콘텐츠를 생성하는 단계는:
    상기 사용자의 피사계 심도 밖에 있는 상기 인공 현실 콘텐츠의 부분들을 흐리게 하는 단계를 포함하는, 방법.
  15. 명령어들을 포함하는 비일시적 컴퓨터 판독 가능 매체로서,
    실행될 때, 하나 이상의 프로세서로 하여금:
    사용자의 물리적 환경을 나타내는 현실 세계 이미지 데이터를 캡처하게 하고;
    상기 사용자 시선의 초점을 나타내는 이미지 데이터를 캡처하게 하고;
    상기 사용자의 초점에 기초하여 가변 초점 디스플레이의 초점 거리를 수정하게 하고;
    상기 현실 세계 이미지 데이터 및 상기 현실 세계 이미지 데이터와 관련된 깊이 데이터에 기초하여, 상기 사용자의 물리적 환경의 3-차원(3D) 장면을 생성하게 하고;
    상기 사용자의 초점에 기초하여 머리-장착형 디스플레이(HMD)의 가변 초점 디스플레이상에 디스플레이하기 위해 상기 인공 현실 콘텐츠를 상기 물리적 환경의 3D 장면에 대한 오버레이로서 생성하게 하는, 명령어들을 포함하는 비일시적 컴퓨터 판독 가능 매체.
KR1020227025773A 2019-12-26 2020-11-01 인공 현실 콘텐츠의 가변 초점 디스플레이를 갖는 인공 현실 시스템 KR20220120649A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/727,167 US11217024B2 (en) 2019-12-26 2019-12-26 Artificial reality system with varifocal display of artificial reality content
US16/727,167 2019-12-26
PCT/US2020/058452 WO2021133465A1 (en) 2019-12-26 2020-11-01 Artificial reality system with varifocal display of artificial reality content

Publications (1)

Publication Number Publication Date
KR20220120649A true KR20220120649A (ko) 2022-08-30

Family

ID=73544400

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227025773A KR20220120649A (ko) 2019-12-26 2020-11-01 인공 현실 콘텐츠의 가변 초점 디스플레이를 갖는 인공 현실 시스템

Country Status (6)

Country Link
US (3) US11217024B2 (ko)
EP (1) EP4081848A1 (ko)
JP (1) JP2023507867A (ko)
KR (1) KR20220120649A (ko)
CN (1) CN114730094A (ko)
WO (1) WO2021133465A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6499154B2 (ja) * 2013-03-11 2019-04-10 マジック リープ, インコーポレイテッドMagic Leap,Inc. 拡張現実および仮想現実のためのシステムおよび方法
CN107656618B (zh) 2013-03-15 2021-03-23 奇跃公司 显示系统和方法
US11363188B2 (en) * 2020-06-17 2022-06-14 Microsoft Technology Licensing, Llc Motion-based operation of imaging devices
US11392199B2 (en) * 2020-06-29 2022-07-19 Snap Inc. Eyewear with shared gaze-responsive viewing
US20230025585A1 (en) * 2021-07-21 2023-01-26 Sony Interactive Entertainment Inc. Augmented reality artificial intelligence enhance ways user perceive themselves
US11768375B2 (en) * 2021-09-03 2023-09-26 Microsoft Technology Licensing, Llc Control of variable-focus lenses in a mixed-reality device for presbyopes
US20230152578A1 (en) * 2021-11-15 2023-05-18 Meta Platforms Technologies, Llc Multi-view eye tracking system with a holographic optical element combiner
US11425283B1 (en) * 2021-12-09 2022-08-23 Unity Technologies Sf Blending real and virtual focus in a virtual display environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10317672B2 (en) 2014-12-11 2019-06-11 AdHawk Microsystems Eye-tracking system and method therefor
US10204451B2 (en) * 2015-11-30 2019-02-12 Microsoft Technology Licensing, Llc Multi-optical surface optical design
US10241569B2 (en) 2015-12-08 2019-03-26 Facebook Technologies, Llc Focus adjustment method for a virtual reality headset
BR112018016726B1 (pt) * 2016-02-18 2023-03-14 Apple Inc Método de processamento de imagem para realidade mista e dispositivo usado na cabeça
US20170287215A1 (en) * 2016-03-29 2017-10-05 Google Inc. Pass-through camera user interface elements for virtual reality
CN109690634A (zh) * 2016-09-23 2019-04-26 苹果公司 增强现实显示器
US20180157320A1 (en) * 2016-12-01 2018-06-07 Oculus Vr, Llc Air spaced optical assembly with integrated eye tracking
US10382699B2 (en) 2016-12-01 2019-08-13 Varjo Technologies Oy Imaging system and method of producing images for display apparatus
US10610775B1 (en) * 2017-01-04 2020-04-07 Facebook Technologies, Llc Actuation for a focus adjusting head mounted display
US10241329B2 (en) 2017-07-13 2019-03-26 Google Llc Varifocal aberration compensation for near-eye displays
US10437065B2 (en) 2017-10-03 2019-10-08 Microsoft Technology Licensing, Llc IPD correction and reprojection for accurate mixed reality object placement
US10699485B2 (en) * 2018-01-04 2020-06-30 Universal City Studios Llc Systems and methods for textual overlay in an amusement park environment
US10319154B1 (en) * 2018-07-20 2019-06-11 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for dynamic vision correction for in-focus viewing of real and virtual objects

Also Published As

Publication number Publication date
US20240037880A1 (en) 2024-02-01
US11217024B2 (en) 2022-01-04
EP4081848A1 (en) 2022-11-02
CN114730094A (zh) 2022-07-08
US20220130124A1 (en) 2022-04-28
WO2021133465A1 (en) 2021-07-01
US20210201580A1 (en) 2021-07-01
JP2023507867A (ja) 2023-02-28

Similar Documents

Publication Publication Date Title
CN107111370B (zh) 现实世界对象的虚拟表示
KR20220120649A (ko) 인공 현실 콘텐츠의 가변 초점 디스플레이를 갖는 인공 현실 시스템
KR102304827B1 (ko) 시선 스와이프 선택
CN107209386B (zh) 增强现实视野对象跟随器
CN107209950B (zh) 从现实世界材料自动生成虚拟材料
CN110018736B (zh) 人工现实中的经由近眼显示器界面的对象增强
CN113168007A (zh) 用于增强现实的系统和方法
CN116438505A (zh) 用于操纵环境中的对象的方法
US20150212576A1 (en) Radial selection by vestibulo-ocular reflex fixation
US20140152558A1 (en) Direct hologram manipulation using imu
JP6558839B2 (ja) 媒介現実
KR20220110205A (ko) 헤드 장착식 디스플레이들에 대한 컨텐츠 안정화
EP2932358A1 (en) Direct interaction system for mixed reality environments
WO2014128752A1 (ja) 表示制御装置、表示制御プログラム、および表示制御方法
CN110895433B (zh) 用于增强现实中用户交互的方法和装置
US11697068B2 (en) Mobile platform as a physical interface for interaction