E t s de ingenieros industriales universidad de m laga proyecto fin de carrera
This presentation is the property of its rightful owner.
Sponsored Links
1 / 46

E.T.S. de Ingenieros Industriales Universidad de Málaga Proyecto Fin de Carrera PowerPoint PPT Presentation


  • 72 Views
  • Uploaded on
  • Presentation posted in: General

E.T.S. de Ingenieros Industriales Universidad de Málaga Proyecto Fin de Carrera. Estudio de la Estimación de Movimiento en el Dominio de la Frecuencia para la Compresión de Secuencias de Vídeo. Autor. Ángel Jesús Ferrás Rodríguez Director. Fco. Javier Hormigo Aguilar. OBJETIVOS.

Download Presentation

E.T.S. de Ingenieros Industriales Universidad de Málaga Proyecto Fin de Carrera

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


E t s de ingenieros industriales universidad de m laga proyecto fin de carrera

E.T.S. de Ingenieros IndustrialesUniversidad de MálagaProyecto Fin de Carrera

Estudio de la Estimación de Movimiento

en el Dominio de la Frecuencia para la

Compresión de Secuencias de Vídeo

Autor. Ángel Jesús Ferrás Rodríguez

Director. Fco. Javier Hormigo Aguilar


Objetivos

OBJETIVOS

  • Hacer un estudio de la estimación de movimiento en el dominio de la frecuencia, basado en las transformadas DCT/DST, para la compresión de formatos de video digital.

  • Adicionalmente se estudiará un codificador de vídeo basado en el estimador de movimiento en el dominio de la transformada.

  • Se implementará en un DSP.


Justificaci n

JUSTIFICACIÓN

  • Este estudio se encuadra dentro de una línea de Investigación desarrollada por el Dpto. de Arquitectura de Computadores de la Universidad de Málaga, para la implementación de un codificador MPEG4 en Hardware específico.

  • Se basa en un estimador de movimiento en el dominio de la DCT/DST propuesto por Ut-Va Koc y K.J.Liu.


Codificador est ndar

CODIFICADOR ESTÁNDAR

  • El interés de los estimadores de movimiento en el dominio de la frecuencia viene del hecho de que la información dentro de los codificadores estándares de vídeo está en el dominio de la DCT.

  • Los estimadores de movimiento usados trabajan en el dominio del espacio (SD-ME)Se necesita de un bloque IDCTPasa la información del dominio de la DCT al domino del espacio.

Dominio Espacio

Dominio DCT

Dominio Espacio

--Diagrama de Bloques de los codificadores de video actuales--


Codificador est ndar1

CODIFICADOR ESTÁNDAR

  • Este bloque IDCT es el cuello de botella de los codificadores de vídeo.

  • Se podría eliminar si el estimador de movimiento trabajase en el dominio de la DCT.

  • Proponiéndose un nuevo codificador de vídeo:

    • Sin bloque IDCT.

    • Con E.M. que trabaja en el Dominio de la DCT.

Dominio DCT

X


Compensaci n de movimiento

COMPENSACIÓN DE MOVIMIENTO

  • División de la imágenes en bloques rectangulares.

  • Redundancia Temporal- Imágenes consecutivas de s.v. contienen los mismos objetos pero desplazados.

  • Imagen Codificada- Imagen previa + Aplicación de unos vectores de movimiento a cada bloque de la imagen previa.

El Estimador de Movimiento se basa en el concepto de Predicción por compensación de movimiento.


Compensaci n de movimiento1

COMPENSACIÓN DE MOVIMIENTO

Método Genérico usado en los E.M. en el Dominio del Espacio.

  • Por cada Bloque de la imagen previa a la codificar, se define una Ventana de Búsqueda sobre la imagen a codificar , en la que se elige un bloque, según el criterio del estimador de movimiento, que tenga semejanza con el bloque de la imagen previa.

  • Se calcula el desplazamiento relativo entre los bloques semejantes que son los Vectores de Movimiento.

El estimador de movimiento que da mejores resultados es el BKMME ya que realiza una Búsqueda Exhaustiva sobre la ventana de Búsqueda.


Estimador de movimiento en el dominio de la dct

Estimador de Movimiento en el Dominio de la DCT

Para desplazamientos de objetos dentro de dos imágenes consecutivas.

Xt -Imagen a codificar

Xt-1 –Imagen previa

(mu,mv) vector de desplazamiento relativo del objeto dentro de las imagenes


Estimador de movimiento en el dominio de la dct1

Estimador de Movimiento en el Dominio de la DCT

2D-DCT-I Transformaciones discretas seno y coseno en dos dimensiones tipo I

2D-DCT-II  Transformaciones discretas seno y coseno en dos dimensiones tipo II


Pseudofases de la dct

PSEUDOFASES DE LA DCT

Concepto en analogía a las fases de la FFT porque son portadoras de la información del desplazamiento de los objetos dentro de las imágenes


Pseudofases de la dct1

PSEUDOFASES DE LA DCT

Pseudofases son

la relacción entre las transformaciones:

2D-DCT/DST-I

(Sobre imagen Previa)

2D-DCT/DST-II

(Sobre imagen actual)

Para k,l dado.

f(k,l) y g(k,l) son las Pseudofases portadoras del movimiento

*


Estimador de movimiento en el dominio de la dct2

Estimador de Movimiento en el Dominio de la DCT

Pseudofases f y g pasan por codificadores IDCSTII e IDSCTII para extracción de la información de desplazamiento contenido en las pseudofases


Estimador de movimiento en el dominio de la dct3

Estimador de Movimiento en el Dominio de la DCT

Aplicación de principios ortogonales conocidos para IDCST-II E IDSCT-II

Los deltas definen unos valores de pico para DCS y DSC en la posición

(mu, mv)


E t s de ingenieros industriales universidad de m laga proyecto fin de carrera

Estimador de Movimiento en el Dominio de la DCT

(mu,mv) y el signo del coeficiente de esa posición en las matrices DSC y DCS determinan la magnitud y sentido del desplazamiento según la tabla siguiente:

DXTME


Se dxtme

SE-DXTME

  • SE-DXTMEExtensión de DXTME para corregir errores de predicción de movimiento.

  • P- etapa de preprocesamiento de las imágenes, resalta los contornos de los objetos contenidos en ella y disminuye la intensidad de los fondos de las imágenes.

  • NO MOVIMIENTO- en analogía a muchos estándares de compresión(MPEG1).

  • Se usa algún criterio conocido cual de los dos estimadores da una predicción más certera.


E t s de ingenieros industriales universidad de m laga proyecto fin de carrera

PREPROCESAMIENTO

EDGE DIFERENCIAL

(a) Imagen de secuencia de vídeo

(b) Filtro EDGE- Extrae los contornos de los objetos contenidos en la imagen

(c) Elimina el fondo de las imágenes

Imagen óptima para DXTME, los objetos son de alta luminancia y el fondo es oscuro


Superposiciones adaptadas

SUPERPOSICIONES ADAPTADAS

Método de Compensación de movimiento

Se realiza una división en bloques rectangulares de la imagen a codificar e imagen previa.

Rango de Búsqueda definido sobre la imagen a codificar es de misma extensión que el tamaño de Bloque.


Superposiciones adaptadas1

SUPERPOSICIONES ADAPTADAS

La Imagen Codificada queda como superposición de bloques procedentes de la imagen previa, adaptadas a la estimación realizada independientemente para cada par de bloques de mismo orden dada por DXTME.

Superposiciones Adaptadas junto con SE-DXTME, que está compuesto por EDGE DIFERENCIAL y Estimador de No Movimiento, da buenos resultados en la codificación de vídeo, según estudios realizados por Koc y Liu.


Modificaciones dxtme

MODIFICACIONES DXTME

Cálculo de la Pseudofases f yg

*

Z 2D-DCT/DST-I

(Sobre imagen Previa)

X2D-DCT/DST-II

(Sobre imagen actual)

Problema: El cálculo de la inversa de una matriz requiere de excesivo cálculo computacional


Modificaciones dxtme1

Solución: intercambiar matriz inversa por matriz traspuesta.

son Pseudofases

ya que contiene también la información del objeto desplazado dentro de las imágenes.

MODIFICACIONES DXTME


Modificaciones dxtme2

MODIFICACIONES DXTME

  • Con la primera modificación lo único que cambia es el cálculo de las pseudofases f y g (inversa de z) por fm,gm (traspuesta de z). El resto de algoritmo es el mismo. Es lo que se ha llamado

    DXTME-M.


Modificaciones dxtme3

MODIFICACIONES DXTME

Cuando se realizan las superposiciones adaptadas, en las divisiones en bloques los objetos al desplazarse quedan fuera de los bloques en la imagen previa o en la imagen a codificar.

1- Pez desplazado horizontalmente fuera del bloque

2-pez desplazado verticalmente que se introduce en el bloque

En los dos casos tanto DXTME como DXTME-M dan errores en la predicción de desplazamiento.

Imágenes de movimientos de objetos estrictos en una sola dimensión y en una de las dos imágenes le falta parte de la extensión del objeto, dan una predicción errónea de movimiento en el eje en donde no se ha movido el objeto.


