• No se han encontrado resultados

Compensación de movimiento para bloques de luminancia superpuestos

Cada píxel de un bloque de predicción de luminancia de 8 * 8 es una suma ponderada de tres valores de predicción, dividida por 8 (con redondeo). Para obtener los tres valores de predicción se utilizan tres vectores de movimiento: el vector de movimiento del bloque de luminancia elegido y dos de los cuatro vectores "distantes":

• el vector de movimiento del bloque situado por encima o por debajo del bloque de luminancia elegido.

Para cada píxel, se utilizan los vectores de movimiento distantes de los bloques situados en el borde de los dos bloques más cercanos. Esto significa que, para la mitad superior del bloque, se usa el vector de movimiento correspondiente al bloque situado por encima del bloque elegido, mientras que para la mitad inferior del bloque, se utiliza el vector de movimiento correspondiente al bloque situado por debajo del bloque elegido (véase la figura F.3). Análogamente, para la mitad izquierda del bloque, se utiliza el vector de movimiento correspondiente al bloque situado a la izquierda del bloque elegido, mientras que para la mitad derecha del bloque, se utiliza el vector de movimiento correspondiente al bloque situado a la derecha del bloque elegido (véase la figura F.4).

Sea (x,y) una posición en una imagen medida en unidades de píxels enteros. Sea (m,n) un índice de bloque entero en una imagen, dado por:

m = x / 8 y n = y / 8

donde "/" representa división con truncamiento.

Sea (i,j) una ubicación de píxel en un bloque de 8 × 8, dada por:

i = x m · 8 y j = y n · 8 Todo lo anterior da como resultado:

(x,y) = (m · 8 + i, n · 8 + j)

Sea (MVkx,MVky) un vector de movimiento, que puede contener desplazamientos de píxels entero o píxels mitad con k = 0, 1, ó 2. Por ejemplo (MVkx,MVky) puede ser igual a (−7,0, 13,5). En este caso (MV0x,MV0y) denota el vector de movimiento para el bloque vigente (m,n), (MV1x,MV1y) denota el vector de movimiento del bloque por encima o por debajo y (MV2x,MV2y) denota el vector de movimiento a la izquierda o a la derecha del bloque vigente (m,n) definido anteriormente.

La creación entonces de cada píxel, P(x,y), en un bloque de predicción de luminancia 8 × 8 con un índice de bloque (m,n) está regida por la siguiente ecuación:

P(x,y) = (q(x,y) ·H i j0( , ) + r(x,y) ·H i j1( , ) + s(x,y) · H i j2( , ) + 4)/8,

donde q(x,y), r(x,y) y s(x,j) son los valores de predicción tomados de la imagen referenciada definida por:

q x y( , )=p x( +MV0x,y+MV0y),

r x y( , )=p x( +MV1x,y+MV1y),

s x y( , )=p x( +MV2x,y+MV2y),

donde p x( +MVkx,y+MVky) es el valor de predicción en la posición (x+MVkx,y+MVky) en la imagen referenciada. Se señala que (x+MVkx,y+MVky) puede estar fuera de la imagen y

puede ser una posición de píxels enteros o píxels mitad. En los casos en que se utilizan vectores de movimiento de píxels mitad, p x( +MVkx,y+MVky)) se refiere el valor obtenido tras la aplicación

Las matrices H i j0( , ), H i j1( , ), y H i j2( , ), se definen en las figuras F.2, F.3 y F.4, donde (i, j) indican respectivamente la columna y la pila de la matriz.

Cuando no se utiliza el modo estructura en rebanada (véase el anexo K) ni el modo decodificación de segmento independiente (véase el anexo R), se utilizan vectores de movimiento distantes de otros segmentos de imagen de vídeo de la misma manera que vectores de movimiento distantes dentro del GOB vigente. Si se utiliza el modo estructura en rebanada o el modo decodificación de segmento independiente, los vectores de movimiento distantes correspondientes a bloques de otros segmentos de imagen de vídeo se fijan al vector de movimiento del bloque vigente, con independencia de las demás condiciones descritas en el próximo párrafo. (Véase la definición de segmento de imagen de vídeo en el anexo R.)

Si no se codificó uno de los macrobloques adyacentes, el vector de movimiento distante correspondiente se pone a 0. Si uno de los bloques adyacentes se codificó INTRA, el vector de movimiento distante correspondiente se sustituye por el vector de movimiento para el bloque vigente salvo cuando se utiliza el modo tramas PB. En este caso (bloque INTRA en modo tramas PB), se utiliza el vector de movimiento del bloque INTRA (véase también el anexo G). Cuando el bloque vigente está en el borde de la imagen y, por lo tanto, falta un bloque colindante, el vector de movimiento distante correspondiente se sustituye por el vector de movimiento elegido. En todos los casos, si el bloque se encuentra en la parte más baja del macrobloque (para los bloques números 3 ó 4, véase la figura 5), el vector de movimiento distante que corresponde al bloque de luminancia 8 * 8 del macrobloque situado por debajo del macrobloque elegido se sustituye por el vector de movimiento del bloque elegido.

En las figuras F.2, F.3 y F.4 se ofrecen los valores de ponderación de la predicción.

4 5 5 5 5 5 5 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 6 6 6 6 5 5 5 5 5 5 5 5 5 5 4 5 5 5 5 5 5 4

Figura F.2/H.263 – Valores de ponderación, H0, para la predicción con el vector de movimiento del bloque de luminancia elegido

2 2 2 2 2 2 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 1 1 2 2 2 2 2 2 2 2

Figura F.3/H.263 – Valores de ponderación, H1, para la predicción con los vectores de movimiento de los bloques de luminancia situados por encima y por debajo

del bloque de luminancia elegido

2 1 1 1 1 1 1 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 1 1 1 1 1 1 2

Figura F.4/H.263 – Valores de ponderación, H2, para la predicción con los vectores de movimiento de los bloques de luminancia situados a la izquierda y a la derecha

del bloque de luminancia elegido

ANEXO G

Modo tramas PB

G.1 Introducción

Este anexo describe el modo tramas PB facultativo de la presente Recomendación. La capacidad de este modo se señaliza por medios externos (por ejemplo, aplicando la Recomendación H.245). El uso de este modo se indica en PTYPE.

Una trama PB consiste en dos imágenes que se codifican como una unidad. El nombre PB proviene del nombre de los tipos de imagen de la Recomendación H.262, en la que hay imágenes P e imágenes B. Por consiguiente, una trama PB consiste en una imagen P, que se predice a partir de la anterior imagen P decodificada, y una imagen B, que se predice a partir de la última imagen P decodificada y la imagen P que está siendo decodificada en ese momento. Se eligió la denominación imagen B porque partes de imágenes B se pueden predecir bidireccionalmente a partir de imágenes P pasadas y futuras. El proceso de predicción se ilustra en la figura G.1.

En el anexo M se describe una versión mejorada del modo tramas PB, al que se denomina "modo tramas PB mejoradas". El modo tramas PB descrito en este anexo se mantiene sólo a efectos de

compatibilidad con los sistemas concebidos antes de la adopción del modo tramas PB mejoradas. Por este motivo, el modo tramas PB aquí descrito no se puede utilizar con las características adicionales de la sintaxis que requieren la utilización de PLUSPTYPE.

P B P

T1602860-97

Trama PB

Figura G.1/H.263 – Predicción con el modo tramas PB