Академический Документы
Профессиональный Документы
Культура Документы
<
(1)
Si alguno de los vecinos A, B o C no est en la imagen, su valor se fija en cero a los efec-
tos de la prediccin.
Fundamentos de Video Streaming 28
Fig. 9. Codificacin predictiva adaptable de los coeficientes DC
En el flujo de bits se codifica primero el tamao del paso de cuantizacin y luego el va-
lor mnimo de los ndices de cuantizacin diferenciales (llamados band-offset
36
) 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 pa-
dres 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 rbol ZTR
37
se utiliza para marcar un coeficiente menor a T con todos sus hijos menores a T. El smbo-
lo 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
38
) se basa en EZW con algu-
nas diferencias. ZTE, al igual que EZW codifica explotando la semejanza en la transfor-
mada 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
36
Compensacin de banda
37
Zero Tree Root
38
Zero Tree Entropy Coding
A
B C
X
Fundamentos de Video Streaming 29
(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 codifi-
cador 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 codi-
ficados utilizando tres mtodos: 1) tipo para codificar los smbolos de rbol cero; 2) mag-
nitud 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 nece-
sario 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
39
) 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 codifi-
car 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 cual-
quier capa de escalamiento previa.
MZTE adaptable a las formas
En la ZTE adaptable a las formas (SA-ZTE
40
), 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 arbitra-
rias 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 especi-
ficar 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
39
Multi-scale Zero-Tree Entropy
40
Shape adaptative ZTE
Fundamentos de Video Streaming 30
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 exami-
nados mas 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 importan-
cia 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 mas eficiente que la SA-DCT con una
mejora en la PSNR de 1.5 a 2 dB.
4.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 wave-
let 2-D; (2) transformacin wavelet seguida de compensacin de movimiento en el domi-
nio 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 esti-
macin de movimiento, esquemas de cuantizacin y mtodos de codificacin con entropa.
En la Fig.10 vemos un ejemplo de un codec de video basado en wavelet. 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;
Fundamentos de Video Streaming 31
(4) codificacin entrpica de rbol cero; (5) control de bit rate inteligente.
Fig. 10. Diagrama de bloques de un codec de video basado en wavelet
T/D
Entrada
de video
+
-
Cuadro I
Cuadro P
Q
Codificacin
de rbol cero
Control de
bit rate
C
o
d
i
f
i
c
a
c
i
n
a
r
i
t
m
t
i
c
a
B
u
f
f
e
r
Cadena de
bits
Estimacin
de
movimiento
de bloques
Compensacin de
movimiento de
bloques superpuestos
Buffer de
cuadros
Vectores de
movimiento
Q
-1
T/D
-1
Codificacin
de Huffman
+
+
Fundamentos de Video Streaming 32
Primero se realiza un proceso de estimacin y compensacin de movimiento de tres
etapas que incluye estimacin de movimiento global (GME
41
), estimacin de movimiento
de bloques de tamao variable (VBS-ME
42
) y compensacin de movimiento para bloques
superpuestos (OBMC
43
). Los cuadros residuales compensados en movimiento son luego
descompuestos con un filtro wavelet en un conjunto de sub-bandas piramidales de resolu-
cin mltiple, lo que es seguido por un cuantizador de etapas mltiples con diferente ta-
mao de etapa y zonas muertas. Los coeficientes cuantizados son codificados entrpica-
mente utilizando un codificador de tipo ZTE optimizado para los coeficientes de las wave-
let 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 con-
vencional 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 mas suavizada de la trama de compensacin de movimiento resi-
dual. Debido al tamao de bloque variable usado en VBS-ME, OMBC utiliza el tamao de
bloque mas 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 movi-
miento. Dado que la distribucin de energa en las diferentes sub-bandas tiende a ser uni-
forme 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 mas 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 opti-
mizacin de la cuantizacin, la codificacin entrpica y la compleja interaccin entre
41
Global Motion Estimation
42
Variable Block Size Motion Estimation
43
Overlapped Block Motion Compensation
Fundamentos de Video Streaming 33
elementos del sistema de codificacin es mas importante que la optimizacin de la trans-
formada [10].
5 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 mas 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 me-
canismo para control del error: (1) retransmisiones, (2) correccin de error hacia delante
(FEC
44
), (3) ocultamiento del error, (4) codificacin de video resistente al error. Las pri-
meras dos se refieren al canal y las ltimas dos a la codificacin de la fuente.
5.1 Retransmisiones
En los sistemas con retransmisin el receptor utiliza un canal alternativo para notificar
al remitente cuales paquetes fueron recibidos correctamente y cuales 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 condi-
ciones cambiantes del canal. Por otro lado, la retransmisin redunda en demoras que co-
rresponden al tiempo de envo de punta a punta RTT
45
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
46
, navega-
cin en Web, y telnet. Estas aplicaciones requieren entrega garantizada y tiene canal alter-
nativo. La retransmisin no es solucin en caso de aplicaciones que no lo posean o que no
soporten demoras.
5.2 Correccin de errores hacia delante
La meta de FEC es agregar redundancia especializada que pueda ser usada para recupe-
racin de errores. A modo de ejemplo, en redes de paquetes se utilizan cdigos de bloque
44
Forward error correction
45
Round Trip-Time
46
File transfer protocol
Fundamentos de Video Streaming 34
que toman K paquetes de datos y devuelven N paquetes, donde hay N-K paquetes redun-
dantes. Para algunos cdigos alcanza con que K paquetes cualquiera de los N sean recibi-
dos correctamente para recuperar los datos originales. Por otro lado, la redundancia au-
menta 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.
5.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 corre-
lacin 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 interpola-
cin (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 tem-
poral (cuadro congelado) y (3) interpolacin temporal con compensacin de movimiento.
La meta de la interpolacin espacial es estimar los pxeles faltantes mediante una extrapo-
lacin 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 obje-
tivo 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 mis-
ma 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 movi-
Fundamentos de Video Streaming 35
miento los mas 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.
5.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.
5.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 codi-
ficacin 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 decodifi-
cador y le hacen perder sincronizacin con la trama de bits (no reconoce que bits corres-
ponden a que parmetro). La segunda clase es la prdida que afecta los sistemas con codi-
ficacin predictiva.
5.4.2 Como superar la prdida de sincronizacin en la trama
La prdida de sincronizacin hace que el decodificador no reconozca que bit corres-
ponde 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
47
), dado que en estos se co-
noce 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 mas comunes.
47
Fixed length code
Fundamentos de Video Streaming 36
Para superar la prdida de sincronizacin se proveen mecanismos que permitan al de-
codificador aislar el problema y resincronizarse a la trama luego del error. Considerare-
mos los mecanismos de resincronizacin.
Marcadores de resincronismo
Es la forma mas simple de lograr resincronizacin de la trama de bits. La idea es colo-
car 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 perturbacio-
nes 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 co-
locarlos 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 la reas activas que requieren mas bits son mas facti-
bles 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
48
)
Los cdigos VLC convencionales como los de Huffman son unvocamente decodifica-
bles hacia adelante. Los RVLC lo son en ambos sentidos. Esta propiedad permite recupe-
rar datos que de otra forma se perderan. Por ejemplo, si se detecta un error en la trama, el
decodificador saltar al siguiente marcador de resincronismo. 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 resin-
cronismo tienen mas posibilidad de ser decodificados en forma precisa que aquellos mas
lejanos. Surge la idea entonces de colocar la informacin importante inmediatamente des-
48
Reversible Variable Length Codes
Fundamentos de Video Streaming 37
pus de los marcadores de resincronismo (por ejemplo: vectores de movimiento, coefi-
cientes DCT de continua, informacin de forma para MPEG-4) y colocar la informacin
menos importante (coeficientes DCT de alterna) mas 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
49
)
Muchas aplicaciones requieren comunicacin a travs de redes de paquetes como la In-
ternet 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 aplica-
cin 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 proce-
samiento 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 obst-
culo para streaming sobre redes de paquetes ser la propagacin del error.
5.4.3 Como superar la propagacin del error y de los estados incorrectos
Luego de ocurrir un error, e incluso si la trama se resincroniz, ocurrir otro problema
dado por el hecho de que el estado de representacin en el decodificador puede ser dife-
rente 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 (Ver Fig. 11). Este
problema tambin se da en otros contextos como el acceso aleatorio a DVDs o la adquisi-
cin del canal en la televisin digital.
49
Application Level Framing
Fundamentos de Video Streaming 38
Fig. 11. Ejemplo de propagacin de error como resultado de un error puntual
Una forma simple de solucionar este tema es usar slo cuadros intra (I-frame), 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 com-
presin por lo que no es til para video a velocidades bajas. Tambin se utiliza la codifi-
cacin 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 predic-
cin, (2) la sofisticacin afecta slo al codificador, (3) la decisin entre modos intra e inter
estn fuera de lo estndares lo que permite algoritmos mas complejos. Las desventajas
son: (1) Mayor bit rate que codificacin inter, (2) la utilizacin ptima de los intra depen-
den 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 codifica-
dor 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.
I-frame P-frame P-frame P-frame P-frame
Error Propagacin del error
Fundamentos de Video Streaming 39
5.4.4 Codificacin de video escalable para redes con muchas prdidas
El punto 4 mostramos que el video escalable se codifica en una capa base con una o
mas capas de mejoramiento. 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 puede ser utilizadas para
enviar video confiable mediante el uso de proteccin de error desigual (UEP
50
), transmi-
sin priorizada.
A pesar de que el video escalable con establecimiento de prioridad para los datos de vi-
deo 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 sopor-
ta). Este problema motiv el desarrollo de la codificacin con descripcin mltiple que
veremos a continuacin
5.4.5 Codificacin de video con descripcin mltiple
La MDC
51
codifica una seal en dos o mas 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 repro-
duccin til de la seal original, y (2) las descripciones mltiples contienen informacin
complementaria que va mejorando la calidad de la seal recibida cuanto mas MD se reci-
ban 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.
5.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 en la Fig. 12. donde
las diferentes descripciones se trasmiten por caminos diferentes en la red.
50
Unequal error protection
51
Multiple Description Coding
Fundamentos de Video Streaming 40
Fig. 12. Codificacin de video con descripcin mltiple y diversidad de caminos para permitir una
comunicacin confiable en redes de paquetes con perdidas
5.4.7 Codificacin conjunta de canal y de fuente
La comunicacin de datos y de video tiene diferencias fundamentales. En la comunica-
cin 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 si 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 mas probable para los datos mas
relevantes [11].
Codifica-
dor de
Video MD
Selector de
caminos
Relevador
1
Relevador
2
Receptor
de paque-
tes
Decodifi-
cador de
video MD
Estructura
de red de
paquetes y
relevado-
res
Codificador
de video MD
y transmisor
Receptor de
video MD y
decodificador
MD #2
MD #1
Video
original
Video recons-
truido
MD #1
MD #2
Camino #1
Camino #2
Fundamentos de Video Streaming 41
6 Streaming de video sobre Internet y redes IP inalmbricas
Los ltimos avances en capacidad de procesamiento, tecnologas de compresin y dis-
positivos 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 mas 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 cali-
dad 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.
6.1 Arquitectura de los sistemas de video streaming
Un sistema de video streaming consta de siete bloques que se muestran en la figura 13.
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 ser-
vidor 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 re-
querimientos de QoS. Luego los protocolos de transporte convierte los flujos de bits com-
primidos en paquetes y envan estos sobre Internet o redes IP inalmbricas.
Puede ocurrir que haya paquetes descartados o que los mismos presenten demoras sig-
nificativas debido a la congestin. En Internet se utilizan servicios continuos de distribu-
cin de medios
52
para mejorar la calidad de la transmisin. Para conseguir una sincroniza-
cin entre el audio y el video se requieren mecanismos de sincronizacin de medios.
52
Continuous media distribution services
Fundamentos de Video Streaming 42
Fig. 13. Una arquitectura para streaming de video
Vemos en la Fig. 13 que 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
6.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 eficien-
Video en
bruto
Compresin
Audio en
bruto
Video
comp.
Audio
comp.
Capa aplic.
ControlQos
Protocolos
de Transp.
Dispositivo
Almacn.
Internet o Redes IP inalmbricas
(Servicios de distribucin conti-
nua de medios)
Servidor de Streaming
Capa aplic.
ControlQos
Protocolos
de Transp.
Receptor
Decod
Video
Decod
Audio
Sincronizacin
Fundamentos de Video Streaming 43
cia. La compresin puede ser escalable o no. Los mecanismos de compresin se vieron en
detalle en el punto 3 de este trabajo.
6.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 sis-
temas finales y no requieren soporte de QoS en los routers o las redes.
6.3.1 Control de congestionamiento
Tanto las prdidas como las demoras son muy nocivas para el la calidad de presenta-
cin 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 es-
timacin 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 adapta-
cin de la tasa de transmisin. Se emplea una realimentacin sobre la red para
tomar las decisiones de adaptacin. Este sistema sirve tanto para difusin pun-
to 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 pr-
didas de paquetes p debajo de un nivel P
th
. Cuando se basa en modelos, se uti-
liza un modelo de capacidad de procesamiento para una conexin TCP
53
. La
frmula caracterstica es:
1.22 MTU
RTT p
,
(2)
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 co-
53
TCP - Transmission Control Protocol. El protocolo TCP corre sobre IP y es orientado a con-
exin. Toma en cuenta la retransmisin de cualquier dato que no llegue a destino y tambin en caso
de errores o corrupcin de los mismos. Proporciona los datos al final en la misma secuencia en que
fueron transmitidos.
Fundamentos de Video Streaming 44
nexin. 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 recep-
cin 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 sis-
tema basado en la fuente se puede ajustar la tasa mediante pruebas o mediante
modelos. El mtodo de prueba consta de dos partes:
o 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.
o 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 re-
ceptores.
Limitacin de la tasa
La limitacin de la tasa
54
es una tcnica en que la tasa de las tramas de video precom-
primido 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 se-
gn 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 me-
diante re cuantificaciones, variando los coeficientes DCT (Afecta el bit rate).
54
El trmino original es rate shaping en ingls, el que tendra una traduccin literal formado de
la tasa, aunque el concepto se estara refiriendo a mantener un valor dentro de un lmite.
Fundamentos de Video Streaming 45
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.
6.3.2 Control de error
Las tcnicas de control de error fueron estudiadas en el punto 5 y se clasifican en cua-
tro 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 vi-
deo, ya que un paquete retransmitido puede haber perdido ya su momento de visualiza-
cin. 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:
Si ( ) ( )
C S d
T RTT D T N + + <
(3)
Enva la solicitud del paquete N para el remitente
Donde T
C
es el tiempo actual, RTT es el tiempo estimado de viaje ida y vuelta,
D
S
es un trmino de ajuste y T
d
(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 em-
plea el remitente es:
Cuando el emisor recibe un pedido por el paquete N:
Fundamentos de Video Streaming 46
Si
'
( )
2
C S d
RTT
T D T N
| |
+ + <
|
\ .
(4)
Retransmite el paquete N al receptor
Donde T
d
(N) es una estimacin de T
d
(N).
Control hbrido: Es una combinacin de los esquemas anteriores
Para la difusin mltiple, la retransmisin queda restringida a los miembros mas cerca-
nos.
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 apli-
caciones 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 descrip-
cin mltiple que vimos desde el punto 5.4.3 en adelante.
Ocultamiento del error
Cuando se detecta una prdida de paquetes, el receptor puede ocultar el error y lograr
as una presentacin mas 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. Esta
tcnica fue estudiada en el punto 5.3.
6.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.
6.4.1 Filtrado de red
Fundamentos de Video Streaming 47
El filtrado de red es una tcnica de control de la congestin de la red destinada a maxi-
mizar la calidad del video mientras se produce la misma. En el punto 6.3.1 vimos como 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. En la Fig. 14, 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 reci-
ben 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 cliente.
En la Fig. 15 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 bi-direccional, lo que se
logra mediante conexiones TCP.
Fig. 14. Colocacin de filtros dentro de la red
R
R
R R
Filtro
Filtro
Servidor
Cliente
Cliente
Cliente
Fundamentos de Video Streaming 48
Fig. 15. Modelo de un sistema de filtrado de red
Las operaciones de un filtro sobre los datos incluyen: (1) Recibir el flujo de video des-
de el servidor y (2) Enviar el video al cliente o al siguiente filtro al bit-rate que se halla
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 descar-
tando mas 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 requeri-
mientos que enviar al filtro. El uso de estos filtros redunda en una mejor calidad de video
y un eficiente uso del ancho de banda.
6.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 mas adecuado para manejar la distribucin de contenidos a gran escala. Hace unos
diez aos se propuso la IP multicast
55
como tecnologa que podra superar estas limita-
ciones. 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.
55
Multi-difusin IP
Servidor Filtro Cliente
Control Control
Datos Datos
Fundamentos de Video Streaming 49
El multicast a nivel de aplicacin permitir crear a los CSP
56
, ISP
57
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 multi-
cast de medios pueden soportar relaciones entre pares a nivel de aplicacin o de capa de
streaming de contenidos donde los backbones
58
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 MediaBridge) realizan ruteos a nivel de
capa de aplicacin. Adems, cada MediaBridge est conectado con dos o mas vecinos
mediante una configuracin explcita que define la topologa a nivel de aplicacin. Los
MediaBridge 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 escalabili-
dad, 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.
6.4.3 Replicacin de contenido
La replicacin de contenido es una tcnica que mejora la escalabilidad y se realiza me-
diante almacenamiento intermedio (caching) o espejado de datos (mirroring). Sus ventajas
son:
Reducir el consumo de ancho de banda
Reducir carga a los servidores de streaming
Reducir latencia contra los clientes
Aumentar disponibilidad
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 distri-
buidor 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 mis-
ma 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 ser-
56
Content delivery service providers
57
Internet Service Providers
58
Espina dorsal. Se refiere a las conexiones principales de una red por donde circula la mayor can-
tidad de datos y de donde se derivan todas las conexiones secundarias.
Fundamentos de Video Streaming 50
vidores 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 servi-
cios que los distribuidores requieren: soporte de QoS y seguridad.
6.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 jerki-
ness en video y pops en audio). Tambin debern soportar comandos tipo VCR
59
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 apli-
caciones en tiempo real.
Sistema de almacenamiento: Deber soportar almacenamiento y retiro conti-
nuo de medios.
6.5.1 Sistemas operativos de tiempo real
El sistema operativo asla el hardware de la mquina de todo el resto del software y su-
ministra 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 admi-
nistrador 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 mas temprano (EDF
60
) y programacin de tiempo de
tasa montonica
61
. 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
59
Video cassette recorder
60
Earliest deadline first
61
Rate-monotonic scheduling
Fundamentos de Video Streaming 51
de solicitud
62
. Para ser especfico, la tarea con el perodo mas corto (tasa mas alta) tiene la
prioridad mas alta y la tarea con perodo mas largo tiene la prioridad mas corta.
La diferencia entre los dos algoritmos es que EDF se basa en una nica cola de priori-
dades 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 la 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 nue-
vos 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 sufi-
ciente memoria intermedia para evitar el jitter
63
. La segunda forma se hace organizando
los archivos de audio y video en un almacenamiento distribuido como los disk arrays
64
.
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.
62
Asumir que cada tarea es peridica
63
Inquietud. Se refiere a la inestabilidad y los saltos en la reproduccin del audio y/o video.
64
Arreglos de varios discos duros
Fundamentos de Video Streaming 52
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 garan-
tas 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 inter-
fieren 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.
6.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 canti-
dad de clientes que pueden ver el mismo. Una forma de superar esta limitacin es disemi-
nar los datos en varios discos, los que se pueden leer en paralelo. En la Fig. 16 se muestra
un esquema del mecanismo.
Fundamentos de Video Streaming 53
Fig. 16. Datos diseminados en mltiples discos accesibles 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 repli-
car 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 almacenamien-
to, 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
65
y CD-ROM jukebox.
Para reducir el costo total, se implementan estructuras jerrquicas como las mostradas
en la Fig. 17.
65
Biblioteca de cintas
Controlador de disco
Archivo A,
Bloque 1
Archivo A,
Bloque 4
Archivo A,
Bloque 2
Archivo A,
Bloque 5
Archivo A,
Bloque 3
Archivo A,
Bloque 6
Archivo B,
Bloque 1
Archivo B,
Bloque 3
Archivo B,
Bloque 2
Archivo B,
Bloque 4
Disco 1 Disco 2 Disco 3 Disco 4 Disco 5
Fundamentos de Video Streaming 54
Fig. 17. Almacenamiento jerrquico
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 mas requeridos
estarn en disco y los otros en cintas.
Cuando se necesita enviar datos a gran escala se utilizan arquitectura de redes de alma-
cenamiento SAN
66
, 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
interfases SCSI
67
convencionales. En las SAN tambin pueden incluirse dispositivos ter-
ciarios 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 equi-
pos conmutadores (switchs) estndar o de diseo propietario.
Tolerancia a fallas
Para asegurar un servicio interrumpido inclusive cuando haya fallas de discos, el servi-
dor 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 sis-
66
Storage area network
67
Small Computer Systems Interface
Controlador de discos
Biblioteca de cintas
Servidor de video
Memoria intermedia
Fundamentos de Video Streaming 55
tema de espejado (mirroring) es mas 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.
6.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 mas baja de medio continuo con da-
tos dependientes del tiempo es la capa de medios (audio y video). La unidad
para esta capa es la LDU
68
que generalmente corresponde a un cuadro de au-
dio/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: Sincroni-
zacin entre audio y video.
3. Sincronizacin entre objetos: La capa mas alta de un documento multimedia es
la capa de objetos, la que integra flujos y datos independientes del tiempo co-
mo texto e imgenes. El objetivo de esta sincronizacin es comenzar y termi-
nar la presentacin de objetos no dependientes del tiempo durante un intervalo
de tiempo tolerable. Si esta sincronizacin sera imposible realizar por ejem-
plo presentaciones de diapositivas combinadas con audio.
Los flujos de medios pueden perder sincronismo en el viaje entre el servidor y el clien-
te. Las tareas que se realizan son: el servidor recupera datos del dispositivo de almacena-
miento 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 prede-
cibles 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 representa-
cin 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 ma-
nual o automtica. En el caso del audio y video se especifican automticamente por el
68
Logical data Unit
Fundamentos de Video Streaming 56
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 sin-
cronizacin mientras los datos se transportan del servidor al usuario lo que
permite minimizar las latencias y el jitter. Estos mecanismos incluyen algorit-
mos para programar las lecturas de disco, protocolos de transporte de red, sis-
temas 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 em-
pleados 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 com-
parando los tiempos de llegada reales con los predichos mediante la progra-
macin de presentacin, notificando al programador las discrepancias. El pro-
gramador compensa las discrepancias introduciendo demoras en los datos que
estn adelantados y permitiendo as que los que estn atrasados lleguen a
tiempo.
Fundamentos de Video Streaming 57
6.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.
6.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.
Fig. 18. Pila de protocolos para streaming de video
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
Pila de protocolos
Plano de datos Plano de control
Capa RTP Capa RTCP Capa RTSP
Capa UDP/TCP
Capa IP
Internet
Audio y Vi-
deo Compri-
mido
Fundamentos de Video Streaming 58
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 trans-
misin segn el nivel de congestionamiento de la red.
Dado que las retransmisiones de TCP provocan demoras, UDP es el protocolo mas
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 pro-
veer 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 flu-
jos de medios.
Numeracin de secuencias: Dado que UDP no enva los paquetes en secuen-
cia, 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 lla-
mado SSRC
69
que acta como identificador de la fuente.
RTCP es un protocolo de control diseado para trabajar junto con RTP y provee los si-
guientes 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 l-
timo 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
70
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 participan-
tes se mantiene el nmero total de paquetes a un 5 % de ancho de banda total
69
Synchronization SouRCe identifier
70
RTCP Source Description
Fundamentos de Video Streaming 59
de la sesin. A su vez, dentro de los paquetes de control, un 25 % se utiliza pa-
ra reportes de envo y un 75 % para reportes de recepcin.
Sincronizacin entre medios:
Informacin de control de sesin mnima: Transporta informacin de la sesin.
6.7.2 Protocolo de control de sesin RTSP
El protocolo de streaming en tiempo real RTSP es un protocolo de control de sesin pa-
ra 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
71
para
texto y grficos. En RTSP cada trama se identifica con un RTSP URL
72
. Las propiedades
de la presentacin estn incluidas en un archivo de descripcin que puede obtenerse va
HTTP, correo electrnico u otros medios.
6.8 Streaming de video sobre redes IP inalmbricas
La aparicin de redes inalmbricas de banda ancha ha posibilitado la aparicin de co-
municacin 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 an-
cho 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
71
HiperText Transfer Protocol
72
Universal Resource Locator
Fundamentos de Video Streaming 60
QoS requerida por el video escalable. Este esquema adaptable tiene las siguientes caracte-
rsticas:
Degradacin de calidad con percepcin agradable.
Eficiencia
Imparcialidad
6.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 inevi-
table 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 pro-
tocolo de transporte.
6.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 multidifu-
sin 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 mas sub-flujos con garantas de QoS similares.
Fundamentos de Video Streaming 61
Cada subcontrato deber especificar las caractersticas del trfico y los requerimientos de
QoS para los correspondientes sub-flujos.
6.8.3 Control de admisin de llamadas y reserva de recursos
El control de admisin de llamadas (CAC
73
) y la reserva de recursos son los dos com-
ponentes principales para planificar la QoS de punta a punta. La funcin del CAC es che-
quear 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 prime-
ra 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 meca-
nismo de multidifusin mvil, lo que se que cuando el flujo de la capa base tiene una difu-
sin 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 requeri-
mientos del sub-flujo pueden ser necesarios mltiples caminos de multi-difusin. A medi-
da que una estacin mvil se desconecta de una estacin base y se conecta a otra se agre-
garn 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 sub-flujos de menor prioridad son
descartados y se vuelven a pasar por el escalador cuando sube el ancho de banda disponi-
ble. La decisin de escalamiento es hecha por el manejador de ancho de banda.
73
Call admisin control
Fundamentos de Video Streaming 62
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 espe-
cificaciones 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 FEC
74
para correccin hacia
delante y el ARQ
75
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.
7 Referencias
[1] Jane Hunter, Varuni Witana, Mark Antoniades, A review of Video Streaming over
the Internet, DST Technical Report TR97-10, August 1997
[2] John G. Apostolopoulos, Wai-tian Tan, Susie J. Wee, Video Streaming: Con-
cepts, Algorithms and Systems, Mobile and Media Systems Laboratory, HP Labo-
ratories, Palo Alto HPL-2002-260, September 18th 2002
[3] Ali C. Begen, Yucel Altunbasak, Ozlem Ergun, Mehmet A. Begen, Real-Time
Multiple Description and Layered Encoded Video Streaming with Optimal Di-
verse 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,
1051-8215 2001 IEEE
[5] 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
[6] Yao Wang, Jrn Ostermann, Ya-Qin Zhang, Video Processing and Communica-
tions, Prentice Hall, 2002, ISBN 0-13-017547-1
[7] MPEG4 Standard,
http://www.chiariglione.org/mpeg/standards/mpeg-4/mpeg-4.htm
[8] J. M. Shapiro, "Embedded image coding using zerotrees of wavelet coefficients",
IEEE Trans. on Signal Processing, v. 41, no. 12, pp. 3445-3463, Dec. 1993
74
Forward error correction
75
Automatic repeat request
Fundamentos de Video Streaming 63
[9] R. L. De Valois and K. K. De Valois, Spatial Vision, Oxford University Press,
1988.
[10] Comparison of Wavelet and Cosine Basis for Representation of Arbitrarily
Shaped Image Segments Liu Ying*, Surendra Ranganath** , Xiaofang Zhou*
*School of Information Technology and Electrical Engineering, University of
Queensland, Queensland, 4072, Australia **Department of Electrical and Com-
puter Engineering, National University of Singapore, Singapore, 117576
[11] Joint Source and Channel Coding for Image Transmission Over Lossy Packet
Networks Geoffrey Davis and John Danskin Email:{gdavis,jmdg}@cs.dartmouth.edu
6211 Sudiko_ Laboratory, Dartmouth College, Hanover, NH 03755