新四季網

基於前向糾錯保護編碼的數據封裝方法和裝置的製作方法

2024-01-24 07:26:15 1

專利名稱:基於前向糾錯保護編碼的數據封裝方法和裝置的製作方法
技術領域:
本發明涉及計算機應用技術領域,尤其涉及一種基於FEC (Forward ErrorCorrection,前向糾錯保護)的數據封裝方法。
背景技術:
近年來,隨著網絡接入技術的發展,基於網絡的視頻應用,如視頻點播、視頻會議、視頻監控等,正面臨著飛速的發展。在包交換網絡中,由於鏈路擁塞、信道錯誤等原因,數據包錯誤或丟失是不可避免的,因此基於包交換網絡的視頻傳輸面臨著很大的挑戰。原始視頻數據包中包含了一些冗餘信息,該冗餘信息包括存在於幀內的空間冗餘、存在於幀間的時間冗餘以及由人眼視覺系統造成的視覺冗餘。視頻編碼技術可以有效地去除視頻數據包中的冗餘信息,進而壓縮原始視頻。壓縮後的視頻佔用較小的存儲空間和傳輸帶寬,但是視頻編碼引入了數據間的相關性,使得部分視頻數據可能發生丟失或錯誤。分片編碼是面向傳輸的視頻編碼的一個重要組成部分。定義一幀視頻中的一部分宏塊的集合為片,片的分割必須按照光柵掃描順序進行,即在一幀中,同一片中宏塊必須依照從上到下、從左到右的順序且不可中斷。對視頻序列的一幀進行編碼時,可以按照一定的標準將視頻幀中的宏塊劃分到不同的片中。同一幀的各個片在編碼時互相之間不進行參考。視頻碼流傳輸時,如果由於信道錯誤等原因造成一幀中的部分片數據丟失,則該幀中的其它片的解碼不受影響。因此,分片編碼可以有效的提高碼流的抗丟失性能。分片編碼時,可以採用固定宏塊或者固定比特的方法。採用固定宏塊的方法時,單個片中包含固定數目的宏塊數目,但是編碼後的長度不固定;採用固定比特的方法時,單個片中包含小於固定長度的比特數,但是片中包含的宏塊數目不固定。編碼端使用分片編碼時,若定義該幀內的所有片大小均小於網絡最大傳輸單元且每一個片的編碼數據均被封裝在獨立的應用層數據包中,則在其中部分片對應的應用層數據包錯誤或丟失的情況下,其它正確接收的片編碼數據仍然可以被正確使用,從而提高解碼端視頻質量。在傳統的基於包交換的網絡中,數據包丟失是不可避免的問題。FEC (ForwardError Correction,前向糾錯保護)是一種有效的對抗數據包丟失的信道編碼,其具有無需儲存、無需反饋的特點,在單向信道或時延要求較高的應用場景下具有良好的性能。FEC的主要思想是利用糾錯編碼,對待保護數據進行運算生成額外的校驗數據,同時將生成的校驗數據與原始視頻數據一起進行傳輸。在接收端,若原始視頻數據中的部分內容丟失,則可依據採用的編碼技術,在一定範圍內恢復丟失或錯誤的數據。對於應用層前向糾錯編碼方法,校驗數據通過跨數據包對原始數據進行運算生成。數據包丟失位置可以通過判斷頭標等方法確定,即可以確定丟失符號的位置。對原始數據進行前向糾錯保護的時候,如果對數據中的不同部分採用強度不同的前向糾錯編碼,則稱之為UEP (UnequalError Protection,不等差錯保護)。
一個普遍使用的前向糾錯編碼是RS碼。假定待保護數據採用RS(n,k,t)編碼,其中,k表示原始數據符號數目,t為生成的校驗數據符號數目,η為總的符號數目且n=k+t。在符號丟失位置已知的情況下,添加的校驗數據最多可以恢復t個符號。產生的前向糾錯編碼數據需要和原始數據一起被封裝在應用層數據包中才能通過應用層協議,如實時傳輸協議RTP,進行傳輸。定義待保護的數據為NAL (NetworkAbstraction Layer,網絡抽象層)數據包,封裝後的數據為應用層數據包。當視頻編碼採用分片編碼時,不同片編碼後的各個NAL包數據相互獨立且長度無法完全一致,對待保護數據進行FEC編碼時,編碼順序和兩種數據的封裝順序會影響FEC的保護能力以及封裝後碼流的特性。現有技術中的一種基於FEC的數據封裝方法為:順序編碼封裝方法,即FEC編碼順序與最終的數據封裝順序一致。該方法的主要處理過程如下:對待保護數據進行長度規整。可以採用的方法有:1、對待保護數據進行補齊,即對較短的數據包以空白數據填充,使各個數據包長度一致,如圖1所示;2、對待保護數據進行剪切,即將較長的數據包中的部分數據剪切到較短的數據包中,使得各個數據包長度一致,如圖2所示,斜線區域為待保護數據,網格線區域為生成的FEC校驗數據,豎線區域是為了進行長度規整而添加的空白數據,空白區域為進行長度規整而移除的數據,橫線區域為進行長度歸整移入的數據。其次,使用特定的前向糾錯保護編碼算法,如RS碼,跨數據包生成校驗數據,如圖
1、2所示中的校驗數據包。再次,將規整化後的待保護數據和生成的校驗數據分別封裝到應用層數據包中,生成完整的碼流。如圖1、2中所示,封裝後的碼流包含P1、P2、P3、P4、P5共5個完整的應用層數據包和P6、P7兩個封裝了校驗數據的應用層數據包。上述現有技術中的基於FEC的數據封裝方法的缺點為:當視頻編碼採用分片編碼時,各個片的長度無法完全相等。此時,對待保護數據進行前向糾錯編碼時,需要對原始數據進行規整。其中,使用補齊的方法無法最大化利用封裝後的數據包中的可使用空間;使用剪切的方法會打亂待保護數據的原始順序,在丟失數據總量超過前向糾錯編碼保護能力的時候,無法利用已經正確接收的數據。同時,碼流中未保護的數據包中的空閒空間也沒有充分利用。比如,在圖1、圖2所示的情況中,待保護數據佔用5個應用層數據包,產生的校驗數據佔用2個應用層數據包。當使用RS碼生成校驗數據時,如果丟失的應用層數據包數目小於等於2,則可完全恢復出原始數據。如果丟失的應用層數據包數目大於2,則無法恢復原始數據。若對待保護數據的規整採用補齊的方法,則正確接收到的應用層數據包可以被使用;若對待保護數據的規整採用剪切的方法,則接收到的數據完全不可用。

發明內容
本發明實施例提供了一種基於FEC的數據封裝方法,以實現有效地提升碼流的容錯性能。為實現上述的發明目的,本發明採用下述的技術方案:一種基於前向糾錯保護編碼的數據封裝方法,包括:獲取待保護操作對象中所有待保護數據包中包括的基本操作單元BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的BPU數目;
根據所述待保護操作對象中所有待保護數據包中包括的BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的BPU數目獲取FEC校驗符號數目;根據所述FEC的校驗符號數目和待保護操作對象中所有待保護數據包中包括的 數目,通過選取的FEC算法生成所述待保護操作對象中所有待保護數據包的FEC校驗數
據;根據所述待封裝操作對象中所有待封裝數據包最多額外容納的BPU數目和所述FEC校驗符號數目,選取所述FEC校驗符號數目對應的FEC BPU分布;利用所述FEC校驗符號數目對應的FEC BPU分布對所述待保護操作對象中所有待保護數據包的FEC校驗數據和所述待封裝操作對象中所有待封裝數據包進行聚合和封裝。一種基於前向糾錯保護編碼的數據封裝裝置,包括:基本操作單元BPU數目獲取模塊,用於獲取待保護操作對象中所有待保護數據包中包括的BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的BPU數目;FEC校驗符號數獲取模塊,用於根據所述待保護操作對象中所有待保護數據包中包括的BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的BPU數目獲取FEC校驗符號數目;FEC校驗數據生成模塊,用於根據所述FEC的校驗符號數目和待保護操作對象中所有待保護數據包中包括的BPU數目,通過選取的FEC算法生成所述待保護操作對象中所有待保護數據包的FEC校驗數據;數據包封裝模塊,用於根據所述待封裝操作對象中所有待封裝數據包最多額外容納的BPU數目和所述FEC校驗符號數目,選取所述FEC校驗符號數目對應的FEC BPU分布;利用所述FEC校驗符號數目對應的FEC BPU分布對所述待保護操作對象中所有待保護數據包的FEC校驗數據和所述待封裝操作對象中所有待封裝數據包進行聚合和封裝。本發明實施例採用數據包內部封裝的方法,通過有效的利用碼流封裝後大小與數據鏈路層最大傳輸單元之間的冗餘空間,封裝前向糾錯編碼數據,可以最大化利用封裝後的數據包中的空閒空間,能在不增加碼流數據包速率的情況下,有效提升碼流的容錯性能。


