Compresi - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Compresi

Description:

Title: Compresi n de v deo Author: Juan Alberto Sig enza Last modified by: Juan Alberto Sig enza Created Date: 1/8/2003 10:44:19 AM Document presentation format – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 36
Provided by: JuanA66
Category:

less

Transcript and Presenter's Notes

Title: Compresi


1
Compresión de vídeo
  • http//www.info-ab.uclm.es/asignaturas/42609/Tema4
    /sld035.htm

2
Estándares MPEG
  • Motion Pictures Expert Group
  • Estándar ISO/IEC JTC1/SC29/WG11
  • MPEG 1
  • El primer trabajo del grupo, iniciado en 1988 se
    concentró en la compresión de vídeo con
    velocidades bajas y adecuadas a dispositivos de
    almacenamiento tales como CD-ROM y transmisión a
    1,554 y 2,048 Mbits/s
  • MPEG 2
  • Método de codificación de señales audiovisuales
    para proporcionar una buena calidad sobre la base
    de la norma de televisión digital 601 del CCIR.
  • MPEG 4
  • Desarrollado para aplicaciones de comunicaciones
    multimedia a muy bajo caudal, en las cuales se
    requiere la comunicación de información
    audiovisual.
  • MPEG 7
  • Se basa en la realización de bases de datos de
    información multimedia que permitan la búsqueda
    de imágenes utilizando características como su
    color, textura o información de su forma o
    contorno de los objetos.

3
MPEG 1
  • Estuvo basado inicialmente en el trabajo del
    grupo de expertos del ITU para videotelefonía y
    en el estándar H.261
  • Para aumentar el factor de compresión, MPEG
    introdujo el concepto de predicción
    bidireccional, que consiste en el almacenamiento
    de imágenes pasadas y futuras para la predicción
    del cuadro (frame) presente.
  • Para conseguir esto, los cuadros en el flujo de
    bits codificado deben estar en orden diferente al
    orden de visionado. Esto fuerza la creación de la
    estructura llamada Grupo de cuadros (GOP).

4
MPEG 1
  • El conjunto de objetivos establecido para MPEG 1
    fue el siguiente
  • Acceso aleatorio
  • Búsqueda rápida/rebobinado rápido
  • Visionado inverso
  • Sincronización audiovisual
  • Robustez frente a errores
  • Retardo de codificación/descodificación
  • Editabilidad
  • Compatibilidad de formatos
  • Costes

5
MPEG 1 Características
  • Los requerimientos de capacidad de edición total
    y acceso aleatorio condujeron a la introducción
    de cuadros codificados completamente como
    intra-cuadro, de forma periódica en el flujo de
    bits codificado.
  • La codificación de estos cuadros con codificación
    intra-cuadro se basó en gran parte en el estándar
    JPEG. Para compensar la reducción del factor de
    compresión, debido a la introducción periódica de
    imágenes intra-codificadas, se introdujo la
    predicción bidireccional.
  • El estándar fue finalmente diseñado para
    conseguir compresiones óptimas en el rango entre
    1 y 1.5 Mbps, para secuencias de vídeo progresivo
    en color (MPEG 1 no soporta vídeo entrelazado),
    tanto para sistemas NTSc como PAL, con formato de
    muestreo 420 y un espacio de colores YCbCr.
  • Para este formato de entrada, el factor de
    compresión alcanzado por el estándar MPEG 1 es de
    261 aproximadamente.

6
(No Transcript)
7
MPEG 1 Parámetros restringidos
  • El conjunto de parámetros restringidos del flujo
    de bits que como mínimo debe soportar cada
    descodificador compatible con MPEG 1 son

Parámetros Valor máximo
Tamaño horizontal 768 píxeles
Tamaño vertical 576 líneas
Número macrobloques 396
Caudal de píxeles 396x25 MB/s
Caudal de cuadros 30 cuadros/s
Rango de los vectores de movimiento 64 píxeles
Tamaño del buffer de entrada 327.680 bits
Caudal de bits 1.856 kbits/s
8
MPEG-1 Residuo de movimiento compensado
  • Con el método de compensación de movimiento, se
    crea una imagen de predicción con la imagen
    actual, o nueva, y la imagen precedente (ya
    codificada y en memoria) mediante la estimación
    del movimiento entre las dos imágenes y una
    compensación para el movimiento.
  • La diferencia entre la imagen actual y la
    predicción que se ha hecho para esta imagen
    actual es lo que se llama residuo de movimiento
    compensado.
  • En una secuencia típica de vídeo, este residuo,
    contendrá valores muy pequeños y próximos a cero,
    que se codificarán con unos pocos bits.
  • Para la estimación del movimiento se supone que
    en las imágenes de vídeo consecutivas, aparecen
    los mismos componentes de la escena aunque
    posiblemente en diferentes posiciones (movimiento
    traslación).

9
(No Transcript)
10
(No Transcript)
11
MPEG 1 Predicción bidireccional
  • La predicción bidireccional realiza el proceso de
    estimación de movimiento dos veces
  • Una en una imagen pasada
  • Y otra en una imagen futura,
  • De forma que obtiene dos vectores de movimiento y
    dos predicciones para cada macrobloque.
  • El codificador puede obtener el residuo de
    movimiento compensado utilizando
  • Cualquiera de las dos predicciones (pasada o
    futura)
  • O un promedio de ellas, eligiendo la estimación
    mas eficiente de las tres.
  • En la terminología MPEG, este proceso es referido
    como codificación intercuadro bidireccional o
    interpolada.

12
(No Transcript)
13
MPEG 1 Predicción bidireccional
  • Cuando la compensación es hacia delante o hacia
    atrás, sólo se genera un vector de movimiento.
  • Cuando la compensación es interpolada se generan
    dos vectores de movimiento, uno para cada cuadro
    de referencia pasado y futuro.
  • Tanto si se genera uno como si se generan dos,
    estos son codificados diferencialmente con
    respecto a los vectores de movimiento del
    macrobloque anterior.
  • Posteriormente se les aplica una codificación
    Huffman para ser transmitidos o almacenados junto
    al residuo, para este macrobloque.

14
MPEG 1 Tipos de cuadros
  • Cuadros I (Intra)
  • Utilizan únicamente información contenida en el
    propio cuadro y no dependen de la información de
    otros cuadros (codificación intra-cuadro).
  • Los cuadros I proporcionan un mecanismo para el
    acceso aleatorio al flujo de bits de vídeo
    comprimido pero proporcionan solamente una
    moderada compresión.
  • Cuadros P (Predicted)
  • Utilizan para la codificación, la información
    contenida en el cuadro previo, I o P, mas próximo
    (codificación intercuadro).
  • A esta técnica se le conoce como predicción hacia
    delante y proporciona un mayor grado de
    compresión.
  • Cuadros B (Bidirectional o Interpolated)
  • Utilizan la información contenida en los cuadros
    pasado y futuro, I o P, mas próximos.
  • A esta técnica se le conoce como predicción
    bidireccional o interpolada y proporciona el
    mayor grado de compresión.
  • Estos cuadros no propagan errores ya que nunca se
    utilizan como referencia, al contrario que las
    imágenes I y P.

15
(No Transcript)
16
(No Transcript)
17
(No Transcript)
18
MPEG 1 Estructura de capas
  • La estructura está definida para hacer del flujo
    de bits una secuencia de entidades individuales
    entre sí.
  • Cada capa tiene una cabecera con información,
    seguida de un número de elementos de la siguiente
    capa
  • Así, cada secuencia es precedida de una cabecera
    de secuencia seguida de un número de GOPs, y por
    último una marca de fin de secuencia.
  • Cada GOP es precedido por una cabecera de inicio
    de GOP, y después por un número de cuadros.
  • Cada cuadro a su vez se descompone en un número
    de franjas
  • Cada franja por un número de macrobloques.
  • Finalmente, los macrobloques se dividen en varios
    bloques.
  • Cada cabecera de inicio coincide con un código
    que está alineado al inicio de un byte para
    facilitar su detección, y que no se puede
    producir en ningún otro lugar durante la
    codificación.

19
MPEG 1 Estructura de capas
Capas Significado funcional
Secuencia de vídeo Secuencia completa visible con un formato determinado
Grupo de cuadros Unidad mínima independientemente descodificable
Cuadro Unidad primaria de display
Franja Unidad de sincronización. Permite re-sincronización ante errores
Macrobloque Unidad de compensación de movimiento
Bloque Unidad de transformada DCT
20
MPEG 1 Estructura de capas
  • Capa de secuencia
  • Define una secuencia completa de vídeo
    codificada, como por ejemplo una película o un
    programa de TV.
  • Los principales parámetros (sintaxis) que se
    pueden definir en la capa de secuencia son
  • Las dimensiones (horizontal y vertical) de los
    cuadros
  • La razón de aspecto de los píxeles
  • La frecuencia de cuadro
  • Las matrices de cuantificación

