專利名稱:用于在穩(wěn)健標頭壓縮中加強局部修復(fù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請案大體上涉及無線通信,且更具體來說,涉及在穩(wěn)健標頭解壓縮中加強局部 修復(fù)的方法和系統(tǒng)。
背景技術(shù):
因特網(wǎng)協(xié)議(IP)為一種在有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)兩者中使用的網(wǎng)絡(luò)協(xié)議。對于某些 服務(wù)和應(yīng)用(例如,因特網(wǎng)語音協(xié)議(VoIP)、互動式游戲、消息等)來說,IP包的有效 負載可能幾乎與包的IP標頭大小相同或甚至小于包的IP標頭。在同一包標頭內(nèi)且尤其 在包串流的連續(xù)包之間的標頭字段中可能存在顯著冗余。標頭壓縮(HC)為在鏈路的一 端處壓縮IP包的協(xié)議標頭、將經(jīng)壓縮的IP包的協(xié)議標頭傳輸?shù)芥溌返牧硪欢饲以诹硪?端處將經(jīng)壓縮的IP包的協(xié)議標頭解壓縮為其原始狀態(tài)的過程。
發(fā)明內(nèi)容
無
通過結(jié)合圖式進行的以下詳細描述,本申請案的特征、性質(zhì)和優(yōu)點將變得更加明了。 圖1說明可實施本文中所描述的一個或一個以上方法的通信系統(tǒng); 圖2說明圖1的基站收發(fā)器系統(tǒng)/包數(shù)據(jù)服務(wù)節(jié)點(BTS-PDSN)或PDSN-BTS的某 些硬件和軟件組件;
圖3說明圖1的接入終端的某些硬件和軟件組件;
圖4說明一種可由圖1的系統(tǒng)使用的用于在穩(wěn)健標頭解壓縮中加強局部修復(fù)的方法; 圖5說明另一種可由圖1的系統(tǒng)使用的用于在穩(wěn)健標頭解壓縮中加強局部修復(fù)的方
法;圖6說明對應(yīng)于圖4的方法的解壓縮器設(shè)備; 圖7說明對應(yīng)于圖5的方法的解壓縮器設(shè)備;
圖8說明具有未經(jīng)壓縮標頭的包和具有壓縮的標頭的包的實例; 圖9說明一種在確定解壓縮是否成功的過程中使用校驗和的方法; 圖IO說明對應(yīng)于圖9的方法的解壓縮器;
圖ll說明穩(wěn)健標頭壓縮(RoHC)和循環(huán)冗余檢查(CRC)錯誤通過的實例; 圖12說明用于確定包的解譯區(qū)間的方法;和 圖13說明對應(yīng)于圖12的方法的設(shè)備。
具體實施例方式
本文中所揭示的實施例可實施在任一無線和/或有線通信系統(tǒng)中,例如,蜂窩式網(wǎng)絡(luò)、 公共交換電話網(wǎng)絡(luò)(PSTN)、無線因特網(wǎng)、衛(wèi)星網(wǎng)絡(luò)、廣域網(wǎng)(WAN)、無線區(qū)域網(wǎng)絡(luò) (WLAN)、 VoIP網(wǎng)絡(luò)、基于IP的多媒體系統(tǒng)等。
圖1說明可實施本文中所描述的一個或一個以上方法的通信系統(tǒng)10的實例。第一接 入終端(AT) 100A可包括上行鏈路(或反向鏈路)標頭壓縮器102。在無線電接入網(wǎng)絡(luò) (RAN)中,第一接入終端100A可經(jīng)由反向鏈路(RL)與基站104A和基站收發(fā)器系統(tǒng) /包數(shù)據(jù)服務(wù)節(jié)點(BTS-PDSN) 106A無線地通信。
BTS-PDSN 106A可包括上行鏈路標頭解壓縮器110,其可執(zhí)行本文中所描述的一個 或一個以上方法。BTS-PDSN 106A可經(jīng)由VoIP網(wǎng)絡(luò)108與包數(shù)據(jù)服務(wù)節(jié)點/基站收發(fā)器 系統(tǒng)(PDSN-BTS) 106B通信。PDSN-BTS 106B可包括下行鏈路(或前向鏈路)標頭壓 縮器112。
第二接入終端100B可經(jīng)由前向鏈路(FL)與基站104B和PDSN-BTS 106B無線地 通信。第二接入終端IOOB可包括下行鏈路標頭解壓縮器114,其可執(zhí)行本文中所描述的 一個或一個以上方法。有線終端可替代兩個無線接入終端IOOA、 IOOB,接入終端中的一 者。
反向鏈路和前向鏈路可使用一個或一個以上通信協(xié)議,例如,碼分多址(CDMA) lx, CDMA lx演進數(shù)據(jù)優(yōu)化(EV-DO) Rev. 0、 Rev. A和Rev. B,寬帶CDMA (WCDMA), 高速下行鏈路包接入(HSDPA),高速上行鏈路包接入(HSUPA),時分同步CDMA (TD-SCDMA),全球移動通信系統(tǒng)(GSM),正交頻分多路復(fù)用(OFDM), IEEE 802.11, IEEE 802.18, IEEE 802.20, Wimax, WiBro,超移動寬帶(UMB)和其它通信技術(shù)。
本文中所描述的接入終端(AT)可指代各種類型的裝置,例如,有線電話、無線電話、蜂窩式電話、膝上型計算機、無線通信個人計算機(PC)卡、個人數(shù)字助理(PDA)、 外部或內(nèi)部調(diào)制解調(diào)器等。接入終端可為經(jīng)由無線信道或經(jīng)由有線信道(例如,使用光 纖或同軸電纜)通信的任一數(shù)據(jù)裝置。接入終端可具有各種名稱,例如,接入單元、訂 戶單元、移動臺、移動裝置、移動單元、移動電話、移動設(shè)備、遠程站、遠程終端、遠 程單元、用戶裝置、用戶裝備、手持裝置等。接入終端可為移動的或固定的且可分散在 整個圖1的通信系統(tǒng)10中。接入終端可與一個或一個以上基站收發(fā)器系統(tǒng)(BTS)通信, 基站收發(fā)器系統(tǒng)(BTS)可被稱為(或包括)基站、接入網(wǎng)絡(luò)、接入點、節(jié)點B和調(diào)制 解調(diào)器池收發(fā)器(MPT)。
圖2說明圖1的BTS-PDSN 106A禾Q/或PDSN-BTS 106B的某些硬件和軟件組件,例 如,處理器200、專用集成電路(ASIC)和其它硬件202、收發(fā)器204和存儲器206。存 儲器206可存儲一個或一個以上上層207,例如,應(yīng)用層208、傳送層210和網(wǎng)絡(luò)層212。 應(yīng)用層208可處理實時傳送協(xié)議(RTP或RTTP)標頭。傳送層210可處理傳輸控制協(xié)議 (TCP)和用戶數(shù)據(jù)報協(xié)議(UDP)標頭。網(wǎng)絡(luò)層212可處理IP標頭。
存儲器206也可存儲穩(wěn)健標頭壓縮壓縮器112、穩(wěn)健標頭壓縮解壓縮器IIO和一個或 一個以上下層220,例如,可包括無線電鏈路協(xié)議(RLP)子層的鏈路層和媒體接入控制 (MAC)層214和物理層216。應(yīng)注意,替代實施例可包括可以替代配置實施的這些功能、 模塊或?qū)又械哪承┗蛉俊?br>
圖3說明圖1的接入終端IOOA、 100B的某些硬件和軟件組件,例如,處理器300、 ASIC 302和其它硬件、收發(fā)器304和存儲器306。存儲器306可存儲一個或一個以上上 層307,例如,應(yīng)用層308、傳送層310和網(wǎng)絡(luò)層312。應(yīng)用層308可處理RTP標頭。傳 送層310可處理TCP和UDP標頭。網(wǎng)絡(luò)層312可處理IP標頭。
存儲器306也可存儲穩(wěn)健標頭壓縮壓縮器102、穩(wěn)健標頭壓縮解壓縮器114和一個或 一個以上下層320,例如,可包括RLP子層的鏈路層和MAC層314和物理層316。應(yīng)注 意,替代實施例可包括可以替代配置實施的這些功能、模塊或?qū)又械哪承┗蛉俊?br>
如本文中所使用,"包"指代傳輸和接收的單位。此傳輸和接收的單位通過RoHC而 壓縮且接著解壓縮。如本文中所使用的"包串流"指代包序列,其中字段值和字段值的 改變模式使得可使用相同上下文壓縮標頭。圖8說明具有未經(jīng)壓縮的標頭(例如,IP、 UDP、 RTP、 TCP和其它標頭)804和有效負載805的包800的實例。壓縮技術(shù)用以壓縮 包800的標頭部分,從而導(dǎo)致具有經(jīng)壓縮的標頭部分807和有效負載808的經(jīng)壓縮的包 802。經(jīng)壓縮的標頭部分807可包括RTP序列號、UDP校驗和以及可能的其它字段。經(jīng)壓縮的包802也可包括鏈路層標頭部分806,所述鏈路層標頭部分806包括鏈路層序列 號。本文中所描述的解壓縮方法和設(shè)備可用以接收并解壓縮經(jīng)壓縮的包802。
因為無線網(wǎng)絡(luò)具有受限制的帶寬,所以經(jīng)由無線鏈路發(fā)送的具有IP、 UDP和RTP標 頭的包從標頭壓縮中顯著受益。標頭壓縮和解壓縮在節(jié)省帶寬的情況下(由于減小的包 標頭額外開銷)改進了網(wǎng)絡(luò)傳輸效率、質(zhì)量和/或速度;減少包損失;改進了互動的響應(yīng) 時間;且降低基礎(chǔ)架構(gòu)成本(每一信道帶寬更多用戶和因此較低的部署成本)。在通信傳 輸中,"跳躍"指代從一裝置到另一裝置或網(wǎng)絡(luò)元件的通信鏈路。通信系統(tǒng)可經(jīng)由可包括 許多跳躍的點對點連接在逐個跳躍的基礎(chǔ)上壓縮協(xié)議標頭。
標頭壓縮由于在同一包標頭內(nèi)的標頭字段之間和屬于同一包串流的連續(xù)包之間存在 顯著冗余的事實而成為可能。通過僅初始發(fā)送靜態(tài)字段信息并利用其它字段的相關(guān)性和 可預(yù)測性,可顯著減小標頭大小。
然而,由于無線鏈路的較高錯誤率(例如,位錯誤率(BER))和較長來回時間,尤 其隨著無線拓撲和業(yè)務(wù)模式變得較復(fù)雜,某些標頭壓縮方法在無線(例如,蜂窩式)鏈 路上可能不可良好地執(zhí)行。本發(fā)明描述穩(wěn)健標頭壓縮(RoHC)和解壓縮方法,其克服其 它方法的缺點,例如,在請求注解(RFC) 3095中描述的那些缺點。
在由因特網(wǎng)工程任務(wù)小組(Internet Engineering Task Force)在2001年7月出版且由 因特網(wǎng)協(xié)會網(wǎng)絡(luò)工作組(Network Working Group of The Internet Society)經(jīng)銷的(C.波曼) C. Borman等人的題為"穩(wěn)健標頭壓縮(RoHC):框架和四個輪廓RTP、 UDP、 ESP禾口 未經(jīng)壓縮(Robust Header Compression (RoHC) : Framework and four profiles: RTP, UDP, ESP and uncompressed)"的請求注解(RFC) 3095中大體上描述了穩(wěn)健標頭壓縮。"穩(wěn) 健"標頭壓縮機制容許在鏈路上的損失和殘余錯誤,經(jīng)由所述鏈路,發(fā)生標頭壓縮而未 損失額外包或未在解壓縮的標頭中引入額外錯誤。
壓縮器的上下文指代壓縮器用以壓縮標頭的狀態(tài)信息。解壓縮器的上下文指代解壓 縮器用以解壓縮標頭的狀態(tài)信息。上下文可含有來自包串流中的先前標頭的相關(guān)信息, 例如,壓縮和解壓縮的靜態(tài)字段和可能的參考值。上下文可含有描述包串流的額外信息, 例如,關(guān)于IP識別符字段如何改變以及序列號或時戳的典型包間增加的信息。
上下文損壞指代解壓縮器的上下文與壓縮器的上下文不一致且解壓縮因此可能無法 再現(xiàn)原始標頭的情形。當(dāng)解壓縮器的上下文尚未正確初始化或當(dāng)包在壓縮器與解壓縮器 之間已損失、重新排序或損壞時,可發(fā)生此情形。由于不一致的上下文而不可正確地解 壓縮的包被視為由于上下文損壞而損失/損壞。RoHC可使用關(guān)于原始標頭的循環(huán)冗余檢查(CRC)來檢測不正確的解壓縮。為減 小計算復(fù)雜度,當(dāng)計算CRC時,可按照概念重新布置標頭的字段,使得首先針對靜態(tài)的 八字節(jié)進行計算(被稱為CRC-STATIC)且接著針對預(yù)期值在包之間改變的八字節(jié)進行 計算(CRC-DYNAMIC)。以此方式,CRC計算的中間結(jié)果在其已覆蓋CRC-STATIC字 段之后可再用于若干包。
因為在包之間的標頭字段值之間且在連續(xù)包之間存在大量冗余,所以標頭壓縮是可 能的。因為大多數(shù)標頭字段可能很少改變或從不改變,因此可對其進行壓縮。在一實例 中,僅具有約IO個八字節(jié)的組合大小的五個字段需要較復(fù)雜的機制。這些字段包括
-IPv4識別(16位)(IP-ID)
-UDP校驗和(16位)
-RTP標記(1位)(M-位)
-RTP序列號(16位)(SN)
-RTP時戳(32位)(TS)
最低有效位(LSB)編碼可用于其值通常經(jīng)受較小改變的標頭字段。通過使用LSB 編碼,傳輸字段值的k個最低有效位而非原始字段值,其中k為正整數(shù)。在接收到k個 位后,解壓縮器使用先前接收的值作為參考(v—ref)而導(dǎo)出原始值。作為一實例,通過 使用LSB編碼,可考慮二進制00001010 (對應(yīng)于十進制10),其包含最高有效位0000 和最低有效位1010。通過使用LSB編碼,將1010而非所有八個位傳輸?shù)嚼鏐TS-PDSN 的接收裝置。如果成功地接收,則接收裝置處的解壓縮器可使用先前接收的值(例如, v—ref)而導(dǎo)出原始傳輸?shù)陌?。在一實施例中,v一ref表示上一經(jīng)正確解壓縮的包值。壓 縮器(解壓縮器)使用vjef—c (V_ref—d),已被壓縮(解壓縮)的上一值作為v—ref。假 設(shè)成功解壓縮所接收的標頭,則解壓縮器的上下文更新到00001010且產(chǎn)生原始傳輸?shù)?包。在成功產(chǎn)生經(jīng)傳輸?shù)闹岛螅纯蓪—ref更新到當(dāng)前經(jīng)正確解壓縮的值并進行存儲。 在一實施例中,假設(shè)將傳輸下一值00001111 (十進制值15),則傳輸最低有效位1111且 如果成功地接收,則解壓縮器通過將所接收的值1111附加到當(dāng)前上下文值的最高有效位 而更新其上下文。在此實例中,當(dāng)前上下文值為00001010,且最高有效位為0000。解壓 縮器將其上下文值更新到00001111且產(chǎn)生原始傳輸?shù)陌怠?br>
在壓縮器和解壓縮器每一者使用解譯區(qū)間(其中駐留原始值,且其中原始值為具有 與經(jīng)傳輸?shù)膋個最低有效位完全相同的k個最低有效位的唯一值)的情況下,認為LSB 編碼和解碼是正確的??蓪?解譯區(qū)間"描述為函數(shù)f (v—ref,k):
f (v—ref, k)=[v—ref-p, v—ref+(2Ak-l)-p] (等式1)
其中p為整數(shù)。 將這些等式展示為
<---解譯區(qū)間(大小為2八k)—->
v—ref-p v—ref v—ref+(2Ak-l)-p
函數(shù)f具有以下性質(zhì)對于任一值k, k個最低有效位將唯一地識別f (v_ref, k)中的 一值。解譯區(qū)間的大小為2八k。因此,對于k-4來說,解譯區(qū)間的大小為2M或16。 k=4 的值可用于包括VoIP的各種包類型。參數(shù)p允許解譯區(qū)間相對于v—ref而移位。選擇p 的適當(dāng)值產(chǎn)生具有特定特征的字段的較有效編碼。在一實施例中,p為整數(shù)值。
可將解譯區(qū)間劃分為兩個部分。如下文所說明,假設(shè)k-4、 p=5且v—ref=15,則解譯 區(qū)間的左部分具有大小p=5,而解譯區(qū)間的右部分具有大小p=2k-p-l=10。
<—---……解譯區(qū)間大小=16----------->
10 15 25
當(dāng)壓縮值v時,壓縮器發(fā)現(xiàn)k的最小值使得v在區(qū)間f(v—ref_c, k)內(nèi)。K=g(v—ref—c, v)。 當(dāng)k的僅少數(shù)獨特值可能時,壓縮器可替代地挑選將v放入?yún)^(qū)間f(v—ref_c, v)中的最小的 k。當(dāng)接收m個LSB時,解壓縮器使用被稱為interval_d的解譯區(qū)間f(v_ref—d, m)。解壓 縮器將interval—d中的其LSB與所接收的m個位相匹配的一者挑選為經(jīng)解壓縮的值。待 編碼的值可具有有限范圍。舉例來說,RTPSN在0到OxFFFF的范圍內(nèi)。當(dāng)SN值接近0 或OxFFFF時,解譯區(qū)間可橫跨0與0xFFFF之間的環(huán)繞邊界。
RFC 3095描述RoHC壓縮器如何使用"基于窗的最低有效位(LSB)編碼"來壓縮 協(xié)議標頭中的動態(tài)字段。由于v—ref一d的某些候選者可能已損失或損壞,所以壓縮器可能 不能夠確定v一ref—d的準確值(其為將由解壓縮器用于特定值v的參考值)。然而,通過 使用回饋或通過作出合理假設(shè),壓縮器可限制候選者集合。壓縮器接著計算k以使得不管解壓縮器使用候選者集合中的哪一 V_ref—d, v均由所得的intervaLd覆蓋。因為解壓縮 器可使用上一所接收的值(其中CRC接替為參考值),所以壓縮器維持含有vjeCd的候 選者的"滑動窗"?;瑒哟翱沙跏紴榭铡?br>
當(dāng)在RoHC壓縮器與解壓縮器之間損失許多連續(xù)包時,存在序列號(SN) LSB環(huán)繞 的風(fēng)險,即,因為解壓縮器由于缺少輸入而尚未移動解譯區(qū)間,所以經(jīng)壓縮包中的序列 號的LSB可能被不正確地解譯。
RoHC解壓縮器可使用局部修復(fù)模式以檢測許多連續(xù)損失的包(在壓縮器與解壓縮 器之間)可導(dǎo)致上下文損壞的情形。RoHC解壓縮器可通過使用本地時鐘來檢測此情形 并避免上下文損壞。舉例來說,RoHC解壓縮器可使用在RFC 3095 (例如,在題為"SN LSB環(huán)繞的校正(Correction of SN LSB wraparound)"的第5.3.2.2.4節(jié)中詳述的RFC 3095)中描述的以下算法,其中
(a) 解壓縮器記錄每一傳入的包i的到達時間a(i)。其中丟棄解壓縮失敗的包的到達 時間;
(b) 當(dāng)解壓縮失敗時,解壓縮器計算INTERVAL—LLSN= a(i)-a(i-l),其為前一經(jīng)正 確解壓縮的包的到達與當(dāng)前包的到達之間逝去的時間;
(c) 如果已發(fā)生環(huán)繞,則INTERVAL—LLSN將對應(yīng)于至少2Ak個包間時間,其中k 為當(dāng)前標頭中的SN位的數(shù)目。到達時間的移動平均值可用以估計包到達間時間?;?包到達間時間的估計,解壓縮器確定INTERVAL—LLSN是否可對應(yīng)于21個包間時間;
(d )如果確定INTERVAL—LLSN為至少2Ak個包到達間時間,則解壓縮器將2Ak加 到參考SN且試圖使用新的參考SN來解壓縮包;
(e) 如果此解壓縮成功,則解壓縮器更新上下文但不應(yīng)將包遞送到上層。隨后的包 也被解壓縮且更新上下文(如果其CRC成功),但應(yīng)被丟棄。如果使用新的上下文的第 三包的解壓縮也成功,則認為上下文修復(fù)是成功的且將此第三包和后續(xù)經(jīng)解壓縮的包遞 送到上層;
(f) 如果(d)和(e)中的三個解壓縮嘗試中的任一者失敗,則解壓縮器丟棄包且 可根據(jù)題為"對CRC失敗的動作(actions upon CRC failure)"的RFC 3095的第5.3.2.2,3
節(jié)中的規(guī)則(a)到(c)而動作。
使用以上局部修復(fù)模式,解壓縮器在推斷出已修復(fù)上下文之前以丟棄兩個經(jīng)正確解 壓縮的包為代價而可能夠在連續(xù)損失之后修復(fù)上下文。RoHC解壓縮器需要丟棄兩個包 (未傳遞到上層)的原因在于,RoHC 3-位CRC為相對較弱的檢查,且因此未經(jīng)正確解壓縮的包可能通過CRC。
因此,由于傳遞上一所接收的包,所以僅當(dāng)對時間量進行的檢查通過時,才調(diào)用局 部修復(fù)。此檢查是基于到達間的時間的估計且對于解壓縮器維持此估計來說是可選的。 此外,在某些情況下(即,當(dāng)并不支持基于計時器的壓縮時),可完全停用此局部修復(fù)。
以下描述的實施例加強或改進RoHC解壓縮器(例如,圖1到圖3中的解壓縮器110、 114)中的局部修復(fù)模式。在一實例中,局部修復(fù)模式中的RoHC解壓縮器使用下層信息 (例如,鏈路層序列號)以正確地解壓縮包。在另一實例中,局部修復(fù)模式中的RoHC解 壓縮器除RoHC3-位CRC外使用UDP校驗和(當(dāng)啟用時)以確定是否將包傳遞到上層。 解壓縮器可經(jīng)配置以依據(jù)一個或一個以上條件而選擇兩個方法中的一者或兩者。這些實 例改進了性能而不改變RoHC標準。
柳ffi膽g,釘g龍
圖4說明一種使用鏈路層信息以加強RoHC解壓縮器110、 114中的局部修復(fù)模式的 方法。鏈路層214、 314 (圖2和圖3中的下層)將鏈路層序列號(SN)添加到由壓縮器 112、 102壓縮的每一包。對于經(jīng)由鏈路層的特定示例發(fā)送的每一鏈路層包來說,序列號 應(yīng)增加一 ("1")。在IP包與對應(yīng)于特定鏈路層示例的鏈路層包之間存在一對一的映射。 即使此一對一的映射被破壞,仍可實施以下描述的方法。
在圖4中的410處,解壓縮器(例如)通過使用RoHCCRC檢測CRC失敗而確定解 壓縮針對當(dāng)前接收的包是否失敗。如果解壓縮失敗,則解壓縮器在420處確定兩個連續(xù) 正確接收且經(jīng)正確解壓縮的包之間的鏈路層序列號的差異。換句話說,確定上一經(jīng)正確 解壓縮、所接收的包的鏈路層序列號與當(dāng)前接收的包的鏈路層序列號之間的差異。此差 異可被稱為鏈路層序列號區(qū)間或INTERVAL_LLSN,其與上文參看RFC 3095而提到的"解 譯區(qū)間"或"INTERVAL"并不相同。
在430處,解壓縮器確定INTERVAL—LLSN是否等于至少(2八k)-p,其中k為當(dāng)前包 中的序列號位的數(shù)目且p為用以處置重新排序的到解譯區(qū)間的移位。如果 INTERVAL—LLSN等于至少(21)屮,則解壓縮器將INTERVAL—LLSN加到上一經(jīng)正確解 壓縮、所接收的包的序列號(被稱為參考序列號)。此動作可被稱為用于解壓縮的修復(fù)信 息。
在440處,解壓縮器試圖使用新的參考序列號來解壓縮當(dāng)前包。 如果此解壓縮成功,則解壓縮器更新其上下文且將包遞送到上層。如果解壓縮失敗, 則解壓縮器可丟棄包并根據(jù)RFC 3095的第5.3.2.2.3節(jié)中的規(guī)則(a)到(c)來動作。除改進局部修復(fù)模式外,使用鏈路層序列號的另一優(yōu)勢在于,其使得解壓縮器能夠 在鏈路上處置份外的重新排序。鏈路層序列號有助于識別新近到達RoHC包的正確位置, 因此解壓縮器可從解壓縮器的當(dāng)前上下文中的參考值來正確地推斷RTP序列號。
在某些情形下,在鏈路層序列號與RTP序列號之間可能不存在一對一的映射。舉例 來說,在無線網(wǎng)絡(luò)中的反向鏈路上,小區(qū)邊緣處的用戶(例如,以4.8 kbps工作)可能 需要在兩個RLP區(qū)段中發(fā)送一 RTP/UDP/IP語音包。
圖5展示一種方法,其可在此類情形(在鏈路層序列號與RTP序列號之間不存在一 對一的映射)下用以確定是否發(fā)生SN環(huán)繞和如何執(zhí)行局部修復(fù)。以下方法假設(shè)上一 經(jīng)正確解壓縮的包的RTP序列號和鏈路層序列號為零("0")??赏ㄟ^首先執(zhí)行差運算 (difference operation)而處置非零參考值。
在510處,解壓縮器(例如)通過檢測由于RoHCCRC的失敗的解壓縮錯誤而確定 解壓縮是否失敗。如果解壓縮失敗,則解壓縮器在520處計算INTERVAL—LLSN, INTERVAL—LLSN為兩個連續(xù)正確接收且經(jīng)正確解壓縮的包的鏈路層序列號的差,艮口 , 當(dāng)前包的鏈路層序列號減去參考值(上一接收的經(jīng)正確解壓縮的包的鏈路層序列號)。
LSB解譯區(qū)間(以上所描述)可具有一具有表達為L的長度的右半部分,其中L小 于2^k。在530處,如果INTERVAL—LLSN大于或等于2^L+1),則發(fā)生環(huán)繞,且處理繼 續(xù)到步驟540;否則處理繼續(xù)到步驟570。
在540處,如果INTERVAL—LLSN大于或等于2A(k+l),則解壓縮器在550處試圖通 過使用解譯區(qū)間[L+1, 2*(L+1)-1]、 [2*(L+1), 3*(L+l)-2]、…、[k*(L+l), (k+l)*(L+l)-(k)] 使用多次試驗來解壓縮包而確定正確的環(huán)繞量,其中INTERVAL—LLSN被定義為k"L+l) 《INTERVAL—LLSN《(k+l)*(L+l)-(k)。因為正確的解譯區(qū)間中的解壓縮將通過RoHC 的3-位CRC,所以這些解壓縮中的至少一者將為成功的。如果解壓縮中僅一者是成功的, 則可將包發(fā)送到上層。如果解壓縮中的一者以上是成功的,則解壓縮器不可確保正確的 解譯區(qū)間,且包未被發(fā)送到上層。
在540處,如果INTERVAL—LLSN小于2A(k+l),貝U實際的RTP SN位于 [INTERVAL—LLSN/2, INTERVAL—LLSN]之間。因為INTERVAL—LLSN/2小于或等于2Ak, 所以含有k個位的RTP SN的LSB可用以在560處唯一地識別正確的RTP SN位置。解 壓縮器可基于由RoHC標頭中的鏈路層SN和RTP SN的LSB給出的唯一信息而修復(fù)環(huán) 繞。
在570處,如果INTERVAL—LLSN小于或等于L,則不存在環(huán)繞,且在580處,如果必要,方法執(zhí)行錯誤上下文的局部修復(fù)。否則,處理繼續(xù)到步驟575。在575處,如果RTP SN的LSB在定義為[INTERVAL—LLSN/2, L]的范圍內(nèi),則處理 繼續(xù)到步驟580以執(zhí)行錯誤上下文的局部修復(fù)(如果必要的話)。否則,處理繼續(xù)到步驟 560以基于RoHC標頭中的鏈路層SN和RTP SN的LSB而修復(fù)環(huán)繞。 即使在RoHC壓縮器之前存在IP包損失,圖5的方法仍起作用。 圖6說明對應(yīng)于圖4的方法的解壓縮器設(shè)備600。解壓縮器設(shè)備600包含用于確定 解壓縮針對當(dāng)前接收的包是否失敗的裝置610、用于確定等于兩個連續(xù)正確接收且經(jīng)正 確解壓縮的包(當(dāng)前接收的包與上一經(jīng)正確解壓縮的包)之間的鏈路層序列號的差的區(qū) 間的裝置620、用于確定區(qū)間是否大于或等于2A-p且將區(qū)間添加到上一經(jīng)正確解壓縮的 包的參考序列號的裝置630,以及用于使用新的參考序列號來執(zhí)行解壓縮的裝置640。圖7說明對應(yīng)于圖5的方法的解壓縮器設(shè)備700。解壓縮器設(shè)備700包含用于確定 解壓縮是否失敗的裝置710、用于確定區(qū)間(其為兩個連續(xù)正確接收且經(jīng)正確解壓縮的 包之間的鏈路層序列號的差)的裝置720、用于確定區(qū)間》2(L+1)的裝置730、用于確定 區(qū)間》2A(k+l)的裝置740、用于執(zhí)行多個試驗以確定正確的環(huán)繞量的裝置750、用于基于 由RoHC標頭中的鏈路層SN和RTPSN的LSB給出的唯一信息而修復(fù)環(huán)繞的裝置760、 用于確定區(qū)間《L的裝置770、用于確定RTP SN的LSB是否在[interva1/2, L]中的裝置 775,以及用于執(zhí)行對錯誤上下文的局部修復(fù)(如果必要的話)的裝置780。在一實例中, 一旦解壓縮器知曉當(dāng)前接收的包的LLSN與上一經(jīng)正確解壓縮的包的 LLSN之間的差,其便準確確定當(dāng)前包位于哪一解譯區(qū)間內(nèi)??苫贚LSN的差與對應(yīng) 于用以表示RTP SN字段的位的數(shù)目的解譯區(qū)間大小的比率來確定此解譯區(qū)間。作為一 實例,如果LLSN的差8且4個位用以表示RTPSN字段(對應(yīng)于解譯區(qū)間大小16)且 p二5,則解壓縮器將試圖在當(dāng)前解譯區(qū)間中解壓縮;如果LLSN^6且4個位用以表示RTP SN字段,則解壓縮器將試圖在下一解譯區(qū)間中解壓縮;如果LL SN:6且4個位用以表 示RTPSN字段,則解壓縮器將試圖在前一解譯區(qū)間中解壓縮??捎梢韵抡故镜牡仁?來表示此情形。解壓縮器可試圖在如下給出的解譯區(qū)間中解 壓縮1=0 , 如果0 <= ALL—SN <= 2k-p-11=上限((ALL—SN-(2k-p-l) )/(2k))如果ALL—SN > 2k-p-l I=-l, 如果-p〈二ALL—SN<01=-1+下限((ALL—SN-p )/ 2k ), 如果ALL—SN < -p(等式2)其中ALL—SN為當(dāng)前包與上一經(jīng)正確解壓縮的包之間的LL SN的差,k為用以表示 經(jīng)壓縮的字段的位數(shù)目,p為解壓縮器可容忍的負改變的量。而且,解譯區(qū)間0對應(yīng)于 當(dāng)前區(qū)間,1對應(yīng)于下一解譯區(qū)間,-1對應(yīng)于前一解譯區(qū)間等等。通過此知識,計時器 進行檢査以確定將使用的局部修復(fù)是否可能被停用。在解壓縮修復(fù)中使用UDP校驗和另一方法可使用UDP校驗和以加強/改進RoHC解壓縮器中的局部修復(fù)模式。在圖8 的包中說明UDP校驗和的并入。UDP校驗和提供用于錯誤檢測且16位校驗和字段可用 于對標頭和數(shù)據(jù)進行錯誤檢查。UDP校驗和的使用(當(dāng)可用時)使RoHC解壓縮器能夠 在局部修復(fù)模式期間在經(jīng)解壓縮的包中具有較大置信度??稍贗P流中啟用UDP校驗和。 此是IPv6的情況。如由RFC 3095所描述,以下方法通過使用UDP校驗和來改進RoHC 中的局部修復(fù)模式,其中(a) 解壓縮器記錄每一傳入包i的到達時間a(i)。解壓縮失敗的包的到達時間被丟棄;(b) 當(dāng)解壓縮失敗時,解壓縮器計算INTERVAL—LLSN= a(i)-a(i-l),艮卩,前一經(jīng)正 確解壓縮的包的到達與當(dāng)前包的到達之間逝去的時間;(c) 如果已發(fā)生環(huán)繞,則INTERVAL—LLSN將對應(yīng)于至少2Ak個包間時間,其中k 為當(dāng)前標頭中的SN位的數(shù)目?;?例如)使用到達時間的移動平均值而獲得的包到 達間時間的估計TS_STRIDE或TS—TIME,解壓縮器判斷INTERVAL—LLSN是否可對應(yīng) 于2Ak個包間時間;(d )如果判斷INTERVAL—LLSN為至少2Ak個包到達間時間,則解壓縮器將2Ak加 到參考SN且試圖使用新的參考SN來解壓縮包;(e)如果此解壓縮成功且UDP校驗和通過,則解壓縮器更新上下文且將包遞送到上 層。如本文中所使用,例如,當(dāng)由UDP層計算的校驗和與UDP標頭校驗和相同時(即, 不存在檢測到的錯誤時),UDP校驗和通過。如果解壓縮失敗或UDP校驗和并未通過, 則解壓縮器丟棄包且可根據(jù)上文描述的RFC 3095的第5.3.2.2.3節(jié)的規(guī)則(a)到(c)而 動作。也可將UDP校驗和(當(dāng)啟用時)并入圖4或圖5中所說明的方法中以進一步驗證解 壓縮是否成功。圖9說明使用如上所述的UDP校驗和的方法。在900處,方法確定包標頭的解壓縮 是否成功。在902處,方法確定包標頭中的UDP校驗和是否通過。在904處,如果解壓縮成功且UDP校驗和通過,則方法更新用于解壓縮的上下文信息并將經(jīng)解壓縮的包遞送 到上層。圖10說明對應(yīng)于圖9的方法的解壓縮器1010。解壓縮器1010包含用于確定包標頭 的解壓縮是否成功的裝置1000、用于確定包標頭中的用戶數(shù)據(jù)報協(xié)議(UDP)校驗和是 否通過的裝置1002、用于如果解壓縮成功且UDP校驗和通過則更新用于解壓縮的上下文 信息且將經(jīng)解壓縮的包遞送到上層的裝置1004。停用經(jīng)加強的局部修復(fù)在所傳輸?shù)腞TP包與LL序列號之間不存在一對一的映射的特定情形下可能停用經(jīng) 加強的局部修復(fù)。舉例來說,多個IP流可能共用同一區(qū)域鏈路且因此共用同一LL序列 號空間。換句話說,在同一區(qū)域鏈路上發(fā)送的多個IP流共用LL SN空間。結(jié)果,LL序 列號不可指示那個流在LLSN中所導(dǎo)致的跳躍的量。因此,可能停用經(jīng)加強的局部修復(fù)。在第二情形中,可(例如)在被稱為高速率包數(shù)據(jù)(HRPD)的例如lxEV-DO(Rev. 0、 Rev. A、 Rev. B)的協(xié)議的鏈路層中信號傳輸RLP復(fù)位。當(dāng)(例如)在從一 BSC到另一 BSC的系統(tǒng)間越區(qū)切換中接收到RLP復(fù)位消息時,RLP序列號可從零開始。在此情況下, 不可能確定LLSN中的跳躍。因此,對于在復(fù)位RLP后接收到的最初N個包來說,可停 用經(jīng)加強的局部修復(fù)。(其它鏈路層可具有與RLP復(fù)位類似的概念且此技術(shù)也可應(yīng)用于 那些鏈路層)。在第三情形中,當(dāng)實施基于八字節(jié)的RLP時,可停用經(jīng)加強的局部修復(fù)。在基于八 字節(jié)的RLP中,RLP SN以包的大小而增加。包大小可變化,因此當(dāng)在基于八字節(jié)的模 式中使用RLP時,不可能確定多少包對應(yīng)于遺失的SN空間。在一實例中,為停用經(jīng)加強的局部修復(fù),可在RoHC堆疊與下層界面之間傳遞特定 信息。此信息包括傳遞到RoHC解壓縮器的LLSN和LLSN范圍信息和若干算法。這些 算法可包括用以在RLP是基于區(qū)段或多個流共用RLP時停用整個流的功能性的算法; 用以在RLP復(fù)位后停用少數(shù)RTP包的經(jīng)加強的局部修復(fù)的算法;以及用以停用早先啟用經(jīng)加強的局部修復(fù)的流的經(jīng)加強的局部修復(fù)的算法。舉例來說,如果第二流開始于先前 正承載單一流的鏈路流上,則可發(fā)生此情形。在初始化時,可以逐個流為基礎(chǔ)提供N值、LLSN范圍的上限值和LLSN范圍的下 限值。N表示在接收到函數(shù)EnhancedLocalRepairReset()后停用經(jīng)加強的局部修復(fù)的包的 數(shù)目。如果LL SN范圍的上限值和下限值兩者被設(shè)定為0,則停用經(jīng)加強的局部修復(fù)。 LLSN范圍的大小被定義為[(LLSN范圍的上限值)-(LL SN范圍的下限值+1 )]。在一實例中,(DORevA), LLSN范圍的默認上限值為+31且LLSN范圍的下限值為-32。 在一實例中,向每一包提供LL包的無符號序列號LL SN。 LLSN空間和LLSN范 圍(如上所定義)可為相同大小。舉例來說,如果LL SN范圍的上限值為+31且LL SN 范圍的下限值為-32,則LLSN范圍大小為64,因此,LL SN在范圍
內(nèi)。可以逐個 流為基礎(chǔ)提供函數(shù)"EnhancedLocalRepairReset",其中此函數(shù)停用N個包的經(jīng)加強的局 部修復(fù)。處置RoHC CRC錯誤通過的情況當(dāng)在壓縮器與解壓縮器之間存在丟棄的中間包時,在解壓縮器處接收的包之間可能 存在較大的正改變或負改變。經(jīng)加強的局部修復(fù)用以輔助將可能具有與前一包過大的正 或負改變的包進行正確地解壓縮的能力取決于未通過RoHC CRC檢査的包。舉例來說, 假設(shè)第一包被壓縮且通過第一RTP SN,發(fā)送,且被經(jīng)正確解壓縮。然而,緊接的x個經(jīng) 壓縮的包在鏈路上丟棄,即,其從未到達解壓縮器。如果連續(xù)地指派RTPSN,且假設(shè)丟 棄的包為RTP包,則將向第(x+l)個成功傳輸?shù)陌概蓪?yīng)于RTPSN(M+D的下一連續(xù) 的RTPSN。在成功接收到第(x+l)個包后,解壓縮器上下文信息可對應(yīng)于第一經(jīng)成功 解壓縮的包v—ref,且解壓縮器可基于v_ref而試圖更新其上下文。在一實例中,將試圖 將第(x+l)個包的LSB附加到經(jīng)成功解壓縮的第一包的MSB。由于成功地更新解壓縮 器的上下文信息以及重新產(chǎn)生經(jīng)傳輸?shù)陌Q于v—ref,所以丟棄的包可導(dǎo)致當(dāng)前包 (x+l)被不正確地解壓縮。在一個實例中,實施3位RoHC CRC檢査。 一般來說,存在1/23(1/8)的概率3位CRC 將不會檢測到未經(jīng)正確解壓縮的包。因此,甚至當(dāng)包未被正確地解壓縮時,RoHC CRC 檢查可仍然通過。在此情形中,可能未截獲到第(x+l)個未經(jīng)正確解壓縮的包且可將下 一經(jīng)壓縮的包(x+l + l)發(fā)送到解壓縮器。此包被指派RTPSN(x+w)且此包也將被不正確 地解壓縮。未截獲到第二 CRC失敗的概率變?yōu)?1/23)(1/23)或1/64,因此存在在此反復(fù)中 將檢測到第(x+l + l)個未經(jīng)正確解壓縮的包的較大機會。僅當(dāng)經(jīng)解壓縮的包未通過RoHC CRC檢査時,才調(diào)用局部修復(fù)。假設(shè)第(x+l + l)個包未通過CRC檢査。在以上情形中, 因為包(x+l)未通過CRC檢查,所以未檢測到第一經(jīng)解壓縮的包與經(jīng)解壓縮的包(x+l) 之間的跳躍。當(dāng)CRC最終失敗時,檢測到僅經(jīng)解壓縮的包(x+l)與經(jīng)解壓縮的包(x+l + l) 之間的跳躍。圖ll說明以上情形。返回參看等式2的解譯區(qū)間,假設(shè)值p-5意味著解壓縮器可容 許高達5的負重新排序。首先,具有RTPSN914 (和LLSN27)的經(jīng)壓縮的包被傳輸并被正確地解壓縮。具有RTPSN 908(LLSN-21)的下一包被傳輸?shù)徊徽_地解壓縮為對 應(yīng)于RTPSN 924,因為此落在p值可在當(dāng)前解譯區(qū)間中容納的范圍之外。假設(shè)3-位CRC 包,即使經(jīng)解壓縮的包是不正確的,因為僅存在1/8的概率CRC失敗,所以CRC通過。 因此,解壓縮器的上下文經(jīng)更新以對應(yīng)于RTPSN924。此情形被稱為CRC錯誤通過。當(dāng)傳輸具有RTPSN909 (和LLSN二22)的后續(xù)包時,如圖ll中所示,解壓縮產(chǎn)生 對應(yīng)于RTPSN 925的值。檢測到CRC錯誤通過的概率隨著每一后續(xù)3-位CRC而降低且 在此情形下為(1/8) (1/8)或1/64。假設(shè)現(xiàn)檢測到CRC失敗,則調(diào)用經(jīng)加強的局部修復(fù)。 如果經(jīng)加強的局部修復(fù)僅考慮當(dāng)前(RTPSN=925)和前一 (RTPSN=924)包以決定在哪 一解譯區(qū)間中解碼當(dāng)前包,則包將被不正確地重新產(chǎn)生(且由于CRC失敗而丟棄)。因 為前一包與當(dāng)前包之間的LLSN差為1 (LLSN22-LLSN21),所以將致使解壓縮器在 當(dāng)前解譯區(qū)間中解壓縮。然而,因為解壓縮器的上下文信息由于第一包(RTPSN 924) 的錯誤通過而被不正確地更新,所以此為錯誤的解譯區(qū)間。此實例說明較大負改變的CRC 錯誤通過;對于較大正改變來說,也可發(fā)生CRC錯誤通過的類似情形。在本發(fā)明的一實例中,當(dāng)存在錯誤通過時,可通過以下方法來計算所應(yīng)用的正確解 譯區(qū)間對于前一經(jīng)正確解壓縮的包的RTP SN=R1和LL SN=L1,且對于當(dāng)前包LL SN=L2 和經(jīng)解壓縮的RTP SN=R2, 如果I(L2-L1)-(R2-R1)1 > THRESH,則假設(shè)在解壓縮器處的錯誤CRC通過且存儲 DIFF=(R2-R1)-(L2-L1); 當(dāng)包(其中LLSN-L3)未通過CRC且調(diào)用局部修復(fù)時,應(yīng)使用等式2中所描述 的等式基于值(L3-L2) -DIFF來選擇用以解壓縮的解譯區(qū)間; 如果正確地解壓縮N個連續(xù)包,則設(shè)定DIFF二O。即使當(dāng)RoHC CRC錯誤通過已導(dǎo)致如同在圖11中不正確地更新解壓縮器的狀態(tài)時, 此方法仍使經(jīng)加強的局部修復(fù)能夠起作用。圖12說明一種用于當(dāng)發(fā)生錯誤通過時確定包的解譯區(qū)間的方法。如所說明,在1200 中,確定DIFF是否大于一閾值。DIFF定義如上。如果所述值大于閾值,則在步驟1210 中存儲DIFF。接著,在1220中確定下一經(jīng)解壓縮的包是否未通過CRC檢查。在步驟1230 中調(diào)用局部修復(fù)且在步驟1240中將解譯區(qū)間確定為(L3-L2) -DIFF。在步驟1250中, 確定是否正確地解壓縮接下來的N個包。如果是,則在步驟1260中將DIFF值復(fù)位為零。 如果未正確地解壓縮接下來的N個包,則在步驟1270中丟棄包且過程退出局部修復(fù)。圖13說明對應(yīng)于圖12的方法的設(shè)備。圖13中的區(qū)塊1300、 1310、 1320、 1330、 1340、 1350 和1360分別對應(yīng)于圖12中的1200、 1210、 1220、 1230、 1240、 1250和1260。
可由經(jīng)設(shè)計以執(zhí)行本文中所描述的功能的通用處理器、數(shù)字信號處理器(DSP)、 ASIC、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯裝置、離散門或晶體管邏輯、離 散硬件組件或其任一組合來實施或執(zhí)行結(jié)合本文中所揭示的實施例而描述的各種說明性 邏輯區(qū)塊、模塊和電路。通用處理器可為微處理器;但在替代方案中,處理器可為任一 常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器也可實施為計算裝置的組合,例如, DSP與微處理器、多個微處理器、與DSP核心結(jié)合的一個或一個以上微處理器的組合或 任一其它此類配置。
可直接在硬件中、由處理器執(zhí)行的軟件模塊中或兩者的組合中實施結(jié)合本文中揭示 的實施例而描述的方法或算法。軟件模塊可駐留在隨機存取存儲器(RAM)、快閃存儲器、 只讀存儲器(ROM)、電可編程ROM (EPROM)、電可擦除可編程ROM (EEPROM)、 寄存器、硬盤、可抽取式盤、CD-ROM或此項技術(shù)中已知的任一其它形式的存儲媒體中。 存儲媒體耦合到處理器,使得處理器可從存儲媒體讀取信息并向存儲媒體寫入信息。在 替代方案中,存儲媒體可整合到處理器。處理器和存儲媒體可駐留在ASIC中。ASIC可 駐留在接入終端中。在替代方案中,處理器和存儲媒體可作為離散組件而駐留在接入終 端中。
在一個或一個以上示范性實施例中,可在硬件、軟件、固件或其任一組合中實施所 描述的功能。如果在軟件中實施,則函數(shù)可作為一個或一個以上指令或代碼而存儲在計 算機可讀媒體上或經(jīng)由計算機可讀媒體而傳輸。計算機可讀媒體包括計算機存儲媒體和 通信媒體兩者,所述通信媒體包括有助于計算機程序從一處轉(zhuǎn)移到另一處的任一媒體。 存儲媒體可為可由計算機存取的任一可用媒體。以實例方式且并非限制,此類計算機可 讀媒體可包含RAM、 ROM、 EEPROM、 CD-ROM或其它光盤存儲設(shè)備、磁盤存儲設(shè)備 或其它磁性存儲裝置,或可用于載運或存儲呈指令或數(shù)據(jù)結(jié)構(gòu)的形式的所要代碼且可由 計算機存取的任何其它媒體。而且,任一連接被合適地稱為計算機可讀媒體。舉例來說, 如果使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無線電和 微波的無線技術(shù)而從網(wǎng)站、服務(wù)器或其它遠程源來傳輸軟件,則同軸電纜、光纖電纜、 雙絞線、DSL或例如紅外線、無線電和微波的無線技術(shù)包括在媒體的定義中。如本文中 所使用的磁盤和光盤包括致密光盤(CD)、雷射光盤、光學(xué)光盤、數(shù)字通用光盤(DVD)、 軟盤和藍光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤使用雷射以光學(xué)方式再現(xiàn)數(shù)據(jù)。上述的組合也應(yīng)包括在計算機可讀媒體的范圍內(nèi)。
所屬領(lǐng)域的技術(shù)人員將理解,可使用各種不同技術(shù)和技藝中的任一者來表示信息和 信號。舉例來說,可由電壓、電流、電磁波、磁場或磁粒、光場或光?;蚱淙我唤M合來 表示整個以上描述中所引用的數(shù)據(jù)、指令、命令、信息、信號、位、符號和碼片。
所屬領(lǐng)域的技術(shù)人員將進一步了解,結(jié)合本文中揭示的實施例而描述的各種說明性 邏輯區(qū)塊、模塊、電路和算法步驟可實施為電子硬件、計算機軟件或兩者的組合。為清 楚地說明硬件與軟件的此可互換性,上文已大體上就各種說明性組件、區(qū)塊、模塊、電 路和步驟的功能性而對其進行描述。此功能性實施為硬件還是軟件取決于特定應(yīng)用和強 加于整個系統(tǒng)上的設(shè)計約束。所屬領(lǐng)域的技術(shù)人員可針對每一特定應(yīng)用以變化的方式實 施所描述的功能性,但此類實施方案不應(yīng)被理解為導(dǎo)致偏離本申請案的范圍。
提供所揭示的實施例的先前描述以使所屬領(lǐng)域的技術(shù)人員能夠制造或使用本申請 案。所屬領(lǐng)域的技術(shù)人員將易于明白對這些實施例的各種修改,且在不偏離本申請案的 精神或范圍的情況下,可將本文中定義的一般原理應(yīng)用于其它實施例。因此,不期望將 本申請案限于本文中所展示的實施例而是將賦予其與本文中所揭示的原理和新穎特征相 一致的最廣泛范圍。
權(quán)利要求
1.一種用于解壓縮包標頭的方法,所述方法包含確定當(dāng)前包標頭的解壓縮是否失敗;如果標頭解壓縮失敗,則確定前一經(jīng)正確解壓縮的包的鏈路層序列號(LL SN)與所述當(dāng)前包的鏈路層序列號(LL SN)之間的差,以提供用于標頭解壓縮的修復(fù)信息;以及使用所述修復(fù)信息來解壓縮所述當(dāng)前包的所述標頭。
2. 根據(jù)權(quán)利要求1所述的方法,其進一步包含更新用于解壓縮的上下文信息且將所述 當(dāng)前包遞送到上層。
3. 根據(jù)權(quán)利要求l所述的方法,其進一步包含經(jīng)由無線鏈路來接收所述前一包和所述 當(dāng)前包。
4. 根據(jù)權(quán)利要求l所述的方法,其中所述標頭包含與以下至少一者相關(guān)的信息因特 網(wǎng)協(xié)議(IP)、實時傳送協(xié)議(RTP)、用戶數(shù)據(jù)報協(xié)議(UDP)和傳輸控制協(xié)議(TCP)。
5. 根據(jù)權(quán)利要求l所述的方法,其中提供用于標頭解壓縮的修復(fù)信息進一步包含確定所述第一鏈路層序列號(LLSN)與所述第二鏈路層序列號(LLSN)之間的 所述差是否大于或等于(2Ak)-p,其中k為所述當(dāng)前包中的鏈路層序列號位的數(shù)目, 且p為解譯區(qū)間中的移位;以及如果所述差大于或等于(2Ak)-p,則將所述差加到所述第一鏈路層序列號,以提供 新的參考序列號。
6. 根據(jù)權(quán)利要求5所述的方法,其進一步包含確定是否發(fā)生序列號環(huán)繞。
7. 根據(jù)權(quán)利要求6所述的方法,其中確定是否發(fā)生序列號環(huán)繞包含確定所述差是否大于或等于2*(L+1),其中L為用于解壓縮的解譯區(qū)間的一半的 長度;如果所述差被確定為大于或等于2f(L+l),則確定所述差是否大于或等于2A(k+l);如果所述差被確定為大于或等于2A(k+l),則使用多個解譯區(qū)間來多次解壓縮所述 當(dāng)前包的所述標頭;以及如果解壓縮所述標頭在所述解譯區(qū)間中的僅一者中成功,則將所述當(dāng)前包傳遞到 上層。
8. 根據(jù)權(quán)利要求7所述的方法,其中所述解譯區(qū)間包含[L+1, 2*(L+1)-1]、 [2*(L+1),3*(L+l)-2]、 ......、 [k*(L+l), (k+l)*(L+l)-(k)],其中INTERVAL—LLSN被定義為k*(L+l)《INTERVAL—LLSN《(k+l)*(L+l)-(k)。
9. 根據(jù)權(quán)利要求7所述的方法,其進一步包含如果所述差被確定為小于2A(k+l),則基于由所述標頭中的鏈路層序列號和實時傳 送協(xié)議(RTP)序列號的最低有效位(LSB)給出的信息來確定所述環(huán)繞。
10. 根據(jù)權(quán)利要求7所述的方法,其進一步包含如果所述差被確定為小于2*(L+1),則確定所述差是否小于或等于L; 如果所述差小于或等于L,則執(zhí)行解壓縮上下文信息的局部修復(fù)。
11. 根據(jù)權(quán)利要求7所述的方法,其進一步包含確定標頭中的實時傳送協(xié)議(RTP)序列號(SN)的最低有效位(LSB)是否在 [INTERVAL—LLSN/2, L]的范圍中如果所述標頭中的所述無線電傳送協(xié)議(RTP)序列號的最低有效位(LSB)在 [INTERVAL—LLSN/2, L]的范圍中,則執(zhí)行解壓縮上下文信息的局部修復(fù);如果所述標頭中的所述實時傳送協(xié)議(RTP)序列號的最低有效位(LSB)不在 [INTERVAL_LLSN/2, L]的范圍中,則基于由所述標頭中的鏈路層序列號和實時傳送 協(xié)議(RTP)序列號的最低有效位(LSB)給出的信息來修復(fù)所述環(huán)繞。
12. —種用于更新用于標頭解壓縮的信息的方法,所述方法包含確定包標頭的解壓縮是否成功;確定所述包標頭中的用戶數(shù)據(jù)報協(xié)議(UDP)校驗和是否通過;以及 如果所述解壓縮成功且所述UDP校驗和通過,則更新用于解壓縮的上下文信息并 將經(jīng)解壓縮的包遞送到上層。
13. —種經(jīng)配置以解壓縮包標頭的設(shè)備,所述設(shè)備包含用于確定當(dāng)前包標頭的解壓縮是否失敗的裝置;用于如果標頭解壓縮失敗則確定前一包的鏈路層序列號(LL SN)與所述當(dāng)前包 的鏈路層序列號(LL SN)之間的差以提供用于標頭解壓縮的修復(fù)信息的裝置;以 及解壓縮器,其經(jīng)配置以使用所述修復(fù)信息來解壓縮所述當(dāng)前包的所述標頭。
14. 根據(jù)權(quán)利要求13所述的設(shè)備,其中所述解壓縮器進一步經(jīng)配置以更新用于解壓縮 的上下文信息且將所述當(dāng)前包遞送到上層。
15. 根據(jù)權(quán)利要求13所述的設(shè)備,其進一步包含收發(fā)器,所述收發(fā)器用以經(jīng)由無線鏈路來接收所述前一包和所述當(dāng)前包。
16. 根據(jù)權(quán)利要求13所述的設(shè)備,其中所述標頭包含與以下至少一者相關(guān)的信息因 特網(wǎng)協(xié)議(IP)、實時傳送協(xié)議(RTP)、用戶數(shù)據(jù)報協(xié)議(UDP)和傳輸控制協(xié)議 (TCP)。
17. 根據(jù)權(quán)利要求13所述的設(shè)備,其中所述解壓縮器進一步包含用于確定所述第一鏈路層序列號(LLSN)與所述第二鏈路層序列號(LLSN)之 間的所述差是否大于或等于(2Ak)-p的裝置,其中k為所述當(dāng)前包中的鏈路層序列號 (LLSN)位的數(shù)目,且p為解譯區(qū)間中的移位;以及用于如果所述差大于或等于(2Ak) -p則將所述差加到所述第一鏈路層序列號以提 供新的參考序列號的裝置。
18. 根據(jù)權(quán)利要求17所述的設(shè)備,其中所述解壓縮器進一步包含用于確定是否發(fā)生序列號環(huán)繞的裝置。
19. 根據(jù)權(quán)利要求18所述的設(shè)備,其中所述用于確定是否發(fā)生序列號環(huán)繞的裝置進一 步包含用于確定所述差是否大于或等于2申(L+1)的裝置,其中L為用于解壓縮的解譯區(qū) 間的一半的長度;用于如果所述差被確定為大于或等于2*0^+1)則確定所述差是否大于或等于 2八(k+l)的裝置;用于如果所述差被確定為大于或等于2A(k+l)則使用多個解譯區(qū)間來多次解壓縮 所述當(dāng)前包的所述標頭的裝置;以及用于如果解壓縮所述標頭在所述解譯區(qū)間中的僅一者中成功則將所述當(dāng)前包傳 遞到上層的裝置。
20. 根據(jù)權(quán)利要求19所述的設(shè)備,其中所述解譯區(qū)間包含[L+1, 2*(L+1)-1]、 [2*(L+1),3*(L+l)-2].......、 [k*(L+l), (k+l)*(L+l)-(k)],其中INTERVAL—LLSN被定義為k* (L+1)《INTERVAL_LLSN《(k+1 )* (L+1 )-(k)。
21. 根據(jù)權(quán)利要求19所述的設(shè)備,其中所述解壓縮器進一步包含用于如果所述差被確定為小于2A(k+l)則基于由所述標頭中的鏈路層序列號(LL SN)和實時傳送協(xié)議(RTP)序列號的最低有效位(LSB)給出的信息來修復(fù)所述 環(huán)繞的裝置。
22. 根據(jù)權(quán)利要求19所述的設(shè)備,其中所述解壓縮器進一步包含用于如果所述差被確定為小于2"L+1)則確定所述差是否小于或等于L的裝置; 以及用于如果所述差小于或等于L則執(zhí)行解壓縮上下文信息的局部修復(fù)的裝置。
23. 根據(jù)權(quán)利要求19所述的設(shè)備,其中所述解壓縮器進一步包含用于確定所述標頭中的實時傳送協(xié)議(RTP)序列號的最低有效位(LSB)是否 在[INTERVAL_LLSN/2, L]的范圍中的裝置;用于如果所述標頭中的所述無線電傳送協(xié)議(RTP)序列號的最低有效位(LSB) 在[INTERVAL—LLSN/2, L]的范圍中則執(zhí)行解壓縮上下文信息的局部修復(fù)的裝置;以 及用于如果所述標頭中的所述實時傳送協(xié)議(RTP)序列號的最低有效位(LSB) 不在[INTERVAL_LLSN/2, L]的范圍中則基于由所述標頭中的鏈路層序列號和實時 傳送協(xié)議(RTP)序列號的最低有效位(LSB)給出的信息來修復(fù)所述環(huán)繞的裝置。
24. 至少一種用于標頭解壓縮的處理器,其包含第一模塊,其經(jīng)配置以確定包標頭的解壓縮是否成功;第二模塊,其經(jīng)配置以確定所述包標頭中的用戶數(shù)據(jù)報協(xié)議(UDP)校驗和是否 通過;以及第三模塊,其經(jīng)配置以如果所述解壓縮成功且所述UDP校驗和通過,則更新用于 解壓縮的上下文信息且將所述經(jīng)解壓縮的包遞送到上層。
25. —種經(jīng)配置以解壓縮包標頭的設(shè)備,所述設(shè)備包含用于確定當(dāng)前包標頭的解壓縮是否失敗的裝置;用于如果標頭解壓縮失敗則確定前一包的鏈路層序列號(LL SN)與所述當(dāng)前包 的鏈路層序列號(LL SN)之間的差以提供用于標頭解壓縮的修復(fù)信息的裝置;以 及用于使用所述修復(fù)信息來解壓縮所述當(dāng)前包的所述標頭的裝置。
26. —種用于確定解譯區(qū)間的方法,其包含確定當(dāng)前接收的包的鏈路層序列號(LL SN)與上一經(jīng)正確解壓縮的包的鏈路層 序列號(LLSN)之間的差;以及確定鏈路層序列號(LL SN)的所述差與表示所述解譯區(qū)間的位的數(shù)目的比率, 其中所述比率表示所述當(dāng)前包所處的解譯區(qū)間。
27. —種用于確定解譯區(qū)間的方法,其包含確定第一經(jīng)解壓縮的包的實時傳送協(xié)議序列號(RTPSN)與第二經(jīng)解壓縮的包的實時傳送協(xié)議序列號(RTPSN)之間的第一差;確定所述第一經(jīng)解壓縮的包的鏈路層序列號(LL SN)與所述第二經(jīng)解壓縮的包的鏈路層序列號(LLSN)之間的第二差;確定所述第一差與所述第二差之間的第三差是否大于閾值., 如果所述第三差大于所述閾值,則存儲所述第三差; 確定下一經(jīng)解壓縮的包是否未通過循環(huán)冗余檢查(CRC);以及 如果調(diào)用局部修復(fù)模式,則基于所述第三差來計算用于所述下一包的解壓縮的解譯區(qū)間。
28. 根據(jù)權(quán)利要求27所述的方法,其進一步包含確定在所述下一包的解壓縮之后是否正確地解壓縮N個包;以及 如果所述N個包被正確地解壓縮,則將所述存儲的第三差的值復(fù)位為零。
29. —種用于確定解譯區(qū)間的設(shè)備,其包含用于確定第一經(jīng)解壓縮的包的實時傳送協(xié)議序列號(RTPSN)與第二經(jīng)解壓縮的包的實時傳送協(xié)議序列號(RTPSN)之間的第一差的裝置用于確定所述第一經(jīng)解壓縮的包的鏈路層序列號(LL SN)與所述第二經(jīng)解壓縮的包的鏈路層序列號(LLSN)之間的第二差的裝置;用于確定所述第一差與所述第二差之間的第三差是否大于閾值的裝置; 用于如果所述第三差大于所述閾值則存儲所述第三差的裝置; 用于確定下一經(jīng)解壓縮的包是否未通過循環(huán)冗余檢查(CRC)的裝置;以及 用于如果調(diào)用局部修復(fù)模式則基于所述第三差來計算用于所述下一包的解壓縮的解譯區(qū)間的裝置。
30. —種計算機程序產(chǎn)品,其包含計算機可讀媒體,其包含用于促使計算機確定當(dāng)前包標頭的解壓縮是否失敗的代碼; 用于如果標頭解壓縮失敗則促使計算機確定前一經(jīng)正確解壓縮的包的鏈路層序列號(LLSN)與所述當(dāng)前包的鏈路層序列號(LLSN)之間的差以提供用于標頭解壓縮的修復(fù)信息的代碼;以及用于促使計算機使用所述修復(fù)信息來解壓縮所述當(dāng)前包的所述標頭的代碼。
31. —種計算機程序產(chǎn)品,其包含計算機可讀媒體,其包含用于促使計算機確定第一經(jīng)解壓縮的包的實時傳送協(xié)議序列號(RTPSN)與第 二經(jīng)解壓縮的包的實時傳送協(xié)議序列號(RTPSN)之間的第一差的代碼;用于促使計算機確定所述第一經(jīng)解壓縮的包的鏈路層序列號(LL SN)與所述 第二經(jīng)解壓縮的包的鏈路層序列號(LLSN)之間的第二差的代碼;用于促使計算機確定所述第一差與所述第二差之間的第三差是否大于閾值的 代碼;用于如果所述第三差大于所述閾值則促使計算機存儲所述第三差的代碼; 用于促使計算機確定下一經(jīng)解壓縮的包是否未通過循環(huán)冗余檢查(CRC)的代 碼;以及用于如果調(diào)用局部修復(fù)模式則促使計算機基于所述第三差來計算用于所述下一 包的解壓縮的解譯區(qū)間的代碼。
全文摘要
本發(fā)明提供在穩(wěn)健標頭壓縮(RoHC)解壓縮器(110、114)中加強局部修復(fù)的方法和系統(tǒng),所述方法和系統(tǒng)可改進網(wǎng)絡(luò)傳輸效率和質(zhì)量。一種方法使用下層信息在所述解壓縮器(110、114)處加強局部修復(fù)。另一種方法使用用戶數(shù)據(jù)報協(xié)議(UDP)校驗和在所述解壓縮器(110、114)處加強局部修復(fù)。
文檔編號H04L29/06GK101411157SQ200780010553
公開日2009年4月15日 申請日期2007年5月3日 優(yōu)先權(quán)日2006年5月4日
發(fā)明者羅希特·卡普爾 申請人:高通股份有限公司