KR20210154814A - 패스 쓰루 이미징을 갖는 헤드 마운트 디스플레이 - Google Patents

패스 쓰루 이미징을 갖는 헤드 마운트 디스플레이 Download PDF

Info

Publication number
KR20210154814A
KR20210154814A KR1020217036236A KR20217036236A KR20210154814A KR 20210154814 A KR20210154814 A KR 20210154814A KR 1020217036236 A KR1020217036236 A KR 1020217036236A KR 20217036236 A KR20217036236 A KR 20217036236A KR 20210154814 A KR20210154814 A KR 20210154814A
Authority
KR
South Korea
Prior art keywords
environment
image data
user
camera
hmd
Prior art date
Application number
KR1020217036236A
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 KR20210154814A publication Critical patent/KR20210154814A/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
    • 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/0176Head mounted characterised by mechanical 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • 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
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed 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/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
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type
    • GPHYSICS
    • 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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Position Input By Displaying (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)

Abstract

본원은 가상 현실(VR) 환경에서 사용되기 위한 헤드 마운트 디스플레이(HMD)를 설명한다. 본원에 설명된 시스템 및 방법은 사용자를 둘러싼 현실 세계 환경, 현실 세계 환경 내의 사용자 위치, 및/또는 현실 세계 환경 내의 사용자 포즈에 대한 정보를 결정할 수 있다. 이러한 정보는 HMD가 VR 환경으로부터 사용자를 방해하지 않으면서 패스 쓰루 방식으로 현실 세계 환경의 이미지를 표시하는 것을 허용할 수 있다. 일부 예에서, HMD가 하나 이상의 트리거링 이벤트에 기반하여 현실 세계 환경의 이미지를 패스 쓰루할 수 있다.

Description

