La corrección gamma o gamma es una operación no lineal que se utiliza para codificar y decodificar valores de luminancia o triestímulo en sistemas de vídeo o de imágenes fijas . [1] La corrección gamma se define, en los casos más simples, mediante la siguiente expresión de ley de potencia :
donde el valor de entrada real no negativo se eleva a la potencia y se multiplica por la constante A para obtener el valor de salida . En el caso común de A = 1 , las entradas y salidas suelen estar en el rango 0-1.
A veces, un valor gamma se denomina gamma de codificación , y el proceso de codificación con esta no linealidad de ley de potencia compresiva se denomina compresión gamma ; a la inversa, un valor gamma se denomina gamma de decodificación , y la aplicación de la no linealidad de ley de potencia expansiva se denomina expansión gamma .
La codificación gamma de imágenes se utiliza para optimizar el uso de bits al codificar una imagen, o el ancho de banda utilizado para transportar una imagen, aprovechando la manera no lineal en que los humanos perciben la luz y el color. [1] La percepción humana del brillo ( luminosidad ), en condiciones de iluminación comunes (ni oscuridad total ni brillo cegador), sigue una función de potencia aproximada (que no tiene relación con la función gamma ), con mayor sensibilidad a las diferencias relativas entre tonos más oscuros que entre tonos más claros, en consonancia con la ley de potencia de Stevens para la percepción del brillo. Si las imágenes no están codificadas en gamma, asignan demasiados bits o demasiado ancho de banda a los reflejos que los humanos no pueden diferenciar, y muy pocos bits o muy poco ancho de banda a los valores de sombra a los que los humanos son sensibles y requerirían más bits/ancho de banda para mantener la misma calidad visual. [2] [1] [3] La codificación gamma de imágenes de punto flotante no es necesaria (y puede ser contraproducente), porque el formato de punto flotante ya proporciona una aproximación lineal por partes de una curva logarítmica. [4]
Aunque la codificación gamma se desarrolló originalmente para compensar las características de brillo de las pantallas de tubo de rayos catódicos (CRT), ese no es su principal propósito ni ventaja en los sistemas modernos. En las pantallas CRT, la intensidad de la luz varía de forma no lineal con el voltaje del cañón de electrones. Alterar la señal de entrada mediante compresión gamma puede cancelar esta no linealidad, de modo que la imagen de salida tenga la luminancia deseada. Sin embargo, las características gamma del dispositivo de visualización no influyen en la codificación gamma de imágenes y vídeos. Necesitan la codificación gamma para maximizar la calidad visual de la señal, independientemente de las características gamma del dispositivo de visualización. [1] [3] La similitud de la física de los CRT con la inversa de la codificación gamma necesaria para la transmisión de vídeo fue una combinación de coincidencia e ingeniería, que simplificó la electrónica de los primeros televisores. [5]
La película fotográfica tiene una capacidad mucho mayor para registrar pequeñas diferencias de tono que las que se pueden reproducir en papel fotográfico . De manera similar, la mayoría de las pantallas de video no son capaces de mostrar el rango de brillos (rango dinámico) que pueden capturar las cámaras electrónicas típicas. [6] Por esta razón, se invierte un esfuerzo artístico considerable en elegir la forma reducida en la que debe presentarse la imagen original. La corrección gamma, o selección de contraste, es parte del repertorio fotográfico utilizado para ajustar la imagen reproducida.
De manera análoga, las cámaras digitales registran la luz mediante sensores electrónicos que, por lo general, responden de manera lineal. En el proceso de conversión de datos brutos lineales a datos RGB convencionales (por ejemplo, para su almacenamiento en formato de imagen JPEG ), se realizarán transformaciones del espacio de color y de la representación. En particular, casi todos los espacios de color y formatos de archivo RGB estándar utilizan una codificación no lineal (una compresión gamma) de las intensidades previstas de los colores primarios de la reproducción fotográfica. Además, la reproducción prevista casi siempre está relacionada de manera no lineal con las intensidades medidas de la escena, a través de una no linealidad de reproducción de tonos .
El concepto de gamma se puede aplicar a cualquier relación no lineal. Para la relación de ley de potencia , la curva en un gráfico logarítmico es una línea recta, con pendiente en todos los puntos igual a gamma (la pendiente se representa aquí mediante el operador de derivada ):
Es decir, gamma se puede visualizar como la pendiente de la curva de entrada-salida cuando se traza en ejes logarítmicos. Para una curva de ley de potencia, esta pendiente es constante, pero la idea se puede extender a cualquier tipo de curva, en cuyo caso gamma (estrictamente hablando, "gamma de punto" [7] ) se define como la pendiente de la curva en cualquier región particular.
Cuando una película fotográfica se expone a la luz, el resultado de la exposición se puede representar en un gráfico que muestra el logaritmo de la exposición en el eje horizontal y la densidad, o logaritmo negativo de la transmitancia, en el eje vertical. Para una formulación de película y un método de procesamiento determinados, esta curva es su curva característica o curva de Hurter-Driffield . [8] [9] Dado que ambos ejes utilizan unidades logarítmicas, la pendiente de la sección lineal de la curva se denomina gamma de la película. La película negativa normalmente tiene un gamma menor que 1; [9] [10] la película positiva (película diapositiva, película reversible) normalmente tiene un gamma con valor absoluto mayor que 1. [11]
La salida a los receptores y monitores de televisión basados en CRT no suele requerir una corrección de gamma adicional. Las señales de vídeo estándar que se transmiten o almacenan en archivos de imagen incorporan una compresión de gamma que coincide con la expansión de gamma del CRT (aunque no es exactamente lo inverso). Para las señales de televisión, los valores de gamma son fijos y están definidos por los estándares de vídeo analógicos. Los sistemas CCIR M y N , asociados con el color NTSC , utilizan gamma 2.2; los sistemas B / G , H , I , D / K , K1 , L y M asociados con el color PAL o SECAM utilizan gamma 2.8. [12] [13]
En la mayoría de los sistemas de visualización de ordenadores, las imágenes se codifican con un gamma de aproximadamente 0,45 y se decodifican con el gamma recíproco de 2,2. Una notable excepción, hasta el lanzamiento de Mac OS X 10.6 (Snow Leopard) en septiembre de 2009, eran los ordenadores Macintosh , que codificaban con un gamma de 0,55 y decodificaban con un gamma de 1,8. En cualquier caso, los datos binarios en archivos de imágenes fijas (como JPEG ) se codifican explícitamente (es decir, llevan valores codificados con gamma, no intensidades lineales), al igual que los archivos de imágenes en movimiento (como MPEG ). El sistema puede gestionar opcionalmente ambos casos, a través de la gestión del color , si se requiere una mejor coincidencia con el gamma del dispositivo de salida.
El estándar de espacio de color sRGB que se utiliza en la mayoría de las cámaras, PC e impresoras no utiliza una no linealidad de ley de potencia simple como la anterior, sino que tiene un valor de gamma de decodificación cercano a 2,2 en gran parte de su rango, como se muestra en el gráfico de la derecha/arriba. Por debajo de un valor comprimido de 0,04045 o una intensidad lineal de 0,00313, la curva es lineal (valor codificado proporcional a la intensidad), por lo que γ = 1. La curva negra discontinua detrás de la curva roja es una curva de ley de potencia estándar γ = 2,2 , a modo de comparación.
La corrección de gamma en ordenadores se utiliza, por ejemplo, para visualizar correctamente una imagen de Apple con una gamma de 1,8 en un monitor de PC con una gamma de 2,2 modificando la gamma de la imagen. Otro uso es la ecualización de las gammas de los canales de color individuales para corregir las discrepancias del monitor.
Algunos formatos de imagen permiten almacenar como metadatos el gamma deseado de una imagen (de las transformaciones entre las muestras de imagen codificadas y la salida de luz) , lo que facilita la corrección automática del gamma. La especificación PNG incluye el fragmento gAMA para este propósito [14] y con formatos como JPEG y TIFF se puede utilizar la etiqueta Exif Gamma. Algunos formatos pueden especificar el perfil ICC que incluye una función de transferencia.
Estas características han causado problemas históricamente, especialmente en la web. Para los colores HTML y CSS y las imágenes JPG o GIF sin metadatos de perfil de color adjuntos, los navegadores populares pasaban valores de color numéricos a la pantalla sin gestión de color, lo que daba como resultado una apariencia sustancialmente diferente entre dispositivos; sin embargo, esos mismos navegadores enviaban imágenes con gamma configurado explícitamente en metadatos a través de la gestión de color, y también aplicaban un gamma predeterminado a las imágenes PNG con metadatos omitidos. Esto hizo imposible que las imágenes PNG coincidieran simultáneamente con los colores HTML o JPG sin etiquetar en todos los dispositivos. [15] Esta situación ha mejorado desde entonces, ya que la mayoría de los navegadores principales ahora admiten la configuración de gamma (o la falta de ella). [16] [17]
Una característica gamma es una relación de ley de potencia que aproxima la relación entre la luminancia codificada en un sistema de televisión y la luminancia de la imagen real deseada.
Con esta relación no lineal, los pasos iguales en la luminancia codificada corresponden aproximadamente a pasos subjetivamente iguales en el brillo. Ebner y Fairchild [18] utilizaron un exponente de 0,43 para convertir la intensidad lineal en luminosidad (luma) para los neutros; se descubrió que el recíproco, aproximadamente 2,33 (bastante cerca de la cifra 2,2 citada para un subsistema de visualización típico), proporcionaba una codificación perceptual aproximadamente óptima de los grises.
La siguiente ilustración muestra la diferencia entre una escala con una señal de luminancia codificada que aumenta linealmente (entrada de luminancia comprimida gamma lineal) y una escala con una escala de intensidad que aumenta linealmente (salida de luminancia lineal).
Codificación lineal | V S = | 0.0 | 0,1 | 0,2 | 0.3 | 0,4 | 0,5 | 0.6 | 0,7 | 0,8 | 0.9 | 1.0 |
Intensidad lineal | Yo = | 0.0 | 0,1 | 0,2 | 0.3 | 0,4 | 0,5 | 0.6 | 0,7 | 0,8 | 0.9 | 1.0 |
En la mayoría de las pantallas (aquellas con un valor gamma de aproximadamente 2,2), se puede observar que la escala de intensidad lineal tiene un gran salto en el brillo percibido entre los valores de intensidad 0,0 y 0,1, mientras que los pasos en el extremo superior de la escala son apenas perceptibles. La escala codificada por gamma, que tiene una intensidad que aumenta de forma no lineal, mostrará pasos mucho más uniformes en el brillo percibido.
Un tubo de rayos catódicos (TRC), por ejemplo, convierte una señal de vídeo en luz de forma no lineal, porque la intensidad del cañón de electrones (brillo) en función del voltaje de vídeo aplicado no es lineal. La intensidad de la luz I está relacionada con el voltaje de la fuente V s según
donde γ es la letra griega gamma . Para un CRT, el gamma que relaciona el brillo con el voltaje está generalmente en el rango de 2,35 a 2,55; las tablas de búsqueda de video en las computadoras generalmente ajustan el gamma del sistema al rango de 1,8 a 2,2, [1] que está en la región que hace que una diferencia de codificación uniforme dé una diferencia de brillo perceptual aproximadamente uniforme, como se ilustra en el diagrama en la parte superior de esta sección.
Para simplificar, considere el ejemplo de un CRT monocromático. En este caso, cuando se alimenta a la pantalla una señal de video de 0,5 (que representa un gris medio), la intensidad o brillo es de aproximadamente 0,22 (lo que da como resultado un gris medio, aproximadamente el 22 % de la intensidad del blanco). El negro puro (0,0) y el blanco puro (1,0) son los únicos tonos que no se ven afectados por la gamma.
Para compensar este efecto, a veces se aplica la función de transferencia inversa (corrección gamma) a la señal de vídeo para que la respuesta de extremo a extremo sea lineal. En otras palabras, la señal transmitida se distorsiona deliberadamente para que, después de que el dispositivo de visualización la haya distorsionado nuevamente, el espectador vea el brillo correcto. La función inversa anterior es
donde V c es el voltaje corregido y V s es el voltaje de la fuente, por ejemplo, de un sensor de imagen que convierte la fotocarga linealmente en voltaje. En nuestro ejemplo de CRT, 1/ γ es 1/2,2 ≈ 0,45.
Un CRT en color recibe tres señales de video (rojo, verde y azul) y, en general, cada color tiene su propio valor de gamma, denominado γ R , γ G o γ B . Sin embargo, en sistemas de visualización simples, se utiliza un único valor de γ para los tres colores.
Otros dispositivos de visualización tienen valores de gamma diferentes: por ejemplo, una pantalla Game Boy Advance tiene un gamma entre 3 y 4 dependiendo de las condiciones de iluminación. En las pantallas LCD como las de los ordenadores portátiles, la relación entre el voltaje de la señal V s y la intensidad I es muy no lineal y no se puede describir con el valor de gamma. Sin embargo, estas pantallas aplican una corrección al voltaje de la señal para obtener aproximadamente un comportamiento estándar de γ = 2,5 . En la grabación de televisión NTSC , γ = 2,2 .
La función de ley de potencia, o su inversa, tiene una pendiente de infinito en cero. Esto genera problemas en la conversión desde y hacia un espacio de color gamma. Por este motivo, la mayoría de los espacios de color definidos formalmente, como sRGB, definirán un segmento de línea recta cerca de cero y sumarán la elevación de x + K (donde K es una constante) a una potencia, de modo que la curva tenga una pendiente continua. Esta línea recta no representa lo que hace el CRT, pero sí hace que el resto de la curva se parezca más al efecto de la luz ambiental en el CRT. En tales expresiones, el exponente no es el gamma; por ejemplo, la función sRGB utiliza una potencia de 2,4, pero se parece más a una función de ley de potencia con un exponente de 2,2, sin una parte lineal.
Se pueden manipular hasta cuatro elementos para lograr la codificación gamma para corregir la imagen que se mostrará en una pantalla de computadora típica de 2,2 o 1,8 gamma:
En un sistema correctamente calibrado, cada componente tendrá un gamma especificado para sus codificaciones de entrada y/o salida. [20] Las etapas pueden cambiar el gamma para corregir diferentes requisitos y, finalmente, el dispositivo de salida realizará la decodificación o corrección gamma según sea necesario, para llegar a un dominio de intensidad lineal. Todos los métodos de codificación y corrección se pueden superponer arbitrariamente, sin conocimiento mutuo de este hecho entre los diferentes elementos; si se hacen incorrectamente, estas conversiones pueden conducir a resultados altamente distorsionados, pero si se hacen correctamente según lo dictan los estándares y las convenciones, conducirán a un sistema que funcione correctamente.
En un sistema típico, por ejemplo, desde la cámara a través del archivo JPEG hasta la pantalla, la función de corrección de gamma involucrará a varias partes que cooperan. La cámara codifica su imagen renderizada en el archivo JPEG utilizando uno de los valores de gamma estándar, como 2.2, para almacenamiento y transmisión. La computadora con pantalla puede utilizar un motor de administración de color para convertir a un espacio de color diferente (como el espacio de color γ = 1.8 de Macintosh más antiguo ) antes de colocar los valores de píxeles en su memoria de video. El monitor puede realizar su propia corrección de gamma para hacer coincidir el gamma del CRT con el utilizado por el sistema de video. La coordinación de los componentes a través de interfaces estándar con valores de gamma estándar predeterminados permite configurar correctamente dicho sistema.
Este procedimiento es útil para hacer que un monitor muestre las imágenes de manera aproximadamente correcta en sistemas en los que no se utilizan perfiles (por ejemplo, el navegador Firefox anterior a la versión 3.0 y muchos otros) o en sistemas que asumen que las imágenes de origen sin etiquetar están en el espacio de color sRGB.
En el patrón de prueba, la intensidad de cada barra de color sólido pretende ser el promedio de las intensidades en el tramado rayado circundante; por lo tanto, idealmente, las áreas sólidas y los tramados deberían aparecer igualmente brillantes en un sistema correctamente ajustado a la gamma indicada.
Normalmente, una tarjeta gráfica tiene control de contraste y brillo, y un monitor LCD transmisivo tiene control de contraste, brillo y retroiluminación . El contraste y el brillo de la tarjeta gráfica y del monitor influyen en la gamma efectiva y no se deben cambiar una vez que se haya completado la corrección de gamma.
Las dos barras superiores de la imagen de prueba ayudan a establecer los valores correctos de contraste y brillo. Hay ocho números de tres dígitos en cada barra. Un buen monitor con la calibración adecuada muestra los seis números a la derecha de ambas barras, mientras que un monitor barato muestra solo cuatro números.
Dado un sistema de visualización gamma deseado, si el observador ve el mismo brillo en la parte cuadriculada y en la parte homogénea de cada área coloreada, entonces la corrección gamma es aproximadamente correcta. [21] [22] [23] En muchos casos, los valores de corrección gamma para los colores primarios son ligeramente diferentes.
Configurar la temperatura del color o punto blanco es el siguiente paso en el ajuste del monitor.
Antes de la corrección gamma , se debe configurar la temperatura de color y gamma deseada mediante los controles del monitor. Mediante los controles de gamma, contraste y brillo, la corrección gamma en una pantalla LCD solo se puede realizar para un ángulo de visión vertical específico, lo que implica una línea horizontal específica en el monitor, en un nivel específico de brillo y contraste. Un perfil ICC permite ajustar el monitor para varios niveles de brillo. La calidad (y el precio) del monitor determina cuánta desviación de este punto de funcionamiento aún brinda una corrección gamma satisfactoria. Las pantallas Twisted Nematic (TN) con una profundidad de color de 6 bits por color primario tienen la calidad más baja. Las pantallas con conmutación en el plano (IPS) con una profundidad de color típica de 8 bits son mejores. Los buenos monitores tienen una profundidad de color de 10 bits, tienen administración de color de hardware y permiten la calibración de hardware con un colorímetro triestímulo . A menudo, un panel de 6 bits más FRC se vende como de 8 bits y un panel de 8 bits más FRC se vende como de 10 bits. FRC no es un verdadero reemplazo para más bits. Los formatos de profundidad de color de 24 bits y 32 bits tienen 8 bits por color primario.
Con Microsoft Windows 7 y superior, el usuario puede configurar la corrección de gamma a través de la herramienta de calibración de color de pantalla dccw.exe u otros programas. [24] [25] [26] Estos programas crean un archivo de perfil ICC y lo cargan como predeterminado. Esto facilita la gestión del color . [27] Aumente el control deslizante de gamma en el programa dccw hasta que la última área coloreada, a menudo el color verde, tenga el mismo brillo en el área a cuadros y homogénea. Utilice los controles deslizantes de corrección de gamma de colores individuales o de balance de color en los programas de corrección de gamma para ajustar los otros dos colores. Algunos controladores de tarjetas gráficas antiguas no cargan la tabla de búsqueda de colores correctamente después de despertarse del modo de suspensión o hibernación y muestran una gamma incorrecta. En este caso, actualice el controlador de la tarjeta gráfica.
En algunos sistemas operativos que ejecutan el sistema X Window , se puede establecer el factor de corrección de gamma (aplicado al valor de gamma existente) emitiendo el comando xgamma -gamma 0.9
para establecer el factor de corrección de gamma en 0,9 y xgamma
para consultar el valor actual de ese factor (el valor predeterminado es 1,0). En los sistemas macOS , la calibración de gamma y otras calibraciones de pantalla relacionadas se realizan a través de las Preferencias del sistema.
En general, las operaciones sobre valores de píxeles se deben realizar en "luz lineal" (gamma 1). Eric Brasseur analiza el tema en profundidad y proporciona imágenes de prueba. [28] Sirven para señalar un problema generalizado: muchos programas realizan el escalado en un espacio de color con gamma, en lugar de un espacio lineal físicamente correcto. Las imágenes de prueba se construyen de manera que tengan una apariencia drásticamente diferente cuando se reduce la resolución de forma incorrecta. Jonas Berlin ha creado una imagen de "su software de escalado apesta/no funciona" basada en este principio. [29]
Además del escalado, el problema también se aplica a otras formas de submuestreo (reducción de escala), como el submuestreo de croma en Y′CbCr habilitado para gamma de JPEG . [30] WebP resuelve este problema calculando los promedios de croma en el espacio lineal y luego volviendo a convertirlos a un espacio habilitado para gamma; se utiliza una solución iterativa para imágenes más grandes. El mismo código YUV nítido (anteriormente YUV inteligente ) se utiliza en sjpeg y opcionalmente en AVIF . Kornelski proporciona una aproximación más simple mediante el promedio ponderado basado en luma. [31] La composición alfa , los gradientes de color y la representación 3D también se ven afectados por este problema. [32] [33]
Paradójicamente, al sobremuestrear (escalar) una imagen, el resultado procesado en un espacio de color gamma "incorrecto" (no físico) suele ser más agradable estéticamente. [34] Esto se debe a que los filtros de remuestreo con lóbulos negativos como Mitchell–Netravali y Lanczos crean artefactos de zumbido linealmente aunque la percepción humana no es lineal y se aproxima mejor por gamma. (Emulando el "paso atrás", que motiva el submuestreo en luz lineal (gamma=1), no se aplica al sobremuestreo). Un método relacionado para reducir la visibilidad de los artefactos de zumbido consiste en usar una función de transferencia de luz sigmoidea como la iniciada por ImageMagick y el filtro LoHalo de GIMP y adaptada al sobremuestreo de video por madVR , AviSynth y Mpv . [35] [36] [37] [38] [39]
El término intensidad se refiere estrictamente a la cantidad de luz que se emite por unidad de tiempo y por unidad de superficie, en unidades de lux . Sin embargo, cabe señalar que en muchos campos científicos esta cantidad se denomina excitación luminosa , a diferencia de la intensidad luminosa , que es una cantidad diferente. Sin embargo, estas distinciones son en gran medida irrelevantes para la compresión gamma, que es aplicable a cualquier tipo de escala lineal normalizada similar a la intensidad.
"Luminancia" puede significar varias cosas, incluso en el contexto del vídeo y la imagen:
Se contrasta la luminancia relativa en el sentido del color (sin compresión gamma) con la luma en el sentido del vídeo (con compresión gamma), y se denota la luminancia relativa por Y y la luma por Y ′, el símbolo primo (′) denota la compresión gamma. [40] Nótese que la luma no se calcula directamente a partir de la luminancia, es la suma ponderada (algo arbitraria) de los componentes RGB comprimidos gamma. [1]
Del mismo modo, el brillo a veces se aplica a varias medidas, incluidos los niveles de luz, aunque se aplica más propiamente a un atributo visual subjetivo.
La corrección gamma es un tipo de función de ley de potencia cuyo exponente es la letra griega gamma ( γ ). No debe confundirse con la función matemática Gamma . La gamma minúscula, γ , es un parámetro de la primera; la letra mayúscula, Γ, es el nombre (y el símbolo utilizado) de la segunda (como en Γ( x )). Para utilizar la palabra "función" junto con la corrección gamma, se puede evitar la confusión diciendo "función de ley de potencia generalizada".
Sin contexto, un valor denominado gamma puede ser el valor de codificación o de decodificación. Se debe tener cuidado de interpretar correctamente el valor como el que se debe aplicar para compensar o el que se debe compensar mediante la aplicación de su inverso. En el lenguaje común, en muchas ocasiones se emplea el valor de decodificación (como 2,2) como si fuera el valor de codificación, en lugar de su inverso (1/2,2 en este caso), que es el valor real que se debe aplicar para codificar gamma.
¿Qué es la corrección gamma?
El cuadro siguiente le permite establecer el nivel de negro (brillo) y estimar el gamma de la pantalla en un rango de 1 a 3 con una precisión [
sic
] mejor que 0,1.
La razón para utilizar el 48 % en lugar del 50 % como luminancia es que muchas pantallas LCD tienen problemas de saturación en el último 5 % de su rango de brillo que distorsionarían la medición de gamma.
problema se debe a que el tiempo de subida de la mayoría del hardware del monitor no es lo suficientemente rápido como para pasar del negro total al blanco total en el espacio de un solo píxel, o incluso dos, en algunos casos.
Si tiene un dispositivo y un software de calibración de pantalla, es una buena idea usarlos en lugar de la Calibración de color de pantalla porque le brindarán mejores resultados de calibración.
QuickGamma es un pequeño programa de utilidad para calibrar un monitor sobre la marcha sin tener que comprar herramientas de hardware costosas.
Asistente sencillo para crear perfiles de color para su monitor.
Por lo general, Windows se encarga de esto por sí solo.
cuando en realidad es una escala de potencia". En términos matemáticos: "se supone un gamma de 1,0, cuando en realidad es de 2,2". Muchos filtros, complementos y scripts cometen el mismo error.
Jonas Berlin envió esta imagen. Reduzca la escala a 1:2 con su software...
Generalmente, los espacios de color de luz lineal (RGB lineal y XYZ) producen halos oscuros exagerados, y los espacios de color "perceptuales" (sRGB, LAB, LUV) producen halos de luz exagerados. Si lo piensas por un minuto, esto tiene todo el sentido, porque los espacios de color perceptuales concentran muchos bits en el extremo más oscuro del espectro de intensidad y "ahuecan" el extremo más claro, de modo de imitar el HVS (sistema visual humano). Por lo tanto, 1 unidad de sobreimpulso oscuro te lleva menos "lejos" en sRGB que en RGB lineal, pero 1 unidad de sobreimpulso de luz te lleva menos "lejos" en RGB lineal que en sRGB.
Se ha desarrollado una nueva técnica en la que, en lugar de intentar redimensionar imágenes en un espacio de color lineal, la imagen se redimensiona en un espacio de color modificado usando el operador modificador de color sigmoidal (-sigmoidal-contrast). Esto puede reducir el recorte de halos extremos o artefactos de anillado que pueden desarrollarse a lo largo de bordes muy nítidos.
La sigmoidización fue inventada por N. Robidoux como un método para minimizar los sobreimpulsos y subimpulsos que surgen del filtrado con kernel con un lóbulo negativo más. Básicamente consiste en remuestrear a través de un espacio de color en el que los extremos de la gama están "lejos" de los tonos medios.
Ahora he implementado la función sigmoidea "estiramiento" y parece funcionar bien, por lo que puedo ver.
Dither_sigmoid_inverse aplica la curva sigmoidea inversa a un clip en luminancia lineal para reducir el zumbido al cambiar su tamaño. Dither_sigmoid_direct convierte nuevamente un clip a luminancia lineal. Los canales de croma permanecen intactos.
Al aumentar la escala, utilice una transformación de color sigmoidea para evitar enfatizar los artefactos de zumbido. Habilitada de manera predeterminada. Esto es incompatible con --linear-upscaling y lo reemplaza. (Tenga en cuenta que la sigmoidización también requiere linealización, por lo que el paso de renderizado LINEAL se activa en ambos casos)