一種應(yīng)用于游戲直播平臺的視頻流轉(zhuǎn)碼和分發(fā)方法
【專利摘要】本發(fā)明公開一種應(yīng)用于游戲直播平臺的視頻流轉(zhuǎn)碼和分發(fā)方法,包括:S1.將游戲直播平臺運(yùn)行周期切割成若干個時(shí)間段;S2.在每一個時(shí)間段開始時(shí),中央控制單元獲取每個主播實(shí)時(shí)上傳的信息;S3.中央控制單元基于當(dāng)前收集的信息采用Lyapunov優(yōu)化方法解出最優(yōu)解作為決策結(jié)果,其決策結(jié)果包括視頻流轉(zhuǎn)碼決策,視頻流分發(fā)決策以及用戶碼率選擇決策的決策;S4.基于獲取的決策結(jié)果對每一個在線游戲主播做出視頻流轉(zhuǎn)碼決策,對每一個在線觀眾做出視頻流分發(fā)決策以及碼率選擇決策。
【專利說明】
一種應(yīng)用于游戲直播平臺的視頻流轉(zhuǎn)碼和分發(fā)方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及多媒體網(wǎng)絡(luò)和云計(jì)算資源管理領(lǐng)域,更具體地,涉及了一種應(yīng)用于游 戲直播平臺的視頻流轉(zhuǎn)碼和分發(fā)方法。
【背景技術(shù)】
[0002] 近年來,伴隨著移動互聯(lián)網(wǎng)革命,智能終端設(shè)備的普及以及游戲產(chǎn)業(yè)的高速發(fā)展, 游戲直播這一新興的視頻娛樂方式得以蓬勃發(fā)展。繼Twitch, tv游戲直播平臺在國外市場 大獲成功后,國內(nèi)涌現(xiàn)出了Douyu. tv,虎牙直播,龍珠直播等一大批游戲直播平臺。
[0003] 游戲直播平臺以廣大游戲玩家上傳的實(shí)時(shí)視頻流為視頻源,為游戲玩家提供實(shí)時(shí) 視頻流轉(zhuǎn)碼服務(wù),以及實(shí)時(shí)視頻流分發(fā)服務(wù)。通過實(shí)時(shí)視頻流轉(zhuǎn)碼服務(wù),游戲直播平臺能夠 為觀眾提供最適合其設(shè)備能力以及帶寬資源的視頻版本,以保證觀眾能夠獲得較高的用戶 體驗(yàn)。通過視頻流分發(fā)服務(wù),游戲直播平臺能夠?yàn)槊恳粋€觀眾選擇最適合的接入點(diǎn)。通過為 觀眾選擇最適合的接入點(diǎn),游戲直播平臺能夠保證用戶能夠以較低的延遲觀看游戲視頻, 如圖1,現(xiàn)有游戲直播平臺架構(gòu)圖。
[0004] 游戲直播平臺架構(gòu)涉及三個不同的群體:游戲玩家,游戲直播平臺運(yùn)營商和觀眾。 在游戲直播平臺架構(gòu)中,眾多的游戲玩家根據(jù)各自所處的地域被劃分為不同的玩家群體。 同樣的根據(jù)游戲玩家的所處的地域的不同也被劃分為不同的群體。對于游戲直播平臺,為 了滿足不同地域觀眾群體對于視頻觀看體驗(yàn)的要求,游戲直播平臺往往選擇在多地建立自 己的數(shù)據(jù)中心,并根據(jù)用戶群所處的地域?qū)⒂脩舻恼埱笾囟ㄏ虻讲煌臄?shù)據(jù)中心。此外,由 于不同用戶所使用的終端設(shè)備的能力,所處的網(wǎng)絡(luò)環(huán)境的不同,游戲直播平臺必須能夠提 供多種視頻流版本,并根據(jù)用戶自身情況自適應(yīng)地為用戶選擇不同的視頻流版本。
[0005] 隨著智能終端設(shè)備以及移動互聯(lián)網(wǎng)的普及,用戶可以隨時(shí)隨地地訪問游戲直播平 臺,觀看游戲直播。游戲直播平臺往往使用網(wǎng)關(guān)服務(wù)器或者ISP的DNS服務(wù)來為用戶提供數(shù) 據(jù)中心選擇重定向服務(wù)。用戶在訪問游戲直播平臺時(shí),首先向游戲直播平臺自建的網(wǎng)關(guān)服 務(wù)器發(fā)起請求,網(wǎng)關(guān)服務(wù)器通過自適應(yīng)算法為觀眾選擇最適合的數(shù)據(jù)中心。接著,觀眾直接 與數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交互,從數(shù)據(jù)中心獲取實(shí)時(shí)游戲視頻流。同時(shí),作為一種新興的視頻娛 樂服務(wù),觀眾還能夠通過實(shí)時(shí)文字的方式與游戲玩家進(jìn)行實(shí)時(shí)交互。由于直播與文字交互 的實(shí)時(shí)性要求,游戲直播平臺必須要能夠保證觀眾能夠在可容忍的延遲內(nèi)接收到實(shí)時(shí)視頻 流,同時(shí)保證用戶發(fā)出的交互文字能夠?qū)崟r(shí)地被游戲玩家接收到。
[0006] 為了提供上述兩種服務(wù):實(shí)時(shí)視頻流轉(zhuǎn)碼服務(wù)和視頻分發(fā)服務(wù)。游戲直播平臺運(yùn) 營商需要向云服務(wù)提供商購買相應(yīng)的服務(wù)以及帶寬。對于游戲直播平臺運(yùn)營商而言,實(shí)時(shí) 視頻流轉(zhuǎn)碼服務(wù)開銷和帶寬開銷構(gòu)成了其主要的運(yùn)營成本。對于游戲直播平臺運(yùn)營商來 說,提供實(shí)時(shí)視頻流轉(zhuǎn)碼服務(wù),不僅僅能夠提高觀眾的用戶體驗(yàn),同時(shí)能夠降低視頻分發(fā)所 帶來的帶寬開銷。
[0007] 綜上所述,從游戲直播平臺運(yùn)營商的角度出發(fā),為了最小化運(yùn)營成本(轉(zhuǎn)碼開銷和 帶寬開銷),同時(shí)保證用戶的良好觀看體驗(yàn),游戲直播平臺需要設(shè)計(jì)一種策略來最優(yōu)化資源 分配和視頻流分發(fā),使得游戲直播平臺運(yùn)營商能夠以最小的開銷提供盡可能好的用戶體 驗(yàn)。
[0008] "K·Pires,and G·Simon,"DASH in Twitch:Adaptive Bitrate Streaming in Live Game Streaming Platforms",in VideoNext, 2014."公開了將 DASH 技術(shù)引入到游戲 直播平臺,并且針對實(shí)時(shí)視頻流轉(zhuǎn)碼決策問題提出了兩個啟發(fā)式算法。通過啟發(fā)式算法指 導(dǎo)游戲直播平臺運(yùn)營商對不同游戲主播做出轉(zhuǎn)碼決策。該技術(shù)主要以每個主播所擁有的觀 眾數(shù)量作為是否對其原始視頻流進(jìn)行轉(zhuǎn)碼的標(biāo)準(zhǔn)。由于游戲直播平臺中觀眾數(shù)量分布不 均,導(dǎo)致了只有熱門主播的視頻流能夠得到轉(zhuǎn)碼,這就影響了觀看相對冷門的頻道的用戶 的體驗(yàn)。
[0009] UF. Chen,C. Zhang,F. Wang,and J·Liu,"Crowdsourced Live Streaming Over The Cloud",in INF0C0M,2015."公開了從游戲主播角度出發(fā),考慮當(dāng)游戲主播上傳游戲視 頻時(shí),如何為其選擇一個最優(yōu)的服務(wù)器來接收其上傳的視頻流。在衡量服務(wù)器最優(yōu)性時(shí),該 技術(shù)主要以地域分布以及服務(wù)器負(fù)載兩個指標(biāo)作為衡量標(biāo)準(zhǔn)。在該技術(shù)中,只討論了如何 為游戲玩家選擇一個最優(yōu)的視頻上傳點(diǎn),并沒有將游戲直播平臺中的其他角色,如:觀眾, 加入到算法設(shè)計(jì)的考慮中。單純地從游戲玩家的角度進(jìn)行算法設(shè)計(jì),無法保證算法的實(shí)際 優(yōu)化效果,且無法保證用戶體驗(yàn)。
[0010] UR.Shea,D.Fu,and J.Liu,towards Bridging Online Game Playing and Live Broadcasting:Design and Optimization",in N0SSDAV, 2015 ·" 提出了一種新的游戲直播 平臺架構(gòu)。該技術(shù)試圖在架構(gòu)中將游戲直播平臺與云游戲平臺結(jié)合起來。同時(shí),該技術(shù)還測 量了主流開源直播軟件0BS的能耗情況。該技術(shù)僅僅測量了開源直播軟件0BS的能耗情況并 提出了一個新型的直播平臺架構(gòu),并沒有進(jìn)一步深入地探討其中涉及到的問題,也沒有提 出一個最優(yōu)化算法以指導(dǎo)游戲直播平臺運(yùn)營商做出決策。
[0011] UR.Aparicio-Pardo,K.Pires,A.Blanc,and G·Simon,"Transcoding Live Adaptive Video Streams at a Massive Scale in the Cloud",in MMSys,2015 ·''該技術(shù) 從游戲直播平臺運(yùn)營商的角度出發(fā),考慮如何對實(shí)時(shí)視頻流轉(zhuǎn)碼任務(wù)進(jìn)行調(diào)度。該技術(shù)試 圖提出一種策略,在有限轉(zhuǎn)碼資源的前提下,盡可能地優(yōu)化轉(zhuǎn)碼輸出視頻分辨率,從而盡可 能提高觀眾的體驗(yàn)。該技術(shù)僅僅通過轉(zhuǎn)碼任務(wù)調(diào)度的方式來最優(yōu)化每個轉(zhuǎn)碼任務(wù)的輸出視 頻分辨率,在優(yōu)化過程中沒有考慮觀眾的因素,也沒有考慮游戲直播平臺運(yùn)營商的成本因 素。因此,通過該技術(shù)得到的任務(wù)調(diào)度策略并不能有效地保證用戶體驗(yàn),也不能保證游戲直 播平臺運(yùn)營商的成本能夠被控制在一個合理的范圍內(nèi)。
【發(fā)明內(nèi)容】
[0012] 針對游戲直播平臺中存在的運(yùn)營成本過高,觀眾分布不均衡等問題,本發(fā)明提出 了一種應(yīng)用于游戲直播平臺的視頻流轉(zhuǎn)碼和分發(fā)方法,是一種游戲直播平臺中的轉(zhuǎn)碼資源 優(yōu)化和自適應(yīng)流適配方法。該方法在滿足觀眾體驗(yàn)的基礎(chǔ)上,實(shí)現(xiàn)了盡可能地降低運(yùn)營商 的運(yùn)營成本。
[0013] 為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為:
[0014] -種應(yīng)用于游戲直播平臺的視頻流轉(zhuǎn)碼和分發(fā)方法,包括以下步驟:
[0015] S1.將游戲直播平臺運(yùn)行周期切割成若干個時(shí)間段;
[0016] S2.在每一個時(shí)間段開始時(shí),中央控制單元獲取每個主播實(shí)時(shí)上傳的信息;
[0017] S3.中央控制單元基于當(dāng)前收集的信息采用Lyapunov優(yōu)化方法解出最優(yōu)解作為決 策結(jié)果,其決策結(jié)果包括視頻流轉(zhuǎn)碼決策,視頻流分發(fā)決策以及用戶碼率選擇決策的決策;
[0018] S4.基于獲取的決策結(jié)果對每一個在線游戲主播做出視頻流轉(zhuǎn)碼決策,對每一個 在線觀眾做出視頻流分發(fā)決策以及碼率選擇決策;
[0019] 步驟S3中求解獲得決策的方式具體為:將最小化運(yùn)營成本、最優(yōu)化用戶體驗(yàn)的優(yōu) 化問題轉(zhuǎn)化為Lyapunov優(yōu)化問題,中央控制單元當(dāng)前收集的信息作為該優(yōu)化問題的已知條 件,將用戶Q〇E指標(biāo)作為約束條件,并同時(shí)設(shè)置一個可容忍的延遲下界來保證用戶體驗(yàn)質(zhì) 量,然后解出最優(yōu)解作為決策結(jié)果;
[0020] 定義一個虛擬隊(duì)列0(t);同時(shí)定義虛擬隊(duì)列更新方程:
[0021]
[0022]其中,D(i,t)表示觀眾i在第t個時(shí)間段所感受到的延遲,W表示第t個時(shí)間段在線 觀眾數(shù)量,#表示第t個時(shí)間段直播平臺中在線觀眾總?cè)藬?shù),ε表示觀眾所能容忍的最大延 遲閾值,虛擬隊(duì)列9(t)用于衡量觀眾實(shí)際感受到的延遲與預(yù)定義閾值之間的累積差距; [00 23] 根據(jù)Lyapunov優(yōu)化框架,定義L(t)和Δ (0(t))如下:
[0024]
[0025] Δ (0(t))=L(t+l)-L(t)
[0026] L(t)用于衡量隊(duì)列的大小,△ (0(t))表示相鄰兩個時(shí)間段隊(duì)列數(shù)組的變化量;根 據(jù)Lyapunov優(yōu)化框架,依據(jù)用戶用電請求信息和系統(tǒng)狀態(tài)信息在每一個時(shí)間段內(nèi)計(jì)算出滿 足如下最優(yōu)化方程的視頻流轉(zhuǎn)碼及分發(fā)策略:
[0027]
[0028] 其中V是一個可調(diào)參數(shù),用于調(diào)節(jié)目標(biāo)優(yōu)化方程和用戶延遲隊(duì)列之間的權(quán)衡;α是 一個可調(diào)參數(shù),用于調(diào)節(jié)優(yōu)化目標(biāo)之間的權(quán)重,即運(yùn)營成本與用戶體驗(yàn)之間的權(quán)重;D(i,t) 表示觀眾i在第t個時(shí)間段所感受到的延遲,C b(i,t)表示為了服務(wù)于觀眾i所產(chǎn)生的帶寬開 銷,Q(i,t)表示觀眾i在第t個時(shí)間段所生產(chǎn)的用戶體驗(yàn)值;C s(j,t)表示在第t個時(shí)間段,為 給游戲主播j提供轉(zhuǎn)碼服務(wù),游戲直播平臺運(yùn)營商需要支出的轉(zhuǎn)碼費(fèi)用。
[0029] 優(yōu)選的,觀眾i在第t個時(shí)間段所感受到的延遲D(i,t)必須在觀眾感受到的視頻觀 看延遲在可容忍的范圍之內(nèi),即滿足下式;
[0030]
[0031] T表示游戲直播平臺運(yùn)營的總時(shí)長。
[0032] 優(yōu)選的,轉(zhuǎn)碼費(fèi)用Cs(j,t)定義如下:
[0033]
[0034] 其中,P(j,t)表示在第t個時(shí)間段由游戲玩家j所上傳的視頻被轉(zhuǎn)碼成的碼率版 本,Bs(m)指的是第m個碼率版本所對應(yīng)的視頻碼率,t是指第t個時(shí)間段,τ表示虛轉(zhuǎn)碼的視 頻時(shí)長。&表示轉(zhuǎn)碼服務(wù)提供商將原始碼率為P( j,t),時(shí)長為τ的視頻流轉(zhuǎn)碼為目標(biāo)碼率為 Bs(m)的視頻流所收取的費(fèi)用。
[0035] 優(yōu)選的,觀眾i在第t個時(shí)間段所生產(chǎn)的用戶體驗(yàn)值Q(i,t)滿足下式:
[0036] Q(i , t) =Φ(6(?) ,Bv(i , t))
[0037] 其中,Q(i,t)表示用戶體驗(yàn)值,G(i)表示用戶所觀看的游戲視頻的基本碼率要求, Bv(i,t)表示用戶v在時(shí)間段t所接收到的碼率;ΦΟ函數(shù)表示觀看基本碼率要求為G(i)且接 收到碼率為B v( i,t)的用戶體驗(yàn)值。
[0038] 優(yōu)選的,服務(wù)于觀眾i所產(chǎn)生的帶寬開銷Cb(i,t)滿足下式:
[0039] Cb(i,t)=Bv(i,t) · U(Z(i,t),t)
[0040] 其中,Z(i,t)表示的用戶i在第個t時(shí)間段所選擇的數(shù)據(jù)中心,U(Z(i,t),t)表示編 號為Z(i,t)的數(shù)據(jù)在第t個時(shí)間段的單位帶寬價(jià)格。
[0041] 優(yōu)選的,其約束條件還包括視頻碼率要求,是針對當(dāng)前游戲類型,觀眾在觀看該游 戲視頻時(shí),要獲得基本的用戶體驗(yàn)所應(yīng)該選擇的最低視頻碼率;由下式確定:
[0042]
[0043] 其中,Bv(i,t)表示觀眾i在第t個時(shí)間段所接收到的視頻流碼率,G(i)代表觀眾i 所選擇的游戲類型,E(G(i))表示觀眾i要獲得最基本的用戶體驗(yàn)所需要請求的視頻碼率; 整個表達(dá)式用于確保對每一個觀眾i,在每一個時(shí)隙t,其所接收到的視頻碼率都能夠保證 其獲得最基本的用戶體驗(yàn)。
【附圖說明】
[0044] 圖1為現(xiàn)有游戲直播平臺架構(gòu)圖。
[0045] 圖2為本發(fā)明中實(shí)時(shí)視頻流轉(zhuǎn)碼與分發(fā)方法的流程圖。
【具體實(shí)施方式】
[0046] 下面結(jié)合附圖對本發(fā)明做進(jìn)一步的描述,但本發(fā)明的實(shí)施方式并不限于此。
[0047]游戲直播平臺
[0048] 游戲直播平臺(Live Game Video Streaming Platform)是以游戲玩家實(shí)時(shí)上傳 的游戲視頻為視頻源,為觀眾提供實(shí)時(shí)游戲視頻服務(wù)的視頻平臺。游戲直播平臺主要負(fù)責(zé) 對游戲玩家上傳的實(shí)時(shí)視頻流進(jìn)行在線轉(zhuǎn)碼,并將轉(zhuǎn)碼后的視頻流分發(fā)給觀眾。
[0049] 游戲直播平臺運(yùn)營商
[0050] 游戲直播平臺運(yùn)營商(Crowdsourced Live Game Video Streaming Service Provider)是游戲直播平臺的運(yùn)營商。借助云計(jì)算、云存儲等相關(guān)技術(shù),對游戲玩家上傳的 游戲視頻流進(jìn)行實(shí)時(shí)轉(zhuǎn)碼,并將轉(zhuǎn)碼后的視頻流分發(fā)給觀眾。
[0051 ] Lyapunov 優(yōu)化框架
[0052] Lyapunov優(yōu)化框架用于設(shè)計(jì)針對于動態(tài)系統(tǒng)的在線決策算法,并使決策達(dá)到最優(yōu) 的同時(shí)保持系統(tǒng)狀態(tài)的穩(wěn)定性。該優(yōu)化框架的最大優(yōu)勢是不需要提前知道系統(tǒng)未來的狀態(tài) 信息。
[0053] 針對游戲直播平臺中存在的運(yùn)營成本過高,觀眾分布不均衡等問題,本發(fā)明提出 了一種應(yīng)用于游戲直播平臺的視頻流轉(zhuǎn)碼和分發(fā)方法。該方法在滿足觀眾體驗(yàn)的基礎(chǔ)上, 實(shí)現(xiàn)了盡可能地降低運(yùn)營商的運(yùn)營成本。
[0054] 本發(fā)明充分考慮了不同游戲類型對于觀眾體驗(yàn)的影響,本發(fā)明針對不同的游戲類 型提出了一種通用的資源優(yōu)化和自適應(yīng)流適配算法。同時(shí),本發(fā)明還充分考慮了觀眾分布 的地域性,當(dāng)觀眾請求視頻流時(shí),本方法能夠?yàn)槊恳粋€觀眾選擇一個最適合的接入點(diǎn)。通過 為觀眾選擇合理的接入點(diǎn),本方法能夠盡可能地降低用戶的觀看延遲。本發(fā)明通過建立用 戶Q〇E模型、用戶觀看延遲模型以及運(yùn)營商開銷模型,基于Lyapunov優(yōu)化框架,設(shè)計(jì)出基于 自適應(yīng)流適配技術(shù)的視頻流轉(zhuǎn)碼和分發(fā)優(yōu)化方法。
[0055] 本發(fā)明的基本技術(shù)包括:用戶QoE模型、用戶視頻觀看延遲模型、直播平臺運(yùn)營商 開銷模型以及視頻流轉(zhuǎn)碼和分發(fā)方法。
[0056] 用戶QoE模型
[0057] 在游戲直播平臺中,用戶QoE(Quality of Experience用戶體驗(yàn)質(zhì)量)反映了觀眾 對于游戲直播平臺提供的服務(wù)的滿意程度。用戶QoE是衡量游戲直播平臺性能的重要指標(biāo) 之一。
[0058]首先,本發(fā)明針對不同的觀眾觀看的不同游戲類型,定義了與游戲類型相關(guān)的QoE 指標(biāo),并定義了不同游戲類型視頻的基本視頻碼率要求?;疽曨l碼率要求指的是,針對當(dāng) 前游戲類型,觀眾在觀看該游戲視頻時(shí),要獲得基本的用戶體驗(yàn)所應(yīng)該選擇的最低視頻碼 率。
[0059]
[0060] 其中,Bv(i,t)表示觀眾i在第t個時(shí)間段所接收到的視頻流碼率,G(i)代表觀眾i 所選擇的游戲類型,E(G(i))表示觀眾i要獲得最基本的用戶體驗(yàn)所需要請求的視頻碼率。 整個表達(dá)式用于確保對每一個觀眾i,在每一個時(shí)隙t,其所接收到的視頻碼率都能夠保證 其獲得最基本的用戶體驗(yàn)。
[0061] 本發(fā)明定義用戶QoE與用戶接收到的視頻碼率直接相關(guān),具體定義為:
[0062] Q(i , t) =Φ(6(?) ,Bv(i , t))
[0063] 其中Q(i,t)表示用戶體驗(yàn)值,G(i)表示用戶所觀看的游戲視頻的基本碼率要求, Bv(i,t)表示用戶v在時(shí)間段t所接收到的碼率;Φ〇函數(shù)表示觀看基本碼率要求為G(i)且接 收到碼率為B v( i,t)的用戶的用戶體驗(yàn)值。
[0064]用戶視頻觀看延遲模型
[0065] 本發(fā)明進(jìn)一步考慮用戶視頻觀看延遲對于觀眾的影響,在游戲直播平臺中,觀眾 感受到的延遲主要由三個部分組成:
[0066] 1、主播端延遲;主播端延遲指的是從主播開始上傳視頻流到視頻流被直播平臺接 收所經(jīng)歷的時(shí)間間隔。
[0067] 2、平臺轉(zhuǎn)碼延遲;轉(zhuǎn)碼延遲指的是游戲直播平臺從接收到主播上傳的原始視頻流 到轉(zhuǎn)碼得到目標(biāo)碼率視頻流所經(jīng)歷的時(shí)間間隔。
[0068] 3、客戶端延遲;客戶端延遲主要包括兩個方面:
[0069] a)客戶端網(wǎng)絡(luò)延遲;客戶端網(wǎng)絡(luò)延遲主要指的是視頻流從游戲直播平臺發(fā)送到觀 眾客戶端所經(jīng)歷的時(shí)間間隔。
[0070] b)客戶端視頻播放延遲;客戶端視頻播放延遲主要指的是從客戶端接收到視頻流 到解碼視頻流并播放所經(jīng)歷的時(shí)間間隔。
[0071] 在本發(fā)明中,要求觀眾感受到的視頻觀看延遲在可容忍的范圍之內(nèi)。
[0072]
[0073]其中D(i,t)表示觀眾i在第t個時(shí)間段所感受到的觀看延遲。#表示在第t個時(shí)間 段游戲直播平臺當(dāng)前的觀眾總數(shù)量。ε是游戲直播平臺運(yùn)營商預(yù)先設(shè)定的延遲閾值,用于保 證觀眾感受到的平均延遲在可容忍范圍內(nèi)。
[0074]直播平臺運(yùn)營商開銷模型
[0075]本發(fā)明在保證用戶QoE的基礎(chǔ)上,盡可能降低直播平臺運(yùn)營商的運(yùn)營成本。在游戲 直播中,游戲直播平臺運(yùn)營商的運(yùn)營成本主要包括兩個方面:
[0076] 1、帶寬開銷。直播平臺帶寬開銷主要指的是,游戲直播平臺為分發(fā)游戲視頻流所 需要購買的網(wǎng)絡(luò)帶寬的資金消耗。網(wǎng)絡(luò)帶寬開銷與游戲直播平臺所服務(wù)的用戶數(shù)量以及用 戶觀看的視頻碼率有直接的關(guān)系。
[0077] 2、視頻轉(zhuǎn)碼開銷。直播平臺視頻轉(zhuǎn)碼開銷主要指的是,游戲直播平臺為了能夠提 供多個不同碼率版本的視頻流所需要購買的視頻轉(zhuǎn)碼服務(wù)所花費(fèi)的資金。
[0078]對于地理位置分布不同的數(shù)據(jù)中心來說,由于分布的地理位置不同,單位帶寬價(jià) 格也不盡相同,并且單位帶寬價(jià)格隨著時(shí)間波動。而對于實(shí)時(shí)視頻流轉(zhuǎn)碼開銷而言,游戲直 播平臺需要花費(fèi)的資金與視頻轉(zhuǎn)碼任務(wù)的原始輸入視頻流碼率,輸出視頻碼率以及視頻時(shí) 間長直接相關(guān)。為了能夠節(jié)約運(yùn)營成本,游戲直播平臺運(yùn)營商希望能夠同時(shí)降低這兩方面 的資金開銷。
[0079] 在本發(fā)明中,服務(wù)于觀眾i所產(chǎn)生的帶寬開銷Cb(i,t)滿足下式:
[0080] Cb(i,t)=Bv(i,t) *U(Z(i,t),t)
[0081] 其中,Z(i,t)表示的用戶i在第個t時(shí)間段所選擇的數(shù)據(jù)中心,U(Z(i,t),t)表示編 號為Z(i,t)的數(shù)據(jù)在第t個時(shí)間段的單位帶寬價(jià)格。
[0082] 除了帶寬開銷,由于游戲直播平臺運(yùn)營商需要提供多個版本的視頻流,因此,運(yùn)營 商需要購買實(shí)時(shí)視頻流轉(zhuǎn)碼服務(wù)。在本發(fā)明中,轉(zhuǎn)碼開銷定義如下:
[0083]
[0084] 其中,P(j,t)表示在第t個時(shí)間段由游戲玩家j所上傳的視頻被轉(zhuǎn)碼成的碼率版 本,Bs(m)指的是第m個碼率版本所對應(yīng)的視頻碼率,t是指第t個時(shí)間段,τ表示虛轉(zhuǎn)碼的視 頻時(shí)長。&表示轉(zhuǎn)碼服務(wù)提供商將原始碼率為P(j,t),時(shí)長為τ的視頻流轉(zhuǎn)碼為目標(biāo)碼率為 Bs(m)的視頻流所收取的費(fèi)用。
[0085]視頻流轉(zhuǎn)碼與分發(fā)方法
[0086] 下面結(jié)合流程圖2和實(shí)施實(shí)例對視頻流轉(zhuǎn)碼與分發(fā)方法做進(jìn)一步的說明。
[0087] 圖2為本發(fā)明中實(shí)時(shí)視頻流轉(zhuǎn)碼與分發(fā)方法的流程圖,具體步驟如下:
[0088] (S101)將游戲直播平臺運(yùn)行周期切割成若干個時(shí)間段。
[0089] (S102)在每一個時(shí)間段開始時(shí),中央控制單元獲取每個主播實(shí)時(shí)上傳的信息,包 括視頻碼率,用戶數(shù)量,用戶帶寬等信息。
[0090] (S103)根據(jù)當(dāng)前收集的信息求解出視頻流轉(zhuǎn)碼決策,視頻流分發(fā)決策以及用戶碼 率選擇決策,該求解過程的約束條件是在保證用戶Q〇E的基礎(chǔ)上最優(yōu)化游戲直播平臺運(yùn)營 商的運(yùn)營成本。
[0091] (S104)根據(jù)步驟(S103)的求解策略對每一個在線游戲主播做出視頻流轉(zhuǎn)碼決策, 對每一個在線觀眾做出視頻流分發(fā)決策以及碼率選擇決策。
[0092] 在一個【具體實(shí)施方式】中,步驟(S102)中當(dāng)前收集的信息包括:在線游戲主播數(shù)量, 在線觀眾數(shù)量,觀眾帶寬,游戲玩家上傳視頻流原始碼率,觀眾所觀看的游戲視頻類型,觀 眾與接入數(shù)據(jù)中心之間的網(wǎng)絡(luò)延遲等信息。
[0093] 在一個【具體實(shí)施方式】中,本發(fā)明可以將最小化運(yùn)營成本、最優(yōu)化用戶體驗(yàn)的優(yōu)化 問題轉(zhuǎn)化為Lyapunov優(yōu)化問題,將用戶請求信息和系統(tǒng)狀態(tài)信息作為該優(yōu)化問題的已知條 件,將部分用戶Q〇E指標(biāo)(如:碼率、延遲)作為約束條件,并同時(shí)設(shè)置一個可容忍的延遲下界 來保證用戶體驗(yàn)質(zhì)量,然后解出最優(yōu)解作為決策結(jié)果。為了使用Lyapunov優(yōu)化框架,本發(fā)明 將基于時(shí)間平均的延遲約束條件轉(zhuǎn)化為基于隊(duì)列穩(wěn)定性的條件,在這個優(yōu)化問題中定義一 個虛擬隊(duì)列9(t)。同時(shí)定義虛擬隊(duì)列更新方程:
[0094]
[0095]其中,D(i,t)表示觀眾i在第t個時(shí)間段所感受到的延遲,W表示第t個時(shí)間段在線 觀眾數(shù)量,#表示第t個時(shí)間段直播平臺中在線觀眾總?cè)藬?shù),e表示觀眾所能容忍的最大延 遲閾值,虛擬隊(duì)列9(t)用于衡量觀眾實(shí)際感受到的延遲與預(yù)定義閾值之間的累積差距; [00 96] 根據(jù)Lyapunov優(yōu)化框架,定義L(t)和Δ (0(t))如下:
[0097]
[0098] Δ (0(t))=L(t+l)-L(t)
[0099] L(t)用于衡量隊(duì)列的大小,△ (0(t))表示相鄰兩個時(shí)間段隊(duì)列數(shù)組的變化量;根 據(jù)Lyapunov優(yōu)化框架,依據(jù)用戶用電請求信息和系統(tǒng)狀態(tài)信息在每一個時(shí)間段內(nèi)計(jì)算出滿 足如下最優(yōu)化方程的視頻流轉(zhuǎn)碼及分發(fā)策略:
[0100]
[0101]其中V是一個可調(diào)參數(shù),用于調(diào)節(jié)目標(biāo)優(yōu)化方程和用戶延遲隊(duì)列之間的權(quán)衡;α是 一個可調(diào)參數(shù),用于調(diào)節(jié)優(yōu)化目標(biāo)之間的權(quán)重,即運(yùn)營成本與用戶體驗(yàn)之間的權(quán)重;D(i,t) 表示觀眾i在第t個時(shí)間段所感受到的延遲,Cb(i,t)表示為了服務(wù)于觀眾i所產(chǎn)生的帶寬開 銷,Q(i,t)表示觀眾i在第t個時(shí)間段所生產(chǎn)的用戶體驗(yàn)值;C s(j,t)表示在第t個時(shí)間段,為 給游戲主播j提供轉(zhuǎn)碼服務(wù),游戲直播平臺運(yùn)營商需要支出的轉(zhuǎn)碼費(fèi)用。
[0102] 該算法過程的偽代碼如下所示。
[0103]
[0104]
[0105] 對于上述偽代碼中步驟5所需求解的優(yōu)化目標(biāo),可以進(jìn)一步通過本發(fā)明提出的執(zhí) 行于每一個時(shí)隙的多項(xiàng)式時(shí)間求解算法,如下所示。
[0106]
[0107]
[0108] 本友明提出丨一柙奴用t游雙且攢干臺的視頻沭轉(zhuǎn)媽和分友萬'/云,本友明評細(xì)捆 述了視頻流轉(zhuǎn)碼策略,視頻流碼率選擇策略以及視頻流分發(fā)策略。本發(fā)明在具體實(shí)施時(shí)可 以有多種方法,包括但不局限于:
[0109] 1、使用預(yù)測算法調(diào)整算法中的閾值;
[0110] 2、針對觀眾QoE模型做小幅調(diào)整,比如為用戶添加等級屬性(付費(fèi)用戶,非付費(fèi)用 戶等)。
[0111] 本發(fā)明中,各模塊的結(jié)構(gòu)和連接方式都是可以有所變化的,在本發(fā)明技術(shù)方案的 基礎(chǔ)上,凡根據(jù)本發(fā)明原理對個別算法模塊的結(jié)構(gòu)進(jìn)行的改進(jìn)和等同變換,均不應(yīng)排除在 本發(fā)明的保護(hù)范圍之外。
[0112] 本發(fā)明提出的系統(tǒng)工作流程中的關(guān)鍵數(shù)學(xué)模型和方法有:用戶QoE模型、用戶視頻 觀看延遲模型、游戲直播平臺運(yùn)營商開銷模型、視頻流轉(zhuǎn)碼與分發(fā)方法。用戶QoE模型表達(dá) 了游戲直播平臺中觀眾對于視頻服務(wù)的直觀體驗(yàn),是本發(fā)明的基礎(chǔ)。本發(fā)明提出的視頻流 轉(zhuǎn)碼與分發(fā)算法能根據(jù)有限的系統(tǒng)狀態(tài)信息、用戶QoE反饋和用戶觀看延遲等信息,動態(tài)地 做出游戲玩家轉(zhuǎn)碼決策,觀眾碼率選擇決策以及觀眾接入數(shù)據(jù)中心選擇決策,在保證用戶 QoE的基礎(chǔ)上,優(yōu)化游戲直播平臺運(yùn)營商的總開銷。本發(fā)明提出的視頻流轉(zhuǎn)碼與分發(fā)算法是 本發(fā)明的核心內(nèi)容。
[0113]以上所述的本發(fā)明的實(shí)施方式,并不構(gòu)成對本發(fā)明保護(hù)范圍的限定。任何在本發(fā) 明的精神原則之內(nèi)所作出的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求保護(hù) 范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種應(yīng)用于游戲直播平臺的視頻流轉(zhuǎn)碼和分發(fā)方法,其特征在于,包括以下步驟:51. 將游戲直播平臺運(yùn)行周期切割成若干個時(shí)間段;52. 在每一個時(shí)間段開始時(shí),中央控制單元獲取每個主播實(shí)時(shí)上傳的信息;53. 中央控制單元基于當(dāng)前收集的信息采用Lyapunov優(yōu)化方法解出最優(yōu)解作為決策結(jié) 果,其決策結(jié)果包括視頻流轉(zhuǎn)碼決策,視頻流分發(fā)決策以及用戶碼率選擇決策的決策;54. 基于獲取的決策結(jié)果對每一個在線游戲主播做出視頻流轉(zhuǎn)碼決策,對每一個在線 觀眾做出視頻流分發(fā)決策以及碼率選擇決策; 步驟S3中求解獲得決策的方式具體為:將最小化運(yùn)營成本、最優(yōu)化用戶體驗(yàn)的優(yōu)化問 題轉(zhuǎn)化為Lyapuno V優(yōu)化問題,中央控制單元當(dāng)前收集的信息作為該優(yōu)化問題的已知條件, 將用戶QoE指標(biāo)作為約束條件,并同時(shí)設(shè)置一個可容忍的延遲下界來保證用戶體驗(yàn)質(zhì)量,然 后解出最優(yōu)解作為決策結(jié)果; 定義一個虛擬隊(duì)列9(t);同時(shí)定義虛擬隊(duì)列更新方程:其中,D(i,t)表示觀眾i在第t個時(shí)間段所感受到的延遲,Vt表示第t個時(shí)間段在線觀眾 數(shù)量,Nt表示第t個時(shí)間段直播平臺中在線觀眾總?cè)藬?shù),ε表示觀眾所能容忍的最大延遲閾 值,虛擬隊(duì)列9(t)用于衡量觀眾實(shí)際感受到的延遲與預(yù)定義閾值之間的累積差距; 根據(jù)Lyapunov優(yōu)化框架,定義L(t)和△ (0(t))如下:Δ (9(t))=L(t+l)-L(t) L(t)用于衡量隊(duì)列的大小,△ (0(t))表示相鄰兩個時(shí)間段隊(duì)列數(shù)組的變化量;根據(jù) Lyapunov優(yōu)化框架,依據(jù)用戶用電請求信息和系統(tǒng)狀態(tài)信息在每一個時(shí)間段內(nèi)計(jì)算出滿足 如下最優(yōu)化方程的視頻流轉(zhuǎn)碼及分發(fā)策略:其中V是一個可調(diào)參數(shù),用于調(diào)節(jié)目標(biāo)優(yōu)化方程和用戶延遲隊(duì)列之間的權(quán)衡;α是一個 可調(diào)參數(shù),用于調(diào)節(jié)優(yōu)化目標(biāo)之間的權(quán)重,即運(yùn)營成本與用戶體驗(yàn)之間的權(quán)重;D(i,t)表示 觀眾i在第t個時(shí)間段所感受到的延遲,C b(i,t)表示為了服務(wù)于觀眾i所產(chǎn)生的帶寬開銷,Q (i,t)表示觀眾i在第t個時(shí)間段所生產(chǎn)的用戶體驗(yàn)值;C s(j,t)表示在第t個時(shí)間段,為給游 戲主播j提供轉(zhuǎn)碼服務(wù),游戲直播平臺運(yùn)營商需要支出的轉(zhuǎn)碼費(fèi)用。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,觀眾i在第t個時(shí)間段所感受到的延遲D(i, t)必須在觀眾感受到的視頻觀看延遲在可容忍的范圍之內(nèi),即滿足下式;T表示游戲直播平臺運(yùn)營的總時(shí)長。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,轉(zhuǎn)碼費(fèi)用Cs(j,t)定義如下:其中,P(j,t)表示在第t個時(shí)間段由游戲玩家j所上傳的視頻被轉(zhuǎn)碼成的碼率版本,BS (m)指的是第m個碼率版本所對應(yīng)的視頻碼率,t是指第t個時(shí)間段,τ表示虛轉(zhuǎn)碼的視頻時(shí) 長。&表示轉(zhuǎn)碼服務(wù)提供商將原始碼率為P(j,t),時(shí)長為τ的視頻流轉(zhuǎn)碼為目標(biāo)碼率為B s (m)的視頻流所收取的費(fèi)用。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,觀眾i在第t個時(shí)間段所生產(chǎn)的用戶體驗(yàn)值 Q(i,t)滿足下式: Q(i,t)=iKG(i),Bv(i,t)) 其中,Q(i,t)表示用戶體驗(yàn)值,G(i)表示用戶所觀看的游戲視頻的基本碼率要求,Bv(i, t)表示用戶V在時(shí)間段t所接收到的碼率;Φ()函數(shù)表示觀看基本碼率要求為G(i)且接收到 碼率為Bv(i,t)的用戶體驗(yàn)值。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,服務(wù)于觀眾i所產(chǎn)生的帶寬開銷Cb(i,t)滿 足下式: Cb(i ,t) =Bv(i ,t) *U(Z(i,t),t) 其中,Z(i,t)表示的用戶i在第個t時(shí)間段所選擇的數(shù)據(jù)中心,U(Z(i,t),t)表示編號為 Z(i,t)的數(shù)據(jù)在第t個時(shí)間段的單位帶寬價(jià)格。6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,其約束條件還包括視頻碼率要求,是針對 當(dāng)前游戲類型,觀眾在觀看該游戲視頻時(shí),要獲得基本的用戶體驗(yàn)所應(yīng)該選擇的最低視頻 碼率;由下式確定:其中,Bv(i,t)表示觀眾i在第t個時(shí)間段所接收到的視頻流碼率,G(i)代表觀眾i所選擇 的游戲類型,E(G(i))表示觀眾i要獲得最基本的用戶體驗(yàn)所需要請求的視頻碼率;整個表 達(dá)式用于確保對每一個觀眾i,在每一個時(shí)隙t,其所接收到的視頻碼率都能夠保證其獲得 最基本的用戶體驗(yàn)。
【文檔編號】H04N21/2343GK105933727SQ201610345162
【公開日】2016年9月7日
【申請日】2016年5月20日
【發(fā)明人】吳迪, 鄭元?dú)g, 劉學(xué)正
【申請人】中山大學(xué)