AVS2帧内预测模式快速选择算法
2016-11-01王国中赵海武
郑 成,王国中,范 涛,赵海武
(上海大学 通信与信息工程学院,上海 200444)
AVS2帧内预测模式快速选择算法
郑成,王国中,范涛,赵海武
(上海大学 通信与信息工程学院,上海 200444)
AVS2是我国新一代具有自主知识产权的视频编码标准,相比于同代国际标准HEVC在压缩效率上基本相当,而比上一代国标AVS在压缩效率上提升了一倍左右。然而随着压缩效率的大幅度提升,其编码复杂度也急剧增加,例如复杂的块划分,更多的预测模式等。为提升编码速度,使其适用于实时应用,提出一种快速帧内模式选择的算法,一方面通过对各帧内模式的利用率分析,避免了RMD(Rough Mode Decision)野蛮遍历各种模式;另一方面,通过先验知识构成终止RDO(Rate-Distortion Optimized)条件,且根据纹理估计进一步优化其终止条件,可有效提高RDO的效率。实验结果表明,在图像质量几乎不下降的前提下,优化后的RMD模式命中率高达98%,全I帧编码BD-Rate大约增加0.96%,而编码时间节省了约34%,大幅提升了AVS2帧内编码的速度。
AVS2;帧内预测;模式选择;纹理方向
AVS2是新一代音视频编码的国家标准,其主要包括3个部分,即音频、视频以及系统。AVS2-P2即《信息技术高效多媒体编码》的视频部分(以下简称为AVS2)于2014年7月已经制定完成,其相比于上代编码标准在帧结构、编码结构、帧内帧间预测技术、变换结构、熵编码以及环路滤波等都做了较大的改进。然而,大量新技术的引入导致算法复杂度也急剧上升[1-2]。为达到高清乃至超高清视频的实时编码,对编码算法进行优化是极其有必要的。AVS2对于帧的种类划分基本沿用上一代标准,即I帧,B帧及P帧,并加入F帧(双前向预测),其中I帧作为GOP(Group of Pictures)的第一帧,在码流中所占的比特数也是比较多的,同时它也是其他帧的参考帧,所以I帧对编码效率以及图像质量影响较大。研究如何快而好地进行帧内编码对于整个编码框架的优化有着重要的意义。
1 AVS2帧内预测
1.1CU,PU,TU的划分
在编码结构上,AVS2采用了四叉树结构如图1所示,其中64×64的块被称为LCU(Largest Coding Unit),深度为0,往下递归划分为4个相同的32×32的CU,深度为1,如此递归直到8×8。在每一个CU结构中又可以有PU(Prediction Unit)与TU(Transform Unit),顾名思义PU是预测时所用的单元,每个PU由尺寸、预测模式等信息构成;TU是变换量化时所用的单元,每个TU由尺寸、残差系数等信息构成。
图1 CU四叉树划分示意
PU和TU是同一层次上的结构单元,它们都是在CU下划分的。图2给出了AVS2在帧内预测中PU的4种划分方式,依次为2N×2N,N×N,N×nN,nN×N,该技术被称为短距离预测技术,能够有效适应某些独特的条纹状块。AVS2中帧内TU的划分相较于HEVC的TU是比较简捷的,没有进一步对TU进行四叉树划分,而是和PU一样大小,这样做的原因是:PU中的像素值在空域中一般是符合一定的纹理规律,所以变换后在频域上的分布也是相对集中的,如果对TU进行四叉树划分,性能几乎不会有提升,反而会耗费大量时间。因此HEVC的诸多快速算法中大多数采用了Fast RDT(快速TU尺寸选择)的方式提前终止TU的划分。
图2 AVS2帧内PU划分模式
1.2AVS2帧内预测过程
与HEVC不同,AVS2采用自底而上的编码顺序,类似于四叉树的后续遍历。首先是CU层面的递归,确定某一个CU后对其进行PU的划分。AVS2中只有8×8大小的CU才会进行N×N的PU划分,其他大小的CU一律只做2N×2N的PU划分。PU划分确定后会对其进行模式选择,大概分为4步:1)获得周边块的模式;2)进行33种模式进行遍历;3)计算33种模式的SAD代价进行模式粗选,选出9种候选模式构成集合SC;4)对SC中的模式做RDO选出当前PU最佳预测模式,如图3所示。
图3 AVS2帧内预测过程
从以上分析可以看出,AVS2的帧内预测过程是比较复杂的,计算量主要集中在以下3个方面:1)遍历LCU划分CU的各种可能;2)RMD;3)RDO。本文主要针对后两者进行分析。
2 快速帧内模式选择算法
HEVC中的帧内快速算法对帧内预测复杂度的减少主要集中在1.2节中总结的3点。文献[3]提出了一种基于梯度方向和直方图的CU递归提前终止的算法,平均节省时间20%左右。文献[4]将CU的划分看成一个统计估值的问题,利用贝叶斯决策来判断CU是否划分。本文在RDM和RDO两方面对AVS2的帧内模式选择进行优化。
2.1基于pRMS模型优化的快速RMD
文献[5]提出了一种pRMS(Progressive Rough Mode Search)模型以提升RMD的速度,其核心思想是定义两种模式间的距离
(1)
式中:i和j为模式的标号,并且规定DC、Planar模式和其他角度模式中d为无穷大。pRMS模型主要对角度模式进行“下采样”,采样的步长为d=4,这样就选出了特征模式集合SS。遍历SS选出最佳的特征模式后,再计算与特征模式距离d=2的模式的代价,依次递归直至距特征模式d<4的模式全部计算完代价后截止,选出候选模式集合SC。
本文算法对AVS2中的RMD优化也同样是先特征后局部的思路,如图4所示。但是,上述pRMS有两方面点不足:一方面,选取特征模式步长为固定值4,没有考虑到模式的利用率;另一方面,没有考虑到不同尺寸PU的纹理特性导致的角度模式利用率。
图4 特征模式12,17,21被选中
针对以上两点,本文分别做出相应的改进优化。首先,经实验统计出AVS2帧内预测模式的利用率,如图5。先不考虑模式0~2特殊模式,从饼状图中可以很容易发现,模式12(垂直模式)和模式24(水平模式)这两个模式本身以及其附近的模式利用率较高,根据这个特点,设计出如下特征模式集合
SS={5,9,12,17,21,24}
(2)
图5 AVS2帧内模式利用率
可以看出该集合中模式距离d不是一个固定值,而是在3~5直接浮动,靠近模式12和模式24,特征模式距离d相对较小。这样特征模式就比原pRMS中固定步长选出的特征模式有了更明显的针对性,突出了特征的含义。
其次,对于pRMS中不同尺寸的PU采用同样方法,本文做了如下优化。上面提到不同模式的利用率是不一样的,那么,可以考虑不同尺寸PU的模式利用率也是各不相同。小尺寸的PU纹理方向复杂多变,大尺寸的PU平坦顺滑,所以大尺寸的PU对于角度模式的利用率远低于小尺寸的PU。实验结果也很好地证实了这一推论。本文算法规定:32×32及以上尺寸的PU为大尺寸PU,其余为小尺寸PU。表1给出了不同尺寸PU对角度模式的利用率。
表1不同尺寸PU对角度模式利用率%
尺寸模式0~2模式12模式24模式25其他大尺寸39.349.4620.436.9823.80小尺寸31.649.4613.904.8440.16
据此,本文算法对于大尺寸的PU只选取模式0~2、模式12、模式24以及模式25,无须进行复杂的模式选择。对于小尺寸的PU则进行上述的基于pRMS优化的算法进行候选模式选择。
经实验,表2与表3分别给出了优化前后的命中率对比。命中率由式(3)给出
(3)
式中:Nm0,Nm1分别是候选模式集合SC中前两种模式选中的数量;Nall指所做RMD次数的总数。
表2本文算法在RMD中的命中率
序列QPDepthd01234BasketballPass2294.44%94.56%99.33%99.63%99.33%3794.40%94.72%99.32%99.50%98.55%Video1720p2299.77%99.27%99.51%98.94%96.41%37100%99.26%99.36%98.20%94.28%平均值97.39%97.15%96.95%99.38%99.07%97.14%
表3文献[5]中pRMS在RMD中命中率
序列QPDepthd01234BasketballPass2266.8%76.4%84.9%99.7%99.6%3769.8%82.9%85.8%99.6%98.55%Video1720p2289.7%87.9%90.2%98.4%99.5%3790.0%88.1%89.7%99.6%99.8%平均值89.84%79.08%83.83%87.65%99.33%99.36%
对比两表中的数据可以看出,本文算法在RMD中命中率在各种分辨率和块尺寸上分布均匀,平均命中率达到了97.9%,标准差仅为2.1%,优于pRMS的89.8%和9.8%。
另一方面,经实验证明优化后的RMD在全I帧配置下编码时间节省约为15%且对编码效率几乎没有影响。
2.2基于纹理估计的RDO提前终止
2.1节描述了在RMD中,根据块大小分别选用不同的方法降低了原始RMD的复杂度,提升了速度。本节通过提前终止RDO以进一步降低原始RDO的复杂度。RDO是帧内预测中最为耗时的模块,因为它要对每一个TU进行变换、量化、熵编码,所以RDO的提前终止在快速帧内预测算法中是较为关键的一环。本文算法的思路是构建一个终止条件模式集合ST和已遍历模式集合SD,当这两个集合满足式(4)时终止RDO
SD∩ST=ST
(4)
首先论述集合ST的构成。文献[6]已经证明候选模式集合SC中的前两个模式成为最终的模式有很高的可能性,故而将选模式集合SC前两种模式加入ST。其次,由于DC、平面以及双线性模式的平均命中率高达32%,所以也加入到ST中。最后,实验表明,MPM的命中率在50%以上,所以也将MPM中两种模式m0和m1加入ST,此时ST中模式数量为3~7种
ST={m0,m1,DC,Planar,Bilinear,MPM}
(5)
对比RMD后有6种或9种候选模式,ST中的模式数量还是较多的,尤其对于32×32以上的大块,在RDO上几乎没有性能的提升。故而本文提出一种简易的方法估计当前PU的纹理方向,据此减少ST中的模式。下面给出简易估计PU块纹理的方法。
首先计算当前PU块在水平、45°以及垂直3个方向上的变化,如图6所示。
图6 AVS2帧内模式利用率
式(6)以水平方向为例计算出水平方向的变化
(6)
(7)
式中:m为经验值,本文取30。式(7)反映了PU块的起伏程度,如果满足则选用DC、Planar模式的可能性很小。
进一步,如果dX,dX-Y,dY满足
dY>dX-Y>dX
(8)
水平方向上的变化最小,由于模式12是垂直预测模式,故可以将ST中小于模式12的模式去掉。反之,可以将ST中大于模式24的模式去掉。
其次,初始化SD为
(9)
遍历选模式集合SC中的模式mi,如果mi是SD中任意模式(除特殊模式)的附近模式,就将mi加入到SD中直至SD和ST满足式(4),此时SD中的模式即为需要做RDO的模式,这里定义附近模式为与特征模式距离d<Δd的模式。算法流程如图7所示。
图7 RDO提前终止流程
需要说明的是,选用附近模式的原因是考虑到2.1节中对大小块采用了不同的处理方法,对于小块采用较多的角度模式,而小块的纹理虽然丰富多变,但是由于尺寸小,其纹理方向一般是单一的,所以mi与ST中的角度模式应该集中在一个方向附近,而不是在不同方向上。本算法中Δd取2,其后的实验结果印证了此条件对于复杂纹理的效率较高。
3 实验结果
为验证上述算法的性能,在AVS2参考代码RD12.0版本中实现。实验在全I帧的配置下,对不同尺寸、不同纹理复杂度以及不同QP情况下进行测试,以验证算法在不同情况下的性能,测试条件如表4所示。
表4测试条件
项目内容硬件平台CPU:IntelCore(TM)i3-2310M内存:6Gbyte1333MHz主板芯片组:IntelHM65芯片组操作系统Windows7旗舰版64位软件平台RD12.0软件配置配置文件:encoder_ai.cfgQP:22,27,32,37测试序列尺寸1980×1080,1280×720,842×480,416×240
对编码性能的分析采用了峰值信噪比差值(BDPSNR)和编码比特率差值(BD-Rate)这两个客观指标来评判,它们是目前视频编解码中最为常用的客观性能指标,其中BDPSNR用来衡量视频序列中图像失真的程度,BD-Rate可以用来衡量压缩效率。除了上述两个客观指标,对编码速度的提升用ΔT表示,定义为
(10)
式中:timepro表示本文提出算法耗时;timeref表示参考算法耗时。
另外,由于文献[5]没有给出BD-Rate数据,故用ΔR表示压缩效率,定义为
(11)
式中:ratepro表示本文提出算法的比特率;rateref表示参考算法的比特率。
表5为本文算法相对于参考软件的性能测试对比,其中每个序列的测试结果为QP取22,27,32,37时的均值。
表5本文算法测试结果
分辨率序列ΔT/%ΔR/%BD-Rate/%BDPSNR/dB1920×1080Kimono1-39.850.350.58-0.02BasketballDrive-30.440.540.17-0.01平均-35.150.450.38-0.021280×720City-34.310.500.95-0.07Grew-37.241.021.13-0.04平均-35.780.761.04-0.06832×480BQMall-33.320.721.14-0.07PartyScene-31.320.531.02-0.09平均-32.320.631.08-0.08416×240Racehorse-33.681.011.53-0.12BlowingBubbles-30.440.781.17-0.08平均-32.060.901.35-0.10
对表5数据进行分析可以发现,相比于参考软件,ΔT约为-33.83%,BD-Rate约为0.96%,BDPSNR约为-0.06 dB。序列分辨率越大时,一方面提速越发明显,另一方面,其BD-Rate和BDPSNR也越小。可以说明,该算法在分辨率高的时候性能比较好。分辨率相同时,纹理复杂度越高,算法性能也越好。上述两点都是由于算法对小块处理更为细致,比如粗选模式的选用,RDO提前终止的条件都是符合小块的纹理特性。文献[7]是目前AVS2平台上为数不多的帧内快速算法之一,其算法相对于参考软件,ΔT约为-16.5%,BD-Rate约为0.89%,BDPSNR约为-0.03 dB,具体数据如表6所示。
表6文献[7]提出算法测试结果
分辨率ΔT/%BD-Rate/%BDPSNR/dB1920×1080-18.571.38-0.031280×720-17.851.18-0.03832×240-15.470.48-0.03416×240-14.240.54-0.02
对比两组数据可以看出,本算法首先在提速上相比于文献[7]算法有了进一步提升,ΔT大约是其2倍。其次,本文算法在编码效率上相对于文献[7]算法几乎没有变低,其中BD-Rate相当,BDPSNR有所偏低。进一步对比,本文算法在720p的序列中,速度上远远比文献[7]算法快,并且在编码效率上也不分上下;在1 080p的序列中,无论是速度提升、编码效率均远好于文献[7]算法。考虑到新一代编解码标准是为解决高清、超高清视频的传输与存储的,所以本算法在高分辨率、纹理复杂的序列中表现出的优良性能远优于文献[7]算法。
4 结语
本文重点分析了AVS2帧内预测过程,其相比于上一代视频编码标准在模式数量、模式选择过程以及CU递归划分上均复杂很多。针对这一问题,分析了各模式在不同大小块中的利用率,并且利用此分布特性对不同尺寸选用不同的模式集合进行粗选,减少模式数量,并在此基础上优先考虑块的纹理特性,设计了RDO的终止条件,节省了RDO的次数,提高了RDO的效率。
实验结果表明,本文算法对于AVS2帧内预测提速效果明显,节约时间约33.83%,且编码效率几乎没有下降,尤其在高分辨率、复杂纹理情况下算法性能优异,为AVS2在高清、超高清视频方面的应用奠定了一定基础。
不可忽略的是,HEVC中同类算法由于考虑到了CU划分的提前终止,其帧内预测过程相比于HM在ΔR约1.0%的情况下,提速达到了60%左右[5],明显好于当前AVS2的帧内快速模式选择算法。下一步,一方面可以借鉴CU划分提前终止的思路,在AVS2中根据当前LCU的信息跳过一些底层CU的遍历。另一方面,模式选择中进行率失真优化时总需要熵编码,花费了大量的时间,如果能采用一定的方法估计出比特数,这样能大幅度提升编码的速度。
[1]黄铁军. AVS2标准及未来展望[J]. 电视技术,2014,38(22):7-10.
[2]周芸. AVS2视频编码关键技术[J]. 广播电视信息,2015,9(2):18-21.
[3]JIANG W,MA H,CHEN Y. Gradient based fast mode decision algorithm for intra prediction in HEVC[C]//2012 2nd International Conference on Consumer Electronics,Communications and Networks (CECNet). [S.l.]:IEEE,2012:1836-1840. DOI:10.1109/CECNet.2012.6201851.
[4]SHEN X,YU L, CHEN J. Fast coding unit size selection for HEVC based on Bayesian decision rule[C]//Picture Coding Symposium(PCS).California:IEEE,2012:453-456.DOI:10.1109/PCS.2012.6213252.
[5]ZHANG H,ZHAN M. Fast Intra mode decision for high efficiency video[J]. IEEE transactions on circuits and systems for video technology,2014,24(4):660-668.DOI:10.1109/TCSVT.2013.2290578.
[6]ZHAO L,ZHANG L,MA S,et al. Fast mode decision algorithm for intra prediction in HEVC[C]//IEEE VCIP.[S.l.]:IEEE,2011:1-4.
[7]赵超,赵海武,王国中,等.快速AVS2帧内预测选择算法[J].计算机应用,2015,35(11):3284-3287.
郑成(1992— ),硕士生,主研视频编码标准、新媒体技术;
王国中(1962— ),博士生导师,主要研究方向为中国音视频编解码标准AVS、三网融合、基于AVS和DTMB的双国标数字地面电视系统和3DTV等;
范涛(1983— ),博士生,主研视频编码标准、3DTV、新媒体技术、三网融合技术等;
赵海武(1973— ),硕士生导师、博士,主要研究方向为数字视频编解码技术、转码技术等。
责任编辑:时雯
Fast intra prediction mode decision algorithm for AVS2
ZHENG Cheng,WANG Guozhong,FAN Tao,ZHAO Haiwu
(SchoolofCommunicationandInformationEngineering,ShanghaiUniversity,Shanghai200444,China)
AVS2 is a new generation of video coding standard with independent intellectual property rights. Compared with the international standards HEVC, it is roughly equal on compression efficiency. Compared to AVS1,AVS2′s compression efficiency is improved twice. Along with the increases in compression efficiency, its complexity has increased dramatically, such as Complex block partition, more prediction mode and so on. To increase encoding speed, a fast intra mode decision algorithm is proposed in the paper. On the one hand, through the analysis of the utilization of intra mode, proposed algorithm can avoid the traverse of various modes in the RMD. On the other hand, the termination condition of RDO (Rate-Distortion Optimized),based on prior knowledge and texture estimation, has effectively improved the speed of RDO. Experimental results have show that,on the premise of almost no decline in quality of the image, AVS2 intra-frame coding time is greatly reduced.
AVS2; intra prediction; mode decision; texture direction
TN919.81
ADOI:10.16280/j.videoe.2016.10.001
国家“863”计划项目(2015AA015903)
2016-03-27
文献引用格式:郑成,王国中,范涛,等.AVS2帧内预测模式快速选择算法[J].电视技术,2016,40(10):1-5.
ZHENG C,WANG G Z,FAN T,et al.Fast intra prediction mode decision algorithm for AVS2[J].Video engineering,2016,40(10):1-5.