HLS-based FPGA implementation of a predictive block-based motion estimation algorithm — A field report

This paper presents the application and evaluation of high-level synthesis (HLS) tools for a complex video processing algorithm. As case study predictive block-based motion estimation is chosen. The hardware implementation of the algorithm is introduced, and the implementation using HLS tools is presented, including various tips and pitfalls. The resulting HLS generated code is compared to a hand-coded version in terms of performance and resource requirements by synthesizing both versions for a Virtex-7 FPGA, and also in terms of implementation time and code length and readability. The results show that the processing performance is comparable and the required resources are acceptable for current FPGAs for an HLS-based implementation. Finally, recommendations are given for which parts of the motion estimation algorithm the HLS-based approach is preferable, and which parts should be implemented manually, allowing a prognosis for further video processing algorithms.

[1]  Ajay Luthra,et al.  Overview of the H.264/AVC video coding standard , 2003, IEEE Trans. Circuits Syst. Video Technol..

[2]  Jeff Sutherland,et al.  The Scrum Guide , 2012 .

[3]  Holger Blume,et al.  Enhanced motion estimation for driver assistance systems — Integration of a curved road model , 2013, 2013 IEEE 2nd Global Conference on Consumer Electronics (GCCE).

[4]  Wenjun Zhang,et al.  Temporal compensated motion estimation with simple block-based prediction , 2003, IEEE Trans. Broadcast..

[5]  Stephen Neuendorffer,et al.  Accelerating OpenCV Applications with Zynq-7000 All Programmable SoC using Vivado HLS Video Libraries , 2013 .

[6]  Ajay Luthra,et al.  Overview of the H.264/AVC video coding standard , 2003, SPIE Optics + Photonics.

[7]  Hideharu Amano,et al.  An FPGA Implementation of Reconfigurable Real-Time Vision Architecture , 2013, 2013 27th International Conference on Advanced Information Networking and Applications Workshops.

[8]  Holger Blume,et al.  Energy-efficient inertial sensor fusion on heterogeneous FPGA-fabric/RISC System on Chip , 2013, 2013 Seventh International Conference on Sensing Technology (ICST).

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

[10]  Gary Smith,et al.  High-Level Synthesis: Past, Present, and Future , 2009, IEEE Design & Test of Computers.

[11]  Jez Humble,et al.  Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation , 2010 .

[12]  Gerard de Haan,et al.  True-motion estimation with 3-D recursive search block matching , 1993, IEEE Trans. Circuits Syst. Video Technol..

[13]  Dirk Stroobandt,et al.  An overview of today’s high-level synthesis tools , 2012, Design Automation for Embedded Systems.

[14]  Leo Jan Velthoven,et al.  Motion blur reduction for liquid crystal displays: motion-compensated inverse filtering , 2004, IS&T/SPIE Electronic Imaging.

[15]  Ghislain Roquier,et al.  Synthesizing hardware from dataflow programs: An MPEG-4 simple profile decoder case study , 2008, SiPS.