패스 쓰루 이미징을 갖는 헤드 마운트 디스플레이
관련 출원의 교차 참조
본원은 2020년 4월 14일자로 출원된 미국 특허 출원 제16/848,332호에 대한 우선권을 주장하는 PCT 출원이며, 이 미국 출원은 2019년 4월 23일자로 출원된 미국 임시 특허 출원 제62/837,668호에 대해 우선권을 주장한다. 출원 제16/848,332호 및 제62/837,668호는 본원에 인용되어 완전히 포함된다.
헤드 마운트 디스플레이는 엔지니어링, 의료, 군사, 및 비디오 게임을 포함하여 다양한 응용분야에서 사용된다. 일부 경우에, 헤드 마운트 디스플레이는 가상 현실 또는 증강 현실 환경의 일부로서 정보 또는 이미지를 사용자에게 제시할 수 있다. 예를 들어, 비디오 게임을 하는 동안, 사용자는 가상 환경에 사용자를 몰입시키기 위해 헤드 마운트 디스플레이를 착용할 수 있다. 헤드 마운트 디스플레이는, 몰입형 경험을 제공하지만, 물리적 또는 현실 세계의 시야를 차단한다. 결과적으로, 사용자는 현실 세계 내의 객체(예: 컨트롤러)를 집고/집거나 다른 개체(individual)를 인식하기가 어렵다는 점을 알 수 있다. 또한, 사용자는 현실 세계(예: 벽) 내의 물리적 경계를 인식하지 못할 수 있다. 헤드 마운트 디스플레이를 제거하는 것은 사용자가 보는 것을 허용하지만, 헤드 마운트 디스플레이를 거듭해서 벗고 다시 착용하는 것은 지루할 수 있고, 사용자가 가상 환경과 현실 세계 사이에서 자신을 재배향하는 것을 요구할 수 있고, 그리고/또는, 그렇지 않으면, 가상 현실 경험을 손상시킬 수 있다.
상세한 설명은 수반된 도면을 참조하여 설명된다. 도면에서, 참조 번호의 맨 왼쪽 숫자(들)는 이 참조 번호가 처음으로 나타나는 도면을 식별한다. 서로 다른 도면에서 동일하거나 같은 참조 번호는 유사하거나 동일한 항목을 나타낸다.
도 1은 본 개시내용의 예시적인 실시예에 따른 예시적인 환경에서 예시적인 헤드 마운트 디스플레이를 착용하는 사용자를 예시한다.
도 2는 본 개시내용의 일 실시예에 따른 도 1의 헤드 마운트 디스플레이의 사시도이다.
도 3은 본 개시내용의 일 실시예에 따른 도 1의 헤드 마운트 디스플레이를 착용한 사용자 및 패스 쓰루(pass-through) 이미지를 제공하는 헤드 마운트 디스플레이를 예시한다.
도 4는 본 개시내용의 일 실시예에 따른 도 1의 헤드 마운트 디스플레이를 착용한 사용자 및 패스 쓰루 이미지를 제공하는 헤드 마운트 디스플레이를 예시한다.
도 5는 본 개시내용의 일 실시예에 따른, 도 1의 헤드 마운트 디스플레이를 사용하여 패스 쓰루 이미지를 제시하기 위한 예시적인 방법을 예시한다.
도 6은 본 개시내용의 일 실시예에 따른, 도 1의 헤드 마운트 디스플레이를 사용하여 패스 쓰루 이미지를 제시하기 위한 예시적인 방법을 예시한다.
헤드 마운트 디스플레이는 가상 현실 환경에서 콘텐츠를 보고 상호 작용하기 위해 사용자에 의해서 착용된다. 몰입형 경험을 제공하기 위해, 헤드 마운트 디스플레이는 사용자의 시야의 큰 부분 또는 심지어 전부를 덮을 수 있다. 따라서, 헤드 마운트 디스플레이는 사용자의 시야를 현실 세계로부터 차단할 수 있으며, 이는 사용자가 객체에 걸려 넘어지거나, 가구에 부딪히거나, 현실 세계 내의 개체를 알아차리지 못하는 등의 결과로 이어진다. 헤드 마운트 디스플레이를 제거하는 것은 사용자가 현실 세계를 보는 것을 허용하지만, 가상 현실 환경과 현실 세계 사이에서 각각 자신을 재배향할 것을 요구한다. 일부 헤드 마운트 디스플레이는, 예를 들어, 사용자가 현실 세계를 보는 것을 허용하도록 개방되는 바이저를 포함할 수 있다. 그러나 이러한 솔루션은, 가상 현실 환경 내에서 사용자의 몰입을 중단한다.
이러한 결점을 극복하기 위한 노력의 일환으로, 일부 헤드 마운트 디스플레이는, 각각의 사용자가 각각의 헤드 마운트 디스플레이를 제거하지 않으면서 현실 세계를 보는 것을 허용하는 패스 쓰루 이미징을 가능하게 할 수 있다. 그러나, 기존의 패스 쓰루 이미징은 상당히 조잡한 응답 시간을 나타내는 경향이 있고, 사용자의 관점이나 시점으로부터 현실 세계를 묘사하지 못하거나, 왜곡될 수 있다. 결과적으로, 사용자는 균형을 잃거나, 어지럽거나, 방향 감각을 상실하거나, 또는 심지어 앓을 수 있다.
본원은 가상 현실(VR) 환경에서 사용되기 위한 헤드 마운트 디스플레이(HMD)를 부분적으로 설명한다. 본원에 설명된 시스템 및 방법은 사용자를 둘러싼 현실 세계 환경, 현실 세계 환경 내의 사용자 위치, 및/또는 현실 세계 환경 내의 사용자 포즈에 대한 정보를 결정할 수 있다. 이러한 정보는 HMD가 VR 환경으로부터 사용자를 방해하지 않으면서 패스 쓰루 방식으로 현실 세계 환경의 이미지를 표시하는 것을 허용할 수 있다. 일부 예에서, HMD가 하나 이상의 트리거링 이벤트에 기반하여 현실 세계 환경의 이미지를 패스 쓰루할 수 있다. 예를 들어, HMD가 착용되고, 사용자가 VR 환경 내에 몰입된 동안, 사용자는 현실 환경 내의 주위를 둘러보는 것을 허용하는 버튼을 작동할 수 있다. 추가적인 실시예로서, 사용자가 의심스럽거나 흥미로운 것을 들은 경우, 사용자가 현실 환경에서 항목(예: 컨트롤러)의 위치를 찾고자 하는 경우, 및/또는 방문자가 사용자의 주변에 들어오는 경우, HMD 현실 세계 환경과 연관된 콘텐츠를 표시할 수 있다. 일부 예에서, 이 콘텐츠는 VR 환경으로부터 사용자의 주의를 분산시키는 것을 제한하기 위해 미학적 방식으로 사용자에게 제공될 수 있다. 예를 들어, 이 콘텐츠는 VR 환경과 연관된 가상 콘텐츠에 대한 오버레이로서 제공될 수 있다. 이러한 경우, 사용자는 계속 HMD를 착용한 상태일 수 있고, VR 환경에 몰입된 상태로 유지될 수 있다. 따라서, 본원에 따른 HMD는 현실 환경과 VR 환경 사이에서 콘텐츠를 전이하거나 표시할 때 사용자 경험을 향상시킬 수 있다.
HMD는, 사용자의 눈에 인접된, 얼굴에 착용되는 디스플레이를 갖는 전방부를 포함할 수 있다. 디스플레이는 사용자가 보기 위한 이미지(또는 다른 콘텐츠)를 출력할 수 있다. 예를 들어, 사용자는, 게임을 하거나 미디어 콘텐츠(예: 영화)를 보기 위해서 HMD를 착용할 수 있다.
HMD는 현실 세계 환경의 이미지를 캡처하는 카메라를 포함할 수 있다. 일부 예에서, 카메라는 디스플레이에 장착되고/되거나, HMD의 전방부에 통합될 수 있다. 추가적으로 또는 대안적으로, 카메라는 HMD 외부 및 사용자 앞에 있는 이미지를 캡처하기 위해 전방을 향할 수 있다. 더욱이, 일부 예에서, 카메라가 HMD와 분리되고, 환경 전체에 걸쳐 또는 사용자의 다른 부분(예: 허리)에 배치될 수 있다.
일부 예에서, 카메라들은, 카메라들의 광축들이 평행하고 알려진 거리만큼 분리되도록 공간적으로 분리될 수 있다. 따라서 카메라들은 약간 다른 관점으로부터 현실 세계 환경의 이미지를 캡처할 수 있다. 관점들 사이의 정보의 상이점은 현실 환경의 깊이 정보(즉, 스테레오 카메라 이미징)를 계산하기 위해서 사용될 수 있다. 예를 들어, HMD 및/또는, 통신적으로 결합된 컴퓨팅 디바이스(예: 게임 콘솔, 개인용 컴퓨터 등)는, 현실 세계 환경과 연관된 깊이 정보를 생성하기 위해서 카메라에 의해 캡처된 이미지 데이터를 사용할 수 있다.
예를 들어, 카메라는, HMD의 전방부 상에 있는 서로 수평으로 그리고/또는 수직으로 변위된 제1 카메라 및 제2 카메라를 포함할 수 있다. 일부 예에서, 상기 제1 카메라는 상기 HMD의 제1 측부에서 전방부 상에 위치될 수 있고, 상기 제2 카메라는 상기 HMD의 제2 측부에서 전방부 상에 위치될 수 있다. 그러나, 위에서 언급된 바와 같이, 제1 카메라 및 제2 카메라는 환경 내의 다른 곳에 그리고/또는 사용자의 다른 부분 상에 위치될 수 있다.
제1 카메라 및/또는 제2 카메라에 의해 캡처된 이미지 데이터는 현실 세계 환경(예: 방)의 상이한 뷰를 나타낼 수 있다. 제1 카메라 및/또는 제2 카메라에 의해 캡처된 이미지(또는 이미지 데이터)를 비교함으로써, HMD(및/또는 다른 통신적으로 결합된 컴퓨팅 디바이스)는 차이 또는 시차(disparity)를 결정할 수 있다(예: 시차 매핑 알고리즘을 사용하여). 시차는 두 이미지에서 대응되는 이미지 포인트의 좌표 차이를 나타낼 수 있다. 시차(또는 시차 값)이 현실 세계 환경 내의 깊이에 반비례하기 때문에, HMD 및/또는, 게임 콘솔과 같은 다른 통신적으로 결합된 컴퓨팅 디바이스는 현실 세계 환경(또는 이의 일부)과 연관된 깊이 정보를 결정할 수 있다. 일부 예에서, 깊이 정보는 사용자의 관점(즉, 사용자의 시선)으로부터 온 것일 수 있다.
깊이 정보를 사용하여, HMD 및/또는, 게임 콘솔과 같은 다른 통신적으로 결합된 컴퓨팅 디바이스는 현실 세계 환경(또는 이의 일부)의 깊이 맵 또는 3차원(3D) 메시를 생성할 수 있다. 예를 들어, 깊이 맵은 현실 세계 환경(예: 방의 벽, 가구 등) 내의 객체와 사용자 사이의 거리를 나타낼 수 있다. 추가적으로 또는 대안적으로, HMD는 깊이 맵 및/또는 3D를 생성하기 위해서 활용되는 다른 센서를 포함할 수 있다. 예를 들어, HMD는 현실 세계 환경에서 사용자와 객체 사이의 거리를 결정하기 위한 깊이 센서를 포함할 수 있고, 사용자가 현실 세계 환경의 객체 또는 경계에 근접(예를 들어, 미리 결정된 근접성 또는 임계 근접성)하다는 점을 결정할 수 있다. 그러나, HMD 또는 게임 콘솔은, 추가적으로 또는 대안적으로, 깊이 맵 및/또는 3D 메시 생성에 사용되기 위한 라이다(LIDAR: Light Detection and Ranging), 초음파 거리 측정, 입체 거리 측정, 구조광 분석, 도트 투사, 입자 투사, 비행 시간 관측 등을 사용할 수 있다.
현실 세계 환경의 깊이 맵 및/또는 3D 메시를 생성할 때, HMD 및/또는, 게임 콘솔과 같은 다른 통신적으로 결합된 컴퓨팅 디바이스는 깊이 맵 및/또는 3D 메시 상에 이미지 데이터를 투사할 수 있다. 이러한 의미에서, 이미지 데이터는 깊이 맵 및/또는 3D 메시를 생성하기 위해 먼저 활용될 수 있고, 이차적으로 깊이 맵 및/또는 3D 메시 상에 중첩되거나, 오버레이되거나 또는 투사될 수 있다. 이렇게 함으로써, HMD는 사용자에게 현실 세계 환경을 나타내는 콘텐츠를 표시할 수 있다.
일부 예에서, 깊이 맵, 3D 메시, 및/또는 제1 카메라 및/또는 제2 카메라에 의해 캡처된 이미지는 사용자의 포즈 또는 시점을 처리하도록(account for) 수정될 수 있다. 예를 들어, 카메라가 사용자의 눈과 정렬(예: 수평적으로, 수직적으로 그리고 깊이 방향으로)되지 않을 수 있으므로(즉, 카메라가 사용자 눈의 정확한 위치에 있지 않음), 깊이 맵 및/또는 3D 메시는 이러한 불일치를 처리할 수 있다. 다시 말해서, 제1 카메라 및 제2 카메라에 의해 캡처된 이미지 데이터는 사용자의 시점과 다른 시점을 나타낼 수 있다. 이러한 불일치를 처리하지 못하는 것은 불완전한 현실 세계 환경을 예시할 수 있으며, 깊이 값이나 이미지 데이터가 사용자의 시점으로부터 온 것이 아니기 때문에 사용자가 객체를 집는 것이 어렵다는 점을 알 수 있다. 예를 들어, 카메라는 사용자의 눈의 관점 및/또는 깊이와 다른 관점 및/또는 깊이로부터 이미지 데이터를 캡처하기 때문에(즉, 카메라가 수평적으로, 수직적으로 및/또는 깊이 방향으로 사용자의 눈과 동일한 위치에 있지 않다), 3D 메시는, 사용자에게 현실 세계 환경의 왜곡되지 않은 뷰를 정확하게 묘사하고 제공하기 위해서 이러한 오프셋을 처리할 수 있다. 즉, 깊이 맵, 3D 메시 및/또는 이미지 데이터는 제1 카메라와 제2 카메라 및 사용자의 눈(예: 제1 눈 및/또는 제2 눈) 또는 시선의 좌표 위치(또는 위치)의 차이(또는 오프셋)에 적어도 부분적으로 기반하여 수정될 수 있다. 따라서, 사용자에게 표시되는 현실 세계 환경의 이미지는 사용자의 관점으로부터 현실 세계 환경 내의 객체를 정확하게 표현할 수 있다.
추가적으로 또는 대안적으로, 일부 예에서, HMD 및/또는 현실 세계 환경은 사용자의 시선, 시점 및/또는 시야를 추적하는 센서를 포함할 수 있다. 예를 들어, HMD는, 사용자의 눈의 동공 사이의 거리를 측정하는 동공 사이 거리(IPD: Interpupillary Distance) 센서 및/또는 사용자의 시선 방향을 검출하는 다른 센서를 포함할 수 있다. 이러한 센서는 사용자에게 현실 세계 환경의 이미지를 정확하게 묘사하기 위해 사용자의 시점을 결정하도록 사용될 수 있다.
패스 쓰루 이미징은 사용자가, 동료, 컴퓨터 화면, 모바일 디바이스 등과 같은 현실 세계 환경에서의 객체와 상호 작용하고 이를 보는 것을 허용할 수 있다. 일부 예에서, 사용자는 VR 환경과 현실 세계 환경 사이를 토글하거나 스위칭할 수 있거나, HMD는 하나 이상의 트리거링 이벤트에 응답하여 VR 환경과 현실 세계 환경 사이를 자동으로 스위칭할 수 있다. 즉, HMD는, 현실 세계의 환경이 사용자에게 제시되는 패스 쓰루 모드 및/또는 VR 환경이 사용자에게 제시되는 가상 현실 모드와 같은 하나 이상의 모드를 포함할 수 있다. 예를 들어, 사용자는 HMD를 착용한 상태에서 물을 마시고 싶을 수 있다. HMD를 제거하는 것보다, 사용자는 현실 세계 환경의 디스플레이를 유발하는 HMD 상의 버튼을 작동(예: 이중 누름)할 수 있다. 이어서, 디스플레이는 사용자가 HMD를 벗지 않으면서 물 컵의 위치를 찾는 것을 허용하도록 현실 세계 환경의 이미지를 제시할 수 있다. 그 후, 물 컵의 위치를 찾은 후, 사용자는, 디스플레이가 VR 환경의 가상 콘텐츠를 제시하게 하도록 버튼을 작동(예: 한 번 누름)할 수 있다. 따라서, 현실 세계 환경을 나타내는 패스 쓰루 이미지는 사용자가 객체(예: 가구)에 부딪히지 않으면서 객체의 위치를 찾기 위해 현실 세계 환경 주위를 이동하는 것을 허용할 수 있다. 추가 실시예로서, 패스 쓰루 이미지는 사용자의 현실 세계 환경 안으로 들어오는 다른 개체를 나타낼 수 있다. 여기서, HMD는 다른 개체를 검출하고, 디스플레이에 이미지를 제시하여 사용자가 다른 개체를 인식하거나 의식할 수 있도록 할 수 있다.
일부 예에서, 사용자에게 표시되는 현실 세계 환경과 연관된 콘텐츠는 VR 환경에 있는 사용자의 느낌을 유지하기 위해 부분적으로 투명할 수 있다. 일부 예에서, 현실 세계 환경과 연관된 콘텐츠는 가상 콘텐츠와 결합되거나, 현실 세계 환경과 연관된 콘텐츠만 제시될 수 있다(예: 100% 패스 쓰루 이미징). 추가적으로 또는 대안적으로, 일부 예에서, 카메라에 의해 캡처된 이미지는 디스플레이 전체에 제시되거나, 특정 부분 내에 제시될 수 있다. 또한, 일부 예에서, 현실 세계 환경과 연관된 콘텐츠는 어떤 콘텐츠가 현실 세계 환경의 일부이고, 어떤 콘텐츠가 VR 환경의 일부인지를 사용자에게 나타내기 위해 점선으로 표시될 수 있다. 이러한 제시는 사용자가 접근하는 개체, 소란(commotion) 및/또는 사용자를 둘러싼 객체를 보는 것을 허용할 수 있다. 특정 구현 또는 구성에 관계없이, HMD는, 사용자의 시야 내에 들어오는 객체를 경고하고, 검출하고, 또는 달리 인식하기 위해 현실 세계 환경과 연관된 콘텐츠를 표시하는 기능을 할 수 있다.
일부 예에서, HMD 및/또는, 게임 콘솔과 같은 VR 환경과 연관된 기타 컴퓨팅 디바이스는 현실 세계 환경 내에서 추적 시스템과 함께 작동될 수 있다. 추적 시스템은 현실 세계 환경 내에서 사용자의 위치를 추적하는 센서를 포함할 수 있다. 이러한 추적은 사용자가 VR 환경에 몰입된 동안 사용자 주변의 현실 세계 환경에 대한 정보, 예를 들어, 환경 내의 사용자의 위치 및/또는 사용자의 포즈 또는 시점을 결정하기 위해서 사용될 수 있다. 현실 세계 환경 내에서, 추적 시스템은 사용자의 위치 및/또는 포즈를 결정할 수 있다. 일부 예에서, 추적 시스템은 현실 세계 환경의 중심에 대한 사용자의 위치 및/또는 포즈를 결정할 수 있다.
일부 예에서, 추적 시스템은 현실 세계 환경 안으로 광(예: 가시적 또는 비가시적)을 방출하는 조명 요소, 및 입사광을 검출하는 센서를 포함할 수 있다. 일부 예에서, HMD는 사용자의 위치 및/또는 포즈를 검출하기 위해 마커를 포함할 수 있다. 현실 세계 환경 안으로 광을 투사할 때, 마커는 광을 반사할 수 있고, 센서는 마커에 의해 반사된 입사광을 캡처할 수 있다. 캡처된 입사광은 사용자의 위치 및/또는 포즈를 결정하기 위해서 사용될 수 있는 환경 내의 마커의 위치를 추적하고/하거나 결정하기 위해서 사용될 수 있다.
일부 예에서, 현실 세계 환경 내에서 사용자의 위치 및/또는 포즈는 경고, 지시(indication) 또는 콘텐츠를 사용자에게 제시하기 위해서 사용될 수 있다. 예를 들어, 사용자가 현실 세계 환경의 벽에 접근하고 있는 경우, 사용자와 벽의 위치(추적 시스템을 통해)를 알면, HMD는 현실 세계 환경 내의 벽을 나타내는 이미지를 제시할 수 있다. 즉, 사용자가 벽에 접근하고 있음을 (즉, 깊이 값을 통해) 결정하기 위해서 카메라에 의해 캡처된 이미지를 사용하는 것 외에, 또는 이로부터 대안적으로, 추적 시스템은 현실 세계 환경 내에서 사용자의 상대 위치를 결정할 수 있다. 이러한 추적은 현실 세계 환경 내에서 객체의 깊이(또는 배치)에 정확하게 대응되는 이미지를 제시하는 데 도움이 될 수 있다.
또한, 추적 시스템으로부터 얻은 이미지 또는 데이터는 현실 세계 환경의 3D 모델(또는 메시)을 생성하기 위해서 사용될 수 있다. 예를 들어, 사용자, HMD, 추적 시스템, 게임 콘솔, 및/또는, 통신 가능하게 연결된 다른 컴퓨팅 디바이스의 위치 및/또는 포즈를 아는 것은 현실 세계 환경 내에서 사용자의 상대 위치를 결정할 수 있다. 사용자의 이러한 위치 및/또는 포즈는 사용자가 보고 있는 현실 세계 환경의 3D 모델의 대응되는 부분(즉, 사용자의 시야)을 결정하기 위해서 활용될 수 있다. 예를 들어, 카메라가 사용자의 시점과 연관되지 않은 이미지를 캡처할 때, 추적 시스템은 사용자의 시선, 포즈 또는 시점을 결정할 수 있다. 이러한 정보는 사용자가 현실 세계 환경 내에서 주시하고 있는 위치를 결정하기 위해서 사용될 수 있다. 현실 세계 환경에서 사용자가 주시하고 있는 위치를 아는 것은 카메라에 의해 캡처된 이미지를 수정하기 위해서 사용될 수 있다. 이렇게 함으로써, HMD는 현실 세계 환경을 정확하게 표시할 수 있다.
HMD, 추적 시스템, 게임 콘솔 및/또는, 다른 통신적으로 연결된 컴퓨팅 디바이스는 또한, 현실 세계 환경 내에서 사용자의 상대 위치를 결정하기 위해서, 카메라의 이미지 데이터를 사용하여 생성된 깊이 맵 및/또는 3D 메시를 3D 모델과 비교하여 할 수 있다. 특정 구현에 관계없이, 현실 세계 환경 내에서 사용자의 위치 및/또는 포즈를 알면, HMD 및/또는, 다른 통신적으로 결합된 컴퓨팅 디바이스는 깊이 맵의 포인트 및/또는 3D 메시의 포인트를 현실 세계 환경의 3D 모델 상으로 변환할 수 있다. 이어서, 카메라에 의해 캡처된 이미지는 사용자의 시점에 대응되는 3D 모델 상에 투사될 수 있다.
따라서, 상술된 사항을 고려하여, 본원은 VR 경험을 향상시키기 위해 패스 쓰루 이미징을 제공하는 HMD에 대해 논의한다. 패스 쓰루 이미징은 VR 환경의 콘텐츠 및 현실 세계 환경과 연관된 콘텐츠를 표시할 때 비교적 매끄러운(seamless) 경험을 제공할 수 있다. 이러한 패스 쓰루 이미징은 현실 세계 환경과 연관된 콘텐츠를 보기 위해 덜 간섭적이고 덜 방해되는 솔루션을 제공한다. 일부 예에서, 현실 세계 환경과 연관된 정보 또는 콘텐츠는 모션, 소리, 제스처, 미리 구성된 이벤트, 사용자 움직임 변화 등을 포함하지만 이에 한정되지 않는 트리거에 응답하여 사용자에게 선택적으로 제공될 수 있다. 또한, 일부 예에서, 본 출원에 따른 HMD는, 헬멧, 바이저, 고글, 마스크, 안경, 및 사용자의 머리에 착용된 다른 헤드 웨어 또는 아이 웨어를 포함하는 다양한 형태를 취할 수 있다.
본 개시내용은 본원에 개시된 구조, 기능, 디바이스 및 시스템의 원리에 대한 전반적인 이해를 제공한다. 본 개시내용의 하나 이상의 실시예가 수반된 도면에 예시된다. 당업자는, 본원에서 구체적으로 설명되고 수반된 도면에서 예시된 디바이스 및/또는 시스템이 비제한적인 실시형태라는 점을 이해할 것이다. 일 실시형태와 관련하여 예시되거나 설명된 특징은, 시스템과 방법 사이에서와 같이, 다른 실시형태의 특징과 결합될 수 있다. 이러한 수정예 및 변형예는 첨부된 청구범위의 범위 내에 포함되도록 의도된다.
도 1은 HMD(104)를 착용하고 환경(102) 내에 상주하는 사용자(100)를 예시한다. 일부 예에서, 사용자(100)는 VR 환경 내에 사용자(100)를 몰입시키기 위해 HMD(104)를 착용할 수 있다. 일부 예에서, 사용자(100)는 하나 이상의 컨트롤러(106)를 사용하여 VR 환경 내에서 상호작용할 수 있다. HMD(104)는, 가상 콘텐츠 및/또는 이미지를 사용자(100)에게 제공하기 위한 디스플레이(108), 및, 일부 예에서, 제1 카메라(110) 및/또는 제2 카메라(112)와 같은 이미지 캡처링 디바이스를 포함한다.
제1 카메라(110) 및/또는 제2 카메라(112)는 환경(102)의 이미지를 캡처할 수 있고, 환경(102)의 이미지를 디스플레이(108) 상에서 보기 위한 사용자(100)에게 패스 쓰루할 수 있다. 즉, 그리고 본원에서 상세하게 논의되는 바와 같이, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지는, 사용자(100)가 VR 환경으로부터 분리되고/되거나 HMD(104)를 제거할 필요 없이 환경(102)을 보는 것을 허용하기 위해서, 패스 쓰루 방식으로 사용자(100)에게 제시될 수 있다.
일부 예에서, 제1 카메라(110) 및/또는 제2 카메라(112)는 HMD(104)의 전방부 내에 또는 근처에 배치될 수 있다. 일부 예에서, 제1 카메라(110) 및/또는 제2 카메라(112)는 스테레오 카메라, 적외선(IR) 카메라, 깊이 카메라, 및/또는 이들의 임의의 조합을 나타낼 수 있다. 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지는 사용자(100)를 둘러싼 환경(102)을 나타낼 수 있다. 일부 예에서, 제1 카메라(110) 및/또는 제2 카메라(112)는 사용자(100) 앞의 환경(102)의 이미지를 캡처하기 위해서 전방을 향할 수 있다. 일부 예에서, 제1 카메라(110) 및/또는 제2 카메라(112)는 이들의 광축이 평행하도록 공간적으로 분리될 수 있다. 따라서, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지는 상이한 관점으로부터 환경(102)을 나타낼 수 있고, 환경(102)과 연관된 깊이 정보를 결정하기 위해서 사용될 수 있다(즉, 스테레오 카메라 이미징). 그러나, 일부 경우에, 제1 카메라(110) 및/또는 제2 카메라(112)는 환경(102) 내의 다른 곳에 위치될 수 있다. 예를 들어, 제1 카메라(110) 및/또는 제2 카메라(112)는 환경(102)의 바닥에 위치될 수 있고, 환경(102) 내의 책상 위에 위치될 수 있다.
예시된 바와 같이, HMD(104)는 HMD(104)와 연관된 동작을 실행하거나 달리 수행하는 프로세서(들)(114)를 포함할 수 있다. 예를 들어, 프로세서(들)(114)는 제1 카메라(110) 및/또는 제2 카메라(112)가 이미지를 캡처하게 하고, 다음으로 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지를 수신하고, 이미지(또는 이미지 데이터)를 비교하고, 그리고 이들 사이의 차이를 결정할 수 있다. 차이가 환경(102) 내의 객체의 깊이에 반비례하기 때문에, 프로세서(들)(114)는 환경(102)(예를 들어, 벽, 가구, TV 등)과 연관된 깊이 정보를 결정할 수 있다.
일부 예에서, 깊이 정보를 사용하여, 프로세서(들)(114)는 환경(102)의 깊이 맵 또는 3D 메시를 생성할 수 있다. 예를 들어, 예시된 바와 같이, HMD(104)는, 환경(102)의 깊이 맵(118) 및/또는 환경(102)의 3D 메시(120)를 저장하거나, 또는 그렇지 않으면 이에 대한 액세스를 갖는 메모리(116)를 포함한다. 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지 데이터가 환경(102)의 일 부분을 나타내기 때문에, 깊이 맵(118) 및/또는 3D 메시(120)는 환경(102)의 일 부분을 대응되게 나타낼 수 있다. 일부 예에서, 깊이 맵(118) 및/또는 3D 메시(120)를 생성할 때, 프로세서(들)(114)는 메모리(116) 내에 깊이 맵(118) 및/또는 3D 메시(120)를 저장할 수 있다.
제1 카메라(110) 및/또는 제2 카메라(112)에 의해 촬영된 이미지 데이터, 깊이 맵, 및/또는 3D 메시는 사용자(100)의 관점(즉, 사용자(100)의 시점)이 아니기 때문에, HMD(104)(및/또는 다른 통신적으로 연결된 컴퓨팅 디바이스)는 사용자(100)의 관점에 대해(예를 들어, 각각 제1 눈 및/또는 제2 눈에 대해) 제1 카메라(110) 및/또는 제2 카메라(112)의 배치를 어카운트(account)할 수 있다. 즉, HMD(104) 상에 위치하든 환경 내의 다른 곳에 위치하든, 제1 카메라(110) 및/또는 제2 카메라(112)는 사용자(100)의 시점 및/또는 사용자(100)의 관점에 대응되는 이미지를 캡처하지 않는다. 따라서, 이미지 데이터, 또는 깊이 맵 및/또는 3D 메시 내의 포인트는 이러한 변위를 처리하기(account for) 위해 수정되거나 오프셋될 수 있다.
일부 예에서, HMD(104)는 추적 시스템(122)과 함께 작동될 수 있다. 일부 예에서, HMD(104)는 네트워크(124)를 통해 추적 시스템(122)에 통신 가능하게 결합될 수 있다. 예를 들어, HMD(104) 및 추적 시스템(122)은, 네트워크(124)에 대한 무선 연결을 용이하게 하기 위해서, 네트워크 인터페이스(126) 및/또는 네트워크 인터페이스(128)와 같은 하나 이상의 인터페이스를 각각 포함할 수 있다. 네트워크(124)는 데이터 및/또는 음성 네트워크를 포함하는 임의의 유형의 통신 네트워크를 나타내고, 유선 인프라(예: 케이블, CAT5, 광섬유 케이블 등), 무선 인프라(예: RF, 셀룰러, 마이크로파, 위성, 블루투스 등) 및/또는 다른 연결 기술을 사용하여 구현될 수 있다.
추적 시스템(122)은, 환경(102) 내에서 사용자(100), HMD(104), 제1 카메라(110), 및/또는 제2 카메라(112)의 포즈를 결정하거나 추적하는 컴포넌트들을 포함할 수 있다. 이러한 의미에서, 추적 시스템(122)은, 제1 카메라(110) 및/또는 제2 카메라(112)가 사용자(100)에 대한 패스 쓰루를 위한 환경(102)의 이미지를 캡처했을 때의 사용자(100), HMD(104), 제1 카메라(110) 및/또는 제2 카메라(112)의 위치, 방향 및/또는 포즈를 결정할 수 있다. 예를 들어, 추적 시스템(122)(및/또는 다른 컴퓨팅 디바이스)은, 환경(102) 내의 사용자(100) 및/또는 사용자(100)의 포즈를 식별하기 위해 추적 시스템(122)에 의해 캡처된 이미지를 분석하고 파싱(parse)할 수 있다. 예를 들어, 일부 예에서, 추적 시스템(122)은, 사용자(100)의 위치, 배향, 및/또는 포즈를 결정하도록 작동하는 프로젝터(들)(130) 및/또는 센서(들)(132)를 포함할 수 있다. 도시된 바와 같이, 그리고 일부 예에서, 추적 시스템(122)은 환경(102)의 벽에 장착될 수 있다. 추가적으로 또는 대안적으로, 추적 시스템(122)은 환경(102) 내의 다른 곳에(예를 들어, 천장, 바닥 등) 장착될 수 있다.
프로젝터(들)(130)는 환경(102) 안으로 광 및/또는 이미지를 생성하여 투사하도록 구성된다. 일부 예에서, 이미지는 사용자(100)에게 인지 가능한 가시광 이미지, 사용자(100)에게 인지 가능하지 않은 가시광 이미지, 비가시광을 갖는 이미지, 또는 이들의 조합을 포함할 수 있다. 프로젝터(들)(130)는, 이미지를 생성하고 환경(102) 내에/안으로 투사할 수 있는 임의의 수의 기술로 구현될 수 있다. 적합한 기술은 디지털 마이크로미러 디바이스(DMD: Digital Micromirror Device), LCOS(Liquid Crystal on Silicon Display), 액정 디스플레이, 3LCD 등을 포함한다.
센서(들)(132)는 고해상도 카메라, 적외선(IR) 검출기, 센서, 3D 카메라, IR 카메라, RGB 카메라 등을 포함할 수 있다. 센서(들)(132)는 가시광선 파장, 비가시광선 파장, 또는 둘 모두로 환경(102)을 이미징하도록 구성된다. 센서(들)(132)는, 환경(102) 내의 객체의 깊이, 위치, 배향, 및/또는 포즈를 검출하기 위한 정보를 캡처하도록 구성될 수 있다. 예를 들어, 사용자(100)가 환경(102) 주위에서 기동함에 따라, 센서(들)(132)는 사용자(100)의 위치, 배향, 및/또는 포즈를 검출할 수 있다. 일부 예에서, 센서(들)(132)는 환경(102) 내의 일부 또는 모든 각도 및 위치를 캡처할 수 있다. 대안적으로, 센서(들)(132)는 환경(102)의 미리 정의된 영역 내의 이미지에 초점을 맞추거나 이미지를 캡처할 수 있다.
프로젝터(들)(130) 및/또는 센서(들)(132)는 HMD(104)의 마커(들)(134)와 함께 작동될 수 있다. 예를 들어, 추적 시스템(122)은 프로젝터(들)(130)를 통해 환경(102) 안으로 광을 투사할 수 있으며, 센서(들)(132)는 마커(들)(134)의 반사 이미지를 캡처할 수 있다. 캡처된 이미지를 사용하여, 추적 시스템(122), 예를 들어, 추적 시스템(122)의 프로세서(들)(136)는 마커(들)(134)까지의 거리 정보를 결정할 수 있다. 추가적으로 또는 대안적으로, 추적 시스템(122)은 환경(102) 내에서 사용자(100)의 포즈(예를 들어, 배향)를 검출할 수 있다. 일부 예에서, 마커(들)(134)는 사용자(100)의 시점을 결정하기 위해 사용될 수 있다. 예를 들어, 마커(들)(134)와 사용자(100)의 눈 사이의 거리는 알려져 있을 수 있다. 마커(들)(134)의 이미지 데이터를 캡처할 때, 추적 시스템(122)(및/또는 다른 통신적으로 결합된 컴퓨팅 디바이스)은 사용자(100)의 상대적인 시점을 결정할 수 있다. 따라서, 추적 시스템(122)은, 환경(102) 내에서 사용자(100)의 상대 위치 및/또는 포즈를 결정하기 위해서 HMD(104)의 마커(들)(134)를 활용할 수 있다.
환경(102)에 대한 특성을 정의하거나 결정하기 위해, 게임 애플리케이션을 시작할 때, HMD(104)는 사용자(100)에게, 사용자(100)가 VR 환경에 몰입되어 기동할 수 있는 환경(102)의 경계, 주변 또는 영역을 정의하도록 요청할 수 있다. 일례로서, 프로세서(들)(114)는 디스플레이(108)가, 환경(102) 주위를 걷고 환경(102)의 경계(또는 사용자(100)가 VR 환경에 몰입된 상태에서 기동할 영역)를 정의하도록 사용자(100)에게 명령을 제시하게 할 수 있다. 사용자(100)가 환경(102) 주위를 걸을 때, HMD(104)는 제1 카메라(110) 및/또는 제2 카메라(112)를 통해 환경(102)의 이미지를 캡처할 수 있고, 추적 시스템(122)은 사용자(100)를 추적할 수 있다. 여기에서, 환경(102)의 경계를 결정한 후, 추적 시스템(122)은 영역의 중심 위치(예를 들어, 원점)를 결정할 수 있다. 영역의 중심 위치를 아는 것은 HMD(104)가 환경(102) 내의 객체 또는 장면의 상대 위치를 적절하게 표시하는 것을 허용할 수 있다. 일부 예에서, 중심 위치는 (X, Y, Z) 직교 좌표계에서 (0, 0, 0)으로서 표시될 수 있다.
일부 예에서, 추적 시스템(122)은 경계 및/또는 중심 위치를 HMD(104)에 전송할 수 있다. 예를 들어, HMD(104)의 프로세서(들)(114)는, 경계(138)에 의해 표시된 바와 같이, 경계 및/또는 중심 원점을 메모리(116)에 저장할 수 있다. 추가적으로 또는 대안적으로, 일부 예에서, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지는 추적 시스템(122)에 의해 캡처된 이미지와 연관될 수 있다. 예를 들어, 영역을 정의하는 동안 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지를 사용하여, 환경(102)의 깊이 맵이 생성될 수 있다. 이러한 깊이 맵은, 환경(102) 전체에 걸쳐 사용자(100)를 추적하는 것을 통해 결정된 바와 같이, 환경(102) 내의 특정 위치/포즈와 대응되게 연관될 수 있다. 일부 예에서, 이러한 깊이 맵은 환경(102)의 3D 모델 또는 메시를 생성하기 위해 결합되거나 달리 사용될 수 있다. HMD(104) 및/또는 추적 시스템(122)으로부터 후속 이미지 데이터를 수신할 때, 환경(102) 내에서 사용자(100)의 위치가 결정될 수 있으며, 이는 환경(102) 내에서 그리고 사용자의 관점, 위치 또는 포즈로부터 깊이 정보를 결정하는 데 도움이 될 수 있다. 예를 들어, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지 데이터가 사용자(100)의 시점에 대응되지 않기 때문에, 추적 시스템(122)은 마커(들)(134)로부터 캡처된 이미지를 통해 사용자(100)의 시점을 결정할 수 있다. 이러한 시점을 이용하여, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 촬영된 이미지 데이터는 사용자(100)의 시점을 나타내도록 수정될 수 있다.
예를 들어, 사용자(100)가 VR 환경에 참여하고, 환경(102) 주위에서 기동할 때, 추적 시스템(122)은 마커(들)(134)로부터의 반사광을 중심 위치와 비교함으로써 환경(102) 내에서 HMD(104)의 상대 위치를 결정할 수 있다. 이러한 정보를 사용하여, HMD(104), 추적 시스템(122), 및/또는 다른 통신적으로 결합된 컴퓨팅 디바이스(예: 게임 콘솔)는 중앙 위치로부터 HMD(104)의 거리, 또는 중앙 위치에 대한 HMD(104)의 위치를 결정할 수 있다. 추가적으로, HMD(104), 추적 시스템(122), 및/또는 다른 통신적으로 결합된 컴퓨팅 디바이스는 환경(102) 내에서 사용자(100)의 포즈, 예를 들어, 시점을 결정할 수 있다. 예를 들어, 추적 시스템(122)은 사용자(100)가 환경(102)의 천장, 벽 또는 바닥을 바라보고 있다고 결정할 수 있다. 이러한 정보는, 사용자의 눈 또는 시점에 대한 제1 카메라(110) 및/또는 제2 카메라(112)의 위치를 수정하거나, 또는 달리 처리하기 위해서 사용될 수 있다.
일부 예에서, 추적 시스템(122)은 고정된 배향으로 섀시에 결합될 수 있거나, 또는 섀시는 섀시가 이동될 수 있도록 액추에이터(들)(140)에 결합될 수 있다. 액추에이터(140)는 압전 액추에이터, 모터, 선형 액츄에이터, 및, 프로젝터(들)(130) 및/또는 센서(들)(132)와 같은 추적 시스템(122)의 구성요소 또는 섀시를 변위시키거나 이동시키도록 구성된 다른 디바이스를 포함할 수 있다.
HMD(104)는, 추가적으로 또는 대안적으로, 원격 컴퓨팅 리소스(142)와 함께 작동될 수 있다. 추적 시스템(122)은 또한, 원격 컴퓨팅 리소스(142)에 통신 가능하게 결합될 수 있다. 일부 실시예에서, HMD(104) 및/또는 추적 시스템(122)은, 원격 컴퓨팅 리소스(142)가 HMD(104) 및/또는 추적 시스템(122)의 계산 용량을 훨씬 초과하는 계산 용량을 가질 수 있다는 점을 고려하면, 원격 컴퓨팅 리소스(142)에 통신 가능하게 결합될 수 있다. 따라서, HMD(104) 및/또는 추적 시스템(122)은, 상대적으로 복잡한 분석을 수행하고 그리고/또는 환경(102)의 이미지 데이터 모델(또는 메시)을 생성하기 위해서 원격 컴퓨팅 리소스(142)를 활용할 수 있다. 예를 들어, 제1 카메라(110) 및/또는 제2 카메라(112)는, HMD(104)가 분석 및 처리를 위해 네트워크(124)를 통해 원격 컴퓨팅 리소스(142)에 제공할 수 있는 이미지 데이터를 캡처할 수 있다. 일부 예에서, 원격 컴퓨팅 리소스(142)는 디스플레이를 위해 HMD(104)에 콘텐츠를 전송할 수 있다. 예를 들어, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지를 패스 쓰루하도록 HMD(104)를 구성하는 트리거링 이벤트(예를 들어, 버튼 누름)에 응답하여, 원격 컴퓨팅 리소스(142)는, HMD(104)가 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지를 투사할 깊이 맵, 3D 메시, 및/또는 3D 모델을 전송할 수 있다. 따라서, 사용자(100)에게 전달하기 위한 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지는 처리를 위해 원격 컴퓨팅 리소스(142)로 전송될 수 있으며, HMD(104)는 디스플레이(108) 상에 표시될 콘텐츠를 수신할 수 있다.
예시된 바와 같이, 원격 컴퓨팅 리소스(142)는 프로세서(들)(144) 및 메모리(146)를 포함하며, 이는 HMD(104)의 메모리(116)를 참조하여 설명된 구성요소의 일부 또는 전부를 저장하거나, 그렇지 않으면, 이에 대한 액세스를 가질 수 있다. 예를 들어, 메모리(146)는 깊이 맵(118), 3D 메시(120), 및/또는 경계(138)에 대한 액세스를 갖고, 이를 활용할 수 있다. 원격 컴퓨팅 리소스(142)는, 추가적으로 또는 대안적으로, 추적 시스템(122)의 메모리(148)를 저장하거나, 그렇지 않으면, 이에 대한 액세스를 가질 수 있다.
일부 예에서, 원격 컴퓨팅 리소스(142)는 환경(102)으로부터 원격일 수 있으며, HMD(104)는 네트워크 인터페이스(126)에 의해 그리고 네트워크(124)를 통해 원격 컴퓨팅 리소스(142)에 통신 가능하게 결합될 수 있다. 원격 컴퓨팅 리소스(142)는 하나 이상의 서버로서 구현될 수 있고, 일부 예에서, 인터넷과 같은 네트워크를 통해 유지되고 액세스 가능한 프로세서, 스토리지, 소프트웨어, 데이터 액세스 등의 컴퓨팅 인프라로서 구현되는 네트워크 액세스 가능 컴퓨팅 플랫폼의 일 부분을 형성할 수 있다. 원격 컴퓨팅 리소스(142)는, 서비스를 전달하는 시스템의 물리적 위치 및 구성에 대한 최종 사용자 지식을 필요로 하지 않는다. 이러한 원격 컴퓨팅 리소스(142)와 연관된 일반적인 표현은 "주문형 컴퓨팅", "서비스로서의 소프트웨어(SaaS: Software as a Service)", "플랫폼 컴퓨팅", "네트워크 액세스 가능 플랫폼", "클라우드 서비스", "데이터 센터", 등을 포함할 수 있다.
일부 예에서, 환경(102)은, 네트워크(124) 및/또는 유선 기술을 통해 HMD(104), 컨트롤러(106), 추적 시스템(122), 및/또는 원격 컴퓨팅 리소스(142)에 통신적으로 결합되는 컴퓨터(150)(또는 게임 애플리케이션, 게임 콘솔, 게임 시스템)를 포함할 수 있다. 일부 예에서, 컴퓨터(150)는 HMD(104), 컨트롤러(106), 추적 시스템(122), 및/또는 원격 컴퓨팅 리소스(142)에 의해 수행 가능한 방법과 같은, 본원에 설명된 방법의 일부 또는 전부를 수행할 수 있다. 예를 들어, 컴퓨터(150)는, 사용자(100)의 시점을 처리하기 위해 제1 카메라(110) 및/또는 제2 카메라(112)로부터 수신된 이미지 데이터, 또는 이와 관련된 깊이 맵을 수정할 수 있다. 이러한 경우에, 컴퓨터(150)는, 사용자(100)의 시점 및/또는 사용자가 위치된 영역의 원점(예: 실제 세계 환경의 원점) 및/또는 가상 세계의 원점에 관한 지시를 추적 시스템(122)으로부터 수신하거나, 결정할 수 있다. 따라서, 컴퓨터는, 추적 시스템(122)으로부터 수신된 지시에 기반하여 제1 카메라(110) 및/또는 제2 카메라(112)로부터 수신된 이미지 데이터, 또는 이와 관련된 깊이 맵을 수정할 수 있다. 일부 실시형태에서, 이미지 데이터가 카메라(110, 112) 중 하나 또는 둘 모두에 의해 캡처된 시간(들)(예를 들어, 타임 스탬프(들))은, 이미지 데이터를 캡처한 시간과 캡처된 이미지 데이터를 표시하는 시간 사이의 시간 차이를 결정하기 위해서 사용될 수 있다. 예를 들어, 궁극적으로 사용자에게 표시되는 이미지 데이터는 이미지 데이터가 카메라(들)(110 및/또는 112)에 의해 캡처된 후 수십 밀리초만큼 지연될 수 있다. 이미지가 HMD에 표시되는 시간에 물리적 세계에 나타날 이미지를 제시하기 위해, 예를 들어, 픽셀 데이터를 수정함으로써(예: 회전 조정 및/또는 병진이동 조정을 통해), 이러한 시간적 시차(temporal disparity) 또는 불일치를 처리하도록 이미지 데이터에 조정이 이루어질 수 있으며, 이는 사용자의 머리 모션보다 뒤처지는 것처럼 보이는 이미지를 제시하는 것을 방지한다. 일부 실시형태에서, 카메라(들)(110 및/또는 112)는 타임 스탬프 정보를 유지하도록 추적되어, 이미지(들)를 캡처하는 시간에 카메라(들)의 포즈가 알려지고, 결과적인 이미지 데이터가 수신되고 처리되는 시간에 카메라 포즈가, 카메라 모션에 의존하는 대신, 공간적으로 이미지를 정확하게 나타내기 위해서 사용될 수 있다. 또한, 컴퓨터(150)는 메모리(116, 146, 및/또는 148)를 참조하여 설명된 구성요소의 일부 또는 전부를 저장하거나, 그렇지 않으면, 이에 대한 액세스를 가질 수 있다.
본원에서 사용되는 바와 같이, 프로세서, 예를 들어, 프로세서(들)(114, 136, 144), 및/또는 컴퓨터의 프로세서는 다수의 프로세서, 및/또는 다수의 코어를 갖는 프로세서를 포함할 수 있다. 추가로, 프로세서(들)는 상이한 유형의 하나 이상의 코어를 포함할 수 있다. 예를 들어, 프로세서(들)는 애플리케이션 프로세서 유닛, 그래픽 프로세싱 유닛 등을 포함할 수 있다. 일 구현예에서, 프로세서(들)는 마이크로컨트롤러 및/또는 마이크로프로세서를 포함할 수 있다. 프로세서(들)는 그래픽 프로세싱 유닛(GPU), 마이크로프로세서, 디지털 신호 프로세서, 또는 당 업계에 알려진 다른 프로세싱 유닛 또는 컴포넌트를 포함할 수 있다. 대안적으로, 혹은 추가적으로, 본원에서 설명되는 기능은 하나 이상의 하드웨어 로직 컴포넌트에 의해 적어도 부분적으로 수행될 수 있다. 예를 들어, 그리고 한정됨 없이, 사용될 수 있는 예시적인 유형의 하드웨어 로직 컴포넌트는 필드 프로그래머블 게이트 어레이(FPGA: Field-Programmable Gate Array), 애플리케이션 특정 집적 회로(ASIC: Application-Specific Integrated Circuit), 애플리케이션 특정 표준 제품(ASSP: Application-Specific Standard Product), 시스템 온 칩 시스템(SOC: System-On-a-Chip system), 복합 프로그래밍가능 로직 디바이스(CPLD: Complex Programmable Logic Device) 등을 포함한다. 추가로, 각각의 프로세서(들)는, 프로그램 구성요소, 프로그램 데이터 및/또는 하나 이상의 운영 체제를 또한 저장할 수 있는 자체 로컬 메모리를 포함할 수 있다.
본원에서 사용되는 바와 같이, 메모리, 예를 들어, 메모리(116, 146, 148) 및/또는 컴퓨터(150)의 메모리는 휘발성 및 비휘발성 메모리, 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 구성 요소 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 이동식 및 비이동식 매체를 포함할 수 있다. 이러한 메모리는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다목적 디스크(DVD: Digital Versatile Disk) 또는 다른 광학 저장 디바이스, 자기 카세트, 자기 테이프, 자기 디스크 저장 디바이스 또는 다른 자기 저장 디바이스, RAID 저장 시스템, 또는 원하는 정보를 저장하기 위해서 사용될 수 있으며 컴퓨팅 디바이스에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되지 않는다. 메모리는, 메모리 상에 저장된 명령어를 실행하기 위해 프로세서(들)에 의해 액세스 가능한 임의의 이용 가능한 물리적 매체일 수 있는 컴퓨터 판독 가능 저장 매체("CRSM": Computer-Readable Storage Media)로서 구현될 수 있다. 하나의 기본 구현예에서, CRSM은 랜덤 액세스 메모리("RAM": Random Access Memory) 및 플래시 메모리를 포함할 수 있다. 다른 구현예에서, CRSM은, 읽기 전용 메모리("ROM": Read-Only Memory), 전기적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리("EEPROM": Electrically Erasable Programmable Read-Only Memory), 또는 원하는 정보를 저장하기 위해서 사용될 수 있고 프로세서에 의해서 액세스될 수 있는 다른 실체적인 매체를 포함할 수 있으나, 이에 한정되지 않는다.
도 2는 HMD(104)의 사시도를 예시한다. HMD(104)는 사용자(100)의 머리에 고정되는 전방부(200) 및 후방부(202)를 포함할 수 있다. 예를 들어, HMD(104)는 HMD(104)의 전방부(200)와 HMD(104)의 후방부(202)를 작동 가능하게 결합하는 스트랜드, 코드, 섹션, 스트랩, 밴드, 또는 다른 부재를 포함할 수 있다. 전방부(200)는 애플리케이션(예: 비디오 게임)에 의해 출력되는 이미지를 렌더링하기 위해 사용자(100)의 눈 앞에 또는 눈 위에 위치된 디스플레이(108)를 포함한다. 위에서 논의된 바와 같이, 디스플레이(108)는, 사용자(100)가 VR 환경에 몰입된 것처럼 영상을 인지하게 하도록 사용자(100)가 바라보는 영상(프레임)을 출력할 수 있다.
일부 예에서, HMD(104)의 전방부(200)는 제1 카메라(110) 및/또는 제2 카메라(112)를 포함할 수 있다. 제1 카메라(110) 및/또는 제2 카메라(112)는 디스플레이(108) 상에서 사용자(100)가 보기 위해 HMD(104) 외부의(즉, 환경(102)의) 이미지를 캡처할 수 있다. 위에서 언급된 바와 같이, 제1 카메라(110) 및 제2 카메라(112)의 광학 축선은, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지를 사용하여 환경(102)의 적어도 일 부분의 깊이 정보를 생성하기 위해서, 평행하고, 미리 결정된 거리만큼 분리될 수 있다. 그러나, 일부 예에서, 그리고 위에서 논의된 바와 같이, HMD(104)는 제1 카메라(110) 및/또는 제2 카메라(112)를 포함하지 않을 수 있다. 예를 들어, 제1 카메라(110) 및/또는 제2 카메라(112)는 환경(102) 내의 다른 곳에 위치될 수 있다.
어느 시나리오에서나, 제1 카메라(110) 및/또는 제2 카메라(112)는 사용자(100)의 시점에 대응되지 않을 수 있는 이미지를 캡처한다(즉, 제1 카메라(110) 및/또는 제2 카메라(112)가 사용자(100)의 눈의 실제 위치에 있지 않기 때문에). 그러나, 본원에 설명된 기술을 사용하여, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지 데이터는 사용자(100)의 시점에 대한 제1 카메라(110) 및/또는 제2 카메라(112)의 변위를 처리하도록 수정될 수 있다.
예를 들어, 사용자(100)의 시점을 결정하기 위해, HMD(104)는 마커(들)(134)를 포함할 수 있다. 도 2에 도시된 바와 같이, 일부 예에서, 마커(들)(134)는 전방부(200)의 모서리, 가장자리에 또는 주변을 따라 배치된 제1 마커(204(1)), 제2 마커(204(2)), 제3 마커(204(3)) 및/또는 제4 마커(204(4))를 포함할 수 있다. 그러나, 마커(들)(134)는 상부, 측부 또는 후방부(202)를 따라 HMD(104) 상의 다른 곳에 위치될 수 있다. 일부 예에서, 마커(들)(134)는 적외선 요소, 반사기, 디지털 워터마크, 및/또는, 추적 시스템(122)의 프로젝터(들)(130)에 의해 방출된 전자기 복사(예를 들어, 적외선 광)에 응답하는 이미지를 포함할 수 있다. 추가적으로 또는 대안적으로, 마커(들)(134)는 추적 시스템(122)의 센서(들)(132)에 의해 캡처되는 전자기 복사(예를 들어, 적외선 광)를 방출하는 추적 비콘을 포함할 수 있다. 즉, 프로젝터(들)(130)는 환경(102) 안으로 광을 투사하며, 마커(들)(134)는 광을 반사할 수 있다. 센서(들)(132)는, 마커(들)(134) 및 추적 시스템(122)에 의해 반사된 입사광을 캡처할 수 있거나, 또는 원격 컴퓨팅 리소스(142)와 같은 다른 통신적으로 결합된 컴퓨팅 디바이스는 사용자(100)의 움직임, 위치, 포즈 및/또는 배향을 결정하기 위해 환경(102) 내의 마커(들)(134)의 위치를 추적하고 플롯할 수 있다. 따라서, 마커(들)(134)는, 사용자(100)에게 표시되기 전에 제1 카메라(110) 및/또는 제2 카메라(112)로부터의 이미지 데이터를 수정, 조정, 또는 달리 적응시키는 데 사용되기 위한 사용자(100)의 시점을 나타내기 위해 사용될 수 있다.
도 3은 환경(300) 내에서 HMD(104)를 착용한 사용자(100)를 예시한다. 도 3은, 사용자(100)가 HMD(104)를 착용하고 VR 환경 내에서 상호작용하는 동안, 가상 콘텐츠(302)를 표시하는 HMD(104)의 디스플레이(108)를 예시한다. 위에서 논의된 바와 같이, HMD(104)는, 사용자(100)가 환경(102) 주위를 이동할 때, 가상 콘텐츠(302)를 표시할 수 있다.
추적 시스템(122)은, 사용자(100)를 한 위치로부터 다른 위치로 추적하고, 환경 내에서 사용자(100)의 시점을 결정하기 위해 환경(300) 내에 위치될 수 있다. 예를 들어, 추적 시스템(122)은, 사용자(100)의 포즈(예를 들어, 위치 및 배향)를 결정하기 위해서 HMD(104) 상의 마커(들)(134)를 활용할 수 있다. 일부 예에서, 사용자(100)의 포즈는 환경(300)의 중심 위치에 상대적일 수 있다. 예를 들어, 중심 위치는 좌표(0, 0, 0)를 가질 수 있고, 마커(들)(134)로부터의 반사광을 사용하여, 추적 시스템(122)(또는, 원격 컴퓨팅 리소스(142))은 좌표 공간(예를 들어, (X, Y, Z))에서 사용자(100)의 포즈를 결정할 수 있다. 추적 시스템(122)은 또한, 사용자(100)의 관점 또는 시점으로부터 환경(300) 내의 객체의 깊이를 결정할 수 있다. 제1 카메라(110) 및/또는 제2 카메라(112)로부터 수신된 이미지 데이터는, 추가적으로 또는 대안적으로, 환경(300) 내의 깊이를 결정하기 위해 사용될 수 있다.
HMD(104)는 가상 콘텐츠(302)의 디스플레이를 환경(300) 내의, 그리고/또는 사용자(100)의 시점 내의, 그리고/또는 사용자(100) 앞의 객체(예를 들어, 가구, 벽 등)와 조화(coordinate)시킬 수 있다. 다시 말해서, 사용자(100)에게 표시되는 환경(300)(또는, 현실 세계)의 객체는 환경(300)에서 사용자(100)의 시점에 대응될 수 있다. 예를 들어, HMD(104)는 하나 이상의 트리거링 이벤트에 적어도 부분적으로 기반하여 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지 데이터(예를 들어, 패스 쓰루 이미지)를 사용하여 환경(300) 내의 객체를 표시할 수 있다. 즉, HMD(104)는, 환경(300)에서 객체의 실제 배치에 대응되는 디스플레이(108) 상의 위치에 이미지를 표시하도록 구성될 수 있다. 제1 카메라(110) 및/또는 제2 카메라(112)의 이미지 데이터로부터 생성된 깊이 맵과 환경(300)의 3D 모델 또는 메시를 활용하여, 사용자(100)에게 제시되는 패스 쓰루 이미지는 환경(300) 내의 실제 배치 위치(즉, 적절한 깊이 값)에 위치된, 그리고 사용자(100)의 시점에서 객체를 예시할 수 있으며, 이로써, 사용자(100)가 객체(예: 컨트롤러, 물 컵 등)를 집는 것을 허용한다. 그러나, 일부 예에서, 제1 카메라(110) 및/또는 제2 카메라(112)로부터의 이미지 데이터는 계속적으로 캡처될 수 있으며, 트리거링 이벤트의 검출 시, HMD(104)는 사용자(100)에게 환경(300)과 연관된 콘텐츠를 표시할 수 있다.
도 3에 도시된 바와 같이, 트리거링 이벤트는 사용자(100)가 환경(300)의 경계에 접근하거나 근접하고 있다고 결정하는 것을 포함할 수 있다. 예를 들어, 사용자(100)는 환경(300)의 2개의 벽(306, 308) 사이의 코너(304)에 접근할 수 있다. 추적 시스템(122)을 통해 사용자(100)의 위치를 알면, HMD(104)는, 사용자(100)가 코너(304)에 가까워지고 있음을 나타내기 위해서 디스플레이(108) 상에 콘텐츠를 표시할 수 있다. 예를 들어, 도시된 바와 같이, 코너(304) 및 벽(306, 308)의 지시는 디스플레이(108) 상에 파선 또는 점선으로서 표시될 수 있다. 이렇게 함으로써, 사용자(100)는 사용자(100)가 벽 안으로 걸어가려 한다는 지시를 받게 된다. 일부 예에서, 그리고 도 3에 도시된 바와 같이, 지시 또는 코너(304) 및 벽(306, 308)과 관련된 콘텐츠는 가상 콘텐츠(302) 상에(또는 이와 함께) 오버레이(HMD(104)의 디스플레이(108)에 표시되는 가상 콘텐츠와 결합)되거나 제시될 수 있다.
위에서 언급된 바와 같이, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지 데이터는 사용자(100)의 시점을 처리하도록 수정될 수 있다. 추가적으로, 또는 대안적으로, 깊이 맵, 3D 메시, 또는 환경의 모델은, 사용자(100)의 눈 또는 시점에 대한 제1 카메라(110) 및/또는 제2 카메라(112)의 위치를 계산에 넣거나, 고려할 수 있다. 따라서, 제1 카메라(110) 및/또는 제2 카메라(112)는 사용자(100)와 다른 시점을 가질 수 있으므로, 이미지 데이터는 HMD(104)에 제시되기 전에 사용자의 시점에 맞게 조정되도록 수정될 수 있다.
도 3은 디스플레이(108) 상에 코너(304) 및/또는 벽(306, 308)을 표시하는 특정 구현예를 예시하고 있지만, 콘텐츠는, 몰입형 가상 경험을 중단하지 않으면서, 사용자(100)에게 적절하게 제공되도록, 표시를 위해 수정되거나, 임베딩되거나, 병합되거나, 스택되거나, 분할되거나, 재렌더링되거나 또는 다르게 조작되는 수정 없이 다르게 제시될 수 있다. 예를 들어, 일부 예에서, 콘텐츠는 디스플레이(108)의 특정 영역(예를 들어, 우측 상단 코너)에 표시될 수 있다. 추가적으로 또는 대안적으로, 디스플레이(108)는 100% 패스 쓰루를 갖도록 모서리(304) 및 벽(306, 308)과 연관된 콘텐츠만을 제시할 수 있다. 일부 예에서, HMD(104)는 디스플레이(108) 상의 환경(300)과 연관된 콘텐츠를 페이드 인(fade in)할 수 있다.
도 4는 환경(400) 내에서 HMD(104)를 착용한 사용자(100)를 도시한다. 일부 예에서, HMD(104)는 하나 이상의 트리거링 이벤트에 적어도 부분적으로 기반하여 패스 쓰루 이미지를 표시할 수 있다. 일부 예에서, 트리거링 이벤트는, 방문자(402)가 환경(400) 및/또는 환경(400) 내의 미리 정의된 영역에 들어왔다는 결정을 포함할 수 있다. 도 4에 도시된 바와 같이, 디스플레이(108)는 HMD(104)를 착용한 사용자(100)에게 접근하는 방문자(402)를 도시한다. 여기에서, 방문자(402)는 사용자(100)에게 접근하는 것으로 보이며, 따라서 디스플레이(108)는 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지를 표시할 수 있다. 그러나, 이미지는, 제1 카메라(110) 및/또는 제2 카메라(112)와 사용자(100)의 시점 사이의 시점의 차이를 처리하기 위해, 먼저 수정될 수 있다. 일부 예에서, HMD(104)는, 마커(들)(134)를 사용하여 결정된 바와 같이, 방문자(402)가 HMD(104)를 착용하거나 사용자(100)의 임계 거리 내에 오는 동안, 사용자(100)의 시점 내에 그리고/또는 사용자(100) 앞에 있다는 점에 적어도 부분적으로 기반하여 방문자(402)를 표시할 수 있다. 일부 예에서, 방문자(402)는, 추적 시스템(122) 등을 통해 제1 카메라(110) 및/또는 제2 카메라(112)로부터의 이미지 데이터를 분석하는 모션 센서를 통해 검출될 수 있다.
도 5 및 도 6은 본 출원의 실시예에 따른 방법을 예시한다. 본원에 설명된 방법은 작동의 시퀀스를 나타내는 논리적 흐름도로 블록의 집합으로서 예시되며, 작동들 중 일부 또는 전부는 하드웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 소프트웨어의 맥락에서, 블록은, 하나 이상의 프로세서에 의해 실행될 때 언급된 작동을 수행하도록 프로세서를 프로그래밍하는 하나 이상의 컴퓨터 판독 가능 매체에 저장된 컴퓨터 실행 가능 명령어를 나타낼 수 있다. 일반적으로, 컴퓨터 실행 가능 명령어는, 특정 기능을 수행하거나 또는 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함한다. 블록이 설명되는 순서는, 구체적으로 언급되지 않는 한, 제한으로서 해석되어서는 안 된다. 임의의 수의 설명된 블록은, 방법 또는 대안적인 방법을 구현하기 위해 임의의 순서로 그리고/또는 병렬로 결합될 수 있으며, 블록 모두가 실행될 필요는 없다. 논의의 목적을 위해, 방법은, 예를 들어, 도 1 내지 도 4와 관련하여 설명된 것과 같은 본 명세서의 실시예에서 설명된 환경, 아키텍처 및 시스템을 참조하여 설명되지만, 방법은 매우 다양한 다른 환경, 아키텍처 및 시스템에서 구현될 수 있다.
도 5는 환경(102)의 3D 모델, 깊이 맵, 또는 메시를 생성하기 위한 예시적인 방법(500)을 예시한다. 일부 예에서, 방법(500)은 원격 컴퓨팅 리소스(142)에 의해 수행될 수 있다. 그러나, HMD(104), 추적 시스템(122), 및/또는 컴퓨터(150)는 방법(500)의 일부 또는 전부를 추가적으로 수행할 수 있다.
502에서, 방법(500)은 환경(102) 내의 영역을 정의하기 위한 요청을 전송할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는, 사용자(100)가 환경(102)의 영역을 정의하도록 요청하는 요청을 HMD(104)에 전송할 수 있다. 일부 예에서, 영역은, VR 환경 몰입된 상태에서 사용자(100)가 이동하고자 하는 영역을 나타낼 수 있다. 요청을 수신하는 것에 응답하여, HMD(104)의 프로세서(들)(114)는 디스플레이(108) 상에 요청, 또는 요청과 연관된 정보를 제시할 수 있다. 예를 들어, 요청은 사용자(100)에게 HMD(104)를 착용하고, 환경(102) 주위를 걷고, 사용자가 이동하고자 하는 영역을 정의하도록 알릴 수 있다.
504에서, 방법(500)은, 사용자(100)가 영역을 정의하기 위해 HMD(104)를 착용할 때, 환경(102) 내에서 HMD(104)를 추적하기 위한 요청을 전송할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는, 사용자(100)가 영역을 정의하는 동안, 환경(102) 전체에 걸쳐 사용자(100)를 추적하라는 요청을 추적 시스템(122)에 전송할 수 있다. 일부 예에서, 추적 시스템(122)은, 환경(102) 안으로 이미지를 투사하는 프로젝터(들)(130) 및 HMD(104)의 마커(들)(134)를 통해 반사된 광의 이미지를 캡처하는 센서(들)(132)를 통해 사용자(100)를 추적할 수 있다. 일부 예에서, 원격 컴퓨팅 리소스(142)는 502에서의 요청 및 504에서의 요청을 동시에 또는 실질적으로 동시에 전송할 수 있다.
506에서, 방법(500)은 추적 시스템(122)으로부터 제1 이미지 데이터를 수신할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는 추적 시스템(122)으로부터 제1 이미지 데이터를 수신할 수 있고, 여기서 제1 이미지 데이터는 영역을 정의하기 위해 사용자(100)가 환경(102) 주위를 걸을 때 HMD(104) 및/또는 사용자(100)의 위치를 나타낸다. 예를 들어, 제1 이미지 데이터는 환경(102) 내의 마커(들)(134)의 위치 및/또는 포즈를 나타낼 수 있다. 원격 컴퓨팅 리소스(142)에 의해 수신된 제1 이미지 데이터는, 이미지가 추적 시스템(122)(또는 센서(들)(132))에 의해 캡처된 때의 타임 스탬프를 포함할 수 있다.
508에서, 방법(500)은 영역의 특성을 결정할 수 있다. 예를 들어, 제1 이미지 데이터를 수신하는 것에 적어도 부분적으로 기반하여, 원격 컴퓨팅 리소스(142)는 영역의 경계 또는 둘레를 결정할 수 있다. 추가적으로 또는 대안적으로, 원격 컴퓨팅 리소스(142)는 제1 이미지 데이터에 적어도 부분적으로 기반하여 영역의 중심 또는 원점을 결정할 수 있다. 일부 예에서, 직교 좌표계에서 X, Y 및 Z 좌표에 각각 대응되는 값(0, 0, 0)을 갖는 원점이 3D 공간에서 정의될 수 있다. 따라서, 추적 시스템(122) 및/또는 원격 컴퓨팅 리소스(142)로부터 후속 이미지 데이터를 수신할 때, 영역의 원점에 대한 사용자(100)(및/또는 HMD(104))의 상대 위치가 결정될 수 있다.
510에서, 방법(500)은 HMD(104)로부터 제2 이미지 데이터를 수신할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는 HMD(104)로부터 제2 이미지 데이터를 수신할 수 있으며, 여기서 제2 이미지 데이터는 사용자(100)가 환경(102)의 영역을 정의하는 동안 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지를 나타낸다. 일부 예에서, 원격 컴퓨팅 리소스(142)에 의해 수신된 제2 이미지 데이터는 이미지가 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 때의 타임 스탬프를 포함할 수 있다. 즉, 제1 카메라(110) 및/또는 제2 카메라(112)가 이미지를 캡처하는 동안, 통신 가능하게 결합된 다른 컴퓨팅 디바이스는 환경(102) 내에서 사용자(100)의 포즈를 결정할 수 있다. 예를 들어, 위에서 언급된 바와 같이, 제1 카메라(110) 및/또는 제2 카메라(112)가 이미지를 캡처하는 동안, 추적 시스템(122)의 프로세서(들)(136)는 프로젝터(들)(130)로 하여금 이미지를 환경(102) 안으로 투사하게 할 수 있다. HMD(104)의 마커(들)(134)는 이미지와 연관된 광을 반사할 수 있으며, 센서(들)(132)는 마커(들)(134)의 반사 이미지를 캡처할 수 있다. 이러한 이미지는 환경(102) 내에서 사용자(100)(및/또는 HMD(104))의 깊이, 위치, 배향 및/또는 포즈를 결정하기 위해서 사용될 수 있고, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지 데이터와 연관될 수 있다.
512에서, 방법(500)은 환경(102)의 3D 모델(또는 메시)을 생성할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는 제1 이미지 데이터 및/또는 제2 이미지 데이터에 적어도 부분적으로 기반하여 환경(102)의 3D 모델을 생성할 수 있다. 예를 들어, 제2 이미지 데이터를 사용하여, 원격 컴퓨팅 리소스(142)는 시차를 결정하기 위해, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 각각 캡처된 이미지를 비교할 수 있다. 이어서, 원격 컴퓨팅 리소스(142)는 환경(102)의 3D 모델을 생성하는 데 사용되기 위한 환경(102)의 깊이 정보를 결정할 수 있다. 추가적으로, 원격 컴퓨팅 리소스(142)는, 깊이 맵, 또는 환경(102)의 깊이 값을 영역 및/또는 환경(102) 내의 특정 위치와 연관시키기 위해 추적 시스템(122)으로부터 수신된 제1 이미지 데이터를 활용할 수 있다. 일부 예에서, 원격 컴퓨팅 리소스(142)는, 제1 이미지 데이터 및/또는 제2 이미지 데이터가 캡처된 때의 타임 스탬프를 사용하여, 제1 이미지 데이터와 제2 이미지 데이터(또는 이로부터 생성된 깊이 맵)를 비교하거나 연관시킬 수 있다. 일부 예에서, 환경(102)의 3D 모델을 생성하는 단계는 환경 내의 객체를 묘사하는 단계를 포함할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는 의자와 같은 환경(102) 내의 객체(또는 볼륨)로 VR 환경을 증강할 수 있다. 일부 예에서, 3D 모델은 HMD(104) 및/또는 추적 시스템(122)으로 전송될 수 있고/있거나, HMD(104), 추적 시스템(122), 및/또는 원격 컴퓨팅 리소스(142)의 메모리에 저장될 수 있다.
도 6은 HMD(104)와 같은 HMD 상에 이미지를 패스 쓰루하기 위한 예시적인 방법(600)을 도시한다. 일부 예에서, 방법(600)은, 환경(102)의 3D 모델이 생성된 후에, 방법(500)의 512로부터 계속될 수 있다. 다시 말해서, 일부 예에서, 3D 모델이 생성된 후, HMD(104)는 사용자(100)가 VR 환경과 현실 세계 환경(즉, 환경(102)) 사이를 스위치할 수 있도록 패스 쓰루 이미지를 표시할 수 있다. 일부 예에서, 방법(600)은 원격 컴퓨팅 리소스(142)에 의해 수행될 수 있다. 그러나, HMD(104), 추적 시스템(122), 및/또는 컴퓨터(150)는 방법(600)의 일부 또는 전부를 추가적으로 수행할 수 있다.
602에서, 방법(600)은 HMD(104)로부터 제1 이미지 데이터를 수신할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는 HMD(104)로부터 제1 이미지 데이터를 수신할 수 있고, 여기서 제1 이미지 데이터는 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지를 나타낸다. 일부 예에서, 원격 컴퓨팅 리소스(142)는, HMD(104)가 사용자(100)에 의한 버튼 누름, 사용자(100)에 의해 발행된 구두 명령, 환경(102) 내에서 검출되는 모션(예를 들어, 사용자(100)에게 접근하는 방문자), 및/또는 사용자(100)가 환경(102)의 경계의 임계 거리에 접근하거나 그 안에 들어오는 것과 같은 트리거 이벤트를 검출하는 것에 적어도 부분적으로 기반하여, 제1 이미지 데이터를 수신할 수 있다. 다른 예에서, 원격 컴퓨팅 리소스(142)는 제1 이미지 데이터를 연속적으로 수신할 수 있고, 트리거링 이벤트에 적어도 부분적으로 기반하여 이 이미지를 패스 쓰루하도록 구성될 수 있다. 예를 들어, 사용자(100)가 VR 환경 내에 몰입될 수 있기 때문에, 사용자(100)는 HMD(104) 외부의 콘텐츠를 표시하기 위해 HMD(104)의 버튼을 누를 수 있다. 이러한 의미에서, HMD(104)는 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 촬영된 이미지를 표시하는 패스 쓰루 모드를 포함할 수 있다. 따라서, 트리거 표현을 검출하는 것에 적어도 부분적으로 기반하여, HMD(104)의 프로세서(들)(114)는 제1 카메라(110) 및/또는 제2 카메라(112)가 환경(102)의 이미지를 캡처하게 할 수 있다.
604에서, 방법(600)은 제1 이미지 데이터에 적어도 부분적으로 기반하여 깊이 맵 및/또는 3D 메시를 생성할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는 HMD(104)로부터 수신되는 제1 이미지 데이터에 적어도 부분적으로 기반하여(즉, 스테레오 카메라 이미징을 사용하여) 깊이 맵 및/또는 3D 메시를 생성할 수 있다. 제1 이미지 데이터가 환경(102)의 일 부분을 나타내기 때문에, 깊이 맵 및/또는 3D 메시는 또한 환경(102)의 일 부분의 깊이 맵 및/또는 3D 메시에 대응될 수 있다. 추가적으로 또는 대안적으로, HMD(104)는 깊이 맵 및/또는 3D 메시를 생성할 수 있다. 예를 들어, 제1 카메라(110) 및/또는 제2 카메라(112)로부터 이미지 데이터를 수신하면, 프로세서(들)(114)는 깊이 맵을 생성하기 위해 입체 카메라 이미징을 이용할 수 있다. 일부 예에서, 깊이 맵을 사용하여, 프로세서(들)(114)는 환경(102)의 3D 메시를 생성할 수 있다. 추가적으로, 일부 경우에, 프로세서(들)(114)는, 깊이 맵(118) 및/또는 3D 메시(120)와 같은 깊이 맵 및/또는 3D 메시를 메모리(116) 내에 저장할 수 있다.
일부 예에서, HMD(104), 원격 컴퓨팅 리소스(142), 및/또는 컴퓨터(150)는, 깊이 맵 및/또는 3D 메시를 생성하기 전에, 제1 카메라(110) 및/또는 제2 카메라(112)로부터 수신된 제1 이미지 데이터를 수정할 수 있다. 예를 들어, 제1 이미지 데이터는 사용자(100)의 시점을 나타내지 않을 수 있으므로, 제1 이미지 데이터는 제1 카메라(110)와 제2 카메라(112)의 시점과 사용자(100)의 시점 사이의 차이를 처리하기 위해서 수정(예: 병진이동, 변환, 스큐(skew) 등)될 수 있다. 일부 예에서, 사용자(100)의 시점은 추적 시스템(122) 및 환경(102) 내의 마커(들)(134)의 위치를 사용하여 결정될 수 있다. 추가적으로 또는 대안적으로, 깊이 맵 및/또는 3D 메시를 생성한 후, 깊이 맵 및/또는 3D 메시는 사용자(100)의 시점에 따라 또는 적어도 부분적으로 이에 기반하여 수정될 수 있다.
606에서, 방법(600)은 HMD(104)의 포즈를 나타내는 추적 시스템(122)으로부터 제2 이미지 데이터를 수신할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는, 추적 시스템(122)으로부터 환경(102) 내의 HMD(104)에 대응되는 제2 이미지 데이터를 수신할 수 있다. 위에서 논의된 바와 같이, 제2 이미지 데이터는, 프로젝터(들)(130)에 의해 투사되는 이미지에 응답하여 HMD(104)의 마커(들)(134)에 의해 반사된 광을 검출하는 추적 시스템(122)의 센서(들)(132)에 의해 캡처될 수 있다.
608에서, 방법(600)은 HMD(104)의 포즈를 결정할 수 있다. 예를 들어, 제2 이미지 데이터를 수신하는 것에 적어도 부분적으로 기반하여, 원격 컴퓨팅 리소스(142)는 환경(102) 내에서 HMD(104)의 포즈를 결정할 수 있다. 일부 예에서, 포즈는 환경(102) 내의 HMD(104)의 위치 및/또는 환경(102) 내의 HMD(104)의 배향을 나타낼 수 있다. 즉, 원격 컴퓨팅 리소스(142)는 환경(102)의 중심과 관련하여 환경(102) 내의 사용자(100)의 위치를 결정하기 위해 제1 이미지 데이터 및/또는 제2 이미지 데이터를 분석할 수 있다. 이러한 분석은 환경(102)의 중심, 또는 환경(102) 내의 특정 영역에 대한 사용자(100)의 상대 위치, 시선, 및/또는 시점을 결정할 수 있다.
610에서, 방법(600)은 깊이 맵 및/또는 3D 메시를 환경의 3D 모델과 연관된 포인트로 변환할 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는 환경(102) 내의 사용자(100)의 위치 및/또는 환경(102) 내의 사용자(100)의 관점을 결정하기 위해 포즈(예를 들어, 위치 및 배향)를 활용할 수 있다. 원격 컴퓨팅 리소스(142)는 깊이 맵 및/또는 3D 메시의 포인트를 환경(102)의 3D 모델과 연관된 포인트로 변환하며, 이로써 사용자(100)의 시점을 처리할 수 있다. 다시 말해서, 원격 컴퓨팅 리소스(142)의 프로세서(들)(144)는, 깊이 맵 및/또는 3D 메시의 포인트를 환경(102)의 3D 모델과 연관된 포인트로 변환함으로써, 환경(102)의 3D 모델에서 포인트의 깊이 값의 위치를 찾고, 이 값을 찾거나 결정할 수 있다. 포즈를 사용하여, 원격 컴퓨팅 리소스(142)는 604에서 생성된 깊이 맵 및/또는 3D 메시를 환경(102)의 3D 모델 상으로 전사(translate)할 수 있다. 이러한 전사는 사용자(100)에게 환경(102)(예를 들어, 적절한 깊이 값)을 정확하게 묘사하는 데 도움이 될 수 있다. 즉, 제1 이미지 데이터는 제2 이미지 데이터 및/또는 환경(102)의 3D 모델과 함께 HMD(104)의 절대 위치 및/또는 시선을 제공할 수 있으며, 이는 적절한 깊이 값 또는 깊이 인식에서 사용자(100)의 시점을 묘사하는 데 도움이 될 수 있다.
612에서, 방법(600)은 제3 이미지 데이터를 생성하기 위해 3D 모델의 일 부분 상에 제1 이미지 데이터를 투사할 수 있다. 예를 들어, 사용자(100)의 포즈를 알면, 원격 컴퓨팅 리소스(142)는, 제3 이미지 데이터를 생성하기 위해 환경(102)의 3D 모델의 일 부분에 제1 이미지 데이터를 투사하거나 오버레이할 수 있다. 일부 예에서, 제3 이미지 데이터를 생성하는 단계는 제3 이미지 데이터의 특정 픽셀에 대한 깊이 값 및/또는 색상 값을 교차 혼합(cross-blend)하거나 채우는 단계를 포함할 수 있다. 예를 들어, 제1 이미지 데이터는 사용자(100)의 시점을 나타내지 않을 수 있으므로, 사용자(100)의 시점을 묘사하는 제3 이미지 데이터를 생성할 때, 제3 이미지 데이터는 특정 픽셀에 대해 정의되지 않은 깊이 및/또는 색상 값을 가질 수 있다. 여기서, 색상 값이 없는 픽셀은 주변 픽셀로부터의 색상 값 또는 이의 평균값을 할당받을 수 있다. 추가적으로 또는 대안적으로, 제3 이미지 데이터는 환경(100)의 이전의 깊이 맵 또는 3D 메시, 입자 시스템 등을 사용하여 생성될 수 있다.
614에서, 방법(600)은 제3 이미지 데이터를 HMD(104)에 전송할 수 있다. 예를 들어, 제1 이미지 데이터를 3D 모델의 일 부분에 투사한 후, 원격 컴퓨팅 리소스(142)는 제3 이미지 데이터를 HMD(104)에 전송할 수 있으며, 여기서 제3 이미지 데이터는 3D 모델의 일 부분에 투사된 제1 이미지 데이터를 나타낸다.
614로부터, 방법(600)은 후속 이미지 데이터를 수신하기 위해 602로 루프(loop)될 수 있다. 결과적으로, 연속적인 트리거 이벤트(예: 버튼 누르기, 음성 명령, 동작 검출 등)에 대한 응답으로, HMD(104)는 사용자(100)가 HMD(104)를 벗을 필요없이 환경(102)을 확인할 수 있는 편리한 방법을 제공하기 위해 패스 쓰루 모드로 전이될 수 있다. 예를 들어, 원격 컴퓨팅 리소스(142)는 추적 시스템(122)으로부터, 사용자(100)가 영역의 경계에 접근하고 있고/있거나 환경(102)의 벽에 부딪히려 한다는 지시를 수신할 수 있다. 이 지시를 수신하면, 원격 컴퓨팅 리소스(142)는 사용자의 시점을 나타내는 HMD(104)로부터의 이미지 데이터(즉, 제1 카메라(110) 및/또는 제2 카메라(112)에 의해 캡처된 이미지)를 수신할 수 있다. 사용자(100)의 포즈를 결정할 때, 원격 컴퓨팅 리소스(142)는 이미지 데이터를 환경(102) 상의 3D 모델에 투사하고, 이미지 데이터가 HMD(104) 상에 표시되게 할 수 있다. 이러한 의미에서, 이미지는 사용자가 몰입을 깰 필요 없이 현실 세계 환경을 보는 것을 허용하기 위해서 사용자(100)에게 자동으로 "패스 쓰루"될 수 있다.
전술된 발명이 특정 실시예와 관련하여 설명되지만, 본 발명의 범위가 이러한 특정 실시예에 한정되지 않는다는 점이 이해될 것이다. 특정 작동 요건 및 환경에 맞게 변화된 다른 수정예 및 변경예가 당업자에게 명백할 것이기 때문에, 본 발명은 개시의 목적을 위해 선택된 실시예에 한정되는 것으로 간주되지 않고, 본 발명의 진정한 기술적 사상 및 범주로부터의 이탈을 구성하지 않는 모든 변경예 및 수정예를 포함한다.
본 출원은 특정한 구조적 특징 및/또는 방법론적 행위를 갖는 실시예를 설명하지만, 청구범위는 설명된 특정한 특징부 또는 동작에 반드시 한정되지 않는다는 점이 이해될 것이다. 오히려, 특정 특징부 및 동작은 단지 본 출원의 청구범위의 범주 내에 속하는 예시적인 일부 실시예이다.

