¿Qué motor de conversión funciona mejor en Photoshop? ACE o ICM

Adobe ACE contra Microsoft ICM: concurso de cocina

Windows Photoshop de Adobe ofrece dos motores de conversión para convertir colores. Estos se utilizan al convertir entre diferentes espacios de color RGB, así como para realizar la conversión requerida para mostrar utilizando el perfil ICC del monitor.

¿Hay diferencias significativas entre estos? ¿Uno hace un trabajo más preciso que el otro y, de ser así, las diferencias son visualmente significativas?

Una medida específica de precisión es la autoconsistencia. Por ejemplo, si uno tiene una imagen en sRGB y la convierte a ProPhoto RGB y luego vuelve a sRGB, los resultados deberían ser bastante parecidos, ya que la gama de sRGB es más pequeña en todas las dimensiones que ProPhoto.

Entonces, si consideramos un conjunto de todos los colores sRGB posibles, 8 bits por canal, y los convertimos a ProPhoto RGB y luego de vuelta a sRGB, ¿cuál es el error máximo producido por Microsoft ICM Engine versus Adobe ACE Engine?

Si hay errores, ¿qué tan grandes son y son visibles?

Respuestas (1)

Resumen

Adobe ACE gana sin duda alguna. No produjo diferencias al convertir los 16 millones (256^3) de colores RGB de sRGB a ProPhoto RGB y de vuelta a sRGB cuando se trabajaba con tiffs de 16 bits y se redondeaba a 8 bits por canal.

Sin embargo, Microsoft convirtió sRGB (0,54,0) a (32, 54, 14). De más de 16 millones de colores, este fue el peor. Y muy visible. ¡El Delta E entre estos dos tripletes sRGB es 12!

** Métodos**

  1. Se creó una imagen tiff en 16 bits que contenía todos, 8 bits por canal, color RGB, cada uno en un píxel. Esta es una imagen de 4k por 4k.
  2. La imagen se duplicó y una se convirtió con Microsoft ICM. El otro con Adobe ACE. Esto se hizo en Photoshop usando Editar->Convertir a perfil y seleccionando el motor de conversión de color bajo prueba. Las imágenes se convirtieron de sRGB a ProPhoto RGB y luego de nuevo a sRGB.
  3. Luego se guardaron las imágenes y se examinaron todos los píxeles y se compararon con los originales.

Resultados

ACE de Adobe produjo valores idénticos en todos los 16 millones de píxeles.

El ICM de Microsoft produjo errores significativos, en su mayoría asociados con el canal verde. El mayor error visual ocurrió con el color sRGB(0,54,0). Después del viaje de ida y vuelta, se convirtió en sRGB (32, 54, 14) que, visualmente, se diferencia visualmente por un delta E de 12. Un delta E de 1 se considera el umbral de la diferencia de color visual, por lo que está bastante lejos.

Las conversiones utilizaron colorimétrico relativo para todas las conversiones.

Con la ayuda de @Tetsujin, he podido comparar conversiones de Photoshop en Apple iOS y Windows para imágenes tif de 8 bits. El siguiente es un gráfico de error deltaE acumulativo para cada uno de los dos CME en las plataformas de Photoshop.

Rendimiento delta E acumulativo de CME de iOS y Windows en Photoshop

Para interpretar el gráfico, mire el CME en uso. Por ejemplo, el ICM de Microsoft, que es particularmente malo, tiene un 87 % de los 16 millones de colores que sufren menos de 2.0 errores delta E, por lo tanto, el 13 % supera el delta E de 2.0. Y poco más del 4% supera los 5 delta E.

Actualización He analizado conversiones de tif de 16 bits. Todos los CME de Apple y Adobe ACE de Windows conservaron la integridad del color mejor que delta E de 0,02. Sin embargo, el Microsoft ICM CME fue tan malo como los resultados anteriores. Es probable que use aritmética de punto fijo con un rango de bits limitado. Posiblemente porque se desarrolló en la época en que las CPU tenían un rendimiento deficiente en punto fijo o flotante de mayor precisión.

Básicamente, simplemente evite usar Microsoft ICM CME en Windows. Afortunadamente, no es el predeterminado.

Puede ser interesante obtener mediciones de CMM de Apple para acompañarlas. Si pudieras publicar tu original en alguna parte, podría hacer las conversiones de prueba si pudieras medir los resultados [no tengo ni idea de cómo hacerlo;] tbh, siempre he usado Adobe ACE porque es el predeterminado.
@Tetsujin Acabo de usar Matlab para crear una imagen tiff de 4096x4096 con todos los valores RGB posibles. Luego hice las conversiones en Photoshop y comparé el resultado por el error más grande. Muy fácil en Matlab y probablemente también en Python. El sitio de BruceLindbloom también tiene una imagen con todos los valores RGB posibles. Si prueba ese y publica un enlace a la imagen convertida, le echaré un vistazo.
Conversiones realizadas según su método, utilizando la fuente de imagen de Bruce Lindbloom. Compartido en DropBox - dropbox.com/sh/316ctx3a6xlrl77/AABQ6F2itP5CMaUH5bGj-LoOa?dl=0 - Espero haberlo hecho bien;) No puedo notar la diferencia visualmente, pero supongo que eso sería de esperar.
@Tetsujin Tanto el CMM de Apple como el de Adobe produjeron resultados similares. El error deltaE máximo fue de 2,5 para ambos y parece solo el efecto de usar RGB de 8 bits, lo que da como resultado errores de redondeo. El error deltaE máximo ocurrió para Apple CMM RGB(10,31,40) > RGB(13,29,40) mientras que el máximo de Adobe ACE fue RGB(18,26,28) > RGB(20,24,28). Obtengo resultados diferentes con imágenes de 8 bits en Windows Adobe ACE, por lo que parece que las matemáticas difieren un poco. No me sorprendería, ya que hay mucho código escrito a mano y de bajo nivel, y el hardware también difiere históricamente.
@Tetsujin Supongo que no convirtió primero a tiffs de 16 bits. Mis medidas fueron hechas con tiffs de 16 bits.
Maldita sea, nunca pensé en eso, lo siento. Asumí que los del sitio eran 'correctos': \ Los rehice después de la conversión de 16 bits. dropbox.com/sh/316ctx3a6xlrl77/AABQ6F2itP5CMaUH5bGj-LoOa?dl=0 El enlace tiene el mismo aspecto, el contenido ahora es de 16 bits.
@Tetsujin Gracias. Incorporé los resultados. Resultó que el material de 8 bits fue útil para demostrar los efectos del uso de imágenes de 8 bits al convertir. No tan mal como esperaba.