寧 欣 丁友東
(上海大學上海電影學院,上海 200072)
近年來,隨著市場和觀眾對重置老電影的需求日益增高,越來越多的低畫質老電影被重新搬上了大銀幕,如2012 年3D 重置版 《泰坦尼克號》、2017年重置版《大話西游之大圣娶親》等。低畫質的經(jīng)典老電影如何提高畫質,從而達到現(xiàn)在觀眾的觀影需求,是目前學術界和電影工業(yè)界研究的熱點。然而受制于不同的拍攝設備、受限制的網(wǎng)絡傳輸速度、不同的壓縮編解碼方式以及播放端設備的區(qū)別,將現(xiàn)有海量的低畫質電影利用數(shù)字媒體技術和計算機技術重置為高畫質的電影是目前最可行的方法之一。
影響電影畫質的主要因素有圖像分辨率、幀率、動態(tài)范圍、色域和亮度,其中提升視頻分辨率和視頻幀率是最直接改善電影畫質的手段,并且隨著視頻顯示器的不斷發(fā)展,為其提供匹配分辨率和幀率的視頻源也迫在眉睫。
本文主要討論以數(shù)字格式存放的低分辨率和低幀率的電影,通過對其分辨率和幀率進行提升,以此來達到畫質增強的目的,從而匹配顯示設備和滿足觀眾對更高畫質的觀影需求。從時間域上對電影幀率提升是通過視頻插幀 (Video Frame Interpolation,VFI)算法,VFI算法在原始電影前后幀之間插入新幀從而提高電影幀率,傳統(tǒng)電影的幀率一般是24FPS,通過VFI 算法可以將幀率提升至30FPS、60FPS、120FPS或更高。從空間域上對電影分辨率提升的方法稱為視頻超分辨率 (Video Super-Resolution,VSR)算法,VSR 算法是對空間域中的像素點進行填充,從而達到更高的分辨率,比如2K 電影的分辨率提升至4K 或8K 電影。
隨著人工智能和深度學習的快速發(fā)展,基于深度學習的VFI算法和VSR 算法在視頻增強任務中表現(xiàn)優(yōu)異。不同于圖像,由于視頻是動態(tài)畫面,時間信息對視頻的影響非常大,缺乏時間信息會使畫面出現(xiàn)抖動或閃爍,所以基于深度學習的VFI算法和VSR 算法不僅可以分別對視頻的幀率和分辨率進行提升,并且可以通過聯(lián)合兩種算法的方式對視頻進行增強。電影畫質不同于自然視頻畫質,電影情節(jié)場景多變,畫面細節(jié)較多,并且多數(shù)電影會進行后期處理。與自然視頻相比,使用基于深度學習的VFI算法和VSR 算法對電影進行畫質增強的難度較大,細節(jié)處理要求高,計算耗時長,并對算法的性能要求高。本文針對以上問題,介紹了基于深度學習的VFI算法和VSR 算法以及分析比較這些算法的性能效果,研究分析深度學習算法在電影畫質增強中的應用實例,同時討論了VFI算法和VSR 算法在電影畫質增強領域中目前存在的主要問題和對未來的展望。
根據(jù)歐洲廣播聯(lián)盟 (EBU)和英國廣播公司(BBC)的相關研究,視頻幀率會影響UHDTV 的視覺沉浸式體驗,低幀率會造成電影畫面出現(xiàn)抖動、閃爍、運動模糊和畫面頓挫等問題,嚴重影響觀影體驗。雖然高幀率電影拍攝和顯示設備正在快速發(fā)展中,但海量低幀率電影還是以24FPS等主流形式放映。VFI算法可以使低幀率電影轉換成高幀率電影,使觀眾享受到不輸于直接采集的高幀率電影內容。
主流VFI算法按是否考慮幀間運動信息分為兩種:第一種不考慮幀間運動信息,如插黑幀和重復幀等,這類方法常用于靜態(tài)視頻,對于運動幅度較大的視頻則無法消除運動模糊、抖動等問題;第二種是目前研究人員的重點研究方向,該方法充分考慮幀間的運動信息,可以有效地解決上述問題。該方法一般稱為基于運動估計和運動補償 (Motion Estimation and Motion Compensation,ME&MC)
的VFI算法,如圖1所示。運動估計采用的方法主要有塊匹配運動估計和光流運動估計,目前比較常用的方法是光流運動估計。光流運動估計利用光流法顯式表現(xiàn)出像素在某時刻運動矢量,如圖2所示。圖2 (a)是矢量光流場,其中箭頭表示像素在某時刻的運動方向,圖2 (b)則為顏色編碼后的光流場,顏色編碼矢量是目前流行的呈現(xiàn)方式。運動補償是根據(jù)運動估計得到原始像素在目標幀的插值位置,然后將原始像素插值到中間時刻得到中間幀。需要注意的是目標幀即為中間幀,中間幀是插值之后得到的,在原幀序列中是不存在的。
圖1 ME&MC框架示意圖①
圖2 光流運動矢量和顏色編碼矢量②
深度學習算法近年來在計算機視覺領域大放異彩。在VFI任務中,與傳統(tǒng)方法相比,基于深度學習的VFI方法表現(xiàn)出更優(yōu)的效果?;谏疃葘W習的VFI算法框架如圖3所示,其中圖3 (a)是基于光流法的深度學習插幀算法框架,t-1時刻和t時刻前后幀通過卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networ,CNN)預測出全部像素的光流場,然后逐像素進行雙線性補償插值生成中間時刻幀。由于插值像素是根據(jù)像素位移計算得出,而光流估計的精度影響像素位移的對齊程度,所以該方法會不可避免地產(chǎn)生空洞現(xiàn)象或模糊現(xiàn)象,而該方法的插幀效果取決于光流估計的精度。Junheum Park等人提出雙邊運動網(wǎng)絡和動態(tài)濾波器生成網(wǎng)絡,該組合網(wǎng)絡可以進行雙邊運動估計,使幀間對齊的精度更高。對比雙向的運動估計網(wǎng)絡,有一些研究人員也會使用單向的運動估計網(wǎng)絡,比如Zhewei Huang 等人使用一種實時的中間流估計網(wǎng)絡 (Real-time Intermediate Flow Estimation,RIFE)進行中間光流估計,該方法是由粗到精 (Coarse-to-fine)直接估算中間流,所以速度也更快。該算法不依賴預訓練的光流模型,可以支持任意時間步的插幀。為了解決大運動的問題,Simon Niklaus等人首先提出了一種基于核學習的網(wǎng)絡模型——AdaConv,如圖3 (b)所示。該方法是對參考幀的局部像素塊進行卷積操作,在傳統(tǒng)卷積中感受野的尺寸大小是固定不變的,而該方法對相應的運動幅度給定一個尺寸大小合適的卷積核。運動幅度的尺寸決定了采樣點的分布,所以當處理運動幅度超過預定義好的卷積核尺寸的像素時,AdaConv模型并不適用。針對上述問題,Zhihao Shi等人提出了一種新的廣義可變形卷積視頻插幀框架,該方法可以有效地以數(shù)據(jù)驅動的方式學習運動信息,并在時空中自由選擇采樣點,在處理復雜運動時,該方法性能表現(xiàn)優(yōu)異。由于基于可變卷積核的方法都需要估計出足夠大尺寸的卷積核,在處理較高分辨率視頻時,會對存儲空間產(chǎn)生巨大的需求。
圖3 基于深度學習的VFI算法框架③
圖像分辨率是直接影響電影畫質的主要因素之一。分辨率的高低代表采樣空間像素的多少,而分辨率越高的畫面所包含的細節(jié)越多,細節(jié)越多的畫面給人最直觀的感受就是看起來更清晰、細膩和平滑。受限于技術和價格的原因,許多早期的電影拍攝和播放往往使用分辨率較低的攝影機和顯示器,隨著技術的發(fā)展,目前拍攝設備和顯示設備的分辨率可以達到4K、8K 甚至是更高的分辨率。為了提高早期低分辨率電影的分辨率并匹配對應分辨率的顯示設備,對電影進行重拍的可行性不高且代價太大,目前最常用的方法就是利用VSR 算法將海量的低分辨率電影重制為高分辨率電影。
由于視頻序列是許多單幀圖像組成的,所以傳統(tǒng)VSR 算法的原理是基于圖像超分辨率算法對視頻序列中的所有單幀圖像單獨進行分辨率提升。此方法雖然對單幀分辨率的提升效果較好,但由于視頻是連續(xù)畫面,單獨填充每幀的空間細節(jié)會導致丟失幀與幀之間的時間信息,導致視頻出現(xiàn)閃爍現(xiàn)象。針對以上問題,研究人員考慮到視頻前后幀之間時間信息的重要性,因此提出利用基于深度學習的VSR 算法結合時間信息對空間分辨率進行提升,該方法不僅考慮空間分辨率且表現(xiàn)效果最佳。
多數(shù)基于深度學習的VSR 算法技術框架如圖4所示,包括對齊模塊、特征提取與融合模塊和重構/上采樣模塊。其主要流程是:第一步將大量高分辨率視頻序列數(shù)據(jù)通過下采樣操作生成低分辨率數(shù)據(jù)幀,以此為生成的訓練模型做準備;第二步低分辨率數(shù)據(jù)輸入對齊模塊進行幀間信息對齊,需要注意的是該模塊與VFI算法對齊模塊的主要作用類似,對齊方法多數(shù)是基于光流法,且該模塊一般由神經(jīng)網(wǎng)絡搭建,對齊后,再對數(shù)據(jù)幀進行特征提取,最后再進行上采樣使低分辨率數(shù)據(jù)幀重構為高分辨數(shù)據(jù)幀,生成的高分辨率幀和原始高分辨率幀進行對比可以評估出算法的性能;第三步將需要提高分辨率的視頻序列輸入上述訓練好的模型即可。在此需注意深度學習算法是由數(shù)據(jù)驅動,所以當用一種類型數(shù)據(jù)訓練好的模型對不同類型數(shù)據(jù)進行測試時,模型表現(xiàn)的效果也是不同的,使用同類型的數(shù)據(jù)訓練和測試模型的效果會更好。
圖4 基于深度學習的VSR 算法框架④
ME&MC技術常用于將前后幀與目標幀對齊,是解決VSR 問題最常用的方法,Muhammad Haris等人提出一種可以同時處理VSR 和VFI的端到端的STARnet算法,該網(wǎng)絡使用ME&MC 提取低分辨率低幀率數(shù)據(jù)的時間和空間信息。Ratheesh Kalarot等人提出一個基于全卷積網(wǎng)絡的多階段VSR 算法,該算法由基于運動估計和運動補償?shù)妮斎胱泳W(wǎng)絡,混合主干子網(wǎng)絡和上采樣網(wǎng)絡組成。為了提高算法性能,作者將處理流程分為兩個階段,即將第一個階段的輸出作為第二個階段的輸入,另外該算法處理的數(shù)據(jù)場景類型是不確定的?;贛E&MC的VSR 算法雖然比較成熟,但是在光照變化較大或運動幅度過大時,不能保證其光流估計的準確度。在這種情況下,與上述VFI算法相同,研究人員提出使用可變卷積來對齊幀。Yapeng T ian等人為了克服光流不準確的困難,提出在不計算光流的情況下,在特征層上自適應對齊目標幀,利用可變卷積網(wǎng)絡的特性動態(tài)預測出采樣卷積核的偏移量,該網(wǎng)絡簡稱為TDAN。Jiale Chen等人提出一種可用于視頻增強和視頻超分辨率的網(wǎng)絡——VESRnet,該網(wǎng)絡設計了一個獨立的非局部模塊來提取幀間信息和一個通道注意殘差塊來提取空間特征信息,值得一提的是該方法在2019年優(yōu)酷視頻超分辨率和視頻增強比賽中獲得了第一名。雖然可變卷積的方法解決了光流對齊不準確的缺點,但是該方法的計算復雜度較高,模型損失函數(shù)收斂條件較為苛刻,所以該方法在今后的研究中還有許多改進的空間。
電影史上第一部電影 《火車進站》由盧米埃兄弟拍攝于法國某城市,視頻長度只有45 秒,是由35mm 格式膠片制作,放映機通過手搖進行驅動,電影的原始幀率在16FPS到24FPS之間,與現(xiàn)在的電影相比,雖然該片拍攝的內容非常簡單,時間較短,且沒有任何故事情節(jié),甚至也沒有其他的鏡頭,但該片的實際意義已經(jīng)遠遠大于其內容。如圖5所示,由于當時膠片拍攝技術尚未成熟,畫面中人物、火車和其他景物非常模糊,從圖5中我們可以看到火車行駛的過程中帶有明顯的偽影,人臉與衣物細節(jié)非常不明顯。圖6為修復后的電影畫面,修復者Denis Shiryaev通過使用AI技術分別對該片的分辨率和幀率進行提升。從圖6中看到,火車運動的偽影明顯減少,并且可以輕松識別出鐵軌上的軌道和石子,人物臉上的表情和身上的衣物細節(jié)也更加清晰。該片經(jīng)過修復后的分辨率和幀率達到了驚人的4K/60FPS,畫面的清晰度和流暢度幾乎可以媲美目前的智能手機。該片分辨率的提升主要使用Topaz實驗室的Gigapixel AI軟件,Gigapixel AI是一款由Topaz Labs公司開發(fā)的圖片無損放大工具,該軟件底層算法的實現(xiàn)主要是基于深度學習的VSR 算法。該算法不僅可以對畫面分辨率進行提升,同時可以添加自然細節(jié)。而幀率主要依靠DAIN Image圖像編輯應用程序來進行提升,其中該程序使用的主要VFI算法是由Wenbo Bao等人在2019年計算機視覺頂級會議CVPR 中發(fā)表的一篇論文中提出的。作者提出一個名為深度感知視頻插幀 (Depth-Aware Video Frame Interpolation,DAIN)算法,該算法通過探索圖像的深度信息來檢測遮擋,然后利用深度感知光流投影層來合成中間流,與其他方法相比,該算法的性能更強。
圖5 電影 《火車進站》修復前畫面⑤
圖6 電影 《火車進站》修復后 (4K/60FPS)畫面⑥
除上述修復軟件外,目前行業(yè)內也有類似的其他軟件。例如電影 《厲害了,我的國》是由中影電影數(shù)字制作基地開發(fā)的人工智能圖像處理系統(tǒng)“中影·神思”進行修復。該片修復團隊在四個月修復增強了約30 萬幀圖像,將修復時間縮短了四分之三,大大提高了影片修復效率,節(jié)約了大量時間和人力成本。此外,愛奇藝公司使用自主研發(fā)的Zoom AI視頻增強技術軟件對我國經(jīng)典抗戰(zhàn)電影 《地道戰(zhàn)》進行了修復。Zoom AI針對老電影的特點,將整個修復過程分為四個階段:(1)去劃痕;(2)去噪和銳化;(3)顏色增強;(4)分辨率提升。四個階段可以依次串行操作處理來達到最優(yōu)畫質。
盡管AI修復軟件功能強大,但是由于電影對畫質要求極高,細小的瑕疵也會嚴重影響觀眾的觀影體驗,所以目前主流的修復手段依舊是“AI+人工”。首先使用AI進行批處理修復,然后修復師進行細致的人工修復。針對AI修復,往往考慮的是如何增強視頻畫質,使其達到超高清畫質。影響電影畫質的因素主要有分辨率、幀率等,串行處理這些因素是現(xiàn)在最常用的方法,但是由于電影具有鏡頭多、亮度變化明顯等特點,串行處理時間較長且不能達到最佳的畫質效果。而視頻各個因素之間的表現(xiàn)也會互相影響和互相制衡,通過提高分辨率可以使畫面的細節(jié)更清晰,細節(jié)增多的同時需要增強畫面的亮度,而亮度的提高又會增加人眼對畫面抖動和閃爍的敏感度,高幀率則可以通過減少運動模糊來消除視頻抖動,使畫面更流暢。所以如何綜合處理視頻分辨率和視頻幀率等問題,如何平衡協(xié)調這些畫質影響因素使電影達到最優(yōu)畫質是今后研究的重點和難點。
本文針對于電影畫質增強問題,介紹了基于深度學習的視頻超分辨率技術和視頻插幀技術的實現(xiàn)流程和方法。針對兩種技術的特點,介紹了相關前沿深度學習算法,并且介紹了基于AI技術修復增強電影畫質的實例。針對不同技術對電影畫質進行增強時會出現(xiàn)互相影響和互相制衡的問題,本文提出綜合協(xié)調不同技術進行電影畫質增強的必要性。
①圖片來源:包文博.視頻幀率上變換的遞推建模與深度學習方法研究 [D].上海交通大學,2020.
②圖片來源:包文博.視頻幀率上變換的遞推建模與深度學習方法研究 [D].上海交通大學,2020.
③圖片來源:包文博.視頻幀率上變換的遞推建模與深度學習方法研究 [D].上海交通大學,2020.
④圖片來源:Liu H,Ruan Z,Zhao P,et al.Video super resolution based on deep learning:A comprehensive survey [J].ar Xiv preprint ar Xiv:2007.12928,2020.
⑤圖片來源:https://v.qq.com/x/page/i1584bnfe5f.html.
⑥圖片來源:https://v.qq.com/x/page/x3065uk024o.html.