论文部分内容阅读
将SVC(Scalable Video Coding,可分层视频编码)技术应用在P2P流媒体系统中可以解决同一视频内容面向异构网络和异构终端的高效传输问题。然而由于目前的P2P流媒体系统针对单层视频数据而设计,因此不能实现SVC多层视频数据的高效传输和客户端质量适配。为了满足SVC多层数据的传输需求并实现客户端质量适配,需要对现有的P2P流媒体技术进行改进。本文对其中的关键技术进行研究,包括基于SVC的P2P流媒体分片算法、分片调度算法和质量适配算法。除此以外,为了分析相关算法需要解决的问题,本文还对SVC的数据特性进行了深入的研究。本文主要工作和贡献包括: 1.通过实验对SVC数据特性进行深入研究,并分析这些数据特性对P2P流媒体相关算法设计的影响,结果表明:1)时间、空间和质量三个维度的分层数据量大小具有不同的变化趋势,且根据视频特征的不同,分层数据量的变化趋势也不相同,此外,当视频特征不同时,用户对三个维度质量变化的敏感程度也不一致,因此在设计基于SVC的质量适配算法时,除考虑网络因素和终端因素外还需重视视频特征的影响;2)同一图像信息在各层中分布的位置不同,为了保证接收端的层间同步需要提出新的P2P流媒体分片算法。 2.根据对SVC数据特性的研究,对等时长分片算法进行了改进,提出了可变时长分片算法。该算法以播放时长作为各层分片标准,易于实现层间数据同步。且各层分片的播放时长根据该层数据量大小和其解码重要性进行设置,可以令重要性越高的分层分片大小越小,提高了这些分层在网络中的传输成功率,进而提高客户端视频质量。此外,本文还对可变时长分片算法进行了进一步的扩展,使其可以应用在scalable3DP2P流媒体系统中。 3.设计了基于双窗口的分片调度算法。该算法在客户端建立两个窗口,包括一个General Window和一个Emergent Window,并且在两个窗口中采用不同的调度策略,在保证视频播放的流畅性的同时提高了数据分发效率。General Window中的调度策略可以根据网络状态实时调整,实现了对网络的实时适配,更加适合应用在异构网络环境。EmergentWindow中的重传策略在提升了客户端视频质量的同时避免了网络资源的浪费。该算法充分考虑了SVC的数据特性和异构网络的特性,在系统整体性能和单个节点的性能之间达到了良好的平衡。 4.提出了一种基于QoE空间的QoE自适应(QSQA)算法。QoE空间记录了不同视频类型、丢包率、分辨率、帧率和量化参数时的主观用户体验(用MOS(Mean Opinion Score)表示),可以用于用户视频体验的预测。在QoE空间建立过程中采用了视频分类策略,可以大大减小QoE空间的规模,减轻质量预测的计算量。此外,还可以通过线性插值的方式对QoE空间中不存在的MOS值进行预测。由于预测的结果会添加进QoE空间,因此预测的过程同时也是对QoE空间的更新过程。基于QoE空间的QoE自适应算法包含两部分:起始QoE自适应和实时QoE自适应。前者在用户刚加入网络时执行一次,决定用户在空间、时间和质量维度的初始下载层数。后者每隔时间T执行一次,根据网络和视频类型的变化为用户提供实时的分层数目下载依据。整体来讲,QSQA综合了网络、终端和视频特征等三方面因素为用户提供最优的分层下载组合。