Funcionamiento Del MPEG
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