基于前向纠错的自适应低延时传输机制

2024-04-01 06:41张森林蔡甘霖黄发仁
电视技术 2024年1期
关键词:冗余度包率数目

张森林,蔡甘霖,黄发仁

(1.福州大学 先进制造学院,福建 福州 350000;2.福州大学 物理与信息工程学院,福建 福州 350000)

0 引言

在无线网络中,因网络波动而导致网络传输中发生数据丢包的情况频频出现。例如,移动设备与路由器距离较远或两者之间存在障碍物时,很容易出现数据丢包的现象。根据文献[1]的研究结果,在无线网络进行数据传输时,由于各种原因可能会发生10%以内的丢包现象。

目前,可靠传输包括自动重发请求(Automatic Repeat reQuest,ARQ)和前向纠错(Forward Error Correction,FEC)两种方案。由于传输控制协议(Transmission Control Protocol,TCP)协议中的重传即ARQ 所引入的时延对于具有严格时延要求的实时流视频是不可接受的,一般采用用户数据报协议(User Datagram Protocol,UDP)作为实时视频流的传输协议。但是由于UDP 不可靠,为了保证传输的可靠性,通常会采用FEC。FEC 通过系统地将冗余信息与原始数据发送给客户端来避免重传[2]。这些额外的数据允许接收方在不需要服务器进一步干预的情况下重建原始数据,避免了重传请求的往返延迟。根据文献[3]的研究,利用接收端对视频帧接收情况的反馈信息,可以用来调整下一时刻的传输冗余比。文献[4]则通过应用层的速率控制和数据包冗余来降低视频失真率。

以上文献都是考虑在TCP 协议下的传输模式,没有考虑UDP 下的视频传输模式。对此,提出一种自适应低延时冗余度的前向纠错机制,可以根据网络情况确定源包数量,降低端到端时延。同时,在网络波动时自适应增加或减少冗余包的数量,以提升视频传输质量。具体而言,以最大化视频质量为优化目标,对端到端时延以带宽为约束条件进行建模。在多变的无线网络中,保证约束下端到端时延的最优视频的传输质量。

1 问题建模

假设视频数据包传输时第i时刻端到端的网络丢包率为λ,端到端时延为d,可用带宽为B。在每一轮的数据包传输中,发送端计算所得源包数目为m,冗余包数目为n,前向纠错的冗余度为k。其中,每一个源包字节数为s,数据包包头大小为h,每一轮总发送的数据包个数为Stotal。由于冗余包比例与丢包率、端到端时延相关,提高冗余包比例能够增大丢包恢复概率,提升视频质量。但是,提高冗余包比例会增加冗余数据量,数据包发送时延也会相应增加,同时会增大带宽消耗。可见,源包发送数目及冗余包比例将对端到端时延和视频质量造成影响。基于此,通过刻画带宽限制和时延限制获得较低的端到端时延及较高的视频质量,并以此为优化目标寻找最佳源包数目和冗余包数目,以提升视频质量,降低端到端时延。

在该系统视频数据传输过程中,数据包每一轮的总发送数据包个数为

为了避免网络发生拥塞,每个时间单位内发送的数据包数量不应超过连接的可用带宽B,因此数据包的发送时延tsend可以由数据包个数和带宽的比值表示。由于数据包的传输取决于传输媒介的传播速度和传输距离,只需要考虑发送端到接收端的传播时延ttransfer。

视频传输的端到端延迟主要包括视频数据的处理时延、发送时延、传播时延和缓冲区排队时延,其中处理时延可以忽略不计。因此,第i组视频数据在系统传输时的端到端时延d可以表示为

式中:tqueue为缓冲区排队时延。

文章采用的纠错码使用Maymounkov 等[5]发表文献中的在线码,其参数为ε和q。其中,ε决定了编码的次优程度,即所需恢复编码符号的数量,而q影响解码的成功概率,两个参数都将影响解码的复杂度。根据相关文献评估,ε=0.1,q=3。根据Maymounkov 等的描述,p个数据包可以由任意一个p′数据包恢复,其概率为

式中:p′=表示必须接受的编码包的数目,从而可以高概率恢复数据。对于网络丢包率为λ的链路,需要发送N个数据包,即

网络视频传输失真主要通过延迟、丢包和抖动来表现。对于视频质量的评价,多用峰值信噪比(Peak Signal to Noise Ratio,PSNR)来体现。PSNR是用于衡量图像压缩等领域中信号重建质量的度量方法,它常常通过计算均方误差(Mean Square Error,MSE)来定义,即

式中:SME为当前图像X和参考图像Y的MSE,a、b分别为图像的高度和宽度。进一步,可以通过式(6)计算图像的PSNR。

文章的优化目标为在约束的端到端时延以及带宽限制内通过确定源包和冗余包比例获得最低的端到端时延及最优的视频质量。优化问题可以通过式(7)来解决。

式中:D为视频传输的端到端时延。

网络视频传输问题还需要满足以下约束条件。

式中:Γ 为给定的目标延时范围,视频传输的端到端时延应在给定的目标延时范围内。

式中:M为最大传输单元(Maximum Transmission Unit,MTU)的大小。

式中:k为前向纠错的冗余度。

式中:bbugdet为最大的字节数预算,每一次发送的数据包个数不能超过此数值。

