Overview of JPEG 2000
JPEG 2000 is an image coding system that uses state-of-the-art compression techniques based on wavelet technology. Its architecture lends itself to a wide range of uses from portable digital cameras through to advanced pre-press, medical imaging and other key sectors.
JPEG 2000 refers to all parts of the standard. Below is the list of current parts that make up the complete JPEG 2000 suite of standards. Recently, a new activity "High-Throughput JPEG 2000 (HTJ2K)" has been initiated.
Part 1, Core coding system
As its name suggests, Part 1 defines the core of JPEG 2000. This includes the syntax of the JPEG 2000 codestream and the necessary steps involved in encoding and decoding JPEG 2000 images.
This Part also defines a basic file format called JP2. This allows metadata such as colour space information (which is essential for accurate rendering) to be included with a JPEG 2000 codestream in an interoperable way. JP2 uses an extensible architecture shared with the other file formats in the JPEG 2000 family defined in later parts of the standard.
Furthermore, it includes guidelines and examples, a bibliography of technical references, and a list of companies from whom patent statements have been received by ISO. JPEG 2000 was developed with the intention that Part 1 could be implemented without the payment of licence fees or royalties, and identified patent holders have waived their rights toward this end. However, the JPEG committee cannot make a formal guarantee, and it remains the responsibility of the implementer to ensure that no patents are infringed.
Part 1 became an International Standard (ISO/IEC 15444-1) in December 2000 and is available for download from ITU-T as Recommendation T.800.
Part 2, Extensions
Part 2 defines various extensions to Part 1, including:
- more flexible forms of wavelet decomposition and coefficient quantization
- an alternative way of encoding regions of particular interest (ROIs)
- a flexible and versatile file format, known as JPX, and based on JP2, that allows sequencing, animation, layering and composition of JPEG 2000 images and other file formats
- new coding tools such as Trellis Coded Quantizatiuon (TCQ), overlapped blocks, component-space wavelets and arbitrary decorrelation transformations
- a rich metadata set for photographic imagery (based on the DIG35 specification)
Most of the extensions in Part 2 operate independently of each other. To assist interoperability, mechanisms are provided at both the codestream and the JPX file format level for signalling the use of extensions.
Part 2 became an International Standard (ISO/IEC 15444-2) in November 2001 and is available for download from ITU-T as Recommendation T.801.
Part 3, Motion JPEG 2000
Part 3 defines a file format called MJ2 (or MJP2) for motion sequences of JPEG 2000 images. Support for associated audio is also included.
MJ2 does not involve inter-frame coding: each frame is coded independently using JPEG 2000. Expected applications include:
- storing video clips taken using digital still cameras
- high-quality frame-based video recording and editing
- digital cinema
- medical and satellite imagery
MJ2, originally defined in ISO/IEC 15444-3:2002 as a standalone document, has now been expressed by ISO/IEC 15444-3:2002/Amd 2:2003 in terms of the ISO Base format, ISO/IEC 15444-12.
Part 3 became an International Standard (ISO/IEC 15444-3) in November 2001 and it is available for download from ITU-T as their Recommendation T.802.
Part 4, Conformance
JPEG 2000 Part 4 is concerned with testing conformance to JPEG 2000 Part 1. It specifies test procedures for both encoding and decoding processes, including the definition of a set of decoder compliance classes. The Part 4 test files include both bare codestreams and JP2 files.
Note that JPEG 2000 Part 4 explicitly excludes from its scope acceptance, performance or robustness testing.
Part 4 became an International Standard (ISO/IEC 15444-4) in May 2002 and it is available for download from ITU-T as Recommendation T.803.
Part 5, Reference software
JPEG 2000 Part 5 (ISO/IEC 15444-5:2003) consists of a short text document, and two source code packages that implement JPEG 2000 Part 1. The two codecs were developed alongside Part 1 and were used to check it and to test interoperability. One is written in C and the other in Java. They are both available under open-source type licensing.
Users should be aware that JPEG 2000 is defined by the 'normative' text in Part 1 (and other parts) of the standard, not by the behaviour of the 'informative' reference software or any other implementations. The versions of the reference software first published with Part 5 did not fully implement the JPEG 2000 Part 1 file format, JP2. JP2 support has now been added, and a corresponding amendment to Part 5 (ISO/IEC 15444-5:2003/Amd 1:2003) has now been published. The codecs are available in their most recent versions from the following web sites, which are maintained by some of the respective code authors:
- JasPer (C) version 1.700.2 or later
- JJ2000 (Java) version 5.1 or later
Part 5 became an International Standard (ISO/IEC 15444-5) in November 2001 and it is available for download from ITU-T as their T.804.
Part 6, Compound image file format
Part 6 of JPEG 2000 defines the JPM file format for document imaging, which uses the Mixed Raster Content (MRC) model of ISO/IEC 16485. JPM is an extension of the JP2 file format defined in Part 1: it uses the same architecture and many of the same boxes defined in Part 1 (for JP2) and Part 2 (for JPX).
JPM can be used to store multi-page documents with many objects per page. Although it is a member of the JPEG 2000 family, it supports the use of many other coding or compression technologies as well. For example, JBIG2 could be used for regions of text, and JPEG could be used as an alternative to JPEG 2000 for photographic images.
Part 6 became an International Standard (ISO/IEC 15444-6) in April 2003.
Part 7 has been abandoned
This Part was originally intended to describe a hardware reference design.
Part 8, JPSEC
The development of the web and the advances in computer technology have produced a proliferation of digital media content which can be efficiently copied, processed and distributed at negligible cost, both for licit and illicit use. Security issues are therefore very important features in many imaging applications targeted by JPEG 2000.
To address this issue, JPEG 2000 Secured (JPSEC) or Part 8 of the standard is standardising tools and solutions in terms of specifications in order to ensure the security of transaction, protection of contents (IPR), and protection of technologies (IP), and to allow applications to generate, consume, and exchange JPEG 2000 secured bitstreams.
Applications addressed by JPSEC include the following examples, to mention a few:
- Encryption: JPSEC will provide a flexible mechanism to allow for encryption of image content and metadata. This includes partial encryption of the latter, or encryption with different strengths.
- Source authentication: JPSEC allow for verification of authenticity of the source.
- Data integrity: JPSEC will allow for data integrity verification. This includes semi-robust integrity verification, as well as mechanisms to optionally identify locations in the image content where the integrity is put into question.
- Conditional access: JPSEC will allow for conditional access to portions of an image or its associated metadata. For instance, a user could be allowed to view a low resolution (preview) of an image without being able to visualize a higher resolution.
- Ownership protection: JPSEC will allow for protection of the content owner rights (copyright). This includes ownership identification mechanisms robust to malicious attacks and non malicious processing of the JPEG 2000 bitstream and/or the image it represent.
The underlying techniques to protect the content include digital signatures, watermarking, encryption, scrambling, and key generation and management. These techniques will be enabled in JPSEC by means of a registration authority. More specifically, all techniques have to be previously registered in a central repository, the registration authority, which uniquely identify these techniques.
Part 8 became an International Standard (ISO/IEC 15444-8) in July 2006 and it is available for download from ITU-T as Recommendation T.807.
Part 9, JPIP
JPEG 2000's flexibility with respect to random access, codestream reordering and incremental decoding is highly exploitable in a networked environment. Part 9 of JPEG 2000 is written to define tools for supporting image and metadata delivery in this context.
The main component of Part 9 is a client-server protocol called JPIP. JPIP may be implemented on top of HTTP, but is designed with a view to other possible transports. To facilitate its deployment in systems with varying degrees of complexity, JPIP handles several different formats for the image data returned by the server: these include ordinary image formats, such as complete JPEG or JPEG 2000 files, and two new types of incremental "stream" that use JPEG 2000's "tiles" and "precincts" to take full advantage of its scalabilty properties. JPIP also supports both stateless and stateful modes of operation, enabling sophisticated cache-modelling to eliminate the redundant transmission of data.
JPIP provides selective access to the image metadata that may be contained within JPEG 2000 files. Although Part 9 is focused on the application of technology from Part 1, including the JP2 file format, it does support some file format extensions from Part 2. A mechanism has also been provided for selection from amongst multiple codestreams in JPX (Part 2), MJ2 (Part 3) and JPM (Part 6) files. Potentially this could be applied to any file format containing images, not just to the JPEG 2000 family of file formats.
Part 9 also defines some new file format boxes for indexing JPEG 2000 files and codestreams. The indexes are based on the same concepts as the JPIP stream types, and may be useful in server implementations of JPIP. They are also intended, however, to enable random access to JPEG 2000 files in the absence of JPIP. For example, the byte-range requests built into an unmodified HTTP (version 1.1) server could be used for this purpose.
Part 9 became an International Standard (ISO/IEC 15444-9) in October 2004 and it is available for download from ITU-T as Recommendation T.808.
Part 10, JP3D
JP3D is the volumetric extension of JPEG 2000 Part 1. It adds support for wavelet decompositions along the axial dimension, and defines notion of an extra spatial dimension (i.e. the third dimension Z). It extends tiles, precincts, code-blocks and region-of-interest functionality accordingly to support volumetric data.
Part 11, JPWL
To be suitable for wireless multimedia applications, JPEG 2000 has to be robust to transmission errors. The core coding system, as specified in Part 1, defines error resilience tools to improve performances over noisy channels. However, these tools only detect where errors occur, conceal the erroneous data, and resynchronise the decoder. In other words, they do not correct transmission errors. Furthermore, these tools do not apply to the image header which is the most important Part of the codestream. For these reasons, they are not sufficient in the context of wireless transmissions.
To address this issue, JPEG 2000 Wireless (JPWL) or Part 11 of the standard is standardising tools and methods to achieve the efficient transmission of JPEG 2000 imagery over an error-prone wireless network. More specifically, JPWL extends the elements in the core coding system described in Part 1 with mechanisms for error protection and correction. These extensions are backward compatible in the sense that decoders which implement Part 1 are able to skip the extensions defined in JPWL.
The JPWL system supports three functionalities:
- protection of the codestream against transmission errors,
- description of the degree of sensitivity of different parts of the codestream to transmission errors,
- description of the locations of residual errors in the codestream.
The work is also closely linked into the studies into JPEG 2000 security (JPSEC) in Part 8 of the standard, and to the client server communications aspects defined in Part 10 (JPIP).
Part 11 become an International Standard (ISO/IEC 15444-11) in June 2007 and it is available for download from ITU-T as Recommendation T.810.
Part 12, ISO
Part 12 of JPEG 2000, ISO/IEC 15444-12, has a common text with Part 12 of the MPEG-4 standard, ISO/IEC 14496-12. It is a joint JPEG and MPEG initiative to create a base file format for future applications.
The format is a general format for timed sequences of media data. It uses the same underlying architecture as Apple's QuickTime file format and the JPEG 2000 file format.
The Motion JPEG 2000 file format, MJ2, originally defined in ISO/IEC 15444-3:2002 as a standalone document, has now been expressed by ISO/IEC 15444-3:2002/Amd 2:2003 in terms of the ISO Base format. The MPEG-4 file format, MP4, is another application of the ISO Base.
Part 12 became an International Standard (ISO/IEC 15444-12) in July 2003.
Part 13 represents an Entry Level Encoder that is based on Part 1.
This Part specifies an XML document syntax, referred to as JPXML. It enables the JPEG 2000 file format and marker segments representation in XML, along with referring methods to internal data in a JPEG 2000 image.