Font Size: a A A

The H.264 Video Parallel Codec Based On GPU

Posted on:2010-01-18Degree:MasterType:Thesis
Country:ChinaCandidate:H JiangFull Text:PDF
GTID:2178360302960580Subject:Signal and Information Processing
Abstract/Summary:PDF Full Text Request
H.264 is the latest video coding standard co-developed by the two international organizations - ITU-T and ISO/IEC. For its higher compression ratio and more flexible network adaptability, H.264 will have a wide-range application in the digital video storage, transmission, multimedia information services, etc. Yet as the computational complexity greatly increases, the real-time of H.264 codec becomes a big problem, especially for HD video encoding and decoding. Researches have been conducted to overcome this difficulty.Every modern PC can be equipped a graphics card. The powerful graphics ability is derived from the kernel module - Graphics Processing Unit (GPU). GPU was originally designed to render 3-D environment, and had powerful floating-point computation ability and the parallel feature. The emergence of programmable GPU makes it not only just for 3-D rendering, but also applicable in non-graphics area. Thus, the general-purpose computation based on GPUs has become a hotspot. People have started to implement GPU for video encoding and decoding.By taking full advantage of GPU's powerful floating-point computation ability and parallel feature, research on the design and realization of H.264 video parallel codec based on GPU is done.Motion estimation accounts for more than 60% time of the entire encoding processing. Thus, the motion estimation module is shifted to GPU to accelerate. A parallel CPU + GPU encoding architecture is proposed. By opening the feedback loop of traditional encoder and taking the current frame as the reference frame, this paper achieves indeed parallelism of CPU and GPU. A new motion estimation algorithm based on GPU is presented. The experimental results demonstrate that the parallel architecture can significantly accelerate the encoding process, as well as a better encoding performance for smooth motion video sequences.Decoder is used more frequently as it serves for the clients, so its acceleration has a more practical significance. Considering the properties of CPU and GPU respectively, this paper proposes a CPU + GPU parallel decoder. CPU is responsible for bit stream analysis and entropy decoding, while the GPU is in charge of motion compensation, inverse quantization, inverse transform, reconstruction and color space conversion. By making full use of the multi-channel feature of GPU, this paper proposes multi-channel motion compensation, multi-channel inverse quantization and new inverse transform algorithms. Experimental results show that the proposed parallel architecture accelerates the decoding process significantly comparing with the traditional CPU-based decoder.This paper shows that without upgrading the hardware, the proposed parallel codec combining GPU's powerful computing ability and parallel characteristics can keep the equivalent performance with the traditional encoder. At the same time it can accelerate the encoding and decoding process significantly with a good applicability.
Keywords/Search Tags:H.264, Graphics Processing Unit, Parallel algorithm, Multiple Channel, Codec
PDF Full Text Request
Related items