Most people know that 4:4:4 is better then 4:2:0, but what is the difference?
Have a look at the following image which is a part of Kodaks Marcie LAD. The image color sampling is below is 4:4:4
When comparing it to a 4:2:0 version of the same image you can see some artifacts, especially in the hair and between the colors at the top left.
This is because we just have a quarter of the chroma resolution, even if we still have the same number of pixels in both width and height.
The reason why some codecs use lower chroma sub-sampling is because it saves space. We will have a look at this further down
Now let’s have a look at the details. In the comparison below you can see the difference. Between 4:4:4 and 4:2:2 there are some pixel groups that loose detail. When you look at 4:2:0 it’s pretty blurry and the details are lost. When grading it’s very important to keep as much detail as possible, it can be the difference between a great looking image and an OK looking one.
Here is another comparison. You can see there is a slight hue shift in some of the pixels in the 4:2:2 version compared to the 4:4:4.
So what is the difference between 4:4:4, 4:2:2, 4:2:0 and 4:1:1
The eye is more sensitive to contrast then color information, that’s why you can sample color in a lower resolution (sub-sampling). Sub-sampling is described in 1/4th, which means 4:2:2 means we sample 100% of the Y-values, 50% of the U values and 50% of the V-values. Y is the luminance value which describes the how bright the pixel is. U and V are chroma information.
Let’s have a look at these diagrams, they are very conceptual.
4:4:4
The top row displays the Y sampling, each pixel gets its own value.
The middle row displays the U and V sampling, each pixel gets it’s own U and V value.
The bottom row diplays the combined YUV signal, each pixel has its own unique value.
Now compare it to the following diagrams.
4:2:2
The top row displays the Y sampling, each pixel gets its own value.
The middle row displays the U and V sampling, every second pixel gets its own U and V value.
The bottom row diplays the combined YUV signal.
Pixel 1 gets its own Y value and also its own U and V values.
Pixel 2 gets its own Y value but the U and V values from Pixel 1.
4:1:1
The top row displays the Y sampling, each pixel gets its own value.
The middle row displays the U and V sampling, every fourth pixel gets it’s own U and V value.
The bottom row diplays the combined YUV signal.
Pixel 1 gets its own Y value and also its own U and V values.
Pixel 2 gets its own Y value but the U and V values from Pixel 1.
Pixel 3 gets its own Y value but the U and V values from Pixel 1.
Pixel 4 gets its own Y value but the U and V values from Pixel 1.
This creates hue shifts that start to look bad.
4:2:0
The top row displays the Y sampling, each pixel gets it’s own value.
The middle row displays the U and V sampling, the first pixel in the top row gets its own U and V value.
The bottom row diplays the combined YUV signal.
Pixel 1 row 1 gets its own Y value and also it’s own U and V values.
Pixel 2 row 1 gets its own Y value but the U and V values from Pixel 1 row 1.
Pixel 1 row 2 gets its own Y value but the U and V values from Pixel 1 row 1.
Pixel 2 row 2 gets its own Y value but the U and V values from Pixel 1 row 2.
So why do we use this “crap”? It’s because we save space and bandwith.
We do a little math in an 8 bit colourdepth image. We use 4 pixels for the example.
pixel 1 | pixel 2 | pixel 3 | pixel 4 | total | |
4:4:4 | 24 bytes | 24 bytes | 24 bytes | 24 bytes | 96 bytes |
4:2:2 | 24 bytes | 8 bytes | 24 bytes | 8 bytes | 64 bytes |
4:1:1 | 24 bytes | 8 bytes | 8 bytes | 8 bytes | 48 bytes |
4:2:0 | 24 bytes | 8 bytes | 8 bytes * | 8 bytes * | 48 bytes |
* these pixels are on row 2
The conclusion of all this is, use the best quality image you can work with when grading, and don’t only look at the resolution, but also the which chroma sub-sampling is used. Talk to the DOP you are working with before he/she chooses which camera to film with.
© 2011 Nikolai Waldman
Leave a Reply
You must be logged in to post a comment.