• No se han encontrado resultados

Datos 1 seg. almacenados (Mb/s) (*) Frecuencia muestreo (C R,C B ) (MHz)

N/A
N/A
Protected

Academic year: 2021

Share "Datos 1 seg. almacenados (Mb/s) (*) Frecuencia muestreo (C R,C B ) (MHz)"

Copied!
40
0
0

Texto completo

(1)

3. Compresión de la información de vídeo

3.1. Introducción

La necesidad de la compresión en vídeo digital aparece en el momento que se tratan las secuencias de imágenes como señales digitales. El problema principal que tiene el manejo del vídeo digital es la cantidad de bits que aparecen al realizar la codificación. En la siguiente tabla, se muestran varios ejemplos. En ella, se considera la digitalización de una señal de televisión de 625 líneas a una velocidad de 25 imágenes por segundo.

Estándar Frecuencia muestreo (Y) (MHz) Frecuencia muestreo (CR,CB) (MHz) Datos 1 seg. almacenados (Mb/s) (*) Datos 1 seg. parte activa (Mb/s) (**) Capacidad de disco 10 GB (mm:ss) 4:4:4 4:2:2 4:1:1 13.5 13.5 13.5 13.5 6.75 3.375 324 216 162 248.8 165.9 124.4 5m 22s 8m 02s 10m 43s (*).- Cantidad de datos que se necesitan para almacenar 1 segundo de señal de televisión digitalizada a la frecuencia de muestreo real.

(**).- Cantidad de datos que se necesitan para almacenar 1 segundo de señal de televisión, eliminando todo aquello que no es directamente imagen (intervalos de sincronismo...).

Si nos centramos en el estándar 4:2:2 definido por la recomendación ITU-R BT.601, puede observarse que, sin aplicar compresión, en un disco duro con una capacidad de 10 GigaBytes podemos almacenar algo más de ocho minutos de imágenes. Y esto considerando exclusivamente la información de la imagen, y eliminando las partes de la señal dedicadas a los sincronismos.

Si ahora aplicamos sobre esta información distintos factores de compresión, veremos que la eficiencia de almacenamiento aumenta considerablemente. Así para el estándar 4:2:2 con diferentes factores de compresión se obtendrían los resultados de esta tabla:

Compresión Tamaño parte activa (Mb/s) Capacidad en disco 10GB 1:1 2:1 3.3:1 5:1 10:1 50:1 165.9 83.0 50.3 33.2 16.6 3.3 8m 02s 16m 04s 26m 30s 40m 10s 1h 20m 20s 6h 41m 40s

(2)

enviaría un canal de televisión en formato 4:2:2 sin comprimir se podrían enviar del orden de 2590 canales telefónicos.

Puesto que, tanto el espacio en disco por minuto como el ancho de banda radioeléctrico son recursos limitados, se hace conveniente aplicar factores de compresión para la transmisión, para el almacenamiento, e incluso para la producción de programas. Una vez comprimida la información será más sencillo almacenarla o transmitirla.

Así pues, la compresión, por un lado, es un factor económico ya que reduce el costo de la transmisión, o distribución de señales. Dado un medio de transmisión concreto con un determinado coste de amortización, cuanto menor sea el ancho de banda de los canales a transmitir, más canales estarán disponibles, y más económico resultará cada canal.

Además, en determinadas aplicaciones, el factor de compresión va a venir impuesto por la velocidad binaria del canal de transmisión disponible. Este es el caso, por ejemplo, de la videoconferencia. En la videoconferencia, la información de vídeo digital se manda a través de un canal telefónico disponiendose de una velocidad binaria de 64kb/s. En este caso, el factor de compresión hemos de ajustarlo a esta restricción, aún a costa, como veremos, de la calidad, ya que lo esencial es la disponibilidad del servicio.

Todo proceso de compresión, para ser útil, debe llevar asociado un proceso de descompresión posterior, por el cual se recupera el tren de datos original a partir de los datos comprimidos. Para ello se seguirá el orden inverso al de la compresión.

3.2. La compresión de la señal de video

En el ámbito digital, para almacenar o transmitir información se utiliza un tren de datos. Para que sea posible la compresión de este tren de datos, es necesario que en él exista, además de información real, información redundante. Esta información redundante podremos eliminarla durante el proceso de compresión, y posteriormente reconstruirla en el proceso de descompresión a partir de la información real. La información real en cambio, será imprescindible para recuperar los datos originales de forma correcta, de modo que no es posible obviarla.

La misión de un sistema de compresión consiste en detectar y eliminar la información redundante, codificando solamente la información útil. Por lo tanto, podemos considerar la compresión digital como un procedimiento, matemático en general, que rebaja el flujo binario de un tren de datos, en base a la eliminación de información redundante y a una codificación inteligente de la información real.

La compresión, a partir de ciertos valores influye negativamente en la calidad del vídeo. Por eso, debe utilizarse un algoritmo y un factor de compresión que minimicen dicha degradación. Según estas consideraciones, podemos clasificar la compresión en tres tipos diferentes: compresión sin pérdidas, compresión subjetivamente sin pérdidas y compresión subjetivamente con pérdidas. Éstas, las vamos a tratar en los próximos párrafos.

(3)

En la compresión sin pérdidas, la información original se recupera en su integridad después del proceso de compresión-descompresión. Este tipo es muy utilizado para la compresión de datos informáticos. Dependiendo del tipo de archivo, este modo tiene niveles de compresión variables. Con algunos archivos puede llegar a compresiones de 70:1, pero en otros casos, no es posible comprimir ya que el archivo comprimido podría ser incluso de mayor tamaño que el original.

Por otra parte, con la compresión subjetivamente sin pérdidas, en el proceso de compresión-descompresión, no se recupera absolutamente toda la información original, pero el sistema receptor, como por ejemplo el sistema visual humano, no detecta las diferencias. En el ámbito de la compresión digital de sonido e imagen, existe una norma general y es que “lo que el ojo no ve, o lo que el oído no oye, no se codifica”. Este tipo de compresión, es el que se utiliza en vídeo digital, y es el que más nos interesa por su mantenimiento de la calidad, consiguiendo factores de compresión interesantes.

Finalmente, en la compresión subjetivamente con pérdidas, durante el proceso de compresión-descompresión se degrada significativamente la calidad de la información, pero el usuario lo tolera en beneficio del servicio recibido. Este tipo de compresión, lleva asociados grandes factores de compresión y se utiliza generalmente en multimedia; en los sistemas de videoconferencia como se dijo anteriormente; en sistemas de vigilancia y seguridad; en consultas de video y en edición fuera de línea; es decir, procesos todos ellos en los que la calidad no es un factor importante, sino el mantenimiento del servicio con un coste razonable.

Dentro de todas estas categorías existen gran cantidad de técnicas de compresión dependiendo de la aplicación para la que se utilizan. En el caso del vídeo, el número de métodos se dispara; y actualmente, es uno de los campos de mayor investigación dentro del mundo del tratamiento digital de las imágenes.

Algunas técnicas de compresión se han conseguido, simplemente atendiendo a las diferentes sensibilidades que tiene el ojo humano frente al brillo y a los colores. Esta posibilidad de compresión, viene expresada en la recomendación ITU-R BT.601 cuando habla de las distintas familias que se desarrollan bajo esta norma (4:4:4, 4:2:2, 4:1:1, 4:2:0, ...), cada una de ellas, con diferentes flujos binarios.

El conocido formato de video 4:4:4 utiliza la misma frecuencia de muestreo para las señales de color que para la de luminancia. En el formato 4:2:2, en cambio, la frecuencia de muestreo de las señales de color pasa a ser la mitad. Sin embargo, esta forma de compresión no degrada subjetivamente la calidad, sino que este formato se ajusta más a las distintas sensibilidades del ojo.

