SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
Fundamentos de la compresión de vídeo
      En términos de la teoría de Shannon existen dos grupos principales de algoritmos de
compresión, tales como:

        1. Compresión sin pérdida (lossless). Estos algoritmos tienen por objetivo
reconstruir la información original fielmente al descomprimir el archivo, sin una sola
pérdida de datos. La reducción del tamaño del archivo es menor si se compara con otros
esquemas de compresión, siendo el nivel de compresión muy cercano al valor H definido
por Shannon, quien también estableció cinco órdenes de H, caracterizadas por la naturaleza
de 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 son
estadísticamente independientes unos de otros, y cada símbolo o letra es igualmente
probable de aparecer en un archivo. Para idiomas como el castellano, los archivos de texto
que 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, H
tiene un valor de 4.75 bits por cada carácter. Las compresiones de Orden Cinco llegan a
niveles 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 se
consideran bits innecesarios, creando una aproximación matemáticamente suficiente. Se
usan en la compresión de imágenes, donde una excesiva cantidad de datos que representen
colores y tonalidades no siempre es necesaria para una buena visualización. Estos esquemas
de compresión se apoyan en el análisis de la distorsión, una entidad matemática que define
puntualmente qué tan cercana es la aproximación al original. La videoconferencia y la
audioconferencia, así como los archivos MP3 de audio o los MPEG-4 de video son buenos
ejemplos de compresiones con pérdida, ya que al momento de descomprimir la información
no se tienen todos los datos originales, lo que explica imágenes “cuadriculadas” y pistas de
audio 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 la
Televisión de Alta Definición, High Definition Television (HDTV); y desilusionado del
fracaso en adoptar un único estándar internacional (Japón, Europa y Estados Unidos
pugnaban por su propio formato), asistía al encuentro del JPEG (Joint Pictures Experts
Group, Grupo Unido de Expertos en Imágenes). Este grupo había sido formado por la
Organización de Estándares Internacionales ISO y por la Comisión Electrotécnica
Internacional IEC para formular un estándar que permitiera disminuir la cantidad de
espacio 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 como
representante ante la ISO, la organización ISO/IEC crea
el Comité Técnico Unido sobre Tecnologías de la
Información, Subcomité 29, Grupo de Trabajo 11
(ISO/IEC JTC1/SC29/WG11), más conocido como
MPEG, bajo la dirección de Chiariglione, encargándole
el desarrollo de estándares para la representación
codificada de imágenes en movimiento, la información
del audio asociado, y su combinación para la grabación
y lectura en un medio de almacenamiento digital.

       Los estándares MPEG se desarrollan en fases numeradas, por lo que la
especificación MPEG-2 no es una sustitución de MPEG-1 sino una ampliación o
complemento del mismo. Lo que se conoce por "layers", son especificaciones de una
familia de algoritmos de codificación para un mismo estándar. Para las señales de audio
MPEG ha definido los estándares MPEG-1, MPEG-2, MPEG-4 y MPEG-7



Redundancia

   Principios de codificación
     Una secuencia de vídeo tiene tres tipos de redundancia que un esquema de
codificació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 no
son completamente independientes si no que están correlacionados con los valores de los
pixels vecinos, tanto en espacio como en tiempo (es decir, dentro de una misma trama o con
las tramas anterior y/o posterior). Por ello diremos que sus valores pueden ser predichos en
cierta medida. Por otra parte, la redundancia psicovisual tiene que ver con las limitaciones
físicas del ojo humano, que tiene una limitada respuesta para fijarse en los detalles
espaciales 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-rate
mientras se mantiene constante la calidad a la que el ojo humano ve la imagen
decodificada.




   •   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 grupo
de imagenes (GOP).
Tipos de imágenes (I, P, B)

Transmitir o almacenar directamente una secuencia de video requiere mucho ancho de
banda 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 luego
poder escoger cualquiera de ellas y descodificarlas para su visualización. Este sistema se
denomina intra-frame. La desventaja de este sistema es que no contempla la compresión
con respecto al tiempo, como puede ser la redundancia entre fotogramas consecutivos. Para
solucionar este problema se escoge una imagen de referencia y se almacenan solo las
variaciones con respecto a este fotograma anterior, posterior o ambos, lo que se llama
compresión referencial.
Ya que en una secuencia referencial demasiado larga la imagen quedaría demasiado
degenerada, se van intercalando imágenes independientes cada cierto número de
fotogramas referenciales.

