Sustainability of Digital Formats: Planning for Library of Congress Collections |
|
Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact |
Full name | JPEG XL Image Encoding [From ISO/IEC 18181-1 Information technology — JPEG XL Image Coding System — Part 1: Core coding system] |
---|---|
Description |
JPEG XL is a standard for a compression codec for raster graphic images designed to support lossy and lossless compression, particularly for display on the web and the needs for the web environment on a multitude of devices. JPEG XL is being developed to outperform other popular web image formats such as PNG, JPEG 2000, GIF, and WebP with higher quality images and improved compression ratios. The codec improves on previous JPEG codecs and file formats, particularly as existing JPEG files can be losslessly encoded as JPEG XL files and restored to the initial JPEG file, ensuring backwards compatibility. The "jbrd" box, the JPEG Bitstream Reconstruction Data, contains the information needed to reconstruct the bit-identical file. The JPEG XL bitstream reconstruction data uses the image data along with any other metadata present, such as Exif, XMP, or JUMBF, to reconstruct the original JPEG file. This inherent compatibility allows for an efficient transition from JPEG formats to JPEG XL without the need to store two files. The Overview of JPEG XL highlights three primary criteria:
Some of the key features for the JPEG XL codec as described by the JPEG group’s white paper are:
The JPEG XL codec utilizes a number of coding tools. See the JPEG XL white paper for descriptions of all coding tools. The codestream contains one or more frames which can be looped (infinitely or number of times) in the case of animated images. Zero-duration frames are also possible and represent different image layers. By default, the decoder will blend and coalesce frames, producing only a single output frame where all multiple zero-duration frames and all output frames are of the same size (the size of the image canvas). All output frames can have either no duration or non-zero duration. Each frame contains pixel data in one of two modes:
Both modes can separately encode supplementary "image features" that are rendered on top of the decoded image. You can read more about those image features such as patches, splines, and noise, on JPEG XL's GitLab. One of the benefits to the JPEG XL codec and its improved compression ratios is the resulting impact on server storage. Figure 1. (on page 1) of the JPEG XL white paper highlights a usage scenario of a JPEG image encoded as a JPEG XL and the decoding process to reduce server costs. Figure 3. of the white paper, as well as the Wikipedia entry for JPEG XL, illustrates the architecture of the codec. An input image can be encoded as a compressed JPEG XL codestream in either lossy or lossless methods. See Cloudinary’s blog post about JPEG XL which illustrates visual comparisons to other image files formats such as JPEG, HEIC, and WebP. The "X" of the JPEG XL file name is based in part on the JPEG group's naming convention for many of its new standards since 2000 including, JPEG XT, JPEG XR, and JPEG XS. The authors used the "L" as an indication of the hopeful longevity of the file format as it will replace the legacy JPEG. Comments welcome. |
Production phase | Used most often for middle- and final-state archiving or end-user delivery.Comments welcome. |
Relationship to other formats | |
Used by | JXL, JPEG XL File Format |
Subtype of | ISO_BMFF, ISO Base Media File Format |
LC experience or existing holdings | The Library of Congress does not have any JXL files inventoried in its collections. |
---|---|
LC preference | Neither the JPEG XL encoding or JXL file format is listed in the Library of Congress Recommended Formats Statement (RFS) for Still Image in its collections. |
Disclosure | Fully disclosed. This is an ISO published standard, specified in the ISO/IEC 18181-2 Information technology — JPEG XL Image Coding System — Part 1: Core coding system. |
---|---|
Documentation |
As of March 2022, this standard is in published status. ISO/IEC 18181-2 documented format specifications are broken into four parts. Part 1 of the format specifications was fully published in March 2022, while Part 2 was published in October 2021. Parts 3 and 4 remain in development. Part 1 carries the running title Part 1: Core coding system. As stated on the JPEG group's own description of the standards, Part 1: "Defines the JPEG XL codestream and decoder, which can be used for lossy encoding, lossless encoding, and lossless re-compression of existing JPEG images." Part 2 carries the running title Part 2: File Format. Part 2, "specifies an extensible box-based file format which adds support for metadata (e.g. Exif and JUMBF) and legacy JPEG bistream reconstruction data." Part 3 carries the running title: Conformance testing. As stated by the JPEG group, this part, "provides test material and procedures to validate proprietary solutions against the standard specification." Part 4 carries the running title Part 4: Reference software. Part 4 "provides a free and open source, royalty-free JPEG XL reference implementation." |
Adoption |
Adoption of JPEG XL appears limited at this time. Few active web browsers support JPEG XL file display with a currently monitored list found on Github. This list includes various types of JPEG XL Software Support and its stated purpose is to, "point end-users to software that can read/write jxl and keep track of the adoption status of jxl." An unofficial list of image viewers and image libraries that can open and render JPEG XL files are:
jpegxl.io tutorials also provides a list of software tools that support JPEG XL images. This list consists of tutorials for software or browser configurations necessary to render JPEG XL images. Some browsers included in this tutorial include:
The tutorial list includes over 30 additional software applications with various levels of support for JPEG XL encoded images. The tutorial list also provides designations of support such as "partial support" and "full support." The JPEG Use Case and Requirements paper details the need for an improved image coding standard which may shed light on how JPEG XL files will be used including:
Sample JPEG XL files and conformance testing can be found here. |
Licensing and patents | The reference implementation for JPEG XL is licensed under the Apache 2.0 license, which is a free and open source software allowing users to modify and distribute the software without any concern for royalties. |
Transparency | Designed for sufficient encoding and decoding without the use of specialized hardware. Figure 3. in the JPEG XL whitepaper provides an overview of the encoder architecture for JPEG XL files. |
Self-documentation |
Per the JPEG group’s whitepaper, "to enable compression to smaller file sizes, the jpeg xl codec reducing header and metadata overhead, including compression of colour profiles and Exif/XMP metadata.” Per Jon Sneyer's JPEG XL documentation on GitLab, there is a clear separation between metadata and image data. Whatever is needed to correctly display the image is considered to be image data including elements such as ICC profiles and Exif orientation. The developers goal is to reduce the ambiguity and potential for incorrect implementations by different applications. Remaining metadata, such as Exif or XMP, can be stored in the container format but has no impact on image rendering. Exif orientation, for example, is a field ignored by applications since the orientation defined in the codestream takes precedence. This metadata can be done without affecting the image display. |
External dependencies | None. |
Technical protection considerations | None. |
Still Image | |
---|---|
Normal rendering | Good support. |
Clarity (high image resolution) | Excellent support. Per the JPEG XL whitepaper, "JPEG XL is designed to meet the needs of image delivery on the web, as well as professional photography. It supports wide colour gamut as well as high dynamic range and high bit depth images." |
Color maintenance |
Good support for wide color gamut is a touted main feature of the new encoding. One of the JPEG XL codec’s coding tools is the creation of the XYB color space, inspired by the human eye’s color perception. It uses a gamma of 3 for compute-efficient decoding. More information about the XYB color space can be found in the JPEG XL white paper or the SPIE 2019 conference paper on JPEG XL. The XYB color space was specifically designed for high-precision and perceptually modeled color which supports a high fidelity image encoding, one of the key features of JPEG XL. See this Cloudinary blog post on image compression and fidelity. The JPEG XL Software Gitlab provides a summary of the color management codestream features of the JPEG XL encoding. JPEG XL images have a fully defined colorspaces with two options:
Colorspaces can be signaled in two ways in the JPEG XL codec:
|
Support for vector graphics, including graphic effects and typography | No support for vector graphics. |
Support for multispectral bands | None. |
Functionality beyond normal rendering | The JPEG XL file format will support features such as animation, 360 degree images, and image bursts. See the JPEG XL white paper. Comments welcome. |
Tag | Value | Note |
---|---|---|
Filename extension | Not applicable. |
This description is for the JPEG XL codestream encoding. See related file format JXL for file type signifiers. |
Internet Media Type | image/jxl |
See provisional media type registry from IANA. Also see the PRONOM PUID. |
Pronom PUID | fmt/1484 |
See https://www.nationalarchives.gov.uk/pronom/fmt/1484. |
Wikidata Title ID | See note. | Wikidata has no corresponding entry for the JPEG XL encoding. See JXL for the Wikidata entry on the JPEG XL File Format. |
General |
The Free Lossless Image Format (FLIF) was a lossless image format first released in September 2016 that claimed to outperform other image formats for web presentation including, PNG, BPG, and JPEG 2000. Based on compression experiments conducted by the formats developers, FLIF files bypassed JPEG 2000 files to be 53% smaller, 43% smaller than PNG files, and 22% smaller than lossless BPG files. FLIF was essentially superseded by the Free Universal Image Format (FUIF) one of the components of the JPEG XL format. In combination with the FUIF, Google’s PIK file format, also designed for high quality and fast decoding, served as a precursor to JPEG XL. Both FLIF and PIK were submitted to the JPEG XL Call for Proposals (see below) in 2018 respectively. Neither the FLIF or FUIF formats are being developed as they have been superseded by JPEG XL. |
---|---|
History |
The JPEG Committee launched the Next-Generation Image Compression activity, formally known as JPEG XL in 2018. As stated by the JPEG group, "This activity aims to develop a standard for image compression that offers substantially better compression efficiency than existing image formats (e.g. >60% over JPEG), along with features desirable for web distribution and efficient compression of high-quality images." This Next Generation Image Compression activity initiated a final call for Proposals in April 2018 to further the development of JPEG XL. Important dates from the proposed timeline include:
The file format bistream was frozen in December 2020 to ensure that it would be decodable by future releases. In January 2021, Part 1 (codestream) was FDIS submitted while Part 2 (file format) was FDIS submitted with a Draft Amendment to Part 1 in April 2021. See this JPEG-XL slide deck for a broader history of JPEG XL and next steps for the file format. Part 2 was published in October 2021 Part 1 was published in March 2022. While Google Chrome was previously listed as a web browser that supports JPEG XL, in October 2022, Google Chrome developers announced their decision to remove support for the JPEG XL encoding and the related file format. Google Chrome initially offered JPEG-XL support via a feature flag (chrome://flags/#enable-jxl) since Chrome 91. With the upcoming Chrome 110 release, Google announced that they will be deprecating the format. Per Chromium’s bug tracker for JPEG XL decoding support, Google cited these reasons for not pursuing support for JPEG XL:
|
|