Skip to main content
Log in

Performance Optimization of Video Coding Process on Multi-Core Platform Using Gop Level Parallelism

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

High definition video applications often require heavy computation, high bandwidth and high memory requirements which make their real-time implementation difficult. Multi-core architecture with parallelism provides new solutions to implementing complex multimedia applications in real-time. It is well-known that the speed of the H.264 encoder can be increased on a multi-core architecture using the parallelism concept. Most of the parallelization methods proposed earlier for these purposes suffer from the drawbacks of limited scalability and data dependency. In this paper, we present a result obtained using data-level parallelism at the Group-Of-Pictures (GOP) level for the video encoder. The proposed technique involves each GOP being encoded independently and implemented on JM 18.0 using advanced data structures and OpenMP programming techniques. The performance of the parallelized video encoder is evaluated for various resolutions based on the parameters such as encoding speed, bit rate, memory requirements and PSNR. The results show that with GOP level parallelism, very high speed up values can be achieved without much degradation in the video quality.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. International Standard of Joint Video specification (ITU-T Rec. H. 264 ISO/IEC) (2009)

  2. 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 Syst. Mag. 4(1), 7–28 (2004)

    Article  Google Scholar 

  3. Kwon, S-k, Tamhankar, A., Rao, K.R.: Overview of H.264/MPEG-4 part 10. J. Vis. Commun. Image Represent. 17(2), 186–216 (2006)

    Article  Google Scholar 

  4. Schwarz, H., Marpe, D., Wiegand, T.: Overview of the scalable video coding extension of the H.264/AVC standard. IEEE Trans. Circuits Syst. Video Technol. 17(9), 1103–1120 (2007)

    Article  Google Scholar 

  5. Hoogerbrugge, J., Terechko, A.: A multithreaded multicore system for embedded media processing. Trans. High Perform. Embed. Archit. Compil. III, LNCS 6590, 154–173 (2011)

    Article  Google Scholar 

  6. Gschwind, M.: The cell broadband engine: exploiting multiple levels of parallelism in a chip multiprocessor. Int. J. Parallel Program., Kluwer, Norwell, MA, USA 35, 233–262 (2007)

  7. Sankaraiah, S., Shuan, L.H., Eswaran, C.: GOP level parallelism on H.264 video encoder for multicore architecture. IPCSIT, IACSIT Press 7, 127–132 (2011)

  8. Rodriguez, A., Gonzalez, A., Malumbres, M.P.: Hierarchical parallelization of an h.264/avc video encoder. In: Proceedings of the International Symposium on Parallel Computing in Electrical Engineering (PARELEC’06), Bialystok, pp. 363–368 (2006)

  9. Rodrigues, A., Roma, N., Sousa, L.: p264: open platform for designing parallel H.264/AVC video encoders on multi-core systems. In: 20th International Workshop on Network and Operating Systems Support for Digital Audio and Video (NOSSDAV 2010), Proceedings. ACM, Amsterdam, The Netherlands, June, pp. 81–86 (2010)

  10. Chen, Y.-K., Li, E.Q., Zhou, X., Ge, S.: Implementation of H.264 encoder and decoder on personal computers. J. Vis. Commun. Image Represent. 17(2), 509–532 (2006)

    Article  Google Scholar 

  11. Azevedo, A., Juurlink, B.H.H., Meenderinck, C.H., Terechko, A., Hoogerbrugge, J., Alvarez, M., Ramirez, A., Valero, M.: A highly scalable parallel implementation of H.264. Trans. High Perform. Embed. Archit. Compil (HiPEAC) 4(2), 1–25 (2009)

    Google Scholar 

  12. Van Der Tol, E.B., Jaspers, E.G.T., Gelderblom, R.H.: Mapping of H.264 decoding on a multiprocessor architecture. In: Image and Video Communications and Processing, Proceedings of SPIE 5022 Santa Clara, CA, pp. 707–718 (2003)

  13. Kim, M., Song, J., Kim, D.H., Lee, S.: H.264 decoder on embedded dual core with dynamically load-balanced functional paritioning. In: 17th IEEE International Conference on Image Processing (ICIP), Hongkong, pp. 3749–3752 (2010)

  14. Gürhanli, A., Chen, C.C.-P., Hung, S.-H.: GOP-level parallelization of the H.264 decoder without a start-code scanner. In: Proceedings of 2nd International Conference on Signal Processing Systems (ICSPS), Dalian, China,3, pp. 627–630 (2010)

  15. Gurhanli, A., Chen, C.C.-P., Hung, S.-H.: Coarse grain parallelization of H.264 video decoder and memory bottleneck in multi-core architectures. Int. J. Comput. Theory Eng. 3(3), 375–381 (2011)

    Article  Google Scholar 

  16. Meenderinck, C., Azevedo, A., Alvarez, M., Juurlink, B., Ramirez, A.: Parallel scalability of H.264. In: Proceedings of the first workshop on programmability issues for multi-core computers (MULTPROG-1), Goteborg, Sweden, pp. 1–12 (2008)

  17. Meenderinck, C., Azevedo, A., Juurlink, B., Mesa, M.A., Ramirez, A.: Parallel scalability of video decoders. J. Signal Process. Syst. 57(2), 173–194 (2009)

    Article  Google Scholar 

  18. Alvarez Mesa, M., Ramirez, A., Azevedo, A., Meenderinck, C., Juurlink, B., Valero, M.: Scalability of macroblock-level parallelism for H.264 decoding. In: Proceedings 15th International Conference on Parallel and Distributed Systems (ICPADS’09), Shenzhen, China, pp. 236–243 (2009)

  19. Chen, Y.-K., Tian, X., Ge, S., Girkar, M.: Towards efficient multilevel threading of H.264 encoder on intel hyper-threading architectures. In: Proceedings of the 18th International Parallel and Distributed Processing Symposium, Santa Fe, New Mexico, pp. 63–67 (2004)

  20. Ge, S., Tian, X., Chen, Y.-K.: Efficient multithreading implementation of H.264 encoder on intel hyper-threading architectures. In: Proceedings of the Joint Conference of the Fourth International Conference on Information, Communications and Signal Processing and Fourth Pacific Rim Conference on Multimedia, Singapore, pp. 469–473 (2003)

  21. Kim, Y.-I, Kim, J.-T., Bae, S., Baik, H., Song, H.J.: H.264/AVC decoder parallelization and optimization on asymmetric multicore platform using dynamic load balancing. In: IEEE International Conference on Multimedia and Expo, Hannover, pp. 1001–1004 (2008)

  22. Taylor, S.: Optimizing Applications for Multi-Core Processors: Using the Intel Integrated Performance Primitives, 2nd edn. Intel Press, USA (2007)

    Google Scholar 

  23. Gerber, R., Bik, A.J.C., Smith, K.B., Tian, X.: The Software Optimization Cookbook: High-Performance Recipes for IA-32 Platforms, 2nd edn. Intel Press, USA (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to S. Sankaraiah.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sankaraiah, S., Shuan, L.H., Eswaran, C. et al. Performance Optimization of Video Coding Process on Multi-Core Platform Using Gop Level Parallelism. Int J Parallel Prog 42, 931–947 (2014). https://doi.org/10.1007/s10766-013-0267-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-013-0267-4

Keywords

Navigation