LUTs Guia para principiantes

LUTs Guia para principiantes, Entérate…

En Tips by Fernando Ulloa Muñoz

Phil Rhodes todo lo que siempre deseaste saber acerca de los LUTs…

Haciendo que el cine se vea sutilmente diferente – o incluso drásticamente diferente – es algo que ha sido habitual por años en postproducción. Sigilosamente a lo largo de los últimos diez años o más, ha sido un requisito hacer malabares con la corrección de color y calibración en el set y como con cualquier cosa que toca al cine, hay una variedad fascinante de maneras de cometer terribles errores.

Propósito y Aplicación

Es el objeto de este artículo evitar esos problemas, desde luego, y el mejor lugar para empezar a adquirir un conocimiento profundo acerca de las tablas de búsqueda “lookup tables”, para qué sirven, y como están implementadas, así como la forma en que se relacionan con enfoques alternativos tales como transformaciones definidas numéricamente. Tablas de Búsqueda “Lookup tables”, o LUTs, son usadas en todas partes, desde cámaras dispositivos de conversión y monitores para software de postproducción e incluso herramientas de procesamiento en línea de comandos.

Al margen de las circunstancias, el propósito de las tablas de búsqueda es para hacer los ajustes de color y brillo a una imagen, sin importar que esa imagen sea un archivo en una estación de trabajo o volando por un cable. Las razones para hacer esto son diversas. Una caja diseñada para aplicar una calibración para un display (o función integrada en el display que realiza la misma función) está usando una LUT. Cargar una LUT en una cámara puede estar intencionada para aplicar creativos colores y cambios de brillo para la salida de monitoreo de la cámara, como una vista aproximada de la producción final para el beneficio de la gente en el set al tiempo que conservan la opción de ajustar en post. En otras palabras, una LUT puede ser aplicada a los datos de una imagen, que no fue diseñada para ser vista directamente – como la salida “log” de una cámara – para hacerla mas fácil de ver.

En la práctica, las LUTs generalmente son manejadas como archivos, y son, desafortunadamente, una gran cantidad de formatos incompatibles y, a veces no hay forma de hacer conversión sin pérdida. Creando una gradación con algunas imágenes de prueba, luego llevar esa gradación a un monitor o cámara en el set, es un deseo razonable, pero puede haber algunos obstáculos en el camino.

Principales Tipos de LUTs

Existen tres enfoques técnicos principales para alterar el brillo y el color en las imágenes: LUTs de una-dimensión, LUTs de tres-dimensiones, y, uno secundario, en la forma de transformaciones matemáticas. No hay, por razones que pronto quedarán claras, no hay tal cosa como una LUT 2D. En general, el término tabla de búsqueda “lookup table” puede ser tomado literalmente: por cada valor de entrada existe un valor fijo de salida.

Una LUT unidimensional, es tal vez la mas comparable a algo como el filtro curvas de Photoshop, donde cada uno de los canales de color rojo, verde y azul son tratados de forma diferente – posiblemente mejor descrito como un set de tres listas de valores. frecuentemente, las LUTs 1D trabajan en diez bits, así por cada canal RGB existen 1024 valores y la operación es muy literal. Consideremos una tabla de búsqueda, que solo tiene 10 valores, para mantener las cosas sencillas.

LUTfig_1

Fig. 1: Tres listas numéricas de una LUT 1D

Como podemos ver, la mayoría de los números en los canales rojo y verde se incrementan por uno, linea por linea; la salida, en este caso es igual que la entrada. Por otra parte, el canal azul, contiene números que no siempre incrementan por uno. Dibujemos rápidamente una carta con los valores para obtener una buena idea de lo puede hacer:

LUTfig_2

Fig. 2: Las curvas descritas por la LUT ejemplo

Como podemos ver, el canal azul ha sido reducido en sus medio tonos – una reducción en el gamma del azul. Esto tiene el efecto de empujar la imagen hacia el amarillo. Lo hará mas o menos, aunque el aspecto del efecto dependerá del contenido de la imagen.

LUTfig_3

Fig. 3: 1D LUT en la imagen

