Fast Defringe on GPU
Red-green and blue-yellow fringes at the image periphery result from lateral chromatic aberrations. This problem is relatively easy to fix. On the other hand, purple and green fringes in out-of-focus areas and along high-contrast boundaries are much more problematic. These fringes result from axial chromatic aberrations (wavelength-dependent focus shift), aberrations in sensor microlenses and flare. In most cases, purple fringes appear in front of the plane of focus, and green fringes appear behind the plane of focus. The aberrations can happen anywhere in the image, not just the image periphery. Sometimes, they are so strong that they’re easily spotted in small previews, such as proxies and thumbnails. Axial CA affects nearly all lenses and it is particularly pronounced with fast lenses at wide apertures.
Color fringing can result from several physical phenomena
- Lateral (transverse) chromatic aberration (red/green fringes, blue/yellow fringes)
- Axial (longitudinal) chromatic aberration (purple and green fringes)
Our software can suppress lateral chromatic aberrations on CUDA. This is not fully automatic process yet, so there are some parameters to get better quality of fringe removal. Defringe module is incorporated in standard image processing pipeline on GPU. That module is a part of Fast CinemaNDG Processor software which is intended for fast DNG processing on CUDA.
Most of denfinge techniques detect purple regions by color analysis. One of the main reasons of purple fringing is longitudinal CA, which causes defocus for the shortest and/or longest wavelengths. Purple fringing can appear at the image center and it's roughly symmetrical on both sides of a thin object and is isotropic.
That algorithm is based on the idea of mask creation for further removal of fringes. We suppress not only a particular color, but also all other colors from the defined vicinity.
- Tone - color to be fixed (from -180 to +180 degrees)
- ToneRange - purple hue range (usually from 60 to 90 degreees)
- Win - window size for processing (from 10x10 to 60x60 pixels)
- MaxSat - coefficient for maximum value for tone saturation (from 0.001 to 0.1)
Defringe on CUDA
- Input: 24/48-bit images data from HDD/SSD/RAID or from CPU/GPU memory
- Output format: 24-bit RGB image to show on monitor in realtime
- High performance defringe with fast OpenGL output