Filename extension | .jxl |
---|---|
Internet media type | image/jxl [1] |
Uniform Type Identifier (UTI) | public.jpeg-xl [2] |
Magic number | FF 0A or 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A [3] |
Developed by | |
Type of format | Lossy/lossless bitmap image format |
Extended from | |
Standard | ISO/IEC 18181 [5] |
Open format? | Yes (royalty-free [6] ) |
Website |
|
JPEG XL is a royalty-free open standard for the compressed representation of raster graphics images. It defines a graphics file format and the abstract device for coding JPEG XL bitstreams. It is developed by the Joint Photographic Experts Group (JPEG) and standardized by the International Electrotechnical Commission (IEC) and the International Organization for Standardization (ISO) as the international standard ISO/IEC 18181 as a superset of JPEG/JFIF encoding, with a compression mode built on a traditional block-based transform coding core and a "modular mode" for synthetic image content and lossless compression. Optional lossy quantization enables both lossless and lossy compression.
The name refers to the design committee (JPEG), the X designates the series of its image coding standards published since 2000 (JPEG XT/XR/XS), and L stands for "long-term", highlighting the intent to create a future-proof, long-lived format to succeed JPEG/JFIF. [7]
The main authors of the specification are Jyrki Alakuijala, Jon Sneyers, and Luca Versari. Other collaborators are Sami Boukortt, Alex Deymo, Moritz Firsching, Thomas Fischbacher, Eugene Kliuchnikov, Robert Obryk, Alexander Rhatushnyak, Zoltan Szabadka, Lode Vandevenne, and Jan Wassenberg.
It was designed to become a universal replacement for all established raster formats for the Web. [6] To reach widespread adoption (unlike previous attempts, including several JPEG standards), the designers hope for beneficial network effects by offering the single best option for as many popular use cases as possible. To that end the format offers significant improvements over all other (established) options with a comprehensive set of useful properties, geared especially towards accessibility over the Web and a smooth upgrade path, in combination with uncompromisingly powerful, yet efficiently computable compression and efficient data representation. Following a study about the most popular JPEG quality on the Web, developers paid special attention to the range with negligible or no perceived loss, and the default settings were adjusted accordingly. Several serious attempts at replacing JPEG that provided poor support for the high end of the quality range have failed. [8]
The JPEG XL call for proposals [9] talks about the requirement of substantially better compression efficiency (60% improvement) comparing to JPEG. The standard is expected to outperform the still image compression performance shown by HEIC, AVIF, WebP, and JPEG 2000.
In 2015, Jon Sneyers of the company Cloudinary published his Free Lossless Image Format (FLIF) on which he based his standardization proposal, called the Free Universal Image Format (FUIF), that begot JXL's "modular mode". In 2017 Google's data compression research team in Zurich published the PIK format, the prototype for the frequency transform coding mode.
In 2018, the Joint Photographic Experts Group (JTC1 / SC29 / WG1) published a call for proposals for JPEG XL, its next-generation image coding standard. [9] The proposals were submitted by September 2018. From seven proposals, the committee selected two as the starting point for the development of the new format: FUIF [10] and PIK. [11] [12] In July 2019 the committee published a draft, mainly based on a combination of the two proposals. [13] The bitstream was informally frozen on 24 December 2020 with the release of version 0.2 of the libjxl reference software. [14] The file format and core coding system were formally standardized on 13 October 2021 and 30 March 2022 respectively. [5] [15]
Besides Cloudinary, throughout JPEG XL's preliminary implementation in web browsers, various representatives of well-known industry brand names have publicly voiced support for JPEG XL as their preferred choice, including Facebook, [16] [17] Adobe, [18] [19] Intel and the Video Electronics Standards Association, [20] [21] The Guardian, [22] [23] Flickr and SmugMug, [24] Shopify, [25] the Krita Foundation, [26] and Serif Ltd. [27]
Google's stance on JPEG XL is ambiguous, as it has contributed to the format but refrained from shipping an implementation of it in its browser. Support in Chromium and Chrome web browsers was introduced for testing April 1, 2021 [28] and removed on December 9, 2022 – with support removed in version 110. [29] [30] The Chrome team cited a lack of interest from the ecosystem, insufficient improvements, and a wish to focus on improving existing formats as reasons for removing JPEG XL support. [28] [31] [29]
The decision was met with opposition from the community, with many voicing support for JPEG XL on Chromium's bug tracker. [28] [32] [31] Jon Sneyers, co-author of the JPEG XL spec, has questioned the conclusions drawn by the Chrome team, saying: "I think there has been an unfortunate misinterpretation of the data ... which has unfortunately led to an incorrect decision." [33] The decision was also criticized by Greg Farough from the Free Software Foundation, who said it demonstrated Google's "disturbing amount of control" over the web and web browsers. [34]
Mozilla expressed security concerns, as they feel that the rather bulky reference decoder would add a substantial amount of attack surface to Firefox. They expressed willingness to ship a decoder that meets their criteria if someone provides and integrates a suitable implementation. The JPEG XL team offered to write one for them in the memory-safe Rust language. [35]
An extension to enable JPEG XL support in Chrome [36] and Firefox [37] became available in January 2024.
Apple Inc. included native JPEG XL file support starting with iOS/iPadOS 17, macOS Sonoma, and Safari 17. iPhone 16 Pro supports JPEG XL compression when capturing ProRAW photos. [38]
The raw image format Digital Negative (DNG) allows image data contained within to be compressed using JPEG XL. Starting in version 1.7.0.0 from June 2023, JPEG XL compression was included as part of the specification. [39] This created a basis for later use as part of "Expert RAW" in Samsung Galaxy smartphones and Apple's "ProRAW".
Common Name | Part | First public release date (First edition) | ISO/IEC Number | Formal Title |
---|---|---|---|---|
JPEG XL | Part 1 | 30 March 2022 | 18181-1:2024 | JPEG XL Image Coding System — Part 1: Core coding system [5] |
Part 2 | 13 October 2021 | 18181-2:2024 | JPEG XL Image Coding System — Part 2: File format [15] | |
Part 3 | 3 October 2022 | 18181-3:2022 | JPEG XL Image Coding System — Part 3: Conformance testing | |
Part 4 | 5 August 2022 | 18181-4:2022 | JPEG XL Image Coding System — Part 4: Reference software |
JPEG XL has features aimed at web delivery such as advanced progressive decoding, [40] embedded previews, and minimal header overhead, as well as features aimed at image editing and digital printing, such as support for multiple layers, CMYK, and spot colors. It also supports animated images.
The main features are: [41] [42] [43]
Compression:
Data reduction:
Versatile and future-proof size limits:
Data structuring:
Upgrade path:
Freedom to use, batteries included:
JPEG XL is based on ideas from Google's PIK format and Cloudinary's FUIF format (which was in turn based on FLIF). [47]
The format is mainly based on two encoding modes:
Any additional/extra channels (e.g. alpha, depth, thermal, spot colors, etc.) are always encoded in the modular mode. It was based on FUIF, combined with elements of lossless PIK, lossless WebP, and new ideas that have been developed during the collaborative phase of the standardization process. [49] Modular mode allows lossy compression with the help of the modified Haar transform called "squeeze" which has progressive properties, quality of the image increases with the amount of data loaded.
One of the ways VarDCT-based images can be loaded more progressively is by saving the DC coefficients in a separate "DC frame" that uses modular squeeze: allowing previews corresponding to 1:16, 1:32 etc. subsampled images. A squeeze transform can also be used to encode the alpha channel progressively together with VarDCT-encoded color channels, making both modes work in tandem.
JPEG XL defaults to a visually near-lossless setting that still provides good compression. [44]
These modes can be assisted by separate modeling of specific image features called:
JPEG XL codec can losslessly transcode a widely supported subset of JPEG files, by directly copying JPEG's DCT block coefficients to 8×8 VarDCT blocks, making smaller file sizes possible due to JPEG XL's superior entropy coding. This process is reversible and it allows for the original JPEG file to be reconstructed bit-for-bit, although constraints limit support for some files. [50]
Prediction is run using a pixel-by-pixel decorrelator without side information, including a parameterized self-correcting weighted ensemble of predictors. Context modeling includes specialized static models and powerful meta-adaptive models that take local error into account, with a signaled tree structure and predictor selection per context. Entropy coding is LZ77-enabled and can use either asymmetric numeral systems or prefix codes (useful for low-complexity encoders, or reducing the overhead of short streams). [42]
Animated (multi-frame) images do not perform advanced inter-frame prediction, though some rudimentary inter-frame coding tools are available:
Initial release | December 27, 2019 [52] |
---|---|
Stable release | 0.11.0 / September 13, 2024 |
Repository | https://github.com/libjxl/libjxl [53] |
Written in | C++ |
Operating system | |
License | New BSD License (previously Apache License 2.0) |
Website | jpeg |
The reference implementation software is called libjxl. It is written in C++ and published on GitHub as free software under the terms of the New BSD License (before 2021 the Apache License 2.0). It supports Unix-like operating systems, like Linux and Apple's OS family, as well as Windows systems. It is available from the standard software repositories of all major Linux and BSD distributions. [54] In addition to the eponymous codec library, it packages a suite of auxiliary tools, like the command line encoder cjxl
and decoder djxl
, the fast lossless-only encoder fjxl
, the image codec benchmarking tool (speed, quality) benchmark_xl
, as well as the GIMP and gdk-pixbuf plugin file-jxl
. As of 2023 (v0.9.0) it also offers Google's jpegli, an improved JPEG codec that backports applicable new techniques to the old format, offering image quality improvements even for the decoder. [55] [56]
An official Rust decoder written by the libjxl team is planned but is still incomplete. Work on it has been accelerated by Firefox suggesting they will more strongly consider support if an official Rust decoder is implemented. [63]
The main competitor for JPEG XL is AVIF, which is based on the AV1 video codec in a HEIF container. JPEG XL beats AVIF for higher quality images, but AVIF will often outperform JPEG XL on low quality images in low-fidelity, high-appeal compression: low quality AVIF images will smooth out details and hide compression artifacts better, making them more visually appealing than JPEG XL images of the same size. However, it is unclear to what extent this results from inherent properties of the two image formats themselves, and to what extent this results from the engineering focus of the available encoders. [92]
Other rival formats include:
A codec is a computer hardware or software component that encodes or decodes a data stream or signal. Codec is a portmanteau of coder/decoder.
In information theory, data compression, source coding, or bit-rate reduction is the process of encoding information using fewer bits than the original representation. Any particular compression is either lossy or lossless. Lossless compression reduces bits by identifying and eliminating statistical redundancy. No information is lost in lossless compression. Lossy compression reduces bits by removing unnecessary or less important information. Typically, a device that performs data compression is referred to as an encoder, and one that performs the reversal of the process (decompression) as a decoder.
JPEG is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality. Since its introduction in 1992, JPEG has been the most widely used image compression standard in the world, and the most widely used digital image format, with several billion JPEG images produced every day as of 2015.
JPEG Network Graphics is a JPEG-based graphics file format which is closely related to PNG: it uses the PNG file structure as a container format to wrap JPEG-encoded image data.
In information technology, lossy compression or irreversible compression is the class of data compression methods that uses inexact approximations and partial data discarding to represent the content. These techniques are used to reduce data size for storing, handling, and transmitting content. Higher degrees of approximation create coarser images as more details are removed. This is opposed to lossless data compression which does not degrade the data. The amount of data reduction possible using lossy compression is much higher than using lossless techniques.
Image compression is a type of data compression applied to digital images, to reduce their cost for storage or transmission. Algorithms may take advantage of visual perception and the statistical properties of image data to provide superior results compared with generic data compression methods which are used for other digital data.
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, with the intention of superseding their original JPEG standard, 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 for the extended part-2 specifications, published as ISO/IEC 15444-2. The registered MIME types are defined in RFC 3745. For ISO/IEC 15444-1 it is image/jp2.
A compression artifact is a noticeable distortion of media caused by the application of lossy compression. Lossy data compression involves discarding some of the media's data so that it becomes small enough to be stored within the desired disk space or transmitted (streamed) within the available bandwidth. If the compressor cannot store enough data in the compressed version, the result is a loss of quality, or introduction of artifacts. The compression algorithm may not be intelligent enough to discriminate between distortions of little subjective importance and those objectionable to the user.
ICER is a wavelet-based image compression file format used by the NASA Mars rovers. ICER has both lossy and lossless compression modes.
libjpeg is a free library with functions for handling the JPEG image data format. It implements a JPEG codec alongside various utilities for handling JPEG data. It is written in C and distributed as free software together with its source code under the terms of a custom permissive (BSD-like) free software license, which demands attribution. The original variant is maintained and published by the Independent JPEG Group (IJG). Meanwhile, there are several forks with additional features.
libavcodec is a free and open-source library of codecs for encoding and decoding video and audio data.
Lossless JPEG is a 1993 addition to JPEG standard by the Joint Photographic Experts Group to enable lossless compression. However, the term may also be used to refer to all lossless compression schemes developed by the group, including JPEG 2000, JPEG-LS, and JPEG XL.
JPEG XR is an image compression standard for continuous tone photographic images, based on the HD Photo specifications that Microsoft originally developed and patented. It supports both lossy and lossless compression, and is the preferred image format for Ecma-388 Open XML Paper Specification documents.
PGF is a wavelet-based bitmapped image format that employs lossless and lossy data compression. PGF was created to improve upon and replace the JPEG format. It was developed at the same time as JPEG 2000 but with a focus on speed over compression ratio.
WebP is a raster graphics file format developed by Google intended as a replacement for JPEG, PNG, and GIF file formats. It supports both lossy and lossless compression, as well as animation and alpha transparency.
A video coding format is a content representation format of digital video content, such as in a data file or bitstream. It typically uses a standardized video compression algorithm, most commonly based on discrete cosine transform (DCT) coding and motion compensation. A computer software or hardware component that compresses or decompresses a specific video coding format is a video codec.
Free Lossless Image Format (FLIF) is a lossless image format claiming to outperform PNG, lossless WebP, lossless BPG and lossless JPEG 2000 in terms of compression ratio on a variety of inputs.
JPEG XT is an image compression standard which specifies backward-compatible extensions of the base JPEG standard.
Versatile Video Coding (VVC), also known as H.266, ISO/IEC 23090-3, and MPEG-I Part 3, is a video compression standard finalized on 6 July 2020, by the Joint Video Experts Team (JVET) of the VCEG working group of ITU-T Study Group 16 and the MPEG working group of ISO/IEC JTC 1/SC 29. It is the successor to High Efficiency Video Coding. It was developed with two primary goals – improved compression performance and support for a very broad range of applications.
The current contributors have committed to releasing it publicly under a royalty-free and open source license.