FlashPix


FlashPix is a bitmapped computer graphics file format where the image is saved in more than one resolution. Its design anticipated that when an HTTP request is sent for the file by a browser plugin implementing the format, only the image compatible with the current screen resolution is returned to the browser, saving on bandwidth and download time.

History

FlashPix is based on the IVUE file format, the tiled/multi-resolution image file format that was used by the Live Picture software.
In 1995, a consortium of Eastman Kodak, Microsoft, Hewlett-Packard, and Live Picture Inc were looking for a powerful image file solution, and Live Picture's solution was the best approach for handling large image files.

Technical Overview

FlashPix files have the.fpx file extension. FlashPix uses Microsoft's structured storage format which stores hierarchical data in a single file.
Each image is stored with its sub-resolutions. Each resolution is divided by 2, until the entire image can fit in a single tile. Tile size is variable, but the default usage is to have 64 x 64 pixel tiles. Each tile can be compressed independently of other tiles using various algorithms. Each pixel can have any number of channels of any size, interleaved or not. Including Alpha channel.
The result is a file bigger than the original, but never more than 33% bigger. It allows efficient access to only the needed parts of the image without having to read the entire file.
For a 10200 x 7650 16-bit CMYK image using 64 x 64 tiles, as a normal uncompressed image would occupy 595 MB of disk space. FlashPix, however, will store:
Total size: ~ 793 MB
A viewer will access only the needed part. In the worst case, for a 1680 x 1050 display, 53 x 33 tiles are needed in memory, whatever portion of the image is being used.

Availability

A Flashpix OpenSource Toolkit is provided by ImageMagick. This code is mostly provided by Digital Imaging Group Inc and the Eastman Kodak Company in 1999, under a license similar to Apache License 1.0. Some code is adapted from IVUE code, and it also includes its own JPEG library by HP.