Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

SPIFF, Still Picture Interchange File Format

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name ISO/IEC 10918-3:1994, Annex F. Still Picture Interchange File Format (SPIFF).

File format that enables JPEG and other bitstreams to be exchanged between a wide variety of platforms and applications. According to the specification, SPIFF "is designed to incorporate functionality found in some (ad hoc) image file formats (such as JFIF) . . . . it is intended that transcoding between any of these file formats and SPIFF should be simple." (p. 39) For JPEG encodings, JFIF_1_02 is more widely adopted.

Non-JPEG picture data types that may be wrapped by SPIFF are listed in the Relationships in this description. Regarding uncompressed image data, the specification states that it "is stored in component interleaved format, encoded at BPS [bits per sample] per sample. When BPS is not 8, sample values shall be packed into bytes so that no bits are unused between samples."

Production phase May be used in initial-state picture creation; more likely used for middle- and final-state archiving or end-user delivery.
Relationship to other formats
    May contain JPEG, JPEG Image Encoding Family
    May contain JPEG_DCT_BL, JPEG DCT Compression Encoding, Baseline
    May contain JPEG_DCT_PRG, JPEG DCT Compression Encoding, Progressive
    May contain JPEG_EXT, JPEG Compression Encoding, Extensions
    May contain JTIP, JPEG Tiled Image Pyramid Format, not described at this Web site at this time
    May contain JPEG_orig_LL, JPEG Original Lossless Compression (ISO/IEC 10918)
    May contain JPEG-LS, JPEG Lossless Compression (ISO/IEC 14495)
    May contain JBIG1 or JBIG2 Bitonal Image Encoding, not described at this Web site at this time
    May contain JBIG1 Bitonal Image Encoding, not described at this Web site at this time
    May contain Uncompressed picture data stored in component interleaved format.
    May contain MH (Modified Huffman), MR (Modified READ) and MMR (Modified Modified READ) compression, not documented at this Web site; MMR is used by ITU_G4 ITU-T "Group 4" FAX Compression (T.6)

Local use Explanation of format description terms

LC experience or existing holdings See JPEG
LC preference See JPEG

Sustainability factors Explanation of format description terms

Disclosure Fully disclosed. Developed by the Joint Photographic Experts Group (JPEG), formally known as ISO/IEC JTC 1/SC 29/WG 10.
    Documentation ISO/IEC 10918-3:1997/Amd 1:1999, Annex F. Also published as ITU-T Rec. T.84:1996, with Amd 1 1999.
Adoption Appears not to be widely adopted; most producers create JFIF_1_02 files, which conform to the general file interchange specifications in ISO/IEC 10918-1:1994.
    Licensing and patents None on the file format; see JPEG for patent claims on JPEG encoding.
Transparency Transparent.
Self-documentation Limited techical metadata is provided in a file header (specification pp. 41-45). For example, the BPS elements documents Bits Per Sample, while the C element uses these codes: 0=uncompressed, 1=modified Huffman, 2=modified Read, 3=modified modified Read, 4=JBIG, and 5=JPEG (apparently any encoding from parts 1 or 3 of ISO/IEC 10918-1 and -3). The specification also lists a set of descriptive-data tags (e.g., title, creator, copyright, etc.) in a discussion of directory entries. (pp. 45 ff.) See also the useful explanations in the SPIFF article from the Encyclopedia of Graphics File Formats.
External dependencies None.
Technical protection considerations None.

Quality and functionality factors Explanation of format description terms

Still Image
Normal rendering Good support. The maximum image size is 4Gx4G pixels or 64Kx64K pixels for non-tiled baseline JPEG.
Clarity (high image resolution)

Depends on the encoding of the image data; see encoding types listed under Relationships in the Identification and description segment of this description. In contrast to JFIF_1_02, SPIFF marks its files with the image's gamma value, a valuable fact when the data is interpreted for display or other output.

SPIFF also supports the following forms of non-JPEG compression: MH, MR, MMR, and JBIG, as well as uncompressed. The compilers of this Web site have not yet investigated the clarity issues associated with the four compression encodings.

Color maintenance The header does not support the recording of an ICC profile for the capture device. The header can contain a code for color spaces, including bi-level, three YCbCr spaces associated with ITU-T specifications BT 709 and BT 601-1, grayscale, PhotoYCC, RGB, CMY, CMYK, YCCK, and CIELab (specification, p. 44); the list does not include sRGB. 1
Support for vector graphics, including graphic effects and typography No support for vector graphics.
Support for multispectral bands Not investigated for this description.
Functionality beyond normal rendering Can store thumbnails along with a larger image.

File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension jpg
From the SPIFF article in the Encyclopedia of Graphics File Formats: "The SPIFF specification does not define a standard file extension . . . for SPIFF files. IJG [Independent JPEG Group] recommends that the extension ".JPG" . . . be used for SPIFF files containing lossy (DCT) JPEG-compressed data." 2
Filename extension spf
From the SPIFF article in the Encyclopedia of Graphics File Formats: "IJG recommends that the extension . . . ".SPF" be used for all [non-JPEG] variants of SPIFF. (Of course, the JBIG community might prefer a ".JBG" extension for SPIFF-JBIG files.)" Meanwhile, the File Extension Source (as consulted in February 2007), in an "unverified" entry, offers the extension spiff.
Filename extension jls
For JPEG-LS files, according to ISO/IEC 14495-1 and PRONOM (see PUID: fmt/150).
Internet Media Type image/jpeg
From the SPIFF article in the Encyclopedia of Graphics File Formats: "IJG recommends that . . . 'JPEG' type indicator be used for SPIFF files containing lossy (DCT) JPEG-compressed data."
Magic numbers Hex: FF D8 FF E8 xx xx 53 50 49 46 46 00
The 0xFF 0xD8 part of the string is universal to all JPEG encoded bitstreams; the remainder of the string is wrapper specific. The ASCII rendering is from Gary Kessler's File Signatures Table.
Pronom PUID fmt/112 (v.1) and fmt/113 (v.2)
See and Both records are outline only.
Wikidata Title ID Q26385770

Notes Explanation of format description terms


Paraphrased from Murray and Vanryper's Encylopedia of Graphics File Formats (O'Reilly and Assoc, 1994, ISBN 1565920589): The JPEG bitstream stores 16-bit word values in big-endian format. JPEG data in general is stored as a stream of blocks, and each block is identified by a marker value. The first two bytes of every JPEG stream are the Start Of Image (SOI) marker values FFh D8h. In a JFIF-compliant file there is a JFIF APP0 (Application) marker, immediately following the SOI, which consists of the marker code values FFh E0h and the characters JFIF in the marker data, as described in the next section. In addition to the JFIF marker segment, there may be one or more optional JFIF extension marker segments, followed by the actual image data.


Format specifications Explanation of format description terms

Useful references


Books, articles, etc.

1The color space sRGB, standardized as IEC 61966-2-1, establishes an image viewing environment with a known color temperature (6500 degrees Kelvin) and gamma (2.2), thus increasing the user's ability to maintain color when compared to unqualified RGB.

2The Encyclopedia continues, "The file extension .JPG is already commonly used for JFIF-format JPEG files. However, properly written JFIF-compatible software should read SPIFF-JPEG files without difficulty. The SPIFF format has been carefully designed to make this possible by defining the magic numbers and length fields to make the SPIFF header look like a series of JPEG APPn markers, which old JPEG decoders will just ignore."

Last Updated: Thursday, 16-Feb-2017 09:30:04 EST