CN101359981A - 一种数据包冗余编解码的方法、装置及系统 - Google Patents
一种数据包冗余编解码的方法、装置及系统 Download PDFInfo
- Publication number
- CN101359981A CN101359981A CNA2008102232313A CN200810223231A CN101359981A CN 101359981 A CN101359981 A CN 101359981A CN A2008102232313 A CNA2008102232313 A CN A2008102232313A CN 200810223231 A CN200810223231 A CN 200810223231A CN 101359981 A CN101359981 A CN 101359981A
- Authority
- CN
- China
- Prior art keywords
- xor
- data packets
- raw data
- contract
- project
- 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
Links
Images
Abstract
本发明公开了一种数据包冗余编解码的方法、装置及系统,为了解决在通信过程中丢失2个数据包则可能导致数据恢复概率较低的问题,该方法包括:将原始数据分成多个长度相同的原始数据包;将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2;对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大,正是由于原始数据包进行异或运算的次数不小于2,丢失其中任意2个数据包,在接收端能恢复的概率被提高。
Description
技术领域
本发明属于数据通信技术领域,特别涉及一种数据包冗余编解码的方法、装置及系统。
背景技术
在Internet上用分组传送实时数据的质量不够好的一个重要原因是比较高的丢包率。尤其在广域网中,这个问题相当突出。同时实时多媒体业务(如QQ视频聊天)对于延时的要求相当严格,因此不大可能通过重传来解决丢包的问题。正是出于这个原因,大家提出用前向纠错(FEC)来解决Internet上的丢包问题,现有的FEC方案是,对多个长度相同的原始数据包P如:P1、P2、P3、P4、P5、P6、P7、P8后增加一个、两个或三个冗余数据包R,增加一个异或数据包(该异或数据包也就是冗余数据包,该异或数据包的长度和原始数据包的长度相同)R的方案为:P1、P2、P3、P4、P5、P6、P7和P8相互之间进行异或操作,即R=P1异或P2异或P3异或P4异或P5异或P6异或P7异或P8,这样发送包括P1、P2、P3、P4、P5、P6、P7、P8和R的发包组合来解决发送多个原始数据包P1、P2、P3、P4、P5、P6、P7和P8时丢包的问题,因为如果在传输过程中,丢失了其中的任意一个原始数据包如P1,在接收端可以通过剩余的原始数据包(P2、P3、P4、P5、P6、P7和P8)和异或数据包R进行异或操作恢复原始数据包P1。对于两个冗余数据包的方案和一个冗余数据包的方案类似,不同之处在于,将P1、P2、P3、P4、P5、P6、P7和P8分成两组,组1为:P1、P3、P5、和P7,组2为:P2、P4、P6、和P8,对组1和组2分别增加一个相应的异或数据包。对于三个冗余数据包R的方案也类似,不同之处在于,将P1、P2、P3、P4、P5、P6、P7和P8分成三组,组1为:P1、P3和P5,组2为:P2、P4和P6,组3为:P7和P8,每组后增加相应的异或数据包。
对于增加一个冗余包R的方案,若传输时丢失2个原始数据包(如丢失P1、P2),或1个原始数据包(如丢失P1)和冗余数据包R,则无法恢复。同样,可见对于增加两个冗余包的方案,虽然不同组中分别丢失一个原始数据包后(如丢失P1、P2),仍能恢复,但若组1中丢失原始数据包P1和对应的异或包,或组2中丢失原始数据包P2和原始数据包P4,则数据无法恢复。对于三个冗余数据包R的方案,但若组1中丢失原始数据包P3和对应的异或包,或组2中丢失原始数据包P2和原始数据包P4,或组3中丢失原始数据包P7和原始数据包P8则数据无法恢复,可见现有分组数据传输FEC编码方案中,存在通信过程中丢失2个数据包后原始数据无法恢复的概率较高。
发明内容
为了解决在现有分组数据传输FEC编码方案中,存在通信过程中丢失2个数据包后数据无法恢复的概率较高的问题,本发明实施例提供了一种数据包冗余编解码的方法,包括:
将原始数据分成多个长度相同的原始数据包;
将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2;
对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大。
同时本发明实施例还提供一种数据通信抵抗丢包的方法,包括:
将原始数据分成多个长度相同的原始数据包;
将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2;
对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大;
发送所述的发包组合;
将接收到的发包组合中的异或数据包和原始数据包,通过相互之间的异或运算还原为原始数据。
同时本发明实施例还提供一种数据包冗余编码的装置,包括:
分包模块:用于将原始数据分成多个长度相同的原始数据包;
编码模块:用于将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2,对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大。
同时本发明实施例还提供一种抵抗丢包的数据通信系统,包括:
分包模块:用于将原始数据分成多个长度相同的原始数据包;
编码模块:用于将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2,对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大;
发送模块:用于发送所述发包组合;
接收模块:用于接收所述发包组合;
解码模块:用于将接收到的发包组合中的异或数据包和原始数据包,通过相互之间的异或运算还原为原始数据。
由上述本发明提供的具体实施方案可以看出,正是由于任意一个原始数据包进行异或运算的次数不小于二,使得任一原始数据包加上通过该原始数据包生成的异或数据包的个数等于3,这样即使同时丢失其中的2个,还可以通过另一个数据包恢复出该原始数据包,因此提高了原始数据恢复的概率。
附图说明
图1为本发明提供的第一实施例方法流程图;
图2为本发明提供的第二实施例装置结构图;
图3为本发明提供的第三实施例系统结构图。
具体实施方式
本发明提供的第一实施例是一种数据包冗余编解码的方法,该方法流程图如图1所示,以视频通信中的I帧(帧内编码帧)在网络中进行分组传输为例,同样也适用于视频通信中的P帧(帧间预测帧)或图像传输等数据传输。
该方法包括:
步骤102:将接收的一帧I帧(即原始数据,同样可以是P帧)进行分包处理,获取多个长度相同的原始数据包P1、P2、P3和P4。
这里P1、P2、P3和P4只代表不同的原始数据包,而不表示获取的顺序。
如将一帧长度为4000Bytes的I帧分成4个长度为1000Bytes的原始数据包P1、P2、P3和P4(若I帧长度为4003Bytes,则增加一个0变成长度为4004Bytes,将4004Bytes的I帧分成4个长度为1001Bytes的原始数据包)。
步骤104:P1、P2、P3和P4之间进行异或运算生成异或数据包R1、R2、R3和R4,其中R1=(P3异或P4),R2=(P1异或P4),R3=(P2异或P4),R4=(P1异或P2异或P3)。
步骤106:得到发包组合:P1、R1、P2、R2、P3、R3和R4。
步骤108:发送发包组合:P1、R1、P2、R2、P3、R3和R4。
步骤110:将接收到的发包组合中的异或数据包和原始数据包,通过相互之间的异或运算还原为I帧。
若传输时没有丢失异或数据包或原始数据包,则通过P2和R3相互之间进行异或运算得到P4,再将P1、P2、P3和P4还原成I帧,若传输时丢失了P1、R1,则通过P2、P3和和R4相互之间进行异或运算得到P1,通过P2和和R3相互之间进行异或运算得到P4,再将P1、P2、P3和P4还原成I帧,丢失其它任意两个数据包时,执行类似的操作,均能够得到P1、P2、P3和P4,再将P1、P2、P3和P4还原成I帧。
可见该发包组合发包组合在网络中传输时丢失其中任意2个数据包,在接收端均能恢复。
上面以4个原始数据包进行了说明,不同长度的原始数据,可以被分成个数不同的原始数据包(如将一帧长度为5000Bytes的I帧分成5个长度为1000Bytes的原始数据包P1、P2、P3、P4和P5),可采用如表1中的发包组合。
原始数据包数 | 发包组合总包数 | 发包组合 | 抗丢包性能(丢包数:可恢复比例) |
3 | 6 | 1,23,2,13,3,12 | 2:100%;3:75% |
4 | 7 | 1,34,2,14,3,24,123或1,2,123,3,134,124,4 | 2:100%;3:80% |
5 | 8 | 1,34,2,45,3,124,235,15 | 2:约96%;3:73% |
6 | 9 | 236,1,345,2,146,3,125,4,56 | 2:100%;3:86% |
7 | 10 | 1,2,3,4,345,246,17,156,257,367 | 2:100%; |
8 | 11 | 1,2,3,4,157,258,267,168,345,46,378 | 2:100%; |
9 | 12 | 1,2,3,4,458,259,268,169,178,379,356,47 | 2:100%; |
10 | 13 | 1,2,3,4,5,6,137,148,259,26a,379,47a,58a,689或1,2,3,4,156,258,35a,267,369,178,47a,489,9a | 2:100%; |
表1
为了表述方便,以原始数据包数为4,发包组合总包数为7,组合方式为1,34,2,14,3,24,对表1进行说明,为了表述方便其中的组合方式中的“1”表示P1,“34”表示P3异或P4即R1,“2”表示P2,“14”表示P1异或P4即R2,“3”表示P3,“24”表示P2异或P4即R3,“123”表示P1异或P2异或P3即R4。抗丢包性能(丢包数:可恢复比例)中,的“2”表示丢失2个包,“100%”表示可恢复比例,既该发包组合在丢失2个包的情况下,可100%的恢复所有的原始数据包。
通过表1可知,采用本发明实施例的发包组合,在网络中传输时丢失其中任意2个数据包,在接收端均能最大概率恢复。
通过对表1中的发包组合进行分析可知,由于任意一个原始数据包进行异或运算的次数不小于二,各发包组合中任意一个原始数据包加上通过该原始数据包生成的异或数据包的个数等于三。比如原始数据包为3的发包组合“1,23,2,13,3,12”,其中“1”(表示的原始数据包P1),以及通过“1”得到的“13”(表示的P1异或P3),“12”(表示的P1异或P2),一共是3个数据包,这样就能保证在传输时丢失其中的任意2个时,还可以剩余这3个数据包中的1个,剩余的数据包若是原始数据包P1(丢失“1,23,2,13,3,12”中的“13”和“12”即丢失2个数据包后的发包组合为:“1,23,2,3”)则接收端可直接使用。剩余的数据包若是异或数据包“P1异或P3”(丢失“1,23,2,13,3,12”中的“1”和“12”即丢失2个数据包后的发包组合为:“23,2,13,3”)则可能通过与未丢失的原始数据包P3通过异或运算,还原出“1”。
对于组合方式为1,2,123,3,134,124,4,其中原始数据包P1与其它原始数据包进行了3次异或运算,其中“1”(表示的原始数据包P1),以及通过“1”得到的“123”(表示的P1异或P2异或P3),“134”(表示的P1异或P3异或P4),“124”(表示的P1异或P2异或P4),一共是4个数据包,这样就能保证在传输时丢失其中的任意2个时,还可以剩余这4个数据包中的2个,该组合方式在丢失任意2个数据包的情况下,接收端能恢复出原始数据的概率为100%。
通过原始数据包得到异或数据包,编码后得到包括原始数据包和异或数据包的发包组合。比如原始数据包为4,可以得到的发包组合:可以是“1,34,2,14,3,24,123”,或“1,2,123,3,134,124,4”,或“1,23,24,13,34,12,4”等其中对于“1,23,24,13,34,12,4”发包组合,当丢失“1”“4”时剩余的数据包显然无法恢复出全部的原始数据包,而对于丢失其它任意2个数据包,如:丢失“1”,“23”时,可以通过“4”和“24”异或得到“2”,通过“4”和“34”异或得到“3”,通过“3”和“13”异或得到“1”,丢失其它任意2个数据包情况类似,可见丢失2个数据包的情况下,抗丢包性能约为95%,即丢失2个数据包的可能为7个数据包中选2个共21种可能,只有丢失“1”“4”这一种情况下才无法恢复。因此,为了保证抗丢包的性能,选用的发包组合为在冗余相同的情况下,丢失任意2个数据包后,剩余的数据包通过相互异或运算能够最大概率恢复全部原始数据包的发包组合,对于“1,34,2,14,3,24,123”,“1,2,123,3,134,124,4”,“1,23,24,13,34,12,4”的发包组合选用“1,34,2,14,3,24,123”,或“1,2,123,3,134,124,4”,保证在网络中传输时丢失其中任意2个数据包,在接收端能恢复出原始数据的概率最大。
表1中只给出了部分发包组合,以说明本发明,但不限于上述表中的发包组合。
本发明第二实施例是一种数据包冗余编解码的装置,图2所示包括:
分包模块202:用于将原始数据分成多个长度相同的原始数据包;
编码模块204:用于将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2,对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大。
进一步,分包模块202:还用于将原始数据被分成原始数据包P1、P2和P3;
编码模块204:还用于编码后得到发包组合:P1、P2异或P3、P2、P1异或P3、P3、P1异或P2。
进一步,分包模块202:还用于将原始数据被分成原始数据包P1、P2、P3和P4;
编码模块204:还用于编码后得到的发包组合为:P1、P3异或P4、P2、P1异或P4、P3、P2异或P4、P1异或P2异或P3,或
P1、P2、P1异或P2异或P3、P3、P1异或P3异或P4、P1异或P2异或P4、P4。
进一步,分包模块202:还用于将原始数据被分成原始数据包P1、P2、P3、P4和P5;
编码模块204:还用于编码后得到的发包组合为:P1、P3异或P4、P2、P4异或P5、P3、P1异或P2异或P4、P2异或P3异或P5、P1异或P5。
进一步,分包模块202:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5和P6;
编码模块204:还用于编码后得到的发包组合为:P2异或P3异或P6、P1、P3异或P4异或P5、P2、P1异或P4异或P6、P3、P1异或P2异或P5、P4、P5异或P6。
进一步,分包模块202:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5、P6和P7;
编码模块204:还用于编码后得到的发包组合为:P1、P2、P3、P4、P3异或P4异或P5、P2异或P4异或P6、P1异或P7、P1异或P5异或P6、P2异或P5异或P7、P3异或P6异或P7。
进一步,分包模块202:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5、P6、P7和P8;
编码模块204:还用于编码后得到的发包组合为:P1、P2、P3、P4、P1异或P5异或P7、P2异或P5异或P8、P2异或P6异或P7、P1异或P6异或P8、P3异或P4异或P5、P4异或P6、P3异或P7异或P8。
进一步,分包模块202:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5、P6、P7、P8和P9;
编码模块204:还用于编码后得到的发包组合为:P1、P2、P3、P4、P4异或P5异或P8、P2异或P5异或P9、P2异或P6异或P8、P1异或P6异或P9、P1异或P7异或P8、P3异或P7异或P9、P3异或P5异或P6、P4异或P7。
进一步,分包模块202:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5、P6、P7、P8、P9和Pa;
编码模块204:还用于编码后得到的发包组合为:P1、P2、P3、P4、P5、P6、P1异或P3异或P7、P1异或P4异或P8、P2异或P5异或P9、P2异或P6异或Pa、P3异或P7异或P9、P4异或P7异或Pa、P5异或P8异或Pa、P6异或P8异或P9或P1、P2、P3、P4、P1异或P5异或P6、P2异或P5异或P8、P3异或P5异或Pa、P2异或P6异或P7、P3异或P6异或P9、P1异或P7异或P8、P4异或P7异或Pa、P4异或P8异或P9、P9异或Pa。
进一步,分包模块202:还用于将一帧内编码帧分成多个长度相同的原始数据包。
进一步,分包模块202:还用于将一帧帧间预测帧分成多个长度相同的原始数据包。
本发明第三实施例是一种抵抗丢包的数据通信系统,图3所示包括:
分包模块202:用于将原始数据分成多个长度相同的原始数据包;
编码模块204:用于将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2,对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大;
发送模块206:用于发送所述发包组合;
接收模块208:用于接收所述发包组合;
解码模块210:用于将接收到的发包组合中的异或数据包和原始数据包,通过相互之间的异或运算还原为原始数据。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (25)
1、一种数据包冗余编码的方法,其特征在于,包括:
将原始数据分成多个长度相同的原始数据包;
将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2;
对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大。
2、如权利要求1所述的方法,其特征在于,所述冗余数为3。
3、如权利要求1所述的方法,其特征在于,所述原始数据被分成原始数据包P1、P2和P3,编码后得到的发包组合为:P1、P2异或P3、P2、P1异或P3、P3、P1异或P2。
4、如权利要求1所述的方法,其特征在于,所述原始数据被分成原始数据包P1、P2、P3和P4,编码后得到的发包组合为:P1、P3异或P4、P2、P1异或P4、P3、P2异或P4、P1异或P2异或P3,或
P1、P2、P1异或P2异或P3、P3、P1异或P3异或P4、P1异或P2异或P4、P4。
5、如权利要求1所述的方法,其特征在于,所述原始数据被分成原始数据包P1、P2、P3、P4和P5,编码后得到的发包组合为:P1、P3异或P4、P2、P4异或P5、P3、P1异或P2异或P4、P2异或P3异或P5、P1异或P5。
6、如权利要求1所述的方法,其特征在于,所述原始数据被分成原始数据包P1、P2、P3、P4、P5和P6,编码后得到的发包组合为:P2异或P3异或P6、P1、P3异或P4异或P5、P2、P1异或P4异或P6、P3、P1异或P2异或P5、P4、P5异或P6。
7、如权利要求1所述的方法,其特征在于,所述原始数据被分成原始数据包P1、P2、P3、P4、P5、P6和P7,编码后得到的发包组合为:P1、P2、P3、P4、P3异或P4异或P5、P2异或P4异或P6、P1异或P7、P1异或P5异或P6、P2异或P5异或P7、P3异或P6异或P7。
8、如权利要求1所述的方法,其特征在于,所述原始数据被分成原始数据包P1、P2、P3、P4、P5、P6、P7和P8,编码后得到的发包组合为:P1、P2、P3、P4、P1异或P5异或P7、P2异或P5异或P8、P2异或P6异或P7、P1异或P6异或P8、P3异或P4异或P5、P4异或P6、P3异或P7异或P8。
9、如权利要求1所述的方法,其特征在于,所述原始数据被分成原始数据包P1、P2、P3、P4、P5、P6、P7、P8和P9,编码后得到的发包组合为:P1、P2、P3、P4、P4异或P5异或P8、P2异或P5异或P9、P2异或P6异或P8、P1异或P6异或P9、P1异或P7异或P8、P3异或P7异或P9、P3异或P5异或P6、P4异或P7。
10、如权利要求1所述的方法,其特征在于,所述原始数据被分成原始数据包P1、P2、P3、P4、P5、P6、P7、P8、P9和Pa,编码后得到的发包组合为:P1、P2、P3、P4、P5、P6、P1异或P3异或P7、P1异或P4异或P8、P2异或P5异或P9、P2异或P6异或Pa、P3异或P7异或P9、P4异或P7异或Pa、P5异或P8异或Pa、P6异或P8异或P9或P1、P2、P3、P4、P1异或P5异或P6、P2异或P5异或P8、P3异或P5异或Pa、P2异或P6异或P7、P3异或P6异或P9、P1异或P7异或P8、P4异或P7异或Pa、P4异或P8异或P9、P9异或Pa。
11、如权利要求1所述的方法,其特征在于,所述原始数据为一帧内编码帧。
12、如权利要求1所述的方法,其特征在于,所述原始数据为一帧帧间预测帧。
13、一种数据通信抵抗丢包的方法,其特征在于,包括:
将原始数据分成多个长度相同的原始数据包;
将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2;
对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大;
发送所述的发包组合;
将接收到的发包组合中的异或数据包和原始数据包,通过相互之间的异或运算还原为原始数据。
14、一种数据包冗余编码的装置,其特征在于,包括:
分包模块:用于将原始数据分成多个长度相同的原始数据包;
编码模块:用于将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2,对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大。
15、如权利要求14所述的装置,其特征在于,分包模块:还用于将原始数据被分成原始数据包P1、P2和P3;
编码模块:还用于编码后得到发包组合:P1、P2异或P3、P2、P1异或P3、P3、P1异或P2。
16、如权利要求14所述的装置,其特征在于,分包模块:还用于将原始数据被分成原始数据包P1、P2、P3和P4;
编码模块:还用于编码后得到的发包组合为:P1、P3异或P4、P2、P1异或P4、P3、P2异或P4、P1异或P2异或P3。
17、如权利要求14所述的装置,其特征在于,分包模块:还用于将原始数据被分成原始数据包P1、P2、P3、P4和P5;
编码模块:还用于编码后得到的发包组合为:P1、P3异或P4、P2、P4异或P5、P3、P1异或P2异或P4、P2异或P3异或P5、P1异或P5。
18、如权利要求14所述的装置,其特征在于,分包模块:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5和P6;
编码模块:还用于编码后得到的发包组合为:P2异或P3异或P6、P1、P3异或P4异或P5、P2、P1异或P4异或P6、P3、P1异或P2异或P5、P4、P5异或P6。
19、如权利要求14所述的装置,其特征在于,分包模块:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5、P6和P;
编码模块:还用于编码后得到的发包组合为:P1、P2、P3、P4、P3异或P 4异或P 5、P2异或P4异或P6、P1异或P7、P1异或P5异或P6、P2异或P5异或P7、P3异或P6异或P7。
20、如权利要求14所述的装置,其特征在于,分包模块:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5、P6、P7和P8;
编码模块:还用于编码后得到的发包组合为:P1、P2、P3、P4、P1异或P5异或P7、P2异或P5异或P8、P2异或P6异或P7、P1异或P6异或P8、P3异或P4异或P5、P4异或P6、P3异或P7异或P8。
21、如权利要求14所述的装置,其特征在于,分包模块:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5、P6、P7、P8和P9;
编码模块:还用于编码后得到的发包组合为:P1、P2、P3、P4、P4异或P5异或P8、P2异或P5异或P9、P2异或P6异或P8、P1异或P6异或P9、P1异或P7异或P8、P3异或P7异或P9、P3异或P5异或P6、P4异或P7。
22、如权利要求14所述的装置,其特征在于,分包模块:还用于将原始数据被分成原始数据包P1、P2、P3、P4、P5、P6、P7、P8、P9和Pa;
编码模块:还用于编码后得到的发包组合为:P1、P2、P3、P4、P5、P6、P1异或P3异或P7、P1异或P4异或P8、P2异或P5异或P9、P2异或P6异或Pa、P3异或P7异或P9、P4异或P7异或Pa、P5异或P8异或Pa、P6异或P8异或P9或P1、P2、P3、P4、P1异或P5异或P6、P2异或P5异或P8、P3异或P5异或Pa、P2异或P6异或P7、P3异或P6异或P9、P1异或P7异或P8、P4异或P7异或Pa、P4异或P8异或P9、P9异或Pa。
23、如权利要求14所述的装置,其特征在于,
分包模块:还用于将一帧内编码帧分成多个长度相同的原始数据包。
24、如权利要求14所述的装置,其特征在于,
分包模块:还用于将一帧帧间预测帧分成多个长度相同的原始数据包。
25、一种抵抗丢包的数据通信系统,其特征在于,包括:
分包模块:用于将原始数据分成多个长度相同的原始数据包;
编码模块:将原始数据包与原始数据进行异或运算生成异或数据包,其中任意一个原始数据包进行异或运算的次数不小于2,对原始数据包和异或数据编码,得到包括原始数据包和异或数据包的发包组合,其中,在冗余相同的情况下,丢失任意2个数据包后所述发包组合用剩余的数据包进行相互异或运算恢复出全部原始数据包的概率最大;
发送模块:用于发送所述发包组合;
接收模块:用于接收所述发包组合;
解码模块:用于将接收到的发包组合中的异或数据包和原始数据包,通过相互之间的异或运算还原为原始数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102232313A CN101359981B (zh) | 2008-09-27 | 2008-09-27 | 一种数据包冗余编解码的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102232313A CN101359981B (zh) | 2008-09-27 | 2008-09-27 | 一种数据包冗余编解码的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101359981A true CN101359981A (zh) | 2009-02-04 |
CN101359981B CN101359981B (zh) | 2011-05-11 |
Family
ID=40332332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102232313A Active CN101359981B (zh) | 2008-09-27 | 2008-09-27 | 一种数据包冗余编解码的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101359981B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420668A (zh) * | 2010-09-28 | 2012-04-18 | 国基电子(上海)有限公司 | 调制解调器及其处理封包的方法 |
CN102428697A (zh) * | 2009-03-23 | 2012-04-25 | 生命力有限公司 | 用于将前向纠错与视频压缩一起使用的系统和方法 |
CN102595144A (zh) * | 2011-12-27 | 2012-07-18 | 李宗霖 | 一种媒体流的修复方法 |
CN103368865A (zh) * | 2012-04-09 | 2013-10-23 | 深圳大学 | 基于多网络访问接口的自适应通信方法及系统 |
CN104410927A (zh) * | 2014-11-27 | 2015-03-11 | 江苏辰汉电子科技有限公司 | 删除信道中视频传输丢包低冗余度补偿方法 |
CN102055572B (zh) * | 2009-11-06 | 2015-06-03 | 中兴通讯股份有限公司 | 数据重传方法及装置 |
CN105187159A (zh) * | 2015-09-07 | 2015-12-23 | 香港中文大学深圳研究院 | 一种用于代数交换引擎数据包分组重组的解码方法 |
CN105187160A (zh) * | 2015-09-07 | 2015-12-23 | 香港中文大学深圳研究院 | 一种用于代数交换引擎数据包分组重组的编码方法 |
WO2015196551A1 (zh) * | 2014-06-23 | 2015-12-30 | 中兴通讯股份有限公司 | 数据发送方法及装置 |
CN105963963A (zh) * | 2016-05-11 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 一种数据处理方法以及装置 |
CN106937134A (zh) * | 2015-12-31 | 2017-07-07 | 深圳市潮流网络技术有限公司 | 一种数据传输的编码方法、编码发送装置及系统 |
CN107104760A (zh) * | 2017-04-13 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 一种传输数据包的方法、客户端以及服务器 |
CN107257265A (zh) * | 2017-04-27 | 2017-10-17 | 深圳市鹏创软件有限公司 | 实时传输数据流前向纠错方法、设备及存储介质 |
CN108809517A (zh) * | 2018-05-22 | 2018-11-13 | 泰康保险集团股份有限公司 | 一种区块链网络中的信息获取方法及装置 |
CN109240858A (zh) * | 2018-09-28 | 2019-01-18 | 北京金山安全软件有限公司 | 一种数据恢复方法、装置、数字钱包设备及可读存储介质 |
CN114584847A (zh) * | 2022-02-22 | 2022-06-03 | 广州广哈通信股份有限公司 | 一种数据传输方法 |
CN114865797A (zh) * | 2022-07-05 | 2022-08-05 | 湖南湘联电缆有限公司 | 一种供电通信检测一体化配电装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8964830B2 (en) | 2002-12-10 | 2015-02-24 | Ol2, Inc. | System and method for multi-stream video compression using multiple encoding formats |
US9314691B2 (en) | 2002-12-10 | 2016-04-19 | Sony Computer Entertainment America Llc | System and method for compressing video frames or portions thereof based on feedback information from a client device |
US9192859B2 (en) | 2002-12-10 | 2015-11-24 | Sony Computer Entertainment America Llc | System and method for compressing video based on latency measurements and other feedback |
US9061207B2 (en) | 2002-12-10 | 2015-06-23 | Sony Computer Entertainment America Llc | Temporary decoder apparatus and method |
US9138644B2 (en) | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7945729B2 (en) * | 2004-11-24 | 2011-05-17 | International Business Machines Corporation | System and method for tolerating multiple storage device failures in a storage system using horizontal and vertical parity layouts |
JP2007299088A (ja) * | 2006-04-28 | 2007-11-15 | Fujitsu Ltd | データ保護システム、方法及びプログラム |
CN100571217C (zh) * | 2007-09-19 | 2009-12-16 | 腾讯科技(深圳)有限公司 | 一种在数据传输过程中抵抗丢包的方法、收发装置及系统 |
-
2008
- 2008-09-27 CN CN2008102232313A patent/CN101359981B/zh active Active
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102428697A (zh) * | 2009-03-23 | 2012-04-25 | 生命力有限公司 | 用于将前向纠错与视频压缩一起使用的系统和方法 |
CN102428697B (zh) * | 2009-03-23 | 2015-07-08 | 索尼电脑娱乐美国公司 | 用于将前向纠错与视频压缩一起使用的系统和方法 |
CN102055572B (zh) * | 2009-11-06 | 2015-06-03 | 中兴通讯股份有限公司 | 数据重传方法及装置 |
CN102420668A (zh) * | 2010-09-28 | 2012-04-18 | 国基电子(上海)有限公司 | 调制解调器及其处理封包的方法 |
CN102595144A (zh) * | 2011-12-27 | 2012-07-18 | 李宗霖 | 一种媒体流的修复方法 |
CN103368865A (zh) * | 2012-04-09 | 2013-10-23 | 深圳大学 | 基于多网络访问接口的自适应通信方法及系统 |
CN103368865B (zh) * | 2012-04-09 | 2016-06-29 | 深圳大学 | 基于多网络访问接口的自适应通信方法及系统 |
WO2015196551A1 (zh) * | 2014-06-23 | 2015-12-30 | 中兴通讯股份有限公司 | 数据发送方法及装置 |
US10084569B2 (en) | 2014-06-23 | 2018-09-25 | Zte Corporation | Data sending method and apparatus |
CN104410927A (zh) * | 2014-11-27 | 2015-03-11 | 江苏辰汉电子科技有限公司 | 删除信道中视频传输丢包低冗余度补偿方法 |
CN105187159A (zh) * | 2015-09-07 | 2015-12-23 | 香港中文大学深圳研究院 | 一种用于代数交换引擎数据包分组重组的解码方法 |
CN105187160A (zh) * | 2015-09-07 | 2015-12-23 | 香港中文大学深圳研究院 | 一种用于代数交换引擎数据包分组重组的编码方法 |
CN106937134A (zh) * | 2015-12-31 | 2017-07-07 | 深圳市潮流网络技术有限公司 | 一种数据传输的编码方法、编码发送装置及系统 |
CN106937134B (zh) * | 2015-12-31 | 2021-03-02 | 深圳市潮流网络技术有限公司 | 一种数据传输的编码方法、编码发送装置及系统 |
CN105963963A (zh) * | 2016-05-11 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 一种数据处理方法以及装置 |
CN105963963B (zh) * | 2016-05-11 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法以及装置 |
CN107104760A (zh) * | 2017-04-13 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 一种传输数据包的方法、客户端以及服务器 |
CN107257265A (zh) * | 2017-04-27 | 2017-10-17 | 深圳市鹏创软件有限公司 | 实时传输数据流前向纠错方法、设备及存储介质 |
CN107257265B (zh) * | 2017-04-27 | 2019-09-20 | 深圳市鹏创软件有限公司 | 实时传输数据流前向纠错方法、系统、装置及存储介质 |
CN108809517A (zh) * | 2018-05-22 | 2018-11-13 | 泰康保险集团股份有限公司 | 一种区块链网络中的信息获取方法及装置 |
CN109240858A (zh) * | 2018-09-28 | 2019-01-18 | 北京金山安全软件有限公司 | 一种数据恢复方法、装置、数字钱包设备及可读存储介质 |
CN114584847A (zh) * | 2022-02-22 | 2022-06-03 | 广州广哈通信股份有限公司 | 一种数据传输方法 |
CN114584847B (zh) * | 2022-02-22 | 2023-11-28 | 广州广哈通信股份有限公司 | 一种数据传输方法 |
CN114865797A (zh) * | 2022-07-05 | 2022-08-05 | 湖南湘联电缆有限公司 | 一种供电通信检测一体化配电装置 |
CN114865797B (zh) * | 2022-07-05 | 2022-09-20 | 湖南湘联电缆有限公司 | 一种供电通信检测一体化配电装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101359981B (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101359981B (zh) | 一种数据包冗余编解码的方法、装置及系统 | |
CN102638331B (zh) | 基于随机线性网络编码的无线可靠广播方法 | |
CN101350699B (zh) | 一种基于增量喷泉的信息分发方法 | |
CN101938334B (zh) | 随机网络编码和自动重传请求联合的自适应差错控制方法 | |
MX2014010252A (es) | Aparato de transmision/recepcion de paquete y metodo que utiliza esquema de correccion de error anticipada. | |
CN100568744C (zh) | 一种卷积码速率匹配的方法和装置 | |
CN110943800A (zh) | 数据包的发送方法、装置及系统、存储介质、电子装置 | |
CN101286819B (zh) | 一种数据接收方法及装置 | |
CN102804661A (zh) | 通信系统中的对象的块聚合 | |
CN106603192A (zh) | 一种基于媒体内容的自适应fec机制 | |
CN103931105A (zh) | 在多媒体通信系统中发送和接收准循环低密度奇偶校验码的装置及方法 | |
CN104104727B (zh) | 一种基于Raptor码的大文件传输方法 | |
CN106170934A (zh) | 无线前传无源光网络pon系统、光网络设备及方法 | |
CN101917625A (zh) | 一种基于联合信源-网络编码的可分级视频流传输方法 | |
CN103716134B (zh) | 一次反馈条件下度渐增的喷泉码的编码方法 | |
Li et al. | N-in-1 retransmission with network coding | |
JP2012222809A (ja) | データフレームの再送信減少方法及びこのための受信ノード | |
CN111935485A (zh) | 一种rs码前向纠错方法及装置 | |
CN110191248A (zh) | 一种基于反馈的Bats Code的无人机图像传输方法 | |
CN102065289B (zh) | 基于网络编码的可靠性视频传输方法及装置 | |
US9407397B2 (en) | Apparatus and method for transmitting and receiving forward error correction packet | |
CN111385058A (zh) | 一种数据传输的方法和装置 | |
KR101967884B1 (ko) | 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법 | |
JP2017513395A (ja) | ブロードキャスティング及び/又は通信システムにおけるパケットの生成及び復元のための方法及び装置 | |
KR20150046700A (ko) | 오류 정정 부호를 사용하는 통신 시스템에서 패킷 송수신 기법 |
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 |