Un pantallazo sobre la compresión de video Inter-Frame Vs Intra-Frame
Uno de los aspectos más confusos de la compresión de video parece ser la diferencia
entre compresión inter-frame Vs. compresión intra-frame. A continuación, una breve
lección sobre ambas.
El video en su sentido más simple puede ser pensado como una serie de imágenes
inanimadas (de aquí que en sus primeros días, los films eran llamados “Imágenes en
Movimiento” [Moving Pictures] hasta que algún genio del marketing comprimió las
palabras y acuño el término [Movies] ‘’Películas’’.
Cuando estas imágenes se suceden lo suficientemente rápido, el ojo humano
interpreta los frames como movimiento en vez de cuadros inanimados. Desde el punto
de vista de la compresión, sin embargo, todavía son solamente una serie de imágenes
reproducidas en cierto orden específico.
La compresión de video entonces, se concentra en como tomar estos frames contiguos
y minimizar la cantidad de información necesaria para codificar la imagen. El obvio
primer paso es comprimir cada imagen individualmente. A esto se lo conoce como
compresión INTRA-FRAME, y usa solamente información contenida en el cuadro
actual para minimizar el tamaño de la imagen. Por ejemplo, JPEG (El formato de
archivo estándar usado para imágenes en internet) usa una transformada discreta del
coseno para suprimir los componentes de alta frecuencia en las imágenes, que
generalmente no son percibidos por el sistema psico-visual humano; al desechar esta
información, una imagen quieta puede codificarse con mucha menos información.
La idea se refinó con las generaciones, con los primeros formatos estándar como GIF
y JPEG formando la base y los cimientos para el desarrollo de estándares más
complejos como Motion JPEG y DV, el formato ampliamente utilizado en cámaras de
video de MiniDV.
A medida que creció la demanda de una mejor calidad de imagen a menor frecuencia
de bits [Bit rate], la compresión obtenida solo por la codificación intraframe se torno
insuficiente. La compresión temporal o codificación INTER-FRAME se introdujo en
el estándar MPEG-1, y ha sido desde entonces refinada en los codecs MPEG-2, VC-1
y H.264. Estos codecs incluyen imágenes codificadas con intraframe (I-frame) como
se menciona en el párrafo anterior, pero también contienen frames con
CODIFICACION PREDICTIVA (P-frames) y frames con CODIFICACION
PREDICTIVA BIDIRECCIONAL (B-frames).
Los P-frames dependen de imágenes que ya se transmitieron anteriormente en la
secuencia, y usan data de esos frames (con algunos cambios menores) para crear el
frame actual.
Los B-frames son similares, pero pueden usar data de imágenes anteriores y
posteriores en la secuencia de video. Puede haber muchísimos P y B-frames entre
cada I-frame, y como la mayoría de las secuencias de video tienen imágenes similares
por largos periodos de tiempo, es posible obtener una compresión dramáticamente
más grande con esta técnica. El numero consecutivo de imágenes interframe es
referido como duración GOP (Grupo de Imágenes) [Group Of Picture Length].
Mientras mayor sea el GOP, mayor será la distancia entre I-frames, por lo que los
cuadros entremedio de estos, serán reconstruidos con ‘’interpretaciones’’ del mismo
ya sea con P-frames o B-frames.
El beneficio de utilizar solo compresión intraframe es que es generalmente mucho
menos “pesado” (en términos de computación) para procesar, dado que no requiere la
utilización repetitiva de múltiples frames guardados en la memoria. También hay
mucha menos latencia en el proceso de codificación, por lo que las imágenes
comprimidas se crean mucho mas rápido. Es por esto que, históricamente, las
videocamaras digitales capturaban solo en formatos intraframe (DV, DV50,
DVCPRO HD, AVC-Intra). Sin embargo, la nueva generación de cámaras personales
con capacidad de almacenamiento limitado están contando con formatos de
codificación interframe como el HDV (una versión del MPEG-2 de GOP mas largo) y
AVCHD (una versión de H.264 de GOP mas largo). Estos formatos permiten que
video de alta definición sea almacenado en las mismas cintas MiniDV que
anteriormente solo podían capturar video con definición estándar. Editar estos
formatos con GOP más largo es increíblemente intensivo para la computadora, ya que
por cada imagen reproducida, se necesita la decodificación de muchísimos frames
temporalmente adyacentes primero.