專利名稱:在接收器端具有決定可能重傳請求的擁塞控制的傳輸系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種傳輸系統(tǒng),該系統(tǒng)包括一個含有信息包發(fā)送裝置的發(fā)送器,一個可能引入導致信息包丟失的錯誤且信息包通過其傳輸時可能具有可變傳遞時間的傳輸網(wǎng)絡,以及一個含有信息包接收裝置、丟失信息包檢測裝置、請求重傳丟失信息包裝置的接收器。
本發(fā)明還涉及用于這種傳輸系統(tǒng)中的發(fā)送器和接收器。
本發(fā)明還涉及一種用于這種接收器中的信息包接收方法,以及含有當被處理器執(zhí)行時實現(xiàn)上述接收方法的指令的程序。
本發(fā)明特別適用于通過互聯(lián)網(wǎng)將音頻數(shù)據(jù)或視頻數(shù)據(jù)傳送到移動接收器。
背景技術:
2002年3月,David Leon和Viktor Varsa在IETF互聯(lián)網(wǎng)站發(fā)表了他們撰寫的標題為“RTP重傳框架”的文章,文中討論了信息包的重傳,文章網(wǎng)址為“search.ietf.org/internet-drafts/draft-leon-rtp-retransmission-02.txt”。在第6段中著重闡述了信息包的重傳會增加網(wǎng)絡擁塞的風險。當信息包是由于擁塞而丟失時,請求重傳的反應進一步加重了擁塞。文章建議,當丟失信息包的數(shù)目變得過高時,不再采用重傳。
在該現(xiàn)有技術文件中將丟失信息包數(shù)目的增加作為擁塞的一種指示。
發(fā)明內容
特別的,本發(fā)明的一個目的是提出另外一種監(jiān)視網(wǎng)絡擁塞和在擁塞的情況下做出反應的方法。
因此,根據(jù)本發(fā)明的傳輸系統(tǒng)包括一個含有信息包發(fā)送裝置的發(fā)送器;一個可能引入導致信息包丟失的錯誤且信息包通過其傳輸時具有可變傳遞時間的傳輸網(wǎng)絡;和一個接收器,該接收器包含信息包接收裝置、丟失信息包檢測裝置、請求丟失信息包重傳裝置、用于估計所述傳遞時間的裝置和控制裝置,當所述傳遞時間增加到不再滿足至少一個預定標準的程度時,該控制裝置使所述重傳請求裝置對至少某些丟失信息包無效。
根據(jù)本發(fā)明提出的接收器包括一種用于接收通過傳輸網(wǎng)絡傳輸?shù)男畔陌邮昭b置,該傳輸網(wǎng)絡可能引入導致信息包丟失的錯誤,并且信息包通過該傳輸網(wǎng)絡時具有可變的傳遞時間;用于檢測丟失信息包的裝置、請求丟失信息包重傳的裝置、用于估計所述傳遞時間的裝置和控制裝置,當傳遞時間增加到不再滿足至少一個預定標準的程度時,該控制裝置使所述重傳請求裝置對至少某些丟失信息包無效。
根據(jù)本發(fā)明的一種方法,用于接收通過傳輸網(wǎng)絡傳輸?shù)男畔搨鬏斁W(wǎng)絡可能引入導致信息包丟失的錯誤且信息包通過該傳輸網(wǎng)絡傳輸時具有可變的傳遞時間,該方法包括用于檢測丟失信息包的裝置、請求丟失信息包重傳的裝置、用于估計所述傳遞時間的裝置和控制裝置,當傳遞時間增加到不再滿足至少一個預定標準的程度時,該控制裝置使所述重傳請求裝置對至少某些丟失信息包無效。
因此,本發(fā)明采用通過網(wǎng)絡的傳遞時間作為擁塞指示。擁塞的檢測在接收器級完成,這樣如果出現(xiàn)擁塞,接收器可以決定至少對某些丟失信息包不生成重傳請求。
有利的是,當該信息包具有幾個可能的重要性等級中的一個重要性等級時,提供所述控制裝置來根據(jù)丟失信息包的重要性等級,使所述請求重傳裝置無效。
舉例來說,接收器的反應是漸進的。當開始檢測到擁塞時,接收器決定不再為最不重要的信息包生成重傳請求。當擁塞加重時,該決定就按照重要性的升序逐步擴展到其他信息包。
作為優(yōu)勢,當信息包在一個發(fā)送時刻被發(fā)送,并且在一個接收時刻被接收時,通過計算分隔后續(xù)信息包和先前信息包的接收時刻的接收間隔,然后通過計算所述接收間隔和發(fā)送間隔之間的差值,從而得到對傳遞時間的估計,其中發(fā)送間隔將所述后續(xù)信息包和所述先前信息包的發(fā)送時刻分隔開,所述發(fā)送間隔包含在所述后續(xù)信息包中。
為此,根據(jù)本發(fā)明的發(fā)送器包括計算裝置,用于計算分隔后續(xù)信息包和先前信息包的發(fā)送時刻的發(fā)送間隔;和為了所述接收器計算所述傳遞時間而將該發(fā)送間隔放入所述后續(xù)信息包中的發(fā)送裝置。
這種計算模式具有能夠產生精確估計的優(yōu)點。
根據(jù)下文中描述的實施例,通過非限制性實例的方法,本發(fā)明的這些和其它方面將會得到闡述并顯而易見。
在附圖中圖1是根據(jù)本發(fā)明的傳輸系統(tǒng)的一個實例的圖示,圖2是根據(jù)本發(fā)明的接收方法的第一實例的流程圖,圖3是根據(jù)本發(fā)明的接收方法的第二實例的流程圖。
具體實施例方式
本發(fā)明涉及一種在發(fā)送器和接收器之間傳輸信息包的傳輸系統(tǒng)。發(fā)送器向接收器發(fā)送數(shù)據(jù)包。接收器檢測丟失的數(shù)據(jù)包,并且將涉及至少某些丟失數(shù)據(jù)包的重傳請求發(fā)送給發(fā)射機。
圖1顯示了根據(jù)本發(fā)明的傳輸系統(tǒng)的一個實例,該傳輸系統(tǒng)包括一個實現(xiàn)根據(jù)本發(fā)明的發(fā)送器功能的服務器10,一個傳輸網(wǎng)絡20和一個實現(xiàn)根據(jù)本發(fā)明的接收器功能的終端30。
舉例來說,傳輸網(wǎng)絡20采用例如GPRS網(wǎng)絡或UMTS網(wǎng)絡的蜂窩網(wǎng)絡的形式。服務器10通過鏈路40連接到傳輸網(wǎng)絡20,該鏈路接入類似因特網(wǎng)的包類型網(wǎng)絡。終端30通過無線電鏈路50連接到蜂窩網(wǎng)絡上。
在這種類型的傳輸網(wǎng)絡中,信息包丟失可能是源于信息包傳輸網(wǎng)絡的擁塞,或者源于由無線電鏈路引入的傳輸錯誤。事實上-在信息包傳輸網(wǎng)絡擁塞的情況下,傳輸網(wǎng)絡設備的緩沖存儲器就會被占滿,到達的新信息包會被毀壞;-無線電鏈路本質上是不可靠的。當它們在傳送的信息包中引入過多的錯誤時,這些錯誤將無法得到糾正,于是信息包就會被認為丟失了。
服務器10包括由方框100表示的數(shù)據(jù)源VSS,由方框103表示的發(fā)送/接收裝置TX1/RX1,由方框104表示的重傳存儲器MEM和由方框105表示的微處理器組件E1,該微處理器組件包括工作存儲器WM1、程序存儲器PM1和處理器C1。
由數(shù)據(jù)源VSS產生的數(shù)據(jù)在微處理器組件E1級編入信息包,由此形成的信息包被發(fā)送到發(fā)送/接收裝置TX1/RX1,從這里通過鏈路40將該信息包在傳輸網(wǎng)絡20上進行傳輸。在某些情況下,當信息包丟失時必須要重傳。為了允許這樣的重傳,已發(fā)送的信息包的至少部分內容要被存儲在數(shù)據(jù)存儲器MEM中。
終端30包括由方框301表示的發(fā)送/接收裝置TX3/RX3,由方框302表示的數(shù)據(jù)目的地單元VSD,和由方框303表示的微處理器組件E3,該微處理器組件包括工作存儲器WM3、程序存儲器PM3和處理器C3。
例如,數(shù)據(jù)源VSS包括視頻序列源和MPEG-4格式的編碼器。發(fā)送的信息包中包含的數(shù)據(jù)是采用MPEG-4格式編碼的數(shù)據(jù)。數(shù)據(jù)目的地單元VSD包括MPEG-4格式的解碼器和視頻序列讀出器。
程序存儲器PM1和PM3分別包含程序或一組程序G1和G3,包含用于實現(xiàn)一種根據(jù)本發(fā)明的傳輸方法的程序代碼指令,該傳輸方法將會根據(jù)圖2進行描述。
作為優(yōu)點,服務器10與終端30之間的傳輸是通過采用RTP類型的傳輸協(xié)議實現(xiàn)的。由IETF發(fā)表的文檔RFC1889中描述了RTP傳輸協(xié)議。特別是-有用的數(shù)據(jù)在RFC1889第5段描述的類型的數(shù)據(jù)包中從服務器10傳送到終端30。
-值得注意地,這些數(shù)據(jù)包含有一個報頭,該報頭包括一個被稱為“序號”的字段。每當一個數(shù)據(jù)包被傳送給定的數(shù)據(jù)對話RTP時,該字段中包含的序號SN就增加一。它被接收器用來檢測一個數(shù)據(jù)包序列中的一個或多個數(shù)據(jù)包的丟失。例如,如果接收器接收序號為36的信息包,緊隨其后的是序號為40的另一個信息包,可以從中推論出包含序號37、38和39的信息包丟失了。信息包的字段SN必須存儲在存儲器MEM中,以便該信息包的重傳。
-這些數(shù)據(jù)包還包含一個稱為“有效載荷”的有效載荷字段,該有效載荷字段包含有用的數(shù)據(jù),在這里描述的實例中,就是指由源VSS產生的數(shù)據(jù)。信息包的“有效載荷”字段必須存儲在存儲器MEM中,以便允許該信息包的重傳。
-重傳請求在RFC1889第6段描述的類型的控制包中從終端30傳送到服務器10。
原始信息包和重傳的信息包可以共享同一個RTP對話,或者可以通過使用兩個不同的RTP對話發(fā)送。
本書明書的以下部分將考慮使用兩個不同的對話發(fā)送原始和重傳的信息包。序號SN等于i的RTP包被稱為P(i)。
作為優(yōu)點,為了允許在接收器級對傳遞時間進行估計,就在信息包P(i)中發(fā)送一個發(fā)送間隔Δ(i)。該發(fā)送間隔表示信息包P(i)的發(fā)送時刻t(i)和先前發(fā)送的信息包P(i-j)的發(fā)送時刻t(i-j)之間的差值。例如,j=1且Δ(i)=t(i)-t(i-1)。例如,時間間隔Δ(i)在RTP包的報頭的擴展內的32位字段中被發(fā)送,該擴展被稱為RTP報頭擴展,并且在RFC 1889的第5.3.1段中定義。
根據(jù)本發(fā)明,傳遞時間是基于接收的信息包定期進行估計的。并且,當檢測到一個信息包丟失時,將使用傳遞時間的當前值來決定產生或不產生丟失信息包的重傳請求。
圖2顯示根據(jù)本發(fā)明的信息包接收方法的第一實例,根據(jù)圖2,所述方法包括-步驟S1,接收信息包P(i),該信息包含有如上定義的發(fā)送間隔Δ(i),-步驟S2,為信息包P(i)計算傳遞時間的估計TT(i)(在此實例中,j取1),TT(i)=R(i)-R(i-1)-Δ(i)其中R(i)和R(i-1)是信息包P(i)和P(i-1)的接收時刻,-步驟S3,通過觀察包含在接收的信息包中的序號來檢測丟失的信息包P(k),-步驟S4,將通過網(wǎng)絡的傳遞時間的估計TT(i)的當前值與一個預定的閾值X進行比較。
如果TT(i)<X,就在步驟S5中發(fā)出對信息包P(k)的重傳請求RR。
如果TT(i)≥X,接收器就會認為傳輸網(wǎng)絡中正出現(xiàn)擁塞,因此不發(fā)送對信息包P(k)的重傳請求。
在本發(fā)明的另一個實施例中,請求或不請求重傳的決定不僅依賴于通過網(wǎng)絡的傳遞時間,而且依賴于丟失信息包P(k),例如,從各種可能的重要性等級中分配給該信息包P(k)的重要性等級。
例如,給在接收器級發(fā)送的每個信息包分配一個重要性等級。并且,構造發(fā)送的信息包以便使其包含一個或多個字段(例如,在上面已經(jīng)提到的報頭RTP的擴展中),該字段含有與一個或多個其它信息包相關的重要性等級。例如,每個發(fā)送的信息包P(i)含有與N個信息包相關的N個重要性等級IL(i-1),...,IL(i-N),這N個信息包按照發(fā)送順序P(i-1),...,P(i-N)居先。
例如,當待發(fā)送的數(shù)據(jù)是用MPEG-4格式編碼的數(shù)據(jù)時,信息包的重要性等級是用于對該信息包中所發(fā)送的數(shù)據(jù)進行編碼的編碼模式的函數(shù)。MPEG-4標準提供了三種編碼模式-編碼模式I(內部編碼),其中圖像只基于它自身包含的信息進行編碼,-編碼模式P(預測編碼),其中圖像通過使用在時間上領先的參考圖像進行編碼,-編碼模式B(雙向預測編碼),其中圖像基于在時間上領先于它的參考圖像和在時間上跟隨其后的參考圖像進行編碼。
通過使用編碼模式I編碼的圖像特別重要,因為它們的丟失會妨礙重建其編碼用作參考圖像的這些圖像。因此,以一種有利的方式,服務器10給根據(jù)編碼模式I編碼的圖像分配的重要性等級高于給根據(jù)編碼模式P編碼的圖像分配的重要性等級。同樣地,分配給根據(jù)編碼模式P編碼的圖像的重要性等級要高于分配給根據(jù)編碼模式B編碼的圖像的重要性等級。
圖3中表示的是根據(jù)本發(fā)明的接收方法的第二實例的流程圖,其中生成或不生成重傳請求的決定考慮了信息包的重要性。根據(jù)圖3,所述接收方法包括-步驟S10,接收信息包P(i),該信息包含有如上定義的發(fā)送間隔Δ(i),和與N個信息包相關的N個重要性等級IL(i-1),...,IL(i-N),這N個信息包按照發(fā)送順序P(i-1),...,P(i-N)居先,-步驟S20,為信息包P(i)估計TT(i)傳遞時間。
TT(i)=R(i)-R(i-1)-Δ(i)其中R(i)和R(i-1)是信息包P(i)和P(i-1)的接收時刻,-步驟S30,通過觀察包含在接收到的信息包中的序號來檢測丟失的信息包P(k),-步驟S35,在丟失的信息包P(k)之后正確接收到的第一個信息包P(k+m)中恢復丟失的信息包P(k)的重要性等級IL(k),-步驟S40,決定是否發(fā)送與作為這樣恢復的重要性等級IL(k)的函數(shù)的丟失信息包P(k)有關以及與傳遞時間TT(i)的當前值有關的重傳請求RR。
例如如果TT(i)≥X2,則不會產生對信息包P(k)的重傳請求如果X1<TT(i)<X2,并且如果IL(k)>Y2,則在步驟S50中發(fā)送對信息包P(k)的重傳請求。
如果X0<TT(i)<X1,并且IL(k)>Y1(其中Y1表示低于Y2的重要性等級),則在步驟S50中發(fā)送對信息包P(k)的重傳請求。
在此實例中,接收器的反應漸進的。當檢測到擁塞開始時(傳遞時間超過第一閾值X0,但是達不到第二閾值X1),接收器決定不再為重要性等級低于Y1的信息包生成重傳請求。當傳遞時間變得高于或等于第二閾值X1時,該決定擴展到重要性等級低于Y2的信息包。當傳遞時間變得高于或等于第三閾值X2時,最后會對所有的信息包都產生此決定。這里通過實例說明該漸進方案。還可以使用其他的漸進方案。
本發(fā)明不限于僅通過實例描述的實施例??梢赃M行修改和改進但仍然保持在本發(fā)明的范圍內。
更具體而言,可以使用其他的標準,而不僅限于此處描述的用來限制在網(wǎng)絡上傳輸?shù)闹貍髡埱髷?shù)目的那些標準。
也可以采用其他模式來估計通過網(wǎng)絡的傳遞時間。例如,可以只為重要或非常重要的信息包傳送發(fā)送間隔Δ(i)。
還可以使用單個對話RTP來傳送原始和重傳的信息包。在這種情況下,如果使用上述的傳遞時間的計算模式,就不需要用重傳的信息包來計算傳遞時間,因為在這種情況下,重傳信息包的序號與原始信息包的序號相等。因而,可以不在重傳的信息包中傳送該發(fā)送間隔。
本發(fā)明不限于采用MPEG-4格式編碼的數(shù)據(jù)的傳輸。本發(fā)明與發(fā)送數(shù)據(jù)的類型無關。
在權利要求書中,動詞“包括”意味著不排除使用其他的元件、裝置或步驟。
權利要求
1.一種傳輸系統(tǒng),包括-一個包含信息包發(fā)送裝置的發(fā)送器,-一個傳輸網(wǎng)絡,該傳輸網(wǎng)絡可能引入導致信息包丟失的錯誤,并且信息包通過該傳輸網(wǎng)絡具有可變的傳遞時間,-和一個接收器,包括信息包接收裝置、丟失信息包檢測裝置、請求丟失信息包重傳的重傳請求裝置、估計所述傳遞時間的估計裝置和控制裝置,當所述傳遞時間增加到不再滿足至少一個預定標準的程度時,該控制裝置使所述重傳請求裝置對至少某些丟失的信息包無效。
2.如權利要求1所述的系統(tǒng),其特征在于,所述信息包具有幾種可能的重要性等級中的一種重要性等級,提供所述控制裝置用于根據(jù)丟失的信息包的重要性等級,使所述重傳請求裝置無效。
3.如權利要求1所述的傳輸系統(tǒng),其特征在于,當信息包在發(fā)送時刻被發(fā)送并且在接收時刻被接收時,所述發(fā)送器包括計算裝置,該計算裝置用于計算將后續(xù)信息包和先前信息包的發(fā)送時刻分隔開的發(fā)送間隔,所述發(fā)送間隔在所述后續(xù)信息包中被發(fā)送,并且所述用于估計所述傳遞時間的估計裝置包括用于計算將所述后續(xù)信息包和所述先前信息包的接收時刻分隔開的接收間隔的計算裝置,和用于計算所述接收和發(fā)送間隔之間的差值的計算裝置。
4.一種接收器,包括用于接收通過傳輸網(wǎng)絡傳輸?shù)男畔男畔邮昭b置,該傳輸網(wǎng)絡可能引入導致信息包丟失的錯誤,并且信息包通過該傳輸網(wǎng)絡具有可變的傳遞時間;用于檢測丟失信息包的裝置;用于請求重傳丟失信息包的重傳請求裝置;用于估計所述傳遞時間的估計裝置和控制裝置,當所述傳遞時間增加到不再滿足至少一個預定標準的程度時,該控制裝置使所述重傳請求裝置對至少某些丟失的信息包無效。
5.如權利要求4所述的接收器,其特征在于,當信息包在發(fā)送時刻被發(fā)送并且在接收時刻被接收時,用于估計所述傳遞時間的估計裝置包括用于計算將所述后續(xù)信息包和先前信息包的接收時刻分隔開的接收間隔的計算裝置,和用于計算所述接收間隔和發(fā)送間隔之間的差值的計算裝置,該發(fā)送間隔將所述后續(xù)信息包的發(fā)送時刻和所述先前信息包的發(fā)送時刻分隔開,所述發(fā)送間隔被包含在所述后續(xù)信息包中。
6.如權利要求4所述的接收器,其特征在于,所述信息包具有幾種可能的重要性等級中的一種重要性等級,提供所述控制裝置用于根據(jù)丟失信息包的重要性等級,使所述重傳請求裝置無效。
7.一種接收通過傳輸網(wǎng)絡傳送的信息包的方法,該網(wǎng)絡可能引入導致信息包丟失的錯誤,并且信息包通過該傳輸網(wǎng)絡具有可變的傳遞時間,所述方法至少包括-丟失信息包檢測步驟,-傳遞時間估計步驟,-根據(jù)所述傳遞時間來決定是否為丟失的信息包生成重傳請求的步驟,當所述傳遞時間增加到不再滿足至少一個預定標準的程度時,對至少某些丟失的信息包不生成重傳請求。
8.如權利要求7中所述的信息包接收方法,其特征在于,當信息包在發(fā)送時刻被發(fā)送并且在接收時刻被接收時,傳遞時間的估計步驟包括計算將后續(xù)信息包和先前信息包的接收時刻分隔開的接收間隔的步驟,和計算所述接收間隔和發(fā)送間隔之間的差值的步驟,該發(fā)送間隔將所述后續(xù)信息包和所述先前信息包的發(fā)送時刻分隔開,所述發(fā)送間隔包含在所述后續(xù)信息包中。
9.一種程序,包含當由處理器執(zhí)行所述程序時,能夠實現(xiàn)如權利要求7或8之一所述的信息包接收方法的指令。
10.一種發(fā)送器,包括通過傳輸網(wǎng)絡向接收器發(fā)送信息包的裝置,信息包通過該傳輸網(wǎng)絡具有可變的傳遞時間,所述信息包在發(fā)送時刻被發(fā)送并且在接收時刻被接收,所述發(fā)送器包括計算裝置,用于計算分隔后續(xù)信息包和先前信息包的發(fā)送時刻的發(fā)送間隔;和為了所述接收器計算所述傳遞時間而在所述后續(xù)信息包中發(fā)送所述發(fā)送間隔的發(fā)送裝置。
全文摘要
本發(fā)明涉及通過網(wǎng)絡傳送數(shù)據(jù)包,該網(wǎng)絡可能引入導致數(shù)據(jù)包丟失的錯誤,并且數(shù)據(jù)包通過該網(wǎng)絡具有可變的傳遞時間。本發(fā)明包括區(qū)分由于擁塞造成的丟失、由于傳輸錯誤造成的丟失以及在出現(xiàn)擁塞情況下,由于停止至少某些信息包的重傳請求而造成的丟失。
文檔編號H04L1/18GK1647440SQ03808516
公開日2005年7月27日 申請日期2003年4月3日 優(yōu)先權日2002年4月16日
發(fā)明者J.-M·雷梅 申請人:皇家飛利浦電子股份有限公司