发明内容
为了解决上述现有技术存在的不足,本发明的目的是提供一种稳定视频质量的码率控制方法。
本发明提供一种稳定视频质量的码率控制方法,包括以下步骤:S1:估计P帧类型图像复杂度或者I帧类型图像的复杂度;S2:获得第k帧图像的预分配码率;S3:根据得到的P帧类型图像复杂度和第k帧图像的预分配码率或者是I帧类型图像复杂度和第k帧图像的预分配码率计算出第k帧的量化参数QPk;S4:编码器按照量化参数QPk来编码调节压缩率,进而控制视频输出码率。
其中,在步骤S1中,P帧类型图像复杂度是通过如下公式计算得到:
MADk为第k帧待编码图像的复杂度估计值,q为复杂度估计偏移因子,q=0.85~0.95,Sum1=0。
其中,第一帧图像复杂度MAD1通过如下步骤得到:S11:设定第一帧图像的量化参数QP(1),QP(1)取26~30;S12:编码器根据根据量化参数QP(1)对第一帧图像编码,得到预分配码率ReBits1;S13:将QP(1)、ReBits1的值代入式子MADk=ReBitsk×QPk中,得到第一帧图像复杂度MAD1。
其中,在步骤S1中,I帧类型图像复杂度是通过如下公式计算得到:MADI=f(MADP_Pre),(MADP_Pre)为已编码P帧类型图像的后验复杂度估算值,f为I帧类型图像复杂度估计算法,MADI为I帧类型图像复杂度,MADP_Pre=MADk。I帧类型图像复杂度估计算法f采用平均值法,即
MADj为上一个图像中P帧的后验复杂度估计,gopsize为GOP(group of picture,画面组)大小。
其中,在步骤S2中,第k帧图像的预分配码率ReBitsk通过如下公式计算得到
Z为预分配码率估计偏移因子,ΔBits(k)为第k帧图像的码流控制量,z=0.85-0.95;
第k帧图像的码流控制量ΔBits(k),通过如下公式得到,
essim(k-1)为k-1帧编码图像的实际SSIM值与设定SSIM值之差,设定的SSIM取值在0.9-0.99之间;
essim(k-1)=SSIMset-SSIM(k-1)
SSIMset为第k-1桢图像的设定SSIM值,SSIM(k-1)为编码重建图像的实际SSIM值。
Kp、KI、KD分别为位置式数字PID控制器的比例放大系数,因为视频变化比较平稳,在此式中不考虑微分校正,即KD=0,根据试验得到KI=200-400;根据式子Kp=k*Δbitrate/Δssim*f,k为比例系数,取k=1.5-3,f为视频帧率,f=fps,f取值5-30,Δbitrate为变化的码率,Δssim指视频序列中在某个SSIM表征的视频质量区间内SSIM的变化量,Δbitrate、Δssim为以ssim衡量的率失真曲线上在某个码率区间内的变化量,请参考图(3),实际值根据不同性质的视频序列实验测定;Bits(1)=bitrate/fps,其中bitrate为给定的参考码率取值>=32Kbps,fps为视频帧率设为5-30。
其中,在步骤S3中,第K帧的量化参数QPk中根据式MADk=ReBitsk×QPk得到。
其中,对积分环节输出量Ik及实际码流控制量ΔBits(k)输出作相应的限幅调整,积分环节输出量
如果Ik<0并且Ik<-bitrate/f,则Ik=-bitrate/f;
如果ΔBits(k)<0,ΔBits(k)=α*bitrate/f
bitrate为参考码率,f为帧率,α为比例系数,α=0.05~0.15,bitrate为参考码率取值>=32Kbps。
与现有技术相比,本发明具有以下优点:
本发明可平滑调控稳定视频质量,满足许多应用场合的视频需求。
具体实施方式
本发明提出的稳定视频质量的码率控制方法,结合附图和实施例说明如下。
实施例1
以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明技术原理如图2所示,将自动控制理论中的PID controller(Proportional-Integral-Derivative controller,比例-积分-微分控制器)控制算法和视频压缩中的率失真模型结合起来,把实现可平滑调控稳定视频质量问题看作一个位置随动系统的自动控制问题。采用SSIM(structural similarity,结构化相似度)作为表征期望视频质量的参数,编码器中解码重构图像与原始图像间的SSIM值与给定SSIM的偏差经过PID运算后得到下一幅待编码图像的预分配码率的修正量,再运用简化的率失真模型得到量化参数。
本实施例针对视频会议场景在H.264(联合视频组(JVT)共同制定的新一代数字视频编码标准)上实现,通过如下步骤:
步骤1:
给定一个表征视频质量的SSIM值,该值范围一般取0.90~0.99;第一帧图像的量化参数QP(1),该值一般取26~30;参考码率R,可由使用者任意指定,按现有网络条件,一般不会低于32Kbps。
步骤2:第一帧图像指按量化参数QP(1)进行编码得到第一帧图像的码率ReBits1,按式(1)所示的简化一阶率失真模型后验估计第一帧图像的复杂度MAD1。
式(1),中ReBitsk是为第k帧图像分配的码率,MADk为第k帧图像的复杂度估计,QPk是为第K帧图像分配的量化参数。
步骤3:按与式(2)等价的递推公式(3)估计P帧类型图像的复杂度
式(2)中。MADK为第K帧待编码图像的复杂度估计值,q为复杂度估计偏移因子,q与图像复杂度及编码器有关,代表已编码图像在图像复杂度估计计算中的权重,一般来讲,图像序列的复杂度越大、序列变化越剧烈,该值越小,但并非与复杂度呈严格的反比关系,在视频会议场景下,图像序列变化比较平缓,实验表明,0.85~0.95的取值比较合理。根据步骤2中得到的MAD1值,就可以估计出图像中各个P帧图像的复杂度,
步骤4:按式(3)所示的平均值法估计I帧类型图像复杂度
MADI=f(MADP_Pre) (3)
式(3)中,MADP_Pre为已编码P帧的后验复杂度估计值,该值等于步骤3中得到的MADK的值,f代表I帧类型图像复杂度估计算法,f有很多种选择方法,如平均值法、加权平均法等,本实施例中按平均值法估计MADI,即按如下估计公式计算:
式(5)中,MADj为上一个GOP(Group of Picture,画面组)中P帧图像的后验复杂度估计,本实施方式中,一个GOP由一个I帧图像和若干个P帧图像组成,gopsize为一个GOP大小。
步骤5:按式(6)计算第k-1帧编码图像的实际SSIM值与设定SSIM值间的偏差essim(k-1)
essim(k-1)=SSIMset-SSIM(k-1) (5)
式(5)中,essim(k-1)为第k-1帧编码图像的实际SSIM值与设定SSIM值间的偏差,SSIMset为设定的SSIM值,该值范围一般取0.90~0.99,SSIM(k-1)为第k-1帧编码图像的实际SSIM值。
步骤6:按式(7)计算第k帧图像的码流控制量ΔBits(k)
(6)
essim(k-1)为k-1帧编码图像的实际SSIM值与设定SSIM值之差,设定的SSIM取值在0.9-0.99之间;
essim(k-1)=SSIMset-SSIM(k-1)
SSIMset为第k-1桢图像的设定SSIM值,SSIM(k-1)为编码重建图像的实际SSIM值。
Kp、KI、KD分别为位置式数字PID控制器的比例放大系数,因为视频变化比较平稳,在此式中不考虑微分校正,即KD=0,根据试验得到KI=200-400;根据式子Kp=k*Δbitrate/Δssim*f,k为比例系数,取k=1.5-3,f为视频帧率,f取值5-30,Δbitrate为变化的码率,Δssim指视频序列中在某个SSIM表征的视频质量区间内SSIM的变化量;Bits(1)=bitrate/fps,其中bitrate为给定的参考码率取值>=32Kbps,fps为视频帧率设为5-30。
其中,在步骤S3中,第K帧的量化参数QPk中根据式MADk=ReBitsk×QPk得到。
其中,对积分环节输出量I
k及实际码流控制量ΔBits(k)输出作相应的限幅调整,积分环节输出量
如果Ik<0并且Ik<-bitrate/f,则Ik=-bitrate/f;
如果ΔBits(k)<0,ΔBits(k)=α*bitrate/f
bitrate为参考码率,f为帧率,α为比例系数,α=0.05~0.15,bitrate为参考码率取值>=32Kbps。
由于视频信号变化比较平稳,试验表明,可以不加入微分校正,即KD=0
为了保证系统的稳定性及良好的动态响应性能,本实施例对积分环节输出量Ik及实际ΔBits(k)输出作相应的限幅调整,
如果Ik<0并且Ik<-bitrate/f,则Ik=-bitratef; (7)
如果ΔBits(k)<0,ΔBits(k)=α*bitrate/f (8)
式(7)、(8)中bitrate为参考码率,f为帧率。α为比例系数,α与设定视频质量表征参数SSIM有关,SSIM越大,α越大,一般取α=0.05~0.15
步骤7:按式(12)计算第k帧图像的预分配码率ReBitsk,
ΔBits(k)为由步骤(6)算出的第k帧图像的码流控制量,z为预分配码率估计偏移因子,z=0.85-0.95。
步骤8:把步骤(3)或步骤(4)及步骤(7)得到的结果代入式(1),得到第k帧的量化参数QPk,编码器按照第k帧的量化参数QPk对第k帧图像进行编码。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。