Towards Better Chroma Subsampling - SMPTE Presentation Notes
Slide: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Inappropriate mixing of chroma subsampling schemes demonstrated

Due to the way NLEs handle chroma, it is very possible to end up with a mismash of chroma up/downsampling methods.

 



Method (no mixing)      
Downsampling Linear/triangle Point / nearest
neighbour
Box Linear/triangle
Upsampling Linear/triangle Linear/triangle Linear/triangle Box

Note that mixing the box and linear resampling methods causes the chroma to shift 1.5 pixels left/right, due to where the chroma lies (update: see below). In 4:2:2 (only 2X horizontal subsampling instead of 4X) this is not very noticeable as the shift is only 0.5 pixels.


Update: Clarification of the inappropriate mixing of chroma subsampling schemes

By linear downsampling (bad terminology on my part) I actually mean a filter with weightings [0.0625, 0.125, 0.1875, 0.25, 0.1875, 0.125, 0.0625]. By box, I actually mean a filter with weightings [0, 0, 0, 0.25, 0.25, 0.25, 0.25] with chroma siting as in the diagram below.

The inappropriate mixing is really of inappropriate chroma siting (i.e. lack of adherence to standards). This is shown in the diagram below:

where Y' represents luma and C represents chroma.

This situation can happen when using different DV codecs. Encoding with one codec and decoding with a different DV codec can result in the situation above.

*I have not read the actual DV spec myself, but I believe I am mistaken as to what it calls for. It should be that Cb is co-sited with Y0 and Cr to be co-sited with Y2. (Cb and Cr are B'-Y' and R'-Y' with scale factors and offsets.) This is an odd arrangement with Cr shifted over 2 pixels. See Charles Poynton's article on chroma subsampling notation.