Corrección gamma

Función de mapeo de luminancia de imagen
El efecto de la corrección de gamma en una imagen: la imagen original se ha tomado con distintas potencias, lo que demuestra que las potencias mayores que 1 hacen que las sombras sean más oscuras, mientras que las potencias menores que 1 hacen que las regiones oscuras sean más claras. Sin embargo, esta no es la gamma real que tiene la imagen.

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 :

V afuera = A V en gamma , {\displaystyle V_{\text{fuera}}=AV_{\text{in}}^{\gamma },}

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. V en {\displaystyle V_{\text{en}}} gamma {\estilo de visualización \gamma} V afuera {\displaystyle V_{\text{fuera}}}

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 . gamma < 1 {\displaystyle \gamma <1} gamma > 1 {\displaystyle \gamma >1}

Explicación

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 .

Gamma generalizada

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 ): V afuera = V en gamma {\displaystyle V_{\text{salida}}=V_{\text{entrada}}^{\gamma }}

gamma = d registro ( V afuera ) d registro ( V en ) . {\displaystyle \gamma ={\frac {\mathrm {d} \log(V_{\text{salida}})}{\mathrm {d} \log(V_{\text{entrada}})}}.}

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.

Fotografía en película

Curva característica de una película fotográfica . La pendiente de su sección lineal se denomina gamma de la película.

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]

Gammas estándar

Televisión analógica

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]

Pantallas de ordenador

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.

Gráfico de la no linealidad de expansión gamma estándar sRGB en rojo y su valor gamma local (pendiente en el espacio logarítmico) en azul. El gamma local aumenta de 1 a aproximadamente 2,2.

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.

Información meta gamma

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]

Ley de potencia para visualización de video

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 linealV S =  0.00,10,20.30,40,50.60,70,80.91.0
Intensidad lineal Yo0.00,10,20.30,40,50.60,70,80.91.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

I V s gamma , {\displaystyle I\propto V_{\text{s}}^{\gamma },}

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

V c V s 1 / γ , {\displaystyle V_{\text{c}}\propto V_{\text{s}}^{1/\gamma },}

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.

Métodos para realizar la corrección de gamma de visualización en computación

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:

  • Los valores de intensidad de los píxeles en un archivo de imagen determinado; es decir, los valores binarios de los píxeles se almacenan en el archivo de forma que representen la intensidad de la luz mediante valores comprimidos gamma en lugar de una codificación lineal. Esto se hace sistemáticamente con archivos de vídeo digitales (como los de una película en DVD ), con el fin de minimizar el paso de decodificación gamma durante la reproducción y maximizar la calidad de la imagen para el almacenamiento determinado. De forma similar, los valores de los píxeles en los formatos de archivos de imagen estándar suelen estar compensados ​​gamma, ya sea para gamma sRGB (o equivalente, una aproximación de los gammas típicos de los monitores antiguos) o según algún gamma especificado por metadatos, como un perfil ICC . Si el gamma de codificación no coincide con el gamma del sistema de reproducción, se puede realizar una corrección adicional, ya sea en la pantalla o para crear un archivo de imagen modificado con un perfil diferente.
  • El software de renderizado escribe valores binarios de píxeles codificados en gamma directamente en la memoria de vídeo (cuando se utilizan los modos de color alto / color verdadero ) o en los registros de hardware CLUT (cuando se utilizan los modos de color indexado ) del adaptador de pantalla . Controlan los convertidores de digital a analógico (DAC) que envían los voltajes proporcionales a la pantalla. Por ejemplo, cuando se utiliza color RGB de 24 bits (8 bits por canal), al escribir un valor de 128 (punto medio redondeado del rango de 0 a 255 bytes ) en la memoria de vídeo, se envía el voltaje proporcional ≈ 0,5 a la pantalla, que se muestra más oscura debido al comportamiento del monitor. Alternativamente, para lograr una intensidad de ≈ 50 % , se puede aplicar una tabla de búsqueda codificada en gamma para escribir un valor cercano a 187 en lugar de 128 mediante el software de renderizado.
  • Los adaptadores de pantalla modernos tienen CLUT de calibración dedicados, que se pueden cargar una vez con la tabla de consulta de corrección gamma adecuada para modificar las señales codificadas digitalmente antes de los DAC que envían voltajes al monitor. [19] La configuración de estas tablas para que sean correctas se denomina calibración de hardware . [20]
  • Algunos monitores modernos permiten al usuario manipular el comportamiento de la gamma (como si se tratara de otro ajuste de brillo/contraste), codificando las señales de entrada por sí mismas antes de que se muestren en pantalla. Esto también es una calibración por técnica de hardware , pero se realiza sobre las señales eléctricas analógicas en lugar de reasignar los valores digitales, como en los casos anteriores.

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.

