Advertisement

MPEG Reconfigurable Video Coding

  • Marco Mattavelli
  • Jorn W. Janneck
  • Mickaël Raulet
Chapter

Abstract

The current monolithic and lengthy scheme behind the standardization and the design of new video coding standards is becoming inappropriate to satisfy the dynamism and changing needs of the video coding community. Such a scheme and specification formalism do not enable designers to exploit the clear commonalities between the different codecs, neither at the level of the specification nor at the level of the implementation. Such a problem is one of the main reasons for the typical long time interval elapsing between the time a new idea is validated until it is implemented in consumer products as part of a worldwide standard. The analysis of this problem originated a new standard initiative within the ISO/IEC MPEG committee, called Reconfigurable Video Coding (RVC). The main idea is to develop a video coding standard that overcomes many shortcomings of the current standardization and specification process by updating and progressively incrementing a modular library of components. As the name implies, flexibility and reconfigurability are new attractive features of the RVC standard. The RVC framework is based on the usage of a new actor/dataflow oriented language called Cal for the specification of the standard library and the instantiation of the RVC decoder model. Cal dataflow models expose the intrinsic concurrency of the algorithms by employing the notions of actor programming and dataflow. This chapter gives an overview of the concepts and technologies building the standard RVC framework and the non standard tools supporting the RVC model from the instantiation and simulation of the Cal model to the software and/or hardware code synthesis.

