首页 理论教育 基于丢包率预测的纠错方法优化

基于丢包率预测的纠错方法优化

时间:2023-06-24 理论教育 版权反馈
【摘要】:即丢失的数据包的重传次数最多为2 次,如重传的数据包仍未能正确接收,则此包被丢弃。如预测出的丢包率大于3%时,为保证视频数据包的可靠传输,采用FEC对视频编码器输出的NALU进行纠错操作。运行模糊C均值聚类算法对在时间段T内采集的丢包率数据进行量化,得到观测序列O及初始概率π的值。采用Baum-Welch 算法对HMM模型进行训练,计算矩阵A和B,并根据式、、计算下一时间段内F的丢包率p。

基于丢包率预测的纠错方法优化

基于丢包率预测的纠错方法(Predicting Packet Loss rate based Error Correction Method,PPLECM)根据预测出的丢包率的大小,对视频数据包采用不同的保护手段。当网络丢包率小于0.4%时,表明网络负载较低[11],这种情况下即使采用帧间编码模式,第n 个视频帧的失真表示为

可见,即使不采用任何纠错方法,失真主要由参考帧的失真引起,当极小时,这种失真也不会引起人眼的察觉。换言之,失真的大小在人眼可接受的范围内。此种情况下,PPLECM方法不采用任何措施。如预测出的丢包率在范围[0.4%,3%]之内,表明网络负载处于轻度拥塞状态,此时在拥塞控制机制的调节下,视频数据的发送速率会降低,但按定义1 中丢包事件的定义,此时会有丢包事件发生。这种情况下,对于视频编码器而言,其本身固有的抗误码能力可以确保接收端视频质量不会有显著降低[7]。因此,在不显著增加视频传输时延的前提下,如丢包率在范围[0.4%,3%]之内,PPLECM方法采用选择性ARQ算法保证视频传输质量,并对最大重传次数M进行限制。

设后向传输信道支持无差错传输,即肯定应答(ACK)与否定应答(NACK)都可被发送方正确接收,则数据包的传输时延D可表示为

其中,Dr和Db分别表示传输信道前向和后向传输时延,从而有

上式中的Dr和Db会在一定范围内波动,其大小与网络拥塞程度、时间等因素有关。但对视频传输系统而言,当数据包传输时延较大时,视频播放的延迟会对诸如视频监控、遥操作等形成明显的干扰。文献[12]中的仿真实验表明,在实时性要求较高的场合,最大重传次数M不应大于2。即丢失的数据包的重传次数最多为2 次,如重传的数据包仍未能正确接收,则此包被丢弃。

如预测出的丢包率大于3%时,为保证视频数据包的可靠传输,采用FEC对视频编码器输出的NALU进行纠错操作。考虑到RS 码纠错能力较强,且有编解码复杂度低、实时性好的特点,PPLECM方法在FEC中使用了RS 码,相应的定义为RS(n,k)。其中n 为编码后数据长度,k为原始数据长度,冗余数据包k′=n-k,只要有任意k个或更多数据能正确接收,接收端就能恢复原始的k个数据包。显然,其全部数据可正确接收的概率为

然而,RS 码依赖在视频数据包中增加的冗余数据包来检测和纠正传输错误,不可避免地增大了网络时延,降低视频传输的实时性。另外,RS 码虽然具有实现简单、纠错能力强的优点,但缺乏自适应能力,未能根据网络服务质量的变化自适应地调整冗余包的数量。事实上,由于视频传输系统在应用层采用RTP/RTCP协议对视频编码器输出的NALU进行封装,PPLECM方法具备根据RS 编码的需要对NALU进行分割和重组的能力,相应的规范可参考文献[13]。从RTP数据包封装的角度进行考虑,可将RS 编码过程视为在n′个视频数据包加入k′个冗余数据包,再将此n′+k′个数据包发送,只要丢失的数据包个数不超过k′个,接收方就能恢复所有的n′+k′个数据包。如在下一时间段内预测的丢包率为如满足则视频数据包从理论上来讲就能全部恢复。也即RS 码的冗余数据包数量只要满足下式:

(www.xing528.com)

就能确保视频数据能够接近于无失真地传输。因此,当采用FEC进行纠错时,最优的冗余数据包(FEC数据)的大小应满足:

其中,In t为取整运算。

在采用隐马尔科夫模型预测出的丢包率的基础上,根据式(3.41)、(3.42)对RS 编码参数的冗余数据包进行动态调整,在确保视频传输可靠性的前提下提高带宽利用率。在上述讨论的基础上,得到PPLECM方法的实现步骤如下。

(1)初始化参数T、F及矩阵A和B,并开始发送视频数据。

(2)运行模糊C均值聚类算法对在时间段T内采集的丢包率数据进行量化,得到观测序列O及初始概率π的值。

(3)采用Baum-Welch 算法对HMM模型进行训练,计算矩阵A和B,并根据式(3.34)、(3.35)、(3.36)计算下一时间段内F的丢包率p。

(4)判断是否为真,如为真则采用ARQ算法,同时根据式(3.39)计算最大重传次数M,如M大于2,则M=2; 如 为假,则运行FEC,并根据式(3.41)、(3.42)得到RS 编码的最优冗余值k′,并据此对FEC进行调整。

(5)如视频数据发送完毕,转向步骤(6),否则统计后续的时长为T内的丢包率数据,转向步骤(2)。

(6)结束。

从上述流程可知,PPLECM方法的主要计算代价为步骤(2)中的模糊C均值聚类算法及步骤(3)中的Baum-Welch 算法中的迭代过程。模糊C均值聚类算法是通过优化目标函数得到各样本的隶属度,最后得到分类的结果。其计算过程中包含了两层迭代,迭代次数主要由聚类数及收敛阈值决定。在PPLECA中已设定聚类数为C=15,且FCM的复杂度为o(n2)。考虑到本书方法的应用环境,FCM中设定的收敛阈值满足迭代次数不大于103 的条件,即循环次数不大于C·103。其次,由于采用了单样本,故Baum-Welch 算法中不存在常见的上、下溢问题。此外,Baum-Welch 算法中的主要运算集中于HMM三个参数的迭代求解过程,故PPLECM的复杂度为o(N2·U)。本质上,PPLECM是一种在线计算并调整视频传输策略的方法,参数的取值满足实时性要求,其有效性与实时性在下一节中的仿真实验中进行了充分的分析与验证。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