balance de color rgb

Un módulo avanzado que trae herramientas de gradación de color de la cinematografía a la canalización referida a la escena fotográfica.

Este módulo no es adecuado para principiantes sin conocimientos previos de la teoría del color, que deberían ceñirse a los ajustes de croma global y _ vibración global_ hasta que tengan una buena comprensión de las dimensiones del color.

🔗introducción

La gradación de color es una parte importante de la edición de imágenes. Puede ayudar a eliminar los matices de color no deseados y también puede ofrecer un toque de color creativo que agregará atmósfera a sus imágenes. En los días de la fotografía de películas, la mayor parte del ambiente de color se obtenía con la emulsión de película y los productos químicos de revelado, y se realizaba cierta sincronización del color bajo la ampliadora con cabezales de color. Esto consumía recursos costosos y se reservaba principalmente para la industria del cine, donde el trabajo lo realizaba un colorista.

En la era digital, donde las imágenes en bruto se ven planas y uniformes, la gradación del color asume el mismo papel que las emulsiones de películas, reintroduciendo cambios de color con fines estéticos. También puede servir para armonizar la paleta de colores de una serie de imágenes (que pueden haber sido tomadas en diferentes condiciones) para lograr un aspecto global consistente. Para esta tarea, el vectorscopio también es extremadamente útil.

Los coloristas suelen dividir la gradación de color en dos pasos distintos:

  1. El ajuste de color primario tiene como objetivo corregir las tonalidades de color no deseadas y crear un punto de partida neutral,

  2. La gradación de color secundaria le da a la imagen su apariencia y atmósfera finales.

Es mejor dejar la gradación de color primaria al módulo calibración de color, que opera en un marco físico más adecuado para la corrección del iluminante. balance de color RGB, por otro lado, se ocupa principalmente de la gradación de color secundaria. Realizar una gradación de color primario verdaderamente neutral debería hacer que la gradación de color secundaria sea fácil de transferir entre imágenes (a través de estilos, ajustes preestablecidos o copiar y pegar) con un efecto similar.

🔗Principios generales

El módulo color balance RGB es una mejora con respecto a la Lista de decisiones de color de la Sociedad Estadounidense de Cinematógrafos (ASC CDL), y utiliza máscaras alfa para permitir que el efecto sea adecuado dividido entre sombras y luces. El CDL clásico actúa sobre todo el rango de luminancia, y cada uno de sus parámetros recibe más peso en algunas partes de la imagen solo como un efecto secundario de las matemáticas.

Este módulo funciona, en su mayor parte (4 escalas, chroma, vibrance, contraste), en un espacio de color RGB lineal diseñado específicamente para la gradación de color. Este espacio de color exhibe un espaciado uniforme de matices de percepción mientras retiene una luminancia escalada físicamente 1. La parte perceptual del módulo (saturación y brilliantez) funciona en el espacio de color JzAzBz 2, que proporciona una escala de percepción tanto de luminosidad como de cromaticidad adecuada para imágenes HDR. Ambos espacios de color aseguran que la saturación y los cambios de croma tengan lugar con un tono constante, lo que no es el caso de la mayoría de los otros operadores de saturación en darktable (especialmente en el módulo anterior [balance de color](./ color-balance.md)).

El módulo balance de color RGB espera una entrada lineal referida a la escena y produce una salida RGB referida a la escena, que puede o no ser lineal, dependiendo de la configuración de los ajustes del módulo (contraste y potencia delinearán la salida).

At its output, color balance RGB checks that the graded colors fit inside the pipeline RGB color space (Rec. 2020 by default) and applies a soft saturation clipping at constant hue, aiming to retarget out-of-gamut color to the nearest in-gamut color by scaling both chroma and lightness. This prevents the chroma and saturation settings from pushing colors outside of the valid range and allows more drastic adjustments to be safely used.

Tenga en cuenta que este módulo se rige por las definiciones CIE de crominancia y saturación, como se explica en la sección dimensiones de color .

🔗controles del módulo

🔗control principal

