fast cuda DNG viewer and playerCUDA RAW Processor for Images and Video

We have designed high quality CUDA-accelerated solution for RAW image and video processing with very high performance - much faster than realtime. Now it's possible by implementing the whole RAW image processing pipeline on NVIDIA GPU with CUDA technology.

Advantages of CUDA RAW Processor

  • High speed Raw image/video rendering (see benchmark below)
  • High quality demosaicing
  • Realtime adaptive denoising
  • Flexible image processing pipeline with 16/32-bit workflow
  • Realtime resize before OpenGL output to monitor (minimum aliasing)
  • Smooth DNG video playback with full resolution (no screen tearing)
  • Online RGB Parade and Histogram outputs
  • Software outputs: processed image to monitor, 16-bit TIFF for each frame or ProRes video in MOV to SSD, h264 stream with Full HD resolution to SSD

We have implemented full image processing pipeline on CUDA to make fast each stage of RAW data workflow. That gives us opportunity to significantly decrease data transfer time over PCI-Express bus and to improve total performance. Now we can do CUDA-based DNG rendering much faster than real time. At the same time, output image quality is comparable with Adobe Camera Raw (ACR) and LightRoom (LR), etc.

Features of CUDA RAW Processor

  • Input images: 8/10/12/14/16-bit per pixel DNG, PGM, byte array in CPU/GPU memory
  • Optional input image formats: Uncompressed DNG and Blackmagic Design Cinema DNG RAW 3:1, 4:1, 5:1
  • Input video (Cinema DNG): 1080, 2K, 4K DNG clips and more, up to 8K
  • Output formats for image series: JPEG (24-bit), PPM (48-bit), TIFF (48-bit)
  • Output formats for video: AVI, MP4, MOV
  • Output compression options: MJPEG, ProRes, DNxHD, h264
  • Output color space: sRGB, Rec.709, AdobeRGB, ProPhoto, BMDFilm, BMDFilm 4K, BMDFilm 4.6K
  • Fast demosaicing algorithms with 16-bit pipeline: HQLI, DFPD, MG with Enhance option
  • Denoise adaptive algorithms for raw, luma and chroma (float workflow)
  • Resize algorithm: Lanczos (float workflow)
  • Sharpening with USM (float workflow)
  • Realtime smooth playback of CinemaDNG files via OpenGL

Compatibility

  • Windows-7/8/10 (64-bit)
  • CUDA-8.0 (64-bit)
  • NVIDIA GPU (Fermi, Kepler, Maxwell and Pascal) for mobile, laptop, desktop, server
  • Compatibility with FFmpeg to read/write MJPEG streams (FFmpeg is under LGPLv2.1)

Camera Support for RAW DNG Workflow on CUDA

The software supports DNG files, produced either by DNG-enabled digital cameras or by Adobe software such as the Adobe DNG Converter or Adobe Lightroom (DNG 1.4 specification). Current list of supported cameras could be found here. CUDA RAW Processor also supports 8/10/12/14/16-bit DNG and PGM files created by 3rd-party applications.

DNG-enabled digital cameras

  • Blackmagic Design Pocket/Production 4K/Cinema, URSA and URSA mini cameras
  • Kinefinity cameras: KINEMINI 4K, KINEMAX 6K, KINERAW-MINI (Full HD), KINERAW-S35 (Full HD)
  • AJA CION 4K/UHD and 2K/HD Production Camera
  • DJI Zenmuse X5R camera for Mavic, Phantom, Inspire, Matrice drones
  • Digital Bolex D16 and D16M
  • Atomos Ninja Shogun
  • Ikonoskop
  • Ximea 8/12/20/50 MPix

Image/Video Processing Pipeline for DNG/CinemaDNG on CUDA

  • Ingestion of DNG images from HDD/SSD
    • Multithreaded reading of DNG images from SSD to CPU memory
    • Parcing of DNG images
    • Multithreaded DNG decoding for lossless JPEG and BMD RAW 3:1, 4:1 or 5:1
  • Data transfer from CPU to GPU
  • Data linearization and transform to 16-bit representation
  • RAW historgam
  • White/Black points
  • White Balance (R, G1, G2, B)
  • Exposure compensation
  • Raw Curve for each channel of Bayer data
  • Raw denoising
  • Demosaicing
  • Adaptive noise suppression
  • Color Correlated Temperature and Tint control
  • Color Correction with matrix or DCP profile
  • Tone mapping (RGB/HSV Curves for each color channel)
  • Histogram and RGB Parade for processed image
  • Monitor output
    • Crop
    • Resize to specified width and height in output window
    • Sharp with USM
    • Transform with monitor profile
    • LUT 16-bit to 8/10-bit for each color channel
    • Copy data to OpenGL texture
    • Realtime monitor output via OpenGL (DNG video player)
    • Histogram output for RAW and processed data
    • RGB Parade output
  • Compressed video output
    • Crop
    • Resize to Full HD
    • Sharp with USM
    • LUT 16-bit to 8/10-bit for each color channel
    • MJPEG, ProRes, DNxHD or H.264 external compression via FFmpeg
    • Data transfer from GPU to CPU memory
    • Save compressed video to SSD/HDD
  • Image sequence output
    • Data transform to 16-bit TIFF or to 8/12-bit JPEG for each frame
    • Data transfer from GPU to CPU memory
    • Save image sequence to SSD/HDD

Benchmarks for NVIDIA GeForce GTX 1080

Standard image processing pipeline for rendering of 12-bit DNG images with 4K resolution on GPU GeForce GTX 980 could be done at frame rates up to 60 fps (raw dng and processed data reside in CPU memory, without denoising and USM). Here you can find other benchmarks for our SDK.

Options for realtime output compression on CUDA

  • JPEG/MJPEG codec
  • Thumbnail generation for each image of the sequence
  • JPEG2000 encoder

Standard tasks to solve with CUDA RAW Processor

  • Batch image processing for DNG image sequences
  • Realtime full frame rendering, compression, preview and playback for video streams with RAW data
  • Full image processing pipeline for industrial cameras with 8/10/12/14/16-bit Bayer format

Workflow example for CUDA RAW Processor

  • Upload video footage to computer (PC) from camera or card reader
  • Convert RAW files to DNG format with Adobe DNG Converter (option)
  • Create new project and import DNG images
  • DNG image processing with CUDA RAW Processor
  • DNG video player
  • Export JPEG (8/12-bits) or TIFF (16-bits) files or ProRes/DNxHD video
  • Export H.264 video in MP4 with Full HD resolution

Full version of that pipeline is implemented in Fast CinemaDNG Processor software. Please visit www.fastcinemadng.com

     Home                   Contacts                 Site Map
GPU Image Processing