Resumen de:
Congestion Control for Scalable Video Streaming Using the Scalability
Extension of H.264/AVC
Autores: Dieu Thanh Nguyen and Joern Ostermann
IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING, VOL. 1, NO. 2,
AUGUST 2007
Mencionan que en la actualidad la demanda del video streaming ha
crecido en gran medida, ya que la mayoría de los servicios que hay en internet
ofrecen de diferentes formas contenido presentado de esta forma, como puede ser
video streaming de servicios como youtube, dailymotion donde el video se
descarga normalmente a nuestra computadora mientras se reproduce o servicios de
video on demand donde el video se descarga y se “decodifica” para que lo
podamos ver, o también video streaming de transmisiones en vivo, donde puede
ocurrir algo parecido al video on demand.
Cada una de estas formas de prestar el servicio de streaming acusa un
congestionamiento o saturación de la red, ya que la mayoría de las aplicaciones
consumen la mayor parte del ancho de banda que se encuentre disponible dejando
sin recursos a otras aplicaciones o usuarios incluso afectando a sí mismos si
el ancho de banda no es el adecuado que se ve reflajado como pérdida de
paquetes, retrasos, etc.
La propuesta de este paper es una especie de algoritmo para controlar
en gran medida el congestionamiento de las redes al utilizar servicios de
streaming, la idea que proponen es que este algoritmo se encuentre en
funcionamiento directamente en los servidos de las aplicaciones de streaming y
no en los clientes (que sería lo más entendible), se busca que este algoritmo
sea capaz de optimizar totalmente el flujo de datos teniendo en cuenta las
carencias de la red del cliente que se conecte para así no saturar su propia
red ni la del cliente, y tener más oportunidades de ofrecer un mejor servicio
al momento de la conexión de un gran número de clientes a la vez.
Un aspecto importante a mencionar en el paper es el formato/codificación
para video que proponen para mejorar el flujo cuando se hace streaming, que ya
desde hace tiempo varias organizaciones han buscado su estandarización y que al
parecer a la fecha la norma se quedó en H.264/AVC.
Estos formatos permiten organizar la información contenida en el video
de manera que se pueden producir grandes calidades de imagen a menores
cantidades de espacio, debido a sus mecanismos de compresión/descompresión por
lo que son ideales para aplicaciones para hacer streaming.
Arquitectura del sistema propuesto |
Debido a que las aplicaciones de video streaming se ejecutan usando
UDP como protocolo de transporte y no TCP, se desaprovechan algunas opciones de
este último como el hecho de poder reducir la latencia mediante retransmisión
de paquetes, además el protocolo UDP no provee mecanismos para controlar la
congestión de la red (TCP si lo hace) y al querer implementar algo para
arreglar esto, es necesario que lo que se cree se ejecute en la capa de aplicación
del UDP.
Para la estimación del ancho de banda disponible y evitar la congestión
de la red, el algoritmo propuesto identifica los cuellos de botella, es decir
los puntos en los que la conexión se reduce considerablemente evitando el flujo
de la información, con estos embotellamientos detectados procede a disminuir la
carga del flujo de información con el fin de no presionar el embotellamiento y
causar más caos, y recalcula estos embotellamientos constantemente para decir
el tamaño del flujo.
Debido a que la estimación del ancho de banda puede fallar (se calcula
el ancho de banda disponible pero la información de este llega retrasada por lo
que el flujo de datos a enviar puede no ser el correcto en ese momento),
también se propone un mecanismo que actúe en caso de que este error ocurra. La
idea es tomar todos los paquetes recibidos y ordenarlos según su prioridad,
debido a que el dato de la estimación del ancho de banda puede no ser correcto,
estos paquetes se comienzan en enviar de manera que los de mayor prioridad sean
los primeros y después los de menor prioridad.
Esto es debido a que el decodificador del video si puede reconstruir
la estructura del video a partir de los paquetes con mayor prioridad (lo hace
disminuyendo la calidad de video o con breves pérdidas de calidad) y no puede
hacer esto partiendo de los paquetes con menos prioridad.
Esto se hace así con el fin de que si el ancho de banda no es el
adecuado, solo se pierdan los paquetes de menor calidad y la transmisión del
video pueda continuar.
Una imagen de la simulación del sistema con ns-2, donde se espera hacer
streaming desde el servidor al cliente, el enlace entre las dos partes de
simula utilizando dos routers (R1 y R2) y el cuello de botella será el el menor
ancho de banda que produzca alguno de estos dos routers (1200kbit/s). El
protocolo de envío de paquetes es UDP.
Los resultados de la simulación anterior comparándolo con los manejos
de TCP y UDP se pueden ver en la siguiente gráfica:
Conclusiones
En conclusión se puede decir que la idea de estos tipos es buena,
aunque se puede mejorar utilizando un sistema parecido pero ejecutándose en los
clientes y que interactúe con el del servidor, de esta manera se puede obtener
mayor precisión en los datos para los cálculos de los anchos de banda o el
envío de información.
Y aunque a simple vista los resultados pueden ser favorables, un
escenario simulado no ofrece con exactitud los mismos factores de un escenario
real, por lo que el aplicar este sistema en escenarios reales puede que no
arroje los mismos resultados que se muestran anteriormente.
_________________________________________________________________________________
Referencias:
Dieu Thanh Nguyen and Joern Ostermann, "Congestion Control for Scalable Video Streaming Using the Scalability Extension of H.264/AVC", IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING, VOL. 1, NO. 2, AUGUST 2007
Link al paper -> http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=04276656
Link al paper -> http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=04276656
No hay comentarios:
Publicar un comentario