專利名稱:多視頻流傳輸中的帶寬分配控制的制作方法
技術領域:
本發明涉及通過電信網絡傳輸視頻信號。
背景技術:
通過諸如因特網的數據網絡傳輸視頻目前很普遍。為了接收這種信號,用戶可以使用適當配置的計算機或者諸如“機頂盒”(STB)的其他接收機。STB越來越普及并且可以配備IP連接,該IP連接允許通過因特網流傳輸或下載諸如視頻的內容。通過因特網傳送的電視(通常被稱為IPTV)是這種增長的服務的良好示例。當通過IP網絡流傳輸視頻數據時,不保證所發送的數據將到達其目的地。當網絡經歷擁塞或者其它問題時,數據包的傳輸將出現延遲并且一些包甚至可能丟失。為了提供更可靠的端到端的數據傳送,通常使用傳輸控制協議(TCP)作為傳輸協議。實際上,由于很多原因而在視頻流傳輸系統中普遍使用TCP,但是主要是因為TCP提供確保可靠傳送并且管理網絡擁塞的機制。例如,TCP實現可靠性的一種方式是使接收機必須向發射機確認接收了全部數據。如果在預定時間段之后數據包仍然未確認,則TCP假定沒有收到該包并且發射機重傳該相同的包。TCP管理擁塞的一種方式是通過作為網絡中的擁塞的函數來減小數據的傳輸速率。考慮使用TCP傳送多個視頻流并且全部共享競爭網絡的情形。當發生擁塞時,TCP 擁塞控制算法將迫使全部流降低(back off)它們的傳送速率,以使得能夠清除擁塞。每個流以固定系數降低并且最終全部流將穩定在大致相同的帶寬(假設相似的往返時間)。使用這種方法不是沒有問題。如果帶寬變得少于視頻內容要求的帶寬,則視頻的播放將延遲(stall),直到接收到足夠的數據以重新開始播放為止。可以通過以下處理來緩解這種情形通過在接收機處緩沖比播放所需的更快地預先接收到的數據,以及通過切換所發送的視頻的質量,使得所需的帶寬降低到少于或者等于網絡現在提供的帶寬。有時還通過TCP傳送速率自適應、比特率可變的視頻流,其中所發送的視頻質量或者比特率隨著時間而調節。然而,以上的擁塞情形仍然會發生,并且當網絡擁塞時針對相同視頻質量分別具有不同平均編碼比特率的兩個流仍將穩定到大致相同的經降低的傳輸比特率。這可能導致一些特別不希望的結果,其中第一個流初始以高比特率編碼,諸如具有高幀活動性的視頻序列,諸如體育序列,并且第二序列以低比特率編碼,例如具有低幀活動性的視頻序列,諸如新聞或者戲劇序列。當網絡經歷擁塞時,TCP將兩個流的可用帶寬削減(cut)為大致相同級別。這將影響第一個流,該第一個流以較高的比特率編碼并且由此具有比第二個流更高的帶寬要求, 第二個流以較低的比特率編碼并且由此仍將具有足夠的帶寬。換句話說,第一個高比特率的流將比第二個低比特率的流更明顯地受影響,因為第一個流與第二個流被給予相同的經降低的帶寬。這將導致向每個用戶傳送的視頻的質量隨著時間改變,并且質量根據用戶觀看的視頻片段的類型而在用戶之間改變。緩解TCP下經歷的這些問題中的一些的流傳輸視頻的另一途徑是使用恒定比特率傳送系統,其中視頻流可用的比特率是固定的,例示通過數據的傳輸開始之前的預留方案。該傳送方法容易管理,但是也不是沒有問題。再次考慮以上的兩個視頻流的示例,其中第一個流具有活躍的幀,諸如體育片段, 并且第二個流具有較不活躍的幀,諸如新聞片段。預留并且使用來傳送兩個流的比特率固定在預定速率(該預定速率被認為對大多數應用并且在針對兩個流的這種情況下是足夠的)。然而,第二個流實際上不要求那么多的帶寬,因為在第二序列的活動性較低的情況下, 編碼的比特率能夠比第一序列的低很多。使用該固定帶寬傳輸的第二個流由此浪費其帶寬的大部分。如果第二個流增加編碼速率以利用預留的整個帶寬,則得到的視頻的質量很可能比第一個流高很多。然而,該質量的增加不一定如觀眾感知的那樣明顯,并且由此可能浪費。另外,具有該冗余帶寬不是對網絡資源的有效利用。當開始考慮在序列自身期間活動性改變的視頻序列時以上問題突出。例如,相對靜止的新聞宣讀序列可能夾雜著非常活躍的足球片段的精彩畫面。國際專利W02008/119%4描述了一種通過競爭網絡傳送視頻流的方法,其中每個流以恒定質量傳送。國際專利W02004/047455描述了一種以分段恒定比特率通過網絡傳送可變比特率序列的方法,其中每個段的速率單調減小。得到的比特率的曲線(profile)被稱為“下樓”函數。美國專利US-B1-6,259,733描述了一種統計復用的方法,其中多個視頻源被同時編碼并且復用到單個信道以進行傳輸。針對空間和時間復雜度對這些視頻源進行分析,以得到比特率的相對需求,該比特率的相對需求根據重要系數進行了比例調整(scale)(例如對于電影高,對于新聞低),并且隨后使用比特率的相對需求來劃分帶寬。美國專利申請2006/2M762描述了一種估計視頻序列的編碼復雜度并且使用所估計的編碼復雜度來確定編碼的比特率的方法。
發明內容
根據本發明,提供了一種通過網絡從服務器以可選擇的質量傳輸視頻序列的方法,其中,所述服務器操作可響應于控制參數進行操作的網絡控制協議,以與所述控制參數的值成比例地向所述服務器分配可用傳輸容量的共享,該方法包括以下步驟確定在所述序列的多個連續時間段上以基準質量成功地傳輸所述序列所需的多個傳輸速率值;與所述傳輸速率值成比例地設置所述控制參數;在對應的時刻向所述控制協議發送所述控制參數;傳輸以根據所述網絡對于所述服務器可用的實際傳輸容量間或地選擇的質量進行了編碼的視頻。本發明的其它方面在權利要求書中闡述。
為了更好地理解本發明,下面將僅僅通過示例方式參照附圖,其中圖1是示出用于以恒定質量對視頻序列進行編碼的比特率的變化的曲線圖2是本發明的實施方式中的系統的網絡圖;圖3是示出以三個質量級別編碼的兩個不同視頻片段的圖;圖4是本發明的第二實施方式中的系統的網絡圖;圖5是示出以恒定質量級別2. 6,3. 4、和4. 2編碼三次的視頻序列的下樓比特率曲線的曲線圖;以及圖6是示出質量2. 6和4. 2的下樓比特率相比于質量3. 4的下樓比特率的比率的曲線圖。
具體實施例方式提出以恒定質量而不是恒定比特率對通過競爭網絡傳輸的視頻流進行編碼。如果以恒定質量對視頻序列進行編碼,則所使用的比特率很可能急劇變化。圖1示出針對以恒定質量級別編碼的90秒視頻片段的比特率。在本示例中,已經通過將量化器(quantiser) 參數(qp)設置為觀確定了質量級別。該量化器參數有效地控制編碼的質量一量化器越小, 質量越好。該片段是多個視頻序列的代表,其中在任意給定時刻比特率根據場景有多復雜而改變。例如,具有很多活動或者運動的幀序列要求更高的比特率來以固定質量編碼。圖1中的兩個不同的跡線(trace)是針對兩個不同的緩沖量。更動態的跡線是比特率為對3個幀使用的平均比特率的情況,更平滑的跡線是使用了 192個幀的滑動窗口的情況。由此,通過增加緩沖量,比特率被有效地平滑。用于任何實際流傳輸系統的比特率將如上所述作為編碼特定內容序列的難度的函數而明顯改變。當比較不同風格的視頻片段時該變化甚至更加明顯。例如,體育片段可能要求更高的平均比特率并且由于通常場景的高活動性而更多地波動,而新聞報道片段可能要求低得多的比特率并且相對靜態。因此,為了以恒定質量向共享競爭網絡的用戶傳送視頻流,對全部流使用恒定帶寬方法是低效的。必須使得向每個流分配的帶寬能夠根據該時刻流傳輸的視頻的精確需求及時地動態改變,并且在任何網絡帶寬限制之內。圖2示出系統200的示例,系統200包括視頻編碼器206,視頻編碼器206連接到視頻存儲器208,視頻存儲器208進而連接到服務器210。服務器210能夠通過IP網絡214 與兩個接收機(接收機—A 216和接收機_8 218)中的每一個通信。接收機216和218能夠向服務器210請求視頻片段。IP網絡214在經修改的TCP設置(以下在本發明的實施方式中描述)下工作。編碼器206對視頻序列進行編碼以傳輸到接收機216和218。在此示出了兩個視頻序列,序列_A202和序列_B 204。編碼器206能夠以各種比特率編碼并且向數據存儲器 208或者直接向服務器210輸出經編碼的視頻序列。數據存儲器208用于存儲經編碼的視頻序列,直到它們被服務器210請求或者需要為止。服務器210從數據存儲器208或者直接從編碼器206獲取經編碼的視頻序列,并且通過IP網絡214將它們作為視頻流發送給兩個接收機216和218中的任何一個。序列_A 202被請求并且將(在編碼之后)被發送給接收機_A 216,并且序列_8 204被請求并且將被發送給接收機_8 218。這些接收機例如可以是經適當配置的計算機或者機頂盒,并且適用于解碼所接收的視頻流并且將經編碼的序列解碼為原始視頻以由用戶觀看。
當IP網絡214中發生擁塞時,使用經修改的網絡控制機制來處理該擁塞。在本示例中,標準TCP協議被修改以處理該擁塞。具體地,構建在TCP中的擁塞控制算法的動力學 (dynamics)被修改,以使得在給定時間點通過IP網絡214分配給任何視頻流的帶寬的一部分是內容的帶寬需求的函數。由此,越復雜的視頻序列,諸如體育序列,應被給予比諸如新聞報道片段的較不復雜的序列更多的帶寬。同時,通過IP網絡214傳輸的視頻流被修改, 以使得它們以擁塞控制機制所允許的最大比特率傳輸。目前根據TCP,擁塞控制是使用滑動窗口機制來實現的。滑動窗口的長度確定要求確認之前發送了多少數據。比特率是該窗口的大小以及往返時間(發送數據和接收到確認之間的時間)的函數。為了確保更復雜的視頻序列得到更大的帶寬共享,擁塞控制算法的動力學被改變,以使得更難或者更復雜的內容具有更大的滑動窗口。實際上,TCP的“貪婪程度(greediness) ”被修改。可以使用多種方法來改變TCP的“貪婪程度”。一種方法是通過修改退避 (backoff)系數。通常,當發生包丟失時(假設包丟失是由于擁塞而造成的),TCP將與出問題的流相關聯的滑動窗口的大小(退避系數)減半。在本發明的一個實施方式中,可以調整該退避系數,使得當檢測到包丟失時滑動窗口被設置為例如其原始大小的3/4。與當退避系數是一半時的情形相比,效果將是被影響的流將比正常的“更貪婪”并且確保更大的帶寬。于是在該貪婪TCP會話上發送的流能夠以比TCP會話不貪婪的情況下可能的質量更高級別的質量來發送。這種被稱為MulTCP 的系統已經由 Crowcroft 和 Oechslin (J. Crowcroft and P.Oechslin, “ Differentiated end-to-end Internet services using a weighted proportional fair sharing TCP" . In ACM SIGCOMM Computer Communication Review archive, volume 28,pages 53-69, July 1998)進行了描述。MulTCP 與傳統的 TCP 不同之處在于其采用參數N,該參數N允許流獲得可用帶寬的一部分(等于傳統TCP的單個流的帶寬的N倍)。傳統TCP的標準擁塞控制機制是加性增長乘性減小(AIMD)算法,其在MulTCP 中被修改以模擬N個TCP流的行為。N的值可以是非整數值1. 5將導致比單個流侵略性 (aggressive)高 50%的流。在我們的共同未決歐洲專利申請(代理編號“A31751”、與本申請同一天提交并且標題為“Data Transmission”)中被稱為“ECN skipping(ECN跳過)”的另選系統可以用作對作為MulTCP的這種系統的替換。顯性擁塞通知(ECN) (K. Ramakri shnan,S.Floyd, D. Black, “ The Addition of Explicit Congestion Notification (ECN) to IP ", IETFRFC21368, September 2001)是通過使用包標記(marking)而不是包丟棄(drops)來向端點通知擁塞的協議。配備活動隊列管理的路由器能夠標記IP報頭,在緩沖器溢出以及所導致的包丟失之前向端點發信號通知擁塞。幾乎不需要重傳(理想條件下),這提高了整體吞吐量。在ECN的傳統實現中,當發生擁塞時前向路徑中的一些包將被標記,并且該標記將在后向路徑包中被反射(echo)回發射機。當接收到這種回波(echo)時發射機將按照與包丟失的情況下相同的方式調整TCP參數,并且降低其傳輸速率。在“ECN跳過”方案中,接收機不將全部擁塞標記反射回發射機,而是根據侵略系數反射其中的一部分。發射機通過接收更少的反射標記,與傳統的ECN發射機相比,較不頻繁地降低其傳輸速率,并且因此獲得網絡帶寬的更大共享。
MulTCP和“ECN跳過”是允許傳輸路徑獲得可用帶寬的不均等共享的傳輸協議修改的兩個示例,允許未修改的傳輸協議的N倍帶寬。還可以采用具有類似控制屬性的其他技術。兩種技術均被示出為能夠穩定并且一致地獲得高達大約3或4倍的傳統傳輸協議的比特率;它們還可以通過略小于1的N進行配置以獲得比傳統的傳輸協小的比特率。每個特定傳輸協議具有能夠有效工作的不同的N的范圍。我們旨在在該范圍內盡可能地操作傳輸協議。下面描述通過以固定基準質量級別對視頻序列的測試集合進行編碼并且計算及時傳送經編碼的數據所要求的“下樓”傳送計劃(下面說明),如何確定能夠用于歸一化要求的比特率值的適當基準比特率,使得對于大多數視頻內容,帶寬分配系數N將在傳輸協議的最優范圍內。為了簡化,在本說明書中假設N的最優范圍在1到4之間,盡管實際中將根據所使用的傳輸協議而改變。以可變比特率編碼的視頻序列能夠以分段恒定比特率通過網絡傳送,每個段的速率單調減小。這被公認為首先由Mohammed (ihanbari教授提出。他將得到的比特率曲線稱為“下樓”函數。根據我們的被公開為W02004/047455的國際專利申請(Ghanbari和Sun),可變比特率的視頻的傳送可以進行以下分析在接收機處考慮一些任意時間段(但是等于整數個幀周期),從解碼器開始對幀g 解碼的時間tg延伸到解碼器開始對幀h解碼的時間th。該時間段的持續時間是h_g個幀周期,即th_tg。進一步假設該時間段期間的傳輸速率是A比特/幀周期。在時間tg,接收機必須已經接收了直至并且包括幀g的全部幀的比特,即
權利要求
1.一種通過網絡從服務器以可選擇的質量傳輸視頻序列的方法,該方法使用可響應于控制參數進行操作的網絡控制協議,以與所述控制參數的值成比例地向所述服務器分配可用傳輸容量的共享,該方法包括確定多個傳輸速率值;與所述傳輸速率值成比例地設置所述控制參數,當所述傳輸速率值變化時向所述控制協議發送所述控制參數;傳輸以根據所述網絡對于所述服務器可用的實際傳輸容量而調節的質量進行了編碼的視頻,所述方法的特征在于選擇基準質量;以及將所述多個傳輸速率值確定為在所述序列的多個連續時間段上以所選擇的基準質量成功地傳輸所述序列所需的傳輸速率。
2.根據權利要求1所述的方法,其中,通過以下步驟確定所需的傳輸速率值(a)將所述序列分為多個段,其中,第一段是所述序列的開始的部分,該部分的每幀編碼比特的平均數量大于或者等于任何更短的這種部分的每幀編碼比特的平均數量,并且其中,各個隨后的段是緊接著先前段的部分,所述先前段的每幀編碼比特的平均數量大于或者等于任何更短的這種部分的每幀編碼比特的平均數量;以及(b)針對每個段確定比特率。
3.根據權利要求2所述的方法,其中,所述序列的第一段是所述序列的開始的部分,該部分的每幀編碼比特的平均數量大于或者等于任何可能的這種部分的每幀編碼比特的平均數量,并且其中,各個隨后的段是緊接著先前段的部分,所述先前段的每幀編碼比特的平均數量大于或者等于任何可能的這種部分的每幀編碼比特的平均數量。
4.一種按照時間交疊的方式通過網絡傳輸第一視頻序列和第二視頻序列的方法,該方法包括使用權利要求1、2或3所述的方法通過所述網絡傳輸所述第一視頻序列;以及使用權利要求1、2或3所述的方法通過所述網絡傳輸所述第二視頻序列;其中,所述基準質量對于這兩個序列相同并且所述控制參數與所述傳輸速率值的比率對于這兩個序列相同。
5.根據前述權利要求中的任意一項所述的方法,其中,所述控制參數是相應傳輸速率值與根據對以所述基準質量編碼的訓練序列的統計分析而確定的基準傳輸速率的比率。
全文摘要
通過網絡從服務器以可選擇的質量傳輸視頻序列。網絡控制協議響應于控制參數進行操作,以與控制參數的值成比例地向服務器分配可用傳輸容量的共享。首先,確定在所述序列的多個連續時間段上以基準質量成功地傳輸所述序列所需的多個傳輸速率值;然后與所述傳輸速率值成比例地設置所述控制參數,并在對應的時刻向所述控制協議發送所述控制參數。隨后可以傳輸以根據所述網絡對于所述服務器可用的實際傳輸容量間或地選擇的質量進行了編碼的序列。
文檔編號H04L29/06GK102318311SQ201080007433
公開日2012年1月11日 申請日期2010年2月5日 優先權日2009年2月12日
發明者S·C·阿普雷比, 伊恩·巴里·克拉布特里, 帕特里克·約瑟夫·馬爾羅伊, 羅里·斯圖爾特·特恩布爾, 邁克爾·埃爾林·尼爾森 申請人:英國電訊有限公司