无线视频传输的跨层动态映射算法

2011-08-11 08:22赵晨圆葛万成
通信技术 2011年9期
关键词:马尔可夫数据流队列

赵晨圆, 葛万成

0 引言

随着无线网络技术的发展,多媒体视频业务得到了空前的发展。无线网络和视频传输技术的融合是一个必然的趋势[1]。最近提出的IEEE802.11e EDCA机制引入了传输优先级概念来区分不同的业务,但不是专门针对视频传输来进行设计的,导致在无线网络传输中视频的QoS很难被保证,并且改进的效果很有限[2]。

基于OSI标准分层结构的通信协议已经不能满足各种移动多媒体视频业务的要求,因此跨层设计已经成为广泛研究的热点。首先使用基于场景的马尔可夫链对MPEG-4的视频数据流进行建模,分析视频帧之间的相关性。然后利用跨层的思想,将EDCA机制和MPEG-4的视频特性结合起来,提出了跨层动态映射算法,来保证视频传输的服务质量,并给出了NS2的仿真结果,验证了算法的有效性。

1 MPEG-4视频数据流的马尔可夫链建模

在视频数据流建模中,使用 Bellcore提供的 Star Wars数据,作为实验中MPEG-4视频数据流的原始经验视频数据。视频经过MPEG-4压缩编码后产生了三种视频帧:I视频帧、P视频帧和B视频帧。视频帧按照顺序被排列成固定的周期序列(GOP,Group of Picture)。根据MPEG-4视频帧的相关性,提出了基于场景的马尔可夫链模型[3]。首先,按照以下算法得到场景边界。

①令n=1,初始化场景的左边界b_left=1。

②n=n+1,从b_left到n的一段GOP子序列的变异系数Cnew(标准差和均值的比值):

其中ε值的大小限定了一个场景所能容忍的标准差。如果加入一个新的GOP,使得标准差变化过于剧烈,那么重新开始一个新的场景。

得到场景边界之后,把GOP序列划分成多个GOP子序列,则得到每个场景内一个GOP的平均大小:

然后把视频数据流按照每个场景的GOPSi,再分成M个场景状态。

得到视频数据流的M个场景状态后,把每个场景按照的大小分配到与之相对应的场景状态,再统计出相邻场景间的状态转移个数就可以求出场景的状态转移概率矩阵Pij,其中Sij代表从场景状态i到场景状态j的转移个数。

如图1所示,描述了基于场景的马尔可夫链模型生成的视频数据流的 GOP自相关曲线,它能良好地逼近原始经验视频数据的自相关曲线。根据以上得到的基于场景的马尔可夫链模型,生成视频传输仿真中所需要的视频帧序列件。

图1 基于场景马尔可夫链的GOP自相关曲线

2 MPEG-4视频传输的跨层动态映射算法

IEEE802.11e的EDCA机制把数据分成AC_VO (语音业务),AC_VI (视频业务),AC_BE (尽力而为业务)和AC_BK(背景业务),分别定义为 AC[3]、AC[2]、AC[1]、AC[0](优先级由高到低)。当视频数据为网络中传输的主要数据时,只有AC[2]一直为满负荷工作。基于EDCA信道访问机制对视频传输的局限性,提出跨层动态映射算法,将OSI模型的应用层得到的各个视频帧的信息传送到MAC层,如图2所示。

根据编解码关系,I视频帧是最重要的视频帧,其次是P视频帧和B视频帧。针对三种视频帧分别定义了初始化映射概率p,并且pB>pP>pI。通过采用MAC层的AC[2]队列长度来实时地判断网络的负荷状况。为了达到这个目的,引入两个参数qlow和qhigh,综合考虑这两个参数的算法可以用式(6)来表示:

其中pnew为新计算出的映射概率,qlow为队列长度的最小阀值,qhigh为队列长度的最大阀值,q(AC[2])为访问类型AC[2]的队列长度。pnew越大表示这个视频帧映射到低优先级队列的机会更大。如图3所示,描述了跨层动态映射算法的具体实现过程。其中RN的值是由一个归一化的函数随机产生,它的值介于(0.0,1.0)之间。

图2 跨层动态映射算法

