CN103780352A - Rsfec解码算法的解码性能优化方法 - Google Patents

Rsfec解码算法的解码性能优化方法 Download PDF

Info

Publication number
CN103780352A
CN103780352A CN201410036610.7A CN201410036610A CN103780352A CN 103780352 A CN103780352 A CN 103780352A CN 201410036610 A CN201410036610 A CN 201410036610A CN 103780352 A CN103780352 A CN 103780352A
Authority
CN
China
Prior art keywords
decoding
decoding matrix
packet loss
rsfec
matrix file
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.)
Granted
Application number
CN201410036610.7A
Other languages
English (en)
Other versions
CN103780352B (zh
Inventor
陈强
周后红
曹峰
戴立言
李庆瑜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI WONDERTEK SOFTWARE CO Ltd
Original Assignee
SHANGHAI WONDERTEK SOFTWARE CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI WONDERTEK SOFTWARE CO Ltd filed Critical SHANGHAI WONDERTEK SOFTWARE CO Ltd
Priority to CN201410036610.7A priority Critical patent/CN103780352B/zh
Publication of CN103780352A publication Critical patent/CN103780352A/zh
Application granted granted Critical
Publication of CN103780352B publication Critical patent/CN103780352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种RSFEC解码算法的解码性能优化方法,包括步骤:S1、根据数据码的数量m、冗余码的数量n枚举出所有丢包的位置,并将每一丢包位置所对应的解码矩阵写入一解码矩阵文件,在系统启动时将解码矩阵文件载入缓存;S2、将每一数据码以及每一冗余码分别对应一m+n位数的二进制数中的一位,用二进制数中的1或0来表示是否丢包,以得到一长度为2m+n的指针数组,分别对应解码矩阵文件中的每一解码矩阵;S3、在丢包解码状态下,将所丢包的位置的数据码和冗余码,转换成二进制数,根据指针数组从解码矩阵文件中找到对应的解码矩阵进行解码。

Description

RSFEC解码算法的解码性能优化方法
技术领域
本发明涉及编码技术领域,特别涉及一种RSFEC解码算法的解码性能优化方法。
背景技术
众所周知,数字节目和模拟节目相比,效果更清晰,色彩更纯净,通透性更高,画面没有杂质干扰,这都要得益于数字信号出色的抗干扰能力。在数字信号中,为了防止外界信号干扰,保护信号不变异,要进行多重的纠错码设置。数字信号在解码过程中,对错误信号十分敏感,每秒钟只要有很小的误码,就无法正常解码。而数字卫星信号之所以能顺利播放,又是得益于数字信号中的纠错码的设置。在各种纠错码的设置中,被称做FEC(ForwardError Correction)的前向纠错编码是一个非常重要的防干扰算法。采用前向误差校正FEC方法,是为了降低数字信号的误码率,提高信号传输的可靠性。
传统的FEC纠错编码算法主要应用于网络链路层传输,进行数据的检错、恢复。随着3G、广域网、卫星网下实时音视频等高实时要求数据传输的广泛应用,FEC纠错编码算法开始逐渐在会话层使用,主要处理高实时要求的基于UDP传输协议的数据传输的丢包恢复(UDP协议本身已经保障了数据没有误码),较多的采用RSFEC(Reed Solomon-Forward Error Correction)编码算法。RSFEC解码端的算法复杂度主要体现在以下两部分:1、需要根据丢包的需要进行解码矩阵的创建;2、解码计算同样是矩阵乘法计算。RSFEC编码算法随着原始数据和冗余码数量的增加,其算法的复杂度呈几何方式极剧增加,在高实时网络传输时,所带来的延迟也同样增大。当应用于实时流媒体传输时,尤其是在流媒体服务器上,以及手机端时,RSFEC解码的算法复杂度对CPU会带来一定的压力。目前大多通过尽可能降低原始数据码的数量以及冗余码的数量,以降低算法难度和延迟。
发明内容
本发明针对现有技术存在的上述不足,提供了一种RSFEC解码算法的解码性能优化方法。本发明通过以下技术方案实现:
一种RSFEC解码算法的解码性能优化方法,包括步骤:
S1、根据数据码的数量m、冗余码的数量n枚举出所有丢包的位置,并将每一丢包位置所对应的解码矩阵写入一解码矩阵文件,在系统启动时将解码矩阵文件载入缓存;
S2、将每一数据码以及每一冗余码分别对应一m+n位数的二进制数中的一位,用二进制数中的1或0来表示是否丢包,以得到一长度为2m+n的指针数组,分别对应解码矩阵文件中的每一解码矩阵;
S3、在丢包解码状态下,将所丢包的位置的数据码和冗余码,转换成二进制数,根据指针数组从解码矩阵文件中找到对应的解码矩阵进行解码。
较佳的,步骤S3中找到对应的解码矩阵进行解码包括:采用双字节无符号整形的方式进行逐字节解码,以增加解码效率。
较佳的,步骤S1中的将每一丢包位置所对应的解码矩阵写入一解码矩阵文件包括:将将每一丢包位置所对应的解码矩阵按照一长度为2m+n的指针数组的大小顺序写入解码矩阵文件,以方便查找。
较佳的,用二进制数中的1表示未丢包,0来表示丢包。
通过本发明可以有效提高RSFEC解码算法的解码效率,降低CPU的功耗。
附图说明
图1所示的是本发明的流程图。
具体实施方式
以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
为了便于对本发明实施例的理解,下面将结合附图以具体实施例为例作进一步的解释说明,且各个实施例不构成对本发明实施例的限定。
请参考图1,本发明提供的一种RSFEC解码算法的解码性能优化方法包括三个步骤:
S1、根据数据码的数量m、冗余码的数量n枚举出所有丢包的位置,并将每一丢包位置所对应的解码矩阵写入一解码矩阵文件,在系统启动时将解码矩阵文件载入缓存。
RSFEC的解码矩阵,主要是根据数据码数量、冗余码数量、数据丢失的位置来进行创建,在数据码数量、冗余码数量确定的情况下,数据丢失的位置是可以逐个枚举出来,是在一个数量范围内。以8个数据码、4个冗余码为FEC编解码组为例,可支持任意丢4个或以下的包,能够正常恢复,其所有可能性数量如下:
C 12 4 + C 12 3 + C 12 2 + C 12 1 = 495 + 220 + 66 + 12 = 793
对于每一种丢包的可能,均有一个解码矩阵,以上为例,解码矩阵大小为8*8,以双字节无符号整形(unsigned short)方式进行逐字节解码,一个矩阵需要2*8*8字节的内存空间,将所有解码矩阵数据预先写成文件,系统启动后载入缓存,大约需要2*8*8*
Figure BDA0000462201570000032
字节约等于10K字节的内存空间。相比较单字节解码,双字节无符号整形解码次数少一倍,可提升效率。
S2、将每一数据码以及每一冗余码分别对应一m+n位数的二进制数中的一位,用二进制数中的1或0来表示是否丢包,以得到一长度为2m+n的指针数组,分别对应解码矩阵文件中的每一解码矩阵。
以8个数据码、4个冗余码为FEC编解码组为例,每一个数据码对应二进制中一位,用1表示未丢失,用0表示已丢失,这样一个二进制的12位数据可以表示一组数据的信息是否丢包,创建一个212长度的指针数组,依次指向解码矩阵文件中对应的解码矩阵,将大量的未指向的指针赋值为空。
S3、在丢包解码状态下,将所丢包的位置的数据码和冗余码,转换成二进制数,根据指针数组从解码矩阵文件中找到对应的解码矩阵进行解码。
启动RSFEC解码器后,按照顺序读入解码矩阵文件中内的解码矩阵信息,放入指针数组中,当需要解码时,根据丢包信息,直接可以找到解码矩阵在对应的指针数组中的位置,从而可以提交解码效率。
使用本发明技术方案后,几乎可以忽略解码矩阵的创建,根据丢包的严重情况,可以降低RSFEC解码算法30%到50%的CPU损耗。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (4)

1.一种RSFEC解码算法的解码性能优化方法,其特征在于,包括步骤:
S1、根据数据码的数量m、冗余码的数量n枚举出所有丢包的位置,并将每一丢包位置所对应的解码矩阵写入一解码矩阵文件,在系统启动时将所述解码矩阵文件载入缓存;
S2、将每一所述数据码以及每一所述冗余码分别对应一m+n位数的二进制数中的一位,用所述二进制数中的1或0来表示是否丢包,以得到一长度为2m+n的指针数组,分别对应所述解码矩阵文件中的每一解码矩阵;
S3、在丢包解码状态下,将所丢包的位置的数据码和冗余码,转换成所述二进制数,根据所述指针数组从所述解码矩阵文件中找到对应的解码矩阵进行解码。
2.根据权利要求1所述的一种RSFEC解码算法的解码性能优化方法,其特征在于,步骤S3中所述找到对应的解码矩阵进行解码包括:采用双字节无符号整形的方式进行逐字节解码,以增加解码效率。
3.根据权利要求1所述的一种RSFEC解码算法的解码性能优化方法,其特征在于,步骤S1中所述的将每一丢包位置所对应的解码矩阵写入一解码矩阵文件包括:将将每一丢包位置所对应的解码矩阵按照一所述长度为2m+n的指针数组的大小顺序写入所述解码矩阵文件,以方便查找。
4.根据权利要求1所述的一种RSFEC解码算法的解码性能优化方法,其特征在于,用所述二进制数中的1表示未丢包,0来表示丢包。
CN201410036610.7A 2014-01-26 2014-01-26 Rsfec解码算法的解码性能优化方法 Active CN103780352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410036610.7A CN103780352B (zh) 2014-01-26 2014-01-26 Rsfec解码算法的解码性能优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410036610.7A CN103780352B (zh) 2014-01-26 2014-01-26 Rsfec解码算法的解码性能优化方法

Publications (2)

Publication Number Publication Date
CN103780352A true CN103780352A (zh) 2014-05-07
CN103780352B CN103780352B (zh) 2017-02-01

Family

ID=50572232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410036610.7A Active CN103780352B (zh) 2014-01-26 2014-01-26 Rsfec解码算法的解码性能优化方法

Country Status (1)

Country Link
CN (1) CN103780352B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9979983B2 (en) 2015-03-16 2018-05-22 Microsoft Technology Licensing, Llc Application- or context-guided video decoding performance enhancements
US10129566B2 (en) 2015-03-16 2018-11-13 Microsoft Technology Licensing, Llc Standard-guided video decoding performance enhancements
CN112165403A (zh) * 2020-09-29 2021-01-01 北京视界云天科技有限公司 Udp数据包恢复方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1175132A (zh) * 1997-07-25 1998-03-04 复旦大学 里德-索罗蒙码的高速译码方法
US20030090945A1 (en) * 2001-10-17 2003-05-15 Kwon Hyung-Joon Memory device for use in high-speed block pipelined Reed-Solomon decoder, method of accessing the memory device, and Reed-Solomon decoder having the memory device
CN101262305A (zh) * 2008-04-23 2008-09-10 中兴通讯股份有限公司 一种里德索罗蒙码的译码方法及装置
CN102170327A (zh) * 2011-04-06 2011-08-31 烽火通信科技股份有限公司 超强前向纠错的硬件译码方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1175132A (zh) * 1997-07-25 1998-03-04 复旦大学 里德-索罗蒙码的高速译码方法
US20030090945A1 (en) * 2001-10-17 2003-05-15 Kwon Hyung-Joon Memory device for use in high-speed block pipelined Reed-Solomon decoder, method of accessing the memory device, and Reed-Solomon decoder having the memory device
CN101262305A (zh) * 2008-04-23 2008-09-10 中兴通讯股份有限公司 一种里德索罗蒙码的译码方法及装置
CN102170327A (zh) * 2011-04-06 2011-08-31 烽火通信科技股份有限公司 超强前向纠错的硬件译码方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9979983B2 (en) 2015-03-16 2018-05-22 Microsoft Technology Licensing, Llc Application- or context-guided video decoding performance enhancements
US10129566B2 (en) 2015-03-16 2018-11-13 Microsoft Technology Licensing, Llc Standard-guided video decoding performance enhancements
CN112165403A (zh) * 2020-09-29 2021-01-01 北京视界云天科技有限公司 Udp数据包恢复方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN103780352B (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
US7447980B2 (en) Error detection and correction in data transmission packets
US8046658B2 (en) Method and device for decoding blocks encoded with an LDPC code
US9985657B2 (en) Memory control module and control method
CN102164026A (zh) 基于深空通信环境下的喷泉码编译方法
CN103780352A (zh) Rsfec解码算法的解码性能优化方法
CN101310447B (zh) 用于mpe-fec帧解码的存储效率擦除信息表
WO2016179743A1 (zh) 一种编码装置及方法
EP2873183B1 (en) Apparatus and method for transmitting/receiving packet in broadcasting and communication system
US9059735B2 (en) Decoding method and decoding device
CN103220007B (zh) 一种自适应调整子码不可靠位数的tpc迭代译码算法
CN111030780A (zh) 一种可配置并行比特分组交织器及交织方法
US11973517B2 (en) Reconfigurable FEC
WO2008028419A1 (fr) Procédé et système d'entrelacement/désentrelacement dans un système de communication
TW200833127A (en) DVB-H system and method for performing forward error correction
US9621907B2 (en) System and method for transcoding data
CN105656491A (zh) 一种多码率二元qc-ldpc码译码器及译码方法
CN101588222A (zh) 具有纠错处理功能的通讯适配器及其应用
CN104021100A (zh) 一种单片机串口接收数据的处理方法
CN103986476A (zh) 一种用于二维图形码的级联纠错编码方法和装置
CN111181572A (zh) Ldpc码字的交织映射方法及解交织解映射方法
CN109495210B (zh) 用于在无线通信系统中交织数据的方法、设备和计算机可读存储介质
TWI500271B (zh) 結合qam調變之rs碼步階解碼方法
KR20230134341A (ko) 저지연 연쇄형 fec 장치 및 방법
CN104579368A (zh) 一种信道纠错码rs码解关键方程电路
CN116418458A (zh) 一种适用于短距离高速光纤通信系统的联合编码调制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant