https://afontenot.github.io/image-formats-comparison/#vid-ga...
https://afontenot.github.io/image-formats-comparison/#vid-ga...
https://afontenot.github.io/image-formats-comparison/#catedr... (glasswork)
https://afontenot.github.io/image-formats-comparison/#end-of... (teeth, fingernails)
https://afontenot.github.io/image-formats-comparison/#steinw... (lights, pianos)
https://afontenot.github.io/image-formats-comparison/#us-ope... (racket, fingernails, jewelry, watch)
But consider also e.g. https://afontenot.github.io/image-formats-comparison/#reykja... - even at "large" quality settings avif pretty visibly distorts the sky and there's some blur it the nearby trees too.
In any case, comparing to even the fairly good (for jpg) mozjpeg encoder it's clear both of these codes are much better than the status quo, and not that different from each other - neither wins universally vs each other, but both pretty clearly do vs. jpeg.
A fairly simple heuristic seems be that if want images at the tiny size - pick avif. At small, pick avif unless you really, really want to preserve texture over detail. At medium, pick jxl for texture, and avif for detail; and at large, pick jxl.
Browsing through these images in general, I think I'd usually pick jxl at medium or even sometimes large settings; small simply has too many artifacts in general (but if I had to use that - avif), and at better quality I (personally) find the distortion to texture more noticeable than loss of detail. I guess it depends on how important compression ratio is to you?
People in the internet don't like to store photos with 0.5 BPP even with the latest and greatest codecs, it gets too blurry and artefacty.
This is not a statement of my personal aesthetic opinion but observing what gets done out in the wild.
Usually we store images at 3.5 - 5 BPP (Cameras), 10+ BPP (Raw or similar for editing) and 1-2 BPP for internet user.
The actual bitrates depend a lot on the image -- graphics with simple backgrounds need less, photos with a lot of sky need less, busy detailed images particularly nature needs more.
While there is one 1.0 in the test, it is for an extremely busy image which would be better stored for internet use at 3+ BPP.
0.22 BPP is almost never used for photographs in the Internet.
See https://almanac.httparchive.org/en/2022/media#fig-15 for median bitrates in 2022 (1.0, 1.4 and 2.1 BPP for lossy formats)
> Usually we store images at 3.5 - 5 BPP (Cameras)
That's appropriate for JPEGs, but given that more recent compression algorithms do a better job, it's probably worth looking at lower bitrates. I pulled some JPEGs off my Canon DSLR for example, and they're around 2-4 bpp for landscape photos.
It's not surprising to see acceptable JPEG XL images with half that bitrate.
these features are non-helpful at normal photography bitrates and only complicate coding at bitrates above 1.5 or so
JPEG XL has similar approaches but its tools have a larger quality operating range
We evaluated these tools for JPEG XL and I rejected them due to them only helping at very lowest bit rates
there are many other ideas on how low quality JPEG XL images could be made, but it seems that it is more of a theoretical question since real use is always relatively high BPP: humans are 1000x more expensive than computers, so human experience can be prioritized over computer working harder for us.
> only complicate coding at bitrates above 1.5 or so
these features could be disabled at higher bitrates as they're not helpful there?
It's visible even in qualities higher than "tiny", which IMO is unreasonably small.
Frankly I can't really see much difference between AV1/Tiny and JPEGXL/Large on the [1] middle of the coffee one, everything else around (cup, receipt, spoon) clearly have more detail but not the coffee in the middle