Corrección gamma

Compartir Imprimir Citar
Operación no lineal
El efecto de la corrección gamma en una imagen: La imagen original fue tomada a diferentes poderes, mostrando que los poderes más grandes de 1 hacen las sombras más oscuras, mientras que los poderes más pequeños de 1 hacen las regiones oscuras más ligeras.
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 imágenes fijas. La corrección gamma se define, en los casos más simples, por la siguiente expresión de ley de potencia:

VFuera.=AVdentroγ γ ,{displaystyle ¿Qué?

donde el valor de entrada real no negativo Vdentro{displaystyle V_{text{in}} es elevado al poder γ γ {displaystyle gamma } y multiplicado por la constante A para obtener el valor de salida VFuera.{displaystyle V_{text{out}}. En el caso común A = 1, entradas y salidas son típicamente en el rango 0–1.

Un valor gamma <math alttext="{displaystyle gamma γ γ .1{displaystyle gamma.<img alt="gamma a veces se llama codificación gamma, y el proceso de codificación con esta no linealidad de poder compresiva se llama compresión gamma; por el contrario un valor gamma 1}" xmlns="http://www.w3.org/1998/Math/MathML">γ γ ■1{displaystyle gamma >}1" aria-hidden="true" class="mwe-math-fallback-image-inline" src="https://wikimedia.org/api/rest_v1/media/math/render/svg/64d24975584ef76d9a7d40e351aa3b330f67f915" style="vertical-align: -0.838ex; width:5.523ex; height:2.676ex;"/> se llama decodificación gamma, y la aplicación de la extensiva ley de poder no linealidad se llama expansión gamma.

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 forma no lineal en que los humanos perciben la luz y el color. La percepción humana del brillo (luminosidad), bajo 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. tonos, de acuerdo con la ley de potencia de Stevens para la percepción del brillo. Si las imágenes no están codificadas con gamma, asignan demasiados bits o demasiado ancho de banda a las luces que los humanos no pueden diferenciar, y muy pocos bits o demasiado 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 el misma calidad visual. 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.

Aunque la codificación gamma se desarrolló originalmente para compensar la característica de entrada y salida de las pantallas de tubo de rayos catódicos (CRT), no es su objetivo principal ni su 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. La alteración de 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 video. Necesitan codificación gamma para maximizar la calidad visual de la señal, independientemente de las características gamma del dispositivo de visualización. La similitud de la física CRT con la inversa de la codificación gamma necesaria para la transmisión de video fue una combinación de coincidencia e ingeniería, que simplificó la electrónica en los primeros televisores.

La película fotográfica tiene una capacidad mucho mayor para registrar pequeñas diferencias de sombra que la que se puede reproducir en papel fotográfico. De manera similar, la mayoría de las pantallas de video no pueden mostrar el rango de brillo (rango dinámico) que pueden capturar las cámaras electrónicas típicas. Por ello, se invierte un considerable esfuerzo artístico en la elección de la forma reducida en la que se debe presentar la imagen original. La corrección gamma, o selección de contraste, forma parte del repertorio fotográfico utilizado para ajustar la imagen reproducida.

De forma análoga, las cámaras digitales registran la luz mediante sensores electrónicos que suelen responder de forma lineal. En el proceso de renderización de datos sin procesar lineales a datos RGB convencionales (p. ej., para almacenamiento en formato de imagen JPEG), se realizarán transformaciones de espacio de color y transformaciones de renderizado. En particular, casi todos los formatos de archivos y espacios de color 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 forma no lineal con las intensidades de escena medidas, a través de una no linealidad de reproducción de tono.

Gamma generalizada

(feminine)

El concepto de gamma se puede aplicar a cualquier relación no lineal. Para la relación poder-ley VFuera.=Vdentroγ γ {displaystyle ¿Qué? }, la curva en una trama log-log es una línea recta, con pendiente en todas partes igual a gamma (la pendiente está representada aquí por el operador derivativo):

γ γ =dlog⁡ ⁡ ()VFuera.)dlog⁡ ⁡ ()Vdentro).{displaystyle gamma ={frac {mathrm {d} log(V_{text{out})}{mathrm {d} log(V_{text{in}}}}}}}} {f} {f}} {f}} {f}}}}} {fnf}}}}}}}} {

Es decir, gamma se puede visualizar como la pendiente de la curva de entrada-salida cuando se representa 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, "punto gamma") se define como la pendiente de la curva en alguna región en particular.

Fotografía cinematográfica

