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