GStreamer Based Image Signal Processor - Image Signal Processor Basics

From RidgeRun Developer Connection
Jump to: navigation, search


  Index Next: Docs





Architecture

The versatility provided by Gst-ISP relies on the generic interface between GStreamer and OpenCL, established by Gst-OpenCL, which allows the integration of different OpenCL kernels into a plugin easily incorporated into a pipeline.

Error creating thumbnail: Unable to save thumbnail to destination

Capabilites

The following diagram presents some of the combined capabilities that can be achieved using the different elements of the gst-isp plugin.

Gst-ISP pipelines diagram

Debayer

Debayering is a fundamental part of digital image processing whenever using a color camera in RAW mode. It consists of a process in which an image gets decoded from a color matrix into a full-resolution color image. Most color images are made using one-shot color cameras that produce a color image in one pass. As opposed to its monochrome counterpart in which red, green, and blue signals are measured at each point of the image, on one-shot color cameras, each pixel gets only one color. The way this information is interpreted by the computer is by using some variant of the Bayer Matrix, which is simply a formula that describes the pixel filter sequence. Consequently, debayering is needed to obtain the color image. For this purpose, several interpolation algorithms have been developed over the years to achieve such conversion, by averaging the values of the closes surrounding pixels to determine the color of a pixel.

Color space conversion

Color space conversion consists of translating a specific color representation into another. Given that color space is simply a way to describe colors with numbers, each one has a specific range of colors it can represent, in a way that is fit for its own set of applications. Gst-ISP provides a color space conversion from RGBA to NV12. RGB color space is mostly used for displays, whereas YUV is a color space typically used for color image/video processing and/or compression, given its reduced bandwidth for chroma components without perceptual distortion.

White balance

The white balance consists of adjusting colors so that the image looks more natural, basically, taking control over the color temperature at the image and get the picture as similar to the scene at the moment that the picture was taken. This behavior is done by our brain when we see things so we see the colors correctly, but on the cameras, there are a lot of components that can affect the light and colors of the image. it also depends on the indoor and outdoors conditions. gst-isp element has the ability to improve the color on the images using a white-balance algorithm implemented in OpenCL.

Histogram equalization

Histogram Equalization is a technique to improve the contrast values in images and it is base on computer image processing. It accomplishes this by checking the histogram values and spreading the most intensity values. Sometimes the values in the histogram are not very well distributed so this method tries to solve this and usually increases the global contrast gain of the images and reducing the local contrast gain. This element has the ability to do the histogram equalization based on Bayer format but also in YUV format applying the algorithm to the luminance without resulting in changes to the hue and saturation of the image.

Noise reduction

Under development. Coming soon!

Bad pixel correction

Under development. Coming soon!


  Index Next: Docs