▲ | astrange 5 days ago | |||||||||||||||||||||||||
> A compression algorithm can then remove high-frequency information, which corresponds to small details, without drastically changing how the image looks to the human eye. I slightly object to this. Removing small details = blurring the image, which is actually quite noticeable. For some reason everyone really wants to assume this is true, so for the longest time people would invent new codecs that were prone to this (in particular wavelet-based ones like JPEG-2000 and Dirac) and then nobody would use them because they were blurry. I think this is because it's easy to give up on actually looking at the results of your work and instead use a statistic like PSNR, which turns out to be easy to cheat. | ||||||||||||||||||||||||||
▲ | HarHarVeryFunny 5 days ago | parent | next [-] | |||||||||||||||||||||||||
Well, there are use cases for lossy compression as well as non-lossy, and nobody is saying they are the same. If you really need to heavily compress to reduce file size or transmission bandwidth then you'll likely need to use a lossy CODEC, so the question then becomes how can you minimize the reduction in perceived quality of whatever you are compressing (photos, video, audio), which comes down to how these various human sensory/perceptual systems work. For vision we are much more sensitive to large scale detail (corresponding to low frequency FFT components) than fine scale detail (corresponding to high frequency components), so given the goal of minimizing reduction in perceived quality this is an obvious place to start - throw away some of that fine detail (highest frequency FFT components), and it may not even be noticeable at all if you are throwing away detail at a higher level of resolution than we are able to perceive. It turns out that human vision is more sensitive to brightness than color (due to numbers of retinal rods vs cones, etc), so compression can also take advantage of that to minimize perceptual degradation, which is what JPEG does - first convert the image from RGB to YUV color space, where the Y component corresponds to brightness and the U,V components carry the color information, then more heavily compress the color information than brightness by separately applying FFT (actually DCT) to each of the Y,U,V components and throwing away more high frequency (fine detail) color information than brightness. But, yeah, there is no magic and lossy compression is certainly going to be increasingly noticeable the more heavily you compress. | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
▲ | goalieca 5 days ago | parent | prev [-] | |||||||||||||||||||||||||
You might be surprised to learn that videos and many images are broken down into brightness + color vectors. Brightness is typically done near the resolution of the image (eg 4K) but color is often 1/4 of that. That’s literally blurring the picture. | ||||||||||||||||||||||||||
|