Вы находитесь на странице: 1из 57

ndice

Introduccin
1. Streaming
1.1 Que es el streaming y sus ventajas
1.2 Comunicacin punto a punto, multipunto y difusin
1.3 Codificacin en tiempo real versus pre codificacin
1.4 Aplicaciones interactivas versus no interactivas
1.5 Canales estticos versus canales dinmicos
1.6 Canales de Bit Rate constante (CBR) y variable (VBR)
1.7 Redes de conmutacin de paquetes y de conmutacin de circuitos
1.8 Soporte de la calidad de servicios (QoS)
2. Revisin sobre compresin de video
2.1 Breve descripcin de la compresin de video
2.2 Estndares de compresin de video
2.3 Qu especifican los estndares?
3. Codificacin escalable del video
3.1 Codificacin
3.2 Modos bsicos de escalabilidad
3.2.1 Escalabilidad de la calidad
3.2.2 Escalabilidad espacial
3.2.3 Escalabilidad temporal
3.2.4 Escalabilidad en frecuencia
3.2.5 Combinacin de esquemas bsicos

3.2.6 Escalabilidad de granulado fino


3.3 Escalabilidad basada en objetos
3.4 Codificacin basada en transformadas wavelet
3.4.1 Codificacin de imgenes fijas con wavelets
3.4.2 Codificacin de video con wavelets
4. Control de errores para superar prdidas del canal
4.1 Retransmisiones
4.2 Correccin de errores hacia delante
4.3 Ocultamiento del error
4.4 Codificacin de video resistente al error
4.4.1 Problemas introducidos por los errores
4.4.2 Como superar la prdida de sincronizacin en la trama
4.4.3 Como superar la propagacin del error y de los estados
incorrectos
4.4.4 Codificacin de video escalable para redes con muchas
prdidas
4.4.5 Codificacin de video con descripcin mltiple
4.4.6 Codificacin de video con descripcin mltiple y diversidad de
caminos
4.4.7 Codificacin conjunta de canal y de fuente
5. Streaming de video sobre Internet y redes IP inalmbricas
5.1 Arquitectura de los sistemas de video streaming
5.2 Compresin de video
5.3 Control de QoS en la capa de aplicacin para streaming de video
5.3.1 Control de congestionamiento

5.3.2 Control de error 45 Ocultamiento del error


5.4 Servicios de distribucin de medios continuos
5.4.1 Filtrado de red
5.4.2 Multi-difusin a nivel de aplicacin
5.4.3 Replicacin de contenido
5.5 Servidores de streaming
5.5.1 Sistemas operativos de tiempo real
5.5.2 Sistema de almacenamiento
5.6 Sincronizacin de medios
5.7 Protocolos para Video streaming
5.7.1 Protocolos de transporte
5.7.2 Protocolo de control de sesin RTSP
5.8 Streaming de video sobre redes IP inalmbricas
5.8.1 Aplicaciones que toman en cuenta la red
5.8.2 Servicios adaptables
5.8.3 Control de admisin de llamadas y reserva de recursos
6. Usos en la actualidad
Conclusin
Referencias Bibliogrficas

Introduccin
La aparicin de la Internet ha permitido desde hace tiempo bajar y
reproducir archivos de audio y video de buena calidad. Sin embargo, la
transferencia de archivos completos se traduce en tiempos de transferencia muy
largos y la imposibilidad de ver y escuchar en tiempo real. El mtodo ideal para
enviar medios sera generar un flujo de video (video stream) a travs de Internet
desde el servidor al cliente en respuesta a una solicitud del mismo. El cliente
reproduce el flujo entrante en tiempo real, a medida que va recibiendo los datos.
El video transmitido sobre redes de paquetes funcionando al mejor esfuerzo
tiene complicaciones debidas a factores como el desconocimiento y la variacin en
el tiempo del ancho de banda, demoras, prdidas de datos y otros como el
compartir los recursos de la red eficientemente y la realizacin eficiente de
comunicacin entre un punto y varios puntos. En este trabajo se estudiaran los
desafos que hacen a la complejidad del envo y la reproduccin de video
simultnea y explorar los algoritmos y sistemas que permiten el flujo de video pre
codificado o video en vivo sobre redes de paquetes como la Internet. Comenzar
con un resumen de los distintos alcances del streaming de video y las aplicaciones
en comunicacin. Las diferentes clases de aplicacin del video nos proveen
diferentes conjuntos de restricciones y grados de libertad en el diseo.
1. Streaming
1.1 Que es el Streaming y sus ventajas.
El streaming (tambin denominado transmisin, lectura en continuo,
difusin en flujo, lectura en trnsito, difusin en continuo, descarga continua o
media flujo) es la distribucin digital de multimedia a travs de una red de
computadoras de manera que el usuario consume el producto, generalmente
archivo de video o audio, en paralelo mientras se descarga. La palabra streaming
se refiere a: una corriente continua (que fluye sin interrupcin).
Este tipo de tecnologa funciona mediante un bfer de datos que va
almacenando lo que se va descargando en la estacin del usuario para luego
mostrarle el material descargado. Esto se contrapone al mecanismo de descarga
de archivos, que requiere que el usuario descargue por completo los archivos para
poder acceder a su contenido.
El trmino se aplica habitualmente a la difusin de audio o vdeo. El
streaming requiere una conexin por lo menos de igual ancho de banda que la
tasa de transmisin del servicio. El streaming de vdeo se populariz a fines de la

dcada de 2000, cuando el ancho de banda se hizo lo suficientemente barato para


