El flujo de trabajo referido a la escena promete una edición independiente del medio de salida. Normalmente producirá una imagen codificada en espacio de color sRGB con 8 bits, es decir, valores de código entre 0 y 255. Para simplificar, consideraremos aquí solo el caso de 8 bits. Los conceptos son los mismos en 16 bits, solo que el rango de codificación va de 0 a 65535, lo cual es anecdótico.

El problema de la impresión

Desafortunadamente, nada garantiza que la impresora sea capaz de usar todo el rango de codificación. La densidad mínima (Dmin en analógico) se alcanza con papel desnudo y coincide con un valor de código RGB de 255. La densidad máxima (Dmax en analógico) se alcanza con una cobertura de tinta al 100%. 1 El problema es que, si Dmin coincide con un valor de código RGB de 255, Dmax nunca coincide con un valor RGB de 0.

Para entender el problema, generé una carta sintética de valores de código sRGB de 0 a 59 (sobre 255) y la imprimí en papel de oficina normal, con una impresora de fotos antigua, y luego la escaneé. La cuadrícula entre los parches es de negro puro (RGB = 0).

After After
Before Before
Antes: original digital; Después: impresión escaneada sin corrección.

Los negros impresos están apagados, en comparación con el original digital, pero no es lo peor: los parches por debajo de 0.12 % están completamente mezclados en la cuadrícula del 0 %, lo que significa que todos los valores de código RGB por debajo de 5 / 255 se imprimen con la misma densidad y terminan en la misma mancha negra.

Dicho de otro modo, nuestro negro de impresora se satura en 5/255 y no podremos resolver detalles en sombras profundas sin una corrección adecuada. ¿Pero por qué?

Mientras que 8 bits sRGB (con OETF) puede teóricamente codificar una relación de contraste de 6588:1 (es decir, un rango dinámico de 12.69 EV), las pantallas LED pueden renderizar típicamente un contraste de 300:1 a 1000:1 gracias a los blancos emisivos de intensidad controlada. En papel, los blancos son reflectantes, y la variable de ajuste de contraste es, por lo tanto, la tinta negra, que absorbe la luz incidente. El contraste renderizable en impresiones en papel varía entre 50:1 (Dmax 1.7) y 200:1 (Dmax 2.3), es decir, un rango dinámico que varía entre 5.6 y 7.6 EV.

Durante la impresión, desplegamos el rango dinámico del archivo en el rango dinámico del papel, comenzando en blanco. A 5.6 EV por debajo del blanco, alcanzamos el límite del rango dinámico de la tinta negra en papel mate, pero ni siquiera hemos recorrido la mitad del rango dinámico del archivo digital. Todos los tonos incluidos entre -5.6 y -12.7 EV por debajo del blanco, en el archivo digital, se imprimen con la misma densidad de negro: la impresora alcanzó la saturación de tinta máxima.

ObjetoRelación de contrasteDmaxRango dinámico
8 bits sRGB (con OETF)6588:13.812.7 EV
RGB lineal de 8 bits510:12.79.0 EV
RGB lineal de 12 bits (fotos RAW)8190:13.913 EV
RGB lineal de 14 bits (fotos RAW)32766:14.515 EV
RGB lineal de 16 bits (fotos RAW)131070:15.117 EV
impresión en papel mate50:11.75.6 EV
impresión en papel brillante200:12.37.6 EV
PCS de punto negro estándar ICC287:12.58.2 EV
Eizo Color Edge CG319X1500:13.210.6 EV

Equivalencias de unidades de contraste: todas representan el mismo espacio entre luminancias blancas puras y negras puras, pero medidas de diferente forma.

Imprimir todos los tonos digitales entre -12.7 y -5.6 EV con la misma densidad en papel significa, en práctica, aplanar los detalles y la textura a una mancha negra sólida. Para evitar eso, necesitaremos remapear el rango dinámico de sRGB al rango dinámico del papel, lo que en nuestro ejemplo aquí significa empujar los valores de código RGB entre 5 y 255.

image
El problema del mapeo tonal de sRGB digital a un papel de contraste 50:1, como se muestra en el gráfico del sistema de zonas de Filmic

