¿Cómo se representa el espacio de color YCbCr en una imagen JPEG?

9

Sé que una imagen de 24 bits dedica 8 bits cada uno para R, G y B. ¿Es solo para el espacio de color RGB? En el espacio de color YCbCr para una imagen JPEG de 24 bits, ¿cómo se distribuyen los bits?

Por favor lea mi perfil
fuente

Respuestas:

3

Hay algunos formatos para YCbCr. En términos generales, el ojo es más sensible a los cambios de luminancia (Y, brillo) que a los cambios de croma (Cb, Cr, color). Por lo tanto, es posible borrar cierta información de croma mientras se conserva la calidad de la imagen.

Por lo tanto, el formato más "costoso" es 4: 4: 4, donde para cada componente luma (Y) hay 1 componente de diferencia de Rojo (Cr) y uno de diferencia de Azul (Cb).

Luego, aplicando el principio que mencioné, hay 4: 2: 2 donde por cada 2 componentes Y hay 1 Cb y 1 Cr. Y va aún más lejos a 4: 1: 1 y 4: 2: 0, etc. Más información aquí .

ysap
fuente
Estos patrones parecen referirse al muestreo de frecuencia para video, no a la codificación JPEG.
whuber
@whuber: se usan con frecuencia para discutir la codificación de video, pero JPEG también admite luminancia con el doble de resolución de crominancia. Sin embargo, en el caso de JPEG, es opcional: el chroma puede ser de resolución completa o media resolución.
Jerry Coffin
1
El GIMP utilizará el submuestreo de croma de forma predeterminada al guardar un JPEG, aunque es fácil de anular. No recuerdo si esto también se aplica a Photoshop.
thomasrutter
@thomasrutter, Photoshop elige el submuestreo en función de la configuración de calidad que elija. No es una opción independiente.
Mark Ransom
Los números, por cierto, se refieren al número de muestras por 4 píxeles horizontales para Y, Pr y Pb. Entonces 4: 4: 4 significa que los tres canales muestrean cada píxel; 4: 2: 2 significa que los canales Pr y Pb solo muestrean cada segundo píxel horizontalmente; 4: 1: 1 (no creo que esto se use nunca en fotografía, solo en video) significa que Pr y Pb solo muestrean cada cuarto píxel horizontalmente. 4: 2: 0 es una desviación especial de esta regla. NO significa que no hay canal Pb. Lo que significa es que los canales Pr y Pb se reducen a la mitad en ambas direcciones horizontal y vertical, no sólo horizontal.
thomasrutter
24

Un JPEG puede comenzar con 8 bits por canal R, G y B, pero cuando se almacena en el JPEG se almacena de manera muy diferente, donde no hay una "profundidad de bits" real, sino que los valores se almacenan como coeficientes de frecuencia de una precisión dada.

En JPEG, lo más relevante es la tasa de cuantificación , que afecta la cantidad de información que se arroja durante la etapa de cuantificación de la compresión y, por lo tanto, la precisión de cada coeficiente. Esta tasa de cuantización se establece mediante la configuración de "calidad" cuando guarda un JPEG en Photoshop. Sin embargo, no está relacionado con la profundidad de bits como en una imagen ráster, e incluso podría decirse que una imagen JPEG no tiene una profundidad de bits mientras está en formato JPEG, aunque los codificadores / decodificadores JPEG comienzan con / terminan con 24 bits imagen de la trama.

El otro factor importante relevante para guardar un JPEG es el tipo de submuestreo de croma . En un JPEG, tiene la opción de reducir a la mitad la resolución horizontal, o tanto horizontal como vertical, de los canales de color (Pr y Pb) en relación con el canal de luminancia (luminosidad). Al descomprimir, los canales de color se interpolan y, en la mayoría de los temas fotográficos , no hay una gran diferencia.

Aquí hay un resumen aproximado de cómo una imagen se convierte en JPEG.

  1. Los valores RGB se convierten en valores Y, Pb, Pr. El espacio de color YPbPr es más adecuado para una compresión eficiente porque mantiene la información de luminancia, que lleva la mayor cantidad de detalles, en un solo canal. Esta conversión es una operación aritmética simple que es perfectamente reversible, aparte de si hay algún error de redondeo.

  2. Si usa cualquier submuestreo de croma (en otras palabras, usando cualquier cosa que no sea el modo 4: 4: 4), entonces la resolución vertical y / u horizontal de los canales Pb y Pr solo se reduce a la mitad. Por lo tanto, estos canales tendrán dimensiones de píxeles diferentes al canal de luminancia. Esto conduce a una pérdida permanente de resolución en los canales de color.

  3. Para cada canal, la imagen se divide en bloques de 8 píxeles por 8 píxeles, lo que proporciona 64 valores lineales para cada bloque en cada canal. Si un canal no es un múltiplo de 8 píxeles en ninguna de las dimensiones, entonces los píxeles del borde se repiten (y se eliminarán al descomprimir; por lo tanto, la compresión JPEG siempre es más eficiente con dimensiones que son múltiplos de 8 píxeles, o 16 si factoriza en submuestreo de croma).

  4. Los 64 valores en cada bloque experimentan una transformación del dominio espacial al dominio de frecuencia, en este caso llamado transformación discreta del coseno. Terminas con 64 coeficientes, cada uno representando la amplitud de un mapa de frecuencia particular sobre el área tomada por ese bloque. El primer valor es la frecuencia más baja, que es efectivamente el valor promedio de todos los píxeles, hasta los últimos valores que describen el componente de frecuencia más alta del bloque. Todos los valores anteriores se desvían mucho más y son más importantes para el aspecto de la imagen final que los valores posteriores en un bloque. Esta operación es perfectamente reversible siempre que use suficiente precisión.

  5. Luego está el paso de cuantización, donde cada uno de los 64 coeficientes a los que llegó en el paso anterior se divide por algún número (llamado factor de cuantificación), y el resto se desecha. Aquí es donde la precisión de las muestras se ve afectada más, pero es donde obtienes el gran ahorro de espacio de JPEG en comparación con la compresión sin pérdidas. Dado que todo está en el dominio de la frecuencia desde la transformación anterior, esta pérdida de precisión hace su mejor trabajo para preservar la calidad de imagen perceptiva que simplemente reducir la profundidad de bits / precisión de los píxeles antes de esta transformación. El reverso de este procedimiento es simplemente multiplicar por el mismo número por el que dividió los coeficientes, pero, por supuesto, dado que arrojó los restos, termina con menos precisión de los coeficientes. Esto da como resultado una pérdida permanente de calidad,

  6. Después de esta cuantización, es típico que muchos de los coeficientes posteriores, menos significativos, sean cero, por lo que se desechan. Luego, una rutina de codificación de longitud variable (sin pérdida) codifica todos los coeficientes restantes de una manera eficiente, aunque cada uno puede usar un número diferente de bits.

Es imposible decir que cierto factor de cuantificación es equivalente a cierta profundidad de bits, ya que la cuantización no da bandas como cuando se reduce la profundidad de bits, sino que da una pérdida perceptiva general en detalle, comenzando en las partes donde lo notarías. menos porque es de tan baja amplitud para su frecuencia.

thomasrutter
fuente
2
Creo que mi cerebro simplemente explotó.
Nick Bedford
El submuestreo de croma no solo resulta en "pérdida de resolución". Introduce artefactos muy notables, especialmente en el canal rojo.
Mark Ransom
@ Mark Ransom esos artefactos no son más que el resultado de reducir a la mitad la resolución en los canales de color, y de la interpolación necesaria para dar cuenta de eso después de la descompresión. Nunca debería producir ningún "artefacto notable" que no sea el causado por el desenfoque de la resolución, aunque puede haber algunos decodificadores que estropean esta interpolación o hacen una interpolación muy cercana al vecino más cercano, lo que resulta en un bloqueo que es bastante notable para el rojo detalles en negro (o magenta en azul, etc.). Este fue un problema común en algunos de los primeros reproductores de DVD, por ejemplo.
thomasrutter
55
No creo haber visto nunca una explicación mejor y más fácil de entender de la compresión de imágenes JPEG o realmente con pérdida. +1 definitivo
jay.lee
Lo siento, no quise dar a entender que el submuestreo causa los artefactos. Es solo que los errores existentes de la cuantización explotan 2X, haciéndolos mucho más visibles. Creo que es importante saber que el efecto visible del submuestreo es más que un poco de confusión adicional.
Mark Ransom
1

Representar el croma (Cb Cr) en canales separados de la luma (Y) tiene otro efecto positivo sobre la compresión. La mayor parte de la información visible está en el canal luma. Los ojos humanos toleran una resolución espacial más baja y una cuantización más agresiva en los canales de croma. Por lo tanto, una imagen comprimida agresivamente puede terminar consumiendo aproximadamente el 10% del espacio de archivo para chroma, y ​​el resto para luma, y ​​aún lucir decente.

Al final del día, sigue siendo una compresión con pérdida.

O. Jones
fuente
-1

Aproximadamente 8 bits para cada canal, pero hay varias formas ligeramente diferentes de hacerlo. Los detalles se dan en el artículo de Wikipedia sobre YCbCr .

whuber
fuente
Esto se afirmó en la pregunta. Proporcione una respuesta más detallada.
Nick Bedford
@ Nick ¿Dónde se dijo "esto" en la pregunta, exactamente? La pregunta, tal como está ahora, dice "En el espacio de color YCbCr para una imagen JPEG de 24 bits, ¿cómo se distribuyen los bits?" He dicho cómo se distribuyen, asumiendo, como lo haría cualquiera que entienda la pregunta, que los canales son Y, Cb y Cr. Mi respuesta es un resumen correcto del artículo de Wikipedia. La política de SE es proporcionar resúmenes en lugar de copiar material al por mayor (aunque es fácil, admito, proporcionar algunos ejemplos límite de citas largas en otros lugares de este sitio).
whuber
Creo que este tipo de respuesta, aunque no es tan buena como una explicación completa, es mucho mejor que una que simplemente corta y pega de Wikipedia, o incluso que parafrasea un artículo completo de Wikipedia. Si Wikipedia es buena, es útil contarle a la gente al respecto. Y si eso es todo, su respuesta es contribuir, ser sincero y simplemente dar un resumen rápido y un enlace es exactamente lo que hay que hacer.
Lea mi perfil