Sistema de color YUV

YUV es un sistema de codificación de colores que se usa típicamente como parte de una canalización de imágenes en color. Codifica una imagen en color o video teniendo en cuenta la percepción humana, permitiendo un ancho de banda reducido para los componentes de crominancia, permitiendo típicamente que los errores de transmisión o los artefactos de compresión sean enmascarados más eficientemente por la percepción humana que usando una representación RGB “directa”. Otras codificaciones de color tienen propiedades similares, y la razón principal para implementar o investigar las propiedades de Y’UV sería la interacción con equipos de televisión o fotográficos analógicos o digitales que cumplan con ciertos estándares Y’UV.

El alcance de los términos Y’UV, YUV, YCbCr, YPbPr, etc., a veces es ambiguo y se superpone. Históricamente, los términos YUV y Y’UV se usaban para una codificación analógica específica de información de color en sistemas de televisión, mientras que YCbCr se usaba para codificación digital de información de color adecuada para video y compresión y transmisión de imágenes estáticas como MPEG y JPEG. Hoy en día, el término YUV se usa comúnmente en la industria de la computación para describir formatos de archivo codificados con YCbCr.

El modelo Y’UV define un espacio de color en términos de una luma (Y ‘) y dos componentes de crominancia (UV). El modelo de color Y’UV se utiliza en el estándar PAL de video en color compuesto (excluyendo PAL-N). Los sistemas anteriores en blanco y negro usaban solo información de luma (Y ‘). La información de color (U y V) se agregó por separado a través de una subportadora para que un receptor en blanco y negro aún pudiera recibir y mostrar una transmisión de imagen en color en el formato blanco y negro original del receptor.

Y ‘representa el componente de luminancia (el brillo) y U y V son los componentes de crominancia (color); la luminancia se denota por Y y luma por Y ‘- los símbolos primos (‘) denotan compresión gamma, con “luminancia” significa brillo de espacio lineal físico, mientras que “luma” es brillo perceptual (no lineal).

El modelo de color YPbPr utilizado en video componente analógico y su versión digital YCbCr utilizado en video digital se derivan más o menos de él, y a veces se llaman Y’UV. (CB / PB y CR / PR son desviaciones del gris en los ejes azul-amarillo y rojo-cian, mientras que U y V son diferencias de luminancia-azul y de luminancia-roja, respectivamente.) El espacio de color Y’IQ utilizado en la televisión analógica NTSC El sistema de radiodifusión está relacionado con él, aunque de una manera más compleja. El espacio de color YDbDr utilizado en los sistemas analógicos de transmisión de televisión SECAM y PAL-N también está relacionado.

En cuanto a la etimología, Y, Y ‘, U y V no son abreviaturas. El uso de la letra Y para la luminancia se remonta a la elección de las primarias XYZ. Esto se presta naturalmente al uso de la misma letra en luma (Y ‘), que se aproxima a un correlato de luminancia perceptualmente uniforme. Del mismo modo, U y V se eligieron para diferenciar los ejes U y V de aquellos en otros espacios, como el espacio de cromaticidad xey. Vea las ecuaciones a continuación o compare el desarrollo histórico de las matemáticas.

Historia
Y’UV se inventó cuando los ingenieros querían televisión en color en una infraestructura en blanco y negro. Necesitaban un método de transmisión de señal que fuera compatible con la televisión en blanco y negro (B & W) mientras se podía agregar color. El componente luma ya existía como señal en blanco y negro; ellos agregaron la señal UV a esto como una solución.

La representación UV de la crominancia se eligió con respecto a las señales R y B rectas porque U y V son señales de diferencia de color. En otras palabras, las señales U y V le dicen a la televisión que cambie el color de un cierto píxel sin alterar su brillo. O bien, las señales U y V le dicen al monitor que haga que un color sea más brillante a costa del otro y por cuánto debe desplazarse. Cuanto mayor sea (o menor cuando sea negativo) los valores U y V, más saturado (colorido) obtendrá el píxel. Cuanto más cerca estén los valores U y V de cero, menor cambiará el color, lo que significa que las luces roja, verde y azul serán más brillantes, produciendo un píxel más gris. Este es el beneficio de utilizar señales de diferencia de color, es decir, en lugar de decir cuánto rojo hay en un color, indica por cuánto es más rojo que verde o azul. A su vez, esto significaba que cuando las señales U y V serían cero o ausentes, simplemente mostraría una imagen en escala de grises. Si se hubieran utilizado R y B, estos tendrían valores distintos de cero, incluso en una escena en blanco y negro, requiriendo las tres señales que transportan datos. Esto fue importante en los primeros días de la televisión en color, ya que las antiguas señales de TV en blanco y negro no tenían señales U y V presentes, lo que significa que la TV en color simplemente la mostraría como TV en blanco y negro desde el primer momento. Además, los receptores blanco y negro podrían tomar la señal Y ‘e ignorar las señales de color U y V, lo que hace que Y’UV sea compatible con versiones anteriores con todos los equipos en blanco y negro existentes, entrada y salida. Si el estándar de televisión en color no hubiera usado señales de diferencia de color, podría significar que un televisor en color generaría colores divertidos en una transmisión en blanco y negro o necesitaría un circuito adicional para traducir la señal en blanco y negro al color. Era necesario asignar un ancho de banda más estrecho al canal de crominancia porque no había ancho de banda adicional disponible. Si parte de la información de luminancia llegaba a través del canal de crominancia (como lo hubiera sido si se usaran señales de RB en lugar de señales de UV diferenciales), la resolución B y W se habría visto comprometida.

Conversión a / desde RGB
SDTV con BT.601
Las señales Y’UV normalmente se crean a partir de una fuente RGB (rojo, verde y azul). Los valores ponderados de R, G y B se suman para producir Y ‘, una medida de brillo o luminancia general. U y V se calculan como diferencias escaladas entre Y ‘y los valores B y R.

BT.601 define las siguientes constantes:


Y’UV se calcula a partir de RGB de la siguiente manera:


Los rangos resultantes de Y ‘, U y V respectivamente son [0, 1], [-Umax, Umax] y [-Vmax, Vmax].

Invertir la transformación anterior convierte Y’UV a RGB:


De forma equivalente, sustituir valores para las constantes y expresarlos como matrices da estas fórmulas para BT.601:


HDTV con BT.709

Para HDTV, el ATSC decidió cambiar los valores básicos para WR y WB en comparación con los valores previamente seleccionados en el sistema SDTV. Para HDTV estos valores son provistos por Rec. 709. Esta decisión influyó aún más en la matriz para la conversión Y’UV↔RGB de modo que sus valores de miembro también son ligeramente diferentes. Como resultado, con SDTV y HDTV generalmente hay dos representaciones Y’UV distintas posibles para cualquier triple RGB: una SDTV-Y’UV y una HDTV-Y’UV. Esto significa en detalle que al convertir directamente entre SDTV y HDTV, la información de luma (Y ‘) es más o menos la misma, pero la representación de la información del canal cromático (U & V) necesita conversión. Todavía en cobertura del espacio de color CIE 1931, la Rec. El espacio de color 709 es casi idéntico a Rec. 601 y cubre 35.9%. En contraste con este UHDTV con Rec. 2020 cubre un área mucho más grande y verá más adelante su propio conjunto de matrices para YUV / Y’UV.

BT.709 define estos valores de peso:


Las matrices y fórmulas de conversión para BT.709 son las siguientes:


Notas
Los pesos utilizados para calcular Y ‘(fila superior de la matriz) son idénticos a los utilizados en el espacio de color Y’IQ.
Los valores iguales de rojo, verde y azul (es decir, niveles de gris) rinden 0 para U y V. Negro, RGB = (0, 0, 0), rinde YUV = (0, 0, 0). Blanco, RGB = (1, 1, 1), produce YUV = (1, 0, 0).
Estas fórmulas se usan tradicionalmente en televisores y equipos analógicos; los equipos digitales como HDTV y cámaras de video digitales usan Y’CbCr.

Aproximaciones numéricas
Antes del desarrollo de procesadores de coma flotante SIMD rápidos, la mayoría de las implementaciones digitales de RGB → Y’UV usaban matemática entera, en particular aproximaciones de punto fijo. La aproximación significa que la precisión de los números usados ​​(datos de entrada, datos de salida y valores constantes) es limitada, y por lo tanto, quien utiliza esta opción suele aceptar una pérdida de precisión típica del último dígito binario. velocidades de cálculo mejoradas.

En los siguientes ejemplos, el operador ”  “Denota un desplazamiento correcto de a por b posiciones binarias. Para aclaración, las variables utilizan dos caracteres de sufijo: “u” se utiliza para la representación final sin signo, y “t” se utiliza para el valor intermedio reducido. Los ejemplos a continuación se dan solo para BT.601. El mismo principio se puede usar para realizar operaciones funcionalmente equivalentes utilizando valores que coincidan de forma aceptable con los datos que siguen al BT.709 o cualquier otro estándar comparable.

Los valores Y ‘se desplazan y escalan convencionalmente al rango [16, 235] (denominado swing de estudio o “niveles de TV”) en lugar de usar el rango completo de [0, 255] (referido como swing completo o “niveles de PC” “). Esta práctica se estandarizó en SMPTE-125M con el fin de acomodar los sobreimpulsos de señal (“timbre”) debido al filtrado. El valor 235 acomoda un sobreimpulso máximo de blanco a negro de 255 – 235 = 20, o 20 / (235 – 16) = 9.1%, que es ligeramente mayor que el sobreimpulso máximo teórico (fenómeno de Gibbs) de aproximadamente 8.9% del paso máximo La habitación del dedo del pie es más pequeña, lo que permite solo 16/219 = 7,3% de sobreimpulso, que es menor que el sobreimpulso máximo teórico del 8,9%. Esta es la razón por la cual 16 se agrega a Y ‘y por qué los coeficientes Y’ en la transformación básica suman 220 en lugar de 255. Los valores U y V, que pueden ser positivos o negativos, se suman con 128 para hacerlos siempre positivos, dando una rango de estudio de 16-240 para U y V. (Estos rangos son importantes en la edición y producción de video, ya que el uso del rango incorrecto dará como resultado una imagen con blancos y negros “recortados” o una imagen de bajo contraste).

Columpio de estudio para BT.601
Para obtener la representación tradicional de 8 bits de “YKUV” para SDTV / BT.601, se pueden usar las siguientes operaciones:

1. Transformación básica de RGB de 8 bits a valores de 16 bits (Y ‘: sin signo, U / V: firmado, los valores de la matriz se redondearon para que el rango de Y’ más lejano deseado sea de [16..235] y U / V se alcanza el rango de [16..240]):


2. Escalar hacia abajo (“>> 8”) a 8 bits con redondeo (“+128”) (Y ‘: sin signo, U / V: firmado):


3. Agregue un desplazamiento a los valores para eliminar cualquier valor negativo (todos los resultados son de 8 bits sin signo):


Full swing para BT.601
Para obtener una representación de 8 bits “full-swing” de Y’UV para SDTV / BT.601, se pueden usar las siguientes operaciones:

1. Transformación básica de RGB de 8 bits a valores de 16 bits (Y ‘: sin signo, U / V: firmada, los valores de la matriz se redondean para que se alcance el rango de Y’UV deseado de cada uno [0..255] mientras que no puede ocurrir desbordamiento):


2. Escalar hacia abajo (“>> 8”) a valores de 8 bits con redondeo (“+128”) (Y ‘: sin signo, U / V: firmado):


3. Agregue un desplazamiento a los valores para eliminar cualquier valor negativo (todos los resultados son de 8 bits sin signo):


Sistemas de luminancia / crominancia en general

La principal ventaja de los sistemas de luma / croma como Y’UV, y sus parientes Y’IQ e YDbDr, es que siguen siendo compatibles con la televisión analógica en blanco y negro (en gran parte debido al trabajo de Georges Valensi). El canal Y ‘guarda todos los datos grabados por las cámaras en blanco y negro, por lo que produce una señal adecuada para la recepción en pantallas monocromas antiguas. En este caso, el U y el V simplemente se descartan. Si se muestra el color, se utilizan los tres canales y se puede decodificar la información RGB original.

Otra ventaja de Y’UV es que parte de la información se puede descartar para reducir el ancho de banda. El ojo humano tiene una sensibilidad espacial muy pequeña al color: la precisión de la información de brillo del canal de luminancia tiene un impacto mucho mayor en los detalles de la imagen discernidos que los de los otros dos. Al comprender este defecto humano, estándares como NTSC y PAL reducen considerablemente el ancho de banda de los canales de crominancia.(El ancho de banda está en el dominio temporal, pero esto se traduce en el dominio espacial a medida que se escanea la imagen).

Por lo tanto, las señales U y V resultantes pueden ser sustancialmente “comprimidas”. En los sistemas NTSC (Y’IQ) y PAL, las señales de crominancia tenían un ancho de banda significativamente más estrecho que el de la luminancia. Las primeras versiones de NTSC alternaron rápidamente colores específicos en áreas de imagen idénticas para hacer que aparezcan sumando entre sí al ojo humano, mientras que todos los estándares analógicos modernos e incluso los más digitales usan submuestreo cromático al grabar la información de color de una imagen a resolución reducida. Solo se conserva la mitad de la resolución horizontal en comparación con la información de brillo (denominada submuestreo cromático 4: 2: 2) y, a menudo, la resolución vertical también se reduce a la mitad (dando 4: 2: 0). El estándar 4: x: x se adoptó debido al estándar de NTSC de color más antiguo que utilizaba un submuestreo de croma de 4: 1: 1 (donde la resolución de color horizontal se dividía en cuartos mientras que la vertical era de resolución completa) para que la imagen solo llevara una cuarto de resolución de color en comparación con la resolución de brillo. En la actualidad, solo el equipo de gama alta que procesa señales sin comprimir utiliza un submuestreo de croma de 4: 4: 4 con una resolución idéntica para la información de brillo y color.

Los ejes I y Q se eligieron de acuerdo con el ancho de banda necesario para la visión humana, siendo un eje el que requiere la mayor cantidad de ancho de banda y el otro (fortuitamente a 90 grados) el mínimo. Sin embargo, la verdadera demodulación I y Q era relativamente más compleja, requiriendo dos líneas de retardo analógicas, y los receptores NTSC raramente la usaban.

Sin embargo, esta conversión de espacio de color es con pérdida, particularmente obvia en la diafonía entre el luma y el cable que transporta chroma, y ​​viceversa, en equipos analógicos (incluidos los conectores RCA para transferir una señal digital, ya que todo lo que llevan es un video compuesto analógico, es YUV, YIQ, o incluso CVBS). Además, NTSC y PAL codificaron señales de color de una manera que hace que las señales de croma y luminancia de gran ancho de banda se mezclen entre sí para mantener la compatibilidad con equipos de televisión en blanco y negro, lo que da como resultado artefactos de trama y color cruzado.Cuando se creó el estándar NTSC en la década de 1950, esto no era una preocupación real ya que la calidad de la imagen estaba limitada por el equipo del monitor, no por la señal de ancho de banda limitado que se recibía. Sin embargo, la televisión moderna de hoy es capaz de mostrar más información que la contenida en estas señales con pérdida. Para mantener el ritmo de las capacidades de las nuevas tecnologías de visualización, desde fines de la década de 1970 se intentó preservar más de la señal Y’UV al transferir imágenes, como los conectores SCART (1977) y S-Video (1987).

En lugar de Y’UV, se usó Y’CbCr como el formato estándar para algoritmos de compresión de video comunes (digitales) tales como MPEG-2. La televisión digital y los DVD conservan sus secuencias de video comprimido en el formato MPEG-2, que utiliza un espacio de color Y’CbCr completo, aunque conserva el proceso establecido de submuestreo de croma. El formato de video digital profesional CCIR 601 también usa Y’CbCr a la tasa de submuestreo de croma común de 4: 2: 2, principalmente para compatibilidad con estándares de video analógico previos. Esta secuencia se puede mezclar fácilmente en cualquier formato de salida necesario.

Y’UV no es un espacio de color absoluto. Es una forma de codificar la información RGB, y el color real que se muestra depende de los colorantes RGB reales utilizados para mostrar la señal. Por lo tanto, un valor expresado como Y’UV solo es predecible si se usan colorantes RGB estándar (es decir, un conjunto fijo de cromaticidades primarias, o conjunto particular de rojo, verde y azul).

Además, la gama de colores y brillos (conocida como la gama de colores) de RGB (ya sea BT.601 o Rec.709) es mucho menor que el rango de colores y brillos permitido por Y’UV. Esto puede ser muy importante al convertir de Y’UV (o Y’CbCr) a RGB, ya que las fórmulas anteriores pueden producir valores RGB “no válidos”, es decir, valores por debajo del 0% o muy por encima del 100% del rango (por ejemplo, fuera del rango estándar de 16-235 lúmenes (y 16-240 rangos de croma) para televisores y contenido HD, o fuera de 0-255 para definición estándar en PC). A menos que se traten estos valores, por lo general serán “recortados” (es decir, limitados) al rango válido del canal afectado. Esto cambia el tono del color, que es muy indeseable, por lo que a menudo se considera mejor para desaturar los colores ofensivos de manera que caigan dentro de la gama RGB. Del mismo modo, cuando RGB a una profundidad dada se convierte en YUV a la misma profundidad de bits, varios colores RGB pueden convertirse en el mismo color Y’UV, lo que da como resultado la pérdida de información.

Relación con Y’CbCr
Y’UV a menudo se usa como un término para YCbCr. Sin embargo, son formatos completamente diferentes con diferentes factores de escala.

Sin embargo, la relación entre ellos en el caso estándar es simple. En particular, el canal Y es el mismo en ambos, tanto Cb como U son proporcionales a (BY), y tanto Cr como V son proporcionales a (RY).

Tags: