使用场景的2d捕获图像提供虚拟现实内容的方法和系统

文档序号:1602877 发布日期:2020-01-07 浏览:17次 >En<

阅读说明:本技术 使用场景的2d捕获图像提供虚拟现实内容的方法和系统 (Method and system for providing virtual reality content using 2D captured images of a scene ) 是由 迈克尔·洛达托 勒内·塞普尔韦达 派·穆德拉吉里 丹尼·布赖滕费尔德 赛义德·梅兰·卡迈勒 于 2018-01-12 设计创作,主要内容包括:一种示例性方法包括虚拟现实媒体提供者系统,该虚拟现实媒体提供者系统:从相对于包括一个或多个对象的场景在物理上被布置在不同有利点处的多个捕获设备获取用于一个或多个对象的表面数据;针对多个捕获设备中包括的每个捕获设备来生成用于2D颜色数据的颜色视频数据流和用于深度数据的深度视频数据流;将用于多个捕获设备中的每个捕获设备的颜色视频数据流和深度视频数据流封装到传输流内;以及提供元数据和传输流以流传输到媒体播放器设备。(An exemplary method includes a virtual reality media provider system that: obtaining surface data for one or more objects from a plurality of capture devices physically arranged at different vantages relative to a scene including the one or more objects; generating a color video data stream for 2D color data and a depth video data stream for depth data for each capture device included in a plurality of capture devices; encapsulating the color video data stream and the depth video data stream for each of the plurality of capture devices into a transport stream; and providing the metadata and the transport stream for streaming to the media player device.)

使用场景的2D捕获图像提供虚拟现实内容的方法和系统

相关申请

本申请要求优先权于在2017年5月31日提交的、标题为“使用场景的2D捕获图像提供虚拟现实内容的方法和系统”的美国专利申请No.15/610,575,其全部内容通过引用合并于此。

背景技术

计算和网络技术的进步使新形式的媒体内容成为可能。例如,虚拟现实媒体内容是可用的,其将观众(或“用户”)沉浸在用户可能通过将注意力集中到虚拟现实世界中同时呈现的各种事物的任何一个而体验的交互式虚拟现实世界中。在虚拟现实媒体内容的呈现期间的任何时间,体验虚拟现实媒体内容的用户都可以在相对于水平维度(例如,向前、向后、向左、向右等)以及垂直维度(例如,向上、向下等)的任何方向上环顾虚拟现实世界,从虚拟现实世界中的特定角度为用户提供一种感觉,即他或她实际上存在于虚拟现实世界中并正在体验虚拟现实世界。

在一些示例中,虚拟现实媒体提供者可以通过经由网络将表示虚拟现实世界的数据传输到由用户正在使用以体验虚拟现实世界的客户端计算设备来提供包括虚拟现实世界的虚拟现实内容。为此,虚拟现实媒体提供者实现了服务器系统,该服务器系统执行处理以构建虚拟现实世界的三维(“3D”)模型,并封装和传输表示虚拟现实世界所构建的3D模型的数据。

具体实施方式

本文描述了用于使用场景的2D捕获图像来提供虚拟现实内容的方法和系统。在某些示例性方法和系统中,虚拟现实媒体提供者系统可以从相对于场景物理上布置在不同有利点(例如,在相对于场景具有不同捕获角度的不同位置)处的多个捕获设备(例如,摄像机、3D深度扫描硬件等)获取用于场景(例如,现实世界场景)的表面数据(例如,2D捕获的图像)。所获取的表面数据可以包括如由多个捕获设备中包括的每个捕获设备所捕获的用于场景中一个或多个对象的表面的2D颜色数据和深度数据。

由捕获设备中的每个所捕获的2D颜色数据和深度数据可以表示从相对于场景的特定有利点来看的场景的不同非网格化视图。如本文所使用的,“不同非网格化视图”对应于来自特定捕获设备的场景的视图,在该特定捕获设备中,未将由特定捕获设备捕获的场景的表面数据(例如,2D颜色数据和深度数据)与由另一个捕获设备捕获的表面数据一起组合(即,非网格化)以形成场景的3D模型或3D表示。

基于所获取的2D颜色数据和深度数据,虚拟现实媒体提供者系统可以为多个捕获设备中包括的每个捕获设备生成用于2D颜色数据的颜***数据流和用于深度数据的深度视频数据流。颜***数据流和深度视频数据流可以以可以适合特定实现的任何合适数据流格式生成。例如,在每个颜***数据流中包括的2D颜色数据可以被格式化为由多个捕获设备中包括的相应捕获设备捕获的场景的一系列顺序2D颜色数据捕获(例如,高分辨率静止图像)。另外,每个深度视频数据流中包括的深度数据可以被格式化为由在多个捕获设备中包括的相应捕获设备所捕获的场景的一系列顺序2D深度数据捕获。

虚拟现实媒体提供者系统还可以获取与场景相关联的元数据。元数据可以包括:与场景相关联的信息,例如与多个捕获设备的固有和外部特性有关的信息,该信息可以由适当配置的媒体播放器设备使用;以及由多个捕获设备所捕获的表面数据,以生成场景的3D表示,媒体播放器设备可以使用该场景的3D表示从场景中的任意视点以渲染场景的视图,以呈现给媒体播放器设备的用户。

虚拟现实媒体提供者系统可以处理并且提供至少一些所获取的表面数据和元数据,以用于通过网络流传输到媒体播放器设备。例如,虚拟现实媒体提供者系统可以将所生成的颜***数据流和深度视频数据流中的至少一些封装成传输流。这样,在某些示例中,对于在多个捕获设备中包括的每个捕获设备,传输流可以包括表示相对于场景而言从相应的特定有利点看的场景的相应的不同非网格化视图的数据。在此描述示例性的传输流。

虚拟现实媒体提供者系统可以提供传输流和元数据,以用于流传输到媒体播放器设备。在某些示例中,虚拟现实媒体提供者系统可以通过诸如本文所述的那些的任何合适的通信信道将传输流和元数据流传输到媒体播放器设备。可替选地,虚拟现实媒体提供者系统可以将传输流和元数据提供给内容传递网络(“CDN”)(例如,第三方CDN),以流传输到媒体播放器设备。在某些示例中,虚拟现实媒体提供者系统可以包括包括传输流中的元数据,并且提供传输流以进行流传输,使得元数据作为传输流的一部分被流传输到媒体播放器设备。在其他示例中,虚拟现实媒体提供者系统可以分别提供元数据和传输流以进行流传输,使得元数据可以与传输流分离地流传输。

媒体播放器设备可以被配置为接收和处理元数据和传输流,以访问和使用用于在多个捕获设备中包括的捕获设备中的每个的元数据、颜***数据流和深度视频数据流,以在虚拟3D空间中生成场景的3D表示。例如,媒体播放器设备可以使用来自第一捕获设备的元数据和2D颜色数据和深度数据以及来自第二捕获设备的2D颜色数据和深度数据以至少部分地构造从媒体播放器设备的用户的角度来看的场景的3D表示(例如,场景中的对象的3D表示)。

本文描述的方法和系统可以显著地减少通过网络将虚拟现实内容提供给媒体播放器设备所需的带宽量。例如,代替生成场景服务器侧的3D模型,本文描述的方法和系统生成代表场景的不同未网格化视图的2D数据并将其通过网络发送到媒体播放器设备。如本文中将显而易见的,这显著地减少了需要在服务器侧进行处理并通过网络传输的数据量,从而导致虚拟现实内容以提高的速度、减少的处理和减少的带宽进行实时流传输。

附加地或可替选地,本文描述的方法和系统可以减少或消除递送虚拟现实内容所需的带宽的某些变化,该变化传统上取决于由虚拟现实内容表示的场景的复杂性。例如,通过生成表示场景的2D数据(而不是场景的3D模型)并将其经由网络发送到媒体播放器设备,本文描述的方法和系统可以促进用于虚拟现实内容的传递的一致带宽要求,而不管场景的复杂性如何(例如,不管在给定时间处在场景中包括多少个对象)。这对于包括许多对象的复杂场景特别有用。根据其中生成场景的3D模型并将其发送到媒体播放器设备的常规方法,场景中包括的每个对象增加了表示场景的3D模型所需的数据量。这样,当场景中存在许多对象时,根据常规方法向媒体播放器设备发送3D模型所需的数据量变高。然而,利用本文所述的系统和方法,传输颜***数据流和深度视频数据流所需的带宽量保持基本一致,而不管场景中对象的数量如何。

附加地或可替选地,通过生成和发送表示场景的2D数据(例如,通过提供表示场景的2D色彩数据和深度数据作为在传输流中的视频数据),本文描述的方法和系统可以利用现有的视频处理和流传输技术和现有图形硬件(例如,现有图形卡)和/或软件以形成用于传递虚拟现实内容的数据管线,与传统的虚拟现实传递方法相比,该数据管线可以节省处理和/或网络资源,支持虚拟现实内容服务的可扩展性和/或扩展虚拟现实内容的可访问性。本文描述了这种数据管线的示例。

