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