本申请涉及移动通信
技术领域:
,尤其涉及一种基于可伸缩视频编码技术的视频传输方法及装置。
背景技术:
:随着移动互联网的发展,移动视频业务逐渐成为人们生活中的一部分。为了获得良好的用户体验,需要不断提升移动视频业务的视频质量,但更高的视频质量往往会带来更多的能耗。为了在提升视频质量的前提下降低能耗,现有技术提供了一种可伸缩视频编码(英文:ScalableVideoCoding,SVC)技术。SVC技术通过将视频信号进行分层,且在视频传输过程中的不同时刻采用不同层的视频数据,并对当前正在传输的那一层视频数据进行编码,以实现在不同的信道环境下,能够传输不同质量的视频。其中,每层视频数据的质量不同,可以根据信道质量来选择当前时刻所能承载的最高质量的视频数据进行传输。由于较高质量的视频的编码时间较长,且编码能耗与编码时间正相关,因此,在高质量的那一层视频数据进行编码时便会产生更多的能耗,也就意味着,在实际传输过程中,虽然传输适应当前信道环境的最高质量的视频能够为用户提供更好的观看体验,但高质量的那一层视频数据经编码后在传输过程中也同样需要产生与编码能耗等量的能耗,即高质量的视频在传输过程中产生大量能耗。技术实现要素:本申请提供一种基于可伸缩视频编码技术的视频传输方法及装置,能够在保证用户体验的情况下,降低视频传输过程中产生的能耗。为达到上述目的,本申请采用如下技术方案:第一方面,本申请提供一种基于可伸缩视频编码技术的视频传输方法,所述方法包括:获取每层视频的峰值信噪比,并从峰值信噪比与视频质量评估结果之间的映射关系中,查找与所述峰值信噪比对应的视频质量评估结果,所述峰值信噪比用于表示单层视频在播放过程中的最大预测功率与噪声功率的比值;设置播放时间集合,所述播放时间集合中的每组播放时间的总时长为所述至少两层视频中所有层视频播放总时长,所述所有层视频播放总时长与所述视频的播放总时长相同;根据所述视频质量评估结果和每组播放时间,确定每组播放时间对应的整体视频质量;将整体视频质量大于参考阈值的播放时间,确定为待选播放时间;将所述待选播放时间中视频整体能耗最低的待选播放时间,确定为指定播放时间,并按照所述指定播放时间播放所述视频。第二方面,本申请提供一种基于可伸缩视频编码技术的视频传输装置,所述装置包括:获取模块,用于获取每层视频的峰值信噪比,并从峰值信噪比与视频质量评估结果之间的映射关系中,查找与所述峰值信噪比对应的视频质量评估结果,所述峰值信噪比用于表示单层视频在播放过程中的最大预测功率与噪声功率的比值;设置模块,用于设置播放时间集合,所述播放时间集合中的每组播放时间的总时长为所述至少两层视频中所有层视频播放总时长,所述所有层视频播放总时长与所述视频的播放总时长相同;确定模块,用于根据所述获取模块获取的所述视频质量评估结果和所述设置模块设置的每组播放时间,确定每组播放时间对应的整体视频质量;所述确定模块,还用于将整体视频质量大于参考阈值的播放时间,确定为待选播放时间;所述确定模块,还用于将所述待选播放时间中视频整体能耗最低的待选播放时间,确定为指定播放时间;播放模块,用于按照所述确定模块确定的所述指定播放时间播放所述视频。本申请提供的基于可伸缩视频编码技术的视频传输方法及装置,相比较于现有技术中为了为用户提供更好的观看体验,只传输适应当前信道环境的最高质量的视频的传输方法,本申请可以确定同一段完整的视频所对应的多组播放时间构成的集合,其中,每组播放时间对应的播放方式中的每层视频均采用可伸缩编码技术编码。在确定每组播放时间后,可以确定每组播放时间对应的整体视频质量和视频整体能耗,之后选取大于参考阈值的整体视频质量对应的播放时间作为待选播放方案,再从待选播放方案中选取视频整体能耗最低的播放时间作为最终播放方案,以最终播放方案播放视频。按照这样确定的每层视频的播放时间播放视频,既能为用户提供较优的视频质量从而满足用户的观看需求,还能降低视频传输过程中产生的能耗。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为本发明实施例提供的一种基于可伸缩视频编码技术的视频传输方法的流程图;图2至图5为本发明实施例提供的另一种基于可伸缩视频编码技术的视频传输方法的流程图;图6为本发明实施例提供的一种基于可伸缩视频编码技术的视频传输装置的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。本发明实施例可以用于一种基于可伸缩视频编码技术的视频传输方法,该方法应用于诸如服务器等的网络设备。如图1所示,该方法流程包括:步骤101、获取每层视频的峰值信噪比,并从峰值信噪比(英文:Peak-signal-to-noiseratio,PSNR)与视频质量评估结果之间的映射关系中,查找与峰值信噪比对应的视频质量评估结果。其中,峰值信噪比用于表示单层视频在播放过程中的最大预测功率与噪声功率的比值。需要说明的是,用视频的平均意见得分(英文:MeanOpinionScore,MOS)作为视频质量评估结果。服务器根据均方误差(英文:meansquarederror,MSE)和比特速率之间的关系O=κR-μ和PSNR与MSE之间的关系确定PSNR与比特速率之间的关系PSNR=alogR+b,其中,O表示MSE,R表示比特速率,κ、a和b均为实数,a和b的值与视频内容有关,可以通过训练得到。PSNR和MOS之间的映射关系为其中,α、ξ、β和γ均为实数,α、ξ、β和γ的值可以根据视频内容确定,不同的视频内容对应不同的α、ξ、β和γ的值,上述这些参数可以由经验值来设定。上述映射关系也可以用表格的形式显示,如下表一所示:表一PSNR(dB)MOS≥37531-36.9425-30.9320-24.92≤19.91步骤102、设置播放时间集合。其中,播放时间集合中的每组播放时间的总时长为至少两层视频中所有层视频播放总时长,所有层视频播放总时长与视频的播放总时长相同。需要说明的是,可以根据视频的播放总时长,确定无数组播放时间。步骤103、根据视频质量评估结果和每组播放时间,确定每组播放时间对应的整体视频质量。步骤104、将整体视频质量大于参考阈值的播放时间,确定为待选播放时间。需要说明的是,参考阈值为能够保证用户体验的最低整体视频质量,当视频的整体视频质量小于或等于参考阈值时,上述视频的播放过程中可能出现卡顿等问题,从而导致用户的观看体验较差。步骤105、将待选播放时间中视频整体能耗最低的待选播放时间,确定为指定播放时间,并按照指定播放时间播放视频。本发明实施例可以确定同一段完整的视频所对应的多组播放时间构成的集合,其中,每组播放时间对应的播放方式中的每层视频均采用可伸缩编码技术编码。在确定每组播放时间后,可以确定每组播放时间对应的整体视频质量和视频整体能耗,之后选取大于参考阈值的整体视频质量对应的播放时间作为待选播放方案,再从待选播放方案中选取视频整体能耗最低的播放时间作为最终播放方案,以最终播放方案播放视频。按照这样确定的每层视频的播放时间播放视频,既能为用户提供较优的视频质量从而满足用户的观看需求,还能降低视频传输过程中产生的能耗。为了保证服务器传输的视频质量不影响用户体验,在本发明实施例的一个实现方式中,需要确定每组播放时间对应的视频质量。因此,在如图1所示的实现方式的基础上,还可以实现为如图2所示的实现方式。其中,步骤103根据视频质量评估结果和每组播放时间,确定每组播放时间对应的整体视频质量,还可以具体实现为步骤1031:步骤1031、根据公式计算每组播放时间对应的整体视频质量。其中,i为大于或等于1的正整数,用于表示视频层数,ti为第i层视频的播放时间,T为视频播放总时长,Q为每组播放时间对应的整体视频质量,MOSi(t)为第i层视频的视频质量评估结果。本发明实施例通过根据在现有技术中容易得到的视频质量评估结果和每组播放时间,能够通过计算得到每组播放时间对应的整体视频质量,这样便能够对视频的整体视频质量进行量化评估,提高了整体视频质量评估的准确性。为了保证在视频传输过程中产生较低的能耗,在本发明实施例的一个实现方式中,需要先确定视频整体能耗,因此,在如图1或图2所示的实现方式的基础上,以图1为例,还可以实现为如图3所示的实现方式。其中,在执行步骤103在根据视频质量评估结果和每组播放时间,确定每组播放时间对应的整体视频质量之后,还可以执行步骤104至步骤106:步骤106、根据公式得到Lt=r·n(Ba+Bb)+τ。其中,Ft为每层视频的视频帧的编码时间,n为视频帧中宏块数量,B为视频帧中每个宏块的编码时间,Ba为每个宏块的必要编码时间,Bb为每个宏块的非必要编码时间,Lt为每组播放时间对应的每层视频的编码时间,r为每层视频的帧速率,τ为在播放过程中视频从视频的一层转换到另一层所需的转换时间。需要说明的是,在采用SVC技术编码视频时,一个编码图像由若干个宏块组成,一个宏块由一个亮度像素块和附加的两个色度像素块组成。在一般情况下,亮度块为16×16大小的像素块,而两个色度图像像素块的大小根据其所在编码图像的采样格式确定。在每个编码图像中,若干宏块被排列成片的形式。SVC技术以一个宏块为单位,逐个对每个宏块进行编码,这样便组织成连续的视频码流。此外,每个宏块的编码时间一般分为必要编码时间和非必要编码时间。必要编码时间一般是每个宏块在编码时都需耗费的时间,在必要编码时间中主要对宏块的主要信息进行编码,而非必要编码时间则根据宏块额外编码的内容确定,例如,将一些离散余弦变换(英文:DiscreteCosineTransform,DCT)编码所需要耗费的时间。步骤107、根据公式得到Lt=cR+drP+τ。其中,P为视频帧的像素数目。需要说明的是,c为一个常量。步骤108、确定视频整体能耗为由于视频的编码能耗和传输能耗的数值相等,因此在本发明实施例中,服务器根据视频的编码能耗确定视频传输时的视频整体能耗,由于视频的编码能耗可以利用已知的参数进行计算,这样便能够将视频整体能耗量化表示,之后可以将每两组的播放时间对应的视频整体能耗的数值作对比,以确定较低视频整体能耗对应的播放时间,从而提高了确定较低视频整体能耗时的准确度。为了确定能够保证用户体验的视频质量和最低能耗,在在本发明实施例的一个实现方式中,需要求取整体视频质量和视频整体能耗之间的效用函数的最优解,因此,在如图3所示的实现方式的基础上,还可以实现为如图4所示的实现方式。其中,在执行完步骤108确定视频整体能耗为之后,还可以执行步骤109至步骤111:步骤109、根据信道质量确定质量权重为x,能耗权重为y。需要说明的是,0<x<1、0<y<1且x和y时刻满足x+y=1。当视频在一定信道质量的环境下传输时,x和y是常量;在信道质量发生变化的过程中,x和y也随信道质量的变化改变。步骤110、确定M=max{f(Q,PT)}为整体视频质量和视频整体能耗之间的效用函数。其中,需要说明的是,上述效用函数的含义为求解在较低视频整体能耗时的较大整体视频质量。整体视频质量和视频整体能耗之间的效用函数具有约束条件,上述约束条件为其中,Ethreshold为视频的传输能耗的最大阈值,Qmin为在能够保证用户体验时视频质量的最小阈值。步骤111、利用拉格朗日乘子算法和粒子群算法(英文:ParticleSwarmOptimization,PSO),确定每组播放时间对应的粒子的最佳位置pu=(t1,t2,...,ti,ti+1,ti+2,ti+3),将t1、t2、…、ti分别作为第一层视频至第i层视频的指定播放时间,并按照指定播放时间播放视频。需要说明的是,可以将求解较低的视频整体能耗和对应的较高的整体视频质量作为多目标决策问题,即包含有多于一个决策者希望达到的目标的决策问题。首先将整体视频质量和视频整体能耗之间的效用函数及约束条件变换为:之后将上述变换后的效用函数利用拉格朗日乘子算法表示为:其中,通过拉格朗日乘子算法,可以将上述问题转化为无约束优化求解问题,进而利用粒子群算法求解较低视频整体能耗和对应的较高整体视频质量。粒子群算法的原理为初始化一群粒子,然后通过迭代找到最优解。在每一次迭代过程中,粒子通过跟踪两个“极值”来更新自己的位置和速度,其中一个“极值”为粒子本身所找到的最优解,这个解被称为个体极值,另一个“极值”为整个粒子群目前找到的最优解,这个解被称为全局极值。在使用粒子群算法进行求解时,设定V表示i+1维搜索空间,f:V→ti表示目标函数,N表示粒子数量,在V中,粒子的位置xu、速度vu和适应性值fitnessu表示如下:vu=(vu1,vu2,...,vui,vu(i+1),vu(i+2),vu(i+3))fitnessu=f(xu1,xu2,...,xui,xu(i+1),xu(i+2),xu(i+3))u=1,2,...,N其中,u表示粒子数量。当采用粒子群算法确定最优解时,粒子每经过一次迭代,便寻找到一个新的位置并获得一个新的速度。因此,需要进行速度和位置的更新。其中,xu和vu按照如下的公式进行更新:vud=wvud+c1r1(pud-xud)+c2r2(pgd-xud)xud=xud+vud其中,c1和c2为表示认知参数和社会参数的常量,通常c1=c2=2,r1和r2为取值在0到1之间的随机数,w为平衡粒子的全局搜索和局部搜索能力的常量,且0<w<1,pud为个体极值,pgd为全局极值。最终,可以获取到粒子的最佳位置:拉格朗日乘子算法和粒子群算法为现有技术,求取粒子最佳位置的具体过程在此不做赘述。本发明实施例引入了拉格朗日乘子算法和粒子群算法,根据上述算法对整体视频质量和视频整体能耗之间的效用函数进行变换和求解,能够在无数组播放时间中,直接确定较低的视频整体能耗和对应的较高的视频质量,这样便无需逐一计算无数组播放时间中每组播放时间的整体视频质量和视频整体能耗,再进行较高整体视频质量和较低视频整体能耗的判断,减少了计算量,从而降低了服务器的负载。为了能够使视频传输过程中一直保持较低的能耗,在本发明实施例的一个实现方式中,需要根据信道质量的变化改变每层视频的播放时间,因此,在如图1或图4所示的实现方式的基础上,以图1为例,还可以实现为如图5所示的实现方式。其中,在执行完步骤105按照指定播放时间播放视频之后,还可以执行步骤112和步骤113:步骤112、根据信道质量的变化情况确定x和y的值。例如,可以将信道质量由差到好分为第一信道质量、第二信道质量、第三信道质量、第四信道质量和第五信道质量,将第三信道质量对应的x和y的值均确定为0.5。由于x+y=1,因此,当信道质量变好时,如由第一信道质量变为第二信道质量,若y的值增加e,那么x的值相应减少e,当网络质量变差时,如由第三信道质量变为第二信道质量,若x的值增加e,那么y的值相应减少e,其中,e是经验值,且e>0。步骤113、若x和y的值发生变化,则重新确定视频中未播放视频的每层视频的播放时间,并按照未播放视频的每层视频的播放时间播放视频。当x和y的值改变后,整体视频质量和视频整体能耗之间的效用函数也发生改变,相应的在对上述效用函数进行求解时,最优解的值也发生改变,这样便可以根据重新确定出的每层视频的播放时间播放未播放的视频。本发明实施例可以根据信道质量的变化情况,调整未播放视频的每层视频的播放时间,即在信道质量变好时,增加较高质量的视频的播放时间,虽然较高质量的视频的播放时间增加,但由于仍然播放较低质量的视频,不会产生过大的能耗;在信道质量变差时,减少较高质量的视频的播放时间,虽然较高质量的视频的播放时间减少,但用户仍能观看到完整的较低质量的视频,保证了用户的观看体验。本发明实施例提供一种基于可伸缩视频编码技术的视频传输装置1,该视频传输装置1用于执行如图1至图5所示的任意一项方法流程,如图6所示,该视频传输装置1包括:获取模块2,用于获取每层视频的峰值信噪比,并从峰值信噪比与视频质量评估结果之间的映射关系中,查找与峰值信噪比对应的视频质量评估结果,峰值信噪比用于表示单层视频在播放过程中的最大预测功率与噪声功率的比值。设置模块3,用于设置播放时间集合,播放时间集合中的每组播放时间的总时长为至少两层视频中所有层视频播放总时长,所有层视频播放总时长与视频的播放总时长相同。确定模块4,用于根据获取模块2获取的视频质量评估结果和设置模块3设置的每组播放时间,确定每组播放时间对应的整体视频质量。确定模块4,还用于将整体视频质量大于参考阈值的播放时间,确定为待选播放时间。确定模块4,还用于将待选播放时间中视频整体能耗最低的待选播放时间,确定为指定播放时间。播放模块5,用于按照确定模块4确定的指定播放时间播放视频。在本发明实施例的一个实现方式中,该视频传输装置1还包括:计算模块6,用于根据公式计算每组播放时间对应的整体视频质量,其中,i为大于或等于1的正整数,用于表示视频层数,ti为第i层视频的播放时间,T为视频播放总时长,Q为每组播放时间对应的整体视频质量,MOSi(t)为第i层视频的视频质量评估结果。在本发明实施例的一个实现方式中,计算模块6,还用于根据公式得到Lt=r·n(Ba+Bb)+τ,其中,Ft为每层视频的视频帧的编码时间,n为视频帧中宏块数量,B为视频帧中每个宏块的编码时间,Ba为每个宏块的必要编码时间,Bb为每个宏块的非必要编码时间,Lt为每组播放时间对应的每层视频的编码时间,r为每层视频的帧速率,τ为在播放过程中视频从视频的一层转换到另一层所需的转换时间。计算模块6,还用于根据公式得到Lt=cR+drP+τ,其中,P为视频帧的像素数目。确定模块4,还用于确定视频整体能耗为在本发明实施例的一个实现方式中,确定模块4,还用于根据信道质量确定质量权重为x,能耗权重为y。确定模块4,还用于确定M=max{f(Q,PT)}为计算模块6计算的整体视频质量和视频整体能耗之间的效用函数,其中,确定模块4,还用于利用拉格朗日乘子算法和粒子群算法,确定每组播放时间对应的粒子的最佳位置pu=(t1,t2,...,ti,ti+1,ti+2,ti+3),将t1、t2、…、ti分别作为第一层视频至第i层视频的指定播放时间。播放模块5,还用于按照确定模块4确定的指定播放时间播放视频。在本发明实施例的一个实现方式中,确定模块4,还用于根据信道质量的变化情况确定x和y的值。确定模块4,还用于当x和y的值发生变化时,重新确定视频中未播放视频的每层视频的播放时间。播放模块5,还用于按照确定模块4确定的未播放视频的每层视频的播放时间播放视频。本发明实施例可以确定同一段完整的视频所对应的多组播放时间构成的集合,其中,每组播放时间对应的播放方式中的每层视频均采用可伸缩编码技术编码。在确定每组播放时间后,可以确定每组播放时间对应的整体视频质量和视频整体能耗,之后选取大于参考阈值的整体视频质量对应的播放时间作为待选播放方案,再从待选播放方案中选取视频整体能耗最低的播放时间作为最终播放方案,以最终播放方案播放视频。按照这样确定的每层视频的播放时间播放视频,既能为用户提供较优的视频质量从而满足用户的观看需求,还能降低视频传输过程中产生的能耗。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:Read-OnlyMemory,ROM)或随机存储记忆体(英文:RandomAccessMemory,RAM)等。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域:
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。当前第1页1 2 3