亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種魯棒性頭壓縮中更新亂序深度的方法及系統(tǒng)的制作方法

文檔序號:7644604閱讀:308來源:國知局
專利名稱:一種魯棒性頭壓縮中更新亂序深度的方法及系統(tǒng)的制作方法
技術領域
本發(fā)明涉及移動通信領域中的一種魯棒性頭壓縮算法,主要是提出一種在亂序遞 交鏈路環(huán)境下,通過測量亂序比例(reorder_ratio),閉環(huán)修復LSB(Least Significant Bits)算法中使用的P值的方法。
背景技術
由于物理條件的限制,移動通信系統(tǒng)中的無線鏈路與有線鏈路相比傳輸速率較 低,誤碼率較高。為了能有效利用有限的無線信道帶寬資源,引入了魯棒性頭壓縮技術 (RObust Header Compress,以下簡稱R0HC)。ROHC的核心是利用業(yè)務流的分組之間的信息 冗余來透明的壓縮和解壓縮直接相連節(jié)點間的分組頭中的信息。ROHC技術由IETF(互聯(lián)網 工程任務組)的RFC3095文檔進行描述。LSB (Least Significant Bits)算法是ROHC技術中的重要算法,它主要用于壓縮 序列號MSN (Master Sequence Number)信息。LSB壓縮算法通過使用一個參考值V_ref以 及指定P值,將一個待壓縮的,占kl比特位的值A進行LSB壓縮,隨后得到一個壓縮后的, 占用更少比特位k2的,與V_ref關聯(lián)的值B。通過LSB壓縮,沒有變化的比特位被刪除掉 了,B值所表示的即為從值V_ref變化到值A的最低有效位(即B = A的低k2位)。采用 LSB解壓縮將壓縮后的值進行還原的過程與上述過程相反。ROHC是在2001年發(fā)布的,因為當時的鏈路幾乎不存在亂序遞交的情況,所以ROHC 在設計之初就被定義為應用在按序遞交的鏈路上。隨著時間地推移,ROHC已經廣泛地應用 于越來越多的無線設備上,和其它壓縮算法相比,“不能有效地工作在亂序遞交鏈路上”也 就成為了 ROHC的一個弱點。在按序遞交的鏈路上,從源端ROHC壓縮器發(fā)送出去的壓縮包在通過鏈路傳輸后, 在目的端可以被按序遞交給ROHC解壓器。比如壓縮器依次發(fā)送5包數據包1,2,3,4,5,那 么解壓器接收到這些數據包的順序也是1,2,3,4,5,這樣的一個過程是ROHC期望的,同時 也是它正常工作的一個條件;在非按序遞交鏈路上,數據包的順序有可能被底層鏈路影響, 使得位于目的端的ROHC解壓器接收到的數據包順序和源端ROHC壓縮器發(fā)送的順序不一 致,最終導致解壓器無法正常解壓數據包。比如壓縮器依次發(fā)送5包數據包1,2,3,4,5,在 鏈路傳送過程中,由于數據包3在底層鏈路上發(fā)生了錯誤重傳,使得解壓器接收到這些數 據包的順序是1,2,4,5,3,其中數據包3被稱為序列晚包,數據包4,5被稱為序列早包,序列 早包的個數被稱為亂序深度,此例中為2。這樣的一個過程是不被ROHC期望的,對于序列早 包的異常處理可能會引起序列晚包的解壓失敗,從而導致解壓器狀態(tài)遷移,影響壓縮效率; 對于序列晚包的異常處理可能會引起壓縮器和解壓器上下文不同步,影響健壯性。由于數 據包在鏈路中的亂序過程是無法預期的,它可能發(fā)生在ROHC處理過程的任何階段,所以在 發(fā)生這種情況時,對數據包3,4,5的處理方法會直接影響到整個ROHC的效率和健壯性。為了改善這種情況,在2006年IETE發(fā)布了 RFC42M文檔,在這份文檔中,圍繞著 ROHC如何兼容亂序遞交的鏈路,提出了多種能夠提高其壓縮效率和健壯性的方法。但是在RFC4224中提出的所有方案中,由于壓縮器和解壓器之間不存在有關亂序深度的反饋,壓縮 器無法確切地獲得當前鏈路的最大亂序深度,最終導致在選擇合適的LSB編碼P值時,壓縮 器只能單方面進行估計,而這樣一種估計在一些場合是無法真正避免因為亂序導致的解壓 問題的。作為ROHC的第二個版本,RFC5225采納了 RFC42M中的若干思想,在計算LSB P值 時引入了亂序比例(reorder_ratio)的概念,即動態(tài)地調整LSB P值為2~ (k_2)*reorder_ ratio (如圖1所示,其中re0rder_rati0的取值只能為0,1,2,3中的一種),從而使得 R0HCv2可以在一定程度上支持亂序遞交。但是在具體實現時,由于壓縮器和解壓器之間并沒有針對當前鏈路中的亂序狀況 進行有效溝通,所以讓人無法準確把握該值的選取。比如壓縮器通過調整LSB算法中的P 值來解決亂序遞交問題時,RFC4224文檔中只是舉例將P取值為2~k/3,但是在不同鏈路上 到底是取2~k/4,2~k/2,還是2~k*3/4,文檔中并沒有描述。因為對于整個ROHC而言,選取 不同P值時的壓縮效率和健壯性是完全不同的,所以對于RFC5225本身而言,它并沒有引入 新的亂序處理方法,因此同樣不能解決RFC42M存在的問題。

