paint-brush
El RGB está obsoleto para la IA y el streamingpor@ykanavalik
385 lecturas
385 lecturas

El RGB está obsoleto para la IA y el streaming

por Yauheni Kanavalik7m2025/02/09
Read on Terminal Reader

Demasiado Largo; Para Leer

*YUV* puede ser increíblemente útil para quienes se dedican a la transmisión de video P2P o al procesamiento de transmisiones de video con IA. YUV toma la delantera, ocultando bajo el capó una serie de concesiones complejas que nos permiten ver videos sin demoras, ahorrar gigabytes de datos y acelerar el procesamiento en tiempo real para la IA.
featured image - El RGB está obsoleto para la IA y el streaming
Yauheni Kanavalik HackerNoon profile picture
0-item
1-item
2-item

Después de pasar decenas de noches sin dormir trabajando con formatos de codificación de color YUV , me di cuenta de la poca información disponible sobre este extraordinario formato. Sin embargo, puede ser increíblemente útil para quienes se dedican a la transmisión de video P2P o al procesamiento de transmisiones de video con IA.


A primera vista, RGB y YUV pueden parecer simplemente formas diferentes de representar el color, pero detrás de esta distinción se esconde una batalla continua: conveniencia versus eficiencia, precisión versus rendimiento, percepción perfecta versus compresión sin pérdida visible. Se podría suponer que RGB es el rey indiscutible de los espacios de color; después de todo, las cámaras, las pantallas y la mayoría de las redes neuronales operan en él. Sin embargo, en el mundo de la transmisión y codificación de vídeo, YUV lleva la delantera, escondiendo bajo el capó una serie de complejas compensaciones que nos permiten ver vídeos sin retrasos, ahorrar gigabytes de datos y acelerar el procesamiento en tiempo real.


Pero, ¿qué ocurre si se desea unir estos dos mundos? ¿Cómo gestionan los modelos de IA entrenados en RGB las transmisiones de vídeo en YUV? ¿Por qué los códecs son tan reacios a trabajar con RGB? ¿Y es posible lograr el equilibrio perfecto entre estos formatos? En este artículo, te ayudaré a comprender por qué RGB y YUV son como dos boxeadores de diferentes categorías de peso, obligados a encontrarse en el mismo ring de transmisión de vídeo y tecnología de IA.

RGB y YUV: ¿Qué son?

Los formatos RGB y RGBA son bastante sencillos y se utilizan ampliamente en gráficos por ordenador, por lo que no profundizaremos demasiado en los conceptos básicos. En resumen, cuando el ordenador reproduce una imagen, funciona con tres canales: rojo (R) , verde (G) y azul (B) . Así es como funcionan la mayoría de las pantallas.


RGBA agrega un canal adicional, Alfa (A) , que controla la transparencia, lo que lo hace particularmente útil para gráficos web y diseño digital. RGB representa los colores con precisión y sin distorsión, pero tiene un inconveniente crítico: ocupa demasiado espacio. Por ejemplo, una imagen con una resolución de 1920 × 1080 en formato RGBA (usando 1 byte por canal) ocupa: 1920×1080×4 = 8294400 bytes ≈ 8.2 MB


Estructura de RBG Foto de Michael Maasen en Unsplash


Los formatos comprimidos como JPEG reducen el tamaño de los archivos, pero en el mundo de la transmisión de video P2P y el procesamiento en tiempo real con IA en las máquinas de los clientes (como el reconocimiento de objetos, la detección de puntos clave y la segmentación), esta no es una opción viable. Necesitamos transmitir y analizar cada fotograma en tiempo real, sin introducir artefactos de compresión ni perder detalles críticos. Ahí es donde entra en juego YUV , que ofrece un enfoque más inteligente para equilibrar la calidad, la eficiencia y el rendimiento.

¿Qué es YUV?

A diferencia del RGB, que almacena la información de color directamente, el YUV separa una imagen en componentes de luminancia (Y) y croma (U y V) . Este enfoque permite una compresión de datos eficiente sin una pérdida significativa de calidad.


Y (Luma, brillo) : representa el brillo del píxel y determina qué tan claro u oscuro se ve. Básicamente, es la versión en escala de grises (blanco y negro) de la imagen, que conserva todas las formas y los detalles.


