亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種單向廣播文件傳輸中的前向糾錯(cuò)方法

文檔序號(hào):7847700閱讀:272來(lái)源:國(guó)知局
專利名稱:一種單向廣播文件傳輸中的前向糾錯(cuò)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種單向廣播文件傳輸中的前向糾錯(cuò)方法。
當(dāng)需要傳輸一個(gè)大文件時(shí),一般情況下不可能將這個(gè)大文件作為一個(gè)數(shù)據(jù)包向外傳輸,通常做法是將這個(gè)大文件拆成幾個(gè)小的數(shù)據(jù)塊、對(duì)該數(shù)據(jù)塊編碼、通過(guò)某單向廣播傳輸信道對(duì)外傳輸。在接收過(guò)程中,若一個(gè)數(shù)據(jù)塊發(fā)生誤碼,則需要對(duì)該數(shù)據(jù)塊糾錯(cuò)、拼接、還原到原始文件。若某時(shí)刻突發(fā)一個(gè)強(qiáng)烈的干擾,導(dǎo)致其中一個(gè)數(shù)據(jù)塊被破壞的內(nèi)容較多而無(wú)法糾正,那么這個(gè)文件就無(wú)法正確還原,只好等待下一輪的該文件的數(shù)據(jù)塊糾錯(cuò)、拼接、還原全過(guò)程。在信號(hào)差的情況下,可能需要2~3次循環(huán)才能接收到正確的文件。
在單向廣播傳輸信道中,常用的對(duì)拆分后的數(shù)據(jù)塊糾錯(cuò)的方法有1、漢明(8,4)編碼一個(gè)字節(jié),4比特有效數(shù)據(jù),4比特冗余保護(hù)數(shù)據(jù)。該方法可以在一個(gè)比特發(fā)生錯(cuò)誤的情況下正確糾錯(cuò),運(yùn)算速度快。其缺點(diǎn)是有2個(gè)以上比特發(fā)生錯(cuò)誤,就會(huì)造成誤判。每次只能保護(hù)4個(gè)比特的數(shù)據(jù)位,在發(fā)生突發(fā)干擾的情況下,不能產(chǎn)生前向糾錯(cuò)的效果。
2、格雷(23,12)編碼23比特,一般對(duì)齊為3個(gè)字節(jié)。12比特有效數(shù)據(jù)位,11比特為冗余保護(hù)數(shù)據(jù)。該方法最多能夠同時(shí)糾錯(cuò)2個(gè)比特,能夠正確指示3個(gè)比特以上的錯(cuò)誤。該方法運(yùn)算速度較快,但比漢明(8,4)編碼慢。其缺點(diǎn)是每次只能保護(hù)12比特,在發(fā)生突發(fā)干擾的情況下,不能產(chǎn)生前向糾錯(cuò)的效果。
3、BCH編碼、RS編碼、Turbo編碼該類編碼,編碼效率高,糾錯(cuò)能力強(qiáng),但是運(yùn)算量隨碼長(zhǎng)的增加而急劇增加。該類編碼適合于小數(shù)據(jù)塊的保護(hù),而且一般只糾正其中的數(shù)個(gè)或數(shù)十個(gè)字節(jié)。其運(yùn)算量巨大,在發(fā)生突發(fā)干擾的時(shí)間相對(duì)長(zhǎng)的情況下,不能產(chǎn)生前向糾錯(cuò)的效果。
4、多次重復(fù)播出,覆蓋接收方法有的單向廣播傳輸信道在對(duì)外傳輸中,采用連續(xù)傳輸兩遍的方法來(lái)修補(bǔ)被丟棄數(shù)據(jù)塊,即循環(huán)播傳輸出方式,基本上可歸納為兩種一種是大循環(huán)傳輸,如ABCABC;另一種是連續(xù)循環(huán)傳輸兩遍,如AABBCC。這種循環(huán)傳輸?shù)姆椒?,可能?shí)現(xiàn)丟棄數(shù)據(jù)塊的修補(bǔ)。但其信道利用率低,而且多遍修補(bǔ)也不一定能夠成功修補(bǔ)。
總的來(lái)說(shuō),現(xiàn)有的糾錯(cuò)方法,是在一個(gè)數(shù)據(jù)塊內(nèi)的糾錯(cuò),只能對(duì)較小數(shù)據(jù)量的數(shù)據(jù)塊提供了保護(hù)。為了能夠修補(bǔ)被丟棄了的數(shù)據(jù)塊,采用重復(fù)傳輸?shù)姆椒?,雖然重復(fù)傳輸?shù)姆椒ㄓ锌赡苄扪a(bǔ)丟棄的數(shù)據(jù)塊,但需要較長(zhǎng)的時(shí)間,而且需要占用帶寬,這降低帶寬的利用率。

