楊振輝
摘要:在流媒體技術(shù)快速發(fā)展的背景下,用戶(hù)對(duì)網(wǎng)絡(luò)內(nèi)容的需求不斷提升,視頻傳輸迎來(lái)了全新的挑戰(zhàn)。針對(duì)傳統(tǒng)流媒體技術(shù)視頻直播過(guò)程中忽略網(wǎng)絡(luò)環(huán)境變化且不能根據(jù)網(wǎng)絡(luò)變化適時(shí)調(diào)整視頻傳輸?shù)膯?wèn)題,文章設(shè)計(jì)了一種基于人工智能的碼率自適應(yīng)軟件,通過(guò)連續(xù)時(shí)延和碼率控制算法實(shí)現(xiàn)視頻直播傳輸?shù)膭?dòng)態(tài)調(diào)整。仿真結(jié)果表明,基于人工智能的碼率自適應(yīng)軟件可根據(jù)直播過(guò)程中的網(wǎng)絡(luò)變化情況實(shí)時(shí)調(diào)整視頻直播效果,有效提升用戶(hù)的觀看體驗(yàn)感。
關(guān)鍵詞:人工智能;自適應(yīng);碼率算法;直播平臺(tái)
中圖分類(lèi)號(hào):F062.9? 文獻(xiàn)標(biāo)志碼:A
0 引言
當(dāng)下,自適應(yīng)視頻傳輸技術(shù)在視頻點(diǎn)播場(chǎng)景中已得到廣泛應(yīng)用,大部分直播平臺(tái)開(kāi)始通過(guò)此技術(shù)傳輸相應(yīng)的音頻數(shù)據(jù)與圖像數(shù)據(jù)[1]。相比較之下,直播平臺(tái)播放視頻過(guò)程中需根據(jù)彈幕內(nèi)容與用戶(hù)進(jìn)行實(shí)時(shí)互動(dòng),對(duì)直播視頻流對(duì)碼率控制和低時(shí)延要求相對(duì)較高。
基于此,本文設(shè)計(jì)了一種碼率自適應(yīng)軟件,通過(guò)連續(xù)時(shí)延和碼率控制算法,有效提升用戶(hù)的觀看體驗(yàn)質(zhì)量。
1 基于播放速率和跳幀控制的連續(xù)時(shí)延和碼率控制算法
當(dāng)下,大部分直播平臺(tái)側(cè)重于靜態(tài)碼率的使用,并未考慮直播過(guò)程中的網(wǎng)絡(luò)與傳輸條件。在視頻直播傳輸條件發(fā)生變化的情況下,需通過(guò)手動(dòng)的方式調(diào)整視頻碼率,以滿(mǎn)足用戶(hù)觀看需求。雖然此種方式可解決部分問(wèn)題,但會(huì)降低用戶(hù)的體驗(yàn)質(zhì)量(Quality of Experience,QoE)。因此,為有效提升用戶(hù)QoE,需根據(jù)網(wǎng)絡(luò)條件的變化情況以及用戶(hù)設(shè)備信息,對(duì)視頻直播傳輸進(jìn)行自適應(yīng)管理,為用戶(hù)提供一種高質(zhì)量的實(shí)時(shí)視頻直播流。基于此,本文設(shè)計(jì)了一種碼率自適應(yīng)決策軟件。該軟件基于播放速率和跳幀控制的連續(xù)時(shí)延和碼率控制算法PRFDCLRC,實(shí)現(xiàn)視頻碼率的自動(dòng)調(diào)整[2]。
1.1 QoE度量問(wèn)題
在視頻點(diǎn)播場(chǎng)景中,QoE分為3個(gè)部分,即視頻質(zhì)量、卡頓時(shí)間、視頻碼率切換等。而在視頻直播場(chǎng)景中,綜合考慮了時(shí)延控制與碼率控制,QoE分為視頻質(zhì)量、卡頓時(shí)間、直播時(shí)延、跳幀時(shí)長(zhǎng)、視頻質(zhì)量切換等,分別將這些因素對(duì)QoE的影響定義為:QoEquality、QoErebuffer、QoElatencv、QoEskip、QoEchange。碼率切換只能發(fā)生在I幀中,但選取的碼率將會(huì)影響2個(gè)連續(xù)I幀之間的幀并將其視為相應(yīng)的塊。在本次研究中,要對(duì)一組中所有幀的質(zhì)量進(jìn)行計(jì)算,并將其作為相應(yīng)的獎(jiǎng)勵(lì)。此時(shí),整體的QoE可表示為:
QoE=QoEquality+QoErebuffer+QoElatency+QoEskip+QoEchange=∑kk=1(q(rkbit)-λrTrk-λlTlk-λsTsk-λc|rbitk-rbitk+1|)(1)
式(1)中,rbitk為第k個(gè)視頻塊的碼率級(jí)別;q(·)為非減損函數(shù);Trk、Tlk、Tsk分別為卡頓時(shí)間、延遲時(shí)間、跳幀時(shí)間;λr、λl、λs、λc分別為T(mén)rk、Tlk、Tsk的權(quán)重。其中,q(·)為非減損函數(shù),可表示為:
q(rbitk)=vmaf(rbitk)(2)
1.2 播放速率與跳幀控制
1.2.1 播放速率控制
對(duì)于直播流媒體系統(tǒng)而言,若在客戶(hù)端播放器緩沖區(qū)存儲(chǔ)的視頻數(shù)據(jù)時(shí)間較長(zhǎng),說(shuō)明時(shí)延相對(duì)較大,此時(shí)加快播放器的播放速度,可減少緩沖區(qū)視頻數(shù)據(jù)的存儲(chǔ),使用戶(hù)觀看的視頻畫(huà)面與服務(wù)器中更新的畫(huà)面相同,進(jìn)而降低直播過(guò)程中的時(shí)延。在緩沖區(qū)中視頻數(shù)量相對(duì)較少時(shí),通過(guò)減緩播放器播放速度的方式,可避免視頻播放過(guò)程中出現(xiàn)卡頓的情況??炻C(jī)制如圖1所示。
從圖1中可看出,在客戶(hù)端播放器緩沖區(qū)大小低于慢播放的閾值的情況下,客戶(hù)端會(huì)以0.95倍的播放速度播放相應(yīng)的視頻;在大于快播放的閾值時(shí),客戶(hù)端會(huì)以1.05倍的速度播放視頻;在緩沖區(qū)大小處于兩者之間時(shí),通過(guò)正常的播放速度播放[3]。
1.2.2 跳幀控制
假設(shè)視頻的選幀問(wèn)題為基于VMAF分?jǐn)?shù)的優(yōu)化問(wèn)題,則有:
max∑Ii=1vmaf(i)
s.t.∑Ii=1s(i)f(i)≤Sizemax
iffi=0, then fj=0, j∈Pi(2)
式(2)中,s(i)為第i幀的大??;fi為跳幀的變量,若fi=0,說(shuō)明第i幀被消除,反之,存在;P(i)為相應(yīng)的幀集且其中包含幀來(lái)源于第i幀,當(dāng)?shù)趇幀被消除后,便不會(huì)對(duì)其中存在的幀進(jìn)行編碼;vmaf(i)為第i幀的VMAF分?jǐn)?shù);Sizemax為預(yù)定義視頻塊大小的上界。在前幀被消除的情況下,可對(duì)前幀進(jìn)行相應(yīng)的復(fù)制。其中,vmaf(i)可表示為:
vmaf(i)=∑i=1D(vmafD(i)f(i)-D∏Dd=1(1-fi-D+d))(3)
式(3)中,D為最近一次跳幀開(kāi)始的時(shí)間間隔;vmafD(i)為第i幀被取代時(shí)的VMAF分?jǐn)?shù)。
在本次研究中,主要通過(guò)IBM CPLEX優(yōu)化技術(shù)求解上述跳幀問(wèn)題。在求解過(guò)程中發(fā)現(xiàn),在D≥2的情況下,vmafD(i)≈0。因此,可通過(guò)此種條件將跳幀優(yōu)化問(wèn)題的復(fù)雜程度降低,獲取最優(yōu)的跳幀優(yōu)化解[4]。
1.2.3 PRFDCLRC算法設(shè)計(jì)
在本次研究中,結(jié)合深度強(qiáng)化學(xué)習(xí)中的DDPG算法,設(shè)計(jì)一種基于播放速率和跳幀控制的連續(xù)時(shí)延和碼率決策算法。
(1)特征狀態(tài)。
將直播系統(tǒng)收集的狀態(tài)信息(如網(wǎng)絡(luò)吞吐量、緩沖區(qū)大小、時(shí)延等)輸入網(wǎng)絡(luò)模型,將輸出動(dòng)作定為目標(biāo)緩沖區(qū)大小以及碼率級(jí)別,此時(shí)網(wǎng)絡(luò)狀態(tài)信息sk可表示為:
sk=(P→k,Bk,rek,lk,rbitk-1,Cstallk,Sk,Cskipk,Nk)(4)
式(4)中,Pk→為以往的歷史特征狀態(tài),包含客戶(hù)端緩沖區(qū)大小、端到端延時(shí)、視頻大小等信息?;谏鲜鲂畔⒖捎?jì)算出網(wǎng)絡(luò)吞吐量的大小。此外,通過(guò)分析這些狀態(tài)信息,可使神經(jīng)網(wǎng)絡(luò)感知直播過(guò)程中的網(wǎng)絡(luò)吞吐量以及客戶(hù)端緩沖區(qū)存儲(chǔ)情況;Bk為直播過(guò)程中緩沖區(qū)的大?。籸ek為上個(gè)視頻至現(xiàn)在累積的卡頓時(shí)間;lk為直播過(guò)程中的延時(shí);rbitk-1為上個(gè)視頻選擇的碼率級(jí)別;Cstallk為客戶(hù)端是否出現(xiàn)卡頓情況;Sk為服務(wù)器端是否存在未下載視頻;Cstallk為客戶(hù)端是否存在跳幀下載的情況;Nk為CDN上的幀數(shù)量。
(2)網(wǎng)絡(luò)模型。
對(duì)于PRFDCLRC算法而言,其主要是在DDPG算法的基礎(chǔ)上實(shí)現(xiàn),而DDPG算法的基礎(chǔ)為Actor、Critic 2種網(wǎng)絡(luò)。在Actor中,主要是通過(guò)3層神經(jīng)網(wǎng)絡(luò)提取相應(yīng)狀態(tài)信息并輸出相應(yīng)的動(dòng)作。由于sk中存在歷史狀態(tài)序列以及相應(yīng)的單值數(shù)據(jù),因此需通過(guò)一維卷積神經(jīng)網(wǎng)絡(luò)從第一個(gè)隱藏層中提取相應(yīng)的歷史狀態(tài)特征,通過(guò)全連接神經(jīng)網(wǎng)絡(luò)提取單值狀態(tài);第二層主要是通過(guò)全連接的方式實(shí)現(xiàn)多維特征向量的融合;第三層同樣通過(guò)全連接的方式輸出相應(yīng)的動(dòng)作決策。
此外,在Critic接收到sk后,便會(huì)引入Actor中的輸出動(dòng)作,進(jìn)而有效提升Actor網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性[5]。
(3)動(dòng)作映射。
對(duì)于DDPG算法而言,其輸出結(jié)果為連續(xù)的動(dòng)作值。為準(zhǔn)確獲取緩沖區(qū)的大小以及相應(yīng)的碼率級(jí)別,需將其工作動(dòng)作映射。對(duì)Actor中輸出的動(dòng)作值進(jìn)行映射,使其成為真實(shí)的時(shí)延與碼率控制決策。具體映射公式可表示為:
rbitk=bit0,rbitk∈-1,-1+2n
bit1,rbitk∈-1+2n,-1+4n
bitn-1,rbitk∈1-2n,1(5)
式(5)中,rbitk為碼率決策。
2 仿真實(shí)驗(yàn)
2.1 數(shù)據(jù)收集
仿真數(shù)據(jù)集主要為網(wǎng)絡(luò)數(shù)據(jù)集、視頻數(shù)據(jù)集。其中,視頻數(shù)據(jù)集為京東直播場(chǎng)景,如熱點(diǎn)直播、明星直播、KOL直播等。視頻數(shù)據(jù)的碼率級(jí)別分為 {500 kbps、850 kbps、1 200 kbps}。網(wǎng)絡(luò)數(shù)據(jù)集主要為 Live Video Streaming Challen 提供的網(wǎng)絡(luò)數(shù)據(jù),其中的部分?jǐn)?shù)據(jù)來(lái)源于Wi-Fi以及LTE中采集的網(wǎng)絡(luò)吞吐量,平均為1.58 Mbps,偏差為1.22,范圍為0.2~11.68 Mbps。
2.2 參數(shù)設(shè)置
QoE評(píng)估指標(biāo)的參數(shù)設(shè)置如表1所示。此外,Actor、Critic 2種網(wǎng)絡(luò)中的卷積核數(shù)與全連接的神經(jīng)單元數(shù)均設(shè)置為128,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率分別設(shè)為10-3、10-4。
2.3 仿真結(jié)果分析
為驗(yàn)證本文算法可行性,將其與DQN算法進(jìn)行對(duì)比。由于DQN算法的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與網(wǎng)絡(luò)參數(shù)大致與本文提出算法相同,考慮時(shí)延間隔與不同的離散程度,需將時(shí)延控制離散為{0.3、1.03、1.77、2.5}和{0.3、0.61、0.93、1.24、1.56、1.87、2.19、2.5}2種,且DQN的動(dòng)作空間分別設(shè)置為32、64。
2.3.1 QoE度量指標(biāo)
2種算法的QoE指標(biāo)性能比較結(jié)果,如圖2所示。
從圖2中得知,本文算法除時(shí)延之外,其他指標(biāo)均優(yōu)于DQN算法。雖然時(shí)延大于DQN算法,但從整體情況來(lái)看,時(shí)延處于正常。
2.3.2 平均QoE
在本地訓(xùn)練集中經(jīng)過(guò)107的訓(xùn)練后,通過(guò)平均QoE對(duì)比2種算法的性能,結(jié)果如表2所示。
通過(guò)分析表2得知,本文算法在熱點(diǎn)直播、明星直播、KOL直播等場(chǎng)景中的平均QoE相對(duì)較高。由此得知,本文設(shè)計(jì)自適應(yīng)軟件可有效提升用戶(hù)直播觀看體驗(yàn)感,對(duì)于京東直播平臺(tái)的構(gòu)建有著十分重要的作用。
3 結(jié)語(yǔ)
針對(duì)傳統(tǒng)流媒體視頻直播過(guò)程中忽略網(wǎng)絡(luò)環(huán)境變化,不能根據(jù)網(wǎng)絡(luò)變化適時(shí)調(diào)整視頻傳輸?shù)膯?wèn)題,本文設(shè)計(jì)一種基于人工智能的碼率自適應(yīng)軟件。該軟件主要是通過(guò)連續(xù)時(shí)延和碼率控制算法,提升用戶(hù)的直播觀看體驗(yàn)感。仿真結(jié)果表明,該軟件可有效提升用戶(hù)直播觀看體驗(yàn)感,對(duì)于京東直播平臺(tái)的構(gòu)建有著十分重要的作用。
參考文獻(xiàn)
[1]詹亙,肖晶,陳宇靜,等.面向自適應(yīng)碼率視頻直播的碼率控制算法[J].計(jì)算機(jī)工程,2019(3):268-272.
[2]洪偉聰.基于無(wú)線(xiàn)網(wǎng)絡(luò)的智能視頻編碼軟件設(shè)計(jì)[D].杭州:浙江工業(yè)大學(xué),2019.
[3]金肱羽,武霄泳,張志龍,等.面向視頻流媒體直播的碼率自適應(yīng)算法研究[J].中國(guó)傳媒大學(xué)學(xué)報(bào)(自然科學(xué)版),2022(1):8-14.
[4]宋靳錁,張遠(yuǎn),王博.HTTP自適應(yīng)流媒體直播系統(tǒng)中的用戶(hù)體驗(yàn)質(zhì)量?jī)?yōu)化[J].中興通訊技術(shù),2021(1):48-53.
[5]王平凡,劉淑芬.基于HMM的自適應(yīng)軟件決策模型[J].吉林大學(xué)學(xué)報(bào)(理學(xué)版),2018(3):645-649.
(編輯 姚 鑫編輯)
Research on the construction of JD Live streaming application platform model of
adaptive software based on artificial intelligence
Yang Zhenhui
(Qingdao Technical College, Qingdao 266555, China)
Abstract:? Against the backdrop of the rapid development of streaming media technology, users demand for online content is constantly increasing, and video transmission is facing new challenges. To address the issue of neglecting network environment changes in traditional streaming media technology during video live streaming, which prevents timely adjustment of video transmission based on network changes, a rate adaptive software based on artificial intelligence is designed, which dynamically adjusts video direct transmission through continuous delay and rate control algorithms. The simulation results show that the artificial intelligence based rate adaptive software designed in this article can adjust the video live streaming effect in real-time based on network changes during the live streaming process, effectively improving the users viewing experience.
Key words: artificial intelligence; adaptive; code rate algorithm; live broadcast platform
無(wú)線(xiàn)互聯(lián)科技2023年24期