APP下载

优先队列在实时混合数据传输中的应用

2013-07-11李金龙练益群

计算机工程与应用 2013年5期
关键词:发送数据视音频码流

李金龙,练益群

1.浙江大学 计算机科学与技术学院,杭州 310027 2.浙江传媒学院 电子信息学院,杭州 310018

优先队列在实时混合数据传输中的应用

李金龙1,2,练益群2

1.浙江大学 计算机科学与技术学院,杭州 310027 2.浙江传媒学院 电子信息学院,杭州 310018

1 引言

随着自动化应用水平的提高,发射机监控系统在广电部门得到越来越广泛的应用。监控系统的应用普及化使得用户对系统功能的需求越来越高,除了要求系统具有基本的设备监控功能外,还需要系统具有自动化、智能化、多接口等更高的需求。这导致数据传输方式从单一的基于C/S或B/S文本字符数据传输发展到面向固定终端、移动设备等的分布式并发多媒体数据传输。

当文本、音频、视频数据使用同一数据传输通道进行传输时,文本字符或二进制数据一般采用基于UDP分包重组数据传输方法,以提高数据传输效率;而视音频数据的传输可以通过基于UDP的流媒体技术[1],以提高实时流的播放效果。在文本、视音频等数据并发传输时,为了提高带宽利用率和保障实时数据的流畅性[2-3],一般需要根据数据的类别建立传输优先队列和实时调整传输码流,以优化数据传输效果。本文根据发射机监控系统对数据传输的要求,提出了一种混合数据传输优化方法,以更好地实时利用带宽,从而提高文本、视音频等多媒体数据并发传输性能。

2 发射机监控系统数据传输过程

2.1 发射机监控系统数据传输网络结构

发射机一般位于城区以内或周边位置较高地点,以增大信号发送覆盖范围。典型的发射机监控系统数据传输网络结构如图1所示。

图1 发射机监控系统网络结构图

从图1网络结构来看,发射机监控系统主要由发射机、下位机、监控端、数据库服务器及传输网络等几部分组成。监控端与监控存储中心之间一般使用有线或无线高速网。监控端与监控存储中心和下位机的通信一般采用远程无线数据网。

监控存储中心的主要任务是存储采样信息和向其他监控端发送采样数据报警、短信报警、数据传输链路故障报警等。

监控端所有监测信息来自于监控存储中心,控制指令直接发送给下位机。监控端的主要任务是进行报警处理和采样数据分析。例如:通过声光报警提醒相关人员或设置短信方式通知指定人员等。

2.2 下位机工作原理

下位机可以基于FPGA或嵌入式OS开发,其主要功能是进行数据采集、处理和发送。下位机内部结构如图2所示。

图2 下位机内部结构图

图2采用基于ARM9的S3c2440芯片进行应用开发,优点是可以实现复杂的数据处理功能。对于调幅发射机一般通过RS-485总线采集模拟量、状态量或进行控制,对于调频发射机一般采用RS-232采样RVR参量或进行控制。LCD主要用于显示当前系统工作信息;另一个作用是辅助键盘完成系统初始化设置(也可以通过监控端完成)。系统初始化信息存储在Flash卡中,主要包括:监控存储中心地址、采样周期、各参量报警和错误阈值、报警或错误重复采样次数等。

系统任务主要通过维护文本数据采样、视频采样、音频采样、控制指令四个队列完成的。采样队列中的任务通过采样周期产生,用于处理模拟量、状态量、RVR参量、温湿度等的采集任务;视频和音频队列分别用于视音频的采集任务,主要由摄像机和音频采集器设备完成;红外探头探测到红外入侵信号时,系统会向控制指令队列插入任务,用于将入侵信号优先传输到监控存储中心,并由监控存储中心向监控端报警。

数据存储采用集中式被动管理,即监控存储中心采用被动接收方式获取采样数据。同时,控制指令采用主动发送方式。下位机所有传输数据通过无线3G通道或有线数据网传输给监控存储中心即数据采集端。

3 文本、视音频数据并发传输方法

