On Mon, Jul 21, 2025 at 6:55 PM Mark Filipak <markfilipak.i...@gmail.com> wrote:
> Here's my latest revision preceded by some of my ramblings. > > Oh, Brother, showing pixels as areas of light really is a siren enticing > me to go overboard and swim to the island. But it's death that's on the > island. > > I've had to remind myself, over and over, that pixels are > 'dimensionless' points of light, that a 4-by-1 array of pixels is a line > of dots, not an area, that a 4-by-2 array of pixels is 2 lines of dots, > not an area. That dots, not areas, are sampled. That dots, not areas, > are seen. With each step I take I'm amazed by how I led myself astray in > the past, only to realize that I'm still leading myself astray on some > unquestioned aspect. > > Pixels don't move. A line of 4 pixels, as a unit, doesn't mean that > their sample point was half-way between the 2nd and 3rd pixel. "Of > course", you say. "There's center-sample and left-sample and > corner-sample". "Sure," I say, "but in those pretty pictures, the > sampling points aren't shown. We know that RGB samples are taken just > once, at the loci of the luma pixels, but some of what I've seen looks > impossible." > > Sampling. Such a simple thing. How can so many get it so wrong for so long? > > > Dear Dr. Poynton, > > Thank you for providing valuable guidance to so many people for so many > years. > > You may know that Wikipedia contains a rather tortured description of > chroma subsampling. I seek to simplify the description and to expand the > scope to include the five notations that I label "conjecture", below. > > I'm associated with the ffmpeg-user mailing list, and though I speak > solely for myself, I have the entirety of ffmpeg as an audience. I would > be delighted to receive the opinions of an authority. All comments are > welcome. I will not post on ffmpeg-user or Wikipedia or anywhere else > any replies you may make without your expressed permission. Note however > that I have posted drafts of this message on ffmpeg-user, prompting for > comments. > > Q1. I show five conjectures: 4:4:2 and 4:4:1 and 4:2:1 and 4:1:0 and > 4:0:0. In your judgment, do those conjectured notations exist? Are they > correct? > > Q2. For 4:2:2 and 4:2:0 and 4:1:1, I see a difference between your > descriptions and Wikipedia's. As I see it, you show chroma samples that > are a half-pixel offset to the left. Do my diagrams correctly depict > your judgment? > > Thank you. I hope you respond but I also wish to not burden you. > > Warm Regards, > Mark Filipak. > > References. > Poynton: https://www.poynton.ca/PDFs/Chroma_subsampling_notation.pdf > QuestTel: https://questtel.com/wiki/chroma-sub-mapping-types > Wikipedia: https://en.wikipedia.org/wiki/Chroma_subsampling > > KEY: > : • : depicts a luma pixel. > : • • : 2 consecutive luma pixels. > : • • • • : 4 consecutive luma pixels. > : = : a chroma pixel. > : = = : a unit of 2 chroma pixels. > : = = = = : a unit of 4 chroma pixels. > : © : a chroma sample. > : © = : a chroma sample overlapped by a 2-chroma unit. > : © = = = : a chroma sample overlapped by a 4-chroma unit. > Why chroma overlaps chroma? Nonsense. Chroma U/V dimensions are same. Only Y dimension can be bigger. > : ©= = = = : a sample made 1/2 pixel to the left of a 4-chroma unit. > : © = = = = : a sample made 3/2 pixels to the left of a 4-chroma unit. > : ©= = : a sample made 1/2 pixel to the left of a 2-chroma unit. > : ©= =©= = : the same, plus another one. > : ——[1]—— : asserts that there is no chroma subpicture there [1]. > > Shown next is the top-left corner of the sampled film. > +————————— > | • • • • <== Four consecutive pixels in line 0 of subpicture-0. > | • • • • <== Four consecutive pixels in line 0 of subpicture-1. > | The above illustrates how pixels populate subpictures and how > subpictures are combined. > > Shown next is the loci of Y, Cb, and Cr separated as element 'planes'. > | Y Cb Cr > | • • • • | © © © © | © © © © 4:4:4, Poynton, Wikipedia. > | • • • • | © © © © | © © © © > > | • • • • | © © © © | © © © © 4:4:2, conjecture. > | • • • • | © = © = | © = © = > > | • • • • | © © © © | © © © © 4:4:1, conjecture. > | • • • • | © = = = | © = = = > > | • • • • | © © © © | © © © © 4:4:0, Wikipedia. > | • • • • | ——[1]—— | ——[1]—— > > | • • • • | © = © = | © = © = 4:2:2, Wikipedia. > | • • • • | © = © = | © = © = > > | • • • • |©= =©= = |©= =©= = 4:2:2 (BT.601), Poynton. > | • • • • |©= =©= = |©= =©= = [2] > > | • • • • | © = © = | © = © = 4:2:1, conjecture. > | • • • • | © = = = | © = = = > > | • • • • | © = = = | © = © = 4:2:1, QuestTel (vaguely > | • • • • | © = = = | © = © = described, not pictured). > > | • • • • | © = © = | © = © = 4:2:1 (JPEG variant, irregular), > | • • • • | ——[1]—— | © = = = Wikipedia. > > | • • • • | © = © = | © = © = 4:2:0 (MPEG1, H.261), Poynton, > | • • • • | ——[1]—— | ——[1]—— Wikipedia. > > | • • • • |©= =©= = |©= =©= = 4:2:0 (MPEG2 frames), Poynton, > | • • • • | ——[1]—— | ——[1]—— QuestTel. [2] > > | • • • • | © = = = | © = = = 4:1:1, QuestTel, Wikipedia. > | • • • • | © = = = | © = = = > > | • • • • © = = = = | ©= = = = 4:1:1 (480i), Poynton. > | • • • • © = = = = | ©= = = = [2] > > | • • • • | © = = = | © = = = 4:1:0, conjecture. > | • • • • | ——[1]—— | ——[1]—— > > | • • • • | ——[1]—— | ——[1]—— 4:0:0, (monochrome) conjecture. > | • • • • | ——[1]—— | ——[1]—— > > | • • • | © = = | © = = 3:1:1 (Sony), Poynton, > | • • • | © = = | © = = Wikipedia. > > [1] The chroma subpicture is void. If both chroma subpictures-0 and -1 > are void (e.g. 4:0:0), then there are no chroma subpictures and the > composited pixels carry luma only. Otherwise, the decoder copies chroma > subpicture-0 to chroma subpicture-1. Note that though it is possible, > the condition: chroma subpicture-0 void and chroma subpicture-1 > populated, has not been seen in the wild. > > [2] The chroma samples are shown left-shifted by one-half pixel, > presumably due to sampling one-half pixel to the left. Since the actual > pixels cannot be moved, their values must be derived, usually by mixing. > Note that mixing is most accurately accomplished in frame pictures and > that the left edges of spans become slightly blurry. Note also that > chroma spans are assumed to be truncated as needed at the left edge of > film frames, e.g. in 4:1:1. > _______________________________________________ > ffmpeg-user mailing list > ffmpeg-user@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-user > > To unsubscribe, visit link above, or email > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".