The new palettized mode in JPEG XL will be interesting. It gives a guarantee of no block ringing, no blurring beyond certain level +-5 or so, and compresses ~35% better than near-lossless. The 'secret sauce' is a combination of delta and normal palettes, mild dithering and butteraugli-guided design decisions. Great performance can be achieved with the stock palette, making this mode interesting for even the smallest images.
JpegXL gets better.
cjxl 0.1.0-05a84bb5
jxl 2kb worser -much more blocking artefacts than AVIF
Please hit the "THANKS" button under my post if its useful for you.
i tried q 44.3 edge preserving 3 effort 4 In jpeg xl (jxl rebuild of squoosh) and it makes so fake photo but it looks very real, so jpeg xl has improved in this new 1th December build, but is still far from the finalization. But still webp v2 it selects the automatic quality
jxl is better at lossless and at the moment it use less dependencies for it.
Also I read in the commit
// Kind of tree to use. // TODO(veluca): add tree kinds for JPEG recompression with CfL enabled,
'edge preserving 3' is quite a lot stronger (and a bit slower) filtering than we had before. It is still guided by the adaptive quantization field and the smoothing control field, so it shouldn't be super-destructive still like some less connected restoration/deblocking filtering approaches can be.
The restoration filter is relatively flexible through the smoothing control field use, and we will likely be able to improve the restoration by encoding side improvements within the next year: less artefacts, more authenticity.
Of course, it seems to me that the development of JpegXL has already been delayed, but so far it has no competitors in it's quality at high bitrates...if something competitive suddenly appeared during this long development.
I just want to switch from JpegXR to JpegXL. But after switching to AVIF, I found out that in some decoders are decode different color spaces with different gamuts, so it is decoder problem only, but I don't want to rush anymore.
AVIF main mode is separate from the gamut/colorspace, so something else decides about the exact colors and intensity.
JPEG XL main mode is absolute and physical, so you are specifying what kind of photons and how many you'd like to have.
Both approaches have their benefits. JPEG XL tends to invest more bits in dark areas as a result of this, particularly when the default settings are used (when a 250 nits viewing condition with ~2x zoom is expected by default).
Image formats comparison by eclipseo:
https://www.reddit.com/r/AV1/comment...son_including/
https://eclipseo.github.io/image-comparison-web/
(Shift key to switch between images)
Last edited by Scope; 9th December 2020 at 15:19.
algorithm (9th December 2020),Jyrki Alakuijala (10th December 2020)
The methodology of this comparison is flawed: what is called the 'original image' is actually the real original converted to yuv420, and in the case of avif that is taken as the original, while in the other cases the yuv420 is converted back to rgb using nearest neighbor chroma upsampling, and that is given as input to the various non-avif codecs. This means e.g. jxl is spending bits on replicating blocky chroma artifacts.
Jyrki Alakuijala (10th December 2020)
Poll to compare JPEG XL and AVIF for visually lossless compression: https://twitter.com/jonsneyers/statu...29160145952773
In extremely dark picture, it looks like JpegXR is winning.
Jpeg XL 0.0.1-c8ce59f8 -s 9 -d 0.3
AVIF q min-max 3
JpegXR -q95
This picture does not look extremely dark, just very bad and noisy. Or are you showing the decompressed images after stretching the contrast? That original looks like it only has 5 distinct shades of grey, so maybe you blew up the darkest values by a lot?
JPEG XL is perceptually optimizing for the image as it is, displayed at 255 max nits (unless you configure it for some other max nits target). If you want to stretch the darks a lot, you should do it before perceptual compression, not after.
Yes. Original looks one black color.
But this is wrong thinking. I just archive my photos and want After 10 years, suddenly there is something interesting, but in the dark, JpegXR does good job for me.
It's nice when the photo compresses evenly, even if there is only noise but there is information.
I think this my photo is good for tests.
to me also i think jpeg xr better on what he did encode but i have not tried command line.
You should save your photos in a lossless raw format if you want to do stuff like that. The purpose of lossy compression is to introduce artifacts where you cannot see them to maximize the fidelity of the image you can see. If you are going to heavily manipulate the image, you should use lossless until you are done editing, and only then encode in a lossy way.
If you insist on lossy but you want to preserve the darks to potentially blow them up later, you could try jxl with a high nits target. Or you could try non-perceptual lossy encoding like jxl modular mode (cjxl -m -Q 95).
Could you define what you want to happen evenly? To have a minimum budget of bits per surface area even if psychovisual modeling would consider those bits worthless?
Most commonly codecs spoil red areas (red velvet) and the sky (clouds vs. blue sky) and the dark areas. Would an even compressor be able to balance red/sky/dark or is the evenness related to being able to ramp up the brightness 100x and still get a good image? What about sharpening the image?
I untouched the archived photos, but for that matter, I am absolutely no time for it, to do it with thousands of photos... So it is important for me that the compression is evenly as possible, almost lossless.
But not lossless - not big size.
Now photos with JpegXR are compressed in 40-50% size than lossless, having few artifacts.
Of course every pixel is not important to me, but such small details are important.
I do not compress photos 4000x4000 or bigger, I do compress size like 1000x1000.
But -g -Q 95. ok I am use Q 97, modular mode is looks bad than VarDCT (-q 95).
wow Jpeg XL with -q looks goodes than -d in dark. I had to start with him. here jpegXR definitely loses.
JPEG XL is optimizing heavily for psychovisuals. If a transform like changing the brightness radically (say more than 10x) is done, the psychovisual optimizations may work against it.
Human eye receptor sensitivity can be modeled best with simple math as log(I + C), where I is image intensity and C is a constant. If you compare a function of log(I + C) and log(10 * I + C), you can see that there is no clear way to do it. When you 10x the intensity you will see different things. The mid intensity parts have usually the highest saturation -- that area moves with scaling the intensity.
In cjxl we currently optimize for viewing at 250 nits. This is somewhat accidental, but improves the preservation of low intensity areas at the cost of artefacts/loss of detail elsewere. It should allow some more scaling in brightness, but only about 3-10x'ing it. In your example you are likely 1000x'ing the brightness from what it was expected to be at compression time.
In JPEG XL format we can easily allocate more or less precision in the lowest bit range, so the format is able to do the same or better than JPEG XR in this case. It is just that in our encoder we are not preparing for a 1000x increase in intensity.
At the moment everything is working well, I'm waiting for the JPEG XL full release to doing the exact setting for compressing all my images
Reading this, I reason... I remembered how the GIF codec would act when creating a palette, it would choose the most popular colors in the image, and draw only them. In my image example, I think, are no 30 colors, but there are definitely be the extremely black colors as the most popular color and will be saved...
But it is so just... I like how jpeg XL's dark looks with q95, it's very well to will be 1000x'ing the brightness.
Almost for fun I did this test comparing with the original these two images compressed in avif and jxl almost the same size in bytes !
The result is not only visual in my opinion ... Judge yourselves!
PerceptualDiff version 1.1.1, Copyright (C) 2006 Yangli Hector Yee
PerceptualDiff comes with ABSOLUTELY NO WARRANTY;
This is free software, and you are welcome
to redistribute it under certain conditions;
See the GPL page for details: http://www.gnu.org/copyleft/gpl.html
PeceptualDiff image1.tif image2.tif
Compares image1.tif and image2.tif using a perceptually based image metric
Options:
-verbose : Turns on verbose mode
-fov deg : Field of view in degrees (0.1 to 89.9)
-threshold p : #pixels p below which differences are ignored
-gamma g : Value to convert rgb into linear space (default 2.2)
-luminance l : White luminance (default 100.0 cdm^-2)
-luminanceonly : Only consider luminance; ignore chroma (color) in the comparison
-colorfactor : How much of color to use, 0.0 to 1.0, 0.0 = ignore color.
-downsample : How many powers of two to down sample the image.
-output o.ppm : Write difference to the file o.ppm
Note: Input or Output files can also be in the PNG or JPG format or any format
that FreeImage supports.
C:\>pdiff c:\IMG\avif\avif.tif c:\IMG\bmp\source.tif
FAIL: Images are visibly different
833229 pixels are different
C:\>
C:\>pdiff c:\IMG\jxl\jxl.tif c:\IMG\bmp\source.tif
FAIL: Images are visibly different
1495847 pixels are different
C:\>pdiff -luminanceonly c:\IMG\jxl\jxl.tif c:\IMG\bmp\source.tif
FAIL: Images are visibly different
22184 pixels are different
C:\>pdiff -luminanceonly c:\IMG\avif\avif.tif c:\IMG\bmp\source.tif
FAIL: Images are visibly different
4555 pixels are different
Source Image link: https://images.unsplash.com/photo-14....1&w=1000&q=80
Don't use PerceptualDiff. It is very primitive and far less perceptual than the models already used in JPEG XL and AVIF.
You can approximate perception with dssim, ssimulacra, butteraugli, and a couple of matlab-based systems.
If you must use simple stuff, disable color -- color is usually harmful with primitive modeling (blue channel variations both significantly under and overestimated, variations on red background commonly underestimated). The difficulty on getting blue right can be seen in the clouds, commonly spoiled by modern compressors. The difficulty with red can be seen in red objects, particularly so in red cloth where complex variations tend to occur.