Macrobloque

Unidad de procesamiento en formatos de compresión de imágenes y vídeos

El macrobloque es una unidad de procesamiento en formatos de compresión de imágenes y vídeo basada en transformadas de bloques lineales, típicamente la transformada de coseno discreta (DCT). Un macrobloque normalmente consta de 16×16 muestras, y se subdivide a su vez en bloques de transformación, y puede subdividirse a su vez en bloques de predicción. Los formatos que se basan en macrobloques incluyen JPEG , donde se denominan bloques MCU , H.261 , MPEG-1 Parte 2 , H.262/MPEG-2 Parte 2 , H.263 , MPEG-4 Parte 2 y H.264/MPEG-4 AVC . [1] [2] [3] [4] En H.265/HEVC , el macrobloque como unidad de procesamiento básica ha sido reemplazado por la unidad de árbol de codificación . [5]

Detalles técnicos

Transformar bloques

Un macrobloque se divide en bloques de transformación, que sirven como entrada para la transformación de bloques lineales, por ejemplo, la DCT. En H.261, el primer códec de vídeo que utiliza macrobloques, los bloques de transformación tienen un tamaño fijo de 8×8 muestras. [1] En el espacio de color YCbCr con submuestreo de croma 4:2:0 , un macrobloque de 16×16 consta de 16×16 muestras de luminancia (Y) y 8×8 muestras de croma (Cb y Cr). Estas muestras se dividen en cuatro bloques Y, un bloque Cb y un bloque Cr. Este diseño también se utiliza en JPEG y en la mayoría de los otros códecs de vídeo basados ​​en macrobloques con un tamaño de bloque de transformación fijo, como MPEG-1 Parte 2 y H.262/MPEG-2 Parte 2. En otros formatos de submuestreo de croma , por ejemplo, 4:0:0, 4:2:2 o 4:4:4, la cantidad de muestras de croma en un macrobloque será menor o mayor, y la agrupación de muestras de croma en bloques diferirá en consecuencia.

En los estándares de codificación de video basados ​​en macrobloques más modernos, como H.263 y H.264/AVC, los bloques de transformación pueden tener tamaños distintos a 8x8 muestras. Por ejemplo, en el perfil principal H.264/AVC, el tamaño del bloque de transformación es 4x4. [4] En el perfil alto H.264/AVC, el tamaño del bloque de transformación puede ser 4x4 u 8x8, adaptados según cada macrobloque. [4]

Bloques de predicción

A diferencia de la división en bloques de transformación, un macrobloque se puede dividir en bloques de predicción. En los primeros estándares, como H.261, MPEG-1 Parte 2 y H.262/MPEG-2 Parte 2, la compensación de movimiento se realiza con un vector de movimiento por macrobloque. [1] [2] En estándares más modernos, como H.264/AVC, un macrobloque se puede dividir en múltiples bloques de predicción de tamaño variable, llamados particiones. [4] En un macrobloque interpredicho en H.264/AVC, se especifica un vector de movimiento independiente para cada partición. [4] De manera correspondiente, en un macrobloque intrapredicho, donde las muestras se predicen extrapolando desde los bordes de los bloques vecinos, la dirección predicha se especifica por partición. [4] En H.264/AVC, el tamaño de la partición de predicción varía de 4×4 a 16×16 muestras tanto para la interpredicción (compensación de movimiento) como para la intrapredicción. [4]

Representación de flujo de bits

A continuación se muestra una posible representación de flujo de bits de un macrobloque en un códec de vídeo que utiliza compensación de movimiento y codificación de transformación . [6] Es similar al formato utilizado en H.261 . [1]

+------+------+-------+--------+-----+----+----+-- ------+| DIRECCIÓN | TIPO | CANTIDAD | VECTOR | CBP | b0 | b1 | ... b5 |+------+------+-------+--------+-----+----+----+-- ------+
  • ADDR — dirección del bloque en la imagen
  • TIPO: identifica el tipo de macrobloque ( intramarco , intermarco , intermarco bidireccional )
  • QUANT — valor de cuantificación para variar la cuantificación
  • VECTOR — vector de movimiento
  • CBP — Patrón de bloque codificado, es una máscara de bits que indica para qué bloques están presentes los coeficientes.
  • bN — los bloques (4 Y, 1 Cr, 1 Cb)

Macrobloqueo

El término macrobloqueo se utiliza comúnmente para referirse a artefactos de codificación de bloques.

Véase también

Referencias

  1. ^ abcd UIT-T (marzo de 1993). «Códec de vídeo para servicios audiovisuales a px 64 kbit/s» . Consultado el 28 de abril de 2013 .
  2. ^ ab ITU-T (febrero de 2012). «Codificación avanzada de vídeo para servicios audiovisuales genéricos» . Consultado el 28 de abril de 2013 .
  3. ^ UIT-T (enero de 2005). «Codificación de vídeo para comunicaciones de baja velocidad de bits» . Consultado el 28 de abril de 2013 .
  4. ^ abcdefg UIT-T (abril de 2013). «Tecnología de la información: codificación genérica de imágenes en movimiento e información de audio asociada: vídeo» . Consultado el 28 de abril de 2013 .
  5. ^ GJ Sullivan; J.-R. Ohm; W.-J. Han; T. Wiegand (25 de mayo de 2012). "Descripción general del estándar de codificación de video de alta eficiencia (HEVC)" (PDF) . IEEE Transactions on Circuits and Systems for Video Technology . Consultado el 26 de abril de 2013 .
  6. ^ Marshall, Dave (10 de abril de 2001). "Codificación intracuadro". Módulo multimedia n.º: CM0340 . Consultado el 13 de febrero de 2014 .
Obtenido de "https://es.wikipedia.org/w/index.php?title=Macrobloque&oldid=1232886793"