Articulo de referencia

Corrección gamma

Efecto de la corrección gamma en una imagen: la imagen original se procesó con diferentes potencias, demostrando que las potencias mayores que 1 oscurecen las sombras, mientras ...

Efecto de la corrección gamma en una imagen: la imagen original se procesó con diferentes potencias, demostrando que las potencias mayores que 1 oscurecen las sombras, mientras que las menores que 1 aclaran las zonas oscuras. Sin embargo, esta no es la gamma real de la imagen.

La corrección gamma o gamma es una operación no lineal que se utiliza para codificar y decodificar la luminancia en vídeo o imágenes . [ 1 ]

La corrección gamma, en los casos más sencillos, se define mediante la siguiente expresión de ley de potencias :

Vafuera=AVenγ,{\displaystyle V_{\text{fuera}}=AV_{\text{in}}^{\gamma },}

donde el valor de entrada real no negativoVen{\displaystyle V_{\text{en}}}es elevado al poderγ{\displaystyle \gamma }y multiplicado por la constante A para obtener el valor de salida.Vafuera{\displaystyle V_{\text{salida}}}En el caso común de A = 1 , las entradas y salidas suelen estar en el rango 0–1.

Un valor gammaγ<1{\displaystyle \gamma <1}a veces se le llama codificación gamma , y ​​el proceso de codificación con esta no linealidad de ley de potencia compresiva se llama compresión gamma ; por el contrario, un valor gammaγ>1{\displaystyle \gamma >1}se denomina gamma de decodificación , y la aplicación de la no linealidad de ley de potencia expansiva se denomina 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 manera no lineal en que los humanos perciben la luz y el color. [ 1 ] 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, 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 los brillos 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 que 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 propósito 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. 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ídeo. Se necesita 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 en los primeros televisores. [ 5 ]

La película fotográfica tiene una capacidad mucho mayor para registrar sutiles diferencias de tonalidad que la que se puede reproducir en papel impreso. Del mismo modo, la mayoría de las pantallas de vídeo 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 considerable esfuerzo artístico en elegir 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 linealmente. 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 realizan transformaciones del espacio de color y transformaciones de renderizado. En particular, casi todos los espacios de color RGB estándar y los formatos de archivo 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 medidas de la escena, mediante una no linealidad en la reproducción tonal .

gamma generalizada

El concepto de gamma se puede aplicar a cualquier relación no lineal. Para la relación de ley de potenciasVafuera=Venγ{\displaystyle V_{\text{out}}=V_{\text{in}}^{\gamma }}, la curva en un gráfico log-log es una línea recta, con pendiente igual a gamma en todos los puntos (la pendiente está representada aquí por el operador de derivada ):

γ=dregistro(Vafuera)dregistro(Ven).{\displaystyle \gamma ={\frac {\mathrm {d} \log(V_{\text{out}})}{\mathrm {d} \log(V_{\text{in}})}}.}

Es decir, gamma puede visualizarse como la pendiente de la curva de entrada-salida cuando se representa en ejes logarítmicos. Para una curva de ley de potencias, esta pendiente es constante, pero la idea puede extenderse a cualquier tipo de curva, en cuyo caso gamma (estrictamente hablando, "gamma puntual" [ 7 ] ) se define como la pendiente de la curva en cualquier región particular.

Fotografía analógica

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 el logaritmo negativo de la transmitancia, en el eje vertical. Para una formulación de película y un método de procesamiento dados, 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 llama gamma de la película. La película negativa suele tener una gamma menor que 1; [ 9 ] [ 10 ] la película positiva (película de diapositivas, película de inversión) suele tener una gamma con un 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 generalmente no requiere corrección gamma adicional. Las señales de vídeo 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 la inversa exacta). Para las señales de televisión, los valores gamma son fijos y están definidos por los estándares de vídeo analógico. El sistema CCIR M , asociado con el color NTSC , utiliza gamma 2.2; los sistemas B / G , H , I , D / K , K1 , L , M y N , 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 computadoras, las imágenes se codifican con una gamma de aproximadamente 0,45 y se decodifican con la 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) se codifican explícitamente (es decir, contienen valores codificados con gamma, no intensidades lineales), al igual que los archivos de video (como MPEG ). El sistema puede gestionar opcionalmente ambos casos, mediante la gestión del color , si se requiere una mejor coincidencia con la gamma del dispositivo de salida.

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

