賈昆霖
(廣東省惠州商貿(mào)旅游高級職業(yè)技術(shù)學(xué)校 培訓(xùn)中心,廣東 惠州 516000)
?
基于8×8的整數(shù)DCT快速計算的H.264/AVC軟件實現(xiàn)
賈昆霖
(廣東省惠州商貿(mào)旅游高級職業(yè)技術(shù)學(xué)校 培訓(xùn)中心,廣東 惠州 516000)
在將保真范圍擴展(FRExt)修改添加到H.264高級視頻編碼(AVC)標(biāo)準(zhǔn)中時,高分布中自適應(yīng)地使用4×4和8×8整數(shù)離散余弦變換(DCT),這導(dǎo)致具有相當(dāng)高的計算復(fù)雜度的H.264/AVC編碼器更加地復(fù)雜。針對該問題,文中提出了一種新的算法。通過在8×8塊中重用所產(chǎn)生的4×4塊的整數(shù)DCT系數(shù),減少了第一級計算的操作數(shù)目。結(jié)果表明,水平8×8整數(shù)DCT實現(xiàn)的計算復(fù)雜度降低超過25%,計算時間減少22%。
H.264標(biāo)準(zhǔn);離散余弦變換;計算復(fù)雜度;軟件實現(xiàn)
H.264/高級視頻編碼(AVC)標(biāo)準(zhǔn)使用整數(shù)離散余弦變換(DCT),而不是由先前視頻編碼標(biāo)準(zhǔn)利用的實際DCT[1-5]。H.264/AVC標(biāo)準(zhǔn)的初始版本僅使用4×4整數(shù)DCT。為了實現(xiàn)更高的壓縮性能,將保真度范圍擴展(FRExt)修改添加至H.264/AVC標(biāo)準(zhǔn)。將4×4和8×8整數(shù)DCT變換應(yīng)用于8×8塊,并在高分布中自適應(yīng)地使用其中之一。這導(dǎo)致具有相當(dāng)高的計算復(fù)雜度的H.264/AVC編碼器更加地復(fù)雜。硬件解決方案已經(jīng)被提出用于加速H.264編碼器的計算密集部分。
H.264/AVC參考軟件JM 18.1對8×8整數(shù)DCT采用快速實現(xiàn),以最小化8×8整數(shù)DCT的計算負荷[6-10]。參考軟件中的快速實現(xiàn)計算一行水平8×8整數(shù)DCT矩陣乘以32個加法和10個移位操作。用于計算8×8整數(shù)DCT的操作數(shù)目較小,但由于該變換應(yīng)用于幀中的整個8×8塊,所以將導(dǎo)致巨大的計算負荷。因此,8×8整數(shù)DCT變換的硬件實現(xiàn)得到重視,且已經(jīng)公布了用于H.264/AVC的8×8變換硬件實現(xiàn)的多個解決方案[11-14]。本文提出的方法可通過24個加法和8個移位運算產(chǎn)生8×8塊的一行水平8×8整數(shù)DCT系數(shù)。以該種方式,可獲得8×8整數(shù)DCT的第一級軟件實現(xiàn)的計算負荷降低超過25%。本文所提方法產(chǎn)生的系數(shù)符合H.264/AVC標(biāo)準(zhǔn)。
在H.264/AVC標(biāo)準(zhǔn)中,正整數(shù)DCT是
(1)
圖1 將2維整數(shù)DCT分解為兩個1D整數(shù)DCT
在式(2)中給出的Cf.4×4矩陣指示H.264/AVC標(biāo)準(zhǔn)中的4×4整數(shù)DCT的“核”變換矩陣。
(2)
H.264/AVC標(biāo)準(zhǔn)的FRExt對于高分辨率視頻應(yīng)用自適應(yīng)地使用4×4和8×8整數(shù)DCT變換。用于8×8整數(shù)DCT的“核”變換矩陣為Cf.8×8=
(3)
使用文獻[15]中所提出的方法,乘以8×8整數(shù)DCT矩陣可以被分解為乘以兩個4×4矩陣
(4)
A1和A2可用于產(chǎn)生1D 8×8整數(shù)DCT系數(shù)
(5)
將上述分解用于8×8整數(shù)DCT矩陣乘法,H.264/AVC參考軟件通過圖2中給出的32個加法和10個移位運算產(chǎn)生等式(5)中的系數(shù)y(0)~y(7)。
同一8×8塊中的4個塊的4個4×4整數(shù)DCT為
(6)
等式(6)中的每個YHi矩陣定義為
(7)
根據(jù)水平整數(shù)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可用于執(zhí)行8×8整數(shù)DCT矩陣乘法
(16)
(17)
使用Z1可以僅通過來自8×8塊中的4×4塊的整數(shù)DCT系數(shù)的4個加法操作來生成YH8×8(y(0)、y(2)、y(4)和y(6))。而由參考軟件計算這些系數(shù)的操作數(shù)是12個加法和兩個移位操作。值得注意的是,Z1中的1/2系數(shù)可以輕易地移動到量化級。通過Z2產(chǎn)生奇系數(shù)不具有計算優(yōu)點,因此使用參考軟件算法來產(chǎn)生奇系數(shù)。
由參考軟件產(chǎn)生8個系數(shù)的操作數(shù)是32個加法和10個移位操作,在所提出的算法中減少到24個加法和8個移位操作。以這種方式,在H.264/AVC標(biāo)準(zhǔn)中,在操作數(shù)目中實現(xiàn)了減少>25%,并因此實現(xiàn)了8×8整數(shù)DCT的計算復(fù)雜度。本文開發(fā)了一種通過所提出的方法來計算8×8整數(shù)DCT的第一級的程序。表1對通過使用H.264參考軟件與所提出的算法,對圖像序列的整數(shù)DCT水平變換實現(xiàn)的執(zhí)行時間進行了比較。
由表1中的模擬結(jié)果表明,與參考軟件相比,所提出的算法實現(xiàn)執(zhí)行時間減少22%。計算時間與理論估計值相比,所實現(xiàn)減少之間的差異主要是由于軟件實現(xiàn)中的存儲器訪問開銷。值得注意的是,整數(shù)DCT垂直變換的計算過程保持不變。
表1 整數(shù)DCT水平變換實現(xiàn)時間
H.264/AVC FRExt修改采用4×4和8×8整數(shù)DCT變換,并在高分布中自適應(yīng)地使用其中之一。文中證明了可以在8×8塊中重用所產(chǎn)生的4×4塊的整數(shù)DCT系數(shù),以減少第一級計算的操作數(shù)。使用所提出的方法,將計算乘以8×8整數(shù)DCT矩陣的一行運算的數(shù)目(其為32個加法和10個移位操作)減少到24個加法與8個移位運算。這意味著所提方法可將水平8×8整數(shù)DCT的計算復(fù)雜度降低>25%,且模擬結(jié)果指示8×8整數(shù)DCT系數(shù)的水平變換的計算時間減少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] 楊萬海.多傳感器數(shù)據(jù)融合及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004.
[14] 唐躍明.基于IFF與雷達信息的目標(biāo)身份融合算法研究[D].成都:電子科技大學(xué),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] 張愛民.擴展卡爾曼濾波在目標(biāo)跟蹤中的應(yīng)用研究[M].信息技術(shù),2013(10):151-154.
[17] 王明建,李建軍,李釗,等.改進自適應(yīng)UKF在組合導(dǎo)航系統(tǒng)中的應(yīng)用研究[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