El sistema 4:4:4 se utiliza, no porque ofrezca una mayor calidad subjetiva, sino porque las operaciones de tratamiento digital de imágenes, u otras operaciones como el croma-key (llave de color), en el que se conmuta de imagen a partir de la información del color de los píxeles, se

(4)

El paso del formato 4:2:2 al 4:1:1 o al 4:2:0 sí supone eliminar información sensible al ojo. Esta información que se elimina, no es en este caso redundante, y no puede recuperarse en un hipotético proceso de descompresión. Por ello esta compresión se denomina con pérdidas, o degradante.

Otros métodos de compresión que se han establecido como estándar por sus prestaciones y su amplia aplicación son los métodos denominados MPEG. Las siglas MPEG vienen de (Motion Pictures Expert Group) nombre de un grupo de expertos común entre la ISO (International Standards Organization) y la IEC (International Electrotechnical committe). El fundamento básico de la compresión MPEG es el siguiente:

a)- Se busca una representación válida de la imagen que concentre la información en una pequeña parte de la descripción.

b)- Se cuantifican los elementos de dicha representación de modo que se discretizan sus posibles valores.

c)- A cada nivel de cuantificación se le asigna un código de bits.

Concretamente el método MPEG-2 se utiliza en todos los ámbitos de la televisión digital. Este método, que será el que estudiemos más profundamente en este tema, tiene dos características muy importantes para su aplicación en video digital. La primera es que permite utilizar múltiples factores de compresión en función de las necesidades de la aplicación. La segunda es que las pérdidas de calidad al comprimir son relativamente bajas. Incluso se ha demostrado que la compresión MPEG-2 con factor 1:3,3 puede considerarse como subjetivamente sin pérdidas. Esto la hace apropiada para aplicaciones en las que se quiera mantener la posibilidad de multigeneración, es decir, efectuar sucesivamente procesos de compresión y descompresión sin la aparición de defectos de imagen, o artefactos.

A continuación pueden verse algunos ejemplos de utilización de la compresión, referidos a las velocidades binarias utilizadas en algunos modos de transmisión:

- Para comunicaciones dentro de un estudio se utilizan enlaces a 50Mb/s. En este punto debemos observar que el flujo binario resultante de la parte activa del formato 4:2:2 es de 165,9 Mb/s.; y si se aplica el factor 1:3,3 a este flujo obtenemos 50,3 Mb/s, con lo que las transmisiones a 50 Mb/s podemos considerarlas sin pérdidas.

- También se utilizan 50Mb/s para comunicaciones mediante fibra óptica.

- Para comunicaciones vía satélite es común utilizar enlaces a 34 Mb/s, aunque a veces también se utilizan 50Mb/s.

(5)

- En los casos de distribución de la señal vía radio, se aplican factores de compresión más grandes según el canal disponible. Por ejemplo, en los satélites de distribución lo normal es utilizar un factor de compresión que permite enviar de 4 a 7 canales digitales en el mismo ancho de banda que ocuparía uno analógico.

- En la difusión de televisión digital, el flujo binario es diferente, según la calidad requerida. En la siguiente tabla se muestran los distintos niveles de calidad y sus flujos binarios recomendados:

Calidad - Definición Flujo binario HDTV (alta definición)

EDTV (Calidad de estudio ITU-R BT.601) SDTV (Calidad estándar -PAL / SECAM / NTSC)

LDTV (Calidad VHS)

15-30 Mb/s 6-12 Mb/s

3-6 Mb/s 1.5-3 Mb/s

3.3. La redundancia en la información de video

Los algoritmos de compresión en vídeo digital se basan, como hemos visto en los apartados anteriores, en la existencia de información redundante a lo largo de cualquier secuencia. Dentro de la corriente de datos que supone una comunicación de vídeo digital podemos detectar una parte de los datos que corresponden a información real, que será necesaria para reproducir dicha secuencia; e información redundante, que no proporcionará información al decodificador y que por tanto podemos eliminar.

En términos de compresión, sería muy beneficioso minimizar al máximo la información redundante de forma que reduzcamos el flujo binario sin perder la información necesaria para recuperar una secuencia. Sin embargo, en términos de seguridad en la transmisión, hemos de decir que la redundancia es positiva, ya que proporciona cierta protección ante cortes de la información que se está transmitiendo.

La información redundante que aparece en una secuencia de vídeo digital podemos considerarla de tres tipos: redundancia espacial, redundancia temporal y redundancia estadística. A cada una de ellas se les asocian diferentes procedimientos mediante los cuales se minimiza dicha redundancia aumentando la compresión.

(6)

Figura 1. Redundancia espacial. Zonas amplias de píxeles iguales.

Figura 2. Redundancia temporal: cambio mínimo de fotograma en fotograma.

3.3.1. Redundancia espacial.

La redundancia espacial tiene lugar dentro de cada fotograma. Ésta, viene asociada al hecho de que la naturaleza está llena de objetos sólidos con superficies y texturas uniformes; los decorados, los paisajes, e incluso los rostros no varían significativamente la información de pixel a pixel, sino que encontraremos generalmente grandes superficies sin variación.

El hecho de que varios píxeles adyacentes sean prácticamente iguales nos va a permitir, en

vez de transmitirlos todos o almacenarlos todos, transmitir un píxel representativo del conjunto, y las diferencias de cada uno respecto a éste. Dichas diferencias, por ser generalmente pequeñas, pueden codificarse con menos bits.

Uno de los ejemplos de compresión aprovechando la redundancia espacial son la codificación de cadenas largas de datos iguales (RLC - Run Lenght Code, codificación de longitudes de recorrido). En el caso de que se detecte en el tren binario una cadena larga de dígitos que se repiten, en lugar de codificar cada dígito, parece una buena técnica codificar cuál es el dígito de que se trata, y cuantas veces se repite. Un ejemplo de dispositivo que utiliza esta técnica es el fax. Esta técnica se utiliza habitualmente en lo que llamaremos codificación “intracuadro”, es decir dentro de cada fotograma.

3.3.2. Redundancia temporal.

La redundancia temporal viene dada por la relación entre los píxeles homólogos de imágenes sucesivas. Esta redundancia aparece porque la vida no cambia significativamente de fotograma a fotograma. Evidentemente, en 40ms. suponiendo una frecuencia de cuadro de 25 f/s. no ocurren grandes cosas desde el punto de vista del espectador. Lo que el espectador espera al contemplar una secuencia de vídeo, es una continuidad en la acción, y no un cambio continuo en los planos.

Así, en la mayoría de los casos podemos afirmar que un fotograma va a ser similar al siguiente o al anterior. Si comparamos los

(7)

Figura 3. Codificación DPCM.La cantidad de valores posibles disminuye drásticamente. fotogramas de un trozo de película observaremos que, en general, son similares. Es necesario avanzar varios fotogramas para apreciar diferencias.

Una técnica de compresión que se puede usar, tanto para eliminar la redundancia temporal, como la espacial, es la codificación diferencial de pulsos modulados (DPCM). La DPCM codifica el valor de diferencia de una muestra con respecto a la anterior. Si codificásemos el valor absoluto de cada muestra necesitaríamos palabras binarias más largas, ya que los valores absolutos de las muestras serán mucho mayores que la diferencia entre una muestra y la anterior. Los histogramas de la figura 3 muestran el número de ocurrencias para cada valor de los píxeles en una imagen con codificaciones PCM y DPCM. Con codificación PCM, imagen izquierda, se deben procesar todos los valores comprendidos entre 10 y 200; mientras que en DPCM, imagen derecha, sólo tiene que codificar valores comprendidos entre +20 y -20, consiguiendo por tanto una reducción importante de bits.

Existen variantes de este método, que tratan de reducir al máximo los errores a transmitir, efectuando las predicciones en base a un conjunto de píxeles significativos.

3.3.3. Redundancia estadística.

La redundancia estadística, se basa en que en algunas aplicaciones, determinados valores tienden a repetirse más que otros. Una de las técnicas de compresión basada en la detección de redundancia estadística es la codificación de longitud variable (VLC - Variable Lenght Code). Este modo de compresión consiste en asignar códigos más largos en bits a los valores de muestra que aparecen menor número de veces, y códigos más cortos a los que aparecen más a menudo. En este método, antes de aplicar los códigos de longitud variable, el codificador deberá analizar estadísticamente los datos que le llegan, para aplicar después la codificación óptima a

(8)

El ejemplo de compresión VLC más utilizado es quizá el código Huffman. Su ejecución es un poco compleja, pero la idea es la misma: asignar cadenas de bits más cortas a los códigos más frecuentes y más largas a los menos frecuentes.

El método de ejecución es el siguiente:

a)- Se estudia el número de apariciones de cada símbolo, o su probabilidad de aparición y se confecciona una tabla con todos ellos.

b)- Se escogen los dos códigos (o grupos) que tengan menor número de apariciones, y se les asigna a cada uno de ellos el bit 0 o 1, y se asocian como si fueran las ramas de un árbol. c)- Se quitan los dos códigos (o grupos) anteriores y se abre un nuevo grupo cuyo valor de

apariciones sea la suma de estos.

d)- Se repiten los pasos b, c, y d hasta que sólo quede un grupo.

f)- Para asignar a cada símbolo un código, se recorre el árbol desde el tronco principal hasta las ramas en las que está cada símbolo, obteniendo su código Huffman para la aplicación concreta que se ha estudiado.

Es obvio que los mismos símbolos pueden tener distintos códigos Huffman dependiendo de la aplicación que se trate; ya que en distintas aplicaciones, las probabilidades de aparición de los símbolos puede ser diferente.

3.4. Métodos de compresión por transformación: la

DCT

Existe una gran variedad de métodos de compresión que se basan en la detección de la redundancia en un dominio transformado. Esto se realiza transformando la señal desde el ámbito temporal o espacial al ámbito de las frecuencias.

En el dominio espacio-temporal, la probabilidad de aparición de todos los valores de los píxeles es constante, y por tanto es difícil reducir el número de datos, en base a una redundancia estadística. En cambio, en el dominio de la frecuencia no se tiene una distribución uniforme del espectro. En general, las altas frecuencias aparecen menos veces, ya que es más habitual encontrar cambios suaves y grandes superficies monocolor que grandes contrastes. Los contrastes grandes se sitúan en los contornos de los objetos, que en general son menos abundantes. Por eso podemos decir que existe mucho más contenido en las bajas frecuencias que en las altas. Este hecho ya se comprobó en las prácticas 3 y 4 correspondientes al tema 1.

Otro aspecto que hemos de tener en cuenta, es que nuestro ojo atiende más a las grandes superficies, por tanto a las bajas frecuencias, que a los detalles pequeños que generarán valores

(9)

DCT

(

x

[

n

])

C

[

u

]

α

(

u

) ·

N1 n0

x

[

n

] · cos

(2

n

1)

π

u

2

N

α

(

u

) |

u0

1

N

α

(

u

) |

u0

2

N

DCT

1

(

C

[

u

])

x

[

n

]

N1 u0

α

(

u

) ·

C

[

u

] · cos

(2

n

1)

π

u

2

N

de alta frecuencia. Los métodos de compresión por transformación se aprovechan de esta circunstancia para reducir el número de datos a codificar.

La transformada discreta del coseno es la herramienta de transformación más utilizada por los métodos de compresión intracuadro. Esta transformada, que aprovecha la existencia de redundancia espacial en las imágenes y la encontraremos en los estándares JPEG, MJPEG y sus derivados, y en la familia MPEG.

3.4.1. Cálculo de la DCT unidimensional

La DCT es una transformación matemática que convierte una secuencia de muestras de N valores, en otra secuencia del mismo tamaño N cuyos valores, como ahora veremos, representan una distribución de frecuencias La expresión de la transformada discreta del coseno (DCT) unidimensional correspondiente a una secuencia de números x[n] de tamaño N es la siguiente.

En esta expresión, la variable “u” de salida, que representa el índice del coeficiente que se está calculando, adopta los valores comprendidos entre 0 y N-1, de manera que la DCT resulta ser una secuencia también de tamaño N. Asimismo, el valor de “n” representa a los índices de cada elemento de la secuencia que se quiere transformar.

El parámetro α(u) tiene dos valores posibles, que son estos:

Existen otras formas de escribir esta expresión con valores derivados de este α(u), pero llevan a resultados equivalentes. Los N valores C[u], obtenidos al aplicar esta transformada a la secuencia de N valores x[n], se denominan “coeficientes” de dicha transformada.

La transformada inversa (IDCT ó DCT-1) permitirá obtener la secuencia x[n] a partir de los coeficientes transformados, y se define así.

El cálculo de la DCT que se desprende directamente de las fórmulas anteriores resulta engorroso, y cuando el número de elementos de la secuencia es alto, se impone la utilización del ordenador. No obstante existen métodos de cálculo más sencillos. De todos ellos, aquí se va a

(10)

f

[

n

] |

u

cos

(2

n

1)

π

u

2

N

DCT

(

x

[

n

])

C

[

u

]

α

(

u

) ·

N1 n0

x

[

n

] ·

f

[

n

]|

u

Figura 4. Funciones base de la DCT unidimensional. El método de las funciones base tiene su fundamento en el hecho que, de la expresión de la DCT vista anteriormente, una vez definido el tamaño N de la secuencia a transformar, la función coseno tiene valores fijos. A dicha función coseno se le denomina “función base”, y para cada valor de “u” se calcula de esta forma

En esta expresión, el valor de N es, en general, conocido para cada aplicación. Por ejemplo, para aplicaciones de video, el valor más usual es N=8. A partir de estas funciones base, el valor de cada C[ui] se calcularía según la siguiente expresión

Considerando la secuencia a transformar x[n] y la función base f[n] |u como vectores de N dimensiones, los C[u] resultado

de la DCT resultan ser el producto escalar de estos dos vectores, afectado por el factor constante

α(u). Es conocido, que el resultado del producto escalar de dos vectores depende de los módulos de ambos, y del coseno del ángulo que forman, que será máximo en el caso en que ambos vectores tengan la misma dirección y sentido.

S i s e r e p r e s e n t a n g r á f i c a m e n t e l o s v a l o r e s resultantes de calcular las funciones base para cada valor de “u” con un tamaño de secuencia de N=8, los resultados pueden verse en la figura 4.

A partir de esta figura podemos observar que para cualquier secuencia x[n] de tamaño N=8, los C[u] se calcularán a partir del producto escalar de dicha secuencia con cada una de estas funciones base f[n] aquí representadas. En un

(11)

C

[

u

,

v

]

α

(

u

) ·

β

(

v

) ·

M1 m0

N1 n0

x

[

m

,

n

] · cos

(2

m

1)

π

u

2

M

· cos

(2

n

1)

π

v

2

N

α

(

u

) |

u0

1

M

α

(

u

) |

u0

2

M

producto escalar entre dos vectores, si fijamos uno de ellos, como es el caso de cada función base, el producto escalar con cualquier vector x[n], nos da un resultado proporcional a la componente que tiene el vector x[n] en la dirección de cada función base f[n]. Así pues, este producto será mayor cuanto más paralelos sean ambos vectores.

Según esto anterior, el coeficiente C[0] dará una referencia del nivel de continua (frecuencia f=0) de x[n]. Asimismo, el producto escalar de dicha secuencia x[n] por la función base f[n]|1 resultará un C[1] mayor, cuanto más se parezcan la secuencia x[n] al vector f[n]|1; es decir, C[1] será proporcional al contenido de frecuencia f=1/16 de la secuencia. Sucesivamente, C[2] será proporcional al contenido de la secuencia en la frecuencia f=2/16, etc...

