Compensación de movimiento

Compensación de movimiento
Para otros usos de este término, véase Movimiento (desambiguación).

La compensación de movimiento es una técnica utilizada en la codificación de vídeo, cuyo principal objetivo consiste en eliminar la redundancia temporal existente entre las imágenes que componen una secuencia, con el fin de aumentar la compresión.

El proceso se basa en un algoritmo que examina la sucesión de fotogramas consecutivos, generalmente muy similares entre sí, para analizar y estimar el movimiento entre los dos. Si el sistema detecta que una región de la imagen ya ha aparecido anteriormente, codifica la posición que ocupa en el fotograma actual en lugar de volver a codificar toda la región. De este modo, la predicción de la imagen actual vendrá dada por la compensación de movimiento basándose en las imágenes anteriores.

Contenido

Codificador basado en detección de movimiento

Hay varias técnicas para eliminar la redundancia temporal en una secuencia de imágenes, pero la mayoría actúan siguiendo el siguiente esquema:

  1. Cada imagen se divide en bloques, generalmente de 8 x 8 o de 16 x 16 píxeles.
  2. Por cada bloque de la imagen, se genera una predicción, buscando donde se encontraban estos bloques en la imagen anterior (compensación de movimiento).
  3. Se resta la predicción al bloque de la imagen actual.
  4. Se aplica una DCT a la diferencia entre la predicción y el bloque actual.
  5. Se cuantifican los coeficientes DCT, eliminando las componentes de altas frecuencias y se codifican en un código, generalmente no-uniforme.
  6. En caso de que no hubiera fotograma previo o hubiera mucha diferencia, se codifica el bloque de nuevo en lugar de la diferencia de la predicción.

Normalmente los bloques se agrupan en macrobloques para reducir el coste computacional: bloques más grandes significa que hay menos bloques a prever.

Realmente la predicción (compensación de movimiento) se realiza sobre los macrobloques: se calcula el vector de movimiento de cada elemento dentro del macrobloque. Así, para cada fotograma se guardan:

  • El resultado de aplicar la DCT y la cuantificación a cada bloque diferencia.
  • Los vectores de movimiento de los elementos de dentro los macrobloques.
  • Se aplica un filtro a la DCT para eliminar las componentes de alta frecuencia y aumentar la compresión.

Tratamiento de los fotogramas

La compresión anterior se puede aplicar a los fotogramas de dos maneras:

  • Compresión intrafotograma: La DCT se aplica a bloques de la imagen original pero no se hace ninguna predicción sobre el movimiento (la compresión es similar a las imágenes JPEG). Se denominan fotogramas I. Esta compresión es útil si la compensación de movimiento no proporciona una buena predicción.
  • Compresión no-intrafotograma: La DCT se aplica a los bloques de la imagen diferencia y se calcula la predicción de movimiento. Se generarán dos tipos de fotogramas: los P y los B

Acceso a una secuencia de imágenes

Si sólo se codificaran las predicciones, no se podría tener un acceso aleatorio puesto que para acceder a una determinada imagen haría falta calcular las predicciones de todas las anteriores. Por otro lado un error en un fotograma se propagaría a todos los posteriores. Por eso es por lo que se combinan tres tipos de fotogramas en la secuencia:

  • Fotogramas I (intra): Se codifican aisladamente, sin referencia a otros fotogramas, como si fueran imágenes estáticas. Sirven por permitir un acceso aleatorio e impedir la propagación de errores.
  • Fotogramas P (predictivos): Se codifican aplicando compensación de movimiento al último fotograma I o P (el que sea más reciente). Los fotogramas I y P se denominan fotogramas de anclaje.
  • Fotogramas B (bidireccionalmente predictivos): Se codifican aplicando compensación de movimiento a los dos fotogramas de anclaje más recientes en el pasado y en el futuro. Con la predicción bidireccional se suele conseguir una mejor relación de compresión que con predicciones basadas sólo en el pasado: es posible que un bloque del fotograma actual no aparezca en un fotograma pasado pero sí en uno de futuro. Sólo se pueden crear después de que se hayan creado los fotogramas I y P. También toleran más error porque no se usan para hacer otras predicciones.

Agrupación de fotogramas: GOP

Generalmente los fotogramas se agrupan en un Grupo de Fotogramas o GOP (Group Of Pictures). Se trata de la unidad de acceso aleatorio más pequeña. Un GOP está formado por:

  • Un fotograma I (el primero).
  • Uno o varios fotogramas P.
  • Varios fotogramas B intercalados.

Usualmente en un GOP encontramos 12 fotogramas, pero el codificador puede cambiarlo dinámicamente. En el caso de detectar un cambio de escena, forzará un fotograma I que dará inicio a un nuevo *GOP.

Teniendo en cuenta que para formar un fotograma P necesitamos un I y que para formar los B necesitamos tener los I y los P, podemos ordenar la secuencia de fotogramas desde dos puntos de vista diferentes:

  • Orden de visualización, como lo ve el usuario.
  • Orden de bitstream, como se generan los fotogramas.

En la siguiente tabla se ve el orden en que el usuario verá los fotogramas, junto con el orden en el que son creados y enviados:

Orden de visualización
I B B P B B P B B P B B I
1 2 3 4 5 6 7 8 9 10 11 12 13
Ordren de bitstream
I P B B P B B P B B I B B
1 4 2 3 7 5 6 10 8 9 13 11 12


Características particulares de los formatos que utilizan compensación de movimiento

MPEG1: Apareció en 1993, con una tasa de entre 1 y 2 Mbps. Utiliza bloques de 8x8 píxeles. Estaba pensado específicamente para el almacenamiento digital en CD (VCD), con una calidad similar al VHS de la época. Sólo permite codificación progresiva.

MPEG2: Fecha de 1995, con un tasa de entre 4 y 20 Mbps. Aporta una mejora de calidad y es genérico, independiente de la aplicación. Permite la codificación entrelazada y diferentes modos de macrobloques. Se utiliza en el DVD, cable digital, TDT, etc.

MPEG4: Trata las escenas como una colección de objetes (fondo estático, rostros, etc.) dónde cada uno se codifica independientemente generando distintos bitstreams.

MPEG7: Incluye descripción de contenidos multimedia por palabras clave y por significados semánticos (quienes, que, cuando, donde) o estructural (formas, colores, texturas, movimiento, sonidos). Este material audiovisual es indexado y permite ejecutar búsquedas con facilidad.


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Movimiento — El término movimiento puede referirse a varios conceptos dependiendo de la disciplina. Contenido 1 Arte 2 Biología 3 Demografía 4 Economía …   Wikipedia Español

  • Movimiento obrero argentino — Marcha sindical en Argentina. El movimiento obrero argentino tiene una larga, apasionante y compleja historia de luchas. Fue iniciado poco después de la mitad del siglo XIX, tanto por la comunidad de obreros afroargentinos como por grupos… …   Wikipedia Español

  • Estimación de Movimiento — Saltar a navegación, búsqueda Estimación de movimiento es el proceso a partir del cual se obtienen los vectores de movimiento (VM) de cada macrobloque (MB) de la imagen a codificar respeto una (o más) imágenes de referencia. La estimación de… …   Wikipedia Español

  • Vector de movimiento — El vector de movimiento es una estimación del desplazamiento horizontal y vertical de cada región de una cierta imagen con respecto a uno o varios frames de la misma secuencia. Contenido 1 Contexto 2 Explicación detallada 3 Codificación …   Wikipedia Español

  • cámara de compensación — Economía. Asociación voluntaria de bancos, encaminada a simplificar y facilitar el intercambio de cheques, letras, etc, y saldar las diferencias entre el debe y el haber de cada banco asociado, en cuanto se refiere a tales efectos, con el menor… …   Diccionario de Economía Alkona

  • cámara de compensación — Economía. Asociación voluntaria de bancos, encaminada a simplificar y facilitar el intercambio de cheques, letras, etc, y saldar las diferencias entre el debe y el haber de cada banco asociado, en cuanto se refiere a tales efectos, con el menor… …   Diccionario de Economía

  • Video Coding Layer — La capa de codificación de vídeo, o en inglés Video Coding Layer (VCL) es parte del estándar de video H.264/AVC y similar a MPEG 2 en lo que a su filosofía se refiere. Mezcla predicción temporal (se refiere al conjunto de frames que se suceden) y …   Wikipedia Español

  • H.264/MPEG-4 AVC — H.264 o MPEG 4 parte 10 es una norma que define un códec de vídeo de alta compresión, desarrollada conjuntamente por el ITU T Video Coding Experts Group (VCEG) y el ISO/IEC Moving Picture Experts Group (MPEG). La intención del proyecto H.264/AVC… …   Wikipedia Español

  • Inter-frame — prediction es una técnica que explota la correlación temporal entre frames consecutivos para poder codificar con el mínimo número de bits posibles. Para codificar, lo que se hace es predecir un frame a partir de frames anteriores y/o futuros,… …   Wikipedia Español

  • MPEG-4 Parte 2 — MPEG 4 Part 2 (H.263) es una técnica de compresión de vídeo desarrollada por MPEG. Pertenece al estándar ISO/IEC MPEG 4. Es un estándar de compresión basado en la Transformada de coseno discreta (DCT), similar a estándares anteriores como MPEG 1… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”