21
(No Transcript)
22
MPEG 1 Estructura de capas
  • Capa de Grupo de Cuadros (GOP)
  • Un GOP debe empezar (en orden de presentación)
    con un cuadro B o I. En caso de éste último el
    GOP se denomina cerrado.
  • Si el GOP no es cerrado entonces necesitará el
    último cuadro I o P del GOP anterior para ser
    descodificado correctamente.
  • El estándar no define ningún método para elegir
    la estructura de GOP, pero en la mayoría de las
    aplicaciones, éste suele tener una longitud de 12
    (PAL) o 15 (NTSC), y dos cuadros B entre cada par
    de cuadros I o P.
  • Los parámetros (sintaxis) que se pueden definir
    en esta capa, son principalmente dos variables
    booleanas
  • Para indicar si el GOP es cerrado,
  • Y por otra para indicar si el GOP necesita el
    último cuadro I o P del anterior GOP para
    descodificar el GOP actual.

23
MPEG 1 Estructura de capas
  • Capa de cuadro
  • La capa de cuadro tiene toda la información
    necesaria para formar una imagen.
  • Los parámetros (sintaxis) que se pueden definir
    en la cabecera de esta capa son
  • La referencia temporal del cuadro.
  • El tipo de codificación (I, P o B)
  • El rango de los vectores de movimiento entre
    otros parámetros.

24
MPEG 1 Estructura de capas
  • Capa de franja
  • Esta capa que es innecesaria por si misma para el
    correcto funcionamiento del codificador, permite
    hacer al sistema mas robusto frente a errores.
  • En el comienzo de cada una de las franjas, las
    predicciones para los vectores de movimiento y el
    coeficiente de continua (DC) de los bloques intra
    (se codifican diferencialmente) son puestos a
    cero.
  • La cabecera de franja permite al descodificador
    resincronizarse ante un error en la transmisión o
    en la descodificación, perdiendo parcialmente la
    franja donde se produjo el error en la
    descodificación, desde el error hasta la
    siguiente cabecera de franja, pero no el cuadro
    entero.

25
MPEG 1 Estructura de capas
  • Capa de franja
  • El tamaño horizontal (de izquierda a derecha y de
    arriba abajo) de las franjas puede ser
    cualquiera, siendo el tamaño elegido en la
    mayoría de las aplicaciones una franja horizontal
    completa.
  • El tamaño vertical es siempre de 16 píxeles,
    puesto que una franja está compuesta de una serie
    macrobloques y estos son de 16 x 16 píxeles.
  • Los parámetros (sintaxis) que se definen en la
    cabecera de franja son
  • La posición de la franja dentro del cuadro.
  • El factor de escala para la cuantificación (entre
    1 y 31), lo que más tarde llamaremos factor de
    escala Q de cuantificación o MQUANT. Este factor
    se pueden definir a este nivel o a nivel de
    macrobloque.

26
MPEG 1 Estructura de capas
  • Capa de Macrobloque (MB)
  • El MB es la unidad básica de compensación del
    movimiento. Los vectores de movimiento y el
    residuo de movimiento compensado, son obtenidos
    en el codificador en el módulo de estimación de
    movimiento.
  • Cada MB está formado por
  • cuatro bloques de luminancia
  • y 2 de crominancia.
  • Algunos de los parámetros (sintaxis) más
    importantes de la capa MB son
  • La posición de MB en la franja
  • El factor de escala Q de cuantificación (MQUANT)
  • El patrón de codificación de los bloques del MB.
  • El tipo de MB.
  • Los vectores de movimiento para el MB.

27
MPEG 1 Estructura de capas
  • Capa de Macrobloque
  • La sintaxis de MPEG-1 permite a cada MB ser
    codificado utilizando diferentes factores de
    escala Q de cuantificación.
  • Este factor es variado por el codificador, entre
    31 niveles (desde 1 a 31) acorde al estado de
    ocupación del buffer de salida, para que éste
    pueda ser drenado al caudal constante, sin que se
    quede vacío o se desborde.
  • Hay varios tipos de codificación de los MB para
    un tipo de cuadro determinado
  • De acuerdo con la forma en que se realizó la
    compensación de movimiento, si es que la hubo,
  • Si tienen un nuevo valor de MQUANT para la
    cuantificación
  • O si los bloques van codificados o no,