监控系统运行过程中,为了保障系统的整体工作性能,在混合数据(这里主要指参量采集信息It、视频信息Iv、音频信息Is、控制指令Ic。下位机独立进行故障判断,因此当参量采集信息报警或异常时,通过Ic队列来远程报警或设备出错提示)使用同一数据通道进行数据传输过程时,控制指令信息Ic对实时性要求最高(交互操作和系统检测响应时间最小),其次是音频Is、视频信息Iv,最低的是参量采集信息It。由此可定义这四类数据的优先级为:Ic≻Is≻Iv≻It。

对于上述四类数据的传输,Ic和It需要传输的数据量是恒定的,而Is和Iv需要传输的数据量是可调节的,原因是接收方(监控点)对视音频的质量要求不高,一般是根据接收到的画面和音频能够判断设备是否工作正常即可。因此,监控系统在传输视音频信息时,可通过对当前数据通道可传输带宽[4-6]的动态预估来实时调节视音频传输码流(这里传输带宽有双重含义,即硬件通道支持的带宽以及当前允许视音频传输的带宽(分时隙)),即当前预估的传输带宽较大时按权重(对于广播发射机的监控,一般取W音频>W视频,实验中W音频取0.6,W视频取0.4)提高视音频采集码流,反之按比例降低视音频采集码流。

3.1 不同优先级队列的传输任务

传输子系统在运行过程中主要维护四个传输队列,分别负责Ic,Is,Iv,It的传输。

如图3所示,Ic队列的传输任务来自于采样数据报警或出错、温湿度报警、红外入侵等,该队列缓冲当前最高优先级需要传输的数据。Is,Iv队列的传输任务分别来自于摄像头和音频采集器,用于传输现场视频和音频监听数据(视频信息主要是现场的设备面板信息,音频信息主要是监听发射机设备总体工作效果(发射机信号具有覆盖范围的限制),参量信息可具体分析发射机设备的工作状况)。It队列任务主要有两种:一种是通过设定的采样周期所产生的采样数据发送信息,另一种是网络通信链路断开时的缓存采样数据。

图3 传输队列数据来源

对于It队列,缓存采样数据的存储与存储卡容量相关。当要存储的数据超出缓存容量时,覆盖采用优先权策略,即高优先权数据的存储可以覆盖低优先权数据,反之不行。优先权从高到低分别是:当前表明发射机参量错误的采样数据、历史未发送的表明发射机参量错误的采样数据、当前采样数据、历史未发送的采样数据。传输链路恢复时,优先传输即时数据。

3.2 时隙内传输延迟分析

设在一个时隙T内,分配给参量采集信息、视频、音频和控制指令的传输时间分别为tt,tv,ts,tc,相应的最大延迟要求分别为Ft,fv,fs,Fc(这里Ft,Fc是恒定的,即指定数据量需要传输的时间是一定的,而 fv,fs根据当前可用带宽动态调节)。参量采集信息和控制指令的传输时间一般来说是常量,视音频的传输时间和码流线性相关。于是带宽利用率模型可表示为:

式(1)中,设信道带宽为V,则在这个时隙内,音频的传输速率可表示为vs=V×ts/T。

于是,令Tbuffer为音频缓冲时间,则音频传输延迟有:

根据当前混合数据传输量不同设定视音频的不同传输码流,从而在充分利用带宽的前提下,达到最佳的视音频传输效果[7]。设视频码流具有Cv1,Cv2,…,Cvm,音频码流具有Cs1,Cs2,…,Csn,则式(1),(2)可转化为:

其中,i=1,2,…,m;j=1,2,…,n。

在Ft,Fc恒定的情况下,很容易预估出一个时隙内的可用带宽。式(3)表明,当前传输的视音频码流与实际可用带宽相近时,只需根据权重计算视音频分组,满足式(2)的最大传输延迟,就可以最大化利用带宽。由于不同时隙内带宽是动态变化的,因此需要根据当前和历史时隙对下一个时隙视音频可用带宽进行预估,从而根据视音频权重选择当前时隙合适的采样码流。

