31 ms·
JPEG XL is three different codecs in one. There is a lossless ultra-packer for existing JPEG files. It's completely reversible, you can get byte-for-byte iden
by Dwedit 2y ago
JPEG XL is three different codecs in one.
There is a lossless ultra-packer for existing JPEG files. It's completely reversible, you can get byte-for-byte identical JPEGs back.
Then there is "VarDCT" mode, which acts like JPEG, lossy Webp, or video codecs.
Then there is "Modular Mode", a completely different kind of codec that has different kinds of compression artifacts than JPEG-like codecs. The compression artifacts you see tend to be more like sections becoming more pixelated, or slight color differences. Strong edges don't have ringing artifacts. Modular mode mainly is used for lossless compression, but also allows lossy compression.
- Joel_Mckay 2y agoInteresting, similarly the only part of the JPEG 2000 standard I encountered in the wild was for the lossless part of the standard. I guess Tiff is still the hot mess it always has been too... lol =3
- lifthrasiir 2y agoThe lossless JPEG recompression is a combination of VarDCT and some additional metadata. In fact, VarDCT should be considered as a (very large) superset of JPEG1 compression. The distinction between VarDCT and Modular in JPEG XL is relatively clear, but in reality VarDCT would still use modular encoding for various data anyway so it is hard to consider one without another. (Compare with Opus, which also uses two main mechanisms but mix them so well that they can't be really separated.)
- pizza 2y agoTechnically it also had a fourth :^) [0] but it was spun out into a separate project of its own, jpegli [1]: JPEG but it uses some tricks from JPEG XL. These include spatially adaptive quantization, quantization matrices that better preserve psychovisual detail, more efficient color spaces, and also HDR (10+ bit depth) support [2]. [0] https://github.com/libjxl/libjxl/tree/main/lib/jpegli https://github.com/libjxl/libjxl/tree/main/lib/jpegli [1] https://github.com/google/jpegli https://github.com/google/jpegli [2] https://opensource.googleblog.com/2024/04/introducing-jpegli-new-jpeg-coding-library.html https://opensource.googleblog.com/2024/04/introducing-jpegli...
- chronogram 2y agoPretty good news! I imagine that it'll take a while before libjxl and jpegli won't both supply a cjpegli binary so that'll be mildly annoying at the start, but hopefully this way it'll be adopted quicker so it'll accept more input formats and image software will switch over to jpegli native export instead of using the libjpeg compatible controls. It's a really excellent software. Its default output quality is storage quality, while the file size is acceptable for mobile data and cloud storage of pictures in most countries. It producing progressive pictures by default still helps when quickly swiping through a whole album of vacation pictures stored on cloud storage, and its progressive output actually reduces size rather than add to it. And it's compatible with everything so now I just throw everything lossy I produce through its default settings until JXL becomes natively supported in Chrome and Windows.
- JyrkiAlakuijala 2y agoThank you for such a kind praise for Jpegli! This made my day.