陈立峰,李子印
(中国计量学院 光学与电子科技学院,浙江 杭州 310018)
基于图像复杂度及运动信息的码率控制算法
陈立峰,李子印
(中国计量学院 光学与电子科技学院,浙江 杭州 310018)
JVT-H017是H.264视频编码标准中采用的码率控制算法提案,但在许多实时场景应用中该算法还存在平均绝对差值(MAD)预测不准确等一些不足。针对现有码率控制技术的缺陷,提出一种改进的基本单元层码率控制算法。一方面在基于图像复杂度和运动信息的基础上采用了4种时空加权模型预测平均绝对差值,并且采用运动矢量信息对图像复杂程度进行判定;另一方面结合MAD的变化情况分配目标比特。实验结果表明,相比于JVT-H017和一些新的文献算法,改进算法的编码图像峰值信噪比得到了提高,同时实际码率更接近于目标码率,码率控制性能更优越。
H.264;码率控制;平均绝对差值;运动矢量
作为新一代的视频编码标准,H.264以其高效的编码效率、良好的网络适应能力以及诸多新技术引起了人们的广泛关注[1]。码率控制是H.264视频编码器结构中的重要组成部分,其作用在于根据信道的状态平滑码流,控制和改善视频质量,因此码率控制的性能直接关系到视频编码标准的应用与推广[2]。
然而在H.264编码过程中量化参数QP同时用于率失真优化和码率控制,导致“蛋鸡悖论”而不能直接套用以往编码标准的算法,如MPEG-2中的TM5[3]、H.263中的TMN8[4]以及MPEG-4中采用的VM8[5-6]。为解决此问题,现有的H.264编码标准采用了由Ma等人提出的JVT-H017提案[7]中的算法,但该算法在视频序列存在快速运动或场景变换时,由于各帧的复杂度相差过大以及线性MAD预测模型的不准确,导致最终编码输出的码率波动性较大,图像质量不高。
因此,针对H017算法在基本单元层码率控制上的不足,学者们提出了多种码率控制算法进行改进。JVT-W042提案[8]沿用了H017的基本算法流程,着重于代码的优化重写,并支持全I帧和分级B帧的码率控制。另外,文献[9]通过一种简单的帧差法来衡量图像复杂度,进而改进帧层码率控制。文献[10]针对视频中的大量场景切换,提出一种基于非连接点的场景切换检测算法,结合自适应GoP分组技术提高码率控制性能。文献[11]在ρ域模型基础上提出平方根模型,用于改进基本单元层的码率控制。文献[12]提出一种结合人眼视觉特性的码率控制算法,在基本单元层引入视觉敏感因子进行目标比特分配。文献[13]利用视频信源的时空相关性提出一种新颖的编码特性预测机制,并利用Lagrangian优化技术推导出两种高效的位率失真优化分配算法。文献[14]采用两个率失真模型进行码率预测,即给出一种基于双模预测的自适应码率控制方法来提高码率控制精度。
本文将MAD值作为图像复杂性的度量参数来调整目标比特的分配。在MAD值的预测方面,充分利用视频序列中的空间信息来改进MAD预测模型,同时利用运动矢量的大小作为判断依据来决定所采用的MAD预测模型。实验结果表明,与JVT-H017以及较新的文献算法相比,本文算法可获得更好的图像质量,并且具有更高的码率控制性能。
JVT-H017码率控制方案由两层组成:GoP(Group of Picture)层码率控制和帧层码率控制,若编码中基本单元不是一帧,则再增加额外的基本单元层码率控制。
H017提案中的基本单元层码率控制算法主要包括3个步骤:1)目标比特数的分配;2)预测当前基本单元的MAD值;3)基本单元量化参数QP值的计算。
1.1 目标比特数的分配
假设P帧中未编码的基本单元数为Nbu,用frb表示分配给当前帧中未编码基本单元的剩余比特数,则对于当前编码基本单元所分配的目标比特数为frb/Nbu,即平均分配剩余比特数。
1.2 预测当前基本单元的MAD值
在H017提案中使用线性预测模型来预测当前基本单元的MAD值
MADcur=a1×MADpre+a2
(1)
式中:MADcur为当前基本单元的预测值;MADpre表示前一帧相同位置处基本单元的实际值;a1和a2为预测模型系数,初始值分别为1和0,之后通过线性回归技术进行更新。
1.3 基本单元量化参数QP值的计算
完成MAD值的线性预测后,使用二次率失真模型[15]来计算当前基本单元的QP值。二次率失真模型如下
(2)
式中:Ri(j)是编码第i帧第j个基本单元所需要的比特数;X1和X2为该模型的一、二阶系数,在每个基本单元编码结束后进行更新;MAD为上一步所得到的预测值,由此可计算量化参数QP。
通过对H017算法中的基本单元层码率控制方案的描述可知,该算法的MAD预测模型只考虑了基本单元间的时间相关性,没有利用其空间相关性。
另外,在对未编码基本单元的目标比特分配方面,H017中的算法同样没有考虑图像的复杂度因素,只是平均分配剩余比特。
这两方面的不足将导致该算法在处理高速运动或频繁发生场景切换的视频序列时出现较大误差,重新更新的模型参数也会同样因为缺少复杂度因子而造成误差传播,从而影响视频的码率稳定性以及图像编码质量。因此本文分别从MAD预测模型和分配剩余比特数两个方面来对原算法进行改进。
2.1 改进的基本单元MAD预测模型
由于在一般的视频序列中,MAD值的大小在时间和空间两方面均有很强的相关性。因此本文利用基本单元间的空间相关性来改进MAD预测模型,并且引入运动矢量作为衡量图像复杂度的标准,根据图像的复杂程度来决定选用的预测模型。
如图1所示,编码过程中利用当前编码基本单元Cur和前一帧相同位置基本单元Pre的邻域对原算法进行改进。
图1 编码帧的基本单元分布情况
具体的MAD时空加权预测模型为
(3)
2.1.1 水平运动矢量较大的情况
(4)
式中:X1和X2为当前帧水平方向上的扩展参考基本单元,如图2所示。
图2 水平运动矢量较大时的参考基本单元分布情况
2.1.2 垂直运动矢量较大的情况
(5)
式中:X3,X4,X5为当前帧垂直方向上的扩展参考基本单元,如图3所示。
图3 垂直运动矢量较大时的参考基本单元分布情况
2.1.3 其他情况
在不符合前两种情况时仍然采用式(3)来计算当前基本单元的MAD值。
在上述4种预测模型中,加权系数为常数,算法复杂度低,并且考虑了基本单元MAD值之间的时间和空间相关性。在图像运动剧烈的情况下,不仅在原算法基础上加入了相邻基本单元的平均MAD值,还对加权系数分别赋予不同的权值来进行调整。
改进算法还通过设置4个预测模型来针对不同复杂度的编码图像,再结合运动矢量作为图像复杂度的判断依据来对加权预测进行分级处理。这也是利用了运动矢量的性质,由于运动矢量本身就部分体现了图像的复杂度,其绝对值越大,图像变换速度越快,运动也就越剧烈,以此作为衡量图像复杂度的标准可以使MAD的预测更为合理。改进的预测模型在引入运动矢量作为图像复杂度阈值判断的同时,也将其水平、垂直分量进行比较来判断图像的复杂类型,针对不同类型的视频序列在预测模型中分别添加水平或垂直预测基本单元,从而更精确地预测当前基本单元的MAD值。
通过大量实验,并且考虑到实时低码率下的应用,采用宏块作为基本单元,取b1=0.35,b2=0.45,b3=0.2,Th=16(在下文实验中均按此参数进行测试)可提高预测精度。
2.2 基于图像复杂度的目标比特分配优化
H017提案在基本单元层中采用将剩余比特数平均分配给所有未编码基本单元的码率控制方案,这样的平均分配方案并没有考虑到图像中不同基本单元之间复杂度的差异性,在场景快速变化时分配过少的目标比特,导致量化参数QP过大,影响码率控制的精度和图像编码质量。
文献[16]中用MADradio来代替MAD,其中MADradio是线性预测的MAD值与已编码帧的平均MAD的比值,即用已编码帧的平均MAD值来表征图像序列的复杂度,并指出MADradio能很好地反映当前帧相对于整个序列的运动剧烈程度。
为了更合理地给未编码基本单元分配目标比特,本文在MAD时空加权预测模型的基础之上,将式(3)所得到的MADcur引入到目标比特的分配计算中。
本文利用当前基本单元的预测值MADcur与之前已编码基本单元的MAD平均值MADave的比值作为复杂度衡量因子λMAD,用来调整剩余比特数的分配。具体算法如下
(6)
(7)
(8)
为了验证本文算法的有效性,所有的实验都是在JVT的开源模型JM10.1上进行,并且与JVT-H017算法以及文献[9]的相关算法进行了比较。选用的测试序列为akiyo,silent,mother-daughter,foreman,carphone,highway的QCIF格式视频以及waterfall的CIF格式视频,其中waterfall视频代表了垂直方向运动大于水平方向运动的非常规运动序列。
在测试条件上将目标码率分别设置为48kbit/s和64kbit/s,编码帧数为200帧,帧率为30f/s(帧/秒),参考帧数为1,采用Hadamard编码,熵编码类型采用CAVLC,初始量化参数为28,GoP结构为IPPP,即编码时第一帧为I帧,其余为P帧。
实验结果见表1与表2,两份表格分别记录和比较了各序列的峰值信噪比以及码率控制情况,其中码率偏差是实际码率与目标码率的差值与目标码率的百分比,比值越小说明算法码率控制得越精确。图4是foreman视频序列在目标码率为48kbit/s时各帧PSNR的比较曲线,比较算法为JVT-H017以及本文算法。图5是foreman视频序列在目标码率为48kbit/s时的主观质量比较情况,左、右分别为JVT-H017和本文算法所得到的图像。
表1 JVT-H017、文献[9]算法和本文算法的PSNR比较
由表1及表2的实验数据可以看出,在低码率条件下,相比于其他算法,本文算法不仅得到了更高的PSNR,还使实际码率更接近于目标码率。同时本文算法对waterfall这一非常规类型的视频序列也能有较好的表现,在48kbit/s的目标码率下能够使码率偏差由JVT-H017的0.40%降低到0.17%,这是由于本文算法考虑了垂直运动矢量较大这一情况后所得到的结果。
由图4和图5可以从客观和主观两个方面发现本文算法得到的视频质量更好,在视频主观质量上,本文算法更好地还原了人物的面部特征,这也是改进了JVT-H017算法中平均分配剩余比特方案后所带来的优势。
本文分析了H.264中的JVT-H017码率控制算法,指出该算法的不足并进行了相应改进。改进后的算法充分利用了编码过程中的运动矢量信息来预测MAD值,在此基础上根据MAD值的变化情况来反映图像序列的复杂度,从而更精确地分配目标比特。实验结果表明,与JVT-H017算法以及较新的算法相比,本文算法在码率控制方面更加精确,图像质量也有一定提高,从而改善了H.264视频编码的性能。
表2 JVT-H017、文献[9]算法和本文算法的码率比较
图4 foreman序列PSNR实验结果比较
图5 foreman序列的主观质量比较
[1]THOMASW,GARYJS,GISLEB,etal.OverviewoftheH.264/AVCvideocodingstandard[J].IEEETrans.CircuitsandSystemsforVideoTechnology,2003,13(7):560-576.
[2]CHENZ,NGANK.Recentadvancesinratecontrolforvideocoding[J].SignalProcessingImageCommunication,2007,22(1):19-38.
[3]ISO/IEC/JTC1/SC29/WG11,MPEG93/457,MPEG-2videotestmodel5[S].1993.
[4]CORBERAJR,LEIS.RatecontrolinDCTvideocodingforlow-delaycommunication[J].IEEETrans.CircuitsandSystemsforVideoTechnology,1999,9(1):172-185.
[5]LEEH,CHIANGT,ZHANGYQ.ScalableratecontrolforMPEG-4video[J].IEEETrans.CircuitsandSystemsforVideoTechnology,2000,10(9):878-894.
[6]VETROA,SUNH,WANGY.MPEG-4ratecontrolformultiplevideoobjects[J].IEEETrans.CircuitsandSystemsforVideoTechnology,1999,9(1):186-199.
[7]JVT-H017,Proposeddraftofadaptiveratecontrol[S]. 2003.
[8]JVT-W042,Ratecontrolreorganizationinthejointmodel(JM)referencesoftware[S]. 2007.
[9]陈晓,刘海英.一种改进的H.264/AVC帧层码率控制算法[J].电视技术,2013,37(9):5-7.
[10]方志军,高永彬,舒雷,等.场景切换视频自适应帧间码率控制[J].中国图象图形学报,2013,18(6):692-698.
[11]LIULi,ZHUANGXinhua.AnovelsquarerootratecontrolalgorithmforH.264/AVCencoding[C]//Proc.IEEEInternationalConferenceonMultimediaandExpo.NewYork:IEEEPress,2009:814-817.
[12]郑巧燕,郁梅,彭宗举.一种结合人眼视觉特性的H.264/AVC码率控制算法[J].光电子·激光,2011, 22(3):440-445.
[13]袁武,林守勋,牛振东.H.264/AVC码率控制优化算法[J].计算机学报,2008,31(2):329-339.
[14]朱仲杰,白永强,蒋刚毅,等. 基于双模预测的精确码率控制[J].中国图象图形学报,2010,15(4): 541-546.
[15]CHIANGT,ZHANGYQ.Anewratecontrolschemeusingquadraticratedistortionmodel[J].IEEETrans.CircuitsandSystemsforVideoTechnology,1997,7(1):246-250.
[16]JIANGMQ,YIXQ,LINGN.Improvedframe-layerratecontrolforH.264usingMADratio[J].IEEEInternationalSymposiumonCircuitsandSystems,2004,23(5):813-816.
Novel Rate Control Algorithm Based on Image Complexity and Motion Information
CHEN Lifeng,LI Ziyin
(CollegeofOpticalandElectronicTechnology,ChinaJiliangUniversity,Hangzhou310018,China)
In view of drawbacks of existing rate control algorithms,an improve rate control algorithm for H.264 is proposed. On the one hand,four novel weighted models using both temporal and spatial information are proposed to predict the MAD of different motion intensity. On the other hand,the changes ofMADare adopted to represent the image complexity,and used as a coefficient of the target bit allocation. Compared with algorithms of JVT-H017 and references, the bit rate of proposed algorithm is closer to the target bit,and the average of peak signal to noise ratio is improved.
H.264;rate control;mean absolute difference(MAD);motion vector(MV)
国家自然科学基金项目(61007012);国家科技支撑计划子课题项目(2012BAF07B05-3);浙江省科技创新团队项目(2010R50020)
TN919.81
A
10.16280/j.videoe.2015.01.007
2004-12-10
【本文献信息】陈立峰,李子印.基于图像复杂度及运动信息的码率控制算法[J].电视技术,2015,39(1).
陈立峰(1987— ),硕士生,主要研究方向为视频编解码技术;
李子印(1978— ),博士,硕士生导师,主要从事视频压缩与通信、图像处理、模式识别等方面的研究。
责任编辑:时 雯