APP下载

六角变换方法在视频编码中的应用

2012-08-10赵海武李亚珂王国中腾国伟

电视技术 2012年19期
关键词:余弦整数复杂度

程 武,赵海武,2,李亚珂,王国中,2,腾国伟,2

(1.上海大学通信与信息工程学院,上海 200072;2.上海国茂数字技术有限公司,上海 201204)

责任编辑:魏雨博

基于块的变换编码已经在图像和视频编码领域有着广泛的应用。在众多的正交变换编码中,离散余弦变换(Discrete Cosine Transform,DCT)被视为是最接近正交变换中的最佳变换——K-L变换(Karhunen-Loeve Transform,KLT)。离散余弦变换(DCT)是N.Ahmed等人在1974年提出的正交变换方法[1]。DCT变换可以在变换域中极大地消除图像元素之间的相关性。由于KL变换计算复杂,而且很难满足实时处理的要求,因此,DCT常被认为是对视频和图像信号进行变换的最佳方法,被广泛应用于各种视频图像编码标准中,而且已被证明是在实践中是一个更好的选择[2]。

然而,DCT的变换矩阵是用浮点数表示,浮点运算量较大,在通用芯片上乘法计算将会消耗更多的系统资源,并需要更多的计算时间[3]。在有限字长的条件下,浮点运算的精度不是很高,而且会产生截断误差,这就使得在具体实现时会导致编解码的不匹配[4-5]。因此,在实际运用中大多使用整数变换来代替DCT变换,其核心是用整数变换矩阵代替DCT的浮点数变换矩阵,这样变换过程完全是整数运算,不存在精度误差,保证了编码的可逆性[6]。因此,下一代音视频压缩标准 H.264/AVC[7]和中国国家音视频编码标准AVS[8]均使用整数DCT变换。

在本文中,笔者提出六角变换方法及其快速整数实现方法,其不仅具有相比浮点DCT实现复杂度低、解码端无误差累积的优点,而且能提供相比其他整数近似变换更高的编码性能。

1 离散余弦变换

在离散余弦变换中,二维8×8变换可以描述为Y=TXTT,其中X是帧内或帧间预测后的残差矩阵,Y是变换之后的矩阵,变换矩阵T可以用公式(1)来描述[4]。

由于DCT变换的实现复杂度高,不同的解码器采用近似的整数实现则可能带来误配问题。而在视频编码中,由于时域预测的使用,误差的累积会降低视频的质量[4]。于是在新一代的视频编码标准中均广泛采用了近似于DCT的整数变换以降低实现复杂度并使解码器操作具有一致性。

2 六角变换方法及其整数实现过程

本文提出了一种六角变换方法,其变换方法可以描述为Y=PXPT,其中,变换矩阵P可以按如下方法得到:设 α1,α2,α3,α4,α5,α6 是所选取的 6 个角度,令 C=cosα1,D=sin α1;E=cosα2,F=sin α2;G=cosα3,H=sin α3;I=cosα4,J=sin α4;K=cosα5,L=sin α5;M=cosα6,N=sin α6。

变换矩阵P可以用公式(3)来描述

在本文中,选 取 α1 = arccos(0.6367),α2 =arccos(0.6836),α3=arccos(0.6914),α4=arccos(0.4141),α5=arccos(0.2148),α6=arccos(0.7930)。

代入上述计算公式可以得到如下变换矩阵[9]

其中,a00=0.3113,a01=0.3492,a02=0.3729,a03=0.3770;a04=0.4397,a05=0.4441,a06=0.3121,a07=0.1098;a08=0.4963,a09=0.2137,a10=0.2002,a11=0.4098;a12=0.4324,a13=0.0220,a14=0.4731,a15=0.2979;a16=0.3253,a17=0.3342,a18=0.3568,a19=0.3939;a20=0.3322,a21=0.4823,a22=0.0819,a23=0.3877;a24=0.2258,a25=0.4698,a26=0.4400,a27=0.1864;a28=0.0967,a29=0.2640,a30=0.4148,a31=0.4989。

由上述矩阵可知:与离散余弦变换和既有的整数变换相比,本文提出的六角变换方法的一大特点在于变换矩阵第一行的系数是不同的,中间值比边缘值较大,增大了数据块中心附近数据的权重,可以有效地提高编码的效率。

同时,矩阵T具有对称性质,利用其对称性可以将矩阵T分解成一系列的蝶形和旋转角度[10]以简化计算,其蝶形变换快速算法如图1所示[11]。

图1 蝶形变换快速算法

在具体实现中,由于浮点算法具有较大的开销,通常转化为整数实现。针对浮点系数0.6367和0.7711,选取一个整数,使得浮点数转换为整数,其计算结果如式(5)所示

式中:ɑ≈2n×0.6367,b≈2n×0.7711。

当选择的整数越大,就可以得到更高的精确度。在具体实施中,数据的大小是由硬件的性能决定的[12]。在本文中,选择n=8,则ɑ=163,b=197,这样可以得到

