本发明涉及多媒体通信,具体涉及具有视口扩展的360°视频流渐进式预下载方法与系统。
背景技术:
1、随着视频传输领域相关技术与硬件设备的发展,360°视频(或称全景视频)也逐渐在教育,医疗,旅游等各行业普及。360°视频以其沉浸式体验备受欢迎,允许用户随意选择观看方向来浏览视频内容。然而,360°视频是由各个角度的视频拼接而成,在同分辨率下,360°视频的数据大小是传统2d视频的4~6倍,这降低了360°视频应对各种网络环境的鲁棒性。
2、根据人眼特性以及目前设备的配置,用户实际观看区域大约只占整个360°视频的20%,因此,只交付用户视口区域的视频可以节省大量带宽,这类方法称为依赖视口(viewport-dependent)的方法。其中用户观看区域称为视口(viewport),视口区域的中心称为视点(viewpoint)。另外,基于视频分片(tile-based)的方法将360°视频在时间域上划分为视频块chunk,在空间域上进一步将chunk划分为视频分片tile,这有助于更加灵活地提取视口区域对应的视频并下载。
3、为了保证能够及时交付并渲染出用户视口区域的视频,需要对用户未来的视口进行预测并提前下载预测视口对应的视频内容。关于视口预测,现有的工作的启发式方式多采用线性回归(linear regression,lr)、岭回归(ridge regression)(qian f,han b,xiaoq,et al.flare:practical viewport-adaptive 360-degree video streaming formobile devices[c]//proceedings of the 24th annual international conference onmobile computing and networking.2018:99-114.)、加权线性回归(weighted linearregression)(qian f,ji l,han b,et al.optimizing 360video delivery overcellular networks[c]//proceedings of the5th workshop on all things cellular:operations,applications and challenges.2016:1-6.)等方法,但是不同方法的准确度可能会受限于预测范围以及特定的用户头部运动特性。视口区域预测准确度的降低会大大影响视口区域的视频质量。另外,由于不可避免的预测误差,现有方法往往会增加视口区域周围的一部分边缘区域一起交付,但是现有方法往往根据预测误差的统计结果对称式的增加边缘区域的大小,即直接在视口左右(上下)两个方向扩展相同大小的边缘区域(yuan h,zhao s,hou j,et al.spatial and temporal consistency-aware dynamic adaptivestreaming for 360-degree videos[j].ieee journal of selected topics in signalprocessing,2019,14(1):177-193.)(jiang z,zhang x,xu y,et al.reinforcementlearning based rate adaptation for 360-degree video streaming[j].ieeetransactions on broadcasting,2020,67(2):409-423.)(kan n,zou j,li c,etal.rapt360:reinforcement learning-based rate adaptation for 360-degree videostreaming with adaptive prediction and tiling[j].ieee transactions oncircuits and systems for video technology,2021,32(3):1607-1623.)。但是由于用户的头部运动轨迹以及预测误差都是具有方向性的,现有的扩展边缘区域的方法会造成一定的带宽浪费并且缺乏对用户头部运动个性特征的考量。关于视频内容的预下载,现有的方法考虑到有限的带宽多对较长时间(一个或多个chunk持续时间)之后的视口进行预测并提前下载对应的视频分片。主要分为两种方法:预测每个chunk中心时刻的视点并下载对应视口区域的tile(sun l,duanmu f,liu y,et al.atwo-tier system for on-demandstreaming of 360degree video over dynamic networks[j].ieee journal onemerging and selected topics in circuits and systems,2019,9(1):43-57.),或者一次性预测一个或多个chunk内多个等间隔时刻的视点然后下载对应视口区域的tile(jiangz,zhang x,xu y,et al.reinforcement learning based rate adaptation for 360-degree video streaming[j].ieee transactions on broadcasting,2020,67(2):409-423.)(kan n,zou j,li c,et al.rapt360:reinforcement learning-based rateadaptation for 360-degree video streaming with adaptive prediction and tiling[j].ieee transactions on circuits and systems for video technology,2021,32(3):1607-1623.),这两种方法要么下载的tile难以覆盖整个chunk内的用户视口,要么因为过长预测范围而降低预测准确度,都会造成用户视口区域的视频质量下降。
技术实现思路
1、发明目的:本发明要解决的技术问题是:克服现有预测技术、视口边缘区域扩展技术、视频分片预下载技术的不足,提供具有视口扩展的360°视频流渐进式预下载方法系统,以提高用户视口区域的视频质量并且降低带宽消耗。
2、本发明提供了具有视口扩展的360°视频流渐进式预下载方法,包括如下步骤:
3、步骤1、视频切块与编码:对于任一360°视频,首先在时域范围内被划分为时长为tc的等长的时间块,每个时间块称为一个视频块chunk;然后每个视频块chunk在空间域上被划分为n×m个等大小的矩形片,每个矩形片称为一个视频分片tile;
4、步骤2、视口预测:用户的观看区域称为视口,视口中心称为视点,根据用户历史视点数据对未来特定时间范围的视点数据进行预测;
5、步骤3、视口区域及边缘区域界定:根据步骤2中预测的视点数据确定用户视口区域;为了弥补不可避免的预测误差的影响,需额外增加视口区域周围的边缘区域;
6、步骤4、视频分片预下载:根据步骤3中确认的视口区域和边缘区域查找存储在服务器上的视频分片并提前下载;另外,不需要预测的背景流被分配带宽提前单独下载;
7、步骤5、视频渲染:渲染提前下载的视频分片并生成最终的用户视口区域对应的播放视频。
8、步骤1中,每个视频分片tile在编码时采用同一较低的量化参数qp(本发明设置qp=29),代表高质量的视频流;另外,每个视频块chunk将会另外编码,存储一个低分辨率版本(本发明设置其分辨率为1920×1832),称为背景流,代表低质量的视频流。另外,本实验设置tc为1s,n×m为16×8,tc,n,m,qp以及背景流分辨率可根据情况自行设置。
9、步骤2中,选择两种预测方法,分别是简单指数平滑ses方法和线性回归lr方法,并为两种预测方法设计了一种竞争机制,通过比较两种预测方法对最后几个样本点的累计预测误差来实时选择其中一种预测算法,具体包括:
10、记当前时刻t对应的视点为vp(t),对于简单指数平滑ses方法,如公式(1)所示,采用vp(t)和上一个视点采集时刻t-ε时的预测值的加权平均来计算下一视点采集时刻t+ε时的预测值
11、
12、参数ε与视点采集频率有关,本发明中ε=10ms,其中按照相同的规则迭代得到,初次迭代时,γ是预设参数,本发明中γ=0.7;
13、对于线性回归lr方法,计算出每相邻两个历史视点数据对应的瞬时速度,利用线性回归lr技术将瞬时速度进行拟合,并预测用户在时刻的视点瞬时速度然后通过公式(2)得到用户在t+δ时刻的预测视点
14、
15、其中δ与实际决策中的预测范围有关,是一个实时变化的值。
16、通过将用户历史2s的视点数据(共计200个样本),分别采用两种预测方法计算最后四个样本的累计预测误差,最终选择累计预测误差最小的方法作为下一时刻的预测方法,并生成未来特定时刻的预测值vpp0。
17、步骤3中,根据历史预测误差和历史用户头部运动速度确定边缘区域的大小和方向:记在时刻t真实的用户视点为yt代表用户视点在与地面水平方向上的位置,范围为0~2π(或-π~π),pt代表用户视点在与地面垂直方向上的位置,范围为(或0~π),预测的用户视点为则预测误差向量和用户头部运动速度向量计算公式为:
18、
19、定义e(xn,l,γ)为从样本点xn起共l个历史值的简单指数平滑结果,并且平滑系数为γ,则定义视点修正向量为:
20、
21、其中和分别代表从当前时刻t起共lv个历史值的指数平滑结果和从当前时刻t起共le个历史值的指数平滑结果;公式(4)与公式(5)中的参数k与当前的预测范围相等,单位为ms。
22、因为用户极有可能朝着速度方向移动,因此在计算视点修正向量时以速度方向为准。在本发明中,lv=5,le=10,γv=γe=0.7,这些参数可根据需要进行调整。本发明实施中,当与的历史值个数不足5或10时,取其目前所有历史值的指数平滑结果。
23、步骤3中,由步骤2得到的原始预测视点p0(即步骤2中预测值vpp0)经视点修正向量修正后的视点p1,p1相对于p0对应的额外的视频分片tile即为增加的边缘区域部分,p0对应的即为视口区域;随后,将下载p0与p1对应区域的视频分片tile的并集。
24、步骤4中,设计一个渐进式预下载机制,在带宽充足的条件下能够在第i个视频块chunki的播放过程中根据最新视口数据增补chunki播放期间所需要的未下载的视频分片tile:
25、越接近每个视频块chunki的结尾时间由于最新增补的视频分片tile而可能获益的帧数越少,因此,在当前时刻t引入参数αt:
26、
27、如果在时刻t需要增补视频块chunki的第j批次下载的n(i,j)个视频分片tile,则仅从服务器预取n′(i,j)=n(i,j)×αt个视频分片tile;根据视频分片tile的中心与视点的直线距离将需要下载的tile进行排序,因为距离视点越远的tile在视口中的占比面积越小,所以优先舍弃更加远离视点的视频分片tile;
28、第i个视频块chunki第一批次对应的预估下载时间di以及后续第j批次对应的预估下载时间d(i,j)为:
29、
30、其中,表示上一个视频块chunki-1下载的视频分片tile总数目,表示当前chunki的大小,n′(i,j-1)表示当前视频块chunki上一批次下载的视频分片tile数目;drtt和drend分别代表往返时延(round-trip time,rtt)和渲染延迟,bandwidth代表带宽大小;此处的预估下载时间也对应下一次的预测范围,即预测未来多久之后的视点。
31、对于每次下载,记当前时刻为t,第i+1个视频块chunki+1的起始播放时刻为t,如果t+di+d(i,j)>t,则下载下一个视频块chunki+1对应的视频分片tile,否则,下载当前视频块chunki对应的视频分片tile;为预估时间di增加了20ms冗余时间来避免预估不准造成的视频卡顿,该冗余时间可根据情况自行调整。
32、步骤4中,每个视频块chunk对应的低质量、不需要预测的背景流被分配带宽提前单独下载来避免视口区域出现空洞;高质量的tile采取渐进式预下载机制进行下载。
33、本发明还提供了具有视口扩展的360°视频流渐进式预下载系统,采用所述的方法实现,包括预处理模块、视频流决策模块和视口视频生成模块。
34、所述预处理模块首先将360°视频切块编码,并将每个视频分片的编号、大小、分辨率信息存储到服务器,供后续模块请求;
35、所述视频流生成模块根据用户头部运动轨迹决定将要下载的视频分片的时刻和编号并下载;具体用户头部运动轨迹先经视口预测得到未来一定时刻的视点信息,然后根据视点信息确定视口区域及边缘区域并将对应的视频分片采用渐进式下载方式下载;其中渐进式预下载会生成视口预测方法中下一次的预测范围信息;
36、所述视口视频生成模块将下载的视频流渲染生成最终用户真实视口区域播放的视频。
37、本发明还提供了一种电子设备,包括处理器和存储器,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行所述的方法的步骤。
38、本发明还提供了一种存储介质,存储有计算机程序或指令,当所述计算机程序或指令在计算机上运行时,执行所述的方法的步骤。
39、有益效果:本发明根据用户历史头部运动速度以及历史的预测误差信息来确定视口的边缘区域。与现有技术中在视口区域周围对称分布的边缘区域相比,本发明利用了用户历史头部运动速度以及历史的预测误差的方向性,精确了边缘区域的分布范围,减少了带宽浪费。
40、此外,本发明提出一种渐进式下载机制。通过对未来的下载时间进行估计来确定预测范围以及下载的tile的数目,并且根据预估的下载时间判断下载下一个chunk的时机。这不仅缩短了预测范围,提高了预测精度,在带宽充足的情况下,也能在当前chunk播放期间的实时增补当前chunk所需要的tile,更加贴和用户的实际头部运动轨迹,提高用户视口区域的视频质量。
1.具有视口扩展的360°视频流渐进式预下载方法,其特征在于,包括以下步骤:
2.如权利要求1所述的方法,其特征在于,步骤1中,每个视频分片tile在编码时采用同一较低的量化参数qp,代表高质量的视频流;另外,每个视频块chunk将会另外编码,存储一个低分辨率版本,称为背景流,代表低质量的视频流。
3.如权利要求2所述的方法,其特征在于,步骤2中,选择两种预测方法,分别是简单指数平滑ses方法和线性回归lr方法,并为两种预测方法设计了一种竞争机制,通过比较两种预测方法对最后几个样本点的累计预测误差来实时选择其中一种预测算法,具体包括:
4.如权利要求3所述的方法,其特征在于,步骤3中,根据历史预测误差和历史用户头部运动速度确定边缘区域的大小和方向:记在时刻t真实的用户视点为yt代表用户视点在与地面水平方向上的位置,pt代表用户视点在与地面垂直方向上的位置,预测的用户视点为则预测误差向量和用户头部运动速度向量计算公式为:
5.如权利要求4所述的方法,其特征在于,步骤3中,由步骤2得到的原始预测视点p0经视点修正向量修正后的视点p1,p1相对于p0对应的额外的视频分片tile即为增加的边缘区域部分,p0对应的即为视口区域;随后,将下载p0与p1对应区域的视频分片tile的并集。
6.如权利要求5所述的方法,其特征在于,步骤4中,设计一个渐进式预下载机制,在带宽充足的条件下能够在第i个视频块chunki的播放过程中根据最新视口数据增补chunki播放期间所需要的未下载的视频分片tile:
7.如权利要求6所述的方法,其特征在于,步骤4中,高质量的tile采取渐进式预下载机制进行下载。
8.具有视口扩展的360°视频流渐进式预下载系统,采用如权利要求1~7任一项所述的方法实现,其特征在于,包括预处理模块、视频流决策模块和视口视频生成模块;
9.一种电子设备,包括处理器和存储器,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的方法的步骤。
10.一种存储介质,其特征在于,存储有计算机程序或指令,当所述计算机程序或指令在计算机上运行时,执行如权利要求1至7中任一项所述的方法的步骤。