En la compresión de vídeo MPEG, las imágenes resultantes se pueden clasificar en tres
tipos:

   •   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 independiente
denominado keyframe que sera del tipo I. A continuación las siguientes imágenes de tipo P
y B se codifican de forma referencial, reduciendo así la información a almacenar. Para esto
las imágenes se dividen en macrobloques, generalmente de 8x8 o 16x16 bits, para cada
bloque se busca su posición en el frame de referencia y se define un vector de movimiento
que 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 de
comparació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 se
salta la codificación del macrobloque. Como el codificador no sabe exactamente el
resultado de las diferentes codificaciones, las va probando y elige la mejor opción en
función de los errores producidos. Si las diferencias son demasiado grandes los
macrobloques 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 a
partir de dos fotogramas distintos previamente descodificados, uno anterior y otro posterior.
Para mantener un orden y poder descodificar las tramas adecuadamente, las imágenes se
agrupan en secuencias (GOP) determinadas:




Una vez recibida una secuencia, lo primero que se hace es decodificar las imágenes de
referencia, las de tipo I. Una vez obtenidas estas podremos predecir los fotogramas tipo
P




Después de decodificar las imágenes tipo P pasamos a las B que se obtienen interpolando
dos imágenes de referencia, de tipo I o P:




En estas secuencias, las imágenes de tipo I representan los puntos de acceso aleatorio desde
los que se puede comenzar a descodificar el video. Su grado de codificación suele ser bajo
y normalmente ocupan mas espacio que los fotogramas predichos P y B. Los fotogramas
obtenidos por referencia obtienen un mayor nivel de codificación a expensas de su acceso
inmediato, 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 cambio
de escena los fotogramas B obtienen una imagen intermedia entre el fotograma anterior y
posterior del cambio, reduciendo así el error con respecto a las predicciones tipo P.
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 puede
cambiarlo dinámicamente. En el caso de detectar un cambio de escena, forzará un
fotograma I que dará inicio a un nuevo GOP.
        Dada esta agrupación un error producido en la predicción de un fotograma se
transfiere al resto de fotogramas pertenecientes a ese mismo GOP.
        Teniendo en cuenta que para formar un fotograma P necesitamos un I y que para
formar los B necesitamos tener los I y los P, podemos ordenar la secuencia de fotogramas
desde 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 con
el 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     12




PREDICCIÓN POR COMPENSACIÓN DE MOVIMIENTO

        Una secuencia de varios frames consecutivos tiene mucha información en común
que puede ser reducida. La compensación del movimiento es la técnica utilizada en la
codificación de vídeo, más concretamente en el formato MPEG, cuyo objetivo consiste en
eliminar la redundancia temporal que existe entre las imágenes que componen una
secuencia, con el fin de aumentar la compresión, es decir se basa en estimar el movimiento
entre cuadros sucesivos. Debemos tener en cuenta que esta técnica obtiene mejores
resultados en imágenes altamente correladas1.


1
       Imágenes correladas: imágenes donde no encontramos cambios muy bruscos
El algoritmo de esta técnica primero busca el macrobloque2 del cuadro a codificar
en el cuadro de referencia, aprovechando la correlación espacial (obtendríamos mejores
resultados si esta técnica se aplicara píxel a píxel pero es muy costoso). A continuación si
aparece el mismo macrobloque, se codifica el vector de movimiento correspondiente, pero
si no aparece el mismo se elige el más parecido y se codifica el vector de movimiento. Sin
embargo 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ás
similar 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 de
referencia.
        u,v=parámetro del vector de movimiento. Debe estar en el rango [-p,p], p:limite
de 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: una
interior 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
A continuación realizamos nueve movimientos, nueve comparaciones y aplicando el
criterio 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 zona
aproximada puesto que normalmente los movimientos suelen ser pequeños y una búsqueda
completa sería muy costosa. Sin embargo si es cierto que la región será más o menos
grande si los cambios entre los frames son mayores o menores, lo cual depende del tipo de
grabación. Por ejemplo en una grabación de una carrera la región debería ser más grande
puesto que los cambios son más rápidos.
        Para escoger el frame donde buscaremos el macrobloque más parecido seguimos
distintos criterios dependiendo de que fotogramos queramos obtener, en caso de los
fotogramas P se aplica al fotograma más reciente I o P, sin embargo para predecir los
fotogramas 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 la
compensación de movimiento para la predicción de fotogramas son: MPEG1, MPEG2,
MPEG4, MPEG7.

Más contenido relacionado

Similar a Compresion video paper

