專利名稱:R模式so態(tài)魯棒性頭壓縮方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,具體涉及ー種R模式SO態(tài)魯棒性頭壓縮方法和裝置。
背景技術(shù):
魯棒性頭壓縮簡稱ROHC (Robust Header Compression),是一種基于IP的通用壓縮技術(shù),在 Internet 工程任務(wù)組(Internet Engineering Task Force)發(fā)布的 RFC3095、RFC4815等標(biāo)準(zhǔn)文檔中進(jìn)行了詳細(xì)定義,其主要功能是對UE和基站之間需要在空ロ傳輸?shù)臄?shù)據(jù)報文的報文頭進(jìn)行壓縮,例如RTP/UDP/IP頭,然后傳輸壓縮后的數(shù)據(jù),以提高空ロ帶寬利用率。RFC3095中提出的ROHC功能實體包括用于壓縮報文頭的壓縮器以及用于恢復(fù)報文頭的解壓器,在壓縮端和解壓端有各自的狀態(tài)機(jī),ROHC頭壓縮可以描述為壓縮 狀態(tài)機(jī)和解壓縮狀態(tài)機(jī)的相互作用。通過在壓縮器與解壓縮器間為每個數(shù)據(jù)流建立一個Context (上下文,包括報文頭域靜態(tài)部分、動態(tài)部分及變化模式參數(shù)等),來獲得壓縮増益。壓縮端和解壓縮端必須保持上下文同歩,ROHC在壓縮報文中加入了 CRC(CyclicRedundancy Check,循環(huán)冗余校驗),并通過反饋 ACK/STATC-NACK/NACK (Acknowledgment/Static-Negative Acknowledgment/Negative Acknowledgment,石角認(rèn) / 浄態(tài)非石角認(rèn) / 動態(tài)非確認(rèn))來確保上下文及時、正確的更新。ROHC的壓縮狀態(tài)可分為IR(Initialization and Refresh,初始化刷新)態(tài)、FO(First Order,第一階)態(tài)和S0(Second Order,第二階)態(tài)。IR狀態(tài)是壓縮器的初始狀態(tài),在這個狀態(tài)壓縮器發(fā)送完整的報文頭信息;F0狀態(tài)下,壓縮器基本不發(fā)送靜態(tài)信息,只發(fā)送少量的動態(tài)域信息以及有規(guī)律變化的域;SO狀態(tài)下,壓縮的效果最優(yōu),報文頭被完全壓縮。IR態(tài)、FO態(tài)和SO態(tài)對報文頭的壓縮率依次升高,即IR態(tài)報文頭壓縮率最小,F(xiàn)O態(tài)次之,SO態(tài)報文頭壓縮率最高。狀態(tài)之間可以相互轉(zhuǎn)換。ROHC 的模式可分為 U(Unidirectional,單向)模式、0(BidirectionalOptimistic,雙向優(yōu)化)模式和R(Bidirectional Reliable,雙向可靠)模式。在U模式時數(shù)據(jù)只能從壓縮器向解壓器的方向發(fā)送;在O模式和R模式時數(shù)據(jù)在兩個方向上都能傳送;0模式使用一個反饋通道發(fā)送錯誤恢復(fù)請求和重要的上下文更新確認(rèn)”模式有ー個更為密集使用的反饋信道(用于避免由于Context無效引起的報文丟失),在該模式下,壓縮器對報文的確信度依賴于解壓縮器對每個Context更新報文的ACK,因此壓縮器必須周期性的發(fā)送Context更新報文(更新報文必須攜帶7bit或8bit的CRC),直到接收到解壓縮器的ACK。圖I為RFC3095協(xié)議規(guī)定的R模式SO態(tài)Context更新報文的周期性發(fā)送方法流程圖首先發(fā)送(64-pRTT)個R-O類型的壓縮報文101,其中pRTT是往返時間內(nèi)的報文數(shù)(小于64);接著再發(fā)送ml個R-O-CRC類型的context更新報文102,其中ml為實現(xiàn)參數(shù),最大取值為PRTT ;最后發(fā)送(pRTT-ml)個R-O類型的壓縮報文103,ー輪Context更新報文發(fā)送結(jié)束。
這種發(fā)送方法存在如下缺陷當(dāng)待壓縮報文頭偶爾跳變較大吋,出現(xiàn)SN(SeqUenCeNumber,序列號)或 IPID (IP Identification, IP 標(biāo)識)的 LSB(Least Significant Bits,最低有效位)大于R-0-* (R-0-*泛指R-O和R-0-CRC)類型的LSB的情況,例如當(dāng)前報文中SN 為 0000000011111111,而上下文中 SN 為 0000000010000000,此時計算出的 SN LSB = 7,而R-0-*類型報文提供的SNLSB最多為6,壓縮器必須從SO狀態(tài)回遷至FO狀態(tài),這會降低R模式的壓縮效率。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供ー種R模式SO態(tài)魯棒性頭壓縮方法和裝置,以解決壓縮效率低下的問題。為解決上述技術(shù)問題,本發(fā)明提供了ー種R模式SO態(tài)魯棒性頭壓縮方法,該方法包括
判斷步驟,根據(jù)當(dāng)前報文發(fā)送周期已發(fā)送的報文數(shù)N判斷是否符合攜帯循環(huán)冗余校驗(CRC)的條件N彡64-pRTT且N < (64-pRTT) +ml,其中pRTT為往返時間內(nèi)的報文數(shù),ml為實現(xiàn)參數(shù),且最大取值為pRTT ;壓縮包類型決策步驟,根據(jù)當(dāng)前待壓縮報文動態(tài)域相對于上下文變化的參數(shù)和判斷步驟的判斷結(jié)果確定當(dāng)前待壓縮包類型;組包發(fā)送步驟,根據(jù)確定的當(dāng)前待壓縮包類型組包發(fā)送壓縮包,其中若判斷步驟判斷為是,則所述壓縮包攜帯CRC,否則所述壓縮包不攜帶CRC。進(jìn)ー步地,所述壓縮包類型包括基本頭類型和擴(kuò)展頭類型??蛇x地,所述當(dāng)前待壓縮報文為實時傳輸協(xié)議(RTP)報文,所述參數(shù)包括表示該RTP報文是否攜帯貢獻(xiàn)源(CSRC)列表的參數(shù)byCSRCFlag、表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)wIpidBits、表示時間戳(TS)的最低有效位的參數(shù)dwTsbits、表示該RTP報文是否需要在基本頭中傳遞RTP報文的M域的參數(shù)byMarK。可選地,所述當(dāng)前待壓縮報文為用戶數(shù)據(jù)包協(xié)議(UDP)報文,所述參數(shù)包括表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)wIpidBits。為解決上述技術(shù)問題,本發(fā)明還提供了ー種R模式SO態(tài)魯棒性頭壓縮裝置,該裝置包括判斷模塊,用于根據(jù)當(dāng)前報文發(fā)送周期已發(fā)送的報文數(shù)N判斷是否符合攜帯循環(huán)冗余校驗(CRC)的條件N彡64-pRTT iN < (64-pRTT)+ml,其中pRTT為往返時間內(nèi)的報文數(shù),ml為實現(xiàn)參數(shù),且最大取值為pRTT ;壓縮包類型決策模塊,用于根據(jù)當(dāng)前待壓縮報文動態(tài)域相對于上下文變化的參數(shù)和判斷模塊的判斷結(jié)果確定當(dāng)前待壓縮包類型;組包發(fā)送模塊,用于根據(jù)確定的當(dāng)前待壓縮包類型組包發(fā)送壓縮包,其中若所述判斷模塊判斷為是,則所述壓縮包攜帯CRC,否則所述壓縮包不攜帶CRC。本發(fā)明明R模式SO態(tài)魯棒性頭壓縮方法和裝置,壓縮報文的類型是根據(jù)當(dāng)前待壓縮報文動態(tài)域變化情況以及是否需要攜帯CRC推導(dǎo)得出。當(dāng)出現(xiàn)SN或IPID的LSB大于R-0-*類型的LSB的情況,壓縮器不必從SO狀態(tài)回遷至FO狀態(tài),只需在R模式SO狀態(tài)下發(fā)送符合要求的包類型即可,從而提高R模式的壓縮效率。
圖I是RFC3095協(xié)議規(guī)定的R模式SO態(tài)Context更新報文的周期性發(fā)送方法流程圖;圖2是本發(fā)明提出的R模式SO態(tài)魯棒性頭壓縮的流程圖示意圖;圖3是本發(fā)明以UDP報文為例的實施例I的流程示意4是本發(fā)明以RTP報文為例的實施例2的總體流程圖;圖5是圖4中判斷不符合攜帯CRC條件時的判斷流程圖;圖6是圖4中判斷符合攜帶CRC條件時的判斷流程圖; 圖7是本發(fā)明R模式SO態(tài)魯棒性頭壓縮裝置的模塊結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明R模式SO態(tài)魯棒性頭壓縮方法,首先發(fā)送(64-pRTT)個不攜帯CRC的壓縮報文;接著再發(fā)送ml個攜帶CRC的Context更新報文;最后發(fā)送(pRTT-ml)個不攜帶CRC的壓縮報文,具體地,如圖2所示,包括以下步驟步驟201 :判斷步驟,根據(jù)當(dāng)前報文發(fā)送周期已發(fā)送的報文數(shù)N判斷是否符合攜帯循環(huán)冗余校驗(CRC)的條件N彡64-pRTT iN < (64-pRTT)+ml,其中pRTT為往返時間內(nèi)的報文數(shù),ml為實現(xiàn)參數(shù),且最大取值為pRTT ;ー個報文發(fā)送周期發(fā)送64個報文,也稱為ー輪Context更新報文發(fā)送,在ー個報文發(fā)送周期內(nèi),每發(fā)送ー個報文,已連續(xù)發(fā)送報文計數(shù)器加1,如果ー輪發(fā)包結(jié)束,需要將已連續(xù)發(fā)送報文數(shù)清0,步驟201中,根據(jù)已連續(xù)發(fā)送報文數(shù)的取值范圍(每發(fā)一包就加I)來決定報文是否需要攜帶CRCml是協(xié)議規(guī)定的實現(xiàn)參數(shù),取值<=pRTT,這個參數(shù)用戶可配置的。本發(fā)明中的pRTT也是往返時間內(nèi)的報文數(shù),且小于64。壓縮器發(fā)送ー個壓縮報文,到收到解壓縮器針對這個報文的反饋,這段時間就是往返時間。步驟202 :壓縮包類型決策步驟,根據(jù)當(dāng)前待壓縮報文動態(tài)域相對于上下文變化的參數(shù)和判斷步驟的判斷結(jié)果確定當(dāng)前待壓縮包類型;當(dāng)報文類型不同時,用于判斷的參數(shù)不同,具體地,當(dāng)所述當(dāng)前待壓縮報文為實時傳輸協(xié)議(RTP)報文,所述參數(shù)包括表示該RTP報文是否攜帶貢獻(xiàn)源(CSRC)列表的參數(shù)byCSRCFlag、表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)wIpidBits、表示時間戳(TS)的最低有效位的參數(shù)dwTsbits、表示該RTP報文是否需要在基本頭中傳遞RTP報文的M域的參數(shù)byMark。所述當(dāng)前待壓縮報文為用戶數(shù)據(jù)包協(xié)議(UDP)報文,所述參數(shù)包括表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)wIpidBits。本發(fā)明所說的壓縮包類型包括基本頭類型和擴(kuò)展頭類型。步驟203 :組包發(fā)送步驟,根據(jù)確定的當(dāng)前待壓縮包類型組包發(fā)送壓縮包,其中若判斷步驟判斷為是,則所述壓縮包攜帯CRC,否則所述壓縮包不攜帶CRC。
重復(fù)上述步驟201至步驟203,進(jìn)行周期性Context更新報文發(fā)送。當(dāng)出現(xiàn)SN或IPID的LSB大于R_0_*類型的LSB的情況,如果采用現(xiàn)有技術(shù)的發(fā)包策略,必然導(dǎo)致解壓縮端解壓出錯,壓縮端收到錯誤反饋后會從從SO狀態(tài)回遷至FO狀態(tài)。而本發(fā)明根據(jù)實際情況決定發(fā)包類型,解壓端就不會解錯。下文中將結(jié)合附圖對本發(fā)明的實施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。實施例I本實施例提供了ー種R模式SO態(tài)魯棒性頭壓縮方法,以單IPV4頭且IPID非隨機(jī)(RND = O)的UDP(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)報文來說明,如圖3所示,該方法包括以下步驟步驟301,根據(jù)當(dāng)前報文發(fā)送周期已發(fā)送報文數(shù),判斷當(dāng)前待壓縮UDP報文是否 需要攜帶CRC :若已發(fā)送報文數(shù)小于(64-pRTT)或者大于等于(64-pRTT)+ml,,跳轉(zhuǎn)至步驟302 ;若已發(fā)送報文數(shù)大于等于(64-pRTT)并且小于(64-pRTT)+ml,則需攜帶CRC ;步驟302,判斷是否滿足wSnBits的值小于或等于6、wIpidBits的值為0(即wSnBits < = 6&&wIpidBits ==0 是否成立)。其中 wSnBits 表不 SN 的 LSB ;wIpidBits表示IPID的LSB。如果滿足則跳轉(zhuǎn)至步驟303,否則跳轉(zhuǎn)至步驟304 ;步驟303,確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-O且不攜帯擴(kuò)展頭,跳轉(zhuǎn)至步驟323 ;步驟304,判斷是否滿足wSnBits的值小于或等于6、wIpidBits的值小于或等于7 (即wSnBits < = 6&&wIpidBits <= 7是否成立),如果滿足則跳轉(zhuǎn)至步驟305,否則跳轉(zhuǎn)至步驟306 ;步驟305,確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-I且不攜帯擴(kuò)展頭,跳轉(zhuǎn)至步驟323 ;步驟306,判斷是否滿足wSnBits的值小于或等于9、wIpidBits的值小于或等于
10(即wSnBits < = 9&&wIpidBits <= 10是否成立),如果滿足則跳轉(zhuǎn)至步驟307,否則跳轉(zhuǎn)至步驟308 ;步驟307,確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-I,擴(kuò)展頭類型為ΕΧΤ0,跳轉(zhuǎn)至步驟323 ;步驟308,判斷是否滿足wSnBits的值小于或等于9、wIpidBits的值小于或等于16 (即wSnBits < = 9&&wIpidBits <= 16是否成立),如果滿足則跳轉(zhuǎn)至步驟309,否則跳轉(zhuǎn)至步驟310 ;步驟309,確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-I,擴(kuò)展頭類型為EXTl,跳轉(zhuǎn)至步驟323 ;步驟310,判斷是否滿足wSnBits的值小于或等于14(即wSnBits <= 14是否成立),如果滿足則跳轉(zhuǎn)至步驟311,否則跳轉(zhuǎn)至步驟322 ;步驟311,確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-I,擴(kuò)展頭類型為EXT3,跳轉(zhuǎn)至步驟323 ;步驟312,判斷(是否滿足wSnBits的值小于或等于7、wIpidBits的值為O即wSnBits く = 7&&wIpidBits ==0是否成立),如果滿足則跳轉(zhuǎn)至步驟313,否則跳轉(zhuǎn)至步驟 314 ;步驟313,確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-O-CRC且不攜帶擴(kuò)展頭,跳轉(zhuǎn)至步驟323 ;步驟314,判斷是否滿足wSnBits的值小于或等于5、wIpidBits的值為0(即wSnBits く = 5&&wIpidBits ==0是否成立),如果滿足則跳轉(zhuǎn)至步驟315,否則跳轉(zhuǎn)至步驟 316 ;步驟315,確定當(dāng)前UDP報文的壓縮包的基本頭類型為U0R-2且不攜帯擴(kuò)展頭,跳轉(zhuǎn)至步驟323 ;步驟316,判斷是否滿足wSnBits的值小于或等于8、wIpidBits的值小于或等于3 (即wSnBits < = 8&&wIpidBits <= 3是否成立),如果滿足則跳轉(zhuǎn)至步驟317,否則跳轉(zhuǎn)至步驟318 ; 步驟317,確定當(dāng)前UDP報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXTO,跳轉(zhuǎn)至步驟323 ;步驟318,判斷是否滿足wSnBits的值小于或等于8、wIpidBits的值小于或等于
11(即wSnBits < = 8&&wIpidBits <= 11是否成立),如果滿足則跳轉(zhuǎn)至步驟319,否則跳轉(zhuǎn)至步驟320 ;步驟319,確定當(dāng)前UDP報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXTI,跳轉(zhuǎn)至步驟323 ;步驟320,判斷是否滿足wSnBits的值小于或等于14(wSnBits く= 14)是否成立,如果成立則跳轉(zhuǎn)至步驟321,否則跳轉(zhuǎn)至步驟322 ;步驟321,確定當(dāng)前UDP報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXT3,跳轉(zhuǎn)至步驟323 ;步驟322,確定當(dāng)前UDP報文的壓縮包的基本頭類型為IR_DYN且不帶擴(kuò)展頭;以上步驟302至步驟322為確定當(dāng)前待壓縮包類型的過程。步驟323,根據(jù)選擇的壓縮包類型,組包后發(fā)送壓縮的報文。重復(fù)步驟301至步驟323,進(jìn)行周期性Context更新報文發(fā)送。實施例2本實施例提供了ー種R模式SO態(tài)魯棒性頭壓縮方法,以單IPV4頭且IPID非隨機(jī)(即RND = 0,其中RND (random)是IPID是否隨機(jī)的標(biāo)志,O表示非隨機(jī),I表示隨機(jī))的RTP (Real-timeTransportProtocol,實時傳輸協(xié)議)報文來說明,該方法包括以下步驟步驟401,根據(jù)當(dāng)前報文發(fā)送周期已發(fā)送RTP報文數(shù),判斷當(dāng)前待壓縮RTP報文是否需要攜帶CRC :若已發(fā)送報文數(shù)小于(64-pRTT)或者大于或等于(64-pRTT)+ml,則不需要攜帶CRC ;若已發(fā)送報文數(shù)大于或等于(64-pRTT)并且小于(64-pRTT)+ml,則需攜帶CRC ;步驟402,根據(jù)當(dāng)前待壓縮RTP報文動態(tài)域相對于上下文變化的參數(shù)和步驟401的判斷結(jié)果確定當(dāng)前待壓縮包類型;具體地,若步驟401的判斷步驟為否,則執(zhí)行圖5所示流程中的步驟501至步驟519,具體包括步驟501 :判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于6、wIpidBits 的值為 CKdwTsbits 的值 O 且 byMark 的值為 0(即 O = = by CSRCFI agMwSnB its<=6&&wIpidBits = = OMdwTsbits = = OMbyMark ==0 是否成立)。其中 byCSRCFlag取值為I表示該RTP報文攜帶CSRC (Contributing source,貢獻(xiàn)源)列表,為O表示不攜帶;wSnBits 表不 SN (Sequence Number,序列號)的 LSB(Least Significant Bits,最低有效位);wIpidBits 表不 IPID (IP Identification, IP 標(biāo)識)的 LSB ; dwTsbits 表不 TS (TS時間戳,Timestamp)的LSB ;byMark取值為I表示需要在基本頭中傳遞RTP報文的M域,為O表示不需要傳遞。如果滿足則跳轉(zhuǎn)至步驟502,否則跳轉(zhuǎn)至步驟503 ;之所以用到擴(kuò)展頭是因為基本頭有時無法攜帶整個待壓縮報文頭的信息。例如對于U0R-2類型的報文,協(xié)議提供的SN LSB長度為6bits,當(dāng)如果當(dāng)前待壓縮報文頭計算出來的SN LSB為7bits,此時就必須使用擴(kuò)展頭。步驟502,確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-O且不攜帯擴(kuò)展頭,跳轉(zhuǎn)至步驟504 ;步驟503,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于6、wIpidBits 的值小于或等于 5 且 dwTsbits 的值為 0(即 O = = by CSRCFI agMwSnB its く = 6&&wIpidBits く = 5&&dwTsbits ==0是否成立),如果滿足則跳轉(zhuǎn)至步驟504,否則跳轉(zhuǎn)至步驟505 ;步驟504,確定當(dāng)前RTP報文的壓縮包的基本頭類型為R_1_ID且不攜帯擴(kuò)展頭;步驟505,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于6、wIpidBits 的值等于 O 且 dwTsbits 的值小于或等于 5 (即 O = = by CSRCFI agMwSnB its < =6&&wIpidBits == OMdwTsbits <=5是否成立),如果滿足則跳轉(zhuǎn)至步驟506,否則跳轉(zhuǎn)至步驟507 ;步驟506,確定當(dāng)前RTP報文的壓縮包的基本頭類型為R_1_TS且不攜帯擴(kuò)展頭;步驟507,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits 的值小于或等于 8 且 dwTsbits 的值為 0(即 O = = by CSRCFI agMwSnB its く =9&&wIpidBits く = 8&&dwTsbits ==0是否成立),如果滿足則跳轉(zhuǎn)至步驟508,否則跳轉(zhuǎn)至步驟509 ;步驟508,確定當(dāng)前RTP報文的壓縮包的基本頭類型為R_1_ID,擴(kuò)展頭類型為EXTO ;步驟509,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值等于O且dwTsbits的值為小于或等于8(即O = = by CSRCFI agMwSnB its
<=9&&wIpidBits = = OMdwTsbits < = 8是否成立),如果滿足則跳轉(zhuǎn)至步驟510,否則跳轉(zhuǎn)至步驟511 ;步驟510,確定當(dāng)前RTP報文的壓縮包的基本頭類型為R_1_TS,擴(kuò)展頭類型為EXTO ;步驟511,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于8 (即O ==by CSRCFI agMwSnB its < = 9&&wIpidBits < = 8&&dwTsbits < = 8 是否成立),如滿足則跳轉(zhuǎn)至步驟512,否則跳轉(zhuǎn)至步驟513 ;步驟512,確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-I-ID或R-1-TS,擴(kuò)展頭類型為EXTl ;
步驟513,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8 (即O ==by CSRCFI agMwSnB its く = 9&&wIpidBits く = 16&&dwTsbits < = 8 是否成立),如滿足則跳轉(zhuǎn)至步驟514,否則跳轉(zhuǎn)至步驟515 ;步驟514,確定當(dāng)前R TP報文的壓縮包的基本頭類型為R_1_ID,擴(kuò)展頭類型為EXT2 ;步驟515,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于16 (即O ==by CSRCFI agMwSnB its く = 9&&wIpidBits く = 8&&dwTsbits <=16 是否成立),如果滿足則跳轉(zhuǎn)至步驟516,否則跳轉(zhuǎn)至步驟517 ;步驟516,確定當(dāng)前RTP報文的壓縮包的基本頭類型為R_1_TS,擴(kuò)展頭類型為EXT2 ;步驟517,判斷是否滿足wSnBits的值小于或等于14(即wSnBits <= 14是否成立),如果滿足則跳轉(zhuǎn)至步驟518,否則跳轉(zhuǎn)至步驟519 ;步驟518,確定當(dāng)前RTP報文的壓縮包的基本頭類型為R_1_TS,擴(kuò)展頭類型為EXT3 ;步驟519,確定當(dāng)前RTP報文的壓縮包的基本頭類型為IR_DYN且不帶擴(kuò)展頭。具體地,若步驟401的判斷步驟為是,則執(zhí)行圖6所示流程中的步驟601至625,具體包括步驟601,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于7、wIpidBits 的值為 CKdwTsbits 的值為 O 且 byMark 的值為 O (即 O = = by CSRCFI agMwSnB itsく = 7&&wIpidBits == OMdwTsbits == OMbyMark ==0 是否成立),如果滿足則跳轉(zhuǎn)至步驟602,否則跳轉(zhuǎn)至步驟601 ;步驟602,確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-O-CRC且不攜帯擴(kuò)展頭;步驟603,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于6、wIpidBits 的值小于或等于 5 且 dwTsbits 的值為 0(即 O = = by CSRCFI agMwSnB its く =6&&wIpidBits く = 5&&dwTsbits ==0是否成立),如果滿足則跳轉(zhuǎn)至步驟604,否則跳轉(zhuǎn)至步驟605 ;步驟604,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID且不攜帶擴(kuò)展頭;步驟605,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于6、wIpidBits 的值等于 O 且 dwTsbits 的值小于或等于 5 (即 O = = by CSRCFI agMwSnB its < =6&&wIpidBits == OMdwTsbits く = 5是否成立),如果成立則跳轉(zhuǎn)至步驟606,否則跳轉(zhuǎn)至步驟607 ;步驟606,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS且不攜帶擴(kuò)展頭;步驟607,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits 的值小于或等于 8 且 dwTsbits 的值為 0(即 O = = by CSRCFI agMwSnB its く =9&&wIpidBits く = 8&&dwTsbits == O是否成立),如果滿足則跳轉(zhuǎn)至步驟608,否則跳轉(zhuǎn)至步驟609 ;步驟608,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXTO ;步驟609,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值等于O且dwTsbits的值為小于或等于8(即O = = by CSRCFI agMwSnB itsく = 9&&wIpidBits == OMdwTsbits く = 8是否成立),如果滿足則跳轉(zhuǎn)至步驟610,否則跳轉(zhuǎn)至步驟611 ;步驟610,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXTO ;步驟611,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于8 (即O == by CSRCFI agMwSnB its く = 9&&wIpidBits く = 8&&dwTsbits < = 8 是否成立),如果滿足則跳轉(zhuǎn)至步驟612,否則跳轉(zhuǎn)至步驟613 ;步驟612,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID或U0R-2-TS,擴(kuò)展頭類型為EXTl ;步驟613,判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值小于或等于5 且 dwTsbits 的值為 0(即 wSnBits く = 14&&wIpidBits く = 5&&dwTsbits ==0 是否成立),如果滿足則跳轉(zhuǎn)至步驟614,否則跳轉(zhuǎn)至步驟615 ;步驟614,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT3 ;步驟615,判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值為O且dwTsbits 的值小于或等于 5(即 wSnBits く = 14&&wIpidBits = = OMdwTsbits < = 5 是否成立),如果滿足則跳轉(zhuǎn)至步驟616,否則跳轉(zhuǎn)至步驟617 ;步驟616,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT3 ;步驟617,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于16 (即O ==by CSRCFI agMwSnB its く = 9&&wIpidBits く = 8&&dwTsbits <=16 是否成立),如果滿足則跳轉(zhuǎn)至步驟618,否則跳轉(zhuǎn)至步驟619 ;步驟618,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT2 ;步驟619,判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8 (即O ==by CSRCFI agMwSnB its く = 9&&wIpidBits く = 16&&dwTsbits < = 8 是否成立),如果滿足則跳轉(zhuǎn)至步驟620,否則跳轉(zhuǎn)至步驟621 ;步驟620,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭選擇EXT2 ;步驟621,判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值小于或等于dwTsbits 的值(即 wSnBits く = 14&&wIpidBits く = dwTsbits 是否成立),如果滿足則跳轉(zhuǎn)至步驟622,否則跳轉(zhuǎn)至步驟623 ;步驟622,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT3 ;步驟623,判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值大于dwTsbits的值(即wSnBits く = 14&&wIpidBits > dwTsbits是否成立),如果成立則跳轉(zhuǎn)至步驟624,否則跳轉(zhuǎn)至步驟625 ;步驟624,確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT3 ;步驟625,確定當(dāng)前RTP報文的壓縮包的基本頭類型為IR DYN且不帶擴(kuò)展頭。步驟403,根據(jù)選擇的RTP報文壓縮包類型,組包后發(fā)送壓縮的報文; 重復(fù)步驟401至步驟S403,進(jìn)行周期性Context更新報文發(fā)送。上文中,提供了針對RTP報文和UDP報文的最佳判斷處理流程,當(dāng)然只要首先發(fā)送(64-pRTT)個不攜帶CRC的壓縮報文;接著再發(fā)送ml個攜帶CRC的Context更新報文;最后發(fā)送(pRTT-ml)個不攜帯CRC的壓縮報文,且根據(jù)當(dāng)前待壓縮報文動態(tài)域相對于上下文變化的參數(shù)確定壓縮包類型,還可以采用其他流程進(jìn)行處理,在此不再贅述。為了實現(xiàn)前述方法,本發(fā)明還提供了ー種R模式SO態(tài)魯棒性頭壓縮裝置,如圖7所示,該裝置包括判斷模塊、壓縮包類型決策模塊及組包發(fā)送模塊,其中判斷模塊,用于根據(jù)當(dāng)前報文發(fā)送周期已發(fā)送的報文數(shù)N判斷是否符合攜帯循環(huán)冗余校驗(CRC)的條件N彡64-pRTT iN < (64-pRTT)+ml,其中pRTT為往返時間內(nèi)的報文數(shù),ml為實現(xiàn)參數(shù),且最大取值為pRTT ;壓縮包類型決策模塊,用于根據(jù)當(dāng)前待壓縮報文動態(tài)域相對于上下文變化的參數(shù)和判斷模塊的判斷結(jié)果確定當(dāng)前待壓縮包類型;組包發(fā)送模塊,用于根據(jù)確定的當(dāng)前待壓縮包類型組包發(fā)送壓縮包,其中若所述判斷模塊判斷為是,則所述壓縮包攜帯CRC,否則所述壓縮包不攜帶CRC。本發(fā)明所說的壓縮包類型包括基本頭類型和擴(kuò)展頭類型。一、RTP 報文當(dāng)所述當(dāng)前待壓縮報文為實時傳輸協(xié)議(RTP)報文,所述參數(shù)包括表示該RTP報文是否攜帶貢獻(xiàn)源(CSRC)列表的參數(shù)byCSRCFlag、表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)wIpidBits、表示時間戳(TS)的最低有效位的參數(shù)dwTsbits、表示該RTP報文是否需要在基本頭中傳遞RTP報文的M域的參數(shù)byMark。基于前述流程,所述判斷模塊判斷為否時,所述壓縮包類型決策模塊執(zhí)行以下操作判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值為O、dwTsbits的值O且byMark的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-0,且不攜帯擴(kuò)展頭;否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值小于或等于5且dwTsbits的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,且不攜帶擴(kuò)展頭;否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值等于O且dwTsbits的值小于或等于5,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,且不攜帶擴(kuò)展頭,否則判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,擴(kuò)展頭類型為ΕΧΤ0,否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值等于O且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,擴(kuò)展頭類型為ΕΧΤ0,否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-I-ID或R-1-TS,擴(kuò)展頭類型為EXTl,否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,擴(kuò)展頭類型為EXT2,否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于16,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,擴(kuò)展頭類型為EXT2,否則判斷是否滿足wSnBits的值小于或等于14,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,擴(kuò)展頭類型為EXT3,否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基 本頭類型為R-1-ID,擴(kuò)展頭類型為EXT2 ;否則確定當(dāng)前RTP報文的壓縮包的基本頭類型為IR DYN,且不攜帯擴(kuò)展頭;其中,所述byCSRCFlag的值為I表示該RTP報文攜帶CSRC列表,為O表示該RTP報文不攜帯CSRC列表;所述byMark的值為I表示需要在基本頭中傳遞RTP報文的M域,為O表示不需要在基本頭中傳遞RTP報文的M域。所述判斷模塊判斷為是時,所述壓縮包類型決策模塊執(zhí)行以下操作判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于7、wIpidBits的值為O、dwTsbits的值為O且byMark的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-0-CRC,且不攜帯擴(kuò)展頭,否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值小于或等于5且dwTsbits的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,且不攜帯擴(kuò)展頭,否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值等于O且dwTsbits的值小于或等于5,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,且不攜帶擴(kuò)展頭,否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為ΕΧΤ0,否則
判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值等于O且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為ΕΧΤ0,否則判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID或U0R-2-TS,擴(kuò)展頭類型為EXTl,否則判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值小于或等于5且dwTsbits的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT3,否則判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值為O且dwTsbits的值小于或等于5,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT3,否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于16,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT2,否則判斷是否滿足byCSRCFlag的0、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT2,否則判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值小于或等于dwTsbits的值,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT3,否則判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值大于dwTsbits的值,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前RTP報文的壓縮包的基本頭類型為IR DYN,且不攜帯擴(kuò)展頭;其中,所述byCSRCFlag的值為I表示該RTP報文攜帶CSRC列表,為O表示該RTP報文不攜帯CSRC列表;所述byMark的值為I表示需要在基本頭中傳遞RTP報文的M域,為O表示不需要在基本頭中傳遞RTP報文的M域。ニ、UDP 報文若所述當(dāng)前待壓縮報文為用戶數(shù)據(jù)包協(xié)議(UDP)報文,所述參數(shù)包括表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)wIpidBits。所述判斷模塊判斷為否時,所述壓縮包類型決策模塊執(zhí)行以下操作判斷是否滿足wSnBits的值小于或等于6、wIpidBits的值為O,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-0,且不攜帶擴(kuò)展頭,否則判斷是否滿足wSnBits的值小于或等于6、wIpidBits的值小于或等于7,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-1,且不攜帶擴(kuò)展頭,否則判斷是否滿足wSnBits的值小于或等于9、wIpidBits的值小于或等于10,若滿足則確定當(dāng)前Μ)Ρ報文的壓縮包的基本頭類型為R-I,擴(kuò)展頭類型為ΕΧΤ0,否則判斷是否滿足wSnBits的值小于或等于9、wIpidBits的值小于或等于16,若滿足則確定當(dāng)前Μ)Ρ報文的壓縮包的基本頭類型為R-I,擴(kuò)展頭類型為EXTl,否則
判斷是否滿足wSnBits的值小于或等于14,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-1,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前UDP報文的的壓縮包的基本頭類型為IR_DYN,且不攜帶擴(kuò)展頭。所述判斷模塊判斷為是時,所述壓縮包類型決策模塊執(zhí)行以下操作判斷是否滿足wSnBits的值小于或等于7、wIpidBits的值為O,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-0-CRC,且不攜帶擴(kuò)展頭,否則判斷是否滿足wSnBits的值小于或等于5、wIpidBits的值為O,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-2,且不攜帶擴(kuò)展頭,否則判斷是否滿足wSnBits的值小于或等于8、wIpidBits的值小于或等于3,若滿足則確定當(dāng)前Μ)Ρ報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為ΕΧΤ0,否則判斷是否滿足wSnBits的值小于或等于8、wIpidBits的值小于或等于11,若滿足 則確定當(dāng)前Μ)Ρ報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXTl,否則判斷是否滿足wSnBits的值小于或等于14,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前UDP報文的壓縮包的基本頭類型為IR_DYN,且不攜帶擴(kuò)展頭。本發(fā)明明R模式SO態(tài)魯棒性頭壓縮方法和裝置,壓縮報文的類型是根據(jù)當(dāng)前待壓縮報文動態(tài)域變化情況以及是否需要攜帯CRC推導(dǎo)得出。采用本發(fā)明后,在周期性發(fā)送Context更新報文吋,當(dāng)出現(xiàn)SN或IPID的LSB大于R-0-*類型的LSB的情況,壓縮器不必從SO狀態(tài)回遷至FO狀態(tài),只需在R模式SO狀態(tài)下發(fā)送符合要求的包類型即可,從而提高R模式的壓縮效率。盡管上文對本發(fā)明進(jìn)行了詳細(xì)說明,但是本發(fā)明不限于此,本技術(shù)領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為落入本發(fā)明的保護(hù)范圍。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲于計算機(jī)可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實施例的全部或部分步驟也可以使用ー個或多個集成電路來實現(xiàn)。相應(yīng)地,上述實施例中的各模塊可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
權(quán)利要求
1.一種R模式SO態(tài)魯棒性頭壓縮方法,其特征在于,該方法包括 判斷步驟,根據(jù)當(dāng)前報文發(fā)送周期已發(fā)送的報文數(shù)N判斷是否符合攜帶循環(huán)冗余校驗(CRC)的條件N彡64-pRTT且N < (64-pRTT) +ml,其中pRTT為往返時間內(nèi)的報文數(shù),ml為實現(xiàn)參數(shù),且最大取值為PRTT ; 壓縮包類型決策步驟,根據(jù)當(dāng)前待壓縮報文動態(tài)域相對于上下文變化的參數(shù)和判斷步驟的判斷結(jié)果確定當(dāng)前待壓縮包類型; 組包發(fā)送步驟,根據(jù)確定的當(dāng)前待壓縮包類型組包發(fā)送壓縮包,其中若判斷步驟判斷為是,則所述壓縮包攜帶CRC,否則所述壓縮包不攜帶CRC。
2.如權(quán)利要求I所述的方法,其特征在于所述壓縮包類型包括基本頭類型和擴(kuò)展頭類型。
3.如權(quán)利要求I所述的方法,其特征在于所述當(dāng)前待壓縮報文為實時傳輸協(xié)議(RTP)報文,所述參數(shù)包括表示該RTP報文是否攜帶貢獻(xiàn)源(CSRC)列表的參數(shù)byCSRCFlag、表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)WlpidBits、表示時間戳(TS)的最低有效位的參數(shù)dwTsbits、表示該RTP報文是否需要在基本頭中傳遞RTP報文的M域的參數(shù)byMark。
4.如權(quán)利要求3所述的方法,其特征在于所述判斷步驟判斷為否時,所述壓縮包類型決策步驟包括以下步驟 (al)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值為O、dwTsbits的值O且byMark的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-0,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(a2); (a2)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值小于或等于5且dwTsbits的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(a3); (a3)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值等于O且dwTsbits的值小于或等于5,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(a4); (a4)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,擴(kuò)展頭類型為ΕΧΤ0,否則執(zhí)行步驟(a5); (a5)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值等于O且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,擴(kuò)展頭類型為ΕΧΤ0,否則執(zhí)行步驟(a6); (a6)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-I-ID或R-1-TS,擴(kuò)展頭類型為EXTl,否則執(zhí)行步驟(a7); (a7)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,擴(kuò)展頭類型為EXT2,否則執(zhí)行步驟(a8);(a8)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于16,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,擴(kuò)展頭類型為EXT2,否則執(zhí)行步驟(a9); (a9)判斷是否滿足wSnBits的值小于或等于14,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前RTP報文的壓縮包的基本頭類型為IR_DYN,且不攜帶擴(kuò)展頭; 其中,所述byCSRCFlag的值為I表示該RTP報文攜帶CSRC列表,為O表示該RTP報文不攜帶CSRC列表;所述byMark的值為I表示需要在基本頭中傳遞RTP報文的M域,為O表示不需要在基本頭中傳遞RTP報文的M域。
5.如權(quán)利要求3所述的方法,其特征在于所述判斷步驟判斷為是時,所述壓縮包類型決策步驟包括以下步驟(bl)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于7、wIpidBits的值為O、dwTsbits的值為O且byMark的值為O,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-0-CRC,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(b2); (b2)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值小于或等于5且dwTsbits的值為O,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(b3); (b3)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值等于O且dwTsbits的值小于或等于5,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(b4); (b4)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為O,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXTO,否則執(zhí)行步驟(b5); (b5)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值等于O且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXTO,否則執(zhí)行步驟(b6); (b6)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID或U0R-2-TS,擴(kuò)展頭類型為EXT1,否則執(zhí)行步驟(b7); (b7)判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值小于或等于5且dwTsbits的值為O,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT3,否則執(zhí)行步驟(b8); (b8)判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值為O且dwTsbits的值小于或等于5,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT3,否則執(zhí)行步驟(b9); (b9)判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于16,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT2,否則執(zhí)行步驟(blO); (blO)判斷是否滿足byCSRCFlag的O、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT2,否則執(zhí)行步驟(bll); (bll)判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值小于或等于dwTsbits的值,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT3,否則執(zhí)行步驟(bl2); (bl2)判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值大于dwTsbits的值,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前RTP報文的壓縮包的基本頭類型為IR_DYN,且不攜帶擴(kuò)展頭; 其中,所述byCSRCFlag的值為I表示該RTP報文攜帶CSRC列表,為O表示該RTP報文 不攜帶CSRC列表;所述byMark的值為I表示需要在基本頭中傳遞RTP報文的M域,為O表示不需要在基本頭中傳遞RTP報文的M域。
6.如權(quán)利要求I所述的方法,其特征在于所述當(dāng)前待壓縮報文為用戶數(shù)據(jù)包協(xié)議(UDP)報文,所述參數(shù)包括表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)wIpidBits。
7.如權(quán)利要求6所述的方法,其特征在于所述判斷步驟判斷為否時,所述壓縮包類型決策步驟包括以下步驟 (cl)判斷是否滿足wSnBits的值小于或等于6、wIpidBits的值為O,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-0,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(c2);(c2)判斷是否滿足wSnBits的值小于或等于6、wIpidBits的值小于或等于7,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-1,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(c3);(c3)判斷是否滿足wSnBits的值小于或等于9、wIpidBits的值小于或等于10,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-1,擴(kuò)展頭類型為ΕΧΤ0,否則執(zhí)行步驟(c4); (c4)判斷是否滿足wSnBits的值小于或等于9、wIpidBits的值小于或等于16,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-1,擴(kuò)展頭類型為EXT1,否則執(zhí)行步驟c5); (c5)判斷是否滿足wSnBits的值小于或等于14,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-1,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前UDP報文的的壓縮包的基本頭類型為IR_DYN,且不攜帶擴(kuò)展頭。
8.如權(quán)利要求6所述的方法,其特征在于所述判斷步驟判斷為是時,所述壓縮包類型決策步驟包括以下步驟 (dl)判斷是否滿足wSnBits的值小于或等于7、wIpidBits的值為O,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-0-CRC,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(d2); (d2)判斷是否滿足wSnBits的值小于或等于5、wIpidBits的值為O,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為UOR-2,且不攜帶擴(kuò)展頭,否則執(zhí)行步驟(d3); (d3)判斷是否滿足wSnBits的值小于或等于8、wIpidBits的值小于或等于3,若滿足則確定當(dāng)前Μ)Ρ報文的壓縮包的基本頭類型為UOR-2,擴(kuò)展頭類型為ΕΧΤ0,否則執(zhí)行步驟(d4); (d4)判斷是否滿足wSnBits的值小于或等于8、wIpidBits的值小于或等于11,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXTl,否則執(zhí)行步驟(d5); (d5)判斷是否滿足wSnBits的值小于或等于14,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前UDP報文的壓縮包的基本頭類型為IR_DYN,且不攜帶擴(kuò)展頭。
9.一種R模式SO態(tài)魯棒性頭壓縮裝置,其特征在于,該裝置包括 判斷模塊,用于根據(jù)當(dāng)前報文發(fā)送周期已發(fā)送的報文數(shù)N判斷是否符合攜帶循環(huán)冗余校驗(CRC)的條件N彡64-pRTT且N < (64-pRTT) +ml,其中pRTT為往返時間內(nèi)的報文數(shù),ml為實現(xiàn)參數(shù),且最大取值為pRTT ; 壓縮包類型決策模塊,用于根據(jù)當(dāng)前待壓縮報文動態(tài)域相對于上下文變化的參數(shù)和判斷模塊的判斷結(jié)果確定當(dāng)前待壓縮包類型; 組包發(fā)送模塊,用于根據(jù)確定的當(dāng)前待壓縮包類型組包發(fā)送壓縮包,其中若所述判斷模塊判斷為是,則所述壓縮包攜帶CRC,否則所述壓縮包不攜帶CRC。
10.如權(quán)利要求9所述的裝置,其特征在于所述壓縮包類型包括基本頭類型和擴(kuò)展頭類型。
11.如權(quán)利要求9所述的裝置,其特征在于所述當(dāng)前待壓縮報文為實時傳輸協(xié)議(RTP)報文,所述參數(shù)包括表示該RTP報文是否攜帶貢獻(xiàn)源(CSRC)列表的參數(shù)byCSRCFlag、表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)WlpidBits、表示時間戳(TS)的最低有效位的參數(shù)dwTsbits、表示該RTP報文是否需要在基本頭中傳遞RTP報文的M域的參數(shù)byMark。
12.如權(quán)利要求11所述的裝置,其特征在于,所述判斷模塊判斷為否時,所述壓縮包類型決策模塊執(zhí)行以下操作 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值為O、dwTsbits的值O且byMark的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-0,且不攜帶擴(kuò)展頭;否則 判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于6、wIpidBits的值小于或等于5且dwTsbits的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,且不攜帶擴(kuò)展頭;否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于6、wIpidBits的值等于O且dwTsbits的值小于或等于5,若滿足則 確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,且不攜帶擴(kuò)展頭,否則判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為0,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,擴(kuò)展頭類型為EXTO,否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值等于O且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,擴(kuò)展頭類型為ΕΧΤ0,否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-I-ID或R-1-TS,擴(kuò)展頭類型為EXTl,否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,擴(kuò)展頭類型為EXT2,否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于16,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,擴(kuò)展頭類型為EXT2,否則 判斷是否滿足wSnBits的值小于或等于14,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-TS,擴(kuò)展頭類型為EXT3,否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-1-ID,擴(kuò)展頭類型為EXT2 ;否則 確定當(dāng)前RTP報文的壓縮包的基本頭類型為IR_DYN,且不攜帶擴(kuò)展頭; 其中,所述byCSRCFlag的值為I表示該RTP報文攜帶CSRC列表,為O表示該RTP報文不攜帶CSRC列表;所述byMark的值為I表示需要在基本頭中傳遞RTP報文的M域,為O表示不需要在基本頭中傳遞RTP報文的M域。
13.如權(quán)利要求11所述的裝置,其特征在于,所述判斷模塊判斷為是時,所述壓縮包類型決策模塊執(zhí)行以下操作 判斷是否滿足byCSRCFlag的值為(KwSnBits的值小于或等于7、wIpidBits的值為O、dwTsbits的值為O且byMark的值為O,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為R-0-CRC,且不攜帶擴(kuò)展頭,否則 判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于6、wIpidBits的值小于或等于5且dwTsbits的值為O,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,且不攜帶擴(kuò)展頭,否則 判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于6、wIpidBits的值等于O且dwTsbits的值小于或等于5,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,且不攜帶擴(kuò)展頭,否則 判斷是否滿足byCSRCFlag的值為O、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為O,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXTO,否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值等于O且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXTO,否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID或U0R-2-TS,擴(kuò)展頭類型為EXTl,否則 判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值小于或等于5且dwTsbits的值為O,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT3,否則判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值為O且dwTsbits的值小于或等于5,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT3,否則 判斷是否滿足byCSRCFlag的值為0、wSnBits的值小于或等于9、wIpidBits的值小于或等于8且dwTsbits的值為小于或等于16,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT2,否則 判斷是否滿足byCSRCFlag的0、wSnBits的值小于或等于9、wIpidBits的值小于或等于16且dwTsbits的值為小于或等于8,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT2,否則 判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值小于或等于dwTsbits的值,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-TS,擴(kuò)展頭類型為EXT3,否則 判斷是否滿足wSnBits的值小于或等于14、wIpidBits的值大于dwTsbits的值,若滿足則確定當(dāng)前RTP報文的壓縮包的基本頭類型為U0R-2-ID,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前RTP報文的壓縮包的基本頭類型為IR DYN,且不攜帶擴(kuò)展頭; 其中,所述byCSRCFlag的值為I表示該RTP報文攜帶CSRC列表,為O表示該RTP報文不攜帶CSRC列表;所述byMark的值為I表示需要在基本頭中傳遞RTP報文的M域,為O表示不需要在基本頭中傳遞RTP報文的M域。
14.如權(quán)利要求9所述的裝置,其特征在于所述當(dāng)前待壓縮報文為用戶數(shù)據(jù)包協(xié)議(UDP)報文,所述參數(shù)包括表示序列號(SN)的最低有效位的參數(shù)wSnBits、表示IP標(biāo)識的最低有效位的參數(shù)wIpidBits。
15.如權(quán)利要求14所述的裝置,其特征在于,所述判斷模塊判斷為否時,所述壓縮包類型決策模塊執(zhí)行以下操作 判斷是否滿足wSnBits的值小于或等于6、wIpidBits的值為O,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-0,且不攜帶擴(kuò)展頭,否則 判斷是否滿足wSnBits的值小于或等于6、wIpidBits的值小于或等于7,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-1,且不攜帶擴(kuò)展頭,否則 判斷是否滿足wSnBits的值小于或等于9、wIpidBits的值小于或等于10,若滿足則確定當(dāng)前Μ)Ρ報文的壓縮包的基本頭類型為R-I,擴(kuò)展頭類型為ΕΧΤ0,否則 判斷是否滿足wSnBits的值小于或等于9、wIpidBits的值小于或等于16,若滿足則確定當(dāng)前Μ)Ρ報文的壓縮包的基本頭類型為R-I,擴(kuò)展頭類型為EXTl,否則 判斷是否滿足wSnBits的值小于或等于14,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-1,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前UDP報文的的壓縮包的基本頭類型為IR_DYN,且不攜帶擴(kuò)展頭。
16.如權(quán)利要求14所述的裝置,其特征在于所述判斷模塊判斷為是時,所述壓縮包類型決策模塊執(zhí)行以下操作 判斷是否滿足wSnBits的值小于或等于7、wIpidBits的值為0,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-0-CRC,且不攜帶擴(kuò)展頭,否則 判斷是否滿足wSnBits的值小于或等于5、wIpidBits的值為0,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為R-2,且不攜帶擴(kuò)展頭,否則 判斷是否滿足wSnBits的值小于或等于8、wIpidBits的值小于或等于3,若滿足則確定當(dāng)前Μ)Ρ報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXTO,否則 判斷是否滿足wSnBits的值小于或等于8、wIpidBits的值小于或等于11,若滿足則確定當(dāng)前Μ)Ρ報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXTl,否則 判斷是否滿足wSnBits的值小于或等于14,若滿足則確定當(dāng)前UDP報文的壓縮包的基本頭類型為U0R-2,擴(kuò)展頭類型為EXT3,否則確定當(dāng)前UDP報文的壓縮包的基本頭類型為IR_DYN,且不攜帶擴(kuò)展頭。
全文摘要
本發(fā)明涉及一種R模式SO態(tài)魯棒性頭壓縮方法和裝置,該方法包括判斷步驟,根據(jù)當(dāng)前報文發(fā)送周期已發(fā)送的報文數(shù)N判斷是否符合攜帶循環(huán)冗余校驗(CRC)的條件N≥64-pRTT且N<(64-pRTT)+m1,其中pRTT為往返時間內(nèi)的報文數(shù),m1為實現(xiàn)參數(shù),且最大取值為pRTT;壓縮包類型決策步驟,根據(jù)當(dāng)前待壓縮報文動態(tài)域相對于上下文變化的參數(shù)和判斷步驟的判斷結(jié)果確定當(dāng)前待壓縮包類型;組包發(fā)送步驟,根據(jù)確定的當(dāng)前待壓縮包類型組包發(fā)送壓縮包,其中若判斷步驟判斷為是,則所述壓縮包攜帶CRC,否則所述壓縮包不攜帶CRC。本發(fā)明方法和裝置可以提高壓縮效率。
文檔編號H04L1/00GK102740357SQ20121019649
公開日2012年10月17日 申請日期2012年6月14日 優(yōu)先權(quán)日2012年6月14日
發(fā)明者歐陽應(yīng)華 申請人:中興通訊股份有限公司