Short description: Raster-graphics file format supporting lossy and lossless compression
JPEG XL
Filename extension
.jxl
Internet media type
image/jxl
Magic number
FF 0A or 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A
Developed by
Authors: Jyrki Alakuijala, Jon Sneyers, Luca Versari
Developers: Sami Boukortt, Alex Deymo, Moritz Firsching, Thomas Fischbacher, Eugene Kliuchnikov, Robert Obryk, Alexander Rhatushnyak, Zoltán Szabadka, Lode Vandevenne, Jan Wassenberg
Joint Photographic Experts Group
Google
Cloudinary
Type of format
Lossy/lossless bitmap image format
Extended from
PIK[1]
FLIF–FUIF[1]
Standard
ISO/IEC 18181
Open format?
Yes (royalty-free)
Website
jpeg.org/jpegxl (official website)
sneyers.info/jxl (author's personal page)
JPEG XL is a royalty-free raster-graphics file format that supports both lossy and lossless compression. It is designed to outperform existing raster formats and thus to become their universal replacement.[2]
Contents
1Name
2History
3Features
4Technical details
5Software
5.1Codec implementation
5.2Official support
5.3Unofficial support
5.4Preliminary support
6Standardization status
7References
8External links
Name
JPEG is the Joint Photographic Experts Group, which is the committee that designed the format.
X is part of the name of several JPEG standards since 2000: JPEG XT, JPEG XR, JPEG XS.
L means Long-term because the authors' intention for the format is to replace the legacy JPEG and last as long too.[3]
History
In 2017, JTC1/SC29/WG1 (JPEG) issued a Call for proposals for JPEG XL – the next generation image coding standard.[4]
The file format (bitstream) was frozen on December 25, 2020, meaning that the format is now guaranteed to be decodable by future releases.[5]
Features
The main features are:[6][7]
Improved functionality and efficiency compared to traditional image formats (e.g. JPEG, GIF and PNG);
Progressive decoding (by resolution and precision);
Lossless JPEG transcoding with ~20% size reduction;
Lossless encoding and lossless alpha encoding;
Support for both photographic and synthetic imagery;
Graceful quality degradation across a large range of bitrates;
Perceptually optimized reference encoder;
Support for wide color gamut and HDR;
Support for animated content,
Efficient encoding and decoding without requiring specialized hardware
In particular, JPEG XL is about as fast to encode and decode as old JPEG using libjpeg-turbo and an order of magnitude faster to encode and decode compared to HEIC with x265.[8]
Royalty-free format with an open-source reference implementation.[9]
Technical details
JPEG XL codec architecture diagram
JPEG XL is based on ideas from Google's Pik format and Cloudinary's FUIF format (which was in turn based on FLIF).[10]
The format has a variety of encoding modes. On the legacy side, it has a mode that transcodes legacy JPEG in a more compact way for storage. On the more modern side, it has a lossy mode called VarDCT (variable-blocksize DCT) and a lossless/near-lossless/responsive mode called Modular which optionally uses a modified Haar transform (called "squeeze") and which is also used to encode the DC (1:8 scale) image in VarDCT mode as well as various auxiliary images such as adaptive quantization fields or additional channels like alpha. Both modes can use separate modeling of specific image features: splines, repeating "patches" like text or dots, and noise synthesis. Lossy modes typically use the XYB color space derived from LMS.[11]
Prediction is run using a pixel-by-pixel decorrelator without side information, including a parametrized 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 signalled tree structure and predictor selection per context. Entropy coding is LZ77-enabled and can use both Asymmetric Numeral Systems and Huffman coding (for low complexity encoders or for reducing overhead of short streams).[citation needed]
It defaults to a visually near-lossless setting that still provides good compression.[8]
Animated (multi-frame) images do not perform advanced inter-frame prediction, though some rudimentary inter-frame coding tools are available:
a frame can only update part of the canvas;
a frame can not just replace the contents on the canvas, but also be blended, added or multiplied to it;[12]
up to four frames can be 'remembered' and referenced using the "patches" coding tool in later frames.[13]
Software
Codec implementation
JPEG XL Reference Software (libjxl)
license: Apache License 2.0
contains (among others):
coder cjxl
decoder djxl
tool for benchmarking speed and quality of image codecs benchmark_xl
GIMP and Gtk pixbuf plugin file-jxl
Official support
ImageMagick[14] – toolkit for raster graphics processing
XnView MP[15] – viewer and editor of raster graphics
MConverter[16] – online media converter
Squoosh[17] – WebAssembly-based image converter (online media converter available)
gThumb[18] – free Linux image viewer
ImageGlass[19] – free and open-source Windows image viewer
Unofficial support
Qt / KDE apps[20] – via plugin
Microsoft Windows[21] – via WIC plugin, i.e. for viewing in Photo Viewer, File Explorer etc.
macOS[22] – via standalone app and Quick Look plugin
GIMP[3] – raster graphics editor; plugin for GIMP 2.10 available
Preliminary support
Chromium[23] – web browser; in testing (as Chrome Beta and Edge Canary)
Firefox[24] – web browser; in testing (as Firefox Nightly)
Standardization status
Common Name
Part
First public release date (First edition)
ISO/IEC Number
Formal Title
JPEG XL
Part 1
under development, planned for 2021
ISO/IEC FDIS 18181-1
JPEG XL Image Coding System — Part 1: Core coding system
Part 2
under development, planned for 2021
ISO/IEC DIS 18181-2
JPEG XL Image Coding System — Part 2: File format
Part 3
under development, planned for 2022
ISO/IEC WD 18181-3
JPEG XL Image Coding System — Part 3: Conformance testing
Part 4
under development, planned for 2022
ISO/IEC CD 18181-4
JPEG XL Image Coding System — Part 4: Reference software
↑"JPEG - Next-Generation Image Compression (JPEG XL) Final Draft Call for Proposals". April 23, 2018. https://jpeg.org/items/20180423_cfp_jpeg_xl.html.
↑"v0.2 JPEG XL Reference Software" (in en). https://gitlab.com/wg1/jpeg-xl/-/tags/v0.2.
↑"JPEG XL reaches Committee Draft" (html). 3 August 2019. https://jpeg.org/items/20190803_press.html. "The current contributors have committed to releasing it publicly under a royalty-free and open source license."
↑"JPEG XL White Paper". 22 January 2021. http://ds.jpeg.org/whitepapers/jpeg-xl-whitepaper.pdf.
↑ 8.08.1Sneyers, Jon. "How JPEG XL Compares to Other Image Codecs". https://cloudinary.com/blog/how_jpeg_xl_compares_to_other_image_codecs.
↑"jpeg / JPEG XL Reference Software" (in en). https://gitlab.com/wg1/jpeg-xl.
↑https://flif.info/#update
↑Alakuijala, Jyrki; van Asseldonk, Ruud; Boukortt, Sami; Szabadka, Zoltan; Bruse, Martin; Comsa, Iulia-Maria; Firsching, Moritz; Fischbacher, Thomas et al. (6 September 2019). Tescher, Andrew G; Ebrahimi, Touradj. eds. "JPEG XL next-generation image compression architecture and coding tools". Applications of Digital Image Processing XLII: 20. doi:10.1117/12.2529237. ISBN 9781510629677.