fec浅析_fec13

2022-09-22 17:09:14 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

fec (Forward Error Correction) ,向前纠错。

fec 主要用于在传输过程中,发现带宽时够的,但是会有丢包的情况。

一般用于udp传输,比如webrtc传视频, 视频会议传输视频。

另外提一下的是,udp传输视频一般会把一帧视频分为很多个分组,为啥要分组,因为如果不分组,传输过程中丢失了任何一个分组,整帧数据就丢失了。按mtu以下的分组传输好处是,可以实现udt,和fec了。

比如一帧分了5个分组,增加一个fec冗余包,当前面5个分组中丢失任何一个,都可以通过这个fec冗余分组恢复出来。

那么fec是如何做到恢复任何一个分组的呢?这里讲到几种矩阵,

1 范德蒙特矩阵

2 柯西矩阵

乍一看,上面的矩阵好像还有点复杂,那么为啥选择上面的这两种矩阵呢?

原因是这两矩阵可逆,什么叫可逆矩阵。举个简单的例子

方程组

x y z = 10

2x 2y 2z = 20

4x y 2z = 19

矩阵{1, 1, 1

2, 2, 2}

这个方程组无法求解,因为其中一行和另一行存在线性关系。

可逆矩阵的意义就是,如果通过矩阵构造一个方程组,这个方程组是可以求解的。

可以求解的方程组才能恢复其中任意一组丢失的分组数据。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169596.html原文链接:https://javaforall.cn

0 人点赞