COMPRESSIONE JPEG: Google LA MIGLIORA DEL 35% CON JPEGLI
La compression JPEG è un metodo di compressione lossy, ovvero con perdita di informazioni, utilizzato principalmente per Immagini fotografiche e grafiche. Parlando di compressione dati, abbiamo messo in evidenza le differenze tra la tecnica lossy e quella lossless: la prima sacrifica una parte dell’informazione con l’obiettivo di ridurre le dimensioni del file o, ad esempio, il “peso” di un flusso dati in Streaming; la seconda, invece, è quella che si usa per gestire formati di file come Zip, RAR, 7-Zip e così via, in cui la perdita di informazioni non è un’opzione contemplata.
Il formato JPEG (Joint Photographic Experts Group) è stato sviluppato nel 1992 da un gruppo di lavoro con lo stesso nome. Vista la popolarità dei file JPEG, tuttavia, Google dimostra che c’è ancora margine di miglioramento e a distanza di quasi 32 anni presenta una libreria di codifica avanzata, Jpegli, che ottimizza il rapporto di compressione del 35% senza impattare negativamente sulla resa delle immagini.
COS’È JPEGLI E COME MIGLIORA LA COMPRESSIONE JPEG
Quando le immagini sono compresse o decompresse con Jpegli, spiegano gli esperti di Mountain View, appariranno più chiare e con meno artefatti osservabili. Pur migliorando il rapporto qualità/compressione delle immagini, la velocità di codifica di Jpegli è comparabile con quella degli approcci tradizionali, come libjpeg-turbo e MozJPEG. Ciò significa che i web developer possono integrare Jpegli nelle applicazioni e nei flussi di lavoro esistenti senza sacrificare le performance nella codifica o nell’uso della memoria.
10+ BIT CON JPEGLI: COSA SIGNIFICA
Nel presentare Jpegli, Google spiega che le soluzioni di codifica JPEG tradizionali offrono solo 8 bit per componente. L’espressione si riferisce alla quantità di dati utilizzati per rappresentare ciascun componente (ad esempio, rosso, verde, blu) di un’immagine digitale. Maggiore è il numero di bit per componente, maggiore è la gamma di colori e la precisione con cui l’immagine può essere rappresentata.
Jpegli permette di utilizzare 10 bit o più per ciascun componente, consentendo una maggiore gamma di colori e una maggiore fedeltà nella rappresentazione delle immagini. La codifica a 10 bit o più avviene all’interno del formalismo originale a 8 bit del JPEG. Ciò significa che nonostante il maggior numero di bit per componente, le immagini risultanti sono completamente interoperabili con i visualizzatori a 8 bit.
RIDURRE IL RUMORE E MIGLIORARE LA QUALITÀ DELL’IMMAGINE
Jpegli funziona utilizzando una serie di nuove tecniche per ridurre il rumore e migliorare la qualità dell’immagine; principalmente euristiche di quantizzazione adattativa sviluppate a partire dall’implementazione di riferimento di JPEG XL, una selezione migliorata delle matrici di quantizzazione, il calcolo più preciso dei risultati intermedi e la possibilità di utilizzare uno spazio colore più avanzato.
I benchmark eseguiti confermano le prestazioni convincenti di Jpegli che può effettivamente comprimere immagini di alta qualità del 35% in più rispetto ai codec JPEG tradizionali. Per semplificare il confronto dei risultati tra codec e impostazioni, Google spiega di aver aggregato tutte le decisioni assunte dai valutatori utilizzando il punteggio ELO, ispirato al ranking degli scacchi.