stringtranslate.com

sRGB

sRGB es un espacio de color RGB (rojo, verde, azul) estándar que HP y Microsoft crearon en colaboración en 1996 para utilizar en monitores, impresoras y la World Wide Web . [2] Posteriormente fue estandarizado por la Comisión Electrotécnica Internacional (IEC) como IEC 61966-2-1:1999. [1] sRGB es el espacio de color estándar definido actualmente para la web y, por lo general, es el espacio de color asumido para imágenes que no están etiquetadas para un espacio de color ni tienen un perfil de color incorporado .

sRGB esencialmente codifica las especificaciones de visualización de los monitores de computadora en uso en ese momento, lo que contribuyó enormemente a su aceptación. sRGB utiliza los mismos colores primarios y punto blanco que el estándar ITU-R BT.709 para HDTV , [3] una función de transferencia (o gamma ) compatible con las pantallas CRT de la época y un entorno de visualización diseñado para adaptarse a las condiciones de visualización típicas del hogar y la oficina. .

definición sRGB

Gama

sRGB define las cromaticidades de los primarios rojo, verde y azul , los colores donde uno de los tres canales es distinto de cero y los otros dos son cero. La gama de cromaticidades que se puede representar en sRGB es el triángulo de color definido por estos primarios, que se establecen de manera que la gama de colores dentro del triángulo esté dentro de la gama de colores visibles para un ser humano con visión tricromática normal. Como ocurre con cualquier espacio de color RGB , para valores no negativos de R, G y B no es posible representar colores fuera de este triángulo.

Los primarios provienen de HDTV ( ITU-R BT.709 ), que son algo diferentes de los de los sistemas de televisión en color más antiguos ( ITU-R BT.601 ). Estos valores se eligieron para reflejar el color aproximado de los fósforos CRT de consumo en el momento de su diseño. Dado que las pantallas planas de la época generalmente estaban diseñadas para emular las características de los CRT, los valores también reflejaban la práctica predominante para otros dispositivos de visualización. [1]

Función de transferencia ("gamma")

Gráfico de las intensidades sRGB (rojo) y la pendiente de esta función en el espacio log-log (azul), que es la gamma instantánea. Por debajo de un valor comprimido de 0,04045 o una intensidad lineal de 0,00313, la curva es lineal, por lo que la gamma es 1. Detrás de la curva roja hay una curva negra discontinua que muestra una gamma exacta = ley de potencia de 2,2.
En una pantalla sRGB, cada barra sólida debe verse tan brillante como el tramado de rayas circundante. (Nota: debe verse en tamaño original, 100%)

La especificación IEC indica una pantalla de referencia con una gamma nominal de 2,2, que el grupo de trabajo sRGB determinó que era representativa de los CRT utilizados con los sistemas operativos Windows en ese momento. [2] La capacidad de mostrar imágenes sRGB directamente en un CRT sin necesidad de realizar ninguna búsqueda ayudó enormemente a la adopción de sRGB. [ cita necesaria ] Gamma también codifica de manera útil más datos cerca del negro, lo que reduce el ruido visible y los artefactos de cuantificación .

El estándar define además una función de transferencia optoelectrónica (OETF), que define la conversión de luz lineal o intensidad de señal en datos de imagen comprimidos gamma. Esta curva es aproximadamente la inversa de la de la pantalla , pero con algunos ajustes para evitar una pendiente infinita en cero. [4] Cerca de cero, una curva de potencia intercepta una sección de línea recta que conduce a cero. Esto evita la pendiente infinita en cero que ocurriría si se usara una curva de potencia simple.

En la práctica, se puede utilizar un puro con datos sRGB con muy poca diferencia. Esto mejora el rendimiento computacional y Adobe lo denomina "sRGB simple". Así es también como la mayoría de las pantallas transforman los datos de imagen codificados en la pantalla.

Calcular la función de transferencia

Una línea recta que pasa por (0,0) es y una curva gamma que pasa por (1,1) es

Si estos se unen en el punto ( X , X /Φ) entonces:

Para evitar un punto donde se encuentran los dos segmentos, las derivadas deben ser iguales en este punto:

