Saturday, February 21, 2009

JPEG File Interchange Format V1.02 - I

Why a File Interchange Format
JPEG File Interchange Format is a minimal file format which enables JPEG bitstreams tobe exchanged between a wide variety of platforms and applications. This minimal formatdoes not include any of the advanced features found in the TIFF JPEG specification or anyapplication specific file format. Nor should it, for the only purpose of this simplified formatis to allow the exchange of JPEG compressed images.
JPEG File Interchange Format features
• Uses JPEG compression
• Uses JPEG interchange format compressed image representation
• PC or Mac or Unix workstation compatible
Standard color space: one or three components. For three components, YCbCr(CCIR 601-256 levels)
• APP0 marker used to specify Units, X pixel density, Y pixel density, thumbnail
• APP0 marker also used to specify JFIF extensions
• APP0 marker also used to specify application-specific information
JPEG Compression
Although any JPEG process is supported by the syntax of the JPEG File InterchangeFormat (JFIF) it is strongly recommended that the JPEG baseline process be used for thepurposes of file interchange. This ensures maximum compatibility with all applicationssupporting JPEG. JFIF conforms to the JPEG Draft International Standard (ISO DIS10918-1).
The JPEG File Interchange Format is entirely compatible with the standardJPEG interchange format; the only additional requirement is the mandatory presenceof the APP0 marker right after the SOI marker.
Note that JPEG interchange formatrequires (as does JFIF) that all table specifications used in the encoding process be coded inthe bitstream prior to their use.
Compatible across platforms
The JPEG File Interchange Format is compatible across platforms: for example, it does notuse any resource forks, supported by the Macintosh but not by PCs or workstations.
Standard color space
The color space to be used is YCbCr as defined by CCIR 601 (256 levels). The RGBcomponents calculated by linear conversion from YCbCr shall not be gamma corrected(gamma = 1.0). If only one component is used, that component shall be Y.
APP0 marker used to identify JPEG FIF
The APP0 marker is used to identify a JPEG FIF file. The JPEG FIF APP0 marker ismandatory right after the SOI marker.
The JFIF APP0 marker is identified by a zero terminated string: "JFIF". The APP0 can beused for any other purpose by the application provided it can be distinguished from theJFIF APP0.
The JFIF APP0 marker provides information which is missing from the JPEG stream:version number, X and Y pixel density (dots per inch or dots per cm), pixel aspect ratio(derived from X and Y pixel density), thumbnail.
APP0 marker used to specify JFIF extensions
Additional APP0 marker segment(s) can optionally be used to specify JFIF extensions. Ifused, these segment(s) must immediately follow the JFIF APP0 marker.
Decoders shouldskip any unsupported JFIF extension segments and continue decoding.The JFIF extension APP0 marker is identified by a zero terminated string: "JFXX".
The JFIF extension APP0 marker segment contains a 1-byte code which identifies theextension.
This version, version 1.02, has only one extension defined: an extension fordefining thumbnails stored in formats other than 24-bit RGB.

No comments:

Post a Comment