Multi-threaded syntax element partitioning for parallel entropy decoding

Strong demand for high resolution video services leads to active studies on high speed video processing. Especially, widespread deployment of multi-core systems accelerates researches on high resolution video processing based on parallelization of multimedia software. Even if parallelization of other decoding steps on a multi-core platform may improve performance, entropy decoding often becomes a performance bottleneck since it should be processed sequentially. To resolve this concern, parallel entropy coding algorithms have been proposed. Syntax element partitioning is an algorithm for parallelization of Context Adaptive Binary Arithmetic Coding (CABAC). In this paper, we propose Multi-Threaded Syntax Element Partitioning (MT-SEP) for parallel entropy decoding. One major advantage of software parallel video decoding over hardware implementations will be that versatile video codecs can be implemented flexibly. We parallelized the KTA 2.7 decoder with the proposed technique on an Intel Quad-Core platform. We achieved up to 56% performance improvement using the proposed version of syntax element partitioning.

[1]  Yong Ho Song,et al.  Efficient coordination of parallel threads of H.264/AVC decoder for performance improvement , 2010, IEEE Transactions on Consumer Electronics.

[2]  Milind Girkar,et al.  Towards efficient multi-level threading of H.264 encoder on Intel hyper-threading architectures , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[3]  K.K. Parhi,et al.  Parallelization of Context-Based Adaptive Binary Arithmetic Coders , 2006, IEEE Transactions on Signal Processing.

[4]  Gary J. Sullivan,et al.  Rate-constrained coder control and comparison of video coding standards , 2003, IEEE Trans. Circuits Syst. Video Technol..

[5]  Kurt Keutzer,et al.  Efficient Parallelization of H.264 Decoding with Macro Block Level Scheduling , 2007, 2007 IEEE International Conference on Multimedia and Expo.

[6]  In-Cheol Park,et al.  Parallel Decoding of Context-Based Adaptive Binary Arithmetic Codes Based on Most Probable Symbol Prediction , 2007, IEICE Trans. Inf. Syst..

[7]  Ben H. H. Juurlink,et al.  Parallel H.264 Decoding on an Embedded Multicore Processor , 2009, HiPEAC.

[8]  Zhuo Zhao,et al.  A Highly Efficient Parallel Algorithm for H.264 Video Encoder , 2006, 2006 IEEE International Conference on Acoustics Speech and Signal Processing Proceedings.

[9]  Ja-Ling Wu,et al.  A Parallelism Encoding Framework for the Temporal Scalability of H.264/AVC Scalable Extension , 2007, Ninth IEEE International Symposium on Multimedia Workshops (ISMW 2007).

[10]  Xiaoning Ding,et al.  An Evaluation of OpenMP on Current and Emerging Multithreaded/Multicore Processors , 2005, IWOMP.

[11]  Vassilios A. Chouliaras,et al.  Thread-parallel MPEG-2, MPEG-4 and H.264 video encoders for SoC multi-processor architectures , 2006, IEEE Transactions on Consumer Electronics.

[12]  Erik B. van der Tol,et al.  Mapping of H.264 decoding on a multiprocessor architecture , 2003, IS&T/SPIE Electronic Imaging.

[13]  Faouzi Kossentini,et al.  H.264/AVC baseline profile decoder complexity analysis , 2003, IEEE Trans. Circuits Syst. Video Technol..

[14]  Ajay Luthra,et al.  Overview of the H.264/AVC video coding standard , 2003, IEEE Trans. Circuits Syst. Video Technol..

[15]  Tsung-Han Tsai,et al.  VLIW-aware software optimization of AAC decoder on parallel architecture core DSP (PACDSP) processor , 2008, IEEE Transactions on Consumer Electronics.

[16]  Barbara M. Chapman,et al.  Evaluating OpenMP on Chip MultiThreading Platforms , 2005, IWOMP.

[17]  Anantha Chandrakasan,et al.  A high throughput CABAC algorithm using syntax element partitioning , 2009, 2009 16th IEEE International Conference on Image Processing (ICIP).

[18]  Nishihara Kosuke,et al.  Parallelization of H.264 Video Decoder for Embedded Multicore Processor , 2007 .

[19]  Ki-Seok Chung,et al.  Stage-based frame-partitioned parallelization of H.264/AVC decoding , 2010, IEEE Transactions on Consumer Electronics.