Está en la página 1de 58

Introducción a la compresión

de video bajo el estándar


MPEG-2.
Monografía para el curso de Codificación de
Imágenes y Video.
Instituto de Ingeniería Eléctrica de la Facultad
de Ingeniería.
Noviembre de 2002

Victor Paladino
widgetp@adinet.com.uy
Contenido

Pag

Introducción general.............................................................................2

Sección 1: Introducción a MPEG

1.1 Por que es necesaria la compresión?...................................................3


1.2 Introducción a la compresión de video................................................3

Sección 2: ISO/IEC 13818-2, MPEG-2 Video

2.1 Codificación espacial o temporal?.......................................................5


2.2 Codificación espacial...........................................................................6
2.3 Ponderación..........................................................................................7
2.4 Scanning...............................................................................................8
2.5 Codificación entropica.........................................................................9
2.6 Un codificador espacial........................................................................9
2.7 Codificación temporal........................................................................10
2.8 Compensación de movimiento...........................................................12
2.9 Codificación bidireccional.................................................................13
2.10 Imágenes I, P y B.............................................................................14

Sección 3: Lo nuevo en MPEG-2

Introducción............................................................................................16
3.1 Perfiles y Niveles..............................................................................16
3.1.1 Perfiles escalables..............................................................16
3.1.2 Reparto de datos en MPEG-2............................................18
3.2 Video entrelazado.............................................................................18
3.3 Entrelazado y Pulldown 3:2..............................................................18
3.4 MPEG-2 y el video entrelazado........................................................19
3.5 Exploración (Scanning).....................................................................21
3.6 Entrelazada o progresiva?.................................................................21
3.7 Consecuencias del entrelazado..........................................................22
3.8 Codificación de Mobile.....................................................................23
3.8.1 Codificación de Mobile como entrelazada.........................23
3.8.2 Codificación de Mobile como progresiva...........................24

Sección 4: ISO/IEC 13818-1, La capa de sistema de MPEG-2

Resumen..................................................................................................27
4.1 Sobre la notación...............................................................................27
4.2 Unidades de presentación y unidades de acceso...............................27
4.3 Elementary Streams (Cadenas Elementales)....................................29
4.3.1 Sintaxis del Video Elementary Stream................................29
4.3.2 Audio Elementary Stream...................................................31
4.4 Cadenas elementales paquetizadas (PES).........................................31
4.4.1 Paquetes PES.......................................................................31
4.4.2 Time Stamps………………………………………………32
4.4.3 PTS/DTS………………………………………………….32
4.5 Cadenas de Programa (Programme Streams)………………………33
4.5.1 Grabación vs Transmisión………………………………...33
4.6 La Cadena de Transporte (Transport Stream)...................................35
4.6.1 El header del paquete de transporte........................................35
4.6.2 Información Especifica de Programa (PIS)............................37
4.6.2.1 The Programme Map Table (PMT)............................37
4.6.2.2 The Programme Asociation Table (PAT)……………37
4.6.2.3 The Network Information Table (NIT)………………38
4.6.2.4 The Conditional Access Table (CAT)……………….38
4.7 Otra información especifica de programa…………………………...38
4.8 Como demultiplexar MPEG-2...........................................................41

Sección 5: Referencias de Reloj .............................................................41

Resumen ...................................................................................................43

Glosario de términos................................................................................43

Apéndice A: Estructura de los paquetes PES y la cadena de transporte.....46

Apéndice B: Estructura del pack header y el system header de un pack,


componentes de una cadena de programa de MPEG-2.............................48

Apéndice C : Submuestreo del canal de croma..........................................50

Apéndice D : Un compresor MPEG...........................................................51


La aplicación primaria de MPEG-2 fue la transmisión digital de señales de TV con buena calidad y a
velocidades de 4 a 10 Mbps. Debido a esto, la principal característica y diferencia con MPEG-1 es que
MPEG-2 brinda un soporte para imágenes entrelazadas, es decir, se tomo en cuenta el hecho de que las
cámaras de TV forman una imagen tomando primero un campo y luego el otro. Ya que estos dos
campos están separados por un intervalo de tiempo, codificar la secuencia con MPEG-1 no produciría
los mejores resultados, ya que MPEG-1 asume que no hay diferencia de tiempo entre líneas sucesivas
en la imagen. El estándar MPEG-2 provee una forma de codificar imágenes entrelazadas incluyendo
dos técnicas basadas en campo: predicción basada en campo y DCT basada en campo.
Otras mejoras, como la introducción de una DCT con precisión de 10 bits en el coeficiente DC,
cuantización no lineal, tablas VLC y control mejorado de mismach (para los vectores de movimiento )
han sido introducidas en este nuevo estándar que han brindado mejoras sustanciales aun para material
progresivo. Otra especificación clave del MPEG-2 son las extensiones escalables ,que permiten la
división de la señal de video en dos o mas cadenas de bits representando el video a diferentes
resoluciones, calidad de imagen ,o cadencia de cuadros.

1
Introducción general
En Marzo de 1995 se completó el estándar movimiento, y el uso de la transformada del
MPEG-2, compuesto de 9 partes, con el numeral coseno como herramienta para dicha
ISO/IEC 13818. El nombre completo es compresión.
“Information Technology—Generic Coding of Todas las técnicas mencionadas, con excepción
Moving Pictures and Associated Audio” de algunas serán similares a las usadas en
ISO/IEC 13818. Las primeras 5 partes están MPEG-1. Cada vez que aparezca una nueva
organizadas como en MPEG-1 (Sistema, Video, técnica o algoritmo introducido por MPEG-2 se
Audio, Conformación y Software). Las 4 partes hará mención de eso. Veremos que una de las
adicionales son listadas a continuación. diferencias importantes entre ambos estándares
de compresión , MPEG-1 y MPEG-2, es que
La parte 6, Digital Storage Medium Command este último brinda un soporte para material
and Control (DSM-CC), provee la sintaxis para entrelazado, ya que una de las aplicaciones mas
controlar el estilo de reproducción y acceso importantes de este nuevo estándar es la
aleatorio de los bitstreams codificados y transmisión de señales de televisión, en donde
almacenados en medios digitales tales como el se adquieren las imágenes en forma entrelazada.
DVD. Los comandos de reproducción incluyen
Still Frame, Fast Forward, Advance y GoTo. El concepto de video entrelazado, así como
también los perfiles y niveles que define
La parte 7, Non-Backward Compatible Audio MPEG-2, serán tratados en detalle en la sección
(NBC), define una nueva sintaxis para audio 3. En la primera parte de dicha sección, se
surround en una forma que no es compatible con hablaran de los perfiles y niveles que define
MPEG-1, por ejemplo el AC-3. MPEG-2 para lograr la adaptación a las
diferentes necesidades de los usuarios.
La parte 8 es una extensión a la parte de video Aparecerá el concepto de escalabilidad, como
de MPEG-2 (13818-2) y define la sintaxis y alternativa de adaptación a la calidad de la
semántica para la representación de video compresión.
codificado con una precisión de 10 bits por La segunda parte de esta sección, trata en detalle
muestra. el video entrelazado explicando como se forma
una imagen entrelazada, que consecuencias trae
La parte 9, Real Time Interface (RTI), define para la compresión, y como MPEG-2 sortea
una sintaxis para señales de control de video estas complicaciones para codificar de manera
bajo demanda. mas eficiente.

Este trabajo no pretende dar al lector En la sección 4, se trata la parte del sistema de
información cabal de las nueve partes antes MPEG-2 (ISO/IEC 13818-1). Aquí se explica
mencionadas. Simplemente, se hablará de la como el estándar define la sintaxis de salida de
parte de video (ISO/IEC 13818-2) y la parte del un codificador, ya sea que la aplicación sea
Sistema (ISO/IEC 13818-1). Se supondrá que el almacenamiento del audio y/o el video, o la
lector no esta familiarizado con la compresión transmisión del mismo a través de un canal
de video, con lo cual se dará una breve ruidoso. Se intentará dar al lector la idea de
introducción en la sección 1. porque se definen dos sintaxis diferentes
En la sección 2, se explica detalladamente la dependiendo de una aplicación u otra.
forma en que MPEG consigue llevar a cabo la
compresión de una secuencia de video. Se Por último, en la sección 5, se tratan las
explican con detalle las técnicas de compresión referencias de reloj que usa MPEG-2 para
espacial y temporal, compensación de sincronizar el material de audio y video y

2
mantener la sincronía también entre trasmisor y 4:2:2 (ver apéndice C para submuestreo del
receptor. canal de croma).
Todas las secciones que componen este trabajo
están basadas en su mayor parte en los
documentos que figuran al final del mismo.
Remito desde ya al lector a consultar dicho
material si así lo desea.
A medida que avancemos en el trabajo, se irán
encontrando conceptos y palabras nuevas para el
lector. A los efectos comprender mejor la
lectura, se colocó al final del trabajo un glosario
de términos en donde el lector puede consultar
en el momento que considere necesario.

Sección 1 Y=8*13.5=108 Mbps


Cr=8*6.75=54 Mbps
Introducción a MPEG Cb=8*6.75=54 Mbps

Total=216 Mbps
MPEG es uno de los mas populares estándares
de compresión de video y audio, debido a que Debido a estas dificultades, era necesario una
no es un simple estándar. En vez de eso, es un forma de codificación del material de audio y/o
rango de estándares disponibles para diferentes video, en la cual se requieran menos datos para
aplicaciones, pero basados en principios representar al material. La forma en que MPEG
similares. MPEG es el acrónimo de Moving consigue llevar a cabo este objetivo, es mediante
Pictures Experts Group, establecido por la ISO el procesamiento de la secuencia de video ( o la
para trabajar en compresión. señal de audio), de manera tal de codificar solo
Esta sección es simplemente una breve lo necesario, y dejar que el decodificador
introducción a los conceptos que hay detrás de “adivine” el resto, y posiblemente, como en la
la compresión de video. Puede tomarse como mayoría de los casos, la eliminación de
referencia para la segunda sección, en donde se determinada información no tan crítica para el
tratan con detalle los conceptos mencionados observador. En las siguientes secciones se tratan
aquí. con cierto detalle las técnicas usadas por MPEG
para llevar a cabo la compresión.
1.1 Por que es necesaria la compresión?
1.2 Introducción a la compresión de video
El éxito inicial del video digital fue en
aplicaciones de post producción, en donde la En todo material real ya sea de audio o video,
producción de video generaba alrededor de 200 hay dos tipos de componentes de señal: aquellos
Mbps de datos, con lo cual se requería de gran componentes que son nuevos o impredecibles y
capacidad de almacenamiento o gran ancho de aquellos que pueden ser anticipados. Los
banda para su eventual transmisión. La siguiente componentes nuevos son llamados entrópicos y
figura ilustra este concepto para la digitalización corresponden a la verdadera información en la
de una imagen de 625 líneas, 720 píxeles por señal. Los restantes son llamados redundancia
línea y una cadencia de cuadros de 30 cuadros ya que no son esenciales. La redundancia puede
por segundo, resultando en un ancho de banda ser espacial tal como un área plana de una
de 216 Mbps para su eventual transmisión. El imagen, en donde los píxeles cercanos tienen
formato de submuestreo de croma usado es todos el mismo valor, o temporal ,en donde se
explota la similitud de imágenes sucesivas. En

3
sistemas de codificación sin pérdidas, se intenta aplicación. Mas adelante se tratara en mas
que el codificador extraiga la redundancia de la detalle este concepto.
señal y envíe solo la entropía al decodificador.
En sistemas con pérdidas, se elimina cierta Hay diferentes formatos de video digital y cada
información irrelevante o no tan crítica para el uno tiene su bit rate. Por ejemplo, un sistema de
observador antes de analizar los componentes alta definición podría tener 6 veces el bit rate de
importantes en la señal. Solo la entropía es un sistema de definición estándar.
almacenada o transmitida y el decodificador Consecuentemente, conocer solo el bit rate a la
calcula la redundancia con la señal recibida. La salida del codificador no es muy útil. Lo que
figura 1.1 ilustra este concepto. importa es la razón de compresión, que es la
relación entre el bit rate a la entrada del
codificador y el bit rate a la salida del mismo.
Desafortunadamente, el número de variables
involucradas, hace difícil determinar el factor de
compresión adecuado. La figura 1.1 muestra que
si toda la entropía es enviada, la calidad es
buena. Sin embargo, si el factor de compresión
es incrementado con el fin de reducir el bit rate,
la calidad decae.
Para identificar la entropía completamente, un
codificador debería ser muy complejo. Un
compresor práctico, deberá enviar mas datos
generalmente, para asegurarse de llevar la
entropía en ellos. La figura 1.1b muestra la
relación entre complejidad y performance. A un
nivel de calidad dado, se requiere de un
compresor mas sofisticado para lograr altas
Figura 1.1
razones de compresión.
Un codificador ideal debería transmitir solo la
La entropía en señales de video varía. En el
entropía y un decodificador ideal debería
proceso de codificación, algunas imágenes
reconstruir la señal completa con esa
tendrán mas entropía que otras y por lo tanto
información. En la práctica sin embargo, no se
requerirán de mas datos para ser representadas,
puede alcanzar la idealidad. Un codificador
si lo que queremos es mantener la calidad de la
ideal requeriría de un retardo muy grande para
codificación constante. Bajo este esquema de
poder extraer solo la redundancia de la señal,
codificación, tendremos calidad constante pero
retardo que es inconcebible para determinadas
bit rate variable, con lo cual se introduce un
aplicaciones en tiempo real. En algunos casos,
buffer a la salida del codificador que absorba
un codificador ideal sería muy caro. Se sigue
dichas variaciones de entropía y produzca un bit
entonces que no hay un sistema de compresión
rate constante a la salida.
ideal.
En la práctica se necesita de un rango de
En la codificación de video bajo el estándar
codificadores con diferentes grado de retardo y
MPEG, aparecen dos conceptos importantes y
complejidad. La potencia de MPEG es que no es
claramente diferenciados: la codificación Intra
solo un formato de compresión, sino un rango
(Intra Coding) y la codificación Inter (Inter
de herramientas de compresión que pueden
Coding). Codificación Intra es una técnica que
ser combinadas eficazmente para diferentes
explota la redundancia espacial o dentro de una
necesidades. MPEG-2 introduce el concepto de
imagen y codificación Inter explota la
perfiles y niveles, que justamente permiten la
redundancia temporal. La Intra Coding puede
elección mas apropiada para determinada
ser usada sola como en JPEG , o puede ser

4
combinada con Inter Coding, como en MPEG. descrita anteriormente. La compensación de
Intra coding relaciona dos propiedades de las movimiento simplemente minimiza la cantidad
imágenes típicas. Primero, no todas las de datos en la imagen diferencia.
frecuencias espaciales están simultáneamente Claramente, las imágenes codificadas
presentes y segundo, los componentes de temporalmente son difíciles de editar, ya que su
frecuencias espaciales altas son de mas baja contenido depende de alguna imagen quizás ya
amplitud que las bajas. Intra coding requiere del trasmitida tiempo atrás. Los sistemas de
análisis de frecuencias espaciales en una producción tendrán que limitar el grado de
imagen. Este análisis es el propósito de codificación temporal para permitir la edición y
transformadas como wavelets o la DCT. Las esto afectara el límite de la compresión.
trasformadas producen coeficientes que
describen la magnitud de cada componente
espacial frecuencial. Típicamente, muchos Sección 2
coeficientes serán cero, con lo que se omitirán ,y
se lograra por lo tanto una reducción en el bit
ISO/IEC 13818-2 MPEG-2 Video
rate. La sección 2.2 trata en detalle la
codificación Intra, o codificación espacial.
En esta sección se tratan en detalle los
conceptos introducidos en la sección anterior.
Inter coding, relaciona las similitudes entre
Se explicará como MPEG lleva a cabo la
imágenes sucesivas. Si una imagen esta
compresión de una secuencia de video haciendo
disponible en el codificador, la siguiente imagen
uso de la compresión tanto espacial como
puede ser reconstruida enviando solo la imagen
temporal. Todas las técnicas mencionadas en
diferencia. Esta diferencia se incrementa con el
esta sección son heredadas de MPEG-1. Como
movimiento, pero esto puede ser compensado
se mencionó anteriormente, en MPEG-2 aparece
con la estimación de movimiento, ya que un
el concepto de video entrelazado, pero no sino
objeto en una imagen generalmente solo
hasta la sección 3 se hablara de esto. En dicha
cambiará de posición, no de apariencia. Si el
sección, “lo nuevo en MPEG-2”, se explicará en
movimiento puede ser medido, puede ser creada
detalle el video entrelazado, y como MPEG-2
una aproximación a la imagen actual , corriendo
codifica dicho material. Pido por tanto al lector,
parte de la imagen previa a una nueva localidad.
que se olvide de este concepto hasta la próxima
El proceso de movimiento es controlado por un
sección.
vector que es transmitido al decodificador. La
codificación Inter es tratada en detalle en la
2.1 Codificación espacial o temporal?
sección 2.7 conjuntamente con la compensación
de movimiento en la sección 2.8 y la
Como se vio en la primera sección, la
codificación bidireccional en la sección 2.9.
compresión de video saca partido tanto de la
redundancia espacial como la temporal .En
MPEG-2 maneja tanto imágenes progresivas
MPEG la redundancia temporal es extraída
como entrelazadas, llamando ‘picture’ a una
usando similitudes entre imágenes sucesivas.
imagen dada en alguna posición temporal ,
Tanto como sea posible, la imagen actual es
independientemente si es campo o cuadro (ver
estimada a partir de imágenes recientemente
el glosario para las definiciones).
enviadas. Cuando se usa esta técnica, solo se
La codificación temporal es ahora mas difícil,
necesita enviar la diferencia entre la imagen
ya que los píxeles en un campo estarán en otra
estimada y la actual. La imagen diferencia es
posición en el siguiente.
entonces sujeta a codificación espacial.
Es mas fácil comenzar explicando la
La compensación de movimiento minimiza pero
codificación espacial antes que la temporal.
no elimina la diferencia entre imágenes
La compresión espacial se relaciona con las
sucesivas. La imagen diferencia puede ser ahora
similitudes entre píxeles adyacentes en áreas
tratada como imagen Intra, con la técnica
planas de la imagen y en frecuencias espaciales

5
dominantes en el modelo. JPEG solo utiliza La transformada de Fourier tiene la desventaja
compresión espacial ya que fue diseñado para de requerir de coeficientes para los términos
comprimir imágenes fijas. No obstante, JPEG seno y coseno de cada frecuencia.
puede usarse para codificar una sucesión de En la trasformada del coseno, la señal de entrada
imágenes para video en el así llamado ‘Motion es reflejada con respecto al eje de las ordenadas
JPEG’. En este esquema, la compresión no es antes de multiplicarla por las funciones base. La
tan buena como en MPEG, pero la capacidad de figura 2.2 muestra que este reflejo cancela todos
edición es interesante, ya que se puede editar los componentes seno y duplica los
cuadro a cuadro. componentes coseno de la señal. Ahora los
coeficientes seno de la trasformada son
2.2 Codificación espacial innecesarios y solo se necesita un coeficiente
para cada frecuencia.
El primer paso en la codificación espacial, es
desarrollar un análisis de frecuencias espaciales
mediante una transformada. Una transformada
es una forma de expresar una forma de onda en
un dominio diferente, en este caso, el de la
frecuencia. La salida de la trasformada es un
conjunto de coeficientes que indican cuanto de
una determinada frecuencia esta presente.
Figura 2.2
La transformada mas conocida es la de Fourier.
Esta trasformada encuentra cada componente de La Transformada Discreta del Coseno (DCT) es
frecuencia multiplicando muestra a muestra la la versión muestreada de la transformada del
señal de entrada por su respectiva función base e coseno, y es usada ampliamente en dos
integrando el producto. La figura 2.1 muestra dimensiones. Un bloque de 8x8 píxeles es
que cuando la señal de entrada no contiene la transformado en un bloque de 8x8 coeficientes.
función base, este producto da cero, pero si la Ya que la operación requiere la multiplicación
contiene, la integral dará un coeficiente que por fracciones, algunos coeficientes tendrán
describe la amplitud de esa componente. longitud de palabra mas larga que los valores de
los píxeles. Típicamente, un bloque de píxeles
de 8 bits , incurrirá en un bloque de coeficientes
de 11 bits. Por lo tanto, la DCT no produce una
compresión, sino lo contrario. No obstante, la
DCT convierte la fuente de píxeles en una forma
en donde es mas fácil la compresión.

Figura 2.1
La figura 2.3 muestra los coeficientes de la DCT
para un bloque 8x8. Para un bloque de
Los resultados serán como se describieron , si la luminancia, el coeficiente DC indica el nivel
componente de frecuencia de la señal esta en medio de brillo en la imagen. Moviéndonos a lo
fase con la función base. Si la componente esta largo de las filas, se incrementa la frecuencia
en cuadratura con la función base, la integral horizontal, y a lo largo de las columnas se
será cero. Por lo tanto será necesario realizar dos incrementa la frecuencia vertical.
búsquedas para cada frecuencia, una con la
función base en fase y otra en cuadratura , para
encontrar las componentes en cuadratura en la
señal.

6
2.3 Ponderación

La figura 2.4 muestra que la percepción humana


al ruido no es uniforme, sino que es función de
la frecuencia. Mas ruido puede ser tolerado a
altas frecuencias.

Figura 2.3

En una imagen real, pueden ocurrir


componentes de frecuencia diferentes en las
diferentes direcciones, y un coeficiente en algún
punto del bloque representará el peso de
Figura 2.4
determinada frecuencia de dos dimensiones.
Claramente, para imágenes en color, las
La compresión reduce la exactitud de los
muestras de diferencia de color también deben
coeficientes y tiene un efecto similar al de usar
ser tratadas. Los datos Y, Cr y Cb son tratados
palabras cortas en PCM, es decir, aparece un
individualmente en la codificación.
nivel de ruido. En PCM, el resultado de acortar
las palabras del código, resulta en un incremento
En mucho material real, muchos coeficientes
del nivel de ruido a todas las frecuencias. Como
tendrán valor cero o cerca de cero, y no serán
la DCT separa los componentes de frecuencia,
transmitidos. Esto resulta en una significante
es posible controlar el espectro del ruido.
compresión que resulta virtualmente sin
La figura 2.5 muestra que en el proceso de
pérdidas. Si se necesita una compresión mayor,
ponderación, los coeficientes de mas baja
se tendrá que reducir la longitud de palabra de
frecuencia son divididos por números pequeños
los coeficientes distintos de cero, introduciendo
y los de alta frecuencia por números mas
una pérdida en el proceso. Con cuidado, las
grandes. Siguiendo a la división, se produce el
pérdidas pueden ser introducidas en una forma
truncamiento del coeficiente, lo que resulta en
que sean menos visibles al observador.
una recuantización.

Como resultado, los coeficientes de baja


frecuencia espacial son recuantizados con pasos
pequeños y los de alta frecuencia con pasos mas
grandes y llevan mas ruido que los anteriores.

7
Figura 2.5

2.4 Scanning
En el decodificador, los coeficientes se
multiplicarán por sus valores correspondientes En material de video típico, los coeficientes
de forma tal de recuperar los coeficientes de la significativos de la DCT se encuentran en la
DCT con ruido de cuantización superpuesto. Por esquina superior del bloque de coeficientes.
supuesto, este ruido será mayor a las altas Después de la recuantización, los coeficientes de
frecuencias. mas alta frecuencia posiblemente se habrán
reducido a cero. Podría ser obtenida una forma
Claramente, el grado de compresión obtenido y de codificación mas eficiente si primero se
el subsecuente bit rate, es función de la trasmitieran los coeficientes distintos de cero y
severidad del proceso de recuantización. luego un código indicando que los restantes
Diferentes bit rates requerirán diferentes tablas coeficientes son cero. El Scanning es una
de cuantización y en MPEG-2 es posible usar técnica que permite llevar a cabo esto último, ya
diferentes tablas para la compresión y que envía los coeficientes en orden decreciente
trasmitirlas al receptor para la correcta de probabilidad de magnitud. La figura 2.6ª
decodificación. muestra que en un sistema no entrelazado, la
probabilidad de que un coeficiente tenga un alto
valor es mayor en la
esquina superior izquierda del bloque y menor
en la esquina inferior derecha. Un escaneo
diagonal de 45º es lo mejor para usar aquí.

8
Figura 2.6

En la figura 2.6b, se muestra el escaneo para una RLC simplemente transmite la cantidad de ceros
imagen entrelazada (nuevo en MPEG-2). En una en la carrera en vez de cada bit individualmente.
imagen entrelazada, un bloque 8x8 DCT de un
campo se extiende sobre el doble de área La probabilidad de ocurrencia de ciertos valores
vertical de la pantalla, así que para una imagen de coeficientes en un material de video real
dada ,las frecuencias verticales parecerán ser el puede ser estudiada. En la práctica, algunos
doble de grandes que las horizontales. Por lo valores ocurren mas frecuentemente que otros.
tanto, el escaneo ideal para imágenes Esta información estadística puede utilizarse
entrelazadas es el que se muestra en la figura para llevar a cabo una mejora en la compresión
2.6b, en donde se ve que una frecuencia vertical con códigos de longitud variable. Los valores
dada se escanea antes que la misma frecuencia que ocurren mas frecuentemente son codificados
horizontal. con palabras mas cortas que los que ocurren
Volveremos sobre este punto mas adelante. menos a menudo. De cara a la deserealizacion,
no se permite que una palabra sea prefijo de otra
2.5 Codificación entrópica (código instantáneo).

En video real, no todas las frecuencias 2.6 Un codificador espacial


espaciales aparecen simultáneamente. Por lo
tanto, muchos coeficientes de la DCT serán La figura 2.7 muestra todos los conceptos
cero. A pesar del escaneo, pueden aparecer descritos anteriormente sobre codificación
coeficientes cero entre valores distintos de cero. espacial.
Run Length Encoding (RLC) permite que estos
coeficientes sean manejados de forma eficiente.
Cuando se presenta una cadena de ceros, un

9
Figura 2.7

En la figura 2.7 se asume que la señal de entrada homogéneas tenderán a vaciarlo. Si el buffer
es 4:2:2 (ver apéndice C sobre submuestreo de esta en peligro de over flowing , la cuantización
canal de croma) con 8 a 10 bits por píxel. se deberá hacer mas severa para bajar el bit rate.
MPEG trabaja con resolución de 8 bits, por lo
cual será necesario una etapa de redondeo En el decodificador, el bit stream es
cuando la señal de entrada tiene palabras de 10 deserealizado y la codificación entrópica es
bits. La mayoría de los perfiles de MPEG revertida para obtener los coeficientes
trabajan con muestreo 4:2:0, por lo que será ponderados. Se realiza la ponderación inversa de
necesario también una etapa de filtrado pasabajo los coeficientes , y luego se arma la matriz DCT
vertical . Esto elimina información de la imagen de acuerdo al zig-zag. Luego se aplica la IDCT
y también baja el bit rate. y se recrean los bloques 8x8 de coeficientes.
La etapa DCT transforma la información de la Los bloques son almacenados en RAM que se
imagen al dominio de la frecuencia. Luego, los lee una línea a la vez. Para obtener una salida
coeficientes son ponderados y truncados, 4:2:2 a partir de una 4:2:0, se debe realizar una
obteniendo la primera compresión significante. interpolación vertical como se muestra en la
Estos coeficientes son escaneados en zig-zag figura 2.8.
por las razones mencionadas anteriormente.
Después del último coeficientes distinto de cero, 2.7 Codificación temporal
se genera un código end of block (EOB). Luego
son comprimidos con RLC y VLC. En un La redundancia temporal puede ser explotada
sistema de bit rate variable, la cuantización es realizando codificación Inter, es decir,
fija, pero en un sistema de bit rate fijo se trasmitiendo solo las diferencia de imágenes. La
necesita de un buffer para absorber las figura 2.9 muestra que un retardo de una imagen
variaciones en el proceso de codificación. combinada con un sustractor, puede llevar a
Imágenes con muchos detalles tenderán a llenar cabo la operación.
el buffer, mientras que imágenes mas

10
Figura 2.8

Figura 2.9

La imagen diferencia es una imagen mas, y propagará indefinidamente. La solución a este


puede ser codificada espacialmente después. El problema es usar un sistema que no es
decodificador revierte de codificación espacial y completamente diferencial. La figura 2.10
le suma la diferencia para obtener la siguiente muestra que periódicamente se envían imágenes
imagen. Muchos sistemas de compresión Intra , que son codificadas solo espacialmente.
realizan un offset en la imagen antes de aplicar Si ocurre un error o hay un cambio de canal , se
la DCT, eliminando con esto los posibles podrá resumir la decodificación en la próxima
valores negativos producidos en le proceso de imagen Intra. La figura 2.10 solo generaliza el
codificación. Hay algunas desventajas en este concepto. En la sección 2.10 y en la figura 2.14,
modelo. Primero, ya que solo son enviadas las se introduce el concepto de GOP, en donde se
imágenes diferencia, se hace imposible la detalla la estructura de la secuencia de
decodificación de la secuencia una vez imágenes.
comenzada la transmisión. Segundo, si alguna
imagen diferencia contiene algún error, este se

11
Figura 2.10

2.8 Compensación de movimiento necesarios para crear una imagen diferencia. La


compensación de movimiento se utiliza para
El movimiento reduce las similitudes entre las incrementar la similitud de las imágenes. La
imágenes e incrementa la cantidad de datos figura 2.11 muestra el principio.

Figura 2.11

Cuando un objeto se mueve en la pantalla puede de crominancia se extiende sobre la misma área
aparecer en otra posición en la imagen siguiente que 4 bloques 8x8 de luminancia. Por lo tanto,
pero generalmente no cambiará su apariencia. esta es la mínima área que puede ser desplazada
por un vector. Un macrobloque 4:2:0 contiene
La diferencia de imagen puede ser reducida, cuatro bloques de luminancia, uno de croma Cr
midiendo el movimiento en el codificador. Este y una de croma Cb.
movimiento es enviado al decodificador como
un vector. El decodificador usa este vector para En el perfil 4:2:2 , el color es muestreado solo
correr parte de la imagen previa a un lugar mas en la dirección horizontal. La figura 2.12b
adecuado en la nueva imagen. muestra que un bloque de crominancia se
extiende sobre la misma área que dos bloques de
Un vector controla el movimiento de imagen luminancia. Un macrobloque 4:2:2 contiene 4
entera de la imagen conocida como bloques de luminancia , 2 bloques de Cr y dos
macrobloque. El tamaño del macrobloque bloques de Cb.
depende de la codificación DCT y la estructura
de muestreo del color. La figura 2.12ª muestra El estimador de movimiento trabaja
que en un sistema 4:2:0, el espaciamiento comparando los macrobloques de luminancia de
vertical de las muestras de croma es dos imágenes sucesivas.
exactamente el doble que las muestras de
luminancia. Un simple bloque 8x8 de muestras

12
Figura 2.12

Un macrobloque en la primera imagen es usado , no a objetos concretos. Puede haber ocasiones


como referencia. Cuando la entrada es en que parte del macrobloque se movió y parte
entrelazada, los píxeles estarán en posiciones no. En este caso es imposible compensar
verticales diferentes en los dos campos , y por apropiadamente. Si el movimiento de la parte
lo tanto, será necesario interpolar un campo móvil es compensado trasmitiendo un vector de
antes de que sea comparado con el otro. La desplazamiento, la parte estacionaria estará mal
correlación entre la referencia y todos los compensada y habrá la necesidad de corregir
posibles desplazamientos es medida con una datos de diferencia. Si no se envía un vector, la
resolución de medio píxel sobre el rango entero parte estacionaria estará bien compensada pero
de la búsqueda. Cuando se encuentra la habrá que corregir la parte móvil. Un compresor
correlación mas grande , esta es asumida como inteligente podría comparar ambas técnicas y
la correlación que representa al movimiento. quedarse con la que requiere menos datos
Este vector de movimiento tiene una diferenciales.
componente vertical y una horizontal. En
material típico, el movimiento es continuo a 2.9 Codificación bidireccional
través de las imágenes. Una mejora en la
compresión se logra si estos vectores se Cuando un objeto se mueve, va ocultando el
transmiten diferencialmente. Consecuentemente, fondo delante suyo y revelando el fondo que
si un objeto se mueve a velocidad constante, los tiene detrás. El fondo revelado, requiere que
vectores diferenciales serán cero. Los vectores sean trasmitidos nuevos datos ya que no hay
de movimiento están asociados a macrobloques información previa de ese fondo ahora revelado.

13
Lo mismo ocurre cuando la cámara realiza un macrobloques individuales, una imagen
paneo, van apareciendo nuevas áreas de las codificada bidireccionalmente puede obtener
cuales no se tenía información de ellas. MPEG compensación de movimiento de una imagen
ayuda a minimizar este problema introduciendo anterior o posterior , o aún de un promedio de
la codificación bidireccional, que permite que la ambas. La codificación bidireccional reduce la
imagen actual sea codificada teniendo en cuenta cantidad de datos diferencia , mejorando el
la información de imágenes antes y después de grado de predicción posible.
la actual. La figura 2.13 muestra el concepto de
codificación bidireccional. Sobre una base de

Figura 2.13

2.10 Imágenes I, P y B

En MPEG, se necesitan tres tipos diferentes de contiene vectores que indican en que posición
imágenes para soportar codificación diferencial en la imagen anterior estaba cada macrobloque y
y bidireccional, mientras se minimiza la la diferencia que debe ser sumada para
propagación del error. reconstruir ese macrobloque. Las imágenes P
Las imágenes I, son codificadas Intra, y no requieren, mas o menos, la mitad de datos que
requieren información adicional para la las imágenes I.
decodificación. Requieren un montón de datos Las imágenes B son predichas
mas que las otras imágenes, y por lo tanto no se bidireccionalmente a partir de imágenes
trasmiten mas que la cantidad necesaria. anteriores o posteriores I o P. Los datos en estas
Consisten primariamente de coeficientes imágenes consisten de vectores que indican en
transformados y no tienen vectores. Estas que posición en la imagen anterior o posterior
imágenes permiten la conmutación de canales y deberían ser tomados los datos. También
detienen la propagación del error. contienen los coeficientes transformados de la
diferencia que debe ser sumada para reconstruir
Las imágenes P, son predichas hacia delante a el macrobloque. Estas imágenes son las que
partir de una imagen previa que puede ser una requieren menos datos para ser creadas.
imagen I o una P. Los datos de estas imágenes

14
La figura 2.14 introduce el concepto de GOP o requiere de este dato para codificar
Group of Pictures. Cada GOP comienza con bidireccionalmente dichas imágenes B. Con el
una imagen I y tiene imágenes P espaciadas fin de regresar las imágenes en su secuencia
regularmente. Las restantes son imágenes B. El correcta, se introduce una referencia de tiempo
GOP esta definido hasta la última imagen antes en cada imagen. Las marcas de tiempo son
de la siguiente imagen I. Tienen largos variables analizadas en la sección 4.4.2.
, pero 12 o 15 son los valores mas comunes. El almacenamiento temporal de imágenes
Claramente, si los datos de las imágenes B van a requiere de cierta memoria adicional tanto en el
ser tomados de imágenes futuras, esas imágenes codificador como en el decodificador , e
deben estar disponibles tanto en el codificador introduce además cierto retardo. Se deberá
como en el decodificador. Por lo tanto, la controlar entonces la cantidad de imágenes B,
codificación bidireccional requiere el para poder controlar dicho retardo.
almacenamiento temporal de imágenes. La La figura 2.15 muestra el compromiso existente
figura 2.14 también muestra que las imágenes P entre factor de compresión y retardo en la
son enviadas antes que las B. Cabe notar codificación. Para una calidad dada, enviar solo
además, que las últimas imágenes B no pueden imágenes I, requiere de mas del doble de bit rate
ser enviadas sino hasta que la siguiente imagen I que enviar IBBP.
del siguiente GOP sea trasmitida, ya que se

Figura 2.14

Figura 2.15

15
decodificador teniendo asignado cierto perfil y
Sección 3 nivel, debe ser capaz de decodificar perfiles y
niveles mas bajos.
Lo nuevo en MPEG-2
El perfil simple no soporta codificación
bidireccional , con lo que solo tendrá a su salida
Introducción imágenes I y P. Esto reduce el retardo en la
codificación y decodificación y permite
La sección anterior introdujo con considerable hardware mas simple. El Simple Profile ha sido
detalle la forma en que MPEG realiza la definido solamente al Main Level (SP@ML) .
compresión de video. Las técnicas mencionadas
son comunes tanto para MPEG-1 como para El Main Profile fue diseñado para un amplio
MPEG-2 ya que se pidió al lector que se uso. El Low Level usa una baja resolución de
abstrajera de los conceptos que hay detrás del entrada teniendo solo 352 píxeles por línea.
video entrelazado. Como veremos en esta La mayoría de las aplicaciones broadcasting
sección, MPEG-2 introduce dos técnicas nuevas requerirán del subconjunto MP@ML (Main
en el proceso de codificación aplicables a Profile at Main Level) que soporta SDTV
material entrelazado. Aparecerán por lo tanto en (Estándar Definition TV).
esta sección, los conceptos de campo y cuadro,
y aprenderemos como MPEG-2 codifica El High Level –1440 es una forma de alta
eficientemente las imágenes entrelazadas. definición que duplica la definición del ML.
Recordemos que una de las aplicaciones mas Este nivel, no solo duplica la resolución sino
importantes de este nuevo estándar es el de que también la mantiene para el formato 16:9
codificar señales de televisión para incrementando el número de muestras
broadcasting, estando por lo tanto bajo el horizontales de 1440 a 1920.
tratamiento de imágenes entrelazadas. La
sección 3.2 explica el concepto de video 3.1.1 Perfiles escalables
entrelazado y la sección 3.4 enseña como
MPEG-2 codifica dicho material. Como antes, No todas las aplicaciones tienen un simple y
remito al lector a consultar el glosario ante la bien definido usuario final. Servicios tales como
aparición de palabras nuevas. Modo de Transferencia Asincrónico (ATM ) y
HDTV con compatibilidad hacia atrás con la TV
3.1 Perfiles y niveles necesitan entregar mas de una resolución y
calidad. MPEG-2 tiene definido tres perfiles
MPEG-2 es aplicable a un amplio rango de escalables que permiten que una imagen
aplicaciones que requieren diferentes completa sea decodificada con solo una parte
performance y complejidad. Para propósitos del bitstream. Estos tres tipos son: SNR (Signal
prácticos, el estándar MPEG-2 es dividido en to Noise Ratio ), Spatial y High. Se requiere que
perfiles y cada perfil es dividido en niveles (ver solo el perfil High escalable soporte el formato
figura 3.1). Un perfil es básicamente el grado de 4:2:2 además del 4:2:0.
complejidad esperado en el codificador. Un Las imágenes comprimidas son ensambladas en
nivel es un conjunto de parámetros tales como el diferentes capas, una capa principal y una o
tamaño de la imagen o el bit rate usado en ese varias capas de ayuda. La capa principal puede
perfil. Se puede decir que un perfil limita la ser decodificada sola para obtener una imagen
complejidad, es decir, los algoritmos, y un nivel de cierta calidad. Si a esta última le sumamos
limita los parámetros tales como bit rate, las demás capas de ayuda, se puede mejorar la
dimensiones de cuadro, frames rates, etc. calidad de la imagen y/o la resolución.
En principio hay 24 combinaciones posibles,
pero no todas han sido definidas. Un

16
Figura 3.1

El High Profile soporta ambas formas de


Por ejemplo, un codificador MPEG escalabilidad ,permitiendo además el muestreo
convencional podría recuantizar una imagen en 4:2:2
forma bastante severa , generando una imagen
codificada con considerable ruido de El perfil 4:2:2 ha sido desarrollado para mejorar
cuantización. Ahora, si se decodifica localmente la compatibilidad con equipos de producción
esa imagen y se resta píxel a píxel con la imagen digital. Este perfil permite el uso de 4:2:2 sin la
original , se obtendrá una imagen de ruido. Esta necesidad de recaer en la complejidad del High
imagen puede ser comprimida y trasmitida Profile. Por ejemplo, en HP@ML ,el
como señal de ayuda. Un decodificador simple decodificador deber soportar escalabilidad SNR
podría solo decodificar la señal principal, ,que no es requerida para producción. El perfil
obteniendo una imagen ruidosa, pero uno mas 4:2:2 tiene la misma libertad de estructura de
sofisticado decodificaría las dos señales para GOP que los demás perfiles, pero generalmente
obtener una imagen de mejor calidad. Este es el se usa con GOP’s cortos que facilitan la edición.
principio de la escalabilidad SNR. La operación con 4:2:2 requiere un bit rate mas
alto que 4:2:0, y el uso de GOP’s cortos requiere
En forma alternativa, codificar solo las aun mas bit rate para un nivel de calidad dado.
frecuencias espaciales mas bajas de una imagen
HDTV , produciría una bitstream principal que Existe además , un tercer modo de escalabilidad
un decodificador de SDTV podría decodificar. en la compresión, llamada escalabilidad
Si esta imagen de baja definición se resta de la temporal. Esta técnica consiste en codificar la
imagen original, se obtendría una imagen con secuencia de cuadros a una velocidad mayor a la
solo las frecuencias mas altas presentes. Esta habitual (mayor quizás a 25 frames/seg ), de
imagen se podría codificar y trasmitir como forma que se mantenga la compatibilidad hacia
señal de ayuda. Un decodificador podría atrás con los compresores que trabajan con
decodificar ambas señales, la principal y la de velocidades mas bajas. La velocidad temporal
ayuda para recrear la imagen de HDTV. Este es mas baja sirve como base para la codificación
el principio de escalabilidad Espacial. de la velocidad mas alta. Se codifican los
cuadros a velocidad baja y luego se agregan

17
cuadros a la secuencia predecidos en base a la
secuencia de velocidad alta. Algunos sistemas
pueden solo decodificar la secuencia base de
baja velocidad ,y otros pueden decodificar
ambas y multiplexarlas para obtener la
velocidad mas alta.

3.1.2 Reparto de datos en MPEG-2

Las redes ATM, difusiones terrestres, medios


magnéticos, y otras aplicaciones tienen a veces
dos canales disponibles para transmisión y/o Figura 3.2
almacenamiento. El bitstream de video es
separado de tal forma que un canal contenga El escaneo entrelazado usado en los formatos
información crítica como headers, vectores de estándar de televisión NTSC, PAL y SECAM,
movimiento, y los coeficientes de baja visualiza solo la mitad de las líneas horizontales
frecuencia de la DCT, y el otro contenga la de una vez / pasada (el primer campo que
información menos crítica como los coeficientes contiene todas las líneas de número impar es
de alta frecuencia de la DCT. Este segundo visualizado y a continuación se visualiza el
canal puede ser enviado con menos protección segundo campo que contiene todas las líneas de
de error. número par). El entrelazado se basa en una
El reparto de datos no es compatible hacia atrás característica de nuestros ojos que es la
con otros bitstreams de video MPEG-2. persistencia de la visión (la cual podría
únicamente ser sicológica, no física), así como
3.2 Video entrelazado también en la persistencia del fósforo en el tubo
de imagen de la televisión para mezclar los
En sistemas de televisión, la exploración campos resultando en una única imagen.
consiste en barridos horizontales rápidos
combinados con barridos verticales mas lentos, 3.3 Entrelazado y Pulldown 3:2
de manera que la imagen queda explorada en
líneas. Al final de cada barrido vertical o Una cámara de película filma a 24 cuadros por
cuadro, el proceso vuelve a repetirse. Los segundo, mientras que una cámara de video
monitores para computadoras explorar de esta escanea campos de líneas pares e impares
manera, pero en la mayoría de los sistemas de alternativamente a intervalos de 1/50 segundos.
radiodifusión el proceso de exploración consiste El DVD esta diseñado especialmente para ser
en entrelazado 2:1. En un proceso de barrido visualizado en visualizadores de escaneo
entrelazado, la velocidad de barrido vertical se entrelazado, que cubren el 99.9% de los mil
duplica, de modo que haya espacio entre las millones de TVs en todo el mundo. Sin
líneas escaneadas. El barrido vertical o campo, embargo, la mayoría del contenido DVD viene
tarda la mitad de tiempo y contiene la mitad de de películas que son originalmente progresivas.
las líneas. En el segundo campo, las áreas que se Para hacer que una película funcione en formato
perdieron son ahora escaneadas. La figura 3.2 entrelazado, el video de cada cuadro de película
muestra dicho concepto. Las líneas de ambos es partido en dos campos de video –240 líneas
campos se entrelazan verticalmente de forma en un campo y otras 240 líneas en el otro—y
automática al finalizar la exploración, de forma codificado como campos separados en el
de formar la imagen completa. torrente MPEG-2. Otra complicación es que la
película va a 24 cuadros por segundo, mientras
que la televisión va a 30 cuadros (60 campos)
por segundo para NTSC o 25 cuadros (50
campos) por segundo para PAL y SECAM. Para
visualizar en PAL/SECAM, la solución más
simple es mostrar los cuadros de película a una
18
velocidad de 25/segundo, lo cual es acelerar la era descartado. Ya que se usa un solo campo de
película un 4%, y acelerar el audio para que la
vaya a la par. Para visualización en NTSC, la imagen, estos campos muestreados formaban
solución es extender esos 24 cuadros a lo largo una secuencia de video progresivamente
de 60 campos alternando la visualización del escaneada. El MPEG-1 por lo tanto, incluía
primer cuadro de película para dos campos de parámetros de codificación y algoritmos para
video y el siguiente cuadro de película en tres secuencias progresivamente escaneadas
campos. Esto se llama pulldown 3:2. La solamente.
secuencia funciona como se muestra debajo,
donde A-E representan cuadros de película y Como MPEG-2 esta enfocado a la codificación
A1, A2, B2, etc representan la separación de de señales de video de calidad broadcasting, es
cada cuadro de película en dos campos de video. necesario codificar la fuente de video en su
ancho de banda completo, resultando en campos
tanto pares como impares en la secuencia. Ya
que estos campos están separados por un
intervalo de tiempo, codificar la secuencia
utilizando MPEG-1 no arrojará los mejores
resultados, ya que este algoritmo asume que no
hay diferencia de tiempo entre líneas
consecutivas en la imagen. El estándar MPEG-2
Figura 3.3 introduce una nueva forma de codificar
imágenes entrelazadas mediante las inclusión de
Para codificar en MPEG-2, los campos dos técnicas “basadas en campo” :predicción
repetidos (B1 y D2) no se almacenan dos veces. basada en campo y DCT basada en campo. En
En vez de ello, se pone una marca para decir al MPEG-2 , el término picture (imagen) se
decodificador que repita el campo. (El orden refiere ya sea a cuadro (frame) o campo (field).
aparentemente invertido de C2-C1 y D2-D1 es Por lo tanto, una representación codificada de
debido al requerimiento de que deben alternarse una imagen puede ser reconstruida ya sea como
los campos arriba y abajo). El MPEG-2 también campo o como cuadro. Durante la codificación,
tiene una marca para indicar cuando un cuadro el codificador debe elegir si codificar una
es progresivo (que los dos campos vengan del imagen como un cuadro o como dos campos. Si
mismo instante en el tiempo). Para contenidos selecciona esta última forma de codificación,
de película, la marca de cuadro-progresivo cada campo se codifica por separado, cada uno
debería estar a valor verdadero para cada teniendo un tamaño vertical igual a la mitad de
cuadro. la imagen completa.
Con este esquema ,una imagen codificada Intra
3.4 MPEG-2 y el video entrelazado consiste de un cuadro Intra, de dos campos
Intra, o de un campo Intra seguido de un campo
Una de las mas grandes motivaciones para crear P. La predicción de este último es en base al
un nuevo estándar MPEG-2 fue el de dar un cuadro anterior Intra.
soporte para fuentes de video entrelazadas. El Una imagen codificada como Inter (P) , consiste
estándar MPEG-1 estaba enfocado a velocidades de una imagen Inter o de dos cuadros Inter, al
de alrededor 1.5 Mbps , y era asumido que la igual que las imágenes codificadas como
señal de video fuente había sido digitalizada a bidireccionales (B) .
alrededor de 352x240 para 60 Hz (e.g U.S) y
352x288 para 50 Hz (e.g Europa). Las señales En el modo codificación como cuadro, la
de video estándar llevan el doble de líneas que predicción puede hacerse ya sea en base a
las mencionadas anteriormente, con un formato campo o en base a cuadro. La predicción basada
entrelazado. La forma mas simple de generar en cuadro, usa un vector por dirección (forward
una imagen de la mitad de tamaño era quedarse o backward) para describir el movimiento
con un solo campo de la señal de video, el otro relativo al cuadro de referencia.

19
En contraste, la predicción basada en campo usa DCT basada en campo o basada en cuadro,
dos vectores de movimiento, uno proveniente de como se muestra en la figura 3.4 y 3.5. La DCT
un campo par y el otro del campo impar. Por lo basada en cuadro ,es la misma que la DCT de
tanto, pueden haber hasta cuatro vectores por MPEG-1. La DCT basada en campo, en cambio,
macrobloque (dos por cada dirección forward o opera sobre filas alternadas, es decir, las filas de
backward). un mismo campo, son juntadas en un mismo
En el modo codificación como campo, la bloque 8x8. El porque de esta forma de
predicción es solo en el modo campo, pero codificación, viene del hecho que quizás estén
puede ser relativa ya sea al campo par como al mas correlacionadas líneas de un mismo campo
impar. que líneas consecutivas en la imagen, debido
Independientemente del modo de predicción, esto al intervalo de tiempo que existe entre un
cada macrobloque en una imagen codificada campo y el otro.
como cuadro, puede ser codificado mediante

Figura 3.4.DCT basada en cuadro

Figura 3.5.DCT basada en campo.

20
adquirida en forma entrelazada o progresiva.
3.5 Exploración (Scanning) Para ello, tomaremos la secuencia y la
codificaremos con MPEG-2 en formato
Después de realizar la DCT a un bloque 8x8 entrelazado primero y luego en formato
píxeles, se nota que generalmente los progresivo. Tomaremos para ambos esquemas
coeficientes mas significativos se encuentran en de compresión, los siguientes parámetros de
la parte superior izquierda de la matriz. Una vez codificación:
evaluados, los coeficientes menos significativos
pueden ser redondeados a cero. Se logra de este N=12, nº de frames en el GOP
modo una transmisión de datos mas eficiente, ya M=3, distancia I-P
que se transmiten primero los coeficientes Frame_rate=25
distintos de cero, y luego un código que indique Bit_rate=4 Mbps
que los demás coeficientes son todos cero. Profile: Main
La exploración es una técnica que aumenta la Level: Low
probabilidad de alcanzar este resultado, porque
ella envía los coeficientes en forma descendente Para la compresión entrelazada se seteará
según su probabilidad. La figura 2.6ª y 2.6b,
muestran que en un sistema ya sea entrelazado o Alternate_scan=1 (para las los 3 tipos de
no, la probabilidad de hallar coeficientes de imágenes)
mayor peso ,es mas alta en la parte superior Picture_format=1 (field_picture)
izquierda de la matriz que en la inferior derecha. Progressive_secuence=0
La figura 2.6ª muestra que una buena Progresive_frame=0
exploración para una imagen progresiva es el
zig-zag, ya que las frecuencias horizontales y Para la compresión progresiva ,será
verticales no son en general muy diferentes.
Una imagen entrelazada esta compuesta de dos Alternate_scan=0 (para las los 3 tipos de
campos entrelazados como se explicó en la imágenes)
sección 3.2. Si codificamos como entrelazado, Picture_format=0 (frame_picture)
estaremos codificando cada campo por Progressive_secuence=1
separado, con lo cual las líneas en la imagen (el Progresive_frame=1
campo en cuestión), estarán separadas el doble
de distancia que en un cuadro completo. Este Una vez codificadas las imágenes,
distanciamiento entre líneas consecutivas en un compararemos la calidad (SNR) de cada cuadro
campo, hace que las frecuencias verticales en medida contra la secuencia original.
esta imagen sean por lo general de mas peso que Al codificar ambos esquemas con el mismo bit
las sus duales horizontales. rate, podremos decir que la compresión que
En la figura 2.6b, se muestra la exploración para resulte en un mejor SNR, será la mas óptima.
una fuente entrelazada. Se observa que la La pregunta que surge ahora es la siguiente, si la
exploración se extiende dos veces mas por calidad de las imágenes codificadas bajo un
encima del área vertical intentando primero esquema es mejor que el otro, ¿significa que la
conseguir las frecuencias verticales antes que las secuencia fue adquirida en ese formato?
horizontales. La figura 2.6b, muestra que esta De lo que si podemos estar seguros, es que si
exploración entrega primero las frecuencias una secuencia fue adquirida en forma
espaciales verticales. entrelazada, y el movimiento en la escena fue
tal que los dos campos se correlacionan poco,
3.6 Entrelazada o progresiva?. Experiencia entonces una codificación que tenga en cuenta
con Mobile. esta baja correlación entre líneas consecutivas,
será mejor que uno en donde se considere que
En esta parte intentaremos determinar si una las líneas fueron escaneadas en forma secuencial
secuencia de imágenes ( mobile ) dada, fue en el tiempo.

21
Si se tomaron imágenes cada 40 mseg (25 Hz), La experiencia que haremos es un tanto
primero un campo y luego el siguiente, la exagerada, pero servirá para mostrar el efecto.
velocidad de barrido vertical en la imagen Lo que haremos, será tomar el primer y último
habrá sido de 50 Hz, ya que en un tiempo de cuadro de la secuencia mobile, y formar un solo
cuadro se deben barrer dos campos. Basta que cuadro entrelazado. Tomaremos para ello el
en un lapso de 20 mseg haya ocurrido un campo par de mobile0, y lo entrelazaremos con
cambio sustancial en la imagen para que las el campo impar de mobile23. El movimiento
líneas consecutivas, es decir, los campos que se produce entre estos dos cuadros es mas
entrelazados, estén poco correlacionados. Este que suficiente como para hacer aparecer el
efecto se conoce como “combing”. combing.
Bajo esta situación, sabemos que la codificación Luego de este proceso, calculamos la DCT por
entrelazada que codifica ambos campos en bloques en ambos cuadros, en mobile0, que
forma independiente será la mejor. Sin embargo, suponemos que es progresiva, y en el nuevo
sin no hubo un cambio sustancial entre los cuadro formado, que es entrelazado.
diferentes campos, es decir, en ausencia de Por último, y a los efectos de comparar un
combing, lo mejor será codificar como cuadro y el otro, opté por tomar de entre los 64
progresivo ya que la distancia entre líneas coeficientes de la DCT, el que mide la máxima
consecutivas en un campo hace menos eficiente frecuencia horizontal sin cambios verticales, y el
a la DCT, ya que se enriquecen las frecuencias que mide la máxima frecuencia vertical sin
verticales. cambios horizontales (ver fig 3.6).

3.7 Consecuencias del entrelazado

En esta parte, intentaremos verificar las


consecuencias que aparecen cuando una imagen
es escaneada en forma entrelazada estando
presente el efecto de combing. Recordemos que
el combing era producido por tomar dos campos
independientes, habiéndose producido en ese
intervalo de tiempo un movimiento sustancial en
la escena. Bajo esta situación, veremos que
aumentaran las frecuencias verticales en cada
bloque 8*8 del cuadro, o al menos en esos
Figura 3.6
bloques en donde estuvo presente el
movimiento, ya que una línea y la otra no
tendrán mucho que ver. En cuanto a las
frecuencias horizontales, no se notarían grandes
cambios.
Vayamos a los resultados:

22
data1
data2
F recuencias horizontales progresiva
100 entrelazada

50

-50

-100
0 5 10 15 20 25 30 35 40 45
F recuencias verticales
1000

500

-500

-1000
0 5 10 15 20 25 30 35 40 45
# de bloque DCT 8*8 en la fila
Figura 3.7: Coeficientes correspondientes a bloques DCT 8*8 comprendidos
entre las filas 160 y 168 de la imagen.

Comparando las frecuencias horizontales de


ambas imágenes, notamos que no son muy 3.8.1 Codificación de mobile como
diferentes, sin embargo, las frecuencias entrelazada
verticales en esa hilera de bloques 8*8 es
sustancialmente mayor en la imagen entrelazada La figura 3.9 muestra la SNR vs nº de cuadro
que en la progresiva. para la codificación de mobile bajo el esquema
Dejamos en evidencia con esto último, el efecto entrelazado. Recordemos que en esta forma de
que se produce en una imagen cuando la codificación, el codificador divide cada imagen
actividad en la escena es de tal magnitud que los en dos campos para codificarlos
diferentes campos escaneados se correlacionan individualmente. Note la variación de la SNR
poco. Es justamente la aparición de importantes durante la primera mitad de la secuencia, debido
frecuencias verticales en los bloques, lo que a la adaptación del bit rate que realiza el
hace ineficiente a la DCT cuando se codifica el codificador. Al comenzar con el buffer vacío, se
cuadro completo sin separar los dos campos. va cuantizado la matriz DCT en forma cada vez
mas fina, permitiendo mejor calidad en la
3.8 Codificación de Mobile secuencia. Una vez que se llena el buffer, la
SNR adquiere un comportamiento estacionario.
Una vez examinadas las consecuencias del Es entonces la última mitad de la secuencia la
combing, vayamos a codificar la secuencia que tomaremos como relevante para la
mobile en dos formatos diferentes, para ver cual comparación de la calidad de la imagen.
es el mejor. Con este experimento podremos
intuir el formato de adquisición de dicha
secuencia, en base al análisis de la sección 3.6.

23
SNR vs nº de cuadro para ambos campos
24

23

22

21
SNR (dB)

20

19
Campo par

18 Campo impar

17
0 5 10 15 20 25
nº de cuadro
Figura 3.9

compensación bidireccional. Por lo tanto cuando


La grafica mostrada corresponde a la secuencia le llega el momento una imagen B, la
de imágenes en el orden real de ocurrencia en el realimentación habrá hecho que la cuantización
tiempo, distinto del orden de codificación. se haga mas severa para alivianar el buffer., con
Corresponde por lo tanto a la secuencia lo cual la calidad de dichas imágenes es la peor
IBBPBBPBBPBB. Recordemos que el de las tres. Luego, como las imágenes B
codificador necesita de las imágenes P para incurren en pocos bits para el buffer, este se
codificar las imágenes B anteriores. Además del vacía y la cuantización se aligera un poco otra
comentario anterior sobre la tendencia vez y el proceso se repite.
estacionaria de la SNR producida por la
realimentación que brinda el buffer, vale la pena 3.8.2 Codificación de mobile como progresiva
comentar también porque las imágenes B
resultan las de peor calidad en la secuencia La figura 3.10 nos muestra la SNR, cuando
codificada (analice el gráfico anterior). Esto es elegimos la forma de codificación progresiva
así porque las imágenes B se codifican siempre para la secuencia, y la figura 3.11 compara la
después que una imagen I o P, y estas imágenes SNR de ambos esquemas.
tienden a llenar el buffer ya que no usan

24
SNR vs # de cuadro para codificacion progresiva
25

24

23
SNR (dB)

22

21

20

19
0 5 10 15 20 25
# de cuadro
Figura 3.10

25

24

23

22
SNR (dB)

21

20

19
progresiva

18 entrelazada

17
0 5 10 15 20 25
nº de cuadro
Figura 3.11. Comparación de ambos esquemas de codificación

Claramente, observamos una mejor calidad en


las imágenes comprimidas en forma progresiva, En base a los razonamientos mencionados,
en donde no se tienen en cuenta los campos, que diremos que , o bien mobile es progresiva o bien
en la forma entrelazada donde se codifica cada es entrelazada pero en ausencia de “combing”.
campo por separado.

25
El codificar cada imagen como dos cuadros Al codificar línea por línea, reducimos el peso
separados, hace que la DCT sea menos eficiente de dichas frecuencias y hacemos que la
( en ausencia de combing) ya que baja la información de cada macrobloque se concentre
correlación entre píxeles verticales debido al en las bajas frecuencias, haciendo mas eficiente
espaciamiento de las líneas. Dicho de otra la codificación.
manera, las frecuencias verticales se vuelven
mas importantes .

26
oportunidades de incluir elementos de sintaxis
privadas (definidas por el usuario) para
optimizar una aplicación particular.
Sección 4
4.1 Sobre la notación
ISO/IEC 13818-1 :La capa del sistema
Cuando hablemos de un programa nos
de MPEG-2 estaremos refiriendo a un servicio particular que
esta siendo codificado, como una secuencia de
Resumen video con su audio asociado y quizás algunos
datos auxiliares (ver figura 4.1). Si
La especificación de Sistema de MPEG-2 paralelamente se codifica otra secuencia de
describe como las cadenas de datos video, o simplemente audio, en un canal o dos,
comprimidos de audio y video pueden ser diremos que se trata de otro programa.
multiplexados juntas con otros datos para
formar una simple cadena de datos (single data La palabra cadena, se tomó como traducción de
stream) disponible para transmisión y/o stream, y es simplemente una sucesión de bits
almacenamiento. Esta sección cubre los de audio o video.
principios y terminología de la capa del sistema
de MPEG-2. Aquí se cubren tres áreas Un múltiplex es simplemente una forma de
fundamentales: Primeramente, las estructura de multiplexar cadenas de datos. MPEG-2 define
los diferentes múltiplex; segundo, la dos diferentes tipos de múltiplex, el de
información de servicio que pueden presentar, y programa y el de transporte.
tercero, el sistema de marcas de tiempo y
referencias de reloj utilizadas para sincronizar 4.2 Unidades de presentación y unidades de
en el decodificador componentes de programa acceso
relacionados.
La figura 4.2 muestra una secuencia de video sin
En la capa de sistema de MPEG-2, se comprimir siendo codificada MPEG a un bit
especifican dos posibles alternativas de rate de 5 Mbps. Cada imagen en la secuencia sin
multiplexión. La cadena de programa comprimir se denomina unidad de presentación.
(programme stream), fue diseñada pensando en El codificador codifica cada unidad de
el almacenamiento y reproducción de un simple presentación para formar una imagen codificada
programa a partir de un dispositivo de que se denomina unidad de acceso. Note que las
almacenamiento digital (eventualmente libre de unidades de acceso no son todas del mismo
ruido), mientras que la cadena de transporte tamaño. El tamaño depende de si la imagen es I,
(transport stream), fue pensada para la entrega P o B.
simultánea de múltiples programas sobre
canales con ruido. Ambos múltiplex facilitan la
inclusión de información específica de programa
(Programme Specific Information, PSI) que
detallan el/los programas y las cadenas
elementales presentes. Los múltiplex también
usan un sistema de marcas de tiempo y
referencias de reloj para asegurar la
reproducción sincrónica de cadenas elementales
relacionadas, y el correcto comportamiento de
los buffers en el decodificador. En la figura 4.1
se esquematiza la producción de las cadenas de
programa y de transporte. Mas adelante se
hablará en detalle de ambas. Hay muchos
elementos de sintaxis opcionales y muchas
27
Figura 4.1. Generación de cadenas de transporte y programa en MPEG-2.