Curva característica de una película fotográfica. La pendiente de su sección lineal se llama la 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 un método de procesamiento y formulación de película dado, esta curva es su característica o curva de Hurter-Driffield. 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 una gamma inferior a 1; la película positiva (película de diapositivas, película inversa) normalmente tiene una gamma con un valor absoluto superior a 1.

Microsoft Windows, Mac, sRGB y gamas estándar de TV/vídeo

Televisión analógica

La salida a los receptores y monitores de televisión basados en CRT no suele requerir más corrección gamma. Las señales de video estándar que se transmiten o almacenan en archivos de imagen incorporan compresión gamma que coincide con la expansión gamma del CRT (aunque no es exactamente lo contrario). Para las señales de televisión, los valores gamma son fijos y definidos por los estándares de video analógico. CCIR System M y N, asociado a color NTSC, utiliza gamma 2.2; el resto (sistemas B/G, H, I, D/K, K1 y L) asociados a color PAL o SECAM, utilizan gamma 2.8.

Pantallas de computadora

En la mayoría de los sistemas de visualización de computadoras, las imágenes se codifican con una gamma de alrededor de 0,45 y se decodifican con una gamma recíproca de 2,2. Una excepción notable, hasta el lanzamiento de Mac OS X 10.6 (Snow Leopard) en septiembre de 2009, fueron las computadoras Macintosh, que codificaban con una gamma de 0,55 y decodificaban con una gamma de 1,8. En cualquier caso, los datos binarios en archivos de imágenes fijas (como JPEG) están codificados explícitamente (es decir, llevan valores codificados con gamma, no intensidades lineales), al igual que los archivos de imágenes en movimiento (como MPEG). Opcionalmente, el sistema puede administrar aún más ambos casos, a través de la administración del color, si se requiere una mejor coincidencia con la gamma del dispositivo de salida.

Parcela de la no-linearidad estándar de expansión gamma sRGB en rojo, y su valor gamma local (pendiente en espacio log-log) en azul. La gamma local se eleva de 1 a aproximadamente 2.2.

El estándar de espacio de color sRGB que se utiliza con 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 gamma de decodificación cercano a 2,2 en gran parte de su rango, como se muestra en el diagrama de la derecho. 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 punteada detrás de la curva roja es una curva estándar de ley de potencia γ = 2.2, a modo de comparación.

La corrección de gamma en las computadoras se usa, por ejemplo, para mostrar correctamente una imagen de Apple de gamma = 1,8 en un monitor de PC de gamma = 2,2 cambiando 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.

Metainformación gamma

Algunos formatos de imagen permiten que la gamma deseada de una imagen (de transformaciones entre muestras de imágenes codificadas y salida de luz) se almacene como metadatos, lo que facilita la corrección gamma automática siempre que se conozca el exponente del sistema de visualización. La especificación PNG incluye el fragmento gAMA para este propósito y con formatos como JPEG y TIFF se puede usar la etiqueta Exif Gamma.

Estas características históricamente han causado problemas, especialmente en la web. No hay ningún valor numérico de gamma que coincida con el "mostrar los números de 8 bits sin cambios" utilizado para los colores JPG, GIF, HTML y CSS, por lo que el PNG no coincidiría. Además, gran parte del software de creación de imágenes escribiría valores gamma incorrectos, como 1,0. Desde entonces, esta situación ha mejorado, ya que los principales navegadores como Google Chrome (y todos los demás navegadores basados en Chromium) y Mozilla Firefox ignoran la configuración de gamma por completo o la ignoran cuando se establece en valores incorrectos conocidos.

Ley de potencia para visualización de video

Una característica gamma es una relación de ley de potencia que se aproxima a la relación entre la luminancia codificada en un sistema de televisión y la luminancia real deseada de la imagen.

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 usaron un exponente de 0,43 para convertir la intensidad lineal en luminosidad (luma) para los neutros; se encontró que el recíproco, aproximadamente 2,33 (muy cerca de la cifra de 2,2 citada para un subsistema de visualización típico), proporciona una codificación perceptual de grises aproximadamente óptima.

La siguiente ilustración muestra la diferencia entre una escala con una señal de luminancia codificada que aumenta linealmente (entrada de luminancia lineal con compresión gamma) y una escala con una escala de intensidad que aumenta linealmente (salida de luminancia lineal).

