Efficient Parallel Video Processing Techniques on GPU: From Framework to Implementation

被引:14
作者
Su, Huayou [1 ]
Wen, Mei [1 ]
Wu, Nan [1 ]
Ren, Ju [1 ]
Zhang, Chunyuan [1 ]
机构
[1] Natl Univ Def Technol, Sch Comp Sci & Sci & Technol, Parallel & Distributed Proc Lab, Changsha 410073, Hunan, Peoples R China
基金
国家高技术研究发展计划(863计划);
关键词
ALGORITHM; DESIGN;
D O I
10.1155/2014/716020
中图分类号
O [数理科学和化学]; P [天文学、地球科学]; Q [生物科学]; N [自然科学总论];
学科分类号
07 ; 0710 ; 09 ;
摘要
Through reorganizing the execution order and optimizing the data structure, we proposed an efficient parallel framework for H.264/AVC encoder based on massively parallel architecture. We implemented the proposed framework by CUDA on NVIDIA's GPU. Not only the compute intensive components of the H.264 encoder are parallelized but also the control intensive components are realized effectively, such as CAVLC and deblocking filter. In addition, we proposed serial optimization methods, including the multiresolution multiwindow for motion estimation, multilevel parallel strategy to enhance the parallelism of intracoding as much as possible, component-based parallel CAVLC, and direction-priority deblocking filter. More than 96% of workload of H.264 encoder is offloaded to GPU. Experimental results show that the parallel implementation outperforms the serial program by 20 times of speedup ratio and satisfies the requirement of the real-time HD encoding of 30 fps. The loss of PSNR is from 0.14 dB to 0.77 dB, when keeping the same bitrate. Through the analysis to the kernels, we found that speedup ratios of the compute intensive algorithms are proportional with the computation power of the GPU. However, the performance of the control intensive parts (CAVLC) is much related to the memory bandwidth, which gives an insight for new architecture design.
引用
收藏
页数:19
相关论文
共 39 条
[21]   Low-complexity transform and quantization in H.264/AVC [J].
Malvar, HS ;
Hallapuro, A ;
Karczewicz, M ;
Kerofsky, L .
IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, 2003, 13 (07) :598-603
[22]  
Marth E., 2010, P ACM SIGGRAPH, P72
[23]  
NVIDIA, 2008, COMP UN DEV ARCH PRO
[24]  
NVIDIA, 2010, OP PROGR GUID CUDA A
[25]  
Pieters B., 2009, P SPIE, V7443
[26]   Parallel Deblocking Filtering in MPEG-4 AVC/H.264 on Massively Parallel Architectures [J].
Pieters, Bart ;
Hollemeersch, Charles-Frederik J. ;
De Cock, Jan ;
Lambert, Peter ;
De Neve, Wesley ;
Van de Walle, Rik .
IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, 2011, 21 (01) :96-100
[27]  
Ren J., 2010, IEEE 2 INT C SIGN PR, P1, DOI 10.1109/TDC.2010.5484474
[28]   Software Parallel CAVLC Encoder Based on Stream Processing [J].
Ren, Ju ;
He, Yi ;
Wu, Wei ;
Wen, Mei ;
Wu, Nan ;
Zhang, Chunyuan .
2009 IEEE/ACM/IFIP 7TH WORKSHOP ON EMBEDDED SYSTEMS FOR REAL-TIME MULTIMEDIA, 2009, :126-133
[29]   An Efficient Distributed Video Coding with Parallelized Design for Concurrent Computing [J].
Shen, Yun-Chung ;
Cheng, Han-Ping ;
Wu, Ja-Ling .
2011 DATA COMPRESSION CONFERENCE (DCC), 2011, :476-476
[30]   Alleviating Border Effects in Wavelet Transforms for Nonlinear Time-varying Signal Analysis [J].
Su, Hang ;
Liu, Quan ;
Li, Jingsong .
ADVANCES IN ELECTRICAL AND COMPUTER ENGINEERING, 2011, 11 (03) :55-60