田小平,田永召
(1.西安邮电大学 电子工程学院,陕西 西安710121; 2.西安邮电大学 通信与信息工程学院,陕西 西安710121)
高性能视频编码(High Efficiency Video Coding,HEVC)是由视频编码联合协作专家组(Joint Collaborative Team on Video Coding,JCT-VC)组织开发,在2013年1月正式发布的新一代视频编码标准。HEVC更倾向于处理高清频,旨在允许编码复杂度增加的前提下实现同等质量时比现行的高级视频编码(H.264/MPEG-4Advance Video Coding,H.264/AVC)降低50%比特率的目的。
HEVC基本沿用了H.264/AVC的编码框架,但在细节处做了优化,也提出了众多新技术[1]。与此同时,新技术的出现也导致了编码复杂度的增加。而交互类应用要求低时延的特性,使得对HEVC在这一类领域上的应用提出了质疑。因此,有必要对HEVC编码性能及复杂度进行具体分析。
本文以H.264/AVC为参考,首先从基本编码单元结构、帧内预测、帧间预测及熵编码等方面对HEVC的编码效率和编码复杂度进行了定性分析;其次,选取两个交互应用视频序列进行了测试,定量分析了HEVC和H.264/AVC的性能和复杂度差异。
针对 HEVC主要档次(Main Profile,MP)[2]相较于 H.264/AVC 高级档次(High Profile,HP)[3]提出的新技术进行对比与分析。
新一代视频编码标准HEVC的编码单元[4]基本延用了 H.264/AVC基于块[5]的方案,但提出了许多新的概念,这些概念包括编码树单元(Coding Tree Unit,CTU),编码单元(Coding Unit,CU),预测单元(Prediction Block,PU),变换单元(Transform Unit,TU)等。
HEVC提出了新的基本处理单元CTU,一幅图像被分成多个CTU来进行编码处理,这类似于H.264/AVC中宏块的概念。不同之处在于,H.264/AVC中宏块仅为16×16固定的大小,而CTU的大小为N×N,N的值可以是16、32或64,这使得CTU可以根据不同的应用环境、编解码延迟约束以及内存需求等由编码器进行选择。
根据块区域纹理特征,CTU可递归分成CU,进而形成一个四叉树,CU位于每个树的叶节点。
图1显示了当CTU大小为64×64,最小CU为8×8时CTU分割的例子和CU的处理顺序。每一个方块代表一个CU。在这个例子中,一个CTU被分割成16个不同大小和位置的CU,右边显示了代表CTU分割结构的相应的编码树结构。树中的数字表示CU是否会被进一步分割。左图中的折线表示CU被处理的过程。
图1 CTU大小为64×64,最小CU为8×8时分割例子及对应的四叉树
这种灵活的递归的分割方法起到了非常重要的作用。和之前常规的16×16的大小相比,CU可以变的更大,这样当图像某一区域较为平坦时,一个CU可以用更少的比特来表示。CU可进一步被分割成PU,PU是预测过程的处理单元。HEVC为帧间预测CU提供了一种新技术,即非对称运动分割(Asymmetric motion partitions,AMP)。这种分割方式可以形成2 N×1/2 N和2 N×3/2 N及1/2 N×2 N,3/2 N×2 N大小的PU块。图2显示了这种分割方式。
这种分割方式对于较大纹理特征的块具有很好的预测效率。
TU是在CU基础上再进行四叉树分割形成,是进行变换和量化的基本单元。HEVC也对变换技术进行了改进,变换块尺寸扩展到了从4×4到32×32(不会超过CU尺寸)。
以上便是HEVC和H.264编码单元结构上的差异,可以看出,CU、PU、TU等概念的提出,统一了编码的框架,清晰了各单元的分工。同时,灵活的块大小及分割方式,使得编码器能够针对各种内容、应用和设备进行优化,为HEVC的编码效率的提升做出了贡献。而且,这种能力对正被广泛使用的低分辨率视频服务非常有用。
H.264/AVC帧内预测对4×4块支持9种预测模式,这9种预测模式包括1种DC预测和8种方向预测。HEVC依然采用基于已编码的空间样点值的帧内预测[6-7]方式,可以视为 H.264/AVC的一种扩展,但支持33种方向预测、1种DC预测和1种planar预测,共计35种预测模式(对于8×8,16×16,32×32)。图3显示了33种方向预测模式。
图3 HEVC帧内预测模式
Planar预测模式是HEVC新增的一种模式,这种模式待预测样点值由两个已编码样点值和两个推测出的样点值加权平均而得。
图4显示了PU大小为N×N时planar预测的过程。首先由已知样点值S(-1,N)减去S(x,-1)作为S(x,N)的值,由S(N,-1)减去S(-1,y)作为S(N,y)的值,最后由这四个样点值加权平均来预测S(x,y)。
图4 PU大小为N×N时Planar预测模式
加权公式为
通过增加多角度方向预测模式,可以更加精准的获得预测块,进而减少后序处理中残差块的能量值。但也可以看出,更多的预测模式,增加了编码器模式判决的时间复杂度。
HEVC帧间预测既有众多新技术,又有细微之处的改进。这些新特性除了之前提到的PU非对称分割外,还包括广义B帧预测技术,更高精度运动补偿,高级运动矢量预测机制等。
广义B帧预测技术[8-9]对 H.264/AVC中 B帧双向预测技术进行了延伸,使之应用于P帧之上。这种技术是指P帧同样可以像B帧那样由前向和后向参考图像列表预测而得,但前向和后向参考图像均为当前图像之前的图像,且为同一参考列表。图5对这种预测模式做出了示例。
这种技术对视频电话、视频应用等低时延场景有着重要的意义,它使得交互应用也可以采用B帧的预测方式,进而提高预测准确度,减少残差信号能量。
HEVC同样支持分数像素精度的运动矢量,但做了稍微的改进,分数像素位置的预测值通过7或8抽头滤波器产生,而不是H.264/AVC的6抽头。
图5 广义B帧预测技术
另一个需要关注的技术亮点是高级运动矢量预测机制(Advanced Motion Vector Prediction,AMVP)。这种机制会遍历同一参考索引空域和时域相邻的PU的运动矢量,形成一个运动矢量参考索引,从中选择最佳运动矢量作为预测值。这种技术提高了运动矢量的预测精度。
在H.264/AVC标准中亮度是以4×4为变换大小进行的,在HEVC中TU尺寸范围扩展到了从4×4到32×32。更多的TU大小,无疑增加了编码器处理的复杂度,但可以更加有效地去除像素空间冗余度,降低比特率[10]。另外,TU还支持非对称分割,从而进行非对称变换。
熵编码[11]依然采用了 H.264/AVC中基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithemetic Coding,CABAC),但使用了更加复杂的上下文方案,从而使变换系数的编码效率更高。
从以上分析可以看出,HEVC并不依赖单一技术来对编码效率做出重大提升,而是通过改进编码框架的各个细节,使之对码率的减小做出贡献,从而达到在整体上性能提升的目的。但也应看到,这种性能的提升是以提高编码复杂度为代价的。
为了比较面向交互应用的视频编码标准性能,需要选取各标准编码器和视频序列,设置好编码参数,并在特定的平台环境中运行,生成数据。
针对视频编码处理过程复杂度高的特点,已有专用硬件平台来减少编码时间。实验选用Inter双核CPU,搭载2G内存,在64位debian操作系统上运行。具体参数如表1所示。
表1 仿真平台参数
对于HEVC,选取最新的HEVC测试模型12软件HM-12.1进行本次实验。对于 H.264,选取最新的H.264/AVC测试模型18软件JM-18.5进行本次实验。两个标准的测试模型均由表1中指定的编译器GCC进行编译来生成可执行文件。
针对交互式应用运动幅度小等特有的属性,本次测试序列选取两个经典的交互应用视频序列:Johnny和KristenAndSara。该视频序列均为标清(1280×720)视频,帧率也都为60Hz。
实验针对只针对颜色类型为YUV,格式为4∶2∶0,位深为8bit的视频格式,编码300帧。H.264/AVC和HEVC编码视频序列第一帧均设为I帧。在H.264/AVC中,因B帧使用了时域上的双向预测,不适宜交互应用,故采用IPPP的编码类型。而HEVC因采用了广义B帧的概念,故采用IBBB的编码类型。熵编码两个标准均采用CABAC。表2提供了一些较为重要的参数设置。
表2 测试序列配置参数
对于HEVC提供的多种新型工具如AMP,变换跳跃(Transform skipping,TS),时域运动矢量预测(Temporal Motion Vector Prediction,TMVP)等,为使HEVC获得最佳编码性能,实验均采用了这些工具。
在实验中每个测试序列以8种不同的量化值进行编码,量化参数(Quantization Parameter,QP)范围为20~34,共得到8种不同的编码比特率。为了比较HEVC和H.264/AVC的编码效率,需要绘制率失真曲线。
在此不采用亮度和色度率失真曲线分离的策略,故不再提供YUV分量的峰值信噪比(Peak Signal to Noise Ratio,PSNR),而是由亮度和色度分量的峰值信号噪声比(PSNR-Y、PSNR-U 和 PSNRV)加权求和得到联合峰值信噪比(PSNR-YUV),再绘制率失真曲线。加权公式[12]为
首先提供实验所得的两个测试序列Johnny和Kristen And Sara 8种不同的比特率值数据。表3和表4显示了Johnny_1280×740_60.yuv在JM18.2和HM12.1两种测试模型下8种不同量化值所得的客观质量评价标准PSNR值。
图6和图7显示了Johnny和KristenAndSara分别所对应的率失真曲线图。
对两组率失真曲线进行分析可以发现:从纵向比较,在相同传输比特率的情况下,HEVC可以获得非常明显的图像质量提升;而从横向上比,在相同图像质量下,即PSNR-YUV相同时,HEVC相较于现行的视频编码标准H.264/AVC,可以节约比特率50%左右。
表3 Johnny比特率和PSNRYUV值
表4 KristenAndSara比特率和PSNRYUV值
图6 Johnny率失真曲线
图7 Kristen and Sara率失真曲线
表5显示了在上文提到的运行环境下得到的平均编码时间及增幅。从表中数据可以得出,HEVC的编码时间比H.264/AVC增加了约70%左右,即编码复杂度达到了现行标准H.264/AVC的170%左右。
表5 编码时间对比
对HEVC视频编码标准的优化算法进行分析,并针对交互类应用进行了测试。实验结果表明,在交互应用上,新一代视频编码标准HEVC比现行编码标准H.264/AVC可以提供更高的编码效率,其节约的比特率达50%左右,编码复杂度也达到了170%左右。今后的研究重点应着眼于如何降低HEVC编码复杂度。
[1]Sullivan G J,Ohm J R,Han W J,et al.Overview of the High Efficiency Video Coding(HEVC)Standard[J].IEEE Transaction Circuits and Systems for Video Technology,2012,22(12):1649-1668.
[2]Joint Collaborative Team on Video Coding.JCTVCL1003-v34.High Efficiency Video Coding(HEVC)text specification 10[S].Geneva,CH,ITU-T SG 16 WP3and ISO/IEC JTC 1/SC 29/WG 11,2013.
[3]Joint Video Team.JVT-G050.Advanced Video Coding,Final Committee Draft[S].Pattaya,ITU-T Rec.H.264/ISO/IEC 11496-10,2003.
[4]Kim I K,Min J,Lee T,et al.Block Partitioning Structure in the HEVC Standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2012,22(12):1697-1706.
[5]Wiegand T,Sullivan G J,Bjontegaard G,et al.Overview of the H.264/AVC Video Coding Standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):560-576.
[6]Lainema J,Bossen F,Han W J,et al.Intra Coding of the HEVC Standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2012,22(12),1792-1801.
[7]Zhao Liang,Zhang Li,Ma Siwei,et al.Fast mode decision algorithm for intra prediction in HEVC[C]//Visual Communications and Image Processing(VCIP).Harbin:IEEE,2011:1-4.
[8]Lin Jianliang,Chen Yiwen,Tsai Y,et al.Motion vector coding techniques for HEVC[C]//13th International Workshop on Multimedia Signal Processing(MMSP).Taibei:IEEE,2011:1-6.
[9]蔡晓霞,崔岩松,邓中亮,等.下一代视频编码标准关键技术[J].电视技术,2012,36(2):80-84.
[10]马晨,吴成茂,田小平.基于A P BU T 3的彩色图像编码与压缩研究[J].西安邮电学院学报,2011,16(5):8-11.
[11]刘海锋,陆玲.新一代视频编码标准HEVC变换方法的研究[J].电视技术,2012,36(1):1-6.
[12]Ohm J R,Sullivan G J,Schwarz H,et al.Comparison of the Coding Efficiency of Video Coding Standards-Including High Efficiency Video Coding (HEVC)[J].IEEE Transaction on Circuits and Systems for Video Technology,2012,22(12):1669-1684.