1.一种H.265/HEVC图像层码率控制方法,其特征在于,该控制方法包括如下步骤:步骤一、将原始视频分为运动快视频和运动慢视频,并将运动慢视频中的图像分为如下三类:视频的第一个编码图像、其它帧内图像和帧间图像;
分为运动快视频和运动慢视频的过程如下:
用式子(35)中所示的图像间亮度差值来表征原始视频的运动程度:
xBG[n,i]由式子(36)计算得:
D[k,i]值小于18的块被认定为运动慢的块,并且当大于76.7%的块为运动慢的块时,即认为当前视频为运动慢视频;否则为运动快视频;
其中:x[n,i]表示第i个图像第n=[n1,n2]个像素的亮度值,n1、n2、i分别表示像素的横坐标、像素的纵坐标、图像序号,且0≤n1≤N1-1、0≤n2≤N2-1、0≤i≤I-1;D[k,i]表示第i个图像第k个块的图像间亮度差值;Pk,i是第i个图像第k个块中所有像素的集合, 表示集合Pk,i中的像素个数;xBG[n,i]表示第i个图像第n=[n1,n2]个像素的背景亮度值;xBG[n1-m1,n2-m2,i]表示第i个图像第[n1-m1,n2-m2]个像素的背景亮度值;hLP[m1,m2]表示一个低通滤波掩盖模板;
步骤二、分别确定步骤一中的视频的第一个编码图像、其它帧内图像和帧间图像的编码的量化参数:对于视频的第一个编码图像:用对应的参数值表征出视频的第一个编码图像的运动程度和纹理复杂度,确定编码量化参数,并用所述的编码量化参数编码视频的第一个编码图像;具体为:建立模型公式:
其中:δ、ε、 为模型参数,D[i]表示第i个图像的图像间亮度差值,σ[i]表示第i个图像的标准差;QPini为视频第一个编码图像的量化参数;β1为参数,Btar表示目标码率,Fr表示视频帧率,N1、N2分别表示图像的宽度、高度;
D[i]和σ[i]分别由式(33.1)和(34.1)计算:
其中:Bi表示第i个图像中块的集合, 表示Bi中块的个数;Pk,i表示第i个图像第k个块像素的集合; 表示Pk,i中像素的个数;x[n,i]表示第i个图像第n=[n1,n2]个像素的亮度值;xBG[n,i]表示第i个图像第n=[n1,n2]个像素的背景亮度值;x[n,i-1]表示第i-1个图像第n=[n1,n2]个像素的亮度值;xBG[n,i-1]表示第i-1个图像第n=[n1,n2]个像素的背景亮度值;
对于其他帧内图像:首先,对其他帧内图像分配目标码率,得出目标码率与拉格朗日因子的关系模型,得到每个其他帧内图像的拉格朗日因子,然后,根据拉格朗日因子与量化参数的关系确定每个其他帧内图像的编码量化参数,并用所述的编码量化参数编码每一幅其他帧内图像;对其他帧内图像的具体处理过程如下:采用式(1)对其他帧内图像分配目标码率:
原始视频中还未编码的每幅图像平均可以分得的剩余比特数Bres,f由式(2)得:Bres,f=Bres,v/FNres,v (2);
sppI=SATDI/(N1N2) (3);
bppI=Btar,I/(N1N2) (4);
其中:Btar,I表示分配给其他帧内图像的目标码率;SATDI表示对其他帧内图像进行哈达玛变换后,所有变换后系数绝对值的累加和;Bres,v表示编码原始视频时剩余的比特数,FNres,v表示原始视频中还未编码的图像数;
sppI表示其他帧内图像中每个像素对应的哈达玛变换后所有系数绝对值的累加和的平均值;bppI表示其他帧内图像中每个像素对应的比特数;N1、N2和I分别表示图像宽度、图像高度、视频中总图像数;
b1为模型参数,取固定值0.5582,a1为模型参数;
a1取值
得出目标码率与拉格朗日因子的关系模型:
其中:λI,ini表示给其他帧内图像确定的拉格朗日因子初始值;α2、β2为模型参数;
对上述λI,ini做进一步限定,如下:
如果FNres,v≤FNres,v,lasI,则所有的帧内图像的λI,ini依次按照公式(6)和(7)进行限定,得最终值λI,2:λI,1=clip3(λ|2-10/3λlaspic≤λI,ini≤210/3λlaspic) (6);
λI,2=clip3(λ|2-1λsamlay≤λI,1≤2λsamlay) (7);
如果FNres,v>FNres,v,lasI,则λI,ini按照式子(8)进行限定,得λI,3:λI,3=clip3(λ|2-10/3λlasIpic≤λI,ini≤210/3λlasIpic) (8);
其中:FNres,v,lasI表示按照编码顺序,从视频最后一个其他帧内图像算起剩余的未编码图像数;λI,1表示经过式(6)限定后,其他帧内图像的拉格朗日因子;λI,2表示经过式(7)限定后其他帧内图像的拉格朗日因子,λI,3表示经过式(8)限定后其他帧内图像的拉格朗日因子,λlaspic表示前一个编码图像的拉格朗日因子;λsamlay表示与当前图像处于同一时间级的前一个编码图像的拉格朗日因子;clip3(a|b≤a≤c)是一个值限定函数,即将a的取值限定在范围[b,c]内;
然后确定编码的量化参数:
如果FNres,v≤FNres,v,lasI,则按照式(9)所示的拉格朗日因子与编码的量化参数的关系模型,确定其他帧内图像的量化参数初始值QPI,ini,1,QPI,ini,1=4.2005ln(λI,2)+13.7122 (9);
使QPI,ini,1依次满足公式(10)和(11),得到其他帧内图像的量化参数QPI,2,用QPI,2编码当前的其他帧内图像;
QPI,1=clip3(QP|QPlaspic-10≤QPI,ini,1≤QPlaspic+10) (10);
QPI,2=clip3(QP|QPsamlay-3≤QPI,1≤QPsamlay+3) (11);
QPI,ini,2=4.2005ln(λI,3)+13.7122 (12);
如果:FNres,v>FNres,v,lasI,则由公式(13)得到其他帧内图像的量化参数QPI,3,用QPI,3编码当前的其他帧内图像:QPI,3=clip3(QP|QPlasIpic-10≤QPI,ini,2≤QPlasIpic+10) (13);
其中:QPI,1表示经过式(10)限定后其他帧内图像的量化参数,QPlaspic表示前一个编码其他帧内图像的量化参数,QPI,2表示经过式(11)限定后其他帧内图像的量化参数;QPsamlay表示与当前图像处于同一时间级的前一个编码其他帧内图像的量化参数,QPI,3表示经过式(13)限定后其他帧内图像的量化参数;clip3(a|b≤a≤c),是一个值限定函数,即将a的取值限定在范围[b,c]内;
对于帧间图像:将帧间图像分为多个图像组GOP,然后按照编码顺序,依次选择每一组图像组GOP,对所述图像组GOP中的所有图像分配目标码率;然后在编码图像组GOP中每一幅帧间图像前,再次给对应的帧间图像分配目标码率,将两次分配的目标码率通过线性加权处理,得到分配给对应的帧间图像的目标码率;对于帧间图像的处理过程如下:对帧间图像分配目标码率:确定编码的图像组,先按照式(14)、(15)和(16)给编码的图像组里的所有图像分配目标码率,然后按照公式(17),在编码图像组中的每一幅图像前第二次给当前图像分配目标码率,然后将两次分配的目标码率按照公式(18)所示的线性加权的方式,得到最终分配给帧间图像的目标码率;
Btar,f,ave=Btar/Fr (15);
其中:Btar,GOP表示对一个图像组GOP中所有图像分配的目标码率,FNGOP表示图像组GOP的大小,SW表示滑动窗口大小;ωbit[L,i]表示图像组GOP内第L个时间级第i幅图像的目标比特分配权重值;Btar,f,ave表示原始视频中每幅图像平均分配的目标码率; 表示在编码图像组之前给其中的第i幅图像分配的目标码率;FNres,v表示原始视频中还未编码的图像数;Btar表示目标码率,Fr表示视频帧率;Bres,v表示编码视频时剩余的比特数;
在编码第i个图像时,按照式子(17)第二次给图像分配目标码率,分配的目标码率为其中:Bres,GOP表示当前图像组剩余的比特数,Ires,GOP表示当前图像组剩余图像的集合;
ωbit[L,i]表示图像组GOP内第L个时间级第i幅图像的目标比特分配权重值;
最后按照式子(18)对图像组第i幅图像分配最终的目标码率Btar,i:其中:ω1、ω2是模型参数,当FNres,v≤FNres,v,lasI,ω1、ω2分别取值0和1;当FNres,v>FNres,v,lasI,ω1、ω2分别取值0.9和0.1;
确定拉格朗日因子:根据式(19)中,目标码率与拉格朗日因子的关系模型,得到每个帧间图像的拉格朗日因子初始值λP,ini:其中:α3、β3为模型参数,
然后判断:如果FNres,v>FNres,v,lasI,则处于时间1级的帧间图像的λP,ini依次按照公式(20)和(21)进行限定:λP,1=clip3(λ|2-1λsamlay≤λP,ini≤2λsamlay) (20);
λP,2=clip3(λ|22/3λprelay≤λP,1≤210/3λprelay) (21);
处于大于时间1级的帧间图像依次按照公式(22)和(23)进行限定:-1
λP,3=clip3(λ|2 λsamlay≤λP,ini≤2λsamlay) (22);
λP,4=clip3(λ|21/3λprelay≤λP,3≤2λprelay) (23);
λP,1表示经过式(20)限定后其他帧间图像的拉格朗日因子,λP,2表示经过式(21)限定后其他帧间图像的拉格朗日因子,λprelay表示处于当前图像前一个时间级的最近编码图像的拉格朗日因子,λP,3表示经过式(22)限定后其他帧间图像的拉格朗日因子,λP,4表示经过式(23)限定后其他帧间图像的拉格朗日因子;
如果FNres,v≤FNres,v,lasI,则所有其他帧间图像的拉格朗日因子依次按照公式(24)和(25)限定:-10/3 10/3
λP,5=clip3(λ|2 λlaspic≤λP,ini≤2 λlaspic) (24);
λP,6=clip3(λ|2-1λsamlay≤λP,5≤2λsamlay) (25);
λP,5、λP,6分别表示经过式(24)、(25)限定后其他帧间图像的拉格朗日因子;
然后确定编码QP:
如果FNres,v>FNres,v,lasI,则处于时间1级的帧间图像按照式(20.1)所示的拉格朗日因子与QP的关系模型,得到QP初始值QPp,ini,1:QPp,ini,1=4.2005ln(λP,2)+13.7122 (20.1);
处于大于时间1级的帧间图像按照式(21.1)所示的拉格朗日因子与QP的关系模型得到QP初始值QPp,ini,2QPp,ini,2=4.2005ln(λP,4)+13.7122 (21.1);
如果FNres,v≤FNres,v,lasI,则所有其他帧间图像按照式(22.1)所示的拉格朗日因子与QP的关系模型得到QP初始值QPp,ini,3QPp,ini,3=4.2005ln(λP,6)+13.7122 (22.1);
然后判断:
如果FNres,v>FNre,s,vla,则处于时间1级的帧间图像依次按照式(23.1)、(24.1)对初始值进行限定,QPp,1=clip3(QP|QPsamlay-3≤QPp,ini,1≤QPsamlay+3) (23.1);
QPp,2=clip3(QP|QPprelay+2≤QPp,1≤QPprelay+10) (24.1);
处于大于时间1级的帧间图像依次按照公式(25.1)、(26)对初始值进行限定:QPp,3=clip3(QP|QPsamlay-3≤QPp,ini,2≤QPsamlay+3) (25.1);
QPp,4=clip3(QP|QPprelay+1≤QPp,3≤QPprelay+3) (26);
如果FNres,v≤FNres,v,lasI,则所有帧间图像依次按照公式(27)、(28)限定初始值得到最终值;
QPp,5=clip3(QP|QPsamlay-3≤QPp,ini,3≤QPsamlay+3) (27);
QPp,6=clip3(QP|QPlaspic-10≤QPp,5≤QPlaspic+10) (28);
其中:QPp,1、QPp,2、QPp,3、QPp,4、QPp,5、QPp,6分别表示经过式(23.1)、(24.1)、(25.1)、(26)、(27)、(28)限定后其他帧间图像的量化参数;QPprelay表示处于当前图像前一个时间级的最近编码图像的量化参数;
如果FNres,v>FNres,v,lasI,则处于时间1级的帧间图像用QPp,2编码,处于大于时间1级的帧间图像用QPp,4编码,如果FNres,v≤FNres,v,lasI,则所有其他帧间图像用QPp,6编码;
确定出目标码率与拉格朗日因子的关系模型,得到每幅帧间图像的拉格朗日因子值,并根据拉格朗日因子与量化参数的关系,确定出每个帧间图像的编码量化参数,并用所述的编码量化参数编码每一幅帧间图像。
2.根据权利要求1所述的一种H.265/HEVC图像层码率控制方法,其特征在于,还包括对运动快视频采用基于λ域的码率控制算法。
3.根据权利要求1或2所述的H.265/HEVC图像层码率控制方法,其特征在于,图像的目标比特分配权重值采用如下方法确定:(1)将图像组GOP分为四类:
视频中第一个图像组GOP;
第1类图像组GOP,当前GOP中只包含GPB图像,不包含I图像,而其前一个GOP中只包含I图像,不包含GPB图像;
第2类图像组GOP,当前GOP中只包含GPB图像,不包含I图像,而其前一个GOP中也只包含GPB图像,不包含I图像;
第3类图像组GOP,当前GOP中只包含I图像,不包含GPB图像,而其前一个GOP中只包含GPB图像,不包含I图像;
(2)确定图像的目标比特分配权重值:
首先确定视频中第一个图像组GOP的目标比特分配权重值;根据图像所处的时间级,计算ωbit[L,i];
然后:
确定第1类图像组GOP中的图像的目标比特分配权重值:
其中:ωbit[1,g,L,i]表示第1类图像组GOP中的第g个图像组GOP第L个时间级图像的目标比特分配权重;I1,g-2,L表示属于第1类图像组GOP中的第g-2个图像组GOP第L个时间级图像的集合; 表示集合I1,g-2,L中的图像数目; 表示属于第1类图像组GOP中的第g-2个图像组GOP第NL个时间级图像的集合; 表示集合 中的图像数目;
Bact[1,g-2,L,i]表示属于第1类图像组GOP中的第g-2个图像组GOP第L个时间级第i个图像的实际编码比特;NL表示时间级的数目;Bact[1,g-2,NL,i]表示属于第1类图像组GOP中的第g-2个图像组GOP第NL个时间级第i个图像的实际编码比特;ωbit[1,g,NL]表示属于第1类图像组GOP中的第g个图像组GOP第NL个时间级图像的目标比特分配权重; 表示四舍五入函数;
确定第2类图像组GOP中的图像的目标比特分配权重值:
其中:ωbit[2,g,L,i]表示属于第2类图像组GOP中的第g个图像组GOP第L个时间级图像的目标比特分配权重,I2,g-1,L表示属于第2类图像组GOP中的第g-1个图像组GOP第L个时间级图像的集合; 表示集合I2,g-1,L中的图像数目; 表示属于第2类图像组GOP中的第g-1个图像组GOP第NL个时间级图像的集合; 表示集合 中的图像数目;Bact[2,g-1,L,i]表示属于第2类图像组GOP中的第g-1个图像组GOP第L个时间级第i个图像的实际编码比特;NL表示时间级的数目; 表示属于第2类图像组GOP中的第g-1个图像组GOP第NL个时间级第i个图像的实际编码比特;ωbit[2,g,NL,i]表示属于第
2类图像组GOP中的第g个图像组GOP第NL个时间级图像的目标比特分配权重; 表示四舍五入函数;
确定第3类图像组GOP中的图像的目标比特分配权重值:
图像组GOP中的I图像按照式子(31)计算目标比特分配权重,其它图像按照式子(32)的方式计算目标比特分配权重:其中:ωbit[3,g,j,i]表示属于第3类图像组GOP中的第g个图像组GOP中第j个I图像的目标比特分配权重,Bact[3,j-1]表示属于第3种图像组GOP的第j-1个I图像的实际编码比特; 表示属于第3类图像组GOP中的第g-1个图像组GOP第NL个时间级图像的集合;
表示集合 中的图像数目;Bact[3,g-1,L,i]表示属于第3类图像组GOP中的第g-1个图像组GOP第L个时间级第i个图像的实际编码比特;ωbit[3,g,NL]表示属于第3类图像组GOP中的第g个图像组GOP第NL个时间级图像的目标比特分配权重; 表示四舍五入函数;
其中:ωbit[3,g,L,i]表示属于第3类图像组GOP中的第g个图像组GOP第L个时间级图像的目标比特分配权重,I3,g-1,L表示属于第3类图像组GOP中的第g-1个图像组GOP第L个时间级图像的集合; 表示集合I3,g-1,L中的图像数目; 表示属于第3类图像组GOP中的第g-1个图像组GOP第NL个时间级图像的集合; 表示集合 中的图像数目;Bact[3,g-1,L,i]表示属于第3类图像组GOP中的第g-1个图像组GOP第L个时间级第i个图像的实际编码比特;NL表示时间级的数目; 表示属于第3类图像组GOP中的第g-1个图像组GOP第NL个时间级第i个图像的实际编码比特;ωbit[3,g,NL]表示属于第3类图像组GOP中的第g个图像组GOP第NL个时间级图像的目标比特分配权重; 表示四舍五入函数。
4.根据权利要求3所述的一种H.265/HEVC图像层码率控制方法,其特征在于,ωbit[L,i]的取值如下:ωbit[L,i]的值
l=1 l=2 l=3 l=4
bpp>0.2 9 4 3 1
0.1<bpp≤0.2 21 6 3 1
0.05<bpp≤0.1 30 7 4 1
bpp≤0.05 36 7 4 1
。