Skip to main content
Log in

Software Code Generation for the RVC-CAL Language

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

The MPEG Reconfigurable Video Coding (RVC) framework is a new standard under development by MPEG that aims at providing a unified high-level specification of current and future MPEG video coding technologies using dataflow models. In this framework, a decoder is built as a configuration of video coding modules taken from the standard MPEG toolbox library or proprietary libraries. The elements of the library are specified by a textual description that expresses the I/O behavior of each module and by a reference software written using a subset of the CAL Actor Language named RVC-CAL. A decoder configuration is written in an XML dialect by connecting a set of CAL modules. Code generators are fundamental supports that enable the direct transformation of a high level specification to efficient hardware and software implementations. This paper presents a synthesis tool that from a CAL dataflow program generates C code and an associated SystemC model. The generated code is validated against the original CAL description simulated using the Open Dataflow environment. Experimental results of the translation of two descriptions of an MPEG-4 Simple Profile decoder with different granularities are shown and discussed.

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.

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

Similar content being viewed by others

Notes

  1. OpenDF is available on http://opendf.sf.net.

References

  1. Conchon, S., Filliâtre, J. C., & Signoles, J. (2008). Designing a generic graph library using ML functors. In M. Morazán (Ed.), Trends in functional programming (Vol. 8). Oxford: Intellect

    Google Scholar 

  2. Eker, J., Janneck, J., Lee, E., Liu, J., Liu, X., Ludvig, J., et al. (2003). Taming heterogeneity—the Ptolemy approach. In Proceedings of the IEEE (Vol. 91).

  3. Eker, J., & Janneck, J. (2003). CAL language report. Tech. Rep. ERL Technical Memo UCB/ERL M03/48, University of California at Berkeley.

  4. Frankau, S., & Mycroft, A. (2003). Stream processing hardware from functional language specifications. In Proceedings of 36th Hawaii intl. conf. on systems sciences (HICSS-36).

  5. IEEE (2006). IEEE std 1666-2005 IEEE standard SystemC language reference manual. IEEE Std 1666-2005.

  6. Janneck, J. W., Miller, I. D., Parlour, D. B., Roquier, G., Wipliez, M., & Raulet, M. (2008). Synthesizing hardware from dataflow programs: An MPEG-4 simple profile decoder case study. In IEEE workshop on signal processing systems (SiPS 2008) (pp. 287–292).

  7. Kahn, G. (1974). The semantics of a simple language for parallel programming. In Proceedings of IFIP’74 (pp. 471–475).

  8. Lattner, C., & Adve, V. (2004). LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the 2004 international symposium on code generation and optimization (CGO’04). Palo Alto, California.

  9. Lee, E. A., & Messerschmitt, D. G. (1987). Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers, 36(1), 24–35.

    Article  MATH  Google Scholar 

  10. Lee, E. A., & Parks, T. M. (1995). Dataflow process networks. Proceedings of the IEEE, 83(5), 773–801.

    Article  Google Scholar 

  11. Lucarz, C., Mattavelli, M., Thomas-Kerr, J., & Janneck, J. (2007). Reconfigurable Media Coding: A new specification model for multimedia coders. In Proceedings of SIPS’07.

  12. Necula, G. C., McPeak, S., Rahul, S. P., & Weimer, W. (2002). CIL: An infrastructure for C program analysis and transformation. In Proceedings of CC’02 (pp. 213–228).

  13. Pelcat, M., Menuet, P., Nezan, J. F., & Aridhi, S. (2009). Scalable compile-time scheduler for multi-core architectures. In Proceedings of design automation and test in Europe (DATE’09).

  14. Roquier, G., Wipliez, M., Raulet, M., Janneck, J. W., Miller, I. D., & Parlour, D. B. (2008). Automatic software synthesis of dataflow program: An MPEG-4 simple profile decoder case study. In IEEE workshop on signal processing systems (SiPS 2008) (pp. 281–286). Washington, D.C., U.S.A.

  15. Séméria, L., Sato, K., & Micheli, G. D. (2000). Resolution of dynamic memory allocation and pointers for the behavioral synthesis from C. In Proceedings of design automation and test in Europe (DATE’00) (pp. 312–319). New York: ACM.

    Chapter  Google Scholar 

  16. Wilson, R. P., French, R. S., Wilson, C. S., Amarasinghe, S. P., Anderson, J., & Tjiang, S. W. K., et al. (1994). Suif: An infrastructure for research on parallelizing and optimizing compilers. SIGPLAN Notices, 29(12), 31–37.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Matthieu Wipliez.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wipliez, M., Roquier, G. & Nezan, JF. Software Code Generation for the RVC-CAL Language. J Sign Process Syst 63, 203–213 (2011). https://doi.org/10.1007/s11265-009-0390-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-009-0390-z

Keywords

Navigation