專利名稱:一種魯棒性頭壓縮狀態(tài)遷移的方法及解壓器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及魯棒性頭壓縮(ROHC,RObust Header Compression)技術(shù),尤指一種魯 棒性頭壓縮狀態(tài)遷移的方法及解壓器。
背景技術(shù):
對(duì)于某些應(yīng)用層業(yè)務(wù),龐大的IP頭等信息的開銷非常大,比如VoIP業(yè)務(wù),其凈荷 的長(zhǎng)度通常為15-20字節(jié),而IP頭就占了 40字節(jié);而某一相同數(shù)據(jù)流的報(bào)文頭域中往往包 含了大量的冗余信息,使得頭壓縮成為可能。ROHC將報(bào)文分成不同的數(shù)據(jù)流,用上下文標(biāo)志(CID,Context ID)加以區(qū)分。在 數(shù)據(jù)流生命周期中很少改變或不變的信息只發(fā)送有限次;而對(duì)于動(dòng)態(tài)變化的信息,則采用 相應(yīng)壓縮算法發(fā)送,從而減少數(shù)據(jù)頭的發(fā)送長(zhǎng)度,提高帶寬利用率。ROHC可以分為壓縮器和解壓器,壓縮器和解壓器各有三種不同的工作狀態(tài),圖1 為現(xiàn)有壓縮器和解壓器的工作狀態(tài)的示意圖,如圖1所示,壓縮器工作狀態(tài)從低到高依次 為初始(IR)態(tài)、一階(FO)態(tài)和二階(SO)態(tài);解壓器工作狀態(tài)從低到高依次為無上下文 (NC,No Context)態(tài)、靜態(tài)上下文(SCJtatic Context)態(tài)和全上下文(FC,F(xiàn)ull Context) 態(tài)。不同的工作狀態(tài)下,壓縮器/解壓器工作效率是不同的。一般而言,工作狀態(tài)等級(jí)越高, 可處理的壓縮包類型越豐富,工作效率越高。根據(jù)數(shù)據(jù)流頭信息的變化情況,ROHC將數(shù)據(jù)頭信息分為靜態(tài)信息和動(dòng)態(tài)信息,這 些信息在頂包中以靜態(tài)鏈和動(dòng)態(tài)鏈的形式存在,圖2為profilel的頂包格式的示意圖, 如圖2所示,ROHC根據(jù)工作狀態(tài)和解壓縮結(jié)果可以轉(zhuǎn)換解壓器的工作狀態(tài),并利用反饋通 知壓縮器轉(zhuǎn)換狀態(tài)。解壓器根據(jù)循環(huán)冗余碼O^RC,Cyclical Redundancy Check)驗(yàn)證頂 包CRC是否通過如果解壓器計(jì)算的CRC與報(bào)文攜帶的CRC —致,那么,頂包的CRC驗(yàn)證通 過;否則,驗(yàn)證不通過。按照RFC3095規(guī)定,當(dāng)解壓器處于SC態(tài)時(shí),頂包的CRC驗(yàn)證不通過,需要根據(jù)算 法回遷到NC態(tài),圖3為現(xiàn)有解壓器處于SC態(tài)時(shí)處理頂包的流程圖,如圖3所示,包括步驟300 解壓器工作在SC態(tài),收到頂包。步驟301 計(jì)算IR包CRC (不包括靜荷)。步驟302 判斷頂包CRC與報(bào)文攜帶CRC是否相同,如果相同,遷移到FC態(tài);如果 不同,根據(jù)算法回遷至NC態(tài)。但是,頂包CRC驗(yàn)證不通過可能僅僅是因?yàn)閯?dòng)態(tài)信息發(fā)生錯(cuò)誤造成,當(dāng)靜態(tài)信息 正確時(shí),解壓器仍然回遷到了 NC態(tài),而這種回遷是不必要的。而且,當(dāng)頂包的靜態(tài)信息發(fā) 生錯(cuò)誤時(shí),解壓器沒有必要計(jì)算整個(gè)頂包的CRC,而只計(jì)算靜態(tài)信息CRC即可。這里,靜態(tài) 信息不等同于頂包的靜態(tài)鏈,還包括上下文標(biāo)志、包類型、概況(profile)等信息。從現(xiàn)有圖3所示的ROHC狀態(tài)遷移的實(shí)現(xiàn)來看,增加了頂包CRC計(jì)算量,產(chǎn)生了不 必要的狀態(tài)遷移,從而降低了報(bào)文解壓縮正確率和服務(wù)質(zhì)量(QoS),浪費(fèi)了空口帶寬。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種魯棒性頭壓縮狀態(tài)遷移的方法,能夠 減少頂包CRC計(jì)算量,避免不必要的狀態(tài)遷移,從而提高報(bào)文解壓縮正確率和QoS,節(jié)約空 □帶寬。本發(fā)明的另一目的在于提供一種解壓器,能夠減少頂包CRC計(jì)算量,避免不必要 的狀態(tài)遷移,從而提高報(bào)文解壓縮正確率和QoS,節(jié)約空口帶寬。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種魯棒性頭壓縮狀態(tài)遷移的方法,包括解壓器在靜態(tài)上下文SC態(tài)下收到初始態(tài)頂包,計(jì)算頂包靜態(tài)信息的循環(huán)冗余碼 CRC ;在對(duì)頂包靜態(tài)信息的CRC驗(yàn)證未通過時(shí),則回遷至無上下文NC態(tài)。該方法還包括如果對(duì)所述IR包靜態(tài)信息的CRC驗(yàn)證通過,計(jì)算并驗(yàn)證所述頂包 的 CRC。所述計(jì)算并驗(yàn)證頂包的CRC包括如果所述頂包CRC驗(yàn)證未通過,保持SC態(tài)不變。如果所述頂包的CRC驗(yàn)證通過,遷移至全上下文FC態(tài)。所述計(jì)算頂包靜態(tài)信息的CRC為根據(jù)所述頂包中的上下文標(biāo)志CID、包類型、 profile和靜態(tài)鏈,計(jì)算頂包靜態(tài)信息的CRC。所述根據(jù)所述頂包中的CID、包類型、profile和靜態(tài)鏈,計(jì)算頂包靜態(tài)信息的 CRC具體為解析所述頂包的靜態(tài)鏈,根據(jù)因特網(wǎng)協(xié)議/用戶數(shù)據(jù)報(bào)協(xié)議/實(shí)時(shí)傳輸協(xié)議 IP/UDP/RTP報(bào)文頭信息計(jì)算出靜態(tài)鏈長(zhǎng)度,再計(jì)算所述頂包靜態(tài)信息的CRC。所述計(jì)算頂包的CRC為解析所述頂包的動(dòng)態(tài)鏈,根據(jù)IP/UDP/RTP報(bào)文頭信息 計(jì)算出動(dòng)態(tài)鏈長(zhǎng)度;以靜態(tài)CRC為初始值,根據(jù)動(dòng)態(tài)鏈長(zhǎng)度計(jì)算頂包的CRC。一種解壓器,至少包括第一校驗(yàn)?zāi)K、第二校驗(yàn)?zāi)K和處理模塊,其中,第一驗(yàn)證模塊,用于在SC態(tài)下收到頂包,計(jì)算頂包靜態(tài)信息的CRC,并對(duì)頂包靜 態(tài)信息的CRC進(jìn)行驗(yàn)證,在驗(yàn)證通過時(shí),向第二驗(yàn)證模塊發(fā)送啟動(dòng)通知;在驗(yàn)證未通過時(shí), 向處理模塊發(fā)送回遷通知;第二驗(yàn)證模塊,用于接收來自第一驗(yàn)證模塊的啟動(dòng)通知,計(jì)算并驗(yàn)證頂包的CRC ;處理模塊,用于接收來自第一驗(yàn)證模塊的回遷通知,解壓器回遷至NC態(tài)。所述第二驗(yàn)證模塊還用于,如果所述頂包CRC驗(yàn)證未通過,向處理模塊發(fā)送保持 通知;所述處理模塊還用于,接收來自第二驗(yàn)證模塊的保持通知,解壓器保持當(dāng)前SC態(tài) 不變。所述第二驗(yàn)證模塊還用于,如果頂包的CRC驗(yàn)證通過,向處理模塊發(fā)送遷移通 知;所述處理模塊還用于,接收來自第二驗(yàn)證模塊的遷移通知,解壓器遷移至FC態(tài)。從上述本發(fā)明提供的技術(shù)方案可以看出,包括解壓器在SC態(tài)下收到頂包,計(jì)算頂 包靜態(tài)信息的CRC ;對(duì)頂包靜態(tài)信息的CRC驗(yàn)證是否通過,如果通過,計(jì)算并驗(yàn)證頂包的 CRC。結(jié)束本流程;如果未通過,回遷至NC態(tài),并不再計(jì)算頂包0^。從本發(fā)明方案可見, 首先對(duì)頂包靜態(tài)信息進(jìn)行CRC驗(yàn)證,在頂包靜態(tài)信息的CRC驗(yàn)證為未通過的情況下,不再計(jì)算整個(gè)頂包的CRC,而回遷至NC態(tài)。這樣,減少了頂包CRC計(jì)算量,避免了不必要的狀 態(tài)遷移,從而提高了報(bào)文解壓縮正確率和QoS,節(jié)約了空口帶寬。進(jìn)一步地,如果頂包CRC驗(yàn)證不通過,保持SC態(tài)不變;如果頂包的CRC驗(yàn)證通 過,遷移至FC態(tài)??梢?,在頂包靜態(tài)信息驗(yàn)證通過后,再對(duì)整個(gè)頂包的CRC進(jìn)行驗(yàn)證,而 在對(duì)整個(gè)頂包的CRC驗(yàn)證未通過時(shí),只需保持SC態(tài),而不需要再回遷至NC態(tài)。這樣,避免 了不必要的狀態(tài)遷移,從而提高了報(bào)文解壓縮正確率和QoS,節(jié)約了空口帶寬。
圖1為壓縮器和解壓器的工作狀態(tài)的示意圖;圖2為profilel的IR包格式的示意圖;圖3為現(xiàn)有解壓器處于SC態(tài)時(shí)處理頂包的流程圖;圖4為本發(fā)明魯棒性頭壓縮狀態(tài)遷移的方法的流程圖;圖5為本發(fā)明解壓器的組成結(jié)構(gòu)示意圖;圖6為本發(fā)明實(shí)現(xiàn)魯棒性頭壓縮狀態(tài)遷移的第一實(shí)施例的流程圖;圖7為本發(fā)明實(shí)現(xiàn)魯棒性頭壓縮狀態(tài)遷移的第二實(shí)施例的流程圖。
具體實(shí)施例方式圖4為本發(fā)明魯棒性頭壓縮狀態(tài)遷移的方法的流程圖,如圖4所示,包括步驟400 解壓器在SC態(tài)下收到頂包,計(jì)算頂包靜態(tài)信息的CRC。步驟401 JR包靜態(tài)信息的CRC驗(yàn)證是否通過,如果通過,進(jìn)入步驟402 ;如果未通 過,進(jìn)入步驟403。步驟402 計(jì)算并驗(yàn)證頂包的CRC。結(jié)束本流程。步驟403 回遷至NC態(tài),并不再計(jì)算頂包的CRC。從本發(fā)明方法可見,首先對(duì)頂包靜態(tài)信息進(jìn)行CRC驗(yàn)證,如果頂包靜態(tài)信息的 CRC驗(yàn)證不通過,則不再計(jì)算整個(gè)頂包的CRC,而回遷至NC態(tài)。這樣,減少了頂包0 (計(jì)鈴旦昇里。進(jìn)一步地,本發(fā)明方法中的計(jì)算并驗(yàn)證頂包的CRC還包括如果頂包CRC驗(yàn)證不 通過,保持SC態(tài)不變;如果頂包的CRC驗(yàn)證通過,遷移至FC態(tài)??梢?,在頂包靜態(tài)信息驗(yàn) 證通過后,再對(duì)整個(gè)頂包的CRC進(jìn)行驗(yàn)證,而在對(duì)整個(gè)頂包的CRC驗(yàn)證未通過時(shí),只需保 持SC態(tài),而不需要再回遷至NC態(tài)。這樣,避免了不必要的狀態(tài)遷移,從而提高了報(bào)文解壓 縮正確率和QoS,節(jié)約了空口帶寬。圖5為本發(fā)明解壓器的組成結(jié)構(gòu)示意圖,如圖5所示,至少包括第一校驗(yàn)?zāi)K、第 二校驗(yàn)?zāi)K和處理模塊,其中,第一驗(yàn)證模塊,用于在SC態(tài)下收到頂包,計(jì)算頂包靜態(tài)信息的CRC,并對(duì)頂包靜 態(tài)信息的CRC進(jìn)行驗(yàn)證,在驗(yàn)證通過時(shí),向第二驗(yàn)證模塊發(fā)送啟動(dòng)通知;在驗(yàn)證未通過,向 處理模塊發(fā)送回遷通知。第二驗(yàn)證模塊,用于接收來自第一驗(yàn)證模塊的啟動(dòng)通知,計(jì)算并驗(yàn)證頂包的CRC。 進(jìn)一步地,如果頂包CRC驗(yàn)證未通過,向處理模塊發(fā)送保持通知;如果頂包的CRC驗(yàn)證通 過,向處理模塊發(fā)送遷移通知。
處理模塊,用于接收來自第一驗(yàn)證模塊的回遷通知,解壓器回遷至NC態(tài)。進(jìn)一步 地,接收來自第二驗(yàn)證模塊的保持通知,解壓器保持當(dāng)前SC態(tài)不變;接收來自第二驗(yàn)證模 塊的遷移通知,解壓器遷移至FC態(tài)。下面結(jié)合實(shí)施例對(duì)本發(fā)明方法進(jìn)行詳細(xì)描述。圖6為本發(fā)明實(shí)現(xiàn)魯棒性頭壓縮狀態(tài)遷移的第一實(shí)施例的流程圖,在第一實(shí)施例 中,假設(shè)解壓器在SC態(tài),IR包CRC驗(yàn)證失敗,如圖6所示,包括以下步驟步驟600 解壓器在SC態(tài),收到頂包。步驟601 解壓器根據(jù)CID、包類型、profile和靜態(tài)鏈,計(jì)算頂包靜態(tài)信息的CRC。本步驟中,解壓器解析頂包的靜態(tài)鏈,根據(jù)IP/UDP/RTP報(bào)文頭信息計(jì)算出靜態(tài)鏈 長(zhǎng)度,再計(jì)算頂包靜態(tài)信息的CRC。步驟602 JR包靜態(tài)信息CRC與之前上下文中保存的靜態(tài)信息CRC進(jìn)行比較,如果 兩者不同,進(jìn)入步驟606 ;如果兩者相同,進(jìn)入步驟603。步驟603 解壓器計(jì)算頂包動(dòng)態(tài)鏈長(zhǎng)度。步驟604 解壓器以靜態(tài)CRC為初始值,根據(jù)動(dòng)態(tài)鏈長(zhǎng)度計(jì)算頂包的CRC。步驟605 JR包CRC與頂包攜帶的CRC不同,則頂包CRC驗(yàn)證失敗,解壓器保持 SC態(tài)不變。結(jié)束本流程。步驟606 解壓器回遷至NC態(tài)。圖7為本發(fā)明實(shí)現(xiàn)魯棒性頭壓縮狀態(tài)遷移的第二實(shí)施例的流程圖,在第二實(shí)施例 中,假設(shè)解壓器在SC態(tài),頂包CRC驗(yàn)證通過,如圖7所示,包括以下步驟步驟700 解壓器在SC態(tài),收到頂包。步驟701 解壓器根據(jù)CID、包類型、profile和靜態(tài)鏈,計(jì)算頂包靜態(tài)信息的CRC。本步驟中,解壓器解析頂包的靜態(tài)鏈,根據(jù)因特網(wǎng)協(xié)議/用戶數(shù)據(jù)報(bào)協(xié)議/實(shí)時(shí) 傳輸協(xié)議(IP/UDP/RTP)報(bào)文頭信息計(jì)算出靜態(tài)鏈長(zhǎng)度,再計(jì)算頂包靜態(tài)信息的CRC。步驟702 假設(shè)頂包靜態(tài)信息CRC與之前上下文中保存的靜態(tài)信息CRC —致。步驟703 解壓器根據(jù)頂包動(dòng)態(tài)鏈信息獲取頂包動(dòng)態(tài)鏈長(zhǎng)度;解壓器以靜態(tài)CRC 為初始值,根據(jù)動(dòng)態(tài)鏈長(zhǎng)度計(jì)算頂包的CRC。計(jì)算頂包的CRC為解析所述頂包的動(dòng)態(tài)鏈,根據(jù)IP/UDP/RTP報(bào)文頭信息計(jì)算 出動(dòng)態(tài)鏈長(zhǎng)度;以靜態(tài)CRC為初始值,根據(jù)動(dòng)態(tài)鏈長(zhǎng)度計(jì)算頂包的CRC。步驟704 :IR包CRC與IR包攜帶的CRC相同,IR包CRC驗(yàn)證通過,解壓器遷移至 FC態(tài)。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù) 范圍之內(nèi)。
權(quán)利要求
1.一種魯棒性頭壓縮狀態(tài)遷移的方法,其特征在于,包括解壓器在靜態(tài)上下文SC態(tài)下收到初始態(tài)頂包,計(jì)算頂包靜態(tài)信息的循環(huán)冗余碼CRC ; 在對(duì)頂包靜態(tài)信息的CRC驗(yàn)證未通過時(shí),則回遷至無上下文NC態(tài)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括如果對(duì)所述頂包靜態(tài)信 息的CRC驗(yàn)證通過,計(jì)算并驗(yàn)證所述頂包的CRC。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述計(jì)算并驗(yàn)證頂包的CRC包括如果 所述頂包CRC驗(yàn)證未通過,保持SC態(tài)不變。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,如果所述頂包的CRC驗(yàn)證通過,遷移至全 上下文FC態(tài)。
5.根據(jù)權(quán)利要求1 4任一項(xiàng)所述的方法,其特征在于,所述計(jì)算頂包靜態(tài)信息的CRC 為根據(jù)所述頂包中的上下文標(biāo)志CID、包類型、profile和靜態(tài)鏈,計(jì)算頂包靜態(tài)信息的 CRC。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述頂包中的CID、包類型、 profile和靜態(tài)鏈,計(jì)算頂包靜態(tài)信息的CRC具體為解析所述頂包的靜態(tài)鏈,根據(jù)因特 網(wǎng)協(xié)議/用戶數(shù)據(jù)報(bào)協(xié)議/實(shí)時(shí)傳輸協(xié)議IP/UDP/RTP報(bào)文頭信息計(jì)算出靜態(tài)鏈長(zhǎng)度,再計(jì) 算所述頂包靜態(tài)信息的CRC。
7.根據(jù)權(quán)利要求2、3或4所述的方法,其特征在于,所述計(jì)算頂包的CRC為解析所 述頂包的動(dòng)態(tài)鏈,根據(jù)IP/UDP/RTP報(bào)文頭信息計(jì)算出動(dòng)態(tài)鏈長(zhǎng)度;以靜態(tài)CRC為初始值, 根據(jù)動(dòng)態(tài)鏈長(zhǎng)度計(jì)算頂包的CRC。
8.一種解壓器,其特征在于,至少包括第一校驗(yàn)?zāi)K、第二校驗(yàn)?zāi)K和處理模塊,其中, 第一驗(yàn)證模塊,用于在SC態(tài)下收到頂包,計(jì)算頂包靜態(tài)信息的CRC,并對(duì)頂包靜態(tài)信息的CRC進(jìn)行驗(yàn)證,在驗(yàn)證通過時(shí),向第二驗(yàn)證模塊發(fā)送啟動(dòng)通知;在驗(yàn)證未通過時(shí),向處 理模塊發(fā)送回遷通知;第二驗(yàn)證模塊,用于接收來自第一驗(yàn)證模塊的啟動(dòng)通知,計(jì)算并驗(yàn)證頂包的CRC ; 處理模塊,用于接收來自第一驗(yàn)證模塊的回遷通知,解壓器回遷至NC態(tài)。
9.根據(jù)權(quán)利要求8所述的解壓器,其特征在于,所述第二驗(yàn)證模塊還用于,如果所述頂 包CRC驗(yàn)證未通過,向處理模塊發(fā)送保持通知;所述處理模塊還用于,接收來自第二驗(yàn)證模塊的保持通知,解壓器保持當(dāng)前SC態(tài)不變。
10.根據(jù)權(quán)利要求8所述的解壓器,其特征在于,所述第二驗(yàn)證模塊還用于,如果頂包 的CRC驗(yàn)證通過,向處理模塊發(fā)送遷移通知;所述處理模塊還用于,接收來自第二驗(yàn)證模塊的遷移通知,解壓器遷移至FC態(tài)。
全文摘要
本發(fā)明提供了一種魯棒性頭壓縮狀態(tài)遷移的方法及解壓器,包括解壓器在SC態(tài)下收到IR包,計(jì)算IR包靜態(tài)信息的CRC;判斷IR包靜態(tài)信息的CRC驗(yàn)證是否通過,如果通過,計(jì)算并驗(yàn)證IR包的CRC。結(jié)束本流程;如果未通過,回遷至NC態(tài),并不再計(jì)算IR包CRC。從本發(fā)明方案可見,首先對(duì)IR包靜態(tài)信息進(jìn)行CRC驗(yàn)證,在IR包靜態(tài)信息的CRC驗(yàn)證未通過的情況下,不再計(jì)算整個(gè)IR包的CRC,而回遷至NC態(tài)。這樣,減少了IR包CRC計(jì)算量,避免了不必要的狀態(tài)遷移,從而提高了報(bào)文解壓縮正確率和QoS,節(jié)約了空口帶寬。
文檔編號(hào)H04L1/00GK102045311SQ20091020437
公開日2011年5月4日 申請(qǐng)日期2009年10月22日 優(yōu)先權(quán)日2009年10月22日
發(fā)明者蔡威 申請(qǐng)人:中興通訊股份有限公司