成益龙,滕国伟,2,石旭利,王国中,2
(1.上海大学通信与信息工程学院,上海 200072;2.上海国茂数字技术有限公司,上海 201204)
HEVC(High Efficiency Video Coding)是由ISO/IEC(MPEG)和ITU-T(VCEG)正在规划的新一代视频编码标准,它的核心目标是在 H.264/AVC High Profile[1]的基础上,压缩效率提高1倍,即在保证相同视频图像质量的前提下,视频流的码率减少50%。HEVC部分继承了现有的视频编码标准H.264/AVC的技术,同时对一些相关的技术进行了改进,其中包括帧内预测技术[2-5]。
为了对高分辨力的视频进行有效压缩,HEVC采用CU(Code Unit),PU(Prediction Unit)以及 TU(Transform Unit)进行编码、预测和变换等操作。CU和H.264/AVC中宏块以及子宏块的概念类似,但是其尺寸更加灵活。CU的尺寸按四叉树递归的方式,根据深度的不同可以分为64×64,32×32,16×16,8×8。在每个深度的CU 中,多个不同尺寸的PU进行帧内预测编码,从高达34个预测方向中选取最佳预测方向。在所有不同深度的CU遍历完成之后,根据计算得到的率失真代价值确定CU的最佳划分尺寸以及帧内预测方向。
由于更加灵活的编码块CU的采用以及高达34个的帧内预测方向,HEVC的帧内预测十分精准,但是这也带来了极大的计算量。HEVC的帧内预测过程比H.264/AVC更为复杂,复杂度可达其数倍以上,这将极大影响HEVC标准的实际应用,因此提高HEVC帧内预测处理速度是十分必要的。
HM(Tmuc)是JCT-VC采用的HEVC的标准测试模型[6],该模型采用树型结构编码单元CU,对于亮度像素CU,其尺寸可以从64×64一直递归划分至8×8。图1表示CU的划分结构。
每一深度的CU可以被划分称为较小的CU,例如,对于depth=n的CU,如果它的划分标志位(split flag)为1,那么它将继续划分为depth=n+1的4个较小CU,每个较小CU的尺寸是上一深度CU的1/4。
PU(Prediction Unit)是预测单元,它是定义在一个CU中的,对于帧间预测、帧内预测以及SKIP模式,PU具有不同的划分结构。
TU(Transform Unit)是变换以及量化的单元。TU的尺寸必须小于或等于CU的尺寸,但是需要大于PU的尺寸。TU的尺寸可以分为2N×2N,N×N或者N/2×N/2。
图1 CU的树型结构
和H.264/AVC一样,HEVC也采用RDO准则进行最佳帧内预测方向的选取,但是不同于前者的是,在HEVC的参考模型HM中,预测方向多达34个,对于不同的PU尺寸,预测方向的数目不同。
在HEVC的参考代码HM2.0中,尺寸为4×4,8×8,16×16,32×32,64×64的 PU,其对应的帧内方向个数分别为17,34,34,34,3。结合不同尺寸 PU 的特点,预测方向分别不同。如此多的预测方向极大地提高了帧内预测的准确性,但也急剧增加了预测的复杂度。
目前对于HEVC快速帧内预测算法的研究工作还处于起步阶段,HEVC的参考模型HM2.0采用了三星公司提出的帧内快速算法[7]来减少预测方向,取得了良好的效果。三星的快速帧内预测算法流程[7-8]是:
1)确定最大候选预测方向个数。对于不同尺寸的PU,最大的候选预测方向个数不同,其中对于16×16,32×32,64×64的PU只有3个预测方向,对于4×4和8×8的PU有8个预测方向。
2)对于每个可用的PU进行预测,对残差进行Hadamard变换得到HSATD(Hadamard Sum Absolute Transform Difference),选择使公式(1)最小的几个预测模式作为候选模式
3)将上一步得到的几个候选模式加上最可能模式之后利用公式(2)选取使RDCost最小的方向为最佳预测方向。其中最可能方向是当前PU左方以及上方的预测模式的最小值,若左方以及上方均不可用,则将最可能模式设为DC模式。
经过三星公司快速算法选择后,预测方式的数量可以有效降低,但相对而言候选预测方向仍然较多,可以进一步优化。
实际上,考虑到帧内预测方向的时间相关性,相邻帧共同位置处的最佳预测方向可以为当前帧最佳预测方向的确定提供参考。另外,最佳CU尺寸亦存在时间上的相关性。由于视频序列的连续性,相邻两帧相同位置处CU的尺寸不会相差太大。例如对于相邻的两个图像A和B,若A中x位置处的CU最佳尺寸为64×64,那么B图像x处的CU的最佳尺寸也应多为64×64或者32×32;若A中y位置处的CU最佳尺寸为8×8,那么B中y处的CU的最佳尺寸也应多为8×8或者16×16,如图2所示。因此可以利用这一特性对当前帧最佳CU尺寸进行提前判定。
图2 当前帧与前一帧共同位置的CU
本文提出的算法从两个层面对HEVC的帧内预测技术进行优化,首先在CU层,然后在PU层:在CU层利用前后帧CU尺寸的相关性,根据前帧相同位置以及周围CU尺寸来减少当前帧CU的划分;在PU层在已有的三星快速算法[7]基础上结合CU层相关性进一步减少了帧内预测的模式数。
最佳CU尺寸存在时间上的相关性,相邻帧共同位置处CU以及共同位置处周围的CU可以用来预测当前帧CU的最佳尺寸。CU层快速算法基于这一思想来提前终止CU的划分或者跳过某些深度的CU编码,具体算法如下:
1)第一帧图像进行正常编码,存储编码后各位置的CU深度(Depth)。
2)若当前CU的深度等于前一帧相同位置处、相同位置处上方、相同位置处左方CU的深度,则仅对当前深度CU编码并结束CU的划分;若当前CU的深度仅等于前一帧相同位置处CU深度,则对当前CU以及下一深度进行编码,随后结束CU的划分。
3)否则,若当前CU的深度Depth(Cur)小于前一帧相同位置处CU的深度减1,跳过当前CU的编码,进入下一深度的CU。
4)否则,对当前CU进行编码和划分。
三星公司的快速算法虽然能取得较好效果,但是它没有考虑到视频图像间的空间和时间的相关性,因此需要计算的预测方向仍很多,尤其对于4×4和8×8尺寸的PU而言,数量较大。
实际上对于时间相邻的两帧,其相同位置处的预测方向是存有较大的相关性,如表1针对各种序列的统计结果所示。
表1 相邻帧预测方向的相关性
由表1可见,56.36%的当前帧的预测方向是前一帧相同位置处预测方向或者该方向周围的4个方向。因此可以在选出候选模式之后,考察各个候选模式(HCost最小的候选块除外)是否是前一帧共同位置CU预测方向或者左右的各两个方向,若候选模式不在此范围中,且其HCost大于最小HCost(min)的a倍,则将其排除出候选模式。其中a是经验值,经实验验证取1.2为宜。考虑到4×4以及8×8尺寸PU的候选模式为要明显多于其他尺寸的,因此改进算法只应用于4×4以及8×8的PU,具体流程如图3所示。
1)对第一帧图像正常编码。
2)利用三星的快速算法得到候选模式集合,确定HCost最小的候选模式。
3)考察除了HCost最小的候选模式,若候选模式不在前一帧共同位置CU预测方向周围,且其HCost>1.2×HCost(min),则将其排除出候选模式集。重复步骤3),直到所有候选模式考察完毕。
4)从由步骤3)得到的候选模式集中选出最佳的预测模式。
图3 PU层快速算法流程
本文的快速帧内预测算法在HEVC的测试模型HM 2.0已经实现,编码格式为全I帧。考虑到HEVC未来会应用到高分辨力图像中去,因此测试序列以高清和标清为主,具体为1920×1088p,1280×720p和720×576p,共6个序列。每个序列的QP分别为26,32和38,HM2.0采用低复杂度档次,最大CU的尺寸为64×64,最大划分深度为4。
表2给出本文算法相对于HM2.0中三星公司算法的改进结果。由表2可见,本文算法相对于三星公司的算法可节省最小27%、最大可达81%的时间,码率最大增加0.1%,PSNR降低最大仅有0.1 dB,相对于节省的计算代价而言,性能降低几乎可以忽略。
进一步分析实验结果可以看到,本文算法对于高分辨力、大尺寸视频的编码时间降低得尤为明显,主要是因为分辨率越高的视频图像采用大尺寸CU的数目编码的数目较多,通过较早地提前判断CU的尺寸,省去继续划分以及编码的时间。因此本文算法具有较高的实际应用价值,未来可应用于HEVC的实时高清编码中。
本文在分析了HEVC中帧内预测算法和已有快速算法的基础上,提出了一种基于时域相关性的帧内模式快速选择算法。该算法从CU层和PU层两个层面进行优化,通过利用相邻帧之间CU尺寸以及预测模式的相关性,减少了CU的划分深度以及PU的预测方向。相比于HEVC中已有的快速算法,本文提出的算法在编码效率损失非常小的情况下,显著提高了编码速度,取得了良好的实际应用效果。
表2 实验结果
[1]JCT-VC.Architectural outline of proposed high efficiency video coding design elements,A202[R].Dresden,Germany:JCT-VC,2010.
[2]MARPE D,WIEGAND T,SULLIVAN G J.The H.264/MPEG4 advanced video coding standard and its applications[J].IEEE Communications Magazine,2006,44(8):134-143.
[3]王海勇,孙雁飞,吴启宗.H.264编码中帧内预测算法研究[J].电视技术,2009,33(8):11-12.
[4]CHANG K,MEN A D,ZHANG W H.Fast intra-Prediction mode decision for H.264/AVC[J].ISECS International Colloquium on Computing,Communication,Control and Management,2009,3(14):69-73.
[5]霍利岭,张有会,王志巍,等.一种新的H.264/AVC帧内模式快速选择算法[J].电视技术,2010,34(12):39-42.
[6]MIN J H,LEE S,HAN W J,et al.Unification of the directional intra prediction methods in TMuC,B100[R].Geneva,CH:JCT-VC,2010.
[7]PIAO Y J,MIN J,CHEN J L.Encoder improvement of unified intra prediction,C207[R].Guangzhou,CN:JCT-VC,2010.
[8]KEN M C,HAN W J,KIM K.Samsung's response to the call for proposals on video compression technology ,A124[R].Dresden,Germany:JCT-VC,2010.