Submuestreo de crominancia

Regularmente escribo este tipo de artículos en mi cuenta de Medium en inglés, sin embargo hoy haré la excepción, y como diría mi abuelo…

Submuestreo de crominancia

Regularmente escribo este tipo de artículos en mi cuenta de Medium en inglés, sin embargo hoy haré la excepción, y como diría mi abuelo, las razones son simples, porque quiero, porque puedo, porque me da la gana.

Una de las tantas cosas que me apasiona es el vídeo digital y uno de los factores que parece no ser muy comprendido es el famoso submuestreo de crominancia o chroma subsampling, un proceso por el cual se reduce la cantidad de información de color de las imágenes que comprenden un vídeo con el fin de que sea fácil de transmitir y aún de reproducir.

Existen cientos de explicaciones de cómo funciona el chroma subsampling pero ninguna realmente me termina de gustar puesto que explica más la notación de la relación en pixeles que en sí el panorama completo de lo que sucede, y pocos incluyen la historia y razón de esta tecnología, así que inspirado en el artículo de Colin Bendell CTO de Akamai y en el excelente vídeo de John P. Hess para Filmmaker IQ comparto un poco acerca del chroma subsampling.

La fotografía, el cine y la TV empezaron su existencia en blanco y negro, y comparten esta característica aún con las primeras PCs, la razón en principio es casi la misma, es más fácil reproducir una imagen basándose sólo en la cantidad de luz al momento de su captura.

El color en film:

Al día de hoy el film fotográfico simple sólo distingue la intensidad de la luz, más no su color, sin embargo, si se le pone un filtro que sólo deje pasar cierto color de luz, el film reaccionará sólo a esa intensidad de luz, es por ello que un film a color realmente está compuesto por tres films en blanco y negro separados por filtros de color bloquean ciertas frecuencias de color en cada capa, y luego de fotografiar una imagen, son procesados químicamente para fijar la imagen, para desteñir estos filtros y luego para hacer que reaccione cada capa cambiando de color.

https://en.wikipedia.org/wiki/Photographic_film#/media/File:Photographic_Film_135.svg

Hay algo verdaderamente mágico detrás de esta ciencia del color, la vista humana percibe luz y color por medio de los famosos bastones y conos, los primeros son más sensibles a la cantidad de luz, y los segundos al color de la luz, específicamente a la luz roja, verde y azul, sin embargo, para generar un film que capture estos tres colores primarios lo que se requiere es dejar que sólo pase un color a cada capa, de ahí que cada film en blanco y negro tenga un grupo de filtros de color cian, magenta, amarillo y negro, los mismos colores utilizados en impresión:

El color en la TV

La TV nació en Blanco y Negro o siendo más precisos, en escala de grises, la señal de TV combina vídeo y audio era transmitida por estaciones y recibida por la TV, esta amplificaba e interpretaba y reproducía la señal en los parlantes del a TV y línea por línea en la pantalla, lo que se conocía como un un tubo de rayos catódicos (CRT), algo que puede apreciarse gracias en cámara lenta en el vídeo de The Slow Mo Guys

Un inventor mexicano tuvo la idea de combinar tres tubos de rayos catódicos en uno, con el detalle de pintar con fósforo cada una de las matrices en la pantalla para que mostraran imágenes a color, siendo cada una de estas matrices rojo, verde y azul, sin embargo había un problema, transmitir una señal en RGB hacía imposible que fueran compatibles con la señal en blanco y negro, de ahí nació un nuevo formato de color conocido como YUV.

Cuando observamos una imagen a color en una pantalla lo que realmente estamos observando son tres imágenes combinadas, una roja, otra verde y una última azul, estas imágenes están entrelazadas en subpixeles rojo verde y azul o RGB y los patrones de estas matrices cambian según la tecnología utilizada por cada fabricante:

De RGB a YUV y de nuevo a RGB

La solución para transmitir una señal que fuera compatible con las TVs en blanco y negro y con las TVs a color se encontró en la utilización de otro formato de color, el famoso YUV el cual convierte una imagen compuesta por tres canales, rojo, verde y azul (RGB) a una que está compuesta por luminiscencia o luminancia (luz, imagen en blanco y negro compatible con TVs viejas) y dos nuevos canales, una crominancia que es en sí la diferencia azúl y otra que es la diferencia y roja, así la señal de la TV a color se hizo compatible con la señal tradicional en blanco y negro, las TVs viejas no notaron nunca la diferencia, sin embargo, las TVs a color recibían dos nuevas señales, las dos crominancias, y luego, matemáticamente convertían la luminancia con las dos crominancias a el formato RGB para mostrarlo en pantalla… ¿Suena complicado? Acá dos imagenes para ilustrar la idea:

RGB y YUV

La vista humana y el ancho de banda

Uno de los factores que hizo complicada la transmisión y archivo de imágenes a color fue que se triplicara el espacio en frecuencia y almacenamiento de información con la adopción de imágenes a color, de ahí que se buscaran formas de reducir la cantidad de información necesaria para transmitir y almacenar estas imágenes, y se tomó en cuenta la hipersensibilidad de la vista humana para imágenes en blanco y negro (luminencia) y la poca sensibilidad a las tonalidades de color, de hecho, la vista humana tiene poca sensibilidad a la luz azul por ejemplo, algo que se puede observar en las siguientes imágenes en las cuales aplico el filtro de mosaico primero en todos los canales, y luego en cada uno de los canales, la última imagen es en el canal azul, donde es casi imperceptible:

Filtro de Mosaico en imágenes por canal

Finalmente, el Chroma Subsampling

Aprovechando esa poca capacidad de la vista humana de percibir grandes cantidades de información de color en una imagen, el chroma subsampling reduce la cantidad de pixeles que se utilizan en una imagen a color, siendo los submuestreos más populares el 4:2:2 en JPG y el 4:2:0 en vídeo digital, el que utilizan los Blu-rays, la gran mayoría de cámaras digitales, YouTube, Facebook, Twitch, Periscope, etc.

La forma en la que la mayoría de expertos en vídeo explican estos submuestreos utiliza cuadros donde se muestra una matriz pequeña de 4x2 pixeles, de esta forma se ejemplifica la relación de luma con ambos chromas:

https://www.rtings.com/tv/learn/chroma-subsampling

Sin embargo, es más fácil verlo en macro que en micro:

Chroma Sub Sampling

Manipulación Digital

El chroma sub sampling es elemental para la facilitar la transmisión y almacenamiento de contenido digital, sin embargo uno de los problemas que conlleva es la reducción de calidad al momento de realizar alguna manipulación digital, de ahí que la mayoría de cámaras de vídeo que utilizan el chroma subsampling 4:2:0 sean consideradas para usuarios comunes y corrientes, las que usan 4:2:2 semi-profesionales y los que usan 4:4:4 se consideren profesionales, y ni hablar de formatos RAW a 12 o 14 bits por canal.

Uno de los retos del vídeo digital es el famoso chroma key, cuando se utiliza un fondo verde o azul para hacerlo “transparente” o “invisible”, y resulta interesante saber que el color azul se utiliza en film por ser un color que no se aprecia tanto en film y el verde por la razón de que las matrices de los sensores digitales tienen dos subpixeles verdes por cada rojo y azul, el rojo no se utiliza puesto que la piel humana tiene tonalidades rojas así como la fuerte percepción de ese color por el ojo humano:

Cosas curiosas del YUV

Cuando el director Michael Bay decidió realizar la película de Transformers, tomó en cuenta la pérdida del color rojo en formatos digitales y decidió cambiar el tono de Optimus Prime de un rojo vivo a un color más azúl y morado.

Muchas personas creen que usar una TV como monitor de una PC dará los mismos resultados, sin embargo ignoran que un monitor utiliza colores en RGB a 8 bits por canal, equivalente a un chroma subsampling 4:4:4, mientras que una pantalla promedio trabaja en YUV 4:2:2.

El espacio de color Rec. 709 es un estándar para transmisión de señal de TV, actualmente se está adoptando el espacio Rec. 2020 o HDR, sin embargo entre sus especificaciones se establece que usará siempre un chroma subsampling 4:2:2 y 4:2:0, aumentando el detalle sólo en el luma y no en los chromas, si la finalidad era mejorar la calidad de la imagen, hubieran invertido más en el color.

Por más color-grading que se haga a una imagen, actualmente la gran mayoría del contenido digital pasa un chroma subsampling 4:2:0 haciendo que ese detalle en color se pierda por completo, los codecs y equipos para reproducir contenido en 4:4:4 son extremadamente caros y prácticamente inexistentes en países del tercer mundo.

Adobe Premiere, Final Cut, iMovie y la mayoría de software para edición de vídeo (sin incluir DaVinci Resolve) no tienen forma de previsualizar la pérdida de color en un espacio YUV 4:2:0, algo que sería en extremo útil al momento de editar, tal como se puede hacer en Photoshop cuando se visualiza en modo CMYK, algo que comenté en este artículo:

Así que mi querido lector, espero le haya entretenido este artículo, me encantaría profundizar más en estos temas y dejar de perder el tiempo en temas políticos, lamentablemente en este nuestro país de Guatemala, eso es un lujo.