Modificaciones dxtme4

MODIFICACIONES DXTME

  • Segunda Modificación :

    Una vez calculado la estimación de movimiento por alguno de los dos algoritmos, se considerará tres tipos de movimientos estimados posibles: vertical y horizontal, estrictamente vertical y estrictamente horizontal . A continuación se elige aquel de los tres movimientos que tenga un menor error respecto al movimiento real del objeto.

Usado conjuntamente con SE-DXTME, además de valorar el desplazamiento de DXTME(-M) y del estimador de no movimiento, se estimará también si el desplazamiento es estrictamente horizontal y estrictamente vertical. Este método se ha llamado

M-SE-DXTME(-M).


Niveles de tolerancia de error

NIVELES DE TOLERANCIA DE ERROR

  • Dos Imágenes (32x32) compuesta por un mismo objeto cuadrado (16x16) desplazado vertical y horizontalmente formado por valores aleatorios .

  • Se ha realizado la estimación de movimiento por los algoritmos DXTME y DXTME-M, para distintos niveles de ruido gaussiano.


Niveles de tolerancia de error1

NIVELES DE TOLERANCIA DE ERROR

Varianza del 0,008

DXTME

DCS

DSC

El ruido aplicado sobre las imágenes es de media cero y de varianza definida.

Aumentando la varianza se obtienen mayores niveles de distorsión del objeto, disminuyendo SNR.

Para una Varianza del 0,008 el objeto está muy distorsionado.

En DXTME para esta varianza ni DSC, ni DCS tienen picos pronunciados da errores en la predicción de movimiento.

En DXTME-M para esta varianza tanto DSC como DCS si tiene picos pronunciados da una predicción de movimiento correcta.

DXTME-M

DCS

DSC


E t s de ingenieros industriales universidad de m laga proyecto fin de carrera

NIVELES DE TOLERANCIA DE ERROR

DXTME-M tolera mayores niveles de ruido que DXTME.

Para este ejemplo DXTME hace una estimación correcta para 15,4 dB de SNR, frente a los 12,5 dB de DXTME-M. Siendo la diferencia de tolerancia de 3 dB de DXTME-M frente a DXTME.

La experiencia ha determinado que el estimador DXTME-M es mucho más robusto al ruido que DXTME en circunstancias diversas.

Para una Varianza del 0,008 el objeto está muy distorsionado.

En DXTME para esta varianza ni DCS, ni DCS tienen picos pronunciados da errores en la predicción de movimiento.

En DXTME-M para esta varianza tanto DSC como DCS si tiene picos pronunciados da una predicción de movimiento correcta.

El ruido aplicado sobre las imágenes es de media cero y de varianza definida, Aumentando la varianza se obtienen mayores niveles de distorsión del objeto, disminuyendo SNR.


Testeo de los codificadores

Para estudiar el nivel de fidelidad que proporcionan la codificación con los algoritmos a estudio, se ha realizado la obtención de la imagen estimada a partir de los vectores de desplazamiento obtenidos al aplicar los estimadores de movimiento sobre distintas secuencias de imágenes, evaluando después el nivel de similitud que tienen las imágenes codificadas con las originales.

Se han presentado los codificadores de este estudio conjuntamente con un estándar de estimación de movimiento llamado BKMME que trabaja en el dominio del espacio, usado en los codificadores MPEG y con el que se obtiene los mejores resultados.

La herramienta de simulación matemática de los algoritmos codificadores ha sido MATLAB 6.5.

Sobre estas imágenes estimadas se ha determinado su MSE (error cuadrático medio), respecto a las imágenes reales sin compresión. Proporcionando una medida de error de fidelidad en la compresión sobre la imagen original.

TESTEO DE LOS CODIFICADORES


Testeo de los codificadores1

TESTEO DE LOS CODIFICADORES

  • 1ª Secuencia de Vídeo Estudiada

    ”Tabletennis”

  • Muy usada para comprobar la eficiencia de los algoritmos de compresión de secuencias de vídeo

  • La secuencia usada está compuesta por diez imágenes de 352x288 píxeles

Apreciándose el movimiento de una pelota que sube y baja

Se hace un zoom inverso de la cámara, produciéndose un efecto de alejamiento de la escena Los objetos contenidos en ella disminuyen su tamaño y además aumenta la visión de la extensión de los objetos del escenario. Es una secuencia con complejidad alta en la estimación de movimiento de sus objetos.


Testeo de los codificadores2

TESTEO DE LOS CODIFICADORES

SUPERPOSICIONES ADAPTADAS

