JPEG XL
Filename extension |
.jxl |
---|---|
Internet media type |
image/jxl[1] |
Magic number | FF 0A or 00 00 00 0C 4A 58 4C 20 0D 0A 87 0A [2] |
Developed by | |
Type of format | Lossy/lossless bitmap image format |
Extended from | |
Standard | ISO/IEC 18181[4] |
Open format? | Yes (royalty-free[5]) |
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.[6]
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.
Positioning
[edit]It was designed to become a universal replacement for all established raster formats for the Web.[5] 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.[7]
The JPEG XL call for proposals[8] 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.
History
[edit]In 2015, Jon Sneyers of the Belgian 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.[8] 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[9] and PIK[10].[11] In July 2019 the committee published a draft, mainly based on a combination of the two proposals.[12] The bitstream was informally frozen on 24 December 2020 with the release of version 0.2 of the libjxl reference software.[13] The file format and core coding system were formally standardized on 13 October 2021 and 30 March 2022 respectively.[4][14]
Industry support and adoption
[edit]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,[15][16] Adobe,[17][18] Intel and the Video Electronics Standards Association,[19][20] The Guardian,[21][22] Flickr and SmugMug,[23] Shopify,[24] the Krita Foundation,[25] and Serif Ltd.[26]
Google's stance on JPEG XL is ambiguous, as it has contributed to the format but refrained from shipping an implementation of it in their browser. Support in Chromium and Chrome web browsers was introduced for testing April 1, 2021[27] and removed on December 9, 2022 – with support removed in version 110.[28][29] 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.[27][30][28]
The decision was met with opposition from the community, with many voicing support for JPEG XL on Chromium's bug tracker.[27][31][30] 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."[32] 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.[33]
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.[34]
An extension to enable JPEG XL support in Chrome[35] and Firefox[36] 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.[37]
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.[38] This created a basis for later use as part of "Expert RAW" in Samsung Galaxy smartphones and Apple's "ProRAW".
Standardization status
[edit]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[4] |
Part 2 | 13 October 2021 | 18181-2:2024 | JPEG XL Image Coding System — Part 2: File format[14] | |
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 |
Features
[edit]JPEG XL has features aimed at web delivery such as advanced progressive decoding,[39] 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:[40][41][42]
Compression:
- Lossless encoding for any channel, including alpha.
- Support for both photographic and synthetic imagery: The format features two complementary modes that can be used depending on the image contents.
- Computationally efficient encoding and decoding without requiring specialized hardware: 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.[43][44]
- It is also parallelizable.
Data reduction:
- Lossy compression is supported through the optional quantization of transform coefficients.
- High image fidelity is well supported.
- Graceful quality degradation across a large range of bitrates: Quality loss isn't as abrupt as with older formats.
- Perceptually optimized reference encoder which uses a perceptual color space, and adaptive quantization.
Versatile and future-proof size limits:
- JPEG XL supports ultra-high-resolution images (up to 1 terapixel) with dimensions of over a billion (230-1) pixels per side,[43]
- sample precision of up to 32 bits, e.g. for HDR content.
- up to 4099 channels/components: either one (grayscale), three (RGB), or four (CMYK) main channels. The rest of the channels are optional and can be used to store e.g. alpha for transparency/compositing (either "straight" or "premultiplied"), depth, or thermal data.[43]
- There can be multiple frames, with non-zero duration (for animation) or with zero duration (for e.g. editing layers in graphics software or multi-page documents). Frames can be smaller or larger than the image canvas and can be blended in various ways. However, regular video codecs are still preferred for encoding realistic moving content.
- JPEG XL has built-in support for various color spaces, transfer curves, and high screen brightness. 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.
Data structuring:
- Tiles: Independent coding of sections of a large image by allowing images to be stored in tiles, e.g. for parallelization.
- Progressive decoding: Mode specifically designed for responsive loading of large images depending on the viewing device's resolution.
Upgrade path:
- JPEG transcoding: Being a JPEG superset, JXL provides efficient lossless recompression options for images in the traditional/legacy JPEG format that can represent JPEG data in a more space-efficient way (~20% size reduction due to the better entropy coder) and can easily be reversed, e.g. on the fly. Wrapped inside a JPEG XL file/stream, it can be combined with additional elements, e.g. an alpha channel.
- The format is extensible.
Freedom to use, batteries included:
- Royalty-free licensing of relevant (own) intellectual property/software patents.
- Production-ready open-source reference implementation available on GitHub under liberal licensing terms (3-clause BSD license).[45]
Technical details
[edit]JPEG XL is based on ideas from Google's PIK format and Cloudinary's FUIF format (which was in turn based on FLIF).[46]
The format is mainly based on two encoding modes:
- VarDCT mode (variable-blocksize DCT) – it is based from the same DCT algorithm as legacy JPEG, but blocks, instead of being restricted to 8×8, come in various sizes (2×2 up to 256×256), non-square shapes (e.g. 16×8, 8×32, 32×64), or can use another transforms (AFV, Hornuss). It is only used for the 3 color channels, which typically use the XYB color space (although YCbCr is also supported in order to recompress legacy JPEG). The VarDCT mode is based on (lossy) PIK. Lossy modes typically use the XYB color space derived from LMS.[7]
- Modular mode is responsible, among other things, for efficient lossless content encoding and also for lossy and near-lossless purposes. Modular can also be used internally in VarDCT to save 2D data, i.e. everything except the AC (high-frequency) DCT coefficients, including the DC image (which is always a 1:8 subsampled image so also includes low-frequency AC coefficients in case block sizes larger than 8×8 are used), the weights of adaptive quantization and filter strengths.
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.[47] 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.[43]
These modes can be assisted by separate modeling of specific image features called:
- Splines for coding e.g. hairs (not yet used by the reference encoder).
- Repeating "patches" like text, dots, or sprites.
- Noise synthesis: since noise is hard to compress, it is better to separate it out and then regenerate it in the decoder. This is similar to film grain synthesis in modern video codecs like AV1, although JPEG XL's noise synthesis is not aiming to mimick the granularity of analog photographic film, but rather to model the photon noise at the pixel level, i.e. those visible with a digital camera at high ISO settings.
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.[48]
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).[41]
Animated (multi-frame) images do not perform advanced inter-frame prediction, though some rudimentary inter-frame coding tools are available:
- Frames can be smaller than the full canvas size, leaving other pixels untouched.
- Frames support several blending modes in addition to replacing previous frames, such as addition or multiplication.[49]
- Up to four frames can be remembered and referenced by later frames, using the "patches" coding tool.
Software
[edit]Codec implementations
[edit]Initial release | December 27, 2019[50] |
---|---|
Stable release | 0.11.0
/ September 13, 2024 |
Repository | https://github.com/libjxl/libjxl[51] |
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.[52] 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.[53][54]
- J40: Independent, self-contained JPEG XL decoder.[55]
- license: MIT License No Attribution
- C99 single header library (no dependencies)
- In Roman numerals, "XL" denotes 40, hence the name
- libjxl-tiny: a simpler encoder implementation of JPEG XL, aimed at photographic images without an alpha channel.[56]
- license: New BSD License
- jxlatte: Java JPEG XL decoder [57]
- license: MIT License
- jxl_decode: A Python JPEG XL decoder.[58]
- license: MIT License
- hydrium: Fast, ultra-low-memory, streaming JPEG XL encoder written in portable C.[59]
- license: BSD License
- jxl-oxide: Small JPEG XL decoder written completely in Rust. Fully conforms to the specification.[60]
- dual license: MIT License and Apache License 2.0
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.[61]
Official software support
[edit]- Apple Inc.[62]
- Samsung
- One UI in Samsung Galaxy S24 – storage capacity in Expert Raw.[67]
- Tachiyomi 0.12.1 and later.[68]
- Waterfox, a Firefox fork supports displaying JPEG XL images and animations.
- Pale Moon v31.4.0 and later (v31.4.1 fixed wrong color of decoded JPEG XL images, v31.4.2 fixed JPEG-XL's transparency display for images with an alpha channel, and v32.0.0 support progressive decoding and animation for JPEG XL.).[69]
- ImageMagick – reading and writing of JPEG XL images.[70]
- KDE applications can be built with KImageFormats plugin with native JPEG XL support.[71] This gives most KDE apps native support for both read and writing and works with all apps from the Dolphin file manager including Gwenview image viewer, Krita digital painting tool and DigiKam photo manager.
- XnView – reading and writing of JPEG XL images.[72]
- Affinity suite – reading and writing of JPEG XL images.[73]
- GNOME 45 and later.
- imlib2 of Enlightment/EFL, that many image viewers are based on.
- Simple DirectMedia Layer's image-loading subsystem.
- Darktable photography editor.
- VIPS image processing software package.
- FFmpeg library and video conversion application.
- Krita graphics editor.
- Amazon Photos – Amazon Prime Photo Storage.[80]
- PureRef – supported image format in PureRef 2.[81]
- DICOM version 2024d introduced JPEG XL as a payload codec.[82]
Unofficial or indirect support
[edit]- Microsoft Windows – A 3rd-party Windows Imaging Component (WIC) plugin adds viewing to File Explorer, Microsoft Photos, Windows Photo Viewer, and thumbnails, and aware apps. Only On Windows 7/10.[83]
- Another Windows Imaging Component plugin, jxl-winthumb.[84]
- macOS (prior to 14.0 Sonoma) – via a standalone app and a plugin for Quick Look.[85]
- Qt support can be added with the qt-jpegxl-image-plugin.[86]
- jpeg-xl-encode: a PHP JPEG XL wrapper for the reference implementation.[87]
Preliminary web browser support
[edit]- Firefox web browser – introduced for testing in Firefox Nightly build.[88]
Rivals
[edit]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.[89]
Other rival formats include:
Notes
[edit]References
[edit]- ^ "Media Types". IANA. Archived from the original on 2024-03-05. Retrieved 2024-03-06.
- ^ "JPEG XL Format Overview". GitHub. Archived from the original on 2022-10-20. Retrieved 2022-10-20.
- ^ a b "fuif/README.md". GitHub. 2019-04-04. Archived from the original on 2021-04-24.
- ^ a b c ISO/IEC 18181-1:2022 Information technology — JPEG XL image coding system — Part 1: Core coding system.
- ^ a b "Can JPEG XL Become the Next Free and Open Image Format? – Slashdot". 2021-02-20. Archived from the original on 2021-12-30.
- ^ "Support for reading/Writing JPEG XL images (#4681) · Issues · GNOME / GIMP". 2021-02-26. Archived from the original on 2021-12-30.
- ^ a b 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 (2019-09-06). Tescher, Andrew G.; Ebrahimi, Touradj (eds.). "JPEG XL next-generation image compression architecture and coding tools". Proceedings of SPIE. 11137. SPIE: 20. doi:10.1117/12.2529237. ISBN 978-1-5106-2967-7. Cite error: The named reference "SPIE 11137" was defined multiple times with different content (see the help page).
- ^ a b "N79010 Final Call for Proposals for a Next-Generation Image Coding Standard (JPEG XL)" (PDF). ISO/IEC JTC 1/SC 29/WG 1 (ITU-T SG16). 15 April 2018.
- ^ "FUIF, Free Universal Image Format". GitHub. Retrieved 2022-10-17.
- ^ "PIK, A new lossy/lossless image format for photos and the internet". GitHub. Retrieved 2022-10-17.
- ^ Jon Sneyers (Cloudinary), 22 August 2019: Next-Gen Image Format – JPEG XL
- ^ Rhatushnyak, Alexander; Wassenberg, Jan; 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). "Committee Draft of JPEG XL Image Coding System". arXiv:1908.03565 [eess.IV].
- ^ "v0.2 JPEG XL Reference Software". GitLab. 2021-02-19. Archived from the original on 2021-10-20.
- ^ a b ISO/IEC 18181-2:2021 Information technology — JPEG XL image coding system — Part 2: File format.
- ^ Andre, Erik (2021-04-20). "Statement of support by Facebook on Chromium's issue #1178058". bugs.chromium.org. Retrieved 2022-11-03.
- ^ Andre, Erik (2021-05-24). "Statement of support by Facebook on Firefox's issue #1539075". bugzilla.mozilla.org. Retrieved 2022-11-03.
- ^ Rosenthol, Leonard (2021-06-07). "Statement of support by Adobe on Firefox's issue #1539075". bugzilla.mozilla.org. Retrieved 2022-11-03.
- ^ Chan, Eric (2022-08-23). "Statement of support by Adobe on Chromium's issue #1178058". bugs.chromium.org. Retrieved 2022-11-03.
- ^ 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". bugs.chromium.org. Retrieved 2022-11-03.
- ^ 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". bugs.chromium.org. Retrieved 2022-11-11.
- ^ Chauvin, Mariot (2022-08-26). "Statement of support by The Guardian on Chromium's issue #1178058". bugs.chromium.org. Retrieved 2022-11-03.
- ^ Chauvin, Mariot (2022-01-13). "Statement of support by The Guardian on Firefox's issue #1539075". bugzilla.mozilla.org. Retrieved 2022-11-03.
- ^ MacAskill, Don (2022-01-04). "Statement of support by Flickr and SmugMug on Firefox's issue #1539075". bugzilla.mozilla.org. Retrieved 2022-11-03.
- ^ Bendell, Colin (2022-10-17). "Statement of support by Shopify on Chromium's issue #1178058". bugs.chromium.org. Retrieved 2022-11-03.
- ^ Rempt, Rempt (2022-11-10). "Statement of support by the Krita Foundation on Chromium's issue #1178058". bugs.chromium.org. Retrieved 2022-11-11.
- ^ Brightman, Tony (2022-11-11). "Statement of support by Serif Ltd.'s SerifLabs on Chromium's issue #1178058". bugs.chromium.org. Retrieved 2022-11-11.
- ^ a b c "Issue 1178058: JPEG XL decoding support (image/jxl) in blink (tracking bug)". bugs.chromium.org. Retrieved 2022-12-16.
- ^ a b Proven, Liam. "Google drops forthcoming version of JPEG from Chromium". www.theregister.com. Retrieved 2023-06-06.
- ^ JPEG XL support
- ^ a b Sneyers, Jon (2022-11-02). "The Case for JPEG-XL". Cloudinary Blog. Retrieved 2022-12-30.
- ^ Shankland, Stephen (2022-11-03). "Chrome Banishes JPEG XL Photo Format That Could Save Phone Space". CNET. Retrieved 2022-11-03.
- ^ Sneyers, Jon (2022-12-14). "Re: Intent to Prototype: JPEG XL decoding support (image/jxl) in blink". blink-dev (Mailing list). Retrieved 2022-12-30.
- ^ Purdy, Kevin (2023-04-17). "FSF: Chrome's JPEG XL killing shows how the web works under browser hegemony". Ars Technica. Retrieved 2023-06-06.
- ^ https://github.com/mozilla/standards-positions/pull/1064
- ^ "JPEG XL Viewer". chromewebstore.google.com. Retrieved 2024-02-07.
- ^ "JPEG XL viewer – Get this Extension for 🦊 Firefox (en-US)". addons.mozilla.org. Retrieved 2024-02-20.
- ^ Gray, Jeremy (2024-09-18). "Why Apple Uses JPEG XL in the iPhone 16 and What it Means for Your Photos". PetaPixel. Retrieved 2024-10-03.
- ^ "Digital Negative (DNG) Specification Version 1.7.1.0" (PDF). September 2023.
- ^ "Using Saliency in progressive JPEG XL images". Retrieved 2022-10-17.
- ^ "JPEG XL reaches Committee Draft". JPEG.org. 2019-08-03. Archived from the original on 2019-08-03. Retrieved 2019-08-03.
The current contributors have committed to releasing it publicly under a royalty-free and open source license.
- ^ a b "JPEG XL White Paper" (PDF). JPEG.org. 2021-01-29. Archived (PDF) from the original on 2 May 2021. Retrieved 2021-03-17.
- ^ "JPEG XL vs. AVIF – Page 6". encode.su. Retrieved 2022-10-22.
- ^ a b c d Sneyers, Jon (26 May 2020). "How JPEG XL Compares to Other Image Codecs". Cloudinary. Archived from the original on 2021-12-30. Retrieved 2021-02-19.
- ^ Alakuijala, Jyrki; Boukortt, Sami; Ebrahimi, Touradj; Kliuchnikov, Evgenii; Sneyers, Jon; Upenik, Evgeniy; Vandevenne, Lode; Versari, Luca; Wassenberg, Jan (2020). "Benchmarking JPEG XL image compression". In Schelkens, Peter; Kozacki, Tomasz (eds.). Optics, Photonics and Digital Technologies for Imaging Applications VI. p. 32. doi:10.1117/12.2556264. ISBN 978-1-5106-3478-7.
- ^ "libjxl/libjxl: JPEG XL image format reference implementation". GitHub. Archived from the original on 2022-05-22. Retrieved 2022-06-05.
- ^ "FLIF – Free Lossless Image Format". Archived from the original on 2021-12-21. Retrieved 2021-04-06.
- ^ "FLIF, 3 Sep 2021, jonsneyers comment". GitHub.
- ^ 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.
- ^ "JPEG XL reference implementation". GitHub. 3 December 2021. Archived from the original on 30 December 2021. Retrieved 24 June 2021.
- ^ "Update JPEG-XL with latest changes". GitHub. 2019-12-27. Retrieved 10 October 2022.
- ^ "PLEASE DO NOT OPEN NEW ISSUES HERE". Retrieved 27 May 2021.
- ^ https://repology.org/project/libjxl/
- ^ Alfonso Maruccia, April 8, 2024: Google's new coding library aims to improve the JPEG image format on the web
- ^ Gianni Rosato, June 14, 2023: Mini Image Codec Comparison; jpegli
- ^ J40: Independent, self-contained JPEG XL decoder
- ^ "libjxl-tiny". GitHub. 4 November 2022.
- ^ "jxlatte". GitHub. 23 December 2022.
- ^ "jxl_decode". GitHub. 8 June 2023.
- ^ Leo Izen (6 March 2023). "hydrium". GitHub. Retrieved 2023-04-02.
- ^ Wonwoo Choi (29 October 2023). "jxl-oxide". GitHub. Retrieved 2023-09-29.
- ^ libjxl/jxl-rs, libjxl, 2024-09-29, retrieved 2024-09-29
- ^ Jon Sneyers (12 July 2023). "JPEG XL: How It Started, How It's Going". Cloudinary. Retrieved 3 November 2023.
- ^ "macOS 14 Sonoma: The Ars Technica review". ArsTechnica. 2023-10-29. Retrieved 2023-10-29.
- ^ "Explore media formats for the web – WWDC23 – Videos". Apple Developer. Retrieved 2023-06-06.
- ^ "Safari 17 Beta Release Notes". Apple Developer Documentation. Retrieved 2023-06-06.
- ^ "208235 – Support JPEG XL images". bugs.webkit.org. Retrieved 2023-07-28.
- ^ "Introducing the Galaxy S24 Camera/Gallery!". Samsung Community. 17 January 2024. Retrieved 2024-03-28.
- ^ "Changelogs". Tachiyomi. Archived from the original on 2024-06-12. Retrieved 2024-07-08.
- ^ "Pale Moon – Release Notes for Archived Versions". Retrieved 2024-01-17.
- ^ "ImageMagick – Image Formats". ImageMagick. Retrieved 2024-09-05.
- ^ "KImageFormats". KDE Invent. Retrieved 29 October 2023.
- ^ "Supported graphic and image formats". XnView.com. Retrieved 2024-01-17.
- ^ "Photo Editing Feature List". Affinity Photo. Retrieved 2024-06-12.
- ^ "Add libjxl to SDK and enable it for WebKitGTK". GNOME GitLab.
- ^ "GDK-pixbuf loader plugin's hard dependency on SKIA / SCMS may hurt adoption in core components of Linux desktop environments and distros". libjxl GitHub. Retrieved 2024-07-02.
- ^ "default: switch JPG>JXL format". GNOME GitLab. 2023-07-31.
- ^ "Image Viewer 45.beta". GNOME GitLab. Retrieved 2024-07-02.
- ^ "Support for JPEG-XL (#2040)". Issues · GNOME / Epiphany · GitLab. 2023-04-12. Retrieved 2023-07-28.
- ^ "257871 – [CMake] Enable JPEG XL by default, no longer experimental". bugs.webkit.org. Retrieved 2023-07-28.
- ^ "File Requirements for Amazon Photos". Amazon Photos. Retrieved 2024-09-24.
- ^ "Support:What image formats does PureRef support?". pureref.com/. Retrieved 2024-09-27.
- ^ "DICOM PS3.5 2024d – Data Structures and Encoding". dicom.nema.org. Retrieved 2024-10-09.
- ^ "Jpeg Xl Wic". GitHub. 27 November 2021. Archived from the original on 30 December 2021. Retrieved 23 March 2021.
- ^ "JXL WIN Thumb". GitHub. 11 June 2022. Retrieved 27 December 2022.
- ^ "JXLook". GitHub. December 2021. Archived from the original on 2021-12-30. Retrieved 2021-03-01.
- ^ "Qt jpegxl image plugin". GitHub. Retrieved 29 October 2023.
- ^ Siipola, Johannes (2022-10-31), JPEG XL Encode, retrieved 2022-11-29
- ^ "1539075 – (JPEG-XL) Implement support for JPEG XL (Image/JXL)". Archived from the original on 2022-01-04. Retrieved 2021-03-01.
- ^ "It's High Time to Replace JPEG With a Next-Generation Image Codec". Cloudinary Blog. 2021-02-22. Retrieved 2024-09-13.
External links
[edit]- Official website
- Reference implementation on GitHub
- builds: Nightly dev builds
- Community website
- J40 Independent, self-contained JPEG XL decoder