JPEG 2000
View on WikipediaThis article may incorporate text from a large language model. (October 2025) |
| JPEG 2000 | |
|---|---|
Comparison of JPEG 2000 with the original JPEG format | |
| Filename extension | .jp2, .j2k, .jpf, .jpm, .jpg2, .j2c, .jpc, .jpx, .mj2 |
| Internet media type | image/jp2, image/jpx, image/jpm, video/mj2 |
| Uniform Type Identifier (UTI) | public.jpeg-2000 |
| Magic number | 00 00 00 0C 6A 50 20 20 0D 0A 87 0A / FF 4F FF 51 |
| Developed by | Joint Photographic Experts Group |
| Type of format | Graphics file format |
| Extended from | JPEG |
| Standard | ISO/IEC 15444 |
| Open format? | Yes |
| Free format? | See § Legal status |
| Website | jpeg |
JPEG 2000 (JP2) is an image compression standard and coding system. It was developed from 1997 to 2000 by a Joint Photographic Experts Group committee chaired by Touradj Ebrahimi (later the JPEG president),[1] with the intention of superseding their original JPEG standard (created in 1992), which is based on a discrete cosine transform (DCT), with a newly designed, wavelet-based method. The standardized filename extension is '.jp2' for ISO/IEC 15444-1 conforming files and .jpx or .jpf for the extended part-2 specifications, published as ISO/IEC 15444-2. The MIME types for JPEG 2000 are defined in RFC 3745.[2] The MIME type for JPEG 2000 (ISO/IEC 15444-1) is image/jp2.
The JPEG 2000 project was motivated by Ricoh's submission in 1995 of the CREW (Compression with Reversible Embedded Wavelets) algorithm[3][4] to the standardization effort of JPEG LS. Ultimately the LOCO-I algorithm was selected as the basis for JPEG LS, but many of the features of CREW ended up in the JPEG 2000 standard.[5]
JPEG 2000 codestreams are regions of interest that offer several mechanisms to support spatial random access or region of interest access at varying degrees of granularity. It is possible to store different parts of the same picture using different quality.
JPEG 2000 is a compression standard based on a discrete wavelet transform (DWT). The standard could be adapted for motion imaging video compression with the Motion JPEG 2000 extension. JPEG 2000 technology was selected as the video coding standard for digital cinema in 2004.[6] However, JPEG 2000 is generally not supported in web browsers for web pages as of 2024,[update] and hence is not generally used on the World Wide Web. Nevertheless, for those with PDF support, web browsers generally support JPEG 2000 in PDFs.
Unlike the legacy .jpg format, which offers basic image compression without support for embedded metadata or access control, JPEG 2000 introduces advanced container options such as .jp2 and .jpf. Of these, the .jpf extension offers a significantly more powerful and extensible framework. It supports high-fidelity wavelet compression, layered and tiled image structures, region-of-interest encoding, and remote streaming via the JPEG 2000 Interactive Protocol (JPIP). Crucially, the .jpf format enables the embedding of machine-readable consent flags, secure face hashes, and cryptographic signatures—allowing for time-limited, revocable access to visual data. These capabilities have positioned JPF as a leading candidate for privacy-respecting media exchange in an era of deepfakes and unauthorized AI model training.[7]
Design goals
[edit]While there is a modest increase in compression performance of JPEG 2000 compared to JPEG, the main advantage offered by JPEG 2000 is the significant flexibility of the codestream. The codestream obtained after compression of an image with JPEG 2000 is scalable in nature, meaning that it can be decoded in a number of ways; for instance, by truncating the codestream at any point, one may obtain a representation of the image at a lower resolution, or signal-to-noise ratio – see scalable compression. By ordering the codestream in various ways, applications can achieve significant performance increases. However, as a consequence of this flexibility, JPEG 2000 requires codecs that are complex and computationally demanding. Another difference, in comparison with JPEG, is in terms of visual artifacts: JPEG 2000 only produces ringing artifacts, manifested as blur and rings near edges in the image, while JPEG produces both ringing artifacts and 'blocking' artifacts, due to its 8×8 blocks.
JPEG 2000 has been published as an ISO standard, ISO/IEC 15444. The cost of obtaining all documents for the standard has been estimated at 2,718 CHF (US$2,720 as of 2015).[8]
Applications
[edit]Notable markets and applications intended to be served by the standard include:
- Consumer applications such as multimedia devices (e.g. digital cameras, personal digital assistants, 3G mobile phones, color facsimile, printers, scanners)
- Client/server communication (e.g. the Internet, image database, video streaming, video server)
- Military/surveillance (e.g. HD satellite images, Motion detection, network distribution and storage)
- Medical imagery, specifically the DICOM specifications for medical data interchange.
- Biometrics
- Remote sensing
- High-quality frame-based video recording, editing and storage.
- Live HDTV feed contribution (I-frame only video compression with low transmission latency), such as live HDTV feed of a sport event linked to the TV station studio
- Digital cinema, such as Digital Cinema Package
- Digitized Audio-visual contents and images for long term digital preservation
- World Meteorological Organization has built JPEG 2000 Compression into the new GRIB2 file format. The GRIB file structure is designed for global distribution of meteorological data. The implementation of JPEG 2000 compression in GRIB2 has reduced file sizes up to 80%.[9]
Improvements over the 1992 JPEG standard
[edit]
Multiple resolution representation
[edit]JPEG 2000 decomposes the image into a multiple resolution representation in the course of its compression process. This pyramid representation can be put to use for other image presentation purposes beyond compression.
Progressive transmission by pixel and resolution accuracy
[edit]These features are more commonly known as progressive decoding and signal-to-noise ratio (SNR) scalability. JPEG 2000 provides efficient codestream organizations which are progressive by pixel accuracy and by image resolution (or by image size). This allows the viewer to see a lower quality version of the final picture before the whole file has been downloaded. The quality improves progressively as more data is downloaded from the source.
Choice of lossless or lossy compression
[edit]Like the Lossless JPEG standard,[10] the JPEG 2000 standard provides both lossless and lossy compression in a single compression architecture. Lossless compression is provided by the use of a reversible integer wavelet transform in JPEG 2000.
Error resilience
[edit]Like JPEG 1992, JPEG 2000 is robust to bit errors introduced by noisy communication channels, due to the coding of data in relatively small independent blocks.
Flexible file format
[edit]The JP2 and JPX file formats allow for handling of color-space information, metadata, and for interactivity in networked applications as developed in the JPEG Part 9 JPIP protocol.
High dynamic range support
[edit]JPEG 2000 supports bit depths of 1 to 38 bits per component. Supported color spaces include monochrome, 3 types of YCbCr, sRGB, PhotoYCC, CMY(K), YCCK and CIELab. It also later added support for CIEJab (CIECAM02), e-sRGB, ROMM, YPbPr and others.[11]
Side channel spatial information
[edit]JPEG 2000 image coding system – Parts
[edit]The JPEG 2000 image coding system (ISO/IEC 15444) consists of the following parts:
| Part | Number | public release date | Latest amend- ment |
Identical ITU-T standard |
Title | Description | |
|---|---|---|---|---|---|---|---|
| First edition |
Current edition | ||||||
| Part 1 | ISO/IEC 15444-1 | 2000 | 2024 | T.800 | Core coding system | the basic characteristics of JPEG 2000 compression (.jp2) | |
| Part 2 | ISO/IEC 15444-2 | 2004 | 2023[16] | T.801 | Extensions | (.jpx, .jpf, floating points) | |
| Part 3 | ISO/IEC 15444-3 | 2002 | 2007 | 2010[17] | T.802 | Motion JPEG 2000 | (.mj2) |
| Part 4 | ISO/IEC 15444-4 | 2002 | 2024 | T.803 | Conformance testing | ||
| Part 5 | ISO/IEC 15444-5 | 2003 | 2021[18] | T.804 | Reference software | Java and C implementations | |
| Part 6 | ISO/IEC 15444-6 | 2003 | 2013 | T.805 | Compound image file format | (.jpm) e.g. document imaging, for pre-press and fax-like applications | |
| Part 7 | abandoned[14] | Guideline of minimum support function of ISO/IEC 15444-1[19] | (Technical Report on Minimum Support Functions[20]) | ||||
| Part 8 | ISO/IEC 15444-8 | 2007 | 2023[21] | T.807 | Secure JPEG 2000 | JPSEC (security aspects) | |
| Part 9 | ISO/IEC 15444-9 | 2005 | 2023[22] | T.808 | Interactivity tools, APIs and protocols | JPIP (interactive protocols and API) | |
| Part 10 | ISO/IEC 15444-10 | 2008 | 2011[23] | T.809 | Extensions for three-dimensional data | JP3D (volumetric imaging) | |
| Part 11 | ISO/IEC 15444-11 | 2007 | 2007 | 2013[24] | T.810 | Wireless | JPWL (wireless applications) |
| Part 12 | ISO/IEC 15444-12 (withdrawn in 2017) |
2004 | 2015[25] | ISO base media file format | |||
| Part 13 | ISO/IEC 15444-13 | 2008 | 2008[26] | T.812 | An entry-level JPEG 2000 encoder | ||
| Part 14 | ISO/IEC 15444-14 | 2013[27] | T.813 | XML representation and reference | JPXML[28] | ||
| Part 15 | ISO/IEC 15444-15 | 2019 | 2019 | T.814 | High-throughput JPEG 2000 | HTJ2K and JPH file format | |
| Part 16 | ISO/IEC 15444-16 | 2019 | 2025 | T.815 | Enhanced encapsulation of JPEG 2000 images into ISO/IEC 14496-12 | HEIF | |
Technical discussion
[edit]The aim of JPEG 2000 is not only improving compression performance over JPEG but also adding (or improving) features such as scalability and editability. JPEG 2000's improvement in compression performance relative to the original JPEG standard is actually rather modest and should not ordinarily be the primary consideration for evaluating the design. Very low and very high compression rates are supported in JPEG 2000. The ability of the design to handle a very large range of effective bit rates is one of the strengths of JPEG 2000. For example, to reduce the number of bits for a picture below a certain amount, the advisable thing to do with the first JPEG standard is to reduce the resolution of the input image before encoding it. That is unnecessary when using JPEG 2000, because JPEG 2000 already does this automatically through its multi-resolution decomposition structure. The following sections describe the algorithm of JPEG 2000.
According to the Royal Library of the Netherlands, "the current JP2 format specification leaves room for multiple interpretations when it comes to the support of ICC profiles, and the handling of grid resolution information".[29]
Color components transformation
[edit]Initially images have to be transformed from the RGB color space to another color space, leading to three components that are handled separately. There are two possible choices:
- Irreversible Color Transform (ICT) uses the well known BT.601 YCBCR color space. It is called "irreversible" because it has to be implemented in floating or fix-point and causes round-off errors. The ICT shall be used only with the 9/7 wavelet transform.
- Reversible Color Transform (RCT) uses a modified YUV color space (almost the same as YCGCO) that does not introduce quantization errors, so it is fully reversible. Proper implementation of the RCT requires that numbers be rounded as specified and cannot be expressed exactly in matrix form. The RCT shall be used only with the 5/3 wavelet transform. The transformations are:
If R, G, and B are normalized to the same precision, then numeric precision of CB and CR is one bit greater than the precision of the original components. This increase in precision is necessary to ensure reversibility. The chrominance components can be, but do not necessarily have to be, downscaled in resolution; in fact, since the wavelet transformation already separates images into scales, downsampling is more effectively handled by dropping the finest wavelet scale. This step is called multiple component transformation in the JPEG 2000 language since its usage is not restricted to the RGB color model.[30]
Tiling
[edit]After color transformation, the image is split into so-called tiles, rectangular regions of the image that are transformed and encoded separately. Tiles can be any size, and it is also possible to consider the whole image as one single tile. Once the size is chosen, all the tiles will have the same size (except optionally those on the right and bottom borders). Dividing the image into tiles is advantageous in that the decoder will need less memory to decode the image and it can opt to decode only selected tiles to achieve a partial decoding of the image. The disadvantage of this approach is that the quality of the picture decreases due to a lower peak signal-to-noise ratio. Using many tiles can create a blocking effect similar to the older JPEG 1992 standard.
Wavelet transform
[edit]

These tiles are then wavelet-transformed to an arbitrary depth, in contrast to JPEG 1992 which uses an 8×8 block-size discrete cosine transform. JPEG 2000 uses two different wavelet transforms:
- irreversible: the CDF 9/7 wavelet transform (developed by Ingrid Daubechies).[31] It is said to be "irreversible" because it introduces quantization noise that depends on the precision of the decoder.
- reversible: a rounded version of the biorthogonal Le Gall–Tabatabai (LGT) 5/3 wavelet transform[32][31][33] (developed by Didier Le Gall and Ali J. Tabatabai).[34] It uses only integer coefficients, so the output does not require rounding (quantization) and so it does not introduce any quantization noise. It is used in lossless coding.
The wavelet transforms are implemented by the lifting scheme or by convolution.
Quantization
[edit]After the wavelet transform, the coefficients are scalar-quantized to reduce the number of bits to represent them, at the expense of quality. The output is a set of integer numbers which have to be encoded bit-by-bit. The parameter that can be changed to set the final quality is the quantization step: the greater the step, the greater is the compression and the loss of quality. With a quantization step that equals 1, no quantization is performed (it is used in lossless compression).
Coding
[edit]The result of the previous process is a collection of sub-bands which represent several approximation scales. A sub-band is a set of coefficients—real numbers which represent aspects of the image associated with a certain frequency range as well as a spatial area of the image.
The quantized sub-bands are split further into precincts, rectangular regions in the wavelet domain. They are typically sized so that they provide an efficient way to access only part of the (reconstructed) image, though this is not a requirement.
Precincts are split further into code blocks. Code blocks are in a single sub-band and have equal sizes—except those located at the edges of the image. The encoder has to encode the bits of all quantized coefficients of a code block, starting with the most significant bits and progressing to less significant bits by a process called the EBCOT scheme. EBCOT here stands for Embedded Block Coding with Optimal Truncation. In this encoding process, each bit plane of the code block gets encoded in three so-called coding passes, first encoding bits (and signs) of insignificant coefficients with significant neighbors (i.e., with 1-bits in higher bit planes), then refinement bits of significant coefficients and finally coefficients without significant neighbors. The three passes are called Significance Propagation, Magnitude Refinement and Cleanup pass, respectively.
In lossless mode all bit planes have to be encoded by the EBCOT, and no bit planes can be dropped.
The bits selected by these coding passes then get encoded by a context-driven binary arithmetic coder, namely the binary MQ-coder (as also employed by JBIG2). The context of a coefficient is formed by the state of its eight neighbors in the code block.
The result is a bit-stream that is split into packets where a packet groups selected passes of all code blocks from a precinct into one indivisible unit. Packets are the key to quality scalability (i.e., packets containing less significant bits can be discarded to achieve lower bit rates and higher distortion).
Packets from all sub-bands are then collected in so-called layers. The way the packets are built up from the code-block coding passes, and thus which packets a layer will contain, is not defined by the JPEG 2000 standard, but in general a codec will try to build layers in such a way that the image quality will increase monotonically with each layer, and the image distortion will shrink from layer to layer. Thus, layers define the progression by image quality within the codestream.
The problem is now to find the optimal packet length for all code blocks which minimizes the overall distortion in a way that the generated target bitrate equals the demanded bit rate.
While the standard does not define a procedure as to how to perform this form of rate–distortion optimization, the general outline is given in one of its many appendices: For each bit encoded by the EBCOT coder, the improvement in image quality, defined as mean square error, gets measured; this can be implemented by an easy table-lookup algorithm. Furthermore, the length of the resulting codestream gets measured. This forms for each code block a graph in the rate–distortion plane, giving image quality over bitstream length. The optimal selection for the truncation points, thus for the packet-build-up points is then given by defining critical slopes of these curves, and picking all those coding passes whose curve in the rate–distortion graph is steeper than the given critical slope. This method can be seen as a special application of the method of Lagrange multiplier which is used for optimization problems under constraints. The Lagrange multiplier, typically denoted by λ, turns out to be the critical slope, the constraint is the demanded target bitrate, and the value to optimize is the overall distortion.
Packets can be reordered almost arbitrarily in the JPEG 2000 bit-stream; this gives the encoder as well as image servers a high degree of freedom.
Already encoded images can be sent over networks with arbitrary bit rates by using a layer-progressive encoding order. On the other hand, color components can be moved back in the bit-stream; lower resolutions (corresponding to low-frequency sub-bands) could be sent first for image previewing. Finally, spatial browsing of large images is possible through appropriate tile or partition selection. All these operations do not require any re-encoding but only byte-wise copy operations.[citation needed]
Compression ratio
[edit]