U y V (croma, color) : almacenan información de color, pero con menor precisión, ya que el ojo humano percibe el brillo con mayor nitidez que la precisión del color. En pocas palabras, estos canales actúan como un “cambio” bidimensional del brillo hacia diferentes tonos de color.


Esta separación es la clave que explica por qué YUV es tan efectivo para la compresión de video, la transmisión y el procesamiento de video basado en IA.

¿Por qué YUV es mejor para la transmisión de vídeo?

Una de las ventajas menos obvias pero muy efectivas de YUV es que uno de sus canales (Y) no está diseñado para almacenar color en absoluto. En cambio, describe con precisión el color. forma de objetos.

¿Cómo se relaciona esto con la visión humana?

El ojo humano percibe imágenes utilizando dos tipos de fotorreceptores en la retina:


  • Células tipo bastón (unos 120 millones) : sensibles al brillo y al contraste, pero incapaces de detectar el color. Nos permiten ver formas y detalles incluso con poca luz.

  • Células cónicas (aproximadamente 6 millones) : responsables de la percepción del color, pero su número es 20 veces menor. Funcionan solo en buenas condiciones de iluminación y se dividen en tres tipos: rojo, verde y azul ( RGB , como era de esperar).


Debido a este desequilibrio de receptores, nuestro cerebro prioriza la forma sobre el color. Si el brillo o el contraste están distorsionados, lo notamos de inmediato. Sin embargo, los cambios leves de color a menudo pasan desapercibidos.


Este es el principio fundamental de YUV

  • El canal Y (brillo) permanece sin cambios para preservar las formas de los objetos, de modo que las células bastón en sus ojos estarán contentas.
  • Los canales U y V (información de color) se pueden comprimir sin crear artefactos visualmente perceptibles y menos células cónicas no notarán ninguna diferencia.


Esto significa que, a diferencia del RGB (donde los tres canales son igualmente importantes), el YUV trata sus canales de manera diferente según la percepción humana. Como los datos de color (U y V) son menos críticos, podemos reducir la cantidad de datos transmitidos sin perder calidad perceptible.


Así es exactamente cómo funciona el mecanismo de submuestreo de croma: optimizando la codificación de video comprimiendo selectivamente la información de color mientras se mantiene intacto el brillo.

Cómo el submuestreo de croma salva el mundo de la transmisión de video

El submuestreo de croma es una técnica para reducir la cantidad de datos de color en una imagen. En lugar de almacenar el color para cada píxel (como en RGB ), YUV reduce la resolución de los canales de color mientras mantiene intacto el brillo (forma).


Existen varios estándares industriales para el submuestreo de croma:

  • Submuestreo 4:2:2 : cada par de píxeles comparte información de color. El ojo apenas percibe la diferencia, pero el tamaño del archivo se reduce en un 33 %. Este método rara vez se utiliza.

  • Submuestreo 4:2:0 : el color se almacena solo para un píxel de cada cuatro, lo que logra la máxima compresión.


¿Por qué 4:2:0 es el estándar principal?

Este formato reduce el tamaño de los datos a la mitad sin degradar de forma notable la calidad de la imagen. Por eso es el estándar de referencia para casi todos los servicios de streaming y plataformas de vídeo. Por ejemplo, Microsoft Teams transmite vídeo en 4:2:0 porque ofrece el mejor equilibrio entre calidad y eficiencia del ancho de banda.


En esta configuración, un único valor de color representa cuatro píxeles y el ojo humano no detecta la diferencia, incluso cuando se amplía la imagen, ya que el brillo (Y) permanece sin cambios.


1920×1080×1.5 = 3110400 bytes ≈ 3.1 MB en un solo cuadro, esto da como resultado una reducción de más del doble en el tamaño de los datos en comparación con RGBA , ¡sin ninguna pérdida visible de calidad!


La imagen de abajo muestra cómo se ve el cuadro/imagen final con submuestreo de croma 4:2:0 . Observe cómo una U describe cuatro Y , ¡es 4 veces la memoria ganada!

Imagen de 6x4 píxeles con compresión 4:2:0. Imagen de Yauheni Kanavalik


¿Por qué YUV es tan útil para la IA?

En el mundo actual, las aplicaciones de IA para el procesamiento de video en tiempo real se están expandiendo rápidamente. Las redes neuronales se utilizan no solo para el análisis de cámaras de vigilancia y la mejora de la calidad de la transmisión, sino también para tareas más complejas, como efectos generativos, modificación de la apariencia en tiempo real, reconocimiento de objetos y seguimiento del movimiento.


Por ejemplo, desarrollamos un sistema de maquillaje virtual que aplica lápiz labial y sombra de ojos en el rostro de una persona en un chat de video, de la manera más realista posible. En estas tareas, la precisión en la forma y el movimiento es de vital importancia, mientras que la información del color es secundaria. También puedes entrenar a tu modelo para que comprenda las imágenes en escala de grises y así mejorar su rendimiento; al mismo tiempo, obtener imágenes en escala de grises en la GPU es mucho más eficiente si tomas YUV 4:2:0 como entrada, ya que solo necesitas cortar la primera parte de la imagen para obtener el canal de escala de grises resultante.

Principales desafíos en la transmisión de video con IA

La forma importa más que el color

Los modelos de IA, como muchos otros sistemas de visión artificial, se centran principalmente en la estructura, la forma y los bordes de los objetos, en lugar de en la reproducción precisa del color. Esto es así en el caso del reconocimiento facial, el seguimiento de la pose, la detección de anomalías y los efectos de realidad aumentada. Por ejemplo, en un sistema de reconocimiento de movimiento, el contorno de píxeles de un cuerpo es mucho más importante que el tono de la piel.


El rendimiento es fundamental

Para la IA en tiempo real, cada cuadro debe procesarse en menos de 20 ms para mantener una velocidad de cuadros uniforme ( 50–60 FPS ). Cuanto más rápido reciba y procese una red neuronal los cuadros, más natural y fluida será la ejecución de la aplicación.


  • Los formatos RGB son demasiado pesados: un cuadro RGBA 1920×1080 pesa 8.2 MB , lo que supone una enorme presión sobre la memoria y la potencia de procesamiento.
  • YUV con submuestreo de croma 4:2:0 reduce datos innecesarios en O(1) al transmitir color a una resolución más baja, lo que ahorra recursos computacionales sin pérdida de calidad visible.


Procesamiento de GPU optimizado

Las GPU modernas están altamente optimizadas para el procesamiento YUV, lo que significa que podemos trabajar con imágenes sin convertirlas a RGB. Esto elimina cálculos innecesarios y aumenta la velocidad de procesamiento.


Ahorro de ancho de banda y memoria

Reducir el tamaño de los datos es fundamental para la transmisión y el procesamiento de vídeo en tiempo real:


  • En streaming, el uso de YUV 4:2:0 reduce la transmisión de datos en un 50% sin una pérdida de calidad notable.
  • En IA, los modelos pueden procesar datos comprimidos sin inflarlos a RGB , ahorrando VRAM y potencia computacional.

Conclusión

Seamos honestos: RGB parece la opción obvia. Es el estándar en cámaras, pantallas y gráficos de computadora. Pero cuando se trata de transmisión de video en el mundo real e integración de IA, RGB se convierte en un dinosaurio lento . Entonces entra en escena YUV , que ofrece el equilibrio perfecto entre calidad, velocidad y eficiencia de datos. Su inteligente sistema de almacenamiento (que separa el brillo del color comprimido) permite cosas que serían una pesadilla computacional en RGB .


  • Menos datos = más velocidad. Nadie quiere megabytes adicionales que ralenticen el procesamiento de video en tiempo real.
  • El ojo no se da cuenta del truco . Nuestro cerebro se centra en la forma, no en las pequeñas pérdidas de color: YUV aprovecha al máximo esto.
  • La IA se preocupa por los FPS, no por los matices de color . Cuando solo tienes 16 ms por cuadro, YUV elimina los cálculos innecesarios y ahorra recursos.
  • A las GPU les encanta YUV . Códecs acelerados por hardware, cálculos rápidos y conversiones de formato mínimas: todo lo que necesitas para un video de alto rendimiento.

Veredicto final

El RGB es genial, pero no cuando se trata de rendimiento en tiempo real e inteligencia artificial. En la transmisión de video, YUV es el verdadero caballo de batalla y ha impulsado soluciones importantes durante años.


Por lo tanto, si todavía crees que el RGB es el rey, es hora de reconsiderarlo. Los formatos de video han jugado con sus propias reglas durante mucho tiempo.