Funcionamiento Del MPEG

of 62 /62
3.3.2 Funcionamiento del MPEG MPEG. MPEG son las siglas de Moving Picture Experts Group (Grupo de expertos en imágenes en movimiento), es un grupo de la ISO y la familia de estándares de compresión y de formatos de archivo de video digital. A finales de los 80 se empezó a notar cierta necesidad en la industria multimedia de conseguir un formato que permitiera grabar pistas de audio y video en formato digital y con una compresión equiparable al formato, ya por entonces utilizado, JPEG para la grabación y compresión de imágenes. En respuesta a esta necesidad, en Mayo de 1988 se realizo la primera reunión del MPEG en Ottawa Canadá, bajo la dirección de ISO (International Estandards Organization) e IEC (international Electrotechnical Communication) con el fin de unificar criterios y desarrollar estándares internacionales de compresión, descompresión, procesamiento y codificación de imágenes animadas y datos de audio. Mediante la fijación de una serie de estándares, el grupo MPEG admitió distintos formatos de compresión por parte de empresas e individuos particulares para ser revisados. El modelo de verificación utilizado explicaba, sencillamente, el funcionamiento del codificador y el decodificador. Tras algunas pruebas, se llegó a los estándares MPEG-1 y MPEG-2 que hoy en día se han convertido en los utilizados genéricamente para audio y video. MPEG-1 fue aprobado en 1992 y facilitaba la codificación de audio en tres capas distintas. MPEG-2, fue anunciado en 1994 como el nuevo estándar de codificación y video que  permitía señales de videos entrelazados, audio en multicanal, Dolby 5.1, codificación

Embed Size (px)