Similar a Compresion video paper (20)

Ajustes de Video en Cámara IP VIVOTEK
Ajustes de Video en Cámara IP VIVOTEKAjustes de Video en Cámara IP VIVOTEK
Ajustes de Video en Cámara IP VIVOTEK
 
Seguridad Integral sobre Vídeo IP
Seguridad Integral sobre Vídeo IPSeguridad Integral sobre Vídeo IP
Seguridad Integral sobre Vídeo IP
 
H.264 Codec Multimedia
H.264 Codec MultimediaH.264 Codec Multimedia
H.264 Codec Multimedia
 
H.264/MPEG-4 AVC
H.264/MPEG-4 AVCH.264/MPEG-4 AVC
H.264/MPEG-4 AVC
 
Fotografía Digital
Fotografía DigitalFotografía Digital
Fotografía Digital
 
Systemas operativos Multimedias
Systemas operativos MultimediasSystemas operativos Multimedias
Systemas operativos Multimedias
 
Formatos Imágenes y Gráficos
Formatos Imágenes y GráficosFormatos Imágenes y Gráficos
Formatos Imágenes y Gráficos
 
Imágenes digitales
Imágenes digitalesImágenes digitales
Imágenes digitales
 
Los formatos de vídeo
Los formatos de vídeoLos formatos de vídeo
Los formatos de vídeo
 
Video
VideoVideo
Video
 
Multimedia
MultimediaMultimedia
Multimedia
 
Compresion
CompresionCompresion
Compresion
 
Pdi05
Pdi05Pdi05
Pdi05
 
Unidad didactica 3
Unidad didactica 3Unidad didactica 3
Unidad didactica 3
 
Almacenamiento graficacion-norma
Almacenamiento graficacion-normaAlmacenamiento graficacion-norma
Almacenamiento graficacion-norma
 
Ut 13
Ut 13Ut 13
Ut 13
 
Format factory
Format factoryFormat factory
Format factory
 
Tipos de archivos graficos
Tipos de archivos graficosTipos de archivos graficos
Tipos de archivos graficos
 
Tratamiento basico vídeo_digital
Tratamiento basico vídeo_digitalTratamiento basico vídeo_digital
Tratamiento basico vídeo_digital
 
Formato de vídeo
Formato de vídeoFormato de vídeo
Formato de vídeo
 

Más de Francisco Berrizbeitia

Evaluación de diferentes estrategias de muestreo para tratar el problema de ...
Evaluación de diferentes estrategias de muestreo  para tratar el problema de ...Evaluación de diferentes estrategias de muestreo  para tratar el problema de ...
Evaluación de diferentes estrategias de muestreo para tratar el problema de ...Francisco Berrizbeitia
 
Un enfoque de aprendizaje automático supervisado para el etiquetado de mensaj...
Un enfoque de aprendizaje automático supervisado para el etiquetado de mensaj...Un enfoque de aprendizaje automático supervisado para el etiquetado de mensaj...
Un enfoque de aprendizaje automático supervisado para el etiquetado de mensaj...Francisco Berrizbeitia
 
News construction from microblogging posts using open data
News construction from microblogging posts using open data News construction from microblogging posts using open data
News construction from microblogging posts using open data Francisco Berrizbeitia
 
News construction from microblogging post using open data
News construction from microblogging post using open dataNews construction from microblogging post using open data
News construction from microblogging post using open dataFrancisco Berrizbeitia
 
Trabajo 1 - Definición de un sitio web de contenido multimedia
Trabajo 1 - Definición de un sitio web de contenido multimediaTrabajo 1 - Definición de un sitio web de contenido multimedia
Trabajo 1 - Definición de un sitio web de contenido multimediaFrancisco Berrizbeitia
 
Introducción al el mercadeo en Internet
Introducción al el mercadeo en InternetIntroducción al el mercadeo en Internet
Introducción al el mercadeo en InternetFrancisco Berrizbeitia
 
2013 digital future_in_focus_venezuela
2013 digital future_in_focus_venezuela2013 digital future_in_focus_venezuela
2013 digital future_in_focus_venezuelaFrancisco Berrizbeitia
 
Tiene sentido crear contenido audiovisual para ser difundido exclusivamente ...
Tiene sentido crear contenido audiovisual para ser difundido  exclusivamente ...Tiene sentido crear contenido audiovisual para ser difundido  exclusivamente ...
Tiene sentido crear contenido audiovisual para ser difundido exclusivamente ...Francisco Berrizbeitia
 
Caracterización de la popularidad de los archivos de un wiki a gran escala v3
Caracterización de la popularidad de los archivos de un wiki a gran escala v3Caracterización de la popularidad de los archivos de un wiki a gran escala v3
Caracterización de la popularidad de los archivos de un wiki a gran escala v3Francisco Berrizbeitia
 
Formación en salud y seguridad industrial llave en mano
Formación en salud y seguridad industrial llave en manoFormación en salud y seguridad industrial llave en mano
Formación en salud y seguridad industrial llave en manoFrancisco Berrizbeitia
 
Trabajo 1 - Conceptualización del proyecto de difusión audiovisual
Trabajo 1 - Conceptualización del proyecto de difusión audiovisualTrabajo 1 - Conceptualización del proyecto de difusión audiovisual
Trabajo 1 - Conceptualización del proyecto de difusión audiovisualFrancisco Berrizbeitia
 

Más de Francisco Berrizbeitia (20)

Evaluación de diferentes estrategias de muestreo para tratar el problema de ...
Evaluación de diferentes estrategias de muestreo  para tratar el problema de ...Evaluación de diferentes estrategias de muestreo  para tratar el problema de ...
Evaluación de diferentes estrategias de muestreo para tratar el problema de ...
 
Un enfoque de aprendizaje automático supervisado para el etiquetado de mensaj...
Un enfoque de aprendizaje automático supervisado para el etiquetado de mensaj...Un enfoque de aprendizaje automático supervisado para el etiquetado de mensaj...
Un enfoque de aprendizaje automático supervisado para el etiquetado de mensaj...
 
News construction from microblogging posts using open data
News construction from microblogging posts using open data News construction from microblogging posts using open data
News construction from microblogging posts using open data
 
News construction from microblogging post using open data
News construction from microblogging post using open dataNews construction from microblogging post using open data
News construction from microblogging post using open data
 
Autosimilaridad en vinculaciones
Autosimilaridad en vinculacionesAutosimilaridad en vinculaciones
Autosimilaridad en vinculaciones
 
Vinculaciones autosimilares
Vinculaciones autosimilaresVinculaciones autosimilares
Vinculaciones autosimilares
 
Trabajo 1 - Definición de un sitio web de contenido multimedia
Trabajo 1 - Definición de un sitio web de contenido multimediaTrabajo 1 - Definición de un sitio web de contenido multimedia
Trabajo 1 - Definición de un sitio web de contenido multimedia
 
Introducción al el mercadeo en Internet
Introducción al el mercadeo en InternetIntroducción al el mercadeo en Internet
Introducción al el mercadeo en Internet
 
¿ Cómo empezar con mi sitio web?
¿ Cómo empezar con mi sitio web?¿ Cómo empezar con mi sitio web?
¿ Cómo empezar con mi sitio web?
 
2013 digital future_in_focus_venezuela
2013 digital future_in_focus_venezuela2013 digital future_in_focus_venezuela
2013 digital future_in_focus_venezuela
 
Tiene sentido crear contenido audiovisual para ser difundido exclusivamente ...
Tiene sentido crear contenido audiovisual para ser difundido  exclusivamente ...Tiene sentido crear contenido audiovisual para ser difundido  exclusivamente ...
Tiene sentido crear contenido audiovisual para ser difundido exclusivamente ...
 
Caracterización de la popularidad de los archivos de un wiki a gran escala v3
Caracterización de la popularidad de los archivos de un wiki a gran escala v3Caracterización de la popularidad de los archivos de un wiki a gran escala v3
Caracterización de la popularidad de los archivos de un wiki a gran escala v3
 
Formación en salud y seguridad industrial llave en mano
Formación en salud y seguridad industrial llave en manoFormación en salud y seguridad industrial llave en mano
Formación en salud y seguridad industrial llave en mano
 
Listado de cursos manual rse
Listado de cursos manual rseListado de cursos manual rse
Listado de cursos manual rse
 
Text mining
Text miningText mining
Text mining
 
AID Aprendizaje - Nosotros
AID Aprendizaje - NosotrosAID Aprendizaje - Nosotros
AID Aprendizaje - Nosotros
 
Keylight ae user guide
Keylight ae user guideKeylight ae user guide
Keylight ae user guide
 
Personalizacion de blogspot
Personalizacion de blogspotPersonalizacion de blogspot
Personalizacion de blogspot
 
