High level programming for real time FPGA based video processing

The inherent reprogrammability of field programmable gate arrays (FPGAs) gives them some of the flexibility of software while keeping the performance advantages of an application specific hardware solution. However, the main disadvantage of FPGAs is the low level of their programming model. Although software tools have been drastically improved since the early days of this new technology, they still require the user to think at the hardware level rather than at the algorithmic level. To bridge the gap between the application and implementation levels, we present a high level software environment for FPGA based real time video processing, which aims to hide hardware details completely from the user. Our approach is to provide a flexible FPGA-based image processing coprocessor with a very high level programming interface based on the core operators of image algebra. Our system has been successfully implemented on VISICOM's VigraVision/sup TM/ PCI board giving real time processing of video data.

[1]  William F. Clocksin,et al.  Programming in Prolog , 1981, Springer Berlin Heidelberg.

[2]  Israel Koren Computer arithmetic algorithms , 1993 .

[3]  J. N. Wilson,et al.  Image Algebra: An Overview , 1990, Comput. Vis. Graph. Image Process..

[4]  Ahmed Bouridane,et al.  An environment for generating FPGA architectures for image algebra-based algorithms , 1998, Proceedings 1998 International Conference on Image Processing. ICIP98 (Cat. No.98CB36269).

[5]  R. Kunemund,et al.  Programmable 2D linear filter for video applications , 1989 .