图3 跨层动态映射算法的实现流程

3 NS2仿真结果及分析

3.1 仿真工具及参数设定

运用网络仿真工具NS2对无线网络进行建模。在仿真中从2个方向来产生trace文件:①利用上述通过基于场景的马尔可夫链生成的视频帧序列;②采用MyEvalid-NT压缩编码原始的MPEG-4视频,从而得到trace文件,在接收方可以直接观察所得到的 MPEG-4格式视频来分析传输的效果[4]。在仿真中使用2种流量场景来分析视频的传输性能:场景一,只有视频数据流从视频发送方传送到接收方;场景二,使用除视频数据流外的其它业务来生成网络负荷。

3.2 排队长度仿真

选取场景一,并且采用基于场景的马尔可夫链模型生成的trace文件作为视频数据业务的输入。

如图4所示在EDCA机制下使用MAC层队列的情况。从中可以看出,只有AC[2]被占用了,并且在某个时刻超过了最大的排队长度,出现了数据包丢失的情况,而其它的队列均为空闲状态。如图 5所示在跨层动态映射算法下使用MAC层队列的情况。在图中可以看到,相对于EDCA机制,这种算法能够很好地利用AC[2]、AC[1]、AC[0]这三个队列,从而提高数据的传输速率,是比较理想的跨层映射算法。

图4 EDCA机制下的队列排队长度

图5 跨层动态映射算法下的队列排队长度

3.3 可解码视频帧比例仿真

定义可解码视频帧比例Q=可解码视频帧个数/总共传输的视频帧个数。在Q参数仿真中,采用基于场景的马尔可夫链模型生成的trace文件,选取场景一。分析表1,可以发现跨层动态映射算法的Q值明显大于EDCA机制Q值。

表1 场景一仿真得到的Q值

3.4 视频传输效果仿真

发送方采用MyEvalid-NT生成的trace文件,并且采用场景二。

图6(b)是采用EDCA机制进行传输后得到的视频图像,图6(a)是原始的未经过传输前的视频图像。从图中可以看出,传输后的视频图像质量极其恶劣。如图7(b)是采用跨层动态映射算法进行传输后得到的视频图像,图7(a)是原始的未经过传输前的视频图像。从图中可以发现,整个视频的效果能很好地逼近原始视频的效果。因此,跨层动态映射算法能够取得比原始的EDCA传输机制更好的视频传输效果。

图6 大数据流量场景下的EDCA机制视频传输效果

图7 大数据流量场景下的跨层动态映射算法视频传输效果

4 结语

结合基于场景的马尔可夫链对MPEG-4视频数据进行建模,并且提出了针对MPEG-4视频传输的跨层动态映射算法,根据视频帧的重要性和网络的负荷情况,把应用层的视频帧信息传送到MAC层,同时动态地分配到最合适的队列中去。然后,采用网络仿真工具NS2对无线网络进行建模。从排队长度,可解码视频帧比例以及真实MPEG-4视频数据传输的效果,对EDCA接入机制以及跨层动态映射算法进行比较。仿真结果表明,使用跨层动态映射算法能有效地改善MPEG-4视频传输后的QoS。

[1]张学毅,于惠钧,梁建华.UWB无线网络QoS跨层联合优化的研究[J].通信技术,2008,41(06):17-19.

[2]STOCKHAMMER T, LIEBL G. On practical Crosslayer Aspects in 3GPP Video Service[M].USA: ACM, 2007.

[3]FANG Zhijun. Kalaman Optimized Model for MPEG-4 VBR Sources[J].IEEE Consumer Electriniss, 2004, 50(02):688-690.

[4]YU Yu, HENG E C. MyEvalvid-NT, a Simulation Tool-Set for Video Transmission and Quality Evaluation[J]. IEEE, 2006(10):1-4.

猜你喜欢
马尔可夫数据流队列
汽车维修数据流基础(上)
汽车维修数据流基础(下)
队列里的小秘密
基于多队列切换的SDN拥塞控制*
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链共享单车高校投放研究
在队列里
丰田加速驶入自动驾驶队列
多状态马尔可夫信道的时延分析
基于数据流聚类的多目标跟踪算法