Veamos la diferencia que hace en una imagen real con mucho contenido en sombras profundas:

image
Original digital
After After
Before Before
Antes: simulación de impresión en contraste 66:1 sin compensación del punto negro; Después: simulación de impresión en contraste 66:1 con compensación del punto negro.

El negro debe corregirse para retener detalles en el cabello, aunque se haga a expensas del contraste en el cuello.

Entendiendo la compensación del punto negro

La compensación del punto negro  fue inventada por Adobe y estandarizada posteriormente por el ICC. Es un simple ajuste de desplazamiento del negro destinado a elevar (aclarar) todos los valores RGB por encima del umbral de saturación del negro, de modo que recuperemos gradientes en sombras profundas, reconociendo que los negros seguirán siendo más apagados que el original, no importa lo que hagamos.

Desafortunadamente, la compensación del punto negro al desplazar no preserva los matices y puede cambiar los colores. Por esta razón, Capture One simplemente no la soporta .

Cabe destacar que la compensación del punto negro es el último recurso, para cuando la intención perceptual  no está disponible en el perfil de color de salida (es decir, cuando las LUT AtoB y BtoA no están definidas en el perfil). Este es el caso más común al tratar con controladores de impresoras de código abierto, porque esas LUT tienen que ser establecidas manualmente por alguien que entienda esto, y no por un simple software de calibración. Por lo tanto, las LUT perceptuales generalmente solo se encuentran en los perfiles de color proporcionados por el proveedor, pero esos no serán completamente precisos para tus cartuchos de tinta y set de papel de inyección de tinta.

En ausencia de una intención perceptual definida, el administrador de color puede recurrir a la intención colorimétrica relativa y puede usar la compensación del punto negro si el perfil tiene alguna curva tonal (el TRC). Si no tienes ni las LUT perceptuales ni el TRC, es decir, si no calibraste tu impresora, entonces mala suerte: no podrás realizar la compensación del punto negro por métodos estándar ICC.

Afortunadamente, Filmic te permite remapear el rango dinámico de la escena a cualquier rango dinámico medio arbitrario, a través de la pestaña display, elevando el ajuste del valor de negro objetivo.

image
Curva de compensación del punto negro de Filmic (escala logarítmica)

Debido a que el mapeo tonal de Filmic es un mapa genérico de 3 puntos (negro, gris medio, blanco), te permite elevar el punto negro sin afectar los valores de gris medio y blanco, y con un impacto mínimo en el contraste global. Dado que Filmic también gestiona matiz y saturación, su compensación del punto negro no induce cambios de color, a diferencia del método de Adobe. El problema sigue siendo encontrar el valor negro objetivo adecuado.

Ajustar el punto negro sin perfilar la impresora

  1. [Descarga la carta de negros](charte-noirs.jpg download)
  2. imprímela directamente como una imagen sRGB, sin edición y sin corrección,
  3. en la impresión, anota el parche más oscuro que puedas diferenciar visualmente de la cuadrícula negra pura, y registra su valor en porcentaje,
  4. abre la imagen de la carta en Ansel, y en el módulo Filmic haz lo siguiente:
    1. en la pestaña escena, haz clic en el botón de autoajuste,
    2. en la pestaña apariencia, establece el contraste al valor mínimo (0.5),
    3. en la pestaña visualización, introduce el valor negro objetivo que leíste en el parche previamente,
    4. en la pestaña opciones, establece el parámetro de contraste en sombras a seguro.
  5. exporta la carta corregida y vuelve a imprimir para validar los ajustes.

Este es el resultado del ejemplo aquí:

After After
Before Before
Antes, el punto negro de visualización está establecido en 0 % (sin compensación). Los parches de 0 % a 0.09 % están completamente mezclados en la cuadrícula. Después, el punto negro de visualización se establece en 0.12 %. Todos los parches se destacan de la cuadrícula, pero la cuadrícula en sí ha perdido densidad. 0.9 % sería un mejor ajuste.

Aplicar los ajustes a imágenes reales

