Srovnání formátů AVIF a JXL pro mapové podklady

AVIF

Komprese je založena na videokodeku AV1. Podporuje průhlednost, jak v bezztrátovém, tak ztrátovém režimu. Bezztrátový režim má však horší účinnost než PNG. Hodí se spíše pro grafické obrázky než fotografie, lehce maže nekontrastní detaily a jemné textury, zachovává však ostré hrany. Je vhodný pro turistické a terénní mapy. Pro letecké snímky je nevhodný. Formát začínají podporovat (k datu 2021) webové prohlížeče a grafické editory.

JXL (JPEG-XL)

Používá mnoho kompresních algoritmů s ohledem na rychlost a účinnost. Je vyvinut přímo pro obrázky. Podporuje vysokou přesnost barev (32 bit), průhlednost, vrstvy, animace a postupné vykreslování. Bezztrátový režim má podstatně účinnější než PNG. Dokáže bezztrátově převést JPG a ještě ho o 10 až 20 % zmenšit. Ve ztrátovém režimu zachovává jemné textury a detaily. Detaily nemaže, ale při velké kompresi je patrný kompresní šum – zvláště u ostrých hran. Ztrátový režim je vhodný pro fotografie, bezztrátový pro grafické obrázky. Svojí účinností překonává JPG, JPEG2000, GIF, PNG, WEBP a TIFF. Je vhodný zvláště pro letecké snímky. Formát je právě schvalován (k datu 2021) organizací ISO. Struktura uložení dat (bit stream) je již finální a neměnná. Formát začínají experimentálně podporovat webové prohlížeče.

Podpora (k datu 2021)

Stabilní verze Chrome: chrome://flags volba: Enable JXL image format, AVIF je již podporován.
Stabilní verze Firefoxu: about:config volba: image.avif.enabled, JXL nepodporuje.
Vývojová verze Firefoxu (Nightly): about:config volby: image.avif.enabled a image.jxl.enabled.

Srovnání

Při stejné velikosti souboru je někdy lepší AVIF, jindy JXL. Mírný kompresní šum je lepší volba, než rozmazané detaily a textury.

Original JXL bezztrátový JXL bezztrátový z JPG JXL AVIF
Letecká Seznam
orig. JPG
97,6 MB
MBTiles
n1 - n2 - n3
veliké 84,2 MB -13,7 %
MBTiles
viz original
63,3 MB -35,1 %
MBTiles
n1 - n2 - n3
maže detaily
Turistická Seznam
orig. PNG 256 barev
41,4 MB
MBTiles
n1 - n2 - n3
25,6 MB -38,1 %
MBTiles
viz original
nevzniklo z JPG u hran příliš
kompresního šumu
17,9 MB -56,7 %
MBTiles
n1 - n2 - n3
Terénní DMR 5G
orig. PNG 256 barev
44,0 MB
MBTiles
n1 - n2 - n3
32,4 MB -26,3 %
MBTiles
viz original
nevzniklo z JPG příliš kompresního
šumu
8,8 MB -80,0 %
MBTiles
n1 - n2 - n3

Převod

Převod proveden na operačním systému Linux x64 s ručně kompilovanými nástroji pro AVIF (avifenc 0.9.1, aom 3.1.0) a JXL (cjxl 0.3.7).

PNG - optimalizace bezztrátové komprese

optipng -o7 -strip all dlazdice.png

JXL - bezztrátová komprese

./cjxl -e 9 -q 100 dlazdice.png dlazdice_bezztratove.jxl

JXL - bezztrátový převod z JPG

./cjxl -e 9 -q 100 dlazdice.jpg dlazdice_bezztratove_z_jpg.jxl

JXL - ztrátová komprese

./cjxl -e 9 -d 2.5 dlazdice.jpg dlazdice.jxl

AVIF - ztrátová komprese

./avifenc -j 4 -y 444 -r full -s 0 -d 8 --min 12 --max 12 --minalpha 12 --maxalpha 12 dlazdice.png dlazdice.avif

© Zbyněk Gavenda (gazb@centrum.cz)