Dynamic range compression is a fundamental function required in digital video cameras and display monitors to improve the visual appeal of color images. This paper presents a real-time implementation of an algorithm for adaptive dynamic range compression and contrast enhancement on a graphics processing unit (GPU). To achieve this, we first designed an adaptive intensity transfer function to handle the enhancement of standard-dynamic-range (8 bits/channel) images with both low- and high-intensity. The proposed algorithm then combines the intensity transfer function with an existing simultaneous dynamic range compression and local contrast enhancement (SDRCLCE) algorithm for the simultaneous compression of dynamic range and enhancement of local contrast. To reach real-time performance in processing high-resolution color images, the proposed algorithm is implemented using an NVIDIA GeForce GTX 650 Ti GPU based on NVIDIA’s Compute Unified Device Architecture (CUDA) parallel programming running on a 3.33GHz Intel Core i5-661 CPU. Compared with a LUT-accelerated implementation, the proposed GPU implementation was shown to accelerate the processing of 1024×1024 color images by 11.1 times and color images of 4096×4096 pixels by 7.5 times, including the cost of memory copy between the host and device.
Journal of Real-Time Image Processing 16(2), p.321-337