Banding

Nota técnica
Me encontré muchas veces intentando explicar que para archivos de 8 bits, las codificaciones Log no traen ventajas, sino mas bien dificultades. La explicación del porqué llevaría algunos caracteres más, los cuales están a continuación de este párrafo.
Una impresora no posee tinta gris. El gris lo consigue alternando puntitos negros sobre la hoja blanca. Este método se denomina Halftoning, el cual consigue un tono medio a través de un tramado. Los monitores también utilizan este método, denominado Dithering. A diferencia de la impresora, cada primario aditivo del monitor puede emitir una gran variedad de tonalidades por canal RGB, por lo que utilizaría entonces diferentes niveles de brillo de un mismo rojo, verde o azul.
Tanto los puntos de impresión como los “picture elements” o pixels son tan pequeños que a la distancia desde cual los visualizamos seríamos incapaces de individualizarlos, resultando en estímulos integrados espacialmente, lo cual da lugar a la sensación de tonos medios o colores secundarios “sintéticos”.
El monitor tiene una ventaja sobre la impresora: puede generar intensidades por pixel. Pero así y todo cada pixel posee una resolución binaria, la cual define su profundidad. En general un monitor mínimamente posee la capacidad de reproducir 256 intensidades de un mismo primario, y con un archivo de 8 bits por canal se puede aprovechar al 100% el Bit Depth.
Una superficie plana iluminada con luz artificial retratará siempre un gradiente, de mayor o menor contraste, y esto se debe al natural decaimiento de la luz. Al fotografiar este plano, al gradiente se lo retratará con algo de ruido, factor natural de la captación fotográfica. Esta variación tonal aleatoria oculta muchas veces un problema que encuentran los displays al enfrentar una alta definición contra una baja profundidad de bits.
El HDTV posee una resolución full de 1920 píxeles de ancho. Para dibujar un gradiente horizontal perfecto que va del negro al blanco sería necesario un valor para cada pixel, lo cual exige una profundidad igual o mayor que 1920 valores de código, lo cual se cubre con no menos de 11 bits (2¹¹=2048). Entonces 10 bits, que son 1024 valores, nunca podrían generar un gradiente horizontal perfecto sin repetir valores cada dos píxeles. Mucho menos con 8 bits que son apenas 256 valores. Y si intentáramos dibujar un gradiente de menor contraste, que va del gris medio hacia el blanco, entonces necesitaríamos 12 bits para no repetir valores.
Pero entonces, por qué no notamos esa repetición de valores?
Esto se debe a que existe un umbral de diferencia perceptible (Just-Noticeable Difference JND), y esta guarda relación con el rango dinámico del monitor y la relación de la profundidad del pixel. Un monitor de rango dinámico estandar SDR con 256 o 1024 valores de código puede mantenerse por debajo del JND. Diferentes estudios de la percepción humana como las leyes de Weber-Fechner, DeVries-Rose, y ensayos de Schreiber y Barten definen umbrales JND a diferentes niveles de iluminanción, resultando en una respuesta no lineal al estímulo, por lo que la ecuación de cómo funciona la percepción humana es extensa debido al complejo mecanismo visual.
El problema es cuando la profundidad, al ser poca en relación al contraste de nuestro monitor, aún intentando echar mano del recurso del dithering, hace visible una discontinuidad en un gradiente.
A este fenómeno se lo denomina Banding.
Es un digital artifact, una imprecisión de los valores discretos frente al contínuo analógico. A veces en un mismo gradiente se hacen visibles varias franjas, como si se trataran de escalones en una rampa.
Qué sucede cuando se corrige color a una imagen de apenas 8 bits? Se corre el gran riesgo de generar banding.
Cámaras que codifican Log y graban internamente con sólo 8 bits, al deshacer su codificación y pasar a 709 en post harán visible en sus gradientes contrastados el banding, por lo que no se recomienda utilizar codificaciones Log en 8 bits. En todo caso, se podría grabar con un grabador externo de 10 bits la señal de esta cámara y reducir la posibilidad de aparición de banding.
Las herramientas para “reducir” banding realmente no existen, sino que son meros generadores de ruido en las fronteras del banding, lo cual muchas veces son efectivos si lo que se prefiere es un artifact mas analógico que digital.
Domingo, 28 Abril, 2019