Compared to the previous JPEG standard, JPEG 2000 delivers a typical compression gain in the range of 20%, depending on the image characteristics. Higher-resolution images tend to benefit more, where JPEG 2000's spatial-redundancy prediction can contribute more to the compression process. In very low-bitrate applications, studies have shown JPEG 2000 to be outperformed[35] by the intra-frame coding mode of H.264.
Computational complexity and performance
[edit]JPEG 2000 is much more complicated in terms of computational complexity in comparison with JPEG standard. Tiling, color component transform, discrete wavelet transform, and quantization could be done pretty fast, though entropy codec is time-consuming and quite complicated. EBCOT context modelling and arithmetic MQ-coder take most of the time of JPEG 2000 codec.
On CPU the main idea of getting fast JPEG 2000 encoding and decoding is closely connected with AVX/SSE and multithreading to process each tile in a separate thread. The fastest JPEG 2000 solutions utilize both CPU and GPU power to get high performance benchmarks.[36][37]
File format and codestream
[edit]Similar to JPEG-1, JPEG 2000 defines both a file format and a codestream. Whereas JPEG 2000 entirely describes the image samples, JPEG-1 includes additional meta-information such as the resolution of the image or the color space that has been used to encode the image. JPEG 2000 images should—if stored as files—be boxed in the JPEG 2000 file format, where they get the .jp2 extension. The part-2 extension to JPEG 2000 (ISO/IEC 15444-2) enriches the file format by including mechanisms for animation or composition of several codestreams into one single image. This extended file format is called JPX, and should use the file extension .jpf,[38] although .jpx is also used.[39]
There is no standardized extension for codestream data because codestream data is not to be considered to be stored in files in the first place, though when done for testing purposes, the extension .jpc, .j2k or .j2c is commonly used.
JPF File Format
[edit]The .jpf file extension is an alternative container format for JPEG 2000 images, supporting the extended feature set defined in Part 2 of the ISO/IEC 15444 standard. While functionally similar to .jp2, the .jpf format is commonly used in applications requiring wavelet compression, layered image structures, embedded metadata, and support for the JPEG 2000 Interactive Protocol (JPIP). It is often found in domains such as geospatial imaging, digital cinema, and forensic science.
The .jpf format supports revocable image access through a combination of metadata and network streaming mechanisms. These features enable greater control over how images are accessed and used, particularly in the context of artificial intelligence and identity protection. Capabilities include:
- Embedded digital consent flags
- Expiration dates and time-limited access windows
- Face-hash identifiers for identity-linked usage restrictions
- Cryptographic provenance and author verification
- Remote access revocation using JPIP session control
These mechanisms allow .jpf images to function as consent-aware media containers, offering post-publication control over AI training usage, facial recognition indexing, and unauthorized redistribution.[40]
Despite these technical capabilities, adoption of .jpf in consumer imaging software remains limited due to minimal support in mainstream browsers, mobile operating systems, and cloud platforms.
Metadata
[edit]For traditional JPEG, additional metadata, e.g. lighting and exposure conditions, is kept in an application marker in the Exif format specified by the JEITA. JPEG 2000 chooses a different route, encoding the same metadata in XML form. The reference between the Exif tags and the XML elements is standardized by the ISO TC42 committee in the standard 12234-1.4.
Extensible Metadata Platform can also be embedded in JPEG 2000.
Legal status
[edit]This section possibly contains original research. (May 2020) |
ISO 15444 is covered by patents and the specification lists 17 patent holders, but the contributing companies and organizations agreed that licenses for its first part—the core coding system—can be obtained free of charge from all contributors. But this is not a formal guarantee.[41][42] License and royalties may be required to use some extensions.[43][44]
The JPEG committee has stated:
It has always been a strong goal of the JPEG committee that its standards should be implementable in their baseline form without payment of royalty and license fees... The up and coming JPEG 2000 standard has been prepared along these lines, and agreement reached with over 20 large organizations holding many patents in this area to allow use of their intellectual property in connection with the standard without payment of license fees or royalties.[45]
However, the JPEG committee acknowledged in 2004 that undeclared submarine patents may present a hazard:[importance?]
It is of course still possible that other organizations or individuals may claim intellectual property rights that affect implementation of the standard, and any implementers are urged to carry out their own searches and investigations in this area.[46]
In ISO/IEC 15444-1:2016, the JPEG committee stated in "Annex L: Patent statement":
The International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) draw attention to the fact that it is claimed that compliance with this Recommendation | International Standard may involve the use of patents.
The complete list of intellectual property rights statements can be obtained from the ITU-T and ISO patent declaration databases (available at https://www.iso.org/iso-standards-and-patents.html)
ISO and IEC take no position concerning the evidence, validity and scope of these patent rights.
Attention is drawn to the possibility that some of the elements of this Recommendation | International Standard may be the subject of patent rights other than those identified in the above mentioned databases. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
Related standards
[edit]Several additional parts of the JPEG 2000 standard exist; amongst them are ISO/IEC 15444-2:2000, JPEG 2000 extensions defining the .jpx file format, featuring for example Trellis quantization, an extended file format and additional color spaces,[47] ISO/IEC 15444-4:2000, the reference testing and ISO/IEC 15444-6:2000, the compound image file format (.jpm), allowing compression of compound text/image graphics.[48]
Extensions for secure image transfer, JPSEC (ISO/IEC 15444-8), enhanced error-correction schemes for wireless applications, JPWL (ISO/IEC 15444-11) and extensions for encoding of volumetric images, JP3D (ISO/IEC 15444-10) are also already available from the ISO.
JPIP protocol for streaming JPEG 2000 images
[edit]In 2005, a JPEG 2000–based image browsing protocol, called JPIP was published as ISO/IEC 15444-9.[49] Within this framework, only selected regions of potentially huge images have to be transmitted from an image server on the request of a client, thus reducing the required bandwidth.
JPEG 2000 data may also be streamed using the ECWP and ECWPS protocols found within the ERDAS ECW/JP2 SDK.
Motion JPEG 2000
[edit]Motion JPEG 2000, (MJ2), originally defined in Part 3 of the ISO Standard for JPEG2000 (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 and in ITU-T Recommendation T.802.[50] It specifies the use of the JPEG 2000 format for timed sequences of images (motion sequences), possibly combined with audio, and composed into an overall presentation.[51][52] It also defines a file format,[53] based on ISO base media file format (ISO 15444-12). Filename extensions for Motion JPEG 2000 video files are .mj2 and .mjp2 according to RFC 3745.
It is an open ISO standard and an advanced update to MJPEG (or MJ), which was based on the legacy JPEG format. Unlike common video formats, such as MPEG-4 Part 2, WMV, and H.264, MJ2 does not employ temporal or inter-frame compression. Instead, each frame is an independent entity encoded by either a lossy or lossless variant of JPEG 2000. Its physical structure does not depend on time ordering, but it does employ a separate profile to complement the data. For audio, it supports LPCM encoding, as well as various MPEG-4 variants, as "raw" or complement data.[54]
Motion JPEG 2000 (often referenced as MJ2 or MJP2) is considered as a digital archival format[55] by the Library of Congress though MXF_OP1a_JP2_LL (lossless JPEG 2000 wrapped in MXF operational pattern 1a) is preferred by the LOC Packard Campus for Audio-Visual Conservation.
ISO base media file format
[edit]ISO/IEC 15444-12 is identical with ISO/IEC 14496-12 (MPEG-4 Part 12) and it defines ISO base media file format. For example, Motion JPEG 2000 file format, MP4 file format or 3GP file format are also based on this ISO base media file format.[56][57][58][59][60]
GML JP2 georeferencing
[edit]The Open Geospatial Consortium (OGC) has defined a metadata standard for georeferencing JPEG 2000 images with embedded XML using the Geography Markup Language (GML) format: GML in JPEG 2000 for Geographic Imagery Encoding (GMLJP2), version 1.0.0, dated 2006-01-18.[61] Version 2.0, entitled GML in JPEG 2000 (GMLJP2) Encoding Standard Part 1: Core was approved 2014-06-30.[61]
JP2 and JPX files containing GMLJP2 markup can be located and displayed in the correct position on the Earth's surface by a suitable Geographic Information System (GIS), in a similar way to GeoTIFF and GTG images.
Application support
[edit]Applications
[edit]- ^ .jpf files open but are unusable.
- ^ IrfanView is provided as freeware, but only for private, non-commercial use (that means at home), educational use (schools, universities, museums, libraries) and for use in charity or humanitarian organisations including fire departments and national park services. Companies and most state organisations need user/device licenses.[1]
- ^ Mozilla support for JPEG 2000 was requested in April 2000, but the report was closed as WONTFIX in August 2009.[2] There is an extension that adds support to older versions of Firefox.[3] Archived 2019-05-05 at the Wayback Machine
- ^ Adobe Photoshop CS2 and CS3's official JPEG 2000 plug-in package is not installed by default and must be manually copied from the install disk/folder to the Plug-Ins > File Formats folder.
- ^ Tested with Preview.app 7.0 in Mac OS 10.9
- ^ Safari 18 dropped support for JPEG-2000 images.[4] Older versions of Safari since Safari 5 supported JPEG-2000 images.
- ^ XnView and XnViewMP are offered as freeware for private or educational use (including non-profit organizations).[5]
Libraries
[edit]| Program | Part 1 | Part 2 | Language | License | ||
|---|---|---|---|---|---|---|
| Read | Write | Read | Write | |||
| Grok | Yes | Yes | Partial | No | C++ | AGPL |
| JasPer | Yes | Yes | No | No | C | JasPer Software License |
| Kakadu | Yes | Yes | Yes | Yes | C++ | Proprietary |
| OpenJPEG | Yes | Yes | Partial | Partial | C | 2-clause BSD |
| Pillow | Yes | Yes | Yes | Yes | Python | MIT |
See also
[edit]- AVIF
- Comparison of graphics file formats
- Digital cinema
- DjVu – a compression format that also uses wavelets and that is designed for use on the web.
- ECW – a wavelet compression format that compares well to JPEG 2000.
- High bit rate media transport
- JPEG LS – another lossless image compression standard from JPEG.
- JPEG XL - Long-term replacement for JPEG.
- JPIP – JPEG 2000 Interactive Protocol
- MrSID – a wavelet compression format that compares well to JPEG 2000
- Motion picture film scanning output formats
- PGF – a fast wavelet compression format that compares well to JPEG 2000
- QuickTime – a multimedia framework, application and web browser plugin developed by Apple, capable of encoding, decoding and playing various multimedia files (including JPEG 2000 images by default).
- Video compression picture types
- Wavelet
- WebP – an image format related to WebM, supporting lossy and lossless compression
References
[edit]- ^ Taubman, David; Marcellin, Michael (2012). JPEG2000 Image Compression Fundamentals, Standards and Practice: Image Compression Fundamentals, Standards and Practice. Springer Science & Business Media. ISBN 9781461507994.
- ^ Clark, Richard; Lee, Daniel T.; Singer, David (April 2004). "RFC 3745: MIME Type Registrations for JPEG 2000 (ISO/IEC 15444)". IETF Datatracker. Internet Engineering Task Force. Retrieved 21 April 2024.
- ^ Zandi, A.; Allen, J.D.; Schwartz, E.L.; Boliek, M. (1995). CREW: Compression with Reversible Embedded Wavelets. IEEE Comput. Soc. Press. pp. 212–221. doi:10.1109/DCC.1995.515511. ISBN 978-0-8186-7012-1.
- ^ Boliek, Martin P.; Gormisch, Michael J.; Schwartz, Edward L.; Keith, Alexander F. (July 1998). "Decoding compression with reversible embedded wavelets (CREW) codestreams". Journal of Electronic Imaging. 7 (3): 402–409. Bibcode:1998JEI.....7..402B. doi:10.1117/1.482653. ISSN 1017-9909.
- ^ Marcellin, M.W.; Gormish, M.J.; Bilgin, A.; Boliek, M.P. (2000). An overview of JPEG-2000. IEEE Comput. Soc. pp. 523–541. doi:10.1109/DCC.2000.838192. ISBN 978-0-7695-0592-3.
- ^ Swartz, Charles S. (2005). Understanding Digital Cinema: A Professional Handbook. Taylor & Francis. p. 147. ISBN 9780240806174.
- ^ Anderson, Aman (2025). "A Secure, Consent-Enforcing Image Protocol Using JPEG 2000 and JPIP Streaming for AI Integrity and Privacy". Academia.edu. Archived from the original on 8 July 2025. Retrieved 2025-07-08.
- ^ Lundell, B.; Gamalielsson, J.; Katz, A. (2015). "On Implementation of Open Standards in Software: To What Extent Can ISO Standards Be Implemented in Open Source Software?" (PDF). International Journal of Standardization Research. 13 (1): 47–73. doi:10.4018/IJSR.2015010103. Archived (PDF) from the original on 2019-05-08. Retrieved 2019-05-08.
- ^ wgrib2 home page
- ^ The JPEG Still Picture Compression Standard Archived 2008-10-30 at the Wayback Machine pp.6–7
- ^ "Guest post: Color in JP2". Wellcome Library. Retrieved 18 January 2021.
- ^ "JPEG 2000 Format Support". Accusoft. Archived from the original on 27 May 2025. Retrieved 20 May 2025.
- ^ Christopoulos, Charilaos. "JPEG2000 Still Image Coding System: An Overview" (PDF). Carnegie Mellon University. p. 2. Archived (PDF) from the original on 3 July 2025. Retrieved 13 May 2025.
- ^ a b JPEG. "Joint Photographic Experts Group, JPEG2000". Archived from the original on 2020-12-11. Retrieved 2009-11-01.
- ^ IGN Standardization Team. "JPEG2000 (ISO 15444)". Archived from the original on 2011-06-27. Retrieved 2009-11-01.
- ^ International Organization for Standardization. "ISO/IEC 15444-2:2023 - Information technology — JPEG 2000 image coding system — Part 2: Extensions". Retrieved 2023-07-20.
- ^ International Organization for Standardization. "ISO/IEC 15444-3:2007 – Information technology – JPEG 2000 image coding system: Motion JPEG 2000". Archived from the original on 2024-04-18. Retrieved 2017-10-19.
- ^ International Organization for Standardization. "ISO/IEC 15444-5:2021 – Information technology – JPEG 2000 image coding system: Reference software". Retrieved 2017-10-19.
- ^ International Organization for Standardization/IEC JTC 1/SC 29/WG 1 (2000-12-08). "JPEG, JBIG – Resolutions of 22nd WG1 New Orleans Meeting". Archived from the original (DOC) on 2014-05-12. Retrieved 2009-11-01.
{{cite web}}: CS1 maint: numeric names: authors list (link) - ^ "22nd WG1 New Orleans Meeting, Draft Meeting Report". 2000-12-08. Archived from the original (DOC) on 2014-05-12. Retrieved 2009-11-01.
- ^ "iso".
- ^ "iso".
- ^ International Organization for Standardization. "ISO/IEC 15444-10:2011 – Information technology – JPEG 2000 image coding system: Extensions for three-dimensional data". Archived from the original on 2017-10-19. Retrieved 2017-10-19.
- ^ International Organization for Standardization. "ISO/IEC 15444-11:2007 – Information technology – JPEG 2000 image coding system: Wireless". Archived from the original on 2017-10-19. Retrieved 2017-10-19.
- ^ International Organization for Standardization. "ISO/IEC 15444-12:2015 – Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format". Archived from the original on 2023-02-28. Retrieved 2017-10-19.
- ^ International Organization for Standardization. "ISO/IEC 15444-13:2008 – Information technology – JPEG 2000 image coding system: An entry level JPEG 2000 encoder". Retrieved 2017-10-19.
- ^ International Organization for Standardization (2007-07-01). "ISO/IEC 15444-14:2013 – Information technology – JPEG 2000 image coding system – Part 14: XML representation and reference". Retrieved 2009-11-01.
- ^ "Resolutions of 41st WG1 San Jose Meeting". 2007-04-27. Archived from the original (DOC) on 2014-05-12. Retrieved 2009-11-01.
- ^ van der Knijff, Johan (2011). "JPEG 2000 for Long-term Preservation: JP2 as a Preservation Format". D-Lib Magazine. 17 (5/6). doi:10.1045/may2011-vanderknijff.
- ^ "T.800 : Information technology - JPEG 2000 image coding system: Core coding system". ITU.int. Archived from the original on 2021-05-18. Retrieved 2021-03-19.
- ^ a b Unser, M.; Blu, T. (2003). "Mathematical properties of the JPEG2000 wavelet filters" (PDF). IEEE Transactions on Image Processing. 12 (9): 1080–1090. Bibcode:2003ITIP...12.1080U. doi:10.1109/TIP.2003.812329. PMID 18237979. S2CID 2765169. Archived from the original (PDF) on 2019-10-13.
- ^ Sullivan, Gary (8–12 December 2003). "General characteristics and design considerations for temporal subband video coding". ITU-T. Video Coding Experts Group. Archived from the original on 6 March 2023. Retrieved 13 September 2019.
- ^ Bovik, Alan C. (2009). The Essential Guide to Video Processing. Academic Press. p. 355. ISBN 9780080922508.
- ^ Le Gall, Didier; Tabatabai, Ali J. (1988). Sub-band coding of digital images using symmetric short kernel filters and arithmetic coding techniques. ICASSP-88., International Conference on Acoustics, Speech, and Signal Processing. Vol. 2. pp. 761–764. doi:10.1109/ICASSP.1988.196696. S2CID 109186495.
- ^ Halbach, Till (July 2002). "Performance Comparison: H.26L Intra Coding vs. JPEG2000" (PDF). Archived from the original (PDF) on 2011-07-23. Retrieved 2008-04-22.
- ^ Fastvideo (September 2018). "JPEG2000 Performance Benchmarks on GPU". Archived from the original on 2019-04-26. Retrieved 2019-04-26.
- ^ Comprimato (September 2016). "JPEG2000 Performance Specification". Archived from the original on 2016-09-13. Retrieved 2016-09-01.
- ^ ISO/IEC 15444-2 Information technology — JPEG 2000 image coding system: Extensions, ISO, 2004-05-15 (in Annex M, section M.2.1 File identification)
- ^ "JPEG 2000 Part 2 (Extensions) jpf (jpx) File Format". Library of Congress. 22 November 2022. Archived from the original on 20 July 2023. Retrieved 20 July 2023.
- ^ Anderson, Aman. "A Secure, Consent-Enforcing Image Protocol Using JPEG 2000 and JPIP Streaming for AI Integrity and Privacy". Academia.edu. Retrieved 2025-07-08.
- ^ JPEG 2000 Part 1 (Core) jp2 File Format (Full draft). Sustainability of Digital Formats. Washington, D.C.: Library of Congress. 27 April 2022. Retrieved 23 February 2024.
- ^ JPEG 2000 Part 1, Core Coding System (Full draft). Sustainability of Digital Formats. Washington, D.C.: Library of Congress. 22 November 2022. Retrieved 23 February 2024.
- ^ JPEG 2000 Part 2 (Extensions) jpf (jpx) File Format (Full draft). Sustainability of Digital Formats. Washington, D.C.: Library of Congress. 22 November 2022. Retrieved 23 February 2024.
- ^ JPEG 2000 Part 2, Coding Extensions (Full draft). Sustainability of Digital Formats. Washington, D.C.: Library of Congress. 21 June 2005. Retrieved 23 February 2024.
- ^ "JPEG 2000 Concerning recent patent claims". Archived from the original on July 14, 2007.
- ^ "JPEG 2000 Committee Drafts". Archived from the original on July 2, 2006.
- ^ International Organization for Standardization (2004). "ISO/IEC 15444-2:2004, Information technology – JPEG 2000 image coding system: Extensions". Archived from the original on 2009-07-07. Retrieved 2009-06-11.
- ^ International Organization for Standardization (2003). "ISO/IEC 15444-6:2003, Information technology – JPEG 2000 image coding system – Part 6: Compound image file format". Retrieved 2009-06-11.
- ^ International Organization for Standardization (2005). "ISO/IEC 15444-9:2005, Information technology – JPEG 2000 image coding system: Interactivity tools, APIs and protocols". Archived from the original on 2009-07-07. Retrieved 2009-06-11.
- ^ "T.802 : Information technology – JPEG 2000 image coding system: Motion JPEG 2000". January 2005. Archived from the original on 2012-10-12. Retrieved 2009-11-01.
- ^ International Organization for Standardization (2007). "ISO/IEC 15444-3:2007, Information technology – JPEG 2000 image coding system: Motion JPEG 2000". Archived from the original on 2012-09-23. Retrieved 2009-06-11.
- ^ JPEG (2007). "Motion JPEG 2000 (Part 3)". Archived from the original on 2012-10-05. Retrieved 2009-11-01.
- ^ ITU-T. "T.802 : Information technology – JPEG 2000 image coding system: Motion JPEG 2000 – Summary". Archived from the original on 2012-11-06. Retrieved 2010-09-28.
- ^ "Motion JPEG 2000 (Part 3)". Archived from the original on October 5, 2012.
- ^ Motion JPEG 2000 mj2 File Format. Sustainability of Digital Formats Planning for Library of Congress Collections.
- ^ International Organization for Standardization (April 2006). "ISO Base Media File Format white paper – Proposal". Archived from the original on 2008-07-14. Retrieved 2009-12-26.
- ^ International Organization for Standardization (October 2005). "MPEG-4 File Formats white paper – Proposal". Archived from the original on 2008-01-15. Retrieved 2009-12-26.
{{cite journal}}: Cite journal requires|journal=(help) - ^ International Organization for Standardization (October 2009). "ISO Base Media File Format white paper – Proposal". chiariglione.org. Archived from the original on 2021-04-29. Retrieved 2009-12-26.
{{cite journal}}: Cite journal requires|journal=(help) - ^ International Organization for Standardization (2004). "ISO/IEC 14496-12:2004, Information technology – Coding of audio-visual objects – Part 12: ISO base media file format". Archived from the original on 2016-08-19. Retrieved 2009-06-11.
- ^ International Organization for Standardization (2008). "ISO/IEC 15444-12:2008, Information technology – JPEG 2000 image coding system – Part 12: ISO base media file format". Archived from the original on 2009-07-07. Retrieved 2009-06-11.
- ^ a b Open Geospatial Consortium GMLJP2 Home Page
- ^ "Creating, Opening, and Saving Images". Flying Meat. Retrieved 13 October 2023.
- ^ "Blender 2.49". 2009-05-30. Archived from the original on 2009-06-11. Retrieved 2010-01-20.
- ^ "Daminion | an Effective Digital Asset Management Solution". daminion.net.
- ^ "darktable". darktable. Archived from the original on 2021-03-27. Retrieved 2023-01-21.
- ^ "The digiKam Handbook – Supported File Formats". docs.kde.org. Archived from the original on 2009-09-01. Retrieved 2010-01-20.
- ^ "The Showfoto Handbook – Supported File Formats". Archived from the original on 2011-02-13. Retrieved 2010-01-20.
- ^ a b c "Development/Architecture/KDE3/Imaging and Animation". Archived from the original on 2008-10-14. Retrieved 2010-01-20.
- ^ The GIMP Team (2025-06-23). "GIMP 3.1.2: First Development Release towards GIMP 3.2". Retrieved 2025-06-24.
- ^ Phap, Duong Dieu. "Supported Formats | ImageGlass Docs". Imageglass - A Lightweight, Versatile Image Viewer. Archived from the original on 9 September 2021. Retrieved 30 September 2024.
- ^ "ImageGlass/LICENSE at develop · d2phap/ImageGlass". GitHub. Archived from the original on 7 October 2024. Retrieved 30 September 2024.
- ^ Sejin Chun. "Imagine: Freeware Image & Animation Viewer for Windows". Archived from the original on 2020-11-01. Retrieved 2018-05-02.
- ^ Irfan Skiljan. "IrfranView Plugins". Retrieved 2025-09-12.
- ^ "File Formats: JPEG and LEAD Compressed (JPG, J2K, JPX, JP2, JLS, CMP, CMW) | Raster, Medical, Document Help".
- ^ "JPEG 2000 Image Compression SDK Libraries for Windows, Linux, macOS, Android, iOS, Web, .NET Framework, .NET Core, Xamarin, UWP, C++ Class Library, C#, VB, C/C++, Java, Objective-C, Swift, and HTML / JavaScript | LEADTOOLS". Archived from the original on 2021-02-11. Retrieved 2021-02-12.
- ^ "Creating, Opening, and Saving Images". Flying Meat. Retrieved 13 October 2023.
- ^ W Moore, Charles (8 September 2008). "Seashore: A Free, Basic Image Editor for Mac OS X". Low End Mac. Retrieved 14 October 2023.
Sources
[edit]- Official JPEG 2000 page
- Final Committee Drafts of JPEG 2000 standard (archived 2006) (as the official JPEG 2000 standard is not freely available, the final drafts are the most accurate freely available documentation about this standard)
- Gormish Notes on JPEG 2000 (last updated 2004, archived 2006) by Michael J. Gormish of Ricoh
- Technical overview of JPEG 2000 (PDF, archived 2004), Proc. of IEEE Data Compression Conference, pp. 523—541, 2000
External links
[edit]- Official website

- ITU-T T.800 JPEG 2000 image coding system: Core coding system from ITU
- Format descriptions of JPEG 2000 Part 1 (Core) jp2 File Format and JPEG 2000 Part 1, Core Coding System from Library of Congress
- nvJPEG2000 – Nvidia's CUDA decoder and encoder
JPEG 2000
View on GrokipediaIntroduction
History and Development
The development of JPEG 2000 was initiated in March 1997 by the Joint Photographic Experts Group (JPEG), operating under the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) as ISO/IEC JTC1/SC29/WG1, in response to the limitations of the original JPEG standard's discrete cosine transform (DCT)-based approach.[10] The committee issued a call for contributions, evaluating 24 proposed algorithms in November 1997 during its meeting in Sydney, Australia, with wavelet-based methods emerging as frontrunners due to their superior performance in progressive transmission and error resilience.[10] Influenced by 1990s research on wavelet transforms, such as the embedded zerotree wavelet (EZW) and coefficient representation of embedded wavelets (CREW) algorithms, the standard prioritized these for better handling of high-resolution and scalable imagery compared to DCT limitations.[10] Touradj Ebrahimi of the École Polytechnique Fédérale de Lausanne (EPFL) served as the primary editor and later Convenor of the JPEG committee, guiding the effort alongside initial Convener Daniel Lee of Hewlett-Packard.[11][2] The first verification model was established post-1997, leading to the adoption of the embedded block coding with optimized truncation (EBCOT) algorithm in 1998. A committee draft for Part 1 (core coding system) was released in December 1999, culminating in its approval as an International Standard (ISO/IEC 15444-1) in December 2000.[10] Subsequent parts followed rapidly: Part 2 (extensions) in November 2001, Part 3 (Motion JPEG 2000) in September 2002, Part 4 (conformance testing) in October 2002, and Part 5 (reference software) in November 2003.[12] Parts 6 through 14, addressing features like wireless transmission and managed object models, were progressively published between 2003 and 2015.[12] Adoption milestones highlighted JPEG 2000's strengths in professional applications, though patent pool complexities hindered widespread consumer use. In 2005, the Digital Cinema Initiatives (DCI) consortium selected JPEG 2000 as the compression standard for digital cinema distribution, enabling high-quality 2K and 4K mastering at bit rates up to 250 Mbps.[13] By 2008, it was integrated into the Digital Imaging and Communications in Medicine (DICOM) standard for medical imaging, supporting lossless compression of volumetric data like CT and MRI scans.[14] The format also gained traction in satellite and geospatial imagery for its scalability and high dynamic range, as adopted by organizations like NASA and the European Space Agency for efficient handling of large remote sensing datasets.[15] However, licensing issues from multiple patent pools, including those managed by MPEG LA, created barriers for software and hardware implementers, limiting integration into consumer devices and web browsers.[5] Recent advancements have focused on enhancing throughput for modern workflows. Part 15, defining High Throughput JPEG 2000 (HTJ2K) for faster encoding and decoding while maintaining backward compatibility, was finalized in 2019 (ISO/IEC 15444-15).[16] Part 16, specifying the JPH file format for HTJ2K codestreams, was published in 2022 (ISO/IEC 15444-16), with Part 17 on fragmentary codestream representation for improved interoperability updated in 2023 (ISO/IEC 15444-17).[17][18] From 2023 to 2025, the JPEG committee has emphasized HTJ2K integration for high-throughput applications, including cloud-based imaging and satellite data processing, as evidenced by ongoing amendments and the 25th anniversary activities planned for 2025.[12][16]Overview and Core Concepts
JPEG 2000, formally known as ISO/IEC 15444, is a wavelet-based image coding system developed for the efficient compression of digital still images, offering both lossless and lossy compression modes along with advanced features such as resolution and quality scalability, region-of-interest coding, and support for high dynamic range imaging.[19][3] The standard enables the handling of a wide variety of image types, including bi-level, grayscale, and color images, while providing flexibility for applications requiring progressive transmission or interactive viewing.[19] At its core, the architecture of JPEG 2000 processes an input image through a series of stages: optional tiling to divide the image into manageable blocks, an optional color component transformation to decorrelate channels like RGB, application of a discrete wavelet transform (DWT) for multi-resolution decomposition, uniform scalar quantization of the resulting coefficients, and finally entropy coding via the Embedded Block Coding with Optimized Truncation (EBCOT) algorithm to generate a compact codestream.[19] The basic workflow begins with preprocessing, including DC level shifting and tiling if needed, followed by the DWT to organize coefficients into subbands, grouping these into small code-blocks for independent processing, and employing rate-distortion optimization in EBCOT to create a layered bitstream that allows truncation for varying quality levels without re-encoding.[19] JPEG 2000 delivers key benefits such as superior compression efficiency at low bitrates—often below 0.25 bits per pixel for detailed images—while maintaining or improving quality at higher rates, alongside region-of-interest coding that prioritizes fidelity in selected areas.[19] It supports images up to pixels and bit depths reaching 38 bits per sample, enabling handling of massive, high-precision datasets.[3] In contrast to the traditional JPEG standard, which employs the discrete cosine transform (DCT) on 8×8 blocks leading to blocky artifacts at low bitrates, JPEG 2000's DWT approach yields smoother compression artifacts and native scalability for resolution, quality, and component progression.[19]Design Goals
Primary Objectives
The JPEG committee established primary objectives for JPEG 2000 to address limitations in the original JPEG standard while introducing advanced capabilities for modern imaging needs. A core goal was to achieve 20–30% better compression efficiency compared to JPEG at equivalent perceptual quality levels, particularly targeting superior performance at both low and high bitrates.[2] This improvement was intended to be realized through a unified framework supporting both lossy and lossless compression modes, allowing seamless switching without separate encoding processes.[20] Additional objectives focused on enhancing transmission and decoding flexibility, including support for progressive transmission by quality layers (SNR scalability) and resolution levels, enabling efficient decoding at varying bitrates and resolutions from a single codestream.[21] The standard was designed to provide robustness against transmission errors, making it suitable for error-prone channels, while offering flexibility for diverse image types such as high bit-depth grayscale or multi-component color images.[2] These features aimed to future-proof the standard for emerging applications, including interactive and scalable imaging scenarios.[20] The 1997 call for proposals (ISO/IEC JTC 1/SC 29/WG 1 N505) outlined specific requirements, emphasizing low computational and memory complexity for practical software and hardware implementations, as well as an open standard with royalty-free baseline compliance to encourage widespread adoption.[2] Performance targets included preserving visual quality at low bitrates below 0.25 bits per pixel (bpp) and ensuring compatibility with existing JPEG workflows where feasible.[21] These goals were influenced by demands in fields like medical and archival imaging, where scalable access and error resilience are critical.[20]Target Applications
JPEG 2000 was primarily designed for professional applications requiring high-fidelity image compression, such as digital cinema, where it ensures compliance with Digital Cinema Initiatives (DCI) specifications for 2K and 4K distribution, supporting up to 250 Mbit/s bit-rates for feature films and enabling significant storage and bandwidth savings.[22][23] In medical imaging, it integrates with the DICOM standard for lossless compression of X-rays, MRI, and CT scans, providing superior quality at low bit-rates (e.g., 0.125–2.75 bits/pixel) compared to traditional JPEG while supporting progressive decoding and region-of-interest coding for diagnostic workflows.[24][22] For satellite and aerial photography, agencies like NOAA and NASA employ JPEG 2000 for archiving large-scale imagery, such as the HiRISE Mars dataset, leveraging its scalability for efficient transmission over low-bandwidth links and handling of high-resolution, multi-terapixel files.[22] Other key uses include prepress printing, where its wavelet-based compression maintains fidelity and consistency during file preparation for high-quality output, addressing requirements for color scanning and digital libraries.[6][25] Cultural heritage digitization benefits from its metadata support and lossless options, as seen in the Library of Congress's adoption for preservation projects since the early 2000s, including the 2011 JPEG 2000 Summit to standardize archival practices.[7][26] In forensic imaging, the format's resolution and quality scalability allows for detailed analysis without full decompression, preserving evidence integrity in scalable workflows.[3] Niche applications extend to high-dynamic-range (HDR) imaging in astronomy, where JPEG 2000 handles large radio spectral-imaging data cubes with minimal lossy compression artifacts, supporting scientific quality in datasets from instruments like the Australian Square Kilometre Array Pathfinder.[27][28] Geospatial data processing utilizes its georeferencing capabilities in GIS applications, enabling region-of-interest access for satellite-derived maps and navigation, as demonstrated by the Norwegian Coast Guard's low-bandwidth imagery delivery.[22] Adoption in Hollywood post-production during the 2000s included films like Stealth (2005) and Avatar (2009), where JPEG 2000 facilitated 3D content creation and distribution with error resilience for complex editing pipelines.[22][23] In broadcasting, it powers contribution links for live event transmission to studios, offering low-latency, high-quality video over IP.[6][29] Consumer use remains limited due to computational complexity and lack of native support in mainstream devices.[6] By 2025, JPEG 2000's role has expanded in professional video via AV-over-IP systems for 4K distribution in pro AV environments, and in cloud-based medical AI for accelerating decoding of pathology and satellite images on GPUs.[30][31][32]Improvements over JPEG
Multiple Resolution and Progressive Features
One of the key advancements in JPEG 2000 is its support for multi-resolution encoding, achieved through dyadic decomposition using the discrete wavelet transform (DWT), which generates a pyramid of resolutions such as full scale, half scale, and quarter scale.[33] This structure enables both signal-to-noise ratio (SNR) scalability, where image quality improves progressively, and spatial scalability, allowing decoding at varying resolutions without re-encoding.[33] In contrast to the baseline JPEG standard, which lacks inherent multi-resolution capabilities and requires separate files for different scales, JPEG 2000 derives multiple resolutions from a single codestream, facilitating efficient handling of large images.[34] JPEG 2000's progressive transmission is facilitated by a layered codestream organization, where data is structured to allow decoding at increasing levels of quality or resolution as more information is received.[33] This includes quality-progressive mode, which builds SNR layers to refine image fidelity incrementally, and resolution-progressive mode, which provides successive approximations starting from a low-resolution preview and scaling up by factors of two.[33] These features surpass JPEG's limited spectral selection and successive approximation progression, offering more flexible and efficient data delivery.[34] The benefits of these capabilities are particularly evident in interactive applications, such as web-based image browsing, where users can zoom into regions without downloading the entire high-resolution file, or in streaming scenarios for large datasets like medical imaging, enabling bandwidth-efficient transmission and real-time previews.[33][35] For instance, a client can first decode a low-resolution thumbnail for quick navigation, then request refinements for selected areas, reducing latency and data usage.[33] At the technical level, precincts partition the image into spatial and resolution-based groups of code-blocks, while packets bundle contributions from these precincts into specific layers, ensuring organized and scalable access to the codestream for progressive decoding.[33] This organization supports seamless integration with network protocols, enhancing reliability in error-prone environments without compromising the progressive features.[35]Lossless and Lossy Compression Options
JPEG 2000 provides both lossless and lossy compression capabilities within a unified framework, enabling users to select the mode based on requirements for data fidelity and file size reduction. In the lossless mode, the reversible color transform (RCT) is applied, which uses integer arithmetic to approximate the YUV color space and decorrelate color components without introducing errors, ensuring bit-for-bit exact reconstruction of the original image. This mode employs the reversible 5/3 integer wavelet transform and omits quantization, making it ideal for applications like digital archiving where data integrity is paramount. The standard supports high bit depths up to 38 bits per component in lossless mode, accommodating images with greater dynamic range than traditional formats.[3] In contrast, the lossy mode utilizes the irreversible color transform (ICT), a floating-point conversion from RGB to YCbCr that enhances compression efficiency by further reducing inter-component correlations, paired with scalar quantization of wavelet coefficients to discard less perceptually significant information. This approach allows for high compression ratios, such as 200:1, while introducing controlled artifacts that are generally less visually disruptive than those in older standards. The irreversible 9/7 Daubechies wavelet transform is mandatory for lossy coding, providing superior rate-distortion performance at low bit rates compared to reversible options. The choice between modes can be applied globally across the image or on a per-component basis, with Part 2 of the standard extending flexibility through component groupings for mixed transformations. Relative to the baseline JPEG standard, JPEG 2000's wavelet-based approach eliminates blocking artifacts inherent in discrete cosine transform (DCT) block coding, offering smoother image quality especially at high compression levels, and better handles high bit-depth data without precision loss in lossless scenarios. For instance, in medical imaging, lossless JPEG 2000 is employed for primary diagnostic images requiring precise detail preservation, while lossy variants serve for transmission or preview purposes where moderate quality suffices. These compression options integrate seamlessly with progressive decoding features, allowing layered lossy reconstruction from a single codestream.Error Resilience and File Flexibility
JPEG 2000 incorporates several built-in mechanisms to enhance error resilience, addressing the limitations of traditional JPEG in error-prone transmission environments such as wireless networks. Key features include Start of Packet (SOP) and Start of Data (SOD) markers, which facilitate packet synchronization and resynchronization after errors by delimiting packet boundaries in the codestream.[36] These markers, such as SOP (0xFF91) and SOD (0xFF93), allow decoders to detect and recover from bit errors or packet losses by restarting decoding at the next valid packet.[37] Precincts further contribute to error containment by organizing code-blocks into hierarchical spatial regions, limiting the propagation of errors to specific areas of the image rather than the entire codestream.[36] Each precinct groups code-blocks at a given resolution level, enabling localized error recovery and reducing the impact of transmission disruptions. Additionally, optional Cyclic Redundancy Check (CRC) codes can be applied to individual code-blocks, providing bit-level error detection to discard corrupted data segments without affecting unaffected portions. To prioritize critical image regions, JPEG 2000 supports Region-of-Interest (ROI) coding, which allocates higher bit rates or finer quantization to selected areas using techniques like the max-shift method.[36] This method scales the wavelet coefficients in ROI areas to embed them at higher significance levels in the bitstream, ensuring better protection and quality for important features such as text or faces. Other resilience tools include arithmetic coder termination at the end of coding passes to prevent error carryover between passes, and segmentation symbols (binary pattern 1010) inserted at the end of bit-plane cleanup passes for detecting incomplete code-blocks.[36] The file format of JPEG 2000 offers significant flexibility, allowing the codestream to operate as a standalone entity or be embedded within the JP2 container for enhanced interoperability. This structure supports arbitrary tiling of input images into non-overlapping rectangular blocks, enabling efficient processing of large or high-resolution images by dividing them into manageable parts without quality loss at tile boundaries. Component transformations, such as the reversible color transform (RCT) for RGB to YCbCr conversion, can be applied selectively per tile or component, adapting to diverse color spaces and bit depths.[38] Furthermore, the standard accommodates side-channel data through dedicated boxes in the JP2 file format, permitting the inclusion of metadata, XML descriptions, or intellectual property information alongside the core codestream. This modularity extends to support for high dynamic range imaging by allowing extended bit depths up to 38 bits per sample within the same flexible framework.[3] These resilience and flexibility features provide substantial advantages in challenging environments, with JPEG 2000 codestreams capable of surviving packet loss rates up to 20% in wireless channels when combined with forward error correction.[39] The design is particularly suited for compound documents or animations, where tiling and ROI enable targeted quality control across mixed content types. In practice, JPEG 2000 has been employed in broadcast applications, such as live event contribution links over error-prone satellite or microwave transmissions, ensuring reliable delivery of high-quality video feeds.[6]Technical Specifications
Color Component Transformation
JPEG 2000 supports a wide range of color spaces for multi-component images, including RGB, YCbCr, sRGB, grayscale, and CMYK via ICC profiles, with up to 16384 components possible to accommodate specialized applications such as hyperspectral imaging.[3] This flexibility allows the standard to handle both common photographic formats and professional printing workflows without requiring external color space conversions prior to encoding. The Irreversible Color Transform (ICT) is an optional preprocessing step applied to the first three components of RGB images for lossy compression, decorrelating the color channels to improve compression efficiency while aligning with the human visual system; it is designed specifically for use with the 9/7 irreversible wavelet transform.[38][40] The forward ICT matrix is given by:$$ \begin{pmatrix} Y \ Cb \ Cr \end{pmatrix}
\begin{pmatrix} 0.299 & 0.587 & 0.114 \ -0.16875 & -0.33126 & 0.5 \ 0.5 & -0.41869 & -0.08131 \end{pmatrix} \begin{pmatrix} R \ G \ B \end{pmatrix} $$ This transformation resembles the YCbCr conversion in baseline JPEG but uses coefficients optimized for the wavelet-based coding in JPEG 2000, avoiding chrominance subsampling to preserve full resolution across components.[20][38] For lossless compression, the Reversible Color Transform (RCT) provides an integer-based approximation of the ICT, enabling exact reconstruction of the original RGB values when paired with the 5/3 reversible wavelet transform.[40][20] The forward RCT is defined as:Tiling and Wavelet Transform
In JPEG 2000, the image is optionally partitioned into a rectangular grid of non-overlapping tiles to facilitate memory-efficient processing of large images, enabling independent encoding and decoding of each tile for parallelization and region-of-interest access. Tile sizes are specified in the codestream header and must be identical for all components within a tile, typically chosen as powers of two such as 1024 × 1024 pixels for balanced performance, though the minimum size is 1 × 1 sample per tile-component. This tiling step follows the color component transformation, dividing each transformed component into corresponding tile-components that are processed separately. The discrete wavelet transform (DWT) forms the foundation of JPEG 2000's frequency-domain decomposition, applied separably in two dimensions to each tile-component using Mallat's pyramid algorithm with filter banks. The process begins with a one-dimensional DWT along the rows (horizontal pass), producing low-pass and high-pass coefficients, followed by a vertical pass on the resulting coefficients to yield four subbands: LL (approximation, low-frequency), HL (horizontal details), LH (vertical details), and HH (diagonal details). The LL subband is then recursively decomposed in the same manner to generate multiple resolution levels, supporting progressive transmission and up to 32 decomposition levels for high-resolution images. To ensure computational efficiency and reduced memory usage, the DWT implements both filter banks via the lifting scheme, an in-place factorization that avoids explicit filter coefficient storage and enables reversible integer transforms. For lossy compression, the irreversible 9/7 Daubechies wavelet filter bank is employed, featuring a 9-tap low-pass and 7-tap high-pass filter in floating-point arithmetic to achieve superior energy compaction and visual quality. In contrast, lossless compression uses the reversible 5/3 LeGall filter bank, with a 5-tap low-pass and 3-tap high-pass filter in integer arithmetic, preserving exact reversibility without rounding errors. The direct-form equations for the 5/3 analysis filters, prior to lifting optimization, are as follows for a one-dimensional input signal : Low-pass (approximation) coefficients:Quantization and Entropy Coding
Following the wavelet transform, the coefficients are quantized to control the compression rate and introduce controlled loss where desired. JPEG 2000 employs uniform scalar quantization on a per-subband basis, applying the same step size to all coefficients within a given subband.[40] The step size δ is determined by δ = 2^(mantissa + exponent), where the mantissa and exponent are parameters specified in the codestream for each subband to enable rate control.[41] For lossless compression using reversible color and wavelet transforms, quantization is skipped to preserve exact integer coefficients.[40] The quantization process maps each wavelet coefficient c to a quantized integer coefficient q using the formula:Performance and Computational Aspects
JPEG 2000 achieves superior compression efficiency compared to the baseline JPEG standard, particularly in lossy modes at bit rates of 0.5–2 bits per pixel (bpp), where it typically provides 20–50% better compression ratios while maintaining equivalent visual quality.[43] This improvement stems from the wavelet-based transform and embedded coding, which reduce artifacts like blocking seen in JPEG's discrete cosine transform (DCT) approach. In terms of peak signal-to-noise ratio (PSNR), JPEG 2000 yields gains of 1–3 dB over JPEG across this bitrate range, as demonstrated in objective evaluations on diverse image sets, with PSNR values for JPEG 2000 often reaching 35–45 dB versus 30–40 dB for JPEG.[44] The computational complexity of JPEG 2000 is notably higher than JPEG due to its advanced features, with the discrete wavelet transform (DWT) exhibiting linear time complexity of O(N for an image with N pixels, making it efficient for large-scale processing. However, the embedded block coding with optimized truncation (EBCOT) entropy coder dominates the overall complexity, consuming approximately 70% of the encoding time and rendering JPEG 2000 10–100 times slower than JPEG in software implementations. To address this bottleneck, the High Throughput JPEG 2000 (HTJ2K) extension, defined in Part 15 of the standard, introduces a more efficient block coder that achieves up to a 10x speedup in encoding and decoding for moderate bit rates, and over 30x for lossless coding, while preserving compatibility with core JPEG 2000 codestreams.[45][46] Hardware accelerations on field-programmable gate arrays (FPGAs) and graphics processing units (GPUs) enable real-time JPEG 2000 processing for high-resolution content, such as 4K decoding at 30–60 frames per second (fps), by parallelizing the DWT and EBCOT stages. While GPU libraries like NVIDIA's nvJPEG2000 support batch decoding of large images at speeds exceeding 200 images per second on high-end cards. Power consumption comparisons reveal trade-offs, with JPEG 2000 hardware requiring roughly twice the energy of JPEG in wired environments and up to five times more than H.264-based systems in wireless scenarios, though optimizations in FPGA designs mitigate this for embedded applications.[30][47] Benchmark results from reference software like Kakadu highlight practical encoding speeds of 1–10 MB/s for typical workflows, varying with image size and configuration; for example, lossless encoding of a 4K image (3840×2160, 24-bit) takes about 649 ms on a single thread (37 MB/s throughput) but scales to 448 MB/s with 32 threads. Factors such as tile size significantly influence performance, with larger tiles (e.g., full-image) reducing overhead but increasing memory demands, while smaller tiles enable better parallelism at the cost of 5–10% additional bitrate overhead due to header repetition. Scalability features, including resolution and quality layers, introduce a modest 5–10% overhead in codestream size compared to non-scalable modes, balancing flexibility against efficiency in progressive transmission scenarios.[48][49][10]Parts of the Standard
Part 1: Core Coding System
Part 1 of the JPEG 2000 standard, formally known as ISO/IEC 15444-1, establishes the foundational core coding system for compressing digital still images, supporting both lossless and lossy modes through a sequence of transformations and encoding steps.[50] This part specifies the decoding processes, codestream syntax, and informative guidance on encoding, serving as the baseline for interoperability across JPEG 2000 implementations.[3] Published in 2000, it focuses exclusively on rectangular still images, excluding advanced features such as arbitrary shape coding or volumetric data handling. The core coding pipeline begins with the discrete wavelet transform (DWT), which decomposes the image into multiple resolution levels using separable one-dimensional filters applied horizontally and vertically.[33] For lossy compression, the irreversible 9/7-tap wavelet filter is mandatory, providing high-quality approximation with floating-point coefficients, while the reversible 5/3-tap integer filter is required for lossless compression to ensure exact reconstruction.[40] Following the DWT, scalar quantization reduces the precision of the wavelet coefficients using dead-zone quantizers, where the zero bin is twice the width of others to improve efficiency; this step is uniform across subbands but can be component-specific via optional parameters.[33] The quantized coefficients are then entropy-coded using the Embedded Block Coding with Optimized Truncation (EBCOT) algorithm, which partitions each subband into independent code-blocks typically sized 64×64 or smaller for computational manageability.[40] EBCOT employs bit-plane coding with three passes per bit-plane (significance propagation, magnitude refinement, and cleanup) and a context-adaptive arithmetic coder (MQ-coder) to generate an embedded bitstream, enabling progressive refinement and optimal truncation points for rate-distortion control.[33] This structure supports scalability in resolution, quality, and spatial dimensions without requiring full decoding. The codestream syntax organizes the compressed data into a main header followed by tile-parts, ensuring flexible access and transmission.[3] The main header includes mandatory markers such as SIZ (specifying image dimensions, tile grid, and component properties), COD (defining coding styles like progression order, number of layers, and precinct sizes), and QCD (quantization default style and stepsizes); optional QCC markers allow component-specific quantization overrides.[40] Images are divided into rectangular tiles for parallel processing, with each tile-part containing a SOT marker (tile positioning), SOS (start of tile-part), packet headers (describing layer and precinct contributions), and the EBCOT bitstreams; packets aggregate code-block data across precincts and layers to facilitate progressive decoding.[33] Compliance is governed by profiles and levels that define minimal decoder capabilities for interoperability, with Profile 0 serving as the baseline (supporting up to five layers, three decomposition levels, and basic progression) and Profile 1 extending to more components and larger tiles. Mandatory features across profiles include the DWT, scalar quantization, EBCOT, and support for at least one tile-part per tile, while levels (e.g., up to Level 3 in early definitions) cap parameters like maximum tile size (e.g., 2^15 × 2^15 pixels) and code-block dimensions to bound complexity.[40] Limitations include restriction to rectangular, bi-level or continuous-tone grayscale and color images without region-of-interest coding or non-rectangular support, ensuring simplicity but deferring such extensions to later parts.[33] As the foundational component, Part 1 forms the basis for all subsequent extensions in the JPEG 2000 family, enabling their codestreams to incorporate the core syntax while adding specialized capabilities.[3]Parts 2–14: Extensions and Specialized Features
The JPEG 2000 standard extends its core capabilities through Parts 2 to 14 of ISO/IEC 15444, introducing specialized features for advanced imaging, wireless transmission, volumetric data handling, and interoperability in various applications. These parts, developed between 2001 and 2015, build on the foundational codestream syntax and decoding processes of Part 1 to address specific needs such as scalable coding for networks, three-dimensional data compression for medical imaging, and evaluation methodologies for quality assessment.[1] They enable JPEG 2000 to support diverse domains, including digital cinema, remote sensing, and secure data exchange, while maintaining compatibility with the baseline system.[3] Part 2, published in 2001 as "Extensions," provides enhancements to the core coding system, including support for arbitrary shape coding using alpha planes to define non-rectangular regions, N-layer coding for multiple quality and resolution layers in scalable bitstreams, and basic extensions to the file format for handling multiple codestreams and components. These features allow for more flexible representation of complex images, such as those with transparency or multi-component data, and facilitate progressive loading in bandwidth-constrained environments. For instance, the N-component image model supports an arbitrary number of color components beyond the standard RGB or CMYK, enabling applications in scientific visualization. Part 3, released in 2002 and titled "Motion JPEG 2000," defines a codestream format for video sequences by sequencing independent JPEG 2000 frames, supporting temporal scalability and error resilience for motion imagery. Detailed aspects of its application are covered in related standards for video workflows.[51] Part 4, also from 2002 and focused on "Conformance testing," outlines procedures, reference software implementations, and criteria for verifying decoder and encoder compliance with the standard, including abstract test suites to ensure interoperability across implementations. It establishes baselines for testing codestream validity, decoding accuracy, and feature support, which are essential for certification in professional environments. Part 5, issued in 2003 as "Reference software," provides normative implementations of encoders and decoders for Parts 1 and 2, serving as a baseline for conformance testing and development; however, extensions in later parts address volumetric data for 3D medical imaging through three-dimensional wavelet transforms and tiling. Specifically, Part 10 (2004) introduces volumetric compression methods tailored for medical datasets, such as CT and MRI scans, by extending the two-dimensional transform to three dimensions while preserving lossless options and region-of-interest coding for efficient access to specific volumes. This enables high-fidelity storage and transmission of 3D data with reduced file sizes compared to uncompressed formats.[52][53] Part 6, published in 2003 as "Compound image file format," defines the JPM file format for multi-page document imaging using the Mixed Raster Content (MRC) model, extending the JP2 format to support compound images that combine different types of content such as text, graphics, and images in a single file. This facilitates efficient storage and transmission of complex documents, such as scanned pages or forms, with layered representations for selective decoding. Parts 7 through 10, developed between 2004 and 2005, target wireless and network-specific adaptations. Part 7 defines an entry-level coding system optimized for low-complexity devices in wireless environments, limiting features to essential subsets for reduced computational demands while retaining core compression efficiency. Part 8 introduces secure JPEG 2000 for managed services, incorporating authentication, encryption, and integrity checks within codestreams to protect sensitive data in transmission. Part 9, published in 2005 and titled "Interactivity tools, APIs and protocols," specifies application programming interfaces and protocols for client-server interactions with JPEG 2000 images, including region-of-interest extraction and dynamic scalability over networks, such as the JPIP protocol for efficient progressive transmission. These tools support interactive browsing and manipulation without full image decoding, beneficial for web-based and remote applications. Part 10 provides the volumetric extensions noted earlier, particularly suited for 3D data in telecommunications management networks (TMN). These parts collectively enhance robustness for mobile and networked scenarios, such as satellite imagery distribution. Parts 11 to 14, spanning 2010 to 2015, focus on evaluation, metadata, and advanced extensions. Part 11, "Evaluation methods for JPEG 2000" (2010), defines objective and subjective quality metrics, including double-stimulus subjective assessments to measure perceptual quality, providing standardized benchmarks for comparing compression performance across implementations. For example, it outlines procedures for mean opinion score calculations in controlled viewing conditions to quantify visual fidelity. Part 12 adopts the ISO base media file format for broader media interoperability. Part 13 specifies interfaces for entry-level encoders, and Part 14 (2013) enables XML representations of JPEG 2000 structures, including marker segments and codestream access methods, facilitating integration with XML-based systems for metadata-rich applications. Additionally, coding extensions in these parts, alongside JP3D in Part 10, support advanced 3D workflows with improved scalability for volumetric datasets.[54]Parts 15–17: Recent Developments and Interoperability
Part 15 of the JPEG 2000 standard, published in 2019 as ISO/IEC 15444-15, introduces High-Throughput JPEG 2000 (HTJ2K) as a significant enhancement to the core coding system.[55] HTJ2K replaces the Embedded Block Coding with Optimized Truncation (EBCOT) tier-1 coding algorithm from Part 1 with a new high-throughput block coder designed for substantially improved processing speeds while maintaining compatibility with existing JPEG 2000 codestreams.[56] This replacement enables end-to-end encoding and decoding throughput gains of 10 times at typical bit-rates and up to 30 times for lossless compression scenarios, albeit with a modest increase in file sizes of 6–10% due to slightly reduced compression efficiency.[57] The design ensures reversible transcoding between HTJ2K and traditional JPEG 2000 codestreams, preserving features like quality and resolution scalability, and the standard is explicitly royalty-free to encourage broad adoption.[56] Building on HTJ2K, the JPH file format serves as a modern container specified within Part 15, functioning as a successor to the JP2 format defined in Part 1.[17] Introduced to support high-throughput workflows, JPH enhances metadata handling by incorporating advanced annotations from JPEG 2000 Part 2, including support for high dynamic range (HDR) content, unlimited precision, and raw sensor data with custom color filter arrays.[46] It also introduces fragmentation mechanisms that facilitate efficient management of large files through resolution scalability and region-of-interest access, making it suitable for applications involving massive datasets such as cinema and high-resolution imaging.[46] These improvements address limitations in JP2 for contemporary use cases, enabling better integration with diverse metadata standards without altering the underlying codestream structure.[17] Part 16, updated in 2021 and further enhanced in 2025 as ISO/IEC 15444-16, focuses on encapsulation of JPEG 2000 codestreams into the ISO/IEC 23008-12 (HEIF) file format to promote interoperability with modern multimedia ecosystems.[58] This part provides guidelines for embedding both traditional JPEG 2000 and HTJ2K codestreams within HEIF containers, supporting features like multi-image sequences and layered representations while ensuring compatibility across devices and platforms.[59] Complementing this, Part 17, published in 2023 as ISO/IEC 15444-17, extends the standard for coding discontinuous media—such as images with irregular boundaries or sparse content—and includes interoperability provisions for profiles that align with HEIF encapsulation, facilitating secure and efficient data exchange in diverse environments.[18] These updates incorporate recommendations for conformance testing and profile definitions to enhance cross-system reliability, including support for wireless transmission scenarios through optimized packetization.[60] From 2023 to 2025, the JPEG committee has actively promoted JPEG 2000 extensions, particularly HTJ2K, for adoption in medical imaging and AI-driven applications, emphasizing its role in handling high-volume datasets efficiently.[61] A notable implementation is Amazon Web Services' HealthImaging service, which integrated HTJ2K in 2024 to enable scalable storage and processing of medical images, leveraging the format's high throughput for real-time analysis.[62] These efforts underscore JPEG 2000's evolution toward royalty-free, high-performance solutions that support real-time processing of 8K-resolution content, bridging legacy systems with emerging technologies in healthcare and beyond.[56]File Formats
Codestream Structure
The JPEG 2000 codestream is a binary syntax that encapsulates the compressed image data, enabling efficient decoding and transmission. It consists of a main header followed by one or more tile-parts, each containing tile-part headers and bodies, and terminates with an end-of-codestream (EOC) marker. This structure supports tiled images, where the image is divided into rectangular tiles for parallel processing, and allows for progressive transmission through organized packets of compressed data derived from the Embedded Block Coding with Optimized Truncation (EBCOT) algorithm.[1] The main header begins with the start of codestream (SOC) marker (0xFF4F), which signals the codestream's initiation, followed by marker segments that provide essential image and coding parameters applicable to the entire image. Key syntax elements include the image and tile size (SIZ) marker, which defines the image dimensions, number of components, and sampling grid; the coding style default (COD) marker, specifying parameters such as wavelet transform usage, precinct sizes, and progression order; and the quantization component (QCC) marker, which sets quantization step sizes for specific components. These segments ensure decoders can interpret the codestream without prior knowledge of the image format.[1] Tile-parts follow the main header and are introduced by the start of tile-part (SOT) marker (0xFF90), which includes the tile index, tile-part length (up to 2^32 - 1 bytes, allowing for very large codestreams), and other tile-specific details. Each tile-part header may contain additional markers like progression order change (POC) for dynamically altering the decoding order or packet length, tile-part (PLT) for specifying packet sizes to aid parsing. The tile-part body starts with the start of data (SOD) marker (0xFF93), separating the header from the actual compressed data, which comprises sequences of packets. Error detection is facilitated by these fixed markers and segmentation symbols, enabling resilient decoding even if parts of the codestream are corrupted or lost.[1] Packets form the core of the codestream's data organization, each containing a packet header followed by EBCOT-encoded bit streams for a specific layer, precinct, resolution level, and tile-component. The packet header includes a start-of-packet (SOP) marker (0xFF91) for synchronization and length information, while the body holds the quantized wavelet coefficients. Progression orders dictate how packets are arranged for decoding, supporting flexible transmission scenarios: layer-resolution-component-position (LRCP) prioritizes quality layers; resolution-layer-component-position (RLCP) emphasizes resolutions; and others like resolution-position-component-layer (RPCL), position-component-resolution-layer (PCRL), and component-position-resolution-layer (CPRL) cater to spatial or component-based progressions. The PLT marker assists in efficient packet length retrieval, and POC allows mid-codestream changes to these orders, enhancing adaptability.[1] For a minimal codestream representing a single-tile grayscale image, the structure simplifies to: SOC marker, main header with SIZ (specifying 1 component, image size, and tile alignment), COD (defining DWT levels, precincts, and LRCP progression), optional QCC if non-default quantization is used, SOT marker for the single tile-part, SOD marker, a single packet with EBCOT data for the full resolution, and EOC marker (0xFFD9). This compact form illustrates the codestream's efficiency for basic lossless or lossy encoding without extensions.[1]JP2 and JPH Formats
The JP2 file format, specified in Annex I of ISO/IEC 15444-1:2019, provides a standardized container for encapsulating a single JPEG 2000 codestream using a box-structured architecture derived from the ISO Base Media File Format (ISO/IEC 14496-12).[7][1] Each box consists of a 4-byte length field, a 4-byte type identifier, and variable data, with support for superboxes containing nested structures and extended lengths for files exceeding 4 GB via special length codes (0 for end-of-file or 1 for 8-byte extension).[7] Mandatory boxes include the File Type Box (ftyp), which declares the major brand as "jp2 " (with a trailing space) to ensure compatibility across readers; the JP2 Header Box (jp2h), encompassing sub-boxes such as the Image Header Box (ihdr) for dimensions and tile grid information, and the Color Specification Box (colr) for defining color spaces via enumerated methods (e.g., sRGB, sYCC) or embedded ICC profiles for precise color management; and the Contiguous Codestream Box (jp2c), which embeds the raw JPEG 2000 codestream.[7] A preceding Signature Box (jP ) with the fixed bytes 0x0C 6A 50 20 20 0D 0A 87 0A serves as a compatibility header, allowing readers to validate the file type before parsing.[7] Readers must process these core boxes sequentially, ignoring unrecognized ones to maintain extensibility.[7] The JPH file format, introduced in ISO/IEC 15444-16:2021 and revised in ISO/IEC 15444-16:2025 to support High Throughput JPEG 2000 (HTJ2K) codestreams from Part 15, extends the JP2 structure for enhanced performance in modern applications while ensuring backward compatibility.[58][59][17] It retains the box-based layout, including ftyp (branded as "jph "), jp2h with updated colr methods (0–2 for legacy enumerated spaces, 3 for arbitrary ICC profiles, and 5 for ITU-R BT.2020/HDR signaling per ISO/IEC 23091-4), jp2c for the HTJ2K codestream, and jP signature for validation, but introduces refinements like single alpha channel support (contrasting JP2's multiple) and improved UUID boxes for extensible metadata association without altering core parsing.[17][46] Key enhancements in JPH include fragment support via HTJ2K's resolution and region-of-interest scalability, enabling efficient partial decoding for interactive viewing; a dedicated Codestream Index Box (jP2i) that maps packet locations for rapid access to specific resolutions or regions, compatible with JPIP protocols; and robust handling of files over 4 GB through native large-box extensions and low-overhead encoding.[46][17] Validation follows JP2 conventions with signature boxes, but readers must accommodate HTJ2K-specific passes (at most one each of Cleanup, Significance Propagation, and Magnitude Refinement) and modern color features like HDR and high-precision (up to 24-bit) samples.[46][17] Compared to JP2, JPH prioritizes throughput (10–30x faster encoding/decoding) over full quality scalability, adds raw sensor data handling with custom color filter arrays, and facilitates reversible transcoding to legacy JPEG 2000 codestreams while preserving essential boundaries.[46] JP2 suits established workflows requiring broad legacy support, whereas JPH targets high-throughput use cases like cinema, medical imaging, and web delivery of large HDR assets.[46][17]JPF Format
The JPEG 2000 Profile Format (JPF), utilizing the .jpf file extension, represents an optional container format within the JPEG 2000 family, designed to encapsulate extended features from Part 2 of the standard (ISO/IEC 15444-2). Developed by the Joint Photographic Experts Group (JPEG) committee, JPF functions as a flexible mechanism for research and advanced implementations, accommodating arbitrary extensions via vendor-specific boxes while supporting multiple codestreams for complex image compositions.[63][64] JPF's structure mirrors the box-based architecture of the JP2 format but expands it to incorporate additional boxes tailored for Part 2 capabilities, such as alpha channels and multiple component transformations. This enables the inclusion of non-baseline elements like arbitrary wavelet filters and region-of-interest coding, making it suitable for experimental applications beyond core JPEG 2000 functionality.[63][64] A primary advantage of JPF lies in its facilitation of prototyping, allowing developers to integrate and test cutting-edge extensions without the constraints of full standardization, as evidenced by its widespread adoption in high-performance libraries such as the Kakadu toolkit. Despite lacking formal mandates for universal compliance, JPF's extensibility has proven valuable in research environments for exploring features like layered compositions and vendor-defined metadata.[64] However, JPF's reliance on optional Part 2 elements results in reduced interoperability compared to the baseline JP2 format, as many decoders and applications support only core features, potentially leading to compatibility issues in production deployments. For example, while the Kakadu implementation handles JPF comprehensively, broader ecosystem support remains limited.[64][63]Metadata and Extensions
Embedded Metadata Handling
JPEG 2000 facilitates the embedding of metadata within its file formats, primarily through box-based structures that encapsulate various data types alongside the compressed image codestream. In the JP2 and JPH formats, XML boxes enable the inclusion of structured XML-based metadata, such as Extensible Metadata Platform (XMP) packets, which support descriptive information like keywords, rights, and provenance. UUID boxes allow for arbitrary binary data embedding using universally unique identifiers, accommodating proprietary or non-XML formats, while Intellectual Property (IPR) boxes store rights management details, such as copyright notices. These mechanisms associate metadata directly with the codestream, ensuring it remains linked to the image content without external dependencies.[1][65] The standards governing embedded metadata are outlined in ISO/IEC 15444-2, which defines a normative set of image metadata elements, including support for established formats like IPTC (International Press Telecommunications Council) core properties via XMP in XML boxes and Adobe Photoshop Image Resource Block (IRB) data in UUID boxes. This integration allows tools like ExifTool to read and write such metadata seamlessly in JPEG 2000 files. Additionally, ISO/IEC 15444-1 specifies the JP2 file format's box architecture, providing the foundational containers for these embeddings. Recent updates, such as ISO/IEC 15444-2:2023 and ISO/IEC 15444-16:2025 for enhanced encapsulation, further support metadata handling.[66][67][1][66] Metadata boxes can be positioned before or after the codestream box within the overall file structure, offering flexibility in organization. Compliant readers parse the file sequentially from the beginning, processing each box in order to extract and interpret metadata independently of the image decoding process; this ensures robust handling even if boxes are reordered or additional ones are added. The association with codestreams is maintained through the file's hierarchical box layout, where super-boxes can group related metadata for specific image components.[7][40] This embedded approach yields self-contained files that enhance long-term archiving and interoperability, as all contextual information travels with the image, reducing risks of data loss or mismatch during transfer. For example, in medical imaging workflows, timestamps, patient identifiers, and acquisition parameters can be embedded directly, preserving essential context for diagnostic review without separate metadata files. Such capabilities promote standardized preservation in domains requiring audit trails and integrity verification.[65][68] The JPH file format (ISO/IEC 15444-15:2019) builds on these mechanisms by incorporating support for high-precision color metadata and extended box types, enabling more robust embeddings for advanced applications.[46]Spatial and Georeferencing Support
JPEG 2000 supports spatial and georeferencing through the GML in JPEG 2000 (GMLJP2) standard, developed by the Open Geospatial Consortium (OGC) as an extension leveraging Part 12 of the JPEG 2000 suite (ISO/IEC 15444-12). This enables the embedding of geospatial metadata directly within JPX files using XML boxes, allowing images to be precisely aligned with real-world coordinates without external files.[69][70] GMLJP2 conforms to GML 3.2.1 and GML Coverage Application Schema (GMLCOV) 1.0, providing a structured XML schema for describing image geometry, radiometry, and coverage domains.[69] The schema uses a root element,GMLJP2CoverageCollection, to encapsulate georeferencing details such as bounding boxes and domain sets, with support for coordinate reference systems (CRS) defined via URIs, including the World Geodetic System 1984 (WGS84) as EPSG:4326.[69] Geospatial data is stored in XML boxes nested within Association (asoc) super-boxes, which use labels (e.g., "gml.root-instance") to associate metadata with specific codestreams or image components.[69] For side-channel spatial data, such as elevation maps or auxiliary geospatial layers, Universally Unique Identifier (UUID) boxes in the JP2 or JPX format allow embedding of non-image information, enabling synchronized storage of terrain or depth data alongside primary imagery.[7][71]
In practice, anchor boxes—implemented via asoc structures—link metadata to particular image regions, facilitating targeted georeferencing for applications like satellite imagery alignment, where multiple codestreams (e.g., panchromatic or multispectral bands) are tied to geographic extents.[69] This native approach mirrors GeoTIFF's embedding of spatial tags but integrates seamlessly within the JPEG 2000 container, supporting OGC-compliant workflows for large-scale mosaics exceeding 10 GB, such as synthetic aperture radar (SAR) or optical earth observation data.[69][72] Tiling in JPEG 2000 can further enable regional metadata attachment, associating georeferencing with specific tiles for efficient partial decoding in GIS systems.[73]
JPEG 2000 Part 13 (JP3D, ISO/IEC 15444-13) supports 3D geospatial data, allowing volumetric encoding of terrain models.[74]
Related Standards
Motion JPEG 2000
Motion JPEG 2000 (MJ2K), specified in ISO/IEC 15444-3, extends the core JPEG 2000 still-image coding to support the compression and display of timed sequences of images, or motion sequences, possibly including audio. First published in 2002 and revised in 2007, the format defines an MJ2K codestream where each video frame is encoded as an independent JPEG 2000 codestream, allowing for per-frame scalability in resolution, quality, and color components without inter-frame dependencies. This intra-frame approach builds briefly on the wavelet-based core coding from JPEG 2000 Part 1, adapting it for video by organizing multiple codestreams into a structured file.[75] The MJ2K file format derives from the ISO Base Media File Format (ISOBMFF), incorporating MP4-like boxes to manage multimedia streams.[75] Key features include motion headers such as the Movie Header Box (MVHD), which provides overall timing and presentation details, and Track Boxes (TRAK), which define individual video or audio tracks with metadata like frame duration and sample descriptions.[75] These elements enable flexible storage of visual and audio data, supporting features like random access to frames and synchronization, while the underlying JPEG 2000 codestreams handle compression within each frame. MJ2K offers significant advantages for applications requiring high fidelity and robustness, including support for lossless video compression through reversible wavelet transforms and enhanced error resilience due to the independent frame structure and embedded error detection in codestreams.[75] It has been particularly adopted in digital cinema intermediates, where the Digital Cinema Initiatives (DCI) specification mandates JPEG 2000-based compression for its superior image quality, dynamic range, and scalability in high-resolution workflows.[76] For instance, in post-production, MJ2K facilitates efficient handling of 2K or 4K footage with minimal quality loss during editing and distribution.[77] Despite these strengths, MJ2K has limitations stemming from its intra-only compression model, which omits inter-frame prediction and thus requires higher bitrates compared to inter-coded formats like H.264 for equivalent quality in high-definition video.[78] This results in larger file sizes, making it less suitable for bandwidth-constrained streaming or consumer applications compared to inter-coded formats.[79] As of 2025, MJ2K maintains a niche role primarily in long-term video archiving and preservation, valued for its open standard and reversibility in institutional settings like libraries and film vaults.[80] Recent developments include compatibility with High-Throughput JPEG 2000 (HTJ2K, ISO/IEC 15444-15), which introduces a faster block coding engine for codestreams, enabling MJ2K files to achieve higher encoding/decoding speeds—up to 10 times faster than traditional JPEG 2000—while retaining scalability and lossless options for motion sequences.[46] This integration supports updated workflows in archiving without altering the MJ2K container structure.[81]JPIP Streaming Protocol
The JPEG 2000 Interactive Protocol (JPIP), defined in Part 9 of the JPEG 2000 standard (ISO/IEC 15444-9), enables efficient client-server streaming of JPEG 2000 images over networks by allowing interactive access to image data without requiring full file downloads.[82] This protocol facilitates remote browsing, zooming, and panning of large images, leveraging the inherent scalability of JPEG 2000 codestreams.[83] JPIP's design supports both stateless and stateful sessions, making it suitable for web-based applications where bandwidth and latency are concerns.[83] JPIP operates primarily over HTTP/1.1, with optional support for other transports like UDP, using structured requests to specify image subsets.[83] Requests are formatted as name-value pairs in URLs or messages, targeting specific regions, resolutions, and quality layers; for instance, a GET request such as/image.jp2?target=image.jp2&rsiz=0.5,1.0 retrieves a half-resolution version of the entire image, while parameters like roff define offsets for partial regions.[83] Although SOAP bindings are possible for integration with web services, HTTP remains the dominant transport for simplicity and compatibility.[84] The protocol's syntax is outlined in Part 9, with semantic extensions in Part 10 for handling volumetric data, ensuring compatibility across JPEG 2000 variants.[85]
Core features of JPIP include a client-side cache model that organizes received data into modular "data-bins," typically corresponding to precincts or tiles within the JPEG 2000 codestream for granular management and reuse.[83] Metadata channels allow separate delivery of file-level information (e.g., XML boxes) alongside image data, maintaining structural integrity without bloating the main stream.[83] Tiling support enables partial fetches of image sections, promoting progressive rendering where low-resolution overviews load first, followed by refinements as needed.[83] Servers can model client caches to minimize redundant transmissions, further optimizing data flow.[83]
JPIP provides significant advantages in network efficiency, including substantial bandwidth savings by delivering only requested image portions—such as up to 90% reduction in data transfer for common zoom and pan interactions compared to complete file retrievals.[83] It also incorporates error recovery through self-contained messages and retransmission requests, enhancing reliability over lossy connections like UDP.[83] These capabilities build briefly on JPEG 2000's progressive features, enabling seamless resolution and quality adjustments during streaming.[83]
Implementation of JPIP follows the syntax and message formats in Part 9 for core interactions, with Part 10 defining semantics for advanced use cases like 3D imagery.[85] A prominent example is the Kakadu JPEG 2000 SDK, which includes a JPIP server capable of handling embedded requests in URLs (e.g., http://server/jpip?target=[image](/page/Image).jp2&fsiz=10240,7680&rsiz=5120,3840) and streaming precinct-based responses via MIME types like image/jpp-stream.[83]
As of 2025, JPIP remains integral to web-based medical viewers, such as those for virtual microscopy in pathology, where it streams high-resolution whole-slide images efficiently to support diagnostic workflows.[86] In cultural heritage applications, it integrates with frameworks like the International Image Interoperability Framework (IIIF) to enable low-bandwidth access to digitized archives, such as large astronomical or archival imagery collections.[87]
Integration with Other Media Formats
JPEG 2000 codestreams can be encapsulated within the ISO Base Media File Format (ISOBMFF), as specified in ISO/IEC 15444-12 (JPEG 2000 Part 12), which defines a general structure for storing multimedia data including still images.[54] This integration allows JPEG 2000 images to be placed in 'jp2c' boxes within ISOBMFF containers, enabling support for multi-image files and compatibility with broader media ecosystems like MP4.[88] Such encapsulation facilitates the handling of JPEG 2000 as a track in timed media presentations, promoting interoperability in applications requiring compound files.[89] Integration with the High Efficiency Image File Format (HEIF), defined in ISO/IEC 23008-12, is outlined in JPEG 2000 Part 16, which specifies the carriage of JPEG 2000 codestreams within HEIF containers for still images and sequences.[3] This part enables JPEG 2000 to serve as an alternative codec in HEIF files, supporting features like image collections and layered representations.[60] Beyond ISOBMFF and HEIF, JPEG 2000 integrates with the Material Exchange Format (MXF) for broadcast and professional media workflows, where codestreams are wrapped in MXF OP1a structures as video essence, commonly used in digital cinema packages (DCPs).[90] Additionally, the Tagged Image File Format (TIFF) supports JPEG 2000 compression through tag 34712, permitting TIFF wrappers around JPEG 2000 codestreams for archival and geospatial applications while preserving TIFF's metadata capabilities.[35] These integrations provide benefits such as unified file handling across media players and editors, reducing the need for format-specific tools and enabling seamless inclusion of JPEG 2000 in hybrid workflows.[46] For instance, HEIF's adoption in consumer devices allows JPEG 2000 content to leverage efficient storage and display in modern photo management systems.[91]JP3D
JPEG 2000 Part 10 (JP3D, ISO/IEC 15444-10) extends the standard for coding of volumetric and 3D imagery, supporting spatial 3D data such as medical CT/MRI volumes or geospatial 3D models. Published in 2015, JP3D allows 3D wavelet transforms on volumetric datasets, enabling scalable access to slices or regions in 3D space. It integrates with JPIP (Part 9) for interactive streaming of 3D content, with semantics defined for volumetric navigation.[92] Applications include medical visualization and remote sensing, where JP3D facilitates efficient compression of large 3D datasets while preserving lossless quality.[7]Implementation and Support
Software Libraries and Tools
OpenJPEG is a prominent open-source library for JPEG 2000 encoding and decoding, implemented in the C programming language to promote the standard's adoption across various applications.[93] It provides support for JPEG 2000 Parts 1 and 2, including core coding, file format handling, and extensions like high-throughput JPEG 2000 (HTJ2K).[94] JasPer serves as the official reference implementation for JPEG 2000 Part 1 (ISO/IEC 15444-1), offering robust handling of the codec's core features such as wavelet-based compression and supports multiple image formats beyond JPEG 2000.[95] These open-source libraries integrate with broader image processing ecosystems; for instance, ImageMagick and Ghostscript incorporate OpenJPEG as a plugin for JPEG 2000 operations, enabling seamless format conversions within their workflows.[96] FFmpeg, a widely used multimedia framework, leverages libopenjpeg for JPEG 2000 decoding and encoding, facilitating integration into video and streaming pipelines.[97] On the commercial side, Kakadu stands out as a high-performance JPEG 2000 toolkit, renowned for its speed and support for advanced features like HTJ2K, making it suitable for demanding professional environments.[98] Luratech's JPEG 2000 library, acquired by Foxit Software in 2015, was historically noted for its quality but has seen reduced development activity since then.[87] Additional proprietary implementations of JPEG 2000, primarily focused on core Part 1 features and requiring commercial licensing, are summarized below:| Implementation | Non-commercial Availability | Supported Parts | Primary Use Cases | Unique Features | Integrations |
|---|---|---|---|---|---|
| FastVideo JPEG2000 | Commercial SDK | Part 1 (core) | Geospatial imaging | NVIDIA GPU encode/decode acceleration, no HTJ2K | GDAL for GMLJP2 geospatial data |
| Comprimato JPEG2000 | Commercial SDK | Parts 1, 15 (HTJ2K) | Media & entertainment, geospatial, medical | CPU/GPU (CUDA/OpenCL) acceleration | Cross-platform SDKs |
| Hexagon ERDAS JP2 | Commercial SDK | Part 1 (core) | Geographical data | J2K support via GeoExpress tools, no HTJ2K | ECW/JP2 ecosystem |
| MrSID J2K | Commercial SDK | Part 1 (core) | Geospatial imaging | J2K decode alongside MrSID formats, no HTJ2K | GIS and imagery workflows |
