I’d like to propose an improvement to ImageMagick adding support for brunsli, a lossless JPEG recompression system, also a part of the JPEG XL draft. I'm Lode Vandevenne from Google Research and I have worked before on other image compression projects such as lodepng, zopflipng, brotli, brunsli, webp, pik and JPEG XL, and I care for making the internet faster.
Brunsli is a lossless JPEG recompressor which allows for a further 22% decrease in image size while allowing the original JPEG to be recovered byte-by-byte. It is part of the JPEG XL Image Coding System Annex M "Lossless JPEG1 recompression".
You can try out brunsli easily. Its github repository has simple CLI tools:
Code: Select all
$ cbrunsli xyzzy.jpg xyzzy.jxl
$ ls -l xyzzy*
-rw-r--r-- 1 lode primarygroup 148685 Oct 1 19:37 xyzzy.jpg
-rw-r--r-- 1 lode primarygroup 117533 Oct 1 19:37 xyzzy.jxl
$ dbrunsli xyzzy.jxl xyzzy-restored.jpg
$ ls -l xyzzy*
-rw-r--r-- 1 lode primarygroup 148685 Oct 1 19:37 xyzzy.jpg
-rw-r--r-- 1 lode primarygroup 117533 Oct 1 19:37 xyzzy.jxl
-rw-r--r-- 1 lode primarygroup 148685 Oct 1 19:37 xyzzy-restored.jpg
$ sha256sum xyzzy.jpg xyzzy-restored.jpg
e8cbb0107b2b43e4fe09aaa419f18050683b417659b1d99ca9e2dcc9f00052d2 xyzzy.jpg
e8cbb0107b2b43e4fe09aaa419f18050683b417659b1d99ca9e2dcc9f00052d2 xyzzy-restored.jpg
https://github.com/lvandeve/ImageMagick ... 13091e7572
We can extend the brunsli integration code to full JPEG XL support later. At Google Research, we have tested and fuzzed it extensively – you can consider it a high quality piece of software. The authors responsible for 7zip M-filter already integrated brunsli there.
Kindest regards,
Lode Vandevenne