gran parte de la poblacin.
Las diferentes aplicaciones para la comunicacin y el streaming de video tienen
diversidad de alcances. Una aplicacin como la comunicacin de video puede ser
por ejemplo punto a punto o para la transmisin mltiple. Por otro lado el material
puede ser video pre codificado, en vivo o codificado en tiempo real (por ejemplo un
video telfono o video conferencia). Los canales para la comunicacin pueden ser
estticos o dinmicos, con conmutacin de paquetes o conmutacin por circuitos,
pueden soportar bitrate variable y alguna forma de calidad de servicio QoS o
simplemente trabajar al mejor esfuerzo. Las propiedades especficas de la
aplicacin de video tienen una fuerte influencia en el diseo del sistema. Por este
motivo, continuar con una breve discusin de alguna de estas propiedades y sus
efectos en el diseo del sistema de comunicacin de video. (Bibliografa:
http://www.ite.educacion.es/formacion/materiales/107/cd/video/video0103.html)
El streaming funciona de la siguiente forma:

Conexin con el servidor. El reproductor cliente conecta con el servidor


remoto y ste comienza a enviarle el archivo.

Buffer. El cliente comienza a recibir el fichero y construye un buffer o


almacn donde empieza a guardarlo.

Inicio de la reproduccin. Cuando el buffer se ha llenado con una pequea


fraccin inicial del archivo original, el reproductor cliente comienza a
mostrarlo mientras contina en segundo plano con el resto de la descarga.

Cadas de la velocidad de conexin. Si la conexin experimenta ligeros


descensos de velocidad durante la reproduccin, el cliente podra seguir
mostrando el contenido consumiendo la informacin almacenada en el
buffer. Si llega a consumir todo el buffer se detendra hasta que se volviera
a llenar.
Ventajas

El extraordinario auge del uso de smartphones y tablets entre los


consumidores ha incrementado el visionado de contenidos audiovisuales online
por su parte.
Las empresas, conscientes de ello, cada vez ms aprenden cmo hacer
streaming y apuestan por las estrategias online para reforzar su marca y generar
un mayor engagement con los clientes o posibles usuarios.
Las cifras que te convencern de las ventajas del streaming:

Est comprobado que los principales motores de bsqueda dan ms


valor al contenido en vdeo que a los textos. Mediante el streaming mejorars el
SEO de tu sitio web gracias a la publicacin de contenido audiovisual en l y,
adems, conseguirs incrementar el trfico a la pgina web en un 55%.
Un servicio de streaming profesional te permitir una integracin total del
contenido en vdeo con las redes sociales. Una vez publicado el vdeo, se
generar viralidad y un mayor engagement con tus usuarios de las redes sociales
en las que tu empresa est presente.
Uno de cada tres usuarios que busca un producto o servicio en una web
visualiza contenido en vdeo referente a ese producto en la misma web. As pues,
la publicacin mediante streaming te permitir mejorar la calidad de la informacin
que deseas mostrar o transmitir.
Se estima que hoy en da se consumen 13,2 millones de anuncios online
a nivel mundial. El streaming puede tambin convertirse en una fuente de ingresos
extra para tu negocio: la monetizacin te permitir rentabilizar tus contenidos
audiovisuales mediante la insercin de publicidad en tus vdeos o mediante la
utilizacin de pago por visin (pay-per-view).
La herramienta de analtica, que slo te pueden ofrecer las plataformas
de streaming profesionales, permite un mayor control de tus vdeos y un mejor
aprovechamiento de la informacin que generan las estadsticas para corregir y
mejorar tu estrategia de marketing online. Las plataformas gratuitas como
YouTube no te proporcionarn informacin tan valiosa para tu negocio.
Gracias al streaming podrs restringir la visualizacin de tus vdeos
online a un determinado grupo de personas o a una zona geogrfica; es decir,
podrs limitar el acceso por IP o mediante una clave de acceso.
El streaming tambin te permite reducir costes en la empresa: podrs
retransmitir un comunicado del presidente de la compaa o llevar a cabo una
formacin mediante el vdeo, en vivo o bajo demanda, lo que ahorrar a la
empresa gastos de desplazamiento y horas de trabajo.
Por ltimo, y como sntesis de todas las ventajas anteriores, el uso del
streaming te permitir llegar a una audiencia global a un coste reducido.
En este marco, el streaming lidera las estrategias de marketing de contenidos y se
convierte en un elemento ineludible en cualquier estrategia online, de hecho, ya
estamos viendo como el videomarketing est introducindose en nuestros planes.

(Bibliografa: http://www.todoereaders.com/libros-digitales-en-streaming-el-futurode-la-lectura-digital.html)
1.2 Comunicacin punto a punto, multipunto y difusin
La forma ms popular de comunicacin por video es desde un punto a
muchos (o desde un punto a todos), llamada comunicacin por difusin (broadcast
communication) como por ejemplo la televisin. La difusin es una forma muy
eficiente de comunicacin para contenidos populares, ya que puede enviar estos
contenidos a todos los receptores al mismo tiempo. Un aspecto importante de la
comunicacin por difusin es que el sistema debe ser diseado para suministrar a
cada potencial receptor la seal requerida. Esto se debe a que cada receptor
puede presentar diferentes caractersticas de canal, por lo que el sistema se
disea para el peor caso. Un ejemplo es la televisin digital en donde la
codificacin del canal y la codificacin de fuente fueron diseadas para proveer
una seal adecuada en el borde del rea de recepcin, sacrificando la calidad
para los receptores en reas ms cercanas al centro de transmisin. Una
caracterstica importante de la comunicacin por difusin es que dado que
involucra un nmero muy grande de receptores es casi imposible tener una
interaccin entre el receptor y transmisor, limitando la adaptabilidad del sistema.
Otra forma de comunicacin muy comn es el punto a punto (point-to-point) como
por ejemplo el video telfono, o la video conferencia por Internet. Una propiedad
importante de este tipo de comunicacin es el hecho de que exista o no un canal
de retorno entre el emisor y el receptor. Si este existe el receptor puede enviar
informacin al emisor que puede ser usada para adaptar el procesamiento, de lo
contrario habr un conocimiento limitado por parte de este sobre el
comportamiento del canal. Otra forma de comunicacin con propiedades entre el
punto a punto y la difusin es el multicast (multidifusin). El multicast es una forma
de comunicacin entre uno y muchos puntos pero no entre uno y todos los puntos
como la difusin. Un ejemplo es el IP- Multicast sobre la Internet. Este sistema sin
embargo no es muy popular todava en la Internet y se estn utilizando
actualmente otras opciones desarrolladas sobre la capa de aplicacin. El multicast
es ms eficiente para poder comunicarse con mltiples receptores que el punto a
punto y tiene ventajas y desventajas similares a la difusin.
1.3 Codificacin en tiempo real versus pre codificacin
El video puede ser capturado y codificado en tiempo real o puede ser
codificado previa- mente y guardado para una visualizacin posterior. Las
aplicaciones interactivas como el video telfono, el video conferencia o los juegos
interactivos son ejemplos de aplicaciones que requieren codificacin en tiempo
real, aunque otras no interactivas tambin pueden requerirlo (ejemplo: Transmisin

de eventos deportivos). En muchas aplicaciones el contenido de video es


codificado previamente y almacenado para su posterior visualizacin, lo que
puede ser hecho en forma local o remota. Un ejemplo de almacenamiento local es
el DVD y video CD y de almacenamiento remoto es el video bajo demanda (VOD:
video on demand) y el video streaming (por ejemplo el que proporciona
RealVideo de Real Networks o Microsoft Netshow).
El video codificado previamente tiene la ventaja de no poseer restricciones
de tiempo real. Esto permite la implementacin de una codificacin ms eficiente,
como la de mltiples pasadas utilizadas en los DVD. Por el otro lado la flexibilidad
es limitada, ya que el video previamente codificado no puede adaptarse a los
canales de bit rate variable o a los clientes que tienen capacidad de visualizacin
diferente a la originalmente codificada.
1.4 Aplicaciones interactivas versus no interactivas
Las aplicaciones interactivas como el video telfono o los juegos
interactivos son sometidas a restricciones de tiempo real. Especficamente, la
informacin tiene un tiempo acota- do de utilidad, y si la misma llega, pero llega
tarde es intil. Esto es equivalente a decir que existe una latencia mxima
aceptable entre las puntas del canal sobre la informacin transmitida que incluye
la captura, la codificacin, la transmisin, la recepcin, la decodificacin y la
presentacin en pantalla. Los valores mximos dependen de la aplicacin pero
tpicamente andan en los 150 ms.
Las aplicaciones no interactivas permiten latencias ms holgadas que
rondan los segundos y pueden llegar a minutos. Como ejemplo estn las
transmisiones de eventos populares en vivo o discursos. Es interesante observar
que tanto las aplicaciones interactivas como las no interactivas requieren
codificacin en tiempo real, pero poseen requerimientos distintos para la latencia
entre las puntas lo que redunda en un diseo completamente diferente para el
sistema de comunicacin de video.
1.5 Canales estticos versus canales dinmicos
El diseo de un sistema de comunicacin de video tiene variaciones
significativas si las caractersticas del canal de comunicacin como ser el ancho
de banda, las demoras y las prdidas son estticas o dinmicas (variables en el
tiempo). Un ejemplo de canales estticos es ISDN (provee bit rate y delay fijo y
muy bajas prdidas) y almacenamiento de video en DVD. Ejemplos de canales
dinmicos son los inalmbricos o la Internet. La comunicacin sobre un canal

dinmico es mucho ms difcil y muchos de los desafos del video streaming se


relacin con los atributos variables de estos canales.
1.6 Canales de Bit Rate constante (CBR) y variable (VBR)
Algunos canales soportan CBR como ISDN o DTV3 y otros VBR como el
almacenamiento en DVD y la comunicacin sobre redes de paquetes compartidas.
Por otro lado las secuencias de video tienen complejidad variable en el tiempo, por
lo que codificar una secuencia con una calidad fija en el tiempo requiere un bit rate
variable y codificar con un bit rate fijo requiere una calidad variable. Es obviamente
importante que coincidan el bit rate de video y la capacidad del canal, y para lograr
esto se utilizan memorias intermedias para acoplar el codificador y el canal. Un
sistema realimentado provee informacin sobre el espacio ocupado en las
memorias para hacer la cuantizacin ms fina o ms tosca y por lo tanto variar el
bit rate.
1.7 Redes de conmutacin de paquetes y de conmutacin de circuitos
Un atributo fundamental que afecta el diseo del sistema de streaming es si
la red es de conmutacin de circuitos o de paquetes. Las de redes de conmutacin
de paquetes como Ethernet y la Internet son redes compartidas donde los
paquetes de datos pueden presentar demoras variables, llegar fuera de orden o
directamente no llegar. Por otro lado, las redes conmutacin de circuitos como las
PSTN4 o ISDN reservan recursos y los datos tienen demoras fijas, llegan en
orden, aunque pueden llegar corruptos.
1.8 Soporte de la calidad de servicios (QoS)
La calidad de servicio (QoS) es un trmino que abarca varios conceptos
utilizado para marcar el hecho de que la red provee algn sistema de envo
preferencial o garantas de rendimiento, a modo de ejemplo, garanta de
capacidad de procesamiento, de mxima tasa de prdidas o de mximas
demoras. El soporte de QoS en redes facilita la comunicacin de video ya que
habilita un nmero de capacidades como el prever los datos de video, el priorizar
los datos sensibles de video contra otro tipo de datos y tambin el priorizar los
diferentes tipos de datos de video. Desafortunadamente la QoS no es
ampliamente soportada por las redes de conmutacin de paquetes como la
Internet aunque las de conmutacin de circuitos como ISDN y las PSTN si proveen
garanta sobre las demoras, ancho de banda y prdidas. La Internet actualmente
se comporta al mejor esfuerzo (BE: Best Effort) ya que su objetivo es solamente
el proveer conectividad por entrega de paquetes. Existen diferentes formas de
QoS que estn siendo consideradas para la Internet incluyen- do servicios

diferenciados5 y servicios integrados6. Un sistema para comunicaciones que


soporta calidad de servicio es ATM7.
(Bibliografa: Fundamentos de Video Streaming, Daniel Rijo Sciara, pag: 47)

2. Revisin sobre compresin de video


Esta seccin dar una visin general sobre la compresin de video y sus
estndares incluyendo las prcticas y principios ms importantes de los algoritmos
de compresin actuales y de los que estn en desarrollo. Dado que ambos
estndares de compresin (H.261/3/4, MPEG-1/2/4) as como las soluciones
propietarias (Realnetworks8 y Microsoft Windows Media9 estn basadas en los
mismos principios bsicos, el entender a estos nos permite tener un entendimiento
bsico de los sistemas de video estndares y propietarios. Tambin es de inters
describir que son los estndares mencionados y cules son los ms relevantes
para video streaming.
2.1 Breve descripcin de la compresin de video
La compresin de video se consigue mediante la explotacin de las
semejanzas o redundancias que existen en una seal de video tpica. A modo de
ejemplo, los cuadros consecutivos de una secuencia de video exhiben
redundancia temporal dado que generalmente contienen los mismos objetos con
algn pequeo movimiento entre cuadros. En un cuadro en particular
encontraremos redundancia espacial, dado que las amplitudes de los pxeles
cercanos generalmente estn correlacionadas. De la misma forma, los
componentes de color rojo, verde y azul de un pxel dado generalmente estn
tambin correlacionados. Otra meta de la compresin de video es reducir la
informacin irrelevante en la seal de video. Esto significa que el sistema
codificar caractersticas que tenga importancia perceptiva y no gastar valiosos
bits en informacin que no pueda ser percibida o sea irrelevante. La identificacin
y la reduccin de la redundancia en una seal de video es relativamente directa,
pero la identificacin de la informacin sin importancia perceptiva es muy difcil,
por lo que la irrelevancia es un factor de difcil aprovechamiento. Para comenzar
consideramos la compresin de imgenes como el estndar JPEG que est
diseado para explotar la redundancia espacial y de color que existe en una
imagen sin movimiento individual.

Los pxeles vecinos de esta imagen son generalmente similares y las


imgenes naturales generalmente tienen su energa concentrada en las bajas
frecuencias. El estndar JPEG explota estas caractersticas particionando la
imagen en bloques de 8x8 pxeles y computando la Transformada Discreta del
Coseno de 2 dimensiones (2D- DCT) para cada bloque. El motivo para dividir la
imagen en bloques pequeos es que generalmente los pxeles en un bloque de
esas caractersticas son mucho ms similares que para bloques ms grandes. La
DCT compacta la mayora de la energa de la seal en el bloque en una pequea
fraccin de los coeficientes DCT, pero que an permite reconstruir la imagen con
precisin. Cada bloque 8x8 de coeficientes DCT es luego cuantizado y procesado
utilizando tcnicas como el escaneo en zig-zag, el RLE y la codificacin de
Huffman produciendo una versin comprimida de la informacin original. En el
caso de una imagen color se realiza primero una conversin de la imagen RGB
(Red, green, blue) al espacio luminancia/crominancia (YUV) en donde la diferente
capacidad de percepcin por parte del ojo humano de la crominancia (color) y la
luminancia (intensidad) de la imagen puede ser mejor explotada. Una secuencia
de video consiste en una secuencia de cuadros o imgenes. Cada cuadro puede
ser codificado como una imagen separada aplicando por ejemplo una codificacin
JPEG para cada uno. Sin embargo, si consideramos que los cuadros vecinos son
muy similares, podemos alcanzar una mayor compresin explotando la semejanza
de cuadros sucesivos.
La mejor forma de explotar esta caracterstica en la actualidad, es
codificando un cuadro dado de la siguiente forma:
1- Predecir este cuadro basndonos en un cuadro previamente codificado
2- Codificar el error de la prediccin
Los cuadros de video consecutivos generalmente contienen los mismos
elementos pero posiblemente ubicados en diferentes posiciones, por lo que, para
mejorar las predicciones, es importante estimar el movimiento entre cuadros y
luego formar una prediccin adecua- da que compense el movimiento. El proceso
de estimar el movimiento entre cuadros es llamado estimacin de movimiento ME,
y el proceso de realizar una prediccin mientras compensamos el movimiento
relativo entre dos cuadros es llamado prediccin con compensacin de
movimiento MC-P. Las compensaciones ME y MC-P basadas en bloques son
actualmente las ms populares y se basan en que el cuadro actual a ser
codificado es dividido en bloques de 16x16 pxeles. Luego se realiza una
prediccin para cada bloque buscando el bloque que mejor coincida del cuadro de
referencia previamente codificado. El movimiento relativo para el bloque que mejor
coincida es llamado vector de movimiento. Hay tres tipos bsicos comunes de
cuadros codificados:

(1) Cuadros intracodificados o cuadros I: Estos cuadros estn codificados


independiente- mente de los otros.
(2) Cuadros codificados en forma predictiva o cuadros P: Estos cuadros se
codifican basndose en un cuadro anterior.
(3) Cuadros codificados en forma predictiva bidireccional o cuadros B: Estos
cuadros estn codificados basndose en cuadros anteriores y posteriores.
La eleccin de las dependencias de prediccin entre cuadros tiene un
efecto importante en el rendimiento del video streaming en trminos de eficiencia
de compresin y rechazo al error. Los estndares actuales de video logran la
compresin aplicando los mismos principios bsicos. La redundancia temporal es
aprovechada al aplicar la prediccin MC mientras que la espacial se explota
aplicando la DCT. La redundancia en el espacio de color se explota mediante la
transformacin de espacio de colores. Los coeficientes DCT resultantes son
cuantizados y aquellos que no sean cero se codifican mediante RLE y Huffman
para producir el flujo de bits comprimidos.
2.2 Estndares de compresin de video
Los estndares de compresin de video nos brindan un gran nmero de
beneficios entre los que destacan el aseguramiento de la interoperabilidad y la
comunicacin entre codificadores y decodificadores realizados por personas o
compaas diferentes. De esta forma se disminuyen los riesgos para el
consumidor y el fabricante, permitiendo una popularizacin ms rpida y ms
extensa. A esto se agrega el hecho de que lo estndares son utiliza- dos para una
variedad extensa de aplicaciones las que redundan en economas de escala que
disminuyen los costos al usuario final.
En el momento hay dos grandes familias de estndares para la compresin
de video desarrollados bajo el auspicio de la ITU-T15 (antes la CCITT16) y la
ISO17. El primer estndar de video en ganar popularidad fue el ITU H.261,
diseado para proveer videoconferencia sobre redes integradas de servicios
digitales (ISDN) y se convirti en un estndar en 1990. Fue diseado para operar
a p=1,2,,30 mltiplos de la tasa de bits base de ISDN o sea p x 64 kb/s. En 1993
la ITU-T comenz un esfuerzo de estandarizacin con el objetivo primario de
lograr videoconferencia por la red de telefona pblica conmutada (PSTN) (lneas
de telfono analgicas convencionales), donde la tasa de bits total disponible era
de solamente 33.6 kb/s. La parte de compresin de video del estndar es la H.263
y su primera etapa fue adoptada en 1996. Una versin mejorada fue finalizada en
1997 como H.263 Version2 (V2).

Un algoritmo completamente nuevo que originalmente se llam H.26L se


est actualmente terminando de desarrollar con el nombre de H.264/AVC. El grupo
experto para imgenes en movimiento (MPEG) fue establecido por la ISO en 1988
con el objetivo de desarrollar un estndar para comprimir imgenes en movimiento
(video) y su audio asociado en un medio digital de almacenamiento (CDROM). l
estn- dar resultante conocido como MPEG-1 fue finalizado en 1991 y consigue
una calidad de audio y video similar al VHS a 1.5 Mb/s. Una segunda fase de su
trabajo conocida como MPEG-2 fue una extensin del MPEG-1 desarrollada para
aplicaciones de televisin digital y bit rates ms altos.
Un tercer estndar llamado MPEG-3 fue pensado para aplicaciones a an
mayores bits rates como HDTV, pero dado que estas aplicaciones podan lograrse
con MPEG-2 se desestim su realizacin. Actualmente la porcin de video de la
televisin digital DTV y de la televisin digital de alta definicin HDTV es realizada
bajo MPEG-2 para Norte Amrica, Europa y Asia.

Luego fue diseada una tercera parte del trabajo llamada MPEG-4 con los
objetivos de lograr mejorar la compresin, la eficiencia y el rechazo al error.
Tambin se busco un incremento de funcionalidades que incluyen el
procesamiento basado en objetos, la integracin del contenido natural y el
sinttico (generado en computadores) y la interactividad basada en el contenido.
El estndar H-26L est siendo finalizado por el Equipo Unido de Video (Joint Video
Team) formado por el ITU y el ISO MPEG. Este estndar consigue una mejora
significativa en la compresin sobre los estndares previos y ser adoptado por el
ITU y la ISO con el nombre de H.264 y MPEG-4, Advanced Video Coding (AVC).
Los actuales estndares de compresin utilizados para comunicacin de video son
el H.263 V2 y MPEG-4, y se espera que los nuevos estndares vayan ganando
mayor aceptacin.

2.3 Qu especifican los estndares?


Un sistema de compresin de video est compuesto de un codificador y un
decodificador que interpretan de la misma forma las rfagas de bits comprimidos.
El codificador toma el video original y lo comprime en una secuencia de bits,
la que es enviada al decodificador para que produzca el video reconstruido. Una
posibilidad es que el estndar especifique tanto el codificador como el
decodificador, pero esto hace que el estndar sea restrictivo. Lo que se hace en
cambio es lograr que el estndar tenga un alcance limitado que permita asegurar
la interoperabilidad permitiendo que existan diferencias. Los estndares no
especifican ni el codificador ni el decodificador. Lo que si describen es la sintaxis
para la secuencia de bits y el proceso de decodificacin.
La sintaxis de la secuencia de bits es el formato para representar los datos
comprimidos. A modo de ejemplo, el estndar especifica que el decodificador
usar una IDCT18, pero no dice como implementarla. La IDCT se puede
implementar en forma directa o utilizando un algoritmo rpido similar a la FFT19, o
utilizando instrucciones MMX20. La implementacin especfica no est
estandarizada lo que permite a los diferentes diseadores y fabricantes proveer
mejoras compatibles con el estndar y de esa forma diferenciar su trabajo. El
proceso de codificacin es no estandarizado en forma deliberada. A modo de
ejemplo, los codificadores ms sofisticados pueden ser diseados para proveer
mejor rendimiento sobre los ms simples. Adems se pueden incorporar mejoras
an despus de publicado el estndar (por ejemplo, mejores algoritmos para
estimacin de movimiento o ubicacin de bits).
La nica restriccin es que el codificador produzca una secuencia de bits con una
sintaxis correcta y que pueda ser decodificado por una decodificador estndar
compatible. En resumen es importante tener en cuenta que no todos los
codificadores son creados iguales a pesar de corresponder al mismo estndar.
(Bibliografa: http://www.chiariglione.org/mpeg/standards/mpeg-4/mpeg-4.htm)
3. Codificacin escalable del video
3.1 Codificacin
Los mtodos de codificacin basados en el contenido y en la forma de onda
buscan optimizar la eficiencia del proceso de codificacin para un bit rate fijo. Esto
es un problema cuando mltiples usuarios intentan acceder al mismo material de
video a travs de diferentes conexiones. A modo de ejemplo, un video MPEG-1
codificado a 1.5 Mbps puede ser bajado en tiempo real para su visualizacin en

una terminal conectada con banda ancha (por ejemplo, un mdem ADSL), pero no
una terminal conectada a 56 Kbps no podr recibir suficientes bits a tiempo como
para mostrar la secuencia en tiempo real.
La escalabilidad se refiere a la capacidad de recuperar informacin desde
imgenes o video que tengan un significado fsico mediante la decodificacin de
secuencias de bits con informacin parcial. En el ejemplo anterior, si el video fuera
escalable, el usuario conectado mediante banda ancha vera el video a la calidad
completa mientras que el que se conecta a 56 Kbps podr bajar un subconjunto de
la secuencia y ver una presentacin de menor calidad. Este ejemplo ilustra un
aspecto de la escalabilidad que es la escalabilidad del ancho de banda. Un flujo
escalable puede ofrecer la capacidad de adaptacin para niveles de error variable
en el canal y capacidad de procesamiento desigual en los receptores.
Los avances hacia la convergencia de tecnologa inalmbricas, Internet y
multimedia le dan a la escalabilidad un rol preponderante para proporcionar
acceso al medio sin importar desde donde, quien cuando, con qu o en qu forma.
Los codificadores escalables pueden tener granulado grueso (2 o 3 capas,
tambin llamados codificadores en capas) o granulado fino. En el caso extremo de
granulado fino, el flujo de datos puede ser cortado en cualquier punto. Cuantos
ms bits se retengan, mayor ser la calidad de la imagen reconstruida. Ese tipo de
flujo de bits es llamado embebido. Los codificadores embebidos permiten un
control preciso del bit rate lo que es una cualidad deseable en muchas
aplicaciones. A modo de ejemplo, los filtros de red pueden seleccionar el nmero
de bits a transmitir desde el flujo de bits embebido de forma que coincida con el
ancho de banda disponible. La codificacin escalable se consigue usualmente
suministrando versiones mltiples de un video en trminos de su resolucin de
amplitud (llamada escalonamiento en calidad o escalamiento SNR21), resolucin
espacial (escalabilidad espacial), resolucin temporal (escalabilidad temporal),
resolucin en frecuencia (escalabilidad en frecuencia, ms conocida como
particin de datos) o una combinacin de estos tipos. Los contenidos escalables
pueden accederse tanto a nivel de cuadros como a nivel de objetos (en MPEG4 es
definida como escalabilidad basada en objetos).
Analizaremos los cuatro esquemas bsicos de escalabilidad (amplitud,
espacial, temporal y en frecuencia) y luego veremos cmo realizar la escalabilidad
a nivel de objetos. A pesar de que se aplican conceptos similares para los
diferentes tipos de codificadores, nos enfocaremos en como modificar los
codificadores hbridos basados en bloques para conseguir los diferentes modos de
escalabilidad. Luego describiremos mtodos de codificacin basados en wavelets22 los que, por la naturaleza de las transformadas wavelet, tienden a ser

procesos de granulado fino. Es interesante notar que un mtodo alternativo para


manejar capacidades de entorno del canal y del receptor variables es el simulcast
(difusin simultnea), el que codifica el mismo video muchas veces, cada una con
una diferente calidad y resolucin. A pesar de su simpleza es muy ineficiente, dado
que un flujo de datos con mayor calidad y resolucin repetir esencialmente la
misma informacin que se existe en un flujo de menor calidad, junto con
informacin adicional. Por otra parte, para proveer funcionalidad de escalado, el
codificador deber sacrificar una cierta cantidad de eficiencia en la codificacin en
comparacin con los codificadores no escalables actuales. La meta de diseo en
la codificacin escalable es minimizar la reduccin de la eficiencia en la
codificacin manteniendo el objetivo de la escalabilidad.
3.2 Modos bsicos de escalabilidad
3.2.1 Escalabilidad de la calidad
La escalabilidad de la calidad se define como la representacin de una
secuencia de video con diferente precisin en los patrones de color. Generalmente
esto se obtiene codificando los valores de color (en el dominio original o en el
transformado) con tamaos de pasos de cuantificacin cada vez ms finos. Dado
que diferente precisin en la cuantificacin origina diferentes PSNR23 entre el
video cuantificado y el original, este tipo de escalabilidad se conoce como
escalabilidad SNR. Una secuencia de bits con N capas de escalabilidad de
calidad. El de- codificar la primer capa (tambin llamada capa base) provee una
versin de baja calidad de la imagen reconstruida. Al decodificar la capa siguiente
(tambin llamada capas de mejora) se incrementa la calidad de la imagen
reconstruida hasta el nivel ms alto. La primera capa es obtenida al aplicar un
cuantificado grueso a la imagen original o en su dominio de transformada (por ej.
DCT). La segunda capa contiene la diferencia de cuantificacin entre la imagen
original y aquella reconstruida desde la primera capa usando un cuantificador ms
fino que el de la capa inicial.
De la misma forma, cada una de las capas subsiguientes contiene
diferencias cuantificadas entre la imagen original y la reconstruida de las capas
anteriores utilizando un cuantificador cada vez ms fino.
Para el nivel de mejora, las operaciones se realizan de la forma siguiente:
1. El cuadro de video en bruto (o el cuadro con el error de compensacin de
movimiento) es transformado mediante DCT y cuantificado en el nivel base;

2. Los coeficientes DCT de nivel base son reconstruidos por cuantificacin


in- versa;
3. Se restan los coeficientes DCT de nivel base de los coeficientes DCT
origina- les;
4. El residuo es cuantificado por un parmetro de cuantificacin que es
menor que aquel del nivel base;
5. Los bits cuantificados son codificados mediante VLC24 Dado que el nivel
mejorado utiliza parmetros de cuantificacin ms pequeos, conseguir mejor
cualidad que el nivel base. La operacin de decodificacin es mostrada en la.
Para el nivel base, el decodificador opera exactamente como un codificador
de video no escalable. Para el nivel mejorado se deben recibir los dos niveles,
decodificarlos mediante decodificacin de largo variable (VLD) y cuantificarlos en
forma inversa. Luego los coeficientes DCT de nivel base son sumados con las
mejoras introducidas por los coeficientes DCT del nivel mejorado. Luego de esta
etapa, los coeficientes DCT sumados son transformados inversamente con IDCT
resultando en el video decodificado de nivel mejorado.

3.2.2 Escalabilidad espacial


La escalabilidad espacial se define como la representacin del mismo video
en diferentes resoluciones espaciales o tamaos.

Una secuencia de datos con M capas de escalabilidad espacial.


Decodificando la primera capa, el usuario puede mostrar una versin preliminar de
la imagen decodificada en una resolucin inferior. Al decodificar las capas
subsiguientes se incrementan la resolucin espacial hasta llegar a la resolucin
completa de la imagen original.
Para producir este flujo de datos estratificado primero debe realizarse una
descomposicin de la imagen original en mltiples resoluciones. La imagen de
resolucin menor es codificada directamente para producir la primer capa (llamada
capa base). Para producir la segunda capa, la imagen decodificada desde la
primera capa es interpolada a la segunda resolucin. La diferencia entre la imagen
original y la interpolada a la resolucin de la segunda capa es codificada. El flujo
de bits para cada una de las siguientes resoluciones es producido de la misma
forma (primero producir una imagen estimada a la resolucin que corresponda
basada en las capas anteriores y luego codificar la diferencia entre la imagen
estimada y la original).
Para la capa base, el video en bruto primero es sub-muestreado25
espacialmente y luego transformado por DCT, cuantificado y codificado por VLC.
Para la capa de mejoramiento, las operaciones son las siguientes:
1. El video en bruto es sub-muestreado espacialmente, se transforma por
DCT y se cuantifica en la capa base;
2. La imagen de capa base se reconstruye por cuantizacin inversa y DCT
inversa;
3. La imagen de la capa base es sobre muestreada espacialmente;
4. Se resta la imagen de capa base sobre-muestreada de la imagen
original;
5. El residuo es transformado por DCT y cuantizado mediante un parmetro
de cuantizacin que ser menor al de la capa base;
6. Los bits cuantizados son codificados por VLC. Dado que la capa de
mejoramiento usa un parmetro de cuantizacin ms pequeo, se consigue una
calidad mejor que la de la capa base.
3.2.3 Escalabilidad temporal
La escalabilidad temporal se define como la representacin del mismo video
en diferentes resoluciones o frame rates. Generalmente el video escalado

temporalmente se codifica haciendo uso de imgenes sobre-muestreadas


temporalmente desde una capa inferior como prediccin para una capa superior.
El diagrama de bloques es similar que el utilizado para el escalado espacial. La
nica diferencia es que el codificador escalado espacialmente utiliza submuestreado y sobre-muestreado espacial mientras que el escalado temporalmente
vara el muestreado en el tiempo.
La forma ms simple de realizar sub-muestreado temporal es saltendose
cuadros (por ejemplo, si la razn es 2:1 cado dos cuadros se descarta uno). El
sobre-muestreado temporal se puede conseguir mediante la copia de cuadros
(para la razn 1:2 cada cuadro se copia y se transmiten los dos en forma
consecutiva a la siguiente etapa). En este caso la capa base slo contiene los
cuadros pares y la capa de mejoramiento los impares. Para la compensacin de
movimiento, un cuadro de la capa base slo puede predecirse desde cuadros
anteriores de la capa base, y los de la capa de mejoramiento slo podrn
predecirse de los anteriores de esta capa.
3.2.4 Escalabilidad en frecuencia
Otra forma de representar un cuadro de video en capas mltiples es
incluyendo diferentes componentes de frecuencia en cada capa, en donde la capa
base tendr los componentes de menor frecuencia y las capas siguientes
contendrn componentes de frecuencia cada vez de mayor orden. De esta forma,
la capa base ser una versin borrosa de la imagen y al agregar las capas de
mejoramiento se ir formando una imagen ms precisa. Esta descomposicin se
puede lograr con transformaciones de cuadros enteros como la descomposicin
en sub-bandas, transformadas de wavelets o transformadas basadas en bloques
como la DCT para bloques. Una forma de implementar esta idea en los
codificadores hbridos basados en bloques es incluyendo la informacin de modo,
la informacin de movimiento as como tambin los primero coeficientes DCT de
cada macro bloque en la capa base as como incluyendo los coeficientes
remanentes en la capa de mejoramiento. En el estndar MPEG-2, este mtodo es
conocido como particionamiento de datos.
3.2.5 Combinacin de esquemas bsicos
Los escalamientos en calidad, temporal, espacial y en frecuencia son
mecanismos bsicos. Estos mecanismos pueden ser combinados para obtener un
granulado ms fino por lo que flujo de bits contendr M capas espaciales en las
que cada una de ellas contendr N niveles de escalabilidad espacial. En este caso
tanto la resolucin espacial como la calidad de la imagen reconstruida pueden ser
mejoradas mediante la transmisin progresiva y la decodificacin del flujo de bits.

El orden a seguir es mejorar la calidad de imagen para una resolucin dada hasta
llegar a la calidad mxima a la resolucin espacial dada y luego aumentar la
resolucin espacial al mximo nivel y mejorar nuevamente la calidad.
3.2.6 Escalabilidad de granulado fino
Los mtodos de escalabilidad descriptos anteriormente producen un flujo de
bits que consiste en muchas capas, donde cada capa base es seguida por una o
ms capas de mejoramiento.
Este tipo de codificacin provee solamente granulado grueso, en el que las
me- joras en calidad se obtienen con aumentos de velocidad en grandes pasos
discretos. Si slo se recibe una parte de los bits de una capa, la calidad del video
reproducido est determinada bsicamente por los bits recibidos en las capas
anteriores y no de los recibidos para la capa actual. La escalabilidad de granulado
fino (FGS28) es un mtodo de codificacin en que tanto la velocidad como la
calidad pueden incrementarse en pasos ms pequeos. En el caso lmite en que
un flujo de bits puede proveer una mejora de la calidad de video continua con cada
bit adicional el mtodo de codificacin es llamado codificacin embebida. Tanto la
FGS como la codificacin embebida pueden adaptarse a las variaciones de ancho
de banda en redes reales de forma ms eficiente.
Los requerimientos para el flujo de bits de ser completamente embebido o
tener granulado fino son menos restrictivos en la prctica y se produce una capa
base de calidad baja pero asegurada y una capa de mejoramiento que provee el
granulado fino. En el modo FGS de MPEG-4 se utiliza un mtodo de codificacin
convencional hbrido basado en bloques para producir un flujo de capa base a un
frame rate dado usando un QP29 relativamente grande. Luego para cada cuadro
codificado (intra o inter codificado), las diferencias entre los coeficientes DCT
originales30 y los cuantizados en la capa base (que sern llamados coeficientes
de refinamiento) son codificados en un flujo de granulado fino. Esto se consigue
cuantizando los coeficientes de refinamiento con un QP pequeo y luego
representando los ndices cuantizados a travs de codificacin en sucesivos
planos de bits. Los valores absolutos para los coeficientes de refinamiento
cuantizados en cada bloque son dados en representacin binaria. Comenzando
desde el plano de bits ms alto que no contenga ceros, cada plano de bits es
codificado en forma sucesiva utilizando RLC bloque por bloque.
Los RLC pueden ser codificados usando codificacin aritmtica o de
Huffman. Generalmente se utilizan distintos cdigos para planos diferentes dado
que las distribuciones de corridas RLC varan a lo largo de los planos. El mtodo
descrito anteriormente permite escalabilidad para una resolucin espacial fija en el

tiempo. Para agregar escalabilidad temporal, la capa base puede incluir un


conjunto de cuadros sub-muestreados codificados con un QP mayor. Para la capa
de mejoramiento, los cuadros restantes se predicen en forma bidireccional desde
los cuadros de la capa base. Los coeficientes DCT en la imgenes de prediccin
de error son luego cuantizados y codificados usando el mtodo de codificacin de
plano de bits, sumados a los coeficientes de refinamiento de los cuadros de la
capa base.

Una limitacin del sistema FGS es que la capa base debe ser entregada
completa y sin errores. Esto puede ser o no posible en las redes reales. Otro
problema es que si el bit rate de la capa base se mantiene bajo (para incrementar
el alcance de escalabilidad del flujo de bits), la eficiencia de codificacin del
mtodo FGS ser reducida significativamente en comparacin con la de un
codificador no escalable. Esto es debido a que los cuadros de la capa basen
reconstruidos son usados como cuadros de referencia para la prediccin de
compensacin de movimiento.
A pesar de que esta eleccin elimina el problema de la propagacin de error
temporal en la capa de mejoramiento, el alto error de cuantizacin en la capa base
reduce la ganancia de la prediccin. Una forma de mejorar la eficiencia de
codificacin del mtodo FGS es utilizar peridicamente una capa de mejoramiento
inter- media como referencia para la prediccin de compensacin de movimiento.

3.3 Escalabilidad basada en objetos


Los mtodos de codificacin escalable mencionados previamente realizan
la misma operacin sobre todo el cuadro de video. La escalabilidad temporal
basada en objetos (OTS) mejora el frame rate para el objeto seleccionado (lo
aumenta) de forma que presente un movimiento ms suave que el resto del rea.
Existen dos tipos de estructuras de mejoramiento en OTS para MPEG4. El Tipo 1
utiliza un cuadro entero como capa de objetos (VOL0) y una capa VOL1 que
representa un objeto particular. Puede presentar prediccin hacia adelante o
bidireccional. El Tipo 2 utiliza una capa de objeto VO0 que es una secuencia de un
cuadro entero que tiene slo el fondo y no usa capa de escalabilidad.
3.4 Codificacin basada en transformadas wavelet
La transformada discreta wavelet (DWT) es una herramienta poderosa
surgida recientemente para la compresin de imgenes y video debido a su
flexibilidad para representar seales no estacionarias (las imgenes reales son no
estacionarias) y su capacidad de adaptacin a las caractersticas visuales
humanas. La representacin en wavelet provee una expresin de resolucin y
frecuencia mltiple para la seal con localizacin en tiempo y frecuencia. La
transformada wavelet descompone la seal no estacionaria en un conjunto de subbandas multi-escaladas con componentes estacionarios y por ende ms sencillos
de codificar. Como agregado, la representacin wavelet coincide con las
propiedades de la visin humana, como ser, sintonizada en el espacio y modulada
en frecuencia como indican las investigaciones en psicofsica y fisiologa [9]. Por
ltimo, la descomposicin multi resolucin y multi frecuencia facilita crear flujos de
bits escalables.
La transformada wavelet, al igual que la DCT, consiste en tres pasos: (1)
transformacin wavelet; (2) cuantizacin; (3) codificacin de entropa.
La transformada wavelet convierte la seal de imagen en un conjunto de
coeficientes que corresponden a representaciones escaladas en el espacio a
mltiples resoluciones y segmentos de frecuencia. Los coeficientes wavelet son
organizados en una estructura de datos jerrquica de forma que la ubicacin de
cada bit y la compactacin de los datos sea ms eficiente. La cuantizacin permite
disminuir la tasa de datos favoreciendo algunas distorsiones.
Finalmente, la codificacin con entropa codifica los coeficientes
cuantizados en un conjunto de flujo de bits compacto. Las wavelet superan a las
tcnicas basadas en DCT para la codificacin de imgenes en eficiencia de

compresin con mejoras como la escalabilidad por lo que fueron elegidas en


MPEG-4 y JPEG2000.
3.4.1 Codificacin de imgenes fijas con wavelets
El mtodo EZW El concepto cero rbol fue desarrollado por J. M. Shapiro y
conocido como codificacin de wavelet de cero rbol embebida (EZW34).
Esta codificacin wavelet est basada en tres ideas: (1) transformacin
wavelet para de correlacin; (2) explotar las similitudes inherentes a la
transformada wavelet para predecir la ubicacin de informacin significativa sobre
las escalas; (3) compresin de datos sin prdidas universal utilizando codificacin
aritmtica adaptante.
La transformada discreta wavelet (DWT) descompone la imagen en un
conjunto de sub-bandas con resolucin variable. La sub-banda ms gruesa es
conocida como la banda DC y es una aproximacin pasa bajos de la imagen
original. Las sub-bandas siguientes son mejoras a escalas ms finas. En el
sistema de sub-bandas jerrquico de la transformada wavelet cada coeficiente de
una escala dada puede ser relacionado con un conjunto de coeficientes de
orientacin similar en la siguiente escala ms fina. El coeficiente en la escala
gruesa es llamado padre, y los dems coeficientes en la misma ubicacin espacial
y con orientacin similar de la escala ms fina siguiente son llamados hijos.
Para la sub-banda de frecuencia menor (LL3) de este ejemplo, la relacin
padre- hijo se define de forma que cada nodo padre tiene tres hijos, uno en cada
sub-banda en la misma escala y ubicacin espacial pero con diferente orientacin.
Para las otras sub- bandas, cada nodo padre tiene cuatro hijos en la siguiente
escala fina de la misma orientacin.
Los coeficientes de la banda DC se codifican en forma independiente de las
otras bandas. En la Fig. 9 se muestra que el coeficiente X es predicho en forma
adaptable de los otros tres coeficientes vecinos cuantizados (A, B y C) de la
siguiente forma: C si A B B C X A en otro caso < = (1)
Si alguno de los vecinos A, B o C no est en la imagen, su valor se fija en
cero a los efectos de la prediccin.

En el flujo de bits se codifica primero el tamao del paso de cuantizacin y


luego el valor mnimo de los ndices de cuantizacin diferenciales (llamados bandoffset36) y el valor mximo (llamado band_max_value). El band-offset ser un
entero negativo o cero y el band_max_value ser un entero positivo.
El mtodo EZW explora los coeficientes wavelet para cada sub-banda
primero los padres y luego los hijos. Cada coeficiente se compara con un umbral T
y es significativo si supera dicho umbral. Los coeficientes significativos son
codificados usando los smbolos NS (negative significant) o PS (positive
significant). El smbolo raz de cero rboles ZTR37 se utiliza para marcar un
coeficiente menor a T con todos sus hijos menores a T. El smbolo IZ (isolated
zero) se utiliza para coeficientes menores que T pero con al menos uno de sus
hijos mayores a T. EZW codifica los valores de los coeficientes significativos por
un esquema de cuantizacin por aproximaciones sucesivas mediante planos de
bits los que dan como resultado un flujo embebido.
Los mtodos ZTE y MZTE
El mtodo de Codificacin con entropa de rbol-cero (ZTE) se basa en
EZW con algunas diferencias. ZTE, al igual que EZW codifica explotando la
semejanza en la transformada wavelet de imgenes para predecir la ubicacin de
la informacin a lo largo de las escalas wavelet. A pesar de que ZTE no produce
una cadena de bits totalmente embebida como EZW por otro lado gana en
flexibilidad, eficiencia de codificacin, simplicidad y escalabilidad espacial. La
codificacin ZTE se realiza asignando un smbolo de rbol cero a un coeficiente y
luego codificando el valor del coeficiente con este smbolo en uno o dos rdenes
de escaneo diferentes. Los cuatro smbolos usados en ZTE son zero-tree root
(ZTR), valued zero-tree root (VZTR), value (VAL) y isolated zero (IZ). Los smbolos

de rbol cero y los coeficientes cuantizados son codificados sin prdidas utilizando
un codificador aritmtico adaptable con un alfabeto de smbolos dado.
El codificador aritmtico siguen en forma adaptable las estadsticas de los
smbolos de rbol cero y los valores codificados utilizando tres mtodos: 1) tipo
para codificar los smbolos de rbol cero; 2) magnitud para codificar los valores en
un estilo plano de bits y 3) signo para codificar el signo del valor. Para cada
coeficiente su smbolo de rbol cero es codificado y luego si es necesario se
codifica su valor. Este valor se codifica en dos pasos.
Primero su valor absoluto es codificado con el estilo plano de bits utilizando
el modelo de probabilidad apropiado y luego se codifica el signo usando un
modelo de probabilidad binario. La tcnica de codificacin con entropa de rbol
cero multi-escala (MZTE) se basa en la codificacin ZTE pero utilizando un nuevo
marco de referencia para ampliar ZTE a ser totalmente escalable con eficiencia.
En la primera capa de escalamiento se generan los smbolos de rbol cero idem a
ZTE con los coeficientes wavelet no nulos en la capa de escalabilidad. Para la
siguiente capa de escalabilidad el mapa de rbol cero se actualiza con los valores
correspondientes de refinamiento. En cada capa de escalabilidad se codificar un
nuevo smbolo de rbol cero slo si fue codificado como ZTR o IZ en la capa
previa de escalamiento. Si fue codificado como VZTR o VAL, el valor de
refinamiento se codifica en la capa actual. Se utiliza un modelo de probabilidad
adicional para codificar los refinamientos para los coeficientes codificados como
smbolos VAL o VZTR en cualquier capa de escalamiento previa.
MZTE adaptable a las formas
En la ZTE adaptable a las formas (SA-ZTE), la mscara con la forma del
objeto se descompone en una pirmide de sub-bandas de forma qu sabremos
que nodos del rbol de wavelet tienen coeficientes wavelet vlidos y cules tienen
valores que no importan. Debemos prestar atencin a la forma de codificacin
para los objetos con formas arbitrarias de multi-resolucin contra los valores sin
importancia (que corresponden a los pxeles fuera de los lmites o fuera de los
nodos).
Como vimos previamente, la SA-ZTE descompone los objetos de forma
arbitraria en dominio de las imgenes en una estructura jerrquica con un conjunto
de sub-bandas con resoluciones variables. Cada sub-banda tiene una mscara de
forma asociada para especificar la ubicacin de los coeficientes vlidos. Hay tres
tipos de nodos en el rbol: cero, no- ceros, y fuera de nodos (con valores que no
importan). La tarea ser extender el mtodo de codificacin de rbol-cero al caso
de los que tienen fuera de nodos. Una forma simple es fijar los valores que no

importan en cero y aplicar el mtodo de codificacin de rbol- cero, sin embargo,


esto requiere de bits para codificar los fuera de nodos como un rbol sin
importancia (tanto el padre como los hijos tienen valores sin importancia).
Esto es un gasto de bits, ya que los fuera de nodos no necesitan ser
codificados dado que la mscara ya indica su condicin. Por esto deberemos
tratar los fuera de nodos de forma diferente a los ceros, y aunque no queremos
gastar bits para codificarlos, debemos hacer algo con ellos. Una solucin es
codificar cualquier informacin respecto a la condicin de los no- dos hijo del nodo
sin importancia, y as asumiremos que tiene cuatro hijos para ser examinados ms
adelante. Cuando el decodificador inspecciones este nodo, ser informado por la
informacin de forma que es nodo sin importancia y continuar inspeccionando
sus cuatro nodos hijos. De esta forma no es necesario codificar todos los nodos
sin importancia en la estructura del rbol. Una desventaja de este mtodo es que
incluso si un nodo sin importancia tiene cuatro races hijos de rbol cero, deber
igual codificar cuatro smbolos raz de rbol cero y no uno (si el nodo sin
importancia se tratara como cero). Otra forma es tratar en forma selectiva a un
nodo externo como cero. Los experimentos muestran que el mtodo de no
codificar nodos externos se comporta mejor. Por otro lado la tcnica SA- ZTE
(utilizada en MPEG-4) se comporta en forma ms eficiente que la SA-DCT con
una mejora en la PSNR de 1.5 a 2 dB.
3.4.2 Codificacin de video con wavelets
Las tcnicas de codificacin de video por wavelets son clasificadas en tres
categoras: (1) compensacin de movimiento en el dominio espacial seguidas de
transformadas wavelet 2-D; (2) transformacin wavelet seguida de compensacin
de movimiento en el dominio de la frecuencia; (3) transformacin wavelet 3-D con
y sin estimacin de movimiento. Para cada una de las tres categoras pueden ser
empleados diferentes algoritmos de estimacin de movimiento, esquemas de
cuantizacin y mtodos de codificacin con entropa.
El mismo consta de cinco componentes principales: (1) estimacin y
compensacin de movimiento en tres etapas; (2) transformacin wavelet
adaptable; (3) cuantizacin de etapas mltiples; (4) codificacin entrpica de rbol
cero; (5) control de bit rate inteligente.
Primero se realiza un proceso de estimacin y compensacin de
movimiento de tres etapas que incluye estimacin de movimiento global (GME),
estimacin de movimiento de bloques de tamao variable (VBS-ME) y
compensacin de movimiento para bloques superpuestos (OBMC). Los cuadros
residuales compensados en movimiento son luego descompuestos con un filtro

wavelet en un conjunto de sub-bandas piramidales de resolucin mltiple, lo que


es seguido por un cuantizador de etapas mltiples con diferente tamao de etapa
y zonas muertas. Los coeficientes cuantizados son codificados en trpicamente
utilizando un codificador de tipo ZTE optimizado para los coeficientes de las wavelet para video residual.
El GME es utilizado para estimar los efectos de movimiento de la cmara y
separar la secuencia de imgenes en capas diferentes. Cada capa tiene su
estimacin de movimiento global y local. La estimacin global se basa en un
modelo de movimiento afn en 2-D que es aplicado previamente a la estimacin de
movimiento local. La VBS-ME se aplica a los cuadros sucesivos despus de la
GME. Una estructura de rbol cudruple se utiliza para separar los cuadros en
bloques de tamao variable que van de 8x8 a 256x256 pxeles. Luego se utiliza un
sistema de bsqueda de coincidencia convencional para los bloques para
encontrar los vectores de movimiento para cada bloque individual. OBMC utiliza
un promedio ponderado de los bloques vecinos desplazado por sus respectivos
bloques de movimiento como una prediccin para el bloque actual. Esto redunda
en una versin ms suavizada de la trama de compensacin de movimiento
residual. Debido al tamao de bloque variable usado en VBS-ME, OMBC utiliza el
tamao de bloque ms pequeo (en esta caso 8x8) y la funcin de la ventana
asociada como la unidad de solapamiento para la prediccin. La transformada
wavelet se aplica para los cuadros residuales compensados en movimiento. Dado
que la distribucin de energa en las diferentes sub-bandas tiende a ser uniforme
para los cuadros de error residual, el criterio de soporte de compactacin que
sera el normal para elegir los filtros wavelet deja de ser importante.
Es ms importante aqu la ubicacin en el tiempo del filtro wavelet. La DWT
es seguida por una cuantizacin escalar de los coeficientes de la transformada
wavelet que luego es seguida por la ZTE. La ubicacin y el bit rate en codificador
puede ser dividido en tres etapas: (a) ubicacin de bits en el dominio del tiempo
con velocidades de frame variable; (b) ubicacin de bits entre cuadros para dar
una asignacin ptima de velocidad a los cuadros; (c) ubicacin de bits entre
cuadros para producir ubicacin de bits ptima en el cuadro.
Este mtodo se ha comparado con el codificador basado en DCT de
MPEG-4. Los dos mtodos producen rendimientos similares en trminos del
PSNR. Se encontr que la optimizacin de la cuantizacin, la codificacin en
trpica y la compleja interaccin entre elementos del sistema de codificacin es
ms importante que la optimizacin de la transformada. (Bilbiografa: Chen-Khong
Tham, Yuming Jiang, Yung-Sze Gan, Layered Coding for a Scal- able Video

Delivery System, Department of Electrical and Computer Engineering, National


University of Singapore, pag: 20 40)
4. Control de errores para superar prdidas del canal
Las prdidas del canal tienen un efecto importante en la calidad del video
reconstruido, por lo que el diseo del sistema debe preverlas. Los tipos de
prdidas dependen de la red particular en consideracin. A modo de ejemplo, en
redes como la Internet importan las prdidas de paquetes descartados por
congestin, mientras que los canales inalmbricos son ms afectados por errores
a nivel de bit en la capa fsica.
La tasa de prdidas vara tambin con el trfico coincidente en el canal. En
el diseo de un sistema de streaming de video existen cuatro clases bsicas de
mecanismo para control del error: (1) retransmisiones, (2) correccin de error
hacia delante (FEC), (3) ocultamiento del error, (4) codificacin de video resistente
al error. Las primeras dos se refieren al canal y las ltimas dos a la codificacin de
la fuente.
4.1 Retransmisiones
En los sistemas con retransmisin el receptor utiliza un canal alternativo
para notificar al remitente cuales paquetes fueron recibidos correctamente y
cules no, habilitando al remitente a reenviar los paquetes perdidos. Este sistema
utiliza el ancho de banda en forma eficiente, dado que se reenvan slo los
paquetes perdidos y el sistema se adapta a condiciones cambiantes del canal. Por
otro lado, la retransmisin redunda en demoras que corresponden al tiempo de
envo de punta a punta RTT entre el remitente y el receptor y requiere de un canal
alternativo que puede no ser posible en aplicaciones de difusin, multidifusin y
punto a punto sin canal alternativo. Hay aplicaciones en que las demoras
adicionales son aceptables como FTP, navegacin en Web, y telnet. Estas
aplicaciones requieren entrega garantizada y tiene canal alternativo. La
retransmisin no es solucin en caso de aplicaciones que no lo posean o que no
soporten demoras.
4.2 Correccin de errores hacia delante
La meta de FEC es agregar redundancia especializada que pueda ser
usada para recuperacin de errores. A modo de ejemplo, en redes de paquetes se
utilizan cdigos de que toman K paquetes de datos y devuelven N paquetes,
donde hay N-K paquetes redundantes. Para algunos cdigos alcanza con que K
paquetes cualquiera de los N sean recibidos correctamente para recuperar los

datos originales. Por otro lado, la redundancia aumenta el ancho de banda


requerido por un factor N/K. FEC provee ventajas y desventajas. Comparado con
la retransmisin, FEC no requiere de un canal alternativo y puede tener demoras
menores ya que no depende del tiempo de viaje punta a punta en redondo para
retransmisiones.
Las desventajas incluyen el sobre procesamiento permanente (an si no
hay prdidas) y la latencia asociada a la reconstruccin de los paquetes perdidos.
Por otro lado, la alternativa FEC debe ser diseada para una determinada tasa de
prdidas y slo son efectivas si esta tasa coincide con la del canal. Si las prdidas
son menos, los datos pueden ser recupera- dos, pero si son mas slo se puede
recuperar una porcin de los datos fuente. Dado que las redes de paquetes no
proporcionan una tasa de prdidas conocida y fija en el tiempo, el FEC no coincide
con el del canal convirtindolo en ineficaz o en ineficiente.
4.3 Ocultamiento del error
La meta del sistema de ocultamiento del error es estimar la prdida de
informacin o pxeles perdidos para ocultar el hecho de que ocurri un error. El
video exhibe una correlacin en las dimensiones espaciales y temporal que fue
utilizada para la compresin, pero tambin puede ser utilizada para estimar la
prdida de informacin mediante la interpolacin (o extrapolacin) de los datos
recibidos correctamente. Consideremos que se ha perdido un bloque de pxeles
16x16 (un macro bloque MPEG). Podemos asumir que el bloque perdido tiene
amplitud cero y sin embargo produce un cuadrado negro/verde en el medio del
cuadro de video que distrae la atencin.
Hay tres opciones para el ocultamiento del error: (1) interpolacin espacial,
(2) interpolacin temporal (cuadro congelado) e (3) interpolacin temporal con
compensacin de movimiento.
La meta de la interpolacin espacial es estimar los pxeles faltantes
mediante una extrapolacin de los pxeles vecinos que se hayan recibido
correctamente. La recuperacin de los pxeles perdidos es muy difcil aunque con
recuperar el valor DC se consigue una mejora apreciable respecto a tomarlos con
valor cero. La extrapolacin temporal tiene como objetivo estimar los pxeles
faltantes mediante la copia de los pxeles correctos del cuadro anterior en la
misma ubicacin espacial. Este sistema es muy bueno cuando no hay mucho
movimiento, pero aparecen problemas en movimientos bruscos. La extrapolacin
temporal con compensacin de movimiento estima el bloque perdido a partir del
bloque en la misma ubicacin espacial del cuadro anterior compensndolo en
movimiento. La traba en este sistema es como estimar el movimiento para los

pxeles perdidos. Una forma es utilizar el vector de movimiento para ese bloque (si
lo tenemos), o usar de un bloque vecino para estimar este. Existen muchos
algoritmos para ocultamiento del error con diferentes combinaciones de de
interpolacin espacial y/o temporal siendo los que poseen compensacin de
movimiento los ms efectivos.
De todas formas, las prdidas generalmente no son de un solo bloque, por
lo que para prdidas de un cuadro entero no son aplicables las tcnicas de
interpolacin espacial. En este caso la interpolacin es temporal basada en el
cuadro pre- vio. Un elemento clave del mtodo de ocultamiento del error es que el
mismo se realiza en el decodificador por lo que se encuentra fuera de los
estndares de compresin de video.
4.4 Codificacin de video resistente al error
El objetivo de la codificacin de video resistente al error es disear algoritmos para
la compresin y tramas de bits comprimidas que sean resistentes a tipos
especficos de error.
4.4.1 Problemas introducidos por los errores
La mayora de los sistemas de compresin tienen una arquitectura similar
basada en la prediccin con compensacin de movimiento entre cuadros, DCT
para los bloques y codificacin con entropa de los parmetros.
Los dos problemas bsicos inducidos por errores que afectan esta
arquitectura son: 1) Prdida de sincronizacin de la trama de bits 2) Estados
incorrectos y propagacin del error La primera clase de problemas se refiere al
caso de los errores que confunden al decodificador y le hacen perder
sincronizacin con la trama de bits (no reconoce que bits corresponden a que
parmetro). La segunda clase es la prdida que afecta los sistemas con
codificacin predictiva.
4.4.2 Como superar la prdida de sincronizacin en la trama
La prdida de sincronizacin hace que el decodificador no reconozca que
bit corresponde a que parmetro. Por ejemplo podemos considerar que pasa
cuando un error de un bit afecta a una palabra cdigo de Huffman u otras palabras
cdigo de largo variable (VLC). En este caso, no slo la palabra cdigo ser
decodificada incorrectamente, sino que tambin, dado el largo variable de las
palabras, la palabra cdigo ser decodificada en un largo distinto y todos los bits
de la trama sern mal interpretados hasta la prxima re- sincronizacin.

