Proceso de Codificación Predictiva
La primera imagen de una secuencia de video (instante t0) se codifica en modo INTRA. Para esto, se transforma aplicando la DCT. Después se cuantifican y codifican los coeficientes obtenidos. Los índices entran en los procesos de decuantificación y transformación inversa, al final de la cual se obtiene la misma imagen que obtendrá el receptor. Esta imagen se almacena en la memoria y sirve de referencia para la codificación de la siguiente imagen en modo INTER.
La imagen del instante t1 entra en un módulo de estimación de movimiento en el que se obtendrán para cada macrobloque un vector de movimiento que indica cuál es el bloque más parecido en la imagen de referencia. Después, en el módulo de compensación de movimiento, se crea una imagen de predicción de la imagen actual que se resta de la imagen original. Esta resta, llamada imagen residual, se transforma, se cuantifican sus coeficientes y se codifican para su transmisión. Como antes, los coeficientes cuantificados entran en los procesos de decuantificación y transformación inversa para obtener la misma imagen error que el receptor. Esta imagen se suma a la imagen de predicción anteriormente creada para generar la nueva imagen de referencia, igual que en el receptor. Esta nueva imagen de referencia se queda en la memoria para el siguiente instante de codificación.
Block Matching a Medio Píxel
- Se busca a 1 píxel de precisión en la imagen de referencia el bloque más parecido al bloque buscado.
- Se realiza la interpolación del bloque buscado y de la imagen de referencia.
- Finalmente se realiza otra búsqueda del bloque buscado interpolado en la zona de búsqueda a ½ píxel. Sirve para reducir el residuo.
Forma de Crear Imagen de Predicción
Usar la imagen anterior decodificada directamente (restar de la actual).
Cambios que Producen Error de Predicción
- Descubrimiento de fondo
- Cambio de iluminación
- Movimiento cámara
- Movimiento objeto (predicción de movimiento)
Propiedades de los Frames (Orden Creciente)
- Compresión: I-P-B
- Complejidad: B-P-I
- Nº referencias: I-P-B
Predicción de Movimiento: Estimación + Compensación
La Estimación de Movimiento
Se define como el proceso de obtención de la información de movimiento percibida (velocidad aparente) a través de la información de las imágenes. Normalmente, se realiza a partir de una imagen anterior reconstruida y la imagen que se desea transmitir. El resultado es un conjunto de vectores de movimiento, que serán convenientemente codificados para su transmisión, ya que éstos no pueden ser obtenidos en el receptor debido a que se necesita el conocimiento de la imagen original que se va a transmitir.
La Compensación de Movimiento
Tiene como objetivo la generación de una imagen virtual (llamada imagen de predicción) a partir de una (o varias) imágenes anteriores reconstruidas (imágenes de referencia) y de la información de movimiento obtenida en la estimación. Por lo tanto, mediante la compensación de movimiento, se obtiene una estimación de la imagen actual. Este proceso permite reducir la correlación temporal presente en las secuencias de imágenes en direcciones no paralelas al eje de tiempos. La diferencia entre la imagen estimada y la imagen que se desea transmitir es lo que se denomina error de predicción.
Codificador Híbrido
- Realiza una predicción del contenido espacial en el dominio temporal (basada en movimiento).
- Reduce la redundancia temporal aplicando por bloques: predicción de movimiento = estimación + compensación.
- Reduce la redundancia espacial en la imagen error de predicción aplicando la DCT.
- La predicción final es más eficiente: error menor.
- Se usan en MPEG-1, 2, 4, DivX, Xvid, WMV, etc.
Imagen INTRA
- Imagen que se codifica con datos obtenidos sólo de ella: sólo datos de imagen con DCT+VLC como JPEG.
- Imagen tipo I (intracodificada), no utiliza ninguna referencia.
Imagen INTER
- Se codifica con datos obtenidos no sólo de ella sino de otras imágenes anteriores y/o posteriores.
- Sólo se codifican vectores de movimiento y errores de predicción.
- Se recompone la imagen mediante compensación de movimiento.
- Imágenes tipo P (predictiva: Utiliza predicción con compensación de movimiento a partir de la referencia pasada) y B (bi-direccional predictiva: Puede utilizar predicción con compensación de movimiento a partir de la referencia pasada y/o futura).
Block Matching FS (Full Search)
- Examinar cada localización posible dentro del área definida.
- Da igual el orden de examinaciones.
- MV = dónde se minimiza la distancia.
Ventaja:
- Exactitud, se encuentra el mínimo (mejor acierto) seguro.
Desventaja:
- Alto coste computacional, no es práctico para aplicaciones en tiempo real.
Fast Block Matching: Tipos de Búsqueda
Búsqueda en Espiral
Desplazamiento en círculo alrededor de la posición del MB. La búsqueda termina en un mínimo local. Búsqueda menos costosa, pero puede que no encuentre el mínimo global.
Búsqueda Jerárquica o Piramidal (HS)
- Reducen a la vez: el número de posiciones en que hay que evaluar la distancia entre los bloques y el número de píxeles empleados en el cálculo.
- Trabajan con distintas resoluciones espaciales: Cada nivel que se sube en la pirámide se reducen a la mitad las muestras de la imagen, de los MB y de las áreas de búsqueda respecto al anterior.
- Se empieza en el nivel más alto (con menor resolución) y a partir de los resultados se van bajando un nivel con área de búsqueda 1 en cada dirección.