Esto ilustra uno de los asuntos clave con las LUTs, particularmente las intencionadas para cambiar una imagen que está en una norma – digamos Sonys SLog3 curva-de bajo-contraste – en otra, como el estándar de monitoreo ITU-T Recomendación 709 (Rec. 709). Una tabla de búsqueda unidimensional puede hacerlo. Lo que no puede hacer una LUT 1D, sin embargo, es cambiar algo que es enteramente azul ten algo que es enteramente rojo, o alterar la apariencia, digamos, de objetos púrpura-rosado sin alterar ninguna otra cosa. Una LUT 1D es con mucho el equivalente al filtro curvas de Photoshop – y de hecho, ése filtro actualmente guarda tablas de búsqueda las cuales pueden, por muchas formas, ser convertidas en formatos adecuados para usarlos en otro software y dispositivos de hardware. Haz clic en el ícono pluma, clic en el botón pobremente diseñado a la derecha del desplegable “preset”, y selecciona “save”. El archivo .amp resultante es un LUT 1D básico; software como Resolve tiene la habilidad de dar salida a cosas mucho más complicadas. Observa que si no obtienes un archivo .amp, no será un LUT convencional; clic en el ícono “pen” e intenta de nuevo.

LUTfig_4

Fig. 4: Guardando una LUT desde el filtro Curves en Photoshop

Por lo tanto, si algo contiene mucho azul, una LUT 1D puede reducir esa cantidad, pero no habrá forma de relacionar la cantidad de azul a la cantidad de rojo o verde. En un sentido artístico, si intentamos implementar una gradación, una LUT 1D no puede, por ejemplo, hacer un giro del tono (hue), o reducir o incrementar la saturación.

LUTs 3D

Podemos superar las limitaciones de la LUT 1D con una LUT 3D, que son un poco más complicadas que sólo listas de números. En lugar de concentrarse en los canales de color RGB individuales, cada uno de forma aislada, una LUT 3D tiene en cuenta el conjunto completo de tres valores RGB – un triplete – para cada píxel. Algunas veces esto es visualizado, y referido a, como un cubo (.cube es uno de los mas comunes formatos de archivos para LUTs 3D).

LUTfig_4a

 

Fig. 4A – Color visualizado como un cubo

Si denominamos a una de las esquinas del cubo como cero RGB, o negro, podemos imaginar los valores de entrada para el rojo, verde y azul, como distancias representadas a lo largo de los tres bordes del cubo que se encuentran en esa esquina. Midiendo las apropiadas distancias a lo largo de los bordes del cubo, podemos designar un punto dentro de él. En esa ubicación está otro set de tres números representando el valor de salida.

LUTfig_5

Fig. 5 – El valor de entrada mostrado aquí es 50% rojo, 75% verde y 90% azul (RGB 128, 192, 230 en color de 8-bit). El valor de salida ´puedes ser cualquiera.

Esto trabaja realmente bien; cualquier posible valor puede ser traducido en cualquier otro color. El problema es solo una cuestión de escala. Las aplicaciones para cinematografía digital real necesitan LUTs 3D que al menos tengan 1024 entradas en cada borde. Para una simple tabla de búsqueda 1D con precisión de 10-bit, necesitamos almacenar sólo tres sets de 1024 números para un total de 3072 números, cada 10 bits. Esto es solo algunos kilobytes de espacio de almacenamiento – menos que la mayoría de los correos electrónicos. Pero para un LUT 3D, para almacenar el valor de salida correspondiente para cada posible color en una imagen 10 bit, es una gran cantidad de información. Existe un total de 1024 * 1024 * 1024 colores en una imagen de 10-bit, o casi miles de millones, lo que significa que una tabla de búsqueda representando una salida con valor específico de 10-bit RGB para cada valor de entrada puede se cerca de 4GB – y esto sólo para datos de 10-bit. Tan grande al punto de ser difícil de almacenar y transportar, al menos casualmente, en un email.

