APP下载

一种车载视频监控终端流量控制方法的设计

2016-11-09黄永峰陈从华

电子设计工程 2016年19期
关键词:包率码率数据包

洪 涛,黄永峰,陈从华

(1.清华大学 电子工程系,北京100084;2.厦门雅迅网络股份有限公司 福建 厦门361008)

一种车载视频监控终端流量控制方法的设计

洪 涛1,2,黄永峰1,陈从华2

(1.清华大学 电子工程系,北京100084;2.厦门雅迅网络股份有限公司 福建 厦门361008)

针对车载实时视频监控终端的应用特点,为了提高视频传输的可靠性,避免各传输链路因带宽抢占而陷入拥塞状态,设计一种基于视频通道优先级的流量控制方法。该方法以RTP-RTCP协议为基础,以视频通道的优先级为条件,结合各传输通道丢包率的统计结果,监测各视频通道数据的传输状况,进而控制不同优先级的视频通道的码率等级,尽量保证高优先级视频通道的传输质量,以达到在带宽下降时,还能提供对车辆重点区域的监控的目的。

车载终端;实时视频监控;通道优先级;流量控制;RTP-RTCP;丢包率

车载视频监控系统在交通运输行业已经得到了广泛的应用,它能够提供位置服务、远程实时音视频监控、本地音视频存储和行驶记录等功能,在智能交通建设的过程中发挥了重要作用[1]。近年来,各移动运营商相继推出第3代第4代移动通信技术,极大的提高了移动通信速率,为实时视频监控业务的发展提供了基础。而实时视频监控作为管理者远程监视车辆运行状况的直接手段,也因其具有直观性和实时性等特点,逐渐成为了智能交通领域内的研究热点。

在车载实时视频监控终端的应用中,因其基于带宽有限且信道时刻变化的移动网络,且视频数据量大,视频传输网络的负载率高,流量控制就显的至关重要。车载终端往往需要将多个通道的视频数据同时上传至视频服务器,在网络带宽充足的情况下,各通道的数据可以互不干扰的传输,但当车辆处于移动网络信号较弱的区域(如基站覆盖的边缘),带宽下降明显,此时就会出现多通道抢占带宽资源的现象,这将导致多路视频画面同时处于卡顿或停滞状态,监控系统崩溃。但如果在带宽下降的情况下,通过基于通道优先级的流量控制,降低甚至关闭相对不重要的视频通道的数据,从而保证相对重要的视频通道能够呈现流畅的画面,则可以有效的提升用户体验。

1 流量控制方法概述

在实时视频监控领域,人们通常使用RTP-RTCP协议组[2]来实现视频数据传输和网络服务质量控制。RTP即实时传输协议,它通常是基于UDP协议的,只负责传输数据,不保证网络服务质量;RTCP即实时传输控制协议,它在数据发送端和接收端之间定时传输,通过携带丢包率等信息,实现对网络状况的检测,进而将网络状况反馈给RTP会话,RTP作出实时响应。利用RTCP携带的丢包率变化进行RTP发送端的网络负载调整是当前该领域内用来进行流量控制的有效方法。

由此,文中设计一种流量控制方法,该方法以预先设定的视频通道优先级和通过统计得到的RTP数据包丢包率为依据,设计一个多通道码率自适应调整机制,该机制能协调控制每个通道的码率[3]等级,依次保证优先级较高的视频通道的数据传输质量。该方法分别针对每个视频通道建立一个RTP-RTCP会话组,该会话组中的RTP会话负责将该通道的视频数据从车载终端传输至视频服务器,而RTCP会话则负责将视频服务器统计得到的该通道RTP数据包的丢包率反馈至车载终端。车载终端收到各通道的丢包率数据后,分析判断当前各通道的网络状况,当高优先级的视频通道的丢包率大于某一阀值时,启动自适应编码码率调整机制,当网络恢复正常时,逐步逆向调整。为了形成反馈控制回路,需要实现以下几个关键模块:

1)视频通道优先级的分配模块。通常,在车载终端和视频服务器之间,维持着一条TCP链路,用于传输视频监控操作指令。用户通过视频监控操作界面,选择好要监控的视频通道后,操作界面会根据用户所选择的通道数量自动生成同数量的优先级级别,比如车载终端总共有4个视频通道,用户选择了其中的通道1、通道2和通道3,操作界面就会从高到低依次生成优先级1、优先级2和优先级3,用户可以为每个视频通道指定优先级,然后通过监控指令下发至车载终端。视频通道优先级分配的示意图如图1所示。

图1 视频通道优先级分配示意图

可以为多个视频通道指定相同的优先级,拥有相同优先级的通道在流量控制过程中相互独立。

2)RTP会话模块。为了实现每个视频通道的数据能够独立传输,并将每个通道RTP数据包的丢包率及时反馈回发送端,需要在每个视频通道和视频服务器之间建立独占的RTP-RTCP会话组[4]。车载终端将采集到的视频数据,封装成RTP数据包,发送给视频服务器,视频服务器收到RTP数据包的同时,开始根据RTP数据包的包序号统计丢包率,并定期(通常为5秒)将统计得到的丢包率封装成RTCP包,发送至车载终端,这个交互过程一直维持至实时监控退出。以视频通道1为例,建立RTP会话交互图如图2所示。

