JPEG XL
?
format graficzny
obsługuj?cy zarowno
kompresj? stratn?
, jak i
bezstratn?
. Zaprojektowano go z my?l?, by był lepszy od istniej?cych formatow rastrowych, a tym samym stał si? ich uniwersalnym zamiennikiem
[2]
.
W 2017 roku komitet JTC1/SC29/WG1 (JPEG) ogłosił mo?liwo?? składania propozycji (
Call for Proposals
) na kandydatow na JPEG XL
[3]
.
Format został zamro?ony 24 grudnia 2020 r., co oznacza, ?e obecnie zakodowane pliki b?dzie mo?na zdekodowa? w przyszło?ci
[4]
.
Najwa?niejszymi funkcjami s?
[5]
[6]
:
- wi?kszy zestaw funkcji i lepsza efektywno?? kompresji w porownaniu do tradycyjnych formatow graficznych (m.in.
JPEG
,
GIF
oraz
PNG
),
- dekodowanie progresywne (polepszanie si? jako?ci wizualnej w miar? ładowania kolejnych fragmentow pliku),
- odwracalne kodowanie plikow JPEG oszcz?dzaj?ce ?20% rozmiaru,
- bezstratne kodowanie (w tym
kanału alfa
),
- algorytmy kompresji przystosowane zarowno do fotografii, jak i sztucznych obrazow,
- referencyjny
koder
zoptymalizowany pod percepcj? ludzk?,
- obsługa
wysokiej gł?bi bitowej
oraz
obrazow HDR
,
- wsparcie dla animowanych obrazow,
- wydajne kodowanie i dekodowanie bez u?ywania wyspecjalizowanego sprz?tu,
- format otwarty
,
wolny od tantiem
z
otwarto?rodłow?
implementacj?
referencyjn?
[7]
.
JPEG XL został oparty na formacie PIK od
Google
oraz FUIF od
Cloudinary
(inne j?zyki)
, ktory z kolei powstał na bazie
FLIF
(inne j?zyki)
[8]
.
Format ten opiera si? na dwoch głownych trybach kodowania:
- ? u?ywa tego samego algorytmu DCT, co klasyczny JPEG, ale bloki, zamiast by? ograniczone do 8×8, wyst?puj? w ro?nych rozmiarach (od 2×2 a? po 256×256) oraz kształtach (np. 16×8, 8×32, 32×64), a tak?e mog? u?ywa? innych rodzajow transformacji (AFV, Hornuss).
- Modular
? jest odpowiedzialny m.in. za wydajne, bezstratne kodowanie tre?ci. To z jego pomoc? zapisywane s? dodatkowe kanały (np. alfa, gł?boko??, temperatura i inne) oraz wspołczynniki DC (skala 1:8) trybu
VarDCT
. Mo?liwa jest w nim rownie? stratna kompresja, dokonywana z pomoc?
transformacji Haaro-podobnej
, nazywanej w JPEG XL ?
squeeze
”. Ma ona progresywne wła?ciwo?ci: w miar? doczytywania danych wida? coraz wi?cej detali. Progresywne ładowanie obrazow zapisanych trybem
VarDCT
odbywa si? mi?dzy innymi wła?nie przez zapisanie wspołczynnikow DC trybu
VarDCT
w trybie
modularnym
stratnym, działaj?c w tandemie.
Oba tryby mog? wspomaga? si? dodatkowymi narz?dziami, nieznanymi w innych kodekach:
- modelowanie krzywych
do kodowania np. włosow,
- powtarzaj?ce si? ?łatki” mog?ce by? np. literami tekstu albo
?duszkami”
grafiki pikselowej
,
- synteza szumu (jest on trudny do zakodowania w obu trybach, wi?c lepiej jest oszacowa? jego warto?? w koderze, zapisa? j? w pliku i zaaplikowa? szum ponownie w dekoderze).
Stratne ustawienia kodowania z reguły u?ywaj?
przestrzeni barw
XYB stworzonej na bazie
LMS
[9]
.
JPEG XL potrafi rownie? bezstratnie zakodowa? ju? istniej?ce pliki JPEG do bardziej kompaktowej formy, kopiuj?c bezpo?rednio wspołczynniki blokow
DCT
z JPEG-a do blokow VarDCT w JPEG XL, zawdzi?czaj?c mniejszy rozmiar lepszemu kodowaniu entropijnemu. Kiedy? za bezstratn? kompresj? plikow JPEG był odpowiedzialny Brunsli, odr?bny tryb od
VarDCT
i
modularnego
, został on jednak porzucony na rzecz uproszczenia specyfikacji i zmniejszenia rozmiaru dekodera o 20%
[10]
.
Predykcja jest wykonywana przy u?yciu dekorelatora piksel po pikselu bez dodatkowych informacji, u?ywaj?c sparametryzowanego, samokoryguj?cego, wa?onego zestawu predyktorow. Modelowanie kontekstowe obejmuje wyspecjalizowane modele statyczne i pot??ne modele metadaptacyjne, ktore uwzgl?dniaj? bł?d lokalny, z sygnalizowan? struktur? drzewa i wyborem predyktorow w zale?no?ci od kontekstu. Kodowanie entropijne u?ywa algorytmu
LZ77
i mo?e wykorzystywa? zarowno rANS (wariant przedziałowy
Asymetrycznych Systemow Liczbowych
), jak i
kodowanie Huffmana
(dla prostszych koderow lub w celu zmniejszenia narzutu danych w małych plikach)
[
potrzebny przypis
]
.
Domy?lnie implementacja referencyjna JPEG XL u?ywa ustawie?, ktore pomimo dobrej kompresji wci?? zapewniaj? jako?? obrazu niemal nieodro?nialn? od oryginału
[11]
.
Animacje w tym formacie, w przeciwie?stwie do formatow typowo filmowych (takich jak
H.264
czy
VP9
), nie u?ywaj? zaawansowanej kompresji mi?dzyklatkowej, ale (podobnie do GIF) maj? do dyspozycji pewne proste narz?dzia:
- klatka mo?e aktualizowa? tylko cz??? obrazu,
- obraz mo?e by? nie tylko zast?piony, ale te? wmieszany, dodany lub przemno?ony
[12]
,
- a? do 4 klatek
[13]
mo?e by? oznaczonych do przechowywania ?łatek” wykorzystywanych w po?niejszych klatkach
[14]
.
Oprogramowanie (stan na listopad 2022)
[
edytuj
|
edytuj kod
]
- ↑
Provisional Standard Media Type Registry
. IANA, 2021-01-28. [dost?p 2021-03-17].
(
ang.
)
.
- ↑
Can JPEG XL Become the Next Free and Open Image Format? - Slashdot
. slashdot.org. [dost?p 2021-03-19].
(
ang.
)
.
- ↑
Next-Generation Image Compression (JPEG XL) Final Call for Proposals
. 2018-04-23. [dost?p 2021-03-17].
(
ang.
)
.
- ↑
v0.2 JPEG XL Reference Software
. 2020-12-24. [dost?p 2021-03-17].
(
ang.
)
.
- ↑
JPEG XL reaches Committee Draft
. 2019-08-03. [dost?p 2021-03-17]. [zarchiwizowane z
tego adresu
(2019-08-03)]. Cytat:
The current contributors have committed to releasing it publicly under a royalty-free and open source license.
(
ang.
)
.
- ↑
Jyrki Alakuijala, Jon Sneyers, Luca Versari, Jan Wassenberg:
JPEG White Paper: JPEG XL Image Coding System
. 2021-01. [dost?p 2021-03-17].
(
ang.
)
.
- ↑
JPEG XL Reference Software
. [dost?p 2021-03-17].
(
ang.
)
.
- ↑
FLIF - Free Lossless Image Format
. 2021-02-09. [dost?p 2021-04-06].
(
ang.
)
.
- ↑
Jyrki
J.
Alakuijala
Jyrki
J.
i inni
,
JPEG XL next-generation image compression architecture and coding tools
,
Andrew G.
A.G.
Tescher
,
Touradj
T.
Ebrahimi
(red.), ?Applications of Digital Image Processing XLII”, SPIE,
2019
,
DOI
:
10.1117/12.2529237
,
ISBN
978-1-5106-2967-7
(
ang.
)
.
???
- ↑
JPEG XL vs. AVIF - Page 2
. encode.su. [dost?p 2021-03-19].
(
ang.
)
.
- ↑
Jon Sneyers:
How JPEG XL Compares to Other Image Codecs
. 2020-05-26. [dost?p 2021-03-17].
(
ang.
)
.
- ↑
lib/jxl/frame_header.h · 131953af · jpeg / JPEG XL Reference Software · GitLab
. 2020-11-10. [dost?p 2021-05-17].
(
ang.
)
.
- ↑
lib/jxl/common.h · 44778c69 · jpeg / JPEG XL Reference Software · GitLab
. 2021-05-21. [dost?p 2021-05-22].
(
ang.
)
.
- ↑
lib/jxl/frame_header.h · 131953af · jpeg / JPEG XL Reference Software · GitLab
. 2020-11-10. [dost?p 2021-05-17].
(
ang.
)
.
- ↑
ImageMagick - Image Formats
. imagemagick.org. [dost?p 2021-03-19].
(
ang.
)
.
- ↑
0001845: JPEG XL - MantisBT
. xnview.com. [dost?p 2021-03-19].
- ↑
MConverter: Free, Easy-to-Use Online File Converter ?
. [dost?p 2021-04-06]. Cytat:
We can also convert to and from new, more efficient image formats, such as AVIF and JPEG XL.
(
ang.
)
.
- ↑
Squoosh
. [dost?p 2021-04-06].
(
ang.
)
.
- ↑
gThumb Image Viewer 3.11.3 Adds JPEG XL (.jxl) Support [Ubuntu PPA] | UbuntuHandbook
. ubuntuhandbook.org, 2021-04-15. [dost?p 2021-05-17].
(
ang.
)
.
- ↑
Announcing ImageGlass 8.1 - Home | ImageGlass
. imageglass.org, 2021-04-17. [dost?p 2021-05-17].
(
ang.
)
.
- ↑
Version 2 of Affinity apps: What’s new?
[online], Affinity
[dost?p 2022-11-09]
(
ang.
)
.
- ↑
GitHub - mirillis/jpegxl-wic: JPEG XL Windows Imaging Component implementation
. [dost?p 2021-04-06].
(
ang.
)
.
- ↑
GitHub - yllan/JXLook: JPEG-XL viewer on macOS
. [dost?p 2021-04-06].
(
ang.
)
.
- ↑
GitHub - novomesk/qt-jpegxl-image-plugin: Qt plug-in to allow Qt and KDE based applications to read/write JXL images.
. [dost?p 2021-04-06].
(
ang.
)
.
- ↑
plugins/gimp/CMakeLists.txt · ff093712 · jpeg / JPEG XL Reference Software · GitLab
. 2019-12-27. [dost?p 2021-05-17].
(
ang.
)
.
- ↑
1178058 - chromium - An open-source project to help move the web forward. - Monorail
. chromium.org. [dost?p 2021-03-19].
(
ang.
)
.
- ↑
1178058 - chromium - An open-source project to help move the web forward. - Monorail
[online], bugs.chromium.org
[dost?p 2022-11-23]
.
- ↑
1539075 - (JPEG-XL) Implement support for Next-Generation Image Compression (JPEG XL)
. mozilla.org. [dost?p 2021-03-19].
(
ang.
)
.
Obrazy
| IEC, ISO, ITU-T, W3C, IETF
|
|
---|
Pozostałe
|
|
---|
|
---|
Video
| |
---|
Audio
| |
---|
Kontenery
| ISO/IEC
|
|
---|
ITU-T
|
|
---|
IETF
|
|
---|
Pozostałe
|
|
---|
|
---|