Compania Google a lansat noua bibliotecă deschisă jpegli care implementează un codificator și un decodificator pentru imagini în format JPEG. Biblioteca include optimizări suplimentare pentru a îmbunătăți eficiența codificării, permițând o creștere cu 35% a gradului de compresie a imaginilor de înaltă calitate, comparativ cu codecurile tradiționale JPEG. Comparativ cu libjpeg-turbo, biblioteca jpegli permite obținerea unui nivel similar de calitate la o reducere a bitrate-ului cu 32%. La nivel de API și ABI, biblioteca este complet compatibilă cu libjpeg62 și poate fi utilizată pentru înlocuirea ei transparentă. Codul bibliotecii este scris în C++ și este distribuit sub licența BSD.

Creșterea nivelului de compresie se realizează prin aplicarea tehnologiilor avansate pentru reducerea zgomotului în imagini și îmbunătățirea calității, utilizând metode mai eficiente de modelare psihovizuală pentru a diminua artefactele apărute. În special, jpegli folosește o heuristică adaptivă de cuantificare, utilizată de proiectul JPEG XL, precum și algoritmi îmbunătățiți pentru selecția matrițelor de cuantificare și calculul rezultatelor intermediare.
Biblioteca jpegli permite codarea imaginilor cu o adâncime de culoare de 10 sau mai multe biți pe componenta de culoare. În acest context, rezultatul noilor algoritmi de codificare se adaptează modelului tradițional pentru formatul JPEG, care permite utilizarea doar a 8 biți pe componenta de culoare. Această caracteristică permite păstrarea compatibilității cu decodoarele existente, care sunt concepute pentru o reprezentație pe 8 biți a componentelor de culoare.
Imaginile codificate cu jpegli sunt pe deplin conforme cu standardul JPEG, nu necesită decodoare specifice și pot fi vizualizate în vizualizatoarele JPEG existente și în browserele web. Utilizarea unui decodor propriu pentru decompresarea imaginilor comprimate cu jpegli permite obținerea unei reduceri suplimentare a artefactelor. Viteza de codificare cu jpegli este comparabilă cu bibliotecile libjpeg-turbo și MozJPEG.
Sursa: opennet.ro
