-
Notifications
You must be signed in to change notification settings - Fork 227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gaborish filter regression #3458
Comments
Realistically, who is going to save the same image in the same format 10+ times? If you are a photo retoucher, you use an intermediate format, such as PSD, PSB, KRA, XCF, TIFF. |
Indeed, the use case is useless but:
if the origin of the issue is a regression, everybody could benefit from correcting it |
Repeated recompression does occur in practice. Memes typically get shared in lossy formats, and can get recompressed dozens of times because:
When I look at some of the memes I encounter in the wild, they do exhibit the kind of artifacts corresponding to dozens or even hundreds of generations. Also if we want to use very high quality lossy as a plausible alternative to lossless in capturing/authoring workflows (e.g. using lossy JXL payloads in DNG), I would argue that avoiding generation loss is one of the key requirements. So I think this issue should be investigated and I think we should re-tune the encoder-side Gaborish to optimize not the first generation but the Nth one. |
Describe the bug
As noted by
eddie.sato
on this message https://discord.com/channels/794206087879852103/803645746661425173/1225342521014485103The generation loss of the jxl exibit an issue which might be induced by a regression on the gaborish filter (encoding part, as stated by
_wb_
)To Reproduce
Encode and decode the same image twice in a row
Expected behavior
The second encoding should insert a minimal distortion
Screenshots
genloss.webm
Environment
Additional context
cf. the dicussion following the post on discord:
_wb_
— Looks like jpegli zeroes AC quite quickly. And inv_gaborish(gaborish) should probably be made closer to the identity function._wb_
— [...] the encoder side gaborish has been changed since then, I suspect causing a regression in terms of generation loss.The text was updated successfully, but these errors were encountered: