Color Management with ICC and DCP profiles on CUDA

Updated:

Fastvideo color management applies ICC and DCP color profiles on the GPU so camera images reproduce accurate colors in real time. Profile-based color transforms run on CUDA inside the image pipeline, giving correct, consistent color without a CPU bottleneck.

Detailed benchmark data. Measured results are published on our benchmark pages: all benchmarks.

Calculations of camera gamut gives opportunity to evaluate ability to reproduce right colors by the camera. This is the problem which happens quite often: if you need to replace color camera with a new one, you can't be sure that colors on a new camera will be the same as it used to be. Right solution for that task is camera calibration with ColorChecker to create its own ICC/DCP profile. The software should be able to have color management to reproduce right colors.

Standard workflow according to ICC includes color transform from Input Device Color Space (camera) to PCS (Profile Connection Space) and then transform from PCS to Output Device Color Space (monitor). PCS is the reference color space in which colors are encoded in order to provide an interface for connecting source and destination transforms. The PCS values constitute an encoding of a CIE colorimetric specification.

That Color Management software supports ICC v4 profile-based color management, including support for calibrated and profiled displays. Software engine doesn't use Windows Color System (WCS) which is available on Windows Vista and other operating systems.

ICC V4 logoColor management workflow for camera applications

How does ICC color management work on the GPU?

Important

Output profiles of monitor and sRGB are different and it means that we can't save on HDD and show on the screen the same data. In most cases, when we apply monitor and sRGB profiles to the same input data, we get different results. It's really easy to check whether this is true or not. You can open JPEG image with GIMP or other software with color management support and choose Edit/Parameters/Color Management menu and then apply sRGB or monitor profile. If you have done monitor color calibration and got its profile, you will clearly see the difference.

Fyodor Serzhenko, Fastvideo

About the author

Fyodor Serzhenko, PhD, is the founder and CEO of Fastvideo. He earned his PhD at the Moscow Institute of Physics and Technology (MIPT) in 1993. Since 2009 he has led the development of Fastvideo’s GPU-accelerated image codecs and ISP modules, including the Fastvideo SDK. Connect on LinkedIn.

Why you can trust these results

Fastvideo has built GPU-accelerated image processing software since 2009. Our codecs comply with the standards they implement — JPEG (ITU-T T.81 / ISO IEC 10918) and JPEG2000 (ITU-T T.800 / ISO IEC 15444) — and our tools are open source on GitHub. Every performance figure we publish is reproducible: see our benchmark methodology, download the Fastvideo SDK benchmark report (PDF), and measure it on your own GPU.

Contact Form

This form collects your name and email. See our Privacy Policy for how we handle your personal data.