Free Lossless Image Format (FLIF)


_wb_

Microbe
Staff member
Joined
Apr 5, 2012
Messages
5,390
Age
42
Location
Brussels, Belgium
I'm working on a new lossless image compression algorithm, called FLIF.

It compresses better than PNG, lossless JPEG 2000, and Google's WebP format in lossless mode.

It's also better at progressive decoding of partially downloaded files. Here's a little demo of that, comparing FLIF to PNG with Adam7 interlacing:

https://www.youtube.com/embed/ByH7RMsMxBY?feature=oembed
 
Last edited by a moderator:
Is the compression also faster ?

Which licence will you use ?
 
Last edited by a moderator:
Sounds like it's really something, one person beating all these long established algorithms. Phenomenal work.

Do you think you'll be able to post technical information on the algorithm soon?
 
Wow, very very interesting.

Especially in seeing HOW MUCH more it compresses compared to PNG!

I expected a few bytes, but it actually is A LOT of bytes :eek:

I love that. I especially love optimizing such things in a world where most don't even care about that anymore (as everyone thinks it's not worth it because computers are fast enough and size doesn't matter)

Great work!
 
Good stuff. Even for lossy, at only 20% of the download, your render already looks excellent.
 
Sounds awesomely impressive.

How does it compare to acceptable-quality JPEG compression ?

As a user of lossless formats, I'm quite interested.

OpenPandora.org definitely is the place to be. ^_^
 
Quite interesting. Looking forward to more details!
 
Hi :)

I love these new image formats ! It reminded me of BPG, execpt FLIF is not patent encumbered (AFAIK).

@ _wb_: keep up the good work !

Cheers, Magic Sam
 
I love that. I especially love optimizing such things in a world where most don't even care about that anymore (as everyone thinks it's not worth it because computers are fast enough and size doesn't matter)
I share that Philosophy. :)

Well, not sure if the World needs another Image Format, we already have to many of everything there imho, but it's nice to see what's still possible in already established areas. Now please make something that reduces Video bandwidth without loosing quality. Youtube & Co. really need that (their image quality sucks balls, even on their "HD"! ). -Yes, I have slow Internet but like to watch Streams, I'm trained to suffer. XD
 
Last edited by a moderator:
Wow. That is really impressive. I like it a lot.


So ut has the same features as png? But saves 1/3rd of the size and has better progressive display properties? Sell it to google ;-)
 
how well does it compare in file-size to BPG?  interested in checking out the source eventually.  will you use git or something else?

[edit]also, any hints as to the idea behind the compression?
 
Last edited by a moderator:
how well does it compare in file-size to BPG?  interested in checking out the source eventually.  will you use git or something else?

[edit]also, any hints as to the idea behind the compression?
I'll do a compression comparison with some other formats, I'll include BPG too.

I'll put the source on github.

Some of the main ideas behind the compression:

- it uses CABAC for entropy coding, just like FFV1

- for interlacing it uses a generalization of PNG's Adam7; unlike PNG, the geometry of the 2D interlacing is exploited heavily to get better pixel estimation, which means the overhead of interlacing is small (vs simple scanline encoding, which has the benefit of locality so usually compresses better)

- the colorspace is a lossless simplified variant of YIQ, alpha and Y channel are encoded first, chroma channels later

- the real innovation is in the way the contexts are defined for the arithmetic coding: during encoding, a decision tree is constructed (a description of which is encoded in the compressed stream) which is a way to dynamically adapt the CABAC contexts to the specific encoded image. We have called this method "MANIAC", which is a backronym for "Meta-Adaptive Near-zero Integer Arithmetic Coding".

I'll have to write a paper about this at some point to explain everything.
 
You should pass the image through the google neural network, and compress it based on its findings:

"Dog, small, Chihuahua, name of 'bob' at 100,240"

You'd save masses in image compression.

D.
 
This is really cool, I'd also like to see compaison of compression/decompression speed compared to others.
 
Brilliant work, I copy Exophase's sentiment, pretty amazing to beat out such long standing formats.

Now I challenge you to write a codec for the Pandora's DSP for it :p
 
Back
Top