杜麗娜,卓力,楊碩,李嘉鋒,張菁
(1.北京工業大學計算智能與智能系統北京市重點實驗室,北京 100124;2.北京工業大學信息學部,北京 100124)
隨著移動通信技術和移動智能終端的迅猛發展,移動互聯網用戶數量以及移動視頻業務流量呈指數級增長趨勢。思科公司的報告預測,到2022 年,視頻業務流量將占據全球互聯網數據流量的82%[1]。與傳統互聯網在線視頻業務相比,移動環境下的視頻業務呈現出空間移動性、時間碎片性以及社交關聯性等新的復雜特性。面向復雜的移動環境以及移動視頻業務所呈現出的新特性,如何在有限的網絡資源條件下保障移動視頻業務的用戶體驗質量(QoE,quality of experience),成為當下學術界和工業界共同關注的熱點課題。
QoE 是指用戶對設備、網絡、系統、應用或業務的質量和性能的整體主觀感受[2],反映了用戶在接受服務時的滿意或舒適程度。國際電信聯盟[3]對QoE 的定義為“用戶使用一項應用或服務時感到的快樂或煩惱程度”。
目前的移動視頻流媒體業務普遍采用基于HTTP 的自適應流媒體(HAS,HTTP adaptive streaming)技術進行傳輸。HAS 技術可以根據網絡的時變、波動特性以及客戶端的播放狀態自適應調整視頻碼率,有效提高用戶的質量體驗。2012 年,MPEG 和3GPP 聯合推出了基于HTTP 的動態自適應流媒體(DASH,dynamic adaptive streaming over HTTP)國際標準[4],以滿足移動流媒體業務日益發展的需求。除此之外,工業界也推出了各種HAS協議,如Adobe公司推出了HTTP動態流媒體(HDS,HTTP dynamic streaming)[5],蘋果公司推出了HLS(HTTP live streaming)[6],微軟公司推出了MSS(Microsoft smooth streaming)[7]等。由于HAS 技術具有兼容性好、擴展性強、易部署等優點,目前已被廣泛應用于各種移動流媒體業務系統中。
HAS 流程如圖1 所示。對原始視頻以不同的碼率進行編碼,將每個視頻碼流分割成不同的片段存儲于服務器端。客戶端根據當前的網絡狀況、自身硬件的處理能力、緩存狀態等,動態調整視頻流的碼率,以提升用戶的QoE。可以看出,在客戶端部署的碼率自適應(ABR,adaptive bit rate)算法,是HAS 技術的核心所在。

圖1 HAS 流程
在實際應用過程中,ABR 算法仍然面臨許多的困難與挑戰。這些挑戰主要來自以下幾個方面。
1) 網絡狀態的多變性以及不可預測性。
2) 決策的累積效應。即前面的決策會影響未來的碼率選擇,這就需要ABR 算法決策具有一定的前瞻性和預測性。
3) 實時性。ABR 算法的決策時間不能過長。
4) 公平性和穩定性。多個客戶端同時通過瓶頸鏈路競爭共享帶寬時,面臨公平性和穩定性問題。
5) QoE 影響因素眾多且難以量化。QoE 的影響因素既包括主觀因素,又包括客觀因素,這些因素相互影響,尤其是主觀因素難以量化。如何精確地預測用戶QoE 是設計ABR 算法不可回避的問題。
近年來,隨著強化學習(RL,reinforcement learning)和深度學習在各個領域的廣泛應用,學者將其應用于ABR 算法中,取得了諸多有意義的成果。這些方法以直接優化用戶的QoE 為目的,從大量數據中學習碼率自適應的最優策略,可以獲得比傳統啟發式方法更好的性能,因此逐步成為目前ABR 研究的主流方向。
目前國內外已經有關于ABR 算法的研究綜述,比如,2017 年,Kua 等[8]從客戶端、服務器端和網絡內部3 個角度出發,總結了ABR 算法的研究進展。此外,作者還闡釋了直播和點播之間的區別以及具體實施過程中媒體呈現描述(MPD,media presentation description)文件的差異。2018 年,Ayad等[9]從代碼層面分析了DASH 標準開源播放器DASH-IF、谷歌的DASH Media Source 以及Bitmovin播放器的實現細節,并評估了上述3 個播放器以及Netflix、YouTube、Vimeo 共6 個播放器的性能。本文則對近幾年來出現的基于RL(包括深度強化學習)的ABR算法進行了綜述,對代表性ABR算法的思路、策略、性能等進行了深入的分析總結。
RL 的基本架構如圖2 所示。RL 包含3 個基本要素:智能體、環境和獎勵函數。其基本原理為:智能體通過從環境中觀察到的狀態選擇一個動作用于環境,環境接受該動作更新狀態并產生一個強化信號(獎或懲)反饋給智能體。如果智能體的某個行為策略導致環境正的獎賞,那么智能體產生這個行為策略的趨勢便會加強。智能體的目標是在每個離散狀態下發現最優策略,以使期望的折扣獎賞最大,并根據強化信號和當前狀態再選擇下一個動作。選擇的動作不僅影響當前的強化值,還影響環境下一時刻的狀態及最終的強化值。

圖2 強化學習基本架構
不同于監督學習和非監督學習,RL 把學習看作試探評價過程,側重在交互中學習,由智能體在與環境的交互過程中根據獲得的獎勵或懲罰不斷地學習,最終學習到更加適應環境的策略。
RL 為ABR 算法的設計提供了一種新的技術手段[10],其本質可以看成高維狀態空間的特征選擇[11]或者序列決策。在不同的前提條件下,RL 也可以轉化成動態規劃(DP,dynamic programming)、馬爾可夫決策過程(MDP,Markov decision process)、隱馬爾可夫模型(HMM,hidden Markov model)等。
目前,大多數ABR 算法的研究工作集中在QoE建模和訓練最佳策略來提高用戶QoE 等方面。將RL 應用于碼率選擇的整體架構如圖3 所示。智能體的輸入是前幾個視頻片段的碼率以及下載時間、下一個視頻片段的可選碼率等信息,輸出是擬選擇的碼率。環境包括網絡狀態和客戶端播放器的狀態等,獎勵函數普遍用QoE 模型表達。人們通過設計不同的算法來定義智能體如何做出決策。

圖3 將強化學習應用于碼率選擇的整體架構
表1 是目前比較具有代表性的幾種基于強化學習的ABR 算法。從表1 可以看出,這些ABR 算法采用的RL 方法主要包括Q-learning、HMM、MDP和DP 等,其中Q-learning 是最常用的算法。Q-learning 的經典實現方式是列舉出所有的狀態和動作,構建Q 函數表,然后迭代計算各種狀態下執行每個動作的預期回報的最大值。例如,Claeys 等[12]采用Q-learning 方法來解決ABR 問題,將環境模型劃分成2 500 萬個狀態,由于狀態空間太大,導致該模型難以收斂。作者之后進行了改進,減少了環境狀態的組成元素,并重新設計了獎勵函數,提升了性能[13]。由于Q-learning 方法在計算和存儲Q 函數表時需要耗費大量的時間與空間,因此基于Q-learning 的ABR 算法需要在Q 函數表空間-時間復雜度和QoE 性能之間進行折中。

表1 基于強化學習的代表性ABR 算法
RobustMPC[19]算法是一種基于控制理論的ABR 算法,該算法綜合考慮帶寬預測器預測的帶寬、緩沖區狀態以及用戶的QoE 來選擇碼率,所采用的QoE 模型被廣泛應用于各種基于RL 的ABR算法中,如式(1)所示。