28
(No Transcript)
29
MPEG 1 Estructura de capasCapa de Bloque
  • Un bloque es una matriz de 8 x 8 valores que
    contienen
  • O bien valores de píxeles del cuadro, tal cual,
    si pertenece a un MB que se decidió que fuese
    Intra-codificado,
  • O bien valores del residuo del movimiento
    compensado si se decidió que fuese
    Inter-codificado.
  • Sobre estos bloques que todavía presentan
    redundancia espacial, se aplicara
  • DCT
  • Cuantificación
  • zig-zag
  • RLE.
  • Hay dos tipos de matrices de cuantificación,
  • una para bloques intra-codificados
  • y otra para bloques inter-codificados estas
    fueron definidas en la capa de secuencia.
  • Estas matrices son diferentes porque
  • los bloques intra contienen valores de la imagen
    (cuantificación con menor precisión acorde a las
    características psicovisuales del ojo humano),
  • mientras que los bloques inter contienen residuos
    de movimiento compensado.

30
MPEG 1 Estructura de capasCapa de Bloque
Bloques Intra
  • El coeficiente DC se cuantifica de forma
    diferente a como lo hacen los coeficientes AC. El
    coeficiente DC es cuantificado dividiéndolo por
    un valor de cuantificación 8 y redondeado después
    al entero mas próximo.
  • Para los coeficientes AC la cuantificación se
    realiza mediante la utilización del coeficiente
    MQUANT y redondeando después al entero mas
    próximo.

31
MPEG 1 Estructura de capasCapa de Bloque
Bloques Intra
  • En los bloques intra, el coeficiente DC se trata
    de manera diferente al resto este coeficiente se
    codifica diferencialmente con respecto al
    coeficiente DC del bloque anterior.
  • Este valor que puede estar en el rango
    -2047,2047, es codificado mediante un par
    tamaño/amplitud donde el tamaño indica una de las
    12 categorías en que se divide el rango, que a su
    vez significa el número de bits necesario para
    codificar la amplitud.
  • El tamaño es codificado mediante código Huffman,
    mientras que la amplitud es la representación
    binaria del valor diferencial.
  • El resto de coeficientes AC se ordenan en zig-zag
    y se aplica la codificación por entropía.

32
MPEG-1 Estructura de capasCapa de bloque Inter
  • Tanto los coeficientes AC como el DC se
    cuantifican de la misma manera utilizando el
    coeficiente MQUANT.
  • Para el caso de los bloques inter, tanto el
    coeficiente DC como los coeficientes AC se
    codifican igual, se ordenan en zig-zag y se les
    aplica Huffman.

33
(No Transcript)
34
MPEG-1 Detalles
  • Cuando se emplea la codificación de entropía,
  • las palabras del código son de longitud variable
    en función de la estructura del vídeo
  • es decir, la velocidad binaria no es constante.
  • Si se pretende que la salida del codificador sea
    un flujo de bits constante, es necesario
    intercalar un buffer, para que el flujo de bits
    se transmita a una velocidad constante, acorde al
    canal que se vaya a utilizar.
  • Para evitar que el buffer se sature o se vacíe,
    mediante un bucle de control se envían datos al
    cuantificador para que éste varíe su MQUANT a
    nivel de Macrobloque.
  • Si la velocidad binaria disminuye
    apreciablemente, la codificación puede hacerse
    mas precisa para aumentarla, lo cual se consigue
    disminuyendo el valor de MQUANT. Si por el
    contrario, el buffer está cerca de su capacidad
    máxima, se dan instrucciones al cuantificador
    para que éste codifique los valores con menor
    precisión, lo cual se consigue aumentando el
    valor MQUANT.

35
MPEG-1 Detalles
  • El descodificador es simplemente el lazo de
    realimentación del codificador, salvo que no
    incorpora el módulo de la estimación del
    movimiento (el mas costoso computacionalmente),
    por no serle necesario.
  • A la salida se sitúa un buffer para reordenar los
    cuadros en el orden de presentación acorde a la
    referencia temporal transportada en el cuadro.
  • Por último hay que hacer notar que el par
    codificador/descodificador es un par asimétrico.
  • El precio del coste del codificador, será mucho
    mas elevado ya que requerirá sistemas basados en
    hardware más potente, mientras que el precio del
    descodificador será asequible para la mayoría del
    público.
  • En aplicaciones VOD o televisión digital, harán
    falta unos pocos codificadores (grandes
    compañías que ofrecen estos servicios), y muchos
    descodificadores de precio asequible (público).
Write a Comment
User Comments (0)
About PowerShow.com