|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
|Full name||ISO/IEC 10918-3:1994, Annex F. Still Picture Interchange File Format (SPIFF).|
|Description||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; often 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)|
|LC experience or existing holdings||See JPEG|
|LC preference||See JPEG|
|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.|
|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.|
|Technical protection considerations||None.|
|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.|
|Filename extension||jpg, jpeg
||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, spiff
||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.|
||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.|
|General||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.|
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."