El estándar de espacio de color sRGB utilizado en la mayoría de las cámaras, PC e impresoras no utiliza una no linealidad de ley de potencias simple como la descrita anteriormente, sino que presenta un valor 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 (el valor codificado es proporcional a la intensidad), por lo que γ = 1. La curva negra discontinua detrás de la curva roja es una curva de ley de potencias estándar con γ = 2,2 , para fines comparativos.

La corrección gamma en ordenadores se utiliza, por ejemplo, para mostrar correctamente una imagen de Apple con gamma = 1,8 en un monitor de PC con gamma = 2,2, modificando la gamma de la imagen. Otro uso consiste en ecualizar las gammas de los canales de color individuales para corregir las discrepancias entre monitores.

Información meta gamma

Algunos formatos de imagen permiten almacenar la gamma prevista de una imagen (de las transformaciones entre las muestras de imagen codificadas y la salida de luz) como metadatos , lo que facilita la corrección gamma automática. 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.

Históricamente, estas características han causado problemas, especialmente en la web. Para los colores HTML y CSS, así como para las imágenes JPG o GIF sin metadatos de perfil de color adjuntos, los navegadores populares enviaban valores numéricos de color a la pantalla sin gestión del color, lo que resultaba en una apariencia sustancialmente diferente entre dispositivos; sin embargo, esos mismos navegadores enviaban imágenes con gamma explícitamente configurada en los metadatos a través de la gestión del color, y también aplicaban una gamma predeterminada a las imágenes PNG con metadatos omitidos. Esto hacía imposible que las imágenes PNG coincidieran simultáneamente con los colores HTML o JPG sin etiquetar en todos los dispositivos. [ 15 ] [ 16 ] [ 17 ] 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). [ 18 ] [ 19 ]

Ley de potencia para visualización de vídeo

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

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 [ 20 ] utilizaron 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 (bastante cercano a la cifra de 2,2 citada para un subsistema de visualización típico), proporcionaba una codificación perceptiva 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 con compresión gamma lineal) y una escala con una escala de intensidad que aumenta linealmente (salida de luminancia lineal).

En la mayoría de las pantallas (aquellas con una gamma de aproximadamente 2,2), se observa que la escala de intensidad lineal presenta un gran salto en el brillo percibido entre los valores de intensidad 0,0 y 0,1, mientras que los escalones en el extremo superior de la escala son apenas perceptibles. La escala codificada con gamma, cuya intensidad aumenta de forma no lineal, mostrará escalones mucho más uniformes en el brillo percibido.

Un CRT, por ejemplo, convierte una señal de vídeo en luz de forma no lineal, porque la intensidad (brillo) del cañón de electrones en función del voltaje de vídeo aplicado es no lineal. La intensidad de la luz I está relacionada con el voltaje de la fuente V s según

