当前位置:文档之家› 多站点远程实时视频传输与控制系统

多站点远程实时视频传输与控制系统

ISSN 1000-0054CN 11-2223/N 清华大学学报(自然科学版)J T singh ua Un iv (Sci &Tech ),2008年第48卷第7期2008,V o l.48,N o.723/411154-1156多站点远程实时视频传输与控制系统刘小康, 戴梅萼, 王 昊, 吴照人, 孟凡博, 叶 银(清华大学计算机科学与技术系,北京100084)收稿日期:2006-01-22基金项目:国家自然科学基金资助项目(60773148,60503039);航天部创新基金项目(J0320060003)作者简介:刘小康(1983—),男(汉),湖南,硕士研究生。

通讯联系人:戴梅萼,教授,E-mail:me@tirc.cs.ts inghua.ed 摘 要:为了实现远程监控图像的清晰,并保障系统的实时性和可靠性,需要高效率和高质量地进行视频压缩,无差错地进行快速网络传输,有效地进行命令控制。

通过优化最新的H .264视频编码算法,设计有效的传输方案和引入自适应的传输机制来解决远程活动图像传输系统中存在的清晰、实时、高效、可靠性问题。

实验结果表明:改进后的算法较原有的T .264编码方案速度提高了30%以上,设计的传输策略在保障传输速度的同时,能有效地适应不同的网络环境。

在系统中引入的几个关键技术对远程视频传输系统提供了有力的支持。

关键词:应用软件;视频编码;视频传输;命令控制;自适应;远程控制中图分类号:T P 317文献标识码:A文章编号:1000-0054(2008)07-1154-03Multiple site ,real -time video transmissionsfor remote control systemsLIU Xiaokang ,DAI M ei ’e ,WANG Hao ,WU Zhaoren ,MENG Fanbo ,YE Yin(Department of Computer Science and T echnology ,T s inghua University ,Beij ing 100084,China )Abstract :High image quality,fast,reliable rem ote control sys tems requ ire efficient video com pres sion algor ith ms,robus t netw orktran smis sion strategies and effective control meth ods.T he H.264algorithm w as optim ized to des ign an effective tr ans miss ion meth od for a s elf-adaptive remote control sys tem.Tests sh ow that the optimized algorithm is more than 30%faster than the T.264algorithm.T he sys tem can b e applied to variousnetw orken vir on men ts w ith more efficient transm ission.Th es e techniqu es sign ifican tly im prove remote con tr ol s ystem s.Key words :application software;video coding;video transm ission ;com man d control;s elf-adaptive,remote con tr ol近年来网络多媒体技术越来越成熟,视频编码/解码技术也不断进步,H.264视频编码标准[1]的出现,极大地提高了视频编码的压缩率,并能获得更好的视频重构质量。

由于它支持多种视频格式和不同网络条件,从而被迅速应用到各个领域,如视频点播、广播、视频压缩存储等。

另一方面,视频监控技术的应用也越来越广泛,如交通管理中心对车流的监控,护理中心对病人状况的监控等。

该技术的核心问题是视频采集端的数据压缩、视频监控端的解压缩和二者之间的数据有效传输[2,3]。

为减轻网络带宽负荷,需要更高的视频压缩比;为实现更好的监控效果,需要更好的视频解码重构质量。

本文作者选用H.264进行视频压缩解压缩,并通过有效的传输方案和命令控制手段,实现了一个基于H.264的高保真活动图像远程传输与控制平台。

1 系统结构整个视频传输与控制平台采用Client/Server 架构。

采集端为Ser ver 端,获取原始的视频数据,作为服务器提供数据源;控制端作为Client 端,主动连接采集端获取视频数据,通过监控窗口显示远程视频图像,并对远程采集端进行命令控制。

控制端通过多线程方式,可启动多个监控窗口,从而实现对多个采集站点进行实时监控。

整个视频远程传输与命令控制平台可分为3个子系统,具体包含9个小的功能模块。

这3个子系统及其对应的模块描述如下。

1)视频编解码及传输子系统,包括模块如下。

a )视频采集与压缩模块。

从摄像头获取原始视频流,经H .264算法,形成压缩视频数据。

b)视频传输模块。

将压缩视频数据经Internet 从采集端传输到控制端。

c )视频解压缩与显示模块。

控制端解码并回放。

2)命令与文本传输子系统,包括功能模块如下。

a)命令编码与传输模块。

将命令编码并发送到采集端。

b)命令解码与执行模块。

采集端对命令进行解码并执行。

c)文本交互模块。

采集和控制端进行文本交互。

3)自适应子系统,包括的功能模块如下。

a)自适应检测模块。

采集端收集发送视频数据帧的情况。

b)自适应反馈模块。

控制端将接收视频数据帧情况通过网络反馈给采集端。

c)自适应调节模块。

通过调节系统参数,来适应不同的网络传输状态。

3个子系统分别对应不同线程各自独立运行。

通过共享数据调节彼此的执行方式。

