Cuantificación y Dither, el ruido bueno

Veamos una vez más la imagen de Lena:

lena_8bits_redondeo
Lena

En este post veremos cómo reducir el número por bits por muestra de una imagen, pero tratando que la calidad se vea afectada lo menos posible. En este caso, sorprendentemente, un ruido inyectado voluntariamente mejora la calidad final. Para empezar, recordemos:

¿Qué es la cuantificación?

La cuantificación es el proceso a través del cual una señal analógica (con niveles de voltaje, por ejemplo) se representa a través de niveles digitales (valores discretos). La señal analógica es perfecta, pero la señal digital ha de ser almacenada como datos en una memoria. La cuantificación es el proceso a través del cual se determinan los números que hay que guardar en esa memoria, y a través de los cuales tenemos que ser capaces de reproducir de nuevo la señal para presentársela al usuario.

Una señal de audio analógica puede tener en un instante de tiempo (diferencial) un valor de tantos decibelios (dB) de nivel de presión sonora (SPL); de la misma forma una imagen analógica puede tener en un punto del espacio (diferencial) un nivel de brillo determinado. El equivalente psicológico del brillo, en fotometría, es la luminancia y se mide en nits o candelas/m2. Las candelas son la intensidad luminosa de una fuente, lo mismo que un altavoz emite con cierta intensidad sonora. Lo interesante es que un sistema de captación, traducirá el SPL o la luminancia en una señal analógica eléctrica, en voltios, y esa señal tiene infinitos niveles. Sin embargo, para almacenar, reproducir, transmitir o procesar esa señal en sistemas digitales, es necesario disponer de ella muestreada con un número discreto de niveles (esto es la cuantificación).

Por ejemplo, la señal de audio muestreada en calidad CD se muestrea a 44100Hz y 16bits/muestra, lo que se considera una calidad perfecta para nuestro oído. Igualmente, se considera que el ojo no es capaz de discernir más de 256 niveles de gris (8 bits/muestra) pero para tener aún más calidad de imagen se pueden registrar las muestras a 10 o 12 bits de precisión. Y estamos hablando en todo momento de cuantificación lineal, es decir, dividimos el margen dinámico de la señal analógica en escalones de cuantificación iguales. Si el brillo captado por la cámara genera una señal entre 0 y 1 Voltio, para 256 niveles digitales, cada nivel está asociado a un escalón de 1/255 Voltios.

¿Por qué la compresión?

Con el avance tecnológico, cada vez se tienen menos en cuenta los requerimientos de espacio, las señales se almacenan con la máxima resolución posible porque el almacenamiento en disco se abarata (famoso Big-Data). Sin embargo, cuando el ancho de banda de una línea de transmisión sí es una limitación, por ejemplo para transmitir audio o video a una sonda o estación espacial, es importante la compresión. La imagen de Lena anterior está cuantificada con 8 bits. ¿Qué pasa si le quitamos los bits menos significativos a la imagen? Para quedarnos por ejemplo con:

Lena 2 bits
Lena con 2 bits
Lena 3 bits
Lena con 3 bits

La pérdida de calidad es más que evidente. El dither es un mecanismo que nos permite maquillar un poco estos resultados.

¿Qué es el dither?

Suponiendo que hemos de reducir el tamaño de las muestras de una señal, por ejemplo para realizar una transmisión, el dither consiste en añadir a la señal original (antes de re-cuantificar) un ruido blanco con una amplitud de pico igual a un escalón de cuantificación de la señal resultante. Para 2 bits tenemos 4 niveles, 3 escalones de 256/3 niveles originales, habría que añadir un ruido de amplitud 85 niveles originales de brillo. Esto hará que aleatoriamente algunos píxeles sean recuantificados al nivel superior o inferior, especialmente en las transiciones de nivel a nivel. Para 3 bits tenemos 8 niveles y 7 escalones de 256/7, amplitud del ruido a añadir. Y los resultados:

Lena 2 bits + dither
Lena 2 bits + dither
Lena 3 bits + Dither
Lena 3 bits + Dither

Con más bits los resultados empiezan a ser realmente parecidos. Es decir, con 4 bits, gracias al dither somos capaces de representar la imagen casi igual que la original con la mitad de información. Por eso el dither es una técnica muy a tener en cuenta, siempre que por requerimientos del sistema sea necesario reducir a la baja el número de bits por muestra.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *