一种超高清视频编码的自适应云卸载方法与流程

文档序号:12133826

本发明涉及计算机视觉与数字图像处理领域,特别涉及一种超高清视频编码的自适应云卸载方法。



背景技术:

近些年来,随着移动设备技术的不断改进以及移动端的逐渐普及,移动端相关应用也越来越多,视频传输便是其主要方向之一。但是随着目前人们对高清视频的需求以及3D视频资源的普及,待传输的视频文件越来越大,视频下载和传输也将更费时,导致人们对编码的要求越来越高。

当前伴随着大量编码新技术的引入,超高清视频编码技术不断发展,编码效率大大提高。新一代视频编码标准HEVC是ITU-T VCEG继H.264之后所制定的新的视频编码标准,支持更加灵活的树状块划分结构、多参考帧帧间预测和更大的运动搜索范围。这些新技术的引入,实现了编码效率提升的同时,也毫无疑问地对编码器或者解码器的片内存储空间和片内外数据交互带宽提出了更高的要求。而且,编码本身算法非常复杂,移动端CPU的处理能力以及电池容量十分有限,导致在移动端上编码十分困难。

随着云计算的流行,越来越多的研究致力于将移动端的大量复杂的计算卸载到云端,用以降低移动端的功耗。移动终端通过无线网络连接到云端彼此以网络相连的分布式计算设备,将本应在本地终端进行的计算工作及数据发送到云端,由云端多个虚拟机完成计算,以降低本地终端功耗。但是,现存的云卸载的方法在卸载的同时会产生大量的功耗,而目前还没有特定的针对编码的云卸载方案。



技术实现要素:

为解决上述技术问题,本发明提出一种超高清视频编码的自适应云卸载方法,可以有效地降低移动端的功耗。

为此,本发明采用如下技术方案包括如下步骤:

A1:在移动端输入YUV视频,将某段时间内的每帧图像带入云卸载模型,得到使移动端功耗最小化的最优分配结果,即确定该时间段每帧图像是在移动端还是云端进行编码;

A2:每帧图像按照A1的分配结果在移动端或者云端利用相同的编码器对其进行编码;

A3:将移动端和云端编码后的码流进行整合,在云端输出码流。

本发明的有益效果是:在移动端输入高清视频,移动端会将视频的某段时间内的每帧图像带入云卸载模型。通过本发明提出的云卸载模型,可以直接计算得到使移动端功耗最小化的最优分配结果,即该段视频帧是在移动端还是云端编码。最后整合码流的工作也是在云端完成,而不是在客户端完成。这使得同一视频的不同时段视频帧可以同时分别在移动端和云端进行编码,提高了视频编码的效率。而且部分视频帧编码和最后整合码流的工作被分配到了云端,降低了移动端的功耗。

附图说明

图1是本发明所提出的超高清视频编码的自适应云卸载方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

图1描述了本发明所提出的超高清视频编码的自适应云卸载方法流程图,其中该方法包括以下步骤:

A1:在移动端输入YUV视频,将某段时间内的每帧图像带入云卸载模型,得到使移动端功耗最小化的最优分配结果;

云卸载模型包括对高清视频某一时间段内每帧图像的负载预测,为了提高每帧负载预测的准确性,采用基于希尔伯特变换的负载预测模型,即采用希尔伯特变换。取前一时间段的n帧的时长对应负载的点的包络,预测上一时间段负载的整体走势,提高预测的准确性,同时引入误差抑制函数来减小负载预测的误差。为保证视频播放的流畅性,每秒至少播放N帧。设定某一时间段有n帧视频被编码,其中n<N且N/n整除,则第i个时间段内的第j帧视频的编码负载可以表示为

其中,Wi'(k)是第i个时间段预测到的第k帧的负载(k=1,2,···,j-1),Wi-1(k)第i-1个时间段第k帧的实际编码负载(k=j,j+1,···,n),可表示为

其中,Ti-1,k为第i-1时间段中第k帧的实际编码时长,TM为编码过程中编码时间最长的一帧的编码时长。

其中,mean(~)表示取括号中的变量的平均值。A(j)反映上一时间段负载的整体走向,可以表示为

对于一般基于时间间隔的负载预测算法,L=3。公式(3)中G(j)可以由上一时间段i-1的负载的平均值计算得到

为G(j)的希尔伯特变换,可以表示为

其中,F(·)和F-1(·)分别为傅里叶变换和傅里叶反变换,sgn(f)表示符号函数。

对于公式(4)中,是第i-1时间段的n帧平均负载。以时长为N/n时间段为单位,第i-1个时间段内的每一帧的负载预测可以表示为

其中,Tj为第i-1时间段中第j帧的编码时长。

对于公式(1)中,en-1表示误差抑制因子。

其中,表示梯度函数,fs为给定的编码速度的限制,优选地,fs为30f/s;Fn表示在编码结束之前所处理的帧数,可写为

Fn=n×N-|n×N/fs|×fs 公式(8)

该云卸载模型还考虑移动端和云端的计算能力、移动端传输到云端的数据量的大小以及移动端和云端之间的传输速率的影响,算法包括:

针对移动端编码的云卸载模型定义为

s.t.Esum≤E′sum,

其中,为向量,n为选定时间段的帧数,如果Ii(i=1,2…,n)为1,则第i帧分配到云端进行编码,若Ii为0,则第i帧在移动端进行编码;Esum和E′sum分别表示为使用云卸载模型和未使用云卸载模型时移动端消耗的能量,可表示为

其中,Pc,Pi和Ptr分别为移动端在计算,闲置和数据传送时的功耗;f和S分别为移动端和云端的处理速度,单位为每秒的指令数;D和D'分别是使用云卸载模型和未使用云卸载模型时云端和移动端之间传输的数据量的大小,B为带宽;Cc和Cm分别为未加入云卸载模型时分配到移动端和云端的帧编码时的算法指令数;C'c和C'm分别为某一时间段使用云卸载模型时分配到移动端和云端的帧进行编码时的算法指令数;

其中,Wij(j=1,2,…,n)表示第i时间段第j帧进行编码时的负载,ft为当前设备的每秒处理速度;

当不使用云卸载模型时,传输到云端的数据量为编码后的数据。固定时间段内n帧传输的数据可表示为

D=8nγWH 公式(13)

其中,W和H分别为每一帧视频的宽度和高度;对应于YUV 420,YUV 422和YUV 444的视频,γ分别为1.5,2和3;

当使用云卸载模型时,传输到云端的数据量为

D'=D'm+Dc' 公式(14)

其中,D'm和Dc'分别为在移动端上和在云端编码时需要传输到云端的数据。对于某一时间段n帧中配到云端进行编码的帧,需要传输到云端的数据即原视频数据;

对于分配到移动端进行编码的帧,需要传输到云端的为已压缩之后的数据,设压缩后的数据约为原大小的1/K。

对于HEVC编码器,K为250;对于H.264编码器,K为100。

A2:每帧图像按照A1的分配结果在移动端或者云端利用相同的编码器对其进行编码;优选的,采用HEVC编码器或者H.264编码器。

A3:将移动端和云端编码后的码流进行整合,在云端按照编码前的顺序输出码流。

以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。

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