Al editar tu imagen, procede como de costumbre, sin compensación del punto negro. Filmic tiene una compensación del punto negro predeterminada destinada a lidiar con errores de cuantización al pasar a 8 bits, no está vinculada a ningún medio en particular, sino solo a 8 bits sRGB.

Solo necesitas tener en cuenta el brillo de la retroiluminación de tu pantalla, en comparación con el brillo del entorno de la habitación en la que editas. Si tu pantalla es mucho más brillante que el entorno, es posible que no puedas detectar imágenes subexpuestas hasta que las imprimas. El brillo correcto de la retroiluminación se alcanza cuando un rectángulo blanco al 100% mostrado en la pantalla parece tener el mismo brillo que una hoja de papel blanco mostrada junto a la pantalla.

Antes de imprimir, cambia el negro de visualización de Filmic al valor medido en la carta anterior y exporta con intención colorimétrica relativa.

Compensación del punto blanco

Los usuarios de impresoras de bolsillo Fuji Instax han reportado un problema similar, pero con el blanco. Fuji Instax, utilizando un proceso de impresión fotoquímico, parece añadir mucho contraste en las luces, resultando en un recorte por encima del 75 % de luminancia, o así.

Puedes reproducir los pasos anteriores para el blanco, usando las cartas de blancos. Anota el parche más oscuro que comienza a mezclarse con la cuadrícula blanca, y utiliza el valor porcentual correspondiente para el blanco de visualización de Filmic.

Sobre la prueba blanda

Ansel es capaz de probar ligeramente una impresión, usando LittleCMS2, si le proporcionas un perfil de impresora adecuado. La prueba blanda significa convertir la imagen al espacio de color de la impresora, es decir, compensar los puntos blanco y negro, luego remapear el espacio de color, usando los datos contenidos en el perfil y los métodos estándar ICC. En práctica, esto estropeará la imagen al desaturarla y eliminar mucho contraste (“negros lechosos”), en un intento de acercarse al resultado impreso. Sin embargo, hay algunas advertencias allí.

En primer lugar, la prueba blanda muestra lo que obtendrías de una tubería ICC estándar si tu impresora cumpliera con las especificaciones ICC. La prueba blanda no se escribe en el archivo exportado, por lo que aplicar el conjunto de cambios que ves en la pantalla depende completamente del controlador de la impresora y del técnico del fotolaboratorio.

Luego, incluso con un contraste apagado, una prueba blanda digital en un medio emisivo no se acerca a una copia en papel reflectante. La usabilidad práctica de la prueba blanda es, en el mejor de los casos, anecdótica.

Finalmente, no hay mucha información para obtener de una prueba blanda, excepto que las impresiones son malas. Lo más que puedes hacer es verificar que la conversión automática de color se comporte correctamente, en particular, que preserven los gradientes suaves y no creen manchas sólidas donde tu original digital tiene gradientes.

Si activas la comprobación de gamut, casi siempre verás que los colores más profundos y ricos están fuera del gamut de la impresora. Nuevamente, no es algo de lo que preocuparse, estos son remapeados por las LUT perceptuales de la impresora o el mapeo de gama de Filmic.

Mi experiencia con la prueba blanda y la comprobación de gamut es que preocupan innecesariamente a usuarios semi-calificados, haciéndoles creer que tienen algo que corregir manualmente para hacer desaparecer esas alertas fuera de gama. También he visto varios informes de errores mencionando un problema con la prueba blanda, porque velaba los negros, aunque ese es exactamente el punto. Todos los instrumentos son útiles solo si sabes cómo leerlos, y los datos se convierten en información solo si sabes lo que estás buscando.

Filmic: solución compleja a un problema complicado

El canal de ICC tiene como objetivo automatizar las conversiones de espacios de color, definiendo métodos estandarizados usando perfiles descriptivos. Al hacerlo, pone una pesada carga sobre los técnicos de fotolaboratorio, encargados de crear y operar estos perfiles, y la experiencia ha demostrado que la mayoría de ellos lo hacen a oído en colorimetría.

