騰訊技術開放日 | 騰訊會議如何進行視頻質量評估與優化?


騰訊會議系統中,視頻質量是影響用戶體驗的主要因素,對視頻質量進行評估和優化是吸引和留住用戶的關鍵。在開發騰訊會議質量評估系統的過程中,有哪些技術難點和相應的解決方案?在【騰訊技術開放日 · 雲視頻會議專場】中,騰訊多媒體實驗室高級研究員王海強進行了分享。

本次分享共包括四部分,第一部分是視頻質量評估的背景介紹;第二部分,介紹在視頻會議這種實時通信系統中,與質量損傷相關的環節及對應的優化策略;第三部分,介紹針對騰訊會議場景所開發的基於深度學習的全參考視頻質量評估算法;第四部分是圍繞騰訊會議搭建的一個端到端的質量評估系統,它能夠對會議進行自動化評估和監測。

什么是視頻質量評估?

視頻質量評估致力於評估視頻的人眼感知質量,總的來說有兩種評估方式:
 主觀質量評估,依賴人眼觀看並打分,這種得到的分數比較精確,但是很耗時間,而且不方便大規模部署。
 客觀質量評估,主要是計算損傷視頻的質量分數。評價一個算法的好壞就是衡量主觀分數和客觀分數的相關系數,一般來說系數越高越好。

客觀質量評估算法大概分三類,主要取決於是否使用無損的源視頻作為參考。
 全參考,比如PSNR就是典型的全參考算法,通過與源視頻進行各種層面比對,來衡量損傷視頻的質量。
 無參考,有的算法不使用源視頻,只使用接收端的視頻,來衡量它自己本身的質量。
 部分參考, 比如從源視頻中提取一個特征向量,特征向量隨着損傷視頻一塊發送到用戶端用來計算質量。視頻會議這種場景要做全參考本來是不現實的,因為不可能把本地無損的源視頻送到用戶端或者其他地方計算質量,我們這次所做的工作就是把會議這種典型的實時場景轉化成一個可以使用全參考算法離線優化的場景。

根據視頻內容,視頻質量評估可以分為PGC質量評估和UGC質量評估。PGC,就是專業制作內容,比如傳統的電影、電視劇,它的內容,設備、光照、演員各種指標都是接近完美的狀態。UGC是用戶原創內容,像短視頻、直播、實時視頻通話都屬於這一類。

UGC對視頻質量優化提出了更多挑戰。下面的圖表給出了原因,右上角這個代表着傳統的PGC,而UGC可能屬於四種情況中的任意一個。對於傳統的PGC,大家基本默認很難增強它的質量,像素改變越多它的質量會越低。而UGC情況就比較復雜,有的視頻可以通過算法,漸漸增強質量,但是如果做的過的話反而又會降低質量;有些視頻的特性是,在小范圍內調整它的質量幾乎是不變的;還有些視頻,這種比較少,質量改變和象素改變幾乎成線性關系。會議這種場景就屬於典型的UGC場景。

考慮到拍攝、構圖、色彩、相機的穩定度等,相比PGC,UGC都更難優化。而且,PGC優化可以參考源視頻,運用全參考算法,而UGC並不是傳統意義的無損源,所以UGC對視頻質量評估領域提出很多挑戰。

實時音視頻通信系統中質量相關模塊

下面結合會議這種實時通信系統來介紹和質量損傷有關的模塊。總體來說,實時通信包括發送端采集“源視頻”,這里加了個引號,來說明並不是傳統意義上的無損源。采集環節之后,是預處理環節,比如背景虛化、各種增強,然后是編碼、上行碼流經過網絡傳輸,接收端接收下行碼流,然后解碼再經過后處理,再渲染得到損傷視頻。質量評估在於哪兒呢?在接收端,質量評估去評估損傷視頻的質量,后面的所有模塊對質量評估來說都是一個黑盒。

在會議實時通信過程中,網絡可用帶寬是限制整個系統的瓶頸。可以通過二階統計量來描述帶寬,一個是平均可用帶寬,它決定了視頻編碼出來的平均碼率,另外一個是網絡實時抖動決定了最高碼率。因為如果網絡在某一段時間帶寬比較低,而碼率持續的比較高,就會引起卡頓、丟幀甚至掉線等等,當然也可以通過在某些部位加一些緩沖區增強它的穩定性,但是緩沖期一般會增大時延。

