Vous êtes sur la page 1sur 6

6 Estndares de compresin de vdeo

6 Estndares de compresin de vdeo


Los codecs de vdeo ms importantes para la transmisin de un flujo de informacin
visual (streaming video) por la red son MJPEG, H.261, H.263, MPEG1, MPEG2 y
MPEG4. Estos cdecs han de cumplir una serie de requisitos relacionados con su
cometido, la transmisin de informacin de video por una red con retrasos y prdidas.
As pues deben conseguir una gran escalabilidad, una complejidad computacional baja,
una gran capacidad de recuperacin ante prdidas en la red y una gran agilidad en la
codificacin/decodificacin en el caso de videoconferencia. A la vez, deben conseguir
la mayor tasa de cuadros por segundo y calidad de imagen posible.
Observando los estndares de codificacin actuales apreciamos que aparentemente
ninguno de ellos es el ideal para la transmisin de vdeo por Internet. De hecho en la
actualidad se sigue investigando con gran empeo en el desarrollo del formato ideal de
codificacin de vdeo por parte de la mayora de las empresas del sector. La lnea de
investigacin actual se est centrando en el desarrollo de codecs ms escalables y
flexibles, as como en la forma de escalar codecs actuales utilizando transcodificadores
y filtros. As estndares actuales como H.323/H.324 para videoconferencia y MPEG4
han sido diseados para incorporar fcilmente estas nuevas innovaciones sin un
esfuerzo adicional considerable.

6.1 M-JPEG
Sus siglas significan Motion-JPEG o JPEG en movimiento. No es realmente un estndar
de vdeo sino que de lo que se trata es de una extensin para vdeo del estndar de la
ITU/ISO JPEG para imgenes estticas. Se basa simplemente en transmitir vdeo como
una sucesin de imgenes codificadas en formato JPEG, es decir, como si enviramos
una tira de fotos de manera consecutiva.
Mediante compresin JPEG se obtienen muy buenos resultados en la reduccin del
tamao de cada imagen sobre todo en tipos de imgenes de la vida real, como fotos o
imgenes digitalizadas desde una cmara por ejemplo. No obstante, este formato solo
introduce la llamada compresin espacial, es decir, dentro de una misma imagen, y no
tiene en cuenta la redundancia de informacin entre dos imgenes consecutivas de un
mismo vdeo, que normalmente difieren poco unas de otras. Este otro tipo de
compresin, denominada compresin temporal, es la usada por sistemas de codificacin
de vdeo ms avanzados como los que veremos a continuacin.

6.2 H.261
H.261 se conoce tambin como P*64 donde P es un entero, lo que representa mltiplos
de 64Kbit/sec. H.261 fue desarrollado para uso en aplicaciones de videoconferencia. El
algoritmo de codificacin que utiliza es similar, pero incompatible con el del estndar
MPEG. No obstante, H.261 necesita considerablemente menos uso de CPU que MPEG
para la codificacin en tiempo real. El algoritmo incluye un mecanismo que optimiza el
uso de ancho de banda mediante un compromiso entre la calidad de imagen y la fluidez
del movimiento, de tal forma que un vdeo que contenga una gran cantidad de

6 Estndares de compresin de vdeo

variaciones en sus imgenes se ver con menor calidad que uno que corresponda a
imgenes bastante parecidas entre ellas, es decir, con poco movimiento (como puede ser
una videoconferencia). Esto es as porque H.261 es un estndar basado en un flujo
constante de informacin (constant-bit-rate) y no en una calidad de imagen constante
(constant-quality, variable-bit-rate).

6.3 H.263
H.263 es un estndar de la ITU-T diseado para comunicaciones con bajo ancho de
banda. No obstante, se espera que su uso se extienda tambin a comunicaciones con ms
ancho de banda y que sustituya completamente a H.261 en una gran cantidad de
aplicaciones.
El algoritmo de codificacin de H.263 es similar al de H.261, pero introduce mejoras en
la calidad de imagen y en la recuperacin de errores:

H.263 utiliza una precisin de medio pxel para la compensacin de movimiento


mientras que H.261 utiliza precisin de pxel completo.
Algunas partes de la estructura jerrquica del flujo de datos son ahora
opcionales, de manera que el codec puede ser configurado para una tasa de
transferencia inferior o una mejor recuperacin ante errores.
Utiliza cuatro nuevas opciones negociables para mejorar las prestaciones:
Vectores de movimiento libre, codificacin aritmtica basada en la sintaxis,
prediccin avanzada y prediccin de frames (cuadros) hacia delante y hacia atrs
similar al estndar MPEG llamados P-B frames.
Soporta tres nuevas resoluciones de imagen aadidas a QCIF y CIF (352x288)
de H.261, que son SQCIF, 4CIF y 16CIF.