3.3 各队列发送数据预估

混合数据传输过程中,由于丢包率[8]和一个时隙内的高优先级数据队列传输变化等因素(发射机工作环境场强较高,使用无线传输需要考虑网络丢包率的影响。报警信息量瞬时增大、瞬时控制信息增多会影响时隙T内低优先队列数据的发送)的影响,可以通过历史各队列发送数据量对下一个时隙带宽进行预估,然后根据权重计算出当前最优的视音频采样码流,用于下一个时隙进行传输,从而优化带宽利用率。

本文使用图4流程对Ic队列和It在一个时隙内的数据进行预估,进而选择当前时隙合适的视音频采集码流。

图4 一个时隙内各队列发送数据量预估流程图

Ic队列优先级最高,一个时隙内 Ic队列数据量增加时,会抢占其他队列的传输用时。由于Is,Iv优先级较Ic低且具有实时性,传输子系统将流程忽略Ic队列数据量增加对Is,Iv发送数据的影响,即如果一个时隙内Is,Iv队列内数据没有发送完将直接丢弃。It队列数据可以非实时传输,因此受网络丢包率和Ic队列数据量变化当前时隙未发送完的数据将转移到下一个时隙继续发送。

由式(4)可知,求解的关键是权重学习,目前主要有基于神经网络的学习方法或基于统计模型的学习方法。由于统计的方法具有收敛速度快、无需设置步长和易实现的特点,本文采用统计学习方法。

在历史时隙中,本文方法将上一个时隙设置为较大的权重1/n<WL<1,其余权重取均值,即(1-WL)/(n-1)。设0.5<Ws<1为It队列完成任务对预估的影响权重,显然预估发送未完成任务的权重为1-Ws。Pi={0,1}为距离当前第i时隙It队列是否完成预估数据发送任务,0表示失败,1表示成功。权重可根据式(5)进行计算:

Ic队列发送数据量的预估同样可以采用式(4),但因不受优先级队列数据量变化的影响,因此令式(5)中的Pi= 1(i=1,2,…,n),可得:

通过It,Ic在一个时隙内传输数据量的预估,再根据物理通道带宽及视音频的权重,即可获取合适的当前视音频采集码流,用于下一个时隙的数据传输。

3.4 混合数据传输算法

传输子系统中混合数据传输算法工作步骤:

步骤1初始化时隙T、权重系数、视音频码流等参数并预处理各队列发送数据。

步骤2预估Ic队列在下一个时隙T内的发送数据量并计算传输时间tc。若tc≥T,则停止采集视音频并处理下一个时隙Ic队列发送数据,在处理T内各队列发送任务后重复本步骤;否则转到下一步。

步骤3根据约束T-tc及历史时隙It队列发送数据量预估下一个时隙的tt(见3.3节)。

步骤4在约束T-tc-tt下,根据分组头部及T+内码流数据量(对于实时流,T-tc-tt时间内必须发送T+≥T码流数据量,以保障实时性)求解Cvi和Csj最优组合(见3.2节)。若无近似解,则令tt=a×tt(0.5<a<1),重新计算,Na次运算无解则下一个时隙停止采集视音频数据(a为T内It队列发送数据量下降因子,一般设置为0.8~0.9。Na重复求解次数,一般设置为2~4);否则设定当前视音频采集码流并求出下一个时隙的ts,tv,转到下一步。

步骤5在时隙T内设当前处理数据发送用时为t。根据优先级依次检查Ic,Is,Iv,It队列,并处理时隙T内的数据传输任务。若有抢占任务则优先处理,处理完毕后继续处理剩余发送任务,直至t≥T。

步骤6删除Ic,Iv队列中超时数据,将T时间内未处理完成的Ic,It转至下一时隙并根据tt,tv,ts,tc预处理下一个时隙各队列发送数据,转至第2步。

时隙T根据经验被设为常量。实际应用时,也可以根据当前网络数据传输丢包率、高优先级队列数据变化情况、实时流数据传输成功率、带宽预估等因素,通过学习因子动态调整T,以提高Is,Iv,It队列数据传输成功率。令P表示Is,Iv,It发送数据整体成功率,有:

式(7)中,Wsnd,Wv,Wt分别表示对Is,Iv,It发送数据成功率对整体数据传输成功率的影响权重。Ps,Pv,Pt依据式(5)的方法将每个队列发送数据成功率分解成上一次的成功率和历史成功率,并设定不同比例的影响权重,从而计算出P。取阈值PT,当P<PT时,令T=(1+λ)T,其中0<λ<1为时隙增长因子。

数据传输过程中,由于数据缓冲时间远小于传输时间,因此可以采用并行流水线方法,从而忽略缓冲时间对传输延迟的影响。

4 实验分析

流式传输技术可以较好地应用于固定码率的实时流传输,但对于混合数据和可变码率的实时视音频流,动态适应性较差,其原因是没能提供混合数据中不同优先级数据对实时性的不同要求,从而不能实时调整各队列数据的传输带宽。本文以3G网络作为测试环境,采用UDP数据包进行一系列多优先级数据收发,并实时测试网络带宽利用率及混合数据传输效果。

可伸缩的码流方法[12-13]可以根据带宽变化做出自适应调整的传输,但这种方法较适合固定码流的视音频实时流,而不适用于可变码流的混合数据传输。如图5所示,通过调整Ic队列数据传输量,可以观察到其他队列数据的传输做出了很好的自适应调整,并且带宽的总利用率也较高。实验中,以实时流的播放流畅度为评价标准,通过记录视音频播放缓冲等待时间观察客户端实时流的播放流畅度。如图6所示,在测试时并行增加了高优先级队列的数据和仿真增加网络数据丢包,实时流出现了多次延迟。文献[9-10]等方法,虽然是能够提高带宽利用率的方法,但由于未区分实时流和非实时流,并且没有提供对不同队列数据传输进行预估而动态调节码流的机制,因而当其他队列数据变化时,实时流的流畅性能就会下降。文献[11]区分了实时流和非时流,并通过提高吞吐量来提高实时流的传输效果,但没有动态调节码流机制,所以不能改变混合数据的整体传输性能。本文方法加入了动态预估机制,并能够根据权重实时调节采集码流的步骤,因此具有动态自适应性,表现出实时流的整体流畅度较好。

图5 各队列带宽占用率

图6 实时流播放效果

5 结语

为了适应网络带宽的动态变化,视音频实时流传输主要通过可伸缩的视音频编码方法[12-13]的流媒体传输技术和相应传输优化方法(提高带宽利用率、吞吐量、动态自适应传输等)来实现。本文通过定义不同数据的传输优先级和对当前带宽的预估从而动态调整视音频采集码流的方法来优化发射机监控系统中的混合数据传输性能。本文方法的主要优点:一是能在不同优先级队列中数据瞬时变化的情况下,通过对时延及带宽的预估,动态调整视音频的采集码流,从而优化了带宽利用率;二是通过对带宽的实时预估,尤其是使用无线通道进行混合数据传输时,可以实现自适应传输,从而在充分利用带宽的前提下优化监控点实时流的播放效果。

[1]熊永华,吴敏,贾维嘉.实时流媒体传输技术研究综述[J].计算机应用研究,2009,26(10):3615-3620.

[2]宁永海,沈森,阮文辉,等.无线数据传输在监控系统中的应用[J].通信技术,2010,43(1):102-104.

[3]王养廷,王长利.在强电磁干扰环境中实现可靠的无线数据传输[J].计算机测量与控制,2010,18(8):1862-1864.

[4]裴玉欢,窦文华.面向实时应用的可用带宽自适应测量方法[J].计算机应用研究,2008,25(8):2509-2511.

[5]粱靓,黄玉清,江虹.可用带宽自适应判定算法的研究[J].计算机工程,2009,35(2):103-108.

[6]周辉,李丹,王永吉.可用带宽度量系统中的若干基本问题[J].软件学报,2008,19(5):1234-1255.

