CN110971345A - 一种改进型fec算法及其装置 - Google Patents
一种改进型fec算法及其装置 Download PDFInfo
- Publication number
- CN110971345A CN110971345A CN201911159601.6A CN201911159601A CN110971345A CN 110971345 A CN110971345 A CN 110971345A CN 201911159601 A CN201911159601 A CN 201911159601A CN 110971345 A CN110971345 A CN 110971345A
- Authority
- CN
- China
- Prior art keywords
- packet
- fec
- packets
- media data
- redundant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
发明提供了一种改进型FEC算法和装置,方法包括:对待传输的数据进行分组,每组均包含k个媒体数据包和r个FEC冗余包,并分别对所述媒体数据包和FEC冗余包进行连续性编号;接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失的编号;据预定的规则,对丢失的编号对应的媒体数据包进行恢复。通过先将待传输的数据进行分组并进行每组中包含k个媒体数据包和r个FEC冗余包;接收数据后,对连续编号的包媒体数据包和FEC冗余包进行验证,可以快速判断出每组内数据包的丢失情况,并选择性的对媒体包予以恢复。
Description
技术领域
本发明涉及一种改进型FEC算法及其装置。
背景技术
前向纠错也叫前向纠错码(Forward Error Correction,简称FEC),是增加数据通讯可信度的方法。在单向通讯信道中,一旦错误被发现,其接收器将无权再请求传输。FEC是利用数据进行传输冗余信息的方法,当传输中出现错误,将允许接收器再建数据。
前向纠错是一种差错控制方式,它是指信号在被送入传输信道之前预先按一定的算法进行编码处理,加入带有信号本身特征的冗码,在接收端按照相应算法对接收到的信号进行解码,从而找出在传输过程中产生的错误码并将其纠正的技术。
数字节目和模拟节目比,效果更清晰,色彩更纯净,通透性更高,画面没有杂质干扰。这都要得益于数字信号出色的抗干扰能力。在数字信号中,为了防止外界信号干扰,保护信号不变异,要进行多重的纠错码设置。数字信号在解码过程中,对错误信号十分敏感,每秒钟只要存在很小的误码,就无法正常解码。而数字卫星信号之所以能顺利播放,又是得益于数字信号中的纠错码的设置。在各种纠错码的设置中,被称做FEC的前向纠错是一个非常重要的防干扰算法。FEC降低了数字信号的误码率,提高了信号传输的可靠性。因此,在卫视接收的参数中,FEC是个非常重要的数据。
最新的WebRTC版本中有实现了ULPFEC,但是基本只能支持2%左右的丢包覆盖。在国内的公网上传环境,跨区域传输时往往要远大于2%,在视频会议中,容易出现丢包卡顿的情况。
因此,针对目前视频会议中容易出现丢包卡顿现象,急需一种新型的前向纠错方法来解决。
发明内容
本发明的目的是提供一种改进型FEC算法,以解决目前视频会议中容易出现丢包卡顿现象的问题。
为解决上述技术问题,本发明提供了一种改进型FEC算法,包括:
对待传输的数据进行分组,每组均包含k个媒体数据包和r个FEC冗余包,(k为大于0的正整数,r为大于0的正整数;)并分别对所述媒体数据包和FEC冗余包进行连续性编号;
接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失的编号;
根据预定的规则,对丢失的编号对应的媒体数据包进行恢复。
其中,所述对待传输的数据进行分组,每组均包含k个媒体数据包和r个FEC冗余包,(k为大于0的正整数,r为大于0的正整数;)并分别对所述媒体数据包和FEC冗余包进行连续性编号;的步骤包括:
设定k个媒体数据包为D=(D1,D2,...,Dk),设定r个FEC冗余包C=(C1,C2,...,Cr);
待传输的数据的分组表示为Y=(Y1,Y2,...,Yn),其中Yi=Di(0≤i≤k-1),Yj=Cj(k≤j≤n-1);
其中,所述接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失编号的步骤包括:
接收传输的数据的预定组中的任意K个数据包;
其中,所述根据预定的规则,对丢失的编号对应的媒体数据包进行恢复;步骤包括:
通过Vandemonde矩阵来构建系数矩阵G,Vandemonde矩阵V,r×k维,,如下所示:
系数矩阵G=V,Gij(i=0,1,...,r-1;j=0,1,...,k-1)为系数矩阵的元素,Ci(i=1,2,...,r)表示第i个冗余包,Dj(j1,2,...,k)表示第j个原始媒体数据包,根据下式生成对应的冗余包
其中,所述接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失编号的步骤之前,
发送端就同时发送原始媒体数据包和冗余FEC包;
所述接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失编号的步骤还包括:
对接收到的原始媒体数据包计算产生对比冗余包:
将所述对比冗余包与接收到的冗余FEC包做比较,得到丢失的原始媒体包的表达式:
根据丢失的原始媒体包进行恢复。
根据本发明的另一方面,本发明还提供一种改进型FEC算法装置,包括:
分组编号单元,其配置为,对待传输的数据进行分组,每组均包含k个媒体数据包和r个FEC冗余包,(k为大于0的正整数,r为大于0的正整数;)并分别对所述媒体数据包和FEC冗余包进行连续性编号;
验证单元,其配置为,接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失的编号;
恢复单元,其配置为,根据预定的规则,对丢失的编号对应的媒体数据包进行恢复。
其中,所述分组编号单元还包括:
设定k个媒体数据包为D=(D1,D2,...,Dk),设定r个FEC冗余包C=(C1,C2,...,Cr);
待传输的数据的分组表示为Y=(Y1,Y2,...,Yn),其中Yi=Di(0≤i≤k-1),Yj=Cj(k≤j≤n-1);
其中,所述验证单元还包括:
接收传输的数据的预定组中的任意K个数据包;
其中,所述恢复单元还包括:
通过Vandemonde矩阵来构建系数矩阵G,Vandemonde矩阵V,r×k维,,如下所示:
系数矩阵G=V,Gij(i=0,1,...,r-1;j=0,1,...,k-1)为系数矩阵的元素,Ci(i=1,2,...,r)表示第i个冗余包,Dj(j1,2,...,k)表示第j个原始媒体数据包,根据下式生成对应的冗余包
其中,所述分组编号单元还包括:
发送端就同时发送原始媒体数据包和冗余FEC包;
所述恢复单元还包括:
对接收到的原始媒体数据包计算产生对比冗余包:
将所述对比冗余包与接收到的冗余FEC包做比较,得到丢失的原始媒体包的表达式:
根据丢失的原始媒体包进行恢复。
与现有技术相比,本发明的有意效果在于:
发明提供一种改进型FEC算法,包括:对待传输的数据进行分组,每组均包含k个媒体数据包和r个FEC冗余包,并分别对所述媒体数据包和FEC冗余包进行连续性编号;接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失的编号;据预定的规则,对丢失的编号对应的媒体数据包进行恢复。通过先将待传输的数据进行分组并进行每组中包含k个媒体数据包和r个FEC冗余包;接收数据后,对连续编号的包媒体数据包和FEC冗余包进行验证,可以快速判断出每组内数据包的丢失情况,并选择性的对媒体包予以恢复。
附图说明
图1示意性示出了本发明实施例中一种改进型FEC算法的流程示意图;
图2示意性示出了本发明实施例中一种改进型FEC算法装置的结构示意框图。
具体实施方式
以下对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
FEC是一种前向性纠错技术,发送方将要发送的数据加上一定的冗余纠错码一起发送,接收方则根据纠错码对接收到的数据进行差错检测,如发现差错,则由接收方进行纠错。特点是使用纠错码,单信道通信,发送方无需设置缓存,特别适合于实时音视频通信领域。
最新的WebRTC版本中有实现了ULPFEC,但是基本只能支持2%左右的丢包覆盖。在国内的公网上传环境,跨区域传输时往往要远大于2%,在视频会议中,容易出现丢包卡顿的情况。
本专利核心思想主要采用一种改进型的Vandermonde矩阵RS算法,然后基于vandermonde矩阵RS算法进行改进FEC算法。相比传统的RS算法,本专利中RS算法运算复杂度更低且解决了利用矩阵构造RS码,并且当矩阵奇异时,构造的纠错码不为RS码的问题。
本方案将需要传输的数据进行分组,每组含用k个媒体数据包和r个FEC冗余包。每组内,需要对媒体数据包和FEC冗余包进行连续性编号,通过编号的连续性可以判断出本组内数据包的丢失情况,并选择性的对媒体数据包予以恢复。
每个组是一个完整的独立的FEC处理单元,不同组之间无相关性。由于冗余性的存在,一个组中任意k个数据包可以用来重建k个原始媒体数据包,如果丢失数据包数小于等于r,接受者收到一个组中任意的k个数据包后,即可以通过组号信息确定丢失包的相对位置并进行FEC解码,以恢复k个原始媒体包。这里我们定义冗余包数r与原始媒体包数k的比值为FEC编码冗余度r/k,冗余度越高,抗丢包能力越强,同时传输效率也越低。
Vandemonde编解码以及改进过程:设k个原始媒体包D=(D1,D2,...,Dk),r个冗余包C=(C1,C2,...,Cr),那么传输数据包组表示为Y=(Y1,Y2,...,Yn),其中Yi=Di(0≤i≤k-1),Yj=Cj(k≤j≤n-1)。B为n×k维FEC生成矩阵,由单位矩阵I和矩阵G组成,则一个组可表示为如下所示:
如果以传输的数据包为对象,那么该预定的传输数据包组的前k个包就是k个被保护的媒体数据包。在接收端,如果接收者收到了该组中的任意k个媒体数据包,即可根据所收到的媒体数据包在组中的位置信息,从FEC生成的矩阵B中提取对应的行,组成一个新的k×k维矩阵B',显然
系数矩阵G=V,该矩阵元素的运算都是在有限域GF(28)中进行的。Gij(i=0,1,...,r-1;j=0,1,...,k-1)为系数矩阵的元素,Ci(i=1,2,...,r)表示第i个冗余包,Dj(j1,2,...,k)表示第j个原始媒体数据包,根据下式:
上式运算是以包分割后的数据为运算单位的,模运算使用查表方式实现。例如发端使用k=6,r=2的冗余度模式,那么对应的系数矩阵为:
根据上面的系数矩阵,可以计算得到冗余包为:
生成冗余包C1C2;发送端就可以一次发送原始媒体数据包和冗余FEC包。如果发送途中原始媒体数据包D3D4丢失,那么接收端就可以根据收到的数据包恢复丢失的原始媒体包,具体过程如下。
由接收到的原始媒体包再次产生冗余包:
将其与接收到的冗余包做比较,就能得到丢失的原始媒体包的表达式
以下结合附图详细说明:
如图1所示,该改进型FEC算法,包括:
步骤一,对待传输的数据进行分组,每组均包含k个媒体数据包和r个FEC冗余包,(k为大于0的正整数,r为大于0的正整数;)并分别对所述媒体数据包和FEC冗余包进行连续性编号;
步骤二,接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失的编号;
步骤三,根据预定的规则,对丢失的编号对应的媒体数据包进行恢复。
其中,步骤一包括:
设定k个媒体数据包为D=(D1,D2,...,Dk),设定r个FEC冗余包C=(C1,C2,...,Cr);
待传输的数据的分组表示为Y=(Y1,Y2,...,Yn),其中Yi=Di(0≤i≤k-1),Yj=Cj(k≤j≤n-1);
其中,步骤二包括:
接收传输的数据的预定组中的任意K个数据包;
其中,步骤三包括:
通过Vandemonde矩阵来构建系数矩阵G,Vandemonde矩阵V,r×k维,,如下所示:
系数矩阵G=V,Gij(i=0,1,...,r-1;j=0,1,...,k-1)为系数矩阵的元素,Ci(i=1,2,...,r)表示第i个冗余包,Dj(j1,2,...,k)表示第j个原始媒体数据包,根据下式生成对应的冗余包
其中,步骤二之前,
发送端就同时发送原始媒体数据包和冗余FEC包;
步骤二还包括:
对接收到的原始媒体数据包计算产生对比冗余包:
将所述对比冗余包与接收到的冗余FEC包做比较,得到丢失的原始媒体包的表达式:
根据丢失的原始媒体包进行恢复。
如图2所示,根据本发明的另一方面,本发明还提供一种改进型FEC算法装置,包括:
分组编号单元,其配置为,对待传输的数据进行分组,每组均包含k个媒体数据包和r个FEC冗余包,(k为大于0的正整数,r为大于0的正整数;)并分别对所述媒体数据包和FEC冗余包进行连续性编号;
验证单元,其配置为,接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失的编号;
恢复单元,其配置为,根据预定的规则,对丢失的编号对应的媒体数据包进行恢复。
其中,所述分组编号单元还包括:
设定k个媒体数据包为D=(D1,D2,...,Dk),设定r个FEC冗余包C=(C1,C2,...,Cr);
待传输的数据的分组表示为Y=(Y1,Y2,...,Yn),其中Yi=Di(0≤i≤k-1),Yj=Cj(k≤j≤n-1);
其中,所述验证单元还包括:
接收传输的数据的预定组中的任意K个数据包;
其中,所述恢复单元还包括:
通过Vandemonde矩阵来构建系数矩阵G,Vandemonde矩阵V,r×k维,,如下所示:
系数矩阵G=V,Gij(i=0,1,...,r-1;j=0,1,...,k-1)为系数矩阵的元素,Ci(i=1,2,...,r)表示第i个冗余包,Dj(j1,2,...,k)表示第j个原始媒体数据包,根据下式生成对应的冗余包
其中,所述分组编号单元还包括:
发送端就同时发送原始媒体数据包和冗余FEC包;
所述恢复单元还包括:
对接收到的原始媒体数据包计算产生对比冗余包:
将所述对比冗余包与接收到的冗余FEC包做比较,得到丢失的原始媒体包的表达式:
根据丢失的原始媒体包进行恢复。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人才员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种改进型FEC算法,其特征在于,包括:
对待传输的数据进行分组,每组均包含k个媒体数据包和r个FEC冗余包,(k为大于0的正整数,r为大于0的正整数;)并分别对所述媒体数据包和FEC冗余包进行连续性编号;
接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失的编号;
根据预定的规则,对丢失的编号对应的媒体数据包进行恢复。
6.一种改进型FEC算法装置,其特征在于,包括:
分组编号单元,其配置为,对待传输的数据进行分组,每组均包含k个媒体数据包和r个FEC冗余包,(k为大于0的正整数,r为大于0的正整数;)并分别对所述媒体数据包和FEC冗余包进行连续性编号;
验证单元,其配置为,接收传输的数据,并对所述媒体数据包和FEC冗余包进行连续性编号验证,确定丢失的编号;
恢复单元,其配置为,根据预定的规则,对丢失的编号对应的媒体数据包进行恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911159601.6A CN110971345A (zh) | 2019-11-22 | 2019-11-22 | 一种改进型fec算法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911159601.6A CN110971345A (zh) | 2019-11-22 | 2019-11-22 | 一种改进型fec算法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110971345A true CN110971345A (zh) | 2020-04-07 |
Family
ID=70031303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911159601.6A Pending CN110971345A (zh) | 2019-11-22 | 2019-11-22 | 一种改进型fec算法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110971345A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935485A (zh) * | 2020-08-10 | 2020-11-13 | 北京佳讯飞鸿电气股份有限公司 | 一种rs码前向纠错方法及装置 |
CN112671784A (zh) * | 2020-12-28 | 2021-04-16 | 北京奇艺世纪科技有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN113965293A (zh) * | 2021-10-22 | 2022-01-21 | 西安电子科技大学 | 基于rs编码最佳冗余位的pam4信号前向纠错方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421387B1 (en) * | 1998-05-15 | 2002-07-16 | North Carolina State University | Methods and systems for forward error correction based loss recovery for interactive video transmission |
EP1758254A1 (en) * | 2005-08-23 | 2007-02-28 | Thomson Licensing | Improved erasure correction scheme based on XOR operations for packet transmission |
US20120272124A1 (en) * | 2009-11-25 | 2012-10-25 | Zte Corporation | Method and System for Recovering Lost Media Data Packets |
CN108965775A (zh) * | 2017-05-25 | 2018-12-07 | 中兴通讯股份有限公司 | 数据丢包处理策略的调整方法、装置及存储介质 |
-
2019
- 2019-11-22 CN CN201911159601.6A patent/CN110971345A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421387B1 (en) * | 1998-05-15 | 2002-07-16 | North Carolina State University | Methods and systems for forward error correction based loss recovery for interactive video transmission |
EP1758254A1 (en) * | 2005-08-23 | 2007-02-28 | Thomson Licensing | Improved erasure correction scheme based on XOR operations for packet transmission |
US20120272124A1 (en) * | 2009-11-25 | 2012-10-25 | Zte Corporation | Method and System for Recovering Lost Media Data Packets |
CN108965775A (zh) * | 2017-05-25 | 2018-12-07 | 中兴通讯股份有限公司 | 数据丢包处理策略的调整方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
WANG HAO ET AL.: "A FEC-based Packet Loss Recovery Scheme using RS Codes Built by Improved Vandermonde Matrices", 《IEEE》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935485A (zh) * | 2020-08-10 | 2020-11-13 | 北京佳讯飞鸿电气股份有限公司 | 一种rs码前向纠错方法及装置 |
CN112671784A (zh) * | 2020-12-28 | 2021-04-16 | 北京奇艺世纪科技有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN113965293A (zh) * | 2021-10-22 | 2022-01-21 | 西安电子科技大学 | 基于rs编码最佳冗余位的pam4信号前向纠错方法 |
CN113965293B (zh) * | 2021-10-22 | 2022-10-04 | 西安电子科技大学 | 基于rs编码最佳冗余位的pam4信号前向纠错方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100773448B1 (ko) | 로버스트 디지털 통신 시스템 | |
KR101191181B1 (ko) | 디지털 방송의 송/수신 시스템 및 데이터 구조 | |
US6760077B2 (en) | VSB reception system with enhanced signal detection for processing supplemental data | |
KR100771631B1 (ko) | 방송 시스템 및 방송 시스템에서 데이터를 처리하는 방법 | |
JP3179060B2 (ja) | 情報データ多重化伝送システムとその多重化装置及び分離装置 | |
KR102133930B1 (ko) | 데이터 패킷 송수신 장치 및 방법 | |
JP5317223B2 (ja) | 信号を符号化および復号する方法および装置 | |
CN100571217C (zh) | 一种在数据传输过程中抵抗丢包的方法、收发装置及系统 | |
JP5232865B2 (ja) | デジタルテレビジョンシステムのプリアンブル | |
US9071274B2 (en) | Systems, methods, apparatus and computer program products for highly reliable file delivery using compound and braided FEC encoding and decoding | |
CN110971345A (zh) | 一种改进型fec算法及其装置 | |
JP2011501926A (ja) | 信号を符号化および復号するための装置および方法 | |
US20100254489A1 (en) | Code enhanced staggercasting | |
US7464319B2 (en) | Forward error correction with codeword cross-interleaving and key-based packet compression | |
KR20080092195A (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
JP5415437B2 (ja) | 符号エンハンスド・スタガキャスティング | |
KR101227507B1 (ko) | 디지털 방송 신호 송신 시스템 및 송신 방법 | |
KR101227501B1 (ko) | 디지털 방송 시스템 및 처리 방법 | |
US10771191B2 (en) | System for highly reliable file delivery of using continuous FEC encoding/decoding | |
KR101158451B1 (ko) | 수신 성능이 향상된 디지털 방송 송수신 시스템 및 그의신호처리방법 | |
KR20060047533A (ko) | 수신 성능이 향상된 디지털 방송 송수신 시스템 및 그의신호처리방법 | |
KR100891693B1 (ko) | 디지털 통신 시스템용의 매핑장치 | |
KR100914714B1 (ko) | 디지털 방송 시스템 및 데이터 처리 방법 | |
JP6205232B2 (ja) | 送信装置、受信装置 | |
KR20140011514A (ko) | 통신 시스템에서 데이터 송수신 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200407 |
|
RJ01 | Rejection of invention patent application after publication |