掌桥专利:专业的专利平台
掌桥专利
首页

用于基于注视矢量信息提供360o沉浸式视频的系统和方法

文献发布时间:2023-06-19 09:47:53


用于基于注视矢量信息提供360o沉浸式视频的系统和方法

技术领域

本公开大体上涉及通信网络。更具体地,并且不以任何方式进行限制,本公开涉及用于在流传输网络环境中基于注视矢量信息来提供360°沉浸式视频的系统和方法。

背景技术

虚拟现实的引入除了改进了若干现有技术之外,还使新的应用走在了最前列。在360°沉浸式视频(也被不同地称为全景视频、360度视频或360视频等)的情况下,可以看到对现有技术的一种改进。

360度视频为用户提供了沉浸式的“身临其境”的体验。虚拟现实的增强的沉浸感可以轻松地应用于视频,与投影在平坦表面上的传统视频相比,提供了卓越的用户体验。随着全向捕获系统和交互式显示系统(例如头戴式显示器(HMD)或头戴式耳机)的出现,可导航的360度视频系统也越来越流行。然而,内容提供商一直在争夺带宽受限的网络环境,以便以有效的方式传递360度视频内容,以确保令人满意的观看体验,因为360度视频资产是超高分辨率的球形视频,其包含需要大量数据的场景的全向视图。

当前的360视频耳机是2K分辨率的显示设备,每只眼睛覆盖1K。为了在耳机中获得最佳质量,典型的网络需要向设备发送8K 360视频流。众所周知,视频压缩通过减少表示图片的比特数来允许在媒体流传输传输网络中对带宽的有效利用。尽管视频压缩技术的进步不断加快,但是在当今网络环境中的有效管理带宽方面,在360视频传递和显示领域仍然存在一些空白,由此需要如下文所述的进一步创新。

发明内容

本专利公开广泛地涉及用于实现优化的360°沉浸式视频观看体验的系统、方法、装置、设备和相关联的非暂时性计算机可读介质以及网络架构。在一个方面,某些实施例涉及可以在有关于将源视频流编码为具有不同质量的图块编码的流的布置中实现的优化编码方案。在另一方面,某些实施例涉及在基于图块相对于用户的视口的位置来确定图块权重时,利用用户注视矢量信息。在又一方面中,示例实施例涉及图块选择和带宽退火方案,其中响应于注视矢量信息和带宽分配来选择经带宽优化的图块,用于拼接到复用的编码视频序列中,以增加观看体验。

在涉及媒体准备系统和方法的一个实施例中,将媒体输入流编码为具有不同质量(例如与QP(量化参数)有关)的第一比特流集合,其中,每个图片组(GOP)从帧内编码的(I)帧开始,随后是包括至少一个经预测编码的(P)帧在内的帧集合。媒体输入流还被编码为具有不同质量的第二比特流集合,其中,每个GOP从I帧开始,随后是多个X帧(也被称为经块内编码的帧或全帧内编码的帧)。在一个变型中,每个X帧被编码为具有P帧的切片头部且仅包括进行了帧内编码的数据的块(例如I块)。在另一变型中,X帧被编码为具有经双向预测编码的帧(B帧)的切片头部,仅具有图像数据的I块。在播出360°沉浸式视频内容期间,当视口在GOP中间改变和/或如果带宽分配改变时,针对新的视口,将X帧中的较高质量的数据拼接到编码视频序列中,以用于以最小的时延增强观看体验。

在涉及媒体准备系统和方法的另一实施例中,对媒体输入流进行编码以生成媒体输入流的多个比特率表示,每个比特率表示具有与用于比特率表示的QP值有关的单独的视频质量。每个比特率表示被编码在多个阶段编码的比特流中,每个属于特定比特率表示的阶段编码的比特流包括具有特定GOP结构的多个(N个)帧,GOP结构具有GOP大小(p),其中,阶段编码的比特流的数量等于GOP大小。对于每第p个阶段编码的比特流,N个帧的编码如下:至少第一帧被编码为帧内编码的(I)帧;满足{i Mod(GOP大小)}=p的帧位置i(2≤i≤N)处的帧被编码为X帧,X帧具有经预测编码(P)的帧的切片头部且仅包括帧内编码的数据的块(I块),否则,帧被编码为带有P切片头部的具有帧内编码的数据的块(P块)的P帧。在本文的示例实施例中,“Mod”是模运算符,返回除法之后的余数。其他变型可以采用带有B切片头部的X帧。在回放360°沉浸式视频内容期间,当视口在GOP中间改变和/或如果带宽分配改变时,将来自合适阶段的阶段编码的比特流的X帧中的较高质量的数据复用到编码视频序列中,以用于以最小的时延增强观看体验。在本文的示例实施例中,具有合适阶段的比特流是X帧位于期望帧位置处的比特流,例如解码顺序中可以复用到编码视频序列中的最早帧处。

在示例实现中,可以基于高效视频编码(HEVC)H.265压缩、开放媒体联盟(AOMedia)视频1(AV1)压缩和H.266压缩(也被称为多功能视频编码(VVC)或未来的视频编解码器(FVC)压缩)中的至少一种来生成各种类型的图块化的比特流、具有不同质量的BIE比特流和/或PE比特流。

在另一方面,涉及一种在沉浸式视频优化系统中操作的方法的实施例(尤其)包括:从客户端设备接收注视矢量,客户端设备操作为向用户显示360°沉浸式视频资产,其中,每个视频帧包括投影到由用户观看的3维(3D)显示环境上的图块阵列,用户沉浸在该3维(3D)显示环境中,注视矢量定义了3D显示环境中用户在任意特定时间正在观看的注视方向。确定注视矢量与方向矢量之间的角度间隔,方向矢量与3D显示环境中分别与图块阵列相对应的每个图块位置相关联。响应于角度间隔,确定与图块阵列相对应的多个图块权重,以用于为360°沉浸式视频资产选择不同比特率质量的图块,以便促进对在360度视图上具有不同质量的视频帧的组装,来将该视频帧传递给客户端设备。在一个变型中,通过跟踪与用于显示360°沉浸式视频资产的客户端设备相关联的用户的头戴式耳机的朝向,来获得注视方向。在另一变型中,通过跟踪在显示360°沉浸式视频资产时,用户的眼球相对于3D显示环境的不同部分的运动,来获得注视方向。在又一变型中,可以实现与用户相关联的眼动和头部运动的组合,以确定注视矢量信息。

在又一方面,涉及在沉浸式视频优化系统中操作的图块选择和带宽退火方法的实施例(尤其)包括:获取一个或多个流清单文件,一个或多个流清单文件针对与媒体输入流的多个比特率表示中的特定一个比特率表示相对应的每个图块编码的比特流,描述每帧的图块分组的特性。每个比特率表示或流被编码为具有与用于该比特率表示的对应QP值有关的独立的视频质量,其中,图块编码的比特流的每个帧包括图块阵列,图块阵列被组织到每帧的至少一个切片中,其中,多个帧形成图块编码的比特流的GOP结构。基于相应的图块位置和与媒体输入流的多个图块编码的比特流相对应的变化的权重,来获得与形成帧的图块阵列相对应的权重。针对每个图块编码的比特流,为跨GOP结构的每个图块/GOP组合确定充足性度量或值,充足性度量或值是变化的权重和图块权重的函数。响应于充足性度量值,可以在迭代过程中从对应的图块编码的比特流中选择具有不同比特率质量的图块或者来自具有不同比特率质量的比特流的图块,用于实现对整体带宽分配的背包优化,其中,对所选择的图块的比特率质量进行优化,以满足传输缓冲器模型进行复用的视频输出流的传输。将所选择的图块提供给复用器或图块拼接器,用于生成包含所选择的图块在内的帧,作为复用的视频输出流的一部分,其中,从较高质量的比特流选择视口中的图块。在一个变型中,可以在视频优化节点处以网络为中心配置来提供图块拼接器。在另一变型中,可以在客户端设备处以设备为中心配置来提供图块拼接器,客户端设备可操作以消费360°沉浸式视频内容。

在又一方面,本公开涉及一种在虚拟现实(VR)设备上呈现360°沉浸式视频流的视频图块的方法,其中,视频质量在360°全景视图之间变化。该方法(尤其)包括基于视频流的整体分配的比特率和各个图块相对于用户的直接视野的位置,来确定每个单个视频图块的比特率。该方法可以包括确定用户的当前直接视野(例如感兴趣区域或ROI);以及在用户的当前直接视野内呈现具有比视频流的整体比特率高的比特率的视频图块(或者包括使用相对低的QP值编码的块的视频图块);以及在用户的当前直接视野之外呈现具有比360°视频流的整体比特率低的比特率的视频图块(或者包括使用相对较高的QP值编码的块的视频图块),其中,用户的视野内的视频图块和用户的视野之外的视频图块的整体比特率不超过360°视频流的整体分配的比特率。技术人员将在参考后认识到,在示例实施中,相对QP值和相对比特率值一般成反比关系,并且在特定实施例中可以适当变通地互换使用。

在另一实施例中,本公开涉及被配置为在VR设备上呈现视频流的视频图块的360°视频优化系统,其中,视频质量在360°全景视图之间变化。系统基于360视频流的整体分配的比特率和各个图块相对于用户的直接视野的位置来确定每个单个图块的比特率。系统访问视频清单(或者获得到清单的链接),并且从视频后台接收视频流的整体比特率的指示。系统接收或以其他方式确定用户相对于VR设备的当前直接视野。系统在用户的当前直接视野内呈现具有比360°视频流的整体比特率高的比特率的视频图块;以及在用户的当前直接视野之外呈现具有比360°视频流的整体比特率低的比特率的视频图块,其中,用户的视野内的视频图块和用户的视野之外的视频图块的整体比特率不超过360°视频流的整体分配的比特率。

在其他方面,公开了一种系统、装置或网络元件的实施例,其(尤其)包括诸如处理器和具有用于执行本文阐述的方法的实施例的程序指令的持久性存储器之类的合适硬件。

在其他方面,公开了非暂时性计算机可读介质或分布式介质的一个或多个实施例,其包含计算机可执行程序指令或存储在其中的代码部分,该计算机可执行程序指令或存储在其中的代码部分在由网络节点、装置、系统、网络元件、订户设备等的处理器执行时,适当变通地用于执行本发明的方法的一个或多个实施例。各个实施例的其他特征如从属权利要求所要求的。

本文公开的示例实施例在沉浸式媒体消费环境中提供了多个益处。基于本发明的编码实施例并且基于输入注视矢量、带宽分配和传输缓冲器模型来选择不同质量的图块,可以有利地通过针对更高质量的视口优化的图块来组装帧。因为帧是选择性地进行视口优化的,所以即使是在带宽受限的环境中也可以传输高质量的复用流,而无需牺牲观看体验。示例实施例可以被有利地配置,使得将始终在直接视图中传递最高质量的图块,在远离直接视野的多个区域之间以受控的降级质量传递,在与用户正在观看完全相反方向的区域中以最低质量传递。因此,当向设备传递流时,用户始终在他们直接观看的区域中获得最高的视频QoE。此外,当用户移动其头部时,示例实施例的GOP中间切换允许以最小的时延尽快接收高质量的图块。利用为逐步刷新而编码的图块,当用户改变他们的视野时,示例实施例可以进一步减少视频的时延,因为可以通过在要传递的下一帧的初始升级中发送若干高质量的图块来最小化视频缓冲器的大小。在接下来的若干帧的过程中,示例实施例基于当前视野和所允许的带宽来逐步增加剩余图块的质量,直到达到图块的质量为止。

当考虑经管理的网络环境时,在本发明的示例实施例的实践中可以实现更多的益处和优点。因为示例实施例可以被配置为利用经管理的网络并且在指定量的网络带宽内优化传递,所以客户端不必估计可用的带宽量并对所请求的图块的比特率进行调整。这允许客户端使用最小1-3帧的缓冲器进行操作,并且避免了陷入暂停缓冲器的情况。因此,可以实现用于流的传递的更高的可靠性,同时为质量升级提供最小的时延。

根据以下描述和附图,实施例的其他益处和优点将显而易见。

附图说明

在附图的图中通过示例而非限制的方式示出本公开的实施例,在附图中,相同的附图标记表示相似的元素。应当注意到:在本公开中针对“实施例”或“一个实施例”的不同引用不必指相同的实施例,并且这种引用可以意味着至少一个实施例。此外,当结合实施例来描述特定特性、结构、或特性时,应认为:结合其它实施例(不管是否是显式描述)来实现这种特征、结构、或特性是在本领域技术人员的知识范围内的。

附图被并入说明书中并形成说明书的一部分,以示出本公开的一个或多个示例性实施例。通过以下结合所附权利要求书并参照附图的详细说明,将理解本公开的各种优点和特征,其中:

图1描绘了通用示例网络环境,其中可以实践本发明的一个或多个实施例,用于在各种网络配置上提供360°沉浸式视频;

图2描绘了包括图1所示的环境的一部分的示例网络架构,用于根据示例实施例促进对360°沉浸式视频的优化的图块编码;

图3描绘了可以作为媒体准备和/或处理系统的一部分来提供的示例图块编码器,该媒体准备和/或处理系统被配置为在图2的网络架构的布置中工作;

图4A至图4C示出了在示例编码器布置中每个帧包含一个或多个切片和/或图块的示例视频帧;

图5是示出了根据本发明的一个或多个实施例的用于促进优化的360°沉浸式视频的媒体准备/处理方法的各个框、步骤和/或动作的流程图,在具有或不具有本公开的附加流程图的框、步骤和/或动作的情况下,可以在一个或多个布置中(重新)组合该媒体准备/处理方法的各个框、步骤和/或动作的流程图;

图6示出了根据本发明的一个或多个实施例的示例编码布置的各个框、步骤和/或动作,该示例编码布置涉及阶段化编码(PE)方案或块内编码(BIE)方案,阶段化编码(PE)方案或块内编码(BIE)方案可以被实现为图5的示例媒体准备/处理方法的一部分;

图7是示出了根据本发明的示例实施例的BIE方案的流程图;

图8A是示出了根据本发明的示例实施例的用于在图块化编码布置中配置BIE方案的过程的流程图;

图8B是示出了根据本发明的示例实施例的示例BIE方案中的附加框、步骤和/或动作的流程图;

图9是示出了根据本发明的示例实施例的PE方案的流程图;

图10A是示出了根据本发明的示例实施例的用于在图块化编码布置中配置PE方案的过程的流程图;

图10B是示出了根据本发明的示例实施例的示例PE方案中的附加框、步骤和/或动作的流程图;

图11描绘了在示例实施例中由基于BIE的图块化编码器系统生成的具有不同质量的多个编码比特流;

图12描绘了在示例实施例中由基于PE的图块化编码器系统生成的针对特定比特率表示的、具有不同阶段的多个编码比特流;

图13A示出了根据本发明的实施例的示例图块拼接方案的各个框、步骤和/或动作,该示例图块拼接方案涉及基于BIE的图块化的流;

图13B示出了根据本发明的实施例的示例图块拼接方案的各个框、步骤和/或动作,该示例图块拼接方案涉及基于PE的图块化的流;

图13C是示出了根据本发明的实施例的关于示例图块拼接方案的附加框、步骤和/或动作的流程图;

图14示出了根据本发明的示例实施例的360°视频帧,该360°视频帧包括从具有不同质量或QP的编码比特流中选择的图块;

图15A和图15B是示出了根据本发明的一个或多个实施例的用于促进在360°沉浸式视频观看环境中基于与用户注视相关联的权重来优化图块选择的方法的各个框、步骤和/或动作的流程图,在具有或不具有本公开的附加流程图的框、步骤和/或动作的情况下,可以在一个或多个布置中(重新)组合该方法的各个框、步骤和/或动作;

图16A和图16B示出了用于促进在图块编码的帧中确定用户的注视方向和图块位置之间的角度间隔的示例几何布置;

图16C示出了出于本发明的一个或多个实施例的目的的示例360°浸入式视频观看环境;

图17A是示出了根据本发明的示例实施例的关于示例360°浸入式视频优化过程的附加框、步骤和/或动作的流程图;

图17B是示出了根据本发明的示例实施例的关于示例360°沉浸式视频优化过程的其他方面的附加框、步骤和/或动作的流程图;

图18A描绘了具有根据本发明的实施例确定的不同权重的图块位置的示例视频帧;

图18B描绘了具有经不同编码的视口图块的帧的示例设备缓冲器;

图18C和图18D示出了3D观看空间,其中图块质量基于用户注视方向而分布;

图19是示出了根据本发明的一个或多个实施例的图块选择和带宽退火过程的各个框、步骤和/动作,在具有或不具有本公开的附加流程图的框、步骤和/或动作的情况下,可以在媒体准备/处理方法的一个或多个布置中(重新)组合该图块选择和带宽退火过程的各个框、步骤和/动作;

图20是示出了根据本发明的实施例的关于示例图块选择和带宽退火过程的附加框、步骤和/或动作的流程图;

图21A和图21B是示出了根据本发明的示例实施例的关于图块选择和带宽退火过程的其他方面的附加框、步骤和/或动作的流程图;

图22示出了根据本发明的示例实施例的用于使用图块选择和带宽退火布置的传输缓冲器模型配置;

图23描绘了为了本专利公开的实施例的目的一种布置,其中UE设备可以被配置为执行360°沉浸式视频优化的某些方面;

图24描绘了根据本发明的实施例的装置的框图,该装置可以被(重新)配置和/或(重新)布置为平台、节点或元件,以实现360°沉浸式视频处理、准备和优化的一个或多个方面;以及

图25描绘了为了本专利公开的实施例的目的而具有附加细节的示例UE设备的框图。

具体实施方式

在本文针对本发明的实施例的描述中,提供了许多具体细节,例如组件和/或方法的示例,以提供对本发明的实施例的透彻理解。然而,相关领域的技术人员将认识到,可以在没有一个或多个特定细节的情况下,或者在具有其他装置、系统、部件、方法、组件、材料、零件等的情况下实践本发明的实施例。在其他情况下,没有具体示出或详细描述众所周知的结构、材料或操作,以避免使本发明的实施例的各方面不清楚。因此,本领域技术人员将清楚的是,可以在没有这些特定组件的情况下实践本公开的实施例。还应认识到,借助本文阐述的详细描述并参考附图,本领域普通技术人员将能够在不进行过度实验的情况下制造和使用一个或多个实施例。

另外,诸如“耦接”和“连接”之类的术语及其派生词可以在以下描述、权利要求书或两者中使用。应当理解,这些术语不必旨在作为彼此的同义词。“耦接”可以用于指示两个或更多个元件可以彼此直接或可以不彼此直接物理或电学接触、彼此协作或交互。“连接”可以用于指示在彼此耦接的两个或更多个元件之间建立通信,即通信关系。此外,在本文阐述的一个或多个示例实施例中,一般而言,如果可以对元件进行编程以执行或以其他方式结构式布置来执行一功能,则元件、组件或模块可以被配置为执行该功能。

如本文所使用的,网络元件、节点或子系统可以由一台或多台服务网络设备组成,包括与网络上的其他设备通信互连的硬件和软件(例如其他网络元件、端站点等),并且适于在虚拟化/非虚拟化环境中,对多个订户和相关联的用户设备(UE)节点托管一个或多个应用或服务,该多个订户和相关联的用户设备(UE)节点可操作以在媒体分发网络中接收/消费内容,在该媒体分发网络中,可以使用基于流或基于文件的机制分发和传递媒体内容资产。这样,一些网络元件可以被布置在无线的无线电网络环境中,而其他网络元件可以被布置在公共分组交换网络基础设施中,公共分组交换网络基础设施包括或以其他方式涉及可以包括公共、私有或混合CDN在内的合适的内容传递网络(CDN)基础设施。此外,包括本文阐述的一个或多个实施例的合适的网络元件可以涉及地面和/或卫星宽带传递基础设施,例如数字订户线(DSL)网络架构、符合电缆数据服务接口规范(DOCSIS)的电缆调制解调器终端系统(CMTS)架构、交换数字视频(SDV)网络架构、混合光纤同轴(HFC)网络架构、合适的卫星接入网络架构或通过蜂窝和/或WiFi连接性的宽带无线接入网络架构。因此,一些网络元件可以包括“多个服务网络元件”,除了为多个应用服务(例如包括具有不同的质量或定义的360°沉浸式视频资产(也被称为360度视频资产或简称为360视频资产)之内的数据和多媒体应用)提供支持之外,该“多个服务网络元件”还为多个基于网络的功能提供支持(例如360°沉浸式A/V媒体准备传递策略管理、会话控制、QoS策略执行、带宽调度管理、内容提供商优先级策略管理、流传输策略管理等)。示例订户端站点或客户端设备可以包括各种设备,无论是有线(tethered)的还是无线的,它们可以使用流传输和/或基于文件的下载技术来消费或传递媒体内容资产,在某些实施例中,这些技术可以涉及一些类型的速率适配。示例性客户端设备或UE设备因此可以包括被配置为执行(尤其是)一个或多个客户端应用的任何设备,以用于接收、记录、存储和/或解码/呈现360视频内容、直播媒体和/或静态/点播媒体,其可以包括来自一个或多个内容提供商的例如使用HTTP、HTTPS、RTP等经由宽带接入网络的虚拟现实(VR)媒体、增强现实(AR)媒体、混合现实(MR)媒体。因此,这样的客户端设备可以包括与3D显示设备等协同操作的下一代基于IP的STB、联网电视、个人/数字视频录像机(PVR/DVR)、联网媒体投影仪、便携式笔记本电脑、上网本、掌上电脑、平板电脑、智能手机、多媒体/视频电话、移动/无线用户设备、便携式媒体播放器、便携式游戏系统或控制台(例如

本专利公开的一个或多个实施例可以使用软件、固件、和/或硬件的不同组合来实现。因此,可以使用在一个或多个电子设备或节点(例如订户客户端设备或端站点、网络元件等)上存储和执行的代码和数据来实现图(例如,流程图)中所示的一种或多种技术。这种电子设备可以使用计算机可读介质来(内部地和/或通过网络上的其他电子设备)存储和传送代码和数据,计算机可读介质例如是非暂时性计算机可读存储介质(例如磁盘、光盘、随机接入存储器、只读存储器、闪存设备、相变存储器等)、暂时性计算机可读传输介质(例如电、光、声或其他形式的传播信号–如载波、红外信号、数字信号)等。另外,这种网络元件通常可以包括耦接到一个或多个其他组件的一个或多个处理器的集合,一个或多个其他组件例如是一个或多个存储设备(例如非暂时性机器可读存储介质)以及存储数据库、用户输入/输出设备(例如键盘、触摸屏、指向设备和/或显示器)和用于实现信令和/或承载媒体传输的网络连接。处理器的集合和其他组件的耦接通常可以通过以任何已知(例如对称/共享的多处理)或迄今未知的架构布置的一个或多个总线和桥(也称为总线控制器)进行。因此,为了实现本公开的一种或多种技术,给定电子设备或网络元件的存储设备或组件可以被配置为存储代码和/或数据,以在该元件、节点或电子设备的一个或多个处理器上执行代码和/或数据。

现在参考附图,更具体地参考图1,其中描绘了通用示例网络环境100,在该通用网络环境100中,可以实践本发明的一个或多个实施例以提供分布在各种配置上的沉浸式视频,以供一个或多个观看设备消费。示例视频源/捕获系统102示出了被配置为记录、生成、读取、解码、提供或其他方式获得可在多种客户端设备环境中呈现以供360°观看的媒体,其可以包括有线或无线的设备、独立件的设备、订户处所设备、游戏设备和/或与3D显示设备成对组合操作的设备等,并使用多种接入/连接技术进行操作,如本专利申请的其他地方指出的。举例来说,计算机/显示器144,其可以与头戴式显示器(HMD)或头戴式耳机142相关联,继而还可以与统一被示为设备140的诸如平板电脑、智能电话、平板手机、游戏设备等之类的便携式设备相关联,它们被总体上示为客户端设备138,可以被配置为对各种类型的360°视频内容进行解码和呈现,可以根据本发明的教导对360°视频内容进行编码和带宽优化,如将在下面进一步详细阐述的。在一个实施例中,示例360°沉浸式视频源/捕获系统102可以包括一个或多个高清相机(例如4K、8K等)或者视频存储器,高清相机包括全向或全景摄相机等,视频存储器可以被配置为以多种方式提供源视频流。取决于与视频预处理有关的配置和集成水平,可以将来自示例360°沉浸式视频源/捕获102的输出流提供为与一个或多个接口、高清晰度多媒体接口(HDMI)、串行数字接口(SDI)、高清SDI(HD-SDI)或其他格式兼容的流,这些流可以包括未拼接或拼接的流,具有或不具有投影映射,且具有或不具有源视频编码。例如,可以将不具有投影映射的未拼接的源流104A提供给视频拼接器106,该视频拼接器将覆盖重叠角度的流组合为拼接的流108。在另一实施例中,视频源流可以包括拼接的HDMI/SDI/HD-DSI流104B。此外,可以存在对所捕获的视频的其他处理,可以涉及一些校正。在流未经投影映射的情况下,投影映射系统110可操作以使用合适的映射投影方案(例如球形图像投影,包括但不限于等矩形投影、立方体贴图投影、等角立方体贴图(EAC)投影、金字塔投影、鱼眼投影等),从拼接的流104B/108生成经投影映射的流114。在又一实施例中,视频流可以包括拼接和经投影映射的流104C,流104C可以被提供给源视频编码模块112,取决于实现,源视频编码模块112可操作以实现一种或多种编码或压缩方案,例如包括但不限于H.264或高级视频编码(MPEG-4AVC)、高效视频编码(HEVC)或H.265(MPEG-H第2部分)、H.262(MPEG-2)、H.264(MPEG-4第2部分)、开放媒体联盟(AOMedia)视频1(AV1)、H.266、多功能视频编码(VVC)、未来视频编码(FVC)等,其中一些方案可以包括或可以不包括图块编码和/或可以进行或可以不进行自适应比特率(ABR)转码。在一个布置中,还可以将来自投影映射系统110的经投影映射的流提供给编码器系统112,以实现适当的视频压缩。取决于与媒体准备中的预处理有关的配置和集成水平,有利地根据本发明的教导提供了图块化编码器/转码器120,以处理从投影映射系统110接收的未经压缩的视频流(视频流114)、从编码器系统112接收的经压缩的视频流(视频流116)或者来自视频源/捕获系统102的视频流104C。如将在下面更详细地阐述的,在一些实施例中,图块化编码器/转码器120(其功能性可以与编码器系统112和/或投影映射系统110集成)可操作以生成输入视频流与360°沉浸式视频资产或程序相对应的多个比特率表示的编码的流,其中可以对具有某个视频质量等级的每个比特率表示进行编码,以包含具有经适当修改的图块、帧和/或切片数据的帧,来促进经带宽优化的360°视频分发。图块化打包器122可操作以打包来自编码器/转码器120的经编码的流以用于存储124,并且提供相关联的清单文件126,清单文件126描述编码的流的图块分组、图块位置、媒体类型和相关特性。如以下将进一步阐述的,图块选择和流生成系统132可操作以响应于控制输入来选择适当的图块,并且生成复用的视频输出流,该复用的视频输出流可以由与服务于观看设备138的接入网络136相关联的传递服务器134传递。在示例实现中,可以基于多种协议(例如HTTP/S、分块的HTTP/S、RTP/RTCP等)在各种网络基础设施上实现向端用户传递复用的视频流,如本专利申请的其他地方指出的。

技术人员将认识到,可以利用媒体捕获和准备的各个方面,在分层的网络架构中实现前述的通用示例网络环境100,媒体捕获和准备的各个方面包括例如源流拼接、投影映射、源媒体压缩、图块化/ABR编码/转码、打包等,以及在布置在不同层次级别的不同网络部分中发生的分发/上载和边缘节点过程,涉及一个或多个运营商、内容传递网络(CDN)、边缘网络等。此外,在一些实现中,至少一些前述装置和过程可以是基于云的。在一些布置中,CDN可以是部署在多个数据中心中的大型分布式服务器系统,该多个数据中心连接到互联网或其他公共/私有通信网络。CDN可以是经管理或未经管理的网络,并且还可以是经管理或未经管理的网络的联合。

在上述示例网络环境内可操作地关联的媒体服务器/源系统的示例示例实施例因此可以被配置为例如全局头端,以接受来自直播源和/静态文件资源的媒体内容,例如在线内容提供商(如

在没有限制的情况下,在图2中描绘了示例网络架构200(其可以形成图1所示的环境的一部分),用于根据本发明的实施例促进对沉浸式视频的优化的图块编码。媒体输入流202示出了与360°视频资产相对应的视频流,如图1所示可以适当地对该360°视频资产进行拼接、投影映射和/或编码,可以将该视频流分发、上载或以其他方式提供给与运营商内容传递网络206相关联的CDN源服务器204。广泛地说,媒体输入流202可以包括与以下至少一项相对应的流:直播电视内容、IPTV内容、时移(TS)电视内容、位移(PS)电视内容、游戏内容、视频点播(VOD)内容、VR/AR/MR内容、联网数字视频录像机(nDVR)内容等,或经过(预)处理以具有360度观看体验的任何内容。耦接到CDN 206的CDN边缘服务器208可以被配置为接收与各个视频资产相对应的经上载的媒体流202,该经上载的媒体流202可以被存储在合适的数据库(未具体示出)中。图块化编码器210可操作以生成多个图块化的自适应比特率流212,其中每个流可以包括特定分辨率、比特率和像素大小(取决于宽高比)的图块,该图块化编码器210可以被配置为以符合标准编解码器方案(例如HEVC、AV1等)的方式工作。举例来说,流212可以包括一个或多个32K流(30730水平像素×17280垂直像素)、16K流(15360水平像素×8640垂直像素)、一个或多个8K流(7680水平像素×4320垂直像素)、一个或多个4K流(3840水平像素x 2160垂直像素)、一个或多个HD流(1920水平像素x1080垂直像素)、一个或多个720p流(1280水平像素x720垂直像素)等,其中较高分辨率的流可以以较高的比特率范围编码,而较低分辨率的流可以以较低的分辨率范围编码。例如,可以在800-1000Mbit/s(或Mbps)的范围内对32K流进行编码,可以在200-300Mbps的范围内对16K流进行编码,可以在80至100Mbps的范围内对8K流进行编码,以此类推,在1.2至3Mbps的范围内对720p流进行编码。此外,取决于采用的方案,图块化的自适应比特率流212(也被称为图块编码的比特流)可以包括每帧具有合适数量的图块(例如,对于4K,128个图块)的帧。

在一个布置中,图块化编码器210可以被配置为针对媒体输入流202的每个比特率表示生成图块化编码的比特流作为多个阶段编码的流,其中取决于阶段,为用于特定比特率表示的每个阶段编码的流提供在流的图片组(GOP)结构中的特定位置处的专用帧,如将在下面进一步详细阐述的。关于本发明的某些实施例,该编码方案可以被称为阶段化编码(PE)方案。在另一布置中,图块化编码器210可以被配置为针对媒体输入流202的每个比特率表示生成一对图块化编码的比特流,例如第一图块编码的比特流和第二图块编码的比特流,其中第一编码比特流可以包括根据已知的或迄今未知的编码方案生成的常规或标准的图块编码的比特流,并且可以对第二编码比特流进行编码,使得在GOP结构中的每个位置处提供专用帧,如将在下面进一步阐述的。关于本发明的某些实施例,该编码方案可以被称为块内编码(BIE)或全帧内编码(AIE)方案。

无论使用PE编码方案还是BIE编码方案,打包器214都可操作以打包图块编码的比特流212并生成合适的清单文件,该清单文件针对每个图块编码的比特流描述每帧的图块分组的特性,例如图块位置、切片头部信息、包括图片定时、色彩空间信息、视频参数信息等在内的各种类型的元数据,该清单文件可以与合适的流清单241一起存储在合适的打包媒体存储设备240中。包括视频优化系统215在内的网络边缘节点216可操作以与视频后台系统238相关联,以与订户处所234的处所设备236实现360°沉浸式视频会话,视频优化系统215包括多个模块或子系统,订户处所234的处所设备236由经由合适的接入网络(例如具有合适的基础设施的DSL/DOCSIS网络部分,其可以包括如路由器、DSLAM/CMTS元件等,或者合适的3G/4G/5G无线电接入网络元件,包括某些实现中的固定无线基础设施等)实现的经管理的带宽管道232服务,通常由节点或元件230表示。

在一个布置中,视频优化系统215可以包括图块选择子系统218,该图块选择子系统218可操作以响应于带宽退火和QoE管理策略以及(尤其是)用户注视矢量信息,将从不同视频质量的比特流中选择的图块220提供给图块组合和流生成子系统222。可以将具有来自不同比特流224的图块的复用的视频帧提供给传递服务226,以促进将复用的图块流228发送到下游基础设施230。广泛地说,当生成对360°沉浸式视频会话的用户请求250时,该用户请求250由视频后台系统238处理并经由消息252转发给视频优化系统215,用于获得所请求的360°媒体的会话ID和相关联的位置信息。响应于来自视频优化系统215的响应消息251,视频后台系统238可操作以向请求设备236提供响应248,该响应248包括用于媒体的适当URL信息和会话ID。用户注视信息(最初可以是默认设置)和相关联的会话ID信息可以作为消息246提供给基础设施元件230,其可以作为消息254传播到视频优化系统215。此外,基础设施元件230可操作以在相关或单独的过程中向视频优化系统215提供包括会话ID信息在内的动态带宽分配消息254。如前所述,图块选择子系统218可以被配置为响应于与带宽分配、用户注视矢量信息或二者有关的控制消息而工作,以选择具有不同视频质量的图块,这些图块可以组合或拼接到帧中,以便生成复用的图块编码的视频输出流。在一个布置中,图块组合和流生成子系统222可以在视频流传递期间作为视频优化系统215的一部分来提供。在另一布置中,在播放期间,可以在客户端侧(例如在客户端设备236或与其相关联的一些其他处所设备处)而不是在服务器侧上实现图块拼接。在该布置中,客户端侧拼接功能性可操作以接收所选择的图块并执行必要的拼接,以便生成要解码和呈现的拼接的流。在以下部分中将更详细地阐述与前述过程、子系统和组件有关的各种实施例。

图3描绘了可以作为媒体准备和/或处理系统的一部分来提供的示例图块编码器300的框图,该媒体准备和/或处理系统被配置为在图2的网络架构的布置内工作。在没有限制的情况下,下面将阐述示例图块编码器300,其可以被配置为实现PE编码方案或BIE编码方案,用于生成关于每个媒体资产具有不同质量的多比特率视频流,同时符合已知或迄今未知的标准编解码器方案,例如与图块编码兼容的H.265、H.266、VVC、AV1等。广泛地说,在一个实施例中,生成专用帧(或在某种程度上是图片),该专用帧被编码为预测编码(P)的图片或帧(即,具有将其标识为P帧的头部),但是仅包含被编码为帧内编码的块或单元(即,I块)的编码块或单元。在另一实施例中,专用帧可以包括被标识为双向预测(B)帧但仅包含I块的帧。为了本专利申请的目的,这些专用帧被称为“块内”帧或“X”帧,其中所有块的媒体图像数据被强制编码为帧内编码(即,没有时间估计或预测)。

为了本文示例实施例的目的,GOP结构是编码视频流中的一组连续图片,其指定了帧内帧和帧间帧的排列顺序。每个经编码的视频流包括连续的GOP,可以根据连续的GOP生成可见帧。一般地,GOP结构可以包含以下图片类型:(1)I图片或I帧(帧内编码的图片)–独立于所有其他图片进行编码的图片。(在解码顺序中)每个GOP都以这种类型的图片开始。(2)P图片或P帧(经预测编码的图片)–包含相对于先前解码的图片的运动补偿差异信息。在较早的设计(例如MEPG-1、H.262/MPEG-2和H.263)中,每个P图片可以仅参考一个图片,且该图片必须在显示顺序以及解码顺序中都在P图片之前,并且该图片必须是I或P图片。这些约束不适用于较新的标准,例如H.264/MPEG-4AVC、H.265/HEVC等。(3)B图片或B帧(经双预测编码的图片或经双向预测编码的图片),其包含来自GOP内之前和之后的I或P帧的差异信息,并且包含相对于先前解码的图片的运动补偿差异信息。在较早的设计(例如MPEG-1和H.262/MPEG-2)中,每个B图片可以仅参考二个图片,在显示顺序中,在B图片之前的一个,以及在B图片之后的一个,并且所有参考图片必须是I或P图片。这些约束不适用于较新的标准,例如H.264/MPEG-4AVC、H.265/HEVC等。(4)D图片或D帧(DC直接编码的图片),用作图片的快速访问表示,以用于某些类型的视频(例如MPEG-1视频)的丢失鲁棒性或快进。

一般地,I帧指示GOP的开始。之后,可以跟随若干P和B帧。I帧包含完整的图像,并且不需要任何附加信息对其进行重构。通常,编码器使用GOP结构,使每个I帧成为“清晰的随机访问点”,使得解码可以在I帧上清晰地开始,并且在处理正确的I帧之后,可以校正GOP结构内的任何错误。GOP结构通常由两个数字表示,例如M=3,N=12。第一个数字表示两个锚帧(I或P)之间的距离。第二个数字表示两个完整的图像(I帧)之间的距离,即GOP大小。对于示例M=3,N=12,GOP结构为{IBBPBBPBBPBBI}。作为M参数的代替,可以使用两个连续锚帧之间的最大B帧的计数。例如,在具有图案{IBBBBPBBBBPBPBBBBI}的序列中,GOP大小等于15(两个I帧之间的长度),两个锚帧之间的距离(M值)为5(I和P帧之间的长度,或者两个连续P帧之间的长度)。

尽管典型的GOP以I帧开始,但是本文的一些实施例提供了如下结构:除了将X帧放置在特定位置或替换GOP结构中的P和/或B帧之外,替代地,GOP还可以从X帧开始,如将在下面进一步详细阐述的。

技术人员将认识到,取决于编解码器实现,可以在不同粒度级别下,将图片或帧划分为多种方式,例如用于促进(尤其是)编码效率、并行处理等。在一个布置中,可以将帧划分为多个编码树单元(CTU),每个编码树单元包含一定数量的亮度编码树块(CTB)和色度CTB,CTB继而可以包括多个编码块(CB)。可以将帧分割为一个或多个切片,每个切片是帧中空间上不同的区域,该区域可以与相同帧中任何其他区域分别进行编码并且用切片头部来标识。一般地,切片是自包含的,并且包含按照光栅扫描顺序处理的CTU序列,其中切片可以被编码为I切片、P切片或B切片,它们分别与I帧、P帧或B帧类似。在一个布置中,切片可用于实现重新同步以最小化数据损失,并且取决于视频场景中的活动,可以在每个切片中包含不同数量的CTU。图4A示出了包含多个切片402-1至402-N的示例视频帧400A,其中示例切片402-N包含多个CTU 404。

除了切片以外,编码方案还可以为每个帧定义多个图块,根据垂直和水平分区以形成网格,图块也可以被配置为自包含的且作为图片的可独立解码的矩形或正方形区域,以便促进在编码和解码阶段进行并行处理。在一个变型中,自包含且可独立解码的图块可以使用来自先前编码的图片或帧的共位图块的时间预测。多个图块可以通过被包含在相同切片中而共享头部信息,其中图块可以包括一定数量的CTU。不需要每个图块包括相同数量的CTU。因此,在一个布置中,帧的图块可以具有不同大小。如果帧包含单个切片,则该帧的图块将因此具有相同的切片头部和图片头部信息。在另一布置中,帧可以包括一个或多个切片,每个切片包含一个或多个图块,且每个图块继而包含一个或多个CTU。图4B示出了包含多个CTU的示例视频帧400B,其被组织成图块406-1至406-N的矩阵或阵列,其中每个图块被示为具有2x2配置的4个CTU 208的正方形。通过进一步说明,在图4C中示出了根据HEVC的示例4K视频帧400C,其可以包括3840水平像素乘以2160垂直像素的阵列,该阵列被划分为16列和8行,由此产生128个图块。如前所述,这些图块在帧400C内可以不必具有相等的大小。

为了本专利申请的目的,因为可以以多种方式并以不同的级别划分视频帧,所以术语“编码树单元”、“编码树块”、“编码单元”、“宏块”或“块”或类似含义的术语将被一般地视为可以对图块、切片和/或帧应用的编码的抽象单元,而不限于任何特定的视频压缩标准或技术。

返回图3,可以关于基于PE或基于BIE的方案来配置示例图块编码器300以生成X帧,其中X帧被编码为具有对应的头部但是具有被帧内编码的独立的切片和/或图块的P帧或B帧,即被编码为仅包括I块的I切片和/或I图块。换言之,X帧可以具有P帧或B帧(或者在每个帧仅提供一个切片的情况下,为P切片或B切片)的头部信息,但是所有媒体图像数据被帧内编码为I帧的数据。视频序列的其余帧可以根据如前所述的已知或迄今未知的方案通常地编码。因此,通用编码器控件306可以被配置为在PE方案308和BIE方案310之间进行选择,以向图块编码器的前端部分302的其余组件和结构提供适当的控制信号和/或参数,以便根据PE或BIE方案关于一个或多个输入视频信号304的特定实现,根据需要实施对特殊帧进行编码。一般地,PE方案中的每个图片或者被编码为常规I帧(例如,对于序列中的第一图片),或者对于与阶段/周期匹配的那些输入图片,被编码为X帧,且对于视频序列的所有其他图片,被编码为常规的P帧或B帧,如将在下面详细描述的。关于BIE方案,可以提供经BIE编码的序列,其中为序列的GOP结构的所有P帧和B帧提供X帧。因此,帧内/帧间选择块312被配置为使得帧内图片估计/预测316始终是活动的且用于图片的所有块。同样,由于对于X帧,所有块都被帧内编码,因此可以禁用运动补偿和估计318。取决于图块编码器实现,在示例实施例中,包括变换、缩放和量化314、逆变换320、滤波器控制322、去块和样本自适应偏移(SAO)滤波324、解码图片缓冲器326在内的其余块可以保持不受影响。可以将通用控制数据328、量化的变换系数数据330、帧内预测和滤波器控制数据332以及运动数据334提供给头部格式化器和熵编码器336(例如上下文自适应二进制算术编码(CABAC)引擎),用于生成与视频资产的每个比特率表示相对应的一个或多个编码的比特流338。如前所述,可将编码的比特流338提供给图块化打包器(图3中未示出)进行打包和清单生成,以促进在适当的下游网络位置处(预)提供资产。

图6示出了根据本发明的实施例的示例编码布置600的各个框、步骤和/或动作,该示例编码布置600涉及可以被实现为示例媒体准备/处理的一部分的PE方案或BIE方案。在框604,接收视频源流602,如前所述,该视频源流602可以是未编码的、编码的、拼接的、经投影映射的或以其他方式预处理的。在框606,可以确定选择了PE还是BIE。可以适当地配置图块编码器系统中的模式选择器,例如图3中的图块编码器300,以进行响应。在选择PE时,可以将视频源流602编码/转码为具有不同质量和/或比特率的多个流,每个流都以图块进行编码,如框608所述。对每个质量或比特率流进行阶段编码以生成多个PE流610。举例来说,附图标记614-1是指与阶段编码的流612-1的集合有关的质量信息,该阶段编码的流612-1具有对应的阶段615-1至615-P(取决于X帧在GOP结构中的位置,其中P是GOP大小),所有PE流具有设置为30的量化参数(QP)和/或大约7.0Mbit/s的比特率,其可以表示质量较低。以类似的方式,附图标记614-N是指与阶段编码的流612-N的集合有关的质量信息,该阶段编码的流612-N具有对应的阶段615-1至615-P,所有PE流具有QP设置16和/或大约105.6Mbit/s的比特率,其可以表示质量较高。

如果选择了BIE(如本专利申请中其他地方所述,也被称为全帧内编码),则可以将视频源流602编码/转码为具有不同质量和/或比特率的多个流(框616)。在一个示例实施例中,可以使用标准编码方案(例如HEVC、AV1等)对每个流进行图块编码,以生成通常或常规的图块编码的流618。与以上关于经相位编码的流610的讨论类似,举例来说,附图标记622-1是指与常规的图块编码的流620-1有关的质量信息,该常规的图块编码的流620-1具有QP设置30和/或大约7.0Mbit/s的比特率,其可以指示质量较低。同样,附图标记622-N是指与常规的图块编码的流620-N有关的质量信息,该常规的图块编码的流620-N具有QP设置值16和/或大约105.6Mbit/s的比特率,其可以指示较高质量的流。

另外,还可以将视频源流602编码/转码为具有对应质量和/或比特率的多个流(框617),其中每个流被图块编码,使得其GOP结构的所有帧都被提供为X帧。举例来说,附图标记632是指多个经BIE编码和图块化的流,其中具有QP设置30和/或大约7.0Mbit/s(有时也缩写为Mbs或Mb/s)的比特率的质量信息636-1与较低质量的经BIE编码的图块化的流634-1有关,而具有QP设置16和/或大约105.6Mbit/s的比特率的质量信息636-N与较高质量的经BIE编码的图块化的流634-N有关。

技术人员将在此参考后认识到,当编码器配置有目标QP时,编码比特流的比特率在一段比特流中有所平均。例如,如果源编码方案中的目标QP为10,则可能在不运动的区域中看到低比特率(例如,导致4Mb)。在高运动的区域,比特率可能高达200Mbs。因此,在如前面阐述的针对特定QP的示例编码方案中,输出流的比特率可以在一定范围内变化。因此,应当理解,与图6中的PE或BIE流的QP相关联地示出的比特率一般表示一段时间内的平均比特率。如下面将进一步看到的,当在编码方案中设置目标QP(相应地具有不同的比特率)时,与图块选择有关的本发明的某些实施例可以被配置为选择图块并且根据相对于特定的360度沉浸式视频会话的整体分配的比特率来调整图块。在附加或备选的实施例中,示例编码器可以被配置为生成具有特定目标比特率而不是目标QP的编码比特流。在这样的布置中,尽管输出比特流可以维持特定比特率,但是QP值可以变化。因此,图块选择的实施例可以基于视频质量来选择图块,视频质量可以由不同编码参数和设置控制,并相应地调整图块以优化所分配的带宽。为了本专利申请的目的,关于编码比特流或比特率表示的术语“质量”、“视频质量”和类似含义的术语可以广义地涉及和/或基于QP、比特率、其他标记。因此,与本文基于目标QP提出的PE/BIE编码、图块选择、拼接等有关的实施例也同样适用于具有目标比特率的比特流。

因此,读者应当理解,尽管在假设每个流使用固定量化(QP)值的情况下提供了本公开内的说明的某些示例和部分,但是实际上流可以包含在图片之间和在图片内变化的QP值,如上所述。根据本发明的实施例的编码器可以借助于速率控制等来控制其输出比特率,由此改变图片之间的QP值。编码器还可以使用变化的QP值对一个流内的图片进行编码,以优化流的视觉质量。在一个图片内,如本领域中已知的,例如可以使用自适应量化机制在块之间改变QP值,以优化视觉质量。在本公开内的短语中使用“QP”,例如但不限于“用该QP编码”、“不同QP值的视频”、“具有不同QP值的生成的视频”、“具有QP值N的流”、“视频流的QP值”应被理解为一种表征流的方式,使得与较低QP值相关联的流比与较高QP值相关联的流具有较高的比特率和较高的质量,并且对于流中的每个块,QP并不保持静止。

应当进一步理解,在一个示例实施例中,媒体资产的自适应比特率编码和图块编码可以集成在作为内容准备系统的一部分的装置内,使得各种类型的编码和/或转码可以在不同的序列中和/或在并行过程中进行。此外,取决于实现,诸如投影映射、源流拼接、打包等的附加功能也可以与本专利申请的图块编码/转码方案组合或以其他方式集成。

图5是示出了根据本发明的一个或多个实施例的用于促进优化的360°沉浸式视频的方法500的各个框、步骤和/或动作的流程图,在具有或不具有本公开的附加流程图的框、步骤和/或动作的情况下,可以在一个或多个布置中(重新)组合该方法500的各个框、步骤和/或动作。在框502,可以实现与用于沉浸式视频的媒体输入流的媒体捕获和预处理有关的各个操作,例如源流拼接、编码、投影映射等。在框504,可以与图块化编码方案关联地实现将预处理的媒体输入流的自适应友好比特率编码/转码为多个比特率表示或具有不同视频质量的流(例如具有不同的QP值)。如前所述,可以将基于PE的编码过程(框506B)或基于BIE的编码过程(框506A)配置为生成编码比特流输出。应当注意,可以将框504和506A/B的过程作为单个编码操作来执行,使得框504的自适应友好比特率编码/转码是使用单个编码过程,使用PE方案(框506A)或BIE方案(框506B)完成的。此后,可以将编码比特流打包(框508)并且分发到适当的网络边缘位置(框510),以供客户端使用合适的端用户设备进行传递和消费。当接收并处理了用户对特定媒体资产的请求时,可以实现基于控制输入(例如传输条件、带宽分配和/或注视矢量输入等)的图块选择过程,以从不同比特率表示(即,不同质量)的媒体资产中选择图块(框512)。可以实现流生成过程,以将所选择的图块拼接为帧,作为要传递给请求客户端设备的输出视频流(框514)。

技术人员将认识到,前述步骤、动作或操作的至少一部分可以包括关于一个或多个360°沉浸式视频资产的媒体准备和(预)供应,该一个或多个360°沉浸式视频资产分布在上述图1和图2中示出的网络环境和架构中。转到图7,阐述了关于根据本发明的示例实施例的BIE方案700的附加细节。在框702和框704,接收并处理与360°沉浸式视频资产有关的媒体输入流,以生成具有不同/独立的质量的多个比特率表示,例如与用于每个比特率表示和/或目标比特率的对应目标QP值或相应质量的其他标记有关的每个视频质量或者由用于每个比特率表示和/或目标比特率的对应目标QP值或相应质量的其他标记控制的每个视频质量。将每个比特率表示编码到第一编码比特流中,该第一编码比特流包括具有特定GOP结构的多个帧,其中每个GOP以I帧开始,随后是包括至少一个P帧或B帧在内的帧集合(框706)。此外,将每个比特率表示编码到第二编码比特流中,该第二编码比特流包括具有大小与第一编码比特流的GOP结构的大小共同扩展的GOP结构的多个帧,其中,第二编码比特流的每个GOP以I帧开始,随后是多个X帧,每个X帧都使用P帧或B帧的切片/图片头部编码,并且仅包括帧内编码的媒体图像数据(即,与GOP的I帧类似),如框708所述。如前所述,可以使用任何与图块兼容的压缩方案,将第一编码比特流和第二编码比特流编码为相应的图块编码的流,其中,图块编码的比特流的每个帧包括图块阵列,图块阵列被组织到每帧的至少一个切片中,每个图块包括帧的媒体数据的一部分,该帧被形成为多个编码单元、块或树。本领域技术人员将认识到,在一个实现中,框704和框706的过程可以在单个编码过程中执行,如先前关于图5的框504和506A/B所述的。例如,在实践中,将期望单个过程编码/转码以最小化计算复杂度并且最小化由串联或级联编码引入的劣化。

图11描绘了在示例实施例中由基于BIE的图块化的编码器系统生成的具有不同质量或QP的多个编码比特流1100。附图标记1102-1至1102-N指的是具有对应质量或QP的N个流或比特率表示。示出了与特定比特率表示(例如QP-N 1102-N)相对应的通常编码的图块化的流1104A,其具有包括四个帧的GOP结构1106A,GOP结构1101A从I帧开始,随后是三个P帧。对应的经BIE编码的流1104B具有GOP结构1106B,其也被示出为具有四个帧,从I帧开始,但随后是三个X帧。

图8A是示出了根据本发明的示例实施例的用于在图块化编码布置中配置BIE方案的过程800A的流程图。在没有限制的情况下,将参考基于修改的某些参数来配置HEVC方案以执行BIE来描述示例过程800A,尽管也可以将其他方案应用于本文的目的。

一般地,BIE配置方法的实施例可以被配置为接收或获得用于360°沉浸式视频的源视频流和输出视频质量列表(例如QP值列表,如{QP1=16,QP2=18,QP3=20,QP4=22,QP5=24,QP6=26,QP7=28,QP8=30或基于目标比特率的其他标记})作为输入。因此,在没有限制的情况下,对于每个输出视频质量(例如每个QP值),可以对两个视频流进行编码–具有该QP或质量的常规/标准的HEVC视频,以及具有该QP/质量的块内HEVC视频–如前所述。为了能够在稍后的时间(例如,在解码之前不久)将来自不同质量的图块拼接到相同的比特流中,实施例的编码阶段提供了所有视频流都具有相同的base_qp(定义如下),而可以借助于距基QP的qp_delta(定义如下)来实现不同QP值的视频之间的实际差异。例如,可以配置base_qp=22的设置,其中参数值base_qp=22和qp_delta=-6可用于实现QP=16。一般地,这两个参数与设置视频流的质量(QP)有关。回想一下,具有不同qp值的所有生成的视频需要具有相同的base_qp,而不同的QP值可以通过使用距base_qp的qp_delta来实现。可以基于一个特定的时间实例来强制该要求。也就是说,如果对比特流中的图片进行了编号,则来自两个比特流的任何两个图片(它们被用做以相同编号进行拼接的输入)在一个布置中必须使用相同的base_qp值。为了本发明的目的,“base_qp”可以描述如下:相同视频的所有经编码的版本或比特率表示中的第i帧(对于每个i=1to N,其中N是视频序列中的帧的总数)将具有相同的切片QP值。换言之,切片QP是base_qp。尽管可以在所有生成的流中将切片QP设置为相同的值,但它可以随时间变化。为了本发明的目的,参数delta_qp可以描述如下:通过分配给定的qp_delta,每个图块中用信号通知QP的第一个块被配置用信号通知delta_qp(与基QP的差异量)。可以注意到,在一些实施例中,在拼接之后可能存在去块失配。

可以针对本发明的目的定义的另一参数是ROI(感兴趣区域),其确定帧中可以对图块独立地进行编码的区域,使得可以容易地提取比特流中与ROI相对应的子集并将该子集重构到另一比特流中。如上所述,为了稍后拼接不同QP的视频,期望利用base_qp和delta_qp的功能性。例如,在一个示例性实现中使用HEVC ROI编码功能性时,将支持该功能性。因此,当在实施例中利用ROI进行编码时,除了定义ROI网格(与帧的图块的网格/阵列独立地定义)之外,可以定义用于切片QP头部的base_qp参数,使得ROI网格中第i行和第j列中的网格的区域具有其自己的delta_qp。一般地,这允许实施例将不同的delta_qp分配给ROI网格的不同区域,由此可选择的delta_qp值可以用于本发明的目的。例如,为了获得给定的期望QP(例如QP=16),可以使用常规qp参数定义base_qp(例如base_qp=22),然后通过使用ROI网格,可以为所有目标区域分配-6的delta_qp,因此为ROI网格中的所有图块有效地实现了16的QP。

在一个实施例中,针对特定帧,可以使用相同的base_qp(切片QP)对不同质量的内容进行编码。对于该帧的每个质量,可以设置特定的期望QP,其中可以使用delta_qp语法元素,使得该帧的所有块(或者备选地,尽可能多的块或期望的尽可能多的块)利用该期望QP进行编码。可以如下提出基于HEVC的BIE配置方案的其他方面。

可以将编码器设置为使用图块化编码。在设置期间,这可以通过设置用于图块化编码的适当标志,以及配置图块的特定网格结构(例如,如图4C所示)来实现。举例来说,编码器可以被配置为针对4K视频输入,提供16×8网格结构的图块,导致每个帧具有128个图块。

编码器可以被配置为禁用时间运动矢量预测。尽管示例BIE方案不使用MV(运动矢量),但是可能需要时间运动矢量预测(TMVP)设置在流之间相同,以在稍后实现拼接。该配置是可选的,因为可以在不禁用TMVP的情况下实践BIE的实施例。

此外,切片头部的许多其他元素也可以被配置为在流之间相同。例如,诸如要使用的参考图片的数量、参考图片集、哪些参考图片用于L0、使用哪个图片参数集(PPS)、图片顺序计数、SAO参数等之类的元素。此外,还要求解码顺序对于将用作比特流切换的输入的所有比特流相同。技术人员将在此参考后认识到,可以在示例BIE实现中相应地配置各个切片头部元素。

由于切片使用单个PPS标识码字来识别要使用的PPS,且PPS参考一个单独的序列参数集(SPS),因此在示例实施例中,可以使用相同的PPS和SPS标识值来进行所有编码。同样,可以将SPS和PPS中的许多语法元素配置为对于多种编码相同。尽管不是必需的要求,但是示例BIE实施例因此可以被配置为使得使用相同的SPS和PPS来实现编码。然而,在某些布置中,SPS和PPS中的某些元素必须完全相同。

返回图8A,示例BIE配置过程800A可以从初始化编码器的模式选择器开始,以选择用于对输入视频流如上阐述地进行编码的BIE(框802)。在框804,编码器可以被配置为针对每个帧使用特定网格或阵列布置中的图块。在框806,可以将base_qp参数写入编码的流的所有切片QP头部中。为了以不同质量(同时具有相同的base_qp)对流进行编码,可以基于目标QP如上所述针对每个流来配置qp_delta参数(框808)。例如,为了使特定流的目标QP达到22,可以将qp_delta配置为–10,其中base_qp为32。如前所述,要求将用于拼接的输入的具有相同图片编号的所有图片必须使用相同的base_qp值。因此,在一个实施例中,不需要在所有流头部中设置相同的base_qp参数。可以配置空间运动矢量预测,使得其被限制为仅在图块内(框810)。也就是说,在示例实施例中,不允许运动矢量越过图块边界(即,仅允许图块内预测)。这意味着设置运动矢量,使得在对图块内部的块进行运动补偿插值时,不会读取任何共位图块的边界之外的样本。可以为编码器配置ROI网格,使得它使用qp_delta信息来相对于帧的特定区域对特定流进行编码(框812)。此外,在如上阐述的示例BIE配置过程中,也可以禁用TMVP(框814)。

应当注意,尽管前述的BIE配置过程800A使用某些参数,但是可以实践附加或备选的实施例,其中可以配置BIE方案以利用图8A的流程图中示例的参数之外和/或代替图8A的流程图中示例的参数的其他参数。

图8B是示出了根据本发明的实施例的示例BIE方案800B中的附加框、步骤和/或动作的流程图。一般地,在基于BIE的图块化编码期间,编码器可以被配置为实现若干决定。在对作为P帧一部分的图块进行编码期间,编码器决定是否应使用任何运动矢量并取决于先前帧对特定图块进行编码,或者是否应当以“帧内”模式进行编码,其中图块是自包含的且不依赖于任何先前帧(即,不使用来自任何先前帧的预测)。如前所述,在BIE中对P帧进行编码期间,迫使编码器使用帧内模式对所有块进行编码。在框834,接收视频输入832以进行编码。在框836,图块化编码器被配置用于实施如上阐述的BIE过程。对于视频输入的每个帧,可以实施迭代过程以在逐个帧的基础上实现适当的编码决定,该迭代过程从确定视频序列是否到达其末尾开始(框838)。如果未到达末尾(即,视频序列中存在需要处理的帧),则获得下一帧(框840)。如果该帧被确定为GOP结构的第一帧(框842),则将其编码为常规I帧(框854),并且处理流程返回以获得下一帧(框840)。否则,将其编码为P帧(框844)。对于P帧的每个切片,该切片编码或提供有P切片头部(框846)。对于P切片的每个块或任何其他合适的编码单元,编码器被配置为以帧内模式对图像数据进行编码(框848)。此后,处理流程返回以确定是否已经处理了所有帧(框838)。如果是,则视频序列的编码完成(框850),其可以作为BIE图块化的比特流提供给下游实体(例如打包系统),如框852所述。如专利申请中其他地方所指出的,备选的布置是,可以使用B帧代替P帧来生成X帧。因此,框844、846可以被适当地修改以支持该布置。

在本发明的另一实施例中,可以基于先前所述的PE方案,在每个GOP中使用一次X帧(而不是在BIE中多次使用)。本质上,基于PE的图块化编码涉及用于生成流的过程和装置,其中除了作为I帧的第一帧之外,所有帧具有P切片头部,同时定期存在X帧(即,BIE帧或AIE帧),其中所有块都是帧内编码的,但是切片头部为P切片的头部(或者,在B帧也被编码在序列中的情况下,为B切片的头部)。一般地,任何两个可能要用作拼接的输入的图片的所有切片都必须具有相同的切片类型、切片qp,以及切片头部和PPS中的许多其他设置。与上述BIE方案(其中除了第一帧之外,GOP中的所有帧都为X帧)相反,PE方案的实施例被配置为取决于两个参数,仅在所选择的帧位置提供X帧:周期(GOP的大小,即GOP中的帧数)和阶段(为{0至[周期-1]}范围内的整数)。PE方案中出现X帧的帧位置可以如下确定。令N为流中的帧总数。第一帧被编码为I帧。对于第i位置处的帧,2≤i≤N,如果{i Mod(周期)≠阶段},则它被编码为常规的P帧;否则(即{i Mod(周期)=阶段}),该帧被编码为X帧(具有P切片头部且所有块以帧内模式编码,而与先前帧无关)。应当注意,示例PE方案可以为媒体输入的每个质量/比特率表示提供与GOP中的帧位置(即,GOP大小)一样多的阶段编码的流。

出于本发明的目的,通过在X帧中使用P或B切片头部而不是I切片头部,可以在示例性实施例中实现若干优点,包括但不限于在用户观看环境中促进GOP中间的切换。假设用户正在观看360°沉浸式视频节目或内容,其中直接注视的视场(FoV)具有高质量(即,较低的QP),且用户在GOP的中间移动他的头。用户现在在其新的视野或视口中看到较低质量的视频(较高的QP)。服务器可以在下一个GOP的开始发送高质量(低QP)的I帧,但这会引入显著的时延,因为到视口将呈现下一GOP的高质量I帧,将需要一些时间。期望在GOP的中间时,尽快接收或获得以高质量编码的新视场的I帧。但是,在传统的沉浸式视频观看环境中,仅在GOP的中间放置I帧是不可行的。通过生成X帧(即,块内编码的帧或全帧内编码的帧)并在GOP的中间(例如在GOP结构中的任何帧位置)发送该X帧,本发明的实施例因此能够有效地提高视场质量,与高质量图块的情况下,在GOP的中间呈现I帧的效果类似。通过在经AI或BI编码的帧(即,AIE/BIE帧或X帧)中提供P切片头部,本发明的实施例因此允许在FoV的感兴趣区域(ROI)中具有高质量数据的帧被用在GOP的中间。

此外,在帧被划分为图块和切片的图块编码方案中,涉及X帧的本发明的实施例使得能够在单个输出压缩帧中混合图块,其中一些图块可以使用空间或时间预测(即,帧间图片预测),而一些图块可以仅使用空间预测(例如仅包括帧内编码的块)。仅由帧内编码的块组成的图块可以源自X帧。在本专利申请的上下文中,关于输出流生成的术语“混合”、“复用”、“拼接”、“拼合”或类似含义的术语可以指将一个经压缩的图块(例如图块A)联接到另一经压缩的图块(例如图块B),以形成比特流中表示单个输出帧的一部分,其中图块A和图块B可以源自内容的单独编码,如将在下面进一步详细介绍的。

PE方案的优点之一涉及克服在BIE方案中可能存在的漂移问题(即,漂移消除或减小)。应当理解,尽管BIE允许将先前视口的P帧替换为新视口的X帧,但是之后的帧是新视口的常规P帧,通过对先前帧作出的预测来编码这些常规P帧。因此,当将P帧替换为X帧,然后之后的帧使用该X帧进行预测而不是使用常规比特流的原始帧进行预测时,有可能出现预测误差可以累积的漂移。另一方面,在阶段化编码中,所生成的流在位置=<阶段>+i×<周期>处使用X帧,以用于之后的P帧的预测,因此避免了P帧使用了与编码期间使用的帧不同的帧进行预测的情况。因此,不存在由于从与编码期间生成的帧不同的帧进行预测而引起的预测误差,因此避免了由于这种类型的预测误差引起的任何潜在漂移。然而,由于需要存储GOP中X帧之后的P帧,PE方案可能需要较大的存储量。

此外,可以有利地利用PE方案的实施例来促进帧的逐步刷新,由此通过仅选择图块的子集来升级其质量并发送它们的适当的经阶段化编码的图块来在播出期间实现较低的时延。尽管在BIE方案的实施例中,P帧被替换为X帧,但是在逐步刷新帧的退火方案中,PE编码的流可以用于将所选择的图块替换为从适当的经PE编码的流中获取的对应图块。另一方面,在另一实施例中,BIE方案也可以有利地在逐个图块的基础上操作。因此,关于基于PE的实施例,如果周期为P并且帧编号为X,则可以通过以下等式获得对应阶段:阶段={X ModP}。因此,在编码视频序列的传递或播出期间,假设已选择帧X中的某个图块T升级到QP质量q,则可以将(直到T的下一次升级/降级或者视口改变为止的帧X和之后的帧中的)所选择的图块T替换为来自阶段满足以下关系的流的图块T:阶段={X Mod P},QP=q。此后,将帧X之后的属于相同GOP的帧中的共位图块替换为来自相同的经PE编码的流的对应共位图块。应当理解,当用户改变注视方向时,将来自不同流的图块联接起来的优点与上述用户在GOP中间的期间改变其注视的情形类似。使用同样的切片QP来切换/替换图块,因为如果两个输入图块使用不同的实际QP编码,并且每个图片使用单个切片进行编码,则如果切片QP不同,则在不对流进行低等级重写的情况下,输出流中的图块的QP将不可能正确。下面将参考本专利申请的其他实施例进一步阐述关于逐步刷新帧退火和图块选择的其他细节。

关于PE的潜在缺点可能是:由于在许多阶段中对输入流进行编码,导致了可能与GOP大小一样多的流(而不是BIE中的仅两个流),因此它需要更多的存储空间。在示例实现中,可以针对减少时延而不漂移的优点权衡该缺点。为了最快的质量改变响应,可以将阶段数设置为等于GOP的大小,即周期P,但是示例实施例可以提供使用较少的阶段和消耗较少的存储空间,而质量升级的时延可能更长之间的权衡,因为图块升级可能仅在下一阶段完成。

图9是示出了根据本发明的示例实施例的PE方案900的流程图。在框902,可以接收与360°沉浸式视频资产相对应的媒体输入流。如前所述,可以生成媒体输入流的多个比特率表示,每个比特率表示具有单独的视频质量,例如,与用于比特率表示和/或目标比特率的对应目标QP值或者相应质量的其他标记有关或者由用于比特率表示和/或目标比特率的对应目标QP值或者相应质量的其他标记控制的视频质量(框904)。将由对应的QP控制的每个比特率表示编码到多个阶段编码的比特流中,每个属于特定比特率表示的阶段编码的比特流包括多个(N个)帧,其具有特定GOP结构,该GOP结构具有GOP大小(p),其中,多个阶段编码的比特流的数量等于GOP大小。在一个布置中,GOP大小,即,p>1。对于每p个阶段编码的比特流,N个帧的编码如下:(i)至少第一帧被编码为帧内编码(I)的帧;以及(ii)满足关系{i Mod(GOP大小)}=p的帧位置i(2≤i≤N)处的帧被编码为X帧,X帧具有P帧的切片头部且仅包括进行了帧内编码的媒体图像数据的块(即,类似于I帧)。否则,该帧被编码为常规P帧,常规P帧具有经预测编码的帧的媒体数据(具有P切片头部)(框906)。在一些布置中,P帧也可以包含帧内编码的数据。在实施例中还对B帧进行编码的情况下,类似于前述过程,可以提供X帧来代替常规B帧。如先前关于图5和图7所指出的,在一个示例实施例中,出于计算效率的目的,可以将框904和906处阐述的操作组合以在单个编码过程中执行。

在PE方案的附加或备选实施例中,阶段编码的比特流可以使除I帧以外的帧作为编码视频序列的第一帧,根据本文的教导,这可以通过编码器中的适当设置来实现。例如,第一帧可以是X帧(或一些其他的非I帧)。基于阶段,编码序列的所有其他帧可以在合适的位置包含预测帧(P/B帧)和X帧。

图12描绘了在示例实施例中由基于PE的图块化编码器系统生成的特定比特率表示的、具有不同阶段的多个编码比特流1200。举例来说,因为在该示例中使用四个帧的GOP大小,因此将具有QP值为22的QP-N流1202-N编码或以其他方式提供为四个阶段编码的流1204-1至1204-4。对于每个PE流1204-1至1204-4,第一帧被编码为I帧1206-1至1206-4。基于上述阶段-位置关系,将每个PE流中的其余帧或者编码为P帧,或者编码为X帧。

转到图10A,其中描绘了示出根据本发明的示例实施例的过程1000A的流程图,过程1000A用于在图块化编码布置中配置PE方案。在框1002,可以初始化编码器以针对与360°沉浸式视频资产相对应的媒体输入流选择PE方案。在框1008,获得或以其他方式配置周期和阶段参数,其中周期等于GOP大小(框1004)并且阶段等于或小于GOP大小(框1006)。在框1010,可以设置编码器,以使用图块编码来生成每帧的特定网格/阵列布置中的图块。与先前提出的BIE配置过程类似,可以将base_qp参数写在编码流的切片QP头部中(框1012)。如前所述,要求将用于拼接的输入的具有相同图片编号的所有图片必须使用相同的base_qp值。因此,在示例实施例中,在所有流头部中设置相同的base_qp参数不是必需的要求。为了促进编码流具有不同质量(同时具有相同的base_qp),可以基于目标QP如上所述地针对每个流配置qp_delta参数(框1014)。如之前在示例BIE配置过程中,可以配置-10的qp_delta,其中base_qp是32,以针对特定流实现22的目标QP。可以配置空间运动矢量预测,使得其被限制为仅在图块内(框1016)。也就是说,在示例实施例中,不允许运动矢量越过图块边界(即,仅允许图块内预测,并且不允许跨图块边界的帧间预测或上下文选择)。这意味着设置运动矢量,使得在对图块内部的块进行运动补偿插值时,不会读取任何共位图块的边界之外的样本。可以为编码器配置ROI网格,使得它使用qp_delta信息来相对于帧的特定区域对特定流进行编码(框1018)。此外,在如上所述的示例PE配置过程中,也可以禁用TMVP(框1020)。

应当注意,在一个实施例中,示例PE配置过程大致与BIE配置过程类似,可以根据GOP大小对每个“阶段化的”流执行该BIE配置过程。此外,与使用某些参数的BIE配置过程800A类似,除了图10A的流程图中示例的参数之外和/或代替图10A的流程图中示例的参数,PE配置过程的附加或备选实施例可以涉及其他参数。

图10B是示出根据本发明的实施例的示例PE实现中的框、步骤和/或动作的流程图。一般地,编码器可以被配置为在基于PE的图块化编码期间实现若干决定,以仅在每个阶段编码的流的特定帧位置生成X帧。在框1034,接收视频输入1032以进行编码。在框1040,图块编码器被配置用于如上所述的基于周期(框1036)和阶段(框1038)来实现PE过程。对于每个流,第一帧被编码为I帧(框1042)。此后,可以实施迭代过程以在逐个帧的基础上实现适当的编码决定,该迭代过程从确定视频序列是否到达其末尾开始(框1044)。如果没有到达末尾(即,视频序列中存在需要处理的帧),则增加帧索引(i)(框1046),并且获得下一帧并将其表示为第i帧(框1048)。确定是否满足模关系{i Mod(周期)=阶段}。如果满足,则如框1054、1056和1058所述,将该帧编码为X帧。否则,将其编码为常规P帧(框1052)。此后,处理流程返回以确定视频流的所有帧是否已被处理(框1044)。如果是,则处理流程进行到完成视频流的编码(框1060),如框1062所示,其可以作为PE图块化的比特流提供给下游实体(例如,打包系统)。

如前所述,基于PE的图块化编码方案促进360°视频传递期间的逐步刷新退火过程,这将在下面进一步详细说明。阶段化编码的实施例也可以在播出期间使用,其中在服务器侧或客户端侧上执行的拼接器可以用于组合不同质量的图块。因此,在正在播放的视频的每个帧处,每个图块都具有当前质量,该质量可以与从中获取图块的视频流的QP值、目标比特率或其他标记相对应。当带宽足够大时,或者当用户移动他的头部并且视口改变时,将需要升级一些图块(例如新视口上的图块)的质量(例如降低QP)。此外,为了通过减少对解码器侧上的缓冲器的使用来减少时延,本发明的实施例提供了可以不一次升级整个视口,而是通过逐步刷新来升级视口,仅升级每个帧中的几个图块,保持解码器缓冲器较小并因此减少了时延。如将在下面进一步详细描述的,示例带宽退火装置可以被配置为实现用于基于带宽、视口和/或当前缓冲器使用率来确定在每个时刻升级哪个图块的过程。此外,这样的过程还可以被配置为确定图块应被升级到的质量等级(即,哪个QP)。

例如,假设在播出期间,图块选择装置(下面进一步详细描述)确定将第i帧中的图块T升级到质量QP=q。可以将该确定作为控制输入提供给图块/帧拼接器模块,该图块/帧拼接器模块从视频流的第i帧获取、接收或以其他方式获得图块T,该视频流使用阶段化编码以质量QP=base_qp+delta_qp=q进行编码,其中根据以下模关系来确定阶段:{阶段=iMod(周期)}。然后,直到图块选择过程下一次决定改变该图块的质量时,才从相同的流(即,具有QP=q且具有相同阶段的经阶段化编码的流)中获取图块T。因此,将认识到,除了在升级期间执行图块的逐步刷新的能力之外,PE方案的另一优点是更好的视频质量。总体而言,与BIE方案(其中在不进行阶段化的情况下替换X帧,这可能会导致漂移,并导致较低的峰值信噪比(PSNR)值,由此导致为GOP的其余部分产生了较低QoE的流)相比,阶段化编码提供了更好的QoE。如前所述,阶段化编码的潜在缺点是需要多个流,这会导致大量的编码处理开销和存储空间。

下面将阐述关于如何使用PE或BIE方案来拼接图块化编码的比特流的示例实施例。如前所述,图块拼接实施例可以在流传递阶段期间在服务器处实现,或者在客户端上实现以进行播出。一般地,用于拼接图块的示例实施例涉及利用不同质量(例如基于不同的QP、目标比特率或其他标记)的比特流,以及涉及确保在可以从中选择图块的比特流之间关于与视频图片有关的各种参数数据(例如视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)、补充增强信息(SEI)等)的兼容性。一般地,图块结构优选地应随时间恒定以促进拼接,这继而与本发明的编码器执行的图块编码过程有关。比特流拼接器模块响应于包括来自不同的图块编码的流的图块列表的输入而操作,可以将该输入组合以生成新的输出比特流,其中与远离视口的图块相比,更靠近视口的图块具有较高的质量。此外,可以配置根据本发明的教导来执行图块组合和流复用的示例实施例,使得输出流生成仍然符合诸如MPEGHEVC/ITU-T/ISO23008第2部分/H.265规范之类的已知编解码器标准以及诸如AV1、H.266、VVC等之类的新兴标准。

为了拼接经BIE编码的流,默认情况下可以使用来自常规流的图块以进行拼合(例如直到根据用户的注视或带宽分配而提供一些输入控制为止)。从经BIE编码的流中获取图块的唯一实例或者是在视口改变(由此需要X帧,X帧是具有P切片头部的帧,可以位于GOP的中间,但是图块是帧内编码的,因此可以呈现新的视口)时,或者是在带宽退火过程确定升级图块的质量(在这种情况下,具有P切片头部的块内帧包含具有经升级的较高质量的图块)时。

图13A示出了根据本发明的一些示例实施例的拼接方案1300A的各个框、步骤和/或动作,拼接方案1300A涉及经BIE编码的图块化的流。在框1302,BIE比特流拼接器接收不同QP的输入比特流,第一集合包括常规的图块编码的流,第二集合包括BIE图块编码的流。如上所述,示例实施例中的流是运动受限的,并且对于每个帧N具有与任何其他帧N中的基QP相同的base_qp。图块选择模块提供具有不同QP的图块列表(框1306),其形成了关于针对每个图块和要从中获取或获得图块的特定QP比特流的描述和参数信息的整体输入的一部分(框1304)。如框1308中所述,可以在逐个图块的基础上实现图块拼接过程。如果视口和/或图块QP已经改变(框1310),则从具有适当QP的经BIE编码的流中获取图块并将其拼接到帧中(框1312)。否则,从常规的图块编码的流中获取图块,并相应地进行拼接(框1314)。在将所有图块拼接在一帧(以预定的网格阵列)之后,可以提供具有不同质量的图块的拼接的帧作为输出(框1316)。如果还有其他视频帧需要处理(例如编码和拼接),则处理流程可以继续。

举例来说,请考虑至少存在三个流的块内流拼接方案:(1)较低质量的常规流(例如QP设置为30);(2)较高质量的常规流(例如QP设置为22);以及(3)较高质量的BIE(全帧内)流。广泛地说,当视口改变时,一些图块的质量可以提高。这在框1312中完成,这意味着,例如从流(1)中获取的先前图片中位置A上的图块现在从流(3)中获取。在下一图片中,如果图块仍在视口内,则应从流(2)中获取位置A上的图块。如果图块不再位于视口内,则可以从流(1)中获取位置A的图块。更具体地,它还可以取决于注视矢量信息。换言之,不仅仅根据位置A上的图块是否在视口中;而是图块位于用于图块选择的注视-权重确定方案中(下面进一步详细描述)的位置。因此,应当理解,在本发明的示例实施例中,可以基于图块距直接视线的距离,根据图块的位置来升级或降级视口内的图块。

以类似的方式,在图13B中示出涉及基于PE的图块化流的示例图块拼接方案1300B。PE比特流拼接器可操作以接收不同QP的输入比特流,每个输入比特流被编码为多个阶段编码的比特流(框1332)。图块选择模块提供具有不同QP的图块列表(框1336),其形成了关于针对每个图块和要从中获取或获得图块的特定QP比特流的描述和参数信息的整体输入的一部分(框1334)。如框1338所述,可以在逐个图块的基础上实现与BIE图块拼接类似的图块拼接过程。如果视口和/或图块QP已经改变,使得需要改变当前图块的质量(框1340),则基于阶段-帧模关系来从具有适当QP的经PE编码的流中获取图块并将该图块拼接到帧中(框1342)。例如,如果图块在帧I处的QP改变为QP=q,则从流中获取阶段等于{i Mod(周期)}且QP=q的图块,并将该图块拼接在图块网格的适当位置处。否则,从与先前帧中获取图块的比特流相同的比特流获取该图块,并相应地进行拼接(框1344)。在将所有图块拼接在一帧(以预定的网格阵列)之后,可以提供具有不同质量的图块的拼接的帧作为输出(框1346)。此外,如果还有其他视频帧用于处理(例如编码和拼接),则处理流程可以继续。

不论是来自BIE编码的比特流还是来自PE编码的比特流的图块被拼接,拼接的示例实施例都可以涉及从具有除了如前所述的其他参数信息之外,还具有兼容的切片头部的不同流中获取图块。一般地,可以监测可能影响CABAC解码过程的切片类型(即,I/P/B切片)、切片QP以及其他字段或参数,来确保以确保兼容性和合规性。此外,一些实施例,例如在图13A/13B中阐述的示例实施例,可能需要仅使用先前解码的图片来完成帧间预测。

转到图13C,其中示出了根据本发明的示例实施例的关于示例图块拼接/拼合方案的附加框、步骤和/或动作的流程图。在框1362,获得用于当前帧(将被拼接)的不同QP的图块作为输入。将基于图块选择处理所选择的图块的数据(来自BIE流或来自PE流)复制到存储器中(框1364)。在框1366,拼合过程从原型切片头部开始,该原型切片头部可以包括头部字段、偏移字段等(框1368)。对于图块索引(i),可以根据图块大小确定entry_point_offset[i](框1368)。确定entry_point_offset[i]的最大值所需的比特(框1370)。可以基于先前确定的所有切片索引中的最大偏移值,以新的入口点偏移(EPO)长度来调整切片头部(框1372)。在框1374,将EPO字段写入切片头部中。此后,在切片头部之后将图块联接在一起(框1376),由此生成拼接的帧的输出比特流(框1378)。

技术人员将认识到,为了拼合图块,需要响应于图块选择过程从特定的源比特流中获取这些图块。为了促进有效的获取,拼合的实施例可以涉及提供存储器映射的图块高速缓存,其允许对与图块相对应的解析文件的更快速的参考,其中文件格式被优化为被存储器映射而不是解析到RAM中。出于示例性拼合实施例的目的,以下阐述的是示例文件格式:

参考图14,其中示出了根据本发明的实施例的示例360°视频帧1400,其包括从具有不同质量或QP的编码比特流选择和拼合的图块。举例来说,视频帧1400由4K视频输入的128个图块(16列×8行)形成,该4K视频输入以未包装的格式(即,未投影在3D球形空间中)示出,其中基于视口或注视矢量位置,范围1402可以与帧1400的ROI相对应。根据本文的教导,可以根据拼合高质量图块(即,从具有低QP(例如105.6Mbps下的QP-16)的编码比特流选择并且在拼接过程中联接的图块)来形成ROI 1402。布置在ROI 1402附近/与ROI 1402邻近布置的区域或范围(例如,范围1404)可以具有中等质量的图块。另一方面,远离ROI 1402布置的范围或区域(例如远离视口的那些范围或区域)可以由较低质量的图块形成,如区域1406和1408所示。

为了促进基于注视的图块选择控制,本发明的附加实施例涉及监测用户正在360°沉浸式视频程序中观看时所处的位置(即,用户的视口),并且基于用户的注视来确定适当的图块权重。一般地,注视矢量(GV)可以由用户/客户端设备返回,该注视矢量(GV)定义在3D沉浸式空间显示360°视频中的注视方向,例如头戴式耳机指向的位置。在其他实施例中,可以出于类似目的跟踪用户的眼球运动。如下所示,基于帧如何映射到3D显示环境中,图块化的帧的图块具有方向矢量(与用户的注视无关)。可以计算图块矢量和注视矢量的点积(也称为标量积或内积),以确定注视方向与帧的任何图块的中间的方向之间的角度间隔,可以将该角度间隔提供给加权函数模块,以确定对应的图块权重。

图15A和图15B是示出了根据本发明的一个或多个实施例的用于促进优化的图块选择的注视控制方案的各个框、步骤和/或动作,在具有或不具有本公开的附加流程图的框、步骤和/或动作的情况下,可以在一个或多个布置中(重新)组合该注视控制方案的各个框、步骤和/或动作。过程1500A涉及从操作为向用户显示360°沉浸式视频资产的客户端设备接收注视矢量,其中每个视频帧包括投影到由用户观看的3维(3D)显示环境(用户沉浸在其中)的图块阵列,注视矢量定义了3D显示环境中用户在任意特定时间正在观看的注视方向(框1502)。在一个实施例中,注视矢量信息可以包括可以与显示环境相关联的3D笛卡尔坐标系中的(x,y,z)信息。在另一实施例中,注视矢量信息可以基于等角投影映射在3D球坐标系中包括

在示例实施例中,过程1500B阐述了关于实现基于注视的控制的附加细节。在框1522,可以将图块权重确定为注视矢量与方向矢量之间的角度间隔的余弦的函数,方向矢量与360°沉浸式视频资产的2D视频帧在合适的3D空间投影中的图块位置相对应。在框1524,可以将图块权重连同输入到图块选择和带宽退火过程的动态带宽分配一起作为输入来提供,这在本专利申请的其他地方进一步描述。

在一个示例实施例中,取决于图块相对于注视矢量的位置,确定为与权重相对应的该图块位置分配多少带宽。在由向量表示注视矢量

归一化后,即如果

本发明的实施例不是将cos(θ)映射回θ以确定权重,而是涉及如下定义数学函数以将cos(θ)映射到权重:x=cos(θ);和如果x≥0,则f(x)={x+1},如果x<0,则f(x)=[α{x+1}],其中,α=比例因子,例如0.1。因此,如果注视矢量和图块方向矢量之间的角度间隔为0°,则cos(θ)=1且f(x)=2。同样,对于距注视矢量60°或300°的图块,cos(θ)=0.5,并且对应的f(x)值为1.5。在3D帧的等角投影中,与用户正在观看的位置正好相反的角度为180°,得到cos(θ)=-1.0,由此获得权重f(x)的值为0,而与缩放因子无关。因此,示例实施例可以基于图块质量相对于帧内的注视方向可以平滑或快速变化的程度,来提供适合的缩放因子。

图16A示出了示例单位圆形几何布置1600A,用于促进确定用户的注视方向与图块位置之间的角度间隔。用户位置1602被设置为3D球形空间的单位圆形截面的中心。通过沿着第一参考轴(例如X轴)1604参考用户的注视,可以如上所述确定图块位置的不同角位移。举例来说,附图标记1606和1608是指距注视方向1604 30°和60°的两个图块方向矢量。一般地,相对于注视方向1604,接近±90°或附近的图块位置(例如附图标记1610A/1610B)表示用户的中远周边视觉,并且可以使用加权缩放因子,使得可以为这些区域及其他区域中的图块分配更快的带宽减少(即,较低的质量)。在方向矢量位置1614,图块距注视方向1604±180°。

在示例实施例中,代替实际的角位移,可以参考注视方向来提供与不同位置相对应的余弦值。例如,如果图块方向矢量距注视矢量90°或270°,则可以向加权函数输入x=0.0,其得到1.0的权重。同样,对于距注视矢量330°的图块方向矢量,将x=0.866提供给加权函数,由此得到1.866的权重值。作为另一示例,如果图块方向矢量距注视矢量120°,则将x=-0.5提供给加权函数,由此得到0.05的权重值(假设α=0.1),这与图块方向距注视矢量240°时相同。

此外,注视矢量信息和图块方向矢量信息二者可以被转换为相对于媒体准备期间的图块编码中使用的图块网格的适当图块坐标信息,该图块网格用于促进以行和列标识图块,可以将该图块坐标信息与权重信息一起输入到图块选择和带宽退火过程。本领域技术人员将认识到,图块坐标信息的确定取决于示例实施例中使用的投影映射。图16B示出了获得球形显示环境1600B的等矩形投影映射方案,其中图块形成了表面。一个示例实现提供了在{0,1,0}方向上放置北极1605,在相反方向上放置南极1607,而图块化的帧的左边缘和右边缘位于方向{0,0,1},且图像(即图块化的帧)的中心位于方向{0,0,-1}。在涉及统一图块大小的示例实现中,本发明的实施例提供了一种用于确定具有方向矢量1611的图块1609的位置的装置和方法,对于给定网格布置n

θ={[t

z=r*cosθ

x=r*sinθ

在对具有不统一的图块大小进行编码的情况下,可以基于例如各个图块的像素面积等来修改前述等式。举例来说,使用(i)作为图块列i的左边缘的图块索引,(j)作为图块行j的顶边缘的图块索引,w是像素列数,h是像素行数,本发明的实施例可以被配置为确定以下数值:其中,x

图16C示出了出于本发明的一个或多个实施例的目的的示例360°浸入式视频观看环境1600C。与订户处所1640相关联的处所节点或网关(GW)1642由传递管道1644服务,以用于提供沉浸式媒体内容。在一个布置中,可以在订户/用户佩戴的合适的头戴式耳机中观看的3D全景虚拟空间中呈现这种沉浸式媒体内容。示例UE可以包括由GW 1642服务的CPE1646,例如游戏控制台、膝上型计算机或智能电话,其执行一个或多个游戏或媒体应用以向一个或多个设备提供合适的信号,设备例如是安装到用户的头部1628或安装在用户的头部1628上方的显示设备1636。这样的设备的附加示例可以包括能够显示或实现围绕用户的沉浸式观看空间的护目镜、风镜、有线/无线头饰或头盔、面罩等。在示例显示设备布置中,可能存在诸如陀螺仪、加速度计和磁力计等的附加仪器以促进头部跟踪,即,当用户1628移动其头部时,围绕模拟空间的视场可以相应地移动,并且该空间的一部分(即,视口)被用户注视。因此,在头部跟踪头戴式耳机中,视锥或视场以及用户的视口随着用户向上、向下并左右移动或倾斜头部而四处移动。示例系统可以包括所谓的6DoF(六个自由度)布置,该布置可以按照X轴、Y轴和Z轴绘制用户的头部,以测量头部移动,也称为俯仰、偏航和横滚,其可以用于在模拟3D全景观看空间内跟踪用户的视点。

举例来说,CPE 1646可以体现为平台1648,平台1648包括一个或多个处理器1656、易失性和非易失性/持久性存储器1654、输入/输出(I/O)接口1660(例如触摸屏、游戏控制器,手跟踪手套等)以及一个或多个360度媒体/游戏应用1638,可以为佩戴头戴式显示器(HMD)1636的用户1628实现3D虚拟观看空间或“屏幕”1620。在一个示例布置中,HMD 1636可以经由无线接口1642无线地耦接到CPE 1646。多个解码器缓冲器1645可以作为示例CPE平台1646/1648的一部分来提供,示例CPE平台1646/1648与用户1628可用的一个或多个360°沉浸式视频内容信道相对应。

还可以单独地或可选地提供附加的具有3D媒体功能的CPE 1634(例如,平板电脑、平板手机或智能手机等)。与HMD 1636一起或单独操作的示例CPE装置1646/1634可以操作以实现3D虚拟观看空间1620,该3D虚拟观看空间1620是用户可以在其中在3D环境中定义的垂直平面、水平平面之一或这两个平面中以完全的360o移动她的视点的沉浸式环境,其中视口1624相应地改变。在附加的或备选的布置中,与HMD 1636一起操作的CPE装置1646/1634可以操作以实现3D虚拟观看空间1620,3D虚拟观看空间1620可以是部分沉浸式的,因为其在沿着轴中任何一个轴的方向上小于360°。

移动和注视检测模块1662可操作以检测用户/订户1628的视点或注视方向相对于3D虚拟观看空间1620的移动,并且随着订户1628在观看空间1620内移动其注视,向服务节点提供合适的注视矢量输出。在一个实施例中,图块加权模块可以被配置为在360°视频优化节点(例如图2中的节点216)处工作,以基于注视矢量信息来确定适当的图块权重。在另一实施例中,可以在示例装置1646/1634和/或在HMD 1636处局部执行图块加权。

图17A是示出了根据本发明的示例实施例的关于示例360°沉浸式视频优化过程的附加框、步骤和/或动作的流程图。具体地,过程1700A在一个实现中示例了关于注视/移动检测的客户端侧处理。在框1702,用户开始360°视频会话,随后客户端设备关于所请求的360°视频资产向后台节点(例如图2中的节点238)发送请求(框1704)。在框1706,后台节点以URL响应所请求的资产,并将视频会话ID提供给客户端。响应于此,客户端设备开始经由来自在URL中标识的位置的流传输接收编码的视频资产,客户端设备的设备播放器在3D沉浸式环境中解码和渲染该视频资产(框1710)。此外,客户端设备可以结合正在进行的360°视频会话开始监测或跟踪操作客户端设备的用户的头部/目镜移动(框1708)。响应于检测到移动(框1712),将相对于当前视口的注视矢量信息提供给360°视频优化节点(例如图2中的节点216),该节点将注视矢量信息与带宽退火和图块选择过程中的其他条信息结合使用(框1714)。在一个实施例中,可以生成注视矢量信息,直到(在一段时间内)用户已经停止播放视频和/或没有检测到头部/目镜移动为止,如涉及决定框1712和1716的迭代循环所示。在一个实施例中,可以以预定的频率(例如每秒40次)生成注视矢量。如将在下面看到的,在示例带宽退火和图块选择过程中,不是所有的注视矢量都可以被利用,其可以被配置为仅在需要图块质量修改(例如升级或降级)时才被触发。当用户停止播放视频资产时,可以向传递服务器生成适当的会话终止请求/消息(框1718),随后处理流程可以终止(框1720)。

以下列出了示例实现中在可配置的时间窗内,由客户端设备提供的注视矢量的列表:

在未归一化的格式中,笛卡尔坐标系中的示例GV可以包含诸如[3,5,1];[10,4,1]等之类的(x,y,z)值。在归一化的球坐标系中,GV值可以包括诸如(59.04°,80.27°)的角度集合,其中r=半径已被归一化,θ=极倾角,

图17B是示出了根据本发明的示例实施例的关于示例360°沉浸式视频优化过程的其他方面的附加框、步骤和/或动作的流程图。具体地,在示例实现中,过程1700B示出了关于基于注视/移动检测来确定权重和在(尤其是)带宽退火和图块选择中利用权重的服务器侧的处理。在框1742,视频后台节点接收用于开始会话的用户请求,随后可以向360°视频优化系统生成会话建立请求(框1744)。响应于获得适当多条信息,例如会话ID、会话的清单URL等,后台将必需的信息提供给客户端设备以启动所请求的视频资产(框1746)。具有图块选择功能性的带宽退火和QoE管理模块(在一些实施例中也被称为BWA-TS模块)可操作以获得、获取、读取或/或处理与所有编码表示中的所请求的视频资产相关联的清单(框1748)。在框1750,BWA-TS模块也可以被配置为从传递网络基础设施(例如在示例实施例中为DSLAM/CMTS)接收关于客户端设备的视频会话的动态带宽通知。在框1752,BWA-TS模块可操作以从图块化的编码流或表示中提取特定的图块。在框1754,BWA-TS模块可操作以接收关于对360°沉浸式视频会话的带宽分配以及任何注视矢量信息的控制输入(框1756、1758)。如前所述,如果注视矢量输入最初不可用,则可以使用默认值,该默认值可以基于内容类型、内容提供商策略、客户端设备类型和能力等进行配置。响应于控制输入,BWA-TS功能性可操作以基于带宽和图块权重来生成或以其他方式指示所选择的图块的集合(框1754)。图块组合/拼接和流生成功能性(在一些实施例中也被称为TC-SG模块)可操作以接收所选择的图块集合(框1760),它们可以如上文所阐述地被联接。因此,在一个实现中,将视频切片头部与所选择的图块联接,并适当地修改视频切片头部以包括适当的入口点偏移(框1762)。出于切片拼接的目的,可以在网络抽象层(NAL)访问单元级别执行某些操作,其中在图块层级中将编码视频数据组织到多个NAL单元中。NAL访问单元实际上是包含整数个字节的分组,可以被视为由二进制音频/视频流形成并被压缩以促进比特流操纵访问的基本流的逻辑子结构。在一个实现中,考虑到视频参数信息之间的一致性(例如空间/时间冗余等),NAL访问单元是可以在涉及层压缩的同步的系统中进行操作的最小数据组织,在该系统中可以进行MPEG解码操作。

继续参考图17B,在框1764,向TC-SG模块提供一帧/图片的数据片段,该数据片段包括经组合的图块,并可以以合适的容器格式(例如MPEG-2传输流容器格式(M2TS;有时也被称为MP2TS)、MPEG4第14部分(MP4)容器格式、或ISO基本媒体文件格式(ISOBMFF)容器格式等)容器化(框1766)。传递服务器可以被配置为通过合适的网络将复用的图片/帧传递给客户端设备(框1768)。如图17B的实施例中所述,可以继续进行过程1700B的包括BWA-TS、TC-SG和传递服务在内的操作,直到传递通信套接字被关闭或超时(框1770)。此后,可以终止与客户端设备的360°视频会话(框1772)。

在示例实施例中,示例性360°沉浸式视频会话的带宽分配可以是19Mb/s。可以使用128图块网格通过完全的360视频对视频进行编码,覆盖从高的105.6Mb/s(QP值为16)到低的7Mb/s(QP值为30)的比特率。较高质量的图块针对用户的直接视野。图块的质量与距用户的直接视野的距离成比例地降低(即,QP值升高)。BWA-TS的功能性保证了360视频会话的整体带宽不会被超过。图块选择基于每个图块的比特率。在示例中,当用户正在抬头看场景中的多云天空时,在该视口中提供的大多数图块都具有相对高的质量。在这种场景中抬头时,图块的内容是相对静态的(即,非常少的运动),因此,编码器不会将过多的比特专用于低运动区。这导致了可以示出来自QP值为16的最高质量视频编码的图块。当为360视频分配的带宽减少时(例如从19Mb/s减少到7Mb/s),图块的质量也会降低。在上述示例中,直接视野中最高质量的图块可以具有22.4Mb/s的比特率,QP值为22。

图18A示出了包括16乘8图块阵列的经图块加权的帧1800A,其中在示例实现中,为每个图块分配由客户端设备提供的基于权重的注视矢量{0.783,0.396,-0.481}。附图标记1802是指与注视相关联的视口,根据本发明的教导,其中的图块被给予最高值。本领域的技术人员将认识到,随着视口改变,具有最高值的图块的区域也随之改变。因此,在基于等角矩形投影的360°沉浸式视频显示空间中,如果用户直接向上或向下注视,则具有最高值的图块的区域也将例如移动到极区,或者如果用户直接注视图片中间,则具有最高值的图块的区域也将移动到“赤道”。举例来说,图18C描绘了3D沉浸式显示或观看空间1800C,其中当用户直接向上看时,最高质量的图块在北极区域1852附近,逐渐降低质量的图块形成了沉浸式空间的其余部分,其中最低质量的图块位于南极区域1854附近。同样,图18D描绘了3D沉浸式显示或观看空间1800D,其中当用户直接向下看时,较高质量的图块在南极区域1854附近,而逐渐降低质量的图块朝向北极1852延伸。

图18B示出了示例实施例中的设备帧缓冲器1800B。示出了缓冲器中的三个连续的帧1822A-1822C,每个帧具有P切片头部,但是基于头戴式耳机视图在视口1820中包括不同的图块集合。尽管当前帧1822A在其视口1820中具有全I的图块,但是以下的帧被示为具有P图块的视口1820。

如上所述,BWA-TS模块的功能性的一个方面是保证示例360°沉浸式视频会话的整体带宽不超过指定的带宽分配(例如基于网络运营商策略、内容提供商策略、订户/设备策略或它们的任意组合),同时仍能最大限度地提高质量和观看体验。因此,可以响应于用户的视野、带宽分配/限制、每个图块的比特率以及传输缓冲器模型来配置具有合适的比特率质量的优化图块选择,使得直接视线中的图块具有最佳可能的质量,并且在向远离直接注视的区域移动时,质量降低。

图19是示出了根据本发明的一个或多个实施例的BWA-TS过程1900的各个框、步骤和/或动作,在具有或不具有本公开的附加流程图的框、步骤和/或动作的情况下,可以在一个或多个布置中(重新)组合BWA-TS过程1900的各个框、步骤和/或动作。如框1902所述,过程1900可以开始于或响应于接收、取回或以其他方式获得由360°视频资产打包器(例如图2中的打包器214)针对多个图块编码的流提供的一个或多个流清单文件,多个图块编码的流可以根据BIE或PE方案生成。一般地,清单文件可以包括描述每个帧的图块分组的各个特性的信息或数据,包括针对与媒体输入流的多个比特率表示中的特定一个比特率表示相对应的每个图块编码的比特流的位置URL、比特率、切片/块类型、媒体类型等。在一个布置中,可以以分层的方式来组织清单,即,通过某些清单来描述整体的编码比特流,而提供其他清单来描述流中的各个图块。如本专利申请中的各处所述,每个流是具有视频质量的源视频的特定比特率表示,例如与用于比特率表示和/或目标比特率或其他标记的对应QP有关或者由用于比特率表示和/或目标比特率或其他标记的对应QP控制的视频质量,其中,图块编码的比特流的每个帧包括被组织到每帧的至少一个切片中的图块阵列,其中,多个帧形成图块编码的比特流的GOP结构。在框1904,过程1900进行到接收、获取或以其他方式获得注视矢量信息,并且响应于此,例如基于注视矢量或通过默认设置,来确定与形成帧的图块阵列相对应的图块权重。在框1906,过程1900进行到接收、获取或以其他方式获得与媒体输入流的多个比特率表示或相关联的图块编码的比特流相对应的变化的权重。在一个布置中,可以将变化的权重定义为流的基于策略的属性,其中较高质量的流表示(即,变体)被赋予更高的优先权或权重,该更高的优先权或权重可以用于涉及基于权重的背包打包选择的进一步计算中。在框1908,对于每个图块编码的比特流,对跨GOP结构的帧集合上的每个图块/GOP元组组合,关于作为变化的权重和图块权重的函数的充足性度量值进行确定。在框1910,过程1900进行到至少部分地响应于充足性度量值,从对应的图块编码的比特流中选择具有不同比特率质量的图块,以用于组装帧,其中,对所选择的图块的比特率质量进行优化以满足传输缓冲器模型进行复用的视频输出流的传输。此后,可以将所选择的图块的列表提供给图块拼接器,用于生成包含所选择的图块的帧作为复用的视频输出流的一部分(框1912)。如在本专利申请中其他地方所指出的,在设备侧实施例中执行图块拼接的情况下,可以在示例实施例中将所选择的图块提供给客户端设备。

下面示出了用于本发明的实施例的示例流级别清单:

为了说明涉及多个阶段编码的流的本发明的实施例的目的,如下示出了基于DASH-MPD的示例较低级别的清单:

图20是示出了根据本发明实施例的关于示例图块选择和带宽退火过程的附加框、步骤和/或动作的流程图。在一个布置中,如先前指出的,背包组合优化可用于基于包括注视矢量、带宽分配/限制、流权重等的输入来进行图块选择和退火。在框2002,在与视频优化相关联的服务器或节点处执行的过程2000开始于或响应于接收对360°沉浸式视频会话的请求。在框2004,过程2000进行到获取或以去他方式获得图块化的流清单定义,以便能够基于深层检查和处理来确定视频特性的所有方面,以便提取所需要的图块,该提取可以通过解析流清单来实现(框2006)。确定每个流的网格布局,例如每帧的列和行(框2008)。在示例变型中,过程2000可以向网络管理和协调节点注册以接收与针对所请求的会话分配/确定的带宽有关的通知消息(框2010)。如果接收到带宽分配(框2012),则可以进一步确定是否接收到注视矢量信息(框2014)。此后,基于注视矢量信息来确定图块权重(框2016)。响应于可用带宽分配通知,可以将图块选择作为背包退火过程来执行(框2018)。在框2020,将所选择的图块提供给图块拼接过程(在服务器或客户端设备上执行)。

图21A和图21B是示出了根据本发明的示例实施例的与图块选择和带宽退火过程的其他方面有关的附加框、步骤和/或动作的流程图。具体地,图21A中所示的过程2100A示例了相对较简单的背包退火过程,它的计算可能更复杂,导致图块拼合大约需要1秒。在框2102,将图块初始化为最低质量。可以将充足性度量确定为流变化的权重与图块权重之间的比率,可以针对所有<图块,GOP>元组或组合来提供充足性度量(框2104)。如框2108所示,确定关于升级具有最小充足性(即,最不充足)的<图块,GOP>元组。确定是违反还是满足传输缓冲器模型(框2110)。如果不满足(即,违反)缓冲器模型,则可以取消该图块/GOP组合的升级资格,并且处理流程返回以考虑下一图块/GOP组合进行升级,如框2112所示。如果不违反缓冲器模型,则图块/GOP组合的质量被升级(框2114)。可以迭代地执行前述过程,直到不存在小于最高质量的不符合资格的的图块/GOP组合(框2116)。如果没有,则如框2118所示,通过将多选择的图块发送给图块复用器和流生成过程来完成过程2100A。

转到图21B,示出了性能优化的图块选择和退火过程2100B,在一些实现中,其可以导致更快的图块选择,导致大约10毫秒左右的总图块拼接时间。广泛地说,可以针对I图块(由于I图块打包了更多的数据,因此比P图块升级开销更大)升级施加惩罚因子,并且最初可能进行“原始的”升级,其中无论升级是否符合充足性度量,都不针对传输缓冲器模型检查图块升级。此外,随着ROI/视口中的图块首先被升级并且帧的其余图块随后被升级/更新,示例实施例可以基于图块位置在哪里来考虑惩罚因子。例如,如果图块位置接近注视矢量,则与该位置相关联的惩罚可以较低。此外,作为待升级的图块的质量/类型与该图块在帧中的位置之间的平衡,惩罚也可以与图块位置有关。在示例实施例中,可以通过适当地调整原始的升级序列中使用的充足性度量,来将惩罚因子或组合的影响并入退火过程中。

与图21A的实施例类似,将所有视频编码的图块初始化为最低质量(框2132)。可以将充足性度量确定为流变化的权重与图块权重之间的比率,乘以惩罚因子,可以针对所有<图块,GOP>元组或组合提供该充足性度量(框2136)。在框2134,可以配置堆结构(例如作为大的存储器池)用于包含所有<图块,GOP>元组的充足性值。在框2138,从堆中拉取最不充足的图块,并将其记录在原始的升级序列或过程中。如果图块质量可以被进一步升级(框2140),则执行该升级并确定经升级的图块的充足性度量(框2142)。可以以迭代循环的方式执行前述过程,直到堆为空并且可以升级的所有图块已经被升级为止(框2144)。可以在原始序列上实现二进制搜索序列,以找到服从给定的传输缓冲器模型的最后有效状态(框2146),该最后有效状态可以用作起始图块状态(框2148)。可以配置新的升级堆,用于包含图块/GOP状态(框2150)。从堆中拉取最不充足的图块/GOP组合(框2152),并针对传输缓冲器模型进行验证(框2154)。如果所拉取的图块/GOP不满足缓冲器模型,则取消其未来升级的资格(框2158)。否则,确定它是否可以进一步升级(框2156)。如果是,则确定满足传输缓冲器模型的经升级的图块/GOP组合的充足性值(框2160)。如框2162所述,迭代地执行前述操作,直到新的升级堆为空。如果升级堆为空,则通过将所选择的图块发送给图块复用和流生成过程,完成过程2100B,如框2164所示。

本文所述的示例退火过程有利地促进了在视口或带宽改变时逐步刷新帧,由此允许在基于用户的视野增加质量时最小化时延,同时不使带宽过载。通常,当尝试同时在所有图块上执行质量改变时,由于同时针对I图块改变P图块的结果,可能遇到若干问题,这在编码比特率方面开销较大。另一方面,用最小的客户端缓冲器执行该替换可能导致在传递I切片/帧时的延迟过多。

在采用逐步刷新的示例实施例中,视频流不具有I帧(除了初始I帧或诸如即时解码刷新或IDR帧的任何其他特殊帧之外)。代替地,视频流具有可以分布在整个时间序列中的I块或I图块,使得屏幕上的任意特定点都可以例如通过如在本专利申请的前面的部分中详细描述的阶段编码的流,来在规则的间隔获得I块。因此,在这种情况下,不存在所有像素都被I块刷新的帧。通过执行逐步刷新退火,本发明的示例实施例可以有利地被配置为拉平帧大小(即,就编码图像数据的数量而言),并且减少注入I帧的带宽后果,以对进入FoV或视点的图块的质量进行升级。尽管PE方案可以允许在时间/帧序列中选择性地对图块进行早期刷新,但是它可能带来一定的带宽成本(例如,由于帧中具有多个I图块,其可以引起在与该视频帧的传输相对应的时间间隔中所需的带宽增加)。然而,可以配置涉及PE的示例实施例,使得具有稳定级别的字节/帧的优势超过了这种成本。

在帧序列中,随着时间的推移,基于PE的实施例可以允许操纵周围的各个图块的阶段,直到I图块在时间上再次大致均匀地分布。关于该重新分布发生的时间,可以将这种能力配置为用户和/或内容相关的,因为它需要用户保持其视场稳定足够长的时间以使该能力发生。为了选择图块以填充带宽,示例实施例可以涉及对将3个GOP扩展到未来的帧字节大小进行建模(该选择是任意的),并且基于缓冲器模型(例如在展望的情况下具有3个GOP)来执行假设的早期刷新(HER)。基于在图21A和图21B中阐述的实施例,可以看出,这样的过程通过为所有的图块选择最低质量的流而开始,然后针对当前帧和未来帧二者,考虑图块的每个GOP,并且评估升级该GOP是否会违反任何带宽约束(带宽约束是各个帧大小和缓冲器考虑的组合)。如果考虑将当前的(而不是将来的)图块-GOP组合升级到已经传递的I帧的质量以上,则本发明的实施例可以暂时地重新对齐该图块,以从I帧开始(这可能影响拼合窗中的其余帧)。一旦获得了可能的升级的列表,就可以根据质量和图块在FoV中的位置(因此,将更倾向于升级靠近视觉中心的图块)对它们进行加权。在一个实现中,可以重复前述升级步骤,直到缓冲器约束使得不可能进行更多升级为止。

应当理解,示例升级过程可以根据展望的GOP建模在时间和空间上移动。在一个布置中,每个图块可以具有3-4个GOP范围,可以通过迭代过程对每个GOP进行升级,其中未来的GOP升级用于针对覆盖3-4个GOP的早期刷新的潜在的未来增强。

在考虑基于HER的实现时,可以识别和/或采用一些潜在的度量来获得合适的权衡:(i)停播寂静时间,(ii)最大缓冲器级别和(iii)结束缓冲器级别等。在一个示例实现中,最大缓冲器级别可以被加权为HER升级的主要标准,其中可以释放充足的带宽以允许图块-GOP质量升级。

如图21B的实施例中所述,一旦到达升级迭代中的终点,就可以使用图块的集合复用切片/帧,由此可以计算复用的切片/切片的字节大小,并且可以记录它对传输缓冲器的影响,使得根据给定传输缓冲器模型准确地约束下一切片/帧。当下一次拼合帧时(例如用户注视已经改变,从而导致进行调整),可以重复背包退火过程,其中相对于之前的操作对一个额外的帧进行建模,这可以验证和/或微调背包/退火过程。

本领域技术人员将认识到,在图21B的实施例中采用的堆存储器结构对于跟踪可升级的图块尤其有利,因为可以避免在每次迭代时重新计算图块-GOP升级的得分。如前所述,为评分的图块定义了充足性度量,该度量用于选择要升级的图块,其中以合适的数学关系提供诸如variant_weight、tile_weight和惩罚之类的参数以捕获期望的升级方案。这样,variant_weight参数可以被定义为编码流的属性,并且较高质量的流变体(具有较低的QP)具有较高的variant_weight。一些示例variant_weights是{1/QP}、{100-QP},或者是上述清单示例中定义的值,也可以是整个流的比特率。如上所述,tile_weight也可以作为图块相对于注视的位置的函数来提供。一般地,可以向用户的直接FoV或ROI/视口中的图块赋予更高的tile_weight。在图21A/图21B的实施例中阐述的示例充足性度量公式被配置为使得随着流质量增加,充足性值也增加,并且更靠近注视矢量的图块具有比相同质量的远离注视矢量的图块低的充足性(这将退火过程配置为在对远离注视矢量的图块升级之前,升级更靠近注视矢量的图块)。

此外,示例实施例还包括对图块进行评分以用于升级过程的惩罚因子,如上所述。在一个布置中,当需要使用I图块进行早期刷新时,可以强制惩罚,其中,当前GOP中的图块将被升级到超过它在先前切片/帧中的质量。这种惩罚具有增加该图块的充足性的作用,其相对于堆中的其他图块延迟了升级。这样允许在注视发生足够的改变时升级图块,但在边缘情况下可以推迟早期刷新。

对于本领域技术人员将显而易见的是,在本发明的范围内的一些变型中,还可以使用附加的/被的公式来对图块升级进行评分。

图22示出了根据本发明的示例实施例的用于图块选择和带宽退火布置的传输缓冲器模型处理。一般地,传输缓冲器模型可以被配置为与取决于实现的帧速率(例如30fps、60fps等)一致,其中,可以对如何将数据添加到缓冲器中和从缓冲器中传输出去的时间变化进行参数化,以便确定是否存在溢出以及何时可能发生溢出(即,违规)。在示例传输缓冲区模型2200中,b

b

buffer_size参数可以如下定义:

buffer_size=r(latency_frames)Δt

根据前述模型,如果Max(a

转到图23,其中描绘了布置2300,其中,出于本专利公开的实施例的目的,客户端UE设备可以被配置为执行360°沉浸式视频优化的某些方面。具有合适的360°显示设备的用户2310可以与所连接的UE设备2302一起操作,UE设备2302包括视频优化客户端模块2306和被布置为向显示设备生成合适的回放信号的所连接的播放器2308。在一个实施例中,播放器2308可以包括配置有适当的视频解码器2314、显示渲染器2316、音频解码器2318和声音渲染器2320的HEVC或AV1播放器。与上文阐述的示例实施例类似,可以向所连接的UE设备2302提供注视跟踪模块2312,该所连接的UE设备2302可以被配置为消费在ABR流传输环境中通过互联网2304传递的360°沉浸式视频内容。

客户端优化模块2306优选地包括360°沉浸式视频接口模块2321,其包括清单解析器2328、视频图块和音频流下载器2330、带宽估计模块2326和图块选择模块2324,其可以被配置为以合适的以设备为中心的修改,以必要的方式以与上述实施例类似的方式进行操作。可以基于关于特定内容的清单2340,经由互联网2304向网络位置(例如内容提供商网络或基于云的存储器)生成HEVC图块/音频请求2344。可以经由路径2342接收所请求的视频图块和音频数据。从注视跟踪模块2312(例如经由路径2322)提供给沉浸式视频接口模块2321的注视矢量信息可以与带宽估计一起用于选择每帧的图块,可以经由视频信号路径2331将所选择的图块提供给动态分配的视频缓冲器2332。同样,可以经由音频信号路径2338将对应的音频片段提供给音频缓冲器2336。可以将不同质量的图块提供给图块组合器2334,该图块组合器2334向播放器的视频解码器2314生成复用编码的视频流2346。可以从音频缓冲器2336向音频解码器2318生成编码的音频流2348。提供给播放器2308的各个渲染器2320、2316的解码的音频和视频数据被适当地渲染,以在由用户的显示设备实现的沉浸式环境中进行显示/呈现,基本上与先前阐述的示例实施例类似。

图24描绘了根据本发明的实施例的计算机实现的装置的框图,该计算机实现的装置可以被(重新)配置和/或(重新)布置为平台、节点或元件,以实现360°沉浸式视频处理、准备和图块选择优化的一个或多个方面。取决于实现和/或网络架构,装置2400可以被配置或以其他方式集成在适于在示例环境的一个或多个层次级别上操作的不同布置中(例如,如图1和图2所示)。一个或多个处理器2402可以作为合适的计算机体系结构的一部分来提供,以用于提供对装置2400的总体控制,其中,处理器2402可以被配置为执行存储在适当的存储器模块或块(例如持久性存储器2408)中的各种程序指令,装置2400包括特定于媒体准备、预处理、包括自适应比特率编码/转码在内的基于BIE/PR的图块编码、优化的图块选择和带宽退火、图块化媒体打包、图块拼接等的附加模块或块,如上文详细描述的。例如,这样的模块可以包括基于图块的PE/BIE编码器2404、ABR编码器/转码器2406、GV处理和图块权重处理模块2413、图块选择和退火模块2416、打包器和清单生成器2410、投影映射器2418等等。此外,在示例实施例中,取决于装置2400的实现,可以提供打包媒体数据库2419。因此,取决于网络层级级别和/或集成,各种网络接口可以作为装置2400的一部分来提供,网络接口例如是I/F 2414-1至2414-L,其可操作用于实现与包括视频后台元件、DRM实体、原始服务器、客户端控制器节点、源媒体节点、管理节点和高速缓存数据库在内的网络基础架构元件的通信,以及网络接口例如是接口2412-1至2412-K,其用于实现与一个或多个下游节点(例如包括传递服务器、DSLAM/CMTS元件、RAN基础设施元件、处所网关节点等)的通信会话。

图25描绘了根据本专利公开的一个或多个实施例的被配置用于执行各种客户端侧过程的示例客户端UE设备或订户站2500的框图。客户端设备2500一般表示上述一个或多个附图中示出的各种观看设备,并且可以包括适当的硬件/软件组件和子系统,取决于实现,这些硬件/软件组件和子系统被配置用于(单独或组合使用)执行关于媒体请求生成、注视矢量生成、图块选择和带宽估计等的任何设备侧的过程。提供一个或多个微控制器/处理器2502用于客户端设备2500的整体控制以及用于执行体现在一个或多个永久性存储器模块中的各个所存储的程序指令,一个或多个永久性存储器模块可以是设备2500的存储器子系统2511的一部分。例如,包括VR应用的360°沉浸式视频客户端应用2513A可以与带宽估计器2513B和相关联的图块选择器2513C一起操作,它们可以作为存储器子系统2511的一部分来提供。可以提供清单解析器2517以促进对适当位置的媒体请求的生成。附图标记2502所指的控制器/处理器复合体也可以表示与合适的视频和音频接口(未具体示出)相关联地操作的其他专用处理模块,例如图形处理器、视频处理器、数字信号处理器(DSP)等。可以包括适当的网络接口(例如涉及调谐器、解调器、解扰器、MPEG/H.264/H.265/AV1解码器/解复用器或与调谐器、解调器、解扰器、MPEG/H.264/H.265/AV1解码器/解复用器一起操作的网络I/F模块2504和2506),以用于处理经由DSL/CMTS网络2598或卫星网络2596接收的IPTV和其他内容信号并与该IPTV和其他内容信号交互。在将STB配置为示例客户端设备或应用的情况下,还可以包括合适的解调器。可以提供一个或多个媒体播放器2514以与客户端设备2500的其他子系统(例如用户接口2520)结合操作,该其他子系统可以进一步配置有附加的子系统,以用于促进用户对媒体回放的控制,包括频道改变请求和任何特技模式操作。例如,客户端/用户控制功能可以包括对正在播放的特定360度沉浸式视频资产的暂停、恢复、快进、倒带、搜索、添加书签等。示例媒体播放器可以被配置为基于已知或迄今未知的标准或规范,以一种或多种A/V编码器/解码器(编解码器)功能性进行操作。

取决于设备配置,还可以提供诸如沉浸式显示接口2515、触摸屏或键盘接口2520、USB/HDMI端口2518、以太网I/F 2508以及短距离和广域无线连接接口2512之类的其他I/O或接口。还可以包括各种运动检测和注视跟踪传感器2516,其中一些可以包括陀螺仪、加速度计、位置传感器等。在示例实现中,可以包括硬盘驱动器(HDD)或本地DVR系统2510以用于各种程序资产的本地存储。合适的电源块2522可以包括AC/DC电源转换,以对设备2500提供电源。应当理解,设备2500的实际电源架构可以根据所使用的硬件平台而变化,例如,取决于核心SoC(片上系统)、存储器、模拟前端、模拟信号链组件和特定平台中使用的接口等。

本领域技术人员将认识到,作为本专利公开的附加或备选实施例,关于前述实施例的各种装置和系统以及上面阐述的底层网络基础设施可以根据网络功能虚拟(NFV)架构,在虚拟化环境中进行架构。例如,可以将本申请的示例流传输网络中执行的各个物理资源、数据库、服务、应用和功能(包括源媒体处理基础设施、媒体容器化、PE/BIE图块编码和打包等,如上所述)提供为虚拟设备、机器或功能,其中经由合适的虚拟化层将资源和应用虚拟化为合适的虚拟网络功能(VNF)或虚拟网络元素(VNE)。包括计算资源、存储器资源和网络基础设施资源在内的资源被虚拟化为对应的虚拟资源,其中虚拟计算资源、虚拟存储器资源和虚拟网络资源共同操作以支持VNF层,可以通过虚拟化基础设施管理器(VIM)结合VNF管理器和NFV协调器来支持VNF层的总体管理和协调功能性。通常可以提供运营支持系统(OSS)和/或业务支持系统(BSS)组件,以处理诸如网络管理、故障管理、配置管理、服务管理和订户管理等之类的网络级别的功能性,运营支持系统(OSS)和/或业务支持系统(BSS)组件可以经由合适的接口与VNF成和NFV协调组件进行接口通信。

此外,本文公开的示例网络架构的至少一部分可以如上所述地虚拟化,并且可以在包括可配置的虚拟资源的共享池的云计算环境中进行架构。与PE/BIE图块编码和打包、带宽退火和图块选择、图块复用和容器化等相关联的各种硬件/软件可以在面向服务的架构(例如软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)等)中实现,其中多个实体提供了本发明的示例实施例的不同特征,其中虚拟化环境的一层或多层可以在可以在商用现货(COTS)硬件上实例化。技术人员还将理解,这种云计算环境可以包括私有云、公共云、混合云、社区云、分布式云、多云和云间(例如,“云中云”)等中的一个或多个。

下面讨论了附加的示例实施例。

示例实施例1、一种在沉浸式视频优化系统中操作的方法,该方法包括:

从操作用于向用户显示360°沉浸式视频资产的客户端设备接收注视矢量,其中,每个视频帧包括投射到由该用户观看的3维(3D)显示环境上的图块阵列,用户沉浸在该3D显示环境中,注视矢量定义了3D显示环境中用户在任意特定时间正在观看的注视方向;确定注视矢量与方向矢量之间的角度间隔,该方向矢量与3D显示环境中分别与图块阵列相对应的每个图块位置相关联;以及响应于角度间隔,确定与图块阵列相对应的多个图块权重,以用于为360°沉浸式视频资产选择不同比特率质量的图块,来组装要传递给客户端设备的视频帧。

示例实施例2、根据权利要求1所述的方法,其中,通过跟踪与用于显示360°沉浸式视频资产的客户端设备相关联的用户头戴式耳机的朝向,来获得注视方向。

示例实施例3、根据权利要求1所述的方法,其中,通过在显示360°沉浸式视频资产的同时跟踪用户的眼球相对于3D显示环境的不同部分的运动,来获得注视方向。

示例实施例4、根据权利要求1所述的方法,其中,为与注视矢量具有低角度间隔的图块分配高图块权重值。

示例实施例5、根据权利要求1所述的方法,其中,为与注视矢量具有高角度间隔的图块分配低图块权重值。

示例实施例6、根据权利要求1所述的方法,其中,基于视频帧在3D显示环境中的空间图像投影来确定注视矢量与图块位置的方向矢量之间的角度间隔,空间图像投影包括等角投影、立方体贴图投影、等角立方体贴图(EAC)投影、金字塔投影和鱼眼投影之一。

示例实施例7、根据权利要求6所述的方法,其中,将图块权重确定为注视矢量与方向矢量之间的角度间隔的余弦的加权函数,该方向矢量与视频帧的等角投影中的图块位置相对应。

示例实施例8、根据权利要求1所述的方法,其中,360°沉浸式视频资产包括直播电视内容、IPTV内容、时移(TS)电视内容、位移(PS)电视内容、游戏内容、视频点播(VOD)内容、自适应多比特率(MBR)内容、虚拟现实(VR)内容、增强现实(AR)内容、混合现实(MR)内容和联网数字视频录像机(nDVR)内容中的至少一种。

示例实施例9、一种沉浸式视频优化系统,包括:一个或多个处理器;以及

一个或多个永久性存储器模块,其上存储有程序指令,该程序指令在由一个或多个处理器执行时,与一个或多个模块相关联地执行以下动作:从操作用于向用户显示360°沉浸式视频资产的客户端设备接收注视矢量,其中,每个视频帧包括投射到由用户观看的3维(3D)显示环境上的图块阵列,用户沉浸在该3D显示环境中,注视矢量定义了3D显示环境中用户在任意特定时间正在观看的注视方向;确定注视矢量与方向矢量之间的角度间隔,方向矢量与3D显示环境中分别与图块阵列相对应的每个图块位置相关联;以及响应于角度间隔,确定与图块阵列相对应的多个图块权重,以用于为360°沉浸式视频资产选择不同比特率质量的图块,来组装要传递给客户端设备的视频帧。

示例实施例10、根据权利要求9所述的沉浸式视频优化系统,其中,通过跟踪与用于显示所述360°沉浸式视频资产的客户端设备相关联的用户头戴式耳机的朝向,来获得注视方向。

示例实施例11、根据权利要求9所述的沉浸式视频优化系统,其中,通过在显示360°沉浸式视频资产的同时跟踪用户的眼球相对于3D显示环境的不同部分的运动,来获得注视方向。

示例实施例12、根据权利要求9所述的沉浸式视频优化系统,其中,该程序指令还包括用于执行以下动作的指令:为与注视矢量具有低角度间隔的图块分配高图块权重值。

示例实施例13、根据权利要求9所述的沉浸式视频优化系统,其中,该程序指令还包括用于执行以下动作的指令:为与注视矢量具有高角度间隔的图块分配低图块权重值。

示例实施例14、根据权利要求9所述的沉浸式视频优化系统,其中,基于视频帧在3D显示环境中的空间图像投影来确定注视矢量与图块位置的方向矢量之间的角度间隔,空间图像投影包括等角投影、立方体贴图投影、等角立方体贴图(EAC)投影、金字塔投影和鱼眼投影之一。

示例实施例15、根据权利要求14所述的沉浸式视频优化系统,其中,将图块权重确定为注视矢量与方向矢量之间的角度间隔的余弦的加权函数,方向矢量与视频帧的等角投影中的图块位置相对应。

示例实施例16、根据权利要求9所述的沉浸式视频优化系统,其中,360°沉浸式视频资产包括直播电视内容、IPTV内容、时移(TS)电视内容、位移(PS)电视内容、游戏内容、视频点播(VOD)内容、自适应多比特率(MBR)内容、虚拟现实(VR)内容、增强现实(AR)内容、混合现实(MR)内容和联网数字视频录像机(nDVR)内容中的至少一种。

示例实施例17、一种或多种非暂时性有形计算机可读介质,包含存储在其上的指令,该指令在由沉浸式视频优化系统的一个或多个处理器执行时,促进为了以最小时延呈现360°沉浸式视频资产而优化的媒体图块选择过程,一种或多种非暂时性计算机可读介质包括:用于从操作为向用户显示360°沉浸式视频资产的客户端设备接收注视矢量的代码部分,其中,每个视频帧包括投射到由用户观看的3维(3D)显示环境上的图块阵列,用户沉浸在该3D显示环境中,注视矢量定义了3D显示环境中用户在任意特定时间正在观看的注视方向;用于确定注视矢量与方向矢量之间的角度间隔的代码部分,方向矢量与3D显示环境中分别与图块阵列相对应的每个图块位置相关联;以及用于响应于角度间隔,确定与图块阵列相对应的多个图块权重,以用于为360°沉浸式视频资产选择不同比特率质量的图块,来组装要传递给客户端设备的视频帧的代码部分。

示例实施例18、根据权利要求17所述的非暂时性有形计算机可读介质,其中,通过跟踪与用于显示360°沉浸式视频资产的客户端设备相关联的用户头戴式耳机的朝向,来获得注视方向。

示例实施例19、根据权利要求17所述的非暂时性有形计算机可读介质,其中,通过在显示360°沉浸式视频资产的同时跟踪用户的眼球相对于3D显示环境的不同部分的运动,来获得注视方向。

示例实施例20、根据权利要求17所述的非暂时性有形计算机可读介质,其中,还包括用于执行以下动作的程序指令:为与注视矢量具有低角度间隔的图块分配高图块权重值。

示例实施例21、根据权利要求17所述的非暂时性有形计算机可读介质,其中,还包括用于执行以下动作的程序指令:为与注视矢量具有高角度间隔的图块分配低图块权重值。

示例实施例22、根据权利要求17所述的非暂时性有形计算机可读介质,其中,基于视频帧在3D显示环境中的空间图像投影来确定注视矢量与图块位置的方向矢量之间的角度间隔,空间图像投影包括等角投影、立方体贴图投影、等角立方体贴图(EAC)投影、金字塔投影和鱼眼投影之一。

示例实施例23、根据权利要求22所述的非暂时性有形计算机可读介质,其中,将图块权重确定为注视矢量与方向矢量之间的角度间隔的余弦的加权函数,方向矢量与视频帧的等角投影中的图块位置相对应。

示例实施例24、根据权利要求17所述的非暂时性有形计算机可读介质,其中,360°沉浸式视频资产包括直播电视内容、IPTV内容、时移(TS)电视内容、位移(PS)电视内容、游戏内容、视频点播(VOD)内容、自适应多比特率(MBR)内容、虚拟现实(VR)内容、增强现实(AR)内容、混合现实(MR)内容和联网数字视频录像机(nDVR)内容中的至少一种。

在对本公开的各种实施例的以上描述中,应理解本文使用的术语仅用于描述具体的实施例的目的,并且不旨在限制本发明。除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有本发明所属领域的普通技术人员通常所理解的相同意义。将理解,诸如在通用词典中定义的术语等的术语应被解释为具有与它们在本说明书的上下文和相关技术中的意义相一致的意义,而可以不被解释为理想或过于正式的意义,除非本文有这样的明确定义。

本文参考计算机实现的方法、装置(系统和/或设备)和/或计算机程序产品的框图和/或流程图图示描述了至少一些示例实施例。应理解,可以通过由一个或多个计算机电路执行的计算机程序指令来实现框图和/或流程图图示的框以及框图和/或流程图图示中的框的组合。可以将这些计算机程序指令提供给通用计算机电路、专用计算机电路和/或其它可编程数据处理电路的处理器电路来产生机器,使得经由计算机和/或其它可编程数据处理装置的处理器执行的指令转换和控制晶体管、存储器位置中存储的值、以及这种电路内的其它硬件组件,以实现框图和/或流程图框中指定的功能/动作,并由此创建用于实现框图和/或流程图框中指定的功能/动作的装置(功能体)和/或结构。附加地,计算机程序指令也可以存储在有形计算机可读介质中,所述有形计算机可读介质能够指导计算机或其他可编程数据处理装置按照具体的方式作用,使得在计算机可读介质中存储的指令产生制品,所述制品包括实现在所述框图和/或流程图的框中指定的功能/动作的指令。

如前所述,有形非暂时计算机可读介质可以包括电子、磁性、光学、电磁或者半导体数据存储系统、装置或设备。计算机可读介质的更具体的示例将包括以下各项:便携式计算机磁盘、随机存取存储器(RAM)电路、只读存储器(ROM)电路、可擦除可编程只读存储器(EPROM或闪存)电路、便携高密度盘只读存储器(CD-ROM)、以及便携数字视频盘只读存储器(DVD/蓝光)。计算机程序指令还可以被加载到或以其他方式下载到计算机和/或其他可编程数据处理装置上,以使得在计算机和/或其他可编程装置上执行一系列操作步骤来产生计算机实现的过程。因此,本发明的实施例可以在硬件和/或在处理器或控制器上运行的软件(包括固件、贮存软件、微代码等)上实现,所处处理器或控制器可以被统称为“电路”、“模块”或其变体。此外,举例来说,示例处理单元可以包括通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其他类型的集成电路(IC)和/或状态机相关联的一个或多个微处理器。可以理解,在某些实施例中,示例处理器单元可以采用分布式处理。

此外,在至少一些附加或备选的实现中,在框中描述的功能/动作可以不以流程图中所示的顺序发生。例如,取决于所涉及的功能性/动作,连续示出的两个框实际上可以实质上同时执行,或者框有时候可以按照相反的顺序执行。此外,可以将流程图和/或框图的给定框的功能分成多个框和/或流程图和/或框图的两个或更多个框的功能性可以至少部分地被集成。此外,尽管一些框包括用于指示通信的主要方向的关于通信路径的箭头,但是应理解,通信可以以相对于所表示的箭头相反的方向发生。最后,在示出的框之间可以添加/插入其它框。

因此,应该清楚地理解,在本公开的附图中描绘的任何流程图中所示的动作、步骤、功能、组件或框的顺序或排序可以在特定流程图中修改、改变、替换、定制或以其他方式重新布置,包括删除或省略特定的动作、步骤、功能、组件或框。此外,特定流程图中示出的动作、步骤、功能、组件或框可以与另一流程图中示出的动作、步骤、功能、组件或框相互混合或以其他方式相互布置或重新布置,以便为了实现附加的实践本专利公开的教导为目的,而对一个或多个过程实现附加的变化、修改和配置。

虽然已经详细示出和描述了各种实施例,权利要求不限于任何具体的实施例或示例。以上详细描述不应被解读为暗示任何特定的组件、元素、步骤、动作或功能是必须使得该组件、元件、步骤、动作或功能被包括在权利要求的范围中的。除非明确地阐述,提及单数形式的元素不意图表示“一个且仅一个”,而是“一个或多个”。上述优选实施例的元素的对于本领域的普通技术人员已知的所有结构和功能等同物明确通过引用并入本文,并旨在由本权利要求涵盖。因此,本领域技术人员将认识到,在所附权利要求的精神和范围内,可以通过各种修改和变更来实践本文所述的示例性实施例。

相关技术
  • 用于基于注视矢量信息提供360o沉浸式视频的系统和方法
  • 用于在360度沉浸式视频中插入广告内容的系统和方法
技术分类

06120112302820