25 diciembre 2009

De RAW y bits ¿por qué tomar fotos en formatos "brutos"?

Llevaba muchos años haciendo fotografías con cámaras analógicas, las que había en ese tiempo. Cuando decidí que había que comenzar con las digitales se plantearon algunas incógnitas porque algunos conceptos eran radicalmente nuevos.

Una de las cuestiones era decidir sobre el formato y la calidad de las fotos. Para mí la respuesta era evidente ya que considero que las fotos son lo único que nos queda del pasado, más fieles que los recuerdos y, por supuesto, algo mucho más duradero. Bajo ese punto de vista siempre quiero la mayor calidad posible dentro de las limitaciones que pueda tener en cada momento.

Con algunas cámaras pequeñas la cosa no es demasiado complicada porque sólo nos ofrece la opción del formato JPEG con alta, media o baja calidad. En este caso, la calidad es función inversa de la compresión de las imágenes. JPEG es un formato que nunca respeta los datos originales sino que los reduce a unos coeficientes que permiten su almacenamiento en ficheros de menor tamaño del que sería necesario para conservar la toma original. Al descomprimir o decodificar la imagen sólo se recupera una aproximación de los valores iniciales de los píxeles. Y a mayor compresión, menor tamaño y peor calidad. Toqué el tema hace casi tres años en Que no, que no trabaje con imágenes JPEG (relacionada, por si les pica la curiosidad: Porqué no escuchar a Amaral en el teléfono móvil). Después de leer ese post queda claro que debemos huir del JPEG si podemos y si no es así grabar con la máxima calidad posible y, caso de querer manipular las fotos, pasarlo previamente a un formato como TIF, que se comprime sin pérdida de calidad (usen el algoritmo LZW, claro).

Los formatos RAW
Con las cámaras un poco más avanzadas las opciones cambian y creo que todas permiten grabar en el formato llamado genéricamente RAW y que en cada marca puede adoptar nombres diferentes: NEF en Nikon, CRW en Canon...
Ahora tengo una Nikon D70s, comprada de segunda mano hace unos meses. Las incógnitas en este caso eran la naturaleza del formato RAW, llamado NEF en mi caso, si tenía que usarlo preferentemente a cualquier otro y las razones para ello.
Como solo soy un principante en esto (saben de mi pasión por hablar de lo que ignoro) lo que les contaré a continuación les parecerá banal a algunos de ustedes pero como no lo he encontrado bien explicado por ahí, se lo suelto condensado por si resulta de interés.

El sensor digital y la resolución radiométrica
El primer punto es saber cómo funciona, aunque sea muy someramente, una cámara digital. La idea básica es que el objetivo transmite la imagen exterior sobre una matriz de minúsculos sensores sensibles a la luz llamados CCD o CMOS según el tipo. Cuando nos dicen que nuestra cámara tiene 8 Megapíxeles significa que hay aproximadamente 8 millones de elementos fotosensibles en esa matriz. Es importante saber que esos elementos son sensibles a la intensidad de la luz no a su color. Consecuentemente, el sensor solo capta imágenes en tonos de gris. ¿Cómo se reproduce el color? Pues haciendo el truco se poner sobre cada elemento del sensor un filtro que solo deja pasar la luz verde, azul o roja. Si un elemento recibe solamente la componente verde de la luz, está midiendo la intensidad de ese color. Si sus vecinos miden respectivamente la de la luz azul y roja, podrán combinarse las tres medidas para tener una idea aproximada del color real de la luz.

Lógicamente, este método reduce la resolución efectiva del sensor al color porque, aunque el número de píxeles sigue siendo el mismo, el color debe asignarse en grupos como mínimo de tres píxeles. El proceso de mezcla se denomina demosaicing en inglés y el filtro se llama Bayer por Bryce E. Bayer, el tipo que lo inventó. El filtro suele estar formado por un 50% de elementos verdes, un 25% de rojos y un 25% de azules. Se dice que la abundancia de verdes se debe a la mayor sensibilidad de ojo humano a los matices de ese color aunque debo confesarles que yo no lo tengo nada claro.

