Lookup Tables (LUT) for Data Compression and More with Machine Vision Cameras

Posted by Gretchen Alper on Wed, Jul 25, 2012

Some machine vision cameras (including those from Adimec) have an Output LookUp Table (LUT). This table can be used to remap the linear output from the camera in a different manner. LUTs are well known for use to compensate for non-linear emission from screens.

A LUT can be also be used to enhance part of the image. For instance, it is possible to define aAdimec CMOS Camera LUT contrast enhancement LUT that compresses the black instead of cutting it off, and simultaneously enhances the other part of the video range. LUTs with white compression are often used applications where humans view the image, for example in (outdoor) surveillance and radiology.

A lesser-known use of a LUT in a machine vision camera is to compress the data (e.g. from 10 to 8 bit) in such a way that no information is lost to allow for faster frame rates.

Although CoaXPress will enable high speeds with high-resolution cameras, Camera Link will remain widely used for example because of existing system designs.  If Camera Link is required, but the full advantages of the faster sensor timing are desired, LUTs are one option to compress the data.  Let me explain…

Sensors such as the latest CMOS technology span a 60dB dynamic range. This requires 10 bits for lossless linear video transmission (10 bit represent 2^10 values, which corresponds to a logarithmic 60 dB). However the highest-data-rate configuration of Camera Link (CL-10tap) only supports 8 bit data.

Linear video data originating from an image sensor constitute a measure of detected light quanta, which are subject to at least (thus excluding fixed pattern noise) 2 independent noise components:

(1) Readout noise which is pixel level independent, and

(2) Shot noise which is proportional to the square root of the pixel level


Clearly, the noise magnitude is signal level dependant; it increases with signal level.

The number of bits required to quantize the pixel signal level is in general chosen such that the lowest RMS noise level (the Readout noise) equals at least 1 Digital Number RMS.

This method is however not efficient since this fine quantization is only required for the lowest pixel signal levels while for higher levels (higher noise) the quantization levels could be made larger.

By using a non-linear compression the number of bits to be transferred can be reduced such that the noise level is made constant and pixel level independent before quantization is applied.  At the receiver side the compressed non-linear data can be decompressed to represent a linear sensor response again.


The result of this procedure is a lossless transmission of the 10 bit data packed in 8 bit, by use of a compression lookup table.


Further speed increase can be achieved by using a burst mode.


describe the image

Topics: Vision System Optimization

Previous blog:

Next blog: