• No se han encontrado resultados

Sintaxis de la capa de macrobloque

In document Unión Internacional de Telecomunicaciones (página 126-130)

Anexo I – Modo codificación INTRA avanzada

O.4 Sintaxis de la capa de macrobloque

La sintaxis de la capa de macrobloque para imágenes B y EP es la misma, ya que cada una de ellas utiliza dos imágenes de referencia de un modo similar. No obstante, la interpretación varía ligeramente según el tipo de imagen. En la figura O.6 se indica la sintaxis B y EP. El campo MBTYPE indica si existe una predicción en modo directo, una predicción hacia adelante, una predicción hacia atrás/hacia arriba o una predicción bidireccional. El MBTYPE se define de manera diferente para las imágenes B y EP, como se describe a continuación.

T1603010-97

COD MBTYPE CBPC CBPY DQUANT MVDFW MVDBW Capa de bloque

Código de longitud fija

Código de longitud variable

Figura O.6/H.263 – Sintaxis de macrobloque para imágenes EP y B

El modo predicción directa sólo está disponible para las imágenes B. Es un modo de predicción bidireccional similar al modo bidireccional del modo tramas PB mejoradas (anexo M). La única diferencia es que no existe ninguna restricción con respecto a qué píxels se pueden predecir hacia atrás ya que la imagen completa de predicción hacia atrás es conocida en el decodificador. El modo bidireccional utiliza vectores de movimiento separados para la predicción hacia adelante y hacia atrás. En los modos directo y bidireccional, los valores de los píxels de predicción se calculan haciendo un promedio de los píxels de predicción hacia adelante y hacia atrás. El promedio se calcula dividiendo la suma de las dos predicciones por dos (división por truncamiento). En el modo directo, cuando hay cuatro vectores de movimiento en el macrobloque de referencia, se utilizan los cuatro vectores de movimiento como en el modo tramas PB mejoradas (anexo M).

Para las imágenes B, predicción hacia adelante significa predicción a partir de una imagen de referencia anterior en la capa de referencia. Predicción hacia atrás significa predicción a partir de una imagen de referencia temporalmente subsiguiente en la capa de referencia.

Para las imágenes EP, predicción hacia adelante significa predicción a partir de una imagen EI o EP anterior en la misma capa, mientras que predicción hacia arriba significa predicción a partir de la imagen de referencia (posiblemente interpolada) temporalmente simultánea en la capa de referencia. No se utiliza ningún vector de movimiento para la predicción hacia arriba (la cual, sintácticamente, está en el mismo lugar que la predicción hacia atrás para las imágenes B), aunque puede utilizarse uno de ellos para la predicción hacia adelante.

La sintaxis de macrobloque para las imágenes EI es ligeramente distinta. Como se muestra en la figura O.7, MBTYPE y CBPC se combinan en un campo MCBPC. No se utiliza ninguna predicción hacia adelante, únicamente la predicción hacia arriba a partir de la imagen de referencia temporalmente simultánea en la capa de referencia. No se utiliza ningún vector de movimiento. En las imágenes B y EP, pueden utilizarse vectores de movimiento en las fronteras de la imagen, tal como se describe en D.1 (aunque la extensión de la gama de vectores de movimiento, descrita en D.2, sólo está activa si se utiliza también el modo vector de movimiento sin restricción).

Se debe garantizar que los codificadores estén conformes con D.1.1 para todos los macrobloques, incluidos los que se predicen con el modo de predicción directa; es decir, el codificador no ha de seleccionar el modo de predicción directa a no ser que los valores del vector de movimiento que se infieren en el proceso de predicción de modo directo no correspondan con ningún elemento de la región de predicción de 16×16 (u 8×8) con una distancia horizontal o vertical de más de 15 píxeles fuera del área de la imagen codificada.

T1603020-97

COD MCBPC CBPY DQUANT Capa de bloque

Código de longitud fija

Código de longitud variable

Figura O.7/H.263 – Sintaxis de macrobloque para imágenes EI O.4.1 Indicación de macrobloque codificado (COD) (1 bit)

Se trata de un bit que, cuando se fija a "0", señala que el bloque está codificado. Cuando se fija a "1", no se transmite más información para este macrobloque, que se trata como un macrobloque "saltado", como se describe a continuación.

O.4.2 MBTYPE/MCBPC [Código de longitud variable (VCL)]

Hay distintos cuadros MBTYPE para imágenes B e imágenes EP. Para imágenes EI, en cambio, hay un cuadro MCBPC. El cuadro O.1 es el cuadro MBTYPE para imágenes B. El cuadro O.2 es el cuadro MBTYPE para imágenes EP. El cuadro O.3 es el cuadro MCBPC para imágenes EI.

Para las imágenes B, el tipo de predicción "directa" (con salto)" indica que en el macrobloque no se transmite ni MBTYPE ni ningún dato y que el decodificador deriva los vectores de movimiento hacia adelante y hacia atrás y la predicción bidireccional correspondiente. Esto es señalizado por el bit COD. Los tipos de predicción "hacia adelante (sin textura)", "hacia atrás (sin textura)" y "Bi-dir (sin textura)" para una imagen B indican predicción hacia adelante, hacia atrás y bidireccional sin coeficientes, y transmisión de un vector de movimiento para la predicción hacia adelante y hacia atrás, y de dos vectores de movimiento para la predicción bidireccional.

