Overview of JPEG 2000
JPEG 2000 is the Swiss Army knife of image codecs. It supports:
JPEG 2000 is faster 🆕 and higher quality than JPEG.
It is used worldwide in many high-performance applications. Many CPU, GPU and FPGA implementations are available, both open source and commercial.
The JPEG 2000 standard is a collaboration between ITU-T and ISO/IEC and has a royalty-free objective. Its original edition was published in 2001 and has been maintained since then.
Recent additions include:
- new block coder (Rec. ITU-T T.814 | ISO/IEC 15444-15) with 10x improvement in throughput and mathematically lossless conversion to legacy block coder, at the cost of approx. 5% increase in coded size
- new set of spatial wavelet transforms (Rec. ITU-T T.816 | ISO/IEC 15444-17) that allow the coding of media with hard discontinuities
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.
Part 1: Core coding systemPart 1 defines the core of JPEG 2000: the syntax of a JPEG 2000 codestream and the necessary steps involved in decoding JPEG 2000 images, with informative guidance for encoders. |
Part 2: ExtensionsPart 2 defines codestream and file format extensions including: multi-component transformations; more flexible wavelet tranform kernels and decomposition structures; alternate quantization schemes; and non-linear point transforms. The Part 2 JPX file format extends the Part 1 JP2 file format to allow: more comprehensive color space descriptions and HDR sample representations; multiple codestreams; composition, cropping, geometric transforms; rich animations; descriptive metadata; and a rich metadata set for photographic imagery. |
Part 3: Motion JPEG 2000 (MJ2 or MJP2)Part 3 defines a file format for motion sequences of JPEG 2000 images, where each image is coded as an independent JPEG 2000 codestream. |
Part 4: ConformancePart 4 specifies test procedures for both encoding and decoding processes defined in Part 1, including the definition of a set of decoder compliance classes. The Part 4 test files include both bare codestreams and JP2 files. |
Part 5: Reference softwarePart 5 consists of two source code packages that implement Part 1. The implementations were developed alongside Part 1, and were used to test it. One is written in C and the other in Java. They are both available under open-source licenses. |
Part 6: Compound image file formatPart 6 defines the JPM file format for multi-page 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. Although it is a member of the JPEG 2000 family, it supports the use of many other coding or compression technologies, including JBIG2 and JPEG. |
Part 8: JPEG 2000 Secured (JPSEC)Part 8 standardizes tools 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. |
Part 9: JPIPPart 9 defines tools for supporting incremental and selective access to imagery and metadata in a networked environment. A primary focus for Part 9 is efficient and responsive interactive remote browsing of JPEG 2000 content conforming to any of the other parts of the standard. |
Part 10: JP3DPart 10 is the volumetric extension of JPEG 2000 Part 1. It explicitly defines the notion of an extra spatial dimension (the Z-dimension), extending key JPEG 2000 concepts such as tiles, precincts and code-blocks to all three dimensions, so as to provide resolution- and region-of-interest accessibility properties in 3D. Part 10 also adds support for wavelet decomposition structures that extend hierarchically in all three dimensions. |
Part 11: JPWLPart 11 of the standard defines tools and methods to achieve the efficient transmission of JPEG 2000 imagery over an error-prone wireless network. More specifically, Part 11 extends the elements in the core coding system described in Part 1 with mechanisms for error protection and correction. These extensions are backward compatible: decoders which implement Part 1 are able to skip the extensions defined in Part 11. |
Part 13: Entry-level EncoderPart 13 define an entry-level encoder implementation of Part 1. |
Part 14: JPXMLPart 14 specifies an XML representation of the JPEG 2000 file format and marker segments, along with methods to for accessing the internal data of a JPEG 2000 image. |
Part 15: High-throughput JPEG 2000Part 15 speeds-up JPEG 2000 by an order of magnitude at the expense of slightly reduced coding efficiency. The resulting HTJ2K system retains JPEG 2000's advanced features, with reduced quality scalability, while being faster and much more efficient than traditional JPEG. This is achieved by replacing the Part 1 block coder with an innovative block coder for today's vectorized computing architectures. This also allows mathematically lossless transcoding to/from legacy JPEG 2000. Part 15 is intended to be royalty-free. |
Part 16: Wrapping in HEIFPart 16 specifies the carriage of JPEG 2000 codestreams in ISO/IEC 23008-12, commonly referred to as HEIF. A revision is underway to support more flexible wrapping of all JPEG 2000 codestreams, including HTJ2K. |
Part 17: Extensions for coding of discontinuous mediaPart 17, currently under development, introduces alternate “breakpoint-dependent” spatial wavelet transforms that dependent on an auxiliary image component, known as a “breakpoint component", and scalable coding technologies for these breakpoint components. This improves the coding of media with hard discontinuities. An important example of such media is depth imagery, where each image sample is related to the length of the 3D line segment between the corresponding scene point and the camera. Depth imagery includes stereo disparity maps, where sample values are reciprocally related to depth. Another example of media with strong discontinuities is optical flow data, where each sample location is a two-dimensional vector. In these examples, discontinuities arise naturally at the boundaries of scene objects. |