Multiprocessor System on Chip (MPSoC) technology presents an interesting solution to reduce the computational time of complex applications such as multimedia applications. Implementing the new High Efficiency Video Coding (HEVC/h.265) codec on the MPSoC architecture becomes an interesting research point that can reduce its algorithmic complexity and resolve the real time constraints. The implementation consists of a set of steps that compose the Co-design flow of an embedded system design process. One of the first anf key steps of a Co-design flow is the modeling phase which allows designers to make best architectural choices in order to meet user requirements and platform constraints. Multimedia applications such as HEVC decoder are complex applications that demand increasing degrees of agility and flexibility. These applications are usually modeling by dataflow techniques. Several extensions with several schedules techniques of dataflow model of computation have been proposed to support dynamic behavior changes while preserving static analyzability. In this paper, the HEVC/h.265 video decoder is modeled with SADF based FSM in order to solve problems of placing and scheduling this application on an embedded architecture. In the modeling step, a high-level performance analysis is performed to find an optimal balance between the decoding efficiency and the implementation cost, thereby reducing the complexity of the system. The case study in this case works with the HEVC/h.265 decoder that runs on the Xilinx Zedboard platform, which offers a real environment of experimentation.
KeywordsHEVCh.265Performance EstimationSDFSADFSADF-FSMEmbedded Systems
Jantsch, A. and Sander, I. (2005) Models of Computation and Languages for Embedded System Design. Computers and Digital Techniques, 152, 114-129.
Lee, E.A. and Neuendorffer, S. (2005) Concurrent Models of Computation for Embedded Software. Computers and Digital Techniques, 152, 239-250.
Hopcroft, J. and Ullman, J. (1979) Introduction to Automata Theory, Languages, and Computation. Addison-Wesley Publishing Company, Reading.
Lee, E. and Messerschmitt, D. (1987) Synchronous Data Flow. IEEE Proceedings, 75, 1235-1245.
Sriram, S. and Bhattacharyya, S.S. (2000) Embedded Multiprocessors: Scheduling and Synchronization. Marcel Dekker, Inc., New York.
Bhattacharyya, S.S., Deprettere, F., Leupers, R. and Takala, J. (2013) Handbool of Signal Processing System. London.
Stuijk, S. (2007) Predictable Mapping of Streaming Applications on Multiprocessors. PhD Thesis, Eindhoven University of Technology.
Moonen, A., Bekooij, M. and van Meerbergen, J. (2004) Timing Analysis Model for Network Based Multiprocessor Systems. Proceedings of Progress Symposium on Embedded Systems, 122-130.
Bennour, I., Sebai, D. and Jemai, A. (2010) Modeling SW to HW Task Migration for MPSOC Performance Analysis. DTIS.
Mesman, K.B., Theelen, B., Corporaal, H. and Ha, Y. (2008) Analyzing Composability of Applications on MPSoC Platforms. Journal of Systems Architecture, 54, 369-383.
Wiggers, M.H., Kavaldjiev, N., Smit, G.J.M. and Jansen, P.G. (2005) Architecture Design Space Exploration for Streaming Applications through Timing Analysis. Centre for Telematics and Information Technology, University of Twente, Enschede, Technical Report TR-CTIT-05-36.
Shabbir, A., Kumar, A., Stuijk, S., Mesmana, B. and Corporaal, H. (2010) CAMPSoC: An Automated Design Flow for Predictable Multi-Processor Architectures for Multiple Applications. Journal of Systems Architecture—Embedded Systems Design, 56, 265-277.
Geilen, M. (2010) Synchronous Dataflow Scenarios. ACM Transactions on Embedded Computing Systems, 10, 16:1-16:31.
Stuijk, S., et al. (2011) Scenario-Aware Dataflow: Modeling, Analysis and Implementation of Dynamic Applications. 11th International Conference.
Phan, L.T.X., Chakraborty, S. and Thiagarajan, P.S. (2008) A Multi-Mode Real-Time Calculus. Proceedings of the 2008 Real-Time Systems Symposium, Washington DC, 59-69.
Thiele, L. and Stoimenov, N. (2009) Modular Performance Analysis of Cyclic Dataow Graphs. Proceedings of the 7th ACM International Conference on Embedded Software, New York, 127-136.
Theelen, B.D., Geilen, M., Basten, T., Voeten, J., Gheorghita, S.V. and Stuijk, S. (2006) A Scenario-Aware Data Model for Combined Long-Run Average and Worst-Case Performance Analysis. Memocode, 185-194.
Poplavko, P., Basten, T. and van Meerbergen, J. (2007) Execution-Time Prediction for Dynamic Streaming Applications with Task-Level Parallelism. Proceedings of the 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools, Washington DC, 228-235.
Geilen, M. (2009) Synchronous Dataflow Scenarios. Transactions on Embedded Computing Systems, Special Issue on Model-Driven Embedded-System Design.
Ehrlich, P. and Radke, S. (2013) Energy-Aware Software Development for Embedded Systems in HW/SW Co-Design. 16th International Symposium on Design and Diagnostics of Electronic Circuits & Systems.
Kai, H., Xio-xu, Z., Si-wen, X., et al. (2015) Profiling and Annotation Combined Method for Multimedia Application Specific MPSoC Performance Estimation. Springer-Verlag, Berlin, Heidelberg.
Smei, H., Smiri, K. and Jemai, A. (2017) Profiling of HEVC Decoder Application in a Co-Design flow. 6th International Colloquium in Applied Research and Technology Transfer.
Kahn, G. (1974) The Semantics of a Simple Language for Parallel Programming. Information Processing 74: Proceedings of the IFIP Congress 74, Stockholm, August 1974, 471-475.
Bebelis, V. (n.d.) Boolean Parametric Data Flow. Streaming Day, V. BEBELIS (INRIA) BPDF. http://streaming.conf.citi-lab.fr/streaming_bebelis.pdf
Miyazaki, T. (1997) Code Generation by using Integer-Controlled Dataflow Graph. Acoustics, Speech, and Signal Processing, ICASSP-97.
Wauters, P., Engels, M., Lauwereins, R. and Peperstraete, J.A. (1996) Cyclo-Dynamic Dataflow. Parallel and Distributed Processing.
Lee, E.A. and Messerschmitt, D.G. (1987) Synchronous Data Flow. Proceedings of IEEE, 75, 1235-1245.
Lee, E.A. and Messerschmitt, D.G. (1987) Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing. IEEE Transactions on Computers, 36, 24-35.
Design and Implementation of Next Generation Video Coding Systems (H.265/HEVC Tutorial), Vivienne Sze, ISCAS Tutorial, 2014.
Smei, H. and Jemai, A. (2016) Pipelining the HEVC Decoder on ZedBoard Platform. International Design & Test Symposium IDT.
Wiegand, T., et al. (2003) Overview of the H.264/AVC Video Coding Standard. IEEE Transactions on Circuits and Systems for Video Technology, 13, 560-576.
Valgrind Web. http://valgrind.org/
https://sourceware.org/binutils/docs-2.16/gprof/
https://wiki.gnome.org/Apps/MemProf
Bossen, F. (2012) Common Test Conditions and Software Reference Configurations. 9th Meeting of the JCT-VC in Geneva.
Theelen, B.D., Geilen, M.C.W., Stuijk, S., Gheorghita, S.V., Basten, T., Voeten, J.P.M. and Ghamarian, A.H. (2008) Scenario-Aware Dataflow, ES Reports.
Zedboard Plateform. http://www.zedboard.org
Xilinx, Inc. Zynq-7000 All Programmable SoC Technical Reference Manual. http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
Stuijk, S., Geilen, M. and Basten, T. (2006) SDF3: SDF for Free. Application of Concurrency to System Design, 276-278.