¿Qué pasa cuando la luz, sea del color que sea, incide sobre un elemento fotosensible? El resultado es que cada elemento genera un voltaje eléctrico proporcional a la luz recibida. Este voltaje es analógico y debe ser trasformado a un valor digital. Aquí viene uno de los puntos clave del asunto: no todos los sensores son capaces de diferenciar el mismo número de niveles de iluminación. A esa capacidad se le suele llamar resolución radiométrica. Si un sensor tiene una resolución radiométrica de 8 bits se supone que es sensible a 256 diferentes grados de iluminación entre el mínimo y el máximo de luz que mide (2 elevado a 8). Por debajo del mínimo, que no tiene que ser necesariamente la oscuridad absoluta, la señal será nula y a partir de cierta intensidad de luz el sensor queda saturado y ya no es capaz de medir niveles superiores.
En resumen, un sensor nos proporciona intensidades de luz entre 0 y un número variable de niveles que depende de su resolución radiométrica: 0-255 para 8 bits, 0-4095 para 12 bits y 0-16383 para 16 bits. Además, se almacena un conjunto de metadatos sobre la cámara, la toma (diafragma, velocidad de obturación...), etc.

Millones de colores
Los niveles pueden ser de rojo, verde o azul gracias al filtro Bayer y al combinarlos para obtener el color real de cada zona de la imagen multiplicamos las posibilidades. Si trabajamos con 256 niveles por color primario, el número de colores que se pueden definir es de 256 x 256 x 256, unos 16,8 millones. Eso parece mucho pero si el sensor es de 12 bits serán casi 69 mil millones de colores y con 14 bits llegamos a superar los 4,3 billones.
Parece que nuestro ojo puede distinguir varios millones de colores (las referencias que he encontrado son muy contradictorias pero la más seria parece ser esta) pero está claro que los 12 o 14 bits exceden nuestra capacidad sensorial. Por añadidura las pantallas de ordenador son normalmente de 24 bits (8 bits por color primario) y excepcionalmente de 30 bits (ver este modelo de HP). En cualquier caso, parece innecesario tomar imágenes en 12 o 14 bits por color primerio ya que eso nos lleva a poder componer un montón de modulaciones que jamás veremos y que no podemos representar siquiera en una pantalla. ¿O esto no es del todo correcto?

Los motivos del RAW
Yo creo que el enfique anterior no es correcto y que debemos siempre tomar las imágenes en RAW con el máximo número de bits que nos permita la cámara. El motivo es que las imágenes son digitales, es decir, están codificadas en cifras y esa información, aunque no podamos verla, existe y puede ser procesada. Cuando tomamos la misma escena en 8 y 12 bits, el rango dinámico no cambia pero la resolución tonal, la capacidad de resolver tonos diferentes, sí. Eso es enormemente importante si luego queremos manipular las fotos para, por ejemplo, realzar detalles en las zonas más oscuras o modificar las importancias relativas de luces, medios tonos y sombras: en los 12 bits habrá mucha más información que en los 8 bits y los resultados serán muy diferentes. Gracias a esta información podremos también corregir mejor problemas derivados de contraluces o de errores en la exposición.

El formato RAW es, en resumen, un enorme depósito de información apenas procesada a partir del cual podemos empezar a trabajar con cualquier programa como Gimp o Photoshop para realizar los tratamientos básicos que son casi siempre necesarios: corregir las desviaciones tonales y mejorar la resolución tonal en las zonas extremas, más oscuras y más iluminadas. Eso sí, no olviden guardar los RAW originales como guardaban antes los negativos analógicos.

