JPEG XL explained

JPEG XL
Extension:.jxl
Mime:image/jxl[1]
Magic:FF 0A or 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A[2]
Developer:
Genre:Lossy/lossless bitmap image format
Extended From:
Standard:ISO/IEC 18181[4]
Open:Yes (royalty-free)
Url:
  • (official website)
  • (community website)

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 become their universal replacement.[5]

Name

The name consists of JPEG (for the Joint Photographic Experts Group, which is the committee which designed the format), X (part of the name of several JPEG standards since 2000: JPEG XT, JPEG XR, JPEG XS), and L (for long-term). The L was included because the authors' intention is for the format to replace the legacy JPEG and last just as long, too.[6]

Authors

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.

History

In August 2017, JTC1 / SC29 / WG1 (JPEG) published a call for proposals for JPEG XL, the next generation image encoding standard.[7] The proposals were submitted by September 2018, leading to a committee draft in July 2019.[8] It was mainly based on a combination of a proposal called PIK,[9] submitted by Google, and a proposal called FUIF[10] — itself based on FLIF — submitted by Cloudinary.

The bitstream was informally frozen on 24 December 2020 with the release of version 0.2 of the libjxl reference software.[11] The file format and core coding system were formally standardized on 13 October 2021 and 30 March 2022 respectively.[4] [12]

Description

The JPEG XL call for proposals talks about the requirement of a next generation image compression standard with 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. It also provides efficient lossless recompression options for images in the traditional/legacy JPEG format.

JPEG XL supports lossy compression and lossless compression of ultra-high-resolution images (up to 1 terapixel), up to 32 bits per component, up to 4099 components (including alpha transparency), animated images, and embedded previews.It has features aimed at web delivery such as advanced progressive decoding[13] 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 is specifically designed to seamlessly handle wide color gamut color spaces with high dynamic range such as Rec. 2100 with the PQ or HLG transfer function.

Features

The main features are:[14] [15] [16]

Technical details

JPEG XL is based on ideas from Google's PIK format and Cloudinary's FUIF format (which was in turn based on FLIF).[20]

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.[22] 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.

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.[23]

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).[15]

Animated (multi-frame) images do not perform advanced inter-frame prediction, though some rudimentary inter-frame coding tools are available:

Industry support and adoption

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,[25] [26] Adobe,[27] [28] Intel and the Video Electronics Standards Association,[29] [30] The Guardian,[31] [32] Flickr and SmugMug,[33] Shopify,[34] the Krita Foundation,[35] and Serif Ltd.[36]

Google's stance on JPEG XL is ambiguous, as it has contributed to the format but refrained from shipping an implementation of it in Chromium and Google Chrome. An extension to enable JPEG XL support in Chrome[37] and Firefox[38] became available in January 2024.

Software

Codec implementations

JPEG XL Reference Software (libjxl)
Released:[39]
Latest Release Version:0.10.3
Programming Language:C++
License:New BSD License (previously Apache License 2.0)

Official software support

Unofficial or indirect support

Preliminary web browser support

Support for JPEG XL in Chromium and Chrome web browsers was introduced for testing April 1, 2021[69] and removed on December 9, 2022 - with support removed in version 110.[70] [71] 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.[72] [70] The decision was met with opposition from the community, with many voicing support for JPEG XL on Chromium's bug tracker.[73] 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 lead to an incorrect decision."[74] 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.[75]

Standardization status

Common Name Part First public release date (First edition) ISO/IEC Number Formal Title
JPEG XL Part 1 30 March 2022 ISO/IEC 18181-1:2024JPEG XL Image Coding System — Part 1: Core coding system
Part 2 13 October 2021 ISO/IEC 18181-2:2024JPEG XL Image Coding System — Part 2: File format
Part 3 3 October 2022 ISO/IEC 18181-3:2022 JPEG XL Image Coding System — Part 3: Conformance testing
Part 4 5 August 2022 ISO/IEC 18181-4:2022 JPEG XL Image Coding System — Part 4: Reference software

Rivals

External links

Notes and References

  1. Web site: Media Types . IANA . 2024-03-06 . live . https://web.archive.org/web/20240305194423/https://www.iana.org/assignments/media-types/media-types.xhtml . 2024-03-05.
  2. Web site: JPEG XL Format Overview. GitHub . 2022-10-20 . live . https://web.archive.org/web/20221020052500/https://github.com/libjxl/libjxl/blob/f88745497118727f861cb00887cadcb395d10f1c/doc/format_overview.md . 2022-10-20.
  3. Web site: fuif/README.md . GitHub . 2019-04-04 . 2021-04-24 . https://web.archive.org/web/20210424144901/https://github.com/cloudinary/fuif/blob/3ed48249a9cbe68740aa4ea58098ab0cd4b87eaa/README.md . live.
  4. ISO/IEC 18181-1:2022 Information technology — JPEG XL image coding system — Part 1: Core coding system . 77977.
  5. Web site: Can JPEG XL Become the Next Free and Open Image Format? - Slashdot . 2021-02-20 . live . https://web.archive.org/web/20211230074419/https://tech.slashdot.org/story/19/08/17/1855214/can-jpeg-xl-become-the-next-free-and-open-image-format . 2021-12-30.
  6. Web site: Support for reading/Writing JPEG XL images (#4681) · Issues · GNOME / GIMP . 2021-02-26 . live . https://web.archive.org/web/20211230074416/https://gitlab.gnome.org/GNOME/gimp/-/issues/4681 . 2021-12-30.
  7. Web site: N79010 Final Call for Proposals for a Next-Generation Image Coding Standard (JPEG XL) . 15 April 2018 . ISO/IEC JTC 1/SC 29/WG 1 (ITU-T SG16).
  8. 1908.03565 . eess.IV . Alexander . Rhatushnyak . Jan . Wassenberg . Committee Draft of JPEG XL Image Coding System . Sneyers . Jon . Alakuijala . Jyrki . Vandevenne . Lode . Versari . Luca . Obryk . Robert . Szabadka . Zoltan . Kliuchnikov . Evgenii . Comsa . Iulia-Maria . Potempa . Krzysztof . Bruse . Martin . Firsching . Moritz . Khasanova . Renata . Ruud van Asseldonk . Boukortt . Sami . Gomez . Sebastian . Fischbacher . Thomas . 2019.
  9. Web site: PIK, A new lossy/lossless image format for photos and the internet . . 2022-10-17.
  10. Web site: FUIF, Free Universal Image Format . . 2022-10-17.
  11. Web site: v0.2 JPEG XL Reference Software . live . https://web.archive.org/web/20211020013330/https://gitlab.com/wg1/jpeg-xl/-/tags/v0.2 . 2021-10-20 . 2021-02-19 . GitLab . en.
  12. ISO/IEC 18181-2:2021 Information technology — JPEG XL image coding system — Part 2: File format . 80617.
  13. Web site: Using Saliency in progressive JPEG XL images . 2022-10-17.
  14. Web site: JPEG XL reaches Committee Draft . 2019-08-03 . JPEG.org . The current contributors have committed to releasing it publicly under a royalty-free and open source license. . 2019-08-03 . live . https://web.archive.org/web/20190803230340/https://jpeg.org/items/20190803_press.html . 2019-08-03.
  15. Web site: JPEG XL White Paper . 2021-01-29 . JPEG.org . 2021-03-17 . live . https://web.archive.org/web/20210502025653/http://ds.jpeg.org/whitepapers/jpeg-xl-whitepaper.pdf . 2 May 2021.
  16. Web site: JPEG XL vs. AVIF - Page 6 . 2022-10-22 . encode.su.
  17. Web site: Sneyers . Jon . 26 May 2020 . How JPEG XL Compares to Other Image Codecs . live . https://web.archive.org/web/20211230074417/https://cloudinary.com/blog/how_jpeg_xl_compares_to_other_image_codecs . 2021-12-30 . 2021-02-19 . Cloudinary.
  18. Book: 10.1117/12.2556264 . Benchmarking JPEG XL image compression . Optics, Photonics and Digital Technologies for Imaging Applications VI . 2020 . Alakuijala . Jyrki . Boukortt . Sami . Ebrahimi . Touradj . Kliuchnikov . Evgenii . Sneyers . Jon . Upenik . Evgeniy . Vandevenne . Lode . Versari . Luca . Wassenberg . Jan . 32 . 978-1-5106-3478-7 . Peter . Tomasz . Schelkens . Kozacki .
  19. Web site: libjxl/libjxl: JPEG XL image format reference implementation . . en . 2022-06-05 . live . 2022-05-22 . https://web.archive.org/web/20220522142808/https://github.com/libjxl/libjxl/.
  20. Web site: FLIF - Free Lossless Image Format . 2021-04-06 . live . https://web.archive.org/web/20211221104544/https://flif.info/#update . 2021-12-21.
  21. Book: Alakuijala . Jyrki . van Asseldonk . Ruud . Boukortt . Sami . Szabadka . Zoltan . Bruse . Martin . Comsa . Iulia-Maria . Firsching . Moritz . Fischbacher . Thomas . Kliuchnikov . Evgenii . Gomez . Sebastian . Obryk . Robert . Potempa . Krzysztof . Rhatushnyak . Alexander . Sneyers . Jon . Szabadka . Zoltan . 6 September 2019 . Tescher . Andrew G . Ebrahimi . Touradj . 11137 . 20 . 2019SPIE11137E..0KA . 10.1117/12.2529237 . 9781510629677 . free . Vandervenne . Lode . Versari . Luca . Wassenberg . Jan. Applications of Digital Image Processing XLII . JPEG XL next-generation image compression architecture and coding tools .
  22. Web site: FLIF, 3 Sep 2021, jonsneyers comment . .
  23. Web site: Sneyers . Jon . 2021-12-10 . Feature request: allow jbrd to reconstruct a part of the file when it's not possible for the whole file . GitHub.
  24. Web site: JPEG XL reference implementation . . 3 December 2021 . 24 June 2021 . 30 December 2021 . https://web.archive.org/web/20211230074420/https://github.com/libjxl/libjxl/blob/95eea7e/lib/jxl/frame_header.h#L168-L207 . live.
  25. Web site: Andre . Erik . 2021-04-20 . Statement of support by Facebook on Chromium's issue #1178058 . 2022-11-03 . bugs.chromium.org.
  26. Web site: Andre . Erik . 2021-05-24 . Statement of support by Facebook on Firefox's issue #1539075 . 2022-11-03 . bugzilla.mozilla.org . en.
  27. Web site: Rosenthol . Leonard . 2021-06-07 . Statement of support by Adobe on Firefox's issue #1539075 . 2022-11-03 . bugzilla.mozilla.org . en.
  28. Web site: Chan . Eric . 2022-08-23 . Statement of support by Adobe on Chromium's issue #1178058 . 2022-11-03 . bugs.chromium.org.
  29. Web site: Wooster . Roland . 2022-08-24 . Statement of support on Chromium's issue #1178058 by VESA's DisplayHDR Chairman and Principal Engineer at Intel's Client Computing Group . 2022-11-03 . bugs.chromium.org.
  30. Web site: Wooster . Roland . 2022-11-11 . Reinforced statement of support on Chromium's issue #1178058 by VESA's DisplayHDR Chairman and Principal Engineer at Intel's Client Computing Group . 2022-11-11 . bugs.chromium.org.
  31. Web site: Chauvin . Mariot . 2022-08-26 . Statement of support by The Guardian on Chromium's issue #1178058 . 2022-11-03 . bugs.chromium.org.
  32. Web site: Chauvin . Mariot . 2022-01-13 . Statement of support by The Guardian on Firefox's issue #1539075 . 2022-11-03 . bugzilla.mozilla.org . en.
  33. Web site: MacAskill . Don . 2022-01-04 . Statement of support by Flickr and SmugMug on Firefox's issue #1539075 . 2022-11-03 . bugzilla.mozilla.org . en.
  34. Web site: Bendell . Colin . 2022-10-17 . Statement of support by Shopify on Chromium's issue #1178058 . 2022-11-03 . bugs.chromium.org.
  35. Web site: Rempt . Rempt . 2022-11-10 . Statement of support by the Krita Foundation on Chromium's issue #1178058 . 2022-11-11 . bugs.chromium.org.
  36. Web site: Brightman . Tony . 2022-11-11 . Statement of support by Serif Ltd.'s SerifLabs on Chromium's issue #1178058 . 2022-11-11 . bugs.chromium.org.
  37. Web site: JPEG XL Viewer . 2024-02-07 . chromewebstore.google.com.
  38. Web site: JPEG XL viewer – Get this Extension for Firefox (en-US) . 2024-02-20 . addons.mozilla.org . en-US.
  39. Web site: Update JPEG-XL with latest changes. . GitHub . 10 October 2022 . 2019-12-27.
  40. https://github.com/lifthrasiir/j40 J40: Independent, self-contained JPEG XL decoder
  41. Web site: libjxl-tiny. . 4 November 2022 .
  42. Web site: jxlatte. . 23 December 2022 .
  43. Web site: jxl_decode. . 8 June 2023 .
  44. Web site: hydrium . Leo Izen . . 6 March 2023 . 2023-04-02.
  45. Web site: jxl-oxide . Wonwoo Choi . . 29 October 2023 . 2023-09-29.
  46. Web site: JPEG XL: How It Started, How It's Going . Cloudinary . 3 November 2023 . 12 July 2023.
  47. Web site: 2023-10-29 . macOS 14 Sonoma: The Ars Technica review . 2023-10-29 . ArsTechnica . en.
  48. Web site: Explore media formats for the web - WWDC23 - Videos . 2023-06-06 . Apple Developer . en.
  49. Web site: Safari 17 Beta Release Notes . 2023-06-06 . Apple Developer Documentation . en-US.
  50. Web site: 208235 – Support JPEG XL images . 2023-07-28 . bugs.webkit.org.
  51. Web site: Introducing the Galaxy S24 Camera/Gallery! . 2024-03-28 . Samsung Community . 17 January 2024 . en.
  52. Web site: Changelogs . Tachiyomi . 2024-07-08 . live . https://web.archive.org/web/20240612125305/https://tachiyomi.org/changelogs/#v0.12.1 . 2024-06-12.
  53. Web site: Pale Moon - Release Notes for Archived Versions. 2024-01-17.
  54. Web site: KImageFormats . . 29 October 2023.
  55. Web site: Supported graphic and image formats. XnView.com. 2024-01-17.
  56. Web site: Photo Editing Feature List Affinity Photo . 2024-06-12 . Affinity . en.
  57. Web site: Add libjxl to SDK and enable it for WebKitGTK . GNOME GitLab.
  58. Web site: GDK-pixbuf loader plugin's hard dependency on SKIA / SCMS may hurt adoption in core components of Linux desktop environments and distros . 2024-07-02 . libjxl GitHub.
  59. Web site: 2023-07-31 . default: switch JPG>JXL format . GNOME GitLab.
  60. Web site: Image Viewer 45.beta . 2024-07-02 . GNOME GitLab.
  61. Web site: 2023-04-12 . Support for JPEG-XL (#2040) · Issues · GNOME / Epiphany · GitLab . 2023-07-28 . GitLab . en.
  62. Web site: 257871 – [CMake] Enable JPEG XL by default, no longer experimental ]. 2023-07-28 . bugs.webkit.org.
  63. Web site: Digital Negative (DNG) Specification Version 1.7.1.0 . September 2023.
  64. Web site: Jpeg Xl Wic . . 27 November 2021 . 23 March 2021 . 30 December 2021 . https://web.archive.org/web/20211230180703/https://github.com/mirillis/jpegxl-wic . live.
  65. Web site: JXL WIN Thumb . . 11 June 2022 . 27 December 2022.
  66. Web site: JXLook . . December 2021 . 2021-03-01 . 2021-12-30 . https://web.archive.org/web/20211230180707/https://github.com/yllan/JXLook . live.
  67. Web site: Qt jpegxl image plugin . . 29 October 2023.
  68. Web site: 1539075 - (JPEG-XL) Implement support for JPEG XL (Image/JXL) . live . https://web.archive.org/web/20220104233107/https://bugzilla.mozilla.org/show_bug.cgi?id=1539075 . 2022-01-04 . 2021-03-01.
  69. Web site: Issue 1178058: JPEG XL decoding support (image/jxl) in blink (tracking bug) . 2022-12-16 . bugs.chromium.org.
  70. Web site: Proven . Liam . Google drops forthcoming version of JPEG from Chromium . 2023-06-06 . www.theregister.com . en.
  71. https://chromium-review.googlesource.com/c/chromium/src/+/4081749 JPEG XL support
  72. Web site: The Case for JPEG-XL. 2022-12-30. Sneyers. Jon. 2022-11-02. Cloudinary Blog.
  73. Web site: Shankland . Stephen . 2022-11-03 . Chrome Banishes JPEG XL Photo Format That Could Save Phone Space . 2022-11-03 . CNET.
  74. Sneyers. Jon. Re: Intent to Prototype: JPEG XL decoding support (image/jxl) in blink. blink-dev. 2022-12-14. 2022-12-30.
  75. Web site: Purdy . Kevin . 2023-04-17 . FSF: Chrome's JPEG XL killing shows how the web works under browser hegemony . 2023-06-06 . Ars Technica . en-us.