APP下载

新一代视频编码标准HEVC变换方法的研究

2012-06-06刘梅锋

电视技术 2012年1期
关键词:比特率复杂度残差

刘梅锋,陆 玲

(东华理工大学机械与电子工程学院,江西 抚州 344000)

随着众多如数字电视、互联网高清视频、数码相机、数码摄像机等高清数码产品的逐渐普及,现有的视频编解码标准已经不能满足要求,尤其对于有着平滑背景的高分辨力视频。因此,人们越发关注能适应高清甚至超高清视频的高性能视频编码标准的开发进程。近期,ISO-IEC/MPEG和ITU-T/VCEG两大国际标注化组织成立了视频编码联合开发小组(JCT-VC),其目标是开发新一代国际视频标准,名称为高性能视频编码标准。该标准的目标是在保持H.264/AVC标准视频质量的基础上,使比特率降低一半,即压缩率提高一倍。据HEVC参考软件HM仿真结果显示,目前针对HEVC标准提出的各个提案还未达到压缩率提升一半的目标。与H.264/AVC视频标准一样,HEVC也包含帧内预测、帧间预测、运动估计与补偿、正交变换、量化、滤波、熵编码和重建等编解码流程。

HEVC定义了3种类型的单元,包括编码单元(CU)、预测单元(PU)和变换单元(TU)[1]。对于1个编码单元,1幅图像可以被分为多个片,而1个片可以被分为多个最大编码单元(LCU),1个最大编码单元又可以分为4个编码单元,每个分片的编码单元可以继续分片至最大深度。HEVC定义了5种尺寸类型的编码单元:128×128(LCU),64×64,32×32,16×16和8×8。预测单元被定义为编码单元的支节点,因此,其尺寸最大不超过相应编码单元的尺寸。而变换单元,则是针对正交变换和量化。对于帧内预测,HEVC定义了34帧内预测方向,远远超过了H.264/AVC 标准的9种[2]。除了传统的16×16,8×8和4×4等尺寸外,还定义了8×2和2×8尺寸的长方形块。对于帧间预测,HEVC采取了运动向量方案(MVR)、差值滤波(IF)、运动共享(MS)、运动向量竞争(MVC)和基于块的照明竞争(B-BIC)来提高编码性能。对于正交变换,HEVC采用包含了16×16,32×32和64×64等尺寸块的变换矩阵、旋转变换和基于模式的方向性变换来提高编码性能[3]。对于滤波,HEVC采用了非线性降噪声滤波(NDF)、帧自适应降噪声滤波(ADF)、去方块滤波(DBF)等滤波方法。对于熵编码,HEVC采用了零树编码、基于语法的内容自适应二进制算术编码(SB-CABAC)和自适应系数扫描来提高熵编码的编码性能。

本文试图对最近6个JCT-VC会议中关于HEVC正交变换的若干主要提案进行研究讨论,基于HEVC参考软件模拟仿真结果,比较其各方面的性能优劣,最终提出HEVC正交变换的未来研究方向及可提升性能的研究点。

1 HEVC整数变换算法

截止到目前,HEVC标准中包含以下5种正交变换方法:基于模式的方向变换(MDDT)[4]、自适应DCT/DST选择[5]、旋转变换(ROT)[6]、IDCT 修剪和变换跳过模式(TSM)。

1.1 基于模式的方向变换(MDDT)

在视频编码正交变换的应用中,早已证实了Karhunen-Loève变换比DCT具有更高的性能。但在之前的H.264/AVC标准中,由于Karhunen-Loève变换实现较为复杂,而DCT具有如蝶形算法等快速的实现算法,因此被一直采用。

MDDT算法框架仅包含了1个DCT和1个派生的KLT,在MDDT中使用可分离变换来进行近似理想的非可分离方向变换。例如对于1个N×N像素的块,其二维变换系数的计算公式为

式中:Cm和Rm的下缀m代表某预测方向上的行与列变换的依赖性。在H.264/AVC标准中,Cm=Rm=M,其中M是离散余弦变换DCT矩阵。在MDDT算法中,KLT采用Cm和Rm,而且是通过训练视频序列得到的预测模式m来计算预测残差块来完成的。

为了简化派生过程,设每个图像像素为零均值和单位方差的随机变量。因此,该图像像素的相关函数可定义为

因此帧内编码后的残差统计可以由式(2)得出。首先注意每个残差行的统计特性,第k行(1≤k≤4)的方差矩阵为

接着,第k列(1≤k≤4)的相关矩阵可定义为

当N=4时,可以得到变换矩阵为

表1 HEVC中DCT/KLT的选择

1.2 自适应DCT/DST选择

三星公司提出了基于帧内预测模式判决的DCT/DST选择算法。该算法不要求任何训练,且不必准备大量的变换基,只要把一维的DCT和一维的DST类型7结合起来即可。当然上述结合只应用在帧内预测模式中。

