The JPEG File Interchange Format (JFIF) is an image file format standard published as ITU-T Recommendation T.871 and ISO/IEC 10918-5. It defines supplementary specifications for the container format that contains the image data encoded with the JPEG algorithm. The base specifications for a JPEG container format are defined in Annex B of the JPEG standard, known as JPEG Interchange Format (JIF). JFIF builds over JIF to solve some of JIF's limitations, including unnecessary complexity, component sample registration, resolution, aspect ratio, and color space. Because JFIF is not the original JPG standard, one might expect another MIME type. However, it is still registered as "image/jpeg" (indicating its primary data format rather than the amended information).
JFIF is mutually incompatible with the newer Exchangeable image file format (Exif).
Purpose
JFIF defines a number of details that are left unspecified by the JPEG Part 1 standard (ISO/IEC 10918-1, ITU-T Recommendation T.81.)
Component sample registration
JPEG allows multiple components (such as Y, Cb, and Cr) to have different resolutions, but it does not define how those differing sample arrays (which render bitmaps) should be aligned. This pixel-producing information is rendered with the expectation of indicating rectangles by their centroid, rather than being pixel data directly, or being 'first corner and flood', etc. which is uncommon.
Resolution and aspect ratio
The JPEG standard does not include any method of coding the resolution or aspect ratio of an image. JFIF provides resolution or aspect ratio information using an application segment extension to JPEG. It uses Application Segment #0, with a segment header consisting of the null-terminated string spelling "JFIF" in ASCII followed by a byte equal to 0, and specifies that this must be the first segment in the file, hence making it simple to recognize a JFIF file. Exif images recorded by digital cameras generally do not include this segment, but typically comply in all other respects with the JFIF standard.
Color space
The JPEG standard used for the compression coding in JFIF files does not define which color encoding is to be used for images. JFIF defines the color model to be used: either Y for greyscale, or YCbCr derived from RGB color primaries as defined in CCIR 601 (now known as Rec. ITU-R BT.601), except with a different "full range" scaling of the Y, Cb and Cr components. Unlike the "studio range" defined in CCIR 601, in which black is represented by Y=16 and white by Y=235 and values outside of this range are available for signal processing "headroom" and "footroom", JFIF uses all 256 levels of the 8-bit representation, so that Y=0 for black and Y=255 for peak white. The RGB color primaries defined in JFIF via CCIR 601 also differ somewhat from what has become common practice in newer applications (e.g., they differ slightly from the color primaries defined in sRGB). Moreover, CCIR 601 (before 2007) did not provide a precise definition of the RGB color primaries; it relied instead on the underlying practices of the television industry.
Color interpretation of a JFIF image may be improved by embedding an ICC profile, colorspace metadata, or an sRGB tag, and using an application that interprets this information.
File format structure
A JFIF file consists of a sequence of markers or marker segments (for details refer to JPEG, Syntax and structure). The markers are defined in part 1 of the JPEG Standard.
In 1996, RFC 2046 specified that the image format used for transmitting JPEG images across the Internet should be JFIF. The MIME type of "image/jpeg" must be encoded as JFIF. In practice, however, virtually all Internet software can decode any baseline JIF image that uses Y or YCbCr components, whether it is JFIF compliant or not.
As time went by, C-Cube was restructured (and eventually devolved into Harmonic, LSI Logic, Magnum Semiconductor, Avago Technologies, Broadcom, and GigOptix, GigPeak, etc), and lost interest in the document, and the specification had no official publisher until it was picked up by Ecma International and the ITU-T/ISO/IEC Joint Photographic Experts Group around 2009 to avoid it being lost to history and provide a way to formally cite it in standard publications and improve its editorial quality. It was published by ECMA in 2009 as Technical Report number 98 to avoid loss of the historical record,
and it was formally standardized by ITU-T in 2011 as its Recommendation T.871
and by ISO/IEC in 2013 as ISO/IEC 10918-5, The newer publications included editorial improvements but no substantial technical changes.
See also
- Joint Photographic Experts Group
References
Further reading
Books
- Miano, John M, "Compressed Image File Formats"; 1999, Addison-Wesley
- Pennebaker, William B. and Joan L. Mitchell: JPEG still image data compression standard; 3rd edition, 1993, Springer
Standards
- Hamilton, Eric: JPEG File Interchange Format, Version 1.02 (PDF, 0.02 MB) 1 September 1992
- Recommendation ITU-T T.871: Information technology – Digital compression and coding of continuous-tone still images: JPEG File Interchange Format (JFIF) (PDF and Microsoft Word, 0.2 MB) Approved 14 May 2011; posted 11 September 2012
- Recommendation ITU-T T.81: Information technology – Digital compression and coding of continuous-tone still images – Requirements and guidelines (PDF and Microsoft Word, 1.5 MB) Approved 18 September 1992; posted 14 April 2004