Codificación lineal VS = 0,0 0.1 0.2 0.3 0,4 0.5 0.6 0.7 0,8 0.9 1.0
Intensidad lineal I = 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 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 perceptible. La escala codificada con 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 (CRT), por ejemplo, convierte una señal de video en luz de forma no lineal, porque la intensidad (brillo) del cañón de electrones en función del voltaje de video aplicado no es lineal. La intensidad de la luz I está relacionada con el voltaje de la fuente Vs según

I∝ ∝ Vsγ γ ,{displaystyle I 'propto V_{text{s} {gamma }

donde γ es la letra griega gamma. Para un CRT, la gamma que relaciona el brillo con el voltaje suele estar en el rango de 2,35 a 2,55; Las tablas de búsqueda de video en las computadoras generalmente ajustan la gamma del sistema al rango de 1.8 a 2.2, que está en la región que hace que una diferencia de codificación uniforme proporcione una diferencia de brillo perceptible 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 envía a la pantalla una señal de vídeo de 0,5 (que representa un gris medio), la intensidad o el 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 gamma.

Para compensar este efecto, a veces se aplica la función de transferencia inversa (corrección gamma) a la señal de video 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 distorsione de nuevo, el espectador vea el brillo correcto. La inversa de la función anterior es

Vc∝ ∝ Vs1/γ γ ,{displaystyle V_{text{c}propto ¿Qué?

donde Vc es el voltaje corregido y Vs es el voltaje fuente, por ejemplo, de un sensor de imagen que convierte la fotocarga linealmente en un voltaje. En nuestro ejemplo CRT, 1/γ es 1/2,2 ≈ 0,45.

Un CRT de 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 los sistemas de visualización simples, se usa un solo valor de γ para los tres colores.

Otros dispositivos de visualización tienen diferentes valores de gamma: por ejemplo, una pantalla de Game Boy Advance tiene una gamma entre 3 y 4 según las condiciones de iluminación. En las pantallas LCD, como las de las computadoras portátiles, la relación entre el voltaje de la señal Vs y la intensidad I es muy no lineal y no se puede describir con valor gamma. Sin embargo, estas pantallas aplican una corrección en el 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 esta razón, la mayoría de los espacios de color definidos formalmente, como sRGB, definirán un segmento de línea recta cerca de cero y agregarán elevación x + K (donde K es una constante) a una potencia para que la curva tenga pendiente continua. Esta línea recta no representa lo que hace el CRT, pero hace que el resto de la curva coincida más con el efecto de la luz ambiental en el CRT. En tales expresiones el exponente no es la gamma; por ejemplo, la función sRGB usa una potencia de 2,4, pero se asemeja 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 gamma de visualización en informática

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 calibrado correctamente, cada componente tendrá una gamma específica para sus codificaciones de entrada y/o salida. Las etapas pueden cambiar la gamma para corregir los diferentes requisitos y, finalmente, el dispositivo de salida realizará la decodificación o corrección de gamma según sea necesario, para llegar a un dominio de intensidad lineal. Todos los métodos de codificación y corrección pueden superponerse arbitrariamente, sin conocimiento mutuo de este hecho entre los diferentes elementos; si se realizan incorrectamente, estas conversiones pueden dar lugar a resultados muy distorsionados, pero si se realizan correctamente según lo dictan los estándares y las convenciones, darán lugar a un sistema que funcione correctamente.

En un sistema típico, por ejemplo, desde la cámara hasta el archivo JPEG y la pantalla, la función de la corrección gamma implicará la cooperación de varias partes. La cámara codifica su imagen renderizada en el archivo JPEG utilizando uno de los valores gamma estándar, como 2.2, para el almacenamiento y la transmisión. La computadora con pantalla puede usar un motor de administración de color para convertir a un espacio de color diferente (como el espacio de color γ = 1.8 de Macintosh anterior) antes de poner valores de píxeles en su memoria de video. El monitor puede hacer su propia corrección gamma para hacer coincidir la gamma CRT con la utilizada por el sistema de video. La coordinación de los componentes a través de interfaces estándar con valores gamma estándar predeterminados hace posible que dicho sistema se configure correctamente.

Pruebas de monitor sencillas

Imagen de prueba de corrección gamma. Solo válido en el zoom del navegador = 100%

Este procedimiento es útil para hacer que un monitor muestre imágenes aproximadamente correctamente, en sistemas en los que no se usan 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 de rayas 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 deben cambiarse después de completar la corrección 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 en ambas barras, 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. En muchos casos, los valores de corrección gamma para los colores primarios son ligeramente diferentes.

Configurar la temperatura de color o el punto blanco es el siguiente paso en el ajuste del monitor.

Antes de la corrección de gamma, se debe establecer la temperatura de color y gamma deseada mediante los controles del monitor. Con los controles de gamma, contraste y brillo, la corrección de 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 de brillo y contraste específico. 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 operación aún brinda una corrección gamma satisfactoria. Las pantallas nemáticas retorcidas (TN) con una profundidad de color de 6 bits por color primario tienen la calidad más baja. Las pantallas de 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 y 32 bits tienen 8 bits por color primario.

Con Microsoft Windows 7 y versiones posteriores, el usuario puede configurar la corrección gamma a través de la herramienta de calibración de color de pantalla dccw.exe u otros programas. Estos programas crean un archivo de perfil ICC y lo cargan de forma predeterminada. Esto facilita la gestión del color. Aumente el control deslizante gamma en el programa dccw hasta que la última área coloreada, a menudo el color verde, tenga el mismo brillo en el área cuadriculada y homogénea. Utilice el balance de color o los controles deslizantes de corrección de gamma de colores individuales 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 color correctamente después de salir 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 configurar el factor de corrección gamma (aplicado al valor gamma existente) emitiendo el comando xgamma -gamma 0.9 para configurar el factor de corrección 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 gamma y otras calibraciones de pantalla relacionadas se realizan a través de las Preferencias del sistema.

Escalado y combinación

La imagen de prueba solo es válida cuando se muestra "en bruto", es decir, sin escala (1:1 píxel a pantalla) y ajuste de color, en la pantalla. Sin embargo, también sirve para señalar otro problema generalizado en el software: muchos programas realizan el escalado en un espacio de color con gamma, en lugar de un espacio lineal físicamente correcto. En un espacio de color sRGB con una gamma aproximada de 2,2, la imagen debería mostrar un "2.2" resultado al 50% del tamaño, si el zoom se realiza linealmente. Jonas Berlin ha creado un "su software de escalado apesta/reglas" imagen basada en el mismo principio.

Además del escalado, el problema también se aplica a otras formas de reducción de resolución (reducción de escala), como el submuestreo de croma en Y′CbCr habilitado para gamma de JPEG. WebP resuelve este problema calculando los promedios de croma en el espacio lineal y luego volviéndolos a convertir a un espacio habilitado para gamma; se utiliza una solución iterativa para imágenes más grandes. El mismo "YUV agudo" (anteriormente "smart YUV") se usa en sjpeg. Kornelski proporciona una aproximación más simple mediante el promedio ponderado basado en luma. Este problema también afecta a la composición alfa, los degradados de color y la representación 3D.

Paradójicamente, al aumentar la muestra (aumentar la escala) de una imagen, el resultado se procesa de la forma "incorrecta" El espacio habilitado para rayos gamma tiende a ser más agradable estéticamente. Esto se debe a que los filtros de aumento de escala están ajustados para minimizar los artefactos de timbre en un espacio lineal, pero la percepción humana no es lineal y se aproxima mejor mediante gamma. Una forma alternativa de recortar los artefactos es usar una función de transferencia de luz sigmoidal, una técnica iniciada por el filtro LoHalo de GIMP y luego adoptada por madVR.

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. Tenga en cuenta, sin embargo, que en muchos campos de la ciencia esta cantidad se llama excitancia luminosa, en oposición a la intensidad luminosa, que es una cantidad diferente. Estas distinciones, sin embargo, son en gran medida irrelevantes para la compresión gamma, que es aplicable a cualquier tipo de escala similar a la intensidad lineal normalizada.

"Luminancia" puede significar varias cosas incluso dentro del contexto de video e imágenes:

Uno contrasta la luminancia relativa en el sentido del color (sin compresión gamma) con la luminancia en el sentido del video (con compresión gamma), y denota la luminancia relativa por Y y la luminancia por Y ′, el símbolo principal (′) que denota compresión gamma. Tenga en cuenta que la luminancia no se calcula directamente a partir de la luminancia, es la suma ponderada (algo arbitraria) de los componentes RGB comprimidos con gamma.

Del mismo modo, brillo a veces se aplica a varias medidas, incluidos los niveles de luz, aunque se aplica más correctamente 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 del primero; la letra mayúscula, Γ, es el nombre de (y el símbolo utilizado para) este último (como en Γ(x)). Para usar 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 etiquetado como gamma podría ser el valor de codificación o decodificación. Se debe tener cuidado para interpretar correctamente el valor como el que se va a aplicar para compensar o el que se va a compensar aplicando 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 inversa (1/2.2 en este caso), que es el valor real que debe aplicarse para codificar gamma.