梅鲁海
(浙江机电职业技术学院电气电子工程学院,杭州310053)
电力系统视频监控实时数据的传输对网络的带宽、数据包丢失率和延迟等指标都有严格的要求,但由于目前电力系统数据传输网上的视频处理主机的性能不同,以及网络传输带宽的频繁变化,往往不能满足实时视频信号传输对高带宽和低延时要求,以致出现网络拥塞状况,并造成监控视频质量的降低。此外,传统的电力系统视频监控解决方案中,视频源的层次划分和各视频层次的速率是固定的,不具备对动态网络的自适应性,这也会影响网络带宽利用率和总体的视频接收质量。
目前有两种提高电力系统监控视频服务质量的方法,一种是改造电力系统现有的通信网络,使网络上的交换机和路由器等设备能对实时应用提供资源预约及服务质量的保证;另一种就是在维持现有网络的状况下,通过端到端的拥塞控制和差错控制技术来最大程度地改善视频的传输。常用的端到端的拥塞和差错控制方法有两种,一种是像TCP(transmission control protocol,传输控制协议)一样基于窗口的控制方式,它以数据包个数为单位,获取可用网络带宽的匹配主要是采用缓慢增加拥塞窗口的方式,当检测到网络拥塞时,会迅速减少拥塞窗口的大小,避免发生网络冲突。另一种是基于速率的控制方式,它是以每秒发送的比特数为单位,并根据估算网络的网络有效带宽等参数适时地调整视频流的传送速率,达到使该视频传输需要占用的带宽能够与网络上可用的带宽资源相匹配,从而避免网络拥塞[1]。与基于窗口的控制方式相比,基于速率的控制方式可以有效地解决重传时的抖动和延迟长等问题,正在电力系统视频监控中得到更广泛的应用。
本设计提出一种电力系统监控实时视频传输速率的自适应控制方案,系统可以根据网络传输时间、传输延迟和数据包丢失率等参数对网络带宽进行估算和判断,然后动态地调整视频输出端的发送速率,实现鲁棒控制。本设计有较高的理论意义和实用价值,经实验证明,系统可以减少视频传输数据包的丢失率和抖动,提高电力系统网络传输带宽的利用率,改善电力监控的视频服务质量。
本设计对应的电力系统视频监控的总体组成如图1所示。系统主要包括变电站视频监控前端机、视频服务器和监控用户端三部分,每个视频服务器和一个变电站视频监控前端机相对应。系统工作时,变电站各个监控摄像机送出的视频流通过变电站视频监控前端机传给对应的视频服务器,视频流在视频服务器中重新编码。为适应网络带宽的动态变化,视频服务器会根据系统反馈控制的带宽估测结果,不断动态地调整发向监控用户端的视频流传输速率。视频服务器的主要功能是转发监控用户端请求的视频流,监控用户端可以通过视频服务器向变电站视频监控前端机发送控制指令,如控制摄像机镜头和云台等。
图1 电力视频监控系统总体组成Fig.1 Overall composition of electric power video monitoring system
本系统的视频实时传输速率自适应控制的结构设计如图2所示。在变电站视频发送端,带宽估测模块根据反馈信息按照一定的算法估测网络的有效和可用带宽,根据估测带宽结果,速率调整模块负责对编码后的视频数据流进行速率和位率的调整和改进,从而控制输出的比特流,这样可以为避免发生网络拥塞[2],做到实际输出的视频速率与网络的实际可用带宽资源相匹配。速率控制模块主要负责为视频编码器提供编码速率的控制参数,控制参数是根据 RTP(real-time transport protocol,实时传送协议)层从接收端反馈的网络状态信息来确定。这样,输入视频服务器的视频数据流在编码器进行发送速率的自适应编码,然后,按照传输协议定义的打包算法,编码后的视频流在RTP层被封装成RTP的数据包,再交给UDP/IP层,以单播或组播方式进入网络进行传输。
图2 实时视频传输速率自适应控制结构Fig.2 Real-time video transmission rate adaptive control chart
在监控用户视频接收端,有些视频数据包可能由于网络拥塞或传输延时等原因产生丢失,所以QoS(quality of service,服务质量)监测模块会在视频数据流通过UDP/IP层后,在RTP层对数据包进行分析和处理,并根据数据包的报头进行网络拥塞和服务质量的监测,并统计结果,得出包丢失率和传输时间等反映当前网络状态的参数,再通过反馈控制模块将这些信息以 RTCP(real-time transport control protocol,实时传输控制协议)包的形式反馈给发送端。监控用户视频接收端收到的视频数据流还要进行数据差错和纠错的处理,然后再通过解码器进行视频解压和解码,在显示器还原出原变电站的监控图像。
系统结构中的带宽估测模块是本系统速率控制的基础。系统只有先通过带宽估测算法来预测出下一时刻的有效带宽,然后才能够应用速率控制机制随着有效带宽的变化动态地调整目标传输速率,从而避免网络阻塞的发生。
这里,判断网络是否拥塞需要关注两个重要的网络指标:数据包丢失率和传输时间。而当发生网络拥塞时,传输网络负载会较重,则数据包丢失率和传输时间均会增大;当网络拥塞较轻时,数据包丢失率和传输时间相应也较小[3]。网络有效带宽的确定可由带宽估测模块通过数据包丢失率和传输时间等指标按一定的算法计算得到。
例如,可以使用较为成熟的伯努利模型来估算上述指标,假定数据包的分发是独立和均匀的,伯努利模型定义的数据包丢失率p为
式中,n是抽样测试中的全部数据包数量,nL是抽样测试中丢失的数据包数量。
因为任何一个视频数据包从视频发送端发出时,会被编上相应的RTP队列号,所以任何视频数据包的丢失或数据包次序的微小改变都会被及时捕捉和发现,因而丢失的数据包的统计监测主要是依据视频接收端检查数据包RTP队列实时位置的编号来完成。假设部分数据包已丢失,为避免系统花费过长的时间等待,可设置接收端监测的门限值为3,则如果第i个数据包没有及时到达接收端,而当已接收到后面顺序的第i+1、i+2和i+3个数据包时,系统就可判断第i个数据包已丢失[4]。每一个抽样周期内统计的包丢失率需要进行平滑处理和计算,这可用一个低通滤波器来实现。各周期数据包丢失率的系数关系有
式中:μj为第j周期内统计的已平滑的数据包丢失率;μj-1为第j-1周期内统计的已平滑的数据包丢失率;rj为第j周期内的数据包丢失率;α为一个可调节参量,主要用于调整μj-1对μj的影响程度,一般实验条件下测定的标准结果为α=0.33。
系统接收端的QoS监测模块负责QoS的统计,主要由RTP/RTCP协议中的RTCP来实现,如果使用RTCP包来计算网络的传输时间,需要在发送和接收端之间传送发送方的报告报文SR(sender report,发送者报告),而接收端在设定的计时器单位时间内或超时后,则会周期性地向发送端传送一个包括反馈信息的接受者报告报文RR(receiver report,接受者报告),反馈信息中主要包括包丢失率p和传输时间RTT(round-trip time,往返时间),具体算法如下所述。
如果系统接收端收到了发送端的控制包SR,经过一段时延DLSR(delay since last SR,自上次SR延时)后,则向发送端发送响应控制包SR的控制包RR,同时在控制包SR中的NTP(network time protocol,网络时间协议)时间戳域中,提取中间的32bit作为控制包SR的LSR(last SR,上一个SR)。系统接收端如果没有收到发送端发出的SR控制包,则DLSR和LSR都置为0。无论收到与否,DLSR和LSR的值会均被填入控制包SR相应的域中[5]。假设时间A为发送端收到控制包RR的时刻,则当前的网络传输时间RTT为
当前的网络传输延迟Dn为
设RR报文中的包丢失率字段为P,则网络的数据包丢失率p为
p可作为判断网络拥塞程度的一个重要指标,也可以间接地表示网络的有效带宽。
MPEG-4是基于对象的视频编码标准,在视频实时传输中得到了广泛的应用,本系统采用MPEG-4编码标准。MPEG-4本身具有自适应码率编码的算法特点,这为本系统实时视频传输速率的自适应控制提供了一定条件。系统结构中,速率控制模块需要为视频编码器提供一定的控制参数,从而保证编码器输出质量较好的视频数据流[6]。
MPEG-4进行分级编码时,会产生一个基本层的视频码流和一个增强层的嵌入式视频码流。基本层码流包括P-VOP和I-VOP两种类型的视频帧,是质量级别较低的视频信号,但重要性高。因为基本层的码率相对较低,可以适应网络带宽波动范围的下限,因此可以对基本层的视频码流提供完全的保护。增强层视频码流主要由B-VOP类型的视频帧组成,采用渐进式编码方式,可以随时中断视频码流,并形成视频流的不同级别,以适应网络带宽的较大波动。增强层含有基本层的量化差值部分,主要用来提高基本层的视频质量[7]。由于基本层和增强层使用了分级编码的不同级别数据包的保护措施,所以两种视频码流对视频质量会呈现出不同的影响程度。
对于网络带宽较大程度的变动,本系统实时视频传输速率自适应控制的原理如图3所示。设图中A0、A1和A2为编码器三种速率大小的视频流发送的状态,也对应于编码器三种由低向高的编码级别。假设初始状态为A0状态,这时编码器是以最低级别质量水平在发送视频流。当接收端反馈的网络的有效带宽较低时,则不管编码器现处于哪种状态,立即会转到FR状态。FR状态下,系统根据控制参数和参考速率调整出适合网络带宽的最佳编码速率。在一个RTT周期内,系统会在下次带宽反馈之前,在状态A0和PR0之间循环转换,当一个RTT周期结束,系统就保持在状态PR0。当接收端反馈的网络有效带宽较大时,编码器会向A1状态转换,并继续跟踪网络带宽变化,如果带宽出现不足,则返回到状态A0,如果带宽更充足,则编码器会向A2状态转换。这种速率控制的算法采用了加性增加、立即减少的方法,当拥塞时,无论是否在一个RTT的循环周期内,可以随即降低编码级别,从而迅速避免网络冲突,保证视频质量[8]。
图3 编码速率级别和状态的自适应控制与转换Fig.3 Adaptive control and conversion of coding rate level and state
编码器三种级别的转换适应了较大网络带宽的波动,在每一个级别范围内,带宽的较小波动也会对视频质量产生影响,本系统实时视频传输速率的自适应控制还运用迭代算法在发送端根据接收端反馈回的参数调整编码速率,这样可以充分利用带宽资源,保持视频的最佳质量,具体算法如下:
(1)根据RTP/RTCP协议,发送端向接收端发 送 一 组 RTCP 的 APP(application specific functions,专用功能)报文形式的探测数据包,这里 使 用 了 基 于 模 型 的 方 法 LDA(loss-delay adjustment algorithm,丢失延迟调整算法),APP报文的量级较低,对传输带宽影响很小。接收端填充APP报文中的字段Add(application-dependent data,应用程序相关数据),并把数据包丢失率和网络带宽等参数反馈给发送端。
(2)发送端依据接收端反馈回来的网络带宽等参数,确定初始的编码速率V0,编码后的视频流数 据 通 过 同 步 层、DMIF(delivery multimedia integration framework,传输多媒体集成框架)层和传输层发送出去。
(3)发送端根据接收端反馈回来的APP报文继续动态调整速率,以适应网络带宽的不断变化。具体流程:
①发送端创建SR和APP报文,并在接收到下一个反馈来的APP包之前,一直保持一个恒定的发送速率Vn。发送端将SR中的字段LSR复制到APP中的Add字段,并填充APP序号,每间隔1s发送一次APP报文,但不发送所创建的SR报文。
②接收端创建RR和APP报文,并解析接收到的APP报文。复制包丢失率字段P和RR中的DLSR字段到APP的Add字段,发送对应的APP报文,但不发送RR报文[9]。
③发送端收到APP报文,进行解析而获得网络传输延迟Dn和包丢失率p的数值,运用迭代算法计算和确定视频编码速率Vn的值。
设Vmax=V0,Vmin=0。如果Dn增加,则Vn相对于网络带宽偏大,Vmax=Vn;如果Dn减小,则Vn相对于网络带宽偏小,Vmin=Vn。
当前视频编码速率V(n+1)为
当0.2>p>0.1时,说明当前网络拥塞状况较轻,采用上述算法调整Vn,不断迭代的结果是Vn的数值最后落在一个较小的范围内,并跟随带宽动态变化。
当p<0.1时,说明当前网络状况基本良好,Vn会保持一个稳定的数值。
当p>0.2时,说明当前网络拥塞状况较重,这时Vn会进行快速调整,即Vn=Vn×0.8。
(4)发送和接收端都有一个RTCP报文的缓冲区,RTCP的APP报文因为各种原因会出现丢失,根据时间定时器的计数,当超过5s的时间间隔而未收到APP报文时,发送和接收方将自动进行重发APP包,并作调整Vn=Vn×0.8[10]。
(5)因为RTCP包不具备握手功能,所以RTP数据的传送不受RTCP数据包的发送和接收的影响,APP包的传输对网络负载影响也不大。
系统测试的仿真系统采用2个数据源信号发生器,分别输出1路基于RTP的256kB/s的实时MPEG-4视频数据流和2路基于TCP的FTP(file transfer protocol,文件传输协议)格式数据流,MPEG-4视频的分辨率为640×480,时长15min。实验使用的通信传输链路模拟为2台路由器之间的网络线路,传输瓶颈带宽1.2MB/s,延迟为30 ms,2台路由器与收发端点间接口的传输带宽10 MB/s,延迟为5ms。实验以接收端统计的数据包丢失率作为视频质量的参考评价标准。
(1)视频传输速率自适应控制的开闭实验。在视频收发端点之间传输1路速率为256kB/s的实时MPEG-4视频流,实验取样的时间段内,分别设置打开和关闭系统的反馈控制、带宽估测和速率调整等模块的功能,在接收端数据包丢失率的统计和计算情况如表1所示。统计结果表明,数据包丢失率在系统打开自适应控制功能后明显小于关闭后的数值。
表1 打开和关闭自适应控制的数据包丢失率对比Tab.1 Comparison of data packet loss rate of adaptive control headstock
(2)实时MPEG-4数据流和FTP数据流的并行实验。在视频收发端点之间同时传送1路实时MPEG-4数据流和2路基于TCP的FTP数据流。MPEG-4数据流在FTP发送8s之后开始发送,设置打开自适应控制的功能。在实验取样的时间段内,在接收端数据包丢失率的统计和计算情况如表2所示。经统计发现,当采取2路FTP流同时并行传送时,它们占用了较多的网络带宽资源,而本系统的实时视频流占用的带宽会有所减少,最终并没有造成接收端数据包丢失率的明显升高。这主要是因为本系统RTP形式的视频流和具有一定拥塞控制特性的TCP数据流共享网络带宽时,具有自适应和鲁棒控制的特点,视频发送端可以根据当前可用的带宽情况,动态调整视频的发送速率,尽力去适应网络的拥塞状况,自动占用相对少的网络资源,最终会减低包丢失率,缩短传输时延,从而保障了同FTP数据流竞争网络带宽的公平性。
另一方面,因为FTP数据是运行在TCP之上的,当并行的FTP数据流逐渐增加时,也会按照拥塞控制机制来自我调整,具体表现在每路FTP数据流的速率会有所下降,实验发现,1路FTP流的速率为128KB/s,2路FTP流并行时,单路分别为114KB/s左右。
表2 MPEG-4流和FTP流并行的数据包丢失率对比Tab.2 Comparison of data packet loss rate of MPEG-4and FTP parallel
当前,电力系统信息网络技术自身的发展很难为视频应用提供绝对的服务质量保证,本研究提出的实时视频传输速率的自适应控制方案从电力系统监控的工程实际出发,利用QoS监测、网络带宽预测和速率控制等技术,很好地解决了传输带宽与视频流码率的不匹配等问题。仿真实验表明,系统可以有效地降低视频传输的数据丢包率和网络时延,充分保证视频应用在网络拥塞环境中的实时性。由于现有网络状况的复杂性,电力系统监控视频技术中的自适应控制参数、协议兼容性、带宽预测精度和大流量视频应用等,是需要进一步研究的课题。
[1] 彭伟发(Peng Weifa).带宽时变高速通信网络的鲁棒控制 (Robust controller for the communication networks with time-varying bandwidth)[J].电力系统及其 自 动 化 学 报 (Proceedings of the CSU-EPSA),2006,18(3):81-85.
[2] 唐慧明,张健(Tang Huiming,Zhang Jian).变电站远程图像监控系统设计(Design of video surveillance system for substation)[J].电力系统自动化(Automation of Electric Power Systems),2001,25(7):56-58.
[3] 方璐,杨天怡,牟万军(Fang Lu,Yang Tianyi,Mou Wanjun).数字图像远程监控系统的组网方式(Topology of digital images remote surveillance system)[J].计算机测量与控制(Computer Measurement &Control),2002,10(7):446-448.
[4] Felix F Wu,Knosrow Moslehi,Anjan Bose.Power system control centers:past,present,and future[J].Proceedings of the IEEE,2005,93 (11):1890-1908.
[5] Li Xue,Ammar Mostafa H,Paul Sanjoy.Video multicast over the internet[J].IEEE Network ,1999,13(2):46-60.
[6] Pao I M,Sun M T.Encoding stored video for streaming applications[J].IEEE Trans on Circuits and Systems for Video Technology,2001,11(2):199-209.
[7] Busse Ingo,Deffner Bernd,Schulzrinne Henning.Dynamic QoS control of multimedia applications base on RTP[J].Computer Communications,1996,19(1):49-58.
[8] Kang-Won LEE ,Puri R,Tae-eun Kim,et al.An integrated source coding and congestion control framework for video streaming in the internet[C]∥Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies,Tel Aviv,Israel:2000.
[9] Wang Yao,Zhu Qin-Fan.Error control and concealment for video communication :A review[J].Proceedings of the IEEE,1998,86(5):974-997.
[10]R Rejaje,M Handley,D Estrin,et al.Layered quality adaptation for internet video streaming[J].IEEE Journal on Selected Areas in Communications,2000,18(12):2530-2543.