用于接收http自適應(yīng)流視頻的方法和客戶端裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及HTTP自適應(yīng)流傳輸(HAS)領(lǐng)域,特別地,涉及確定將被請(qǐng)求的塊的標(biāo)稱比特率的問題。
【背景技術(shù)】
[0002]在開放式因特網(wǎng)上傳送視頻的重要技術(shù)是超文本傳輸協(xié)議(HTTP)自適應(yīng)流傳輸(HAS)。該技術(shù)具有易于部署的優(yōu)點(diǎn),因?yàn)樗绕渌鼌f(xié)議更容易穿越防火墻,具有從傳輸控制協(xié)議(TCP)繼承的固有擁塞控制,可以利用現(xiàn)有的HTTP基礎(chǔ)架構(gòu),特別是HTTP緩存和內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)節(jié)點(diǎn)。
[0003]根據(jù)HAS的設(shè)計(jì)原理,視頻以不同比特率進(jìn)行編碼,并且客戶端可以在指定時(shí)刻在這些比特率之間切換。通常,兩個(gè)連續(xù)的切換時(shí)間之間的視頻區(qū)間稱為視頻片段,而與該區(qū)間相關(guān)聯(lián)的比特串稱為塊(即,存在與比特率版本一樣多的可用的不同塊)。
[0004]目前,還沒有完全滿意的選擇相對(duì)于網(wǎng)絡(luò)性能最適合的塊的機(jī)制。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提供用于接收HAS視頻流的更滿意的方法和客戶端。
[0006]根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于從服務(wù)器接收HTTP自適應(yīng)流視頻的方法,該方法包括:在可操作地連接到服務(wù)器的客戶端處:在接收到視頻的塊后,確定從服務(wù)器到客戶端的傳輸?shù)漠?dāng)前傳輸速率;至少根據(jù)當(dāng)前傳輸速率,獲取與預(yù)期的未來傳輸速率有關(guān)的統(tǒng)計(jì)信息;從統(tǒng)計(jì)信息中導(dǎo)出目標(biāo)傳輸速率;以及根據(jù)目標(biāo)傳輸速率,請(qǐng)求視頻的后續(xù)塊。
[0007]根據(jù)本發(fā)明的方法的優(yōu)點(diǎn)在于:基于當(dāng)前(可選地,也可以是最近的)傳輸速率觀測(cè)以及在統(tǒng)計(jì)上與其關(guān)聯(lián)的預(yù)期的未來傳輸速率,預(yù)計(jì)在傳輸速率方面的網(wǎng)絡(luò)性能。這在客戶端能夠在不同時(shí)刻在不同類型的網(wǎng)絡(luò)上運(yùn)行時(shí)特別有關(guān)。特別地,客戶端與服務(wù)器之間的網(wǎng)絡(luò)可以包括無線鏈路(例如,IEEE 802.1lWLAN鏈路、諸如UMTS、3G、LTE等的移動(dòng)鏈路、……)和/或有線鏈路(例如,IEEE 802.3 “以太網(wǎng)”鏈路、PLC鏈路、xDSL鏈路、同軸鏈路等)。通過考慮將(預(yù)期的)未來網(wǎng)絡(luò)行為關(guān)聯(lián)到所觀測(cè)的行為的統(tǒng)計(jì),可以為目前實(shí)際的網(wǎng)絡(luò)拓?fù)洳渴鸶硐氲恼?qǐng)求策略。因此,本發(fā)明可以用易于評(píng)估的度量來實(shí)施,即,從服務(wù)器到客戶端的網(wǎng)絡(luò)鏈路上的傳輸速率。
[0008]在根據(jù)本發(fā)明的方法的實(shí)施例中,統(tǒng)計(jì)信息包括直方圖,導(dǎo)出包括根據(jù)直方圖計(jì)算預(yù)定分位數(shù)。
[0009]該實(shí)施例的優(yōu)點(diǎn)在于:該方法不僅向未來提供當(dāng)前(可選的,過去的)網(wǎng)絡(luò)性能的適當(dāng)推斷,而且暗示未來網(wǎng)絡(luò)性能沒有被高估的某個(gè)置信水平。后者很重要,因?yàn)閷?duì)網(wǎng)絡(luò)性能的高估和對(duì)太大而鑒于實(shí)際的未來網(wǎng)絡(luò)性能而不能及時(shí)傳送的塊的相關(guān)請(qǐng)求可能導(dǎo)致緩沖欠載和在HAS流的最終用戶的體驗(yàn)質(zhì)量上的不可接受的下降(甚至可能是視頻圖像的“凍結(jié)”或完全消失)。
[0010]根據(jù)操作者和/或用戶的需求,可以選擇不同的分位數(shù)。優(yōu)選地,選擇分位數(shù)以覆蓋至少50%的最佳情況(此時(shí),所選擇的分位數(shù)是中位數(shù))或者75%的最佳情況(即,分位數(shù)是25百分位)或者甚至95%的最佳情況(即,分位數(shù)是95百分位)或者其間任何適合的分位數(shù)。
[0011]在特定實(shí)施例中,分位數(shù)是5百分位、I百分位、0.1百分位中的一個(gè)。
[0012]這些實(shí)施例的優(yōu)點(diǎn)在于可用于提供能夠在沒有由于網(wǎng)絡(luò)性能問題而造成的中斷的情況下使用流式內(nèi)容的極大保障水平。
[0013]在實(shí)施例中,根據(jù)本發(fā)明的方法還包括用所確定的當(dāng)前傳輸速率更新統(tǒng)計(jì)信息。
[0014]該實(shí)施例的優(yōu)點(diǎn)在于:系統(tǒng)在所觀測(cè)的網(wǎng)絡(luò)性能的模式被累積地存儲(chǔ)為統(tǒng)計(jì)信息以改進(jìn)后續(xù)的目標(biāo)速速率的的意義上是自主學(xué)習(xí)的。優(yōu)選地,不僅使用當(dāng)前會(huì)話的信息,而且還在客戶端的若干或全部會(huì)話中構(gòu)建認(rèn)知(可選地,累積認(rèn)知)。
[0015]在特定實(shí)施例中,統(tǒng)計(jì)信息從與客戶端分離的網(wǎng)絡(luò)節(jié)點(diǎn)獲取并在該網(wǎng)絡(luò)節(jié)點(diǎn)處更新,網(wǎng)絡(luò)節(jié)點(diǎn)被配置為存儲(chǔ)來自多個(gè)客戶端的統(tǒng)計(jì)信息。
[0016]該實(shí)施例的優(yōu)點(diǎn)在于:由于大量客戶端的貢獻(xiàn),更準(zhǔn)確的統(tǒng)計(jì)被收集,因此,對(duì)于所涉及的所有客戶端實(shí)現(xiàn)更好的性能。
[0017]在特定實(shí)施例中,傳輸速率信息與諸如相關(guān)聯(lián)的網(wǎng)絡(luò)類型、一天中的時(shí)間或一周中的天的輔助信息關(guān)聯(lián)地存儲(chǔ)在網(wǎng)絡(luò)節(jié)點(diǎn)處。
[0018]該實(shí)施例的優(yōu)點(diǎn)在于:通過僅使用與正被服務(wù)的客戶端的實(shí)際情況最相關(guān)的信息,可以更準(zhǔn)確地應(yīng)用統(tǒng)計(jì)信息。
[0019]在根據(jù)本發(fā)明的方法的實(shí)施例中,統(tǒng)計(jì)信息的獲取在啟動(dòng)客戶端后發(fā)生。
[0020]在該實(shí)施例中,從統(tǒng)計(jì)數(shù)據(jù)庫(其可以存儲(chǔ)在客戶端內(nèi)部的組件上或者存儲(chǔ)在可選地聚集來自不同客戶端的統(tǒng)計(jì)的單獨(dú)的網(wǎng)絡(luò)節(jié)點(diǎn)上)中獲取最新的相關(guān)統(tǒng)計(jì)是客戶端設(shè)備的啟動(dòng)或初始化序列的一部分。
[0021]在根據(jù)本發(fā)明的方法的實(shí)施例中,統(tǒng)計(jì)信息的獲取間隔地發(fā)生。
[0022]在該實(shí)施例中,統(tǒng)計(jì)信息以某些時(shí)間間隔提供給客戶端。這些間隔可以是固定的、以預(yù)先確定的方式隨時(shí)間可變的、或甚至取決于某些所觀測(cè)的或預(yù)計(jì)的網(wǎng)絡(luò)狀況的變化。統(tǒng)計(jì)信息的傳輸可以在客戶端的發(fā)起下發(fā)生(即,客戶端例如通過輪詢托管有數(shù)據(jù)庫的服務(wù)器來從數(shù)據(jù)庫中拉出相關(guān)信息)或者在服務(wù)器的發(fā)起下發(fā)生(即,服務(wù)器將統(tǒng)計(jì)信息的更新推送到一個(gè)或多個(gè)客戶端)。在客戶端設(shè)備最初啟動(dòng)的時(shí)刻與該客戶端設(shè)備開始消耗HAS業(yè)務(wù)的時(shí)刻之間流逝了許多時(shí)間的情況下(這例如可以是用于移動(dòng)設(shè)備的情況),該實(shí)施例避免在計(jì)算用于將被請(qǐng)求的HAS塊的所需要的質(zhì)量等級(jí)時(shí)使用過時(shí)的統(tǒng)計(jì)。
[0023]根據(jù)本發(fā)明的一個(gè)方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,其包括被配置為執(zhí)行如上文所描述的方法的代碼工具。
[0024]根據(jù)本發(fā)明的一個(gè)方面,提供了一種用于從服務(wù)器接收HTTP自適應(yīng)流視頻的裝置,該裝置包括:網(wǎng)絡(luò)接口,其適于可操作地將裝置連接到服務(wù)器;數(shù)據(jù)庫接口,其適于可操作地將裝置連接到統(tǒng)計(jì)數(shù)據(jù)庫;以及處理器,其可操作地連接到網(wǎng)絡(luò)接口和數(shù)據(jù)庫接口,處理器被配置為:確定從服務(wù)器到裝置的當(dāng)前傳輸速率;根據(jù)當(dāng)前傳輸速率,從統(tǒng)計(jì)數(shù)據(jù)庫中獲取與預(yù)期的未來傳輸速率有關(guān)的統(tǒng)計(jì)信息;從統(tǒng)計(jì)信息中導(dǎo)出目標(biāo)傳輸速率;以及根據(jù)目標(biāo)傳輸速率,向服務(wù)器請(qǐng)求視頻的后續(xù)塊。
[0025]在根據(jù)本發(fā)明的裝置的實(shí)施例中,統(tǒng)計(jì)信息包括直方圖,其中,獲得包括根據(jù)直方圖計(jì)算預(yù)定分位數(shù)。
[0026]在特定實(shí)施例中,分位數(shù)是5百分位、I百分位、0.1百分位中的一個(gè)。
[0027]在根據(jù)本發(fā)明的裝置的實(shí)施例中,處理器還被配置為獲得到統(tǒng)計(jì)數(shù)據(jù)庫的所確定的當(dāng)前傳輸速率。
[0028]在實(shí)施例中,根據(jù)本發(fā)明的裝置還包括統(tǒng)計(jì)數(shù)據(jù)庫,其可操作地連接到數(shù)據(jù)庫接
□ O
[0029]在該實(shí)施例中,客戶端裝置不用必須與外部數(shù)據(jù)庫實(shí)體連接來根據(jù)本發(fā)明的原理運(yùn)行。
[0030]根據(jù)本發(fā)明的一個(gè)方面,提供了一種機(jī)頂盒,其包括如上文所描述的裝置。
[0031]根據(jù)本發(fā)明的裝置、計(jì)算機(jī)程序產(chǎn)品以及機(jī)頂盒的實(shí)施例的技術(shù)效果和優(yōu)點(diǎn)加以必要的修正可對(duì)應(yīng)于根據(jù)本發(fā)明的方法的對(duì)應(yīng)實(shí)施例的技術(shù)效果和優(yōu)點(diǎn)。
【附圖說明】
[0032]現(xiàn)在僅通過示例的方式并參考附圖描述根據(jù)本發(fā)明的實(shí)施例的裝置和/或方法的某些實(shí)施例,其中:
[0033]圖1示出了 HAS客戶端的速率判決算法(RDA)的操作;
[0034]圖2進(jìn)一步示出了 HAS客戶端的速率判決算法(RDA)的操作;
[0035]圖3示出了本發(fā)明的實(shí)施例中的RDA的示例性操作;
[0036]圖4提供了根據(jù)本發(fā)明的方法的實(shí)施例的流程圖;以及
[0037]圖5提供了包括根據(jù)本發(fā)明的實(shí)施例的裝置的網(wǎng)絡(luò)的示意圖。
【具體實(shí)施方式】
[0038]為了對(duì)每個(gè)視頻區(qū)間選擇哪個(gè)塊被下載,HAS客戶端監(jiān)控其看到的可用網(wǎng)絡(luò)吞吐量,特別是由TCP提供的吞吐量,并嘗試將(用于下一個(gè)塊的)視頻比特率與該可用網(wǎng)絡(luò)吞吐量匹配。因?yàn)樗?qǐng)求的視頻比特率不能準(zhǔn)確地匹配可用網(wǎng)絡(luò)比特速率,所以客戶端需要維持播放緩沖。
[0039]圖1和圖2示出了控制客戶端的決策的RDA??蛻舳艘越獯a器所需要的字節(jié)已經(jīng)在解碼器需要它們前的某個(gè)時(shí)間接收到的方式下載下一個(gè)塊。參考圖1和圖2,這意味著階梯式內(nèi)容接收曲線(下方的曲線)不應(yīng)當(dāng)與傳輸速率包絡(luò)(上方的曲線)相交,其中,后者指示字節(jié)多快到達(dá)客戶端,前者指示解碼器多快需要字節(jié)。所示出的內(nèi)容接收曲線顯示了陡階躍,這表示解碼器用塊來清空其數(shù)據(jù)緩沖的事實(shí);單個(gè)塊的消耗通過曲線的垂直段來表示,而兩個(gè)連續(xù)塊的消耗之間的時(shí)間通過曲線的水平段來表示。
[0040]本發(fā)明涉及使用改進(jìn)的速率判決算法的方法和裝置?,F(xiàn)在將參考使用與網(wǎng)絡(luò)吞吐量(從服務(wù)器到客戶端)有關(guān)的統(tǒng)計(jì)信息的速率判決算法,進(jìn)一步解釋本發(fā)明。
[0041]考慮到吞吐量的某個(gè)過去的行為而與吞吐量的演變相關(guān)聯(lián)的知識(shí)是在如下的條件概率中得到的,g卩,假定在先前的區(qū)間上的吞吐量!^』、TK,B]、…分別假設(shè)為值t[B,A]、t[aB]、…的條件下,剛好在判決點(diǎn)A之后的吞吐量!^^取某個(gè)值t 的概率:
[0042]Pr[T[A,.]= t [A,.] |Τ[Β,Α]= t [B,A], T[C,B]= t [C,B],…](等式 I)
[0043]圖3 不出了該實(shí)施例 ο 在每個(gè)判決點(diǎn) A 處,Pr [T[A,.] = t [a,.] I T[B,A] = t [B’A], T[C’B]=t[aB],…]的當(dāng)前版本用于確定其中下個(gè)塊將被下載的質(zhì)量版本。該策略可以容易地與已知的傳統(tǒng)判決算法的設(shè)計(jì)原理相結(jié)合。
[0044]優(yōu)選地,在每個(gè)(成功的)判決之后更新Pr [T[A,.] = t [A,.] I T [B; A] = t [B, A]) T [C, B]=t[c,B])…],并且該信息在所討論的客戶端設(shè)備的所有會(huì)話中保持。這樣,根據(jù)本發(fā)明的RDA可以比傳統(tǒng)算法更好地預(yù)測(cè)吞吐量演變,并因此可以做出更好的判決。
[0045]等式I提供在預(yù)估的條件概率密度函數(shù)的形式下的有關(guān)傳輸速率的統(tǒng)計(jì)信息。由于實(shí)際計(jì)算的原因,優(yōu)選地,統(tǒng)計(jì)信息以離散形式使用,在本文中被稱為“直方圖信息”。
[0046]—種維持 Pr[T[A,.]= t [a,.] I T[B;A]= t [B,a]? T[C;B]= t [c,b]? …]最新的可能性將如下進(jìn)行。
[0047](K+1)維向量的向量空間可以被量化在箱(bin)中(覆蓋整個(gè)向量空間,其中,箱可以是矩形或具有任何其它形狀),其中,K是所考慮的過去區(qū)間的數(shù)量。每個(gè)箱維持
Pr[T[A;.] = t [a,.] |Τ[Β’Α]= t [B;a]? T[C,B]= t [c,B],…]的估計(jì)(實(shí)際上是 Pr[T[A’.] = t [Α’.] |Τ[Β’Α]=t[B;A], T[C;B]= t [C;B],…]在箱所覆蓋的面積上的積分)。
[0048]在判決點(diǎn)A處,將每個(gè)箱的概速率值(其中,