數(shù)據(jù)包的封裝方法及校驗方法
【專利摘要】一種數(shù)據(jù)包的封裝方法及校驗方法,其中數(shù)據(jù)包的封裝方法包括:在將數(shù)據(jù)包填充至一個多或個基帶幀數(shù)據(jù)域,并記錄當(dāng)前待傳輸?shù)臄?shù)據(jù)包被分塊次數(shù)的信息;基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段;將該校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝。本技術(shù)方案提高了數(shù)據(jù)包(尤其是數(shù)據(jù)包被分成幾個數(shù)據(jù)塊承載于不同的基帶幀中的情況下)在廣播通信信道傳輸時的可靠性。
【專利說明】數(shù)據(jù)包的封裝方法及校驗方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及數(shù)字電視廣播領(lǐng)域,特別涉及數(shù)據(jù)包的封裝方法及校驗方法。
【背景技術(shù)】
[0003]新一代數(shù)字電視廣播系統(tǒng)能夠支持包括音頻、視頻在內(nèi)的各類數(shù)據(jù)傳輸,其具體方法是將待傳輸?shù)臄?shù)據(jù)包依次填入基帶幀數(shù)據(jù)域中,組成可以通過數(shù)字電視廣播系統(tǒng)在廣播信道進行傳輸?shù)幕鶐Y(jié)構(gòu)。
[0004]在對數(shù)據(jù)包進行封裝過程中,當(dāng)一個數(shù)據(jù)包的長度較大且超過當(dāng)前數(shù)據(jù)域的可用空間時,可以將數(shù)據(jù)包分割成若干個片段,每一個片段使用一個基帶幀進行傳輸。接收端在接收到屬于該數(shù)據(jù)包的所有片段后,再重新將這些片段進行拼接以獲得原始的數(shù)據(jù)包。
[0005]但是,由于信道干擾等原因,基帶幀在從發(fā)送端到接收端的傳輸過程中,可能會造成畸變并產(chǎn)生誤碼,這樣接收端在接收到基帶幀并對其解碼后得到的數(shù)據(jù)包將不是原始的數(shù)據(jù)包。而在信道干擾嚴重的情況下,接收端可能會丟失整個基帶幀甚至連續(xù)丟失多個基帶中貞。
[0006]對于一個基帶幀內(nèi)出現(xiàn)誤碼,通過在數(shù)據(jù)包后附加校驗字段可以很大程度上解決這一問題。但是,在一個數(shù)據(jù)包被分塊次數(shù)成幾個數(shù)據(jù)塊并且這些數(shù)據(jù)塊承載于不同的基帶幀的情況下,若接收端丟 失了其中一個基帶幀而造成數(shù)據(jù)塊漏收,僅通過在數(shù)據(jù)包后附加校驗字段的方式將不能很好地解決這一問題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明解決的是當(dāng)該數(shù)據(jù)包被分塊次數(shù)成幾個數(shù)據(jù)塊并且這些數(shù)據(jù)塊承載于不同的基帶幀進行傳輸過程中,接收端可能會漏收數(shù)據(jù)塊的問題。
[0008]為解決上述問題,本發(fā)明實施例提供了一種數(shù)據(jù)包的封裝方法,包括:在將當(dāng)前待傳輸?shù)臄?shù)據(jù)包依次填充至一個或多個基帶幀數(shù)據(jù)域的過程中,記錄該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息;基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段;將該校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝。
[0009]可選的,所述將當(dāng)前待傳輸?shù)臄?shù)據(jù)依次填充至一個或多個基帶幀數(shù)據(jù)域,記錄該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息包括:
步驟I):判斷當(dāng)前的基帶幀數(shù)據(jù)域的可用空間是否足以承載當(dāng)前待傳輸?shù)臄?shù)據(jù)包,該數(shù)據(jù)包包括信息碼和預(yù)留校驗字段長度;
步驟2):若該判斷結(jié)果為否,則將該數(shù)據(jù)包進行分割以形成前半部分數(shù)據(jù)塊和后半部分數(shù)據(jù)塊,其中所述前半部分數(shù)據(jù)塊適于填滿該可用空間,所述后半部分數(shù)據(jù)塊將填充至下一個基帶幀數(shù)據(jù)域;
循環(huán)執(zhí)行上述步驟I)和步驟2),直至當(dāng)前的基帶幀數(shù)據(jù)域的可用空間足以承載當(dāng)前待傳輸?shù)臄?shù)據(jù)包;
基于上述步驟I)和步驟2)的循環(huán)執(zhí)行次數(shù)確定當(dāng)前待傳輸?shù)臄?shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息。
[0010]可選的,所述基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段的步驟包括:將該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息附加至該數(shù)據(jù)包的信息碼的末尾以形成待校驗數(shù)據(jù)包;采用第一預(yù)設(shè)校驗字段生成方式對所述待校驗數(shù)據(jù)包進行處理以生成第一校驗字段,其中該第一預(yù)設(shè)校驗字段生成方式由發(fā)送端和接收端來共同確定。
[0011]可選的,所述基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段的步驟包括:采用第一預(yù)設(shè)校驗字段生成方式對該數(shù)據(jù)包進行處理以生成中間數(shù)據(jù);將該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息附加至該中間數(shù)據(jù)的末尾,再采用第一預(yù)設(shè)校驗字段生成方式對前述數(shù)據(jù)進行處理以生成第二校驗字段;其中,該第一預(yù)設(shè)校驗字段生成方式由發(fā)送端和接收端來共同確定。
[0012]可選的,所述基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段的步驟包括:采用第一預(yù)設(shè)校驗字段生成方式對該數(shù)據(jù)包進行處理以生成中間數(shù)據(jù);采用第二預(yù)設(shè)校驗字段生成方式對該中間數(shù)據(jù)和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息進行處理以生成第三校驗字段;其中,該第一預(yù)設(shè)校驗字段生成方式和第二預(yù)設(shè)校驗字段生成方式由發(fā)送端和接收端來共同確定。
[0013]可選的,所述第一預(yù)設(shè)校驗字段生成方式為循環(huán)冗余校驗。
[0014]可選的,所述第二預(yù)設(shè)校驗字段生成方式包括異或運算、加法運算、減法運算和乘法運算中的任一種運算方式。
[0015]本發(fā)明實施例還提供了 一種數(shù)據(jù)包的校驗方法,其中該數(shù)據(jù)包是根據(jù)上述數(shù)據(jù)包的封裝方法封裝后填充至基帶幀在信道中傳輸后于接收端恢復(fù)得到,所述校驗方法包括:
從一個或多個基帶幀數(shù)據(jù)域中獲取完整的數(shù)據(jù)包,該完整的數(shù)據(jù)包包括信息碼和校驗字段;
根據(jù)基帶幀幀頭中的校驗算法標志位中標志的預(yù)設(shè)校驗字段生成方式與校驗字段長度,從該數(shù)據(jù)包的末尾截取校驗字段,數(shù)據(jù)包的剩余內(nèi)容作為信息碼;
對接收到的數(shù)據(jù)包的信息碼以及數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息進行校驗計算以得到待比較校驗字段;
比較該待比較校驗字段與獲取到的校驗字段是否一致;
若兩者一致,則確定該數(shù)據(jù)包接收正確。
[0016]可選的,所述從一個或多個基帶幀數(shù)據(jù)域中獲取完整的數(shù)據(jù)包包括如下步驟: 從當(dāng)前的基帶幀數(shù)據(jù)域的起始位置開始依次讀取數(shù)據(jù)包,其中所述起始位置由基帶幀
幀頭中的起始位置字段來確定;
通過位于數(shù)據(jù)包頭部的包長字段是否為零來判斷該數(shù)據(jù)包是否完整地承載于當(dāng)前的基帶幀數(shù)據(jù)域;
若該數(shù)據(jù)包未完整地承載于當(dāng)前的基帶幀數(shù)據(jù),則將當(dāng)前基帶幀起始位置開始至數(shù)據(jù)域末尾的所有數(shù)據(jù)作為該數(shù)據(jù)包的第一塊,并繼續(xù)從后續(xù)的若干個基帶幀數(shù)據(jù)域中讀取該數(shù)據(jù)包的剩余分塊并依順序與該數(shù)據(jù)包的第一塊進行拼接以得到該數(shù)據(jù)包的信息碼及校驗字段,其中該數(shù)據(jù)包的剩余分塊是根據(jù)基帶幀幀頭中的起始位置字段和數(shù)據(jù)域長度字段之間的關(guān)系來確定的;
若該數(shù)據(jù)包完整地承載于當(dāng)前的基帶幀數(shù)據(jù),則從當(dāng)前的基帶幀數(shù)據(jù)域的起始位置開始并根據(jù)該數(shù)據(jù)包頭部的包長獲取該數(shù)據(jù)包的信息碼及校驗字段;
記錄組裝該數(shù)據(jù)包的信息碼及校驗字段的基帶幀的個數(shù)以確定該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息;
可選的,所述該數(shù)據(jù)包的剩余分塊根據(jù)基帶幀幀頭中的起始位置字段和數(shù)據(jù)域長度字段之間的關(guān)系來確定包括如下情形:
1)若某個基帶幀幀頭中的起始位置字段大于數(shù)據(jù)域長度字段,則確定該基帶幀數(shù)據(jù)域全部用于承載數(shù)據(jù)包的剩余分塊中的一個數(shù)據(jù)塊,且該數(shù)據(jù)包的傳輸未完成;
2)若某個基帶幀幀頭中的起始位置字段等于數(shù)據(jù)域長度字段,則確定該基帶幀數(shù)據(jù)域全部用于承載該數(shù)據(jù)包,且該數(shù)據(jù)包的傳輸已經(jīng)完成;
3)若某個基帶幀幀頭中的起始位置字段小于數(shù)據(jù)域長度字段,則該基帶基數(shù)據(jù)域頭部至起始位置之間的數(shù)據(jù)為該數(shù)據(jù)包的剩余分塊中的最后一個數(shù)據(jù)塊。
[0017]本發(fā)明實施例還提供了一種數(shù)據(jù)包的傳輸方法,包括:將當(dāng)前待傳輸?shù)臄?shù)據(jù)包依次填充至一個或多個基帶幀數(shù)據(jù)域;生成該數(shù)據(jù)包的校驗字段,其中所述校驗字段根據(jù)該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包在填充至基帶幀數(shù)據(jù)域的過程中被分塊次數(shù)的數(shù)據(jù)信息來確定;將該校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝;將承載于該數(shù)據(jù)包的一個或多個基帶幀經(jīng)由信道傳輸至接收端。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明技術(shù)方案具有以下有益效果:
根據(jù)本發(fā)明實施例提供的數(shù)據(jù)包的封裝方法,在生成數(shù)據(jù)包的校驗字段時,考慮了數(shù)據(jù)包填充至基帶幀數(shù)據(jù)域過程中被分塊次數(shù)的數(shù)據(jù)信息,這樣在接收端對接收到的數(shù)據(jù)包進行解析過程中,也將結(jié)合數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息來對數(shù)據(jù)包是否正確接收進行校驗,從而提高了數(shù)據(jù)包(尤其是數(shù)據(jù)包被分成幾個數(shù)據(jù)塊承載于不同的基帶幀中的情況下)在廣播通信信道傳輸時的可靠性。
[0019]根據(jù)本發(fā)明實施例提供的數(shù)據(jù)包的校驗方法,接收端在從接收到的基帶幀數(shù)據(jù)域中讀取數(shù)據(jù)包的過程中,通過位于數(shù)據(jù)包頭部的包長字段來判斷該數(shù)據(jù)包是否完整地承載于當(dāng)前的基帶幀數(shù)據(jù)域,并針對不同的情形采用不同的方式獲取完整的數(shù)據(jù)包及校驗字段,并且在對接收到的數(shù)據(jù)包進行校驗時,考慮了該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息,從而提高了數(shù)據(jù)包在廣播通信信道傳輸時的可靠性。
【專利附圖】
【附圖說明】
[0020]圖1是本發(fā)明的一種數(shù)據(jù)包的封裝方法的【具體實施方式】的流程示意圖;
圖2是將數(shù)據(jù)包封裝后形成的基帶幀的基本結(jié)構(gòu)示意圖;
圖3A是數(shù)據(jù)包未經(jīng)分割封裝成的基帶幀結(jié)構(gòu)示意圖;
圖3B是數(shù)據(jù)包經(jīng)分割后各個數(shù)據(jù)塊分別承載于不同基帶幀的情況下封裝成的基帶幀結(jié)構(gòu)示意圖;
圖4是本發(fā)明的一種數(shù)據(jù)包的校驗方法的【具體實施方式】的流程示意圖?!揪唧w實施方式】
[0021]發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中,當(dāng)該數(shù)據(jù)包被分成幾個數(shù)據(jù)塊并且這些數(shù)據(jù)塊承載于不同的基帶幀進行傳輸過程中,若接收端丟失了其中一個基帶幀將造成數(shù)據(jù)塊漏收的問題。
[0022]針對上述問題,發(fā)明人經(jīng)過研究,提供了一種數(shù)據(jù)包的封裝方法和校驗方法,通過在對數(shù)據(jù)包進行封裝過程中考慮數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息,從而提高了數(shù)據(jù)包(尤其是數(shù)據(jù)包被分成幾個數(shù)據(jù)塊承載于不同的基帶幀中)在廣播通信信道傳輸時的可靠性。
[0023]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更為明顯易懂,下面結(jié)合附圖對本發(fā)明的【具體實施方式】做詳細的說明。
[0024]如圖1所示的是本發(fā)明的一種數(shù)據(jù)包的封裝方法的【具體實施方式】的流程示意圖。參考圖1,所述數(shù)據(jù)包的封裝方法包括如下步驟:
步驟Sll:在將當(dāng)前待傳輸?shù)臄?shù)據(jù)包依次填充至一個或多個基帶幀數(shù)據(jù)域的過程中,記錄該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息;
步驟S12:基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段;
步驟S13:將該校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝。
[0025]與現(xiàn)有技術(shù)不同,在生成數(shù)據(jù)包的校驗字段時,不僅針對數(shù)據(jù)包的信息碼本身,進一步考慮了數(shù)據(jù)包在填充至一個或多個基帶幀數(shù)據(jù)域過程中被分塊次數(shù)的數(shù)據(jù)信息。例如,一個數(shù)據(jù)包在填充至基帶幀數(shù)據(jù)域過程中被分塊次數(shù)成了三個數(shù)據(jù)塊,那么被分塊次數(shù)的數(shù)據(jù)信息為兩次。
[0026]在具體實施例中,如步驟Sll所述,在將當(dāng)前待傳輸?shù)臄?shù)據(jù)包依次填充至一個或多個基帶幀數(shù)據(jù)域的過程中,記錄該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息,具體包括如下步驟:
步驟I):判斷當(dāng)前的基帶幀數(shù)據(jù)域的可用空間是否足以承載當(dāng)前待傳輸?shù)臄?shù)據(jù)包,該數(shù)據(jù)包包括信息碼和預(yù)留校驗字段長度;
步驟2):若該判斷結(jié)果為否,則將該數(shù)據(jù)包進行分割以形成前半部分數(shù)據(jù)塊和后半部分數(shù)據(jù)塊,其中所述前半部分數(shù)據(jù)塊適于填滿該可用空間,所述后半部分數(shù)據(jù)塊將填充至下一個基帶幀數(shù)據(jù)域。
[0027]在上述步驟I)中,通過比較當(dāng)前的基帶幀數(shù)據(jù)域的可用空間所占的數(shù)據(jù)域長度與當(dāng)前待傳輸?shù)臄?shù)據(jù)包的長度之間的大小關(guān)系可以確定該可用空間是否足以承載該數(shù)據(jù)包。需要說明的是,在本步驟中,需要在數(shù)據(jù)包的信息碼之后預(yù)留校驗字段的位置,例如預(yù)留2個字節(jié)長度,用零填充該預(yù)留位置,因此該數(shù)據(jù)包的長度包括信息碼和預(yù)留校驗字段長度。
[0028]如步驟2)所述,若該數(shù)據(jù)包的包長大于當(dāng)前的基帶幀數(shù)據(jù)域的可用空間所占的數(shù)據(jù)域長度,則確定當(dāng)前的基帶幀數(shù)據(jù)域不足以承載整個數(shù)據(jù)包,需要對數(shù)據(jù)包進行分割。分割后的數(shù)據(jù)包分為前半部分數(shù)據(jù)塊和后半部分數(shù)據(jù)塊,其中前半部分數(shù)據(jù)塊能夠填滿該可用空間,剩余的后半部分數(shù)據(jù)塊將填充至下一個基帶幀數(shù)據(jù)域中。
[0029]對于該后半部分數(shù)據(jù)塊,將繼續(xù)依照上述步驟I)進行判斷,即繼續(xù)判斷該后半部分數(shù)據(jù)塊是否足以承載于當(dāng)前的基帶幀數(shù)據(jù)域(相對于之前那一個基帶幀的下一個基帶幀)。而當(dāng)判斷結(jié)果為否時,則依照上述步驟2)所述,繼續(xù)將該后半部分數(shù)據(jù)塊再次分割成兩部分數(shù)據(jù)塊,這兩部分數(shù)據(jù)塊中的前半部分數(shù)據(jù)塊能夠填滿基帶幀數(shù)據(jù)域的可用空間,后半部分數(shù)據(jù)塊將填充至下一個基帶幀數(shù)據(jù)域中。[0030]如此循環(huán)執(zhí)行上述步驟I)和步驟2),直至當(dāng)前的基帶幀數(shù)據(jù)域的可用空間足以承載最后剩余的數(shù)據(jù)塊。
[0031]進一步地,根據(jù)整個過程中的循環(huán)執(zhí)行次數(shù)可以確定當(dāng)前待傳輸?shù)臄?shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息。例如,若上述步驟I)和步驟2)循環(huán)執(zhí)行了兩次,則可以確定當(dāng)前待傳輸?shù)臄?shù)據(jù)包被切分了兩次,該數(shù)據(jù)包分成了三個數(shù)據(jù)塊分別承載于連續(xù)的三個基帶幀數(shù)據(jù)域中。
[0032]若上述步驟I)的判斷結(jié)果為是,即當(dāng)前的基帶幀數(shù)據(jù)域的可用空間足以承載當(dāng)前待傳輸?shù)臄?shù)據(jù)包,則不需要對該數(shù)據(jù)包進行分割(即被分塊次數(shù)的數(shù)據(jù)信息為0),該數(shù)據(jù)包將完整地承載于當(dāng)前的基帶幀數(shù)據(jù)域中。
[0033]然后,如步驟S12所述,基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段。如步驟S13所述,將該校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝。
[0034]現(xiàn)有技術(shù)中,生成一個數(shù)據(jù)包的校驗字段時,只將數(shù)據(jù)包的信息碼參與到生成校驗字段的運算中,而在本實施例中,則進一步考慮了數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息。具體來說,本實施例包括如下三個具體實例:
I)在一個【具體實施方式】中,所述步驟S12包括如下步驟:
將該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息附加至該數(shù)據(jù)包的信息碼的末尾以形成待校驗數(shù)據(jù)包;
采用第一預(yù)設(shè)校驗字段生成方式對所述待校驗數(shù)據(jù)包進行處理以生成校驗字段,其中該第一預(yù)設(shè)校驗字段生成方式由發(fā)送端和接收端來共同確定。
[0035]例如,CHK=F(DATA,SEG) =H([DATA, SEG]),其中 CHK 為計算得到的校驗字段;DATA為數(shù)據(jù)包的信息碼;SEG為數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息,H(x)為所述第一預(yù)設(shè)校驗字段生成方式。
[0036]相應(yīng)地,所述步驟S13包括如下步驟:將所述第一校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝。
[0037]2)在本步驟的另一個【具體實施方式】中,所述步驟S12包括如下步驟:
采用第一預(yù)設(shè)校驗字段生成方式對該數(shù)據(jù)包進行處理以生成中間數(shù)據(jù);
將該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息附加至該中間數(shù)據(jù)的末尾,再采用第一預(yù)設(shè)校驗字段生成方式對前述數(shù)據(jù)進行處理以生成第二校驗字段;
其中,該第一預(yù)設(shè)校驗字段生成方式由發(fā)送端和接收端來共同確定。
[0038]例如,CHK=F(DATA, SEG) =H ([H (DATA),SEG]),其中 CHK 為計算得到的校驗字段;DATA為數(shù)據(jù)包的信息碼,H(DATA)為中間數(shù)據(jù);SEG為數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息,H(x)為所述第一預(yù)設(shè)校驗字段生成方式。
[0039]相應(yīng)地,所述步驟S13包括如下步驟:將所述第二校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝。
[0040]3)在本步驟的另一個【具體實施方式】中,所述步驟S12包括如下步驟:
采用第一預(yù)設(shè)校驗字段生成方式對所述數(shù)據(jù)包的信息碼進行處理以生成中間數(shù)據(jù);采用第二預(yù)設(shè)校驗字段生成方式對該中間數(shù)據(jù)和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息進行處理以生成第三校驗字段; 其中,該第一預(yù)設(shè)校驗字段生成方式和第二預(yù)設(shè)校驗字段生成方式由發(fā)送端和接收端來共同確定。
[0041]例如,CHK=F(DATA, SEG) =G (H(DATA),SEG),其中 CHK 為計算得到的校驗字段;DATA為數(shù)據(jù)包的信息碼;SEG為數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息,H(x)為所述第一預(yù)設(shè)校驗字段生成方式。
[0042]G(x, y)為第二預(yù)設(shè)校驗字段生成方式,在實際應(yīng)用中,G(x,y)可以是常用的可以接收兩個輸入數(shù)據(jù)的函數(shù),例如異或運算的函數(shù)G(x,y)=x XOR y、加法運算的函數(shù)G(x, y)=x+y、減法運算的函數(shù)G(x, y)=x - y或者是乘法運算的函數(shù)G (x, y) =x * y。
[0043]相應(yīng)地,所述步驟S13包括如下步驟:將所述第三校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝。
[0044]在上述三個【具體實施方式】中,所述第一預(yù)設(shè)校驗字段生成方式為循環(huán)冗余校驗,即CRC校驗。
[0045]如圖2所示的是將數(shù)據(jù)包封裝后形成的基帶幀的基本結(jié)構(gòu)示意圖。參考圖2,基帶幀包括基帶幀幀頭、數(shù)據(jù)域以及用于填零和帶內(nèi)信令的區(qū)域。
[0046]其中,基帶幀幀頭具體包括MATYPE字段(2 bytes)、DFL字段(2 bytes)、SYNCD字段(2 bytes)、INDICATORS 字段(I byte)以及 CRC-8 字段(I byte)。INDICATORS 字段還包括CRCI字段(2 bits)和others字段(6 bits)。數(shù)據(jù)域用于填充各個數(shù)據(jù)包,數(shù)據(jù)包可以是IP數(shù)據(jù)包或者是TS數(shù)據(jù)流包等。
[0047]如圖3A所示的是數(shù)據(jù)包未經(jīng)分割封裝成的基帶幀結(jié)構(gòu)示意圖。參考圖3A,基帶幀包括基帶幀幀頭和數(shù)據(jù)域。在數(shù)據(jù)域中承載有多個數(shù)據(jù)包(例如數(shù)據(jù)包N、數(shù)據(jù)包N+1),依照本技術(shù)方案提供的數(shù)據(jù)包的封裝方法對數(shù)據(jù)包經(jīng)過封裝后,在各個數(shù)據(jù)包的信息碼(未示出)的末尾拼接了各自的校驗字段,例如,數(shù)據(jù)包N和校驗字段N、數(shù)據(jù)包N+1和校驗字段N+1。這些數(shù)據(jù)包承載于一個基帶幀數(shù)據(jù)域中。
[0048]如圖3B所示的是數(shù)據(jù)包經(jīng)分割后各個數(shù)據(jù)塊分別承載于不同基帶幀的情況下封裝成的基帶幀結(jié)構(gòu)示意圖。參考圖3B,數(shù)據(jù)包N被分成3個數(shù)據(jù)塊,即數(shù)據(jù)塊1、數(shù)據(jù)塊2以及數(shù)據(jù)塊3,這三個數(shù)據(jù)塊分別承載于連續(xù)的三個基帶幀數(shù)據(jù)域中。每個基帶幀包括基帶幀幀頭和數(shù)據(jù)域。在數(shù)據(jù)塊3的信息碼的末尾拼接了該數(shù)據(jù)包(即數(shù)據(jù)包N)的校驗字段
N0
[0049]發(fā)送端將采用本技術(shù)方案提供的數(shù)據(jù)包的封裝方法將數(shù)據(jù)包封裝成基帶幀后,將各個基帶幀經(jīng)由廣播通信信道傳輸至接收端,接收端將從接收到的基帶幀中解析出各個數(shù)據(jù),并對各個數(shù)據(jù)包的接收是否正確進行校驗。
[0050]本發(fā)明實施例提供的一種數(shù)據(jù)包的校驗方法,該數(shù)據(jù)包是由上述實施例提供的數(shù)據(jù)包封裝方法封裝后填充至基帶幀在信道中傳輸后于接收端恢復(fù)得到。如圖4所述的是本發(fā)明的一種數(shù)據(jù)包的校驗方法的【具體實施方式】的流程示意圖。
[0051]參考圖4,數(shù)據(jù)包的校驗方法包括如下步驟:
步驟S21:從當(dāng)前的基帶幀數(shù)據(jù)域的起始位置開始依次讀取數(shù)據(jù)包,其中所述起始位置由基帶幀幀頭中的起始位置字段來確定;
步驟S22:通過位于數(shù)據(jù)包頭部的包長字段是否為零來判斷該數(shù)據(jù)包是否完整地承載于當(dāng)前的基帶幀數(shù)據(jù)域; 步驟S23:若該數(shù)據(jù)包未完整地承載于當(dāng)前的基帶幀數(shù)據(jù),則將當(dāng)前基帶幀起始位置開始至數(shù)據(jù)域末尾的所有數(shù)據(jù)作為該數(shù)據(jù)包的第一塊,并繼續(xù)從后續(xù)的若干個基帶幀數(shù)據(jù)域中讀取該數(shù)據(jù)包的剩余分塊并依順序與該數(shù)據(jù)包的第一塊進行拼接以得到該數(shù)據(jù)包的信息碼及校驗字段,其中該數(shù)據(jù)包的剩余分塊是根據(jù)基帶幀幀頭中的起始位置字段和數(shù)據(jù)域長度字段之間的關(guān)系來確定的;
步驟S24:若該數(shù)據(jù)包完整地承載于當(dāng)前的基帶幀數(shù)據(jù),則從當(dāng)前的基帶幀數(shù)據(jù)域的起始位置開始并根據(jù)該數(shù)據(jù)包頭部的包長獲取該數(shù)據(jù)包的信息碼及校驗字段;
步驟S25:記錄組裝該數(shù)據(jù)包的信息碼及校驗字段的基帶幀的個數(shù)以確定該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息;
步驟S26:根據(jù)基帶幀幀頭中的校驗算法標志位中標志的預(yù)設(shè)校驗字段生成方式與校驗字段長度,從該數(shù)據(jù)包的末尾截取校驗字段,數(shù)據(jù)包的剩余內(nèi)容作為信息碼;
步驟S27:對接收到的數(shù)據(jù)包信息碼以及數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息進行校驗計算以得到待比較校驗字段;
步驟S28:比較該待比較校驗字段與獲取到的校驗字段是否一致 步驟S29:若兩者一致,則確定該數(shù)據(jù)包接收正確。
[0052]在本實施例中,如步驟S21所述,從當(dāng)前的基帶幀數(shù)據(jù)域的起始位置開始依次讀取數(shù)據(jù)包。
[0053]在實際應(yīng)用中,接收端接收到一系列連續(xù)的基帶幀后,將依照接收的先后順序從第一個基帶幀數(shù)據(jù)域的起始位置開始讀取第一個完整的數(shù)據(jù)包。所述起始位置由基帶幀幀頭中的起始位置字段(如圖2中的SYNCD字段)來確定,接收端根據(jù)SYNCD字段中記錄的信息可以確定數(shù)據(jù)域中存儲該數(shù)據(jù)包的起始位置。
[0054]如步驟S22所述,通過位于數(shù)據(jù)包頭部的包長字段是否為零來判斷該數(shù)據(jù)包是否完整地承載于當(dāng)前的基帶幀數(shù)據(jù)域。
[0055]在本實施例中,在數(shù)據(jù)包包頭部設(shè)置有包長字段,用于記錄該數(shù)據(jù)包的包長。在該數(shù)據(jù)包完整地承載于一個基帶幀數(shù)據(jù)域的情況下,該包長字段記錄整個數(shù)據(jù)包的包長;而當(dāng)該數(shù)據(jù)包未完整地承載于一個基帶幀數(shù)據(jù)域的情況下,該包長字段默認設(shè)置為零。因此,接收端可以通過讀取位于數(shù)據(jù)包頭部的包長字段,根據(jù)其記錄的數(shù)值是否為零來判斷該數(shù)據(jù)包是否完整地承載于當(dāng)前的基帶幀數(shù)據(jù)域。
[0056]如步驟S23所述,若該數(shù)據(jù)包未完整地承載于當(dāng)前的基帶幀數(shù)據(jù),則將當(dāng)前基帶幀起始位置開始至數(shù)據(jù)域末尾的所有數(shù)據(jù)作為該數(shù)據(jù)包的第一塊,并繼續(xù)從后續(xù)的若干個基帶幀數(shù)據(jù)域中讀取該數(shù)據(jù)包的剩余分塊并依順序與該數(shù)據(jù)包的第一塊進行拼接以得到該數(shù)據(jù)包的信息碼及校驗字段。
[0057]在數(shù)據(jù)包較長,未完整地承載于一個基帶幀數(shù)據(jù)域的情況下,接收端需要從若干個基帶幀中提取屬于該數(shù)據(jù)包的各個數(shù)據(jù)塊,而屬于同一個數(shù)據(jù)包的各個數(shù)據(jù)塊將承載于連續(xù)的若干個基帶幀中。因此,接收端在從當(dāng)前的基帶幀起始位置至數(shù)據(jù)域末尾獲取了該數(shù)據(jù)包的第一個數(shù)據(jù)塊后,將繼續(xù)從后續(xù)的基帶幀數(shù)據(jù)域中讀取該數(shù)據(jù)包的剩余分塊。
[0058]進一步地,該數(shù)據(jù)包的剩余分塊是根據(jù)基帶幀幀頭中的起始位置字段和數(shù)據(jù)域長度字段之間的關(guān)系來確定的。具體來說,接收端通過判斷基帶幀幀頭中的起始位置字段中記錄的基帶幀數(shù)據(jù)域的起始位置和數(shù)據(jù)域長度字段記錄的數(shù)據(jù)域的總長度之間的大小關(guān)系來確定是否已獲取到該數(shù)據(jù)包的最后一個數(shù)據(jù)塊。
[0059]具體包括如下情形:
I)若某個基帶幀幀頭中的起始位置字段大于數(shù)據(jù)域長度字段,則確定該基帶幀數(shù)據(jù)域全部用于承載數(shù)據(jù)包的剩余分塊中的一個數(shù)據(jù)塊,且該數(shù)據(jù)包的傳輸未完成。接收端將繼續(xù)從后續(xù)的基帶幀數(shù)據(jù)域中獲取剩余的數(shù)據(jù)塊。
[0060]2)若某個基帶幀幀頭中的起始位置字段等于數(shù)據(jù)域長度字段,則確定該基帶幀數(shù)據(jù)域全部用于承載該數(shù)據(jù)包,且該數(shù)據(jù)包的傳輸已經(jīng)完成。
[0061]3)若某個基帶幀幀頭中的起始位置字段小于數(shù)據(jù)域長度字段,則該基帶基數(shù)據(jù)域頭部至起始位置之間的數(shù)據(jù)為該數(shù)據(jù)包的剩余分塊中的最后一個數(shù)據(jù)塊。
[0062]如步驟S24所述,若該數(shù)據(jù)包完整地承載于當(dāng)前的基帶幀數(shù)據(jù),則從當(dāng)前的基帶幀數(shù)據(jù)域的起始位置開始并根據(jù)該數(shù)據(jù)包頭部的包長獲取該數(shù)據(jù)包的信息碼及校驗字段。
[0063]其中,數(shù)據(jù)包的信息碼的長度信息可以通過位于數(shù)據(jù)包頭部長度字段直接或通過簡單計算間接得到,而校驗字段的長度則是根據(jù)發(fā)送端和接收端對校驗字段計算算法的約定得到。
[0064]如步驟S25所述,記錄組裝該數(shù)據(jù)包的信息碼及校驗字段的基帶幀的個數(shù)以確定該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息。
[0065]在本實施例中,接收端后續(xù)對接收到的數(shù)據(jù)包進行校驗時,需要考慮數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息。因此,在獲取到完整的數(shù)據(jù)包之后,接收端還需要記錄下組裝該數(shù)據(jù)包的信息碼及校驗字段的基帶幀的個數(shù)。
[0066]對于數(shù)據(jù)包未完整地承載于當(dāng)前的基帶幀數(shù)據(jù)域的情形,接收端可以記錄下獲取整個數(shù)據(jù)包的過程中共跨度了幾個基帶幀,從而可以確定該數(shù)據(jù)包被分成了幾個數(shù)據(jù)塊,并由此確定該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息。而對于數(shù)據(jù)包完整地承載于當(dāng)前的基帶幀數(shù)據(jù)域的情形,所述被分塊次數(shù)的數(shù)據(jù)信息即為被分塊次數(shù)為零。
[0067]如步驟S26所述,根據(jù)基帶幀幀頭中的校驗算法標志位中標志的預(yù)設(shè)校驗字段生成方式與校驗字段長度,從該數(shù)據(jù)包的末尾截取校驗字段,數(shù)據(jù)包的剩余內(nèi)容作為信息碼。
[0068]具體地,接收端在獲取到的整個數(shù)據(jù)包包括信息碼和校驗字段,兩者是合并在一起的。因此,接收端需要從中分別獲取信息碼和校驗字段。其中,校驗字段的長度可以根據(jù)基帶幀幀頭中的校驗算法標志位中標志的預(yù)設(shè)校驗字段生成方式與校驗字段長度來確定。而數(shù)據(jù)包的信息碼則是在截取了校驗字段之后數(shù)據(jù)包的剩余內(nèi)容。
[0069]如步驟S27所述,對接收到的數(shù)據(jù)包信息碼以及數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息進行校驗計算以得到待比較校驗字段。
[0070]具體地,接收端將結(jié)合接收到的數(shù)據(jù)包的信息碼與根據(jù)上述步驟S25所確定的該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息進行校驗運算,以得到待比較校驗字段。其中,所述校驗運算的具體實施過程是根據(jù)基帶幀幀頭中的校驗算法標志位中標志的預(yù)設(shè)校驗字段生成方式來確定。并且對于同一個數(shù)據(jù)包,發(fā)送端和接收端采用的是相同的預(yù)設(shè)校驗字段生成方式對該數(shù)據(jù)包的信息碼進行處理以分別獲取校驗字段。
[0071]針對不同的預(yù)設(shè)校驗字段生成方式,對數(shù)據(jù)包的信息碼的處理方式可以參照上文圖1描述的實施例中所述步驟S12的實施例,在此不再贅述。
[0072]如步驟S28所述,比較該待比較校驗字段與獲取到的校驗字段是否一致。[0073]如步驟S29所述,若兩者一致,則確定該數(shù)據(jù)包接收正確。反之,若兩者不一致,則確定該數(shù)據(jù)包接收錯誤。
[0074]本發(fā)明實施例還提供了一種數(shù)據(jù)包的傳輸方法,具體包括如下步驟:
步驟S31:將當(dāng)前待傳輸?shù)臄?shù)據(jù)包依次填充至一個或多個基帶幀數(shù)據(jù)域;
步驟S32:生成該數(shù)據(jù)包的校驗字段,其中所述校驗字段根據(jù)該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包在填充至基帶幀數(shù)據(jù)域的過程中被分塊次數(shù)的數(shù)據(jù)信息來確定;
步驟S33:將該校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝; 步驟S34:將承載于該數(shù)據(jù)包的一個或多個基帶幀經(jīng)由信道傳輸至接收端。
[0075]綜上所述,采用本技術(shù)方案提供的數(shù)據(jù)包封裝方法和校驗方法,發(fā)送端在生成數(shù)據(jù)包的校驗字段時,考慮了數(shù)據(jù)包填充至基帶幀數(shù)據(jù)域過程中被分塊次數(shù)的數(shù)據(jù)信息,這樣在接收端對接收到的數(shù)據(jù)包進行解析過程中,也將結(jié)合數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息來對數(shù)據(jù)包是否正確接收進行校驗,從而提高了數(shù)據(jù)包(尤其是數(shù)據(jù)包被分成幾個數(shù)據(jù)塊承載于不同的基帶幀中的情況下)在廣播通信信道傳輸時的可靠性。
[0076]本發(fā)明雖然已以較佳實施例公開如上,但其并不是用來限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以利用上述揭示的方法和技術(shù)內(nèi)容對本發(fā)明技術(shù)方案做出可能的變動和修改,因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化及修飾,均屬于本發(fā)明技術(shù)方案的保護范圍。
【權(quán)利要求】
1.一種數(shù)據(jù)包的封裝方法,其特征在于,包括: 在將當(dāng)前待傳輸?shù)臄?shù)據(jù)包依次填充至一個或多個基帶幀數(shù)據(jù)域的過程中,記錄該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息; 基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段; 將該校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝。
2.如權(quán)利要求1所述的數(shù)據(jù)包的封裝方法,其特征在于,所述將當(dāng)前待傳輸?shù)臄?shù)據(jù)依次填充至一個或多個基帶幀數(shù)據(jù)域,記錄該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息包括: 步驟I):判斷當(dāng)前的基帶幀數(shù)據(jù)域的可用空間是否足以承載當(dāng)前待傳輸?shù)臄?shù)據(jù)包,該數(shù)據(jù)包包括信息碼和預(yù)留校驗字段長度; 步驟2):若該判斷結(jié)果為否,則將該數(shù)據(jù)包進行分割以形成前半部分數(shù)據(jù)塊和后半部分數(shù)據(jù)塊,其中所述前半部分數(shù)據(jù)塊適于填滿該可用空間,所述后半部分數(shù)據(jù)塊將填充至下一個基帶幀數(shù)據(jù)域; 循環(huán)執(zhí)行上述步驟I)和步驟2),直至當(dāng)前的基帶幀數(shù)據(jù)域的可用空間足以承載當(dāng)前待傳輸?shù)臄?shù)據(jù)包; 基于上述步驟I)和步驟2)的循環(huán)執(zhí)行次數(shù)確定當(dāng)前待傳輸?shù)臄?shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息?!?br>
3.如權(quán)利要求1所述的數(shù)據(jù)包的封裝方法,其特征在于,所述基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段的步驟包括: 將該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息附加至該數(shù)據(jù)包的信息碼的末尾以形成待校驗數(shù)據(jù)包; 采用第一預(yù)設(shè)校驗字段生成方式對所述待校驗數(shù)據(jù)包進行處理以生成第一校驗字段,其中該第一預(yù)設(shè)校驗字段生成方式由發(fā)送端和接收端來共同確定。
4.如權(quán)利要求1所述的數(shù)據(jù)包的封裝方法,其特征在于,所述基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段的步驟包括: 采用第一預(yù)設(shè)校驗字段生成方式對該數(shù)據(jù)包進行處理以生成中間數(shù)據(jù); 將該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息附加至該中間數(shù)據(jù)的末尾,再采用第一預(yù)設(shè)校驗字段生成方式對前述數(shù)據(jù)進行處理以生成第二校驗字段; 其中,該第一預(yù)設(shè)校驗字段生成方式由發(fā)送端和接收端來共同確定。
5.如權(quán)利要求1所述的數(shù)據(jù)包的封裝方法,其特征在于,所述基于該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息以生成該數(shù)據(jù)包的校驗字段的步驟包括: 采用第一預(yù)設(shè)校驗字段生成方式對該數(shù)據(jù)包進行處理以生成中間數(shù)據(jù); 采用第二預(yù)設(shè)校驗字段生成方式對該中間數(shù)據(jù)和該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息進行處理以生成第三校驗字段; 其中,該第一預(yù)設(shè)校驗字段生成方式和第二預(yù)設(shè)校驗字段生成方式由發(fā)送端和接收端來共同確定。
6.如權(quán)利要求3或4或5所述的數(shù)據(jù)包的封裝方法,其特征在于,所述第一預(yù)設(shè)校驗字段生成方式為循環(huán)冗余校驗。
7.如權(quán)利要求5所述的數(shù)據(jù)包的封裝方法,其特征在于,所述第二預(yù)設(shè)校驗字段生成方式包括異或運算、加法運算、減法運算和乘法運算中的任一種運算方式。
8.一種數(shù)據(jù)包的校驗方法,其特征在于,所述數(shù)據(jù)包由權(quán)利要求1所述的數(shù)據(jù)包的封裝方法封裝后填充至基帶幀在信道中傳輸后于接收端恢復(fù)得到,所述校驗方法包括: 從一個或多個基帶幀數(shù)據(jù)域中獲取完整的數(shù)據(jù)包,該完整的數(shù)據(jù)包包括信息碼和校驗字段; 根據(jù)基帶幀幀頭中的校驗算法標志位中標志的預(yù)設(shè)校驗字段生成方式與校驗字段長度,從該數(shù)據(jù)包的末尾截取校驗字段,數(shù)據(jù)包的剩余內(nèi)容作為信息碼; 對接收到的數(shù)據(jù)包的信息碼以及數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息進行校驗計算以得到待比較校驗字段; 比較該待比較校驗字段與獲取到的校驗字段是否一致; 若兩者一致,則確定該數(shù)據(jù)包接收正確。
9.如權(quán)利要求8所述的數(shù)據(jù)包的校驗方法,其特征在于,所述從一個或多個基帶幀數(shù)據(jù)域中獲取完整的數(shù)據(jù)包包括如下步驟: 從當(dāng)前的基帶幀數(shù)據(jù)域的起始位置開始依次讀取數(shù)據(jù)包,其中所述起始位置由基帶幀幀頭中的起始位置字段來確定; 通過位于數(shù)據(jù)包頭部的 包長字段是否為零來判斷該數(shù)據(jù)包是否完整地承載于當(dāng)前的基帶幀數(shù)據(jù)域; 若該數(shù)據(jù)包未完整地承載于當(dāng)前的基帶幀數(shù)據(jù),則將當(dāng)前基帶幀起始位置開始至數(shù)據(jù)域末尾的所有數(shù)據(jù)作為該數(shù)據(jù)包的第一塊,并繼續(xù)從后續(xù)的若干個基帶幀數(shù)據(jù)域中讀取該數(shù)據(jù)包的剩余分塊并依順序與該數(shù)據(jù)包的第一塊進行拼接以得到該數(shù)據(jù)包的信息碼及校驗字段,其中該數(shù)據(jù)包的剩余分塊是根據(jù)基帶幀幀頭中的起始位置字段和數(shù)據(jù)域長度字段之間的關(guān)系來確定的; 若該數(shù)據(jù)包完整地承載于當(dāng)前的基帶幀數(shù)據(jù),則從當(dāng)前的基帶幀數(shù)據(jù)域的起始位置開始并根據(jù)該數(shù)據(jù)包頭部的包長獲取該數(shù)據(jù)包的信息碼及校驗字段; 記錄組裝該數(shù)據(jù)包的信息碼及校驗字段的基帶幀的個數(shù)以確定該數(shù)據(jù)包被分塊次數(shù)的數(shù)據(jù)信息。
10.如權(quán)利要求8所述的數(shù)據(jù)包的校驗方法,其特征在于,所述該數(shù)據(jù)包的剩余分塊根據(jù)基帶幀幀頭中的起始位置字段和數(shù)據(jù)域長度字段之間的關(guān)系來確定包括如下情形: 1)若某個基帶幀幀頭中的起始位置字段大于數(shù)據(jù)域長度字段,則確定該基帶幀數(shù)據(jù)域全部用于承載數(shù)據(jù)包的剩余分塊中的一個數(shù)據(jù)塊,且該數(shù)據(jù)包的傳輸未完成; 2)若某個基帶幀幀頭中的起始位置字段等于數(shù)據(jù)域長度字段,則確定該基帶幀數(shù)據(jù)域全部用于承載該數(shù)據(jù)包,且該數(shù)據(jù)包的傳輸已經(jīng)完成; 3)若某個基帶幀幀頭中的起始位置字段小于數(shù)據(jù)域長度字段,則該基帶基數(shù)據(jù)域頭部至起始位置之間的數(shù)據(jù)為該數(shù)據(jù)包的剩余分塊中的最后一個數(shù)據(jù)塊。
11.一種數(shù)據(jù)包的傳輸方法,其特征在于,包括: 將當(dāng)前待傳輸?shù)臄?shù)據(jù)包依次填充至一個或多個基帶幀數(shù)據(jù)域; 生成該數(shù)據(jù)包的校驗字段,其中所述校驗字段根據(jù)該數(shù)據(jù)包的信息碼和該數(shù)據(jù)包在填充至基帶幀數(shù)據(jù)域的過程中被分塊次數(shù)的數(shù)據(jù)信息來確定; 將該校驗字段拼接至該數(shù)據(jù)包的信息碼的末尾以完成該數(shù)據(jù)包的封裝;將承載于該數(shù)據(jù)包的一個或多個 基帶幀經(jīng)由信道傳輸至接收端。
【文檔編號】H04L1/00GK103595504SQ201310533289
【公開日】2014年2月19日 申請日期:2013年11月4日 優(yōu)先權(quán)日:2013年11月4日
【發(fā)明者】張文軍, 張婭, 張震寧, 應(yīng)小青, 項立任, 史夢蕾 申請人:上海數(shù)字電視國家工程研究中心有限公司