黃鸝聲 冉金也 羅 靜 張翔引
1(電子科技大學計算機科學與工程學院 成都 611731)2(電子科技大學航空航天學院 成都 611731)(lsh@uestc.edu.cn)
隨著移動網絡傳輸能力的快速提升和智能終端的普及,互聯網電視(over the top, OTT)視頻業務日趨成為網絡用戶中最流行的在線業務之一.以OTT視頻技術為主導的網絡電視、移動視頻和多屏互動業務,通過智能手機、平板電腦和聯網電視機的OTT視頻內容消費量正以驚人的速度增長.在移動視頻領域,研究表明50%以上的平板電腦用戶會經常在線觀看OTT視頻[1].
有線電視長期以來的低費用和高保障,使得消費者不再滿足于以往免費網絡視頻“盡力而為”的質量體驗.用戶體驗質量的高低成為OTT視頻成功的關鍵.一旦用戶感知質量(quality of experience, QoE)沒有達到用戶的期望值,他們可能立刻轉投競爭者.
然而網絡視頻往往由于網絡質量差、服務平臺過載等因素,出現播放失敗、卡頓次數增加、緩沖時間過長等業務質量問題,這些問題會導致用戶滿意度下降、投訴量增加甚至退訂業務等后果.因此,服務提供商需要精確評估和掌握用戶在使用網絡視頻業務過程中的體驗質量,以便于提前發現質量問題,進一步開展客戶關懷、預檢預修工作.
視頻質量評估主要分為主觀、客觀2種方法.主觀評估需要人類觀察者通過視覺系統感知視頻質量,雙激勵損傷量表(double stimulus impairment scale, DSIS)、雙激勵連續質量量表(double stimulus continuous quality scale, DSCQS)、絕對分級法(absolute category rating, ACR)[2]都是典型的主觀評估方法.盡管主觀評估方法可以最直接地反映視頻質量,但是由于成本高昂且費時,所以并不實用.
客觀視頻質量評估方法分為3類:全參考(full reference, FR)、半參考(reduce reference, RR)、無參考(no reference, NR).FR需要獲取完整原始視頻序列.在評估過程中,對比完整的原始視頻圖像數據和用戶接收到的視頻圖像數據間的差異,檢測用戶接收到的視頻質量損傷程度,根據損傷程度對視頻用戶體驗進行評價.峰值信噪比(peak signal-to-noise ratio, PSNR)[3]和結構相似性(structural simi-larity index measurement, SSIM)[4]是常用的FR指標.RR是從原始視頻序列中提取和比較一些特征,即評估時也需要參考原始視頻序列,只不過使用的是基于原始視頻提取的特征信息,而非全部圖像數據[5],如文獻[6],通過參考部分圖像特征來對視頻質量進行評估.不管是FR還是RR,都需要將用戶接收到的視頻數據和原始視頻數據傳輸到評估服務器中進行視頻質量評估,該過程成本高昂且耗時.另一方面,運營商獲取原始視頻數據也相對困難.NR估計視頻質量時則不需要原始視頻序列,只需要分析通過客觀測量得到的與視頻質量有關的指標對視頻質量進行估計.因此,對于運營商來說,采用NR方法估計視頻質量顯然比FR和RR更可行.
深度報文檢測(deep packet inspection, DPI)系統通過對網絡關鍵接口的流量和報文內容進行檢測分析,根據策略對流量進行過濾控制,實現信令面和用戶面消息的采集,能夠對用戶上網行為產生的信息進行過濾、采集.該系統分為3層架構,其中采集層和解碼層負責數據采集、流量分析、日志合成,一般以各種數據記錄方式存儲在解碼層的數據庫內,這種數據即用戶話單數據(extend data record, XDR),其中X代表呼叫事務會話[7].因此,例如,具體地,呼叫詳細記錄(call detail records, CDR)包含關于提供給最終用戶的網絡和服務特性的大量數據,這些海量的數據被DPI設備采集并存儲在電信運營商大數據系統中.國際電信聯盟電信標準化部門(International Telecommunication Union for Telecommunication Standardization Sector, ITU-T)[8]建議規定了CDR的結構和內容.應用層主要對XDR記錄數據進行計算、整理、統計,合理組織和存儲數據,并進行呈現.電信運營商對XDR數據源轉換處理后得到可以直接識別的字段信息,內容包括時間、網絡類型、國際移動用戶識別碼(international mobile subscriber identity, IMSI)、移動用戶號碼(mobile subscriber international ISDNPSTN number, MSISDN)等100多個字段[9],也正是本文所使用的原始數據.
由于XDR數據的龐大規模和低價值,長期以來,針對XDR數據分析的OTT視頻質量評估研究工作相對欠缺且計算存儲成本高昂.本文提出了一種基于XDR數據的無參考的網絡視頻質量評估的方法,在原始XDR數據的基礎上進行數據加工,從海量XDR數據中提取出與視頻質量強相關性的少量信息,將大規模、低價值的XDR話單數據轉化為高價值、小規模的視頻質量特征信息,有利于后續人工智能算法的應用和視頻業務質量評價,降低下一步數據挖掘的資源成本,提升下一步機器學習的輸入樣本質量和輸出模型的準確性.
目前對網絡視頻業務質量的NR評估方法主要有以下3類.
在網絡關鍵節點(如城域網路由器)部署流量探針,對網絡中的視頻流進行采集、分析,利用DPI或深度動態流檢測(deepdynamic flow inspection, DFI)技術直接從網絡報文序列中提取視頻質量指標,完成質量評估,如文獻[10].但是現有的流量探針分析方法存在一些缺陷,如必須在網絡中部署流量采集探針設備,成本高昂,在已經存在統一DPI的前提下,再次部署流量采集設備顯得過于浪費;而且單臺探針設備處理能力有限,在大規模流量環境下會出現丟包、資源耗盡等現象,導致分析功能失效.
各類視頻終端APP軟件在播放過程中,會向視頻業務服務平臺報送業務質量信息,例如播放起止時間、卡頓次數、卡頓時長占比等,對這些信令進行采集、提取、解析,可獲得較為真實的視頻業務質量評價結果.目前部分運營商已采取此類方法分析常見視頻網站的用戶體驗質量.但是采用該方法時,信息的提取依賴于終端視頻APP軟件上報給視頻服務平臺的信令信息,各個視頻服務APP分別設計了自己的信令格式,需要針對每一類APP單獨定制信令解析規則,工作量大.一旦APP軟件升級或啟用數據加密傳輸,則原有的信令解析規則不再可用,導致對該類視頻業務的質量分析全部失效.
在移動統一DPI系統中,提取與視頻業務相關的XDR原始話單,結合已知的視頻質量標簽作為訓練樣本,采用各類機器學習算法進行訓練,以獲得從XDR原始話單數據到視頻業務質量之間的映射模型.例如文獻[10]給出一種基于XDR分析互聯網業務質量的方案,即在服務器集群的架構上組建一套系統對XDR數據進行采集、存儲、轉換處理,再輸出數據到前臺應用程序,做深入分析優化,能準確定位互聯網業務指標異常變化的原因,提高互聯網業務質量分析工作效率.然而,XDR數據具有數據量大,數據粒度小的特點,視頻服務進程通常對應于數十條XDR記錄,且XDR記錄中的大多數信息是統計數據,并不直接包含與視頻服務質量相關的信息.所以問題的關鍵就是如何合理地利用這些XDR數據,但現有研究[11-12]僅提出了概念框架和思路,缺乏從XDR中挖掘視頻服務質量的具體實施方法.

Fig. 1 Relationship between video service and XDR record圖1 視頻業務和XDR數據的關系
視頻業務是一個跨越一定時間周期的連續過程,其質量特征也表現為一個完整過程中不同時段的質量.因此,對視頻業務質量的刻畫,應該對視頻業務的全過程進行分時段的連續評價,最終將不同時段的質量評價結果進行聚合,獲得完整的質量刻畫指標.雖然單個XDR話單記錄僅僅覆蓋一個網絡會話且不足以刻畫整體業務質量,但多個XDR話單在時間和空間層面存在耦合,利用該耦合關系可實現XDR話單的聚合和關聯挖掘:覆蓋同一時段的多個XDR話單記錄共同構成了該時段的視頻業務行為,多個XDR話單的同一指標值共同構成了該時段的視頻業務指標值.本文以原始XDR話單為輸入,實現高價值質量數據的生產,主要思路可概括為:將以會話為單位的XDR話單以時間和空間方式進行關聯,形成為以時間窗口為單位的切片記錄,然后將多個切片記錄進行匯聚,形成對視頻業務過程的總體質量記錄.
如圖1所示,橫坐標表示時間,一條水平線代表一條XDR記錄,多個相互重疊的XDR記錄集合表示一次視頻業務.
定義網絡視頻質量特征信息為:用于記錄某一時段內,某個移動上網用戶在觀看視頻過程中的多個質量特征指標的數據記錄.本文提出的視頻質量特征信息如表1所示.包括但不限于5個基本字段,12個統計字段,3個計算字段,3個推測字段.

Table 1 Filed of Feature Information
基本字段表示一次視頻服務的基本信息,如時間信息、用戶識別信息等;統計字段可直接從原始XDR數據中經過累加統計獲取,是一次視頻服務的簡單統計量,本文不過多討論;計算字段則是對統計字段進行關聯計算后得出的與視頻質量強相關的信息.
計算字段能夠較好地刻畫視頻質量,其中,丟包率(packet loss rate, PLR)被認為是刻畫視頻質量最重要的參數.在IP網絡的傳輸中,視頻文件通常被打包成固定大小的分組,不同分組的分片信息不同,丟包會直接影響其所在幀的解碼[10].為了獲得更準確的結果,我們需要同時考慮客戶端和服務器之間的雙向PLR.
另外,平均下載速率也被認為對視頻質量有很大影響.一般而言,如果下載速度非常慢,視頻質量將不會很好[11],因此平均下載速度也可以用作視頻質量的重要參數.
在網絡視頻播放中,往往采用一邊下載一邊播放的方式.視頻服務器和客戶端均會控制下載速率和緩存大小,使之與播放所需要的碼率匹配,并保持適當的視頻播放緩沖.本文提出一種“快推質量標記”參數,其中快推是指在視頻剛剛播放的時候,為了減少緩沖時間,往往使用多線程或不限制下載速率的方式,盡快填充客戶端的播放緩沖區,因此視頻剛剛開始播放的時候,下載速率可能遠高于觀看過程中的正常碼率.表1推測字段中的推測快推質量標記就是用于表示快推是否成功.顯然,該參數對視頻質量有著很大的影響.
圖2是從原始XDR話單數據中提取出特征信息的過程,主要可分為2步:第1步是將XDR話單數據按時間分片得到時間窗口記錄;第2步將時間窗口記錄進行聚合,得到一條匯總記錄.
2.3.1 切片
本步驟是對以TCP會話為單位的視頻類XDR話單進行切片加工,輸出多條以固定時間窗口為單位的時間窗口記錄;時間窗口記錄的格式如表1所述.
1) 將同一用戶的多條視頻類XDR話單記錄進行時間聚類,形成XDR話單群(XDR records cluster),如圖3所示,其中每一條線段表示一條視頻類XDR話單記錄,線段的2個端點分別代表該XDR話單的起止時間,一個XDR話單群應滿足以下條件:話單群中任意一條XDR話單,均能在本群中找到至少一條起止時間與之部分或全部重合的XDR話單,不同XDR話單群之間存在明顯的時間間隔.

