Knowledge Base/General Information/Glossary & Terms

3D LUT

David Newman
posted this on April 02, 2011 04:27 PM

 

Firstly: LUT = Look Up Table.
For video, LUTs come in two varieties:
1D – 1 Dimensional (common)
3D – 3 Dimensional (less so)
In 1D and value like brightness, or red level, etc. with range 0 to 255, in feed into table that remaps these values to a new 0-255 range. This is the curves control in your NLE, or image editing tool. RGB curve are simply three 1D LUTs. In 1D LUT data from red channel can’t be used to control any other channel.
3D LUT has three inputs to the table rather than just one. Red, green and blue value go into a table that looks like a cube. At each table entry are three output values. So any RGB combination can produce any other RGB value. This is means 3D LUTs can do color based “secondaries”, you can make a blue sky red with impacting skin tones, or remove the saturation from all colors but one. These a very powerful.
The one issue with a 3D LUT is the size of the table. 8-bit RGB table is a 256x256x256 with three bytes per entry, with is 50MBytes. And CineForm RGB is 12-bit accurate, which requires 288′G’Bytes — so 3D LUTs are interpolated form a lower number of entries to approximate the color changes of such a large “color space”. A color cube of around 16x16x16 entries are surprisingly good and are used in monitors for calibration and in on-set look previews. Cubes of 64x64x64 are the LUT resolutions often used for film finishing, this the large of LUT the CineForm decoder supports. Most of the LUTs we include (in the LUT Pack1) are of this resolution *. We using 32-bit float entries as the output values, so a 64x64x64 cube is 3MB — big enough for finishing quality, small enough to be loaded in real-time.
* note: Using a lower resolution LUT, does not impact the quality of the video it is being applied, the resolution of the LUT only impacts the accuracy of the larger full color cube it is modeling. I’ve seen a 8x8x8 bleach bypass, look as good as 64x64x64 equivalent, so 64^3 LUTs are often overkill.

Firstly: LUT = Look Up Table.


For video, LUTs come in two varieties:

1D – 1 Dimensional (common)

3D – 3 Dimensional (less so)


In 1D and value like brightness, or red level, etc. with range 0 to 255, in feed into table that remaps these values to a new 0-255 range. This is the curves control in your NLE, or image editing tool. RGB curve are simply three 1D LUTs. In 1D LUT data from red channel can’t be used to control any other channel.

3D LUT has three inputs to the table rather than just one. Red, green and blue value go into a table that looks like a cube. At each table entry are three output values. So any RGB combination can produce any other RGB value. This is means 3D LUTs can do color based “secondaries”, you can make a blue sky red with impacting skin tones, or remove the saturation from all colors but one. These a very powerful.

The one issue with a 3D LUT is the size of the table. 8-bit RGB table is a 256x256x256 with three bytes per entry, with is 50MBytes. And CineForm RGB is 12-bit accurate, which requires 288′G’Bytes — so 3D LUTs are interpolated form a lower number of entries to approximate the color changes of such a large “color space”. A color cube of around 16x16x16 entries are surprisingly good and are used in monitors for calibration and in on-set look previews. Cubes of 64x64x64 are the LUT resolutions often used for film finishing, this the large of LUT the CineForm decoder supports. Most of the LUTs we include (in the LUT Pack1) are of this resolution *. We using 32-bit float entries as the output values, so a 64x64x64 cube is 3MB — big enough for finishing quality, small enough to be loaded in real-time.

* note: Using a lower resolution LUT, does not impact the quality of the video it is being applied, the resolution of the LUT only impacts the accuracy of the larger full color cube it is modeling. I’ve seen a 8x8x8 bleach bypass, look as good as 64x64x64 equivalent, so 64^3 LUTs are often overkill.

 

 

Comments

User photo
Tom Majerski

First of all, let me say how much i LOVE cineform + first light, they are simply amazing products and work exactly as described and make my workflow a silky smooth and efficient as i could ever wish for. How could you possibly improve the software? well I love to create my own custom looks in After effects and Sony Vegas, what would be amazing is if I could create my own 3D LUT's to use in firstlight so that they use the activemeta data to colourise. I love the preset looks that are already there, such as the film looks, but if i could also have my own custom ones, i would be over the moon. I know you allow for importing from Iridas Speedgrade OnSet, but i dont have it - and i expect many of your customers dont have it also. So either having a cineform Look creator or more programs being able to export their looks from curves etc, would make first light EVEN BETTER!     

September 21, 2011 05:03 AM
User photo
Colin Leung

I use color finesse 3 but the values exported are not 32bit float.

So that I make a little online tool to convert it.

http://wonderfl.net/c/p50Q

November 25, 2011 09:28 AM