Jpeg XL
JPEG XL er et royaltyfrit rastergrafikfilformat , der understøtter både tabs- og tabsfri komprimering . Det er beregnet til at overgå eksisterende rasterformater og dermed blive deres universelle erstatning [3] .
Titel
- JPEG - Joint Photographic Experts Group , som er udvalget, der har udviklet dette format.
- X har været en del af navnet på flere JPEG-standarder siden 2000: JPEG XT , JPEG XR , JPEG XS .
- L står for langsigtet , fordi intentionen med forfatterne til formatet er at erstatte den forældede JPEG og holde så længe [4] .
Funktioner
- Forbedret funktionalitet og effektivitet i forhold til traditionelle billedformater (såsom JPEG , GIF og PNG );
- Billeddimensionerne er over en milliard (2 30 -1) pixels på hver side [5] ;
- Op til 4100 kanaler ( gråtoner eller RGB ), ekstra alfakanal og op til 4096 "ekstra" kanaler [5] ;
- Progressiv afkodning (ved opløsning og nøjagtighed);
- JPEG-tabsfri omkodning med ~20 % størrelsesreduktion;
- CMYK JPEG-filer understøttes ikke til omkodning, men de er meget sjældne [6] ;
- Omkodning til progressiv JPEG XL understøttes af formatet, men er endnu ikke implementeret i referencesoftwaren [7] ;
- Tabsfri kodning og tabsfri alfa-kodning;
- Understøttelse af både fotografiske og syntetiske billeder;
- Glat forringelse af kvalitet i en bred vifte af bithastigheder;
- Perceptuelt optimeret referencekoder;
- Bredt farveskala og HDR -understøttelse ;
- Understøttelse af animeret indhold;
- Effektiv kodning og afkodning uden specialudstyr;
- Især JPEG XL er omtrent lige så hurtig at indkode og afkode som den gamle JPEG ved hjælp af libjpeg-turbo, og en størrelsesorden hurtigere at indkode og afkode sammenlignet med HEIC og x265 [5] . Den er også paralleliserbar.
- Royalty-frit format med open source- referenceimplementering [8] .
Tekniske detaljer
JPEG XL er baseret på ideer fra Googles PIK-format og Cloudinarys FUIF-format (som igen var baseret på FLIF ) [9] .
Formatet er hovedsageligt baseret på to indkodningstilstande:
- VarDCT ( Variable Block Size Discrete Cosine Transform (DCT) - bruger den samme DCT-algoritme som den gamle JPEG, men i stedet for 8x8-begrænsningen har blokkene forskellige størrelser (fra 2x2 til 256x256), ikke-kvadratiske former (f.eks. 16x328, 8x328, 8x328 , 32x64 ) eller kan bruge andre transformationer (AFV, Hornuss).
- Modulær - ansvarlig blandt andet for effektiv tabsfri kodning af indhold. Denne tilstand bruges til at bevare adaptive kvantiseringsfelter, yderligere kanaler (f.eks. alfakanal , dybdekort , termisk kanal, staffagefarver osv.) og decimeringsforhold (1:8 nedsamplet billede) i VarDCT-tilstanden. Det giver også mulighed for komprimering med tab ved hjælp af en modificeret Haar-transformation (kaldet "komprimering"), som har progressive egenskaber: billedkvaliteten øges med mængden af indlæst data. En måde at progressivt indlæse billeder baseret på VarDCT er at gemme VarDCT-decimeringsfaktorer med modulær "komprimering", så begge tilstande fungerer i tandem.
I begge tilstande kan separat modellering af specifikke billedfunktioner, der er ukendte i andre codecs på det tidspunkt, formatet blev oprettet, hjælpe: [a]
- splines til kodning af f.eks. hår;
- gentagelse af "sektioner" såsom tekst, prikker eller sprites ,
- støjsyntese (da støj er vanskelig at kode i begge hovedtilstande, er det bedre at estimere dens værdi i koderen, gemme den og derefter rekonstruere støjen i dekoderen).
Lossy-tilstande bruger typisk XYB-farverum afledt af LMS [11] .
JPEG XL kan også tabsfrit omkode allerede eksisterende ældre JPEG-filer ved direkte at kopiere JPEG DCT-blokkoefficienter til JPEG XL 8x8 VarDCT-blokke, hvilket muliggør mindre filstørrelser på bekostning af bedre entropikodning. Tidligere var der en separat mode dedikeret til netop dette, kaldet Brunsli, som var afkoblet fra VarDCT og modulariseret, men den blev droppet for at forenkle specifikationen og gøre dekoderen 20 % mindre [12] .
Standardindstillingen er visuelt tæt på tabsfri, hvilket stadig giver god komprimering [5] .
Animerede (multi-frame) billeder udfører ikke udvidet inter-frame forudsigelse , selvom nogle rudimentære inter-frame kodningsværktøjer er tilgængelige:
- rammer kan kun opdatere en del af billedet;
- udover at erstatte dele af lærredet, kan rammer også blandes, tilføjes eller ganges med dele af det [13] ;
- du kan huske op til fire rammer [14] og henvise til dem i senere rammer [15] .
Software
Codec implementering
- JPEG XL referencesoftware (libjxl)
- Licens: Ny BSD-licens (tidligere Apache-licens 2.0 )
- indeholder (blandt andet):
- indkodercjxl
- dekoderdjxl
- Encoder for hurtig tabsfri tilstandfjxl
- værktøj til sammenlignende analyse af hastighed og kvalitet af billedcodecsbenchmark_xl
- GIMP og Gtk pixbuf pluginfile-jxl
Officiel support
Uofficiel støtte
Foreløbig støtte
Historie
I 2017 lancerede JTC1/SC29/WG1 (JPEG) en indkaldelse af forslag til JPEG XL, næste generations billedkodningsstandard [26] .
Filformatet (bitstream) blev frosset den 25. december 2020 [27] og officielt standardiseret den 13. oktober 2021. Enhver fil, der overholder denne standard, er garanteret afkodbar i alle fremtidige versioner.
Status for standardisering
Almindeligt navn
|
Scene
|
Dato for første offentlige udgivelse (første udgave)
|
ISO/IEC nummer
|
formel titel
|
jpeg XL
|
Scene 1
|
offentliggjort, planlagt til begyndelsen af 2022
|
ISO/IEC FDIS 18181-1
|
JPEG XL Billedkodningssystem. Del 1. Grundlæggende kodesystem
|
Etape 2
|
13. oktober 2021
|
ISO/IEC 18181-2
|
JPEG XL Billedkodningssystem. Del 2. Filformat
|
Etape 3
|
3. oktober 2022
|
ISO/IEC DIS 18181-3
|
JPEG XL Billedkodningssystem. Del 3: Overholdelsestest
|
Etape 4
|
5. august 2022
|
ISO/IEC DIS 18181-4
|
JPEG XL Billedkodningssystem. Del 4. Referencesoftware
|
Noter
Kommentarer
- ↑ Støjsyntese er en undtagelse, da den også er med i AVIF oprettet før JPEG XL. [ti]
Kilder
- ↑ 12 fuif /README.md . GitHub. Hentet 4. april 2019. Arkiveret fra originalen 24. april 2021. (ubestemt)
- ↑ https://gitlab.com/wg1/jpeg-xl/-/tags/v0.2
- ↑ Kan JPEG XL blive det næste gratis og åbne billedformat? (engelsk) . tech.slashdot.org . Hentet 27. januar 2022. Arkiveret fra originalen 30. december 2021.
- ↑ 1 2 Understøttelse af læsning/skrivning af JPEG XL-billeder (#4681) Problemer med GNOME / GIMP . gitlab . Hentet 27. januar 2022. Arkiveret fra originalen 30. december 2021.
- ↑ 1 2 3 4 Hvordan JPEG XL sammenlignes med andre billedcodecs . skyet . Hentet 27. januar 2022. Arkiveret fra originalen 30. december 2021.
- ↑ Jon Sneyers. JPEG XL som PSD - overførsel/ lagringsalternativ . Reddit (14. december 2020). Hentet 27. januar 2022. Arkiveret fra originalen 30. december 2021.
- ↑ Jon Sneyers. Progressive Transcoding Issue # 92 . GitHub (3. juni 2021). Hentet 27. januar 2022. Arkiveret fra originalen 30. december 2021.
- ↑ JPEG/JPEG XL- referencesoftware . gitlab . Hentet 27. januar 2022. Arkiveret fra originalen 30. december 2021.
- ↑ FLIF - Free Lossless Image Format . Hentet 27. januar 2022. Arkiveret fra originalen 21. december 2021.
- ↑ Peter de Rivaz, Jack Haughton. AV1 Bitstream & Decoding Process Specification 350-360. Alliance for åbne medier (2018). Hentet 15. januar 2022. Arkiveret fra originalen 2. maj 2019. (ubestemt)
- ↑ Jyrki Alakuijala, Ruud van Asseldonk, Sami Boukortt, Martin Bruse, Iulia-Maria Comía. JPEG XL næste generations billedkomprimeringsarkitektur og kodningsværktøjer // Applications of Digital Image Processing XLII. - 01-09-2019. - T. 11137 . — Bd. 11137. - S. 111370K . - S. 20. - ISBN 9781510629677 . - doi : 10.1117/12.2529237 . - .
- ↑ JPEG XL vs. AVIF (12. oktober 2020). Hentet 27. januar 2022. Arkiveret fra originalen 15. januar 2022. (ubestemt)
- ↑ JPEG XL referenceimplementering // GitHub . — 21-12-2021. Arkiveret fra originalen den 30. december 2021.
- ↑ JPEG XL referenceimplementering // GitHub . — 2021-12-03. Arkiveret fra originalen den 30. december 2021.
- ↑ JPEG XL referenceimplementering // GitHub . — 2021-12-03. Arkiveret fra originalen den 30. december 2012.
- ↑ ImageMagick Studio LLC. ImageMagick (engelsk) . ImageMagick . Hentet 27. januar 2022. Arkiveret fra originalen 2. januar 2022.
- ↑ JPEG XL - MantisBT . Hentet 27. januar 2022. Arkiveret fra originalen 7. november 2021. (ubestemt)
- ↑ gThumb Image Viewer 3.11.3 Tilføjer JPEG XL (.jxl)-understøttelse [Ubuntu PPA | UbuntuHandbook] (engelsk) . ubuntuhandbook.org . Hentet 27. januar 2022. Arkiveret fra originalen 30. december 2021.
- ↑ IrfanView PlugIns . Hentet 27. januar 2022. Arkiveret fra originalen 28. december 2021. (ubestemt)
- ↑ ExifTool af Phil Harvey . exiftool.org . Hentet 27. januar 2022. Arkiveret fra originalen 26. januar 2022. (ubestemt)
- ↑ qt-jpegxl-image-plugin // GitHub . — 2022-01-07. Arkiveret fra originalen den 30. oktober 2021.
- ↑ JPEG XL WIC // GitHub . — 2022-01-06. Arkiveret fra originalen den 30. december 2021.
- ↑ JXLook // GitHub . — 2022-01-26. Arkiveret fra originalen den 30. december 2021.
- ↑ (JPEG-XL) Implementer understøttelse af JPEG XL (image/jxl ) . Hentet 27. januar 2022. Arkiveret fra originalen 4. januar 2022.
- ↑ Chromium - Et open source-projekt, der skal hjælpe med at flytte nettet fremad. - Monorail (engelsk) . Hentet 27. januar 2022. Arkiveret fra originalen 30. december 2021.
- ↑ JPEG - Næste generations billedkomprimering (JPEG XL) Endelig indkaldelse af forslag . jpeg.org . Hentet 27. januar 2022. Arkiveret fra originalen 30. december 2021. (ubestemt)
- ↑ v0.2 Tags JPEG/JPEG XL Referencesoftware . gitlab . Hentet 27. januar 2022. Arkiveret fra originalen 20. oktober 2021.
Links