Un formato abierto para los ficheros RAW
Comenté antes de pasada que hay varios formatos que pueden incluirse genéricamente bajo la denominación RAW. De hecho, cada marca de cámaras tiene el suyo del que no sólo no desvela su estructura sino que habitualmente difiere de los demás en la longitud de su cabecera, en los metadatos o, incluso, en el uso o no de niveles ligeros de compresión. Esto plantea problemas ahora y en el futuro ya que el NEF actual puede no ser legible por un Photoshop o Gimp de dentro de cinco años. Una posible solución ha venido de Adobe, que propuso en septiembre de 2004 un formato abierto llamado DNG (Digital Negative), basado en un estándar previo de escaso éxito (TIFF/EP). Para intentar que se convierta en un estándar más aceptado ha puesto en internet un programa gratuito, Adobe DNG Converter, que lee los RAW y los transforma en DNG sin pérdida de información y conservando los metadatos. Posteriormente estos DNG deberán ser importados por nuestro programa de proceso de imágenes, manipulados en lo que nos apetezca y guardados en otro formato no-RAW. En ese paso yo prefiero usar TIF de 16 bits a pesar del mayor tamaño de las imágenes. A partir de aquí, lo que quieran; por ejemplo, Flickr sólo admite JPG, GIF y PNG por lo hay que hacer la transformación pertinente y asumir que Flickr es sólo un muestrario de imágenes de calidad limitada y no un almacén de fotos de la más alta calidad. Esas deben quedar en nuestro disco externo y en nuestra copia de seguridad.

4 comentarios:

Aguafiestas dijo...

¡Didáctico!

Anónimo dijo...

La pantalla HP imagino que hace interpolación a 10 bits a partir de los 8 bits/canal, dado que se requiere que el hardware y software esté adaptado, y dado que la pantalla es de uso general, tendrá una entrada RGB888 normal.

¿Porqué captar imágenes con 12-14 bits si el monitor no los puede mostrar ni el ojo captar? hay 2 respuestas rápidas:

1) Es útil si vas a procesar las imágenes con técnicas de visión por computador en vez de mostrarlas directamente al ojo.

2) Publicidad y mercadeo ('marketing'). Ya se sabe, 'bigger is better'.

Esto es parecido a la guerra de los megapíxeles, a partir de 4 Mpix., ya es una burrada: nadie captura a esa resolución, las fotos son muy grandes visualmente y ocupan bastante espacio (aún estando en JPEG). Además dado que el objetivo tienen el mismo diámetro y el sensor también (sensores más densamente empaquetados), llega menos luz a cada píxel, y el ruido (térmico, cuántico...) se acentúa y la calidad decrece.

En cuanto a lo del formato RAW, en efecto es mejor usa el TIFF, que no pierde calidad y hay muchas herramientas que lo pueden tratar; aunque hay que ir con cuidado, porque también acepta la compresión JPEG, y no es un formato estándar de iure, podemos decir que lo es de facto. A corto plazo no hay problema, pero quien sabe de aquí a unas décadas o incluso siglos, si se podrán leer las fotos en TIFF, o incluso en JPEG. La preservación digital (a largo/muy largo plazo) es un tema del que cada vez se toma más conciencia. Hoy en día podemos leer documentos con 5.000 años de antigüedad, ¿las generaciones futuras podrán hacer lo mismo? quien sabe.

Y si, el ojo es más sensible al verde, basta ver cualquier tabla de respuesta frecuencial del ojo, su sensibilidad es mayor para las frecuencias del verde. Por eso las imágenes de cámaras nocturnas (que sólo captan una banda espectral, en vez de las 3 habituales del rojo verde y azul) se muestran en tonalidades verdes, porque así ojo puede percibir mejor los detalles (dos píxeles con valores muy similares, se captan mejor como diferentes en verde, que no en rojo y sobretodo que en azul, que probablemente se verían como de la misma intensidad).

Por cierto, cuando se ponen números reales, debería usarse la coma, que es el separador decimal en español; no el punto, que lo es en inglés.

Saludos.

Angel dijo...

Estamos de acuerdo y considero especialmente preocupante el tema del archivo de datos digitales a largo plazo, no sólo por el formato sino también por el soporte.
Lo del punto/coma decimal: corregido, es la costumbre :-(
Por agregar algo sobre los megapíxeles: las Hasselblad siempre han sido el sueño de todo fotógrafo. Las que tienen ahora adquieren imágenes de 39 Mpíxeles gracias al tamaño de sus sensores, bastante más grandes que los que usamos la gente normal ya que miden 48x36 mm.
Una ejemplo:
http://www.hasselblad.es/productos/h-system/h3dii-50ms.aspx

Angel dijo...

Perdón, más píxeles aún
http://www.hasselblad.es/media/2100279/es_h4d_datasheet_v2.pdf

Grab this Widget ~ Blogger Accessories
 
º