Fastvideo 3d lut color correction


3D LUT Transform is massively used for color grading and toning applications. To solve the task of 3D LUT grading, we have developed corresponding kernels that run on existing GPU hardware from NVIDIA. We have implemented various formats for 3D LUTs and achieved very high performance for color grading.

Fast kernels require to put all initial data into GPU shared memory. This is possible for 3D LUT cubes with dimensions up to 17×17×17 (float) and 33×33×33 (integer). Each point of 3D cube consists of three int or float values and it means that even for the latest NVIDIA GPUs not every 3D LUT could match the size of GPU shared memory.

3DLUT Transform Features

  • Input data up to 16-bit with arbitrary width and height
  • 2.5D and 3D LUT formats: cube
  • Color representation: RGB, HSV
  • Standard color cube resolution 64×64×64 (up to 256)
  • Compatibility with Fastvideo Image & Video Processing SDK

Hardware and software

  • CPU Intel Core i7-5930K (Haswell-E, 6 cores, 3.5–3.7 GHz)
  • GPU NVIDIA GeForce GTX 1080 (Pascal, 20 SMM, 2560 cores, 1.6–1.7 GHz)
  • OS Windows 10 (x64)
  • CUDA Toolkit 9.1

Performance of 2.5D and 3D LUT Transforms on GPU

Test images: 16-bit RGB, 2432×1366 (2.5K) and 4032×2192 (4K)
Test info: all data (input and output) in GPU memory, timing measurements include GPU computations only, timings for 2.5K/4K images

  • 3D LUT (HSV, 36×8×8 points) – 0.31 ms / 0.65 ms
  • 3D LUT (HSV, 36×29×16 points) – 0.29 ms / 0.68 ms
  • 3D LUT (HSV, 36×56×61 points) – 0.44 ms / 0.78 ms

We have designed that software as a part of our GPU image & video processing SDK. Now our customers have opportunity to use fast 3D LUT transforms on NVIDIA GPU in their realtime color grading applications.

     Home                   Contacts                 Site Map
GPU Image Processing