Claims (20)

  1. 시스템에 있어서,
    헤드 마운트 디스플레이(head-mounted display)로서,
    디스플레이;
    제1 카메라; 및
    제2 카메라를 포함하는, 상기 헤드 마운트 디스플레이;
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해서 실행될 때 상기 하나 이상의 프로세서로 하여금 동작을 수행하게 하는 컴퓨터 실행 가능 명령어를 저장하는 하나 이상의 비일시적 컴퓨터 판독 가능 매체를 포함하며, 상기 동작은:
    환경의 제1 부분을 나타내는 제1 이미지 데이터를 상기 제1 카메라를 통해 캡처하는 동작;
    상기 환경의 제2 부분을 나타내는 제2 이미지 데이터를 상기 제2 카메라를 통해 캡처하는 동작;
    사용자의 제1 눈에 대한 상기 제1 카메라의 제1 오프셋 및 상기 사용자의 제2 눈에 대한 상기 제2 카메라의 제2 오프셋을 결정하는 동작;
    상기 제1 이미지 데이터, 상기 제2 이미지 데이터, 상기 제1 오프셋, 및 상기 제2 오프셋에 적어도 부분적으로 기반하여, 깊이 맵을 생성하는 동작;
    상기 깊이 맵, 상기 제1 이미지 데이터, 및 상기 제2 이미지 데이터를 하나 이상의 컴퓨팅 디바이스에 전송하는 동작;
    상기 깊이 맵, 상기 제1 이미지 데이터, 및 상기 제2 이미지 데이터에 적어도 부분적으로 기반하여 상기 하나 이상의 컴퓨팅 디바이스로부터 제3 이미지 데이터를 수신하는 동작; 및
    상기 디스플레이를 통해 상기 제3 이미지 데이터를 표시하는 동작을 포함하는, 시스템.
  2. 제1항에 있어서, 상기 헤드 마운트 디스플레이는 버튼을 더 포함하며, 여기서
    상기 제1 이미지 데이터는 상기 버튼의 누름을 검출하는 것에 적어도 부분적으로 기반하여 캡처되는 것; 또는
    상기 제2 이미지 데이터는 상기 버튼의 누름을 검출하는 것에 적어도 부분적으로 기반하여 캡처되는 것 중 적어도 하나인, 시스템.
  3. 제1항에 있어서, 상기 하나 이상의 비일시적 컴퓨터 판독 가능 매체는, 상기 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금, 상기 사용자가 상기 환경의 경계에 접근한다는 지시(indication)를 상기 하나 이상의 컴퓨팅 디바이스로부터 수신하는 동작을 더 포함하는 동작을 수행하게 하는 컴퓨터 실행 가능 명령어를 저장하며, 여기서
    상기 제1 이미지 데이터를 캡처하는 동작은 상기 지시를 수신하는 동작에 적어도 부분적으로 기반하는 것; 또는
    상기 제2 이미지 데이터를 캡처하는 동작은 상기 지시를 수신하는 동작에 적어도 부분적으로 기반하는 것 중 적어도 하나인, 시스템.
  4. 제1항에 있어서, 상기 사용자는 제1 사용자를 포함하며, 상기 하나 이상의 비일시적 컴퓨터 판독 가능 매체는, 상기 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금, 제2 사용자가 상기 환경 내에 있다는 지시를 상기 하나 이상의 컴퓨팅 디바이스로부터 수신하는 동작을 더 포함하는 동작을 수행하게 하는 컴퓨터 실행 가능 명령어를 저장하며, 여기서
    상기 제1 이미지 데이터를 캡처하는 동작은 상기 지시를 수신하는 동작에 적어도 부분적으로 기반하는 것; 또는
    상기 제2 이미지 데이터를 캡처하는 동작은 상기 지시를 수신하는 동작에 적어도 부분적으로 기반하는 것 중 적어도 하나인, 시스템.
  5. 제1항에 있어서,
    상기 제3 이미지 데이터는 상기 디스플레이 상에 제시된 가상 콘텐츠와 결합하여 표시되는 것; 또는
    상기 제3 이미지 데이터는 상기 디스플레이의 미리 결정된 부분 상에 표시되는 것 중 적어도 하나인, 시스템.
  6. 방법에 있어서,
    헤드 마운트 디스플레이로부터, 환경의 적어도 일 부분을 나타내는 제1 이미지 데이터를 수신하는 단계;
    추적 시스템으로부터, 상기 환경 내 사용자의 시점을 나타내는 제2 이미지 데이터를 수신하는 단계;
    상기 제1 이미지 데이터 또는 상기 제2 이미지 데이터 중 적어도 하나에 적어도 부분적으로 기반하여, 상기 환경의 적어도 일 부분에 대응되는 깊이 맵을 생성하는 단계;
    상기 깊이 맵을 상기 환경의 3차원(3D) 모델의 일 부분과 연관시키는 단계;
    상기 제1 이미지 데이터를 상기 환경의 상기 3D 모델의 상기 일 부분 상에 전치하는 단계;
    상기 환경의 상기 3D 모델의 상기 일 부분 상으로 전치된 상기 제1 이미지 데이터를 나타내는 제3 이미지 데이터를 생성하는 단계; 및
    상기 제3 이미지 데이터를 상기 헤드 마운트 디스플레이로 전송하는 단계를 포함하는, 방법.
  7. 제6항에 있어서,
    상기 환경의 이미지를 캡처하라는 제1 요청을 상기 헤드 마운트 디스플레이에 전송하는 단계; 및
    상기 헤드 마운트 디스플레이가 상기 환경의 상기 이미지를 캡처하는 동안 상기 헤드 마운트 디스플레이의 위치를 추적하라는 제2 요청을 상기 추적 시스템에 전송하는 단계를 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 헤드 마운트 디스플레이로부터, 상기 환경의 상기 이미지를 나타내는 제4 이미지 데이터를 수신하는 단계;
    상기 환경의 상기 이미지를 캡처하는 동안 상기 헤드 마운트 디스플레이의 상기 위치를 나타내는 제5 이미지 데이터를 상기 추적 시스템으로부터 수신하는 단계; 및
    상기 제4 이미지 데이터 및 상기 제5 이미지 데이터에 적어도 부분적으로 기반하여 상기 환경의 3D 모델을 생성하는 단계를 더 포함하는 방법.
  9. 제6항에 있어서, 상기 깊이 맵을 상기 환경의 상기 3D 모델의 일 부분과 연관시키는 단계는 상기 깊이 맵의 개별 포인트를 상기 3D 모델의 상기 일 부분의 대응되는 개별 포인트와 정렬하는 단계를 포함하는, 방법.
  10. 제6항에 있어서, 상기 제3 이미지 데이터를 전송하는 단계는 상기 헤드 마운트 디스플레이로부터 지시를 수신하는 단계에 적어도 부분적으로 기반하는, 방법.
  11. 제10항에 있어서, 상기 지시는
    상기 헤드 마운트 디스플레이에서 버튼 누름;
    상기 환경 내의 움직임을 검출하는 것;
    상기 사용자의 미리 정해진 거리 내에서 모션을 검출하는 것; 또는
    상기 사용자가 상기 환경의 경계에 접근하고 있는 점을 결정하는 것 중 적어도 하나에 대응되는, 방법.
  12. 제6항에 있어서, 상기 방법은 제4 이미지 데이터를 상기 헤드 마운트 디스플레이로 전송하는 단계를 더 포함하되, 상기 제4 이미지 데이터는 가상 환경과 연관된 가상 콘텐츠를 나타내며, 상기 헤드 마운트 디스플레이는 상기 제3 이미지 데이터의 적어도 일 부분을 상기 제4 이미지 데이터의 적어도 일 부분과 결합하여 표시하도록 구성된, 방법.
  13. 제6항에 있어서, 상기 방법은
    상기 환경의 중심을 결정하는 단계; 및
    상기 제2 이미지 데이터에 적어도 부분적으로 기반하여 상기 환경 내의 상기 사용자의 위치를 결정하는 단계를 더 포함하되,
    상기 깊이 맵을 3D 모델의 상기 일 부분과 연관시키는 단계는 상기 환경의 상기 중심과 관련하여 상기 사용자의 위치를 결정하는 단계에 적어도 부분적으로 기반하는, 방법.
  14. 제6항에 있어서, 상기 제3 이미지 데이터는 상기 환경 내에서 상기 사용자의 시점을 나타내는, 방법.
  15. 시스템에 있어서,
    헤드 마운트 디스플레이;
    제1 카메라;
    제2 카메라;
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해서 실행될 때 상기 하나 이상의 프로세서로 하여금 동작을 수행하게 하는 컴퓨터 실행 가능 명령어를 저장하는 하나 이상의 비일시적 컴퓨터 판독 가능 매체를 포함하며, 상기 동작은:
    환경의 제1 부분을 나타내는 제1 이미지 데이터를 상기 제1 카메라로부터 수신하는 동작;
    상기 환경의 제2 부분을 나타내는 제2 이미지 데이터를 상기 제2 카메라로부터 수신하는 동작;
    상기 제1 이미지 데이터 및 상기 제2 이미지 데이터에 적어도 부분적으로 기반하여, 상기 환경의 일 부분의 제1 깊이 맵을 생성하는 동작;
    추적 시스템으로부터 상기 환경 내 사용자의 시점에 대응되는 데이터를 수신하는 동작;
    상기 제1 깊이 맵 및 상기 데이터에 적어도 부분적으로 기반하여 제2 깊이 맵을 생성하는 동작;
    상기 제1 이미지 데이터 및 상기 제2 이미지 데이터를 상기 제2 깊이 맵 상에 투사하는 동작에 적어도 부분적으로 기반하여 제3 이미지 데이터를 생성하는 동작; 및
    상기 제3 이미지 데이터를 상기 헤드 마운트 디스플레이로 전송하는 동작을 포함하는, 시스템.
  16. 제15항에 있어서, 상기 하나 이상의 비일시적 컴퓨터 판독 가능 매체는, 상기 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 제2 동작을 수행하게 하는 컴퓨터 실행 가능 명령어를 저장하며, 상기 제2 동작은 트리거 이벤트의 지시를 수신하는 동작을 더 포함하며, 상기 제3 이미지 데이터를 전송하는 동작은 상기 지시를 수신하는 동작에 적어도 부분적으로 기반하는, 시스템.
  17. 제16항에 있어서, 상기 지시는
    상기 헤드 마운트 디스플레이를 착용한 상기 사용자 앞에 다른 사용자가 있음을 결정하는 것; 또는
    상기 사용자가 상기 환경의 경계에 접근하고 있음을 결정하는 것 중 적어도 하나에 대응되는, 시스템.
  18. 제15항에 있어서, 상기 하나 이상의 비일시적 컴퓨터 판독 가능 매체는, 상기 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 제3 동작을 수행하게 하는 컴퓨터 실행 가능 명령어를 저장하며, 상기 제3 동작은 가상 현실 환경 내에서 가상 콘텐츠를 나타내는 제4 이미지 데이터를 전송하는 동작을 더 포함하는, 시스템.
  19. 제15항에 있어서, 상기 데이터는 상기 환경의 중심 위치에 대한 상기 환경 내의 상기 사용자의 위치에 대응되는, 시스템.
  20. 제15항에 있어서, 상기 하나 이상의 비일시적 컴퓨터 판독 가능 매체는, 상기 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 동작을 수행하게 하는 컴퓨터 실행 가능 명령어를 저장하며, 상기 동작은
    상기 환경의 3D 모델을 생성하는 동작;
    상기 사용자의 상기 시점에 대응되는 상기 3D 모델의 일 부분을 결정하는 동작을 더 포함하며,
    상기 제2 깊이 맵을 생성하는 동작은 상기 3D 모델의 상기 일 부분에 적어도 부분적으로 기반하는, 시스템.
