一種表頭壓縮方法、解壓方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種表頭壓縮方法、解壓方法及裝置。
【背景技術(shù)】
[0002]由于物理?xiàng)l件的限制,移動通信系統(tǒng)中的無線鏈路與有線鏈路相比傳輸速率較低,誤碼率較高。為了能有效利用有限的無線信道帶寬資源,引入了魯棒性頭壓縮技術(shù)(Robust Header Compress,以下簡稱R0HC)。ROHC的核心是利用業(yè)務(wù)流的分組之間的信息冗余來透明地壓縮和解壓直接相連節(jié)點(diǎn)間的分組頭中的信息。ROHC技術(shù)由IETF(互聯(lián)網(wǎng)工程任務(wù)組)的RFC3095文檔進(jìn)行描述,但在該文檔中并沒有定義IP頭的壓縮和解壓,因此在2004年6月,ROHC工作組不得不在RFC3843中單獨(dú)為IP頭的壓縮解壓定義了一個框架,并且在2007年2月份IETF對ROHC的相關(guān)文檔進(jìn)行了修訂,修訂文檔是RFC4815。
[0003]ROHC頭壓縮中,使用不同Profile來標(biāo)識不同的數(shù)據(jù)包流,以便對其使用相應(yīng)的數(shù)據(jù)壓縮解壓框架。如:其中ProfileO標(biāo)識使用未壓縮的方法對IP數(shù)據(jù)包流進(jìn)行傳輸,Profilel 標(biāo)識對 RTP(Real-time Transport Protocol,實(shí)時傳輸協(xié)議)/UDP(User DataProtocol,用戶數(shù)據(jù)報協(xié)議)/IP數(shù)據(jù)包流進(jìn)行壓縮處理,ProfiIe2標(biāo)識對UDP/IP數(shù)據(jù)包流進(jìn)行壓縮處理,ProfiIe3標(biāo)識對ESP/IP (IP封裝安全有效載荷ESP)數(shù)據(jù)包流進(jìn)行壓縮處理,ProfiIe4標(biāo)識對IP數(shù)據(jù)包流進(jìn)行壓縮處理。其中,在Profilel對RTP頭部進(jìn)行壓縮的時候,也需要對RTP頭部包含的作用源(Contributing Source,以下簡稱CSRC)列表進(jìn)行壓縮。
[0004]列表壓縮基本原理是由壓縮器為每個列表項(xiàng)分配唯一的索引,同時維護(hù)一個具有所有列表項(xiàng)的翻譯表,并使用列表項(xiàng)索引對各個列表項(xiàng)進(jìn)行標(biāo)識。列表項(xiàng)索引與對應(yīng)的列表項(xiàng)在壓縮列表中同時被發(fā)送,當(dāng)壓縮器確定解壓器已經(jīng)獲取到了索引和列表項(xiàng)之間的映射關(guān)系時,壓縮器即可以在壓縮包中單獨(dú)發(fā)送列表索引來代表對應(yīng)的列表項(xiàng),達(dá)到減小數(shù)據(jù)量實(shí)現(xiàn)壓縮的目的。
[0005]然而,RTP列表壓縮比較復(fù)雜,在一個真實(shí)的RTP包流壓縮發(fā)送中,需要處理的列表表項(xiàng)有成千上萬,因此需要耗費(fèi)大量的內(nèi)存空間來維護(hù)列表項(xiàng)和索引間的對應(yīng)關(guān)系,并花費(fèi)較長時間才能查找到對應(yīng)的索引,因此壓縮速度緩慢,壓縮效率較低。
【發(fā)明內(nèi)容】
[0006]本發(fā)明要解決的技術(shù)問題是提供一種表頭壓縮方法、解壓方法及裝置,用以解決現(xiàn)有技術(shù)中表頭壓縮內(nèi)存占用大,壓縮速度緩慢,壓縮效率低下的問題。
[0007]—方面,本發(fā)明提供一種表頭壓縮方法,包括:在需要為待壓縮的列表項(xiàng)配置對應(yīng)的索引的情況下,確定是否存在可供選擇的閑置索引;在不存在閑置索引的情況下,從已經(jīng)為列表項(xiàng)配置的索引中選擇使用頻率低于預(yù)設(shè)閾值的索引,并將該索引對應(yīng)的列表項(xiàng)替換為所述待壓縮的列表項(xiàng),以使所述待壓縮的列表項(xiàng)利用替換后的所述索引進(jìn)行壓縮。
[0008]可選的,所述方法還包括:在確定是否存在可供選擇的閑置索引之前,確定是否需要為待壓縮的列表項(xiàng)配置對應(yīng)的索引。
[0009]可選的,所述確定是否需要為待壓縮的列表項(xiàng)配置對應(yīng)的索引包括:確定所述待壓縮的列表項(xiàng)是否已在翻譯表中有所記錄;其中,所述翻譯表用于記錄列表項(xiàng)與索引的對應(yīng)關(guān)系;在所述待壓縮的列表項(xiàng)已在所述翻譯表中有所記錄的情況下,確定不需要為所述待壓縮的列表項(xiàng)配置對應(yīng)的索引;在所述待壓縮的列表項(xiàng)在翻譯表中沒有記錄的情況下,確定需要為所述待壓縮的列表項(xiàng)配置對應(yīng)的索引。
[0010]可選的,所述確定是否存在可供選擇的閑置索引包括:確定所述翻譯表中是否存在未指定對應(yīng)列表項(xiàng)的閑直索引。
[0011]可選的,所述從已經(jīng)為列表項(xiàng)配置的索引中選擇使用頻率低于預(yù)設(shè)閾值的索引包括:在壓縮列表的過程中,分別確定所有索引的總共使用次數(shù)以及各個索引的單獨(dú)使用次數(shù);如果所述單獨(dú)使用次數(shù)與所述總共使用次數(shù)之比低于所述預(yù)設(shè)閾值,確定所述單獨(dú)使用次數(shù)對應(yīng)的索引的使用頻率低于所述預(yù)設(shè)閾值。
[0012]另一方面,本發(fā)明還提供一種表頭解壓方法,包括:確定接收的壓縮包中是否存在同一索引被先后配置給不同的列表項(xiàng)的情況;在存在同一索引被先后配置給不同的列表項(xiàng)的情況下,以最后配置的列表項(xiàng)和索引的對應(yīng)關(guān)系解壓所述壓縮包。
[0013]另一方面,本發(fā)明還提供一種表頭壓縮裝置,包括:壓縮確定單元,用于在需要為待壓縮的列表項(xiàng)配置對應(yīng)的索引的情況下,確定是否存在可供選擇的閑置索引;替換單元,用于在所述壓縮確定單元確定不存在閑置索引的情況下,從已經(jīng)配置了列表項(xiàng)的索引中選擇使用頻率低于預(yù)設(shè)閾值的索引,并將該索引對應(yīng)的列表項(xiàng)替換為所述待壓縮的列表項(xiàng),以使所述待壓縮的列表項(xiàng)利用替換后的所述索引進(jìn)行壓縮。
[0014]可選的,所述壓縮確定單元,還用于在確定是否存在可供選擇的閑置索引之前,確定是否需要為待壓縮的列表項(xiàng)配置對應(yīng)的索引。
[0015]可選的,所述替換單元,具體用于:在壓縮列表的過程中,分別確定所有索引的總共使用次數(shù)以及各個索引的單獨(dú)使用次數(shù);如果所述單獨(dú)使用次數(shù)與所述總共使用次數(shù)之比低于預(yù)設(shè)閾值,確定所述單獨(dú)使用次數(shù)對應(yīng)的索引的使用頻率低于預(yù)設(shè)閾值,并將該索引對應(yīng)的列表項(xiàng)替換為所述待壓縮的列表項(xiàng),以使所述待壓縮的列表項(xiàng)利用替換后的所述索引進(jìn)行壓縮。
[0016]另一方面,本發(fā)明還提供一種表頭解壓裝置,包括:解壓確定單元,用于確定接收的壓縮包中是否存在同一索引被先后配置給不同的列表項(xiàng);解壓單元,用于在所述解壓確定單元確定存在同一索引被先后配置給不同的列表項(xiàng)的情況下,以最后配置的列表項(xiàng)和索弓I的對應(yīng)關(guān)系解壓所述壓縮包。
[0017]本發(fā)明實(shí)施例提供的表頭壓縮方法、解壓方法及裝置,在需要為列表項(xiàng)配置索引但卻不存在閑置索引的情況下,能夠從已經(jīng)為列表項(xiàng)配置的索引中選擇使用頻率低于預(yù)設(shè)閾值的索引,并將該使用頻率低于預(yù)設(shè)閾值的索引所對應(yīng)的列表項(xiàng)替換為所述待壓縮的列表項(xiàng),以使所述待壓縮的列表項(xiàng)利用替換后的索引進(jìn)行壓縮。這樣,通過索引的重復(fù)利用即能明顯減輕壓縮端的內(nèi)存空間使用,縮短搜索翻譯表所耗費(fèi)的時間,從而有效提高了壓縮效率。
【附圖說明】
[0018]圖1是本發(fā)明實(shí)施例提供的表頭壓縮方法的一種流程圖;
[0019]圖2是本發(fā)明實(shí)施例提供的表頭解壓方法的一種流程圖;
[0020]圖3是本發(fā)明實(shí)施例提供的表頭壓縮方法和解壓方法的一種詳細(xì)流程圖;
[0021]圖4是圖3中的一個步驟的一個具體流程圖;
[0022]圖5是本發(fā)明實(shí)施例提供的表頭壓縮裝置的一種結(jié)構(gòu)示意圖;
[0023]圖6是本發(fā)明實(shí)施例提供的表頭解壓裝置的一種結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024]以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
[0025]如圖1所示,本發(fā)明的實(shí)施例提供一種表頭壓縮方法,包括:
[0026]S11,在需要為待壓縮的列表項(xiàng)配置對應(yīng)的索引的情況下,確定是否存在可供選擇的閑置索引;
[0027]S12,在不存在閑置索引的情況下,從已經(jīng)為列表項(xiàng)配置的索引中選擇使用頻率低于預(yù)設(shè)閾值的索引,并將該索引對應(yīng)的列表項(xiàng)替換為所述待壓縮的列表項(xiàng),以使所述待壓縮的列表項(xiàng)利用替換后的所述索弓I進(jìn)行壓縮。
[0028]本發(fā)明實(shí)施例提供的表頭壓縮方法,在需要為列表項(xiàng)配置索引但卻不存在閑置索引的情況下,能夠從已經(jīng)為列表項(xiàng)配置的索引中選擇使用頻率低于預(yù)設(shè)閾值的索引,并將該使用頻率低于預(yù)設(shè)閾值的索引所對應(yīng)的列表項(xiàng)替換為所述待壓縮的列表項(xiàng),以使所述待壓縮的列表項(xiàng)利用替換后的索引進(jìn)行壓縮。這樣,通過索引的重復(fù)利用即能明顯減輕壓縮端的內(nèi)存空間使用,縮短搜索翻譯表所耗費(fèi)的時間