Lejos de haber hecho la tubería más confiable, los estándares ICC la han hecho más compleja, con cajas negras mágicas e incomprensibles (los Sistemas de Gestión de Color), cuya complejidad de especificaciones podría hacernos olvidar que no están haciendo más que matemáticas de nivel de primer año. Imprimir fotografías digitales es más que nunca un juego de ensayo y error, que se basa en impresiones de prueba y ajustes empíricos, involucrando software comprendido solo por sus desarrolladores.

El arma secreta de los perfiles ICC es la intención perceptual, que se basa en las etiquetas AtoB y BtoA debidamente completadas en el archivo del perfil. Estos campos solo se encuentran en los perfiles del proveedor, y cuando lo están, los compromisos técnicos que gobiernan su diseño son opacos.2 En cualquier caso, el enfoque perceptual es limitado porque las LUT ICC v2 son válidas solo para un espacio de color de origen dado: típicamente, los perfiles de impresora esperan el espacio sRGB o Adobe RGB en la entrada, y cualquier otro espacio invalida sus LUT perceptuales. Dado que cualquier software de edición de fotos RAW trabaja en RGB de gama amplia, necesitas 2 etapas de mapeo de gamut (gama amplia a sRGB, luego sRGB a impresora), cada una de las cuales introduce cambios de color más o menos predecibles.3

En ausencia de esos campos, los sistemas de gestión de color recurren silenciosamente a intenciones colorimétricas, sin notificar a los usuarios. Por lo tanto, no tienen forma de saber qué está pasando, y el resultado es impredecible. En la mayoría de los casos, cambiar entre las intenciones perceptual y colorimétrica relativa, en la exportación de Ansel, conduce al mismo resultado dado que los perfiles de código abierto no tienen LUT perceptuales.

Filmic nació como un sistema de mapeo tonal, con la conversión HDR a SDR en mente. Desde el principio, su diseño ha sido tan genérico como sea posible, sin ninguna suposición fija sobre los puntos blanco y negro para el medio de salida. Rápidamente quedó claro que el mapeo de gama no podía ser desacoplado del mapeo tonal, porque operamos señales RGB cuya modulación controla la claridad, saturación y matiz en conjunto, y el desacoplamiento entre “color” y claridad es solo una creación de la mente para comprender mejor las cosas, pero sin realidad técnica.

Filmic se volvió más complejo a lo largo de los años para resolver de manera transparente el problema que el ICC no pudo resolver con la intención perceptual. En lugar de confiar en una LUT cuya existencia no es segura, construida no sabemos cómo, asumiendo un espacio de color de entrada fuente rígido pero no documentado, Filmic permite a los usuarios parametrizar por sí mismos una intención perceptual definiendo:

  • los puntos negro/blanco del espacio de entrada (escena) y del espacio de salida (pantalla),
  • la curva de contraste para el mapeo de tonos,
  • una normalización opcional de colores a través de normas RGB que preservan la saturación original (similar a la intención de saturación), o sin normalización (similar a la intención perceptual), o una mezcla de ambos (desde la versión 7),
  • un mapeo de gama al espacio de salida mediante recorte suave de saturación a luminancia y tono constantes (desde la versión 6).

Exportando imágenes al espacio de color de la impresora (o alternativamente a sRGB), definiendo la compensación de punto negro en el punto negro de destino de Filmic y escribiendo la intención colorimétrica relativa en el archivo exportado, puedes eludir los pasos opacos y poco confiables de corrección de color del flujo de trabajo ICC, y gestionar internamente los redimensionamientos del espacio de color.

El malentendido y la ignorancia de esos problemas llevaron a Darktable 4.0 a introducir el módulo Sigmoid como una alternativa simplificada a Filmic, que puede permitirse ser mucho más simple ya que cumple con el 25% de los requisitos y retrocede el software 5 años.


Translated from English by : ChatGPT. In case of conflict, inconsistency or error, the English version shall prevail.

  1.  Printers reach deeper blacks by mixing pure black ink with all of CYM inks. ↩︎

  2. We would like to know, notably, if the gamut mapping picks the closest color, or enforces a constant hue, or constant luminance, etc. ↩︎

  3. For more edifying details on the horror of gamut mapping intents in ICC profiles, see Argyll CMS documentation : https://www.argyllcms.com/doc/iccgamutmapping.html  ↩︎