2 机制设计

文章提出一种两阶段的自适应低延迟前向纠错机制,旨在根据视频帧特性和网络时延情况优化视频传输的端到端时延,并根据不同的网络状况动态调整冗余比例,从而优化视频传输质量。该机制包含两个模块:第一模块是最佳源包确定算法,用于确定每一轮应发送的源编码包的数量;第二模块是基于丢包率计算的冗余包比例确定算法,用于动态设置前向纠错的冗余包参数。

2.1 算法1:最佳低延时源包确定算法

从约束条件可以看出,源包的个数影响发送时延和排队时延,因此在给定最低编码冗余度的情况下计算此时的最佳发送源包个数。首先,输入带宽B、传播时延ttransfer、初始排队时延tqueue、最低冗余度k和时延约束Γ,输出编码源包数m。其次,在有源包进入编码缓冲区时进入循环,此时开始更新原缓冲区和编码缓冲区的排队时延。排队时延更新为进入编码缓冲区第一个包的时长及原缓冲区第一个包的时延。再次,根据源包的数目计算端到端时延,根据模型中的约束判断是否超过目标时延,若没有则继续循环,源包数目增加,若超过目标实验则退出循环。最后,返回所需编码源包个数。

2.2 算法2:最佳冗余度确定算法

为了能够在真实情况下进行传输,使其在网络抖动时也能够获得较高的视频质量,需要根据网络情况对冗余度进行调整。首先,输入编码源包数m、丢包率λ,输出冗余包数n。其次,在网络传输时,多数时间内网络情况都是稳定的。测试发现,网络丢包率在小于5%的情况下,通过最小的冗余度能够获得较高的视频质量,因此在小于此丢包率的情况下,维持其最小冗余度,从而可以保证利用更少的带宽资源及约定的端到端延时。若网络情况发生波动,丢包率大于5%,则根据建立的模型判断所需的冗余包数目。再次,为了避免超越带宽上界,使用视频帧数据包作为探测包,采用实时带宽预测算法估计实际链路的物理带宽。客户端利用该信息并使用递归最小二乘自适应滤波器,估计下一时刻的链路带宽值,从而获得此时的发送字节预算,确定在字节预算内的冗余包数量[6]。如果总发送数据包数目大于字节预算,则将发送包数目更新为最大预算字节数目,发送数据包个数减去源包个数即可得到冗余包数目n。最后,返回冗余包数目n。

3 实验与结果分析

3.1 实验设置与实验方法

实验由C++代码实现发送端与接收端。发送端采用X264 作为视频编码器,每个视频流每秒30帧进行编码。视频帧采用实时传输协议(Real-time Transport Protocol,RTP)进行封包,每个数据包的大小为512 Bytes,包头大小为42 Bytes。接收端采用FFmpeg 作为视频解码器,网络状况模拟采用Linux 操作系统自带的TC 流量控制功能模块及防火墙来实现,视频文件为2 000 帧。

3.2 实验验证

视频数据包组数每一时刻的端到端传输过程中的时延数据,如图1 所示。从图1 可以看出,文章所提出的算法时延大多数情况下都低于约束的端到端时延,而FIX-FEC 方案的时延情况均高于约束的端到端时延。相较于FIX-FEC,文章方案考虑了视频帧特性和网络传输过程中的时延情况,自适应选择源视频包的发包策略,因此大幅降低了视频传输的端到端时延。

图1 总体端到端时延对比图

不同丢包率下PSNR 的比较情况,如图2 所示。从图2 可以看出,A-FEC 方案与FIX-FEC 方案相比,PSNR 情况并无太大差异,这是因为算法1 仅考虑根据网络时延、帧时延等情况调整源编码包数目,从而降低端到端时延,并没有根据网络丢包率情况调整FEC 的冗余度,PSNR 无明显差异,符合实验预期。因此,提出算法2 对算法1 进行拓展,根据网络丢包率情况动态调整冗余度,从而大幅提高PSNR。

图2 不同丢包率下PSNR 对比图

4 结语

在无线网络传输的过程中,受各种因素影响,尤其是UDP 的不可靠特性,易发生丢包情况,因此,如何在动态变化的网络环境下增强UDP 下视频传输的可靠性一直是亟待解决的难点。针对这一问题,首先对前向纠错中的端到端时延及冗余比例确定问题进行建模,并提出一种自适应低时延的前向纠错机制AL-FEC。该机制首先根据网络时延、帧时延等情况动态调整编码源包的数目,然后针对不同的网络状况动态调整冗余包比例,以降低端到端时延并提高视频传输质量。大量实验证明,与传统的前向纠错机制相比,文章提出的自适应低延时的前向纠错方案能够大幅降低视频传输的端到端时延,并且大幅提高视频的传输质量。

猜你喜欢
冗余度包率数目
有机物“同分异构体”数目的判断方法
支持向量机的船舶网络丢包率预测数学模型
一种基于喷泉码的异构网络发包算法*
一种新的VANET网络链路丢包率估计算法
上海某基坑工程考虑冗余度的支撑体系设计
桥梁设计的冗余度分析
桥梁设计的冗余度分析
《哲对宁诺尔》方剂数目统计研究
桥梁设计的冗余度
牧场里的马