Figura 4.2. Producción de las unidades de acceso.

28
movimiento puede ser basada en campo en
cuadro, y esto es indicado en el header. También
se indica la escala usada para la recuantización
4.3 Elementary Streams (Cadenas de los coeficientes. Usando los vectores, el
Elementales) decodificador usa la información de imágenes
anteriores o posteriores para producir la imagen
Un Elementary Stream no es mas que la salida predicha. Aplicando la IDCT a cada bloque, se
en bruto de un codificador, y contiene no mas obtiene la imagen corrección que hay que
que la información necesaria para que un sumarle a la imagen predicha para formar la
decodificador pueda formar el video o el audio imagen correcta.
original. La sintaxis de la señal comprimida está En codificación 4:2:0 ,cada macrobloque tiene 4
rígidamente definida, de forma que asegure que bloques Y y dos bloques de cada color. En
todos los decodificadores puedan usarla. El formato 4:2:2, habría 2 bloques de cada color
codificador no esta definido, sin embargo debe por cada 4 de luminancia. Para identificar cada
ser tal , que produzca la sintaxis de salida bloque correctamente, estos se envían en un
correcta. De esta forma se estandarizan los orden específico. (ver apéndice C para mas
decodificadores, pudiéndolos fabricar a bajo información sobre submuestreo del canal de
costo. En contraste, los codificadores pueden ser croma).
mas complejos y mas caros, de forma que se Los macrobloques son ensamblados en slices,
adapten mejor a los requerimientos de alta que deben representar siempre partes de una
calidad de codificación. Cuando el codificador y imagen de izquierda a derecha. En MPEG, se
decodificador son de diferentes complejidades, permite que los slices tengan cualquier largo y
se dice que el sistema de codificación es comiencen en donde sea. El slice es la unidad
asimétrico. elemental de sincronización para la codificación
de longitud variable y diferencial. Los primeros
El estándar MPEG permite también que la vectores en el slice son enviados absolutamente,
calidad sea mejorada a medida que los mientras que los restantes son enviados
algoritmos de codificación son refinados, diferencialmente. En imágenes Intra, también
permitiendo aún que los decodificadores mas los primeros coeficientes DC son enviados
viejos decodifiquen el bit stream. absolutamente y los restantes en forma
diferencial.
4.3.1 Sintaxis del Video Elementary Stream
Un número de slices son combinados para hacer
La figura 4.3 muestra la construcción de un una imagen, que es la parte activa de un campo
video elementary stream. La unidad a un cuadro. El header de la imagen indica si
fundamental de información es el bloque DCT, esta fue codificada como I, P o B y también
que representa un arreglo 8x8 de píxeles que incluye una referencia temporal para que la
pueden ser Y, Cr, o Cb. El coeficiente DC es imagen sea presentada en el orden correcto. Para
enviado primero, y es representado mas situaciones especiales, como un paneo de la
exactamente que los demás coeficientes cámara, los vectores de movimiento de los
(MPEG-2 permite la elección de 8, 9, 10 u 11 diferentes macrobloques serán los mismos, por
bits para el coeficiente DC). Seguido de los lo que se envía un vector global, y los vectores
demás coeficientes, se envía un código EOB individuales como diferencias con este.
(End Of Block).
Los bloques son ensamblados en macrobloques, Las imágenes pueden ser combinadas para
que son la unidad fundamental de una imagen producir un GOP, que debe comenzar siempre
para ser compensada por movimiento. Cada con una imagen I. El GOP es la unidad
macrobloque de una imagen P o B tiene un fundamental de codificación temporal. Los
vector de movimiento bidimensional en su GOP’s pueden ser abiertos o cerrados. En un
header. En imágenes B, los vectores pueden ser GOP cerrado, las últimas imágenes B no
forward o backward. La compensación de requieren de la imagen I del siguiente GOP para

29
ser decodificadas, y el bit stream puede cortarse al final del GOP.

Figura 4.3

30
Si se usa AC-3 , esto también se verá reflejado
Si son usados varios GOP’s, estos son en el header de la secuencia.
combinados para producir una secuencia de
video. La secuencia comienza con un código de 4.4 Cadenas Elementales Paquetizadas (PES)
inicio de secuencia seguido del header de la
secuencia, y finaliza con un código de fin de Para propósitos prácticos, las cadenas
secuencia. Se pueden colocar además headers elementales conteniendo audio o video deben
adicionales a la secuencia a la mitad de esta. ser partidas en paquetes. Estos paquetes son
Esto permite que la decodificación pueda identificados mediante headers que contienen
comenzar en alguna parte en la mitad de la marcas de tiempo (time stamps) para
secuencia. El header de la secuencia especifica sincronización. Los PES pueden ser usados para
el tamaño vertical y horizontal de la imagen, la crear Cadenas de Programa (Program Stream) o
relación de aspecto, el formato de submuestreo Cadenas de Transporte (Trasport Stream).
de croma, el picture rate, el uso de scan
progresivo o entrelazado, el perfil, nivel, bit 4.4.1 Paquetes PES
rate, y las matrices de cuantización usadas en
codificación Intra e Inter. En PES, las largas cadenas elementales son
Sin el header de la secuencia, los divididas en paquetes de tamaño adecuado para
decodificadores no pueden entender el bit la aplicación (ver figura 4.4). El tamaño podría
stream, por lo que los headers de la secuencia se ser de unos pocos cientos de kilobytes, aunque
vuelven el punto de inicio para comenzar la varían mucho de acuerdo a la aplicación. Cada
decodificación. paquete es precedido por un PES packet header.
La estructura completa de un paquete PES se
4.3.2 Audio Elementary Streams puede consultar en el apéndice A.
El paquete comienza con un prefijo de comienzo
Varios tipos de audio pueden ser metidos en un de código de 24 bits, y un stream ID que
multiplexor MPEG-2. Estos tipos provienen de identifica el contenido del paquete como video o
las tres capas del MPEG Audio y el AC-3. El audio y futuras identificaciones como tipo de
tipo de codificación de audio usada debe estar codificación de audio. Estos 2 parámetros (Start
incluida en un descriptor, que el decodificador Code prefix y Stream ID ) comprenden el packet
leerá a los efectos de invocar al decodificador start code, que identifica el comienzo del
adecuado. paquete.
Debido a que MPEG solo define la cadena de
El proceso de codificación de audio es un poco transporte y no el codificador, un diseñador
diferente que el de video. No hay un equivalente podría construir una cadena de transporte a
a las diferentes I, P o B frames, y los “frames” partir de una cadena elemental en un solo paso.
de audio tienen todos la misma cantidad de En este caso, el paquete PES no existiría nunca
datos. No hay equivalencia con las imágenes B, en una forma identificable, en vez de eso, estaría
y los frames de audio nunca son trasmitidos lógicamente presente en la carga de la cadena de
fuera de orden. trasporte. Las cadenas de transporte se tratarán
luego.
En MPEG-2 Audio, el header de la secuencia
contiene el descriptor que indica que capa se uso
para codificar el audio y el tipo de compresión
(estéreo conjunto, por ej. ), seguido de la
velocidad de muestreo original. La secuencia de
audio es formada a partir de un número de
unidades de acceso (AUs) que serán codificadas
como audio frames.

31
Figura 4.4

la almacena en RAM. Cuando la cuenta de línea


4.4.2 Time Stamps de tiempo alcanza el time stamp, la RAM es
leída. Esta operación tiene dos resultados
Durante la compresión, algunas imágenes son deseables. Primero, se logra una corrección
enviadas fuera de secuencia debido a la efectiva en la base de tiempo de cada cadena
codificación bidireccional. Ellas requieren una elemental. Segundo, las cadenas elementales de
cantidad variable de datos y están sujetas a audio y video pueden ser sincronizadas juntas
retardos variables debido a la multiplexión y para formar un programa.
transmisión. Con el sentido de mantener al
audio y video sincronizados constantemente, se 4.4.3 PTS/DTS
insertan cada tanto marcas de tiempo (time
stamps) en las imágenes. Cuando es usada la codificación bidireccional,
Una marca de tiempo, es un número de 33 bit una imagen puede haber sido decodificada un
que es una muestra de un contador comandado instante antes de que halla sido presentada, de
por un reloj de 90 KHz. Este reloj es obtenido manera que pueda actuar como fuente de datos
dividiendo el reloj de programa de 27 MHz por para una imagen B. Aunque por ejemplo las
300. Debido a que los momentos de imágenes pueden ser presentadas en el orden
presentación están separados regularmente, no IBBP, ellas son trasmitidas en el orden IPBB.
es necesario incluir un time stamp en cada Consecuentemente, existen dos tipos de marcas
unidad de acceso (consultar sección 4.2). En vez de tiempo. La marca de tiempo de
de eso, los time stamps pueden ser interpolados decodificación (DTS) indica el momento en que
por el decodificador, pero ellos no deben estar una imagen debe ser decodificada, mientras que
mas de 700 mseg apartados en su cadena de la marca de tiempo de presentación (PTS) indica
transporte o programa. En cualquier tipo de el momento que debe ser presentada a la salida
múltiplex MPEG-2, las marcas de tiempo son del decodificador.
llevadas como campos opcionales en los
paquetes PES (ver apéndice A). Las imágenes B son decodificadas y presentadas
simultáneamente, de manera que solo tienen una
Los time stamps indican a que lugar del tiempo PTS. Cuando se recibe una secuencia IPBB,
pertenece una unidad de acceso específica. La tanto la imagen I como la P deben ser
máxima sincronización es obtenida cuando se decodificadas antes que la primera imagen B.
insertan marcas de tiempo tanto en los headers La figura 4.5 muestra que cuando una unidad de
de los paquetes PES de audio como en los de acceso recibida corresponde a una imagen I, esta
video. Cuando un decodificador recibe un PES tendrá en el header tanto un PTS como un DTS
específico, decodifica cada unidad de acceso y y estas marcas de tiempo están separadas un
32
período de imagen. Si está siendo usada la retardada tres períodos, las B no son retardadas,
codificación bidireccional, le seguirá una y la secuencia de presentación se vuelve IBBP.
imagen P que también tendrá las dos marcas de Claramente, si la estructura de GOP es
tiempo, pero esta vez separadas tres períodos de cambiada de forma que tres o mas imágenes B
imagen, de forma de permitir la intervención de son colocadas entre las imágenes I y P, la
las imágenes B. Por lo tanto, si se recibe IPBB, I diferencia de tiempo entre los DTS y PTS se
es retardada un período de imagen, P es hace mas grande.

Figura 4.5

El flag PTS/DTS en el header del paquete, es


seteado para indicar la presencia de solo PTS o
ambas marcas de tiempo. uso de stuffing (inserción de datos
Los paquetes de audio pueden contener distintas insignificantes).
unidades de acceso y el header del paquete En DVD, el stuffing es un gasto de capacidad de
contiene un PTS. Ya que los paquetes de audio almacenamiento. Sin embargo, un medio de
nunca son trasmitidos fuera de secuencia, no se almacenamiento puede ser enlentecido o
requieren las DTS. acelerado, ya sea físicamente, o en el caso de
una unidad de disco, cambiando la velocidad de
4.5 Cadenas de Programa (Programme trasferencia de datos. Esta velocidad se puede
Stream) ajustar de forma que el buffer de datos este lleno
hasta la mitad, independientemente del bit rate
Las cadenas de programa son una forma de actual que puede cambiar dinámicamente. Si el
multiplexar diferentes cadenas de paquetes PES, decodificador lee del buffer a una velocidad mas
y son útiles en aplicaciones que involucran alta, tenderá a vaciar el buffer, y el sistema de
grabación, como los DVD. control simplemente incrementara la velocidad
de acceso para restaurar el balance, pero esta
técnica solo funciona si el audio y video fueron
4.5.1 Grabación vs Transmisión codificados con el mismo reloj.
Para satisfacer estos requerimientos
Para una calidad de imagen dada, el bit rate de conflictivos, han sido creadas las cadenas de
video comprimido cambiará con el contenido de programa y las de transporte. Una cadena de
cada imagen. Bajo este esquema, un canal de bit programa trabaja bien sobre un programa
rate variable sería el recurso ideal. En simple de bit rate variable en entornos de
transmisión, en donde los canales prácticos son grabación virtualmente libres de ruido. Una
de bit rate fijo, el bit rate total es mantenido cadena de transporte trabaja bien sobre
constante mediante el múltiples programas y en entornos de

