基于8×8的整数DCT快速计算的H.264/AVC软件实现

2017-06-26 11:36贾昆霖
电子科技 2017年6期
关键词:等式整数编码器

贾昆霖

(广东省惠州商贸旅游高级职业技术学校 培训中心,广东 惠州 516000)



基于8×8的整数DCT快速计算的H.264/AVC软件实现

贾昆霖

(广东省惠州商贸旅游高级职业技术学校 培训中心,广东 惠州 516000)

在将保真范围扩展(FRExt)修改添加到H.264高级视频编码(AVC)标准中时,高分布中自适应地使用4×4和8×8整数离散余弦变换(DCT),这导致具有相当高的计算复杂度的H.264/AVC编码器更加地复杂。针对该问题,文中提出了一种新的算法。通过在8×8块中重用所产生的4×4块的整数DCT系数,减少了第一级计算的操作数目。结果表明,水平8×8整数DCT实现的计算复杂度降低超过25%,计算时间减少22%。

H.264标准;离散余弦变换;计算复杂度;软件实现

H.264/高级视频编码(AVC)标准使用整数离散余弦变换(DCT),而不是由先前视频编码标准利用的实际DCT[1-5]。H.264/AVC标准的初始版本仅使用4×4整数DCT。为了实现更高的压缩性能,将保真度范围扩展(FRExt)修改添加至H.264/AVC标准。将4×4和8×8整数DCT变换应用于8×8块,并在高分布中自适应地使用其中之一。这导致具有相当高的计算复杂度的H.264/AVC编码器更加地复杂。硬件解决方案已经被提出用于加速H.264编码器的计算密集部分。

H.264/AVC参考软件JM 18.1对8×8整数DCT采用快速实现,以最小化8×8整数DCT的计算负荷[6-10]。参考软件中的快速实现计算一行水平8×8整数DCT矩阵乘以32个加法和10个移位操作。用于计算8×8整数DCT的操作数目较小,但由于该变换应用于帧中的整个8×8块,所以将导致巨大的计算负荷。因此,8×8整数DCT变换的硬件实现得到重视,且已经公布了用于H.264/AVC的8×8变换硬件实现的多个解决方案[11-14]。本文提出的方法可通过24个加法和8个移位运算产生8×8块的一行水平8×8整数DCT系数。以该种方式,可获得8×8整数DCT的第一级软件实现的计算负荷降低超过25%。本文所提方法产生的系数符合H.264/AVC标准。

1 背景基础

在H.264/AVC标准中,正整数DCT是

(1)

图1 将2维整数DCT分解为两个1D整数DCT

在式(2)中给出的Cf.4×4矩阵指示H.264/AVC标准中的4×4整数DCT的“核”变换矩阵。

(2)

H.264/AVC标准的FRExt对于高分辨率视频应用自适应地使用4×4和8×8整数DCT变换。用于8×8整数DCT的“核”变换矩阵为Cf.8×8=

(3)

使用文献[15]中所提出的方法,乘以8×8整数DCT矩阵可以被分解为乘以两个4×4矩阵

(4)

A1和A2可用于产生1D 8×8整数DCT系数

(5)

将上述分解用于8×8整数DCT矩阵乘法,H.264/AVC参考软件通过图2中给出的32个加法和10个移位运算产生等式(5)中的系数y(0)~y(7)。

2 研究算法

同一8×8块中的4个块的4个4×4整数DCT为

(6)

等式(6)中的每个YHi矩阵定义为

(7)

根据水平整数DCT的定义,得出

(8)

将矩阵W8×8定义为

(9)

使用等式(7)至等式(9)得到

(10)

定义新矩阵ZS×S为

Z8×8=C8×8W8×8

(11)

因此,等式(8)可重写为

(12)

等式(11)中的矩阵Z8×8为

(13)

乘以Z8×8可以分解为乘以两个矩阵

(14)

(15)

Z1和Z2可用于执行8×8整数DCT矩阵乘法

(16)

(17)

使用Z1可以仅通过来自8×8块中的4×4块的整数DCT系数的4个加法操作来生成YH8×8(y(0)、y(2)、y(4)和y(6))。而由参考软件计算这些系数的操作数是12个加法和两个移位操作。值得注意的是,Z1中的1/2系数可以轻易地移动到量化级。通过Z2产生奇系数不具有计算优点,因此使用参考软件算法来产生奇系数。

由参考软件产生8个系数的操作数是32个加法和10个移位操作,在所提出的算法中减少到24个加法和8个移位操作。以这种方式,在H.264/AVC标准中,在操作数目中实现了减少>25%,并因此实现了8×8整数DCT的计算复杂度。本文开发了一种通过所提出的方法来计算8×8整数DCT的第一级的程序。表1对通过使用H.264参考软件与所提出的算法,对图像序列的整数DCT水平变换实现的执行时间进行了比较。

由表1中的模拟结果表明,与参考软件相比,所提出的算法实现执行时间减少22%。计算时间与理论估计值相比,所实现减少之间的差异主要是由于软件实现中的存储器访问开销。值得注意的是,整数DCT垂直变换的计算过程保持不变。

表1 整数DCT水平变换实现时间

3 结束语

