Efficient Parallel Video Processing Techniques on GPU: From Framework to Implementation
School of Computer Science and Technology on Parallel and Distributed Processing Laboratory, National University of Defense Technology, Changsha, Hunan 410073, China
The Scientific World Journal, 2014
@article{su2014efficient,
title={Efficient Parallel Video Processing Techniques on GPU: From Framework to Implementation},
author={Su, Huayou and Zhang, Chunyuan and Wen, Mei and Wu, Nan},
year={2014}
}
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 a serial optimization methods, including the multi-resolution multi-window for motion estimation, multilevel parallel strategy to enhance the parallelism of intra coding as much as possible, component-based parallel CAVLC and direction-priority deblocking filter. More than 96% of workload of H.264 encoder was 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 30fps. The loss of PSNR is from 0.14dB to 0.77dB, 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) are much related with the memory bandwidth, which gives an insight for new architecture design.
January 17, 2014 by hgpu