POR QUÉ A 16 BITS
De un tiempo a esta parte interpretamos 16 bits
como sinónimo de nivel profesional tanto en el tratamiento digital
como en las prestaciones de cámaras, escáneres o programas.
Realmente, ¿es necesario trabajar a 16 bits? ¿Cuáles
son las ventajas de utilizar una gama tonal mucho mayor que la que nuestros
ojos son capaces de discriminar?
Hemos visto en el artículo anterior cómo
la información de color de una imagen digital se organiza en canales,
y que lo usual en los modos de color más comunes es que cada píxel
sea descrito con un byte de información por cada primario o canal.
La profundidad de bits es en estos casos igual al número
de canales multiplicado por 8. Por ejemplo, RGB tiene una profundidad
de 24 bits, o lo que es lo mismo, tres bytes. Si elevamos 2 a una potencia
igual a la profundidad de bits, tendremos el número de colores
reproducibles: en RGB, 2 elevado a 24 son 16,77 millones, mientras que
una escala de grises, monocanal, se queda en 2 elevado a 8, que son 256.
Gama tonal y continuidad
Disponer de varios millones de colores reproducibles y de 256 niveles
de luminosidad es más que suficiente para que percibamos los degradados
y variaciones de color como algo perfectamente continuo, sin escalones.
El problema viene al retocar las imágenes, modificándolas
dentro de esta gama de valores discretos mediante técnicas de procesado
digital, que no son otra cosa que cálculos matemáticos.
Se produce así una degradación en la continuidad de los
tonos.
Las razones son de simple aritmética. Supongamos
que tenemos 6 valores enteros: 1, 2, 3, 4, 5, y 6, y que realizamos tres
multiplicaciones consecutivas: por 4/3, por 1/2 y por 3/2. En teoría
el resultado final es el mismo que el inicial. Pero en la práctica
depende del nivel de aproximación que permita la escala. Veamos
qué sucede si cada operación tiene que redondearse a un
número entero:
Redondeo
de cada cálculo al número entero más próximo
Supongamos ahora que se nos permite aproximar un decimal. Los cálculos
ya serían diferentes:
Redondeo
de cada cálculo al primer decimal más próximo.
La escala del segundo cálculo, al tener 10 pasos por cada uno
de la anterior, reduce muchísimo las desviaciones debidas al redondeo.
Ahora valoremos lo que significa trabajar a 16 bits por canal: nos movemos
en una escala que tiene 256 pasos por cada uno de los 256 de la escala
de 8 bits, es decir, un total de 65536.
Compresión y expansión
Parece evidente que el segundo caso resiste mucho más la posterización.
Podemos comprobarlo con una simple prueba. Observemos el histograma siguiente,
en una imagen de 8 bits por canal, sobre el que hacemos con la herramienta Niveles un movimiento con el regulador gris
para oscurecer los tonos medios.
Como consecuencia, los píxeles que ocupaban los primeros 128 valores
se comprimen en 64 niveles, produciéndose una superposición
en varios de éllos. Mientras tanto, los que ocupaban los 128 valores
claros, se distribuyen en los restantes 192, dejando algunos espacios
vacíos.
El histograma resultante muestra los efectos de esta pérdida de
rango por un lado, y de continuidad por el otro, en lo que conocemos como
"efecto peine":
Aplicando el ajuste de niveles inverso, la imagen debería
recuperar su aspecto original, pero aunque visualmente no se aprecie,
el histograma empeora, mostrando que los cambios en la mitad oscura, que
sufrió compresión tonal, no son recuperables, y los de la
mitad clara sólo lo serán si la compresión se corresponde
con la expansión del primer movimiento.
Sin embargo, si convertimos primero la foto a 16 bits por
canal, y realizamos las dos operaciones de ajuste, el histograma recuperará
su perfil inicial, porque no hubo superposición de grupos de píxeles
en la primera.
De hecho, en el histograma que acabamos de ver se visualiza
el efecto peine en la zona izquierda pero es engañoso si no se
interpreta bien. Nos está informando de que hay cierta proporción
de valores desocupados en ese rango, pero se refiere a la escala de 16
bits (65.536 valores). Si convertimos ahora a 8 bits, veremos un histograma
mucho más parecido al inicial que si hubiésemos hecho las
modificaciones a 8 bits.
¿Cuándo merece la pena?
La conclusión que se impone es que la profundidad de bits expandida
es aconsejable en la medida en que vayamos a realizar procesos de ajuste
complejos, ya que proporciona espacio para maniobrar cómodamente
preservando la continuidad.
Se pueden aprovechar sus ventajas en imágenes de
8 bits, convirtiéndolas, y por supuesto también cuando la
captura en origen ya tiene una profundidad amplia, como puede ser la digitalización
mediante escáner o los datos RAW de una cámara. El inconveniente
es duplicar el peso informático del archivo, pero siempre podemos
convertir a 8 bits para guardar la versión final.
Aclaremos finalmente que los datos RAW de muchas cámaras
están cuantificados a los 12 bits que permite la fiabilidad de
su tecnología, pero se anotan a 16, por razones obvias de estandarización
y compatibilidad con el software. Los 4 bits sobrantes, que son idénticos
en todas las muestras, no merman el aprovechamiento de las tarjetas de
memoria ahora que en la propia cámara se aplica compresión
sin pérdidas.
Pues bien, cualquier ajuste en el proceso de los datos RAW
lo hacemos ya en un espacio de 16 bits, por tanto no tenemos 4096 niveles
por canal, sinó 65536.
Se podría pensar incluso, viendo los histogramas
de los ejemplos, que esta mayor continuidad no se aprovecharía,
ya que los píxeles de cada uno de los 4096 grupos deambularían
juntos por la escala de 16 bits, pero ésto solamente es así
en las operaciones que hemos definido alguna vez como de mejora global:
niveles, curvas, brillo, contraste, etc.
En las de mejora local -enfoques, filtros- en que cada píxel
se modifica en relación a los que le rodean, los valores resultantes
si que se distribuirían por toda la escala disponible.
|