FLIF: Free Lossless Image Format
nickweller sends a link to an informational post about FLIF, the Free, Lossless Image Format. It claims to outperform PNG, lossless WebP, and other popular formats on any kind of image. "On photographs, PNG performs poorly while WebP, BPG and JPEG 2000 compress well (see plot on the left). On medical images, PNG and WebP perform relatively poorly while BPG and JPEG 2000 work well (see middle plot). On geographical maps, BPG and JPEG 2000 perform (extremely) poorly while while PNG and WebP work well (see plot on the right). In each of these three examples, FLIF performs well — even better than any of the others." FLIF uses progressive decoding to provide fully-formed lossy images from partial downloads in bandwidth-constrained situations. Best of all, FLIF is free software, released under the GNU GPLv3.
Using GPLv3 will all but ensure no corporate/enterprise support, thus leaving the older, less useful formats in place.
Sometimes zealots get in their own way...
And now for some Weissman Score jokes... :-)
Then patch my Nikon.
Thanks, frosty piss.
So I guess someone who works on FLIF images for a living will be known as a FLIFFer? Could be awkward.
I like GPL, but this format is not going to see wide adoption if it can't be used in non-GPL software. But it's good that it won't see wide adoption yet: "The format is not finalized yet. Any small or large change in the algorithm will most likely mean that FLIF files encoded with an older version will no longer be correctly decoded by a newer version."
http://xkcd.com/927/
Pretending this is my office full of bitter coworkers..
How well does it work relative to TIFF files?
I'm waiting to hear it from independent authorities.
Use it and never be able to sell your product. Or use it and get fired for being an idiot. Hurrah!
Great decisions in this format. I hope they nail down the spec and patch a web browser with its support. The responsive support is an awesome feature that makes this a big step forward.
Use it and never be able to sell your product. Or use it and get fired for being an idiot. Hurrah!
Almost 30 years ago a colleague of mine used a phrase, referring to the pre-L GPL licensing terms, that succinctly described this kine of "free":
"More expensive than money."
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
...another format I have to add support for in xv.
From the FLIF website:
That Pieter Wuille is known as "sipa" on GitHub; you can see his nascent FLIF work here. Pieter is one of the major contributors to the Bitcoin project, and he is a co-founder or early employee of Blockstream.
Gotta be BSD or die motherfuzzz!
There is further discussion and updates with the creator here:
https://boards.openpandora.org/topic/18485-free-lossless-image-format-flif/?page=1
Unless you wanted/intended to profit off of FLIF using locked hardware or DRM'd implementations, there shouldn't be any problem with the fact that its reference is GPLv3.
Won't replace JPEG2000 unless it allows arbitrary pan and zoom, which is that format's killer feature. That's the main benefit and use case. See, for example, NASA's HiRISE images, which are released as JP2 files... often larger than 1GB a piece. It means you can seek to the section of data you want to see, and the zoomlevel you want, without having to load the entire image into memory.
Did you even read the title of the article?
It's a lossless format, so the resulting image is the same pixel for pixel with the original.
No, that link you posted to a web comic we've all seen a hundred times is not "obligatory."
Um... https://en.wikipedia.org/wiki/...
nuff said
Now all we need to do is get image-makers to distribute in a format no-one can view, and software-writers to include support for a format that no-one ever encounters.
Thousands of existing software libraries support existing image formats. None of them support this new wonder format. There are perfectly usable 10+ yrs tools that work fine with image manipulation, creation, viewing, etc. that need no updates.
They could have at least made it 3 letters long. Geez. Fpfpfppppppt. And make it pronounceable.
Let's get this out of the way early. Ehould we pronounce it as "Flif" or "Eff Life"?
How much CPU time does it take to compress vs the others?
How much memory does it need to compress vs the others?
How much CPU and memory does it take to decompress vs the others?
Hard to say it's better without a complete picture.
They don't make any claims about how FLIF compares to PNG on screenshots... where PNG does really well.
FLAC
All your database are belong to U.S.
That doesnt sound right.
Kind'a hard to validate the results, not being able to find the test corpus. Couldn't find it a few years ago either when WebP was announced.
Captcha: deflate
wow.
NASA might be interested in it for transmitting data back from its deep space probes (New Horizons is gonna take a year to transmit back all the pictures it took). Likewise, someone might implement it as a way to reduce bandwidth when browsing the web over expensive satellite data connections while at sea. Those are the only use cases I can think of where low bandwidth still matters.
To add "rangecoder" implementation (as used in 7z) to PNG (and JPEG) compresses a little bit better, to suppose 20% improvement.
The "deflate" algorithm is obsolete due to "rangecoder" that is a kind of arithmetic coder but better in software speed.
Digital Negative was originated by an Evil Corporation(TM), but Adobe insists that they want to keep the format open and IP-free. It has been submitted to ISO a s a standard, basically TIFF with room for the rich metadata that photographers crave: https://en.wikipedia.org/wiki/...
I will give up my DNG when you pry the cold dead platters of my drawerful of external backup from around it.
"FLIF ... is not encumbered by software patents." I wonder what they mean by this. Maybe that the authors have not applied for patents or, as far as they know, FLIF does not infringe on any patents? Regardless, anyone at any time can make a patent claim. Unless someone with big pockets provides patent indemnification, there is no guaranteed that FLIF won't be challenged in the future.
First, I fail to understand why all of the other comments so far don't seem to understand why a lossless format with a compression that's as good as jpg would be valuable. That would be a valuable thing to have, so shut up.
Nevertheless, I have just now downloaded the source code and tried it ... briefly. With the PNG I tried it with, I did indeed get a FLIF file that was as small as the JPG I got if I tried converting my PNG to JPG with ImageMagick. Very good.
On the other hand, I don't understand the "lossless" claim, because when I used flif to convert the FLIF test image back to a PNG, and then used ImageMagick's 'compare' program to compare it to the original, it seemed to find significant differences between the two at a pixel level. Mind you, the images *looked* fine, so perhaps there was something wrong with my quick test.
wow this is impressive. the fact that even every little bit (which takes time to load thru the pipes) will make the WHOLE image sharper until complete is a BIG deal. ... every is blurred when going fast but still decernable as a tree or house even if you cannot read the house number. ..uhm ..errr .. more crispy ^_^
it is a element of the "fluid" web, that is it could allow to "surf" thru the web like when driving
of course this would need different website that link to each other (big no-n0 since they would steal ad-verstisment money) to have show a "hole" or "mini" version of the linked-to website (grafics and all) instead of just a blue-underlined link.
pretty awesome.
also i assime it could be used in VR (virtualreality) to render peripheral images which the human cannot focus on but still register? what'ts the use in crisply rendering a pheripheral zombie if the human eye cannot focus it but has to LOOK at it directly. if the peripheral blury zombie is already in memory buffer and the player decides to use his EYES in the VR headset to focus on it, then only more bandwidth (more of the zombie) needs to be sent to make the zombie
"progressive is cool(tm)"
THANKS!
The GPL does not prevent you from learning from the source code to implement a compatible version under a different license.
That depends on the outcome of the forthcoming fair use defense phase of Oracle v. Google.
Is it pronounced with a short or long i?
-
From the paragraph on that page recommending a permissive license: "Some libraries implement free standards that are competing against restricted standards". Against which restricted standard for lossless image coding is FLIF competing?
If none, then it goes on to state: For libraries that provide specialized facilities, and which do not face entrenched noncopylefted or nonfree competition, we recommend using the plain GNU GPL." So the question is one of whether FLIF "provide[s] specialized facilities".
In anything where there's a spec and a reference implementation, often the reference implementation is a de-facto spec. Where there's something vague in the spec, you look to the reference implementation for the missing details.
Or, where the spec allows a wide range of interpretations:"The header shall include a unique identifier from 1-100 octets long." with complex interdependencies:"The header end pointer shall be a 4 bit field indicating the position of the final octet of the header in multiples of 4 octets."
This happens a lot on "home grown specs" that sort of evolve, and haven't been through multiple implementations and reviews. Most standards bodies won't accept a standard if there's only been one implementation of the standard. They want to see at least two independent implementations, for just this reason.
The initial draft of a standard often has a reference implementation to help with this sort of ambiguity.The reference implementation is "it had darn well better be a multiple of 4, and not greater than 64, because something else in the spec is inconsistent if you don't do that", and may even have comments embedded to that effect (unless the implementation author is one of those "the code speaks for itself, I eschew comments" people).
Nikon cameras produce raw images in NEF format. Couldn't you just patch your NEF to PNG converter to support NEF to FLIF as well?
Unless you're basing a business model on distributing to people with Internet connections not suited for gigabyte transfers, such as dial-up, ISDN, satellite, or cellular, what will make users choose your distribution for a fee over someone else's distribution without charge?
Did you even read the title of the article?
It's a lossless format
It's designed to be "progressive". This means the prefix of any lossless file is a lossy file. In fact, the more graceful degradation of truncated progressive FLIF compared to truncated progressive PNG is touted as an advantage over PNG.
I thought we put image formats to bed in the 90's. Hell, it feels like png is just barely starting to be used by reputable companies even though browsers have supported it for a while. It also seems like we still don't have a viable replacement for animated GIFs either, even though png was supposed to take care of that as well. I suppose even if this image format is wildly successful by those standards, I'll just about be ready to retire by the time we start seeing it in widespread use.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
It supports setting the zoom level through its progressive encoding: a prefix of the lossless FLIF bitstream can be interpreted as a low-res FLIF. As for pan, a set of FLIFs in an array (as with the "Click and Drag" xkcd comic or any Internet mapping program) could fix that.
Bandwidth and storage space are cheap.
Bandwidth is not cheap. Cellular and satellite Internet tend to cost $5 to $15 per GB.
Nor is storage space cheap, especially with the premium for a 64 GB phone over a 16 GB one. Also servers, as Anonymous Coward mentioned in #50646339.
If bandwidth doesn't matter, why not encourage everyone to use BMP files instead of JPEG.
Why use video codecs? Do you know how large an uncompressed video or mp3 is? They are gigantic.
If bandwidth doesn't matter, why do people use ad blocks to stop Flash ads that stream tons of video and audio.
You comment was dumb.
I've a new idea, to put lossy image JPEG-rangecoded (10% of total size) inside of lossless image PNG-rangecoded (90% of total size) for progressive decoding.
And this final combination is lossless although there is smallest lossy image inside.
Interesting note an earlier graphics file format named Progressive Graphics File seems to aim for similar goals as FLIF
And supports ROI as mentioned on PGF's wikipedia page:
"ROI extraction: Since version 5, PGF supports extraction of regions of interest (ROI) without decoding the whole image."
https://en.wikipedia.org/wiki/Progressive_Graphics_File#Comparison_with_other_file_formats
https://en.wikipedia.org/wiki/Region_of_interest
Websites with information about the Progressive Graphics File format:
https://en.wikipedia.org/wiki/Progressive_Graphics_File
http://www.xeraina.ch/pgf/
http://www.xeraina.ch/download/pgf_facts.pdf
http://www.libpgf.org/
Sounds solid, just don't slap a GPLv3 license on it, and maybe it gets used in our lifetime.
Great, so it was just announced and it already needs to be re-engineered independently
You're getting it for free, with conditions. Conditions that you (or someone else) can work around. If you don't like the conditions, go create your own format.
... with blackjack and hookers? :)
So it's free with conditions, instead of just free (like BSD). ;)
This is why we can't have nice things.
Freedom is a nice thing, and the GPL gives it to you, provided you don't prevent others from enjoying the same freedom you get from the GPL.
Is it really freedom if you're forced to do certain things (like share changes)?
(Ah, the eternal debate. :)
A library should be licenced under the LGPL, not the GPL. Using the full GPL makes it really hard to even use the library as part of another program, even if you're not modifying the library itself.
it took 15 years for .png to be properly supported by all major browsers. nobody is going to bother with this at all.
Snowden and Manning are heroes.
Now I have the mental image of RMS being eviscerated while yelling, "FREEDOM!!!"
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
That's one of the concepts suggested in the MNG specification.
I like how the web site insists that the format is a work in progress, and future versions may not actually load images created with the current implementation.
Unlike document formats, media formats rarely evolve over time. For a media format not to be production ready means it's currently worthless. Be prepared to wait a few years to use a format that will never be widely adopted. Nice.
Yet another image format to support.
Also, JPEG2000 is dead and buried
It certainly isn't dead. Jpeg 2000 is the standard format used in DCPs. All the movies in all the theaters have their picture track encoded with jpeg2K (in an MXF container).
Boy, that's some great hacking.
Watched the link content (the fish). This has some very neat ideas to make pages render a lot faster and with better quality.
We could even have a global setting for low quality, just like when those image compressing proxies are used, to get a much faster browsing experience and still have a good picture experience.
Very bright idea, IMHO. I think we have programming award-level material here...
For animations.
Escher was the first MC and Giger invented the HR department.
Unlike a land line, my cell phone rings pretty much wherever I am, since it's always on me.
So if "[e]ven when there is a permissive license, it's still incredibly difficult for a new file format to gain any traction" then there there would seem to be nothing lost by licensing the reference implementation under the GNU GPLv3 despite your vague claim that the GPL hinders "broad adoption". You say "If the ultimate goal is to promote this file format, this is not the best way of doing it" but you say nothing about what "the best way" is or what constitutes "best".
"FOSS" means free and open source software, software released under a license approved of by both the Free Software Foundation and the Open Source Initiative; there are many other such licenses. It's unclear what you mean by "FOSS/GPL" as being somehow distinct from the "GPL" (meaning the GNU General Public License), a term used for decades which requires no qualification. Perhaps you're confused by the term "GNU/Linux" which is the GNU operating system in combination with the Linux kernel (as opposed to, GNU/HURD or GNU/kFreeBSD, to name a couple of examples, which are the GNU OS with the HURD or FreeBSD kernels respectively).
For being moderated as insightful I see a self-contraction, unclear use of confused terminology, and a complaint hinting that something far better should be done without any explanation of what that is.
Digital Citizen
Another image standard... hopefully Microsoft won't drop the ball on this one like they did with png over and over.
Non sequitur: Your facts are uncoordinated.
Corporations can pay the authors to use the software with a different license. Duh!
If it wasn't clear by reading between the lines, I consider a permissive license (like zlib, libPNG, BSD, etc) more suitable than GPLv3 for a reference library if your goal is to ensure broad, industry-wide adoption of a new file format. My assumption is that very few people or organizations will be interested in writing their own library from scratch simply to adopt someone's new file format. Your reasoning seems to be "if it's already difficult, why not make it more difficult still?" which seems a strange argument to make.
That the GPLv3 license hinders broad adoption should be self-evident, as the license specifically prohibits use of the code in non GPL projects. That hardly seems like a "vague claim". That's a simple fact. Perhaps you should read Richard Stallman's very pragmatic view on this matter, as I agree with his reasoning here.
As for the FOSS/GPLv3 thing... The GPLv3 is the most well-known copyleft FOSS license, which means that if you use that license, any FOSS software you release is guaranteed to remain as FOSS-only code. I admittedly could have worded that better.
Irony: Agile development has too much intertia to be abandoned now.
> Why would anyone do that instead of using HTTP Accept headers?
Because only stupid browsers wil say "Accept: */*" and then vomit all over the desktop/tablet/phone/gadget du jour when a FLIF indeed comes?
And there's no such thing as a stupid browser?
Always remember: browser == marketing == ?
The question is why anyone would want non-free software.
I have carried on some preliminary tests over 1506 real-world medical images in the DICOM format. The results are available on Twitter [1]. The mean reduction of the file size is about 7% (the same holds for the median). About 90% of the FLIF files were smaller than their JPEG2k equivalent, but 10% were bigger. The best "FLIF vs. JPEG2k" compression ration was 68%, the worst was 128%.
I will try and check with more files in the future: For the moment, I have only played with 5 series of images from the OsiriX public datasets (BRAINIX, INCISIX, KNIX, PHENIX and VIX) [2]. Nevertheless, the results seem quite promising to me, especially if the FLIF algorithm is easier to implement than JPEG2k (is it the case?) and if no patent exists.
[1] https://twitter.com/sjodogne/status/650289804438061056
[2] http://www.osirix-viewer.com/datasets/
Requiescat In Pace, FLIF.
Troll 2.0 Fear my asocial networking!
No, reference implementation changes do not mean all implementations have to change. Only format changes mean all implementations have to change.
Bingo Dictionary - Pragmatist, n. A myopic idealist.