Pruebas de monitorización sencillas

Imagen de prueba de corrección de gamma. Válida únicamente con zoom del navegador = 100 %

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.9para establecer el factor de corrección de gamma en 0,9 y xgammapara 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.

Escalado y mezcla

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]

Terminología

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:

  • La luminancia es el brillo fotométrico de un objeto (en unidades de cd /m 2 ), teniendo en cuenta la sensibilidad dependiente de la longitud de onda del ojo humano (la curva fotópica );
  • La luminancia relativa es la luminancia relativa a un nivel de blanco, utilizada en una codificación de espacio de color;
  • luma es la señal de brillo de vídeo codificada, es decir, similar al voltaje de la señal V S .

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.

Véase también

Referencias

  1. ^ abcdef Charles A. Poynton (2003). Vídeo digital y HDTV: algoritmos e interfaces. Morgan Kaufmann. pp. 260, 630. ISBN 1-55860-792-7.
  2. ^ "Especificación PNG 13. Apéndice: Tutorial de gamma". W3C. 1 de octubre de 1996. Consultado el 3 de diciembre de 2018. ¿Qué es la corrección gamma?
  3. ^ de Charles Poynton (2010). Respuestas a preguntas frecuentes sobre gamma.
  4. ^ Erik Reinhard; Wolfgang Heidrich; Paul Debevec; Sumanta Pattanaik; Greg Ward; Karol Myszkowski (2010). Imágenes de alto rango dinámico: adquisición, visualización e iluminación basada en imágenes. Morgan Kaufmann. pág. 82. ISBN 9780080957111.
  5. ^ McKesson, Jason L. "Capítulo 12. Rango dinámico: linealidad y gamma". Aprendizaje de programación de gráficos 3D modernos . Archivado desde el original el 18 de julio de 2013. Consultado el 11 de julio de 2013 .
  6. ^ Peter Hodges (2004). Introducción a la medición de audio y video (3.ª ed.). Elsevier. pág. 174. ISBN 978-0-240-80621-1.
  7. ^ R. W. G. Hunt, La reproducción del color , 6.ª edición, pág. 48.
  8. ^ Kodak, "Sensitometría básica y características de la película" [1] Archivado el 20 de agosto de 2012 en Wayback Machine : "Una curva característica es como la huella digital de una película".
  9. ^ ab "Películas Kodak Professional Tri-X 320 y 400". Eastman Kodak Company . Mayo de 2007. Archivado desde el original (PDF) el 2009-08-02 . Consultado el 2015-01-03 .
  10. ^ "Película KODAK PROFESSIONAL PORTRA 160" (PDF) . imaging.kodakalaris.com . kodak . Consultado el 29 de enero de 2019 .
  11. ^ "Película profesional KODACHROME 25, 64 y 200" (PDF) . www.uk.kodak.com . Kodak . Consultado el 29 de enero de 2019 .
  12. ^ "11A: Características de los sistemas de televisión monocroma y en color". Informes del CCIR, 1990: También Decisiones: XVII Asamblea Plenaria, Dusseldorf (PDF) . Comité Consultivo Internacional de Radiocomunicaciones. 1990.
  13. ^ Rec. UIT-R BT.470-6 - SISTEMAS DE TELEVISIÓN CONVENCIONAL (PDF) . UIT-R. 1998. pág. 9.
  14. ^ "Especificación de gráficos de red portátiles (PNG) (segunda edición)". www.w3.org . Consorcio World Wide Web . Consultado el 25 de enero de 2020 .
  15. ^ Sivonen, Henri (31 de marzo de 2010). "La triste historia de la corrección de la gamma Papúa Nueva Guinea". hsivonen.fi . Consultado el 25 de enero de 2021 .
    "Reparación del error gamma de PNG". Diciembre de 2006.
    Roelofs, Greg (21 de agosto de 2005). "Prueba de consistencia gamma del navegador". www.libpng.org . Consultado el 25 de enero de 2020 .
  16. ^ "Página de prueba de gamma: PNG con etiqueta gamma (1/1.6) en colores HTML". www.libpng.org . Consultado el 26 de julio de 2023 .
  17. ^ "Prueba gamma del navegador".
  18. ^ Fritz Ebner y Mark D Fairchild, "Desarrollo y prueba de un espacio de color (IPT) con uniformidad de tono mejorada", Actas de la Sexta Conferencia sobre Imágenes en Color de IS&T/SID, pág. 8-13 (1998).
  19. ^ SetDeviceGammaRamp, la API Win32 para descargar rampas gamma arbitrarias para mostrar el hardware
  20. ^ de Jonathan Sachs (2003). Gestión del color. Digital Light & Color. Archivado el 4 de julio de 2008 en Wayback Machine.
  21. ^ Koren, Norman. "Calibración del monitor y gamma" . Consultado el 10 de diciembre de 2018. 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.
  22. ^ Nienhuys, Han-Kwang (2008). "Gamma calibration" (Calibración gamma) . Consultado el 30 de noviembre de 2018. 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.
  23. ^ Andrews, Peter. "La página de calibración del monitor y evaluación de gamma" . Consultado el 30 de noviembre de 2018. El 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.
  24. ^ "Obtenga la mejor visualización en su monitor: calibre su pantalla". Microsoft . Consultado el 10 de diciembre de 2018 . 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.
  25. ^ Werle, Eberhard. "Quickgamma" . Consultado el 10 de diciembre de 2018. QuickGamma es un pequeño programa de utilidad para calibrar un monitor sobre la marcha sin tener que comprar herramientas de hardware costosas.
  26. ^ Walters, Mike. "Monitor Calibration Wizard" (Asistente de calibración del monitor) . Consultado el 10 de diciembre de 2018. Asistente sencillo para crear perfiles de color para su monitor.
  27. ^ "Acerca de la administración del color". Microsoft . Consultado el 10 de diciembre de 2018 . Por lo general, Windows se encarga de esto por sí solo.
  28. ^ Brasseur, Eric (agosto de 2007). "Error de gamma en el escalado de imágenes" . Consultado el 22 de marzo de 2020. Técnicamente hablando, el problema es que "los cálculos se realizan como si la escala de brillos fuera lineal , 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.
  29. ^ Brasseur, Eric. "Error de gamma en la escala de la imagen. Agradecimientos". Jonas Berlin envió esta imagen. Reduzca la escala a 1:2 con su software...
  30. ^ Chan, Glenn (mayo de 2008). "Hacia un mejor submuestreo de croma: ganador del premio SMPTE Student Paper Award 2007". Revista de imágenes en movimiento SMPTE . 117 (4): 39–45. doi : 10.5594/J15100 .
  31. ^ "Submuestreo de croma con corrección gamma · Número 193 · mozilla/mozjpeg". GitHub .
  32. ^ Archivado en Ghostarchive y Wayback Machine: Minute Physics (20 de marzo de 2015). "El color de la computadora está roto". YouTube .
  33. ^ Novak, John (21 de septiembre de 2016). "Lo que todo programador debería saber sobre gamma".
  34. ^ Nicolas Robidoux. "Re: ¿Ampliar con sRGB, RGB, LAB, LUV, XYZ, sigmoideo...?". Servidor de discursos de ImageMagick . 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.
  35. ^ Anthony Thyssen. "Redimensionamiento usando un espacio de color sigmoidal". imagemagick.org . 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.
  36. ^ "GNOME/gegl: gegl-sampler-lohalo.c". GitHub . 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.
  37. ^ Mathias Rauen. "madVR - renderizador de video de alta calidad (asistido por GPU)". forum.doom9.org . Ahora he implementado la función sigmoidea "estiramiento" y parece funcionar bien, por lo que puedo ver.
  38. ^ "Herramientas de tramado". Wiki de AviSynth . 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.
  39. ^ "mpv-player: options.rst". GitHub . 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)
  40. ^ Directriz de ingeniería EG 28, "Glosario anotado de términos esenciales para la producción electrónica", SMPTE, 1993.

