ALTMapper - Adaptive Local Tone Mapping engine for a single shot HDR on GPU

We offer a solution for single shot High Dynamic Range (HDR) management. An adaptive local tone mapping algorithm is used to compress the dynamic range of an image, making image details more vivid and, most importantly, producing a pleasing reproduction.

We've built a highly efficient and accurate adaptive local tone mapping engine for single-shot HDR. This is for camera and video applications because we can't get many frames in real time with bracketing, so we have to process each frame as we capture it. It's not only applicable to HDR or high bit-depth images, it could also be successfully applied to 8/24-bit monochrome or colour jpg images to improve quality and recover shadows.

The Local Tone Mapping algorithm for HDR images is based on image intensity transformations to achieve better visualisation by using information from local regions of each image. The ALTMapper engine defines these local regions in each image as a grid of rectangular tiles. It processes each tile to compute local parameters to be used in further transformations. We minimise this set of parameters to achieve very fast processing. Finally, we use the local and global parameters to build a set of local tone curves and transforms to be applied to each pixel of the image. The algorithm is essentially local and adaptive, which is very important for preserving image detail and contrast.

Usually camera is working at "exposure to the right" mode, which means that it automatically chooses the exposure to avoid overshoot. It means that there could be a lack of illumination at shadows and they should be improved. This is exactly the task for the ALTMapper. On the picture below you can see source image on the left and improved image on the right.

 

ALTMapper

16-bit TIFF is on the left, ALTMapper result is on the right (source image from here)

 

These examples show the idea behind the ALTMapper. On the left you can see the original 16-bit TIFF image, which is difficult to visualise correctly on an 8-bit monitor due to its high bit depth. On the right you can see a processed jpg image with much better visual image quality. We've preserved colours and contrast, improved shadows, and preserved detail. The main goal was to make a good looking image. The Local Tone Mapping includes computing a gain map from the luminance image of an HDR image using local tone curves and weighted interpolation.

ALTMapper features

  • Fast and accurate adaptive local tone mapping engine
  • Local and global contrast preservation and enhancement
  • High Dynamic Range (HDR) management
  • Local gain control
  • Shadow recovery
  • Image detail preservation
  • ISP with 16/32-bit accuracy
  • Compact and small footprint algorithm without AI
  • Parallel algorithm implementation on NVIDIA GPU - in progress
adaptive local tone mapping on gpu

Compatibility issues

  • Compatibility with FastVCR software for machine vision cameras
  • Built-in timing and performance measurements
  • OS Windows-10/11, Linux Ubuntu, and L4T (Jetson Xavier and Orin)
  • Supported NVIDIA GPUs: Jetson, GeForce, Quadro with cc >= 5.0, CUDA-12.6

Applications for ALTMapper

  • Digital photography and digital cinema
  • Display Devices
  • Computer Vision
  • Medical imaging
  • Industrial camera applications
  • Broadcast and streaming
  • Street View, Mobile Mapping and Aerial Imaging

ALTMapper ISP Roadmap

  • Implementation of HDR engine on GPU for raw, colour and monochrome images - done
  • Image quality improvements - done
  • Local tone mapping library on the CPU - done
  • Performance optimisation - in progress
  • Profile Gain Table Map (PGTM) support for SDR and HDR visualisation - in progress
  • Local Tone Mapping for Machine Vision cameras with Dual Gain ADC option - in progress
  • Support for high dynamic range image sensors - in progress

Other notes

We must emphasize that ALTMapper is neither AHE nor CLAHE. Besides applying adaptive local contrast for image enhancement, this algorithm also offers shadow recovery, which is important to get a pleasing rendering without widespread artifacts like halos, noise, and dark clouds. We can do this not only with HDR source images, but also with 8/24-bit jpegs if they contain enough information. This could be very useful not only for high bit-depth HDR image sensors, but also for conventional LDR image sensors to improve image quality.

This effect can't be achieved just with global curves. The algorithm is essentially local and takes into account both global and local features of the image to generate a final per-pixel transform for image enhancement.

Contact Form

This form collects your name and email. Check out our Privacy Policy on how we protect and manage your personal data.