SUPERPOSICIONES ADAPTADAS

Añade sufijo -M

EL TOTAL DE CODIFICADORES QUE SE ESTUDIA SON 12 FRENTE AL BKMME.


Testeo de los codificadores3

TESTEO DE LOS CODIFICADORES

MSE para secuencia “TABLETENNIS”

Codificadores con alta distorsión de los contornos de los objetos

MSExF(K)

Imágenes Codificadas 

TACHADO Codificador con MSE Superior al 390% Sobre BKMME


Testeo de los codificadores4

TESTEO DE LOS CODIFICADORES

Se predice el movimiento de la pelota y el de la raqueta.

No predice el contorno de la mesa al hacer el zoom inverso.

Se puede considerar un codificador bueno, no produce distorsión significativa de los contornos de los objetos

(a) Imagen 4ª de la secuencia Tabletennis. (b) Imagen 5ª con superposición de los vectores de movimiento de SE-DXTME con preprocesado Edge diferencial, con un estimador de no movimiento y superposiciones adaptativas con tamaño de bloque 16x16. (c) Imagen estimada a partir de los vectores de movimiento sobre la primera imagen. (d) Error diferencial entre imagen estimada y segunda imagen.

TACHADO Codificador con MSE Superior al 390% Sobre BKMME


Testeo de los codificadores5

TESTEO DE LOS CODIFICADORES

Tienen todos la segunda modificación, el porcentaje es significativamente inferior a SE(Edge)-DXTME

El mejor de todos es el M-SE(Edge)-DXTME-M que tiene la primera y segunda modificación con preprocesado Edge diferencial.

M-SE(Edge)-DXTME-M

La Codificación es de alta calidad.

No existen distorsión de los contornos de los objetos.


Testeo de los codificadores6

TESTEO DE LOS CODIFICADORES

  • La 2ª secuencia de vídeo “Oso de Peluche”.

  • Está formada por un oso de peluche sobre un fondo de cuadros con intensidad variable, el movimiento del objeto (el oso) es producido por el desplazamiento de la cámara gradualmente sobre escenario estático

Ha sido sometido a la codificación del movimiento realizada por M-SE-DXTME-M, SE-DXTME y BKMME para bloques de tamaño16x16 píxeles, sobre un formato de las imágenes de 352x288.


Testeo de los codificadores7

TESTEO DE LOS CODIFICADORES

  • El MSE producido por la codificación de los algoritmos basados en la transformada coseno es mucho mayor que el producido por el BKMME.

  • Para el M-SE-DXTME-M es del 416% superior y el SE-DXTME del 471% al BKMME.

  • Una ligera variación en el MSE de M-SE-DXTME-M respecto SE-DXTME se puede considerar desde un punto de vista cuantitativo como métodos de codificación análogos.


Testeo de los codificadores8

TESTEO DE LOS CODIFICADORES

Desde un análisis visual se observa la notoriedad de funcionamiento del M-SE-DXTME-M frente al SE-DXTME.

Si nos fijamos atentamente a las imágenes estimadas por estos algoritmos en este ejemplo, se observa que los contornos para M-SE(Edge)-DXTME-M no están distorsionados, sin embargo para SE-DXTME las irregularidades son manifiestas.


Testeo de los codificadores9

TESTEO DE LOS CODIFICADORES

  • Usándose este hecho, primero para manifestar el buen funcionamiento del algoritmo con las modificaciones propuestas en este proyecto y segundo como justificación al argumento de que el MSE no siempre es un baremo adecuado para estimar la buena codificación de movimiento de los algoritmos en las secuencias dadas.


Testeo de los codificadores10

TESTEO DE LOS CODIFICADORES

Lo interesante de este vídeo es el movimiento de la cabeza y dentro de ella, el movimiento de los labios y los ojos.

Es decir, se muestra a testeo los algoritmos sobre una secuencia de vídeo que contiene un objeto en movimiento (la cabeza de la periodista), y dentro del objeto hay otros objetos que se mueven (ojos y boca). Se puede considerar como una prueba con una dificultad en estimar los movimientos de los objetos de carácter alto.

  • Secuencia de vídeo

    “ Akiyo”

  • Muy usada para comprobar la eficiencia de los algoritmos de compresión de secuencias de vídeo.

  • Se han testeados los algoritmos sobre una secuencia completa formada por 300 imágenes de tamaño 352x288


Testeo de los codificadores11

TESTEO DE LOS CODIFICADORES

Se han obtenidos unos resultados muy concluyentes para la valoración del M-SE-DXTME-M frente a SE-DXTME, el MSE medio para un tamaño de bloque de 16x16 píxeles es del 24,5 % superior al obtenido por el BKMME, mientras que para SE-DXTME es del 72,4 %.


