Skip to content
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

"FLIF is dead, and JPEG XL has killed him" is this true? #549

Open
DonaldTsang opened this issue Dec 8, 2019 · 6 comments
Open

"FLIF is dead, and JPEG XL has killed him" is this true? #549

DonaldTsang opened this issue Dec 8, 2019 · 6 comments

Comments

@DonaldTsang
Copy link

DonaldTsang commented Dec 8, 2019

Since https://github.com/google/brunsli has come up as a good alternative to FLIF, FUIF and PIK,
Is it possible to do a final comparison between the compressed sizes and compression artifacts of JPEG vs previously tested image foarmats, FLIF, FUIF, PIK, HEIF and AVIF vs JPEG-XL so that we can see what the future look like.

The title is a variant from Nietzsche's quote about the futility of faith.

@DonaldTsang DonaldTsang changed the title "FLIF is dead, and JPEG XL has killed him" is this true "FLIF is dead, and JPEG XL has killed him" is this true? Dec 8, 2019
@wraybowling
Copy link

I am curious of the same thing. FLIF was something I was extremely interested in from day 1. I watched the grass grow and turn brown on the Chromium feature request with many arguing web developers would not be interested. Hogwash! Absolutely not true! Now i’m checking in again finding many of these updates that the original dev has moved on and it’s sad to see. I think FLIF on mobile browsers would have been stupendous. It still can be.

@wingman-jr-addon
Copy link

Well, I don't know that I'd quite say that the original developer "moved on", per se. As I understand it, Jon Sneyers created FLIF, then FUIF as a successor. Now FUIF + Google's PIK were used as the starting point for JPEG XL. I'm not sure how brunsli fits in, but I'm assuming it as the repository states "the transport layer" - not the whole thing. So I'm not quite sure that it is a replacement exactly?
So I would say having the same brains behind this project originally feeding into a promising JPEG-based standard is a great outcome!
If it is of interest, here were some slides by Jon Sneyers. An here is the reference software repository for JPEG XL as mentioned by Jon Sneyers

Can anyone comment a bit more about how brunsli fits into the big picture?

@DonaldTsang
Copy link
Author

DonaldTsang commented Feb 8, 2020

@wingman-jr-addon Brunsli is one of the repo that converts JPEG into JPEG-XL I think. https://google.github.io/brunsli/
@wraybowling it seems that we are living in the end times for FLIF, but the silver lining is that JPEG-XL with uphold the legacy.
https://jpeg.org/jpegxl/ https://en.wikipedia.org/wiki/JPEG#JPEG_XL https://gitlab.com/wg1/jpeg-xl

@wingman-jr-addon
Copy link

Ah, I found a bit more on how the two are related.
JPEG XL has many different parts. However, brunsli is part of the draft spec, found in Annex M as clarified by a Google researcher, Lode Vandevenne. Specifically, it appears brunsli is the part that handles JPEG1 recompression.

@DonaldTsang
Copy link
Author

DonaldTsang commented Mar 6, 2020

Okay so the AVIF guys are planning to revamp WebP into a version 2 to compete with JXL...
https://www.youtube.com/watch?v=zogxpP2lm-o https://aomedia.org/wp-content/uploads/2019/10/PascalMassimino_Google.pdf

@jonsneyers
Copy link
Member

Brunsli was originally part of JPEG XL (Annex M indeed), but it was removed to keep the spec simpler, since the regular VarDCT mode (using only 8x8 blocks so not really "var") offered similar compression with a better decode speed.

JPEG XL as it was finalized in January 2021 has only two modes:

  • VarDCT mode: based on (lossy) pik. Internally uses Modular mode for several things, including the DC image, any extra channels (like alpha), and a bunch of auxiliary 2D data like adaptive quantization weights etc.
  • Modular mode: based on fuif (which was based on flif). Contains elements from lossless pik, lossless webp, and novel ideas that were developed during the development of jxl from its pik + fuif starting point.

@ziemek99 ziemek99 pinned this issue Dec 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants