360度视频流式传输的预测性位率选择

文档序号:1472516 发布日期:2020-02-21 浏览:7次 >En<

阅读说明:本技术 360度视频流式传输的预测性位率选择 (Predictive bit rate selection for 360 degree video streaming ) 是由 T.托库博 E.贝兰 于 2018-03-13 设计创作,主要内容包括:描述了360度视频流的预测性预先提取。获得360度视频流的用户视图取向元数据,所述360度视频流包括多个视窗的数据。基于所述用户视图取向元数据预先提取与所述视窗中的一个特定视窗的一个或多个高分辨率帧相对应的数据,并且显示这些帧。所述高分辨率帧的特征在于比剩余视窗具有更高的分辨率。(Predictive pre-extraction of a 360 degree video stream is described. User view orientation metadata is obtained for a 360 degree video stream, the 360 degree video stream including data for a plurality of windows. Data corresponding to one or more high resolution frames of a particular one of the windows is pre-fetched based on the user view orientation metadata and the frames are displayed. The high resolution frame is characterized by a higher resolution than the remaining windows.)

360度视频流式传输的预测性位率选择

优先权要求

本申请要求于2017年4月6日提交的申请号为15/481,324的美国专利申请的优先权,其全部内容通过引用并入本文。

技术领域

本公开的各方面涉及视频流式传输。具体来说,本公开涉及360度视频的流式传输。

背景技术

通过从围绕单个点布置的多个摄像机拍摄视频流并将视频流拼接在一起以创建单个连续视频图像来创建360度视频。现代编码器将连续视频图像分成多帧视频流。为了通过网络观看360度视频,服务器会向客户端发送这些多帧流。客户端对这些流进行解码并重新组合成在显示器上呈现的连续图像。

系统可以针对帧发送单个请求,下载所请求的帧,然后对它们进行组合以供显示。有时将这种动作组合称为提取动作。通常,为了可靠地流式传输视频而不出现中断,客户端还必须预先提取视频,这表示系统必须下载帧并在显示先前下载的帧之前对它们进行处理。这样,系统在正显示的已处理帧和需下载和处理的后续帧之间建立已处理帧的缓冲区。

对系统资源而言缓冲的代价可能非常高,在处理和存储高分辨率视频时尤为如此。为了节省带宽和减少所需的缓冲量,客户端可以只请求客户端视场内,即视窗内的高分辨率视频流帧。在这种情况下,客户端对除客户端当前视图之外的所有视图接收低分辨率视频流。该系统的一个问题在于客户端通常能够比请求、传送和缓冲高质量流更快地移动视场。因此,本领域需要一种允许客户端预测360度视频流中视场可能指向的位置并在视场移动之前提取相应的高分辨率视频流的系统。

附图说明

通过结合附图考虑以下详细描述,可以容易地理解本公开的教导,其中:

图1是根据本公开的一个方面的360度视频中的虚拟摄像机视场的示图。

图2是根据本公开的一个方面的等量矩形投影中的预测视频提取的示图。

图3是根据本公开的一个方面的立方体映射投影中的预测视频提取的示图。

图4是根据本公开的一个方面的用于显示360度视频的系统的框图。

图5是根据本发明的一个方面的用于决定何时改变帧的马尔可夫链的简化圆图。

图6是示出根据本公开的各方面的显示360视频的方法的流程图。

发明内容

通过本公开所涉及的预先提取360度视频的方法的各方面克服了与现有技术相关的缺点,该方法包括:获得360度视频流的用户视图取向元数据;预先提取由用户视图取向元数据确定的帧;以及根据用户视图取向元数据显示360度视频流的较高分辨率的帧。

具体实施方式

尽管为了说明的目的,下面的详细描述包括许多具体细节,但本领域普通技术人员将理解,对下面细节的许多变化和改变都处于本发明的范围内。因此,下面描述的本发明的示例性实施方案是在不丧失对所要求保护的发明的一般性且不对其施加限制的情况下阐述的。

引言

通常,在网络上流式传输360度视频涉及接收一组全部一种质量的视频流。较新的流式传输技术通过仅在查看器关注的区域加载高质量的流来减少带宽使用。这种技术具有额外的效果,即允许查看器加载更高分辨率的视频流,而不需要太多的时间或缓冲资源。

