Jpeg XL
JPEG XL är ett royaltyfritt rastergrafikfilformat som stöder både förlustfri och förlustfri komprimering . Det är tänkt att överträffa befintliga rasterformat och därmed bli deras universella ersättning [3] .
Titel
- JPEG - Joint Photographic Experts Group , som är kommittén som utvecklat detta format.
- X har varit en del av namnet på flera JPEG-standarder sedan 2000: JPEG XT , JPEG XR , JPEG XS .
- L står för Långsiktig eftersom avsikten hos författarna till formatet är att ersätta den föråldrade JPEG och hålla lika länge [4] .
Funktioner
- Förbättrad funktionalitet och effektivitet jämfört med traditionella bildformat (som JPEG , GIF och PNG );
- Bildmåtten är över en miljard (2 30 -1) pixlar på varje sida [5] ;
- Upp till 4100 kanaler ( gråskala eller RGB ), ytterligare alfakanaler och upp till 4096 "extra" kanaler [5] ;
- Progressiv avkodning (genom upplösning och noggrannhet);
- JPEG-förlustfri omkodning med ~20 % storleksminskning;
- CMYK JPEG-filer stöds inte för omkodning, men de är mycket sällsynta [6] ;
- Omkodning till progressiv JPEG XL stöds av formatet, men har ännu inte implementerats i referensmjukvaran [7] ;
- Förlustfri kodning och förlustfri alfakodning;
- Stöd för både fotografiska och syntetiska bilder;
- Jämn kvalitetsförsämring i ett brett spektrum av bithastigheter;
- Perceptuellt optimerad referenskodare;
- Brett färgomfång och HDR -stöd ;
- Stöd för animerat innehåll;
- Effektiv kodning och avkodning utan specialutrustning;
- I synnerhet är JPEG XL ungefär lika snabb att koda och avkoda som den gamla JPEG med libjpeg-turbo, och en storleksordning snabbare att koda och avkoda jämfört med HEIC och x265 [5] . Den är också parallelliserbar.
- Royaltyfritt format med referensimplementering med öppen källkod [8] .
Tekniska detaljer
JPEG XL bygger på idéer från Googles PIK-format och Cloudinarys FUIF-format (som i sin tur var baserat på FLIF ) [9] .
Formatet är huvudsakligen baserat på två kodningslägen:
- VarDCT ( Variable Block Size Discrete Cosine Transform (DCT) - använder samma DCT-algoritm som den äldre JPEG, men istället för 8x8-begränsningen har blocken olika storlekar (från 2x2 till 256x256), icke-fyrkantiga former (t.ex. , 32x64 ) eller kan använda andra transformationer (AFV, Hornuss).
- Modulär – ansvarar bland annat för effektiv förlustfri kodning av innehåll. Detta läge används för att bevara adaptiva kvantiseringsfält, ytterligare kanaler (t.ex. alfakanal , djupkarta , termisk kanal, dekorfärger , etc.) och decimeringsförhållanden (nedsamplad bild 1:8) för VarDCT-läget. Det möjliggör också förlustkomprimering med en modifierad Haar-transform (kallad "komprimering"), som har progressiva egenskaper: bildkvaliteten ökar med mängden data som laddas. Ett sätt att progressivt ladda bilder baserade på VarDCT är att lagra VarDCT-decimeringsfaktorer med modulär "komprimering" så att båda lägena fungerar i tandem.
I båda lägena kan separat modellering av specifika bildfunktioner som är okända i andra codecs vid den tidpunkt då formatet skapades hjälpa till: [a]
- splines för kodning av till exempel hår;
- upprepade "avsnitt" som text, prickar eller sprites ,
- brussyntes (eftersom brus är svårt att koda i båda huvudlägena är det bättre att uppskatta dess värde i kodaren, lagra det och sedan rekonstruera bruset i avkodaren).
Förlustlägen använder vanligtvis XYB-färgrymden som härrör från LMS [11] .
JPEG XL kan också förlustfritt koda om redan existerande äldre JPEG-filer genom att direkt kopiera JPEG DCT-blockkoefficienter till JPEG XL 8x8 VarDCT-block, vilket möjliggör mindre filstorlekar på bekostnad av bättre entropikodning. Tidigare fanns det ett separat läge dedikerat till just detta, kallat Brunsli, som var frikopplat från VarDCT och modulariserat, men det lades ner för att förenkla specifikationen och göra avkodaren 20 % mindre [12] .
Standardinställningen är visuellt nära förlustfri, vilket fortfarande ger bra komprimering [5] .
Animerade (flera bildrutor) bilder utför inte utökad förutsägelse mellan bildrutor , även om vissa rudimentära verktyg för kodning mellan bildrutor är tillgängliga:
- ramar kan bara uppdatera en del av bilden;
- förutom att ersätta delar av duken, kan ramar också blandas, läggas till eller multipliceras med delar av den [13] ;
- du kan komma ihåg upp till fyra bildrutor [14] och hänvisa till dem i senare bildrutor [15] .
Programvara
Codec-implementering
- JPEG XL-referensprogram (libjxl)
- Licens: Ny BSD-licens (tidigare Apache-licens 2.0 )
- innehåller (bland annat):
- kodarecjxl
- avkodaredjxl
- snabb förlustfri läge endast kodarefjxl
- verktyg för jämförande analys av hastighet och kvalitet på bildcodecsbenchmark_xl
- GIMP och Gtk pixbuf pluginfile-jxl
Officiellt stöd
Inofficiellt stöd
Preliminärt stöd
Historik
Under 2017 lanserade JTC1/SC29/WG1 (JPEG) en utlysning av förslag för JPEG XL, nästa generations bildkodningsstandard [26] .
Filformatet (bitström) frystes den 25 december 2020 [27] och standardiserades officiellt den 13 oktober 2021. Alla filer som överensstämmer med denna standard är garanterade avkodningsbara i alla framtida versioner.
Status för standardisering
Vanligt namn
|
Skede
|
Datum för första offentliga utgivning (första upplagan)
|
ISO/IEC-nummer
|
formell titel
|
jpeg XL
|
Steg 1
|
publicerad, planerad till början av 2022
|
ISO/IEC FDIS 18181-1
|
JPEG XL Bildkodningssystem. Del 1. Grundläggande kodsystem
|
Steg 2
|
13 oktober 2021
|
ISO/IEC 18181-2
|
JPEG XL Bildkodningssystem. Del 2. Filformat
|
Steg 3
|
3 oktober 2022
|
ISO/IEC DIS 18181-3
|
JPEG XL Bildkodningssystem. Del 3: Överensstämmelsetestning
|
Steg 4
|
5 augusti 2022
|
ISO/IEC DIS 18181-4
|
JPEG XL Bildkodningssystem. Del 4. Referensmjukvara
|
Anteckningar
Kommentarer
- ↑ Brussyntes är ett undantag, eftersom det också finns med i AVIF skapat före JPEG XL. [tio]
Källor
- ↑ 12 fuif /README.md . GitHub. Hämtad 4 april 2019. Arkiverad från originalet 24 april 2021. (obestämd)
- ↑ https://gitlab.com/wg1/jpeg-xl/-/tags/v0.2
- ↑ Kan JPEG XL bli nästa fria och öppna bildformat? (engelska) . tech.slashdot.org . Hämtad 27 januari 2022. Arkiverad från originalet 30 december 2021.
- ↑ 1 2 Stöd för att läsa/skriva JPEG XL-bilder (#4681) Problem med GNOME / GIMP . gitlab . Hämtad 27 januari 2022. Arkiverad från originalet 30 december 2021.
- ↑ 1 2 3 4 Hur JPEG XL jämförs med andra bildkodekar . molnigt . Hämtad 27 januari 2022. Arkiverad från originalet 30 december 2021.
- ↑ Jon Sneyers. JPEG XL som alternativ för PSD-överföring/ lagring . Reddit (14 december 2020). Hämtad 27 januari 2022. Arkiverad från originalet 30 december 2021.
- ↑ Jon Sneyers. Progressiv omkodning nummer 92 . GitHub (3 juni 2021). Hämtad 27 januari 2022. Arkiverad från originalet 30 december 2021.
- ↑ JPEG/JPEG XL referensmjukvara . gitlab . Hämtad 27 januari 2022. Arkiverad från originalet 30 december 2021.
- ↑ FLIF - Gratis förlustfritt bildformat . Hämtad 27 januari 2022. Arkiverad från originalet 21 december 2021.
- ↑ Peter de Rivaz, Jack Haughton. AV1 bitströms- och avkodningsprocessspecifikation 350-360. Alliance for Open Media (2018). Hämtad 15 januari 2022. Arkiverad från originalet 2 maj 2019. (obestämd)
- ↑ Jyrki Alakuijala, Ruud van Asseldonk, Sami Boukortt, Martin Bruse, Iulia-Maria Comía. JPEG XL nästa generations bildkomprimeringsarkitektur och kodningsverktyg // Applications of Digital Image Processing XLII. — 2019-09-01. - T. 11137 . — Vol. 11137. - S. 111370K . - P. 20. - ISBN 9781510629677 . - doi : 10.1117/12.2529237 . - .
- ↑ JPEG XL vs. AVIF (12 oktober 2020). Hämtad 27 januari 2022. Arkiverad från originalet 15 januari 2022. (obestämd)
- ↑ JPEG XL referensimplementering // GitHub . — 2021-12-21. Arkiverad från originalet den 30 december 2021.
- ↑ JPEG XL referensimplementering // GitHub . — 2021-12-03. Arkiverad från originalet den 30 december 2021.
- ↑ JPEG XL referensimplementering // GitHub . — 2021-12-03. Arkiverad från originalet den 30 december 2012.
- ↑ ImageMagick Studio LLC. ImageMagick (engelska) . ImageMagick . Hämtad 27 januari 2022. Arkiverad från originalet 2 januari 2022.
- ↑ JPEG XL - MantisBT . Hämtad 27 januari 2022. Arkiverad från originalet 7 november 2021. (obestämd)
- ↑ gThumb Image Viewer 3.11.3 Lägger till JPEG XL (.jxl)-stöd [Ubuntu PPA | UbuntuHandbook] (engelska) . ubuntuhandbook.org . Hämtad 27 januari 2022. Arkiverad från originalet 30 december 2021.
- ↑ IrfanView PlugIns . Hämtad 27 januari 2022. Arkiverad från originalet 28 december 2021. (obestämd)
- ↑ ExifTool av Phil Harvey . exiftool.org . Hämtad 27 januari 2022. Arkiverad från originalet 26 januari 2022. (obestämd)
- ↑ qt-jpegxl-image-plugin // GitHub . — 2022-01-07. Arkiverad från originalet den 30 oktober 2021.
- ↑ JPEG XL WIC // GitHub . — 2022-01-06. Arkiverad från originalet den 30 december 2021.
- ↑ JXLook // GitHub . — 2022-01-26. Arkiverad från originalet den 30 december 2021.
- ↑ (JPEG-XL) Implementera stöd för JPEG XL (image/jxl ) . Hämtad 27 januari 2022. Arkiverad från originalet 4 januari 2022.
- ↑ Chromium - Ett projekt med öppen källkod för att hjälpa webben framåt. - Monorail (engelska) . Hämtad 27 januari 2022. Arkiverad från originalet 30 december 2021.
- ↑ JPEG - Nästa generations bildkomprimering (JPEG XL) Slutlig ansökningsomgång . jpeg.org . Hämtad 27 januari 2022. Arkiverad från originalet 30 december 2021. (obestämd)
- ↑ v0.2 Taggar JPEG/JPEG XL Referensmjukvara . gitlab . Hämtad 27 januari 2022. Arkiverad från originalet 20 oktober 2021.
Länkar