transición tonal
Gire todos los colores de la imagen en un ángulo sobre el plano de cromaticidad, con luminancia y croma constantes. Puede utilizar este control para eliminar la luz de color derramada sobre un sujeto o para cambiar rápidamente el color de algún objeto. Por lo general, esta configuración se aplica mejor a nivel local, utilizando máscaras.
vibrance global
Esto afecta la dimensión de croma del color en toda la imagen, dando prioridad a los colores con bajo croma. Esto permite aumentar el croma de los colores neutros sin exagerar los píxeles ya coloridos.
contraste
Este ajuste se aplica al canal de luminancia con tono y croma constantes. El ajuste del punto de apoyo (en la pestaña máscaras, debajo del contrast gray fulcrum) le permite establecer el punto neutro de la curva de contraste:
  • en el punto de apoyo, la curva de contraste no modifica la luminancia,
  • punto de apoyo, la curva de contraste disminuye la luminancia para valores de contraste positivos o la aumenta para valores negativos,
  • por encima del punto de apoyo, la curva de contraste aumenta la luminancia para valores de contraste positivos o la disminuye para valores negativos.

El punto de apoyo tiene un valor de 18,45% de forma predeterminada, que es coherente con el flujo de trabajo actual referido a la escena y debería adaptarse a la mayoría de los casos de uso (suponiendo que el brillo global se haya corregido como se recomienda mediante el módulo exposición).

El algoritmo de contraste proporciona resultados naturales que imitan la parte central de la curva de contraste de una película analógica. Sin embargo, también aumentará el rango dinámico de la imagen, lo que puede anular la configuración de película en la tubería. Para los ajustes de contraste global, normalmente debería usar el módulo ecualizador de tono – el control deslizante de contraste balance de color RGB se usa mejor con máscaras, p. ej. para correcciones selectivas sobre el primer plano o el fondo.

🔗gradación lineal de color

La gradación de color lineal afecta la dimensión de croma proporcionalmente a su valor de entrada, con tono y luminancia constantes. Lo hace globalmente, con un coeficiente plano (utilizando el croma global), así como en cada una de las máscaras sombras, tonos medios y luces (definidas en la pestaña máscaras bajo rangos de luminancia).

🔗gradación de saturación perceptual

La gradación de saturación perceptual afecta tanto a la luminancia como a las dimensiones de croma, en un espacio de percepción, proporcionalmente a su valor de entrada, en tono constante. Lo hace globalmente, con un coeficiente plano (utilizando la saturación global), así como en cada una de las máscaras_sombras_, tonos medios y luces (definidas en la pestaña máscaras bajo rangos de luminancia).

🔗gradación de la brillantez perceptiva

La gradación de brillo perceptual afecta tanto a la luminancia como a las dimensiones del croma, en un espacio perceptivo, proporcionalmente a su valor de entrada, en tono constante y en una dirección ortogonal a la saturación. Su efecto es cercano al de cambiar la exposición, pero escalado perceptualmente. Lo hace globalmente, con un coeficiente plano (utilizando la saturación global), así como en cada una de las máscaras sombras, tonos medios y luces (definidas en la pestaña máscaras bajo rangos de luminancia).

🔗pertaña 4 escalas

Cada una de las configuraciones en la pestaña de 4 formas está compuesta por los mismos tres componentes, que definen un color usando coordenadas independientes:

  1. luminancia,

  2. tono,

  3. crominancia.

La entrada de color como esta define un cambio de color aplicado a la imagen globalmente o sobre el rango de luminancia especificado.

Cada control deslizante de tono tiene un selector de color, que se puede usar para calcular el color del oponente de la región seleccionada. Esto es útil para revertir las tonalidades de color no deseadas (por ejemplo, enrojecimiento de la piel), ya que cambiar el color a su tonalidad oponente lo neutraliza.

🔗desplazamiento global (offset)

Esto es equivalente al offset de ASC CDL y se reduce a agregar un valor RGB constante a todos los píxeles, muy parecido al desplazamiento negro en el módulo exposure. Este control no utiliza enmascaramiento.

🔗realce en las sombras

Esto es conceptualmente equivalente al realce de realce/gamma/incremento, aunque implementado de manera diferente, y recurre a la multiplicación de los píxeles enmascarados por un valor RGB constante. Se aplica mediante la máscara sombras.

🔗incremento en las luces

Esto es equivalente al ASC CDL slope, y vuelve a multiplicar los píxeles enmascarados por un valor RGB constante. Se aplica mediante la máscara highlights.

🔗potencia global

Esto es equivalente a la potencia de ASC CDL, y recurre a la aplicación de un exponente RGB constante. No está enmascarado y debe normalizarse, ya que la función de potencia tiene un comportamiento diferente por encima y por debajo de 1, y estamos en una canalización ilimitada donde el blanco suele ser mayor que 1. El parámetro de normalización está disponible en máscaras debajo de punto de referencia del blanco.

🔗pestaña de máscaras

Esta pestaña define los controles auxiliares para las pestañas anteriores. Los controles de enmascaramiento generalmente no requieren ninguna modificación por parte del usuario, ya que los valores predeterminados están calibrados para adaptarse a la mayoría de las necesidades y cumplir con las expectativas normales de la canalización de píxeles referida a la escena. Solo debería necesitar cambiar esta configuración en escenarios específicos.

🔗rangos de luminancia

Los gráficos muestran la opacidad (en el eje y) de las 3 máscaras de luminancia en relación con la luminancia de píxeles (en el eje x). La curva más oscura representa la máscara sombras, la más brillante representa la máscara luces y la tercera curva representa la máscara tonos medios.

Solo las máscaras sombras y luces se pueden controlar directamente; la máscara de tonos medios se calcula indirectamente a partir de las demás y actúa como una variable de ajuste.

descenso de las sombras
Controle la suavidad o dureza de la transición de completamente opaco (100%) a completamente transparente (0%) para la máscara de sombras.
mask middle-gray fulcrum (punto de apoyo del gris medio)
Establezca el valor de luminancia donde las tres máscaras tengan un 50% de opacidad. En la práctica, esto se utiliza para definir cómo se separa la imagen en sombras y luces.
atenuación de las luces
Controle la suavidad o dureza de la transición de completamente opaco (100%) a completamente transparente (0%) para la máscara de luces.

Para cada una de estas configuraciones, un botón de máscara, provisto a la derecha del control deslizante, muestra la máscara apropiada (sombras, medios tonos, luces), superpuesta como un tablero de ajedrez. El área aún visible de la imagen (no oculta por la máscara) es el área que se verá afectada por los controles deslizantes de sombras, medios tonos y luces en las otras pestañas.

Todas las vistas previas de máscaras muestran la salida del módulo, incluidos los cambios de color realizados, por lo que también puede activarlos durante la edición para ver solo la parte afectada de la imagen.

Las máscaras de luminancia se calculan en la entrada del módulo, lo que significa que son insensibles a los cambios de luminancia realizados dentro del módulo.

🔗umbral

punto de refencia del blanco
Establece la luminancia del punto blanco en EV. Esto se usa para normalizar la configuración de potencia en la pestaña 4 escalas. Las implementaciones de funciones de potencia referidas a la pantalla asumen que el blanco está al 100%, lo que elimina la necesidad de normalización. Para fines referidos a la escena, esto debe tenerse en cuenta.

El selector de color a la derecha del control deslizante establece automáticamente el punto de referencia blanco a la luminancia máxima de la región seleccionada, que debería ser suficiente en la mayoría de los casos.

contrast gray fulcrum (punto de apoyo del gris medio)
Establezca el punto de apoyo para la configuración de contraste en la pestaña control principal. Esto corresponde al valor de luminancia que no se modificará con el ajuste de contraste. Esta configuración suele coincidir con el valor lineal del gris medio. Si siguió las recomendaciones del flujo de trabajo referido a la escena y estableció el brillo global al principio de la canalización, utilizando el módulo exposición, el valor correcto generalmente debería estar alrededor del 18-20%.

El selector de color a la derecha del control deslizante establece automáticamente el punto de apoyo del gris de contraste a la luminancia promedio de la región seleccionada. Esto se basa en la suposición de que la luminancia promedio suele estar cerca del gris medio, lo que no es cierto si tiene reflejos especulares o fuentes de luz primarias en el marco, o para imágenes de clave alta/baja.

🔗fórmula de saturación

Note that this setting is not really appropriate for the masks tab (since it is not technically related to the masks) but is placed here because it is not meant to be used regularly and in the spirit of saving some display real-estate. Two options are provided:

JzAzBz (2021)
This mode is the original saturation algorithm. It uses the JzAzBz uniform color space (UCS) to compute the saturation. This color space is not meant for color changes and its lightness does not account for the Helmholtz-Kohlrausch effect, which states that colorful colors will look brighter than neutral or near-neutral colors (greys and pastels) having the same luminance. It also suffers from non-smooth behaviour near black, with colors being darkened too much.
darktable UCS (2022)
The darktable Uniform Color Space has been designed from the ground up, using psychoperceptual measurement datasets, for the sole purpose of the color manipulation (saturation) performed by this module. This color space does account for the Helmholtz-Kohlrausch effect and has a built-in gamut mapping formula that is more accurate and efficient than can be achieved in JzAzBz. It displays a smoother behaviour which makes saturation changes more even across the lightness range.

🔗ajustes de previsualización de máscara

Esta configuración se aplica a las vistas previas de la máscara, que se muestran al hacer clic en los botones de la máscara en la sección rangos de luminancia. Estos ajustes se guardan globalmente, por lo que se aplicarán a todas las imágenes posteriores a menos que se modifiquen.

color de la cuadrícula 1 y 2
Establece los dos colores para la capa subyacente de la máscara de cuadrícula de verificación de fondo. Puede configurarlos con los colores del oponente de la imagen actual para facilitar la legibilidad.
tamaño de la cuadrícula
Establezca el ancho de las celdas del tablero de ajedrez en píxeles (ajustado de acuerdo con la configuración de DPI de la pantalla).

🔗FAQ

🔗saturación o croma?

Como se describe en la sección dimensiones de color, la saturación y el croma deambulan por el plano (luminosidad, croma) en diferentes direcciones. Además, el croma de balance de color RGB usa un espacio lineal referido a la escena, mientras que la saturación usa un espacio perceptivo, que cambia la escala del color para lograr un espaciado uniforme.

En la práctica, debe utilizar la configuración de croma si desea preservar la linearidad de la escena de la emisión de luz y/o mantener la luminancia sin cambios. Sin embargo, estos cambios pueden afectar a algunos matices más que a otros, debido al hecho de que el espacio de color no tiene una escala de percepción completa.

La saturación está más cerca del efecto de mezclar pintura blanca con algún color base. Reducir la saturación del rojo lo degradará a rosa, mientras que reducir su croma se degradará a un tono gris con la misma luminancia. La saturación es quizás una forma más intuitiva de interactuar con el color, debido a su conexión con la pintura.

Elegir uno u otro es principalmente una cuestión de decidir en qué parte del gráfico (luminosidad, croma) desea impulsar sus colores y dónde están para empezar. Para alcanzar los colores pastel, la saturación es el camino a seguir. Para alcanzar colores similares al láser (casi monocromáticos), a riesgo de parecer sintéticos, el croma es el camino a seguir.

🔗¿Cuál es la conexión con realce/gamma/incremento (lift/gamma/gain)?

El algoritmo lift/gamma/gain se basa en un espacio de color referido a la pantalla, ya que asume un rango dinámico simétrico y delimitado, con un punto blanco al 100% y gris al 50%. Como tal, es simplemente inutilizable en un espacio referido a la escena. Sin embargo, la única parte incompatible es el realce/lift. El gamma es exactamente el ASC CDL potencia, y el gain/incremento es exactamente el ASC CDL slope/pendiente.

El módulo color balance RGB simplemente tiene dos pendientes en lugar de una: la gain/incremento, aplicada sobre los reflejos extraídos de toda la imagen mediante una máscara, y la lift/ascenso, aplicada de manera similar pero sobre las sombras.

🔗cambiando el contraste

Mientras que balance de color RGB se trata principalmente de color (otros módulos manejan el contraste global en formas que preservan la cromaticidad) la luminancia es una parte tan importante del color como el tono o el croma, y también debe tratarse aquí, porque la percepción de saturación depende en eso. Si desea convertir el rojo en rosa, por ejemplo, al reducir su croma se volverá gris, por lo que también debe aumentar su luminancia.