由于DCT把能力集中在1个系数上,因此其视频编码性能较好。然而,在新的视频标准中采用了众多高效预测方法,从而导致DC系数能量的集中性也降低了。在此情况下,DCT在残差信号的编码中已经不适合了。另一方面,从能量集中的角度来看,DST反而适合这种信号的编码。同时,DCT也不容易识别幅-频特性和相-频特性。且DCT的量化性能也影响信号的相位。两种变换定义为

这些变换均包含三角函数,DST可以用DCT增加一些额外的变量来表示,DST中的正弦函数可以表示为

式(8)显示了DST包含了DCT,而且有一半是与DCT相反的,这就意味着DST可以用一个DCT的电路来实现,如图1所示。

图1 4点DST和8点DST

其并行运算方法如图2所示。

图2 DST串行和并行处理的流程图

在HEVC中DCT/DST选择算法与帧内预测模式的对应关系如表2所示。

表2 HEVC中DCT/DST选择算法

1.3 旋转变换(ROT)

8×8旋转变换(ROT)是DCT处理后的第二变换,该算法已嵌入到JCT-VC的HEVC测试软件HM中了,其框架如图3所示。

图3 ROT应用于DCT之后

ROT变换块mo计算公式为

式中:mi是输入的残差块,D是DCT矩阵,Rh和Rv分别是水平和垂直的ROT矩阵,计算公式为

1.4 IDCT修剪

由于量化和正交变换的能力集中特性,大尺寸块变换的高频部分往往被量化为0。因此可以采用IDCT修剪算法来运行非零子块信号,从而消除冗余的零入和零出IDCT计算量。提案中测量了各个非零子块的发生率。令LK表示1个块中最低频子块K×K为非零块。16×16变换包括:L4,L8,L16;而32 ×32 变换包括:L4,L8,L16,L32。非零子块百分比分布如表3所示。

表3 非零子块百分比分布

有的块大部分均为0,而IDCT修建算法能有效地降低复杂度。1个N×N块的二维IDCT需要2N个一维IDCT变换。比如,沿着行方向只需要执行N/2个变换,这种情况下总的变换数目仅需N/2+N=1.5N个,计算复杂度降低了25%。

总的变换数目将是:水平方向为N/2×N2/4;垂直方向为N×N2/4;总的数目为(3/8)×N2。

1.5 变换跳过模式(TSM)

在HM3.2中,其量化方法与H.264/AVC没有改变,而在跳过变换的行/列处的缩放因子的选择仅由块的尺寸决定,基于率失真优化RDO搜索,编码器为每个块作一个变换/跳过的选择,称为变换跳过模式(TSM)。变换跳过模式信号被编码传送到解码端,在解码端也相应地作变换/跳过处理。此算法目前已经嵌入HM3.2中。

TSM决定一个或多个预测方向下变换是否跳过,在这些方向下变换将在普通条件下进行。这将于有利块压缩,例如在帧间预测的条件下,残差块信号之间的特征有很大不同。这些特征由很多因素决定,包括序列的运动程度和类型、量化步长和运动估计的精度等。对这种信号进行二维变换不是最好的方法,因为其强行用二维变换将现在DCT作为一种编码工具的有效性。因此必须为TSM设计一种交替、低复杂度的方法。

变换/跳过模式如表4所示。处理模式TS0,该模式对应于二维变换,其余3种新的变换模式分别为:跳过垂直变换模式(TS1),跳过水平变换模式(TS2)以及水平、垂直均跳过变换模式(TS3)。在编码器端一定要选择4种情况中的1种,并且要把这个选择编码传送到解码器端。

表4 TSM模式对于变换选择和码字

2 仿真结果分析

为了验证前面介绍的几种算法,笔者对各种算法进行了仿真实验。

对于MDDT算法,本文采用KTA参考软件(KTA2.6r1)。实验中为帧内残差块采用4×4,8×8和16×16块,并使用MDDT中提出的DCT与派生的KLT结合方法进行变换。对于16×16的块,只应用到水平和垂直两种方向上。在算法中,对于每种尺寸的块变换只存储2个变换矩阵。测试序列分别为BasketballDrive,BQTerrace,Cactus,Kimono1 and ParkScene。序列分辨力等级从A到E,测试目标为比特率的降低百分比和PSNR变化情况。仿真结果的平均值如表5所示。

表5 帧内预测下MDDT算法结果

据表5显示,与传统的DCT算法相比,MDDT算法获得了7.75%的比特率下降,但与此同时PSNR视频质量却有一点提高。

对于DCT/DST,采用通用测试条件,帧内和帧间的8×8~32×32的TU都经过测试。变换类型是基于率失真优化结果来选择的。DCT/DST算法的比特率和PSNR结果如表6所示。

表6 DCT/DST算法的比特率和PSNR结果

表6显示了DCT/DST算法在HE模式下,比特率比原方法降低了0.1%~1.0%。当该算法应用在帧内预测的TU情况下,取得了较好的效果。另一方面,在AILC和RALC情况下该算法引起了比特率的升高,这是因为该算法必须为这些标志符号编码并传送到解码器端。

对于ROT算法,仿真实验采用了WQVGA,WVGA,720 p,1 080 p和4 k×2 k等规格的测试视频序列。软件版本为TMuC 0.9。操作系统为 Windows 7 Enterprise 64-bit,CPU 为 Inter Core(TM)i7,2.8 GHz。内 存 为4 Gbyte。测试结果如表7所示。

表7 ROT算法的比特率和编码时间测试结果

目前,有许多人建议将ROT算法加入下一代HM参考软件中去,但该算法引起的编码时间上的增加却不容忽视,尤其在帧内预测的情况下。

为了证明IDCT修剪算法,笔者比较了该算法与HM2.0的计算复杂度,结果如表8所示。

表8 IDCT修剪算法的计算复杂度

从表8可以看出,IDCT修剪方法比HM2.0无论在乘法还是加法上均有所减少。

TSM算法已经嵌入到HM3.2参考软件中。该算法在帧间预测模式及ROT分离被关闭的情况下有效,而在帧内预测模式下则是无效的。

表9显示了TSM算法在降低比特率的情况下提高了最大约为20%的计算复杂度。导致这种情况的原因是,在帧间预测的CU,TSM算法的每个选择必须通过率失真来搜索,而该搜索需花费很多时间。

表9 IDCT修剪算法的比特率和编码时间测试结果

3 未来研究方向分析

MDDT算法给HEVC带来了较大的编码性能提高,但同时也带来了计算复杂度的增加。因此,如何降低该算法的计算复杂度将成为未来的一个研究方向。通过对这些计算范例的更具体细致的研究,将会带来更低的计算复杂度。在帧内编码的情况下,ROT算法带来了编码时间的增加。Loeffler因式分解被普遍认为有很好的稳定性,同时在加法和乘法方面的计算复杂度很低。但是它没有很好地重复利用变换过程中已生效的小尺寸DCT类型2的变换。重复利用将在软件和硬件编码中大大降低计算复杂度。从以上的仿真结果来看,对于DST,如果能在比特率降低和计算复杂度之间设计更合理的折中方案,则将获得更好的编码性能。并行计算也将是HEVC标准的重要性能。然而,目前的标准中并没有进行并行计算的处理。如果能在设计中采用并行计算的设计,则理论上其编码时间将会降低一半。这个重要的特性就是在解码器端增加一个额外的变换来降低解码计算复杂度。研究基于模式的变换和扫描方法也是降低计算复杂度的一个方向。对于DCT/DST算法,采取更高效的变换矩阵是降低其复杂度的一个性能提高研究方向。最后,考虑到变换、量化后的信号更适应熵编码,这也是一个间接降低比特率的重要研究方向。

4 总结

本文讨论了HEVC视频标准中几种主要的正交变换算法。首先主要研究了基于模式的方向变换MDDT、自适应离散余弦/正弦变换(DCT/DST)、旋转变换(ROT)、IDCT修剪和变换跳过模式(TSM)等方法。接着通过实验仿真测试了这些算法在比特率的降低、编码时间的缩短、软硬件实现的复杂度和视频质量等方面。最后,对HEVC正交变换方法方面提出了一些有待研究的重点和方向,以供视频编码研究工作者参考。

[1] HAN W J,MIN J H,KIM I K,et al.Improved video compression ef?ciency through flexible unit representation and corresponding extension of coding tools[J].IEEE Trans.Circuits Syst.Video Technol,2010,20(12):1709-1720.

[2] WIEGAND T.Joint collaborative team on video cFoding(JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,JCTVC-B118.[S].[S.l.]:JCT-VC,2010.

[3] BOSSEN F,DRUGEON V,FRANCOIS E,et al.Video coding using a simpli?ed block structure and advanced coding techniques[J].IEEE Trans.Circuits Syst.Video Technol,2010,20(12):1667-1675.

[4] YEO C,TAN Y,LI Zhengguo.Mode-dependent fast separable klt for block-based intra coding[C]//Proc.IEEE International Symposium on Circuits and Systems(ISCAS),2011.[S.l.]:IEEE Press,2011:621-624.

[5] SAXENA A,FERNANDES F C.Jointly optimal intra prediction and adaptive primary transform[EB/OL].[2011-08-08].http://wftp3.itu.int/av-arch/jctvc-site/2010_10_C_Guangzhou/JCTVC -C108.doc.

[6] FERNANDES F C A.Low complexity rotational transform[EB/OL].[2011-08-09].http://wftp3.itu.int/av - arch/jctvc - site/2010_10_C_Guangzhou/JCTVC - C096.doc.

猜你喜欢

比特率复杂度残差
基于双向GRU与残差拟合的车辆跟驰建模
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
一种低复杂度的惯性/GNSS矢量深组合方法
基于多个网络接口的DASH系统设计与实现
求图上广探树的时间复杂度
相同比特率的MPEG视频双压缩检测*
某雷达导51 头中心控制软件圈复杂度分析与改进
平稳自相关过程的残差累积和控制图
出口技术复杂度研究回顾与评述