引言
数字视频传输是下一代互联网的典型应用[1 ] 。当前互联网上的视频应用向高品质、高实时性方向发展。 高清晰度视频HDV (high definition video) 因其高的分辨率和图像质量成为网络视频应用发展的一种趋势。 HDV 网络视频的应用主要有两大类:一类基于MPEG2 或H.264 压缩方式[2 、3 ] ;一类是非压缩方式。 前者的特点是数据占用带宽相对较小,但是延迟较大;后者实时性好,但是所需网络带宽较大(几百Mbp s 到1. 5 Gbp s 不等) 。 在适用范围上,非压缩高清视频用于实时性和保真度要求较高的情况,如远程医疗等,但由于其对网络带宽的高要求,只能够在专线网络环境下应用。
基于压缩方式的HDV 视频传输网络带宽占用相对较小,在目前的高速网以及正在发展的下一代网络(如CERNET2) 上是能够实用的,但与普通质量的视频相比较,其单路视频占用带宽仍然很大(20~100 Mbp s 不等) ,属于大数据流量的应用。
与普通质量的网络视频应用不同,HDV 视频本身的单路大数据量会对网络性能产生明显的影响而反过来影响应用本身的质量。 实验中发现, HDV 视频的质量对网络背景的变化有相关性,但其相关性与普通质量的网络视频有所不同。 因此通过定量的测量和分析,研究HDV 应用性能和网络性能的相互影响规律,对于深入了解大流量的应用对网络的要求以便更好地提供网络服务和提高HDV 传输质量有积极意义。
目前,基于IPv6 的高清视频系统在IPv6 网上的应用还很少,实现基于IPv6 的高清视频系统并研究其网络性能,对下一代互联网新应用的实用化和推广具有重要意义。
本文设计和实现了一个基于IPv6 的HDV 网络视频传输系统,应用到国内和国际的IPv6 主干网。同时针对该应用设计了测量子系统,对不同网络条件下HDV 视频质量和网络性能的相关性进行研究。
高清视频系统构架与实现
高清视频系统基本模块与实现
基于压缩编码的HDV 网络视频传输系统包括6 个基本的模块———视频采集、压缩编码、发送引擎、网络传输、接收与组帧、解码显示。 本文设计的HDV 视频传输系统的结构框图如图1 所示。 虚线框所包含的部分为性能测量子系统。
HDV 视频传输系统基本功能模块实现如下:
(1) 视频采集:采用Sony-FX1 (1080i) 或JVC-HDR(720p) 作为视频源,视频信号通过1394 线输入视频压缩卡。
(2) 视频压缩与编码:本系统采用MPEG2 标准进行视频压缩编码。
(3) 网络发送引擎:对压缩编码后的MPEG2 数据流进行打包发送,数据包包头按RTP 包头填充,记录时间戳、序列号等。 在发送引擎中,以48 kbp s大小的Sample 数据块为单位进行发送,每个Sam-ple 被分为43 个包,同一Sample 内的包打相同的时间戳,并以序列号标识先后顺序。
(4) 网络传输:数据发送和接收同时支持IPv4/IPv6 地址,传输网络为支持IPv4/ IPv6 的双栈环境。
(5) 网络接收与组帧引擎:接收端计算机对收到的数据包根据时间戳和序列号进行合并组帧。
(6) 解码与显示:解码和显示部分先要对视频和音频进行分离,然后分别送到显示设备和音频设备进行播放。 需要指出的是,720p 和1080i 在音频视频同步方面有所区别,720p 在音频和视频方面有相同的PID ,而1080i 则不同,需要分别处理。
HDV 性能测量子系统
HDV 系统性能测量子系统是对基本功能的扩展。 利用此子系统,可以实时监测HDV 视频系统的运行状态,并记录系统运行数据以作分析用。 除数据采集和数据输出接口,子系统还预留了基于参数测量的控制接口。 可以在这些控制接口实施优化调度算法,以达到控制HDV 视频质量的目的。测量子系统为图1 中虚线框内部分。
(1) 发送引擎监测:在发送端记录发送数据包的序列号和时间戳;同时统计单位时间内发送的包数,实时计算发包速率。
(2) 网络传输测量:测量系统发送端与接收端之间链路的拥塞状况。 此功能是通过定时发送一定数量的ICMP 报文然后统计应答报文来实现,可以得到网络层丢包率等参数。
(3) 接收组帧引擎监测:监测接收组帧引擎接收数据包与解包( depacketize) 的情况,解包后可以得到各包的序列号和时间戳;在多种时间粒度下作统计,可以得到应用层丢包率等参数。需要指出,在统计丢包率时要首先定义统计的时间粒度。 时间粒度的选取不仅要注意应尽可能精确以利于编程计算丢包率,同时要注意,由于相同Sample 的43 个包被认为是逻辑上同时产生的,它们的时间戳是相同的,分开统计既不符合逻辑规律也不符合实际的物理组帧规律。 考虑到这一点,统计丢包的时间单位的划分时刻必须选在Sample 的边界上。
高清视频系统在IPv6 网上的应用
在国内IPv6 网上的应用
2004 年3 月19 日,基于IPv6 的HDV 视频系统首次在国内IPv6 试验网CERNET2 上试用,视频源采用JVC-HDR 摄像头(720p) ,视频发送地点为清华大学,视频接收点为北京国际会议中心的演示大厅。 网络线路为带宽100 Mbp s 的共享线路;在网络负载较轻时,图像基本流畅。 当网络上其他应用较多时,会出现丢包和抖动。
在国际IPv6 网上的应用
2005 年3 月,清华大学和韩国KAIST 大学之间通过国际互联的IPv6 网络进行了HDV 的对传试验,两端点间的网络连接配置如图2 所示。
双方发送和接收端地址如表1 所示。 该试验中,网络跨越了中韩两国,国际互联带宽为155 Mbps ,途经的路由器均支持IPv4/ Ipv6 双栈协议。 由于中间网络条件比较复杂,试验过程中出现了马赛克和抖动现象。 当网络拥塞导致丢包率大过一定阈值时,图像会出现短时间停滞。
表1 中韩HDV 系统IPv6 测试收发端地址
高清视频系统对网络背景流量的依赖性和敏感性
HDV 系统的性能可通过观察接收端的视频质量感受,如是否流畅、是否出现抖动或马赛克等。 利用测量子系统,对HDV 系统在接收端的视频质量和丢包率进行了比较。 结果表明,接收端看到的视频质量(主观) 与系统的丢包率(即客观测量得到的应用层丢包率) 有着一一对应关系,即系统的丢包率越大,视频质量的下降越明显。 因此作者可以以系统的丢包率来反映接收端视频质量的下降,以丢包率的平均值反映接收端视频质量下降的平均水平,丢包率的方差和峰值反映接收端视频质量的波动(偏离平均水平的程度) 。
为定量分析HDV 系统性能对网络背景流量的依赖性和敏感性,本文设计了一个网络背景流量逐级增加的试验:用流量发生器逐级注入流量,同步记录HDV 传输系统在网络载荷增加各时刻的丢包率。 根据记录的数据绘制网络背景流量和丢包率关系图。
图3 表示系统平均丢包率与注入网络背景流量的关系,图4 表示系统丢包率方差(a) 和丢包率峰值(b) 与注入网络背景流量的关系。
从图3 可以看出,网络背景流量增加时,系统的平均丢包率相应增加。 二者近似为线性单调关系,符合一般的规律。
由图4 (a) 可以看出,随着人为网络背景流量的增加,系统丢包率方差并不是单调增加的。 在背景流量超过35 Mbps (此时网络载荷接近饱和) 以后,系统的丢包率方差曲线呈现波动性状。 即背景流量降低并不意味着丢包率方差的降低,此时丢包率方差反可能升高,体现出和平均丢包率不同的性态,主观感觉就是视频图像偏离平均水平的变坏程度(停顿或花屏) 并不会因为背景流量的降低而降低,而是过了一定背景流量阈值后就有着较高的丢包率方差(丢包峰值表现类似,见图4 ( b) ) 。 这种性态显示了高清视频传输的丢包率方差和丢包率峰值对网络背景流量的改变不敏感,可从HDV 应用本身流量载荷较大的角度去理解。 同时可看出当注入的背景流量超过一定阈值后(图中为35 Mbps) ,平均丢包率和丢包率方差会显著增加。
HDV应用性能与网络性能相关性
由于HDV 应用本身大数据流的特点,在网络传输中, HDV 在网络负载中往往占有很大比例,会出现HDV 视频流传输前网络带宽空余较大, 而HDV 加入后网络出现拥塞并反过来影响应用本身,即所谓的既是网络拥塞的产生者,又是网络拥塞的受害者的现象。 如第3 章所阐述, HDV 的大流量使得其对网络背景变化的反应表现出自身独有的特点。 那么HDV 应用使网络产生拥塞所表现的网络层丢包和与此同时应用系统本身的丢包之间的关系会是怎样的呢? 本文通过试验对两者的关系进行了定量分析。 选择了两个代表性参数———反映HDV系统视频传输性能的应用层丢包率和反映网络背景的网络层丢包率,进行了同步测量和数据记录。 对采集到的数据进行分析和计算,得到了一些结论。
图5 中的两条曲线分别是HDV 系统在拥塞情况下运行时网络层丢包率和应用层丢包率曲线。 从图中可以看到:两条统计曲线的模态比较接近但不重合。 对该图对应的两个参数序列作相关性计算,可得到两者的相关系数为0. 840 71。 改变统计时间长度和测量颗粒度进行重复的试验,得到的图线关系与图5 类似。 根据这些试验数据计算得到的两个丢包率序列的相关系数大都介于0. 81 与0. 85 之间。 相关系数在0. 83 左右的事实表明HDV 应用的性能和网络层性能虽然正相关但离完全相关有一定的距离。 二者的变化步调一致程度不够高从另一个角度说明视频质量随网络流量变化的灵敏性不高,这个结论和第3 章的结论是一致的。
结论
本文设计和实现了一个基于IPv6 的高清视频系统,并应用到IPv6 的国内外主干网上。 同时设计了测量子系统,对不同网络条件下的HDV 视频质量和网络性能的相互影响进行了研究。 试验数据分析表明,高清视频系统的性能随网络状况变化,平均意义上近似为线性关系,但是在表征波动敏感性的方差值和表征同步灵敏性的相关系数方面,则表现出一定的惯性(不灵敏) 。 该结果对于下一代互联网中的大数据流应用系统的网络性能和行为分析有重要意义。