圖1為現有技術中的一種順序編碼封裝方法中的對待保護數據包進行補齊規整的不意圖;圖2為現有技術中的一種順序編碼封裝方法中對待保護數據進行剪切規整的示意圖;圖3為本發明實施例一提供的一種基於FEC的數據封裝方法的處理過程示意圖;圖4為本發明實施例一提供的一種基於FEC的數據封裝方法的具體處理流程圖;圖5為本發明實施例二提供的一種操作對象預處理和FEC BPU數據封裝示意圖;圖6為本發明實施例三提供的一種應用本發明實施例的方法進行單層視頻碼流封裝的不意圖;圖7為本發明實施例四提供的一種應用本發明實施例的方法進行多層視頻碼流封裝的不意圖;圖8為本發明實施例提供的一種基於FEC的數據封裝裝置的具體結構圖。
具體實施例方式為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合附圖,以對本發明實施例進行清楚、完整地描述。實施例一該實施例提供的一種基於FEC的數據封裝方法的處理過程示意圖如圖3所示,包括:碼流解析、操作對象預處理、FEC生成、FEC數據封裝等。其中,碼流解析和FEC生成為已有技術。上述方法的具體處理流程如圖4所示,包括如下的處理步驟:步驟4-1、定義操作對象,該操作對象可能是數據碼流中的一個畫面組GOP (Groupof Picture,畫面組)或者一幀。對於多層碼流,不同的操作對象可能位於不同層的數據碼流。上述數據碼流可以為視頻數據碼流。包含有待保護數據包的操作對象稱之為待保護操作對象,其中,待保護數據包可能是部分或者全部的待保護操作對象包含的數據包;用於容納生成的FEC校驗數據的操作對象稱之為待封裝操作對象,其中,待封裝數據包可能是部分或者全部的待封裝操作對象包含的數據包;待保護操作對象和待封裝操作對象可能是同一個操作對象,也可能是處於前後不同位置關係等的不同的操作對象;本實施例中待封裝操作對象總是待保護操作對象的前一個操作對象,並對第一個操作對象作額外保護,所述額外保護包括:不作保護、其它FEC保護、可靠通信、其它信道傳輸等。假設待保護操作對象為I,待封裝操作對象為(1-1)。但本發明應用範圍不局限於此。首先需要對上述操作對象進行預處理,該預處理主要包括:對上述操作對象進行解析,提取操作對象的數據碼流中包括的各個數據包。定義BPU (基本操作單元,Basic Processing Unit),該BPU是一段固定長度的數據塊,一個BPU的長度為B。步驟4-2、判斷讀取的操作對象是不是第一個操作對象,如果不是,則進行步驟4-3,否則,存儲該操作對象並結束處理過程。步驟4-3、獲取操作對象I中的各個待保護數據包,該待保護數據包表示操作對象I中的部分或全部幀對應的數據包,具體可以視不同幀的重要性來設定,如只保護關鍵幀對應的數據包等。將上述操作對象I中所有待保護數據包組成集合G,G中的元素數目|G|=n。獲取操作對象(1-1)中的各個待封裝數據包,該待封裝數據包表示操作對象(1-1)中的部分或者全部數據包,具體可以依據應用場景來設定,如設為碼流中的非關鍵幀數據包或所有數據包,其中,待封裝數據包必須滿足其中可額外容納的BPU數目大於等於
I。將上述操作對象(1-1)中所有待封裝的數據包組成集合U,U中的元素數目為|U|=p。獲取當前操作對象I中的各個待保護數據包中包括的BPU數目和操作對象(1-1)中所述各個待封裝數據包中可以容納的額外FEC BPU數目。假定當前操作對象I中共包含η個待保護數據包,各個待保護數據包長度為U,-,Li,當前操作對象中的第i個待保護數據包中包括的BPU數目Di的計算方法為:Dt=fLt/B\0<i<n
所述B為一個BPU的長度,所述「."]為向上取整操作,表示最後一個不足完整BPU長度的數據包在邏輯上是通過補零變成完整的BPU長度。將所述當前操作對象I中的各個待保護數據包中包括的BPU數目Di組成集合D,D中的元素數目為n, D中的所有元素之和為F。當前操作對象(1-1)中共包含P個待封裝數據包,第i個待封裝數據包中可以容納的額外FEC BPU數目Ei的計算方法為:Ei所述L為網絡最大可允許數據包長度,一個可能的計算方法是:L=MTU (MaximumTransmission Unit,最大傳輸單元)-可能的頭信息長度-用戶自定義信息長度。[_._!表示向下取整操作,所述「.]為向 上取整操作。操作對象(1-1)可容納的額外FEC BPU數目為該操作對象(1_1)中的各個待封裝數據包可容納的額外FEC BPU數目總和:S = Et將待封裝操作對象(1-1)中的各個待封裝數據包中可以額外容納的FEC BPU組成集合E,E中的元素數目為p,E中所有元素之和為S ;步驟4-4、將上述集合G中各個待保護數據包對應的Di (容納的BPU數目)組成集合D。將所有任意選取的D的一個非空子集中的元素的和值的併集作為集合M ;
M= U 剩 O1}
Oc 0,0*0上述集合M的一個具體獲取方法為:從D中任意選取一個、兩個直到η個數值,分別計算每次所選取的所有數值的和值,將所有計算得到的和值組成集合Μ,
Μ={Σ -ο 為G+元素個數為_子集》且其中總元素數目為W,元
\'- xjK1/
P
素分別為K,M1,…,Mw_1;並且元素是從小到大排列的,即滿足Mc^M1〈…〈Md。步驟4-5、依據選用的FEC,選定一個合適的參數K作為FEC的校驗符號數。參數K的選取方法如下:在校驗符號數目為K的情況下,若FEC編碼可以最多糾正f(K)個符號錯誤,從集合M中選取一個小於等於f⑶的最大的Mp選取一個最小的K,使其滿足K彡S且f⑷彡Mp其中,f⑷為選用的FEC編碼在校驗符號數目為K時的最大糾錯能力,f (S)為選用的FEC編碼在校驗符號數目為S時的最大糾錯能力。若無法選出Mp則令K=0。則操作對象I對應的FEC強度為源符號數F、校驗符號數為K。當選用RS碼作為FEC編碼時,f (K) =Κ,若S小於Mtl,則選定參數K=O ;否則,從集合M中選取一個小於等於S的最大的Mp令K = Mp將所述參數K作為FEC的校驗符號數。步驟4-6、判斷校驗符號數K是否等於0,如果是,執行步驟4-9 ;否則,執行步驟4-7。步驟4-7、依據上述確定的操作對象I對應的FEC強度,即總數為F的待保護數據BPU及確定的FEC BPU數目(校驗符號數)K,利用確定的前向糾錯編碼,跨BPU生成FEC校驗數據,該FEC校驗數據中包括K個FEC BPU。一個典型的前向糾錯編碼方法是RS (Reed-Solomon,裡德-所羅門)碼。RS碼是一種多進位BCH碼,其具有運算簡單、糾錯能力強等優點。在位置已知的情況下,RS碼可以糾正與校驗符號數目相等的符號丟失。步驟4-8、選取所述FEC校驗符號數對應的FEC BPU分布,利用所述FEC BPU分布對所述FEC校驗數據和操作對象(1-1)中的各個待封裝數據包進行封裝。選取適當的FEC BPU分布T對生成的FEC校驗數據和存儲的操作對象(1_1)進行封裝。具體處理過程如下:尋找生成的FEC BPU數目K對應的一個分布7' e U滿足下述兩個條件:條件1、T中共有P個元素,各元素分別為tQ,^...,V1, T中各元素\ ( Ei且滿
足和
權利要求
1.一種基於前向糾錯保護編碼的數據封裝方法,其特徵在於,包括: 獲取待保護操作對象中所有待保護數據包中包括的基本操作單元BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的BPU數目; 根據所述待保護操作對象中所有待保護數據包中包括的BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的BPU數目獲取FEC校驗符號數目; 根據所述FEC的校驗符號數目和待保護操作對象中所有待保護數據包中包括的BPU數目,通過選取的FEC算法生成所述待保護操作對象中所有待保護數據包的FEC校驗數據;根據所述待封裝操作對象中所有待封裝數據包最多額外容納的BPU數目和所述FEC校驗符號數目,選取所述FEC校驗符號數目對應的FEC BPU分布; 利用所述FEC校驗符號數目對應的FEC BPU分布對所述待保護操作對象中所有待保護數據包的FEC校驗數據和 所述待封裝操作對象中所有待封裝數據包進行聚合和封裝。
2.根據權利要求1所述的方法,其特徵在於,所述的獲取待保護操作對象中所有待保護數據包中包括的基本操作單元BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的前向糾錯保護FEC BPU數目,包括: 待保護操作對象中的第i個待保護數據包中包括的BPU數目Di的計算方法為:
3.根據權利要求1所述的方法,其特徵在於,所述的根據所述待保護操作對象中所有待保護數據包中包括的BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的BPU數目獲取FEC的校驗符號數目,包括: 將所述待保護操作對象中所有待保護數據包中包括的BPU數目組成集合D, D中的元素數目為n, D中的所有元素之和為F ; 將所有D的非空子集中的元素的和值的併集作為集合M ;
4.根據權利要求1至3中任一權利要求所述的方法,其特徵在於,所述的利用所述FEC校驗符號數目對應的FEC BPU分布對所述待保護操作對象中所有待保護數據包的FEC校驗數據和所述待封裝操作對象中所有待封裝數據包進行聚合和封裝,包括: 將所述分布T中的各個元素和待封裝操作對象中所有待封裝數據包對應起來,並將分布T中的各個元素的數值作為對應的待封裝操作對象中的待封裝數據包中需要添加的額外FEC BPU數目; 將所述待保護操作對象中所有待保護數據包的FEC校驗數據中包括的K個FEC BPU按照所述得到的需要添加的額外FEC BPU數目,分別和待封裝操作對象中的對應待封裝數據包進行聚合併封裝,完成待封裝操作對象的數據封裝過程。
5.根據權利要求4所述的方法,其特徵在於,所述的完成待封裝操作對象的數據封裝過程包括: 對碼流中第一個操作對象作為待封裝操作對象並對第一個操作對象作額外保護;對碼流中除了所述第一個操作對象之外的其它操作對象,均作為待保護操作對象,並且作為該操作對象的後一個操作對象對應的待封裝操作對象; 將所述分布T中的各個元素和對應的待封裝操作對象中的各個待封裝數據包對應起來,並將分布T中的各個元素的數值作為對應的待封裝操作對象中的待封裝數據包中需要添加的FEC BPU數目; 將所述待保護操作對象的所有待保護數據包的FEC校驗數據中包括的K個FEC BPU按照所述得到的需要添加的FEC BPU數目,分別和所述待封裝操作對象中的各個待封裝數據包進行聚合併封裝,完成待封裝操作對象的數據封裝過程; 或者, 對碼流中所有較低層對應的操作對象均作為待保護操作對象,對碼流中所有較低層和較高層對應的操作對象的併集作為對應的較低層操作對象對應的待保護操作對象的待封裝操作對象; 將所述分布T中的各個元素和對應的待封裝操作對象中的各個待封裝數據包對應起來,並將分布T中的各個元素的數值作為對應的待封裝操作對象中的待封裝數據包中需要添加的FEC BPU數目; 將所述待保護操作對象的所有待保護數據包的FEC校驗數據中包括的K個FEC BPU按照所述得到的需要添加的FEC BPU數目,分別和所述待封裝操作對象中的各個待封裝數據包進行聚合併封裝,完成待封裝操作對象的數據封裝過程。
6.一種基於前向糾錯保護編碼的數據封裝裝置,其特徵在於,包括: 基本操作單元BPU數目獲取模塊,用於獲取待保護操作對象中所有待保護數據包中包括的BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的BPU數目; FEC校驗符號數獲取模塊,用於根據所述待保護操作對象中所有待保護數據包中包括的BPU數目和待封裝操作對象中所有待封裝數據包中最多額外容納的BPU數目獲取FEC校驗符號數目; FEC校驗數據生成模塊,用於根據所述FEC的校驗符號數目和待保護操作對象中所有待保護數據包中包括的BPU數目,通過選取的FEC算法生成所述待保護操作對象中所有待保護數據包的FEC校驗數據; 數據包封裝模塊,用於根據所述待封裝操作對象中所有待封裝數據包最多額外容納的BPU數目和所述FEC校驗符號數目,選取所述FEC校驗符號數目對應的FEC BPU分布; 利用所述FEC校驗符號數目對應的FEC BPU分布對所述待保護操作對象中所有待保護數據包的FEC校驗數據和所述待封裝操作對象中所有待封裝數據包進行聚合和封裝。
7.根據權利要求6所述的裝置,其特徵在於: 所述的BPU數目獲取模塊,具體用於計算當前待保護操作對象中的第i個待保護數據包中包括的BPU數目Di, D1 =「L;//f|,OS/<n 所述Li為第i個待保護數據包的長度,所述η為待保護操作對象中包括的待保護數據包的數目,所述B為一個BPU的長度,所述[".]為向上取整操作; 待封裝操作對象中的第i個待封裝數據包中最多額外容納的BPU數目Ei的計算方法為: 所述L為網絡最大允許數據包長度,所述P為待封裝操作對象中待封裝數據包的數目,其中,待封裝數據包必須滿足該數據包最多額外容納的BPU數目大於等於I,所述 .』表示向下取整操作,所述「."]為向上取整操作ο
8.根據權利要求6所述的裝置,其特徵在於: 所述的FEC校驗符號數獲取模塊,具體用於將所述待保護操作對象中所有待保護數據包中包括的BPU數目組成集合D, D中的元素數目為n, D中的所有元素之和為F ; 將所有D的非空子集中的元素的和值的併集作為集合M ;
9.根據權利要求6至8任一權利要求所述的裝置,其特徵在於: 所述的數據包封裝模塊,具體用於將所述分布T中的各個元素和待封裝操作對象中所有待封裝數據包對應起來,並將分布T中的各個元素的數值作為對應的待封裝操作對象中的待封裝數據包中需要添加的額外FEC BPU數目; 將所述待保護操作對象中所有待保護數據包的FEC校驗數據中包括的K個FEC BPU按照所述得到的需要添加的額外FEC BPU數目,分別和待封裝操作對象中的對應待封裝數據包進行聚合併封裝,完成待封裝操作對象的數據封裝過程。
10.根據權利要求9所述的裝置,其特徵在於: 所述的數據包封裝模塊,具體用於對碼流中第一個操作對象作為待封裝操作對象並對第一個操作對象作額外保護; 對碼流中除了所述第一個操作對象之外的其它操作對象,均作為待保護操作對象,並且作為該操作對象的後一個操作對象對應的待封裝操作對象; 將所述分布T中的各個元素和對應的待封裝操作對象中的各個待封裝數據包對應起來,並將分布T中的各個元素的數值作為對應的待封裝操作對象中的待封裝數據包中需要添加的FEC BPU數目; 將所述待保護操作對象的所有待保護數據包的FEC校驗數據中包括的K個FEC BPU按照所述得到的需要添加的FEC BPU數目,分別和所述待封裝操作對象中的各個待封裝數據包進行聚合併封裝,完成待封裝操作對象的數據封裝過程; 或者, 所述的數據包封裝模塊,具體用於對碼流中所有較低層對應的操作對象均作為待保護操作對象,對碼流中所有較低層和較高層對應的操作對象的併集作為對應的較低層操作對象對應的待保護操作對象的待封裝操作對象; 將所述分布T中的各個元素和對應的待封裝操作對象中的各個待封裝數據包對應起來,並將分布T中的各個元素的數值作為對應的待封裝操作對象中的待封裝數據包中需要添加的FEC BPU數目; 將所述待保護操作對 象的所有待保護數據包的FEC校驗數據中包括的K個FEC BPU按照所述得到的需要添加的FEC BPU數目,分別和所述待封裝操作對象中的各個待封裝數據包進行聚合併封裝,完成待封裝操作對象的數據封裝過程。
全文摘要
本發明涉及一種基於前向糾錯保護編碼的數據封裝方法和裝置。該方法主要包括獲取待保護操作對象中的所有待保護數據包中包括的BPU數目和待封裝操作對象中的所有待封裝數據包中最多額外容納的FEC BPU數目;根據所述所有待保護數據包中包括的BPU數目和所有待封裝數據包中最多額外容納的BPU數目獲取FEC校驗符號數目;根據所述FEC的校驗符號數目和各個待保護數據包中包括的BPU數目,通過選取的FEC算法生成所述待保護操作對象中的所有待保護數據包的FEC校驗數據;選取所述FEC校驗符號數目對應的FEC BPU分布;利用所述FEC BPU分布對所述FEC校驗數據和待封裝操作對象中的所有待封裝數據包進行封裝。本發明實施例可以最大化利用封裝後的數據包中的空閒空間,能在不增加碼流數據包速率的情況下,有效提升碼流的容錯性能。
文檔編號H04L1/00GK103152126SQ20121024350
公開日2013年6月12日 申請日期2012年7月13日 優先權日2012年4月6日
發明者朱海波, 張冬, 李厚強 申請人:中國科學技術大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