[7]韩志军,刘文怡,王浩,等.基于DSP的实时数据无损压缩实现[J].电子技术应用,2008,34(11):45-47.

[8]陈飞龙,舒勤,苏静.一种改进的拥塞控制算法[J].计算机应用,2010,30(5):1188-1190.

[9]孙学军,孙岩,何丕糜,等.语音与数据综合传输的带宽利用率[J].计算机工程,2003,29(16):41-42.

[10]李周志,王晓东,王真之,等.基于多优先级缓存队列的远程数据传输技术[J].计算机工程,2010,36(18):105-108.

[11]刘仙灵,张勇,戴超,等.基于预测和优先级的时隙调度策略[J].吉林大学学报:信息科学版,2009,27(1):12-15.

[12]Schwarz H,Marpe D,Wiegand T.Overview of the scalable video coding extension of H.264/AVC[J].IEEE Trans on Circuits Syst Video Technol,2007,17(9):1103-1120.

[13]Hansen H,Strahl S,Mertins A.A fine-grain scalable audio coding based on envelope restoration and the SPIHT algorithm[C]//16th International Conference on Digital Signal Processing.Piscataway,NJ,USA:IEEE Press,2009.

LI Jinlong1,2,LIAN Yiqun2

1.College of Computer Science and Technology,Zhejiang University,Hangzhou 310027,China
2.Institute of Electronic Information,Zhejiang University of Communications and Media,Hangzhou 310018,China

By defining data transmission priority the real-time flow transmission performance can be improved when both the real-time and the non-real-time flow data use the same data channel to transmit concurrently.When the non-real-time control information varies greatly in a short time,due to the high priority non-real-time data or packet loss probability increase,the realtime flow data with fixed stream is also affected greatly.A new method of mixed data transmission is proposed through the study on bandwidth estimation,packet loss probability,and the occasion transmission data increase greatly in different priority queues in a short time.The experimental results show that the proposed method is adaptive,and presents good performance for both bandwidth utilization and real-time flow transmission effect.

real-time stream;mixed data;packet loss probability;bandwidth utilization;adaptive transmission

使用同一数据通道对实时流和非实时流数据进行并发传输时,通过定义数据传输优先级可以提高实时流数据的传输性能。当非实时流数据短时间内变化较大时,固定码流的实时流受当前优先级较高的非实时数据传输流量和丢包率影响会较大。为了解决这一问题,在分析了数据传输过程中优先级队列传输信息瞬时变化、网络丢包率、带宽预估等因素的基础上提出了一种混合数据传输方法。实验结果表明方法具有自适应性,且在提高带宽利用率的同时还可以提高实时流的传输效果。

实时流;混合数据;丢包率;带宽利用率;自适应传输

A

TP393

10.3778/j.issn.1002-8331.1107-0145

LI Jinlong,LIAN Yiqun.Application of priority queue in real-time mixed data transmission.Computer Engineering and Applications,2013,49(5):111-115.

李金龙(1976—),男,博士生,讲师,主要研究领域为视音频处理、网络通信、数据库;练益群(1955—),女,教授,主要研究领域为广播电视技术、数据通信、多媒体技术。E-mail:zj_education_ljl@163.com

2011-07-08

2011-10-14

1002-8331(2013)05-0111-05

CNKI出版日期:2011-11-14 http://www.cnki.net/kcms/detail/11.2127.TP.20111114.0951.094.html

◎数据库、数据挖掘、机器学习◎

猜你喜欢

发送数据视音频码流
分布式码流实时监控与录制系统的设计与实现
数字电视TS码流协议简要分析
我国首个超高清视音频国家重点实验室在沪启动建设
中央广播电视总台启动建设国家重点实验室
一种车载自组织网络的媒体接入控制协议
基于马尔科夫链的LoRaWAN网络节点性能分析
带标记方式的CRDSA++协议性能分析*
使用IPSec安全传输数据
基于内容结构特征的Flash电影视音频特征的提取研究
电视台视音频资料数字化存储