CN115413353A - 扩展现实记录仪 - Google Patents

扩展现实记录仪 Download PDF

Info

Publication number
CN115413353A
CN115413353A CN202180028362.XA CN202180028362A CN115413353A CN 115413353 A CN115413353 A CN 115413353A CN 202180028362 A CN202180028362 A CN 202180028362A CN 115413353 A CN115413353 A CN 115413353A
Authority
CN
China
Prior art keywords
time
computer
ordered
generated content
environment
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202180028362.XA
Other languages
English (en)
Inventor
M·努尔卡米
R·德赛
P·A·卡罗
J·N·克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of CN115413353A publication Critical patent/CN115413353A/zh
Pending legal-status Critical Current

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

扩展现实记录仪
相关申请的交叉引用
本申请要求于2020年4月17日提交的名称为“Computer-Generated RealityRecorder”的美国临时专利申请号63/011,969的优先权权益,该专利申请的公开内容全文以引用方式并入本文。
技术领域
本说明书整体涉及扩展现实环境。
背景技术
增强现实技术旨在通过提供利用电子信息增强的增强物理环境来桥接虚拟环境和物理环境之间的间隙。因此,电子信息看起来是用户感知的物理环境的一部分。在示例中,增强现实技术进一步提供用户界面以与覆盖在增强物理环境中的电子信息交互。
附图说明
本主题技术的一些特征在所附权利要求书中被示出。然而,出于解释的目的,在以下附图中阐述了本主题技术的若干实施方案。
图1示出了根据一个或多个具体实施的包括可实现本主题***的各种电子设备的示例性***架构。
图2示出了根据本主题技术的一个或多个具体实施可实现的示例性软件架构。
图3示出了根据本主题技术的具体实施的电子设备的附加特征。
图4示出了根据本主题技术的具体实施的在环境中捕获体验的多个电子设备。
图5示出了根据本主题技术的具体实施的记录、编辑和回放扩展现实体验的各个阶段。
图6示出了根据本主题技术的具体实施的记录扩展现实体验的示例性特征。
图7示出了根据本主题技术的具体实施的用于记录扩展现实体验的示例性过程的流程图。
图8示出了根据本主题技术的用于记录扩展现实体验的另一示例性过程的流程图。
图9示出了根据本主题技术的用于编辑扩展现实体验的示例性过程的流程图。
图10示出了根据本主题技术的具体实施的记录的扩展现实体验的示例性特征。
图11示出了根据本主题技术的具体实施的用于回放扩展现实体验的示例性过程的流程图。
图12示出了可用于实现本主题技术的一个或多个具体实施的电子***。
具体实施方式
下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表示本主题技术可被实践的唯一配置。附图被并入本文并且构成具体实施方式的一部分。具体实施方式包括具体的细节旨在提供对本主题技术的透彻理解。然而,本主题技术不限于本文阐述的具体细节,而是可以采用一个或多个其他具体实施来实践。在一个或多个具体实施中,以框图形式示出了结构和部件,以便避免使本主题技术的概念模糊。
物理环境是指人们在没有电子设备帮助的情况下能够对其感测和/或与其交互的物理世界。物理环境可包括物理特征,诸如物理表面或物理对象。例如,物理环境对应于包括物理树木、物理建筑物和物理人的物理公园。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。相反,扩展现实(XR)环境是指人们经由电子设备感测和/或交互的完全或部分模拟的环境。例如,XR环境可包括增强现实(AR)内容、混合现实(MR)内容、虚拟现实(VR)内容等。在XR***的情况下,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在XR***中模拟的一个或多个虚拟对象的一个或多个特征。例如,XR***可以检测头部移动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。又如,XR***可以检测呈现XR环境的电子设备(例如,移动电话、平板电脑、膝上型电脑等)的移动,并且作为响应,以类似于此类视图和声音在物理环境中将如何改变的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),XR***可响应于物理运动的表示(例如,声音命令)来调节XR环境中图形内容的特征。
有许多不同类型的电子***使人能够感测和/或与各种XR环境交互。示例包括头戴式***、基于投影的***、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为设计用于放置在人的眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入***(例如,具有或不具有触觉反馈的可穿戴或手持式控制器)、智能电话、平板电脑、以及台式/膝上型计算机。头戴式***可具有集成不透明显示器和一个或多个扬声器。另选地,头戴式***可被配置为接受外部不透明显示器(例如,智能电话)。头戴式***可结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式***可具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一些具体实施中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的***可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影***也可以被配置为将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
本文所述的主题技术的具体实施提供了一种扩展现实(XR)***,该XR***提供了对XR记录的记录、存储、编辑、管理和回放,以便于在XR环境中从不同的角度重新查看XR体验。在示例中,在一时间段内捕获关于设备所位于的物理环境的按时间排序的三维(3D)信息(例如,来自一个或多个深度传感器的深度信息),以便对体验进行扩展现实记录。在基本上相同的时间段内,可以由设备捕获和/或显示视频和/或音频内容(例如,包括空间音频内容)。在基本上相同的时间段内,计算机生成的(CG)内容被生成并显示在环境的视图的一部分上方。与在该时间段期间显示的CG内容对应的CG内容也被捕获为按时间排序的CG内容,并且与按时间排序的三维(3D)信息(例如,包括深度信息)、元数据(包括关于场景的信息)、视频和/或音频在时间上对齐地存储。对应于在该时间段期间显示的CG内容并且由XR***捕获的CG内容可以包括在该时间段期间显示的CG内容的场景图、3D几何形状、纹理、材料、动画等,和/或如果记录用户在该时间段期间正在观看场景中的其他方向或位置,则在该时间段期间将显示的CG内容的3D几何形状、纹理、材料、动画等,使得XR记录可以从任何视点回放。
在记录期间(例如,现场或在线)和/或记录之后(例如,离线),还可以生成物理环境的三维重建(基于深度信息、视频、音频和/或其他传感器数据),可以存储3D重建,并且在一些示例中,还可以将按时间排序的重建轨道与按时间排序的CG内容、按时间排序的三维(3D)信息、元数据、视频和/或音频在时间上对齐地存储。
当期望回放记录的XR体验时,3D重建、CG内容轨道和/或元数据轨道(例如,包括记录的音频、视频和/或深度信息)被用来基于回放时间以及显示回放的设备的当前位置和/或视角来渲染记录的XR体验的视图。以此方式,回放的观看者能够从XR环境中的一个或多个视点中的任一个视点来体验记录的体验。
图1示出了根据一个或多个具体实施的包括可实现本主题***的各种电子设备的示例性***架构100。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件或更少的部件。
***架构100包括电子设备105、电子设备110、电子设备115和服务器120。出于解释的目的,***架构100在图1中被示出为包括电子设备105、电子设备110、电子设备115和服务器120;然而,***架构100可包括任何数量的电子设备和任何数量的服务器或包括多个服务器的数据中心。
电子设备105可为包括能够向用户呈现扩展现实环境的可视化的显示***的智能电话、平板电脑或头戴式便携式***(例如,可由用户穿戴的头戴式显示设备)。电子设备105可用电池和/或另一电源供电。在一个示例中,电子设备105的显示***向用户提供扩展现实环境的立体呈现,使得能够提供特定场景渲染的三维视觉显示。在一个或多个具体实施中,代替利用电子设备105来访问扩展现实环境或除此之外,用户可使用手持式电子设备104,诸如平板电脑、手表、移动设备等。
电子设备105可包括一个或多个相机,诸如相机150(例如,可见光相机、红外相机等)。此外,电子设备105可包括各种传感器152,包括但不限于相机、图像传感器、触摸传感器、麦克风、惯性测量单元(IMU)、心率传感器、温度传感器、激光雷达传感器、雷达传感器、声纳传感器、GPS传感器、Wi-Fi传感器、近场通信传感器等。此外,电子设备105可包括可接收用户输入的硬件元件,诸如硬件按钮或开关。由此类传感器和/或硬件元件检测到的用户输入对应于用于在给定扩展现实环境内发起记录的各种输入模态。例如,此类输入模态可包括但不限于面部跟踪、眼睛跟踪(例如,注视方向)、手部跟踪、姿态跟踪、生物识别读数(例如,心率、脉搏、瞳孔扩张、呼吸、温度、脑电图、嗅觉)、识别语音或音频(例如,特定热字词)以及激活按钮或开关等。电子设备105还可以检测场景中人或对象的存在和/或事件的发生以发起扩展现实环境内的记录。
电子设备105可通信地耦接到基础设备,诸如电子设备110和/或电子设备115。一般来讲,与电子设备105相比,此类基础设备可包括更多计算资源和/或可用功率。在一个示例中,电子设备105可以各种模式操作。例如,电子设备105可独立于任何基础设备以独立模式操作。当电子设备105以独立模式操作时,输入模态的数量可受到电子设备105的功率和/或处理限制的约束,诸如设备的可用电池功率。响应于功率限制,电子设备105可停用设备自身内的某些传感器以保持电池功率和/或释放处理资源。
电子设备105还可以无线连线模式操作(例如,经由无线连接与基础设备连接),从而与给定基础设备结合工作。电子设备105还可以电子设备105物理地连接到基础设备(例如,经由电缆或一些其他物理连接器)的连接模式工作,并且可利用由基础设备提供的电力资源(例如,在基础设备在物理地连接时对电子设备105充电的情况下)。
当电子设备105以无线连线模式或连接模式操作时,可将处理用户输入和/或渲染扩展现实环境的至少一部分卸载到基础设备,从而减少电子设备105上的处理负担。例如,在一个具体实施中,电子设备105结合电子设备110或电子设备115工作以生成扩展现实环境,该扩展现实环境包括以实时方式在用户与所生成的扩展现实环境之间实现不同形式的交互(例如,视觉、听觉和/或物理或触觉交互)的物理对象和/或虚拟对象。在一个示例中,电子设备105提供对应于扩展现实环境的场景的渲染,该场景可被用户感知并以实时方式交互。另外,作为呈现渲染场景的一部分,电子设备105可向用户提供声音和/或触觉或触感反馈。给定渲染场景的内容可能取决于可用处理能力、网络可用性和容量、可用电池功率和当前***工作负载。
在具体实施中,电子设备105生成物理环境的记录并且生成包括用于共享和回放的二维(2D)视频的扩展现实环境。例如,当用户正在使用可以从多个视点捕获场景的设备(例如,智能手机、平板电脑设备或具有多个相机传感器的头戴式设备(HMD))时,用户可能希望捕获他们的体验或将其流式传输给其他人,或从另一角度来重新呈现体验本身。此体验可以是纯VR或AR体验或混合现实(MR)体验。然而,如果只记录了2D视频,或者捕获和存储的信息不足,则只能从记录仪的角度播放记录的视频,观看者可能会感到VR不适。传统的视频记录方法无法用于生成期望的3D捕获。
根据本公开的各方面,提供了用于记录和回放XR体验的***和方法,其允许观看者控制回放观看体验。
在具体实施中,电子设备生成记录,该记录包括电子设备105周围环境的视频、音频、三维信息,以及指示在记录期间哪些计算机生成的内容被电子设备105显示以及在记录期间哪些计算机生成的内容在记录用户的视场之外,但是如果记录用户在记录期间在场景中的不同方向或不同位置处观看,则在记录期间将被显示的信息。该信息可以包括由电子设备105捕获的3D计算机,诸如(但不限于)场景数据、几何形状、纹理、材料、动画、物理等。电子设备105同时或随后生成一些或所有环境的三维(3D)重建,合并来自相机150、传感器152的信息和/或来自其他记录的信息(例如,来自不同视点(POV)和/或不同视野(FOV),诸如来自其他用户的设备和/或其他相机)。还应当理解,电子设备110和/或电子设备115还可结合电子设备105工作或独立于电子设备105生成此类扩展现实环境。
电子设备105还可以检测已发生在扩展现实环境的场景内的事件。此类事件的示例包括检测场景中特定人、实体或对象的存在。响应于检测到的事件,电子设备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可以提供与下文进一步讨论的用于生成、存储、编辑和/或分析三维XR体验(包括CG内容)的记录的安全云环境对应的安全环境。此类记录或用于生成此类记录的信息可由电子设备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包括框架。如本文所用,框架可以指作为较大软件平台的一部分提供特定功能性以促进软件应用程序的开发的软件环境,并且可提供一个或多个应用编程接口(API),开发者可利用一个或多个应用编程接口来以程序化方式设计扩展现实环境并处理用于此类扩展现实环境的操作。
如图所示,提供了记录框架230。记录框架230可以提供用于记录由如上文所述的输入模态提供的扩展现实环境的功能。提供了重建引擎220,该重建引擎接收与来自各种输入模态的输入对应的信息。提供***管理器210以监测来自电子设备105的资源并基于可用资源确定服务质量度量。
在具体实施中,软件架构200能够生成、编辑和/或回放XR记录,并且可以提供存储库或存储位置来上传此类记录。如图2所示,电子设备105包括用于存储XR记录242的数据库240,该CGR记录可以由下文进一步所述的记录框架230和/或安全环境250提供。在示例中,记录框架230可以生成XR记录并加密用于存储在数据库240中的此类记录。
如进一步所示,电子设备105包括安全环境250。如本文所用,安全环境提供与特定设备(例如,电子设备105)的给定处理器上执行的其它进程隔离的安全计算环境,其中安全环境对执行其它进程的处理器和其它进程本身都是不可访问的。此外,安全环境加密其所利用的存储器的任何部分,并且可以利用与(例如,在电子设备105上)执行此类其它进程的处理器相比的单独处理器(例如,自定义的面向安全的处理器)。在处理给定XR记录时,安全环境也可以使用同态加密。另外,可以启用安全环境以对存储在图1所示的任何一个电子设备中的加密XR记录进行解密。
软件架构200及其部件的具体实施使得能够记录扩展现实体验(也称为XR体验),其包含渲染的CG内容(例如,通过计算机生成(CG)渲染引擎223在记录期间渲染以供显示)。
软件架构200及其部件的具体实施还可以使得能够基于内容和注释自动分割XR记录,该内容和注释还使得能够搜索记录。此外,软件架构200及其部件使得能够至少部分地基于主题和/或用户兴趣来提供对其它记录的推荐,该主题和/或用户兴趣可以在相关联的用户配置文件中所存储的用户偏好中提供。软件架构200及其部件使得能够基于推荐或基于用户偏好生成多个记录,并且还能够实现记录的随机浏览(暂停、回放、拖动等)。
在示例中,安全环境250可以从记录框架230接收给定XR记录,或者从记录框架230接收请求以检索存储在数据库240中的XR记录。如图所示,安全环境250包括安全记录分析器260,该安全记录分析器分析记录并且基于该分析生成元数据和/或注释。在具体实施中,安全记录分析器260可以执行用于对象检测的具体分类器,并且如果此类对象在记录期间移动,则确定对象的运动向量。在示例中,此类运动向量可以用于跟踪对象和/或预测对象可以朝向哪里移动。安全记录分析器260向对象和检测到的事件和/或识别的人提供记录的注释(例如,用元数据信息标记)。在另一示例中,安全记录分析器260从语音、声音和/或音频确定关于人或对象的声学信息,该声学信息可用于人或对象的移动或位置跟踪和/或识别。此外,还可以根据记录类型(例如,运动、特定位置诸如海滩等)定制分析以针对可能存在于该类型的记录中的具体事件或对象。
还如图所示,服务器120提供了重建引擎227。在一些具体实施中,可以向服务器120提供由相机150和/或传感器152捕获的三维信息,以生成环境的3D重建。由重建引擎227(和/或由电子设备105的重建引擎220和/或由电子设备115的重建引擎225)生成的环境的3D重建可以与记录的CG内容轨道、记录的视频轨道、记录的音频轨道和/或记录的元数据轨道在时间上对齐地存储(例如,在XR记录中)。
服务器120还可包括安全云环境270,该安全云环境对应于具体实施中的特定类型的安全环境。例如,安全云环境270支持一组处理器指令代码,该组处理器指令代码使用户级代码能够分配受保护并与其他进程隔离的存储器(例如,环境)的私有区域。安全云环境270可以使用其自身的一组处理器(例如,CPU和/或GPU)。在具体实施中,服务器120包括安全云记录分析器280,其对上文关于给定记录讨论的安全记录分析器260执行相同或相似的功能。在示例中,服务器120可以从电子设备105接收请求以执行对给定记录的分析。由安全记录分析器260执行的任何分析(例如,生成的元数据信息或推荐)的结果可被返回到电子设备105以进行进一步处理。
在具体实施中,电子设备115包括安全环境255和安全记录分析器265,其中每一者可以分别执行如上文结合电子设备105的安全环境250和安全记录分析器260所述的相同功能。例如,安全记录分析器260可以分析来自存储在数据库246中的XR记录247中的一者的XR记录。
如图所示,电子设备115包括一组工具245,其对应于提供编辑功能以修改XR记录的各种编辑工具(例如,具体应用程序)。每个编辑工具都可能能够接收XR记录(例如,对应于存储在数据库246中的XR记录247中的一者)以进行编辑。编辑工具的示例包括图像编辑器、用于3D组合的工具和/或能够沿着时间线组织XR内容的多媒体编辑器。给定编辑工具还可能能够修改在记录期间被渲染的CG内容。给定编辑工具还可能使得能够修改环境的3D重建(例如,填充缺失的物理环境结构或几何形状)。给定编辑工具还可以使新对象或内容能够***场景中,包括新虚拟内容。
尽管在图2中未示出,但是应当理解,电子设备110还可以包括与以上结合电子设备115所讨论的类似部件。
图3示出了电子设备105的示意性俯视图,示出了传感器152如何可以定位在电子设备105的主体300上或该主体内的各个位置处。例如,传感器152和/或一个或多个相机(诸如相机150,每个相机具有视场310)可被定位成使得能够捕获基本上覆盖电子设备105周围的整个环境(例如,包括在穿戴者后面的方向上)的三维信息(例如,深度信息)。此外,可以集成由相机150和/或传感器152在各个时间捕获的三维信息(例如,当穿戴者在连续或不连续记录XR体验和/或使用由相机150、传感器152和/或其他设备或相机在记录XR体验之前、期间或之后的连续或不间断时间内捕获的信息时,在环境中移动和/或环顾周围)以构建环境的3D重建。
在图3的示例中,电子设备105包括被布置成向用户提供显示图像以生成XR场景的三维视图的显示器302。在电子设备105中还可以提供处理电路306(例如,用于生成、渲染、记录和/或以其他方式处理XR记录和体验的一个或多个处理器和存储器,一个或多个内部传感器304诸如IMU和/或一个或多个电源诸如电池308)。
此外,在多个电子设备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中的一些用户可能正在使用电子设备105来仅观看具有CG内容的XR环境,该CG内容被添加到具有跳舞夫妇的物理场景。用户101中的其他用户可能正在记录由他们的电子设备105生成的XR体验的版本。电子设备105中的任一个或所有电子设备都可以与电子设备105中的任一个或所有电子设备共享环境的3D几何信息(例如,直接或经由网络106和/或服务器120)。电子设备105中的一个或多个电子设备还可以或者另选地累积3D几何信息的历史,这些3D几何信息可被组合以填充电子设备105一次不能全部看到的3D重建的各个空间部分。用户101可以选择共享他们共同参与的事件的记录内容,和/或用户可能能够访问其他受信任设备记录的内容,诸如同一家族中其他用户的设备(或与同一用户帐户相关联的设备)。
当使用来自多个设备的三维几何信息和/或视频信息来重建物理环境时,来自每个设备的信息可以与来自一个或多个其他设备的信息拼接在一起。在一个示例中,由一个电子设备105识别的一个或多个对象可以与由另一电子设备105识别的一个或多个对应对象匹配,以识别来自两个电子设备的馈送的重叠部分,以用于三维几何信息和/或视频信息的拼接。在另一示例中,如果第一电子设备105在第二电子设备105的馈送中可见,则第一电子设备105可以推断第二电子设备105的角度,以共同定位来自两个***的记录的三维几何信息和/或视频信息以用于拼接。在另一示例中,电子设备105中的一个或多个电子设备可以使用测距传感器来建立它们相对于彼此的位置,以便共同定位来自两个***的记录的三维几何信息和/或视频信息以用于拼接。当检测到一个或多个其他电子设备105在附近时,电子设备105可以激活其他电子设备105的测距,或者在XR记录期间,测距可以作为选项或默认地被激活。
如本文进一步详细描述的,所公开的***和方法允许记录穿戴者观看跳舞夫妇的XR体验(包括添加的CG内容),以允许之后的观众从任何位置或视点回放体验,和/或移动和/或环顾记录的场景。例如,由于已经生成了环境的3D重建,并且3D重建的按时间排序的方面已经与在记录期间显示的CG内容的按时间排序的信息在时间上对齐地存储,因此后来的观看者可以在记录的跳舞夫妇周围走动,从房间的另一侧观看记录的舞蹈。又如,后来的观看者在观看物理环境410的3D重建时(例如,当虚拟地站在物理环境410中时)可以暂停记录的动作(例如,暂停跳舞夫妇的运动和虚拟气球的漂浮),移动到相对于暂停的跳舞夫妇和虚拟气球的新位置,然后恢复跳舞夫妇和虚拟气球的回放,但从不同的角度或视点中恢复。
为了促进捕获体验的这种三维和/或交互式再体验,本文所公开的***和方法提供了体验的按时间排序的三维捕获,诸如包括真实和虚拟内容的XR体验。例如,根据本公开的各方面,不是记录渲染的内容供之后回放,而是捕获虚拟的3D几何形状和重建的MR几何形状,以便在回放期间可以从观看者自己的角度重新渲染体验。连同3D几何形状、视频、音频和元数据也可以记录。例如,记录的视频可用于在记录期间和/或记录后处理期间通知3D重建。在一些情况下,可以同时使用多个视频轨道从不同的角度渲染内容。音频内容可以空间格式记录,使得在回放期间也可以根据观看者/听众的位置渲染记录体验的音频方面。还可以生成和/或存储元数据以提供关于所记录的内容的信息和/或用于创建某些3D资源的参数。可以将此捕获导入到编辑工具以改进和修改捕获,并且可以将输出导出为观看者能够从他们的角度重新体验的格式。
图5示出了XR体验的记录、编辑和回放的各方面。如图5所示,在记录期间,穿戴电子设备105的用户101可以在物理环境410周围走动(例如,如箭头507所示),诸如具有静态物理内容401(诸如树干)和动态物理内容400(诸如可随风摆动的灌木)的森林。当用户101在物理环境410周围走动时,将记录环境的3D信息(例如,深度信息)以及环境的音频和/或视频。在记录期间,并且当用户101在物理环境410周围走动时,计算机生成的(CG)内容502(例如,虚拟熊)可以由电子设备105渲染并显示在物理环境410的用户视图(例如,通过透明或半透明显示器的直接视图或透传视频视图)的一部分上方。
如图5所示,可以将物理环境410的记录的视频、音频、3D信息以及与渲染的CG内容502相关联的信息提供给编辑工具。如果在利用电子设备105记录期间或之后生成环境的3D重建,则可以将3D重建与物理环境410的记录的视频、音频、3D信息以及与渲染的CG内容502相关联的信息提供给编辑工具(用于编辑)。在其他具体实施中,3D重建可以由编辑工具基于环境的记录的3D信息生成。3D重建可以独立于时间被存储,和/或可以生成用于记录的重建轨道,其包括用于在记录的任何特定时间的3D重建的信息。
如图5所示,利用编辑工具,可以对3D重建512(例如,通过填充缺失的几何形状517)和/或对记录的内容进行修改(例如,通过将在记录期间渲染的CG内容502(熊)替换为修改后的CG内容514(诸如恐龙)和/或通过添加在记录期间未被渲染的附加CG内容515)。
如图5所示,另一用户501然后可以回放记录的XR体验,包括重建的3D环境、所修改的CG内容514和附加CG内容515,但是从新的和/或改变的角度回放。
图5还指示执行场景重建可以在电子设备105处发生(例如,在记录期间或之后),并且可以包括基于来自电子设备105的传感器(例如,传感器152)的3D信息从重建库中获取一个或多个网格506、纹理508或510和/或材料。
图6示出了可由电子设备105捕获的XR记录600。在图6的示例中,在记录的时间段期间(例如,对应于开始时间602之后的持续时间),相机150可以提供视频轨道606,麦克风603(例如,作为传感器152的一部分)可以提供记录的对应音频轨道。
CG渲染引擎223可以生成和/或渲染CG内容,诸如图4的CG内容402和/或404和/或图5的502,以供在物理环境410的一部分的视图上方显示。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在时间上对齐地存储。此深度数据可以在记录期间实时使用(例如,连同记录的视频数据和/或音频数据),也可以在记录之后离线使用,以重建场景的三维重建的一个或多个网格或点云。在记录之后离线生成三维重建的情况下,可以存储3D几何轨道以供之后使用。在记录期间实时生成三维重建的情况下,可以存储也可以不存储3D几何轨道612。
如图6所示,在记录期间或之后,来自传感器152的传感器数据、来自相机150的图像数据和/或来自麦克风603的音频数据也被提供给3D重建引擎,诸如电子设备105的重建引擎220。3D重建引擎220基于所提供的数据生成3D重建614。3D重建614可被表示为具有纹理的一个网格、多个网格和纹理或点云等。这只是用于记录的一种格式,也可以存在其他变化。在一些情况下,与3D重建614相关联的按时间排序的信息(例如,指示环境中的动态物理实体诸如图4的跳舞夫妇的三维形状、纹理、材料等的信息,和/或指示重建的建筑物中的一个房间与记录的一部分相关而另一房间(或室外场景)与记录的另一部分相关的信息,诸如由于记录用户在记录期间从一个房间移动到另一房间)。与3D重建相关联的此类按时间排序的信息可以与捕获的视频轨道606、捕获的音频轨道608、捕获的CG内容轨道610和/或捕获的3D几何轨道612在时间上对齐地存储。然而,应当理解,在一些情况下,当生成了3D重建时,可能不再需要3D几何轨道,并且可以将其丢弃或与XR记录600分开存储。
3D重建614可以包括在物理环境410中(例如,在记录期间或整个记录期间的特定时间)存在的对象的几何形状、网格、纹理、材料和/或位置。当回放记录时,为观看者渲染的3D重建部分可以在正确的时间和正确的位置被渲染,但从观看时观看者的角度来看。
图6还示出了如何生成三维重建614可以包括基于来自记录的时间段期间的第一时间的所存储的按时间排序的三维场景信息的第一部分(例如,与视频、音频和/或3D几何信息的捕获并发的时间和/或与CG内容的渲染并发的时间)并且基于来自记录的时间段期间的第二时间的所存储的按时间排序的三维场景信息的第二部分619来生成与场景中的位置相关联的三维重建的一部分。
例如,当记录设备在物理对象上显示虚拟杯子的同时查看物理对象的前侧时捕获的3D几何信息(例如,来自电子设备105的一个或多个深度传感器的深度传感器数据和/或在处理之后从深度和/或视频传感器数据创建的3D几何信息)可用于物理对象的前侧的3D重建。然而,该视图可能不足以准确地重建物理对象的后侧。因此,当设备之后移动到可以观察物理对象的后侧(例如,通过设备的传感器和/或相机)的位置时,在该时间捕获的3D几何信息(例如,3D几何信息的第二部分619)(例如,来自电子设备105的一个或多个深度传感器的附加深度传感器数据)可用于桌子其余部分(例如,后侧)的3D重建。该设备可以之后移动到能够在连续记录XR体验期间或在不连续的之后时间观察物理对象的后侧的位置。例如,如果设备(和/或另一设备)之后在不连续的之后时间开始捕获三维信息,则设备可以基于当前三维信息与先前记录的三维信息的比较来识别环境的一个或多个部分,并且可以协调当前和先前记录的信息中的物理对象的前部和后部以更新包括物理对象的物理环境的三维重建。上述所存储的按时间排序的三维场景信息的第一部分可以与设备在第一时间的第一位置相关联,并且所存储的按时间排序的三维场景信息的第二部分619可以与设备在第二时间的第二位置相关联。
图6还示出了如何生成三维重建可以包括基于所存储的按时间排序的三维场景信息(例如,3D几何轨道612)的一部分和来自附加设备诸如其他设备601的附加存储的按时间排序的三维场景信息的一部分来生成三维重建的与该场景中的位置相关联的一部分(例如,如上文结合图4所述)。
图7示出了根据本主题技术的具体实施的用于记录扩展现实内容的示例性过程700的流程图。出于解释的目的,本文主要参考图1和图2的电子设备105来描述过程700。然而,过程700不限于图1和图2的电子设备105,并且过程700的一个或多个框(或操作)可由其他合适设备(包括电子设备105、电子设备110、电子设备115和/或服务器120)的一个或多个其他部件来执行。进一步出于解释的目的,过程700的一些框在本文中被描述为顺序地或线性地发生。然而,过程700的多个框可并行发生。此外,过程700的框不必按所示顺序执行,并且/或者过程700的一个或多个框不必执行和/或可由其他操作替代。
如图7所示,在框702处,可以捕获来自物理环境的视频和/或音频(例如,由电子设备105)。例如,在对应于记录时间的时间段内,利用设备的相机,可以捕获环境的至少一部分的视频。在基本上相同的时间段内,利用设备的一个或多个麦克风,还可以捕获来自环境的音频信息(例如,来自多个方向的空间音频)。
在框702处,还可以捕获3D几何信息,诸如环境的深度数据(例如,使用电子设备105的传感器152)。捕获3D几何信息(例如,来自传感器152的传感器数据和/或基于来自传感器152的传感器数据的过程深度数据)可以包括在一段时间内利用位于环境中的设备(例如,电子设备105)的至少一个传感器来捕获环境的按时间排序的三维场景信息(例如,深度信息)。3D几何信息可以在对应于该时间段的一个连续轨道中捕获,和/或在该时间段之前、期间和/或之后的多个不连续时间期间捕获。例如,视频和3D几何信息可以包括表示婚礼蛋糕的一部分的信息,该部分在跳舞的夫妇舞动时对于图4的物理环境410中的电子设备105是可见的。虽然在跳舞期间婚礼蛋糕的其他部分(例如,后侧)对于电子设备105可能不可见,但电子设备105之后可能会捕获婚礼蛋糕其他部分的视频和/或3D几何信息,该视频和/或3D几何信息可以与在跳舞期间捕获的表示婚礼蛋糕的视频和/或3D几何信息相协调。
在框712处,可以存储视频和/或音频内容中的一些或全部(例如,在电子设备105、电子设备110、电子设备115和/或服务器120处)。存储视频和/或音频内容可以包括将渲染的视频和/或音频内容和/或在框702处捕获的附加视频和/或音频内容存储在视频轨道606和音频轨道608中,如上文结合图6所述(例如,以用于离线生成3D重建)。在框712处,还可以存储在框704处捕获的3D场景信息中的一些或全部。存储3D场景信息可以包括存储原始传感器数据和/或存储经处理的传感器数据,诸如经处理以形成描述整个时间段中表面、对象等离记录设备的深度信息的传感器数据。存储3D场景信息可以包括将按时间排序的三维场景信息存储在3D几何轨道612中(例如,与视频轨道606和/或音频轨道608在时间上对齐)。
在图7的示例中,在框718处,重建引擎诸如电子设备105上的重建引擎220和/或电子设备115上的重建引擎225可以基于在框702处捕获的3D几何信息(例如,深度信息/数据)和/或视频和/或音频来生成3D重建内容。3D重建内容可以包括(例如,对于物理环境中的一个或多个对象或其他实体中的每一者)纹理(例如,从捕获的视频中获取和/或基于捕获的视频的一个或多个图像),其被映射到对象/实体的网格(例如,如由来自传感器152的3D几何信息所标识和/或生成的)。生成3D重建内容可以包括向重建引擎提供环境的按时间排序的三维场景信息,并且生成环境的三维重建,该三维重建包括存在于环境中的三维重建中的三维实体/对象的网格、点云或其他三维表示。生成环境中对象(例如,婚礼蛋糕)的3D重建可包括利用来自在不同时间(例如,整个XR体验中,诸如图4的跳舞夫妇的整个舞蹈之夜)捕获的不同角度的对象的视频和/或3D几何(例如,深度)信息。
在图7的示例中,在框714处,可以基于在框702处捕获的视频和/或音频和/或深度数据,基于一个或多个计算机视觉(CV)算法和/或基于在框718处生成的3D重建内容来生成场景理解数据。
在框720处,基于场景理解数据,可以生成渲染的场景。在生成渲染的场景时,可以渲染3D重建内容的一些或全部(例如,三维重建的与在记录设备的视场中的场景对应的一部分)和/或视频和/或音频内容和/或深度数据的一些或全部(例如,与在记录设备的视场中的场景的该部分对应的音频和/或视频和/或深度数据),和/或基于视频和/或音频内容和/或深度数据的一些或全部(例如,与在记录设备的视场中的场景的该部分对应的音频和/或视频和/或深度数据)的计算机生成的场景信息。
在框708处,可以渲染计算机生成的内容(例如,图4的计算机生成的内容402和/或404和/或图5的计算机生成的内容502)。渲染CG内容可以包括在基本上相同的时间段内并且至少部分地基于渲染的场景来生成按时间排序的计算机生成的内容,以及渲染该按时间排序的计算机生成的内容以用于与渲染的视频一起显示。
在框710处,可以基于视频和/或音频内容、渲染的CG内容、场景理解数据和/或3D重建内容来生成和显示最终渲染的帧。在渲染最终帧时,显示(例如,通过电子设备105的显示器302)渲染的视频和/或音频内容、渲染的CG内容、渲染的场景和/或渲染的3D重建内容(例如,3D重建内容的渲染部分)中的一些或全部。例如,在基本上相同的时间段内,利用设备的显示器,可以将按时间排序的计算机生成的内容覆盖在渲染的场景上和/或环境的至少一部分的视图上显示。环境的该至少一部分的视图可以是通过透明或半透明显示器的直接视图,或由显示器基于在该时间段期间由设备的相机捕获的环境的图像生成的透传视图。
在框716处,可以存储CG内容。存储CG内容可以包括将按时间排序的计算机生成的内容与按时间排序的三维场景信息(例如,3D几何轨道612)在时间上对齐地存储。例如,按时间排序的计算机生成的内容可以被存储为CG内容轨道610。所存储的按时间排序的计算机生成的内容可以包括快照帧和快照增量帧,这些快照帧和快照增量帧允许在记录期间显示的CG内容和/或在记录期间在视场之外的CG内容在回放时从任何视点或位置被重新渲染。
在框722处,可以存储3D重建内容中的一些或全部。存储3D重建内容可以包括存储场景、场景中的对象和/或实体的三维表示、对象和/或实体的纹理和/或材料,和/或来自场景的图像和/或音频数据,这些图像和/或音频数据允许在给定回放时间存在于回放设备的视图中的重建的3D场景的部分在回放时从任何视点或位置被重新渲染。
在框724处,可以基于记录的视频和/或音频内容、记录的CG内容、记录的3D场景信息和/或记录的3D重建内容来存储体验诸如对应于渲染的视频、音频、CG内容和/或在记录时间段期间显示的3D重建内容的3D体验或XR体验。存储体验可以包括在XR记录600中存储视频轨道606、音频轨道608、CG内容轨道610、3D几何轨道612和/或3D重建。
在图7的示例中,3D重建在显示和记录XR体验的相同时间段期间生成,并且可以如图所示用于渲染帧。然而,应当理解,3D重建操作可以在记录时间之后执行并且之后添加到记录的XR体验以进行回放。
图8示出了根据本主题技术的具体实施的用于记录扩展现实内容的示例性过程800的流程图,该过程包括与活动显示分开地生成3D重建以及在记录期间的记录操作。出于解释的目的,本文主要参考图1和图2的电子设备105和服务器120来描述过程800。然而,过程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处)。存储视频和/或音频内容可以包括将渲染的视频和/或音频内容和/或在框702处捕获的附加视频和/或音频内容存储在视频轨道606和音频轨道608中,如上文结合图6所述(例如,以供之后生成环境的3D重建使用)。
在框806处,可以存储CG内容。存储CG内容可以包括将按时间排序的计算机生成的内容与按时间排序的三维场景信息(例如,3D几何轨道612)在时间上对齐地存储。例如,按时间排序的计算机生成的内容可以被存储为CG内容轨道610。所存储的按时间排序的计算机生成的内容可以包括快照帧和快照增量帧,这些快照帧和快照增量帧允许在记录期间显示的CG内容和/或在记录期间未显示的CG内容(例如,由于记录期间记录用户的视场)在回放时从任何视点或位置被重新渲染。
在框810处,在记录/显示体验之后,重建引擎诸如服务器120上的重建引擎225、电子设备105上的重建引擎220和/或电子设备115上的重建引擎225可以基于在框702处捕获的3D几何信息和/或视频和/或音频来生成3D重建内容。生成3D重建内容可以包括向重建引擎提供环境的按时间排序的三维场景信息,并且生成环境的三维重建,该三维重建标识了三维实体在三维重建中的形状、纹理、材料、动画等。
在框812处,可以存储3D重建内容中的一些或全部。存储3D重建内容可以包括存储网格、纹理、材料、动画、点云表示等,这些网格、纹理、材料、动画、点云表示等允许在记录时间段期间记录设备的物理环境的部分在回放时从任何视点或位置被虚拟地渲染。
在框814处,可以基于记录的视频和/或音频内容、记录的CG内容、记录的3D场景信息和/或记录的3D重建内容来存储体验诸如对应于渲染的视频、音频、CG内容和/或在记录时间段期间显示的3D重建内容的3D体验或XR体验。存储体验可以包括在XR记录600中存储视频轨道606、音频轨道608、CG内容轨道610、3D几何轨道612和/或3D重建。
图9示出了根据本主题技术的具体实施的用于编辑扩展现实内容的记录的示例性过程900的流程图。出于解释的目的,本文主要参考图1和图2的电子设备105和服务器120来描述过程900。然而,过程900不限于图1和图2的电子设备105和服务器120,并且过程900的一个或多个框(或操作)可由其他合适设备(包括电子设备105、电子设备110、电子设备115和/或服务器120)的一个或多个其他部件来执行。进一步出于解释的目的,过程900的一些框在本文中被描述为顺序地或线性地发生。然而,过程900的多个框可并行地发生。此外,过程900的框不必按所示顺序执行,并且/或者过程900的一个或多个框不必执行和/或可由其他操作替代。
在框902处,可以获取(例如,通过电子设备105、电子设备110、电子设备115和/或服务器120)存储的体验,诸如包括视频轨道、音频轨道、计算机生成的内容轨道、三维场景信息轨道和/或重建(例如,XR记录600)的记录的3D体验或XR体验。
在框904处,可以修改计算机生成的内容轨道(例如,用其他CG内容诸如虚拟恐龙替换CG内容诸如在记录期间被渲染的虚拟熊,和/或添加或移除CG内容)。
在框906处,可以修改3D重建(例如,用于孔填充和填充缺失的几何形状等)。
在框908处,可以将包括所修改的计算机生成的内容轨道和/或所修改的重建的修改的体验存储为修改的XR记录。
图10示出了可被存储和/或获取以进行回放的修改的XR记录1020的示例。如图10所示,修改的XR记录1020包括CG内容轨道1026和3D重建1028,每一者被存储在修改的XR记录1020中。在图10的示例中,3D几何轨道612不包括在要用于回放的记录中,因为回放所需的3D几何信息(例如,以及视频和/或音频信息)已被编码在3D重建1028中。
如图10所示,从开始时间1010开始,可以通过具有传感器1052(例如,本文所述的传感器152中的一个或多个传感器)、显示器302和显示渲染引擎1000(例如,用处理电路306实现)的回放设备(例如,电子设备105)来执行回放修改的XR记录1020。在图10的示例中,在回放修改的XR记录1020期间,可以向显示渲染引擎1000提供3D重建1028的CG内容轨道1026和相关部分以及来自传感器1052的传感器数据,这些传感器数据指示回放设备的位置、运动和/或取向和/或其他信息,诸如眼睛跟踪信息和/或设备的用户/穿戴者的其他生物统计信息。
基于设备的位置、取向和/或运动,和/或来自传感器1052的其他信息,并且基于相对于记录的开始时间1010(和/或指示记录中的时间点的任何其他时间戳1012)的回放时间,显示渲染引擎1000可以基于CG内容轨道以及3D重建内容的相关部分来渲染CG内容中的一些或全部。
渲染CG内容可以包括从CG内容库中获取在CG内容轨道1026中的一个或多个快照帧中标识的一个或多个虚拟对象的一个或多个网格、纹理和/或材料。渲染3D重建内容可以包括从重建库中获取在给定时间处在观看者的视场中的、在3D重建1028的部分中标识的一个或多个实体的一个或多个网格、纹理和/或材料。可以向一个或多个扬声器诸如扬声器1002提供(例如,经由音频渲染引擎或其他音频处理器)音频信息(例如,作为3D重建1028的一部分存储的3D音频信息)。
根据本公开的各方面,在之后的时间段内,利用用于记录的设备或另一设备回放与记录的时间段对应的体验,可以包括将设备或另一设备的第一位置与三维重建中的位置相关联。第一位置可以是设备在回放开始时的位置,并且可以与记录设备在体验记录开始时的位置相关联。在该之后的时间段内,可以基于存储的3D重建1028和设备或另一设备的跟踪位置(例如,使用传感器1052)来渲染记录的环境的一部分的重建。在该之后的时间段内,还可以基于存储的3D重建1028、存储的按时间排序的计算机生成的内容轨道(例如,CG内容轨道)1026和设备或另一设备的跟踪位置来渲染附加的计算机生成的内容。附加的计算机生成的内容可以是在CG内容轨道1026中指示的所修改的计算机生成的内容。
在记录的时间段期间渲染计算机生成的内容可以包括从与设备在渲染计算机生成的内容时的位置相关联的第一视角渲染计算机生成的内容。相比之下,在该之后的时间段期间渲染附加的计算机生成的内容可以包括从不同于第一视角的第二视角并且基于设备或另一设备的跟踪位置来渲染在该记录时间段期间被渲染的计算机生成的内容。在该时间段期间未被渲染的附加CG内容(例如,因为附加CG内容不在记录用户的视场中)也可以在之后的时间段期间被渲染(例如,由于观看用户的不同视角)。
从不同于第一视角的第二视角并且基于设备或另一设备的跟踪位置来渲染在该记录时间段期间被渲染的计算机生成的内容可包括:在对应于回放的之后时间段期间获取设备或另一设备在当前时间的当前跟踪位置;基于按时间排序的计算机生成的内容、该当前时间和所获取的当前跟踪位置来获取与该计算机生成的内容相关联的网格、纹理或材料;以及基于所获取的网格、纹理或材料,从第二视角渲染在该时间段期间被渲染的计算机生成的内容。
图11示出了根据本主题技术的具体实施的用于回放扩展现实内容的记录的示例性过程1100的流程图。出于解释的目的,本文主要参考图1和图2的电子设备105来描述过程1100。然而,过程1100不限于图1和图2的电子设备105,并且过程1100的一个或多个框(或操作)可由其他合适设备(包括电子设备105、电子设备110和/或服务器120)的一个或多个其他部件来执行。进一步出于解释的目的,过程1100的框在本文中被描述为顺序地或线性地发生。然而,过程1100的多个框可并行地发生。此外,过程1100的框不必按所示顺序执行,并且/或者过程1100的一个或多个框不必执行和/或可由其他操作替代。
如图11所示,在框1102处,回放设备获取在第一时间段内利用扩展现实设备捕获的体验的记录,该记录包括三维重建(诸如3D重建1028)和计算机生成的内容轨道(诸如CG内容轨道1026)。
在框1104处,扩展现实设备或另一扩展现实设备的第一位置可以与三维重建中的位置相关联。三维重建中的位置可以对应于生成记录时记录设备的物理环境中的物理位置。
在框1106处,可以在之后的时间段期间跟踪扩展现实设备的位置或扩展现实设备。跟踪位置还可包括跟踪取向、移动和/或其他信息,诸如用户的生物统计信息。
在框1108处,在该之后的时间段内,基于三维重建和扩展现实设备的跟踪位置或该扩展现实设备来渲染扩展现实设备的环境的一部分的重建。
在之后的时间段内,基于三维重建和扩展现实设备的跟踪的位置或该扩展现实设备来重建扩展现实设备的环境的该部分可以包括基于三维重建、回放时间和对应于该回放时间的当前跟踪位置获取与该环境的该部分中的实体相关联的网格、纹理或材料,并且基于该网格、纹理或材料来渲染该环境的该部分的重建。
在框1110处,在之后的时间段内,可以基于三维重建、计算机生成的内容轨道和扩展现实设备的跟踪位置或该扩展现实设备来渲染计算机生成的内容。
在该之后的时间段内,基于三维重建、计算机生成的内容轨道和扩展现实设备的跟踪位置或该扩展现实设备来渲染计算机生成的内容可以包括基于计算机生成的内容轨道、回放时间和对应于该回放时间的当前跟踪位置获取与该计算机生成的内容相关联的附加网格、附加纹理或附加材料,并且基于该附加网格、附加纹理或附加材料来渲染该计算机生成的内容。
记录可以包括随时间变化的动态内容。例如,计算机生成的内容可以是基于该计算机生成的内容轨道的按时间排序的特征随时间变化的动态内容。在一些操作场景中,回放记录可以包括接收暂停记录的播放的请求(例如,当用户致动真实或虚拟的“暂停”按钮或说出“暂停”一词时)。响应于该请求,回放设备可以基于该计算机生成的内容轨道的按时间排序的特征和/或该记录的其他动态特征来暂停对随时间的变化的渲染(例如,通过冻结如在暂停时显示的图4中跳舞夫妇的跳舞姿态)。在基于计算机生成的内容轨道的按时间排序的特征和/或记录的其他动态特征暂停对随时间的变化的渲染时,计算机生成的内容的静态表示和/或记录的其他动态特征(例如,处于冻结姿态的跳舞夫妇)可以基于记录的对应于请求暂停播放记录的时间的一部分(例如,计算机生成的内容轨道)来显示。在暂停记录随时间的变化时,可以检测到扩展现实设备(例如,回放设备)的移动(例如,使用传感器1052)。然后可以基于该移动来修改对计算机生成的内容的静态表示和/或记录的其他动态特征的渲染。例如,当用户物理地围绕该夫妇的冻结视图走动时,所渲染处于冻结姿态的跳舞的夫妇的视图可以被旋转。
然后,设备可能会接收继续播放记录的请求(例如,取消选择暂停按钮),并且基于计算机生成的内容轨道的按时间排序的特征和/或记录的其他动态特征恢复对随时间的变化的渲染(例如,通过恢复回放记录的舞蹈,但从用户的新视点中恢复)。恢复渲染可以包括基于计算机生成的内容轨道的按时间排序的特征,在请求继续时渲染相对于该静态表示的所修改的渲染的该随时间的变化。
如上所述,本发明技术的一个方面是采集和使用可从特定和合法来源获得的数据以用于XR记录。本公开设想,在一些实例中,该所采集的数据可包括唯一地识别或可用于识别具体人员的个人信息数据。此类个人信息数据可包括视频数据、三维几何数据、人口统计数据、基于位置的数据、在线标识符、电话号码、电子邮件地址、家庭地址、与用户的健康或健身级别相关的数据或记录(例如,生命特征测量、药物信息、锻炼信息)、出生日期或任何其他个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于记录XR体验。
本公开设想负责收集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,将期望此类实体实现和一贯地应用一般公认为满足或超过维护用户隐私的行业或政府所要求的隐私实践。关于使用个人数据的此类信息应当被突出地并能够被用户方便地访问,并应当随数据的收集和/或使用变化而被更新。用户的个人信息应被收集仅用于合法使用。另外,此类收集/共享应仅发生在接收到用户同意或在适用法律中所规定的其他合法根据之后。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应针对被收集和/或访问的特定类型的个人信息数据调整政策和实践,并使其适用于适用法律和标准,包括可用于施加较高标准的辖区专有的具体考虑因素。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,在XR记录的情况下,本主题技术可被配置为在注册服务期间或随后的任何时间允许用户选择“选择加入”或“选择退出”参与对个人信息数据的收集和/或共享。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除标识符、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别或在对于面部识别而言不充分的级别收集位置数据)、控制数据如何被存储(例如,在用户间汇集数据)和/或其他方法诸如差异化隐私来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。
图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和/或ROM1210(它们各自被实现为非暂态计算机可读介质)中。该一个或多个处理单元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)、可刻录光盘(CD-R)、可重写光盘(CD-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各种可刻录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡,mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘驱动器、只读和可刻录Blu-
Figure BDA0003888568050000281
盘、超密度光盘、任何其他光学或磁性介质以及软盘。计算机可读介质可存储计算机程序,该计算机程序可由至少一个处理单元执行并且包括用于执行各种操作的指令集。计算机程序或者计算机代码的示例包括机器代码,诸如由编译器所产生的机器代码,以及包括可由计算机、电子部件或微处理器使用解译器来执行的更高级别代码的文件。
虽然上述论述主要涉及执行软件的微处理器或多核处理器,但一些具体实施由一个或多个集成电路诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)执行。在一些具体实施中,此类集成电路执行存储在电路自身上的指令。
如本说明书以及本专利申请的任何权利要求所用,术语“计算机”、“服务器”、“处理器”及“存储器”均是指电子或其它技术设备。这些术语排除人或者人的群组。出于本说明书的目的,术语显示或正在显示意指在电子设备上显示。如本说明书以及本专利申请的任何权利要求所使用的,术语“计算机可读介质”和“计算机可读媒介”完全限于以可由计算机读取的形式存储信息的有形物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂信号。
为了提供与用户的交互,本说明书中所述的主题的具体实施可在具有用于向用户显示信息的显示设备以及用户可用来向计算机提供输入的键盘和指向设备的计算机上实现,显示设备为例如CRT(阴极射线管)或LCD(液晶显示器)监视器,指向设备为例如鼠标或轨迹球。其他种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可通过向用户所使用的设备发送文档以及从其接收文档来与用户进行交互;例如,通过响应于从用户客户端设备上的web浏览器接收的请求而将网页发送到该web浏览器。
本说明书中所述的主题的实施方案可在计算***中实现,该计算***包括后端部件,例如作为数据服务器,或者包括中间件部件,例如应用服务器,或者包括前端部件,例如具有图形用户界面或Web浏览器的客户端计算机,用户可通过该图形用户界面或Web浏览器与本说明书中所述的主题的具体实施进行交互,或者包括一个或多个此类后端部件、中间件部件或前端部件的任何组合。***的部件可通过任何形式或介质的数字数据通信例如通信网络来互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)、互联网络(例如,互联网)和对等网络(例如,自组织对等网络)。
计算***可包括客户端和服务器。客户端和服务器一般是相互远离的,并且可通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。在某些具体实施中,服务器将数据(例如,HTML页面)传输到客户端设备(例如,为了向与该客户端设备交互的用户显示数据以及从与该客户端设备交互的用户接收用户输入)。在服务器处可以从客户端设备接收客户端设备处生成的数据(例如,用户交互的结果)。
根据本公开的各方面,提供了一种方法,该方法包括在一时间段内利用位于环境中的设备的至少一个传感器来捕获该环境的按时间排序的三维场景信息。该方法还包括在基本上相同的时间段内并且至少部分地基于该按时间排序的三维场景信息来生成按时间排序的计算机生成的内容。该方法还包括在基本上相同的时间段内利用该设备的显示器显示覆盖在该环境的至少一部分的视图上的该按时间排序的计算机生成的内容的至少一部分。该方法还包括存储该按时间排序的三维场景信息。该方法还包括将该按时间排序的计算机生成的内容与该按时间排序的三维场景信息在时间上对齐地存储。
根据本公开的各方面,提供了一种方法,该方法包括获取在第一时间段内利用扩展现实设备捕获的体验的记录。该记录包括三维重建和计算机生成的内容轨道。该方法还包括通过以下步骤在之后的时间段内播放该记录:将扩展现实设备或另一扩展现实设备的第一位置与三维重建中的位置相关联;在该之后的时间段期间跟踪扩展现实设备的位置或该扩展现实设备;在该之后的时间段内,基于扩展现实设备的跟踪位置或该扩展现实设备来渲染该扩展现实设备的环境的一部分的重建;以及在该之后的时间段内,基于三维重建、计算机生成的内容轨道和扩展现实设备的跟踪位置或该扩展现实设备来渲染计算机生成的内容。
根据本公开的各方面,提供了一种方法,该方法包括获取在第一时间段内捕获的扩展现实体验的记录,该记录包括物理环境的三维重建和计算机生成的内容轨道。该方法还包括通过以下步骤在之后的时间段内播放该记录:将扩展现实设备的第一位置与三维重建中的位置相关联;在该之后的时间段期间跟踪该扩展现实设备的位置;在该之后的时间段内基于该扩展现实设备的跟踪位置来渲染对应于该扩展现实设备的视场的三维重建的一部分;以及在该之后的时间段内基于三维重建、计算机生成的内容轨道和扩展现实设备的跟踪位置来渲染计算机生成的内容。
根据本公开的各方面,提供了一种非暂态计算机可读介质,该非暂态计算机可读介质包括指令,这些指令在由计算设备执行时,使得该计算设备执行包括以下操作的操作:在一时间段内利用位于环境中的设备的至少一个传感器来捕获该环境的按时间排序的三维场景信息。这些操作还包括在基本上相同的时间段内并且至少部分地基于该按时间排序的三维场景信息来生成按时间排序的计算机生成的内容。这些操作还包括在基本上相同的时间段内利用该设备的显示器显示覆盖在该环境的至少一部分的视图上的该按时间排序的计算机生成的内容的至少一部分。这些操作还包括存储按时间排序的三维场景信息,以及与该按时间排序的三维场景信息在时间上对齐地存储按时间排序的计算机生成的内容。
本领域的技术人员将会认识到,本文所述的各种例示性的框、模块、元件、部件、方法和算法可被实现为电子硬件、计算机软件或两者的组合。为了说明硬件和软件的这种可互换性,上文已经一般性地按照功能性对各种例示性的框、模块、元件、部件、方法和算法进行了描述。此类功能性是被实现为硬件还是软件取决于具体应用以及对整个***施加的设计约束。所述功能可针对每个特定应用以不同方式实现。各种部件和框可被不同地布置(例如,以不同的顺序排列,或以不同的方式划分),而不脱离本主题技术的范围。
应当理解,本发明所公开的过程中的步骤的特定顺序或分级结构为示例性方法的例示。基于设计优选要求,应当理解,过程中的步骤的特定顺序或者分级结构可被重新布置。该步骤中的一些步骤可被同时执行。所附方法权利要求呈现样本次序中的各种步骤的元素,并且不意味着限于所呈现的特定顺序或分级结构。
先前的描述被提供以使得本领域的技术人员能够实践本文所述的各个方面。先前描述提供了本主题技术的各种示例,并且本主题技术不限于这些示例。这些方面的各种修改对本领域的技术人员而言是显而易见的,并且本文所限定的通用原则可应用于其他方面。因此,本权利要求书并非旨在受限于本文所示的各个方面,而是旨在使得全部范围与语言权利要求书一致,其中提及单数形式的要素并非旨在意味着“仅仅一个”,而是指“一个或多个”,除非被具体指出。除非另外特别说明,否则术语“一些”是指一个或多个。男性的代名词(例如,他的)包括女性和中性(例如,她的和它的),并且反之亦然。标题和副标题(如果有的话)仅用于方便,并不限制本文所述的本发明。
如本文所用,术语网站可包括网站的任何方面,包括一个或多个网页、用于托管或存储网络相关内容的一个或多个服务器等。因此,术语网站可与术语网页和服务器互换使用。谓词字词“被配置为”、“能够操作以”以及“被编程以”并不意味着对某一主题进行任何特定的有形或无形的修改而是旨在可互换使用。例如,部件或被配置为监视和控制操作的处理器也可能意味着处理器被编程以监视和控制操作或者处理器能够操作以监视和控制操作。同样,被配置为执行代码的处理器可解释为被编程以执行代码或能够操作以执行代码的处理器。
如本文所用,术语自动可包括由计算机或机器的执行而无需用户干预;例如,通过响应于计算机或机器或其他启动机构的谓词动作的指令。字词“示例”在本文用于意指“用作示例或者例示”。本文作为“示例”所述的任何方面或者设计不一定被理解为比其他方面或者设计优选或者有利。
短语诸如“方面”不意味此方面对本主题技术是必需的或者此方面应用于本主题技术的所有配置。与一个方面相关的公开可应用于所有配置,或者一个或多个配置。一个方面可提供一个或多个示例。短语诸如方面可指一个或多个方面,反之亦然。短语诸如“实施方案”不意味此实施方案对本主题技术是必需的或者此实施方案应用于本主题技术的所有配置。与一个实施方案相关的公开可应用于所有实施方案,或者一个或多个实施方案。一个实施方案可提供一个或多个示例。短语诸如“实施方案”可指一个或多个实施方案,反之亦然。短语诸如“配置”不意味此配置是本主题技术必需的或者此配置应用于本主题技术的所有配置。与配置相关的公开可应用于所有配置或者一个或多个配置。配置可提供一个或多个示例。短语诸如“配置”可指一个或多个配置,反之亦然。

Claims (25)

1.一种方法,所述方法包括:
在一时间段内利用位于环境中的设备的至少一个传感器来捕获所述环境的按时间排序的三维场景信息;
在基本上相同的时间段内并且至少部分地基于所述按时间排序的三维场景信息来生成按时间排序的计算机生成的内容;
在基本上相同的时间段内利用所述设备的显示器显示覆盖在所述环境的至少一部分的视图上的所述按时间排序的计算机生成的内容的至少一部分;
存储所述按时间排序的三维场景信息;以及
将所述按时间排序的计算机生成的内容与所述按时间排序的三维场景信息在时间上对齐地存储。
2.根据权利要求1所述的方法,其中所述环境的所述至少一部分的所述视图包括通过透明或半透明显示器的直接视图,或由不透明显示器基于在所述时间段期间由所述设备的相机捕获的所述环境的图像生成的透传视图。
3.根据权利要求1所述的方法,还包括:
在基本上相同的时间段内利用所述设备的相机捕获所述环境的至少一部分的视频;以及
将所述视频与所述按时间排序的三维场景信息和所述按时间排序的计算机生成的内容在时间上对齐地存储。
4.根据权利要求3所述的方法,还包括:
在基本上相同的时间段内利用所述设备的麦克风捕获来自所述环境的音频信息;以及
将所述音频信息与所述视频、所述按时间排序的三维场景信息和所述按时间排序的计算机生成的内容在时间上对齐地存储。
5.根据权利要求4所述的方法,还包括:
向重建引擎提供所述环境的所述视频和所述按时间排序的三维场景信息;
利用所述重建引擎基于所述视频和所述按时间排序的三维场景信息生成所述环境的三维重建;以及
存储所述三维重建。
6.根据权利要求5所述的方法,其中生成所述三维重建包括基于来自所述时间段期间的第一时间的所存储的按时间排序的三维场景信息的第一部分并且基于来自所述时间段期间的第二时间的所存储的按时间排序的三维场景信息的第二部分来生成所述三维重建的与所述环境中的位置相关联的一部分。
7.根据权利要求6所述的方法,其中所存储的按时间排序的三维场景信息的所述第一部分与所述设备在所述第一时间的第一位置相关联,并且所存储的按时间排序的三维场景信息的所述第二部分与所述设备在所述第二时间的第二位置相关联。
8.根据权利要求5所述的方法,其中生成所述三维重建包括基于所存储的按时间排序的三维场景信息的一部分和来自附加设备的附加存储的按时间排序的三维场景信息的一部分来生成所述三维重建的与所述环境中的位置相关联的一部分。
9.根据权利要求5所述的方法,还包括:
渲染所述三维重建的一部分;以及
在基本上相同的时间段内利用所述设备的所述显示器显示所述三维重建的所渲染的部分。
10.根据权利要求5所述的方法,还包括修改所存储的所述环境的三维重建。
11.根据权利要求10所述的方法,还包括在之后的时间段内回放与所述时间段相对应的体验的记录,其中所述回放包括:
将所述设备或另一设备的第一位置与所述三维重建中的位置相关联;
在所述之后的时间段内基于所存储的所述环境的三维重建和所述设备或所述另一设备的跟踪位置来渲染所述环境的一部分的重建;以及
在所述之后的时间段内基于所存储的按时间排序的计算机生成的内容和所述设备或所述另一设备的所述跟踪位置,在基于所述环境的所述三维重建的位置处渲染附加的计算机生成的内容。
12.根据权利要求11所述的方法,其中:
在所述时间段内显示所述按时间排序的计算机生成的内容的至少所述部分包括从与所述设备在所述渲染所述计算机生成的内容时的位置相关联的第一视角渲染所述按时间排序的计算机生成的内容的所述部分;以及
在所述之后的时间段期间渲染所述附加的计算机生成的内容包括从不同于所述第一视角的第二视角并且基于所述设备或所述另一设备的所述跟踪位置来渲染所述按时间排序的计算机生成的内容在所述时间段期间被渲染的所述部分。
13.根据权利要求12所述的方法,其中从不同于所述第一视角的所述第二视角并且基于所述设备或所述另一设备的所述跟踪位置来渲染所述计算机生成的内容在所述时间段期间被渲染的所述部分包括:
在所述之后的时间段期间获取所述设备或所述另一设备在当前时间的当前跟踪位置;
基于所述按时间排序的计算机生成的内容、所述当前时间和所获取的当前跟踪位置来获取与所述计算机生成的内容相关联的网格、纹理或材料;以及
基于所获取的网格、纹理或材料,从所述第二视角渲染在所述时间段期间被渲染的所述计算机生成的内容。
14.根据权利要求12所述的方法,还包括在所述之后的时间段内基于所述环境的所述三维重建、所存储的按时间排序的计算机生成的内容和所述设备或所述另一设备的所述跟踪位置来渲染在所述时间段期间未被渲染的另外附加的计算机生成的内容。
15.根据权利要求1所述的方法,还包括在所述时间段之后的时间回放与所述时间段对应的体验的记录,其中所述记录基于所述按时间排序的三维场景信息和所述按时间排序的计算机生成的内容。
16.一种方法,包括:
获取在第一时间段内捕获的扩展现实体验的记录,所述记录包括:
物理环境的三维重建,和
计算机生成的内容轨道;以及
通过以下步骤在之后的时间段内播放所述记录:
将扩展现实设备的第一位置与所述三维重建中的位置相关联;
在所述之后的时间段期间跟踪所述扩展现实设备的位置;
在所述之后的时间段内基于所述扩展现实设备的所述跟踪位置来渲染与所述扩展现实设备的视场相对应的所述三维重建的一部分;以及
在所述之后的时间段内基于所述三维重建、所述计算机生成的内容轨道和所述扩展现实设备的所述跟踪位置来渲染计算机生成的内容。
17.根据权利要求16所述的方法,其中所述计算机生成的内容是基于所述计算机生成的内容轨道的按时间排序的特征随时间变化的动态内容,并且其中所述方法还包括:
接收暂停所述记录的所述播放的请求;
基于所述计算机生成的内容轨道的所述按时间排序的特征来暂停对所述随时间的变化的所述渲染;
在基于所述计算机生成的内容轨道的所述按时间排序的特征暂停对所述随时间的变化的所述渲染时:
基于与暂停所述记录的所述播放的所述请求的时间相对应的所述计算机生成的内容轨道的一部分来渲染所述计算机生成的内容的静态表示;
检测所述扩展现实设备的移动;
基于所述移动来修改对所述计算机生成的内容的所述静态表示的所述渲染;以及
接收继续所述记录的所述播放的请求;以及
基于所述计算机生成的内容轨道的所述按时间排序的特征来恢复对所述随时间的变化的所述渲染。
18.根据权利要求17所述的方法,其中恢复所述渲染包括基于所述计算机生成的内容轨道的所述按时间排序的特征,在所述请求继续时渲染相对于所述静态表示的所修改的渲染的所述随时间的变化。
19.根据权利要求16所述的方法,其中在所述之后的时间段内基于所述扩展现实设备的所述跟踪位置来渲染所述三维重建的所述部分的所述重建包括:
基于所述三维重建、当前回放时间和与所述当前回放时间相对应的当前跟踪位置,获取与所述环境的所述部分中的实体相关联的网格、纹理或材料;以及
基于所述网格、所述纹理或所述材料来渲染所述环境的所述部分的所述重建。
20.根据权利要求19所述的方法,其中在所述之后的时间段内基于所述三维重建、所述计算机生成的内容轨道和所述扩展现实设备的所述跟踪位置来渲染所述计算机生成的内容包括:
基于所述计算机生成的内容轨道、所述当前回放时间和与所述当前回放时间相对应的所述当前跟踪位置来获取与所述计算机生成的内容相关联的附加网格、附加纹理或附加材料;以及
基于所述附加网格、所述附加纹理或所述附加材料来渲染所述计算机生成的内容。
21.根据权利要求16所述的方法,其中所述三维重建部分地基于在所述第一时间段期间获取的视频轨道和音频轨道。
22.一种包括指令的非暂态计算机可读介质,所述指令在由计算设备执行时,使得所述计算设备执行包括以下操作的操作:
在一时间段内利用位于环境中的设备的至少一个传感器来捕获所述环境的按时间排序的三维场景信息;
在基本上相同的时间段内并且至少部分地基于所述按时间排序的三维场景信息来生成按时间排序的计算机生成的内容;
在基本上相同的时间段内利用所述设备的显示器显示覆盖在所述环境的至少一部分的视图上的所述按时间排序的计算机生成的内容的至少一部分;
存储所述按时间排序的三维场景信息;以及
将所述按时间排序的计算机生成的内容与所述按时间排序的三维场景信息在时间上对齐地存储。
23.根据权利要求22所述的非暂态计算机可读介质,其中所述操作还包括基于所述环境的所述按时间排序的三维场景信息生成在所述设备处的所述环境的三维重建。
24.根据权利要求23所述的非暂态计算机可读介质,其中所述操作还包括基于使用深度传感器和惯性测量单元捕获的所述按时间排序的三维场景信息,并且基于在所述时间段期间捕获的音频和视频信息来生成所述三维重建。
25.根据权利要求22所述的非暂态计算机可读介质,其中所述操作还包括向服务器提供所述环境的所述按时间排序的三维场景信息以生成所述环境的三维重建。
CN202180028362.XA 2020-04-17 2021-03-24 扩展现实记录仪 Pending CN115413353A (zh)

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

