KR102651534B1 - 확장 현실 레코더 - Google Patents

확장 현실 레코더 Download PDF

Info

Publication number
KR102651534B1
KR102651534B1 KR1020227036002A KR20227036002A KR102651534B1 KR 102651534 B1 KR102651534 B1 KR 102651534B1 KR 1020227036002 A KR1020227036002 A KR 1020227036002A KR 20227036002 A KR20227036002 A KR 20227036002A KR 102651534 B1 KR102651534 B1 KR 102651534B1
Authority
KR
South Korea
Prior art keywords
content
rendering
computer
time
electronic device
Prior art date
Application number
KR1020227036002A
Other languages
English (en)
Other versions
KR20220156870A (ko
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 애플 인크.
Priority to KR1020247009579A priority Critical patent/KR20240045344A/ko
Publication of KR20220156870A publication Critical patent/KR20220156870A/ko
Application granted granted Critical
Publication of KR102651534B1 publication Critical patent/KR102651534B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47205End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Databases & Information Systems (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 기술의 구현예들은 확장 현실 경험을, 경험이 상이한 뷰포인트 또는 관점으로부터 나중의 시간에 재생되게 있게 하는 방식으로, 기록하기 위한 시스템들 및 방법들을 제공한다. 이는 기록 동안 사용자에게 디스플레이하기 위해 렌더링되었던 컴퓨터 생성 콘텐츠가 기록 내의 정확한 시간 및 위치에서 그러나 상이한 관점으로부터 재생 동안 재렌더링되게 한다. 이러한 유형의 관찰자 중심 재생을 용이하게 하기 위해, 기록은 기록 내의 각각의 시점에서의 컴퓨터 생성 콘텐츠를 재렌더링하기 위한 자원들을 참조하는 컴퓨터 생성 콘텐츠 트랙을 포함한다.

Description

확장 현실 레코더
관련 출원의 상호 참조
본 출원은, 발명의 명칭이 "Computer-Generated Reality Recorder"이고 2020년 4월 17일자로 출원된 미국 가특허 출원 제63/011,969호에 대한 우선권의 이점을 주장하며, 그 개시내용은 이로써 그 전체가 본 명세서에 포함된다.
기술분야
본 기술은 대체적으로 확장 현실 환경들에 관한 것이다.
증강 현실 기술(augmented reality technology)은 전자 정보로 증강되는 향상된 물리적 환경을 제공함으로써 가상 환경들과 물리적 환경 사이의 간극을 메우는 것을 목표로 한다. 그 결과, 전자 정보는 사용자에 의해 인지된 바와 같은 물리적 환경의 일부인 것으로 보인다. 일 예에서, 증강 현실 기술은 향상된 물리적 환경에 오버레이되는, 전자 정보와 상호작용하기 위한 사용자 인터페이스를 추가로 제공한다.
본 기술의 특정 특징들은 첨부된 청구항들에 제시된다. 그렇지만, 설명을 위해, 본 기술의 여러 실시예들이 다음 도면들에서 제시된다.
도 1은 하나 이상의 구현예들에 따른, 본 시스템을 구현할 수 있는 다양한 전자 디바이스들을 포함하는 예시적인 시스템 아키텍처를 예시한다.
도 2는 본 기술의 하나 이상의 구현예들에 따라 구현될 수 있는 예시적인 소프트웨어 아키텍처를 예시한다.
도 3은 본 기술의 구현예들에 따른 전자 디바이스의 추가 특징부들을 예시한다.
도 4는 본 기술의 구현예들에 따른, 일정 환경에서의 경험을 캡처하는 다수의 전자 디바이스들을 예시한다.
도 5는 본 기술의 구현예들에 따라 확장 현실 경험을 기록, 편집, 및 재생하는 다양한 스테이지들을 예시한다.
도 6은 본 기술의 구현예들에 따른, 확장 현실 경험의 기록의 예시적인 특징부들을 예시한다.
도 7은 본 기술의 구현예들에 따른, 확장 현실 경험을 기록하기 위한 예시적인 프로세스의 흐름도를 예시한다.
도 8은 본 기술의 구현예들에 따른, 확장 현실 경험을 기록하기 위한 다른 예시적인 프로세스의 흐름도를 예시한다.
도 9는 본 기술의 구현예들에 따른, 확장 현실 경험을 편집하기 위한 예시적인 프로세스의 흐름도를 예시한다.
도 10은 본 기술의 구현예들에 따른, 기록된 확장 현실 경험의 예시적인 특징부들을 예시한다.
도 11은 본 기술의 구현예들에 따른, 기록된 확장 현실 경험을 재생하기 위한 예시적인 프로세스의 흐름도를 예시한다.
도 12는 본 기술의 하나 이상의 구현예들이 구현될 수 있는 전자 시스템을 예시한다.
아래에 제시되는 상세한 설명은 본 기술의 다양한 구성들에 대한 설명으로 의도되며 본 기술이 실시될 수 있는 유일한 구성들을 나타내는 것으로 의도되지 않는다. 첨부된 도면들은 본 명세서에 포함되고, 상세한 설명의 일부를 구성한다. 상세한 설명은 본 기술의 완전한 이해를 제공하는 목적을 위한 특정 상세사항들을 포함한다. 그러나, 본 기술은 본 명세서에 제시된 특정 상세사항들로 제한되지 않으며, 하나 이상의 다른 구현예들을 사용하여 실시될 수 있다. 하나 이상의 구현예들에서, 본 기술의 개념들을 모호하게 하는 것을 피하기 위해, 구조들 및 컴포넌트들은 블록도 형태로 도시된다.
물리적 환경은 사람들이 전자 디바이스들의 도움 없이 감지하고/하거나 그와 상호작용할 수 있는 물리적 세계를 지칭한다. 물리적 환경은 물리적 표면 또는 물리적 객체와 같은 물리적 특징부들을 포함할 수 있다. 예를 들어, 물리적 환경은 물리적 나무들, 물리적 건물들, 및 물리적 사람들을 포함하는 물리적 공원에 대응한다. 사람들은, 예컨대 시각, 촉각, 청각, 미각, 및 후각을 통해, 물리적 환경을 직접 감지하고/하거나 그와 상호작용할 수 있다. 대조적으로, 확장 현실(extended reality, XR) 환경은 사람들이 전자 디바이스를 통해 감지하고/하거나 그와 상호작용하는 완전히 또는 부분적으로 시뮬레이션된 환경을 지칭한다. 예를 들어, XR 환경은 증강 현실(augmented reality, AR) 콘텐츠, 혼합 현실(mixed reality, MR) 콘텐츠, 가상 현실(virtual reality, VR) 콘텐츠 등을 포함할 수 있다. XR 시스템을 이용하면, 사람의 신체적 움직임들 또는 그 표현들의 서브세트가 추적되고, 이에 응답하여, XR 환경에서 시뮬레이션된 하나 이상의 가상 객체들의 하나 이상의 특성들이 적어도 하나의 물리 법칙에 따르는 방식으로 조정된다. 하나의 예로서, XR 시스템은 머리 움직임을 검출할 수 있고, 이에 응답하여, 사람에게 제시되는 그래픽 콘텐츠 및 음장(acoustic field)을 그러한 뷰들 및 소리들이 물리적 환경에서 변경되는 방법과 유사한 방식으로 조정할 수 있다. 다른 예로서, XR 시스템은 XR 환경을 제시하는 전자 디바이스(예컨대, 모바일 폰, 태블릿, 랩톱 등)의 이동을 검출할 수 있고, 이에 응답하여, 사람에게 제시되는 그래픽 콘텐츠 및 음장을 그러한 뷰들 및 소리들이 물리적 환경에서 변경되는 방법과 유사한 방식으로 조정할 수 있다. 일부 상황들에서(예컨대, 접근성 이유들로 인해), XR 시스템은 물리적 모션들의 표현들(예컨대, 음성 커맨드들)에 응답하여 XR 환경 내의 그래픽 콘텐츠의 특성(들)을 조정할 수 있다.
사람이 다양한 XR 환경들을 감지하고/하거나 그와 상호작용할 수 있게 하는 많은 상이한 유형들의 전자 시스템들이 존재한다. 예들은 헤드-장착가능 시스템들, 투사-기반 시스템들, 헤드-업(head-up) 디스플레이(HUD)들, 디스플레이 능력이 통합된 차량 앞유리들, 디스플레이 능력이 통합된 창문들, 사람의 눈들에 배치되도록 설계된 렌즈들로서 형성된 디스플레이들(예컨대, 콘택트 렌즈들과 유사함), 헤드폰들/이어폰들, 스피커 어레이들, 입력 시스템들(예컨대, 햅틱 피드백이 있거나 또는 없는 웨어러블 또는 핸드헬드 제어기들), 스마트폰들, 태블릿들, 및 데스크톱/랩톱 컴퓨터들을 포함한다. 헤드-장착가능 시스템은 하나 이상의 스피커(들) 및 통합 불투명 디스플레이를 가질 수 있다. 대안적으로, 헤드-장착가능 시스템은 외부 불투명 디스플레이(예컨대, 스마트폰)를 수용하도록 구성될 수 있다. 헤드-장착가능 시스템은 물리적 환경의 이미지들 또는 비디오를 캡처하기 위한 하나 이상의 이미징 센서들, 및/또는 물리적 환경의 오디오를 캡처하기 위한 하나 이상의 마이크로폰들을 포함할 수 있다. 헤드-장착가능 시스템은 불투명 디스플레이보다는, 투명 또는 반투명 디스플레이를 가질 수 있다. 투명 또는 반투명 디스플레이는 이미지들을 표현하는 광이 사람의 눈들로 지향되는 매체를 가질 수 있다. 디스플레이는 디지털 광 프로젝션, OLED들, LED들, uLED들, 실리콘 액정 표시장치, 레이저 스캐닝 광원, 또는 이들 기술들의 임의의 조합을 이용할 수 있다. 매체는 광학 도파관, 홀로그램 매체, 광학 조합기, 광학 반사기, 또는 이들의 임의의 조합일 수 있다. 일부 구현예들에서, 투명 또는 반투명 디스플레이는 선택적으로 불투명해지도록 구성될 수 있다. 투사-기반 시스템들은 그래픽 이미지들을 사람의 망막 상에 투사하는 망막 투사 기술을 채용할 수 있다. 투사 시스템들은 또한 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투사하도록 구성될 수 있다.
본 명세서에 설명된 본 기술의 구현예들은 확장 현실(XR) 환경에서 상이한 뷰포인트로부터의 XR 경험의 다시 보기를 가능하게 하기 위해 XR 기록들의 기록, 저장, 편집, 관리, 및 재생을 제공하는 XR 시스템을 제공한다. 일 예에서, 디바이스가 위치되는 물리적 환경에 관한 시간으로 순서화된(time-ordered) 3차원(3D) 정보(예컨대, 하나 이상의 심도 센서들로부터의 심도 정보)는 경험의 확장 현실 기록을 위해 일정 기간에 걸쳐 캡처된다. 실질적으로 동일한 기간에 걸쳐, 비디오 및/또는 오디오 콘텐츠(예컨대, 공간 오디오 콘텐츠를 포함함)가 디바이스에 의해 캡처 및/또는 디스플레이될 수 있다. 실질적으로 동일한 기간에 걸쳐, 컴퓨터 생성(computer-generated, CG) 콘텐츠가 생성되고 환경의 뷰의 일부분 위에 디스플레이된다. 그 기간 동안 디스플레이되는 CG 콘텐츠에 대응하는 CG 콘텐츠는 또한 시간으로 순서화된 CG 콘텐츠로서 캡처되고, 시간으로 순서화된 3차원(3D) 정보(예컨대, 심도 정보를 포함함), 장면에 관한 정보를 포함하는 메타데이터, 비디오 및/또는 오디오와 시간적으로 정렬되어 저장된다. 그 기간 동안 디스플레이되고 XR 시스템에 의해 캡처되는 CG 콘텐츠에 대응하는 CG 콘텐츠는 장면 그래프, 그 기간 동안 디스플레이되는 CG 콘텐츠의 3D 지오메트리들, 텍스처들, 재료들, 애니메이션들 등, 및/또는 기록 사용자가 그 기간 동안 장면 내의 다른 방향들 또는 위치들을 주시하고 있었던 경우에 그 기간 동안 디스플레이될 것이었던 CG 콘텐츠의 3D 지오메트리들, 텍스처들, 재료들, 애니메이션들 등을 포함할 수 있어서, XR 기록은 임의의 뷰포인트로부터 재생될 수 있다.
기록 기간 동안(예컨대, 라이브, 또는 온라인) 그리고/또는 기록 후(예컨대, 오프라인), 물리적 환경의 3차원 복원물이 또한 (심도 정보, 비디오, 오디오 및/또는 다른 센서 데이터에 기초하여) 생성될 수 있고, 3D 복원물은 저장될 수 있고, 일부 예들에서, 시간으로 순서화된 복원 트랙은 또한, 시간으로 순서화된 CG 콘텐츠, 시간으로 순서화된 3차원(3D) 정보, 메타데이터, 비디오 및/또는 오디오와 시간적으로 정렬되게, 저장될 수 있다.
기록된 XR 경험을 재생하는 것을 원하는 경우, 3D 복원물, CG 콘텐츠 트랙, 및/또는 메타데이터 트랙(예컨대, 기록된 오디오, 비디오 및/또는 심도 정보를 포함함)은 재생 시간, 및 재생을 디스플레이하는 디바이스의 현재 위치 및/또는 뷰포인트에 기초하여 기록된 XR 경험의 뷰를 렌더링하는 데 사용된다. 이러한 방식으로, 재생의 관찰자는 XR 환경에서 하나 이상의 다수의 뷰포인트들 중 임의의 뷰포인트로부터 기록된 경험을 경험할 수 있다.
도 1은 하나 이상의 구현예들에 따른, 본 시스템을 구현할 수 있는 다양한 전자 디바이스들을 포함하는 예시적인 시스템 아키텍처(100)를 예시한다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 도면에 도시된 것들 이외의 부가적인 또는 그들과 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 유형의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 부가적인 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
시스템 아키텍처(100)는 전자 디바이스(105), 전자 디바이스(110), 전자 디바이스(115), 및 서버(120)를 포함한다. 설명의 목적들을 위해, 시스템 아키텍처(100)는 도 1에서, 전자 디바이스(105), 전자 디바이스(110), 전자 디바이스(115), 및 서버(120)를 포함하는 것으로 예시되지만; 시스템 아키텍처(100)는 임의의 수의 전자 디바이스들, 및 임의의 수의 서버들 또는 다수의 서버들을 포함하는 데이터 센터를 포함할 수 있다.
전자 디바이스(105)는 확장 현실 환경의 시각화를 사용자에게 제시할 수 있는 디스플레이 시스템을 포함하는 스마트폰, 태블릿, 또는 헤드 장착가능 휴대용 시스템(예컨대, 사용자가 착용할 수 있는 헤드 장착가능 디스플레이 디바이스)일 수 있다. 전자 디바이스(105)는 배터리 및/또는 다른 전력 공급부로 전력을 공급받을 수 있다. 일 예에서, 전자 디바이스(105)의 디스플레이 시스템은 확장 현실 환경의 입체적 제시를 제공하여, 사용자에게 특정 장면의 렌더링의 3차원 시각적 디스플레이를 가능하게 한다. 하나 이상의 구현예들에서, 확장 현실 환경에 액세스하기 위해 전자 디바이스(105)를 사용하는 대신 또는 이에 더하여, 사용자는 태블릿, 시계, 모바일 디바이스 등과 같은 핸드헬드 전자 디바이스(104)를 사용할 수 있다.
전자 디바이스(105)는 카메라(150)와 같은 하나 이상의 카메라들(예컨대, 가시광 카메라들, 적외선 카메라들 등)을 포함할 수 있다. 추가로, 전자 디바이스(105)는 카메라들, 이미지 센서들, 터치 센서들, 마이크로폰들, 관성 측정 유닛(IMU)들, 심박수 센서들, 온도 센서들, 라이더(Lidar) 센서들, 레이더(radar) 센서들, 소나(sonar) 센서들, GPS 센서들, Wi-Fi 센서들, 근거리 통신 센서들 등을 포함하지만, 이에 한정되지 않는 다양한 센서들(152)을 포함할 수 있다. 더욱이, 전자 디바이스(105)는 하드웨어 버튼들 또는 스위치들과 같은 사용자 입력을 수신할 수 있는 하드웨어 요소들을 포함할 수 있다. 이러한 센서들 및/또는 하드웨어 요소들에 의해 검출되는 사용자 입력은 주어진 확장 현실 환경 내에서 기록을 개시하기 위한 다양한 입력 양식들에 대응한다. 예를 들어, 이러한 입력 양식들은 얼굴 추적, 눈 추적(예컨대, 시선 방향), 손 추적, 제스처 추적, 생체인식 판독물들(예컨대, 심박수, 맥박, 동공 확장, 호흡, 체온, 뇌전도, 후각), 음성 또는 오디오(예컨대, 특정 과격한 말들) 인식하기, 및 활성화 버튼들 또는 스위치들을 활성화하기 등을 포함할 수 있지만, 이에 한정되지 않는다. 전자 디바이스(105)는 또한, 확장 현실 환경 내에서 기록을 개시하기 위해 사람 또는 객체의 존재 및/또는 장면 내의 이벤트의 발생을 검출할 수 있다.
전자 디바이스(105)는 전자 디바이스(110) 및/또는 전자 디바이스(115)와 같은 베이스 디바이스에 통신가능하게 결합될 수 있다. 이러한 베이스 디바이스는 일반적으로 전자 디바이스(105)와 비교하여 더 많은 컴퓨팅 자원들 및/또는 이용가능한 전력을 포함할 수 있다. 일 예에서, 전자 디바이스(105)는 다양한 모드에서 동작할 수 있다. 예를 들어, 전자 디바이스(105)는 임의의 베이스 디바이스와 독립적으로 독립형 모드에서 동작할 수 있다. 전자 디바이스(105)가 독립형 모드에서 동작할 때, 입력 양식들의 수는 디바이스의 이용가능한 배터리 전력과 같은 전자 디바이스(105)의 전력 및/또는 프로세싱 제한들에 의해 제약될 수 있다. 전력 제한들에 응답하여, 전자 디바이스(105)는 배터리 전력을 보존하고/하거나 자유 프로세싱 자원들을 보존하기 위해 디바이스 자체 내의 소정 센서들을 비활성화할 수 있다.
전자 디바이스(105)는 또한 주어진 베이스 디바이스와 함께 작동하는 무선 테더링 모드(예를 들어, 베이스 디바이스와 무선 연결을 통해 연결됨)에서 동작할 수 있다. 전자 디바이스(105)는 또한 연결 모드에서 작동할 수 있으며, 여기서 전자 디바이스(105)는 베이스 디바이스에 (예를 들어, 케이블 또는 일부 다른 물리적 커넥터를 통해) 물리적으로 연결되고 베이스 디바이스에 의해 제공되는 전력 자원을 이용할 수 있다(예를 들어, 물리적으로 연결된 동안 베이스 디바이스가 전자 디바이스(105)를 충전하고 있는 경우).
전자 디바이스(105)가 무선 테더링 모드 또는 연결 모드에서 동작할 때, 사용자 입력들을 프로세싱하고/하거나 확장 현실 환경을 렌더링하는 것의 적어도 일부는 베이스 디바이스로 오프로드되어, 이로써 전자 디바이스(105)에 대한 프로세싱 부담을 감소시킬 수 있다. 예를 들어, 일 구현예에서, 전자 디바이스(105)는 전자 디바이스(110) 또는 전자 디바이스(115)와 함께 작동하여, 실시간 방식으로 생성된 확장 현실 환경과 사용자 사이의 상이한 형태들의 상호작용(예컨대, 시각적, 청각적, 및/또는 물리적 또는 촉각적 상호작용)을 가능하게 하는 물리적 및/또는 가상 객체들을 포함하는 확장 현실 환경을 생성한다. 일 예에서, 전자 디바이스(105)는 실시간 방식으로 사용자에 의해 인지되고 상호작용할 수 있는 확장 현실 환경에 대응하는 장면의 렌더링을 제공한다. 추가적으로, 렌더링된 장면을 제시하는 것의 일부로서, 전자 디바이스(105)는 사운드, 및/또는 햅틱 또는 촉각적 피드백을 사용자에게 제공할 수 있다. 주어진 렌더링된 장면의 콘텐츠는 이용가능한 프로세싱 능력, 네트워크 이용가능성 및 용량, 이용가능한 배터리 전력, 및 현재 시스템 작업부하에 의존할 수 있다.
일 구현예에서, 전자 디바이스(105)는 물리적 환경의 기록을 생성하고, 공유 및 재생을 위해 2차원(2D) 비디오를 포함하는 확장 현실 환경을 생성한다. 예를 들어, 사용자들이 하나 초과의 뷰포인트로부터 장면을 캡처할 수 있는 디바이스(예컨대, 다수의 카메라 센서들을 갖는 스마트폰, 태블릿 디바이스, 또는 헤드 장착가능 디바이스(HMD))를 사용하고 있을 때, 사용자들은 그들의 경험들을 캡처하거나 어떤 다른 사람에게 스트리밍하거나 또는 경험 자체를 다른 관점으로부터 다시 체험하기를 원할 수 있다. 이러한 경험은 순수 VR 또는 AR 경험 또는 혼합 현실(mixed reality, MR) 경험일 수 있다. 그러나, 2D 비디오만이 기록되는 경우, 또는 불충분한 정보가 캡처 및 저장되는 경우, 기록은 레코더의 관점으로부터만 재생가능할 수 있고, 관찰자는 VR 불편함을 느낄 수 있다. 전통적인 비디오 기록 방법들은 원하는 3D 캡처를 생성하기 위해 사용될 수 없다.
본 개시내용의 양태들에 따르면, 관찰자가 보기 재생 경험을 제어하게 하는 XR 경험들의 기록 및 재생을 위한 시스템들 및 방법들이 제공된다.
일 구현예에서, 전자 디바이스는 비디오, 오디오, 전자 디바이스(105) 주위의 환경에 대한 3차원 정보, 및 어떤 컴퓨터 생성 콘텐츠가 기록 동안 전자 디바이스(105)에 의해 디스플레이되었는지를 그리고 기록 사용자가 기록 동안 장면 내에서 상이한 방향으로 또는 상이한 위치를 주시하고 있었다면 어떤 컴퓨터 생성 콘텐츠가 기록 동안 기록 사용자의 시야를 벗어났었지만 기록 동안 디스플레이되었을 것인지를 나타내는 정보를 포함하는 기록을 생성한다. 정보는 장면 데이터, 지오메트리들, 텍스처들, 재료, 애니메이션, 물리적 현상 등과 같은 (그러나 이에 제한되지 않는) 전자 디바이스(105)에 의해 캡처된 3D 컴퓨터 생성 콘텐츠를 포함할 수 있다. 전자 디바이스(105)는 동시에 또는 후속적으로 환경의 일부 또는 전부의 3차원(3D) 복원물을 생성하여, 카메라(150), 센서들(152)로부터의 정보 및/또는 다른 기록들로부터의 (예컨대, 상이한 뷰포인트(POV)들 및/또는 상이한 시야(FOV)들로부터의, 예컨대, 다른 사용자의 디바이스들 및/또는 다른 카메라들로부터의) 정보를 병합한다. 추가로, 전자 디바이스(110) 및/또는 전자 디바이스(115)는 전자 디바이스(105)와 함께 또는 전자 디바이스(105)와 독립적으로 작동하는 이러한 확장 현실 환경들을 생성할 수 있다는 것이 이해된다.
전자 디바이스(105)는 또한 확장 현실 환경의 장면 내에서 발생한 이벤트들을 검출할 수 있다. 이러한 이벤트들의 예들은 장면 내의 특정 사람, 엔티티(entity), 또는 객체의 존재를 검출하는 것을 포함한다. 검출된 이벤트에 응답하여, 전자 디바이스(105)는 XR 경험의 기록에 (예컨대, 메타데이터의 형태로) 주석들을 저장할 수 있다.
네트워크(106)는 예를 들어, 전자 디바이스(105), 전자 디바이스(110) 및/또는 전자 디바이스(115)를 서버(120)와 통신가능하게 (직접 또는 간접적으로) 결합할 수 있다. 하나 이상의 구현예들에서, 네트워크(106)는 인터넷을 포함할 수 있거나 인터넷에 통신가능하게 결합될 수 있는 디바이스들의 상호연결된 네트워크일 수 있다.
전자 디바이스(110)는 터치스크린을 포함할 수 있고, 예를 들어, 터치스크린을 포함하는 스마트폰, 터치스크린을 포함하는 랩톱 컴퓨터와 같은 휴대용 컴퓨팅 디바이스, 터치스크린을 포함하는 주변 디바이스(예컨대, 디지털 카메라, 헤드폰), 터치스크린을 포함하는 태블릿 디바이스, 터치스크린을 포함하는 웨어러블 디바이스, 예컨대 워치, 밴드 등, 예를 들어 터치스크린을 포함하는 임의의 다른 적절한 디바이스, 또는 터치패드를 갖는 임의의 전자 디바이스일 수 있다. 하나 이상의 구현예들에서, 전자 디바이스(110)는 터치스크린을 포함하지 않을 수 있지만, 예컨대 확장 현실 환경에서의 터치스크린-유사 제스처들을 지원할 수 있다. 하나 이상의 구현예들에서, 전자 디바이스(110)는 터치패드를 포함할 수 있다. 도 1에서, 예로서, 전자 디바이스(110)는 터치스크린을 갖는 모바일 스마트폰으로서 도시된다. 하나 이상의 구현예들에서, 전자 디바이스(110), 핸드헬드 전자 디바이스(104), 및/또는 전자 디바이스(105)는 도 7과 관련하여 아래에서 논의되는 전자 디바이스의 전부 또는 일부일 수 있고/있거나, 그 전부 또는 일부를 포함할 수 있다. 하나 이상의 구현예들에서, 전자 디바이스(110)는 인터넷 프로토콜(IP) 카메라, 태블릿과 같은 다른 디바이스, 또는 전자 스타일러스와 같은 주변 디바이스 등일 수 있다.
전자 디바이스(115)는, 예를 들어 데스크톱 컴퓨터, 휴대용 컴퓨팅 디바이스, 예컨대 랩톱 컴퓨터, 스마트폰, 주변기기 디바이스(예를 들어, 디지털 카메라, 헤드폰들), 태블릿 디바이스, 웨어러블 디바이스, 예컨대 워치, 밴드 등일 수 있다. 도 1에서, 예로서, 전자 디바이스(115)는 데스크톱 컴퓨터로서 도시된다. 전자 디바이스(115)는 도 7과 관련하여 이하에서 논의되는 전자 시스템일 수 있고/있거나 그의 전부 또는 일부를 포함할 수 있다.
서버(120)는 클라우드 컴퓨팅 또는 데이터 센터 구현예에서와 같이, 컴퓨터들의 네트워크 또는 서버들의 그룹(130)의 전부 또는 일부를 형성할 수 있다. 예를 들어, 서버(120)는 데이터 및 소프트웨어를 저장하고, 확장 현실 환경들을 위한 그래픽들, 이미지들, 비디오, 오디오 및 멀티미디어 파일들과 같은 콘텐츠를 렌더링하고 생성하기 위한 특정 하드웨어(예를 들어, 프로세서들, 그래픽 프로세서들 및 다른 특수화된 또는 맞춤형 프로세서들)를 포함한다. 일 구현예에서, 서버(120)는 위에서 논의된 디바이스들 및/또는 서버(120)에 의해 생성된 전술된 확장 현실 콘텐츠 중 임의의 것을 저장하는 클라우드 저장 서버로서 기능할 수 있다.
일 구현예에서, 서버(120)는 CG 콘텐츠를 포함하는 3차원 XR 경험의 기록을 생성, 저장, 편집, 및/또는 분석하기 위해 아래에서 추가로 논의되는 보안 클라우드 환경에 대응하는 보안 환경을 제공할 수 있다. 이러한 기록, 또는 이러한 기록을 생성하기 위한 정보는, 전자 디바이스(105), 전자 디바이스(110), 및/또는 전자 디바이스(115) 중 적어도 하나에 의해 제공될 수 있다. 유사하게, 전자 디바이스(105), 전자 디바이스(110), 및/또는 전자 디바이스(115)는 또한, 도 2에서 아래에서 추가로 논의되는 바와 같이 CG 콘텐츠를 포함하는 확장 현실 경험의 기록을 생성, 저장, 편집, 및/또는 분석하기 위해 보안 환경을 제공할 수 있다.
도 2는 본 기술의 하나 이상의 구현예들에 따라 전자 디바이스(105), 전자 디바이스(115), 및/또는 서버(120) 상에서 구현될 수 있는 예시적인 소프트웨어 아키텍처(200)를 예시한다. 설명의 목적들을 위해, 소프트웨어 아키텍처(200)는 도 1의 전자 디바이스(105), 전자 디바이스(115), 및 서버(120)에 의해, 예컨대, 전자 디바이스(105), 전자 디바이스(115), 및 서버(120)의 프로세서 및/또는 메모리에 의해 구현되는 것으로 설명되지만; 소프트웨어 아키텍처(200)의 적절한 부분들은 전자 디바이스(110)를 포함한 임의의 다른 전자 디바이스에 의해 구현될 수 있다. 그러나, 도시된 컴포넌트들 모두가 모든 구현예들에서 사용될 수 있는 것은 아니며, 하나 이상의 구현예들은 도면에 도시된 것들 이외의 부가적인 또는 그들과 상이한 컴포넌트들을 포함할 수 있다. 컴포넌트들의 배열 및 유형의 변형들은 본 명세서에 기재된 바와 같은 청구범위의 사상 또는 범주로부터 벗어남이 없이 이루어질 수 있다. 부가적인 컴포넌트들, 상이한 컴포넌트들, 또는 더 적은 컴포넌트들이 제공될 수 있다.
전자 디바이스(105) 상에서 구현되는 것으로서, 소프트웨어 아키텍처(200)는 프레임워크를 포함한다. 본 명세서에 사용된 바와 같은 프레임워크는, 소프트웨어 애플리케이션들의 개발을 가능하게 하기 위해 더 큰 소프트웨어 플랫폼의 일부로서 특정 기능을 제공하는 소프트웨어 환경을 지칭할 수 있고, 프로그램 방식으로, 확장 현실 환경들을 설계하고 이러한 확장 현실 환경들에 대한 동작들을 처리하기 위해 개발자들에 의해 이용될 수 있는 하나 이상의 애플리케이션 프로그래밍 인터페이스(application programming interface, API)들을 제공할 수 있고,
예시된 바와 같이, 기록 프레임워크(230)가 제공된다. 기록 프레임워크(230)는 위에서 논의된 바와 같이 입력 양식들에 의해 제공되는 확장 현실 환경을 기록하는 기능을 제공할 수 있다. 다양한 입력 양식들로부터의 입력에 대응하는 정보를 수신하는 복원 엔진(220)이 제공된다. 전자 디바이스(105)로부터 자원들을 모니터링하고 이용가능 자원들에 기초하여 서비스 품질 메트릭(metric)을 결정하기 위해 시스템 관리자(210)가 제공된다.
일 구현예에서, 소프트웨어 아키텍처(200)는 XR 기록들의 생성, 편집, 및/또는 재생을 가능하게 하고, 그러한 기록들을 업로드하기 위해 저장소 또는 저장 위치를 제공할 수 있다. 도 2에 예시된 바와 같이, 전자 디바이스(105)는, 아래에서 추가로 논의되는 기록 프레임워크(230) 및/또는 보안 환경(250)에 의해 제공될 수 있는 XR 기록들(242)을 저장하기 위한 데이터베이스(240)를 포함한다. 일 예에서, 기록 프레임워크(230)는 XR 기록을 생성할 수 있고 데이터베이스(240)에 저장하기 위해 그러한 기록을 암호화할 수 있다.
추가로 도시된 바와 같이, 전자 디바이스(105)는 보안 환경(250)을 포함한다. 본 명세서에 사용된 바와 같이, 보안 환경은 특정 디바이스(예컨대, 전자 디바이스(105))의 주어진 프로세서 상에서 실행되는 다른 프로세스들로부터 격리된 보안 컴퓨팅 환경을 제공하며, 여기서 보안 환경은 다른 프로세스들을 실행하는 프로세서 및 다른 프로세스들 자체 둘 모두에 액세스불가능하다. 추가로, 보안 환경은 그것이 활용하는 메모리의 임의의 부분을 암호화하고, (예컨대, 전자 디바이스(105) 상에서) 이러한 다른 프로세스들을 실행하고 있는 프로세서와는 별개의 프로세서(예컨대, 맞춤형 보안 지향적 프로세서)를 이용할 수 있다. 보안 환경은 또한, 주어진 XR 기록을 프로세싱할 때 동형 암호화를 사용할 수 있다. 추가적으로, 보안 환경은 도 1에 도시된 전자 디바이스들 중 임의의 전자 디바이스에 저장된 암호화된 XR 기록들을 복호화하도록 인에이블될 수 있다.
소프트웨어 아키텍처(200) 및 그의 컴포넌트들의 구현예들은, (예컨대, 컴퓨터 생성(CG) 렌더링 엔진(223)에 의해 기록 동안 디스플레이를 위해 렌더링된) 렌더링된 CG 콘텐츠를 포함하는, XR 경험들로 또한 지칭되는, 확장 현실 경험들의 기록을 가능하게 한다.
소프트웨어 아키텍처(200) 및 그의 컴포넌트들의 구현예들은 또한, 기록들이 검색가능한 것을 또한 가능하게 하는, 콘텐츠 및 주석들에 기초한 XR 기록들의 자동 세그먼트화를 가능하게 할 수 있다. 추가로, 소프트웨어 아키텍처(200) 및 그의 컴포넌트들은, 연관된 사용자 프로파일에 저장된 사용자 선호도에 제공될 수 있는, 사용자의 관심 및/또는 화제(topic)에 적어도 부분적으로 기초하여 다른 기록들에 대한 추천들이 제공되는 것을 가능하게 한다. 소프트웨어 아키텍처(200) 및 그의 컴포넌트들은 추천들에 기초하여 또는 사용자 선호도들에 기초하여 다수의 기록들이 생성되는 것을 가능하게 하고, 기록들의 무작위 브라우징(일시정지, 재생, 탐색 등)을 또한 가능하게 한다.
일 예에서, 보안 환경(250)은 기록 프레임워크(230)로부터 주어진 XR 기록을 수신할 수 있거나, 또는 기록 프레임워크(230)로부터 요청을 수신하여 데이터베이스(240)에 저장된 XR 기록을 검색할 수 있다. 예시된 바와 같이, 보안 환경(250)은, 기록들을 분석하고 분석에 기초하여 메타데이터 및/또는 주석들을 생성하는 보안 기록 분석기(260)를 포함한다. 보안 기록 분석기(260)는, 일 구현예에서, 객체 검출을 위해 특정 분류기들을 실행시키고, 그러한 객체들이 기록 동안 이동하고 있는 경우 객체들의 모션 벡터들을 결정할 수 있다. 일 예에서, 이러한 모션 벡터들은, 객체들을 추적하고/하거나 객체들이 어디를 향해 이동하고 있을지를 예측하는 데 이용될 수 있다. 보안 기록 분석기(260)는 (예컨대, 메타데이터 정보로 태깅된) 기록의 주석들을 객체들에 그리고 검출된 이벤트들 및/또는 인식된 사람들에 제공한다. 다른 예에서, 보안 기록 분석기(260)는 사람 또는 객체의 이동 또는 위치 추적 및/또는 인식에 사용될 수 있는 음성, 발화 및/또는 오디오로부터 사람 또는 객체에 관한 음향 정보를 결정한다. 추가로, 분석은 또한, 기록 유형에 존재할 가능성이 있는 특정 이벤트들 또는 객체들을 표적화하기 위해 기록의 유형(예컨대, 스포츠, 해변과 같은 특정 위치 등)에 따라 조정될 수 있다.
또한 도시된 바와 같이, 서버(120)는 복원 엔진(227)을 제공한다. 일부 구현예들에서, 카메라(150) 및/또는 센서들(152)에 의해 캡처된 3차원 정보는 환경의 3D 복원물의 생성을 위해 서버(120)에 제공될 수 있다. 복원 엔진(227)에 의해 (그리고/또는 전자 디바이스(105)의 복원 엔진(220)에 의해 그리고/또는 전자 디바이스(115)의 복원 엔진(225)에 의해) 생성된 환경의 3D 복원물은, 기록된 CG 콘텐츠 트랙, 기록된 비디오 트랙, 기록된 오디오 트랙, 및/또는 기록된 메타데이터 트랙과 시간적으로 정렬되게, (예컨대, XR 기록으로) 저장될 수 있다.
서버(120)는 또한, 일 구현예에서 특정 유형의 보안 환경에 대응하는 보안 클라우드 환경(270)을 포함할 수 있다. 예를 들어, 보안 클라우드 환경(270)은 사용자 레벨 코드가 다른 프로세스들로부터 보호되고 격리되는 메모리의 사적인 영역들(예컨대, 엔클레이브(enclave)들)을 할당하는 것을 가능하게 하는 프로세서 명령 코드들의 세트를 지원한다. 보안 클라우드 환경(270)은 프로세서들(예컨대, CPU 및/또는 GPU)의 그 자신의 세트를 사용할 수 있다. 일 구현예에서, 서버(120)는 주어진 기록에 대해 위에서 논의된 보안 기록 분석기(260)와 동일하거나 유사한 기능을 수행하는 보안 클라우드 기록 분석기(280)를 포함한다. 일 예에서, 서버(120)는 주어진 기록의 분석을 수행하기 위한 전자 디바이스(105)로부터의 요청을 수신할 수 있다. 보안 기록 분석기(260)에 의해 수행되는 임의의 분석의 결과들(예컨대, 생성된 메타데이터 정보 또는 추천들)은 추가 프로세싱를 위해 전자 디바이스(105)로 반환될 수 있다.
일 구현예에서, 전자 디바이스(115)는 보안 기록 분석기(265)를 갖는 보안 환경(255)을 포함하며, 그것의 각각은 전자 디바이스(105)의 보안 환경(250) 및 보안 기록 분석기(260)와 관련하여 전술된 바와 동일한 기능을 각각 수행할 수 있다. 예를 들어, 보안 기록 분석기(260)는 데이터베이스(246)에 저장된 XR 기록들(247) 중 하나로부터 XR 기록을 분석할 수 있다.
예시된 바와 같이, 전자 디바이스(115)는 XR 기록들을 수정하기 위해 편집 기능을 제공하는 다양한 편집 도구들(예컨대, 특정 애플리케이션들)에 대응하는 도구(245)들의 세트를 포함한다. 각각의 편집 도구는 편집을 위해 (예컨대, 데이터베이스(246)에 저장된 XR 기록들(247) 중 하나에 대응하는) XR 기록을 수신하는 것이 가능할 수 있다. 편집 도구의 예들은 이미지 편집기, 3D 구성을 위한 툴, 및/또는 타임라인을 따라 XR 콘텐츠의 편성을 가능하게 하는 멀티미디어 편집기를 포함한다. 주어진 편집 도구는 또한, 기록 동안 렌더링되었던 CG 콘텐츠의 수정을 가능하게 할 수 있다. 주어진 편집 도구는 또한 (예컨대, 누락된 물리적 환경 구조들 또는 지오메트리들을 채우기 위해) 일정 환경의 3D 복원의 수정을 가능하게 할 수 있다. 주어진 편집 도구는 또한, 새로운 가상 콘텐츠를 포함한 장면 내에 새로운 객체들 또는 콘텐츠를 삽입하는 것을 가능하게 할 수 있다.
도 2에 예시되지 않았지만, 전자 디바이스(110)는 또한 위에서 전자 디바이스(115)와 관련하여 논의된 것들과 유사한 컴포넌트들을 포함할 수 있다는 것이 이해된다.
도 3은 센서들(152)이 전자 디바이스(105)의 몸체(300) 상의 또는 그 내의 다양한 위치들에 어떻게 위치될 수 있는지를 예시하는 전자 디바이스(105)의 개략적인 평면도를 예시한다. 예를 들어, 각각이 시야(310)를 갖는 카메라(150)와 같은 하나 이상의 카메라들 및/또는 센서들(152)은 (예컨대, 착용자 뒤의 일정 방향으로를 포함한) 전자 디바이스(105) 주위의 실질적으로 전체 환경을 커버하는 3차원 정보(예컨대, 심도 정보)의 캡처를 가능하게 하도록 위치될 수 있다. 더욱이, 다양한 시간들에 카메라(150) 및/또는 센서들(152)에 의해 캡처된 3차원 정보가 (예컨대, 착용자가 XR 경험의 연속적인 또는 불연속적인 기록 동안 환경 내에서 이동하고/하거나 그를 둘러봄에 따라 그리고/또는 XR 경험의 기록 전의, 동안의, 또는 후의 연속적인 또는 불연속적인 시간들 동안 카메라(150), 센서들(152) 및/또는 다른 디바이스들 또는 카메라들에 의해 캡처된 정보를 사용하여) 환경의 3D 복원물을 구축하도록 통합될 수 있다.
도 3의 예에서, 전자 디바이스(105)는 XR 장면의 3차원 뷰를 생성하기 위해 디스플레이 이미지들을 사용자에게 제공하도록 배열된 디스플레이(302)를 포함한다. 프로세싱 회로부(306)(예컨대, XR 기록들 및 경험들을 생성, 렌더링, 기록, 및/또는 그렇지 않은 경우 프로세싱하기 위한 하나 이상의 프로세서들 및 메모리, IMU들과 같은 하나 이상의 내부 센서들(304), 및/또는 배터리(308)와 같은 하나 이상의 전원들)가 또한 전자 디바이스(105)에 제공될 수 있다.
더욱이, 다수의 전자 디바이스들(105)이 통상의 환경을 설명하는 3D 정보를 캡처할 수 있는 상황들에서, 다수의 전자 디바이스들(105)로부터의 3D 정보는 XR 경험이 기록되고 있는 환경의 3D 복원물을 생성하도록 조합될 수 있다.
도 4는 다수의 전자 디바이스들(105)을 착용한 다수의 사용자들(101)이 물리적 환경(410)을 설명하는 3D 정보를 캡처하고 있는 예를 예시한다. 도 4의 예에서, 물리적 환경(410)은 테이블과 같은 정적 물리적 콘텐츠(401), 및 결혼식에서 춤추는 커플과 같은 동적 물리적 콘텐츠(400)를 포함한다.
사용자들(101) 중 하나 이상의 경우, 물리적 환경(410)을 포함하는 XR 환경은 렌더링된 컴퓨터 생성(CG) 콘텐츠, 예컨대, 정적 CG 콘텐츠(402)(예컨대, 가상 꽃들 - 이들이 물리적 바닥 밖에서 자라나는 것처럼 보이도록 렌더링되고 디스플레이됨) 및/또는 실제로 춤추는 커플 주위에 떠다니는 하나 이상의 가상 풍선들과 같은 동적 CG 콘텐츠(404)를 포함할 수 있다. 정적 CG 콘텐츠(402) 및/또는 동적 CG 콘텐츠(404)는 하나 이상의 사용자들(101) 중 임의의 사용자 또는 모두에게 디스플레이될 수 있고/있거나, 모든 사용자들에 대해 동일할 수 있고/있거나, 상이한 사용자들에 대해 상이할 수 있다. 사용자들(101) 중 일부는, 춤추는 커플이 있는 물리적 장면에 추가된 CG 콘텐츠를 갖는 XR 환경을 보기 위해서만 전자 디바이스(105)를 사용하고 있을 수 있다. 사용자들(101) 중 다른 사용자들은 전자 디바이스(105)에 의해 생성되고 있는 XR 경험의 버전을 기록하고 있을 수 있다. 임의의 또는 모든 전자 디바이스들(105)은 (예컨대, 직접 또는 네트워크(106) 및/또는 서버(120)를 통해) 임의의 또는 모든 다른 전자 디바이스들(105)과 환경에 대한 3D 지오메트리 정보를 공유할 수 있다. 전자 디바이스들(105) 중 하나 이상은 또한, 또는 대안적으로, 한 번에 전자 디바이스(105)에 가시적이지 않은 3D 복원물의 다양한 공간적 부분들을 채우도록 조합될 수 있는 3D 지오메트리 정보의 이력을 축적할 수 있다. 사용자들(101)은 공동으로 수반된 이벤트의 그들의 기록된 콘텐츠를 공유하기 위해 참여할 수 있고/있거나 사용자는, 동일한 가족 내의 다른 사용자들의 디바이스들(또는 동일한 사용자 계정과 연관된 디바이스들)과 같은, 다른 신뢰하는 디바이스들에 의해 기록된 콘텐츠에 액세스할 수 있다.
다수의 디바이스들로부터의 3차원 지오메트리 정보 및/또는 비디오 정보가 물리적 환경을 복원하는 데 사용되는 경우, 각각의 디바이스로부터의 정보는 하나 이상의 다른 디바이스들로부터의 정보와 함께 스티칭(stitching)될 수 있다. 일 예에서, 하나의 전자 디바이스(105)에 의해 식별되는 하나 이상의 객체들은 다른 전자 디바이스(105)에 의해 식별되는 하나 이상의 대응하는 객체들에 매칭되어 3차원 지오메트리 정보 및/또는 비디오 정보의 스티칭을 위해 2개의 전자 디바이스들로부터의 피드들의 중첩 부분들을 식별할 수 있다. 다른 예에서, 제1 전자 디바이스(105)가 제2 전자 디바이스(105)의 피드에서 가시적인 경우, 제2 전자 디바이스(105)의 관점은 제1 전자 디바이스(105)에 의해 추론되어 스티칭을 위한 2개의 시스템들로부터의 기록된 3차원 지오메트리 정보 및/또는 비디오 정보를 공동-위치시킬 수 있다. 다른 예에서, 전자 디바이스(105)의 하나 이상은 그들의 위치를 서로에 대해 확립하기 위한 거리 측정 센서(ranging sensor)들을 사용하여 스티칭을 위한 2개의 시스템들로부터의 기록된 3차원 지오메트리 정보 및/또는 비디오 정보를 공동-위치시키게 할 수 있다. 전자 디바이스들(105)은 하나 이상의 다른 전자 디바이스들(105)이 근접하게 검출될 때 다른 전자 디바이스들(105)의 거리 측정을 활성화시킬 수 있거나, 거리 측정이 XR 기록 동안 옵션으로서 또는 디폴트로 활성화될 수 있다.
본 명세서에서 추가로 상세히 설명되는 바와 같이, 개시된 시스템들 및 방법들은 나중의 관찰자가 임의의 위치 또는 뷰포인트로부터의 경험을 재생하는 것을 그리고/또는 기록된 장면 주위를 이동하고/하거나 주시하는 것을 허용하는 방식으로, 추가된 CG 콘텐츠를 포함하는, 춤추는 커플을 보는 착용자의 XR 경험의 기록을 허용한다. 예를 들어, 환경의 3D 복원물이 생성되었고, 3D 복원물의 시간으로 순서화된 양태들이 기록 동안 디스플레이되었던 CG 콘텐츠에 대한 시간으로 순서화된 정보와 시간적으로 정렬되게 저장되었기 때문에, 나중의 관찰자는 기록된 춤을 방의 다른 측부로부터 보기 위해 기록된 춤추는 커플 주위를 걸을 수 있다. 다른 예로서, 나중의 관찰자는, 물리적 환경(410)의 3D 복원물을 보는 동안(예컨대, 물리적 환경(410) 내에서 가상적으로 서 있는 동안), 기록된 액션을 일시정지할 수 있고(예컨대, 춤추는 커플의 움직임 및 가상 풍선들이 떠다니는 것을 일시정지할 수 있고), 일시정지된 춤추는 커플 및 가상 풍선들에 대해 새로운 위치로 이동할 수 있고, 이어서, 춤추는 커플 및 가상 풍선들의 재생을, 그러나 상이한 관점 또는 뷰포인트로부터, 재개할 수 있다.
캡처된 경험에 대한 이러한 유형의 3차원 및/또는 상호작용형 재경험을 가능하게 하기 위해, 본 명세서에 개시된 시스템들 및 방법들은 실제 및 가상 콘텐츠를 포함하는 XR 경험과 같은 경험의 시간으로 순서화된 3차원 캡처를 제공한다. 예를 들어, 본 개시내용의 양태들에 따르면, 나중의 재생을 위해 렌더링된 콘텐츠를 기록하기보다는, 가상 3D 지오메트리들 및 복원된 MR 지오메트리들이 캡처되어, 재생 동안, 경험이 관찰자 자신의 관점으로부터 재렌더링될 수 있게 한다. 3D 지오메트리들과 함께, 비디오, 오디오 및 메타데이터가 또한 기록될 수 있다. 예를 들어, 기록된 비디오는 기록 동안, 그리고/또는 기록의 포스트-프로세싱에서 복원물에 정보를 제공하는 데 사용될 수 있다. 일부 상황들에서, 다수의 비디오 트랙들이 함께 사용되어 상이한 관점들로부터 콘텐츠를 렌더링할 수 있다. 오디오 콘텐츠는 공간적 포맷으로 기록될 수 있어서, 재생 동안, 기록된 경험의 오디오 양태들이 또한 관찰자의/청취자의 위치에 기초하여 렌더링될 수 있게 할 수 있다. 메타데이터는 또한, 기록된 콘텐츠에 대한 정보, 및/또는 3D 자산들 중 일부를 생성하기 위해 사용되었던 파라미터들을 제공하기 위해 생성 및/또는 저장될 수 있다. 이러한 캡처는 캡처를 개선 및 수정하기 위해 편집 도구로 들여보내질 수 있고, 출력은 관찰자에 의해 그의 관점으로부터 재경험될 수 있는 포맷으로 내보내질 수 있다.
도 5는 XR 경험의 기록, 편집, 및 재생의 다양한 양태들을 예시한다. 도 5에 도시된 바와 같이, 기록 동안, 전자 디바이스(105)를 착용한 사용자(101)가, 나무 둥지들과 같은 정적 물리적 콘텐츠(401) 및 바람에 휘날릴 수 있는 덤불들과 같은 동적 물리적 콘텐츠(400)를 갖는 숲속과 같은, 물리적 환경(410) 주위를 (예컨대, 화살표(507)로 표시된 바와 같이) 걸을 수 있다. 사용자(101)가 물리적 환경(410) 주위를 걸음에 따라, 환경에 대한 3D 정보(예컨대, 심도 정보)가 환경의 오디오 및/또는 비디오와 함께 기록된다. 기록 동안, 그리고 사용자(101)가 물리적 환경(410) 주위를 걷고 있는 동안, 컴퓨터 생성(CG) 콘텐츠(502)(예컨대, 가상 곰)가 전자 디바이스(105)에 의해 렌더링될 수 있고, 물리적 환경(410)의 사용자의 뷰(예컨대, 투명 또는 반투명 디스플레이를 통한 다이렉트 뷰(direct view) 또는 패스-스루 비디오 뷰(pass-through video view))의 일부분 위에 디스플레이될 수 있다.
도 5에 나타낸 바와 같이, 물리적 환경(410)에 대한 기록된 비디오, 오디오, 3D 정보, 및 렌더링된 CG 콘텐츠(502)와 연관된 정보는 편집 도구에 제공될 수 있다. 전자 디바이스(105)에 의한 기록 동안 또는 그 후에 환경의 3D 복원물이 생성되었다면, 3D 복원물은 물리적 환경(410)에 대한 기록된 비디오, 오디오, 3D 정보, 및 렌더링된 CG 콘텐츠(502)와 연관된 정보와 함께 편집 도구에 제공될 수 있다. 다른 구현예들에서, 3D 복원물은 환경에 대한 기록된 3D 정보에 기초하여 편집 도구에 의해 생성될 수 있다. 3D 복원물은 시간에 독립적으로 저장될 수 있고, 그리고/또는 기록의 임의의 특정 시간에서의 3D 복원물에 대한 정보를 포함하는 기록에 대한 복원 트랙이 생성될 수 있다.
도 5에 예시된 바와 같이, 편집 도구에 의해, (예컨대, 누락된 지오메트리(517)를 채움으로써) 3D 복원물(512)에 대한 그리고/또는 (예컨대, 기록 동안 렌더링되었던 CG 콘텐츠(502)(곰)를 공룡과 같은 수정된 CG 콘텐츠(514)로 교체함으로써, 그리고/또는 기록 동안 렌더링되지 않았던 추가 CG 콘텐츠(515)를 추가함으로써) 기록된 콘텐츠에 대한 수정들이 이루어질 수 있다.
이어서, 도 5에 예시된 바와 같이, 다른 사용자(501)가 복원된 3D 환경, 수정된 CG 콘텐츠(514), 및 추가 CG 콘텐츠(515)를 포함하는 기록된 XR 경험을, 그러나 새로운 그리고/또는 변경된 관점으로부터, 재생할 수 있다.
도 5는, 또한 장면 복원을 수행하는 것이 (예컨대, 기록 동안 또는 기록 후에) 전자 디바이스(105)에서 발생할 수 있고, 전자 디바이스(105)의 센서들(예컨대, 센서들(152))로부터의 3D 정보에 기초하여, 복원 라이브러리로부터 하나 이상의 메시들(506), 텍스처들(508 또는 510) 및/또는 재료들을 획득하는 것을 포함할 수 있다는 것을 나타낸다.
도 6은 전자 디바이스(105)에 의해 캡처될 수 있는 XR 기록(600)을 예시한다. 도 6의 예에서, 기록 동안의 (예컨대, 시작 시간(602) 후 지속기간에 대응하는) 기간 동안, 카메라(150)는 비디오 트랙(606)을 제공할 수 있고 (예컨대, 센서(152)의 일부로서) 마이크로폰(들)(603)은 기록 동안 대응하는 오디오 트랙을 제공할 수 있다.
CG 렌더링 엔진(223)은 물리적 환경(410)의 일부분의 뷰 위에 디스플레이하기를 위해 CG 콘텐츠(도 4의 402 및/또는 404, 및/또는 도 5의 502)와 같은 CG 콘텐츠를 생성 및/또는 렌더링할 수 있다. CG 렌더링 엔진(223)(및/또는 전자 디바이스(105)의 다른 회로부)은 또한, 기록 동안 각각의 시간에 렌더링되는 CG 콘텐츠를 나타내는 CG 콘텐츠 트랙(610)을 제공할 수 있다.
렌더링된 CG 콘텐츠 자체가 CG 콘텐츠 트랙(610)에 저장되지 않는다는 것은 이해하여야 한다. 대신에, XR 기록(600)의 관찰자가 임의의 위치 및/또는 뷰포인트로부터의 경험을 보는 것을 허용하기 위해, CG 콘텐츠 트랙(610)은 기록 동안 다양한 시간들에서 장면 정보를 나타내는 스냅샷 프레임들, 및 스냅샷 프레임들에 의해 표시된 CG 콘텐츠에 대한 작은 변화들을 나타내는 델타 프레임들을 포함한다. 더욱이, 장면 내의 각각의 컴포넌트에 대한 지오메트리들, 메시들, 텍스처들, 재료들, 및/또는 위치들은 별개의 시간으로 순서화된 트랙으로서, 또는 그들을 CG 콘텐츠 트랙(610)에 기초하여 렌더링을 위해 끌어올 수 있는 시간 독립적 파일로서 기록될 수 있다. 이러한 방식으로, 기록이 재생될 때, CG 콘텐츠는 정확한 시간 및 정확한 위치에서, 그러나 관찰자의 관점으로부터, 재렌더링될 수 있다.
도 6에 나타낸 바와 같이, 시간으로 순서화된 3D 지오메트리 트랙이 또한 XR 기록(600)에 포함된다. 기록 동안 캡처된 미가공 및/또는 프로세싱된 센서 데이터(예컨대, 심도 데이터)로부터 3D 지오메트리 트랙(612)이, 캡처된 비디오 트랙(606), 캡처된 오디오 트랙(608), 및 캡처된 CG 콘텐츠 트랙(610)과 시간적으로 정렬되게, 생성되고 저장된다. 이러한 심도 데이터는, 장면의 3차원 복원물의 하나 이상의 메시들 또는 포인트 클라우드들을 복원하기 위해, 기록 동안 라이브로 또는 기록 후 오프라인으로, (예컨대, 기록된 비디오 데이터 및/또는 오디오 데이터와 함께) 사용될 수 있다. 3차원 복원물이 기록 후에 오프라인으로 생성되는 경우들에서, 3D 지오메트리 트랙은 나중의 사용을 위해 저장될 수 있다. 3차원 복원물이 기록 동안 라이브로 생성되는 경우들에서, 3D 지오메트리 트랙(612)은 저장될 수 있거나 저장되지 않을 수 있다.
도 6에 나타낸 바와 같이, 기록 동안 또는 그 후에, 센서들(152)로부터의 센서 데이터, 카메라(들)(150)로부터의 이미지 데이터, 및/또는 마이크로폰(603)으로부터의 오디오 데이터는 또한 전자 디바이스(105)의 복원 엔진(220)과 같은 3D 복원 엔진에 제공된다. 3D 복원 엔진(220)은 제공된 데이터에 기초하여 3D 복원물(614)을 생성한다. 3D 복원물(614)은 텍스처를 갖는 하나의 메시, 다수의 메시들 및 텍스처들, 또는 포인트 클라우드들 등으로서 표현될 수 있다. 이는 기록을 위한 단지 하나의 포맷이며, 다른 변형예들이 또한 존재할 수 있다. 일부 상황들에서, 시간으로 순서화된 3D 복원물(614)과 연관된 정보(예컨대, 도 4의 춤추는 커플과 같은 환경 내의 동적 물리적 엔티티들의 3차원 형상, 텍스처, 재료 등을 나타내는 정보, 및/또는 기록 사용자가 기록 동안 하나의 방으로부터 다른 방으로 이동하는 것으로 인해, 복원된 건물 내의 하나의 방이 기록의 하나의 부분과 관련이 있고 다른 방(또는 실외 장면)이 기록의 다른 부분과 관련이 있다는 것을 나타내는 정보). 3D 복원과 연관된 이러한 시간으로 순서화된 정보는, 캡처된 비디오 트랙(606), 캡처된 오디오 트랙(608), 캡처된 CG 콘텐츠 트랙(610), 및/또는 캡처된 3D 지오메트리 트랙(612)과 시간적으로 정렬되게, 저장될 수 있다. 그러나, 일부 상황들에서, 3D 복원물이 생성될 때, 3D 지오메트리 트랙은 더 이상 필요하지 않을 수 있고, 폐기될 수 있거나 XR 기록(600)과 별개로 저장될 수 있다는 것을 이해하여야 한다.
3D 복원물(614)은 기록에 (예컨대, 기록 동안 특정 시간들에서 또는 기록 전체에 걸쳐) 존재하는 물리적 환경(410) 내의 객체들의 지오메트리들, 메시들, 텍스처들, 재료들, 및/또는 위치들을 포함할 수 있다. 기록이 재생될 때, 관찰자에 대해 렌더링되는 3D 복원물의 일부분은 정확한 시간 및 정확한 위치에, 그러나 관찰의 시간에서의 관찰자의 관점으로부터, 렌더링될 수 있다.
도 6은 또한, 3차원 복원물(614)을 생성하는 것이, 기록의 기간 동안 제1 시간(예컨대, 비디오, 오디오, 및/또는 3D 지오메트리 정보의 캡처와 동시이고/이거나 CG 콘텐츠의 렌더링과 동시인 시간)으로부터의 저장된 시간으로 순서화된 3차원 장면 정보의 제1 부분에 기초하여 그리고 기록의 기간 동안 제2 시간으로부터의 저장된 시간으로 순서화된 3차원 장면 정보의 제2 부분(619)에 기초하여, 장면 내의 일정 위치와 연관된 3차원 복원물의 일부분을 생성하는 것을 어떻게 포함하는지를 예시한다.
예를 들어, 가상 컵이 물리적 객체 상에 디스플레이되는 동안 기록 디바이스가 물리적 객체의 전방 면을 볼 때 캡처된 3D 지오메트리 정보(예컨대, 전자 디바이스(105)의 하나 이상의 심도 센서들로부터의 심도 센서 데이터 및/또는 프로세싱 후 심도 및/또는 비디오 센서 데이터로부터 생성된 3D 지오메트리 정보)는 물리적 객체의 전방 면의 3D 복원물을 위해 사용될 수 있다. 그러나, 이러한 뷰는 물리적 객체의 후방 면을 정확하게 복원하기에 충분하지 않을 수 있다. 따라서, 물리적 객체의 후방 면이 (예컨대, 디바이스의 센서들 및/또는 카메라들에 의해) 보일 수 있는 위치로 디바이스가 나중에 이동되는 경우, 그 시간에 캡처된 3D 지오메트리 정보(예컨대, 전자 디바이스(105)의 하나 이상의 심도 센서들로부터의 추가 심도 센서 데이터)(예컨대, 3D 지오메트리 정보의 제2 부분(619))는 테이블의 나머지(예컨대, 후방 면)의 3D 복원에 사용될 수 있다. 디바이스는 XR 경험의 연속적인 기록 동안 또는 불연속적인 나중의 시간에 물리적 객체의 후방 면이 보일 수 있는 위치로 나중에 이동될 수 있다. 예를 들어, 디바이스(및/또는 다른 디바이스)가 나중에 불연속적인 나중의 시간에 3차원 정보를 캡처하기 시작하는 경우, 디바이스는 현재의 3차원 정보의 이전의 기록된 3차원 정보와의 비교에 기초하여 환경의 하나 이상의 부분들을 인식할 수 있고, 물리적 객체를 포함한 물리적 환경의 3차원 복원물을 업데이트하기 위해 현재 및 이전의 기록된 정보 내의 물리적 객체의 전방 및 후방 부분들을 조정할 수 있다. 전술된 저장된 시간으로 순서화된 3차원 장면 정보의 제1 부분은 제1 시간에서의 디바이스의 제1 위치와 연관될 수 있고, 저장된 시간으로 순서화된 3차원 장면 정보의 제2 부분(619)은 제2 시간에서의 디바이스의 제2 위치와 연관될 수 있다.
도 6은 또한, 3차원 복원물을 생성하는 것이 저장된 시간으로 순서화된 3차원 장면 정보(예컨대, 3D 지오메트리 트랙(612))의 일부분 및 (예컨대, 도 4와 관련하여 전술된 바와 같이) 다른 디바이스들(601)과 같은 추가 디바이스로부터의 추가적인 저장된 시간으로 순서화된 3차원 장면 정보의 일부분에 기초하여 장면 내의 위치와 연관된 3차원 복원물의 일부분을 생성하는 것을 어떻게 포함하는지를 도시한다.
도 7은 본 기술의 구현예들에 따른, 확장 현실 콘텐츠를 기록하기 위한 예시적인 프로세스(700)의 흐름도를 예시한다. 설명의 목적들을 위해, 프로세스(700)는 본 명세서에서 도 1 및 도 2의 전자 디바이스(105)를 참조하여 주로 설명된다. 그러나, 프로세스(700)는 도 1 및 도 2의 전자 디바이스(105)로 제한되지 않고, 프로세스(700)의 하나 이상의 블록들(또는 동작들)은, 전자 디바이스(105), 전자 디바이스(110), 전자 디바이스(115), 및/또는 서버들(120)을 포함한, 다른 적합한 디바이스들의 하나 이상의 다른 컴포넌트들에 의해 수행될 수 있다. 추가로, 설명의 목적들을 위해, 프로세스(700)의 블록들의 일부는 본 명세서에서 직렬로 또는 연속적으로 발생하는 것으로 설명된다. 그러나, 프로세스(700)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(700)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(700)의 하나 이상의 블록들이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
도 7에 예시된 바와 같이, 블록(702)에서, 물리적 환경으로부터의 비디오 및/또는 오디오가 (예컨대, 전자 디바이스(105)에 의해) 캡처될 수 있다. 예를 들어, 기록 시간에 대응하는 기간에 걸쳐, 그리고 디바이스의 카메라로, 환경의 적어도 일부의 비디오가 캡처될 수 있다. 실질적으로 동일한 기간에 걸쳐, 디바이스의 하나 이상의 마이크로폰들로, 환경으로부터의 오디오 정보(예컨대, 다수의 방향들로부터의 공간 오디오)가 또한 캡처될 수 있다.
블록(702)에서, 환경에 대한 심도 데이터와 같은 3D 지오메트리 정보가 또한 (예컨대, 전자 디바이스(105)의 센서들(152)을 사용하여) 캡처될 수 있다. 3D 지오메트리 정보(예컨대, 센서들(152)로부터의 센서 데이터 및/또는 센서들(152)로부터의 센서 데이터에 기초한 프로세스 심도 데이터)를 캡처하는 것은 환경 내에 위치된 디바이스(예컨대, 전자 디바이스(105))의 적어도 하나의 센서로 일정 기간에 걸쳐 환경에 대한 시간으로 순서화된 3차원 장면 정보(예컨대, 심도 정보)를 캡처하는 것을 포함할 수 있다. 3D 지오메트리 정보는 기간에 대응하는 하나의 연속적인 트랙으로, 그리고/또는 기간 전에, 동안에 그리고/또는 후에 다수의 불연속적인 시간들 동안 캡처될 수 있다. 예를 들어, 비디오 및 3D 지오메트리 정보는 춤추는 커플이 춤추는 동안 도 4의 물리적 환경(410) 내의 전자 디바이스(105)에 가시적인 웨딩 케이크의 일부를 표현하는 정보를 포함할 수 있다. 웨딩 케이크의 다른 부분들(예컨대, 후방 면)이 춤추는 동안 전자 디바이스(105)에 가시적이지 않을 수 있지만, 전자 디바이스(105)는 춤추는 동안 캡처되었던 웨딩 케이크를 표현하는 비디오 및/또는 3D 지오메트리 정보로 조정될 수 있는 웨딩 케이크의 다른 부분들에 대한 비디오 및/또는 3D 지오메트리 정보를 나중에 캡처할 수 있다.
블록(712)에서, 비디오 및/또는 오디오 콘텐츠의 일부 또는 전부가 (예컨대, 전자 디바이스(105), 전자 디바이스(110), 전자 디바이스(115), 및/또는 서버들(120)에) 저장될 수 있다. 비디오 및/또는 오디오 콘텐츠를 저장하는 것은 (예컨대, 3D 복원물을, 오프라인으로, 생성하는 데 사용되도록) 도 6과 관련하여 전술된 바와 같은 비디오 트랙(606) 및 오디오 트랙(608)에 블록(702)에서 캡처된 추가 비디오 및/또는 오디오 콘텐츠 및/또는 렌더링된 비디오 및/또는 오디오 콘텐츠를 저장하는 것을 포함할 수 있다. 블록(712)에서는, 블록(704)에서 캡처된 3D 장면 정보의 일부 또는 전부가 또한 저장될 수 있다. 3D 장면 정보를 저장하는 것은, 기간 전체에 걸쳐 기록 디바이스로부터 표면들, 객체들 등의 심도들을 설명하는 심도 정보를 형성하도록 프로세싱된 센서 데이터와 같은 프로세싱된 센서 데이터를 저장하는 것 및/또는 미가공 센서 데이터를 저장하는 것을 포함할 수 있다. 3D 장면 정보를 저장하는 것은 (예컨대, 비디오 트랙(606) 및/또는 오디오 트랙(608)과 시간적으로 정렬되게) 3D 지오메트리 트랙(612) 내에 시간으로 순서화된 3차원 장면 정보를 저장하는 것을 포함할 수 있다.
도 7의 예에서, 블록(718)에서, 전자 디바이스(105) 상의 복원 엔진(220) 및/또는 전자 디바이스(115)의 복원 엔진(225)과 같은 복원 엔진은 블록(702)에서 캡처된 3D 지오메트리 정보(예컨대, 심도 정보/데이터) 및/또는 비디오 및/또는 오디오에 기초하여 3D 복원 콘텐츠를 생성할 수 있다. 3D 복원 콘텐츠는 (예컨대, 물리적 환경 내의 하나 이상의 객체들 또는 다른 엔티티들 각각에 대해) (예컨대, 센서들(152)로부터의 3D 지오메트리 정보에 의해 식별되고/되거나 그에 기초하여 생성되는 바와 같이) 객체/엔티티의 메시로 맵핑되는 텍스처(예컨대, 캡처된 비디오로부터 그리고/또는 그에 기초하여 획득된 하나 이상의 이미지들)를 포함할 수 있다. 3D 복원 콘텐츠를 생성하는 것은 환경에 대한 시간으로 순서화된 3차원 장면 정보를 복원 엔진에 제공하는 것, 및 환경 내에 존재하는 3차원 복원물 내의 3차원 엔티티들/객체들의 메시들, 포인트 클라우드들, 또는 다른 3차원 표현들을 포함하는 환경의 3차원 복원물을 생성하는 것을 포함할 수 있다. 환경 내의 객체(예컨대, 웨딩 케이크)의 3D 복원물을 생성하는 것은 (예컨대, XR 경험 전체에 걸쳐, 예컨대, 도 4의 춤추는 커플의 무도회의 밤 전체에 걸쳐) 상이한 시간들에 캡처된 상이한 관점들로부터의 객체의 비디오 및/또는 3D 지오메트리 (예컨대, 심도) 정보를 이용하는 것을 포함할 수 있다.
도 7의 예에서. 블록(714)에서, 장면 이해 데이터는 블록(702)에서 캡처된 비디오 및/또는 오디오 및/또는 심도 데이터에 기초하여, 하나 이상의 컴퓨터 비전(CV) 알고리즘들에 기초하여, 그리고/또는 블록(718)에서 생성된 3D 복원 콘텐츠에 기초하여 생성될 수 있다.
블록(720)에서, 장면 이해 데이터에 기초하여, 렌더링된 장면이 생성될 수 있다. 렌더링된 장면의 생성 시, 3D 복원 콘텐츠(예컨대, 기록 디바이스의 시야에 있는 장면에 대응하는 3차원 복원물의 일부분)의 일부 또는 전부 및/또는 비디오 및/또는 오디오 콘텐츠 및/또는 심도 데이터(예컨대, 기록 디바이스의 시야에 있는 장면의 일부분에 대응하는 오디오 및/또는 비디오 및/또는 심도 데이터)의 일부 또는 전부, 및/또는 비디오 및/또는 오디오 콘텐츠 및/또는 심도 데이터(예컨대, 기록 디바이스의 시야에 있는 장면의 일부분에 대응하는 오디오 및/또는 비디오 및/또는 심도 데이터)의 일부 또는 전부에 기초한 컴퓨터 생성 장면 정보가 렌더링될 수 있다.
블록(708)에서, 컴퓨터 생성 콘텐츠(예컨대, 도 4의 컴퓨터 생성 콘텐츠(402 및/또는 404) 및/또는 도 5의 컴퓨터 생성 콘텐츠(502))가 렌더링될 수 있다. CG 콘텐츠를 렌더링하는 것은, 실질적으로 동일한 기간에 걸쳐 그리고 렌더링된 장면에 적어도 부분적으로 기초하여, 시간으로 순서화된 컴퓨터 생성 콘텐츠를 생성하는 것, 및 렌더링된 비디오와의 디스플레이를 위해 시간으로 순서화된 컴퓨터 생성 콘텐츠를 렌더링하는 것을 포함할 수 있다.
블록(710)에서, 비디오 및/또는 오디오 콘텐츠, 렌더링된 CG 콘텐츠, 장면 이해 데이터, 및/또는 3D 복원 콘텐츠에 기초하여, 최종 렌더링된 프레임이 생성 및 디스플레이될 수 있다. 최종 프레임의 렌더링 시, 렌더링된 비디오 및/또는 오디오 콘텐츠, 렌더링된 CG 콘텐츠, 렌더링된 장면, 및/또는 렌더링된 3D 복원 콘텐츠(예컨대, 3D 복원 콘텐츠의 렌더링된 부분)의 일부 또는 전부가 (예컨대, 전자 디바이스(105)의 디스플레이(302)에 의해) 디스플레이된다. 예를 들어, 실질적으로 동일한 기간에 걸쳐, 디바이스의 디스플레이로, 시간으로 순서화된 컴퓨터 생성 콘텐츠가 렌더링된 장면 상에 그리고/또는 환경의 적어도 일부분의 뷰 상에 오버레이된 상태로 디스플레이될 수 있다. 환경의 적어도 일부분의 뷰는 그 기간 동안 디바이스의 카메라에 의해 캡처된 환경의 이미지들에 기초하여 투명 또는 반투명 디스플레이를 통한 다이렉트 뷰, 또는 디스플레이에 의해 생성된 패스-스루 뷰일 수 있다.
블록(716)에서, CG 콘텐츠가 저장될 수 있다. CG 콘텐츠를 저장하는 것은, 시간으로 순서화된 3차원 장면 정보(예컨대, 3D 지오메트리 트랙(612))와 시간적으로 정렬되게, 시간으로 순서화된 컴퓨터 생성 콘텐츠를 저장하는 것을 포함할 수 있다. 예를 들어, 시간으로 순서화된 컴퓨터 생성 콘텐츠는 CG 콘텐츠 트랙(610)으로서 저장될 수 있다. 저장된 시간으로 순서화된 컴퓨터 생성 콘텐츠는 기록 동안 디스플레이되었던 CG 콘텐츠 및/또는 기록 동안 시야를 벗어났었던 CG 콘텐츠가 임의의 뷰포인트 또는 위치로부터의 재생에서 재렌더링되게 하는 스냅샷 프레임들 및 스냅샷 델타 프레임들을 포함할 수 있다.
블록(722)에서, 3D 복원 콘텐츠의 일부 또는 전부가 저장될 수 있다. 3D 복원 콘텐츠를 저장하는 것은, 주어진 재생 시간에 재생 디바이스의 시야에 존재하는 복원된 3D 장면의 일부분들이 임의의 뷰포인트 또는 위치로부터의 재생에서 재렌더링되게 하는, 장면의 3차원 표현, 장면 내의 객체들 및/또는 엔티티들, 객체들 및/또는 엔티티들의 텍스처들 및/또는 재료들, 및/또는 장면으로부터의 이미지 및/또는 오디오 데이터를 저장하는 것을 포함할 수 있다.
블록(724)에서, 렌더링된 비디오, 오디오, CG 콘텐츠, 및/또는 기록 기간 동안 디스플레이된 3D 복원 콘텐츠에 대응하는 XR 경험 또는 3D 경험과 같은 경험이, 기록된 비디오 및/또는 오디오 콘텐츠, 기록된 CG 콘텐츠, 기록된 3D 장면 정보, 및/또는 기록된 3D 복원 콘텐츠에 기초하여, 저장될 수 있다. 경험을 저장하는 것은 비디오 트랙(606), 오디오 트랙(608), CG 콘텐츠 트랙(610), 3D 지오메트리 트랙(612), 및/또는 3D 복원물을 XR 기록(600)에 저장하는 것을 포함할 수 있다.
도 7의 예에서, 3D 복원물은 XR 경험이 디스플레이되고 기록되는 동일한 기간 동안 생성되고, 도시된 바와 같이 프레임들을 렌더링하는 데 사용될 수 있다. 그러나, 3D 복원 동작들이 기록 시간 후에 수행되고 나중에는 재생을 위해 기록된 XR 경험에 추가될 수 있다는 것을 이해하여야 한다.
도 8은 본 기술의 구현예들에 따른, 기록 동안 기록 동작들 및 활성 디스플레이와는 별개로 3D 복원물을 생성하는 것을 포함하는, 확장 현실 콘텐츠를 기록하기 위한 예시적인 프로세스(800)의 흐름도를 예시한다. 설명의 목적들을 위해, 프로세스(800)는 본 명세서에서 도 1 및 도 2의 전자 디바이스(105) 및 서버(120)를 참조하여 주로 설명된다. 그러나, 프로세스(800)는 도 1 및 도 2의 전자 디바이스(105) 및 서버(120)로 제한되지 않고, 프로세스(800)의 하나 이상의 블록들(또는 동작들)은, 전자 디바이스(105), 전자 디바이스(110), 전자 디바이스(115), 및/또는 서버들(120)을 포함한, 다른 적합한 디바이스들의 하나 이상의 다른 컴포넌트들에 의해 수행될 수 있다. 추가로, 설명의 목적들을 위해, 프로세스(800)의 블록들의 일부는 본 명세서에서 직렬로 또는 연속적으로 발생하는 것으로 설명된다. 그러나, 프로세스(800)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(800)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(800)의 하나 이상의 블록들이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
도 8의 예에 도시된 바와 같이, 블록(714)에서 장면 이해 데이터를 생성하고, 블록(720)에서 렌더링된 장면을 생성하고, 블록(708)에서 CG 콘텐츠를 렌더링한 후, 전자 디바이스(105)와 같은 디바이스가, 비디오 및/또는 오디오 콘텐츠, 렌더링된 CG 콘텐츠, 및/또는 장면 이해 데이터에 기초하여, 최종 프레임을 생성 및 디스플레이할 수 있다. 이러한 예에서, 3D 복원 콘텐츠는 최종 프레임의 디스플레이에 사용되지 않는다. 이러한 예에서, CG 콘텐츠는 렌더링된 장면 위에, 장면의 패스-스루 비디오 뷰 위에, 또는 투명 또는 반투명 디스플레이를 통한 장면의 다이렉트 뷰 위에 디스플레이될 수 있다.
블록(804)에서, 비디오 및/또는 오디오 콘텐츠의 일부 또는 전부가 (예컨대, 전자 디바이스(105), 전자 디바이스(110), 전자 디바이스(115), 및/또는 서버들(120)에) 저장될 수 있다. 비디오 및/또는 오디오 콘텐츠를 저장하는 것은 (예컨대, 환경의 3D 복원물의 생성 시 나중에 사용하기 위해) 도 6과 관련하여 전술된 바와 같은 비디오 트랙(606) 및 오디오 트랙(608)에 블록(702)에서 캡처된 추가 비디오 및/또는 오디오 콘텐츠 및/또는 렌더링된 비디오 및/또는 오디오 콘텐츠를 저장하는 것을 포함할 수 있다.
블록(806)에서, CG 콘텐츠가 저장될 수 있다. CG 콘텐츠를 저장하는 것은, 시간으로 순서화된 3차원 장면 정보(예컨대, 3D 지오메트리 트랙(612))와 시간적으로 정렬되게, 시간으로 순서화된 컴퓨터 생성 콘텐츠를 저장하는 것을 포함할 수 있다. 예를 들어, 시간으로 순서화된 컴퓨터 생성 콘텐츠는 CG 콘텐츠 트랙(610)으로서 저장될 수 있다. 저장된 시간으로 순서화된 컴퓨터 생성 콘텐츠는 기록 동안 디스플레이되었던 CG 콘텐츠 및/또는 (예컨대, 기록 동안 기록 사용자의 시야로 인해) 기록 동안 디스플레이되지 않았던 CG 콘텐츠가 임의의 뷰포인트 또는 위치로부터의 재생에서 재렌더링되게 하는 스냅샷 프레임들 및 스냅샷 델타 프레임들을 포함할 수 있다.
블록(810)에서, 경험의 기록/디스플레이 후, 서버(120) 상의 복원 엔진(225)과 같은 복원 엔진, 전자 디바이스(105) 상의 복원 엔진(220) 및/또는 전자 디바이스(115)의 복원 엔진(225)과 같은 복원 엔진은 블록(702)에서 캡처된 3D 지오메트리 정보 및/또는 비디오 및/또는 오디오에 기초하여 3D 복원 콘텐츠를 생성할 수 있다. 3D 복원 콘텐츠를 생성하는 것은 환경에 대한 시간으로 순서화된 3차원 장면 정보를 복원 엔진에 제공하는 것, 및 3차원 복원물 내의 3차원 엔티티들의 형상, 텍스처, 재료, 애니메이션 등을 식별하는 환경의 3차원 복원물을 생성하는 것을 포함할 수 있다.
블록(812)에서, 3D 복원 콘텐츠의 일부 또는 전부가 저장될 수 있다. 3D 복원 콘텐츠를 저장하는 것은 기록 기간 동안 기록 디바이스의 물리적 환경의 일부분들이 임의의 뷰포인트 또는 위치로부터의 재생에서 가상으로 렌더링되게 하는 메시들, 텍스처들, 재료들, 애니메이션들, 포인트 클라우드 표현들 등을 저장하는 것을 포함할 수 있다.
블록(814)에서, 렌더링된 비디오, 오디오, CG 콘텐츠, 및/또는 기록 기간 동안 디스플레이된 3D 복원 콘텐츠에 대응하는 XR 경험 또는 3D 경험과 같은 경험이, 기록된 비디오 및/또는 오디오 콘텐츠, 기록된 CG 콘텐츠, 기록된 3D 장면 정보, 및/또는 기록된 3D 복원 콘텐츠에 기초하여, 저장될 수 있다. 경험을 저장하는 것은 비디오 트랙(606), 오디오 트랙(608), CG 콘텐츠 트랙(610), 3D 지오메트리 트랙(612), 및/또는 3D 복원물을 XR 기록(600)에 저장하는 것을 포함할 수 있다.
도 9는 본 기술의 구현예들에 따른, 확장 현실 콘텐츠의 기록을 편집하기 위한 예시적인 프로세스(900)의 흐름도를 예시한다. 설명의 목적들을 위해, 프로세스(900)는 본 명세서에서 도 1 및 도 2의 전자 디바이스(105) 및 서버(120)를 참조하여 주로 설명된다. 그러나, 프로세스(900)는 도 1 및 도 2의 전자 디바이스(105) 및 서버(120)로 제한되지 않고, 프로세스(900)의 하나 이상의 블록들(또는 동작들)은, 전자 디바이스(105), 전자 디바이스(110), 전자 디바이스(115), 및/또는 서버들(120)을 포함한, 다른 적합한 디바이스들의 하나 이상의 다른 컴포넌트들에 의해 수행될 수 있다. 추가로, 설명의 목적들을 위해, 프로세스(900)의 블록들의 일부는 본 명세서에서 직렬로 또는 연속적으로 발생하는 것으로 설명된다. 그러나, 프로세스(900)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(900)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(900)의 하나 이상의 블록들이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
블록(902)에서, 비디오 트랙, 오디오 트랙, 컴퓨터 생성 콘텐츠 트랙, 3차원 장면 정보 트랙, 및/또는 복원물(예컨대, XR 기록(600))을 포함한 기록된 3D 경험 또는 XR 경험과 같은 저장된 경험이 (예컨대, 전자 디바이스(105), 전자 디바이스(110), 전자 디바이스(115), 및/또는 서버(120)에 의해) 획득될 수 있다.
블록(904)에서, 컴퓨터 생성 콘텐츠 트랙은 (예컨대, 기록하는 동안 렌더링되었던 가상 곰과 같은 CG 콘텐츠를 가상 공룡과 같은 다른 CG 콘텐츠로 교체하도록, 그리고/또는 CG 콘텐츠를 추가 또는 제거하도록) 수정될 수 있다.
블록(906)에서, 3D 복원물은 (예컨대, 구멍 채우기 및 누락된 지오메트리 채우기 등을 위해) 수정될 수 있다 .
블록(908)에서, 수정된 컴퓨터 생성 콘텐츠 트랙을 포함하는 수정된 경험, 및/또는 수정된 복원물은 수정된 XR 기록으로서 저장될 수 있다.
도 10은 재생을 위해 저장 및/또는 획득될 수 있는 수정된 XR 기록(1020)의 예를 예시한다. 도 10에 도시된 바와 같이, 수정된 XR 기록(1020)은, 수정된 XR 기록(1020)에 각각 저장된, CG 콘텐츠 트랙(1026) 및 3D 복원물(1028)을 포함한다. 도 10의 예에서, 3D 지오메트리 트랙(612)은, 재생을 위해 필요한 3D 지오메트리 정보(예컨대, 및 비디오 및/또는 오디오 정보)가 3D 복원물(1028)에서 인코딩되었기 때문에, 재생을 위해 사용될 기록에 포함되지 않는다.
도 10에 예시된 바와 같이, 수정된 XR 기록(1020)의 재생은, 시작 시간(1010)에서 시작하여, 센서들(1052)(예컨대, 본 명세서에 설명된 센서들(152) 중 하나 이상), 디스플레이(302), 및 디스플레이 렌더링 엔진(1000)(예컨대, 프로세싱 회로부(306)로 구현됨)을 갖는 재생 디바이스(예컨대, 전자 디바이스(105))에 의해 수행될 수 있다. 도 10의 예에서, 수정된 XR 기록(1020)의 재생 동안, CG 콘텐츠 트랙(1026) 및 3D 복원물(1028)의 관련 부분들은, 재생 디바이스의 위치, 움직임 및/또는 배향, 및/또는 디바이스의 사용자/착용자의 눈 추적 정보 및/또는 다른 바이오메트릭 정보와 같은 다른 정보를 나타내는 센서들(1052)로부터의 센서 데이터와 함께, 디스플레이 렌더링 엔진(1000)에 제공될 수 있다.
디바이스의 위치, 배향 및/또는 움직임, 및/또는 센서들(1052)로부터의 다른 정보에 기초하여, 그리고 기록의 시작 시간(1010)(및/또는 기록 내의 시각을 나타내는 임의의 다른 시간 스탬프(1012))에 대한 재생 시간에 기초하여, 디스플레이 렌더링 엔진(1000)은 CG 콘텐츠 트랙에 기초한 CG 콘텐츠의 일부 또는 전부, 및 3D 복원 콘텐츠의 관련 부분들을 렌더링할 수 있다.
CG 콘텐츠를 렌더링하는 것은, CG 콘텐츠 라이브러리로부터, CG 콘텐츠 트랙(1026) 내의 하나 이상의 스냅샷 프레임들에서 식별된 하나 이상의 가상 객체들에 대한 하나 이상의 메시들, 텍스처들, 및/또는 재료들을 획득하는 것을 포함할 수 있다. 3D 복원 콘텐츠를 렌더링하는 것은, 복원 라이브러리로부터, 주어진 시간에 관찰자의 시야 내에 있는 3D 복원물(1028)의 부분들에서 식별된 하나 이상의 엔티티들에 대한 하나 이상의 메시들, 텍스처들, 및/또는 재료들을 획득하는 것을 포함할 수 있다. 오디오 정보(예컨대, 3D 복원물(1028)의 일부로서 저장된 3D 오디오 정보)는 (예컨대, 오디오 렌더링 엔진 또는 다른 오디오 프로세서를 통해) 스피커들(1002)과 같은 하나 이상의 스피커들에 제공될 수 있다.
본 개시내용의 양태들에 따르면, 기록을 위해 사용되는 디바이스 또는 다른 디바이스로, 나중의 기간에 걸쳐, 기록의 기간에 대응하는 경험을 재생하는 것은, 디바이스 또는 다른 디바이스의 제1 위치를 3차원 복원물 내의 일정 위치와 연관시키는 것을 포함할 수 있다. 제1 위치는 재생의 시작 시 디바이스의 위치일 수 있고, 경험의 기록의 시작 시 기록 디바이스의 위치에 연관될 수 있다. 나중의 기간에 걸쳐, 기록의 환경의 일부분의 복원물은 저장된 3D 복원물(1028) 및 (예컨대, 센서들(1052)을 사용한) 디바이스 또는 다른 디바이스의 추적된 위치에 기초하여 렌더링될 수 있다. 나중의 기간에 걸쳐, 추가적인 컴퓨터 생성 콘텐츠는 또한, 저장된 3D 복원물(1028), 저장된 시간으로 순서화된 컴퓨터 생성 콘텐츠 트랙(예컨대, CG 콘텐츠 트랙)(1026), 및 디바이스 또는 다른 디바이스의 추적된 위치에 기초하여 렌더링될 수 있다. 추가적인 컴퓨터 생성 콘텐츠는 CG 콘텐츠 트랙(1026)에 나타낸 수정된 컴퓨터 생성 콘텐츠일 수 있다.
기록의 기간 동안 컴퓨터 생성 콘텐츠를 렌더링하는 것은 컴퓨터 생성 콘텐츠의 렌더링의 시간에서의 디바이스의 위치와 연관된 제1 시야각으로부터 컴퓨터 생성 콘텐츠를 렌더링하는 것을 포함할 수 있다. 대조적으로, 나중의 기간 동안 추가적인 컴퓨터 생성 콘텐츠를 렌더링하는 것은, 제1 시야각과는 상이한 제2 시야각으로부터 그리고 디바이스 또는 다른 디바이스의 추적된 위치에 기초하여, 기록의 기간 동안 렌더링되었던 컴퓨터 생성 콘텐츠를 렌더링하는 것을 포함할 수 있다. (예컨대, 추가 CG 콘텐츠가 기록 사용자의 시야에 있지 않았기 때문에) 그 기간 동안 렌더링되지 않았던 추가 CG 콘텐츠가 또한 (예컨대, 관찰 사용자의 상이한 시야각으로 인해) 나중의 기간 동안 렌더링될 수 있다.
제1 시야각과는 상이한 제2 시야각으로부터 그리고 디바이스 또는 다른 디바이스의 추적된 위치에 기초하여, 기록의 기간 동안 렌더링되었던 컴퓨터 생성 콘텐츠를 렌더링하는 것은 재생에 대응하는 나중의 기간 동안 현재 시간에서의 디바이스 또는 다른 디바이스의 현재 추적된 위치를 획득하는 것, 시간으로 순서화된 컴퓨터 생성 콘텐츠 트랙, 현재 시간, 및 획득된 현재 추적된 위치에 기초하여 컴퓨터 생성 콘텐츠와 연관된 메시, 텍스처, 또는 재료를 획득하는 것, 및 획득된 메시, 텍스처, 또는 재료에 기초하여 제2 시야각으로부터 그 기간 동안 렌더링되었던 컴퓨터 생성 콘텐츠를 렌더링하는 것을 포함할 수 있다.
도 11은 본 기술의 구현예들에 따른, 확장 현실 콘텐츠의 기록의 재생을 위한 예시적인 프로세스(1100)의 흐름도를 예시한다. 설명의 목적들을 위해, 프로세스(1100)는 본 명세서에서 도 1 및 도 2의 전자 디바이스(105)를 참조하여 주로 설명된다. 그러나, 프로세스(1100)는 도 1 및 도 2의 전자 디바이스(105)로 제한되지 않고, 프로세스(1100)의 하나 이상의 블록들(또는 동작들)은, 전자 디바이스(105), 전자 디바이스(110), 및/또는 서버(120)를 포함한, 다른 적합한 디바이스들의 하나 이상의 다른 컴포넌트들에 의해 수행될 수 있다. 또한 설명의 목적들을 위해, 프로세스(1100)의 블록들은 본 명세서에서 직렬로 또는 선형적으로 발생하는 것으로 설명된다. 그러나, 프로세스(1100)의 다수의 블록들은 병렬로 발생할 수 있다. 또한, 프로세스(1100)의 블록들은 도시된 순서로 수행될 필요가 없고/없거나 프로세스(1100)의 하나 이상의 블록들이 수행될 필요가 없고/없거나 다른 동작들에 의해 대체될 수 있다.
도 11에 예시된 바와 같이, 블록(1102)에서, 재생 디바이스는 제1 기간에 걸쳐 확장 현실 디바이스로 캡처된 경험의 기록을 획득하고, 기록은 3D 복원물(1028)과 같은 3차원 복원물, 및 CG 콘텐츠 트랙(1026)과 같은 컴퓨터 생성 콘텐츠 트랙을 포함한다.
블록(1104)에서, 확장 현실 디바이스 또는 다른 확장 현실 디바이스의 제1 위치가 3차원 복원물 내의 위치와 연관될 수 있다. 3차원 복원물의 위치는 기록이 생성되었을 때 기록 디바이스의 물리적 환경 내의 물리적 위치에 대응할 수 있다.
블록(1106)에서, 확장 현실 디바이스 또는 확장 현실 디바이스의 위치는 나중의 기간 동안 추적될 수 있다. 위치를 추적하는 것은 또한 사용자의 배향, 이동, 및/또는 그의 바이오메트릭 정보와 같은 다른 정보를 추적하는 것을 포함할 수 있다.
블록(1108)에서, 나중의 기간에 걸쳐, 3차원 복원물, 및 확장 현실 디바이스 또는 확장 현실 디바이스의 추적된 위치에 기초하여 확장 현실 디바이스의 환경의 일부분의 복원물이 렌더링된다.
나중의 기간에 걸쳐, 3차원 복원물, 및 확장 현실 디바이스 또는 확장 현실 디바이스의 추적된 위치에 기초하여 확장 현실 디바이스의 환경의 일부분의 복원물을 렌더링하는 것은 3차원 복원물, 재생 시간, 및 재생 시간에 대응하는 현재 추적된 위치에 기초하여 환경의 일부분 내의 엔티티와 연관된 메시, 텍스처, 또는 재료를 획득하는 것; 및 메시, 텍스처, 또는 재료에 기초하여 환경의 일부분의 복원물을 렌더링하는 것을 포함할 수 있다.
블록(1110)에서, 나중의 기간에 걸쳐, 컴퓨터 생성 콘텐츠는 3차원 복원물, 컴퓨터 생성 콘텐츠 트랙, 및 확장 현실 디바이스 또는 확장 현실 디바이스의 추적된 위치에 기초하여 렌더링될 수 있다.
나중의 기간에 걸쳐, 3차원 복원물, 컴퓨터 생성 콘텐츠 트랙, 및 확장 현실 디바이스 또는 확장 현실 디바이스의 추적된 위치에 기초하여 컴퓨터 생성 콘텐츠를 렌더링하는 것은 컴퓨터 생성 콘텐츠 트랙, 재생 시간, 및 재생 시간에 대응하는 현재 추적된 위치에 기초하여 컴퓨터 생성 콘텐츠와 연관된 추가 메시, 추가 텍스처, 또는 추가 재료를 획득하는 것; 및 추가 메시, 추가 텍스처, 또는 추가 재료에 기초하여 컴퓨터 생성 콘텐츠를 렌더링하는 것을 포함할 수 있다.
기록은 시간 경과에 따라 변화하는 동적 콘텐츠를 포함할 수 있다. 예를 들어, 컴퓨터 생성 콘텐츠는 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들에 기초하여 시간 경과에 따라 변화하는 동적 콘텐츠일 수 있다. 일부 동작 시나리오들에서, 기록을 재생하는 것은 (예컨대, 사용자가 실제 또는 가상 "일시정지" 버튼을 작동시키거나 또는 단어 "일시정지"를 말하는 경우) 기록의 재생을 일시정지하라는 요청을 수신하는 것을 포함할 수 있다. 요청에 응답하여, 재생 디바이스는 (예컨대, 일시정지의 시간에 디스플레이된 바와 같은 도 4의 춤추는 커플의 춤추는 포즈를 고정시킴으로써) 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들 및/또는 기록의 다른 동적 특징부들에 기초하여 시간 경과에 따른 변화들의 렌더링을 일시정지할 수 있다. 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들 및/또는 기록의 다른 동적 특징부들에 기초하여 시간 경과에 따른 변화들의 렌더링을 일시정지하는 동안, 컴퓨터 생성 콘텐츠 및/또는 기록의 다른 동적 특징부들의 정적 표현(예컨대, 고정된 포즈의 춤추는 커플)은 기록의 재생을 일시정지하라는 요청의 시간에 대응하는 기록의 일부분(예컨대, 컴퓨터 생성 콘텐츠 트랙)에 기초하여 디스플레이될 수 있다. 기록의 시간 경과에 따른 변화들이 일시정지되는 한편, 확장 현실 디바이스(예컨대, 재생 디바이스)의 이동이 (예컨대, 센서들(1052)을 사용하여) 검출될 수 있다. 이어서, 컴퓨터 생성 콘텐츠의 정적 표현 및/또는 기록의 다른 동적 특징부들의 렌더링은 이동에 기초하여 수정될 수 있다. 예를 들어, 고정된 포즈의 렌더링된 춤추는 커플의 뷰는 사용자가 커플의 고정된 뷰 주위를 물리적으로 걸음에 따라 회전될 수 있다.
이어서, 디바이스는 기록의 재생을 계속하라는 요청(예컨대, 일시정지 버튼의 선택해제)을 수신할 수 있고 (예컨대, 기록된 춤의, 그러나 사용자의 새로운 뷰포인트로부터의, 재생을 재개함으로써) 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들 및/또는 기록의 다른 동적 특징부들에 기초하여 시간 경과에 따른 변화들의 렌더링을 재개할 수 있다. 렌더링을 재개하는 것은, 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들에 기초하여, 계속하라는 요청의 시간에서의 정적 표현의 수정된 렌더링에 대해, 시간 경과에 따른 변화들을 렌더링하는 것을 포함할 수 있다.
위에서 설명된 바와 같이, 본 기술의 일 양태는 XR 기록을 위해 특정의 적법한 소스들로부터 이용가능한 데이터의 수집 및 사용이다. 본 개시내용은, 일부 예시들에서, 이러한 수집된 데이터가 특정 사람을 고유하게 식별하거나 또는 그를 식별하는 데 사용될 수 있는 개인 정보 데이터를 포함할 수 있음을 고려한다. 그러한 개인 정보 데이터는 비디오 데이터, 3차원 지오메트리 데이터, 인구통계 데이터, 위치 기반 데이터, 온라인 식별자들, 전화 번호들, 이메일 주소들, 집 주소들, 사용자의 건강 또는 피트니스 레벨에 관한 데이터 또는 기록들(예컨대, 바이탈 사인(vital sign) 측정치들, 투약 정보, 운동 정보), 생년월일, 또는 임의의 다른 개인 정보를 포함할 수 있다.
본 개시내용은 본 기술에서의 그러한 개인 정보 데이터의 이용이 사용자들에게 이득을 주기 위해 사용될 수 있음을 인식한다. 예를 들어, 개인 정보 데이터는 XR 경험들의 기록을 위해 사용될 수 있다.
본 개시내용은 그러한 개인 정보 데이터의 수집, 분석, 공개, 전달, 저장, 또는 다른 사용을 담당하는 그러한 엔티티들이 잘 확립된 프라이버시 정책들 및/또는 프라이버시 관례들을 준수할 것이라는 것을 고려한다. 특히, 그러한 엔티티들은 사용자들의 프라이버시를 유지하기 위한 산업 또는 행정 요구사항들을 충족시키거나 능가하는 것으로 일반적으로 인식되는 프라이버시 관례들을 구현하고 일관되게 적용할 것으로 예상될 것이다. 개인 데이터의 사용에 관한 그러한 정보는 사용자들에 의해 눈에 띄게 그리고 쉽게 액세스가능해야 하고, 데이터의 수집 및/또는 사용이 변화함에 따라 업데이트되어야 한다. 사용자들로부터의 개인 정보는 적법한 사용들을 위해서만 수집되어야 한다. 또한, 그러한 수집/공유는 사용자들의 동의 또는 적용가능한 법률에 특정된 다른 적법한 근거를 수신한 후에만 발생해야 한다. 부가적으로, 그러한 엔티티들은 그러한 개인 정보 데이터에 대한 액세스를 보호하고 안전하게 하며 개인 정보 데이터에 대한 액세스를 갖는 다른 사람들이 그들의 프라이버시 정책들 및 절차들을 고수한다는 것을 보장하기 위한 임의의 필요한 단계들을 취하는 것을 고려해야 한다. 추가로, 그러한 엔티티들은 널리 인정된 프라이버시 정책들 및 관례들에 대한 그들의 고수를 증명하기 위해 제3자들에 의해 그들 자신들이 평가를 받을 수 있다. 추가로, 정책들 및 관례들은 수집되고/되거나 액세스되는 특정 유형들의 개인 정보 데이터에 대해 적응되고, 더 높은 표준을 부과하는 역할을 할 수 있는 관할구역 특정 고려사항들을 비롯한 적용가능한 법률들 및 표준들에 적응되어야 한다. 예를 들어, 미국에서, 소정 건강 데이터의 수집 또는 그에 대한 액세스는 연방법 및/또는 주의 법, 예컨대 미국 건강 보험 양도 및 책임 법령(Health Insurance Portability and Accountability Act, HIPAA)에 의해 통제될 수 있는 반면; 다른 국가들에서의 건강 데이터는 다른 규정들 및 정책들의 적용을 받을 수 있고 그에 따라 취급되어야 한다.
전술한 것에도 불구하고, 본 개시내용은 또한 사용자들이 개인 정보 데이터의 사용, 또는 그에 대한 액세스를 선택적으로 차단하는 실시예들을 고려한다. 즉, 본 개시내용은 그러한 개인 정보 데이터에 대한 액세스를 방지하거나 차단하기 위해 하드웨어 및/또는 소프트웨어 요소들이 제공될 수 있다는 것을 고려한다. 예를 들어, XR 기록의 경우에, 본 기술은 사용자들이 서비스들을 위한 등록 중 또는 이후 임의의 시간에 개인 정보 데이터의 수집 및/또는 공유 시의 참여의 "동의함" 또는 "동의하지 않음"을 선택하는 것을 허용하도록 구성될 수 있다. "동의" 및 "동의하지 않음" 옵션들을 제공하는 것에 부가하여, 본 개시내용은 개인 정보의 접근 또는 사용에 관한 통지들을 제공하는 것을 고려한다. 예를 들어, 사용자는 그들의 개인 정보 데이터가 액세스될 앱을 다운로드할 시에 통지받고, 이어서 개인 정보 데이터가 앱에 의해 액세스되기 직전에 다시 상기하게 될 수 있다.
더욱이, 의도하지 않은 또는 인가되지 않은 액세스 또는 사용의 위험요소들을 최소화하는 방식으로 개인 정보 데이터가 관리 및 처리되어야 한다는 것이 본 개시내용의 의도이다. 데이터의 수집을 제한하고 데이터가 더 이상 필요하지 않게 되면 데이터를 삭제함으로써 위험이 최소화될 수 있다. 추가로, 그리고 소정의 건강 관련 애플리케이션들에 적용하는 것을 비롯하여, 적용가능할 때, 사용자의 프라이버시를 보호하기 위해 데이터 식별해제가 사용될 수 있다. 적절한 경우, 식별자들을 제거하는 것, 저장된 데이터의 양 또는 특이성(specificity)을 제어하는 것(예컨대, 주소 레벨에서보다는 도시 레벨에서 또는 얼굴 인식에 불충분한 스케일에서 위치 데이터를 수집하는 것), 데이터가 저장되는 방법을 제어하는 것(예컨대, 사용자들에 걸쳐 데이터를 집계하는 것), 그리고/또는 차등 프라이버시(differential privacy)와 같은 다른 방법들에 의해, 비식별화가 용이하게 될 수 있다.
따라서, 본 개시내용이 하나 이상의 다양한 개시된 실시예들을 구현하기 위해 개인 정보 데이터의 사용을 광범위하게 커버하지만, 본 개시내용은 다양한 실시예들이 또한 그러한 개인 정보 데이터에 액세스할 필요 없이 구현될 수 있다는 것을 또한 고려한다. 즉, 본 기술의 다양한 실시예들은 그러한 개인 정보 데이터의 전부 또는 일부의 결여로 인해 동작불가능하게 되지는 않는다.
도 12는 본 기술의 하나 이상의 구현예들이 구현될 수 있는 전자 시스템(1200)을 예시한다. 전자 시스템(1200)은 도 1에 도시된 바와 같은 전자 디바이스(105), 핸드헬드 전자 디바이스(104), 전자 디바이스(110), 전자 디바이스(115), 및/또는 서버(120)일 수 있고/있거나 그 일부일 수 있다. 전자 시스템(1200)은 다양한 유형들의 컴퓨터 판독가능 매체들 및 다양한 다른 유형들의 컴퓨터 판독가능 매체들을 위한 인터페이스들을 포함할 수 있다. 전자 시스템(1200)은 버스(1208), 하나 이상의 프로세싱 유닛(들)(1212), 시스템 메모리(1204)(및/또는 버퍼), ROM(1210), 영구 저장 디바이스(1202), 입력 디바이스 인터페이스(1214), 출력 디바이스 인터페이스(1206), 및 하나 이상의 네트워크 인터페이스들(1216), 또는 이들의 서브세트들 및 변형들을 포함한다.
버스(1208)는 전자 시스템(1200)의 다수의 내부 디바이스들을 통신가능하게 연결하는 모든 시스템, 주변기기, 및 칩셋 버스들을 총괄하여 표현한다. 하나 이상의 구현예들에서, 버스(1208)는 하나 이상의 프로세싱 유닛(들)(1212)을 ROM(1210), 시스템 메모리(1204), 및 영구 저장 디바이스(1202)와 통신가능하게 연결시킨다. 이러한 다양한 메모리 유닛들로부터, 하나 이상의 프로세싱 유닛(들)(1212)은 본 개시내용의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다. 하나 이상의 프로세싱 유닛(들)(1212)은 상이한 구현예들에서 단일 프로세서 또는 멀티-코어 프로세서일 수 있다.
ROM(1210)은 하나 이상의 프로세싱 유닛(들)(1212) 및 전자 시스템(1200)의 다른 모듈들에 의해 필요한 정적 데이터 및 명령어들을 저장한다. 반면에, 영구 저장 디바이스(1202)는 판독-및-기입 메모리 디바이스일 수 있다. 영구 저장 디바이스(1202)는 전자 시스템(1200)이 오프일 때도 명령어들 및 데이터를 저장하는 비휘발성 메모리 유닛일 수 있다. 하나 이상의 구현예들에서, 영구 저장 디바이스(1202)로서 (자기 또는 광 디스크 및 그의 대응하는 디스크 드라이브와 같은) 대용량 저장 디바이스가 사용될 수 있다.
하나 이상의 구현예들에서, 영구 저장 디바이스(1202)로서 (플로피 디스크, 플래시 드라이브, 및 그의 대응하는 디스크 드라이브와 같은) 제거가능한 저장 디바이스가 사용될 수 있다. 영구 저장 디바이스(1202)와 같이, 시스템 메모리(1204)는 판독- 및-기입 메모리 디바이스일 수 있다. 그러나, 영구 저장 디바이스(1202)와 달리, 시스템 메모리(1204)는 랜덤 액세스 메모리와 같은 휘발성 판독-및-기입 메모리일 수 있다. 시스템 메모리(1204)는 하나 이상의 프로세싱 유닛(들)(1212)이 런타임 시에 필요로 할 수 있는 명령어들 및 데이터 중 임의의 것을 저장할 수 있다. 하나 이상의 구현예들에서, 본 개시내용의 프로세스들은 시스템 메모리(1204), 영구 저장 디바이스(1202), 및/또는 ROM(1210)에 저장된다(이들은 각각, 비일시적 컴퓨터 판독가능 매체로서 구현됨). 이러한 다양한 메모리 유닛들로부터, 하나 이상의 프로세싱 유닛(들)(1212)은 하나 이상의 구현예들의 프로세스들을 실행하기 위해 실행할 명령어들 및 프로세싱할 데이터를 검색한다.
버스(1208)는 또한 입력 및 출력 디바이스 인터페이스들(1214, 1206)에 연결된다. 입력 디바이스 인터페이스(1214)는 사용자가 전자 시스템(1200)으로 정보를 통신하게 하고 그에 대한 커맨드들을 선택할 수 있게 한다. 입력 디바이스 인터페이스(1214)와 함께 사용될 수 있는 입력 디바이스들은, 예를 들어, 영숫자 키보드들 및 포인팅 디바이스들("커서 제어 디바이스들"로 또한 지칭됨)을 포함할 수 있다. 출력 디바이스 인터페이스(1206)는 예를 들어, 전자 시스템(1200)에 의해 생성된 이미지들의 디스플레이를 가능하게 할 수 있다. 출력 디바이스 인터페이스(1206)와 함께 사용될 수 있는 출력 디바이스들은, 예를 들어 프린터들 및 디스플레이 디바이스들, 예컨대 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 가요성 디스플레이, 평판 디스플레이, 솔리드 스테이트 디스플레이, 프로젝터, 또는 정보를 출력하기 위한 임의의 다른 디바이스를 포함할 수 있다. 하나 이상의 구현예들은 터치스크린과 같은, 입력 및 출력 디바이스들 둘 모두로서 기능하는 디바이스들을 포함할 수 있다. 이들 구현예들에서, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다.
마지막으로, 도 12에 도시된 바와 같이, 버스(1208)는, 또한, 하나 이상의 네트워크 인터페이스(들)(1216)를 통해, 전자 시스템(1200)을 하나 이상의 네트워크들 및/또는 하나 이상의 네트워크 노드들, 예컨대 도 1에 도시된 전자 디바이스(110)에 결합시킨다. 이러한 방식으로, 전자 시스템(1200)은 컴퓨터들의 네트워크(예컨대, LAN, 광역 네트워크("WAN"), 또는 인트라넷, 또는 네트워크들의 네트워크, 예컨대 인터넷의 일부일 수 있다. 전자 시스템(1200)의 임의의 또는 모든 컴포넌트들은 본 개시내용과 함께 사용될 수 있다.
전술된 이들 기능은 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있다. 기법들은 하나 이상의 컴퓨터 프로그램 제품들을 사용하여 구현될 수 있다. 프로그래밍가능 프로세서들 및 컴퓨터들은 모바일 디바이스들 내에 포함되거나 모바일 디바이스들로서 패키징될 수 있다. 프로세스들 및 로직 흐름들은 하나 이상의 프로그래밍가능 프로세서들에 의해 그리고 하나 이상의 프로그래밍가능 논리 회로부에 의해 수행될 수 있다. 범용 및 특수 목적 컴퓨팅 디바이스들 및 저장 디바이스들은 통신 네트워크들을 통해 상호접속될 수 있다.
일부 구현예들은 전자 컴포넌트들, 예컨대 마이크로프로세서들, 기계 판독가능 또는 컴퓨터 판독가능 매체(컴퓨터 판독가능 저장 매체들, 기계 판독가능 매체들, 또는 기계 판독가능 저장 매체들로도 지칭됨)에 컴퓨터 프로그램 명령어들을 저장하는 저장소 및 메모리를 포함한다. 그러한 컴퓨터 판독가능 매체들 중 일부 예들은 RAM, ROM, CD-ROM(read-only compact disc), CD-R(recordable compact disc), CD-RW(rewritable compact disc), 판독전용 DVD(digital versatile disc)(예컨대, DVD-ROM, 듀얼-레이어 DVD-ROM), 다양한 기록가능/재기록가능 DVD(예컨대, DVD-RAM, DVD-RW, DVD+RW 등), 플래시 메모리(예컨대, SD 카드, 미니-SD 카드, 마이크로-SD 카드 등), 자기 및/또는 솔리드 스테이트 하드 드라이브, 판독전용 및 기록가능 블루-레이(Blu-Ray)® 디스크, 초고밀도 광 디스크, 임의의 다른 광 또는 자기 매체, 및 플로피 디스크를 포함한다. 컴퓨터 판독가능 매체들은, 적어도 하나의 프로세싱 유닛에 의해 실행가능하고 다양한 동작들을 수행하기 위한 명령어들의 세트들을 포함하는 컴퓨터 프로그램을 저장할 수 있다. 컴퓨터 프로그램들 또는 컴퓨터 코드의 예들은, 컴파일러에 의해 생성되는 것과 같은 기계 코드, 및 인터프리터를 사용하여 컴퓨터, 전자 컴포넌트, 또는 마이크로프로세서에 의해 실행되는, 상위 레벨 코드를 포함한 파일들을 포함한다.
위의 논의가 소프트웨어를 실행시키는 마이크로프로세서 또는 멀티-코어 프로세서들을 주로 언급하지만, 일부 구현예들은 주문형 집적회로(ASIC)들 또는 필드 프로그래밍가능 게이트 어레이(FPGA)들과 같은 하나 이상의 집적 회로들에 의해 수행된다. 일부 구현예들에서, 그러한 집적 회로들은 회로 자체 상에 저장된 명령어들을 실행시킨다.
본 명세서 및 본 출원의 임의의 청구항들에서 사용된 바와 같이, 용어들 "컴퓨터", "서버", "프로세서", 및 "메모리" 모두는 전자 또는 다른 기술적인 디바이스들을 지칭한다. 이러한 용어들은 사람들 또는 사람들의 그룹들을 배제한다. 본 명세서의 목적들을 위해, 용어들 "디스플레이" 또는 "디스플레이하는"은 전자 디바이스 상에서 디스플레이하는 것을 의미한다. 본 명세서 및 본 출원의 임의의 청구항들에서 사용된 바와 같이, 용어들 "컴퓨터 판독가능 매체" 및 "컴퓨터 판독가능 매체들"은 컴퓨터에 의해 판독가능한 형태로 정보를 저장하는 유형의(tangible) 물리적 물체들로 전적으로 한정된다. 이들 용어들은 임의의 무선 신호들, 유선 다운로드 신호들, 및 임의의 다른 임시 신호들을 배제한다.
사용자와의 상호작용을 제공하기 위하여, 본 명세서에 기술된 발명 대상의 구현예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(음극선관) 또는 LCD(액정 디스플레이) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류들의 디바이스들이 또한 사용될 수 있으며; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 게다가, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 그로부터 문서들을 수신함으로써; 예를 들어, 사용자의 클라이언트 디바이스 상의 웹 브라우저로부터 수신되는 요청들에 응답하여 웹페이지들을 이 웹 브라우저로 전송함으로써, 사용자와 상호작용할 수 있다.
본 명세서에 기술된 발명 대상의 실시예들은, 예를 들어 데이터 서버로서 백엔드 컴포넌트를 포함하거나, 또는 미들웨어 컴포넌트, 예를 들어 응용 서버를 포함하거나, 또는 프론트엔드 컴포넌트, 예를 들어 사용자가 본 명세서에 기술된 발명 대상의 구현예와 상호작용할 수 있는 웹 브라우저 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터, 또는 하나 이상의 이러한 백엔드, 미들웨어, 또는 프론트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호접속될 수 있다. 통신 네트워크들의 예들은 근거리 네트워크("LAN") 및 광역 네트워크("WAN"), 인터-네트워크(예를 들어, 인터넷), 및 피어 투 피어(peer-to-peer) 네트워크들(예를 들어, 애드 혹(ad hoc) 피어 투 피어 네트워크들)을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 대체적으로 서로 원격이며, 통신 네트워크를 통해 상호작용할 수 있다. 클라이언트와 서버의 관계는 각자의 컴퓨터 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다. 일부 실시예들에서, 서버는 (예컨대, 클라이언트 디바이스와 상호작용하는 사용자에 데이터를 디스플레이하고 그 사용자로부터 사용자 입력을 수신할 목적으로) 데이터(예컨대, HTML 페이지)를 클라이언트 디바이스에 전송한다. 클라이언트 디바이스에서 생성된 데이터(예컨대, 사용자 상호작용의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 개시내용의 양태들에 따르면, 일정 기간에 걸쳐 일정 환경에 위치된 디바이스의 적어도 하나의 센서로, 환경에 대한 시간으로 순서화된 3차원 장면 정보를 캡처하는 단계를 포함하는 방법이 제공된다. 본 방법은 또한, 실질적으로 동일한 기간에 걸쳐 그리고 시간으로 순서화된 3차원 장면 정보에 적어도 부분적으로 기초하여, 시간으로 순서화된 컴퓨터 생성 콘텐츠를 생성하는 단계를 포함한다. 본 방법은 또한, 실질적으로 동일한 기간에 걸쳐 디바이스의 디스플레이로, 환경의 적어도 일부분의 뷰 상에 오버레이된 시간으로 순서화된 컴퓨터 생성 콘텐츠의 적어도 일부분을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 시간으로 순서화된 3차원 장면 정보를 저장하는 단계를 포함한다. 본 방법은 또한, 시간으로 순서화된 3차원 장면 정보와 시간적으로 정렬되게, 시간으로 순서화된 컴퓨터 생성 콘텐츠를 저장하는 단계를 포함한다.
본 개시내용의 양태들에 따르면, 제1 기간에 걸쳐 확장 현실 디바이스로 캡처된 경험의 기록을 획득하는 단계를 포함하는 방법이 제공된다. 기록은 3차원 복원물, 및 컴퓨터 생성 콘텐츠 트랙을 포함한다. 본 방법은 또한 나중의 기간에 걸쳐 기록을, 확장 현실 디바이스 또는 다른 확장 현실 디바이스의 제1 위치를 3차원 복원물 내의 위치와 연관시키는 것; 나중의 기간 동안 확장 현실 디바이스 또는 확장 현실 디바이스의 위치를 추적하는 것; 나중의 기간에 걸쳐, 확장 현실 디바이스 또는 확장 현실 디바이스의 추적된 위치에 기초하여 확장 현실 디바이스의 환경의 일부분의 복원물을 렌더링하는 것; 및 나중의 기간에 걸쳐, 3차원 복원물, 컴퓨터 생성 콘텐츠 트랙, 및 확장 현실 디바이스 또는 확장 현실 디바이스의 추적된 위치에 기초하여 컴퓨터 생성 콘텐츠를 렌더링하는 것에 의해 재생하는 단계를 포함한다.
본 개시내용의 양태들에 따르면, 제1 기간에 걸쳐 캡처된 확장 현실 경험의 기록을 획득하는 단계를 포함하는 방법이 제공되며, 기록은 물리적 환경의 3차원 복원물, 및 컴퓨터 생성 콘텐츠 트랙을 포함한다. 본 방법은 또한 나중의 기간에 걸쳐 기록을, 확장 현실 디바이스의 제1 위치를 3차원 복원물 내의 위치와 연관시키는 것; 나중의 기간 동안 확장 현실 디바이스의 위치를 추적하는 것; 나중의 기간에 걸쳐, 확장 현실 디바이스의 추적된 위치에 기초하여 확장 현실 디바이스의 시야에 대응하는 3차원 복원물의 일부분을 렌더링하는 것; 및 나중의 기간에 걸쳐, 3차원 복원물, 컴퓨터 생성 콘텐츠 트랙, 및 확장 현실 디바이스의 추적된 위치에 기초하여 컴퓨터 생성 콘텐츠를 렌더링하는 것에 의해 재생하는 단계를 포함한다.
본 개시내용의 양태들에 따르면, 컴퓨팅 디바이스에 의해 실행될 때 컴퓨팅 디바이스로 하여금 동작들을 수행하게 하는 명령어들을 포함하는 비일시적 컴퓨터 판독가능 매체가 제공되는데, 동작들은, 일정 기간에 걸쳐 일정 환경에 위치된 디바이스의 적어도 하나의 센서로, 환경에 대한 시간으로 순서화된 3차원 장면 정보를 캡처하는 것을 포함한다. 동작들은 또한, 실질적으로 동일한 기간에 걸쳐 그리고 시간으로 순서화된 3차원 장면 정보에 적어도 부분적으로 기초하여, 시간으로 순서화된 컴퓨터 생성 콘텐츠를 생성하는 것을 포함한다. 동작들은 또한, 실질적으로 동일한 기간에 걸쳐 디바이스의 디스플레이로, 환경의 적어도 일부분의 뷰 상에 오버레이된 시간으로 순서화된 컴퓨터 생성 콘텐츠의 적어도 일부분을 디스플레이하는 것을 포함한다. 동작들은 또한, 시간으로 순서화된 3차원 장면 정보를 저장하는 것; 및 시간으로 순서화된 3차원 장면 정보와 시간적으로 정렬되게, 상기 시간으로 순서화된 컴퓨터 생성 콘텐츠를 저장하는 것을 포함한다.
당업자는 본 명세서에 설명된 다양한 예시적인 블록들, 모듈들, 요소들, 컴포넌트들, 방법들, 및 알고리즘들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 둘 모두의 조합들로서 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 호환성을 예시하기 위해, 다양한 예시적인 블록들, 모듈들, 요소들, 컴포넌트들, 방법들, 및 알고리즘들이 일반적으로 그들의 기능성에 관하여 위에서 설명되었다. 그러한 기능성이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과되는 특정 애플리케이션 및 설계 제약들에 의존한다. 설명된 기능성은 각각의 특정 애플리케이션에 대해 다양한 방식으로 구현될 수 있다. 다양한 컴포넌트들 및 블록들이 모두 본 기술의 범주로부터 벗어남이 없이 상이하게 배열될 수 있다(예를 들어, 상이한 순서로 배열되거나 상이한 방식으로 분할됨).
개시된 프로세스들에서 단계들의 특정 순서 또는 계층은 예시적인 접근법들의 예시임이 이해된다. 설계 선호도들에 기초하여, 프로세스들에서 단계들의 특정 순서 또는 계층이 재배열될 수 있다는 것이 이해된다. 단계들 중 일부가 동시에 수행될 수 있다. 첨부된 방법 청구항들은 다양한 단계들의 요소들을 샘플 순서로 제시하고, 제시된 특정 순서 또는 계층으로 제한되는 것으로 의도되지 않는다.
이전의 설명은 당업자가 본 명세서에 설명된 다양한 양태들을 실시할 수 있게 하기 위해 제공된다. 이전 설명은 본 기술의 다양한 예들을 제공하며 본 기술은 이러한 예들로 제한되지 않는다. 이러한 양태들에 대한 다양한 변형들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 다른 양태들에 적용될 수 있다. 따라서, 청구항은 본 명세서에 도시된 양태들로 제한되는 것으로 의도되는 것이 아니라, 언어 청구항에 부합하는 전체 범주로 허용되어야 하며, 여기서 단수의 구성요소에 대한 언급은 구체적으로 그와 같이 언급되지 않는 한 "오직 하나만"을 의미하도록 의도되는 것이 아니고, 오히려 "하나 이상"을 의미하는 것으로 의도된다. 달리 구체적으로 언급되지 않는 한, "일부"라는 용어는 하나 이상을 지칭한다. 남성 대명사(예를 들어, 그의)는 여성 및 중성(예를 들어, 그녀의 및 그것의)을 포함하고, 그 반대의 경우도 마찬가지이다. 표제들 및 부제들은, 존재한다면, 편의를 위해서만 사용되며 본 명세서에 설명된 발명을 제한하지 않는다.
본 명세서에 사용된 바와 같은 용어 웹사이트는 하나 이상의 웹 페이지들, 웹 관련 콘텐츠를 호스팅 또는 저장하는 데 사용되는 하나 이상의 서버들 등을 포함하는 웹사이트의 임의의 양태를 포함할 수 있다. 따라서, 용어 웹사이트는 용어 웹 페이지 및 서버와 상호교환가능하게 사용될 수 있다. 서술 문구들 "~ 하도록 구성되는", "~ 하도록 동작가능한", 및 "~ 하도록 프로그래밍된"은 대상의 임의의 특정한 유형의 또는 비유형의 변형을 암시하지 않고, 오히려 상호교환가능하게 사용되도록 의도된다. 예를 들어, 동작 또는 컴포넌트를 모니터링 및 제어하도록 구성된 프로세서는 또한 동작을 모니터링 및 제어하도록 프로그래밍된 프로세서 또는 동작을 모니터링 및 제어하도록 동작가능한 프로세서를 의미할 수 있다. 마찬가지로, 코드를 실행하도록 구성된 프로세서는 코드를 실행하도록 프로그래밍되거나 코드를 실행하도록 동작가능한 프로세서로서 해석될 수 있다.
본 명세서에서 사용되는 바와 같이, 용어 "자동"은 사용자 개입 없는 컴퓨터 또는 기계에 의한; 예를 들어, 컴퓨터 또는 기계 또는 다른 개시 메커니즘에 의한 서술적 액션에 응답하는 명령어들에 의한 수행을 포함할 수 있다. "예시적인"이라는 단어는 본 명세서에서 "예 또는 예시로서 역할하는"을 의미하기 위해 사용된다. 본 명세서에서 "예시적인"으로 기술된 임의의 양태 또는 설계는 반드시 다른 양태들 또는 설계들에 비해 바람직하거나 유리한 것으로 해석되어야 하는 것은 아니다.
"양태"와 같은 문구는 그러한 양태가 본 기술에 필수적이라거나 또는 그러한 양태가 본 기술의 모든 구성들에 적용된다는 것을 암시하지 않는다. 양태와 관련된 개시내용은 모든 구성들 또는 하나 이상의 구성들에 적용될 수 있다. 일 양태는 하나 이상의 예들을 제공할 수 있다. 양태와 같은 문구는 하나 이상의 양태들을 지칭할 수 있고 그 반대의 경우도 마찬가지이다. "실시예"와 같은 문구는 그러한 실시예가 본 기술에 필수적이라거나 또는 그러한 실시예가 본 기술의 모든 구성들에 적용된다는 것을 암시하지 않는다. 실시예와 관련된 개시내용은 모든 실시예들 또는 하나 이상의 실시예들에 적용될 수 있다. 일 실시예는 하나 이상의 예들을 제공할 수 있다. "실시예"와 같은 문구는 하나 이상의 실시예들을 지칭할 수 있고 그 반대의 경우도 마찬가지이다. "구성"과 같은 문구는 그러한 구성이 본 기술에 필수적이라거나 또는 그러한 구성이 본 기술의 모든 구성들에 적용된다는 것을 암시하지 않는다. 구성과 관련된 개시내용은 모든 구성들 또는 하나 이상의 구성들에 적용될 수 있다. 구성은 하나 이상의 예들을 제공할 수 있다. "구성"과 같은 문구는 하나 이상의 구성을 지칭할 수 있고 그 반대의 경우도 마찬가지이다.

Claims (42)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 방법으로서,
    제1 기간에 걸쳐 캡처된 확장 현실 경험의 기록을 획득하는 단계 - 상기 기록은,
    물리적 환경의 3차원 복원물, 및
    컴퓨터 생성 콘텐츠 트랙을 포함함 -; 및
    나중의 기간에 걸쳐 상기 기록을,
    확장 현실 디바이스의 제1 위치를 상기 3차원 복원물 내의 위치와 연관시키는 것;
    상기 나중의 기간 동안 상기 확장 현실 디바이스의 위치를 추적하는 것;
    상기 나중의 기간에 걸쳐, 상기 확장 현실 디바이스의 추적된 위치에 기초하여 상기 확장 현실 디바이스의 시야에 대응하는 상기 3차원 복원물의 일부분을 렌더링하는 것; 및
    상기 나중의 기간에 걸쳐, 상기 3차원 복원물, 상기 컴퓨터 생성 콘텐츠 트랙, 및 상기 확장 현실 디바이스의 추적된 위치에 기초하여 컴퓨터 생성 콘텐츠를 렌더링하는 것에 의해 재생하는 단계를 포함하고, 상기 컴퓨터 생성 콘텐츠는 상기 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들에 기초하여 시간 경과에 따라 변화하는 동적 콘텐츠이고, 상기 방법은,
    상기 기록의 재생을 일시정지하라는 요청을 수신하는 단계;
    상기 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들에 기초하여 시간 경과에 따른 상기 변화들의 렌더링을 일시정지하는 단계;
    상기 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들에 기초하여 시간 경과에 따른 상기 변화들의 렌더링을 일시정지하는 동안,
    상기 기록의 재생을 일시정지하라는 상기 요청의 시간에 대응하는 상기 컴퓨터 생성 콘텐츠 트랙의 일부분에 기초하여 상기 컴퓨터 생성 콘텐츠의 정적 표현을 렌더링하고;
    상기 확장 현실 디바이스의 이동을 검출하고;
    상기 이동에 기초하여 상기 컴퓨터 생성 콘텐츠의 정적 표현의 렌더링을 수정하고;
    상기 기록의 재생을 계속하라는 요청을 수신하는 단계; 및
    상기 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들에 기초하여 시간 경과에 따른 상기 변화들의 렌더링을 재개하는 단계를 추가로 포함하는, 방법.
  17. 삭제
  18. 제16항에 있어서, 상기 렌더링을 재개하는 단계는, 상기 컴퓨터 생성 콘텐츠 트랙의 시간으로 순서화된 특징부들에 기초하여, 계속하라는 상기 요청의 시간에서의 상기 정적 표현의 수정된 렌더링에 대해, 시간 경과에 따른 상기 변화들을 렌더링하는 단계를 포함하는, 방법.
  19. 제16항에 있어서, 상기 나중의 기간에 걸쳐, 상기 확장 현실 디바이스의 추적된 위치에 기초하여 상기 3차원 복원물의 상기 일부분의 복원물을 렌더링하는 것은,
    상기 3차원 복원물, 현재 재생 시간, 및 상기 현재 재생 시간에 대응하는 현재 추적된 위치에 기초하여 상기 물리적 환경의 상기 일부분 내의 엔티티(entity)와 연관된 메시, 텍스처, 또는 재료를 획득하는 것; 및
    상기 메시, 상기 텍스처, 또는 상기 재료에 기초하여 상기 물리적 환경의 상기 일부분의 복원물을 렌더링하는 것을 포함하는, 방법.
  20. 제19항에 있어서, 상기 나중의 기간에 걸쳐, 상기 3차원 복원물, 상기 컴퓨터 생성 콘텐츠 트랙, 및 상기 확장 현실 디바이스의 추적된 위치에 기초하여 상기 컴퓨터 생성 콘텐츠를 렌더링하는 것은,
    상기 컴퓨터 생성 콘텐츠 트랙, 상기 현재 재생 시간, 및 상기 현재 재생 시간에 대응하는 상기 현재 추적된 위치에 기초하여 상기 컴퓨터 생성 콘텐츠와 연관된 추가 메시, 추가 텍스처, 또는 추가 재료를 획득하는 것; 및
    상기 추가 메시, 상기 추가 텍스처, 또는 상기 추가 재료에 기초하여 상기 컴퓨터 생성 콘텐츠를 렌더링하는 것을 포함하는, 방법.
  21. 제16항에 있어서, 상기 3차원 복원물은 상기 제1 기간 동안 획득된 비디오 트랙 및 오디오 트랙에, 부분적으로, 기초하는, 방법.
  22. 제16항에 있어서, 상기 확장 현실 디바이스의 시야는 상기 나중의 기간 동안 상기 확장 현실 디바이스의 카메라에 의해 캡처된 상기 물리적 환경의 이미지들에 기초하여 투명 또는 반투명 디스플레이를 통한 다이렉트 뷰(direct view), 또는 불투명 디스플레이에 의해 생성된 패스-스루 뷰(pass-through view)를 포함하는, 방법.
  23. 제16항에 있어서, 상기 물리적 환경의 3차원 복원물을 수정하는 단계를 추가로 포함하는, 방법.
  24. 제16항에 있어서, 상기 나중의 기간에 걸쳐, 상기 물리적 환경의 3차원 복원물, 상기 컴퓨터 생성 콘텐츠 트랙, 및 상기 확장 현실 디바이스의 추적된 위치에 기초하여, 상기 제1 기간 동안 렌더링되지 않았던 추가적인 컴퓨터 생성 콘텐츠를 렌더링하는 단계를 추가로 포함하는, 방법.
  25. 삭제
  26. 컴퓨팅 디바이스에 의해 실행될 때 상기 컴퓨팅 디바이스가 동작들을 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 동작들은,
    상기 컴퓨팅 디바이스에 의해, 제1 기간에 걸쳐 캡처되고 시간 경과에 따라 변화하는 동적 콘텐츠를 포함하는 확장 현실 경험의 기록을 획득하는 것;
    상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들을 렌더링함으로써 나중의 기간에 걸쳐 상기 기록을 재생하는 것;
    상기 기록의 재생을 일시정지하라는 요청을 수신하는 것;
    상기 요청에 응답하여 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링을 일시정지하는 것;
    일시정지하는 동안,
    상기 기록의 재생을 일시정지하라는 상기 요청의 시간에 대응하는 상기 동적 콘텐츠의 일부분에 기초하여 상기 동적 콘텐츠의 정적 표현을 렌더링하고;
    상기 컴퓨팅 디바이스의 이동을 검출하고;
    상기 이동에 기초하여 상기 동적 콘텐츠의 정적 표현의 렌더링을 수정하고;
    상기 기록의 재생을 계속하라는 요청을 수신하는 것; 및
    계속하라는 상기 요청에 응답하여 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링을 재개하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  27. 제26항에 있어서, 상기 동적 콘텐츠는 동적 비디오 콘텐츠, 동적 오디오 콘텐츠, 및 동적 컴퓨터 생성 콘텐츠를 포함하는, 비일시적 컴퓨터 판독 가능 매체.
  28. 제27항에 있어서, 상기 컴퓨팅 디바이스의 이동은 상기 동적 비디오 콘텐츠의 일부분의 고정된 표현 주위의 이동을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  29. 제28항에 있어서, 상기 이동에 기초하여 상기 동적 콘텐츠의 정적 표현의 렌더링을 수정하는 것은, 상기 컴퓨팅 디바이스의 이동이 상기 비디오 콘텐츠의 상기 일부분의 고정된 표현 주위의 이동을 포함하는 동안, 상기 동적 비디오 콘텐츠의 상기 일부분의 고정된 표현을 회전시키는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  30. 제29항에 있어서, 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링을 일시정지하는 것은 상기 동적 오디오 콘텐츠의 출력을 일시정지하는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  31. 제27항에 있어서, 상기 이동에 기초하여 상기 동적 콘텐츠의 정적 표현의 렌더링을 수정하는 것은, 상기 컴퓨팅 디바이스의 이동이 상기 동적 컴퓨터 생성 콘텐츠의 상기 일부분의 고정된 표현 주위의 이동을 포함하는 동안, 상기 동적 컴퓨터 생성 콘텐츠의 일부분의 고정된 표현을 회전시키는 것을 포함하는, 비일시적 컴퓨터 판독가능 매체.
  32. 전자 디바이스로서,
    메모리; 및
    하나 이상의 프로세서들을 포함하고, 상기 하나 이상의 프로세서들은,
    제1 기간에 걸쳐 캡처되고 시간 경과에 따라 변화하는 동적 콘텐츠를 포함하는 확장 현실 경험의 기록을 획득하도록;
    상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링에 의해 나중의 기간에 걸쳐 상기 기록을 재생하도록; 그리고
    상기 기록이 상기 나중의 기간에 걸쳐 재생되는 동안,
    상기 전자 디바이스의 이동을 검출하고;
    상기 이동에 기초하여, 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링을 수정하고;
    상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링을 일시정지하고;
    상기 렌더링이 일시정지되는 동안 상기 전자 디바이스의 추가 이동을 검출하고; 그리고
    상기 렌더링이 일시정지되는 동안, 상기 추가 이동에 기초하여, 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 일시정지된 렌더링을 수정하도록 구성되는, 전자 디바이스.
  33. 제32항에 있어서, 상기 하나 이상의 프로세서들은 제1 시야각으로부터 상기 동적 콘텐츠의 제1 부분을 렌더링함으로써 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들을 렌더링하도록 구성되고, 상기 제1 시야각은 상기 동적 콘텐츠의 제1 부분의 렌더링의 시간에서의 상기 전자 디바이스의 위치와 연관되는, 전자 디바이스.
  34. 제33항에 있어서, 상기 하나 이상의 프로세서들은 상기 이동에 기초하여 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링을, 부분적으로는, 상기 이동으로 인해 상기 제1 시야각과는 상이한 제2 시야각으로부터 상기 동적 콘텐츠의 제2 부분을 렌더링함으로써, 수정하도록 구성되는, 전자 디바이스.
  35. 제32항에 있어서, 상기 동적 콘텐츠는 동적 비디오 콘텐츠, 동적 오디오 콘텐츠, 및 동적 컴퓨터 생성 콘텐츠를 포함하는, 전자 디바이스.
  36. 제32항에 있어서, 상기 하나 이상의 프로세서들은 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들을, 부분적으로는,
    상기 제1 기간 동안 상기 전자 디바이스 또는 다른 전자 디바이스의 물리적 환경의 3차원 복원물 내의 엔티티와 연관된 메시, 텍스처, 또는 재료를 획득하는 것; 및
    상기 메시, 상기 텍스처, 또는 상기 재료에 기초하여 상기 엔티티의 복원물을 렌더링하는 것에 의해 렌더링하도록 구성되는, 전자 디바이스.
  37. 제32항에 있어서, 상기 하나 이상의 프로세서들은, 상기 렌더링을 일시정지하기 전에, 상기 렌더링을 일시정지하라는 사용자 요청을 수신하도록 추가로 구성되는, 전자 디바이스.
  38. 제32항에 있어서, 상기 하나 이상의 프로세서들은 상기 이동에 기초하여 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링을, 부분적으로는, 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링으로부터 그리고 상기 이동에 기초하여, 상기 기록에 포함된 컴퓨터 생성 콘텐츠의 일부분을 생략함으로써, 수정하도록 구성되는, 전자 디바이스.
  39. 제38항에 있어서, 상기 기록에 포함되고 상기 렌더링으로부터 생략된 상기 컴퓨터 생성 콘텐츠의 상기 일부분은 상기 제1 기간에 걸쳐 상기 기록을 획득하였던 기록 디바이스의 시야 내에 있었고 상기 이동으로 인해 상기 전자 디바이스의 시야 외측에 있는 상기 컴퓨터 생성 콘텐츠의 일부분을 포함하는, 전자 디바이스.
  40. 제39항에 있어서, 관성 센서를 추가로 포함하고, 상기 하나 이상의 프로세서들은 상기 관성 센서를 사용하여 상기 전자 디바이스의 사용자의 걷는 움직임을 검출함으로써 상기 이동을 검출하도록 구성되는, 전자 디바이스.
  41. 제40항에 있어서, 상기 하나 이상의 프로세서들은 상기 동적 콘텐츠의 시간 경과에 따른 상기 변화들의 렌더링을, 상기 동적 콘텐츠의 렌더링된 요소의 시간 경과에 따른 상기 변화들의 렌더링을 상기 사용자가 상기 렌더링된 요소 주위를 걷는 것에 따라 회전시킴으로써, 수정하도록 구성되는, 전자 디바이스.
  42. 제32항에 있어서, 상기 기록은 물리적 환경의 3차원 복원물을 포함하는, 전자 디바이스.
KR1020227036002A 2020-04-17 2021-03-24 확장 현실 레코더 KR102651534B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247009579A KR20240045344A (ko) 2020-04-17 2021-03-24 확장 현실 레코더

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063011969P 2020-04-17 2020-04-17
US63/011,969 2020-04-17
US17/184,585 2021-02-24
US17/184,585 US11521359B2 (en) 2020-04-17 2021-02-24 Extended reality recorder
PCT/US2021/023833 WO2021211272A1 (en) 2020-04-17 2021-03-24 Extended reality recorder

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247009579A Division KR20240045344A (ko) 2020-04-17 2021-03-24 확장 현실 레코더

Publications (2)

Publication Number Publication Date
KR20220156870A KR20220156870A (ko) 2022-11-28
KR102651534B1 true KR102651534B1 (ko) 2024-03-29

Family

ID=78082075

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020247009579A KR20240045344A (ko) 2020-04-17 2021-03-24 확장 현실 레코더
KR1020227036002A KR102651534B1 (ko) 2020-04-17 2021-03-24 확장 현실 레코더

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020247009579A KR20240045344A (ko) 2020-04-17 2021-03-24 확장 현실 레코더

Country Status (5)

Country Link
US (2) US11521359B2 (ko)
EP (1) EP4111424A1 (ko)
KR (2) KR20240045344A (ko)
CN (1) CN115413353A (ko)
WO (1) WO2021211272A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11816757B1 (en) * 2019-12-11 2023-11-14 Meta Platforms Technologies, Llc Device-side capture of data representative of an artificial reality environment
CN113452896B (zh) * 2020-03-26 2022-07-22 华为技术有限公司 一种图像显示方法和电子设备
US11972521B2 (en) * 2022-08-31 2024-04-30 Snap Inc. Multisensorial presentation of volumetric content

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013126784A2 (en) * 2012-02-23 2013-08-29 Huston Charles D System and method for creating an environment and for sharing a location based experience in an environment
US9342929B2 (en) 2013-01-22 2016-05-17 Microsoft Technology Licensing, Llc Mixed reality experience sharing
US20170337352A1 (en) 2016-05-23 2017-11-23 Daqri, Llc Confidential information occlusion using augmented reality
US10229312B2 (en) 2016-12-30 2019-03-12 Facebook, Inc. Systems and methods for providing augmented reality overlays
JP7007396B2 (ja) * 2017-03-17 2022-01-24 マジック リープ, インコーポレイテッド 拡張現実データを記録するための手法
US20190019011A1 (en) 2017-07-16 2019-01-17 Tsunami VR, Inc. Systems and methods for identifying real objects in an area of interest for use in identifying virtual content a user is authorized to view using an augmented reality device
US11014242B2 (en) 2018-01-26 2021-05-25 Microsoft Technology Licensing, Llc Puppeteering in augmented reality
CN110809149B (zh) 2018-08-06 2022-02-25 苹果公司 用于计算机生成现实的媒体合成器
US10984579B2 (en) 2018-08-27 2021-04-20 Microsoft Technology Licensing, Llc Playback for embedded and preset 3D animations
CN114270409A (zh) 2019-09-09 2022-04-01 苹果公司 在计算机生成现实记录中提供限制

Also Published As

Publication number Publication date
EP4111424A1 (en) 2023-01-04
US11521359B2 (en) 2022-12-06
US20230298282A1 (en) 2023-09-21
KR20220156870A (ko) 2022-11-28
CN115413353A (zh) 2022-11-29
KR20240045344A (ko) 2024-04-05
WO2021211272A1 (en) 2021-10-21
US20210327145A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
US11698674B2 (en) Multimodal inputs for computer-generated reality
KR102651534B1 (ko) 확장 현실 레코더
US10055888B2 (en) Producing and consuming metadata within multi-dimensional data
RU2684189C2 (ru) Адаптивное распознавание событий
US20210326594A1 (en) Computer-generated supplemental content for video
KR102644590B1 (ko) 가상 및 물리적 카메라들의 위치 동기화
US20210073357A1 (en) Providing restrictions in computer-generated reality recordings
US20240094815A1 (en) Method and device for debugging program execution and content playback
KR20220147146A (ko) 확장 현실 시스템과 함께 사용하기 위한 다중-디바이스 연속성
US20240037944A1 (en) Computer-generated reality recorder
KR20240047450A (ko) 전자 디바이스들에 대한 병렬 렌더러들
US11496723B1 (en) Automatically capturing a moment
US20220244903A1 (en) Application casting
US20230298250A1 (en) Stereoscopic features in virtual reality
TW202309714A (zh) 用以重新體驗之紀錄時刻
CN117999532A (zh) 用于电子设备的并行渲染器
CN116848507A (zh) 应用程序投屏

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right