Ahora tenemos dos ecuaciones. Si tomamos las dos incógnitas como X y Φ entonces podemos resolver para dar

Se eligieron los valores A = 0,055 y Γ = 2,4 [ ¿cómo? ] por lo que la curva se parecía mucho a la curva gamma-2.2. Esto da X ≈ 0,0392857, Φ ≈ 12,9232102 . Estos valores, redondeados a X = 0,03928, Φ = 12,92321, a veces describen la conversión sRGB. [5]

Los borradores de las publicaciones de los creadores de sRGB redondearon aún más Φ = 12,92 , [2], lo que resultó en una pequeña discontinuidad en la curva. Algunos autores adoptaron estos valores incorrectos, en parte porque el borrador estaba disponible gratuitamente y el estándar oficial IEC está detrás de un muro de pago. [6] Para el estándar, se mantuvo el valor redondeado de Φ y X se volvió a calcular como 0,04045 para hacer que la curva fuera continua, [a] lo que resultó en una discontinuidad de la pendiente desde 1/12,92 por debajo de la intersección hasta 1/12,70 por encima.

Entorno de visualización

Diagrama de cromaticidad xy CIE 1931 que muestra la gama del espacio de color sRGB (el triángulo). El límite curvo exterior es el locus espectral (o monocromático), con longitudes de onda mostradas en nanómetros (etiquetadas en azul). Esta imagen se dibuja usando sRGB, por lo que los colores fuera del triángulo no se pueden colorear con precisión y se han interpolado. El punto blanco D65 se muestra en el centro y el lugar planckiano se muestra con temperaturas de color etiquetadas en kelvins . D65 no es un cuerpo negro ideal de 6504 kelvin porque se basa en la luz diurna atmosférica filtrada.

La especificación sRGB supone un entorno de codificación (creación) con poca iluminación con una temperatura de color correlacionada (CCT) ambiental de 5003 K. Esto difiere de la CCT del iluminante ( D65 ). Usar D50 para ambos habría hecho que el punto blanco de la mayoría del papel fotográfico pareciera excesivamente azul. [8] [9] Los demás parámetros, como el nivel de luminancia, son representativos de un monitor CRT típico.

Para obtener resultados óptimos, la ICC recomienda utilizar el entorno de visualización codificado (es decir, iluminación tenue y difusa) en lugar del entorno de visualización típico, menos estricto. [2]

Transformación

De sRGB a CIE XYZ

Los valores de los componentes sRGB , , están en el rango de 0 a 1. Cuando se representan digitalmente como números de 8 bits, estos valores de los componentes de color están en el rango de 0 a 255 y deben dividirse (en una representación de punto flotante) entre 255 y convertir al rango de 0 a 1.

donde está , , o .

Estos valores expandidos con gamma (a veces llamados "valores lineales" o "valores de luz lineal") se multiplican por una matriz para obtener CIE XYZ (la matriz tiene una precisión infinita, no se permite ningún cambio en sus valores ni agregar valores distintos de ceros). :

Esta es en realidad la matriz para los primarios BT.709, no solo para sRGB, la segunda fila corresponde a los coeficientes luma BT.709-2 (BT.709-1 tenía un error tipográfico en estos coeficientes).

De CIE XYZ a sRGB

Los valores CIE XYZ deben escalarse de modo que la Y de D65 ("blanco") sea 1,0 ( X = 0,9505, Y = 1,0000, Z = 1,0890). Esto suele ser cierto, pero algunos espacios de color usan 100 u otros valores (como en CIELAB , cuando se usan puntos blancos específicos).

El primer paso en el cálculo de sRGB de CIE XYZ es una transformación lineal, que puede realizarse mediante una multiplicación de matrices. (Los valores numéricos a continuación coinciden con los de la especificación oficial sRGB, [1] [10] que corrigió pequeños errores de redondeo en la publicación original [2] de los creadores de sRGB, y asume el observador colorimétrico estándar de 2° para CIE XYZ. [2] ) Esta matriz depende de la profundidad de bits.

Estos valores RGB lineales no son el resultado final; Aún se debe aplicar la corrección gamma. La siguiente fórmula transforma los valores lineales en sRGB:

donde está , , o .

Estos valores comprimidos gamma (a veces llamados "valores no lineales") generalmente se recortan en el rango de 0 a 1. Este recorte se puede realizar antes o después del cálculo de gamma, o como parte de la conversión a 8 bits. Si se requieren valores en el rango de 0 a 255, por ejemplo para visualización de vídeo o gráficos de 8 bits, la técnica habitual es multiplicar por 255 y redondear a un número entero.

Uso

Comparación de algunas gamas de colores RGB y CMYK en un diagrama de cromaticidad xy CIE 1931

Debido a la estandarización de sRGB en Internet, en computadoras e impresoras, muchas cámaras digitales y escáneres de consumo de gama baja a media utilizan sRGB como espacio de color de trabajo predeterminado (o único disponible). Sin embargo, los CCD de consumo normalmente no están calibrados, lo que significa que aunque la imagen esté etiquetada como sRGB, no se puede concluir que la imagen sea sRGB con precisión de color.

Si se desconoce el espacio de color de una imagen y es un formato de imagen de 8 bits, sRGB suele ser el valor predeterminado, en parte porque los espacios de color con una gama más grande necesitan una mayor profundidad de bits para mantener una tasa de error de color baja (∆E) . Se puede utilizar un perfil ICC o una tabla de búsqueda para convertir sRGB a otros espacios de color. Los perfiles ICC para sRGB están ampliamente distribuidos, y ICC distribuye varias variantes de perfiles sRGB, [11] incluidas variantes para ICCmax, versión 4 y versión 2. Generalmente se recomienda la versión 4, pero la versión 2 todavía se usa comúnmente y es la más compatible con otro software, incluidos los navegadores. La versión 2 de la especificación del perfil ICC no admite oficialmente la codificación de curvas paramétricas por partes ("para"), aunque la versión 2 sí admite funciones simples de ley de potencia. [11] Sin embargo, las tablas de búsqueda se utilizan más comúnmente porque son computacionalmente más eficientes. [ cita necesaria ] Incluso cuando se utilizan curvas paramétricas, el software a menudo se reducirá a una tabla de búsqueda en tiempo de ejecución para un procesamiento eficiente. [ cita necesaria ]

Como la gama sRGB iguala o supera la gama de una impresora de inyección de tinta de gama baja , una imagen sRGB suele considerarse satisfactoria para la impresión doméstica. A veces, los profesionales de la edición impresa de alto nivel evitan sRGB porque su gama de colores no es lo suficientemente grande, especialmente en los colores azul-verde, para incluir todos los colores que se pueden reproducir en la impresión CMYK . Las imágenes destinadas a la impresión profesional mediante un flujo de trabajo totalmente gestionado en color (por ejemplo, salida de preimpresión ) a veces utilizan otro espacio de color como Adobe RGB (1998) , que se adapta a una gama más amplia. Estas imágenes utilizadas en Internet se pueden convertir a sRGB mediante herramientas de gestión de color que normalmente se incluyen con el software que funciona en estos otros espacios de color.

Las dos interfaces de programación dominantes para gráficos 3D, OpenGL y Direct3D , han incorporado soporte para la curva gamma sRGB.

OpenGL admite texturas con componentes de color codificados con gamma sRGB (introducidos por primera vez con la extensión EXT_texture_sRGB, [12] agregado al núcleo en OpenGL 2.1) y renderizado en framebuffers codificados con gamma sRGB (introducidos por primera vez con la extensión EXT_framebuffer_sRGB, [13] agregado al núcleo en OpenGL 3.0). El mapeo MIP correcto y la interpolación de texturas gamma sRGB tienen soporte directo de hardware en las unidades de texturizado de la mayoría de las GPU modernas (por ejemplo, nVidia GeForce 8 realiza la conversión de texturas de 8 bits a valores lineales antes de interpolar esos valores) y no tiene ninguna penalización de rendimiento. [14]

sYCC

