Compresión de vídeo. Elegir un método de compresión. Codecs
El objetivo de la compresión de datos es de representar el mismo contenido usando menos datos. Podemos especificar un compresor/descompresor, o codec, que gestione la compresión. Un codec puede usar una o varias estrategias para la compresión porque no hay un método único que demuestra ser el mejor para todas las situaciones.
Las estrategias de compresión más comunes usadas por codecs y los tipos de vídeo a comprimir se describen a continuación.
La compresión espacial busca modos de comprimir un solo frame buscando el modelo y la repetición entre píxeles. Por ejemplo, en vez de describir cada uno de los miles de píxeles en una imagen de un cielo azul, la compresión espacial puede registrar una descripción mucho más corta, como " Todos los píxeles en este área son azul claro."Run lenght encoding" es una versión de esta técnica que usan muchos codecs. Los codecs que usan la compresión espacial, como la animación Quick Time o Microsoft RLE, trabajan bien con el vídeo que contiene grandes áreas de color sólido, como la animación de una historieta.
![]()
Las Imágenes digitales están compuestas de píxeles (A). Consume mucho espacio de disco cuando se almacena sin compresión (B). Aplicando la codificación "Run lenght encoding" se almacenan los mismos datos de frame en mucho menos espacio (C).
En general, a medida que se aumenta la compresión espacial, la tasa de datos y el tamaño de archivo disminuyen, y la imagen pierde la agudeza y la definición. Sin embargo, algunas formas de codificación Run lenght conserva la calidad de imagen completamente, pero requieren más poder de proceso.
La compresión temporal en una secuencia de frames busca el modelo y la repetición en el tiempo. En algunos clips de vídeo, como en un anuncio de televisión, la compresión temporal notará que los únicos píxeles que cambian de frame a frame son los que forman la cara del locutor. Todos los otros píxeles no cambian (cuando la cámara no se mueve). En vez de describir cada píxel en cada frame, la compresión temporal describe todos los píxeles en el primer fotograma, y luego para cada fotograma siguiente, describe sólo los píxeles diferentes a los del fotograma anterior. Esta técnica le llama "frame differencing". Cuando la mayor parte de los píxeles en un frame son diferentes del frame anterior, es preferible describir el marco entero otra vez. Cada marco completo se llama keyframe, que pone un nuevo punto de partida para el frame differencing. Muchos codecs usan la compresión temporal, incluyendo Cinepak.
Si no podemos poner keyframes para un codec, lo más probable es que no use la compresión temporal. La compresión temporal trabaja mejor cuando áreas grandes del vídeo no cambian, y son menos eficaces cuando la imagen tiene cambios constantemente, como en un vídeo de música.
![]()
En este clip de animación, el único cambio es el círculo alrededor del barco.
![]()
A. El almacenaje del clip sin compresión registra todos los píxeles en todos los marcos. B. La aplicación de la compresión temporal crea un keyframe del primer marco, y marcos siguientes registran sólo los cambios.
La Compresión sin pérdidas. Algunos codecs usan la compresión sin pérdidas, que asegura que toda la información - y así toda la calidad - del clip original se conserva tras la compresión. Sin embargo, conservando el nivel original de calidad se limita el grado al cual se puede bajar la tasa de datos y el tamaño de archivo, y la tasa de datos resultante puede ser demasiado alta para una reproducción adecuada.
Los codecs sin pérdidas, como la Animación (en el mejor ajuste de calidad), se usan para conservar la calidad máxima durante la edición o para imágenes fijas donde la tasa de datos no es relevante.
Compresión Lossy. La mayor parte de codecs usa la compresión lossy, que desecha algunos datos originales durante la compresión. Por ejemplo, si los píxeles que componen un cielo en realidad contienen 78 tonos de azul, un codec lossy puede grabar con perdida de calidad unos 60 tonos de azul. De este modo la compresión lossy supone transigencia calidad, produce tasas de datos y tamaños de archivo inferiores que la compresión sin pérdidas, entonces codecs lossy como Cinepak o el Vídeo Sorenson son usados comúnmente para la producción final de vídeo destinada a uso de CD-ROM o Internet.
Compresión asimétrica y simétrica. El codec que escogemos afecta al proceso de producción, no precisamente en el tamaño de archivo o la velocidad de reproducción, pero si en el tiempo que necesita el codec para comprimir un determinado número de frames. La compresión rápida acelera la producción de vídeo, y la descompresión rápida facilita la visión; pero muchos codecs necesitan mucho más tiempo para comprimir que para someterlos a descompresión durante la reproducción. Esto es por qué un clip de 30 segundos puede necesitar varios minutos para procesarlo antes de la reproducción. Un codec se considera simétrico cuando requiere la misma cantidad de tiempo para comprimir y descomprimir un clip. Un codec es asimétrico cuando los tiempos requeridos para comprimir y descomprimir son considerablemente diferentes.
Compresión DV. DV es el formato que usan muchas cámaras digitales. DV también connota el tipo de compresión usada por estas cámaras, compresión del vídeo dentro de la cámara. La forma más común de DV emplea una tasa de datos fija de 25 megabytes por segundo (3.5 megabytes por segundo) y una relación de compresión de 5:1. Esa compresión se llama "DV25".
Ningún codec es el mejor en todas las situaciones. El codec que usamos para exportar el programa final debe estar disponible para todo el público. Por eso, mientras el codec especial que viene con una tarjeta de captura determinada podría ser la mejor opción para capturar los clips de la fuente, no sería una opción buena para exportar clips, ya que es improbable que todo el público a quien va dirigida la película tuviese aquella tarjeta y codec específico. Esto interesa particularmente en el streaming. Desde que las tres arquitecturas más populares streaming (RealMedia, Windows Media Player, y QuickTime) usan codecs propios en sus reproductores; un streaming RealMedia, por ejemplo, no se puede reproducir en un reproductor de Windows Media Player, y viceversa.
Por eso, para favorecer al público con reproductores diferentes, los archivos multimedia para streaming generalmente se codifican en múltiples formatos.