用于360度视频回放的空间增强的自适应比特率直播流送的方法和装置与流程

文档序号:15577092发布日期:2018-09-29 05:44阅读:214来源:国知局

本文所公开的主题涉及一种用于实现虚拟现实或者360度视频直播流送的空间增强的直播流送体验的方法。更具体地,公开了方法和装置,用于提供具有多个流的360度视频直播流送——其中,视频中的在空间上不同的位置是用不同比特率(分辨率)来编码的——并且自适应地选择流——其中,视频数据的高空间分辨率编码的区与查看者的视场保持一致,并且其中,视频数据的低分辨率编码的区在查看者的视场之外。



背景技术:

视频流送允许经由互联网来将视频内容递送至视频播放器。视频内容是由内容提供者生成以供分发给视频消费者的视频信号。可以按照未压缩的文件格式(诸如,串行数字接口(sdi)格式)或者压缩格式(诸如,动态图像专家组(mpeg)文件格式或者传输流(ts)文件格式)来提供视频信号。将视频信号发送至编码器,该编码器将文件转换成直播流送信号。直播流送信号优选地是可以通过互联网使用标准超文本传输协议(http)来传送的分段数据流。直播流送信号可以包括多个流,其中,每个流可以具有不同的数据率和/或不同的分辨率。

直播流送信号的两种常见格式包括由实施的http直播流送(hls)和由例如web浏览器(诸如,microsoft)实施的mpeg-基于http的动态自适应比特率流(mpeg-dash)。除了分段数据流之外,编码器还生成清单文件。清单文件包含用于视频播放器播放分段数据流的信息,诸如,每个流的数据率和分辨率、以及提供了通过其可以获取到视频内容的地址的播放列表。以往,编码器为每个增强视频流生成了单个清单文件,其中,该清单文件与流送信号一起被分发。

直播流送信号和清单文件被存储在一个或者多个内容分发网络(cdn)中。每个cdn都包括多个边缘服务器,其存储流送信号和清单文件直到被视频播放器请求为止。当将流送信号提供至多个cdn时,该cdn可能处于不同的地理位置,诸如,美国西海岸(westcoast)、美国东海岸(eastcoast)或者美国中西部(midwest)。每个视频播放器可以基于其地理接近度等来选择cdn以减少传输时延。

视频播放器可以是用于接收流送信号的任何合适的电子设备,诸如,台式计算机、电视机、膝上型计算机、平板计算机、或者移动电话。用户发起在视频播放器上查看期望视频内容的请求。视频播放器包括在视频播放器上执行的视频管理软件,该视频管理软件知晓cdn的地址并且可以将存储在cdn上的视频内容的列表提供给用户。在用户已经选择了期望视频之后,视频播放器进而请求从cdn传送视频内容。

对于传统的二维(2d)直播流送视频,视频的视点由捕获视频的相机的定向决定。在上映视频(诸如,电影或者电视节目的剧集)中,许多相机可以是可用的并且因此,多个视点可以是可用的。然而,导演在每个时刻选择单个视点并且将各个视点编辑成单个流,其中,任何时间点的动作是从导演所选的角度查看的。进一步地,2d直播流送视频意图在没有来自查看视频的用户的交互的情况下在屏幕上被动回放。接收流送视频的每个查看者都接收相同的视频和相同的回放体验。

相反,对于虚拟现实或者360视频的回放体验至少部分地由查看者决定。例如,视频内容可以由单个360度相机或者由在不同视点的多个传统相机捕获或者视频内容可以是计算机生成的。在任何一种情况下,对于查看者的所有潜在视点都要求视频信息。换言之,如果查看者向左或者向右、向上或者向下、或者向后看,则视频信息必须可用来将图像提供给查看者。因此,在任何给定时间,仅仅向查看者显示提供给查看者的视频信息的一部分。视频信息的另一部分被传送到显示设备以在查看者改变了视点的情况下可用。因为无法预测查看者将看去的方向,所以每个方向的内容都必须可用以供显示。结果,与传统的2d直播流送视频相比较,待传送的视频信息的量明显增加。进一步地,如果正将视频提供给立体虚拟现实显示设备,则由于提供单独的流以供每只眼睛查看,因此直播流信息大约增加一倍。增加的视频内容需要相应增加带宽以递送360度流送视频。

因此,期望提供针对增强的回放体验减少带宽需求的情况下向360度或者虚拟现实视频播放器流送视频的系统。



技术实现要素:

本文所公开的主题描述了针对增强的回放体验减少带宽需求的情况下将向360度或者虚拟现实视频播放器流送视频的系统。该系统包括实现虚拟现实或者360度视频直播流送的空间增强的直播流送体验的装置和方法。编码器接收输入视频信号以供递送给查看者。编码器将输入的视频信号转换成与传统直播流送相似的在不同分辨率下的多个流。然后编码器生成多个空间增强的流。每个空间增强的流包括与低分辨率视频流合并的、与整个360视频流内的视场相对应的高分辨率视频流的片段。将空间增强的流递送至内容分发网络(cdn)以供360度视频播放器进行后续获取。360度视频播放器基于查看者观看的方向来选择空间增强的流中的一个空间增强的流以供回放。

根据本公开的一个实施例,公开了用于提供空间自适应增强视频流以用于360度视频信号的回放的方法。生成与360度视频信号相对应的至少两个流送视频信号。第一流送视频信号具有第一分辨率,并且第二流送视频信号具有第二分辨率,其中,第二分辨率低于第一分辨率。第一流送视频信号和第二流送视频信号中的每一个包括多个帧,并且每个帧跨360度视角。将第一流送视频信号和第二流送视频信号中的每个帧划分成多个片段,并且多个片段中的每个片段跨360度视角的一部分。生成多个增强视频流。增强视频流中的每个增强视频流包括多个帧,并且增强视频流中的一个增强视频流中的每个帧包括来自第一流送视频信号中的帧中的一个帧的至少一个片段以及来自第二流送视频信号中的帧中的一个帧的至少一个片段。

根据本公开的另一方面,多个增强视频流中的每个帧包括多个片段,并且多个增强视频流中的每个帧中的多个片段组合以跨360度视角。多个增强视频流中的每个帧中的多个片段中的一个片段来自第一流送视频信号,并且多个增强视频流中的每个帧中的其它片段中的每个片段来自第二流送视频信号。

根据本公开的又一方面,可以利用编码器生成360度视频信号的清单文件。清单文件包括与360度视频信号相对应的多个增强视频流中的每个增强视频流的第一标识符和第二标识符。第一标识符限定存储增强视频流的地址,并且第二标识符限定与来自第一流送视频信号的片段所跨的360度视角的一部分相对应的方向。

根据本公开的又一方面,生成至少两个流送视频信号可以包括:在编码器处接收球形360度视频信号;将球形360度视频信号映射到表示性空间中的中间视频信号;以及利用编码器将中间视频信号转换成至少两个流送视频信号。

根据本公开的又一方面,可以生成至少一个附加的流送视频信号,其中,每个附加的流送视频信号具有与第一分辨率和第二分辨率不同的分辨率。第一流送视频信号和第二流送视频信号中的多个片段中的每个片段所跨的360度视角的一部分可以是360度视角中的相等度数。可选地,第一流送视频信号可以被划分成第一片段集合和第二片段集合,并且第二流送视频信号可以被划分成第三片段集合和第四片段集合,其中,第一片段集合与第三片段集合相对应,并且第二片段集合与第四片段集合相对应。第一片段集合和第三片段集合中的每一个都跨第一视角,该第一视角与第二片段集合和第四片段集合中的每一个所跨的第二视角不同并且与其偏移。偏移的度数小于第一视角和第二视角所跨的度数。

根据本公开的另一实施例,公开了用于提供空间自适应增强视频流以用于360度视频信号的回放的系统。该系统包括编码器,该编码器具有操作以接收360度视频信号的输入、操作以存储多个指令的非暂时性存储器、以及操作以执行所存储的指令的处理器。处理器执行所存储的指令以生成与360度视频信号相对应的至少两个流送视频信号。第一流送视频信号具有第一分辨率,并且第二流送视频信号具有低于第一分辨率的第二分辨率。第一流送视频信号和第二流送视频信号中的每一个包括多个帧,并且每个帧跨360度视角。处理器还执行以将第一流送视频信号和第二流送视频信号中的每个帧划分成多个片段,其中,片段中的每个片段跨360度视角的一部分。处理器进一步执行以生成多个增强视频流,其中,增强视频流中的每个增强视频流包括多个帧。增强视频流中的一个增强视频流中的每个帧包括来自第一流送视频信号中的帧中的一个帧的至少一个片段以及来自第二流送视频信号中的帧中的一个帧的至少一个片段。

根据本公开的又一个实施例,公开了用于显示空间自适应增强视频流以用于360度视频信号的回放的方法。360度视频信号具有360度视角。将查看360度视频信号的请求从视频播放器传送到清单服务器,并且在视频播放器处从清单服务器接收与360度视频信号相对应的清单文件。清单文件包括多个第一标识符和第二标识符。每个第一标识符限定存储多个增强视频流中的一个增强视频流的地址,并且每个增强视频流包括多个帧。每个增强视频流中的每个帧包括来自第一流送视频信号的至少一个片段和来自第二流送视频信号的至少一个片段。第一流送视频信号是在第一分辨率下从360度视频信号生成的,并且第二流送视频信号是在低于第一分辨率的第二分辨率下从360度视频信号生成的。每个第二标识符限定增强视频流的一个增强视频流内的、与来自第一流送视频信号的至少一个片段所跨的360度视角的一部分相对应的方向。从所述多个增强视频流中的一个增强视频流在其处被存储为在与所述多个第二标识符的一个第二标识符中的方向相对应的所述360度视频信号内的、期望的查看方向的函数的地址读取所述一个增强视频流。

根据本公开的另一方面,可以在视频播放器处从方向接口接收输入信号,其中,输入信号与在360度视频信号内的期望查看方向相对应。读取多个第二标识符,以识别具有在与期望查看方向相对应的方向上的来自第一流送视频信号的至少一个片段的增强视频流,并且从所识别的增强视频流的多个第一标识符读取地址。视频播放器可以按照周期性的间隔从方向接口接收输入信号,并且从每个所识别的增强视频流的多个第一标识符读取新地址。视频播放器可以回放360度视频信号的来自与第一期望查看方向相对应的第一增强视频流的第一片段、以及来自360度视频信号的与第二期望查看方向相对应的第二增强视频流的第二片段。

通过具体实施方式和附图,本公开的这些和其它目的、优点和特征对于本领域的技术人员将变得显而易见。然而,应当理解,具体实施方式和附图虽然指示本公开的优选实施例,但是仅以说明而非限制方式给出。可以在不脱离本公开的精神的情况下在本公开的范围内进行许多改变和修改,并且本公开包括所有这样的修改。

附图说明

在附图中图示了本文所公开的主题的各个示例性实施例,在各附图中相似的附图标记表示相似的组件,并且在附图中:

图1是包括根据本公开的一个实施例的,将视频流送至360度或者虚拟现实视频播放器的方法的环境的框图表示;

图2是图示了根据本公开的一个实施例的在降低带宽需求的情况下将视频流送至360度或者虚拟现实视频播放器的流程图;

图3是描述了流送视频内容的可用流的带宽和每个流的位置的清单文件的片段;

图4是包括播放列表的一部分的清单文件的片段,在该播放列表中视频内容被加密;

图5是在第一方向上从360度视频信号生成的等矩形视图,其中,图5a是360度视频信号,图5b是第一期望查看方向的指示,并且图5c是在第一方向上从360度视频信号生成的视图的指示;以及

图6是在第二方向上从360度视频信号生成的等矩形视图,其中,图6a是360度视频信号,图6b是第二期望查看方向的指示,并且图6c是在第二方向上从360度视频信号生成的视图的指示;

图7是被示出为等矩形图像的360度视频帧的图形表示,其中,在图7a中,0度至90度处于高分辨率并且其余部分处于低分辨率,在7b中,90度至180度处于高分辨率并且其余部分处于低分辨率,在图7c中,180度至270度处于高分辨率并且其余部分处于低分辨率,并且在图7d中,270度至360度处于高分辨率并且其余部分处于低分辨率;以及

图8是被示出为等矩形图像的360度视频帧的图形表示,其中,在图8a中,45度至135度处于高分辨率并且其余部分处于低分辨率,在图8b中,135度至225度处于高分辨率并且其余部分处于低分辨率,在图8c中,225度至315度处于高分辨率并且其余部分处于低分辨率,并且在图8d中,高分辨率片段开始于315度、在360度处环绕(wraparound)、并且跨至45度,并且其余部分处于低分辨率。

在对附图中示出的本公开的优选实施例进行描述时,为了清楚起见,会诉诸特定的术语。然而,本公开并不旨在受限于如此选择的特定术语,并且应当理解,每个特定用语包括以类似的方式操作以完成类似目的的所有技术等效物。例如,词语“连接的”、“附接的”或者与之类似的术语常被使用。它们不限于直接连接,而是包括通过其它元素的连接,其中,这样的连接被本领域的技术人员认为是等效的。

具体实施方式

参考在下面的描述中详述的非限制性实施例来更全面地解释本文所公开的主题的各个特征和优点细节。

