sRGB es un espacio de color estándar [2] RGB (rojo, verde, azul) que HP y Microsoft crearon conjuntamente en 1996 para usar en monitores, impresoras y la Web . Posteriormente fue estandarizado por la IEC como IEC 61966-2-1: 1999. [1] Su predecesor NIF RGB se usó en FlashPix y era casi el mismo. [3] A menudo es el espacio de color "predeterminado" para las imágenes que no contienen información de espacio de color, especialmente si los píxeles de las imágenes se almacenan en números enteros de 8 bits por canal de color .
RGB estándar | |
Nombre nativo |
|
---|---|
Estado | Publicado |
Publicado por primera vez | 18 de octubre de 1999 [1] |
Organización | IEC [1] |
Comité | TC / SC : TC 100 / TA 2 [1] |
Dominio | Espacio de color , modelo de color |
Abreviatura | sRGB |
Sitio web | tienda web |
sRGB utiliza los primarios ITU-R BT.709 , al igual que en los monitores de estudio y HDTV , [4] una función de transferencia ( gamma ) típica de los CRT y un entorno de visualización diseñado para adaptarse a las condiciones de visualización típicas del hogar y la oficina. Esta especificación permitió que sRGB se mostrara directamente en los monitores CRT típicos de la época, lo que ayudó enormemente a su aceptación. sYCC usa la matriz BT.601 YCbCr para codificar en un espacio de gama extendida, los valores negativos de R'G'B 'se decodifican usando la función de transferencia extendida.
La gama sRGB
Cromaticidad | rojo | Verde | Azul | punto blanco |
---|---|---|---|---|
X | 0,6400 | 0.3000 | 0,1500 | 0.3127 |
y | 0.3300 | 0,6000 | 0.0600 | 0.3290 |
Y | 0.2126 | 0,7152 | 0.0722 | 1,0000 |
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 pueden representar en sRGB es el triángulo de color definido por estos primarios. Al igual que 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, que está dentro del rango de colores visibles para un humano con visión tricromática normal.
Las primarias provienen de HDTV ( Rec. 709 ), que a su vez se basa en la televisión en color ( Rec. 601 ). Estos valores reflejan el color aproximado de los fósforos CRT del consumidor.
La función de transferencia sRGB ("gamma")
sRGB también define una función de transferencia no lineal entre la intensidad de estos primarios y el número real almacenado. La curva es similar a la respuesta gamma de una pantalla CRT . Esta conversión no lineal significa que sRGB es un uso razonablemente eficiente de los valores en un archivo de imagen basado en números enteros para mostrar niveles de luz discernibles por humanos.
A diferencia de la mayoría de los otros espacios de color RGB, la gamma sRGB no se puede expresar como un solo valor numérico. La gamma general es aproximadamente 2,2, que consta de una sección lineal (gamma 1,0) casi negra y una sección no lineal en otros lugares que implica un exponente de 2,4 y una gamma (pendiente de la salida logarítmica frente a la entrada logarítmica) que cambia de 1,0 a aproximadamente 2,3. El propósito de la sección lineal es que la curva no tenga una pendiente infinita en cero, lo que podría causar problemas numéricos.
Especificación de la transformación
La transformación hacia adelante (CIE XYZ a sRGB)
Los valores CIE XYZ se deben escalar de modo que la Y de D65 ("blanco") sea 1.0 ( X , Y , Z = 0.9505, 1.0000, 1.0890). Esto suele ser cierto, pero algunos espacios de color utilizan 100 u otros valores (como en CIELAB , cuando se utilizan puntos blancos especificados).
El primer paso en el cálculo de sRGB de CIE XYZ es una transformación lineal, que puede llevarse a cabo mediante una multiplicación de matrices. (Los valores numéricos a continuación coinciden con los de la especificación oficial sRGB, [1] [5] 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 2 ° para CIE XYZ. [2] )
En realidad, es una matriz para las primarias BT.709, no solo para sRGB (y la segunda fila de sRGB a XYZ en el siguiente párrafo son los coeficientes de la matriz BT.709-2 ):
Estos valores RGB lineales no son el resultado final; Aún debe aplicarse la corrección de gamma. La siguiente fórmula transforma los valores lineales en sRGB:
- dónde es , , o .
Estos valores comprimidos por 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 video o gráficos de 8 bits, la técnica habitual es multiplicar por 255 y redondear a un número entero.
La transformación inversa (sRGB a CIE XYZ)
Nuevamente los valores del componente sRGB , , están en el rango de 0 a 1. (Los valores en el rango de 0 a 255 se pueden dividir simplemente por 255.0).
- dónde es , , o .
Estos valores expandidos por gamma (a veces llamados "valores lineales" o "valores de luz lineal") se multiplican por una matriz para obtener CIE XYZ:
Transformación de gama extendida sYCC
Como se definió en la Enmienda 1 a IEC 61966-2-1: 1999, la transformación YCbCr usa la matriz BT.601 , pero con 4 lugares decimales.
.
sYCC también amplía la función de transferencia sRGB. Es de gama extendida (en comparación con sRGB), [6] al igual que xvYCC : valores de YCbCr fuera de gama que se asignan a valores negativos, y se puede utilizar para ampliar aún más la gama utilizando la misma matriz XYZ sRGB. Sin embargo, Cb y Cr que están fuera del rango limitado 16-240 no se usan, como se usan en xvYCC, por lo que pueden ser de rango completo y rango limitado.
Se puede usar en JPEG (parte del estándar JEITA CP-3451 ) y JPEG 2000 , que usan solo sYCC de rango completo. HDMI puede usar el formato YCbCr digital sYCC (en rango completo o limitado), y Nvidia, AMD e Intel lo admiten, si la pantalla lo indica en el bloque de colorimetría de EDID . Los valores 0 y 255 están reservados en la interfaz HDMI para formatos de rango limitado (RGB y YCbCr). [7]
La Enmienda 1 también recomienda utilizar la matriz XYZ a RGB con mayor precisión (7 puntos decimales) que tenga suficiente precisión para el caso de 16 bits por canal. Debe invertir los mismos 4 lugares decimales de la matriz RGB a XYZ a 7 lugares decimales, no definir más la matriz RGB a XYZ:
. [8]
Teoría de la transformación
A menudo se dice casualmente que la gamma de decodificación para datos sRGB es 2.2, sin embargo, la transformación anterior muestra un exponente de 2.4. Esto se debe a que el efecto neto de la descomposición por partes es necesariamente una gamma instantánea cambiante en cada punto del rango: va de gamma = 1 en cero a una gamma de 2.4 en la intensidad máxima con un valor mediano cercano a 2.2. La transformación fue diseñada para aproximarse a una gamma de aproximadamente 2.2, pero con una porción lineal cercana a cero para evitar tener una pendiente infinita en K = 0, lo que puede causar problemas numéricos. La condición de continuidad de la curva, que se define anteriormente como una función por partes de, es
Resolviendo con y el valor estándar produce dos soluciones, ≈ o . La norma IEC 61966-2-1 utiliza el valor redondeado, cuyos rendimientos . Sin embargo, si imponemos la condición de que las pendientes coincidan también, entonces debemos tener
Ahora tenemos dos ecuaciones. Si consideramos las dos incógnitas y entonces podemos resolver para dar
- ,
Sustituyendo o y da y , con el correspondiente umbral de dominio lineal en . Estos valores, redondeados a, y , a veces describen la conversión sRGB. [9] Publicaciones de los creadores de sRGB [2] redondeadas a y , por eso (esto también se usó en FlashPix ), lo que resultó en una pequeña discontinuidad en la curva. Algunos autores adoptaron estos valores a pesar de la discontinuidad. [10] Para el estándar, el valor redondeado fue guardado y el El valor se volvió a calcular para hacer que la curva resultante sea continua, como se describió anteriormente, lo que resultó en una discontinuidad de la pendiente desde 12,92 por debajo de la intersección hasta 12,70 por encima.
Entorno de visualización
Parámetro | Valor |
---|---|
Nivel de luminancia de la pantalla | 80 cd / m 2 |
Punto blanco iluminante | x = 0,3127, y = 0,3290 (D65) |
Reflectancia envolvente de la imagen | 20% (~ gris medio) |
Codificación del nivel de iluminación ambiental | 64 lux |
Codificación del punto blanco ambiental | x = 0,3457, y = 0,3585 (D50) |
Destello de visualización de codificación | 1,0% |
Nivel de iluminancia ambiental típico | 200 lux |
Punto blanco ambiental típico | x = 0,3457, y = 0,3585 (D50) |
Destello de visión típico | 5,0% |
La especificación sRGB asume un entorno de codificación (creación) con poca luz con una temperatura de color correlacionada con el ambiente (CCT) de 5003 K. Esto difiere del CCT del iluminante (D65). El uso de D50 para ambos habría hecho que el punto blanco de la mayoría de los papeles fotográficos pareciera excesivamente azul. [11] Los otros parámetros, como el nivel de luminancia, son representativos de un monitor CRT típico.
Para obtener resultados óptimos, ICC recomienda utilizar el entorno de visualización de codificación (es decir, iluminación tenue y difusa) en lugar del entorno de visualización típico menos estricto. [2]
Uso
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 usan sRGB como el espacio de color de trabajo predeterminado (o el único disponible). Sin embargo, los CCD de nivel de consumidor generalmente no están calibrados, lo que significa que, aunque la imagen se etiqueta 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 se trata de un formato de imagen de 8 a 16 bits, asumir que está en el espacio de color sRGB es una opción segura. Puede utilizarse un perfil ICC ; el ICC distribuye tres de estos perfiles: [12] dos perfiles que cumplen con la versión 4 de la especificación ICC, que recomiendan, y un perfil que se ajusta a la versión 2, que todavía se usa comúnmente. La versión 2 del perfil ICC no admite la codificación de curvas paramétricas, [13] es por eso que para aproximar el EOTF usa 1024 puntos 1DLUT, lo que puede no ser obvio al ver que es por partes.
Como la gama sRGB alcanza o supera la gama de una impresora de inyección de tinta de gama baja , una imagen sRGB a menudo se considera satisfactoria para uso doméstico e impresión. En ocasiones, 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 por el color, por ejemplo, la 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 utilizando herramientas de gestión del 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 soportes texturas con componentes de color codificado gamma sRGB (introducido primero con extensión EXT_texture_sRGB, [14] añadido al núcleo en OpenGL 2.1) y de la representación en sRGB codificada gamma framebuffers (introducido por primera vez con la extensión EXT_framebuffer_sRGB, [15] añadido a la central en OpenGL 3.0). Direct3D admite tanto texturas como renderizado comenzando con DirectX 9. [ cita requerida ] El mapeo correcto e interpolación de texturas gamma sRGB tiene soporte de hardware directo en las unidades de texturizado de la mayoría de las GPU modernas (por ejemplo, nVidia GeForce 8 realiza la conversión de textura de 8 bits a valores lineales antes de interpolar esos valores), y no tiene ninguna penalización de rendimiento. [dieciséis]
Ver también
- Espacio de color RGB
- scRGB
- Espacio de color Adobe RGB
Referencias
- ^ a b c d e "IEC 61966-2-1: 1999" . Tienda web IEC . Comisión Electrotécnica Internacional . Consultado el 3 de marzo de 2017 .
- ^ a b c d e Michael Stokes; Matthew Anderson; Srinivasan Chandrasekar; Ricardo Motta (5 de noviembre de 1996). "Un espacio de color predeterminado estándar para Internet: sRGB, versión 1.10" .
- ^ "Especificación del formato FlashPix" (PDF) .
- ^ Charles A. Poynton (2003). Vídeo digital y HDTV: algoritmos e interfaces . Morgan Kaufmann. ISBN 1-55860-792-7.
- ^ "Cómo interpretar el espacio de color sRGB" (PDF) . color.org . Consultado el 17 de octubre de 2017 .
- ^ " " Nuevo "Espacio de color de gama extendida para aplicaciones de vídeo" (PDF) . 2017-08-29. Archivado (PDF) desde el original el 29 de agosto de 2017 . Consultado el 31 de marzo de 2021 .
- ^ "Un perfil de DTV para interfaces digitales de alta velocidad sin comprimir (ANSI / CTA-861-H)" . Asociación de Tecnología del Consumidor® . Consultado el 31 de marzo de 2021 .
- ^ "IEC 61966-2-1: 1999 / AMD1: 2003 | Tienda web de IEC" . webstore.iec.ch . Consultado el 17 de abril de 2021 .
- ^ Phil Green y Lindsay W. MacDonald (2002). Ingeniería del color: Lograr el color independiente del dispositivo . John Wiley e hijos. ISBN 0-471-48688-4.
- ^ 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.
- ^ Rodney, Andrew (2005). Gestión del color para fotógrafos . Prensa Focal. pag. 121. ISBN 978-0-240-80649-5.
Por qué calibrar el monitor a D65 cuando Light Booth es D50
- ^ Perfiles sRGB , ICC
- ^ "Error de pantalla de bloqueo de Android y perfiles ICC" . color.org . Consultado el 24 de marzo de 2021 .
- ^ "EXT_texture_sRGB" . 24 de enero de 2007 . Consultado el 12 de mayo de 2020 .
- ^ "EXT_framebuffer_sRGB" . 17 de septiembre de 2010 . Consultado el 12 de mayo de 2020 .
- ^ "GPU Gems 3: Capítulo 24. La importancia de ser lineal, sección 24.4.1" . NVIDIA Corporation . Consultado el 3 de marzo de 2017 .
Estándares
- IEC 61966-2-1: 1999 es la especificación oficial de sRGB. Proporciona el entorno de visualización, la codificación y los detalles colorimétricos .
- La enmienda A1: 2003 a IEC 61966-2-1: 1999 describe una codificación sYCC análoga para espacios de color YCbCr , una codificación RGB de gama extendida y una transformación CIELAB .
- sRGB en www.color.org
- El cuarto borrador de trabajo de IEC 61966-2-1 está disponible en línea, pero no es el estándar completo. Puede descargarse de www2.units.it .
enlaces externos
- Consorcio Internacional de Color
- Copia de archivo de http://www.srgb.com , ahora no disponible, que contiene mucha información sobre el diseño, los principios y el uso de sRGB
- Un espacio de color predeterminado estándar para Internet: sRGB en w3.org
- Extensión OpenGL para texturas gamma sRGB en sgi.com
( Copia de Wayback Machine )
- Matrices de conversión para conversión RGB frente a XYZ
- ¿Se pondrá de pie el perfil real de sRGB?