Macrobloques

Las secuencias de v铆deo contienen una gran cantidad de redundancia. El objetivo de las t茅cnicas de codificaci贸n es la reducci贸n de la tasa de bits, analizando la redundancia y codificando la m铆nima informaci贸n necesaria. Para alcanzar una m谩xima compresi贸n y buena calidad del v铆deo, se dividen las im谩genes de la secuencia de v铆deo, en cortes (slices), y a su vez, 茅stos se dividen en macrobloques.

Ejemplo de la divisi贸n de una secuencia de v铆deo

Los macrobloques son la unidad b谩sica sobre la cual se realiza la compensaci贸n de movimiento. Estos bloques contienen datos de luminancia y crominancia, posteriormente, en el momento de codificar, a cada uno de estos bloques se le aplicar谩 la DCT y se obtendr谩n unos coeficientes cuantificados uniformemente listos para transmitir. La cabecera de los macrobloques proporciona informaci贸n sobre el tipo de codificaci贸n usado en el macrobloque, la escala del cuantificador y los vectores de movimiento, y m谩s valores que podemos ver en el siguiente apartado.


Formato de los Macrobloques

+-------+--------+---------+----------+-----+----+----+-----+
|  DIR  |  TIPO  |  CUANT. | VEC. MOV | PCB | b0 | b1 | ... |
+-------+--------+---------+----------+-----+----+----+-----+
  • DIR.... Direcci贸n del bloque en la imagen.
  • TIPO.... Identificador del tipo de macrobloque (Im谩genes I, P y B).
  • CUANT.... Valor de cuantificaci贸n.
  • VEC. MOV.... Vector de movimiento.
  • PCB.... Pattern Code Bloc, algunos bloques dentro del mismo macrobloque se encuentran f谩cilmente y otros no, esto es una marca indicando cuales est谩n presentes dentro del bloque.
  • Bloques.... (4 Y(Luma), 1 Cr(Croma), 1 Cb(Croma)).

Tipos de macrobloques

Los macrobloques son la base a la hora de decidir que tipo de codificaci贸n se realizar谩 a cada imagen antes de ser transmitida, existen cinco tipos de codificaci贸n de im谩genes:

  • Inter-frame: Los macrobloques se codifican sin referencias a im谩genes anteriores. Se encuentra en las im谩genes I, P y B.
  • Predictive-frame: Los macrobloques se predicen a partir de im谩genes anteriores y la compensaci贸n de movimiento. Se encuentran en las im谩genes P y B.
  • Bi-Predicitive-frame: Los macrobloques se predicen a partir de im谩genes anteriores, posteriores y la compensaci贸n de movimiento. Tan solo se encuentran en las im谩genes B.
  • Switching P-frame: Facilita la transici贸n entre flujo de datos o stream codificados. Contienen macrobloques I y/o P.
  • Switching I-frame: Facilita la transici贸n entre flujo de datos o stream codificados. Contienen macrobloques SI, es un tipo especial Intra-frame.
Secuencia de Im谩genes I, P y B

M茅todo

Lo que se pretende es detectar el movimiento entre im谩genes, respecto a los macrobloques que constituyen los cortes de las im谩genes de la secuencia. Entonces, lo que se hace es comparar los bloques del fotograma a codificar, con los bloques del fotograma de destino o de referencia. Podemos tener dos tipos de comparaciones, Estimaci贸n Backward o Estimaci贸n Forward (Estimaci贸n de Movimiento).

Backward
Forward


En el caso ideal, los p铆xels correspondientes a los bloques coincidentes ser铆an exactamente iguales. No obstante esto, este caso sucede en muy raras ocasiones, ya que la forma de los objetos en movimiento var铆a respeto al punto de vista del observador o la luz reflejada sobre la superficie, y siempre se ver谩 afectada por el ruido, conocido con el nombre de Macroblocking.


Si nos fijamos en la foto, se diferencian en la imagen unos bloques formados en ella, que son debidos a que hay una gran cantidad de movimiento en esa zona, y la estimaci贸n de movimiento no es correcta al cien por cien. Otro error que provoca el efecto de bloque es cuando el BER (Bit Error Rate) es muy alto, por ejemplo, y los errores de predicci贸n de movimiento son muy grandes, entonces, al recibir la se帽al de televisi贸n nos da errores de Macroblocking como estos:

BER alto provoca errores de codificaci贸n

Ejemplos

MPEG-4 Parte 10

En el c贸dec de v铆deo, tambi茅n conocido como H.264/AVC se realizan particiones de macrobloques dependiendo la cantidad de movimiento que tenga la zona de la imagen. Es decir, en las zonas donde no hay mucho movimiento, se le asignan macrobloques de 16x16 p铆xels, en cambio en las que hay mayor cantidad de movimiento en la escena, se le asignar谩n macrobloques de 16x8, 8x16 u 8x8 p铆xels.

Macrobloques

High Efficiency Video Coding (HEVC)

Actualmente se est谩 estudiando un nuevo c贸dec conocido como H.265. Las principales componentes y ventajas son las siguientes:

  • Unidad de codificaci贸n: Los tama帽os de los bloques van de 8x8 hasta 64x64 (supermacrobloques) en estructura de 谩rbol.
  • Transformar: El tama帽o de quadtree estructurado en bloques de 4x4 a 32x32 muestras.
  • Intra predicci贸n: Hasta 34 direcciones de Predicci贸n Intra.
  • Interpolaci贸n: Interpolaci贸n de filtro, hasta 1/4 muestras.
  • Predicci贸n de movimiento: Predicci贸n avanzada de vectores de movimiento.
  • Codificaci贸n de entropia: CABAC o CAVLC.

V茅ase tambi茅n

Enlaces externos

Este art铆culo ha sido escrito por Wikipedia. El texto est谩 disponible bajo la licencia Creative Commons - Atribuci贸n - CompartirIgual. Pueden aplicarse cl谩usulas adicionales a los archivos multimedia.