Jump to content

FlashPix

From Wikipedia, the free encyclopedia
FlashPix
Filename extension
.fpx
Internet media type
image/vnd.fpx
Type of formatbitmap image file
Extended fromIVUE, Compound File Binary Format
Open format?Yes (Apache 1.0-like)

FlashPix is a bitmapped computer graphics file format where the image is saved in more than one resolution.[1] 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,[dubiousdiscuss] saving on bandwidth and download time.[2]

History

[edit]

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 (PhotoCD), 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

[edit]

FlashPix files have the .fpx file extension. FlashPix uses Microsoft's structured storage format,[3] 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 × 64 pixel tiles (IVUE was using 256 × 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 × 7650 16-bit CMYK image using 64 × 64 tiles, as a normal uncompressed image would occupy 595 MB of disk space. FlashPix, however, will store:

  • The original image: 10200 × 7650 pixels in 160 × 120 tiles (~595 MB, but usually less using RLE or LZH per-tile)
  • Sub-resolution 1: 5100 × 3825 pixels in 80 × 60 tiles (~149 MB)
  • Sub-resolution 2: 2550 × 1913 pixels in 40 × 30 tiles (~37 MB)
  • Sub-resolution 3: 1275 × 957 pixels in 20 × 15 tiles (~9 MB)
  • Sub-resolution 4: 638 × 479 pixels in 10 × 8 tiles (~2.3 MB)
  • Sub-resolution 5: 319 × 240 pixels in 5 × 4 tiles (~598 KB)
  • Sub-resolution 6: 160 × 120 pixels in 3 × 2 tiles (~150 KB)
  • Sub-resolution 7: 80 × 60 pixels in 2 × 1 tiles (~37.5 KB)
  • Sub-resolution 8: 40 × 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 × 1050 display, 53 × 33 tiles (56 MB) are needed in memory, whatever portion of the image is being used.

Availability

[edit]

A Flashpix OpenSource Toolkit (libfpx) is provided by ImageMagick. 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.[4]

References

[edit]
  1. ^ "FlashPix Format Specification" (PDF).
  2. ^ "TechWeb: TechEncyclopedia". TechWeb. September 1, 2006. Archived from the original on June 9, 2015. Retrieved September 1, 2006.
  3. ^ "AI3A Standards - Initiatives- Flashpix". International Imaging Industry Association. September 1, 2006. Archived from the original on April 26, 2008.
  4. ^ "ImageMagick/libfpx". ImageMagick Studio LLC. 19 September 2019. license