基于内容的自适应视频传输算法及其应用
文 / 胡勝紅整理 / LiveVideoStack大家好,我是胡勝紅,本次議題主要源自我攻讀博士期間的研究課題,在4-5年的研究時(shí)間里,我對(duì)基于內(nèi)容的視頻自適應(yīng)傳輸策略和優(yōu)化算法進(jìn)行了深入探索,今天借此機(jī)會(huì)在LiveVideoStack平臺(tái)與大家分享一下自己的研究成果和一些工程化經(jīng)驗(yàn)。本次分享主要由基于內(nèi)容的自適應(yīng)視頻傳輸簡(jiǎn)介、系統(tǒng)架構(gòu)及其優(yōu)化策略、視頻內(nèi)容分析與分級(jí)、自適應(yīng)流傳輸技術(shù)和行業(yè)現(xiàn)狀、相關(guān)應(yīng)用等五部分組成。1. 基于內(nèi)容的自適應(yīng)視頻傳輸簡(jiǎn)介1.1 什么是基于內(nèi)容的自適應(yīng)視頻傳輸(Content-based Adaptive Video Transmission)?CBAVT是基于視頻內(nèi)容的特征分析,將視頻流中用戶(hù)感興趣的重要內(nèi)容片段以?xún)?yōu)化質(zhì)量方式傳輸,實(shí)現(xiàn)語(yǔ)義層QoE最大化。主體架構(gòu)如圖1。圖1? CBAVT系統(tǒng)框架圖1中的架構(gòu)有幾大要素,其中內(nèi)容描述服務(wù)器是指在視頻內(nèi)容傳輸之前做內(nèi)容的分析,實(shí)時(shí)流(Live Streaming)和點(diǎn)播流(Video on Demand)的內(nèi)容分析方式是不一樣的,在點(diǎn)播流中可以進(jìn)行預(yù)分析,將元數(shù)據(jù)存儲(chǔ)在內(nèi)容描述服務(wù)器中便于傳輸時(shí)被決策模塊訪(fǎng)問(wèn);而在實(shí)時(shí)流中邊傳輸邊分析,內(nèi)容分析手段往往被簡(jiǎn)化,防止復(fù)雜性的計(jì)算帶來(lái)過(guò)大時(shí)延。內(nèi)容分級(jí):是在內(nèi)容傳輸之前必須做的,即分出內(nèi)容重要性的級(jí)別,可以根據(jù)系統(tǒng)的應(yīng)用特點(diǎn)進(jìn)行級(jí)別的設(shè)置。一般分為三個(gè)級(jí)別:用戶(hù)最感興趣內(nèi)容、中等感興趣內(nèi)容和最不感興趣內(nèi)容。內(nèi)容分級(jí)完成之后進(jìn)行基于內(nèi)容的自適應(yīng)傳輸決策執(zhí)行。這個(gè)決策過(guò)程被建模為一個(gè)約束優(yōu)化模型,優(yōu)化目標(biāo)是視頻質(zhì)量,而約束條件是網(wǎng)絡(luò)環(huán)境中可變或不變的性能參數(shù)。邏輯的自適應(yīng)策略模型無(wú)法直接對(duì)數(shù)據(jù)流進(jìn)行操作,實(shí)際中會(huì)結(jié)合現(xiàn)有的一些流傳輸方法(如RTSP、RTMP、DASH、HLS等),對(duì)實(shí)際數(shù)據(jù)包進(jìn)行時(shí)域或空域的操作(丟幀、碼流切換),使得碼流在傳輸過(guò)程中能夠適合不同的傳輸環(huán)境,例如物聯(lián)網(wǎng)、無(wú)線(xiàn)網(wǎng)等一些不可靠網(wǎng)絡(luò)環(huán)境。1.2 主要關(guān)鍵詞的介紹視頻分析:利用機(jī)器學(xué)習(xí)方法或深度學(xué)習(xí)方法提取視頻特征,此過(guò)程如果是在點(diǎn)播(VoD)的環(huán)境下手工標(biāo)注也可以。視頻分析不屬于流傳輸?shù)姆懂?#xff0c;是屬于機(jī)器學(xué)習(xí)或者視頻檢索領(lǐng)域,近年來(lái)深度學(xué)習(xí)技術(shù)在圖像和視頻語(yǔ)義分析領(lǐng)域取得了巨大成功,有許多成果可被利用。國(guó)際上一般使用MPEG-7標(biāo)準(zhǔn)管理多媒體元數(shù)據(jù)的存儲(chǔ)和訪(fǎng)問(wèn)。內(nèi)容分級(jí):基于領(lǐng)域知識(shí)或者用戶(hù)偏好對(duì)視頻內(nèi)容進(jìn)行重要性分級(jí),不同的系統(tǒng)要根據(jù)不同的應(yīng)用目標(biāo)做內(nèi)容分級(jí)。效用優(yōu)化:在網(wǎng)絡(luò)約束或者無(wú)線(xiàn)網(wǎng)絡(luò)不穩(wěn)定情況下,流傳輸相關(guān)的視頻參數(shù)如幀率、碼率等的改變對(duì)用戶(hù)QoE的影響效果,可以通過(guò)一些擬合方法進(jìn)行建模。實(shí)時(shí)流傳輸:是一些標(biāo)準(zhǔn)的傳輸流技術(shù),所有的視頻流操作都離不開(kāi)這些標(biāo)準(zhǔn),自適應(yīng)視頻傳輸技術(shù)必須依賴(lài)實(shí)時(shí)流傳輸技術(shù)實(shí)現(xiàn)信號(hào)層操作,包括RTP/RTSP、RTMP、HLS、DASH等標(biāo)準(zhǔn)。語(yǔ)義級(jí)的QoE:傳統(tǒng)的QoE是Quality of Experience,即用戶(hù)對(duì)所播放視頻的主觀體驗(yàn)及用戶(hù)對(duì)視頻內(nèi)容的認(rèn)可度,換而言之就是與用戶(hù)語(yǔ)義相關(guān)的需求(即用戶(hù)觀看的信息理解、興趣和情感等方面)是否被有效滿(mǎn)足。2. 視頻內(nèi)容分析與分級(jí)圖2? 視頻內(nèi)容分析任務(wù)CBAVT系統(tǒng)的首要任務(wù)是視頻內(nèi)容分析。通常,視頻內(nèi)容分析分為高層、中層、低層三個(gè)層次,中層和低層可用的內(nèi)容合并為中低層內(nèi)容分析。高層語(yǔ)義分析可以利用我們熟知的領(lǐng)域知識(shí),例如足球視頻、音樂(lè)視頻、電影、自拍視頻(以個(gè)人為中心的視頻)等等。語(yǔ)義內(nèi)容分析中有幾個(gè)容易被利用的特征。其中,情感特征容易反映觀看者的情緒變換,例如電影視頻中不同情節(jié)的情感,可以使用自動(dòng)或手動(dòng)方式對(duì)視頻情感特征進(jìn)行標(biāo)注。而對(duì)象特征可以指電影視頻或自拍視頻都會(huì)存在的主角,與主角有關(guān)的動(dòng)作和場(chǎng)景都是比較重要的,或者監(jiān)控視頻中的被關(guān)注對(duì)象。高層語(yǔ)義分析的通用性并不是很強(qiáng),不同用戶(hù)和不同領(lǐng)域?qū)φZ(yǔ)義的要求有很大的差異,因此要結(jié)合具體應(yīng)用而論。中低層語(yǔ)義分析特征比較通用化,其中注意力特征指眼動(dòng)或者人對(duì)視頻中出現(xiàn)的運(yùn)動(dòng)變化產(chǎn)生的關(guān)注,此領(lǐng)域有許多成果可以被利用。運(yùn)動(dòng)特征作為視頻內(nèi)容精彩與否的重要表征量,比較通用化,因此早期基于內(nèi)容的自適應(yīng)視頻傳輸策略都是基于運(yùn)動(dòng)特征的。聲音特征對(duì)情感的表達(dá)非常敏感,所以聲音特征可以用來(lái)對(duì)情感內(nèi)容進(jìn)行識(shí)別和標(biāo)注,除此之外還有紋理特征等等。3. 視頻內(nèi)容分析和標(biāo)注實(shí)例3.1 利用運(yùn)動(dòng)對(duì)內(nèi)容進(jìn)行分級(jí)
圖3? 運(yùn)動(dòng)特征分析
以早期我的一篇論文來(lái)作為介紹,我們對(duì)畫(huà)面內(nèi)任何宏塊都可以提取運(yùn)動(dòng)幅值和運(yùn)動(dòng)方向作為運(yùn)動(dòng)特征,目前運(yùn)動(dòng)特征的提取可以達(dá)到實(shí)時(shí)化。圖3將12個(gè)標(biāo)準(zhǔn)測(cè)試視頻劃分為3個(gè)不同的運(yùn)動(dòng)級(jí)別:低速運(yùn)動(dòng)(low speed級(jí)別的視頻流),中速運(yùn)動(dòng)(Medium speed 運(yùn)動(dòng))、高速運(yùn)動(dòng)(high speed運(yùn)動(dòng),例如踢足球的運(yùn)動(dòng))。圖中可以看出,在同樣碼率的情況下,高速運(yùn)動(dòng)的質(zhì)量會(huì)非常低,因此在碼流切換的時(shí)候應(yīng)盡可能在高速運(yùn)動(dòng)時(shí)切換為高碼率的傳輸。圖3中第四個(gè)視頻為低速運(yùn)動(dòng),第五個(gè)視頻為高速運(yùn)動(dòng),第六個(gè)視頻為中速運(yùn)動(dòng),第七個(gè)視頻為高速運(yùn)動(dòng)。在得到運(yùn)動(dòng)有關(guān)的分類(lèi)之后,即可把視頻分為低速運(yùn)動(dòng)、中速運(yùn)動(dòng)、高速運(yùn)動(dòng)三類(lèi)。三種不同的運(yùn)動(dòng)在不同碼率下對(duì)應(yīng)的視頻質(zhì)量可以擬合出一條曲線(xiàn),即根據(jù)碼率值、目標(biāo)質(zhì)量和運(yùn)動(dòng)特征值進(jìn)行回歸分析,得到一個(gè)目標(biāo)值的擬合函數(shù)。該目標(biāo)值函數(shù)得到之后即可以代入優(yōu)化模型。3.2 如何在語(yǔ)義層進(jìn)行內(nèi)容分級(jí)圖4? 精彩事件分析以?shī)蕵?lè)性較強(qiáng)的足球視頻為例,通常觀眾看球最喜歡看進(jìn)球和回放畫(huà)面的,這種視頻片段可以進(jìn)行自動(dòng)識(shí)別和標(biāo)注,相應(yīng)算法識(shí)別率可以達(dá)到百分之百。除此之外,還有一些重要的犯規(guī)、射門(mén)等用戶(hù)感興趣片段,識(shí)別率也可以達(dá)到百分之九十以上。假設(shè)把視頻的運(yùn)動(dòng)強(qiáng)度、鏡頭切換率(固定時(shí)間窗口內(nèi)鏡頭切換的快慢)以及聲音能量三個(gè)特征參數(shù)融合為一條曲線(xiàn),即可得到精彩度曲線(xiàn),峰值區(qū)域就是精彩事件。對(duì)精彩度曲線(xiàn)可設(shè)置閾值,大于該閾值即可設(shè)置為精彩事件,進(jìn)而對(duì)被傳輸視頻內(nèi)容進(jìn)行分級(jí)。3.3 電影視頻或者個(gè)人自拍視頻圖5? 個(gè)性化情感分析
情感作為語(yǔ)義層分級(jí)的最高級(jí)或者作為高于語(yǔ)義層單獨(dú)稱(chēng)為情感層,是視頻分析的最高層任務(wù)。該類(lèi)視頻是表演者情感和觀眾情感的融合,即觀眾喜歡看何種情感的視頻,就對(duì)相應(yīng)情感的片段進(jìn)行優(yōu)化。由于近幾年深度學(xué)習(xí)技術(shù)在計(jì)算機(jī)視覺(jué)領(lǐng)域的廣泛應(yīng)用,情感識(shí)別的準(zhǔn)確率提升很明顯。例如應(yīng)用Resnet-50提取深度卷積特征,應(yīng)用支持向量機(jī)(SVM)分6類(lèi)基本情感的概率值作為視頻的一個(gè)特征量。以鏡頭為單元,一般同一鏡頭的情感是相似的,在連續(xù)時(shí)間域內(nèi)計(jì)算兩兩鏡頭之間的距離,平均后可以得到用戶(hù)的偏好強(qiáng)度。例如用戶(hù)為女生則會(huì)喜歡情感性比較強(qiáng)的電影,比如泰坦尼克號(hào)或者再見(jiàn)前任等;用戶(hù)為男生一般會(huì)喜歡功夫熊貓、速度與激情等一系列的電影。4. 優(yōu)化策略模型圖6? 基于內(nèi)容的自適應(yīng)傳輸優(yōu)化模型圖6是一個(gè)多維背包問(wèn)題,邏輯上將視頻看作一個(gè)個(gè)時(shí)間域上連續(xù)排列的獨(dú)立單元,每個(gè)單元可能是一個(gè)幀或者片段,已被標(biāo)注相應(yīng)的級(jí)別值。在滿(mǎn)足當(dāng)前的約束條件下(如帶寬、幀率或者碼率等),保證被傳輸單元的所有級(jí)別值的總和最大化即可。顯然做一個(gè)多維背包問(wèn)題很困難而且耗時(shí),但在實(shí)際使用中卻沒(méi)那么復(fù)雜,比如在丟幀的情況下,每次只能丟一幀,該背包問(wèn)題則成為一維背包問(wèn)題;如果是多片段的編碼流,在服務(wù)器上只有有限版本的碼流情況下,則成為有限背包問(wèn)題。4.1 標(biāo)注流傳輸單元語(yǔ)義分級(jí)或者語(yǔ)義標(biāo)簽標(biāo)注在流傳輸單元上,視頻流結(jié)構(gòu)決定標(biāo)注粒度,以下為幾種標(biāo)注流傳輸單元:(1)包級(jí):IP包是獨(dú)立的傳輸單元,主要是一種網(wǎng)絡(luò)解決方案。(2)幀級(jí):在視頻傳輸中幀是獨(dú)立的編解碼單元,一個(gè)幀至少要包含在一個(gè)包里面,保證幀在傳輸過(guò)程中是安全的,否則解碼后會(huì)出現(xiàn)馬賽克。(3)片段級(jí):當(dāng)傳輸單元是一個(gè)片段時(shí),即傳輸單元是一個(gè)Segment或者Chunk,包含多個(gè)幀,但起始幀一定是關(guān)鍵幀,否則切換時(shí)無(wú)法解碼。圖7? 與流傳輸單元相關(guān)的語(yǔ)義標(biāo)注值如圖中,虛框表示邏輯上的標(biāo)注,語(yǔ)義標(biāo)簽可標(biāo)注在幀上,也可以標(biāo)注在片段上,具體依據(jù)不同的流傳輸系統(tǒng)而定。5. 自適應(yīng)流傳輸技術(shù)5.1 實(shí)時(shí)流傳輸實(shí)現(xiàn):基于RTP/RTSP圖8? RTSP丟幀操作標(biāo)注完成之后進(jìn)行丟幀操作,一般情況下在實(shí)時(shí)流中丟棄一定非參考幀,可以將碼率降低50%~30%,同時(shí)也能夠保證解碼時(shí)不出錯(cuò)。丟多少幀可由內(nèi)容的級(jí)別決定,級(jí)別越高的內(nèi)容丟幀越少,級(jí)別低的幀不能丟P幀,因?yàn)闀?huì)出現(xiàn)明顯的卡頓。5.2 實(shí)時(shí)流傳輸實(shí)現(xiàn):基于DASH碼流切換圖9? 碼流切換操作碼率切換的一個(gè)優(yōu)點(diǎn)是不會(huì)出現(xiàn)卡頓。缺點(diǎn)是如果碼率切換太頻繁,就會(huì)出現(xiàn)用戶(hù)對(duì)質(zhì)量的焦慮感,因?yàn)榇a率從低到高的切換用戶(hù)比較容易接受,反之就會(huì)比較難接受。因此根據(jù)內(nèi)容重要性級(jí)別在不同質(zhì)量碼流間切換時(shí),還要考慮緩存分配,可以給高碼率的視頻預(yù)留一些緩存,這樣高速運(yùn)動(dòng)的視頻傳輸時(shí)可以盡量調(diào)高碼率。綜合應(yīng)用網(wǎng)絡(luò)資源分配優(yōu)化傳輸質(zhì)量是一個(gè)比較好的策略。5.3 視頻流質(zhì)量評(píng)價(jià)在實(shí)時(shí)的傳輸過(guò)程中,需要對(duì)傳輸質(zhì)量進(jìn)行評(píng)估,以評(píng)判自適應(yīng)傳輸算法是否有效,包括客觀質(zhì)量、語(yǔ)義級(jí)QoE兩種評(píng)判方法。目前對(duì)視頻客觀質(zhì)量的評(píng)價(jià)標(biāo)準(zhǔn)有以下幾種方法:
PSNR:最早傳統(tǒng)的方法,是基于像素值失真的度量。
SSIM:基于結(jié)構(gòu)失真的度量,與PSNR相比更敏感,往往PSNR不明顯時(shí)SSIM更明顯。
VQM:基于感知域失真的度量,是通過(guò)人可以感知運(yùn)動(dòng)、紋理等事物的參數(shù)的度量來(lái)評(píng)價(jià)視頻的質(zhì)量,很多現(xiàn)有的方法普遍認(rèn)為VQM更符合人眼的質(zhì)量感知(但就我認(rèn)為,VQM是做加權(quán)平均值,往往比較模糊,存在誤差,某些情況下誤差會(huì)更大。)
VMAF:基于機(jī)器學(xué)習(xí)模型的失真度量,缺點(diǎn)是運(yùn)行時(shí)間比較長(zhǎng),但準(zhǔn)確度與PSNR、SSIM相近。
用戶(hù)關(guān)注的運(yùn)動(dòng)內(nèi)容是否平滑清晰
用戶(hù)關(guān)注的進(jìn)球事件是否完整無(wú)缺失
用戶(hù)關(guān)注的情感內(nèi)容是否完整無(wú)缺失
用戶(hù)關(guān)注的教學(xué)內(nèi)容是否清晰可讀
用戶(hù)關(guān)注的對(duì)象是否清晰可識(shí)別
LiveVideoStack?秋季招聘
LiveVideoStack正在招募編輯/記者/運(yùn)營(yíng),與全球頂尖多媒體技術(shù)專(zhuān)家和LiveVideoStack年輕的伙伴一起,推動(dòng)多媒體技術(shù)生態(tài)發(fā)展。同時(shí),也歡迎你利用業(yè)余時(shí)間、遠(yuǎn)程參與內(nèi)容生產(chǎn)。了解崗位信息請(qǐng)?jiān)贐OSS直聘上搜索“LiveVideoStack”,或通過(guò)微信“Tony_Bao_”與主編包研交流。
總結(jié)
以上是生活随笔為你收集整理的基于内容的自适应视频传输算法及其应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 快手直播平台演进之路
- 下一篇: 在线教育音视频质量评价与感知系统