Transcript of Funcionamiento Del MPEG

  • 7/22/2019 Funcionamiento Del MPEG

    1/62

    3.3.2 Funcionamiento del MPEG

    MPEG.

    MPEG son las siglas de Moving Picture Experts Group (Grupo de expertos en

    imgenes en movimiento), es un grupo de la ISO y la familia de estndares de

    compresin y de formatos de archivo de video digital.

    A finales de los 80 se empez a notar cierta necesidad en la industria

    multimedia de conseguir un formato que permitiera grabar pistas de audio y video en

    formato digital y con una compresin equiparable al formato, ya por entoncesutilizado, JPEG para la grabacin y compresin de imgenes.

    En respuesta a esta necesidad, en Mayo de 1988 se realizo la primera reunin

    del MPEG en Ottawa Canad, bajo la direccin de ISO (International Estandards

    Organization) e IEC (international Electrotechnical Communication) con el fin de

    unificar criterios y desarrollar estndares internacionales de compresin,

    descompresin, procesamiento y codificacin de imgenes animadas y datos de

    audio.

    Mediante la fijacin de una serie de estndares, el grupo MPEG admiti

    distintos formatos de compresin por parte de empresas e individuos particulares para

    ser revisados. El modelo de verificacin utilizado explicaba, sencillamente, el

    funcionamiento del codificador y el decodificador.

    Tras algunas pruebas, se lleg a los estndares MPEG-1 y MPEG-2 que hoyen da se han convertido en los utilizados genricamente para audio y video. MPEG-1

    fue aprobado en 1992 y facilitaba la codificacin de audio en tres capas distintas.

    MPEG-2, fue anunciado en 1994 como el nuevo estndar de codificacin y video que

    permita seales de videos entrelazados, audio en multicanal, Dolby 5.1, codificacin

  • 7/22/2019 Funcionamiento Del MPEG

    2/62

    de audio en frecuencias ms bajas (lo que supona an ms compresin que su

    predecesor MPEG-1).

    El formato MPEG es dependiente de la zona geogrfica en la que seautilizado. Por lo tanto, el formato PAL es utilizado en Europa, mientas que

    elNTSC es el formato americano. Sin embargo, existen dispositivos multizona que

    son compatibles con ambosPAL y NTSC. Si el video MPEG que utilizars est en 25

    FPS, debes convertirlo al formato PAL, y si est en 23.976 o 29.976FPS, debers

    utilizar el formato NTSC. La conversin al formato equivocado puede causar

    desincronizacin audio/video u otro tipo de inconvenientes. El video MPEG

    convertido puede ser grabado como un CD de datos normales, pero para poder verlo

    en un DVD de mesa o dispositivo porttil, debe ser grabado con uno de los estndares

    de VCD. La estructura de un VCD es muy distinta a la de un CD de datos comn, por

    lo que se deben utilizar programas especiales para grabar VCD, tales como el Nero.

    La metodologa de compresin MPEG se considera asimtrica ya que el

    codificador es ms complejo que el decodificador. El codificador tiene que ser

    algortmico o adaptativo, mientras que el decodificador es sencillo y lleva acciones

    fijas. Esto se considera una ventaja en aplicaciones tales como la radiodifusin, donde

    el nmero de codificadores costosos y complejos es pequeo, pero el nmero de

    descodificadores simples y de bajo costo es grande. El enfoque de la estandarizacin

    de MPEG es novedoso, porque no es el codificador el que est estandarizado, pero si

    la forma que un decodificador interpreta la cadena de bits. La ventaja de estandarizar

    el decodificador es que a travs del tiempo los algoritmos de codificacin pueden ser

    mejorados, y los decodificadores compatibles pueden seguir funcionando.

    El MPEG utiliza Cdec (codificadores-decodificadores) de compresin con

    bajas prdidas de sonido usando cdecs de transformacin.

    http://www.ecured.cu/index.php/NTSChttp://www.ecured.cu/index.php/PALhttp://www.ecured.cu/index.php/PALhttp://www.ecured.cu/index.php/NTSC
  • 7/22/2019 Funcionamiento Del MPEG

    3/62

    En los cdecs de transformacin con bajas prdidas, las muestras tomadas de

    imagen y sonido son troceadas en pequeos fragmentos y solamente las diferencias

    con estas imgenes reconstruidas y algn extra necesario para llevar a cabo la

    prediccin es almacenado. MPEG solamente normaliza el formato del flujo binario yel descodificador. El codificador no est normalizado en ningn sentido, pero hay

    implementaciones de referencia, para los miembros que producen flujos binarios

    vlidos.

    MPEG-1: VCD, MPEG-2: DVD; MPEG-3: HDTV, MPEG-4: DIVX, XVID.

    MPEG1

    Es el nombre de un grupo de estndares de codificacin de audio y vdeo

    normalizados por el grupo MPEG (Moving Pictures Experts Group). MPEG-1

    vdeo se utiliza en el formatoVideo CD. La calidad de salida con la tasa de

    compresin usual usada en VCD es similar a la de un cassette vdeo VHS domstico.

    Para el audio, el grupo MPEG defini el MPEG-1 audio layer 3 ms conocido

    comoMP3.

    MPEG-1 est conformado por diferentes partes:

    1. Sincronizacin y transmisin simultnea de vdeo y audio.2. Cdec de compresin para seales de vdeo noentrelazadas (progresivas).3. Cdec de compresin para seales de audio con control sobre la tasa de

    compresin. El estndar define tres capas (layers en ingls), o niveles decomplejidad de la codificacin de audio MPEG.

    MP1 o MPEG-1 Parte 3 Capa 1 (MPEG-1 Audio Layer 1). MP2 o MPEG-1 Parte 3 Capa 2 (MPEG-1 Audio Layer 2).

    http://es.wikipedia.org/wiki/MPEGhttp://es.wikipedia.org/wiki/Video_CDhttp://es.wikipedia.org/wiki/VHShttp://es.wikipedia.org/wiki/MP3http://es.wikipedia.org/wiki/C%C3%B3dechttp://es.wikipedia.org/wiki/Entrelazadohttp://es.wikipedia.org/wiki/C%C3%B3dechttp://es.wikipedia.org/wiki/MP2http://es.wikipedia.org/wiki/MP2http://es.wikipedia.org/wiki/C%C3%B3dechttp://es.wikipedia.org/wiki/Entrelazadohttp://es.wikipedia.org/wiki/C%C3%B3dechttp://es.wikipedia.org/wiki/MP3http://es.wikipedia.org/wiki/VHShttp://es.wikipedia.org/wiki/Video_CDhttp://es.wikipedia.org/wiki/MPEG
  • 7/22/2019 Funcionamiento Del MPEG

    4/62

    MP3 o MPEG-1 Parte 3 Capa 3 (MPEG-1 Audio Layer 3).

    4. Procedimientos para verificar la conformidad.5. Software de referencia.

    Est diseado para comprimir VHS de vdeo y CD de audio digital de calidad

    de hasta 1.5 Mbit/s (26:1 y 6:1 relaciones de compresin respectivamente), sin

    prdida de calidad excesiva.

    MPEG-2

    El estndar MPEG-2 es una extensin del estndar MPEG-1. Para una

    imagen de televisin estndar (704 x 576 pixels) y un frame rate (velocidad a la cual

    las imgenes salen en la decodificacin) tpico de 25Hz, MPEG-2 esta diseado para

    proporcionar televisin de alta calidad con un bit rate entre 4-9Mb/s. MPEG-2 fue

    diseado para proporcionar codificacin de vdeo de alta calidad apropiado para

    transmisin sobre redes de computadores. De hecho MPEG-2 es el principal

    protocolo de compresin utilizado sobre conexiones DBS. Este estndar de

    compresin de vdeo y audio es capaz de explotar redundancias espaciales y

    temporales, consiguiendo ratios de compresin de hasta 200:1 y adems siendo capaz

    de codificar una fuente de vdeo y/o audio con casi cualquier nivel de calidad.

    Principios de codificacin

    Una secuencia de vdeo tiene tres tipos de redundancia que un esquema de

    codificacin necesita explotar en orden de conseguir una muy buena compresin:

    Espacial Temporal Psicovisual

    http://es.wikipedia.org/wiki/MP3http://es.wikipedia.org/wiki/MP3
  • 7/22/2019 Funcionamiento Del MPEG

    5/62

    Las redundancias espaciales y temporales ocurren porque los valores de los

    pixels no son completamente independientes si no que estn correlados 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 susvalores pueden ser predichos en cierta medida. Por otra parte, la redundancia

    psicovisual tiene que ver con las limitaciones fsicas 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 rpidos. Por tanto, el proceso de

    codificacin puede ser capaz de minimizar el bit-rate mientras se mantiene constante

    la calidad a la que le ojo humano ve la imagen decodificada.

    El sistema de compresin MPEG-2 (al igual que MPEG-1) utiliza la

    Transformada Discreta del Coseno (DCT) y codificacin entrpica para transformar

    un bloque de pixels en cdigos de longitud variable (VLC). Los bloques son la

    mnima unidad de codificacin en el algoritmo MPEG.

    Estn compuestos de pixels de 8x8 y pueden ser de tres tipos: luminancia (Y),

    componente rojo de la crominancia Cr y el componente azul de la crominancia Cb.

    Mediante la DCT los bloques adquieren la forma de VLC, que no son ms que la

    representacin de de los coeficientes cuantificados de la DCT.

    Los codificadores MPEG-2 producen tres tipos de de imgenes: intra-frame (o

    imgenes I), imgenes interframe causales (o imgenes P) e

    imgenes interframbidireccionales (o imgenes B). La relacin entre estos tres tipos

    de tramas se puede ver en la siguiente figura:

  • 7/22/2019 Funcionamiento Del MPEG

    6/62

    Las imgenes I: Se codifican como si fuesen imgenes fijas utilizando la

    norma JPEG, por tanto, para decodificar una imagen de este tipo no hacen falta otras

    imgenes de la secuencia, sino slo ella misma. No se considera la redundancia

    temporal (compresin intraframe). Se consigue una moderada compresin explotando

    nicamente la redundancia espacial. Una imagen I siempre es un punto de acceso en

    el flujo de bits de vdeo. Son las imgenes ms grandes.

    Las imgenes P: Estn codificadas como prediccin de de la imagen I P

    anterior usando un mecanismo de compensacin de movimiento. Para decodificar una

    imagen de este tipo se necesita, adems de ella misma, la I P anterior. El proceso de

    codificacin aqu explota tanto la redundancia espacial como la temporal.

    Las imgenes B: Se codifican utilizando la I P anterior y la I P siguiente

    como referencia para la compensacin y estimacin de movimiento. Para

    decodificarlas hacen falta, adems de ellas mismas, la I P anterior y la I P

    siguiente. Estas imgenes consiguen los niveles de compresin ms elevados y por

    tanto son las ms pequeas.

    Existen otro tipo de imgenes llamadas imgenes intraframe de baja

    resolucin (o imgenes D) que son de las mismas caractersticas que las I pero con

    menos resolucin. Se usan en aplicaciones que no necesitan gran calidad, como el

    avance rpido.

  • 7/22/2019 Funcionamiento Del MPEG

    7/62

    Las imgenes desde una imagen I hasta la siguiente forman un grupo

    de imgenes (GOP). Los componentes de un GOP estn dibujados en la siguiente

    figura:

    Las imgenes son generadas por el codificador MPEG-2 generando en primer

    lugar los bloques 8x8, de luminancia o crominancia. Los bloques de luminancia secombinan en grupos de cuatro, los cuales, cuando se combinan con la informacin

    asociada de crominancia para la correspondiente regin de la imagen forman

    macrobloques, que son de 16x16 pixels.

    Los macrobloques adyacentes son agrupados en un slice. Una imagen est

    compuesta por un nmero de slices precedidos por una cabecera de imagen. De igual

    forma, un slice est compuesto de un nmero de macrobloques precedidos de una

    cabecera de slice. Cada macrobloque tambin comienza con una cabecera, que

    contiene informacin de la ubicacin del macrobloque MB adress, y vectores de

    movimiento utilizados en prediccin con compensacin de movimiento. En el primer

    macrobloque de cada slice, el MB adress y el vector de movimiento son codificados

  • 7/22/2019 Funcionamiento Del MPEG

    8/62

    absolutamente. En cada uno de los restantes macrobloques del slice, estos pares

    metros son codificados diferencialmente con respecto a los correspondientes valores

    del macrobloque inmediatamente anterior.

    El nivel de sistema de MPEG-2 (Systems Layer) describe un mtodo estndar

    para multiplexar y demultiplexar secuencias de media (audio, vdeo y secuencias de

    datos) y un mecanismo, que utilizando sellos temporales consigue mantener una

    sincronizacin entre varias secuencias dentro de la red.

    El nivel de sistema de MPEG-2 permite que varias secuencias de audio y

    vdeo se combinen para formar una nica secuencia de salida. El MPEG Systems

    Layer puede adquirir dos formas:

    Secuencia de Programa (PS: Program stream): Esta basado en la estructura de

    multiplexacin establecida por el MPEG-1 y pretende que se utilice para un canal de

    vdeo, y audio y datos asociados. Est optimizado para su uso en aplicaciones de

    multimedia y es compatible con MPEG-1.

    Secuencia de Transporte (TS: Transport Stream): Este tipo de multiplexacin

    es nuevo del MPEG-2. Consiste en pequeos paquetes de transporte de longitud fija,

    cada uno de exactamente 188 bytes de tamao con 4 bytes de informacin de

    cabecera. El TS est pensado para el transporte de media donde los errores o

    prdidas de bits son ms frecuentes. Puede soportar multiples programas ejecutados

    simultneamente.

    Con el fin de generar cualquiera de las dos multiplexaciones, una secuencia devdeo se fragmenta en una cadena de imgenes codificadas, denominadas unidades de

    acceso. Una unidad de acceso de MPEG representa una imagen I, P B codificada y

    es variable en tamao, dependiendo del nivel de compresin conseguido para la

    imagen. Una sucesin de unidades de acceso de vdeo de longitud variable se

  • 7/22/2019 Funcionamiento Del MPEG

    9/62

    denomina secuencia elemental de vdeo. La secuencia elemental de vdeo se convierte

    en una secuencia elemental de paquetes (PES: Packetized Elementary Stream)

    agrupando datos sucesivos de un nmero de secuencias elementales formando la

    carga til de una cadena de paquetes. Se aade adems una cabecera a cada paquete.Los PES pueden ser de cualquier tamao hasta 64 KB. Las secuencias de PES pueden

    almacenarse o transmitirse tal como son, aunque habitualmente son convertidas en

    secuencias de transporte o secuencias de programa.

    En redes hbridas se utiliza por norma general la secuencia de transporte. Los

    paquetes de PES se cargan en los paquetes de transporte de forma que el primer byte

    de un paquete PES es el primer byte de carga til del paquete de transporte y que un

    nico paquete de transporte puede llevar datos de un PES.

    La secuencia de transporte proporciona las siguientes funciones:

    Multiplex orientado a paquetes: Proporciona la capacidad de multiplexar

    varias secuencias de entrada (p.ej. audio, vdeo, o datos privados) en un nico canal

    de salida.

    Silenciador de errores: Proporciona ciertas caractersticas que asisten al

    decodificador que recibe datos errneos que haban sido introducidos en la

    transmisin o en el almacenamiento.

    Sincronizacin: Se consigue utilizando sellos temporales que pueden ser

    utilizados para la gestin del buffer y para la sincronizacin entre secuencias.

    Sincronizacin entre secuencias elementales

    En el receptor, un demultiplexador separa los paquetes de una secuencia de

    transporte o de una secuencia de programa en las secuencias elementales. Las

  • 7/22/2019 Funcionamiento Del MPEG

    10/62

    unidades de acceso de cada secuencia elemental son almacenadas en unos buffers

    FIFO esperando a ser decodificadas. Se usan sellos temporales cuando un

    decodificador debe decodificar una unidad de acceso en particular.

    Existe un reloj muy preciso tanto en el multiplexador como en el receptor. Los

    sellos temporales son insertados en las unidades de acceso en el multiplexador y

    especifican el tiempo exacto en el cual la unidad de acceso ser decodificada en el

    receptor. Por lo tanto, el multiplexador crear sellos temporales basados en el tiempo

    actual ms un pequeo offset que permitaun determinado retardo en la transmisin.

    Dos sellos temporales, el sello presentation video-conferencingtime

    stamp (PTS) y el decoder time stamp (DTS), estn incluidos en la cabecera del

    paquete de PES. stos indican al decodificador cuando mostrar la informacin

    decodificada al usuario y cuando decodificar la informacin de los buffers de

    decodificacin, respectivamente. Los relojes entre el codificador y el decodificador

    deben estar tambin sincronizados. Esta tarea se lleva a cabo a travs de la utilizacin

    de referencias del reloj de programa (PCR: Program Clock References). Un PCR

    puede ser insertado en un paquete de TS (de transporte) en un campo justo despus de

    su cabecera. Los PCRs son insertados en intervalos regulares para mantener la

    sincronizacin entre el codificador y el decodificador.

  • 7/22/2019 Funcionamiento Del MPEG

    11/62

    3.4 Aplicaciones MPEG-2

    3.4.1 Diferencia entre MPEG-1/ MPEG-2/ MPEG-3

    DIFERENCIAS SEMEJANZAS CARACTERISTICAS

    MPEG1 -MPEG2 MAYOR

    CALIDAD, CON

    MAYOR ANCHO

    DE BANDA

    -MPEG2 Y

    MPGE4 SON

    APROPIADOS

    PARA VIDEOS Y

    MPGE1 Y

    MPEG3 PARAAUDIO

    -COMPRESORES

    DE IMAGENES

    -SINTONIZACION

    AUTOMATICA

    DIGITAL

    MPEG2 -MPEG3

    PROPUESTA

    ESTANDAR

    PARA LA TV DE

    ALTA

    RESOLUCION

    MPEG3 -MPEG4 MUY

    BAJO ANCHO DE

    BANDA Y

    RESOLUCION

    MPEG4 -MPEG1

    INTRODUCIR

    VIDEO EN UN

    CD-ROM

  • 7/22/2019 Funcionamiento Del MPEG

    12/62

  • 7/22/2019 Funcionamiento Del MPEG

    13/62

    3.4.2 Estimacin y compensacin de movimiento.

    Estimacin De Movimiento

    Estimacin de movimiento es el proceso a partir del cual se obtienen

    los vectores de movimiento (VM) de cada macro bloque (MB) de la imagen a

    codificar respeto una (o ms) imgenes de referencia. La estimacin de movimiento

    es una parte muy importante del proceso de codificacin de vdeo y se utiliza en

    estndares y cdecs tan populares como la familia deMPEGs (MPEG-1,MPEG-

    2,MPEG-4), el ltimoH.264/MPEG-4 AVC.

    La codificacin de vdeo trata de representar secuencias de imgenes con el

    menor nmero de bits posible. Por eso, los mtodos de codificacin de vdeo aplican

    tanto codificacin Intraimagen como Interimagen. Con el primer tipo se intenta

    eliminar la redundancia espacial dentro de cada cuadro (frame), mientras que con la

    codificacin Inter explotamos la redundancia temporal de la secuencia a codificar. La

    estimacin y compensacin de movimiento son los mtodos que permiten este tipo de

    codificacin.

    La imagen se divide en bloques (a menudo cuadrados de unos cuntos pxeles,

    por ejemplo 4x4) y estos se agrupan formando MB (macro bloque). Cmo hemos

    dicho la estimacin de movimiento nos permite obtener los VM (vectores de

    movimiento) de cada MB. La aplicacin de estos vectores por crear la nueva imagen

    (imagen compensada) se denominacompensacin de movimiento que, junto con el

    clculo de la imagen error entre la imagen compensada y la imagen original que

    queremos codificar, es el que, en la gran mayora de cdecs, se enva aldecodificador.

    La estimacin de movimiento es un proceso con una alta complejidad de

    clculo y a menudo representa 2/3 del coste computacional en la codificacin de

    http://es.wikipedia.org/wiki/MPEGhttp://es.wikipedia.org/wiki/MPEGhttp://es.wikipedia.org/wiki/MPEG-1http://es.wikipedia.org/wiki/MPEG-1http://es.wikipedia.org/wiki/MPEG-2http://es.wikipedia.org/wiki/MPEG-2http://es.wikipedia.org/wiki/MPEG-4http://es.wikipedia.org/wiki/H.264/MPEG-4_AVChttp://es.wikipedia.org/wiki/Compensaci%C3%B3n_de_movimientohttp://es.wikipedia.org/wiki/Compensaci%C3%B3n_de_movimientohttp://es.wikipedia.org/wiki/H.264/MPEG-4_AVChttp://es.wikipedia.org/wiki/MPEG-4http://es.wikipedia.org/wiki/MPEG-2http://es.wikipedia.org/wiki/MPEG-2http://es.wikipedia.org/wiki/MPEG-1http://es.wikipedia.org/wiki/MPEG
  • 7/22/2019 Funcionamiento Del MPEG

    14/62

    vdeo. Como siempre, nos encontraremos con un compromiso de Rate-distorsion,

    es decir tiempo de procesado y medida fichero respecto calidad del vdeo

    comprimido. Esto hace que, actualmente, muchas de las investigaciones dentro el

    campo de la codificacin de vdeo se centre en buscar algoritmos que puedan realizarms eficientemente la estimacin de movimiento.

    Compensacin De Movimiento

    La compensacin de movimiento es una tcnica manejada en

    lacodificacin de vdeo, su principal objetivo consiste en eliminar la redundancia

    temporal existente entre las imgenes que componen una secuencia, con el fin de

    aumentar lacompresin.

    El proceso se basa en unalgoritmo que examina la sucesin de fotogramas

    consecutivos, generalmente muy similares entre s, para analizar y estimar el

    movimiento entre los dos. Si el sistema detecta que una regin de la imagen ya ha

    aparecido anteriormente, codifica la posicin que ocupa en el fotograma actual en

    lugar de volver a codificar toda la regin. De este modo, la prediccin de la imagen

    actual vendr dada por la compensacin de movimiento basndose en las imgenes

    anteriores.

    Codificador basado en deteccin de movimiento

    Hay varias tcnicas para eliminar la redundancia temporal en una secuencia de

    imgenes, pero la mayora acta bajo el siguiente esquema:

    Cada imagen se divide en bloques, generalmente de 8 x 8 o de 16 x 16pxeles.

    Por cada bloque de la imagen, se genera una prediccin, buscando donde seencontraban estos bloques en la imagen anterior (compensacin de

    movimiento).

    http://es.wikipedia.org/w/index.php?title=Rate-distorsion&action=edit&redlink=1http://es.wikipedia.org/wiki/Codificaci%C3%B3n_digitalhttp://es.wikipedia.org/wiki/Compresi%C3%B3n_de_datoshttp://es.wikipedia.org/wiki/Algoritmohttp://es.wikipedia.org/wiki/Algoritmohttp://es.wikipedia.org/wiki/Compresi%C3%B3n_de_datoshttp://es.wikipedia.org/wiki/Codificaci%C3%B3n_digitalhttp://es.wikipedia.org/w/index.php?title=Rate-distorsion&action=edit&redlink=1
  • 7/22/2019 Funcionamiento Del MPEG

    15/62

    Se resta la prediccin al bloque de la imagen actual. Se aplica unaDCT a la diferencia entre la prediccin y el bloque actual. Se cuantifican los coeficientes DCT, eliminando las componentes de altas

    frecuencias y se codifican en un cdigo, generalmente no-uniforme.

    En caso de que no hubiera fotograma previo o hubiera mucha diferencia, secodifica el bloque de nuevo en lugar de la diferencia de la prediccin.

    Normalmente los bloques se agrupan en macrobloques MB para reducir el

    coste computacional: bloques ms grandes significa que hay menos bloques a prever.

    Realmente la prediccin (compensacin de movimiento) se realiza sobre losmacrobloques: se calcula el vector de movimiento de cada elemento dentro del

    macrobloque. As, para cada fotograma se guardan:

    El resultado de aplicar la DCT y la cuantificacin a cada bloque diferencia. Los vectores de movimiento de los elementos de dentro los macrobloques. Se aplica un filtro a la DCT para eliminar las componentes de alta frecuencia

    y aumentar la compresin.

    Tratamiento de los fotogramas

    La compresin anterior se puede aplicar a los fotogramas de dos maneras:

    Compresin intrafotograma: La DCT se aplica a bloques de la imagenoriginal pero no se hace ninguna prediccin sobre el movimiento (la

    compresin es similar a las imgenesJPEG). Se denominan fotogramas I.

    Esta compresin es til si la compensacin de movimiento no proporciona

    una buena prediccin.

    http://es.wikipedia.org/wiki/DCThttp://es.wikipedia.org/wiki/JPEGhttp://es.wikipedia.org/wiki/JPEGhttp://es.wikipedia.org/wiki/DCT
  • 7/22/2019 Funcionamiento Del MPEG

    16/62

    Compresin no-intrafotograma: La DCT se aplica a los bloques de laimagen diferencia y se calcula la prediccin de movimiento. Se generarn dos

    tipos de fotogramas: los P y los B.

    Acceso a una secuencia de imgenes

    Si slo se codificaran las predicciones, no se podra tener un acceso aleatorio

    puesto que para acceder a una determinada imagen hara falta calcular las

    predicciones de todas las anteriores. Por otro lado un error en un fotograma se

    propagara a todos los posteriores. Por eso se combinan tres tipos de fotogramas en la

    secuencia:

    Fotogramas I (intra): Se codifican aisladamente, sin referencia a otros

    fotogramas, como si fueran imgenes estticas. Sirven por permitir un acceso

    aleatorio e impedir la propagacin de errores.

    Fotogramas P (predictivos):Se codifican aplicando compensacin de movimiento

    al ltimo fotograma I o P (el que sea ms reciente). Los fotogramas I y P se

    denominan fotogramas de anclaje.

    Fotogramas B (bidireccionalmente predictivos): Se codifican aplicando

    compensacin de movimiento a los dos fotogramas de anclaje ms recientes en el

    pasado y en el futuro. Con la prediccin bidireccional se suele conseguir una mejor

    relacin de compresin que con predicciones basadas slo en el pasado: es posible

    que un bloque del fotograma actual no aparezca en un fotograma pasado pero s en

    uno de futuro. Slo se pueden crear despus de que se hayan creado los fotogramas I

    y P. Tambin toleran ms error porque no se usan para hacer otras predicciones.

  • 7/22/2019 Funcionamiento Del MPEG

    17/62

    Agrupacin de fotogramas: GOP

    Generalmente los fotogramas se agrupan en un Grupo de Fotogramas o GOP

    (Group Of Pictures). Se trata de la unidad de acceso aleatorio ms pequea. Un GOPest 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 codificadorpuede cambiarlo dinmicamente. En el caso de detectar un cambio de escena, forzar

    un fotograma I que dar inicio a un nuevo *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 visualizacin, 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 visualizacin

    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

    Orden de bitstream

    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

  • 7/22/2019 Funcionamiento Del MPEG

    18/62

    Backward vs. Forward

    Es importante diferenciar entre estimacin / compensacin

    Backward y estimacin / compensacin Forward, as como entender porque losmtodos de compresin de vdeo usan el primer caso. Esta clasificacin diferencia en

    cul de las dos imgenes (referencia y a codificar) se definen los MB de los cuales

    queremos buscar los vectores de movimiento que les corresponden.

    Hablaremos de estimacin Forward s definimos los MB en la imagen

    referencia. Calculamos los VM a partir de la imagen referencia. Para cada MB de la

    imagen referencia buscamos dnde ha ido a parar en la imagen actual (a codificar) y,

    a partir de la nueva posicin, extraemos los VM. Puede que algunos MB, o pxeles,

    de la imagen referencia no aparezcan en la original y que por lo tanto identificamos

    una misma zona de la imagen a codificar como la ms parecida a ms de un MB de la

    imagen referencia (1). Por generar la imagen compensada cogeremos cada MB de la

    de referencia y lo colocaremos en la nueva posicin que le corresponde segn los VM

    que hemos calculado. Si nos encontramos con (1) algunos pxeles de la imagen

    compensada se sobrescribirn y otros quedarn sin definir generando agujeros. Este

    problema no pasa si aplicamos estimacin Backward, que define los MB en la imagen

    a codificar y busca dnde se encontraban (o se encontrarn) en la de referencia.

    Calculamos los VM a partir imagen actual. De esta manera, para llenar cada MB de la

    imagen compensada iremos a buscar dnde se encontraba en la imagen de referencia

    y copiaremos todos los pxeles. Aqu lo nico que hacemos es llenar MB segn los

    VM que hemos encontrado y por lo tanto no habr ningn pxel sin definir. Es por

    esta razn que los estndares de codificacin de vdeo utilizan la estimacin

    Backward en lugar de la Forward.

  • 7/22/2019 Funcionamiento Del MPEG

    19/62

    Esquema representativo estimacin/compensacin fordward.

    Esquema representativo estimacin/compensacin backward.

    3.4.3 Transformada PCT

    Codificacin por transformada: Las tcnicas de codificacin por

    transformada, transforman la informacin a otro dominio donde los datos estn

    mucho ms descorrelados que en el dominio espacial, y la informacin se acumula en

    un pequeo nmero de muestras. E un mtodo que se utiliza para reducir la

    redundancia espacial de las imgenes. Para ello se transforma la imagen a otrodominio, en el cual, slo unos pocos de los coeficientes contengan la mayor parte de

    la informacin, y los otros coeficientes tengan valores despreciables. En el nuevo

    dominio, la imagen tendr u a representacin mucho ms compacta, y podr ser

    representada bsicamente por unos pocos coeficientes de la transformada. Las

  • 7/22/2019 Funcionamiento Del MPEG

    20/62

    transformadas rpidas ms comunes que son utilizadas para realizar esta

    transformacin y que representa un buen comportamiento de compactacin son, la

    transformacin de Karhunen loeve (KLT), transformada de Fourier Discreta (DFT),

    transformada discreta de coseno (DCT), y transformada de Walsh Hadamard, entreotras.

    Transformada DCT: Elegida por la mayora de los estndar establecidos ya

    que contiene coeficientes reales solamente, es una transformada rpida, y tiene una

    excelente compactacin de la energa y des-correlacin de los datos entre otras

    propiedades.

    Es una transformada basada en la Transformada de Fourier discreta, pero

    utilizando nicamente nmeros reales.

    La Transformada de coseno discreto expresa una secuencia finita de varios

    puntos como resultado de la suma de distintas seales sinusoidales (con distintas

    frecuencias y amplitudes). Como la [Transformada Discreta de Fourier] (DFT) la

    DCT trabaja con una serie de nmeros finitos, pero mientras la DCT solo trabaja con

    cosenos la DFT lo hace con exponenciales complejas.

    http://es.wikipedia.org/wiki/Transformada_de_Fourier_discretahttp://es.wikipedia.org/wiki/Transformada_de_Fourier_discreta
  • 7/22/2019 Funcionamiento Del MPEG

    21/62

    Concentracin de energa de una DCT-II bidimensional comparada con una

    DFT.

    Formalmente la transformada de coseno discreta es unafuncinlineal e

    invertible del dominioreal RNal dominio real RN, que tambin se puede entender de

    forma equivalente a unamatriz de NxN posiciones.Tambin existe la DCT multidimensional, que se puede considerar como la

    multiplicacin separable de varias DCT. Por ejemplo la DCT de dos dimensiones es

    una transformada normal calculada por cada fila y columna.

    Caractersticas tiles para la compresin de imgenes.

    La DCT tiene una buena capacidad de compactacin de la energa al dominiotransformado, es decir, que la transformada de coseno discreta consigue

    concentrar la mayor parte de la informacin en pocos coeficientes

    transformados tal y como muestra la imagen.

    http://es.wikipedia.org/wiki/Funci%C3%B3n_matem%C3%A1ticahttp://es.wikipedia.org/wiki/Forma_linealhttp://es.wikipedia.org/wiki/Numeros_realeshttp://es.wikipedia.org/wiki/Matriz_(matem%C3%A1tica)http://commons.wikimedia.org/wiki/File:Dandelion_clock_quarter_dft_dct.pnghttp://es.wikipedia.org/wiki/Matriz_(matem%C3%A1tica)http://es.wikipedia.org/wiki/Numeros_realeshttp://es.wikipedia.org/wiki/Forma_linealhttp://es.wikipedia.org/wiki/Funci%C3%B3n_matem%C3%A1tica
  • 7/22/2019 Funcionamiento Del MPEG

    22/62

    La transformacin es independiente de los datos. Elalgoritmo aplicado novara con los datos que recibe, como si sucede en otros algoritmos de

    compresin.

    Hay frmulas para el clculo rpido del algoritmo, como podra serlaFFTpara laDFT.

    Produce pocos errores en los lmites de los bloques imagen. La minimizacinde los errores a los bloques imagen permite reducir el efecto de bloque en la

    imgenes reconstruidas.

    Tiene una interpretacin frecuencial de los componentes transformados. Lacapacidad de interpretar los coeficientes en el punto de vista frecuencial

    permite aprovechar al mximo la capacidad de compresin.

    Definicin Formal

    Formalmente, la transformada de coseno discreta es una funcin lineal

    invertible de RNen RN o equivalente una NxN matriz cuadrada. Las variantes ms

    usadas son la DCT-I y la DCT-II. La DCT-III se conoce popularmente como la IDCT

    (transformada inversa). Cada una de estas posibles variaciones es debida a la

    periodicidad y el tipo de simetra aplicada a las muestras originales.

    DCT-I

    DCT-II

    http://es.wikipedia.org/wiki/Algoritmohttp://es.wikipedia.org/wiki/Transformada_r%C3%A1pida_de_Fourierhttp://es.wikipedia.org/wiki/Transformada_de_Fourier_discretahttp://es.wikipedia.org/wiki/Transformada_de_Fourier_discretahttp://es.wikipedia.org/wiki/Transformada_r%C3%A1pida_de_Fourierhttp://es.wikipedia.org/wiki/Algoritmo
  • 7/22/2019 Funcionamiento Del MPEG

    23/62

    DCT-III

    DCT-IV

    Un codificador basado en DCT, realizar un cambio de dominios, realizando

    una transformacin bidimensional DCT a un bloque de imagen 8 x 8 pixels. Una

    DCT bidimensional se obtiene haciendo una DCT unidimensional tanto en las filas

    como en las columnas de la matriz.

    Una DCT bidimensional, se multiplica cada pixel del bloque de entrada por

    trminos que representan ondas coseno muestreadas de varias frecuencias espaciales.

    Se obtiene un determinado coeficiente de la DCT cuando se suma el resultado de

    multiplicar cada pixel de entra del bloque. La DCT es separable, en el sentido de que

    la DCT bidimensional puede obtenerse efectuando separadamente la computacin en

    cada dimensin. Un problema que surge con esta transformada es que est basada en

    el coseno, que es una funcin trascendente. Para calcular la transformada con

    absoluta precisin se necesita un nmero finito de operaciones. Se hace entonces

    necesario truncar la serie, y se debe indicar un mtodo que asegure la precisin de la

    transformada al calcularla. Por esta razn, se puede introducir errores (de valor

  • 7/22/2019 Funcionamiento Del MPEG

    24/62

    despreciable) en la aplicacin de la DCT e ICDT, que haga que el resultado de la

    IDCT sea ligeramente diferente al valor original antes de aplicar la DCT.

    La matriz resultante de la DCT est formada por valores que dividen loscolores de la imagen en frecuencias que van desde la ms baja, que representan los

    elementos ms sensitivos para el ojo humano (cambios lentos), en la esquina superior

    izquierda, a la ms alta, que representan reas menos sensitivas para el ojo (cambios

    rpidos), en la esquina inferior derecha. Puesto que las frecuencias ms comunes de

    una imagen son las componentes de baja frecuencia, el valor de la esquina superior

    izquierda indica el valor del color dominante, que corresponde a la componente de

    continua (DC) del bloque, que en el caso de la luminancia, tendr un valor unipolar

    (solamente positivo), siendo por definicin el doble de la media de os 64 pixels.

  • 7/22/2019 Funcionamiento Del MPEG

    25/62

    3.4.4 Cuantificacin

    MPEG-1 utiliza slo dos matrices de cuantificacin para los coeficientes

    DCT, una para bloques intra y otra para bloques inter. En MPEG-1, las matrices de

    cuantificacin slo pueden ser cambiadas en el nivel de cuadro. Para los formatos

    4:2:2 y 4:4:4, el Mpeg-2 permite una codificacin ms eficiente debido al uso de

    diferentes matices de cuantificacin para las componentes de luminancia y

    crominancia. De este modo se pueden utilizar dos matrices para la componente de

    luminancia (una para bloques intra y otra para bloques inter) y otras dos para las

    componentes de crominancia. La cuantificacin de los coeficientes AC es igual a

    como lo hace el MPEG-1. Tanto en MPEG-1 como en MPEG-2, el factor de escala Q

  • 7/22/2019 Funcionamiento Del MPEG

    26/62

    (o MQUANT) puede ser cambiado a nivel de macrobloque, para obtener un caudal

    constante de bits a la salida del codificador.

    3.4.5 Codificacin RLE y FUMAN

    Run Length Encoding (RLE)

    La compresin RLE o Run-length encoding es una forma muy simple

    decompresin de datos en la que secuencias de datos con el mismo valor

    consecutivas son almacenadas como un nico valor ms su recuento. Esto es ms til

    en datos que contienen muchas de estas "secuencias"; por ejemplo, grficos sencillos

    con reas de color plano, comoiconos ylogotipos.

    Por ejemplo, considera una pantalla que contiene texto en negro sobre un

    fondo blanco. Habra muchas secuencias de este tipo con pxeles blancos en los

    mrgenes vacos, y otras secuencias de pxeles negros en la zona del texto.

    Supongamos una nica lnea (oscanline), con N representando las zonas en negro y B

    las de blanco:

    Si aplicamos la codificacin run-length a esta lnea, obtendramos lo

    siguiente:

    Interpretado esto como 12 letras B, 1 letra N, 12 letras B, 3 letras N, etc. El

    cdigo run-length representa el original de 67 caracteres en tan slo 16. Esto quiere

    decir que la lnea original pesa 67bytes y la cadena codificada pesa slo 16 bytes.

    Esta codificacin traducida abinario, cuyo principio es el mismo, se utiliza para el

    BBBBBBBBBBBBNBBBBBBBBBBBBNNNBBBBBBBBBBBBBBBBBBBBBBBBNBBBBBBBBBBBBBB

    12B1N12B3N24B1N14B

    http://es.wikipedia.org/wiki/Compresi%C3%B3n_de_datoshttp://es.wikipedia.org/wiki/Iconohttp://es.wikipedia.org/wiki/Logotipohttp://es.wikipedia.org/w/index.php?title=Scanline&action=edit&redlink=1http://es.wikipedia.org/wiki/Bytehttp://es.wikipedia.org/wiki/Binariohttp://es.wikipedia.org/wiki/Binariohttp://es.wikipedia.org/wiki/Bytehttp://es.wikipedia.org/w/index.php?title=Scanline&action=edit&redlink=1http://es.wikipedia.org/wiki/Logotipohttp://es.wikipedia.org/wiki/Iconohttp://es.wikipedia.org/wiki/Compresi%C3%B3n_de_datos
  • 7/22/2019 Funcionamiento Del MPEG

    27/62

    almacenamiento de imgenes. Incluso ficheros de datos binarios pueden ser

    comprimidos utilizando este mtodo. El primer byte contiene un nmero que

    representa el nmero de veces que el carcter est repetido. El segundo byte contiene

    al propio carcter. En otros casos se codifican en un solo byte: 1 bit (0 o 1) y 7 bitspara especificar el nmero de caracteres consecutivos.

    La codificacin run-length realiza unacompresin de datos sin prdidas y es

    muy utilizado en imgenes de 8 bits indexadas (en un principio fue utilizado para

    imgenes en blanco y negro). No funciona tan bien en imgenes donde vara

    constantemente el color de los pixels como fotografas, aunqueJPEG lo utiliza de

    forma efectiva en los coeficientes que quedan despus de transformar y cuantificar

    bloques de imgenes. Posteriormente ha formado la base de otros sistemas de

    compresin como por ejemplo elCCITT grupo 31D.

    En realidad, la compresin RLE est regida por reglas particulares que

    permiten que se ejecute la compresin cuando sea necesario y que se deje la cadena

    como est cuando la compresin genere prdida. Las reglas son las siguientes:

    Si se repiten tres o ms elementos consecutivamente, se utiliza el mtodo decompresin RLE.

    De lo contrario, se inserta un carcter de control (00) seguido del nmero deelementos de la cadena no comprimida y despus la ltima.

    Si el nmero de elementos de la cadena es extrao, se agrega el carcter decontrol (00) al final.

    Finalmente, se definen los caracteres de control especficos segn el cdigo:

    Un final de lnea (00 01) El final de la imagen (00 00) Un desplazamiento de puntero sobre la imagen de XX columnas e YY

    filas en la direccin de lectura (00 02 XX YY).

    http://es.wikipedia.org/wiki/Algoritmo_de_compresi%C3%B3n_sin_p%C3%A9rdidahttp://es.wikipedia.org/wiki/JPEGhttp://es.wikipedia.org/w/index.php?title=CCITT_grupo_3_%E2%80%93_1D&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=CCITT_grupo_3_%E2%80%93_1D&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=CCITT_grupo_3_%E2%80%93_1D&action=edit&redlink=1http://es.wikipedia.org/w/index.php?title=CCITT_grupo_3_%E2%80%93_1D&action=edit&redlink=1http://es.wikipedia.org/wiki/JPEGhttp://es.wikipedia.org/wiki/Algoritmo_de_compresi%C3%B3n_sin_p%C3%A9rdida
  • 7/22/2019 Funcionamiento Del MPEG

    28/62

    Por lo tanto, no tiene sentido utilizar la compresin RLE excepto para datos

    con diversos elementos repetidos de forma consecutiva, en imgenes particulares con

    reas grandes y uniformes. Sin embargo, la ventaja de este mtodo es que es de fcil

    implementacin. Existen alternativas en las que la imagen est codificada en bloquesde pxeles, en filas o incluso en zigzag.

    Codificacin Huffman

    El algoritmo de Huffman es un algoritmo para la construccin de cdigos de

    Huffmann, desarrollado por David A. Huffmann en 1952 y descrito en A Method for

    the Construction of Minimum-Redundancy Codes.

    Este algoritmo toma un alfabeto de n smbolos, junto con sus frecuencias de

    aparicin asociadas, y produce un cdigo de Huffman para ese alfabeto y esas

    frecuencias.

    Descripcin:

    El algoritmo consiste en la creacin de un rbol binario que tiene cada uno de

    los smbolos por hoja, y construido de tal forma que siguindolo desde la raz a cada

    una de sus hojas se obtiene el cdigo Huffman asociado.

  • 7/22/2019 Funcionamiento Del MPEG

    29/62

    Se crean varios rboles, uno por cada uno de los smbolos del alfabeto,consistiendo cada uno de los rboles en un nodo sin hijos, y etiquetado cada

    uno con su smbolo asociado y su frecuencia de aparicin.

    Se toman los dos rboles de menor frecuencia, y se unen creando un nuevorbol. La etiqueta de la raz ser la suma de las frecuencias de las races de los

    dos rboles que se unen, y cada uno de estos rboles ser un hijo del nuevo

    rbol. Tambin se etiquetan las dos ramas del nuevo rbol: con un 0 la de la

    izquierda, y con un 1 la de la derecha.

    Se repite el paso 2 hasta que slo quede un rbol.

    Con este rbol se puede conocer el cdigo asociado a un smbolo, as como

    obtener el smbolo asociado a un determinado cdigo.

    Para obtener el cdigo asociado a un smbolo se debe proceder del siguiente

    modo:

    1. Comenzar con un cdigo vaco.2. Iniciar el recorrido del rbol en la hoja asociada al smbolo.3. Comenzar un recorrido del rbol hacia arriba.4. Cada vez que se suba un nivel, aadir al cdigo la etiqueta de la rama que se

    ha recorrido.

    5. Tras llegar a la raz, invertir el cdigo.6. El resultado es el cdigo Huffman deseado.

    Para obtener un smbolo a partir de un cdigo se debe hacer as:

    1. Comenzar el recorrido del rbol en la raz de ste.2. Extraer el primer smbolo del cdigo a descodificar.

  • 7/22/2019 Funcionamiento Del MPEG

    30/62

    3. Descender por la rama etiquetada con ese smbolo4. Volver al paso 2 hastaque se llegue a una hoja, que ser el smbolo asociado al cdigo.

    En la prctica, casi siempre se utiliza el rbol para obtener todos los cdigosde una sola vez; luego se guardan en tablas y se descarta el rbol.

    Ejemplo de uso:

    La tabla describe el alfabeto a codificar, junto con las frecuencias de sus

    smbolos. En el grfico se muestra el rbol construido a partir de este alfabeto

    siguiendo el algoritmo descrito.

    rbol para construir el cdigo Huffman del ejemplo

    Smbolo Frecuencia A0, 15 B0, 30 C0, 20 D0, 05 E0, 15 F0, 05 G0, 10.

  • 7/22/2019 Funcionamiento Del MPEG

    31/62

    Se puede ver con facilidad cul es el cdigo del smbolo E: subiendo por el

    rbol se recorren ramas etiquetadas con 1, 1 y 0; por lo tanto, el cdigo es 011. Para

    obtener el

    Cdigo de D se recorren las ramas 0, 1, 1 y 1, por lo que el cdigo es 1110.

    La operacin inversa tambin es fcil de realizar: dado el cdigo 10 se

    recorren desde la Raz las ramas 1 y 0, obtenindose el smbolo C. Para descodificar

    010 se recorren las ramas 0, 1 y 0, obtenindose el smbolo A.

    Limitaciones

    Para poder utilizar el algoritmo de Huffman es necesario conocer de antemano

    las frecuencias de aparicin de cada smbolo, y su eficiencia depende de lo prximas

    a las frecuencias reales que sean las estimadas. Algunas implementaciones del

    algoritmo de Huffman son adaptativas, actualizando las frecuencias de cada smbolo

    conforme recorre el texto.

    La eficiencia de la codificacin de Huffman tambin depende del balance que

    exista entre los hijos de cada nodo del rbol, siendo ms eficiente conforme menor

    sea la diferencia de frecuencias entre los dos hijos de cada nodo. Ejemplos:

    La codificacin binaria es un caso particular de la codificacin de Huffman

    que ocurre cuando todos los smbolos del alfabeto tienen la misma frecuencia. Se

    tiene pues que la codificacin binaria es la ms eficiente para cualquier nmero de

    smbolos equiprobables.

    El algoritmo de Huffman aplicado sobre un alfabeto de dos smbolos

    asignar siempre un 1 al primero y un 0 al segundo, independientemente de la

    frecuencia de aparicin de dichos smbolos.

  • 7/22/2019 Funcionamiento Del MPEG

    32/62

    En este caso nunca se realiza compresin de los datos, mientras que otros

    algoritmos s podran conseguirlo.

    Una manera de resolver este problema consiste en agrupar los smbolos enpalabras antes de ejecutar el algoritmo. Por ejemplo, si se tiene la cadena de longitud

    64

    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

    AA

    AAAAAAAAAAAAAAB

    El algoritmo de Huffman aplicado nicamente a los smbolos devuelve el

    cdigo:

    1111111111111111111111111111111111111111111111111111111111111110

    Tambin de longitud 64. Sin embargo, si antes de utilizar el algoritmo, se

    agrupan los smbolos en las palabras "AA", "AB" y "B" (que se codifican como 1, 01

    y 00), el algoritmo devuelve la siguiente cadena:

    111111111111111111111111111111101

    Que tiene longitud 32, la mitad que si no se hubiera agrupado. Si observa el

    rbol de Huffman, se puede comprobar que la diferencia de frecuencias entre las

    ramas del rbol es menor que en el caso anterior.

  • 7/22/2019 Funcionamiento Del MPEG

    33/62

    3.4.6 Codificacin CBR

    CBR (Constant Bit Rate)

    Cuando hablamos decdecs,la codificacin con tasa de bits constante implica

    que la tasa de salida delcodificador de los datos es constante. CBR es muy til para

    flujo de datos multimedia con canales de capacidad limitada. Sin embargo, CBR no

    es la mejor opcin para almacenaje ya que no asignar suficientes bits para las

    secciones complicadas (resultantes de la degradacin de la calidad) y por el

    contrario gastar bits innecesarios en secciones simples.

    Muchos esquemas de codificacin, como por ejemplo, lacodificacin

    Huffmanproducen cdigos de longitud variable lo que dificulta el uso de un CBR.

    Esto se arregla parcialmente variando lacuantificacin y por tanto la calidad y se

    consigue solucionar el problema por completo usando bits de relleno (padding). Otra

    estrategia consiste en almacenar la tasa de bits en un buffer y liberar la informacin

    con una tasa de bits constante. Mtodo conocido como leacky bucket.

    El proceso opuesto es el bitrate variable:VBR. El VBR aplica una

    cuantificacin no uniforme a diferencia del CBR, por lo que tiene en cuenta si en la

    seal hay zonas con mayor o menor densidad de informacin y por tanto no

    cuantifica toda la seal por igual.

    La mayora de codificadores de video, incluido el MPEG-2, son controlados

    de acuerdo al esquema de codificacin CBR (Constant Bit Rate), donde el caudal

    generado por la seal de video codificada se mantiene constante a un valor prefijadocon anterioridad, mediante el ajuste dinmico del de factor de cuantificacin Q. La

    codificacin CBR ha sido motivada hasta la fecha, debido a que las tecnologas de

    comunicacin, tales como la RDSI, y tambin las tecnologas de almacenamiento,

    como los CD-ROM, slo son capaces de trabajar a un caudal constante. Un

    http://es.wikipedia.org/wiki/C%C3%B3dechttp://es.wikipedia.org/wiki/Codificadorhttp://es.wikipedia.org/wiki/Codificaci%C3%B3n_Huffmanhttp://es.wikipedia.org/wiki/Codificaci%C3%B3n_Huffmanhttp://es.wikipedia.org/wiki/Cuantificaci%C3%B3nhttp://es.wikipedia.org/wiki/VBRhttp://es.wikipedia.org/wiki/VBRhttp://es.wikipedia.org/wiki/Cuantificaci%C3%B3nhttp://es.wikipedia.org/wiki/Codificaci%C3%B3n_Huffmanhttp://es.wikipedia.org/wiki/Codificaci%C3%B3n_Huffmanhttp://es.wikipedia.org/wiki/Codificadorhttp://es.wikipedia.org/wiki/C%C3%B3dec
  • 7/22/2019 Funcionamiento Del MPEG

    34/62

    codificador CBR trabaja de la siguiente manera: los bits producidos por el codificador

    son almacenados en un buffer, el cual es drenado al caudal constante deseado. El

    estado de ocupacin del buffer es controlado a travs del factor de cuantificacin Q,

    el cual se selecciona en cada instante conforme al contenido o actividad de la escena,al objetivo de caudal deseado, y a aqul que minimice el retardo sufrido por el video

    en dicho buffer (es decir, minimice el estado de ocupacin del buffer). En

    codificacin CBR, la calidad de vdeo vara de acuerdo con el contenido de la

    secuencia, ya que el factor de cuantificacin se vara para alcanzar un caudal de salida

    constante independientemente de la complejidad de la escena. El buffer introduce un

    retardo en la seal de vdeo, que interesa que sea lo ms mnimo posible. De este

    modo, el caudal constante debe ser seleccionado acorde al tipo de contenido se la

    secuencia, de forma que puedan reunirse los requisitos de la aplicacin.

    El esquema de codificacin CBR donde el caudal generado por la seal de

    vdeo codificada se mantiene constante a un nivel predeterminado, mediante el ajuste

    dinmico del factor de cuantificacin.

    En codificacin CBR, la calidad de vdeo vara de acuerdo con el contenido de

    la secuencia, ya que el factor de cuantificacin se vara para alcanzar el caudal de

    salida constante independientemente de la complejidad de la escena.

  • 7/22/2019 Funcionamiento Del MPEG

    35/62

    La figura muestra el diagrama de bloques de un codificador CBR MPEG-2.Para generar un caudal constante, el flujo de bits generado por el codificador es

    introducido en un buffer, el cual es drenado al caudal constante deseado en la

    aplicacin. Para mantener este drenaje del buffer a un caudal constante, se debe

    realizar un control sobre la cuantificacin, con el objetivo de tener en cuenta las

    diferentes complejidades que tendrn las escenas de una secuencia de vdeo. El

    algoritmo para dicho control, es el estndar MPEG-2, recomendado por el ISO.

    Bsicamente, este algoritmo de control asigna una cantidad fija de bits a cada GOP

    (Group Of Pictures o grupo de imgenes) en funcin del caudal constante deseado.

    Este retardo se hace posteriormente a nivel de imagen y de macrobloque.

    Posteriormente, en funcin de la diferencia entre los bits realmente generado y los

    previamente estimados (diferencia entre el estado de ocupacin del buffer estimado y

    real) y de la complejidad del macrobloque, el algoritmo genera un nuevo valor de Q,

    que ser utilizado para el siguiente macrobloque que se codifique. El algoritmo

    intenta minimizar el estado de ocupacin del buffer, para minimizar el retardo

    introducido en la seal de vdeo. En el estndar MPEG el valor mximo para Q es

    112, cuando la cuantificacin no es lineal y 62 para el caso en el que s lo es.

    Tpicamente las imgenes tipo I utilizan una cuantificacin lineal, y las imgenes P y

    B una cuantificacin no lineal.

  • 7/22/2019 Funcionamiento Del MPEG

    36/62

    El retardo introducido por el buffer est en funcin de ocupacin del mismo y

    del caudal al que es drenado, es decir:

    3.4.7 Codificacin VBR

    VBR (Variable Bit Rate)

    VBR son las siglas de variable bitrate (tasa de bits variable). Es un trmino

    usado entelecomunicacin que se refiere a la tasa de bits utilizados en la codificacin

    deaudio ovdeo.

    La tasa de bits es la relacin debitspor segundo que consume unfichero de

    audio o de vdeo. Este mtodo de compresin consigue una mayor calidad de sonido

    o video para un tamao de archivo determinado, en contraste conCBR.

    Su objetivo es obtener un nivel ms consistente en la calidad de videocomparado al de la codificacin CBR. En la codificacin VBR se deben ajustar los

    parmetros de codificacin para obtener un nivel de calidad deseado. El esquema de

    codificacin VBR ms utilizado en la literatura hoy en da, es la codificacin VBR en

    lazo abierto (OL-VBR), en la cual el factor de cuantificacin Q se mantiene constante

    para toda la duracin de la secuencia. Con codificacin OL-VBR, una escena

    compleja es codificada utilizando un mayor nmero de bits, de este modo, la calidad

    es cuasi-constante y menos variable en el tiempo que la obtenida con la codificacin

    CBR.

    La siguiente figura muestra el diagrama de bloques de un codificador OL-

    VBR MPEG-2. En dicho esquema, el factor de cuantificacin es prefijado con

    https://es.wikipedia.org/wiki/Tasa_de_bitshttps://es.wikipedia.org/wiki/Tasa_de_bitshttps://es.wikipedia.org/wiki/Telecomunicaci%C3%B3nhttps://es.wikipedia.org/wiki/Audiohttps://es.wikipedia.org/wiki/V%C3%ADdeohttps://es.wikipedia.org/wiki/Bitshttps://es.wikipedia.org/wiki/Ficherohttps://es.wikipedia.org/wiki/Tasa_de_bits_constantehttps://es.wikipedia.org/wiki/Tasa_de_bits_constantehttps://es.wikipedia.org/wiki/Ficherohttps://es.wikipedia.org/wiki/Bitshttps://es.wikipedia.org/wiki/V%C3%ADdeohttps://es.wikipedia.org/wiki/Audiohttps://es.wikipedia.org/wiki/Telecomunicaci%C3%B3nhttps://es.wikipedia.org/wiki/Tasa_de_bits
  • 7/22/2019 Funcionamiento Del MPEG

    37/62

    anterioridad (parmetro de codificacin) y se mantiene constante para la secuencia de

    vdeo. No existe lazo de realimentacin entre la salida producida y la cuantificacin.

    Con codificacin OL-VBR, una escena compleja se codifica utilizando un

    mayor nmero de bits; de este modo, la calidad es ms consistente que para el caso

    CBR. La salida de caudal es variable y depender del contenido y complejidad de la

    secuencia, as como del patrn de codificacin del estndar MPEG-2, se debeseleccionar apropiadamente el factor Q.

    A la salida del codificador, en la mayora de las aplicaciones con OL-VBR

    MPEG-2, se sita un buffer para absorber las variaciones del caudal producidas en la

    codificacin, dentro de una imagen. De esta manera, el caudal permanece constante

    dentro del perodo de una imagen (es decir, 33 ms para 30 fps y 41.6 ms para 24 fps),

    y vara de imagen a imagen.

  • 7/22/2019 Funcionamiento Del MPEG

    38/62

    Tasa de bits variable en sonido

    Por ejemplo, si en una cancin hay un fragmento en el que hay silencio, de

    poco sirve otorgar una cantidad grande debits;lo que se estara haciendo es aumentarinnecesariamente el tamao del archivo final. Por otra parte, en fragmentos de una

    cancin donde la complejidad delsonido sea elevada, se otorga una tasa de bits

    mayores, porque de lo contrario puede que latasa de bits no llegue a ser suficiente

    para que se produzca una audicin correcta.

    As pues, y resumiendo, lo que hace el VBR es otorgar la tasa de

    bits necesaria a cada parte delfichero,ya sea deaudio o devdeo,consiguiendo una

    calidad mayor en ficheros de un tamao reducido.

    Si los archivos son codificados en VBR, el codificador asigna densidades de

    bits (tasa de bits) que varan segn la complejidad de la onda de audio a lo largo del

    archivo. Para las partes con pocos instrumentos o sin sonido alguno asigna

    densidades de bits menores, y para las partes con muchos tipos de sonidos asigna

    densidades mayores. Por ende, para un mismo criterio de compresin en VBR, dos

    archivos de igual duracin pueden resultar ser de tamaos muy dispares, ya que la

    compresin en ambos difiere.

    Tasa de bits variable en video

    Lo mismo se puede aplicar a los vdeos. Hayescenas en las que la cmara est

    fija, hay poca luz y poco movimiento. Y hay otras escenas donde la cmara se mueve,

    hay disparos, explosiones, etc. Lo que hara el VBR en este caso es ahorrar tasa debits de la escena lenta para aplicarlo despus a la escena rpida y conseguir as que

    esta ltima se vea lo mejor posible.

    https://es.wikipedia.org/wiki/Bitshttps://es.wikipedia.org/wiki/Sonidohttps://es.wikipedia.org/wiki/Tasa_de_bitshttps://es.wikipedia.org/wiki/Tasa_de_bitshttps://es.wikipedia.org/wiki/Tasa_de_bitshttps://es.wikipedia.org/wiki/Ficherohttps://es.wikipedia.org/wiki/Audiohttps://es.wikipedia.org/wiki/V%C3%ADdeohttps://es.wikipedia.org/wiki/Escenahttps://es.wikipedia.org/wiki/Escenahttps://es.wikipedia.org/wiki/V%C3%ADdeohttps://es.wikipedia.org/wiki/Audiohttps://es.wikipedia.org/wiki/Ficherohttps://es.wikipedia.org/wiki/Tasa_de_bitshttps://es.wikipedia.org/wiki/Tasa_de_bitshttps://es.wikipedia.org/wiki/Tasa_de_bitshttps://es.wikipedia.org/wiki/Sonidohttps://es.wikipedia.org/wiki/Bits
  • 7/22/2019 Funcionamiento Del MPEG

    39/62

    3.4.7 Imagen I, P y B

    Las imgenes I, P y B son las que resultan de la compresin de la seal

    devdeo en los estndares ITU-T oMPEG.Estas imgenes atienden a los siguientestipos:

    Las imgenes I:Son las que se codifican por s mismas.

    Las imgenes P:Son las predichas por extrapolacin.

    Las imgenes B:Son las predichas por interpolacin.

    En los estndares de compresin de video, como ITU-T oMPEG,se utilizan

    estos tipos de imgenes para comprimir los datos. De hecho, en lugar de codificar

    cada imagen que compone el video, uno puede codificar una imagen totalmente y

    despus las diferencias entre esta imagen y las imgenes * siguientes, explotando as

    la redundancia en las imgenes que siguen.

    Por ejemplo, en una secuencia de video con un segundo plano fijo, podemos

    representar solo las partes que se mueven, para no codificar cada vez el segundo

    plano que no cambia y ganar as mucho en capacidades de compresin.

    En estos tipos de algoritmos, se codifican algunas imgenes por s mismas y

    se predicen las otras. Las imgenes son divididas enmacrobloques (en general de 16

    X 16 pxeles) y siguen el concepto decompensacin de movimientospara la

    prediccin: por cada macrobloque de una imagen que queremos codificar a partir deuna imagen de referencia (que puede ser una anterior o una posterior), se busca donde

    est en la imagen de referencia, y se define un vector de movimiento que va a dar el

    movimiento relativo entre los dos macrobloques que se corresponden.

    http://es.wikipedia.org/wiki/V%C3%ADdeohttp://es.wikipedia.org/wiki/MPEGhttp://es.wikipedia.org/wiki/MPEGhttp://es.wikipedia.org/wiki/Macrobloqueshttp://es.wikipedia.org/wiki/Compensaci%C3%B3n_de_movimientohttp://es.wikipedia.org/wiki/Compensaci%C3%B3n_de_movimientohttp://es.wikipedia.org/wiki/Macrobloqueshttp://es.wikipedia.org/wiki/MPEGhttp://es.wikipedia.org/wiki/MPEGhttp://es.wikipedia.org/wiki/V%C3%ADdeo
  • 7/22/2019 Funcionamiento Del MPEG

    40/62

    Por supuesto, entre dos imgenes, no se pueden encontrar siempre

    macrobloques todos completamente idnticos y se utiliza una tcnica de comparacin

    entre los macrobloquespara buscar los que son los ms correlacionados entre ellos.

    Se puede predecir una imagen a partir de la imagen de referencia y los

    vectores de movimiento, as obtenemos la diferencia entre sta imagen predicha y la

    imagen original que queremos codificar.

    Entonces, solo se puede enviar las imgenes codificadas por s mismas, las

    matrices de vectores de movimiento, y las diferencias entre las imgenes de

    referencia y las otras para codificar todo el vdeo.

    Las imgenes I (INTRA): Pueden ser codificadas por el formatoJPEG adems de

    otros, se utilizan para decodificar las otras imgenes que componen el vdeo y pueden

    ser utilizadas como puntos de acceso aleatorio para empezar a decodificar los videos

    a partir de cualquier momento. En general, la codificacin de estas imgenes ocupa

    ms espacio que las otras.

    Es una imagen codificada sin referencia a ninguna imagen anterior, sinoreferida exclusivamente a ella misma.

    Puede ser generada por elcodificadorpara crear un punto de accesoaleatorio,es decir, un punto que permita aldecodificador empezar la decodificacin

    adecuadamente en referencia a esa marca (localizacin de imagen).

    Tpicamente, requieren mayor nmero debitspara su codificacin que el otrotipo de imgenes (B, P).

    Estas imgenes son frecuentemente utilizadas como punto de referencia parala descodificacin de otras imgenes. Perodos de refresco de

    http://es.wikipedia.org/wiki/Block_matchinghttp://es.wikipedia.org/wiki/Block_matchinghttp://es.wikipedia.org/wiki/JPEGhttp://es.wikipedia.org/wiki/Codificadorhttp://es.wikipedia.org/wiki/Aleatoriohttp://es.wikipedia.org/wiki/Decodificadorhttp://es.wikipedia.org/wiki/Bitshttp://es.wikipedia.org/wiki/Bitshttp://es.wikipedia.org/wiki/Decodificadorhttp://es.wikipedia.org/wiki/Aleatoriohttp://es.wikipedia.org/wiki/Codificadorhttp://es.wikipedia.org/wiki/JPEGhttp://es.wikipedia.org/wiki/Block_matchinghttp://es.wikipedia.org/wiki/Block_matching
  • 7/22/2019 Funcionamiento Del MPEG

    41/62

    aproximadamente medio segundo se usan tpicamente en aplicaciones de

    'broadcast'de televisin digital y en almacenamiento enDVD.Por otra parte,

    perodos de refresco superiores al anterior pueden ser utilizados en medios

    como sistemas devideoconferencia, donde es muy habitual el envo de lasimgenes I (intra).

    La codificacin de las imgenes I es muy parecida a la que se utiliza enJPEG.La diferencia radica en las tablas decuantificacin y en los procedimientos

    que se utilizan para realizar cambios sobre las escalas decuantificacin.

    Las imgenes P (Predicted): Son las imgenes predichas con referencia a unaimagen que puede ser de tipo I o P anterior en el tiempo, as que necesitan la

    decodificacin de la imagen de referencia antes de poder ser decodificadas.

    Lacodificacin de las imgenes P es algo ms compleja que las imgenes

    intra-trama, pues debe realizarse la estimacin de movimiento y decidir cul es la

    forma ms eficiente de codificar unmacrobloque en funcin de los resultados

    obtenidos. En este apartado definiremos los distintos tipos de macrobloques que

    puede producirse en la codificacin de las imgenes P. Una de las primeras

    peculiaridades de las imgenes P es que puede saltarse lacodificacin de

    algunosmacrobloques (skipped macroblock). Esto ocurre cuando

    elprocesador considera que no es necesario codificar un macrobloque, puesto que la

    informacin que contiene puede aproximarse con suficiente precisin.

    Adems de los macrobloques skipped es posible tener 7 tipos adicionales que

    se denotan como predmc, pred-c, pred-m, intra-d, pred-mcq, pred-cq e intra-q. Lasabreviaturas que se utilizan para identificar los posibles tipos de macrobloque

    corresponden a:

    http://es.wikipedia.org/wiki/Radiocomunicaci%C3%B3nhttp://es.wikipedia.org/wiki/DVDhttp://es.wikipedia.org/wiki/Videoconferenciahttp://es.wikipedia.org/wiki/JPEGhttp://es.wikipedia.org/wiki/Cuantificaci%C3%B3nhttp://es.wikipedia.org/wiki/Cuantificaci%C3%B3nhttp://es.wikipedia.org/wiki/Codificaci%C3%B3n_digitalhttp://es.wikipedia.org/w/index.php?title=Macrobloque&action=edit&redlink=1http://es.wikipedia.org/wiki/Codificaci%C3%B3n_digitalhttp://es.wikipedia.org/wiki/Macrobloqueshttp://es.wikipedia.org/wiki/Unidad_central_de_procesamientohttp://es.wikipedia.org/wiki/Unidad_central_de_procesamientohttp://es.wikipedia.org/wiki/Macrobloqueshttp://es.wikipedia.org/wiki/Codificaci%C3%B3n_digitalhttp://es.wikipedia.org/w/index.php?title=Macrobloque&action=edit&redlink=1http://es.wikipedia.org/wiki/Codificaci%C3%B3n_digitalhttp://es.wikipedia.org/wiki/Cuantificaci%C3%B3nhttp://es.wikipedia.org/wiki/Cuantificaci%C3%B3nhttp://es.wikipedia.org/wiki/JPEGhttp://es.wikipedia.org/wiki/Videoconferenciahttp://es.wikipedia.org/wiki/DVDhttp://es.wikipedia.org/wiki/Radiocomunicaci%C3%B3n
  • 7/22/2019 Funcionamiento Del MPEG

    42/62

    Pred: Macrobloque codificado utilizando prediccin. La codificacin no es intra-

    trama.

    m: Macrobloque codificado utilizando compensacin de movimiento forward.Se transmite el vector de movimiento asociado.

    c: Como mnimo se transmite la informacin de error asociada a uno de losbloques que forman el macrobloque.

    d: Se utiliza el cuantificador por defecto. q: Se realiza un cambio en la escala del cuantificador. skipped: Macrobloques que no son transmitidos.

    La misin del codificador es elegir entre las distintas posibilidades de

    codificar un macrobloque, aquella que proporcione la mejor opcin. Generalmente,

    las decisiones no son evidentes y deben probarse varias posibilidades antes de llegar a

    una decisin. Lasmatrices decuantificacin utilizadas en el caso de realizar

    codificacin mediante prediccin tienen un paso de cuantificacin uniforme para

    todos los coeficientes. Esto es debido a que el contenidofrecuencial de las seales de

    error no muestra ninguna preferencia para concentrar su energa en

    unasfrecuenciasparticulares y en principio todos los coeficientes tienen la misma

    importancia en la reconstruccin de las imgenes.

    Las imgenes B (Bi-predicted / Bi-directional): Son las imgenes predichas con

    referencia a dos imgenes que pueden ser de tipo I o P, una anterior y una posterior,

    as que necesitan la decodificacin de las dos imgenes de referencia as como

    la reordenacin de las imgenes para poder ser descodificadas.

    Las imgenes B requierendecodificacinprevia de otras imgenes de lasecuencia para ser descodificadas correctamente.

    http://es.wikipedia.org/wiki/Matriz_(matem%C3%A1tica)http://es.wikipedia.org/wiki/Cuantificaci%C3%B3nhttp://es.wikipedia.org/wiki/Frecuenciahttp://es.wikipedia.org/wiki/Frecuenciahttp://es.wikipedia.org/wiki/Decodificaci%C3%B3nhttp://es.wikipedia.org/wiki/Decodificaci%C3%B3nhttp://es.wikipedia.org/wiki/Frecuenciahttp://es.wikipedia.org/wiki/Frecuenciahttp://es.wikipedia.org/wiki/Cuantificaci%C3%B3nhttp://es.wikipedia.org/wiki/Matriz_(matem%C3%A1tica)
  • 7/22/2019 Funcionamiento Del MPEG

    43/62

    Pueden contener datos de imagen cmovectores de desplazamiento, otambin combinaciones de los dos elementos.

    Incluyen algunos modos deprediccin que obtienen la prediccin de unaregin en movimiento (por ejemplo, unmacroblock o una regin de rea

    menor) llevando a cabo un promediado de las predicciones obtenidas usando

    dos regiones de referencia previamente descodificadas.

    En estndares de codificacin ms antiguos (cmoMPEG-2), las imgenes Bno se utilizan nunca cmo referencias para la prediccin de otras imgenes.

    Como resultado, una codificacin con menos calidad (resultado de lautilizacin de menosbits) puede ser utilizada en las imgenes B, ya que la

    prdida de detalle no perjudicar la calidad de la prediccin de las imgenes

    subsiguientes.

    EnH.264, hay la opcin de utilizarlas o no cmo referencias para ladecodificacin de otras imgenes (a discrecin delcodificador).

    En estndares de codificacin ms antiguos (cmoMPEG-2), se utilizanexactamente dos imgenes previamente codificadas cmo referencias durante

    la codificacin, y solo se requiere una de esas dos imgenes para preceder la

    imagen B en el monitor y la otra para seguirla.

    En H.264, se puede utilizar una, dos o ms imgenes previamentedescodificadas cmo referencias durante la codificacin, y pueden tener

    cualquier orden de reproduccin arbitrario, relativo a la imagen/es utilizadas

    para su prediccin. Tpicamente, se requieren menos bits para codificar una

    imagen B que con las I o P.

    http://es.wikipedia.org/w/index.php?title=Vectores_de_desplazamiento&action=edit&redlink=1http://es.wikipedia.org/wiki/Predicci%C3%B3nhttp://es.wikipedia.org/wiki/Macrobloqueshttp://es.wikipedia.org/wiki/MPEG-2http://es.wikipedia.org/wiki/Bitshttp://es.wikipedia.org/wiki/H.264http://es.wikipedia.org/wiki/Codificadorhttp://es.wikipedia.org/wiki/MPEG-2http://es.wikipedia.org/wiki/MPEG-2http://es.wikipedia.org/wiki/Codificadorhttp://es.wikipedia.org/wiki/H.264http://es.wikipedia.org/wiki/Bitshttp://es.wikipedia.org/wiki/MPEG-2http://es.wikipedia.org/wiki/Macrobloqueshttp://es.wikipedia.org/wiki/Predicci%C3%B3nhttp://es.wikipedia.org/w/index.php?title=Vectores_de_desplazamiento&action=edit&redlink=1
  • 7/22/2019 Funcionamiento Del MPEG

    44/62

    Algunos macrobloques de las imgenes P o B pueden ser codificados por s

    mismos para refrescarlos y para evitar errores demasiado importantes que se pueden

    producir si hay muchas imgenes predichas entre la imagen I anterior y la imagen

    actual.

    Secuencia de imgenes: Los vectores inferiores indican las referencias

    predictivas que hay entre ellas. El ejemplo muestra una ordenacin IBBPBBPBBI, ya

    que permite establecer lazos de prediccin bastante usuales.

    3.4.8 Video entrelazado

    3.4.9 Niveles y Perfiles de MPEG-2

    La norma MPEG-2, con sus diferentes tcnicas de compresin y codificacin

    suele considerarse como un conjunto de instrumentos o herramientas. De este

    conjunto puede extraerse los instrumentos necesarios para casa aplicacindeterminada. De la gama completa de instrumentos se ha definido cinco subconjuntos

    a los que se denomina Perfiles. stos tiene una complejidad progresiva, y cada uno de

    ellos aade instrumentos adicionales al Perfil precedente. Quiere esto decir que cada

    perfil adicional puede ejercer ms funciones que el anterior, pero tambin necesitar

  • 7/22/2019 Funcionamiento Del MPEG

    45/62

    ms rea de silicio y por consiguiente su precio ser ms elevado para el usuario. La

    entrada de todos los sistemas es vdeo en componentes, pero de los cinco perfiles, los

    cuatro primeros codifican la seal de diferencia de color en lneas secuenciales, como

    el SECAM, es decir, R-Y en una lnea, B-Y en la siguiente y as sucesivamente.

    El perfil simple es el que tiene menos instrumentos. Utiliza compensacin de

    movimiento y transformada de coseno discreta.

    El Perfil Principal tiene todos los instrumentos del Perfil Simple y adems la

    prediccin bidireccional. Para la misma velocidad binaria dar una calidad de imagen

    mejor que el Perfil simple. Un decodificador de perfil principal decodificar

    imgenes codificadas de acuerdo a los perfiles principal y simple. Este tipo de

    compatibilidad con perfiles de menos complejidad se aplica a todos los sucesivos

    perfiles.

    El perfil jerrquico o de capas tambin conocido como SNR Scalability

    Profile, en donde SNR representa las iniciales de Signal-to-Noise Radio (relacin

    seal/ruido). Le llamaremos perfiles de jerarqua n RSR. Tiene todos los instrumentos

    del perfil principal y adems la capacidad de separar los datos en dos partes, que

    pueden considerarse como una seal de base y una seal de realce o mejora. La

    primera es una versin de la imagen con un relacin seal/ruido reducida, pero que

    solo necesita una fraccin de la velocidad binaria de la seal completa. Cuando se

    codifican conjuntamente las seales de base y de realce, aumenta la relacin

    seal/ruido de la imagen hasta el mximo posible y se obtiene la misma calidad que

    con el Perfil Principal (para la misma velocidad binaria). Cada una de las seales

    utiliza una parte de la velocidad binaria total, y ambas tienen la misma resolucinespacial. Esta posibilidad de dividir los datos no exige una mayor velocidad binaria, y

    tiene interesantes aplicaciones. La seal de base puede hacerse ms resistente a

    errores que la seal de realce, de forma que cuando exista la posibilidad de perder

    informacin, esta se produzca en la seal de realce y no en la seal de base. Esto se

  • 7/22/2019 Funcionamiento Del MPEG

    46/62

    pude conseguir, por ejemplo, en la transmisin de vdeo sobre redes ATM, donde la

    informacin puede enviarse con dos niveles diferentes de prioridad. Adems, ene le

    sado de que no se pueda transmitir el flujo con la velocidad binaria, podra

    transmitirse una versin de menor velocidad.

    El Perfil de Jerarqua Espacial (spatial Scalable Profile, en la terminologa del

    MPEG-2), tiene todos los instrumentos del anterior ms un segundo mtodo para

    dividir los datos. En este perfil, la imagen codificada puede dividirse de acuerdo con

    la resolucin (nmero de elementos por lnea que pueden distinguirse). Una parte de

    la seal dividida puede ser decodificada para dar una imagen con menor resolucin

    que la correspondiente a la imagen original. Cuando se decodifican conjuntamente las

    partes en que se ha dividido la seal se obtiene una imagen que tiene la misma

    resolucin que la original. Aqu tambin tenemos una seal de base y una seal de

    realce, cada una de la cuales utiliza una parte de la velocidad binaria total. Este perfil,

    a diferencia del anterior, tiene el inconveniente de que para dar la misma calidad que

    el perfil Principal, necesita una velocidad binaria superior en un 10 a 15%. Como en

    el Perfil anterior, la capa de base puede hacerse ms resistente y difundir una seal de

    menor resolucin que cubra mayor superficie, en condiciones de recepcin ms

    deficientes.

    El Perfil Alto consta de todos los instrumentos del Perfil anterior ms la

    capacidad para codificar seales de diferencia de color en lneas simultneas. Aunque

    a velocidades binarias bajas la calidad se resiente, a velocidades altas, normales en

    aplicaciones de este Perfil, la posibilidad de codificacin de diferencias de color en

    lneas simultneas supone una mejora de calidad. Este perfil es el sistema de ms

    complejidad y mejores prestaciones, diseado para las aplicaciones ms exigentes enlas que la velocidad binaria no constituye un problema.

    Conjuntamente con los cinco perfiles, se han definido cuatro Niveles que

    corresponden al formato de imagen utilizado a la entrada. Para el nivel bajo el

  • 7/22/2019 Funcionamiento Del MPEG

    47/62

    formato de entrada es igual a 352 muestras por 288 lneas. Al nivel principal

    corresponde el formato de imagen de la recomendacin 601 (720 muestras por 576

    lneas). El Nivel Alto - 1440 al que corresponde una entrada de televisin de alta

    definicin con 1440 muestras por 1152 lneas. El cuarto nivel es el Nivel Alto al quecorresponde una entrada de alta definicin con 1920 muestras por 1152 lneas.

    Los decodificadores para cualquier determinado nivel, pueden tambin

    utilizarse para los niveles inferiores. Sin embargo, no podrn decodificar los niveles

    superiores a menos que, como parte de estos, exista una capa de resolucin ms baja.

    No todas las combinaciones de niveles y perfiles resultan tiles o necesarias y hasta la

    fecha slo se ha demostrado inters por once de las 20 posibles combinaciones. Se les

    llama puntos de conformidad del MPEG-2 y cada uno puede operarse una gama de

    velocidades binarias.

    En la siguiente figura se han representado los perfiles y niveles del MPEG-2

    con indicacin de sus caractersticas ms sobresalientes. Los once cuadros en los que

    se ha sealado la velocidad binaria son los puntos de conformidad. Los valores

    de pixels (o muestras) y lneas se refieren al rea activa de la imagen. Los valores de

    las lneas corresponden a los sistemas de 25 Hz de frecuencia de trama. Para el caso

    de 30 Hz, el nmero de lneas sera 240 para el Nivel Bajo, 480 para el Principal y

    1080 para los niveles Alto-1440 y Alto. Los sistemas MPEG-2 permiten exploracin

    progresiva o entrelazada a frecuencias de 50 60 Hz. En cada punto de conformidad

    existe un lmite mximo de muestras de luminancia.

  • 7/22/2019 Funcionamiento Del MPEG

    48/62

    Dentro de los perfiles, una larga variacin de desempeos es posible. Por otra

    parte los niveles son un conjunto de derivaciones impuestas para los perfiles. La

    combinacin de un perfil y un nivel produce una arquitectura muy bien definida para

    una cadena particular de bit. Los perfile limitan la sintaxis (por ejemplo los

    algoritmos), mientras los niveles limitan los parmetros (velocidad de muestreo,

    dimensiones de las tramas, velocidad binaria codificada, etc.).

    Niveles: proveen un rango de cualidades potenciales, definen los mximos y

    mnimos para la resolucin de la imagen, muestras Y por segundo (luminancia), el

    nmero de capas de audio y vdeo soportados por los perfiles escalados, y la mxima

    velocidad binaria por perfil. A continuacin una explicacin resumida de cada uno de

    ellos:

    Nivel Bajo: tiene un formato de entrada el cual es un cuarto de la imagen

    definida en el registro ITU-R 601.

    Nivel Principal: Tiene una trama de entrada completa definida en el registro

    ITU-R 601.

  • 7/22/2019 Funcionamiento Del MPEG

    49/62

    Nivel Alto 1440: Tiene un formato de alta definicin con 1440 muestras por

    lnea.

    Nivel Alto: Tiene un formato de alta definicin con 1920 muestras por lnea(para aplicaciones sin cualquier limitacin en velocidades de datos).

    Mximas velocidades de datos para MPEG 2 y combinaciones recomendadas

    para perfiles y niveles.

    MPEG- 2 se puede utilizar en un vasto rango de aplicaciones, requiriendo

    diferentes grados de complejidad y desempeo.

  • 7/22/2019 Funcionamiento Del MPEG

    50/62

    3.4.10 Modos escalables

    Actualmente hay cuatro modos escalables en MPEG 2. Estos modos rompen

    el vdeo MPEG 2 en diferentes capas (base, media, y alta) para propsitos de

    proritizacin de datos de vdeo.

    Otro propsito de la escalabilidad es para divisiones complejas. Por ejemplo,

    en HDTV, la alta prioridad de las cadenas binarias (720x480) puede ser descodificada

    bajo condiciones de ruido donde la baja prioridad (1440x960) no pueda.

    A continuacin una breve explicacin de los modos escalables:

    Escalabilidad espacial: Este mtodo de dominio espacial codifica la capabase a una dimensin de muestro bajo (por ejemplo: resolucin) que las capassuperiores. Las capas bajas (base) reconstruidas del muestro son usadas como

    prediccin de las capas superiores.

  • 7/22/2019 Funcionamiento Del MPEG

    51/62

    Particionamiento de datos: es un mtodo de dominio de frecuencia querompe los bloques de 64 coeficientes cuantizados de la transformada dentro de

    dos cadenas binarias. La primera, cadena de alta prioridad contiene los

    coeficientes ms crticos de las frecuencias bajas e informacin (tales comovalores DC, vectores, etc.), la segunda, cadena binaria de baja prioridad lleva

    datos AC de las altas frecuencias.

    Escalabilidad SNR:es un mtodo de dominio espacial donde los canales soncodificados a velocidades de muestreo idnticas, pero con diferentes calidades

    de imgenes. La cadena binaria de alta prioridad contiene datos de la capa

    base que pueden ser aadidos a la capa de refinamiento de baja prioridad paraconstruir una imagen de alta calidad.

    Escalabilidad temporal:Un mtodo de dominio temporal usado por ejemploen vdeo estereoscpico. La primera, la cadena binaria de alta prioridad

    codifica el vdeo a una baja velocidad de tramas, y las tramas intermedias

    pueden ser codificadas en una segunda cadena binaria usando la

    reconstruccin de la primera cadena binaria como prediccin.

    Por ejemplo en una visin estereoscpica, el canal de vdeo izquierdo puede

    ser predicho del canal derecho.

    Los perfiles escalables (cdigo jerrquico) estn previstos para operaciones

    posteriores y permitirn transmitir una imagen bsica (base layer) en trminos de

    resolucin espacial (spatially scalable profile) o de cuantificacin (SNR scalable

    profile), as como informacin suplementaria independiente (enhanced layer) quepermite mejorar sus caractersticas, por ejemplo para transmitir la misma emisin en

    definicin estndar y HD (High Definition), o permitir una recepcin con calidad

    aceptable en caso de recepcin difcil y de calidad ptima en buenas condiciones (por

    ejemplo, para la televisin digital terrestre).

  • 7/22/2019 Funcionamiento Del MPEG

    52/62

    La figura siguiente muestra un codificador MPEG convencional, con

    coeficientes de cuantificacin de elevado peso; que al codificar una imagen la genera

    con una moderada razn seal a ruido. Despus esta imagen al ser decodificada ysustrada de la imagen original pixel a pixel da como resultado una imagen de "ruido

    de cuantificacin". Esta imagen puede ser comprimida y transmitida como una

    imagen de ayuda. Un simple decodificador solo decodifica la imagen principal, con

    un flujo de bit con ruido de cuantificacin, pero un decodificador ms complejo

    puede decodificar ambas imgenes con diferentes flujos de bits y combinarlos para

    producir una imagen con bajo ruido. Este es el principio del perfil SNR escalable.

    Como otra alternativa, la figura inferior muestra que por solo codificar las

    frecuencias espaciales bajas en imgenes HDTV, parte del flujo de bits puede ser

    reconstruido por un receptor con codificador para SDTV (Standard Definition

    TeleVision). Si una imagen de baja definicin es localmente decodificada y sustrada

    de la imagen original, se produce entonces una imagen de "realce de definicin", esta

    imagen puede ser codificada en una seal de ayuda.

    Un decodificador de forma conveniente podra combinar las seales

    principales y de ayuda para recrear la imagen HDTV. Este es el principio del perfil de

    escalabilidad espacial.

  • 7/22/2019 Funcionamiento Del MPEG

    53/62

    El perfil high (alto) soporta tanto el SNR y la escalabilidad espacial como

    tambin la opcin de muestreado 4:2:2. El perfil 4:2:2 se ha desarrollado para proveer

    compatibilidad con los equipos de produccin digital de televisin existentes. Este

    perfil admite trabajar con 4:2:2 sin requerir una complejidad adicional si se usa en el

    perfil high. Por ejemplo, un decodificador [email protected] debe soportar escalabilidad SNR

    que no es requerida en la produccin de televisin digital. El perfil 4:2:2 tiene la

    misma libertad de escoger su estructura de GOP como en otros perfiles, pero en la

    prctica este usa comnmente GOPs cortos de edicin sencilla. La operacin 4:2:2

    requiere una mayor velocidad en la transmisin del bit que una operacin 4:2:0, y el

    uso de pequeos GOPs requiere tambin de mayores velocidades de transferencia de

    bits para proporcionar calidad en sus imgenes.

    El nivel low (bajo) corresponde a la resolucin SIF utilizada en el MPEG-1. El nivel main (principal) corresponde a la resolucin 4:2:0 "normal" (de hasta

    720 pixeles x 576 lneas).

    El nivel high-1440 (alto-1440) est destinado a la HDTV (de hasta 1440pixeles x 1152 lneas).

    El nivel high (alto) est optimizado para la HDTV (de hasta 1920 pixeles x1152 lneas).

    Segn el compromiso de calidad/flujo de bits perseguido y la naturaleza de las

    imgenes, el flujo de bits estar comprendido entre los 4 Mbits/s (calidad equivalente

  • 7/22/2019 Funcionamiento Del MPEG

    54/62

    a la de una imagen codificada en PAL o SECAM) y los 9 Mbits/s (calidad prxima a

    la de una imagen de estudio CC1R-601).

    Todo el proceso de codificacin de las imgenes animadas descrito en elcaptulo anterior para MPEG-1 se aplica a MPEG-2 ([email protected]), especialmente la

    jerarqua de capas (desde el bloque hasta la secuencia de la Figura siguiente).

  • 7/22/2019 Funcionamiento Del MPEG

    55/62

    La principal novedad con respecto a MEPG-1, adems de los perfiles y

    niveles, provienen del tratamiento de las imgenes entrelazadas.

    3.5Descripcin del proceso de codificacin MPEG-2 / MPEG-3Codificacin MPEG-2

    MPEG-2 es para la codificacin genrica de imgenes en movimiento y el

    audio asociado que crea un flujo de vdeo mediante tres tipos de datos de marco

    (cuadros intra, cuadros posteriores predecibles y cuadros predecibles bi-direccionales)

    arreglados en un orden especfico llamado La estructura GOP(GOP = Group Of

    Pictures o grupo de imgenes).

    Generalmente el material originado es una secuencia de vdeo a una

    resolucin de pxeles pre-fijada a 25 o 29,97 cuadros por segundo con sonido.

    MPEG-2 admite flujos de vdeo escaneado de manera tanto progresiva como

    entrelazada. En flujos de escaneo progresivo, la unidad bsica de codificacin es un

    campo. En la discusin de abajo, los trminos genricos cuadro e imagen se

    refieren tanto a los campos o cuadros, dependiendo del tipo de flujo.

    El flujo MPEG-2 est hecho de una serie de cuadros de imgenes codificadas.

    Las tres maneras de codificar una imagen son: intra-codificado (I cuadro), predecible

    posterior (P cuadro) y predecible bi-direccional (B cuadro).

    La imagen del vdeo es separada en dos partes: luminancia (Y) y croma(tambin llamada seales de diferencia de color U y V) a su vez, son divididos en

    Macro-bloques los cuales sonla unidad bsica dentro de una imagen. Cada macro-

    bloque es dividido en cuatro 8x8 bloques de luminancia. El nmero de bloques de

    croma 8x8's depende del formato de color de la fuente. Por ejemplo en el formato

  • 7/22/2019 Funcionamiento Del MPEG

    56/62

    comn 4:2:0 hay un bloque de croma por macro-bloque por cada canal haciendo un

    total de seis bloques por macro-bloque.

    En el caso de los cuadros I, la verdadera informacin de imagen pasada atravs del proceso codificador descrito abajo, los cuadros P y B primero son sujetos a

    un proceso de compensacin de movimiento, en el cual son co-relacionados con la

    imagen previa (y en el caso del cuadro B, la siguiente). Cada macro-bloque en la

    imagen P o B es entonces asociada con un rea en la imagen previa o siguiente que

    este bien correlacionada con alguna de stas. El "vector de movimiento" que mapea el

    macro-bloque con su rea correlacionada es codificado, y entonces la diferencia entre

    las dos reas es pasada a travs del proceso de codificacin descrito abajo.

    Cada bloque es procesado con una transformada coseno discreta (DCT)8x8 .

    El coeficienteDCT resultante es entonces cuantificado de acuerdo a un esquema

    predefinido, reordenado a una mxima probabilidad de una larga hilera de ceros, y

    codificado. Finalmente, se aplica un algoritmo de codificacin Huffman de tabla fija.

    Los cuadros I codifican redundancia espacial, mientras que los cuadros B y P

    codifican redundancia temporal. Debido a que los marcos adyacentes son a menudo

    bien co-relacionados, los cuadros P pueden ser del 10% del tamao de un cuadro I, y

    el cuadro B al 2% de su tamao.

    La secuencia de diferentes tipos de marcos es lla