Adaptive Dynamic Range Control
RPM Associates Technical Consulting

Modern displays typically produce images by illuminating reflective or transmissive light shutters, often using liquid crystal as the light-modulating element. For this particular project we worked with a reflective LCOS (liquid crystal on silicon) display which was illuminated sequentially by RGB LEDs. It is common to just run the LEDs at full intensity, and modulate the pixels based on the image content. However, if the image is mostly dark, this results in a loss of contrast because of the high illumination levels impinging on leaky shutters or imperfectly off mirrors. It is possible to improve the image by monitoring the image content in real time and scaling both the LED intensity and the pixel values to produce improved contrast. As a simple example, consider a completely black image. Normally the pixels would have value 0 and the LEDs are at full power (call it 1). ADRC would (simplistically) reduce the LED intensity to 0, resulting in much better contrast. In real world applications both the pixels and the LEDs are partially scaled in opposite directions, and things like display gamma and LED wavelength shifts with current have to be accounted for. This project used an FPGA to perform the real-time pixel scaling (every pixel in the image has to be multiplied by a variable scaling factor at the full frame rate), control the LED intensity per frame, and monitor the image to determine the amount of pixel and LED scaling to apply in each frame.