MozJpeg vs. OpenJpeg vs. encoder (Jpeg XT?) in Netflix article:
https://netflixtechblog.com/avif-for-next-generation-image-coding-b1d75675fe4
JPEG XL
Jpeg XL is not optimized for very low bpp (Bits Per Pixel), as he tries to save most of the details and textures, rather than filter them out and reconstruct something similar, his artifacts become more noticeable, on such ranges AVIF may be visually more acceptable.
But according to my personal visual tests, starting from 0.4–0.5 bpp it usually wins most other formats.
There are also tests from other people, for example: https://forum.doom9.org/showpost.php?p=1894341&postcount=167
In particular, the DSSIM, SSIMULACRA, and Butteraugli metrics are much more consistent with the human perception of image quality.
Image comparison slider
Netflix (internal) boxshots-1 dataset
JPEG 444 (Netflix)
AVIF 444 (Netflix)
Jpeg2000(OpenJPEG -s 1,1)
MozJPEG 444 (-optimize -sample 1x1 -tune-ms-ssim)
MozJPEG (-optimize)
WebP (-m 6 -pass 10 -sharp_yuv)
JPEG XL (cjpegxl --speed=8)
Additional comparisons
AVIF 1.0.0-errata1-avif-252-gb8752448c (aomenc --cpu-used=0 --sharpness=7)
JPEG XL [b3a65719](cjpegxl --speed=8)
Image comparison slider (~44740 bytes each image)
Image comparison slider (~87777 bytes each image)
https://www.artstation.com/artwork/N5DeOJ
AVIF (aomenc --cpu-used=0 --sharpness=7)
JPEG XL (cjpegxl --speed=8)
WebP (-m 6 -pass 10 -sharp_yuv)
Image comparison slider (~308000 bytes each image)
Woman Face Photo
AVIF (aomenc --cpu-used=0 --sharpness=7)
JPEG XL (cjpegxl --speed=8)
MozJPEG (-optimize)
WebP (-m 6 -pass 10 -sharp_yuv)
Comparison with HEIC and extreme compression
AVIF 1.0.0-errata1-avif-252-gb8752448c (aomenc --cpu-used=0 --sharpness=7) + (MP4Box -ab avif)
JPEG XL [b3a65719] (cjpegxl --speed=8)
MozJPEG 4.0.0 (-optimize)
HEIC 3.2.1+36-g36fcfc308 (x265 --preset veryslow --deblock -2:-3) + (MP4Box -ab heic)
WebP (-m 6 -pass 10 -sharp_yuv)
HTJ2k GIT (OpenJPH)
Image comparison slider (~506000 bytes each image)
With sufficient bitrate, MozJpeg performs quite well, but AVIF loses and blurry some of the image details, HEIC works a little better, and the winner is Jpeg XL.
—
Image comparison slider (~273500 bytes each image)
AVIF and HEIC noticeably lose detail on the water, MozJpeg also has artifacts in the sky.
—
Image comparison slider (~221900 bytes each image)
An example with insufficient bitrate, compared to other encoders, HEIC much less distorted and blurred the image.
—
Image comparison slider (~170200 bytes each image)
Although all encoders are far from the original, AVIF has the least unpleasant artifacts, although it has removed many details.
MozJpeg is already unsuitable for such bitrates, and also Jpeg XL artifacts become very noticeable.
—
Image comparison slider (~47100 bytes each image)
Extreme compression.
—
—
Image comparison slider (~43250 bytes each image)
Jpeg XL has very noticeable artifacts, AVIF and HEIC have a visually acceptable image, but with a loss of many details. MozJpeg vs HEIC example below.
—
Image comparison slider (~10650 bytes each image)
AVIF looks better than the rest. Jpeg XL has blockiness and resolution reduction. And even the more advanced MozJpeg encoder does not help improve Jpeg here, it looks worse than Netflix’s JPEG examples.
Color banding, 8 and 10-bit AVIF/HEIC, HTJ2K
AVIF (aomenc --cpu-used=0 --sharpness=7)
AVIF 10-bit (--cpu-used=0 --sharpness=7 --bit-depth=10)
HEIC (x265 --preset veryslow --deblock -2:-3)
HEIC 10-bit (--preset veryslow --deblock -2:-3 --output-depth 10)
JPEG XL (cjpegxl --speed=8)
MozJPEG (-optimize)
HTJ2k (OpenJPH)
Color banding is a problem that may appear on images after encoding, one of the solutions is adding noise, but noise requires more bits per pixel for the same quality.
Another solution is to increase the color depth, which usually helps to improve quality even with the same size of encoded images.
I also added HTJ2K encoded examples to compare the differences in formats based on DWT (Discrete Wavelet Transform) and DCT (Discrete Cosine Transform).
High-throughput JPEG2000 (HTJ2K), also known as JPH, JPEG2000 Part 15, ISO/IEC 15444–15, and ITU-T T.814. Part 15 is intended to be royalty-free.
—
AV1 (AVIF) Film Grain Synthesis
AVIF (aomenc --cpu-used=0 --sharpness=7)
AVIF FG (--cpu-used=0 --sharpness=7 --denoise-noise-level=10)
HEIC (x265 --preset veryslow --deblock -2:-3)
JPEG XL (cjpegxl --speed=8)
MozJPEG (-optimize)
HTJ2k (OpenJPH)
Image comparison slider (~230300 bytes each image)
AVIF (AV1) very aggressively removes small details and noise, for a more acceptable quality without increasing the size of the image, it is possible to synthesize film grain.