De Wikipedia, la enciclopedia libre
Ir a navegaciónSaltar a buscar

El macrobloque es una unidad de procesamiento en formatos de compresión de imagen y video basada en transformaciones de bloques lineales, generalmente la transformada de coseno discreta (DCT). Un macrobloque normalmente consta de 16 × 16 muestras y se subdivide en bloques de transformación y se puede subdividir 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 básica de procesamiento 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 a la transformación de bloque lineal, por ejemplo, el 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 muestras de 16 × 16 luma (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 la mayoría de los códecs de video 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 otro submuestreo de croma formatos, por ejemplo, 4: 0: 0, 4: 2: 2 o 4: 4: 4, el número 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 las muestras de 8 × 8. Por ejemplo, en el perfil principal H.264 / AVC, el tamaño del bloque de transformación es 4 × 4. [4] En H.264 / AVC High profile, el tamaño del bloque de transformación puede ser 4 × 4 u 8 × 8, adaptado por 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 interdependiente en H.264 / AVC, se especifica un vector de movimiento separado para cada partición. [4] En consecuencia, en un macrobloque intra-predicho, donde las muestras se predicen extrapolando de los bordes de los bloques vecinos, la dirección de predicción que 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 proporciona 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]

+ ------ + ------ + ------- + -------- + ----- + ---- + ---- + - ------ +
| ADDR | TIPO | CUANT | VECTOR | CBP | b0 | b1 | ... b5 |
+ ------ + ------ + ------- + -------- + ----- + ---- + ---- + - ------ +
  • ADDR - dirección del bloque en la imagen
  • TIPO - identifica el tipo de macrobloque ( marco intra , inter frame , inter marco bi-direccional )
  • 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 usa comúnmente para referirse a artefactos de codificación de bloques.

Ver también

Referencias

  1. ^ a b c d 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. ^ a b UIT-T (febrero de 2012). "Codificación de vídeo avanzada para servicios audiovisuales genéricos" . Consultado el 28 de abril de 2013 .
  3. ^ UIT-T (enero de 2005). "Codificación de video para comunicaciones de baja tasa de bits" . Consultado el 28 de abril de 2013 .
  4. ^ a b c d e f g 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: Video" . 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) . Transacciones IEEE sobre circuitos y sistemas para tecnología de video . Consultado el 26 de abril de 2013 .
  6. Marshall, Dave (10 de abril de 2001). "Codificación intracuadro" . Módulo multimedia No: CM0340 . Consultado el 13 de febrero de 2014 .