IVsγ,{\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 vídeo en los ordenadores suelen ajustar la 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, consideremos el ejemplo de un monitor CRT monocromo. En este caso, cuando se introduce una señal de vídeo de 0,5 (que representa un gris medio) en la pantalla, la intensidad o brillo es de aproximadamente 0,22 (lo que resulta en 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 de nuevo, el espectador vea el brillo correcto. La inversa de la función anterior es

VdoVs1/γ,{\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 un voltaje. En nuestro ejemplo de CRT, 1/ γ es 1/2,2 ≈ 0,45.

Un tubo de rayos catódicos (CRT) a color recibe tres señales de vídeo (rojo, verde y azul) y, en general, cada color tiene su propio valor gamma, denotado como γ R , γ G o γ B . Sin embargo, en sistemas de visualización sencillos, se utiliza un único valor de γ para los tres colores.

Otros dispositivos de visualización tienen diferentes valores de gamma: por ejemplo, la pantalla de una Game Boy Advance tiene un valor de 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 la tensión 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, dichas pantallas aplican una corrección a la tensión 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 potencias, o su inversa, tiene una pendiente infinita en cero. Esto genera problemas al convertir desde y hacia un espacio de color gamma. Por esta razón, la mayoría de los espacios de color definidos formalmente, como sRGB, definen un segmento de línea recta cerca de cero y añaden la elevación de x + K (donde K es una constante) a una potencia para que la curva tenga una pendiente continua. Esta línea recta no representa el comportamiento del CRT, pero sí hace que el resto de la curva se ajuste mejor al efecto de la luz ambiental sobre el CRT. En tales expresiones, el exponente no es gamma; por ejemplo, la función sRGB utiliza una potencia de 2,4, pero se asemeja más a una función de ley de potencias con un exponente de 2,2, sin una parte lineal.

Métodos para realizar la corrección gamma de la pantalla en informática

Se pueden manipular hasta cuatro elementos para lograr la codificación gamma y corregir la imagen que se mostrará en una pantalla de ordenador típica con gamma de 2,2 o 1,8:

  • Los valores de intensidad de los píxeles en un archivo de imagen dado; es decir, los valores binarios de los píxeles se almacenan en el archivo de tal manera que representan 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 digital (como los de una película en DVD ) para minimizar el paso de decodificación gamma durante la reproducción y maximizar la calidad de la imagen para el almacenamiento dado. De manera similar, los valores de los píxeles en los formatos de archivo de imagen estándar suelen estar compensados ​​gamma, ya sea para gamma sRGB (o equivalente, una aproximación de las gammas típicas de los monitores antiguos) o según alguna gamma especificada por metadatos como un perfil ICC . Si la gamma de codificación no coincide con la 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 con gamma directamente en la memoria de vídeo (cuando se utilizan los modos highcolor / truecolor ) o en los registros de hardware CLUT (cuando se utilizan los modos de color indexados ) del adaptador de pantalla . Estos valores controlan los convertidores digital-analógico (DAC) que envían los voltajes proporcionales a la pantalla. Por ejemplo, al usar color RGB de 24 bits (8 bits por canal), escribir un valor de 128 (punto medio redondeado del rango de 0 a 255 bytes ) en la memoria de vídeo envía un voltaje proporcional de ≈ 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 con gamma para escribir un valor cercano a 187 en lugar de 128 mediante el software de renderizado.
  • Los adaptadores de pantalla modernos tienen tablas de búsqueda de calibración (CLUT) dedicadas, que se pueden cargar una sola vez con la tabla de búsqueda de corrección gamma adecuada para modificar digitalmente las señales codificadas antes de que los convertidores digital-analógico (DAC) emitan voltajes al monitor. [ 21 ] Configurar estas tablas correctamente se denomina calibración de hardware . [ 22 ]
  • Algunos monitores modernos permiten al usuario manipular el comportamiento de la gamma (como si se tratara simplemente de otro ajuste de brillo/contraste), codificando las señales de entrada antes de que se muestren en pantalla. Esta también es una técnica de calibración por 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 valor gamma específico para sus codificaciones de entrada y/o salida. [ 22 ] Las etapas pueden cambiar el valor gamma para corregir diferentes requisitos, y finalmente el dispositivo de salida realizará la decodificación o corrección gamma según sea necesario, para obtener un dominio de intensidad lineal. Todos los métodos de codificación y corrección pueden superponerse arbitrariamente, sin que los diferentes elementos tengan conocimiento mutuo de este hecho; si se realizan incorrectamente, estas conversiones pueden generar resultados muy distorsionados, pero si se realizan correctamente según lo dictado por las normas y convenciones, darán como resultado un sistema que funcione correctamente.

En un sistema típico, por ejemplo, desde la cámara hasta el archivo JPEG y la pantalla, la corrección gamma implica la interacción de varios componentes. La cámara codifica la imagen en el archivo JPEG utilizando uno de los valores gamma estándar, como 2.2, para su almacenamiento y transmisión. El ordenador de visualización puede usar un motor de gestión de color para convertir la imagen a un espacio de color diferente (como el espacio de color γ = 1.8 de los Macintosh antiguos ) antes de almacenar los valores de los píxeles en su memoria de vídeo. El monitor puede realizar su propia corrección gamma para igualar la gamma del CRT a la utilizada por el sistema de vídeo. La coordinación de los componentes mediante interfaces estándar con valores gamma predeterminados permite configurar correctamente dicho sistema.

Pruebas de monitorización sencillas

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

Este procedimiento resulta útil para que un monitor muestre las imágenes de forma 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 está pensada para ser el promedio de las intensidades del tramado punteado circundante; por lo tanto, idealmente, las áreas sólidas y los tramados deberían aparecer con el mismo brillo en un sistema correctamente ajustado a la gamma indicada.

Normalmente, una tarjeta gráfica permite controlar el contraste y el brillo, mientras que un monitor LCD transmisivo permite controlar el contraste, el brillo y la retroiluminación . El contraste y el brillo de la tarjeta gráfica y del monitor influyen en la gamma efectiva y no deben modificarse una vez finalizada la corrección gamma.

Las dos barras superiores de la imagen de prueba ayudan a ajustar los valores correctos de contraste y brillo. Cada barra contiene ocho números de tres dígitos. Un buen monitor con la calibración adecuada muestra los seis números de la derecha en ambas barras; un monitor económico solo muestra cuatro.

Dado un valor gamma deseado para el sistema de visualización, si el observador ve el mismo brillo en la parte a cuadros y en la parte homogénea de cada área coloreada, entonces la corrección gamma es aproximadamente correcta. [ 23 ] [ 24 ] [ 25 ] En muchos casos, los valores de corrección gamma para los colores primarios son ligeramente diferentes.

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

Antes de la corrección gamma, se debe configurar la gamma y la temperatura de color deseadas mediante los controles del monitor. Al usar 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, con un nivel de brillo y contraste específicos. 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 proporciona una corrección gamma satisfactoria. Las pantallas de cristal líquido nemático trenzado (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, gestión de color por hardware y permiten la calibración por hardware con un colorímetro tristí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. [ 26 ] [ 27 ] [ 28 ] Estos programas crean un archivo de perfil ICC y lo cargan como predeterminado. Esto facilita la gestión del color . [ 29 ] 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 a cuadros y homogénea. Use el balance de color o los controles deslizantes de corrección gamma de colores individuales en los programas de corrección gamma para ajustar los otros dos colores. Algunos controladores de tarjetas gráficas antiguos no cargan la tabla de búsqueda de color correctamente después de salir del modo de espera o hibernación y muestran una gamma incorrecta. En este caso, actualice el controlador de la tarjeta gráfica.

En algunos sistemas operativos que utilizan el sistema X Window , se puede ajustar el factor de corrección gamma (aplicado al valor gamma existente) mediante el comando xgamma -gamma 0.9para establecer el factor de corrección gamma en 0,9 y xgammapara consultar su valor actual (el valor predeterminado es 1,0). En macOS , la calibración gamma y otras calibraciones de pantalla relacionadas se realizan a través de las Preferencias del Sistema.

Escalado y mezcla

En general, las operaciones con valores de píxeles deben realizarse en "luz lineal" (gamma 1). Eric Brasseur analiza el tema en detalle y proporciona imágenes de prueba. [ 30 ] Estas 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 están construidas de tal manera que presentan una apariencia drásticamente diferente cuando se submuestrean incorrectamente. Jonas Berlin ha creado una imagen de "tu software de escalado es pésimo/excelente" basada en este principio. [ 31 ]

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 . [ 32 ] WebP resuelve este problema calculando los promedios de croma en el espacio lineal y luego convirtiéndolos de nuevo 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 un promedio ponderado basado en luminancia. [ 33 ] La composición alfa , los gradientes de color y la representación 3D también se ven afectados por este problema. [ 34 ] [ 35 ]

Paradójicamente, al aumentar la resolución (escalar) una imagen, el resultado procesado en un espacio de color gamma "incorrecto" (no físico) suele ser más agradable estéticamente. [ 36 ] Esto se debe a que los filtros de remuestreo con lóbulos negativos como Mitchell-Netravali y Lanczos crean artefactos de anillo linealmente, aunque la percepción humana no es lineal y se aproxima mejor mediante gamma. (Emular el "retroceso", que motiva el submuestreo en luz lineal (gamma=1), no se aplica al aumentar la resolución). Un método relacionado para reducir la visibilidad de los artefactos de anillo consiste en utilizar una función de transferencia de luz sigmoidal , como la desarrollada por ImageMagick y el filtro LoHalo de GIMP , y adaptada al aumento de resolución de vídeo por madVR , AviSynth y Mpv . [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ]

Invertir una imagen de alto contraste (como texto) mediante la multiplicación 1-x se ve correctamente (mismo grosor de las letras) en un espacio gamma. Además, varias de las operaciones de Photoshop (superposición, luz dura, luz suave, etc.) se diseñaron para funcionar en un espacio gamma y se ven incorrectas en un espacio lineal. Estas funciones deben ajustarse para funcionar en un espacio gamma o lineal diferente. Los programadores también deben tener en cuenta si la premultiplicación por el canal alfa se realizó antes o después de la conversión al espacio almacenado, y si el canal alfa en sí mismo está corregido linealmente o mediante corrección gamma.

Terminología

El término intensidad se refiere estrictamente a la cantidad de luz emitida por unidad de tiempo y por unidad de superficie, en unidades de lux . Cabe señalar, sin embargo, que en muchos campos de la ciencia esta magnitud se denomina emitancia luminosa , en contraposición a la intensidad luminosa , que es una magnitud diferente. Estas distinciones, no obstante, 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 /m2 ) , teniendo en cuenta la sensibilidad del ojo humano dependiente de la longitud de onda (la curva fotópica );
  • La luminancia relativa es la luminancia relativa a un nivel de blanco, utilizada en la codificación del 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 ′, donde el símbolo prima (′) denota la compresión gamma. [ 42 ] Nótese que la luma no se calcula directamente a partir de la luminancia, sino que es la suma ponderada (algo arbitraria) de los componentes RGB comprimidos con gamma. [ 1 ]

Del mismo modo, el brillo se aplica a veces a diversas medidas, incluidos los niveles de luz, aunque en realidad se refiere más bien a un atributo visual subjetivo.

La corrección gamma es un tipo de función potencial cuyo exponente es la letra griega gamma ( γ ). No debe confundirse con la función gamma matemática . La gamma minúscula, γ , es un parámetro de la primera; la letra mayúscula, Γ, es el nombre (y símbolo) de la segunda (como en Γ( x )). Para usar el término "función" junto con la corrección gamma, se puede evitar la confusión diciendo "función potencial generalizada".

Sin contexto, un valor etiquetado como gamma podría ser tanto el valor de codificación como el de decodificación. Es fundamental interpretar correctamente este valor, ya sea el que se debe aplicar para compensar o el que se debe compensar aplicando su inverso. En el lenguaje común, a menudo se utiliza 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 debe aplicarse para codificar gamma.

Véase también

Referencias

  1. 1 2 3 4 5 6 Charles A. Poynton (2003). Video digital y HDTV: algoritmos e interfaces . Morgan Kaufmann. págs.  260, 630. ISBN 1-55860-792-7.
  2. "Especificación PNG 13. Apéndice: Tutorial de corrección gamma" . W3C. 1 de octubre de 1996. Consultado el 3 de diciembre de 2018. ¿ Qué es la corrección gamma?
  3. 1 2 Charles Poynton (2010). Respuestas frecuentes sobre Gamma.
  4. Erik Reinhard; Wolfgang Heidrich; Paul Debevec; Sumanta Pattanaik; Greg Ward; Karol Myszkowski (2010). High Dynamic Range Imaging: Acquisition, Display, and Image-Based Lighting . Morgan Kaufmann. p. 82. ISBN  9780080957111.
  5. McKesson, Jason L. "Capítulo 12. Rango dinámico: linealidad y gamma" . Aprendizaje de programación moderna de gráficos 3D . Archivado del original el 18 de julio de 2013. Recuperado el 11 de julio de 2013 .
  6. Peter Hodges (2004). Introducción a la medición de vídeo y audio (3.ª ed.). Elsevier. pág. 174. ISBN   978-0-240-80621-1.
  7. R. W. G. Hunt, La reproducción del color , 6.ª ed., pág. 48.
  8. Kodak, "Sensitometría básica y características de la película"Archivado el 20 de agosto de 2012 en Wayback Machine : "Una curva característica es como la huella dactilar de una película".
  9. 1 2 "Películas Kodak Professional Tri-X 320 y 400" . Eastman Kodak Company . Mayo de 2007. Archivado del original (PDF) el 2 de agosto de 2009. Consultado el 3 de enero de 2015 .
  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.kodak.com . Kodak . Consultado el 29 de enero de 2019 .
  12. "11A: Características de los sistemas para televisión monocromática y en color". Informes del CCIR, 1990: También Decisiones : XVII Asamblea Plenaria, Düsseldorf (PDF) . Comité Consultivo Internacional de Radiocomunicaciones. 1990. 
  13. Rec. ITU-R BT.470-6 - Sistemas de televisión convencionales (PDF) . ITU-R. 1998. pág. 9. 
  14. "Especificación de Portable Network Graphics (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 PNG Gamma"" . hsivonen.fi . Consultado el 25-01-2021 .
  16. Nicol, Jonathan (diciembre de 2006). "Arreglando PNG Gamma" .
  17. Roelofs, Greg (21 de agosto de 2005). "Prueba de consistencia gamma del navegador" . www.libpng.org . Consultado el 25 de enero de 2020 .
  18. "Página de prueba gamma: PNG con etiquetas gamma (1/1.6) en colores HTML" . www.libpng.org . Consultado el 26 de julio de 2023 .
  19. "Prueba gamma del navegador" .
  20. 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 de Imágenes en Color de IS&T/SID, pág. 8-13 (1998).
  21. SetDeviceGammaRamp , la API de Win32 para descargar rampas gamma arbitrarias al hardware de visualización.
  22. 1 2 Jonathan Sachs (2003). Gestión del color. Digital Light & Color. Archivado el 4 de julio de 2008 en Wayback Machine.
  23. Koren, Norman. "Calibración del monitor y gamma" . Consultado el 10 de diciembre de 2018. El siguiente gráfico permite ajustar el nivel de negro (brillo) y estimar la gamma de la pantalla en un rango de 1 a 3 con una precisión [ sic ] mejor que 0,1.
  24. Nienhuys, Han-Kwang (2008). "Calibración gamma" . Recuperado el 30 de noviembre de 2018. La razón para usar 48% en lugar de 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 gamma.
  25. Andrews, Peter. "La página de calibración del monitor y evaluación de gamma" . Recuperado 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.
  26. "Obtén la mejor visualización en tu monitor: calibra tu pantalla" . Microsoft . Consultado el 10 de diciembre de 2018. Si dispones de un dispositivo y software de calibración de pantalla, es recomendable utilizarlos en lugar de la Calibración de color de la pantalla, ya que te proporcionarán mejores resultados de calibración.
  27. 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 necesidad de comprar costosos equipos.
  28. Walters, Mike. "Asistente de calibración de monitor" . Consultado el 10 de diciembre de 2018. Un sencillo asistente para crear perfiles de color para su monitor.
  29. "Acerca de la administración del color" . Microsoft . Consultado el 10 de diciembre de 2018. Normalmente, Windows se encarga de esto automáticamente .
  30. Brasseur, Eric (agosto de 2007). "Error 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 asume un gamma de 1,0 cuando en realidad es de 2,2". Muchos filtros, complementos y scripts cometen el mismo error.
  31. Brasseur, Eric. "Error gamma en el escalado de imágenes, Agradecimientos" . Jonas Berlin envió esta imagen. Redúzcala a escala 1:2 con su software...
  32. Chan, Glenn (mayo de 2008). "Hacia un mejor submuestreo de croma: ganador del premio SMPTE Student Paper Award 2007" . SMPTE Motion Imaging Journal . 117 (4): 39– 45. doi : 10.5594/J15100 .
  33. "Submuestreo de croma con corrección gamma · Problema n.° 193 · mozilla/mozjpeg" . GitHub .
  34. Archivado en Ghostarchivey la Wayback Machine: Minute Physics (20 de marzo de 2015). "El color de la computadora está roto" . YouTube .
  35. Novak, John (21 de septiembre de 2016). "Lo que todo programador debería saber sobre gamma" .
  36. Nicolas Robidoux. "Re: Ampliar con sRGB, RGB, LAB, LUV, XYZ, sigmoidal...?" . Servidor de discurso 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 claros exagerados. Si lo piensas un minuto, esto tiene todo el sentido, porque los espacios de color perceptuales empaquetan muchos bits en el extremo más oscuro del espectro de intensidad y "ahuecan" el extremo más claro, para imitar el SVH (Sistema Visual Humano). Entonces, 1 unidad de sobreimpulso oscuro te hace menos "lejos" en sRGB que en RGB lineal, pero 1 unidad de sobreimpulso claro te hace menos "lejos" en RGB lineal que en sRGB.
  37. Anthony Thyssen. "Redimensionamiento mediante un espacio de color sigmoidal" . imagemagick.org . Se ha desarrollado una nueva técnica que, en lugar de intentar redimensionar imágenes en un espacio de color lineal, las redimensiona en un espacio de color modificado mediante el operador modificador de color sigmoidal (-sigmoidal-contrast). Esto puede reducir el recorte de artefactos de halo o de anillo extremos que pueden aparecer en bordes muy definidos.
  38. "GNOME/gegl: gegl-sampler-lohalo.c" . GitHub . La sigmoidización fue inventada por N. Robidoux como un método para minimizar los picos y valles que surgen al filtrar con un kernel con un lóbulo negativo adicional. 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.
  39. Mathias Rauen. "madVR - renderizador de vídeo de alta calidad (asistido por GPU)" . forum.doom9.org . Ya he implementado tu función sigmoide "stretching" y parece funcionar bien, por lo que puedo ver.
  40. "Herramientas de tramado" . Wiki de AviSynth . Dither_sigmoid_inverse aplica la curva sigmoide inversa a un clip en luminancia lineal para reducir el efecto de anillo al redimensionarlo. Dither_sigmoid_direct convierte un clip de nuevo a luminancia lineal. Los canales de croma permanecen intactos.
  41. "mpv-player: options.rst" . GitHub . Al aumentar la resolución, utilice una transformación de color sigmoidal para evitar que se acentúen los artefactos de anillo. Activado por defecto. 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 LINEAR se ejecuta en ambos casos).
  42. 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 Gamma
  • Rehabilitación de Gamma por Charles Poynton
  • Preguntas frecuentes sobre Gamma
  • CGSD – Página principal 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 corrección gamma. Última actualización: 1 de marzo de 2012, 00:59:45.
  • Un espacio de color estándar predeterminado para Internet – sRGB – define y explica la gamma de visualización , la gamma de la cámara , la gamma del CRT , la gamma de la LUT y la gamma de la pantalla.
  • Alvy Ray Smith (1 de septiembre de 1995). Corrección gamma (PDF) (Memorando técnico 9). Microsoft .
  • Error gamma en el escalado de imágenes por Eric Brasseur
  • LO QUE TODO PROGRAMADOR DEBE 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
  • Patrón de prueba de monitorización para una correcta corrección gamma (por Norman Koren)
  • QuickGamma