發(fā)明內(nèi)容
本發(fā)明為解決背景技術(shù)中存在的上述技術(shù)問(wèn)題,而提供一種可對(duì)字節(jié)數(shù)很大的數(shù)據(jù)進(jìn)行糾錯(cuò)、運(yùn)算量小、冗余數(shù)據(jù)量小和信道利用率高的單向廣播文件傳輸中的前向糾錯(cuò)方法。
本發(fā)明的技術(shù)解決方案是一種單向廣播文件傳輸中的前向糾錯(cuò)方法,其特殊之處在于該方法依次包括以下步驟100)把待發(fā)送的數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)塊,計(jì)算每個(gè)數(shù)據(jù)塊的校驗(yàn)和;200)將該多個(gè)數(shù)據(jù)塊進(jìn)行數(shù)據(jù)塊的異或運(yùn)算,計(jì)算保護(hù)數(shù)據(jù)塊;300)發(fā)送數(shù)據(jù)塊內(nèi)容,包括保護(hù)數(shù)據(jù)塊內(nèi)容;400)接收數(shù)據(jù)塊,校驗(yàn)接收到的數(shù)據(jù)塊是否正確,并作標(biāo)識(shí)。
500)若有數(shù)據(jù)錯(cuò)誤,統(tǒng)計(jì)錯(cuò)誤數(shù)據(jù)塊個(gè)數(shù),若只有一個(gè)數(shù)據(jù)塊發(fā)生錯(cuò)誤,且接收到保護(hù)數(shù)據(jù)塊,進(jìn)行數(shù)據(jù)塊的糾錯(cuò)還原。
600)若無(wú)數(shù)據(jù)錯(cuò)誤,按照編碼規(guī)則,直接拼接還原數(shù)據(jù)。
上述步驟100)中當(dāng)原始數(shù)據(jù)字節(jié)數(shù)很多時(shí),用多個(gè)保護(hù)數(shù)據(jù)塊來(lái)分段保護(hù),此時(shí)每個(gè)分段數(shù)據(jù)就相當(dāng)于一個(gè)獨(dú)立的待播出的數(shù)據(jù),將該分段數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)塊,再計(jì)算每個(gè)數(shù)據(jù)塊的校驗(yàn)和。
上述步驟200)中保護(hù)數(shù)據(jù)塊按公式P0=S1S2S3S4…Sn-2Sn-1Sn進(jìn)行異或運(yùn)算;同時(shí)對(duì)保護(hù)數(shù)據(jù)塊本身進(jìn)行編碼。
上述步驟300)中發(fā)送數(shù)據(jù)塊時(shí),先發(fā)送保護(hù)數(shù)據(jù)塊,再發(fā)送原始數(shù)據(jù)塊內(nèi)容。
上述步驟100)中在對(duì)數(shù)據(jù)塊進(jìn)行編碼時(shí),添加一個(gè)字段,用于標(biāo)記播出輪次或編碼時(shí)間。
在突發(fā)強(qiáng)干擾的環(huán)境中,容易導(dǎo)致某一個(gè)數(shù)據(jù)塊整體丟棄而其他數(shù)據(jù)塊正確接收的情況,若不能將該丟失的數(shù)據(jù)塊“找”回來(lái),就意味此次傳輸無(wú)效。應(yīng)用本發(fā)明就可將被丟棄的某一個(gè)數(shù)據(jù)塊“找”回來(lái),從而實(shí)現(xiàn)一次循環(huán)就能完整、正確地接收整個(gè)文件。因此本發(fā)明具有以下優(yōu)點(diǎn)1、本發(fā)明是一個(gè)數(shù)據(jù)塊級(jí)的數(shù)據(jù)保護(hù)編碼,可以對(duì)字節(jié)數(shù)很大的數(shù)據(jù)提供保護(hù)。
2、本發(fā)明運(yùn)算量小。本發(fā)明采用異或操作,不會(huì)因數(shù)據(jù)保護(hù)長(zhǎng)度增加而急劇增加,編、解碼運(yùn)算量小。
3、本發(fā)明冗余數(shù)據(jù)量小,信道利用率高。本發(fā)明在n個(gè)有效數(shù)據(jù)塊后,才使用一個(gè)保護(hù)數(shù)據(jù)塊,編碼效率高,解決有些編碼效率低的缺點(diǎn)。
4、本發(fā)明在丟失數(shù)據(jù)塊的情況下,讓一個(gè)播出循環(huán)就能夠成功接收成為可能,不用像“多次重復(fù)播出,覆蓋接收方法”那樣,可以縮短接收時(shí)間,同時(shí)提供信道利用率。
5、本發(fā)明還可提高單向廣播文件傳輸、接收性能,降低對(duì)信道的要求,同時(shí)還可以降低文件傳輸?shù)难h(huán)次數(shù),節(jié)約帶寬,提高帶寬的利用率。
300)發(fā)送數(shù)據(jù)塊內(nèi)容,包括保護(hù)數(shù)據(jù)塊內(nèi)容;400)接收數(shù)據(jù)塊,校驗(yàn)接收到的數(shù)據(jù)塊是否正確,并作標(biāo)識(shí)。
500)若有數(shù)據(jù)錯(cuò)誤,統(tǒng)計(jì)錯(cuò)誤數(shù)據(jù)塊個(gè)數(shù),若只有一個(gè)數(shù)據(jù)塊發(fā)生錯(cuò)誤,且接收到保護(hù)數(shù)據(jù)塊,進(jìn)行數(shù)據(jù)塊的糾錯(cuò)還原。
600)若無(wú)數(shù)據(jù)錯(cuò)誤,按照編碼規(guī)則,直接拼接還原數(shù)據(jù)。
參見(jiàn)圖2,本發(fā)明方法詳細(xì)流程說(shuō)明如下100)把待播出的數(shù)據(jù),按Y字節(jié)拆分成n個(gè)數(shù)據(jù)塊,其中n=(X+Y-1)/Y,對(duì)數(shù)據(jù)塊進(jìn)行編碼,標(biāo)識(shí)每個(gè)數(shù)據(jù)塊(在文件中)的偏移,計(jì)算該數(shù)據(jù)塊的校驗(yàn)和。以Y=1024字節(jié)為佳,以便于計(jì)算。數(shù)據(jù)塊的校驗(yàn)和可以采用多種算法,只要能夠判斷數(shù)據(jù)塊是否發(fā)生錯(cuò)誤即可,此處推薦使用32位CRC校驗(yàn),即循環(huán)冗余碼校驗(yàn)。在對(duì)數(shù)據(jù)塊編碼時(shí),可添加一個(gè)字段,用于標(biāo)記播出輪次或編碼時(shí)間,便于接收端判斷一個(gè)文件是否播出完成。對(duì)于最后一個(gè)數(shù)據(jù)塊,即第n數(shù)據(jù)塊,其有效字節(jié)數(shù)據(jù)為r=X除以Y的余數(shù),若r等于0,標(biāo)識(shí)該數(shù)據(jù)塊正好為Y字節(jié),r應(yīng)該等于Y;若r不等于Y,則剩余的Y-r字節(jié)填成數(shù)字0。
200)保護(hù)數(shù)據(jù)塊按P0=S1S2S3S4…Sn-2Sn-1Sn進(jìn)行異或運(yùn)算;保護(hù)數(shù)據(jù)塊本身也要進(jìn)行編碼,一方面讓接收端能夠判斷該保護(hù)塊的數(shù)據(jù)內(nèi)容是否正確,另一方面讓接收端能夠區(qū)分保護(hù)數(shù)據(jù)塊與其他數(shù)據(jù)塊。此處符號(hào)“”表示數(shù)據(jù)塊的異或操作,數(shù)據(jù)塊的異或操作,是指兩個(gè)數(shù)據(jù)塊對(duì)應(yīng)字節(jié)進(jìn)行異或操作,如,將第m個(gè)數(shù)據(jù)塊的第1字節(jié)A1與第m+1字節(jié)的第1字節(jié)B1進(jìn)行異或運(yùn)算,得到結(jié)果C1,同理A2與B2運(yùn)算得到C2。
300)發(fā)送n個(gè)數(shù)據(jù)塊和保護(hù)數(shù)據(jù)塊的內(nèi)容。以先發(fā)送保護(hù)數(shù)據(jù)塊內(nèi)容為佳,這樣便于程序設(shè)計(jì),在接收時(shí)不會(huì)因?yàn)楸Wo(hù)數(shù)據(jù)塊是否已經(jīng)接收而進(jìn)行等待。先傳輸保護(hù)塊P0,然后傳輸原始數(shù)據(jù)塊S1,S2,…Sn-1,Sn。
400)接收數(shù)據(jù)塊,計(jì)算各數(shù)據(jù)塊的校驗(yàn)和,并與播出端計(jì)算的校驗(yàn)和進(jìn)行比較,確定數(shù)據(jù)塊是否正確接收。播出端計(jì)算的校驗(yàn)和隨數(shù)據(jù)一起發(fā)送到客戶端。若一個(gè)數(shù)據(jù)塊不正確,則將對(duì)應(yīng)的數(shù)據(jù)緩沖區(qū)用數(shù)字0代替。若一個(gè)數(shù)據(jù)塊丟失,則等效于發(fā)生錯(cuò)誤。然后根據(jù)播出端對(duì)數(shù)據(jù)塊編碼時(shí),添加的字段,來(lái)檢測(cè)當(dāng)前文件是否已經(jīng)播出完成。
500)統(tǒng)計(jì)錯(cuò)誤數(shù)據(jù)塊個(gè)數(shù)(保護(hù)數(shù)據(jù)塊不被統(tǒng)計(jì)),若只有一個(gè)數(shù)據(jù)塊發(fā)生錯(cuò)誤,且接收到保護(hù)數(shù)據(jù)塊,則進(jìn)行糾錯(cuò)。假設(shè)第m個(gè)數(shù)據(jù)塊發(fā)生錯(cuò)誤,還原第m個(gè)數(shù)據(jù)的公式為Sm=P0S1…Sm-1Sm+1…Sn-2Sn-1Sn。其中符號(hào)標(biāo)識(shí)數(shù)據(jù)塊的異或操作。若沒(méi)有數(shù)據(jù)塊發(fā)生錯(cuò)誤,則不用進(jìn)行糾錯(cuò)。
600)若無(wú)數(shù)據(jù)錯(cuò)誤,按照編碼規(guī)則,直接拼接還原數(shù)據(jù)。
當(dāng)原始數(shù)據(jù)字節(jié)數(shù)很多時(shí),可以用多個(gè)保護(hù)數(shù)據(jù)塊來(lái)分段保護(hù)。此時(shí)每個(gè)分段數(shù)據(jù)就相當(dāng)于一個(gè)獨(dú)立的待播出的數(shù)據(jù)。再依次按上述步驟將該分段數(shù)據(jù)進(jìn)行糾錯(cuò)處理。
現(xiàn)舉一具體實(shí)例對(duì)本發(fā)明方法做進(jìn)步說(shuō)明數(shù)據(jù)塊校驗(yàn)和采用32位CRC方式,假設(shè)在接收端發(fā)現(xiàn)第3個(gè)數(shù)據(jù)塊發(fā)生錯(cuò)誤,即m=3。待播出的數(shù)據(jù)總長(zhǎng)度X=100000字節(jié),拆分單位Y=1000字節(jié),那么總數(shù)據(jù)塊個(gè)數(shù)n=(100000+1000-1)/1000=100。
對(duì)每個(gè)數(shù)據(jù)塊進(jìn)行編碼,標(biāo)識(shí)數(shù)據(jù)塊在文件中的偏移,播出輪次,并計(jì)算該數(shù)據(jù)塊的32位CRC校驗(yàn)和。(符號(hào)“”表示異或操作)。
計(jì)算保護(hù)數(shù)據(jù)塊P0=S1S2S3S4…S98S99S100。
發(fā)送保護(hù)數(shù)據(jù)塊P0,依次發(fā)送S1,S2,,,,S100接收數(shù)據(jù)塊,并判斷文件是否完成發(fā)送。
統(tǒng)計(jì)錯(cuò)誤數(shù)據(jù)塊個(gè)數(shù),發(fā)現(xiàn)一個(gè)數(shù)據(jù)S3塊發(fā)生錯(cuò)誤,則進(jìn)行還原。
還原方法,先將S3對(duì)應(yīng)的緩沖區(qū)清成0,然后計(jì)算S3=P0S1S2S4…S98S99S100。
通用的計(jì)算方法是假設(shè)第m數(shù)據(jù)塊發(fā)生錯(cuò)誤,則當(dāng)m=1S1=P0S2S3…S98S99S100當(dāng)m=100S100=P0S1S2…S98S99其他Sm=P0S1S2…Sm-1Sm+1…S98S99S100至此,成功還原錯(cuò)誤的數(shù)據(jù)包Sm的糾正。
其中,SmSm+1表示Sm與Sm+1兩個(gè)數(shù)據(jù)包內(nèi)對(duì)應(yīng)字節(jié)的異或操作。
權(quán)利要求
1.一種單向廣播文件傳輸中的前向糾錯(cuò)方法,其特征在于該方法依次包括以下步驟100)把待發(fā)送的數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)塊,計(jì)算每個(gè)數(shù)據(jù)塊的校驗(yàn)和;200)將該多個(gè)數(shù)據(jù)塊進(jìn)行數(shù)據(jù)塊的異或運(yùn)算,計(jì)算保護(hù)數(shù)據(jù)塊;300)發(fā)送數(shù)據(jù)塊內(nèi)容,包括保護(hù)數(shù)據(jù)塊內(nèi)容;400)接收數(shù)據(jù)塊,校驗(yàn)接收到的數(shù)據(jù)塊是否正確,并作標(biāo)識(shí);500)若有數(shù)據(jù)錯(cuò)誤,統(tǒng)計(jì)錯(cuò)誤數(shù)據(jù)塊個(gè)數(shù),若只有一個(gè)數(shù)據(jù)塊發(fā)生錯(cuò)誤,且接收到保護(hù)數(shù)據(jù)塊,進(jìn)行數(shù)據(jù)塊的糾錯(cuò)還原;600)若無(wú)數(shù)據(jù)錯(cuò)誤,按照編碼規(guī)則,直接拼接還原數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的單向廣播文件傳輸中的前向糾錯(cuò)方法,其特征在于所述步驟100)中當(dāng)原始數(shù)據(jù)字節(jié)數(shù)很多時(shí),用多個(gè)保護(hù)數(shù)據(jù)塊來(lái)分段保護(hù),此時(shí)每個(gè)分段數(shù)據(jù)就相當(dāng)于一個(gè)獨(dú)立的待播出的數(shù)據(jù),將該分段數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)塊,再計(jì)算每個(gè)數(shù)據(jù)塊的校驗(yàn)和。
3.根據(jù)權(quán)利要求1或2所述的單向廣播文件傳輸中的前向糾錯(cuò)方法,其特征在于所述步驟200)中保護(hù)數(shù)據(jù)塊按公式P0=S1S2S3S4…Sn-2Sn-1Sn進(jìn)行異或運(yùn)算;同時(shí)對(duì)保護(hù)數(shù)據(jù)塊本身進(jìn)行編碼。
4.根據(jù)權(quán)利要求3所述的單向廣播文件傳輸中的前向糾錯(cuò)方法,其特征在于所述步驟300)中發(fā)送數(shù)據(jù)塊時(shí),先發(fā)送保護(hù)數(shù)據(jù)塊,再發(fā)送原始數(shù)據(jù)塊內(nèi)容。
5.根據(jù)權(quán)利要求1所述的單向廣播文件傳輸中的前向糾錯(cuò)方法,其特征在于所述步驟100)中在對(duì)數(shù)據(jù)塊進(jìn)行編碼時(shí),添加一個(gè)字段,用于標(biāo)記播出輪次或編碼時(shí)間。
全文摘要
本發(fā)明涉及一種單向廣播文件傳輸中的前向糾錯(cuò)方法。該方法依次包括以下步驟100)把待發(fā)送的數(shù)據(jù)拆分成多個(gè)數(shù)據(jù)塊,計(jì)算每個(gè)數(shù)據(jù)塊的校驗(yàn)和;200)將該多個(gè)數(shù)據(jù)塊進(jìn)行數(shù)據(jù)塊的異或運(yùn)算,計(jì)算保護(hù)數(shù)據(jù)塊;300)發(fā)送數(shù)據(jù)塊內(nèi)容,包括保護(hù)數(shù)據(jù)塊內(nèi)容;400)接收數(shù)據(jù)塊,校驗(yàn)接收到的數(shù)據(jù)塊是否正確,并作標(biāo)識(shí);500)若有數(shù)據(jù)錯(cuò)誤,統(tǒng)計(jì)錯(cuò)誤數(shù)據(jù)塊個(gè)數(shù),若只有一個(gè)數(shù)據(jù)塊發(fā)生錯(cuò)誤,且接收到保護(hù)數(shù)據(jù)塊,進(jìn)行數(shù)據(jù)塊的糾錯(cuò)還原;600)若無(wú)數(shù)據(jù)錯(cuò)誤,按照編碼規(guī)則,直接拼接還原數(shù)據(jù)。本發(fā)明可對(duì)字節(jié)數(shù)很大的數(shù)據(jù)進(jìn)行糾錯(cuò)、運(yùn)算量小、冗余數(shù)據(jù)量小且信道利用率高。
文檔編號(hào)H04L12/16GK1458764SQ0313421
公開(kāi)日2003年11月26日 申請(qǐng)日期2003年5月30日 優(yōu)先權(quán)日2003年5月30日
發(fā)明者陳永健 申請(qǐng)人:西安通視數(shù)據(jù)有限責(zé)任公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1