3 ms·
The gradients on webp frequently look like video stills. Chroma subsampling reduces the density of available luminance approximations and the more heavily it's
by barrkel 3y ago
The gradients on webp frequently look like video stills. Chroma subsampling reduces the density of available luminance approximations and the more heavily it's applied, the worse gradients look. High contrast high frequency details aren't affected much, but gradients can really suffer.
- CyberDildonics 3y agoChroma subsampling reduces the density of available luminance approximations Chroma means color, and color subsampling is used to avoid taking information out of luminance channels because they are more important, so it is actually the opposite of what you are saying here.
- barrkel 3y agohttps://www.google.com/search?q=gradient+banding+4:2:0 https://www.google.com/search?q=gradient+banding+4:2:0 There simply aren't enough bits of precision in the luma encoding for good gradient support most of the time, chroma fills the gaps, and chroma subsampling produces artifacts. Webp lossy only does 4:2:0 https://groups.google.com/a/webmproject.org/g/webp-discuss/c/6Nm_L-m6z-Y https://groups.google.com/a/webmproject.org/g/webp-discuss/c... These problems would go away with 10-bit AIUI. AVIF supports 10 bit but WebP does not.
- CyberDildonics 3y agoI think you're conflating a few different things. Chroma doesn't fill gaps, low resolution chroma channels introduce artifacts of their own. This is spatial resolution, 10 bit color channels is quantization resolution of the values. Everything contributes to banding artifacts, which are just noticeable changes in values when that are meant to be perceptually smooth, but the luminance channel is the most important, which is why it isn't subsampled. These are fundamentals of image and video compression and not unique to webp.
- zerocrates 3y agoI was going to say, it's not uncommon to see pretty bad banding in dark gradients with WebM/VP9, so this makes some sense.
- suzumer 3y agoLike video, webp uses limited ycbcr, as opposed to jpeg which uses full ycbcr. This leads to grayscale jpeg looking perfect on monitors that use full rgb values, as opposed to webp which will have slight banding issues when displaying grayscale content.