Laboratorio de submuestreo de crominancia

Compara cómo los códecs de video conservan el detalle de luminancia mientras reducen la resolución de crominancia.

Cargando simulación interactiva...

por qué los códecs sacrifican primero el color 🖖

La visión humana resuelve el detalle de brillo con más nitidez que el detalle de color, así que los códecs conservan toda la resolución de luminancia (Y) y comparten las muestras de crominancia (Cb/Cr) entre píxeles vecinos. 4:4:4 almacena el detalle de color completo, 4:2:2 reduce a la mitad la resolución horizontal de crominancia, y 4:2:0 la reduce a la mitad tanto horizontal como verticalmente. El ahorro de ancho de banda es real: 4:2:0 usa aproximadamente la mitad de los datos de muestra sin comprimir que 4:4:4, pero el texto de color nítido y los patrones de color alternados revelan la pérdida primero.

qué significan los tres números 🖖

La proporción es una receta para un bloque de 4 píxeles de ancho y 2 filas de alto. El primer número (4) es el ancho del bloque; el segundo cuenta las muestras de color de la fila superior; el tercero, cuántas cambian en la fila inferior. Así, 4:2:2 toma 2 muestras de color por fila, mientras que 4:2:0 toma 2 en la fila superior y las reutiliza debajo (0 nuevas), compartiendo un color en un cuadrado de 2×2. La luma se muestrea siempre en cada píxel.

el televisor de tus abuelos ya lo hacía 🖖

El submuestreo de croma no es un invento digital. Cuando la televisión en color NTSC se lanzó en 1953, los ingenieros dieron unos 4.2 MHz de ancho de banda a la señal de brillo, pero comprimieron los dos canales de color en torno a 1.3 MHz y 0.5 MHz; el estrecho canal «Q» aprovechaba la escasa resolución del ojo para el detalle de color azul-violeta. La televisión analógica en color ya descartaba resolución cromática décadas antes de que JPEG o H.264 formalizaran la idea.

UNA ETAPA DE UNA CADENA: QUÉ LLEGA, QUÉ SALE Y QUÉ SE ROMPE DESPUÉS

Dónde encaja esto en la tubería de codificación

Un codificador de vídeo no es un algoritmo, sino ocho etapas en un orden fijo, y el orden no es arbitrario: cada etapa existe porque la anterior hizo posible su trabajo. Esta herramienta modela una de ellas. La cadena de abajo enlaza con las otras siete.

Laboratorio de submuestreo de crominancia — descarta casi toda la resolución de color dejando intacto el brillo

Qué llega
Luma y croma a resolución completa: una muestra de color por píxel, escrito 4:4:4.
Qué sale
Luma a resolución completa y croma con una cuarta parte de las muestras en 4:2:0.
Qué supone la etapa siguiente
Todo lo posterior maneja cuatro veces menos datos de croma, y el decodificador interpolará de vuelta las muestras descartadas.
Qué se estropea aquí
Un borde saturado —texto rojo sobre negro es el caso típico— ve su color embadurnado por todo el bloque, porque ese borde vive en el canal de croma donde se quitaron las muestras. El luma sobrevive intacto, así que la imagen parece nítida y el color parece mal.

Problema resuelto al detalle

  1. Bytes por píxel para 4:4:4, 4:2:2 y 4:2:0 a partir del recuento de muestras 6 pasos

    Deduzca los bytes por píxel para 4:4:4, 4:2:2 y 4:2:0 a partir del recuento de muestras y, a continuación, determine cuánto ancho de banda ahorra realmente 4:2:0.

    1. Cuente las muestras en un bloque de 2×2. La notación indica cuántas muestras de croma acompañan a cuatro de luma en las filas superior e inferior, por lo que la relación es un recuento y no una fracción.

    2. Los otros dos modos descartan croma horizontalmente y luego también verticalmente. Cada reducción a la mitad elimina dos de las doce muestras del bloque.

    3. Multiplique por el número de píxeles correspondiente al tamaño del fotograma y calcule la relación para obtener el ahorro. El formato 4:2:0 es exactamente la mitad que el 4:4:4 por construcción, no por medición.

    4. Observe adónde fueron a parar las muestras. La luma no se modifica en ningún modo: los canales de diferencia de color son los únicos que se diezman, y el ojo humano los resuelve aproximadamente a la mitad de agudeza.

    5. Escale esos mismos 1,5 bytes por píxel a un fotograma real a una frecuencia de fotogramas real.

    6. Por eso el modo de fallo es específico en lugar de general: la pérdida se produce íntegramente en los dos canales que no transportan detalles de luminancia.

    Respuesta

    La mitad, y aun así sigue siendo de 746 Mbit/s para 1080p30 sin compresión. Esa cifra es el objetivo del ejercicio. El submuestreo de croma es la compresión más económica que existe (sin transformada, sin codificador entrópico, sin decisiones que tomar) y, tras reducir los datos a la mitad, el flujo sigue siendo demasiado grande para cualquier red doméstica, razón por la cual todos los códecs comercializados empiezan después de este paso en lugar de sustituirlo. El motivo de que cueste tan poco visualmente se encuentra en la ecuación de Y: la luma se muestrea en cada píxel y solo se diezman Cb y Cr, por lo que los bordes, la textura y el detalle quedan intactos. Lo que falla es todo aquello cuya información reside únicamente en el color: texto rojo sobre fondo gris, un logotipo saturado o un borde de incrustación por croma; por eso el 4:2:0 resulta imperceptible en la vegetación y desastroso en una presentación de diapositivas.

Referencias (1)

Problemas de ejemplo

  • Barras de color - Ocho barras a lo ancho de 64 píxeles, así que cada una tiene ocho de ancho, y el 4:2:0 promedia el croma en bloques de 2×2. Ningún bloque cruza nunca el borde de una barra, por lo que cada grupo que promedia ya es de un solo color uniforme: los tres paneles salen idénticos píxel por píxel mientras el fotograma se reduce de 9.216 bytes a 4.608. El ahorro del 50,0% no cuesta absolutamente nada en esta imagen.
  • Degradado de matiz - Degradado de tono suave: 4:2:0 y 4:2:2 se ven casi idénticos; las escenas naturales ocultan bien los artefactos de crominancia
  • Texto en color - Letras rojas sobre blanco, y esta es la imagen que realmente falla. Cada borde del trazo es un salto de croma de rojo a blanco, el 4:2:0 lo promedia en un bloque de 2×2 y los bordes sangran mientras la luma se mantiene perfectamente nítida. El 4:2:2 queda en un punto intermedio porque solo promedia en horizontal. Ahorra los mismos 4.608 bytes que las barras de color, que no pierden nada. La imagen decide el coste, no la proporción.
  • Ajedrezado de estrés - El nombre promete problemas y los paneles salen idénticos. Sus cuadros son de 2×2 en rojo y cian, y el 4:2:0 promedia el croma en áreas de 2×2 sobre la misma cuadrícula, así que cada grupo que toca ya es de un color. El detalle fino no es lo que castiga el submuestreo. Castiga el detalle que no se alinea con la cuadrícula de croma, que es justo lo que el texto en color muestra y esto no.