專利名稱:用于在穩(wěn)健報(bào)頭壓縮中增強(qiáng)本地修復(fù)的方法和系統(tǒng)的制作方法
35 U.S.C§119下的優(yōu)先權(quán)要求
本專利申請要求2004年12月8日提交的題為“METHODS AND SYSTEMSFOR ENHANCING LOCAL REPAIR IN ROBUST HEADER COMPRESSION(用于在穩(wěn)健報(bào)頭壓縮中增強(qiáng)本地修復(fù)的方法和系統(tǒng))”的共同轉(zhuǎn)讓的美國臨時(shí)專利第60/634,452號的優(yōu)先權(quán),此臨時(shí)申請被援引包含于此。
背景 領(lǐng)域 本發(fā)明一般涉及無線通信,尤其涉及可在穩(wěn)健報(bào)頭解壓縮中增強(qiáng)本地修復(fù)的方法和系統(tǒng)。
背景 網(wǎng)際協(xié)議(IP)是在有線和無線網(wǎng)絡(luò)中均使用的一種網(wǎng)絡(luò)協(xié)議。對于諸如IP電話(VoIP)、交互式游戲、消息等的一些服務(wù)和應(yīng)用,IP分組的有效負(fù)荷的可能與該分組的IP報(bào)頭幾乎一樣大小或甚至更小。在同一分組報(bào)頭內(nèi)的各報(bào)頭字段中,尤其是在一分組流的相繼各分組之間可能有相當(dāng)大的冗余。報(bào)頭壓縮(HC)是一種在鏈路的一端壓縮IP分組的協(xié)議報(bào)頭、將它們傳送到鏈路的另一端、并在另一端將它們解壓縮到其原始狀態(tài)的過程。
附圖簡述 當(dāng)結(jié)合附圖一起閱讀以下的具體說明時(shí),本申請的特征、特性和優(yōu)點(diǎn)將會變得更為顯而易見。
圖1示出其中可實(shí)現(xiàn)本文中所描述的一種或多種方法的通信系統(tǒng)。
圖2示出圖1的基站收發(fā)機(jī)系統(tǒng)/分組數(shù)據(jù)服務(wù)節(jié)點(diǎn)(BTS-PDSN)或PDSN-BTS的一些硬件和軟件組件。
圖3示出圖1的接入終端的一些硬件和軟件組件。
圖4示出可由圖1的系統(tǒng)使用的一種在穩(wěn)健報(bào)頭解壓縮中增強(qiáng)本地修復(fù)的方法。
圖5示出可由圖1的系統(tǒng)使用的另一種在穩(wěn)健報(bào)頭解壓縮中增強(qiáng)本地修復(fù)的方法。
圖6示出對應(yīng)于圖4的方法的解壓縮器裝置。
圖7示出對應(yīng)于圖5的方法的解壓縮器裝置。
圖8示出具有未壓縮報(bào)頭的分組和具有經(jīng)壓縮報(bào)頭的分組的示例。
圖9示出一種使用校驗(yàn)和來確定解壓縮是否成功的方法。
圖10示出對應(yīng)于圖9的方法的解壓縮器。
具體說明 本文中所公開的實(shí)施例可在諸如蜂窩網(wǎng)、公共交換電話網(wǎng)(PSTN)、無線因特網(wǎng)、衛(wèi)星網(wǎng)絡(luò)、廣域網(wǎng)(WAN)、無線局域網(wǎng)(WLAN)、VoIP網(wǎng)、基于IP的多媒體系統(tǒng)等任何無線和/或有線通信系統(tǒng)中實(shí)現(xiàn)。
圖1示出其中可實(shí)現(xiàn)本文中所描述的一種或多種方法的通信系統(tǒng)10的示例。第一接入終端(AT)100A可包括上行鏈路(或反向鏈路)報(bào)頭壓縮器102。第一接入終端100A可經(jīng)由反向鏈路(RL)與基站104A以及無線電接入網(wǎng)絡(luò)(RAN)中的基站收發(fā)機(jī)系統(tǒng)/分組數(shù)據(jù)服務(wù)節(jié)點(diǎn)(BTS-PDSN)106A無線通信。
BTS-PDSN 106A包括上行鏈路報(bào)頭解壓縮器110,它可執(zhí)行本文中所描述的一種或多種方法。BTS-PDSN 106A可經(jīng)由VoIP網(wǎng)絡(luò)108與分組數(shù)據(jù)服務(wù)節(jié)點(diǎn)/基站收發(fā)機(jī)系統(tǒng)(PDSN-BTS)106B通信。PDSN-BTS 106B可包括下行鏈路(或前向鏈路)報(bào)頭壓縮器112。
第二接入終端100B可經(jīng)由前向鏈路(FL)與基站104B和PDSN-BTS 106B無線通信。第二接入終端100B可包括下行鏈路報(bào)頭解壓縮器114,它可執(zhí)行本文中所描述的一種或多種方法。作為兩個(gè)接入終端100A、100B均為無線接入終端的替代,這些接入終端之一可以是有線終端。
反向鏈路和前向鏈路可使用一種或多種通信協(xié)議,諸如碼分多址(CDMA)1x、CDMA 1x EV-DO(演進(jìn)數(shù)據(jù)最優(yōu)化)、寬帶CDMA(WCDMA)、時(shí)分同步(TD-SCDMA)、全球移動(dòng)通信系統(tǒng)(GSM)等。
本文中所描述的“接入終端”可指各類設(shè)備,諸如有線電話、無線電話、蜂窩電話、膝上型計(jì)算機(jī)、無線通信個(gè)人計(jì)算機(jī)(PC)卡、個(gè)人數(shù)字助理(PDA)、外置或內(nèi)置調(diào)制解調(diào)器等。接入終端可以是使用例如光纖或同軸電纜等通過無線信道或通過有線信道通信的任何數(shù)據(jù)設(shè)備。接入終端可具有各種名稱,諸如接入單元、用戶單元、移動(dòng)臺、移動(dòng)設(shè)備、移動(dòng)單元、移動(dòng)電話、手機(jī)、遠(yuǎn)程臺、遠(yuǎn)程終端、遠(yuǎn)程單元、用戶設(shè)備、用戶裝置、手持式設(shè)備等。接入終端可以是移動(dòng)的或固定的,并且可散布于圖1的通信系統(tǒng)10的各處。接入終端可與一個(gè)或多個(gè)基站收發(fā)機(jī)系統(tǒng)(BTS)通信,BTS可稱為(或包括)基站、接入網(wǎng)絡(luò)、接入點(diǎn)、B節(jié)點(diǎn)、以及調(diào)制解調(diào)器池收發(fā)機(jī)(MPT)。
圖2示出圖1的BTS-PDSM 106A和/或PDSN-BTS 106B的一些硬件和軟件組件,諸如處理器200、專用集成電路(ASIC)及其它硬件202、收發(fā)機(jī)204、以及存儲器206。存儲器206可存儲一個(gè)或多個(gè)上層207,諸如應(yīng)用層208、傳輸層210、以及網(wǎng)絡(luò)層212。應(yīng)用層208可處理實(shí)時(shí)傳輸協(xié)議(RTP或RTTP)報(bào)頭。傳輸層210可處理傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP)報(bào)頭。網(wǎng)絡(luò)層212可處理IP報(bào)頭。
存儲器206還可存儲穩(wěn)健報(bào)頭壓縮壓縮器112、穩(wěn)健報(bào)頭壓縮解壓縮器110、以及一個(gè)或多個(gè)下層220,諸如可包括無線電鏈路協(xié)議(RLP)子層的鏈路層和媒體訪問控制(MAC)層214、以及物理層216。
圖3示出圖1的接入終端100A、100B的一些硬件和軟件組件,諸如處理器300、ASIC 302及其它硬件、收發(fā)機(jī)304、以及存儲器306。存儲器306可存儲一個(gè)或多個(gè)上層,諸如應(yīng)用層308、傳輸層310、以及網(wǎng)絡(luò)層312。應(yīng)用層308可處理RTP報(bào)頭。傳輸層3 10可處理TCP和UDP報(bào)頭。網(wǎng)絡(luò)層312可處理IP報(bào)頭。
存儲器306還可存儲穩(wěn)健報(bào)頭壓縮壓縮器102、穩(wěn)健報(bào)頭壓縮解壓縮器114、以及一個(gè)或多個(gè)下層320,諸如可包括RLP子層的鏈路層和MAC層314、以及物理層316。
圖8示出具有有效負(fù)荷和未壓縮報(bào)頭(例如,IP、UDP、RTP、TCP及其它報(bào)頭)的分組800、以及具有有效負(fù)荷和經(jīng)壓縮報(bào)頭的分組802的示例。經(jīng)壓縮報(bào)頭可包括RTP序列號、UDP校驗(yàn)和,還可能包括其它字段。經(jīng)壓縮分組802還可包括含有鏈路層序列號的鏈路層報(bào)頭。
通過無線鏈路發(fā)送的具有IP、UDP和RTP報(bào)頭的分組將可觀地受益于報(bào)頭壓縮,因?yàn)闊o線網(wǎng)絡(luò)具有有限的帶寬。報(bào)頭壓縮和解壓縮可提高網(wǎng)絡(luò)傳輸效率、質(zhì)量、和/或速度,同時(shí)可節(jié)約帶寬(由于減少了分組報(bào)頭的額外開銷)、減少分組丟失、縮短交互響應(yīng)時(shí)間、以及降低基礎(chǔ)設(shè)施成本(單位信道帶寬更多用戶,因而降低了部署成本)。通信系統(tǒng)在包括許多中繼段(hop)的點(diǎn)對點(diǎn)連接上可在每個(gè)中繼段的基礎(chǔ)上壓縮協(xié)議報(bào)頭。“中繼段”是指從一個(gè)設(shè)備到另一設(shè)備或網(wǎng)絡(luò)元的通信鏈路。
然而,由于無線鏈路的差錯(cuò)率(例如,誤碼率(BER))高且往返時(shí)間長,所以一些報(bào)頭壓縮方案在無線(例如,蜂窩)鏈路上可能表現(xiàn)不佳,在無線拓?fù)浣Y(jié)構(gòu)和話務(wù)模式變得更加復(fù)雜的情況下尤為如此。本公開描述可克服其它方法的缺點(diǎn)的穩(wěn)健報(bào)頭壓縮(ROHC)和解壓縮方案。
穩(wěn)健報(bào)頭壓縮在題為“Robust Header Compression(ROHC)Framework andfour profilesRTP,UDP,ESP and uncompressed”的請求評論(RFC)3095中描述,這是由Internet Society(因特網(wǎng)協(xié)會)的Network Working Group(網(wǎng)絡(luò)工作組)發(fā)布的因特網(wǎng)標(biāo)準(zhǔn)跟蹤協(xié)議。“穩(wěn)健”的頭部壓縮方案可容忍其上發(fā)生報(bào)頭壓縮的鏈路上的丟失和殘差,而不會丟失更多的分組或在經(jīng)解壓縮的報(bào)頭中引入更多的差錯(cuò)。
“壓縮器的上下文”是指壓縮器壓縮報(bào)頭所使用的狀態(tài)信息,而“解壓縮器的上下文”是指解壓縮器解壓縮報(bào)頭所使用的狀態(tài)信息。上下文可包含來自分組流中各在前報(bào)頭的相關(guān)信息,諸如靜態(tài)字段以及壓縮和解壓縮用的可能的基準(zhǔn)值。上下文可包含描述分組流的其它信息,諸如關(guān)于IP標(biāo)識符字段如何改變、以及序列號或時(shí)戳中典型的分組間遞增等的信息。
“上下文損壞”在解壓縮器的上下文與壓縮器的上下文不一致,并且解壓縮可能無法再現(xiàn)原始報(bào)頭的情況下發(fā)生。這種情況可能在解壓縮器的上下文沒有被正確初始化,或在分組已于壓縮器和解壓縮器之間丟失或損壞的情況下發(fā)生。由于上下文不一致而不能被解壓縮的分組因上下文損壞而“丟失”。經(jīng)解壓縮但由于上下文不一致而含錯(cuò)的分組因上下文損壞而“受損”。
ROHC可使用在原始報(bào)頭上的循環(huán)冗余校驗(yàn)(CRC)來檢測不正確的解壓縮。為了降低計(jì)算復(fù)雜度,當(dāng)計(jì)算CRC時(shí),報(bào)頭的各字段可被概念地重排,從而首先在靜態(tài)的八位字節(jié)(稱為CRC-STATIC)上計(jì)算,然后在其值在各分組之間預(yù)期會改變的八位字節(jié)(CRC-DYNAMIC)上計(jì)算。以此方式,CRC計(jì)算覆蓋了CRC-STATIC字段之后的中間結(jié)果可被重復(fù)用于數(shù)個(gè)分組。
大多數(shù)報(bào)頭字段可被壓縮掉,因?yàn)樗鼈兛赡軓牟换蚝苌俑淖儭T谝粋€(gè)示例中,僅組合大小為約10個(gè)八位字節(jié)的五個(gè)字段可能需要更為復(fù)雜的機(jī)制。這些字段可包括 -IPv4標(biāo)識(16比特)(IP-ID) -UDP校驗(yàn)和(16比特) -RTP標(biāo)記(1比特)(M位) -RTP序列號(16比特)(SN) -RTP時(shí)戳(32比特)(TS) 對其值通常變化很小的那些報(bào)頭字段可使用最低有效位(LSB)編碼。使用LSB編碼,該字段值的k個(gè)最低有效位代替原始字段值被發(fā)送,其中k是一正整數(shù)。在接收到k比特之后,解壓縮器將先前接收到的值用作基準(zhǔn)(v_ref)來推得原始值。在壓縮器和解壓縮器各自使用原始值駐留的、并且在其中原始值是唯一與所發(fā)送的比特具有確切相同的k個(gè)最低有效位的值的詮釋區(qū)間的情況下,LSB編碼和解碼可能是正確的。
“詮釋區(qū)間”可被描述為函數(shù)f(v_ref,k) f(v_ref,k)=[v_ref-p,v_ref+(2^k-1)-p] 其中p是整數(shù)。
此式可被示為 ← 詮釋區(qū)間(大小為2^k-1) → |-------------+---------------------------------------| v_ref-pv_refv_ref+(2^k-1)-p 函數(shù)f具有以下性質(zhì)對于任意值k,k個(gè)最低有效位將唯一地標(biāo)識f(v_ref,k)中的一個(gè)值。
參數(shù)p允許相對于v_ref移動(dòng)詮釋區(qū)間。選擇合適的p值將對具有某些特性的字段產(chǎn)生更高效的編碼。
要被編碼的值可具有有限范圍。例如,RTP SN的范圍為從0到0xFFFF。當(dāng)SN值接近0或0xFFFF時(shí),詮釋區(qū)間可跨騎0與0xFFFF之間的卷繞邊界。
RFC 3095描述了ROHC壓縮器可如何使用“基于窗的最低有效位(LSB)編碼”來壓縮協(xié)議報(bào)頭中的動(dòng)態(tài)字段。壓縮器可能無法確定解壓縮器將對一特定值v使用的v_ref_d的確切值,因?yàn)関_ref_d的一些候選可能已被丟失或損壞。但是,通過使用反饋或通過作出合理的假設(shè),壓縮機(jī)可限定候選集。壓縮器隨后計(jì)算k以使得無論解壓縮器使用該候選集中的哪個(gè)v_ref_d,v都被結(jié)果所得的區(qū)間d所覆蓋。因?yàn)榻鈮嚎s器可使用最近接收到的CRC成功的值作為基準(zhǔn)值,所以壓縮器維持一包含v_ref_d的候選的“滑動(dòng)窗”。該滑動(dòng)窗初始可為空。
當(dāng)有許多相繼的分組在ROHC壓縮器和解壓縮器之間丟失時(shí),會有序列號(SN)LSB卷繞的風(fēng)險(xiǎn),即,經(jīng)壓縮分組中序列號的LSB可能會被不正確地詮釋,因?yàn)榻鈮嚎s器因沒有輸入而沒有移動(dòng)詮釋區(qū)間。
ROHC解壓縮器可使用本地修復(fù)模式來檢測數(shù)個(gè)相繼丟失的分組(在壓縮器和解壓縮器之間)可能引起上下文損壞的情況。ROHC解壓縮器可使用本地時(shí)鐘來檢測此情況并避免上下文損壞。例如,ROHC解壓縮器可使用在RFC 3095中描述的以下算法 (a)解壓縮器記錄每個(gè)傳入分組i的到達(dá)時(shí)間a(i)。解壓縮失敗的分組的到達(dá)時(shí)間被丟棄。
(b)當(dāng)解壓縮失敗時(shí),解壓縮器計(jì)算INTERVAL=a(i)-a(i-1),即前一正確解壓縮分組與當(dāng)前分組的到達(dá)之間過去的時(shí)間。
(c)如果發(fā)生了卷繞,則INTERVAL將對應(yīng)于至少2^k個(gè)分組間時(shí)間,其中k是當(dāng)前報(bào)頭中的SN位數(shù)??墒褂玫竭_(dá)時(shí)間的移動(dòng)平均數(shù)來估計(jì)分組到達(dá)間隔時(shí)間?;诜纸M到達(dá)間隔時(shí)間的估計(jì),解壓縮器確定INTERVAL是否可對應(yīng)于2^k個(gè)分組間時(shí)間。
(d)如果確定INTERVAL為至少2^k個(gè)分組到達(dá)間隔時(shí)間,則解壓縮器向基準(zhǔn)SN加2^k,并試圖使用該新的基準(zhǔn)SN來解壓縮該分組。
(e)如果此解壓縮成功,則解壓縮器更新上下文,但不應(yīng)將該分組投送給上層。后繼的分組也被解壓縮,并且如果其CRC成功則更新上下文,但不應(yīng)被丟棄。如果使用該新上下文對第三個(gè)分組的解壓縮也成功,則認(rèn)為上下文修復(fù)成功,并且該第三個(gè)分組和后續(xù)經(jīng)解壓縮的分組被投送給上層。
(f)如果(d)和(e)中的這三次解壓縮嘗試中有任何一次失敗,則解壓縮器丟棄這些分組,并可根據(jù)RFC 3095的5.3.2.2.3節(jié)中的規(guī)則(a)到(c)來行動(dòng)。
使用上述本地修復(fù)模式,解壓縮器可能能夠在過多的丟失之后修復(fù)上下文,其代價(jià)是在推斷上下文已被修復(fù)之前丟棄兩個(gè)被正確解壓縮的分組。ROHC解壓縮器需要丟棄兩個(gè)分組(不被傳遞給上層)的原因是ROHC的3位CRC是相對較弱的校驗(yàn),因此不正確地解壓縮的分組可能會通過該CRC。
以下所描述的實(shí)施例可在諸如圖1到3中的解壓縮器110、114等ROHC解壓縮器中增強(qiáng)或改善本地修復(fù)模式。在一個(gè)實(shí)施例中,本地修復(fù)模式下的ROHC解壓縮器還使用諸如鏈路層序列號等下層信息作為ROHC的3位CRC的補(bǔ)充來確定是否將分組傳遞給上層。在另一個(gè)實(shí)施例中,本地修復(fù)模式下的ROHC解壓縮器還使用UDP校驗(yàn)和(在啟用的情況下)作為ROHC的3位CRC的補(bǔ)充來確定是否將分組傳遞給上層。一種解壓縮器可被配置成根據(jù)一個(gè)或多個(gè)條件選擇這兩種方法之一。這些實(shí)施例可提高性能而無需變更ROHC標(biāo)準(zhǔn)。
在解壓縮修復(fù)中使用下層信息 圖4示出一種使用鏈路層信息在ROHC解壓縮器110、114中增強(qiáng)本地修復(fù)模式的方法。鏈路層214、3 14(圖2和3中的下層)向由壓縮器112、102壓縮的每個(gè)分組添加一鏈路層序列號(SN)。對于通過鏈路層一特定實(shí)例發(fā)送的每個(gè)鏈路層分組該序列號遞增一(“1”)。在對應(yīng)于一特定鏈路層實(shí)例的IP分組與鏈路層分組之間有一一對應(yīng)的映射。如果此一一對應(yīng)的映射被違反,下述的方法仍可工作。
在圖4中的410,解壓縮器通過例如檢測解壓縮差錯(cuò)來確定對當(dāng)前接收的分組的解壓縮是否失敗。如果解壓縮失敗,則解壓縮器在420確定兩個(gè)相繼接收的分組之間的鏈路層序列號之差,即最近正確解壓縮的接收的分組的鏈路層序列號與當(dāng)前接收的分組的鏈路層序列號之差。該差可被稱為INTERVAL,它與以上援用RFC3095提及的“詮釋區(qū)間”或“INTERVAL”是不同的。
在430,解壓縮器確定INTERVAL是否等于至少2^k,其中k是當(dāng)前分組中序列號的位數(shù)。如果INTERVAL等于至少2^k,則解壓縮器向最近正確解壓縮的接收的分組的序列號(稱為基準(zhǔn)序列號)加INTERVAL。此動(dòng)作可被稱為修補(bǔ)用于解壓縮的信息。
在440,解壓縮器試圖使用該新的基準(zhǔn)序列號來解壓縮當(dāng)前分組。
如果此解壓縮成功,則解壓縮器更新其上下文,并將該分組投送給上層。如果解壓縮失敗,則解壓縮器可丟棄這些分組,并根據(jù)RFC 3095的5.3.2.2.3節(jié)中的規(guī)則(a)到(c)來行動(dòng)。
除了改善本地修復(fù)模式以外,使用鏈路層序列號的另一個(gè)優(yōu)點(diǎn)是使解壓縮器能夠處理鏈路上過多的重排序。鏈路層序列號幫助標(biāo)識晚到的ROHC分組的正確位置,以使解壓縮器能夠從解壓縮器的當(dāng)前上下文中的基準(zhǔn)值正確推斷RTP序列號。
在一些情況下,鏈路層序列號與RTP序列號之間可能沒有一一對應(yīng)的映射。例如,在無線網(wǎng)絡(luò)的反向鏈路上,在蜂窩邊緣(例如,以4.8kbps工作)的用戶可能需要用兩個(gè)RLP(無線電鏈路協(xié)議)片段發(fā)送一個(gè)RTP/UDP/IP話音分組。
圖5示出一種可在此類情況(鏈路層序列號與RTP序列號之間沒有一一對應(yīng)的映射)中使用以確定是否發(fā)生SN卷繞以及如何執(zhí)行本地修復(fù)的方法。以下方法假定對應(yīng)于最近正確解壓縮的分組的RTP序列號和鏈路層序列號為零(“0”)。非零的基準(zhǔn)值情況可通過首先執(zhí)行差分運(yùn)算來處理。
在510,解壓縮器通過例如檢測解壓縮差錯(cuò)來確定解壓縮是否失敗。如果解壓縮失敗,則解壓縮器在520計(jì)算INTERVAL,它是兩個(gè)相繼接收的分組之間的鏈路層序列號之差,即當(dāng)前分組的鏈路層序列號減去基準(zhǔn)值(最近接收的正確解壓縮的分組的鏈路層序列號)。
(1)LSB詮釋區(qū)間(上述)的右半邊長度可表達(dá)為L,其中L小于2^k。如果在530 INTERVAL大于或等于2*(L+1),則發(fā)生卷繞。
(a)如果在540 INTERVAL大于或等于2^(k+1),則解壓縮器在550通過使用詮釋區(qū)間[L+1,2*(L+1)-1]、[2*(L+1),3*(L+1)-2]、……、[k*(L+1),(k+1)*(L+1)-k]多次試驗(yàn)解壓縮分組來試圖確定正確的卷繞量,其中INTERVAL被定義為k*(L+1)≤INTERVAL≤(k+1)*(L+1)-k。因?yàn)樵谡_區(qū)間中的解壓縮將通過ROHC的3位CRC,所以這些解壓縮當(dāng)中的至少一次將是成功的。如果僅其中一次解壓縮是成功的,則該分組可被發(fā)送到上層。如果其中一次以上解壓縮是成功的,則解壓縮器不能確定正確的詮釋區(qū)間,并且這些分組將不被發(fā)送到上層。
(b)如果在540 INTERVAL小于2^(k+1),則實(shí)際的RTP SN位于[INTERVAL/2,INTERVAL]之間。因?yàn)镮NTERVAL/2小于或等于2^k,所以在560可使用RTP SN中包含k位的LSB來唯一地標(biāo)識正確的RTP SN位置。解壓縮器可基于由鏈路層SN和ROHC報(bào)頭中RTP SN的LSB給定的唯一信息來修復(fù)卷繞。
(2)如果在570 INTERVAL小于或等于L,則沒有卷繞,并且如有需要,該方法在580執(zhí)行錯(cuò)誤上下文的本地修復(fù)。
(3)如果在575 INTERVAL在[L+1,2*(L+1)-1]的范圍內(nèi),則可能有、也可能沒有RTP SN LSB卷繞。假定在575 RTP SN位于長度小于2^k的[INTERVAL/2,INTERVAL]的范圍內(nèi),則可使用ROHC報(bào)頭中攜帶的RTP SN的LSB來唯一地確定RTP SN的實(shí)際位置,并由此來確定是否需要在560執(zhí)行SN卷繞修復(fù)。
即使IP分組在ROHC壓縮器之間就已丟失的情況下,圖5的方法仍能工作。
圖6示出對應(yīng)于圖4的方法的解壓縮器裝置600。解壓縮器裝置600包括用于確定當(dāng)前接收的分組的解壓縮是否失敗的裝置610、用于確定等于兩個(gè)相繼接收的分組(當(dāng)前接收的分組和最近正確解壓縮的分組)之間的鏈路層序列號之差的間隔的裝置620、用于確定間隔是否大于或等于2^k、并向最近正確解壓縮的分組的基準(zhǔn)序列號加該間隔的裝置630、以及使用新的基準(zhǔn)序列號來執(zhí)行解壓縮的裝置640。
圖7示出對應(yīng)于圖5的方法的解壓縮器裝置700。解壓縮器裝置700包括用于確定解壓縮是否失敗的裝置710、用于確定等于兩個(gè)相繼接收的分組之間的鏈路層序列號之差的間隔的裝置720、用于確定間隔是否≥2(L+1)的裝置730、用于確定間隔是否≥2^(k+1)的裝置740、用于執(zhí)行多次試驗(yàn)來確定正確的卷繞量的裝置750、用于基于鏈路層SN和由ROHC報(bào)頭中的RTP SN的LSB所給出的唯一信息來修復(fù)卷繞的裝置760、用于確定間隔是否≤L的裝置770、用于確定RTP SN的LSB是否在[interval/2,L]內(nèi)的裝置775、用于在需要的情況下執(zhí)行錯(cuò)誤上下文的本地修復(fù)的裝置780。
在解壓縮修復(fù)中使用UDP校驗(yàn)和 另一種方法可使用UDP校驗(yàn)和(圖8)來增強(qiáng)/改善ROHC解壓縮器中的本地修復(fù)模式。使用UDP校驗(yàn)和(若其存在)可使RoHC解壓縮器在本地修復(fù)模式期間能對經(jīng)解壓縮分組有更高的置信度。對此方法,應(yīng)在IP流中啟用UDP校驗(yàn)和。以下方法通過使用UDP校驗(yàn)和來改善ROHC RFC 3095中的本地修復(fù)模式。
(a)解壓縮器記錄每個(gè)傳入分組i的到達(dá)時(shí)間a(i)。解壓縮失敗的分組的到達(dá)時(shí)間被丟棄。
(b)當(dāng)解壓縮失敗時(shí),解壓縮器計(jì)算INTERVAL=a(i)-a(i-1),即前一正確解壓縮分組與當(dāng)前分組的到達(dá)之間過去的時(shí)間。
(c)如果發(fā)生了卷繞,則INTERVAL將對應(yīng)于至少2^k個(gè)分組間時(shí)間,其中k是當(dāng)前報(bào)頭中的SN位數(shù)。在例如使用到達(dá)時(shí)間的移動(dòng)平均數(shù)得到的分組到達(dá)間隔時(shí)間的估計(jì)TS_STRIDE或TS_TIME的基礎(chǔ)上,解壓縮器判斷INTERVAL是否可對應(yīng)于2^k個(gè)分組間時(shí)間。
(d)如果判定INTERVAL為至少2^k個(gè)分組到達(dá)間隔時(shí)間,則解壓縮器向基準(zhǔn)SN加2^k,并試圖使用該新的基準(zhǔn)SN來解壓縮該分組。
(e)如果此解壓縮成功并且UDP校驗(yàn)和通過,則解壓縮器更新上下文,并將該分組投送給上層。如果解壓縮失敗或UDP校驗(yàn)和沒有通過,則解壓縮器丟棄這些分組,并可根據(jù)5.3.2.2.3節(jié)的規(guī)則(a)到(c)來行動(dòng)。
也可在圖4或5的方法中使用UDP校驗(yàn)和(在被啟用的情況下)來進(jìn)一步驗(yàn)證解壓縮是否成功。
圖9示出一種如上所述地使用UDP校驗(yàn)和的方法。在900,該方法確定一分組報(bào)頭的解壓縮是否成功。在902,該方法確定該分組報(bào)頭中的用戶數(shù)據(jù)報(bào)協(xié)議(UDP)校驗(yàn)和是否通過。在904,如果解壓縮成功并且UDP校驗(yàn)和通過,則該方法更新解壓縮使用的上下文信息,并將該經(jīng)解壓縮的分組投送給上層。
圖10示出對應(yīng)于圖9方法的解壓縮器1010。解壓縮器1010包括用于確定一分組報(bào)頭的解壓縮是否成功的裝置1000、用于確定該分組報(bào)頭中的用戶數(shù)據(jù)報(bào)協(xié)議(UDP)校驗(yàn)和是否通過的裝置1002、用于在解壓縮成功并且UDP校驗(yàn)和通過的情況下更新解壓縮使用的上下文信息并將該經(jīng)解壓縮的分組投送給上層的裝置1004。
結(jié)合本文中所公開的實(shí)施例描述的各種示例性邏輯塊、模塊及電路可用通用處理器、數(shù)字信號處理器(DSP)、ASIC、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯器件、分立的門或晶體管邏輯、分立的硬件組件、或其設(shè)計(jì)成執(zhí)行本文中所描述的這些功能的任意組合來實(shí)現(xiàn)或執(zhí)行。通用處理器可以是微處理器;但作為替換,該處理器也可以是任何常規(guī)的處理器、控制器、微處理器、或狀態(tài)機(jī)。處理器還可被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如,DSP與微處理器的組合、多個(gè)微處理器、與DSP核心協(xié)作的一個(gè)或多個(gè)微處理器、或任何其它此類配置。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法可直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中體現(xiàn)。軟件模塊可駐留在隨機(jī)存取存儲器(RAM)、閃存、只讀存儲器(ROM)、電可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、寄存器、硬盤、可移動(dòng)盤、CD-ROM、或本領(lǐng)域中已知的任何其它形式的存儲介質(zhì)中。存儲介質(zhì)被耦合到處理器,從而處理器可從該存儲介質(zhì)讀取信息或向其寫入信息。作為替換,存儲介質(zhì)可被集成到處理器中。處理器和存儲介質(zhì)可駐留在ASIC中。該ASIC可駐留在接入終端中。作為替換,處理器和存儲介質(zhì)可作為分立組件駐留在接入終端中。
本領(lǐng)域技術(shù)人員將可理解,信息和信號可使用各種不同的技術(shù)和技藝中的任何一種來表示。例如,貫穿以上說明可能被引述的數(shù)據(jù)、指令、命令、信息、信號、位、碼元和碼片可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子、或其任何組合來表示。
本領(lǐng)域技術(shù)人員還將認(rèn)識到,結(jié)合本文中所公開的實(shí)施例描述的各種示例性邏輯塊、模塊、電路和算法步驟可被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件或其組合。為清楚地說明硬件和軟件的這一可互換性,以上各種說明性組件、塊、模塊、電路和步驟一般根據(jù)其功能來描述。這樣的功能是被實(shí)現(xiàn)為硬件還是軟件取決于特定的應(yīng)用和施加在整個(gè)系統(tǒng)上的設(shè)計(jì)約束。本領(lǐng)域有經(jīng)驗(yàn)的技術(shù)人員針對每種特定應(yīng)用可用不同的方式實(shí)現(xiàn)所述的功能,但此類實(shí)現(xiàn)決策不應(yīng)被詮釋成致使背離本發(fā)明的范圍。
提供以上對所公開實(shí)施例的說明是為使本領(lǐng)域任何技術(shù)人員都能夠制作或使用本發(fā)明。對這些實(shí)施例的各種變體對本領(lǐng)域技術(shù)人員而言很容易可顯而易見,并且本文中所定義的一般性原理可被應(yīng)用于其它實(shí)施例而不會背離本發(fā)明的精神實(shí)質(zhì)或范圍。因此,本發(fā)明并不旨在被限定于本文中所示出的實(shí)施例,而是應(yīng)與和本文中公開的原理和新穎特征一致的最廣義的范圍相符。
權(quán)利要求
1.一種解壓縮分組報(bào)頭的方法,所述方法包括
確定當(dāng)前分組報(bào)頭的解壓縮是否失?。?br>
如果報(bào)頭解壓縮失敗,則確定一在前分組的第一鏈路層序列號與所述當(dāng)前分組的第二鏈路層序列號之差以修復(fù)報(bào)頭解壓縮所用的信息;以及
以經(jīng)修復(fù)的信息來解壓縮所述當(dāng)前分組的報(bào)頭。
2.如權(quán)利要求1所述的方法,其特征在于,還包括使用所述經(jīng)修復(fù)的信息來重排序一個(gè)或多個(gè)分組。
3.如權(quán)利要求1所述的方法,其特征在于,還包括更新解壓縮所用的上下文信息,并將所述當(dāng)前分組投送給一上層。
4.如權(quán)利要求1所述的方法,其特征在于,還包括通過一無線鏈路接收所述在前分組和所述當(dāng)前分組。
5.如權(quán)利要求1所述的方法,其特征在于,所述報(bào)頭包括與網(wǎng)際協(xié)議(IP)、實(shí)時(shí)傳輸協(xié)議(RTP)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)和傳輸控制協(xié)議(TCP)中的至少一個(gè)有關(guān)的信息。
6.如權(quán)利要求1所述的方法,其特征在于,修復(fù)報(bào)頭解壓縮所用的信息包括
確定所述第一鏈路層序列號與所述第二鏈路層序列號之差是否大于或等于2^k,其中k是所述當(dāng)前分組中的鏈路層序列號的位數(shù);以及
如果所述差大于或等于2^k,則向所述第一鏈路層序列號加上所述差以提供經(jīng)修復(fù)的信息。
7.如權(quán)利要求6所述的方法,其特征在于,還包括確定是否發(fā)生序列號卷繞。
8.如權(quán)利要求7所述的方法,其特征在于,確定是否發(fā)生序列號卷繞包括
確定所述差是否大于或等于2*(L+1),其中L是解壓縮所用的詮釋區(qū)間一半的長度;
如果確定所述差大于或等于2*(L+1),則確定所述差是否大于或等于2^(k+1);
如果確定所述差大于或等于2^(k+1),則使用多個(gè)詮釋區(qū)間來多次解壓縮所述當(dāng)前分組的報(bào)頭;以及
如果解壓縮所述報(bào)頭僅在所述詮釋區(qū)間之一成功,則將所述當(dāng)前分組投送給一上層。
9.如權(quán)利要求8所述的方法,其特征在于,所述詮釋區(qū)間包括[L+1,2*(L+1)-1]、[2*(L+1),3*(L+1)-2]、……、[k*(L+1),(k+1)*(L+1)-(k)],其中INTERVAL被定義為k*(L+1)≤INTERVAL≤(k+1)*(L+1)-(k)。
10.如權(quán)利要求8所述的方法,其特征在于,還包括
如果確定所述差小于2^(k+1),則基于由鏈路層序列號及所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位(LSB)所給出的信息來修復(fù)所述卷繞。
11.如權(quán)利要求8所述的方法,其特征在于,還包括
如果確定所述差小于2*(L+1),則確定所述差是否小于或等于L;
如果所述差小于或等于L,則執(zhí)行解壓縮上下文信息的本地修復(fù)。
12.如權(quán)利要求8所述的方法,其特征在于,還包括
確定所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位(LSB)是否在[INTERVAL/2,L]的范圍內(nèi);
如果所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位(LSB)在[INTERVAL/2,L]的范圍內(nèi),則執(zhí)行解壓縮上下文信息的本地修復(fù);
如果所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位(LSB)不在[INTERVAL/2,L]的范圍內(nèi),則基于由鏈路層序列號及所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位所給出的信息來修復(fù)所述卷繞。
13.一種報(bào)頭解壓縮方法,所述方法包括
確定一分組報(bào)頭的解壓縮是否成功;
確定所述分組報(bào)頭中的用戶數(shù)據(jù)報(bào)協(xié)議(UDP)校驗(yàn)和是否通過;以及
如果所述解壓縮成功并且所述UDP校驗(yàn)和通過,則更新解壓縮使用的上下文信息,并將所述經(jīng)解壓縮的分組投送給一上層。
14.一種被配置成解壓縮分組報(bào)頭的裝置,所述裝置包括一解壓縮器,所述解壓縮器被配置成
確定一當(dāng)前分組報(bào)頭的解壓縮是否失??;
如果報(bào)頭解壓縮失敗,則確定一在前分組的第一鏈路層序列號與所述當(dāng)前分組的第二鏈路層序列號之差以修復(fù)報(bào)頭壓縮所用的信息;以及
以所述經(jīng)修復(fù)的信息來解壓縮所述當(dāng)前分組的報(bào)頭。
15.如權(quán)利要求14所述的裝置,其特征在于,所述裝置還被配置成使用所述經(jīng)修復(fù)的信息來重排序一個(gè)或多個(gè)接收的分組。
16.如權(quán)利要求14所述的裝置,其特征在于,所述解壓縮器還被配置成更新解壓縮所用的上下文信息,并將所述當(dāng)前分組投送給一上層。
17.如權(quán)利要求14所述的裝置,其特征在于,還包括一用于在無線鏈路上接收所述在前分組和所述當(dāng)前分組的收發(fā)機(jī)。
18.如權(quán)利要求14所述的裝置,其特征在于,所述報(bào)頭包括與網(wǎng)際協(xié)議(IP)、實(shí)時(shí)傳輸協(xié)議(RTP)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)和傳輸控制協(xié)議(TCP)中的至少一個(gè)有關(guān)的信息。
19.如權(quán)利要求14所述的裝置,其特征在于,所述解壓縮器被配置成
確定所述第一鏈路層序列號與所述第二鏈路層序列號之差是否大于或等于2^k,其中k是所述當(dāng)前分組中的鏈路層序列號的位數(shù);以及
如果所述差大于或等于2^k,則向所述第一鏈路層序列號加上所述差以提供經(jīng)修復(fù)的信息。
20.如權(quán)利要求19所述的裝置,其特征在于,所述解壓縮器還被配置成確定是否發(fā)生序列號卷繞。
21.如權(quán)利要求20所述的裝置,其特征在于,確定是否發(fā)生序列號卷繞包括
確定所述差是否大于或等于2*(L+1),其中L是解壓縮所用的詮釋區(qū)間一半的長度;
如果確定所述差大于或等于2*(L+1),則確定所述差是否大于或等于2^(k+1);
如果確定所述差大于或等于2^(k+1),則使用多個(gè)詮釋區(qū)間來多次解壓縮所述當(dāng)前分組的報(bào)頭;以及
如果解壓縮所述報(bào)頭僅在所述詮釋區(qū)間之一成功,則將所述當(dāng)前分組投送給一上層。
22.如權(quán)利要求21所述的裝置,其特征在于,所述詮釋區(qū)間包括[L+1,2*(L+1)-1]、[2*(L+1),3*(L+1)-2]、……、[k*(L+1),(k+1)*(L+1)-(k)],其中INTERVAL被定義為k*(L+1)≤INTERVAL≤(k+1)*(L+1)-(k)。
23.如權(quán)利要求21所述的裝置,其特征在于,所述解壓縮器還被配置成
如果確定所述差小于2^(k+1),則基于由鏈路層序列號及所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位(LSB)所給出的信息來修復(fù)所述卷繞。
24.如權(quán)利要求21所述的裝置,其特征在于,所述解壓縮器還被配置成
如果確定所述差小于2*(L+1),則確定所述差是否小于或等于L;
如果所述差小于或等于L,則執(zhí)行解壓縮上下文信息的本地修復(fù)。
25.如權(quán)利要求21所述的裝置,其特征在于,所述解壓縮器還被配置成
確定所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位(LSB)是否在[INTERVAL/2,L]的范圍內(nèi);
如果所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位(LSB)在[INTERVAL/2,L]的范圍內(nèi),則執(zhí)行解壓縮上下文信息的本地修復(fù);
如果所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位(LSB)不在[INTERVAL/2,L]的范圍內(nèi),則基于由鏈路層序列號及所述報(bào)頭中的無線電傳輸協(xié)議(RTP)序列號的最低有效位所給出的信息來修復(fù)所述卷繞。
26.一種包括解壓縮器的用于報(bào)頭解壓縮的裝置,所述解壓縮器被配置成
確定一分組報(bào)頭的解壓縮是否成功;
確定所述分組報(bào)頭中的用戶數(shù)據(jù)報(bào)協(xié)議(UDP)校驗(yàn)和是否通過;以及
如果所述解壓縮成功并且所述UDP校驗(yàn)和通過,則更新解壓縮所用的上下文信息,并將所述經(jīng)解壓縮的分組投送給一上層。
27.一種被配置成解壓縮分組報(bào)頭的裝置,所述裝置包括
用于確定一當(dāng)前分組報(bào)頭的解壓縮是否失敗的裝置;
用于在報(bào)頭解壓縮失敗的情況下確定一在前分組的第一鏈路層序列號與所述當(dāng)前分組的第二鏈路層序列號之差以修復(fù)報(bào)頭壓縮所用的信息的裝置;以及
用于以所述經(jīng)修復(fù)的信息來解壓縮所述當(dāng)前分組的報(bào)頭的裝置。
全文摘要
用于在穩(wěn)健報(bào)頭壓縮(ROHC)解壓縮器(110、114)中增強(qiáng)本地修復(fù)的方法和系統(tǒng),可用于提高網(wǎng)絡(luò)傳輸效率和質(zhì)量。一種方法使用下層信息來增強(qiáng)解壓縮器(110、114)處的本地修復(fù)。另一種方法使用用戶數(shù)據(jù)報(bào)(UDP)校驗(yàn)和來增強(qiáng)解壓縮器(110、114)處的本地修復(fù)。
文檔編號H04L29/06GK101107829SQ200580042110
公開日2008年1月16日 申請日期2005年12月7日 優(yōu)先權(quán)日2004年12月8日
發(fā)明者P·A·阿格舍, J·海彭, R·卡珀 申請人:高通股份有限公司