Publications (1)

Publication Number Publication Date
CN115413353A true CN115413353A (zh) 2022-11-29

Family

ID=78082075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180028362.XA Pending CN115413353A (zh) 2020-04-17 2021-03-24 扩展现实记录仪

Country Status (5)

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

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
EP2817785B1 (en) * 2012-02-23 2019-05-15 Charles D. Huston 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
US11030440B2 (en) 2016-12-30 2021-06-08 Facebook, Inc. Systems and methods for providing augmented reality overlays
EP3596542B1 (en) * 2017-03-17 2024-01-17 Magic Leap, Inc. Technique for recording augmented reality data
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
WO2021050596A1 (en) 2019-09-09 2021-03-18 Apple Inc. Providing restrictions in computer-generated reality recordings

Also Published As

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

Similar Documents

Publication Publication Date Title
US11698674B2 (en) Multimodal inputs for computer-generated reality
US11521359B2 (en) Extended reality recorder
US20160027209A1 (en) Real-time immersive mediated reality experiences
KR102644590B1 (ko) 가상 및 물리적 카메라들의 위치 동기화
US11854242B2 (en) Systems and methods for providing personalized saliency models
US20210073357A1 (en) Providing restrictions in computer-generated reality recordings
US20240094815A1 (en) Method and device for debugging program execution and content playback
US20240037944A1 (en) Computer-generated reality recorder
Aiordăchioae Eyewear-based system for sharing first-person video to remote viewers
US11496723B1 (en) Automatically capturing a moment
US20220244903A1 (en) Application casting
US20230298250A1 (en) Stereoscopic features in virtual reality
US20230072623A1 (en) Artificial Reality Device Capture Control and Sharing
WO2022169506A1 (en) Application casting
CN116848507A (zh) 应用程序投屏
CN117999532A (zh) 用于电子设备的并行渲染器
CN118284880A (zh) 用于三维显示的用户界面模式

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination