<p>In addition to what @Geordie said, keep in mind that LUT files can contain floating point values which means that they can describe values that would be between the 8-bit values in a PNG file. Additionally, they can describe values above 1 or below 0 for HDR workflows.</p>

CC BY-SA 3.0
2017-07-22T02:20:57.597Z
2017-07-22T02:20:57.597Z
user1118321
<p>They're essentially the same thing with different storage layouts.  A 2D LUT is just slices of a 3D LUT laid out in an image.  People use formats like Cube becasue that's what the software supports.  Because formats like Cube were invented before hardware acceleration it was probably just easier to load data already stored as 3D because the color transform was all done on CPU anyway.  You need extra math to transform an RGB value in 2D space instead of just a 3D array lookup: LUT[R][G][B] plus you have to interpolate between 3D points of your LUT is smnaller than your color space.  The file size difference is mostly due to cube files being ascii not binary.  </p>

<p>LUTs are also used extensively in Game development to apply looks in realtime using the GPU.  Here LUTs can be stored as 3D (volume) images.  An advantage to 3D image storage is you can take advantage of hardware pixel interpolation in 3D.  I suspect any video editing/compositing/coloring software with hardware acceleration would transcode Cube/Hald LUTs to 3D images for the actual lookup on the GPU.</p>

<p>Look <a href="http://www.nvidia.com/content/GTC/posters/2010/V01-Real-Time-Color-Space-Conversion-for-High-Resolution-Video.pdf" rel="nofollow noreferrer">here</a> for info on hardware color conversion.</p>

CC BY-SA 3.0
2017-07-20T18:37:17.117Z
2017-07-20T18:47:40.543Z
2017-07-20T18:47:40.543Z
Geordie
<p>Basically what the title says.</p>

<p><strong>My current view:</strong> The <a href="http://wwwimages.adobe.com/content/dam/Adobe/en/products/speedgrade/cc/pdfs/cube-lut-specification-1.0.pdf" rel="nofollow noreferrer">Cube LUT</a> appears to be a bulky, uncompressed text file with little more to offer than what is can be encoded in a lossless PNG. That the main difference is the Cube's 17 times larger size (based on a single comparison with 64 dimensions), and that the Cube is more computationally demanding to parse than the PNG. </p>

<p>In addition, the PNG is a visual representation which gives the user an impression of the LUT even without importing it into an editor.</p>

<p><strong>Why I think I'm wrong:</strong> The sheer number of LUT formats out there suggests that they offer more than what a PNG, or a combination of a PNG and a metadata file, can provide.</p>

<p>What am I missing?</p>

<adobe><color-grading><lut>
What does a Cube LUT offer over a PNG HALD?
Øyvind Grimnes
# What does a Cube LUT offer over a PNG HALD?

(Asked by: username_0 on 2017-07-20)

Basically what the title says.

**My current view:** The [Cube LUT](http://wwwimages.adobe.com/content/dam/Adobe/en/products/speedgrade/cc/pdfs/cube-lut-specification-1.0.pdf) appears to be a bulky, uncompressed text file with little more to offer than what is can be encoded in a lossless PNG. That the main difference is the Cube's 17 times larger size (based on a single comparison with 64 dimensions), and that the Cube is more computationally demanding to parse than the PNG.

In addition, the PNG is a visual representation which gives the user an impression of the LUT even without importing it into an editor.

**Why I think I'm wrong:** The sheer number of LUT formats out there suggests that they offer more than what a PNG, or a combination of a PNG and a metadata file, can provide.

What am I missing?

**Tags:** adobe, color-grading, lut


---

## 2 answers

### Answer by username_1 on 2017-07-22. Score: 1 | Accepted answer

In addition to what @username_2 said, keep in mind that LUT files can contain floating point values which means that they can describe values that would be between the 8-bit values in a PNG file. Additionally, they can describe values above 1 or below 0 for HDR workflows.


---

### Answer by username_2 on 2017-07-20. Score: 1

They're essentially the same thing with different storage layouts. A 2D LUT is just slices of a 3D LUT laid out in an image. People use formats like Cube becasue that's what the software supports. Because formats like Cube were invented before hardware acceleration it was probably just easier to load data already stored as 3D because the color transform was all done on CPU anyway. You need extra math to transform an RGB value in 2D space instead of just a 3D array lookup: LUT[R][G][B] plus you have to interpolate between 3D points of your LUT is smnaller than your color space. The file size difference is mostly due to cube files being ascii not binary.

LUTs are also used extensively in Game development to apply looks in realtime using the GPU. Here LUTs can be stored as 3D (volume) images. An advantage to 3D image storage is you can take advantage of hardware pixel interpolation in 3D. I suspect any video editing/compositing/coloring software with hardware acceleration would transcode Cube/Hald LUTs to 3D images for the actual lookup on the GPU.

Look [here](http://www.nvidia.com/content/GTC/posters/2010/V01-Real-Time-Color-Space-Conversion-for-High-Resolution-Video.pdf) for info on hardware color conversion.


---

