Google lanzou unha nova biblioteca de código aberto, jpegli, que implementa un codificador e descodificador de imaxes JPEG. A biblioteca inclúe optimizacións adicionais para mellorar a eficiencia da codificación, o que permite un aumento do 35 % na compresión para imaxes de alta calidade en comparación cos códecs JPEG tradicionais. En comparación con libjpeg-turbo, jpegli consegue un nivel de calidade similar á vez que reduce a taxa de bits nun 32 %. A nivel de API e ABI, a biblioteca é totalmente compatible con libjpeg62 e pódese usar como un substituto transparente. O código da biblioteca está escrito en C++ e distribúese baixo a licenza BSD.

Conséguense niveis de compresión maiores mediante o uso de tecnoloxías avanzadas para reducir o ruído da imaxe e mellorar a calidade da imaxe, empregando métodos de modelado psicovisual máis eficientes para reducir os artefactos. En concreto, jpegli utiliza a heurística de cuantización adaptativa empregada polo proxecto JPEG XL, así como algoritmos mellorados para seleccionar matrices de cuantización e calcular resultados intermedios.
A biblioteca jpegli permite codificar imaxes con 10 ou máis bits por compoñente de cor. Os novos algoritmos de codificación adáptanse ao modelo JPEG tradicional, que só permite 8 bits por compoñente de cor. Esta característica mantén a compatibilidade cos descodificadores existentes deseñados para a representación de cores de 8 bits.
As imaxes codificadas con jpegli cumpren totalmente co estándar JPEG, non requiren descodificadores específicos e pódense ver en visores JPEG e navegadores web existentes. O uso dun descodificador personalizado para descomprimir imaxes comprimidas con jpegli reduce aínda máis os artefactos. A velocidade de codificación con jpegli é comparable á das bibliotecas libjpeg-turbo e MozJPEG.
Fonte: opennet.ru
