Advertisement

An Evaluation of Parallelization Concepts for Baseline-Profile Compliant H.264/AVC Decoders

  • Klaus Schöffmann
  • Markus Fauster
  • Oliver Lampl
  • Laszlo Böszörmenyi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4641)

Abstract

Due to the increasing performance requirements of decoding H.264/AVC in HDTV or larger resolutions, new approaches are necessary to enable real-time processing. According to the current trend to parallel computation in all performance classes, decoding of AVC must be mapped to these architectures even though this is complicated by the increased complexity and many data dependencies in the codec. We propose and evaluate different ways of using multithreading to speed-up our .NET implemented decoder. While slice based approaches scale best, this is not a flexible approach because of the reliance on specially encoded streams. Functional partitioning and macroblock pipelining prove to be a good alternative for almost all evaluated videos.

Keywords

AVC H.264 Parallelization Decoding Evaluation Multi-Threading Pipelining 

References

  1. 1.
    Zhou, X., Li, E.Q., Chen, Y.K.: Implementation of H.264 Decoder on General-Purpose Processors with Media Instructions. In: SPIE Conf. on Image and Video Communications and Processing (January 2003)Google Scholar
  2. 2.
    ISO/IEC JTC 1/SC 29/WG 11. ISO/IEC FDIS 14496-10: Information Technology - Coding of audio-visual objects - Part 10: Advanced Video Coding (March 2003)Google Scholar
  3. 3.
    Lampl, O., Stellnberger, E., Böszörményi, L.: Programming language concepts for multimedia application development. In: Lightfoot, D.E., Szyperski, C.A. (eds.) JMLC 2006. LNCS, vol. 4228, Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Mono: Open source.net development framework (2007), http://www.mono-project.com
  5. 5.
    Zhou, X., Li, E.Q., Chen, Y.K.: Implementation of H.264 decoder on general-purpose processors with media instructions. In: Vasudev, B., Hsing, T.R., Tescher, A.G., Ebrahimi, T., eds.: Image and Video Communications and Processing, 2003. Proceedings of the SPIE, vol. 5022, pp. 224–235 (2003)Google Scholar
  6. 6.
    Jacobs, T., Chouliaras, V., Mulvaney, D.: Thread-parallel MPEG-2, MPEG-4 and H.264 video encoders for SoC multi-processor architectures. In: IEEE Transactions on Consumer Electronics, vol. 52, pp. 269–275. IEEE Computer Society Press, Los Alamitos (2006)Google Scholar
  7. 7.
    Chen, Y.K., Tian, X., Ge, S., Girkar, M.: Towards efficient multi-level threading of H.264 encoder on Intel hyper-threading architectures . In: 18th International Parallel and Distributed Processing Symposium, vol. 1, pp. 63–72 (2004)Google Scholar
  8. 8.
    Rodriguez, A., Gonzalez, A., Malumbres, M.P.: Hierarchical Parallelization of an H.264/AVC Video Encoder. In: International Symposium on Parallel Computing in Electrical Engineering, 2006, pp. 363–368 (September 2006)Google Scholar
  9. 9.
    Bilas, A., Fritts, J., Singh, J.P.: Real-time parallel MPEG-2 decoding in software. Technical Report TR-516-96 (1996)Google Scholar
  10. 10.
    van der Tol, E.B., Jaspers, E.G., Gelderblom, R.H.: Mapping of H.264 decoding on a multiprocessor architecture. In: Vasudev, B., Hsing, T.R., Tescher, A.G., Ebrahimi, T., eds.: Image and Video Communications and Processing 2003. Proceedings of the SPIE, vol. 5022, pp. 707–718 (2003)Google Scholar
  11. 11.
    Richardson, I.: H.264 and MPEG-4 Video Compression: Video Coding for Next Generation Multimedia. John Wiley & Sons Ltd, Chichester, England (2003)Google Scholar
  12. 12.
    Chen, Y.K., Li, E.Q., Zhou, X., Ge, S.L.: Implementation of H.264 Encoder and Decoder on Personal Computers. Journal of Visual Communications and Image Representations, 509–532 (2005)Google Scholar
  13. 13.
    Alvarez, M., Salami, E., Ramirez, A., Valero, M.: A performance characterization of high definition digital video decoding using H.264/AVC. In: Proceedings of the IEEE International Workload Characterization Symposium, IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  14. 14.
    Wang, S.H., Peng, W.H., He, Y., Lin, G.Y., Lin, C.Y., Chang, S.C., Wang, C.N., Chiang, T.: A platform-based MPEG-4 advanced video coding (AVC) decoder with block level pipelining. In: Proc. of the 2003 Joint Conference of the Fourth International Conference on Information, Communications and Signal Processing, 2003 and the Fourth Pacific Rim Conference on Multimedia., vol. 1 (December 2003)Google Scholar
  15. 15.
    Orange Open Movie Project: elephants dream (2007), http://orange.blender.org/
  16. 16.
    Aimar, L., Merritt, L., et al.: x264 - a free h264/avc encoder (2007), http://www.videolan.org/developers/x264.html
  17. 17.
    Apple Inc.: QuickTime Pro (2007), http://www.apple.com/de/quicktime/pro/

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Klaus Schöffmann
    • 1
  • Markus Fauster
    • 1
  • Oliver Lampl
    • 1
  • Laszlo Böszörmenyi
    • 1
  1. 1.Department of Information Technology (ITEC), University of Klagenfurt, Universitätsstr. 65-67, 9020 KlagenfurtAustria

Personalised recommendations