6.4 MPEG
Del ingls Motion Picture Experts Group, este estndar de la ISO define un conjunto
de formatos de codificacin utilizadas para el almacenamiento de informacin
audiovisual, incluyendo vdeo y audio en formato digital comprimido.
El sistema MPEG surgi como una respuesta a las necesidades de transmitir seales de
televisin y vdeo por redes digitales, y est pensado para funcionar con aparatos
diseados especficamente para esta misin, que permitan comprimir y descomprimir
las imgenes a gran velocidad.
Este formato no est orientado a videoconferencia como H.263 sino a una seal de
vdeo ya grabada, ya que utiliza lo que llamamos estimacin de movimiento
bidireccional, que se basa en comparar cada fotograma no solo con los anteriores sino
tambin con los posteriores, logrando as una mayor compresin.
El algoritmo que utiliza MPEG, adems de comprimir imgenes estticas mediante
JPEG, compara los fotogramas presentes con los anteriores y los futuros para almacenar
slo las partes que cambian. La seal adems incluye sonido en calidad digital.

6 Estndares de compresin de vdeo

MPEG utiliza compresin temporal y espacial. En primer lugar aplica una transformada
del coseno discreta, seguida de una cuantizacin para finalmente comprimir mediante
un algoritmo RLE. Los bloques de imagen y los de prediccin de errores tienen una
gran redundancia espacial, que se reduce gracias a la transformacin de los bloques
desde el dominio del espacio al dominio de la frecuencia.
MPEG requiere una intensiva computacin para su codificacin, aunque por el contrario
los resultados obtenidos son excelentes, logrndose ratios desde 50:1 hasta 200:1
MPEG en realidad no es un estndar, sino que engloba una serie de estndares que
fueron surgiendo con el tiempo y que vamos a ver a continuacin.

6.4.1 MPEG-1
Nacido en 1991, fue el primer estndar del grupo MPEG. Est orientado a sustituir las
cintas de vdeo VHS usando CDs (videoCD o VCD). Permite una resolucin de
352x288 pxeles.
MPEG-1 guarda una imagen, la compara con la siguiente y almacena solo las
diferencias, alcanzando as grados de compresin muy elevados. Define tres tipos de
fotogramas:

Fotogramas I o Intra-fotogramas: son los fotogramas normales o de imagen


fija, proporcionando compresin moderada en formato JPEG.
Fotogramas P o Predichos: son imgenes predichas a partir de la
inmediatamente anterior. Se alcanza una tasa de compresin muy superior.
Fotogramas B o Bidireccionales: se calculan en base a los fotogramas
inmediatamente anterior y posterior. Consigue el mayor grado de compresin a
costa de un mayor tiempo de clculo.

La velocidad de la seal comprimida es de aproximadamente 1.5Mbps (incluyendo


audio) para tener aproximadamente 1 hora de pelcula en un CD (700Mbytes). El factor
de compresin obtenido es de 60:1 aproximadamente (aprox. 5Kbytes por fotograma).

6.4.2 MPEG-2
Tambin conocido como SVCD, surge en 1994 como alternativa al anterior, para dotar
al vdeo de ms calidad y mayor resolucin (720x576), ya que la del MPEG1 (VCD) se
consider insuficiente para la distribucin de pelculas a gran escala.
MPEG-2 fue universalmente aceptado para transmitir vdeo digital comprimido con
velocidades mayores de 1Mb/s aproximadamente. Con MPEG-2 pueden conseguirse
elevadas tasas de compresin de hasta 100:1 dependiendo de las caractersticas del
propio vdeo.
Este es el estndar utilizado en los DVD-Video para las pelculas que se distribuyen en
el mercado de consumo. Un DVD es un sistema de almacenamiento con una capacidad

6 Estndares de compresin de vdeo

unas 8 veces superior a los CD. Tambin se utiliza para la transmisin de la Televisin
digital y en algunos pases para la televisin de alta definicin (HDTV).

6.4.3 MPEG-4
Nace en 1999 como una necesidad para videotelfonos o videoconferencias, pero pronto
queda claro que su principal campo de aplicacin es Internet, as como la multimedia en
general. La idea es exprimir al mximo canales con un ancho de banda pequeo (del
orden de 64Kbps).
Podra pensarse que es una sucesin de alguna manera de los anteriores, pero no es as.
Estamos ante un formato bastante diferente, dado el potencialmente estrecho canal por
el que va a ser enviado.
MPEG4 permite mezclar imagen y sonido naturales con otros sintticos. El objetivo es
crear un contexto audiovisual, en el cual existen unas primitivas llamadas AVO (Audio
Visual Object). Los AVOs se disponen jerrquicamente, como por ejemplo: un fondo
bidimensional, una figura que habla en ese fondo, una voz humana que corresponde a la
figura, etc. Mediante MPEG4 se definen los mtodos para codificar esas primitivas o
AVOs, que podran clasificarse en texto y grficos.
La escena audiovisual se construye situando los objetos AV a lo largo de la misma. Es
posible formar grupos de objetos, as como modificar los atributos de los mismos.
La comunicacin con los datos de cada AVO se realiza mediante uno o varios flujos
elementales (Elementary Streams), cuya caracterstica principal es la calidad de
servicio, denominada QoS (Quality of Service) requerida para la transmisin, as como
otros parmetros tiles para conocer los recursos y tiempos necesarios en la codificacin
y decodificacin.
MPEG-1

