¿Qué son los artefactos JPEG y qué se puede hacer al respecto?

25

Sé que JPEG es un algoritmo de compresión "con pérdida" que descarta información para ahorrar espacio. ¿Cuál es el impacto visual de esto? He oído hablar de "artefactos JPEG". ¿Cómo son estos?

¿Hay situaciones en las que el mismo nivel de compresión crea más artefactos y se ve peor? ¿Importa el contenido de la imagen? ¿Qué maneja bien el algoritmo y con qué tiene problemas?

Suponiendo que JPEG es un requisito, ¿hay alguna forma de reducir los artefactos? Si estoy cargando en un servicio web que aplicará su propia compresión fuera de mi control, ¿hay algo que pueda hacer por adelantado a la imagen para que sobreviva mejor?

mattdm
fuente
Aquí hay algunas respuestas para partes de esta pregunta: photo.stackexchange.com/questions/5317/…
dpollitt
Gracias @dpollit. No lo vi debido a la ortografía británica y la falta de etiquetas. Además, se trata muy específicamente de baja resolución y bajo tamaño de archivo.
mattdm
Me encantaría ver algunos ejemplos de nivel de píxel (o más grande) en las respuestas.
mattdm
1
Le diría a mi respuesta sobre el tema @dpollit vinculado anteriormente, específicamente el sitio web vinculado desde él, que tiene una carga completa de imágenes de muestra de cada nivel de "calidad" principal, con detalles de nivel de píxeles, para una variedad de tipos de imágenes
jrista
1
@BBking - Me encantaría ver una respuesta elaborando sobre eso, con referencias.
mattdm

Respuestas:

19

Un ejemplo

Usando la foto actual de la imagen de la semana. Este es el JPEG de alta calidad:

Gimp Q = 99

re-guardado en Gimp con calidad JPEG 80 (baja); tenga en cuenta la pérdida general de nitidez, "puntos" alrededor de los bordes de alto contraste, pérdida de detalles en áreas de bajo contraste:

Gimp Q = 80

y se volvió a guardar en GIMP con calidad JPEG 30 (muy baja); tenga en cuenta los bloques de 8x8 evidentes y la pérdida severa de nitidez y detalles de color:

Gimp Q = 30

Tres tipos de distorsiones.

JPEG tiende a introducir dos tres tipos de distorsiones:

  • pérdida general de nitidez y oscilaciones alrededor de bordes de alto contraste: se deben a transiciones de intensidad aproximadas con funciones suaves (cosenos); los ves como pequeños "puntos" o "halos" alrededor de los bordes; son particularmente fáciles de ver en las imágenes de texto de dibujos a mano.
  • estructura de bloqueo: la imagen se procesa por separado para cada bloque de 8x8 (o más grande en caso de disminución de la resolución de croma), los bordes del bloque se hacen visibles a altas relaciones de compresión.
  • pérdida de detalles de color: depende de los parámetros de guardado, el programa puede agresivamente "reducir la resolución" de los canales de cromaticidad; rara vez es un problema para la fotografía natural.

La estructura de bloque visible y los halos alrededor de los bordes generalmente se conocen como artefactos JPEG. Acerquemos nuestro ejemplo para verlos mejor. De izquierda a derecha, un recorte de las imágenes originales, JPEG Q80 y JPEG Q30. Marqué artefactos en verde (círculos para halos y puntos para bloques de 8x8):

comparación de tres vías

Como cualquier pérdida de información, en realidad no puede recuperarla. El afilado puede ayudar a recuperar el contraste del borde perdido, pero hace que los "halos" sean más evidentes; la eliminación de ruido puede ayudar a eliminar los "halos", pero reduce aún más la nitidez. Si la estructura del bloque es visible, probablemente sea demasiado tarde. Simplemente mantenga las imágenes originales de alta resolución y alta calidad, y no las sobrescriba.

Estrategias de hospedaje