Trabajo 1 - Conceptualización del proyecto de difusión audiovisual
Trabajo 1 - Conceptualización del proyecto de difusión audiovisualTrabajo 1 - Conceptualización del proyecto de difusión audiovisual
Trabajo 1 - Conceptualización del proyecto de difusión audiovisual
 
Clase 3 estrategias de difusion
Clase 3   estrategias de difusionClase 3   estrategias de difusion
Clase 3 estrategias de difusion
 

Compresion video paper

  • 1. Fundamentos de la compresión de vídeo En términos de la teoría de Shannon existen dos grupos principales de algoritmos de compresión, tales como: 1. Compresión sin pérdida (lossless). Estos algoritmos tienen por objetivo reconstruir la información original fielmente al descomprimir el archivo, sin una sola pérdida de datos. La reducción del tamaño del archivo es menor si se compara con otros esquemas de compresión, siendo el nivel de compresión muy cercano al valor H definido por Shannon, quien también estableció cinco órdenes de H, caracterizadas por la naturaleza de 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 son estadísticamente independientes unos de otros, y cada símbolo o letra es igualmente probable de aparecer en un archivo. Para idiomas como el castellano, los archivos de texto que 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, H tiene un valor de 4.75 bits por cada carácter. Las compresiones de Orden Cinco llegan a niveles 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 se consideran bits innecesarios, creando una aproximación matemáticamente suficiente. Se usan en la compresión de imágenes, donde una excesiva cantidad de datos que representen colores y tonalidades no siempre es necesaria para una buena visualización. Estos esquemas de compresión se apoyan en el análisis de la distorsión, una entidad matemática que define puntualmente qué tan cercana es la aproximación al original. La videoconferencia y la audioconferencia, así como los archivos MP3 de audio o los MPEG-4 de video son buenos ejemplos de compresiones con pérdida, ya que al momento de descomprimir la información no se tienen todos los datos originales, lo que explica imágenes “cuadriculadas” y pistas de audio 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 la Televisión de Alta Definición, High Definition Television (HDTV); y desilusionado del fracaso en adoptar un único estándar internacional (Japón, Europa y Estados Unidos pugnaban por su propio formato), asistía al encuentro del JPEG (Joint Pictures Experts Group, Grupo Unido de Expertos en Imágenes). Este grupo había sido formado por la
  • 2. Organización de Estándares Internacionales ISO y por la Comisión Electrotécnica Internacional IEC para formular un estándar que permitiera disminuir la cantidad de espacio 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 como representante ante la ISO, la organización ISO/IEC crea el Comité Técnico Unido sobre Tecnologías de la Información, Subcomité 29, Grupo de Trabajo 11 (ISO/IEC JTC1/SC29/WG11), más conocido como MPEG, bajo la dirección de Chiariglione, encargándole el desarrollo de estándares para la representación codificada de imágenes en movimiento, la información del audio asociado, y su combinación para la grabación y lectura en un medio de almacenamiento digital. Los estándares MPEG se desarrollan en fases numeradas, por lo que la especificación MPEG-2 no es una sustitución de MPEG-1 sino una ampliación o complemento del mismo. Lo que se conoce por "layers", son especificaciones de una familia de algoritmos de codificación para un mismo estándar. Para las señales de audio MPEG ha definido los estándares MPEG-1, MPEG-2, MPEG-4 y MPEG-7 Redundancia Principios de codificación Una secuencia de vídeo tiene tres tipos de redundancia que un esquema de codificació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 no son completamente independientes si no que están correlacionados con los valores de los pixels vecinos, tanto en espacio como en tiempo (es decir, dentro de una misma trama o con las tramas anterior y/o posterior). Por ello diremos que sus valores pueden ser predichos en cierta medida. Por otra parte, la redundancia psicovisual tiene que ver con las limitaciones
  • 3. físicas del ojo humano, que tiene una limitada respuesta para fijarse en los detalles espaciales 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-rate mientras se mantiene constante la calidad a la que el ojo humano ve la imagen decodificada. • 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 grupo de imagenes (GOP).
  • 4. Tipos de imágenes (I, P, B) Transmitir o almacenar directamente una secuencia de video requiere mucho ancho de banda 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 luego poder escoger cualquiera de ellas y descodificarlas para su visualización. Este sistema se denomina intra-frame. La desventaja de este sistema es que no contempla la compresión con respecto al tiempo, como puede ser la redundancia entre fotogramas consecutivos. Para solucionar este problema se escoge una imagen de referencia y se almacenan solo las variaciones con respecto a este fotograma anterior, posterior o ambos, lo que se llama compresión referencial. Ya que en una secuencia referencial demasiado larga la imagen quedaría demasiado degenerada, se van intercalando imágenes independientes cada cierto número de fotogramas referenciales. En la compresión de vídeo MPEG, las imágenes resultantes se pueden clasificar en tres tipos: • 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 independiente denominado keyframe que sera del tipo I. A continuación las siguientes imágenes de tipo P y B se codifican de forma referencial, reduciendo así la información a almacenar. Para esto las imágenes se dividen en macrobloques, generalmente de 8x8 o 16x16 bits, para cada bloque se busca su posición en el frame de referencia y se define un vector de movimiento que 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 de comparació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 se salta la codificación del macrobloque. Como el codificador no sabe exactamente el resultado de las diferentes codificaciones, las va probando y elige la mejor opción en función de los errores producidos. Si las diferencias son demasiado grandes los macrobloques 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 a partir de dos fotogramas distintos previamente descodificados, uno anterior y otro posterior.
  • 5. Para mantener un orden y poder descodificar las tramas adecuadamente, las imágenes se agrupan en secuencias (GOP) determinadas: Una vez recibida una secuencia, lo primero que se hace es decodificar las imágenes de referencia, las de tipo I. Una vez obtenidas estas podremos predecir los fotogramas tipo P Después de decodificar las imágenes tipo P pasamos a las B que se obtienen interpolando dos imágenes de referencia, de tipo I o P: En estas secuencias, las imágenes de tipo I representan los puntos de acceso aleatorio desde los que se puede comenzar a descodificar el video. Su grado de codificación suele ser bajo y normalmente ocupan mas espacio que los fotogramas predichos P y B. Los fotogramas obtenidos por referencia obtienen un mayor nivel de codificación a expensas de su acceso inmediato, 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 cambio de escena los fotogramas B obtienen una imagen intermedia entre el fotograma anterior y posterior del cambio, reduciendo así el error con respecto a las predicciones tipo P.
  • 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 puede cambiarlo dinámicamente. En el caso de detectar un cambio de escena, forzará un fotograma I que dará inicio a un nuevo GOP. Dada esta agrupación un error producido en la predicción de un fotograma se transfiere al resto de fotogramas pertenecientes a ese mismo GOP. Teniendo en cuenta que para formar un fotograma P necesitamos un I y que para formar los B necesitamos tener los I y los P, podemos ordenar la secuencia de fotogramas desde 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 con el 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 12 PREDICCIÓN POR COMPENSACIÓN DE MOVIMIENTO Una secuencia de varios frames consecutivos tiene mucha información en común que puede ser reducida. La compensación del movimiento es la técnica utilizada en la codificación de vídeo, más concretamente en el formato MPEG, cuyo objetivo consiste en eliminar la redundancia temporal que existe entre las imágenes que componen una secuencia, con el fin de aumentar la compresión, es decir se basa en estimar el movimiento entre cuadros sucesivos. Debemos tener en cuenta que esta técnica obtiene mejores resultados en imágenes altamente correladas1. 1 Imágenes correladas: imágenes donde no encontramos cambios muy bruscos
  • 7. El algoritmo de esta técnica primero busca el macrobloque2 del cuadro a codificar en el cuadro de referencia, aprovechando la correlación espacial (obtendríamos mejores resultados si esta técnica se aplicara píxel a píxel pero es muy costoso). A continuación si aparece el mismo macrobloque, se codifica el vector de movimiento correspondiente, pero si no aparece el mismo se elige el más parecido y se codifica el vector de movimiento. Sin embargo 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ás similar 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 de referencia. u,v=parámetro del vector de movimiento. Debe estar en el rango [-p,p], p:limite de 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: una interior 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. A continuación realizamos nueve movimientos, nueve comparaciones y aplicando el criterio 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 zona aproximada puesto que normalmente los movimientos suelen ser pequeños y una búsqueda completa sería muy costosa. Sin embargo si es cierto que la región será más o menos grande si los cambios entre los frames son mayores o menores, lo cual depende del tipo de grabación. Por ejemplo en una grabación de una carrera la región debería ser más grande puesto que los cambios son más rápidos. Para escoger el frame donde buscaremos el macrobloque más parecido seguimos distintos criterios dependiendo de que fotogramos queramos obtener, en caso de los fotogramas P se aplica al fotograma más reciente I o P, sin embargo para predecir los fotogramas 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 la compensación de movimiento para la predicción de fotogramas son: MPEG1, MPEG2, MPEG4, MPEG7.