視頻緩存的制作方法
【技術領域】
[0001 ]本申請涉及管理對視頻內容的流傳輸請求的方法,具體地其中,修改與視頻序列相關聯的清單文件以考慮已本地緩存的內容。
【背景技術】
[0002]自適應視頻流傳輸技術正變得更加普遍,其中視頻片段被以多個速率/分辨率編碼并且存儲在網絡中的一個或者多個服務器中。客戶端首先下載清單文件,該清單文件描述了每個片段的可用速率/分辨率以及每個片段位于哪里(例如,內容服務器)。客戶端隨后利用清單文件與客戶端具有可用的帶寬的估計來請求能夠實現以最佳質量播放該視頻而不停滯的合適片段。可能目前被最廣泛采用的自適應流傳輸標準是MPEG DASH(通過HTTP的動態自適應流傳輸)C=DASH提供以媒體再現描述文件或MPD文件形式的清單。蘋果公司的自適應視頻流傳輸技術,HLS(HTTP現場流傳輸),提供播放列表文件(m3u文件)形式的清單。
[0003]緩存是可以被用于將內容置于較接近客戶端的常規技術,并且因此減少了客戶端需要進行的網絡穿透來獲取內容,從而降低了延時且增加了帶寬。
[0004]當前的內容服務器趨向于將內容緩存在CDN(內容分發網絡)中。但是,這些通常是在網絡的核心并且因此緩存的優勢沒有相對于視頻流傳輸產生很大差別。緩存節省了網絡的傳輸的成本并且降低了通過核心的流量,但是沒有對于到客戶端的傳輸產生很大差別,因為易變性是(尤其是在移動中)很可能趨向于網絡的邊緣。
[0005]典型地CDN通過使用HTTP重定向(HTTP redirect)將內容重定向到緩存。首先對中央服務器進行HTTP請求(使用例如預獲取的清單),并且該服務器隨后執行查找從而發現保存了所請求的內容的最接近于客戶端的緩存。隨后進行到該位置的HTTP重定向以使客戶端獲得該內容。
[0006]內容還可以被緩存在本地裝置上的網絡(web)瀏覽器中。每當針對一些內容進行了請求,依賴于HTTP報頭,該內容可能被緩存在本地裝置中。另選地,很多系統使用網絡(web)代理來緩存內容,其可以被本地使用而不需要重連接到原始服務器。
[0007]但是,在自適應視頻流傳輸系統中利用緩存會帶來問題。客戶端可以在基于清單的決定之后從內容服務器中請求視頻片段,而沒有意識到在緩存中可能具有可以很容易進行流傳輸的較高質量的版本。
【發明內容】
[0008]本發明的實施例的目的是提供將已緩存內容考慮在內的改進的自適應流傳輸方法。
[0009]根據本發明的一個方面,提供了一種在網絡中管理對視頻序列的流傳輸請求的方法,其中,該視頻序列包括多個片段,并且該多個片段中的每個片段被以多個質量設置編碼從而產生多個編碼片段,其中,該方法包括以下步驟:
[0010]i)接收與所述視頻序列相關的清單文件,其中,該清單文件包括標識能夠取得相應編碼片段的在網絡中的標識符,針所述視頻序列的處于各質量設置的每個片段包括一個標識符;
[0011]ii)識別本地存儲的編碼的片段;
[0012]iii)如果所述本地存儲的編碼片段具有更高質量設置,則通過針對所述視頻序列的給定片段,用所述本地存儲的編碼片段的標識符替換針對處于所述質量設置中的一個質量設置的所述給定片段的標識符,來產生更新后的清單文件,
[0013]iv)針對視頻流傳輸請求,向視頻客戶端提供所述更新后的清單文件。
[0014]該清單文件可以從內容服務器接收。所述本地存儲可以是緩存器。
[0015]優選地,每個片段包括一個或更多個時間塊。所述質量設置可以是比特率。
【附圖說明】
[0016]為了更好地理解本發明,通過僅僅舉例的方式來參考附圖,其中:
[0017]圖1是本發明的示例的系統示意圖;
[0018]圖2是本發明的示例的用于完整方法的處理流程圖;
[0019]圖3是示出了本發明的示例中的同步模塊的操作步驟的流程圖;
[0020]圖4a是示出了示例性清單文件的表格。
[0021]圖4b是示出了在本發明的示例中的示例性的更新后的清單文件的表格。
【具體實施方式】
[0022]在此將參考特定示例對發明進行描述。但是,本發明并不限制于這樣的示例。
[0023]本發明的示例提出向視頻客戶端提供修改后的清單以流傳輸與該清單關聯的視頻序列的方法。修改原始清單以用對較高質量或比特率的等同片段的引用來替換對較低質量或比特率的片段的位置的引用,如果本地緩存了該較高質量的片段。隨后,當該視頻客戶端確定應當被流傳輸的片段的給定質量時,其使用修改后的清單來取得針對該片段的合適的引用,并且如果進行了替換,則將提供對較高質量的替換片段的引用。因此,將本地緩存考慮在內,該客戶端將總是被提供最高可能質量的片段。
[0024]圖1示出了包括連接到網絡120的客戶端110的系統100,其中該網絡包括內容服務器130。客戶端110是PC,但是可以理解的是該客戶端還可以是適當配置的智能TV、移動裝置、機頂盒或類似的具有相同單元,并被構造成通過網絡120連接到內容服務器130。
[0025]客戶端110包括視頻播放器140、同步模塊150和緩存器160。視頻播放器140包括在程序模塊144的控制下操作的處理器142,其可以存儲在合適的存儲器中,例如硬盤或者ROM。該視頻播放器140能夠接收并且解碼視頻內容以輸出給合適的顯示器(未示出)。該視頻內容被本地存儲或通過網絡120從該內容服務器130流傳輸。
[0026]緩存器160存儲通過該視頻播放器140播放的內容。如后面將要詳細描述的,該視頻內容可以包括編碼后的視頻內容的片段以及完整的視頻序列。緩存器160被認為是本地存儲器,在于存儲在那里的數據可以相對于如果遠程存儲在網絡120中更快被取得。以這一方式本地存儲數據還被稱為緩存。在流傳輸那些片段之后,視頻片段可以被緩存,或在通過視頻播放器140的任何請求之前,通過客戶端被先行地緩存。以這種方式緩存片段,并且隨后將該片段從緩存器160中傳輸到視頻播放器140而不是從遠程服務器幫助降低了延時并且在網絡使用率而言是更為有效的。
[0027]視頻播放器140還可以進行對遠程存儲的視頻內容的請求。遠程視頻內容的一個源是該內容服務器130。該內容服務器130包括數據存儲器132,其中存儲了視頻內容。該內容服務器130因此提供視頻內容給該客戶端110以及任何其他產生適當請求的裝置。在本發明中,使用自適應流傳輸方案,其中視頻內容或視頻序列的給定段被分割為多個連續時間部分或片段,并且每個片段被以多個比特率或得到不同比特率的質量設置編碼。以恒定感知質量編碼在申請人的國際專利申請W02009/060178中描述。例如ITUT ’ s H264標準的視頻壓縮方案可以被用于對片段編碼,其中每個片段通常是2到10秒長并且優選地包括全部數量的圖像組(GOP),從而實現在片段邊界處的平滑片段之間的切換。編碼后的片段存儲在數據存儲器132中。
[0028]在此示例中,視頻序列A被劃分成η個連續的時間片段:片段j、片段_2、片段_3丨片段_n。每個片段根據H264標準以3個不同比特率編碼:率_1、率_2以及率_3。因此,視頻序列得到(nX3)個編碼片段,其中的每個存儲在該本地存儲器132中。
[0029]數據存儲器132還存儲與每個視頻序列關聯的清單文件,其描述了該序列的每個編碼片段的可用比特率以及在哪里他們可以被定位(由于片段可以被緩存在一些中間介質節點以及在內容服務器本身)。在自適應流傳輸下,視頻播放器140進行針對以其將例如網絡帶寬考慮在內以及播放緩沖等級而計算出的其可以支持的比特率而編碼的片段的請求。視頻播放器140利用該清單文件來確定編碼片段的具體哪個被請求,以及將請求定向到哪里。
[0030]在此下面描述的本發明的示例是基于MPEGDASH自適應視頻流傳輸標準。在MPEGDASH下,使用清單文件來確定片段中的哪個被請求,清單文件采用媒體呈現描述MH)文件的形式