Los verdaderos LUTs 3D – verdaderos cubos – no almacenan un valor explicito por cada valor de entrada. No hay un número en cada punto dentro del cubo. En su lugar, se almacenan una resolución más baja de dispersión de números – por lo que para cualquier valor de entrada dado pueden aparecer en medio de los valores de salida disponibles.

lutfig_6

Fig. 6 – El valor de salida deseado cae entre varios valores dados en una LUT 3D de baja resolución (puntos rojos)

El problema es cuando un número se busca, debe ser interpolado desde los mas cercanos valores disponibles, e interpolar no es una ciencia exacta. Cualquier técnica usada para crear una tabla de búsqueda original, no garantiza que los valores interpolados sean idénticos. Serán cercanos, pero no exactamente los mismos números, e interpolar con frecuencia es algo básico pues debe ser realizado alrededor de dos millones de veces por cuadro HD. Con frecuencia esto trabaja bien, pero si la LUT contiene cualquier ajuste aventurado de color, como podría ser representando una particular gradación extrema, puede ser posible ver un bandas o ruido de cuantización en lo que debería ser degradados de color suaves.

Y los requisitos aquí puedes ser muy importantes. algunos cubos se almacenan en una resolución de solo 17 por 17 por 17 entradas, lo que significa que cada conjunto de números que figuran en la LUT almacenada influye en un rango de números RGB en una imagen a 10-bit que es más de 60 valores de ancho. Esto es generalmente algo que mejora con el precio del equipo – cajas de proceso LUT de menor costo solo aceptarán entrada de LUTs de 17 al cubo. Pagando más puede producir un dispositivo capaz de tomar una LUT de entrada de 64 al cubo, lo que reduce la visibilidad de este tipo de errores.

Una palabra sobre los ajustes de color matemáticos

Cuando una pieza de software realiza un ajuste de color a una imagen, no se suelen usar tablas de búsqueda (aunque algunos lo hacen, de vez en cuando, como un atajo interno). En su lugar, el cambio de color requerido es elaborado como una pieza matemática. el término “gamma” en sí proviene del nombre de un término en una ecuación matemática. “Lift”, “gamma” y “gain” son los ajustes tradicionales en amplificadores de video y suites de transferencias de telecine y todos pueden ser modelados matemáticamente; eso es lo que hace la ASC’s Color Decision List (CDL). especifica términos de “lift”, “gamma” y “gain” para cada uno de los canales RGB, y un ajuste global de saturación.

LUTfig_7

Fig. 7 – Imagen de salida tiene Lift 0.25 azul, gamma rojo de 1.2 y gain verde de 1.25, produciendo una apariencia ahumada desvanecida.

Es simplista, sufriendo al menos algunos de los problemas de una LUT 1D, mas o menos la opción de saturación. De cualquier manera, se pretende que sea una manera ampliamente portátil de expresar intenciones de corrección de color, y es bastante mas sencilla de implementar que una LUT 3D. Fundamentalmente, los ajustes matemáticos como éstos no sufren los problemas de precisión y el ruido de cuantización asociado con algunas LUTs 3D, pero la diferencia de capacidades significa que los dos conceptos no son directamente equivalentes.

Limitaciones, Aplicaciones y Requerimientos

Las Aplicaciones para tablas de búsqueda en general es una gama desde conversión estándar a licencias artísticas, pero en cualquier caso la intención es la misma: la imagen que veamos sea lo más similar al resultado final. Esto es bastante obvio, sin embargo, la pregunta es por que puede ser un gran negocio. Después de todo, nunca tendremos ni siquiera una remota aproximación a una representación exacta de lo que al final debería ser una imagen de película de 35mm.

La cosa es, todos entendemos eso. Nadie juzga acerca de la imágenes en el set de video a 35mm, debido que todos sabemos son totalmente inexactas. Si un monitor va a estar bien, sin embargo, debe estar bien – tanto para garantizar que sabemos lo que estamos filmando, por lo que todo mundo espera los mismos resultados. O, por supuesto, también es muy posible hacer una LUT 3D que produzca una imagen en blanco y negro, de alto contraste, y decirle a todos que se trata de una imagen derivada.