说明书一种基于视频质量预测的SVC视频传输调度方法
技术领域
本发明涉及视频编码与传输领域,特别涉及一种基于视频质量预测的SVC视频传输调度方法。
背景技术
视频媒体因其生动、形象的表现形式越来越多地被用在信息传播、娱乐以及网络社交中。当前视频应用产生的网络流量已经远大于文本、图片等媒体产生的网络流量,在移动互联网兴起之后,视频流量在移动互联网流量中的占比也超过70%。因网络带宽资源和链路质量等因素的限制,视频数据在传输过程中有可能产生丢包或时延,较大时延后收到的视频数据也相当于丢包;无线网络中低带宽资源、不稳定性的链路质量的状况尤其突出。因视频压缩采用了预测编码,数据的丢失将在接收端视频解码时产生错误传递,视频的质量可能会受到严重影响,导致用户的体验下降。
可伸缩视频编码(Scalable Video Coding,SVC)与其他的非可伸缩视频编码相比更能适应带宽资源受限的网络。采用分层编码结构的SVC在时间、空间和质量三个维度上都具有可伸缩性,即每个维度上有一个基本层和多个增强层;它可以将一个视频源编码成一个包含多个子流的SVC视频流,不同的时间增强层、质量增强层和空间增强层的组合对应不同的子流,其中每一个子流都能解码出一个视频,只是解码视频在时间、空间或质量的分辨率上有差别而已。SVC的可伸缩特性使得编码后视频对受限的信道资源有更好的适应性,即可以在发送端或接收端的指导下调整发送的视频流量;视频的抗丢包能力也更加突出,即部分高层数据丢失的情况下,用接收到的视频数据仍可以重构出一个低质量版本的视频。
SVC视频对适应信道资源受限、链路不稳定的网络有天然的优势;另外通过对SVC视频的传输进行调度仍能较大幅度地提升接收视频质量。当信道资源充足时可以发送较多的视频数据,充分利用信道资源优化接收视频的质量;当信道资源匮乏时,可以优先发送那些保证基本的视频播放的数据,接收视频在播放流畅性和清晰度上也得到了平衡。更进一步地,通过预测所发送数据在通过信道传输之后将在接收端呈现的视频质量,以这个预测质量来调整并选择最优的SVC数据发送方案,可以达到进一步优化接收视频质量的目的。
视频传输中的视频质量预测的准确性直接影响着调度的有效性。接收视频质量预测值是发送调度方案选择的指导指标,最大化接收视频质量的预测值即是SVC视频发送调度的目标。如果视频质量预测方法准确,所选出的能最大化接收视频质量预测值的调度方案将是合理的;而如果视频质量预测方法本身就不够准确,那么所选择的任何发送调度优化方案都将失去其意义。
发明内容
本发明的目的在于克服现有技术中的视频数据调度方法所基于的视频质量预测方法不准确所存在的缺陷,从而提供一种计算复杂度较低、预测准确性较高的视频数据调度方法。
为了实现上述目的,本发明提供了一种基于视频质量预测的SVC视频传输调度方法,包括:
步骤1)、为待传输的SVC视频数据在多个展开点各自离线准备一套用于视频质量预测的参数;所述参数包括视频质量与视频数据、数据丢失率之间的函数在一展开点做泰勒展开后所得到的常数项参数、一次项参数以及二次项参数;
步骤2)、利用步骤1)所得到的参数预测SVC视频数据被接收到时的视频质量,以决定SVC视频数据中有哪些视频数据被发送。
上述技术方案中,所述步骤1)进一步包括:
在一个展开点p′m附近做泰勒展开,依次按如下方式计算常数项参数、一次项参数以及二次项参数,其中,m∈[1,NF],NF为待传输SVC视频数据的总体质量分层数:
计算常数项参数:一段待传输的SVC视频数据包括多个图像组,每个图像组包括帧,其中NT为待传输SVC视频数据的时间分层数;在每一帧中都保留质量层不高于m的那些NALU,更高层的NALU直接剔除;然后对一个图像组中保留下来的数据进行解码,并计算这些帧的PSNR,然后将这帧的PSNR相加作为该图像组的常数项参数f(p′m);其中,表示当一个视频图像组中的所有的NALU的丢失概率分布为p′m时所对应的图像组质量;
计算一次项参数包括:一个图像组包括帧,每帧包括NF个NALU,为每个NALU都计算一个一次项参数;在计算一次项参数时,首先将一个图像组的每一帧 中那些质量层不高于m的那些NALU保留下来,更高层的NALU直接剔除;如果索引为k的NALU属于更高的质量层且已经被剔除,则直接分配一次项参数为0;如果索引为k的NALU质量层不高于m且仍然在保留数据中,则将其剔除;然后对保留下来的数据进行解码并计算这些帧的PSNR,然后将这帧的PSNR相加即为中间参数βk_1_1,其中βk_1_1表示当图像组中只有索引为k的NALU丢失时解码后视频的质量;进一步计算βk_1_2,βk_1_2表示当图像组中所有的NALU都被成功接收时解码后视频的质量,因此βk_1_2=f(p′m);由f(p′m)-βk_1_1计算索引为k的NALU的一次项参数βk_1;
计算二次项参数包括:一个图像组包括帧,每帧包括NF个NALU,为每个NALU计算一个二次项参数;所述二次项参数表示为βk_2,而βkk‾_2=βkk‾_2_1-βkk‾_2_2-βkk‾_2_3+βkk‾_2_4,]]>其中,表示当图像组中只有索引为k的NALU丢失时解码后视频的质量,该参数与计算一次项参数所得到的中间参数βk_1_1一一对应;表示当图像组中只有索引为的NALU丢失时解码后视频的质量,该参数由中间参数得到;表示当图像组中所有的NALU都被成功接收时解码后视频的质量,表示当图像组中索引为k和的NALU都丢失时解码后视频的质量,具体来说当索引为k和的NALU之间没有依赖关系时,βkk‾_2_1=βkk‾_2_2+βkk‾_2_3+βkk‾_2_4,]]>当索引为k和的NALU之间存在强依赖关系时,当索引为k和的NALU之间存在弱依赖关系时,近似认为等于
上述技术方案中,所述展开点p′m中的元素p′k的取值如下面的公式所示:
pk′=0,k/2NT-1≤m1,k/2NT-1>m.]]>
上述技术方案中,所述的步骤2)包括:
从待传输的SVC视频数据的每一图像组中选取多个质量分层的数据并发送;
或从待传输的SVC视频数据的每一图像组中按索引顺序选取多个NALU的组合并发送。
上述技术方案中,所述从待传输的SVC视频数据的每一图像组中选取多个质量分层的数据并发送具体包括:
步骤201)、由待传输的SVC视频数据的图像组的总的质量分层数从步骤1)所得到的参数中选取与该总的质量分层数相对应的展开点附近做泰勒展开所得到的参数,包括常数项参数f(p′m)、一次项参数βk_1、二次项参数βk_2;
步骤202)、在已有信道资源的情况下,假设待传输的SVC视频数据的图像组中有r个质量分层的数据被发送,r的初始值为1,采用下列公式预测被接收到时的视频质量:
E(Q)=f(p)≈f(pm′)-Σk=1NNpk·(βk_1-12!pk·Σk‾=1NN·βkk‾_2)=f(pm′)-Σk=1NNpk·(βk_1-12!pk·βk_2)]]>
其中,其中NT为SVC视频中的总的时间分层数,NF为SVC视频中的总的质量分层数;pk为索引为k的NALU在传输中丢失的概率;p′m为对应的展开点,其实质等于p′r;
步骤203)、将r的值加1,然后重新执行步骤202),直到预测视频质量的值达到第一个峰值,此时r对应的层数即为最优发送层数;
步骤204)、从待传输的SVC视频数据中选取该最大预测值所对应的质量分层数即r层的数据并发送。
上述技术方案中,所述从待传输的SVC视频数据的每一图像组中按索引顺序选取多个NALU的组合并发送具体包括:
步骤211)、在待传输的SVC视频数据的图像组中,按NALU的索引顺序依次选取一个之前未处理的NALU;
步骤212)、判断当前所选取的NALU所属的质量分层,从步骤1)所得到的参数中选取与该质量分层数相对应的展开点附近做泰勒展开所得到的参数,包括一次项参数βk_1、二次项参数βk_2;
步骤213)、计算当前所选取的NALU的有效贡献值,然后更新该NALU所在帧 中那些比该NALU的质量层低的NALU的一次项参数和二次项参数,并计算它们的有效贡献值;其中,所述有效贡献值的计算公式为:
(1-pk)(βk_1-12!pk·βk_2)]]>
其中,pk为索引为k的NALU在传输中丢失的概率;
步骤214)、在已有信道资源情况下,计算当前图像组中之前已处理的所有NALU的有效贡献值之和并保存,然后重新执行步骤211),直至视频数据有效贡献值之和达到第一个峰值,然后执行下一步;
步骤215)、选取视频数据有效贡献值之和达到第一个峰值时对应的NALU组合并发送。
本发明的优点在于:
本发明的方法通过在线视频质量预测的指导进行SVC视频发送调度,所发送的视频数据在既有信道资源和网络可靠性情况下,使得在线数据经传输被接收后达到了优化视频质量、提升用户体验的目的。
附图说明
图1是SVC编码视频中的一个GOP示例的示意图;
图2是NALU之间依赖关系的示意图。
具体实施方式
现结合附图对本发明作进一步的描述。
本发明的基于视频质量预测的SVC视频传输调度方法通过预测接收端视频质量来指导发送端的SVC视频发送调度。为了便于理解,本发明的方法在描述时分三个层次:1)SVC视频数据的分析;2)SVC视频质量预测建模;3)SVC视频质量预测模型在SVC视频发送调度中的应用。
下面对本发明的方法按层次予以说明。
一、SVC视频数据的分析
本领域技术人员都知道:SVC采用了分层的编码结构并具有时间可伸缩特性、空间可伸缩特性和质量可伸缩特性,在本申请中主要用到了SVC的时间可伸缩特性和质量可伸缩特性。
时间维度可伸缩特性的实现依赖Hierarchical-B编码结构:一个B帧参考其两侧的另外两个帧,该B帧的时间分层等级也要大于被参考的帧。质量可伸缩特性的实现方法有FGS、MGS和CGS三种,其中FGS可以对视频数据在任意位置进行切割,其能实现的伸缩特性更加灵活,但是其复杂度最高;在CGS中被参考层和参考层之间只有简单的量化参数QP不同,而一个QP对应一个特定的CGS层,它的缺点是编码不够灵活;MGS在CGS的基础上增加了分层的数量,它可以通过对视频帧之间的预测残差系数进行特定地划分后编码,因此能拆分出更多的质量分层,调度可以更加灵活,因此本发明中采用MGS来实现质量维度的可伸缩性。
SVC以一组图像为单元(Group of Pictures,GOP,以下简称图像组)对视频进行编码,编码后的SVC视频有NF个质量分层和NT个时间分层,在图1所给的编码后的GOP示例中,NF=4,即包括有四个质量分层,这四个质量分层的标识符为F0,F1,F2,F3,后一质量分层的数据添加到之前质量分层的数据上后,对应图像的视频质量会有所提升;例如,质量分层F0对应的视频质量最低,F0F1组合后对应的视频质量较优,F0F1F2更优,F0F1F2F3最优;NT=5,即包括有五个时间分层,这五个时间分层的标识符为T0,T1,T2,T3,T4。一个时间分层标示符和质量分层标识符的组合对应的视频数据块被编码到一个Network Abstraction Layer Unit(NALU)中,图1中的每个四边形代表一个NALU。则每个GOP将会有个帧,每个帧又包含NF个NALU,所以每个GOP中共有个NALU。
在时间可伸缩维度上,本申请中设定时间分层等级越低的帧的优先级越高。一个GOP中可以同时存在多个时间分层等级相同的帧,在本申请中设定时间分层等级相同的帧中那些播放顺序越早的帧优先级越高。在质量可伸缩维度上,在本申请中设定一帧中质量分层等级越低的NALU优先级越高。
在资源受限的情况下,用户更倾向于在保证视频流畅性的基础上,才去进一步获得更多的质量增强层数据去增加视频的清晰度。因此综合考虑质量可伸缩维度和时间可伸缩维度,在本申请中设定那些不同帧中的处于相同质量分层等级上的NALU的优先级,整体高于那些质量分层等级更高的NALU的优先级,整体低于那些质量分层等级更低的NALU的优先级。
综合以上定性分析,GOP中的个NALU将获得相应的优先级排序;如图1示例中的GOP中包含的64个NALU都被分配唯一对应的优先级,优先级的索引为1,2,…,64,其中索引越小意味着NALU的优先级越高。
二、SVC视频质量预测建模
在SVC编码视频时,设置GOP边界处的帧(如图1中T0标示的那些帧)为关键帧,即关键帧中的质量基本层对应的NALU被其他帧直接或间接地参考,而高层NALU不被其他帧参考;这使得在接收端收到的GOP中有数据丢失情况下,解码时的错误传递被限制在了一个GOP范围内。因此在本申请中可以研究一个GOP中视频数据和视频质量之间的映射关系,然后将这个映射关系应用到整个视频中;这个映射关系也就是视频质量预测的基础。
在图1所示的实施例中,每个GOP中共有64个NALU,每个NALU有一个索引号。本实施例中定义一个向量B,B中有64个元素;每个元素的值为1或者0,bk=0表示索引为k的NALU在传输中丢失,该种情况发生的概率为pk;而bk=1表示索引为k的NALU被正确接收,其对应的概率为1-pk。据此可知,B的取值共有264种可能,其中第i种可能Bi出现的概率为Pi,其计算式如式(1)所示;其对应的NALU的组合经过解码后得到该种情况下GOP质量Qi,它可以用该种情况下GOP中各帧的PSNR之和来表示。进而一个GOP的质量期望可以计算如式(2)所示:
Pi=Πk=164pk(1-bi,k)·(1-pk)bi,k---(1)]]>
E(Q)=Σi=1264Pi·Qi---(2)]]>
上式为预测接收视频的质量提供了一个思路,但是计算复杂度会非常高。本申请中将应用泰勒近似理论来研究SVC视频数据与视频质量之间的映射关系,并对SVC视频质量预测进行建模。
将图1所示实施例中64个NALU的丢失概率作为64元变量p=(p1,p2,…,p64),则接收GOP的质量的期望值可以定性描述如式(3)所示。该表达式本质上是一个基础解析式,因此其在某一展开点p′=(p1′,p2′,…,p′64)的泰勒级数一定存在。为了降低预测接收GOP质量的复杂度,本发明中应用多元泰勒级数的前三项(即常数项、一次项和二次项)来近似表示接收GOP质量的期望,其表达式如式(4)所示。
E(Q)=f(p)=f(p1,p2,…,p64) (3)
E(Q)=f(p1,p2,...,p64)≈f(p1′,p2′,...,p64′)+Σk=164(pk-pk′)·∂∂pkf(p1′,p2′,...,p64′)+12!(Σk=164(pk-pk′)·∂∂pk)2f(p1′,p2′,...,p64′)---(4)]]>
本部分本申请人首先以特殊展开点p′=0=(0,0,…,0)来对基于泰勒近似的视频 质量预测原理进行说明,然后再将原理拓展到一般情况。
在展开点p′=0,式(4)可以改写为式(5),然后将依次说明式(5)中的各个分项。
E(Q)≈f(0)+Σk=164pk·∂∂pkf(0)+12!(Σk=164pk·∂∂pk)2f(0)---(5)]]>
(i)常数项f(0)
f(0)=f(p)|p=0表示当GOP中的所有的NALU的丢失概率都为0时,即p=0时所对应的GOP质量,也就是GOP中的所有NALU都被成功接收时解码后的视频质量。在非直播视频业务中,该值可以很容易提前准备并暂存待用。
(ii)一次项Σk=164pk·∂∂pkf(0)]]>
f(p)也可用式(6)的形式来表达;进而可以表示为式(7)。
f(p)=pk·f(p|bk=0)+(1-pk)·f(p|bk=1) (6)
∂f(0)∂pk=(f(p|bk=0)-f(p|bk=1))|p=0=βk_1_1-βk_1_2---(7)]]>
式(7)中的βk_1_1表示当GOP中只有索引为k的NALU丢失时解码后视频的质量,βk_1_2表示当GOP中所有的NALU都被成功接收时解码后视频的质量,因此βk_1_2与f(0)相等。在非直播视频业务中,这两个参数可以很容易提前准备并暂存待用。明显βk_1_1的值要小于βk_1_2的值,因此本发明中用-βk_1来表示βk_1_1-βk_1_2,故一次项可以表示为
(iii)二次项其等效于
f(p)又可以用式(8)的形式来表达;进而可以表示为式(9)。
f(p)=pkpk‾·f(p|bk=0,bk‾=0)+pk(1-pk‾)·f(p|bk=0,bk‾=1)+(1-pk)pk‾·f(p|bk=1,bk‾=0)+(1-pk)(1-pk‾)·f(p|bk=1,bk‾=1)---(8)]]>
∂2f(0)∂pk∂pk‾=f(p|bk=0,bk‾=0)-f(p|bk=0,bk‾=1)-f(p|bk=1,bk‾=0)+f(p|bk=1,bk‾=1)|p=0=βkk‾_2_1-βkk‾_2_2-βkk‾_2_3+βkk‾_2_4---(9)]]>
式(9)中表示当GOP中只有索引为k的NALU丢失时解码后视频的质量;表示当GOP中只有索引为的NALU丢失时解码后视频的质量;表示当GOP中所有的NALU都被成功接收时解码后视频的质量,因此也与f(0)相等。这三个参数在非直播视频业务中,可以很容易提前准备并暂存待用。
的不同之处在于,它表示当GOP中索引为k和的NALU都丢失时解码后视频的质量。在本发明中我们用较容易准备的参数和来计算计算方法根据索引为k的NALU和索引为的NALU之间的依赖关系分为如下三种,参考图2。
(A)索引为k和的NALU之间没有依赖关系
索引为k和的NALU之间没有依赖关系意味着其中一个NALU的解码不依赖于另一个NALU的存在,如图2中的NALUφk和标有a)的两个NALU同时丢失时造成的视频质量下降等于两个NALU单独丢失时造成的视频质量下降值的和,因此有表达式βkk‾_2_1=βkk‾_2_2-βkk‾_2_3+βkk‾_2_4.]]>
(B)索引为k和的NALU之间存在强依赖关系
索引为k和的NALU之间存在强依赖关系意味着其中一个NALU的成功解码必须以另一个NALU的存在为前提,如图2中的NALUφk和标有b)的两个NALU同时丢失时造成的视频质量下降等于被依赖的那个NALU丢失时造成的视频质量下降值,因此有表达式
(C)索引为k和的NALU之间存在弱依赖关系
索引为k和的NALU之间存在弱依赖关系意味着其中的一个NALU在另一个NALU不存在时依然可以解码,但会受到错误传递的影响,如图2中的NALUφk和标有c)的在这种情况下,近似认为等于
由以上的分析可以看出是一个非负值,我们用来表示该值,因此二次项可以表示为
通过(i)、(ii)和(iii)中对式(5)中的常数项、一次项和二次项的拆解,可以得接收GOP质量的期望值如式(10)所示。从式(10)的结构可以看出正代表索引为k的NALUφk对视频质量的贡献;从数据未丢情 况下的视频质量f(0)中减去64个NALU中因丢失造成的质量损失,就刚好等于收到的GOP质量的期望。
E(Q)=f(p)≈f(0)-Σk=164pk·(βk_1-12!Σk‾=164pk‾·βkk‾_2)---(10)]]>
计算索引为k的NALUφk的质量贡献时,需要准备同一GOP中其他NALU的丢失概率这个计算量在实际应用中也比较复杂。本发明中近似设定这种近似对一个GOP范围内的统计计算是比较准确的,因此式(10)可以表达如式(11)所示。
E(Q)=f(p)≈f(0)-Σk=164pk·(βk_1-12!pk·Σk‾=164·βkk‾_2)=f(0)-Σk=164pk·(βk_1-12!pk·βk_2)---(11)]]>
由式(11)可以看出,只要能得出NALU的丢失概率,就可以预测出接收到的GOP的质量,并且复杂度也比较低,因为参数f(0)、βk_1和βk_2(k∈[1,64])在实际的非直播视频业务中都可以提前准备好。
以上对基于泰勒近似的视频质量预测原理进行了说明,所采用的特殊展开点是p′=0=(0,0,…,0),这意味着当GOP中NALU的实际丢失概率分布在p′=0的邻域内时,所准备的参数f(0)、βk_1和βk_2运用到式(11)中能很好地预测接收视频的质量。但是对SVC视频源来说,有些情况下因为信道资源量限制、终端用户处理能力限制或者终端用户根据剩余电量的设置,实际发送的并不是整个SVC视频流,而是从其中抽取的一个子流。那就意味着那些没有被发送的高层的NALU的实际丢失概率为1,这种情况下仍然用在展开点p′=0下准备的参数f(0)、βk_1和βk_2来预测接收到的视频的质量,预测的准确性就会大大下降,因此必须引入更多的展开点,准备相应的参数,以备在线预测接收视频的质量时应用。
实际中的展开点会有无穷多个,为了兼顾预测的准确性和计算的复杂度,本实施例中采用4个(即NF个)展开点p′m(m∈[1,4]),即展开点的数量与编码视频的质量分层层数相同。展开点p′m中有64个元素,这些元素的取值如式(12)所示,可以看出展开点p′=0=(0,0,…,0)其实就是p′4。
pk′=0,k/2NT-1≤m1,k/2NT-1>m---(12)]]>
在采用展开点p′m时,仍然用泰勒近似的思想构建SVC视频数据与SVC视频质量之间的映射关系,每个GOP需准备泰勒级数的常数项f(p′m),一次项参数βk_1和二次项参数βk_2。在实际的非直播视频业务中,可以计算SVC视频传输中NALU的丢失概率分布,判断并选择其附近的展开点,选择相应的已备好的参数用于接收视频质量的预测,这样就保证了预测接收视频质量的准确性。
三、SVC视频质量预测模型在SVC视频发送调度中的应用
SVC视频质量预测模型用在SVC视频发送调度中主要包括离线参数准备和在线的基于质量预测的发送调度。
3.1离线参数准备
在图1所示的实施例中,编码后的SVC视频中有4个质量分层,也就有4个展开点与其对应p′m(m∈[1,4])。对每一个展开点要相应地准备一套参数,以备在线质量预测时应用。从SVC视频质量预测的数学模型的角度来讲,对某一展开点p′m,在一个GOP范围内,要准备的包括常数项参数、一次项参数和二次项参数。从SVC视频数据的角度来讲,也有具有实际物理意义的量与那些参数对应。
常数项参数。一段视频包括多个GOP,每个GOP包括16帧,每一帧中都保留那些质量层不高于m的那些NALU,更高层的NALU直接剔除。将一个GOP中保留下来的数据进行解码,并计算这些帧的PSNR,然后将这16帧的PSNR相加作为该GOP的常数项参数f(p′m)。
一次项参数。一个GOP包括16帧,每帧包括4个NALU,这其中的每个NALU都需准备一个一次项参数。首先将一个GOP的每一帧中那些质量层不高于m的那些NALU保留下来,更高层的NALU直接剔除。如果索引为k的NALU属更高的质量层且已经被剔除则跳过下面的步骤并直接分配一次项参数为0;如果索引为k的NALU仍然在保留数据中,则其被剔除。将保留下来的数据进行解码,并计算这些帧的PSNR,然后将这16帧的PSNR相加即为第二部分提到的中间参数βk_1_1,因βk_1_2=f(p′m),则f(p′m)-βk_1_1的值即为索引为k的NALU的一次项参数βk_1。
二次项参数。一个GOP包括16帧,每帧包括4个NALU,这其中的每个NALU都需准备一个二次项参数。在准备一次项参数过程中产生的中间参数βk_1_1实际上与中间参数是一一对应。又因为k和之间只是换了索引标记,所以实质上在有了中间参数时,也就有了中间参数另外并且 也可以根据前三项计算的出。这四个参数按照βkk‾_2=βkk‾_2_1-βkk‾_2_2-βkk‾_2_3+βkk‾_2_4]]>计算中间参数进而根据公式计算出索引为k的NALU的二次项参数βk_2。
对每个GOP中的视频数据在离线状态进行上述步骤就能准备出整个视频数据在展开点p′m处对应的参数。对每个展开点再重复上述步骤就可以准备出所有需要的参数以备用。
3.2基于在线质量预测的SVC视频发送调度
对SVC视频的发送调度从调度的粒度上来分,大致分为两种:即粗粒度地决定多少质量层数据被抽取并发送和细粒度地选择那些具体的NALU进行发送。在实际调度时,可根据情况选择其中一种调度方法实现对SVC视频的发送调度。下面对两种调度方法的实现步骤分别加以说明。
3.2.1对SVC视频数据进行粗粒度的发送调度
对SVC视频数据进行粗粒度的发送调度的实现步骤包括:
步骤1-1)、由待传输的SVC视频数据的图像组的总的质量分层数从之前离线准备的参数中选取与该总的质量分层数相对应的展开点附近做泰勒展开所得到的参数,包括常数项参数f(p′m)、一次项参数βk_1、二次项参数βk_2;
步骤1-2)、在已有信道资源的情况下,假设待传输的SVC视频数据的图像组中有r个质量分层的数据被发送,r的初始值为1,采用公式(11)预测被接收到时的视频质量:
步骤1-3)、将r的值加1,然后重新执行步骤1-2),直到预测视频质量的值达到第一个峰值,此时r对应的层数即为最优发送层数;
步骤1-4)、从待传输的SVC视频数据中选取该最大预测值所对应的质量分层数即r层的数据并发送。
3.2.2对SVC视频数据进行细粒度的发送调度
步骤2-1)、在待传输的SVC视频数据的图像组中,按NALU的索引顺序依次选取一个之前未处理的NALU;
步骤2-2)、判断当前所选取的NALU所属的质量分层,从步骤1)所得到的参数中选取与该质量分层数相对应的展开点附近做泰勒展开所得到的参数,包括一次 项参数βk_1、二次项参数βk_2;
步骤2-3)、计算当前所选取的NALU的有效贡献值,然后更新该NALU所在帧中那些比该NALU的质量层低的NALU的一次项参数和二次项参数,并计算它们的有效贡献值;其中,所述有效贡献值的计算公式为:
(1-pk)(βk_1-12!pk·βk_2)]]>
其中,pk为索引为k的NALU在传输中丢失的概率;
步骤2-4)、在已有信道资源情况下,计算当前图像组中之前已处理的所有NALU的有效贡献值之和并保存,然后重新执行步骤2-1),直至视频数据有效贡献值之和达到第一个峰值,然后执行下一步;
步骤2-5)、选取视频数据有效贡献值之和达到第一个峰值时对应的NALU组合并发送。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。