YCbCr

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Visualización del espacio de color YCbCr
El plano CB-CR representado con luminancia constante de Y'=0.5
Imagen en colores con sus componentes Y, CB y CR. La componente Y es una copia en escala de grises de la imagen en color.

YCbCr, también conocido como Y'CbCr, Y Pb/Cb Pr/Cr, YCBCR o Y'CBCR es una familia de espacios de color usada en sistemas de vídeo y fotografía digital. Y y Y' representan la componente de luma y las señales CB y CR son los componentes de crominancia diferencia de azul y diferencia de rojo, respectivamente. Y' se diferencia de Y en que es la señal de luma codificada de manera no lineal basada en las señales primarias RGB con corrección gamma.

Y'CBCR no es un espacio de color absoluto, sino una forma de codificar información RGB. El color que se muestra depende de la combinación de colores primario RGB usados para mostrar la señal. Por lo tanto, un valor expresado como Y'CBCR es predecible solo si se usa la cromaticidad de los colores del estándar RGB.

Justificación[editar]

Las imágenes se forman en un tubo de rayos catódicos mediante señales que representan a los colores primarios de la luz, azul, rojo y verde, pero estas señales no son eficientes como representación para el almacenamiento y la transmisión directas, ya que tienen una gran cantidad de redundancia.

Las señales YCBCR y Y'CBCR son una aproximación práctica para el procesamiento del color y para la percepción uniforme, en las cuales los colores primarios que corresponden aproximadamente al rojo, verde y azul son procesados en información perceptualmente significativa. De esta manera, el procesamiento, la transmisión y almacenamiento posteriores de imagen o vídeo pueden introducir errores en formas perceptualmente significativas. A partir de la señal del modelo Y'CbCr se separa una señal de luminancia que se puede almacenar con alta resolución o transmitida con un alto ancho de banda, y dos componentes de crominancia que pueden ser de ancho de banda reducido, submuestreados, comprimidos, o tratados de otra manera por separado para mejorar la eficiencia del sistema.

Un ejemplo práctico se obtiene disminuyendo el ancho de banda o la resolución que se asignan a las señales de color, en comparación con las monocromáticas, ya que los seres humanos son más sensibles a la información de blanco y negro.

Proceso de señales YCbCr[editar]

A menudo, el espacio de color YCBCR es conocido como YPBPR cuando se usa para el procesamiento de componentes de vídeo analógico, aunque el término Y'CBCR es comúnmente usado para ambos sistemas, con o sin el símbolo de apóstrofo (').

Y'CBCR es confundido a veces con el espacio de color YUV y generalmente este último término y YCBCR son usados indistintamente dando lugar a cierta confusión. Cuando se refiere a las señales de vídeo analógicas o en formato digital, el término "YUV" significa "Y'CBCR".

Las señales Y'CBCR, antes de ser colocadas en forma digital, son llamadas YPBPR, y se crean a partir de las señales fuente RGB ajustadas en gamma correspondientes utilizando dos constantes ya definidas KB y KR de la siguiente manera:


\left \{
\begin{align}
Y' &= K_R * R' + (1 - K_R - K_B) * G' + K_B * B'\\
P_B &=\frac12 * \frac{B' - Y'}{1 - K_B}\\
P_R &=\frac12 * \frac{R' - Y'}{1 - K_R}
\end{align}
\right .

donde KB y KR normalmente se derivan de la definición del correspondiente espacio RGB. La manipulación de matrices equivalentes se conoce a menudo como "matrizado de color".

En la ecuación, las variables con apóstrofo (') significan que se utiliza corrección de gamma, por lo que R', G ' y B' nominalmente varían de 0 a 1, donde 0 representa la intensidad mínima (color negro) y 1 la máxima (color blanco). El valor de luma (Y') resultante tendrá entonces un rango nominal de 0 a 1, y los valores de crominancia (PB y PR) variarán de -0,5 a +0,5. El proceso de conversión inversa se puede fácilmente derivar invirtiendo las ecuaciones anteriores.

Cuando se representan las señales en forma digital, a los resultados se les aplica un factor de escala y se redondean, y se añaden generalmente compensaciones. Por ejemplo, el escalado y desplazamiento aplicados a la componente Y' en una especificación, como por ejemplo, MPEG-2,[1] dan como resultado el valor de 16 para el negro y el valor de 235 para el blanco, cuando se utiliza una representación de 8 bits. La norma tiene versiones digitalizadas de 8 bits de CB y CR a escala, de 16 a 240. En consecuencia, el reescalado por un factor de (235-16)/(240-16) = 219/224 veces es necesario cuando se hace matrizaje de color o procesamiento en el espacio YCBCR, lo que resulta en distorsiones de cuantificación cuando el tratamiento posterior no se realiza con mayores profundidades de bits.

El escalado, que se traduce en el uso de un rango más pequeño de valores digitales, de lo que podría parecer deseable para la representación de la gama nominal de los datos de entrada, permite valores por "exceso" y " defecto" durante el proceso sin necesidad de un truncamiento indeseable. Estos márgenes también se pueden utilizar para la ampliación de la gama de colores nominal, según lo especificado por xvYCC.

Puesto que las ecuaciones que definen a YCBCR se forman de una manera tal que hace girar todo el cubo nominal de color RGB y cambia su tamaño para que se ajuste dentro de un cubo de color YCBCR más grande, hay algunos puntos dentro del ese cubo de color que no se pueden representar en el dominio de RGB correspondiente (al menos no dentro del rango nominal RGB). Esto provoca cierta dificultad en la determinación de la forma de interpretar y mostrar algunas señales YCBCR correctamente. Estos valores YCBCR fuera de la gama son utilizados por xvYCC para codificar colores fuera del espectro de la Recomendación BT.709.

Conversión JPEG[editar]

Los componentes de color digitales de las imágenes JPEG son combinados para la obtención del espacio Y′CbCr donde Y′, CB y CR abarcan el rango de 0 a 255 niveles para digitalización a 8 bits:[2]

\begin{align}
Y'  &=&   0 &+ (0.299    & \cdot R'_D) &+ (0.587    & \cdot G'_D) &+ (0.114    & \cdot B'_D)\\
C_B &=& 128 &- (0.168736 & \cdot R'_D) &- (0.331264 & \cdot G'_D) &+ (0.5      & \cdot B'_D)\\
C_R &=& 128 &+ (0.5      & \cdot R'_D) &- (0.418688 & \cdot G'_D) &- (0.081312 & \cdot B'_D)
\end{align}

Las señales del espacio RGB se obtienen a partir de estas ecuaciones:

\begin{align}
R  &=& Y                            &&& + 1.402   & \cdot (C_R-128) \\
G  &=& Y   & - 0.34414 & \cdot (C_B-128)& - 0.71414 & \cdot (C_R-128) \\
B  &=& Y   & + 1.772   & \cdot (C_B-128)&
\end{align}

Plano CB-CR con diferentes valores de Y[editar]

Véase también[editar]

Referencias[editar]

  1. Unión Internacional de Telecomunicaciones (ed.): «Recomendación UIT-T H.262» pág. 44 págs. 241. Consultado el 2 de octubre de 2013.
  2. JPEG File Interchange Format Version 1.02

Bibliografía[editar]