專利名稱::一種數(shù)據(jù)包冗余編解碼的方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于數(shù)據(jù)通信
技術(shù)領(lǐng)域:
,特別涉及一種數(shù)據(jù)包冗余編解碼的方法、裝置及系統(tǒng)。
背景技術(shù):
:在Internet上用分組傳送實(shí)時(shí)數(shù)據(jù)的質(zhì)量不夠好的一個(gè)重要原因是比較高的丟包率。尤其在廣域網(wǎng)中,這個(gè)問題相當(dāng)突出。同時(shí)實(shí)時(shí)多媒體業(yè)務(wù)(如QQ視頻聊天)對于延時(shí)的要求相當(dāng)嚴(yán)格,因此不大可能通過重傳來解決丟包的問題。正是出于這個(gè)原因,大家提出用前向糾錯(cuò)(FEC)來解決Intemet上的丟包問題,現(xiàn)有的FEC方案是,對多個(gè)長度相同的原始數(shù)據(jù)包P如Pl、P2、P3、P4、P5、P6、P7、P8后i曾力口一個(gè)、兩個(gè)或三個(gè)冗余it才居包R,土曾力口一個(gè)異或數(shù)據(jù)包(該異或數(shù)據(jù)包也就是冗余數(shù)據(jù)包,該異或數(shù)據(jù)包的長度和原始數(shù)據(jù)包的長度相同)R的方案為Pl、P2、P3、P4、P5、P6、P7和P8相互之間進(jìn)行異或4喿作,即R=Pl異或P2異或P3異或P4異或P5異或P6異或P7異或P8,這才羊發(fā)送包才舌P1、P2、P3、P4、P5、P6、P7、P8和R的發(fā)包纟且合來解決發(fā)送多個(gè)原始數(shù)據(jù)包P1、P2、P3、P4、P5、P6、P7和P8時(shí)丟包的問題,因?yàn)槿绻趥鬏斶^程中,丟失了其中的任意一個(gè)原始數(shù)據(jù)包如P1,在接收端可以通過剩余的原始數(shù)據(jù)包(P2、P3、P4、P5、P6、P7和P8)和異或數(shù)據(jù)包R進(jìn)行異或操作恢復(fù)原始數(shù)據(jù)包Pl。對于兩個(gè)冗余數(shù)據(jù)包的方案和一個(gè)冗余數(shù)據(jù)包的方案類似,不同之處在于,將P1、P2、P3、P4、P5、P6、P7和P8分成兩組,組l為Pl、P3、P5、和P7,組2為P2、P4、P6、和P8,對組1和組2分別增加一個(gè)相應(yīng)的異或數(shù)據(jù)包。對于三個(gè)冗余數(shù)據(jù)包R的方案也類似,不同之處在于,將P1、P2、P3、P4、P5、P6、P7和P8分成三組,組l為Pl、P3和P5,組2為P2、P4和P6,組3為P7和P8,每組后增加相應(yīng)的異或數(shù)據(jù)包。對于增加一個(gè)冗余包R的方案,若傳輸時(shí)丟失2個(gè)原始數(shù)據(jù)包(如丟失Pl、P2),或l個(gè)原始數(shù)據(jù)包(如丟失P1)和冗余數(shù)據(jù)包R,則無法恢復(fù)。同樣,可見對于增加兩個(gè)冗余包的方案,雖然不同組中分別丟失一個(gè)原始數(shù)據(jù)包后(如丟失P1、P2),仍能恢復(fù),但若組1中丟失原始數(shù)據(jù)包P1和對應(yīng)的異或包,或組2中丟失原始數(shù)據(jù)包P2和原始數(shù)據(jù)包P4,則數(shù)據(jù)無法恢復(fù)。對于三個(gè)冗余數(shù)據(jù)包R的方案,但若組l中丟失原始數(shù)據(jù)包P3和對應(yīng)的異或包,或組2中丟失原始數(shù)據(jù)包P2和原始數(shù)據(jù)包P4,或組3中丟失原始數(shù)據(jù)包P7和原始數(shù)據(jù)包P8則數(shù)據(jù)無法恢復(fù),可見現(xiàn)有分組數(shù)據(jù)傳輸FEC編碼方案中,存在通信過程中丟失2個(gè)數(shù)據(jù)包后原始數(shù)據(jù)無法恢復(fù)的概率較高。
發(fā)明內(nèi)容為了解決在現(xiàn)有分組數(shù)據(jù)傳輸FEC編碼方案中,存在通信過程中丟失2個(gè)數(shù)據(jù)包后數(shù)據(jù)無法恢復(fù)的概率較高的問題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)包冗余編解碼的方法,包括將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2;對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大。同時(shí)本發(fā)明實(shí)施例還提供一種數(shù)據(jù)通信抵抗丟包的方法,包括將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2;對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大;發(fā)送所述的發(fā)包組合;將接收到的發(fā)包組合中的異或數(shù)據(jù)包和原始數(shù)據(jù)包,通過相互之間的異或運(yùn)算還原為原始數(shù)據(jù)。同時(shí)本發(fā)明實(shí)施例還提供一種數(shù)據(jù)包冗余編碼的裝置,包括分包模塊用于將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;編碼模塊用于將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2,對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大。同時(shí)本發(fā)明實(shí)施例還提供一種抵抗丟包的數(shù)據(jù)通信系統(tǒng),包括分包模塊用于將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;編碼模塊用于將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2,對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大;發(fā)送模塊用于發(fā)送所述發(fā)包組合;接收模塊用于接收所述發(fā)包組合;解碼模塊用于將接收到的發(fā)包組合中的異或數(shù)據(jù)包和原始數(shù)據(jù)包,通過相互之間的異或運(yùn)算還原為原始數(shù)據(jù)。由上述本發(fā)明提供的具體實(shí)施方案可以看出,正是由于任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于二,使得任一原始數(shù)據(jù)包加上通過該原始數(shù)據(jù)包生成的異或數(shù)據(jù)包的個(gè)數(shù)等于3,這樣即使同時(shí)丟失其中的2個(gè),還可以通過另一個(gè)數(shù)據(jù)包恢復(fù)出該原始數(shù)據(jù)包,因此提高了原始數(shù)據(jù)恢復(fù)的概率。圖1為本發(fā)明提供的第一實(shí)施例方法流程圖;圖2為本發(fā)明提供的第二實(shí)施例裝置結(jié)構(gòu)圖;圖3為本發(fā)明提供的第三實(shí)施例系統(tǒng)結(jié)構(gòu)圖。具體實(shí)施例方式本發(fā)明提供的第一實(shí)施例是一種數(shù)據(jù)包冗余編解碼的方法,該方法流程圖如圖1所示,以視頻通信中的I幀(幀內(nèi)編碼幀)在網(wǎng)絡(luò)中進(jìn)行分組傳輸為例,同樣也適用于視頻通信中的P幀(幀間預(yù)測幀)或圖像傳輸?shù)葦?shù)據(jù)傳輸。該方法包纟舌步驟102:將接收的一幀I幀(即原始數(shù)據(jù),同樣可以是P幀)進(jìn)行分包處理,獲取多個(gè)長度相同的原始數(shù)據(jù)包P1、P2、P3和P4。這里P1、P2、P3和P4只代表不同的原始數(shù)據(jù)包,而不表示獲取的順序。如將一幀長度為4000Bytes的I幀分成4個(gè)長度為1000Bytes的原始數(shù)據(jù)包P1、P2、P3和P4(若I幀長度為4003Bytes,則增加一個(gè)0變成長度為4004Bytes,將4004Bytes的I幀分成4個(gè)長度為1001Bytes的原始數(shù)據(jù)包)。步驟104:PI、P2、P3和P4之間進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包Rl、R2、R3和R4,其中R1=(P3異或P4),R2"P1異或P4),R3-(P2異或P4),R4=(PI異或P2異或P3)。步驟106:得到發(fā)包組合Pl、Rl、P2、R2、P3、R3和R4。步驟108:發(fā)送發(fā)包組合Pl、Rl、P2、R2、P3、R3和R4。步驟110:將接收到的發(fā)包組合中的異或數(shù)據(jù)包和原始數(shù)據(jù)包,通過相互之間的異或運(yùn)算還原為I幀。若傳輸時(shí)沒有丟失異或數(shù)據(jù)包或原始數(shù)據(jù)包,則通過P2和R3相互之間進(jìn)行異或運(yùn)算得到P4,再將P1、P2、P3和P4還原成I幀,若傳輸時(shí)丟失了P1、Rl,則通過P2、P3和和R4相互之間進(jìn)行異或運(yùn)算得到Pl,通過P2和和R3相互之間進(jìn)行異或運(yùn)算得到P4,再將P1、P2、P3和P4還原成I幀,丟失其它任意兩個(gè)數(shù)據(jù)包時(shí),執(zhí)行類似的操作,均能夠得到P1、P2、P3和P4,再將Pl、P2、P3和P4還原成I幀??梢娫摪l(fā)包組合發(fā)包組合在網(wǎng)絡(luò)中傳輸時(shí)丟失其中任意2個(gè)數(shù)據(jù)包,在接收端均能恢復(fù)。上面以4個(gè)原始數(shù)據(jù)包進(jìn)行了說明,不同長度的原始數(shù)據(jù),可以被分成個(gè)數(shù)不同的原始數(shù)據(jù)包(如將一幀長度為5000Bytes的I幀分成5個(gè)長度為1000Bytes的原始數(shù)據(jù)包P1、P2、P3、P4和P5),可采用如表1中的發(fā)包組合。<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>表1為了表述方便,以原始數(shù)據(jù)包數(shù)為4,發(fā)包組合總包數(shù)為7,組合方式為1,34,2,14,3,24,對表l進(jìn)行說明,為了表述方便其中的組合方式中的"1"表示Pl,"34"表示P3異或P4即Rl,"2"表示P2,"14"表示PI異或P4即R2,"3"表示P3,"24"表示P2異或P4即R3,"123"表示P1異或P2異或P3即R4。抗丟包性能(丟包數(shù)可恢復(fù)比例)中,的"2"表示丟失2個(gè)包,"100%,,表示可恢復(fù)比例,既該發(fā)包組合在丟失2個(gè)包的情況下,可100%的恢復(fù)所有的原始數(shù)據(jù)包。通過表1可知,采用本發(fā)明實(shí)施例的發(fā)包組合,在網(wǎng)絡(luò)中傳輸時(shí)丟失其中任意2個(gè)數(shù)據(jù)包,在接收端均能最大概率恢復(fù)。通過對表l中的發(fā)包組合進(jìn)行分析可知,由于任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于二,各發(fā)包組合中任意一個(gè)原始數(shù)據(jù)包加上通過該原始數(shù)據(jù)包生成的異或數(shù)據(jù)包的個(gè)數(shù)等于三。比如原始數(shù)據(jù)包為3的發(fā)包組合"1,23,2,13,3,12",其中T(表示的原始數(shù)據(jù)包Pl),以及通過T得到的"13"(表示的P1異或P3),"12"(表示的P1異或P2),—共是3個(gè)數(shù)據(jù)包,這樣就能保證在傳輸時(shí)丟失其中的任意2個(gè)時(shí),還可以剩余這3個(gè)it據(jù)包中的1個(gè),剩余的數(shù)據(jù)包若是原始數(shù)據(jù)包P1(丟失"1,23,2,13,3,12"中的"13"和"12"即丟失2個(gè)數(shù)據(jù)包后的發(fā)包組合為"1,23,2,3")則接收端可直接使用。剩余的數(shù)據(jù)包若是異或數(shù)據(jù)包"P1異或P3"(丟失"1,23,2,13,3,12"中的T和"12"即丟失2個(gè)數(shù)據(jù)包后的發(fā)包組合為"23,2,13,3")則可能通過與未丟失的原始數(shù)據(jù)包P3通過異或運(yùn)算,還原出'T,。對于組合方式為1,2,123,3,134,124,4,其中原始數(shù)據(jù)包P1與其它原始數(shù)據(jù)包進(jìn)行了3次異或運(yùn)算,其中"r(表示的原始數(shù)據(jù)包pi),以及通過"r得到的"123"(表示的Pl異或P2異或P3),"134"(表示的Pl異或P3異或P4),"124"(表示的P1異或P2異或P4),一共是4個(gè)數(shù)據(jù)包,這樣就能保證在傳輸時(shí)丟失其中的任意2個(gè)時(shí),還可以剩余這4個(gè)數(shù)據(jù)包中的2個(gè),該組合方式在丟失任意2個(gè)數(shù)據(jù)包的情況下,接收端能恢復(fù)出原始數(shù)據(jù)的概率為100%。通過原始數(shù)據(jù)包得到異或數(shù)據(jù)包,編碼后得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合。比如原始數(shù)據(jù)包為4,可以得到的發(fā)包組合可以是"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"發(fā)包組合,當(dāng)丟失"1""4"時(shí)剩余的數(shù)據(jù)包顯然無法恢復(fù)出全部的原始數(shù)據(jù)包,而對于丟失其它任意2個(gè)數(shù)據(jù)包,如丟失T,"23"時(shí),可以通過"4"和"24"異或得到"2",通過"4"和"34"異或得到"3",通過"3"和"13"異或得到T,丟失其它任意2個(gè)數(shù)據(jù)包情況類似,可見丟失2個(gè)數(shù)據(jù)包的情況下,抗丟包性能約為95%,即丟失2個(gè)數(shù)據(jù)包的可能為7個(gè)數(shù)據(jù)包中選2個(gè)共21種可能,只有丟失'T'"4"這一種情況下才無法恢復(fù)。因此,為了保證抗丟包的性能,選用的發(fā)包組合為在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后,剩余的數(shù)據(jù)包通過相互異或運(yùn)算能夠最大概率恢復(fù)全部原始數(shù)據(jù)包的發(fā)包組合,對于"1,34,2,14,3,24,123","1,2,123,3,134,124,4","1,23,24,13,34,12,4"的發(fā)包組合選用"1,34,2,14,3,24,123",或"1,2,123,3,134,124,4",保證在網(wǎng)絡(luò)中傳輸時(shí)丟失其中任意2個(gè)數(shù)據(jù)包,在接收端能恢復(fù)出原始數(shù)據(jù)的概率最大。表l中只給出了部分發(fā)包組合,以說明本發(fā)明,但不限于上述表中的發(fā)包組合。本發(fā)明第二實(shí)施例是一種數(shù)據(jù)包冗余編解碼的裝置,圖2所示包括分包模塊202:用于將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;編碼模塊204:用于將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2,對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大。進(jìn)一步,分包模塊202:還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2和P3;編碼模塊204:還用于編碼后得到發(fā)包組合Pl、P2異或P3、P2、Pl異或P3、P3、Pl異或P2。進(jìn)一步,分包模塊202:還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2、P3和P4;編碼模塊204:還用于編碼后得到的發(fā)包組合為Pl、P3異或P4、P2、P1異或P4、P3、P2異或P4、P1異或P2異或P3,或Pl、P2、Pl異或P2異或P3、P3、Pl異或P3異或P4、P1異或P2異或P4、P4。進(jìn)一步,分包模塊202:還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2、P3、P4和P5;編碼模塊204:還用于編碼后得到的發(fā)包組合為Pl、P3異或P4、P2、P4異或P5、P3、P1異或P2異或P4、P2異或P3異或P5、P1異或P5。進(jìn)一步,分包模塊202:還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2、P3、P4、P5和P6;編碼模塊204:還用于編碼后得到的發(fā)包組合為P2異或P3異或P6、Pl、P3異或P4異或P5、P2、P1異或P4異或P6、P3、P1異或P2異或P5、P4、P5異或P6。進(jìn)一步,分包模塊202:還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2、P3、P4、P5、P6和P7;編碼模塊204:還用于編碼后得到的發(fā)包組合為Pl、P2、P3、P4、P3異或P4異或P5、P2異或P4異或P6、P1異或P7、P1異或P5異或P6、P2異或P5異或P7、P3異或P6異或P7。進(jìn)一步,分包模塊202:還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2、P3、P4、P5、P6、P7和P8j編碼4莫塊204:還用于編碼后得到的發(fā)包組合為Pl、P2、P3、P4、Pl異或P5異或P7、P2異或P5異或P8、P2異或P6異或P7、Pl異或P6異或P8、P3異或P4異或P5、P4異或P6、P3異或P7異或P8。進(jìn)一步,分包模塊202:還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2、P3、P4、P5、P6、P7、P8和P9;編碼模塊204:還用于編碼后得到的發(fā)包組合為Pl、P2、P3、P4、P4異或P5異或P8、P2異或P5異或P9、P2異或P6異或P8、Pl異或P6異或P9、P1異或P7異或P8、P3異或P7異或P9、P3異或P5異或P6、P4異或P7。進(jìn)一步,分包模塊202:還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2、P3、P4、P5、P6、P7、P8、P9和Pa;編碼模塊204:還用于編碼后得到的發(fā)包組合為Pl、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、Pl異或P7異或P8、P4異或P7異或Pa、P4異或P8異或P9、P9異或Pa。進(jìn)一步,分包模塊202:還用于將一幀內(nèi)編碼幀分成多個(gè)長度相同的原始數(shù)據(jù)包。進(jìn)一步,分包模塊202:還用于將一幀幀間預(yù)測幀分成多個(gè)長度相同的原始數(shù)據(jù)包。本發(fā)明第三實(shí)施例是一種抵抗丟包的數(shù)據(jù)通信系統(tǒng),圖3所示包括分包模塊202'.用于將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;編碼模塊204:用于將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2,對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大;發(fā)送模塊206:用于發(fā)送所述發(fā)包組合;接收模塊208:用于接收所述發(fā)包組合;解碼模塊210:用于將接收到的發(fā)包組合中的異或數(shù)據(jù)包和原始數(shù)據(jù)包,通過相互之間的異或運(yùn)算還原為原始數(shù)據(jù)。明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。權(quán)利要求1、一種數(shù)據(jù)包冗余編碼的方法,其特征在于,包括將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2;對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大。2、如權(quán)利要求l所述的方法,其特征在于,所述冗余數(shù)為3。3、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2和P3,編碼后得到的發(fā)包組合為Pl、P2異或P3、P2、Pl異或P3、P3、Pl異或P2。4、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3和P4,編碼后得到的發(fā)包組合為Pl、P3異或P4、P2、Pl異或P4、P3、P2異或P4、P1異或P2異或P3,或Pl、P2、P1異或P2異或P3、P3、P1異或P3異或P4、P1異或P2異或P4、P4。5、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3、P4和P5,編碼后得到的發(fā)包組合為Pl、P3異或P4、P2、P4異或P5、P3、P1異或P2異或P4、P2異或P3異或P5、P1異或P5。6、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3、P4、P5和P6,編碼后得到的發(fā)包組合為P2異或P3異或P6、Pl、P3異或P4異或P5、P2、P1異或P4異或P6、P3、Pl異或P2異或P5、P4、P5異或P6。7、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3、P4、P5、P6和P7,編碼后得到的發(fā)包組合為Pl、P2、P3、P4、P3異或P4異或P5、P2異或P4異或P6、Pl異或P7、Pl異或P5異或P6、P2異或P5異或P7、P3異或P6異或P7。8、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)被分成原始數(shù)才居包P1、P2、P3、P4、P5、P6、P7和P8,編石馬后4尋到的發(fā)包纟且合為Pl、P2、P3、P4、P1異或P5異或P7、P2異或P5異或P8、P2異或P6異或P7、P1異或P6異或P8、P3異或P4異或P5、P4異或P6、P3異或P7異或P8。9、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)^皮分成原始數(shù)才居包P1、P2、P3、P4、P5、P6、P7、P8和P9,編石馬后4尋到的發(fā)包纟且合為Pl、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、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3、P4、P5、P6、P7、P8、P9和Pa,編碼后4尋到的發(fā)包纟旦合為Pl、P2、P3、P4、P5、P6、Pl異或P3異或P7、Pl異或P4異或P8、P2異或P5異或P9、P2異或P6異或Pa、P3異或P7異或P9、P4異或P7異或Pa、P5異或P8異或Pa、P6異或P8異或P9或Pl、P2、P3、P4、Pl異或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、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)為一幀內(nèi)編碼幀。12、如權(quán)利要求l所述的方法,其特征在于,所述原始數(shù)據(jù)為一幀幀間預(yù)測幀。13、一種數(shù)據(jù)通信抵抗丟包的方法,其特征在于,包括將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2;對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大;發(fā)送所述的發(fā)包組合;將接收到的發(fā)包組合中的異或數(shù)據(jù)包和原始數(shù)據(jù)包,通過相互之間的異或運(yùn)算還原為原始數(shù)據(jù)。14、一種數(shù)據(jù)包冗余編碼的裝置,其特征在于,包括分包模塊用于將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;編碼模塊用于將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2,對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大。15、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2和P3;編碼模塊還用于編碼后得到發(fā)包組合Pl、P2異或P3、P2、Pl異或P3、P3、Pl異或P2。16、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3和P4;編碼模塊還用于編碼后得到的發(fā)包組合為Pl、P3異或P4、P2、Pl異或P4、P3、P2異或P4、Pl異或P2異或P3。17、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3、P4和P5;編碼模塊還用于編碼后得到的發(fā)包組合為Pl、P3異或P4、P2、P4異或P5、P3、P1異或P2異或P4、P2異或P3異或P5、Pl異或P5。18、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將原始數(shù)據(jù)-故分成原始lt據(jù)包Pl、P2、P3、P4、P5和P6;編碼模塊還用于編碼后得到的發(fā)包組合為P2異或P3異或P6、Pl、P3異或P4異或P5、P2、Pl異或P4異或P6、P3、Pl異或P2異或P5、P4、P5異或P6。19、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包Pl、P2、P3、P4、P5、P6和P;編碼模塊還用于編碼后得到的發(fā)包組合為Pl、P2、P3、P4、P3異或P4異或P5、P2異或P4異或P6、Pl異或P7、Pl異或P5異或P6、P2異或P5異或P7、P3異或P6異或P7。20、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3、P4、P5、P6、P7和P8;編碼模塊還用于編碼后得到的發(fā)包組合為Pl、P2、P3、P4、Pl異或P5異或P7、P2異或P5異或P8、P2異或P6異或P7、P1異或P6異或P8、P3異或P4異或P5、P4異或P6、P3異或P7異或P8。21、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3、P4、P5、P6、P7、P8和P9;編碼模塊還用于編碼后得到的發(fā)包組合為Pl、P2、P3、P4、P4異或P5異或P8、P2異或P5異或P9、P2異或P6異或P8、P1異或P6異或P9、Pl異或P7異或P8、P3異或P7異或P9、P3異或P5異或P6、P4異或P7。22、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將原始數(shù)據(jù)被分成原始數(shù)據(jù)包P1、P2、P3、P4、P5、P6、P7、P8、P9和Pa;編碼模塊還用于編碼后得到的發(fā)包組合為Pl、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、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將一幀內(nèi)編碼幀分成多個(gè)長度相同的原始數(shù)據(jù)包。24、如權(quán)利要求14所述的裝置,其特征在于,分包模塊還用于將一幀幀間預(yù)測幀分成多個(gè)長度相同的原始數(shù)據(jù)包。25、一種抵抗丟包的數(shù)據(jù)通信系統(tǒng),其特征在于,包括分包模塊用于將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;編碼模塊將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2,對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大;發(fā)送模塊用于發(fā)送所述發(fā)包組合;接收模塊用于接收所述發(fā)包組合;解碼模塊用于將接收到的發(fā)包組合中的異或數(shù)據(jù)包和原始數(shù)據(jù)包,通過相互之間的異或運(yùn)算還原為原始數(shù)據(jù)。全文摘要本發(fā)明公開了一種數(shù)據(jù)包冗余編解碼的方法、裝置及系統(tǒng),為了解決在通信過程中丟失2個(gè)數(shù)據(jù)包則可能導(dǎo)致數(shù)據(jù)恢復(fù)概率較低的問題,該方法包括將原始數(shù)據(jù)分成多個(gè)長度相同的原始數(shù)據(jù)包;將原始數(shù)據(jù)包與原始數(shù)據(jù)進(jìn)行異或運(yùn)算生成異或數(shù)據(jù)包,其中任意一個(gè)原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2;對原始數(shù)據(jù)包和異或數(shù)據(jù)編碼,得到包括原始數(shù)據(jù)包和異或數(shù)據(jù)包的發(fā)包組合,其中,在冗余相同的情況下,丟失任意2個(gè)數(shù)據(jù)包后所述發(fā)包組合用剩余的數(shù)據(jù)包進(jìn)行相互異或運(yùn)算恢復(fù)出全部原始數(shù)據(jù)包的概率最大,正是由于原始數(shù)據(jù)包進(jìn)行異或運(yùn)算的次數(shù)不小于2,丟失其中任意2個(gè)數(shù)據(jù)包,在接收端能恢復(fù)的概率被提高。文檔編號H04L12/56GK101359981SQ20081022323公開日2009年2月4日申請日期2008年9月27日優(yōu)先權(quán)日2008年9月27日發(fā)明者陳敬昌申請人:騰訊科技(深圳)有限公司