KR20220058940A - 물리적 객체에 의해 트리거된 인공 현실 - Google Patents
물리적 객체에 의해 트리거된 인공 현실 Download PDFInfo
- Publication number
- KR20220058940A KR20220058940A KR1020227011363A KR20227011363A KR20220058940A KR 20220058940 A KR20220058940 A KR 20220058940A KR 1020227011363 A KR1020227011363 A KR 1020227011363A KR 20227011363 A KR20227011363 A KR 20227011363A KR 20220058940 A KR20220058940 A KR 20220058940A
- Authority
- KR
- South Korea
- Prior art keywords
- artificial reality
- user
- hmd
- environment
- reality content
- Prior art date
Links
- 230000001960 triggered effect Effects 0.000 title claims description 21
- 230000009471 action Effects 0.000 claims abstract description 119
- 230000004044 response Effects 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000013507 mapping Methods 0.000 claims description 86
- 238000012545 processing Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 8
- 230000003993 interaction Effects 0.000 abstract description 17
- 230000000694 effects Effects 0.000 abstract description 7
- 230000033001 locomotion Effects 0.000 description 50
- 238000009877 rendering Methods 0.000 description 28
- 230000015654 memory Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000036541 health Effects 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 208000013057 hereditary mucoepithelial dysplasia Diseases 0.000 description 4
- 230000001953 sensory effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036449 good health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000005195 poor health Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B2027/0178—Eyeglass type
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0179—Display position adjusting means not related to the information to be displayed
- G02B2027/0187—Display 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Optics & Photonics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
본 개시내용은 물리적 환경 내의 하나 이상의 물리적 객체들과의 상호작용들에 기반하거나 이에 응답하여 인공 현실 콘텐츠 또는 인공 현실 효과들을 제시하는 인공 현실 시스템을 설명한다. 일 예에서, 본 개시내용은 사용자가 트리거 객체에 대해 트리거 행위를 수행했다는 것을 결정하는 단계; 사용자가 트리거 행위를 수행했다는 결정에 응답하여, 인공 현실 콘텐츠를 생성하는 단계; 머리 장착 디스플레이와 연관된 디스플레이 상에 인공 현실 콘텐츠를 제시하는 단계; 사용자가 트리거해제 행위를 수행했다고 결정하는 단계; 및 사용자가 트리거해제 행위를 수행했다고 결정하는 것에 응답하여, 인공 현실 콘텐츠의 제시를 중단하는 단계를 포함하는 방법을 설명한다.
Description
본 개시내용은 일반적으로 가상 현실, 혼합 현실 및/또는 증강 현실 시스템들과 같은 인공 현실 시스템들에 관한 것이고, 보다 구체적으로 인공 현실 애플리케이션들에서 콘텐츠의 제시 및 동작들의 수행에 관한 것이다.
인공 현실 시스템들은 컴퓨터 게이밍, 건강 및 안전, 산업 및 교육과 같은 많은 분야들의 애플리케이션들로 점점 일반화되고 있다. 몇 가지 예로서, 인공 현실 시스템들은 모바일 디바이스들, 게이밍 콘솔들, 개인용 컴퓨터들, 영화관들 및 테마 파크들에 통합되고 있다. 일반적으로, 인공 현실은 예를 들어, 가상 현실(VR), 증강 현실(AR), 혼합 현실(MR), 하이브리드 현실, 또는 이들의 일부 조합 및/또는 파생물들을 포함할 수 있는, 사용자에게 제시 전에 일부 방식으로 조정된 현실 형태이다.
일반적인 인공 현실 시스템들은 콘텐츠를 렌더링하고 사용자들에게 디스플레이하기 위한 하나 이상의 디바이스들을 포함한다. 일 예로서, 인공 현실 시스템은 사용자에 의해 착용되고 인공 현실 콘텐츠를 사용자에게 출력하도록 구성된 머리 장착 디스플레이(HMD)를 포함할 수 있다. 인공 현실 콘텐츠는 시-스루 AR(see-through AR), 오버레이 AR, 완전-생성 콘텐츠, 캡처된 콘텐츠(예를 들어, 현실-세계 비디오 및/또는 이미지들)와 조합된 생성 콘텐츠, 또는 다른 유형들을 비롯한 다양한 유형들의 인공 현실 콘텐츠를 포함할 수 있다. 동작 동안, 사용자는 일반적으로 인공 현실 시스템과 상호작용하여 콘텐츠를 선택하거나, 애플리케이션들을 시작하거나, 그렇지 않으면 시스템을 구성한다.
본 개시내용은 첨부된 청구범위들에 따라 물리적 환경 내의 하나 이상의 물리적 객체들과의 상호작용들에 기반하거나 이에 응답하여 인공 현실 콘텐츠 또는 인공 현실 효과들을 제시하는 인공 현실 시스템을 설명한다. 본 개시내용은 첨부된 청구범위들에 따른 방법들 및 비-일시적 컴퓨터-판독가능 매체를 추가로 설명한다. 본원에 설명된 기법들은 특정 객체(즉, "트리거 객체")에 관하여 수행된 하나 이상의 상호작용들(예를 들어, "트리거링 행위" 또는 "트리거 행위")을 검출하는 것을 포함한다. 트리거 행위를 검출 시, 인공 현실 시스템은 다양한 인공 현실 콘텐츠 또는 효과들을 생성 및/또는 제시할 수 있다. 일부 실시예들에서, 그러한 인공 현실 콘텐츠 또는 효과들은 게임 또는 통신 세션을 시작하는 것, 인공 현실 콘텐츠로 사용자의 물리적 환경의 양태들을 증강하는 것, 또는 몰입형 인공 현실 환경 또는 가상 세계를 제시하는 것을 포함할 수 있다. 본원에 설명된 기법들은 트리거 객체와의 다른 후속 상호작용(예를 들어, "트리거해제 행위")에 응답하여 이러한 인공 현실 콘텐츠의 제시를 중단하는 것을 더 포함한다.
구체적인 일 실시예에서, 의자는 트리거 객체 역할을 할 수 있고, 사용자가 의자에 앉는 것에 응답하여, 인공 현실 시스템은 특정 인공 현실 콘텐츠를 제시할 수 있다. 이러한 예에서, 인공 현실 시스템은 사용자가 더 이상 의자에 앉아 있지 않고 서 있는 것을 나중에 검출할 수 있다. 응답하여, 인공 현실 시스템은 인공 현실 콘텐츠의 제시를 중단하고 물리적 환경의 이미지를 제시할 수 있다(또는 다른 예들에서, 상이한 인공 현실 콘텐츠를 제시함).
일부 실시예들에서, 본 개시내용은 본 개시내용의 하나 이상의 양태들에 따른 인공 현실 시스템에 의해 수행되는 동작들을 설명한다. 하나의 특정 실시예에서, 본 개시내용은 사용자가 트리거 객체에 관하여 트리거 행위를 수행했다고 결정하는 단계, 및 사용자가 트리거 행위를 수행했다고 결정하는 것에 응답하여, 인공 현실 콘텐츠를 제시하는 단계를 포함하는 방법을 설명한다.
다른 양태에서, 본 개시내용은 복수의 물리적 객체들을 포함하는 물리적 환경을 나타내는 이미지 데이터를 캡처하도록 구성된 이미지 캡처 시스템; 사용자에 의해 착용되는 머리-장착 디스플레이(HMD); 이미지 데이터에 기반하여, HMD에 관한 포지션 정보 및 복수의 물리적 객체들에 포함된 트리거 객체를 포함하는 물리적 환경의 맵을 결정하도록 구성된 매핑 엔진; 및 애플리케이션 엔진으로서, 상기 애플리케이션 엔진은: 사용자가 트리거 행위를 수행했다는 결정에 응답하여, 사용자가 트리거 객체에 대해 트리거 행위를 수행했다고 결정하고, 인공 현실 환경을 생성하고, HMD와 연관된 디스플레이 상에 인공 현실 환경을 제시하고, 사용자가 트리거해제 행위를 수행했다고 결정하고, 사용자가 트리거해제 행위를 수행했다는 결정에 응답하여, 인공 현실 환경의 제시를 중단하도록 구성되는, 상기 애플리케이션 엔진을 포함하는 시스템을 설명한다.
본 발명에 따른 시스템의 일 실시예에서, 트리거 객체는 앉은 포지션에서 사용자를 지지할 수 있는 객체일 수 있고, 트리거 행위는 사용자가 트리거 객체에 앉는 것일 수 있다.
본 발명에 따른 시스템의 일 실시예에서, 트리거해제 행위는 사용자가 트리거 객체에 앉았다가 일어서는 것일 수 있다.
본 발명에 따른 시스템의 실시예에서, 인공 현실 환경의 제시를 중단하기 위해, 애플리케이션 엔진은 물리적 환경의 이미지를 제시하도록 추가로 구성될 수 있다.
본 발명에 따른 시스템의 일 실시예에서, 인공 현실 환경은 트리거된 인공 현실 환경일 수 있고, 여기서 애플리케이션 엔진은 사용자가 트리거 객체에 대해 트리거 행위를 수행했다고 결정하기 전에, 유휴 인공 현실 환경을 제시하도록 추가로 구성될 수 있다.
본 발명에 따른 시스템의 일 실시예에서, 인공 현실 환경은 트리거된 인공 현실 환경일 수 있고, 여기서 애플리케이션 엔진은 사용자가 트리거 객체에 대해 트리거 행위를 수행했다고 결정하기 전에, 유휴 인공 현실 환경을 제시하도록 추가로 구성될 수 있다. 또한, 트리거된 인공 현실 환경의 제시를 중단하기 위해, 애플리케이션 엔진은 유휴 인공 현실 환경을 제시하도록 추가로 구성될 수 있다.
본 발명에 따른 시스템의 일 실시예에서, 인공 현실 환경은 트리거된 인공 현실 환경일 수 있고, 여기서 애플리케이션 엔진은 사용자가 트리거 객체에 대해 트리거 행위를 수행했다고 결정하기 전에, 유휴 인공 현실 환경을 제시하도록 추가로 구성될 수 있다. 또한, 트리거된 인공 현실 콘텐츠를 생성하기 위해, 애플리케이션 엔진은 사용자가 트리거 행위를 수행했다는 결정에 응답하여 모드 변경을 수행하고; 트리거된 인공 현실 환경의 제시를 중단하도록 추가로 구성될 수 있고, 애플리케이션 엔진은 사용자가 트리거해제 행위를 수행했다는 결정에 응답하여 다른 모드 변경을 수행하도록 추가로 구성될 수 있다.
본 발명에 따른 시스템의 실시예에서, 애플리케이션 엔진은 트리거 객체를 식별하는 입력을 검출하도록 추가로 구성될 수 있고, 여기서 트리거 객체는 물리적 환경 내의 임의의 물리적 객체일 수 있다.
본 발명에 따른 시스템의 실시예에서, 인공 현실 환경을 생성하기 위해, 애플리케이션 엔진은 물리적 환경의 이미지 상에 인공 현실 콘텐츠를 오버레이하도록 추가로 구성될 수 있다.
본 발명에 따른 시스템의 일 실시예에서, 복수의 물리적 객체는 입력을 수용할 수 있는 디바이스를 포함할 수 있고, 인공 현실 환경을 생성하기 위해, 애플리케이션 엔진은 물리적 환경: 물리적 환경에서 조명 변경, 물리적 환경에서 음악 제시, 또는 디바이스에 입력 제공 중 하나 이상을 포함하는, 물리적 환경의 속성에 대해 행위를 수행하도록 추가로 구성될 수 있다.
본 발명에 따른 시스템의 실시예에서, 인공 현실 환경을 생성하기 위해, 애플리케이션 엔진은 물리적 환경의 속성들, 시간, 날짜, 트리거 객체 유형, 트리거 행위 유형 또는 환경 속성들 중 적어도 하나에 관한 정보에 기반하여 인공 현실 콘텐츠를 생성하도록 추가로 구성될 수 있다.
본 발명에 따른 시스템의 실시예에서, 인공 현실 환경을 생성하기 위해, 애플리케이션 엔진은 사용자를 식별하고; 사용자에 관한 정보에 기반하여 인공 현실 환경을 생성하도록 추가로 구성될 수 있다. 또한, 사용자를 식별하기 위해 애플리케이션 엔진은 HMD에 의해 검출된 생체인증 정보에 기반하여 사용자를 식별하거나 HMD에 의해 제시되는 프롬프트에 응답하여 HMD에 의해 검출된 입력에 기반하여 사용자를 식별하도록 추가로 구성될 수 있다.
본 발명에 따른 시스템의 실시예에서, 인공 현실 환경을 생성하기 위해, 애플리케이션 엔진은 사용자를 식별하고; 사용자에 관한 정보에 기반하여 인공 현실 환경을 생성하도록 추가로 구성될 수 있다. 또한, 사용자에 관한 정보는 사용자와 연관된 프로파일 정보일 수 있거나 사용자에 관한 정보는 사용자가 소유한 객체에 기반할 수 있거나 사용자에 관한 정보는 사용자가 유지 관리하는 캘린더에서 파생된 정보일 수 있다.
다른 양태에서, 본 개시내용은 인공 현실 시스템에 의해, 사용자에 의해 착용된 머리-장착 디스플레이(HMD)를 포함하는 복수의 물리적 객체들을 포함하는 물리적 환경을 나타내는 이미지 데이터를 캡처하는 단계; 상기 인공 현실 시스템에 의해 이미지 데이터에 기반하여, HMD에 관한 포지션 정보 및 복수의 물리적 객체에 포함된 트리거 객체를 포함하는 물리적 환경의 맵을 결정하는 단계; 인공 현실 시스템에 의해, 사용자가 트리거 객체에 대해 트리거 행위를 수행했는지 결정하는 단계; 사용자가 트리거 행위를 수행했다는 결정에 응답하여, 인공 현실 콘텐츠를 생성하는 단계; 인공 현실 시스템에 의해, HMD와 연관된 디스플레이 상에 인공 현실 콘텐츠를 제시하는 단계; 인공 현실 시스템에 의해, 사용자가 트리거해제 행위를 수행했음을 결정하는 단계; 및 사용자가 트리거해제 행위를 수행했음을 결정하는 단계에 응답하여, 인공 현실 콘텐츠의 제시를 중단하는 단계를 포함하는 방법을 설명한다.
본 발명에 따른 방법의 실시예에서, 인공 현실 콘텐츠는 트리거된 인공 현실 콘텐츠일 수 있고, 방법은 인공 현실 시스템에 의해 그리고 사용자가 트리거 객체에 대해 트리거 행위를 수행했음을 결정하기 전에, 유휴 인공 현실 콘텐츠를 제시하는 단계를 더 포함할 수 있다.
다른 양태에서, 본 개시내용은 컴퓨팅 시스템의 프로세싱 회로를 구성하는 명령들을 포함하는 컴퓨터-판독가능 저장 매체를 설명하고, 명령들은, 실행될 때, 사용자에 의해 착용된 머리-장착 디스플레이(HMD)를 포함하는 복수의 물리적 객체들을 포함하는 물리적 환경을 나타내는 이미지 데이터를 캡처하고; 이미지 데이터에 기반하여, HMD에 관한 포지션 정보 및 복수의 물리적 객체들에 포함된 트리거 객체를 포함하는 물리적 환경의 맵을 결정하고; 사용자가 트리거 객체에 대해 트리거 행위를 수행했음을 결정하고; 사용자가 트리거 행위를 수행했다는 결정에 응답하여, 인공 현실 콘텐츠를 생성하고; HMD와 연관된 디스플레이 상에 인공 현실 콘텐츠를 제시하고; 사용자가 트리거해제 행위를 수행했음을 결정하고; 사용자가 트리거해제 행위를 수행했다는 결정에 응답하여, 인공 현실 콘텐츠의 제시를 중단시킨다.
본 개시내용의 하나 이상의 예들의 세부사항들은 첨부 도면들 및 하기 설명에 설명되어 있다. 본 개시내용의 다른 특징들, 목적들 및 장점들은 설명 및 도면들, 그리고 청구범위들로부터 명백할 것이다.
도 1a는 본 개시내용의 하나 이상의 양태들에 따른, 인공 현실 콘텐츠를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도이다.
도 1b는 본 개시내용의 하나 이상의 양태들에 따른, 객체와의 하나 이상의 상호작용들에 응답하여 인공 현실 콘텐츠를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도이다.
도 1c는 본 개시내용의 하나 이상의 양태들에 따른, 인공 현실 콘텐츠를 제시할 때 사용자 인터페이스 메뉴를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도이다.
도 1d는 본 개시내용의 하나 이상의 양태에 따른, 객체에 관련하여 사용자에 의해 수행된 하나 이상의 행위들에 응답하여 인공 현실 콘텐츠의 적어도 일부 양태들의 제시를 중단하는 예시적인 인공 현실 시스템을 예시하는 개념도이다.
도 2는 본 개시내용의 기법들에 따라 동작하도록 구성된 예시적인 머리-장착 디스플레이를 묘사하는 예시이다.
도 3은 본 개시내용의 하나 이상의 양태들에 따른, 예시적인 콘솔 및 예시적인 HMD의 예시적인 구현들을 도시하는 블록도이다.
도 4는 본 개시내용의 하나 이상의 양태들에 따른, 인공 현실 시스템에 대한 사용자 디바이스의 예를 묘사하는 블록도이다.
도 5a, 도 5b 및 도 5c는 본 개시내용의 하나 이상의 양태들에 따른, 책상과의 상호작용들에 응답하여 인공 현실 콘텐츠를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도이다.
도 6a 및 도 6b는 본 개시내용의 하나 이상의 양태들에 따른, 바닥 공간의 일부와의 상호작용에 응답하여 인공 현실 콘텐츠를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도들이다.
도 7은 본 개시내용의 하나 이상의 양태들에 따른 예시적인 인공 현실 콘솔에 의해 수행되는 동작들을 예시하는 흐름도이다.
도 1b는 본 개시내용의 하나 이상의 양태들에 따른, 객체와의 하나 이상의 상호작용들에 응답하여 인공 현실 콘텐츠를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도이다.
도 1c는 본 개시내용의 하나 이상의 양태들에 따른, 인공 현실 콘텐츠를 제시할 때 사용자 인터페이스 메뉴를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도이다.
도 1d는 본 개시내용의 하나 이상의 양태에 따른, 객체에 관련하여 사용자에 의해 수행된 하나 이상의 행위들에 응답하여 인공 현실 콘텐츠의 적어도 일부 양태들의 제시를 중단하는 예시적인 인공 현실 시스템을 예시하는 개념도이다.
도 2는 본 개시내용의 기법들에 따라 동작하도록 구성된 예시적인 머리-장착 디스플레이를 묘사하는 예시이다.
도 3은 본 개시내용의 하나 이상의 양태들에 따른, 예시적인 콘솔 및 예시적인 HMD의 예시적인 구현들을 도시하는 블록도이다.
도 4는 본 개시내용의 하나 이상의 양태들에 따른, 인공 현실 시스템에 대한 사용자 디바이스의 예를 묘사하는 블록도이다.
도 5a, 도 5b 및 도 5c는 본 개시내용의 하나 이상의 양태들에 따른, 책상과의 상호작용들에 응답하여 인공 현실 콘텐츠를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도이다.
도 6a 및 도 6b는 본 개시내용의 하나 이상의 양태들에 따른, 바닥 공간의 일부와의 상호작용에 응답하여 인공 현실 콘텐츠를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도들이다.
도 7은 본 개시내용의 하나 이상의 양태들에 따른 예시적인 인공 현실 콘솔에 의해 수행되는 동작들을 예시하는 흐름도이다.
도 1a, 도 1b, 도 1c 및 도 1d는 본 개시내용의 하나 이상의 양태들에 따른, 예시적인 인공 현실 시스템에 의해 수행되는 동작들을 예시하는 개념도들의 시퀀스이다. 도 1a, 도 1b 및 도 1c 각각에서, 인공 현실 시스템(100)은 물리적 환경(120) 내에서 또는 물리적 환경 상에서 동작하는 것으로 묘사된다. 물리적 환경(120)은 사용자(101) 및 HMD(112), 윈도우(108), 좌석(110), 및 벽시계(114)를 포함하는 다수의 현실 세계 또는 물리적 객체들을 포함하는 방으로 도시된다. 램프(107) 및 사진(109)과 같은 다른 물리적 객체들은 도 1a의 물리적 환경(120) 내에 포함되지만 물리적 환경(120)으로 구체적으로 예시되지는 않는다. 그러나, 램프(107) 및 사진(109)의 이미지들은 예를 들어 도 1a의 인공 현실 콘텐츠(122A) 내에 예시되어 있다.
인공 현실 시스템(100)은 머리-장착 디스플레이(HMD)(112), 콘솔(106), 하나 이상의 센서들(190), 및 카메라들(192A 및 192B)(총칭하여 "카메라(192)", 임의의 수의 카메라들을 나타냄)을 포함한다. 일부 예들에서, 외부 센서들(190) 및 카메라들(192)이 고정 디바이스들(예를 들어, 벽에 부착됨)일 수 있지만, 다른 예들에서 외부 센서들(190) 및/또는 카메라들(192) 중 하나 이상은 HMD(112) 내에, 사용자 디바이스 내에(도시되지 않음), 또는 임의의 다른 디바이스 또는 시스템 내에 포함될 수 있다. 도 1a, 도 1b, 도 1c 및 도 1d 각각에 도시된 바와 같이, HMD(112)는 일반적으로 사용자(101)에 의해 착용되고 인공 현실 콘텐츠(122A)를 사용자에게 제시하기 위한 전자 디스플레이 및 광학 어셈블리를 포함한다. 또한, HMD(112)는 일부 예들에서, HMD의 모션을 추적하기 위한 하나 이상의 센서들(예를 들어, 가속도계들)을 포함할 수 있고 주변 환경의 이미지 데이터를 캡처하기 위한 하나 이상의 이미지 캡처 디바이스들, 예를 들어 카메라들, 라인 스캐너들 등을 포함할 수 있다.
인공 현실 시스템(100)은 현실-세계 또는 물리적 3차원(3D) 환경으로부터 획득된 정보를 사용하여 HMD(112)에 의한 디스플레이를 위해 인공 현실 콘텐츠를 렌더링함으로써, 사용자(101)에게 콘텐츠를 제시할 수 있다. 도 1a, 도 1b, 도 1c 및 도 1d에서 예시된 예들 각각에서, 사용자(101)는 콘솔(106) 및/또는 HMD(112) 상에서 실행되는 인공 현실 애플리케이션에 의해 구성되고 렌더링된 인공 현실 콘텐츠를 보고/보거나 제시된다. 도 1a의 예에서, 사용자(101)는 인공 현실 콘텐츠(122A)가 제시 및/또는 보여진다. 유사하게, 도 1b에서, 사용자(101)는 인공 현실 콘텐츠(122B)를 보고, 도 1c에서, 사용자(101)는 인공 현실 콘텐츠(122C)를 보고, 도 1d에서, 사용자(101)는 인공 현실 콘텐츠(122D)를 본다. 각각의 경우에, 인공 현실 콘텐츠는 램프(107), 윈도우(108), 및 사진(109)(인공 현실 콘텐츠(122A 및 122D) 참조)을 포함하는 물리적 환경(120) 내의 물리적 객체들의 이미지들을 포함할 수 있거나 다른 상황들에서, 인공 현실 콘텐츠는 물리적 객체들의 이미지들(예를 들어, 인공 현실 콘텐츠(122B 및 122C))가 없거나 거의 포함하지 않는다.
본원에 추가로 설명되는 일부 물리적 객체들은 특수 객체들 또는 "트리거 객체들"일 수 있다. 트리거 객체는 이러한 객체에 대해 소정 상호작용들이 수행될 때, 인공 현실 시스템(100)이 하나 이상의 특정 또는 특수 동작들을 수행하는 객체일 수 있다. 예를 들어, 일부 예들에서, 좌석(110)은 트리거 객체 역할을 할 수 있다. 그러한 예에서, 인공 현실 시스템(100)이, 사용자(101)가 좌석(110)에 앉게 하는 움직임을 사용자(101)가 수행했다고 결정할 때, 인공 현실 시스템(100)은 그 움직임이 트리거 행위로서 자격이 있다고 결정할 수 있다. 다른 예로서, 인공 현실 시스템(110)이, 사용자(101)가 좌석(110)에 앉아 있다고 결정할 때, 인공 현실 시스템(100)은 사용자가 트리거 행위로서 자격이 있는 움직임을 수행했다고 결정할 수 있다. 인공 현실 시스템(100)은, 트리거 행위에 응답하여, 사용자(101)에 의해 착용된 HMD(112) 내의 특정 인공 현실 콘텐츠의 제시를 포함할 수 있는 하나 이상의 특정 동작들을 수행할 수 있다.
도 1a, 도 1b, 도 1c 및 도 1d의 예시들 각각에서, 콘솔(106)은 게임 콘솔, 워크스테이션, 데스크톱 컴퓨터 또는 랩톱과 같은 단일 컴퓨팅 디바이스로서 도시되어 있다. 다른 예들에서, 콘솔(106)은 분산 컴퓨팅 네트워크, 데이터 센터, 또는 클라우드 컴퓨팅 시스템과 같은 복수의 컴퓨팅 디바이스들에 걸쳐 분산될 수 있다. HMD(112), 콘솔(106), 외부 센서들(190), 및 카메라들(192)은 예시된 바와 같이 Wi-Fi, 메시 네트워크 또는 근거리 무선 통신 매체와 같은 유선 또는 무선 네트워크일 수 있는 네트워크(104)를 통해 통신 가능하게 결합될 수 있다. 일부 예들에서, 사용자(101)는 제스처들 또는 다른 행위들을 수행하기 위해 하나 이상의 제어기들(도시되지 않음)을 사용할 수 있다. 그러한 예에서, 그러한 제어기들은 근거리 통신 또는 블루투스와 같은 단거리 무선 통신을 사용하거나, 유선 통신 링크를 사용하거나, 또는 다른 유형의 통신 링크들을 사용하여 HMD(112)와 통신할 수 있다. 비록 HMD(112)가 콘솔(106)과 통신(예를 들어, 테더링) 또는 무선 통신하는 것으로 도 1a, 도 1b, 도 1c 및 도 1d의 각각에서 도시되지만, 일부 구현들에서 HMD(112)는 독립형 모바일 인공 현실 시스템으로서 동작한다. 이와 같이, 본 개시내용에서 콘솔(106)에 기인한 일부 또는 모든 기능은 HMD(112)의 하나 이상의 인스턴스들과 같은 하나 이상의 사용자 디바이스들 사이에 분산될 수 있다.
일부 예들에서, 콘솔(106) 및/또는 HMD(112) 상에서 실행되는 인공 현실 애플리케이션은 사용자(101)에 대한 현재 보기 관점에 기반하여 사용자(101)에게 인공 현실 콘텐츠를 제시한다. 즉, 예를 들어 도 1a에서, 인공 현실 애플리케이션은 HMD(112)에 대한 참조 프레임에 대한 포즈 정보를 추적 및 계산함으로써 인공 콘텐츠를 구성하고, HMD들(112)(또는 다른 사용자 디바이스)의 대응하는 참조 프레임에 대한 업데이트된 포즈 정보를 계산하는 데 사용하기 위해, 사용자(101)에 의한 모션 및/또는 사용자(101) 및 하나 이상의 물리적 객체들에 관련한 추적 정보 같은 현실-세계 물리적 3D 환경(120) 내의 3D 정보를 캡처하기 위해 HMD(112), 외부 센서들(190) 및/또는 카메라들(192)로부터 수신된 데이터를 사용한다. 일 예로서, 인공 현실 애플리케이션은 HMD(112)에 대해 결정된 현재 시청 관점에 기반하여, 일부 경우들에서 물리적 또는 현실-세계객체들(예를 들어, 윈도우(108))의 이미지들에 오버레이된 인공 현실 콘텐츠를 갖는 인공 현실 콘텐츠(122A)를 포함하는 인공 현실 환경을 렌더링할 수 있다. 또한, HMD(112)의 관점에서, 인공 현실 시스템(100)은 사용자(101) 및 다른 물리적 객체들에 대한 추정된 포지션들 및 포즈들에 기반하여 인공 현실 콘텐츠를 렌더링한다.
도 1a의 예에서, 본 개시내용의 하나 이상의 양태들에 따르면, 인공 현실 시스템(100)은 HMD(112) 내의 콘텐츠(122A)를 포함하는 인공 현실 환경을 제시할 수 있다. 예를 들어, 도 1a를 참조하여 설명될 수 있는 예에서, HMD(112), 외부 센서들(190), 및/또는 카메라들(192)은 물리적 환경(120) 내에서 이미지들을 캡처한다. HMD(112)는 사용자(101)의 현재 포즈에 관한 정보를 검출한다. 콘솔(106)은 이러한 이미지들 및 사용자(101)의 현재 포즈에 관한 정보를 수신하고 사용자(101) 및 좌석(110)을 포함하는 물리적 환경(120) 내의 물리적 객체들의 포지션을 결정한다. 콘솔(106)은 물리적 환경(120) 내의 물리적 객체들의 포지션 및 포즈 정보에 기반하여, 사용자(101)가 좌석(110) 근처의 물리적 환경(120) 내에 서 있다고 결정한다. 포지션 정보 및 포즈 정보에 기반하여, 콘솔(106)은 인공 현실 콘텐츠(122A)를 생성한다. 콘솔(106)은 HMD(112)가 도 1a에 도시된 방식으로 HMD(112) 내의 사용자(101)에게 인공 현실 콘텐츠(122A)를 제시하게 한다.
인공 현실 시스템(100)은 사용자(101)가 트리거 행위를 수행했음을 검출하고, 응답하여 인공 현실 콘텐츠(122B)를 제시할 수 있다. 예를 들어, 예를 계속하고 이제 도 1b를 참조하여, HMD(112), 외부 센서들(190), 및/또는 카메라들(192)은 물리적 환경(120) 내의 이미지들을 캡처하고, HMD(112)는 사용자(101)의 현재 포즈에 관한 정보를 캡처한다. 콘솔(106)은 이미지 및 포즈 정보를 수신하고 사용자(101)가 도 1b에 예시된 바와 같이 좌석(110)에 앉도록 사용자(101)가 이동했다고 결정한다. 콘솔(106)은 사용자(101)에 의한 움직임이 트리거 행위에 대응한다고 결정한다. 트리거 행위에 응답하여, 콘솔(106)은 인공 현실 콘텐츠(122B)를 생성한다. 콘솔(106)은 HMD(112)가 도 1b에 도시된 방식으로 HMD(112) 내의 사용자(101)에게 인공 현실 콘텐츠(122B)를 제시하게 한다.
도 1b에서, 인공 현실 콘텐츠(122B)는 인공 현실 운전 게임 또는 인공 현실 운전 경험을 위해 제시될 수 있는 운전 장면에 대응하는 콘텐츠를 포함한다. 인공 현실 콘텐츠(122B)는 가상 대시보드(141) 및 가상 스티어링 휠(142)을 포함하고, 이는 인공 현실 차 내에 포함된 객체들에 대응할 수 있다. 가상 도로(143)를 따라 운전하고 있는 그러한 인공 현실 차로부터의 뷰는 인공 현실 콘텐츠(122B) 내에 예시된다. 일부 예들에서, 가상 스티어링 휠(142)(또는 인공 현실 콘텐츠(122B)의 다른 양태들)은 사용자(101)에 의해 또는 사용자(101) 근처에 소유된 물리적 객체에 대응할 수 있지만, 다른 예들에서, 가상 스티어링 휠(142)은 단순히 가상 스티어링 휠(142)일 수 있다.
인공 현실 콘텐츠(122B)는 사용자(101)가 인공 현실 시스템(100)에 앉을 때마다, 인공 현실 콘텐츠(122B)에 대응하는 게임 또는 다른 인공 현실 애플리케이션이 제시될 수 있음을 나타내는 사전 구성에 기반하여 인공 현실 시스템(100)에 의해 선택될 수 있다. 그러한 예에서, 좌석(110)에 앉는 것은 일관되고 알려진 결과를 가질 수 있고, 사용자(101)는 단순히 좌석(110)에 앉음으로써 인공 현실 콘텐츠(122B)와 연관된 인공 현실 경험을 개시할 수 있다. 다른 예들에서, 좌석(110)은 가상 영화관, 가상 사파리, 또는 가상 세계와 같은 다른 유형의 경험을 개시할 수 있거나, 통신 또는 화상 회의 세션과 같은 애플리케이션을 개시할 수 있다. 일부 예들에서, 좌석(110)에 앉는 것은 사용자(101)가 호출 또는 화상 통화에 답변하고 원격 회의 또는 화상 회의에 입장하거나 개시하게 하거나 가능하게 할 수 있다. 일부 예들에서, 인공 현실 콘텐츠(122)에 의해 제시되는 경험은 사용자(101)에 의해 유지되는 캘린더로부터의 정보(사용자 캘린더 상의 약속에 기반한 원격 회의 세션, 또는 사용자(101)에 의해 축하받는 휴일 동안, 적절한 장식들이 인공 현실 콘텐츠(122B)에 포함될 수 있음)와 같은 사용자(101)에 관한 컨텍스트 정보에 기반할 수 있다. 다른 예들에서, 인공 현실 콘텐츠(122B)는 사용자(101)에 의한 이전 활동에 기반할 수 있다(매일 아침, 사용자(101)는 친척에게 전화를 걸거나, 특정 인공 현실 환경에서 독서를 하며 시간을 보내거나, 주말에 사용자(101)가 종종 좋아하는 부모님의 집을 방문하거나, 옛 추억을 회상함) 사용자를 식별하기 위해, HMD(112)는 생체인증 정보 및/또는 사용자(101)로부터의 입력(예를 들어, 사용자이름 또는 비밀번호)을 사용할 수 있다.
제시되는 인공 현실 경험은 또한 트리거 행위가 수행되는 방법에 기반하여 상이할 수 있다. 예를 들어, 일부 예들에서 좌석(110)에 앉는 것은 하나의 유형의 인공 현실 경험을 개시할 수 있는 반면 좌석(110)에 서 있는 동안, 다른 유형을 개시할 수 있다. 다른 예에서, 인공 현실 경험은 생체인증 정보에 기반하여 결정될 수 있는 것과 같이 사용자(101)의 상태에 기반하여 제시될 수 있다. 예를 들어, 하나의 그러한 예에서, HMD(112)가 사용자(101)가 스트레스의 징후들을 나타낸다고 결정할 때 차분한 인공 현실 경험(예를 들어, 어린시절의 집 방문)이 사용자(101)에게 제시될 수 있다. 또한, 인공 현실 콘텐츠(122B)는 도 6과 관련하여 추가로 설명되는 바와 같이 사용자(101)의 손에 소유되거나 보유되는 하나 이상의 객체들(예를 들어, 조이스틱 또는 스티어링 휠)에 기반하여 선택될 수 있다.
인공 현실 시스템(100)은 사용자 인터페이스와의 상호작용에 응답하여 동작들을 수행할 수 있다. 예를 들어, 여전히 도 1c를 참조하여 동일한 예를 계속하여, HMD(112)는 사용자(101)에 의해 수행된 움직임 및/또는 제스처들을 검출한다. 콘솔(106)은 움직임들 및/또는 제스처들에 관한 정보를 수신하고 이들이 사용자 인터페이스를 제시하라는 요청에 대응한다고 결정한다. 콘솔(106)은 사용자 인터페이스 메뉴(124)를 포함하는 인공 현실 콘텐츠(122C)를 생성한다. 콘솔(106)은 HMD(112)가 도 1c에 도시된 방식으로 HMD(112) 내의 사용자(101)에게 인공 현실 콘텐츠(122C)를 제시하게 한다. 콘솔(106)은 사용자(101)가 사용자 인터페이스 메뉴(124)의 하나 이상의 사용자 인터페이스 요소들(126)과 상호작용하는 움직임들을 수행했다는 표시를 수신할 수 있다. 콘솔(106)은 이러한 움직임들을 동작들을 수행하기 위한 커맨드들로 해석할 수 있다. 응답하여, 콘솔(106)은 HMD(112) 내에 제시된 콘텐츠를 변경하거나 인공 현실 콘텐츠(122B) 및 인공 현실 콘텐츠(122C) 내에 제시된 콘텐츠에 대응하는 게임에 대한 구성 옵션들을 변경하는 것과 같은 인공 현실 콘텐츠(122C)에 대한 수정들을 포함할 수 있는 이러한 커맨드들을 수행하기 위한 동작들을 수행할 수 있다.
인공 현실 시스템(100)은 사용자(101)가 트리거해제 행위를 수행했다고 결정할 수 있고, 응답하여 인공 현실 콘텐츠(122C)의 제시를 중단할 수 있다. 예를 들어, 여전히 설명되는 예를 계속하고 이제 도 1c 및 도 1d를 참조하여, HMD(112), 외부 센서들(190), 및/또는 카메라들(192)은 이미지들 및 포즈 정보를 캡처한다. 콘솔(106)은 이미지 및 포즈 정보를 수신하고 도 1d에 예시된 바와 같이 사용자(101)가 좌석(110) 근처에 서 있고 더 이상 좌석(110)에 앉아 있지 않다고 결정한다. 콘솔(106)은 사용자(101)에 의한 움직임이 트리거해제 행위에 대응한다고 결정한다. 트리거해제 행위의 검출에 응답하여, 콘솔(106)은 인공 현실 콘텐츠(122D)를 생성한다. 설명되는 예에서, 트리거해제 행위는 일부 양태들에서, 트리거 행위의 반대일 수 있다(즉, 의자에 앉았다가 서 있는 것은 의자에 앉는 것과 반대되는 것으로 간주될 수 있음). 콘솔(106)은 HMD(112)가 도 1d에 도시된 방식으로 HMD(112) 내의 사용자(101)에게 인공 현실 콘텐츠(122D)를 제시하게 한다.
도 1d에서, 인공 현실 콘텐츠(122D)는 도 1a의 인공 현실 콘텐츠(122A)에 제시된 것과 유사한 콘텐츠를 포함한다. 구체적으로, 인공 현실 콘텐츠(122D)는 램프(107), 윈도우(108), 및 사진(109)을 포함하고, 이들 각각은 물리적 환경(120)으로부터 물리적 객체들의 이미지로서 제시된다. 그러므로, 일어설 때, 사용자(101)는 도 1a의 인공 현실 콘텐츠(122A)와 매우 유사한 인공 현실 콘텐츠(122D)를 제시받는다. 따라서, 도 1a 내지 도 1d에 예시된 예에서, 사용자(101)가 좌석(110)에 앉은 후(즉, 트리거 행위를 수행함) 좌석(110)에 앉았다가 일어서는(즉, 트리거해제 행위를 수행함) 것의 효과는 좌석(110)에 앉은 것이 모드 변경을 활성화하여, 인공 현실 콘텐츠가 제시되게 한다. 그러나, 좌석(110)에 앉은 후 일어서는 것은 또한 그 인공 현실 콘텐츠의 제시를 중단(또는 일시 정지, 정지, 보류 또는 종료)하게 하는 것과 같은 모드 변경을 야기한다.
그러므로, 설명된 예에서, 사용자(101)는 좌석(110)을 사용하여 단순히 좌석(110)에 앉음으로써 알려진 인공 현실 경험의 제시를 자동으로 트리거할 수 있다. 좌석(110)에 앉는 것은 인공 현실 경험을 개시하기 위한 효과적이고, 직관적이며, 마찰이 없고 자연스러운 방식일 수 있고, 사용자(101)는 다양한 물리적 객체들(즉, 트리거 객체들)을 그러한 객체들에 대한 행위를 수행함으로써 트리거되는 다양한 인공 현실 경험들과 연관시킬 수 있다.
또한, 설명된 예에서, 인공 현실 콘텐츠(122C)(도 1c)가 제시된 후, 사용자(101)는 또한 단순히 좌석(110)에 앉았다가 일어남으로써 해당 인공 현실 경험을 탈출, 중단, 일시중지 또는 달리 종료할 수 있다. 이것은 또한 인공 현실 경험을 종료하는 효과적이고, 직관적이며, 마찰이 없고 자연스러운 방식일 수 있고, 일부 예들에서 인공 현실 콘텐츠가 거의 제시되지 않거나 제시되지 않는 많은 현실-기반 또는 상이한 경험으로 전환하는 알려진 방법을 사용자(101)에게 제공한다.
그러한 예들에서, 서 있는(또는 달리 "트리거해제" 행위를 수행하는) 것은 사용자(101)를 몰입형 또는 집중적인 인공 현실 경험을 포함하지 않는 "안전한" 상태로 전환할 수 있다. 이러한 안전한 상태는 유휴 인공 현실 콘텐츠가 제시되는 "유휴" 상태로 간주될 수 있고, 이는 인공 현실 콘텐츠가 거의 또는 전혀 없는 물리적 세계의 이미지들을 주로 포함할 수 있다. 그러나, 다른 예들에서, 이러한 "유휴" 상태는 물리적 요소들 또는 몰입형 인공 현실 경험에 오버레이된 실질적인 인공 현실 콘텐츠를 포함할 수 있다.
도 2는 본 개시내용의 기법들에 따라 동작하도록 구성된 예시적인 HMD(112)를 묘사하는 예시이다. 도 2의 HMD(112)는 도 1a, 도 1b, 도 1c 및/또는 도 1d의 임의의 HMD(112)의 예일 수 있다. HMD(112)는 인공 현실 시스템(100)과 같은 인공 현실 시스템의 일부일 수 있거나, 본원에 설명된 기법들을 구현하도록 구성된 독립형 모바일 인공 현실 시스템으로서 동작할 수 있다. HMD(112)는 HMD(112)의 본체에서 착탈가능한 모바일 디바이스(예를 들어, 스마트 폰)를 포함할 수 있다.
도 2의 예에서, HMD(112)는 전면 강성체 및 HMD(112)를 사용자에게 고정하기 위한 밴드를 포함한다. 또한, HMD(112)는 인공 현실 콘텐츠를 사용자에게 제시하도록 구성된 내부-지향 전자 디스플레이(203)를 포함한다. 전자 디스플레이(203)는 액정 디스플레이들(LCD), 양자점 디스플레이, 도트 매트릭스 디스플레이, 발광 다이오드(LED) 디스플레이들, 유기 발광 다이오드(OLED) 디스플레이들, 음극선관(CRT) 디스플레이들, 전자-잉크, 또는 흑백, 컬러 또는 시각적 출력을 생성할 수 있는 임의의 다른 유형의 디스플레이 같은 임의의 적합한 디스플레이 기술일 수 있다. 일부 예들에서, 전자 디스플레이는 사용자의 각각의 눈에 별도의 이미지들을 제공하기 위한 입체 디스플레이이다. 일부 예들에서, HMD(112)의 전면 강성체에 관련한 디스플레이(203)의 알려진 배향 및 포지션은 HMD(112) 및 사용자의 현재 보기 관점에 따라 인공 현실 콘텐츠를 렌더링하기 위해 HMD(112)의 포지션 및 배향을 추적할 때, 로컬 원점으로 또한 지칭되는 참조 프레임으로 사용된다.
도 2의 예에서, HMD(112)는 HMD(112)의 현재 가속도를 나타내는 데이터를 출력하는 하나 이상의 가속도계들(또한 관성 측정 유닛들 또는 "IMU들"로 지칭됨), HMD(112)의 위치를 나타내는 데이터를 출력하는 GPS 센서들, 다양한 객체들로부터 HMD(112)의 거리들을 나타내는 데이터를 출력하는 레이더 또는 소나 센서들, 또는 물리적 3D 환경 내에서 HMD(112) 또는 다른 객체들의 위치 또는 배향의 표시들을 제공하는 다른 센서들과 같은 하나 이상의 센서들(206)을 더 포함한다. 또한, HMD(112)는 주변 현실-세계 환경을 나타내는 오디오 또는 이미지 데이터를 출력하도록 구성된 마이크로폰, 오디오 센서, 비디오 카메라, 레이저 스캐너, 도플러 레이더 스캐너, 깊이 스캐너 등과 같은 하나 이상의 통합 센서 디바이스들(208)을 포함할 수 있다. HMD(112)는 내부 전원 및 감지 데이터를 프로세싱하고 인공-현실 콘텐츠를 디스플레이(203)에 제시하기 위한 프로그래밍가능 동작들을 실행하기 위한 운영 환경을 제공하기 위해 하나 이상의 프로세서들, 메모리 및 하드웨어를 갖는 하나 이상의 인쇄-회로 기판들을 포함할 수 있는 내부 제어 유닛(210)을 포함한다. 내부 제어 유닛(210)은 스마트 폰과 같은 착탈식 컴퓨팅 디바이스의 일부일 수 있다.
특정 구성 및 구조를 갖는 것이 도 2에 예시되지만, HMD(112)는 다수의 형태들 중 임의의 것을 취할 수 있다. 예를 들어, 일부 구현들에서, HMD(112)는 안경과 유사할 수 있거나 상이한 형태를 가질 수 있다. 또한, HMD(112)가 물리적 콘텐츠의 표현들 또는 이미지들을 제시하기 위한 디스플레이(203)로 구성될 수 있지만, 다른 예들에서, HMD(112)는 투명하거나 부분적으로 투명한 뷰잉 렌즈를 포함할 수 있어, 시-스루 인공 현실(즉, "STAR")을 가능하게 한다. 또한, HMD는 도파관들 또는 다른 STAR 기술들에 기반한 특징들을 구현할 수 있다.
본원에 설명된 기법들에 따르면, 제어 유닛(210)은 하나 이상의 트리거 객체들을 포함할 수 있는 물리적 환경의 컨텍스트 내에서 콘텐츠를 제시하도록 구성된다. 예를 들어, HMD(112)는 모션 센서들(206)에 의해 생성된 감지 데이터 및/또는 센서 디바이스들(208)에 의해 캡처된 오디오 및 이미지 데이터에 기반하여, HMD(112)의 참조 프레임에 대한 현재 포즈를 계산할 수 있다. 제어 유닛(210)은 현재 포즈를 계산하기 위해 감지된 데이터 및/또는 이미지들을 프로세싱하기 위한 소프트웨어를 실행할 수 있는 포즈 추적 유닛을 포함할 수 있다. 제어 유닛(210)은 물리적 환경에 대한 마스터 3D 맵을 저장하고 프로세싱된 이미지들을 마스터 3D 맵과 비교하여 현재 포즈를 계산할 수 있다. 대안적으로, 또는 추가적으로, 제어 유닛(210)은 센서들(206)에 의해 생성된 센서 데이터에 기반하여 현재 포즈를 계산할 수 있다. 계산된 현재 포즈에 기반하여, 제어 유닛(210)은 인공 현실 애플리케이션을 위한 마스터 3D 맵에 대응하는 인공 현실 콘텐츠를 렌더링할 수 있고, 제어 유닛(210)은 전자 디스플레이(203)를 통해 인공 현실 콘텐츠를 디스플레이할 수 있다.
다른 예로서, 제어 유닛(210)은 HMD(112)가 동작하고 있는 물리적 3D 환경에 대한 매핑 정보를 생성하고 매핑 정보를 유선 또는 무선 통신 세션(들)을 통해 콘솔 또는 하나 이상의 다른 컴퓨팅 디바이스들(이를테면 하나 이상의 다른 HMD들)로 전송할 수 있다. 이러한 방식으로, HMD(112)는 물리적 3D 환경에 대한 마스터 3D 맵의 협업 생성을 위한 매핑 정보에 기여할 수 있다. 매핑 정보는 예를 들어 센서 디바이스들(208)에 의해 캡처된 이미지들, 계산된 로컬 포즈들의 표시들 형태의 추적 정보, 또는 물리적 3D 환경 내에서 HMD(112)의 위치 또는 배향 표시들을 제공하는 추적 정보(예를 들어, 센서(206)들에 의해 생성된 센서 데이터 같은)를 포함할 수 있다.
일부 예들에서, 본원에 설명된 기법들에 따르면, 제어 유닛(210)은 HMD(112)에 대한 하나 이상의 제어기들(제어기들은 도 2에 도시되지 않음)과 피어링(peer)할 수 있다. 제어 유닛(210)은 물리적 3D 환경 내에서 또는 HMD(112)에 관련한 사용자 입력들 또는 제어기 배향들 또는 위치들의 표시들을 제공하는 제어기들로부터의 센서 데이터를 수신할 수 있다. 제어 유닛(210)은 인공 현실 애플리케이션에 의한 프로세싱을 위해 센서 데이터의 표현들을 콘솔로 전송할 수 있고, 여기서 표시들은 인공 현실 애플리케이션에 대한 이벤트 데이터일 수 있다. 제어 유닛(210)은 인공 현실 애플리케이션을 실행하여 센서 데이터를 프로세싱할 수 있다.
도 3은 본 개시내용의 하나 이상의 양태들에 따른, 예시적인 콘솔 및 예시적인 HMD의 예시적인 구현들을 도시하는 블록도이다. 비록 도 3에 예시된 블록도가 HMD(112)를 참조하여 설명되지만, 다른 예들에서, HMD(112)에 기인한 기능들 및/또는 동작들은 도 1a와 관련하여 참조되는 사용자 디바이스와 같은 상이한 디바이스 또는 시스템에 의해 수행될 수 있다.
도 3의 예에서, HMD(112)는 하나 이상의 프로세서들(302) 및 메모리(304)를 포함하고, 이는 일부 예들에서, 임베디드 및 거의(또는 겉보기에 가까운) 실시간 멀티태스킹 운영 체제일 수 있는 운영 체제(305)를 실행하기 위한 컴퓨터 플랫폼을 제공한다. 차례로, 운영 체제(305)는 하나 이상의 소프트웨어 구성요소들(307)을 실행하기 위한 멀티태스킹 운영 환경을 제공한다. 프로세서들(302)은 전자 디스플레이(203)에 결합된다(도 2 참조). HMD(112)는 프로세서(302)에 결합된 모션 센서들(206) 및 센서 디바이스들(208)을 포함하는 것으로 도시되지만, 다른 예들에서 HMD(112)는 모션 센서(206) 및/또는 센서 디바이스들(208)의 어느 것도 또는 단지 어느 하나를 포함할 수 있다. 일부 예들에서, 프로세서들(302) 및 메모리(304)는 별개의 이산 구성요소들일 수 있다. 다른 예들에서, 메모리(304)는 단일 집적 회로 내에서 프로세서들(302)과 함께 배치된 온-칩 메모리일 수 있다. 메모리(304), 프로세서들(302), 운영 체제(305), 및 애플리케이션 엔진(340) 구성요소들은 집합적으로 도 2의 내부 제어 유닛(210)의 예를 나타낼 수 있다.
HMD(112)는 전자 디스플레이(203)의 터치스크린 또는 다른 존재-감지 스크린 예, 마이크로폰, 제어기들, 버튼들, 키보드 등 같은 사용자 입력 디바이스들을 포함할 수 있다. 애플리케이션 엔진(340)은 전자 디스플레이(203)를 통해 로그인 인터페이스를 생성 및 제시할 수 있다. HMD(112)의 사용자는 로그인 인터페이스를 사용하여, 사용자에 대한 로그인 정보를 입력하기 위한 사용자 인터페이스 디바이스들을 사용할 수 있다. HMD(112)는 사용자를 인공 현실 시스템에 로그하기 위해 로그인 정보를 콘솔(106)에 전송할 수 있다.
운영 체제(305)는 임의의 유형의 적절한 모듈로서 구현될 수 있는 애플리케이션 엔진(306)을 포함하는 하나 이상의 소프트웨어 구성요소들을 실행하기 위한 운영 환경을 제공한다. 애플리케이션 엔진(306)은 하나 이상의 프로세스들을 갖는 인공 현실 애플리케이션일 수 있다. 애플리케이션 엔진(306)은 모션 센서들(206)에 의해 생성된 센서 데이터 또는 센서 디바이스들(208)에 의해 생성된 이미지들의 표현들을 I/O 인터페이스(도 3에 도시되지 않음)를 사용하여 네트워크 또는 다른 통신 링크를 통해 매핑 정보로서 콘솔(106)에 전송할 수 있다. 인공 현실 애플리케이션은 예를 들어, 원격 회의 애플리케이션, 게이밍 애플리케이션, 내비게이션 애플리케이션, 교육 애플리케이션, 또는 훈련 또는 시뮬레이션 애플리케이션일 수 있다.
콘솔(106)은 인공 현실 시스템의 사용자 디바이스들(예를 들어, HMD들(112))과 인터페이싱할 수 있는 임의의 적합한 컴퓨팅 시스템에 의해 구현될 수 있다. 일부 예들에서, 콘솔(106)은 물리적 환경(120) 내에 있을 수 있는 콘텐츠를 증강하거나, 트리거 객체에 관련하여 특정 위치에서 수행된 행위 또는 제스처에 의해 트리거된 인공 현실 콘텐츠를 제시하기 위해 HMD들(112)과 인터페이스한다. 일부 예들에서, 콘솔(106)은, 하나 이상의 HMD들(112), 외부 센서들(190), 및/또는 카메라들(192)로부터 수신된 매핑 정보에 적어도 기반하여, 사용자들, 물리적 디바이스들, 및 다른 물리적 객체들이 위치된 물리적 3D 환경의 마스터 3D 맵을 생성한다. 일부 예들에서, 콘솔(106)은 워크스테이션, 데스크톱 컴퓨터, 랩톱과 같은 단일 컴퓨팅 디바이스이다. 일부 예들에서, 프로세서들(352) 및/또는 메모리(354)와 같은 콘솔(106)의 적어도 일부는 컴퓨팅 시스템들, 서버들, 및 컴퓨팅 디바이스들 사이에서 데이터를 송신하기 위해, 하나 이상의 컴퓨팅 디바이스들, 클라우드 컴퓨팅 시스템, 데이터 센터에 걸쳐, 또는 인터넷, 다른 공용 또는 사설 통신 네트워크, 예를 들어, 광대역, 셀룰러, Wi-Fi, 및/또는 다른 유형들의 통신 네트워크들 같은 네트워크에 걸쳐 분산될 수 있다.
도 3의 예에서, 콘솔(106)은 운영 체제(316)를 실행하기 위한 컴퓨터 플랫폼을 제공하는 하나 이상의 프로세서들(312) 및 메모리(314)를 포함한다. 차례로, 운영 체제(316)는 하나 이상의 소프트웨어 구성요소들(317)을 실행하기 위한 운영 환경을 제공한다. 프로세서들(312)은 키보드, 게임 제어기들, 디스플레이 디바이스들, 이미지 캡처 디바이스들 등과 같은 외부 디바이스들과 통신하기 위한 하나 이상의 I/O 인터페이스들을 제공하는 I/O 인터페이스(315)에 결합된다. 또한, I/O 인터페이스(315)는 네트워크(104)와 같은 네트워크와 통신하기 위한 하나 이상의 유선 또는 무선 네트워크 인터페이스 카드(NIC)들을 포함할 수 있다(예를 들어, 도 1a를 참조). 프로세서들(302, 312) 각각은 멀티-코어 프로세서, 제어기, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드-프로그램 가능 게이트 어레이(FPGA), 또는 동등한 이산 또는 집적 논리 회로 중 임의의 하나 이상을 포함할 수 있다. 메모리(304, 314)는 RAM(random-access memory), ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electronically erasable programmable read-only memory), 및/또는 플래시 메모리 같은 데이터 및 실행가능 소프트웨어 명령들을 저장하기 위한 임의의 형태의 메모리를 포함할 수 있다. 콘솔(106)의 소프트웨어 구성요소들(317)은 전체 인공 현실 애플리케이션을 제공하도록 동작한다. 도 3의 예에서, 소프트웨어 구성요소들(317)은 본원에서 설명된 바와 같이, 애플리케이션 엔진(320), 렌더링 엔진(322), 포즈 추적기(326), 매핑 엔진(328), 및 사용자 인터페이스 엔진(329)을 포함하는 모듈들에 의해 표현된다.
애플리케이션 엔진(320)은 인공 현실 애플리케이션, 예를 들어 원격회의 애플리케이션, 게이밍 애플리케이션, 내비게이션 애플리케이션, 교육 애플리케이션, 훈련 또는 시뮬레이션 애플리케이션들 등을 제공하고 제시하는 기능을 포함한다. 애플리케이션 엔진(320) 및 애플리케이션 엔진(340)은 일부 예들에서 인공 현실 애플리케이션을 협력적으로 제공하고 제시할 수 있다. 애플리케이션 엔진(320)은 예를 들어 콘솔(106) 상에서 인공 현실 애플리케이션을 구현하기 위한 하나 이상의 소프트웨어 패키지들, 소프트웨어 라이브러리들, 하드웨어 드라이버들, 및/또는 애플리케이션 프로그램 인터페이스(API)들을 포함할 수 있다. 애플리케이션 엔진(320)에 의한 제어에 응답하여, 렌더링 엔진(322)은 HMD(112)의 애플리케이션 엔진(340)에 의해 사용자에게 디스플레이하기 위한 3D 인공 현실 콘텐츠를 생성한다.
렌더링 엔진(322)은 포즈 추적기(326)에 의해 결정된 바와 같이, 참조 프레임, 일반적으로 HMD(112)의 보기 관점에 대한 현재 포즈 정보에 따라 사용자(101)에게 디스플레이하기 위한 애플리케이션(320)에 의해 구성된 인공 콘텐츠를 렌더링한다. 현재 보기 관점에 기반하여, 렌더링 엔진(322)은 HMD(112)가 위치된 물리적 3D 환경에 적어도 부분적으로 오버레이될 수 있는 3D 인공 현실 콘텐츠를 구성한다. 이 프로세스 동안, 포즈 추적기(326)는 움직임 정보 및 사용자 커맨드들과 같은 HMD(112)로부터 수신된 감지 데이터, 및 일부 예들에서 외부 센서들(190) 및/또는 카메라들(192)(도 1a, 도 1b 및 도 1c에 도시된 바와 같이)로부터의 데이터에 대해 동작하여 HMD(112), HMD의 사용자, 제어기에 의한 모션, 및/또는 사용자에 관련한 특징 추적 정보와 같은 물리적 3D 환경 내의 3D 정보를 캡처할 수 있다.
포즈 추적기(326)는 물리적 환경 내에서 사용자의 포즈와 관련된 정보를 결정한다. 예를 들어, 콘솔(106)은 HMD(112)로부터 매핑 정보를 수신할 수 있고, 매핑 엔진(328)은 시간에 따라 HMD(112)가 동작하고 있는 영역에 대한 맵을 점진적으로 생성할 수 있고, HMD(112)는 그 영역 주위를 이동한다. 포즈 추적기(326)는 전술한 방법들 중 임의의 것을 사용하여 HMD(112)를 영역에 대한 맵에 로컬라이징(localize)할 수 있다. 포즈 추적기(326)는 또한 HMD(112)를 다른 사용자 디바이스들로부터의 매핑 정보를 사용하여 생성된 다른 맵들에 로컬라이징하려고 시도할 수 있다. 일부 포인트에서, 포즈 추적기(326)는 HMD(112)가 상이한 사용자 디바이스로부터 수신된 매핑 정보를 사용하여 생성된 맵에 의해 설명되는 물리적 3D 환경의 영역에 있도록 로컬 포즈를 계산할 수 있다. 계산된 로컬 포즈에 위치되고 배향된 HMD(112)로부터 수신된 매핑 정보를 사용하여, 매핑 엔진(328)은 HMD(112)에 대한 매핑 정보를 사용하여 생성된 영역에 대한 맵을 상이한 사용자 디바이스가 루프를 폐쇄하고 마스터 3D 맵에 대한 조합된 맵을 생성하도록 매핑 정보를 사용하여 생성된 영역에 대한 맵에 합칠 수 있다. 매핑 엔진(328)은 맵 데이터(330)와 같은 정보를 저장한다. 외부 센서들(190), 카메라들(192), HMD(112), 또는 다른 소스들에 의해 수집된 감지 데이터에 기반하여, 포즈 추적기(326)는 HMD(112)의 참조 프레임에 대한 현재 포즈를 결정하고, 현재 포즈에 따라 인공 현실 콘텐츠의 생성을 위해 이러한 정보를 애플리케이션 엔진(320)에 제공한다. 이어서, 인공 현실 콘텐츠는 전자 디스플레이(203)를 통해 사용자에게 디스플레이하기 위해 HMD(112)로 통신될 수 있다.
매핑 엔진(328)은 사용자 디바이스로부터 수신된 매핑 정보를 사용하여 물리적 3D 환경의 맵들을 생성하도록 구성될 수 있다. 매핑 엔진(328)은 예를 들어 HMD(112)의 로컬 포즈들에서 센서 디바이스들(208)에 의해 캡처된 이미지들의 형태로 매핑 정보 및/또는 HMD(112)에 대한 추적 정보를 수신할 수 있다. 매핑 엔진(328)은 이미지들에서 장면의 토폴로지들을 결정하기 위한 맵 포인트들을 식별하기 위해 이미지들을 프로세싱하고 HMD(112)가 동작하고 있는 물리적 3D 환경의 영역을 설명하는 맵 데이터를 생성하기 위해 맵 포인트들을 사용한다. 맵 데이터(330)는 매핑 정보를 사용하여 매핑 엔진(328)에 의해 결정된 바와 같이, 현재 최상의 맵을 나타내는 물리적 3D 환경의 적어도 하나의 마스터 3D 맵을 포함할 수 있다.
매핑 엔진(328)은 물리적 3D 환경의 상이한 영역들에서 동작하는 다수의 상이한 사용자 디바이스들로부터 이미지들을 수신하고 상이한 영역들에 대한 상이한 맵들을 생성할 수 있다. 상이한 맵들은 일부 경우들에서, 물리적 3D 환경의 동일한 영역들 중 임의의 영역을 설명하기 위해 오버랩되지 않는다는 점에서 분리될 수 있다. 그러나, 그럼에도 불구하고 상이한 맵들은 전체 물리적 3D 환경에 대한 마스터 3D 맵의 상이한 영역들일 수 있다.
포즈 추적기(326)는 물리적 환경 내에서 사용자의 포즈와 관련된 정보를 결정한다. 예를 들어, 콘솔(106)은 HMD(112)로부터 매핑 정보를 수신할 수 있고, 매핑 엔진(328)은 시간에 따라 HMD(112)가 동작하고 있는 영역에 대한 맵을 점진적으로 생성할 수 있고, HMD(112)는 그 영역 주위를 이동한다. 포즈 추적기(326)는 전술한 방법들 중 임의의 것을 사용하여 HMD(112)를 영역에 대한 맵에 로컬라이징(localize)할 수 있다. 포즈 추적기(326)는 또한 HMD(112)를 다른 사용자 디바이스들로부터의 매핑 정보를 사용하여 생성된 다른 맵들에 로컬라이징하려고 시도할 수 있다. 일부 포인트에서, 포즈 추적기(326)는 HMD(112)가 상이한 사용자 디바이스로부터 수신된 매핑 정보를 사용하여 생성된 맵에 의해 설명되는 물리적 3D 환경의 영역에 있도록 로컬 포즈를 계산할 수 있다. 계산된 로컬 포즈에 위치되고 배향된 HMD(112)로부터 수신된 매핑 정보를 사용하여, 매핑 엔진(328)은 HMD(112)에 대한 매핑 정보를 사용하여 생성된 영역에 대한 맵을 상이한 사용자 디바이스가 루프를 폐쇄하고 마스터 3D 맵에 대한 조합된 맵을 생성하도록 매핑 정보를 사용하여 생성된 영역에 대한 맵에 합칠 수 있다. 매핑 엔진(328)은 해당 맵들을 맵 데이터(330)로서 저장한다. 외부 센서들(190), 카메라들(192), HMD(112), 또는 다른 소스들에 의해 수집된 감지 데이터에 기반하여, 포즈 추적기(326)는 HMD(112)의 참조 프레임에 대한 현재 포즈를 결정하고, 현재 포즈에 따라 인공 현실 콘텐츠의 생성을 위해 이러한 정보를 애플리케이션 엔진(320)에 제공한다. 이어서, 인공 현실 콘텐츠는 전자 디스플레이(203)를 통해 사용자에게 디스플레이하기 위해 HMD(112)로 통신될 수 있다.
매핑 엔진(328)은 맵 데이터(330)에 포함될 수 있는 마스터 3D 맵을 업데이트하기 위해 HMD(112)로부터 수신된 매핑 정보를 사용할 수 있다. 매핑 엔진(328)은 일부 예들에서, 매핑 정보가 마스터 3D 맵을 생성하는 데 사용되는 이전 매핑 정보보다 바람직한지 여부를 결정할 수 있다. 예를 들어, 매핑 엔진(328)은 매핑 정보가 더 최근의 것, 더 높은 해상도 또는 더 나은 품질의 것이거나, 더 많거나 상이한 유형들의 객체들을 나타내는 것이거나, 더 높은 해상도의 로컬리제이션 능력들(예를 들어, 더 나은 관성 측정 유닛 또는 내비게이션 시스템) 또는 더 나은 광학 또는 더 큰 프로세싱 능력을 갖는 사용자 프로세스에 의해 생성된 것, 또는 그렇지 않으면 바람직하다는 것을 결정할 수 있다. 바람직하다면, 매핑 엔진(328)은 HMD(112)로부터 수신된 매핑 정보로부터 업데이트된 마스터 3D 맵을 생성한다. 이러한 방식으로 매핑 엔진(328)은 마스터 3D 맵을 점진적으로 개선한다.
일부 예들에서, 매핑 엔진(328)은 마스터 3D 맵의 상이한 맵 데이터와 연관하여 건강 데이터를 생성 및 저장할 수 있다. 예를 들어, 일부 맵 데이터는 맵 데이터를 생성하는 데 사용된 매핑 정보가 일정 시간 전에 수신되었다는 점에서 오래된 것일 수도 있거나, 맵 데이터를 생성하는 데 사용된 이미지들이 낮은 품질(예를 들어, 낮은 해상도, 낮은 조명 등)이라는 점에서 맵 데이터는 낮은 품질을 가질 수 있다. 이러한 맵 데이터의 특성들은 상대적으로 열악한 건강과 연관될 수 있다. 반대로, 고품질 매핑 정보는 상대적으로 양호한 건강과 연관될 것이다. 맵 데이터에 대한 건강 값들은 스코어, 설명자(예를 들어, "좋음", "오케이", "나쁨"), 생성된 날짜 또는 다른 표시기를 사용하여 표시될 수 있다. 일부 경우들에서, 매핑 엔진(328)은 맵 데이터에 대한 건강이 임계 건강 값을 만족하는 경우(예를 들어, 소정 점수 미만인 경우) 영역에 대한 마스터 3D 맵의 맵 데이터를 업데이트할 수 있다. 임계 건강 값이 만족되면, 매핑 엔진(328)은 영역에서 동작하는 HMD(112)로부터 수신된 매핑 정보를 사용하여 마스터 3D 맵의 영역에 대한 업데이트된 영역을 생성한다. 그렇지 않으면, 매핑 엔진(328)은 매핑 정보를 폐기한다.
일부 예들에서, 맵 데이터(330)는 물리적 3D 환경의 상이한 영역들에 대한 상이한 마스터 3D 맵들을 포함한다. 포즈 추적기(326)는 HMD(112)로부터 수신된 이미지들을 사용하여 영역들 중 하나의 위치에 HMD(112)를 로컬라이징할 수 있다. 응답하여, 애플리케이션 엔진(320)은 포즈 추적기(326)가 HMD(112)를 로컬라이징한 영역에 대한 마스터 3D 맵을 선택하고 인공 현실 애플리케이션에서 사용하기 위해 마스터 3D 맵을 HMD(112)로 전송할 수 있다. 결과적으로, HMD(112)는 HMD(112)가 위치된 영역에 대한 적절한 마스터 3D 맵을 사용하여 인공 현실 콘텐츠를 생성하고 렌더링할 수 있다.
일부 예들에서, 맵 데이터는 물리적 3D 환경의 동일한 영역에 대한 상이한 마스터 3D 맵들을 포함하고, 상이한 마스터 3D 맵은 물리적 환경의 상이한 상태들을 나타낸다. 예를 들어, 제1 마스터 3D 맵은 제1 시간(예를 들어, 2015년 8월)의 영역을 설명할 수 있는 반면, 제2 마스터 3D 맵은 제2 시간(예를 들어, 2016년 10월)의 영역을 설명할 수 있다. 애플리케이션 엔진(320)은 예를 들어 사용자로부터의 요청에 응답하거나 인공 현실 애플리케이션 내의 트리거에 응답하여 제1 마스터 3D 맵을 사용하도록 결정할 수 있다. 매핑 엔진(328)은 맵 데이터(330)에서 제1 마스터 3D 맵이 인공 현실 애플리케이션을 위한 인공 현실 콘텐츠를 렌더링하는 데 사용되는 마스터 3D 맵임을 나타낼 수 있다. 이러한 방식으로, 콘솔(106)을 포함하는 인공 현실 시스템은 이전 시간들에 나타난 물리적 3D 환경을 설명하는 이력 맵 데이터를 사용하여 인공 현실 콘텐츠를 렌더링할 수 있다. 이 기법은 예를 들어 교육-관련 인공 현실 애플리케이션들에 유리할 수 있다.
사용자 인터페이스 엔진(329)은 사용자가 트리거 객체(예를 들어, 좌석(110))와 상호작용 중이거나 상호작용할 때 및/또는 사용자가 제스처 또는 행위(예를 들어, 좌석(110)에 앉아 있음)를 수행할 때 사용자 인터페이스를 생성하는 것과 관련된 기능들을 수행할 수 있다. 사용자 인터페이스 엔진(329)은 애플리케이션 엔진(320), 포즈 추적기(326), 및/또는 매핑 엔진(328)으로부터 정보를 수신할 수 있고, 그 정보에 기반하여 사용자 인터페이스(예를 들어, 사용자 인터페이스 요소들(126)을 갖는 사용자 인터페이스 메뉴(124))를 생성할 수 있다. 사용자 인터페이스 엔진(329)은 렌더링 엔진(322)이 HMD(112)의 디스플레이(203)에서 다른 물리적 및/또는 인공 현실 콘텐츠에 오버레이된 사용자 인터페이스를 제시할 수 있도록 사용자 인터페이스에 관한 정보를 렌더링 엔진(322)에 출력할 수 있다. 따라서, 사용자 인터페이스 엔진(329)은 하나 이상의 다른 모듈들로부터 정보를 수신하고 상기 다른 모듈에 정보를 출력할 수 있고, 그렇지 않으면 콘솔(106)의 하나 이상의 다른 엔진들 또는 모듈들과 상호작용 및/또는 함께 동작할 수 있다.
도 4와 관련하여 설명된 방식과 같은 일부 예들에서, 포즈 추적기(326), 렌더링 엔진(322), 구성 인터페이스(332), 분류기(324), 및 애플리케이션 엔진(320)에 기인하는 기능의 일부 또는 전부는 HMD(112)에 의해 수행될 수 있다.
도 3에 예시된 모듈들 또는 엔진(예를 들어, 운영 체제(316), 애플리케이션 엔진(320), 렌더링 엔진(322), 포즈 추적기(326), 매핑 엔진(328), 사용자 인터페이스 엔진(329), 운영 체제(305), 및 애플리케이션 엔진(306)), 도 4 및/또는 본 개시내용의 다른 곳에서 예시되거나 설명된 것은 하나 이상의 컴퓨팅 디바이스들에 상주하고/하거나 실행되는 소프트웨어, 하드웨어, 펌웨어, 또는 하드웨어, 소프트웨어, 및/또는 펌웨어의 혼합을 사용하여 설명된 동작들을 수행할 수 있다. 예를 들어, 컴퓨팅 디바이스는 다중 프로세서들 또는 다중 디바이스들로 이러한 모듈들 중 하나 이상을 실행할 수 있다. 컴퓨팅 디바이스는 기본 하드웨어에서 실행되는 가상 머신과 같은 이러한 모듈들 중 하나 이상을 실행할 수 있다. 이러한 모듈들 중 하나 이상은 운영 체제 또는 컴퓨팅 플랫폼의 하나 이상의 서비스들로 실행할 수 있다. 이러한 모듈들 중 하나 이상은 컴퓨팅 플랫폼의 애플리케이션 계층에서 하나 이상의 실행가능 프로그램들로 실행할 수 있다. 다른 예들에서, 모듈에 의해 제공되는 기능은 전용 하드웨어 디바이스에 의해 구현될 수 있다.
소정 모듈들, 데이터 저장소들, 구성요소들, 프로그램들, 실행파일들, 데이터 항목들, 기능 유닛들, 및/또는 하나 이상의 저장 디바이스들 내에 포함된 다른 항목들이 별도로 예시될 수 있지만, 이러한 항목들 중 하나 이상은 결합되어 단일 모듈, 구성요소, 프로그램, 실행파일, 데이터 항목 또는 기능 유닛으로 동작할 수 있다. 예를 들어, 하나 이상의 모듈들 또는 데이터 저장소들은 조합되거나 부분적으로 조합되어 단일 모듈로 작동하거나 기능을 제공할 수 있다. 또한, 하나 이상의 모듈들은 예를 들어 하나의 모듈이 다른 모듈의 서비스 또는 확장으로 작용하도록 서로 상호작용 및/또는 함께 동작할 수 있다. 또한, 각 모듈, 데이터 저장소, 구성요소, 프로그램, 실행파일, 데이터 항목, 기능 유닛 또는 저장 디바이스 내에 예시된 다른 항목은 다중 구성요소들, 서브- 구성요소들, 모듈들, 서브- 모듈들, 데이터 저장소들 및/또는 예시되지 않은 다른 구성요소들 또는 모듈들 또는 데이터 저장소들을 포함할 수 있다.
또한, 각 모듈, 데이터 저장소, 구성요소, 프로그램, 실행파일, 데이터 항목, 기능 유닛 또는 저장 디바이스 내에 예시된 다른 항목은 다양한 방식들로 구현될 수 있다. 예를 들어, 각 모듈, 데이터 저장소, 구성요소, 프로그램, 실행파일, 데이터 항목, 기능 유닛, 또는 저장 디바이스 내에 예시된 다른 항목은 다운로드가능하거나 사전-설치된 애플리케이션 또는 "앱"으로 구현될 수 있다. 다른 예들에서, 각 모듈, 데이터 저장소, 구성요소, 프로그램, 실행파일, 데이터 항목, 기능 유닛, 또는 저장 디바이스 내에 예시된 다른 항목은 컴퓨팅 디바이스에서 실행되는 운영 체제의 일부로서 구현될 수 있다.
도 4는 본 개시내용의 하나 이상의 양태들에 따른, 인공 현실 시스템을 위한 사용자 디바이스의 예를 묘사하는 블록도이다. 도 4에서, HMD(112)는 독립형 디바이스로서, 즉 콘솔에 테더링되지 않고 동작할 수 있고, 도 1a, 도 1b, 도 1c 및 도 1d와 관련하여 설명된 HMD들(112)을 포함하는 임의의 사용자 디바이스들의 사례를 나타낼 수 있다. 비록 도 4에 예시된 디바이스(112)가 머리-장착 디바이스로 설명되지만, 도 4에 예시된 디바이스는 다른 예들에서, 예를 들어 태블릿 컴퓨터와 같은 다른 디바이스로서 구현될 수 있다. 그러나, 도 4의 구체적인 예에서, 그리고 도 3과 유사한 방식으로, HMD(112)는 일부 예들에서 임베디드 멀티태스킹 운영 체제일 수 있는 운영 체제(305)를 실행하기 위한 컴퓨터 플랫폼을 제공하는 하나 이상의 프로세서들(302) 및 메모리(304)를 포함한다. 차례로, 운영 체제(305)는 하나 이상의 소프트웨어 구성요소들(417)을 실행하기 위한 운영 환경을 제공한다. 또한, 프로세서(들)(302)는 전자 디스플레이(203), 모션 센서들(206), 및 센서 디바이스들(208)에 결합된다.
도 4의 예에서, 소프트웨어 구성요소들(417)은 전체 인공 현실 애플리케이션을 제공하도록 동작한다. 이 예에서, 소프트웨어 구성요소들(417)은 애플리케이션 엔진(420), 렌더링 엔진(422), 포즈 추적기(426), 매핑 엔진(428), 및 사용자 인터페이스(UI) 엔진(429)을 포함한다. 다양한 예들에서, 소프트웨어 구성요소들(417)은 도 3의 콘솔(106)의 대응 구성요소들(예를 들어, 애플리케이션 엔진(320), 렌더링 엔진(322), 포즈 추적기(326), 매핑 엔진(328), 및 사용자 인터페이스 엔진(329))과 유사하게 동작한다.
도 4의 하나 이상의 양태들은 도 1a, 도 1b, 도 1c 및 도 1d를 포함하는 다른 도면들의 맥락 내에서 본원에서 설명될 수 있다. 다양한 예들에서, HMD(112)는 맵 정보를 생성하고, 포즈를 결정하고, 입력을 검출하고, 하나 이상의 트리거 객체들을 식별하고, 사용자가 객체에 관하여 트리거 행위 및 트리거해제 행위를 수행했다고 결정하고, 인공 현실 콘텐츠를 제시할 수 있다.
본 개시내용의 하나 이상의 양태들에 따르면, 도 1a 및 도 4의 HMD(112)는 맵 정보를 생성할 수 있다. 예를 들어, 도 1a 및 도 4를 참조하여 설명될 수 있는 예에서, 각각의 외부 센서들(190), 카메라들(192), 센서 디바이스들(208)은 물리적 환경(120)에 관한 정보를 수집한다. 외부 센서들(190) 및 카메라들(192)은 각각 수집한 정보를 HMD(112)에 통신하고, 이러한 정보는 네트워크(104)를 통해 또는 다른 수단을 통해 HMD(112)에 통신될 수 있다. HMD(112)는 외부 센서들(190) 및/또는 카메라들(192)로부터 정보를 수신하고 물리적 환경(120)에 관한 정보를 매핑 엔진(428)에 출력한다. HMD(112)의 센서 디바이스들(208)은 또한 물리적 환경(120)에 관한 정보를 수집하고, 물리적 환경(120)에 관한 정보를 매핑 엔진(428)에 출력한다. 매핑 엔진(428)은 외부 센서들(190), 카메라들(192), 및/또는 센서 디바이스들(208)로부터 수신된 정보에 기반하여, 물리적 환경(120)의 맵을 결정한다. 매핑 엔진(428)은 맵에 관한 정보를 맵 데이터(430)로서 저장한다.
HMD(112)는 포즈 정보를 결정할 수 있다. 예를 들어, 도 1a 및 도 4를 다시 참조하면, 모션 센서(206) 및/또는 센서 디바이스들(208)은 HMD(112)의 포지션, 배향, 및/또는 위치에 관한 정보를 검출한다. 포즈 추적기(426)는 매핑 엔진(428)으로부터 HMD(112)의 포지션, 배향, 및/또는 위치에 관한 정보를 수신한다. 포즈 추적기(426)는 이 정보에 기반하여, HMD(112)의 참조 프레임에 대한 현재 포즈를 결정한다.
HMD(112)는 물리적 환경(120) 내의 하나 이상의 객체들을 트리거 객체로서 식별할 수 있다. 예를 들어, 예 및 도 1a 및 도 4를 계속 참조하여, 매핑 엔진(428)은 외부 센서들(190), 카메라들(192), 및/또는 센서 디바이스들(208)로부터 수신된 정보에 기반하여, 의자, 벤치, 책상, 테이블, 바닥 표면(예를 들어, 깔개) 또는 다른 객체의 형태를 갖는 하나 이상의 물리적 객체들을 식별한다. 매핑 엔진(428)은 정보를 애플리케이션 엔진(420)에 출력한다. 애플리케이션 엔진(420)은 식별된 객체들 중 하나 이상이 트리거 객체로 간주되어야 한다고 결정한다. 예를 들어, 일부 예들에서, 애플리케이션 엔진(420)은 (예를 들어, 관리자에 의해 또는 디폴트 설정들을 통해) 착석 포지션에서 사용자(101)를 지원할 수 있는 임의의 유형의 객체를 트리거 객체로 취급하도록 미리 구성될 수 있다. 그러한 예에서, 애플리케이션 엔진(420)은 도 1a의 좌석(110)을 식별하는 맵 데이터(430)에 정보를 트리거 객체로서 저장할 수 있다. 일부 예들에서, 애플리케이션 엔진(420)은 도 4에 예시된 바와 같은 벤치 형태를 갖는 객체와 같은 소정 유형들의 좌석들(110)만을 트리거 객체들로서 인식할 수 있다. 그러나, 다른 예들에서, 애플리케이션 엔진(420)은 대안으로 또는 추가로, 소파들 또는 등받이들을 갖는 의자들, 팔걸이들을 갖는 의자들 및/또는 기댈 수 있는 의자들과 같은 앉은 포지션에서 사용자들을 지지하는 다른 유형들의 객체들을 트리거 객체로 인식할 수 있다. 애플리케이션 엔진(420)은 트리거 객체들로서 식별된 객체들을 반영하도록 맵 데이터(430)를 업데이트한다.
일부 예들에서, HMD(112) 및/또는 인공 현실 시스템은 일반적으로 (자동으로 또는 사용자 입력에 응답하여 또는 다른 방식으로) 트리거 객체들을 식별할 수 있고, 트리거 객체들은 어떤 의미들에서는 임의적 및/또는 일반적인 물리적 객체들로 간주될 수 있다. 이러한 임의적이거나 일반적인 물리적 객체들의 예들은 의자 또는 테이블 또는 벽에 걸려 있는 장식 항목을 포함될 수 있고, 일부 예들에서는 조이스틱 또는 제어기 또는 인공 현실 시스템의 다른 구성요소들(예를 들어, 콘솔(106))과 정기적으로 통신할 수 있는 디바이스와 같은 인공 현실 시스템의 일부인 특정 객체들을 포함하지 않을 수 있다.
HMD(112)는 사용자 입력에 응답하여 물리적 환경(120) 내의 하나 이상의 트리거 객체들을 식별할 수 있다. 일부 예들에서, HMD(112)는 위에서 설명된 바와 같이, 이를테면 외관, 객체들의 이미지들, 및/또는 이전 구성들에 기반하여 트리거 객체들을 자동으로 식별할 수 있다. 그러나, 다른 예들에서, HMD(112)는 사용자(101)(또는 관리자와 같은 다른 사용자)에 의해 식별된 트리거 객체들을 식별할 수 있다. 예를 들어, 이러한 예에서, 여전히 도 1a 및 도 4를 참조하면, 외부 센서들(190), 카메라들(192), 및/또는 센서 디바이스들(208)은 사용자(101)에 의한 움직임들을 검출하고 움직임들에 관한 정보를 포즈 추적기(426)에 출력한다. 포즈 추적기(426)는 움직임들이 사용자(101)에 의해 수행된 제스처에 대응한다고 결정한다. 포즈 추적기(426)는 제스처에 관한 정보를 애플리케이션 엔진(420)으로 출력한다. 애플리케이션 엔진(420)은 제스처가 좌석(110)을 트리거 객체로서 식별하는 사용자(101)에 대응한다고 결정한다. 일부 예들에서, 사용자(101)는 좌석(110)을 가리키고 애플리케이션 엔진(420)이 좌석(110)을 트리거 객체로서 식별하는 사용자(101)로서 인식하는 제스처를 수행할 수 있다. 다른 예들에서, 사용자 인터페이스 엔진(429)은 제스처에 응답하여, 사용자 인터페이스가 HMD(112A) 내에 제시되게 하여 사용자(101)에게 하나 이상의 트리거 객체들의 식별을 촉구할 수 있다. 일부 예들에서, HMD(112A)는 객체를 검출할 수 있고, 검출된 객체를 트리거 객체로서 구성하거나 트리거 객체로서의 그의 사용을 확인 또는 거부하도록 사용자(101)에게 프롬프트할 수 있다.
또한, 일부 예들에서, 하나 이상의 사용자 인터페이스들은 트리거 객체가 구성될 때 구성 옵션들의 세트를 제시할 수 있다. 이러한 구성 옵션들은 객체와 연관될 트리거 행위(객체에 앉기, 객체 위에 서기, 객체 만지기, 객체 이동, 객체 줍기, 객체 던지기) 정의 또는 이러한 행위들에 대한 응답들(게임, 운전, 비행 또는 다른 시뮬레이터 시작 또는 재개, 다른 사용자들 또는 시스템들과의 통신들 개시) 구성을 포함할 수 있다.
HMD(112)는 사용자(101)가 물리적 환경(120) 내에 있지만 좌석(110)에 앉아 있지 않다고 결정할 수 있다. 예를 들어, 다시 도 1a 및 도 4를 참조하여 설명될 수 있는 예에서, 매핑 엔진(428)은 물리적 환경(120)에 대한 매핑 정보에 관한 정보를 애플리케이션 엔진(420)으로 출력한다. 포즈 추적기(426)는 HMD(112)의 참조 프레임에 대해 결정된 현재 포즈에 관한 정보를 애플리케이션 엔진(420)에 출력한다. 애플리케이션 엔진(420)은 매핑 및 포즈 정보에 기반하여, 사용자(101)가 좌석(110) 근처에 서 있지만 좌석(110)에 앉아 있지 않은 것으로 결정한다.
HMD(112)는 사용자(101)가 서 있는 동안 HMD(112) 내에 인공 현실 콘텐츠를 제시할 수 있다. 예를 들어, 도 1a에서 그리고 도 4를 참조하여, 애플리케이션 엔진(420)은 인공 현실 콘텐츠(122A)를 생성한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(122A)에 관한 정보를 렌더링 엔진(422)에 출력한다. 렌더링 엔진(422)은 인공 현실 콘텐츠(122A)가 도 1a에 도시된 방식으로 HMD(112) 내의 디스플레이(203)에 제시되게 한다.
도 1a에서, 인공 현실 콘텐츠(122A)는 물리적 환경(120)에 인공 현실 콘텐츠가 거의 또는 전혀 오버레이되지 않은 단순한 물리적 환경(120)의 이미지에 대응할 수 있다. 도시된 예에서, 인공 현실 콘텐츠(122A)는 물리적 환경(120)에 예시된 윈도우(108)의 이미지인 윈도우(108)를 포함한다. 인공 현실 콘텐츠(122A)는 또한 램프(107) 및 사진(109)을 포함하고, 둘 모두는 물리적 환경(120) 내의 3차원 객체들이다(도 1a에서, 램프(107) 및 사진(109)은 윈도우(108)와 동일한 벽을 따라 포지셔닝되지만, 물리적 환경(120)의 예시에 포함되지 않음). 도 1a의 인공 현실 콘텐츠(122A)는 HMD(112) 내에서 제시될 수 있는 콘텐츠의 예로서 예시되고, 일반적으로 물리적 환경(120)에서 객체들의 3차원 표현들 또는 이미지들만을 도시한다. 그러나, 다른 예들에서, 인공 현실 콘텐츠(122A)는 물리적 환경(120) 내의 물리적 객체들의 이미지들에 오버레이된 인공 현실 콘텐츠를 포함하는 인공 현실 콘텐츠를 포함할 수 있다. 적어도 일부 예들에서, 물리적 객체들은 3차원으로 보이도록 임의의 각도에서 렌더링된다.
HMD(112)는 사용자(101)가 좌석(110)에 대해 트리거 행위를 수행했다고 결정할 수 있다. 예를 들어, 도 1b 및 도 4를 참조하여 설명된 예에서 계속하면, 모션 센서들(206)은 모션을 검출하고 센서 디바이스들(208)은 이미지를 캡처한다. 모션 센서(206) 및 센서 디바이스들(208)은 검출된 모션 및 캡처된 이미지들에 관한 정보를 포즈 추적기(426)에 출력한다. 포즈 추적기(426)는 사용자(101)의 현재 포즈를 결정한다. 포즈 추적기(426)는 HMD(112)의 참조 프레임에 대해 결정된 현재 포즈에 관한 정보를 애플리케이션 엔진(420)에 출력한다. 매핑 엔진(428)은 물리적 환경(120)에 대한 현재 매핑 정보에 관한 정보를 애플리케이션 엔진(420)에 출력한다. 애플리케이션 엔진(420)은 매핑 및 포즈 정보에 기반하여, 사용자(101)가 도 1b에 예시된 바와 같이 좌석(110)에 앉도록 사용자(101)가 움직였다고 결정한다. 애플리케이션 엔진(420)은 사용자(101)에 의해 수행된 움직임(즉, 좌석(110)에 착석)이 트리거 행위로서 자격을 갖는다고 결정한다.
HMD(112)는 트리거 행위에 응답하여 HMD(112) 내에 인공 현실 콘텐츠를 제시할 수 있다. 예를 들어, 도 4를 참조하면. 도 1b 및 도 4를 참조하여, 애플리케이션 엔진(420)은 트리거 행위에 관한 정보 및 좌석(110)에 관한 매핑 정보에 기반하여, 운전 장면과 관련된 인공 현실 콘텐츠가 제시되어야 한다고 결정한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(122B)를 생성한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(122B)에 관한 정보를 렌더링 엔진(422)에 출력한다. 렌더링 엔진(422)은 인공 현실 콘텐츠(122B)가 도 1b에 도시된 방식으로 112 내의 디스플레이(203)에 제시되게 한다.
도 1b의 예에서, 게임 또는 다른 인공 현실 애플리케이션과 같은 운전 장면에 대응하는 콘텐츠가 제시된다. 다른 예들에서, 인공 현실 콘텐츠(122B)는 소셜 상호작용 애플리케이션, 화상 회의 애플리케이션, 움직임 명령 애플리케이션, 대안 세계 애플리케이션, 내비게이션 애플리케이션, 교육 애플리케이션, 게임 애플리케이션, 훈련 또는 시뮬레이션 애플리케이션들, 증강 현실 애플리케이션, 가상 현실 애플리케이션, 또는 인공 현실을 구현하는 다른 유형의 애플리케이션들을 포함하지만 이에 제한되지 않는 다른 유형들의 애플리케이션에 따라 렌더링된 콘텐츠에 대응할 수 있다.
종종, 트리거 행위에 대한 응답으로 제시되는 콘텐츠는 사용자(101)가 수행한 트리거 행위와 어느 정도 패리티를 가질 것이다. 예를 들어, 트리거 행위가 서 있는 포지션에서 앉은 포지션으로 이동하는 것을 포함하는 경우, 사용자(101)는 도 1b에서와 같이 사용자(101)가 앉은 포지션에 있는 트리거된 콘텐츠를 제시받을 수 있다. 유사하게, 트리거 행위가 테이블과의 상호작용을 포함하는 경우, 인공 현실 콘텐츠 또는 트리거된 콘텐츠는 사용자(101)가 테이블을 사용하는 콘텐츠를 포함할 것으로 예상될 수 있다. 사용자(101)가 트리거 행위를 수행하기 위해 실행 중인 경우, 이러한 트리거 행위에 응답하여 제시되는 인공 현실 콘텐츠는 실행 중인 행위와 일치하는 콘텐츠를 포함할 수 있다.
HMD(112)는 사용자(101)가 좌석(110)에 앉아 있는 동안 인공 현실 콘텐츠(122B)를 계속해서 제시할 수 있다. 예를 들어, 여전히 도 1b 및 도 4를 참조하면, 모션 센서들(206)은 모션을 검출하고 센서 디바이스들(208)은 사용자(101)가 좌석(110)에 앉아 있는 동안 이미지들을 캡처한다. 모션 센서들(206) 및 센서 디바이스들(208)은 검출된 모션 및 이미지들에 관한 정보를 포즈 추적기(426)에 출력한다. 포즈 추적기(426)는 현재 포즈를 결정하고, 현재 포즈에 관한 정보를 애플리케이션 엔진(420)에 출력한다. 매핑 엔진(428)은 물리적 환경(120)에 대한 현재 매핑 정보에 관한 정보를 애플리케이션 엔진(420)에 출력할 수 있다. 애플리케이션 엔진(420)은 업데이트된 인공 현실 콘텐츠(122B)를 사용자(101)의 움직임들에 응답하여, 그리고 HMD(112)에 제시되는 게임의 진행 또는 운전 경험에 응답하여(예를 들어, 사용자(101)가 가상 도로(143)를 따라 운전할 때 장면이 변화함) 생성한다.
HMD(112)는 사용자 입력에 응답하여 사용자 인터페이스 메뉴를 제시할 수 있다. 예를 들어, 이제 도 1c 및 도 4를 참조하면, 애플리케이션 엔진(420)은 사용자(101)에 의한 모션 또는 사용자(101)에 의해 수행된 제스처들이, 사용자(101)가 HMD(112)를 통해 제시되고 있는 운전 경험에 대응하는 하나 이상의 옵션들을 수정하고자 한다는 것을 표시한다고 결정할 수 있다. 그러한 결정에 응답하여, 애플리케이션 엔진(420)은 사용자 인터페이스 엔진(429)에 정보를 출력한다. 사용자 인터페이스 엔진(429)은 사용자 인터페이스를 생성하고 사용자 인터페이스에 관한 정보를 애플리케이션 엔진(420)에 출력한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(122C)를 생성한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(122C)에 관한 정보를 렌더링 엔진(422)에 출력한다. 렌더링 엔진(422)은 인공 현실 콘텐츠(122C)가 도 1c에 도시된 방식으로 HMD(112) 내의 디스플레이(203)에 제시되게 한다.
도 1c에서, 인공 현실 콘텐츠(122C)는 사용자 인터페이스 메뉴(124)를 포함하고, 인공 현실 콘텐츠(122C)는 인공 현실 콘텐츠(122B) 상에 오버레이된 메뉴(124)의 추가와 함께 인공 현실 콘텐츠(122B)와 유사하다. 사용자 인터페이스 메뉴(124)에는 하나 이상의 사용자 인터페이스 요소들(126)이 포함된다.
HMD(112)는 사용자 인터페이스 메뉴(124)와의 상호작용들에 응답하여 동작들을 수행할 수 있다. 예를 들어, 도 1c 및 도 4를 다시 참조하면, HMD(112)는 애플리케이션 엔진(420)이 사용자 인터페이스 메뉴(124) 내의 하나 이상의 사용자 인터페이스 요소들(126)의 선택에 대응한다고 결정하는 사용자(101)에 의한 움직임들을 검출할 수 있다. 애플리케이션 엔진(420)은 그러한 움직임들에 응답하여, 하나 이상의 동작들을 수행할 수 있다. 일부 예들에서, 이러한 동작들은 사용자 인터페이스 엔진(429)이 추가 사용자 인터페이스들을 생성하게 하거나 인공 현실 콘텐츠(122C)의 양태들을 수정하게 할 수 있다. 그러한 예들에서, 애플리케이션 엔진(420)은 인공 현실 콘텐츠를 업데이트하고, 렌더링 엔진(422)이 디스플레이(203)에 업데이트된 콘텐츠를 사용자에게 제시하게 한다.
HMD(112)는 사용자(101)가 트리거해제 행위를 수행했다고 결정할 수 있다. 예를 들어, 도 1d 및 도 4를 참조하여 설명될 수 있는 예에서, 모션 센서들(206)은 모션을 검출하고 센서 디바이스들(208)은 이미지들을 캡처한다. 모션 센서(206) 및 센서 디바이스들(208)은 검출된 모션 및 캡처된 이미지들에 관한 정보를 포즈 추적기(426)에 출력한다. 포즈 추적기(426)는 사용자(101)의 현재 포즈를 결정한다. 포즈 추적기(426)는 HMD(112)의 참조 프레임에 대해 결정된 현재 포즈에 관한 정보를 애플리케이션 엔진(420)에 출력한다. 매핑 엔진(428)은 물리적 환경(120)에 대한 현재 매핑 정보에 관한 정보를 애플리케이션 엔진(420)에 출력한다. 애플리케이션 엔진(420)은 도 3d에 예시된 바와 같이, 매핑 및 포즈 정보에 기반하여, 사용자(101)가 좌석(110) 근처에 서 있고 좌석(110)에 더 이상 앉아 있지 않은 것으로 결정한다. 애플리케이션 엔진(420)은 사용자(101)에 의해 수행된 행위(즉, 좌석(110)에 앉은 후 일어서기)가 트리거해제 행위로서 자격을 갖는다고 결정한다.
HMD(112)는 사용자(101)가 트리거해제 행위를 수행했다고 결정하는 것에 응답하여 트리거된 콘텐츠의 제시를 중단할 수 있다. 예를 들어, 이제 도 1d 및 도 4를 참조하면, 애플리케이션 엔진(420)은, 트리거해제 행위에 관한 정보에 기반하여, 운전 장면에 관련된 인공 현실 콘텐츠(도 1b 및 도 1c에 도시됨)가 더 이상 제시되지 않아야 함을 결정한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(122D)를 생성한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(122D)에 관한 정보를 렌더링 엔진(422)에 출력한다. 렌더링 엔진(422)은 인공 현실 콘텐츠(122D)가 도 1d에 도시된 방식으로 HMD(112) 내의 디스플레이(203)에 제시되게 하고, 이에 의해 인공 현실 콘텐츠(122C)의 제시를 중단한다.
일부 예들에서, 인공 현실 콘텐츠(122C)의 제시를 중단할 때, 인공 현실 콘텐츠(122D)는 도 1c의 인공 현실 콘텐츠(122C)로부터의 어떠한 콘텐츠도 없이 단순히 물리적 환경(120)의 이미지로서 제시될 수 있다. 그러나, 다른 예들에서, 인공 현실 콘텐츠(122C)로부터의 콘텐츠 또는 콘텐츠의 일부의 일부 표시는 트리거해제 행위가 검출된 후에도 계속해서 122D로 제시될 수 있다. 도 1d에 예시된 바와 같이, 예를 들어, 게임 점수 표시기(145)는 인공 현실 콘텐츠(122D)에 포함되고, 이는 트리거해제 행위가 검출되었을 때 사용자(101)에 의해 달성된 점수를 나타낼 수 있다. 트리거해제 행위 후에도, 게임 점수 표시기(145)는 인공 현실 콘텐츠(122D) 내에 무기한으로, 또는 제한된 시간 기간 동안, 또는 사용자 입력에 응답하여 제거될 때까지 제시될 수 있다. 일부 예들에서, 게임 점수 표시기(145)의 외관은 인공 현실 콘텐츠(122D)에 제시될 때 수정될 수 있고(예를 들어, 도 1d에 도시된 바와 같이 점선으로 그려짐), 이에 의해 게임 점수 표시기(145)가 인공 현실 콘텐츠(122C)에 이전에 제시된 콘텐츠에 대응함을 나타낸다.
도 5a, 도 5b 및 도 5c는 본 개시내용의 하나 이상의 양태들에 따른, 책상과의 상호작용들에 응답하여 인공 현실 콘텐츠를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도이다. 도 5a, 도 5b 및 도 5c 각각에서, 인공 현실 시스템(500)은 물리적 환경(520) 내에서 묘사된다. 물리적 환경(520)은 사용자(101), 및 HMD(112), 윈도우(108), 책상(510), 및 벽시계(114)를 포함하는 다수의 현실 세계 또는 물리적 객체들을 포함하는 방으로 도시된다.
도 5a, 도 5b 및 도 5c 예들에서, 인공 현실 시스템(500)은 도 1a(및 다른 예시들)의 인공 현실 시스템(100)에서 설명된 많은 동일한 요소들을 포함하고, 도 5a, 도 5b 및 도 5c 각각에 예시된 요소들은 도 1a에서 유사한 번호의 참조 번호들로 식별되는 도 1a에 예시된 요소들에 대응할 수 있다. 일반적으로, 이러한 유사한-번호의 요소들은 도 1a 및 본원의 다른 곳과 관련하여 제공된 대응하는 요소의 설명과 일치하는 방식으로 구현될 수 있지만, 일부 예들에서, 그러한 요소들은 더 많거나, 더 적고/적거나, 상이한 능력들 및 속성들을 갖는 대안적인 구현을 포함할 수 있다. 따라서, 도 5a, 도 5b 및 도 5c의 인공 현실 시스템(500)은 도 1a의 인공 현실 시스템(100)의 대안적인 예 또는 구현으로서 설명될 수 있다.
본 개시내용의 하나 이상의 양태들에 따르면, HMD(112)는 책상(510)을 트리거 객체로서 식별할 수 있다. 예를 들어, 도 4 및 도 5a를 참조하여 설명될 수 있는 예에서, 매핑 엔진(428)은 맵 데이터(430)에 저장된 정보에 기반하여, 책상(510)을 트리거 객체로 식별하고, 여기서 행위는, 사용자가 책상(510)에 앉아 있고 일부 예에서 책상(510)의 표면에 적어도 하나의 팔을 놓을 때 트리거된다. 일부 예들에서, 매핑 엔진(428)은 책상(510)을 그러한 트리거 객체로서 식별하도록 (예를 들어, 관리자에 의해) 미리 구성될 수 있다. 그러나, 다른 예들에서, 매핑 엔진(428)은 사용자(101)로부터의 입력에 응답하여, 책상(510)이 트리거 객체의 역할을 할 것이라고 결정할 수 있다.
HMD(112)는 사용자(101)가 책상(510) 근처에 서 있는 동안 인공 현실 콘텐츠(522A)를 제시할 수 있다. 예를 들어, 도 4를 다시 참조하면, 애플리케이션 엔진(420)은 매핑 및 포즈 정보에 기반하여, 사용자(101)가 좌석(110) 근처에 서 있다고 결정한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(522A)를 생성한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(522A)에 관한 정보를 렌더링 엔진(422)에 출력한다. 렌더링 엔진(422)은 인공 현실 콘텐츠(522A)가 도 5a에 도시된 방식으로 HMD(112) 내의 디스플레이(203)에 제시되게 한다. 도 5a에서, 인공 현실 콘텐츠(522A)는 HMD(112)의 관점에서 책상(510)의 이미지로부터 도출된 가상 책상(540)을 포함하는 물리적 환경(520)의 이미지를 제시할 수 있다.
HMD(112)는 사용자(101)가 책상(510)에서 트리거 행위를 수행했다고 결정할 수 있다. 예를 들어, 이제 도 5b를 참조하면, 모션 센서들(206) 및 센서 디바이스들(208)은 애플리케이션 엔진(420)이 결정하는 움직임들이 애플리케이션 엔진(420)이 책상(510)에 앉아 책상(510)에 적어도 하나의 팔을 놓는 사용자(101)에 대응한다고 검출한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(522B)를 생성한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(522B)를 렌더링 엔진(422)으로 출력하고, 이는 인공 현실 콘텐츠(522B)가 도 5b에 도시된 방식으로 HMD(112) 내의 디스플레이들(203)에 제시되게 한다.
도 5b에서, 인공 현실 콘텐츠(522B)는 사용자 인터페이스 메뉴(124) 및 가상 책상(540)을 포함한다. 사용자 인터페이스 메뉴(124)는 인공 현실 경험의 유형이 사용자에게 제시될 옵션들을 제공하는 하나 이상의 사용자 인터페이스 요소들(126)을 포함한다. 일부 예들에서, 인공 현실 콘텐츠(522B)에 제시된 가상 책상(540)은 이미지에 오버레이된 임의의 인공 현실 콘텐츠 없이 단순히 물리적 환경(520)으로부터의 책상(510)의 이미지일 수 있다.
HMD(112)는 인공 현실 콘텐츠(522B)와의 상호작용들에 기반하여 인공 현실 콘텐츠(522C)를 제시할 수 있다. 예를 들어, 이제 도 5b 및 도 5c를 참조하면, 모션 센서들(206) 및 센서 디바이스들(208)은 애플리케이션 엔진(420)이 결정하는 움직임들이 도 5b의 사용자 인터페이스 메뉴(124)와의 상호작용들에 대응한다고 결정한다. 애플리케이션 엔진(420)은 상호작용들이 트리거 행위(즉, 책상(510)에 앉아 있음)에 응답하여 제시될 인공 현실 경험의 사용자 선택에 대응한다고 결정한다. 애플리케이션 엔진(420)은 선택에 기반하여, 인공 현실 콘텐츠(522C)를 생성한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(522C)를 렌더링 엔진(422)에 출력하고, 이는 인공 현실 콘텐츠(522C)가 도 5c에 예시된 방식으로 HMD(112) 내의 디스플레이(203)에 제시되게 한다.
도 5c에서, 인공 현실 콘텐츠(522C)는 가상 책상(540), 가상 책상 램프(546), 및 가상 윈도우(547)를 포함한다. 인공 현실 콘텐츠(522C)는 가상 책상(540)에 추가 조명을 제공하는 가상 책상 램프(546)를 통해 물리적 환경(520) 내에 제시된 조명을 변경할 수 있다. 가상 창(547)은 사용자(101)에 의해 선택되고/되거나 그렇지 않으면 사용자(101)에 대해 선택된 특정 보기를 제공할 수 있다. 일부 예들에서, 인공 현실 콘텐츠(522C)는 사용자(101)에 의해 선택되거나 그렇지 않으면 사용자(101)의 결정된 음악적 관심들에 기반하여 선택되는 음악과 함께 제시될 수 있다.
도 1a와 관련하여 이전에 설명된 적어도 일부 예들에서, 인공 현실 콘텐츠는 좌석(110)에 대한 트리거 행위를 검출할 때 (예를 들어, 추가 사용자 입력 없이 자동으로) 제시된다. 그 인공 현실 콘텐츠는 사용자(101)의 신원, 사용자(101)와 연관된 사용자 프로파일, 시간, 요일, 사용자(101)에 의해 유지되거나 사용되는 캘린더, 또는 다른 시간-기반 정보에 기반하여 선택될 수 있다. 그러나, 방금 도 5a, 도 5b 및 도 5c를 참조하여 설명된 예에서, HMD(112)는 책상(510)에 대한 트리거 행위를 검출할 때 인공 현실 콘텐츠를 선택하기 위한 옵션들을 제시한다. 이어서, 인공 현실 콘텐츠는 사용자(101)에 의한 사용자 인터페이스(예를 들어, 사용자 인터페이스 메뉴(124))와의 상호작용들에 기반하여 제시된다. 따라서, 일부 예들에서, 인공 현실 콘텐츠는 트리거 행위의 검출 시에 자동으로 제시될 수 있다. 다른 예들에서, 인공 현실 콘텐츠에 대한 옵션들은 트리거 행위의 검출 시에 사용자(101)에게 제시될 수 있고, 이어서 인공 현실 콘텐츠는 선택된 옵션들에 응답하여 제시될 수 있다.
도 6a 및 도 6b는 본 개시내용의 하나 이상의 양태들에 따른, 바닥 공간의 일부와의 상호작용에 응답하여 인공 현실 콘텐츠를 생성하는 예시적인 인공 현실 시스템을 예시하는 개념도들이다. 도 6a 및 도 6b 각각에서, 인공 현실 시스템(600)은 물리적 환경(620) 내에 묘사되어 있다. 물리적 환경(620)은 사용자(101) 및 HMD(112), 윈도우(108), 깔개(610) 및 벽시계(114)를 포함하는 다수의 현실 세계 또는 물리적 객체들을 포함하는 방으로 도시된다. 또한, 인공 현실 시스템(600)은 사용자(101)가 보유하고 있는 컨텍스트 객체(611)를 포함한다. 컨텍스트 객체(611)는 본원에 설명된 바와 같이, 트리거 행위의 검출 시에 제시되는 특정 인공 현실 경험을 선택하거나 선택하는 것을 돕는 데 사용되는 객체일 수 있다.
도 6a 및 도 6b의 예들에서, 인공 현실 시스템(600)은 도 1a의 인공 현실 시스템(100)에서 설명된 동일한 요소들 중 다수를 포함하고, 도 6a 및 도 6b에 예시된 요소들은 도 1a의 유사한 번호의 참조 번호들에 의해 식별되는 도 1a에 예시된 요소들에 대응할 수 있다. 일반적으로, 이러한 유사한-번호의 요소들은 도 1a 및 본원의 다른 곳과 관련하여 제공된 대응하는 요소의 설명과 일치하는 방식으로 구현될 수 있지만, 일부 예들에서, 그러한 요소들은 더 많거나, 더 적고/적거나, 상이한 능력들 및 속성들을 갖는 대안적인 구현을 포함할 수 있다. 따라서, 도 6a 및 도 5b의 인공 현실 시스템(600)은 도 1a의 인공 현실 시스템(100)의 대안적인 예 또는 구현으로서 다시 설명될 수 있다.
본 개시내용의 하나 이상의 양태들에 따르면, HMD(112)는 깔개(610) 및 컨텍스트 객체(611)를 식별할 수 있다. 예를 들어, 도 4 및 도 6a를 참조하여 설명될 수 있는 예에서, 매핑 엔진(428)은 맵 데이터(430)에 저장된 정보에 기반하여, 깔개(610)를 트리거 객체로서 식별한다. 매핑 엔진(428)은 맵 데이터(430)에 저장된 정보에 기반하여, 인공 현실 콘텐츠의 어느 유형이 깔개(610)와의 상호작용 시 제시되는지를 선택하는 데 사용되는 객체로서 컨텍스트 객체(611)를 추가로 식별한다.
HMD(112)는 사용자(101)가 깔개(610)에 서 있는 동안 인공 현실 콘텐츠(622A)를 제시할 수 있다. 예를 들어, 여전히 도 6a를 참조하여, 애플리케이션 엔진(420)은 매핑 및 포즈 정보에 기반하여, 사용자(101)가 물리적 환경(620) 내에서 서 있지만, 깔개(610)에 있지 않은 위치에 있다는 것을 결정한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(622A)를 생성한다. 애플리케이션 엔진(420)은 622A를 렌더링 엔진(422)에 출력한다. 렌더링 엔진(422)은 인공 현실 콘텐츠(622)가 도 6a에 도시된 방식으로 HMD(112) 내의 디스플레이(203)에 제시되게 한다.
도 6a에서, 인공 현실 콘텐츠(622A)는 물리적 환경(620) 내의 벽의 이미지를 제시한다. 물리적 환경(620)은 램프(107), 윈도우(108), 및 사진(109)을 갖는 벽을 포함한다. 도 6a의 예시에서, 윈도우(108)는 물리적 환경(620)에서 가시적이다. 인공 현실 콘텐츠(622A)에서, 램프(107), 윈도우(108) 및 사진(109)을 포함하는 물리적 환경(620)의 벽을 따라 있는 객체들의 이미지가 예시되어 있다. 일부 예들에서, 인공 현실 콘텐츠는 인공 현실 콘텐츠(622A) 내에 제시된 물리적 환경(620)의 이미지에 오버레이될 수 있지만, 도시된 예에서는 물리적 환경(620)의 이미지만이 제시된다.
HMD(112)는 사용자(101)가 깔개(610)에서 트리거 행위를 수행했다고 결정할 수 있다. 예를 들어, 이제 도 6b를 참조하면, 모션 센서들(206) 및 센서 디바이스(208)는 애플리케이션 엔진(420)이 결정하는 움직임들이 사용자(101)가 깔개(610)에서 돌아다니고 깔개(610)에 서 있는 것에 대응한다고 검출한다. 애플리케이션 엔진(420)은 모션 센서들(206), 센서 디바이스들(208)로부터의 정보, 및/또는 맵 데이터(430)로부터의 현재 매핑 정보에 기초하여, 사용자(101)가 손에 컨텍스트 객체(611)를 잡고 있다고 결정한다. 애플리케이션 엔진(420)은 사용자(101)가 깔개(610) 위에 서 있는 것이 깔개(610)에서 수행되는 트리거 행위에 대응한다는 것을 인식한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(622B)를 생성하고, 인공 현실 콘텐츠(622B) 내에 포함할 콘텐츠를 선택하기 위해 컨텍스트 객체(611)를 보유하는 사용자(101)에 관한 정보를 사용한다. 애플리케이션 엔진(420)은 인공 현실 콘텐츠(622B)를 렌더링 엔진(422)에 출력한다. 렌더링 엔진(422)은 도 6b에 예시된 방식으로 인공 현실 콘텐츠(622B)가 HMD(112) 내의 디스플레이(203)에 제시되게 한다.
도 6b에서, 인공 현실 콘텐츠(622B)의 가상 경치(623)는 인공 현실 콘텐츠(622A)에 제시된 물리적 환경(620)의 이미지를 대체한다. 일부 예들에서, 가상 풍경(623)은 실제 장소, 아마도 사용자(101)가 이전에 방문한 장소의 복제물일 수 있다. 일부 예들에서, 가상 풍경(623)에 묘사된 장소는 컨텍스트 객체(611)와 일부 상관을 가질 수 있고, 이는 예를 들어 컨텍스트 객체(611)가 가상 풍경(623)을 선택하는 데 사용된다는 것을 의미한다. 예를 들어, 일 예에서, 컨텍스트 객체(611)는 가상 풍경(623)에 묘사된 장소를 방문할 때 구입한 기념품 사용자(101)일 수 있다. 애플리케이션 엔진(420)은 사용자(101), 관리자로부터의 사전 입력에 기반하여, 또는 컨텍스트 객체(611)의 이미지 인식을 통해, 컨텍스트 객체(611)가 가상 풍경(623)에 묘사된 장소와 어떤 식으로든 연관되어 있다고 결정할 수 있다. 따라서, 이러한 예에서, 애플리케이션 엔진(420)은 HMD(112) 내의 사용자(101)에게 제시할 가상 풍경(623)을 선택하기 위해 컨텍스트 객체(611)를 사용한다.
도 7은 본 개시내용의 하나 이상의 양태들에 따른 예시적인 인공 현실 콘솔(106)에 의해 수행되는 동작들을 예시하는 흐름도이다. 도 7은 도 1a 내지 도 1d의 인공 현실 시스템(100)의 컨텍스트 내에서 아래에서 설명된다. 다른 예들에서, 도 7에 설명된 동작들은 하나 이상의 다른 구성요소들, 모듈들, 시스템들 또는 디바이스들에 의해 수행될 수 있다. 또한, 다른 예들에서, 도 7과 관련하여 설명된 동작들은 병합되거나, 상이한 순서로 수행되거나, 생략될 수 있거나, 구체적으로 예시되거나 설명되지 않은 추가적인 동작을 포함할 수 있다.
도 7에 예시된 프로세스에서, 그리고 본 개시내용의 하나 이상의 양태들에 따르면, 콘솔(106)은 유휴 인공 현실 콘텐츠가 HMD(112) 내에 제시되게 할 수 있다(701). 예를 들어, 도 1a를 참조하면, HMD(112), 외부 센서들(190), 및/또는 카메라들(192) 각각은 물리적 환경(120) 내의 이미지들을 캡처한다. 콘솔(106)은 이러한 이미지들을 수신하고 사용자(101), HMD(112), 및 좌석(110)을 포함하는 물리적 환경(120) 내의 물리적 객체들의 포지션을 결정한다. 콘솔(106)은 물리적 환경을 설명하는 맵 데이터(예를 들어, 도 3의 맵 데이터(330))를 생성한다. 콘솔(106)은 사용자 입력, 이미지 인식, 이전 구성에 기반하여 또는 다른 방식으로, 좌석(110)을 트리거 객체로 식별한다. 콘솔(106)은 인공 현실 콘텐츠(122A)를 생성하고 인공 현실 콘텐츠(122A)가 HMD(112) 내에 제시되게 한다. 일부 예들에서, 인공 현실 콘텐츠(122A)는 "유휴" 인공 현실 콘텐츠로 간주될 수 있는데, 이는 트리거 행위에 응답하여 제시되는 인공 현실 콘텐츠가 아닐 수 있기 때문이다. 유휴 인공 현실 콘텐츠는 단순히 물리적 환경(120)의 이미지일 수 있거나, 물리적 환경(120)의 이미지에 오버레이된 인공 현실 콘텐츠를 포함할 수 있다.
콘솔(106)은 사용자(101)가 트리거 행위를 수행했는지 여부를 결정할 수 있다(702). 예를 들어, 도 1b를 참조하면, 콘솔(106) 및/또는 HMD(112)는 모션을 검출하고 이미지들을 캡처한다. 콘솔(106)은 검출된 모션 및 이미지들을 사용하여 사용자(101)의 포즈를 결정한다. 콘솔(106)은 도 1b에 예시된 바와 같이 사용자(101)가 좌석(110)에 앉아 있는지를 결정하기 위해 포즈 및/또는 매핑 정보를 사용한다. 콘솔(106)은 사용자(101)에 의해 수행된 행위(예를 들어, 좌석(110)에 착석)가 트리거 행위(702에서 예 경로)로서 자격을 갖는다고 결정한다. 콘솔(106)이 사용자(101)가 좌석(110)에 앉아 있지 않다고 결정하는 예들에서, 콘솔(106)은 유휴 콘텐츠를 계속해서 제시한다(702로부터의 아니오 경로).
콘솔(106)은 트리거된 인공 현실 콘텐츠가 HMD(112) 내에서 제시되게 할 수 있다(703). 예를 들어, 도 1b를 참조하면, 콘솔(106)은 운전 경험을 반영하는 인공 현실 콘텐츠(122B)를 포함하는 인공 현실 환경을 생성한다. 콘솔(106)은 인공 현실 콘텐츠(122B)가 HMD(112) 내에 제시되게 한다. 도 1b의 예에서, 인공 현실 콘텐츠(122B)는 물리적 환경(120)으로부터의 물리적 요소들을 포함하지 않는 몰입형 운전 경험을 제시할 수 있다. 그러나, 다른 예들에서, 인공 현실 콘텐츠(122B)는 몰입 경험을 제공하기 보다는 인공 현실 콘텐츠로 물리적 환경(120)의 양태들을 증강할 수 있다.
콘솔(106)은 사용자(101)가 트리거해제 행위를 수행했는지 여부를 결정할 수 있다(704). 예를 들어, 도 1d를 참조하면, 콘솔(106 및/또는 112)은 모션을 검출하고 이미지들을 캡처한다. 콘솔(106)은 검출된 모션 및 캡처된 이미지들을 사용하여 사용자(101)의 포즈를 결정한다. 콘솔(106)은 사용자(101)가 좌석(110)에 앉은 후 서 있다고 결정하고, 콘솔(106)은 서 있는 사용자(101)의 모션이 트리거해제 행위로서 자격을 갖는다고 추가로 결정한다.
콘솔(106)은 트리거된 인공 현실 콘텐츠의 제시를 중단할 수 있다(705). 예를 들어, 다시 도 1d를 참조하면, 콘솔(106)은 인공 현실 콘텐츠(122A)와 같이, 물리적 환경(120)의 이미지를 포함하는 인공 현실 콘텐츠(122D)를 생성한다. 콘솔(106)은 인공 현실 콘텐츠(122D)가 HMD(112) 내에 제시되게 한다. 일부 예들에서, 인공 현실 콘텐츠(122D)는 인공 현실 콘텐츠(122A)와 실질적으로 유사할 수 있고, 트리거 행위를 검출하기 전에 제시되는 동일한 유형의 "유휴" 콘텐츠를 제시하는 것에 대응할 수 있다. 따라서, 콘솔(106)은 사용자(101)가 좌석(110)에 앉았다가 서 있는 것을 검출하면 인공 현실 콘텐츠(122C)의 제시를 중단하고 인공 현실 콘텐츠(122C)를 유휴 인공 현실 콘텐츠(예를 들어, 122D)로 대체한다.
임의의 흐름도들 또는 흐름 다이어그램들을 포함하여, 본원에 설명된 프로세스들, 장치들 및 다른 예들 또는 예시들의 경우, 본원에 설명된 기법들 중 임의의 것에 포함된 소정 동작들, 행위들, 단계들 또는 이벤트들은 상이한 시퀀스로 수행될 수 있거나, 추가될 수 있거나. 병합되거나, 완전히 생략(예를 들어, 설명된 모든 행위들 또는 이벤트들이 기법들의 실행에 필요하지 않음)될 수 있다. 또한, 소정 예들에서, 동작들, 행위들, 단계들, 또는 이벤트들은 예를 들어, 다중-스레드 프로세싱, 인터럽트 프로세싱, 또는 다중 프로세서들을 통해 순차적이 아니라 동시에 수행될 수 있다. 추가로 소정 동작들, 행위들, 단계들 또는 이벤트들은 자동으로 수행되는 것으로 구체적으로 식별되지 않더라도 자동으로 수행될 수 있다. 또한, 자동으로 수행되는 것으로 설명된 소정 동작들, 행위들, 단계들 또는 이벤트들은 대안적으로 자동으로 수행되지 않을 수 있지만, 오히려 그러한 동작들, 행위들, 단계들 또는 이벤트들은 일부 예들에서, 입력 또는 다른 이벤트에 대한 응답으로 수행될 수 있다.
예시의 편의를 위해, 제한된 수의 디바이스들(예를 들어, HMD(112), 콘솔(106), 외부 센서들(190), 카메라들(192), 네트워크들(104) 등)만이 도면들 및/또는 본원에서 참조된 다른 예시들에 도시되어 있다. 그러나, 본 개시내용의 하나 이상의 양태들에 따른 기법들은 이러한 시스템들, 구성요소들, 디바이스들, 모듈들 및/또는 다른 항목들 중 더 많은 것으로 수행될 수 있고, 이러한 시스템들, 구성요소들, 디바이스들, 모듈들 및 /또는 다른 항목들에 대한 집합적 참조들은 임의의 수의 이러한 시스템들, 구성요소들, 디바이스들, 모듈들 및/또는 다른 항목들을 나타낼 수 있다.
본원에 포함된 도면들 각각은 본 개시내용의 양태의 적어도 하나의 예시적인 구현을 예시한다. 그러나, 본 개시내용의 범위는 그러한 구현들로 제한되지 않는다. 따라서, 도면들에 예시된 것들을 넘어 본원에 설명된 시스템들, 방법들 또는 기법들의 다른 예 또는 대안적인 구현들은 다른 경우들에 적절할 수 있다. 그러한 구현들은 도면들에 포함된 디바이스들 및/또는 구성요소들의 서브세트를 포함할 수 있고/있거나 도면들에 도시되지 않은 추가 디바이스들 및/또는 구성요소들을 포함할 수 있다.
위에서 설명된 상세한 설명은 다양한 구성들의 설명으로 의도되고 본원에 설명된 개념들이 실시될 수 있는 유일한 구성들을 나타내도록 의도되지 않는다. 상세한 설명은 다양한 개념들에 대한 충분한 이해를 제공하기 위한 목적으로 구체적인 세부사항들을 포함한다. 그러나, 이러한 개념들은 이러한 특정 세부사항들 없이 실시될 수 있다. 일부 경우들에서, 잘 알려진 구조들 및 구성요소들은 그러한 개념들을 모호하게 하는 것을 피하기 위해 참조된 도면들에서 블록도 형태로 도시된다.
따라서, 다양한 시스템들, 디바이스들 및/또는 구성요소들의 하나 이상의 구현들이 특정 도면들을 참조하여 설명될 수 있지만, 그러한 시스템들, 디바이스들 및/또는 구성요소들은 다수의 상이한 방식들로 구현될 수 있다. 예를 들어, 별도의 디바이스들로서 본원의 도면들(예를 들어, 도 1a, 도 1b, 도 1c, 도 1d, 도 2, 및/또는 도 3)에 예시된 하나 이상의 디바이스들은 대안적으로 단일 디바이스로서 구현될 수 있고; 별도의 구성요소들로 예시된 하나 이상의 구성요소들은 대안적으로 단일 구성요소로 구현될 수 있다. 또한, 일부 예들에서, 단일 디바이스로서 본원의 도면들에 예시된 하나 이상의 디바이스들은 대안적으로 다중 디바이스들로서 구현될 수 있고; 단일 구성요소로 예시된 하나 이상의 구성요소들은 대안적으로 다중 구성요소들로서 구현될 수 있다. 이러한 다수의 디바이스들 및/또는 구성요소들 각각은 유선 또는 무선 통신을 통해 직접 결합되고/되거나 하나 이상의 네트워크들을 통해 원격으로 결합될 수 있다. 또한, 본원의 다양한 도면들에 예시될 수 있는 하나 이상의 디바이스들 또는 구성요소들은 대안적으로 그러한 도면들에 도시되지 않은 다른 디바이스 또는 구성요소의 일부로서 구현될 수 있다. 이러한 방식 및 다른 방식들로, 본원에 설명된 기능들 중 일부는 2개 이상의 디바이스들 또는 구성요소들에 의한 분산 프로세싱을 통해 수행될 수 있다.
또한, 소정 동작들, 기법들, 특징들 및/또는 기능들은 특정 구성요소들, 디바이스들 및/또는 모듈들에 의해 수행되는 것으로 본원에서 설명될 수 있다. 다른 예들에서, 그러한 동작들, 기법들, 특징들, 및/또는 기능들은 상이한 구성요소들, 디바이스들, 또는 모듈들에 의해 수행될 수도 있다. 따라서, 하나 이상의 구성요소들, 디바이스들 또는 모듈들에 기인되는 것으로 본원에서 설명될 수 있는 일부 동작들, 기법들, 특징들 및/또는 기능들은 이러한 방식으로 본원에서 구체적으로 설명되지 않더라도 다른 예들에서 다른 구성요소들, 디바이스들 및/또는 모듈들에 기인될 수 있다.
일부 예들의 설명들과 관련하여 특정 장점들이 식별되었지만, 다양한 다른 예들은 열거된 장점들의 일부, 모두를 포함하거나, 포함하지 않을 수 있다. 기술적인 것이든 다른 것이든, 다른 장점들은 본 개시내용으로부터 통상의 기술자에게 명백해질 수 있다. 또한, 특정 예들이 본원에 개시되었지만, 본 개시내용의 양태들은, 현재 알려져 있든 아니든, 임의의 수의 기법들을 사용하여 구현될 수 있고, 따라서, 본 개시내용은 본 개시내용에서 구체적으로 설명 및/또는 예시된 예들로 제한되지 않는다.
본 개시내용에서 설명된 기법들은 적어도 부분적으로 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 예를 들어, 설명된 기법들의 다양한 양태들은 하나 이상의 마이크로프로세서들, DSP들, 주문형 집적 회로(ASIC)들, 현장 프로그래밍가능 게이트 어레이(FPGA)들, 또는 임의의 다른 등가 집적 또는 이산 논리 회로, 및 그러한 구성요소들의 임의의 조합을 포함하는 하나 이상의 프로세서들 내에서 구현될 수 있다. "프로세서" 또는 "프로세싱 회로"라는 용어는 일반적으로 단독으로 또는 다른 논리 회로, 또는 임의의 다른 등가 회로와 조합하여 전술한 논리 회로 중 임의의 것을 지칭할 수 있다. 하드웨어를 포함하는 제어 유닛은 또한 본 개시내용의 기법들 중 하나 이상을 수행할 수 있다.
이러한 하드웨어, 소프트웨어, 및 펌웨어는 본 개시내용에서 설명된 다양한 동작들 및 기능들을 지원하기 위해 동일한 디바이스 내에서 또는 별도의 디바이스들 내에서 구현될 수 있다. 또한, 설명된 유닛들, 모듈들 또는 구성요소들 중 임의의 것은 개별적이지만 상호운용 가능한 논리 디바이스들로서 함께 또는 별도로 구현될 수 있다. 모듈들 또는 유닛들과 같은 상이한 피처(feature)들의 묘사는 다른 기능적 양태들만을 강조하기 위한 것이고 그러한 모듈들이나 유닛들이 별도의 하드웨어 또는 소프트웨어 구성요소들에 의해 실현되어야 함을 반드시 의미하지는 않는다. 오히려, 하나 이상의 모듈들 또는 유닛들과 연관된 기능은 별도의 하드웨어 또는 소프트웨어 구성요소들에 의해 수행되거나 공통 또는 별도의 하드웨어 또는 소프트웨어 구성요소들 내에 통합될 수 있다.
본 개시내용에서 설명된 기법들은 또한 명령들을 포함하는 컴퓨터-판독가능 저장 매체와 같은 컴퓨터-판독가능 매체에서 구현되거나 인코딩될 수 있다. 컴퓨터-판독 가능 저장 매체에 내장되거나 인코딩된 명령들은 예를 들어 명령들이 실행될 때 프로그램가능 프로세서, 또는 다른 프로세서가 방법을 수행하게 할 수 있다. 컴퓨터 판독 가능 저장 매체는 RAM(Random Access Memory), ROM(Read Only Memory), PROM(Programmable Read Only Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electronically Erasable Programmable Read Only Memory), 플래시 메모리, 하드 디스크, CD-ROM, 플로피 디스크, 카세트, 자기 매체, 광학 매체 또는 다른 컴퓨터 판독가능 매체를 포함할 수 있다.
본원의 다양한 예들에 의해 설명된 바와 같이, 본 개시내용의 기법들은 인공 현실 시스템을 포함하거나 이와 함께 구현될 수 있다. 설명된 바와 같이, 인공 현실은 예를 들어, 가상 현실(VR), 증강 현실(AR), 혼합 현실(MR), 하이브리드 현실, 또는 이들의 일부 조합 및/또는 파생물들을 포함할 수 있는, 사용자에게 제시 전에 일부 방식으로 조정된 현실 형태이다. 인공 현실 콘텐츠는 완전히 생성된 콘텐츠 또는 캡처된 콘텐츠(예를 들어, 현실-세계 사진들)와 결합된 생성된 콘텐츠를 포함할 수 있다. 인공 현실 콘텐츠는 비디오, 오디오, 햅틱 피드백, 또는 이의 일부 조합을 포함할 수 있고, 이들 중 임의의 것은 단일 채널 또는 다중 채널들(이를테면 뷰어에게 3-차원 효과를 생성하는 스테레오 비디오)로 제시될 수 있다. 또한, 일부 예들에서, 인공 현실은 예를 들어 인공 현실의 콘텐츠를 생성하는 데 사용되고/되거나 인공 현실에 사용되는(예를 들어, 인공 현실의 활동들을 수행하는) 애플리케이션들, 제품들, 액세서리들, 서비스들, 또는 이들의 일부 조합과 연관될 수 있다. 인공 현실 콘텐츠를 제공하는 인공 현실 시스템은 호스트 컴퓨터 시스템에 연결된 머리-장착 디스플레이(HMD), 독립형 HMD, 모바일 디바이스 또는 컴퓨팅 시스템, 또는 인공 현실 콘텐츠를 하나 이상의 뷰어들에게 제공할 수 있는 임의의 다른 하드웨어 플랫폼을 포함하여 다양한 플랫폼들에서 구현될 수 있다.
Claims (15)
- 시스템에 있어서,
복수의 물리적 객체들을 포함하는 물리적 환경을 나타내는 이미지 데이터를 캡처하도록 구성된 이미지 캡처 시스템;
사용자에 의해 착용되는 머리-장착 디스플레이(HMD: Head Mounted Display);
상기 이미지 데이터에 기반하여, 상기 HMD에 관한 포지션 정보 및 상기 복수의 물리적 객체들에 포함된 트리거 객체를 포함하는 상기 물리적 환경의 맵을 결정하도록 구성된 매핑 엔진; 및
애플리케이션 엔진을 포함하고, 상기 애플리케이션 엔진은:
상기 사용자가 상기 트리거 객체에 대해 트리거 행위를 수행했다고 결정하고,
상기 사용자가 상기 트리거 행위를 수행했다는 결정에 응답하여, 인공 현실 환경을 생성하고,
상기 HMD와 연관된 디스플레이에 상기 인공 현실 환경을 제시하고,
상기 사용자가 트리거해제 행위를 수행했다고 결정하고,
상기 사용자가 트리거해제 행위를 수행했다는 결정에 응답하여, 상기 인공 현실 환경의 제시를 중단하도록 구성되는, 시스템. - 제 1 항에 있어서, 상기 트리거 객체는 앉은 포지션에 있는 사용자를 지지할 수 있는 객체이고, 상기 트리거 행위는 상기 사용자가 상기 트리거 객체에 앉는 것이고, 선택적으로, 상기 트리거해제 행위는 사용자가 상기 트리거 객체에 앉았다가 서는 것인, 시스템.
- 제 1 항에 있어서, 상기 인공 현실 환경의 제시를 중단하기 위해, 상기 애플리케이션 엔진은:
상기 물리적 환경의 이미지를 제시하도록 추가로 구성되는, 시스템. - 제 1 항에 있어서, 상기 인공 현실 환경은 트리거된 인공 현실 환경이고, 상기 애플리케이션 엔진은:
상기 사용자가 상기 트리거 객체에 대해 트리거 행위를 수행했다고 결정하기 전에, 유휴 인공 현실 환경을 제시하도록 추가로 구성되는, 시스템. - 제 4 항에 있어서, 상기 트리거된 인공 현실 환경의 제시를 중단하기 위해, 상기 애플리케이션 엔진은:
상기 유휴 인공 현실 환경을 제시하도록 추가로 구성되는, 시스템. - 제 4 항에 있어서,
상기 트리거된 인공 현실 콘텐츠를 생성하기 위해, 상기 애플리케이션 엔진은 상기 사용자가 상기 트리거 행위를 수행했다는 결정에 응답하여 모드 변경을 수행하도록 추가로 구성되고;
상기 트리거된 인공 현실 환경의 제시를 중단하기 위해, 상기 애플리케이션 엔진은 상기 사용자가 트리거해제 행위를 수행했다는 결정에 응답하여 다른 모드 변경을 수행하도록 추가로 구성되는, 시스템. - 제 1 항에 있어서, 상기 애플리케이션 엔진은:
상기 트리거 객체를 식별하는 입력을 검출하도록 추가로 구성되고, 상기 트리거 객체는 상기 물리적 환경 내의 임의의 물리적 객체인, 시스템. - 제 1 항에 있어서, 상기 인공 현실 환경을 생성하기 위해, 상기 애플리케이션 엔진은:
상기 물리적 환경의 이미지에 인공 현실 콘텐츠를 오버레이(overlay)하거나, 또는
상기 물리적 환경의 속성들, 시간, 날짜, 트리거 객체 유형, 트리거 행위 유형, 또는 환경 속성들 중 적어도 하나에 관한 정보에 기반하여 상기 인공 현실 콘텐츠를 생성하도록 추가로 구성되는, 시스템. - 제 1 항에 있어서, 상기 복수의 물리적 객체들은 입력을 수용할 수 있는 디바이스를 포함하고, 상기 인공 현실 환경을 생성하기 위해, 상기 애플리케이션 엔진은:
상기 물리적 환경에서 조명 변경, 상기 물리적 환경에서 음악 제시, 또는 상기 디바이스에 입력 제공 중 하나 이상을 포함하여 상기 물리적 환경의 속성에 대한 행위를 수행하도록 추가로 구성되는, 시스템. - 제 1 항에 있어서, 상기 인공 현실 환경을 생성하기 위해, 상기 애플리케이션 엔진은:
상기 사용자를 식별하고;
상기 사용자에 관한 정보에 기반하여 상기 인공 현실 환경을 생성하도록 추가로 구성되는, 시스템. - 제 10 항에 있어서, 상기 사용자를 식별하기 위해, 상기 애플리케이션 엔진은:
상기 HMD에 의해 검출된 생체인증 정보에 기반하여 상기 사용자를 식별하거나: 또는
상기 HMD에 의해 제시된 프롬프트에 응답하여 상기 HMD에 의해 검출된 입력에 기반하여 상기 사용자를 식별하도록 추가로 구성되는, 시스템. - 제 10 항에 있어서, 상기 사용자에 관한 정보는, 상기 사용자와 연관된 프로파일 정보이거나, 상기 사용자가 소유한 객체에 기반하거나, 또는 상기 사용자가 유지하는 캘린더에서 파생된 정보인, 시스템.
- 방법에 있어서,
인공 현실 시스템에 의해, 사용자에 의해 착용된 머리-장착 디스플레이(HMD)를 포함하는 복수의 물리적 객체들을 포함하는 물리적 환경을 나타내는 이미지 데이터를 캡처하는 단계;
상기 인공 현실 시스템에 의해 그리고 상기 이미지 데이터에 기반하여, 상기 HMD에 관한 포지션 정보 및 상기 복수의 물리적 객체들에 포함된 트리거 객체를 포함하는 상기 물리적 환경의 맵을 결정하는 단계;
상기 인공 현실 시스템에 의해, 사용자가 상기 트리거 객체에 대해 트리거 행위를 수행했음을 결정하는 단계;
상기 사용자가 트리거 행위를 수행했다는 결정에 응답하여, 인공 현실 콘텐츠를 생성하는 단계;
상기 인공 현실 시스템에 의해, 상기 HMD와 연관된 디스플레이에 상기 인공 현실 콘텐츠를 제시하는 단계;
상기 인공 현실 시스템에 의해, 상기 사용자가 트리거해제 행위를 수행했음을 결정하는 단계; 및
상기 사용자가 상기 트리거해제 행위를 수행했다는 결정에 응답하여, 상기 인공 현실 콘텐츠의 제시를 중단하는 단계를 포함하는, 방법. - 제 13 항에 있어서, 상기 인공 현실 콘텐츠는 트리거된 인공 현실 콘텐츠이고, 상기 방법은:
상기 인공 현실 시스템에 의해 그리고 상기 사용자가 상기 트리거 객체에 대해 트리거 행위를 수행했다고 결정하기 전에, 유휴 인공 현실 콘텐츠를 제시하는 단계를 더 포함하는, 방법. - 명령들을 포함하는 비-일시적 컴퓨터-판독가능 매체에 있어서,
상기 명령들은 인공 현실 시스템의 프로세싱 회로가:
사용자에 의해 착용된 머리-장착 디스플레이(HMD)를 포함하는 복수의 물리적 객체들을 포함하는 물리적 환경을 나타내는 이미지 데이터를 캡처하는 동작;
상기 이미지 데이터에 기반하여, 상기 HMD에 관한 포지션 정보 및 상기 복수의 물리적 객체들에 포함된 트리거 객체를 포함하는 상기 물리적 환경의 맵을 결정하는 동작;
상기 사용자가 상기 트리거 객체에 대해 트리거 행위를 수행했다고 결정하는 동작;
상기 사용자가 트리거 행위를 수행했다는 결정에 응답하여, 인공 현실 콘텐츠를 생성하는 동작;
상기 HMD와 연관된 디스플레이에 상기 인공 현실 환경을 제시하는 동작;
상기 사용자가 트리거해제 행위를 수행했다고 결정하는 동작;
상기 사용자가 상기 트리거해제 행위를 수행했다는 결정에 응답하여, 상기 인공 현실 콘텐츠의 제시를 중단하는 동작을 포함하는 동작들을 수행하게 하기 위한 것인, 비-일시적 컴퓨터-판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/567,563 US11307647B2 (en) | 2019-09-11 | 2019-09-11 | Artificial reality triggered by physical object |
US16/567,563 | 2019-09-11 | ||
PCT/US2020/045538 WO2021050184A1 (en) | 2019-09-11 | 2020-08-08 | Artificial reality triggered by physical object |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220058940A true KR20220058940A (ko) | 2022-05-10 |
Family
ID=72234965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227011363A KR20220058940A (ko) | 2019-09-11 | 2020-08-08 | 물리적 객체에 의해 트리거된 인공 현실 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11307647B2 (ko) |
EP (1) | EP4028860A1 (ko) |
JP (1) | JP2022547374A (ko) |
KR (1) | KR20220058940A (ko) |
CN (1) | CN114174959B (ko) |
WO (1) | WO2021050184A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024029714A1 (ko) * | 2022-08-04 | 2024-02-08 | 삼성전자 주식회사 | 기상 상태를 나타내는 시각적 객체를 표시하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체 |
WO2024043484A1 (ko) * | 2022-08-26 | 2024-02-29 | 삼성전자주식회사 | 정보를 가상 공간에 표시하는 방법 및 장치 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11307647B2 (en) * | 2019-09-11 | 2022-04-19 | Facebook Technologies, Llc | Artificial reality triggered by physical object |
US11521361B1 (en) | 2021-07-01 | 2022-12-06 | Meta Platforms Technologies, Llc | Environment model with surfaces and per-surface volumes |
US12056268B2 (en) | 2021-08-17 | 2024-08-06 | Meta Platforms Technologies, Llc | Platformization of mixed reality objects in virtual reality environments |
US12030577B2 (en) | 2021-09-30 | 2024-07-09 | Snap Inc. | AR based performance modulation of a personal mobility system |
US11900550B2 (en) | 2021-09-30 | 2024-02-13 | Snap Inc. | AR odometry using sensor data from a personal vehicle |
US11748944B2 (en) | 2021-10-27 | 2023-09-05 | Meta Platforms Technologies, Llc | Virtual object structures and interrelationships |
US11813528B2 (en) | 2021-11-01 | 2023-11-14 | Snap Inc. | AR enhanced gameplay with a personal mobility system |
WO2023087959A1 (zh) * | 2021-11-22 | 2023-05-25 | 华为技术有限公司 | 图像合成方法、装置、电子设备和计算机可读存储介质 |
US12056827B2 (en) | 2021-12-30 | 2024-08-06 | Snap Inc. | AR-enhanced detection and localization of a personal mobility device |
US12093447B2 (en) | 2022-01-13 | 2024-09-17 | Meta Platforms Technologies, Llc | Ephemeral artificial reality experiences |
US12026527B2 (en) | 2022-05-10 | 2024-07-02 | Meta Platforms Technologies, Llc | World-controlled and application-controlled augments in an artificial-reality environment |
US12106580B2 (en) * | 2022-06-14 | 2024-10-01 | Snap Inc. | AR assisted safe cycling |
US20240248528A1 (en) * | 2023-01-25 | 2024-07-25 | Meta Platforms Technologies, Llc | Artificial Reality Entry Spaces for Virtual Reality Experiences |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9219901B2 (en) | 2012-06-19 | 2015-12-22 | Qualcomm Incorporated | Reactive user interface for head-mounted display |
WO2016041088A1 (en) * | 2014-09-19 | 2016-03-24 | Sulon Technologies Inc. | System and method for tracking wearable peripherals in augmented reality and virtual reality applications |
WO2016144741A1 (en) * | 2015-03-06 | 2016-09-15 | Illinois Tool Works Inc. | Sensor assisted head mounted displays for welding |
US10335572B1 (en) | 2015-07-17 | 2019-07-02 | Naveen Kumar | Systems and methods for computer assisted operation |
CN117251053A (zh) | 2016-12-29 | 2023-12-19 | 奇跃公司 | 基于外部条件的可穿戴显示装置的自动控制 |
GB201709199D0 (en) * | 2017-06-09 | 2017-07-26 | Delamont Dean Lindsay | IR mixed reality and augmented reality gaming system |
US10796487B2 (en) * | 2017-09-27 | 2020-10-06 | Fisher-Rosemount Systems, Inc. | 3D mapping of a process control environment |
US11126846B2 (en) * | 2018-01-18 | 2021-09-21 | Ebay Inc. | Augmented reality, computer vision, and digital ticketing systems |
US10795458B2 (en) * | 2018-08-03 | 2020-10-06 | Magic Leap, Inc. | Unfused pose-based drift correction of a fused pose of a totem in a user interaction system |
US11004269B2 (en) * | 2019-04-22 | 2021-05-11 | Microsoft Technology Licensing, Llc | Blending virtual environments with situated physical reality |
US11361676B2 (en) * | 2019-06-14 | 2022-06-14 | International Business Machines Corporation, Armonk, Ny | Augmented reality techniques for simultaneously learning multiple languages |
US11307647B2 (en) * | 2019-09-11 | 2022-04-19 | Facebook Technologies, Llc | Artificial reality triggered by physical object |
-
2019
- 2019-09-11 US US16/567,563 patent/US11307647B2/en active Active
-
2020
- 2020-08-08 KR KR1020227011363A patent/KR20220058940A/ko unknown
- 2020-08-08 CN CN202080054473.3A patent/CN114174959B/zh active Active
- 2020-08-08 EP EP20761419.9A patent/EP4028860A1/en active Pending
- 2020-08-08 JP JP2021577408A patent/JP2022547374A/ja active Pending
- 2020-08-08 WO PCT/US2020/045538 patent/WO2021050184A1/en unknown
-
2022
- 2022-04-15 US US17/659,431 patent/US11720167B2/en active Active
-
2023
- 2023-08-04 US US18/365,523 patent/US20230384859A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024029714A1 (ko) * | 2022-08-04 | 2024-02-08 | 삼성전자 주식회사 | 기상 상태를 나타내는 시각적 객체를 표시하기 위한 웨어러블 장치, 방법, 및 비일시적 컴퓨터 판독가능 저장 매체 |
WO2024043484A1 (ko) * | 2022-08-26 | 2024-02-29 | 삼성전자주식회사 | 정보를 가상 공간에 표시하는 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
US20220236791A1 (en) | 2022-07-28 |
WO2021050184A1 (en) | 2021-03-18 |
JP2022547374A (ja) | 2022-11-14 |
US20230384859A1 (en) | 2023-11-30 |
EP4028860A1 (en) | 2022-07-20 |
US11307647B2 (en) | 2022-04-19 |
CN114174959B (zh) | 2024-06-18 |
US11720167B2 (en) | 2023-08-08 |
CN114174959A (zh) | 2022-03-11 |
US20210072817A1 (en) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720167B2 (en) | Artificial reality triggered by physical object | |
US11055920B1 (en) | Performing operations using a mirror in an artificial reality environment | |
JP6316387B2 (ja) | 広範囲同時遠隔ディジタル提示世界 | |
US11743064B2 (en) | Private collaboration spaces for computing systems | |
US11145126B1 (en) | Movement instruction using a mirror in an artificial reality environment | |
KR20230048152A (ko) | 환경에서 객체들을 조작하기 위한 방법들 | |
US11204639B2 (en) | Artificial reality system having multiple modes of engagement | |
US11416067B2 (en) | Suspend mode feature for artificial reality systems | |
US11036987B1 (en) | Presenting artificial reality content using a mirror | |
US11195320B2 (en) | Feed-forward collision avoidance for artificial reality environments | |
EP4218203B1 (en) | Recommended avatar placement in an environmental representation of a multi-user communication session | |
US20230252691A1 (en) | Passthrough window object locator in an artificial reality system | |
US20240220031A1 (en) | Muting mode for a virtual object representing one or more physical elements | |
WO2024072594A1 (en) | Mapping a real-world room for a shared artificial reality environment | |
CN117999115A (zh) | 为多用户通信会话对准扫描环境 |