Abstract

This chapter discusses implementation of a few de-mosaicing algorithms on GPUs using NVIDIA's CUDA GPU computing framework. The de-mosaicing methods presented are generally known and reasonably simple in order to present a basic parallel structure for implementing such algorithms on the GPU. De-mosaicing occurs either by an embedded processor within a camera (or even on the image sensor chip) or as part of a post process step on a workstation after acquisition. Simple on-camera implementations result in a substantial loss of quality and information. De-mosaicing is such an embarrassingly parallel process ideally suited for implementation on the GPU. A GPU implementation of de-mosaicing benefits from the massive parallelism of GPUs. Equally important to achieve high throughput is proper memory management and memory access patterns. The provided source contains implementations of GPU de-mosaicing using a few different methods: bilinear interpolation, Lanczos interpolation, a gradient-modified interpolation, and the Patterned-Pixel Group method. Image de-mosaicing is extremely well suited for implementation on a graphics processor using NVIDIA CUDA. Several example algorithms are provided and serve as a framework that can be easily modified to suit a specific requirement. Such performance is easily sufficient for real-time high-quality de-mosaicing results on high-resolution images. In fact, at such rates even a stereo pair of ultra-high-definition 4K video images can be processed in real time on a single GPU.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call