图2 RTP会话交互图

即,车载终端通道1产生的视频数据包,通过图2中的RTP链路发送至视频服务器,同时,视频服务器将统计得到的丢包率等信息,通过图2中的RTCP链路反馈至发送端。

3)视频编码码率分层模块。为了实现基于视频通道的流量控制,需要时常调整各通道所处的码率层次,故建立码率分层模型。该模型将实时视频编码码率分成零码流(LA)、基本(LB)、流畅(LC)和清晰(LD)4个等级,LA表示关闭该通道,LB提供基本的视频画面,LC是基本画面的增强版,LD则能保证清晰的画面,各通道遵循于流量控制方法在这4个码率层次游离。各码率等级对应的码率值需要根据车载终端移动通信模块(指运营商移动、联通或电信)的类型和所处的网络类型(指2G、3G或4G)具体定义,比如联通的3G网络上行速度大概为120 kB/s,以此定义的码率层次如表1所示。

表1 联通3G网络码率分层表

4)流量控制模块。流量控制模块负责收集来自视频服务器的每个视频通道数据的丢包率信息来监测每个通道的数据传输状况,并结合各通道的优先级和当前所处的码率层次做出流量控制决策[5]。该模块运行一个流量控制算法,该算法是本文的核心内容,在下节讨论。

2 流量控制算法的实现

实现流量控制算法的基础是各视频通道的优先级、RTP数据包的丢包率和码率等级,由 “视频通道优先级分配模块”、“RTP会话模块”和“视频编码码率分层模块”分别获得。以拥有4个视频通道的车载终端为例,假设通道1至通道4的优先级分别为P1、P2、P3、P4,丢包率为F1、F2、F3、F4,所处的码率等级为L1、L2、L3、L4。同时定义最小丢包率Fmin,表示当前通道数据传输状态极好,有剩余带宽,定义最大丢包率Fmax,表示当前通道已经陷入阻塞,而各通道的丢包率维持在Fmin到Fmax之间时,表示该通道处于可接受的丢包率范围内,则流量控制算法可描述为:

1)只监控一个通道时,预置L1等于LD,然后进行如下判断:

①当F1大于Fmax,如果L1不等于LA,L1下降一个等级,否则不做调整;

②当F1小于Fmin,如果L1不等于LD,L1上升一个等级,否则不做调整。

图3 一个通道的流量控制流程图

2)监控两个通道时,预置L1等于LD,L2等于LD,然后进行如下判断:

①当P1大于P2时:

当F1大于Fmax时,如果L2不等于LA,L2下降一个等级;否则判断L1是否等于LA,如果不等于,L1下降一个等级,否则不做调整。

当F1小于Fmin时,如果L2小于L1,L2上升一个等级;否则判断L1是否等于LD,如果不等于,L1上升一个等级,否则不做调整。

②当P2大于P1时:

当F2大于Fmax时,如果L1不等于LA,L1下降一个等级;否则判断L2是否等于LA,如果不等于,L2下降一个等级,否则不做调整。

当F2小于Fmin时,如果L1小于L2,L1上升一个等级;否则判断L2是否等于LD,如果不等于,L2上升一个等级,否则不做调整。

③当P1等于P2时,两个通道相互独立,分别按照一个通道的流量控制流程处理。

图4 两个通道的流量控制流程图

3)监控3个通道时,预置L1、L2和L3都等于LD,然后进行如下判断:

①当P1同时大于P2和P3时:

当F1大于 Fmax,又P2大于P3时,判断 L3是否等于LA,不等就将L3下降一级,等于时判断L2是否等于LA,不等就将L2下降一级,等于时再判断L1是否等于LA,不等就将L1下降一级,否则不进行调整;

当F1大于 Fmax,又P3大于P2时,判断 L2是否等于LA,不等就将L2下降一级,等于时判断L3是否等于LA,不等就将L3下降一级,等于时再判断L1是否等于LA,不等就将L1下降一级,否则不进行调整。

当F1小于 Fmin,又 P2大于P3时,判断 L1是否等于LD,不等就将L1上升一级,否则判断L2是否小于L1,小于时将L2上升一级,否则再判断L3是否小于L2,小于时将L3上升一个等级,否则不进行调整;

当F1小于 Fmin,又 P3大于P2时,判断 L1是否等于LD,不等就将L1上升一级,否则判断L3是否小于L1,小于时将L3上升一级,否则再判断L2是否小于L3,小于时将L2上升一个等级,否则不进行调整;

②当P2同时大于P1和P3时:

当F2大于Fmax,又P1大于P3时,判断L3是否等于LA,不等就将L3下降一级,等于时判断L1是否等于LA,不等就将L1下降一级,等于时再判断L2是否等于LA,不等就将L2下降一级,否则不进行调整;

