什麼是HDR(High Dynamic Range)高動態範圍成像?——節選自《高興說顯示進階篇之三》
首先,我先引用英偉達Nvidia對HDR的總結。
HDR就是:亮的地方賊亮,暗的地方賊暗,細節還賊多。
作者:高興
中泰證券研究所國際銷售
曾任職於美銀美林、中信證券、銀河證券、大宇證券
畢業於紐約大學、香港科技大學,高麗大學
可以聽說讀寫中文、英文和韓文,日文只能讀不會聽說寫
央視NEWS頻道 New Money欄目 嘉賓
首先,我先引用英偉達Nvidia對HDR的總結。
HDR就是:亮的地方賊亮,暗的地方賊暗,細節還賊多。
比如這張圖片:
一天不同時刻的光的亮度是非常不同的,比如正午直射陽光是非常明亮刺眼的,而半夜的郊外又是非常黑暗的。在不同的光照條件下,人類可以調整眼睛來適應不同的光照環境,去獲取更多的信息。在過於明亮的環境下,我們會試圖減小眼睛張開的程度,並調整瞳孔的「光圈」,或者也可以快速眨眼睛看,減少入射光,否則我們的視錐/視桿細胞會因為信號飽和而失去分辨實物的能力。在過於黑暗的環境下,我們又會張大眼睛,增加瞳孔的光圈,或者長時間盯著仔細看,試圖增加入射光,同時,我們會開動更多的視桿細胞,來捕捉更多的光子。
為了更準確的測量不同的亮度,我們需要一個度量單位:把一隻普通蠟燭的燭光均勻分布在1平方米的面積上的時候的亮度定義為1 cd/m2(坎德拉每平方米),也叫1尼特(nit),那麼:自然界的各種不同光照環境的亮度如下(單位cd/m2)。
然而,同一個場景里往往會同時出現很多不同亮度的部分,比如下面這個圖片。
我們把這個場景的最大亮度與最小亮度的跨度稱作動態範圍。這個場景里的最大亮度和最小亮度的比就叫做(靜態)對比度。
正常的人眼不經過任何調整就可以識別約的對比度可以(四捨五入)達到10000:1左右。
如果一個場景既有非常明亮的物體,也有非常黑暗的物體,亮度跨度很大,我們就稱之為「高動態範圍 High Dynamic Range(HDR)」場景。
然而,具體對於多大的跨度才算高動態,目前還沒有一個標準的定義,一般情況下但是只要比傳統的照相機/顯示器可以拍攝/顯示的動態範圍高就可以認為是高動態。
在高動態場景下,我們人類無法同時採用兩種模式來獲取全部信息,instead我們會不停的在兩種模式中切換與調整,當看到明亮物體的時候調整到明亮狀態,當看到黑暗物體的時候,調整到黑暗狀態。這兩種模式的切換是無需經過我們的大腦的主動決策的人體自然的條件反射。通過這種調整,人眼最多可以識別對比度高達340億倍的動態範圍(也有人說可以達到大概1萬億倍!)。
Anyway,這種場景的亮度的跨度已經超越了標準的照相機和顯示器的能力範圍,傳統的照相機是無法像人類一樣通過自身的調整來記錄這這種場景的。而顯示器對於HDR場景就更吃力了,一般的LCD只能夠表現出700:1左右的對比度,好一點的也不過達到3000:1或者4000:1而已,遠遠達不到人眼的識別能力。
那麼 ,所謂HDR技術就是
A. 能夠生成/記錄高動態範圍的圖像的技術
以及
B. 讓顯示器能夠顯示這種高動態範圍圖像的技術。
但是,這兩種技術所要求的動態範圍卻非常不同。
生產/記錄需要能夠達到人眼調整以後的水準,這樣才能記錄下一個場景的全部信息。但是顯示卻只需要達到人眼不經過調整的水平就可以了,因為人類在看顯示器的時候並不需要也不應該應該調整自己的瞳孔,而是應該「一目了然」。
很顯然生成/記錄的信息的動態範圍要遠遠高於顯示的動態範圍,在這種情況下肯定會有信息損失,所以HDR技術的第三層就是:
C. 儘可能的在還原內容製作者的意圖的同時,把生成/記錄的高HDR信息轉化成顯示器用的低HDR信息
讓我們一個一個的看。
A. 生成/記錄
用計算機生成高動態範圍的圖像其實很容易,要想實現「亮的地方賊亮,暗的地方賊暗,細節還賊多」,只要人工的去設定圖像上的最亮的點和最暗的點的值就可以了。但是一定要採用更高位數的色深才可以,否則現在普遍使用的8位色深,每種顏色的最大值255隻比最小值1大255倍(假設不同級之間是線性關係),那麼RGB都是最大值的時候,才比RGB其中之一為1其他兩個值為0的最小值的亮度大765倍。而且只有位數更高才能做到在亮的部分和暗的部分都能保證足夠的細節過渡,否則就糊成一片,根本看不清了。
比如下圖這樣
正確的圖像應該是這樣的
這也是為什麼在提到HDR的時候都要同時提到10bit、12bit色深或者更高,採用10bit色深其實也只不過可以達到3000:1左右的對比度(again假設不同級別之間是線性關係),12bit的話理論上可以做到12000:1。
所以,為了突破這種限制,現在HDR內容製作一般都會直接採用科學計數法的方式來處理數字(所謂「浮點」),這樣可以比整數形式的「位數」儲存更大範圍更精細的數字,從而實現更高的對比度與細節。
記錄方面,
照相機和人眼很相像,在黑暗的場景,可以增大光圈(睜大眼睛)或者增加曝光時間(長時間看)來獲取更多的暗部信息,在明亮的場景,可以縮小光圈(眯眼睛)或者減少曝光時間(快速眨眼睛看)。
這裡我們需要用一點中學的物理知識。
對於一個特定物體來說,最終這個物體的光學信息能夠有多少進入到人眼/照相機里,取決於以下幾個因素。
1. 從這個物體發出的光的量
2. 這個物體到人眼/鏡頭的距離
3. 眼皮/快門開放的時間
4. 瞳孔/鏡頭的光圈
5. 人眼/鏡頭的焦距(一般情況下,物體的物距要遠遠大於焦距,所以焦距≈像距)
在前三者為固定值的情況下,後兩個因素可以起到決定性的作用。其中:
光圈就像人的瞳孔一樣,是一個大小可以變化的洞,可以遮擋光線的進入。洞越大,能進入的光就越多。一般用這個洞的直徑來衡量光圈的大小,洞的直徑和光的量成正比。
而焦距則是對光的折射能力的大小的表現。焦距越長,成的像越大,焦距越短,成的像就越小。
但是視網膜/Sensor的面積大小是固定的,所以不考慮像超出視網膜/Sensor面積的情況下,同樣量的光入射,成的像越大,則單位面積的光的信息越少,像越小,則單位面積的光的信息越大。所以焦距和單位面積的光的量成反比。
所以,我們常常用焦比(光圈值)f這個值來衡量光圈的大小,其定義為
其中f是焦距,而D是光圈直徑。N和Sensor接收的光的量成反比。
上面的公式可以變形為D = f/N,也就是說光圈 = 焦距/焦比。f值一定的情況下,N越大,D越小。一般情況下,業界都喜歡把光圈用「f/N」的形式來表示,「f/」後面的數字越大,光圈就越小,單位時間內,Sensor能接收到的光的量就越少。
因為圓面積公式是S=π(D/2)2,那麼,S=π(f/2N)2,所以事實上在焦距不變的情況下,進入的光的量與光圈D的平方成正比,與焦比N的平方成反比。
在上面的5個因素里,如果只維持前兩個因素不變,第三個因素「時間」也可以改變的話,很明顯,眼皮/快門開放的時間越長,進入的光就越多,這還是一個簡單的線性正比例的關係。
那麼,入射光的量與N的平方成反比,與t成正比,也就是說N2/t可以決定入射光的量。
那麼理論上不同的N2和t的組合有可能會得到相同的入射光的量。
比如:
所以人類定義了一個叫曝光值(Exposure Value,EV)的概念來描述光圈和曝光時間的關係。(寫了這麼多就是為了介紹EV而已。。。刪了又後悔)
之所以用log的關係,而不用簡單的N2/t的原因我也不清楚,好像是因為這樣方便攝影師計算,因為實際上這樣的話相當於2EV = N2/t,每一個整數的EV值的入射光的量(N2/t)都是(EV-1)的入射光的量的2倍。每一個單位的EV叫做一個Stop。每增加一個Stop,就意味著光的量增加一倍,每減少一個EV就意味著光的量 減少了50%。每差一個stop,對比度就要差1倍。
在照相/攝影領域計算場景的動態範圍的時候,經常使用EV的stop差,instead of 以cd/m2為單位的亮度差值。
在一定條件下(感光度ISO = 100, 校準常數K = 12.5,這兩個參數不需要懂),EV與前面說的cd/m2之間是可以轉換的。
一般的照相機只能記錄12個或者更少的stops差,相當於4000:1的對比度,一些高級單反可以做到13~14個stops差,相當於8000~16000的對比度。
照相機的CCD/CMOS本身是對光非常敏感的,可以捕捉到非常微小的量的光子,當然也可以記錄非常大量的光子。只是,照相機不能根據自己的「主觀意識「來任性地選擇觀看明亮還是黑暗的部分,因為照相機的任務是記錄整個場景的所有信息。而且,照相機每次只能拍攝一張靜態的畫面,要麼就是「明亮模式」,結果黑暗的部分看不清,要麼就是「黑暗模式」,結果明亮的部分太亮也看不清。
比較明顯的例子就是夜景照片的拍攝,很多時候要麼就是前景漆黑一片,要麼就是背景過於明亮。如果前景是人物的話,其實還好解決,我們可以選擇用另外的照明專門給人臉打光,或者就是用閃光燈慢閃,以背景的亮度為基準拍攝,在最後瞬間用閃光燈給人臉增加亮度。
但如果是下面這個場景呢?
前景是非常明亮的建築,背景是昏暗的建築與天空。人眼在看到這個場景的時候,會不停的根據視線的焦點來改變模式,從而獲取更全面的場景信息。但是照相機就很難做到,上面是在四種不同的曝光模式下得到的四種不同的照片,都不太令人滿意,要麼就是缺少前景的細節信息,要麼就是缺少背景的細節信息。
那麼,其實,我們可以把四張照片合在一起,採用每一張細節表現最好的部分,去掉模糊掉的部分,這樣就能得到一張能夠同時表現出所有細節的「完美照片」了。
目前很多照相機/手機都有這種功能,一般這種自動合成的功能叫做AEB(Automatic Exposure Bracketing)。
B. 顯示
有了HDR的內容,要想展示出來卻不太容易。目前很多電視/顯示器號稱自己支持HDR,其實僅僅是可以接受HDR的信號,但是卻無法展現出真正的HDR畫面。
然而事實上,現在並沒有一個單獨的HDR顯示標準,目前的HDR的標準都是作為一個更大的整體標準的一部分存在的,包括電視領域的ITU-R Recommendation BT.2100以及UHD Alliance的Ultra HD Premium標準。這些標準在要求HDR的同時還規定了解析度、色深、色域等等。
根據我們前面的分析與業界的標準,從硬體原理上講,顯示器至少要能夠具備以下幾個條件才能發揮HDR內容的威力。
1. 亮度
既然是高動態範圍,亮度的範圍肯定要給足,根據UHD Premium標準,顯示器的亮度特性要達到以下要求才能算是HDR。
最低的最大亮度值達到1000cd/m2,最大的黑度值(屏幕能夠表現的僅次於關閉狀態的最暗的亮度)不超過0.05cd/m2。相當於20000:1的對比度,對應LCD顯示技術。
或者
或者最低的最大亮度值達到540cd/m2,最大的黑度值(屏幕能夠表現的僅次於關閉狀態的最暗的亮度)不超過0.0005cd/m2。相當於1,080,000:1的對比度,對應OLED等自發光顯示技術。
之所以分成兩種標準,是因為主流的LCD與OLED顯示技術的特性不同造成的。
LCD的背光不可能完全被關閉,液晶也不能完全阻擋光的通過,所以LCD的黑度沒有辦法達到很低,但是LCD的背光的亮度很高,所以還是可以實現高對比度的動態範圍的。但是,因為普通的LCD的色域不夠,而HDR往往不是一個單獨的功能,而是與4K/廣色域等功能綁在一起的,所以目前來看,只有量子點LCD電視/顯示器才能夠實現並搭載HDR功能。
OLED的最高亮度雖然無法做到像LCD那樣高,但是因為是像素自體發光,可以做到對單個子像素亮度的精細控制,所以可以把黑度做的非常低,所以計算下來,對比度反而遠遠高於LCD,動態範圍也要大得多。
其實增加亮度的範圍也是可以增加顏色的,因為亮度也是顏色的一部分。在基礎篇我們看過下面這個圖
通過增加亮度的範圍,可以在Z軸上增加色域。
2.至少支持10bit色深,內部晶元支持更高位的LUT以及浮點格式的編碼。
原因前面都講過。
3. 支持HDR解碼標準(後面介紹)
C.儘可能將記錄/生成的HDR信息轉化為顯示的HDR信息
上面說過,記錄/生成的原始HDR的信息的動態範圍是遠遠大於顯示器可以顯示的HDR範圍的,這雖然也有顯示器的能力的問題,但是更主要的原因是顯示器不需要過於高的動態範圍,因為截至目前,我們還是希望能夠不需要調整瞳孔,一目了然的看清屏幕上的所有細節,如果過於真實的反映原始的動態範圍,會造成觀看者需要頻繁的調整眼球,令人疲勞無法集中精力並即時獲取信息。
但是,從記錄/生成的角度來說,又需要把現場的所有信息儘可能的保存下來,不得不採用非常高的動態範圍。
那麼,記錄/生成和顯示之間,需要某種機制,使得兩者能連接在一起,儘可能的將記錄/生成階段保存的高HDR信息轉換成顯示器能力範圍內的HDR信息,同時儘可能保存人類需要的細節信息。更重要的是,要使得內容製作人想表現的色彩能夠在顯示器上得到更忠實的再現。
我們在前幾個附錄里講過,在HDR技術之前,我們採用sRGB標準(附錄7)來保證內容製作與再現的一致性。因為CRT顯示器的物理原因,輸入的電信號與輸出的光信息之間存在一個非線性(冪函數)關係,這個關係會造成畫面昏暗,所以sRGB採用Gamma Correction(附錄6)的方式在內容製作的時候對信息進行預先反向糾正(編碼)。(如果您沒有讀前面關於sRGB、Gamma的附錄,下面的內容可能會比較難以理解)
後來發現,這種方式竟然還有一種「有損壓縮」的副作用,在將信息從高位深轉向低位深的時候,(因為四捨五入)可以減少人眼不敏感的高亮部分的信息,保留更多的暗部信息。再後來LCD取代了CRT,雖然LCD本身不具有CRT的非線性函數特性,但是為了與現有內容兼容,仍然採用了LUT的方式來模擬CRT的這種特性。
HDR技術和上面的過程非常相似。HDR也需要制定標準來保證製作的內容在終端播放的時候能夠得到準確的再現。但是因為HDR內容是全新製作的內容,所以理論上HDR顯示器已經不再需要模仿CRT的傳遞函數,但是這種指數型函數的副作用(「有損壓縮」)卻對HDR非常重要,尤其是在把高HDR的信息傳送到HDR範圍相對較低顯示器上的時候,這種函數可以減少人眼不敏感的高亮信息,保留更多的暗部信息,從而有效的增加畫面整體的細節信息,這種過程也叫做Tone Mapping。
上面看過的這個照片其實就是經過了Tone Mapping處理的,因為實際上原來中央部分的燈光要比現在要亮很多,只是考慮到我們一般的電腦或手機無法在那個亮度的區間展示出細節,所以把該區間的亮度降低,保留了細節。
在內容製作階段把光的信息轉換(編碼)成電的信息的函數叫做Optical-Electro Transfer Function(OETF)。反過來在顯示階段,把電的信息再轉化(解碼)為光的信息的函數叫Electro-Optical Transfer Function(EOTF)。而把整個過程放在一起來看,從最初的的場景的光的信息到最後的顯示器發出的光的信息,是一個從光到光的變化過程,這個過程中信息所經歷的轉換函數就叫做Optical-Optical Transfer Function(OOTF)。
所以其實sRGB的Gamma Correction只不過是OOTF的一個特例而已,編碼函數Y = X0.51相當於就是一個OETF,而CRT自身的Gamma函數Y = X2.2則是EOTF,系統整體的Y = X0.51 x 2.2 ≈ 1.125相當於是OOTF。
HDR的標準目前有兩種,他們都被包含到ITU-R Recommendation BT.2100標準里,成為了國際標準。
一種是由BBC和NHK提出的HLG (Hybrid Log-Gamma),主要是用於廣播電視領域,其主要目的是保證廣播電視節目的製作既能進入到HDR時代也能和現現有的顯示設備兼容。因為是面向普通大眾的廣播電視領域,不能說標準升級了就可以讓沒錢換電視的人看不了電視吧?所以比起為新的HDR電視提供最好的顯示效果來說,與現有的各種新舊電視的兼容性才是最重要的。所以該標準採用了相對較簡單的指數型OETF的形式來進行編碼,只不過這個OETF與傳統的sRGB的Gamma不同,更加適合HDR的內容而已。如果接收信號的電視不支持HDR的話會自動把HDR相關信息忽略掉,還可以按照以前的方式繼續收看,只不過畫面顏色沒有那麼好看而已。另外,HLG並沒有規定電視一定要有多高的亮度或暗度,而採用相對值來表示亮度,這樣實際上展現的動態範圍會取決於電視的物理能力。這是一個普惠型的標準,不收取任何的專利費。目前除了BBC和NHK以外,Youtube也採用這個標準。HLG標準信號的最高輸入亮度是4000cd/m2,電視輸出的最高亮度是1000cd/m2。
另一種標準是杜比Dolby提出的PQ(Perceptual quantization),主要用於電影、網路流媒體的視聽,其主要目的是真實的還原視覺場景並為觀看者提供最優秀的視覺效果。所以這個標準的重心在於如何能夠按照內容製作者的意圖,在符合標準的HDR電視上展現出準確的圖像。所以,比起簡單的指數函數,PQ的EOTF更加符合人的視覺特性,而且PQ會在顯示信息中附上一個元信息metadata。這個metadata中就包含了內容製作者的意圖(亮度、色域、動態範圍、白點、EOTF等等)。符合HDR標準的電視可以解讀這個metadata,再結合自身的情況,盡最大可能的再現內容製作者的意圖。另外,PQ採用絕對值來表達亮度,保證(符合標準的)不同的電視輸出同樣的亮度。PQ其實只是一個基礎標準,目前業界有幾種不同的建立在PQ基礎上的商用標準。其中主流的有杜比公司的Dolby Vision和HDR10/HDR10+。
HDR10在由美國Consumer Technology Association(CTA,就是舉辦CES的組織)提出的標準。這個標準基本上就是一個基礎版的PQ,得到了大部分主流硬體和內容廠商的支持,這也是大部分的HDR內容都會支持的最基本的標準,包括微軟最新的Xbox和索尼的PS4也都支持它。該標準要求使用10bit色深,ITU-R Recommendation BT.2020的色域,採用靜態Static Metadata。輸入信號的最高亮度是4000cd/m2,顯示輸出的最高亮度是1000cd/m2。
Dolby Vision由杜比公司開發,目前得到了幾乎除了三星以外的所有硬體廠商和內容廠商以及流媒體平台的支持。該標準要求使用4K的解析度,ITU-R Recommendation BT.2020的色域,12位的色深。輸入信號的最高亮度是10000cd/m2,顯示輸出的最高亮度是4000cd/m2。Dolby Vision最大的特點是擁有HDR10所沒有的動態Dynamic metadata,它的metadata不是簡單的針對一個內容而製作的,而是針對每一個場景都有一個metadata,這樣可以做到精細的調控不同場景的動態範圍。如果只有一個metadata的話,電視/顯示器只能根據最亮的那個場景來調整自己,但是這種調整並不一定適合這個內容的所有場景。所以Dolby Vision的顯示效果要遠遠好於一般的PQ標準。但是Dolby Vision是收費的,每台電視大概不到3美元。收錢以後,杜比除了提供授權以外,還會提供很多技術支持大禮包,其實比較適合圖像演算法實力不夠強的一些中國廠商,但是對於一些對自己的畫面處理演算法技術很有自信的公司來說,全盤接受杜比的大禮包會喪失自己的特色,這也是為什麼索尼很晚才推出支持Dolby Vision的產品。
HDR10+是由三星和亞馬遜開發的。該標準主要就是要挑戰Dolby Vision,因為三星不想讓自己的電視受制於杜比而且還要給杜比專利費。現在已經得到了松下、飛利浦、二十世紀福克斯和華納兄弟等硬體內容廠商的支持。該標準在HDR10基礎上升級,對標Dolby Vision,增加了針對不同場景的動態Dynamic Metadata。如果使用這個標準,廠商無需支付授權費給杜比,但是世界上沒有免費的午餐,加入HDR10+陣營的廠商之間需要共享相關技術。
在顯示領域經常發生各種格式大戰,這次廠商們也都在站隊,目前來看Dolby Vision佔據了人數的優勢。不過Dolby Vision和HDR10+並不是互斥的兩個標準,如果廠商願意,可以同時支援兩種標準。
我個人覺得杜比會最終贏得勝利,有以下幾個理由:
1. 杜比與電影業界的淵源甚遠,基本上所有電影廠商都支持影院版的Dolby Vision,所以杜比很可能會佔據上游內容優勢從而取得更大的優勢。
2. 從下游講,其他電視廠商不願意受制於自己最大的競爭對手之一的三星。
3. 雖然Dolby Vision收費HDR10+免費,但是要和三星共享技術的可能不是很多硬體廠商願意接受的條件。
4. 杜比的這種交鑰匙型的標準非常適合廣大的中國廠商,不用自己閉門造車調教畫面。
5. 杜比的品牌在中國還是比較好賣的。
6. 索尼加入了杜比陣營,中國消費者對索尼大法有莫名的信仰,在中國這個市場成功就可以算是巨大的成功了。
推薦閱讀:
※在unity引擎中的工程如何適配HDR電視?
※10年前就廣泛應用的HDR,為何成了Xbox One S的新賣點?
※玩ps4,除了4k hdr電視,有4k hdr顯示器嗎?
※如何評價小米電視3S 65寸/55寸平面電視?
※玩ps4有必要用HDR顯示器么?