本文所述的系统和方法可以提供附加或替代的益处,其可以用于特定的实现。现在将参考附图更详细地描述各种实施例。所公开的方法和系统可以提供上述益处中的一个或多个和/或将在本文中变得显而易见的各种附加和/或替代性益处。

图1示出了根据本文描述的方法和系统的示例性虚拟现实媒体系统100(“系统100”),其可以生成并提供虚拟现实内容。如图所示,系统100可以包括但不限于虚拟现实媒体提供者系统102和媒体播放器设备系统104。虚拟现实媒体提供者系统102可以包括但不限于有选择地并且在通信上彼此耦合的2D颜色和深度数据捕获设施106、2D颜色和深度数据处理设施108、2D颜色和深度数据编码设施110以及2D颜色和深度数据复用设施112。将认识到,虽然设施106至112在图1中被示为单独设施,但是,设施106至112可以被组合成更少的设施,诸如被组合成单个设施,或者可以被划分成更多的设施,其用于特定的实现。设施106至112中的每个可以包括或被容纳在设备(例如,具有单个机架)中,并且位于单个位置,或者可以在多个设备(例如,服务器)和/或多个位置之间分布,其可以服务于特定的实现。

媒体播放器设备系统104可以包括但不限于彼此选择性地且通信地耦合的2D颜色和深度数据解码/解复用设施114和数据渲染设施116。将认识到,虽然设施114和116在图1中被示为单独设施,但是设施114和116可以被组合成更少的设施,例如当可以服务于特定的实现时被组合成单个设施或者被划分成更多的设施。设施114和116中的每个可以包括或被容纳在诸如本文所述的媒体播放器设备中。在某些示例中,媒体播放器设备可以位于用户位置(例如,诸如住所、企业等的用户场所或与媒体播放器设备的用户相关联的另一位置)。现在将更详细地描述设施106至116中的每个。

2D颜色和深度数据捕获工具106(“数据捕获工具106”)可以包括用于获取代表场景的虚拟现实内容的任何硬件和/或软件(例如,计算系统、视频和深度捕获设备、软件程序等)。该场景可以包括一个或多个对象,并且虚拟现实内容可以包括表示场景中的对象的属性的数据,诸如场景中对象的表面的外观和位置。

在某些示例中,场景可以是真实世界的场景,诸如可以现场(例如,实时)发生的真实世界事件的场景。在这样的示例中,场景可以包括与真实世界事件相关联的一个或多个真实世界对象,并且可以在真实世界事件发生时实时获取所获取的虚拟现实内容。在其他示例中,场景可以是包括一个或多个虚拟对象的虚拟场景。在其他示例中,场景可以是合并现实场景,并且该场景可以包括至少一个虚拟对象和至少一个现实世界对象。该场景可以被认为是3D场景,因为无论是真实的还是虚拟的,场景中的每个对象和/或表面相对于场景和场景中的其他对象在空间中具有可检测的位置。

如本文所使用的,“对象”可以包括从场景中的特定有利点可见的(即,不透明的)任何物体,无论其是活的还是无生命的。例如,如果场景对应于诸如篮球比赛之类的真实事件,则对象可以包括用于比赛的篮球、篮球场、篮球标准(即,篮板、篮圈、网等),参加比赛的球员和裁判员和/或在篮球比赛中存在和/或与之相关的任何其他对象。

在某些示例中,数据捕获设施106可以实时获取代表场景的虚拟现实内容。例如,如果场景对应于真实事件,则当真实事件发生时,数据捕获设备106可以实时获取表示场景的虚拟现实内容。在其他示例中,数据捕获设施106可以获取先前已捕获和存储的虚拟现实内容,以便以时移的方式进行访问和使用。

如本文所使用的,“沉浸式虚拟现实内容”是指与场景相关联的任何数据和/或内容,该数据和/或内容可以被获取、生成和/或传输到被配置为使用虚拟现实内容来渲染场景的3D表示的媒体播放器设备。例如,虚拟现实内容可以包括与场景相关联的表面数据、与场景相关联的元数据、与场景相关联的音频数据和/或与场景相关联的任何其他合适的数据。在本文中描述这样的数据的示例。虚拟现实内容可以包括表示现实世界场景内容、虚拟内容(例如,一个或多个虚拟对象)或现实世界场景内容与虚拟内容的组合的数据。

数据捕获设施106可以以任何合适的方式来获取与场景相关联的虚拟现实内容。例如,数据捕获设备106可以直接或间接从相对于场景被布置于不同有利点处并且被配置为捕获2D颜色数据和深度数据的多个捕获设备直接或间接地获取2D颜色数据和深度数据作为表面数据。此处描述了捕获设备的示例。

如本文中所使用的,“2D颜色数据”可以广泛地包括代表场景如何从捕获2D颜色数据的至少一个设备的至少一个有利点出现的任何数据。2D颜色数据可以包括表示场景的颜色(例如,红色、绿色、蓝色等)表示、场景的黑白表示、场景的灰度表示和/或场景的外观的任何其他合适的表示。在某些示例中,2D颜色数据可以包括捕获的图像序列(例如高分辨率静态图像),这些图像序列表示在特定时间段从有利点看的场景(例如,现实世界事件处的物体)的外观。例如,2D颜色数据可以包括场景的2D颜***数据,其中视频帧表示在该帧的像素坐标处的颜色值。然而,2D颜色数据不限于任何特定格式、文件类型、帧速率、分辨率、质量水平或可以与本领域中定义视频的各种定义和/或标准相关联的其他特性。

如本文所使用的,“深度数据”可以广泛地包括表示场景内的一个或多个对象(例如,现实世界事件处的一个或多个对象)的空间位置的任何数据。深度数据可以以任何合适的方式被格式化。在某些示例中,如下所述,深度数据可以被格式化为来自特定有利点的一系列顺序2D深度数据捕获(例如,在特定时间捕获的深度数据的单独实例)。例如,深度数据可以包括来自特定有利点的场景的2D深度视频数据,并且其中,视频帧表示该帧的像素坐标处的深度值。然而,深度数据不限于可以与本领域中定义视频的各种定义和/或标准相关联的任何特定格式、文件类型、帧速率、分辨率、质量水平或其他特性。优选地,深度数据具有高精度和准确性。然而,深度数据通常可以具有比2D颜色数据更低的分辨率(例如,更低的x和y坐标分辨率),并且仍然是可接受的。

深度数据可以与2D颜色数据同步。例如,深度数据中的深度数据帧和颜色数据中的颜色数据帧可在时间上与公共实例相对应(例如,相同的参考信号、时间戳、捕获时间等)。这样的对应深度数据帧和颜色数据帧可以形成一对同步帧,其与从其他有利点捕获的其他深度和颜色数据帧的同步对以及对应的元数据一起可以由媒体播放器设备处理以如本文所述,至少部分地构造场景的3D表示。

在某些示例中,数据捕获设施106可以包括多个捕获设备,诸如2D摄像机、3D深度扫描仪和组合捕获设备(例如,被配置为捕获2D视频和相关联的深度数据的设备)等等。多个捕获设备中包括的每个捕获设备可以从相对于场景的特定有利点用于捕获场景的表面数据。如本文所使用的,“有利点”是指位置和捕获角度,场景的表面数据在该位置和捕获角度由多个捕获设备中包括的每个捕获设备捕获。在某些示例中,特定捕获设备的有利点可以是固定的(即,特定捕获设备的位置和特定捕获设备的捕获角度不随时间变化)。可替选地,特定捕获设备的位置和捕获角度中的一个或多个可以随时间变化。例如,当特定捕获设备被固定到的装置相对于场景移动时,特定捕获设备的位置和/或捕获角度可随时间变化。可以通过可以适合于特定实现的任何其他合适的信息来描述有利点。本文描述了捕获设备的示例性有利点。

多个捕获设备可以以任何合适的方式并且使用可以服务于特定实现的任何合适的设备来捕获2D颜色数据和深度数据。在某些示例中,捕获设备可以包括摄像机或其他类型的图像捕获设备,它们可以从多个有利点捕获场景中对象的2D颜色数据,从这些有利点可以通过使用一种或多种深度捕获技术(例如,基于三角剖分(triangulation-based)的深度捕获技术、立体深度捕获技术等)捕获(例如,导出)对象表面的深度数据。

在其他示例中,捕获设备可以包括:被配置为捕获2D颜色数据的摄像机或其他类型的图像捕获设备;以及被配置为使用一个或多个深度捕获技术(例如,基于飞行时间的深度捕获技术、基于红外的深度捕获技术等)捕获对象的表面的深度的单独深度捕获设备。例如,每个捕获设备可以包括:第一组件(例如,摄像机设备),被配置为捕获第一组件所指向的对象的2D视频;以及第二组件(例如深度摄像机设备、3D成像或3D扫描设备等),被配置为捕获第二组件所指向的对象的深度数据。在该示例中,第一组件和第二组件可以是单独的或离散的设备,但是可以通信地耦合并被配置为彼此协同工作以同步(例如,同时)捕获2D颜色数据和深度数据。