当F2大于Fmax,又P3大于P1时,判断L1是否等于LA,不等就将L1下降一级,等于时判断L3是否等于LA,不等就将L3下降一级,等于时再判断L2是否等于LA,不等就将L2下降一级,否则不进行调整。

当F2小于Fmin,又P1大于 P3时,判断L2是否等于LD,不等就将L2上升一级,否则判断L1是否小于L2,小于时将L1上升一级,否则再判断L3是否小于L1,小于时将L3上升一个等级,否则不进行调整;

当F2小于Fmin,又P3大于 P1时,判断L2是否等于LD,不等就将L2上升一级,否则判断L3是否小于L2,小于时将L3上升一级,否则再判断L1是否小于L3,小于时将L1上升一个等级,否则不进行调整;

③当P3同时大于P1和P2时:

当F3大于 Fmax,又P1大于P2时,判断L2是否等于LA,不等就将L2下降一级,等于时判断L1是否等于LA,不等就将L1下降一级,等于时再判断L3是否等于LA,不等就将L3下降一级,否则不进行调整;

当F3大于 Fmax,又P2大于P1时,判断L1是否等于LA,不等就将L1下降一级,等于时判断L2是否等于LA,不等就将L2下降一级,等于时再判断L3是否等于LA,不等就将L3下降一级,否则不进行调整。

当F3小于 Fmin,又P1大于 P2时,判断L3是否等于LD,不等就将L3上升一级,否则判断L1是否小于L3,小于时将L1上升一级,否则再判断L2是否小于L1,小于时将L2上升一个等级,否则不进行调整;

当F3小于 Fmin,又P2大于 P1时,判断L3是否等于LD,不等就将L3上升一级,否则判断L2是否小于L3,小于时将L2上升一级,否则再判断L1是否小于L2,小于时将L1上升一个等级,否则不进行调整;

④当P1等于P2等于P3时,3个通道相互独立,分别按照一个通道的流量控制流程处理。

按照以上流程,作P1大于P2、P3条件下的流程图如图5,同理可画P2大于P1、P3和P3大于 P1、P3条件下的流程图,此处省略。

监控4个及4个以上通道的流量控制流程的类似监控3个通道的情况,核心内容是当网络状况变差时,以牺牲低优先级的视频通道的画面质量来保证高优先级的视频通道能够提供清晰可靠的画面;当网络状况好转时,按照优先级从高到低逐步提升各通道的优先级,实现根据网络状况自适应的流量控制策略[6]。

图5 两个通道的流量控制流程图

3 结 论

在实时视频数据传输领域,流量控制方法很多,但多是针对整个传输网络,本方法将流量控制细化到单个视频通道,并根据优先级在通道之间进行带宽分配,能在网络传输质量下降时做到“舍轻保重”,避免多通道实时视频监控业务因带宽竞争而直接陷入瘫痪的境地,符合车载实时视频监控系统的应用场景。

[1]梁笃国.网络视频监控技术与智能应用[M].北京:人民邮电出版社,2013.

[2]The Internet Engineering Task Force.RFC3550.RTP:A Transport Protocol for Real-Time Applications[S].NewYork: Columbia University,2003.

[3]陈靖,刘京,曹喜信.深入理解视频编解码技术[M].北京:北京航空航天大学出版社,2012.

[4]张海军,杨印根,吴克捷,等.基于RTP/RTCP协议的拥塞控制策略研究[D].南昌:江西师范大学,2008.

[5]徐昌彪,鲜永菊.计算机网络中的拥塞控制与流量控制[M].北京:人民邮电出版社,2007.

[6]蒋建国,苏兆品,李 援,等.RTP/RTCP自适应流量控制算法[D].合肥:合肥工业大学,2006.

A flow controlmethod for the video surveillance term inal of vehicle

HONG Tao1,2,HUANG Yong-feng1,CHEN Cong-hua2
(1.Electronic Engineering,Tsinghua University,Beijing 100084,China;2.Xiamen Yaxon Network Co.,Ltd.,Xiamen 361008,China)

According to the featuresof the real-time video surveillance terminalofvehicle,amethod of flow control is designed to improve the reliability of video data transmission and prevent transmission channels from falling into the state of congestion which caused by bandwidth preemption,which is based on priority of video channel.In thismethod,the RTP-RTCP protocol was used,video channel′s priority was considered.It combineswith the packet loss rate statistical results of the transmission channel,itmonitors the transmission status of each video channel data,thus it controls the bitrate levelof different priorities video channels.It try to ensure the high-priority video channel′s transmission quality,and provide high-priority video channel with high-quality transmission data servicewhen the bandwidth is dropping.

terminal of vehicle;real-time video surveillance;channel′s priority;flow control;RTP-RTCP;packet fraction

TN91

A

1674-6236(2016)19-0047-04

2015-08-08稿件编号:201508035

洪 涛(1986—),男,福建厦门人,硕士研究生,工程师。研究方向:音视频编解码、存储、传输。

猜你喜欢

包率码率数据包
支持向量机的船舶网络丢包率预测数学模型
二维隐蔽时间信道构建的研究*
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
SmartSniff
基于状态机的视频码率自适应算法
TCN 协议分析装置丢包率研究