黃嘉寶 顧曉娟
(1.北京電影學院中國電影高新技術研究院,北京 100088)
(2.北京電影學院影視技術系,北京 100088)
近幾年來,高動態范圍 (High Dynamic Range,HDR)技術在影視領域中逐漸興起:在電視領域,越來越多的消費級HDR 顯示器投入市場,國內外的電視臺和網絡媒體都紛紛積極推動HDR節目在業務上的發展;在電影領域,具有超高光通量的激光光源放映機以及大尺寸LED 銀幕的出現,使得人們可以在電影院中觀看HDR 電影。
然而,HDR 技術在行業內迅速發展的同時,也存在著一些限制。在制作端,拍攝、制作、存儲HDR 內容需要更高的成本、更高的技術要求和一定的設備支持;在用戶端,家用電視機、電腦、手機等顯示設備從SDR 過渡到HDR 還需要很長一段時間;在影院端,由于成本和技術的制約,放映設備從SDR 升級為HDR 也非一蹴而就。因此,目前大部分電視節目、電影、網絡視頻等內容都還是以SDR 的標準進行拍攝、制作和播出的,而這些SDR的發行母版并達不到HDR 電視頻道、院線及網絡平臺的播出標準。面對HDR 影像需求量的不斷增長,解決目前HDR 內容匱乏的方法之一就是使用逆色調映射算法(Inverse Tone Mapping Operator,iTMO)將現有的SDR 影片轉換成HDR 版本。
逆色調映射,指的是將影像從低動態范圍拓展為高動態范圍,使其在HDR 顯示設備上以適合的對比度顯示。目前,國內外已經有許多學者做過了將SDR 內容轉換為HDR 的研究,現有的算法可以分為兩大類,一類是模型驅動 (Model-Driven)的算法,另一類是數據驅動 (Data-Driven)的算法。
本文首先對不同時期、不同分類的逆色調映射算法的發展歷史進行了詳細的梳理,探討其在當今影視領域中的應用并舉出了實例,最后提出了幾條逆色調映射算法在內容創作上的設計原則,對該技術的前景做出了簡要的分析。
模型驅動的逆色調映射算法可以由一個數學公式來描述規律,表示為:L=f (L),其中L對應SDR 影像亮度,f(·)表示逆色調映射,L對應映射后的HDR 影像亮度。模型驅動的算法在處理圖像上有一定的優勢,例如計算量小、圖像處理速度快,以及可以直觀地用曲線來表示。按照圖像處理的方式,目前算法的模型可分為四大類,分別是全局模型、分段模型、基于蒙版的模型和基于用戶的模型。
2.1.1 全局模型
在全局模型中,SDR 影像的同一幀畫面中的每個像素都應用同一種逆色調映射方式進行變換。
(1)線性變換模型
Akyüz等人在不同動態范圍下的主觀感受實驗中發現,SDR 圖像不需要經過復雜的處理,僅僅通過簡單的線性縮放就能達到令人接受的HDR 效果。他們采用如下公式對SDR 影像進行亮度范圍的拓展:

其中L表示畫面中的最高亮度,L表示畫面中的最低亮度,L表示HDR 顯示器的最高亮度。
雖然Akyüz在主觀實驗中發現對亮度進行線性縮放使得影像的平均亮度更亮,更能得到觀測者的青睞,但是他們的算法在今天可能并不適用。首先,該算法中映射后的HDR 圖像亮度受每幀畫面的最大亮度L及最小亮度L所影響,因此它不適用于動態視頻的逆色調映射,因為可能造成閃爍的現象。其次,隨著目前HDR 顯示技術的發展,HDR顯示器的峰值亮度可以達到4000尼特及以上,那么線性變換使得影像的平均亮度大大提升,從而在視覺上造成令人不適的結果。
(2)非線性變換模型
Masia等人提出自適應伽馬曲線,適用于拓展曝光過度圖像的亮度范圍。通過測量圖像的最大亮度、最小亮度和平均亮度,為每幅圖像計算出合適的伽馬值,進而對SDR 圖像進行伽馬校正,提高其動態范圍。其公式可表示為:

其中L表示HDR 顯示器的峰值亮度,L表示SDR 顯示器的峰值亮度,γ=a×key+b,a和b 為常數 (a=10.44,b=-6.282),key表示畫面的亮度傾向,該值越高,畫面的平均亮度越高,反之畫面的平均亮度越低,計算方式為:

L表示圖像的平均亮度,計算方式為:

(x,y)表示圖像中像素的坐標,δ是一個為了避免L(x,y)=0時產生奇異性的一個很小的數。
即便使用伽馬曲線可以控制圖像的平均亮度在一個不太高的區間內,這種算法的局限性在于它可能增大圖像的對比度,使得轉換成HDR 后的影像損失一部分的暗部細節。
Huo 等人受人類視覺系統 (Human Visual System,HVS)特性的啟發,提出了一種基于視網膜響應的逆色調映射算法。算法模擬了人眼視覺適應的特性,將輸入亮度進行非線性變換,其公式可表示為:

式(5)中的V表示SDR 影像的碼值,σ表示映射為HDR 影像后的像素 (x,y)周圍的局部亮度,使用雙邊濾波對周邊像素進行加權平均計算該值,即σ=L(σ,σ),其中σ表示空間域中的權重,σ表示亮度域上的權重。δ是一個為了避免分母為0的一個很小的常數,n表示靈敏度控制指數,取值為0.7 到1.0,原文中作者建議該值取0.9。
該算法的可取之處在于從人體生理學的角度上進行研究,然而,它需要人為地對n的值進行調參。其次,使用雙邊濾波導致了算法的時間復雜度較高,需要逐幀對畫面的局部循環進行計算,且卷積核的尺寸越大,濾波的速度越慢。另外,與Masia的算法類似,Huo的算法結果會隨著畫面中視覺元素的變化而變化,將它們應用在動態視頻中可能會產生畫面閃爍的現象。
2.1.2 分段模型
分段模型將同一幀SDR 畫面根據亮度區間進行分組,每組應用不同的逆色調映射方式對像素的亮度范圍進行拓展。
Meylan等人提出了一種色調縮放函數,該函數為包含了兩種不同斜率的分段線性函數,分別對圖像的漫反射區域和高光區域的亮度進行不同程度的線性縮放,分段拓展圖像的動態范圍。另外,在高光區域應用了圖像平滑,以減少分段縮放造成圖像灰度變化的不連貫,其公式可表示為:


2.1.3 基于蒙版的模型
基于蒙版的模型利用單色蒙版對畫面的不同區域進行劃分,一般將畫面分割成高光區域和非高光區域,進而對不同的區域進行相應的處理。比起全局模型和分段模型,基于蒙版的模型更適用于對畫面進行細化處理,正因如此,該模型的計算量更大,運算時間相對較長。
Banterle等人提出了一種基于蒙版的逆色調映射框架,首先使用逆伽馬變換將輸入的SDR 圖像亮度進行線性化處理,接著應用基于Reinhard的攝影學色調重現算子的逆色調映射算子將SDR 圖像拓展成HDR 圖像,同時根據圖像分割出來的高光區域計算出插值權重,最后使用線性插值對拓展后的圖像與原始的SDR 圖像進行組合。
Rempel等人提出了一種名為LDR2HDR 的逆色調映射算法,該算法首先將SDR 圖像中非線性的像素值通過逆伽馬變換轉換成線性亮度,接著使用線性變換擴大圖像的對比度,同時使用雙邊濾波對圖像進行平滑處理以抑制噪聲的產生;下一步使用灰度蒙版分割出畫面的高光區域,并對蒙版應用高斯濾波以柔化邊緣,然后使用邊緣停止函數(Edge-stopping Function)檢測畫面里高光的邊緣,以防止羽化后的蒙版影響高光邊緣外的像素;最后對蒙版分割出的高光區域進行線性增強。如圖1所示,LDR2 HDR 將輸入的SDR 圖像 (左1)使用灰度蒙版(右2)將高光區域劃分出來進行亮度增強,最終輸出HDR 圖像(右1)。

圖1 Rempel的LDR2HDR 逆色調映射算法流程①
Kovaleski和Oliveira也提出了一種基于蒙版的模型,它包括了基于雙邊濾波 (Cross-Bilateral Filtering)的亮度增強函數,可以處理曝光不足的畫面。在他們的算法中,第一步對原SDR 圖像應用雙邊濾波以去除噪聲,然后對圖像線性化處理;第二步,使用雙邊網格將圖像中碼值高于230 (原文使用8比特位深的圖片進行實驗,碼值在0~255間)的像素區分開,并對其應用雙邊濾波,以平滑高光區域的輪廓,同時保證了物體的邊緣不受影響;最后,將原SDR 的亮度映射到目標顯示器的動態范圍內,同時高光區域也得到了增強,二者相結合得到最終HDR 畫面。后來該算法得到了改進,圖像無論在任何曝光條件下都能完成高質量的轉換,并且支持實時對SDR 視頻進行處理。
2.1.4 基于用戶的模型
在基于用戶的模型中,需要涉及到用戶的參與和交互,和上文所述的幾類自動算法相比,此類算法屬于半自動模型。
Wang等人提出了一種基于用戶的算法,需要人為地在圖像中使用畫筆工具框選出欠曝或過曝的區域,并框選出與之具有相似紋理的正常曝光區域,通過紋理合成技術來重構欠曝或過曝區域的細節。與自動的算法相比,雖然Wang的算法在重構欠曝或過曝區域的細節上更具有真實性,但需要耗費較長的時間進行人工處理,并且該算法不適用于視頻轉換。
Jain 等人提出了Internet HDR 算法。和Wang的算法類似,該算法涉及到用戶交互,不同之處在于Wang使用原圖中相似紋理處來恢復丟失的信息,而Jain通過使用Google圖像搜索引擎來獲取與原圖相似的信息,以恢復SDR 圖像中陰影和高光區域丟失的信息來創建HDR 圖像。

圖2 Didyk的半自動系統的軟件截圖②
Didyk等人開發了一套用于增強SDR 視頻中高光區域的半自動系統,首先對畫面中的過曝區域進行檢測,并自動對過曝區域進行預分類,將其分成漫反射、鏡面反射、光源三個部分,如圖2中藍色、品紅、黃色三種色塊分別與之對應,然后將分類結果顯示給用戶;在用戶協助階段,用戶可以選擇接受或者修改系統自動分類的結果;最后使用一個自適應非線性色調曲線 (Adaptive Non-Linear Tone-Curve)對鏡面反射區域和光源兩個部分進行亮度和對比度的增強。與其他自動算法相比,人工介入更能保證高質量視頻的輸出,同樣,該半自動系統需要人為花費一些時間進行校正和質檢的工作。
近幾年來,基于深度學習的圖像處理提供了數據驅動的解決方案,這些算法模型基本上都不再使用封閉的數學公式來描述。它們和基于模型驅動的算法的區別,首先,在建模方式上,模型驅動的算法是人類根據現實規律來建模,而數據驅動的算法是計算機在大量數據的基礎上經過訓練和擬合,形成一個決策模型。其次,在對圖像的處理方式上,模型驅動是對圖像中的像素進行直接處理,而數據驅動是對圖像的抽象特征進行計算。另外,在處理結果上,大部分基于模型驅動的算法都不能補償由于圖像量化、曝光不足或過度、伽馬校正等因素造成的圖像信息丟失,它們解決的只是圖像亮度的拓展,而基于數據驅動的圖像增強算法不僅能改變圖像的亮度曲線,還能自動地預測并重建出圖像中丟失的信息。
這類算法的建模步驟分為三步,首先需要收集大量的數據,其次建立起一個初步的神經網絡,最后利用采集到的數據對該神經網絡進行訓練。其中,卷積神經網絡 (Convolutional Neural Network,CNN)模型具有很高的學習能力,并且它的結構非常適用于圖像處理。
(1)基于自編碼架構的逆色調映射模型
自編碼 (Autoencoder)架構由編碼器 (Encoder)和解碼器 (Decoder)兩個部分組成。編碼器是全卷積網絡的結構,它負責提取輸入的SDR 圖像或影像的潛在特征。解碼器是反卷積網絡的結構,它負責將提取到的潛在特征轉換為HDR 圖像或影像。

圖3 Endo的深度逆色調映射算法流程③
2017年,Endo等人提出了第一個基于深度學習的逆色調映射算法,該算法的主要思想基于包圍曝光技術,從一張SDR 圖像生成不同曝光的SDR 圖像,最終合成一張HDR 圖像。圖3描述了該算法的學習和推理兩個階段:在學習階段,使用攝影機響應曲線 (Camera Response Function,CRF)對HDR 圖像生成k張不同曝光的SDR 圖像序列,讓神經網絡學習在這k張圖像的同一像素中不同亮度值的變化;在推理階段,學習后的模型將生成具有k個不同曝光量的SDR 圖像序列,最后通過合并這些圖像以創建HDR 圖像。
同年,Eilertsen等人設計了一種基于混合動態范圍自動編碼器的全卷積神經網絡,通過預測圖像中高光區域因過曝而丟失的信息,將SDR 圖像重建為HDR 圖像。SDR 輸入圖像由編碼器進行編碼,通過卷積運算對輸入的圖像數據進行降維,編碼后的圖像由HDR 解碼器進行解碼,進而將抽象的潛在特征可視化輸出的HDR 圖像。同時殘差連接在編碼器和解碼器之間傳輸數據,以利用高分辨率圖像細節來重建HDR 圖像。該算法的局限在于不擅長處理暗部區域,但它能夠還原過曝區域的細節,前提是這個范圍不宜太大。
Yang等人提出了一種深度往復式HDR 轉換框架。這個模型適用于曝光不足或曝光過度的圖像校正,它包含了兩個卷積神經網絡,第一個網絡負責處理輸入的SDR 圖像,將其轉換成HDR 圖像并重構陰影和高光部分丟失的細節,而第二個網絡負責對重建的HDR 圖像進行色調映射并輸出細節經過增強的SDR 圖像。
Xu等人提出利用過去基于深度學習的算法來轉換動態視頻會導致畫面閃爍的問題,因此他們設計了一種基于深度學習的視頻逆色調映射算法,可對視頻進行處理,同時解決幀間的閃爍問題。他們的視頻轉換框架由一個3D 全卷積神經網絡和一個3D 反卷積神經網絡構成,其中3D 的卷積神經網絡在視頻處理領域發揮巨大的優勢。但他們使用的訓練樣本是在一個鏡頭中取連續的21幀組成的視頻序列,即該算法是基于單個鏡頭來處理視頻的,它的局限性在于不能處理多個鏡頭、多個場景的常規影片。
(2)基于生成對抗網絡的逆色調映射模型
生成對抗網絡 (Generative Adversarial Network,GAN)由生成模型和判別模型組成,在每次的單獨交替迭代訓練中,生成網絡和判別網絡在博弈的過程中不斷進行優化。
Ning等人提出了基于生成對抗網絡的逆色調映射模型,其中生成網絡為自編碼模型,負責將輸入的SDR 圖像轉換成HDR 圖像,而判別網絡為分類模型,負責將生成網絡輸出的HDR 圖像判別為“真”HDR 圖像或“假”HDR 圖像。判別網絡將分類后得出的結果由0到1以及之間的數字表示,若結果為1,則判定為“真”HDR 圖像,若結果為0,則判定為“假”HDR 圖像,若結果為0到1之間時表示圖像為“真”HDR 的概率大小。該判定結果進而反饋給生成網絡,作為損失函數來不斷優化網絡中的參數。
(3)基于新型卷積神經網絡架構的逆色調映射模型
Marnerides等人提出了一種基于Expand Net的深度卷積神經網絡,用于在SDR 轉換到HDR 的過程中重建丟失的信息。設計該架構而摒棄自編碼架構是為了避免編碼器在對圖像信息進行下采樣和解碼器對數據上采樣為圖像的過程中數據受到一部分的損失,造成圖像清晰度的下降,以及減少光暈、條帶等圖像劣化的現象。Expand Net架構分為三個分支,即局部分支、擴張分支和全局分支,分別負責處理SDR 圖像的高頻特征、中頻特征和高頻特征,然后三個分支的處理結果進行融合,并由一個小的卷積層進行進一步處理,以最終生成HDR 圖像。
目前在影視領域中,將SDR 內容轉換為HDR的需求量越來越大,因此在商業上也出現了一些利用現有的SDR 母版制作成HDR 母版以及在實況轉播中實時將SDR 信號上變換為HDR 信號的解決方案。
將SDR 的視頻母版制作成HDR 版本實際上屬于內容創作的范疇,這個過程一般在DI系統中完成。英國Film Light公司的Baselight調色系統針對HDR 調色進行了一些優化,并推出了逆色調映射工具Boost Range,使得SDR 素材的動態范圍拓展到HDR 的動態范圍上。該工具可以對每個鏡頭的逆色調映射效果進行微調,例如調節高光拓展的幅度、鏡頭整體曝光、峰值白、對比度、飽和度、高光飽和度和趾部。

圖4 Baselight中的Boost Range工具

圖5 灰度漸變圖

圖6 灰度漸變圖映射前 (左)及映射后 (右)示波器截圖,縱軸為圖像中像素的絕對亮度 (單位:尼特)
以亮度從100 尼特映射到1000 尼特為例,Boost Range工具基于某種非線性變換模型對SDR圖像進行逆色調映射。使用該工具對圖5所示的灰度漸變圖的亮度進行映射,參數設置如圖4 所示,其中Film Light建議將Boost參數的值設置為1,其他參數設置為初始值。映射前的亮度在0~100尼特的區間均勻分布(見圖6左),映射后圖像的亮度在暗部和高光區域得到了非線性的拓展,而中間調部分的亮度趨向于使用線性的方式進行提高 (見圖6右)。
圖7為主觀測試圖在使用Boost Range工具進行逆色調映射前后的對比,圖中紅色方框強調了畫面中亮度發生明顯變化的區域 (見圖7 左上、右上),如天空中云層反射的太陽光、人物面部和水果的高光和銀質器具表面的鏡面反射光。結合圖7左下、右下示波器截圖可見,該工具并不會大幅度提升畫面中的暗部及中間調的亮度,而畫面中的高光區域得到了適當的拓展。另外,由于亮度的整體提升,映射后畫面的飽和度稍低于映射前畫面的飽和度。

圖7 測試圖映射前主觀圖 (左上)、映射后主觀圖 (右上)④及映射前示波器截圖 (左下)、映射后示波器截圖 (右下),縱軸為圖像中像素的絕對亮度 (單位:尼特)
除此之外,可以使用在DI系統中加載3D 查找表(Look-up Table,LUT)的方式來對SDR 素材進行亮度范圍的拓展。例如,為了促進HLG 產品的推廣,BBC 授權了一系列LUT 的許可,其中包括了四種BT.709 (SDR)轉換到BT.2100 HLG 的3D LUT,它們分別適用于不同的應用條件,即顯示相關的保持SDR 外觀的直接映射、場景相關的匹配HDR 攝影機的直接映射、顯示相關的保持SDR 創作意圖的逆色調映射、場景相關的匹配HDR 攝影機的逆色調映射。
使用信號轉換器可以實時地將SDR 視頻信號轉換為HDR 視頻信號,這種方式通常用于電視臺的實況轉播。市面上常見的轉換設備有SONY 的HDRC-4000 和AJA 的HDR FS-HDR 等,用 于4K 現場直播制作流程中4K/HDR 和HD/SDR 同步制作和播出,大大節省HDR 和SDR 獨立制作的時間和成本。
高動態范圍影像的制作已經成為了一種趨勢,但是目前大部分影視工作者仍然以制作SDR 內容為主,而逆色調映射技術的研究正好解決HDR 內容不足的迫切問題。另外,現有的逆色調映射算法的優勢及不足之處都可以為今后算法的設計提供有用的理論參考。為了展現高動態范圍影像獨特的魅力,從內容創作的角度出發,逆色調映射算法的設計可以依據以下幾個原則:
(1)畫面的平均亮度不能過度拓展。由于影像中大部分元素都在中間調的范圍內,若大大提高影像的平均亮度,畫面的中間調過于明亮會導致觀眾眼睛的不適。報告ITU-R BT.2390-7 建議,對于峰值亮度為1000尼特的顯示器而言,漫射白的亮度應該在200尼特左右,鏡面反射及光源的亮度應該在200尼特到1000尼特這一區間內。
(2)適當將畫面的最高亮度拓展到顯示器的峰值亮度。相比傳統的SDR 影像,HDR 影像利用了更多的資源去存儲從漫射白到高光白的細節信息。在影像質量允許的范圍內,以及在不影響畫面主體作為首要興趣點的前提條件下,可以嘗試把畫面中例如火焰、爆炸、燈泡等元素的高光推到極限,其原因首先是這充分利用了HDR 影像的碼值,其次是使得影像更接近于真實場景,增強觀眾的沉浸感。
(3)保持畫面暗部的細節。HDR 顯示器的黑電平比常規顯示器的黑電平要更低,因此HDR 影像具有層次更豐富的暗部細節。在對畫面整體進行亮度縮放的同時,需要注意畫面的暗部應該適當地向更低的電平進行拓展。
(4)兩個相鄰鏡頭的平均亮度不宜相差過大。雖然人眼能感知到的動態范圍高達24檔,但是靜態的動態范圍只有12檔左右,人眼從觀看較亮畫面到較暗畫面時會進行暗適應的過程,反之進行明適應的過程,而且暗適應的時間比明適應的時間要長很多。因此,若在長時間觀看HDR 影像時不斷地調節眼睛靜態的動態范圍,觀眾會造成用眼疲勞的問題。
(5)合理地對色彩的飽和度進行處理。對于同一碼值的像素而言,亮度越低,人眼感知到該像素的飽和度越高,亮度越高,人眼感知到該像素的飽和度越低。因此,對SDR 影像進行動態范圍的拓展,可能會稍微降低畫面的飽和度,尤其是高光部分。在這種情況下,需要適當對提升了亮度的高光區域進行一些飽和度的補償。
現在,我們正處于一個SDR 向HDR 過渡的時代,而逆色調映射算法正是這個時代的必然產物。在未來,這項技術也會有更廣闊的發展空間。過去的電影由于拍攝、制作、發行和放映條件的限制,其分辨率、動態范圍、色彩空間等畫面的質量指標都沒有達到最理想的效果,因此逆色調映射算法與超分辨率、色彩空間擴張、2D 轉3D 等技術同理,都是為了將從前低質量的作品重制為高技術格式的影像,使得電影這一門藝術在科技不斷更新的時代中一直傳承下去。?
注釋
①圖片來源:Rempel A.,Trentacoste M.,Seetzen H.,et al.Ldr2Hdr:On-the-Fly Reverse Tone Mapping of Legacy Video and Photographs[J].ACM Transactions on Graphics,2007,26 (3):39.1-39.6.
②圖片來源:Didyk P.,Mantiuk R.,Hein M.,et al.Enhancement of Bright Video Features for HDR Displays [J].Computer Graphic Forum,2008,27 (4):1265-1274.
③圖片來源:Endo Y.,Kanamori Y.,and Mitani J..Deep Reverse Tone Mapping [J].ACM Transactions on Graphics,2017,36(6):177.1-177.10.
④圖片來源:北京電影學院影視技術系高技術格式測試片 《如你所見》鏡頭素材。