Reducción de ruido en cámaras de cinematografía digital (XIV) – Mejoras para datos reales
A lo largo de toda esta serie hemos visto cómo los algoritmos más punteros de reducción de ruido están bastante limitados cuando se aplican de manera efectiva a datos reales de cámara. Las limitaciones se deben a tres motivos fundamentales:
- El modelo poco realista que se ha asumido en el diseño de los algoritmos.
- El engañoso uso de medidas erróneas que no reflejan la verdadera percepción humana de la calidad visual.
- Los algoritmos de reducción de ruido han incrementado mucho su complejidad y resulta cada vez más complicado encontrar soluciones computacionalmente eficientes que proporcionen alta calidad visual.
A continuación, resumimos cuáles son las respuestas que hemos encontrado a las preguntas que nos hicimos en la introducción de estos artículos.
¿Cómo se pueden mejorar los métodos de reducción de ruido para aplicarlos a los datos reales de cámara?
Tal y como hemos mencionado en infinidad de ocasiones, el ruido blanco gaussiano –que asumimos de manera común– es diferente al ruido de cámara en aspectos demasiado fundamentales como para ignorarlos. En la imagen ya procesada para su visualización en pantallas, el ruido está correlacionado espacialmente, depende de la señal y su distribución no es gaussiana.
Resulta más fácil elaborar un modelo a partir del ruido de los datos del sensor, pero las propiedades de la señal son distintas de las de los datos ya procesados, porque los valores son lineales con respecto a la cantidad de luz. Las diferencias en los datos lineales que se dan en las zonas de alta intensidad lumínica conllevan bordes extremadamente pronunciados y, por lo tanto, grandes diferencias de píxel a píxel.
Como semejantes diferencias rara vez aparecen en las imágenes ya procesadas, muchos algoritmos muestran artefactos alrededor de los bordes entre zonas muy luminosas y otras muy oscuras cuando se aplican a datos lineales. Hemos comprobado que el preprocesado de los datos lineales sólo puede reducir estos artefactos en algunos de los algoritmos.
Por tales motivos, analizamos los dos nuevos métodos de reducción de ruido para los datos reales de cámara que se han propuesto. Ambos están diseñados de manera específica para trabajar en el campo lineal. El primero opera sobre los datos RAW de los datos del filtro Bayer y el segundo sobre los datos lineales RGB, teniendo en cuenta la correlación espacial del ruido de cámara.
El primer método depende de una Transformada Del Coseno Discreta (DCT) adaptable a la forma (SA-DCT). Se puede adaptar bien a los datos lineales, ya que las formas son homogéneas y no incluyen grandes diferencias de pixel a pixel. Aunque el método SA-DCT original se propuso para datos estándar sin la presencia de filtro Bayer, el método que se propone actualmente puede reducir el ruido de los datos Bayer de manera directa.
Consta de tres pasos: Una transformación de la luminancia de los datos Bayer, la determinación del conjunto de pixeles adyacentes adecuado para la reducción de ruido y la umbralización de alta intensidad en el dominio de la SA-DCT. El método se adapta al ruido de cámara en los datos RAW con un umbral localmente adaptativo y pesos dependientes de la señal.
Cuando se aplica a los datos reales de cámara y a los simulados de manera realista para las pruebas, muestra buenos resultados en comparaciones –visuales y cuantitativas– con otros métodos de última generación. Para mejorar tales resultados sobre datos de vídeo, se ha agregado un paso adicional de filtrado temporal que consigue evitar el parpadeo asociado al tiempo.
El siguiente método se basa en la umbralización por medio de la transformada de ondícula, con una función de contracción que se ha adaptado a los datos RGB lineales y puede manejar los grandes gradientes alrededor de las altas luces. Al estar diseñado para datos lineales debayerizados, necesita tener en cuenta el ruido correlacionado espacialmente.
Este método lidia con las características del ruido de cámara por medio de factores del ruido de ganancia dependientes de niveles de descomposición. Tanto las inspecciones de su calidad visual como las medidas objetivas cualitativas muestran sus ventajas. Como las representaciones de la ondícula se emplean ampliamente para la reducción de ruido, los factores del ruido de ganancia que se desarrollan podrían utilizarse para mejorar también otros algoritmos basados en la ondícula.
Es cierto que ambos métodos muestran resultados agradables visualmente. El método de aplicar la transformada de ondícula sobre los datos lineales RGB elimina más ruido que el de reducción por medio de la transformada del coseno discreta adaptable a la forma de los datos Bayer. Al operar sobre los cuatro subcanales de forma independiente, este último ve limitada su fortaleza. Cualquier reducción de ruido que opere de manera independiente sobre cada canal de color puede implicar la aparición de artefactos cromáticos.
El método de la ondícula, en cambio, opera sobre datos que ya incorporan toda la información de color. Eso posibilita alcanzar una fortaleza superior en la reducción de ruido. Sin embargo, el ruido remanente no es tan natural como el remanente con el método de la SA-DCT.
¿Qué métodos de reducción de ruido se pueden desarrollar de manera eficiente?
Los dos métodos propuestos se diseñaron para requerir una complejidad computacional muy baja y permitir el procesado en tiempo real en los sistemas en los que se incrusten. La SA-DCT se puede desarrollar de un modo similar al bloque estándar de la DCT. Como la mayoría de los algoritmos de compresión utilizan una transformada del coseno discreta, los desarrollos de hardware eficiente ya están disponibles desde hace años. Pero aunque los requerimientos de memoria sean bajos en comparación con los de algoritmos no locales, el solapamiento de formas necesita de un desarrollo en paralelo de alta intensidad, que puede exceder la potencia de procesado.
La umbralización bivariada basada en la ondícula se cimienta sobre una transformada de la ondícula discreta (DWT) de cambio invariante, fácil de computar por medio del uso de filtros de baja complejidad. Se pueden alcanzar resultados de alta calidad, a pesar de la sencillez de la transformación.
No es menos cierto que se podrían mejorar con mejores filtros o con transformaciones más complejas, pero los requerimientos de procesado se incrementarían de manera drástica, porque la descomposición de la ondícula constituye la parte más importante de los recursos necesarios. Estos recursos son directamente escalables con relación al número de niveles de descomposición de la ondícula.
Un desarrollo de tres niveles en una matriz de puertas programables (FPGA) permite un rendimiento de apenas 30 fps en alta definición en tiempo real. La reducción de ruido es sólo una de las múltiples tareas de procesado de la imagen que tienen lugar en una cámara. Los recursos necesarios para la descomposición de la ondícula pueden resultar excesivos para esa clase de sistema. No obstante, tal descomposición también puede facilitar la consecución de otras tareas de procesado de la imagen, en cuyo caso el esfuerzo de desarrollo quizá merezca la pena.
En ambos métodos, es crucial alcanzar una solución de compromiso entre la calidad visual y los requerimientos de memoria. Un número mayor de píxeles adyacentes y de niveles de descomposición de la ondícula posibilita una calidad visual superior. La SA-DCT requiere de memoria temporal adicional para almacenar los cálculos de –al menos– 150 solapamientos.
Por eso puede ser ventajoso emplear el método de la DWT para obtener una reducción de ruido muy eficiente, pero como ya hemos indicado los resultados de la SA-DCT son más naturales. En consecuencia, la solución de compromiso se ve influenciada por la potencia de procesado y los recursos de memoria disponibles en el sistema, por la posibilidad o imposibilidad de compartir la memoria temporal con otros módulos de procesado de imagen y por las aspiraciones de calidad visual de su aplicación.
La combinación de la reducción de ruido espacial con un paso de reducción del ruido temporal, mejora de forma significativa los resultados de los métodos. De modo que siempre que sea factible el incremento de la capacidad de la memoria temporal del sistema, la reducción de ruido temporal debería incorporarse al mismo.