CN110679152A - 基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的方法和系统 - Google Patents
基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的方法和系统 Download PDFInfo
- Publication number
- CN110679152A CN110679152A CN201880034416.1A CN201880034416A CN110679152A CN 110679152 A CN110679152 A CN 110679152A CN 201880034416 A CN201880034416 A CN 201880034416A CN 110679152 A CN110679152 A CN 110679152A
- Authority
- CN
- China
- Prior art keywords
- data
- real
- frames
- virtual
- world
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/90—Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
- Computing Systems (AREA)
- Image Generation (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
示例性融合现实世界场景捕获系统(系统)从相对于现实世界场景设置以具有现实世界场景的多个不同有利点的多个三维(3D)捕获设备来接收表面数据帧的第一帧集合。基于所述第一帧集合,所述系统生成传输流,所述传输流包括每个所述3D捕获设备的颜色和深度视频数据流。基于所述传输流,所述系统生成表示在融合现实场景的3D空间内包括的多个实体的实体描述数据。所述多个实体包括虚拟对象、现实世界对象、以及进入所述3D空间的虚拟视点,将从所述虚拟视点渲染表面数据帧的第二帧集合,所述第二帧集合表示所述虚拟对象和所述现实世界对象两者的颜色数据和深度数据。
Description
相关申请
本申请要求2017年5月31日提交的标题为“METHODS AND SYSTEMS FORGENERATING A MERGED REALITY SCENE BASED ON A VIRTUAL OBJECT AND ON A REAL-WORLD OBJECT REPRESENTED FROM DIFFERENT VANTAGE POINTS IN DIFFERENT VIDEODATA STREAMS(基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的方法和系统)”的第15/610,573号美国专利申请的优先权,其以引用的方式全部并入本文。
背景技术
人们可以出于各种原因并结合各种类型的应用体验虚拟三维(“3D”)空间(例如,基于包括虚拟对象的虚拟场景、包括现实世界对象的现实世界场景、包括虚拟对象和现实世界对象两者的融合现实场景等)。例如,被配置为呈现虚拟3D空间的表示的媒体播放器设备的用户可以出于娱乐目的、教育目的、长途通信目的、替代性体验/旅行目的、或结合各种其他目的和/或应用体验虚拟3D空间。
虚拟现实是用户体验虚拟3D空间的应用的一个示例。虚拟现实媒体内容可用于使用户(即虚拟现实媒体内容的观看者)沉浸在交互式虚拟现实世界中,用户可以同时通过将他们的注意力集中到沉浸式虚拟现实世界中呈现的各种事物中的任何事物而体验到交互式虚拟现实世界。例如,在虚拟现实媒体内容的呈现期间的任何时间,体验虚拟现实媒体内容的用户可以在任何方向上环顾沉浸式虚拟现实世界,从而使用户感觉到他或她实际上正处于沉浸式虚拟现实世界中并从沉浸式虚拟现实世界内的特定位置和视角(例如角度、视点等)体验沉浸式虚拟现实世界。
在一些示例中,沉浸式虚拟现实世界可以包括虚拟元素和现实世界元素两者。这样的虚拟3D空间可以被称为融合现实场景,并且可以向用户提供各种益处,诸如,例如,允许用户体验由不存在于现实世界的虚拟元素增强的现实世界元素(例如,与现场事件相关联的元素)。
为了向用户提供最大的体验融合现实场景的灵活性,常规媒体播放器设备通常在用户体验融合现实场景之前就已经接收到表示融合现实场景的数据(例如,虚拟对象和现实对象的3D模型)融合现实场景。遗憾的是,要求预先加载而不是流传输,数据可能会排除或严重限制可以提供给用户的某些类型的体验。例如,表示用户可能希望实时体验的现场事件的数据(例如,现场现实世界的体育赛事、共享的虚拟现实事件等)不可能在事件开始之前接收和预先加载。
此外,流传输数据的媒体播放器设备和/或其他系统组件可能要承担处理负担,这些处理负担无法缩放以呈现更大或更详细的融合现实场景。例如,与具有例如五个对象的融合现实场景相比,可能需要大量的附加数据(例如,大约两倍的数据)来表示具有例如十个对象的融合现实场景的3D模型。因此,即使提供商系统能够将五个对象的3D模型实时流传输到媒体播放器设备,提供商系统也可能无法放大到流传输十个对象、一百个对象或更多对象的3D模型,尤其是当融合现实场景中的现实世界对象和虚拟对象正相互交互时。
附图说明
附图示出了各种实施例,并且是说明书的一部分。示出的实施例仅是示例,并且不限制本公开的范围。在所有附图中,相同或相似的附图标记表示相同或相似的元件。
图1图示根据本文描述的原理的用于基于虚拟对象和基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的示例性融合现实世界场景捕获系统。
图2图示根据本文描述的原理的示例性配置,在该示例性配置中,图1的融合现实世界场景捕获系统与多个三维(“3D”)捕获设备进行互操作以捕获表示包括示例性现实世界对象的示例性现实世界场景的数据。
图3A示出了根据本文描述的原理的捕获表示图2的现实世界对象的表面数据帧的示例性3D捕获设备。
图3B图示根据本文描述的原理的在由图3A的3D捕获设备捕获的表面数据帧中表示的颜色数据的示例性图形描绘。
图3C图示根据本文描述的原理的在由图3A的3D捕获设备捕获的表面数据帧中表示的深度数据的示例性图形描绘。
图4图示根据本文描述的原理的示例性多个帧集合,多个帧集合每个包括由图2的3D捕获设备捕获以从不同有利点表示图2的现实世界场景的相应多个示例性表面数据帧。
图5图示根据本文描述的原理的示例性颜色视频数据流和示例性深度视频数据流,两者均基于由图2的特定3D捕获设备捕获以从特定有利点表示图2的现实世界场景的表面数据帧。
图6图示根据本文描述的原理的示例性传输流,该传输流包括来自图4的颜色视频数据流和深度视频数据流、以及其他颜色视频数据流和深度视频数据流。
图7图示根据本文描述的原理的示例性配置,在该示例性配置中,图1的融合现实世界场景捕获系统有助于基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景。
图8图示根据本文描述的原理的示例性融合现实场景,该示例性融合现实场景包括示例性多个实体(诸如,虚拟对象、现实世界对象、以及进入该融合现实场景的示例性3D空间的多个虚拟视点)。
图9图示根据本文描述的原理的可以由图1的融合现实世界场景捕获系统生成的示例性实体描述帧。
图10图示根据本文描述的原理的多个示例性三维(“3D”)渲染引擎,该3D渲染引擎渲染表示在图8的融合现实场景的3D空间内包括的虚拟对象和现实世界对象的表面的颜色数据和深度数据的表面数据帧。
图11图示根据本文描述的原理的示例性多个帧集合,多个帧集合每个包括由图10的3D渲染引擎渲染的相应多个示例性表面数据帧。
图12图示根据本文描述的原理的示例性配置,在该示例性配置中,示例性虚拟现实媒体内容提供商系统生成虚拟现实媒体内容,该虚拟现实媒体内容通过网络被提供给用户使用的示例性客户端侧媒体播放器设备以体验融合现实场景。
图13图示根据本文描述的原理的可由用户用来体验虚拟现实媒体内容的各种示例性类型的媒体播放器设备。
图14图示根据本文描述的原理的示例性虚拟现实体验,在该示例性虚拟现实体验中,向用户呈现表示相对于融合现实场景从与示例性任意虚拟位置对应的动态可选择虚拟视点体验到的融合现实场景的示例性虚拟现实媒体内容。
图15图示根据本文描述的原理的用于基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的示例性方法。
图16图示根据本文描述的原理的示例性计算设备。
具体实施方式
本文描述了基于虚拟对象且基于在不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的方法和系统。例如,如下面更详细描述的,融合现实世界场景捕获系统可以从相对于现实世界场景设置以具有现实世界场景的多个不同有利点的多个三维(“3D”)捕获设备接收包括第一多个表面数据帧的第一帧集合。第一多个表面数据帧中的每个表面数据帧可以由多个3D捕获设备中的相应3D捕获设备在相同的特定时间点处捕获。此外,每个表面数据帧可以是从多个不同有利点中的不同相应有利点捕获到的。因此,每个表面数据帧可以表示在现实世界场景内包括的一个或多个现实世界对象的表面在特定时间点从相应3D捕获设备的相应有利点出现时的颜色数据和深度数据。
基于从多个3D捕获设备接收到的第一帧集合且基于在其他时间点(例如,在连续时间序列中的先前和/或后续点)捕获的多个其他帧集合,融合现实世界场景捕获系统可以生成传输流。例如,传输流可以包括多个3D捕获设备中的每个3D捕获设备的颜色视频数据流和深度视频数据流(例如,表示在整个连续时间序列中分别从3D捕获设备的每个有利点可见的颜色和深度视频数据)。
基于传输流,融合现实世界场景捕获系统可以生成(例如,创建、更新等)表示在融合现实场景的3D空间内包括的多个实体的实体描述数据。例如,多个实体可以包括虚拟对象,该虚拟对象通过到虚拟对象的表面的颜色数据和深度数据的链接至少部分地限定在实体描述数据中,虚拟对象的表面的颜色数据和深度数据存储在资产存储系统内,该资产存储系统通信地耦合至融合现实世界场景捕获系统。多个实体还可以包括现实世界对象,该现实世界对象又可以通过到在颜色视频数据流和深度视频数据流(即,基于从多个3D捕获设备接收到的第一帧集合并且基于多个其他帧集合生成的视频数据流)内包括的现实世界对象的表面的颜色数据和深度数据的链接至少部分地限定在实体描述数据中。另外,多个实体可以包括进入3D空间的多个虚拟视点,将从虚拟视点渲染包括第二多个表面数据帧的第二帧集合。例如,可以由通信地耦合至融合现实场景捕获系统的多个服务器侧3D渲染引擎渲染在第二帧集合内包括的第二多个表面数据帧,以表示在融合现实场景的3D空间内包括的虚拟对象和现实世界对象两者的表面的颜色数据和深度数据。
本文描述的基于虚拟对象且基于在不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的方法和系统可以提供各种优点和益处。作为一个示例,本文描述的系统和方法可以有助于被配置为呈现虚拟3D空间的表示的媒体播放器设备的用户使用媒体播放器设备体验虚拟3D空间。如本文中所使用的,“3D空间”可以指可被用户按照与用户可能体验现实世界类似的方式体验的环境或世界的3D表示(例如,完全虚拟化的表示或至少部分地基于现实世界元素的再现的表示)。例如,体验虚拟或融合现实场景的用户可能能够在3D空间内移动,并查看3D空间内包括的对象和/或与之交互。在一些示例中,可以将3D空间完全虚拟化(例如,计算机生成),并按照与可以表示现实世界场景相似的方式来表示。在其他示例中,3D空间可以至少部分地基于从现实世界场景捕获的一个或多个现实世界对象。
在任何情况下,本文描述的系统和方法都可以有助于从提供商系统整体流传输融合现实场景的3D空间(即,包括现实世界对象和虚拟对象的场景的虚拟3D空间),使得表示3D空间以及其中包括的虚拟对象和现实世界对象的数据不需要在媒体播放器设备的用户体验3D空间之前预先加载或存储在媒体播放器设备上。媒体播放器设备呈现融合现实场景所需的所有数据可被流传输到媒体播放器设备,使得不需要在向用户呈现融合现实场景之前下载、存储或访问(例如,通过本地物理存储)表示融合现实场景内容的数据。在一些示例中,这种流传输能力可以允许用户在融合现实场景中的事件发生时实时地体验与时间敏感内容相关联的融合现实场景(例如,实时发生的现实世界或虚拟事件)。
此外,本文描述的用于基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的系统和方法可以有助于按照可以从3D空间内的任意虚拟位置和动态可选择虚拟视点渲染虚拟现实媒体内容的方式将表示融合现实场景的虚拟现实媒体内容提供给媒体播放器设备。具体地,如将在下面更详细地描述的,通过从不同的虚拟视点渲染融合现实场景的帧,融合现实场景捕获系统和/或与融合现实场景捕获系统相关联的其他服务器侧系统可以将这些帧包括在数据管道中,该数据管道被配置为允许媒体播放器设备在三个维度上基于多个二维(“2D”)视频流从任意且动态可选择虚拟视点渲染融合现实场景的3D空间。例如,可以将诸如本文描述的颜色视频数据流和深度视频数据流之类的2D视频数据流包括在数据管道中(例如,封装成一个或多个传输流)。然而,虽然2D视频数据流可以与相对固定的视点(例如,由融合现实场景捕获系统生成和维持的实体描述数据中表示的多个实体中包括的多个虚拟视点)相关联,但是媒体播放器设备可以允许媒体播放器设备的用户在三个维度上从任意虚拟视点(例如,与2D视频数据流相关联的相对固定的视点不对齐或不相关的非固定视点)体验融合现实场景的3D空间。
结果,媒体播放器设备可以从任意虚拟视点渲染3D空间,而不必流传输表示与3D空间相关联的可变且潜在无限数量的3D模型的3D模型数据。例如,数据管道可以从多个虚拟视点提供表示在3D空间内的所有现实世界对象和虚拟对象的2D视频数据(例如,颜色视频数据流和深度视频数据流),而不是提供表示虚拟3D空间内包括的每个对象的3D模型的数据。这样,可以在融合现实场景的渲染中表示无限数量的对象,而媒体播放器设备不必接收额外的数据或额外的数据量或执行比只用例如一个或两个对象渲染融合现实场景所需的额外渲染工作。
另外,通过生成、维持表示融合现实场景的所有数据并将其提供给媒体播放器设备,而不依赖于已经存储在媒体播放器设备中的预先加载内容,本文描述的系统和方法可以允许3D空间由提供商生成或修改(例如,当在现实世界场景中发生事件时,实时或近乎实时),而不必修改存储在媒体播放器设备上的预先加载数据。结果,负责生成融合现实场景的内容创建者或体验融合现实场景的一个或多个用户可以向融合现实世界场景捕获系统提供修改融合现实场景的各个方面的命令(例如,修改、替换或移除实体(诸如虚拟或现实世界对象)等),并且这些修改可以立即反映在流传输给用户的数据中,从而可以实时或近乎实时地修改融合现实场景。
类似地,可以由与融合现实世界场景捕获系统相关联的强大计算资源来执行可能在计算上昂贵(例如,对于某些媒体播放器设备而言极其昂贵)的各种操作,这种计算资源可以由虚拟现实媒体提供商操作并且可以与相较于例如与用户相关联的媒体播放器设备强大得多的计算资源(例如,大型服务器等)相关联。例如,融合现实世界场景捕获系统可以执行在计算上昂贵的操作,以在融合现实场景中将虚拟对象与现实世界对象集成在一起,相对于融合现实场景内的对象执行物理操作,相对于对象执行人工智能操作,等等。由于这些操作是在服务器侧而不是客户端侧执行的,因此用户操作的媒体播放器设备可能不需要与特别强大的计算资源相关联,从而节省了用户设备资源,最小化了传输带宽,为用户提供了便利(例如,在便携性、冷却等方面),并使各种类型的媒体播放器设备(例如,具有各种形式因子、各种价格点等)能够为用户提供融合现实场景的体验,只要用户具有客户端侧媒体播放器即可。
现在将参考附图更详细地描述各种实施例。所公开的方法和系统可以提供上述益处中的一种或多种和/或将在本文中变得显而易见的各种附加和/或替代性益处。
图1图示了用于至少基于虚拟对象和不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的示例性融合现实世界场景捕获系统100(“系统100”)。如图所示,系统100可以包括但不限于选择性地且通信地彼此耦合的现实世界场景捕获设施102、融合现实实体状态追踪设施104和存储设施106。要认识到,尽管设施102至106在图1中被示为单独的设施,然而,设施102至106可以被组合成更少的设施,诸如被组合成单个设施,或者可以被划分成的更多设施,如可服务于特定实施方式。在一些示例中,设施102至106中的每个可以分布在多个设备和/或多个位置之间,如可服务于特定实施方式。现在将参考本文包括的某些其他附图更详细地描述设施102至106中的每个。
现实世界场景捕获设施102可以包括基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象执行与捕获和获取要用于生成融合现实场景的数据相关联的各种操作的一个或多个物理计算设备(例如,硬件和/或软件组件,诸如处理器、存储器、通信接口、存储在存储器中以供处理器执行的指令等)。具体地,例如,现实世界场景捕获设施102可以从相对于现实世界设置以具有现实世界场景的多个不同有利点的多个三维(3D)捕获设备接收包括第一多个表面数据帧的第一帧集合。
第一多个表面数据帧中的每个表面数据帧可以是在与第一多个表面数据帧中的其他表面数据帧相同的特定时间点处捕获的,并且可以是由多个3D捕获设备中的相应3D捕获设备从多个不同有利点中的相应有利点捕获的。如本文所使用的,当表面数据帧是在足够近的时间被捕获以有效地表示在某个时刻的主体(即,与表示在一段时间范围内的主体相反)(例如,现实世界内场景内的现实世界对象)时,表面数据帧可以称为是“在相同的特定时间点处”被捕获,即使表面数据帧并未在同一瞬时被捕获也是如此。例如,取决于特定主体的动态程度(例如,一个或多个现实世界对象在现实世界场景中移动地有多快等),在表面数据帧是在彼此相差例如数十或数百毫秒内被捕获时,或者在另一合适的时间帧内(例如,在微秒、毫秒、秒等内)被捕获时,可以将表面数据帧视为是在同一特定时间点被捕获,如可服务于特定实施方式。这样,表面数据帧中的每个可以表示在特定时间点处在现实世界场景内包括的现实世界对象的表面从相应3D捕获设备的相应有利点出现时的颜色数据和深度数据。
为了进行说明,图2示出了示例性配置200,在该示例性配置200中,系统100(例如,现实世界场景捕获设施102)与多个3D捕获设备进行互操作以捕获表示包括示例性现实世界对象的示例性现实世界场景的数据。具体地,如图2所示,配置200包括现实世界场景202,该现实世界场景202包括现实世界对象204并且被多个3D捕获设备206(例如,3D捕获设备206-1至206-8)围绕,每个3D捕获设备206均与相应的有利点208(例如,与3D捕获设备206-1相关联的有利点208-1至与3D捕获设备206-8相关联的有利点208-8)相关联。3D捕获设备206可以与系统100通信耦合(例如,如上所述,与系统100内的现实世界场景捕获设施102),该系统可以从3D捕获设备206接收相应的帧集合,每个帧集合包括相应的多个表面数据帧。
如本文中所使用的,“表面数据帧”可以指表示与在特定时间点或与3D空间相关联的另一时间序列中的点处从特定有利点或虚拟视点可见的3D空间内的对象(例如,现实世界对象、虚拟对象等)的表面相关联的各种类型的数据的数据集。例如,表面数据帧可以包括颜色数据(即,图像数据)以及表示相对于3D空间从特定有利点看的对象的深度数据。这样,多个相关的表面数据帧可以被排序在一起以创建场景(例如,虚拟场景、现实世界场景、融合现实场景等)的类似视频的表示(不仅表示颜色数据还表示深度数据),因为可以从特定有利点观看或体验场景。在某些示例中,表面数据帧可以进一步与其他类型的数据相关联,诸如音频数据、元数据(例如,包括与表面数据帧中表示的具体对象有关的信息和/或与场景相关联的有利点有关的信息的元数据)和/或其他类型的数据,如可服务于特定实施方式。与不同有利点相关联的表面数据帧的示例以及相关表面数据帧的序列将在下面描述和说明。
如本文所使用的,“颜色数据”可以广泛地包括任何图像数据、视频数据等,无论是以颜色还是灰度(即,“黑白”)表示,该颜色数据表示主体可以从特定有利点的视角出现在特定时间点或特定时间段内的方式(例如,在虚拟、现实世界或融合现实场景的3D空间内包括的现实世界对象或虚拟对象)。颜色数据不限于可以与本领域中限定图像数据和/或视频数据的各种定义和/或标准相关联的任何特定格式、文件类型、帧速率、分辨率、质量水平或其他特点。类似地,如本文中所使用的,“深度数据”可以包括表示主体在空间中的位置的任何数据。例如,表示现实世界对象或虚拟对象的深度数据可以包括虚拟对象表面上的不同点相对于全局坐标系(例如,与3D空间相关联的现实世界、虚拟或混合现实场景的3D空间相关联的全局坐标系)的坐标。
现在将详细描述配置200的每个元素。
现实世界场景202可以表示任何现实世界风景、现实世界位置、现实世界事件(例如,现场事件等)或现实世界中存在的其他主体(例如,与只能存在于虚拟世界或虚构世界中相反),如可服务于特定实施方式。如图2中表示现实世界场景202的圆圈所示,现实世界场景202可以是具体描绘的区域,诸如舞台、竞技场等。相反,在其他示例中,现实世界场景202可能未很好地定义或描绘。例如,现实世界场景202可以包括任何室内或室外现实世界位置,诸如城市街道、博物馆、风景名胜等等。在某些示例中,现实世界场景202可以与现实世界事件相关联,诸如体育赛事、音乐事件、戏剧或剧场表演、大规模庆祝活动(例如,时代广场上的新年夜、狂欢节(Mardis Gras)等)、政治事件或任何其他现实世界事件。在相同或其他示例中,现实世界场景202可以与在任何其他室内或室外现实世界位置处的小说化场景(例如,一组真人虚拟现实电视节目或电影)和/或任何其他场景的设置相关联,如可服务于特定实施方式。
因此,现实世界对象204可以表示与现实世界场景202相关联(例如,位于现实世界场景202内或周围)并且可以从至少一个有利点208可检测到(例如,可观看到的,等等)的任何现实世界对象,无论是活着的还是无生命的。例如,尽管为了清楚起见,将现实世界对象204绘制为相对简单的几何形状,但是可以理解,现实世界对象204可以表示具有各种复杂程度的各种类型的对象。而不是几何形状,例如,现实世界对象204可以表示任何有生命或无生命的对象或表面,诸如人或另一种生物、不透明的固体、液体或气体、不那么离散的对象(诸如墙壁、天花板、地板)、或本文描述的或可服务于特定实施方式的任何其他类型的对象。
如图所示,现实世界对象204可以包括各种表面,各种表面每个可以反射光(例如,现实世界场景202中的环境光、深度捕获设备发出的结构光图案中的红外光等)以被3D捕获设备206检测。虽然现实世界对象204被描述为相对简单,但是现实世界对象204的表面的深度可能会基于检测到表面的位置206和有利点208而有所不同,如下所述。换句话说,基于观看现实世界对象204的视角(例如,位置、有利点等),现实世界对象204看起来可能不同。
3D捕获设备206每个都可以相对于现实世界场景202固定。例如,现实世界场景202和3D捕获设备206都可以是静态的,或者现实世界场景202和3D捕获设备206可以是一起运动的。在一些示例中,诸如在配置200中所示,3D捕获设备206可以沿着与现实世界场景202相关联的至少两个维度(例如,沿着诸如地面之类的平面)围绕现实世界场景202。在某些示例中,3D捕获设备206可以沿三个维度围绕现实世界场景202(例如,通过在现实世界场景202上方和下方也包括3D捕获设备206)。3D捕获设备的示例将在下面更详细地描述。
可以通过从3D捕获设备206开始的虚线相对于每个3D捕获设备206来说明有利点208。在一些示例中,如在配置200中所示,有利点208可以朝着现实世界场景202分别向内成角度,以便从足够的视角捕获现实世界场景202,以便以后能够从任意虚拟视点渲染现实世界场景202。另外,在相同或其他示例中,有利点208中的一个或多个可以向外成角度(即,远离现实世界场景202)以捕获现实世界场景202等周围的对象。例如,可以将具有球形的、朝外的有利点的360度捕获设备放置在现实世界场景202的中间的位置(未明确示出),以从另外的视角捕获现实世界场景202内包括的对象和/或捕获现实世界场景202之外的设备。另外地或可替代地,在某些示例中,多个朝向外的有利点可允许捕获现实世界现场的全景、广角或360度视图。
在某些示例中,系统100(例如,现实世界场景捕获设施102)可以通过一个或多个网络和/或任何其他合适的通信接口、协议和技术通信地耦合至3D捕获设备206。因此,在这些示例中,现实世界场景捕获设施102可以通过一个或多个网络和/或其他通信接口、协议和技术从3D捕获设备206接收包括第一多个表面数据帧的第一帧集合(以及包括其他多个表面数据帧的其他帧集合,如下所述)。例如,如所示,配置200中的各种箭头表示3D捕获设备206与系统100之间的通信。这些通信可以通过网络(例如,有线或无线局域网、广域网、提供商网络、互联网等)、通过有线通信接口(例如,通用串行总线(“USB”))、通过无线通信接口、或通过可服务于特定实施方式的任何其他通信接口、协议和/或技术来实现。
在其他示例中,多个3D捕获设备可以集成在系统100内或作为系统100的一部分(例如,作为现实世界场景捕获设施102的一部分)被包括。这样,在这些示例中,现实世界场景捕获设施102可以通过使用集成的3D捕获设备206捕获第一帧集合来接收第一帧集合(以及其他帧集合)。
为了说明配置200中的3D捕获设备206如何捕获表示现实世界场景202的表面数据帧(例如,如所上所述,由现实世界场景捕获设施102接收的第一帧集合中的第一多个表面数据帧),图3A示出了3D捕获设备206-1,其捕获图3B和3C中以图形方式描绘的表面数据帧。
如图3A所示(并且类似地在图2中描绘),可以相对于现实世界场景202中的现实世界对象204布置3D捕获设备206-1,以便具有现实世界对象204的有利点208-1。此外,图3A示出了(与图2中示出的其他3D捕获设备206一样)3D捕获设备206-1可包括:2D视频捕获设备302,该2D视频捕获设备302被配置为捕获表示在现实世界场景202内包括的现实世界对象204和/或其他对象的颜色数据(例如,表示全彩或灰度图像的2D视频数据);以及深度捕获设备304,该深度捕获设备304被配置为捕获表示在现实世界场景202内包括的现实世界对象204和/或其他对象的深度数据。
2D视频捕获设备302可以由任何合适的2D视频捕获设备(例如,摄像机等)来实现,并且可以按照可以用于特定实施方式的任何方式来捕获2D视频数据。在一些示例中,2D视频捕获设备302可以是与深度捕获设备304分开的设备。总起来说,这样的分开设备(例如,以及用于从功能上将设备融合在一起的任何通信接口和/或其他硬件或软件机构)可以称为3D捕获设备(例如3D捕获设备206-1)。在其他示例中,如图3A所示,2D视频捕获设备302和深度捕获设备304可以被集成到如将描述的捕获2D视频数据和深度数据两者的单个设备(即,3D捕获设备206-1)中。
无论是实现为分开的设备还是与2D视频捕获设备302集成在一起,深度数据捕获设备306都可以按照可服务于特定实施方式的任何方式捕获表示现实世界场景202的深度数据。例如,深度数据捕获设备306可以采用一种或多种深度图捕获技术,诸如结构化光深度图捕获技术、立体深度图捕获技术、飞行时间深度图捕获技术、另一种合适的深度图捕获技术、或可服务于特定实施方式的深度图捕获技术的任意组合。
不管用于捕获深度数据的深度图捕获技术的类型和数量如何,由3D捕获设备206-1生成的每个表面数据帧都可以包括从有利点208-1表示现实世界对象204的表面的颜色数据和深度数据。同样,其他3D捕获设备206捕获的其他表面数据帧可以类似地包括从与其他3D捕获设备206相关联的每个有利点208表示现实世界对象204的表面的颜色数据和深度数据。
图3B和3C图示表示由3D捕获设备206-1捕获的表面数据帧的数据的示例性图形描绘。具体地,如所示,表面数据帧可以包括至少两个不同的数据集:颜色数据306(在图3B中示出)和深度数据308(在图3C中示出)。
在图3B中,颜色数据306描绘了通过3D捕获设备206-1内的2D视频捕获设备302从有利点208-1的视角观看到的现实世界场景202内的现实世界对象204。因为颜色数据306可以表示一系列视频帧中的单个视频帧,所以由颜色数据306表示的现实世界对象204的描绘可以表示现实世界对象204(例如,以及与现实世界场景202相关联的其他对象)在特定时间点从有利点208-1出现的方式。虽然在图3B中被图示为图像,但是将理解,可以按照任何合适的形式来捕获、编码、格式化、发送和表示颜色数据306。例如,颜色数据306可以是根据标准视频编码协议、标准图像格式等格式化的数字数据。在一些示例中,颜色数据306可以表示现实世界场景202中的对象的颜色图像(例如,类似于颜色照片)。可替代地,在其他示例中,颜色数据306可以是表示对象的灰度图像(例如,类似于黑白照片)。
在图3C中,深度数据308(类似于颜色数据306)还从有利点208-1的视角描绘了现实世界场景202内的现实世界对象204。然而,不是表示现实世界对象204的可见外观(即,以颜色或灰度表示光与现实世界对象204的表面如何交互),深度数据308可以表示现实世界对象204(例如,以及现实世界场景202内的其他对象)表面上的每个点相对于例如3D捕获设备206-1中的深度捕获设备304的深度(即,距离或位置)。与颜色数据306一样,可以按照任何合适的形式来捕获、编码、格式化、发送和表示深度数据308。例如,如所示,深度数据308可以由灰度图像数据表示(例如,针对深度捕获设备304捕获的每个像素,需要六或八个比特)。然而,不是表示光如何从现实世界对象204的表面反射(即,如颜色数据306中所表示),而是深度数据308的灰度图像可以针对图像中的每个像素表示由该像素表示的点离深度捕获设备304有多远。例如,可以用表示较深阴影的灰色的值(例如,在0b111111表示黑色的六比特实施方式的情况下,更接近0b111111的二进制值)来表示更接近深度捕获设备304的点。相反,可以用表示较浅阴影的灰色的值(例如,在0b000000表示白色的六比特实施方式的情况下,更接近0b000000的二进制值)来表示离深度捕获设备304更远的点。
如上所提及的,现实世界场景捕获设施102可以接收(例如,如关于图2和图3A-3C所描述的,从3D捕获设备206接收)包括第一多个表面数据帧的第一帧集合以及包括相应多个其他表面数据帧的一个或多个其他帧集合。为了进行说明,图4示出了示例性的多个帧集合402(例如,帧集合402-1至402-N),每个帧集合包括由3D捕获设备206捕获以从不同有利点208表示现实世界场景202的相应多个示例性表面数据帧。尽管在图4中所示的表面数据帧上的现实世界对象204的描绘可能看起来类似于颜色数据306中的现实世界对象204的描绘,但是应该理解,每个表面数据帧可以包括颜色数据(例如,类似于颜色数据306)、深度数据(例如,类似于深度数据308)、和/或可用于表示在现实世界场景202内包括的现实世界对象204和/或其他对象的表面的任何其他合适数据。
图4还示出了帧序列404(例如,帧序列404-1至404-8),以示出如何由每个单独的3D捕获设备206捕获相应的视频帧序列。具体而言,例如,帧序列404-1可表示由3D捕获设备206-1在顺序时间点捕获的表面数据帧的序列,帧序列404-2可表示由3D捕获设备206-2在相同的顺序时间点捕获的表面数据帧的序列,以此类推。因此,如帧集合402-1和其中描绘的现实世界对象204的不同视角所示,现实世界场景202可以表示为从特定帧集合(例如,帧集合402-1)中包括的不同表面数据帧中的不同有利点208观看。例如,帧集合402-1中包括的第一表面数据帧(即,在顶部示出并且包括在帧序列404-1中的表面数据帧)可以表示从有利点208-捕获的颜色数据和深度数据,帧集合402-1中包括的第二表面数据帧(即,帧序列404-2中包括的表面数据帧)可以表示从有利点208-2捕获的颜色数据和深度数据,以此类推。对于在帧集合402-1之后依次出现的其他帧集合402(即,帧集合402-2至402-N,标记为“402-2...N”)的每个,情况也可能相同。
返回图1,融合现实实体状态追踪设施104可以包括一个或多个物理计算组件(例如,与现实世界场景捕获设施102的硬件和/或软件组件分开的硬件和/或软件组件、或与现实世界场景捕获设施102共享的硬件和/或软件组件),其执行与准备、生成和/或维持实体描述数据相关联的各种操作,这些实体描述数据用于基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景。例如,融合现实实体状态追踪设施104可以基于现实世界场景捕获设施102从多个3D捕获设备(例如,3D捕获设备206)接收到的第一帧集合(例如,帧集合402-1)并且基于现实世界场景捕获设施102接收的且在其他时间点(例如,刚好在捕获第一帧集合之前和/或之后以表示一段时间内的现实世界场景202)捕获的多个其他帧集合(例如,帧集合402-1至402-N)来生成传输流。
如本文中所使用的,“数据流”和“传输流”可以指用于封装数据以便有利于将数据从一个设备或系统发送(即,传输)到另一设备或系统、渲染或处理或分析数据、或出于可服务于特定实施方式的其他目的的数据结构。在一些示例中,如本文中所使用的,“传输流”可以指包括一个或多个其他数据流(诸如一个或多个视频数据流)的单个传输流,和/或可以包括其他数据(诸如元数据等)。例如,由融合现实实体状态追踪设施104生成的传输流可以包括多个3D捕获设备(例如3D捕获设备206)中的每个3D捕获设备的颜色视频数据流和深度视频数据流。换句话说,单个传输流可用于传输所有视频数据流(例如,对于每个3D捕获设备一个颜色视频数据流,对于每个3D捕获设备一个深度视频数据流)、以及任何元数据或在特定实施方式中系统100可以包括进来进行传输的其他合适数据。在其他示例中,如本文中所使用的,“传输流”可以指共同传输所有视频数据流的多个传输流。例如,“传输流”可以指单独的传输流的集合,每个传输流包括不同的特定3D捕获设备的颜色视频数据流和深度视频数据流,或者每个传输流包括可服务于特定实施方式的多个颜色和/或深度视频数据流。
为了进行说明,图5示出了示例性颜色视频数据流500-1-C和示例性深度视频数据流500-1-D,两者均基于由特定3D捕获设备206捕获的表面数据帧以从特定有利点208表示现实世界场景202。具体来说,如图所示,颜色视频数据流500-1-C可以包括在帧序列404-1内包括的表面数据帧的颜色数据部分(标记为帧序列404-1-C以指示帧序列的颜色(‘C’)部分,与帧序列的深度部分相反),而深度视频数据流500-1-D可以包括在帧序列404-1内包括的表面数据帧的深度数据部分(标记为帧序列404-1-D以指示帧序列的深度(‘D’)部分,与帧序列的颜色部分相反)。
颜色视频数据流500-1-C被如此标记以指示视频数据流与现实世界场景202上的第一(‘1’)视角相关联(即,与3D捕获设备206-1、有利点208-1、帧序列404-1等相关联),并且与颜色(‘C’)数据而不是深度数据相关联。类似地,深度视频数据流500-1-D被如此标记以指示视频数据流也与现实世界场景202上的第一(‘1’)视角关联,但与深度(‘D’)数据而不是颜色数据相关联。应理解的是,可以按照类似的方式标记和引用附加视频数据流500(即,在其他图中示出的视频数据流500,但本文中在图5中未示出)。可以使用可服务于特定实施方式的任何协议、格式等来生成、存储、发送和/或实施视频数据流500(例如,视频数据流500-1-C、500-1-D、和本文所指的其他视频数据流500)。例如,在某些实施方式中,可以使用图块映射或纹理图集技术将来自帧序列404-1-C和404-1-D的颜色和深度数据(例如,以及来自一个或多个附加帧序列的颜色和/或深度数据)表示在单个视频数据流的每个帧的单独部分(例如,单独的图块、图元等)内。
图6图示示例性传输流600,其包括颜色视频数据流500-1-C和深度视频数据流500-1-D以及其他颜色视频数据流和深度视频数据流。具体地,如图所示,图6图示单个传输流600,其包括与图2所示的3D捕获设备206和有利点208都相关联的颜色视频数据流(即,颜色视频数据流500-1-C至500-8-C)、以及与3D捕获设备和有利点的每个都相关联的深度视频数据流(即,深度视频数据流500-1-D至500-8-D)。在其他示例中,可以使用可服务于特定实施方式的其他协议、格式等来生成、存储、发送和/或实施传输流600。例如,如上所提及的,可以使用图块映射技术等将来自各种帧序列的数据分组成一个视频数据流(或分组成具有比图6所示的视频数据流少的多个视频数据流),或单独的传输流可用于包含颜色和深度视频数据流的每个集合(例如,一个传输流包含视频数据流500-1-C和500-1-D,另一传输流包含视频数据流500-2-C和500-2-D,以此类推)。
返回图1,基于融合现实实体状态追踪设施104生成的传输流(例如,传输流600内包括的颜色、深度和其他数据),融合现实实体状态追踪设施104可以生成表示在融合现实场景的3D空间内包括的多个实体的实体描述数据。融合现实实体状态追踪设施104可以以任何合适的方式生成实体描述数据。例如,融合现实实体状态追踪设施104可以创建、更新、接收、追踪、维持、分析、组织和/或处理表示融合现实场景的多个实体的实体描述数据。如将在下面更详细描述的,融合现实实体状态追踪设施104还可以接收修改实体描述数据(例如,通过添加、移除、替换、移动、旋转、放大或修改实体)的命令,并可以通过修改实体描述数据来实现该命令。融合现实实体状态追踪设施104可以通过与存储设施106进行互操作以进一步生成数据,以存储和维持对所生成的表示对每个实体的动态改变的数据的更新。
如本文中所使用,为其生成有实体描述数据的“实体”可以指可以与虚拟3D空间(例如,融合现实场景的3D空间)相关联的任何现实世界物品或虚拟物品。例如,在融合现实实体状态追踪设施104为其生成数据的实体之中,融合现实场景的3D空间可以包括:虚拟实体,诸如一个或多个虚拟对象和/或进入3D空间中的多个虚拟视点(例如,这可能类似于以特定方式相对于3D空间定位和成角度的虚拟捕获设备,以便从各种不同的视角捕获3D空间);如上所述3D捕获设备为其捕获数据的现实世界实体(例如,3D捕获设备206为其捕获数据的现实世界对象204);和/或可以服务于特定实施方式的任何其他现实世界实体或虚拟实体。
如将在下面更详细地描述的,可以按照可服务于特定实施方式的任何方式在实体描述数据中限定3D空间内包括的为其生成有实体描述数据的每个实体。例如,实体描述数据本身(例如,如下所述,可以存储在存储设施106中)可以包括限定3D空间内特定实体的状态的数据,诸如与实体在3D空间内的位置相关联的坐标信息、与实体在3D空间内的方位相关联的方位信息、与使实体在3D空间内出现多大相关联的大小信息等。然而,在一些示例中,与特定实体相关联的某些信息(例如,表示3D模型、纹理等的二进制信息)可能不会直接保留为实体描述数据的一部分,而是可能会在其他位置保留并链接到实体描述数据。
例如,融合现实实体状态追踪设施104为其生成实体描述数据的多个实体可以包括通过到虚拟对象的表面的颜色数据和深度数据的链接而至少部分地限定在实体描述数据中的虚拟对象,虚拟对象的表面的颜色数据和深度数据存储在通信地耦合至系统100和/或集成在系统100内的资产存储系统内。多个实体还可包括:例如,上述3D捕获设备206捕获的现实世界对象204。这样,现实世界对象204可以通过到在传输流中包括的颜色视频数据流和深度视频数据流(例如,在传输流600内包括的颜色视频数据流500-1-C至500-8-C和深度视频数据流500-1-D至500-8-D)内包括的现实世界对象204的表面的颜色数据和深度数据的链接至少部分地限定在实体描述数据中。此外,多个实体可以包括进入3D空间的多个虚拟视点,将从多个虚拟视点渲染包括第二多个表面数据帧的第二帧集合。例如,与在第一帧集合(即,帧集合402-1)和上述其他帧集合(即,帧集合402-2至402-N)内包括的表示在现实世界场景202中的现实世界对象204的颜色和深度数据的表面数据帧相反,可以渲染在第二帧集合中包括的第二多个表面数据帧,以表示在融合现实场景的3D空间内包括的现实世界对象204和一个或多个虚拟对象两者的表面的颜色数据和深度数据。表示现实世界对象和虚拟对象两者的第二帧集合和附加帧集合将在下面更详细地说明和描述。
在一些示例中,系统100(例如,系统100的融合现实实体状态追踪设施104或另一设施)可以生成表示至少一个实体的状态的实体描述帧。例如,系统100可以基于表示由融合现实实体状态追踪设施104生成的多个实体的实体描述数据来生成实体描述帧。实体描述帧可以表示一个或几个实体,或者,在一些示例中,可以表示在时间序列中的特定点处(例如,实时的特定时刻、表示在虚拟时间线上与实时无关的时刻的特定点,等等)在融合现实场景的3D空间内的多个实体中的所有现实世界实体和虚拟实体。
如本文中所使用,“实体描述帧”可以指描述在融合现实场景的3D空间中包括的一个或多个实体的状态的数据集(例如,包括用诸如Java Script Object Notation(“JSON”)之类的语言表示的对象描述数据)。例如,实体描述帧可以包括描述在时间序列中的特定点处在3D空间中包括的多个实体中的每个实体的数据。例如,实体描述帧可以包括状态数据(诸如上述的坐标信息、方位信息、大小信息和其他类型的状态数据)以及每个实体的一个或多个移动向量、每个实体的各种表面的颜色和/或纹理、和/或可服务于特定实施方式的用于描述在时间序列中特定点处的特定实体的任何其他状态数据。在一些示例中,实体描述帧可以包括如上所述的在实体描述数据中包括的链接(例如,到虚拟对象的资产存储系统、到现实世界对象的传输流等的链接)。示例性实体描述帧将在下面更详细地描述和说明。
一旦系统100已经生成了实体描述帧,系统100便可将实体描述帧提供给与内容提供商系统(例如,合并了系统100、3D渲染引擎、以及此处描述的其他服务器侧系统和组件的虚拟现实媒体内容系统)相关联的多个服务器侧3D渲染引擎。如本文中所使用的,“服务器侧”可以指服务器-客户端交易的服务器侧(例如,提供商侧),诸如内容提供商系统向最终用户使用的客户端设备提供内容(例如,虚拟现实媒体内容)的交易。例如,如下面将更详细描述的,虚拟现实媒体内容提供商系统可以将虚拟现实媒体内容提供给与用户相关联的媒体播放器设备。这样,服务器侧系统和组件可以指与内容提供商系统相关联(例如,包括在其中、由其实现、与其互操作等)以向媒体播放器设备(例如通过网络)提供数据(例如,虚拟现实媒体内容)的系统和组件。相反,“客户端侧”设备可以与网络另一侧上的用户使用的客户端设备(例如,媒体播放器设备)相关联,并且可以包括有助于客户端设备从内容提供商系统(例如,用户在网络的用户侧上操作的媒体播放器设备和/或其他计算机组件)接收数据的设备。
因此,如下面将说明和描述的,可以通过硬件和/或软件资源在网络的服务器侧(即,与系统100和/或内容提供商系统的其他元件相关联)上实现3D渲染引擎,该硬件和/或软件资源可以与系统100的硬件和/或软件资源集成在一起或与之分离并通信耦合。3D渲染引擎可以分别与进入3D空间中的多个虚拟视点中的不同虚拟视点相关联,并且可以被配置为渲染(例如,每个基于系统100提供的相同实体描述帧)在第二帧集合(即,表示融合现实场景的3D空间的现实世界对象和虚拟对象两者的第二帧集合)中的第二多个表面数据帧中包括的不同相应表面数据帧。
在特定实施方式中,存储设施106可以存储和/或维持由设施102或104接收、生成、管理、追踪、维持、使用和/或发送的任何合适的数据。例如,如图所示,存储设施106可以包括:现实世界对象数据108,其可以包括与在融合现实场景的3D空间内包括的一个或多个现实世界对象(例如,现实世界对象204)相关联的数据(例如,捕获的颜色和/或深度数据、状态数据、实体描述数据等);以及虚拟实体数据110,其可以包括与一个或多个虚拟对象或进入3D空间中的虚拟视点相关联的数据(例如,颜色和/或深度数据、状态数据、实体描述数据等)。另外,存储设施106可包括与在融合现实场景的3D空间内包括的其他类型的实体相关联的数据、用于执行本文描述的操作的指令(例如,编程指令)、和/或适合于由设施102和104用来执行本文描述的操作的任何其他数据。例如,存储设施106可以进一步包括与表面数据帧、实体描述帧等相关联的数据(例如,对象描述数据、颜色数据、深度数据、音频数据、元数据等)。存储设施106还可以维持如可服务于特定实施方式的另外的或替代的数据。
在一些示例中,当在现实世界场景内发生事件时,系统100可以实时或近乎实时地执行本文描述的一个或多个操作。因此,在其他系统也实时运行的虚拟现实媒体内容提供商流水线中使用了系统100的实施方式中,可以将虚拟现实媒体内容(例如,包括由系统100实时生成的虚拟化表面数据帧序列的虚拟现实媒体内容)提供给媒体播放器设备,使得可能在物理上不靠近现实世界场景但却可能希望体验现实世界场景(例如,现实世界场景中发生的事件)的媒体播放器设备的相应用户可以使用他们的各自媒体播放器设备虚拟地体验现实世界场景以及其中现象发生的事件(例如,当事件发生时,实时地或近乎实时地体验)。尽管数据处理和数据分发可能会需要有限的时间,使得用户可能无法在现实世界场景中发生事件时恰好体验到现实世界场景,然而,如本文所使用的,当立即且没有不必要的延迟地执行操作时,被认为是“实时”或“近乎实时”地执行操作。因此,即使用户在延迟之后(例如,实际发生几秒钟或几分钟之后)体验到现实世界场景内的特定事件,也可以说用户实时体验了现实世界场景。
在某些示例中,系统100可以与各种其他服务器侧系统(例如,3D捕获设备、场景控制系统、资产存储系统、视频数据封装系统、3D渲染引擎等)相关联,这些服务器侧系统被一起包括在内容提供商系统(例如,虚拟现实媒体内容提供商系统)内的各种配置,以便基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景,并提供要呈现给用户的表示融合现实场景的数据(例如,作为虚拟现实媒体内容的一部分),以允许用户体验融合现实场景。
在一些实施方式中,要理解,这些其他服务器侧系统中的一个或多个可以与系统100集成在一起(例如,被包括在系统100中)或者与系统100紧密相关联(例如,通信地耦合至系统100、由系统100或相关的虚拟现实媒体提供商实体操作,等等)。例如,在特定实施方式中,系统100可以包括:多个3D捕获设备,其相对于现实世界场景布置以具有该现实世界场景的多个不同有利点,通过该多个3D捕获设备捕获表示在现实世界场景内包括的现实世界对象的数据;资产存储系统,其存储表示虚拟对象的表面的颜色数据和深度数据;多个服务器侧3D渲染引擎,其通信地耦合至资产存储系统;以及实体状态追踪系统,其通信地耦合至多个3D捕获设备、资产存储系统、和/或多个服务器侧3D渲染引擎。实体状态追踪系统可以被配置为执行上面关于设施102至106描述的一种或多种操作。在其他实施方式中,系统100可以被实现为分开的独立式系统,其不与这些其他服务器侧系统集成在一起,然而,相反,通信地耦合至其他服务器侧系统和/或被配置为与其他服务器侧系统进行互操作,如可服务于特定实施方式。
作为说明,图7示出了示例性配置700,在该示例性配置700中,系统100有助于基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景。如图7所示,系统100的实施方式可通信地耦合至多个场景控制系统702(例如,场景控制系统702-1至702-M)以及多个服务器侧3D渲染引擎704(例如,3D渲染引擎704-1至704-N)。例如,系统100可以通过一个或多个网络(例如,包括本文描述的任何网络或网络技术)或通过其他通信模式耦合至场景控制系统702和/或3D渲染引擎704,如可服务于特定实施方式。如配置700所示,执行上面关于设施102至106描述的操作的实体状态追踪系统可以由系统100来实施。如上面所提及的,在其他实施方式中,系统100可以体现被配置为执行这些操作的实体追踪系统以及在配置700中说明的其他系统和设备中的一个或多个。
基于表示多个实体的实体描述数据(例如,表示虚拟对象、现实世界对象、多个虚拟视点、以及系统100为其生成有实体描述数据的其他实体的数据,如上所述),系统100可以在时间序列的特定点处生成表示在融合现实空间的3D空间内包括的多个实体中的至少一个实体的状态的实体描述帧。系统100还可以(例如,经由与3D渲染引擎704的通信连接)将生成的实体描述帧作为实体描述帧706提供给3D渲染引擎704。基于实体描述帧706以及从资产存储系统708(可以与3D渲染引擎704通信耦合)和传输流600(可以存储在系统100或另一个合适的系统的存储设施中)请求和接收的数据,3D渲染引擎704可以渲染多个表面数据帧710-1至710-N。具体地,表面数据帧710-1至710-N可以实现包括上面称为的第二多个表面数据帧的第二帧集合,并且在下文中可以统称为帧集合710。这样,帧集合710中的表面数据帧710-1至701-N可以表示虚拟对象(例如,以下关于图8描述的虚拟对象804)和现实世界对象(例如,现实世界对象204)两者的表面的颜色数据和深度数据,并且可以将其提供给视频数据封装系统712。上面已经详细描述了系统100和传输流600。现在将更详细地描述配置700中示出的其他系统和项中的每个。
场景控制系统702可以表示被配置为请求和/或实现对在融合现实场景的3D空间中包括的一个或多个实体(例如,由系统100生成有数据的实体)的改变的任何计算系统。例如,一个或多个场景控制系统702(例如,场景控制系统702-1)可以与内容创建者相关联(例如,由其生成、由其操作,等等),该内容创建者负责最初生成表示在融合现实场景的3D空间中包括的实体的数据。另外,在某些实施方式中,一个或多个其他场景控制系统702(例如,场景控制系统702-2)可以与正在体验融合现实场景的3D空间的最终用户相关联。例如,场景控制系统702-2可以由当前渲染实体的媒体播放器设备来实现,以允许媒体播放器设备的用户体验融合现实场景的3D空间内的实体并与之交互。
因为系统100可以生成表示3D空间内包括的所有现实世界实体和虚拟实体的一个统一的数据集(例如,与表示每个场景控制系统702的实体的单独数据集相反),所以当场景控制系统702的每个进行这样的修改时,对实体的修改可以反映在统一的数据集中。因此,多个用户(即,与不同场景控制系统702相关联的不同用户)都可以对相同的融合现实场景的相同3D空间进行修改。结果,所有场景控制系统702所做的修改可以反映在系统100输出的实体描述帧(例如,实体描述帧706)中,并且又可以反映在3D渲染引擎704所渲染的每个表面数据帧中(例如,帧集合710中包括的表面数据帧710-1至710-N)。
为了示出场景控制系统702可以如何修改在3D空间中的实体,图8示出了包括多个实体的示例性融合现实场景800。如图所示,融合现实场景800与3D空间802相关联,该3D空间802包括现实世界对象204(如上所述)以及虚拟对象804。对象204和804被多个虚拟视点806(例如,虚拟视点806-1至806-8)围绕。
与上述现实世界场景202一样,融合现实场景800可以表示包括融合现实元素的任何合适的大小、形状或类型的场景(即,包括至少一个虚拟对象和至少一个现实世界对象表示的场景)。例如,如图8中的3D空间802的圆形所示,3D空间802可以表示具体描绘的区域,诸如舞台、竞技场等。相反,在其他示例中,可能未很好地限定或描绘3D空间802。例如,3D空间802可以基于现实世界(例如,现实世界场景、事件、风景、结构等)或者基于虚构世界或其他虚拟世界、事件、风景、结构等来表示任何室内或室外位置。
如上所述,现实世界对象204可以表示从现实世界场景(例如,现实世界场景202)捕获并投影到融合现实场景800的3D空间802中的任何对象。类似地,虚拟对象804可以表示与现实世界对象204一起投影到3D空间802中以生成融合现实场景800的虚拟对象。这样,虚拟对象804可以是从至少一个虚拟视点806可检测到的(例如,可见的,等等)的任何虚拟对象,无论是活着的还是无生命的。与现实世界对象204一样,尽管为清楚起见将虚拟对象804绘制为相对简单的几何形状,但应理解,虚拟对象804可以表示具有各种复杂程度的各种类型的对象。而不是几何形状,例如,虚拟对象804可以表示任何有生命或无生命的对象或表面,诸如人或另一种生物、不透明的固体、液体或气体、不太离散的对象(诸如墙壁、天花板、地板)、或本文描述的或可服务于特定实施方式的任何其他类型的对象。同样类似于现实世界对象204,虚拟对象804可以包括各种表面,使得当从每个不同的虚拟视点806观看时,虚拟对象804看起来可能不同,如下所述。
在融合现实场景800内还示出了进入3D空间802的虚拟视点806。如本文中所使用的,“进入”3D空间中的虚拟视点可以指相对于3D空间按照任何合适的方式定位、成角度、定向等的虚拟视点。例如,进入3D空间中的虚拟视点可以是在3D空间内包括的虚拟视点、位于3D空间外部且是透视的能看进3D空间的虚拟视点、与其他虚拟视点一起围绕3D空间的虚拟视点、和/或按照任何合适的方式与3D空间相关联以提供3D空间的至少某些部分的视图的虚拟视点。
如本文中所使用的,诸如虚拟视点806之类的“虚拟视点”可以类似于关于捕获现实世界场景的3D捕获设备所描述的“有利点”(诸如,上面关于图2描述的捕获现实世界场景202的3D捕获设备206的有利点208),但仍然与其所不同。具体而言,在如下意义上虚拟视点可以类似于有利点:两者均与观看某种类型的场景或3D空间的特定位置、角度和/或视角相关联。这样,虚拟视点可被认为是类似于本文描述的现实、物理3D捕获设备的虚拟3D捕获设备。然而,尽管有利点可能与布置在现实世界位置处的物理3D捕获设备相关,但虚拟视点可能仅作为虚拟概念存在。
例如,在融合现实场景的3D空间基于现实世界场景的示例中,虚拟视点可以与同现实世界场景相关联的虚拟位置(例如,诸如从中捕获现实世界场景的有利点的位置这样的虚拟位置)相关。然而,无论3D空间基于现实世界场景还是虚拟场景,虚拟视点都可能仅是虚拟的,因此可能不一定对应于布置在现实世界位置处的任何物理3D捕获设备。结果,现实世界场景的多个不同有利点(例如,现实世界场景202的有利点208)的第一空间配置可以独立于进入融合现实场景的3D空间的多个虚拟视点(例如,进入3D空间802的虚拟视点806)的第二空间配置。例如,即使3D空间802基于已由布置在有利点208处的3D捕获设备206捕获的现实世界场景202,在某些示例中,虚拟视点806也不一定必须与有利点208对齐,而是可以独立于有利点208(即,位于不同的相应位置和/或在场景上与有利点208具有不同的相应角度和视角)。在其他示例中,虚拟视点806可以与相应有利点208对齐和/或相关(例如,依赖于相应有利点208)。
如图所示,在图8中,可以用相对于3D空间802布置在特定位置处的标记圆来表示每个虚拟视点806。利用从其开始的虚线描绘每个虚拟视点,以说明与虚拟视点806相关联的视野。与虚拟视点806相关联的位置可以相对于3D空间802是固定的,尽管如下所述,也可以通过场景控制系统702中的一个修改该固定位置。另外,在一些示例中,将理解3D空间802和虚拟视点806可能正在融合现实场景800中一起移动(例如,像太空飞船、热气球之类的车辆3D空间)。如所示,在一些示例中,布置虚拟视点806的固定位置可以沿着与3D空间802相关联的至少两个维度(例如,沿着诸如地面的平面)围绕3D空间802。在其他示例中,位置806可以沿着三个维度进一步围绕3D空间802(例如,通过还包括在802上方和下方的位置806)。
虽然图8中示出的每个虚拟视点806朝着3D空间802向内成角度以便从各种角度捕获3D空间802,使得以后能够从任意虚拟视点渲染3D空间802,但要理解,在某些示例中,一个或多个虚拟视点806可以向外成角度(即,远离3D空间802)以获得对围绕3D空间802的对象的视角。例如,可以将360度虚拟视点定位在3D空间802的中间(未明确示出)以提供表示从另外的视角看到的在3D空间802内包括的现实世界和/或虚拟对象的数据和/或表示在3D空间802外部的虚拟对象的数据。
图8进一步图示可以对融合现实场景800进行的示例性修改。在一些示例中,系统100可以接收修改表示多个实体的实体描述数据(即,表示3D空间802中包括的现实世界对象204、虚拟对象804、虚拟视点806、和/或任何其他实体的数据)的命令,并且响应于接收到该命令,可以根据该命令来修改表示多个实体的实体描述数据。例如,该命令可以由场景控制系统702中的任何一个使用描述要进行的修改的JSON代码或另一合适的对象描述代码来发送(例如,通过网络套接字或另一种合适类型的通信)。
可以按照任何合适的方式来修改在融合现实场景800中包括的实体,这可以部分地由要修改的实体的类型来确定。例如,如果要修改的实体是虚拟对象,则根据命令对表示多个实体的实体描述数据的修改可以包括将附加虚拟对象添加到多个实体。另外地或可替代地,该修改可以包括:利用附加虚拟对象替换在多个实体中包括的虚拟对象;从多个实体中移除虚拟对象;修改在多个实体中包括的虚拟对象的至少一个属性;和/或相对于其他实体和/或相对于融合现实场景的3D空间修改虚拟对象。
如果被修改的实体是现实世界对象(例如,现实世界对象204),则可以按照与上述针对虚拟对象相同或相似的方式来执行实体描述数据的修改。然而,要理解,由于捕获与现实世界场景相关联的数据的方式,整个现实世界场景(例如,包括各种不同的现实世界对象)可以被视为单个现实世界对象,除非将现实世界场景中的一个现实世界对象与另一个现实世界对象区分开来的元数据与捕获到的表示现实世界场景的数据相关联。例如,系统100可被配置为接收与第一帧集合(例如,表示现实世界场景202内的对象的帧集合402-1)相关联的元数据,该元数据将现实世界对象204的表面的颜色数据和深度数据与表示在相同特定时间点处在现实世界场景202内包括的其他附加现实世界对象的其他表面的其他颜色数据和其他深度数据区分开来(即,在图2或图8中未明确示出的在现实世界场景202内包括的现实世界对象)。这样,在融合现实场景800的3D空间802内包括的为其生成有实体描述数据的多个实体可以进一步包括一个或多个其他附加现实世界对象。附加现实世界对象可以通过到表示在颜色视频数据流和深度视频数据流(即,传输流600内的颜色视频数据流500-1-C和深度视频数据流500-1-D)内包括的附加现实世界对象的其他表面的其他颜色数据和其他深度数据的链接至少部分地限定在实体描述数据中。另外,到现实世界对象204的表面的颜色数据和深度数据的链接以及到表示附加现实世界对象的其他表面的其他颜色数据和其他深度数据的链接可以基于将现实世界对象204的表面的颜色数据和深度数据与表示附加现实世界对象的其他表面的其他颜色数据和其他深度数据区分开来的元数据。
如果被修改的实体是虚拟视点(例如,其中一个虚拟视点806),则根据命令对表示多个实体的实体描述数据的修改可以包括将附加虚拟视点添加到多个实体。另外地或可替代地,该修改可以包括:修改在多个实体内包括的多个虚拟视点中的至少一个、从多个实体中去除多个虚拟视点中的至少一个,等等。例如,可以改变或转动与虚拟视点806中的一个(例如,虚拟视点806-1)相关联的视野以获得对3D空间802的不同角度的视角。在其他示例中,虚拟视点806可以是向内或向外移动(例如,以产生相对于3D空间802内的特定虚拟对象的放大或缩小效果)、从多个虚拟视点806移除、或修改。作为另一示例,可以将附加虚拟视点添加到多个虚拟视点806,以获得对对象204和/或804的另一视角(例如,未被虚拟视点806-1至806-8中的一个虚拟视点很好地覆盖的视角)。
如上所述,在一些示例中,可以基于来自场景控制系统702中的一个修改虚拟对象的直接命令来修改(例如,相对于3D空间802移动和/或旋转)诸如虚拟对象804的虚拟对象。然而,在其他示例中,可以基于与3D空间802内包括的其他实体的交互自动地修改虚拟对象(即,以相同或不同的方式修改但不基于来自场景控制系统702的显式命令)。更具体地,例如,系统100生成表示多个实体的实体描述数据可以包括:在对象之间(例如,在虚拟对象之间、在有区别的现实世界对象之间、在虚拟对象和现实世界对象之间,等等)创建虚拟交互。例如,系统100可以在虚拟对象804和现实世界对象204之间创建(例如,生成、追踪、模拟等)虚拟交互,并且该虚拟交互可以基于基于物理的对象行为和基于AI的对象行为中的至少一种。
例如,在图8中图示基于物理的对象行为808。系统100可以确定虚拟对象804和现实世界对象204每个表示不能存在于相同虚拟空间中的实体虚拟对象。因此,如基于物理的对象行为808所图示,可以根据物理规则来修改虚拟对象804的位置和方位属性,使得虚拟对象804好像能与现实世界对象204交互(例如,撞上、“碰”上,等等)。其他基于物理的对象行为可以模仿限定对象相互交互以及与物理力和原理(例如,重力、动量、摩擦、浮力、光反射等)交互的方式的其他物理规则(例如,现实世界物理或仅适用于虚拟世界的虚构物理)。这些基于物理的对象行为还可以由系统100应用于表示3D空间802内包括的多个实体的实体描述数据。此外,基于Al的对象行为还可以帮助限定现实世界和/或虚拟对象相互交互以及与对象所放置的环境交互的方式。例如,基于Al的对象行为可能特别适用于表示生物(例如,化身、人、动物等)的实体,这些生物可以使用人工智能做出“选择”,诸如在3D空间802中行走的位置、与谁交谈以及说些什么、何时逃离危险,等等。
返回图7,系统100生成表示在时间序列(例如,实时序列、与虚拟世界中的时间相关联的虚拟时间线等)的特定点处多个实体中的实体的状态的实体描述帧。例如,如所示,系统100可以生成特定的实体描述帧(即,实体描述帧706),并且可以将实体描述帧706提供给3D渲染引擎704中的每个。3D渲染引擎704可以是服务器侧3D渲染引擎(例如,跨网络和/或与客户端侧设备(诸如用户使用的媒体播放器设备)分开的3D渲染引擎。在某些示例中,3D渲染引擎704可以由单独的设备(例如,单独的服务器、服务器内的单独处理器等)或单独的软件过程(例如,单独的指令线程等)来实现,而在其他示例中,3D渲染引擎704可以被一起集成到通用硬件和/或软件设备或过程中,如可服务于特定实施方式。在一些实施方式中,3D渲染引擎可以与诸如系统100的融合现实世界场景捕获系统联合操作甚至完全集成到其中,而在其他实施方式中,3D渲染引擎可以单独地(例如,通过提供基于云的不同处理服务等的不同实体)操作。
提供给3D渲染引擎704的某些实体描述帧可以是关键描述帧,该关键描述帧包括表示在时间序列的特定点处与融合现实场景(即,融合现实场景800)相关联的所有实体的状态数据,而其他实体描述帧可以是更新描述帧,该更新描述帧表示自生成自上一个关键描述帧以来已被修改的、与融合现实场景相关联的那些实体的状态(例如,在时间序列中的特定点),该上一个关键描述帧表示在时间序列中的上一个点处所有实体的状态。
通过说明,图9示出了可以由系统100生成的多个示例性实体描述帧900(例如,实体描述帧900-1至900-12)。如从一个实体描述帧900指向另一个的箭头所指示,可以按照从实体描述帧900-1开始并进行到实体描述帧900-12的时间序列来对实体描述帧900进行排序,之后,该时间序列可以进行到图9中未明确示出的附加实体描述帧900。沿着每个实体描述帧900的底部,指示实体描述帧的类型(例如,关键描述帧或更新描述帧)。具体地,实体描述帧900-1、900-5和900-9被指示为关键描述帧,而实体描述帧900-2至900-4、900-6至900-8和900-10至900-12被指示为更新描述帧。
因此,在该示例中,每个关键描述帧在时间序列中后面跟有若干个(例如,三个)更新描述帧,更新描述帧在时间序列中后面又跟有另一关键描述帧。然而,要理解的是,图9中所示的关键描述帧和更新描述帧的布置仅是示例性的,并且关键描述帧和更新描述帧的布置可以按照任何方式来实现,如可服务于特定实施方式。例如,可以通过相对较少的关键描述帧和随后相对大量的更新描述帧来表示不是特别动态的(即,不受对实体的大量修改影响的)融合现实场景。相反,可以通过较大比例的关键描述帧(最多达到仅包括关键描述帧)和较小比例的更新描述帧(最少达到不包括更新描述帧)来表示更动态的融合现实场景。
如图9进一步所示,每个实体描述帧900可以包括或由实体描述代码(例如,JSON代码、XML代码、或适合于描述与由系统100为其生成有实体描述数据的实体相关联的状态数据的另一种类型的代码)来实现,并且可以与指示相应实体描述帧900在时间序列上相对于其他实体描述帧900的位置的序列号(例如,标识号或“ID”)相关联。例如,如所示,实体描述帧900-1可以具有为整数的序列号(即“1.0”),以指示实体描述帧900-1是关键描述帧并指示该帧相对于其他关键描述帧的相对位置(例如,“1.0”位于“2.0”之前)。然后,实体描述帧900-2至900-4可以每个与以1开头的序列号相关联(即,指示这些帧是对关键描述帧1.0的更新),并包括子标识符(即“.1”、“2”和“.3”)以指示更新描述帧在时间序列中相对于其他更新描述帧的相对位置(例如,“1.1”位于“1.2之前””)。该实体描述帧编号方案仅是示例性的,并且可以采用任何合适的帧编号方案,如可服务于特定实施方式。
返回图7,无论实体描述帧706是关键描述帧(例如,诸如实体描述帧900-1、900-5或900-9)还是更新描述帧(例如,诸如图9中的其他实体描述帧900),包括实体描述帧706的实体描述帧序列可以提供3D渲染引擎704渲染表面数据帧所需的所有信息,这些表面数据帧描绘了从相应虚拟视点看到的融合现实场景800的3D空间802,每个3D渲染引擎704与相应虚拟视点相关联。这样,可能不需要3D渲染引擎704按顺序接收或处理实体描述帧。而是,3D渲染引擎704可以按照对于特定3D渲染引擎704方便或有效的任何顺序渲染相应的表面数据帧710(例如,可以每个从序列中的单个实体描述帧生成),并且稍后可以将表面数据帧710重新排序并同步(例如,通过视频数据封装系统712)。
如上所提及的,可以将表示虚拟对象的某些详细信息(例如,表示虚拟对象几何形状、纹理等的二进制数据)存储在资产存储系统708中(例如,而不是明确地包括在实体描述帧中706),并且可以通过到在实体描述帧706内包括的数据的链接进行访问。资产存储系统708可以由与系统100和/或3D渲染引擎704分离的单独设备(例如,单独的服务器、单独的处理器、和服务器内的存储设施等)来实现,通过单独的软件过程(例如,单独的指令线程等)来实现,或者可以与系统100和/或3D渲染引擎704一起集成到通用硬件和/或软件设备或过程中,如可服务于特定实施方式。在一些实施方式中,资产存储系统708可以与诸如系统100的融合现实世界场景捕获系统联合操作甚至完全集成到其中,而在其他实施方式中,资产存储系统708可以单独地(例如,通过提供基于云的不同处理服务等的不同实体)操作。
类似地,在某些示例中,生成表示现实世界对象的实体描述数据可以包括:生成在现实世界场景202内包括的现实世界对象204的3D表示,并且生成到现实世界对象204的表面的颜色数据和深度数据的链接,该链接作为指向现实世界对象的3D表示的指针至少部分地在由系统100生成的实体描述数据中限定现实世界对象。例如,系统100可以通过渲染(例如,以类似于用户所使用的媒体播放器设备的渲染方式)基于第一帧集合且基于多个其他帧集合生成的颜色视频数据流和深度视频数据流来生成现实世界对象204的3D表示(即,基于帧集合402-1至402-N并存储在传输流600中的视频数据流500-1至500-8)。系统100然后可以生成到颜色数据和深度数据的链接(即,指向可以在系统100内或在另一个合适的服务器侧系统内维持的传输流600内的数据的指针),并将链接包括在实体描述帧内706。
因此,实体描述帧706可以包括表示实体的状态信息以及指向详细信息的链接,该详细信息存储在其他位置(例如,对于虚拟对象而言,存储在资产存储系统708中,对于现实世界对象而言,存储在传输流600中)且可以在需要的时候由每个3D渲染引擎704基于实体描述帧706中的链接访问。要注意的是,尽管可以分别维持详细信息(例如,对于现实世界对象数据而言,维持在传输流600内,而对于虚拟对象数据而言,维持在资产存储系统708内),但是系统100、实体描述帧706、3D渲染引擎704和/或配置700中所示的其他系统可以按照类似的方式处理(例如,渲染、表示等)现实世界对象和虚拟对象。例如,在一些示例中,配置700的某些元件(例如,视频数据封装系统712)甚至可能不需要或者不能够在诸如现实世界对象204的现实世界对象与诸如虚拟对象804的虚拟对象之间进行区分。在其他示例中,所考虑的现实对象与虚拟对象之间可能会有区别。例如,尽管虚拟对象的模型可以是相对静态的,但是表示现实世界对象的数据可以随时间动态变化,从而要求3D渲染引擎704访问与特定时刻相关联的数据。
在任何情况下,在实体描述帧706中包括的数据与使用实体描述帧706中提供的链接从资产存储系统708和/或传输流600访问的数据之间,3D渲染引擎704可以访问从相应虚拟视点渲染表示3D空间802的表面数据帧710所需的所有信息,而不必依赖3D渲染引擎704本地维持的信息。
每个3D渲染引擎704可以与在系统100为其生成有实体描述数据的多个实体中表示的虚拟视点中的一个相关联。例如,3D渲染引擎704-1至704-8(其中,仅在图7中明确示出了3D渲染引擎704-1和704-2)可以分别与虚拟视点806-1至806-8(如图8所示)相关联。这样,每个3D渲染引擎704可以渲染相应的表面数据帧710,如从特定3D渲染引擎704所关联的虚拟视点806的视角(即,位置、角度、视野等)所看到的那样。此外,如上所述,每个表面数据帧710不仅可以包括表示从相应虚拟视点看到的虚拟对象的外观的颜色数据(即,图像数据),而且还可以包括深度数据。
为了进行说明,图7示出了表示表面数据帧710-1的图像,该表面数据帧710-1可以是由3D渲染引擎704-1(与虚拟视点806-1相关联的3D渲染引擎(见图8))渲染的表面数据帧。如所示,表面数据帧710-1可以包括颜色数据714和深度数据716两者,该颜色数据714和深度数据716可以表示与上文相对于颜色数据306和深度数据308(参见图3)描述的相似类型的数据。然而,与颜色数据306和深度数据308相关联的表面数据帧相反,表面数据帧710-1可以包括现实世界对象204和虚拟对象804两者以及可以包括在融合现实场景800的3D空间802内的任何其他对象的表示。具体来说,如所示,虚拟对象804似乎停在现实世界对象204顶部(例如,通过系统100实现的对象之间的基于物理的虚拟交互)。
表面数据帧的相应帧集合(例如,包括表面数据帧710-1至710-N的帧集合710)可以由3D渲染引擎704生成,使得系统100提供的每个实体描述帧(例如,实体描述帧706)与表示从进入3D空间802的不同虚拟视点渲染融合现实场景800的3D空间802的相应帧集合相关联。如在图7中所示,然后可以将相应帧集合中的每个表面数据帧(例如,包括表面数据帧710-1至710-N)提供给视频数据封装系统712,视频数据封装系统712可以组织、同步、编码、压缩、组合和/或处理表面数据帧以生成与每个虚拟视点806相关联的相应颜色视频数据流和深度视频数据流。
为了进行说明,图10示出了配置700的某些组件的更详细的视图。具体地,图10图示八个3D渲染引擎704(即,3D渲染引擎704-1至704-8),其渲染一个完整的表面数据帧集合(即,帧集合710,包括表面数据帧710-1至710-8)。表面数据帧710-1到710-8可以表示在融合现实场景的3D空间内包括的现实世界对象和虚拟对象的表面的颜色数据和深度数据。如所示,例如,帧集合710包括表示在3D空间802内的现实世界对象204和虚拟对象804的表面在相对于3D空间802从不同虚拟视点(例如,虚拟视点806-1至806-8)出现时的数据。将理解的是,尽管在图10中将表面数据帧示出为通过类似于图7所图示的颜色数据图像(即,图示颜色数据714的图像)的图像来表示,但帧集合710中的每个表面数据帧还可以包括表示深度数据的数据,该数据可以由类似于图7所示的深度数据图像(即,图示深度数据716的图像)的图像表示。
如上所述,3D渲染引擎704可以基于实体描述帧706以及基于从资产存储系统708和/或传输流600访问的数据从相关联的虚拟视点806分别生成表面数据帧710-1至710-N。例如,表示与融合现实场景800相关联的多个实体的实体描述数据可以包括到表示存储在资产存储系统708中的虚拟对象804的颜色和深度数据的链接和/或到表示在传输流600内包括的现实世界对象204的颜色和深度数据的链接。这样,实体描述帧706(如上所述,可能已由系统100生成并提供给3D渲染引擎704)可以被生成为包括到表示分别维持在传输流600和资产存储系统708中的对象204和804的颜色和深度数据的相应链接。3D渲染引擎704的每个可以被配置为通过执行操作从其相应虚拟视点806渲染其相应表面数据帧710,这些操作包括:从系统100接收实体描述帧706,并且使用实体描述帧706内包含的链接访问表示分别保存在传输流600和资产存储系统708中的对象204和804的颜色和深度数据。利用实体描述帧706内包括的数据以及通过链接访问的颜色和深度数据两者,3D渲染引擎704可以渲染表面数据帧710以从围绕3D空间802的虚拟视点提供3D空间802(例如,包括现实世界对象204和虚拟对象804两者)的视图。
与上述表示现实世界场景202的帧序列404一样,表面数据帧710-1至710-N中的每个都可以被包括在表示在时间序列期间从相应虚拟视点806看到的融合现实场景800的颜色和深度数据的表面数据帧的单独帧序列中。例如,表面数据帧710-1可以被包括在表示在时间序列期间从虚拟视点806-1可见的对象204和804的表面的颜色和深度数据的表面数据帧的第一帧序列中,表面数据帧710-2可以被包括在表示在时间序列期间从虚拟视点806-2可见的对象204和804的表面的颜色和深度数据的表面数据帧的第二帧序列中,以此类推。换句话说,一旦已经渲染了表面数据帧710,则每个3D渲染引擎704可以继续将其他表面数据帧渲染在表面数据帧的不同相应序列中。例如,3D渲染引擎704可以在实体描述帧706之后接收附加实体描述帧(例如,诸如图9所示的实体描述帧900的序列),并且可以基于附加实体描述帧来生成另外的表面数据帧。
为了说明,图11示出了分别表示从有利点806-1到806-8可见的虚拟对象804和现实世界对象204二者的表面的颜色和深度数据的表面数据帧的多个示例性帧序列1102(例如,帧序列1102-1至1102-8)。例如,如所示,每个帧序列1102中示出的第一表面数据帧(即,未被覆盖以使得对象204和804的不同视图在图11中可见的表面数据帧)可以对应于表面数据帧710-1(包括在帧序列1102-1内)至710-8(包括在帧序列1102-8内)。因此,帧序列1102-1到1102-8可以分别与3D渲染引擎704-1到704-8并且因此与虚拟视点806-1到806-8相关联。例如,帧序列1102-1可以表示在特定时间序列1104(例如,特定的实时时段、与沉浸式虚拟现实世界相关联的特定虚拟时间线等)期间从虚拟视点806-1所观看到的在融合现实场景800的3D空间802内包括的现实世界对象和虚拟对象的颜色和深度两者。类似地,帧序列1102-2可以表示在时间序列1104期间从虚拟视点806-2观看到的3D空间802内包括的现实世界对象和虚拟对象的颜色和深度,对于帧序列1102-3至1102-8也如此。
如上文所描述和说明,可以将由3D渲染引擎704生成并包括在帧序列1102中的每个表面数据帧发送或传递到视频数据封装系统712中,视频数据封装系统712可通信耦合至3D渲染引擎704。基于表面数据帧的每个不同帧序列1102(例如,基于帧集合710且基于帧集合710之后的包括如图所示的相应附加多个表面数据帧的附加帧集合),视频数据封装系统712可以生成至少一个附加传输流(即,除了先前生成的传输流600之外),该至少一个附加传输流包括每个虚拟视点806的颜色视频数据流和深度视频数据流。例如,视频数据封装系统712可以生成单个传输流,该单个传输流包含与每个帧序列1102相关联(即,与每个3D渲染引擎704和虚拟视点806相关联)的单独的颜色视频数据流和深度视频数据流,或视频数据封装系统712可以针对与每个帧序列1102相关联的颜色视频数据流和深度视频数据流生成不同的传输流。可以按照本文描述的任何方式(例如,按照类似于传输流600的方式)或以可服务于特定实施方式的任何其他合适的方式来生成至少一个附加传输流。
一旦生成了至少一个附加传输流,视频数据封装系统712就可以提供该至少一个附加传输流,以流传输到与用户相关联的客户端侧媒体播放器设备。例如,视频数据封装系统712可以将传输流流传输(例如,通过网络发送)到媒体播放器设备本身,或者可以将传输流包括在数据管道中,在该数据管道中,对传输流进一步处理并且(例如,在通过与流水线相关联的其他设备、过程和/或系统处理和/或重新封装之后)通过另一系统将其流传输到媒体播放器设备。如下面将描述的,客户端侧媒体播放器设备可被配置为(例如,基于在该至少一个附加传输流内包括的每个虚拟视点的颜色视频数据流和深度视频数据流)生成融合现实场景的3D空间的3D表示,该融合现实场景的3D空间的3D表示将由用户从用户所选择的且与融合现实场景800的3D空间802内的任意虚拟位置对应的动态可选择虚拟视点体验。
如上所述,在一些示例中,本文描述的系统100和/或其他系统(例如,其他服务器侧系统)和设备可以用于生成将由用户体验的虚拟现实媒体内容。例如,除了上述操作之外,虚拟现实媒体内容提供商系统(例如,其中可以包括系统100、视频数据封装系统712和/或本文所述的其他设备和系统,或者这些系统可以与之相关联)还可以基于视频数据封装系统712生成和提供的至少一个附加传输流进一步生成和提供虚拟现实媒体内容。虚拟现实媒体内容可以表示融合现实场景(例如,融合现实场景800),并且可以呈现给用户,以便从与相对于融合现实场景的任意虚拟位置对应的动态可选择虚拟视点体验。例如,当用户正在使用媒体播放器设备体验融合现实场景时,媒体播放器设备的用户可以选择动态可选择虚拟视点。此外,可以将虚拟现实媒体内容提供给媒体播放器设备(例如,通过包括或与系统100相关联的虚拟现实媒体内容提供商系统)给媒体播放器设备,以允许用户从与融合现实场景中任意虚拟位置相对应的动态可选择虚拟视点体验融合现实场景。
为了进行说明,图12示出了示例性配置1200,在该示例性配置1200中,包括系统100和视频数据封装系统712的示例性虚拟现实媒体内容提供商系统1202(“提供商系统1202”)生成虚拟现实媒体内容,该虚拟现实媒体内容通过网络1204提供给用户1208用来体验融合现实场景的示例性客户端侧媒体播放器设备1206(“媒体播放器设备1206”)。
如上所述,在已经基于帧序列1102生成了至少一个附加传输流之后,提供商系统1202可以进一步对该一个或多个传输流进行编码、封装、加密或处理以形成虚拟现实媒体内容,媒体播放器设备1206可以被配置为渲染该虚拟现实媒体内容。例如,虚拟现实媒体内容可以包括或表示可以由媒体播放器设备1206渲染的多个2D视频数据流(例如,与每个虚拟视点806的颜色数据和深度数据相关联的2D视频数据流),以便从融合现实场景800内的任何任意虚拟视点(例如,包括除了用户1208可能感兴趣的虚拟视点806以外的虚拟视点)呈现融合现实场景800的视图,如下所述。另外地或可替代地,虚拟现实媒体内容可以包括表示在融合现实场景800内包括的虚拟对象的一个或多个体积模型(例如,3D或4D模型)的数据,该一个或多个体积模型也可以被渲染以便从任意虚拟视点观看。然后可以通过网络1204将虚拟现实媒体内容分发到一个或多个媒体播放器设备,诸如与用户1208相关联的媒体播放器设备1206。例如,提供商系统1202可以将虚拟现实媒体内容提供给媒体播放器设备1206,使得用户1208可以虚拟地使用媒体播放器设备1206体验融合现实场景800。
在一些示例中,用户1208可能不希望被限制在由虚拟现实媒体内容(例如,表示融合现实场景800)表示的沉浸式虚拟现实世界内的一个或多个离散位置。这样,提供商系统1202可以在表示融合现实场景800的虚拟现实媒体内容内提供足够的数据,以允许不仅从虚拟视点806而且从与融合现实场景800内的任意虚拟位置对应的任何动态可选择虚拟视点(例如,在3D空间802内或周围)来渲染融合现实场景800。例如,当用户1208正在使用媒体播放器设备1206体验融合现实场景800时,用户1208可以选择动态可选择虚拟视点。
如本文所使用的,“任意虚拟位置”可以指与融合现实场景相关联的空间中的任何虚拟点(例如,在融合现实场景的3D空间内或周围)。例如,任意虚拟位置不限于围绕融合现实场景的固定位置(例如,与虚拟视点806相关联的固定位置),还包括在与虚拟视点806相关联的位置与3D空间802内部的位置之间的所有位置。此外,任意虚拟位置可以与任意虚拟视点相关联,而不仅限于与任何虚拟视点806对齐。在一些示例中,这样的任意虚拟位置可以对应于融合现实场景800中最理想的虚拟视点。例如,如果融合现实场景800包括篮球比赛,则用户1208可以动态选择在篮球场上的任何任意虚拟位置中体验比赛的虚拟视点。例如,用户可以动态地选择他或她的虚拟视点以跟随篮球在篮球场上下运动并体验篮球比赛,就好像在比赛进行中站在篮球场上一样。换句话说,例如,当虚拟视点806可以定位在篮球场周围的固定位置处时,用户1208可以动态地选择与篮球场上的任意位置相关联的任意虚拟视点来从中体验比赛。
网络1204可以包括提供商特定的有线或无线网络(例如,电缆或卫星载波网络或移动电话网络)、互联网、广域网、内容传递网络或任何其他合适的网络。数据可以使用如可服务于特定实施方式的任何通信技术、设备、媒体和协议在提供商系统1202和媒体播放器设备1206(以及未明确示出的其他媒体播放器设备)之间流动。
用户1208可以使用媒体播放器设备1206来访问和体验从提供商系统1202接收的虚拟现实媒体内容。例如,媒体播放器设备1206可以被配置为生成(例如,基于在至少一个附加传输流中包括的每个虚拟视点的颜色视频数据流和深度视频数据流,其可以是2D视频数据流)融合现实场景800的3D空间802的3D表示,该融合现实场景800的3D空间802的3D表示将由用户1208从任意虚拟视点(例如,由用户所选择的且与3D空间802中的任意虚拟位置相对应的动态可选择虚拟视点)体验。为此,媒体播放器设备1206可以包括任何能够呈现沉浸式虚拟现实世界(例如,表示融合现实场景800的沉浸式虚拟现实世界)的视野,并且能够检测来自用户1208的用户输入以随着用户1208体验沉浸式虚拟现实世界而动态更新呈现在视野内的沉浸式虚拟现实世界的设备,或者由其实现。
例如,图13示出了可由用户1208用来体验虚拟现实媒体内容的各种示例性类型的媒体播放器设备1206。具体地,如所示,媒体播放器设备1206可以采用若干种不同形式因子中的一种,诸如包括头戴式显示屏的头戴式虚拟现实设备1302(例如,虚拟现实游戏设备)、个人计算机设备1304(例如,台式计算机、膝上型计算机等)、移动或无线设备1306(例如,智能电话、平板设备等,可能会借助于头戴式设备安装到用户1208的头部)、或通过可以服务于特定实施方式以有助于接收和/或呈现虚拟现实媒体内容的任何其他设备或设备配置。不同类型的媒体播放器设备(例如,头戴式虚拟现实设备、个人计算机设备、移动设备等)可以为用户1208提供具有不同等级的沉浸的不同类型的虚拟现实体验。
图14图示示例性虚拟现实体验1400,在该示例性虚拟现实体验1400中,向用户1208呈现表示相对于融合现实场景从与示例性任意虚拟位置对应的动态可选择虚拟视点体验到的表示融合现实场景的示例性虚拟现实媒体内容。具体地,虚拟现实媒体内容1402被呈现在视野1404内,该视野1404从虚拟视点示出了融合现实场景,该虚拟视点对应于正在进行投篮的融合现实场景的3D空间内的篮球标准之下的任意虚拟位置。通过提供用户输入(例如,头部移动、键盘输入等)以环顾和/或移动(即,动态选择要体验的虚拟视点)沉浸式虚拟现实世界1406,基于融合现实场景的沉浸式虚拟现实世界1406可供观看者体验。
例如,视野1404可以提供窗口,用户1208可以通过该窗口轻松自然地环顾沉浸式虚拟现实世界1406。视野1404可以由媒体播放器设备1206呈现(例如,呈现在媒体播放器设备1206的显示屏上)并且可以包括描绘沉浸式虚拟现实世界1406中在用户周围的对象的视频。此外,当用户1208体验沉浸式虚拟现实世界1406时,视野1404可以响应于用户1208提供的用户输入而动态变化。例如,媒体播放器设备1206可以检测用户输入(例如,移动或旋转呈现有视野1404的显示屏)。作为响应,视野1404可以显示不同的对象和/或从不同虚拟视点或虚拟位置看到的对象,而不是从先前的虚拟视点或虚拟位置看到的对象。
在图14中,沉浸式虚拟现实世界1406被示为半球体,指示用户1208可以在沉浸式虚拟现实世界1406内的任何方向上看,基本上可以从用户1208当前选择的篮球标准下的位置的虚拟视点向前、向后、向左、向右和/或向上看。在其他示例中,沉浸式虚拟现实世界1406可以包括整个360°到180°的球体,使得用户1208也可以向下看。另外,用户1208可以移动到沉浸式虚拟现实世界1406内的其他位置(即,在3D空间内动态选择不同的动态可选择虚拟视点)。例如,用户1208可以选择在半场处的虚拟视点、面向篮球标准的罚球线处的虚拟视点、悬置在篮球标准上方的虚拟视点等。
图15图示用于基于虚拟对象且基于不同视频数据流中从不同有利点表示的现实世界对象生成融合现实场景的示例性方法1500。尽管图15图示了根据一个实施例的示例性操作,但其他实施例可以省略、增加、重新排序和/或修改图15中所示的任何操作。图15所示的操作中的一个或多个可以由系统100、其实施方式、和/或上面描述为与系统100相关联(例如,以通信方式耦合至系统100、被配置为与系统100互操作,等等)的另一系统来执行。
在操作1502中,融合现实场景捕获系统可以从相对于现实世界场景设置以具有现实世界场景的多个不同有利点的多个3D捕获设备接收包括第一多个表面数据帧的第一帧集合。在一些示例中,第一多个表面数据帧中的每个表面数据帧可以是由多个3D捕获设备中的相应3D捕获设备在相同的特定时间点处捕获到的。这样,每个表面数据帧可以是从多个不同有利点中的相应有利点捕获到的。第一多个表面数据帧中的表面数据帧可以表示在特定时间点处在现实世界场景内包括的现实世界对象的表面从相应3D捕获设备的相应有利点出现时的颜色数据和深度数据。可以按照本文描述的任何一种方式来执行操作1502。
在操作1504中,融合现实场景捕获系统可以生成传输流,该传输流包括多个3D捕获设备中的每个3D捕获设备的颜色视频数据流和深度视频数据流。在一些示例中,传输流可以基于从多个3D捕获设备接收到的第一帧集合(例如,在操作1502中)和/或基于在其他时间点捕获到的多个其他帧集合来生成。可以按照本文描述的任何一种方式来执行操作1504。
在操作1506中,融合现实场景捕获系统可以生成表示在融合现实场景的3D空间内包括的多个实体的实体描述数据。例如,可以基于传输流来生成实体描述数据。可以将各种类型的实体包括在融合现实场景的3D空间内包括的多个实体内。例如,实体可以包括虚拟对象,该虚拟对象通过到虚拟对象的表面的颜色数据和深度数据的链接至少部分地限定在实体描述数据中,虚拟对象的表面的颜色数据和深度数据存储在资产存储系统内,该资产存储系统通信地耦合至融合现实场景捕获系统。作为另一示例,实体可以包括在操作1502中为其捕获到数据的现实世界对象。例如,现实世界对象可以通过到基于从多个3D捕获设备接收到的第一帧集合并且基于多个其他帧集合(即,在操作1504中生成的传输流内包括的视频数据流)生成的颜色视频数据流和深度视频数据流内包括的现实世界对象的表面的颜色数据和深度数据的链接至少部分地限定在实体描述数据中。此外,在操作1506中为其生成有实体描述数据的实体可以包括进入3D空间的多个虚拟视点,将从多个虚拟视点渲染包括第二多个表面数据帧的第二帧集合。例如,第二多个表面数据帧可以表示在融合现实场景的3D空间内包括的虚拟对象和现实世界对象两者的表面的颜色数据和深度数据。可以按照本文描述的任何一种方式来执行操作1506。
在操作1508中,融合现实场景捕获系统可以生成实体描述帧,该实体描述帧表示在融合现实场景的3D空间内包括的多个实体中的至少一个实体的状态。在一些示例中,实体描述帧可以表示该至少一个实体在时间序列中的特定点处的状态。可以基于在操作1506中生成的表示多个实体的实体描述数据来执行操作1508。可以按照本文描述的任何一种方式来执行操作1508。
在操作1510中,融合现实场景捕获系统可以将实体描述帧提供给与内容提供商系统相关联的多个服务器侧3D渲染引擎。例如,多个服务器侧3D渲染引擎中的每个3D渲染引擎可以与在操作1506中为其生成有实体描述帧数据的进入3D空间的多个虚拟视点中的不同虚拟视点相关联。在一些实施方式中,多个服务器侧3D渲染引擎中的每个3D渲染引擎可以被配置为基于实体描述帧渲染在第二多个表面数据帧中包括的不同表面数据帧。可以按照本文描述的任何一种方式来执行操作1510。
在操作1512中,通信地耦合至多个服务器侧3D渲染引擎和/或与融合现实场景捕获系统相关联的视频数据封装系统可以生成至少一个附加传输流。例如,视频数据封装系统可以基于包括第二多个表面数据帧的第二帧集合和/或基于包括相应附加多个表面数据帧的附加帧集合生成该至少一个附加传输流。在一些示例中,该至少一个附加传输流可以包括在操作1506中为其生成有实体描述数据的多个虚拟视点中的每个虚拟视点的颜色视频数据流和深度视频数据流。可以按照本文描述的任何一种方式来执行操作1512。
在操作1514中,与融合现实场景捕获系统相关联的视频数据封装系统可以将要进行流传输的该至少一个附加传输流提供给与用户相关联的客户端侧媒体播放器设备。例如,客户端侧媒体播放器设备可以被配置为基于在该至少一个附加传输流内包括的每个虚拟视点的颜色视频数据流和深度视频数据流生成用户将体验到的融合现实场景的3D空间的3D表示。在一些示例中,3D空间的3D表示可以由用户从用户所选择的且与融合现实场景的3D空间内的任意虚拟位置对应的动态可选择虚拟视点体验到。可以按照本文描述的任何一种方式来执行操作1514。
在某些实施例中,本文描述的系统、组件和/或过程中的一个或多个可以由一个或多个适当配置的计算设备来实现和/或执行。为此,上述系统和/或组件中的一个或多个可以包括或由在被配置为执行本文描述的一个或多个过程的至少一种非暂时性计算机可读介质上实现的任何计算机硬件和/或计算机实现的指令(例如,软件)来实现。具体而言,系统组件可以在一个物理计算设备上实现,或者可以在一个以上的物理计算设备上实现。因此,系统组件可以包括任意数量的计算设备,并且可以采用任意数量的计算机操作系统。
在某些实施例中,本文描述的过程中的一个或多个可以至少部分地被实现为体现在非暂时性计算机可读介质中并且可由一个或多个计算设备执行的指令。通常,处理器(例如,微处理器)从非暂时性计算机可读介质(例如,存储器等)接收指令,并执行那些指令,从而执行一个或多个过程,包括本文描述的一个或多个过程。可以使用各种已知的计算机可读介质中的任何一种来存储和/或发送这样的指令。
计算机可读介质(也称为处理器可读介质)包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性介质。这种介质可以采取许多形式,包括,但不限于,非易失性介质和/或易失性介质。非易失性介质可以包括,例如,光盘或磁盘以及其它永久性存储器。易失性介质可以包括,例如,动态随机存取存储器(“DRAM”),其通常构成主存储器。计算机可读介质的常见形式包括,例如,磁盘、硬盘、磁带、任何其他磁介质、光盘只读存储器(“CD-ROM”)、数字视频光盘(“DVD”)、任何其他光学介质、随机存取存储器(“RAM”)、可编程只读存储器(“PROM”)、电可擦除可编程只读存储器(“EPROM”)、FLASH-EEPROM、任何其他存储器芯片或盒式磁带、或计算机可以读取的任何其他有形介质。
图16图示示例性计算设备1600,其可以被具体配置为执行本文描述的一个或多个过程。如图16所示,计算设备1600可以包括经由通信基础设施1610通信地连接的通信接口1602、处理器1604、存储设备1606和输入/输出(“I/O”)模块1608。尽管在图16中示出了示例性计算设备1600,但是图16示出的组件不旨在是限制性的。在其他实施例中可以使用另外的或替代的组件。现在将更详细地描述图16中示出的计算设备1600的组件。
通信接口1602可以被配置为与一个或多个计算设备通信。通信接口1602的示例包括但不限于有线网络接口(例如网络接口卡)、无线网络接口(例如无线网络接口卡)、调制解调器、音频/视频连接和任何其他合适的接口。
处理器1604通常表示能够处理数据或解释、执行和/或指导本文描述的一个或多个指令、过程和/或操作的执行的任何类型或形式的处理单元(例如,中央处理单元和/或图形处理单元)。处理器1604可以根据一个或多个应用1612或诸如可以存储在存储设备1606或另一计算机可读介质中的其他计算机可执行指令来指导操作的执行。
存储设备1606可以包括一个或多个数据存储介质、设备或配置,并且可以采用任何类型、形式和组合的数据存储介质和/或设备。例如,存储设备1606可以包括但不限于硬盘驱动器、网络驱动器、闪存驱动器、磁盘、光盘、RAM、动态RAM、其他非易失性和/或易失性数据存储单元、或其组合或子组合。电子数据,包括本文描述的数据,可以被临时和/或永久地存储在存储设备1606中。例如,表示被配置为指导处理器1604执行本文描述的任何操作的一个或多个可执行应用1612的数据可以存储在存储设备1606中。在一些示例中,数据可以被布置在驻留在存储设备1606内的一个或多个数据库中。
I/O模块1608可以包括被配置为接收用户输入并提供用户输出的一个或多个I/O模块。一个或多个I/O模块可用于接收针对单个虚拟现实体验的输入。I/O模块1608可以包括支持输入和输出能力的任何硬件、固件、软件或其组合。例如,I/O模块1608可以包括用于捕获用户输入的硬件和/或软件,包括但不限于键盘或小键盘、触摸屏组件(例如,触摸屏显示器)、接收器(例如,RF或红外接收器)、运动传感器和/或一个或多个输入按钮。
I/O模块1608可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示器驱动器)、一个或多个音频扬声器和一个或多个音频驱动器。在某些实施例中,I/O模块1608被配置为将图形数据提供给显示器以呈现给用户。图形数据可以表示一个或多个图形用户界面和/或可服务于特定实施方式的任何其他图形内容。
在一些示例中,本文描述的任何设施可以由计算设备1600的一个或多个组件实现或在其中实现。例如,可以将驻留在存储设备1606内的一个或多个应用1612配置为指导处理器1604执行与系统100(参见图1)的现实世界场景捕获设备102或融合现实实体状态追踪设备104相关联的一个或多个操作或功能。同样,系统100的存储设施106可以由存储设备1606实现或在其中实现。
在前述实施例收集、存储和/或使用由个人提供的个人信息的程度上,应当理解,应当根据关于个人信息保护的所有适用法律来使用这些信息。另外,此类信息的收集、存储和使用可能要征得个人对此类活动的同意,例如,通过适用于该情况和此类信息的众所周知的“选择加入”或“选择退出”过程。个人信息的存储和使用可以以适当安全的方式反映信息的类型,例如,通过针对特别敏感信息的各种加密和匿名化技术。
在前面的描述中,已经参考附图描述了各种示例性实施例。然而,显而易见的是,在不脱离如所附权利要求书所阐述的本发明的范围的情况下,可以对其进行各种修改和改变,并且可以实现其他实施例。例如,本文描述的一个实施例的某些特征可以与本文描述的另一实施例的特征组合或替代本文描述的另一实施例的特征。因此,说明书和附图应被认为是说明性而不是限制性的。
Claims (20)
1.一种方法,包括:
通过融合现实场景捕获系统从相对于现实世界场景设置以具有所述现实世界场景的多个不同有利点的多个三维(3D)捕获设备接收包括第一多个表面数据帧的第一帧集合,所述第一多个表面数据帧的每个:
由所述多个3D捕获设备中的相应3D捕获设备从所述多个不同有利点中的相应有利点在相同的特定时间点处捕获,并且
表示在所述现实世界场景内包括的现实世界对象的表面在所述特定时间点从所述相应3D捕获设备的所述相应有利点出现时的颜色数据和深度数据;
通过所述融合现实场景捕获系统,基于从所述多个3D捕获设备接收到的所述第一帧集合并且基于在其他时间点处捕获到的多个其他帧集合,生成传输流,所述传输流包括用于所述多个3D捕获设备中的所述3D捕获设备的每个的颜色视频数据流和深度视频数据流;以及
通过所述融合现实场景捕获系统,基于所述传输流,生成表示在融合现实场景的3D空间内包括的多个实体的实体描述数据,所述多个实体包括:
虚拟对象,所述虚拟对象通过到所述虚拟对象的表面的颜色数据和深度数据的链接至少部分地限定在所述实体描述数据中,所述虚拟对象的所述表面的所述颜色数据和深度数据存储在资产存储系统内,所述资产存储系统通信地耦合至所述融合现实场景捕获系统,
所述现实世界对象,所述现实世界对象通过到基于从所述多个3D捕获设备接收到的所述第一帧集合并且基于所述多个其他帧集合生成的所述颜色视频数据流和所述深度视频数据流内包括的所述现实世界对象的所述表面的所述颜色数据和深度数据的链接,至少部分地限定在所述实体描述数据中,以及
进入所述3D空间的多个虚拟视点,从所述多个虚拟视点渲染包括第二多个表面数据帧的第二帧集合,所述第二多个表面数据帧表示在所述融合现实场景的所述3D空间内包括的所述虚拟对象和所述现实世界对象两者的所述表面的所述颜色数据和所述深度数据。
2.根据权利要求1所述的方法,还包括:
通过所述融合现实场景捕获系统,基于表示所述多个实体的所述实体描述数据,生成实体描述帧,所述实体描述帧表示在所述融合现实场景的所述3D空间内包括的所述多个实体中的实体在时间序列中的特定点处的状态;
通过所述融合现实场景捕获系统,将所述实体描述帧提供给与内容提供商系统相关联的多个3D渲染引擎,所述多个3D渲染引擎中的每个3D渲染引擎与进入所述3D空间的所述多个虚拟视点中的不同虚拟视点相关联并且配置为基于所述实体描述帧渲染在所述第二多个表面数据帧中包括的不同表面数据帧。
3.根据权利要求2所述的方法,还包括:
通过通信地耦合至所述多个3D渲染引擎的视频数据封装系统,并且基于包括所述第二多个表面数据帧的所述第二帧集合且基于包括相应附加多个表面数据帧的附加帧集合,生成另一传输流,所述另一传输流包括所述多个虚拟视点中的每个所述虚拟视点的颜色视频数据流和深度视频数据流,以及
通过所述视频数据封装系统,将用于流传输的所述另一传输流提供给与用户相关联的客户端侧媒体播放器设备,所述客户端侧媒体播放器设备被配置为基于在所述另一传输流内包括的所述虚拟视点中的每个的所述颜色视频数据流和所述深度视频数据流生成所述融合现实场景的所述3D空间的3D表示,所述融合现实场景的所述3D空间的3D表示将由所述用户从所述用户所选择的且与所述融合现实场景的所述3D空间内的任意虚拟位置对应的动态可选择虚拟视点体验。
4.根据权利要求1所述的方法,其中,生成表示所述现实世界对象的所述实体描述数据包括:
基于所述颜色视频数据流和所述深度视频数据流,生成在所述现实世界场景内包括的所述现实世界对象的3D表示,所述颜色视频数据流和所述深度视频数据流基于所述第一帧集合且基于所述多个其他帧集合生成;以及
生成到所述现实世界对象的所述表面的所述颜色数据和所述深度数据的链接,所述链接作为指向所述现实世界对象的所述3D表示的指针至少部分地在所述实体描述数据中限定所述现实世界对象。
5.根据权利要求1所述的方法,还包括:
通过所述融合现实场景捕获系统,从场景控制系统接收修改表示所述多个实体的所述实体描述数据的命令;以及
通过所述融合现实场景捕获系统,响应于接收到所述命令,根据所述命令修改表示所述多个实体的所述实体描述数据。
6.根据权利要求1所述的方法,其中,生成表示所述多个实体的所述实体描述数据包括:创建在所述融合现实场景的所述3D空间内包括的所述虚拟对象与在所述融合现实场景的所述3D空间内包括的所述现实世界对象之间的虚拟交互,所述虚拟交互基于基于物理的对象行为和基于人工智能(基于AI)的对象行为中的至少一种。
7.根据权利要求1所述的方法,还包括:
通过所述融合现实场景捕获系统,接收与所述第一帧集合相关联的元数据,所述元数据将所述现实世界对象的所述表面的所述颜色数据和所述深度数据与表示在所述特定时间点处在所述现实世界场景内包括的附加现实世界对象的其他表面的其他颜色数据和其他深度数据区分开来;
其中:
在所述融合现实场景的所述3D空间内包括的为其生成有所述实体描述数据的所述多个实体还包括所述附加现实世界对象,
所述附加现实世界对象通过到表示在所述颜色视频数据流和所述深度视频数据流内包括的所述附加现实世界对象的所述其他表面的其他颜色数据和其他深度数据的链接,至少部分地限定在所述实体描述数据中,以及
到所述现实世界对象的所述表面的所述颜色数据和所述深度数据的链接以及到表示所述附加现实世界对象的所述其他表面的所述其他颜色数据和所述其他深度数据的链接基于将所述现实世界对象的所述表面的所述颜色数据和所述深度数据与表示所述附加现实世界对象的所述其他表面的所述其他颜色数据和所述其他深度数据区分开来的所述元数据。
8.根据权利要求1所述的方法,其中,所述现实世界场景的所述多个不同有利点的第一空间配置独立于进入所述融合现实场景的所述3D空间的所述多个虚拟视点的第二空间配置。
9.根据权利要求1所述的方法,其中,当事件在所述现实世界场景内发生时,所述第一帧集合的接收、所述传输流的生成、以及所述实体描述数据的生成每个都由所述融合现实场景捕获系统实时执行。
10.根据权利要求1所述的方法,体现为在至少一种非暂时性计算机可读介质上的计算机可读指令。
11.一种融合现实场景捕获系统,包括:
相对于现实世界场景设置以具有所述现实世界场景的多个不同有利点的多个三维(3D)捕获设备,通过所述多个三维(3D)捕获设备来捕获表示在所述现实世界场景内包括的现实世界对象的数据;
资产存储系统,所述资产存储系统存储表示虚拟对象的表面的颜色数据和深度数据;
多个服务器侧3D渲染引擎,所述多个服务器侧3D渲染引擎通信地耦合至所述资产存储系统;以及
实体状态追踪系统,所述实体状态追踪系统通信地耦合至所述多个3D捕获设备、所述资产存储系统和所述多个服务器侧3D渲染引擎,所述实体状态追踪系统被配置为:当在所述现实世界场景内发生事件时,实时地:
从所述多个3D捕获设备接收包括第一多个表面数据帧的第一帧集合,所述第一多个表面数据帧表示所述现实世界对象的表面,
基于所述第一帧集合且基于从所述多个3D捕获设备接收到的多个其他帧集合,生成传输流,所述传输流包括所述多个3D捕获设备中的所述3D捕获设备的每个的颜色视频数据流和深度视频数据流,
基于所述传输流且基于在所述资产存储系统中存储的所述颜色数据和深度数据,生成表示在融合现实场景的3D空间内包括的多个实体的实体描述数据,所述多个实体包括:
所述虚拟对象,所述虚拟对象由在所述资产存储系统中存储的所述颜色数据和所述深度数据表示,
所述现实世界对象,所述现实世界对象由表示所述现实世界对象的表面的所述第一多个表面数据帧表示且包括在所述第一帧集合内,以及
进入所述融合现实场景的所述3D空间中的多个虚拟视点,
基于表示所述多个实体的所述实体描述数据,生成实体描述帧,所述实体描述帧表示在所述融合现实空间的所述3D空间内包括的所述多个实体中的实体在时间序列中的特定点处的状态,并且
将所述实体描述帧提供给所述多个服务器侧3D渲染引擎,其中,所述多个服务器侧3D渲染引擎中的每个3D渲染引擎与进入所述3D空间的所述多个虚拟视点中的不同虚拟视点相关联,并且配置为基于所述实体描述帧渲染在第二帧集合的第二多个表面数据帧内包括的不同表面数据帧,所述不同表面数据帧表示在所述时间序列中的所述特定点处从所述不同虚拟视点可看到的所述融合现实场景的所述3D空间的视图。
12.一种融合现实场景捕获系统,包括:
至少一个物理计算设备,所述物理计算设备:
从相对于现实世界场景设置以具有所述现实世界场景的多个不同有利点的多个三维(3D)捕获设备接收包括第一多个表面数据帧的第一帧集合,所述第一多个表面数据帧的每个:
由所述多个3D捕获设备中的相应3D捕获设备从所述多个不同有利点中的相应有利点在相同的特定时间点处捕获,并且
表示在所述现实世界场景内包括的现实世界对象的表面在所述特定时间点从所述相应3D捕获设备的所述相应有利点出现时的颜色数据和深度数据;
基于从所述多个3D捕获设备接收到的所述第一帧集合并且基于在其他时间点处捕获到的多个其他帧集合,生成传输流,所述传输流包括所述多个3D捕获设备中的所述3D捕获设备的每个的颜色视频数据流和深度视频数据流;以及
基于所述传输流,生成表示包括在融合现实场景的3D空间内的多个实体的实体描述数据,所述多个实体包括:
虚拟对象,所述虚拟对象通过到所述虚拟对象的表面的颜色数据和深度数据的链接至少部分地限定在所述实体描述数据中,所述虚拟对象的所述表面的所述颜色数据和深度数据存储在资产存储系统内,所述资产存储系统通信地耦合至所述融合现实世界场景捕获系统,
所述现实世界对象,所述现实世界对象通过到基于从所述多个3D捕获设备接收到的所述第一帧集合并且基于所述多个其他帧集合生成的所述颜色视频数据流和所述深度视频数据流内包括的所述现实世界对象的所述表面的所述颜色数据和深度数据的链接,至少部分地限定在所述实体描述数据中,以及
进入所述3D空间的多个虚拟视点,将从所述多个虚拟视点渲染包括第二多个表面数据帧的第二帧集合,所述第二多个表面数据帧表示在所述融合现实场景的所述3D空间内包括的所述虚拟对象和所述现实世界对象两者的所述表面的所述颜色数据和深度数据。
13.根据权利要求12所述的融合现实场景捕获系统,其中,所述至少一个物理计算设备进一步:
基于表示所述多个实体的所述实体描述数据,生成实体描述帧,所述实体描述帧表示在所述融合现实空间的所述3D空间内包括的所述多个实体中的实体在时间序列中的特定点处的状态;并且
将所述实体描述帧提供给与内容提供商系统相关联的多个3D渲染引擎,所述多个3D渲染引擎中的每个3D渲染引擎与进入所述3D空间的所述多个虚拟视点中的不同虚拟视点相关联,并且被配置为基于所述实体描述帧渲染在所述第二多个表面数据帧中包括的不同表面数据帧。
14.根据权利要求13所述的融合现实世界场景捕获系统,其中,所述多个3D渲染引擎通信地耦合至视频数据封装系统,所述视频数据封装系统:
基于包括所述第二多个表面数据帧的所述第二帧集合且基于包括相应附加多个表面数据帧的附加帧集合,生成另一传输流,所述另一传输流包括所述多个虚拟视点中的每个所述虚拟视点的颜色视频数据流和深度视频数据流,并且
将要进行流传输的所述另一传输流提供给与用户相关联的客户端侧媒体播放器设备,所述客户端侧媒体播放器设备被配置为基于在所述另一传输流内包括的所述虚拟视点的每个的所述颜色视频数据流和所述深度视频数据流生成所述融合现实场景的所述3D空间的3D表示,所述融合现实场景的所述3D空间的3D表示由所述用户从所述用户所选择的且与所述融合现实场景的所述3D空间内的任意虚拟位置对应的动态可选择虚拟视点体验。
15.根据权利要求12所述的融合现实世界场景捕获系统,其中,所述至少一个物理计算设备通过以下方式生成表示所述现实世界对象的所述实体描述数据:
基于所述颜色视频数据流和所述深度视频数据流,生成在所述现实世界场景内包括的所述现实世界对象的3D表示,所述颜色视频数据流和所述深度视频数据流基于所述第一帧集合且基于所述多个其他帧集合生成;以及
生成到所述现实世界对象的所述表面的所述颜色数据和所述深度数据的链接,所述链接作为指向所述现实世界对象的所述3D表示的指针至少部分地在所述实体描述数据中限定所述现实世界对象。
16.根据权利要求12所述的融合现实世界场景捕获系统,其中,所述至少一个物理计算设备进一步:
从场景控制系统接收修改表示所述多个实体的所述实体描述数据的命令;以及
响应于接收到所述命令,根据所述命令修改表示所述多个实体的所述实体描述数据。
17.根据权利要求12所述的融合现实世界场景捕获系统,其中,所述至少一个物理计算设备通过以下方式生成表示所述多个实体的所述实体描述数据:创建在所述融合现实场景的所述3D空间内包括的所述虚拟对象与在所述融合现实场景的所述3D空间内包括的所述现实世界对象之间的虚拟交互,所述虚拟交互基于基于物理的对象行为和基于人工智能(基于AI)的对象行为中的至少一种。
18.根据权利要求12所述的融合现实场景捕获系统,其中,所述至少一个物理计算设备进一步:
接收与所述第一帧集合相关联的元数据,所述元数据将所述现实世界对象的所述表面的所述颜色数据和所述深度数据与表示在所述特定时间点处在所述现实世界场景内包括的附加现实世界对象的其他表面的其他颜色数据和其他深度数据区分开来;
其中:
在所述融合现实场景的所述3D空间内包括的为其生成所述实体描述数据的所述多个实体还包括所述附加现实世界对象,
所述附加现实世界对象通过到表示在所述颜色视频数据流和所述深度视频数据流内包括的所述附加现实世界对象的所述其他表面的其他颜色数据和其他深度数据的链接,至少部分地限定在所述实体描述数据中,以及
到所述现实世界对象的所述表面的所述颜色数据和所述深度数据的链接以及到表示所述附加现实世界对象的所述其他表面的所述其他颜色数据和所述其他深度数据的链接基于将所述现实世界对象的所述表面的所述颜色数据和所述深度数据与表示所述附加现实世界对象的所述其他表面的所述其他颜色数据和所述其他深度数据区分开来的所述元数据。
19.根据权利要求12所述的融合现实场景捕获系统,其中,所述现实世界场景的所述多个不同有利点的第一空间配置独立于进入所述融合现实场景的所述3D空间的所述多个虚拟视点的第二空间配置。
20.根据权利要求12所述的融合现实世界场景捕获系统,其中,所述至少一个物理计算设备接收所述第一帧集合,生成所述传输流,并且当在所述现实世界场景内发生事件时实时生成所述实体描述数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/610,573 US10297087B2 (en) | 2017-05-31 | 2017-05-31 | Methods and systems for generating a merged reality scene based on a virtual object and on a real-world object represented from different vantage points in different video data streams |
US15/610,573 | 2017-05-31 | ||
PCT/US2018/034431 WO2018222499A1 (en) | 2017-05-31 | 2018-05-24 | Methods and systems for generating a merged reality scene based on a virtual object and on a real-world object represented from different vantage points in different video data streams |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110679152A true CN110679152A (zh) | 2020-01-10 |
CN110679152B CN110679152B (zh) | 2022-01-04 |
Family
ID=62621030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880034416.1A Active CN110679152B (zh) | 2017-05-31 | 2018-05-24 | 生成融合现实场景的方法和系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10297087B2 (zh) |
EP (1) | EP3632118A1 (zh) |
JP (1) | JP7189895B2 (zh) |
KR (1) | KR102494795B1 (zh) |
CN (1) | CN110679152B (zh) |
WO (1) | WO2018222499A1 (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3485646B1 (en) | 2016-07-15 | 2022-09-07 | Koninklijke KPN N.V. | Streaming virtual reality video |
EP3513562A1 (en) * | 2016-09-14 | 2019-07-24 | Koninklijke KPN N.V. | Streaming virtual reality video |
EP3535644B1 (en) | 2016-11-04 | 2023-02-22 | Koninklijke KPN N.V. | Streaming virtual reality video |
US20190102946A1 (en) * | 2017-08-04 | 2019-04-04 | Magical Technologies, Llc | Systems, methods and apparatuses for deployment and targeting of context-aware virtual objects and behavior modeling of virtual objects based on physical principles |
US20190107991A1 (en) | 2017-09-13 | 2019-04-11 | Magical Technologies, Llc | Systems and methods of virtual billboarding and collaboration facilitation in an augmented reality environment |
WO2019079826A1 (en) | 2017-10-22 | 2019-04-25 | Magical Technologies, Llc | DIGITAL ASSISTANT SYSTEMS, METHODS AND APPARATUSES IN AN INCREASED REALITY ENVIRONMENT AND LOCAL DETERMINATION OF VIRTUAL OBJECT PLACEMENT AND SINGLE OR MULTIDIRECTIONAL OBJECTIVES AS GATEWAYS BETWEEN A PHYSICAL WORLD AND A DIGITAL WORLD COMPONENT OF THE SAME ENVIRONMENT OF INCREASED REALITY |
US10878187B1 (en) * | 2017-12-13 | 2020-12-29 | Amazon Technologies, Inc. | Network-based content rendering |
US11095748B1 (en) | 2017-12-13 | 2021-08-17 | Amazon Technologies, Inc. | Network-based content rendering |
US11783546B2 (en) * | 2017-12-18 | 2023-10-10 | Streem, Llc | Layered 3-D images for augmented reality processing |
US11113887B2 (en) * | 2018-01-08 | 2021-09-07 | Verizon Patent And Licensing Inc | Generating three-dimensional content from two-dimensional images |
US10904374B2 (en) | 2018-01-24 | 2021-01-26 | Magical Technologies, Llc | Systems, methods and apparatuses to facilitate gradual or instantaneous adjustment in levels of perceptibility of virtual objects or reality object in a digital scene |
US11398088B2 (en) | 2018-01-30 | 2022-07-26 | Magical Technologies, Llc | Systems, methods and apparatuses to generate a fingerprint of a physical location for placement of virtual objects |
JP7187182B2 (ja) * | 2018-06-11 | 2022-12-12 | キヤノン株式会社 | データ生成装置、方法およびプログラム |
US10885689B2 (en) * | 2018-07-06 | 2021-01-05 | General Electric Company | System and method for augmented reality overlay |
EP3595319A1 (en) * | 2018-07-12 | 2020-01-15 | InterDigital VC Holdings, Inc. | Methods and apparatus for volumetric video transport |
US10818076B2 (en) * | 2018-10-26 | 2020-10-27 | Aaron Bradley Epstein | Immersive environment from video |
US11467656B2 (en) | 2019-03-04 | 2022-10-11 | Magical Technologies, Llc | Virtual object control of a physical device and/or physical device control of a virtual object |
US11012675B2 (en) | 2019-04-16 | 2021-05-18 | At&T Intellectual Property I, L.P. | Automatic selection of viewpoint characteristics and trajectories in volumetric video presentations |
US11074697B2 (en) | 2019-04-16 | 2021-07-27 | At&T Intellectual Property I, L.P. | Selecting viewpoints for rendering in volumetric video presentations |
US10970519B2 (en) | 2019-04-16 | 2021-04-06 | At&T Intellectual Property I, L.P. | Validating objects in volumetric video presentations |
US11153492B2 (en) | 2019-04-16 | 2021-10-19 | At&T Intellectual Property I, L.P. | Selecting spectator viewpoints in volumetric video presentations of live events |
US11523185B2 (en) | 2019-06-19 | 2022-12-06 | Koninklijke Kpn N.V. | Rendering video stream in sub-area of visible display area |
US11297116B2 (en) * | 2019-12-04 | 2022-04-05 | Roblox Corporation | Hybrid streaming |
US11557094B2 (en) * | 2020-05-21 | 2023-01-17 | Virtuix Holdings Inc. | Efficient capture and delivery of walkable and interactive virtual reality or 360 degree video |
US20220067153A1 (en) * | 2020-09-03 | 2022-03-03 | The Government Of The United States, As Represented By The Secretary Of The Army | Artificial Intelligence Embedded and Secured Augmented Reality |
TWI756956B (zh) | 2020-12-01 | 2022-03-01 | 財團法人工業技術研究院 | 用於環景影像的影像處理方法及裝置 |
CN114302128A (zh) * | 2021-12-31 | 2022-04-08 | 视伴科技(北京)有限公司 | 视频生成的方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110244956A1 (en) * | 2010-03-31 | 2011-10-06 | Namco Bandai Games Inc. | Image generation system, image generation method, and information storage medium |
US20120050256A1 (en) * | 2010-09-01 | 2012-03-01 | Disney Enterprises, Inc. | System and method for virtual camera control using motion control systems for augmented three dimensional reality |
CN102547105A (zh) * | 2010-10-04 | 2012-07-04 | 三星电子株式会社 | 生成并再现运动图像数据的方法及使用该方法的照相设备 |
CN104599243A (zh) * | 2014-12-11 | 2015-05-06 | 北京航空航天大学 | 一种多视频流与三维场景的虚实融合方法 |
US20160093078A1 (en) * | 2014-09-29 | 2016-03-31 | Amazon Technologies, Inc. | Virtual world generation engine |
CN105791881A (zh) * | 2016-03-15 | 2016-07-20 | 深圳市望尘科技有限公司 | 一种基于光场摄像机的三维场景录播的实现方法 |
CN105786432A (zh) * | 2016-03-18 | 2016-07-20 | 北京奇虎科技有限公司 | 在移动终端上展示虚拟画面的方法及装置 |
CN105939481A (zh) * | 2016-05-12 | 2016-09-14 | 深圳市望尘科技有限公司 | 一种交互式三维虚拟现实视频节目录播和直播方法 |
US20170148339A1 (en) * | 2014-08-08 | 2017-05-25 | Greg Van Curen | Virtual reality system enabling compatibility of sense of immersion in virtual space and movement in real space, and battle training system using same |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU761202B2 (en) * | 1997-09-22 | 2003-05-29 | Sony Corporation | Generation of a bit stream containing binary image/audio data that is multiplexed with a code defining an object in ascii format |
US6707487B1 (en) * | 1998-11-20 | 2004-03-16 | In The Play, Inc. | Method for representing real-time motion |
US7788071B2 (en) * | 2004-12-03 | 2010-08-31 | Telekinesys Research Limited | Physics simulation apparatus and method |
KR101229283B1 (ko) * | 2005-09-15 | 2013-02-15 | 올레그 스탄니슬라보비치 루린 | 가상 3차원 객체들의 시각화를 위한 방법 및 시스템 |
EP1862969A1 (en) * | 2006-06-02 | 2007-12-05 | Eidgenössische Technische Hochschule Zürich | Method and system for generating a representation of a dynamically changing 3D scene |
GB2452510A (en) * | 2007-09-05 | 2009-03-11 | Sony Corp | System For Communicating A Three Dimensional Representation Of A Sporting Event |
KR101234495B1 (ko) | 2009-10-19 | 2013-02-18 | 한국전자통신연구원 | 화상회의 시스템을 위한 단말, 중계 노드 및 스트림 처리 방법 |
US8803951B2 (en) * | 2010-01-04 | 2014-08-12 | Disney Enterprises, Inc. | Video capture system control using virtual cameras for augmented reality |
EP2384001A1 (en) | 2010-04-29 | 2011-11-02 | Alcatel Lucent | Providing of encoded video applications in a network environment |
US20120139906A1 (en) | 2010-12-03 | 2012-06-07 | Qualcomm Incorporated | Hybrid reality for 3d human-machine interface |
CN107197227B (zh) | 2011-03-18 | 2019-05-10 | 索尼公司 | 图像处理设备、图像处理方法和计算机可读存储介质 |
JP5749595B2 (ja) | 2011-07-27 | 2015-07-15 | 日本電信電話株式会社 | 画像伝送方法、画像伝送装置、画像受信装置及び画像受信プログラム |
US9392248B2 (en) | 2013-06-11 | 2016-07-12 | Google Inc. | Dynamic POV composite 3D video system |
EP3058724A2 (en) | 2013-10-14 | 2016-08-24 | Koninklijke Philips N.V. | Remapping a depth map for 3d viewing |
GB2521377B (en) * | 2013-12-17 | 2018-09-19 | Jaguar Land Rover Ltd | A method and system for replaying a vehicle journey |
US10321117B2 (en) * | 2014-04-11 | 2019-06-11 | Lucasfilm Entertainment Company Ltd. | Motion-controlled body capture and reconstruction |
EP3014578B1 (en) * | 2014-04-30 | 2018-08-01 | Intel Corporation | System for and method of generating user-selectable novel views on a viewing device |
US9599821B2 (en) * | 2014-08-08 | 2017-03-21 | Greg Van Curen | Virtual reality system allowing immersion in virtual space to consist with actual movement in actual space |
US20160140761A1 (en) | 2014-11-19 | 2016-05-19 | Microsoft Technology Licensing, Llc. | Using depth information for drawing in augmented reality scenes |
-
2017
- 2017-05-31 US US15/610,573 patent/US10297087B2/en active Active
-
2018
- 2018-05-24 EP EP18731657.5A patent/EP3632118A1/en active Pending
- 2018-05-24 KR KR1020197035521A patent/KR102494795B1/ko active IP Right Grant
- 2018-05-24 CN CN201880034416.1A patent/CN110679152B/zh active Active
- 2018-05-24 WO PCT/US2018/034431 patent/WO2018222499A1/en active Application Filing
- 2018-05-24 JP JP2019566170A patent/JP7189895B2/ja active Active
-
2019
- 2019-01-15 US US16/248,557 patent/US10636220B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110244956A1 (en) * | 2010-03-31 | 2011-10-06 | Namco Bandai Games Inc. | Image generation system, image generation method, and information storage medium |
US20120050256A1 (en) * | 2010-09-01 | 2012-03-01 | Disney Enterprises, Inc. | System and method for virtual camera control using motion control systems for augmented three dimensional reality |
CN102547105A (zh) * | 2010-10-04 | 2012-07-04 | 三星电子株式会社 | 生成并再现运动图像数据的方法及使用该方法的照相设备 |
US20170148339A1 (en) * | 2014-08-08 | 2017-05-25 | Greg Van Curen | Virtual reality system enabling compatibility of sense of immersion in virtual space and movement in real space, and battle training system using same |
US20160093078A1 (en) * | 2014-09-29 | 2016-03-31 | Amazon Technologies, Inc. | Virtual world generation engine |
CN104599243A (zh) * | 2014-12-11 | 2015-05-06 | 北京航空航天大学 | 一种多视频流与三维场景的虚实融合方法 |
CN105791881A (zh) * | 2016-03-15 | 2016-07-20 | 深圳市望尘科技有限公司 | 一种基于光场摄像机的三维场景录播的实现方法 |
CN105786432A (zh) * | 2016-03-18 | 2016-07-20 | 北京奇虎科技有限公司 | 在移动终端上展示虚拟画面的方法及装置 |
CN105939481A (zh) * | 2016-05-12 | 2016-09-14 | 深圳市望尘科技有限公司 | 一种交互式三维虚拟现实视频节目录播和直播方法 |
Also Published As
Publication number | Publication date |
---|---|
KR102494795B1 (ko) | 2023-02-03 |
CN110679152B (zh) | 2022-01-04 |
US20180350146A1 (en) | 2018-12-06 |
US20190147661A1 (en) | 2019-05-16 |
WO2018222499A1 (en) | 2018-12-06 |
JP2020522194A (ja) | 2020-07-27 |
JP7189895B2 (ja) | 2022-12-14 |
US10636220B2 (en) | 2020-04-28 |
KR20200012879A (ko) | 2020-02-05 |
US10297087B2 (en) | 2019-05-21 |
EP3632118A1 (en) | 2020-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110679152B (zh) | 生成融合现实场景的方法和系统 | |
US10891781B2 (en) | Methods and systems for rendering frames based on virtual entity description frames | |
CN110663012B (zh) | 用于定制虚拟现实数据的方法和系统 | |
US10586377B2 (en) | Methods and systems for generating virtual reality data that accounts for level of detail | |
US10699749B2 (en) | Methods and systems for customizing virtual reality data | |
CN110663067B (zh) | 用于生成现实世界场景的定制视图的虚拟化投影以包括在虚拟现实媒体内容中的方法和系统 | |
US10347037B2 (en) | Methods and systems for generating and providing virtual reality data that accounts for level of detail |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40013953 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |