用于生成和渲染沉浸式视频内容的方法、系统和介质与流程

文档序号:19735780发布日期:2020-01-18 04:26阅读:316来源:国知局
用于生成和渲染沉浸式视频内容的方法、系统和介质与流程

相关申请的交叉引用

本申请要求于2017年12月13日提交的美国专利申请第15/840,361号的优先权,该申请通过引用被整体并入本文。

所公开的主题涉及用于生成和渲染沉浸式视频内容的方法、系统和介质。



背景技术:

许多用户喜欢观看沉浸式视频内容(诸如虚拟现实内容、三维内容、180度内容或360度内容),该沉浸式视频内容能够为观看者提供沉浸式体验。此外,这些用户可能喜欢观看沉浸式格式的计算机生成的内容,诸如游戏视频或动画。

经常通过将视频内容应用于网格(诸如鱼眼网格或三维等矩形网格)来渲染沉浸式视频内容,这使得视频内容被渲染成如同其填充了球体的一部分一样而不是看起来是平坦的。然而,使用鱼眼投影或三维等矩形投影来渲染计算机生成的内容可能消耗许多资源,特别是在实时渲染图形时。

因此,期望的是提供用于生成和渲染沉浸式视频内容的新的方法、系统和介质。



技术实现要素:

提供了用于生成和渲染沉浸式视频内容的方法、系统和介质。

根据所公开主题的一些实施例,提供了一种用于生成沉浸式视频内容的方法,该方法包括:接收指示多个照相机中的照相机的位置的信息;基于所述多个照相机中的照相机的位置生成视频内容将被投影到的网格,其中该网格由面式柱体的一部分组成,并且其中该面式柱体具有多个面,所述多个面中的每一个面对应于来自所述多个照相机中的照相机的投影;接收与所述多个照相机对应的视频内容;以及响应于从用户设备接收到对视频内容的请求,将视频内容和所生成的网格发送到用户设备。

在一些实施例中,生成网格包括以并排的取向拼接所述多个面。

在一些实施例中,该方法进一步包括在将视频文件传输到用户设备之前,将所生成的网格插入到包括视频内容的视频文件中。

在一些实施例中,视频内容包括深度图。

在一些实施例中,该方法进一步包括将所生成的网格转换成用于投影视频内容的第二类型的网格。在一些实施例中,第二种类型的网格是鱼眼投影。

在一些实施例中,该方法进一步包括:接收与所渲染的视频内容项目相关联的结果图像信息;以及基于指示所述多个照相机中的照相机的位置的信息,使指示被呈现以移位所述多个相机中的一个或多个照相机。

根据所公开主题的一些实施例,提供了一种用于生成沉浸式视频内容的系统,该系统包括存储器和硬件处理器,当执行存储在存储器中的计算机可执行指令时,该硬件处理器被配置为:接收指示多个照相机中的照相机的位置的信息;基于所述多个照相机中的照相机的位置生成视频内容将被投影到的网格,其中该网格由面式柱体的一部分组成,并且其中该面式柱体具有多个面,所述多个面中的每一个面对应于来自所述多个照相机中的照相机的投影;接收与所述多个照相机对应的视频内容;以及响应于从用户设备接收到对视频内容的请求,将视频内容和所生成的网格发送到用户设备。

在一些实施例中,硬件处理器被配置成以并排的取向拼接所述多个面,以生成网格。

在一些实施例中,硬件处理器还被配置成:在将视频文件传输到用户设备之前,将所生成的网格插入到包括视频内容的视频文件中。

在一些实施例中,视频内容包括深度图。

在一些实施例中,硬件处理器进一步被配置成将所生成的网格转换成用于投影视频内容的第二类型的网格。

在一些实施例中,第二种类型的网格是鱼眼投影。

在一些实施例中,硬件处理器进一步被配置成:接收与所渲染的视频内容项目相关联的结果图像信息;以及基于指示所述多个照相机中的照相机的位置的信息,使指示被呈现以移位所述多个相机中的一个或多个照相机。

根据所公开主题的一些实施例,提供了一种包含计算机可执行指令的非暂时性计算机可读介质,当由处理器执行所述指令时,所述指令使处理器执行用于生成沉浸式视频内容的方法,该方法包括:接收指示多个照相机中的照相机的位置的信息;基于所述多个照相机中的照相机的位置生成视频内容将被投影到的网格,其中该网格由面式柱体的一部分组成,并且其中该面式柱体具有多个面,所述多个面中的每一个面对应于来自所述多个照相机中的照相机的投影;接收与所述多个照相机对应的视频内容;以及响应于从用户设备接收到对视频内容的请求,将视频内容和所生成的网格发送到用户设备。

在一些实施例中,生成网格包括以并排的取向拼接多个面。

在一些实施例中,该方法进一步包括在将视频文件传输到用户设备之前,将所生成的网格插入到包括视频内容的视频文件中。

在一些实施例中,视频内容包括深度图。

在一些实施例中,该方法进一步包括将所生成的网格转换成用于投影视频内容的第二类型的网格。

在一些实施例中,第二种类型的网格是鱼眼投影。

在一些实施例中,该方法进一步包括:接收与所渲染的视频内容项目相关联的结果图像信息;以及基于指示所述多个照相机中的照相机的位置的信息,使指示被呈现以移位所述多个相机中的一个或多个照相机。

根据所公开主题的一些实施例,提供了一种用于生成沉浸式视频内容的系统,该系统包括:用于接收指示多个照相机中的照相机的位置的信息的装置;用于基于所述多个照相机中的照相机的位置生成待在其上投影视频内容的网格的装置,其中该网格由面式柱体的一部分组成,并且其中该面式柱体具有多个面,所述多个面中的每一个面对应于来自所述多个照相机中的照相机的投影;用于接收与所述多个照相机对应的视频内容的装置;以及用于响应于从用户设备接收到对视频内容的请求而将视频内容和所生成的网格发送到用户设备的装置。

附图说明

当结合以下附图考虑时,参考所公开的主题的以下详细描述,可以更全面地理解所公开的主题的各种目的、特征和优点,在附图中相同的附图标记表示相同的元件。

图1a和图1b示出了根据所公开的主题的一些实施例的用于渲染沉浸式视频内容的示意图的示例。

图2示出了根据所公开的主题的一些实施例的适于实施本文中所描述的用于渲染沉浸式视频内容的机构的说明性系统的示意图。

图3示出了根据所公开的主题的一些实施例的可以在图2的服务器和/或用户设备中使用的硬件的详细示例。

图4示出了根据所公开的主题的一些实施例的用于处理待被渲染为沉浸式内容的视频流的过程的示例。

图5示出了根据所公开的主题的一些实施例的用于渲染沉浸式视频内容的过程的示例。

具体实施方式

根据各种实施例,提供了用于生成和渲染沉浸式视频内容的机构(其可以包括方法、系统和介质)。

在一些实施例中,本文中所描述的机构可以接收或生成视频内容,并且可以生成可以用于在用户设备上将视频内容渲染为沉浸式内容的网格。例如,本文中所描述的机构可以生成可以用于将视频内容渲染为180度视频内容的网格,这可以允许视频内容的观看者在观看视频内容时感觉沉浸在视频内容中。作为另一示例,在一些实施例中,本文中所描述的机构可以生成可以用于将视频内容渲染为具有任何合适的空间幅度的三维视频内容的网格。

在一些实施例中,本文中所描述的机构可以基于与生成或记录视频内容的一个或多个照相机相关联的任何合适的信息来生成网格。例如,在一些实施例中,这些机构可以生成包括一组面板的网格,其中每一个面板对应于来自对应的照相机群组的视场。在一些这样的实施例中,面板可以以并排的定位方式来放置(例如拼接在一起),以生成面式柱体的一部分,其表示照相机群组中的照相机的累积视场,如下面结合图1a、图1b和图4所述。注意,在一些实施例中,本文中所描述的照相机可以是用于生成计算机生成的(cg)内容的照相机,所述计算机生成的(cg)内容诸如游戏视频、动画、图形和/或任何其他合适类型的cg内容。在一些实施例中,视频内容可以是实时渲染或近似实时渲染的cg内容。

在一些实施例中,视频内容和所生成的网格可以被传输到用户设备,以由用户设备进行渲染。例如,在一些实施例中,所生成的网格可以被插入到包括视频内容的视频文件中,并且该视频文件可以被传输到用户设备,如下面结合图5所述。附加地或可替代地,在一些实施例中,所生成的网格可以用作在创建视频内容的鱼眼投影和/或视频内容的三维等矩形投影之前的中间步骤。

在一些实施例中,本文中所描述的机构可以具有减少渲染沉浸式内容所需时间的效果。特别地,这些机构可以用于在用户设备上快速且有效地渲染cg内容,诸如动画视频和/或视觉效果。因此,本文中所描述的实施例能够实现对用户设备上的处理器资源的有效利用。附加地,在渲染应用不支持特定类型的三维投影(诸如鱼眼投影或三维等矩形投影)的情况下,本文中所描述的机构可以用于渲染沉浸式内容。

转向图1a,根据所公开的主题的一些实施例,示出了用于记录和/或生成待被渲染为沉浸式视频内容的视频内容的示意图的说明性示例100。在一些实施例中,沉浸式视频内容可以是三维视频内容、180度视频内容或360度视频内容,其通过允许观看者操纵视频内容和/或任何其他合适类型的视频内容的视点来允许观看者在观看视频内容的同时感觉沉浸在视频内容中。在一些实施例中,视频内容可以由计算机生成(cg)的照相机生成,该计算机生成的照相机使用任何合适的技术或技术的组合来生成cg视频内容。

如图1a中所示,可以使用任何合适数量的照相机(例如,两个、三个和/或任何其他合适数量的照相机)的群组104来生成视频内容102(例如,包括由五个水平正方形或立方体表示的内容的视频内容)。在一些实施例中,每一个照相机可以与截头锥体(诸如截头锥体106、108和/或110)相关联,所述截头锥体可以表示对应的照相机的视场。在一些这样的实施例中,截头锥体106至110中的每一个可以被表示为源自对应的照相机的中心的棱锥体。注意,尽管在图1a中未示出,但是在一些实施例中,照相机可以记录或生成待被立体呈现的视频内容。例如,在一些实施例中,第一照相机可以位于第一位置处(例如-30毫米和/或任何其他合适的位置处),并且第二照相机可以位于偏离第一位置的第二位置处(例如+30毫米和/或任何其他合适的位置处)。继续该示例,照相机可以被定位(例如并排地定位)成使得所组合的截头锥体可以捕获视频内容,从而产生单个输出。

应当注意,在一些实施例中,与每一个照相机相关联的位置信息可以用于校准与每一个照相机相关联的位置和/或取向。例如,这可以协调第一照相机在-30毫米的第一位置处的放置和第二照相机在+30毫米的第二位置处的放置,从而为观察者的每只眼睛创建结果图像信息。在更特别的示例中,两个照相机平台(其中每一个照相机平台具有至少两个照相机)可以以如下方式配置以生成单个输出:

左相机平台(leftcamerarig):位置x(pos.x)=-0.032m

左相机平台(leftcamerarig):旋转y(rotation.y)=-30°,视场(fov)=60°,填充视口的0%至25%

右相机平台(rightcamera):旋转y(rotation.y)=-30°,视场(fov)=60°,填充视口的25%至50%

右相机平台(rightcamera):位置x(pos.x)=+0.032m

左相机平台(leftcamerarig):旋转y(rotation.y)=-30°,视场(fov)=60°,填充视口的50%至75%

右相机平台(rightcamera):旋转y(rotation.y)=-30°,视场(fov)=60°,填充视口的75%至100%

在一些实施例中,响应于接收和分析与每一个照相机相关联的位置信息,可以呈现用以将一个或多个照相机重新定位或以其他方式移位特定距离的指令。例如,游戏引擎可以利用多个照相机进行渲染。响应于接收到来自放置在特定位置处的多个照相机的输出,游戏引擎可以接收与所渲染的视频内容项目相关联的结果图像信息,并且可以基于指示照相机的位置的信息来使指示被呈现以移位一个或多个照相机。在更特别的示例中,基于结果图像信息,游戏引擎可以呈现左照相机平台中的左照相机的位置应该从-0.032m移动到-0.030m的通知。

转向图1b,根据所公开的主题的一些实施例,示出了使用基于照相机位置的网格来投影视频内容的示意图的说明性示例150。如图所示,由每一个照相机创建的图像可以用于创建面板(例如,面板156、158和/或160),其中每一个面板跨越与图1a的群组104中的相关照相机的视场对应的视场。例如,在群组104中的每一个照相机具有50度的水平视场并且被定向成分开50度的情况下,面板156至160可以各自具有50度的视场。在一些实施例中,面板156至160可以被并排定位成例如面式柱体的侧面。因此,面板156至160中的每一个可以对应于面式柱体的面。在一些这样的实施例中,可以被并排定位的面板156至160可以创建面式柱体的一部分,其具有通常等于照相机群组104中的每一个照相机的视场之和的总视场。例如,在群组104中的每一个照相机具有50度的水平视场并且在群组104中有三个照相机的情况下,面板156至160可以表示面式柱体的跨越150度的部分。继续该示例,图1b示出了三个面板150度网格可以用于投影来自各自具有50度的水平视场的三个照相机的平面投影内容。也就是说,创建如下网格,该网格包括每一个照相机的与照相机的投影面板对应的面板。在如图1a和图1b中所示的三个照相机的情况下,所创建的网格可以是具有三个面的局部柱体。在一些实施例中,面板156至160可以各自表示具有任何合适旋转的三维空间中的平面。

尽管本文中所描述的实施例通常涉及特定度数(例如180度)的总视场,但这仅仅是说明性的。应当注意,在一些实施例中,总视场可以是任意值(例如,140度、124度、250度等)。还应该注意,竖直视场和水平视场可以是不同的值。

还应该注意到,尽管本文中所描述的实施例通常涉及可以被布置成表示面式柱体的网格,但是这仅仅是说明性的。在一些实施例中,可以为每一个照相机创建三维空间中的面板,其中该面板对应于照相机的截头锥体,并且这些面板可以用于任何合适的形状。例如,该形状可以由不接触或不组合的面板创建,使得面板不形成连续的形状。在更特别的示例中,可以将四个照相机配置成面向前,并且朝向左上方向、右上方向、左下方向和右下方向成角度,其中照相机的截头锥体可以在中心位置处重叠。继续该示例,为这些照相机中的每一个照相机创建的对应的面板可以具有在三维空间中重叠的边缘而不具有接触的边缘。

转向图2,示出了可以根据所公开的主题的一些实施例使用的用于渲染沉浸式视频内容的硬件的说明性示例200。如图所示,硬件200可以包括内容服务器202、通信网络204和/或一个或多个用户设备206,诸如用户设备208和210。

内容服务器202可以是用于存储和/或向用户设备206提供媒体内容的任何合适的服务器。例如,在一些实施例中,内容服务器202可以存储媒体内容,诸如视频、电视节目、电影、直播流媒体内容、音频内容、动画、视频游戏内容、图形和/或任何其他合适的媒体内容。在一些实施例中,内容服务器202可以例如经由通信网络204向用户设备206发送媒体内容。在一些实施例中,内容服务器202可以存储与待被客户端设备(例如,用户设备206)用来将视频内容渲染为沉浸式内容的任何合适信息相关联的视频内容(例如,直播视频内容、计算机生成的视频内容和/或任何其他合适类型的视频内容),如图4中所示和下文接合图4所描述。

在一些实施例中,通信网络204可以是一个或多个有线和/或无线网络的任何合适的组合。例如,通信网络204可以包括互联网、内联网、广域网(wan)、局域网(lan)、无线网、数字用户线路(dsl)网、帧中继网、异步传输模式(atm)网、虚拟专用网(vpn)和/或任何其他合适的通信网络中的任何一个或多个。用户设备206可以通过一个或多个通信链路(例如,通信链路212)连接到通信网络204,该通信网络204可以通过一个或多个通信链路(例如,通信链路214)链接到内容服务器202。通信链路可以是适合于在用户设备206和内容服务器202之间进行数据通信的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其他合适的通信链路或者这些链路的任何合适的组合。

用户设备206可以包括适合于请求视频内容、将所请求的视频内容渲染为沉浸式视频内容(例如渲染为虚拟现实内容、渲染为三维内容、渲染为360度视频内容、渲染为180度视频内容和/或以任何其他合适的方式来渲染)和/或适合于执行任何其他合适的功能的任何一个或多个用户设备。例如,在一些实施例中,用户设备206可以包括移动设备,诸如移动电话、平板计算机、可穿戴计算机、膝上型计算机、虚拟现实头戴设备、交通工具(例如,汽车、船、飞机或任何其他合适的交通工具)信息或娱乐系统和/或任何其他合适的移动设备和/或任何合适的非移动设备(例如,台式计算机、游戏控制台和/或任何其他合适的非移动设备)。作为另一个示例,在一些实施例中,用户设备206可以包括媒体回放设备,诸如电视、投影仪设备、游戏控制台、台式计算机和/或任何其他合适的非移动设备。

尽管内容服务器202被示出为一个设备,但是在一些实施例中,可以使用任何合适数量的设备来执行由内容服务器202执行的功能。例如,在一些实施例中,可以使用多个设备来实现由内容服务器202执行的功能。

尽管在图2中示出了两个用户设备208和210以避免使图过于复杂化,但是在一些实施例中可以使用任何合适数量的用户设备和/或任何合适类型的用户设备。

在一些实施例中,可以使用任何合适的硬件来实现内容服务器202和用户设备206。例如,在一些实施例中,可以使用任何合适的通用计算机或专用计算机来实现设备202和206。例如,可以使用专用计算机来实现移动电话。任何这样的通用计算机或专用计算机可以包括任何合适的硬件。例如,如图3的示例硬件300所示,这样的硬件可以包括硬件处理器302、存储器和/或存储装置304、输入设备控制器306、输入设备308、显示/音频驱动器310、显示和音频输出电路312、通信接口314、天线316和总线318。

在一些实施例中,硬件处理器302可以包括任何合适的硬件处理器,诸如微处理器、微控制器、数字信号处理器、专用逻辑和/或用于控制通用计算机或专用计算机的功能的任何其他合适的电路。在一些实施例中,硬件处理器302可以由存储在服务器(例如,内容服务器202)的存储器和/或存储装置304中的服务器程序所控制。例如,在一些实施例中,服务器程序可以使硬件处理器302向用户设备206发送媒体内容项目、发送用于将视频流渲染成沉浸式视频内容的指令和/或执行任何其他合适的动作。在一些实施例中,硬件处理器302可以由存储在用户设备206的存储器和/或存储装置304中的计算机程序所控制。例如,计算机程序可以使硬件处理器302将视频流渲染成沉浸式视频内容和/或执行任何其他合适的动作。

在一些实施例中,存储器和/或存储装置304可以是用于存储程序、数据、媒体内容和/或任何其他合适信息的任何合适的存储器和/或存储装置。例如,存储器和/或存储装置304可以包括随机存取存储器、只读存储器、闪速存储器、硬盘存储装置、光学介质和/或任何其他合适的存储器。

在一些实施例中,输入设备控制器306可以是用于控制一个或多个输入设备308并从其接收输入的任何合适的电路。例如,输入设备控制器306可以是用于接收来自触摸屏、键盘、鼠标、一个或多个按钮、语音识别电路、麦克风、照相机、光学传感器、加速度计、温度传感器、近场传感器和/或任何其他类型的输入设备的输入的电路。

在一些实施例中,显示/音频驱动器310可以是用于控制和驱动到一个或多个显示/音频输出设备312的输出的任何合适的电路。例如,显示/音频驱动器310可以是用于驱动触摸屏、平板显示器、阴极射线管显示器、投影仪、一个或多个扬声器和/或任何其他合适的显示和/或呈现设备的电路。

通信接口314可以是用于与一个或多个通信网络(诸如图2中所示的网络204)接合的任何合适的电路。例如,接口314可以包括网络接口卡电路、无线通信电路和/或任何其他合适类型的通信网络电路。

在一些实施例中,天线316可以是用于与通信网络(例如,通信网络204)无线通信的任何合适的一个或多个天线。在一些实施例中,可以省略天线316。

在一些实施例中,总线318可以是用于在两个或多个组件302、304、306、310和314之间通信的任何合适的机构。

根据一些实施例,硬件300中可以包括任何其他合适的组件。

转向图4,示出了根据所公开的主题的一些实施例的用于生成沉浸式视频内容的过程的说明性示例400。在一些实施例中,过程400的框可以由任何合适的设备来执行,诸如存储视频内容并将所存储的视频内容发送给用户设备的内容服务器(例如,图2中所示和下文结合图2所述的内容服务器202)。

过程400可以通过在402生成视频内容可以投影在其上的网格而开始。在内容服务器202上生成网格可以避免在计算资源可能受限的用户设备上产生计算资源(例如,处理和/或存储器资源)。在一些实施例中,可以基于用于生成视频内容的照相机的数量和/或基于用于生成视频内容的照相机的位置来生成网格。例如,在一些实施例中,网格中所包括的面板的数量可以基于用于记录或生成视频内容的照相机的数量,如图1a和图1b中所示和上文结合图1a和图1b所述。作为另一个示例,在一些实施例中,由网格表示的视场可以基于用于记录或生成视频内容的照相机的视场。作为更特别的示例,在n个照相机各自具有x度水平视场的情况下,由网格表示的水平视场可以是n×x。作为具体示例,在视频内容由各自具有50度的视场的3个照相机所记录或生成的情况下,网格可以包括各自表示50度视场的三个面板。继续该示例,在一些实施例中,网格可以包括被布置成表示面式柱体的150度的三个面板。在一些实施例中,网格的面板可以以任何合适的方式布置或定位,诸如以并排的取向来放置。在一些实施例中,面板可以具有任何合适的旋转取向,该旋转取向可以基于用于生成视频内容的照相机的取向。

注意,尽管所生成的网格在本文中通常被描述为表示面式柱体的一部分,但是在一些实施例中,所生成的网格可以具有任何合适的形状。例如,在一些实施例中,一个或多个面板可以以从上到下的取向布置,从而调节竖直的视场。作为另一个示例,在一些实施例中,面板可以被布置成在每一个相邻面板之间产生特定量的重叠。

在404,过程400可以接收视频内容或任何合适的视频信息。例如,在一些实施例中,过程400可以接收来自生成cg内容的照相机的群组(例如,两个、三个和/或任何其他合适数量的照相机)的视频内容,如上文结合框402所述。在一些实施例中,用于生成视频内容的照相机可以是任何合适类型的照相机。例如,在一些实施例中,照相机可以是使用任何合适的计算机图形技术生成用于视频游戏、动画的视频内容和/或任何其他合适类型的cg视频内容的cg照相机。注意,在一些实施例中,视频内容可以是不同类型视频内容的组合。例如,在一些实施例中,过程400可以接收所记录的视频内容中的一部分和cg视频内容中的一部分,诸如待叠加在所记录的视频内容上的覆盖物、图形、文本和/或任何其他合适类型的cg内容。作为更特别的示例,在一些实施例中,cg视频中的一部分可以包括视觉效果、标题、分数和/或待覆盖在其他视频内容上的任何其他合适的内容。

在一些实施例中,过程400可以以任何合适的分辨率(例如,对于立体内容来说是每只眼睛3840×2160、1920×2160和/或任何其他合适的分辨率)接收视频内容。在一些实施例中,所接收的视频内容可以包括任何合适的深度信息。例如,在一些实施例中,所接收的cg视频内容可以包括表示视频内容的每一个像素的距离的深度图。作为更特别的示例,在一些实施例中,深度图可以包括视频内容的像素的不同值,其中每一个值表示像素的内容的距离。特别地,对于视频内容的每一个像素,深度图包括表示由像素捕获的场景对象与用于捕获场景对象的视频内容的照相机之间的距离的值。在一些实施例中,深度图可以用于立体地渲染视频内容。

注意,在一些实施例中,在视频内容是由特定应用(例如,与游戏或游戏控制台相关联的应用和/或任何其他合适类型的应用)渲染的内容的情况下,过程400可以使用任何合适的技术或技术组合来记录所渲染的内容。例如,在一些实施例中,过程400可以使用与应用相关联的应用编程接口(api)来记录视频内容。

在一些实施例中,过程400可以以任何合适的方式处理或操纵所接收的视频内容。例如,在一些实施例中,过程400可以复制所接收的视频内容,以生成待立体渲染的视频内容。作为更特别的示例,在一些实施例中,过程400可以复制所接收的视频内容,以生成视频内容的偏移了任何合适距离(例如,30毫米、60毫米和/或任何其他合适的偏移)的两个版本,其中第一版本将被递送到观看者的左眼,并且第二版本将被递送到观看者的右眼。

在406,过程400可以存储与所生成的网格相关的视频内容。例如,在一些实施例中,过程400可以将视频内容和所生成的网格存储在内容服务器(诸如内容服务器202)上,以将其在任何合适的时间递送给用户设备(例如,响应于来自用户设备的请求而递送,如下文结合图5所述)。在一些实施例中,过程400可以以任何合适的方式存储与所生成的网格相关的视频内容。例如,在一些实施例中,可以将表示网格的任何合适的数据(例如,网格的面板的位置、网格的面板的尺寸、网格的面板的取向和/或任何其他合适的数据)插入到与视频内容相关联的视频文件中。

注意,在一些实施例中,在框402处生成的网格可以被过程400用作生成不同网格的中间步骤,以使用球形投影(诸如鱼眼投影、裁剪过的等矩形投影和/或任何其他合适类型的投影)来渲染视频内容。例如,在框402处生成的网格可以被转换成裁剪过的等矩形网格。

转向图5,示出了根据所公开的主题的一些实施例的用于渲染沉浸式视频内容的过程的说明性示例500。在一些实施例中,过程500的框可以由任何合适的设备(诸如虚拟现实头戴设备、游戏控制台、移动电话、平板计算机、电视和/或任何其他合适类型的用户设备)来执行。

在502,过程500可以通过请求用于在用户设备上呈现的视频流而开始。在一些实施例中,视频流可以是任何合适类型的视频流,诸如待从内容服务器流送到用户设备的视频和/或任何其他合适类型的视频流。在一些实施例中,可以在用户设备上以任何合适的方式请求视频流。例如,在一些实施例中,可以响应于用户设备的用户从指示可用视频内容的页面中选择视频流和/或以任何其他合适的方式来请求视频流。可以将对视频流的请求从用户设备发送到内容服务器(例如,图2中所示和上文结合图2所述的内容服务器202)。

在504,过程500可以响应于在502处发送的请求而接收视频流以及用于渲染视频流的对应的网格。例如,在一些实施例中,可以从存储视频内容和/或生成网格的内容服务器(例如,图2中所示和上文结合图2所述的内容服务器202)来接收视频流和对应的网格,如上文结合图4所述。在一些实施例中,可以以任何合适的方式接收视频流和对应的网格。例如,在一些实施例中,网格可以被插入到包括视频流的文件中,并且过程500可以使用任何合适的技术或技术组合从文件中提取网格。应当注意,可以使用任何合适的方法将对应的网格注入到视频流中。

在506,过程500可以使用任何合适的技术或技术组合在用户设备上将视频流渲染成沉浸式内容。例如,在一些实施例中,过程500可以将视频流应用或投影到网格上,以将视频流渲染成沉浸式内容。作为更特别的示例,在一些实施例中,过程500可以使用任何合适的技术(例如,uv映射和/或任何其他合适的技术)来将内容作为纹理从视频流映射到网格。作为另一个示例,在一些实施例中,过程500可以通过向用户设备的观看者的左眼呈现视频流的第一部分并向用户设备的观看者的右眼呈现视频流的第二部分来将视频流渲染成立体内容。在一些这样的实施例中,可以在于用户设备上进行渲染之前将视频流的第一部分和视频流的第二部分分别应用或投影到网格上。

在一些实施例中,过程500可以将视频流渲染成可以由视频流的观看者操纵或与视频流的观看者交互的沉浸式内容。例如,在一些实施例中,过程500可以以能够允许观看者改变视频流的视点的方式来渲染视频流。作为更特别的示例,在一些实施例中,在观看者正使用虚拟现实头戴设备或其他可佩戴计算机的情况下,过程500可以响应于确定观看者已经改变了观看者头部的取向而改变所呈现的视频流视点。作为另一个更特别的示例,在一些实施例中,过程500可以响应于确定观看者已经在用户设备上输入手势以操纵视点(诸如通过选择和拖动其上呈现有视频流的用户界面)而改变所呈现的视频流视点。

在一些实施例中,图4和图5的过程的上述框中的至少一些框可以以任何顺序或序列(不限于图中所示和结合图所描述的顺序和序列)来运行或执行。而且,图4和图5的以上框中的一些框可以在适当的情况下大致同时或并行地运行或执行,以减少延迟和处理时间。附加地或可替代地,可以省略图4和图5的过程的上述框中的一些框。

在一些实施例中,可以使用任何合适的计算机可读介质来存储用于执行本文中的功能和/或过程的指令。例如,在一些实施例中,计算机可读介质可以是暂时性的或非暂时性的。例如,非暂时性计算机可读介质可以包括以下介质:诸如非暂时性形式的磁性介质(诸如硬盘、软盘和/或任何其他合适的磁性介质)、非暂时性形式的光学介质(诸如激光光盘、数字视频光盘、蓝光光盘和/或任何其他合适的光学介质)、非暂时性形式的半导体介质(诸如闪速存储器、电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)和/或任何其他合适的半导体介质)、在传输期间不是转瞬即逝的或者不缺乏任何持久性表相的任何适当的介质和/或任何适当的有形介质。作为另一个示例,暂时性计算机可读介质可以包括网络上的信号,包括线路、导体、光纤、电路中的信号,包括在传输期间转瞬即逝的或缺乏任何持久性表相的任何合适的介质和/或任何合适的非有形介质。

在本文中所描述的系统收集关于用户的个人信息或利用个人信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好或用户当前位置的信息)的机会。此外,在存储或使用某些数据之前,可以以一种或多种方式对其进行处理,从而移除个人信息。例如,可以处理用户的身份,使得不能针对用户确定个人可验证身份的信息,或者可以在获得位置信息的情况下对用户的地理位置进行泛化处理(诸如达到城市级、zip码级或州级),使得不能确定用户的特定位置。由此,用户能够控制如何收集有关用户的信息和计算设备如何使用该信息。

因此,提供了用于渲染沉浸式视频内容的方法、系统和介质。

尽管在前述说明性实施例中已经描述和说明了本发明,但是应当理解,本公开仅通过示例的方式进行,并且在不脱离本发明的精神和范围的情况下,可以对本发明的实施方式的细节进行许多改变,本发明的精神和范围仅由所附权利要求所限定。所公开的实施例的特征可以以各种方式组合和重新排列。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1