Este problema no ocurre con los cdigos de largo fijo (FLC), dado que en
estos se conoce la posicin de comienzo y de finalizacin de la palabra. Sin
embargo, los FLC no proveen buena compresin por lo que los VLC son los ms
comunes.
Para superar la prdida de sincronizacin se proveen mecanismos que
permitan al decodificador aislar el problema y resincronizarse a la trama luego del
error. Consideraremos los mecanismos de resincronizacin.
Marcadores de re sincronismo
Es la forma ms simple de lograr resincronizacin de la trama de bits. La
idea es colocar puntos de entrada en la trama que sean nicos y fciles de ubicar,
de forma que si el decodificador pierde el sincronismo, pueda buscar el siguiente
punto de entrada y comen- zar a decodificar nuevamente luego de ubicarlo. Estos
marcadores se disean para que sean distinguibles frente a todas las palabras
cdigo, concatenacin de estas y perturbaciones a su vez de estas
concatenaciones.
Un ejemplo de un marcador es un secuencia de tres bytes con 23 ceros
seguidos de un uno. Un punto interesante a discutir es el lugar para ubicar los
marcadores. Una forma es colocarlos en ubicaciones estratgicas en la jerarqua
del video comprimido como imgenes o cabezales de corte. Este sistema se usa
en MPEG-1/2 y H.261/3. Los marcadores quedan ubicados cada un nmero fijo de
bloques (que corresponde a un nmero variable de bits). Un problema de esta
solucin es que las reas activas que requieren ms bits son ms factibles a ser
corruptas. Para solucionar este problema en MPEG-4 se habilit la capacidad de
poner marcadores peridicamente despus de un nmero fijo de bits (que
corresponde a nmero variable de bloques). Con esta solucin se logr bajar la
probabilidad de tener reas activas corruptas, se simplific la bsqueda de los
marcadores y se habilit el sopor- te de paquetizacin por aplicacin.
Cdigos de largo variable reversibles (RVLCs)
Los cdigos VLC convencionales como los de Huffman son unvocamente
decodificables hacia adelante. Los RVLC lo son en ambos sentidos. Esta
propiedad permite recuperar datos que de otra forma se perderan. Por ejemplo, si
se detecta un error en la trama, el decodificador saltar al siguiente marcador de
re sincronismo. Si utilizamos RLVCs, en vez de descartar los datos entre el error y
el marcador, el decodificador puede decodificar hacia atrs desde el marcador
hasta que identifique el error, y as recuperar parcialmente los datos entre el error
y el marcador. Los RVLCs son menos eficientes que los VLC.