首先转向图1,图示了用于在降低带宽需求的情况下将流送视频提供到360度或者虚拟现实视频播放器122的一个环境。内容提供者110生成360度视频信号112以分发给视频消费者。360度视频信号112包括整个球形视频流的视频内容。360度视频信号可以被360度相机捕获并且被直接传送至编码器114。

根据一个实施例,内容提供者110将球形360度视频信号112传送至编码器114。360度相机从所有方向(即,上、下、前、后、和一侧到另一侧)捕获视频信号并且生成球形360度视频信号112。编码器114可以使用360度信号的表示性视频空间将球形信号转换成中间信号。表示性视频空间可以是等矩形布局,在该等矩形布局中,使视频信号的每个帧从查看者周围的球面平坦化到二维平面、或者立方体或者金字塔模型上,在该立方体或者金字塔模型中,球形视频信号被放置在立方体或者金字塔中并且被投影到立方体或者金字塔的表面上。

根据另一实施例,内容提供者110可以在将信号传送至编码器114之前在表示性视频空间中将球形360度视频信号转换成中间信号。可以设想到,在没有偏离本公开的范围的情况下,本公开可以与以球形格式、等矩形格式、或者其它格式(包括但不限于立方体模型或者金字塔映射模型)呈现的360度视频信号112一起利用。为了说明本公开,发送至编码器114的视频信号112将作为等矩形布局而被讨论,在该等矩形布局中,使视频信号的每个帧从查看者周围的球面平坦化到二维表面。

参照图5a或者图6a,图示了来自360度视频信号的表示性等矩形帧。该帧具有360度视场并且包含图像的整个内容以供在360度视频播放器122上回放。当在360度视频播放器122上回放时,帧的部分被投影在用户前方并且取决于视频播放器122,帧的部分可以被投影在在用户的视场的上方、下方或者侧方的查看屏幕上。当用户的头转动时,连接至视频播放器122的方向接口125检测运动并且生成与用户正观看的方向相对应的信号。从360度视场中选择期望方向并且根据360度视频播放器122的规格利用在用户的视场的上方、下方或者侧方投影的帧的其它部分来在用户前方投影。

编码器114将360度视频信号112转换成直播流送视频信号116以供视频播放器122使用。以往,编码器114将输入视频信号转换成多个流送视频信号,其中,每个流送视频信号可以是不同的分辨率。视频播放器122可以根据视频播放器122与内容分发网络118之间的连接的带宽来选择流送视频信号中的一个流送视频信号。虽然通常期望高分辨率回放,但是分辨率越大则所需的带宽就越大,并且可以根据视频播放器122与内容分发网络118之间的可用带宽来限制分辨率。

根据本公开,编码器114进一步从在不同分辨率下的流送视频信号生成多个空间增强的视频流116。每个流送视频信号都包括帧的序列。在图5a和图6a中图示了来自在全分辨率下的360度视频信号的表示性等矩形帧。可以设想到,可以在全分辨率下生成流送视频信号中的一个流送视频信号。可以在用于以较低带宽传输的较低分辨率下生成其它流送视频信号。根据将全分辨率信号转换成较低分辨率信号的一个方法,将来自全分辨率信号的每个帧都转换成具有较低分辨率的帧。

为了进一步减少流送视频信号的带宽,可以丢掉一部分帧。例如,通过在转换成低分辨率时每隔一帧丢掉一帧并且以原始帧的长度的两倍的持续时间来回放每个帧,可以将帧速率减少一半。可以设想到,在没有偏离本公开的范围的情况下,可以利用减少较低分辨率视频流的带宽的其它方法。

在不同分辨率下的流送视频信号中的每个帧都被划分成多个片段。为了说明起见,每个流送视频信号都可以被划分成四个片段,其中,每个片段具有90度的视场。如图7和图8所示,来自流送视频信号的每个帧被划分成与视频信号112的90度间隔相对应的四个片段。在第一实施例中,如图7所示,按照开始于0度的90度间隔取得四个片段,并且在第二实施例中,如图8所示,按照开始于45度的90度间隔取得四个片段。设想到,在没有偏离本公开的范围的情况下,可以利用具有对应的不同视场的不同数目的片段。例如,360度视频信号112可以被分成其它相等的片段,包括但不限于3个、5个、或者6个片段。

