Common Vision Blox
Firstsight Vision offers a new image processing capability through the Common Vision Blox (CVB) hardware-independent imaging toolkit from Stemmer Imaging. The latest version of CVB makes use of the GPU (Graphical Processing Unit) processor on the PC's graphics card. Since this is the fastest available processor in the system and is optimised for imaging algorithms, using the GPU in this way can boost speed for some image processing functions by up to a factor of 10.
Graphics processors outperform other imaging acceleration methods including the fastest available FPGAs. Even allowing for delays in data transfer between the main memory and the GPU, a rise in performance by a factor of between 2 and 10 is possible when using a GPU in place of a CPU, with the added benefit that the CPU can then be used for other tasks simultaneously.
Incorporating this facility into the CVB software library is an effective way of bringing the benefits of GPU image processing to developers. Several new functions have been added for use within a CVB application without any additional GPU programming experience. These functions currently implement tasks such as image filtering, point operations between two images, parallel processing of four monochrome images, transformations from RGB to HSI and from Bayer to RGB formats, so-called 'flat field' corrections, and rotation and scaling of images.
To optimise the image data transfer between the main memory and the GPU it is also possible to combine several algorithms within the graphics card by using the open programming possibilities of the HLSL language.