¿Cómo es útil la codificación YCbCr para representar imágenes en escala de grises?

Tengo curiosidad por el modelo de color YCbCr para representar imágenes en escala de grises.

¿Alguien puede proporcionar una explicación detallada de cómo se codifican los datos de imagen como YCbCr, cuándo se puede usar sobre otro formato de codificación y qué capacidades adicionales puede ofrecer sobre otros formatos de codificación?

Lo siento, pero tengo algunos problemas para entender esto. ¿Quiere decir "¿Cómo se codifican las imágenes en escala de grises en YCbCr?"
También sería útil si pudiera explicar la situación en la que se encuentra con este problema.
Wikipedia parece proporcionar un resumen razonable en.wikipedia.org/wiki/YCbCr . Un escaneo rápido sugiere que es principalmente como una forma de permitir que se compriman los datos de imagen/video...
@Flimzy (e Imre): ha mejorado la estructura de la oración, pero no estoy seguro de que se aclare el significado de la pregunta. El texto original decía "si convertimos a YCBCR, no hemos tenido ninguna imagen en color, ¿cómo es?", y no estoy seguro de que "Si convertimos a YCBCR, no tenemos una imagen en color" lo represente con precisión (y también no tiene ningún sentido).
He reformulado el título y la pregunta. Espero no haber perdido nada del original al convertirlo en una pregunta más útil.

Respuestas (1)

El modelo YCbCr tiene algunas variaciones en diferentes contextos de aplicación, pero esencialmente todas son transformaciones afines (lineales) en los datos de color RGB. Si piensa en el espacio RGB en términos de un cubo 3D, con sus lados representando los ejes R, G y B (para JPEG, su rango normalmente sería de 0 a 255), entonces cada píxel en su imagen corresponde a un 3D. punto dentro del cubo, donde los valores de sus componentes de color son las coordenadas del punto. Esto forma una "nube" de puntos dentro del cubo.

El examen de muchas imágenes normales en esta representación muestra que las nubes tienden a tener una forma común, donde la mayoría de los puntos se concentran a lo largo de la diagonal principal (más o menos) del cubo. Entonces, si ahora giramos el cubo (nuestro sistema de ejes de referencia) de modo que su primer eje esté alineado con el eje largo de la nube, ahora tenemos un nuevo conjunto de coordenadas de puntos donde la primera coordenada lleva la mayor parte de la información y las otras dos llevar menos información.

La primera coordenada lleva el valor de intensidad del píxel donde las otras dos coordenadas corresponden a la información de color del píxel. En términos generales, estos constituyen los componentes Y (luma, intensidad), Cb y Cr (croma) de la representación YCbCr del color del píxel en la imagen.

Hay un par de resultados de esto. Primero, puede tomar el canal Y y mostrarlo directamente como una imagen en escala de grises. Luego, como comentó @forsvarir, podemos descartar parte de la información de color y aún así tener una calidad de imagen aceptable, lo que nos ayuda a obtener mejores relaciones de compresión.

Los orígenes de este tipo de representación de píxeles se remontan a los días de la transición de las transmisiones de televisión en blanco y negro a las de color, donde se requería compatibilidad con versiones anteriores para que las personas que no actualizaran sus televisores pudieran ver programas en color en blanco y negro. La solución fue permanecer con la señal de intensidad (es decir, blanco y negro) y superponerle algunos componentes de color. De esta forma, el sintonizador en blanco y negro aún podría usar la señal de transmisión con un nivel aceptable de distorsiones.

Tenga en cuenta que en realidad hay más en esa representación que lo que he descrito. Pero en pocas palabras, esto debería dar un buen razonamiento para este modelo.
¿Cómo se puede generar toda la información de color mediante los componentes Cb, Cr? ¿Y cómo se puede descartar parte de la información de color? Por favor, deme un ejemplo.
@reem, ¿qué software estás usando y qué estás tratando de hacer?