参照图7和图8,空间增强视图流中的每个帧220包括来自在不同分辨率下的至少两个视频流的帧的片段。最初转向图7,在图7a中图示了第一空间增强视图流的第一帧220a;在图7b中图示了第二空间增强视图流的第一帧220b;在图7c中图示了第三空间增强视图流的第一帧220c;并且在图7d中图示了第四空间增强视图流的第一帧220d。在第一空间增强视图流的第一帧220a中,高分辨率(hr)第一片段222a取自编码器114所生成的高分辨率直播视频流,其中,高分辨率第一片段222a从0度跨到90度。第一空间增强视图流的第一帧220a还包括3个低分辨率(lr)片段(即,低分辨率第二片段224b、低分辨率第三片段226b、和低分辨率第四片段228b)。低分辨率片段中的每一个都取自编码器114所生成的低分辨率直播视频流。四个片段被组合以生成第一空间增强视图流的单个帧,从而使得片段组合以覆盖原始帧的整个360度视场。在第一空间增强视图流中的每个附加的帧都以类似的方式生成以创建具有从0度到90度的高分辨率内容的第一空间增强视图流。

第二空间增强视图流的第一帧220b包括一个高分辨率片段和三个低分辨率片段。在第二空间增强视图流的第一帧224b中,高分辨率第二片段224a取自编码器114所生成的高分辨率直播视频流,其中,高分辨率第二片段224a从90度跨到180度。第二空间增强视图流的第一帧220b还包括3个低分辨率(lr)片段(即,低分辨率第一片段222b、低分辨率第三片段226b和低分辨率第四片段228b)。低分辨率片段中的每一个都取自编码器114所生成的低分辨率直播视频流。四个片段被组合以生成第二空间增强视图流的单个帧,从而使得片段组合以覆盖原始帧的整个360度视场。在第二空间增强视图流中的每个附加的帧都以类似的方式生成以创建具有从90度到180度的高分辨率内容的第二空间增强视图流。

第三空间增强视图流的第一帧220c包括一个高分辨率片段和三个低分辨率片段。在第三空间增强视图流的第一帧224c中,高分辨率第三片段226a取自编码器114所生成的高分辨率直播视频流,其中,高分辨率第三片段226a从180度跨到270度。第三空间增强视图流的第一帧220c还包括3个低分辨率(lr)片段(即,低分辨率第一片段222b、低分辨率第二片段224b和低分辨率第四片段228b)。低分辨率片段中的每一个都取自编码器114所生成的低分辨率直播视频流。四个片段被组合以生成第三空间增强视图流的单个帧,从而使得片段组合以覆盖原始帧的整个360度视场。在第三空间增强视图流中的每个附加的帧都以类似的方式生成以创建具有从180度到270度的高分辨率内容的第三空间增强视图流。

第四空间增强视图流的第一帧220d包括一个高分辨率片段和三个低分辨率片段。在第四空间增强视图流的第一帧224d中,高分辨率第四片段228a取自编码器114所生成的高分辨率直播视频流,其中,高分辨率第四片段228a从270度跨到360度。第四空间增强视图流的第一帧220d还包括3个低分辨率(lr)片段(即,低分辨率第一片段222b、低分辨率第二片段224b和低分辨率第三片段226b)。低分辨率片段中的每一个都取自编码器114所生成的低分辨率直播视频流。四个片段被组合以生成第四空间增强视图流的单个帧,从而使得片段组合以覆盖原始帧的整个360度视场。在第四空间增强视图流中的每个附加的帧都以类似的方式生成以创建具有从270度到360度的高分辨率内容的第四空间增强视图流。

接下来转向图8,图示了4个附加的增强视频流的第一帧(220e至220h)。第一帧(220e至220h)中的每一个都由编码器按照与上面关于图7讨论的方式相似的方式来生成。4个附加的片段选自高分辨率视频流和低分辨率视频流中的每个视频流。高分辨率第五片段232a和低分辨率第五片段232b均从45度跨到135度。高分辨率第六片段234a和低分辨率第六片段234b均从135度跨到225度。高分辨率第七片段236a和低分辨率第七片段236b均从225度跨到315度。高分辨率第八片段238a和低分辨率第八片段238b均从315度跨到360度并且环绕以从0度到45度。第五、第六、第七和第八增强视图流均包括来自高分辨率视频流的一个片段和来自低分辨率视频流的三个片段以生成四个附加的空间增强视图流,其中,图8中的空间增强视图流与图7中的空间增强视图流偏移45度。

根据本公开的另一实施例,设想到360度视频112可以被划分成由图7和图8表示的全部8个视频流。生成原始帧的8个90度片段,其中,每个片段的开始都相距45度。第一高分辨率片段从0度跨到90度,第二高分辨率片段从45度跨到135度等。每个增强视图流都被组合成流以供在视频播放器122上进行自适应空间回放。然后,视频播放器可以选择视频流中与查看方向最紧密相关的一个视频流。虽然本文将由编码器114从原始360度视频信号112生成的视频流称为高和低分辨率,但是术语高和低旨在相对于彼此。换言之,高分辨率视频流具有大于低分辨率视频流的分辨率。设想到,编码器114可以生成在不同分辨率水平下的三个或者更多个视频流。根据一个实施例,来自三个或更多个视频流中的任何两个视频流的帧的片段可以被组合以形成增强视频流。可选地,来自三个或更多个视频流的帧的片段可以被组合以形成增强视频流,其中,高分辨率片段所选自的视频流的分辨率高于其它流中的每个流中的分辨率。

根据又一实施例,编码器114可以从三个或更多个视频流生成两组空间增强视频流,其中,增强视频流中的每一个针对片段使用相同视场。第一空间增强视频流可以选择具有最高分辨率的视频流作为所使用的高分辨率视频流,并且第二增强视频流可以选择具有次高分辨率的不同视频流作为所使用的高分辨率视频流。第一增强视频流和第二增强视频流二者都可以选择具有最低分辨率的相同视频流作为所使用的低分辨率视频流。以这种方式,编码器可以生成具有针对高分辨率内容的相同视场但具有不同带宽的多个空间增强视频流以供视频播放器122回放。

编码器114进一步将每个空间增强视频流都转换成直播流送信号116。直播流送信号116优选地是能够通过互联网使用标准http或者https协议传送的分段数据流。直播流送信号的格式可以是但不限于hls或者mpeg-dash。在没有偏离本公开的范围的情况下,可以使用其它协议,诸如,来自的http动态流(hds)或者smoothstreaming等。

除了分段数据流之外,编码器还生成清单文件。清单文件包含用于视频播放器122播放分段数据流的信息,诸如,每个流的数据率和分辨率、以及提供地址的播放列表,通过该地址可以获取视频内容。编码器还插入每个空间增强视频流116的标识符,该标识符标识哪个片段具有高分辨率视频流并且进而标识哪个方向具有高分辨率视频流。

编码器114为每个增强视频流生成单个清单文件,其中,清单文件连同流送信号116一起被分发并且存储在cdn118上。要注意,“单个”清单文件指代每个编码信号的公共或者完全相同的清单文件。清单文件可以由存储在cdn上的多个数据文件组成,其中,每个清单文件都包含回放流送信号所需的数据的一部分。进一步地,对于直播流送视频,当从直播事件添加新内容时,可以按照周期性间隔来更新和重新传送清单文件。虽然使用了多个文件,但是由编码器114生成以供递送至每个视频播放器122的内容是相同的。每个cdn118都包括多个边缘服务器120,该多个边缘服务器120存储增强视频流116和清单文件直到视频播放器122请求回放视频内容为止。虽然图1所示的实施例示出了单个cdn118,但是设想到可以将增强视频流116存储在多个cdn118上。清单文件可以包括每个cdn的地址,从而使得可以从cdn118中的任何一个发生回放。

如图1中进一步示出的,所示的环境包括清单服务器124。该清单服务器124用于针对每个请求的视频内容将唯一的清单文件(本文还称为每用户清单文件)提供至每个视频播放器122。每个视频播放器122包括本原视频播放器模块128,该本原视频播放器模块128向用户提供接口并且管理设备122上的视频回放。一些视频播放器122可以进一步包括在图1中被示出为可选模块的增强视频播放器模块129。该增强视频播放器模块129可以是插件或者在视频播放器122上执行的其它软件模块,其或者补充(即,添加附加的能力)或者替换(即,添加附加的能力并且包括视频界面和回放能力)本原视频播放器模块128。如下面将更详细地讨论的,当用户请求视频内容以供在视频设备122上回放时,本原或者增强视频播放器模块129与清单服务器124而不是cdn118通信以获得用于视频回放的清单文件。清单服务器124管理编码器114所生成的清单文件的获取和递送以将唯一清单文件提供至每个视频播放器122。

利用被配置为回放360度直播视频的视频播放器122,提供方向接口125。查看者使用该方向接口向视频播放器122提供这样的指示:查看者想要看360度视频内的哪个方向。如果视频播放器122是将由查看者穿戴的虚拟现实设备,则可以将陀螺仪包括在该虚拟现实设备内。陀螺仪生成与绕陀螺仪的轴的旋转相对应的信号。当查看者转向以看360度视频的不同片段时,陀螺仪生成与查看者的运动相对应的信号并且虚拟现实设备识别应当向查看者显示360度视频的哪个片段。在其它360度查看者中,方向接口125可以是例如用于接收查看者想看的方向的指示的触摸屏、鼠标、轨迹球、箭头键等。