Si controla los parámetros de compresión JPEG y desea maximizar la calidad de la imagen:

  • mantenga la relación de compresión lo más baja posible (use configuraciones de alta calidad)
  • considere canales de cromaticidad de disminución de muestreo (puede ser casi imperceptible para algunas imágenes y permite una relación de compresión más baja en el canal de luminosidad dada la misma restricción de tamaño de archivo)
  • considere el uso de la transformación de coseno discreto de punto flotante (puede aumentar la precisión de la transformación, pero el almacenamiento de archivos llevará más tiempo)
  • considere usar una resolución más baja en lugar de una relación de compresión más alta (dado el mismo límite en el tamaño del archivo)

Si carga a un servicio de terceros y no controla los parámetros de compresión, no puede hacer mucho al respecto:

  • elija un servicio que se sabe que prefiere JPEG de alta calidad (Flickr, SmugMug, 23hq, 500px) en lugar de servicios que se comprimen en exceso para ahorrar tráfico (Picasa, Imgur, Dropbox); generalmente obtienes lo que pagas.
  • intente cambiar el tamaño de las fotos usted mismo y subir el tamaño correcto (algunos servicios lo volverán a comprimir de todos modos, algunos pueden servir su archivo como cargado)
sastanin
fuente
16

JPEG en realidad usa dos tipos de compresión, una con pérdida y otra sin pérdida. La compresión sin pérdida no causa artefactos, por lo que podemos ignorar esa parte. El tipo particular de compresión con pérdida en JPEG, llamada transformación de coseno discreta para los matemáticos, permite un equilibrio entre la relación de compresión y la fidelidad. La mayoría del software presenta esto como un valor de "calidad", usualmente en la escala de 0-100 con 100 siendo efectivamente ninguna o muy poca pérdida y las cosas van a partir de ahí.

Este algoritmo de compresión en particular se adoptó porque es bueno para descartar el tipo de cosas que el sistema visual humano no nota tanto como otros componentes de la escena. Esto es en parte por qué las imágenes de aspecto bastante decente pueden tener relaciones de compresión impresionantemente altas. Esta es también la razón por la que funciona bien en fotografías reales de tonos continuos y no tan bien en imágenes sintéticas y dibujos lineales.

Aquí hay una región de 200 x 300 de una fotografía más grande con los píxeles replicados 2x para verlos mejor. Esto utiliza compresión JPEG "calidad" 100:

Calidad 80, 79% de reducción de tamaño de archivo:

Calidad 60, reducción del 86%:

Calidad 40, reducción del 90%:

Las reducciones de tamaño de archivo se basaron en compresiones JPEG de todo el archivo, por lo que las estructuras de encabezado y otros gastos fijos fueron una pequeña porción de los datos.

Tenga en cuenta que debe buscar los artefactos en la segunda imagen, a pesar de que se desecharon casi 4/5 de la información original. Los artefactos de compresión JPEG suelen ser más visibles en los bordes afilados y en áreas planas que cambian lentamente. Como el arte lineal es todo bordes afilados, la compresión JPEG no es apropiada para eso.

Puede ver que los artefactos de compresión empeoran progresivamente con relaciones de compresión más altas. Sin embargo, tenga en cuenta que la imagen inferior retiene una cantidad sorprendente de información visual por haber eliminado la décima parte de su información en bruto.

Los tipos de artefactos característicos de la compresión con pérdida JPEG son "bloqueo" en áreas planas que cambian lentamente y "suciedad" que rodea los bordes de alto contraste. Por ejemplo, vea el área inferior derecha en la imagen de arriba. Contiene un fondo desenfocado, por lo que los valores cambian lentamente. El bloqueo es bastante evidente. Para ver ejemplos de la "suciedad", mire alrededor del cuerno izquierdo de la cabra. Estos dos tipos de artefactos suelen ser una buena pista de que la compresión JPEG estaba involucrada. También busque estos en las otras imágenes de arriba para tener una idea de cómo se ven cuando comienzan a aparecer, y qué tipo de relación de compresión puede tolerar en varias circunstancias.