在其他示例中,每个捕获设备可以包括被配置为捕获2D颜色数据和深度数据这两者的组合视频深度捕获设备(例如,专门设计的摄像机)。组合视频深度捕获设备可以是可商购或专门设计的摄像机,其不仅能够捕获场景中对象的视频数据,而且能够使用一种或多种合适的深度捕获技术来检测对象的相应深度。

在一些示例中,捕获设备可以具有有限的捕获角度(例如,90度、120度等),并且可以被定位和定向以捕获来自场景的相应区域的数据。例如,捕获设备的环形配置可以被定位成围绕场景或场景的一个或多个部分(例如,篮球场、在跑道上的跑圈)并且向内指向以捕获表示场景中的对象的数据。在相同或其他示例中,至少一个特定捕获设备可以具有360度捕获角度,并且可以定位为从特定捕获设备周围的对象捕获数据。例如,捕获设备中的至少一个可以是被配置为捕获和/或生成围绕与该360度摄像机相对应的中心点的场景的360度视频图像的360度摄像机。虽然本文描述了捕获设备相对于场景的某些示例性配置,但是这些示例仅是说明性的。相对于场景的捕获设备的任何合适的配置可以在其他实现中使用。

多个捕获设备可以以诸如本文所述的任何适当方式通信地彼此耦合(例如,联网在一起)和/或通信地耦合至另一设备或系统(例如虚拟现实媒体提供者系统102)。在某些实现中,这可以允许捕获设备在时间、位置、角度等上保持同步。例如,捕获设备可以发送和接收定时信号以确保每个捕获设备在共同的时间(例如,在时间的阈值范围内)处捕获相应的数据,并且可以使用所有捕获设备共享的通用时间对由不同捕获设备捕获的数据加盖时间戳。在某些示例中,数据捕获设施106中包括的控制器可以指导捕获设备关于何时捕获和/或输出场景的数据。在其他示例中,捕获设备可以控制何时捕获和/或输出场景的数据,并且数据捕获设施106可以分类和/或选择性地使用从捕获设备接收的数据。捕获设备如何可以同步地运行的这些示例仅是示例性的。任何合适的设备同步和/或通信技术可以在其他实现中使用,以促进捕获设备同步捕获场景的数据的操作。在某些替代示例中,多个捕获设备中的一个或多个可以异步运行,并且可以在捕获之后以任何合适的方式来处理和同步为场景捕获的数据。

如所提及的,在某些示例中,数据捕获设施106可以包括多个捕获设备。在替代示例中,数据捕获设施106可以不包括多个捕获设备,并且可以使用任何适当通信技术被通信地耦合到多个捕获设备并从多个捕获设备获取场景的表面数据。

数据捕获设施106还可以以任何合适的方式并且从任何合适的源获取与场景相关联的元数据。例如,在某些示例中,数据捕获设施106可以直接或间接地从多个捕获设备获取元数据。在一些示例中,数据捕获设施106可以从存储元数据的数据存储设施来获取元数据。

元数据可以包括由媒体播放器设备可以用来与获取的场景的表面数据一起使用的任何信息,以在虚拟3D空间内渲染场景的3D表示。例如,元数据可以包括但不限于指示与场景的2D颜色数据相关联的时间和空间信息的信息,诸如何时捕获2D颜色数据、从其捕获2D颜色数据的有利点、哪个捕获设备捕获了2D颜色数据等。此外,元数据可以包括指示与场景的深度数据相关联的时间和空间信息的信息,例如何时捕获深度数据、捕获深度数据的位置、从其捕获深度数据的有利点、哪个捕获设备捕获了深度数据等。元数据还可以包括视场信息(例如焦距、光学中心、视角、角度的切线等)、深度映射信息、位置信息、方位信息、视角信息、平移信息(例如,变换矩阵信息)、每个捕获设备的任何此类信息的变化和/或有关捕获设备的任何其他内部和/或外部特性的信息。在一些示例中,元数据可以包括关于坐标系统(例如,与捕获设备和/或场景相关联的局部坐标系统)的信息、投影参数、投影计算、镜头畸变参数和/或对以此处描述的任何一种方式处理所获取的表面数据有益的任何其他信息。在某些示例中,元数据可以以可以用于特定实现的任何适当格式(例如Java Script对象表示法(“JSON”)或可扩展标记语言(“XML”)等)来表示。本文描述了示例性元数据格式。

2D颜色和深度数据处理设施108(“数据处理设施108”)可以包括任何硬件和/或软件(例如计算系统、软件程序等),用于处理数据捕获设施106所获取的虚拟现实内容(例如表面数据、元数据等)。例如,数据处理设施108可以包括一个或多个运行专用和/或通用图像处理软件的服务器系统或其他计算设备。数据处理设施108可以执行任何适当的处理操作以准备由数据捕获设施106获取的数据以由2D颜色和深度数据编码设施110进行编码。例如,数据处理设施108可以执行处理操作以将数据放入适用于编码的格式,执行用于校正获取的数据中的镜头畸变的处理操作,执行校正获取的数据中的视差的处理操作,执行校正在捕获设备之间的深度差异和/或方向差异的处理操作和/或执行可能适合特定实现的任何其他合适的处理操作。

在某些示例中,数据处理设施108可以执行处理操作以将从每个捕获设备获取的2D颜色数据格式化为一系列顺序2D颜色捕获(例如,由每个捕获设备捕获的视频的一系列帧)。另外,数据处理设施108可以执行处理操作以将来自每个捕获设备的深度数据格式化为一系列顺序2D深度数据捕获。如本文所使用的,“一系列顺序2D深度数据捕获”是指从每个捕获设备对于相对于场景在不同时间点的深度值的单独捕获。例如,特定捕获设备可以捕获在第一时间点与场景有关的第一深度值集合、在第二时间点与场景有关的第二深度值集合、在第三时间点与场景有关的第三深度值集合等作为一系列顺序2D深度数据的捕获。一系列顺序2D深度数据捕获可以被视为“2D”数据,因为每个2D深度数据捕获仅包括由捕获设备在特定时间点捕获的深度值,而不包括例如3D模型或场景的3D表示。

在某些示例中,数据处理设施108可以执行处理操作,以将由数据捕获设施108获取的元数据格式化为用于编码的合适格式。例如,处理设施108可以执行处理操作以将元数据格式化为一系列顺序的元数据捕获。一系列连续元数据捕获中包括的每个元数据捕获可以包括在相对于场景的特定时间点处与特定捕获设备相关联的元数据。另外,每个元数据捕获可以与相应的2D颜色数据捕获和相应的2D深度数据捕获同步。

在某些示例中,由数据捕获设施106获取的全部或部分数据可能已经具有适合于编码的格式。因此,在这样的示例中,数据处理设施108可以绕过对所获取的数据执行某些类型的处理操作,或者处理设施108可以被完全绕过或者从虚拟现实媒体提供者系统102中省略。

2D颜色和深度数据编码设施110(“数据编码设施110”)可以包括用于对由数据捕获设施106获取的数据进行编码和/或数据处理设施108处理/(或生成)的任何硬件和/或软件(例如,计算系统、联网系统、软件程序等)。例如,数据编码设施110可以包括运行专用和/或通用视频编码软件的一个或多个服务器系统或其他计算设备。数据编码设施110可以使用适合于为每个捕获设备生成颜***数据流和深度视频数据流的任何视频编解码器来编码用于场景的表面数据(即,由数据捕获设备106获取并由数据处理设备108处理的表面数据)。例如,数据编码设施110可以根据H.264/MPEG-4编解码器、H.265/MPEG-H编解码器或任何其他合适的编解码器对表面数据进行编码。在某些示例中,颜***数据流是至少8位视频流,并且深度视频数据流是10位、12位或更好的视频流。如果深度视频数据流被提供为8位视频流,则可以对深度视频数据流执行进一步的处理(例如,平铺)。

2D颜色和深度数据复用设施112(“数据复用设施112”)可以包括任何硬件和/或软件(例如,计算系统、联网系统、软件程序等),用于将由数据编码工具110生成的颜***数据流和深度视频数据封装到传输流中。例如,数据复用设施112可以包括运行专用和/或通用视频复用软件的一个或多个服务器系统或其他计算设备。数据复用设施112可以以任何合适的方式来产生传输流。例如,数据复用设施112可以使用已知的复用技术(例如,时分复用)来复用颜***数据流和深度视频数据流。

在某些示例中,数据复用设施112可以将用于与场景相关联的捕获设备中的每个的颜***数据流和深度视频数据流复用为传输流。例如,如果有六个捕获设备捕获与场景关联的表面数据,则传输流中将包括六个颜***数据流和六个深度视频数据流。可替选地,数据复用设施112可以仅将可能的颜***数据流和深度视频数据流的子集复用到传输流中。为此,数据复用设施112还可以使用渲染和呈现虚拟现实媒体内容的媒体播放器设备从经历场景的用户接收代表用户输入(例如,对应于相对于场景的任意位置的动态可选视点的选择)的数据。基于代表用户输入的数据,数据复用设备112可以选择性地排除颜***数据流和深度视频数据流中的一些以免被封装到传输流中。例如,数据复用设施112可以选择性地排除颜***数据流和深度视频数据流,该颜***数据流和深度视频数据流包括用于一个或多个表面的表面数据,这些表面从用户的角度来看是不可见的。

在某些示例中,数据复用设施112可以将每个颜***数据流和每个深度视频数据流封装为传输流内的单独流(例如,作为MPEG传输流内的单独基本流)。例如,对于给定的捕获设备,传输流可以包括颜***数据流和单独深度视频数据流。可替选地,数据复用设备112可以使用任何适当的复用技术将传输流中包括的流中的每个复用为单个流。作为另一种选择,数据复用设备112可以将多个颜***数据流复用为传输流内的一个颜色数据流,将多个深度视频数据流复用为传输流内的一个深度数据流,并将查找信息复用为传输流以用于由媒体播放器设备用于查找和解析复用数据。

如本文所使用的,“传输流”可以指代可以将颜***数据流和深度视频数据流封装到其中的单个传输流,或者指代可以将颜***数据流和深度视频数据流封装到其中的多个传输流。因此,在某些示例中,传输流可以指的是承载用于捕获的场景的视频数据流的单个传输流(例如,用于每个3D捕获设备的一个颜***数据流和用于每个3D捕获设备的一个深度视频数据流)以及在特定实现中可能包含用于传输的任何元数据或其他合适的数据。在其他示例中,传输流可以指的是共同为捕获的场景承载视频数据流的多个传输流(例如,用于每个3D捕获设备的一个颜***数据流和用于每个3D捕获设备的一个深度视频数据流)以及在特定实现中可能包含用于传输的任何元数据或其他合适的数据。

传输流可以包括适合于将视频和/或其他数据从虚拟现实媒体提供者系统102传输到媒体播放器设备系统104的任何类型的传输流(例如,MPEG传输流或其他类型的传输流)。可以根据可以适合特定实现的任何适当的数据格式、容器格式和/或传输协议来配置传输流。

数据复用设施112可以提供生成的传输流和元数据以流传输到媒体播放器设备系统104。在某些示例中,这可以包括数据复用设备112将传输流和元数据流传输到媒体播放器设备系统104。在其他示例中,这可以包括数据复用设施112向CDN提供传输流和元数据,该CDN将传输流和元数据流传输到媒体播放器设备系统104。用于流传输的传输流和元数据的提供可以通过使用以下任何合适的流技术(例如,基于HTTP的传输协议)以任何合适的方式来完成。

数据复用设施112可以以任何合适的方式来提供用于流传输的元数据。在某些示例中,数据复用设备112可以将元数据复用到传输流中。例如,数据复用设施112可以为每个捕获设备在传输流内提供单独元数据流。可替选地,数据复用设施112可以在传输流内提供全局元数据流和查找信息,使得媒体播放器设备系统104可以接收传输流并使用查找信息来识别和使用在全局元数据流中包括的元数据。在替代示例中,数据复用设施112可以以任何合适的方式与传输流分开地提供元数据。本文中描述了传输流的示例以及如何与传输流一起或分别提供元数据。

媒体播放器设备系统104可以接收流传输的传输流和元数据。2D颜色和深度数据解码/解复用工具114(“数据解码/解复用工具114”)可以在传输流上执行一个或多个解码和/或解复用操作。解码/解复用设施114可以包括用于解码和解复用传输流和元数据中的颜***数据流和深度视频数据流的任何硬件(例如,专用图形卡)和/或软件(例如,计算系统、软件程序等)。例如,数据解码/解复用设施114可以包括运行专用和/或通用视频解码和解复用软件的一个或多个计算设备。

数据渲染设施116可以使用解码/解复用的颜***数据流、深度视频数据流和元数据来渲染在虚拟3D空间中的场景的3D表示。数据渲染设施116可以包括用于渲染场景的3D表示的任何硬件和/或软件(例如,计算系统、软件程序等)。例如,数据渲染设备116可以利用具有一个或多个可编程图形处理单元(“GPU”)的一个或多个图形卡来渲染场景的3D表示。本文中描述了数据渲染设备116如何可以基于从虚拟现实媒体提供者系统102接收的表面数据和元数据来渲染虚拟3D空间中的场景的3D表示的示例。

图2示出了图1中所示的系统100的示例性实现200。如图所示,实现200包括多个捕获设备202(例如,捕获设备202-1至202-n),所述多个捕获设备202相对于包括对象208的场景206物理地设置在不同的有利点(例如,有利点204-1至204-n)处。实现200还包括虚拟现实媒体提供者系统102通过网络212被通信地耦合到多个捕获设备202和媒体播放器设备210。

可以以可用于特定实现的任何方式将多个捕获设备202(“捕获设备202”)相对于场景206设置(即,定位、安装等)在固定位置。例如,捕获设备202可以位于围绕真实世界事件或真实世界事件的一个或多个部分的固定位置(例如,围绕或部分地围绕体育事件的运动场,例如在篮球比赛处的篮球场)。

在图2所示的例子中,有利点204中的每个提供对象208的不同的受限视图。例如,捕获设备202-2的有利点204-2可以提供从对象208上方看的视图。从有利点204-2,捕获设备202-2可能不能捕获对象208的底表面的表面数据。但是,捕获设备202-1可以位于对象208的下方,并且能够从有利点204-1捕获用于对象208的底表面的表面数据。因此,捕获设备202可以被配置为组合地捕获用于对象208的所有表面的表面数据。

捕获设备202可以以任何合适的方式被通信地彼此耦合并且耦合到虚拟现实媒体提供者系统102。如图2所示,捕获设备202可以被可通信地直接耦合到虚拟现实媒体提供者系统102、经由网络212被耦合到虚拟现实媒体提供者系统102或它们的某种组合。

网络212可以包括任何提供者特定的有线或无线网络(例如,电缆或卫星载波网络或移动电话网络)、互联网、广域网或任何其他合适的网络。数据可以使用可服务于特定实现的任何通信技术、设备、媒体和协议在捕获设备202之间、在虚拟现实媒体提供者系统102与捕获设备202之间或者在虚拟现实媒体提供者系统102与媒体播放器设备210之间流动。例如,捕获设备202可以彼此通信,并且虚拟现实媒体提供者系统102可以使用支持数据通信的任何合适的通信技术、设备、介质和/或协议与捕获设备202和/或与媒体播放器设备210通信,所述任何合适的通信技术、设备、介质和/或协议包括但不限于套接字连接、以太网、数据总线技术、数据传输介质、通信设备、传输控制协议(“TCP”)、互联网协议(“IP”)、文件传输协议(“FTP”)、Telnet、超文本传输协议(“HTTP”)、HTTPS、会话启动协议(“SIP”)、简单对象访问协议(“SOAP”)、可扩展标记语言(“XML”)及其变体、实时传输协议(“RTP”)、用户数据报协议(“UDP”)、全球移动通信系统(“GSM”)技术、码分多址(“CDMA”)技术、演进数据优化协议(“EVDO”)、4G长期演进(“LTE”)、IP语音(“VoIP”)、LTE语音(“VoLTE”)、WiMax、时分多址(“TDMA”)技术、短消息服务(“SMS”)、多媒体消息服务(“MMS”)、射频(“RF”)信令技术、无线通信技术(例如,BLUETOOTH、Wi-Fi等)、带内和带外信令技术以及其他合适的通信技术。虽然仅示出了一个网络212来互连在图2中的虚拟现实媒体提供者系统102、捕获设备202和媒体播放器设备210,但是将认识到,这些设备和系统可以通过可以服务于特定实现的多个和/或不同的互连网络来相互通信。

在图2所示的例子中,实现200形成用于传送虚拟现实内容(例如,表面数据、元数据等)的数据管线,其中,虚拟现实内容以任何合适的方式(例如,直接或通过网络212)从捕获设备202流到虚拟现实媒体提供者系统102,并通过网络212从虚拟现实媒体提供者系统102流到媒体播放器设备210。虚拟现实媒体提供者系统102如此处所述处理获取的虚拟现实内容,以在至少一个传输流中生成并提供虚拟现实内容,用于通过作为数据管线的一部分的网络212流传输到媒体播放器设备210。因为由虚拟现实媒体提供者系统102处理和提供的数据包括2D颜色和深度数据,如本文所述,所以与传统的虚拟现实内容分发方法相比,需要由虚拟现实媒体提供者系统102处理并通过网络212传输的数据量显著减少。在传统的虚拟现实内容分发方法中在服务器端生成并通过网络进行分发。现在将参考图3-8来描述虚拟现实内容如何流经数据管线的示例。

图3示出了可以在数据管线中用于向媒体播放器设备210提供场景的虚拟现实内容(例如,表面数据)的示例性数据流300。数据流300中的数据可以以本文描述的任何方式或可以用于特定的实现的方式被生成、处理、分布等。如图3所示,数据捕获设施106可以将捕获的表面数据302(例如,捕获的表面数据302-1至302-n)提供给数据处理设施108。在图3中,捕获的表面数据302-1至302-n的每个示出的实例对应于来自相应捕获设备202-1至202-n的捕获的表面数据。数据处理设施108可以以任何适当的方式(如本文所述)接收和处理捕获的表面数据302,以针对每个捕获设备202生成处理的表面数据304(例如,处理的表面数据304-1至304-n)。数据处理设施108可以将处理的表面数据304提供给数据编码设施110,数据编码设施110可以以诸如本文所述的任何合适的方式来生成适用于流传输到媒体播放器设备210的格式的编码表面数据306(例如,编码表面数据306-1至306-n)。然后,可以将编码的表面数据306提供给数据复用设施112,其可以以任何合适的方式将编码的表面数据306封装到传输流308中。然后,数据复用设施112可以将传输流308流传输到媒体播放器设备210或否则将传输流308提供(例如,到CDN)以流传输到媒体播放器设备210。

在某些示例中,表面数据(例如,捕获的表面数据302-1至302-n、处理的表面数据304-1至304-n、编码的表面数据306-1至306-n等)可以在图3中所示的整个数据流300上发送或否则提供为每个捕获设备202的单独颜色数据流和深度数据流。例如,捕获的表面数据302-1、处理的表面数据304-1和编码的表面数据306-1各自可以包括用于捕获设备202-1的颜色数据流和单独深度数据流。通过以这种方式表示和处理颜色和深度数据,与传统方法相比,本文所述的系统和方法可以显著减少由虚拟现实媒体提供者系统102完成的处理量,至少是因为虚拟现实媒体提供者系统102不生成和处理场景的3D模型。

图3中所示的表面数据可以以任何合适的方式在整个数据流300中传输或否则提供为分离的颜色数据流和深度数据流。为了说明,图4示出了可由数据捕获设施106从例如捕获设备202-2获取的示例性表面数据402。如图4中所示,表面数据402可以包括由捕获设备202-2捕获的场景206的一系列顺序2D色彩数据捕获404(例如,色彩数据流的帧)和由捕获设备202-2捕获的场景206的一系列顺序2D深度数据捕获406(例如,深度数据流的帧)。一系列顺序2D颜色数据捕获404可以表示在特定时间序列408(例如,特定的实时时段、与场景相关联的特定虚拟轴等)期间从捕获设备202-2的有利点204-2的在场景206中的对象208的颜色数据。一系列顺序2D深度数据捕获406可以表示在特定时间序列408期间从捕获设备202-2的有利点204-2的在场景206中对象208的深度数据。

图4还示出了包括在一系列顺序2D颜色数据捕获404中的示例性2D颜色数据捕获410和包括在一系列的顺序2D深度数据捕获中的示例性2D深度数据捕获412。2D颜色数据捕获410可以包括颜色数据,其可以表示从有利点204-2可见的场景206的视图(包括来自对象208的表面的颜色数据)。虽然在图4中将颜色数据示为图像,但是将理解,可以以任何合适的形式来捕获、编码、格式化、传输和表示颜色数据。例如,颜色数据可以是根据标准视频编码协议或标准图像格式等格式化的数字数据。颜色数据可以表示从虚拟有利点204-2观看时的在场景中包括的对象的彩色图像(例如,类似于彩色照片)。可替选地,颜色数据可以是代表对象的灰度图像(例如,类似于黑白照片)。

2D深度数据捕获412可以包括从与有利点204-2相关联的空间中的点的对象208的表面的深度数据。像颜色数据一样,在2D深度数据捕获412中表示的深度数据可以描绘从有利点204-2的角度看的场景206中的对象208。然而,深度数据可以表示相对于有利点204-2的位置的对象208(例如,以及场景206内的其他对象)的表面上的点的深度(即,距离或位置),而不是表示对象208的可见外观(即,以彩色或灰度表示光如何与对象208的表面相互作用)。与颜色数据一样,深度数据可以任何合适的形式被捕获、编码、格式化、传输和表示。例如,如图所示,深度数据可以由灰度图像数据表示(例如,对于在深度数据内表示的每个像素,六位或八位)。然而,代替表示可见光如何从对象208的表面反射(即,如在颜色数据中表示的),深度数据的灰度图像可以针对图像中的每个像素表示由该像素表示的点距离有利点204-2的位置有多远。例如,更接近有利点204-2的点可以用表示较深的灰色阴影的值来表示(例如,在六位实现(其中0b111111表示黑色)的情况下,更接近0b111111的二进制值)。相反,可以用代表较浅的灰色阴影的值来表示离有利点204-2较远的点(例如,在六位实现(其中0b000000代表白色)的情况下,更接近0b000000的二进制值)。

返回图3,传输流308可以具有任何合适的成分,并且包括在其中的各种流可以以适合于特定实现的任何合适的方式来布置。在某些示例中,传输流可以包括用于每个捕获设备202的颜***数据流、深度视频数据流和元数据流。为了说明,图5示出了示例性传输流502,其中,为捕获设备202-1提供了颜***数据流504-1、深度视频数据流506-1和元数据流508-1,为捕获设备202-2提供了颜***数据流504-2、深度视频数据流506-2和元数据流508-2,并且为捕获设备202-n提供了颜***数据流504-n、深度视频数据流506-n和元数据流508-n。

可替选地,传输流可以包括全局元数据流,而不是每个捕获设备202的单独元数据流。为了说明,图6示出了示例性传输流602,其包括用于每个捕获设备202(例如,捕获设备202-1至202-n)的颜***数据流604(例如,颜***数据流604-1至604-n)和深度视频数据流606(例如,深度视频数据流606-1至606-n),并且包括单个全局元数据流608。全局元数据流608可以包括有助于促进媒体播放器设备210生成场景的3D表示的所有元数据。全局元数据流608还可以包括允许媒体播放器设备210解析和使用全局元数据流608中包括的元数据的查找信息。

在某些示例中,提供给媒体播放器设备210的元数据可以与传输流被分开地提供。例如,图7示出了示例性传输流702,其包括用于每个捕获设备202(例如,捕获设备202-1至202-n)的颜***数据流704(例如,颜***数据流704-1至704-n)和深度视频数据流706(例如,深度视频数据流706-1至706-n),但不包括元数据。相反,元数据流708与传输流702被分开提供。虚拟现实媒体提供者系统102可以在传输流702之前、之后或与其同时提供元数据流708,以用于流传输到媒体播放器设备210。

图5-7所示的示例性传输流被提供仅用于说明目的。应该理解,传输流可以具有可以适合于特定实现的任何其他配置。另外,元数据可以以可以适合于特定实现的任何其他方式与传输流一起被提供或分开提供。例如,可以在传输流中包括的一个或多个流中(例如,在一个或多个颜***数据流和/或深度视频数据流中)(例如,在其开始时、结束时、中间等)提供元数据。

在某些示例中,虚拟现实媒体提供者系统102可以仅选择在某个时间点针对场景捕获的2D色彩数据和深度数据的整体集合的子集,以进行处理(例如,编码)并将其封装到传输流中以传输到媒体播放器设备210。因此,虚拟现实媒体提供者系统102可以排除针对该时间点处对于场景捕获的2D颜色数据和深度数据的整个集合的其余部分以免被处理(例如编码)和封装到传输流中。虚拟现实媒体提供者系统102可以基于任何合适的标准(例如,媒体播放器设备210的用户相对于与场景相关联的虚拟3D空间的视点)选择要包括在传输流中和/或从传输流中排除的2D色彩数据和深度数据。

图8示出了可以在数据管线中用于向媒体播放器设备210提供场景的虚拟现实内容(例如,表面数据)的另一示例性数据流800。数据流800中的数据可以以本文描述的可以用于特定的实现的任何方式被生成、处理、分布等。如图8所示,数据流800类似于图3所示的数据流300,除了数据流800包括基于由媒体播放器设备210提供的反馈804而具体配置的传输流802之外。反馈804可以包括虚拟现实媒体提供者系统102可以用来将传输流802对于媒体播放器设备210和/或媒体播放器设备210的用户214的特定视点定制的任何合适的反馈。例如,反馈804可以包括指示用户214的视点的信息、用户214的视点的改变和/或任何其他合适的信息。虚拟媒体提供者系统102可以使用反馈804来针对用户214的当前视点专门定制传输流802。为了说明,用户214的视点可以基于用户214在虚拟现实世界(例如虚拟3D空间)中移动而发生变化。在更新的视点处,仅从一些捕获设备202捕获的表面数据的子集可用于媒体播放器设备210以生成场景的3D表示。因此,虚拟现实媒体提供者系统102可以将仅用于一些捕获设备202的表面数据(例如,颜***数据流和深度视频数据流)封装在捕获流202中。在图8所示的示例中,代替将场景的所有表面数据封装到传输流802中,仅将来自捕获设备202-1和202-2的表面数据封装在传输流802内。通过基于来自媒体播放器设备210的反馈804选择性地仅在传输流802中包括由捕获设备202的子集捕获的数据的子集,本文描述的系统和方法可以减少传送传输流802和/或节省媒体播放器设备210的数据处理和/或存储资源所需的带宽量。

媒体播放器设备210可以以任何合适的方式并且使用任何合适的通信协议(诸如本文描述的那些协议)将指示更新的视点的信息作为反馈804提供给虚拟现实媒体提供者系统102。在图8所示的例子中,仅出于说明性目的示出了将反馈804提供给数据编码设备110。应当理解,在某些实现中,设施106至112中的任何一个或多个可以接收反馈804。

图9示出了可以基于图8中示出的数据流800提供的示例性传输流902。如图9所示,传输流902可以仅包括与捕获设备202-1和202-2相关联的流。例如,来自捕获设备202-1的流包括颜***数据流904-1、深度视频数据流906-1和元数据流908-1。类似地,来自捕获设备202-2的流包括颜***数据流904-2、深度视频数据流906-2和元数据流908-2。基于反馈804,可以将所有其他颜***数据流和深度视频数据流(例如,用于捕获设备202-n的颜***数据流和深度视频数据流)明确地被排除以免在传输流902中。虽然图9示出了作为传输流902内的单独元数据流908提供的元数据,但是应当理解,可以以诸如本文所述的任何其他合适的方式来提供与捕获设备202-1和202-2相关联的元数据。

图10示出了示例性图表1000,其示出了可以包括在用于n个捕获设备202的传输流中的数据。如图10所示,传输流可以包括视频数据1002、音频数据1004和元数据1006。视频数据1002可以包括与每个相应的捕获设备202相关联的颜***数据流和深度视频数据流。如图10中所示,视频数据1002可以包括用于n个捕获设备202中的每个的2D颜色数据捕获1008(例如,2D颜色数据捕获1008-1至1008-n)和2D深度数据捕获1010(例如,2D深度数据捕获1010-1至1010-n)。例如,2D颜色数据捕获1008-1可以包括由捕获设备202-1捕获的2D颜色数据。类似地,2D深度数据捕获1010-1可以包括由捕获设备202-1捕获的深度数据等等。在某些示例中,2D颜色数据捕获1008可以在时间上彼此对准并且与每个相应的2D深度数据捕获1010在时间上对准,使得来自每个捕获设备202的表面数据在时间上是同步的。

如上所述,在某些示例中,虚拟现实内容可以包括音频数据。音频数据可以由任何合适的音频捕获设备(例如,麦克风)以任何合适的方式捕获,并且可以包括任何合适的音频内容,诸如2D音频、3D音频或空间或位置音频。在某些示例中,音频捕获设备可以被包括作为每个捕获设备202的一部分。可替选地,音频捕获设备可以与捕获设备202分开地提供(例如,作为独立的音频捕获设备),并且可以不必直接对应于捕获设备202。在图10中所示的示例中,音频数据1004包括音频源1012(例如,音频源1012-1至1012-n)。图10中所示的每个音频源1012可以表示传输流中的音频数据流,该音频数据流包括由相应的捕获设备202或与相应的捕获设备202相关联的相应的音频捕获设备捕获的音频数据。例如,音频源1012-1可以对应于包括由配备有捕获设备202-1的麦克风捕获的音频数据的音频数据流,音频源1012-2可以对应于包括由配备有捕获设备202-2的麦克风捕获的音频数据的音频数据流等等。因此,音频数据可以表示从相对于捕获的场景的特定位置捕获的空间或位置2D或3D音频内容。可以以任何合适的方式在传输流中提供音频源1012。例如,每个音频源1012可以被提供为传输流内的单独流。每个音频源1012可以在时间上映射到2D颜色数据捕获1008和/或2D深度数据捕获1010,使得音频数据1004在时间上与视频数据1002同步。

如图10所示,元数据1006可以作为元数据捕获1014(例如,元数据捕获1014-1至1014-n)被包括在传输流中。每个元数据捕获1014可以包括与相应捕获设备202相关联的元数据。例如,元数据捕获1014-1可以包括与捕获设备202-1相关联的元数据,元数据捕获1014-2可以包括与捕获设备202-2相关联的元数据等等。可以以任何合适的方式在传输流中提供元数据捕获1014。例如,图10中所示的每个元数据捕获1014可以在传输流中提供为分离的元数据流。可替选地,元数据捕获1014可以以诸如本文所述的任何合适方式在传输流内的全局元数据流中一起被提供或者与传输流分开提供。

在某些示例中,元数据捕获1014可以分别在时间上对准于与给定捕获设备202相关联的相应2D颜色数据捕获1008和相应2D深度数据捕获1010。例如,元数据捕获1014-1可以在时间上对准于与捕获设备202-1相关联的2D颜色数据捕获1008-1和2D深度数据捕获1010-1,元数据捕获1014-2可以在时间上对准于与捕获设备202-2相关联的2D颜色数据捕获1008-2和2D深度数据捕获1010-2等等。在某些示例中,元数据1006可以包括:与音频源1012相关联的任何合适的数据。例如,元数据捕获1014-2可以包括位置数据,该位置数据指示用于捕获音频源1012-1中表示的音频数据的麦克风在场景内的位置;和/或,与麦克风和/或麦克风捕获的音频数据相关的任何其他合适的信息。媒体播放器设备210可以被配置为以任何合适的方式使用与音频源1012相关联的捕获的音频数据和元数据,以除了基于表面数据和相应的元数据提供的场景的3D表示之外,还向用户214提供场景的空间音频表示(例如,环绕声表示)。

图11示出了可以以本文描述的任何方式被提供给媒体播放器设备210的元数据的示例性实现1102。实现1102可以遵循JSON数据格式、二进制数据格式(例如,结构化数据格式)或可以用于特定实现的任何其他合适的数据格式。图11示出了可用于定义与特定捕获设备(例如,捕获设备202-1)相关联的元数据的示例性数据字段。现在将描述对图11中所示的每个字段的简要描述。

在图1所示的示例中,标有“流ID”的字段可以被填充与特定捕获设备相关联的颜***数据流的标识符和深度视频数据流的标识符。可以使用字符串类型变量或任何其他合适的数据类型来表示标识符。对于任何适当类型的数据流,标识符可以是任何适当格式。例如,对于MPEG传输流,标识符可以是MPEG传输流中的分组的分组标识符(“PID”)。

在图11所示的示例中,标记为“深度映射”的字段被填充由捕获设施106最初提供的“近”和“远”深度值,并且“近”和“远”深度值分别表示可表示的值范围的最小值的距离(例如,距特定捕获设备)和可表示的值范围的最大值的距离(例如,距特定捕获设备)。“近”和“远”深度值可以将数据值映射到现实世界单位,并且可以由浮点值或任何其他合适的数据类型表示。在一个实施例中,这可以包括诸如

Figure BDA0002286926550000271

的格式的更广义的“深度解码”,其中,

Figure BDA0002286926550000272

并且提供者系统102(例如,提供者系统102的捕获设施106)发送矩阵系数a、b、c、d。

在图11所示的例子中,标记为“3×4列-主要变换矩阵”的字段可以用媒体播放器设备210使用的变换矩阵来填充,以将包括在颜***数据流和深度视频数据流中的数据变换为公共虚拟3D空间中的坐标。

在图11所示的示例中,标记为“FOV切线角”的字段可以被填充有指示视场或固有捕获设备参数的信息,例如在视角、角度的切线(例如,tanleft、tanright、tantop和tanbottom)方面基于特定捕获设备的焦距、中心点等的那些。在某些示例中,元数据可以附加地或可替选地包括外部捕获设备参数和/或与关联于捕获设备和/或捕获的表面数据的线性和/或非线性深度差异有关的信息。

图11中所示的实现1102是在某些示例中可以表示元数据并将其提供给媒体播放器设备210的一种方式的图解。在其他示例中,元数据可以以任何其他格式表示,并且可以包括适合于特定实现的任何其他或替代信息。

返回图2,媒体播放器设备210可以通过网络212从虚拟现实媒体提供者系统102接收代表虚拟现实内容的数据(例如,表面数据和元数据)。该数据可以通过网络212以任何合适的方式被发送、携带和接收,并且可以以任何合适的数据传输格式和/或协议来表示,包括本文所述的任何示例性数据格式。例如,媒体播放器设备210可以接收本文描述的任何示例性传输流和/或元数据。

媒体播放器设备210可以被配置为访问和使用从虚拟现实媒体提供者系统102接收的元数据、2D颜色数据和深度数据以生成场景206的3D表示。媒体播放器设备210可以进一步被配置为使用场景206的3D表示,以提供从虚拟3D空间内的视点来看用户214将要体验的3D表示的视图。为此,媒体播放器设备210可以合并媒体播放器设备系统104,并且可以执行媒体播放器设备系统104的任何操作。

如本文所使用的,场景的“3D表示”是指场景的至少部分虚拟3D构造(例如,场景中存在的一个或多个对象的至少部分虚拟3D构造)。例如,媒体播放器设备210可以接收和使用场景的元数据和表面数据,以渲染至少从虚拟3D空间内的特定视点对用户214可见的场景内对象的表面。在某些示例中,该3D表示可以被认为是部分3D表示,因为从用户214的视点来看用户214不可见的表面(例如,对象的远侧)可能不会被媒体播放器设备210渲染。

如本文所使用的,“虚拟3D空间”是指虚拟3D世界的虚拟现实空间。可以基于一组虚拟3D世界坐标表示的虚拟3D空间可以由媒体播放器设备210生成和使用,以渲染由用户214将要体验的场景的3D表示。在虚拟3D空间内,用户214可以相对于场景的3D表示朝从用户214的视点看的任何方向(例如,向前、向后、向左、向右、向下和/或向上)看。此外,用户214可以移动用户214的视点到虚拟3D空间内的其他位置(即,通过动态选择场景的不同动态可选视点)。在某些示例中,虚拟3D空间在本文中可以称为沉浸式虚拟现实世界。这里提供了虚拟3D空间的示例。

媒体播放器设备210可以包括任何设备或由任何设备实现,这些设备能够接收代表虚拟现实内容的数据,例如本文所述的场景的元数据和2D表面数据,并处理接收到的数据以生成场景的3D表示。媒体播放器设备210可以使用场景的3D表示从场景的3D表示内的选定视点渲染并呈现场景的3D表示的视图,该视图可以是沉浸式虚拟现实世界的视场(例如,代表真实世界事件的沉浸式的虚拟现实世界)。媒体播放器设备210还可以检测来自用户214的用户输入,并且基于用户输入,动态更新要随着用户214体验到沉浸式虚拟现实世界而渲染和呈现的沉浸式虚拟现实世界的视场。

例如,从沉浸式虚拟现实世界中的观点看的视场可以提供一个窗口,用户214可以通过该窗口轻松自然地环顾沉浸式虚拟现实世界。视场可以由媒体播放器设备210呈现(例如,在媒体播放器设备210的显示屏上),并且可以包括描绘沉浸式虚拟现实世界内围绕用户214的视点的对象的视频。另外,当用户214体验沉浸式虚拟现实世界时,视场可以响应于由用户214提供的用户输入而动态地改变。例如,媒体播放器设备210可以检测用户输入(例如,移动或转动在其上呈现视场的显示屏)。作为响应,视场可以代替从前一个视点看到的对象而显示不同的对象和/或从不同的视点看到的对象(例如,与显示屏幕的位置相对应的视点)。

为了促进用户214体验虚拟现实内容,媒体播放器设备210可以包括至少一个显示屏(例如,内置于头戴式虚拟现实设备中的头戴式显示屏或用诸如硬纸板装置之类的装置安装在用户头部上的移动设备的显示屏)或与之相关联。媒体播放器设备210还可以包括被配置为接收、维护和/或处理代表虚拟现实世界的2D色彩数据和深度数据以及相应的元数据,以在媒体播放器设备210的显示屏上呈现(例如,渲染)虚拟现实世界的视图的软件。例如,媒体播放器设备210可以包括专用的独立软件应用程序(例如,移动应用程序),其被配置为处理和在显示器上呈现代表虚拟现实世界的数据。在其他示例中,用于呈现虚拟现实世界的特定视图的软件可以包括非专用软件,例如标准网络浏览器应用程序。

附加地或可替选地,媒体播放器设备210可以包括被配置为促进接收、解码、解复用和/或处理包括在传输流(例如,传输流308)中的2D颜色数据和深度数据的硬件。例如,媒体播放器设备210可以包括具有专用视频解码硬件(例如,一个或多个专用视频解码器)和可编程GPU的图形卡。

媒体播放器设备210可以采用几种不同形式因数之一。例如,媒体播放器设备210可以包括下述部分或由其实现:头戴式虚拟现实设备(例如,虚拟现实游戏设备),该头戴式虚拟现实设备包括头戴式显示屏;个人计算机设备(例如台式计算机、膝上型计算机等);移动或无线设备(例如,智能手机、平板设备、移动阅读器等);或可以用于特定实现以促进接收和/或呈现虚拟现实内容的任何其他设备或设备的配置。不同类型的媒体播放器设备(例如,头戴式虚拟现实设备、个人计算机设备、移动设备等)可以为用户210提供具有不同沉浸度的不同类型的虚拟现实体验。

虽然已经描述了某些媒体播放器设备的示例,但是这些示例是说明性的而不是限制性的。媒体播放器设备可以包括任何合适的设备和/或设备的配置,这些设备被配置为促进根据在此描述的原理提供的虚拟现实内容的接收,并且被配置为使用虚拟现实内容来渲染场景的3D表示。例如,媒体播放器设备可以包括拴系设备配置(例如,拴系耳机设备)或非拴系设备配置(例如,从处理设备不受束缚的显示屏)。作为另一示例,头戴式虚拟现实媒体播放器设备或其他媒体播放器设备可以与虚拟现实控制器(例如可穿戴控制器(例如,环形控制器)和/或手持控制器)结合使用。

在某些示例中,媒体播放器设备210可以实时地(例如,在场景中的事件发生的同时或在微小的延迟时间段之后)或接近实时地(例如,在获取、处理、发送和/或渲染虚拟现实内容之后)接收、处理和呈现虚拟现实内容。在其他示例中,媒体播放器设备210可以从发生了场景中的事件时起的时间稍后以时移的方式接收、处理和呈现虚拟现实内容。

为了支持对虚拟现实内容的时移观看,在获取场景的表面数据之后,系统100可以存储和保存代表场景的表面数据和相应的元数据的记录。然后,当用户214以后希望体验场景时,虚拟现实媒体内容提供者系统102可以将记录的表面数据和元数据提供给媒体播放器设备210,以供媒体播放器设备210用来以时移的方式在虚拟3D空间中生成场景的3D表示。

媒体播放器设备210可以以任何合适的方式处理表面数据和相应的元数据,例如在由媒体播放器设备210接收的传输流中包括的元数据和颜***数据流以及深度视频数据流,以生成虚拟3D空间内的场景的3D表示。例如,在某些示例中,媒体播放器设备210可以在虚拟3D空间中生成场景的3D表示,并以在下文中描述的任何方式渲染从虚拟3D空间中的视点看的场景的3D表示的视图:在与本申请相同的日期提交的共同未决美国专利申请No.,标题为“基于三维(“3D”)场景的二维(“2D”)捕获图像渲染虚拟现实内容的方法和系统(Methods and Systems for Rendering Virtual Reality Content Based on Two-Dimensional("2D")Captured Imagery of a Three-Dimensional("3D")Scene)”,该申请通过引用整体并入本文。在其他示例中,媒体播放器设备210可以生成虚拟3D空间内的场景的3D表示,并以任何其他合适的方式(包括通过使用用于基于从虚拟现实媒体提供者系统102接收的数据生成场景的3D模型并渲染从场景内的视点看的场景的3D模型的视图的已知技术)渲染从虚拟3D空间中的视点看的场景的3D表示的视图。

媒体播放器设备210可以以任何合适的方式在虚拟3D空间(例如,虚拟现实世界)中向用户呈现场景的3D表示。为了说明,图12示出了示例性虚拟现实体验1200,其中,媒体播放器设备210向用户214呈现场景(例如,场景206)中包括的对象(例如,对象208)的3D表示1202的视图。具体地,在视场1204内呈现3D表示的视图1202,其示出了从对应于场景中对象正下方的任意位置的视点看的场景。虚拟3D空间1206表示基于场景的虚拟现实世界。可以使用全局坐标系或以任何其他合适的方式来表示虚拟3D空间1206和虚拟3D空间1206内的位置。用户214可以例如通过下述方式向媒体播放器设备210提供输入以体验虚拟3D空间1206:提供用户输入(例如,头部移动、键盘输入等)来环绕虚拟3D空间1206观看和/或移动(即,动态选择从其体验的视点),从而更改虚拟3D空间1206中的视点,并因此更改媒体播放器设备210呈现的场景的视图。

在图12中,虚拟3D空间1206被图示为半球形,指示用户214可以在虚拟3D空间1206内的任何方向上观看,该方向从3D表示1202下方的位置的观点来看基本上向前、向后、向左、向右和/或向上。在其他示例中,虚拟3D空间1206可以包括整个360度乘180度的球体,使得用户214也可以向下看。另外,用户214可以移动到在虚拟3D空间内的其他位置(即,动态选择场景的不同动态可选择的视点)。例如,用户214可以选择从3D表示1202的左侧的视点、从3D表示1202的右侧的视点或在3D表示1202上方悬浮的视点等。

图13示出了用于使用场景的2D捕获图像来提供虚拟现实内容的示例性方法1300。虽然图13示出了根据一个实施例的示例性操作,其他实施例可以省略、添加到、重新排序和/或修改图13中所示的任何操作。图13中所示的操作中的一个或多个可以由虚拟现实媒体提供者系统102和/或其任何实现来执行。

在操作1302中,虚拟现实媒体提供者系统(例如,虚拟现实媒体提供者系统102)可以从相对于包括一个或多个对象的场景物理地布置在不同有利点处的多个捕获设备获取用于一个或多个对象的表面数据。在一些示例中,表面数据可以包括多个捕获设备中包括的每个捕获设备的2D颜色数据和深度数据。如本文所述,包括在多个捕获设备中的每个捕获设备的2D颜色数据和深度数据可以表示相对于场景从特定有利点(例如,从具有特定捕获角度的特定位置)看的场景的不同的未网格化的视图。可以以本文描述的任何方式来执行操作1302。