Particin de los datos


Una observacin importante es que los bits que siguen de cerca al
marcador de re sincronismo tienen ms posibilidad de ser decodificados en forma
precisa que aquellos ms lejanos. Surge la idea entonces de colocar la
informacin importante inmediatamente despus de los marcadores de re
sincronismo (por ejemplo: vectores de movimiento, coeficientes DCT de continua,
informacin de forma para MPEG-4) y colocar la informacin menos importante
(coeficientes DCT de alterna) ms adelante. Este mecanismo se llama particin de
los datos en MPEG-4. Es interesante observar que en MPEG-1/2 y H.261/3 los
datos se ordenan segn macro bloques con un formato determinado sin tener en
cuenta los diferentes tipos de datos.
Manejo de cuadros a nivel de aplicacin (ALF)
Muchas aplicaciones requieren comunicacin a travs de redes de
paquetes como la Internet que tienen un perfil de prdidas que puede ser
explotado ya que los paquetes o se reciben bien o se perdieron. Esto sugiere la
idea de que se debe disear la carga para cada paquete de forma tal que
minimicemos la prdida. El principio de ALF dice que la aplicacin es la que sabe
mejor como manejar prdida de paquetes, entrega fuera de orden y demoras, por
lo que la aplicacin debe disear la carga til para los paquetes y su
procesamiento relacionado.
Como ejemplo, si el codificador de video sabe el tamao de paquete para la
red, entonces puede disear la carga til del paquete para que cada paquete
pueda ser decodificado en forma independiente de los otros. Como resultado
vemos que un uso cuidadoso de ALF permite superar el problema de
sincronizacin de las tramas. El obstculo para streaming sobre redes de
paquetes ser la propagacin del error. (Bibliografa: Fundamentos de Video
Streaming, Daniel Rijo Sciara, pag: 35-37)
4.4.3 Como superar la propagacin del error y de los estados incorrectos
Luego de ocurrir un error, e incluso si la trama se re sincroniz, ocurrir otro
problema dado por el hecho de que el estado de representacin en el
decodificador puede ser diferente al estado en el codificador. En particular, si
utilizamos prediccin MC, un error provocar que el cuadro (estado) reconstruido
en el decodificador sea incorrecto. Como el estado en el decodificador es
incorrecto, se generarn predicciones incorrectas y por ende una propagacin del

error que puede afectar varios cuadros posteriores. Este problema tambin se da
en otros contextos como el acceso aleatorio a DVDs o la adquisicin del canal en
la televisin digital.
Una forma simple de solucionar este tema es usar slo cuadros intra (Iframe), pero perderamos toda la compresin dada por la prediccin. Otro sistema
es utilizar cuadros intra peridicos como en los grupos de imgenes MPEG GOP,
lo que limitara la propagacin del error al tamao de cuadros que tenga el GOP.
Esto se utiliza en DVD y DTV pero tiene problemas como la limitacin de la
compresin por lo que no es til para video a velocidades bajas. Tambin se utiliza
la codificacin intra de macro bloques dentro de los cuadros en vez de usar
cuadros intra.
Las ventajas de utilizar la codificacin intra para reducir la propagacin del
error son: (1) la codificacin intra limita la propagacin del error al reinicializar el
lazo de prediccin, (2) la sofisticacin afecta slo al codificador, (3) la decisin
entre modos intra e inter estn fuera de lo estndares lo que permite algoritmos
ms complejos. Las desventajas son: (1) Mayor bit rate que codificacin inter, (2)
la utilizacin ptima de los intra dependen del conocimiento de las caractersticas
del canal.
Comunicacin punto a punto con canal alternativo
En este caso, cuando ocurre una prdida, el decodificador puede comunicar
al codificador de la prdida y solicitar un cuadro I para reinicializar el lazo de
prediccin. Esto per- mite usar cuadros I slo cuando es necesario. Inclusive de
puede llegar a utilizar slo cuadros P para evitar la propagacin del error. El
mecanismo en este caso sera que el decodificador notifique al codificador cuales
cuadros fueron bien o mal recibidos y cual cuadro debera ser usado como
referencia para la prxima prediccin. Esta capacidad est dada por RPS
(Referente Picture Selection) en H.263 V2 y por NewPred en MPEG-4 V2.
4.4.4 Codificacin de video escalable para redes con muchas prdidas
La escalabilidad puede ser temporal, espacial o en calidad (SNR). La
codificacin escalable genera una orden de prioridad para los datos de video que
permiten un descarte inteligente. Las diferentes prioridades pueden ser utilizadas
para enviar video confiable mediante el uso de proteccin de error desigual
(UEP50), transmisin priorizada.
A pesar de que el video escalable con establecimiento de prioridad para los
datos de video permite coincidir la trasmisin con el rendimiento de la red, no es

muy comn que las redes soporten un sistema de QoS (Internet es una red al
mejor esfuerzo que no lo soporta). Este problema motiv el desarrollo de la
codificacin con descripcin mltiple que veremos a continuacin
4.4.5 Codificacin de video con descripcin mltiple
La MDC codifica una seal en dos o ms flujos separados llamados
descripciones mltiples (MD).
La codificacin con MD tiene dos propiedades importantes: (1) cada una de
las descripciones puede ser decodificada en forma independiente brindando una
reproduccin til de la seal original, y (2) las descripciones mltiples contienen
informacin complementaria que va mejorando la calidad de la seal recibida
cuanto ms MD se reciban correctamente. La diferencia con el video escalable
comn es que la capa base no es imprescindible, ya que cualquiera de los MD
puede generar video.
4.4.6 Codificacin de video con descripcin mltiple y diversidad de caminos
Como vimos en el punto anterior, la codificacin con MD permite reproducir
el video con cualquier descripcin recibida en cualquier instante de tiempo. De
todas formas, es conveniente aumentar la probabilidad de que al menos una
descripcin llegue correcta- mente en cualquier instante de tiempo. Esto puede
lograrse combinando la MD con un sistema de transmisin con diversidad de
caminos como el mostrado donde las diferentes descripciones se trasmiten por
caminos diferentes en la red.
4.4.7 Codificacin conjunta de canal y de fuente
La comunicacin de datos y de video tiene diferencias fundamentales. En la
comunicacin de datos todos los bits son igualmente importantes y deben ser
entregados en una forma confiable. En video algunos bits son menos importantes
que otros y generalmente no es necesaria la entrega de todos, pero s que los que
lleguen lo hagan a tiempo. A modo de ejemplo en MPEG los cuadros I son muy
importantes mientras que los B son de poca importancia. En video escalable
tienen menos importancia las sucesivas capas de mejoramiento. La idea es
codificar la fuente y el canal de forma conjunta explotando las diferencias de
importancia en estos datos de video.
Se ha realizado investigacin recientemente para desarrollar estos conceptos y
unos de los resultados es utilizar proteccin contra el error de diferente nivel segn
la importancia de los datos permitiendo una deteccin y correccin ms probable
para los datos ms relevantes. (Bibliografa: Ali C. Begen, Yucel Altunbasak,

Ozlem Ergun, Mehmet A. Begen, Real-Time Multiple Description and Layered


Encoded Video Streaming with Optimal Diverse Routing, Georgia Institute of
Technology, University of British Columbia, pag: 56-73)
5. Streaming de video sobre Internet y redes IP inalmbricas
Los ltimos avances en capacidad de procesamiento, tecnologas de
compresin y dispositivos de almacenamiento con gran ancho de banda han
permitido hacer una realidad la entrega de servicios multimedia en tiempo real
sobre Internet. El transporte de video en vivo o almacenado previamente es la
parte ms importante de estos servicios multimedia. Veremos a continuacin siete
reas relacionadas con este tema que nos permitirn una visin global del campo
donde incluiremos la compresin, la capa de aplicacin, la calidad de servicio, los
servicios de distribucin para medios continuos, los servidores de streaming, los
mecanismos de sincronizacin, los protocolos y finalmente el streaming sobre
redes IP inalmbricas.
5.1 Arquitectura de los sistemas de video streaming
Los datos de video y audio en bruto son pre-comprimidos por compresin
de video y de audio y luego guardados en dispositivos de almacenamiento. A
pedido del cliente, el servidor de streaming recupera datos de audio/video del
almacenamiento y el mdulo de control de QoS y capa de aplicacin adapta los
flujos de bits al estado de la red y los requerimientos de QoS. Luego los protocolos
de transporte convierte los flujos de bits comprimidos en paquetes y envan estos
sobre Internet o redes IP inalmbricas.
Puede ocurrir que haya paquetes descartados o que los mismos presenten
demoras significativas debido a la congestin. En Internet se utilizan servicios
continuos de distribucin de medios para mejorar la calidad de la transmisin.
Para conseguir una sincronizacin entre el audio y el video se requieren
mecanismos de sincronizacin de medios.

Existen siete reas relacionadas que constituyen el streaming de video, a


saber:

Compresin
de
video

Control
de
QoS
en
capa
de
aplicacin

Servicios
de
distribucin
de
medios
continuos

Servidores
de
Streaming

Mecanismos
de
sincronizacin
de
medios
Protocolos para streaming de medios Streaming de video sobre redes IP
inalmbricas
5.2 Compresin de video
Dado que el video en bruto requiere un ancho de banda considerable se
hace necesario realizar una compresin del mismo previa a la transmisin a los
efectos de lograr eficiencia. La compresin puede ser escalable o no. Los
mecanismos de compresin se vieron en detalle en el punto 3 de este trabajo.
5.3 Control de QoS en la capa de aplicacin para streaming de video
Este control se realiza para maximizar la calidad del video cuando ocurren
prdidas de paquetes o cambios en el ancho de banda disponible. Las tcnicas
utilizadas incluyen el control de congestionamiento y el control de error. Estas
tcnicas se emplean por los sistemas finales y no requieren soporte de QoS en los
routers o las redes.
5.3.1 Control de congestionamiento
Tanto las prdidas como las demoras son muy nocivas para l la calidad de
presentacin del video. Los siguientes mecanismos son utilizados para control de
congestiona- miento.

Control de tasa
Es una tcnica que determina la tasa de envo del trfico de video en
funcin de una estimacin del ancho de banda disponible en la red.
Se clasifican en tres categoras: basados en la fuente, basados en el
receptor e hbridos.
Basados en la fuente: En este caso, el remitente es responsable de la
adaptacin de la tasa de transmisin. Se emplea una realimentacin sobre la red
para tomar las decisiones de adaptacin. Este sistema sirve tanto para difusin
punto a punto como para multidifusin. Para la difusin punto a punto se emplean
dos tipos de acercamientos el basado en pruebas y el basado en modelos. Para el
basado en pruebas se vara la tasa de envo de forma de tener la tasa de prdidas
de paquetes p debajo de un nivel P th. Cuando se basa en modelos, se utiliza un
modelo de capacidad de procesamiento para una conexin TCP. La frmula
caracterstica es:

Donde es la capacidad de procesamiento de la conexin TCP. MTU es el


tamao de paquete usado por la conexin y RTT es tiempo de ida y vuelta para la
conexin. Para la multidifusin el remitente utiliza un solo canal para transportar el
video. Esto es muy eficiente ya que todos los receptores comparten un mismo
canal pero por otro lado le quita flexibilidad al ajuste para receptores con distintos
anchos de banda.
Basados en el receptor: En este caso los receptores regulan la tasa de
recepcin de las rfagas de video mediante el agregado o descarte de canales. El
remitente no participa en el control de la tasa de envo. Este sistema se utiliza
generalmente para la multidifusin en capas de video. Al igual que en el sistema
basado en la fuente se puede ajustar la tasa mediante pruebas o mediante
modelos. El mtodo de prueba consta de dos partes:

Cuando no se detecta congestin, el receptor chequea el ancho de banda


disponible acoplando una capa (aumenta la tasa de recepcin). Si no se
detecta congestin se adopta la capa acoplada y se busca otra nueva, de lo
contrario se descarta la capa agregada.

Cuando se detecta congestin se descarta una capa bajando as la tasa de


recepcin. Control hbrido: En este sistema los receptores regulan la tasa
de recepcin agregando o descartando canales mientras que el remitente
ajusta la tasa de transmisin para cada canal segn la realimentacin de
informacin de los receptores.

Limitacin de la tasa
La limitacin de la tasa es una tcnica en que la tasa de las tramas de video
pre comprimido puede ser adaptada a un valor lmite impuesto. Se implementa
mediante una inter- fase o filtro entre la capa de compresin y la capa de
transporte o entre dos segmentos de red donde el flujo de video pueda ser
acompasado con el ancho de banda disponible. Los distintos tipos de limitadores
de tasa son:
Filtro Codec: Comprime o descomprime un flujo de video. Filtro descarta
cuadros: Distingue los distintos tipos de cuadros y los descarta segn su
importancia para bajar el bit rate. Filtro descarta capas: Distingue los distintos
tipos de capas y los descarta segn su importancia para bajar el bit rate. Filtro de
frecuencia: Realiza operaciones en la capa de compresin. Trabaja en el dominio
de la frecuencia (coeficientes DCT). Filtro de re cuantificacin: Realiza
operaciones en la capa de compresin mediante re cuantificaciones, variando los
coeficientes DCT (Afecta el bit rate).
En resumen, el control de congestin es una forma de prevenir la prdida
de paquetes haciendo cambios que afectan el bit rate. De todas formas, la prdida
de paquetes es in- evitable en Internet, por lo que se necesitan mecanismos de
control de error.
5.3.2 Control de error
Las tcnicas de control de error fueron estudiadas en el punto 4 y se
clasifican en cuatro categoras que veremos a continuacin.
FEC
La correccin de error hacia adelante (FEC) se basa en agregar informacin
redundante de forma que el mensaje original pueda ser reconstruido ante prdida
de paquetes. La trama de video se corta en segmentos cada uno de los cuales se
empaqueta en k paquetes. Luego, para cada segmento se aplica un cdigo de
bloque generando un bloque de n- paquetes donde n>k. Para poder recuperar

perfectamente un segmento, el usuario slo necesita recibir k paquetes


cualesquiera en el bloque de n paquetes.
Retransmisin con demora acotada
La retransmisin no es un mtodo til para recuperar prdidas en la
transmisin de video, ya que un paquete retransmitido puede haber perdido ya su
momento de visualizacin. Sin embargo, si el tiempo de viaje es corto respecto a
la demora mxima admisible, la retransmisin con demora acotada es una opcin
viable para control de error. Para difusin a un punto se utilizan tres mecanismos
de retransmisin:
Control basado en el receptor: El receptor ejecuta el siguiente algoritmo:
Cuando el receptor detecta la prdida del paquete N:

Enva la solicitud del paquete N para el remitente Donde TC es el tiempo


actual, RTT es el tiempo estimado de viaje ida y vuelta, DS es un trmino de ajuste
y Td(N) es el tiempo donde debera mostrarse el paquete N
Control basado en el emisor: El objetivo es eliminar las retransmisiones de
los paquetes que no llegaran a tiempo para ser mostrados. El algoritmo que
emplea el remitente es: Cuando el emisor recibe un pedido por el paquete N:

Retransmite el paquete N al receptor Donde Td(N) es una estimacin de


Td(N).
Control hbrido: Es una combinacin de los esquemas anteriores Para la
difusin mltiple, la retransmisin queda restringida a los miembros ms cercanos.
Codificacin resistente al error

Como fuera vista en el punto 5, la codificacin resistente al error busca la


recuperacin del error trabajando en la capa de compresin y limitando la
propagacin del dao. Hemos vista las tcnicas de RVLC, particin de datos y
marcas de re-sincronismo, pero para aplicaciones de Internet estas tcnicas
pueden no ser tiles dado que la prdida de un paquete puede generar la prdida
de toda la informacin de movimiento, forma o textura. Para evitar esto se utilizan
las tcnicas de seleccin de modo ptimo y codificacin de descripcin mltiple.
Ocultamiento del error
Cuando se detecta una prdida de paquetes, el receptor puede ocultar el
error y lograr as una presentacin ms agradable a la vista. Debido al que el ojo
humano tolera un cierto grado de distorsin, este mecanismo es viable para
manejar la prdida de paquetes. (Bibliografa: Jane Hunter, Varuni Witana, Mark
Antoniades, A review of Video Streaming over the Internet, DST Technical Report
TR97-10, August 1997, pag: 70-93)
5.4 Servicios de distribucin de medios continuos
La red brinda un soporte esencial para la distribucin de presentacin
multimedia de buena calidad cuando reduce las demoras de transporte y las
prdidas de paquetes. El streaming de video y audio se cataloga como de medios
continuos, ya que consisten en una secuencia de cuantos del medio que tienen
significado slo si son mostrados a tiempo y en orden. Los servicios para
distribucin de medios continuos construidos sobre IP (Internet Protocol) incluyen
el filtrado de red, la multidifusin a nivel de aplicacin y la replicacin de contenido.
5.4.1 Filtrado de red
El filtrado de red es una tcnica de control de la congestin de la red
destinada a maximizar la calidad del video mientras se produce la misma. El
servidor maneja el bit rate para adaptarse a una red congestionada, pero, no
siempre este equipo tendr la capacidad de clculo ociosa necesaria para realizar
los ajuste para cada difusin unitaria. Es una opcin para los proveedores de
servicio el colocar filtros en la red.
Los nodos R son routers sin conocimiento del formato de los flujos de
audio y video que pueden descartar paquetes en forma aleatoria. Los nodos filtro
reciben los pedidos del cliente y adaptan el flujo enviado en forma acorde. Esta
solucin per- mite al proveedor la colocacin de filtros en los nodos que se
conecten a cuellos de botella de la red, por lo que podr haber mltiples filtros
entre el servidor y el client.

Se muestra un modelo sobre el funcionamiento de los filtros que consiste en


el servidor, el cliente, un filtro y dos canales virtuales entre ellos. De los dos
canales, uno es para control y el otro para datos. El canal de control es
bidireccional, lo que se logra mediante conexiones TCP.
Las operaciones de un filtro sobre los datos incluyen: (1) Recibir el flujo de
video des del servidor y (2) Enviar el video al cliente o al siguiente filtro al bit-rate
que se haya fijado como objetivo.
Respecto al control, los filtros harn: (1) Recibir requerimientos del cliente o
del siguiente filtro, (2) actuar en base a esos requerimientos y (3) reenviar los
requerimientos al filtro previo. Generalmente los filtros que descartan cuadros son
utilizados como filtros de red. Estos reciben desde el receptor la informacin
necesaria para ajustar el ancho de banda descartando ms o menos cuadros.
Para esto el receptor monitorea constantemente la tasa de descarte de
paquetes p y, mediante un algoritmo basado en niveles, decide los requerimientos
que enviar al filtro. El uso de estos filtros redunda en una mejor calidad de video
y un eficiente uso del ancho de banda.
5.4.2 Multi-difusin a nivel de aplicacin
A pesar de que el diseo original de Internet es el adecuado para
aplicaciones punto a punto como correo electrnico, transferencias de archivos y
navegacin Web, este diseo no es el ms adecuado para manejar la distribucin
de contenidos a gran escala. Hace unos diez aos se propuso la IP multicast
como tecnologa que podra superar estas limitaciones. La eficiencia de esta
tecnologa se basa en que slo un paquete de los transmitidos originalmente por la
fuente de multi-difusin viajar por cualquier camino del rbol de multi-difusin IP.
Sin embargo, la IP multicast presenta problemas en lo concerniente a
escalabilidad, administracin de la red, distribucin y soporte a las capas
superiores en lo concerniente al control de errores, flujo y congestionamiento. Para
solucionar esto se pro- puso un sistema de multicast a nivel de aplicacin por
sobre la redes IP.
El multicast a nivel de aplicacin permitir crear a los CSP56, ISP57 o a las
empresas crear sus propias redes multicast sobre Internet las que luego se podrn
interconectar a travs de redes de medios multicast mas grandes de alcance
mundial. Las redes de multicast de medios pueden soportar relaciones entre pares
a nivel de aplicacin o de capa de streaming de contenidos donde los
backbones58 de contenido interconectan a los provee- dores de servicio.

La operacin de las redes multicast es la siguiente: En las redes multicast


para medios cada nodo con capacidad multicast (llamados Media Bridge)
realizan ruteos a nivel de capa de aplicacin. Adems, cada Media Bridge est
conectada con dos o ms vecinos mediante una configuracin explcita que define
la topologa a nivel de aplicacin. Los Media Bridge utilizan un algoritmo para
buscar el mejor camino sobre todos los caminos virtuales ptimos. Cuando la red
falla o se congestiona la rede multicast redirige en forma dinmica y automtica el
contenido a travs de caminos alternativos de acuerdo a polticas de ruteo. La
ventaja del multicast a nivel de aplicacin es que rompe las barreras de la
escalabilidad, gestin de la red y soporte de control de congestionamiento que
haban impedido a los ISP la realizacin de arreglos entre pares para realizar IP
multicast.

5.4.3 Replicacin de contenido


La replicacin de contenido es una tcnica que mejora la escalabilidad y se
realiza mediante almacenamiento intermedio (caching) o espejado de datos
(mirroring). Sus ventajas son:

Reducir
el
consumo

Reducir
carga
a
los

Reducir
latencia
Aumentar disponibilidad

de
ancho
de
banda
servidores
de
streaming
contra
los
clientes

El sistema de mirroring realiza copias en varios equipos diseminados en la


Internet de forma que el cliente pueda traer datos tanto del servidor original como
de los servidores duplicados. Las ventajas del mirroring son que los contenidos
estn duplicados y el distribuidor puede ver los logs de acceso para conocer sus
clientes.
Por otro lado el sistema es caro y lento as como complejo. El sistema de
caching se basa en la creencia de que clientes diferentes cargarn la misma
informacin. Esto amerita realizar copias que los clientes de una organizacin
acceden contra una mquina local llamada cache. Este sistema tiene como
ventaja el hecho de que los caches pueden formar una infraestructura compartida
que funciona para todos los servidores de streaming y que los caches pueden ser
distribuidos en forma incremental. Los ISP han sido impulsores de este sistema,
pero los caches no pueden suministrar los servicios que los distribuidores
requieren: soporte de QoS y seguridad.