Testeo de los codificadores12

TESTEO DE LOS CODIFICADORES

Para un tamaño de bloque de 8x8 píxeles, el MSE medio obtenido por M-SE–DXTME-M es del 36.1 % superior al BKMME y el SE-DXTME es del 98,4 %.


Testeo de los codificadores13

TESTEO DE LOS CODIFICADORES

La codificación realizada por SE-DXTME queda en una valoración de fidelidad significativamente inferior al M-SE-DXTME-M, quedando patente que las mejoras propuestas en este estudio proporciona unas herramientas eficaces para combatir las debilidades y defectos en la codificación para los algoritmos de estimación de movimiento basados en la transformada coseno.


Implementaci n en dsp

IMPLEMENTACIÓN EN DSP

  • Se han implementado los algoritmos M-SE-DXTME-M, DXTME-M y BKMME en un procesador digital de señales.

  • El DSP usado es TMS320c6711 y el programa utilizado para su programación es el Code Componer Estudio 1.3.

  • Los algoritmos han sido programados en código C, optimizados y traducidos a microinstrucción por el mismo programa, configurando las opciones de compilación para una máxima velocidad.


Implementaci n en dsp1

IMPLEMENTACIÓN EN DSP

Se puede observar que el número de ciclos para el algoritmo M-SE-DXTME-M es ligeramente inferior al BKMME para los dos tamaños de bloque usado (16x16 y 8x8 píxeles).

La segunda modificación del estudio supone un gasto en tiempo relativamente pequeño, no llega a 1% del tiempo total del algoritmo para procesamiento en bloques de 16x16 píxeles, y menor al 3% para 8x8 píxeles.

En M-SE-DXTME-M hay una disminución del tiempo bastante considerable dependiendo del tamaño de bloque usado, para 16x16 es del orden aproximado del 3,7 veces superior al obtenido para 8x8. Esta reducción del gasto computacional al reducir el tamaño de bloque se da en cualquiera de los algoritmos del estudio.

Imágenes de tamaño 64x64 píxeles y el tamaño de bloque se ha alternado entre 16x16 y 8x8 píxeles


Implementaci n en dsp2

IMPLEMENTACIÓN EN DSP

El número de imágenes de tamaño 256x192 píxeles por segundo es superior a 38 para 16x16, y superior a 143 para 8x8, estos valores superan una frecuencia de imagen de 30 Hz.


Conclusiones

CONCLUSIONES

  • En este estudio propone un algoritmo nuevo de estimación de movimiento basado en las transformaciones seno y coseno para la codificación de secuencias de vídeo.

  • Las bases de la formulación matemática del algoritmo de estimación movimiento ha sido el llamado DXTME, propuesto por U-V-Koc y R-Liu[1][3], donde dicha formulación ha sido modificada, en beneficio a la fidelidad y complejidad de cálculo de forma sustancial, en lo que se ha llamado primera modificación, DXTME-M. Este estimador de movimiento demuestra tener una tolerancia al ruido mucho mayor que el DXTME, por lo que es más robusto.

  • Un codificador de vídeo basado en el algoritmo DXTME, llamado en la literatura SE-DXTME, es estudiado por los autores y valorado como un codificador que da buenos resultados en fidelidad. La segunda modificación que tiene una complejidad computacional baja, aporta una mejora sustancial cuando se aplica a este codificador.


Conclusiones1

CONCLUSIONES

  • Un uso conjunto de las dos modificaciones para una amplia gama de secuencias de vídeo, demuestran tener una fidelidad de codificación muy alta, obteniéndose valores de error cercanos al algoritmo codificador basado en el sistema de búsqueda de bloques análogos (BKMME), que es aquel con el que se obtiene los mejores resultados para los modelos de codificación basados en el movimiento de bloques.

  • Una implementación en DSP del algoritmo de un codificador con las dos modificaciones, lo que se ha llamado M-SE-DXTME-M, da unos valores satisfactorios en velocidad de codificación. Para un tamaño de bloque de 16x16 píxeles la velocidad de compresión que se alcanzan para tamaño de imagen de 256x192 es superior a 38 cuadros por segundo, y para tamaño de bloque 8x8 píxeles es superior a 143 cuadros por segundo, consiguiéndose en los dos casos trabajar bajo este tipo de vídeo a una frecuencia mayor de 30 Hz de velocidad de cuadros.


E t s de ingenieros industriales universidad de m laga proyecto fin de carrera

FIN DE LA PRESENTACIÓN


  • Login