史 磊
(陕西机电职业技术学院电子与信息学院,陕西 宝鸡 721001)
视频流传输拥塞问题产生主要原因是视频流在网络传输期间数据包处理不及时导致,引发了视频流持续过载现象,此时网络及终端设备的容量未能达到视频流传输需求,伴随着数据包丢失,严重情况下会出现网络崩溃情况,视频流传输立即中断。由于视频流传输拥塞问题不可避免,当用户对视频流传输需求与网络终端控制能力不符时,就会出现此类状况,而此类匹配问题很难得到解决。因此,关于此类拥塞问题的解决,只能尽可能降低拥塞情况的发生[1]。
面对视频流传输拥塞问题,可以从网络拥塞控制角度出发,设计拥塞控制机制。该机制以路由器为核心,采用队列管理等多种类型算法,通过调节网络层视频流传输顺序,使得视频流传输得以有序进行,以此提高网络服务质量。
终端控制机制成本较低,所以是视频流拥塞控制开发的重要路径。该路径通过调整数据发送速率,缓解视频流传输数据拥塞问题。通常情况下,终端拥塞问题发生在视频流传输层,依据其与TCP协议关系,制定拥塞控制机制。
随着网络快速发展,网络通信协议逐渐得到改进,在很大程度上解决了视频流传输拥塞问题。与网络拥塞相比,终端拥塞更为严重,当前虽然提出了一些终端拥塞控制方法,但是因终端设备和用户的增加,加大了终端视频流传输需求。因此,视频流传输终端拥塞控制机制探究成为了一项长期研发工作。
DASH视频流传输技术支持动态自时应传输控制,较其他类型传输技术操作更加灵活,比较适合应用于终端数据传输控制。该项技术独立于视频服务提供商,在安卓终端设备开发中应用较多。
该项传输技术框架主要由3部分组成,分别是客户端播放器、流媒体服务器、视频内容生成模块。其中,客户端播放器就是安装在客户端的视频播放设备;流媒体服务器是为用户视频流传输操作命令进行服务的设备,主要负责视频的传输与存储等多项操作,通过建立网络连接,按照相应命令完成操作任务;视频内容生成模块是根据下达的视频操作命令,在显示终端生成视频内容。
目前,此项技术开发比较成熟,误码率较低,得到了很多用户的认可。由于人们对视频流文件传输解析等多项操作要求越来越高,因而出现了视频流传输拥塞问题。
本文依据DASH传输技术特点,引入TCP拥塞控制思路,提出TCP-HAS算法应用研究。该框架结构主要由4部分组成,分别是窗口设置、带宽预测、最佳码率确定、拥塞窗口的设定与门限值的启动。其中,带宽预测是整个体系运行期间长期作业的结构,通过识别视频流,对此部分信息的带宽进行预测,为其初步选定窗口值,而后采用拥塞控制算法,计算空闲事件与拥塞事件带宽条件,确定最佳码率,启动门限值,以此避免视频流传输期间发生拥塞现象。
视频流传输启动阶段,cwnd参数呈现出持续增长变化趋势,通过索引服务器端的文件,获取视频流传输最低误码率,确定初始拥塞窗口。
此环节是本文提出的拥塞控制的重要环节,利用TIBET预测带宽,通过计算数据包,得到可用带宽数值。
基于上述公式中各项参数之间的关系可知,为了估算视频流传输带宽数值,可以通过计算平均时间间隔和数据包长度平均值来获取。考虑到视频流传输期间可用带宽存在低频分量,或者受到外界因素影响造成延迟响应,所以需要采取低通滤波处理,以此提高带宽预测精准度,为最佳码率数值确定提供可靠依据。目前,低通滤波处理技术比较成熟,此处不对此进行过多介绍。
依据带宽Bw计算结果,确定视频流传输最佳码率,在服务器端获取码率数值,将此部分信息存储至终端服务器数组中,利用以下算法选取最佳码率。
For i=Max_Encoding Rata to 0,i--
If Bw Encoding Rata[i]then
Break;
End if
END for
以上算法中,以i为变量,按照视频流码率等级进行排序,先判断高阶视频流带宽与醉倒码率等级带宽大小关系,而后判断较此视频流码率小一级的带宽关系。与此同时,分析视频流传输操作命令执行最佳时间,确定最佳分片码率。
DASH视频流传输技术的应用,并非连续传输视频流数据信息,而是根据发出的命令执行数据传输操作,所以存在空闲状态,或者传输视频流数据信息较少,未能达到拥塞标准。为了提高传输拥塞控制,应该采用动态控制思想,设计拥塞控制体系,给出较为精准的门限值,以达到高效控制拥塞状况。以上控制思想的实现,可以利用TCP-HAS算法实现,算法流程如下:
第一步:采用if判断语句检测视频流空闲事件;第二步:预测可用带宽数值,利用前文提及的算法计算,得到Bw数值;第三步:运行算法程序,确定最佳码率,记为QLe;第四步:根据播放码率与传输码率关系,设定参数,综合考虑空闲后视频流传输速率等参数关系,合理设定带宽限定值。
本次测试采用服务器客户端模式布设测试环境,该测试环境由2台路由器和2台主机搭建而成。
5.2.1 视频流传输拥塞窗口变化测试结果
本次测试以CUBIC算法为对照组,TCP-HAS算法为实验组,设定带宽为10Mbps,测试单个用户传输视频流时拥塞窗口变化情况,通过对比两者拥塞窗口变化差异,判断本文设计的TCP-HAS算法拥塞控制方案是否可以改善视频流传输拥塞问题。
测试结果中,前50s,CUBIC算法窗口拥塞较为严重,部分cwnd数值超过了80,虽然50s过后出现了下降现象,但是波动幅度较为显著,视频流传输拥塞窗口现象严重。相比之下,本文设计的TCP-HAS拥塞控制方法的应用,拥塞窗口稳定在45左右,虽然50s过后出现了小幅度波动,但是较CUBIC算法拥塞控制优势更为显著。
5.2.2 用户误码率切换测试结果
为了避免视频流传输拥塞现象的发生,本文提出的拥塞控制方案针对不同传输状态,预测视频流传输带宽,通过对比预测值和带宽值之间的大小关系,下达码率分片命令,以此控制最佳码率数值的设置,并影响其他用户切换码率,尽可能降低拥塞产生频率。本次测试设定2名用户传输视频流,利用搭建好的拥塞控制环境,测试用户码率切换效果。
测试结果表明,当用户1发出请求分片操作命令时,预测的带宽值小于用户2预测带宽值,此时将用户1的视频流码率从高切换到低。
本文针对视频流传输中的拥塞问题提出DASH传输技术拥塞控制方案研究,实验测试结果表明,TCP-HAS视频流传输拥塞控制方案,拥塞控制较为稳定,支持多用户视频流传输码率切换拥塞控制。