Olin Lathrop
fuente
1
La pérdida visible no proviene de DCT en sí, sino de la cuantificación de los coeficientes DCT después de la transformación.
Sarge Borsch
10

La compresión JPG se realiza en bloques de píxeles. En una imagen JPG altamente comprimida se pueden ver los bordes de esos bloques: en la imagen original, dos píxeles pueden haber estado muy cerca en brillo y color, pero si están en bloques diferentes, luego de la compresión y descompresión (cuando se ve) cada uno de ellos sus valores pueden diferir del original, por lo que pierde esa combinación gradual y comienza a ver este "bloqueo".

ingrese la descripción de la imagen aquí

Aquí hay un ejemplo típico en un cielo: JPG guardado con calidad 0.

Si se sube a un sitio que utiliza compresión JPG, puede obtener mejores resultados haciendo dos cosas (deberá experimentar con el sitio para ver qué funciona):

  • cambie el tamaño de las dimensiones de su imagen para que estén dentro de la altura / ancho máximo permitido por el sitio, para que el sitio web no cambie el tamaño de sus imágenes por usted

  • haga su propia compresión para obtener un tamaño de archivo más pequeño con buena calidad. Dependiendo de cómo funciona el sitio, si la imagen ya es lo suficientemente pequeña, es posible que no realice más compresión, o incluso si lo hace, puede tener un efecto menor.

En cuanto a la eliminación de artefactos JPG de una imagen, los artefactos JPG pueden ser similares al ruido normal del sensor. El software de reducción de ruido será algo exitoso para eliminar algunos artefactos menores de JPG, pero con la pérdida de detalles.

ruido como artefactos jpg

Aquí hay un ejemplo con una calidad JPG del 50%, con bloques, pero también píxeles más oscuros y brillantes que se parecen al ruido.

Topaz laboratorios tienen un producto llamado DeJPEG , que actúa específicamente sobre los artefactos JPG. Hace un buen trabajo de esto sin demasiada pérdida de detalles. El complemento también puede agudizar y reducir el ruido en general. El complemento es compatible con Photoshop CS, Photoshop Elements y Paint Shop Pro. No creo que funcione con Lightroom o Aperture.

MikeW
fuente
¿Puedes dar un ejemplo de un artefacto jpeg que parece similar al ruido del sensor?
mattdm
He agregado uno de un cielo oscuro guardado con un 50% de calidad JPG.
MikeW
5

Para los sitios web que comprimen archivos hasta que alcanzan un determinado tamaño de archivo objetivo, hay una manera de mejorar la calidad de las imágenes en determinadas circunstancias.

JPEG funciona convirtiendo la imagen en una [serie de] representaciones de espacio de frecuencia [s] (donde X e Y representan frecuencias horizontales y verticales, y el "brillo" representa la amplitud de la frecuencia). Las frecuencias por debajo de cierta amplitud se ignoran, reduciendo la cantidad de datos que se almacenan, logrando la compresión.

El ruido tiene un amplio espectro de frecuencias que JPEG no puede comprimir. Es por eso que puede tener dos imágenes, aplicar el mismo nivel de compresión y obtener dos tamaños de archivo diferentes después de la compresión JPEG.

Si toma su imagen y desenfoca intencionalmente las áreas de fondo sin importancia, reduce la cantidad total de información y logra una compresión mucho mayor de estas áreas, dejándole más kilobytes para codificar las áreas donde los detalles son importantes. Esto funciona particularmente bien con imágenes en las que el fondo ya está desenfocado.

Matt Grum
fuente
3

Aquí hay un ejemplo de un JPEG ampliado:

ingrese la descripción de la imagen aquí

Imagen del usuario de Wikipedia FelixH. Esta imagen está licenciada bajo la licencia Creative Commons Reconocimiento-Compartir Igual 3.0 Unported.

En esta imagen puede ver claramente los llamados "artefactos" en el área azul. Observe cómo la imagen parece estar dividida en bloques y los límites de los bloques no coinciden.