información general

  • Especificación PNG; Versión 1.0; 13. Apéndice: Tutorial de Gamma
  • Rehabilitación de Gamma por Charles Poynton
  • Preguntas frecuentes sobre Gamma
  • CGSD – Página de inicio de corrección gamma de Computer Graphics Systems Development Corporation
  • Demostración interactiva en Flash de la asignatura CS 178 de la Universidad de Stanford sobre la corrección gamma. Última actualización: 1 de marzo de 2012 12:59:45 a. m.
  • Un espacio de color predeterminado estándar para Internet, sRGB, define y explica la gamma de visualización , la gamma de la cámara , la gamma de CRT , la gamma de LUT y la gamma de la pantalla.
  • Alvy Ray Smith (1 de septiembre de 1995). Corrección gamma (PDF) (Nota técnica 9). Microsoft .
  • Error gamma en el escalado de imágenes por Eric Brasseur
  • LO QUE TODO PROGRAMADOR DEBERÍA SABER SOBRE GAMMA por JOHN NOVAK

Herramientas de monitorización gamma

  • Páginas de prueba del monitor LCD Lagom
  • La página de ajuste de gamma
  • Monitorizar el patrón de prueba para una corrección gamma correcta (por Norman Koren)
  • QuickGamma
Retrieved from "https://en.wikipedia.org/w/index.php?title=Gamma_correction&oldid=1245611307"