0

    动态自适应VR流媒体技术(上) —— HTTP动态流媒体技术

    2023.06.04 | admin | 129次围观

    以上介绍了一下HLS和MPEG-DASH的一些历史渊源,其实从技术和协议本质上来讲,两者的差别很小。由于本人博士期间主要研究DASH,因此以下主要以DASH为例进行介绍,在实际应用时,二者基本可以做到无缝切换(主要指一些算法层面,内核之类的修改除外)。在DASH 的框架中(如图1所示),一个视频文件首先被转码成具有不同码率的多个版本,从而满足不同的网络状况和用户的需求。针对每一个码率的版本,进一步将其切分成相同时间长度的视频片段,称为Fragment 或Segment。所有这些视频片段都存储在服务器端,视频片段的组织方式、码率、时间长度、URL 地址等所有信息,均通过一个MPD(Media PresentationDescription)文件进行定义和描述。在客户端,用户首先下载MPD 文件,获得相关的信息,然后通过发送HTTP GET 请求视频片段。由于视频片段具有不同的码率,因此,用户可以依据当前的网络状况选择具有合适码率的视频片段,从而实现码率自适应。码率自适应也是DASH 最大的特点之一。然而,标准仅仅指出DASH 具有码率自适应的特性,并没有指定在实际系统中,如何实现码率自适应算法。

    图1 DASH基本框架示意图

    在实际应用时,设计一套高效的码率自适应算法,是非常具有挑战的,这是因为:1、现在的互联网环境复杂,难以找到很好预测方法;2、网络带宽(尤其无线网络)等变化速度快,算法响应、媒体下载、解码渲染均需要时间;3、目标难以统一,包括启动延迟、流畅度、清晰度、质量平滑性等等,而这些目标之间相互矛盾,例如播放卡顿和清晰度构成一堆矛盾(越清晰码率越大,卡顿的风险也越大)。而根据测试结果显示,目前的一些系统,其码率自适应算法效果都比较差,例如在文献[1]中,作者通过实验比较了Netflix、微软的Microsoft Smooth Streaming、Adobe 的AdobeOSMF等系统中的码率自适应策略。实验结果显示,所有这些系统中的码率自适应策略都不够好。在波动的网络带宽下,视频的码率会频繁的抖动,影响用户观看视频的感受。而国内很多厂商为了避免算法设计不合理导致的用户体验不好,要么让用户手动选择,要么使用非常保守且简单的算法,并没有尽可能的提高用户观看视频的体验(流畅度、清晰度、平滑性的一个Tradeoff)。此外,用户的手动选择其实并不能最大化带宽利用率,因为一方面用户并不知道带宽到底能承载多大的码率,只能试探,导致的结果要么码率过低画面不清晰,要么码率过高导致卡顿,此外,用户也不可能时时刻刻去切换码率做调整,因此,设计一套实际有效的码率自适应算法,是非常有必要的。

    动态码率自适应算法

    常见的码率自适应大致可以分为两类,一类是基于带宽估计的,也就是通过一定的策略,估计当前的网络带宽,然后选择一个合适的(考虑到码率的离散型,一般选择一个最大的但是比带宽要小的可用码率)视频码率。这类做法的最大问题在于带宽利用率和码率的平滑性,一方面,带宽估计本来就是一件非常困难的事情,一旦估计过高,将导致视频卡顿的风险;另一方面,带宽的波动性一般都很大,如果让码率随着带宽去调整,将导致码率的频繁波动,带来的结果就是看视频时时而清晰时而模糊,并且变化很快,这也是一般用户难以接受的;其次,这种做法中,视频码率一般始终低于估计的带宽值,也将导致带宽利用率不够大。另一类主要是基于buffer的,也即基于客户端的视频缓冲区的变化情况,进行码率选择。常见的做法是设定一个缓冲区阈值,当缓冲区的数据大于设定阈值时,增大码率;当缓冲区的数据大于设定阈值时,减小码率。这种做法的目标是使缓冲区的数据保持在一定区间,从而避免播放的卡顿,但带来的问题是视频的码率会频繁的波动。从用户的角度,用户并不关心缓冲区有多少数据,只要不空就不会卡视频带宽自适应源代码,用户就感受不到,反倒是频繁的质量波动(时而清晰时而模糊)是用户所不希望看到的。

    针对码率自适应算法,本人也做了一些工作,发表了十几篇国际论文,综合考虑性能的需求,包括码率的平滑性、卡顿、带宽利用率、平均码率等,从部署上来,考虑单服务器分发、多服务器并行分发等场景,最后的测试效果都表现不错。从理论原理上来讲,一类是基于控制论理论,提出了双阈值模型,并优化控制器参数,该项工作获得了最佳论文[2],扩展后的长文对系统和算法描述更为清晰,发表在领域顶级期刊上,详见[3]。另一类则是基于马尔科夫链理论模型,是对上一种算法的进一步优化视频带宽自适应源代码,将目标从当前码率选择扩展到整个会话过程,相关的工作也获得了最佳论文[4],扩展后的长文发表在领域顶级期刊上,详见[5]。

    结语

    本文主要介绍了DASH(HLS)的基本背景和历史、基本特点和我的一些工作。目前,MPEG-DASH标准仍然在继续新增提案和修改,其中有很大一部分工作是专门针对VR流媒体得。虽然目前VR非常火爆,但是VR视频对带宽的要求非常高,虽然Facebook等有一些方案降低传输码率,但是毕竟没有标准化,也很难被其他服务商采用,因此,MPEG目前做这项工作,是很有意义的,估计会和当时提出DASH一样,被全球主流厂商所采用。这是因为在VR中,降低码率的基本思路就是视点自适应,即不传输所有视点内容,这与DASH的码率自适应在思路上非常像,类似于从一个MPEG-DASH的一维自适应扩展到了二维自适应。在下一篇文章中,我将介绍,目前MPEG-DASH针对VR所做的一些工作(DASH-VR),已经在降低VR传输码率上的一些可能的方案和思路。

    参考资料

    [1] S. Akhshabi, etc., An Experimental Evaluation of Rate-Adaptation Algorithms in Adaptive Streaming over HTTP[C]. ACM SIGMM Conf. Multimedia Syst. 2011, 169–174

    [2] Chao Zhou, etc., A Control-Theoretic Approach to Rate Adaptation for Dynamic HTTP Streaming”. Proc.IEEE Visual Communications and Image Processing Conference (VCIP-2012), Nov. 2012, San Diego, California, USA.

    Best Student Paper

    [3] Chao Zhou, etc., A Control-Theoretic Approach to Rate Adaption for DASH over Multiple Content DistributionServers. IEEE Transactions on Circuits and Systems for Video Technology(T-CSVT), Vol. 24, No. 4, pp.681-694, Apr. 2014. (Regular paper, SCI).

    [4] Chao Zhou, etc., A Markov Decision based Rate Adaption Approach for Dynamic HTTP Streaming, in Proc. IEEE Conf. Visual Communication and Image Processing (VCIP), Dec. 2015, Singapore

    Best Paper

    [5] Chao Zhou, etc., mDASH: A Markov Decision based Rate Adaption Approach for Dynamic HTTP Streaming, IEEE Transactions on Multimedia(T-MM), Vol. 18, No.4, pp. 738-751, Apr. 2016. (Regular paper, SCI)

    作者简介:周超 博士,毕业于北京大学,主要从事流媒体技术、多媒体通信技术、多媒体网络优化、流媒体传输协议等相关的研究与工作。发表论文二十余篇,申请专利十余项,两次获得最佳论文。

    版权声明

    本文仅代表作者观点。
    本文系作者授权发表,未经许可,不得转载。

    发表评论