A novel parallel H.264 decoder using dynamic load balance on dual core embedded system

The dual-core environment is more and more popular in embedded system recently. The limited buffer and limited bandwidth are critical for parallel algorithm in embedded system. This paper proposes a novel parallel algorithm using functional partitioning with dynamic load balance for video decoder. The video decoding flow of each macroblock is dynamically separated for different cores according to the buffer queue level. The extra intercommunication buffer size requires only 1.6% buffer size of traditional data partitioning algorithm for 720p decoder. The speed-up ratio is 1.74 times in average compared to original single thread code. The experiment result shows the proposed algorithm can real-time decode H.264 720p high profile on ARM Cortex-A9 400MHz dual-core system.

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

[2]  Jos T. J. van Eijndhoven,et al.  Cache-Coherent Heterogeneous Multiprocessing as Basis for Streaming Applications , 2005 .

[3]  R.M. Schreier,et al.  A macroblock-level analysis on the dynamic behaviour of an H.264 decoder , 2007, 2007 IEEE International Symposium on Consumer Electronics.

[4]  B. Juurlink,et al.  Parallel Scalability of H . 264 , 2007 .

[5]  Florian H. Seitner,et al.  Development of a High-Level Simulation Approach and Its Application to Multicore Video Decoding , 2009, IEEE Transactions on Circuits and Systems for Video Technology.

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

[7]  Do-Hyung Kim,et al.  H.264 decoder on embedded dual core with dynamically load-balanced functional paritioning , 2010, 2010 IEEE International Conference on Image Processing.

[8]  Jong-Tae Kim,et al.  Novel approaches to parallel H.264 decoder on symmetric multicore systems , 2009, 2009 IEEE International Conference on Acoustics, Speech and Signal Processing.