基于URQ模型的I帧码率控制
2015-10-28王朋倪翠张广渊李克峰
王朋,倪翠,张广渊,李克峰
山东交通学院信息科学与电气工程学院,济南250357
基于URQ模型的I帧码率控制
王朋,倪翠,张广渊,李克峰
山东交通学院信息科学与电气工程学院,济南250357
当目标码率较低时,在编码视频序列中周期性地插入I帧,会导致重建视频播放时出现“闪烁”现象.为提高I帧重建质量,抑制“闪烁”,提出了一种基于URQ模型的I帧码率控制算法.首先根据图像的运动趋势和复杂度将I帧划分为运动区域、图像复杂区域和平坦区域;然后依据人眼视觉系统对不同区域“闪烁”的敏感性,为视觉敏感区域分配更多的码率,其他区域分配较少码率;最后,利用URQ模型计算编码所需的量化参数值,实现对I帧的码率控制.实验结果表明,所提算法能够在保证码率控制精度的前提下,有效抑制由于周期性插入I帧导致的视频“闪烁”现象,提高重建视频的整体主客观质量.
URQ模型;“闪烁”抑制;I帧;码率控制
随着数字视频技术的发展,H.264/AVC标准越来越无法满足人们对视频编码的需求.2010年1月,ITU-T视频编码专家组(video coding experts group,VCEG)和运动图像专家组(moving picture experts group,MPEG)开始发起新的视频压缩技术的正式提案.2013年1月,新的高性能视频编码(high efficiency video coding,HEVC)[1]标准发布最终版本.与H.264/AVC标准相比,HEVC通过采用更加灵活的四叉树编码块划分、基于方向的帧内预测与预测类型和自适应运动矢量预测选择机制等新技术,使得编码效率大大提升,但编码复杂度也随之提高[2].由于HEVC仍然采用和H.264/AVC类似的编码结构,I帧就成为影响编码效率的关键因素之一.在视频编码过程中,为了容错、场景切换和随机存取等需要,通常在编码视频序列中周期性地插入I帧.由于I帧的编码效率大大低于P帧和B帧,当目标码率较低时,在编码过程中如果不对I帧加以控制,则会导致重建后的I帧质量低于P帧和B帧.此时如果在视频序列中周期性地插入I帧,就会出现视频“闪烁”现象.
码率控制根据给定的目标码率计算QP值,使得编码器的输出码率和目标码率相匹配,在视频编码中起着重要作用.在HEVC的参考代码HM10.0[3]中,共有两种码率控制模型,一是基于像素的统一的码率量化(unified rate-quantization,URQ)参数模型[4],二是R-Lambda模型[5].URQ模型能够对HEVC中尺寸多变的编码块起到较好的控制效果,但在码率分配阶段并没有对I帧加以区分,因此周期性插入I帧导致的“闪烁”现象难以消除.R-Lambda模型可能考虑了各类型帧的编码效率不同,根据I帧bpp(bits per pixel)值的范围调整I帧所分配的码率,但这种调整较为固定,并不能灵活地随着视频内容的变化而变化.虽然调整后I帧的重建视频质量得到了保证,但其实际编码输出的码率过大,容易造成其后的P帧/B帧目标码率不足,重建视频质量下降.
针对I帧的码率控制研究一直是视频编码领域的热点,抑制周期性插入I帧导致的视频“闪烁”现象正是其中的一个研究方向[6-7].许多“闪烁”抑制算法相继提出,这些算法通常可以分为3类:1)在编码前后采用滤波技术消除“闪烁”[8-9];2)通过修改编码标准中的帧内编码模式消除“闪烁”[10-11];3)通过多次编码选择合适的编码参数消除“闪烁”[12].这些算法在一定程度上或在某种特定的应用环境下能够抑制“闪烁”现象,如文献[12]提出的两次(2-pass)编码算法.编码I帧时,首先采用帧间编码方式编码该帧,此时解码后重建帧的“闪烁”现象不明显.然后以该重建帧为参考,采用较小的量化参数(QP)以帧内编码方式再次编码该帧.两次编码算法对I帧引起的“闪烁”现象能起到一定的抑制作用,但从根本上说,引起视频“闪烁”现象的原因如下:各重建帧的质量不连续,特别是重建的I帧质量远低于其相邻帧,而重建帧的质量在很大程度上依赖于码率控制阶段计算出的QP值.
本文从码率控制角度出发,重点研究P帧和I帧切换时出现的视频“闪烁”现象,提出一种基于URQ模型的I帧码率控制算法,以抑制“闪烁”.首先,将I帧划分为3个区域,即运动区域、图像复杂区域和平坦区域.然后,在为编码树单元(coding tree unit,CTU)分配目标码率时,如果CTU的目标码率小于0,则根据该CTU所属区域调整目标码率.最后,根据调整后的目标码率,利用URQ模型计算CTU的QP值,提高I帧的重建质量,保证重建后I帧和P帧质量的连续性,抑制“闪烁”现象.
1 HEVC中I帧“闪烁”现象分析
一般来说,视频序列如果不存在场景切换,则连续两帧图像的内容不会有很大的差异.因此,如果连续两帧图像都以相同的QP值进行编码,即使分别采用帧间编码和帧内编码方式,解码重建后的质量也不会出现较大差异,“闪烁”现象并不明显.图1(a)显示了container序列中连续3帧的重建图像,采用HM10.0进行编码,编码图像组(GOP)大小为12,I帧插入间隔为24,CTU大小为64×64,采用固定的QP值32,不进行码率控制.其中,第95帧和第97帧为P帧,第96帧为I帧.由图1(a)可以看出,这3帧图像的质量没有明显变化,在播放时的“闪烁”现象也较轻微.
图1 Container序列解码重建后的第95~97帧质量比较Figure 1 Quality comparison of reconstructed frames from 95th to 97th of container
在HM10.0中,URQ码率控制模型在帧级码率分配时,只是根据GOP的剩余码率和缓冲区状态为当前帧分配目标码率,然后进行CTU级码率控制,但并没有考虑不同类型帧之间的差异.I帧的编码效率较低,每个CTU实际编码输出的码率较大,从而导致在编码完若干个CTU之后,I帧的目标码率就已经用尽.本文将container序列进行编码,采用码率控制,目标码率为240 kbit/s,其他配置和图1(a)编码时的配置相同,则第48帧、96帧和144帧都为I帧.图2显示了在编码过程中这3帧内每个CTU的目标码率.从图2中可以看出,在编码完若干个CTU之后,其他CTU的目标码率都小于0,这说明当前I帧的目标码率已经用尽.在这种情况下,URQ模型采用式(1)计算每个CTU的QP
式中,Qi(j)表示第i帧中第j个CTU的QP值.
图2 I帧中各CTU的目标码率Figure 2 Target bitrates of each CTU in I frames
随着QP的增大,CTU重建后的质量不断下降.图1(b)显示了这种情况下重建后图像的质量.从图中可以看出,I帧(第96帧)的质量下降明显,如图中椭圆内的白色波纹就已几乎消失.在播放时,就会因为I帧的质量和相邻帧不连续出现“闪烁”现象.另外,图像中非运动区域的“闪烁”比运动区域的“闪烁”更容易被人眼觉察[13],特别是在非运动区域内的平坦区域,“闪烁”现象最明显.从图1中也可以看出,平静的水面出现的“闪烁”现象更易被觉察,而运动且纹理复杂的货轮上出现的“闪烁”现象几乎不可觉察.因此,进行I帧码率控制时,就要考虑人眼视觉系统对不同区域“闪烁”的敏感性,合理调整不同区域的目标码率.
2 基于URQ模型的I帧码率控制算法
在基于URQ模型的I帧码率控制算法中,将I帧划分为运动区域、图像复杂区域和平坦区域三部分,然后根据CTU的所属区域调整为其分配的目标码率,以提高I帧的重建质量,达到抑制“闪烁”的目的.
首先,根据相邻帧中对应位置处CTU的帧间亮度差的均值划分运动区域和非运动区域
式中,Dk(m)表示第k帧中第m个CTU的帧间亮度差的均值,Np表示一个CTU中所包含的像素数目,Ik(i,j)表示第k帧中(i,j)位置的像素亮度值.得到Dk(m)后,根据式(3)将I帧划分为运动区域和非运动区域
式中,NC表示一帧中所包含的CTU数目.在一般情况下,视频中相邻帧之间的差异很小,为了降低计算复杂度,采用前一帧CTU的平均亮度差作为当前帧CTU的平均亮度差.因此,在式(3)中用Dk-1(i)来计算CTU的平均亮度差.当Mk(m)等于1时,表示当前CTU属于运动区域;反之,则属于非运动区域.图3显示了本文运动区域提取结果,从图中可以看出,所采用的运动区域提取算法能够较准确地提取出I帧中的运动区域.
图3 运动区域提取结果示意图Figure 3 Motion region extraction result
运动区域提取出之后,根据CTU的平均绝对误差(mean absolute difference,MAD)值和整帧图像的MAD值区分图像复杂区域和平坦区域.如果一个CTU的MAD值小于整帧图像的MAD值,则属于平坦区域,否则属于图像复杂区域.这里的MAD值是通过线性预测的方式,根据前一帧对应位置处的MAD计算得到的,和URQ模型中采用的方法相同.
其次,根据CTU的所属区域,调整其目标码率.如果第i帧中第j个CTU的目标码率Ti(j)满足Ti(j)>0,则直接利用URQ模型计算该CTU的QP值.如果Ti(j)≤0,则按照式(4)对Ti(j)进行调整
式中,Ti,o(m)表示第i帧中第m个CTU编码后的实际输出码率.
如果该CTU属于“闪烁”现象不明显的运动区域或图像复杂区域,则根据式(4)计算出的Ti(j),利用URQ模型计算该CTU的QP值.如果该CTU属于“闪烁”明显的平坦区域,则再次调整Ti(j),如式(5)所示:
式中,T′i(j)表示调整后的目标码率,Ap,i(j)表示根据前一帧对应位置处CTU的MAD值预测得到的当前CTU的MAD值,表示第i帧中前j个CTU的MAD的均值,其计算公式为
为了避免由于I帧的实际编码码率过大,导致后续P帧因为目标码率不足而造成质量严重下降,这里将进行限制,如式(7)所示:
本文算法能够提高I帧的整体重建质量,保证了I帧和相邻帧之间的质量连续性,特别是对平坦区域的CTU来说,其QP值更小,重建质量更高,从而抑制了“闪烁”现象.另外,由于对I帧内CTU的目标码率进行了调整,I帧的实际输出码率高于原算法,但由于I帧质量提高,其后续P帧的编码码率会降低,从而使整体的码率控制精度和客观质量均得到了保证.
3 实验结果及对比分析
本节测试本文算法的有效性,实验基于HEVC的参考软件HM10.0[3]进行,HM10.0采用URQ模型进行码率控制.分别测试重建视频的主观质量、客观质量(Y-PSNR)、“闪烁”程度F.文献[12]提出的两次编码算法和本文算法都在HM10.0中实现.实验选用的测试序列为国际标准测试序列container、tempete、football和foreman,帧率为25帧每秒,编码总帧数为200帧,目标码率分别为120 kbit/s、180 kbit/s、240 kbit/s,编码结构为IPPP,开启率失真优化选项,I帧插入间隔为24帧,GOP大小为12,初始QP值为32.
图4和5分别比较了container序列和foreman序列的重建图像质量.其中,第95帧和第97帧为P帧,第96帧为I帧.从图4(a)和5(a)中可以看出,HM10.0编码I帧时,I帧的重建质量明显低于其相邻的P帧,如图中椭圆所标识区域.本文算法中I帧的重建质量与相邻帧相比并无明显变化.因此,当周期性插入I帧时,HM10.0编码后的视频序列在播放时就会出现视频“闪烁”现象,而本文算法则有效抑制了这一点.
图4 Container序列重建图像主观质量比较Figure 4 Subjective quality comparisons of reconstructed frames of container
图5 Foreman序列重建图像主观质量比较Figure 5 Subjective quality comparisons of reconstructed frames of foreman
表1比较了在不同目标码率下HM10.0、两次编码算法和本文算法的重建图像客观质量,这3种算法的实际输出码率和目标码率都比较接近.采用Y-PSNR评价图像的客观质量,PSNR值(主要是Y分量,又称为Y-PSNR)是当前最通用的视频客观质量评价标准,YPSNR值越高,说明视频质量越高.从表1中可以看出,与HM10.0相比,两次编码算法平均提升0.23 dB,而本文算法平均提升0.39 dB.
为了客观度量视频“闪烁”程度,本文采用文献[15]提出的视频“闪烁”评价方法,如式(9)所示:
表1 重建图像客观质量比较Table 1 Objective quality comparisons of reconstructed frames
表2中,F表示“闪烁”程度,越大表示“闪烁”越明显.V表示均值,S表示差的平方和,Oi(j)表示第i帧中第j个CTU的原始像素的亮度值,Ri(j)表示第i帧中第j个重建CTU的像素的亮度值.本文考虑由I帧引起的视频“闪烁”现象,统计时仅计算I帧和其相邻帧之间的F值.重建视频“闪烁”程度客观度量比较如表2所示.Δ increment表示与HM10.0相比,“闪烁”程度降低的百分比.从表中可以看出,与HM10.0相比,两次编码算法的重建视频“闪烁”程度能够降低37.47%,而本文算法的重建视频“闪烁”程度能够降低50.54%.
图6比较了目标码率为240 kbit/s时,container序列和foreman序列中单帧图像的“闪烁”程度.本文算法和两次编码算法的单帧“闪烁”抑制效果均优于HM10.0,但本文算法对I帧中不同CTU的目标码率进行重新计算,有效避免了目标码率不足导致的I帧质量下降,“闪烁”抑制效果最优.
4 结语
本文提出一种基于URQ模型的I帧码率控制算法,重点在于解决由于I帧编码效率低导致的重建视频“闪烁”现象.通过对I帧进行区域划分、对CTU的目标码率进行调整等方法,提高了I帧的重建质量,保证了I帧和相邻帧间的质量连续性.实验结果表明,本文算法能在保证码率控制精度的前提下有效抑制I帧引起的视频“闪烁”现象,且重建视频的整体客观质量也有所提升.
表2 重建图像“闪烁”度量Table 2 Flicker measurement of reconstructed frames
图6 单帧重建图像“闪烁”程度比较Figure 6 Flicker comparisons of single reconstructed frames
[1]Bross B,Han W,Ohm J.WD4:working draft 4 of high-efficiency video coding[S].JCTVCF803,JCTVC of ISO/IEC and ITU-T,Torino,Italy,2011.
[2]Park S,Park J,Jeon B.Report on the evaluation of HM versus JM[S].JCTVC-D181,JCTVC of ISO/IEC and ITU-T,Daegu,Korea,2011.
[3]McCann K,Bross B,Han W.High efficiency video coding(HEVC)test model 10(HM 10)encoder description[S].JCTVC-L1002,JCTVC of ISO/IEC and ITU-T,Geneva,CH,2013.
[4]Choi H,Nam J,Yoo J.Improvement of the rate control based on pixel-based URQ model for HEVC[S].JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-I0094,Geneva,CH,2012.
[5]Li B,Li H,Li L.Rate control by R-lambda model for HEVC[S].JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-K0103,Shanghai,2012.
[6]LeonTaris A,Tonomura Y,Nakachi T.Flicker suppression in JPEG2000 using segmentationbased adjustment of block truncation lengths[C]//IEEE International Conference on Acoustics,Speech,and Signal Processing(ICASSP),2006,2:1117-1120.
[7]Chono K,Senda Y,MiyamoTo Y.Detented quantization to suppress flicker artifacts in periodically inserted Intra-coded pictures in H.264 video coding[C]//IEEE International conference on Image Processing(ICIP),2006:1713-1716.
[8]Yang J,Wu H.Robust fltering technique for reduction of temporal fluctuation in H.264 video sequences[J].IEEE Transactions on Circuits and Systems for Video Technology,2010,20(3):458-462.
[9]Nguyen T,Yea S,VeTro A.Adaptive fuzzy fltering for artifact reduction in compressed images and videos[J].IEEE Transactions on Image Processing,2009,18:1166-1178.
[10]Chun S,Kim J,Sull S.Intra prediction mode selection for flicker reduction in H.264/AVC[J]. IEEE Transactions on Consumer Electronics,2006,52:1303-1310.
[11]Chun S,Kim J,Sull S.Flicker reduction in Intra coded frames of H.264/AVC[C]//IEEE International Conference on Image Processing(ICIP),2006:2025-2028.
[12]Yang H,Boyce J,STein A.Efective flicker removal from periodic Intra frames and accurate flicker measurement[C]//IEEE International Conference on Image Processing(ICIP),2008:2868-2871.
[13]Becker A,Chan W,Poulouin D.Flicker reduction in intra frame codecs[C]//IEEE Data Compression Conference(DCC 2004),North Ryde,NSW,Australia,2004:251-261.
[14]Ren G,Li P,Wang G.A novel hybrid coarse-to-fne digital image stabilization algorithm[J]. Information Technology Journal,2010,9(7):1390-1396.
[15]Fan X,Gao W,Lu Y.Flicking reduction in all intra-frame coding[S].ISO/IEC JTC1/SC29/ WG11 and ITU-T SG16Q.6,JVT 5th Meeting,2002.
(编辑:管玉娟)
Rate Control of I-Frames Based on URQ Model
WANG Peng,NI Cui,ZHANG Guang-yuan,LI Ke-feng
School of Information Science and Electric Engineering,Shandong Jiaotong University,Ji'nan 250357,China
In high efficiency video coding,the coding efficiency of I-frames is lower than P-frames and B-frames,causing flicker artifacts,especially in low bitrates applications. We propose a rate control algorithm for I-frames based on URQ model to improve the reconstruction quality of I-frames to suppress flicker artifacts.An I-frame is classifed into three regions according to their motion vectors and complexity,termed motion region,texture-rich region and smooth region.According to diferent sensitivities of human visual system to diferent regions,visually sensitive regions are allocated more target bits.The URQ model is used to calculate QPs.Experimental results demonstrate that the proposed algorithm can efficiently suppress flicker artifacts and improve subjective and objective quality of the video.
URQ model,flicker suppression,I-frames,rate control
TN919.8
0255-8297(2015)01-0070-09
10.3969/j.issn.0255-8297.2015.01.008
2014-09-26;
2014-11-25
山东省优秀中青年科学家科研奖励基金(No.BS2013DX033);山东省科技发展计划基金(No.2014GGB01513)资助
王朋,博士,研究方向:视频编码、数字图像处理,E-mail:knightwp@126.com