Fundamentos de la compresión de vídeo      En términos de la teoría de Shannon existen dos grupos principales de algoritmo...
Organización de Estándares Internacionales ISO y por la Comisión ElectrotécnicaInternacional IEC para formular un estándar...
físicas del ojo humano, que tiene una limitada respuesta para fijarse en los detallesespaciales y es menos sensitivo al di...
Tipos de imágenes (I, P, B)Transmitir o almacenar directamente una secuencia de video requiere mucho ancho debanda o espac...
Para mantener un orden y poder descodificar las tramas adecuadamente, las imágenes seagrupan en secuencias (GOP) determina...
GRUPOS DE IMÁGENES        Los fotogramas se agrupan en un Grupo de Imágenes o GOP (Group Of Pictures).Se trata de la unida...
El algoritmo de esta técnica primero busca el macrobloque2 del cuadro a codificaren el cuadro de referencia, aprovechando ...
A continuación realizamos nueve movimientos, nueve comparaciones y aplicando elcriterio de selección anterior escogemos el...
Próxima SlideShare
Cargando en…5
×

Compresion video paper

703 visualizaciones

Publicado el

Paper sobre compresión de video. Funcionamiento de los compresores de video

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
703
En SlideShare
0
De insertados
0
Número de insertados
17
Acciones
Compartido
0
Descargas
17
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Compresion video paper

  1. 1. Fundamentos de la compresión de vídeo En términos de la teoría de Shannon existen dos grupos principales de algoritmos decompresión, tales como: 1. Compresión sin pérdida (lossless). Estos algoritmos tienen por objetivoreconstruir la información original fielmente al descomprimir el archivo, sin una solapérdida de datos. La reducción del tamaño del archivo es menor si se compara con otrosesquemas de compresión, siendo el nivel de compresión muy cercano al valor H definidopor Shannon, quien también estableció cinco órdenes de H, caracterizadas por la naturalezade la información y la probabilidad de ocurrencia de un carácter en función de los demás.De esta forma, en el Modelo de Orden Cero en la teoría de Shannon, los caracteres sonestadísticamente independientes unos de otros, y cada símbolo o letra es igualmenteprobable de aparecer en un archivo. Para idiomas como el castellano, los archivos de textoque se compriman en un Orden Cero de la variable H tendrán el siguiente valor: H = log2 m bits/character Siendo m el total de caracteres y o símbolos posibles. Por ejemplo: para m=27, Htiene un valor de 4.75 bits por cada carácter. Las compresiones de Orden Cinco llegan aniveles H de 2.33 bits por carácter, como es el caso de los archivos de texto. 2. Compresión con poca pérdida (lossy). Con estos programas se elimina lo que seconsideran bits innecesarios, creando una aproximación matemáticamente suficiente. Seusan en la compresión de imágenes, donde una excesiva cantidad de datos que representencolores y tonalidades no siempre es necesaria para una buena visualización. Estos esquemasde compresión se apoyan en el análisis de la distorsión, una entidad matemática que definepuntualmente qué tan cercana es la aproximación al original. La videoconferencia y laaudioconferencia, así como los archivos MP3 de audio o los MPEG-4 de video son buenosejemplos de compresiones con pérdida, ya que al momento de descomprimir la informaciónno se tienen todos los datos originales, lo que explica imágenes “cuadriculadas” y pistas deaudio con menos fidelidad.HISTORIA DEL MPEG (Moving Pictures Experts Group) En el año 1987, Leonardo Chiariglione, quien había pertenecido al grupo CCIR(International Radio Consultative Committee) encargado de la estandarización de laTelevisión de Alta Definición, High Definition Television (HDTV); y desilusionado delfracaso en adoptar un único estándar internacional (Japón, Europa y Estados Unidospugnaban por su propio formato), asistía al encuentro del JPEG (Joint Pictures ExpertsGroup, Grupo Unido de Expertos en Imágenes). Este grupo había sido formado por la
  2. 2. Organización de Estándares Internacionales ISO y por la Comisión ElectrotécnicaInternacional IEC para formular un estándar que permitiera disminuir la cantidad deespacio de almacenamiento requerido para las imágenes fijas. En este encuentro, Chiariglione quedó profundamente impresionado por lo que se podía lograr entre un grupo de expertos cuando no se manejaban los intereses de ninguna industria. Así que se aproximó al Director del JPEG, Hiroshi Yoshuda, y sugirió la creación de un grupo sucesor, que se encargara de estandarizar la codificación digital de las imágenes en movimiento. De esta manera, en 1988 y con Yoshuda comorepresentante ante la ISO, la organización ISO/IEC creael Comité Técnico Unido sobre Tecnologías de laInformación, Subcomité 29, Grupo de Trabajo 11(ISO/IEC JTC1/SC29/WG11), más conocido comoMPEG, bajo la dirección de Chiariglione, encargándoleel desarrollo de estándares para la representacióncodificada de imágenes en movimiento, la informacióndel audio asociado, y su combinación para la grabacióny lectura en un medio de almacenamiento digital. Los estándares MPEG se desarrollan en fases numeradas, por lo que laespecificación MPEG-2 no es una sustitución de MPEG-1 sino una ampliación ocomplemento del mismo. Lo que se conoce por "layers", son especificaciones de unafamilia de algoritmos de codificación para un mismo estándar. Para las señales de audioMPEG ha definido los estándares MPEG-1, MPEG-2, MPEG-4 y MPEG-7Redundancia Principios de codificación Una secuencia de vídeo tiene tres tipos de redundancia que un esquema decodificación necesita explotar en orden de conseguir una muy buena compresión: • Espacial • Temporal • Psicovisual Las redundancias espaciales y temporales ocurren porque los valores de los pixels noson completamente independientes si no que están correlacionados con los valores de lospixels vecinos, tanto en espacio como en tiempo (es decir, dentro de una misma trama o conlas tramas anterior y/o posterior). Por ello diremos que sus valores pueden ser predichos encierta medida. Por otra parte, la redundancia psicovisual tiene que ver con las limitaciones
  3. 3. físicas del ojo humano, que tiene una limitada respuesta para fijarse en los detallesespaciales y es menos sensitivo al distinguir detalles en las esquinas o los cambios rápidos. Por tanto, el proceso de codificación puede ser capaz de minimizar el bit-ratemientras se mantiene constante la calidad a la que el ojo humano ve la imagendecodificada. • Las imágenes I: Se codifican como si fuesen imágenes fijas utilizando la norma JPEG, por tanto, para decodificar una imagen de este tipo no hacen falta otras imágenes de la secuencia, sino sólo ella misma. No se considera la redundancia temporal (compresión intraframe). Se consigue una moderada compresión explotando únicamente la redundancia espacial. Una imagen I siempre es un punto de acceso en el flujo de bits de vídeo. Son las imágenes más grandes. • Las imágenes P: Están codificadas como predicción de de la imagen I ó P anterior usando un mecanismo de compensación de movimiento. Para decodificar una imagen de este tipo se necesita, además de ella misma, la I ó P anterior. El proceso de codificación aquí explota tanto la redundancia espacial como la temporal. • Las imágenes B: Se codifican utilizando la I ó P anterior y la I ó P siguiente como referencia para la compensación y estimación de movimiento. Para decodificarlas hacen falta, además de ellas mismas, la I ó P anterior y la I ó P siguiente. éstas imágenes consiguen los niveles de compresión más elevados y por tanto son las más pequeñas. • Existen otro tipo de imágenes llamadas imágenes intraframe de baja resolución (o imágenes D) que son de las mismas características que las I pero con menos resolución. Se usan en aplicaciones que no necesitan gran calidad, como el avance rápido. Las imágenes desde una imagen I hasta la siguiente forman un grupode imagenes (GOP).
  4. 4. Tipos de imágenes (I, P, B)Transmitir o almacenar directamente una secuencia de video requiere mucho ancho debanda o espacio. Para resolver este problema se utilizan algoritmos de compresión.Podemos comprimir todas las imágenes uno a uno (por ejemplo con JPEG) para luegopoder escoger cualquiera de ellas y descodificarlas para su visualización. Este sistema sedenomina intra-frame. La desventaja de este sistema es que no contempla la compresióncon respecto al tiempo, como puede ser la redundancia entre fotogramas consecutivos. Parasolucionar este problema se escoge una imagen de referencia y se almacenan solo lasvariaciones con respecto a este fotograma anterior, posterior o ambos, lo que se llamacompresión referencial.Ya que en una secuencia referencial demasiado larga la imagen quedaría demasiadodegenerada, se van intercalando imágenes independientes cada cierto número defotogramas referenciales.En la compresión de vídeo MPEG, las imágenes resultantes se pueden clasificar en trestipos: • Tipo I , se comprimen independientemente, el algoritmo de compresión suele ser JPEG o parecido • Tipo P, son predichas por extrapolación de una imagen anterior • Tipo B , son predichas por interpolación de dos fotogramas distintos.En estos métodos se empieza codificando un fotograma de forma independientedenominado keyframe que sera del tipo I. A continuación las siguientes imágenes de tipo Py B se codifican de forma referencial, reduciendo así la información a almacenar. Para estolas imágenes se dividen en macrobloques, generalmente de 8x8 o 16x16 bits, para cadabloque se busca su posición en el frame de referencia y se define un vector de movimientoque nos sirve para obtener la posición del macrobloque a partir del fotograma de referencia.Como los macrobloques no suelen ser exactamente idénticos se utiliza un algoritmo decomparación para determinar la similitud de los macrobloques.En caso de que el macrobloque es practicamente idéntico al anterior y no se ha movido sesalta la codificación del macrobloque. Como el codificador no sabe exactamente elresultado de las diferentes codificaciones, las va probando y elige la mejor opción enfunción de los errores producidos. Si las diferencias son demasiado grandes losmacrobloques se codifican de forma independiente, sin referencia a otra imagen.La diferencia de las imágenes referenciales B con respecto a las P es que se predicen apartir de dos fotogramas distintos previamente descodificados, uno anterior y otro posterior.
  5. 5. Para mantener un orden y poder descodificar las tramas adecuadamente, las imágenes seagrupan en secuencias (GOP) determinadas:Una vez recibida una secuencia, lo primero que se hace es decodificar las imágenes dereferencia, las de tipo I. Una vez obtenidas estas podremos predecir los fotogramas tipoPDespués de decodificar las imágenes tipo P pasamos a las B que se obtienen interpolandodos imágenes de referencia, de tipo I o P:En estas secuencias, las imágenes de tipo I representan los puntos de acceso aleatorio desdelos que se puede comenzar a descodificar el video. Su grado de codificación suele ser bajoy normalmente ocupan mas espacio que los fotogramas predichos P y B. Los fotogramasobtenidos por referencia obtienen un mayor nivel de codificación a expensas de su accesoinmediato, ya que necesitan de otras imágenes previamente descodificadas.Los frames B nos permiten mejorar la relación de compresión, por ejemplo en un cambiode escena los fotogramas B obtienen una imagen intermedia entre el fotograma anterior yposterior del cambio, reduciendo así el error con respecto a las predicciones tipo P.
  6. 6. GRUPOS DE IMÁGENES Los fotogramas se agrupan en un Grupo de Imágenes o GOP (Group Of Pictures).Se trata de la unidad de acceso aleatorio más pequeña. Un GOP está formado por: Un fotograma I (el primero). Uno o varios fotogramas P. Varios fotogramas B intercalados. Usualmente en un GOP encontramos 12 fotogramas, pero el codificador puedecambiarlo dinámicamente. En el caso de detectar un cambio de escena, forzará unfotograma I que dará inicio a un nuevo GOP. Dada esta agrupación un error producido en la predicción de un fotograma setransfiere al resto de fotogramas pertenecientes a ese mismo GOP. Teniendo en cuenta que para formar un fotograma P necesitamos un I y que paraformar los B necesitamos tener los I y los P, podemos ordenar la secuencia de fotogramasdesde dos puntos de vista diferentes: Orden de visualización: como lo ve el usuario. Orden de bitstream: como se generan los fotogramas. En la siguiente tabla se ve el orden en que el usuario verá los fotogramas, junto conel orden en el que son creados y enviados: Orden de visualización I B B P B B P B B P B B I 1 2 3 4 5 6 7 8 9 10 11 12 13 Ordren de bitstream (transmisión) I P B B P B B P B B I B B 1 4 2 3 7 5 6 10 8 9 13 11 12PREDICCIÓN POR COMPENSACIÓN DE MOVIMIENTO Una secuencia de varios frames consecutivos tiene mucha información en comúnque puede ser reducida. La compensación del movimiento es la técnica utilizada en lacodificación de vídeo, más concretamente en el formato MPEG, cuyo objetivo consiste eneliminar la redundancia temporal que existe entre las imágenes que componen unasecuencia, con el fin de aumentar la compresión, es decir se basa en estimar el movimientoentre cuadros sucesivos. Debemos tener en cuenta que esta técnica obtiene mejoresresultados en imágenes altamente correladas1.1 Imágenes correladas: imágenes donde no encontramos cambios muy bruscos
  7. 7. El algoritmo de esta técnica primero busca el macrobloque2 del cuadro a codificaren el cuadro de referencia, aprovechando la correlación espacial (obtendríamos mejoresresultados si esta técnica se aplicara píxel a píxel pero es muy costoso). A continuación siaparece el mismo macrobloque, se codifica el vector de movimiento correspondiente, perosi no aparece el mismo se elige el más parecido y se codifica el vector de movimiento. Sinembargo si no hay ningún bloque similar se codifica dicho macrobloque aprovechandoúnicamente la redundancia espacial. Finalmente calculamos la imagen de error frame(t)-frame(t)’. Vector de movimiento Frame t Frame t ± n El criterio de semejanza que se utiliza para decidir que macrobloque es el mássimilar es el siguiente: C(x+k, y+e)=conjunto de pixeles del macrobloque que intentamos generar. R(x+k+u, y+e+v)=conjunto de pixeles de uno de los macrobloques del frame dereferencia. u,v=parámetro del vector de movimiento. Debe estar en el rango [-p,p], p:limitede la región donde se busca M=tamaño del macrobloque (normalmente 16) Se calcula la diferencia absoluta entre los macrobloques: D(u,v)=(1/M)*∑∑abs(c(x+k)*R(x+k+u,y+e+v)) K=0 e=0 El algoritmo de búsqueda logarítmica divide el frame en dos áreas distintas: unainterior y otra exterior: (0,p) (0,p/2) (-p,0) (-p,0) (p,0) (p/2,0) (0,-p) (0,-p/2)2 Macrobloque: trozo de imagen
  8. 8. A continuación realizamos nueve movimientos, nueve comparaciones y aplicando elcriterio de selección anterior escogemos el mas apropiado: Por ùltimo se toma el más apropiado y se vuelve a realizar el proceso. Esto normalmente se repite nueve veces. Debemos tener en cuenta que no buscamos en toda la imagen solo en una zonaaproximada puesto que normalmente los movimientos suelen ser pequeños y una búsquedacompleta sería muy costosa. Sin embargo si es cierto que la región será más o menosgrande si los cambios entre los frames son mayores o menores, lo cual depende del tipo degrabación. Por ejemplo en una grabación de una carrera la región debería ser más grandepuesto que los cambios son más rápidos. Para escoger el frame donde buscaremos el macrobloque más parecido seguimosdistintos criterios dependiendo de que fotogramos queramos obtener, en caso de losfotogramas P se aplica al fotograma más reciente I o P, sin embargo para predecir losfotogramas B se aplica a los dos fotogramas más recientes en el pasado y en el futuro I o P. Más concretamente dentro de la familia MPEG los formatos que utilizan lacompensación de movimiento para la predicción de fotogramas son: MPEG1, MPEG2,MPEG4, MPEG7.

×