Free Lossless Image Format (FLIF)


The concept I have in mind for my image format is to use one format for everything (photos, diagrams, clipart, line drawings, whatever), and store everything lossless and at the original resolution.
It could be used in a video codec, just like FFV1. Decompression would probably be a bit slower than FFV1 but not much. Decompression in a lossy way (reading only part of the file) would be much faster than FFV1. The compression rate would most likely be better -- FLIF is better than FFV1 for single frames already, and since the MANIAC trees can be reused over many frames, I expect it FLIF to beat FFV1 easily for video compression.
So maybe you should call it "Free Lossless Universal Format" or "Free Lossless Universal Format For Images".

I really just want to say "hey, look at this fluff" or "can I get those fluffy files?".
 
Haha, .fluffi does sound very nice indeed. It's a bit long for a filename extension though. And .fluf would be too general.


Before I make claims about being 'universal', I want to try some more kinds of images. Does anyone have some specific type of image in mind that I could test on? A (set of) test image(s) is also always appreciated.
 
Haha, .fluffi does sound very nice indeed. It's a bit long for a filename extension though. And .fluf would be too general.


Before I make claims about being 'universal', I want to try some more kinds of images. Does anyone have some specific type of image in mind that I could test on? A (set of) test image(s) is also always appreciated.
I like the old three character rule which would make it the .flu :D
 
Haha, .fluffi does sound very nice indeed. It's a bit long for a filename extension though. And .fluf would be too general.


Before I make claims about being 'universal', I want to try some more kinds of images. Does anyone have some specific type of image in mind that I could test on? A (set of) test image(s) is also always appreciated.
I like the old three character rule which would make it the .flu :D
of course by sticking with FLIF, as 3 letters I prefer .flf (which I can still say as "fluff", but which has the same problem as .fluf) to .fli ("fly", or maybe "flea", neither of which is as silly as "fluff").  All of these are a bit fun, so I guess any of them are good for a smile when thinking about it.

The only reason I suggested "universal" is that I couldn't find a word starting with U to replace "image".  Since the stuff I quoted sort of made it less limited I felt it wasn't as much of a stretch, although it obviously still was a huge stretch to call it universal ("does it work for text files?").  Maybe, if you are open to the idea of a fun acronym, there is a word in something other than English that is suitable.

The only thing I thought of for additional images to try was already suggested by someone else and discussed.

Since I haven't yet praised/thanked you for working on this: This is really cool.  Thanks for actually working on making something more efficient rather than being one of those that says "things are good enough as they are, and if we need something better someone else can do it".  I guess we have a handful of people here that like to push the limit of efficiency and make new interesting stuff.
 
.fli ("fly", or maybe "flea", neither of which is as silly as "fluff")
.fli is already a graphic extension (though video rather than image)
I figured I would run into one in use eventually.

.flf has a nice added bonus interjection in correcting misuse.

FLIF not fluff.


Noun

fluff ‎(plural fluffs)

           Anything inconsequential or superficial.

That article was basically a bunch of fluff. It didn't say anything substantive.
Always focusing on the negatives... :p  Maybe just swapping the last 2 words (and letters) can make it fluffy.  That changes the meaning, though, so FLIF it is.

Ok, now we can back to more technical matters since fun names are bad.
 
Is putting the code on a public github not enough to establish my prior art?
What you've already posted *should* be enough, but my opinion of the patent system is so low right now that I'd almost suggest legit filing the patent yourself and then getting a lawyer to draw up an unlimited, non-terminating license that says anyone can use it for any reason forever and it can never be undone even if the rights pass to someone else.
But in the back of my brain I'm remembering a not-patent sort of thing that you can still put in saying "I made this, if anyone else makes this this is an official record that I made it first" but I may have just made that up in some drunken wishful thinking.

I'll probably write an academic paper on this and try to get it published, that should also help.
That'd help. I still don't trust that someone wouldn't try and patent it against you anyway.
 
