JPEG XL è un formato per immagini di tipo raster. Supporta sia una compressione con perdita di dati che una compressione senza perdita di dati. È progettato per ottenere una compressione più efficiente dei formati preesistenti e fungere da loro sostituto in tutte le situazioni. È stato introdotto nell'ottobre 2021 (e finalizzato nella sua interezza nel marzo 2022).
Nome Il nome è composto da JPEG derivante da il Joint Photographic Experts Group, che è il comitato che ne progettò il formato, X parte del nome di diversi standard JPEG dal 2000: JPEG XT, JPEG XR, JPEG XS) e L per lungo termine. La L è inclusa poiché l'intenzione degli autori per il formato è quella di sostituire il formato precedente JPEG e durare altrettanto a lungo.
Autori Autori principali: Jyrki Alakuijala, Jon Sneyers, Luca Versari.
Altri collaboratori: Sami Boukortt, Alex Deymo, Moritz Firsching, Thomas Fischbacher, Eugene Kliuchnikov, Robert Obryk, Alexander Rhatushnyak, Zoltan Szabadka, Lode Vandevenne, Jan Wassenberg.
Storia Nell'agosto 2017, JTC1 / SC29 / WG1 (JPEG) ha pubblicato un invito a presentare proposte per JPEG XL, lo standard di codifica delle immagini di nuova generazione. Le proposte sono state presentate entro settembre 2018, portando a una bozza del comitato nel luglio 2019. Si basava principalmente su una combinazione di una proposta denominata PIK, presentata da Google, e una proposta denominata FUIF — a sua volta basato su FLIF — presentato da Cloudinary.
Il flusso di bit è stato congelato in modo informale il 24 dicembre 2020 con il lancio sul mercato della versione 0.2 del software di riferimento libjxl. Il formato del file e il sistema di codifica principale sono stati formalmente standardizzati rispettivamente il 13 ottobre 2021 e il 30 marzo 2022.
Le proposte sono state presentate entro settembre 2018, portando a una bozza del comitato nel luglio 2019, con il formato del file e il sistema di codifica principale sono stati formalmente standardizzati rispettivamente il 13 ottobre 2021 e il 30 marzo 2022.
Caratteristiche Le caratteristiche principali sono:
Alta fedeltà all'immagine sorgente (corrisponde alla percezione umana). Alto rapporto di compressione (da 20:1 a 50:1). Funzionalità ed efficienza migliorate rispetto ai formati tradizionali. Sono consentite dimensioni maggiori: Dimensioni dell'immagine di oltre un miliardo (230−1) pixel su ciascun lato. Codifica e decodifica ad alta velocità, decompressione veloce. Supporto per immagini sia fotografiche che sintetiche. Degrado grazioso della qualità su un'ampia gamma di bitrate. Encoder di riferimento percettivamente ottimizzato. Supporto ai contenuti animati, animazioni. Supporto per vari spazi di colore, a gamut larga, bit depth alti e HDR. Design responsivo / codifica progressiva, decodifica progressiva (per risoluzione e precisione). Codifica senza perdita di dati, del canale alpha senza perdita di dati; supporta la trasparenza alfa. Ricodifica senza perdita dei dati dei vecchi JPEG con riduzione della dimensione del file di circa il 20%. Codifica a bassa complessità, una codifica e decodifica efficienti senza richiedere hardware specializzato, compressione più rapida di H.265 HEVC HM, Daala e Webp. Royalty-free con implementazione di riferimento open source. Uno spazio colore più ampio, HDR, profondità colore superiori a 8 Bit, informazioni di stampa, panorami ad alta risoluzione, immagini a 360°, raffiche di immagini.
Descrizione L'invito a presentare proposte per JPEG XL parla del requisito di uno standard di compressione delle immagini di prossima generazione con un'efficienza di compressione sostanzialmente migliore (miglioramento del 60%) rispetto a JPEG. Lo standard dovrebbe superare le prestazioni di compressione delle immagini fisse mostrate da HEIC, AVIF, WebP e JPEG 2000. Fornisce inoltre opzioni di ricompressione senza perdite efficienti per le immagini nel formato JPEG tradizionale/legacy. JPEG XL supporta la compressione con perdita e la compressione senza perdita di immagini ad altissima risoluzione (fino a 1 terapixel), fino a 32 bit per componente, fino a 4099 componenti (inclusa la trasparenza alfa), immagini animate e anteprime incorporate. Dispone di funzionalità mirate alla distribuzione sul Web come la decodifica progressiva avanzata e un sovraccarico minimo dell'intestazione, nonché funzionalità mirate all'elaborazione di immagini e alla stampa digitale, come il supporto per più livelli, CMYK e tinte piatte. È specificamente progettato per gestire senza problemi spazi colore ampi con una gamma dinamica elevata come Rec. 2100 con la funzione di trasferimento PQ o HLG.
Programmi ed adozione Implementazioni codec
JPEG XL Reference Software (libjxl) licenza: New BSD License (precedentemente Apache License 2.0) contiene (tra l'altro): codificatore cjxl decodificatore djxl codificatore solo senza perdita di qualità e con path rapidefjxl strumenti per misurare e testare velocità e qualità dei vari codec immagine benchmark_xl plugin con GIMP e Gtk pixbuf file-jxl decodificatore per JPEG XL (j40), indipendente ed autonomo in licenza: Licenza MIT No Attribution Libreria C99 a intestazione singola (nessuna dipendenza). hydrium: Codificatore JPEG XL veloce, a bassissima memoria, in streaming scritto in formato C. licenza: BSD License
Browser web
https://caniuse.com/jpegxl.
Software decodifica o esportazione jxl
Windows 11 22000.194 non ha un'estensione, non è incluso nelle optional features o su Microsoft edge. 6 Win thumb jxl –visualizzare le miniature nel formato .jxl su Windows Explorer, non associato a Microsoft e programmato in Rust. Funziona da Windows 10 in poi. Plugin KDE, installabile nelle distribuzioni Linux. FFmpeg – (libreria di conversione multi-platform). Imageglass. GIMP – editor di grafica raster. Krita 5.01, beta con un bug sull'esportazione delle animazioni. JPEGView fork – visualizzatore ed editor di grafica raster. Ksnip – utility per la cattura dello schermo. Elenco software community: https://github.com/libjxl/libjxl/blob/main/doc/software_support.md
Supporto futuro
I documenti PDF integreranno il supporto a JXL ma secondo il PDF Association serviranno almeno altri 5 anni per ISO e ballots. Facebook, dopo 5 mesi di test, pianificava di introdurre libjxl nelle sue applicazioni appena fosse integrato nei browser.
Dettagli tecnici
JPEG XL si basa sulle idee del formato PIK di Google e del formato FUIF di Cloudinary (a sua volta basato su FLIF). La modalità modulare è basata su FUIF, nato dopo FLIF. Contiene degli elementi lossless PIK, WebP lossless e nuove idee che sono state sviluppate durante lo sviluppo di Jxl dal suo punto di partenza PIK + FUIF. JPEG XL può ricodificare senza perdita di dati i file JPEG esistenti copiando direttamente i coefficienti di blocco DCT di JPEG, su blocchi VarDCT 8 × 8, rendendo possibili file di dimensioni inferiori grazie ad una migliore codifica entropica.
I dati di ricostruzione JPEG consentono la transcodifica di nuovo nel file JPEG originale, sebbene i vincoli limitino il supporto per alcuni file.
Il formato si basa principalmente su 2 modalità di codifica, incluse nella finalizzazione di gennaio 2021:
VarDCT (variable-blocksize DCT) - utilizza lo stesso algoritmo DCT del precedente JPEG, ma i blocchi invece di essere limitati a 8 × 8 sono disponibili in varie dimensioni (2 × 2 fino a 256 × 256), forme non quadrate (ad es. 16 × 8, 8 × 32, 32 × 64) e possono utilizzare altre trasformazioni (AFV, Hornuss). La modalità VarDCT si basa su PIK (con perdita). Modulare, che comprende lossless, quasi lossless/delta della tavolozza - responsabile, tra l'altro, dell'efficiente codifica dei contenuti senza perdita di dati. Questa è la modalità usata/sfruttata internamente in VarDCT per il salvataggio di tutta una serie di dati 2D ausiliari come i campi/pesi della quantizzazione adattiva e gli eventuali canali aggiuntivi/extra (alfa e profondità, termici, colori spot, ecc.) e l'immagine DC, 1:8 immagine sottocampionata (coefficienti DC) essa dalla modalità VarDCT. Esso consente la compressione con perdita con l'aiuto della trasformata Haar modificata (chiamata squeeze), che ha proprietà progressive: la qualità dell'immagine aumenta con la quantità di dati caricati.
Uno dei modi in cui le immagini basate su VarDCT possono essere caricate progressivamente è salvando i coefficienti DC di VarDCT con lo "squeeze" di modular facendo funzionare le modalità entrambe in tandem ed esse possono essere assistite da una modellazione separata di caratteristiche specifiche dell'immagine, sconosciute in altri codec al momento della creazione del formato:
spline per la codifica, ad es. capelli (non ancora usate nel codificatore di riferimento); spline e rumori sono rimossi in Libjxl-tiny. ripetere "patches" come testo, punti o sprite. sintesi del rumore (poiché il rumore è difficile da prevedere, è meglio separarlo e quindi rigenerare il rumore nel decoder). Apparentemente questo sta prendendo piede anche su altri codec moderni: lo schema di compressione JPEG XL include un generatore di rumore che ricostruisce il rumore dai parametri nell'immagine, invece di comprimerlo direttamente. Il generatore di grana AV1 è più simile a un generatore di texture, per patch relativamente grandi di grana della pellicola analogica. Il generatore di rumore di Jxl viene utilizzato per modellare il rumore dei fotoni di un singolo pixel come quello che si ottiene su una fotocamera digitale con impostazioni ISO elevate.
Le modalità con perdita in genere utilizzano lo spazio colore XYB derivato da LMS.
La previsione viene eseguita utilizzando un decorrelatore pixel per pixel senza informazioni collaterali, incluso un insieme ponderato di predittori parametrizzati con correzione automatica. La modellazione del contesto include modelli statici specializzati e potenti modelli meta-adattivi che tengono conto dell'errore locale, con una struttura ad albero segnalata e una selezione di predittori per contesto. La codifica dell'entropia è abilitata per LZ77 e può utilizzare sia i sistemi numerici asimmetrici (ANS) sia la codifica Huffman (per codificatori a bassa complessità o per ridurre il sovraccarico di flussi brevi).
L'impostazione predefinita è un'impostazione visivamente quasi priva di perdite che fornisce comunque una buona compressione.
Le immagini animate (multi-frame) non eseguono previsioni avanzate tra i frame, sebbene siano disponibili alcuni rudimentali strumenti di codifica tra frame:
le cornici possono aggiornare solo parti della tela; oltre a sostituire parti della tela, le cornici possono anche essere unite, aggiunte o moltiplicate a parti di essa; fino a quattro frame possono essere ricordati e referenziati utilizzando lo strumento di codifica "patch" nei frame successivi.
Supporto e adozione del settore Oltre a Cloudinary e Google (originariamente), durante l'implementazione preliminare di JPEG XL nei browser Web, diversi noti rappresentanti di marchi del settore hanno espresso pubblicamente il loro supporto per JPEG XL come opzione preferita, tra cui Facebook , Adobe, Intel e la Video Electronics Standards Association, Flickr e SmugMug , Shopify, la Fondazione Krita, e Serif Ltd.
Ha fatto discutere la decisione di Google nel 2023 di eliminare il supporto a JPEG XL da Chrome (il browser di gran lunga più usato al mondo), per poi reintrodurlo nel febbraio 2026 con la versione 145, seppur disabilitato di default.
Miglioramenti rispetto al FUIF
La compressione FLIF può essere sperimentata approssimativamente in JPEG XL come "modulare" -- con la maggior parte delle cose migliorate, ma anche alcune indebolite per dirla in breve, FLIF/FUIF occupa circa il 50% di byte in più rispetto alla modalità VarDCT di JPEG XL, quindi non è esattamente competitivo per le fotografie.