sábado, 12 de marzo de 2016

Profundidad de bits en nuestras cámaras (parte II)

La semana pasada hablé de lo que eran los bits, la profundidad de tonos, para un cierto número de bits y hasta puse un ejemplo para 3 bits y dije que la profundidad de tonos con esos 3 bits era de 8 saltitos de grises que son los niveles que vería ese sensor especial entre el blanco y el negro.


Es como si tuviésemos un ojo que solo detectase esos grises nada más, por cierto sería un rollo ver así.

Seguro que si leísteis la entrada anterior os distéis cuenta que hace falta un número elevado de esos saltitos o estados, para que se pudiesen recoger suficientes tonos de grises y así la imagen se pudiese ver como un continuo y nuestro ojo no notase nada, bueno pues eso se consigue con sensores que tengan la capacidad de ver mas tonos como el de 8 bits que hace que se detecten 256 tonos de grises sin problemas. Cuidado que estoy hablando de un solo sensor hasta aquí y en la entrada anterior.

Pero claro seguro que vosotros os preguntáis y ¿Por qué 256 valores de gris y no otro valor? Es la pregunta que yo me hice inmediatamente después de entenderlo.

La respuesta yo creo que viene por tres cosas, por un lado a partir de estos valores el ojo no es capaz ya de ver más, de hecho no es capaz de llegar ni si quiera a unos cien tonos de grises, otra razón es que si utilizásemos más de 256 grises, ya necesitaríamos dos palabras de 8 bits (2 bytes) para poder representar esos números y eso para los ordenadores de la cámara, si lo pensáis bien, es utilizar más bits y por tanto capacidad de proceso, memoria y sobre todo más caro.

Por último creo que de esta manera vemos un mejor continuo de grises que con menos bits aunque no seamos capaces de ver todos.

Como con 256 tenemos más que de sobra para el ojo y encima desde el punto de vista electrónico es una buena solución pues ahí se quedó,  por cierto a la palabra de 8 bits se le llama byte.

Quiero hacer un inciso y es decir que esto de lo que estoy hablando, no tiene nada que ver con la resolución de la imagen, estoy hablando en otro plano de luminosidades y profundidad de luminosidad (niveles de grises capturados), es como una tercera dimensión de la imagen, la primera dimensión seria la resolución vertical del sensor, la segunda sería la resolución horizontal del sensor (que marcarían entre las dos la resolución visual) y la otra dimensión de la que hablo en un eje “Z” sería la de los niveles de luminosidad que cada pixel genera.

En el siguiente dibujo he intentado representar lo que digo, he dibujado un sensor de 48 pixels, y en uno de ellos he puesto encima los 256 niveles que puede captar. Es una representación que yo tengo muy metida en mi cabeza y me hace ver esto de una forma espacial, si ya sé que es algo muy “matemático” pero lo veo así muy claramente.

 
Volviendo a nuestro tema y dejando representaciones “raras”, os diré ya hablando de color, que este se genera a partir de sus componentes R (Roja), G (verde) y B (azul) sumando colores, por lo que una imagen en color se compone de 3 “imágenes”  una parte roja (R), una parte verde (G) y otra azul (B), que al sumarse de una cierta forma darían el color de la imagen (es más complejo porque hay procesos como el demosaicing pero para la explicación sencilla basta).

Pero claro, nosotros no tenemos sensores rojos o azules o verdes, no existen que yo sepa, (lo mismo ya existen) si no que se tienen sensores sensibles a la luminosidad absoluta y por tanto para detectar selectivamente los niveles de luminosidad de esos colores se pone un filtro encima del sensor del color del que se desea detectar el nivel de luminosidad y así solo pasa la luminosidad de ese color.

La imagen siguiente intenta representar esta idea.

Cada sensor obtiene la luminosidad del color filtrado,  el color luego lo añade la cámara y para el rojo podría ser así para tres tonos.


Si cada uno de ellos tiene una gama de 256 tonos, la imagen final tendrá una gama de colores posibles  de (256 x 256 x 256), que si echáis cuentas son 16 millones de colores y es lo que se llama una imagen con una profundidad de color de 24 bits por pixel (8 por cada color o canal). 

Aunque la mayoría de los formatos de imagen digitales trabaja con 8 bits por canal, podría ser que una cierta cámara use más bits por canal para captar más matices de color. Por ejemplo 12, 14 ó 16 bits por canal

Por cierto no confundáis los bits por canal con los bits por píxel, insisto la profundidad de bits de una imagen son bits por canal, mientras que para ver la cantidad total de colores que presenta un píxel (los tres colores primariosque se recogen con cuatro sensores en una matriz de Bayer) se habla de bits por píxel.


Dado que el ojo ve alrededor de un millón de colores (no lo tengo muy claro pero no creo que sean más), sigue sobrando mucho, pero no importa porque esto redunda en un mejor proceso de imagen y por tanto menores perdidas de color.

Por cierto, habréis visto que  hay imágenes con profundidad de pixel de 32 bits. Bueno pues los 8 bits más de profundidad sobre las imágenes de 24 bits, permiten almacenar la transparencia de la imagen. Este byte adicional se llama canal alfa, y almacena, diferentes valores de transparencia, de forma que si vale cero el color es transparente completamente y si es 255 es opaco. Eso lo hacéis mucho en Photoshop y no entro en más.

Pero no quiero liaros más, si habéis llegado hasta aquí os admiro, porque cuando empiezo y empiezo a contar cosas no paro, aunque creo que al menos son interesantes y espero no haberme equivocado.

Si recapitulamos ya sabemos que es un bit, que es la profundidad de grises, que es la profundidad de color, cómo ve la cámara los colores, pero ¿Cómo se ven teniendo más o menos colores las fotos?, ya os adelanto que casi hasta 64 colores se pueden ver mas o menos bien, pero veámoslo con un ejemplo, para esto, voy ahora hacer lo mismo que hacía con tonos de blanco y negro en la foto en el capítulo anterior pero ahora con colores.

Por ejemplo partimos de esta imagen de 24 bits, “soplecientos millones de colores”


Vamos a ver esta imagen con 8 colores, la imagen del coche sería así:


Vamos ahora a esos 64 colores que yo decía antes que serian estos:


Casi ¿verdad? Muy parecido a la foto con todos los “soplecientos millones de colores”.


De aquí en adelante ya se tornan casi iguales, curioso todo esto de los tonos, colores, bits, ¿verdad?

5 comentarios :

  1. Gran entrada, como siempre.

    Respecto a sensores que capten los tres colores a la vez por pixel Sigma tiene algo parecido con sus FOVEON. En cuanto a fidelidad de color parece que van bien pero tienen algunas otras limitaciones.

    ResponderEliminar
    Respuestas
    1. Los que son ahora excelentes son los Sony, si puedes leer de ellos échales un vistazo.

      Eliminar
  2. Una curiosidad, ¿cómo haces para poner una foto sólo con ocho colores? es para una idea con el punto de cruz.
    Gracias.

    ResponderEliminar
  3. Pues lo puedes hacer Ignacio con photoshop de forma fácil. Prueba a guardar para WEB por ejemplo.

    ResponderEliminar