Slashdot Mirror


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.

18 of 311 comments (clear)

  1. GPLv3 - the kiss of death by Anonymous Coward · · Score: 4, Insightful

    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...

    1. Re:GPLv3 - the kiss of death by Anonymous Coward · · Score: 3, Insightful

      Yeah, doesn't this require that all software that supports the format needs to be released as GPLv3 as well?

      Who's bright idea was that?

    2. Re:GPLv3 - the kiss of death by Etcetera · · Score: 2, Insightful

      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...

      Yeah, I was just about to say this. Why in God's name would one put a library like this in v3? I suppose I should be happy they made a library at all instead of just "creating an app", but this will be nothing more than a science project.

    3. Re:GPLv3 - the kiss of death by morcego · · Score: 4, Insightful

      Yeah, doesn't this require that all software that supports the format needs to be released as GPLv3 as well?

      Who's bright idea was that?

      The reference implementation is under GPLv3. Everyone is of course still free to create their own implementation and license it under whichever license they want.

      Isn't that exactly the kind of thing that free software was supposed to avoid? Having to reinvent the wheel because some nitwit had it locked on copyright?

      --
      morcego
    4. Re:GPLv3 - the kiss of death by Anonymous Coward · · Score: 2, Insightful

      Great, so it was just announced and it already needs to be re-engineered independently or the implementation forked and re-released to be usable for most.

      This is why we can't have nice things.

    5. Re:GPLv3 - the kiss of death by Kjella · · Score: 3, Insightful

      The reference implementation is under GPLv3. Everyone is of course still free to create their own implementation and license it under whichever license they want.

      And any time the reference implementation changes you have to alter your implementation in a non-copyright infringing way. That is a lot harder than it sounds because any time you get a little bit lazy and copy-paste, literally or practically your implementation is now legally fishy. Creating the clean room implementation and paper trail proving you've actually come up with your code independently is actually a lot worse when there is available source code than when it's not. Did you see how much shit Oracle managed to stir up over a few Java interface definitions and trivial bits of code? No company with a sane legal department is going to touch this with a ten foot pole.

      --
      Live today, because you never know what tomorrow brings
    6. Re:GPLv3 - the kiss of death by CastrTroy · · Score: 3, Insightful

      The GPL says nothing about users of the software. It only has restrictions as far as how the source must be handled when distributing the software. If you're just using the software, there's nothing in the GPL that has any effect on you. If you make modifications to the source code, and want to distribute those modifications (as compiled binaries or as source code) then you need to start adhering to the GPL. This means it doesn't really apply to most users, because most of them lack the skills necessary to make any modifications to the source code. The best they could do is pay somebody else to make the modifications they need.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    7. Re:GPLv3 - the kiss of death by Dutch+Gun · · Score: 3, Insightful

      The reference implementation is under GPLv3. Everyone is of course still free to create their own implementation and license it under whichever license they want.

      Which, I'm betting, no one will care to do. Even when there is a permissive license, it's still incredibly difficult for a new file format to gain any traction. Think about how many years it took for PNG to take root with decent support in graphics tools and browsers.

      If the ultimate goal is to promote this file format, this is not the best way of doing it. Apparently, keeping the software they wrote as FOSS/GPL is more important to the authors than broad adoption. That's fine, but just don't expect the rest of the world to come rushing to adopt this format. Sadly, it's probably going to be ignored, even if it's technically superior to PNG as claimed.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    8. Re: GPLv3 - the kiss of death by kthreadd · · Score: 3, Insightful

      Users that lack the ability to change the software themselves can of course ask someone else to do it for them, either for free or for compensation. This is not at all the case with proprietary software. The vendor may of course choose to change the software for you but you have no such guarantees. Microsoft is not going to make fundamental changes to Windows or most of their other products if you ask them. With free software you are not locked in to the original vendor, you can ask anyone else to do changes for you.

    9. Re:GPLv3 - the kiss of death by ClickOnThis · · Score: 4, Insightful

      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.

      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.

      --
      If it weren't for deadlines, nothing would be late.
    10. Re:GPLv3 - the kiss of death by Citizen+of+Earth · · Score: 3, Insightful

      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.

      In this case, the conditions mean that this format is DOA, so we can safely ignore it and get on with our lives.

    11. Re: GPLv3 - the kiss of death by Anonymous Coward · · Score: 3, Insightful

      Anytime anyone wants to bring in a new library, the first question is what license is it under. GPL3 means toss it, even for internal projects. There is no GPL3 code in anything I've touched because it's a "legal" virus.

    12. Re:GPLv3 - the kiss of death by gbjbaanb · · Score: 2, Insightful

      Well, this means no users will be using the software because Microsoft will not be able to bundle it in Windows as a native format (not without releasing the source code of Windows).

      This is the part where the GPL becomes problematic - while I think releasing the software that relates to the open source project is perfectly agreeable, making it apply to every other bit of software its linked to is not.

  2. Re:vs TIFF files? by QuasiSteve · · Score: 4, Insightful

    In lossless compression, it beats TIFF hands-down for the mainstream compression methods (packbits, LZW, ZIP). You can use pretty much whatever compression you want in a TIFF file (it's more of a container format than an encoding definition), but given how well FLIF compresses vs other image compression methods, it's pretty good.

    The progressive loading is also superior to TIFF, which generally don't use progressive at all. I'm not sure how much this matters, though, as their example of using it for responsive design assumes that the graphic at lower resolutions 'as is' gives an acceptable enough result to replace current solutions that serve a different resolution image that may well have been specifically tuned for a given resolution/bandwidth. JPG already has similar progressive loading, and I don't know of any browser that will halt a JPG download after the Nth iteration deeming it 'good enough'.

    It also apparently has animation support, which may be better than APNG and MNG and others. For now GIF still seems to rule the animated image domain, despite its many shortcomings (imgur's faked-out video -> gif -> mp4-served-via-html-named-gifv doesn't count).

    On most other fronts, though, it seems TIFF (and other formats) may be superior. A rather big one is that it doesn't yet support metadata. Another big one for the graphics industry would be lack of CMYk and other color spaces.

    It also seems to support 'only' 16 bits per channel. There's a variety of 32bpc encodings for TIFF (straight, LogLUV, etc) and I do hope that it's just an arbitrary limit such that the work done in FLIF could conceivably be added to formats like OpenEXR.

    That would also largely take care of concerns like the lack of additional channels, layers, etc. that can be presented in TIFF. This would make OpenEXR the container format and FLIF the encoding (or, at least, the compression).

    That would still place it squarely in the interest of those dealing with graphics (a very fast decode of the progressive version used when framescrubbing, then loading the full 10k plate when paused for a bit, for example), and not so much the average consumer.

    For consumer adoption, it would need broad support among browsers (lack of webp support means that hasn't particularly taken off), from digital imaging device manufacturers (you're more likely to upload 'a FLIF file' if that's what rolled out of the camera / got written to the SD card to begin with) and in common software (but that tends to follow from the other two).

  3. Great. by SuricouRaven · · Score: 2, Insightful

    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.

  4. CPU? Memory? by Anonymous Coward · · Score: 5, Insightful

    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.

  5. Re:No real place for it by Anonymous Coward · · Score: 5, Insightful

    You're out of touch with half of the world. Bandwidth is extremely expensive and unreliable. The most popular browser in India simply doesn't load images, unless you explicitly click on them. Efficient progressive image formats would be great in those markets.

    And if you told Google you could use half or less of the storage space for all images all of a sudden of course they would take you up on it. Storage is cheap, but definitely not free.

  6. $5 to $15 per GB by tepples · · Score: 4, Insightful

    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.