Así pues, mediante la DCT se consigue transformar una secuencia x[n] en otra, C[u] que indica su distribución espectral

3.4.2. Generalización de la DCT bidimensional

La DCT bidimensional es una transformación matemática que convierte una matriz genérica de M x N valores, que en el caso de las imágenes corresponderían a niveles de brillo o color, en otra matriz del mismo tamaño (MxN), cuyos valores representan la distribución de las frecuencias. Una vez visto por encima el desarrollo de la DCT unidimensional podemos ver de la misma manera la DCT bidimensional que es la que se aplica a las imágenes, considerando cada muestra x[m,n] como el valor del nivel de gris de un píxel.

Dada una secuencia bidimensional x[m, n] formada por una matriz de valores en la que “m” adopta los valores del conjunto (0, ... M-1) y n adopta los valores entre 0 y N-1, su DCT se define como sigue.

De la misma manera que antes, las variables “u” y “v” de salida adoptan los valores comprendidos entre 0 y M-1, y entre 0 y N-1 respectivamente; de manera que la DCT resulta ser también una matriz de tamaño MxN.

(12)

f

(

m

,

n

) |

u,v

cos

(2

m

1)

π

u

2

M

cos

(2

n

1)

π

v

2

N

β

(

u

) |

u0

1

N

β

(

u

) |

u0

2

N

x

[

m

,

n

]

M1 m0

α

(

u

) ·

N1 n0

β

(

v

) ·

C

[

u

,

v

] · cos

(2

m

1)

π

u

2

M

· cos

(2

n

1)

π

v

2

N

Figura 5. Representación gráfica de las funciones base de la DCT bidimensional.

Los M x N valores C[u, v], obtenidos al aplicar esta transformada a la secuencia de MxN valores x[m, n], se denominan “coeficientes” de dicha secuencia.

La transformada inversa, IDCT ó DCT-1, permitirá obtener la secuencia x[n, m] a partir

de los coeficientes transformados. Esta trasformada inversa se define como sigue:

Para el cálculo de la DCT bidimensional existe también el método basado en las funciones base. En este caso, las funciones base estarán compuestas por los dos cosenos que se muestran en la expresión de la DCT, uno en la dirección m y otro en la n.

En las aplicaciones de comp r e s i ó n d e i m á gen es digitales, los valores de M y N son siempre 8. A partir de estas funciones base, el valor de cada C[u, v] se calcularía como si se tratara del producto escalar de dos vectores: mediante la suma de los productos entre elementos homólogos de la función base, y de la matriz a transformar, afectado por los factores α(u) y

β(v).

Si se representan con niveles de gris los valores resultantes de calcular las funciones base para cada par de valores (u, v) con un tamaño de secuencia de M=N=8, los resultados pueden verse en la figura 5. Los cuadros en blanco

(13)

corresponden a valores de coeficientes igual a 1, y los cuadros negros corresponden a coeficientes de valor -1.

Atendiendo a la figura, cada coeficiente de la transformada representará la cantidad de información que contiene el bloque 8x8 original en su conjunto, entorno a las frecuencias verticales y horizontales representadas por los valores u y v. Estas componentes frecuenciales comprenden desde la frecuencia cero (DC) cuyo coeficiente vendrá representado en la parte superior izquierda, hasta la máxima frecuencia espacial horizontal posible, representada en la parte superior derecha, o la máxima frecuencia espacial vertical posible representada en la parte inferior izquierda, pasando por todas las posibles combinaciones de frecuencias espaciales horizontales y verticales.

Si el bloque 8x8 a transformar corresponde a un trozo de decorado completamente uniforme, y completamente blanco, todos los coeficientes frecuenciales serían cero excepto el correspondiente a la DC (parte superior izquierda).

El valor de los coeficientes más a la derecha aumentará a medida que aparezcan en él más contenidos de altas frecuencias horizontales (incremento de perfiles verticales abruptos). En sentido vertical, los coeficientes se comportan de manera similar.

Si el bloque original correspondiese a un área de la imagen que tuviera un dibujo en forma de rayas verticales alternativamente blancas y negras y cada raya coincidiese con la anchura de un píxel, el coeficiente frecuencial correspondiente al bloque situado arriba a la derecha tomaría el valor máximo, y el resto serían cero, excepto el correspondiente a la DC que siempre indicará el valor medio de la DC de todo el bloque.

Si un bloque de la imagen contiene una gradación de brillo en cualquier dirección, su DCT tiene únicamente el coeficiente de frecuencia cero (el primero) y sus tres coeficientes periféricos distintos de cero. El resto de los 60 coeficientes serán cercanos o iguales a cero.

Es evidente, que estas situaciones extremas no serán habituales, sino que los coeficientes frecuenciales estarán distribuidos en función del contenido de la imagen, si bien es cierto que estos coeficientes, por la propia naturaleza de las imágenes, tendrán una tendencia muy clara, como vamos a ver.

De forma general, en las imágenes con poco detalle o normales en detalle, casi todos los coeficientes que son distintos de cero se agruparán en la esquina superior izquierda de la matriz de coeficientes. Esta característica de la DCT la trataremos en las propiedades que se detallan en el siguiente apartado.

(14)

3.4.3. Propiedades de la DCT

La DCT por sí misma, al pasar de una matriz a otra del mismo tamaño no implica compresión alguna, pero tiene algunas características importantes que la hacen muy útil para nuestro propósito. Sin llegar a hacer un estudio exhaustivo, nos vamos a centrar en aquellas propiedades que nos van a ser útiles en los procesos de compresión de imágenes.

a)- Una de las propiedades más importantes y que se puede comprobar directamente de la definición es la de “separabilidad”. En este caso. la separabilidad quiere decir que una DCT bidimensional se puede expresar como un conjunto de varias DCTs unidimensionales.

Si x[m,n] = x1[m] · x2[n], C[u,v] = C1[u] · C2[v].

b)- La DCT presenta también la propiedad de una gran compactación de la información en los coeficientes de menor orden, de tal manera que los de orden superior tienen un valor nulo o caso nulo, salvo en el caso de imágenes que presenten una anormalmente alta variación espacial.

c)- Los coeficientes resultado de la DCT presentan entre sí una muy pequeña correlación. Esta propiedad es especialmente importante en aplicaciones de compresión de imágenes, ya que de esta forma será posible dar a los coeficientes tratamientos totalmente diferentes dependiendo del lugar que ocupen dentro de la matriz de coeficientes.

d)- La transformada de Fourier es una transformada compleja, con parte real y parte imaginaria, lo que complicado el trabajo con ella. Sin embargo la DCT es una transformada real; sus resultados son muestras de la función coseno, y esto simplifica mucho su manejo. e)- Si en la transformada de una imagen se suprimen los coeficientes de mayor orden, al volver

a calcular la transformada inversa, se obtiene una muy buena aproximación de la imagen inicial.

3.4.4. Utilización de la DCT para compresión de vídeo

La transformada discreta del coseno se considera la base en la mayoría de los algoritmos de compresión de video, tanto intracuadro (redundancia espacial) como intercuadro (redundancia temporal). Esta transformada se suele aplicar dividiendo las 720x576 muestras activas de una imagen en bloques de 8x8 píxeles.

(15)

x[m,n] 7673676258676455656962381943595666696015 16246255657057 6 262228596167602428406058496368585165705343576469736763454149596063525034 C[u,v] 4142962 25 55201 2 6 2162 8 1276 746 8 772630 10 6549 12 341410 6 1 1 11 81221 15 210 1 33 0 0 2 031 1 0 14 2311 03 0 01 0

3.4.4.1. Lectura en zig-zag

La DCT por si sola, como se ha visto en el apartado de propiedades, no comprime. Ésta, al transformar la información del dominio espacial al dominio de la frecuencia, recoloca la información de tal manera que es más fácil eliminar la parte redundante, consiguiendo reducir el flujo binario. A continuación, se presenta un ejemplo de matriz 8x8 y su correspondiente DCT bidimensional.

Si observamos detenidamente la distribución de los coeficientes frecuenciales en los bloques transformados, podemos ver que los más significativos se encuentran en el cuadrante superior izquierdo, que corresponde a las bajas frecuencias. Conforme nos vamos alejando de este cuadrante hacia la derecha y hacia abajo, el valor de los coeficientes disminuye drásticamente. Este hecho, surge por la propia información contenida en las imágenes, pero existe otra razón por la que podemos decir que la información de alta frecuencia, que de por sí es poca, puede despreciarse. Esta razón aparece por la forma en que el sistema visual humano atiende a

(16)

Figura 6. Lectura de la matriz de coeficientes en exploración progresiva y entrelazada

los objetos a los que hay que atender se representan en primer plano, con lo que el contenido de bajas frecuencias es todavía más importante que el de altas frecuencias. La mayor parte de los contenidos de alta frecuencia quedan en el fondo, y su eliminación apenas resta información real a la imagen.

Considerando estas características, a la hora de serializar los coeficientes de la DCT para almacenarlos o transmitirlos, se hace conveniente una lectura de las matrices de coeficientes de manera que los de menor peso queden agrupados, y así se puedan eliminar o codificar más fácilmente mediante un código de longitud de recorrido (RLC) que signifique “los siguientes ‘n’ coeficientes son nulos”.

Según esto, la lectura de los coeficientes se realiza en zig-zag comenzando desde el coeficiente DC, y terminando en su lado opuesto. Esto permite procesar en primer lugar las bajas frecuencias espaciales y decidir

posteriormente si se procesan o se e l i m i n a n l o s c o e f i c i e n t e s correspondientes a las altas f r e c u e n c i a s , y d e c i d i r c o n posterioridad si se procesan o se e l i m i n a n l o s c o e f i c i e n t e s correspondientes a las altas frecuencias.

Realizando la lectura de esta manera, se pueden procesar los

coeficientes de más nivel, y eliminar el resto consiguiendo factores de compresión, aunque modestos, sin que la calidad subjetiva de la imagen quede afectada. En este caso se tratará de una compresión subjetivamente sin pérdidas, consiguiendo una compresión 2:1 directamente al aplicar la DCT sin efectuar redondeos.

3.4.4.2. Cuantificación de los coeficientes

Para conseguir una mayor compresión, podemos aplicar otra herramienta al resultado de la DCT. Esta herramienta va a ser una cuantificación ponderada de los coeficientes. Esta cuantificación ponderada se basa, como es lógico, en la mayor o menor importancia de cada coeficiente respecto de la calidad subjetiva final, es decir en el contenido frecuencial de cada coeficiente.

A cada coeficiente de la DCT se le aplica una cuantificación definida por un determinado tamaño de escalón de cuantificación. En aquellos coeficientes donde su redondeo afecte más a la calidad, el escalón de cuantificación será menor, y aquellos coeficientes menos importantes se cuantificarán con escalones más grandes. Esta cuantificación queda definida por una matriz de valores que representarán los tamaños de los escalones, y que se llama matriz de cuantificación.

(17)

JPEG 16 11 10 16 24 40 51 61 12 12 14 19 26 58 60 55 14 13 16 24 40 57 69 56 14 17 22 29 51 87 80 62 18 22 37 56 68 109 103 77 24 35 55 64 81 104 113 92 49 64 78 87 103 121 120 101 72 92 95 98 112 100 103 99 round(C[u,v]/JPEG) 2636 2 21 0 0 1 24 0 0 0 0 03 1 511 0 0 04 1 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Esta cuantificación va a hacer que algunos coeficientes que antes eran cercanos a cero, al redondear se vayan a cero, y otros que no se vayan a cero, puede hacerse que se codifiquen con menor número de bits, y así se consigue un mayor nivel de compresión. De esta manera se consigue un mayor nivel de compresión. Existe toda un colección de matrices de cuantificación establecidas que minimizan la degradación subjetiva de la calidad. La matriz de cuantificación por defecto aplicada a los algoritmos JPEG aparece en la siguiente expresión.

El resultado del redondeo de coeficientes de C[u,v] anterior es:

como se observa gran parte de los coeficientes se van a cero.

En la actualidad se considera que una compresión 3,3:1, que provoca un redondeo moderado de los coeficientes, tampoco provoca prácticamente degradación subjetiva de la calidad. Esta no degradación subjetiva viene marcada por la posibilidad de multigeneración vista en apartados anteriores. Todos los factores de compresión mayores que 3,3:1 necesitarán un mayor redondeo de coeficientes, y por lo tanto mayor pérdida de información. Obviamente, esta mayor cuantificación sí merma la calidad de la imagen. Estamos entrando entonces en el terreno de la compresión con pérdidas subjetivas, y dependiendo de los valores de la cuantificación tendremos una pérdida de calidad mayor o menor, y a costa de ello una mayor o menor compresión.

(18)

3.4.4.3. Codificaciones VLC y RLC

A partir de la cuantificación anterior, y mediante la lectura en zig-zag presentada se pretende que al final de cada bloque 8x8 se codifique con el menor número de bits posible.. Los coeficientes que después del redondeo resulten nulos, se codificarán con técnicas de longitud de recorridos (RLC), que agruparán en un sólo código toda una cadena de ceros.

Existirá un número grande también de coeficientes que no llegarán a ser cero, pero cuya codificación Huffman de longitud variable (VLC), vista en apartados anteriores, permite su codificación con pocos bits.

3.5. Algunos estándar de compresión

3.5.1. La norma JPEG

La norma JPEG (Joint Photografic Experts Group) nace como consecuencia de la necesidad de comprimir imágenes fotográficas, y por tanto estáticas. Se puede utilizar compresión subjetivamente sin pérdidas, que alcanzaría factores de compresión de hasta el 3,3:1, y compresión con pérdidas, que puede llegar hasta el factor 100:1 dependiendo del grado de pérdidas que estemos dispuestos a permitir. El estándar JPEG opera bien en el rango de flujos binarios de 3,3 a 80 Mb/s.

La norma JPEG consiste fundamentalmente en aplicar la DCT a los bloques de imagen de 64 píxeles (8x8), realizar el proceso de cuantificación eliminando los coeficientes con menor peso, realizar la lectura en zig-zag, y posteriormente considerar la redundancia estadística mediante una codificación Huffman junto con la RLC.

Existen dos tipos de estructuración de los datos comprimidos: la estructura secuencial y la estructura progresiva. Mediante la estructuración secuencial, la información se transmite por bloques de 8x8 completos con toda su definición leídos en zig-zag. En la estructura progresiva, se van enviando sucesivamente los diferentes coeficientes frecuenciales de todos los bloques, comenzando con los correspondientes a la DC y también utilizando la lectura en zig-zag. De esta manera se explica la forma de carga de algunas imágenes en internet que van ganando definición conforme van llegando los datos

La norma JPEG es una norma bastante abierta, ya que permite un grado de compresión variable en función de las necesidades, suprimiendo los coeficientes frecuenciales necesarios hasta conseguir el grado de compresión requerido.

(19)

3.5.2. El estándar MJPEG

El estándar MJPEG nace ante la necesidad de comprimir las imágenes en los procesos de edición no-lineal. En esta tarea, una compresión intercuadro como la que se definirá en el siguiente apartado de MPEG se hace difícil de manejar, ya que en algunos casos es necesaria la lectura y decodificación de varias imágenes para obtener la información de un cuadro concreto. Con este panorama, las compañías fabricantes de equipos de edición no-lineal se vieron en la necesidad de sacar al mercado sus equipos sin que los organismos competentes hubieran desarrollado una norma. En realidad la técnica MJPEG, es un sistema de compresión JPEG aplicado sucesivamente a todas las imágenes.