本文的其他系数可以用上述同样的方法整数化得到,最终的快速变换整数实现方法如图2所示[11]。

图2 正向整数变换蝶形图

在量化方面,采用了如下的量化方法[13]

C是变换后的系数,Cq是量化后的系数,数组Q_TAB的值如表1所示。

表1 数组Q_TAB的取值

3 实验结果及分析

将上述六角变换方法嵌入到中国国家标准AVS加强档MM1.1v2版本中用以测试本文提出方法的编码效率,分别对不同分辨率的视频序列进行了测试,在测试中,使用了“IBBPBBP…”编码结构,选择适当的QP,使得最后输出码流在常用的比特率范围内。表2~表4是实验的测试条件和实验数据。

表2 实验测试条件

表3 低分辨力视频序列测试数据

其中,在表3的低分辨力视频测试序列中,运动搜索的最大范围设置在±32,而在高清视频中,往往运动范围比较大,需要对搜索范围进行扩大,所以在表4高清视频测试序列中,将运动搜索的最大范围设置在±64已进行更精确的运动搜索。从表中可以看出,与AVS现有的整数变换相比,本文提出的方法在低分辨力视频测试序列中亮度可提高1.8%的编码效率,色度可以分别提高3.9%和2.1%的编码效率;在高清序列中,亮度可以提高1.9%的编码效率,色度分别提高了4.2%和4.8%的编码效率。

表4 高清视频序列测试数据

图3绘出了测试序列的RD曲线图[14],从图中可以直观地看出本文提出的方法相比AVS现有整数变换在编码效率上有了一定的提升。

图3 测试序列RD曲线图

4 结论

在本文中,笔者提出一种六角变换方法及其快速整数实现方法,其不仅具有相比浮点DCT实现复杂度低、解

码端无误差累积的优点,而且能提供相比其他各种整数近似变换更高的编码效率。

[1]AHMED N,NATARAJAN T,RAO K R.Discrete cosine transform[J].IEEE Trans.Computer,1974,23(1):90-93.

[2]梁岑.基于DCT的图像压缩技术研究与仿真实现[D].郑州:河南工业大学,2010.

[3]戴声奎,刘建国,汪国有,等.一种无乘法的整数DCT快速实现方法[J].微电子学与计算机,2008,25(5):11-13.

[4]WU Junqin,LI Yanli.A new type of integer DCT transform radix and its rapid algorithm[C]//Proc.International Conference on Electric Information and Control Engineering(ICEICE),2011.[S.l.]:IEEE Press,2011:601-604.

[5]周恒.H.264的研究与软件实现[D].南京:南京邮电大学,2007.

[6]张新安,宫彦军,陈爱武,等.一种AVS-M运动搜索快速算法[J].计算机工程,2011,37(9):260-261.

[7]ITU-T H.264|ISO/IEC 14496-10 Information technology-Generic Coding of Moving Pictures and Associated Audio Information:Advanced Video Coding[S].2003.

[8]GB/T 20090.2—2006,信息技术-先进音视频编码 第2部分:视频[S].2006.

[9]CHENG Wu,ZHAO Haiwu,LIGuoping,etal.A Novel8×8 Transform Method Applied in Video Coding[C]//Proc.2011 IET International Communication Conference on Wireless Mobile&Computing(IET CCWMC2011).Shanghai:IET Press,2011:14-16.

[10]LIANG Jie TRAN T D.Fast Multiplierless Approximation of the DCT with the Lifting Scheme[J].IEEE Trans.Signal Processing,2001,4(12):3032-3044.

[11]程武,殷汶杰,赵海武,等.AVS视频提案A AVS_M2881:一种新的视频编码变换与量化方法[EB/OL].[2012-03-10].http://www.avs.org.cn/FileList.asp?meetingid=64&filetype=proposal.

[12]XIN Jun,VETRO A,SUN Huifang.Converting DCT coefficients to H.264/AVC transform coefficients[C]//IEEE Pacific-Rim Conference on Multimedia(PCM),2004.[S.l.]:IEEE Press,2004:939.

[13]程武,赵海武,滕国伟,等.AVS视频提案B-1 AVS_M2928:对提案AVS_M2881的进一步分析与测试[EB/OL].[2012-03-10].http://www.avs.org.cn/FileList.asp?meetingid=65&filetype=proposal.

[14]BJONTEGAARD G.Calculation of average PSNR differences between RD-Curves[R].ITU-T SG16 Q.6/SG16 DOCUMENT VCEG-M33,Austin,TX,2001.

猜你喜欢

余弦整数复杂度
一种低复杂度的惯性/GNSS矢量深组合方法
一类整数递推数列的周期性
求图上广探树的时间复杂度
两个含余弦函数的三角母不等式及其推论
实施正、余弦函数代换破解一类代数问题
分数阶余弦变换的卷积定理
某雷达导51 头中心控制软件圈复杂度分析与改进
图像压缩感知在分数阶Fourier域、分数阶余弦域的性能比较
出口技术复杂度研究回顾与评述
答案