Hay varias cosas que se pueden hacer para evitar o reducir este problema:

  • Lo más obvio: no use jpeg. Es posible que desee trabajar con sus imágenes utilizando un formato de compresión sin pérdida, como RAW, PNG o TIFF sin pérdida. Solo cambia a jpeg en el último paso, cuando quieres subir la imagen a la web, correo electrónico, etc.

  • El formato jpeg permite la configuración del nivel de compresión. Puede obtener menos artefactos si lo desea, pero el archivo será más grande.

  • Evite volver a guardar un archivo JPEG una y otra vez, ya que cada generación degrada aún más la calidad.

Miguel
fuente
Incluso RAW y PNG pueden obtener artefactos debido a la cuantización de píxeles. Siempre y cuando no cambie ningún valor, es solo un efecto único y no se producen más pérdidas debido a la digitalización. Sin embargo, si cambia los valores en cualquier paso, como oscurecer o aclarar una escena, o mezclar con otros valores, etc., los cambios de valor pueden dar lugar a nuevos artefactos en el próximo guardado (incluso sin compresión) debido a la cuantización (posiblemente una forma de compresión) para guardar la nueva imagen calculada. Para minimizar estos efectos, use la mayor cantidad de bits posible en cada paso y mantenga todo su flujo de trabajo.
Skaperen
@Skaperen: estás confundiendo dos cosas diferentes aquí. Esta pregunta es acerca de la pérdida de detalles debido a la compresión JPEG. Lo que está describiendo es la pérdida de detalles introducida por ciertos algoritmos de procesamiento de imágenes. Lo que está describiendo es correcto, pero no está relacionado con los formatos de imagen en absoluto, por lo que decir que RAW y PNG están asociados con la cuantización de píxeles es incorrecto, esos formatos de archivo no causan ninguna pérdida de calidad.
Miguel
Esta imagen también muestra otro problema, por cierto: muestra un halo de máscara de enfoque.
mattdm
1

Los artefactos son los efectos secundarios no deseados del procesamiento de una imagen. En este caso, resultan de la forma en que el algoritmo JPEG comprime los datos.

En general, las personas desean poder almacenar fotos digitalmente, sin utilizar demasiado espacio de almacenamiento. Como resultado, la mayoría de las fotos se almacenan en formato JPEG. Este es un formato que comprime los datos que componen la imagen de una manera que intenta preservar la mayor cantidad de detalles posible. El nivel de compresión se puede cambiar cuando se crea el archivo. Sin embargo, es un algoritmo "con pérdida", lo que significa que descarta algunos datos; no es posible volver de un archivo JPEG comprimido a los datos originales.

Esta pérdida de datos se produce a expensas de la calidad de la imagen. La compresión está diseñada para crear un impacto mínimo en la imagen general, pero puede notarse a altos niveles de compresión.

Los artefactos JPEG comúnmente se ven como secciones de color en bloques. Se pueden ver donde hay un sutil cambio gradual de color en un gran lavado de color, por ejemplo, en un cielo azul o una escena de niebla. Los artefactos parecen contornos irregulares de un color específico en lugar de una mezcla suave.

Con escenas más comprimidas, también se pueden ver artefactos alrededor de los bordes de los sujetos, por ejemplo, las ramas de un árbol contra un cielo claro. Estos parecen bloques con manchas que rodean al sujeto.

El mejor enfoque para reducir los artefactos es:

  1. Mantenga siempre la imagen original: no guarde un archivo JPEG comprimido, vuelva a abrirlo más tarde y vuelva a guardarlo. Para un ejemplo extremo de esto, vea Pérdida de generación , un video que muestra una imagen comprimida 600 veces.
  2. Guarde la mayor calidad posible, dadas las restricciones de tamaño de archivo.
  3. Evite el uso de servicios que vuelvan a comprimir severamente sus imágenes; si es necesario, guárdelas en otro lugar y vincúlelas directamente.

Para obtener más información, consulte http://photo.net/learn/jpeg/

Caso Maynard
fuente