KR1020217036236A 2019-04-23 2020-04-22 패스 쓰루 이미징을 갖는 헤드 마운트 디스플레이 KR20210154814A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962837668P 2019-04-23 2019-04-23
US62/837,668 2019-04-23
US16/848,332 US11361513B2 (en) 2019-04-23 2020-04-14 Head-mounted display with pass-through imaging
US16/848,332 2020-04-14
PCT/US2020/029398 WO2020219601A1 (en) 2019-04-23 2020-04-22 Head-mounted display with pass-through imaging

Publications (1)

Publication Number Publication Date
KR20210154814A true KR20210154814A (ko) 2021-12-21

Family

ID=72916574

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217036236A KR20210154814A (ko) 2019-04-23 2020-04-22 패스 쓰루 이미징을 갖는 헤드 마운트 디스플레이

Country Status (6)

Country Link
US (2) US11361513B2 (ko)
EP (1) EP3942355A4 (ko)
JP (1) JP2022530012A (ko)
KR (1) KR20210154814A (ko)
CN (1) CN113711109A (ko)
WO (1) WO2020219601A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102524149B1 (ko) * 2022-09-05 2023-04-20 세종대학교산학협력단 가상세계 생성 방법 및 장치
WO2024049175A1 (ko) * 2022-09-01 2024-03-07 삼성전자 주식회사 Hmd(head mounted display) 장치를 착용 중, 디스플레이 방법 및 그 장치

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10598929B2 (en) * 2011-11-09 2020-03-24 Google Llc Measurement method and system
EP3345184A1 (en) * 2015-09-02 2018-07-11 THOMSON Licensing Method, apparatus and system for facilitating navigation in an extended scene
US11651555B2 (en) * 2018-05-31 2023-05-16 Microsoft Technology Licensing, Llc Re-creation of virtual environment through a video call
US11361513B2 (en) 2019-04-23 2022-06-14 Valve Corporation Head-mounted display with pass-through imaging
US11382699B2 (en) * 2020-02-10 2022-07-12 Globus Medical Inc. Extended reality visualization of optical tool tracking volume for computer assisted navigation in surgery
US11510750B2 (en) * 2020-05-08 2022-11-29 Globus Medical, Inc. Leveraging two-dimensional digital imaging and communication in medicine imagery in three-dimensional extended reality applications
US11127148B1 (en) * 2020-05-12 2021-09-21 Microsoft Technology Licensing, Llc Parallax correction for partially overlapping stereo depth images
US11516452B2 (en) * 2020-06-18 2022-11-29 Microsoft Technology Licensing, Llc Systems and methods for temporal corrections for parallax reprojection
US11360310B2 (en) * 2020-07-09 2022-06-14 Trimble Inc. Augmented reality technology as a controller for a total station
US11512956B2 (en) 2020-07-09 2022-11-29 Trimble Inc. Construction layout using augmented reality
US11551421B1 (en) 2020-10-16 2023-01-10 Splunk Inc. Mesh updates via mesh frustum cutting
US11727643B1 (en) 2020-10-16 2023-08-15 Splunk Inc. Multi-environment networked remote collaboration system
US11546437B1 (en) * 2020-10-16 2023-01-03 Splunk Inc. Playback of a stored networked remote collaboration session
US11127223B1 (en) 2020-10-16 2021-09-21 Splunkinc. Mesh updates via mesh splitting
US11563813B1 (en) * 2020-10-16 2023-01-24 Splunk Inc. Presentation of collaboration environments for a networked remote collaboration session
US11798235B1 (en) 2020-10-16 2023-10-24 Splunk Inc. Interactions in networked remote collaboration environments
US11776218B1 (en) 2020-10-16 2023-10-03 Splunk Inc. Networked remote collaboration system
US11544904B1 (en) 2020-10-16 2023-01-03 Splunk Inc. Mesh updates in an extended reality environment
US11622100B2 (en) * 2021-02-17 2023-04-04 flexxCOACH VR 360-degree virtual-reality system for dynamic events
US11676348B2 (en) * 2021-06-02 2023-06-13 Meta Platforms Technologies, Llc Dynamic mixed reality content in virtual reality
CN117999115A (zh) * 2021-09-16 2024-05-07 苹果公司 为多用户通信会话对准扫描环境
US20230147711A1 (en) * 2021-11-08 2023-05-11 Proprio, Inc. Methods for generating stereoscopic views in multicamera systems, and associated devices and systems
US20230259194A1 (en) * 2022-02-16 2023-08-17 Meta Platforms Technologies, Llc Spatial Anchor Sharing for Multiple Virtual Reality Systems in Shared Real-World Environments
WO2023234824A1 (en) * 2022-05-31 2023-12-07 Flatfrog Laboratories Ab A virtual-reality interaction system
US11972039B1 (en) * 2022-12-02 2024-04-30 ARMaps Augmented reality skydiving system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001211403A (ja) * 2000-01-25 2001-08-03 Mixed Reality Systems Laboratory Inc 頭部装着型表示装置及び頭部装着型表示システム
US9323325B2 (en) 2011-08-30 2016-04-26 Microsoft Technology Licensing, Llc Enhancing an object of interest in a see-through, mixed reality display device
TWI584222B (zh) * 2012-02-17 2017-05-21 鈺立微電子股份有限公司 立體影像處理器、立體影像互動系統、與相關立體影像顯示方法
US9183676B2 (en) * 2012-04-27 2015-11-10 Microsoft Technology Licensing, Llc Displaying a collision between real and virtual objects
US20140192164A1 (en) * 2013-01-07 2014-07-10 Industrial Technology Research Institute System and method for determining depth information in augmented reality scene
US9551873B2 (en) 2014-05-30 2017-01-24 Sony Interactive Entertainment America Llc Head mounted device (HMD) system having interface with mobile computing device for rendering virtual reality content
WO2016073783A1 (en) * 2014-11-05 2016-05-12 Valve Corporation Sensory feedback systems and methods for guiding users in virtual reality environments
US9538962B1 (en) 2014-12-31 2017-01-10 Verily Life Sciences Llc Heads-up displays for augmented reality network in a medical environment
US9924866B2 (en) * 2016-01-11 2018-03-27 Heptagon Micro Optics Pte. Ltd. Compact remote eye tracking system including depth sensing capacity
US10089063B2 (en) * 2016-08-10 2018-10-02 Qualcomm Incorporated Multimedia device for processing spatialized audio based on movement
US20180095542A1 (en) * 2016-09-30 2018-04-05 Sony Interactive Entertainment Inc. Object Holder for Virtual Reality Interaction
FR3058534B1 (fr) * 2016-11-09 2019-02-01 Stereolabs Dispositif individuel d'immersion visuelle pour personne en mouvement avec gestion des obstacles
GB201709199D0 (en) * 2017-06-09 2017-07-26 Delamont Dean Lindsay IR mixed reality and augmented reality gaming system
US10803663B2 (en) * 2017-08-02 2020-10-13 Google Llc Depth sensor aided estimation of virtual reality environment boundaries
DE102017218215A1 (de) 2017-10-12 2019-04-18 Audi Ag Verfahren zum Betreiben einer am Kopf tragbaren elektronischen Anzeigeeinrichtung und Anzeigesystem zum Anzeigen eines virtuellen Inhalts
US11361513B2 (en) 2019-04-23 2022-06-14 Valve Corporation Head-mounted display with pass-through imaging

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024049175A1 (ko) * 2022-09-01 2024-03-07 삼성전자 주식회사 Hmd(head mounted display) 장치를 착용 중, 디스플레이 방법 및 그 장치
KR102524149B1 (ko) * 2022-09-05 2023-04-20 세종대학교산학협력단 가상세계 생성 방법 및 장치

