Free Lossless Image Format
Filename extension |
.flif |
---|---|
Internet media type |
image/flif |
Uniform Type Identifier (UTI) | public.flif |
Magic number | FLIF |
Initial release | 3 October 2015[1] |
Latest release |
0.3 (28 April 2017[2]) |
Open format? | Yes |
Website |
flif |
Free Lossless Image Format (FLIF) is a lossless image format (current version FLIF16 specification) claiming to outperform PNG, lossless WebP, lossless BPG and lossless JPEG 2000 in terms of compression ratio on a variety of inputs.[3]
FLIF supports a form of progressive interlacing (a generalization of the Adam7 algorithm), which means that any partial download of a compressed file can be used as a reasonable lossy encoding of the entire image.
History
The format was initially announced publicly in September 2015,[4] with the first alpha release occurring about a month later, in October 2015.[1]
The first stable version of FLIF was released in September 2016.[5]
Design
For compression, FLIF uses MANIAC (Meta-Adaptive Near-zero Integer Arithmetic Coding), a variant of CABAC where the contexts are nodes of decision trees which are dynamically learned at encode time.
FLIF uses the reversible YCoCg color space (unlike Y′CBCR that loses a bit of color information, independently of its use in otherwise lossy JPEG). Not yet implemented are some features,[6] e.g. other "color spaces (CMYK, YCbCr, ...)". The color space conversion is faster, but the overall decoding (and encoding) is still slower than it needs to be, or some of the competition, even with the better color space as that is only a small fraction of the overall process. The format supports an optional alpha channel (RGBA) like PNG (but unlike JPEG); and progressive coding, similar to PNG (unlike it, progressive compression doesn't increase file-size), but as FLIF's algorithm is more complex (and partly, may not have had as much tuning of the implementation yet), it has a higher computational cost; at least lower bandwidth requirements can offset some of that extra time. Without the progressive coding, FLIF is faster, than otherwise.
FLIF has 1 to 16 bits per channel.
FLIF has some parameters, and can result in differently sized images, with tuning, or done by flifcrush
tool. All of those images are still lossless. FLYF (for lossY), is also considered, and that would be the file-ending; while both could describe either and ending just used to indicate.
References
- 1 2 "Release v0.1-alpha". FLIF-hub/FLIF. 2015-10-03.
- ↑ "Release v0.3". FLIF-hub/FLIF. 2017-06-07.
- ↑ "FLIF is a New Free Lossless Image Format That Raises the Compression Bar". PetaPixel. 2015-10-02. Retrieved 2016-10-20.
- ↑ "Free Lossless Image Format (FLIF)". 2015-09-06. Archived from the original on 2015-09-12.
- ↑ "Release v0.2". FLIF-hub/FLIF. 2016-09-22.
- ↑ https://github.com/FLIF-hub/FLIF/issues/258
External links
- Official website
- FLIF on GitHub
- PolyFLIF - A Javascript library to decode FLIF in browsers
- Free Lossless Image Format at Open Hub
- Phew - native macOS FLIF viewer