虽然所公开的技术允许查看器观看更高质量的视频流,但如果用户突然将视窗从高质量的视频流移开,可能会经历分辨率的不和谐下降。已经开发了本公开的各方面来消除这种不和谐的体验。

在其它情况下,360度视频的作者可能对查看器在360度视频的特定场景中应该看到什么有一些艺术家的视觉。根据现有技术方法,向查看器显示的场景中的这种细节可能由于显示低分辨率视频或者在查看器向另一方向查看时出现丢失。因此,已经开发了本公开的这些方面来提高所感知的360度视频流质量,并且允许作者针对查看器来定义视窗和视频质量。

作者启动的预先提取

如图1所示,在360度视频中,摄像机可以在许多方向上查看图像。摄像机101固定在点108处,场景100围绕在摄像机101的周围,以创建360度可视区域。摄像机可以围绕固定点108旋转以查看场景中的图像103。可以将场景分成称为视窗102的不同区域。每个视窗102可以是由客户端加载的不同视频流。如图2所示,可以将视频的每个部分划分到这些视窗中。摄像机101可以在任何方向上来改变取向,例如向上104、向下106、向左105或向右107,以从一个视窗102移动到另一视窗。

图2描绘了根据当前公开的各方面的等量矩形投影。360度场景200由一系列大小相等的矩形201至208组成。每个矩形可以是客户端装置加载并拼接在一起以供显示的单独视频流。每个矩形可以足够大以包括摄像机的视图,在这种情况下,矩形就是视窗201。可选地,几个矩形可以一起表示单个视窗(未示出)。

视频和图像的作者通常对他们希望内容的查看器看到什么有所了解。360度视频的创作者也不例外。如上所述,现有技术中显示的360度视频只有一种分辨率。在较低的分辨率下,查看器可能会丢失视频图像的重要方面。

根据本公开的各方面,作者可以针对客户端定义将加载的高分辨率帧的位置202。作者还可以在视频流中定义元数据209,客户端可以使用元数据209来预测性地加载与用户可能查看的360度视频的部分相对应的流的高分辨率视频内容。作为示例而非限制,元数据209可以是向量的形式,具有表示重要性的幅度及方向。在一些实现方式中,可以将时间编码在元数据209的旁边,或者可以将向量设置在固定时间步长间隔的流中。也将所定义的称为用户视图取向元数据。

在一些实现方式中,元数据可以在后端或服务器端生成,而无需客户端明确发送视图取向信息。作为示例而非限制,服务器可以基于客户端请求哪些流以及何时请求、然后映射哪个流属于哪个视窗来构建概率场。这假设客户端将针对当前客户端视窗选择最高质量的流。

元数据209可以与用户在视频流内移动视窗201的可能性相关联。可选地,根据作者的艺术视觉,作者定义的预先提取向量形式的元数据209可以是查看器的理想化移动向量。客户端装置可以跟踪视窗的实际移动210和元数据209。客户端装置可以预先提取实际视窗201中的帧和沿作者定义的预先提取向量202、203的帧。可选地,客户端可以仅沿作者定义的向量提取高分辨率帧202、203,以促使查看器将视窗移动到360度流中的不同位置。

作者定义的预先提取元数据不必是向量。作者可以简单地定义他们希望在显示202的某些时间内具有高分辨率的帧。因此,客户端可以在作者定义的某些时间提取作者定义的高分辨率帧。

作者还可以针对缩放功能将帧的某个区域定义为高分辨率。作者可以为帧的子部分提供详细水平的信息,使得帧的某个子部分被编码为高分辨率。可以将通知客户端该高分辨率子部分的位置的元数据发送到客户端,从而可以预先提取该流。

元数据209也可以用于在视频显示期间控制视窗201。作者可以选择让视窗201沿元数据209移动,而无需查看器的输入。这样,可以实现虚拟摄像师功能,并且作者可以在360度显示器上更好地显示艺术视觉。

制作定义的预先提取

在将效果添加到视频流的帧(也称为制作)期间,客户端可能希望预先提取高分辨率帧以匹配制作效果。作为示例而非限制,客户端可能希望在明显的响亮声响方向预先提取高分辨率帧。可选地,在制作过程中,客户端可能希望在存在许多特殊效果或特殊摄像机移动的位置预先提取帧。

根据本公开的各方面,客户端可以接收元数据,该元数据使客户端预先提取在制作期间定义的某些帧。如上所述,这些定义的帧可能更多地对应于特殊效果和声音提示,而非艺术视觉。也可以将制作定义的预先提取元数据称为用户取向元数据。

预测性预先提取

根据本公开的可选方面,如图2和图3所示,客户端可以使用预测性元数据来预先提取被确定处于潜在未来视窗中的流。预测性元数据可以在制作过程中生成,以确保终端查看器在其视场中接收到比采用单分辨率流的系统中更高的分辨率帧。

工作室可以使用从360度视频的查看器收集的筛选数据来生成查看器可能在任何时间观看视频中的何处的概率模型。该概率模型可以基于诸如360度视频中的当前视图取向、视频中的时间码、视频的过去视图等变量来定义用户从当前帧201移动到另一帧202或停留在当前帧201中的可能性。改变帧的概率可以由与当前显示的360度视频中的每个帧相关联的概率来表示,这通过图2所示的每帧201至208中的百分比来表示。可以将预测性预先提取数据称为用户取向元数据。

可选地,预测性预先提取元数据可以是否定的或相反/对立的数据。换言之,预先提取元数据可以相反表示查看器不太可能看哪里的一个或多个概率,而非用户可能看哪里的概率。

视频帧的预先提取不限于高分辨率流和低分辨率流。如图2所示,系统可以选择预先提取具有特定概率阈值水平的帧的中间分辨率205、206。同样,具有成为视窗204、207、208的低概率的帧将仅利用显示低分辨率图像来预先提取。作为另外的方面,作为示例而非限制,低视窗概率帧204、207、208可以比高概率帧得到更少的更新,可以例如每更新2次高概率流而仅更新一次低概率帧。更一般地,根据低概率流是否在视场中,最佳/高概率流的任何因素都可以用于更新该低概率流。在一些实现方式中,仍处于视图中的低概率流可以全高概率更新速率来进行更新,以避免拼接帧之间明显失调。

为了确定是否使用该概率元数据来预先提取流,客户端可以具有定义的阈值概率水平。当概率元数据确定查看器将视窗移动到某个帧的概率超过阈值概率水平时,客户端将预先提取该帧。在可选实施方案中,客户端可以基于概率元数据的保真度来预先提取帧。

预测性保真度检查

图3描绘了根据本公开的各方面的立方体映射投影。以每帧中的百分比进行表示的预测数据与视窗301的实际移动305不匹配。在该示例中,作者预测的预先提取向量303也与视窗301的实际移动向量305不匹配。在图3所示的情况下,实际视窗将在302结束,而系统将基于预测数据来预先提取帧301或基于作者定义的预先提取向量来预先提取帧304。因此,在图3的情况下,系统可以确定是继续遵循查看器取向元数据还是默认为单一质量水平。

客户端可以对概率的和作者定义的元数据的保真度进行连续或间歇的检查。客户端最初可以基于概率元数据和视窗301的实际取向来预先提取高分辨率帧。客户端然后可以根据视窗的取向和元数据来显示高分辨率帧。客户端可以根据概率的或作者定义的元数据进行检查以确定查看器是否已经将视窗移动到高分辨率帧。

在根据概率元数据或作者定义的预先提取向量确定视窗不在预先提取的帧内时,客户端可以停止使用元数据进行预先提取,并且仅提取视窗的当前视场中的高分辨率帧。在可选实施方案中,客户端可以连续地利用元数据来检查视窗移动的相关性。客户端可对不遵循概率元数据的视窗移动具有容差水平。该容差水平可以是,作为示例而非限制,丢失的预测帧与观察到的预测帧的比率,在这种情况下,随着比率增加到1,客户端可以转移到仅提取实际视窗内的帧。更一般地,可以通过统计量化一组值中的变化量来确定该容差水平。任何适当的可变性测量,例如标准偏差,可以应用于用户和元数据的固定或变化的窗口组。

后期制作预先提取生成

