JPEG XL

Info

rules 57
github 35276
reddit 647

JPEG XL

tools 4225
website 1655
adoption 20712
image-compression-forum 0

General chat

welcome 3810
introduce-yourself 291
color 1414
photography 3435
other-codecs 23765
on-topic 24923
off-topic 22701

Voice Channels

General 2147

Archived

bot-spam 4380

predictors/residuals/context visualizations

AccessViolation_
2025-03-04 08:07:31
this thread is for posting visualizations of prediction residuals and which predictors and contexts are used where in images. feel free to post images here to have them tested as well
2025-03-04 08:30:06
JXL logo input/context/predictors/residuals
2025-03-04 08:35:27
there's almost nothing left in the residuals, not even near the edges of the letters. this is effort 10 with all predictors (`-P 15`), any other predictor setting leaves significant residuals there
2025-03-04 09:26:46
I think I need to change the way my imagemagick command to downscale images works. it appears to add a lot of contrast between edges to restore sharpness or something, but that just makes prediction (and possibly context modeling) worse
A homosapien
2025-03-04 10:00:09
Box downscaling is the best if you want sharpness with no ringing
2025-03-04 10:02:47
AccessViolation_
2025-03-04 10:05:05
thanks, already found that out 🙂 i also compared how those sharpness effects effect context modeling and it results in a *lot* more contexts scattered all over the place, almost like noise. though of course noise in contexts doesn't necessarily mean worse file size since the MA tree can still be pretty small and just applied in a noisy way
A homosapien
2025-03-04 10:06:36
hmm, should i prefer `-filter box -resize` or `-scale`?
A homosapien
2025-03-04 10:07:56
Spider Mario says `-scale` works better
2025-03-04 10:08:18
It wouldn't hurt to try both though. I don't use image magick
2025-03-04 10:09:17
Keep in mind the box filter works best with 1/2, 1/3, 1/4, etc. downscales
AccessViolation_
2025-03-04 10:15:54
they look nearly identical. i'll use scale to be safe
2025-03-04 10:28:28
peaks original/context/predictors/residuals
2025-03-04 10:30:34
I also like setting the predictor to `0` so that the context is just decided by the original values without being influenced by predictors