Overview of JPEG 2000

JPEG 2000 is the Swiss Army knife of image codecs. It supports:

  • lossy and lossless coding
  • up to 16384 components
  • bit depth up to 38 bits/sample
  • terapixel images
  • resolution and quality scalability
  • progressive decoding and sub-frame latency
  • region-of-interest accessibility
  • non-iterative optimal rate control
  • 🆕 discontinuous media such as optical flow data and stereo disparity maps
  • 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:

    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 system

    Part 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 1 also defines a basic file format called JP2, which allows metadata such as color space information and IP rights to be provided with a JPEG 2000 codestream.

    Part 2: Extensions

    Part 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: Conformance

    Part 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 software

    Part 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 format

    Part 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: JPIP

    Part 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: JP3D

    Part 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: JPWL

    Part 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 Encoder

    Part 13 define an entry-level encoder implementation of Part 1.

    Part 14: JPXML

    Part 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 2000

    Part 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 HEIF

    Part 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 media

    Part 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.