Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Realizado Por: Pablo Fernández Riejos Roberto Fuentes González Francisco Antonio Ramírez 5º Ingeniería en Informática
Realizado Por: Pablo Fernández Riejos Roberto Fuentes González Francisco Antonio Ramírez 5º Ingeniería en Informática
Curso 2002-2003
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_2
NDICE
PG
1
2 2 8
10 10
21
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_4
COMPRESIN DE VIDEO
La redundancia espacial ocurre porque en un cuadro individual los pxeles cercanos (contiguos) tienen un grado de correlacin, es decir, son muy parecidos (por ejemplo, en una imagen que muestre un prado verde bajo un cielo azul, los valores de los pxeles del prado sern muy parecidos entre ellos y del mismo modo los del cielo). Los pxeles en cuadros consecutivos de una seal tambin estn correlacionados, determinando una redundancia temporal (si la seal de video fuera un recorrido por el prado, entre una imagen y la siguiente abra un gran parecido). Adems, el sistema de visin humano no trata toda la informacin visual con igual sensibilidad, lo que determina una redundancia psicovisual (por ejemplo, el ojo es ms sensible a cambios en la luminancia que en la crominancia). El ojo es tambin menos sensible a las altas frecuencias. Por lo tanto, un criterio que toma mucha importancia es estudiar como percibe el ojo humano la intensidad de los pxeles para as, dar mayor importancia a unos u otros parmetros. Finalmente, no todos los parmetros ocurren con la misma probabilidad en una imagen. Por lo tanto resulta que no todos necesitarn el mismo nmero de bits para codificarlos, aprovechando la redundancia en la codificacin. Durante los ltimos aos han emergido diferentes estndares de compresin, incluyendo algunos propietarios, dirigidos a diversas aplicaciones con diferentes necesidades de velocidad. Por ejemplo, la recomendacin ITU H.261, tambin conocida como el estndar px64 ha surgido para aplicaciones de video conferencia. MPEG, Moving Picture Expert Group, es un comit del organismo ISO e IEC que es responsable de los estndares MPEG-1, MPEG-2, y los actuales MPEG-4 y MPEG-7 an en fase de especificacin. Los estndares MPEG son genricos y universales en el sentido que simplemente especifican una sintaxis de la trama para el transporte de los datos obtenidos mediante los algoritmos de compresin de video y audio, no estando definidos los procesos de compresin (lo que permite plena libertad en su realizacin).
MPEG
En la especificacin MPEG-1 y MPEG-2 existen tres partes diferenciadas, llamadas, Sistema, Video y Audio. La parte de video define la sintaxis y la semntica del flujo de bits de la seal de video comprimida. La parte de audio opera igual, mientras que la parte Sistema se dirige al problema de la multiplexacin de audio y video en un nico flujo de datos con toda la informacin necesaria de sincronismo, sin desbordar los buffers del decodificador.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_5
Procesamiento de Imgenes Digitales. Error de propagacin en codificacin de video escalable. Adicionalmente, MPEG-2 contiene una cuarta parte llamada DSMCC (Digital Storage Media Command Control), que define un conjunto de protocolos para la recuperacin y almacenamiento de los datos MPEG desde y hacia un medio de almacenamiento digital. Se examinar ahora la estructura de un flujo de video no escalable para entender la compresin de video. En el proceso, se ver como el algoritmo es realmente un conjunto de herramientas que individualmente explotan las diferentes redundancias. En el nivel ms alto, el flujo de datos de video consiste en secuencias de video. MPEG-1 slo soporta secuencias progresivas, mientras que MPEG-2 permite secuencias progresivas y entrelazadas. Cada secuencia de video consiste en un numero variable de grupos de imgenes (GOP, group of pictures). Un GOP contiene un nmero variable de imgenes y jugar un papel muy importante en el proceso de compresin. Una imagen puede ser un cuadro o un campo de una imagen (slo en MPEG-2). A partir de este momento se hablar de imagen, cuadro o campo de forma indistintamente. Matemticamente, cada imagen es realmente una unin de los valores que representan a un pxel: una componente de luminancia y dos de crominancia; es decir, tres matrices de pxeles. Ya que el ojo humano no es muy sensible a los cambios de la regin cromtica comparada con la regin de luminancia, las matrices de croma son decimadas o reducidas en tamao por un factor de dos en ambas direcciones horizontal y vertical. Consecuentemente hay una cuarta parte de nmeros de pxeles de crominancia para procesar con los pxeles de luminancia. Este formato, denominado formato (4:2:0), se emplea en MPEG-1. MPEG-2 adicionalmente permite la posibilidad de no decimar o slo decimar horizontalmente la componente croma, consiguiente formatos 4:4:4 y 4:2:2 respectivamente. Las imgenes pueden clasificarse principalmente en tres tipos basados en sus esquemas de compresin: I (Intraframes) o intra cuadros. P (Predictive) o cuadros predichos. B (Bi-directional) o cuadros bidireccionales.
Las imgenes I son codificadas por ellas mismas, de ah el nombre intra. La tcnica de codificacin para estas imgenes entra en la categora de la codificacin por transformada. Cada imagen se divide en bloques de pxeles de 8x8 no solapados. Cuatro de estos bloques se organizan adicionalmente en un bloque mayor de tamao 16x16, llamado macrobloque. La Transformada Discreta Coseno se aplica a cada bloque de 8x8 individualmente. La transformada explota la correlacin espacial de los pxeles convirtindolos en un conjunto de coeficientes independientes. Los coeficientes de baja frecuencia contienen ms energa que los de alta frecuencia. Estos coeficientes son cuantificados utilizando una matriz de cuantificacin, este proceso permite que los Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_6
Procesamiento de Imgenes Digitales. Error de propagacin en codificacin de video escalable. coeficientes de baja frecuencia (contienen gran energa) sean codificados con un nmero mayor de bits, mientras que para los coeficientes de mayor frecuencia (menor energa) se usan menos bits o cero bits. Los coeficientes de alta energa pueden eliminarse ya que el ojo carece de la habilidad de detectar cambios de alta frecuencia. Reteniendo slo un subconjunto de los coeficientes se reduce el nmero total de parmetros necesarios para la representacin en una cantidad considerable. El proceso es idntico para los bloques de pxeles de luminancia y crominancia. Sin embargo, ya que la sensibilidad del ojo humano a la luminancia y a la crominancia vara, las matrices de cuantificacin para las dos varan.
El proceso de cuantificacin tambin ayuda en el control de velocidad, por ej. permitiendo al codificador producir un flujo de bits a una determinada velocidad. Los coeficientes DCT son codificados empleando una combinacin de dos esquemas de codificacin especiales: Run length y Huffman. Los coeficientes son escaneados siguiendo un patrn en zig-zag para crear una secuencia de una dimensin. MPEG-2 proporciona un patrn alternativo. La secuencia resultante de 1-D usualmente contiene un gran nmero de ceros debido a la naturaleza del espectro DCT y del proceso de cuantificacin. Cada coeficiente diferente de cero se asocia con un par de apuntadores. Primero, su posicin en el bloque que se indica por el nmero de ceros entre l y el coeficiente anterior diferente de cero (run length). Segundo, su valor. Basado en estos dos apuntadores, se le asigna un cdigo de longitud variable (Huffman) en funcin de una tabla predeterminada. Este proceso se realiza de tal forma que las combinaciones con una alta probabilidad consiguen un cdigo con pocos bits, mientras que los poco habituales obtienen un cdigo mayor. Adoptando esta codificacin sin prdidas, el nmero total de bits disminuye. Sin embargo, ya que la redundancia espacial es limitada, las imgenes I slo proporcionan una compresin moderada. Estas imgenes son muy importantes para acceso aleatorio utilizado para fines de edicin. La frecuencia de imgenes I es normalmente de una cada 12 o 15 cuadros o frames. Un GOP est delimitado por dos cuadros I.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_7
Procesamiento de Imgenes Digitales. Error de propagacin en codificacin de video escalable. En las imgenes P y B es donde MPEG proporciona su mxima eficiencia en compresin. Esto lo consigue mediante una tcnica llamada prediccin basada en la compensacin de movimiento (MC: Motion Compensation), que explota la redundancia temporal. Ya que los cuadros estn relacionados, podemos asumir que una imagen puede ser modelada como una translacin de la imagen en el instante anterior. Entonces, es posible representar de manera precisa o predecir los valores de un cuadro basndonos en los valores del cuadro anterior, estimando el movimiento. Este proceso disminuye considerablemente la cantidad de informacin. En las imgenes P, cada macrobloque de tamao 16x16 se predice a partir de un macrobloque de la anterior imagen I. Ya que, los cuadros son instantneos en el tiempo de un objeto en movimiento, los macrobloques en los dos cuadros pueden no corresponder a la misma localizacin espacial, por lo tanto, se debe proceder a buscar en el cuadro I para encontrar un macrobloque que coindica lo mximo posible con el macrobloque que se est considerando en el cuadro P.
La diferencia entre los dos macrobloques es el error de prediccin. Este error puede codificarse como tal o en el dominio DCT. La DCT del error consigue pocos coeficientes de alta frecuencia, que tras la cuantificacin requieren un numero menor de bits para su representacin. Las matrices de cuantificacin para los bloques de error de prediccin son diferentes de las utilizadas en los intra bloques, debido a la distinta naturaleza de sus espectros. La distancia en las direcciones horizontal y vertical del macrobloque coincidente con el macrobloque estimado se denomina vector de movimiento. Los vectores de movimiento representan la translacin de las imgenes de los bloques entre cuadros. Estos vectores se necesitan para la reconstruccin y son codificados de forma diferencial en el flujo de datos. Se utiliza codificacin diferencial ya que reduce el total de bits requeridos para transmitir la diferencia entre los vectores de
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_8
Procesamiento de Imgenes Digitales. Error de propagacin en codificacin de video escalable. movimiento de los cuadros consecutivos. La eficiencia de la compresin y la calidad de la reconstruccin de la seal de video dependen de la exactitud en la estimacin del movimiento. El mtodo para este clculo no se especifica en el estndar y por lo tanto est abierto a diferentes implementaciones y diseos, aunque evidentemente existe una relacin directa entre la exactitud de la estimacin de movimiento y la complejidad de su clculo. Para los cuadros B, se utiliza la prediccin de la compensacin de movimiento y la interpolacin usando cuadros de referencia presentes antes o despus de ellos, donde las referencias pueden ser cuadros I y P.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_9
Procesamiento de Imgenes Digitales. Error de propagacin en codificacin de video escalable. La prediccin no es causal, ya que se usan cuadros anteriores y posteriores. Comparados con los cuadros I y P, los B proporcionan la mxima compresin. Otras ventajas de los cuadros B son la reduccin del ruido debido a un proceso de promedio y el uso de cuadros posteriores para la codificacin. Esto es particularmente til para la codificacin de "reas descubiertas". Los cuadros B nunca se usan por s solos para predicciones para no propagar errores. MPEG-2 permite MC para cuadros y campos. Para una secuencia de imgenes de variacin lenta es mejor codificar los cuadros (combinando los dos campos, si es necesario). MC basada en campos es especialmente til cuando la seal de video incluye movimientos rpidos.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_10
La capa base, como su propio nombre indica, es indispensable mientras que el numero de capas de mejora nos determinar la calidad del video final.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_11
o Usar 8 vecinos del macrobloque Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_12
Estimacin desde la capa de mejora: esta es la tcnica ms compleja y la que ofrece mejores resultados y se basa en la correlacin espacial entre las distintas capas. As, sustituye el vector de movimiento perdido por la media del vector de movimiento del mismo bloque y la suma ponderada de los vectores de los bloques vecinos en el frame anterior de la capa de mejora.
M V
dn e d
1 (M 1 + V V M 2
2)
M V
2 = (w w i*m i l p ds S a ao o
i)
La ponderacin se realizar de acuerdo al nmero de pxeles solapados con los vecinos del bloque en el frame anterior
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_13
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_14
MANUAL DE USUARIO
En este pequeo manual se pretende exponer cual es la funcionalidad del programa desarrollado para explicar el error de propagacin en codificacin de video escalable, en este apartado no se va a entrar en como se ha implementado el programa, as tampoco se entrar en cuestiones teorticas, puesto que ya hay apartados en la presente memoria para ello; comenzaremos explicando cuales son los requisitos del sistema para la ejecucin del programa, que entorno se ha desarrollado para su desarrollo y explicaremos los pasos que hay que realizar sobre la interfaz de usuario del programa para llevar a cabo las distintas funciones que realiza el programa. 1. Requisitos del sistema. Para el desarrollo del programa hemos utilizado diferentes terminales; entre ellos un Pentium III (450 MHZ y 192 RAM), AMD XP(1,5 GHZ y 256 RAM) y los ordenadores del centro de clculo (aula Alfa) de la Escuela Tcnica Superior de Ingeniera Informtica (que a fecha de hoy 20 de Enero de 2003 son Pentium III a 800 MHZ y 512 RAM). Adems durante la presentacin en pblico de la aplicacin se utiliz un Pentium III (450 MHZ y 64 RAM). Por tanto, a la vista de los resultados obtenidos, los requisitos del sistema son los siguientes: - Procesador Pentium o AMD de 450 MHZ o superior. - Memoria RAM de 64 MB o superior. 2. Entorno de desarrollo. La aplicacin se ha desarrollo utilizando Matlab en su siguiente distribucin: Matlab.The Languaje of Technical Computing Versin 6.1.0.450 Release 12.1 Este entorno no produce un ejecutable, por tanto para la ejecucin del programa habr que tener instalada la versin de Matlab que se ha mencionado.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_15
2. En la ventana Current Directory, seleccionaremos el directorio donde se encuentran los ficheros de la aplicacin.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_16
3. Ahora solamente tenemos que ejecutar el comando correspondiente al programa principal que hemos realizado (no olvidar que con Matlab se hacen ficheros de comandos), en nuestro caso nuestro fichero de comandos que ser el que vaya llamando al resto de ficheros se denomina principal
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_17
4. Cuando ejecutemos el fichero principal, nos aparecer la interfaz del programa realizado.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_18
Como puede observarse el programa realizado (para la versin 1.0. curso 2002/2003) cuenta con la siguiente funcionalidad: o Especificar el directorio de trabajo donde se encuentra la pelcula a reproducir(esta pelcula tiene que encontrarse en formato yuv). o Poder simular la perdida de datos en la pelcula que se reproduce, mediante los controles del porcentaje de error. (Nota: La aplicacin tiene por defecto la reproduccin de la pelcula BUS, con un porcentaje de error del 10%, y que la carga de otra pelcula y la simulacin de otro porcentaje de error tiene una complejidad alta, tardando la aplicacin en realizar estas tareas [8-10] minutos y [15-18] minutos respectivamente).
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_19
Procesamiento de Imgenes Digitales. Error de propagacin en codificacin de video escalable. o Posibilidad de elegir una trama de la pelcula para que sea mostrada y poder as apreciar los errores o la ocultacin de estos.
o Reproduccin de pelculas a baja resolucin o a alta resolucin o Seleccionar que pelculas desea que sean reproducidas de las 4 posibilidades que ofrece la aplicacin, a saber, pelcula sin errores, utilizando la tcnica del frame previo, utilizando el mtodo de la media de los vecinos y utilizando la estimacin a partir de la capa de mejora. o Posibilidad de decidir la forma de reproduccin de la pelcula, esto es, Pelcula Completa o Frame a Frame. o Recordar que hay algunas opciones del programa excluyente, como el tipo de resolucin y la forma de reproduccin, pero stas se pueden escoger conjuntamente con las tcnicas de ocultacin de errores o bien mostrar la pelcula sin errores.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_20
Veamos el significado de algunas de las elecciones: [Baja-Alta] resolucin, sin errores, [pelcula completa-frame a frame]: Muestra la pelcula en [baja-alta] resolucin sin ningn error, es decir, no se ha simulado la perdida de tramas por el canal de transmisin, bien completa o frame a frame. Sin en lugar de escoger la pelcula sin errores escogemos la pelcula con algunas de las tcnicas de ocultacin, se mostrar la pelcula despus de haber ocultado los errores que se han simulado, con la tcnica de ocultacin de error que se haya escogido.
o Por ultimo, comentar una ltima opcin del programa realizado y es la posibilidad de la comparacin de los mtodos utilizados para la ocultacin del error, mediante el uso de las estadsticas.
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_21
(Nota:
Una vez que sean mostradas las distintas pantallas estas se irn cerrando al pulsar cualquier tecla. No utilice el botn minimizar de las figuras porque en tal caso al pulsar una tecla se cerrara la pantalla que estuviera activa en ese instante.)
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_22
CUESTIONARIO
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_23
CUESTIONARIO
1. Qu formato utiliza la resolucin SIF? a. b. c. d. 176 x 240 352 x 120 352 x 240 195 x 524
2. Qu tcnica aprovecha la redundancia temporal de los vdeos? a. b. c. d. La Transformada Discreta del Coseno La tcnica de Compensacin de Movimiento La tcnica de Huffman Ninguno de ellos
3. Cuntas tcnicas de ocultacin se utilizan? a. b. c. d. Una Dos, pero una de ellas posee 2 variantes Tres Cinco
4. En un equipo con limitadas prestaciones, qu tipo de resolucin elegira para reproducir una pelcula? a. Resolucin SIF, porque slo de esta forma se puede reproducir el vdeo b. Resolucin QSIF, porque a resolucin SIF corremos el riesgo de dejar la mquina colgada c. No tiene relacin la resolucin con las prestaciones del equipo d. La resolucin SIF que equivale a baja 5. Qu circunstancia explota la DCT? a. b. c. d. La correlacin espacial de los pxeles La correlacin temporal de los pxeles El error de propagacin Ninguna de ellas
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_24
6. A qu tasa de imgenes por segundo decodifica la resolucin QSIF? a. b. c. d. 24 fps 30 fps 12 fps 15 fps
7. En la tcnica del frame previo, cmo se oculta el error? a. b. c. d. La media de todos los frames anteriores La interpolacin del frame siguiente con el anterior Depende del tipo de adyacencia Ninguna es correcta
9. Qe es un GOP? a. b. c. d. Un conjunto de pelculas Un conjunto de cuadros o frames La unidad mnima con significado en un vdeo Todas las respuestas anteriores son correctas
10.Qu tcnica de ocultacin de errores es la ms compleja? a. b. c. d. Media de los vecinos con 8 adyacencias Frame previo Estimacin a partir de la capa de mejora Todas son igual de complejas
Pablo Fernndez Riejos, Roberto Fuentes Gonzlez y Fco. Antonio Ramrez Romero_25