What exactly is a LUT?

So what exactly is a LUT anyway? Of all the cryptic terminology and acronyms we throw around, the “LUT” is the most commonly misunderstood.

The LUT or “Lookup Table” is in fact a very simple device used to transform RGB input values to different RGB output values.

LUT’s are often used technically to transform image data from one color space to another. LUT’s are also used to describe and apply the customized color transforms we often refer to as “looks” when it comes to color grading. A custom LUT can be used on set to preview a desired “look” or grade directly on a live camera monitor.

There are 1D and 3D LUTs, the difference being that a 1D LUT only applies to a single color channel whereas a 3D LUT is a cube like matrix covering transforms for all three color channels across any and all combinations.

We’ll be referring to 3D LUTs from this point forward, as this is the most common type, and is most often what is meant when the term “LUT” is used.

Before we go any further it’s important also to understand what is meant by color space.

Color Spaces, Color Models and Mapping

A color space is a specific organization of colors, often defined by the limitations of a particular device, such as a display device, or image acquisition device. It can be an industry standard defined by the capabilities and limitations of the image processing chain as a whole.

What we commonly refer as a “color space” however is not just an arbitrary organization of colors like a pantone color chart or crayons with cute names; it refers to a particular color model and a mapping function referencing an absolute color space.

The reference absolute color space includes the entire spectrum of visible colors against which a particular color model and mapping function will have a footprint, known as a “gamut”. The wider the gamut, the more possible colors of the visible spectrum can be represented in that color space.

A LUT can be used to transform image data from one color space to another by re-assigning values from the source color space to the correct values in the destination color space.

Mapping and Transforming RGB Values

Whether dealing with LUTs or color spaces, hopefully you have noticed one thing in common in all of this so far; we’re essentially dealing with the same thing, and that is either mapping or transforming RGB values.

A 3D LUT would contain a huge amount of data if it had corresponding input and output combinations for every single coordinate set, so instead it employs a fixed number of coordinate points, usually 17 x 17 x 17 with other points interpolated between.

Essentially, a LUT is nothing more than a reference table that specifies an RGB output value for any given RGB input value. Of course if you dig deeper it gets more complicated but this basic understanding of its function will set you up to correctly use LUTs in your workflow, on set or in post.