Abstract
A dynamic model for parallel H.264/AVC video encoding on hybrid GPU+CPU systems is proposed. The entire inter-prediction loop of the encoder is parallelized on both the CPU and the GPU, and a computationally efficient model is proposed to dynamically distribute the computational load among these processing devices on hybrid platforms. The presented model includes both dependency aware task scheduling and load balancing algorithms. According to the obtained experimental results, the proposed dynamic load balancing model is able to push forward the computational capabilities of these hybrid parallel platforms, achieving a speedup of up to 2 when compared with other equivalent state-of-the-art solutions. With the presented implementation, it was possible to encode 25 frames per second for HD 1920×1080 resolution, even when exhaustive motion estimation is considered.
Chapter PDF
Similar content being viewed by others
Keywords
- Processing Device
- Dynamic Load Balance
- Graphic Processor Unit
- Advanced Video Code
- Load Balance Algorithm
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Wiegand, T., Schwartz, H., Kossentini, F., Ulivan, G.S.: Rate-constrained coder control and comparison of video coding standards. IEEE Transactions on Circuits and Systems for Video Technology 13(7), 668–703 (2003)
Schwalb, M., Ewerth, R., Freisleben, B.: Fast motion estimation on graphics hardware for H.264 video encoding. IEEE Transactions on Multimedia 11(1), 1–10 (2009)
Momcilovic, S., Sousa, L.: Development and evaluation of scalable video motion estimators on GPU. In: Workshop on Signal Processing Systems, SiPS (October 2009)
Obukhov, A., Kharlamovl, A.: Discrete cosine transform for 8x8 blocks with CUDA. Research report, NVIDIA, Santa Clara, CA (February 2008)
Pieters, B., et al.: Parallel deblocking filtering in MPEG-4 AVC/H.264 on massively parallel architectures. IEEE Transactions on Circuits and Systems for Video Technology 21(1), 96–100 (2011)
Cheung, N.M., Fan, X., Au, O.C., Kung, M.C.: Video coding on multicore graphics processors. IEEE Signal Processing Magazine 27(2), 79–89 (2010)
Chen, W.N., Hang, H.M.: H.264/AVC motion estimation implementation on Compute Unified Device Architecture (CUDA). In: International Conference on Multimedia and Expo, ICME, pp. 697–700 (April 2008)
Rodriguez-Sánchez, R.: Optimizing H.264/AVC interprediction on a GPU-based framework. Concurrency and Computation: Practice & Experience (2012)
Ostermann, J., Bormans, J., List, P., Marpe, D., Narroschke, M., Pereira, F., Stockhammer, T., Wedi, T.: Video coding with H.264/AVC: tools, performance, and complexity. IEEE Circuits and Systems Magazine 4(1), 7–28 (2004)
Dijkstra, E.W.: A note on two problems in connexion with graphs. Numerische Mathematik 1(1), 269–271 (1959)
ITU-T: JVT Reference Software unofficial version 17.2 (2010), http://iphome.hhi.de/suehring/tml/download
Intel: SSE4 Programming Reference (2007), http://edc.intel.com/Link.aspx?id=1630
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Momcilovic, S., Roma, N., Sousa, L. (2013). Multi-level Parallelization of Advanced Video Coding on Hybrid CPU+GPU Platforms. In: Caragiannis, I., et al. Euro-Par 2012: Parallel Processing Workshops. Euro-Par 2012. Lecture Notes in Computer Science, vol 7640. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36949-0_19
Download citation
DOI: https://doi.org/10.1007/978-3-642-36949-0_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-36948-3
Online ISBN: 978-3-642-36949-0
eBook Packages: Computer ScienceComputer Science (R0)