Jpeg XL
JPEG XL je bezplatný formát rastrových grafických souborů, který podporuje ztrátovou i bezeztrátovou kompresi . Má překonat stávající rastrové formáty a stát se tak jejich univerzální náhradou [3] .
Název
- JPEG - Joint Photographic Experts Group , což je komise, která vyvinula tento formát.
- X je od roku 2000 součástí názvu několika standardů JPEG: JPEG XT , JPEG XR , JPEG XS .
- L znamená Long-term , protože záměrem autorů tohoto formátu je nahradit zastaralý JPEG a vydržet co nejdéle [4] .
Funkce
- Vylepšená funkčnost a efektivita oproti tradičním formátům obrázků (jako jsou JPEG , GIF a PNG );
- Rozměry obrázku jsou přes miliardu (2 30 -1) pixelů na každé straně [5] ;
- Až 4100 kanálů ( stupně šedi nebo RGB ), další alfa kanál a až 4096 "extra" kanálů [5] ;
- Progresivní dekódování (podle rozlišení a přesnosti);
- Bezztrátové překódování JPEG s ~20% zmenšením velikosti;
- Soubory CMYK JPEG nejsou podporovány pro překódování, ale jsou velmi vzácné [6] ;
- Překódování do progresivního JPEG XL je podporováno formátem, ale zatím není implementováno v referenčním softwaru [7] ;
- Bezeztrátové kódování a bezeztrátové kódování alfa;
- Podpora pro fotografické i syntetické obrázky;
- Hladká degradace kvality v širokém rozsahu datových toků;
- Vjemově optimalizovaný referenční kodér;
- Široký barevný gamut a podpora HDR ;
- Podpora animovaného obsahu;
- Efektivní kódování a dekódování bez speciálního vybavení;
- Zejména JPEG XL je přibližně stejně rychlý při kódování a dekódování jako starý JPEG pomocí libjpeg-turbo a řádově rychlejší při kódování a dekódování ve srovnání s HEIC a x265 [5] . Je také paralelizovatelný.
- Royalty-free formát s implementací open source reference [8] .
Technické detaily
JPEG XL je založen na nápadech z formátu Google PIK a formátu FUIF Cloudinary (který byl zase založen na FLIF ) [9] .
Formát je založen hlavně na dvou režimech kódování:
- VarDCT ( Variable Block Size Discrete Cosine Transform (DCT) – používá stejný algoritmus DCT jako starší JPEG, ale místo omezení 8x8 mají bloky různé velikosti (od 2x2 do 256x256), nečtvercové tvary (např. 16x8, 8x32 , 32x64 ) nebo může používat jiné transformace (AFV, Hornuss).
- Modulární – zodpovědný mimo jiné za efektivní bezztrátové kódování obsahu. Tento režim se používá k zachování adaptivních kvantizačních polí, dalších kanálů (např. alfa kanál , hloubková mapa , termální kanál, přímé barvy atd.) a decimačních poměrů (převzorkovaný obraz 1:8) režimu VarDCT. Umožňuje také ztrátovou kompresi pomocí modifikované Haarovy transformace (tzv. „komprese“), která má progresivní vlastnosti: kvalita obrazu se zvyšuje s množstvím načtených dat. Jedním ze způsobů, jak progresivně načítat obrázky založené na VarDCT, je ukládat decimační faktory VarDCT s modulární „kompresí“, aby oba režimy fungovaly v tandemu.
V obou režimech může pomoci samostatné modelování specifických vlastností obrazu, které v době vytvoření formátu v jiných kodecích neznámé: [a]
- Spline pro kódování, například vlasů;
- opakování „sekcí“, jako je text, tečky nebo skřítky ,
- syntéza šumu (protože šum je obtížné kódovat v obou hlavních režimech, je lepší odhadnout jeho hodnotu v kodéru, uložit ji a pak rekonstruovat šum v dekodéru).
Ztrátové režimy obvykle využívají barevný prostor XYB odvozený z LMS [11] .
JPEG XL může také bezeztrátově překódovat již existující starší soubory JPEG přímým zkopírováním blokových koeficientů JPEG DCT do bloků JPEG XL 8x8 VarDCT, což umožňuje menší velikosti souborů na úkor lepšího entropického kódování. Dříve existoval samostatný režim vyhrazený právě tomuto, nazvaný Brunsli, který byl oddělen od VarDCT a modularizován, ale byl vypuštěn, aby se zjednodušila specifikace a dekodér byl o 20 % menší [12] .
Výchozí nastavení je vizuálně blízké bezeztrátovému, což stále poskytuje dobrou kompresi [5] .
Animované obrázky (více snímků) neprovádějí rozšířenou predikci mezi snímky , ačkoli jsou k dispozici některé základní nástroje pro kódování mezi snímky:
- rámce mohou aktualizovat pouze část obrazu;
- kromě výměny částí plátna lze rámy také míchat, přidávat nebo násobit jeho částmi [13] ;
- můžete si zapamatovat až čtyři snímky [14] a odkazovat na ně v dalších snímcích [15] .
Software
Implementace kodeku
- Referenční software JPEG XL (libjxl)
- Licence: Nová licence BSD (dřívější licence Apache 2.0 )
- obsahuje (mimo jiné):
- kodércjxl
- dekodérdjxl
- rychlý pouze kodér bezeztrátového režimufjxl
- nástroj pro srovnávací analýzu rychlosti a kvality obrazových kodekůbenchmark_xl
- Plugin GIMP a Gtk pixbuffile-jxl
Oficiální podpora
Neoficiální podpora
Předběžná podpora
Historie
V roce 2017 JTC1/SC29/WG1 (JPEG) zahájila výzvu k předkládání návrhů na JPEG XL, novou generaci standardu kódování obrázků [26] .
Formát souboru (bitstream) byl zmrazen 25. prosince 2020 [27] a oficiálně standardizován 13. října 2021. U každého souboru vyhovujícího tomuto standardu je zaručeno, že bude dekódovatelný ve všech budoucích verzích.
Stav standardizace
Běžné jméno
|
Etapa
|
Datum prvního veřejného vydání (první vydání)
|
Číslo ISO/IEC
|
formální titul
|
jpeg XL
|
Fáze 1
|
zveřejněno, naplánováno na začátek roku 2022
|
ISO/IEC FDIS 18181-1
|
Systém kódování obrázků JPEG XL. Část 1. Základní kódovací systém
|
Fáze 2
|
13. října 2021
|
ISO/IEC 18181-2
|
Systém kódování obrázků JPEG XL. Část 2. Formát souboru
|
Fáze 3
|
3. října 2022
|
ISO/IEC DIS 18181-3
|
Systém kódování obrázků JPEG XL. Část 3: Testování shody
|
Fáze 4
|
5. srpna 2022
|
ISO/IEC DIS 18181-4
|
Systém kódování obrázků JPEG XL. Část 4. Referenční software
|
Poznámky
Komentáře
- ↑ Syntéza šumu je výjimkou, protože je také součástí AVIF vytvořeného před JPEG XL. [deset]
Zdroje
- ↑ 12 fuif /README.md . GitHub. Staženo 4. dubna 2019. Archivováno z originálu 24. dubna 2021. (neurčitý)
- ↑ https://gitlab.com/wg1/jpeg-xl/-/tags/v0.2
- ↑ Může se JPEG XL stát dalším bezplatným a otevřeným formátem obrázků? (anglicky) . tech.slashdot.org . Získáno 27. ledna 2022. Archivováno z originálu dne 30. prosince 2021.
- ↑ 1 2 Podpora pro čtení/zápis obrázků JPEG XL (#4681) Problémy GNOME / GIMP . gitlab . Získáno 27. ledna 2022. Archivováno z originálu dne 30. prosince 2021.
- ↑ 1 2 3 4 Jak se JPEG XL srovnává s jinými obrazovými kodeky . oblačnost . Získáno 27. ledna 2022. Archivováno z originálu dne 30. prosince 2021.
- ↑ Jon Sneyers. JPEG XL jako alternativa přenosu/ úložiště PSD . Reddit (14. prosince 2020). Získáno 27. ledna 2022. Archivováno z originálu dne 30. prosince 2021.
- ↑ Jon Sneyers. Progresivní překódování Vydání č . 92 . GitHub (3. června 2021). Získáno 27. ledna 2022. Archivováno z originálu dne 30. prosince 2021.
- ↑ Referenční software JPEG/JPEG XL . gitlab . Získáno 27. ledna 2022. Archivováno z originálu dne 30. prosince 2021.
- ↑ FLIF - Free Lossless Image Format . Získáno 27. ledna 2022. Archivováno z originálu dne 21. prosince 2021.
- ↑ Peter de Rivaz, Jack Haughton. AV1 Bitstream & Specifikace procesu dekódování 350-360. Aliance pro otevřená média (2018). Získáno 15. ledna 2022. Archivováno z originálu dne 2. května 2019. (neurčitý)
- ↑ Jyrki Alakuijala, Ruud van Asseldonk, Sami Boukortt, Martin Bruse, Iulia-Maria Comía. Architektura komprese obrazu a nástroje kódování nové generace JPEG XL // Aplikace digitálního zpracování obrazu XLII. — 2019-09-01. - T. 11137 . — Sv. 11137. - S. 111370K . - S. 20. - ISBN 9781510629677 . - doi : 10.1117/12.2529237 . - .
- ↑ JPEG XL vs. AVIF (12. října 2020). Získáno 27. ledna 2022. Archivováno z originálu 15. ledna 2022. (neurčitý)
- ↑ Referenční implementace JPEG XL // GitHub . — 21. 12. 2021. Archivováno z originálu 30. prosince 2021.
- ↑ Referenční implementace JPEG XL // GitHub . — 2021-12-03. Archivováno z originálu 30. prosince 2021.
- ↑ Referenční implementace JPEG XL // GitHub . — 2021-12-03. Archivováno z originálu 30. prosince 2012.
- ↑ ImageMagick Studio LLC. ImageMagick (anglicky) . ImageMagick . Získáno 27. ledna 2022. Archivováno z originálu dne 2. ledna 2022.
- ↑ JPEG XL - MantisBT . Získáno 27. ledna 2022. Archivováno z originálu dne 7. listopadu 2021. (neurčitý)
- ↑ gThumb Image Viewer 3.11.3 přidává podporu JPEG XL (.jxl) [Ubuntu PPA | UbuntuHandbook] (anglicky) . ubuntuhandbook.org . Získáno 27. ledna 2022. Archivováno z originálu dne 30. prosince 2021.
- ↑ Zásuvné moduly IrfanView . Získáno 27. ledna 2022. Archivováno z originálu dne 28. prosince 2021. (neurčitý)
- ↑ ExifTool od Phila Harveyho . exiftool.org . Získáno 27. ledna 2022. Archivováno z originálu dne 26. ledna 2022. (neurčitý)
- ↑ qt-jpegxl-image-plugin // GitHub . — 2022-01-07. Archivováno z originálu 30. října 2021.
- ↑ JPEG XL WIC // GitHub . — 2022-01-06. Archivováno z originálu 30. prosince 2021.
- ↑ JXLook // GitHub . — 26. 1. 2022. Archivováno z originálu 30. prosince 2021.
- ↑ (JPEG-XL) Implementujte podporu pro JPEG XL (image/jxl ) . Získáno 27. ledna 2022. Archivováno z originálu dne 4. ledna 2022.
- ↑ Chromium – Projekt s otevřeným zdrojovým kódem, který pomáhá posunout web kupředu. - Jednokolejka (anglicky) . Získáno 27. ledna 2022. Archivováno z originálu dne 30. prosince 2021.
- ↑ JPEG – komprese obrázků nové generace (JPEG XL) Poslední výzva k předkládání návrhů . jpeg.org . Získáno 27. ledna 2022. Archivováno z originálu dne 30. prosince 2021. (neurčitý)
- ↑ v0.2 Tagy JPEG / JPEG XL Referenční software . gitlab . Získáno 27. ledna 2022. Archivováno z originálu dne 20. října 2021.
Odkazy