FEC的基本原理及webrtc中应用

FEC及前向纠错码,是一种广泛应用的编码技术。核心是通过传冗余数据来校验或恢复数据。

可以一个FEC算法看出有两个核心指标,冗余度和恢复能力。

这里先通过几个常见FEC算法来解释涉及到的一些核心概念。

重复编码

原始数据为0/1 两种;

编码后数据为000/111;

可以看出如果每个编码后的数据传输时发生错误的位数小于3,都是可以识别出来的。

而如果只发生了一位错误,我们是可以纠正错误的,即011,更有可能是111,而不是000。

这里有一个概念就是编码空间,重复编码其实是上升到了一个更高的空间,空间中加入了非法的状态。比如bag这个3位词,空间中合法状态多,lag,tag;而camputer则比较容易恢复成computer。

上图,是整个编码后的空间,000到111要经过3个线段,因而可以识别出一位错误。这个概念就是汉明距离,即纠错的能力为 汉明距离/2向下取整。

汉明编码

图中所示为汉名7,3编码。3位冗余数据,4位真实数据,冗余率要低于重复编码 。

3位可以表示8个状态,对应了没有错误,7位中有一位有错误。

而这里的变化矩阵,即是一个生成矩阵。FEC的变化,多是通过生成矩阵来进行的

Webrtc中FEC

webrtc中FEC主要用于抗丢包,把每一个数据包看成编码中的一位,来进行上述的FEC编码。

与重传相比,延时更少,对rtc的低延时至关重要。主要和两个因素有关,丢包率即编码延时。多采用异或方式的FEC算法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值