SGCG

…esto no es un subtítulo…

Ir a: contenido categorías calendario archivo suscripción

Volver arriba

La función de transferencia del espacio de color sRGB (2): rango dinámico

2019-08-17

Recientemente vimos cómo el espacio de color sRGB usa una función de transferencia no lineal que agrupa los niveles de intensidad de forma variable. Vamos a ver cómo afecta esto al rango dinámico, que es la relación entre el valor más grande que es posible representar y el valor no nulo más pequeño que es posible representar, en función de la profundidad de color. Recordemos, para ello, cómo se relaciona la intensidad real Ireal (normalizada para que el valor más grande sea la unidad) y la intensidad codificada In bits en el espacio sRBG cuando cada canal va representado por un número entero sin signo de n bits:

Ireal = In bits ⁄ [12,92×(2n−1)], 0 ≤ In bits < 0,04045×(2n−1);

Ireal = {[In bits+0,055×(2n−1)] ⁄ [1,055×(2n−1)]}2,4, 0,04045×(2n−1) ≤ In bits ≤ 2n−1.

Color de 8 bits por canal

En la práctica, lo más común es que la profundidad de color sea n = 8. El valor más alto es siempre Ireal = 1, mientras que el valor no nulo más bajo con esta profundidad de color es el correspondiente a I8 bits = 1: Ireal = 1 ⁄ (12,92×255). El rango dinámico, por lo tanto, es 12,92×255. En fotografía, el rango dinámico se mide a menudo en paradas o valores de exposición: simplemente el logaritmo en base 2 del anterior número, es decir, log2(12,92×255) ≅ 11,7. ¡El rango dinámico supera al de un espacio de color lineal de 8 bits en unas 3,7 paradas! Otra forma de verlo es la siguiente: para superar el rango dinámico que se consigue con el espacio de color sRGB con 8 bits por canal, hace falta un espacio lineal de color de 12 bits por canal.

Color de 4 bits o menos por canal

Cuando la profundidad de color es muy pequeña, la parte lineal de la función de transferencia no entra en acción. El valor no nulo más pequeño que es posible representar es Ireal = {[1+0,055×(2n−1)] ⁄ [1,055×(2n−1)]}2,4, mientras que el valor más grande que es posible representar es siempre Ireal = 1. Por lo tanto, el rango dinámico es {[1,055×(2n−1)] ⁄ [1+0,055×(2n−1)]}2,4, lo que en paradas o valores de exposición corresponde a 2,4×log2{[1,055×(2n−1)] ⁄ [1+0,055×(2n−1)]}, que es algo mayor que el valor correspondiente a un espacio de color lineal en unas 1,9 paradas cuando n = 2, unas 3,0 paradas cuando n = 3 y unas 3,6 paradas cuando n = 4. Para superar el rango dinámico que se consigue con el espacio de color sRGB con 2 bits por canal, 3 bits por canal o 4 bits por canal, hace falta un espacio lineal de color de 4 bits por canal, 6 bits por canal u 8 bits por canal.

Color de más de 4 bits por canal

En general, cuando el color es de más de 4 bits por canal, el valor no nulo más pequeño que es posible representar es Ireal = 1 ⁄ [12,92×(2n−1)], mientras que el valor más grande es siempre Ireal = 1, con lo que el rango dinámico es 12,92×(2n−1), lo que en paradas o valores de exposición es log2[12,92×(2n−1)] ≅ 3,7 + n. El rango dinámico está unas 3,7 paradas por encima del que se conseguiría con un espacio de color lineal. Para superar el rango dinámico que se consigue con el espacio de color sRGB con n bits por canal, hace falta un espacio lineal de color de n + 4 bits por canal.


Categorías: Fotografía, Informática

Permalink: http://sgcg.es/articulos/2019/08/17/la-funcion-de-transferencia-del-espacio-de-color-srgb-2-rango-dinamico/