基于查看者想看的方向,向查看者显示在期望方向上的增强视频流中的至少一部分。接下来参照图5和图6,在图5(a)和图6(a)两者中示出了原始视频流112的单个帧200,其中,在图5中图示了第一期望查看方向,并且在图6中图示了第二期望查看方向。在每个情况下,在单个分辨率下示出了整个帧200。然而,在图5中,第一视场205是期望的查看方向,并且在图6中,第二视场207是期望的查看方向。如图所示,原始视频流112的每个帧200包括跨整个360度视场的高分辨率内容。在两个图示中,第一视场205以约180度与第二视场207相对。图5(b)或图6(b)中的圆210图示了整个360度视场。第一方向215与图5中的期望查看方向相对应,并且第二方向217与图6中的期望查看方向相对应。分别针对第一方向215和第二方向217在图5(c)和图6(c)中示出了用于显示给查看者的所产生的图像。

在每个情况下,图示了在期望方向上的90度视场。因此,可以将具有4个片段的增强视频流传送至视频播放器122以回放图像。还参照图7b,具有从90度跨到180度的高分辨率片段的增强视频流可以由视频播放器读取以显示图5所示的第一方向215的期望视场205。还参照图8c,具有从225度跨到315度的高分辨率片段的增强视频流可以由视频播放器读取以显示图6所示的第二方向217的期望视场207。如下面进一步讨论的,当期望方向改变时,视频播放器122接收与该期望方向相对应的信号并且基于存储在清单文件中的信息来识别空间增强视频流,在空间增强视频流中,高分辨率片段与该期望方向相对应。视频播放器122读取清单文件以获得存储增强视频流的地址并且回放与期望查看方向相对应的增强视频流。

接下来转向图2,图示了执行以创建、递送和回放360度视频流的操作。在框130中,编码器114接收初始360度视频信号112。设想到,该360度视频信号112可以是预先录制好的信号或者视频信号112可以是直播流。如上所述,编码器114可以将原始视频信号转换成适合经由http或者https递送的直播流送信号116。直播流送信号116和清单文件被存储在cdn118上以供回放。

在框138中,用户请求在视频播放器122上回放期望360度视频。在框138中,将期望视场的初始方向提供至视频播放器122。期望视场的初始方向可以是默认方向或者可以由用户选择。在框140中,视频播放器122从清单服务器124请求清单文件以获取播放请求的视频内容所必需的信息。

参照图3和图4,图示了清单文件的片段,该片段说明了在清单文件中可用的内容的一部分。清单文件是文本文件,并且在文本文件的每行的特定内容由位于该行的开头的指示标识。例如,图3标识流送信号116中的4个不同流,其中,每个流具有不同的带宽。每个流的播放列表的位置也被包括在清单文件中。对于360度直播流送信号116,清单文件可以进一步包括包含每个增强视图流的地址的第一标识符和与每个增强视图流内的高分辨率内容的方向相对应的第二标识符。

图4是包含加密视频片段的播放列表的一部分的另一清单文件。每行都开始于用于对视频片段进行解密的密钥服务器的位置,标识1与5之间的特定视频片段(即,在文件扩展名.ts之前的“-1”、“-2”等),并且提供cdn118中的视频片段的地址。清单文件可以包括与视频流相对应的任何信息,诸如,视频流的元数据信息。

当视频播放器122从清单服务器124请求清单文件时,在设备之间建立连接。还生成会话标识符以标识该连接。会话标识符可以由视频播放器122或者清单服务器124生成。为了说明起见,将假设会话标识符由视频播放器122生成。当请求清单文件时,会话标识符由视频播放器122传送至清单服务器124。在框142中,清单服务器124然后从cdn118请求清单文件。在框144中,cdn118将清单文件返回到清单服务器124。

因为清单服务器124已经与视频播放器122建立了连接,所以清单服务器124可以在将清单文件返回视频播放器122之前对清单文件进行定制并且将唯一清单文件提供到每个视频播放器122。在没有清单服务器124的情况下,视频播放器122直接从cdn118获取清单文件并且清单文件的内容对于所有用户而言都是相同的。可选地,清单服务器124可以将没有修改的原始清单文件提供至视频播放器122。在框150中,清单服务器124将清单文件提供至视频播放器122。

视频播放器122然后可以从cdn118获取视频内容。如上所述,不同的增强视频流具有带有高分辨率视频内容的不同片段。清单文件标识每个流和该流内的与高分辨率内容相对应的方向。视频播放器使用来自方向接口125的标识查看者正观看的期望方向的方向信号并且将该信号与清单文件中的标识符进行比较。通过使用具有与查看者正观看的方向最紧密匹配的方向的增强视频流,视频播放器122开始读取增强视频流并且然后如在框160中所示从cdn118重复请求在播放列表中标识的增强视频流的连续片段。在框162中,cdn返回包含在期望查看方向上的高分辨率图像的所请求的增强视频流片段。本原视频播放器模块128然后对来自加密视频片段的内容进行解密并且向用户显示所请求的视频内容。

贯穿所请求的视频内容的回放,视频播放器122连续请求与查看者正观看的方向相对应的增强视频流。如在框170中所示的,方向接口125可以向视频播放器122指示查看者已经改变了期望的视场的方向。增强视频播放器模块129可以识别期望的查看方向与另一增强视频流内的高分辨率内容的方向更紧密地对应。视频播放器122然后开始基于存储在清单文件中的方向和地址信息使用新识别的增强视频流来从cdn118请求视频内容的下一个片段。因此,视频信号112的回放可以基于方向接口125所生成的方向信号来在空间增强视频流116之间进行无缝切换。视频播放器122继续从cdn118请求新流中的连续视频片段并且如框172和174所示的,cdn返回所请求的片段。连续提供具有在期望查看方向上的高分辨率内容而且具有在其他处的低分辨率内容的增强视频流以供回放,从而降低将360度视频信号流传送至视频播放器122的带宽需求。

设想到,查看者正观看的方向可能不与增强视图流的高分辨率视频内容的片段中的一个片段恰好一致。增强视频播放器模块129可以进一步被配置为识别增强视图流中的与期望查看方向最佳对应的一个增强视图流。根据本公开的一个实施例,增强视频播放器模块129可以识别与期望查看方向最佳对应的增强视图流并且指示视频播放器122获取该视频流。根据本公开的另一实施例,增强视频播放器模块129可以被配置为充当代理服务器并且读取多个视频流。例如,期望查看方向可以与两个增强视图流的高分辨率内容重叠。增强视频播放器模块129可以读取两个增强视图流并且在将最终产生的流提供至视频播放器122之前合并两个流的高分辨率区段。例如,最终产生的流可以包括180度上的高分辨率内容和在剩余的180度上的低分辨率内容。

在回放期间,用户可以根据视频的内容来连续地改变其观看的方向。因此,将任何给定方向上的视频流的大量内容缓存在视频播放器122中是不实际的。相反,可以从cdn例如以一秒增量来读取特定增强视频流。根据网络连接的带宽和视频播放器122的处理能力,可以期望以其它增量来缓存流。然而,如果持续时间太短,则可能导致获得来自错误的方向或者具有错误的分辨率的内容。如果持续时间太长,则视频流的缓存可以在回放中导致不期望的停顿。

所公开的实施例的多个部分在本文中被描述为实现在各种物理设备上,包括但不限于视频播放器122、清单服务器124、编码器114、或者cdn118内的边缘服务器120。本领域的技术人员应当理解,这些设备可以包括处理设备,诸如,单个微处理器、多个微处理器、协同处理器、专用集成电路(asic)、或者单独地、并行地操作的其它计算设备、或者其组合。进一步地,这些设备中的每一个都包括存储器,该存储器可以包括暂时性存储器、非暂时性存储器、或者其组合。存储器可以包括存储器设备,诸如,随机存取存储器(ram)、只读存储器(rom)、固态存储器等。存储器可以进一步包括被配置为读取移动存储介质的设备,诸如,cd-rom、dvd、软盘、通用串行总线(usb)设备、内存卡等。处理设备可以被配置为读取和执行存储在非暂时性存储器中的指令以进行本文所描述的方法中的各个操作。

应当理解,本发明在其应用中不限于本文所阐明的组件的构造和布置的细节。本公开能够有其它实施例并且能够以各种方式进行实践或者实施。上述内容的变化和修改均在本公开的范围内。还应当理解的是,本文中公开和限定的技术延伸到本文和/或附图中提及或者根据其显而易见的两个或者更多个单独特征的所有替选组合。所有这些不同的组合构成本公开的各个替选方面。本文中描述的实施例解释了用于实践本公开的所已知的最佳模式,并且将使本领域的技术人员能够利用本公开。

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