對於編碼器來說,就是給定一個恆定碼率,編碼器要調整編碼策略,一般通過調節QP,也可以通過調分辨率、或者調幀率來把編碼碼流對齊到目標碼流

先說一下幀率,因為幀率對視頻質量的影響遠遠大於分辨率和QP。對比下面兩個視頻,左邊是24 fps其實它壓的比較厲害,QP是36;右邊的經過兩次時域SVC,只有6fps,QP18。本來右邊畫面質量更好,但是它幀率更低,跳幀對質量的影響很大,所以有些人會覺得右邊視頻質量反而沒有左邊的好。

接下來看QP和分辨率。視頻壓縮失真引起主要的質量損傷,也就是說給定一個目標碼率,要通過適配一定的QP和分辨率策略,來達到給到的碼率目標。

下面以傳統的PGC優化分辨率和壓縮比的組合作為例子,講一下優化編碼策略,這兩個材料都來自VMAF。

左邊這個圖給出了一些碼率和視頻質量的組合,這里面有三條黑色的線,代表着同一個視頻不同分辨率的版本,紅色的線 Convex Hull是結合這三個分辨率找出最優曲線,在碼率確定的時候,只要找到和Convex Hull接近的點就是在當前場景下應該采用的分辨率。

右邊是傳統的基於反復測試得到的關於PGC視頻的碼率表,可能現在業界也有些人用固定的碼率表,但是那個碼率表要么是基於經驗,要么是基於自己的反復測量的結果,沒有經過太多優化。對於會議這樣一個場景,騰訊會議也想要一個它的convex Hull和碼率表。

追求更高精確度,騰訊會議開發全參考視頻質量評估算法

基於前面講到的內容,騰訊會議開發了一個實時視頻全參考質量評估算法。因為視頻編解碼是整個系統中的核心模塊,所以我們希望這個視頻質量准則有足夠的精確度和區分度來衡量編解碼器細微的差異。

我們測試了已有的圖像質量評估算法,包括PSNR、VMAF等等,發現他們有的對於網絡波動區分度不夠,有的對時域上的運動信息或質量波動把控不夠,測試完后覺得這些算法並不滿足需求

於是騰訊會議使用深度學習設計了一個新的網絡,來自動學習視頻質量的相關特征,然后在PGC數據集上訓練得到一個通用的網絡。而對於UGC的網絡,我們構建了一個新的主觀質量數據庫來調優模型。

這是騰訊會議開發的視頻質量評估算法,名字是Video Quality Assessment with 3D Convolutional Neural Network。這里面一個大的創新點是使用三維卷積核來提取時空聯合特征,使得視頻質量和時域運動大小更相關。

這個模型是用PyTorch開發的,也在VideoSet這個PGC主觀數據庫上進行了預訓練,用額外收集的會議視頻質量數據庫進行微調。對應的算法開源在騰訊的官方Github上,算法名字叫做DVQA,感興趣的話可以看一下。

下圖給出我們所設計的神經網絡結構圖,它的輸入包含兩部分,損傷的視頻幀 (distorted frames)和residual frames,這兩部分相加就是源視頻幀。前面黃色框是兩層二維卷積網絡,然后經過四層三維卷積得到失幀可感知度的閾值,再把閾值和residual frames乘起來,最后是一個Pooling和兩層FC層,來把得到的特征regression到最終的score上面。

下面的例子更直觀一些,圖(b)中小女孩的頭發區域,頭發比較黑而且紋理復雜,在人眼視覺下,如果頭發區域有一些壓縮失幀是很難看出來的,圖(g)是神經網絡學習的結果,這片是黑色,也就是說可感知失真很小,那么這個神經網絡學習到的特征和人眼視覺感知特征是一致的。圖(i)中磚塊是相對平滑的區域,如果在這里有損傷應該是比較容易被看出來,那么在神經網絡學習的圖(n)中也是同樣的結果。

前面講的都是基於PGC數據庫的例子,我們的UGC的數據庫還沒有公開出來。我們在LIVE和CSIQ兩個公開數據集上把我們的算法同其它算法進行比較。從下面的表格可以看出,我們算法的性能在大部分情況下是領先的。

大家知道,要訓練一個深度學習算法,需要很大的數據庫來支持。可能會有人問,你們這個算法用的數據庫是什么?左邊這個表給出了現在業界常規的主觀質量數據庫的大小,總共的視頻包括源和損傷視頻大概在100、200左右甚至幾十個,這里面還包含着一個源和一個源對應的五個或者幾個損傷視頻。其實真正的源算下來也就十個左右。用這樣的數據量去訓練網絡還是是比較困難的。

所以,騰訊會議搭建了一個在線視頻質量打分平台來收集視頻的主觀數據,這個打分平台既有PGC也有UGC。網址是mos.medialab.qq.com,大家可以體驗,右邊是看完視頻展示之后的打分界面。

這里的例子是采用AB tst模式,每次播放兩個視頻,一個源,另外一個是處理過的。兩個是隨機模式,看完之后會問志願者,覺得第一個視頻質量效果好還是第二個好,還是覺得兩個都一樣,選完之后可以進入下一個比較。騰訊會議收集了超過100多萬次打分,對上百個源視頻進行了打分。

我所在的質量平台組負責騰訊會議的專項測試工作,包含性能、碼率、抗性、時延、音畫同步,其實這也是網絡組需要的參數,還包括最終的視頻質量。根據實踐,前面這些像性能、碼率、抗性、時延、音畫同步都可以借助專門的硬件和軟件測出來,而對於視頻的主觀質量,我們更多時候是通過人工看來判斷。

另外,視頻會議一直在快速迭代,有很多版本,其中比較頭疼的是需要對齊電腦當前的本地環境和網絡環境,如果這兩個對不齊的話,版本比較結果不容易讓人信服。

自動化評估與檢測,開發端到端視頻質量評估系統

騰訊視頻也開發了端到端自動的質量評測系統,這是整體的框架圖。其實它的策略相對來說沒那么復雜,就是在發送端播放源視頻,經過可控的損傷網絡之后,另一邊是接收端,在接收端捕獲會議呈現的畫面,把這個畫面拿出來再結合發送端的源視頻去計算它的質量分數。前面提到的性能、碼率這些絕對的指標都可以得到,抗性更多取決於什么樣的網絡情況下體驗特別糟糕,時延、卡頓、音畫同步、包括幀率都可以通過比對這兩個視頻得到結果。經過幾個月的努力,這個系統已經實現完全自動化。

這是端到端質量評估系統的外部交互界面,叫RTQoE-Real Time Quality of Experience。在這個系統中,可以選定源視頻,可以選定上行和下行的網絡狀況,提交任務之后就是發送端、接收端各自完成之后去算對應的指標,然后在這里展示出來。

下一步的計划,是在RTQoE系統中引入temporal緯度。上面的模型目前只能做調QP和調分辨率這兩個組合的方式,引入temporal緯度后就變成QP、分辨率、幀三個組合,一起衡量網絡波動對視頻質量的影響。

Q&A

Q: 能介紹一些公開的PGC數據庫嗎?
A: 騰訊會議的PGC數據庫是公開的,搜索Videoset應該能搜到,如果找不到的話可以查一下代碼庫,里面提到了數據庫在那里可以下載。

Q: 網絡如何影響視頻質量評估?
A: 這里面包含丟幀的情況。因為網絡決定了分辨率和編碼器的編碼策略,調QP、調分辨率、調幀率可能取決於不同的廠商。實時的網絡波動也會影響丟幀的情況。騰訊會議計划引入temporal緯度衡量網絡波動,這里有兩個目的:一個是網絡波動對丟幀的影響,另外一個是網絡可用情況對編碼策略的影響,怎么調QP的、怎么調分辨率、怎么調幀率的,是這樣一個問題。

講師簡介
王海強,騰訊多媒體實驗室高級研究員,2018年博士畢業於美國南加利福尼亞大學。從博士階段起一直從事主客觀視頻質量評估相關課題研究。已發表學術論文19篇,曾獲得2017 DCC最佳論文獎。2018年加入騰訊后,專注視頻全參考質量評估算法研究與應用。作為主要完成人,已開源基於深度學習的全參考視頻質量評估算法DVQA。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM