|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
|Full name||ISO/IEC 15444-1:2004. Information technology -- JPEG 2000 image coding system -- Part 1: Core coding system (formal name); JPEG 2000 core coding (common name)|
Compression encoding generally used for full color and grayscale continuous-tone pictorial images. Core coding uses a discrete wavelet transform and other elements in a variable manner to produce files with lossy or lossless compression. The encoding process is briefly described in the Notes and in some of the Useful references below. The outcome is the creation of a bitstream (or "codestream") that may be employed in scalable fashion, sometimes stated as "compress once, decompress many ways." In addition, producers of JPEG 2000 images may identify segments as regions of interest (ROI). Core coding permits certain types of ROI definition; additional types may be defined under J2K_EXT (specification Part 2).
Particular implementations of JPEG 2000 Core Coding may be established as profiles; see Notes below. The profiles serve as the basis for several subtypes listed here. A given file may conform to more than one profile, or fit into more than one subtype.
|Production phase||May be applied in initial-state picture creation; often used for middle- and final-state archiving or end-user delivery.|
|Relationship to other formats|
|Has subtype||J2K_C_LL, JPEG 2000 Part 1, Core Coding, Lossless Compression|
|Has subtype||J2K_C_LSY, JPEG 2000 Part 1, Core Coding, Lossy Compression|
|Has subtype||J2K_C_Profile_0, Profile 0 for JPEG 2000 Part 1, Core Coding|
|Has subtype||J2K_C_Profile_1, Profile 1 for JPEG 2000 Part 1, Core Coding|
|Has subtype||J2K_C_Profile_3, Profile 3 for JPEG 2000 Part 1, Core Coding. For Digital Cinema.|
|Has subtype||J2K_C_Profile_4, Profile 4 for JPEG 2000 Part 1, Core Coding. For Digital Cinema.|
|Has subtype||J2K_C_BIIF_01_00, BIIF Profile for JPEG 2000 Part 1, Core Coding, Version 01.00|
|Has subtype||BIIF Profile for JPEG 2000 Part 1, Core Coding, Version 01.10 (2009), not described at this Web site at this time|
|Has subtype||J2K_C_NDNP, NDNP Profile for JPEG 2000 Part 1, Core Coding|
|Has subtype||Profiles for broadcast applications. These seven profiles are specified in ISO/IEC 15444-1:2004/Amd 3:2010. Not described at this Web site at this time.|
|LC experience or existing holdings||See JP2_FF|
|LC preference||See JP2_FF|
|Disclosure||Open standard. Developed by Joint Technical Committee ISOAEC JTC 1, Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia information in collaboration with ITU-T.|
|Documentation||ISO/IEC 15444-1:2004. Information technology -- JPEG 2000 image coding system -- Part 1: Core coding system. See complete list of ISO/IEC JPEG 2000 standards in JP2_FF format specifications.|
|Licensing and patents||The Guide to the Practical Implementation of JPEG 2000, cited in Useful references below, reports, "The JPEG committee has striven to ensure that implementations of Part 1 can be royalty and license-fee free. To help ensure its success, a number of patent holders have waived the right to impose royalties and license fees in connection with JPEG 2000; other technology patents are believed to be non-essential for implementation. This is not a formal guarantee, however." The specification lists 17 patent holders in Annex L; the compiler of this document was unable to identify a patent pool or similar collective that represented this group of patent-holders.|
|Transparency||Depends upon algorithms and tools to read; will require sophistication to build tools. JPEG 2000 compensates for this lack of transparency (typical of most compressed data formats) by a number of "resiliency" elements, described in the Notes below.|
|Technical protection considerations||See JP2_FF|
|Normal rendering||Good support.|
|Clarity (high image resolution)||Excellent support, accommodating images with large picture sizes, high spatial resolution, and high bit depth. Color rendering (see below for color maintenance) is enhanced by the existence of lossless as well as lossy options for component transforms, and by the possibility of using a wide array of color spaces (each must be identified), three of which are in the specification as defaults: sRGB and sYCC (defined in IEC 61966-2-1 amended), and a grayscale space related to sRGB. The lossless compression algorithm permits the unchanged image to be recreated upon decompression. In the lossy realm, the use of wavelet transforms and other elements means that J2K_C codestreams provide greater clarity than JPEG_DCT ("old" JPEG) at the same file size, or equal clarity in smaller files.|
|Color maintenance||The management of color is supported by the color space elements noted above, and by support for two classes of ICC color profiles defined in ICC.1:1998-09: Monochrome Input Profile and Three-Component Matrix-Based Input Profile. An ICC profile is data that may be encapsulated within a JPEG 2000 file that contains a mapping between color component values and a generic color space called the Profile Connection Space (PCS), employing the "fictitious primaries" called X, Y, and Z.|
|Support for vector graphics, including graphic effects and typography||See JP2_FF|
|Support for multispectral bands||No support; support for what are called multiple component images is provided by JPX_FF.|
|Functionality beyond normal rendering||Special features for error resiliency are described in the Notes.|
||Extension for raw codestreams; see also JP2_FF|
|Internet Media Type||See related format.||See JP2_FF|
|Magic numbers||See related format.||See JP2_FF|
|File type brand (ISO Base Media File Format)||See related format.||See JP2_FF|
Regarding encoding. The following three paragraphs have been paraphrased from pages 14-15 of the Guide to the Practical Implementation of JPEG 2000 (2003, see Useful references below). This publication includes well-written explanations of additional coding elements, e.g., tiling, codeblock and precinct partitioning, bit plane coding and layering, all of which play a role in JPEG 2000's vaunted scalability.
Three of the most important areas of compression system design are choice of the transformation (or transformations), choice of the data reduction method (or methods), and choice of the coding system (or systems). JPEG 2000 uses (a) the wavelet transform, (b) a combination of coefficient quantization and post-encoding data reduction, and (c) arithmetic coding. Quantization means simply that the precision of the numbers in the transform domain, the 'transform coefficients', is selectively reduced: each number is divided by an integer quantization factor and any remainder (fractional part) is thrown away. Unlike the "old" JPEG, in JPEG 2000 the lossy compression is secondary. Post-encoding data reduction means throwing away some of the encoded data: although this may sound wasteful (why encode it and then throw it away?), it is much more flexible. It enables data reduction to be optimized for varying quality without any recoding (because the quantization is not changed), and it enables an existing JPEG 2000 image to be further compressed, e.g. from lossless to lossy or from lossy to even more lossy, also without any decoding, which supports the important 'scalability' offered by the new format.
Stated simply, the sequence of events in JPEG 2000 encoding is (1) wavelet transform, (2) quantize coefficients, (3) arithmetic coding, and (4) post-encoding data reduction. Mathematically, the wavelet transform is closely related to the process of sub-sampling, which means reducing the image data by lowering the number of sample points across the image; that is, lowering the image resolution. (For example, keeping only every other sample would reduce the resolution by a factor of 2; if done in both horizontal and vertical directions it would quarter the amount of data.) Because of this relationship, the wavelet transform is well suited to the removal of the redundancy corresponding to correlations between neighbouring image samples. It is also well suited to enabling the effective sub-sampling of chrominance (color information) relative to luminance (brightness information) in color imagery; this is an appropriate lossy compression technique because the eye is significantly less sensitive to variations in colour than in brightness.
In other compression systems, such as "old" JPEG, chrominance data are often explicitly subsampled by a factor of 2 in each direction. JPEG 2000's more subtle data reduction in the wavelet-transform domain allows a 'soft sub-sampling' that is more closely matched to the eye. An interesting consequence of the relative insignificance of color information is that the compressed bit-rate figures for visually lossless (about 3 bits per pixel), near-lossless (about 1 bit per pixel), and usable images (about 0.25 bits per pixel or less), are approximately valid for both monochrome and color. In contrast, "old" JPEG's compression required two different compression ratios for monochrome (higher) and color (lower) to achieve the same visual effect. JPEG 2000's lossless compression cannot take advantage of the eye's reduced sensitivity to chrominance and thus does not offer the same effect. In any case lossless compression does not discard the information contained in even the least significant bits. That is why lossily compressed imagery is usually characterized by its compressed bit-rate (in bits per pixel) regardless of the raw data precision, whereas losslessly compressed imagery is usually characterized by compression ratio relative to the raw data.
Regarding resiliency. Part 1 of the JPEG 2000 standard (the subject of this description) includes several elements intended to overcome errors that may arise in the networked transmission of image data. As indicated under the Transparency heading in the Sustainability section of this description, these resiliency elements also support preservation by compensating for the encoding's lack of transparency. The following bullets paraphrase the elements enumerated in annex J.7 of the standard:
Additional resiliency elements, intended to overcome errors that may occur in wireless transmission, are defined in Part 11 of the standard (ISO/IEC 15444-11:2007, Information technology -- JPEG 2000 image coding system: Wireless).
Regarding profiles. Particular implementations of JPEG 2000 Core Coding may be established as profiles. Amendment 1 to Part 1 of the Standard, titled Codestream Restrictions, establishes J2K_C_Profile_0 (Profile 0) and J2K_C_Profile_1 (Profile 1), and (by implication) profile 2 (no constraints). A further amendment to serve the Digital Cinema Initiative's DCP_1_0 specification was proposed in 2005 and establishes J2K_C_Profile_3 (Profile 3) and J2K_C_Profile_4 (Profile 4). In JPEG2000: Image Compression Fundamentals, Standards and Practices (2002), David S. Taubman and Michael W. Marcellin compare JPEG 2000 profiles to those in MPEG standards: "In JPEG 2000, however, profiles play a much less significant role, since compliant processors are not required to recover all of the information in the codestream." As summarized by Michael Gormish at a Web page no longer available in December 2011 (formerly at http://www.crc.ricoh.com/~gormish/jpeg2000.html), "Profile 0 codestreams are not allowed to use some of the features of JPEG 2000 . . . . Profile 1 codestreams are only slightly limited from JPEG 2000, the primary limitation is that all components must contain low resolution pieces of 128x128 or smaller." The specification itself adds, "The case of 'No Restrictions' meaning conforming to JPEG-2000 Part-1 standard can be called profile-2." (Amendment 1, p. 1) The profiles are agnostic regarding the use of J2K_C_LL (Lossless Compression) and J2K_C_LSY (Lossy Compression), although most of the profiles are designed for service in applications where lossy compression will be employed.
A profile for scanned newspaper pages, called J2K_C_NDNP at this Web site, has been specified for the National Digital Newspaper Program, launched by the Library of Congress and the National Endowment for the Humanities during 2004. This profile has much in common with Profile 0 as listed above.