Articulo de referencia

sYCC

"},"version":{"wt":"61966-2–1 Amend. 1"},"version_date":{"wt":"2003"},"preview":{"wt":""},"preview_date":{"wt":""},"organization":{"wt":"{{abbr|[[International Electrotechnical ...

sYCC es una codificación numérica estándar de colores, similar a la codificación CIE YCbCr , [ 2 ] Utiliza tres coordenadas: un valor de luminanciaY{\displaystyle Y}, que es aproximadamente proporcional al brillo percibido del color, y dos valores de cromadob{\displaystyle C_{b}}ydor{\displaystyle C_{r}}, que son aproximadamente el "azul" y el "rojo" del tono. Cada coordenada está representada por un número entero con algún númeronorte{\displaystyle N}de bits, que se interpreta como sin signo (paraY{\displaystyle Y}) o firmado (paradob{\displaystyle C_{b}}ydor{\displaystyle C_{r}}).

El espacio se define en el Anexo F de la norma 61966-2-1 Enmienda 1 (2003) de la Comisión Electrotécnica Internacional (IEC), como una transformación lineal del espacio de color sRGB no lineal definido por el mismo documento.

La conversión oficial de sYCC a sRGB suele generar valores negativos de R, G o B, o valores mayores que 1, pero a diferencia del formato YCbCr estándar, estos valores no se limitan. Lo mismo ocurre al convertir XYZ a valores sYCC: en la etapa sRGB, los valores negativos y mayores que 1 se conservan. Por lo tanto, la función de transferencia sRGB se modifica para aceptar valores RGB negativos.

Definición de sYCC

Los tres enteros sin signoY,dob,dor{\displaystyle Y,C_{b},C_{r}}de un color codificado en sYCC representa coordenadas fraccionariasY,dob,dor{\displaystyle Y',C_{b}',C_{r}'}según las fórmulas [ 2 ]

Y=Y/METRO{\displaystyle Y'=Y/M}
dob=(dobZ)/METRO{\displaystyle C_{b}'=(C_{b}-Z)/M}
dor=(dobZ)/METRO{\displaystyle C'_{r}=(C_{b}-Z)/M}

donde el factor de escalaMETRO=2norte1{\displaystyle M=2^{N}-1}es el máximo sin signonorte{\displaystyle N}entero de bits y el desplazamientoZ{\displaystyle Z}es2norte1{\displaystyle 2^{N-1}}(como en la representación habitual en complemento a dos de los enteros con signo). Por el contrario, los valores enteros codificados vienen dados por

Y=redondo(METROY){\displaystyle Y={\mbox{round}}(MY')}
dob=redondo(Z+METROdob){\displaystyle C_{b}={\mbox{round}}(Z+MC_{b}')}
dor=redondo(Z+METROdor){\displaystyle C_{r}={\mbox{round}}(Z+MC_{r}')}

con los valores resultantes recortados al rango0..METRO{\displaystyle 0..M}.

En particular, paranorte=8{\displaystyle N=8}(que es el tamaño de bit normal), uno obtieneMETRO=255{\displaystyle M=255}yZ=128{\displaystyle Z=128}. Por lo tanto, el luma fraccionalY{\displaystyle Y'}va de 0 a 1, mientras que las coordenadas cromáticas fraccionarias van de128/2550,50196...{\displaystyle -128/255\approx -0.50196...}a+127/255+0,498039...{\displaystyle +127/255\approx +0.498039...}.

La norma especifica que estos valores fraccionariosY,dob,dor{\displaystyle Y',C_{b}',C_{r}'}están relacionadas con las coordenadas sRGB fraccionarias no linealesR,GRAMO,B{\displaystyle R',G',B'}mediante una transformación lineal, descrita por el producto matricial

[Ydobdor]=[+0,2990+0,5870+0,11400,16870,3313+0,5000+0,50000,41870,0813][RGRAMOB]{\displaystyle {\begin{bmatrix}Y'\\C_{b}'\\C_{r}'\end{bmatrix}}={\begin{bmatrix}+0.2990&+0.5870&+0.1140\\-0.1687&-0.3313&+0.5000\\+0.5000&-0.4187&-0.0813\end{bmatrix}}{\begin{bmatrix}R'\\G'\\B'\end{bmatrix}}}

Esta correspondencia es la misma que la asignación de RGB a YCC especificada por el antiguo estándar de TV ITU-R BT.601-5 , tenga en cuenta que los coeficientes deY{\displaystyle Y'}Aquí se definen todavía con 3 decimales, porque 4 decimales cambiarían la codificación heredada de las imágenes (primera fila: Kr = 0,299 y Kg = 0,587). [ 2 ]

Las coordenadas sRGB fraccionarias no linealesR,GRAMO,B{\displaystyle R',G',B'}se puede calcular a partir de las coordenadas fraccionarias sYCCY,dob,dor{\displaystyle Y',C_{b}',C_{r}'}invirtiendo la matriz anterior. El estándar proporciona la aproximación

[RGRAMOB]=[+1.00000,0000+1.4020+1.00000,34410,7141+1.0000+1.77200,0000][Ydobdor]{\displaystyle {\begin{bmatrix}R'\\G'\\B'\end{bmatrix}}={\begin{bmatrix}+1.0000&0.0000&+1.4020\\+1.0000&-0.3441&-0.7141\\+1.0000&+1.7720&0.0000\end{bmatrix}}{\begin{bmatrix}Y'\\C_{b}'\\C_{r}'\end{bmatrix}}}

que se espera que sea suficientemente preciso paranorte=8{\displaystyle N=8}bits por componente. Para tamaños de bits mayores que 8, el estándar recomienda utilizar una inversa más precisa. Indica que la siguiente matriz con 6 dígitos decimales es suficientemente precisa paranorte=16{\displaystyle N=16}:

[RGRAMOB]=[+1.000000+0,000037+1.401988+1.0000000,3441130,714104+1.000000+1.771978+0,000135][Ydobdor]{\displaystyle {\begin{bmatrix}R'\\G'\\B'\end{bmatrix}}={\begin{bmatrix}+1.000000&+0.000037&+1.401988\\+1.000000&-0.344113&-0.714104\\+1.000000&+1.771978&+0.000135\end{bmatrix}}{\begin{bmatrix}Y'\\C_{b}'\\C_{r}'\end{bmatrix}}}

El mismo estándar especifica la relación entre las coordenadas fraccionarias no lineales.R,GRAMO,B{\displaystyle R',G',B'}y las coordenadas XYZ de la CIE 1931. La conexión implica la función de transferencia ("corrección gamma") que mapeaR,GRAMO,B{\displaystyle R',G',B'}a las coordenadas lineales R, G, B, y luego una transformación lineal 3D que las relaciona con el sistema CIE.incógnita,Y,Z{\displaystyle X,Y,Z}.

Dado que la transformación lineal de sRGB a sYCC se define en términos de valores no lineales (codificados con gamma) (R,GRAMO,B{\displaystyle R',G',B'}), en lugar de las lineales (R,GRAMO,B{\displaystyle R,G,B}), elY{\displaystyle Y'}El componente sYCC no es la coordenada Y de la CIE, ni siquiera es una función de ella por sí sola. Es decir, dos colores con el mismo valor Y de la CIE pueden tener diferentes valores de sYCC.Y{\displaystyle Y'}valores, y viceversa.

Valores particulares

El triplete sYCC codificado en enteros(0,0,0){\displaystyle (0,0,0)}representa el color negro mientras que(255,0,0){\displaystyle (255,0,0)}es blanco (más precisamente, el iluminante CIE D65 ). De manera más general, tripletes(Y,0,0){\displaystyle (Y,0,0)}, paraY{\displaystyle Y}En el rango de 0 a 255, se representan los tonos de gris.

Tenga en cuenta que el triplete sYCC entero de 8 bits(Y,dob,dor)=(0,255,255){\displaystyle (Y,Cb,Cr)=(0,255,255)}tiene coordenadas fraccionarias(Y,dob,dor)(0.0,0,5,0,5){\displaystyle (Y',Cb',Cr')\approx (0.0,0.5,0.5)}, que, según estas matrices, tiene una coordenada sRGB no lineal fraccionariaGRAMO0,5×(0,3341+0,7141)0,528{\displaystyle G'\approx -0.5\times (0.3341+0.7141)\approx -0.528}y, por lo tanto, debe convertirse en XYZ para ser realizable o perceptible. De manera similar, la tripleta sYCC(0,0,0){\displaystyle (0,0,0)}tieneR0,701{\displaystyle R'\approx -0.701}yB0,886{\displaystyle B'\approx -0.886}.

Referencias

  1. 1 2 3 "IEC 61966-2-1:1999" . Tienda web de la IEC . Comisión Electrotécnica Internacional . Consultado el 3 de marzo de 2017 .La primera especificación oficial de sRGB.
  2. 1 2 3 "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.Sustituye a la versión IEC 61966-2-1:1999, introduciendo la codificación sYCC para los espacios de color YCbCr , una codificación RGB de gama extendida bg-sRGB y una transformación CIELAB .