Case study of an HEVC decoder application using high-level synthesis: intraprediction, dequantization, and inverse transform blocks

Abstract. Due to the increasing need for testing solutions to complex hardware designs, several efforts were made in order to improve high-level synthesis (HLS) techniques. These solutions are conceived in such a way that they had to provide reasonable agreements in terms of design time, resources involved, and performance. Generally speaking, two main constraints should be satisfied for HLS applications. The first constraint consists in the ability to process complex systems at a reasonable cost, whereas the second revolves around considering some test constraints in the first tasks of the HLS flow. To fulfill these two constraints, we treated a case study using HLS for intraprediction, dequantization, and inverse transform decoding blocks of an high efficiency video coding (HEVC) decoder. For this experiment, version 10 was used of the HEVC test model (HM) reference software containing >200 functions and over 8000 lines of code. In addition, the suggested algorithm was implemented in an software/hardware (SW/HW) environment using Xilinx ZC 702-based platform. Finally, taking advantage of HLS optimization methods, the hardware design can process 6, 13, 71, and 285 video frames per second for 1600p, 1080p, 480p, and 240p video resolutions, respectively. Yet, the SW/HW designs can only decode 0.5, 1.5, 4, and 15.2 frames per second for the same video resolutions, i.e., with a gain of 3% in frame rate and 60% in power consumption compared to SW implementation.

[1]  Bertrand Le Gal,et al.  C-based rapid prototyping for digital signal processing , 2005, 2005 13th European Signal Processing Conference.

[2]  Madhukar Budagavi,et al.  Unified forward+inverse transform architecture for HEVC , 2012, 2012 19th IEEE International Conference on Image Processing.

[3]  Nuno Roma,et al.  High performance IP core for HEVC quantization , 2015, 2015 IEEE International Symposium on Circuits and Systems (ISCAS).

[4]  Nouri Masmoudi,et al.  An optimized hardware architecture for intra prediction for HEVC , 2014, International Image Processing, Applications and Systems Conference.

[5]  Ilker Hamzaoglu,et al.  FPGA implementations of HEVC Inverse DCT using high-level synthesis , 2015, 2015 Conference on Design and Architectures for Signal and Image Processing (DASIP).

[6]  Jean-Luc Dekeyser,et al.  Exploring HLS Optimizations for Efficient Stereo Matching Hardware Implementation , 2017, ARC.

[7]  Anantha Chandrakasan,et al.  A 249-Mpixel/s HEVC Video-Decoder Chip for 4K Ultra-HD Applications , 2014, IEEE Journal of Solid-State Circuits.

[8]  Ahmed Ben Atitallah,et al.  An FPGA implementation of HW/SW codesign architecture for H.263 video coding , 2007 .

[9]  Timo Hämäläinen,et al.  High-Level Synthesis Design Flow for HEVC Intra Encoder on SoC-FPGA , 2015, 2015 Euromicro Conference on Digital System Design.

[10]  Wayne Luk,et al.  Is high level synthesis ready for business? A computational finance case study , 2014, 2014 International Conference on Field-Programmable Technology (FPT).

[11]  Bertrand Le Gal,et al.  High-level synthesis for the design of FPGA-based signal processing systems , 2009, 2009 International Symposium on Systems, Architectures, Modeling, and Simulation.

[12]  Yao Chen,et al.  High Level Synthesis of Complex Applications: An H.264 Video Decoder , 2016, FPGA.

[13]  Ilker Hamzaoglu,et al.  FPGA implementation of HEVC intra prediction using high-level synthesis , 2016, 2016 IEEE 6th International Conference on Consumer Electronics - Berlin (ICCE-Berlin).

[14]  Detlev Marpe,et al.  Entropy Coding in HEVC , 2014, High Efficiency Video Coding.

[15]  Wolfgang Nebel,et al.  SystemC-based Modelling, Seamless Refinement, and Synthesis of a JPEG 2000 Decoder , 2008, 2008 Design, Automation and Test in Europe.

[16]  Ahmed Ben Atitallah,et al.  An optimized hardware architecture of 4×4, 8×8, 16×16 and 32×32 inverse transform for HEVC , 2016, 2016 2nd International Conference on Advanced Technologies for Signal and Image Processing (ATSIP).

[17]  Marta Karczewicz,et al.  Transform coefficient coding in HEVC , 2012, 2012 Picture Coding Symposium.

[18]  Gary J. Sullivan,et al.  Overview of the High Efficiency Video Coding (HEVC) Standard , 2012, IEEE Transactions on Circuits and Systems for Video Technology.

[19]  Yung-Lyul Lee,et al.  N-level quantization in HEVC , 2012, IEEE international Symposium on Broadband Multimedia Systems and Broadcasting.

[20]  Ajith Pasqual,et al.  4K Real-Time HEVC Decoder on an FPGA , 2016, IEEE Transactions on Circuits and Systems for Video Technology.

[21]  Mario-Alberto Ibarra-Manzano,et al.  Implementation and Test of Appearance-Based Vision Algorithms Using High-Level Synthesis in FPGA , 2011, 2011 IEEE Electronics, Robotics and Automotive Mechanics Conference.

[22]  Kemal Ugur,et al.  Intra Coding of the HEVC Standard , 2012, IEEE Transactions on Circuits and Systems for Video Technology.

[23]  Chun-Chieh Lin,et al.  H.264 Decoder: A Case Study in Multiple Design Points , 2008, 2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design.

[24]  Madhukar Budagavi,et al.  High Throughput CABAC Entropy Coding in HEVC , 2012, IEEE Transactions on Circuits and Systems for Video Technology.

[25]  Ahmed Ben Atitallah,et al.  FPGA implementation of vector directional distance filter based on HW/SW environment validation , 2011 .

[26]  George A. Constantinides,et al.  High-level synthesis of dynamic data structures: A case study using Vivado HLS , 2013, 2013 International Conference on Field-Programmable Technology (FPT).

[27]  Yongdong Zhang,et al.  High Efficiency Video Coding: High Efficiency Video Coding , 2014 .