Fig. 3 XDR records cluster圖3 XDR話單群示意圖
將XDR話單群X定義為
X={r1,r2,…,rn},
其中ri表示第i條話單(話單按照開始時間排序),其開始時間為bi,結束時間為ei,對每個XDR話單群X而言,其中任意一條XDR記錄都能在當前話單群中找到至少一個與其時間重疊的XDR記錄,即?ri∈X滿足:?rj∈X,
(bi>bj&&bi 定義XDR話單群X的開始時間btX: btX=min{bi|ri∈X}; 結束時間etX: etX=max{ei|ri∈X}; 則對于不同的XDR話單群X和Y,X和Y之間存在明顯時間間隔,即若btX btY-etX>T, 其中T為給定的2個話單群之間最小時間間隔,在本文中,我們將其取值為5 s. 2) 將同一XDR話單群X中的話單切片為多條時間窗口記錄,形成時間窗口記錄列表. 如圖4所示,我們將一個話單群的總持續時長(最大結束時間與最小開始時間的差值)平均切分為多個固定時長的時間窗口,然后對同一XDR話單群中的所有話單進行數據切片,為每個時間窗口生成一條唯一的時間窗口記錄;該時間窗口記錄中的各個統計字段來自于與該時間窗口部分或全部重合的多條XDR話單的切片統計結果. Fig. 4 Time window圖4 時間窗口 將一個話單群的總持續時長定義為 dtX=etX-btX. (1) 若將X平均切分為n個時間窗口,則第i個窗口wndi的開始時間wnd_bti滿足 結束時間wnd_eti滿足 在步驟2)中涉及到一些統計字段的計算,在此以SERVER_COUNT字段為例,說明時間窗口記錄中的各個統計字段的計算方法. ① 定義SERVER_COUNTi,k為XDR話單群X中第i條XDR話單記錄ri中的SERVER_COUNTi值在第k個時間窗口記錄wndk中的統計分量值,則wndk中的WND_SERVER_COUNTk值為該話單群中所有XDR話單記錄的SERVER_COUNTi,k分量值之和,即 (2) ② 第i條XDR話單記錄ri在第k個時間窗口記錄wndk中的SERVER_COUNTi,k分量值計算方法為: 取該ri的SERVER_COUNTi字段值,除以該記錄起止時間(ENDTIME-BEGINTIME)之差(單位為s),然后乘以該XDR話單記錄與本時間窗口的時間重合長度Toverlap(單位為s),表示為 (3) ③ 第i條XDR話單記錄ri與某個時間窗口wndk的時間重合長度Toverlap計算方法為 (4) 除了統計字段外,對3個計算字段的獲得方法進行說明,3個計算字段的值為同一記錄中的其他統計字段值的計算結果,計算方法分別為 平均下載速率: (5) 下載丟包率: (6) 上傳丟包率: (7) 2.3.2 聚合 本節是將2.3.1節輸出的時間窗口特征信息記錄進行聚合,輸出一條匯總記錄,然后,計算并回填匯總記錄中的3個計算字段.匯總記錄的格式同樣如表1所述.計算方法如下: 1) 將2.3.1節中輸出的同一XDR話單群的時間窗口記錄列表匯聚為一條匯總記錄,即為每個XDR話單群生成唯一的一條匯總記錄,其中的各個統計字段來自于時間窗口記錄列表中所有記錄的統計結果. 2) 計算匯總記錄中的推測字段. 推測碼率MR的表達式為 MR= (8) 推測快推質量標記FASTPUSH_FLAG字段表達式為 FASTPUSH_FLAG=MIN(2V,1), (9) 其中V是SERVER_COUNT字段的離散系數,FASTPUSH_FLAG取值為V的2倍值與常數1的較小值. 推測視頻下載質量分LABEL_SCORE字段的表達式為 (10) 根據上述過程,可將多條XDR數據記錄融合為一條視頻觀看記錄,從而在大規模減少數據集規模的前提下,實現高價值指標信息的提取,為進一步機器學習提供優質數據集. 在實驗中,我們使用梯度提升迭代決策樹算法(gradient boosting decision tree, GBDT)[13]模型來完成后續機器學習過程,彌補人工特征生成的局限性.GBDT算法是一種用于數據分類和回歸的集成學習[14]算法.該算法是由多棵類似分類回歸樹(classi-fication and regression tree, CART)[15]的決策樹組成,將算法中所有決策樹的輸出結果累加起來就是GBDT的最終輸出結果,它在被提出之初就和支持向量機(support vector machine, SVM)[16]一起被稱為泛化能力較強的算法,并都是數據分析中常用到的學習算法.GBDT模型的數學表達式可表示為 (11) 其中,b(x;γm)代表第m棵決策樹,βm是第m棵決策樹的權重. 我們選擇GBDT算法模型的原因是,該模型中的每棵決策樹都是回歸決策樹,因此它可以較好解決數據回歸問題并具有高檢測精度的特性.此外該算法可有效處理異常點,還能在一定程度上避免模型過擬合問題. 我們使用的數據集是包括8 102個視頻會話的XDR話單數據集,數據來自于某地區網絡真實OTT業務匿名化數據集,以標準的XDR格式提供,每個視頻會話有預先標記好的視頻質量主觀分,該主觀分的表達式為 Lable=100-lag, (12) 其中lag是使用APP上報信令分析方法計算出的視頻卡頓時長占比,見本文1.2節.一般認為網絡用戶在觀看視頻時,卡頓時長占比越高則視頻質量越差. 作為對比,本文針對原始XDR話單數據使用同樣的模型進行訓練和預測,該原始XDR話單數據包括了24 715條XDR話單. 我們參考每個視頻會話中預先標記好的視頻質量主觀分(式(12)),使用3個指標來評估本文方法的可行性,分別為: 1) 平均絕對誤差(mean absolute error),記為mae.是絕對誤差的平均值,能夠直接反映視頻質量評分誤差的真實情況,定義如下: 2) 均方差(mean squared error),記為mse.是最簡單,應用最廣泛的圖像評價方法之一,可以很好地衡量視頻質量評分和視頻質量主觀分之間的偏差,定義如下: 3) 平均偏差誤差(mean deviation error),記為mde.可以較好地反映視頻質量評分與視頻質量主觀分之間的平均差異,定義如下: 以上3個指標是常用的衡量觀測值與真值之間偏差的參數,能夠較好地反映出本文中視頻質量評分和主觀分之間的差異.本文通過比較提取后數據和原始數據在不同學習率下的mae,mse,mde,來說明該提取方法的高效性和有用性.除此之外,本文還選用常用性能參數PLCC,SROCC,KROCC來輔助評價算法的好壞.這3個指標夠較好地刻畫數據之間的相關性. 本文分別使用原始數據、本文提取的特征信息進行訓練和用戶感知質量評估,采用0.1~0.9的不同學習率來訓練模型,在每次訓練過程期間訓練數據是隨機選擇的.結果如表2、表3所示.很顯然,學習率越高,得到的結果越準確,其原因是GBDT模型的估計精度取決于訓練集的大小. 表2是直接以原始XDR話單數據為輸入對用戶感知質量評估的結果.可以看到,在學習率較低的情況下,基于原始XDR的視頻質量評估結果存在較大誤差;雖然隨著學習率的增加,mae和mse確實可以有效降低,但mse仍然無法降低至可以接受的范圍.基于mse對異常值敏感,而mae對異常值不敏感這一特性,基本可以得出結論:該方法對一些異常值的預測能力較差.而事實上,卡頓導致的視頻質量下降恰好是屬于這些異常值,因此使用原始XDR話單數據對視頻質量進行評估,很難取得良好效果. Table 2 Experimental Result of Initial Data at Different Learning Rates 表3是以本文提取的特征信息為輸入、使用同樣的算法模型和參數的用戶感知質量評估結果,可以看到,在不同的學習率中,mae,mse,mde均明顯低于原始數據實驗結果;其中mse雖然隨著學習率的變化而顯著變化,但總體保持在較低水平. Table 3 Experimental Result of Extraction Data at Different Learning Rates 進一步將基于兩類數據的評估結果進行對比,如圖5~7所示,可以看出,采用本文方法提取的質量特征信息,只需要很少的學習率即可實現較高的評估準確性.本文提取的質量特征數量僅為原始XDR字段數量的6.7%,可以看出原始XDR數據不僅數據量大,而且直接利用價值較低.而在使用本文方法進行信息加工后,不僅能顯著減小數據規模,還能大幅度降低學習率并顯著提升質量評估結果的準確性. Fig. 5 Comparison of mae between two data sets圖5 2個數據集平均絕對誤差對比 Fig. 6 Comparison of mse between two data sets圖6 2個數據集均方差對比 Fig. 7 Comparison of mde between two data sets圖7 2個數據集平均偏差誤差對比 進一步,選用圖像質量分析領域常用的評價參數PLCC,SROCC,KROCC來輔助評價本文方法的效果,這3個參數均為相關系數,取值范圍是[-1,1],越接近1表示相關性越強.由于目前已知的文獻中,尚缺乏可驗證的從XDR數據中提取特征的方法介紹,因此本文不做類似方法的比對.分別將基于本文提取數據、原始XDR數據的視頻質量評估結果與主觀評分進行相關性分析,獲得的相關系數值如表4所示: Table 4 Performance of the Proposed Method 通過表4可以看出,使用本文方法的視頻質量評價結果表現出了與主觀評價結果的明顯相關性,其PLCC,SROCC,KROCC指標均明顯優于基于原始XDR話單的評價結果. 針對OTT視頻業務質量評估,本文提出了一種基于XDR的信息提取方法.首先將多條原始XDR話單進行聚合,將以會話為單位的XDR話單以時間和空間方式進行關聯,形成為以時間窗口為單位的切片記錄,然后將多個切片記錄進行匯聚,形成對視頻過程的總體質量記錄. 以本文提取的信息作為機器學習算法輸入,能夠得到較為精確的視頻質量評估結果,與原始XDR數據相比,本文生成的特征數據與真實視頻質量具有更高的相關性,數據量更小,所需學習率更低,評估結果也更為準確.









3 實驗結果和分析
3.1 GBDT模型
3.2 數據集
3.3 評估指標

3.4 結果及分析






4 結 論