本公开的另一方面是基于终端查看器数据来生成预测性元数据。客户端装置可以从查看器收集关于视窗取向的数据。客户端装置可以使用该查看器数据来生成预测性数据,并且根据该预测性数据预先提取视频流。客户端装置还可以与其它客户端或服务器共享预测性数据,以生成或改善视频流的概率元数据。

客户端装置可以使用视窗取向数据来生成预测性数据。作为示例而非限制,客户端装置可以使用视窗的移动向量305来预测性地提取位于向量上并虑及移动速度的高分辨率视频流。可以将用户生成的预测性预先提取数据称为用户取向元数据。

客户端可以将视窗取向数据发送到数据收集中心,以生成更好的概率元数据供将来查看。除了作者定义的预先提取数据之外,数据收集中心可以使用视窗取向数据来生成视频流的元数据。所生成的元数据可以对作者定义的预先提取数据进行加权,使得除非客户端密切遵循过去用户定义的查看向量,否则优选预先提取作者定义的流。

服务器端预先提取

在本公开的可选实施方案中,服务器使用元数据来选择高分辨率流以发送给客户端装置。根据本实施方案的各方面,服务器所使用的元数据可以是作者定义的、从查看器生成的概率数据或其它预测性数据。服务器可以从客户端装置接收对360度视频流的请求。服务器可以检查所请求的流的查看器取向元数据。在找到这样的元数据时,服务器可以根据该元数据向客户端发送高分辨率流。服务器还可以接收实际的查看器取向数据,并且发送实际视窗视图中的高分辨率流。此外,服务器可以如上所述执行预测性保真度检查,以基于元数据确定是否应该继续发送高分辨率视频流。

实现方式

图4描绘了根据本公开的各方面的系统。该系统可以包括联接到显示器401和用户输入装置402的计算装置400。显示装置401可以是阴极射线管(CRT)、平板屏幕、触摸屏或显示文本、数字、图形符号或其它可视对象的其它装置的形式。用户输入装置402可以是控制器、触摸屏或允许用户与用户视图取向进行交互并选择360度视频流的其它装置。在一些实现方式中,显示器401可以是360度显示器,其被配置成针对沉浸式360度视频体验同时显示360度视频的多个视窗。在其它实现方式中,显示器401可以是传统的二维显示器。在这样的实现方式中,用户能够通过与计算装置进行交互来确定视窗。

计算装置400可以包括一个或多个处理器单元403,该处理器单元403可以根据诸如单核、双核、四核、多核、处理器-协同处理器、单元处理器等公知架构来进行配置。计算装置还可以包括一个或多个存储器单元404(例如,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、只读存储器(ROM)等)。

处理器单元403可以执行一个或多个程序,这些程序的一部分可以存储在存储器404中,并且处理器403可以例如通过经由数据总线405访问存储器来可操作地联接到存储器。可以将程序配置成基于接收到的视频流的元数据410来请求该视频流的帧。当由处理器执行时,程序可以使系统对高分辨率帧408进行解码,并且将可能处于查看器的视窗中的帧存储在缓冲器409中。

计算装置400还可以包括公知的支持电路,例如输入/输出(I/O)407、电路、电源(P/S)411、时钟(CLK)412和高速缓存413,它们可以例如经由总线405与系统的其它部件通信。。计算装置可以包括网络接口414。可以将处理器单元403和网络接口414配置成经由用于个人区域网(PAN)的例如蓝牙的适当网络协议来实施局域网(LAN)或PAN。计算装置可以可选地包括诸如磁盘驱动器、光盘驱动器、磁带驱动器、闪速存储器等大容量存储装置415,并且该大容量存储装置可以存储程序和/或数据。计算装置还可以包括用户接口416,以便于系统和用户之间进行交互。用户接口可以包括键盘、鼠标、光笔、游戏控制板、触控接口或其它装置。在一些实现方式中,用户可以使用接口416例如通过利用鼠标滚动或操纵操纵杆来改变视窗。在一些实现方式中,显示器401可以是如智能电话、平板电脑或便携式游戏装置中的手持显示器。在这样的实现方式中,用户接口416可以包括作为显示器401一部分的加速度计。在这样的实现方式中,可以例如通过适当的编程来对处理器403进行配置,以检测显示器取向的变化,并且使用该信息来确定视窗。因此,用户可以通过移动显示器来简单地改变视窗。

