• No se han encontrado resultados

Predicción interpicture en HEVC

CAPÍTULO 2. HERRAMIENTAS NECESARIAS EN LA CODIFICACIÓN

2.2 Proceso de codificación en H.265/HEVC

2.2.4 Predicción interpicture en HEVC

La predicción INTER aprovecha de manera exhaustiva las similitudes de cada imagen con sus adyacentes en el dominio temporal, por tanto, se define como aquellas imágenes codificadas con referencia a otras imágenes.

Cada PU codificada en modo INTER puede tener dimensiones cuadradas o rectangulares (como se muestra en la figura 2.9). HEVC soporta más formas de partición de PB en CB para predicción intrapicture. Los modos de partición de PART (2Nx2N), PART (2NxN), y PART (Nx2N) indican los casos en que el CB no se divide (se dividió en dos PB horizontales de igual tamaño o se dividió en dos PB verticales de igual tamaño, respectivamente). PART (NxN) especifica que el CB se divide en cuatro PB de igual tamaño, aunque sólo se admite cuando el tamaño de CB es igual al tamaño CB más pequeño permitido. Además, hay cuatro tipos de partición que apoyan la división del CB en dos PB que presentan diferentes tamaños: PART (2NxnU), PART (2NxnD), PART (nLx2N), y PART (nRx2N). Estos tipos se conocen como particiones de movimiento asimétricos. Las dimensiones rectangulares son útiles porque permiten a las PUs adaptarse con más precisión a la forma de los objetos sin que sea necesario dividirlas en otras PUs más pequeñas [22].

Las muestras de los PB para un CB de predicción intrapicture se obtiene a partir de una región de bloque correspondiente en la imagen de referencia identificado por un índice de imagen de referencia, que está en una posición desplazada por los componentes

horizontal y vertical del vector de movimiento. Excepto para el caso cuando el vector de movimiento tiene un valor entero, la muestra de interpolación fraccionaria se utiliza para generar las muestras de predicción de posiciones de muestreo no entero. Al igual que en H.264/MPEG-4 AVC, HEVC apoya vectores de movimiento con unidades de 1/4 de la distancia entre las muestras de luminancia. Para las muestras de crominancia, la precisión del vector de movimiento se determina de acuerdo con el formato de muestreo de crominancia, que para resultados del muestreo 4:2:0 se calcula en unidades de 1/8 de la distancia entre muestras de crominancia [25].

Figura 2.9 Enteros y posiciones de muestras fraccionada para la interpolación de luminancia [22]. Para las muestras de luminancia, la interpolación de muestras fraccionada (compensación de movimiento) en HEVC utiliza una aplicación separable de un filtro de 8-tap para las posiciones de ½ de muestra y un filtro 7-tap para ¼ de las posiciones de las muestras. Además, pueden existir hasta 6 imágenes de referencia o, si se trabaja con resoluciones bajas, se pueden usar hasta 16.

HEVC en su lugar utilizar un único proceso consistente de interpolación separable para generar todas las posiciones fraccionarias sin operaciones de redondeo intermedios, lo que

mejora la precisión y simplifica la arquitectura de la interpolación de la muestra fraccionada.

La precisión de la interpolación también se ha mejorado en HEVC mediante el uso de filtros más largos, es decir, el filtrado de 7-tap u 8-tap en lugar de la filtración 6-tap utilizada en H.264/MPEG-4 AVC. Usando sólo 7-tap en lugar de los 8 utilizado para puestos de 1/2 de la muestra fue suficiente para que las posiciones de interpolación de 1/4 de la muestra, ya que estas últimas están relativamente cerca de las posiciones de la muestra íntegra, por lo que la muestra más distante en un interpolador de 8-tap estaría más lejos que en el caso de media muestra (donde las distancias relativas de las posiciones de la muestra íntegra son simétricas). Los valores de coeficiente de filtro reales de los núcleos de filtrado de interpolación fueron parcialmente derivan de DCT ecuaciones de función base.