5.5 Servidores de streaming


Para poder ofrecer servicios de calidad, los servidores de streaming deben
procesar da- tos multimedia con ciertas restricciones temporales para prevenir
fallas (llamadas jerkiness en video y pops en audio). Tambin debern soportar
comandos tipo VCR que permitan parar, poner en pausa, adelantar o retroceder el
video y entregar el audio y video sincronizados. Un servidor tpico de streaming
consta de: Comunicador: Involucra la capa de aplicacin y los protocolos de
transporte implementados en el servidor. Sistema Operativo:
Adems de los servicios tpico el SO deber soportar aplicaciones en
tiempo real.
Sistema de almacenamiento: Deber soportar almacenamiento y retiro
continuo de medios.
5.5.1 Sistemas operativos de tiempo real
El sistema operativo asla el hardware de la mquina de todo el resto del
software y suministra servicios sobre la CPU, memoria, almacenamiento, entrada
salida y otros recursos esenciales. Veremos los temas particulares de los sistemas
operativos de tiempo real.
Administracin de procesos
La administracin de procesos trata con los recursos del procesador
principal. El administrador de procesos asigna procesos unitarios a los recursos de
la CPU de acuerdo a una poltica de asignacin especfica de forma que todos los
procesos puedan cumplir sus requerimientos. Para poder cumplir con los
requerimientos de los medios continuos se utilizan tcnicas de asignacin de
tiempo real. La mayora de los mtodos de tiempo real se basan en dos
algoritmos para sistemas multimedia: primero la que caduca ms temprano (EDF)
y programacin de tiempo de tasa montonica. En EDF se procesa cumpliendo el
criterio que da nombre al algoritmo y en el segundo sistema se asigna a cada
tarea una prioridad esttica de acuerdo a su tasa de solicitud.
Para ser especfico, la tarea con el perodo ms corto (tasa ms alta) tiene
la prioridad ms alta y la tarea con perodo ms largo tiene la prioridad ms corta.
La diferencia entre los dos algoritmos es que EDF se basa en una nica cola de
prioridades realizando primero la tarea que caduca antes; mientras que la
programacin de tasa montona, es un programador de prioridades estticas con
mltiples colas de prioridades (las tareas con baja prioridad no pueden ser
ejecutadas hasta que se hayan completado todas las tareas con alta prioridad).

El algoritmo de tasa montona asegura que todos los plazos se cumplan si


la utilizacin del procesador est por debajo del 69% y el algoritmo EDF puede
utilizar hasta el 100% del procesador pero no garantiza el procesamiento de todas
las tareas mientras se encuentre sobrecargado.
Administracin de recursos
Los recursos de un servidor multimedia son la CPU, la memoria y los
dispositivos de almacenamiento entre otros. Dado que los recursos sern
limitados, el servidor podr atender un nmero limitado de clientes con una
determinada calidad e servicio. Para poder cumplir con los requerimientos, el
servidor deber administrar recursos y no admitir nuevos clientes mediante un
sistema de control de admisiones si el rendimiento y la QoS no pueden ser
garantidas para las anteriores conexiones.
Los algoritmos de control de admisin pueden ser clasificados en control de
admisin determinstico y control de admisin estadstico. Las ventajas de los
determinsticos son su simplicidad y aseguramiento estricto de la calidad en
cambio los estadsticos mejoran la utilizacin de los recursos del servidor
mediante el aprovechamiento de la tolerancia de la percepcin visual humana.
Administracin de archivos
El sistema de archivos suministra funciones de acceso y control para el
almacenamiento y recuperacin de archivos. Existen dos formas bsicas de dar
soporte a medios continuos para los sistemas de archivos. En el primero la
organizacin de los archivos en los discos se conserva tal cual para los datos
discretos (los archivos no se reparten en varios discos) logrando el soporte para
acceso en tiempo real a travs de algoritmos especiales y suficiente memoria
intermedia para evitar el jitter.
La segunda forma se hace organizando los archivos de audio y video en un
almacenamiento distribuido como los disk arrays. En este caso la capacidad de
entrega de datos de los discos se puede mejorar mediante la dispersin de cada
archivo de audio y video en mltiples discos.
Los algoritmos de bsqueda tradicionales como First-Come-First-Server y
SCAN no aseguran el acceso en tiempo real, por lo que se han propuesto nuevo
algoritmos:
El SCAN-EDF combina la optimizacin de la bsqueda de SCAN y
las garantas de tiempo real de EDF.

El Grouped Sweeping Scheduling divide el conjunto de n flujos en


g grupos. Los grupos pueden ser armados de forma que los flujos en el
mismo grupo tengan el mismo plazo de caducidad. Cada flujo individual de
cada grupo se sirve mediante SCAN.
El SCAN-DC emplea un servicio SCAN circular que minimiza la
sobrecarga de bsquedas en el disco.
Otra funcin que debe ser soportada es el control interactivo que incluye a
la pausa, avance y retroceso. La pausa es todo un desafo para el diseo del
buffer ya que interfieren en los flujos compartidos para distintos espectadores y
todava est en estudio. El avance y retroceso se pueden implementar cambiando
la tasa de envo del material o reproduciendo este a la misma velocidad y
salteando cuadros.
5.5.2 Sistema de almacenamiento
Los desafos para el diseo de un sistema de almacenamiento multimedia
son una alta capacidad de entrega, gran capacidad y tolerancia a fallas.
Diseminacin de datos: Un mtodo para incrementar capacidad de entrega
Si un archivo de video se guarda en un disco nico, el nmero de accesos
concurrentes a este archivo se limita a la capacidad de entrega de datos de ese
disco, limitando la cantidad de clientes que pueden ver el mismo. Una forma de
superar esta limitacin es diseminar los datos en varios discos, los que se pueden
leer en paralelo.
Los diseadores debern negociar entre un balance de carga y una baja
latencia ya que ambas son objetivos en conflicto. Es interesante notar que
diseminar los datos no es replicar los mismos, ya que slo una copia de la
informacin existe en todo el grupo de discos.
Almacenamiento terciario y jerrquico: Un mtodo para aumentar capacidad
La introduccin de discos mltiples puede incrementar la capacidad de
almacenamiento, sin embargo, el costo de los archivos muy grandes es prohibitivo
cuando el nmero de discos es muy grande. Para bajar estos costos se utilizan
almacenamientos terciarios como las tape library y CD-ROM jukebox. Para
reducir el costo total, se implementan estructuras jerrquicas.

En este sistema, slo se guarda una fraccin de los datos en disco duro
mientras que la mayor parte se encuentra en el almacenamiento terciario. Los
archivos ms requeridos estarn en disco y los otros en cintas. Cuando se
necesita enviar datos a gran escala se utilizan arquitectura de redes de
almacenamiento SAN, lo que permite caminos de alta velocidad entre los
dispositivos de almacenamiento y los equipos host, los que se pueden ubicar a
mayor distancia que con las interfaces SCSI convencionales.
En las SAN tambin pueden incluirse dispositivos terciarios como las
bibliotecas de cintas, discos pticos y CD-ROM jukebox. Los medios fsicos para
transporte en la SAN son usualmente fibras pticas conectadas mediante equipos
conmutadores (switchs) estndar o de diseo propietario.
Tolerancia a fallas
Para asegurar un servicio interrumpido inclusive cuando haya fallas de
discos, el servidor deber poder reconstruir la informacin perdida. Esto se logra
mediante el manejo de informacin redundante. La redundancia puede lograrse
con paridad generada por cdigos de correccin de error como FEC (tcnica de
correccin de error) o duplicando los datos en discos separados (tcnica de
espejado). La paridad utiliza menos disco, pero requiere sincronizacin y una
carga de procesamiento extra para recuperar la informacin.
El sistema Storage area network Small Computer Systems Interface tema
de espejado (mirroring) es ms rpido, no requiere sincronizacin, pero duplica la
cantidad de espacio requerido. Un estudio reciente indica que para un mismo

grado de confiabilidad, los esquemas de mirroring son superiores a los de paridad


en costo por flujo as como en latencia despus de ocurrida la falla.
5.6 Sincronizacin de medios
Las aplicaciones multimedia se distinguen de las aplicaciones tradicionales
de datos en que es necesario presentar varios flujos de datos en forma
sincronizada. La sincronizacin de medios se refiere a la preservacin de las
relaciones temporales entre un flujo de datos y varios flujos de medios.
Existen tres niveles de sincronizacin que se corresponden con tres capas
semnticas de datos multimedia, los que son.
1. Sincronizacin dentro del flujo: La capa ms baja de medio continuo con
datos dependientes del tiempo es la capa de medios (audio y video). La unidad
para esta capa es la LDU que generalmente corresponde a un cuadro de
audio/video que se ajusta a especificaciones temporales estrictas para asegurar
un nivel de percepcin aceptable en la reproduccin. La sincronizacin interna se
refiere a la continuidad de las LDU.
2. Sincronizacin entre flujos: La unidad para la sincronizacin entre flujos
es el flujo mismo. La sincronizacin aqu hace referencia al mantenimiento de las
relaciones temporales entre los distintos medios continuos. Ejemplo:
Sincronizacin entre audio y video.
3. Sincronizacin entre objetos: La capa ms alta de un documento
multimedia es la capa de objetos, la que integra flujos y datos independientes del
tiempo como texto e imgenes. El objetivo de esta sincronizacin es comenzar y
terminar la presentacin de objetos no dependientes del tiempo durante un
intervalo de tiempo tolerable. Si esta sincronizacin sera imposible realizar por
ejemplo presentaciones de diapositivas combinadas con audio.
Los flujos de medios pueden perder sincronismo en el viaje entre el servidor
y el cliente. Las tareas que se realizan son: el servidor recupera datos del
dispositivo de almacenamiento y los enva a la red, la red transporta los datos al
cliente, el cliente lee los mismos y los presenta al usuario. En estas tareas existen
demoras inevitables que pueden ser predecibles o impredecibles. Las demoras de
red son imposibles de predecir. Estas producen disrupciones de sincronizacin
dentro de los medios, entre los medios y entre objetos, lo que requiere la
existencia de mecanismos de sincronizacin para asegurar la representacin
adecuada en el cliente. La parte esencial de la sincronizacin de medios es la

especificacin de las relaciones temporales dentro del medio y entre los medios.
Estas pueden especificarse en forma manual o automtica.
En el caso del audio y video se especifican automticamente por el
mecanismo de grabacin, mientras que en las presentaciones la relacin se da
mediante la intervencin humana. Los mtodos para especificar las relaciones
temporales son los basados en intervalos, basados en ejes, basados en flujo de
control y basados en eventos. La mayora utilizan la basada en ejes o con
estampado temporal. Adems de especificar las relaciones temporales, es
deseable que la sincronizacin pueda ser soportada por cada componente en
camino de transporte.
A modo de ejemplo, los servidores debern guardar gran cantidad de datos
de forma tal que puedan recuperarse rpida y eficientemente, la red deber tener
ancho de banda suficiente, la demoras y el jitter introducido por la red debe ser
tolerable y las aplicaciones y sistemas operativos deben proveer procesamiento en
tiempo real. Dado que la red (actualmente Internet) no permite entrega en tiempo
real, esto deber ser asegurado por las puntas. Los mecanismos de sincronizacin
pueden ser preventivos o correctivos:
Los mecanismos preventivos son diseados para minimizar los errores de
sincronizacin mientras los datos se transportan del servidor al usuario lo que
permite minimizar las latencias y el jitter. Estos mecanismos incluyen algoritmos
para programar las lecturas de disco, protocolos de transporte de red, sistemas
operativos y programadores de sincronizacin.
Los mecanismos correctivos estn diseados para recuperar la
sincronizacin cuando ocurren errores en la misma. Dado que Internet introduce
demoras aleatorias, estos errores son inevitables y destruyen la continuidad del
flujo de medios produciendo boquetes y saltos en la transmisin. Los mecanismos
empleados para corregir incluyen el SSP (Stream Synchronization Protocol). En el
SSP se utiliza el concepto de demora intencional. En el lado del cliente, hay una
unidad que controla y monitorea el lado cliente de las conexiones comparando
los tiempos de llegada reales con los predichos mediante la programacin de
presentacin, notificando al programador las discrepancias. El programador
compensa las discrepancias introduciendo demoras en los datos que estn
adelantados y permitiendo as que los que estn atrasados lleguen a tiempo.
(Bibliografa: Fundamentos de Video Streaming, Daniel Rijo Sciara, pag: 49-57)
5.7 Protocolos para Video streaming

Los protocolos son diseados y estandarizados para la comunicacin entre


los clientes y los servidores de streaming. Los clasificaremos en tres categoras:
Protocolos de capa de red, protocolos de transporte y protocolos de control de
sesin.
5.7.1 Protocolos de transporte
Los protocolos de transporte para streaming de medios incluyen UDP (User
Datagram Protocol), TCP (transmission control protocol), RTP (Real-Time
Transport protocol) y RTCP (Real-Time Control protocol). Los protocolos UDP y
TCP proveen las funciones bsicas de transporte mientras que RTP y RTCP
corren encima de estos.
Los protocolos UDP y TCP realizan las funciones de multiplexado, control
de error o control de flujo. Primero UDP y TCP multiplexan los flujos de datos de
las diferentes aplicaciones corriendo en la misma mquina con la misma direccin
IP. Luego, con el objetivo de control de error, las implementaciones de TCP y UDP
realizan un control de paridad para detectar errores de bit. Si se detecta un error
TCP/UDP descarta el paquete para que la capa superior (por ej. RTP) no lo reciba.
A diferencia de UDP, TCP utiliza retransmisiones para recuperar el paquete
descartado lo que hace a este un protocolo de transmisin confiable. TCP tambin
utiliza control de flujo para adaptar la tasa de transmisin segn el nivel de
congestionamiento de la red. Dado que las retransmisiones de TCP provocan
demoras, UDP es el protocolo ms usado para streaming de video.
Dado que UDP no asegura la entrega, el receptor deber confiar en la capa
superior (RTP) para detectar las prdidas de paquetes. RTP es un protocolo
estndar para Internet que provee transporte de punta a punta so- portando
aplicaciones de tiempo real. RTCP es el protocolo compaa diseado para
proveer realimentacin sobre la QoS a los participantes de la sesin RTP.
Decimos que RTP es un protocolo de transferencia de datos mientras que
RTCP es un protocolo de control. Las funciones que provee RTP son:
Marcado-temporal: Las marcas temporales permiten sincronizar diferentes
flujos de medios.
Numeracin de secuencias: Dado que UDP no enva los paquetes en
secuencia, RTP los numera para que puedan ser ordenados a su llegada.
Identificacin del tipo de carga: Se identifica el tipo de carga til en el
paquete con un campo de cabezal RTP

Identificacin de fuente: Cada paquete RTP se identifica con un cabezal


