Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

Flexible Multi-Core Platform for a Multiple-Format Video Decoder

Abstract

This paper presents a new multi-core platform that can decode various video compression formats including MPEG-2, MPEG-4, AVS, and H.264/AVC. The developed multi-core platform consists of multiple media cores that are designed based on an application-specific instruction-set processor (ASIP). To improve the decoding speed of each media core, we developed several designated instructions that are useful for decoding various video codecs. In addition, an inter-connected hardware structure and a new synchronization algorithm are proposed to reduce inter-core communication overheads and a shared memory contention on the multi-core platform. We achieved a speed-up of 2.2× in decoding video bitstreams using several designated instructions on the media core. Furthermore, we achieved a speed-up of 5.56× in decoding video bitstreams on the multi-core platform by employing macroblock-row level parallelism, compared with the developed media core without designated instructions. The developed multi-core platform was implemented on a Xilinx Virtex5 LX330 field-programmable gate array (FPGA) that operates at 60 MHz.

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

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9

References

  1. 1.

    ISO/IEC 11172 (MPEG-1 Video) (1993). Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s: Video.

  2. 2.

    ISO/IEC 13818–2 | ITU-T H.262 (MPEG-2 Video) (1995). Generic coding of moving pictures and associated audio information: Video.

  3. 3.

    ISO/IEC 14496–2 (2000). Coding of audiovisual objects-part 2: Visual. Geneva.

  4. 4.

    ITU-T Recommendation H.261 (1993). Video codec for audiovisual services at p X 64 kbit/s.

  5. 5.

    ITU-T Recommendation H.263 (1995). Video coding for low bit rate communication, version 1.

  6. 6.

    ISO/IEC 14496–10:2003 (2003). Coding of audiovisual objects-Part 10: Advanced video coding.

  7. 7.

    ITU-T Recommendation H.265 (2013). High efficiency video coding, version 1.

  8. 8.

    Chen, Y. K., Li, E. Q., Zhou, X., & Ge, S. (2006). Implementation of H.264 encoder and decoder on personal computers. Journal of Visual Communication and Image Representation, 17(2), 509–532.

  9. 9.

    Pescador, F., Sanz, C., Garrido, M. J., Juarez, E., & Samper, D. (2008). A DSP based H.264 decoder for a multi-format IP set-top box. IEEE Transactions on Consumer Electronics, 54(1), 145–153.

  10. 10.

    Dinoi, L., Martini, R., Masera, G., Quaglio, F., & Vacca, F. (2006). ASIP design for partially structured LDPC codes. Electronics Letters, 42(18), 1048–1049.

  11. 11.

    Lee, J. J., Park, S. M., & Eum, N. W. (2008). Design of application specific processor for H.264 inverse transform and quantization. In Proceedings of the IEEE Asia Pacific Conference on Circuits and Systems, (pp. 57–60).

  12. 12.

    Lee, J. Y., Lee, J. J., & Park, S. M. (2010). Multi-core platform for an efficient H.264 and VC-1 video decoding based on macroblock row-level parallelism. IET Circuits, Devices & Systems, 4(2), 147–158.

  13. 13.

    van der Tol, E. B., Jaspers, E. G. T., & Gelderblom, R. H. (2003). Mapping of H.264 decoding on multiprocessor architecture. In SPIE Conf. Image Video Comm. Process, (pp. 707–718).

  14. 14.

    Meenderinck, C., Azevedo, A., Alvarez, M., Juurlink, B., & Ramirez, A. (2008). Parallel scalability of H.264. In Proceedings of the First Workshop on Programmability Issues for Multi-Core Computers, (pp. 1–12).

  15. 15.

    Lee, K. W., Kim, S. D., & Sunwoo, M. H. (2006). VSIP: Video specific instruction set processor for H.264/AVC. In SIPS’06. IEEE Workshop on Signal Processing Systems Design and Implementation, (pp. 124–129).

  16. 16.

    Hoffmann, A., Kogel, T., Nohl, A., Braun, G., Schliebusch, O., Wahlen, O., Wieferink, A., & Meyr, H. (2001). A novel methodology for the design of application specific instruction set processors (ASIP) using a machine description language. IEEE Transactions on Computer-Aided Design, 20(11), 1338–1354.

  17. 17.

    Processor Designer Training Manual, CoWare (2006).

  18. 18.

    Processor and Compiler Designer Reference Manual, CoWare (2009).

  19. 19.

    AVS-Group (2005). Advanced coding of audio and video–Part 2: Video, AVS1-P2.

  20. 20.

    Jo, S. H., Jo, S., & Song, Y. H. (2010). Efficient coordination of parallel threads of H.264/AVC decoder for performance improvement. IEEE Transactions on Consumer Electronics, 56(3), 1963–1971.

  21. 21.

    Kim, W. J., Cho, K., & Chung, K. S. (2010). Stage-based frame-partitioned parallelization of H.264/AVC decoding. IEEE Transactions on Consumer Electronics, 56(2), 1088–1096.

  22. 22.

    MPEG-2 Test Model 5, http://www.mpeg.org/MPEG/video/mssg-free-mpeg-software.html. Accessed 10 July 2013.

  23. 23.

    MPEG-4 XviD, http://www.xvid.org/Xvid-Codec.2.0.html. Accessed 10 July 2013.

  24. 24.

    AVS RM5.2j, http://www.avs.org.cn/fruits/en/softList.asp. Accessed 10 July 2013.

  25. 25.

    Joint Video Team (JVT) reference software JM16.2, http://iphome.hhi.de/suehring/tml/. Accessed 10 July 2013.

  26. 26.

    Nishihara, K., Hatabu, A., & Moriyoshi, T. (2008). Parallelization of H.264 video decoder for embedded multicore processor. In 2008 I.E. International Conference on Multimedia and Expo, (pp. 329–332).

  27. 27.

    Azevedo, A., Meenderinck, C., Juurlink, B., Terechko, A., Hoogerbrugge, J., Alvarez, M., Ramirez, A., & Valero, M. (2009). Parallel H.264 decoding on an embedded multicore processor. In Proceedings of 4th International Conference on High Performance Embedded Architectures and Compilers, (pp. 404–418).

  28. 28.

    Schoffmann, K., Fauster, M., Lampl, O., & Boszormenyi, L. (2007). An evaluation of parallelization concepts for baseline-profile compliant H.264/AVC decoders. Lecture Notes in Computer Science, 4641, 782–791.

  29. 29.

    Chong, J., Satish, N., Catanzaro, B., Ravindran, K., & Keutzer, K. (2007). Efficient parallelization of H.264 decoding with macro block level scheduling. In IEEE International Conference on Multimedia and Expo, (pp. 1874–1877).

Download references

Acknowledgments

This work was partly supported by the IT R&D program of MSIP/KEIT [10042395, Development of SW emulation and rapid prototyping technology for high-performance SoC based-on multi-core] and partly supported by the MSIP (Ministry of Science, ICT & Future Planning), Korea, under the C-ITRC (Convergence Information Technology Research Center) support program (NIPA-2013-H0301-13-1006) supervised by the NIPA (National IT Industry Promotion Agency) and the Research Grant of Kwangwoon University in 2013.

Author information

Correspondence to Dong-Gyu Sim.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Jo, H., Ahn, Y., Kang, D. et al. Flexible Multi-Core Platform for a Multiple-Format Video Decoder. J Sign Process Syst 80, 163–179 (2015). https://doi.org/10.1007/s11265-013-0853-0

Download citation

Keywords

  • Multi-codec
  • Video decoder
  • ASIP
  • Multi-core platform