Camera Throughput Exploration for the Reconfigurable ZedBoard
Source file library that optimizes data transfer from a camera device for the ZedBoard:
A recent innovation in heterogeneous platforms is the Zynq-7000 all programmable system-on-chip, which offers an embedded processor combined with FPGA based reconfigurable logic. This work utilises this platform to capture live video data from a USB camera and apply hardware accelerated operations on the data. A naive implementation has a limited frame rate, therefore a bottleneck analysis is done and multiple optimisations are proposed and applied. This study demonstrates that there are multiple opportunities to improve the throughput from camera to accelerator. The best implementation results in a 32x speed-up over an OpenCV implementation.
Especially if 720p HD video frames are used the default transfer framerate of the ARM processor core is rather low (0.2 frames per second). With this source code library a substantial throughput improvement of 32x is achieved. This results in a more practical frame rate of 8 frames per second.