La enmienda 1 a IEC 61966-2-1:1999, aprobada en 2003, incluye la definición de una representación de color Y′Cb′Cr′ denominada sYCC . Aunque los colores primarios RGB se basan en BT.709, las ecuaciones para la transformación de sRGB a sYCC y viceversa se basan en BT.601 . sYCC utiliza 8 bits para los componentes, lo que da como resultado un rango de aproximadamente 0 a 1 para Y; -0,5–0,5 para C. [15] La enmienda también contiene una codificación de 10 bits o más llamada bg-sRGB donde 0–1 se asigna a -384510 ... 639510 , y bg-sYCC usando el mismo número de bits para un rango de aproximadamente -0,75 a 1,25 para Y; -1–1 para C. [15]

Como esta conversión puede dar como resultado valores sRGB fuera del rango 0–1, la enmienda describe cómo aplicar la corrección gamma a valores negativos, aplicando f (− x ) cuando x es negativo (y f son las funciones lineales sRGB↔ descritas arriba). Esto también lo utiliza scRGB .

La enmienda también recomienda una matriz XYZ a sRGB de mayor precisión utilizando siete puntos decimales, para invertir con mayor precisión la matriz sRGB a XYZ (que permanece con la precisión que se muestra arriba):

. [15]

Referencias

  1. ^ La función todavía es ligeramente discontinua debido al valor prescrito de "0.0031308" para toLinear( X ). Sin embargo, la discontinuidad es demasiado pequeña para marcar una diferencia práctica. [7]
  1. ^ abcdef "IEC 61966-2-1: 1999". Tienda web IEC . Comisión Electrotécnica Internacional . Consultado el 3 de marzo de 2017 .
  2. ^ abcdefMichael Stokes; Mateo Anderson; Srinivasan Chandrasekar; Ricardo Motta (5 de noviembre de 1996). "Un espacio de color predeterminado estándar para Internet: sRGB, versión 1.10". Archivado desde el original el 3 de julio de 2023.
  3. ^ Charles A. Poynton (2003). Vídeo digital y HDTV: algoritmos e interfaces. Morgan Kaufman. ISBN 1-55860-792-7.
  4. ^ "La importancia de la terminología y la incertidumbre sRGB". Ciencia del color . 2015-12-05 . Consultado el 5 de noviembre de 2021 .
  5. ^ Phil Green y Lindsay W. MacDonald (2002). Ingeniería del color: lograr un color independiente del dispositivo. John Wiley e hijos. ISBN 0-471-48688-4.
  6. ^ Jon Y. Hardeberg (2001). Adquisición y reproducción de imágenes en color: enfoques colorimétricos y multiespectrales. Universal-Publishers.com. ISBN 1-58112-135-0.
  7. ^ Veranos, Jason. "Una mirada de cerca a la fórmula sRGB". entrópymine.com .
  8. ^ Rodney, Andrés (2005). Gestión del color para fotógrafos. Prensa focalizada. pag. 121.ISBN 978-0-240-80649-5.
  9. ^ "¿Por qué calibrar el monitor a D65 cuando la cabina de luz es D50?". X-Rite . Consultado el 11 de septiembre de 2022 .
  10. ^ "Cómo interpretar el espacio de color sRGB" (PDF) . color.org . Consultado el 17 de octubre de 2017 .
  11. ^ perfiles ab sRGB, ICC
  12. ^ "EXT_texture_sRGB". 24 de enero de 2007 . Consultado el 12 de mayo de 2020 .
  13. ^ "EXT_framebuffer_sRGB". 17 de septiembre de 2010 . Consultado el 12 de mayo de 2020 .
  14. ^ "GPU Gems 3: Capítulo 24. La importancia de ser lineal, sección 24.4.1". Corporación NVIDIA . Consultado el 3 de marzo de 2017 .
  15. ^ abc "IEC 61966-2-1:1999 Sistemas y equipos multimedia - Medición y gestión del color - Parte 2-1: Gestión del color - Espacio de color RGB predeterminado - sRGB: Enmienda 1". Comisión Electrotécnica Internacional . 2003.

Estándares

enlaces externos