在操作1304中,虚拟现实媒体提供者系统可以为包括在多个捕获设备中的每个捕获设备生成用于2D颜色数据的颜***数据流和用于深度数据的深度视频数据流。可以以本文描述的任何方式来执行操作1304。

在操作1306中,虚拟现实媒体提供者系统可以获取包括在多个捕获设备中的每个捕获设备的颜***数据流和深度视频数据流的元数据。在一些示例中,虚拟现实媒体提供者系统可以基于从多个捕获设备接收的信息来生成元数据。可替选地,可以从诸如数据存储设施或第三方的另一源获取全部或至少一些元数据。可以以本文描述的任何方式来执行操作1306。

在操作1308中,虚拟现实媒体提供者系统可以将包括在多个捕获设备中的每个捕获设备的颜***数据流和深度视频数据流封装到传输流中。对于包括在多个捕获设备中的每个捕获设备,传输流可以包括表示相对于场景从相应的有利点看的场景的相应的不同的未网格化的视图的数据。在一些示例中,封装在传输流中的每个颜***数据流可以包括2D颜色数据,该2D颜色数据被格式化为由包括在多个捕获设备中的相应捕获设备捕获的场景的一系列顺序2D颜色数据捕获,并且封装在传输流中的每个深度视频数据流可以包括深度数据,该深度数据被格式化为由包括在多个捕获设备中的相应捕获设备捕获的场景的一系列顺序2D深度数据捕获。可以以本文描述的任何方式来执行操作1308。

在操作1310中,虚拟现实媒体提供者系统可以提供元数据和传输流以流传输到媒体播放器设备。媒体播放器设备可以被配置为使用元数据和传输流来生成虚拟3D空间内的场景的3D表示。在某些示例中,虚拟现实媒体提供者系统可以将元数据和传输流流传输到媒体播放器设备。或者,虚拟现实媒体提供者系统可以将元数据和传输流提供给CDN和/或第三方(例如,由Amazon Web Services运营的CDN),然后由CDN和/或第三方以任何合适的方式将元数据和传输流传输到媒体播放器设备。可以以本文描述的任何方式来执行操作1310。

在某些实施例中,本文描述的系统、组件和/或过程中的一个或多个可以由一个或多个适当配置的计算设备来实现和/或执行。为此,上述系统和/或组件中的一个或多个可以包括在被配置为执行本文所述的一个或多个过程的至少一个非暂时性计算机可读介质上包含的任何计算机硬件和/或计算机实现的指令(例如,软件)或由其来实现。特别地,系统组件可以在一个物理计算设备上实现,或者可以在多个物理计算设备上实现。因此,系统组件可以包括任意数量的计算设备,并且可以采用多个计算机操作系统中的任何一个。

在某些实施例中,本文描述的一个或多个过程可以至少部分地实现为包含在非暂时性计算机可读介质中并且可由一个或多个计算设备执行的指令。通常,处理器(例如,微处理器)从非暂时性计算机可读介质(例如,存储器等)接收指令,并执行那些指令,从而执行一个或多个过程,包括一个或多个本文所述的过程。可以使用各种已知的计算机可读介质中的任何一种来存储和/或发送这样的指令。

计算机可读介质(也称为处理器可读介质)包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性介质。这样的介质可以采取许多形式,包括但不限于非易失性介质和/或易失性介质。非易失性介质可以包括例如光盘或磁盘以及其他持久性存储器。易失性介质可以包括例如动态随机存取存储器(“DRAM”),其通常构成主存储器。计算机可读介质的常见形式包括例如磁盘、硬盘、磁带、任何其他磁介质、光盘只读存储器(“CD-ROM”)、数字视盘(“DVD”)、任何其他光学介质、随机存取存储器(“RAM”)、可编程只读存储器(“PROM”)、电可擦除可编程只读存储器(“EPROM”)、FLASH-EEPROM、任何其他存储芯片或盒或计算机可以读取的任何其他有形介质。

图14示出了示例性计算设备1400,其可以被具体地被配置为执行本文所述的一个或多个过程。如图14所示,计算设备1400可以包括通信接口1402、处理器1404、存储设备1406、输入/输出(“I/O”)模块1408和经由通信基础设施1412通信地连接的图形卡1410。虽然图14中示出了示例性计算设备1400,但是图14中示出的组件并不意图是限制性的。在其他实施例中可以使用附加或替代组件。现在将更加详细地描述图14中所示的计算设备1400的组件。

通信接口1402可以被配置为与一个或多个计算设备通信。通信接口1402的示例包括但不限于有线网络接口(例如网络接口卡)、无线网络接口(例如无线网络接口卡)、调制解调器、音频/视频连接和任何其他合适的接口

处理器1404通常代表能够处理数据或解释、执行和/或指导本文所述的一个或多个指令、过程和/或操作的执行的任何类型或形式的处理单元(例如,中央处理单元)。处理器1404可以根据一个或多个应用1414或诸如可以被存储在存储设备1406或另一计算机可读介质中的其他计算机可执行指令来指导操作的执行。

存储设备1406可以包括一个或多个数据存储介质、设备或配置,并且可以采用数据存储介质和/或设备的任何类型、形式和组合。例如,存储设备1406可以包括但不限于硬盘驱动器、网络驱动器、闪存驱动器、磁盘、光盘、RAM、动态RAM、其他非易失性和/或易失性数据存储单元或其组合或子组合。包括本文描述的数据的电子数据可以被临时和/或永久地存储在存储设备1406中。例如,表示被配置为指导处理器1404执行本文描述的任何操作的一个或多个可执行应用程序1414的数据可以存储在存储设备1406。在一些示例中,数据可以布置在驻留在存储设备1406内的一个或多个数据库中。在某些示例中,存储设备1406可以保存表面数据、元数据、数据流、视频流、传输流和/或任何设施106至116接收、生成、管理、保存、使用和/或发送的其他数据。存储设施还可以包括设施106至116使用以执行本文所述的一个或多个操作的任何其他数据。

I/O模块1408可以包括一个或多个I/O模块,其被配置为接收用户输入并提供用户输出。一个或多个I/O模块可用于接收单个虚拟现实体验的输入。I/O模块1408可以包括支持输入和输出能力的任何硬件、固件、软件或其组合。例如,I/O模块1408可以包括用于捕获用户输入的硬件和/或软件,包括但不限于键盘或小键盘、触摸屏组件(例如,触摸屏显示器)、接收器(例如,RF或红外接收器)、运动传感器和/或一个或多个输入按钮。

I/O模块1408可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器和一个或多个音频驱动程序。在某些实施例中,I/O模块1408被配置为将图形数据提供给显示器以呈现给用户。图形数据可以代表一个或多个图形用户界面和/或可以用于特定实现的任何其他图形内容。可以从某些实现中省略I/O模块1408。

在一些示例中,本文描述的任何设施可以由计算设备1400的一个或多个组件实现或在其中实现。例如,可以将驻留在存储设备1406中的一个或多个应用1414配置为引导处理器1404执行与虚拟现实媒体提供者系统102(参见图1)的数据捕获设施106、数据处理设施108、数据编码设施110或数据复用设施112相关联的一个或多个过程或功能。可替选地,可以将驻留在存储设备1406中的一个或多个应用1414配置为引导处理器1404执行与媒体播放器设备系统104的数据解码/解复用工具114或数据渲染工具116相关联的一个或多个过程或功能(参见图1)。同样,与系统100相关的任何合适的存储设施都可以由存储设备1406实现或在其中实现。

图形卡1410可以包括具有专用视频解码硬件(例如一个或多个专用视频解码器)和可编程GPU 1416的任何合适的图形卡(例如,市售图形卡)。在某些实施例中,图形卡1410可以包括附加组件。图形卡1410和/或GPU 1416可以被配置为执行和/或协助处理器1404执行本文所述的一个或多个示例性操作。图形卡1410可以包括可以适合于特定实现的任何合适数量的图形卡和/或GPU。

在前述实施例收集、存储和/或使用个人提供的个人信息的范围内,应理解,应根据所有有关保护个人信息的适用法律来使用此类信息。另外,此类信息的收集、存储和使用可能例如通过可能适用于该情况和信息类型的众所周知的“选择加入”或“选择退出”过程来征得个人对此类活动的同意。个人信息的存储和使用可以例如通过针对特别敏感信息的各种加密和匿名化技术以适当安全的方式反映信息的类型。

在前面的描述中,已经参考附图描述了各种示例性实施例。然而,将显而易见的是,在不脱离如所附权利要求书所阐述的本发明的范围的情况下,可以对其进行各种修改和改变,并且可以实现其他实施例。例如,本文描述的一个实施例的某些特征可以与本文描述的另一实施例的特征组合或替代它。因此,所述说明书和附图应被认为是说明性而不是限制性的。

38页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:语音信号处理装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类