4 ms·
keep in mind that the best way to actually improve perceptual quality with JPEG is to increase the resolution and decrease (sometimes dramatically) the 'quality
by Hello71 12y ago
keep in mind that the best way to actually improve perceptual quality with JPEG is to increase the resolution and decrease (sometimes dramatically) the 'quality' slider: http://users.wfu.edu/matthews/misc/graphics/ResVsComp/JpgResVsComp.html http://users.wfu.edu/matthews/misc/graphics/ResVsComp/JpgRes...
- jacobolus 12y agoI agree with this based on my fuzzy impressions of my own past experience, but I never did any careful explicit tests. It’s too bad the original source image used for the comparison in the document you linked is really crappy quality with terrible artifacts though, and the resizing routine is the fairly unimpressive bicubic scaling (or in the first example nearest neighbor). Makes the comparison pretty useless IMO. I’d love to see a similar comparison starting with a much better source image, but I don’t have time to do the tests myself right now. I’d also love to see a comparison of (a) a high-quality image downscaled using a very high quality resizing algorithm and then JPEG compressed versus (b) JPEG compressed first to match the size of image a and then resized in-browser by various browsers’ resizing routines. There was a pretty big difference between the way browsers resize images the last time I checked a few years ago.
- retroencabulato 12y agoI don't think that article made strong arguments. Using nearest-neighbour resampling on the low-res image is an absolute joke. He didn't even look at an objective quality measurement (PSNR). The human visual system is very sensitive to edges, and the high-res image has more pronounced blocking artefacts. Downsampling a high-res image is an unnecessary load on the end user, the 8x8 block transform was chosen for good reason. I'm not necessarily saying the low-res is superior, but I disagree this ad hoc method is the 'best' way (compared to optimising the coding).
- jacobolus 12y agoPSNR is not a very good test of human perception though, and optimizing for PSNR has had unfortunate consequences on image resizing algorithms IMO. Whether downscaling a high res image is an excessive load on the end user depends a lot on the end user. From what I understand (but I’m not an expert, so please correct if this is wrong), bandwidth is the main bottleneck not only on I/O latency but also on CPU use, not image rescaling. I’m guessing even mobile phones of the last few generations don’t even break a sweat when downscaling images (can’t they use GPU for this?). As always, it would be a good idea to actually test CPU use / latency / battery drain from rendering images at different sizes/JPEG quality levels on the target client device.
- retroencabulato 12y agoOther than pathological examples, PSNR is pretty useful for gauging the quality of photographs, and is very common in literature. Problems aside, it would have been nice to see some rate-distortion curves. I agree eye balling the results is just as important, but I don't believe everyone should adopt this method because one dude thinks it looks better. Personally, I dislike the blocking artefacts around the neck and badge of the high-res image, even if some details are sharper.