-01-
視頻處理架構(gòu)與畫質(zhì)帶寬優(yōu)化
首先,大家對(duì)小紅書的印象是什么呢?
小紅書最初主要面向消費(fèi)場(chǎng)景,比如美妝產(chǎn)品的分享和購(gòu)買攻略。經(jīng)過近幾年的發(fā)展,小紅書已經(jīng)變成了一個(gè)綜合的 UGC 分享社區(qū),在“衣食住行玩”各方面都有大量的用戶真實(shí)分享,提供很多有價(jià)值的信息。同時(shí)用戶群體也發(fā)生了較大的變化,性別以及各年齡段的用戶比例變得更加均衡。
另一個(gè)顯著的變化是:小紅書以前主要是圖文筆記分享,隨著視頻成為用戶分享生活的重要載體,小紅書也響應(yīng)趨勢(shì)提出視頻戰(zhàn)略,目前用戶刷小紅書可以發(fā)現(xiàn)視頻筆記占了很大的比例。當(dāng)前每日新增視頻達(dá)到了百萬級(jí)別,直播消費(fèi)側(cè)業(yè)務(wù)也在穩(wěn)步提升。
那么,PUGC 點(diǎn)播及直播業(yè)務(wù)背后涉及的關(guān)鍵技術(shù)有哪些?
這里展示一張架構(gòu)圖,整個(gè)鏈路主要包含生產(chǎn)端、云端和消費(fèi)端,用戶在生產(chǎn)端進(jìn)行內(nèi)容創(chuàng)作、編輯和推流;然后將內(nèi)容發(fā)布到后臺(tái)云端進(jìn)行處理,主要包括多檔位視頻轉(zhuǎn)碼、內(nèi)容審核與理解、以及視頻搜索與推薦;消費(fèi)端則是用戶實(shí)際體驗(yàn)的場(chǎng)景,用戶體驗(yàn)來自兩方面,一方面是視頻推薦內(nèi)容的體驗(yàn),另一方面是視頻畫質(zhì)及播放流暢度的體驗(yàn),后者也是我們?cè)谝粢曨l處理中需要關(guān)注和優(yōu)化的目標(biāo)。從這張圖可以看到,音視頻處理橫跨三端,也是整個(gè)上層視頻業(yè)務(wù)及應(yīng)用的基礎(chǔ)設(shè)施,我們需要保障整條視頻鏈路的穩(wěn)定和通暢、關(guān)注用戶體驗(yàn)以及降低成本(帶寬、計(jì)算、存儲(chǔ)等)。
回歸本次分享的主題:如何對(duì)畫質(zhì)與帶寬進(jìn)行優(yōu)化?
在論述這個(gè)話題前,先簡(jiǎn)單介紹一下背景。
小紅書成立專業(yè)的音視頻團(tuán)隊(duì)還不到 2 年,如果是正常的研發(fā)路徑,應(yīng)該是先提升體驗(yàn),容許增加一些成本。但是在疫情之后,全行業(yè)進(jìn)入降本增效主題,降成本也成為我們重要目標(biāo)之一。而提升體驗(yàn)是建立這個(gè)專業(yè)團(tuán)隊(duì)的初衷,在不犧牲用戶體驗(yàn)的前提下來?yè)Q取技術(shù)成本的節(jié)省,唯一的手段就是提升技術(shù)和優(yōu)化策略。
因此,我們算是跑步進(jìn)入了“深水區(qū)”,比較幸運(yùn)的是,一方面我們是站在行業(yè)經(jīng)驗(yàn)的肩膀上;另一方面,我們也有后發(fā)優(yōu)勢(shì),并結(jié)合自己的思考可以進(jìn)一步改進(jìn)和優(yōu)化。所以如何兼顧體驗(yàn)和成本?下面分三個(gè)層面說說我的理解。
1、模塊級(jí)優(yōu)化
首先,大家熟知的是編碼標(biāo)準(zhǔn)的迭代和升級(jí),每一代標(biāo)準(zhǔn)相比前一代標(biāo)準(zhǔn)在畫質(zhì)基本不變前提下可以節(jié)省 30%~50% 的碼率。當(dāng)前小紅書大規(guī)模部署的是 H.265 標(biāo)準(zhǔn),目前達(dá)到比較高的覆蓋率。在研主要標(biāo)準(zhǔn)是 AV1,H.266 未來也可能會(huì)跟進(jìn)。
新一代標(biāo)準(zhǔn)大規(guī)模落地還需要一些時(shí)間,當(dāng)前主要挑戰(zhàn)是計(jì)算復(fù)雜度比較高。對(duì)于點(diǎn)播來說,云端可以用計(jì)算成本來?yè)Q,而在播放端,當(dāng)前硬解 AV1 和 H.266 的設(shè)備非常少,因此需要配套部署經(jīng)過極致優(yōu)化的軟解。
2、跨技術(shù)方向融合
編碼考慮的是用最少的碼率最大程度地代表原視頻,因此視頻質(zhì)量的上限就是原視頻。而 UGC 創(chuàng)作的視頻質(zhì)量非常多樣,如果能用畫質(zhì)增強(qiáng)及修復(fù)算法提升原視頻的質(zhì)量,那么對(duì)應(yīng)消費(fèi)側(cè)的轉(zhuǎn)碼視頻質(zhì)量也能隨之提升。比如一個(gè)帶噪視頻經(jīng)過去噪算法后再編碼,不僅畫質(zhì)有提升,還能進(jìn)一步節(jié)省碼率。當(dāng)然并不是所有畫質(zhì)算法都能帶來這種 double 的收益。比如在云端做超分,畫質(zhì)提升的同時(shí)碼率也會(huì)增加。
其次,當(dāng)前的編碼框架還是比較傳統(tǒng),缺乏對(duì)視頻內(nèi)容的理解,固定的編碼參數(shù)以及碼控算法并不是最優(yōu)的。因此,通過對(duì)視頻場(chǎng)景的分類以及增加對(duì)內(nèi)容和語(yǔ)義的理解,可以進(jìn)一步提升編碼效果和效率。另外從主觀感受來講,對(duì)于感興趣區(qū)域提升編碼質(zhì)量可以更有效地提升實(shí)際觀看體驗(yàn),而對(duì)于非感興趣區(qū)域降低編碼質(zhì)量,不太影響觀看體驗(yàn)但有助于節(jié)省碼率。
視頻分析、處理以及內(nèi)容自適應(yīng)編碼技術(shù)整體形成了智能轉(zhuǎn)碼方案,涉及到 high level 圖像分析、low level 圖像處理、編碼技術(shù)的融合。據(jù)我了解,各家廠商在這部分都有自己的一些方案,但是智能程度(包括效果和自動(dòng)化程度兩個(gè)方面)還有待提升,隨著智能化程度的提升,收益及效率也會(huì)越來越高。
此外,學(xué)術(shù)界也有一些顛覆性的前沿探索,比如端到端的深度學(xué)習(xí)視頻編碼,不過總的來說更偏中長(zhǎng)期才有機(jī)會(huì)大規(guī)模落地。
3、全局系統(tǒng)優(yōu)化
轉(zhuǎn)碼是音視頻處理最重要的一個(gè)任務(wù),而它也只是云端處理的重要一環(huán)。全局來看,音視頻處理是一個(gè)從生產(chǎn)端到消費(fèi)端的視頻處理鏈路。局部?jī)?yōu)化往往帶來局部最優(yōu),站在全局視角,可以發(fā)現(xiàn)很多技術(shù)優(yōu)化不再矛盾,比如前文提到云端超分,提升畫質(zhì)但是會(huì)增加碼率,理論上會(huì)增加帶寬成本,但如果全局分析,我們可以發(fā)現(xiàn) CDN 通常是根據(jù)高峰期來收費(fèi),在非高峰期下發(fā)超分后的高碼率視頻并不會(huì)增加帶寬成本。
另外,如果能夠在播放端做好畫質(zhì)增強(qiáng),就可以下發(fā)更低碼率和更低分辨率的視頻,從而實(shí)現(xiàn)顯著的帶寬節(jié)省,后面要講的端云結(jié)合超分就是一個(gè)典型例子。
站在更大的視角,用戶體驗(yàn)包含畫質(zhì)體驗(yàn)和內(nèi)容體驗(yàn),音視頻處理的結(jié)果是提升大盤視頻整體質(zhì)量,而視頻推薦能結(jié)合視頻質(zhì)量評(píng)估,就可以給用戶推薦感興趣且高質(zhì)的視頻。
從編碼標(biāo)準(zhǔn)迭代到全局優(yōu)化,我認(rèn)為在兼顧體驗(yàn)和成本的優(yōu)化上還有不少可以挖掘的點(diǎn),且在單一技術(shù)點(diǎn)上其實(shí)也還有很大空間,給出這樣的判斷基于兩個(gè)主要原因:一是音視頻系統(tǒng)的智能化程度還比較低,更高的智能化意味著能夠更好地兼顧體驗(yàn)和成本;此外,我們發(fā)現(xiàn)在音視頻系統(tǒng)里落地的算法效果離學(xué)術(shù)界上限還有一定距離,客觀原因是學(xué)術(shù) idea 通常在很小的數(shù)據(jù)集上驗(yàn)證,而在億級(jí)視頻消費(fèi)和展現(xiàn)上會(huì)有很多問題,但好的一面是,未來如果我們能利用好這些最新 idea 且解決泛化及性能問題,就會(huì)產(chǎn)生可觀的收益。
從模塊優(yōu)化到全局優(yōu)化的演進(jìn)過程中,我認(rèn)為最重要且最基礎(chǔ)的能力升級(jí)是質(zhì)量評(píng)估。如果只是優(yōu)化編碼,可以用 PSNR/SSIM/VMAF 等有參考指標(biāo)。而當(dāng)構(gòu)建智能轉(zhuǎn)碼時(shí),這些有參考質(zhì)量評(píng)估方法不再適用,比如經(jīng)過畫質(zhì)增強(qiáng)的視頻比原視頻看著更好。此外,站在全局視角來看,很多處理節(jié)點(diǎn)也沒有參考視頻可用,相對(duì)質(zhì)量評(píng)估方法也無法使用。因此質(zhì)量評(píng)估需要升級(jí)為以人眼感知質(zhì)量為基礎(chǔ),并且評(píng)估視頻的絕對(duì)質(zhì)量。
-02-
基于人眼感知的質(zhì)量評(píng)估指標(biāo) RedVQA
下面介紹小紅書自研的質(zhì)量評(píng)估指標(biāo) RedVQA,它是一個(gè)基于深度學(xué)習(xí)的無參考視頻質(zhì)量評(píng)估算法。
回到這張架構(gòu)圖,我們希望 RedVQA 能做什么?
首先,我們希望它能對(duì)整個(gè)視頻鏈路任一節(jié)點(diǎn)的視頻質(zhì)量做評(píng)估,包括拍攝視頻的原始質(zhì)量、經(jīng)過編輯和特效處理后的質(zhì)量、經(jīng)過轉(zhuǎn)碼下發(fā)到消費(fèi)端的質(zhì)量。
其次,我們希望它可以指導(dǎo)優(yōu)化畫質(zhì)及編碼算法。
最后,我們希望它能夠輔助上層視頻業(yè)務(wù)和應(yīng)用。
基于上面的分析,我總結(jié)下 RedVQA 的研發(fā)目標(biāo)與挑戰(zhàn)。
第一個(gè)目標(biāo)是能夠捕捉拍攝或上傳視頻的多種視頻質(zhì)量問題;挑戰(zhàn)是如何盡量多地覆蓋到各種 UGC 質(zhì)量問題(比如模糊、過曝欠曝、噪聲、顏色不自然、過銳等)。
第二個(gè)目標(biāo)是能夠捕捉視頻處理鏈路中的降質(zhì)和升質(zhì)變化,要求我們能夠識(shí)別和理解整個(gè)視頻鏈路的升質(zhì)和降質(zhì)操作,并且把這些因素融入到算法和數(shù)據(jù)集設(shè)計(jì)中。舉個(gè)例子,低碼率編碼會(huì)引入降質(zhì),畫質(zhì)問題表現(xiàn)為:細(xì)節(jié)丟失、清晰度下降、平坦區(qū)出現(xiàn)塊效應(yīng)、邊緣和紋理區(qū)域出現(xiàn)振鈴效應(yīng)/蚊式噪聲。另外值得注意的是,視頻壓縮相比圖像壓縮在碼率分配上更加復(fù)雜,會(huì)使得視頻質(zhì)量在空域和時(shí)域上不是均勻分布,這也對(duì)算法的智能識(shí)別能力提出了更高的要求。畫質(zhì)增強(qiáng)算法通常可以提升畫質(zhì),常見的超分、去模糊、去壓縮損失、HDR 等算法有助于改善細(xì)節(jié)、清晰度、噪聲、亮度/色彩等方面的畫質(zhì)體驗(yàn)。
第三個(gè)目標(biāo)是與人眼主觀感受質(zhì)量一致,要求算法智能且泛化強(qiáng)。比如大光圈拍的照片會(huì)產(chǎn)生背景虛化效果,人眼覺得 ok、有美感,而算法有可能把虛化的背景誤判為模糊問題。
在自研數(shù)據(jù)集前,我們收集了質(zhì)量評(píng)估領(lǐng)域的幾個(gè)主要數(shù)據(jù)集,通過分析和總結(jié)得出一些結(jié)論:a. 相比 CV 任務(wù),開源質(zhì)量評(píng)估數(shù)據(jù)集規(guī)模很小;b. 數(shù)據(jù)來源可能和我們線上不太一致,包括用戶設(shè)備和拍攝專業(yè)程度等;c. 開源數(shù)據(jù)集缺少經(jīng)過業(yè)務(wù)視頻鏈路處理的數(shù)據(jù),如小紅書特有的編碼/畫質(zhì)處理、特效模板處理;d. 我們也測(cè)試了使用開源數(shù)據(jù)集訓(xùn)練的算法在業(yè)務(wù)測(cè)試集上的準(zhǔn)確率,結(jié)果比開源數(shù)據(jù)集低很多。
因此,我們決定自研構(gòu)建 RedVQA 數(shù)據(jù)集。數(shù)據(jù)集構(gòu)建中非常關(guān)鍵的是視頻收集,主要思考的問題是如何通過有限的數(shù)據(jù)集來代表相對(duì)無限的大數(shù)據(jù),使得訓(xùn)練出來的算法具有很強(qiáng)的泛化能力。實(shí)踐中,我們分為三個(gè)步驟:首先是視頻初篩,這一步根據(jù)線上視頻的標(biāo)簽、垂類和基礎(chǔ)視頻信息進(jìn)行篩選,比如主要的分辨率要覆蓋到,包含不同的碼率、轉(zhuǎn)碼質(zhì)量的視頻。第二步,我們需要在候選數(shù)據(jù)集內(nèi)采樣一批盡可能場(chǎng)景豐富和質(zhì)量多樣的視頻子集,我們利用了一些場(chǎng)景分類以及不同畫質(zhì)維度的檢測(cè)指標(biāo)作為判斷標(biāo)準(zhǔn)。通過指標(biāo)采樣,希望采集到的數(shù)據(jù)集在各指標(biāo)上更加均衡或者符合預(yù)期。經(jīng)過前面兩步,仍然會(huì)缺失一些低質(zhì)視頻,因?yàn)橛行﹩栴}視頻占比很少,很難從線上篩選出來。通過對(duì)整個(gè)視頻鏈路的理解和分析,需要人工補(bǔ)充或構(gòu)造一些低質(zhì)視頻。
在數(shù)據(jù)標(biāo)注和清洗上主要參照 ITU-T P.910 標(biāo)準(zhǔn),通過流程規(guī)范來保證數(shù)據(jù)標(biāo)注質(zhì)量。質(zhì)量分的定義也比較重要,由于美學(xué)具有很強(qiáng)的個(gè)體主觀性,我們主要考慮畫質(zhì)維度,而不同畫質(zhì)維度的優(yōu)先級(jí)主要參考了小紅書的用戶調(diào)研。
算法設(shè)計(jì)上,重點(diǎn)是如何有效提取質(zhì)量特征,這里需要對(duì)質(zhì)量問題的產(chǎn)生過程有充分的認(rèn)知,比如視頻鏈路中編輯和轉(zhuǎn)碼會(huì)如何影響質(zhì)量,我總結(jié)了 3 個(gè)關(guān)鍵點(diǎn):
1、在時(shí)空采樣中,全局構(gòu)圖和局部紋理信息都很重要。質(zhì)量感知特征體現(xiàn)在局部紋理上,而劣化程度在于全局感知;
2、網(wǎng)絡(luò)設(shè)計(jì)要能夠捕捉大范圍時(shí)空信息及依賴關(guān)系,人眼對(duì)質(zhì)量的感知涉及到整體語(yǔ)義理解、關(guān)注區(qū)域、創(chuàng)作意圖理解等,很多視頻處理操作會(huì)在較大的時(shí)空范圍內(nèi)影響質(zhì)量,比如碼率分配、ROI 編碼;
3、質(zhì)量評(píng)估數(shù)據(jù)集的量級(jí)和完備程度遠(yuǎn)低于分類識(shí)別等 CV 任務(wù),而質(zhì)量特征又非常復(fù)雜,因此需要某種顯式地輔助質(zhì)量特征提取的手段。一種方法是通過添加有序的質(zhì)量樣本或者利用質(zhì)量評(píng)估的代理任務(wù),進(jìn)行數(shù)據(jù)增強(qiáng)及質(zhì)量特征自監(jiān)督學(xué)習(xí)。
接下來是算法驗(yàn)證。首先介紹下質(zhì)量評(píng)估領(lǐng)域的幾個(gè)評(píng)價(jià)指標(biāo),PLCC 表示相關(guān)性,SRCC/KRCC 反映保序性,RMSE 反映絕對(duì)誤差。RedVQA 的相關(guān)性在 0.9 左右,達(dá)到了可用的狀態(tài)。此外,我們也驗(yàn)證了算法對(duì)質(zhì)量劣化的敏感程度,首先需要構(gòu)造一批質(zhì)量保序的樣本。我們通過編碼參數(shù)的配置得到一系列不同分辨率和碼率的樣本,實(shí)際線上轉(zhuǎn)碼服務(wù)也是基于不同分辨率以及不同的編碼參數(shù)來設(shè)計(jì)轉(zhuǎn)碼檔位,這也貼合了線上的視頻處理方式。上圖可以看到,隨著質(zhì)量控制參數(shù) CRF 的增大,質(zhì)量分逐漸減小,符合預(yù)期,說明算法可以在一定程度上捕捉一些細(xì)微的質(zhì)量損失。其次,我們也看到,同一個(gè)視頻的不同分辨率版本,高分辨率質(zhì)量整體優(yōu)于低分辨率,這也符合預(yù)期。
基于 RedVQA,我們實(shí)現(xiàn)了一個(gè)大盤質(zhì)量監(jiān)控看板,按照不同的維度統(tǒng)計(jì)視頻的質(zhì)量分。通過這些數(shù)據(jù),有助于了解大盤整體的視頻質(zhì)量以及各拆分維度的質(zhì)量。在有了數(shù)據(jù)后,后續(xù)的優(yōu)化動(dòng)作變得有據(jù)可依。圖中展示了不同垂類的視頻質(zhì)量分,不同分位數(shù)的質(zhì)量統(tǒng)計(jì)使得我們對(duì)生產(chǎn)側(cè)視頻的質(zhì)量分布有了全局的掌握。右邊上圖是按照分辨率拆分的生產(chǎn)側(cè)視頻質(zhì)量統(tǒng)計(jì),右邊下圖是不同編輯方式的統(tǒng)計(jì)。
除了生產(chǎn)側(cè)質(zhì)量監(jiān)控,消費(fèi)側(cè)視頻質(zhì)量監(jiān)控更加重要,這決定了小紅書對(duì)用戶呈現(xiàn)的整體質(zhì)量。消費(fèi)側(cè)比生產(chǎn)側(cè)更復(fù)雜,一方面為了應(yīng)對(duì)網(wǎng)速變化、成本控制以及端設(shè)備計(jì)算能力不同,每個(gè)上傳視頻都需要轉(zhuǎn)碼成不同的檔位,通過播放控制來決策下發(fā)檔位;另一方面,推薦系統(tǒng)會(huì)極大影響用戶看到的視頻內(nèi)容,因此消費(fèi)側(cè)質(zhì)量監(jiān)控除了有助于了解實(shí)際用戶看到的視頻質(zhì)量,也有助于我們對(duì)轉(zhuǎn)碼檔位、播放以及推薦策略的優(yōu)化。
-03-
基于人眼感知質(zhì)量的端云結(jié)合超分
下面介紹端云結(jié)合超分,也是今年我們降本增效的重點(diǎn)項(xiàng)目。
超分這個(gè)課題在學(xué)術(shù)界和工業(yè)界研究了很多年。但面向不同的業(yè)務(wù)場(chǎng)景和集成系統(tǒng),端側(cè)超分技術(shù)在業(yè)務(wù)目標(biāo)和技術(shù)方向上存在很明顯的區(qū)別。
比如面向一款新的硬件設(shè)備,只需要基于它的硬件加速器定制化地設(shè)計(jì)和優(yōu)化算法即可。
對(duì)于視頻業(yè)務(wù)和 APP,需要關(guān)注什么,如何獲得顯著收益,下面分享下我們的理解與實(shí)踐。
對(duì)于視頻 APP 來說,一個(gè)算法能不能落地,除了離線評(píng)測(cè)外,AB 實(shí)驗(yàn)數(shù)據(jù)是最終量化指標(biāo)。我們希望獲得 QoS 技術(shù)指標(biāo)和 QoE 業(yè)務(wù)指標(biāo)的正向收益,對(duì)于降本增效任務(wù)來說,帶寬節(jié)省也是最重要的一個(gè)指標(biāo)。而播放端視頻算法落地,算法性能有極大的影響,算法耗時(shí)長(zhǎng)可能引起卡頓、集成方式不對(duì)可能導(dǎo)致播放失敗率和首幀時(shí)長(zhǎng)增加。此外,用戶設(shè)備機(jī)型及性能多種多樣,通常在高端機(jī)上部署算法比較容易,如果想進(jìn)一步覆蓋到中低端機(jī)會(huì)非常困難。
最近兩年業(yè)界在端側(cè)超分大規(guī)模部署上有所突破,效果和覆蓋率的進(jìn)一步提升是大家都關(guān)注的問題。但我們也發(fā)現(xiàn)另一個(gè)問題待解決:通常算法效果驗(yàn)證是離線驗(yàn)證,而上線后很難再對(duì)畫質(zhì)算法效果進(jìn)行量化,有沒有 badcase 并不知道。而 QoE 指標(biāo)是后驗(yàn)指標(biāo),而且從定義可以看到它不完全受到畫質(zhì)一個(gè)因素影響,因此 QoE 數(shù)據(jù)的好與壞,并不直接對(duì)應(yīng)超分效果,也沒法對(duì)算法后續(xù)迭代有指導(dǎo)作用。
還要說明的是,如果犧牲一部分收益,落地也會(huì)更簡(jiǎn)單,比如當(dāng)我們針對(duì)一款高端機(jī)來設(shè)計(jì)端側(cè)超分時(shí),可以按照其計(jì)算性能打滿算法復(fù)雜度從而提升效果,但在大盤上的收益就會(huì)非常有限。
為了獲取最大的收益,我們?cè)O(shè)計(jì)了一個(gè)基于人眼感知質(zhì)量的端云結(jié)合超分方案來解決上述挑戰(zhàn),主要分為云端媒體處理和端側(cè)播放兩部分。用戶在看視頻時(shí),對(duì)應(yīng)的云端視頻是有多個(gè)檔位的,而不同的檔位對(duì)應(yīng)不同的決策。對(duì)超分來說,端側(cè)超分算法部署在播放端解碼之后,同時(shí)我們?cè)谠贫藶槎藗?cè)超分定制化了的一個(gè)超分檔位,定制化的目的是為了精細(xì)化控制超分開啟策略且補(bǔ)償最終端側(cè)超分的效果。首先,我們通過帶寬高峰期預(yù)測(cè)來控制超分檔位下發(fā)的時(shí)間段;其次,我們通過質(zhì)量&碼率收益評(píng)估來更好地平衡用戶體驗(yàn)與帶寬收益,動(dòng)態(tài)精細(xì)地量化出每個(gè)視頻的質(zhì)量問題及收益,避免超分效果不佳的視頻產(chǎn)生超分檔位,這里用到的質(zhì)量評(píng)估即是前文提到的 RedVQA。
當(dāng)我們?cè)O(shè)計(jì)超分算法時(shí),首先要保證的是 QoS 數(shù)據(jù)無負(fù)向,要求開啟超分后的各項(xiàng)技術(shù)指標(biāo)不會(huì)顯著劣化。而為了達(dá)到比較高的覆蓋率,需要在中低端機(jī)上也能流暢的運(yùn)行,這對(duì)于算法的性能提出了更高的要求。我們對(duì)算法的性能目標(biāo)有個(gè)經(jīng)驗(yàn)性的判斷:計(jì)算復(fù)雜度應(yīng)該在 GFLOPS 以內(nèi),耗時(shí)在 10ms 以內(nèi),功耗在 100mAh 以內(nèi),這樣開啟超分后的影響可能比較小。
在部署層面,因?yàn)?CPU 通常被多任務(wù)共享,如果算法過多占用 CPU 和內(nèi)存也會(huì)引起 APP 崩潰,因此我們也要求算法盡量少占用 CPU 和內(nèi)存。避免“碎片化”部署的意思是,我們不希望設(shè)計(jì)多個(gè)算法,以及針對(duì)多個(gè)處理器做優(yōu)化,主要原因還是我們希望第一版算法能夠快速驗(yàn)證和部署,盡快帶來收益。當(dāng)然我們后續(xù)也計(jì)劃對(duì)部分機(jī)型設(shè)計(jì)更優(yōu)的算法進(jìn)行迭代。
下面的表格是一些算法調(diào)研總結(jié),可以看到,公開文獻(xiàn)中輕量深度學(xué)習(xí)超分算法 (SCSRN) 仍然有比較大的計(jì)算量,盡管網(wǎng)絡(luò)模型看起來已經(jīng)非常小了,而在VeriSilicon NPU 上的耗時(shí)是 19ms,如果在更通用的處理器上耗時(shí)會(huì)更大。給出一個(gè)計(jì)算量級(jí)的對(duì)比,5x5 高斯濾波的計(jì)算量大概在 100Mflops。
雖然可以進(jìn)一步對(duì)上述算法進(jìn)行模型壓縮,不過我們總體判斷在極輕量算法設(shè)計(jì)中,有圖像理論指導(dǎo)的 low level 圖像算法會(huì)比深度學(xué)習(xí)更高效,因此我們把目光投向超分領(lǐng)域更早的文獻(xiàn)。這里列出一篇 Google 發(fā)表的很有啟發(fā)意義的文獻(xiàn),被用于節(jié)省圖片下發(fā)帶寬。總體來說,這是一個(gè) two-stage 算法,推理時(shí)先對(duì)圖片 patch 進(jìn)行模式分類,選出濾波 kernel,然后用這個(gè) kernel 進(jìn)行濾波,可以認(rèn)為是一個(gè)內(nèi)容自適應(yīng)的濾波算法。在訓(xùn)練階段,通過將相同分類的輸入 patch 及對(duì)應(yīng)的 ground truth pixel 集合在一起形成訓(xùn)練集,求解出 kernel。需要說明的是,這個(gè)算法的 kernel 求解不是通過梯度后向傳播訓(xùn)練出來的,而是直接求的解析解。從左下圖可以看到,這個(gè)算法在當(dāng)時(shí)還是非常高效的,可以達(dá)到實(shí)時(shí)。
我們認(rèn)識(shí)到這個(gè)算法的計(jì)算復(fù)雜度還是有點(diǎn)高,并且難以直接滿足我們的性能目標(biāo),所以借鑒它的思路做了進(jìn)一步的優(yōu)化。下面幾個(gè)點(diǎn)值得探究和改進(jìn):
1、模式分類還是有點(diǎn)復(fù)雜,為了降低復(fù)雜度,需要通過實(shí)驗(yàn)找到最有代表性的特征;
2、當(dāng)前的 kernel 是解析解,效果上 與 L2 loss 相當(dāng),且是線性濾波,如果能引入可導(dǎo)梯度學(xué)習(xí),就可以引入非線性濾波以及多種 loss;
3、當(dāng)前算法是 Patch-to-pixel 映射,如果改成 Patch-to-patch 映射,可能計(jì)算會(huì)更高效;
4、最后推理結(jié)果可能出現(xiàn)一些畫質(zhì)問題,考慮加一些低計(jì)算復(fù)雜度后處理方法。
盡管在端側(cè)超分算法上做了精心設(shè)計(jì),但受限于其本身的計(jì)算量,能實(shí)現(xiàn)的效果還是有限。如果是一款終端產(chǎn)品研發(fā),似乎也沒有更好的辦法。而在我們的視頻處理架構(gòu)中,端側(cè)超分的輸入視頻或者下發(fā)的超分檔位是由云端轉(zhuǎn)碼而來。通過定制化超分檔位,可以有效提升和補(bǔ)償端側(cè)超分效果。實(shí)踐中,我們基于 RedVQA 把原視頻分成高質(zhì)和低質(zhì)。對(duì)于高質(zhì)視頻,可以通過云端增強(qiáng)算法有效提升超分后的紋理細(xì)節(jié);對(duì)于低質(zhì)視頻,重點(diǎn)在于去除一些壓縮損失,避免 artifact 放大。
下面是整套方案的離線評(píng)測(cè)。上圖是性能數(shù)據(jù),對(duì)于一個(gè) 60fps 540P 的視頻,開關(guān)超分幀率降得不多,GPU 占用增加 20%,內(nèi)存增加 8M 左右(在撰寫本文時(shí),GPU 及內(nèi)存占用經(jīng)算法及性能優(yōu)化后進(jìn)一步降低),基本沒有發(fā)熱問題。下表是超分檔位的碼率和 RedVQA 質(zhì)量分?jǐn)?shù)據(jù),其中超分檔位是一個(gè) 540P 檔位,我們用了自適應(yīng)銳化以及深度學(xué)習(xí)增強(qiáng)來生成超分檔位,對(duì)比的檔位是一個(gè) 720P 檔位,考慮計(jì)算時(shí)效以及計(jì)算成本,這個(gè)檔位只帶了自適應(yīng)銳化。可以看到超分檔位相比 720P 檔位有 40% 的碼率節(jié)省,平均質(zhì)量分會(huì)小一點(diǎn),而經(jīng)過端側(cè)超分后,平均質(zhì)量分也超過了 720P 檔位。進(jìn)一步看下超分結(jié)果和 720P 視頻的質(zhì)量分差值分布,會(huì)發(fā)現(xiàn)并不是每個(gè)超分后視頻質(zhì)量分都高于 720P 視頻。總的來說,RedVQA 提供了一種規(guī)模量化視頻質(zhì)量的方式,目前在畫質(zhì)優(yōu)化方向上的準(zhǔn)召率上還沒有非常精細(xì),不過實(shí)踐中我們可以做一些權(quán)衡和策略來彌補(bǔ)。
以上是兩個(gè)畫質(zhì)優(yōu)化的例子。上圖超分檔位碼率節(jié)省 45%,RedVQA 提升 0.529;下圖碼率節(jié)省 32%,RedVQA 提升 0.275。從這兩個(gè)例子可以看到,超分視頻同時(shí)兼具了畫質(zhì)收益和帶寬收益。
再看兩個(gè)劣化 case。上圖超分檔位碼率節(jié)省 45%,RedVQA 降低 0.09;下圖碼率節(jié)省 46%,RedVQA 降低 0.13。我們也發(fā)現(xiàn),并不是所有 RedVQA 降低都是畫質(zhì)劣化,但當(dāng)碼率節(jié)省過大時(shí),比如這兩個(gè) case 都超過了 40% 的平均碼率節(jié)省,判定為畫質(zhì)劣化的準(zhǔn)確率就會(huì)提升。如前面所述,我們通過質(zhì)量&碼率收益評(píng)估可以更好的平衡用戶體驗(yàn)與帶寬成本,避免一些極端的劣化 case 影響用戶體驗(yàn)。
我們也做了 AB 實(shí)驗(yàn)佐證大盤上的表現(xiàn)。實(shí)驗(yàn)條件是基于 iPhone XR/XS 及以上開啟超分,在帶寬高峰 3 小時(shí)下發(fā)超分檔位。實(shí)驗(yàn)結(jié)果還比較正向,QoE 數(shù)據(jù)整體波動(dòng),說明超分整體效果基本沒大的問題,QoS 數(shù)據(jù)在卡頓率、啟播失敗率等技術(shù)指標(biāo)上有顯著優(yōu)化,下發(fā)碼率及帶寬節(jié)省也比較顯著。
-04-
總結(jié)與展望
最后做下總結(jié)。在降本增效的大背景下,如何兼顧體驗(yàn)和成本是大家都很關(guān)注的問題。但對(duì)于音視頻處理來說,體驗(yàn)和成本一直都是音視頻處理的“一體兩面”,而算法研發(fā)以及技術(shù)的迭代就是為了實(shí)現(xiàn)“既要又要”。從技術(shù)角度來說,我更關(guān)注如何提升音視頻系統(tǒng)智能化這個(gè)話題,智能化的目標(biāo)之一就是實(shí)現(xiàn)“既要又要”,另一個(gè)目標(biāo)是實(shí)現(xiàn)更高的系統(tǒng)自動(dòng)化程度及效率。另外,更好的跨方向技術(shù)融合以及全局系統(tǒng)優(yōu)化能力可能是構(gòu)建更智能音視頻系統(tǒng)的有效途徑,而基于人眼感知的質(zhì)量評(píng)估是支撐音視頻系統(tǒng)智能化的關(guān)鍵技術(shù)。最后,端側(cè)超分部署面臨性能要求苛刻、部署覆蓋率低、難規(guī)模量化等挑戰(zhàn),我們?cè)O(shè)計(jì)了一個(gè)基于人眼感知質(zhì)量的端云結(jié)合超分來解決這些挑戰(zhàn)。
對(duì)于未來的展望,我們希望達(dá)到更智能的質(zhì)量評(píng)估,在細(xì)粒度質(zhì)量評(píng)估上有所提升,期待在畫質(zhì)優(yōu)化方面發(fā)揮更好的作用。另外,未來我們會(huì)持續(xù)優(yōu)化云端“窄帶高清”視頻轉(zhuǎn)碼,“窄帶高清”的效果和收益會(huì)隨著轉(zhuǎn)碼智能化程度的提升而持續(xù)擴(kuò)大,但同時(shí)我們判斷,整體收益提升的同時(shí)可能會(huì)伴隨著畫質(zhì)分布方差也變大,融合了多種技術(shù)的“窄帶高清”碼流也對(duì)質(zhì)量評(píng)估的準(zhǔn)確性和泛化能力提出了更高的要求。
端云結(jié)合超分是一個(gè)非常有價(jià)值和可探索的方向,總的目標(biāo)我們希望端云能夠深度協(xié)同提升端側(cè)超分后效果,從而無論在畫質(zhì)提升或帶寬節(jié)省目標(biāo)上帶來更大的收益,這里說的“深度協(xié)同”包括整體方案端云劃分合理、超分與編解碼技術(shù)配合、端側(cè)計(jì)算與播放策略適配等多個(gè)層面。具體來說,可以迭代更優(yōu)的超分轉(zhuǎn)碼檔位,設(shè)計(jì)更具表征能力和利用 Metadata 的超分模型,以及探索超分與編碼的融合方案。
審核編輯:劉清
-
編碼器
+關(guān)注
關(guān)注
45文章
3638瀏覽量
134427 -
圖像處理器
+關(guān)注
關(guān)注
1文章
104瀏覽量
15496 -
編碼技術(shù)
+關(guān)注
關(guān)注
1文章
35瀏覽量
11049 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5500瀏覽量
121113 -
HDR技術(shù)
+關(guān)注
關(guān)注
0文章
22瀏覽量
6332
原文標(biāo)題:基于人眼感知質(zhì)量的端云結(jié)合畫質(zhì)及帶寬優(yōu)化實(shí)踐
文章出處:【微信號(hào):livevideostack,微信公眾號(hào):LiveVideoStack】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論