Vídeo adaptativo a través de MPEG-DASH

Motivación

El streaming adaptativo se basa en la detección de las capacidades de los consumidores del contenido para adaptar el flujo en función, entre otros, del ancho de banda. El objetivo es proporcionar en cada momento la mejor calidad posible según el contexto particular de cada cliente.

En la actualidad, el ejemplo más importante de streaming adaptativo es DASH [1], un estándar ISO para la transmisión de contenido en vivo y bajo demanda. DASH utiliza HTTP para la transmisión de datos y se basa en la segmentación de los archivos multimedia. En DASH, un archivo multimedia se codifica en diferentes calidades que se dividen en pequeñas porciones denominadas segmentos. Para acceder a todo el contenido multimedia los clientes seleccionan la calidad de cada segmento del contenido.

Los clientes se descargan los segmentos de forma secuencial utilizando para ello el protocolo HTTP. Los segmentos son reproducidos en orden por lo que si la descarga no sufre contratiempos el resultado final es una reproducción sin interrupciones. Toda la lógica de la adaptación está gestionada por el cliente lo que implica que es él quien hace los cálculos de los tiempos de descarga de los segmentos para decidir la conveniencia y sentido de un cambio de nivel de calidad. La siguiente figura muestra un ejemplo de intercambio de flujos a lo largo del tiempo.

Figura 1. Evolución de los niveles de calidad de los flujos en el tiempo

Para llevar a cabo dicha adaptación, los clientes de DASH utilizan un algoritmo que depende del tipo de implementación. En general, dichos algoritmos se basan en calcular el ancho banda medio del vídeo. Aunque esta aproximación suele funcionar bastante bien, puede causar interrupciones en el vídeo cuando se producen picos en el ancho de banda de vídeo (debido a las características del mismo).

Resumen

DASH define un archivo de manifiesto, llamado MPD (Media Presentation Description), que describe el contenido multimedia, las diferentes calidades y cómo el contenido se divide en segmentos. Los segmentos deben empezar con un key-frame, esto es una imagen completa, para mantenerse independientes del resto. Finalmente los segmentos se codifican en el formato deseado y son alojados en un servidor web.

En los últimos años han aparecido múltiples publicaciones de DASH, muchas de ellas focalizadas en la optimización del estándar o en la utilización conjunta con otras soluciones para mejorar la Calidad de Experiencia de los usuarios [2][3]. Por lo que respecta a la parte práctica, existen varias implementaciones de DASH. Entre las más utilizadas están: Apple HTTP Live Streaming, Microsoft Smooth Streaming y Adobe Systems HTTP Dynamic Streaming. Entre todas las propuestas de utilización de la técnica DASH la única que puede llegar a permitir un estudio en profundidad por su naturaleza abierta, gratuita y libre de patentes es la propuesta de Webm [4]. Webm se basa a su vez en tres componentes fundamentales: el contenedor de vídeo Matroska, el códec de audio Vorbis y el códec de vídeo VP8-VP9. A diferencia de otros estudios [5], que deben inferir el comportamiento de los sistemas evaluados, la utilización de estándares y código abierto permiten llevar a cabo estudios de mayor profundidad.

Dentro del Grupo de Comunicaciones Multimedia una de las líneas de investigación y desarrollo es el estudio e implementación del estándar DASH. Por ejemplo, se ha propuesto la utilización de DASH junto a otros protocolos como FLUTE para la transmisión de contenidos en redes de difusión [6], tal como muestra la siguiente figura:

Figura 2. Arquitectura híbrida FLUTE/DASH para la transmisión de vídeo

Como se observa en la figura, después de los procesos de sampleo y codificación, se segmenta el vídeo según una determinada política de segmentación, generando segmentos DASH y bloques FLUTE. Entonces, los clientes pueden acceder a los segmentos a través de una sesión de FLUTE y de un servidor de DASH. La flexibilidad en lo referente a la segmentación de un vídeo en FLUTE y en DASH permite combinar ambas tecnologías para descargar tramas de vídeo. Los usuarios reciben los diferentes símbolos que componen un bloque y reconstruyen los GoPs correspondientes. Los clientes pueden solicitar a través del servidor de DASH aquellos paquetes que no han recibido. Los clientes conocen la información referida al servidor DASH gracias al fichero de manifiesto (MPD), el cual identifica los localizaciones alternativas de cada segmento en sus respectivas descripciones de segmento.

Respecto al funcionamiento del estándar, se ha propuesto un algoritmo llamado Look Ahead que calcula de forma más precisa el ancho de banda del vídeo en cada instante de tiempo para evitar las interrupciones en el vídeo, las cuales hacen empeorar la QoE de los usuarios. El objetivo es tener una reproducción continua sin interrupciones, maximizando la calidad del vídeo reproducido, por lo tanto, maximizando la calidad con la que se reproduce cada segmento [7][8][9].

Por otro lado, DASH también introduce nuevos retos, sobre todo en el lado del receptor cuando el último salto es Wi-Fi y además está compartido por un gran número de dispositivos. En este tipo de escenarios como, por ejemplo, salas de eventos, estadios y medios de transporte (autobuses, aviones, barcos…) es frecuente ofrecer servicios de streaming de vídeo relacionados con la propia actividad o el entretenimiento. En estos entornos, los reproductores de vídeo compiten entre ellos por el acceso al medio, lo cual tiene efectos adversos como la inestabilidad y la desigualdad en la distribución del ancho de banda disponible. A este problema se suma que la utilización de redes Wi-Fi introduce otro factor de variabilidad y de desigualdad en el acceso a los contenidos. Con el objetivo de mitigar los problemas introducidos por DASH en algunos escenarios surge la tecnología Server and Network Assisted DASH (SAND), definida en la ISO/IEC FDIS 23009-5:2016 – Part 5.

Existen en la literatura soluciones basadas en DASH-SAND para llevar a cabo la coordinación del recurso del ancho de banda entre los reproductores de vídeo que se encuentran en una misma red Wi-Fi con alta concentración de usuarios. Por ejemplo, en [10] se propone una solución que utiliza la información de estado del conjunto de los dispositivos para ofrecer una alternativa de estimación de ancho a la calculada por los propios reproductores de vídeo. Con esta estimación, mientras unos clientes reducen su tasa de reproducción, el resto tiene más opciones de acceder al medio, mejorando así la Calidad de Experiencia (QoE) media de los usuarios.

Referencias

[1] ISO/IEC 23009-1, Dynamic adaptive streaming over HTTP (DASH) – Part 1: media presentation description and segment formats, 2012.
[2] J. van der Hooft, S. Petrangeli, T. Wauters, R. Huysegems, P. R. Alface, T. Bostoen, and F. De Turck, “HTTP/2-based adaptive streaming of HEVC video over 4G/LTE networks,” IEEE Communication Letters, vol. 20, no. 1, Nov. 2016.
[3] S. Lee, K. Youn, and K. Chung, “Adaptive video quality control scheme to improve QoE of MPEG DASH,” in Proc. of IEEE Int. Conference on Consumer Electronics (ICCE), Las Vegas, NV, Jan. 2015.
[4] Webm official webpage, available at: http://www.webmproject.org.
[5] Akhshabi, S. Narayanaswamy, A. C. Begen, C. Dovrolis, “An experimental evaluation of rate-adaptive video players over HTTP,” Signal Processing: Image Communication, vol. 27, no. 4, pp. 271-287, Apr. 2012.

Publicaciones

[6] R. Belda, I. de Fez, F. Fraile, P. Arce, and J. C. Guerri, “Hybrid FLUTE/DASH video delivery over mobile wireless networks,Transactions on Emerging Telecommunications Technologies, vol. 25, no. 11, pp. 1070-1082, 2014.
[7] R. BeldaI. de Fez, P. Arce, and J. C. Guerri, “Look Ahead: a DASH adaptation algorithm,” in Proc. of the IEEE Int. Symp. On Broadband Multimedia Systems and Broadcasting (BMSB), Valencia (Spain), Jun. 2018, article no. 158.
[8] R. BeldaI. de Fez, P. Arce, and J. C. Guerri, “Algoritmo de adaptación DASH sensible al tamaño del segmento,” in Proc. of the Simposium Nacional de la Unión Científica Internacional de Radio (URSI), Granada (Spain), Sep. 2018, article S7.1.3.
[9] R. Belda, I. de Fez, P. Arce, and J. C. Guerri, “Look ahead to improve QoE in DASH streaming,” Multimedia Tools and Applications, vol. 79, pp. 25143-25170, 2020.
[10] R. Belda, I. de Fez, and J. C. Guerri, “Transmisión inalámbrica multimedia coordinada con DASH-SAND”, in Proc. of the Simposium Nacional de la Unión Científica Internacional de Radio (URSI), Málaga (Spain), Sep. 2020.