基于视区跟踪的16K移动平台虚拟现实视频传输方法和系统
文献发布时间:2023-06-19 11:14:36
技术领域
本发明属于网络流媒体传输技术领域,涉及一种改善用户观看质量的虚拟现实视频空间切块算法,具体涉及一种基于视区跟踪的16K移动平台虚拟现实视频传输方法和系统。
背景技术
虚拟现实(VR)逐渐在移动平台兴起。据调查,2021年VR用户将达到5500万,移动VR平台将占VR整体平台的80%。最近,华为推出了最新的VR头盔,VR glass。与传统的高端有线VR头盔相比,它的目标是在移动平台下,不受有线(如HDMI)的限制,实现轻量、移动和高质量的用户体验。因此,有理由相信,移动VR将成为未来的主流。
为了创造更好的用户体验,16K VR视频(15360x 7680像素)已经成为VR视频传输的一项需求。16K VR视频在用户视野(Field of View,简称FoV)内提供每角度40个像素,相当于传统桌面屏幕上显示的非VR HD(1920x1080像素)视频。
然而,16K VR频流需要更高的网络带宽和客户端解码能力。(1)传输一个经过良好压缩的16K VR视频仍然需要200Mbps到1.65Gbps的带宽,目前的4G网络平均带宽只有40Mbps。即使采用最先进的5G网络,带宽可以达到1Gbps,16K VR视频的传输仍然存在巨大的阻碍。(2)最先进的移动平台只能以每秒30帧的速度解码8K(7680x3840像素)的视频。16KVR视频会导致客户端视频解码严重停滞,甚至使播放器完全崩溃。
视区驱动的VR视频传输是最常见的解决方案,它试图通过仅传输用户的视区内部视频内容来降低对VR视频传输的带宽需求。VR视频首先通过视频投影编码为传统平面视频。然后视频在时间维度上被分割成块(持续时间通常为1-5秒),被称为视频时间片,每个视频时间切片在空间维度被分割成固定大小网格状的块,称为视频空间切块。最后基于视区预测算法,只需对与用户FoV相交的视频块进行传输,从而大大降低了VR视频的的计算和带宽消耗。在一个16K的VR视频中,用户的FoV分辨率只有4K左右(4320x4320像素),所以理论上这些解决方案可以在移动平台上实现16K VR视频的传输。
然而,现有的VR视频传输的设计思路是基于静态视频切块的视区覆盖。传统的做法中,视频空间切块在一个视频时间片以内的空间位置是固定不动的,在一个视频时间片以内,即便一个视频空间切块只被用户观看了一帧,也需要将整个视频空间切块传输,这会导致16K VR视频传输中严重的带宽消耗和解码开销。与所有现有的解决方案不同,本发明以FoV跟踪方式传输VR视频。VR视频块被分割成动态空间切块,其空间位置始终跟踪用户视区轨迹的移动,并以帧粒度来裁剪视区。传统静态视频切块导致严重的像素浪费。相比之下,基于视区跟踪解决方案总是将用户视野内的视频内容传送到客户端,像素浪费极低。
然而,实际中实现基于视区跟踪的动态视频切块存在以下三个核心挑战。
首先,在实际视频中,每一段视频可能被成千上万(甚至数百万)的用户观看,不同的用户有不同的视区轨迹。此外,进入用户的视野轨迹可以不同于任何现有用户。因此,在计算和存储方面,为每个可能的FoV轨迹编码一个唯一的动态空间切块是不切实际的。其次,现有的投影方法,如等矩形投影(ERP)和立方体投影(CMP)等,都是将视频内容投影到一个固定的投影中心。距离投影中心较远的像素点投影后会出现较大的畸变,从而增加像素数,降低编码效率。我们称之为投影扭曲。当视区离投影中心较远时,采用现有的投影方法直接对移动台进行编码,会大幅度降低编码效率提升解码开销。最后,在所有的VR视频传输方法中,视频块需要在用户实际观看之前通过客户端逻辑进行预取,因此用户视区预测是不可避免的。为了保证动态空间切块能够跟踪用户未来的视场运动,对视场的预测需要极高的精度。但目前的预测算法并没有提供这种性能。
为了解决这三个核心挑战,本发明提出了VR视频传输系统,它以视区跟踪的方式大幅度节省带宽消耗,提升编码、解码效率。
发明内容
本发明的目的是以视区跟踪的方式优化VR视频传输和编解码,搭建移动平台的16K VR传输和播放系统。本发明分别从VR视频切块、投影和传输策略三个方面提出解决方案。
为了实现以上目的,本发明采用的技术方案如下:
一种基于视区跟踪的16K移动平台虚拟现实视频传输方法,包括以下步骤:
对原始视频进行时间维度上的切片,获得视频时间切片;
统计不同视频时间切片上的用户观看轨迹,将其输出为观看序列向量;
对不同的观看序列向量进行聚类;
对于聚类结果中的用户聚簇n,对一个视频时间切片内的视频逐帧取所有用户视区的并集,设该并集为H;
对于用户聚簇n,根据聚簇的视区轨迹和像素的观看热度计算投影中心C
对于用户聚簇n,按照设定的网格粒度统计区域H内每个小网格区域的像素的观看热度,并选取热度阈值L
建立视频切块最优化方程,求解最优的热度阈值L
按照计算得出的投影中心C
在客户端进行用户视区预测,根据视区预测结果建立视频传输优化方程,求解得出当前应当传输的视频片段,并从服务器端对该视频片段进行下载。
进一步地,所述对不同的观看序列向量进行聚类,包括:使用欧氏距离作为度量不同观看序列向量相似性的标准,使用K-medoids聚类算法对不同的观看序列向量进行聚类。
进一步地,对于一共有f帧和q个像素的区域,所述投影中心C
其中,
进一步地,所述视频切块最优化方程为:
minimize:
subject to:(X,Y)∈{(6,12),(12,24),(15,30)}
L
其中,minimize表示最小化,F
进一步地,所述视频传输优化方程为:
maximize;Y(A′)
subject to:
B(A′)≤S
其中,Y表示由视频切块到视频客观质量的转换函数,A’表示包含于所有可用于视频传输的视频切块A的任意子集,B表示由视频切块到对应视频码率的转换函数,S表示当前的最大提供带宽,P表示用户视区内包含的视频像素,E表示由视频切块到视频像素的转换函数。
进一步地,所述视频传输优化方程为分为两步进行求解:
首先,给定一个用户的视区轨迹,首先使用已有的视频切块完整覆盖用户视区轨迹,且当动态视频切块确定时,静态视频切块覆盖用户视区像素亦唯一确定,从而确定覆盖策略;
其次,确定覆盖策略后,将该方程的求解问题转化为多重背包问题,即在有限的带宽下选取每个位置空间切块的编码质量使得客观评价质量最大,使用动态规划的方法解决该问题。
进一步地,所述进行用户视区预测,包括以下步骤:
(1)在已有的历史用户视区数据上做统计,要预测t时刻时间片段的用户视区轨迹,能够用来预测的历史数据是t-2时刻的或之前的历史视区轨迹,计算当前用户视区轨迹在t-2时刻与历史用户视区轨迹的相似性,设其为S;
(2)使用跨用户视区预测算法,在给定的带宽下分别计算同时传输最相近的1类、2类的动态视频切块所能达到的PSNR,设其分别为R
(3)使用(1)(2)中得到的数据,对每一个S,都能得到一个二元组(S,R
(4)当有新用户到达时,计算其和历史用户视区数据的相似性,再根据视区历史轨迹相似性与传输质量的关系,动态调整所传输的视区范围。
一种服务器端,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行以下操作的指令:
对原始视频进行时间维度上的切片,获得视频时间切片;
统计不同视频时间切片上的用户观看轨迹,将其输出为观看序列向量;
对不同的观看序列向量进行聚类;
对于聚类结果中的用户聚簇n,对一个视频时间切片内的视频逐帧取所有用户视区的并集,设该并集为H;
对于用户聚簇n,根据聚簇的视区轨迹和像素的观看热度计算投影中心C
对于用户聚簇n,按照设定的网格粒度统计区域H内每个小网格区域的像素的观看热度,并选取热度阈值L
建立视频切块最优化方程,求解最优的热度阈值L
按照计算得出的投影中心C
一种客户端,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行以下操作的指令:
进行用户视区预测,根据视区预测结果建立视频传输优化方程,求解得出当前应当传输的视频片段,并从权利要求8所述服务器端对该视频片段进行下载。
一种基于视区跟踪的16K移动平台虚拟现实视频传输系统,包括上述服务器端以及客户端。
本发明的有益效果是:
本发明能够在相同的带宽消耗下显著提升用户观看视频的平均质量。现有的虚拟现实视频空间切块方案将视频拆分为空间位置上完全静止的块,其空间位置和形状在一个时间分片上的持续时间内保持不变。因此,当用户移动其视区时,他的视区将横跨很多小的视频切块,并且每个视频切块仅会观看很短的时间。现有的虚拟现实视频流切块方案要求对于任一用户视区划过的区域,必须传输其整个时间片上的视频,从而导致非常严重的带宽浪费。本发明提出一种新颖的基于视区跟踪虚拟现实传输视频传输系统,将视频切分为可跟踪用户视区移动的动态视频切块,使用更少的像素覆盖用户的视区,从而显著节省带宽。本发明的主要贡献包括:(1)通过使用K-Medoids聚类算法,将相似的用户视区轨迹聚簇,通过建立最优化整数规划数学模型,在有限数量的动态视频切块下,最小化覆盖用户的视区所需带宽。(2)进一步提出基于视区跟踪的偏移中心球面投影,大幅度减少由于视区与投影中心偏移导致的投影像素畸变,提升编码和解码效率。(3)当用户视区预测不精确时,根据历史上大规模数据的预测统计结果,动态调整视频传输区域的大小,增强算法的鲁棒性,大幅度减少了性能下降。
附图说明
图1是动态视频切块和静态视频切块的对比示意图。
图2是使用动态视频切块和静态视频切块覆盖视区轨迹的示意图。
图3是偏移中心球面投影和等距柱状投影的对比示意图。
图4是当前用户视区在不同相似度情况下的不同传输策略能达到的PSNR。
图5是系统结构示意图。
图6是本发明与现有方法的缓冲比例、PSNR的比较图。
图7是本发明与现有方法的解码速度比较图。
具体实施方式
下面通过具体实施例和附图,对本发明做进一步详细说明。
本发明的数据传输及优化策略方案包括以下步骤:
(1)利用ffmpeg工具对原始视频进行时间维度上的切片,并使用x264编码器对原始视频进行五档码率的编码,将这些视频时间切片作为视频源。
(2)随机划分训练集和测试集,这里使用的训练集和测试集比例为8:2,在训练集上统计不同视频时间切片上的用户观看轨迹,将其输出为一个(帧数×1)的观看序列向量。
(3)使用欧氏距离作为度量不同观看序列向量相似性的标准,使用K-medoids对不同的观看序列向量进行聚类,将观看序列聚类为相似的N类(N常取值为5或10)。
(4)对于用户聚簇n(即N类中的某一个类),对一个视频时间切片内的视频,逐帧取该用户聚簇n的所有用户视区的并集,设该区域(即该并集)为H。
(5)对于用户聚簇n,根据用户聚簇n的视区轨迹和像素的观看热度来计算投影中心C
(6)同样对于用户聚簇n,按照设定的网格粒度(如15*30的网格粒度)统计区域H内每个小网格区域的像素的观看热度,针对像素的观看热度,选取一个热度阈值L
(7)针对(6)中的热度阈值和静态网格划分的粒度,建立最优化方程,称为视频切块优化方程,在保证视频质量不变的情况下,最小化视频消耗带宽,针对每个视频源的时间切片求解针对当前时间切片的最优的热度阈值L
(8)对测试集用户进行测试,使用跨用户视区预测算法进行用户视区预测,根据视区预测结果,使用(7)中求解并编码得出的视频,建立最优化方程,称为视频传输优化方程,在给定视区预测结果情况下,最小化覆盖用户视区所需的带宽消耗,求解得出当前应当传输的视频片段,并对该视频片段进行下载。
(9)对所下载的视频片段进行解码,并在用户的设备上进行渲染。
在上述的传输优化过程中,需要分别重点解决的是(5)、(7)、(8)中投影中心的计算、视频切块优化方程和视频传输优化方程的建立和求解。
针对(5)中偏移中心投影的计算,对于第n个视区聚簇,根据视频聚簇的视区轨迹和像素的观看热度来计算投影中心C
其中,像素的观看热度是指每个像素被用户的看过的次数,例如一个像素被该簇的三个用户看过,即像素流行度为3。
其次,给定一个视频块中的投影中心C
其中,M
最后,在一个视频时间片种,第n簇的视频T
在(7)的最优化方程中,该优化目标与热度阈值L
假设条件:对于每一个视频源,都有对应的历史观看用户,且所有历史观看用户已经被聚类为N类。
热度阈值L
静态网格划分粒度X×Y:其定义为一个二元组,代表了将整个视频按照均匀网格划分的粒度,例如6×12代表将整个视频横向切为12块,纵向切为6块,合计72块网格。
码率映射函数F
建立如下的最优化方程:
minimize:
subject to:(X,Y)∈{(6,12),(12,24),(15,30)}
L
其中,minimize表示最小化;subject to表示受限制于;n表示用户聚类的簇数,K表示热度阈值的数量,L
由于该优化方程的解空间足够小,因此我们只需要遍历所有可能的热度阈值和静态网格划分粒度X×Y组合即可求出最优解。
针对(8)的最优化方程中,该优化目标与预测用户视区和(7)中求解得出的所有切块相关。对于给定的预测用户视区,在已有的切块和限定带宽下情况下最大化用户的视频质量。
所有可用于视频传输的视频切块A:将(7)中优化方程求解的所有可能的切块的并集集合定义为A。
用户的视区所包含的像素P:我们将用户视区内包含的视频像素定义为P。
由视频切块到视频像素的转换函数E:为了表达传输视频切块和用户视区的覆盖关系,我们将从给定视频切块到对应的视频像素位置的转化函数定义为E。
由视频切块到对应视频码率的转换函数B:为了表达传输视频切块和带宽限制的关系,我们将给定视频切块到对应的视频码率的转化函数定义为B。
由视频切块到视频客观质量的转换函数Y:为了表达视频切块的客观质量,我们将视频切块到PSNR的转化函数定义为Y。
建立如下的最优化方程:
maximize;Y(A′)
subject to:
B(A′)≤S
其中,A’表示包含于所有可用于视频传输的视频切块A的任意子集;S表示当前的最大提供带宽。
为了求解这个最优化方程,直接暴力的遍历求解变得不可行,因此将这个问题拆分为两步进行求解。首先,给定一个用户的视区轨迹,首先使用已有的视频切块完整覆盖用户视区轨迹,当动态视频切块确定时,静态视频切块覆盖用户视区像素亦唯一确定(因为静态视频切块互不重叠),因此在该问题中约有32种覆盖策略(5种动态视频切块)。其次,当确定了覆盖策略,这个问题就会被转化为多重背包问题,即在有限的带宽下,如何选取每个位置空间切块的编码质量使得客观评价质量最大,使用传统动态规划的方法即可以高效的解决。图2是使用动态视频切块和静态视频切块覆盖视区轨迹的示意图。
最后针对(8)中的视区预测鲁棒性问题,由于现在的视区预测算法性能都无法达到本发明的要求,然而视区预测的错误将会对本发明的算法产生更大的影响。因而,本发明设计了一种基于用户视区相似性的动态视区传输策略,以增强算法的鲁棒性,具体的算法流程如下:
(1)在已有的历史用户视区数据上做统计,使用80%的用户作为预测所用的历史视区数据,20%的用户作为实际用做预测测试的用户,要预测t时刻时间片段的用户视区轨迹,能够用来预测的历史数据是t-2时刻的或之前的历史视区轨迹,该算法计算当前用户视区轨迹在t-2时刻与历史用户视区轨迹的相似性,设其为S。
(2)使用现有的跨用户视区预测算法,在给定的带宽下,分别计算同时传输最相近的1类、2类的动态视频切块所能达到的PSNR(Peak Signal to Noise Ratio,峰值信噪比),设其分别为R
(3)使用(1)(2)中得到的数据,对每一个S,都能得到一个二元组(S,R
(4)当有新用户到达时,计算他和历史用户视区数据的相似性,再根据图4的视区历史轨迹相似性与传输质量的关系,动态调整所传输的视区范围,例如当相似度高于70%时,选择传输一簇较为合适,当相似度低于70%时,选择传输两簇较为合适。
下面提供本发明的具体应用实例。本实例属于网络流媒体传输技术领域,具体涉及到一种改善用户观看质量的虚拟现实视频空间切块算法,在图5所示的虚拟现实流媒体视频传输系统上,进行视频的传输。在服务器端,通过对历史用户数据的统计和最优化建模,最小化未来用户观看视频所需带宽。
具体实施方式如下:
(1)在服务器端,使用ffmpeg工具对原始视频进行时间维度上的切片,并使用x264编码器对原始视频进行五档码率的编码,将这些切片作为视频源。
(2)针对(1)中所切分的视频片段,对每个视频片段的用户观看轨迹进行K-medoids聚类,使用欧氏距离作为度量不同观看序列向量相似性的标准。
(3)依据(2)中得出的聚类结果,对于聚簇n,首先,按照15*30的网格粒度统计观看热度,计算每个区域的投影中心C
(4)使用ffmpeg和x264工具按照(3)中求解得出的投影中心C
(5)在客户端,使用跨用户视区预测算法预测用户的视区轨迹,为增强鲁棒性,基于用户历史上视区相似性和给定带宽下PSNR的关系(如图4所示),动态输出1类或2类视区,例如当视区相似性较低时输出较小范围的一类视区,当视区相似性较高时输出较大范围的二类视区。
(6)根据(5)中的预测视区结果,客户端通过读取MPD文件中相关视频信息,对视频进行预取,建立最优化方程求解最优的所需传输的视频块。目标是在覆盖预测用户视区的情况下,最小化传输带宽。
(7)根据(6)中求解得出的最佳视频快,用户使用HTTP协议对视频快进行预取下载,并在本地头盔上进行渲染播放,若视频播放完毕转(8),否则转(5)。
(8)至此,虚拟现实视频传输过程结束。
本实例进行了4G LTE网络驱动的模拟实验和真机移动平台的解码实验,我们选择了公开的视频数据集,在15个VR视频,每个视频34个用户头部轨迹上进行了性能评估。如图6所示,在相同的4G LTE网络下,本实例相比于现有的各种方法降低18.5%缓冲比例,并提升了1.7dB的PSNR。如图7所示,在真实的移动平台iqoo下(CPU:骁龙855RAM:12G),在相同的硬件使用情况下,本实例相比现有的各种方法提升百分之56的解码速度,达到平均72帧每秒。
在本实例的实施方式中,视频编码切块工具为开源的ffmpeg,以及使用了编码器x264,实际进行操作时,本实例核心为切块和编码的优化方程和操作流程,可以使用任具有等效编码功能的工具,如x265,VP-8,VP-9等。
以上公开的本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,本领域的普通技术人员可以理解,在不脱离本发明的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书的实施例和附图所公开的内容,本发明的保护范围以权利要求书界定的范围为准。
- 基于视区跟踪的16K移动平台虚拟现实视频传输方法和系统
- 一种基于视联网的视频传输方法及系统