GPU Image Processing Library

Fastvideo has designed high performance Library for image processing on GPU. That Library is a set of separate components which correspond to standard image processing pipeline for camera applications. We cover all image processing stages starting from camera raw image acquisition to JPEG compression with storage to RAM or HDD. All image processing is done completely on GPU and this leads to exceptionally high performance. We can also offer high speed imaging libraries for non-camera applications.

GPU image processing libGPU Image Processing Library Features

  • Image ingestion from a camera, frame grabber, HDD/SSD/RAM or GPU memory (PGM, BMP, PPM, JPG, YCbCr, RAW, DNG, byte array, OpenGL texture or PBO, etc.)
  • Dark frame subtraction (FPN)
  • Flat-Field Correction (Shading Correction)
  • White Balance
  • Exposure correction
  • Raw denoising
  • High quality demosaicing
  • Denoiser (luma and chroma)
  • Color Correction with matrix profile
  • Color Transforms: RGB->YCbCr, YCbCr->RGB, RGB->HSV, HSV->RGB, etc.
  • Composite or per-color component 8/10/12/14/16-bit LUTs for tone mapping in RGB or HSV (Hue->Hue, Hue->Saturation, etc.)
  • 3D LUT for RGB and HSV
  • Histograms for raw and processed data
  • RGB Parade (waveform monitor)
  • Crop
  • Rotation (90/180/270 degrees) and flip/flop
  • Resize (downscale and upscale)
  • Gamma transform (composite or per-color component)
  • Sharpening with Unsharp Mask filter (USM)
  • Realtime output via OpenGL
  • JPEG compression and decompression
  • Raw Bayer lossy compression and decompression

GPU Image and Video Processing Library Options

  • Unpacking module for various raw formats
  • GPU Direct option for Linux to get images on GPU from a camera over DMA
  • Image tiling
  • Pyramid images
  • Auto white balance
  • Discrete Cosine Transform
  • Discrete Wavelet Transforms: CDF 5/3 and 9/7, Haar, UHaar, UCDF
  • Time measurements for all SDK modules
  • Trace module
  • Multiplexor module
  • Support for input data from HD-SDI grabbers: Bluefish, Deltacast, Imperx
  • Multiple camera solution
  • Stream-per-thread option
  • RAW and DNG image and video processing

We are developing and optimizing software for the latest NVIDIA GPUs as well as we are designing new image processing algorithms to get high image quality and excellent performance.

gpu image processing library

*OS Windows-7 (64-bit), CUDA-7.5 (64-bit). Timing includes GPU computations only, single frame image processing at one GPU (no batch mode, no streaming). JPEG encoding with compression ratio ~10:1 (24-bit data, jpeg quality 90%) and subsampling 4:2:0. Debayer algorithm is DFPD. Resize algorithm is Lanczos (2x downscaling). Denoising with CDF97 wavelet. Here you can find other benchmarks for our SDK.

Compatibility

  • OS Windows-7/8/10 (64-bit), Linux (64-bit), Linux4Tegra (L4T)
  • CUDA-8.0, MSVS 2015, sample C/C++ applications with source code
  • NVIDIA GPUs (Fermi, Kepler, Maxwell, Pascal) for mobile, laptop, desktop, server
  • MJPEG integration with FFmpeg (reader/writer), FFmpeg is under LGPLv2.1

Sample applications with source codes

  • JPEG Codec
  • Debayer
  • Debayer + JPEG
  • Denoiser
  • Resizer
  • SDI converter
  • JPEG Resize (jpeg decoding, crop, resize, sharp, jpeg encoding)
  • Camera application: raw data acquisition and unpacking, dark frame subtraction, shading correction, white balance, debayer, luma and chroma denoiser, color correction, tone mapping, LUT, rotate, crop, resize, sharp, OpenGL/GLFW output, JPEG or H.264 compression, writer to AVI (MJPEG)
  • AVI player (MJPEG) via GLFW
  • Raw Bayer Codec

Freeware GPU-based applications from download page

  • JPEG Codec
  • Debayer
  • Resizer

Custom GPU Accelerated Image Processing Library

We can offer integration services to connect your software with our image and video processing library. To achieve high performance on GPU for specific imaging applications, Fastvideo is also developing GPU custom image and video processing solutions according to agreed specification. If you can't find above your image processing pipeline, call us to discuss that possibility. You can also have a look at our projects in development.

Licensing for GPU Image Processing Library

We license GPU Image Processing Library and its components to software developers, camera manufacturers and resellers, internet providers, software integrators, etc. That library is utilized in wide range of imaging applications. Demo version of the library, documentation, licensing info and quotation are available upon request. We are also offering custom software design according to agreed specification. If you need to get significant speed up or to improve quality of your image processing application, don't hesitate to contact us.

Roadmap 2017 for GPU Image Processing Library from Fastvideo

     Home                   Contacts                 Site Map
GPU Image Processing