Video coding using programmable graphics hardware

H.264 and AVS are both the latest international coding standards. They contain a number of new features to achieve video compression in a more effective way. However, the computation complexity is inevitably increased at the same time. Typically, the software based implementation of the video coding process is usually computed by the Central Processing Unit (CPU). However, the performance of high-definition resolution video processing using CPU is not satisfaction at the current stage. To reduce the computation loading of CPU, unitizing the power of the Graphics Processing Unit (GPU) which is idle in coding process can be a possible solution. Graphics hardware technology has grown at an unprecedented rate. GPU is not only a specialized hardware for accelerating 3D graphics processing and rendering but also a co-processor for the CPU to process data stream with the user developed program. GPU contains a lot of Single Instruction Multiple Data (SIMD) stream processors to provide local data parallelism. Each stream processor executes the same instruction but on different data in any given cycle to provide global data parallelism. In this thesis, several GPU-based video encoding algorithms are investigated. The proposed methods include GPU-based intra frame encoding in H.264, GPU-based multiple reference frames motion estimation in H.264 and GPU-based RD optimized intra mode decision in AVS. All proposed methods utilize the GPU parallelism to achieve encoding speed-up.

Note

Thesis (M.Phil.)--Hong Kong University of Science and Technology, 2008