La compresión con pérdida no es conveniente en imágenes o gráficos que tengan textos, líneas o bordes muy definidos, pero sí para archivos que contengan grandes áreas de colores sólidos.Comienza convirtiendo la imagen desde su modelo de color RGB a otro llamado YUV o YCbCr.Este espacio de color (YUV) tiene tres componentes: Las ecuaciones que realizan este cambio de base de RGB a YUV son las siguientes: Las ecuaciones para el cambio inverso se pueden obtener despejando de las anteriores y se obtienen las siguientes: NOTA: Estas ecuaciones están en continua investigación, por lo que se pueden encontrar en libros y en la red otras ecuaciones distintas pero con coeficientes muy parecidos.Si se analiza el primer trío de ecuaciones veremos que las tres componentes toman como valor mínimo el 16.Todos estos valores caben en un byte haciendo redondeo al entero más próximo.Hay varios métodos: si este paso no se aplica, la imagen sigue en su espacio de color YUV (este submuestreo se entiende como 4:4:4), con lo que la imagen no sufre pérdidas.De esto resulta la típica formación cuadriculada, que se vuelve visible en las imágenes guardadas con alta compresión.Nótese que el elemento más grande de toda la matriz aparece en la esquina superior izquierda; este es el coeficiente DC.El ojo humano es muy bueno detectando pequeños cambios de brillo en áreas relativamente grandes, pero cuando el brillo cambia rápidamente en pequeñas áreas no (variación de alta frecuencia).Debido a esta condición, se puede eliminar las altas frecuencias, sin pérdida excesiva de calidad visual.Una imagen con una fuerte compresión (1-15 %) puede tener un tamaño de archivo mucho menor, pero tendrá tantas imperfecciones que no será interesante, una compresión muy baja (98-100 %) producirá una imagen de muy alta calidad, pero, tendrá un tamaño tan grande que quizás interese más un formato sin pérdida como PNG.En este caso, al haber perdido información, los valores finales no coincidirán con los iniciales.Y finalmente se suma 128 a cada entrada: Para comparar las diferencias entre el bloque original y el comprimido, se halla la diferencia entre ambas matrices, la media de sus valores absolutos, da una ligera idea de la calidad perdida: Se puede observar que las mayores diferencias están cerca de la mancha, y por la parte inferior, entre la esquina izquierda y el centro, notándose más esta última, ya que corre una mancha clara que antes estaba más hacia la esquina.
Esquema del modelo RGB.
Esquema del modelo YUV.
Ligera explicación visual sobre el submuestreo. La imagen de arriba a la izquierda es la original; las otras sufren unos submuestreos de color agresivos que dan idea de los efectos de esta técnica. Ampliar para mejor visualización.
El algoritmo JPEG transforma la imagen en cuadrados de 8×8 y luego almacena cada uno de estos como una
combinación lineal
o suma de los 64 recuadros que forman esta imagen; esto permite eliminar detalles de forma selectiva. Por ejemplo, si una casilla tiene un valor muy próximo a 0, puede ser eliminada sin que afecte mucho a la calidad.
"Antes de", en un bloquecillo 8×8 (ampliación ×16).
"Después de", en un bloquecillo 8×8, se notan errores respecto a la primera imagen, como en la esquina inferior izquierda, que está más clara.
Tras la compresión, suelen quedar a veces bloques como estos o
píxeles
, en este caso en una pequeña parte de una imagen ampliada.