Ancho de Banda Intermedio (hasta 1.5 MBits/seg)


video: 1.25 Mbits/seg 352x240x30 Hz
audio: 250 Kbits/seg 2 canales
video no entrelazado
optimizado para CD-ROM

MPEG-2

Ancho de banda elevado


Caracterstica de TV
vdeo: varios perfiles
audio: hasta 5 canales
soporta video entrelazado

MPEG-4

Bajo ancho de banda (64 Kbits/seg)


video: originalmente 176x144x10 Hz
permite mezclar imagen y sonido naturales con otros sintticos
Internet, videotelfonos, videojuegos, multimedia ...

6 Estndares de compresin de vdeo

6.5 Conclusiones de cara al proyecto


Para aplicaciones de videoconferencia ms comerciales sobre mviles lo lgico sera
utilizar los formatos de vdeo ms complejos descritos, como H.263 y MPEG4 que
lograran unas tasas de compresin y una calidad de imagen altas, pero su gran
complejidad computacional obligan a que el terminal disponga de hardware especfico
para la codificacin/decodificacin de estas seales.
Adems, el eliminar la redundancia temporal y solo almacenar los cambios entre
imgenes consecutivas como realizan estos codificadores, provoca que cualquier
mnima prdida en la transmisin no slo afecte al fotograma que est siendo enviado
en ese momento, sino a todos los posteriores, por el sistema de codificacin usado que
se basa en prediccin de movimiento.
Actualmente se estn desarrollando tcnicas para aumentar la capacidad de recuperacin
ante errores de estos formatos, como son:

Marcadores de resincronizacin (RM Resynchronization Markers) que


dividen el flujo en videopackets (VP) para solo perder una porcin de la imagen
en caso de error.
Header Extension Codes (HEC) que replican la informacin de la cabecera de
cada fotograma en cada VP, para no perder toda la imagen en caso de error en la
transmisin de su cabecera.
Data Partitioning (DP) que dividen la informacin de cada VP en informacin
de movimiento e informacin de textura, mediante un tipo de RM llamado
marcador de movimiento. Gracias a esto el decodificador puede resincronizar y
recuperar datos sin tener que descartar todos los datos entre dos RMs.

Todas estas tcnicas suman tiempo de proceso y clculo al decodificador, por lo que con
ms razn hacen inviable estos formatos para el propsito del proyecto, sin apoyarse en
un hardware especfico.
De hecho, las compaas actuales que han conseguido implementar la tcnica de video
streaming en dispositivos mviles lo han logrado sin utilizar J2ME y MIDP, sino
usando protocolos propietarios y llamadas a mtodos nativos en su cdigo. Gracias a
esto pueden aplicar algoritmos de compresin propios utilizando toda la funcionalidad
del terminal.
Por ejemplo, los terminales Nokia modernos, utilizan el sistema operativo Symbian,
programado en C++, que permite trabajar a un nivel ms bajo que Java. En estos casos,
es el fabricante de los terminales quien tiene que dar soporte a toda la funcionalidad a
bajo nivel, consiguiendo obtener as el mximo rendimiento al dispositivo, pero a costa
de incumplir las normas de estandarizacin y de sacrificar la portabilidad que nos ofrece
el lenguaje Java.
A todas estas limitaciones hay que sumar la capacidad de memoria tan limitada de los
terminales mviles, lo cual dificulta aun ms la tcnica de streaming que suele utilizar
un buffer para almacenar cierto tiempo de video previo al inicio de la reproduccin, con
objeto de mantener la continuidad de esta en caso de cese del flujo de informacin

6 Estndares de compresin de vdeo

temporalmente debido a congestin en la red u otros problemas derivados de la propia


conexin.
Por todo esto, asumiendo la imposibilidad de reproducir vdeo de gran fluidez con todas
estas limitaciones, parece que para el cometido de nuestro proyecto, que es la
realizacin de un cliente para la recepcin de imgenes en un dispositivo mvil usando
CLDC y MIDP sobre J2ME, la nica opcin viable a priori es la de utilizar M-JPEG, es
decir, el cliente realizar peridicamente peticiones al servidor que le ir enviando cada
fotograma (codificado en JPEG) para que lo vaya presentando en la pantalla del
terminal.
No obstante, como se especifica en el proyecto anterior, el nico mtodo en MIDP que
convierte en imagen un flujo de bytes, exige que ese flujo represente una imagen PNG,
por lo que el cometido de este proyecto es adaptar el cliente para la decodificacin de
imgenes en formato JPEG, que conseguir unos ratios de compresin muchos mas
elevados que PNG para el tipo de imgenes que vamos a codificar, disminuyendo as el
tiempo de la transmisin, y aumentando por tanto el nmero de fotogramas por segundo
que podremos representar en la pantalla de nuestro mvil.
Una vez recibida cada imagen por el flujo abierto con el servidor, la informacin
codificada (en formato JPEG en nuestro caso) ha de ser decodificada para crear un
objeto tipo Image que pueda ser tratado por los mtodos de MIDP para presentarlo en la
pantalla del terminal.

Vous aimerez peut-être aussi