一种自适应可伸缩视频编码算法
2016-05-30都思同黄德昌
都思同 黄德昌
摘 要:为了给终端用户提供更好质量的视频,本文提出了一种基于H264/AVC扩展的自适应多路径视频流可伸缩视频编码算法,通过视频流分发网络(VDN)提供路径的多样性,我们的方法最终适应于各种终端用户,并且通过在多路径上的可用带宽的变化来适应网络带宽的波动。实验表明该算法更能有效地估计网络拥塞状况、降低视频丢包率和减少网络延迟,从而更有效地保证视频网络传输质量。
关键词:视频流分发网络;可伸缩视频编码;多路径
中图分类号:TP301 文献标识码:A
Abstract:In order to provide better video terminal user,this paper presents an algorithm of adaptive multipath video scalable video coding,which is based on the H264/AVC extension.Through video distribution network (VDN) provides the path of diversity,by using the method of scalable video coding our method finally adapted to the various terminal users,and adapt the undulate of the network bandwidth through the changes of the available bandwidth on the multipath.
Keywords:video distribution network;scalable video coding;multi-path
1 引言(Introduction)
在当今的互联网中,网络的异构性、带宽的波动、终端用户的多样性等都是影响视频流应用的因素[1]。站在视频编码的观点看,可扩展性被认为是一个既涉及视频编码又涉及网络挑战的解决方案,它把视频编码在多个层中,以优化对于给定比特率范围的视频质量,而不是一个给定的比特率[2]。它使大量异构的用户可以在任何时间任何地点查看所需要的视频流[3]。其中最知名的可扩展标准是H.264/MPEG-4AVC视频压缩标准的可伸缩视频编码(SVC)[4]。从网络的角度出发,基于多路视频流的方法是一个很好的解决方案[5]。在这个领域内一个趋势是通过视频分发网络为视频流提供利用路径的多样性。我们在本文的目标是提供一个系统,为在VDN上的多路径视频流提供SVC耦合编码,以提供最好质量的视频给终端用户,同时保持最终用户的需求和网络资源消耗之间的平衡。
2 伸缩视频编码和VDN视频流(Scalable video coding and VDN video streaming)
可伸缩性编码通过增加伸缩功能扩展为可伸缩压缩编码架构。基于H.264扩展的SVC架构已被选定为SVC新标准的草案,该架构中有许多的编码模块都沿用了H.264标准的功能。其主要特性有:基本层与H.264标准的主要描述级(Main Profile)完全兼容、低解码复杂度的层间预测、支持自适应性低延迟的时域分解模式、自适应的MCTF更新步骤、精细粒度SNR可伸缩性和灵活的综合可伸缩性等。
视频分发网络是一个基于覆盖的架构,多个覆盖节点将被部署在VDN中充当覆盖的入口/出口或者作为中间节点。然后在出口节点移除VDN包头并分发视频流给接收者。文献提出的方法需要对VDN中间节点预先存储的视频文件的副本。以前的一些研究主要集中在视频编码方法,以及路径选择方法。我们的研究工作是覆盖路径选择的可用带宽估计和可伸缩视频编码。
3 在VDN多路径上的SVC视频流解决方案(SVC video streaming solution on VDN multipath)
为了优化在一个给定比特率范围内的而不是单个比特率的视频质量,SVC编码在一个基本层,其中包含所需的最小数据和几个增强层。不同的SVC层的低比特率使每层都可以用比较小的带宽传输。另一方面,发送多个增强层产生更好的视频输出,但需要更多的带宽。
3.1 多路径选择的可用带宽估计
我们用网络路径的可用带宽指标来评估我们的最佳路径,因为它可以在本路径满载前确定路径是否有足够的能力来传输视频流。在我们的方法中,每个VDN节点有一个测量工具来估算从这个点到邻节点覆盖链接的带宽。
3.2 SVC多路径流自适应算法
我们的方法主要步骤有:运行在网络接入点的NAP方法、可用带宽的监测方法、运行在服务器上的多路径流算法。
NAP方法被应用在VDN主机上,由两部分组成,参数收集和监控增强层中客户增加/减少数。NAP存储客户的屏幕类型、CPU能力以及带宽等参数信息。增强层中客户增加/减少数监控在视频流传送期间,NAP从服务器接收到授权的SVC层,然后,根据每个客户端预先存储能力以及该客户和NAP之间的可用带宽。
可用带宽的监测方法是运行在服务器上测量在SVC服务器和NAP之间的多覆盖路径的带宽的程序。过程中一旦带宽有变化带宽监测程序就通知服务器,以便SVC多路径流算法决定保留或更新相应的数据流策略。
3.3 SVC多路径流算法
SVC多路径流算法包括几个部分,初始化NAP信息、NAP判断是否接收视频流的条件、NAP能接收的最大增强流层数、选定增强流层数后视频流应用什么策略、重新排序路径列表。
初始化NAP信息作为算法的初始步骤,SVC服务器与网络接入点通信为每个视频组播树以获得客户端的最大需求数,主要是获取客户端的屏幕样式、CPU能力、网络接入点的带宽。NAP判断是否接收视频流的条件是根据NAP带宽算法决定这个NAP是否可以接收所请求的视频。
4 实验结果(Experimental result)
我们使用了电影《卧虎藏龙》60秒的视频。此流被用SVC标准编码器编码,有一个基本层和三个信噪比增强层。从四个信噪比层的数据传输率,我们可以看到更高的增强层需要更多的带宽,还有就是SVC基本层的损失敏感性问题。
实验的目标是测试算法自适应客户端的能力,实验表明 取值为1.5时网络接入点和三个客户端之间的最后链接带宽区间如下:
根据以上我们知道NAP发送C1的带宽作为最大带宽给服务器的话,如图1(b),如图2(b)所示,在不使用我们的算法时如图1(a)所示。图2(a)与图3表明不用本文算法则C2和C3不能解码低带宽的视频。
(a)不用本文算法时的数据传输率
(b)SVC传输层情况
(a)不用本文算法时的数据传输率
(b)SVC传输层情况
5 结论(Conclusion)
在本文中,我们提出了一个用于耦合叠加的多路视频的视频分配网络流的方法(VDN),具有H.264/AVC扩展的可伸缩视频编码(SVC)。结果表明我们的方法可以观察在多个覆盖路径可用带宽的变化,适应网络带宽的波动,适时改变流策略。然而,SVC基本层的损失灵敏度问题还需要我们进一步去突破。
参考文献(References)
[1] 路洪运.基于HEVC的质量可伸缩视频编码研究[D].北方工业大学,2014.
[2] 吴刚.实时可伸缩视频编码及重写技术研究[D].中国科学技术大学,2014.
[3] 周承涛.HEVC编码快速算法关键技术研究[D].浙江大学,2014.
[4] 田波,杨宜民,蔡述庭.基于自适应遗传算法的SVC非均等错误保护算法[J].计算机应用,2014,01:162-166.
[5] 刘玲玲.SVC-P2P流媒体视频质量自适应技术研究[D].重庆大学,2014.
作者简介:
都思同(1993-),男,本科生.研究领域:编码技术,通信系统.
黄德昌(1983-),男,硕士,中级实验师.研究领域:编码技术,通信系统.