In the US, where software patents are valid, they are issued on a first-to-file basis, not first-to-invent.

EDIT: So, to build a solid case of prior art, I'd suggest holding back details until you got the paper published. A published paper explaining everything before a patent was applied for would probably hold stronger than an archive of beta source code.
 
Last edited by a moderator:
Before I make claims about being 'universal', I want to try some more kinds of images
How does it handle greyscale? Just a single 16bit "colour"?What is the effect on 1D images? Just a line of varying dots?

What about combined? How does it work with a sequence of 16bit signed integers?

Basically I'm asking if it can handle audio in a similar way or if the degradation just doesn't work the same.

Even if it doesn't degrade at all, it may still beat out FLAC in terms of ratio and speed?
 
Haha, .fluffi does sound very nice indeed. It's a bit long for a filename extension though. And .fluf would be too general.


Before I make claims about being 'universal', I want to try some more kinds of images. Does anyone have some specific type of image in mind that I could test on? A (set of) test image(s) is also always appreciated.
Hmmm I guess sprite/tilebased games screenshots, and possibly hand drawn stuff. There is also that test image from the HQ2x page: https://upload.wikimedia.org/wikipedia/commons/c/cb/Test_nn.png
 
But in the back of my brain I'm remembering a not-patent sort of thing that you can still put in saying "I made this, if anyone else makes this this is an official record that I made it first" but I may have just made that up in some drunken wishful thinking.
In France, I was told that you could send a sealed letter to yourself with details about your invention inside. The stamp of the post-office had enough legal value to prove that the date of the letter. I'm not sure if that would really work though.
 
But in the back of my brain I'm remembering a not-patent sort of thing that you can still put in saying "I made this, if anyone else makes this this is an official record that I made it first" but I may have just made that up in some drunken wishful thinking.
In France, I was told that you could send a sealed letter to yourself with details about your invention inside. The stamp of the post-office had enough legal value to prove that the date of the letter. I'm not sure if that would really work though.
Hi :)

@ ElPoco: you're right, this is called the "enveloppe Soleau".

@ _wb_ : the "enveloppe i-DEPOT" works in a similar way in Belgium ;)

Cheers, Magic Sam
This is supposedly acceptable in the US as well.
 
This is supposedly acceptable in the US as well.
That's for copyright, and it doesn't guarantee anything. Someone could still steal the idea, register it themself, and make it very difficult for you to sue them over it.For patent protection I think the only recourse is to patent it yourself first, or make the invention so ubiquitous that no one can claim they didn't know it was already a thing.
 
My workshop has a patent in 36 countries and it's bloody expensive (although we're not making that much money with it compared to any big players), especcially the German patent, it's probably not as bad when it comes to software since you may not have to file it in every country seperately but I have no idea.

If there is a way to protect your stuff without throwing a few thousand dollars into it on a regular basis, then use it.
 
Last edited by a moderator:
Before I make claims about being 'universal', I want to try some more kinds of images
How does it handle greyscale? Just a single 16bit "colour"?What is the effect on 1D images? Just a line of varying dots?What about combined? How does it work with a sequence of 16bit signed integers?Basically I'm asking if it can handle audio in a similar way or if the degradation just doesn't work the same.Even if it doesn't degrade at all, it may still beat out FLAC in terms of ratio and speed?
It handles greyscale images fine. 1D 'images' I haven't tried yet, but my guess would be that it degrades quite a bit, since exploiting the 2D nature of images is quite central to the pixel estimation. Interesting border case to test though...
 
Some more benchmark results:

Christoph.Krn's GUIhints:

compression-guihints.png


Random images with transparency:

compression-transp.png


The game graphics of Braid:

compression-game_braid.png


Medical images:

compression-lukas_medical.png


Line drawings: (diagrams etc, mostly black & white)

compression-bw_drawing.png


Photographs:

compression-kodak.png


Sparse color images:

compression-Niels_Froehling_sparse.png


Maps:

compression-maps.png


Everything together:

compression-all.png
 
Back
Top