數據傳輸的反饋信息的編碼、解碼方法及發送端和接收端的制作方法
【技術領域】
[0001]本發明涉及通信技術領域,具體而言,涉一種數據傳輸的反饋信息的編碼、解碼方法及發送端和接收端。
【背景技術】
[0002]數據傳輸是指依照適當的規程,經過一條或多條鏈路,在數據源和數據宿之間傳送數據的過程。如何正確地傳輸數據是一個很重要的課題。為了解決這一難題,通常采用帶有反饋機制的協議過程來確保接收端可正確接收所有的數據包。目前在同步衛星移動通信系統中,長延遲和較高誤碼率導致數據傳輸不可靠,現有的在協議棧的RLC(Radi0 LinkControl,無線鏈路控制)層采用AM(確認模式)的方式傳輸數據能夠增加數據成熟的可靠性。接收端發送反饋信息到發送端,發送端根據反饋信息重新發送丟失的數據包。反饋信息中包括位圖,為了減少反饋信息所占用的資源,一般對位圖使用ITU-T Recommendat1nT.4的壓縮方法編碼,但是該編碼方法的壓縮增益較低,且對應的解碼方法較繁瑣,增加了發送端的負載,降低了同步衛星移動通信系統的數據傳輸效率。
【發明內容】
[0003]有鑒于此,本發明的目的在于提供一種數據傳輸的反饋信息的編碼、解碼方法及發送端和接收端,能夠提高反饋信息中位圖的壓縮增益,簡化解碼過程,提高同步衛星移動通信系統的數據傳輸效率。
[0004]本發明是這樣實現的:
[0005]第一方面,本發明實施例提供了一種數據傳輸的反饋信息的編碼方法,應用于數據傳輸的裝置,所述數據傳輸的裝置包括發送端和接收端,所述反饋信息包括位圖;所述發送端發送的數據包包括數據包的編號,所述方法包括:
[0006]所述接收端接收所述發送端發送的數據包,根據所述編號和所述數據包的接收狀態生成原始位圖,所述原始位圖的長度為LS,LS ( 511 ;
[0007]所述接收端對所述原始位圖進行編碼,生成第一壓縮位圖,所述第一壓縮位圖的長度為LCl ;所述第一壓縮位圖包括多個定長的第一碼字,每個定長的第一碼字表示所述原始位圖中相同且連續的二進制數的位數;
[0008]所述接收端將包括所述位圖的反饋信息發送到所述發送端;若LS ( LC1,則選擇所述原始位圖為所述反饋信息包括的位圖,若所述LCl < LS,則選擇所述第一壓縮位圖為所述反饋信息包括的位圖;所述反饋信息還包括描述所述位圖為所述原始位圖或所述第一壓縮位圖的壓縮方式描述信息;若所述位圖為所述第一壓縮位圖,所述反饋信息還包括描述所述第一壓縮位圖中第一個第一碼字所對應的原始位圖中第一段相同且連續的二進制數所代表的數據包的接收狀態的起始狀態標記。
[0009]結合第一方面,本發明實施例提供了第一方面的第一種可能的實施方式,其中所述每個定長的第一碼字表示所述原始位圖中相同且連續的二進制數的位數,包括:
[0010]若所述相同且連續的二進制數的位數未超過63位,則該段未超過63位的二進制數的位數通過6位二進制碼表示,所述6位二進制碼為結果碼;若所述相同且連續的二進制數的位數超過63位,則該段超過63位的二進制數的位數通過9位二進制碼表示,所述9位二進制碼的3位高位為形成碼,6位低位為結果碼;所述第一碼字包括所述結果碼或所述形成碼和所述結果碼,所述第一碼字的第一位為類型碼,所述類型碼描述所述第一碼字包括或不包括所述形成碼。
[0011]定長的第一碼字為7位或者10位,在解碼的時候,讀取類型碼就知道該段定長的第一碼字是7位或者是10位,隨即讀取類型碼后面的6位或9位就能解碼,使得解碼過程簡單快速,提高了解碼的效率,進而提升了數據傳輸的效率。
[0012]結合第一方面或結合第一方面的第一種可能的實施方式,本發明實施例提供了第一方面的第二種可能的實施方式,其中所述第一壓縮位圖包括多個定長的第一碼字,包括:
[0013]所述第一壓縮位圖包括所述多個按照順序組合的所述第一碼字,所述順序為所述第一碼字對應的所述相同且連續的二進制數在所述原始位圖中的順序。
[0014]第一碼字按照順序組合成第一壓縮位圖,解碼出的原始位圖才能正確反映數據包的接收狀態。
[0015]結合第一方面的第二種可能的實施方式,本發明實施例提供了第一方面的第三種可能的實施方式,其中所述根據所述數據包的接收狀態生成原始位圖,包括:
[0016]所述原始位圖根據第一個丟失的數據包的編號的下一個編號所對應的數據包的接收狀態生成。
[0017]當出現數據包丟失時才生成原始位圖,發送端將丟失的數據包之前的數據包默認為已經成功接收。原始位圖的第一位表示第一個丟失的數據包的后一位數據包的接收狀態。發送端首先重發原始位圖的第一位之前的一位對應的數據包。
[0018]結合第一方面的第三種可能的實施方式,本發明實施例提供了第一方面的第四種可能的實施方式,其中所述方法還包括:
[0019]所述接收端將所述原始位圖中包括的相同且連續的二進制數的位數根據ITU-TRecommendat1n T.4的壓縮方法進行編碼,每段相同且連續的二進制數的位數編碼后生成第二碼字;
[0020]所述第二碼字按照所述每段相同且連續的二進制數在所述原始位圖中的順序組合,生成第二壓縮位圖,所述第二壓縮位圖的長度為LC2 ;
[0021]比較LS、LCl和LC2的大小,若LS ( LCl且LS彡LC2,則選擇所述原始位圖為所述反饋信息包括的所述位圖,若LClS LC2且LCl < LS,則選擇所述第一位圖為所述反饋信息包括的所述位圖,若所述LC2 < LS且LC2 < LC1,則選擇所述第二位圖為所述反饋信息包括的所述位圖;所述反饋信息還包括描述所述位圖為所述原始位圖、所述第一壓縮位圖或所述第二壓縮位圖的壓縮方式描述信息。
[0022]接收端生成原始位圖后,對原始位圖進行兩種方式的編碼,然后比較兩種編碼方式分別生成的壓縮位圖的長度和原始位圖的長度,發送長度較短的位圖,如果位圖一樣長,則發送不需要解碼的原始位圖。
[0023]結合第一方面、第一方面的第一種可能的實施方式、第一方面的第三種可能的實施方式或第一方面的第四種可能的實施方式,本發明實施例提供了第一方面的第五種可能的實施方式,其中所述原始位圖中二進制數O表示數據包的接收狀態包括的丟失數據包,二進制數I表示數據包的接收狀態包括的接收到數據包;所述第一壓縮位圖中第一個第一碼字所對應的原始位圖中第一段相同且連續的二進制數所代表的數據包的接收狀態的起始狀態標記包括二進制數O和I,其中起始狀態標記包括的二進制數O表示第一段相同且連續的二進制數為O,起始狀態標記包括的二進制數I表示第一段相同且連續的二進制數為
1
[0024]由于第一壓縮位圖中,相同且連續的二進制數O或1,在長度相同時第一碼字是相同的,所以反饋信息需要包括第一壓縮位圖中第一個第一碼字所對應的原始位圖中第一段相同且連續的二進制數所代表的數據包的接收狀態的起始狀態。相鄰的兩個第一碼字表示兩段相同且連續的二進制數O和I或兩段相同且連續的二進制數I和O。
[0025]第二方面,本發明實施例還提供了一種數據傳輸的反饋信息的解碼方法,應用于數據傳輸的裝置,所述數據傳輸的裝置包括發送端和接收端,所述反饋信息包括位圖,所述方法包括:
[0026]所述發送端接收所述接收端發送的所述反饋信息,所述反饋信息還包括描述所述位圖為所述原始位圖、第一壓縮位圖或第二壓縮位圖的壓縮方式描述信息;
[0027]若所述反饋信息包括的位圖為所述第一壓縮位圖或所述第二壓縮位圖,所述發送端根據所述壓縮方式描述信息解碼所述反饋信息包括的位圖,生成原始位圖;
[0028]所述發送端根據所述反饋信息包括的原始位圖或解碼后得到的原始位圖所表示的數據包的接收狀態,重新發送所述接收端丟失的數據包。
[0029]結合第二方面,本發明實施例提供了第二方面的第一種可能的實施方式,其中若所述反饋信息包括的位圖為所述第一壓縮位圖,所述反饋信息還包括描述所述第一壓縮位圖中第一個第一碼字所對應的原始位圖中第一段相同