¡¡Chinese Journal of Computers   Full Text
  TitleMulti-Grain Parallel H.264 Encoder for Homogeneous Multi-Core Architectures
  AuthorsYU Jun-Qing LI Jiang WEI Hai-Tao
  Address(College of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074)
  Year2009
  IssueNo.6(1100¡ª1109)
  Abstract &
  Background
Abstract As a new generation video coding standards, H.264 requires more intensive computation than before to achieve high coding performance. With the continuous development of multi-core processors, the development of the multi-grain parallel H.264 encoder has great significance to meet the requirements of video real-time transmission and large-scale sharing. Based on the open-source H.264 encoder project X264, an adaptive B-frame frame parallel algorithm is proposed through analysis of the dependency among the referent frames. According to the reference of related macroblocks, a macroblock-level parallel approach is designed in assembly-line fashion. A multi-grain parallel H.264 encoder is implemented on the homogeneous multi-core platform. This encoder efficiently combines four parallel grains, including frame, slice, macroblock and data level. Experimental results demonstrate that the encoding speedup is improved to a large extent, without obviously increasing bitrates. The high-quality video is kept in the encoding process. Keywords multi-core processor; multi-thread; H.264 encoder; multi-grain parallel Background As a new video coding standard, H.264 developed by Joint Video Team (JVT) is now being used widely due to its high-quality video content and low bitrates. A number of new features have been introduced in H.264 to attain such coding performance, such as multiple reference frames, intra-prediction, quarter-pixel motion estimation (ME) with variable block sizes, CABAC, in-loop deblocking filter and more which make encoding process more complex and require more computation power than previous coding standards. Therefore, we need some hardware and software mechanisms to accelerate the speed of encoder for real-time application. Multi-core processor architecture is becoming the mainstream solution for next generation microprocessor chips, in which multi-grained parallel computational resources are provided. Multi-core hardware can be used to execute multiple thread contents in parallel. In order to improve H.264 encoding performance, the authors present an implement of multi-level parallelization for H.264 encoder on multi-core architecture. In the new scheme, frame-level, slice-level macroblock-level and data-level of parallelism are exploited by analyzing the feature of H.264 encoding process. Based on the open-source H.264 encoder project X264, an adaptive B-frame frame parallel algorithm is proposed through analysis of the dependency among the referent frames. According to the reference of related macroblocks, a macroblock-level parallel approach is designed in assembly-line fashion. A multi-grain parallel H.264 encoder is implemented on the homogeneous multi-core platform. This encoder efficiently combines four parallel grains, including frame, slice, macroblock and data level. Experimental results demonstrate that the encoding speedup is improved to a large extent, without obvious increasing bitrates. The high-quality video is kept in the encoding process. This work is financially supported by Intel grant for a study of multi-core programming environment. In recent years, this group concentrated on the research on media processing and retrieval on multi-core architecture. Several papers have been published in international conference and journal. A testing platform prototype has been developed.