Also Published As

Publication number Publication date
EP3942355A1 (en) 2022-01-26
US20200342673A1 (en) 2020-10-29
WO2020219601A1 (en) 2020-10-29
US11361513B2 (en) 2022-06-14
CN113711109A (zh) 2021-11-26
US11989842B2 (en) 2024-05-21
US20220292790A1 (en) 2022-09-15
EP3942355A4 (en) 2023-03-29
JP2022530012A (ja) 2022-06-27

Similar Documents

Publication Publication Date Title
KR20210154814A (ko) 패스 쓰루 이미징을 갖는 헤드 마운트 디스플레이
JP6596883B2 (ja) ヘッドマウントディスプレイ及びヘッドマウントディスプレイの制御方法、並びにコンピューター・プログラム
US11030975B2 (en) Information processing apparatus and information processing method
JP5996814B1 (ja) 仮想空間の画像をヘッドマウントディスプレイに提供する方法及びプログラム
EP3070513B1 (en) Head-mountable display system
CN109002164B (zh) 头戴显示设备的显示方法、装置及头戴显示设备
JP6619871B2 (ja) 媒介現実コンテンツの共有
KR20150134409A (ko) 두부 장착형 표시 장치 및 두부 장착형 표시 장치의 제어 방법
US10859831B1 (en) Systems and methods for safely operating a mobile virtual reality system
CN105611267B (zh) 现实世界和虚拟世界图像基于深度和色度信息的合并
JP2021060627A (ja) 情報処理装置、情報処理方法、およびプログラム
US20200341284A1 (en) Information processing apparatus, information processing method, and recording medium
US11195320B2 (en) Feed-forward collision avoidance for artificial reality environments
JP6963399B2 (ja) プログラム、記録媒体、画像生成装置、画像生成方法
CN113870213A (zh) 图像显示方法、装置、存储介质以及电子设备
US11589001B2 (en) Information processing apparatus, information processing method, and program
WO2017191702A1 (ja) 画像処理装置
US20140285484A1 (en) System of providing stereoscopic image to multiple users and method thereof
WO2017191703A1 (ja) 画像処理装置
WO2016185634A1 (ja) 情報処理装置
JP6683218B2 (ja) 頭部装着型表示装置および頭部装着型表示装置の制御方法
JP5037713B1 (ja) 立体画像表示装置および立体画像表示方法
US10834382B2 (en) Information processing apparatus, information processing method, and program
WO2018173206A1 (ja) 情報処理装置
JP2019216344A (ja) 全天周立体映像表示装置及びそのプログラム、全天周立体映像撮影装置、並びに、全天周立体映像システム

Legal Events

Date Code Title Description
A201 Request for examination