LOS BITS DEL RAW IMPORTAN? Creado 26 Dic 2010 Actualizado 1 Ene 2011 |
INTRODUCCIÓNSi tuviéramos que elegir entre estos dos relojes aquél que nos proporcionara una medida más precisa del tiempo, con cuál nos quedaríamos?Fig. 1 Relojes de diferente precisión. El de la izquierda tiene segundero, cuando el de la derecha solo da la hora y los minutos, así que a priori pareciera que el primer reloj debería ser el elegido. Pero qué pasaría si los relojes estuvieran atrasados (o adelantados) una cierta cantidad de minutos no conocida?. Con una desviación de ese orden de magnitud, la información de segundos del primer reloj resultaría inútil. Estaríamos midiendo el tiempo con una precisión ficticia que el error del instrumento de medida echaría a perder. Con las cámaras digitales y los bits de sus archivos RAW pasa justamente esto: los bits del RAW nos proporcionan una precisión aparente en la captación de los niveles de luminosidad de la escena, pero estos valores digitalizados vienen previamente afectados por un error aleatorio que no conocemos: el ruido generado por el sensor. En función de la magnitud de este error, es decir dependiendo de lo ruidoso que sea el sensor de la cámara en cuestión, emplear más de una determinada cantidad de bits resultará innecesario y no aportará nada a la calidad de la imagen final. En el presente artículo vamos a tratar de ver con ejemplos reales cómo los bits requeridos para el archivo RAW dependerán de lo ruidosa que sea la cámara. Superado un cierto número de bits en un sensor dado estaremos perfectamente servidos, no aportándonos ya nada disponer de un conversor A/D de más bits. NIVELES TONALES RAW Y LINEALIDAD DEL SENSORLa respuesta de un sensor es lineal, lo cual da lugar a que un rango de luminosidades de un paso de exposición en la escena estará representado por muchos más niveles tonales en las altas luces que en las sombras.En la siguiente tabla se muestran los niveles dedicados en el RAW a franjas de un paso de diafragma de luminosidad, en función del número de bits con que son codificadas las muestras del archivo RAW: Fig. 2 Niveles RAW por pasos de exposición en función de los bits del RAW. Como se explica en detalle en el artículo Rango dinámico, existe un mínimo número de bits para poder codificar adecuadamente una determinada cantidad de pasos de rango dinámico. Si no se alcanza, la propia cuantización del RAW podría dar lugar a posterizaciones en la imagen obtenida. Así con un RAW de 12 bits podemos admitir representar correctamente hasta unos 8 pasos de rango dinámico, dedicando aún 16 niveles tonales distintos al último paso de sombras profundas. Fijado un número suficiente de bits, el factor determinante en la captura de rango dinámico del sensor será exclusivamente el ruido. Así cuanto menos ruidoso sea un sensor más bits serán precisos para que el ruido, y no una posible posterización por falta de bits, siga siendo el limitante. Por este motivo se emplean tantos bits en el conversor A/D como sea preciso para que la cuantización debida a la digitalización quede siempre por debajo del nivel de ruido. Gracias al efecto dither del ruido, un archivo RAW jamás presentará posterización. De aparecer siempre se habrá generado en el procesado posterior, y más habitualmente debido a la escasez de ruido en las luces (típicas bandas en cielos), que por falta de niveles en las sombras (donde el ruido impedirá la posterización). Lo que vamos a ver a continuación es que en algunos casos no serían necesarios tantos bits como los usados por el fabricante. Cuando aparecieron las primeras cámaras de 14 bits, las principales marcas se subieron al carro pero en realidad era una decisión de marketing ya que en ninguna de ellas estaba justificado el aumento de bits. Se habrían obtenido resultados equivalentes y archivos RAW más reducidos con RAWs de 12 bits, como los que eran habituales hasta entonces. Solo recientemente han aparecido modelos de cámaras para las que 12 bits resultan insuficientes si se pretende exprimir al máximo la información que el sensor es capaz de capturar. En las pruebas realizadas veremos una de ellas. REVELADO RAW CON DIEZMADO EN BITSA partir de un archivo RAW codificado con una determinada cantidad de bits, es sencillo replicar la calidad final que se habría conseguido si el conversor A/D nativo de la cámara hubiera tenido menos bits. Para ello basta desechar, siempre antes de realizar el proceso de revelado, los bits menos significativos de cada valor digitalizado en el RAW.Como es habitual usaremos DCRAW, haciendo un cambio trivial en la función scale_colors() de su código fuente (solo se añade la línea resaltada en rojo):
for (i=0; i < size*4; i++) {
Lo que logramos así es rellenar con 0's los Nbits bits más bajos de cada valor del RAW. Esto redondea los niveles a los posibles valores que se habrían tenido con una digitalización llevada a cabo con Nbits bits menos que la original.La simulación será correcta con cualquier archivo RAW que tenga llenos todos sus niveles. Esto descarta para el experimento usar los NEF de Nikon (que por su prebalanceo de blancos tienen huecos en el histograma de los canales R y B), o cualquier formato comprimido que tras la descompresión genere dichos huecos. Usaremos archivos RAW de Canon, Pentax y Olympus con histogramas RAW contínuos, cumpliendo así el requisito citado. Mi agradecimiento a Manuel Llorens por ayudarme a poner a punto el PC para realizar compilaciones modificadas del código fuente de DCRAW, asignatura que desde hace tiempo tenía pendiente. PÉRDIDA DE CALIDAD POR REDUCCIÓN DE BITSRealizaremos revelados sucesivos de varios archivos RAW con un número de bits decreciente, analizando el progresivo deterioro en la calidad de la imagen final.Dado que el menor ISO real de la cámara será el que menos ruido presente para un mismo nivel de exposición en el RAW, y como por otro lado las zonas de muy baja exposición del archivo RAW serán las primeras en sufrir pérdida de calidad al reducir el número de bits, usaremos archivos RAW procedentes de capturas que cumplan las siguientes condiciones:
CÁMARA CON NIVEL DE RUIDO MEDIOTras un largo tiempo en que 12 bits fueron la norma en cámaras réflex digitales, uno de los primeros modelos de 14 bits que apareció fue la Canon 40D. Vamos a tratar de comprobar si la esperable mejora en ruido de su sensor justificaba o no el aumento de bits de su conversor A/D.Para ello analizaremos las sombras más profundas aún con detalle de la siguiente escena cortesía de Bea Molina, capturada con subexposición deliberada (puede notarse incluso el banding en el fondo): Fig. 3 Captura subexpuesta con Canon 40D. Pasando el ratón por encima del siguiente recorte, podemos ver el efecto que tiene en la información capturada en la zona de sombras profundas aún con detalle, la reducción a 12 del número de bits del archivo RAW: Fig. 4 Recorte al 200% de sombras profundas Canon 40D (mover ratón). Algunos niveles marginales quedan recortados a cero por el redondeo, lo que provoca un aumento aparente de contraste. Pero ni se pierden texturas útiles ni tampoco aparece posterización por pérdida de degradados tonales. La conclusión es que el nivel de ruido del sensor de esta cámara en las sombras profundas, es lo bastante alto incluso a ISO100 como para hacer que sus 14 bits resulten innecesarios. Los archivos RAW de la Canon 40D podrían codificarse con 12 bits y ninguna imagen debería perder calidad por ello tras el revelado. La cámara probada, como la mayoría de cámaras actuales de 14 bits, es un reloj dotado de segundero (RAW de 14 bits) pero que sin embargo va atrasado o adelantado una cantidad de minutos desconocida (ruido superior a 2 bits). CÁMARA CON NIVEL DE RUIDO BAJOComo ya hemos comprobado en el artículo Pentax K5. El sensor perfecto?, la recién aparecida Pentax K5 con sensor Sony ha marcado una importante diferencia en cuanto a ruido con lo existente hasta ahora. Solo la Nikon D3X (con sensor FF), se le asemeja en bajo nivel de ruido y rango dinámico.Veamos si gracias a ello estamos por fin ante una cámara en la que se justifica el uso de 14 bits, o de nuevo con 12 bits habría sido suficiente para sacarle todo el partido. Para analizar la pérdida de detalle por reducción de bits, utilizaremos las sombras profundas de la siguiente escena que resultó 6 pasos subexpuesta en la captura: Fig. 5 Captura subexpuesta con Pentax K5. A continuación podemos ver cómo se degrada el histograma RAW a medida que vamos reduciendo el número de bits. Cada bit perdido reduce a la mitad el total de niveles disponibles: Fig. 6 Histogramas RAW con progresivo diezmado de bits. La zona que nos interesa son las sombras profundas (chaqueta del modelo), correspondiendo al pico inicial del histograma. Cuenta apenas con unos 32 niveles tonales distintos para el canal G y unos 16 para los canales R y B. Pasando el ratón por encima de la siguiente imagen, podremos ver el efecto que tiene la pérdida de bits en el recorte indicado en la Fig. 5 una vez revelado el archivo RAW: Fig. 7 Recorte al 200% de sombras profundas Pentax K5 (mover ratón). Esta vez el efecto del diezmado de 14 a 12 bits es muy diferente a lo que ocurría con las sombras profundas de la Canon 40D. Con este sensor sí se da una clara pérdida de calidad de la imagen resultante, notable sobre todo en la pérdida de degradado tonal por posterización de niveles. La conclusión que sacamos es que ahora sí estamos ciertamente ante un sensor en el que los 14 bits no son un capricho del marketing, sino una necesidad real si se desea exprimir al máximo la información capturada. El resultado era bastante previsible dada la gran diferencia de ruido que presenta este sensor a ISO80 respecto a otros APS-C e incluso FF, y ha sido en realidad lo que me ha impulsado a escribir este artículo. CÁMARA CON NIVEL DE RUIDO ALTOHasta ahora hemos hecho el experimento al ISO real más bajo de cada cámara. Como para un mismo nivel de exposición RAW cuanto menor sea el ISO menor será el ruido visible, estábamos situándonos en el caso peor, es decir donde más exigente era la captura en cuanto a requisito de bits para codificar el archivo RAW.Como prueba final nos vamos a ir al extremo opuesto: tomaremos una cámara (Olympus E-P1) con un sensor no especialmente brillante en cuanto a su nivel de ruido, y además vamos a analizar el efecto de la pérdida de bits en las sombras más profundas aún con detalle a un ISO elevado (ISO1600). Lo esperable será que en estas circunstancias el archivo RAW soporte un fuerte diezmado de bits antes de que éste se note en el resultado final. Unas imponentes botas Chippewa harán de motivo para la prueba: Fig. 8 Captura subexpuesta con Olympus E-P1. De lo que se trata es de ver hasta dónde podemos perder bits antes de que se note pérdida de calidad en las zonas más oscuras de la imagen con información útil, respecto a los 12 bits nativos del archivo RAW original: Fig. 9 Recorte al 200% de sombras profundas Olympus E-P1 (mover ratón). Pasando el ratón por la imagen, vemos que como ocurriera con la imagen de la Canon 40D hay niveles que se recortan a negro aumentando el contraste aparente, pero ni se pierde detalle útil ni aparece posterización. El archivo RAW original que ya era de 12 bits (en lugar de 14 bits como en las otras dos pruebas), ha podido diezmarse hasta nada menos que 8 bits sin pérdida de calidad o información en la imagen final. El alto nivel de ruido presente en la captura, propiciado por un sensor un tanto mediocre usado además a un nivel de ISO alto, ha enmascarado totalmente la posible pérdida de calidad por reducción de niveles tonales. Y esto mismo ocurrirá con cualquier cámara: solo los valores más bajos del ajuste ISO estarán en disposición de exigir el máximo número de bits del conversor A/D. A medida que subamos el ISO, el aumento de ruido hará que pasen a resultar redundantes uno tras otro los bits menos significativos del RAW. NOTA: el recorte de la Fig. 9 ha sido previamente reescalado al 50% por nearest neighbour para abarcar una zona más amplia de la escena original, hecho que no influye en las conclusiones obtenidas. TEORÍA DE LA INFORMACIÓN Y OPTIMIZACIÓN DE BITSEn la Fig. 2 quedaba patente que la respuesta lineal del sensor genera una enorme desproporción entre los tonos dedicados a las sombras, y los dedicados a las luces cuando la codificación de niveles respeta dicha relación lineal.El número de bits del conversor A/D se escoge para resultar suficiente en las sombras en función del ruido del sensor, quedando así las altas luces representadas por un número de posibles valores muy superior al necesario. Esto es aprovechado por varios fabricantes para aplicar técnicas basadas en la Teoría de la información, con el fin de llevar a cabo codificaciones ingeniosas del RAW en las que, sacrificando niveles redundantes de las altas luces, pueda reducirse el tamaño del archivo final sin pérdida de calidad de imagen. Veamos un par de ejemplos de aplicación de esta filosofía: RAW DE 8 BITS EN LA LEICA M8Quizá la cámara donde se ha llevado más lejos este tipo de técnicas sea la Leica M8. Sus archivos RAW se codifican con tan solo 8 bits (256 posibles niveles tonales), pero repartidos de una forma no lineal muy inteligente que dedica un número de niveles en las sombras profundas cercano al de una codificación lineal de 12 bits. Por contra se renuncia a niveles en los tonos medios y altas luces, donde los 12 bits lineales resultaban bastante redundantes.El resultado son archivos RAW de un tamaño muy contenido, pero con una riqueza tonal adecuada a los niveles de ruido y necesidades de su sensor en todo el rango de niveles de exposición del RAW. En la siguiente figura puede verse el histograma RAW de un DNG de la Leica M8, mostrando claramente un espaciado creciente entre los niveles tonales conforme nos alejamos de las sombras: Fig. 10 Histograma RAW de Leica M8. Representando el mismo histograma RAW por pasos de exposición (por claridad solo el canal R), vemos que dedica a las sombras profundas (franjas -11EV a -8EV) prácticamente la misma cantidad de niveles que un RAW de 12 bits codificado linealmente de una Canon 350D, cuando éste dispone en total de 16 veces más niveles tonales (256 vs 4096): Fig. 11 Histogramas RAW de Leica M8 vs Canon 350D por pasos de exposición. COMPRESIÓN "CON PÉRDIDAS" DE NIKONOtro ejemplo inteligente de aplicación de la teoría de la información lo encontramos en los archivos NEF con compresión con pérdidas de Nikon.Como explica de manera muy detallada Emil Martinec en su artículo An aside on "lossy" NEF compression, esta compresión mapea los 4096 posibles niveles que brinda una codificación de 12 bits, en valores que dedican el máximo nivel de definición posible a las sombras, pero una mayor separación de niveles en los tonos medios y altas luces. Se trata de una compresión con pérdidas respecto a una codificación de 14 bits por cuanto que se eliminan niveles RAW redundantes. Sin embargo a efectos prácticos esta pérdida de niveles no tiene impacto real en la calidad de imagen final. CONCLUSIONESCon el propósito de comprobar la importancia del número de bits del RAW en la calidad de la imagen final, se ha llevado a cabo el experimento de revelar archivos RAW de varias cámaras simulando un número de bits decreciente con respecto a los que tenía el conversor A/D original de la cámara.Se ha podido constatar que existen cámaras de 14 bits (Canon 40D en la prueba), que realmente no aprovechan los 2 bits extras que poseen respecto a un hipotético conversor de 12 bits. El motivo es que son sensores con un nivel de ruido que no es lo suficientemente bajo como para poder disfrutar de la mejora que a priori pudieran brindar los bits adicionales. Se trataría por tanto de cámaras cuyos 14 bits responden a una estrategia de marketing del fabricante, y no a una mejora tecnológica o necesidad real. Por otro lado ya existen cámaras de 14 bits (Pentax K5 en la prueba), que sí se benefician de los 2 bits adicionales respecto a una codificación de 12 bits. Al menor ISO real, su sensor proporciona unos niveles de ruido lo bastante bajos como para hacer que 12 bits resulten insuficientes si se pretende sacar el máximo partido de las cualidades del sensor. Se ha replicado la prueba con una cámara especialmente ruidosa (Olympus E-P1 en la prueba) y a un ISO deliberadamente alto, comprobándose que el empleo de ISOs elevados reduce notablemente la exigencia de bits del RAW. De ahí que ninguna cámara, por poco ruidosa que sea, vaya realmente a requerir más de 12 bits del RAW en aplicaciones de alta sensibilidad. Finalmente se comenta la posibilidad de aplicar técnicas de teoría de la información a la codificación del RAW, para reducir el tamaño de los archivos sin una merma real en la calidad de imagen. Se comentan los casos de la Leica M8 y la compresión "con pérdidas" de Nikon. Si este contenido te ha resultado útil, considera realizar una contribución para asegurar la continuidad de esta web. Mantenerla supone un importante esfuerzo, así como un espacio y ancho de banda considerables en el servidor. Es una operación sencilla y totalmente segura. gluijk@hotmail.com |
ARTÍCULOS HOME |