References

  1. 1.
    A. Ab Rahman, A. Prihozhy, M. Mattavelli: Pipeline Synthesis and Optimization of FPGA-based Video Processing Applications with CAL, Eurasip Journal on Image and Video Processing, 2011, 2011:19, http://jivp.eurasipjournals.com/content/2011/1/19.CrossRefGoogle Scholar
  2. 2.
    Actors FP7 project: http://www.actors-project.eu
  3. 3.
    V. Agarwal, M. S. Hrishikesh, S. W. Keckler, and D. Burger. 2000. Clock rate versus IPC: the end of the road for conventional microarchitectures. SIGARCH Comput. Archit. News 28, 2 (May 2000), 248–259.Google Scholar
  4. 4.
    E. Bezati, R. Thavot, G. Roquier, M. Mattavelli: High-Level Data Flow Design of Signal Processing Systems for reconfigurable and multi-core heterogeneous platforms, Journal of Real Time Image Processing, 2012.Google Scholar
  5. 5.
    S.S. Bhattacharyya, G. Brebner, J.W. Janneck, J. Eker, C. von Platen, M. Mattavelli, and M. Raulet: OpenDF: a dataflow toolset for reconfigurable hardware and multicore systems. SIGARCH Comput. Archit. News 36(5), 29–35 (2008). https://doi.org/10.1145/1556444.1556449 CrossRefGoogle Scholar
  6. 6.
    S.S. Bhattacharyya, J. Eker, J.W. Janneck, C. Lucarz, M. Mattavelli, and M. Raulet: Overview of the MPEG reconfigurable video coding framework. Journal of Signal Processing Systems (2011). https://doi.org/10.1007/s11265-009-0399-3 CrossRefGoogle Scholar
  7. 7.
    C. Tulvan and M. Preda: 3D Graphics Coding in a Reconfigurable Environment. Image Communications (2013). https://doi.org/10.1016/j.image.2013.08.010 Google Scholar
  8. 8.
    J.S. Euee, M. Mattavelli, M. Preda, M. Raulet and H. Sun: Overview of the MPEG reconfigurable video coding framework. Image Communications (2013). https://doi.org/10.1016/j.image.2013.08.008 Google Scholar
  9. 9.
    B. Bhattacharya and S.S. Bhattacharyya, “Parameterized Dataflow Modeling for DSP Systems,” IEEE Transactions on Signal Processing, vol. 49, pp. 2408–2421, 2001.MathSciNetCrossRefGoogle Scholar
  10. 10.
    G. Bilsen, M. Engels, R. Lauwereins, and J. Peperstraete, “Cyclo-static dataflow,” IEEE Transactions on signal processing, vol. 44, no. 2, pp. 397–408, 1996.CrossRefGoogle Scholar
  11. 11.
    J. Boutellier, C. Lucarz, S. Lafond, V.M. Gomez, and M. Mattavelli, “Quasi-static scheduling of CAL actor networks for reconfigurable video coding,” Journal of Signal Processing Systems, pp. 1–12, 2009.Google Scholar
  12. 12.
    J. Boutellier, J. Ersfolk, J. Lilius, M. Mattavelli, G. Roquier, and O. Silven, “Actor merging for dataflow process networks,” IEEE Transactions on Signal Processing, vol. 63, no. 10, pp. 2496–2508, 2015.MathSciNetCrossRefGoogle Scholar
  13. 13.
    J. Boutellier, O. Silvén, and M. Raulet: “Automatic synthesis of TTA processor networks from RVC-CAL dataflow programs.,” Signal Processing Systems (SiPS), 2011 IEEE Workshop on, pp.25–30, 4–7 Oct. 2011.  https://doi.org/10.1109/SiPS.2011.6088944
  14. 14.
    S. Casale Brunet, E. Bezati, R. Thavot, G. Roquier, M. Mattavelli, J. W. Janneck, Methods to Explore Design Space for MPEG RVC Codec Specifications, in Signal Processing Image Communication, Special Issue on Reconfigurable Media Coding, 2013.Google Scholar
  15. 15.
    G. Cedersjö and J. W. Janneck. Processes and actors: Translating Kahn processes to dataflow with firing, in 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS), pp. 21–30, IEEE, 2016.Google Scholar
  16. 16.
    G. Cedersjö, Efficient Software Implementation of Stream Programs, dissertation, LU-CS-DISS 2017–3, Department of Computer Science, Lund University, 2017Google Scholar
  17. 17.
    Simon Casale Brunet, Analysis and optimization of dynamic dataflow programs, Thèse École polytechnique fédérale de Lausanne EPFL, no. 6663 (2015). http://infoscience.epfl.ch/record/208775
  18. 18.
    Endri Bezati, High-level synthesis of dataflow programs for heterogeneous platforms: design flow tools and design space exploration, Thèse École polytechnique fédérale de Lausanne EPFL, no. 6653 (2015). http://infoscience.epfl.ch/record/207992
  19. 19.
    Y. Chen and L. Chen. Video Compression. In S. S. Bhattacharyya, E. F. Deprettere, R. Leupers, and J. Takala, editors, Handbook of Signal Processing Systems. Springer, second edition, 2012.Google Scholar
  20. 20.
    L. Chiariglione Editor: The MPEG Representation of Digital Media. Springer Ed. 2011. http://dx.doi.org/10.1007/978-1-4419-6184-6{_}12 Google Scholar
  21. 21.
    D. Ding, L. Yu, C. Lucarz, and M. Mattavelli: Video decoder reconfigurations and AVS extensions in the new MPEG reconfigurable video coding framework. In: Signal Processing Systems, 2008. SiPS 2008. IEEE Workshop on, pp. 164–169 (2008).  https://doi.org/10.1109/SIPS.2008.4671756
  22. 22.
    S. A. Edwards. 2003, Tutorial: Compiling concurrent languages for sequential processors, ACM Trans. Des. Autom. Electron. Syst. 8, 2 (April 2003), 141–187.Google Scholar
  23. 23.
    J. Eker and J.W. Janneck: CAL Language Report Specification of the CAL Actor Language. Tech. Rep. UCB/ERL M03/48, EECS Department, University of California, Berkeley (2003)Google Scholar
  24. 24.
    J. Ersfolk, G. Roquier, J. Lilius, M. Mattavelli Scheduling of dynamic data flow programs based on state space analysis, 2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2012, pp. 1661–1664.  https://doi.org/10.1109/ICASSP.2012.6288215.
  25. 25.
    J. Ersfolk, G. Roquier, F. Jokhio, J. Lilius, M. Mattavelli, Scheduling of dynamic data flow programs with model checking,, 2011 IEEE Workshop on Signal Processing Systems (SiPS), 2011, pp. 37–42.  https://doi.org/10.1109/SiPS.2011.6088946.
  26. 26.
    O. Esko, P. Jääskeläinen, P. Huerta, C. S. de La Lama, J. Takala, and J. I. Martinez : “Customized exposed datapath soft-core design flow with compiler support,” IEEE conference on Field Programmable Logic and Applications (FPL), 2010, pp. 217–222.Google Scholar
  27. 27.
    J. Gorin, M. Raulet, Y.L. Cheng, H.Y. Lin, N. Siret, K. Sugimoto, and G. Lee: An RVC dataflow description of the AVC Constrained Baseline Profile decoder. In: IEEE International Conference on Image Processing, Special Session on Reconfigurable Video Coding. Cairo, Egypt (2009)Google Scholar
  28. 28.
    J. Gorin, M. Wipliez, J. Piat, M. Raulet, and F. Preteux. A portable Video Tools Library for MPEG Reconfigurable Video Coding using LLVM representation. In Design and Architectures for Signal and Image Processing (DASIP 2010), pages 281–286, 2008.Google Scholar
  29. 29.
    J. Gorin, M. Wipliez, F. Preteux, and M. Raulet. LLVM-based and scalable MPEG-RVC decoder. Journal of Real-Time Image Processing, pages 1–12.Google Scholar
  30. 30.
    J. Gorin, M. Wipliez, M. Raulet, and F. Preteux. An LLVM-based decoder for MPEG Reconfigurable Video Coding. In IEEE Workshop on Signal Processing Systems (SiPS 2010), Washington, D.C., USA, pages 281–286, 2008.Google Scholar
  31. 31.
    R. Gu, J.W. Janneck, S.S. Bhattacharyya, M. Raulet, M. Wipliez, and W. Plishker, “Exploring the concurrency of an MPEG RVC decoder based on dataflow program analysis,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 19, no. 11, 2009.Google Scholar
  32. 32.
    Graphiti Editor sourceforge: http://graphiti-editor.sf.net
  33. 33.
    International Standard ISO/IEC FDIS 23001-5: MPEG systems technologies - Part 5: Bitstream Syntax Description Language (BSDL)Google Scholar
  34. 34.
    ISO/IEC International Standard 23001-4: MPEG systems technologies – Part 4: Codec Configuration Representation (2011)Google Scholar
  35. 35.
    ISO/IEC International Standard 23002-4: MPEG video technologies – Part 4: Video tool library (2010)Google Scholar
  36. 36.
    ISO/IEC International Standard 23002-6: MPEG systems technologies – Part 6: Tools for reconfigurable media coding implementations (2017)Google Scholar
  37. 37.
    ISO/IEC International Standard 23001-4: MPEG systems technologies – Part 4: Codec Configuration Representation (2017)Google Scholar
  38. 38.
    E.S. Jang, J. Ohm, and M. Mattavelli: Whitepaper on Reconfigurable Video Coding (RVC). In: ISO/IEC JTC1/SC29/WG11 document N9586. Antalya, Turkey (2008). http://www.chiariglione.org/mpeg/technologies/mpb-rvc/index.h\%tm
  39. 39.
    J. W. Janneck: Actor machines - a machine model for dataflow actors and its applications, Department of Computer Science, Lund University, Tech. Rep. LTH 96-2011, LU-CS-TR 201–247, (2011).Google Scholar
  40. 40.
    J. W. Janneck: A Machine Model for Dataflow Actors and its Applications 45th Annual Asilomar Conference on Signals, Systems, and Computers November 6–9, 2011.Google Scholar
  41. 41.
    J.W. Janneck, I.D. Miller, D.B. Parlour, G. Roquier, M. Wipliez, and M. Raulet: Synthesizing hardware from dataflow programs. Journal of Signal Processing Systems (2011). http://dx.doi.org/10.1007/s11265-009-0397-5
  42. 42.
    J.W. Janneck, I.D. Miller, D.B. Parlour, G. Roquier, M. Wipliez, and M. Raulet: Synthesizing hardware from dataflow programs: An MPEG-4 simple profile decoder case study. In: Signal Processing Systems, 2008. SiPS 2008. IEEE Workshop on, pp. 287–292 (2008).  https://doi.org/10.1109/SIPS.2008.4671777
  43. 43.
    J. W. Janneck, M. Mattavelli, M. Raulet, and M. Wipliez: Reconfigurable video coding: a stream programming approach to the specification of new video coding standards. in MMSys ’10: Proceedings of the first annual ACM SIGMM conference on Multimedia systems. USA: ACM, 2010, pp. 223–234.CrossRefGoogle Scholar
  44. 44.
    G. Kahn: The semantics of a simple language for parallel programming. In: J.L. Rosenfeld (ed.) Information processing, pp. 471–475. North Holland, Amsterdam, Stockholm, Sweden (1974)Google Scholar
  45. 45.
    G. Kahn, MacQueen, D.B.: Coroutines and networks of parallel processes. In: IFIP Congress, pp. 993–998 (1977)Google Scholar
  46. 46.
    C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, page 75. IEEE Computer Society, 2004.Google Scholar
  47. 47.
    E.A. Lee and D.G. Messerschmitt, “Synchronous data flow,” Proceedings of the IEEE, vol. 75, no. 9, pp. 1235–1245, 1987.CrossRefGoogle Scholar
  48. 48.
    E.A. Lee: The problem with threads. IEEE Computer Society 39(5), 33–42 (2006). http://doi.ieeecomputersociety.org/10.1109/MC.2006.180 CrossRefGoogle Scholar
  49. 49.
    E.A. Lee and T.M. Parks: Dataflow Process Networks. Proceedings of the IEEE 83(5), 773–801 (1995)CrossRefGoogle Scholar
  50. 50.
    C. Lucarz, I. Amer, and M. Mattavelli: Reconfigurable Video Coding: Concepts and Technologies. In: IEEE International Conference on Image Processing, Special Session on Reconfigurable Video Coding. Cairo, Egypt (2009)Google Scholar
  51. 51.
    M. Mattavelli, I. Amer, and M. Raulet, “The Reconfigurable Video Coding Standard [Standards in a Nutshell],” Signal Processing Magazine, IEEE, vol. 27, no. 3, pp. 159–167, May 2010.CrossRefGoogle Scholar
  52. 52.
    Malgorzata Maria Michalska, Systematic Design Space Exploration of Dynamic Dataflow Programs for Multi-core Platforms, Thèse École polytechnique fédérale de Lausanne EPFL, no. 7607 (2017). http://infoscience.epfl.ch/record/226334
  53. 53.
    S. P. Midkiff, Automatic Parallelization: An Overview of Fundamental Compiler Techniques, Synthesis Lectures on Computer Architecture, Morgan & Claypool Publishers 2012Google Scholar
  54. 54.
  55. 55.
    The Open RVC CAL Compiler project sourceforge: http://orcc.sf.net
  56. 56.
    The OpenDF dataflow project sourceforge: http://opendf.sf.net
  57. 57.
    C. von Platen and J. Eker: Efficient realization of a cal video decoder on a mobile terminal (position paper). In: Signal Processing Systems, 2008. SiPS 2008. IEEE Workshop on, pp. 176–181 (2008).  https://doi.org/10.1109/SIPS.2008.4671758
  58. 58.
    W. Plishker, N. Sane, M. Kiemb, K. Anand, and S.S. Bhattacharyya: Functional DIF for Rapid Prototyping. In: Proceedings of the 2008 The 19th IEEE/IFIP International Symposium on Rapid System Prototyping - Volume 00, pp. 17–23. IEEE Computer Society (2008)Google Scholar
  59. 59.
  60. 60.
  61. 61.
  62. 62.
    J. Janneck, I.D. Miller, and D.B. Parlour: Profiling dataflow programs. in: Proceedings of the IEEE International Conference on Multimedia and Expo, 2008, pp. 1065–1068.Google Scholar
  63. 63.
    S. Casale-Brunet, M. Mattavelli, A. Elguindy, E. Bezati, R. Thavot, G. Roquier, and J. Janneck: Methods to explore design space for MPEG RMC codec specifications. In: Journal of Signal Processing Image Communication, Elsevier, (2013).Google Scholar
  64. 64.
    M. Raulet, J. Piat, C. Lucarz, and M. Mattavelli: Validation of bitstream syntax and synthesis of parsers in the MPEG Reconfigurable Video Coding framework. In: Signal Processing Systems, 2008. SiPS 2008. IEEE Workshop on, pp. 293–298 (2008).  https://doi.org/10.1109/SIPS.2008.4671778
  65. 65.
    G. Roquier, E. Bezati and M. Mattavelli: Hardware and Software Synthesis of Heterogeneous Systems from Dataflow Programs, Journal of Electrical and Computer Engineering, special issue on “ESL Design Methodology”, vol. 2012, Article ID 484962, 11 pages, 2012. doi: 10.1155/2012/484962.CrossRefGoogle Scholar
  66. 66.
    G. Roquier, M. Wipliez, M. Raulet, J.W. Janneck, I.D. Miller, and D.B. Parlour: Automatic software synthesis of dataflow program: An MPEG-4 simple profile decoder case study. In: Signal Processing Systems, 2008. SiPS 2008. IEEE Workshop on, pp. 281–286 (2008).  https://doi.org/10.1109/SIPS.2008.4671776
  67. 67.
    J. Thomas-Kerr, J.W. Janneck, M. Mattavelli, I. Burnett, and C. Ritz: Reconfigurable media coding: Self-Describing multimedia bitstreams. In: Signal Processing Systems, 2007 IEEE Workshop on, pp. 319–324 (2007).  https://doi.org/10.1109/SIPS.2007.4387565
  68. 68.
    J.A. Thomas-Kerr, I. Burnett, C. Ritz, S. Devillers, D.D. Schrijver, and R. Walle: Is that a fish in your ear? a universal metalanguage for multimedia. Multimedia, IEEE 14(2), 72–77 (2007).  https://doi.org/10.1109/MMUL.2007.38 CrossRefGoogle Scholar
  69. 69.
    T. Wiegand, G. Sullivan, G. Bjontegaard, and A. Luthra: Overview of the H.264/AVC video coding standard. Circuits and Systems for Video Technology, IEEE Transactions on 13(7), 560–576 (2003).  https://doi.org/10.1109/TCSVT.2003.815165 CrossRefGoogle Scholar
  70. 70.
    M. Wipliez, G. Roquier, and J.F. Nezan: Software code generation for the RVC-CAL language. Journal of Signal Processing Systems (2011). http://dx.doi.org/10.1007/s11265-009-0390-z
  71. 71.
    M. Michalska, N. Zufferey, E. Bezati, M. Mattavelli: ”High-precision performance estimation of dynamic dataflow programs,” IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip, IEEE MCSoC, Lyon, France, September 21–23 2016.Google Scholar
  72. 72.
    M. Michalska, N. Zufferey, E. Bezati, M. Mattavelli: ”Design space exploration problem formulation for dataflow programs on heterogeneous architectures,” IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip, IEEE MCSoC, Lyon, France, September 21–23 2016.Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2019

Authors and Affiliations

  • Marco Mattavelli
    • 1
  • Jorn W. Janneck
    • 2
  • Mickaël Raulet
    • 3
  1. 1.SCI-STI-MMEPFLLausanneSwitzerland
  2. 2.Department of Computer ScienceLund UniversityLundSweden
  3. 3.ATEMERennesFrance

Personalised recommendations