FlashPix is a
bitmap
In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array or bitmap index.
As a noun, the term "bitmap" is very often used to refer to a particular bitmapping application: th ...
ped
computer graphics
Computer graphics deals with generating images with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, cell phone and computer displays, and many specialized applications. A great deal ...
file format where the image is saved in more than one
resolution. Its design anticipated that when an
HTTP request
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, w ...
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 (
Live Picture Inc).
In 1995, a
consortium of
Eastman Kodak
The Eastman Kodak Company (referred to simply as Kodak ) is an American public company that produces various products related to its historic basis in analogue photography. The company is headquartered in Rochester, New York, and is incorpor ...
(PhotoCD),
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
,
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
A filename extension, file name extension or file extension is a suffix to the name of a computer file (e.g., .txt, .docx, .md). The extension indicates a characteristic of the file contents or its intended use. A filename extension is typically ...
. FlashPix uses Microsoft's
structured storage
Structuring, also known as smurfing in banking jargon, is the practice of executing financial transactions such as making bank deposits in a specific pattern, calculated to avoid triggering financial institutions to file reports required by law ...
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 (IVUE was using 256 x 256 pixels). Each tile can be compressed independently of other tiles using various algorithms (LZH, JPEG, RLE). Each pixel can have any number of channels of any size (for instance a 16-bit CMYK image), interleaved or not. Including Alpha channel.
The result is a file bigger than the original (at the same compression), 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:
* The original image: 10200 x 7650 pixels in 160 x 120 tiles (~ 595 MB, but usually less using RLE or LZH per-tile)
* Sub-resolution 1: 5100 x 3825 pixels in 80 x 60 tiles (~ 149 MB)
* Sub-resolution 2: 2550 x 1913 pixels in 40 x 30 tiles (~ 37 MB)
* Sub-resolution 3: 1275 x 957 pixels in 20 x 15 tiles (~ 9 MB)
* Sub-resolution 4: 638 x 479 pixels in 10 x 8 tiles (~ 2.3 MB)
* Sub-resolution 5: 319 x 240 pixels in 5 x 4 tiles (~ 598 KB)
* Sub-resolution 6: 160 x 120 pixels in 3 x 2 tiles (~ 150 KB)
* Sub-resolution 7: 80 x 60 pixels in 2 x 1 tiles (~ 37.5 KB)
* Sub-resolution 8: 40 x 30 pixels in a single tile (~ 9 KB)
Total size: ~ 793 MB
A viewer (such as photo editing software) will access only the needed part. In the worst case, for a 1680 x 1050 display, 53 x 33 tiles (56 MB) are needed in memory, whatever portion of the image is being used.
Availability
A Flashpix OpenSource Toolkit (libfpx) is provided by
ImageMagick
ImageMagick, invoked from the command line as magick, is a free and open-source cross-platform software suite for displaying, creating, converting, modifying, and editing raster images. Created in 1987 by John Cristy, it can read and write ove ...
. This code is mostly provided by Digital Imaging Group Inc and the Eastman Kodak Company in 1999, under a license (flashpix.h) similar to
Apache License 1.0. Some code is adapted from IVUE code, and it also includes its own JPEG library by HP.
[license]
/ref>
References
{{Graphics file formats
Graphics file formats