course: Image processing on FPGAs
- teaching methods:
- lecture with integrated lab excercises
- computer based presentation
- responsible person:
- Prof. Dr.-Ing. Michael Hübner
- Prof. Donald Bailey (extern)
- offered in:
Date according to prior agreement with lecturer.
FPGAs as embedded systems; Register transfer level design using VHDL; Efficiently exploiting parallelism for implementing image processing algorithms; Implementation of basic image processing operations: camera control and image capture, point operations and colour, Bayer interpolation, histogram processing, linear and non-linear filters, geometric transformation, connected components processing, fast Fourier transform, JPEG based image coding.
FPGAs are increasingly being used as an implementation platform for real-time image processing applications because their structure is able to exploit spatial and temporal parallelism. Unfortunately, simply porting an algorithm onto an FPGA often gives disappointing results, because most image processing algorithms have been optimised for a serial processor. Therefore it is necessary to transform the algorithm to efficiently exploit the parallelism inherent within the algorithm. This course introduces a design approach for FPGA based imaging system development, highlighting the significant differences between hardware and software based design. While prior experience in image processing or FPGA based design is not essential, it would be helpful. The course will cover both the theory, and also provide practical hands on experience in applying FPGAs to implementing image processing algorithms. At the end of the course, participants should be familiar with the principles of efficient FPGA based design of image processing operations, and be in a position to begin using FPGAs within a range of image processing projects.