2 关键技术2.1 视频编码优化本系统采用最新的视频压缩标准H.264作为编码方案。

H.264既能获得高压缩比,又能保持高清晰度,是目前最优的视频压缩标准[4]。

然而,该标准为获得高清晰的压缩质量,采用了大数量级的运算,执行速度缓慢,必须加以优化。

本系统以开源代码T.264作为优化基础。

主要采用以下的优化手段。

1)代码简化。

实时视频传输不需进行上下文自适应的二进制算术编码,不必采用B帧、SP帧、SI帧等。

本课题组在实验中经过大量实验和测试,在保证不影响解码图像质量的情况下,去除原代码中上述与实时视频传输无关的部分,提高了代码执行速度。

2)M MX(multimedia ex tensions)优化。

多媒体指令集能充分利用CPU的支持,加快科学计算速度。

本课题组针对编码过程中常用的14个函数,使用多媒体指令集进行了汇编优化。

优化的函数包括T264-predict-4x4-m ode、T264-predict-8x8-mode等。

针对Intel和AM D CPU的不同,同时采用SSE2和3DNOW指令集进行处理,大幅度提高了编码性能。

3)改进帧间预测控制算法[5]。

H.264采用可变宏块进行预测。

本课题组将多层次宏块划分预测和单一宏块预测2种办法结合,对运动速度快的图像采用将所有宏块作比较的方法,选出匹配最好的宏块;对运动速度缓慢的图像则仅使用INTER16×16宏块匹配预测。

由于每帧图像的压缩数据量的可预测性,使用公式:C i=B P,i1i-1∑i-1j=1B j,i=2,3,4;B P,i14∑i-1j=i-4B j,i=5,6,….(1)B P,i= i B i-1.(2)i+1= i B iB i-1.(3)进行测算。

其中:B P,i表示预测的i帧被压缩后的数据总量;B j(j=1,2,…,i-1)表示第i帧前面的帧压缩后的实际数据总量;C i表示第i帧中宏块的预测码。

若C i较大,图像运动较为剧烈,则将所有的宏块比较之后,选择失真度最小的宏块作为最佳宏块;否则只使用INT ER16×16的宏块匹配。

实验证明,该方法在不降低图像质量的前提下,能使得编码速度提高30%。

经过多角度的优化,编码器编码速度由原来的22.67帧/s提高到48.79帧/s;解码器解码速度由原来的77.24帧/s提高到122.32帧/s,能很好满足实时性需求。

2.2 传输方案设计和优化视频传输数据量大,因此必须高效传输;为使接收方能正常解码,接收到的数据必须正确和完整。

本系统采用UDP(user datag ram protoco l)协议进行视频传输,在此基础上通过建立滑动窗口协议[6],并结合旁路的T CP(tr ansmiss-io n contr ol protocol)传输,对传输过程进行优化,确保数据传输的高效性、正确性和完整性。

如图1所示。

具体实现如下。

1)发送方和接收方分别维护一个足够大的缓冲区作为滑动窗口。

发送方窗口上界表示要发送的下一个数据包编号,下界表示尚未收到确认的数据包最小编号,窗口大小可变;接收方窗口上界表示允许收到的数据包最大编号,下界表示最希望收到的数据包编号,窗口大小固定。

2)将压缩视频数据帧分成若干个小的数据包并按顺序编号再逐个发送。

3)发送方每发送一个数据包,窗口上界加1,启动对应于该数据包的计时器。

1155刘小康,等: 多站点远程实时视频传输与控制系统4)接收方只接收序号位于窗口内的数据包。

当接收到序号等于下界的数据包时,上下界加1,窗口大小不变。

同时,通过双方预先建立一个旁路的TCP 连接,向发送方发送已收到该数据包的确认信息。

5)发送方每接收到一个确认数据包,下界加1,该缓冲区内计时器清零。

6)发送方窗口满时,进行等待,若某个计时器发生超时,则重传该缓冲区内数据包。

通过上述的滑动窗口协议和旁路的TCP 确认,可以高效地进行数据的发送和接收。

图1 传输滑动窗口示意图2.3 自适应技术网络条件差的时候,若仍进行大数量的视频数据发送,势必加剧网络拥塞,故必须使系统能自适应于不同的网络环境。

本系统主要通过调整视频帧的发送帧率来适应网络的传输状态。

设采集端发送视频帧数据的帧频为f s ,即每秒钟发送f s 帧,设接收端接收视频帧的帧率为f r ,在网络状态最好的情况下,采集端发送的所有帧都可顺利到达,此时f r =f s ;在网络情况较差的情况下,由于错误重传以及传输延时,此时,f r <f s 。

调节模块定时比较接收帧率f r 与发送帧率f s的大小:1)f r f s ,网络状况较差,将该数据反馈给发送端,减小视频发送的帧率;2)f r ≈f s ,网络状况较好,可适度提高视频发送的帧率,直到f r <f s 。

相关主题