En dependencia de la predicción a tratar, ya sea unidireccional o bidireccional, para cada PU se pueden transmitir uno o dos vectores de movimiento, respectivamente.

La información de movimiento consiste en los valores de desplazamiento de vectores de movimiento horizontal y vertical, uno o dos índices de imágenes de referencia, y, en el caso de las regiones de predicción en slice B, una identificación de cuales hacen referencia a lista de imágenes que se asocia con cada índice. HEVC incluye un modo de fusión para obtener la información de movimiento de los bloques adyacentes espacial o temporalmente. Se denota como modo de fusión ya que forma una región de interrelación compartiendo toda la información de movimiento [25].

En cuanto al modo de fusión, existe una similitud conceptualmente hablando al modo directo y a los modos de salto en AVC. Pero, existen dos diferencias fundamentales: la primera es que HEVC es capaz de transmitir información de índice para seleccionar uno de varios candidatos disponibles; la segunda es que HEVC identifica explícitamente la lista y el índice de la imagen de referencia.

El conjunto de posibles candidatos en el modo de fusión consiste en candidatos adyacentes espaciales, un candidato temporal, y los candidatos generados. La figura 2.10 muestra las posiciones de los cinco candidatos espaciales. Para cada posición de candidato, es la disponibilidad de comprobar el orden según {a1, b1, b0, a0, b2}. Si el bloque situado en la

posición presenta predicción intrapicture para el puesto que está fuera de la actual slice o

tile, se considera como no disponible.

Figura 2.10 Posiciones de los candidatos espaciales de la información de movimiento [26]. Cuando la predicción de un CB interpicture no está codificado en el salto o combina modos, el vector de movimiento se codifica diferencialmente utilizando un predictor de vector de movimiento. Similar al modo de combinación, HEVC permite al codificador elegir el predictor del vector de movimiento entre varios candidatos de predicción. La diferencia entre el predictor, el vector de movimiento real y el índice del candidato, se transmiten al decodificador.

Sólo dos candidatos de movimiento espacial se eligen de acuerdo a la disponibilidad de los cinco candidatos en la figura 2.10. El primer candidato de movimiento espacial se elige entre el conjunto de posiciones a la izquierda (a0, a1) y el segundo de la serie de posiciones por encima (b0, b1, b2) de acuerdo con sus disponibilidades, mientras se mantiene el orden de búsqueda como se indica en los dos conjuntos.

HEVC sólo permite un número mucho menor de candidatos a utilizar en el proceso de predicción del vector de movimiento para el caso que no exista la combinación, ya que el codificador puede enviar una diferencia codificada para cambiar el vector de movimiento. Además, el codificador lo necesita para llevar a cabo la estimación de movimiento, que es una de las operaciones más computacionalmente costosas en el codificador, y la complejidad se reduce al permitir un pequeño número de candidatos [26].

Cuando el índice de referencia de la PU adyacente no es igual a la PU actual, se utiliza una versión a escala del vector de movimiento. El vector de movimiento adyacente es a

escala de acuerdo a las distancias temporales entre la imagen actual y las imágenes de referencia indicadas por los índices de referencia de la PU adyacente y la PU actual, respectivamente. Si dos candidatos espaciales tienen los mismos componentes del vector de movimiento, se excluye un candidato espacial redundante.

A medida que el número de predictores del vector de movimiento no es igual a dos y el uso de la predicción temporal del MV no se desactiva de forma explícita, se incluye el temporal de predicción de candidatos al MV. Esto significa que el candidato temporal no se utiliza en absoluto cuando dos candidatos espaciales están disponibles. Por último, un vector de movimiento 0 se incluye repetidamente hasta que la predicción de candidatos de vectores de movimiento sea igual a dos. Por lo tanto, sólo una bandera codificada es necesaria para identificar qué vector de movimiento de predicción se utiliza en el caso de que no exista el modo de combinación [26].

Documento similar