其中,Rn表示第n個視頻片段的碼率,q(Rn)表示視頻質量,Tn表示卡頓時長,最后一項表示平滑度,α、β、γ表示每一項的權重。
RobustMPC 算法對帶寬預測的準確性要求較高,當帶寬預測不夠準確時,算法性能會出現明顯下降。為此,Sun 等[14]利用隱馬爾可夫模型進行帶寬預測,該算法在帶寬劇烈抖動的情況下依然有較好的性能。Chiariotti 等[15]采用并行學習技術,可提高學習率并限制次優選擇,從而實現快速而準確的學習過程,并迅速收斂于穩定的獎勵。通過選擇最佳碼率,使長期預期獎勵最大化。
還有一部分研究者采用DP 來解決ABR 問題。例如Andelin 等[16]采用DP 來解決碼率的最優選擇問題,設計獎勵函數時考慮了視頻質量以及視頻質量切換等因素。仿真網絡下的實驗結果表明,該算法可以有效提升用戶的QoE。
PANDA/CQ[17]是另一種比較具有代表性的使用DP 的ABR 算法,該算法的重點在于獎勵函數的設計,目的是減少不必要的質量切換對QoE 產生的影響。García 等[20]提出基于隨機DP 的ABR 算法,目的是學習到保障用戶QoE 的最佳請求策略。該算法的獎勵函數是視頻質量、卡頓頻率和時長以及質量切換的線性表達式,通過對卡頓、質量切換等不同指標的實驗結果分析,證明該算法可以實現視頻質量和卡頓之間的均衡。
總體來看,基于RL 的ABR 算法以最優化QoE為目標,通過數據驅動的方式訓練ABR 算法。算法不依賴預先設計的模型或對環境的假設,通過觀察和實驗逐漸學習到碼率自適應的最佳策略,取得了比啟發式方法更好的性能。然而,采用傳統的RL算法設計的ABR 算法存在維度災難以及收斂緩慢的問題。受限于算法對于高維數據的表達能力,基于RL 的ABR 算法的動作空間和樣本空間都很小,難以應對具有很大狀態空間和動作空間的情況。
近年來,深度學習在計算機視覺、自然語言處理、語音識別等領域取得了極大的成功。研究者將深度學習與RL 相結合,提出各種深度強化學習(DRL,deep reinforcement learning)算法,如2013 年Mnih[21]提出的深度Q 網絡(DQN,deep q-network),可利用深度學習自動提取大規模輸入數據的抽象表征,使深度強化學習能夠解決各種復雜的決策任務。
2017 年以來,研究者開始將DRL 應用到ABR算法中,Pensieve 算法[22]是使用DRL 解決ABR 問題最有代表性的算法之一,已成為目前基于DRL的 ABR 算法的基準。Pensieve 算法采用Actor-Critic[23]算法實現ABR,其算法結構如圖4 所示。智能體的輸入是上一個視頻片段的下載時間、帶寬估計值、下一個視頻片段的可選大小、當前緩沖區占有率、剩余視頻片段數量以及前幾個視頻片段的碼率,輸出是所選擇的碼率,獎勵函數是RobustMPC 算法采用的QoE 模型,如式(1)所示。深度神經網絡(DNN,deep neural network)由一維卷積神經網絡(CNN,convolutional neural network)和全連接層組成,輸出為下一個視頻片段的碼率。DNN 作用是提高算法對高維數據的表達能力,進而緩解“維度災難”問題。

圖4 Pensieve 算法結構
具體而言,DNN 用來擬合DRL 中的各種函數,如價值函數和策略函數等。研究結果表明,在強化學習中引入DNN,有助于學習到更好的策略,從而獲得更優的性能。
2018 年,Paul 等[24]對Pensieve 算法進行了擴展,在低帶寬環境下測試了Pensieve 算法的性能。盡管Pensieve 取得了遠超啟發式算法的性能,但是依然存在很大的改進空間。為此,研究者從獎勵函數、深度神經網絡結構、實時性等角度出發,提出了各種基于DRL 的ABR 算法。
QoE 的影響因素眾多,不同的因素對QoE 有著不同的影響,而現有的用作獎勵函數的QoE 模型忽略了視頻的內容特性、用戶的行為偏好等影響因素。為此,研究者從不同的角度對獎勵函數進行了改進。
1) 考慮用戶的行為偏好、興趣度等主觀因素對QoE 的影響
Sengupta 等[25]提出HotDASH 算法,考慮了用戶的行為偏好,將用戶對視頻片段的偏好程度寫入MPD 文件,以便環境將該狀態信息傳遞給智能體,預提取滿足用戶偏好的視頻片段。其獎勵函數在式(1)的基礎上考慮了用戶的偏好,采用Actor-Critic算法訓練策略。實驗結果表明,該算法的性能優于現有的啟發式方法以及Pensieve 等基于DRL 的ABR 算法。
Gao 等[26]認為,大多數ABR 算法都沒有考慮到視頻的語義信息,而語義信息在很大程度上決定了視頻內容的信息量和趣味性,從而影響用戶的QoE。為此,作者提出了一種基于內容興趣度(CoI,content of interest)的ABR 算法。首先設計一種用于識別視頻CoI的深度學習方法,然后將視頻的CoI信息作為智能體的一個輸入,采用DQN 方法實現ABR 算法。
文獻[27]提出了一種情感內容感知的ABR 算法。作者考慮了用戶對情感內容(AC,affective content)的偏好,將視頻幀的AC 分為6 類,采用ResNet 網絡對視頻幀的AC 進行分類,并輸出其屬于每一類別的置信度。之后對視頻片段中所有幀的類別置信度求平均,作為整個視頻片段的置信度,并將用戶的情感偏好加入獎勵函數中,根據用戶的情感偏好來優化QoE。
這些方法在進行QoE 建模時,充分考慮了用戶的主觀因素,建立的模型可以更好地表征人的感知,因此獲得了更好的QoE 性能。
2) 考慮視頻內容特性對QoE 的影響
文獻[28]觀察到用戶在視頻的某些部分對低質量的敏感度高于其他部分。為此,該算法對每個視頻進行眾包實驗,以得出用戶在視頻不同部分的質量敏感性,將敏感性作為權重對KSQI 模型[29]進行修正,并將該模型應用到ABR 算法中。實驗結果表明,這些改進可以有效提高QoE。
文獻[30]建立了一種連續性QoE 模型,該模型考慮了前一段時間出現的卡頓、平均的視頻質量對當前QoE 的影響。研究結果表明,將該模型作為獎勵函數,其性能要優于Pensieve 算法。
上述的研究結果表明,通過改進獎勵函數,可以在一定程度上提高ABR 算法的性能。
學者將各種先進的深度學習方法與強化學習相結合,提升ABR 算法的有效性。
Tiyuntsong 方法[31]將生成對抗網絡與Actor-Critic 相結合,生成對抗網絡用來從過去的狀態中提取隱藏的特征,采用Self-Play 深度強化學習方法,通過訓練2 個相互競爭的智能體來自動學習碼率控制策略。
Zwei 方法[32]將DRL 與蒙特卡羅算法相結合,在蒙特卡羅搜索過程中,根據當前策略從起始狀態中采樣多個軌跡,通過平均每個軌跡對的競爭結果來估計預期的長期獲勝率,其中結果表示哪個軌跡更接近2 條軌跡之間的實際需求。估計獲勝率后,通過增加獲勝樣本的概率和減少失敗樣本的可能性,采用近端策略優化[33]來優化DNN,以獲得更優的策略。
針對現有的ABR 算法主要側重于優化所有客戶端的整體QoE,而忽略了不同用戶QoE 多樣性的問題,Huo 等[34]提出了多用戶感知的元學習方法,該方法將元學習和多任務DRL 相結合,通過主觀實驗分析驗證了不同用戶在QoE 影響因素上的差異,并且量化這個差異。在此基礎上,作者修正了獎勵函數,借鑒Frans 等[35]提出的方法建立了一種多任務深度強化學習框架,實現了多用戶偏好的QoE 優化。
深度學習與強化學習相結合,雖然可以利用深度學習強大的表征能力提升性能,但同時也面臨樣本效率低、難以收斂、計算復雜度高等問題。為此,很多學者針對性地提出了各種解決方案。
針對無模型深度強化學習方法難以收斂等問題,Liu 等[36]采用支持向量回歸(SVR,support vector regression)建立了一個chunk-wise 感知的獎勵函數,將Pensieve 算法中的Actor-Critic 算法替換為深度Q-learning 算法,并加入double Q-learning、Dueling network 以及 multi-step 等機制對深度Q-learning 網絡進行改進,使網絡訓練能更快收斂,并獲得更高的平均QoE。
Saleem 等[37]提出了一種基于 double deep Q-learning 的ABR 算法,并對算法的性能進行了較全面的評估,主要評價指標有峰值信噪比(PSNR,peak signal to noise ratio)、結構相似性(SSIM,structural similarity index measure)、卡頓頻率和質量切換等客觀指標以及用戶的QoE。實驗結果表明,與Actor-Critic 方法相比,采用double deep Q-learning具有更快的收斂速度。
針對現有方法樣本效率低和對視頻質量信息感知不足的缺點,Huang 等[38]提出了Comyco 算法,該算法主要包括及時求解器、仿真播放器、經驗池以及神經網絡4 個模塊。其中,及時求解器負責提供專家策略,經驗池負責存儲專家策略,神經網絡負責訓練策略、做出決策。
Comyco 算法利用模仿學習解決強化學習樣本效率低的問題,以視頻的感知質量作為獎勵函數。此外,作者認為視頻質量上升和下降對QoE 的影響不同,因此對獎勵函數進行了改進,采用視頻多方法評價融合(VMAF,video multimethod assessment fusion)準則來度量視頻質量q(Rn)。
DAVS[39]是一種基于學徒學習的ABR 算法,該算法不需要獎勵函數作為指導,而是從專家示例中學習更好的策略。考慮到視頻內容上的差異性,將視頻分為動態片段(紋理豐富度高且運動復雜度高)和靜態片段,并為動態片段分配更高的質量。
隨著深度學習的不斷發展,人們提出了各種DNN 結構,眾多研究者對DRL 算法中的DNN 進行了改進。
2017 年,Gadaleta 等[40]提出了D-DASH 方法。該方法采用deep Q-learning 方法實現碼率自適應,其中的深度神經網絡采用的是多層感知機以及長短期記憶(LSTM,long short-term memory)等網絡結構。實驗結果表明,與基于強化學習的ABR 算法相比,D-DASH 方法表現出更快的收斂速度以及更好的性能。
LASH 是Lekharu 等[41]提出的一種ABR 算法,該算法采用LSTM 代替部分1D-CNN,將輸入部分分為兩組:一組輸入LSTM 網絡,另一組輸入全連接層,將兩部分的輸出合并后,輸入下一層全連接層。實驗結果表明,加入LSTM 使模型能夠更準確地學習到時序特征。與Pensieve 算法相比,平均QoE 提升了約8.84%。
總體來說,深度神經網絡可以有效解決傳統強化學習算法中“維度災難”的問題,提高算法對于高維數據的表達能力,通過對深度強化學習中的價值函數、策略函數等進行有效擬合,使網絡可以學習到更好的策略。
移動視頻流在網絡傳輸過程中,要綜合考慮網絡狀況、視頻編碼方式、實時傳輸需求等多種因素。很多學者針對這些因素開展了研究工作。
單個方案往往無法對復雜多變的網絡情況進行充分的建模。為此,有學者通過集成多個ABR算法來提高用戶的QoE。比如,Zhang 等[42]提出了集成自適應流媒體(EAS,ensemble adaptive streaming)方法,該方法首先對網絡環境進行分類,之后為每種網絡環境分別設計了相應的ABR 算法以適應其特性,依據網絡狀態動態匹配合適的算法。實驗結果表明,EAS 可以應對更具挑戰性的網絡環境。
Zhao 等[43]設計了時延控制模型來控制跳幀,并通過集合2 個不同網絡軌跡下訓練出來的ABR 算法來提高用戶的QoE。Akhtar 等[44]提出了一種Oboe方法。該方法首先對不同的網絡狀態進行建模,并訓練出不同網絡環境的最佳參數,之后在線檢測網絡狀態改變點,并自適應調整參數。實驗結果表明,Oboe 方法顯著提升了RobustMPC、Pensieve 等算法的性能。
眾所周知,視頻傳輸質量在很大程度上取決于可用帶寬資源。為此,Yeo 等[45]提出NAS 方法,應用圖像超分辨率DNN 來提升視頻的增強質量,最大化用戶的QoE。在進行碼率控制時,利用深度強化學習來選擇下載的視頻片段的碼率和DNN 塊,降低了視頻傳輸質量對帶寬資源的依賴程度。
針對視頻流的實時傳輸需求,研究者開展了ABR 算法的研究。QARC 是Huang 等[46]提出的一種面向實時視頻流的碼率自適應算法,該算法包括視頻質量預測網絡(VQPN,video quality prediction network)和視頻質量增強學習(VQRL,video quality reinforcement learning)2 個子網絡,VQPN 根據歷史視頻幀的質量預測當前視頻幀的質量,其輸入是前幾個視頻幀,輸出是下一時刻視頻幀的質量;VQRL 則依據網絡狀態和VQPN 的預測情況選擇合適的碼率。VQRL 采用Actor-Critic 算法,輸入是VQPN 預測的視頻幀的質量、最近k個發送和接收到的視頻幀的碼率、時延以及數據分組丟失率,獎勵函數考慮了視頻質量、時延、碼率和質量切換,輸出是所選擇的碼率。
雖然QARC 取得了很好的性能,但是作者認為其缺乏可解釋性,因此于2019 年進一步提出了升級版EQARC(explainable QARC)[47]。EQARC 包括EVQPN(explainable VQPN)和EVQRL(explainable VQRL)2 個子網絡:EVQPN 由VQPN 中加入注意力機制形成,用來更準確地預測當前視頻幀的質量;EVQRL 采用2D-CNN 代替VQRL 中的1D-CNN,獲得了比QARC 算法更優的性能。
Deeplive[48]是另一個針對實時視頻流的ABR算法,其獎勵函數綜合考慮了碼率、卡頓時長、端到端的時延、丟幀以及質量切換等因素,輸入包括過去k個視頻幀的碼率、卡頓時長、緩沖區大小和端到端時延,動作包括所選擇的碼率、目標緩沖區以及時延限制,輸出是所選擇的碼率。實驗結果表明,在4 種不同的網絡環境下,Deeplive 方法獲得的QoE 比Pensieve 算法平均提高了15%以上。
有學者將深度強化學習與可擴展視頻編碼(SVC,scalable video coding)相結合,來提高用戶的QoE。一般的ABR 算法中,視頻普遍以恒定碼率進行編碼,而SVC 可以提供細粒度的碼率切換,為HAS 客戶端提供更大的靈活性,在可變網絡條件下,可以減少卡頓的發生。但是,SVC 會引入額外開銷,并增加獲取視頻塊的HTTP 請求數量。
LAAVS[49]方法采用SVC 和非SVC 相結合的方式,可以在不影響視頻質量的情況下顯著減少視頻的卡頓。實驗結果表明,該方法可以取得比Pensieve更高的平均QoE。
Grad-HYBJ[50]是一種基于深度強化學習的ABR 算法,該算法將SVC 的質量控制機制加入算法中,考慮了編碼開銷對QoE 的影響。同時,提出了一種混合編碼(HYBJ,jump-enabled hybrid coding)方法來減輕這方面的影響。與Pensieve 算法相比,平均QoE 提升了約17%。
基于深度強化學習的ABR 算法取得了遠超啟發式方法的性能,逐漸成為研究熱點,同時也引起了工業界的重視。針對現有算法存在的僅針對單用戶、未考慮運營商帶寬成本等問題,工業界開展了深入的研究。
RESA[51]是愛奇藝提出的一種實時的ABR 算法,該算法綜合考慮流暢度、清晰度和平滑度(視頻質量等級切換次數占總視頻片段數量的比例)3 個方面的因素,加權組合建立QoE 模型,QoE 模型的參數依據用戶的觀看行為偏好進行設置。真實用戶的在線評估結果表明,該算法在為優質用戶和普通用戶提供不同QoE 的同時,還可以控制服務提供商的帶寬成本。
快手聯合清華大學從訓練效率和模型復雜度2 個方面對 Comyco 算法進行了改進,提出了Lifelong-Comyco 算法[52]。該算法由外循環系統和內循環系統兩部分組成:內循環系統是Comyco,外循環系統的目標是進一步減少訓練時所需的訓練集。首先對客戶端估計的帶寬數據進行整理,找出線下最優解。然后查看當前線上策略與線下最優解所取得的QoE 的差距,當差距超過某個值時,將當前帶寬數據放入要訓練的數據集中。最后采用終身學習的方法訓練神經網絡,使網絡可以在不忘記過去表現良好的帶寬數據的情況下,記住表現不好的帶寬數據。與Pensieve 算法相比,訓練效率提高了1 700 倍,訓練速度提高了16 倍,平均QoE 提高了4.57%~9.93%。而且該模型的浮點計算量僅為輕量級神經網絡ShuffleNetV2[53]的0.15%,可以成功部署在筆記本電腦等移動設備上。
Stick[54]是一種低復雜度的ABR 算法,該算法將傳統的啟發式方法BBA(buffer-based algorithm)[55]與基于學習的方法相結合,通過深度學習方法增強BBA 的性能。與此同時,BBA 又能給基于深度學習的算法帶來更多的領域知識,從而降低模型的浮點運算量(FLOPS,floating point operation per second)。Stick 算法主要包含Stick 和Trigger 這2 個模塊,Stick 模塊利用線下訓練好的神經網絡,根據當前客戶端接收的狀態輸出連續值,用于控制BBA算法的閾值;Trigger 模塊用于決定是否開啟Stick模塊的輕量級神經網絡,從而進一步降低Stick 神經網絡的整體浮點計算量。在多個數據集上的實驗結果表明,該算法獲得的平均QoE 要高于Pensieve算法,且模型的FLOP 降低了88%。
綜上所述,近幾年基于DRL 的ABR 算法研究工作主要集中在以下幾個方面:1) 建立更精確的用戶QoE 模型來指導ABR 算法;2) 設計合適的DNN,優化網絡訓練策略,使網絡可以更好地擬合深度強化學習中的價值函數和策略函數,進而學習到更好的策略;3) 應對網絡狀態的多變性以及用戶對于高質量視頻的需求;4) 針對深度強化學習方法樣本效率低、難以收斂等問題設計更合適的算法。
表2 列舉了目前幾種代表性的基于深度強化學習的ABR 算法,從算法面向的業務類型、獎勵函數、強化學習算法、網絡軌跡數據集、性能評價指標(包括平均QoE 提升和節約帶寬)等方面進行了總結。在目前的研究工作中,對算法性能進行測試時,普遍采用的網絡軌跡數據集是HSDPA[56]和FCC[57],也有少量研究工作采用 4G LTE[58]和Oboe[44]等網絡數據集。測試視頻則普遍采用的是Envivio 序列。文獻[38-39]則在不同類型的視頻(如游戲、電影、新聞以及運動等)上對Comyco和DAVS算法進行了測試。測試結果表明,算法的性能與視頻的內容密切相關。具體來說,對于電影、新聞和運動這幾類場景切換較頻繁的視頻,Comyco 算法可以獲得更高的QoE[38]。對DAVS 算法的測試結果表明,對紋理豐富度高且運動復雜度高的視頻,應該分配更高的質量[39]。

表2 基于深度強化學習的代表性ABR 算法
雖然基于深度強化學習的ABR 算法有著遠超啟發式方法的性能,但是其復雜度較高,往往難以直接在客戶端實現,尤其是針對計算和存儲資源非常有限的移動設備。為此,Meng 等[60]提出Pitree框架,該框架將ABR 轉化為決策問題,具有通用性強、高性能和可擴展等優點,可以在犧牲少量性能的情況下,大大提升處理速度。在多個數據集上的實驗結果表明,將Pensieve 以及HotDASH 等復雜度較高的算法轉為決策樹問題,可以有效節約計算和存儲資源,進而將算法部署于視頻播放器。
對算法進行性能評價時,往往需要在同一個數據集上進行,本節首先介紹各種HAS 視頻數據集以及網絡軌跡數據集,然后介紹評價標準。
數據是基于機器學習的ABR 算法研究中最重要的工具之一。ABR 算法的常用公共數據集包括HAS 視頻數據集以及網絡軌跡數據集,近年來越來越多數據集的公開為QoE 模型和ABR 算法的設計提供了良好的基礎。
4.1.1 HAS 視頻數據集
采用HAS 傳輸的視頻可能存在卡頓(包括初始延時)和質量切換2 種失真。早期的數據集大部分為手工生成且包含失真類型單一,數據規模有限。近幾年,數據集規模不斷擴大,包含的失真類型、采用的ABR 算法和網絡環境更加豐富。
表3 是最常用的幾個公開HAS 視頻數據集,給出了各個數據集的發布時間、QoE 影響因素、原始視頻數量、網絡軌跡數量、失真視頻數量、觀看設備以及視頻質量感知度量準則等信息。

表3 代表性公開HAS 視頻數據集
得克薩斯大學公布的LIVE-NFLX-II[65]是目前最全面的數據集之一。該數據集在7 種網絡環境下,采用4 種ABR 算法由15 個原始視頻生成了420 個失真視頻。數據集提供了每個視頻的連續性和回顧性主觀MOS 得分。
滑鐵盧大學建立的SQoE-Ⅲ數據集[66]包含450個視頻。將20 個不同內容類型的源視頻序列編碼為11 個碼率等級(235~7 000 kbit/s),并存儲于服務端。客戶端選擇了6 個具有代表性的ABR 算法,在13 個網絡環境下進行仿真,采用ITU-R 絕對類別標度進行主觀測試,并進行打分。數據集中給出了MOS、VMAF 等多種視頻質量打分結果。
2020 年,SQoE-Ⅲ的作者公布了SQoE-IV[67]。SQoE-IV 是目前為止最大的公開數據集,共包含1 350 個失真視頻,5 個時長30 s 的不同內容的原始視頻經過H.264 和HEVC 編碼器編碼為13 個碼率等級,在9 個網絡環境條件下進行仿真。客戶端選擇了5 個具有代表性的ABR 算法,測試者在3 種設備上觀看打分。在此基礎上,作者對現有的11 種QoE 模型的性能進行了評估。實驗結果表明,最新的QoE 模型與主觀評分之間的相關性還有待提高,QoE 模型和ABR 算法都有改進的余地。
4.1.2 網絡軌跡數據集
近年來,研究者公布了多個網絡軌跡數據集。表4 是最常用的幾個公開網絡軌跡數據集,給出了各個數據集的發布時間、移動模式、持續時間、軌跡數目、帶寬范圍等信息。

表4 代表性公開網絡軌跡數據集
已經公開的數據集中包括3G[56]、4G[58]、5G[69]等多種網絡通信環境下的軌跡數據,其中FCC 數據集是美國聯邦通信委員會依據美國測量寬帶計劃定期公布的帶寬數據集。目前常用的FCC 數據集于2016 年公布。
早期的ABR 算法常用平均比特率、卡頓次數、卡頓頻率、平滑性等指標來度量ABR 算法性能的優劣,無法準確反映用戶QoE。目前的ABR 算法普遍采用QoE 提升程度、視頻感知質量、卡頓時長、平滑性以及QoE 相同情況下節約帶寬的比例等指標來度量算法的性能。由于目前沒有公認的QoE 評價標準,各算法中所采用的QoE 評價模型往往是研究者自行建立的。
考慮到平均比特率無法準確反映視頻的主觀感受質量,有部分算法采用SSIM、VMAF 等指標來評價視頻的感知質量。其中VMAF 是Netflix公司提出的一種全參考視頻質量客觀評價指標,該指標采用視覺信息保真度、細節損失程度和運動信息等評估方法對視頻質量進行度量,使用SVR 將3 個指標進行融合,得到最終的評估結果,這種方式使VMAF 可以保留每種質量評估方法的優勢。相比于PSNR、SSIM 等視頻質量客觀評價準則,VMAF 指標更接近于用戶的主觀感受,可以與人類的主觀評價保持一致,因此被越來越多地應用于 ABR 算法中,對視頻感知質量進行度量。
圖5 和圖6 給出了Comyco、Pitree_Comyco、Pensieve、RobustMPC、BOLA[70]和Rate_based[71]共6 種代表性ABR 算法在FCC 數據集上的測試結果。其中Comyco、Pensieve 是基于DRL 的ABR 算法,Pitree_Comyco 是將Comyco 算法通過Pitree 框架轉化為決策樹的算法,RobustMPC、BOLA 和Rate_based 是傳統的啟發式ABR 算法。圖5 是6 種算法的平均QoE 累積分布函數(CDF,cumulative distribution function)對比結果,其中橫坐標是平均QoE,縱坐標是概率值。圖5 很好地反映了在不同區間內平均QoE 的分布概率。圖6 進一步給出了平均QoE、平均卡頓時長和平均比特率3 個指標的對比實驗結果。為便于對比,對每個指標進行了歸一化處理,其計算方式為實際值與最大值的比值,縱坐標表示其歸一化后的值。從圖6 可以看出,基于深度強化學習的ABR 算法性能要遠高于傳統的啟發式算法,其平均QoE 可以提升1.71%~4.54%,平均卡頓時長可以減少7.04%~34.6%,平均比特率可以提升2.91%~3.98%。

圖5 FCC 數據集上多種算法的CDF

圖6 FCC 數據集上多種算法性能對比
圖7 給出了Pensieve、RobustMPC 以及基于緩存的Buffer_based[55]算法在Oboe 數據集上的測試結果,其中Buffer_based是傳統的啟發式ABR算法。從圖7 可以看出,Pensieve 算法的性能明顯優于其他2 種啟發式的算法,其平均 QoE 可以提升1.10%~10.16%,平均卡頓時長可以減少3.73%~7.65%,平均比特率可以提升1.93%~6.45%。

圖7 Oboe 數據集上多種算法性能對比
在客戶端實施ABR 算法是HAS 保障用戶QoE的關鍵所在。大量的研究結果表明,基于深度強化學習的ABR 算法可以取得更優越的性能,是目前ABR 的研究熱點。但是,現階段開展基于深度強化學習的ABR 算法研究還面臨以下問題。
1) 視頻數據集規模。建立大規模視頻主觀質量評價數據集十分困難,一方面,主觀實驗費時費力,花費較高;另一方面,視頻時長較長時,由于觀測者的興趣和精神能力有限,難以給出有效的主觀評估。因此,建立大規模的主觀視頻質量評價數據集仍然是一個需要重點解決的問題。
2) 獎勵函數的設計。基于深度強化學習的ABR 算法采用QoE 模型作為獎勵函數,QoE 模型的準確性將直接影響算法的性能。因此如何建立更加準確的QoE 模型是ABR 算法需要解決的問題,還有很大的研究空間。
3) 深度神經網絡的設計。智能體中的深度神經網絡用來學習高維數據的有效表示,決定最優的碼率控制策略。因此,針對應用場景的具體需求,利用最新的深度學習研究成果,設計適用于ABR 算法的深度神經網絡結構是一個重要的研究內容。
此外,將模仿學習、超分辨率重建、可擴展編碼等方法引入ABR 算法中,可以有效解決基于深度強化學習的ABR 算法樣本效率低、收斂緩慢等問題,也是未來比較有意義的研究方向。