Post on 30-Dec-2015
description
E.T.S. de Ingenieros IndustrialesE.T.S. de Ingenieros IndustrialesUniversidad de MálagaUniversidad de Málaga
Proyecto Fin de CarreraProyecto Fin de Carrera
Estudio de la Estimación de MovimientoEstudio de la Estimación de Movimiento
en el Dominio de la Frecuencia para laen el Dominio de la Frecuencia para la
Compresión de Secuencias de VídeoCompresión de Secuencias de Vídeo
Autor.Autor. Ángel Jesús Ferrás Rodríguez Ángel Jesús Ferrás Rodríguez
Director.Director. Fco. Javier Hormigo Aguilar Fco. Javier Hormigo Aguilar
OBJETIVOSOBJETIVOS
Hacer un estudio de la estimación de movimiento en el Hacer un estudio de la estimación de movimiento en el dominio de la frecuencia, basado en las transformadas dominio de la frecuencia, basado en las transformadas DCT/DSTDCT/DST, para la compresión de formatos de video digital., para la compresión de formatos de video digital.
Adicionalmente se estudiará un codificador de vídeo Adicionalmente se estudiará un codificador de vídeo
basado en el estimador de movimiento en el dominio de la basado en el estimador de movimiento en el dominio de la transformada.transformada.
Se implementará en un Se implementará en un DSPDSP. .
JUSTIFICACIÓNJUSTIFICACIÓN
Este estudio se encuadra dentro de una línea de Este estudio se encuadra dentro de una línea de Investigación desarrollada por el Dpto. de Investigación desarrollada por el Dpto. de Arquitectura de Computadores de la Universidad Arquitectura de Computadores de la Universidad de Málaga, para la implementación de un de Málaga, para la implementación de un codificador codificador MPEG4MPEG4 en Hardware específico. en Hardware específico.
Se basa en un estimador de movimiento en el Se basa en un estimador de movimiento en el dominio de la dominio de la DCT/DSTDCT/DST propuesto por propuesto por Ut-Va KocUt-Va Koc y y K.J.Liu.K.J.Liu.
CODIFICADOR ESTÁNDAR CODIFICADOR ESTÁNDAR
El interés de los El interés de los estimadores de movimiento estimadores de movimiento en el dominio de la en el dominio de la frecuencia viene del hecho frecuencia viene del hecho de que la información dentro de que la información dentro de los codificadores de los codificadores estándares de vídeo está en estándares de vídeo está en el dominio de la DCT.el dominio de la DCT.
Los estimadores de Los estimadores de movimiento usados trabajan movimiento usados trabajan en el dominio del espacio en el dominio del espacio (SD-ME)(SD-ME)Se necesita de un Se necesita de un bloque IDCTbloque IDCTPasa la Pasa la información del dominio de la información del dominio de la DCT al domino del espacio.DCT al domino del espacio.
Dominio Espacio
Dominio DCT
Dominio Espacio
--Diagrama de Bloques de los codificadores de video actuales--
CODIFICADOR ESTÁNDARCODIFICADOR ESTÁNDAR
Este bloque Este bloque IDCTIDCT es el cuello es el cuello de botella de los codificadores de botella de los codificadores de vídeo.de vídeo.
Se podría eliminar si el Se podría eliminar si el estimador de movimiento estimador de movimiento trabajase en el dominio de la trabajase en el dominio de la DCT.DCT.
Proponiéndose un nuevo Proponiéndose un nuevo codificador de vídeo:codificador de vídeo:
Sin bloque IDCT.Sin bloque IDCT.
Con E.M. que trabaja en Con E.M. que trabaja en el Dominio de la DCT. el Dominio de la DCT.
Dominio DCT
COMPENSACIÓN DE MOVIMIENTOCOMPENSACIÓN DE MOVIMIENTO
División de la imágenes en bloques rectangulares.
Redundancia Temporal- Redundancia Temporal- Imágenes consecutivas de Imágenes consecutivas de s.v. contienen los mismos s.v. contienen los mismos objetos pero desplazados.objetos pero desplazados.
Imagen Codificada- Imagen Imagen Codificada- Imagen previa + Aplicación de previa + Aplicación de unos vectores de unos vectores de movimiento a cada bloque movimiento a cada bloque de la imagen previa.de la imagen previa.
El Estimador de Movimiento se El Estimador de Movimiento se basa en el concepto de Predicción basa en el concepto de Predicción por compensación de por compensación de movimiento.movimiento.
COMPENSACIÓN DE MOVIMIENTOCOMPENSACIÓN DE MOVIMIENTO
•Por cada Por cada BloqueBloque de la imagen de la imagen previa a la codificar, se define una previa a la codificar, se define una Ventana de BúsquedaVentana de Búsqueda sobre la sobre la imagen a codificar , en la que se imagen a codificar , en la que se elige un bloque, según el criterio elige un bloque, según el criterio del estimador de movimiento, que del estimador de movimiento, que tenga semejanza con el bloque de tenga semejanza con el bloque de la imagen previa.la imagen previa.•Se calcula el desplazamiento Se calcula el desplazamiento relativo entre los bloques relativo entre los bloques semejantes que son lossemejantes que son los Vectores Vectores de Movimiento.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.
Método Genérico usado en los E.M. en el Método Genérico usado en los E.M. en el Dominio del Espacio.Dominio del Espacio.
Para desplazamientos de objetos dentro de dos imágenes consecutivas.
Xt -Imagen a codificarXt-1 –Imagen previa(mu,mv) vector de
desplazamiento relativo del objeto dentro de las imagenes
Estimador de Movimiento en el Dominio de la Estimador de Movimiento en el Dominio de la DCTDCT
Estimador de Movimiento en el Dominio de la Estimador de Movimiento en el Dominio de la DCTDCT
2D-DCT-II 2D-DCT-II Transformaciones Transformaciones discretas seno y coseno en dos discretas seno y coseno en dos dimensiones tipo IIdimensiones tipo II
2D-DCT-I2D-DCT-I Transformaciones Transformaciones discretas seno y coseno en dos discretas seno y coseno en dos dimensiones tipo Idimensiones tipo I
PSEUDOFASES DE LA DCTPSEUDOFASES 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 sonPseudofases son la relacción entre las la relacción entre las
transformaciones:transformaciones:
2D-DCT/DST-I2D-DCT/DST-I(Sobre imagen Previa) (Sobre imagen Previa)
2D-DCT/DST-II2D-DCT/DST-II(Sobre imagen actual)(Sobre imagen actual) Para k,l dado.Para k,l dado.
f(k,l) y g(k,l) son las f(k,l) y g(k,l) son las Pseudofases portadoras Pseudofases portadoras del movimientodel movimiento
*
PSEUDOFASES DE LA DCTPSEUDOFASES DE LA DCT
Estimador de Movimiento en el Estimador de Movimiento en el Dominio de la DCTDominio 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 Estimador de Movimiento en el Dominio de la DCTDominio 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)
Estimador de Movimiento en el Estimador de Movimiento en el Dominio de la DCTDominio 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:
Signo del pico de
DSC
Signo del pico de
DCS
Desplazamiento Estimado
Dirección de movimiento
+ + (mu,mv) Noreste
+ - (mu,-(mv+1)) Sureste
- + (-(mu+1),mv) Noroeste
- - (-(mu+1),-
(mv+1))
Suroeste
DXTME
SE-DXTMESE-DXTME
SE-DXTMESE-DXTMEExtensión de DXTME para Extensión de DXTME para corregir errores de predicción de corregir errores de predicción de movimiento.movimiento.
P- etapa de preprocesamiento de las P- etapa de preprocesamiento de las imágenes, resalta los contornos de los imágenes, resalta los contornos de los objetos contenidos en ella y disminuye objetos contenidos en ella y disminuye la intensidad de los fondos de las la intensidad de los fondos de las imágenes.imágenes.
NO MOVIMIENTO- en analogía a muchos NO MOVIMIENTO- en analogía a muchos estándares de compresión(MPEG1).estándares de compresión(MPEG1).
Se usa algún criterio conocido cual de Se usa algún criterio conocido cual de los dos estimadores da una predicción los dos estimadores da una predicción más certera.más certera.
PREPROCESAMIENTO
(a) (b)
(c)
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 ADAPTADASSUPERPOSICIONES ADAPTADASMé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 ADAPTADASSUPERPOSICIONES 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 DXTMEMODIFICACIONES DXTME
Cálculo de la Pseudofases f ygCálculo de la Pseudofases f yg
XZ 1ZZ 2D-DCT/DST-I 2D-DCT/DST-I (Sobre imagen Previa)(Sobre imagen Previa)
X2D-DCT/DST-II2D-DCT/DST-II(Sobre imagen actual)(Sobre imagen actual)
*
Problema: El cálculo de la inversa de una matriz requiere de excesivo cálculo computacional
MODIFICACIONES DXTMEMODIFICACIONES DXTME
Solución: intercambiar Solución: intercambiar matriz inversa por matriz inversa por matriz traspuesta.matriz traspuesta. son Pseudofasesson Pseudofases
ya que contiene ya que contiene también la información también la información del objeto desplazado del objeto desplazado dentro de las dentro de las imágenes.imágenes.
XZ 1
XZ tm
m
MODIFICACIONES DXTMEMODIFICACIONES DXTME
Con la primera Con la primera modificación lo único modificación lo único que cambia es el cálculo que cambia es el cálculo de las pseudofases f y g de las pseudofases f y g (inversa de z) por f(inversa de z) por fmm,g,gmm (traspuesta de z). El (traspuesta de z). El resto de algoritmo es el resto de algoritmo es el mismo. Es lo que se ha mismo. Es lo que se ha llamado llamado
DXTME-DXTME-MM..
ffmm ggmm
MODIFICACIONES DXTMEMODIFICACIONES 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 DXTMEMODIFICACIONES DXTME
Segunda Modificación :Segunda Modificación : Una vez calculado la Una vez calculado la
estimación de movimiento estimación de movimiento por alguno de los dos por alguno de los dos algoritmos, algoritmos, se considerará tres tipos de movimientos estimados posibles: vertical y horizontal, estrictamente vertical y estrictamente horizontal . A . A continuación se elige continuación se elige aquel de los tres aquel de los tres movimientos que tenga un movimientos que tenga un menor error respecto al menor error respecto al movimiento real del objetomovimiento 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
Dos Imágenes (32x32) Dos Imágenes (32x32) compuesta por un mismo compuesta por un mismo objeto cuadrado (16x16) objeto cuadrado (16x16) desplazado vertical y desplazado vertical y horizontalmente formado por horizontalmente formado por valores aleatorios .valores aleatorios .
Se ha realizado la estimación Se ha realizado la estimación de movimiento por los de movimiento por los algoritmos DXTME y algoritmos DXTME y DXTME-M, para distintos DXTME-M, para distintos niveles de ruido gaussiano.niveles de ruido gaussiano.
NIVELES DE TOLERANCIA DE ERROR
Varianza SNR (dB) DXTME M-DXTME-M
0 Si Si
0.0002 20,0421 Si Si
0.0004 17,6098 Si Si
0.0006 15,4083 Si Si
0.0008 13,7981 No Si
0.0012 12,4672 No Si
0.0015 11,6990 No No
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.
Varianza del 0,008
DCS DSC
DCS DSC
DXTME
DXTME-M
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.
NIVELES DE TOLERANCIA DE ERROR
Varianza SNR (dB) DXTME DXTME-M
0 Si Si
0.0002 20,0421 Si Si
0.0004 17,6098 Si Si
0.0006 15,4083 Si Si
0.0008 13,7981 No Si
0.0012 12,4672 No Si
0.0015 11,6990 No No
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 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.
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.
TESTEO DE LOS CODIFICADORESTESTEO 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.
M
m
N
m
nmunmuMN
MSE1 1
2),('),(
1
TESTEO DE LOS CODIFICADORESTESTEO DE LOS CODIFICADORES
1ª Secuencia de Vídeo 1ª Secuencia de Vídeo EstudiadaEstudiada
””Tabletennis”Tabletennis” Muy usada para Muy usada para
comprobar la eficiencia de comprobar la eficiencia de los algoritmos de los algoritmos de compresión de secuencias compresión de secuencias de vídeo de vídeo
La secuencia usada está La secuencia usada está compuesta por diez compuesta por diez imágenes de 352x288 imágenes de 352x288 píxeles píxeles
Apreciándose el movimiento de una pelota que sube y bajaSe 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 CODIFICADORESTESTEO 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 CODIFICADORESTESTEO DE LOS CODIFICADORES
1 2 3 4 5 6 7 8 90
0.005
0.01
0.015
0.02
0.025
dxtmedxtme-mse-dxtmese-dxtme-mm-se-dxtmem-se-dxtme-m(edge)dxtme(edge)dxtme-mse(edge)-dxtmese(edge)-dxtme-mm-se(edge)-dxtmem-se(edge)-dxtme-mbkmme
AlgoritmosMSE x f(k)
ValorMedio
Porcentajesuperior sobre
BKMME
DXTME 0,0133 700%
DXTME-M 0,0176 926,42%
SE-DXTME 0,0075 394,73%
SE-DXTME-M 0,0096 505,26%
M-DXTME 0,0067 252,63%
M-SE-DXTME-M 0,0064 236,84%
Edge-DXTME 0,0121 636,84%
Edge-DXTME-M 0,0113 594,74%
SE(Edge)-DXTME 0,0073 384,56%
SE(Edge)-DXTME-M 0,0096 505,26%
M-SE(Edge)-DXTME 0,0064 236,84%
M-SE(Edge)-DXTME-M 0,0044 231,58%
BKMME 0,0019 0%
TACHADO Codificador con MSE Superior al 390% Sobre BKMME
Codificadores con alta distorsión de los contornos de los objetos
Imágenes Codificadas
MS
ExF(K
)
MSE para secuencia “TABLETENNIS”
TESTEO DE LOS CODIFICADORESTESTEO DE LOS CODIFICADORES
AlgoritmosMSE x f(k)
ValorMedio
Porcentajesuperior sobre
BKMME
DXTME 0,0133 700%
DXTME-M 0,0176 926,42%
SE-DXTME 0,0075 394,73%
SE-DXTME-M 0,0096 505,26%
M-DXTME 0,0067 252,63%
M-SE-DXTME-M 0,0064 236,84%
Edge-DXTME 0,0121 636,84%
Edge-DXTME-M 0,0113 594,74%
SE(Edge)-DXTME 0,0073 384,56%
SE(Edge)-DXTME-M 0,0096 505,26%
M-SE(Edge)-DXTME 0,0064 236,84%
M-SE(Edge)-DXTME-M 0,0044 231,58%
BKMME 0,0019 0%
TACHADO Codificador con MSE Superior al 390% Sobre BKMME
(a) (b)
(c) (d)
(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.
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
TESTEO DE LOS CODIFICADORESTESTEO DE LOS CODIFICADORES
AlgoritmosMSE x f(k)
ValorMedio
Porcentajesuperior sobre
BKMME
M-DXTME 0,0067 252,63%
M-SE-DXTME-M 0,0064 236,84%
SE(Edge)-DXTME 0,0073 384,56%
M-SE(Edge)-DXTME 0,0064 236,84%
M-SE(Edge)-DXTME-M 0,0044 231,58%
BKMME 0,0019 0%
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.
(a) (b)
(c) (d)
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 CODIFICADORESTESTEO DE LOS CODIFICADORES
La 2ª secuencia de vídeo La 2ª secuencia de vídeo ““Oso de Peluche”.Oso de Peluche”.
Está formada por un oso Está formada por un oso de peluche sobre un fondo de peluche sobre un fondo de cuadros con intensidad de cuadros con intensidad variable, el movimiento del variable, el movimiento del objeto (el oso) es objeto (el oso) es producido por el producido por el desplazamiento de la desplazamiento de la cámara gradualmente cámara gradualmente sobre escenario estáticosobre 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 CODIFICADORESTESTEO DE LOS CODIFICADORES
ElEl MSE MSE producido por la producido por la codificación de los algoritmos codificación de los algoritmos basados en la transformada basados en la transformada coseno es mucho mayor que el coseno es mucho mayor que el producido por el producido por el BKMME.BKMME.
Para el Para el M-SE-DXTME-MM-SE-DXTME-M es es del 416% superior y el del 416% superior y el SE-SE-DXTMEDXTME del 471% al del 471% al BKMMEBKMME. .
Una ligera variación en el MSE Una ligera variación en el MSE de M-SE-DXTME-M respecto de M-SE-DXTME-M respecto SE-DXTME se puede SE-DXTME se puede considerar desde un punto de considerar desde un punto de vista cuantitativo como métodos vista cuantitativo como métodos de codificación análogos.de codificación análogos.
Comparativa para Osito de Peluche
0,0000000
0,0002000
0,0004000
0,0006000
0,0008000
0,0010000
0,0012000
0,0014000
0,0016000
0,0018000
0,0020000
1 2 3 4 5
Par de Imágenes Consecutivas
M-SE-DXTME-M(16)
SE-DXTME(16)
BKMME(16)
TESTEO DE LOS CODIFICADORESTESTEO 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 CODIFICADORESTESTEO DE LOS CODIFICADORES
Usándose este hecho, primero para Usándose este hecho, primero para manifestar el buen funcionamiento del manifestar el buen funcionamiento del algoritmo con las modificaciones algoritmo con las modificaciones propuestas en este proyecto y propuestas en este proyecto y segundo como justificación al segundo como justificación al argumento de que el MSE no siempre argumento de que el MSE no siempre es un baremo adecuado para estimar es un baremo adecuado para estimar la buena codificación de movimiento la buena codificación de movimiento de los algoritmos en las secuencias de los algoritmos en las secuencias dadas.dadas.
TESTEOTESTEO DE LOS CODIFICADORES DE LOS CODIFICADORES
Secuencia de vídeo Secuencia de vídeo “ “ Akiyo”Akiyo” Muy usada para Muy usada para
comprobar la eficiencia de comprobar la eficiencia de los algoritmos de los algoritmos de compresión de secuencias compresión de secuencias de vídeo.de vídeo.
Se han testeados los Se han testeados los algoritmos sobre una algoritmos sobre una secuencia completa secuencia completa formada por 300 imágenes formada por 300 imágenes de tamaño de tamaño 352x288
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.
TESTEO DE LOS CODIFICADORESTESTEO DE LOS CODIFICADORES
0 50 100 150 200 250 3000
2
4
6
8x 10
-4
se-dxtme(16)m-se-dxtme-m(16)bkmme(16)
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 CODIFICADORESTESTEO 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 %.
0 50 100 150 200 250 3000
2
4
6
8x 10
-4
se-dxtme(8)m-se-dxtme-m(8)bkmme(8)
TESTEO DE LOS CODIFICADORESTESTEO DE LOS CODIFICADORES
La codificación realizada por SE-La codificación realizada por SE-DXTME queda en una valoración de DXTME queda en una valoración de fidelidad significativamente inferior al fidelidad significativamente inferior al M-SE-DXTME-M, quedando patente que M-SE-DXTME-M, quedando patente que las mejoras propuestas en este estudio las mejoras propuestas en este estudio proporciona unas herramientas eficaces proporciona unas herramientas eficaces para combatir las debilidades y defectos para combatir las debilidades y defectos en la codificación para los algoritmos de en la codificación para los algoritmos de estimación de movimiento basados en la estimación de movimiento basados en la transformada coseno.transformada coseno.
IMPLEMENTACIÓN EN DSPIMPLEMENTACIÓN EN DSP
Se han implementado los algoritmos Se han implementado los algoritmos M-SE-DXTME-M, M-SE-DXTME-M, DXTME-MDXTME-M y y BKMMEBKMME en un procesador digital de en un procesador digital de señales.señales.
El DSP usado es El DSP usado es TMS320c6711 TMS320c6711 y el programa utilizado y el programa utilizado para su programación es el para su programación es el Code Componer Estudio Code Componer Estudio 1.31.3..
Los algoritmos han sido programados en código Los algoritmos han sido programados en código CC, , optimizados y traducidos a microinstrucción por el optimizados y traducidos a microinstrucción por el mismo programa, configurando las opciones de mismo programa, configurando las opciones de compilación para una máxima velocidad.compilación para una máxima velocidad.
IMPLEMENTACIÓN EN DSPIMPLEMENTACIÓN EN DSP
Algoritmo nº de ciclos(64x64)
Tiempo(seg)100 ns/ciclo.
(64x64)
Frame Rate(Imágenes/seg.)
1Ghz(256x192)
M-SE-DXTME-M 16x16 p
2.189.470 0,219 38,05
DXTME-M16x16 p
2.174.174 0,217 38,40
BKMME 16x16 p
2.390.571 0,239 34,86
M-SE-DXTME-M 8x8 p
581.758 0,058 143,68
DXTME-M8x8 p
566.974 0,057 146,89
BKMME 8x8 p
645.002 0,065 128,20
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 DSPIMPLEMENTACIÓN EN DSP
Algoritmo nº de ciclos(64x64)
Tiempo(seg)100 ns/ciclo.
(64x64)
Frame Rate(Imágenes/seg.)
1Ghz(256x192)
M-SE-DXTME-M 16x16 p
2.189.470 0,219 38,05
DXTME-M16x16 p
2.174.174 0,217 38,40
BKMME 16x16 p
2.390.571 0,239 34,86
M-SE-DXTME-M 8x8 p
581.758 0,058 143,68
DXTME-M8x8 p
566.974 0,057 146,89
BKMME 8x8 p
645.002 0,065 128,20
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.
CONCLUSIONESCONCLUSIONES
En este estudio propone un algoritmo nuevo de En este estudio propone un algoritmo nuevo de estimación de movimiento basado en las estimación de movimiento basado en las transformaciones seno y coseno para la codificación de transformaciones seno y coseno para la codificación de secuencias de vídeo. secuencias de vídeo.
Las bases de la formulación matemática del algoritmo Las bases de la formulación matemática del algoritmo de estimación movimiento ha sido el llamado DXTME, de estimación movimiento ha sido el llamado DXTME, propuesto por U-V-Koc y R-Liu[1][3], donde dicha propuesto por U-V-Koc y R-Liu[1][3], donde dicha formulación ha sido modificada, en beneficio a la formulación ha sido modificada, en beneficio a la fidelidad y complejidad de cálculo de forma sustancial, fidelidad y complejidad de cálculo de forma sustancial, en lo que se ha llamado primera modificación, DXTME-en lo que se ha llamado primera modificación, DXTME-M. Este estimador de movimiento demuestra tener una M. Este estimador de movimiento demuestra tener una tolerancia al ruido mucho mayor que el DXTME, por lo tolerancia al ruido mucho mayor que el DXTME, por lo que es más robusto. que es más robusto.
Un codificador de vídeo basado en el algoritmo DXTME, Un codificador de vídeo basado en el algoritmo DXTME, llamado en la literatura SE-DXTME, es estudiado por los llamado en la literatura SE-DXTME, es estudiado por los autores y valorado como un codificador que da buenos autores y valorado como un codificador que da buenos resultados en fidelidad. La segunda modificación que resultados en fidelidad. La segunda modificación que tiene una complejidad computacional baja, aporta una tiene una complejidad computacional baja, aporta una mejora sustancial cuando se aplica a este codificador.mejora sustancial cuando se aplica a este codificador.
CONCLUSIONESCONCLUSIONES
Un uso conjunto de las dos modificaciones para una Un uso conjunto de las dos modificaciones para una amplia gama de secuencias de vídeo, demuestran tener amplia gama de secuencias de vídeo, demuestran tener una fidelidad de codificación muy alta, obteniéndose una fidelidad de codificación muy alta, obteniéndose valores de error cercanos al algoritmo codificador basado valores de error cercanos al algoritmo codificador basado en el sistema de búsqueda de bloques análogos (BKMME), en el sistema de búsqueda de bloques análogos (BKMME), que es aquel con el que se obtiene los mejores resultados que es aquel con el que se obtiene los mejores resultados para los modelos de codificación basados en el para los modelos de codificación basados en el movimiento de bloques. movimiento de bloques.
Una implementación en DSP del algoritmo de un Una implementación en DSP del algoritmo de un codificador con las dos modificaciones, lo que se ha codificador con las dos modificaciones, lo que se ha llamado M-SE-DXTME-M, da unos valores satisfactorios en llamado M-SE-DXTME-M, da unos valores satisfactorios en velocidad de codificación. Para un tamaño de bloque de velocidad de codificación. Para un tamaño de bloque de 16x16 píxeles la velocidad de compresión que se alcanzan 16x16 píxeles la velocidad de compresión que se alcanzan para tamaño de imagen de 256x192 es superior a 38 para tamaño de imagen de 256x192 es superior a 38 cuadros por segundo, y para tamaño de bloque 8x8 cuadros por segundo, y para tamaño de bloque 8x8 píxeles es superior a 143 cuadros por segundo, píxeles es superior a 143 cuadros por segundo, consiguiéndose en los dos casos trabajar bajo este tipo de consiguiéndose en los dos casos trabajar bajo este tipo de vídeo a una frecuencia mayor de 30 Hz de velocidad de vídeo a una frecuencia mayor de 30 Hz de velocidad de cuadros. cuadros.
FIN DE LA PRESENTACIÓNFIN DE LA PRESENTACIÓN