林 凡 浙江廣播電視集團(tuán)
Gamma在圖像系統(tǒng)中的應(yīng)用
林 凡 浙江廣播電視集團(tuán)
廣義上來說,伽瑪是根據(jù)人眼對(duì)亮度感知的非線性和圖像系統(tǒng)的有限灰階所做的映射,它是非線性的。在采集端到顯示端的所有環(huán)節(jié)中,均可能存在著伽瑪轉(zhuǎn)換,這對(duì)最后產(chǎn)生的圖像有明顯的影響。本文對(duì)Gamma在圖像系統(tǒng)中的應(yīng)用進(jìn)行了闡述。
伽瑪 冪函數(shù) 非線性 端到端
伽瑪(Gamma或γ)這個(gè)詞很常見,有很多電視機(jī)或者顯示器都可以調(diào)整這個(gè)參數(shù),專業(yè)級(jí)的設(shè)備甚至可以對(duì)RGB每個(gè)通道單獨(dú)進(jìn)行調(diào)整,伽瑪調(diào)整可以改變整個(gè)畫面的色調(diào)和亮度。對(duì)伽瑪這個(gè)詞也存在許多誤解,導(dǎo)致為什么使用、什么時(shí)候使用、使用程度等不甚了解,需要進(jìn)一步系統(tǒng)完整地進(jìn)行梳理。
術(shù)語“伽瑪”源于陰極射線管(CRT)設(shè)計(jì)師,是指電子槍輸入信號(hào)柵極電壓的冪指數(shù)。柵極電壓調(diào)控著電子槍的電子流密度,這決定了熒光屏的明視度,CRT輸出的明視度本身就是非線性的。顯示設(shè)備的輸入電壓與輸出電壓(屏幕亮度)之間并非線性關(guān)系,而是帶有冪函數(shù)的指數(shù)關(guān)系,即Vout=AVinγ(一般A為1)。一般認(rèn)為,因?yàn)镃RT顯示器的非線性特性,為了在顯示端重現(xiàn)景物反射進(jìn)人眼的線性光,所以需要在攝像機(jī)采集端使用反向gamma來使兩者的乘積為1。人類視覺對(duì)于對(duì)比度的感覺是非線性的,經(jīng)典心理學(xué)試驗(yàn)給出了這一表達(dá),即Weber-Fech-ner定理:人眼感覺的光線(視覺定量)近似等于亮度的0.4次方冪,這一關(guān)系近似為CRT電壓亮度函數(shù)的反函數(shù)。攝像機(jī)采集端正好也符合人眼對(duì)入射光的視覺特性,即非線性,人眼對(duì)暗部細(xì)節(jié)的捕捉要明顯優(yōu)于亮部細(xì)節(jié),人所感覺的中灰(黑和白的中間點(diǎn))比自然界的中灰要低得多。兩者的gamma響應(yīng)曲線如圖1所示。
如今的顯示設(shè)備如LCD、OLED等,在技術(shù)上已經(jīng)可以實(shí)現(xiàn)gamma=1,而不是像CRT那樣自帶非線性的冪指數(shù),把類似CRT的gamma響應(yīng)曲線做進(jìn)設(shè)備中是為了兼容采集前端的gamma校正。在線性電視系統(tǒng)中,人眼對(duì)不同亮度噪聲的敏感程度不一樣,在暗部區(qū)域?qū)υ肼暠攘炼葏^(qū)域更敏感。所以模擬電視需要對(duì)亮度進(jìn)行非線性處理,使不同的亮度噪聲看起來一樣。在拍攝時(shí)需要對(duì)信號(hào)做非線性壓縮處理,然后再通過顯示器的非線性還原成線性。如果不采用gamma曲線,而是一整個(gè)線性的系統(tǒng),所擁有的動(dòng)態(tài)范圍會(huì)比采用gamma曲線的小很多。也就是說,即使顯示端gamma為1,實(shí)際上也需要在采集端針對(duì)人眼對(duì)噪聲的敏感做一個(gè)gamma小于1的校正來提升暗部的信號(hào),相當(dāng)于將量化級(jí)更多地分配到了較暗的區(qū)域,顯然能夠根據(jù)人眼視覺特性,用較少的量化級(jí)數(shù)呈現(xiàn)較大的動(dòng)態(tài)范圍。實(shí)際使用的高清攝像機(jī)使用冪函數(shù)為Rec 709中定義的0.45,即顯示器冪指數(shù)2.2的倒數(shù)。
圖1 Gamma響應(yīng)曲線
在電視行業(yè)中,需要考慮采集端的編碼gamma和顯示端的解碼gamma,編碼gamma和解碼gamma的兩個(gè)值是作為端到端gamma(end-to-end gamma)共同作用于圖像系統(tǒng)的,也被描述為端到端的傳遞函數(shù)。如果共同作用的結(jié)果是1,那么顯示器還原的光線就跟原始場景的光線一樣。理論上,乘積為1的確會(huì)讓顯示器精確重現(xiàn)原始場景的視覺條件,但實(shí)際上大部分的系統(tǒng)gamma取值都不是1,這是由于原始場景和顯示器的觀察條件存在著差異。首先是能夠顯示的亮度值比真實(shí)場景的亮度值差了好幾個(gè)數(shù)量級(jí),即顯示器的精度根本達(dá)不到自然界的的亮度精度。其次在真實(shí)場景中,場景填充了觀察者的所有視野(人眼所涉及的包括余光等),而顯示的亮度往往只局限在一個(gè)被周圍環(huán)境所包圍的屏幕上,使得感知對(duì)比度相較于原始場景明顯下降了,這時(shí)候還是用原始場景光來觀看較小的屏幕顯然是不合適的。實(shí)際上電影院等熒幕的呈現(xiàn)效果gamma就大于1,以方便觀眾在較暗環(huán)境下觀看,相比較亮的屏幕(gamma小于1)更能使人沉浸在電影效果里。在所有廣播電視系統(tǒng)中,gamma校正是在攝像機(jī)中完成的。使用這種攝像機(jī)得到的圖像就預(yù)先做了校正,在gamma=2.5的CRT屏幕上顯示圖像時(shí),屏幕圖像相對(duì)于原始場景的gamma大約等于1.25。這個(gè)值適合“暗淡環(huán)境”下觀看。
圖2 End-to-End Gamma
實(shí)際上gamma并非單單指CRT的非線性特性,廣義上來說,gamma存在于圖像系統(tǒng)采集到重現(xiàn)的所有環(huán)節(jié)中。實(shí)際的圖像系統(tǒng)是由多個(gè)部件組成的,這些部件中可能會(huì)有幾個(gè)非線性部件。如果所有部件都有冪函數(shù)的轉(zhuǎn)換特性,那么整個(gè)系統(tǒng)的傳遞函數(shù)就是一個(gè)冪函數(shù),它的指數(shù)gamma等于所有單個(gè)部件的gamma的乘積。如果圖像系統(tǒng)的整個(gè)gamma=1,輸出與輸入就成線性關(guān)系。這就是說,你可以設(shè)置整個(gè)系統(tǒng)的gamma為1,這樣輸入輸出的結(jié)果與人眼觀察到的是一樣的線性光(雖然中間經(jīng)過幾個(gè)gamma的乘積已與原始光線不太相同,但結(jié)果是線性的),實(shí)現(xiàn)了真實(shí)的還原。當(dāng)然也可以使系統(tǒng)的最終gamma不為1,根據(jù)采集設(shè)備、顯示設(shè)備、圖形設(shè)計(jì)軟件和幀緩存查找表的gamma取值不同,相應(yīng)的系統(tǒng)gamma值如圖3所示,電視行業(yè)使用攝像機(jī)考慮的是第一行的情況。
還有一個(gè)制約系統(tǒng)線性的原因就是存儲(chǔ)和處理環(huán)節(jié)。在采集端和顯示端技術(shù)上都已經(jīng)可以達(dá)到很高的顏色數(shù)量或者說明暗層次,只有中間環(huán)節(jié)的存儲(chǔ)和處理能力太弱,這就是瓶頸。目前普遍使用的色彩空間是sRGB空間,在這個(gè)模式下,RGB每通道是8bit,相當(dāng)于黑到白(低動(dòng)態(tài)范圍顏色的1.0)的亮度級(jí)數(shù)只有0到255一共才256級(jí)。用這么少的級(jí)數(shù)來代表自然界黑到白的層級(jí)未免太不夠了,那么針對(duì)人眼的亮暗敏感度必須要利用gamma來調(diào)節(jié)中灰的位置,使得有限的灰階分布能夠盡量符合人眼的視覺特性。當(dāng)技術(shù)發(fā)展到一定階段,使用每通道32位的浮點(diǎn)數(shù)來表示自然界的亮度和顏色的時(shí)候,我們理論上就不需要灰度系數(shù)gamma了,因?yàn)槲覀兛梢栽谛枰臅r(shí)候不斷增加更細(xì)分的色階,圖像數(shù)據(jù)可以和真實(shí)世界的光線強(qiáng)度一樣保持在線性的空間,這就是HDR(高動(dòng)態(tài)范圍)的圖像帶來的好處。相比sRGB的LDR圖像(每通道16bit整數(shù)型以下),HDR圖像能帶來更加接近真實(shí)的黑和白,能夠表現(xiàn)出遠(yuǎn)大于(255,255,255)的亮度和無限接近純黑的暗部。也就是說,Gamma僅應(yīng)用在0~1的范圍內(nèi),即僅用于8位圖像和16位圖像,或者說任何低于16位的圖像都受Gamma的影響。注意在平常使用OCP調(diào)整gamma值的時(shí)候,需要RGB三者一起調(diào)整,單個(gè)通路的調(diào)整會(huì)帶來顏色的偏差,需要三者增減相同的數(shù)值才能只帶來明暗層次的變化,而不影響畫面的色調(diào)。
圖3 不同環(huán)節(jié)的gamma取值
因?yàn)間amma表現(xiàn)的實(shí)際曲線是非線性的,跟人眼的視覺特性類似,因而可以說帶有g(shù)amma曲線的sRGB、ProphotoRGB、AdobeRGB等均與人眼相關(guān),屬于非線性空間。計(jì)算機(jī)的RGB空間和電視行業(yè)傳輸?shù)腨UV空間屬于線性空間,與設(shè)備相關(guān)而與人眼無關(guān)。弄清楚這一點(diǎn)對(duì)圖像輸入輸出非常重要,因?yàn)間amma空間的渲染效果和linear(線性)空間產(chǎn)生的實(shí)際效果有很大差別,實(shí)際上算圖器或者其他設(shè)備的計(jì)算均是在線性空間中完成的。圖像總是被假定為線性。gamma僅適用于圖像的顯示,而不適用于圖像的數(shù)據(jù)。非線性應(yīng)杜絕存儲(chǔ)在圖像中。如果已經(jīng)存在圖像中,那么這種非線性必須在它的存儲(chǔ)格式中加以注明以方便移除來檢索線性數(shù)據(jù)。所以建議的圖像處理流程是需要在計(jì)算環(huán)節(jié)去掉gamma使之回歸線性空間,線性計(jì)算完成之后再根據(jù)需要補(bǔ)償gamma,這樣產(chǎn)生的實(shí)際效果對(duì)機(jī)器比較友好,也符合常規(guī)計(jì)算的數(shù)學(xué)公式,更加接近實(shí)際圖像的紋理變化,圖4是建議的Gamma流程。
圖4 建議的Gamma流程
總而言之,gamma在圖像系統(tǒng)的采集、存儲(chǔ)、處理、傳輸、顯示環(huán)節(jié)中均會(huì)產(chǎn)生影響,細(xì)小的改變帶來的可能是與預(yù)期或者實(shí)際不符的最終效果。在日常使用中,應(yīng)當(dāng)根據(jù)實(shí)際情況和設(shè)計(jì)需求制定不同環(huán)節(jié)的gamma,來達(dá)到相應(yīng)的端到端end-toend gamma,使得畫面整體的明暗程度和層次基調(diào)符合觀看環(huán)境,達(dá)到預(yù)期的創(chuàng)作效果,從而擁有沉浸式的體驗(yàn)。[Real-Time Rendering, Third Edition],2008
1.Martin Kykta,Uni-Pixel Displays Inc.,Gamma,Brightness and Luminance Considerations for HD Displays,[Information Display],07/09
2.彭國福 林正浩,圖像處理中Gamma校正的研究與實(shí)現(xiàn),[電子工程師],2006.(02)
3.杜百川,加快媒體融合轉(zhuǎn)型[R],上海,2016
4.Tomas Akenine-Moller, Eric Haines, Naty Hoffman,
5.林福宗,[多媒體技術(shù)教程],第5章 彩色數(shù)字圖像基礎(chǔ)
6.Charles Poynton,The rehabilitation of gamma,SPIE 3299, Human Vision and Electronic Imaging III,1998
7.時(shí)楓哲,淺談Gamma校正與人類視覺的關(guān)系,[美術(shù)教育研究],2014.(22)
8.Alvy Ray Smith,Gamma,Correction,[Microsoft Tech Memo],1995