Para las imágenes EP, el tipo de predicción "hacia adelante (con salto)" indica que no se envía ningún dato adicional para el macrobloque, por lo que el decodificador debe utilizar la predicción hacia adelante con un vector de movimiento cero y sin coeficientes. Los tipos de predicción "hacia arriba (sin textura)" y "Bi-dir (sin textura)" para una imagen EP indican predicción hacia arriba y bidireccional sin coeficientes, y con vectores de movimiento cero.

Para las imágenes EI, el tipo de predicción "hacia arriba (con salto)" indica que no se envía ningún dato adicional para el macrobloque, por lo que el decodificador debe utilizar la predicción hacia arriba con un vector de movimiento cero y sin coeficientes.

Cuadro O.1/H.263 – Códigos de longitud variable (VLC) MBTYPE para imágenes B

Índice Tipo de predicción MVDFV MVDBV CBPC +

CBPY DQUANT MBTYPE Bits

Directa (con salto) (COD = 1) 0

0 Directa X 11 2

1 Directa + Q X X 0001 4

2 Hacia adelante (sin textura)

X 100 3

3 Hacia adelante X X 101 3

4 Hacia adelante + Q X X X 0011 0 5

5 Hacia atrás (sin textura)

X 010 3

6 Hacia atrás X X 011 3

7 Hacia atrás + Q X X X 0011 1 5

8 Bi-dir (sin textura) X X 0010 0 5

9 Bi-dir X X X 0010 1 5

10 Bi-dir + Q X X X X 0000 1 5

11 INTRA X 0000 01 6

12 INTRA + Q X X 0000 001 7

13 Relleno 0000 0000 1 9

Cuadro O.2/H.263 – Códigos de longitud variable (VLC) MBTYPE para imágenes EP

Índice Tipo de predicción MVDFV MVDBV CBPC +

CBPY DQUANT MBTYPE Bits

– Hacia adelante (con

salto) (COD = 1) 0

0 Hacia adelante X X 1 1

1 Hacia adelante + Q

X X X 001 3

2 Hacia arriba (sin textura)

010 3

3 Hacia arriba X 011 3

4 Hacia arriba + Q X X 0000 1 5

5 Bi-dir (sin textura) 0001 0 5

6 Bi-dir X X 0001 1 5

7 Bi-dir + Q X X X 0000 01 6

8 INTRA X 0000 001 7

9 INTRA + Q X X 0000 0001 8

Cuadro O.3/H.263 – Códigos de longitud variable (VLC) MCBPC para imágenes EI

Índice Tipo de predicción

Patrón de bloque de codificación

(56)

CBPY DQUANT MCBPC Bits

Hacia arriba

(con salto) (COD = 1) 0

0 Hacia arriba 00 X 1 1 1 Hacia arriba 01 X 001 3 2 Hacia arriba 10 X 010 3 3 Hacia arriba 11 X 011 3 4 Hacia arriba + Q 00 X X 0001 4 5 Hacia arriba + Q 01 X X 0000 001 7 6 Hacia arriba + Q 10 X X 0000 010 7 7 Hacia arriba + Q 11 X X 0000 011 7 8 INTRA 00 X 0000 0001 8 9 INTRA 01 X 0000 1001 8 10 INTRA 10 X 0000 1010 8 11 INTRA 11 X 0000 1011 8 12 INTRA+Q 00 X X 0000 1100 8 13 INTRA+Q 01 X X 0000 1101 8 14 INTRA+Q 10 X X 0000 1110 8 15 INTRA+Q 11 X X 0000 1111 8 16 Relleno 0000 0000 1 9

O.4.3 Patrón de bloque codificado para crominancia (CBPC, coded block pattern for

chrominance) (Longitud variable)

Si está presente, CBPC indica el patrón de bloque codificado para bloques de crominancia, tal como se describe en el cuadro O.4. CBPC sólo está presente para imágenes EP y B, cuando su presencia es indicada por MBTYPE (véanse los cuadros O.1 y O.2).

Cuadro O.4/H.263 – Códigos CBPC VLC

Índice Patrón de bloque de

codificación (56) CBPC Bits

0 00 0 1

1 01 10 2

2 10 111 3

3 11 110 3

O.4.4 Patrón de bloque codificado para luminancia (CBPY) (Longitud variable)

Si está presente, CBPY indica qué bloques figuran en la porción luminancia del macrobloque. CBPY sólo está presente cuando su presencia es indicada por MBTYPE (véanse los cuadros O.1, O.2 y O.3). CBPY se codifica tal como se describe en 5.3.5 y en el cuadro 12. Los macrobloques con predicción hacia arriba en las imágenes EI y EP, los macrobloques con predicción bidireccional

de las imágenes EP y los macrobloques INTRA de las imágenes EI, EP y B utilizan la definición CBPY para macrobloques INTRA, y otros tipos de macrobloques de las imágenes EI, EP y B utilizan la definición CBPY para macrobloques INTER.

O.4.5 Información de cuantificador (DQUANT) (2 bits/Longitud variable)

DQUANT se utiliza como en otros tipos de macrobloques de imágenes. Véanse 5.3.6 y el anexo T.

O.4.6 Datos de vector de movimiento (MVDFW, MVDBW) (Longitud variable)

MVDFW son los datos de vector de movimiento del vector hacia adelante, si está presente. MVDBW son los datos de vector de movimiento del vector hacia atrás, si está presente (autorizado únicamente en las imágenes B). Las palabras de código de longitud variable se indican en el cuadro 14, o en el cuadro D.3 si se utiliza el modo vector de movimiento sin restricción (véase el anexo D).

O.5 Decodificación de vector de movimiento

In document Unión Internacional de Telecomunicaciones (página 126-130)