在一些实现方式中,可以将预测性元数据配置成实施马尔可夫链。图5示出了根据本公开的各方面的马尔可夫链的图形表示。每个圆圈代表状态501至506,例如360度视频中的视窗取向。在这个马尔可夫链中有六种状态代表一个立方体映射的视频流。每个箭头表示视窗将变为视频流的另一视窗的概率。这些转移概率可以由导演或制片人手工设定,由焦点组数据或实际查看器数据来确定。在视频流中的每个时间点,每个帧可以具有自身的马尔可夫概率。根据本公开的一个实施方案,系统可以仅接收表示从当前视窗取向转移到不同取向的马尔可夫概率的元数据,例如,显示501处的当前视窗的客户端将仅接收从当前视窗501移动到多个视窗502至506中的不同视窗或停留在当前视窗501中的概率。这样,系统可以通过在接收流的同时仅接收从当前状态转移的概率来减少初始加载时间和带宽使用。可选地,系统可以在视频流开始的每个时间点接收视频流的总体马尔可夫概率模型。该实施方案增加了流的初始加载时间,但减少了流式传输期间需要处理的总体信息。在另一实施方案中,系统可以在流式传输360度视频的同时在每个时间点接收马尔可夫概率模型。该实施方案以流处理为代价减少了前期的加载时间,但在客户端和服务器之间不同步的情况下,还包括额外的马尔可夫概率数据。

为了利用马尔可夫链模型实施如上所述的作者定义的预先提取元数据,系统可以对转移到沿作者定义的预先提取向量的状态的概率进行加权。因此,如果移动概率加上权重超过阈值,则客户端将启动该状态的预先提取。

根据本公开的各方面,客户端可以独立于视频流来接收所请求的视频流的查看器取向元数据。如果元数据是独立于视频流接收的,则该元数据必须与视频流在时间上同步。在当前公开的可选方面,作为示例而非限制,在360度视频流的数据头中,元数据可以作为视频流自身的一部分而被接收。

图6描绘了根据本公开的各方面的预测性位率选择的流程图。系统可以从网络请求视频流601。根据视频流的请求,系统可以从网络或在大容量存储存储器415中本地存储的或者从诸如光盘的存储介质或者从本领域已知的任何适当类型的数据存储装置中获得用户视图取向元数据602。应当注意,如上所述,也可以在流式传输期间获得该用户视图取向元数据。如上所述,查看器取向元数据可以通知系统在显示之前将提取的帧,包括用户尚未输入的可能视窗。因此,如上所述,系统将以较高分辨率预先提取可能视窗或期望视窗的帧以及初始起始视窗的帧,并且以较低分辨率预先提取360度视频流中的其余帧603。然后,如上所述,系统将通过例如显示装置401来显示预先提取的帧604。当显示预先提取的帧604时,系统可以继续605预先提取帧603,以产生在用户视场中具有更高分辨率帧的不间断360度视频流式传输体验。可选地,系统可以使用606预测性保真度检查607来确定是根据视图取向元数据608继续预先提取帧还是进入当前加载状态,在当前加载状态中,仅以较高的分辨率预先提取当前视窗中的帧。在当前加载状态下,如上所述,系统可以继续检查预测的保真度609,直到预测变得准确为止。此时,系统可以基于用户视图取向元数据603恢复预先提取608。

虽然以上是对本发明的优选实施方案的完整描述,但可以使用各种替换、修改和等同方案。因此,本发明的范围不应参照上述描述来确定,而是应参照所附权利要求及其等同方案的全部范围来确定。任何无论是否优选的特征都可以与任何其它无论是否优选的特征相结合。在所附权利要求中,除非另有明确说明,不定冠词“一”或“一个”指代该冠词后面的一个或多个物项的数量。所附权利要求不应被解释为包括装置加功能限制,除非在使用短语“用于......的装置”的给定权利要求中明确地叙述了这种限制。权利要求中未明确声明“用于”执行指定功能的任何元素,不应被解释为美国法典第35篇第112条第6款中规定的“装置”或“步骤”条款。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:成像装置、配备相机的无人机以及模式控制方法和程序

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类