阿里雲窄頻高清本質上是一種轉碼質量優化技術,是一套以人眼的主觀感受最優為基準的視訊編碼技術,研究的是在頻寬受限的情況下,如何追求最佳的視覺感受,即人眼感受的主觀質量最優。而畫面質量提升則是通過使用恰當的畫質增強技術以達到。
我們先來看兩個窄頻高清畫質增強技術提升源視訊畫質的客戶案例:百視 TV APP NBA 直播轉碼畫質增強以及江蘇移動 FIFA2022 世界盃直播轉碼畫質增強。
https://v.youku.com/v_show/id_XNTk1MjUxNzg4OA==.html
右側為窄頻高清畫質增強輸出
視訊僅限於演示技術方案效果
https://v.youku.com/v_show/id_XNTk1MDY4NjUzMg==.html
右側為窄頻高清畫質增強輸出
視訊僅限於演示技術方案效果
視訊是資訊呈現和傳播的主要載體。從早期的 625 線模擬電視訊號,到後來的 VCD、DVD、藍光、超大尺寸電視等,使用者對高品質畫面無止境的追求推動著視訊技術的不斷進步和產業的蓬勃發展。據預測,未來個人消費者網路流量的 80%以上和行業應用流量的 70%以上都將是視訊資料。
當下,隨著視訊拍攝和視訊播放顯示裝置的軟/硬體設定和效能不斷升級,消費者對於視訊畫質的要求越來越高:從 360p 到 720p 再到 1080p,現在正全面躍升至 4K,並且 8K 的腳步正在逼近。在視訊娛樂場景中,視訊畫質是影響使用者互動體驗的關鍵因素,高清視訊往往比低清視訊包含更多的細節和資訊,給使用者的視訊互動帶來更好的體驗,這也促進了使用者在視訊娛樂中對視訊畫質的要求越來越高。視訊消費者一旦適應了高清視訊所帶來和以往不一樣的感受和體驗,例如:高清視訊可以將光線、質感、人物面板、紋理等細節還原得更為真實,對於「渣」畫質的容忍度就會越來越低。
作為創新的排頭兵,網際網路視訊網站正拿出各種應對手段滿足消費者的需求,提升畫質儼然成為視訊網站爭取 IP 之外的新戰場。當下,國內外主流的視訊網站/APP 已經全面普及 1080p,1080p 已經成為一種標配;一些視訊平臺,例如愛優騰、B 站、YouTube,部分節目內容也提供了 4K 版本。
視訊從採集到最終分發再到終端消費者進行播放觀看,中間要經歷複雜的視訊處理和傳輸鏈路。完整的處理和傳輸鏈路通常包括以下幾個環節:
l 採集/編碼:內容提供方採集的視訊首先會被編碼為特定的格式;
l 編輯/剪輯/重編碼:對原始素材進行多樣化的編輯/剪輯操作,進行二次創作,然後重編碼輸出;有的業務場景可能會包含多次剪輯處理;剪輯/編碼完成的視訊會被上傳至伺服器端;
l 雲伺服器端轉碼:視訊在上傳到雲伺服器後,為適應不同的網路環境和播放終端通常會在雲端進行轉碼(本文所討論的窄頻高清轉碼即發生在該環節,以更高的壓縮比呈現更高質量的視訊);
l 雲釋出:CDN 內容分發網路
l 播放端:視訊經由內容分發網路(CDN)加速分發,通過解碼最終在內容消費方的終端裝置上實現播放。
l 多平臺播放:手機,Pad,OTT,IPTV,Web
圖 1 視訊處理和傳輸鏈路
從視訊處理角度來看,窄頻高清雲轉碼是視訊內容觸達終端消費者的最後一個處理環節;從客觀現實上來說,是視訊內容生產消費全鏈路的「最後一公里」。
從傳輸角度來看,在視訊生產和消費全鏈路,各環節之間資料的流轉有多種形式:SDI 有線線纜方式、無線蜂窩行動通訊、網際網路以及衛星通訊等。不同資料傳輸方案在傳輸環境穩定性和頻寬存在巨大的差異,因此,為了能在頻寬受限的鏈路上進行穩定的視訊傳輸,必然要對視訊訊號進行深度編碼壓縮,而編碼壓縮勢必會帶來不同程度的畫質損傷。
舉個例子:常見的視訊流規格:1080p, 60 fps, YUV 4:2:0, 8-bit,raw data 位元速率為 1920*1080*1.5*8*60 = 1.49Gbps
上述提到的傳輸方式中,只有 3G-SDI 有線線纜可支撐該碼流的實時傳輸。而視訊內容觸達終端消費者的方式一般是經由網際網路進行分發,位元速率需要控制在 10Mbps 以下,因此意味要將原始視訊壓縮上百倍。
綜上所述,從整個視訊處理和傳輸鏈路來看,視訊內容從採集到終端播放,要經歷多個視訊編輯、處理、重編碼的操作。而每一次處理/編碼操作或多或少都會對視訊的畫質產生影響,通常會損傷畫質。因此,當下即便是使用最新的視訊採集裝置(可以輸出高畫質的原始視訊訊號),終端消費者側也不一定保證能體驗到高畫質,原因就在於中間處理環節的畫質損耗。
窄頻高清雲轉碼作為整個視訊處理鏈路的最後一個處理環節,其輸出碼流畫質效果即為最終分發至終端消費者的畫質效果。因此,如果在該環節使用恰當的畫質增強技術,可以一定程度上彌補前序視訊處理環節所產生的畫質損傷,起到優化畫質的作用。
視訊畫質增強技術大致可以分為三大類:
l 色彩/亮度/對比度維度增強:色彩增強(色域,位深,HDR 高動態範圍)、去霧、低光照/暗光增強等;
l 時域維度影格率增強:視訊影格率變換/智慧插幀;
l 空域維度細節復原/增強:去壓縮失真、解析度倍增、降噪/去劃痕/去亮斑、去閃爍、去模糊、去抖等。
視訊增強技術在產品落地層面,目前比較熱門的選擇是做老舊視訊素材的高清化,例如年代比較久遠的電影、電視劇、動畫片和 MV/演唱會視訊等。老舊影視素材普遍存在:劃痕、噪點/黴斑、閃爍、細節模糊、運動拖尾、色彩暗淡或者只有黑白等問題,可以通過去噪、去髒點/劃痕/黴斑、去模糊、去閃爍、解析度/影格率倍增以及色彩增強(黑白上色)等處理,這樣可以全面提升素材的整體觀感。
然而,由於每個老舊素材所面臨的畫質問題差異很大,且目前的技術水平對於有的畫質問題還難以給出令人滿意的效果,因此老舊素材高清化處理過程必須引入人工干預。
人工干預體現在兩個方面:一是對老舊素材畫質問題進行診斷,並設定恰當的處理模型和處理流程;二則是對模型處理結果進行人工審查,並做適當的精修和微調。
窄頻高清雲轉碼作為一種全自動,無人工干預的視訊轉碼作業,所採用的視訊畫質增強優化技術也需要做到全自動,無需人工參與。我們認為在選擇產品化方向時,所整合的視訊增強技術應該滿足以下幾個條件:
l 視訊增強技術可以實現全自動,無需人工干預:老舊素材高清化目前還需要太多的人工干預,不符合該原則;
l 相關技術具有廣泛的適用範圍:低光照/暗光增強和視訊去抖在部分場景也有需求,但在視訊轉碼場景,有這類畫質問題的視訊佔比非常少;
l 持續的剛需:該技術可帶來消費者可感知的畫質提升,且其解決的問題在未來 5-10 年都會持續存在,因此可以形成持續的剛需。
根據上述原則,我們最終選擇在窄頻高清轉碼中整合的畫質增強技術為:空間維度細節修復,解決視訊生產鏈路產生的畫質損失,即多次編碼壓縮導致的畫質損失。
從整個視訊處理和傳輸鏈路來看,我們再具體分析一下產生畫質損失的環節有哪些:
1.訊號源本身的畫質問題
l 傳輸鏈路導致的低位元速率:在視訊生產流程中,傳輸鏈路的頻寬通常有一定的限制,為了優先保證流暢,不得不採用低位元速率。典型場景有:跨國境直播流;大型賽事活動現場訊號遠距離傳輸,無專線保障;以及無人機航拍實時訊號。典型的位元速率設定例如 1080p 50fps 4-6M,直播場景通常是硬體編碼,輸出的碼流有明顯的編碼壓縮損失;
l 內容版權/商業模式導致的低位元速率:由於視訊版權或者商業模式問題,視訊版權方給到分發渠道只有低位元速率訊號源;
l 原始視訊素材經歷過多次編碼壓縮,已經有明顯的畫質損失問題。
圖 2 低位元速率訊號源畫質問題:有明顯的編碼塊效應
2.編輯/剪輯及二次創作引入的畫質問題
l 剪輯軟體編碼壓縮引入的畫質問題。
在 UGC 短視訊領域,大家通常習慣使用手機剪輯 APP 來進行視訊剪輯,剪輯 APP 會呼叫手機硬體編碼來做完成渲染視訊的編碼輸出;但手機的視訊編碼能力比較受限,且不同型號手機的編碼壓縮效能差異很大,因此很容易出現編碼壓縮後畫質不好的情況,即便輸出位元速率高達 20M@1080p,如下圖;
l 推流工具重編碼壓縮引入的畫質問題。
在一些業務場景,例如網紅博主陪你看球,演播室或者解說主播會將原始訊號流通過 OBS 拉流到本地,疊加解說,再推流上雲;OBS 的重編碼會再次損傷原始視訊的畫質。
圖 3 UGC 短視訊,剪輯軟體輸出視訊:
位元速率 20M,解析度 1920x1080,畫面存在明顯編碼塊效應和模糊
圖 4 主播解說,OBS 推流:
位元速率 6M,解析度 1920x1080,畫面存在大量編碼壓縮導致的邊緣鋸齒/毛刺,以及模糊
從需求持續時間來看,由於傳輸頻寬的限制,在整個視訊生成流程中,視訊編碼壓縮是一個無法避免的處理操作,而有壓縮就不可避免引入畫質損傷,因此,面向編碼壓縮損失的畫質提升會是一種持續性的需求。
從學術的角度來看,解決生產鏈路引入的畫質損失,主要研究的技術包括:去壓縮失真以及超解析度重建。去壓縮失真主要解決編碼壓縮導致的塊效應,例如邊緣毛刺和細節丟失/模糊問題;超解析度重建可以消除處理鏈路中可能引入的空間解析度降取樣,並提升畫面整體銳度和清晰度。
學術界對影象超解析度重建技術的研究已經持續了幾十年。早期的方法大多基於空域/時域重構技術,後來發展到基於樣例的學習方法,比較有代表性的方案有:(1)基於影象自相似性的方法;(2)基於領域嵌入的方法;(3)基於字典學習/稀疏表示的方法;(4)基於隨機森林等。但直到基於折積神經網路(CNN)的超解析度技術興起,才讓該項技術在處理效果和效能方面達到可商用的水平,從而在工業界得到廣泛關注和應用。
第一個將基於 CNN 的影象/視訊超解析度技術進行產品化落地嘗試的當屬一家叫 Magic Pony 的創業公司。該公司在 CVPR 2016 上做了一個當時非常炫酷的 demo - Real-Time Image and Video Super-Resolution on Mobile, Desktop and in the Browser[1, 3]。第一次將基於 CNN 的視訊超解析度技術移植到了行動平臺(三星手機和 iPad),可以對遊戲直播畫面進行實時的超解析度增強處理,顯著提升源流的畫質。該項技術很快引起了 Twitter 的關注,並在很短的時間內就完成了對該公司的收購 [2]。
爾後,隨著第一屆 NTIRE 超解析度比賽 - NTIRE 2017 Challenge on Single Image Super-Resolution [4]的舉辦,越來越多的公司開始關注基於 CNN 的影象超解析度技術,從那之後,這方面的落地應用也如雨後春筍般地湧現。
l 常規 CNN 去壓縮失真處理:這個人臉有點假
雖然基於 CNN 的影象超解析度技術可取得遠超過往技術的處理效果,但其產品化過程還是存在不少問題。一個典型的問題是:基於 MSE/SSIM 損失函數訓練得到 CNN 超解析度模型(也即常規 CNN 超解析度模型),重建生成的影象往往會缺少高頻細節資訊,從而顯得過平滑,主觀感受不佳。
下面三個例子為一個典型的常規 CNN 超解析度模型達到的處理效果:
常規 CNN 超解析度模型對編碼壓縮造成的塊效應、邊緣鋸齒、毛刺等 artifacts 有比較好的平滑作用,從而使得整個畫面看起來更加乾淨,但畫面缺少細節和質感,主要體現在人臉區域,有比較明顯磨皮效應。因此,在對畫面細節有要求的業務場景,例如 PGC 內容生產,使用者通常會抱怨:人臉磨皮太明顯,有點假。
圖 5 常規 CNN 模型處理效果示範:
處理之後編碼 artifacts 被有效去除,畫面比較乾淨平滑,
但缺少細節和質感,例如人像區域的頭髮/眉毛/鬍子/面板顆粒感/嘴脣紋理等細節;
地面草地紋理細節以及晚會節目視訊中演員服裝、道具細節丟失
l 基於 GAN 的處理方案
為了解決常規 CNN 超解析度模型缺乏細節、過平滑的問題,學術界在 2017 年提出了基於生成對抗網路(GAN)的超解析度方案:超解析度生成對抗網路(SRGAN)[5]。SRGAN 在模型訓練過程中,額外使用判別器對模型輸出結果的紋理真實性進行鑑別,從而使得模型傾向輸出具有一定細節紋理的結果。
如下圖所示,基於 MSE 的模型傾向輸出平滑的結果,而基於 GAN 的模型傾向輸出有一定紋理細節的結果。
圖 6 基於 GAN 的 SR 方案
圖來源:論文 Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
基於 GAN 的超解析度模型具有「無中生有」生成細節的能力,因此可以補充原始畫面缺失的紋理細節,這對解決常規 CNN 模型過平滑問題有很大的幫助。在 SRGAN 模型之後,學術界有不少工作對這一技術方向進行不斷的完善[6, 7]。
然而,想要在實際業務場景中用好 GAN 生成技術,尤其是要在窄頻高清全自動轉碼作業中應用該能力,技術實現層面還是有不少難點。由於 GAN 的紋理細節是通過大量資料訓練之後「腦補」出來的,那麼「腦補」生成出來的細節紋理是否自然、與原始畫面有沒有違和感、相鄰幀的生成結果是否具有一致性等,對該項技術能否在實際視訊業務中成功應用至關重要。
具體來講,要在窄頻高清全自動轉碼作業中使用 GAN 生成能力,需要解決以下幾個問題才能滿足商用要求:
l 模型「腦補」生成的紋理自然,與原始畫面沒有違和感;
l 視訊相鄰幀的生成效果一致性高,連續播放無時域閃爍現象;
l 可應用於自動化處理流:模型對片源質量有良好的自適應能力,對不同畫質損失程度不同的片源均有收益;
l 模型可適用於不同視訊型別場景,例如影視劇,綜藝,賽事,動畫片等;
l 模型處理流程簡單,處理耗時可預測、可控制(直播場景對處理效率有比較高的要求)。
阿里雲視訊雲音視訊演演算法團隊經過對 GAN 生成技術持續的鑽研,積累了多項 GAN 模型優化技術,解決了上述 GAN 細節生成能力商用落地的難點問題,打造了一個可應用於全自動轉碼作業的 GAN 細節生成方案。該方案的核心優勢是:時域穩定的細節生成能力。
圖 7 阿里雲窄頻高清 GAN 細節生成技術
具體來講,在窄頻高清 GAN 細節生成模型的訓練過程中,我們使用了以下優化技術:
1.建立型別豐富、清晰度高、細節豐富的高畫質視訊庫作為模型訓練的高清樣本,訓練樣本包含多樣的紋理特徵對 GAN 生成紋理的真實感有很大的幫助;
2.通過精細化建模不斷優化訓練資料的製備過程:基於對業務場景所面臨的畫質問題的深入洞察,貼合業務場景不斷優化訓練樣本建模方法,不斷探索以達到精細化建模;
3.探索積累有效的模型訓練策略:
l 損失函數:訓練損失函數設定調優,例如 perceptual loss 使用不同 layer 的 feature,會影響生成紋理的顆粒度,不同 loss 的權重配比,也會影響紋理生成的效果;
l 訓練方式:我們在模型訓練過程使用了一種叫 NoGAN 的訓練策略 [8]。在影象/視訊上色 GAN 模型訓練中,NoGAN 訓練策略被證實是一種非常有效的訓練技巧:一方面可以提升模型的處理效果,另外一方面對模型生成效果的穩定性也有幫助。
4.模型對片源質量的自適應能力決定了其是否可應用於自動化處理作業。為了提高模型對片源質量的自適應能力,我們在訓練輸入樣本質量的多樣性和訓練流程方面做了很多工作。最終我們訓練得到的 GAN 模型具有良好的片源質量自適應能力:對中低質量視訊源具有明顯的細節生成增強能力、對高質量片源有適中的增強效果;
5.打造多場景處理能力:根據學術界的經驗,處理目標先驗資訊越明確,GAN 的生成能力越強。例如將 GAN 技術用於人臉或者文字修復,由於其處理物件單一(高維空間中的一個低維流形),可以得到非常驚豔的修復效果;
因此,為了提升 GAN 對不同場景的處理效果,我們採用了一種「1+N」的處理模式:「1」為打造一個適用於通用場景的 GAN 生成模型,具有比較溫和的生成能力;「N」為多個垂直細分場景,針對垂直細分場景,在通用場景模型基礎之上,對該場景特有的紋理細節進行比較激進的生成,例如:對於足球賽事場景,模型對賽場草地紋理有更強的生成效果;對於動畫片場景,模型對線條有更強的生成能力;對於綜藝節目,舞臺表演場景,模型對人像特寫細節有更強的生成能力。特別注意:如下所述,對於特定目標的生成效果提升,我們並沒有採用特定目標單獨處理的方案;
6.計算複雜度可控可預測的處理模式:直播場景對處理模型的執行效率有很高的要求。為了適配直播畫質增強的需求,當下,我們採用了單個模型處理模式,即:對全幅影象,統一使用單個模型進行處理。即便要對某些特定目標的生成效果進行鍼對性提升,例如人像區域及足球場地草地紋理,我們並沒有採用將目標摳出來,單獨處理的方案。因此,我們的模型推理時間是可預測的,與影象內容無關。經過模型蒸餾、輕量化,基於阿里雲神龍 HRT GPU 推理框架,我們的 GAN 細節生成模型在單卡 NVIDIA Tesla V100 上,處理效率可達 60fps@1920x1080。
為了保證 GAN 模型生成效果的幀間一致性,以避免幀間不連續帶來視覺上的閃爍,我們通過與高校合作的方式,提出一種隨插即用的幀間一致性增強模型 - Temporal Consistency Refinement Network (TCRNet)。TCRNet 的工作流程主要包含以下三個步驟:
l 對單幀 GAN 處理結果進行後處理,達到增強 GAN 處理結果的幀間一致性的同時,增強部分細節,改善視覺效果;
l 使用偏移迭代修正模組(Iterative Residual Refinement of Offset Module,IRRO)結合可變形折積,提高幀間運動補償精度;
l 使用 ConvLSTM 模組,使模型能夠融合更長距離的時序資訊。並通過可變形折積對傳遞的時序資訊進行空間運動補償,防止由於偏移造成的資訊融合誤差。
圖 8 TCRNet 演演算法流程,來源:論文 Deep Plug-and-Play Video Super-Resolution
圖 9 偏移迭代修正模組(IRRO)演演算法流程
來源:論文 Deep Plug-and-Play Video Super-Resolution
回到前面提及的幾個常規 CNN 處理效果例子,我們再來看看使用窄頻高清 GAN 細節生成處理會有怎樣不一樣的結果。對於這些例子,我們使用通用場景模型進行處理。
圖例:從左至右分別為:窄頻高清 GAN 處理、輸入原始幀、常規 CNN 處理效果
圖 10 人臉面板上有了顆粒感,有一種面板質感;頭髮,眉毛有了髮絲的感覺;嘴脣紋理更豐富
圖 11 頭髮,鬍子的細節更豐富,人臉不會有磨皮感
圖 12 地面/草地紋理更豐富,細節更清晰
圖例:從上至下分別為:窄頻高清 GAN 處理、輸入原始幀、常規 CNN 處理效果
圖 13 左側演員裙子紋理更豐富;右側演員道具紋理更豐富,細節更清晰
圖例僅限於演示技術方案效果,從左至右分別為:窄頻高清 GAN 處理、輸入原始幀
圖 14 頭髮,鬍子區域有明顯的細節生成,紋理更豐富
在前面我們提到,針對垂直細分場景,模型會對該場景特有的目標進行較為激進的紋理生成。例如對於足球賽事場景,模型對場地的草地紋理有更強的生成能力。下圖是兩個範例:
圖例:從左至右分別為:窄頻高清 GAN 處理、輸入原始幀
圖 15 足球賽事場景,草地紋理生成效果
此外,對於動畫片場景,我們也訓練了一個針對性的 GAN 模型,聚焦線上條生成能力。下面為三個動畫片的處理效果。
圖例:從左至右分別為:窄頻高清 GAN 處理、輸入原始幀
圖 16 動畫片處理效果
目前,窄頻高清 GAN 細節生成能力已在百視 TV NBA 直播轉碼中全面啟用。當您用百視 TV APP 觀看 NBA 比賽,選擇「藍光 265」檔位,就可以體驗基於窄頻高清 GAN 細節生成能力轉碼輸出的畫質。同時,百視 TV 在一些綜藝節目和大型活動的直播中也使用了該功能。
此外,在 FIFA2022 世界盃轉播中,江蘇移動使用窄頻高清 GAN 細節生成技術提升咪咕視訊原始機上盒分發流的畫質。在為期一個月的賽事轉播期間,窄頻高清為江蘇移動全天 24 小時不間斷直播提供畫質增強能力。
除了百視 TV 和江蘇移動,目前還有多個客戶在試用窄頻高清 GAN 細節生成能力,POC 測試的效果得到了客戶的高度認可。
客戶場景畫質增強效果示範:
https://v.youku.com/v_show/id_XNTk1MjUxNzk1Mg==.html
左側 百視 TV APP 直播推流訊號源;右側:窄頻高清畫質增強輸出
左側 江蘇移動直播推流訊號源(咪咕 8M);右側:窄頻高清畫質增強輸出
高解析度、紋理豐富、細節清晰的視訊能提供更清晰的畫面和更高階的感官體驗,對於提升視訊質量和使用者視覺感受有很大的幫助。窄頻高清 GAN 細節生成修復技術將持續在該領域不斷探索,不斷精進,打造極致的細節恢復和增強效果,為視訊消費者提供優質的視訊觀看體驗。
未來,窄頻高清 GAN 細節生成能力將持續進行演演算法效能優化,提升細節生成和修復效果,同時不斷降低處理成本。
更好!提升細節生成和修復效果;除了現在採用的 GAN 方案,基於擴散模型的細節生成技術也將是我們後續研究的重點方向;
更廣!打造更多垂直細分場景,採用激進的生成策略提升相應場景的細節恢復效果;
更普惠!通過模型輕量化,以及優化部署方案,持續降低處理成本,以普惠的價格服務更多的客戶。
【本文所涉及的視訊、圖片為實際案例,僅用於技術分享及效果展示】
[1] https://cvpr2016.thecvf.com/program/demos
[2] https://www.gov.uk/government/news/magic-pony-technology-twitter-buys-start-up-for-150-million
[3] Wenzhe Shi et al., Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network, CVPR 2016
[4] NTIRE 2017 Challenge on Single Image Super-Resolution: Dataset and Study, CVPRW 2017
[5] Christian Ledig et al., Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network, CVPR 2017
[6] Kai Zhang et al., Designing a Practical Degradation Model for Deep Blind Image Super-Resolution, ICCV 2021
[7] Xintao Wang et al., Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data, ICCVW 2021
[8] https://www.fast.ai/posts/2019-05-03-decrappify.html#nogan-training
[9] Hannan Lu et al., Deep Plug-and-Play Video Super-Resolution, ECCVW 2020
特別感謝以下同學對本文所涉及的演演算法做出的貢獻。@劉佳慧(佳芙) @呂崢瑤(相泉) @李歲纏(歲曦) @王偉(靜瑤) @邵緯航(生輝) @周明才(明爍)