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?
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?
Respuestas:
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í .
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.
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.
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.
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).
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.
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,
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.
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.
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 .