33
transmisión de bit rate fijo y posiblemente con
ruido e interferencia. elementales son organizados en “packs” (ver
En una cadena de programa, los paquetes PES figuras 4.6 y 4.7 ).
que fueron obtenidos a partir de cadenas

Figura 4.6

Figura 4.7

decodificar la cadena o no. Al menos el primer


Un pack esta comprendido por un pack header, pack de la secuencia debe tener un system
un opcional system header, y cierto número de
paquetes PES que fueron obtenidos de alguna header. La estructura completa del pack header
cadena elemental. No hay restricción en cuanto y el system header se puede consultar en el
al largo del pack, excepto que un pack header apéndice B. Cabe decir que la estructura de un
debe ocurrir cuando menos cada 0.7 segundos pack (o paquete) en MPEG-2 es heredada
dentro de la cadena de programa, ya que el pack completamente de MPEG-1.
header contiene importante información de Una cadena de programa esta pensada para su
sincronía (la referencia de reloj del sistema, uso en medios libre de errores, por eso lo de
SCR). Los campos SCR se utilizan para entornos de grabación, debido a que son muy
sincronizar en el decodificador un reloj de susceptibles a los errores. Esto es así debido al
sistema común a 90 KHz que sirve de base de largo arbitrario de los packs. Cada paquete
tiempos y de unidad de medida para los campos comienza con un header de paquete. La pérdidas
DTS y PTS de los paquetes. o error en el header puede causar la pérdidas del
El system header contiene un resumen de las paquete entero. Un paquete de programa puede
características de la cadena de programa tales contener miles de kilobytes de datos, y
como: su máximo bit rate, el número de cadenas virtualmente se puede perder una secuencia de
elementales de audio y video que contribuyen, video completa. Debido también a la
etc. Un decodificador puede usar la información variabilidad de los largos de los paquetes, el
contenida en el system header para ver si puede decodificador no puede estimar el comienzo o
34
fin de un pack, resultando en pérdidas de cronológico de los paquetes pertenecientes a la
sincronismo si se llegara a alterar el campo de misma cadena elemental debe preservarse.
largo de paquete.

4.6 La cadena de transporte 4.6.1 El header del paquete de transporte

Una cadena de transporte consiste de paquetes Un paquete de transporte comienza con un


de transporte cortos y de largo fijo (ver fig 4.9 o header de 4 bytes. La estructura de este header
en el apéndice A). Un paquete de transporte , es es mostrada en la figura 4.11 y en el apéndice
siempre de 188 bytes de largo y esta formado A. De varios campos que contiene, cuatro son
por un header de 4 bytes conteniendo un campo de particular importancia:
de adaptación, y un payload. En una cadena de
transporte, los paquetes PES provenientes de • El primer byte del header es un sync
diferentes cadenas elementales, son repartidos byte teniendo un valor de 47 (hex). Este
entre varios payloads de los paquetes de byte puede ocurrir en alguna otra parte
transporte. La figura 4.10 muestra como los del paquete de transporte, pero el
paquetes PES son partidos para formar decodificador lo busca cada 188 bytes
diferentes paquetes de transporte. Este proceso para identificar el comienzo de un nuevo
esta sujeto a dos restricciones. paquete en la cadena de transporte.
• Una simple cadena de transporte puede
1. El primer byte de cada paquete PES, llevar varios programas, cada uno
debe volverse el primer byte del comprendido por varios paquetes PES.
payload de un paquete de transporte. El campo de 13 bits Packet Identifier
2. Un paquete de transporte solo puede (PID), identifica los paquetes de
contener datos de un único paquete transporte que contienen cadenas
PES. elementales de un programa específico.
De los 213 posibles valores, 17 son
Es improbable que un paquete PES llene reservados para propósitos especiales.
exactamente los payloads de un número entero Esto deja 8175 valores que pueden ser
de paquetes de trasporte. Como se ve en la asignados a varias cadenas elementales,
figura 4.10, frecuentemente ocurrirá que no y representa el número máximo de
habrá suficientes bytes como para llenar el cadenas elementales que pueden ser
payload del último paquete de transporte. En acomodadas en una simple cadena de
estos casos se introduce en el paquete de transporte.
transporte un campo de adaptación del largo • El payload_unit_start_inidicator se setea
adecuado. Este malgasto puede ser minimizado para indicar alguna situación peculiar
eligiendo adecuadamente el tamaño de los acerca del primer byte de la parte de
paquetes PES. payload del paquete de transporte. Por
Resumiendo, todos los paquetes PES que van a ejemplo, el bit se setea si el primer byte
ser multiplexados juntos, se convierten a del payload es también el primer byte
paquetes de transporte. Los paquetes de del PES.
transporte son luego sacados secuencialmente • Finalmente, el continuos_count_field es
para producir una cadena MPEG-2 de incrementado entre sucesivos paquetes
transporte. No hay restricciones en cuanto al de transporte pertenecientes a la misma
orden en que aparecen los paquetes de cadena elemental.
transporte en el múltiplex, excepto que el orden

35
Figura 4.8

Figura 4.9

Figura 4.10

Figura 4.11

36
A partir de esta tabla, el decodificador puede
4.6.2 Información Específica de Programa determinar que la cadena elemental de video
(PIS) codificada esta siendo transportada en paquetes
de transporte con PID=726, y que la cadena
En una cadena de transporte, cada paquete de elemental de audio en inglés esta disponible en
transporte tiene un PID que indica a que cadena los paquetes con PID=57.
elemental pertenece su payload (ver sección La PMT básica puede ser enriquecida con
anterior). Puede haber muchas diferentes algunos de los descriptores especificados en
cadenas elementales comprendiendo diferentes MPEG-2. Ellos dan información de un
programas. Cómo puede un decodificador programa o de sus cadenas elementales que los
determinar que cadena elemental pertenece a componen. Los descriptores incluyen
cada programa?. La respuesta es incluir parámetros de codificación de video, parámetros
información adicional en la cadena de transporte de codificación de audio, identificación de
que explicite la relación entre los programas lenguaje, información de pan y scan, detalles de
disponibles y los PID. Dicha información es acceso condicional, información de copyrigth y
llamada Programme Specific Information (PIS ) demás. Un Broadcaster u otro usuario pueden
y debe estar presente en cada cadena de definir otros descriptores privados si lo desean.
transporte.
El PIS especificado por la capa del sistema 4.6.2.2 The Programme Asociation Table
MPEG-2, comprende 4 tipos de tablas: La (PAT)
Programme Map Table (PMT), la
Programme Association Table (PAT), la Una lista completa de todos los programas
Network Information Table (NIT), y la disponibles en una cadena de transporte, es
Conditional Access Table (CAT). Note que mantenida en un PAT. Esta tabla es fácil de
estas tablas pueden llevarse en los payloads de encontrar, ya que siempre tiene un PID=0. Cada
uno o mas paquetes de transporte, y por lo tanto programa es listado con el valor de PID de los
ser acomodadas en una cadena de transporte. paquetes de transporte que contienen su Tabla
del Mapa del Programa (PMT). Por ejemplo, en
4.6.2.1 The Programme Map Table (PMT) el PAT de la figura 4.13, el PMT del programa 3
se encuentra en los paquetes de transporte con
Cada programa llevado en una cadena de PID=1127.
transporte tiene un PMT asociado a él. Esta
tabla tiene los detalles del programa, y las
cadenas elementales que lo componen. La figura
4.12 muestra un ejemplo de PMT.

Figura 4.13
Figura 4.12
Esta permitido que una única PMT, contenga
información de mas de un programa. Esto es de
37
particular ventaja cuando las definiciones de Una tabla llamada Programme Stream Map es
programas son cortas. En vez de usar varios definida para usar en una cadena de programa y
paquetes de transporte para colocar las PMT de establece el tipo (audio, video, otro) de
los diferentes programas, usamos un solo información llevada en cada cadena elemental.
paquete y colocamos en esa única PMT la Puede ser enriquecida con descriptores privados
información de otros programas. definidos por MPEG, para dar información
sobre el programa o las diferentes cadenas
4.6.2.3 The Network Information Table (NIT) elementales.
La figura 4.14 muestra de que forma se utilizan
El programa número cero tiene especial las tablas descritas anteriormente, constituyendo
significado en la Tabla de Asociación de una PSI (Program Specific Information).
Programa. Es usado para indicar el camino a la Se incluyó además un resumen de la jerarquía
Network Information Table (NIT). Esta tabla es de producción de las cadenas de programa y de
opcional y su contenido es privado (es decir, transporte que usa MPEG-2 en la figura 4.15.
definido por el broadcaster y no por MPEG).
Cuando está presente, lleva información de la
red física por donde es transportada la cadena de
transporte, tal como frecuencias de los canales,
detalles del transponder de los satélites,
características de modulación, originador del
servicio, nombre del servicio y detalles de redes
alternativas disponibles.

4.6.2.4 The Conditional Acces Table (CAT)

Finalmente, está la Tabla de Acceso


Condicional. Esta tabla debe estar presente a
partir del momento en que al menos un
programa sea de acceso condicional.
La tabla provee detalles del sistema de mezcla
en uso y provee los valores de PID de los
paquetes de transporte que contienen la gestión
de los accesos condicionales e información de
derechos. El formato de esta información no
esta especificado dentro de MPEG-2 .

4.7 Otra información Específica de Programa

La información Específica de Programa esta


definida también para ser usada en cadenas de
programa múltiplex. Como una cadena de
programa puede llevar solo un programa, todas
las cadenas elementales presentes en el
múltiplex deben pertenecer al mismo programa.

38
Figura 4.14. Uso de las tablas definidas por MPEG-2

El decodificador comienza buscando los


paquetes de transporte con PID=0, donde se
encuentra la PAT. En ella descubre, por
ejemplo, que la PMT del programa nº 3, se
encuentra en el paquete con PID=33. Leyendo
ese paquete, descubre que el video comprimido
de ese programa se encuentra en los paquetes
con PID=19, el audio para el mismo en los
paquetes con PID=81 y PID=82, y datos
auxiliares en los paquetes con PID=88.

39
40
fácilmente por los distintos programas y
4.8 Como demultiplexar MPEG-2 servicios que se le ofrecen.

Las siguientes son las principales etapas que hay


que seguir para encontrar un programa o
servicio en un múltiplex de transporte MPEG-2, Sección 5
una vez que el múltiplex ha sido capturado
(sintonizado en un canal). A partir de la captura
Referencias de reloj
(sincronización) de un nuevo canal:
Los relojes usados en el multiplexor y en el
• Filtrar el PID 0 para capturar los decodificador no miden tiempo en horas y
paquetes que transportan las secciones
minutos, sino en unidades de 27 MHz
PAT.
expresadas con números binarios de 42 bits.
• Construir la tabla de asociación de En una cadena de programa que puede llevar
programas (PAT) a partir de las solo un programa simple, el reloj se llama
secciones que la componen. System Clock. Las marcas de tiempo asignadas
a todas las unidades de acceso, están basadas en
• Presentar el menú de programas este reloj. La figura 5.1 resume el proceso de
disponibles al usuario. asignación de marcas de tiempo. Una marca de
tiempo es un valor que representa un tiempo.
Después de elegir el programa: Una de las funciones del multiplexor es el de
asignar marcas de tiempo a las unidades de
• Filtrar los PID correspondientes a este acceso que salen del codificador. En la figura
programa 5.1, el codificador ha generado tres unidades de
acceso, y ellas han adquirido las marcas de
• Construir la tabla de programa a partir tiempo 10:27, 10:28 y 10:29 respectivamente.
de las secciones correspondientes que lo
componen. Muestras regulares del reloj del sistema son
llevadas en la cadena de programa, para permitir
• Filtrar el paquete indicado por el campo que el codificador y decodificador se
PCR -PID; recuperar el PCR y sincronicen. Estas muestras son llamadas
sincronizar el reloj del sistema. System Clock References (SCR) y son
codificadas en campos opcionales de los pack
• Si hay varios PID de audio o video para headers de la cadena de programa. Una SCR
este programa, presentar las opciones al debe aparecer en la cadena de programa al
usuario. menos una vez cada 0.7 segundos.

La segunda alternativa de multiplexión de


Una vez hecha esta nueva elección. MPEG-2, la cadena de transporte, puede tener
diferentes programas.
• Filtrar los PID correspondientes; puede Cada programa tiene su propio reloj
empezar la decodificación propiamente independiente, llamado Programme Clock, que
dicha. no necesita estar sincronizado con los relojes de
los demás programas. Esta permitido, sin
La parte visible por el usuario de este proceso es embargo, que diferentes programas compartan
la presentación interactiva de la "guía un mismo reloj de programa. Las marcas de
electrónica de programa" (Electronic Program tiempo asignadas a las unidades de acceso, están
Guide, EPG); generalmente asociada a la red basadas en sus respectivos relojes de programa.
por medio de la información proporcionada por
las tablas DVB-SI, para permitirle navegar

