Puneet Varma (Editor)

FlashPix

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Filename extension
  
.fpx

Extended from
  
IVUE

Type of format
  
bitmap image file

FlashPix is a bitmapped computer graphics file format where the image is saved in more than one resolution. Although this makes it larger even than a TIFF file of the same 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‹See TfD›, saving on bandwidth and download time.

Contents

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

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

    References

    FlashPix Wikipedia