Google ha rilasciato una nuova libreria open source chiamata jpegli, che implementa un codificatore e un decodificatore di immagini in formato JPEG. La libreria include ottimizzazioni aggiuntive per migliorare l'efficienza della codifica, consentendo un aumento del 35% del livello di compressione delle immagini di alta qualità rispetto ai codec JPEG tradizionali. Rispetto a libjpeg-turbo, la libreria jpegli riesce a ottenere un livello di qualità analogo riducendo il bitrate del 32%. A livello di API e ABI, la libreria è completamente compatibile con libjpeg62 e può essere utilizzata come sostituzione trasparente. Il codice della libreria è scritto in C++ e distribuito con licenza BSD.

L'aumento del livello di compressione è ottenuto attraverso l'uso di tecnologie avanzate per ridurre il rumore delle immagini e migliorare la qualità, impiegando metodi più efficaci di modellazione psicovisiva per ridurre gli artefatti. In particolare, jpegli utilizza un'euristica adattativa di quantizzazione, adottata dal progetto JPEG XL, e algoritmi migliorati per la selezione delle matrici di quantizzazione e il calcolo dei risultati intermedi.
La libreria jpegli consente di codificare immagini con una profondità di 10 bit o più per componente di colore. Il risultato dei nuovi algoritmi di codifica si adatta al tradizionale modello JPEG, che limita l'uso a 8 bit per componente di colore. Questa caratteristica consente di mantenere la compatibilità con i decodificatori esistenti progettati per la rappresentazione a 8 bit delle componenti colore.
Le immagini codificate con jpegli sono pienamente conformi allo standard JPEG, non richiedono decodificatori specifici e possono essere visualizzate con i visualizzatori JPEG e i browser web esistenti. L'uso di un proprio decodificatore per decomprimere le immagini compresse con jpegli riduce ulteriormente gli artefatti. La velocità di codifica con jpegli è comparabile a quella delle librerie libjpeg-turbo e MozJPEG.
Fonte: opennet.ru
