專利名稱:一種數(shù)據(jù)傳輸方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)傳輸方法及裝置。
背景技術(shù):
數(shù)據(jù)在網(wǎng)絡(luò)/通信信道上被分割成數(shù)據(jù)包進行傳輸。為了提高數(shù)據(jù)傳輸?shù)目煽啃?,通常需要利用網(wǎng)絡(luò)協(xié)議或編碼來提供糾錯機制。例如,數(shù)據(jù)在因特網(wǎng)上傳輸時,需要利用傳輸控制協(xié)議(Transmission Control Protocol,簡稱TCP)提供的檢錯重發(fā)機制進行數(shù)據(jù)的可靠傳輸,即當(dāng)檢測到數(shù)據(jù)包丟失時通知發(fā)送方重新發(fā)送。
但是,在多媒體廣播信道中傳輸數(shù)據(jù)時,由于使用單向信道,并且數(shù)據(jù)是采用一對多的廣播/多播方式發(fā)送,不允許接收端向發(fā)送端反饋數(shù)據(jù)包丟失和出錯信息,無法使用上述檢錯重發(fā)機制。在這種情況下,數(shù)據(jù)包在發(fā)送前需要進行前向糾錯(FEC)編碼。經(jīng)典的應(yīng)用層FEC包括RS(Reed-Solomon,里德.所羅門)碼和數(shù)字噴泉碼(Fountain codes)等。RS碼的編譯碼復(fù)雜度較高,一般只適用于碼長比較小的情況。LT(LubyTransform,陸柏變換)碼和Raptor(瑞普特)碼是兩種可實際應(yīng)用的數(shù)字噴泉碼。LT碼具有線性的編碼和譯碼時間,相對于RS碼有著本質(zhì)的提高;而Raptor碼由于采用了預(yù)編碼技術(shù),因此具有更高的譯碼效率。在3GPP(3rdGeneration Partnership Project,第三代合作伙伴計劃)的組播廣播多媒體業(yè)務(wù)(Multimedia Broadcast/Multicast Service,簡稱MBMS)以及數(shù)字視頻廣播(Digital Video Broadcasting,簡稱DVB)中都采用了Digital Fountain(數(shù)字噴泉)公司的Raptor碼作為其FEC編碼方案。
若編碼后碼字的前K位與信息位相同,則稱該碼為系統(tǒng)碼。編碼的過程就是由K個信息位生成N位碼長的過程,通過增加N-K個校驗位來達到檢錯和糾錯的目的。LT碼不支持系統(tǒng)碼的編碼方式,因此難以滿足某些實際的FEC編碼需求;Raptor碼支持系統(tǒng)碼,但是需要單獨的預(yù)編碼過程,即需要一個預(yù)編碼矩陣,因此編碼的復(fù)雜度較高。
由于上述編碼方法的缺點,因此引入了LDGC(Low Density GeneratorMatrix Codes,低密度生成矩陣碼)。LDGC是一種線性分組碼,其生成矩陣(編碼矩陣)中的非零元素通常是稀疏的,同時,LDGC碼還是一種系統(tǒng)碼。
圖1是LDGC生成矩陣的示意圖。如圖1所示,LDGC的生成矩陣Gldgc中的前L行對應(yīng)的方陣通常是一個上三角或下三角矩陣,該矩陣求逆可以通過迭代的方法完成。其中,圖1中的x,y可以為0。
圖2是譯碼時根據(jù)接收碼字的擦除情況對LDGC生成矩陣進行相應(yīng)的擦除操作的示意圖。
如圖2所示,若數(shù)據(jù)在傳輸時出現(xiàn)錯誤(稱作數(shù)據(jù)被擦除),接收端在使用生成矩陣Gldgc進行譯碼前需要對Gldgc進行相應(yīng)的擦除操作。即假設(shè)N比特長度的序列R(r0,r1,......rN-1)中的符號{ri,ri+1,...,ri+X1}和{rj,rj+1,...,rj+X2}被信道擦除掉,則Gldgc中的第{i,i+1,...i+X1}行和第{j,j+1,...j+X2}行也需要被擦除,得到擦除生成矩陣Ge。注意到,對于相同的數(shù)據(jù)丟失/差錯情況,Ge是相同的。
現(xiàn)有技術(shù)中,使用LDGC等FEC編碼、譯碼方法進行數(shù)據(jù)傳輸時,發(fā)送方對數(shù)據(jù)包進行FEC編碼,接收方根據(jù)每一數(shù)據(jù)包的傳輸情況生成對應(yīng)的擦除生成矩陣Ge,并使用Ge對該數(shù)據(jù)包進行譯碼。這種數(shù)據(jù)傳輸方法的效率較低,并且在數(shù)據(jù)包中數(shù)據(jù)差錯過多時無法進行有效的譯碼,只能將整個數(shù)據(jù)包丟棄,在網(wǎng)絡(luò)/信道條件較差時,數(shù)據(jù)的傳輸效率大大降低。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,克服現(xiàn)有技術(shù)的不足,提出一種提高數(shù)據(jù)傳輸效率,加快數(shù)據(jù)譯碼等處理速度的數(shù)據(jù)傳輸方法及裝置。
為了解決上述問題,本發(fā)明提供一種數(shù)據(jù)傳輸方法,其特征在于,該方法包含如下步驟 A將待發(fā)送數(shù)據(jù)分割成長度為Tb比特的信息文件片; B對由多個連續(xù)的信息文件片中相同位置的比特組成的Tb個信息比特序列進行前向糾錯編碼,生成Tb個校驗比特序列;并將校驗比特序列的各比特依序放入校驗文件片中與相應(yīng)的信息比特序列相同的位置; C依序發(fā)送各信息文件片和校驗文件片; 所述信息比特序列中包含的比特數(shù)小于或等于前向糾錯編碼的信息比特序列的最大長度Kmax比特。
此外,步驟B中,將第i個校驗比特序列的第j個比特放入第j個校驗文件片中的第i個比特位置;所述第i個信息比特序列由所述多個連續(xù)的信息文件片中的第i個比特依序組成;i=1,...,Tb。
此外,步驟C中,將信息文件片和校驗文件片封裝在傳輸包中發(fā)送;所述傳輸包的包頭中包含文件片序號。
此外,按照如下方法將所述待發(fā)送數(shù)據(jù)分成Z個文件塊,每個文件塊中包含多個連續(xù)的信息文件片 a)根據(jù)所述待發(fā)送數(shù)據(jù)的長度F字節(jié),計算所述待發(fā)送數(shù)據(jù)中包含的信息文件片的總數(shù)Kt
b)計算文件塊總數(shù)Z
c)若Kt/Kmax為整數(shù),則每個文件塊中包含Kmax個信息文件片; 所述步驟B中,對一個文件塊中包含的所述多個信息文件片進行所述FEC編碼,生成該文件塊的所述校驗文件片;T=Tb/8。
此外,若Kt/Kmax不是整數(shù),則按照如下方法計算每個文件塊中包含的信息文件片的個數(shù) d)在ZL個文件塊中包含
個信息文件片;在ZS個文件塊中包含
個信息文件片; 按照如下公式計算zL和ZS 若KL>KS,則,ZL=(Kt-KS×Z)/(KL-KS),若KL=KS,則,ZL=Z;ZS=Z-ZL。
此外,所述傳輸包中包含一個信息文件片或校驗文件片。
此外,所述FEC編碼為系統(tǒng)碼。
此外,所述FEC編碼為LDGC。
此外,所述傳輸包的包頭中包含用于標(biāo)識所述待發(fā)送數(shù)據(jù)的資源標(biāo)識,和用于標(biāo)識所述待發(fā)送數(shù)據(jù)的版本信息的更新序號。
本發(fā)明還提供一種數(shù)據(jù)傳輸裝置,包含數(shù)據(jù)包封裝傳輸單元,其特征在于,該裝置還包含數(shù)據(jù)分割單元,存儲器,F(xiàn)EC編碼單元;其中 所述數(shù)據(jù)分割單元用于將待發(fā)送數(shù)據(jù)分割成長度為Tb比特的信息文件片,并將所述信息文件片依序存儲在所述存儲器中; 所述FEC編碼單元用于對由多個連續(xù)的信息文件片中相同位置的比特組成的Tb個信息比特序列進行前向糾錯編碼,生成Tb個校驗比特序列;并將校驗比特序列的各比特依序放入校驗文件片中與相應(yīng)的信息比特序列相同的位置;所述校驗文件片存儲在所述存儲器中; 所述數(shù)據(jù)包封裝傳輸單元用于依序發(fā)送所述存儲器中的各信息文件片和校驗文件片; 所述信息比特序列中包含的比特數(shù)小于或等于前向糾錯編碼的信息比特序列的最大長度Kmax比特。
此外,所述FEC編碼單元將第i個校驗比特序列的第j個比特放入第j個校驗文件片中的第i個比特位置; 所述第i個信息比特序列由所述多個連續(xù)的信息文件片中的第i個比特依序組成;i=1,...,Tb。
此外,所述裝置還包含參數(shù)設(shè)置單元,其中 所述參數(shù)設(shè)置單元用于根據(jù)所述待發(fā)送數(shù)據(jù)的字節(jié)長度F,計算所述待發(fā)送數(shù)據(jù)中包含的信息文件片的總數(shù)Kt
并計算文件塊總數(shù)Z
若Kt/Kmax為整數(shù),則將每個文件塊中包含的信息文件片個數(shù)設(shè)置為Kmax; 所述FEC編碼單元根據(jù)所述參數(shù)設(shè)置單元輸出的文件塊中包含信息文件片的個數(shù),對同一文件塊中的Kmax個信息文件片進行所述前向糾錯編碼,生成該文件塊的所述校驗文件片; 其中,T=Tb/8。
此外,若Kt/Kmax不是整數(shù),則所述參數(shù)設(shè)置單元將ZL個文件塊中包含的信息文件片個數(shù)設(shè)置為
將ZS個文件塊中包含的信息文件片個數(shù)設(shè)置為
所述FEC編碼單元根據(jù)所述參數(shù)設(shè)置單元輸出的文件塊中包含信息文件片的個數(shù),對同一文件塊中的KL或KS個信息文件片進行所述前向糾錯編碼,生成該文件塊的所述校驗文件片; 其中,若KL>KS,則,ZL=(Kt-KS×Z)/(KL-KS),若KL=KS,則,ZL=Z;Zs=Z-ZL。
此外,所述數(shù)據(jù)包封裝傳輸單元將信息文件片和校驗文件片封裝在傳輸包中發(fā)送;所述傳輸包的包頭中包含文件片序號。
此外,所述FEC編碼單元采用系統(tǒng)碼進行所述前向糾錯編碼。
此外,所述FEC編碼單元采用LDGC進行所述前向糾錯編碼。
綜上所述,采用本發(fā)明的數(shù)據(jù)傳輸方法及裝置大大減少了接收端的譯碼工作量;此外,由于一個數(shù)據(jù)包/信息文件片的丟失不會造成接收端碼字的大量信息丟失(擦除),譯碼的成功率、數(shù)據(jù)傳輸?shù)目煽啃源蠓岣摺?br>
圖1是LDGC生成矩陣的示意圖; 圖2是譯碼時根據(jù)接收碼字的擦除情況對LDGC生成矩陣進行相應(yīng)的擦除操作的示意圖; 圖3是本發(fā)明實施例數(shù)據(jù)傳輸方法流程圖; 圖4為采用本發(fā)明的方法對文件塊中的各信息文件片進行FEC編碼的示意圖; 圖5為本發(fā)明的傳輸包結(jié)構(gòu)示意圖; 圖6為本發(fā)明實施例數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖。
具體實施例方式 本發(fā)明的基本思路是,將數(shù)據(jù)分割成固定長度的信息文件片,將多個信息文件片中相同位置的比特組成的信息比特序列進行FEC編碼生成校驗文件片后,將各信息文件片和校驗文件片封裝在數(shù)據(jù)包中傳輸。
下面將結(jié)合附圖和實施例對本發(fā)明進行詳細描述。
圖3是本發(fā)明實施例數(shù)據(jù)傳輸方法流程圖。如圖3所示,該方法包含如下步驟 101根據(jù)待發(fā)送的文件數(shù)據(jù)的長度,計算信息文件片的個數(shù); 文件數(shù)據(jù)的長度為F字節(jié),信息文件片的長度為T字節(jié),則待發(fā)送文件數(shù)據(jù)被分割為
個信息文件片。其中,
表示向上取整運算。
若F/T不是整數(shù),則需要對最后一個信息文件片進行填充。
例如,F(xiàn)=10240000字節(jié),T=512字節(jié),則
即,文件數(shù)據(jù)被分為20000個信息文件片。
102根據(jù)FEC編碼器所允許的信息比特序列的最大長度及信息文件片的個數(shù)計算文件塊的個數(shù); FEC編碼器所允許的信息比特序列的最大長度為Kmax,Kmax一般不超過8192比特,則文件塊的個數(shù)
根據(jù)上例,若Kmax=8000比特,則一個文件數(shù)據(jù)分成的文件塊數(shù)
103根據(jù)文件塊的個數(shù),計算每個文件塊中包含的信息文件片個數(shù)K;將文件數(shù)據(jù)分成Z=ZL+ZS個文件塊。其中,在前ZL個文件塊中,每個文件塊包含
個信息文件片,稱為文件長塊;在后ZS個文件塊中,每個文件塊包含
個信息文件片,稱為文件短塊。其中,
表示向下取整運算。
上述ZL,ZS采用如下公式計算 若KL>KS,則,ZL=(Kt-KS×Z)/(KL-KS),若KL=KS,則,ZL=Z;Zs=Z-ZL。
根據(jù)上例,Kt=20000時
ZL=(Kt-KS×Z)/(KL-KS)=(20000-6666×3)/(6667-6666)=2; Zs=Z-ZL=3-2=1。
即,前2個文件塊中每個文件塊包含6667個信息文件片,最后一個文件塊包含6666個信息文件片。
采用這種信息文件片的分配方法的主要目的是,避免最后一個文件塊中包含的信息文件片很少。由于本發(fā)明在后續(xù)步驟中,根據(jù)文件塊中包含的信息文件片的個數(shù),從文件塊中取出相應(yīng)個數(shù)的比特進行編碼。編碼的碼字越小,編碼、譯碼的效果越差,因此避免文件塊中包含的信息文件片個數(shù)過小,就是避免編碼、譯碼的效率過低。
當(dāng)然,若Kt/Kmax為整數(shù)(即Kt/Z為整數(shù)),則每個文件塊中包含相同的信息文件片數(shù)K=Kmax,無需區(qū)分文件長塊和文件短塊。
104根據(jù)上述計算得到的信息文件片的個數(shù)Kt,文件塊個數(shù)Z和文件塊中包含的信息文件片數(shù)K,將待發(fā)送文件數(shù)據(jù)連續(xù)分割成Kt個長度為T字節(jié)的信息文件片;并依序?qū)⒏餍畔⑽募M行分組,劃分成Z個文件塊。
若Kt/Kmax不是整數(shù);上述Z個文件塊中包含ZL個文件長塊和ZS個文件短塊。文件長塊中包含KL個信息文件片,文件短塊中包含KS個信息文件片。
此外,還需要為各文件塊中的每個信息文件片分配一個在文件塊內(nèi)唯一的文件片序號(Data Segment Index,簡稱DSI)。其中,DSI是正整數(shù)。
例如某個文件塊的第一個信息文件片的DSI為0,第二個為1,依次類推。
105對每個文件塊中各信息文件片的相同位置的比特組成的信息比特序列進行FEC編碼,生成校驗比特序列;并將校驗比特序列的各比特依次放入校驗文件片的相同位置; 對每個文件塊中各信息文件片的第j個比特所組成的信息比特序列進行FEC編碼,生成第j個校驗比特序列,將該校驗比特序列的第m個比特放入該文件塊的第m個校驗文件片的第j個比特位置; 上述j=1,2,....,T;m=1,...,M;M為校驗比特序列的長度。
上述信息比特序列的長度與文件塊中包含的信息文件片的個數(shù)K相同。即對于文件長塊,各信息比特序列的長度為KL;對于文件短塊,各信息比特序列的長度為KS。
對于不同的文件塊,由于信息比特序列的長度可能不同,因此M值也可能不同。
圖4為采用本發(fā)明的方法對文件塊中的各信息文件片進行FEC編碼的示意圖。
如圖4所示,文件塊中包含多個信息文件片和校驗文件片。每個信息文件片包含Tb=8×T比特,每個文件片中位置相同的比特組成信息比特序列;對每個信息比特序列進行FEC編碼生成校驗比特序列。
因此,每個文件塊包含8×T個信息比特序列和校驗比特序列。信息比特序列的長度為K比特,若Kt/Kmax不是整數(shù),K=KL或KS;校驗比特序列的長度與信息比特序列的長度和FEC編碼算法有關(guān)。
本實施例中,F(xiàn)EC編碼算法采用系統(tǒng)碼,例如LDGC,即對于長度為K比特的信息比特序列,編碼后生成的碼字的前K比特與信息比特序列相同,我們將碼字的后續(xù)比特組成的序列稱為校驗比特序列。
也就是說,1個碼字由1個信息比特序列和1個校驗比特序列組成。
106對文件塊中的信息文件片的各比特編碼完成后,依序?qū)⒏餍畔⑽募托r炍募庋b在傳輸包中傳輸。
圖5為本發(fā)明的傳輸包結(jié)構(gòu)示意圖。如圖5所示,傳輸包由包頭(HDR)和有效載荷(payload)兩部分組成。
包頭中包含資源標(biāo)識,文件塊序號(SBN),文件片序號(DSI),以及更新序號。
資源標(biāo)識用于標(biāo)識該傳輸包中傳輸?shù)臄?shù)據(jù)(信息文件片或校驗文件片)所屬的文件/資源。
文件塊序號用于標(biāo)識該傳輸包中傳輸?shù)臄?shù)據(jù)(信息文件片或校驗文件片)所屬的文件塊的序號。
文件片序號為該傳輸包中傳輸?shù)男畔⑽募蛐r炍募男蛱枴?br>
更新序號為該傳輸包中傳輸?shù)臄?shù)據(jù)(信息文件片或校驗文件片)所屬的文件/資源的版本號。
若1個傳輸包中包含多個文件片,則文件片序號字段為該傳輸包中包含的第1個文件片的DSI。
傳輸包分為兩類信息傳輸包和校驗傳輸包。
信息傳輸包的凈荷部分只有信息文件片;校驗傳輸包的凈荷部分只有校驗文件片。因此,信息傳輸包的DSI應(yīng)該小于K,或KL(對應(yīng)于長文件塊)或Ks(對應(yīng)于短文件塊);校驗傳輸包的DSI應(yīng)該大于或等于K,或KL(對應(yīng)于長文件塊),或Ks(對應(yīng)于短文件塊)。
每個傳輸包的凈荷部分可包含G個文件片,G的大小通過下式確定 G=min{P/T,Gmax}; 其中P是最大傳輸包的凈荷的大小,Gmax是傳輸包中所能允許的最大文件片個數(shù)。
例如,P=512是最大傳輸包的凈荷的大小,Gmax=10是傳輸包中所能允許的最大文件片個數(shù)。傳輸包凈荷部分包含G=min{P/T,Gmax}=min{1,10}=1個文件片。
傳輸包凈荷部分也可以包含多個文件片,即T的大小可以根據(jù)P的大小而改變。
綜上所述,本發(fā)明將文件數(shù)據(jù)分割成大小相同的信息文件片,并對分在同一個文件塊的信息文件片的位置相同的各比特分別進行FEC編碼;因此,在傳輸過程中,任何一個信息文件片的丟失(擦除)都僅影響接收端譯碼所使用的碼字的一個比特;并且譯碼所使用的譯碼矩陣(例如LDGC生成矩陣)對于8×T個碼字,可進行相同的行擦除、求逆矩陣等操作,大大減少了接收端的譯碼工作量。同時,由于一個信息文件片的丟失不會造成接收端碼字的大量信息丟失(擦除),譯碼的成功率、數(shù)據(jù)傳輸?shù)目煽啃源蠓岣摺?br>
根據(jù)本發(fā)明的基本原理,上述實施例還可以進行多種變換,例如 (一)上述實施例中,1個信息比特序列包含了1個文件片中的1個比特; 在另一實施例中,1個信息比特序列可包含1個文件片中相鄰的多個比特。在這種情況下,若傳輸過程中丟失一個文件片,接收端接收到的碼字會丟失(擦除)多個比特,會在一定程度上影響譯碼的成功率。
(二)除了LDGC以外,本發(fā)明的FEC編碼方法還可以采用Raptor(瑞普特)碼等系統(tǒng)碼。
(三)上述實施例中,文件塊中包含的文件片的個數(shù)根據(jù)FEC編碼器允許的信息比特序列的最大長度以及信息文件片的個數(shù)(文件數(shù)據(jù)的大小)預(yù)先設(shè)定; 在另一實施例中,文件塊中包含的文件片的個數(shù)可以根據(jù)信道質(zhì)量等因素動態(tài)調(diào)整,當(dāng)然不能超過FEC編碼器允許的信息比特序列的最大長度。在這種情況下,接收端可以根據(jù)傳輸包中的文件塊序號推算一個文件塊中包含的文件片(包含信息文件片和校驗文件片)的個數(shù),進而推算信息文件片的個數(shù)以及校驗文件片的個數(shù)。也可以在傳輸包的包頭中增加文件片個數(shù)字段。當(dāng)然,這樣會在一定程度上增加譯碼的復(fù)雜度。
(四)上述實施例中,將文件片封裝在傳輸包中發(fā)送; 在另一實施例中,對于廣播信道中的流媒體應(yīng)用,上述包頭的各字段為可選字段,將固定個數(shù)的文件片封裝在鏈路層數(shù)據(jù)包中傳輸;接收端依靠鏈路層協(xié)議識別和接收各文件片。當(dāng)然,在這種情況下,每次FEC編碼的碼字長度為發(fā)送端和接收端預(yù)先設(shè)定的固定數(shù)值。
圖6為本發(fā)明實施例數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖。如圖6所示,該裝置包含參數(shù)設(shè)置單元,數(shù)據(jù)分割單元,存儲器,F(xiàn)EC編碼單元,數(shù)據(jù)包封裝傳輸單元。其中, 參數(shù)設(shè)置單元,用于根據(jù)待發(fā)送數(shù)據(jù)的字節(jié)長度F計算信息文件片的總數(shù)Kt、文件塊總數(shù)Z(或ZL和ZS)以及文件塊中包含的信息文件片的個數(shù)Kmax(或KL和KS)。具體計算方法如上所述。
數(shù)據(jù)分割單元,用于將待發(fā)送數(shù)據(jù)分割成長度為Tb=8×T比特的信息文件片,并將各文件片依序存儲在存儲器中。
FEC編碼單元,用于對存儲器中由多個連續(xù)的信息文件片中相同位置的比特組成的Tb個信息比特序列進行FEC編碼,生成Tb個校驗比特序列;并將校驗比特序列的各比特依序放入校驗文件片中與相應(yīng)的信息比特序列相同的位置;校驗文件片存儲在存儲器中; 優(yōu)選地,F(xiàn)EC編碼單元根據(jù)參數(shù)設(shè)置單元輸出的參數(shù)(T,Kmax,或KL和KS),對存儲器中存儲的一個文件塊的第i個信息比特序列進行FEC編碼,生成第i個校驗比特序列;并將第i個校驗比特序列的第j個比特放入該文件塊的第j個校驗文件片中的第i個比特位置;上述i=1,...,Tb; 其中,一個文件塊由連續(xù)的Kmax(或KL和KS)個信息文件片組成; 上述第i個信息比特序列由文件塊中的各信息文件片的第i個比特依序組成; 優(yōu)選地,F(xiàn)EC編碼單元采用系統(tǒng)碼,尤其是LDGC進行所述FEC編碼。
數(shù)據(jù)包封裝傳輸單元,用于依序發(fā)送存儲器中的各信息文件片和校驗文件片; 優(yōu)選地,數(shù)據(jù)包封裝傳輸單元用于將信息文件片和校驗文件片封裝在傳輸包中發(fā)送;所述傳輸包的包頭中包含文件片序號,用于標(biāo)識所述待發(fā)送數(shù)據(jù)的資源標(biāo)識,和用于標(biāo)識所述待發(fā)送數(shù)據(jù)的版本信息的更新序號;所述傳輸包中包含一個信息文件片或校驗文件片。
權(quán)利要求
1、一種數(shù)據(jù)傳輸方法,其特征在于,該方法包含如下步驟
A將待發(fā)送數(shù)據(jù)分割成長度為Tb比特的信息文件片;
B對由多個連續(xù)的信息文件片中相同位置的比特組成的Tb個信息比特序列進行前向糾錯編碼,生成Tb個校驗比特序列;并將校驗比特序列的各比特依序放入校驗文件片中與相應(yīng)的信息比特序列相同的位置;
C依序發(fā)送各信息文件片和校驗文件片;
所述信息比特序列中包含的比特數(shù)小于或等于前向糾錯編碼的信息比特序列的最大長度Kmax比特。
2、如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,
步驟B中,將第i個校驗比特序列的第j個比特放入第j個校驗文件片中的第i個比特位置;所述第i個信息比特序列由所述多個連續(xù)的信息文件片中的第i個比特依序組成;i=1,...,Tb。
3、如權(quán)利要求2所述的數(shù)據(jù)傳輸方法,其特征在于,步驟C中,將信息文件片和校驗文件片封裝在傳輸包中發(fā)送;所述傳輸包的包頭中包含文件片序號。
4、如權(quán)利要求3所述的數(shù)據(jù)傳輸方法,其特征在于,
按照如下方法將所述待發(fā)送數(shù)據(jù)分成Z個文件塊,每個文件塊中包含多個連續(xù)的信息文件片
a)根據(jù)所述待發(fā)送數(shù)據(jù)的長度F字節(jié),計算所述待發(fā)送數(shù)據(jù)中包含的信息文件片的總數(shù)Kt
b)計算文件塊總數(shù)Z
c)若Kt/Kmax為整數(shù),則每個文件塊中包含Kmax個信息文件片;
所述步驟B中,對一個文件塊中包含的所述多個信息文件片進行所述FEC編碼,生成該文件塊的所述校驗文件片;T=Tb/8。
5、如權(quán)利要求4所述的數(shù)據(jù)傳輸方法,其特征在于,若Kt/Kmax不是整數(shù),則按照如下方法計算每個文件塊中包含的信息文件片的個數(shù)
d)在ZL個文件塊中包含
個信息文件片;在ZS個文件塊中包含
個信息文件片;
按照如下公式計算ZL和ZS
若KL>KS,則,ZL=(Kt-Ks×Z)/(KL-KS),若KL=KS,則,ZL=Z;Zs=Z-ZL。
6、如權(quán)利要求3所述的數(shù)據(jù)傳輸方法,其特征在于,所述傳輸包中包含一個信息文件片或校驗文件片。
7、如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,所述FEC編碼為系統(tǒng)碼。
8、如權(quán)利要求7所述的數(shù)據(jù)傳輸方法,其特征在于,所述FEC編碼為LDGC。
9、如權(quán)利要求3所述的數(shù)據(jù)傳輸方法,其特征在于,所述傳輸包的包頭中包含用于標(biāo)識所述待發(fā)送數(shù)據(jù)的資源標(biāo)識,和用于標(biāo)識所述待發(fā)送數(shù)據(jù)的版本信息的更新序號。
10、一種數(shù)據(jù)傳輸裝置,包含數(shù)據(jù)包封裝傳輸單元,其特征在于,該裝置還包含數(shù)據(jù)分割單元,存儲器,F(xiàn)EC編碼單元;其中
所述數(shù)據(jù)分割單元用于將待發(fā)送數(shù)據(jù)分割成長度為Tb比特的信息文件片,并將所述信息文件片依序存儲在所述存儲器中;
所述FEC編碼單元用于對由多個連續(xù)的信息文件片中相同位置的比特組成的Tb個信息比特序列進行前向糾錯編碼,生成Tb個校驗比特序列;并將校驗比特序列的各比特依序放入校驗文件片中與相應(yīng)的信息比特序列相同的位置;所述校驗文件片存儲在所述存儲器中;
所述數(shù)據(jù)包封裝傳輸單元用于依序發(fā)送所述存儲器中的各信息文件片和校驗文件片;
所述信息比特序列中包含的比特數(shù)小于或等于前向糾錯編碼的信息比特序列的最大長度Kmax比特。
11、如權(quán)利要求10所述的裝置,其特征在于,
所述FEC編碼單元將第i個校驗比特序列的第j個比特放入第j個校驗文件片中的第i個比特位置;
所述第i個信息比特序列由所述多個連續(xù)的信息文件片中的第i個比特依序組成;i=1,...,Tb。
12、如權(quán)利要求10所述的裝置,其特征在于,所述裝置還包含參數(shù)設(shè)置單元,其中
所述參數(shù)設(shè)置單元用于根據(jù)所述待發(fā)送數(shù)據(jù)的字節(jié)長度F,計算所述待發(fā)送數(shù)據(jù)中包含的信息文件片的總數(shù)Kt
并計算文件塊總數(shù)Z
若Kt/Kmax為整數(shù),則將每個文件塊中包含的信息文件片個數(shù)設(shè)置為Kmax;
所述FEC編碼單元根據(jù)所述參數(shù)設(shè)置單元輸出的文件塊中包含信息文件片的個數(shù),對同一文件塊中的Kmax個信息文件片進行所述前向糾錯編碼,生成該文件塊的所述校驗文件片;
其中,T=Tb/8。
13、如權(quán)利要求12所述的裝置,其特征在于,
若Kt/Kmax不是整數(shù),則所述參數(shù)設(shè)置單元將ZL個文件塊中包含的信息文件片個數(shù)設(shè)置為
將ZS個文件塊中包含的信息文件片個數(shù)設(shè)置為
所述FEC編碼單元根據(jù)所述參數(shù)設(shè)置單元輸出的文件塊中包含信息文件片的個數(shù),對同一文件塊中的KL或KS個信息文件片進行所述前向糾錯編碼,生成該文件塊的所述校驗文件片;
其中,若KL>KS,則,ZL=(Kt-Ks×Z)/(KL-KS),若KL=KS,則,ZL=Z;Zs=Z-ZL。
14、如權(quán)利要求10所述的裝置,其特征在于,所述數(shù)據(jù)包封裝傳輸單元將信息文件片和校驗文件片封裝在傳輸包中發(fā)送;所述傳輸包的包頭中包含文件片序號。
15、如權(quán)利要求10所述的裝置,其特征在于,所述FEC編碼單元采用系統(tǒng)碼進行所述前向糾錯編碼。
16、如權(quán)利要求15所述的裝置,其特征在于,所述FEC編碼單元采用LDGC進行所述前向糾錯編碼。
全文摘要
一種數(shù)據(jù)傳輸方法及裝置,該方法包含如下步驟將待發(fā)送數(shù)據(jù)分割成長度為Tb比特的信息文件片;對由多個連續(xù)的信息文件片中相同位置的比特組成的Tb個信息比特序列進行前向糾錯編碼,生成Tb個校驗比特序列;并將校驗比特序列的各比特依序放入校驗文件片中與相應(yīng)的信息比特序列相同的位置;依序發(fā)送各信息文件片和校驗文件片;所述信息比特序列中包含的比特數(shù)小于或等于前向糾錯編碼的信息比特序列的最大長度Kmax比特。綜上所述,采用本發(fā)明的數(shù)據(jù)傳輸方法大大減少了接收端的譯碼工作量;此外,由于一個數(shù)據(jù)包/信息文件片的丟失不會造成接收端碼字的大量信息丟失(擦除),譯碼的成功率、數(shù)據(jù)傳輸?shù)目煽啃源蠓岣摺?br>
文檔編號H04L1/00GK101459490SQ200810000690
公開日2009年6月17日 申請日期2008年1月14日 優(yōu)先權(quán)日2007年12月13日
發(fā)明者進 許, 方源立, 袁志鋒, 松 李, 俊 徐, 胡留軍 申請人:中興通訊股份有限公司