Jpeg XL
JPEG XL este un format de fișier grafic raster fără drepturi de autor care acceptă atât compresia cu pierderi , cât și fără pierderi . Este destinat să depășească formatele raster existente și să devină astfel înlocuitorul lor universal [3] .
Titlu
- JPEG - Joint Photographic Experts Group , care este comitetul care a dezvoltat acest format.
- X face parte din numele mai multor standarde JPEG din 2000: JPEG XT , JPEG XR , JPEG XS .
- L înseamnă Long-term , deoarece intenția autorilor pentru format este de a înlocui JPEG învechit și de a dura la fel de mult [4] .
Caracteristici
- Funcționalitate și eficiență îmbunătățite față de formatele de imagine tradiționale (cum ar fi JPEG , GIF și PNG );
- Dimensiunile imaginii sunt de peste un miliard (2 30 -1) pixeli pe fiecare parte [5] ;
- Până la 4100 de canale ( scale de gri sau RGB ), canal alfa suplimentar și până la 4096 canale „extra” [5] ;
- Decodificare progresivă (prin rezoluție și precizie);
- Transcodare JPEG fără pierderi cu ~20% reducere a dimensiunii;
- Fișierele CMYK JPEG nu sunt acceptate pentru transcodare, dar sunt foarte rare [6] ;
- Transcodarea în JPEG XL progresiv este suportată de format, dar încă nu este implementată în software-ul de referință [7] ;
- Codare fără pierderi și codare alfa fără pierderi;
- Suport atât pentru imagini fotografice, cât și pentru imagini sintetice;
- Degradarea lină a calității într-o gamă largă de rate de biți;
- Encoder de referință optimizat din punct de vedere perceptiv;
- Gamă largă de culori și suport HDR ;
- Suport pentru conținut animat ;
- Codificare și decodare eficiente fără echipamente speciale;
- În special, JPEG XL este la fel de rapid de codat și decodat ca vechiul JPEG folosind libjpeg-turbo și un ordin de mărime mai rapid de codat și decodat în comparație cu HEIC și x265 [5] . Este, de asemenea, paralelizabil.
- Format fără drepturi de autor cu implementare de referință open source [8] .
Detalii tehnice
JPEG XL se bazează pe idei din formatul PIK de la Google și formatul FUIF de la Cloudinary (care a fost la rândul său bazat pe FLIF ) [9] .
Formatul se bazează în principal pe două moduri de codare:
- VarDCT ( Variable Block Size Discrete Cosine Transform (DCT) - folosește același algoritm DCT ca JPEG moștenit, dar în loc de constrângerea 8x8, blocurile au dimensiuni diferite (de la 2x2 la 256x256), forme non-pătrate (de exemplu, 16x8, 8x32). , 32x64 ) sau pot folosi alte transformări (AFV, Hornuss).
- Modular - responsabil, printre altele, pentru codificarea eficientă fără pierderi a conținutului. Acest mod este folosit pentru a păstra câmpuri de cuantizare adaptivă, canale suplimentare (de exemplu , canal alfa , hartă de adâncime , canal termic, culori spot etc.) și rapoarte de decimare (imagine redusă 1:8) ale modului VarDCT. De asemenea, permite compresia cu pierderi folosind o transformare Haar modificată (numită „compresie”), care are proprietăți progresive: calitatea imaginii crește odată cu cantitatea de date încărcate. O modalitate de a încărca progresiv imagini bazate pe VarDCT este stocarea factorilor de decimare VarDCT cu „compresie” modulară, astfel încât ambele moduri să funcționeze în tandem.
În ambele moduri, modelarea separată a caracteristicilor specifice ale imaginii care sunt necunoscute în alte codecuri la momentul în care a fost creat formatul poate ajuta: [a]
- spline pentru codificare, de exemplu, păr;
- repetarea „secțiunilor” precum text, puncte sau sprite -uri ,
- sinteza zgomotului (deoarece zgomotul este dificil de codat în ambele moduri majore, este mai bine să-i estimați valoarea în encoder, să-l stocați și apoi să reconstruiți zgomotul în decodor).
Modurile cu pierderi folosesc de obicei spațiul de culoare XYB derivat din LMS [11] .
JPEG XL poate, de asemenea, re-codifica fără pierderi fișiere JPEG vechi preexistente prin copierea directă a coeficienților blocului JPEG DCT în blocuri JPEG XL 8x8 VarDCT, permițând fișiere de dimensiuni mai mici în detrimentul unei mai bune codări entropice. Anterior, exista un mod separat dedicat tocmai acestui lucru, numit Brunsli, care a fost decuplat de VarDCT și modularizat, dar a fost abandonat pentru a simplifica specificația și a face decodorul cu 20% mai mic [12] .
Setarea implicită este vizual apropiată de fără pierderi, care oferă încă o compresie bună [5] .
Imaginile animate (cu mai multe cadre) nu efectuează predicție extinsă între cadre , deși sunt disponibile unele instrumente rudimentare de codare între cadre:
- cadrele pot actualiza doar o parte a imaginii;
- pe lângă înlocuirea unor părți ale pânzei, ramele pot fi și amestecate, adăugate sau multiplicate cu părți ale acesteia [13] ;
- vă puteți aminti până la patru cadre [14] și vă puteți referi la ele în cadrele ulterioare [15] .
Software
Implementarea codecului
- Software de referință JPEG XL (libjxl)
- Licență: Licență BSD nouă (Licență Apache 2.0 anterioară )
- conţine (printre altele):
- codificatorcjxl
- decodordjxl
- Mod rapid fără pierderi numai codificatorfjxl
- instrument pentru analiza comparativă a vitezei și calității codecurilor de imaginebenchmark_xl
- Pluginul GIMP și Gtk pixbuffile-jxl
Suport oficial
- ImageMagick [16] - un set de instrumente pentru procesarea graficelor raster
- XnView MP [17] - vizualizator și editor de grafică raster
- gThumb [18] este un vizualizator de imagini gratuit pentru Linux.
- IrfanView [19] este un vizualizator de imagini și un editor gratuit pentru Windows.
- ExifTool [20] - editor de metadate
Suport neoficial
Suport preliminar
Istorie
În 2017, JTC1/SC29/WG1 (JPEG) a lansat un apel de propuneri pentru JPEG XL, standardul de codificare a imaginilor de următoarea generație [26] .
Formatul de fișier (bitstream) a fost înghețat pe 25 decembrie 2020 [27] și standardizat oficial pe 13 octombrie 2021. Orice fișier conform acestui standard este garantat a fi decodabil în toate versiunile viitoare.
Starea standardizării
Denumirea comună
|
Etapă
|
Data primei lansări publice (prima ediție)
|
Număr ISO/IEC
|
titlu formal
|
jpeg XL
|
Etapa 1
|
publicat, programat pentru începutul anului 2022
|
ISO/IEC FDIS 18181-1
|
Sistem de codificare a imaginilor JPEG XL. Partea 1. Sistem de codare de bază
|
Etapa 2
|
13 octombrie 2021
|
ISO/IEC 18181-2
|
Sistem de codificare a imaginilor JPEG XL. Partea 2. Formatul fișierului
|
Etapa 3
|
3 octombrie 2022
|
ISO/IEC DIS 18181-3
|
Sistem de codificare a imaginilor JPEG XL. Partea 3: Testarea conformității
|
Etapa 4
|
5 august 2022
|
ISO/IEC DIS 18181-4
|
Sistem de codificare a imaginilor JPEG XL. Partea 4. Software de referință
|
Note
Comentarii
- ↑ Sinteza zgomotului este o excepție, deoarece este prezentată și în AVIF creat înainte de JPEG XL. [zece]
Surse
- ↑ 12 fuif /README.md . GitHub. Consultat la 4 aprilie 2019. Arhivat din original pe 24 aprilie 2021. (nedefinit)
- ↑ https://gitlab.com/wg1/jpeg-xl/-/tags/v0.2
- ↑ Poate JPEG XL să devină următorul format de imagine gratuit și deschis? (engleză) . tech.slashdot.org . Preluat la 27 ianuarie 2022. Arhivat din original la 30 decembrie 2021.
- ↑ 1 2 Suport pentru citirea/scrierea imaginilor JPEG XL (#4681) Probleme GNOME / GIMP . gitlab . Preluat la 27 ianuarie 2022. Arhivat din original la 30 decembrie 2021.
- ↑ 1 2 3 4 Cum se compară JPEG XL cu alte codecuri de imagine . tulbure . Preluat la 27 ianuarie 2022. Arhivat din original la 30 decembrie 2021.
- ↑ Jon Sneyers. JPEG XL ca alternativă de transfer/ stocare PSD . Reddit (14 decembrie 2020). Preluat la 27 ianuarie 2022. Arhivat din original la 30 decembrie 2021.
- ↑ Jon Sneyers. Problemă de transcodare progresivă # 92 . GitHub (3 iunie 2021). Preluat la 27 ianuarie 2022. Arhivat din original la 30 decembrie 2021.
- ↑ Software de referință JPEG/JPEG XL . gitlab . Preluat la 27 ianuarie 2022. Arhivat din original la 30 decembrie 2021.
- ↑ FLIF - Free Lossless Image Format . Preluat la 27 ianuarie 2022. Arhivat din original la 21 decembrie 2021.
- ↑ Peter de Rivaz, Jack Haughton. AV1 Bitstream și specificația procesului de decodare 350-360. Alliance for Open Media (2018). Preluat la 15 ianuarie 2022. Arhivat din original la 2 mai 2019. (nedefinit)
- ↑ Jyrki Alakuijala, Ruud van Asseldonk, Sami Boukortt, Martin Bruse, Iulia-Maria Comía. Arhitectură de comprimare a imaginii JPEG XL de ultimă generație și instrumente de codare // Aplicații ale procesării digitale a imaginilor XLII. — 2019-09-01. - T. 11137 . — Vol. 11137. - S. 111370K . - P. 20. - ISBN 9781510629677 . - doi : 10.1117/12.2529237 . - Cod .
- ↑ JPEG XL vs. AVIF (12 octombrie 2020). Preluat la 27 ianuarie 2022. Arhivat din original la 15 ianuarie 2022. (nedefinit)
- ↑ Implementarea referințelor JPEG XL // GitHub . — 21.12.2021. Arhivat din original la 30 decembrie 2021.
- ↑ Implementarea referințelor JPEG XL // GitHub . — 2021-12-03. Arhivat din original la 30 decembrie 2021.
- ↑ Implementarea referințelor JPEG XL // GitHub . — 2021-12-03. Arhivat din original la 30 decembrie 2012.
- ↑ ImageMagick Studio LLC. ImageMagick (engleză) . ImageMagick . Preluat la 27 ianuarie 2022. Arhivat din original la 2 ianuarie 2022.
- ↑ JPEG XL - MantisBT . Preluat la 27 ianuarie 2022. Arhivat din original la 7 noiembrie 2021. (nedefinit)
- ↑ gThumb Image Viewer 3.11.3 Adaugă suport JPEG XL (.jxl) [Ubuntu PPA | UbuntuHandbook] (engleză) . ubuntuhandbook.org . Preluat la 27 ianuarie 2022. Arhivat din original la 30 decembrie 2021.
- ↑ Pluginuri IrfanView . Preluat la 27 ianuarie 2022. Arhivat din original la 28 decembrie 2021. (nedefinit)
- ↑ ExifTool de Phil Harvey . exiftool.org . Preluat la 27 ianuarie 2022. Arhivat din original la 26 ianuarie 2022. (nedefinit)
- ↑ qt-jpegxl-image-plugin // GitHub . — 2022-01-07. Arhivat din original pe 30 octombrie 2021.
- ↑ JPEG XL WIC // GitHub . — 06-01-2022. Arhivat din original la 30 decembrie 2021.
- ↑ JXLook // GitHub . — 26.01.2022. Arhivat din original la 30 decembrie 2021.
- ↑ (JPEG-XL) Implementați suport pentru JPEG XL (image/jxl ) . Preluat la 27 ianuarie 2022. Arhivat din original la 4 ianuarie 2022.
- ↑ Chromium - Un proiect cu sursă deschisă pentru a ajuta internetul să avanseze. - Monorail (engleză) . Preluat la 27 ianuarie 2022. Arhivat din original la 30 decembrie 2021.
- ↑ JPEG - Next-Generation Image Compression (JPEG XL) Final Call for Proposals . jpeg.org . Preluat la 27 ianuarie 2022. Arhivat din original la 30 decembrie 2021. (nedefinit)
- ↑ v0.2 Etichete JPEG / JPEG XL Software de referință . gitlab . Preluat la 27 ianuarie 2022. Arhivat din original la 20 octombrie 2021.
Link -uri