壓縮實時傳輸協議的報文傳輸方法和系統以及壓縮端單元的製作方法
2023-06-15 14:30:06
專利名稱::壓縮實時傳輸協議的報文傳輸方法和系統以及壓縮端單元的製作方法
技術領域:
:本發明涉及壓縮實時傳輸協議的報文傳輸技術,尤其涉及壓縮實時傳輸協議報文的傳輸方法和系統以及壓縮端單元。技術背景隨著RTP(Real-timeTransportProtocol實時傳送協議)的廣泛使用,人們對於利用RTP實現不同的網絡音視頻應用程式間互操作的興趣也日益增長。然而,IPV4/UDP/RTP40位元組的頭部對於負載而言開銷實在太大,因而壓縮技術應運而生,可通過CRTP(CompressedRTP,壓縮實時傳送協議)壓縮來令IP/UDP/RTP包頭變小,在不發送UDP校驗和的情況下,可將大多數包的IP/UDP/RTP頭壓縮到2個字節,在帶校驗和時則壓縮到4個字節,可以有效的提高帶寬利用率。現有技術,RFC2508CompressingIP/UDP/RTPHeadersforLow-SpeedSerialLinks(低速串行鏈路下IP/UDP/RTP數據包頭的壓縮)的CRTP方案是建立在報文無任何亂序和可靠鏈路極少丟包的基礎上,壓縮端只在第一個壓縮報文中置I(表示IPID)、T(表示RTP時間戳)、S(表示RTP順序號)標誌並傳輸所有的增量值,只有當報文IPID(網際網路協議識別號)、RTP順序號、RTP時間戳這三個標誌參數的增量值發生變化時,才在COMPRESSED—RTP報文中分別置相應發生增量變化的I、T、S標誌並傳輸新的增量值,否則不會傳輸當前增量值。RFC2508中規定只有增量值發生變化時才會重新傳輸新的增量值,這種規定是建立在傳輸增量值的壓縮包絕不會丟失的前提下的,顯然這是不切實際的。請參考圖1,為現有技術壓縮包發送實例圖。RFC2508的FULL—HEADER(完整報文頭報文)發送機制未作說明,默認應該採用RFC2507中規定的2的冪周期遞增的方式慢啟動周期發送FULL—HEADER。釆用這種方式可以有效的保證關聯中NOCHANGE域信息的正確性及縮短關聯無效的時間,但是如果攜帶增量值的壓縮包丟失還是會給解壓帶來的致命打擊。請參考表l,為現有技術解壓端報文恢復情況,其中,表中的報文類型F表示FULL一HEADER報文,C表示CRTP報文。以時戳(TS)增量為例,當攜帶新的TS增量值40的CRTP#^文7丟失後,解壓端請求壓縮端重新以二的冪次周期發送FULL一HEADER,但是由於TS增量值未發生變化(還是40),壓縮端不會發送帶TS增量值的壓縮包,解壓端仍然以ATS=20來解壓,所以導致後續壓縮才艮文在解壓時全部錯誤。tableseeoriginaldocumentpage6表l從上述現有技術的發送方案可以看出,只有在壓縮端待發送報文的增量值發生變化時才會重新傳輸新的增量值,如果攜帶IPID、RTP順序號、RTP時間戳的增量值信息的壓縮包發生丟包,即使壓縮端重新傳輸FULL一HEADER報文也不能更新解壓端的增量值信息,從而無法建立正確的解壓關聯信息,壓縮端根據未更新的增量值進行解壓,將導致後續壓縮報文在解壓時發生錯誤。
發明內容本發明要解決的技術問題是提供壓縮實時傳輸協議的報文發送方法和系統以及壓縮端單元,以實現在攜帶增量值的壓縮包丟失後,解壓端能建立正確的解壓關聯信息。為解決上述技術問題,本發明通過以下技術方案實現一種壓縮實時傳輸協議的報文傳輸方法,包括壓縮端發送完整報文頭報文;壓縮端發送壓縮報文,發送的第一個壓縮報文攜帶標誌參數的增量值信息;解壓端在接收到壓縮報文後,進行報文恢復。優選的,壓縮端在發送第一個壓縮報文後,判斷標誌參數的增量值是否發生變化,如果是,發送攜帶變化標誌參數的增量值信息的壓縮報文。優選的,壓縮端發送的報文攜帶連結序列號信息;解壓端在進行報文恢復後,判斷所述報文的連結序列號是否連續,如果否,則反饋內容重發報文。優選的,所述發送完整報文頭報文為周期發送完整報文頭報文。優選的,所述周期發送完整報文頭報文為以2的冪周期遞增方式發送完整報文頭報文。優選的,所述完整報文頭報文進一步攜帶壓縮關聯信息,所述壓縮報文進一步攜帶內容識別號信息;所述進行報文恢復為根據壓縮關聯信息、內容識別號信息和增量值信息進行報文恢復。優選的,所述標誌參數包括網際網路協議識別號、實時傳輸協議順序號和實施傳輸協議時間戳。優選的,所述標誌參數為以下3個參數的其中一個或它們的任意組合網際網路協議識別號、實時傳輸協議順序號和實施傳輸協議時間戳。一種壓縮實時傳輸協議的報文傳輸系統,包括壓縮端單元和解壓端單元;所述壓縮端單元包括報文處理單元、增量值獲取單元、報文壓縮單元和報文發送單元;所述解壓端單元包括報文接收單元和報文恢復單元;報文處理單元,用於向所述報文發送單元發送完整報文頭報文;向所述報文壓縮單元發送待壓縮報文;增量值獲取單元,用於獲取第一個待壓縮報文的當前標誌參數增量值信息,向所述報文壓縮單元發送所述標誌參數增量值信息;報文壓縮單元,用於壓縮待發送的報文;收到待壓縮報文的標誌參數增量值信息後,將該信息增加到壓縮報文;將壓縮報文發送到所述報文發送單元;報文發送單元,用於將所述報文處理單元發送來的完整報文頭報文和所述報文壓縮單元發送來的壓縮報文發送到所述解壓端單元;報文接收單元,用於接收所述壓縮端單元發送來的報文,將該報文發送到所述報文恢復單元;報文恢復單元,用於將所述報文接收單元發送來的報文進行報文恢復。優選的,所述解壓端單元還包括報文反饋單元;所述壓縮端單元還包括變化增量值獲取單元變化增量值獲取單元,用於當所述報文處理單元發送第一個待壓縮報文後,判斷發送的待壓縮報文的標誌參數增量值是否發生變化,如果是,獲取變化標誌參數增量值信息,向報文壓縮單元發送所述標誌參數增量值信息;報文反饋單元,用於在進行報文恢復後,獲取報文的連結序列號,判斷所述連結序列號是否連續,如果否,則向所述壓縮端單元反饋內容重發報文。一種壓縮端單元,包括報文處理單元、增量值獲取單元、報文壓縮單元和報文發送單元;所述解壓端單元包括報文接收單元和報文恢復單元;報文處理單元,用於向所述報文發送單元發送完整報文頭報文;向所述報文壓縮單元發送待壓縮報文;增量值獲取單元,用於獲取第一個待壓縮報文的當前標誌參數增量值信息,向所述報文壓縮單元發送所述標誌參數增量值信息;報文壓縮單元,用於壓縮待發送的報文;收到待壓縮報文的標誌參數增量值信息後,將該信息增加到壓縮報文;將壓縮報文發送到所述報文發送單元;報文發送單元,用於將所述報文處理單元發送來的完整報文頭報文和所述報文壓縮單元發送來的壓縮報文發送到解壓端單元。優選的,還包括變化增量值獲取單元變化增量值獲取單元,用於當所述報文處理單元發送第一個待壓縮報文後,判斷發送的待壓縮報文的標誌參數增量值是否發生變化,如果是,獲取變化標誌參數增量值信息,向報文壓縮單元發送所述標誌參數增量值信息。從以上技術方案可以看出,在本發明中,壓縮端發送完整報文頭報文;在壓縮端發送壓縮報文,發送的第一個壓縮報文攜帶標誌參數的增量值信息;在接收到壓縮報文之後,解壓端進行報文恢復。本技術方案在發送完整報文頭報文後緊接著發送一個攜帶當前標誌參數的增量值信息的壓縮報文,即使前一個攜帶增量值信息的壓縮包發生丟失,解壓端仍能才艮據更新的增量值信息,建立正確的解壓關聯信息,從而保證恢復數據的正確性,避免了因解壓錯誤引起的音視頻質量的惡化。圖1為現有技術壓縮包發送實例圖2為本發明方法流程圖;圖3為本發明壓縮包發送實例圖;圖4為本發明的系統示意圍。具體實施方式本發明提供壓縮實時傳輸協議的報文傳輸方法和系統以及壓縮端單元,其基本思路是壓縮端在發送完整報文頭報文後,緊接著發送一個攜帶當前所有標誌參數的增量值信息的壓縮報文,解壓端接到該壓縮報文後,通過該增量值信息更新解壓關聯信息,即使攜帶增量值的壓縮包發生丟失,解壓端仍能建立正確的解壓關聯信息。請參考圖2,為本發明方法流程圖,包括201.壓縮端發送完整衝艮文頭^^文;202.壓縮端發送壓縮報文,發送的第一個壓縮報文攜帶標誌參數的增量值信息;203.解壓端在接收到壓縮報文後,進行報文恢復。為進一步理解本發明,以下通過具體實施方式對本技術方案進行詳細的描述。在一個報文流的生命期中報文頭的很多欄位都保持不變或者是增量變化的。對於RTP報文流,幾乎報文頭中所有欄位都是不變的或增量變化的。CRTP壓縮依賴於同一個報文流中的連續報文的恆定不變或者增量變化的部分。壓縮的原則如下所述1.報文間相同的欄位不用發送。2.經常變化但變化很小並且/或者是可預見的值,比如RTP序號、RTP時戳可以做增量編碼。這樣這些欄位佔用的比特就大大減少了。3.只有經常改變並且是隨機改變的欄位,比如UDP校驗和,每次都需要發送。CRTP壓縮的基本原理就是需要時發送一個完整報文頭(FULL—HEADER)報文;接下來發送壓縮的頭,這些壓縮報文頭是根據前面收到的完整報文頭報文建立起來的關聯來壓縮的,其中可以包含對關聯的增量值改變。以下介紹本技術方案CRTPl艮文的傳輸過程,分別對壓縮端和解壓端進行說明。A.在壓縮端Al.首先發送一個FULL—HEADER報文,建立一個壓縮關聯信息,根據該關聯信息壓縮待發送的報文。A2.本發明在FULL一HEADER報文之後發送的第一個壓縮報文中攜帶所有標誌參數的增量值,而不管是否發生了增量變化。A3.判斷FULL—HEADER報文發送周期是否到達,如果是,發送FULL—HEADER報文,繼續步驟A2;否則繼續步驟A4。可以理解的是,如果發送FULLHEADER報文的周期內,只有一個壓縮報文,則無需進入步驟A4。A4.在發送其它壓縮報文之前,判斷是否發生增量值變化,如果是,則發送攜帶新的增量值的CRTP壓縮報文;否則,發送沒有攜帶增量值的CRTP壓縮報文。繼續步驟A3。A5.如果接收到解壓端發來的CONTEXT—STATE(內容重發)報文,說明可能出現了丟包情況,則重新發送FULLJ正ADER報文。B.在解壓端B1.當接收到一個FULL—HEADER報文時,建立一個ContextID(內容識別號)到報文信息的關聯索引。B2.當接收到壓縮報文時,如果該報文攜帶有增量值信息,則提取並存儲該增量值信息。然後根據報文中攜帶的ContextID、保存的增量值和關聯信息來恢復報文。對本發明來說,在每個FULL—HEADER報文後,都會發送一個攜帶所有標誌參數的增量值信息的壓縮報文,每次接收到FULL—HEADER報文後,更新保存的增量值,從而避免了因攜帶增量值的壓縮報文丟失而無法更新增量值的缺點。B3.如果判斷報文中的links叫uence(連結序列號)不連續,則認為有丟包發生,向壓縮端發送CONTEXT—STATE報文,要求其發送FULL—HEADER報文。通過重發機制保證接收到的報文的正確性。請參考圖3,為本發明壓縮包發送實例圖。本實施例採用RFC2507中規定的2的冪周期遞增的方式慢啟動周期發送FULL—HEADER。在FULL—HEADER發送周期到達,並發送FULL—HEADER報文後的第一個壓縮報文中攜帶當前所有的增量值,包括IPID、RTP順序號、RTP時間戳。這樣可以讓解壓端周期性的更新增量值,從而避免出現攜帶增量值報文丟失而導致長期失步的情況。使用本發明的方法,如果在接收"^艮文前攜帶增量值的報文發生丟失,在重發FULLHEADER報文後,仍能建立正確的解壓關聯信息,以下對此舉例i兌明。請參考表2,為使用本方案的解壓端報文恢復情況,其中,表中的報文類型F表示FULL一HEADER報文,C表示CRTP報文。以時間戳增量為例,當攜帶新的TS增量值40的CRTP報文7丟失後,對端請求本端重新以二的冪次周期間隔發送FULL—HEADER,緊隨著FULL—HEADER4艮文8的壓縮4艮文9,此時雖然TS增量值未發生變化(還是40),報文9中依然攜帶了當前TS增量值40,壓縮報文ll、14同理,所以即使攜帶增量值的壓縮報文丟失,仍然可以保持增量值始終是最新的。tableseeoriginaldocumentpage11formulaseeoriginaldocumentpage12參考圖4,為本發明的系統示意圖,一種壓縮實時傳輸協議的報文傳輸系統,包括壓縮端單元410和解壓端單元420;所述壓縮端單元410包括報文處理單元411、增量值獲取單元412、變化增量值獲取單元414、報文壓縮單元413和報文發送單元415;所述解壓端單元420包括報文接收單元422、報文恢復單元421和報文反饋單元423;報文處理單元411,用於向所述報文發送單元415發送完整報文頭報文;向所述報文壓縮單元413發送待壓縮報文;增量值獲取單元412,用於獲取第一個待壓縮報文的當前標誌參數增量值信息,向所述報文壓縮單元413發送所述標誌參數增量值信息;變化增量值獲取單元414,用於當所述報文處理單元411發送第一個待壓縮報文後,判斷發送的待壓縮報文的標誌參數增量值是否發生變化,如果是,獲取變化標誌參數增量值信息,向報文壓縮單元414發送所述標誌參數增量值信息;報文壓縮單元414,用於壓縮待發送的報文;收到待壓縮報文的標誌參數增量值信息後,將該信息增加到壓縮報文;將壓縮報文發送到所述報文發送單元415;報文發送單元415,用於將所述報文處理單元411發送來的完整報文頭報文和所述報文壓縮單元413發送來的壓縮報文發送到所述解壓端單元420;報文接收單元422,用於接收所述壓縮端單元420發送來的報文,將該報文發送到所述報文恢復單元421;報文恢復單元421,用於將所述報文接收單元422發送來的報文進行報文恢復。報文反饋單元423,用於在進行報文恢復後,獲取報文的連結序列號,判斷所述連結序列號是否連續,如果否,則向所述壓縮端單元410反饋內容重發報文。以下介紹該系統的工作過程在壓縮端單元報文處理單元411向所述報文發送單元415發送完整報文頭報文;向所述報文壓縮單元413發送待壓縮報文。增量值獲取單元412,獲取第一個待壓縮報文的當前標誌參數增量值信息,向所述報文壓縮單元413發送所述標誌參數增量值信息。當所述報文處理單元411發送第一個待壓縮報文後,變化增量值獲取單元414判斷發送的待壓縮報文的標誌參數增量值是否發生變化,如果是,獲取變化標誌參數增量值信息,向報文壓縮單元414發送所述標誌參數增量值信息。報文壓縮單元414壓縮待發送的報文;收到待壓縮報文的標誌參數增量值信息後,將該信息增加到壓縮才艮文;將壓縮報文發送到所述報文發送單元415。報文發送單元415將所述報文處理單元411發送來的完整報文頭報文和所述報文壓縮單元413發送來的壓縮報文發送到所述解壓端單元420。在解壓端單元420:糹艮文接收單元422接收所述壓縮端單元420發送來的報文,將該報文發送到所述報文恢復單元421。報文恢復單元421將所述報文接收單元422發送來的報文進行報文恢復。用於在進行報文恢復後,報文反饋單元423獲取報文的連結序列號,判斷所述連結序列號是否連續,如果否,則向所述壓縮端單元410反饋內容重發報文。以上對本發明所提供的壓縮實時傳輸協議的報文傳輸方法和系統以及壓縮端單元進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。權利要求1.一種壓縮實時傳輸協議的報文傳輸方法,其特徵在於,包括壓縮端發送完整報文頭報文;壓縮端發送壓縮報文,發送的第一個壓縮報文攜帶標誌參數的增量值信息;解壓端在接收到壓縮報文後,進行報文恢復。2.根據權利要求1所述的方法,其特徵在於,壓縮端在發送第一個壓縮報文後,判斷標誌參數的增量值是否發生變化,如果是,發送攜帶變化標誌參數的增量值信息的壓縮報文。3.根據權利要求1所述的方法,其特徵在於,壓縮端發送的報文攜帶連結序列號信息;解壓端在進行報文恢復後,判斷所述報文的連結序列號是否連續,如果否,則反饋內容重發報文。4.根據權利要求1所述的方法,其特徵在於,所述發送完整報文頭報文為周期發送完整報文頭報文。5.根據權利要求4所述的方法,其特徵在於,所述周期發送完整報文頭報文為以2的冪周期遞增方式發送完整報文頭報文。6.根據權利要求1所迷的方法,其特徵在於,所述完整報文頭報文進一步攜帶壓縮關聯信息,所述壓縮報文進一步攜帶內容識別號信息;所述進行報文恢復為根據壓縮關聯信息、內容識別號信息和增量值信息進行報文恢復。7.根據權利要求16其中之一所述的方法,其特徵在於,所述標誌參數包括網際網路協議識別號、實時傳輸協議順序號和實施傳輸協議時間戳。8.根據權利要求16其中之一所述的方法,其特徵在於,所述標誌參數為以下3個參數的其中一個或它們的任意組合網際網路協議識別號、實時傳輸協議順序號和實施傳輸協議時間戳。9.一種壓縮實時傳輸協議的報文傳輸系統,其特徵在於,包括壓縮端單元和解壓端單元;所述壓縮端單元包括報文處理單元、增量值獲取單元、報文壓縮單元和報文發送單元;所述解壓端單元包括報文接收單元和報文恢復單元;報文處理單元,用於向所述報文發送單元發送完整報文頭報文;向所述報文壓縮單元發送待壓縮l艮文;增量值獲取單元,用於獲取第一個待壓縮報文的當前標誌參數增量值信息,向所述報文壓縮單元發送所述標誌參數增量值信息;報文壓縮單元,用於壓縮待發送的報文;收到待壓縮報文的標誌參數增量值信息後,將該信息增加到壓縮報文;將壓縮報文發送到所述報文發送單元;報文發送單元,用於將所述報文處理單元發送來的完整報文頭報文和所述報文壓縮單元發送來的壓縮報文發送到所述解壓端單元;報文接收單元,用於接收所述壓縮端單元發送來的報文,將該報文發送到所述報文恢復單元;報文恢復單元,用於將所述報文接收單元發送來的報文進行報文恢復。10.根據權利要求9所述的系統,其特徵在於,所述解壓端單元還包括報文反饋單元;所述壓縮端單元還包括變化增量值獲取單元變化增量值獲取單元,用於當所述報文處理單元發送第一個待壓縮報文後,判斷發送的待壓縮報文的標誌參數增量值是否發生變化,如果是,獲取變化標誌參數增量值信息,向報文壓縮單元發送所述標誌參數增量值信息;報文反饋單元,用於在進行報文恢復後,獲取報文的連結序列號,判斷所述連結序列號是否連續,如果否,則向所述壓縮端單元反饋內容重發報文。11.一種壓縮端單元,其特徵在於,包括報文處理單元、增量值獲取單元、報文壓縮單元和報文發送單元;所述解壓端單元包括報文接收單元和報文恢復單元;報文處理單元,用於向所述報文發送單元發送完整報文頭報文;向所述報文壓縮單元發送待壓縮報文;增量值獲取單元,用於獲取第一個待壓縮報文的當前標誌參數增量值信息,向所述報文壓縮單元發送所述標誌參數增量值信息;報文壓縮單元,用於壓縮待發送的報文;收到待壓縮報文的標誌參數增量值信息後,將該信息增加到壓縮報文;將壓縮報文發送到所述報文發送單元;報文發送單元,用於將所述報文處理單元發送來的完整報文頭報文和所述4艮文壓縮單元發送來的壓縮才艮文發送到解壓端單元。12.根據權利要求11所述的壓縮端單元,其特徵在於,還包括變化增量值獲取單元變化增量值獲取單元,用於當所述報文處理單元發送第一個待壓縮報文後,判斷發送的待壓縮報文的標誌參數增量值是否發生變化,如果是,獲取變化標誌參數增量值信息,向報文壓縮單元發送所述標誌參數增量值信息。全文摘要本發明公開了壓縮實時傳輸協議的報文傳輸方法,其基本思路是壓縮端在發送完整報文頭報文後,緊接著發送一個攜帶當前所有標誌參數的增量值信息的壓縮報文,解壓端接收到該壓縮報文後,通過該增量值信息更新解壓關聯信息。相應的,本發明還公開了壓縮實時傳輸協議的報文傳輸的系統和壓縮端單元。本技術方案解決了在攜帶增量值的壓縮包丟失後,解壓端仍然能建立正確的解壓關聯信息,實現報文恢復的問題。文檔編號H04L12/56GK101146025SQ20061012741公開日2008年3月19日申請日期2006年9月13日優先權日2006年9月13日發明者李金鋒申請人:華為技術有限公司