專利名稱:丟棄的分組指示符的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及數(shù)字信息傳送網(wǎng),并且更加特別地涉及一種用于在網(wǎng)絡(luò)中指示丟棄的分組的方法和設(shè)備。
背景技術(shù):
數(shù)字信息傳送網(wǎng)中,在源裝置與目的裝置之間,數(shù)據(jù)分組可能由于各種原因被丟失。一些分組由于不可控的錯誤被隨機(jī)地丟失,這些錯誤例如是由傳輸線上的噪聲、同步問題等造成的錯誤。一些分組由于網(wǎng)絡(luò)資源(例如傳輸、交換、計算等)方面的約束(constraint)被丟失。在這種情況下,常規(guī)地以受控的方式刪除分組。
使用當(dāng)前的技術(shù),分組流的目的裝置當(dāng)前不能區(qū)分由于受控情況造成丟失分組和由于非受控情況造成丟失分組。對于一些數(shù)據(jù)傳遞協(xié)議,丟失分組致使目的裝置請求重傳該丟失的信息。這在多播諸如音頻或視頻這樣的實時流的網(wǎng)絡(luò)中并不怎么可行。通常,沒有足夠的時間可用于請求和接收重傳的分組,除非目的裝置處的緩存器非常大。如果分組丟失問題起因于擁塞,那么重傳請求只會加重?fù)砣?br>
當(dāng)在目的裝置處沒有接收到分組流中的所期望的分組時,目的裝置在宣稱分組丟失前等待一定量的時間。一旦分組被宣稱丟失,目的裝置嘗試通過重傳或者通過錯誤隱藏(concealment)技術(shù)來進(jìn)行恢復(fù)。對于實時服務(wù),等到確定了數(shù)據(jù)丟失的時候,可能已經(jīng)太晚了以致不能進(jìn)行錯誤恢復(fù)或者錯誤隱藏算法的處理。
公知幾種用于在目的裝置處檢測分組丟失的解決方案,但是它們都需要時間延遲,其可能對實時服務(wù)有害。一些協(xié)議在流中的每個分組內(nèi)提供一個序列號。在目的裝置處,如果一個被編號的分組沒有按順序到達(dá),那么就宣稱丟失分組的情況并且可以開始錯誤恢復(fù)機(jī)制。另一種方法等待一個超時時段并且然后宣稱分組丟失。又一種方法忽略所丟失的分組并且處理到達(dá)目的裝置的下一個數(shù)據(jù)分組。
當(dāng)前可用的分組丟失檢測技術(shù)所招致的延遲對于實時服務(wù)可能有害。目的裝置等待宣稱分組丟失會浪費時間和處理器資源,其本應(yīng)當(dāng)更好地用于隱藏由丟失信息所造成的錯誤。如果對音頻或視頻服務(wù)忽略分組丟失,那么應(yīng)用的收聽者或觀看者將體驗令人討厭的偽像。
相應(yīng)地,需要一種用來識別和補(bǔ)救丟失分組的方法和設(shè)備。
發(fā)明內(nèi)容
在本發(fā)明中,網(wǎng)絡(luò)包括用于發(fā)送信息的源裝置和用于接收來自該源裝置的信息的目的裝置。中間網(wǎng)元在該源裝置和目的裝置之間傳遞信息。該中間網(wǎng)元識別適于丟棄的信息分組,并且響應(yīng)于識別出一個或多個適于丟棄的分組,向該目的裝置發(fā)送指示丟棄該一個或多個分組的決定的通告。
相比現(xiàn)有技術(shù),本發(fā)明提供了顯著的優(yōu)點。該中間網(wǎng)元通過發(fā)送指示有效載荷被移除的小通告分組,實現(xiàn)了顯著的帶寬節(jié)約。該目的裝置一接收到該小通告分組就可以啟動錯誤糾正任務(wù)。在視頻應(yīng)用中,當(dāng)使用了早期錯誤隱藏時,視頻的質(zhì)量將明顯得到提高,而不是顯示由于丟失分組而造成的明顯的干擾信號(glitch)(令人討厭的視頻偽像)。此外,如果可行的話,目的裝置可以禁止重傳請求以避免加重現(xiàn)存的擁塞問題。
為了更全面的理解本發(fā)明及其優(yōu)點,現(xiàn)在結(jié)合附圖來參考下述描述,其中圖1說明了在數(shù)據(jù)網(wǎng)內(nèi)穿過中間網(wǎng)元的介于源裝置與目的裝置之間的數(shù)據(jù)路徑的例子的方框圖;圖2示出了特定類型的IP視頻網(wǎng)絡(luò)的更詳細(xì)的視圖;
圖3說明了將用于傳輸視頻或音頻數(shù)據(jù)的類型的分組的極大簡化了的視圖;圖4a說明了中間網(wǎng)元的簡化了的方框圖;圖4b說明了用較小的通告分組來替代丟棄的分組;圖5示出了針對丟棄的分組的控制電路的操作;圖6說明了本發(fā)明如何才能適用于基于IP傳送和H.264視頻壓縮的視頻網(wǎng)絡(luò)服務(wù)的一個特定例子;以及圖7說明了響應(yīng)于接收到指示丟棄的分組的通告分組的目的裝置處的操作。
具體實施例方式
參考圖1至圖7,能最佳地理解本發(fā)明,各圖中相同的數(shù)字用于指示相同的單元。
圖1說明了在數(shù)據(jù)網(wǎng)內(nèi)介于源裝置10與目的裝置12之間的路徑的例子。該源裝置10可以是例如視頻服務(wù)器或音頻服務(wù)器,而該目的裝置可以是用戶計算裝置(例如桌面/移動計算機(jī)、手持式計算機(jī)/PDA或者帶有網(wǎng)絡(luò)接入的智能電話)、內(nèi)部或者外部(“機(jī)頂盒(set top)”)的IP視頻接收器、或者內(nèi)部或外部的IP音頻接收器。在源裝置10與目的裝置12之間,存在一個或多個中間網(wǎng)元14,其在該源裝置10與該目的裝置12之間傳遞信息。該中間網(wǎng)元14可以是例如互聯(lián)網(wǎng)和/或?qū)S镁W(wǎng)路由器和復(fù)用器。
操作中,該源裝置10將數(shù)據(jù)流傳輸至該目的地12(在實際的實施例中,該源裝置10很有可能將數(shù)據(jù)作為單播傳輸或者作為多播傳輸流傳輸至多個目的地12)。該目的地12和中間網(wǎng)絡(luò)裝置通常在FIFO(先入,先出)存儲器內(nèi)對數(shù)據(jù)進(jìn)行緩存。在源裝置10和目的地12之間,數(shù)據(jù)可能被延遲或丟失。例如,中間網(wǎng)元14之一可能發(fā)生FIFO溢出,其中數(shù)據(jù)被接收的速率比其能被傳輸給下一個中間網(wǎng)元14或目的裝置12的速率更快。這種情況下,計劃傳給目的裝置12的數(shù)據(jù)分組中的一些數(shù)據(jù)分組將被該中間網(wǎng)元14丟掉并且因此無法到達(dá)目的裝置12。類似地,中間網(wǎng)元14可以預(yù)見很有可能會發(fā)生溢出的情況并且可以取消FIFO中的分組。再一次,被取消的分組將不會到達(dá)目的裝置12。
目的裝置12也會具有緩存器,從而分組的到達(dá)中的微小延遲不會影響輸出聲音或視頻。一般而言,該緩存器越長,該目的裝置12在不采取補(bǔ)救措施的條件下能夠承受的延遲就越長。然而,在某個時間點,該目的裝置12將不能夠再等待所期望的分組,并且將采取措施以在沒有該分組的情況下繼續(xù)音頻和視頻。如果該分組在此時間點后到達(dá),目的裝置12將簡單地丟掉它。在一些例子中,目的裝置12可能能夠請求源裝置10重發(fā)丟失的數(shù)據(jù);然而,一般而言,由于該丟失信息的原因,在目的裝置12處將會出現(xiàn)干擾信號(glitch)。
圖2示出了可以利用本發(fā)明優(yōu)點的特定類型的IP視頻網(wǎng)絡(luò)的更詳細(xì)的視圖,然而本發(fā)明不局限于這種類型的網(wǎng)絡(luò)。在圖2中,VHE(視頻頭端)20將視頻分組流傳輸至一個或多個IP視頻接收器22。該IP視頻接收器22將視頻分組轉(zhuǎn)化成用于視頻顯示器24的視頻。為了到達(dá)IP視頻接收器22,數(shù)據(jù)必須穿過公共/專用網(wǎng)絡(luò)26,該網(wǎng)絡(luò)26可包括多個路由器(包括邊緣路由器28)。邊緣路由器28的輸出由DSLAM(數(shù)字用戶線接入復(fù)用器)單元30來接收,其中數(shù)據(jù)被放置在雙絞線31上。用戶住宅(premises)處的DSL調(diào)制解調(diào)器32通過住宅路由器34在該DSLAM單元30與該IP視頻接收器22之間進(jìn)行通信。
應(yīng)當(dāng)注意,圖2中所示出的特定實施例是針對在用戶住宅處的DSL連接上的IP視頻服務(wù)的。利用本發(fā)明,還可使用其他用于與住宅進(jìn)行通信的配置,包括數(shù)字電纜、無線通信以及光纖。
在操作中,視頻頭端將視頻信息流傳輸至IP視頻接收器22。對于像實時電視信號這樣的實時視頻廣播,通常將視頻數(shù)據(jù)作為多播傳輸來發(fā)送。對于點播(on demand)視頻,可以使用單播傳輸。
圖3說明了將被用于傳輸視頻或音頻數(shù)據(jù)的類型的分組的極大簡化了的視圖。分組40包括頭和有效載荷,其中頭包括有關(guān)尋址、狀態(tài)和優(yōu)先級指示符的信息,有效載荷包括音頻和視頻數(shù)據(jù)。在大多數(shù)像MPEG(運動圖像專家組)、MPEG2和MPEG4這樣的視頻協(xié)議中,以及其他協(xié)議中,有效載荷常常承載差別(differential)信息(即,該信息描述了幀如何從前面所傳輸?shù)膸兓?,并且因此在流中各個分組的有效載荷的尺寸可能發(fā)生顯著的變化。圖6中示出了更詳細(xì)的說明。
圖4a說明了中間網(wǎng)元14的簡化視圖。中間網(wǎng)元14包括FIFO存儲器50、用來接收分組的輸入、用于轉(zhuǎn)發(fā)分組的輸出54,以及用于控制FIFO50的控制電路56。在FIFO存儲器50中示出了分組A-E,以及空閑的空間。
如上所述,接收分組的速度可能快于發(fā)送分組的速度,這將導(dǎo)致FIFO溢出。溢出的一個原因可以是在DSLAM單元30與DSL調(diào)制解調(diào)器單元32間的DSL連接的有限帶寬。當(dāng)用戶住宅處正在請求更多頻道時,在DSLAM單元30處復(fù)用的用于該用戶住宅的分組數(shù)目將增大。通常,商用IP電視系統(tǒng)設(shè)計成使得帶寬將支持某一數(shù)量的用于住宅的數(shù)據(jù)流;然而,如果多個頻道同時發(fā)送大量的信息分組,那么可能會發(fā)生擁塞,這將需要丟棄數(shù)據(jù)流中的一些分組。
在優(yōu)選的實施例中,進(jìn)行丟棄的中間網(wǎng)元14可確定FIFO中不同分組的相對重要性。例如在視頻數(shù)據(jù)流中,代表壓縮視頻幀的分組被標(biāo)上優(yōu)先級指示符,其使流量管理功能能夠區(qū)分低優(yōu)先級分組與高優(yōu)先級分組。優(yōu)選地,首先(即在采取丟棄較高優(yōu)先級分組之前)丟棄低優(yōu)先級分組以給最終用戶保持最高質(zhì)量的視頻體驗??刂齐娐?6中的選擇性分組丟棄功能查找分組的應(yīng)用層頭以確定該分組是否是將被丟棄的候選者。
通常,丟棄的分組仍保留在FIFO存儲器50中直到它們到達(dá)輸出級54??刂齐娐?6維護(hù)著FIFO存儲器50內(nèi)的丟棄的分組的列表。通常,當(dāng)丟棄的分組到達(dá)FIFO存儲器50的輸出時,從FIFO存儲器50中丟棄該分組,而不會進(jìn)一步傳輸該分組。因為在網(wǎng)絡(luò)上傳輸分組的速度遠(yuǎn)小于從FIFO存儲器中倒空分組的速度,所以將分組標(biāo)記為被丟棄的可以快速釋放FIFO存儲器50中的空間。
在一個實際的實施例中,將頭信息與大得多的有效載荷分開存儲于FIFO中可能是有用的。在分組通過隊列前進(jìn)時,控制電路將對頭信息進(jìn)行操作,并且接著由輸出電路54附上該有效載荷(如果該分組沒有被標(biāo)記成被丟棄的)。
如前面所述,在現(xiàn)有技術(shù)條件下,目的裝置12不能區(qū)分延遲的分組和丟棄的分組?,F(xiàn)有設(shè)備在對信息丟失情況做反應(yīng)前被迫等待一最小量的時間,其等于該分組的到達(dá)延遲變化加上保護(hù)時間。在這個時間段結(jié)束時,目的裝置12將采取步驟來隱藏信息的丟失。
然而,在本發(fā)明中,當(dāng)由于統(tǒng)計復(fù)用功能內(nèi)的受控丟棄的原因,信息分組從應(yīng)用數(shù)據(jù)流中丟失時,進(jìn)行丟棄的裝置將僅丟棄分組的有效載荷,并且當(dāng)分組到達(dá)FIFO存儲器50的前端時,將發(fā)送一個小通告分組(包括例如原始分組的帶有“有效載荷被丟棄”指示符的更新的頭)以將該丟失信息通知目的裝置12。通過將通告分組控制得較小,該消息分組的傳輸將只對進(jìn)行丟棄的裝置中的擁塞問題產(chǎn)生最小的影響。然而,目的裝置12在接收到該消息分組并且得知特定的分組信息(數(shù)據(jù)內(nèi)容)將不會到達(dá)時,可以更好和更快地作出關(guān)于隱藏由缺少信息所造成的錯誤的決定。使用這個新方案,一旦提供信息的替代分組到達(dá)應(yīng)用就對受控的分組丟失做出反應(yīng)。在視頻情況下,目的裝置12可以在得知丟失信息時立即啟動像視頻偽像隱藏這樣的錯誤處理功能,這樣提高了給最終用戶的視頻體驗質(zhì)量。
圖4b說明了用較小的通告分組來替代丟棄的分組。在輸入52處,中間網(wǎng)元14接收到5個分組A-F,并且檢測到擁塞狀態(tài)。分組B,C和E被認(rèn)為是具有較低優(yōu)先級的分組并且被標(biāo)記成用于丟棄。在輸出處,將小得多的通告分組B’,C’和D’傳輸給目的裝置12。
圖5示出針對丟棄的分組的控制電路56的操作。從空閑狀態(tài)60開始,如果檢測到實際的或預(yù)期的擁塞,那么在狀態(tài)62中識別一個或多個用于丟棄的候選分組(并且控制返回至狀態(tài)60)。當(dāng)所標(biāo)識的分組到達(dá)FIFO存儲器50的輸出時,在狀態(tài)64將小通告分組發(fā)送給目的裝置12(并且控制返回至狀態(tài)60)。
盡管該優(yōu)選實施例是連同F(xiàn)IFO存儲器一起示出的,但是應(yīng)當(dāng)注意非FIFO可尋址的結(jié)構(gòu)也可被用于對分組進(jìn)行排隊。
圖6說明了本發(fā)明如何才能適用于基于IP傳送和H.264壓縮的視頻網(wǎng)絡(luò)服務(wù);應(yīng)該理解,本發(fā)明不受限于這種特定的標(biāo)準(zhǔn),而是可與各種各樣的不同應(yīng)用中的幾乎任何標(biāo)準(zhǔn)一起使用。圖6示出了用于由DSLAM單元提供的接入服務(wù)的分組結(jié)構(gòu)。用于這種應(yīng)用的頭格式由NAL(網(wǎng)絡(luò)適配層)來定義。依照當(dāng)前標(biāo)準(zhǔn),NAIL頭中的“F比特”必須設(shè)成“0”,但是如果有效載荷可能存在問題,那么NAL頭中的“F比特”可被設(shè)成“1”。本發(fā)明可以使用這個比特來指明有效載荷是否已被丟棄。為了這么做,進(jìn)行丟棄的網(wǎng)元將丟棄的分組的F比特設(shè)成“1”并且在傳輸該分組之前清除有效載荷。這將維護(hù)全部序列和頭信息,并且節(jié)省過載的并導(dǎo)致?lián)砣馁Y源。
在接收時,如果目的裝置12處的應(yīng)用檢測到F比特是“0”,那么接收器將該分組作為正常的來處理。如果F比特是“1”并且有效載荷是空,那么應(yīng)用啟動錯誤隱藏過程或者其他錯誤處理功能。
一種用于標(biāo)記帶有丟棄的有效載荷的分組的可選解決方案,使用圖6的分組結(jié)構(gòu)將跟在NAL后面的字節(jié)設(shè)置成空(零)以指示應(yīng)用有效載荷已經(jīng)被移除,而不是將F比特設(shè)置成“0”。在這種情況下,視頻源(編碼器/服務(wù)器)將保證當(dāng)向網(wǎng)絡(luò)傳輸分組時跟在NAL后面的字節(jié)總是非零的。當(dāng)檢測到跟在NAL后面的第一個字節(jié)中是空時,接收器將獲悉被移除有效載荷。
存在各種各樣可以使用現(xiàn)有的或未來的分組結(jié)構(gòu)實現(xiàn)本發(fā)明的方式,并且上面所給的例子僅僅說明了這樣的方式,即其中本發(fā)明的實現(xiàn)對于不支持本發(fā)明的網(wǎng)元可以是透明的。
在被通知了丟棄的分組時,接收裝置所采取的動作將取決于分組所承載的信息類型而變化。在點播音頻或視頻的情況下,基于接收裝置所緩存的視頻數(shù)據(jù)量,可能有時間請求重傳。然而,在并非總是可能進(jìn)行重傳的實時音頻或視頻應(yīng)用中,接收裝置可以通過確定丟失分組是高優(yōu)先級分組還是低優(yōu)先級分組而改變其動作。優(yōu)先級信息可在分組頭中明確注明或者可根據(jù)用于流傳輸信息的協(xié)議來確定。
圖7說明了目的裝置12(圖2中的IP接收器22)處的動作。在步驟70中,目的裝置接收指示流中的分組已經(jīng)被丟棄的通告分組。如果適用的話,在步驟72中禁止針對這個分組的分組重傳請求,并且在步驟74中開始應(yīng)用隱藏過程。這防止了在當(dāng)擁塞已經(jīng)是個問題的期間由于重傳請求造成的額外的擁塞。
相比現(xiàn)有技術(shù),本發(fā)明提供了顯著的優(yōu)點。僅僅發(fā)送消息頭的相對帶寬節(jié)省取決于被移除的有效載荷的大小。通常,在視頻應(yīng)用中,頭的大小僅是有效載荷的大小的一小部分,并且由此,進(jìn)行丟棄的裝置的帶寬節(jié)省是相當(dāng)可觀的。當(dāng)使用早期錯誤隱藏時,視頻質(zhì)量將得到明顯提高,而不是由于丟失分組造成的明顯的干擾信號(令人討厭的偽像)。
雖然已經(jīng)針對某些示例性的實施例詳細(xì)描述了本發(fā)明,但是本領(lǐng)域的普通技術(shù)人員將由此得到啟示作出這些實施例的各種變型和替代實施例。本發(fā)明包括落在權(quán)利要求書范圍內(nèi)的任何修改或替代實施例。
權(quán)利要求
1.一種網(wǎng)絡(luò),其包括用于發(fā)送信息的源裝置;用于接收來自所述源裝置的所述信息的目的裝置;以及用于在所述源裝置和目的裝置之間傳送信息的中間網(wǎng)元,其中所述中間網(wǎng)元包括電路,其用于識別用于丟棄的信息分組;以及響應(yīng)于識別一個或多個用于丟棄的分組,向所述目的裝置發(fā)送指示丟棄所述一個或多個分組的決定的通告。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò),其中所述目的裝置包括用于響應(yīng)于接收到所述小分組而糾正錯誤的電路。
3.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò),其中所述用于糾正錯誤的電路包括用于選擇性地禁止重傳請求和用于隱藏由于丟失信息所造成的錯誤的電路。
4.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò),其中所述信息分組包括頭信息和有效載荷信息。
5.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò),其中所述通告不包括來自被識別為用于丟棄的分組的有效載荷信息。
6.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò),其中所述通告包括被識別為用于丟棄的分組的頭信息。
7.一種用于在源裝置和目的裝置之間傳送信息的網(wǎng)元,其包括用于識別用于丟棄的信息分組的電路;以及用來向所述目的裝置發(fā)送通告的電路,所述通告指示要丟棄所述一個或多個分組的決定。
8.根據(jù)權(quán)利要求7所述的網(wǎng)元,其中所述信息分組包括頭信息和有效載荷信息。
9.根據(jù)權(quán)利要求8所述的網(wǎng)元,其中所述通告不包括來自被識別為用于丟棄的分組的有效載荷信息。
10.一種在源裝置和目的裝置之間傳遞信息的方法,其包括步驟在網(wǎng)元中接收分組;在存儲器中臨時存儲所述分組;當(dāng)識別出需要在所述存儲器中提供空間時,識別用于丟棄的分組;以及向所述目的裝置發(fā)送通告,指示要丟棄所述一個或多個分組的決定。
全文摘要
源裝置(10)經(jīng)過中間網(wǎng)元(14)向目的裝置(12)發(fā)送信息。如果中間網(wǎng)元(14)需要丟棄一個或多個信息分組,那么它向目的裝置(12)發(fā)送一個較小的信息分組。當(dāng)接收到該信息分組時,目的裝置可以立即開始糾正過程。
文檔編號H04L12/56GK101026555SQ20061016879
公開日2007年8月29日 申請日期2006年12月20日 優(yōu)先權(quán)日2005年12月21日
發(fā)明者唐納德·P·茲里尼, 弗雷德里克·H·斯庫格 申請人:美國阿爾卡特資源有限合伙公司