H.264/AVC FRExt修改采用4×4和8×8整数DCT变换,并在高分布中自适应地使用其中之一。文中证明了可以在8×8块中重用所产生的4×4块的整数DCT系数,以减少第一级计算的操作数。使用所提出的方法,将计算乘以8×8整数DCT矩阵的一行运算的数目(其为32个加法和10个移位操作)减少到24个加法与8个移位运算。这意味着所提方法可将水平8×8整数DCT的计算复杂度降低>25%,且模拟结果指示8×8整数DCT系数的水平变换的计算时间减少22%。因此,所提出的算法对于基于软件的H.264/AVC实时编码器是有帮助的。

[1] Chien W D,Liao K Y,Yang J F.H.264-based hierarchical two-layer lossless video coding method[J]. Iet Signal Processing,2014, 8(1):21-29.

[2] Oh B T.Efficient depth intraprediction method for H.264/AVC-based three-dimensional video coding[J].Optical Engineering,2015,54(4):108-112.

[3] Diaz-Honrubia A J,Praeter J D,Wallendael G V, et al.CTU splitting algorithm for H.264/AVC and HEVC simultaneous encoding[J].Journal of Supercomputing,2016(1):1-13.

[4] Farid M S,Lucenteforte M,Grangetto M.Panorama view with spatiotemporal occlusion compensation for 3D video coding[J].IEEE Transactions on Image Processing,2015,24(24):205-219.

[5] Pastuszak G.Hardware architectures for the H.265/HEVC discrete cosine transform[J].Iet Image Processing, 2015,9(6):468-477.

[6] Nigmatullin R R,Ceglie C,Maione G.Reduced fractional modeling of 3D video streams: the FERMA approach[J].Nonlinear Dynamics,2014,80(4):1869-1882.

[7] Liu M,Liu S,Zhao Q.Fingerprint orientation field reconstruction by weighted discrete cosine transform[J].Information Sciences,2014,268(6):65-77.

[8] Ramakrishnan A G,Abhiram B,Prasanna S R.Voice source characterization using pitch synchronous discrete cosine transform for speaker identification[J].Journal of the Acoustical Society of America,2015,137(6):469-475.

[9] Bi G.Index mapping for prime factor algorithm of discrete cosine transform[J].Electronics Letters,2015,35(3):198-200.

[10] Kalali E,Mert A C,Hamzaoglu I.A computation and energy reduction technique for HEVC discrete cosine transform[J].IEEE Transactions on Consumer Electronics,2016,62(2):166-174.

[10] Liu Xi,Wu Zemin,Liu Haiyan. Collaborative sensor registration without a priori association[C].Shanghai:IEEE Ninth International Conference on Mobile Ad-hoc and Sensor Networks (MSN),2013.

[11] Fortunati S,Gini F,Greco M S,et al.An EM-based approach to the relative sensor registration in multi-target scenarios[C]. Atlanta, GA:Proceeding of IEEE International Radar Conference,2012.

[12] Lian Feng, Han Chongzhao, Liu Weifeng, et al.Joint spatial registration and multi-target tracking using an extended PM-CPHD filter[J].Information Sciences, 2012,3(55):501-511.

[13] 杨万海.多传感器数据融合及其应用[M].西安:西安电子科技大学出版社,2004.

[14] 唐跃明.基于IFF与雷达信息的目标身份融合算法研究[D].成都:电子科技大学,2011.

[15] Stephen C Stubberud,Kathleen A Kramer. Target registration assignment in the presence of uncertainty[C].Pheen:IEEE International Instrumentation and Measurement Technology Conference (12MTC), 2015.

[16] 张爱民.扩展卡尔曼滤波在目标跟踪中的应用研究[M].信息技术,2013(10):151-154.

[17] 王明建,李建军,李钊,等.改进自适应UKF在组合导航系统中的应用研究[J]. 无线电工程,2016, 46(6):76-78,82.

Realization of H.264/AVC Software Based on 8 × 8 Integer DCT Fast Calculation

JIA Kunlin

(Training Center, Huizhou Business and Tourism Advanced Vocational Technology School, Huizhou 516000, China)

The 4x4 and 8x8 integer discrete cosine transforms (DCTs) are adaptively used in the high distribution when adding the fidelity range extension (FRExt) modification to the H.264 Advanced Video Coding (AVC) standard, leading to even higher complexity of the already computation-intensive H.264 / AVC encoder. A new algorithm is proposed, by which the number of operations in the first stage calculation is reduced by reusing the generated integer DCT coefficients of the 4x4 blocks in 8x8 blocks. The results show that the computational complexity of the 8×8 integer DCT is reduced by more than 25% and the computation time is reduced by 22%.

H.264 standard; discrete cosine transform; computational complexity; software implementation

2016- 01- 10

贾昆霖(1981-),女,讲师。研究方向:计算机编程。

10.16180/j.cnki.issn1007-7820.2017.06.012

TN919.81

A

1007-7820(2017)06-043-04

猜你喜欢
等式整数编码器
融合CNN和Transformer编码器的变声语音鉴别与还原
组成等式
一个连等式与两个不等式链
一类整数递推数列的周期性
基于双增量码道的绝对式编码器设计
应用旋转磁场编码器实现角度测量
基于数字信号处理的脉冲编码器
一个等式的应用
答案
求整数解的策略