Al no existir un estándar definido, cada fabricante desarrollo el suyo, siendo normalmente incompatibles entre sí. El formato AVID utiliza un MJPEG con relación de compresión 3:1, mientras que el EVS utiliza compresión 6:1. Hay que señalar, que la compañía SONY ha desarrollado un sistema de compresión intercuadro válido para postproducción, y que constituye una de las variantes de la familia MPEG que veremos más adelante.

3.5.2.1. Diagrama de bloques

Según todo lo explicado hasta ahora, el proceso de compresión de las imágenes de televisión sería el siguiente: A partir de las tres señales primarias R, G y B se obtendrán las señales de luminancia (Y) y de diferencia de color (R-Y, B-Y), se digitalizarán según la norma 4:2:2. Posteriormente, se realizará la transformada discreta del coseno, y se procede a cuantificar los coeficientes frecuenciales; se realiza la lectura en zig-zag, y finalmente, se aplican las codificaciones VLC y RLC para utilizar el menor número de bits posible para la transmisión o almacenaje. Todo esto se puede ver en la figura 7.

En esta figura aparecen en la esquina superior derecha dos bloques que analizamos a continuación. En el caso de querer transmitir la información de vídeo por un canal con tasa binaria constante, la compresión definida de esta manera produce diferentes niveles de compresión dependiendo del contenido del bloque 8x8 a procesar. Un bloque de color uniforme se codificará únicamente mediante su coeficiente DC y un bloque con distinto contenido necesitará más coeficientes para representarlo. Esto hace imprevisible la velocidad a la que puede enviarse la información comprimida.

Para solucionar esto, los sistemas de codificación y transmisión disponen de una cola, o un “buffer”, de salida y un bucle de control de flujo binario que va cambiando la matriz de cuantificación, y con ello la compresión conseguida en función de las necesidades de cada momento. Si la cola de salida está muy llena, el bloque de control de flujo actúa sobre la matriz

(20)

Figura 7. Diagrama de bloques de un compresor de vídeo digital para transmisión basado en la DCT.

cola se esté vaciando, el bloque de control de flujo disminuye el tamaño del escalón, disminuyendo temporalmente la compresión.

La variación de la compresión afectará a la calidad instantánea de las imágenes. No obstante, se debe tener en cuenta que los aumentos de compresión se producirán en los instantes en que la escena tenga mucho detalle, con lo que el ojo probablemente sea menos sensible a este cambio de compresión. En el caso en que las imágenes tengan poco detalle, el ojo será más sensible, pero al disminuir la compresión se conseguirá mantener una calidad subjetiva alta.

3.6. Estándar de compresión MPEG-2

Las normas MPEG, han revolucionado la industria de la televisión y las comunicaciones, al conseguir reducir de manera drástica el flujo binario, sin pérdida subjetiva de calidad en la imagen. Dada la importancia que tiene el estándar de compresión MPEG-2 en la televisión digital actual, se ha preferido tratarlo en un apartado completo, aunque como se podrá comprobar, utiliza la mayoría de las técnicas de compresión vistas hasta ahora.

En el mundo del vídeo digital, la cantidad de aplicaciones se ha disparado en los últimos años. Cada aplicación además, requiere unos niveles de calidad distintos, así como un factor de compresión diferente. Mientras que en un sistema de difusión de televisión digital la calidad es un requerimiento importante, en el caso de la videoconferencia, que es el polo opuesto, la restricción está en el ancho de banda del canal de que se dispone, y por tanto, la velocidad binaria que se puede utilizar, quedando la calidad de la imagen en un segundo plano.

(21)

Los métodos MPEG de compresión pretenden ser lo suficientemente flexibles para poder satisfacer las necesidades de todos esos usuarios potenciales. Para cada uno de ellos, se ha creado un único método normalizado de compresión que asegura una forma de trabajo única, pero que permite manejar distintos niveles de calidad y distintos factores de compresión, de manera que se ajuste fácilmente a los requerimientos de utilización de cada servicio (coste, resolución, velocidad binaria, ...).

Lo que cada uno de estos estándar intenta es ofrecer un mismo núcleo básico parametrizable para cada una de las aplicaciones. El utilizar este mismo núcleo básico supone un abaratamiento en los equipos de compresión y descompresión, debido a su amplia utilización.

El primer estándar que se desarrolló fue el MPEG-1, que apareció hacia 1988. Este estándar nació con la idea inicial de reducir el flujo binario al nivel utilizado por los soportes de audio CD, del cual derivó el CD-ROM, para almacenar en este soporte, imágenes en movimiento con un flujo binario de 1,5Mb/s. De hecho, este estándar opera bien en el rango de flujos binarios de 1,5 a 3 Mb/s.

La norma MPEG-1, antes del proceso de compresión, somete a la señal de entrada a procesos de eliminación de información drásticos. Lo primero es eliminar un campo de la imagen quedándose con una resolución de 360x288 a 25 f/s. A partir de esto, este método aplica la compresión intracuadro e intercuadro de forma parecida al formato MPEG-2 que se desarrollará más ampliamente. Únicamente varían parámetros técnicos, de muestreo, cuantificación, etc. siendo más riguroso en MPEG-2 ya que va destinado al entorno profesional de mayor calidad.

El estándar MPEG-2 está orientado al entorno profesional de la televisión digital. Éste opera bien para flujos binarios de 3,5 a 100 Mb/s, y se aplica desde en los sistemas de producción, hasta en las transmisiones de la televisión digital terrestre, por cable, y vía satélite. Este estándar es capaz de soportar desde calidad VHS hasta calidad TVAD (en formato 16 / 9). La codificación MPEG-2 va orientada a la eliminación de la redundancia espacial y temporal. Esta compresión es adecuada para imágenes de calidad en movimiento (televisión). Para ello, aplica codificación intracuadro e intercuadro, y además aplica una codificación final de corrección de errores. Con esto se consiguen relaciones de compresión como 270Mb/s a 50 Mb/s para comunicaciones dentro del estudio, 8Mb/s para difusión con calidad de estudio, y hasta 3,5Mb/s y 1,5Mb/s para transmisiones de menor calidad. Este estándar MPEG-2 también se utiliza en servidores de video bajo demanda, y en archivos de imágenes. Para la grabación magnética se utiliza solamente en el formato Betacam SX.

Existió un formato MPEG-3 orientado a la televisión de alta definición, pero sus avances se incorporaron posteriormente al estándar MPEG-2, no teniendo mayor relevancia.

El grupo MPEG-4 fue creado para investigar varios frentes de necesidades en la codificación. El más importante fue el de adaptar la información de vídeo a las redes telefónicas.

(22)

defectos temporales y espaciales son abundantes como corresponde a los bajos flujos binarios de transmisión, pero se atenúan controlando el movimiento de los objetos.

La filosofía de MPEG-4 cambia con respecto al resto de los estándares anteriores, ya que introduce el concepto de codificación de objetos, es decir, las imágenes se segmentan en objetos y es la información de los mismos la que se transmite. El estándar no fija como se deben obtener los objetos, estimar su movimiento, etc. Los algoritmos serán elegidos por cada diseñador; la norma sólo fija cómo guardar la información de dichos objetos.

La compresión MPEG-4 a pesar de sus niveles de calidad ha permitido poner en servicio aplicaciones de comunicación muy interesantes. Otros trabajos que realiza el grupo MPEG-4 están relacionados con el interfaz entre el mundo multimedia, el ordenador y la televisión.

El grupo MPEG-7 no está implicado en temas de compresión, sino en los metadatos. Este trabajo incluye la preparación de normas sobre los contenidos audiovisuales, como por ejemplo llegar a la localización de las escenas en que aparecen ciertos personajes. Con ello se conseguiría un acceso detalladísimo a todo tipo de contenidos del material audiovisual. Su aplicación está en los archivos, en la edición y montaje, en la redacción periodística, etc.