llamado SSRC que acta como identificador de la fuente. RTCP es un protocolo
de control diseado para trabajar junto con RTP y provee los siguientes servicios:
Realimentacin de QoS: Es la funcin principal del RTCP. La informacin
se enva a travs de Reportes de remitente y Reportes de Receptor. Estos
reportes contienen la informacin de (1) Fraccin de paquetes RTP perdidos
desde el ltimo reporte, (2) nmero de paquetes perdidos acumulado desde el
comienzo de la recepcin, (3) jitter de paquetes y (4) demora desde la recepcin
del ltimo reporte de remitente.
Identificacin del participante: La fuente puede ser identificada por el
campo SSRC en el cabezal RTP, pero este identificador para los humanos. RTCP
provee mecanismo amigable para este servicio. RTCP SDES son paquetes que
contienen informacin de los participantes de la sesin incluyendo nombre de
usuario, telfono, e-mail y otros.
Escalado de control de paquetes: Para escalar segn el nmero de
participantes se mantiene el nmero total de paquetes a un 5 % de ancho de
banda total de la sesin. A su vez, dentro de los paquetes de control, un 25 % se
utiliza para reportes de envo y un 75 % para reportes de recepcin.
Sincronizacin entre medios:
Informacin de control de sesin mnima: Transporta informacin de la
sesin.
5.7.2 Protocolo de control de sesin RTSP
El protocolo de streaming en tiempo real RTSP es un protocolo de control
de sesin para la realizacin de streaming de medios sobre Internet. Una de las
funciones principales de RTSP es el soporte de comando de tipo VCR como
parada, pausa, resumir, avance rpido y retroceso rpido. Tambin RTSP permite
la eleccin de los canales de envo (por ejemplo UDP, y multidifusin UDP o TCP)
y los mecanismos de envo basados en RTP, RTSP funcionan tanto en difusin
punto a punto como en multidifusin. RTSP tambin provee:
Recuperacin de medios a solicitud del cliente
Invitacin de un servidor de medios a una conferencia
Adicin de medios a una sesin existente RTSP debe proveer los mismos
servicios para audio y video como lo hace HTTP para texto y grficos. En RTSP

cada trama se identifica con un RTSP URL. Las propiedades de la presentacin


estn incluidas en un archivo de descripcin que puede obtenerse va HTTP,
correo electrnico u otros medios.
5.8 Streaming de video sobre redes IP inalmbricas
La aparicin de redes inalmbricas de banda ancha ha posibilitado la
aparicin de comunicacin en tiempo real sobre redes IP inalmbricas. Esta tarea
representa algunos desafos, a saber:
Fluctuaciones del ancho de banda
Tasa de errores alta
Heterogeneidad
Vimos anteriormente que el video escalable es capaz de adaptarse a los
cambios de ancho de banda, lo que lo convierte en la eleccin para entornos
inalmbricos. Ha habido varias propuestas de servicios adaptables para enviar
video sobre medios inalmbricos.
Veremos un esquema adaptable que consiste en (1) representaciones de
video escalable cada una con sus requerimientos de QoS especificados, (2)
aplicaciones que consideren la red y su estado y (3) servicios adaptables que
hagan que los elementos de red soporten la QoS requerida por el video escalable.
Este esquema adaptable tiene las siguientes caractersticas:
Degradacin de calidad con percepcin agradable.
Eficiencia
Imparcialidad
5.8.1 Aplicaciones que toman en cuenta la red
La motivacin para el uso de este tipo de aplicaciones se basa en: (1) la
tasa de errores de bit es muy alta cuando el estado del canal es malo, (2) la
prdida de paquetes es inevitable si hay menos ancho de banda que el requerido.
Este tipo de aplicaciones descarta las capas de mejoramiento en el remitente de
forma inteligente segn el estado de la red. Para lograr esto, el remitente cuenta
con un mdulo escalador que es manejado por un control de velocidad de la red.
Este control se alimenta de las seales que brindan los protocolos de transporte.
El escalador puede omitir capas de mejoramiento del video escalable o dejar
pasar todas. A su vez la estacin base receptora de la seal inalmbrica cuenta

con el mismo sistema para enviar la informacin a Internet. La base cuenta con un
manejador de ancho de banda que comunica al remitente el ancho de banda
disponible a travs del protocolo de transporte.
5.8.2 Servicios adaptables
El servicio adaptable provee escalamiento de los sub-flujos segn las
condiciones de los recursos disponibles en redes fijas e inalmbricas. Sus
funciones son:
Reservar un ancho de banda mnimo para cumplir la demanda de la capa
base.
Adaptar las capas de mejoramiento basndose en el ancho de banda
disponible y las polticas de fidelidad.
Las ventajas de utilizar el escalamiento dentro de la red son: (1)
Adaptabilidad a la heterogeneidad de la red (2) Baja latencia y baja complejidad
(3) Bajo bloqueo de llamadas y probabilidad de cadas por cortes.
Los componentes requeridos para un servicios adaptables son: (1) contrato
de servicios, (2) control de admisin de llamadas y reserva de recursos, (3)
mecanismo para multidifusin mvil, (4) escalamiento se sub-flujos, (5) despacho
programado de sub-flujos y (6) control de errores a nivel de capa de enlace.
Veremos estos componentes en detalle.
Contrato de servicios
El contrato de servicios entre la aplicacin y la red consiste de mltiples
sub-contratos, cada uno de los cuales corresponde a uno o ms sub-flujos con
garantas de QoS similares. Cada subcontrato deber especificar las
caractersticas del trfico y los requerimientos de QoS para los correspondientes
sub-flujos.
5.8.3 Control de admisin de llamadas y reserva de recursos
El control de admisin de llamadas (CAC) y la reserva de recursos son los
dos componentes principales para planificar la QoS de punta a punta. La funcin
del CAC es chequear si cuando se admite una llamada entrante la conexin
degradar la calidad de las conexiones existentes y tambin si se podrn cumplir
los requerimientos de QoS para la esta nueva conexin. Cuando se acepta una
conexin se deben reservar los recursos para la misma en dos partes.

Primero se debern reservar los recursos sobre el camino actual de la


conexin mvil para asegurar la QoS. Segundo, para lograr la QoS a corto plazo
se deber realizar algn tipo de duplicacin en el transporte de la conexin a las
estaciones base vecinas para que en caso de corte se pueda evitar una prdida
de enlace. En el video escalable la primera parte no es necesaria para todo el flujo
ya solo la capa base requiere garanta de QoS. Adems, los flujos de las capas de
mejoramiento de una conexin pueden compartir el remanente de ancho de banda
con las capas de mejoramiento de otras conexiones.
Mecanismo de multidifusin mvil
Para garantizar la calidad de servicio a nivel de paquetes, es necesario
utilizar mecanismo de multidifusin mvil, lo que s que cuando el flujo de la capa
base tiene una difusin mltiple a las bases vecinas. Para poder proporcionar una
QoS que tenga cambios imperceptibles el protocolo de ruteo mvil tiene que ser
proactivo y de anticipacin para cumplir las limitaciones de demoras, prdidas y
jitter en el sub-flujo. Segn los requerimientos del sub-flujo pueden ser necesarios
mltiples caminos de multi-difusin.
A medida que una estacin mvil se desconecta de una estacin base y se
conecta a otra se agregarn nuevos caminos mientras se van borrando los viejos.
Escalado de sub-flujos
El escalado se emplea durante las fluctuaciones de ancho de banda
debidas al deterioro de las condiciones del canal. Cuando esto ocurre los subflujos de menor prioridad son descartados y se vuelven a pasar por el escalador
cuando sube el ancho de banda disponible. La decisin de escalamiento es hecha
por el manejador de ancho de banda.
Programacin de sub-flujos
Las estaciones de base y los terminales mviles utilizar un programador de
sub-flujos que programa las transmisin de paquetes en el medio inalmbrico de
acuerdo a las especificaciones de QoS y prioridades que presenten los sub-flujos.
La programacin se realiza teniendo en cuenta dos factores (1) la importancia
relativa de los sub-flujos entre si y (2) la condiciones del canal inalmbrico.
Control de error en la capa de enlace
Existen dos mecanismos bsicos para control de error, el FEC74 para correccin
hacia delante y el ARQ75 para solicitud de repeticin automtica. El FEC tiene
como desventaja que nos siempre se adapta a condiciones variables en el canal.

El ARQ por otro lado, introduce una demora que no puede ser limitada.
(Bibliografa: R. L. De Valois and K. K. De Valois, Spatial Vision, Oxford University
Press, 1988, pag: 26-48)

7. Usos en la actualidad del Streaming

Radio por Internet

La ventaja para la emisora de radio por Internet es que puede llegar a un gran
pblico objetivo que, por diversos motivos (como el alcance territorial limitado de la
seal radiofnica), desconocan una emisora de otro lugar. Cabe aclarar que no
slo las emisoras de radio AM y FM transmiten por Internet; en los ltimos tres (3)
aos estn creciendo exponencialmente las radios digitales, que transmiten
exclusivamente por Internet.

Televisin por Internet

Desde finales de los 90, los intentos de televisin por Internet haban fracasado,
por el considerable ancho de banda requerido por la seal de vdeo; sin embargo,
resurge el inters en este tipo de comunicacin pblica con el gran xito de
Youtube y la expansin del ADSL.
Actualmente tambin se usa para la transmisin en vivo de diferentes
deportes fsicos y electrnicos por medio de pginas de internet y muchos usos
ms. (Bibliografa: http://www.todoereaders.com/libros-digitales-en-streaming-elfuturo-de-la-lectura-digital.html)

Lectura de Streaming por Internet

Cada vez es mayor la presencia en todo el mundo de la lectura digital y ya


son mucha las tiendas donde podemos adquirir libros digitales e incluso ya los
podemos adquirir en algunas tiendas fsicas pero en los ltimos tiempos
comienzan a cobrar fuerza los servicios de lectura en streaming que ya podamos
ver por ejemplo en otros sectores como el del cine. Estos nuevos servicios no son
ms que la posibilidad de leer cuanto queramos por una pequea cuota de
suscripcin, generalmente mensual, y sin tener que descargarnos tan siquiera los
libros digitales en nuestra tablet o eReader.
Este tipo de servicio en otros sectores ya es todo un xito y por ejemplo
Spotify o Netflix ya cuentan con millones de usuarios en todo el mundo que

disfrutan a diario de una ingente cantidad de canciones y pelculas por una


pequea cuota mensual. Nubico, 24symbos o Reedig son algunos de los servicios
de libros digitales en streaming que tratan de hacerse un hueco en el mercado.
Al igual que por ejemplo las pelculas los libros se pueden leer un par de
veces pero a partir de ah puede carecer de sentido almacenarlos en nuestro
ordenador, tablet o eReader y es por eso que estos servicios cuentan con una
gran cantidad de seguidores. Adems por el precio que puede valer un eBook,
unos 9 euros, podemos suscribirnos a uno de estos servicios y leer durante un
mes cuntos libros queramos, sin poder guardarlos pero con el lado positivo de
que por el precio de un libro podamos leer cuantos queramos. Este tipo de
servicios estn an en una fase inicial y debern de introducir muchas mejoras y
opciones en un futuro cercano para poder ser una interesante opcin para todos
los usuarios aunque en la actualidad ya comienzan a contar con una gran cantidad
de usuarios con muchas ganas de leer.
Los libros digitales son el futuro y este tipo de servicios de libros en
streaming son sin duda alguna una de las grandes opciones para todos los
lectores que por una pequea cantidad podrn leer cuanto deseen. (Bibliografa:
http://www.flumotion.com/blog/ventajas-del-streaming-aplicadas-a-tu-negocio).
Conclusin
No cabe duda que la transmisin de contenido multimedia a travs de la
web ser cada vez ms importante. La tecnologa de streaming es un mercado
con futuro y grandes compaas ya estn luchando por el mercado. La velocidad
de Internet aumentara con el tiempo y con ella aumentara la calidad de las
trasmisiones, para hacer posible tanto la radio como la televisin por Internet.
Streaming es el proceso que enva audio y video por Internet en tiempo
real. La industria del streaming que se est mostrando fuerte, y tu puedes ser
parte de ella. El proceso de streaming se envuelve en 4 pasos bsicos: Captura,
codificacin, distribucin y reproduccin.
Hace algunos aos podamos pensar en la comunicacin mediante video
digital en tiempo real, pero slo imaginarlo. Hoy en da puede decirse que es una
realidad. Pero no est todo logrado. Tenemos la posibilidad de solicitar una
pelcula de cine desde casa, y que se nos sea servida inmediatamente va satlite.
Pero no slo queremos eso, queremos poder disfrutar de la comunicacin
multimedia y a bajo precio. Ahora mismo esto significa que a travs de Internet ya

que es la red que nos llega a todos hasta la puerta de nuestras casas. Pero no nos
vale ver a nuestro amigo en blanco y negro, o esttico, o borroso, queremos verlo
como si lo tuviramos delante. Y para esto, todava tendremos que esperar un
poco. Y es que no puede circular un camin por un carril de bicicleta; al menos
hasta que no ensanchemos el carril.
Con esta investigacin entenders las cosas bsicas del streaming, como
funciona y sus caractersticas.

Referencias Bibliogrficas
[1]
Jane Hunter, Varuni Witana, Mark Antoniades, A review of Video Streaming
over the Internet, DST Technical Report TR97-10, August 1997
[2]

Funcion del Streaming, http://www.komova.net/video-streaming.html

[3]
Ali C. Begen, Yucel Altunbasak, Ozlem Ergun, Mehmet A. Begen, RealTime Multiple Description and Layered Encoded Video Streaming with Optimal
Diverse Routing, Georgia Institute of Technology, University of British Columbia
[4]
Gregory J. Conklin, Gary S. Greenbaum, Karl O. Lillevold, Alan F. Lippman,
Yuriy A. Reznik, Video Coding for Streaming Media Delivery on the Internet, 10518215 2001 IEEE
[5]
Libros digitales en streaming, el futuro de la lectura digital?,
http://www.todoereaders.com/libros-digitales-en-streaming-el-futuro-de-la-lecturadigital.html , Villamondos, 12 Diciembre 2013
[6]

Streaming, http://es.wikipedia.org/wiki/Streaming

[7]
MPEG4
4/mpeg-4.htm
[8]

Standard,

http://www.chiariglione.org/mpeg/standards/mpeg-

Que es el Streaming?,

http://www.ite.educacion.es/formacion/materiales/107/cd/video/video0103.html , 2008

Ministerio de Educacin, Poltica Social y Deporte, Instituto Superior de Formacin


y Recursos en Red para el Profesorado, Formacin en Red.
[9] R. L. De Valois and K. K. De Valois, Spatial Vision, Oxford University Press,
1988.
[10] John G. Apostolopoulos, Wai-tian Tan, Susie J. Wee, Video Streaming:
Concepts, Algorithms and Systems, Mobile and Media Systems Laboratory, HP
Labo- ratories, Palo Alto HPL-2002-260, September 18th 2002
[11] Chen-Khong Tham, Yuming Jiang, Yung-Sze Gan, Layered Coding for a
Scal- able Video Delivery System, Department of Electrical and Computer
Engineering, National University of Singapore

Вам также может понравиться