41
permiten que el decodificador sincronice su
Las muestras de cada reloj de programa reloj con el reloj del programa que está
llamadas Programme Clock References (PCR) decodificando o que va a decodificar
son llevadas en la cadena de transporte. Ellas

Figura 5.1

Un PCR de cada programa debe aparecer en la En cadenas de transporte, los relojes son
cadena de transporte al menos una vez cada 0.1 llamados Programme Clocks (Relojes del
segundos. Para encontrar en que paquete de Programa) y las referencias de tiempo son
transporte se lleva la PCR de determinado llamadas Programme Clock References
programa, hay que consultar la tabla del mapa (Referencias del Reloj del Programa).
del programa (PMT) (ver figura 4.9). Dejando de lado la diferencias en los nombres,
hay muy pocas diferencias entre los relojes y sus
Note la confusión potencial aquí. En una cadena funciones en los diferentes múltiplex.
de programa, el reloj es llamado System Clock
(Reloj del Sistema) y las referencias de tiempo
son llamadas System Clock Reference
(Referencia de Reloj del Sistema).

42
Resumen

El estándar MPEG-2 fue pensado para transmisión de señales de TV en forma completamente digital.
De cara a esto, una de las mas sobresalientes características del estándar es el de dar soporte a material
entrelazado.
Debido a las diferentes necesidades de los usuarios finales de servicio (end users), MPEG-2 introdujo el
concepto de perfiles y niveles en donde aparecen los perfiles escalables. Gracias a ellos, se puede
transmitir una señal base con la información mas importante de video, y otra secundaria o de ayuda para
los usuarios mas exigentes. Esto es simulcasting. Un ejemplo de esto es la difusión de HDTV, donde los
usuarios convencionales solo decodifican el SDTV.
La capa del sistema de MPEG-2 es la primera parte del estándar (ISO/IEC 13818-1). En esta, se define
la sintaxis para el bit stream tanto de audio como de video, y se diferencia la sintaxis dependiendo de la
aplicación. Si la aplicación en cuestión es almacenamiento y reproducción de la secuencia, MPEG-2
utiliza las cadenas de programa que son relativamente largas y de tamaño variable. Como el medio es
virtualmente libre de ruido, es muy poco probable que se pierdan datos y/o el sincronismo, y la carga
adicional de esta cadenas de programa producida por los headers es sustancialmente menor que en las
cadenas de transporte. Si la aplicación es la transmisión de múltiples programas por un canal ruidoso,
MPEG-2 hace uso de las cortas y de tamaño fijo cadenas de transporte.
Debido a la necesidad de sincronía entre el transmisor y el receptor, se deben incluir en la secuencia las
referencias de reloj, que son muestras del reloj del codificador.
La especificación completa de MPEG-2 estuvo lista en Noviembre de 1994, y fue publicada en el año
1995.
MPEG-2 no estandariza los codificadores, pero si la sintaxis de salida del bitstream. Con esto se logra
que los diseñadores se adapten a sus necesidades de costo, y a su vez, que todos los decodificadores sean
capaces de decodificar cualquier secuencia de video MPEG-2.

Glosario de términos

Cadena Elemental (Elementary Stream): Secuencia de bits en bruto ya sea de audio, video o datos
auxiliares provenientes de la codificación de un determinado material.

Cadenas de Programa (Programme Stream): Uno de los dos posibles múltiplex que define MPEG-
2.La cadena de programa es el múltiplex adecuado para almacenamiento de audio y/o video.

Cadenas de Transporte (Transport Stream): Uno de los dos posibles múltiplex que define MPEG-
2.La cadena de transporte es el múltiplex adecuado para la transmisión de audio y/o video sobre un
canal ruidoso.

Campo (field): Un campo corresponde a la mitad de las líneas de una imagen completa. El campo impar
de una imagen esta constituido por las líneas 1, 3, 5, 7....y el par por las líneas 2, 4, 6, 8.....Si la imagen
es entrelazada, esta se forma escaneando primero el campo impar y luego el par y entrelazando ambos
campos.

43
CAT (Conditional Acces Table) : Tabla de Acceso Condicional. Registros de los accesos
condicionales a determinados programas.

Compensación de Movimiento: Procedimiento por el cual se minimiza la diferencia entre imágenes


consecutivas en una secuencia de video. Se basa en la busqueda en la imagen anterior de los
macrobloques presentes en la imagen actual.

Cuadro (frame): Imagen completa. Si esta fue adquirida en forma entrelazada, un cuadro se refiere al
conjunto de ambos campos.

DVD: Digital Video Disc.Dispositivo de almacenamiento digital.

Entrelazado: Procedimiento que mezcla dos campos de un cuadro para formar el cuadro completo. Las
líneas de cada campo se alternan en el mezclado.

HDTV: High Definition TV. Televisión de alta definición.

Imagen (Picture): Se refiere ya sea a un solo campo de un cuadro o al cuadro completo. Depende del
contexto en que nos encontremos.

Múltiplex: Organización de las cadenas elementales paquetizadas (PES) realizada ya sea para
almacenamiento del material o la transmisión del mismo. MPEG-2 define dos alternativas de múltiplex:
la cadena de transporte y la cadena de programa.

NIT (Network Information Table): Tabla de Información de Red. Información opcional sobre el
enlace por el cual circulan los datos.

Nivel: Conjunto de parámetros de codificación, tales como bit y frame rate o picture format, que junto
con el perfil definen el comportamiento de un codificador y decodificador, adecuado para determinada
aplicación.

Overflowing: Estado de saturación del buffer del codificador, producido posiblemente por la
codificación de imágenes de mucha entropía.

PAT (Programme Asociation Table): Tabla de Asociación de Programa. Información de todos los
programas en una cadena de transporte.

PC (Programme Clock): Reloj de Programa. Reloj que comanda las marcas de tiempo y referencias de
reloj de un determinado programa en una cadena de transporte.

PCR (Programme Clock References): Referencias de Reloj del Programa. Muestras del reloj de
determinado programa que el codificador envía al decodificador, a los efectos de mantener la sincronía.

Perfil: Indicador del grado de complejidad de un codificador. Cuanto mayor es el perfil en que opera un
codificador, mejor es la calidad de la secuencia de video que produce para un determinado bit rate. Junto
con el nivel, se establece el punto de operación de un codificador.

PES (Paquetized Elementary Stream): Cadenas elementales paquetizadas. Sintaxis definida por
MPEG-2 para la división de las largas cadenas elementales de audio o video producidas por un
codificador. Cada PES contiene un header con los datos necesarios para la descodificación. A partir de
los PES se forman las cadenas de transporte y programa definidas anteriormente.

44
PMT (Programme Map Table): Tabla de Mapa de Programa. Datos específicos de un programa en
particular.

Programa: Secuencia de video, audio o video con su audio asociado disponible en el codificador para
ser comprimida.

Imagen progresiva: Imagen que fue adquirida línea por línea.

RLC (Run Length Coding): codificación por longitud de carrera. Algoritmo de codificación que hace
uso de largas cadenas de símbolos iguales para una codificación eficiente.

SDTV (Imagen Definition TV: Televisión de definición estándar.

SC (System Clock): Reloj del Sistema. Reloj que comanda las marcas e tiempo y referencias de reloj en
una cadena de programa.

SCR (System Clock References): Referencias del Reloj del Sistema. Muestras del reloj del sistema que
el codificador envía al decodificador, a los efectos de mantener la sincronía.

Underflowing: Estado del buffer del codificador en el cual se encuentra prácticamente vació, debido
posiblemente a la codificación de imágenes de baja entropía.

VLC (Variable Length Coding): Codificación de longitud variable. Algoritmo de codificación que
hace uso de la estadística de los símbolos para codificar de forma mas eficiente. Los símbolos mas
probables se codifican con palabras mas cortas.

Unidad de presentación: Imagen sin comprimir, dispuesta a ser codificada.

Unidad de acceso: Imagen comprimida ya sea I, B, o P.

45
Apéndice A

Estructura de los paquetes PES y las cadenas de transporte

46
Detalle del header

47
Detalle del campo de adaptación

Apéndice B

Estructura del pack header y el system header de un pack, componentes de una


cadena de programa de MPEG-2
Estructura del pack header

48
Estructura del system header

49
Apéndice C

Submuestreo del canal de croma

El primer paso en la reducción del bit rate de una secuencia de video es el submuestreo del canal de
croma. Hoy la mayoría de las imágenes electrónicas son grabadas en color, en el dominio RGB (Red,
Green, Blue). MPEG transforma las imágenes RGB al espacio luminancia crominancia, generalmente
referido al dominio Y-Cr-Cb, definido como

Y = 0.3R + 0.6 B + 0.1G


B −Y
Cr = + 0.5
2
R −Y
Cb = + 0.5
1.6

Es sabido que el sistema visual humano no responde de la misma manera a todas las frecuencias de la
imagen ni a los diferentes canales de color.
La siguiente figura ilustra la sensibilidad al contraste del ojo humano en función de la frecuencia
espacial de la imagen para la luminancia y los dos canales de crominancia.

Figura A.1

Observamos que la sensibilidad al contraste decae con la frecuencia espacial de la imagen, y que este
decaimiento es mas pronunciado para los canales de crominancia que para el de luminancia. Debido a
esto, se puede realizar un submuestreo de ambos canales de croma, por ejemplo 2:1, sin perder
perceptualidad en la imagen. El tipo de submuestreo usado depende de la aplicación, fijando un
compromiso entre calidad y bit rate. La siguiente tabla ilustra los diferentes modos de submuestreo para
una imagen típica CCIR 601 con 720 pixeles/linea y 480 líneas por cuadro:

50
Factor de Factor de
Formato Muestras líneas Y Muestras líneas C submuestreo submuestreo
de croma Y por línea por cuadro C por línea por cuadro horizontal vertical

4:4:4 720 480 720 480 ninguno ninguno


4:2:2 720 480 360 480 2:1 ninguno
4:2:0 720 480 360 240 2:1 2:1
4:1:1 720 480 180 480 4:1 ninguno
4:1:0 720 480 180 120 4:1 4:1

Apéndice D

Un compresor MPEG

Figura D.1

Las figuras D.1, D.2, y D.3 muestran las estructura de un compresor MPEG típico. La señal de video
preprocesada entra en una serie de buffers que almacenan imágenes y eventualmente cambian el orden
de las imágenes. El dato luego entra al sustractor y al estimador de movimiento. En las figuras, los
cuadros en negro no son usados en el proceso. Para crear una imagen I (figura D.1), se selecciona la

51
imagen mas reciente del buffer de entrada y el sustractor es apagado, de modo que la imagen pasa
directamente al codificador espacial. Esta imagen es retenida en una memoria local para su uso futuro.

Figura D.2

Para crear una imagen P (figura D.2), las imágenes B que van llegando ( o mejor dicho, las que van a ser
imágenes B), son almacenadas en el buffer de entrada de forma que se seleccione una imagen futura.
Esta imagen P seleccionada es comparada con al imagen I almacenada en la memoria para crear el
vector de predicción hacia delante (forward motion vector). La imagen I es corrida por este vector para
formar la imagen predecida. Luego se sustrae la imagen original de esta ultima para formar el error de
predicción, que luego se codifica espacialmente. además, se almacena en la memoria local esta imagen
P, de forma de usarla posteriormente.

52
Figura D.3

Una vez que se tienen almacenadas las imágenes I y P, se retira del buffer de entrada una imagen B
previamente almacenada (figura D.3). Esta imagen se compara con la imagen I anterior y la P posterior
para crear los vectores hacia delante y hacia atrás respectivamente y producir las dos imágenes
predecidas hacia adelante y atrás. Luego son restadas de la imagen actual y ambos errores de predicción
se codifican espacialmente. En una base de macrobloque por macrobloque, son seleccionados los datos
que representan la diferencia mas pequeña. Luego se transmiten junto con los respectivos vectores de
movimiento. Una vez que se codifican todas las imágenes intermedias (imágenes B), de nuevo se
retienen imágenes en el buffer de entrada para codificar la imagen P futura y el proceso se repite a lo
largo del GOP.

53
Documentos utilizados:
El presente trabajo esta basado en una recopilacion de diversos papers encontrados en Internet acerca de
MPEG-2. Se intentó reunir de todos ellos los datos mas relevantes para armar un resumen de
la especificación del estándar MPEG-2. Dos de los documentos que colaboraron con gran parte de la
información citada en el trabajo son los siguientes:

• [1] MPEG Video Coding: A basic tutorial introduction, Research and Development
Department, Policy and Planning Directorate, The British Broadcasting Corporation.
• [2]. A Guide to MPEG Fundamentals and Protocol Analysis
(Including DVB and ATSC), Tektronix. www.tektronix.com

54
55

También podría gustarte