El grupo MPEG-21 tampoco trabaja en compresión digital. Su objetivo fundamental es crear la codificación oportuna para la gestión y uso del material audiovisual, incluyendo el soporte de infraestructura necesario para las transacciones comerciales y la gestión de los derechos correspondientes.

3.6.1. La compresión intracuadro de MPEG-1 y 2

La codificación intracuadro elimina la redundancia espacial. La compresión intracuadro de los estándar MPEG-1 y 2 es similar a la vista en JPEG. Esta compresión está basada en el algoritmo de la DCT.

La lectura de la matriz de coeficientes resultado de la DCT (de tamaño 8x8) se realiza en zig-zag para imágenes no entrelazadas, ya que los elementos significativos que serán distintos de cero, están más a la izquierda y hacia arriba. Con esto, los ceros de la matriz quedan en los últimos lugares de la secuencia reordenada. Posteriormente se aplican los métodos VLC y RLC de minimización de la redundancia estadística.

(23)

3.6.2. La compresión intercuadro: Compensación de

movimiento

La compresión intercuadro intenta detectar y eliminar la redundancia temporal entre cuadros sucesivos. Esta compresión se realiza mediante un proceso de codificación diferencial, y otro llamado “compensación de movimiento”. Con estas técnicas se consiguen los niveles más elevados de compresión.

3.6.2.1. Codificación diferencial

La codificación diferencial se establece de forma parecida a la codificación DPCM vista en uno de los apartados anteriores. La imagen diferencia de un cuadro con respecto al anterior se puede obtener de manera sencilla. En primer lugar, se hace pasar a la señal por un circuito que tenga un retardo de un fotograma, o se almacena en una memoria de 1 cuadro de capacidad. Esta imagen retardada un cuadro, se suma posteriormente a la imagen actual (sin retardar) pero cambiada de signo, el resultado será la imagen diferencia, que en la mayor parte de su contenido será cero.

Con esto, las zonas de la imagen que no cambian, no se codifican, limitándose el decodificador del receptor a repetir los pixeles del fotograma anterior. La técnica de codificación de la diferencia es buena cuando las imágenes son estáticas. En el caso de imágenes con mucho movimiento, como acontecimientos deportivos en los que la imagen diferencia puede contener bastante información, al producirse cambios importantes de un fotograma al siguiente, será más productivo utilizar también la técnica de compensación de movimiento que se expone a continuación.

3.6.2.2. Técnica de compensación de movimiento

La técnica de compensación del movimiento trabaja sobre pequeñas áreas de la imagen denominadas macrobloques de 256 píxeles (16x16); estos macrobloques están compuestos por cuatro bloques. En las imágenes en movimiento, es habitual que algunas zonas de la imagen se desplacen en un fotograma con respecto al anterior. El sistema de compensación del movimiento, trata de buscar el nuevo emplazamiento de los macrobloques, y calcular los vectores de desplazamiento codificando solamente dichos vectores.

El proceso de predicción comienza por comparar el macrobloque actual con el homólogo del fotograma anterior, si estos no son iguales, buscará un macrobloque idéntico en la denominada zona de búsqueda, si lo encuentra codificará los vectores de desplazamiento, y si no lo encuentra realizará la comparación con el más parecido, codificando la diferencia entre los dos

(24)

El codificador compara los resultados y toma las decisiones sobre el bloque idéntico o bien sobre el más aproximado. Si la diferencia es mayor que la cifra establecida, abandonará la búsqueda presumiendo que el bloque no se encuentra ya en la imagen, y codificará el mismo con codificación espacial.

3.6.3. Imágenes I, P y B

La mayor compresión de los sistemas MPEG-1 y 2 no radica en la DCT y su mayor o menor cuantificación. La mayor potencia de estos algoritmos MPEG está en tres modos de compresión de las imágenes. Estos modos de compresión dan lugar a lo que llamamos imágenes I, imágenes P e imágenes B.

3.6.3.1. Imágenes “I” (intracuadro)

Las imágenes I son imágenes que utilizan sólo compresión intracuadro. Cada cuadro I es comprimido y procesado de forma independiente de los demás, y contiene por sí solo toda la información necesaria para su reconstrucción.

Las imágenes I son las que más información contienen, y por tanto las que menos compresión aportan. Las imágenes I, siempre inician una secuencia y sirven de referencia a las imágenes P y B siguientes.

En secuencias largas, es necesario disponer de imágenes I intercaladas, ya que facilitan el acceso aleatorio a un fotograma dentro de la secuencia. Si todas las imágenes dependen de la anterior podemos llegar a la situación en que para recuperar una imagen, hemos de leer anteriormente todas las anteriores desde el principio, y eso, en ocasiones, no es productivo.

La compresión intracuadro de las imágenes I coincide con el método JPEG para imágenes estáticas. Aquí se busca la redundancia de la imagen dentro del cuadro que se está procesando.

3.6.3.2. Imágenes “P” (predicción)

Las imágenes P se generan a partir de la imagen I o P anterior más próxima. El codificador compara la imagen actual con la anterior I o P, y codifica únicamente los vectores de movimiento y el error de predicción. Se utiliza en este caso una predicción hacia adelante. Estas aportan un grado importante de compresión.

(25)

Figura 8. Fotogramas I, P y B.

3.6.3.3. Imágenes “B” (bidireccionales)

Por último las imágenes B (Bidireccionales) se generan a partir de imágenes previa y futura de los tipos I o P. Mientras que las imágenes I y P pueden propagar errores, ya que de ellas dependen otras, las imágenes B no lo hacen, ya que no intervienen en otras predicciones posteriores.

La filosofía de la predicción bidireccional se fundamenta en el hecho en que la cámara en cualquier momento puede realizar una panorámica, un “traveling”, o que dentro de la escena los objetos se mueven. Cuando la cámara hace una panorámica, una parte de la imagen se va escondiendo por un lado mientras que otra parte se va desvelando por el otro. También aunque la cámara esté fija, cuando se producen desplazamientos de objetos en la escena, por una parte irán desvelando partes fijas de la escena (edificios, decorados, etc), y por otra irán ocultando otras partes. En estos casos, cuando se quiere predecir el contenido de una imagen, puede resultar más eficaz tomar como referencia imágenes

anteriores en una parte del fotograma, y posteriores en otra.

En el ejemplo de la figura 8, se muestra, en primer lugar una escena de la que se realizará una panorámica. En la parte inferior aparecen tres fotogramas de esa panorámica nombrados como F1, F2 y F3. En la explicación siguiente

vamos a suponer que la imagen F1 se codifica como imagen I, el fotograma F2 se codifica como B, y el fotograma F3 se codifica como P.

Al fotograma primero, por codificarse como I se le aplica una compresión intracuadro a partir de su propio contenido. Para el fotograma F3 se utiliza la técnica de predicción respecto del fotograma F1; con lo que se extraerán los macrobloques de la zona del personaje, de la imagen F1; y la zona donde aparece la cámara se codificará intracuadro, ya que en el fotograma I no hay información al respecto.

La imagen F2 se codifica como imagen bidireccional entre los fotogramas F1 y F3. En ella, los macrobloques de la zona del bafle pueden recuperarse de la imagen F1; la parte que corresponde al personaje puede tomarse de cualquiera de las dos imágenes F1 o F3; y finalmente, la parte de la cámara se puede sacar del fotograma F3, con lo que el fotograma bidireccional puede codificarse mediante unos cuantos vectores de movimiento y un error de predicción que puede llegar a ser muy pequeño.

Aunque el procesamiento de los fotogramas B complica los algoritmos de codificación, esta complicación compensa el beneficio de conseguir importantes niveles de compresión en estos cuadros.

(26)

3.6.3.4. Grupo de fotogramas (GOP)

La sintaxis de MPEG-1 y 2 permite elegir cuántas imágenes I se dan por segundo así como el número de imágenes P y B intercaladas para cada aplicación. Al número de cuadros que se tienen entre dos imágenes I consecutivas se le llama grupo de fotogramas (GOP - Group Of Pictures).

El tamaño GOP típico en MPEG-2 es de 12 fotogramas. Esto obliga a los decodificadores a disponer de un buffer con capacidad para almacenar 12 fotogramas. El GOP puede ser menor de 12 fotogramas pero en general nunca será mayor. Sólo en MPEG-1 se pueden encontrar GOPs más largos, existiendo un mayor número de imágenes con bajos flujos binarios.

Si durante una secuencia de imágenes se produce un cambio de plano, el codificador detectará que el contenido del primer fotograma del nuevo plano no encuentra coincidencias con el anterior y por lo tanto lo codificará y definirá como una imagen I.

Dentro de un GOP, el flujo natural de las imágenes que se representan suele ser éste. I B B P B B P B B P B B I ...

Sin embargo, para la transmisión es preciso cambiar el orden de los fotogramas. Esto es porque, en recepción, para decodificar cada imagen B es necesario antes haber decodificado la imagen I o P anterior y la posterior. De esta manera, el orden de transmisión se ve alterado adelantando las imágenes P posteriores , o lo que es lo mismo retrasando las imágenes B hasta enviar la imagen I o P posterior; quedando el flujo de imágenes de esta forma:

I P B B P B B P B B I B B ...

Posteriormente, será tarea del decodificador el recuperar el orden natural para la presentación en pantalla.

El sistema Betacam SX, orientado a aplicaciones de postproducción, utiliza una secuencia de GOP de tamaño 2 (IBIBIB) con objeto de poder realizar ediciones de precisión, aunque esta variante no constituye un estándar como tal.

(27)

3.6.4. Esquema del decodificador MPEG-2

El esquema del decodificador es mucho más sencillo que el del codificador. Por ello lo presentamos en primer lugar

En primer lugar, el demultiplexor separa los datos correspondientes al error de predicción del fotograma de los vectores de movimiento. Posteriormente se decodifica el error de predicción, y se suma a la imagen obtenida del fotograma anterior y de los vectores de movimiento, obteniéndose la imagen actual. Esta imagen actual se almacena para la decodificación del siguiente fotograma. Finalmente, se reordenan los fotogramas para obtener el orden natural de la secuencia a partir del orden de transmisión de la misma.

Hay que destacar que el proceso codificación decodificación en MPEG no es simétrico. El codificador es bastante más complicado y por tanto necesita una mayor potencia de cálculo, mientras que el decodificador debe realizar procesos más sencillos. Esta estructura es lógica, teniendo en cuenta que el codificador se encuentra en el equipamiento profesional de producción y emisión, y el decodificador es un elemento del equipamiento doméstico de los receptores.

Resumiendo, el sistema MPEG-2 divide la imagen en pequeñas áreas de 8x8 píxeles llamadas bloques, y de 16x16 píxeles llamadas macrobloques, realizando diversos procesamientos diferentes a cada uno de ellos.

Existen dos etapas diferenciadas; la compresión intracuadro que trata de minimizar la redundancia espacial, y la compresión intercuadro que hace lo propio con la redundancia temporal. La compresión intracuadro consiste fundamentalmente en aplicar la DCT a los bloques 8x8, cuantificar los coeficientes, y aplicar una codificación VLC (normalmente Huffman). La compresión intercuadro se basa en la aplicación de la compensación de movimiento a los macrobloques, y la codificación diferencial a la imagen completa. Según la compresión intercuadro podemos distinguir imágenes I, imágenes P, e imágenes B.

(28)

3.6.5. Esquema del codificador MPEG-2

A la vista del codificador MPEG-2 la primera operación a realizar es reordenar las imágenes de la secuencia al orden de transmisión, ya que para codificar las imágenes B hemos de haber codificado antes las imágenes I y P posteriores. A continuación, y a partir de las imágenes ya codificadas se calculan los vectores de movimiento.

A partir de los vectores de movimiento y de la predicción de la imagen ofrecida por el codec JPEG (bloques TDC, Q, Q-1, y TDC-1) se realiza la codificación diferencial.

Con la imagen diferencia se realiza la DCT y posteriormente el cuantificador realiza una cuantificación distinta en los coeficientes dependiendo de la frecuencia a la que representan. También aparecen el cuantificador inverso y una DCT inversa. Su misión es simular al decodificador en la forma de predecir las imágenes, para después calcular la diferencia entre la imagen real y la predicción que utiliza el decodificador.

El bloque CLV hace referencia a las codificaciones de longitud variable y de longitud de recorrido. La codificación de longitud variable asigna palabras de código más cortas a aquellos códigos que tienen una mayor frecuencia de aparición, mientras que la codificación de longitud de recorrido codifica, a partir del último coeficiente distinto de cero, que los demás del bloque son todos cero hasta el final. Estas dos codificaciones aportan un nivel de compresión moderado. El multiplexor de salida conforma un tren de datos en el que aparece toda la información necesaria para el decodificador; incluyendo la información de todos los bloques 8x8 y los vectores de movimiento.

(29)

Figura 11. División en slices de una imagen.

Finalmente el buffer de salida y el regulador mantienen constante el flujo binario hacia el decodificador.

3.6.6. Estructura del tren de datos MPEG-2

El tren de datos de MPEG se estructura de mayor a menor en los siguientes elementos: Secuencias, GOPs, Imágenes, Slices, Macrobloques, y Bloques. Cada uno de estos elementos contiene una cabecera de datos en la que se especifican los atributos del mismo, de manera que se facilite el trabajo del decodificador.

Los Bloques son cuadrados de 64 píxeles (8x8), y son la unidad de proceso de la DCT. El Macrobloque es una asociación de cuatro bloques, y consta de 256 píxeles (16x16). Esta es la unidad de comparación para el cálculo de los vectores de movimiento. Además, en el caso de codificación 4:2:0, que es habitual en MPEG-2, el macrobloque es la unidad de procesamiento de la DCT para las señales de diferencia de color.

Un slice son un grupo de macrobloques asociados en sentido horizontal y tomados de izquierda a derecha. Pueden constar desde un macrobloque hasta toda una línea, pero un mismo slice nunca debe estar compuesto por macrobloques de diferentes líneas. En la figura se representa un conjunto de slices de una imagen en determinadas posiciones; estas posiciones pueden cambiar de una imagen a otra.

No es necesario que toda la imagen esté cubierta por slices, pueden quedar macrobloques que no

correspondan a ninguno de ellos. Esas zonas sin slice definido quedarán sin codificar para esa imagen. La norma MPEG no especifica lo que debe hacer el decodificador en estos casos, aunque lo más intuitivo es mantener esas zonas iguales a la imagen anterior. Obviamente esto sólo es aplicable a imágenes tipo P y B, ya que las imágenes I, por definición, van codificadas por completo.

El concepto de imagen en MPEG-2 no es el mismo al que estamos acostumbrados. Dependiendo de los casos, cuando utilizamos exploración entrelazada puede ser ventajoso considerar imagen, tanto un campo, como un cuadro. En imágenes sin movimiento, puede

Referencias

Documento similar

• La notificación del inicio del procedimiento y sus consecuencias. • La oportunidad de ofrecer y desahogar las pruebas en que se finque la defensa. • La oportunidad de alegar. •

Proporcione esta nota de seguridad y las copias de la versión para pacientes junto con el documento Preguntas frecuentes sobre contraindicaciones y

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la

El concepto de soberanía, teóricamente independizado de los problemas de fundamen- tación política, sirvió en la teoría jurídica como instrumento adecuado para explicar el derecho

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y

En este sentido, puede defenderse que, si la Administración está habilitada normativamente para actuar en una determinada materia mediante actuaciones formales, ejerciendo

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y

 Tejidos de origen humano o sus derivados que sean inviables o hayan sido transformados en inviables con una función accesoria..  Células de origen humano o sus derivados que