Hay varias formas de cambiar el contraste en balance de color RGB, ya sea localmente (con máscaras) o globalmente (sin):

  • en la pestaña control principal, utiliza la configuración de contraste (posiblemente junto con el punto de referencia gris de contraste en la pestaña máscaras). Tenga en cuenta que esto aumentará el punto blanco y, por lo tanto, aumentará el rango dinámico de la imagen, lo que puede anular los ajustes del módulo película más adelante en la tubería.

  • en _ gradación de saturación perceptual_, desaturar luces y resaturar sombras para producir un aumento de contraste de luminancia,

  • en _gradación de brillo perceptual _, agregue brillo en las luces y elimine el brillo en las sombras para producir un aumento de contraste de luminancia,

  • en la pestaña _4 escalas _, establezca la luminosidad de elevación de sombras en valores negativos y la ganancia de luces altas de luminancia en valores positivos, lo que también produce un aumento de contraste de luminancia.

La diferencia entre estos métodos es cómo se ponderará el efecto en relación con la entrada del módulo. Se recomienda realizar la mayoría de los ajustes de contraste de luminancia en los módulos película y ecualizador de tono, y luego realizar los cambios finales en color balance RGB mientras examina los colores.

🔗procesamiento interno

El siguiente es el orden interno de operaciones dentro del módulo:

  1. Transforme de la tubería RGB al espacio Kirk/Filmlight Ych,

  2. Aplicar cambio de tono con croma constante y luminancia constante,

  3. Calcule las máscaras de luminancia con Y,

  4. Aplique los ajustes croma lineal y vibrancia con tono y luminancia constantes,

  5. Transformar al espacio Kirk/Filmlight RGB,

  6. Aplicar la configuración de 4 escalas (excepto potencia de luminancia),

  7. Transformar al espacio Kirk/Filmlight Yrg,

  8. Aplicar potencia de luminancia y contraste en Y,

  9. Transformar al espacio JzAzBz,

  10. Aplicar los ajustes de _ saturación perceptual_ y _ brillo perceptual_,

  11. Recortar suavemente el croma utilizando la gama RGB de canalización con tono y luminosidad constantes,

  12. Transforma de nuevo a la canalización RGB.

🔗advertencias

Setting the global chroma to -100% will not produce a real monochrome image, as is customary with other algorithms. The reason for this is that the RGB space used has a D65 white point defined in CIE LMS 2006 space, while darktable uses a white point defined in CIE XYZ 1931 space, and there is no exact conversion between these spaces. The result will therefore be a slightly tinted black & white image. If your intent is to get a real black & white image using the luminance channel, the color calibration module offers a B&W : luminance-based preset that does exactly the same thing but without the white-point discrepancy.

Este módulo tiene su mapeo de gama (contra la tubería RGB) habilitado permanentemente. Esto significa que si su imagen original contiene algunos colores en gran parte fuera de la gama para empezar, simplemente habilitando balance de color RGB sin una configuración en particular alterará ligeramente sus colores. Probablemente esto sea para mejor.

La saturación máxima permitida en el espacio RGB de trabajo del pipeline es grabada para cada matiz de color al inicializar el módulo, y posteriormente es almacenada en un LUT (tabla de búsqueda) para minimizar cálculos. Si el perfil de trabajo es cambiado posteriormente, balance de color RGB no es notificado, lo cual significa que no va a actualizar el LUT de matiz/saturación. Para forzar una actualización del LUT se puede simplemente cambiar cualquier parámetro en el módulo balance de color RGB, y luego cambiarlo de vuelta. No es recomendado cambiar el espacio de trabajo RGB a medio camino de una sesión de edición, dado que esto puede resultar en cambios inesperados de matiz y croma.

Por razones de velocidad, las conversiones no lineales desde y hacia el espacio de trabajo RGB son ignoradas, lo cual significa que la colorimetría interna será errada cuando se usan espacios de color no lineales. Notar que no hay razón para usar espacios no lineales como RGB de trabajo, dado que hacen el mezclado de alpha más trabajoso sin obtener ningún beneficio.


  1. Richard A. Kirk, Chromaticity coordinates for graphic arts based on CIE 2006 LMS with even spacing of Munsell colours, 2019. https://doi.org/10.2352/issn.2169-2629.2019.27.38 ↩︎

  2. Safdar et al., Perceptually uniform color space for image signals including high dynamic range and wide gamut, 2017. https://doi.org/10.1364/OE.25.015131 ↩︎

translations