發(fā)明內容
本發(fā)明要解決的技術問題是,提供一種魯棒性頭壓縮中更新亂序深度的方法及系 統(tǒng),能夠根據亂序狀況有效地更新亂序深度,從而使得LSB P值動態(tài)調整,進而有效確保當 前壓縮策略的健壯性的同時,還能有效兼顧壓縮效率。為了解決上述技術問題,本發(fā)明提出一種魯棒性頭壓縮中更新亂序深度的方法, 包括解壓器在判斷出數據包發(fā)生亂序時,對亂序狀況進行估計,并據以判斷是否需要 采用更健壯的亂序處理策略,如果不需要,則保持所述解壓器側的亂序深度值;如果需要, 則更新所述解壓器側的亂序深度值為一更大值,并向壓縮器發(fā)送攜帶所述更新后的亂序深 度值的反饋包;所述壓縮器接收到所述反饋包后,根據所述反饋包中的亂序深度值更新所述壓縮 器側的亂序深度值。進一步地,上述方法還可具有以下特點所述解壓器判斷數據包是否發(fā)生亂序包括將接收到的數據包的序列號與記錄的當前最大序列號進行比較,如果小于所述最 大序列號,則認為發(fā)生亂序;否則,認為未發(fā)生亂序,更新所述最大序列號為所述接收到的 數據包的序列號。進一步地,上述方法還可具有以下特點所述解壓器在判斷數據包是否發(fā)生亂序之前,還包括根據接收到的數據包的序列號進行數據包還原處理,對還原出的數據包進行校 驗,如果校驗成功,則進行亂序判斷;如果校驗失敗,則進行亂序修復處理,如果修復成功, 則進行亂序判斷;如果修復失敗,則丟棄所述數據包,不進行亂序判斷;所述亂序修復處理包括判斷所述解壓器側的亂序深度值是否還可增大,如果不 可增大,則認為修復失?。蝗绻€可增大,則以一更大值作為所述解壓器側的亂序深度值進行序列號還原計算,以還原出的新的序列號進行數據包還原處理,對還原出的數據包進行 校驗,如果校驗失敗,則認為修復失敗,如果校驗成功,則認為修復成功,并更新修復成功個 數記錄。進一步地,上述方法還可具有以下特點所述解壓器對亂序狀況進行估計包括根據所述修復成功個數記錄和所述解壓器 側的亂序深度值對亂序狀況進行估計;所述解壓器在更新所述解壓器側的亂序深度值后,還將所述修復成功個數記錄置 為初始值。進一步地,上述方法還可具有以下特點所述壓縮器根據所述反饋包中的亂序深度值更新所述壓縮器側的亂序深度值包 括判斷所述壓縮器側的亂序深度值是否小于所述反饋包中的亂序深度值,如果是, 則更新所述壓縮器側的亂序深度值為所述反饋包中的亂序深度值;否則,向解壓器發(fā)送初 始化和刷新(IR)包,以進行亂序深度值同步。進一步地,上述方法還可具有以下特點所述更大值等于所述解壓器側的亂序深度值自增1后的值;所述亂序深度值包括0、1、2、3。為了解決上述技術問題,本發(fā)明還提出一種解壓器,包括接收模塊,用于接收魯棒性頭壓縮數據包;存儲模塊,用于存儲一亂序深度值;亂序檢測模塊,與所述接收模塊相連,用于檢測所述接收模塊接收到的數據包是 否發(fā)生亂序,在檢測出發(fā)生亂序時,發(fā)送亂序估計指令;亂序估計模塊,與所述亂序檢測模塊相連,用于根據所述亂序估計指令對亂序狀 況進行估計,得到一估計結果;更新判斷模塊,與所述亂序估計模塊相連,用于根據所述估計結果,判斷是否需要 采用更健壯的亂序處理策略,如果需要,則發(fā)送亂序深度更新指令;亂序深度更新模塊,與所述存儲模塊和所述更新判斷模塊均相連,用于根據所述 亂序深度更新指令,將所述存儲模塊中的亂序深度值更新為一更大值,并發(fā)送攜帶所述更 新后的亂序深度值的反饋包。進一步地,上述解壓器還可具有以下特點所述存儲模塊,還用于存儲一當前最大序列號;所述亂序檢測模塊包括比較單元,用于將接收到的數據包的序列號與所述當前最大序列號進行比較,得 到一比較結果;判斷處理單元,與所述比較單元和所述存儲模塊均相連,用于獲取并判斷所述比 較結果,如果所述比較結果為接收到的數據包的序列號小于所述最大序列號,則認為發(fā)生 亂序;否則,認為未發(fā)生亂序,更新所述存儲模塊中的所述最大序列號為所述接收到的數據 包的序列號。進一步地,上述解壓器還可具有以下特點
所述存儲模塊,還用于存儲一修復成功個數記錄;所述亂序檢測模塊,用于在接收到檢測控制指令后,才執(zhí)行亂序檢測;所述解壓器還包括校驗模塊,位于所述接收模塊與所述亂序檢測模塊之間,用于根據接收到的數據 包的序列號進行數據包還原處理,對還原出的數據包進行校驗,如果校驗成功,向所述亂序 檢測模塊發(fā)送檢測控制指令;如果校驗失敗,則發(fā)送亂序修復指令;亂序修復模塊,與所述校驗模塊和所述亂序檢測模塊均相連,用于判斷所述存儲 模塊中的亂序深度值是否還可增大,如果不可增大,則認為修復失敗,丟棄所述數據包;如 果還可增大,則以一更大值作為所述解壓器側的亂序深度值進行序列號還原計算,以還原 出的新的序列號進行數據包還原處理,對還原出的數據包進行校驗,如果校驗失敗,則認為 修復失敗,丟棄所述數據包;如果校驗成功,則認為修復成功,更新所述修復成功個數記錄, 向所述亂序檢測模塊發(fā)送檢測控制指令。進一步地,上述解壓器還可具有以下特點所述亂序估計模塊,在估計亂序狀況時,是根據所述修復成功個數記錄和所述存 儲模塊中的亂序深度值對亂序狀況進行估計;所述亂序深度更新模塊,在更新所述存儲模塊中的亂序深度值后,還將所述存儲 模塊中的修復成功個數記錄置為初始值。進一步地,上述解壓器還可具有以下特點所述更大值等于所述解壓器側的亂序深度值自增1后的值;所述亂序深度值包括0、1、2、3。為了解決上述技術問題,本發(fā)明還提出一種壓縮器,包括存儲模塊,用于存儲一亂序深度值;接收解析模塊,用于接收包含亂序深度值的反饋包,從中解析出亂序深度值;比較模塊,與所述接收解析模塊和所述存儲模塊均相連,用于比較所述存儲模塊 中的亂序深度值是否小于所述反饋包中的亂序深度值,得到一比較結果;更新處理模塊,與所述存儲模塊和所述比較模塊均相連,用于在所述比較結果為 所述存儲模塊中的亂序深度值小于所述反饋包中的亂序深度值時,更新所述存儲模塊中的 亂序深度值為所述反饋包中的亂序深度值;否則,發(fā)送初始化和刷新(IR)包,以與解壓器 進行亂序深度值同步。為了解決上述技術問題,本發(fā)明還提出一種魯棒性頭壓縮中更新亂序深度的系 統(tǒng),包括如上所述的解壓器和壓縮器。本發(fā)明提供的一種魯棒性頭壓縮中更新亂序深度的方法及系統(tǒng),能夠根據亂序狀 況有效地更新亂序深度,從而使得LSB P值動態(tài)調整,進而有效確保當前壓縮策略的健壯性 的同時,還能有效兼顧壓縮效率。


圖1協(xié)議定義的LSB算法中P值與re0rder_rati0之間的關系圖;圖2是本發(fā)明實施例一種魯棒性頭壓縮中更新亂序深度的方法流程圖;圖3是本發(fā)明實施例定義的Re0rder_Rati0反饋選項示意圖4是本發(fā)明實施例解壓器接收到壓縮包時的總體處理流程圖;圖5是本發(fā)明實施例解壓器進行MSN亂序修復的方法流程圖;圖6是本發(fā)明實施例解壓器進行亂序數據包處理的方法流程圖;圖7是本發(fā)明實施例壓縮器對于Re0rder_Rati0反饋包的處理流程圖;圖8是本發(fā)明實施例一種解壓器的裝置方框圖;圖9是本發(fā)明實施例一種壓縮器的裝置方框圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下文中將結合附圖對本發(fā)明 的實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中 的特征可以相互任意組合。參見圖2,該圖示出了本發(fā)明實施例一種魯棒性頭壓縮中更新亂序深度的方法,包 括步驟步驟S201 解壓器在判斷出數據包發(fā)生亂序時,對亂序狀況進行估計,并據以判 斷是否需采用更健壯的亂序處理策略,如果不需要,則保持所述解壓器側的亂序深度值 reorder_ratio_D ;如果需要,則更新所述解壓器側的亂序深度值re0rder_rati0_D為一更 大值,并向壓縮器發(fā)送攜帶所述更新后的亂序深度值reorder_ratio_D的反饋包;步驟S202 所述壓縮器接收到所述反饋包后,根據所述反饋包中的亂序深度值 reorder_ratio_D更新所述壓縮器側的亂序深度值reorder_ratio_C。本發(fā)明實施例在解壓流程中增加了亂序分析處理功能,在當前亂序處理策略應對 當前亂序狀況表現出健壯性不佳時,嘗試增大亂序深度值,并以反饋包的形式通知壓縮器 一側進行同步更新,實現主動嘗試改變LSB P值,進而可以修復一定比例的落在LSB區(qū)間以 外的數據包,減少頭壓縮過程中的丟包。其中,步驟S201中,所述解壓器判斷數據包是否發(fā)生亂序可以采用如下判斷方 法將接收到的數據包的序列號msrucurrent與記錄的當前最大序列號maxjiisn進行比較, 如果小于所述最大序列號maxjiisn,則認為發(fā)生亂序;否則,認為未發(fā)生亂序,更新所述最 大序列號max_msn為所述接收到的數據包的序列號msn_current。其中,步驟S201中,所述攜帶所述更新后的亂序深度值re0rder_rati0_D的反饋 包可以如圖3所示。較佳地,步驟S201中,所述更大值可以選擇所述解壓器側的亂序深度值自增1后 的值。較佳地,步驟S201之前,還可以包括下述步驟S203(圖中未示出)步驟S203 根據接收到的數據包的序列號msrucurrent進行數據包還原處理,對 還原出的數據包進行校驗,如果校驗成功,則進行亂序判斷;如果校驗失敗,則進行亂序修 復處理,如果修復成功,則進行亂序判斷;如果修復失敗,則丟棄所述數據包,不進行亂序判 斷。其中,步驟S203中所述亂序修復處理可以包括判斷所述解壓器側的亂序深度 值re0rder_rati0_D是否還可增大,如果不可增大,則認為修復失?。蝗绻€可增大,則以 一更大值作為所述解壓器側的亂序深度值re0rder_rati0_D進行序列號還原計算,以還原出的新的序列號mSn_CUrrtent_neW進行數據包還原處理,對還原出的數據包進行校驗,如 果校驗失敗,則認為修復失敗,如果校驗成功,則認為修復成功,并更新修復成功個數記錄 repaimum。較佳地,所述更大值可以選擇所述解壓器側的亂序深度值自增1后的值。
其中,所述校驗可以是例如CRC之類的校驗,本發(fā)明在此不做限制。
其中,可以以一計數器對修復成功個數repaimum進行記錄。本發(fā)明實施例在解壓流程中增加了亂序修復功能(步驟S20;3),即,對校驗失敗 的原因進行猜測,將序列晚包導致的LSB計算錯誤作為其根本原因,根據當前的reorder ratio值調整LSB算法的解壓參考區(qū)間,再次還原MSN值,最后重新進行CRC校驗,從而驗證 校驗失敗原因是否為序列晚包導致,如果是,則可針對這類校驗失敗的數據包進行亂序處 理。其中,步驟S201中,所述解壓器對亂序狀況進行估計可以是根據所述修復成功 個數記錄和所述解壓器側的亂序深度值對亂序狀況進行估計。例如,可設置判斷條件為, 當repair_nUm >= 100時,認為需要采用更加健壯的亂序策略;或者,設置判斷條件為,當 (repair_num)/(reorder_ratio+l) >= 100時,認為需要采用更加健壯的亂序策略。具體 的判斷條件可以根據需要設置,本發(fā)明在此不做限制。相應地,所述解壓器在更新所述解壓 器側的亂序深度值后,還將所述修復成功個數repaimum記錄置為初始值。其中,步驟S202中,所述壓縮器根據所述反饋包中的亂序深度值更新所述壓縮器 側的亂序深度值可以包括步驟判斷所述壓縮器側的亂序深度值是否小于所述反饋包中的 亂序深度值,如果是,則更新所述壓縮器側的亂序深度值為所述反饋包中的亂序深度值;否 則,向解壓器發(fā)送初始化和刷新(IR)包,以進行亂序深度值同步。為了進一步說明本發(fā)明上述方案,下面結合圖4、5、6、7進行說明。參見圖4,該圖示出了本發(fā)明所涉及的解壓器對壓縮數據包的處理流程,包括步 驟步驟S401 解壓器的解壓流程啟動,進入步驟S402 ;步驟S402 所述解壓器根據壓縮包類型信息,分析接收到的壓縮數據包,將待解 壓的MSN信息取出,進入步驟S403 ;步驟S403 所述解壓器調用LSB解碼算法對壓縮的MSN進行解碼,獲取原始的MSN 值,記為msn_current,進入步驟S404 ;步驟S404 所述解壓器使用msrucurrent進行數據包還原處理,并對還原的數據 包進行CRC校驗,如果校驗失敗,進入步驟S405,如果校驗成功,進入步驟S408 ;步驟S405 所述解壓器使用MSN亂序修復算法進行修復處理,進入步驟S406 ;步驟S406 所述解壓器判斷采用MSN亂序修復算法是否修復成功,如果成功,則進 入步驟S408,如果失敗,則進入步驟S407 ;步驟S407 所述解壓器認為該數據包無法修復,將其丟棄,進入步驟S411 ;步驟S408 所述解壓器判斷數據包是否存在亂序,如果否,進入步驟S409,如果 是,進入步驟S410 ;步驟S409 所述解壓器將max_msn更新為msn_current,進入步驟S411 ;步驟S410 所述解壓器使用亂序包處理功能對亂序包進行處理,進入步驟S411 ;步驟S411 所述解壓器處理流程結束。
參見圖5,該圖示出了本發(fā)明所涉及的解壓器MSN亂序修復算法(步驟S405)的具 體實施方案步驟S501 所述解壓器亂序修復過程啟動,進入步驟S502 ;步驟S502 所述解壓器獲取reorder_ratio_D值,進入步驟S503 ;步驟S503 所述解壓器判斷re0rder_rati0_D值是否為最大值3,如果是,進入步 驟S210 ;否則,進入步驟S504 ;步驟 S504 所述解壓器計算 reorder_ratio_D_new = reorder_ratio+l,以 reorder_ratio_D_new 作為新的 reorder_ratio_D 值,進入步驟 S505 ;步驟S505 所述解壓器使用reorder_ratio_D_new進行MSN還原計算,得到msn_ current_new,進入步驟 S506 ;步驟S506 所述解壓器使用msrucurrentjew進行數據包還原,對還原后的數據 包進行CRC校驗,進入步驟S507 ;步驟S507 判斷校驗是否成功,如果成功,進入步驟S508 ;如果失敗,進入步驟 S510 ;步驟S508 所述解壓器將修復成功數據包個數計數器加1,進入步驟S509 ;步驟S509 所述解壓器亂序修復成功,進入步驟S511 ;步驟S510 所述解壓器亂序修復失敗,進入步驟S511 ;步驟S511 所述解壓器MSN亂序修復流程結束。參見圖6,該圖示出了本發(fā)明所涉及的解壓器對亂序包進行處理(步驟S410)的具 體實施方案步驟S601 所述解壓器亂序數據包處理啟動,進入步驟S602 ;步驟S602 所述解壓器根據r印air_num、reorder_ratio等亂序相關信息對當前 鏈路的亂序狀況進行評估,進入步驟S603 ;步驟S603 所述解壓器根據對亂序狀況的評估結果判斷是否需要采用更健壯的 亂序處理策略,如果需要,進入步驟S604 ;如果不需要,進入步驟S607 ;步驟S604 所述解壓器更新re0rder_rati0_D值等于其自增1運算結果,進入步 驟 S605 ;步驟S605 所述解壓器將r印air_num置為0,重新統(tǒng)計鏈路亂序狀況,進入步驟
5606;步驟S606 所述解壓器封裝并發(fā)送攜帶re0rder_rati0_D的反饋包,進入步驟
5607;步驟S607 所述解壓器亂序數據包處理流程結束。參見圖7,該圖示出了本發(fā)明所涉及的壓縮器對re0rder_rati0反饋包處理的實 施方案做進一步的詳細描述步驟S701 壓縮器對攜帶re0rder_rati0反饋包處理啟動,進入步驟S702 ;步驟S702 所述壓縮器接收到有效的,類型為Re0rder_Rati0的反饋包,進入步驟 S703 ;步驟S703 所述壓縮器獲取反饋包和壓縮器側的re0rder_rati0值,分別記為 reorder_ratio_D 禾口 reorder_ratio_C,進入步驟 S704 ;
步驟S704 所述壓縮器比較反饋包中的reorder_ratio_D和本地的reorder_ ratio_C值,如果reorder_ratio_C小于reorder_ratio_D,進入步驟S706 ;否則,進入步驟 S705 ;步驟S705 所述壓縮器認為當前re0rder_rati0狀態(tài)不同步,需要發(fā)送頂包,進 入步驟S707 ;步驟S706 所述壓縮器將reorder_ratio_C更新為反饋包中的reorder_ratio_D, 進入步驟S707 ;步驟S707 所述壓縮器對reorderjatio反饋包的處理流程結束。為了實現上述方法,本發(fā)明實施例還提供了一種解壓器,如圖8所示,包括接收模塊,用于接收魯棒性頭壓縮數據包;存儲模塊,用于存儲一亂序深度值;亂序檢測模塊,與所述接收模塊相連,用于檢測所述接收模塊接收到的數據包是 否發(fā)生亂序,在檢測出發(fā)生亂序時,發(fā)送亂序估計指令;亂序估計模塊,與所述亂序檢測模塊相連,用于根據所述亂序估計指令對亂序狀 況進行估計,得到一估計結果;更新判斷模塊,與所述亂序估計模塊相連,用于根據所述估計結果,判斷是否需要 采用更健壯的亂序處理策略,如果需要,則發(fā)送亂序深度更新指令;亂序深度更新模塊,與所述存儲模塊和所述更新判斷模塊均相連,用于根據所述 亂序深度更新指令,將所述存儲模塊中的亂序深度值更新為一更大值,并發(fā)送攜帶所述更 新后的亂序深度值的反饋包。其中,所述存儲模塊,還用于存儲一當前最大序列號。所述亂序檢測模塊包括比 較單元,用于將接收到的數據包的序列號與所述當前最大序列號進行比較,得到一比較結 果;判斷處理單元,與所述比較單元和所述存儲模塊均相連,用于獲取并判斷所述比較結 果,如果所述比較結果為接收到的數據包的序列號小于所述最大序列號,則認為發(fā)生亂序; 否則,認為未發(fā)生亂序,更新所述存儲模塊中的所述最大序列號為所述接收到的數據包的 序列號。其中,所述存儲模塊,還用于存儲一修復成功個數記錄。所述亂序檢測模塊,用于 在接收到檢測控制指令后,才執(zhí)行亂序檢測。所述解壓器還可以包括校驗模塊,位于所述 接收模塊與所述亂序檢測模塊之間,用于根據接收到的數據包的序列號進行數據包還原處 理,對還原出的數據包進行校驗,如果校驗成功,向所述亂序檢測模塊發(fā)送檢測控制指令; 如果校驗失敗,則發(fā)送亂序修復指令。亂序修復模塊,與所述校驗模塊和所述亂序檢測模塊 均相連,用于判斷所述存儲模塊中的亂序深度值是否還可增大,如果不可增大,則認為修復 失敗,丟棄所述數據包;如果還可增大,則以一更大值作為所述解壓器側的亂序深度值進行 序列號還原計算,以還原出的新的序列號進行數據包還原處理,對還原出的數據包進行校 驗,如果校驗失敗,則認為修復失敗,丟棄所述數據包;如果校驗成功,則認為修復成功,更 新所述修復成功個數記錄,向所述亂序檢測模塊發(fā)送檢測控制指令。其中,所述亂序估計模塊,在估計亂序狀況時,是根據所述修復成功個數記錄和所 述存儲模塊中的亂序深度值對亂序狀況進行估計。所述亂序深度更新模塊,在更新所述存 儲模塊中的亂序深度值后,還將所述存儲模塊中的修復成功個數記錄置為初始值。
其中,所述更大值可以等于所述解壓器側的亂序深度值自增1后的值。所述亂序 深度值包括0、1、2、3。為了實現上述方法,本發(fā)明實施例還提供了一種壓縮裝置,如圖9所示,包括存儲模塊,用于存儲一亂序深度值;接收解析模塊,用于接收包含亂序深度值的反饋包,從中解析出亂序深度值;比較模塊,與所述接收解析模塊和所述存儲模塊均相連,用于比較所述存儲模塊 中的亂序深度值是否小于所述反饋包中的亂序深度值,得到一比較結果;更新處理模塊,與所述存儲模塊和所述比較模塊均相連,用于在所述比較結果為 所述存儲模塊中的亂序深度值小于所述反饋包中的亂序深度值時,更新所述存儲模塊中的 亂序深度值為所述反饋包中的亂序深度值;否則,發(fā)送初始化和刷新(IR)包,以與解壓器 進行亂序深度值同步。當然,本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質的情況下,本 領域技術人員當可根據本發(fā)明作出各種相應的改變和變形,但這些相應的改變和變形都應 屬于本發(fā)明所附的權利要求的保護范圍。
1權利要求
1.一種魯棒性頭壓縮中更新亂序深度的方法,其特征在于,包括解壓器在判斷出數據包發(fā)生亂序時,對亂序狀況進行估計,并據以判斷是否需要采用 更健壯的亂序處理策略,如果不需要,則保持所述解壓器側的亂序深度值;如果需要,則更 新所述解壓器側的亂序深度值為一更大值,并向壓縮器發(fā)送攜帶所述更新后的亂序深度值 的反饋包;所述壓縮器接收到所述反饋包后,根據所述反饋包中的亂序深度值更新所述壓縮器側 的亂序深度值。
2.如權利要求1所述的方法,其特征在于,所述解壓器判斷數據包是否發(fā)生亂序包括 將接收到的數據包的序列號與記錄的當前最大序列號進行比較,如果小于所述最大序列號,則認為發(fā)生亂序;否則,認為未發(fā)生亂序,更新所述最大序列號為所述接收到的數據 包的序列號。
3.如權利要求2所述的方法,其特征在于,所述解壓器在判斷數據包是否發(fā)生亂序之 前,還包括根據接收到的數據包的序列號進行數據包還原處理,對還原出的數據包進行校驗,如 果校驗成功,則進行亂序判斷;如果校驗失敗,則進行亂序修復處理,如果修復成功,則進行 亂序判斷;如果修復失敗,則丟棄所述數據包,不進行亂序判斷;所述亂序修復處理包括判斷所述解壓器側的亂序深度值是否還可增大,如果不可增 大,則認為修復失??;如果還可增大,則以一更大值作為所述解壓器側的亂序深度值進行序 列號還原計算,以還原出的新的序列號進行數據包還原處理,對還原出的數據包進行校驗, 如果校驗失敗,則認為修復失敗,如果校驗成功,則認為修復成功,并更新修復成功個數記 錄。
4.如權利要求3所述的方法,其特征在于所述解壓器對亂序狀況進行估計包括根據所述修復成功個數記錄和所述解壓器側的 亂序深度值對亂序狀況進行估計;所述解壓器在更新所述解壓器側的亂序深度值后,還將所述修復成功個數記錄置為初 始值。
5.如權利要求1所述的方法,其特征在于,所述壓縮器根據所述反饋包中的亂序深度 值更新所述壓縮器側的亂序深度值包括判斷所述壓縮器側的亂序深度值是否小于所述反饋包中的亂序深度值,如果是,則更 新所述壓縮器側的亂序深度值為所述反饋包中的亂序深度值;否則,向解壓器發(fā)送初始化 和刷新(IR)包,以進行亂序深度值同步。
6.如權利要求1-5中任何一項所述的方法,其特征在于 所述更大值等于所述解壓器側的亂序深度值自增1后的值; 所述亂序深度值包括0、1、2、3。
7.一種解壓器,其特征在于,包括 接收模塊,用于接收魯棒性頭壓縮數據包; 存儲模塊,用于存儲一亂序深度值;亂序檢測模塊,與所述接收模塊相連,用于檢測所述接收模塊接收到的數據包是否發(fā) 生亂序,在檢測出發(fā)生亂序時,發(fā)送亂序估計指令;亂序估計模塊,與所述亂序檢測模塊相連,用于根據所述亂序估計指令對亂序狀況進 行估計,得到一估計結果;更新判斷模塊,與所述亂序估計模塊相連,用于根據所述估計結果,判斷是否需要采用 更健壯的亂序處理策略,如果需要,則發(fā)送亂序深度更新指令;亂序深度更新模塊,與所述存儲模塊和所述更新判斷模塊均相連,用于根據所述亂序 深度更新指令,將所述存儲模塊中的亂序深度值更新為一更大值,并發(fā)送攜帶所述更新后 的亂序深度值的反饋包。
8.如權利要求7所述的解壓器,其特征在于 所述存儲模塊,還用于存儲一當前最大序列號; 所述亂序檢測模塊包括比較單元,用于將接收到的數據包的序列號與所述當前最大序列號進行比較,得到一 比較結果;判斷處理單元,與所述比較單元和所述存儲模塊均相連,用于獲取并判斷所述比較結 果,如果所述比較結果為接收到的數據包的序列號小于所述最大序列號,則認為發(fā)生亂序; 否則,認為未發(fā)生亂序,更新所述存儲模塊中的所述最大序列號為所述接收到的數據包的 序列號。
9.如權利要求8所述的解壓器,其特征在于 所述存儲模塊,還用于存儲一修復成功個數記錄;所述亂序檢測模塊,用于在接收到檢測控制指令后,才執(zhí)行亂序檢測; 所述解壓器還包括校驗模塊,位于所述接收模塊與所述亂序檢測模塊之間,用于根據接收到的數據包的 序列號進行數據包還原處理,對還原出的數據包進行校驗,如果校驗成功,向所述亂序檢測 模塊發(fā)送檢測控制指令;如果校驗失敗,則發(fā)送亂序修復指令;亂序修復模塊,與所述校驗模塊和所述亂序檢測模塊均相連,用于判斷所述存儲模塊 中的亂序深度值是否還可增大,如果不可增大,則認為修復失敗,丟棄所述數據包;如果還 可增大,則以一更大值作為所述解壓器側的亂序深度值進行序列號還原計算,以還原出的 新的序列號進行數據包還原處理,對還原出的數據包進行校驗,如果校驗失敗,則認為修復 失敗,丟棄所述數據包;如果校驗成功,則認為修復成功,更新所述修復成功個數記錄,向所 述亂序檢測模塊發(fā)送檢測控制指令。
10.如權利要求9所述的解壓器,其特征在于所述亂序估計模塊,在估計亂序狀況時,是根據所述修復成功個數記錄和所述存儲模 塊中的亂序深度值對亂序狀況進行估計;所述亂序深度更新模塊,在更新所述存儲模塊中的亂序深度值后,還將所述存儲模塊 中的修復成功個數記錄置為初始值。
11.如權利要求7-10中任何一項所述的解壓器,其特征在于 所述更大值等于所述解壓器側的亂序深度值自增1后的值; 所述亂序深度值包括0、1、2、3。
12.—種壓縮器,其特征在于,包括 存儲模塊,用于存儲一亂序深度值;接收解析模塊,用于接收包含亂序深度值的反饋包,從中解析出亂序深度值; 比較模塊,與所述接收解析模塊和所述存儲模塊均相連,用于比較所述存儲模塊中的 亂序深度值是否小于所述反饋包中的亂序深度值,得到一比較結果;更新處理模塊,與所述存儲模塊和所述比較模塊均相連,用于在所述比較結果為所述 存儲模塊中的亂序深度值小于所述反饋包中的亂序深度值時,更新所述存儲模塊中的亂序 深度值為所述反饋包中的亂序深度值;否則,發(fā)送初始化和刷新(IR)包,以與解壓器進行 亂序深度值同步。
13. 一種魯棒性頭壓縮中更新亂序深度的系統(tǒng),其特征在于,包括如權利要求7-11中 任何一項所述的解壓器和如權利要求12所述的壓縮器。
全文摘要
本發(fā)明提供了一種魯棒性頭壓縮中更新亂序深度的方法及系統(tǒng),該方法包括解壓器在判斷出數據包發(fā)生亂序時,對亂序狀況進行估計,并據以判斷是否需要采用更健壯的亂序處理策略,如果不需要,則保持所述解壓器側的亂序深度值;如果需要,則更新所述解壓器側的亂序深度值為一更大值,并向壓縮器發(fā)送攜帶所述更新后的亂序深度值的反饋包;所述壓縮器接收到所述反饋包后,根據所述反饋包中的亂序深度值更新所述壓縮器側的亂序深度值。該方法能夠根據亂序狀況有效地更新亂序深度,從而使得LSB P值動態(tài)調整,進而在有效確保當前壓縮策略的健壯性時,還能有效兼顧壓縮效率。
文檔編號H04W28/06GK102149135SQ20111009966
公開日2011年8月10日 申請日期2011年4月20日 優(yōu)先權日2011年4月20日
發(fā)明者畢文勇, 董淑松 申請人:中興通訊股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1