HDR關鍵技術:色度學,顏色空間及轉換

本文轉自:https://cloud.tencent.com/developer/article/1346167

摘要:

HDR技術的第二個理論基礎是色度學。從前面的文章中我們瞭解到,光學以及人類視覺感知模型爲人類提供瞭解釋與分析人類感知亮度的理論基礎,但是HDR技術不僅僅關注於提升圖像與視頻的亮度範圍,同時也關注於提供更加豐富的色彩。因此,在本文中,我們將首先介紹人眼與色度學相關的生理特徵以及人類對顏色的識別方式,然後介紹顏色空間的概念,最後再回到HDR,介紹與HDR相關的顏色標準。

色度學

由於視覺是人類的主觀感受,因此無論是亮度還是顏色的研究,最根本的研基礎都在於人眼的生理特徵。人眼的最內層是視網膜,它佈滿了眼球后部的內壁。當眼球聚焦時,外部的光線在視網膜上聚焦。視網膜表面分佈許多視覺細胞,人眼靠這些細胞感知外部光線,然後傳遞給大腦,形成視覺感知。這些視覺細胞分爲兩大類:視覺錐細胞以及視覺杆細胞。其中,視覺錐細胞對顏色非常敏感,而視覺杆細胞沒有顏色感覺,因此人眼靠視覺錐細胞來產生顏色感知。視覺錐細胞又可以三類,它們分別對紅色光,綠色光,藍色光敏感。但是需要額外注意的是,這裏提到的對某種色光敏感,不代表這種視覺錐細胞只能夠感知到該中色光。也就是說,在可見光範圍內的任意波長的色光,都能刺激三種視覺錐細胞,而某些特殊波長的光線能夠對視覺錐細胞產生最大的刺激。

色度學研究的內容就在於如何在顯示設備上產生與自然界類似的刺激,使人眼能夠感受到相同的顏色。顯而易見的是,最簡單的方法就是對自然界的每一種顏色生產一種對應的發光原件,可以發出對應顏色的光線。但是,人眼可以識別上萬中不同的顏色,而在每一個像素點設置上萬個不同的發光元件基本是不可能的,而且生產上萬種不同的發光元件的代價也過於高昂,因此,我們需要其他簡單的,可行的方法來實現對自然世界中顏色的模擬。

可以想到的最直接的,也是人們一直以來使用的解決方式就是:利用人眼中只有三種視覺錐細胞的特性,只使用紅色(r),綠色(g)和藍色(b)三種光線,來模擬所有其他的顏色。因此,這三種顏色也被稱爲光的三原色。

這裏需要思考一個問題:以黃色爲例。在自然界中,顯然將紅色光與綠色光疊加,得到的新的光線的頻率並不是黃色光的頻率,但是,紅色光與綠色光的疊加,給人眼的感受就是黃色。這種現象的原因是什麼?

人眼的三種錐細胞,不同波長的光以及這些光的亮度會對三種錐細胞產生不同的刺激。同樣以黃色光爲例子,當人眼看見黃色光時,紅視錐細胞與綠視錐細胞會產生某種程度的刺激,藍視錐細胞則基本不產生刺激。而大腦接受到這種刺激後,產生了黃色的視覺。而通過改變紅色光與綠色光的亮度,也可以使紅視錐細胞與綠視錐細胞產生相同程度的刺激,而大腦接收到這樣的刺激之後,同樣會認爲這是黃色,而非綠色與紅色的混合色。

也就是說,人眼對顏色的感知,實際上是通過色光及其亮度,對三種視覺錐細胞產生刺激,然後神經系統將不同的刺激,映射爲人感知中的不同的顏色。因此,模擬自然界中的顏色,實際上就是模擬它們對三種視覺錐細胞的刺激

爲了實現使用三種原色光線生成其他顏色光線的目的,CIE(國際照明委員會)在1931年組織了一項實驗,通過一些觀測者的觀察,來確定生成不同的顏色,所需的三原色光線的強度。他們將三種波長的光:700nm(紅色光),546.1nm(綠色光),435.8nm(藍色光)作爲基色。在實驗過程中,首先將三種基色的光投影到白色屏幕的一側,接着,再講第四束光-待測光投影到白色屏幕的另一側。調節三種基色光的強度直到觀測者感受到兩側的顏色一致時,就能夠確定如何使用三種基色光得到各種顏色的光。

實驗的最終結果是得到了三個顏色匹配函數

。這三個函數分別表示產生波長爲λ的光,所需的紅,綠,藍三原色光的強度。

圖1 三種顏色匹配函數曲線

實驗結果的圖像如上圖所示。對上圖中的單位做如下規定:當三原色光配比出等能白光時,三原色光各自的量稱爲一單位的紅光[R],一單位的綠光[G]與一單位的藍光[B]。此時三個原色光的通光量之比爲1:4.5907:0.0601。此時,任意波長的光可以通過三原色光的線性組合得到:

這就是1931 CIE-RGB計色系統。對於任意單色光,理論上可以全部使用RGB三色光表示出來。但是由於435.8nm-546.1nm這一段的紅色光通量爲負值,因此在實際生產中無法實現,所以實際上並非所有單色光(只有一個頻率,不會發生色散)都可以由RGB三原色表示出來。這裏出現負值的原因是,待配色光爲單色光,其飽和度很高,而RGB三色混合後,飽和度會降低。因此,想要配出一些單色光,需要將RGB三色光中的某一個與待配色光混合,才能實現。此時就會出現負值。

而對於非單色光(能產生色散的色光),任意光譜分佈

的RGB值都可以由積分得出。

通過這種方法就可以將單色光與非單色光用RGB三原色表示出來。但是,此時出現的另一個問題是,人類對於顏色的感知包括色度與亮度兩部分。例如,綠色會因爲亮度的不同,帶給人亮綠色,綠色,暗綠色等不同的感受,但是從色度角度來說,它們都是綠色,差別僅僅體現在亮度上。因此,想要表示準確的色度信息,就需要消除亮度帶來的影響。通過對顏色匹配函數歸一化,可以幫助消除亮度帶來的影響。

歸一化的結果如下:

由上面的三個式子我們可以發現,b(λ)=1-r(λ)-g(λ),因此,使用r(λ)與g(λ)就可以表示整個色域。

圖2:使用r,g表示的色域

理論上來說,通過上述的函數,我們已經可以通過三原色光表示所有顏色了,但是從圖中我們可以發現,在係數的取值中存在負值。例如上圖中r軸在負數部分也有取值。

這會在實際的工業生產中帶來不便,因爲負值的光強是無法製造出來的。因此,CIE對此進行了修改,提出了1931 CIE-XYZ計色系統。目的是使得係數不再出現負值。

爲了實現係數不再出現負值的目的,CIE制定了一系列規則,通過座標變換的方式,將RGB表示法轉變成了XYZ表示法。簡單來說,可以將XYZ表示法看做RGB表示法的一種非線性變換,這種非線性變換的結果是係數不再出現負值。此時的XYZ與RGB這種自然界中存在的紅光,綠光,藍光不同,它的人爲定義出的具有特殊匹配函數的三種“基色”,它的匹配函數

如下圖所示:

圖3. CIE-XYZ顏色匹配函數

這裏我們不需要嘗試將XYZ與自然界中的某種波長的光線對應,這是沒有必要的,我們只需要知道它們是具有如上圖所示的匹配函數,並且是由RGB通過非線性變換得到的新的“基色”即可。

與RGB色度表示法類似,將

進行歸一化:

歸一化後,x(λ),y(λ),z(λ)與r(λ),g(λ),b(λ)的關係爲:

我們也可以發現z(λ)=1-x(λ)-y(λ)。因此,XYZ表示法也可以只是用X與Y表示整個色域,XYZ表示法下的色域圖如下圖所示:

圖4:CIE-XYZ 1931

XYZ表示法與RGB表示法存在一定的聯繫並且有一些重要的性質:

  • XYZ色度圖中的原點,對應圖2,RGB表示法中的

點。同時,圖2中的直線

對應於XYZ表示法中的y軸,且經過變換後,在圖4中的對應長度爲1,同理,

對應於x軸,且對應的長度也爲1.

  • 圖2中

線段上的點,在新的XY座標系中,仍然在這條線段上。

  • XYZ表示法中不會出現負值。
  • 原座標系中的等能白光座標

在新的座標系中也爲這個座標。

  • 所有的單色光都出現在圖4的邊緣處。
  • 在XYZ色度圖中選擇任意兩點,位於兩點連線之間的任何顏色都可以由這兩種顏色表示出來。這也意味着XYZ色度圖必然是一個凸形。將這個性質進行推廣,任意三個光源可以混合產生的顏色,必然在這三個光源對應點形成的三角形內部。多個光源亦然。
  • 最後,很重要的一點是從圖4我們可以發現,任何三個給定光源,都不能覆蓋整個色域。幾何上說,色域中不存在能包含整個色域的三角形,即人類視覺的色域不是三角形的,使用三色表示法無法表示整個人類色域,而只能表示局部。

XYZ表示法是用來表示色度的,也就是說,使用XYZ表示法可以表示人眼所能看到的全部顏色,但是還不能表示亮度,因爲XYZ表示法是歸一化以後的結果。因此,通過定義

,就可以解決這個問題,其中V(λ)是可見光的光譜光效率函數,即人眼對等能量的各種色光的敏感程度函數。由此,就可以通過

來表示出

這三個刺激值就可以使人眼既感受到顏色,又感受到亮度。它們也被稱爲“CIE 1931標準觀察觀察者標準”。

而對於任意一個知道光譜分佈的光

,如果想要得到它在“CIE 1931標準觀察觀察者標準”下的表示方法,可以先求出對應的XYZ值:

這裏的Y值就是顏色的亮度。然後進行歸一化:

這裏的小寫x,y就是顏色在色度圖中對應的色座標。有了色座標x,y以及亮度Y,一個光的顏色就可以被確定下來了。因此,“CIE 1931標準觀察觀察者標準”也被稱爲CIE-xyY表示法。

色域

上一節介紹了顏色空間,並且給出了顏色空間的常用表示方法。如圖4中所示的舌型圖,表示了人眼所能感知到的所有顏色的範圍。我們需要注意的是,這些顏色是指自然界中人類所能感知到的所有顏色。在圖像與視頻處理領域,顯示設備所能顯示的顏色,遠遠沒有自然界中的豐富多彩,產生這種情形的原因主要是生產力與技術的限制。上一節我們提到,顯示設備通過在三種基色混合,來表示其他的顏色,並且我們提到“幾何上說,色域中不存在能包含整個色域的三角形,即人類視覺的色域不是三角形的,使用三色表示法無法表示整個人類色域,而只能表示局部。”因此,顯示設備的製作原理導致我們無法使用顯示設備來顯示出自然界中存在的所有顏色,而只能選擇其中的一部分顏色進行顯示,如何選擇則取決於顏色標準。

圖像領域中通常使用的色域標準來自ITU-R,使用最廣泛的是BT.709 [1]和BT.2020 [2]標準。BT.709是HDTV的標準,也是目前普通顯示設備使用的色域標準。BT.2020是UHDTV的顏色標準,也是HDR技術所支持的色域標準。

ITU-R BT.709標準

ITU-R BT.709也稱爲Rec.709,該標準的第一版於1990年發佈。BT.709定義了

的兩種編碼模式,每種模式的各通道都有8或10比特兩種類型,在8位編碼中,

通道和

通道的標稱範圍是16~235,Cb和Cr通道的標稱範圍是16~240,中性值爲128。因此,在

中,黑色的值是(16,16,16),白色的值是(235,235,235);在

r中黑色的值是(16,128,128),白色的值是(235,128,128)。標準RGB空間的0和255仍保留作爲定時參考,可能不包含顏色數據。

BT.709標準同時支持模擬信號與數字信號,因此在BT.709標準內部,存在兩個重要的轉換:

編碼到

編碼的轉換,以及模擬信號到數字信號的轉換。

編碼下的模擬信號到

編碼下的模擬信號之間的轉換爲:

其中

分別表示亮度信號和兩種色差信號,

分別表示

三個通道的模擬信號值。

兩種編碼方式的數字圖像的量化方法是:

其中n表示量化信號的比特長度,INT作爲將小數化整的四捨五入功能。因此我們可以得出

編碼下的數字信號到

編碼下的數字信號之間的轉換方法:

ITU-R BT. 2020標準

ITU-R BT.2020定義了UHDTV的各個方面,比如顯示分辨率、幀速率、色度子採樣、比特深度和色彩空間,它是由國際電信聯盟在2012年發佈的。相比於BT.709,BT.2020提供了更加廣泛的顏色範圍。BT.2020也是HDR技術的顏色空間。

BT.2020標準的重要性是毋庸置疑的,正如BT. 709對於高清視頻傳輸與高清顯示設備製造方面起到的引導性作用,BT. 2020標準同樣也深刻地影響着消費領域超高清顯示設備的設計與製造,例如目前絕大部分的4K平板電視的物理分辨率都是採用BT. 2020標準的3840×2160,但BT. 2020標準絕不僅僅在分辨率方面有所提升,在色彩和刷新頻率和信號格式與分析等方面也進行了相關的規定。

相對於BT.709標準,BT.2020標準大幅度提升了視頻信號的性能規範,色彩深度方面提高至10bit或12bit,很大程度上增強了整個影像的色彩層次,色域的廣度也大大增強,兩種標準的色域對比如圖1.13所示;顯示分辨率方面,BT.2020標準定義了4K和8K兩種分辨率,這些分辨率的寬高比爲16:9,支持的刷新率包括120p、60p、59.94p、50p、30p、29.97p、25p、24p、23.976p。不得不提的是,在BT.2020標準中取消了隔行掃描,所有超高清標準下的影像都是基於逐行掃描的,無疑是歷史性的突破,進一步提升了超高清影像的細膩度與流暢感。

圖5:BT.709與BT.2020對比

與BT.709一致,BT.2020也支持了

兩種編碼模式,以及支持模擬與數字兩種信號。同樣的,BT.2020標準內部也存在兩個重要的轉換:兩種編碼模式之間的轉換以及模擬信號到數字信號的轉換。

編碼下的模擬信號到

編碼下的模擬信號之間的轉換:

編碼下的數字信號到

編碼下的數字信號之間的轉換:

除了顏色空間和色域的轉換,在處理HDR源視頻或通過圖片合成HDR視頻時,通常還要經過採樣方式和光電轉換函數等步驟的轉化,常見的HDR視頻符合SMPTE ST 2084規定的轉換方程的要求,按照不同要求經過PQ曲線或HLG的處理。具體可以參考本系列前面的內容。

BT. 709到BT. 2020的顏色轉換

UHDTV(Ultra-high Definition Television,超高清電視)是未來電視與顯示領域的發展趨勢,現在,越來越多的電視和節目製作人正開始製作UHDTV節目。由於UHDTV還在剛剛起步的階段,因此適配於UHDTV的節目內容數量仍然不足,因此,將原有的大量的HDTV的節目,通過一定的轉換,轉變爲UHDTV節目,就是一個解決UHDTV節目數量不足的可行的方案。由於UHDTV支持的色域要寬於HDTV的色域,在轉換的過程中,不可避免的需要對節目從ITU-R BT.709標準向ITU-R BT.2020標準進行顏色轉換。

BT.709到BT.2020的轉換有一個重要的限制,即BT.709標準下的顏色,在BT.2020標準下要是同樣的顏色。換句話說,如果這個顏色是兩種色域中都存在的,那麼這個顏色在轉換過程中應當保持不變;而如果這個顏色是BT.2020中獨有的,這就需要進行顏色轉換。BT.709到BT.2020的轉換可以大致分爲三個主要步驟:第一個步驟是逆量化,得到BT.709標準下的模擬信號值

。第二個是色域轉換,將BT.709下的模擬信號值,轉換爲BT.2020標準下的模擬信號值。最後一個步驟是量化,得到BT.2020標準下的數字信號。選擇在模擬信號域進行色域轉換而不是直接在數字信號域進行色域轉換的原因是爲了保留更多的信息與細節。由於量化過程會存在信息的丟棄,並且BT.709的色域比BT.2020小,如果直接用數字信號進行轉換,無疑會使得BT.2020色域下的圖像效果變差。因此,通過逆量化過程,恢復圖像的相關細節,然後進行模擬信號的色域轉換,就可以解決這個問題了。

對於原視頻/節目的不同形式,轉換方式也略有不同。根據信號源的亮度是否恆定,轉換方式可以分爲以下兩種:

1. 非恆定亮度信號的轉換

圖6. BT.709到BT.2020在非恆定亮度信號格式下的轉換過程

上圖是非恆定亮度信號的轉換流程圖。由於BT.709與BT.2020均支持兩種編碼方式:

,因此逆量化過程的輸入與量化過程的輸出均有兩條路徑。根據需求的不同,可以選擇不同的輸入輸出模式。

每一個區塊的具體實現過程以及相關函數定義,可以參考BT.2087 [3]。

2. 恆定亮度信號轉換

圖7. BT.709到BT.2020在恆定亮度信號格式下的轉換過程

上圖是恆定亮度信號的轉換流程圖。由於BT.709與BT.2020均支持兩種編碼方式:

,因此逆量化過程的輸入與量化過程的輸出均有兩條路徑。根據需求的不同,可以選擇不同的輸入輸出模式。

每一個區塊的具體實現過程以及相關函數定義,可以參考BT.2087。

BT. 2020到BT. 709的顏色轉換

在現在的實際UHDTV節目的廣播過程中,特別是在同時進行UHDTV和HDTV廣播的情況下,從UHDTV到HDTV的實時高質量色域轉換就至關重要。也就是說,需要一些方法,來使得UHDTV也能夠在HDTV設備上成功播放,並且不影響觀看。這就需要從ITU-R BT. 2020到ITU-R BT. 709的顏色轉換,也就是UHDTV到HDTV的轉換。理想情況下轉換應該滿足以下要求:BT.709色域內的顏色應該保持不變;轉換方法適用於於BT.2020和BT.709之間的多次轉換;感知的色調變化必須儘可能小;空間細節沒有重大損失;不會在顏色上引入可見的不連續性;映射方法在數學上是可定義的。然後沒有可以同時滿足所有這些要求的通用色域映射方法。在從更廣泛的色域轉換到更小的色域時,BT.709色域外的顏色修改是不可避免的。此轉換必然是不同要求之間的妥協,可能因應用程序而異。色域映射算法通常受藝術創作,人類視覺,技術約束和經驗等方面的影響。下面我們介紹一種從BT.2020到BT.709的基於線性矩陣的簡單變換。

圖8 基於線性矩陣變換從BT.2020到BT.709的顏色轉換

圖8是從BT.2020到BT.709的基於線性矩陣變換的顏色轉換的框圖。 除了輸出信號被嚴格限制之外,這是ITU-R BT.2087標準中對從BT.709轉換到BT.2020所規定的操作的逆操作。 這種方法在條件限制的情況下是最直接簡單的。

這種方法首先使用ITU-R BT.2087中規定的兩個非線性到線性的傳遞函數(一種是用於使用電光轉換功能的顯示參考方法(EOTF),一種是用於使用反光電轉移函數(OETF))之一將歸一化的非線性RGB信號轉換爲歸一化的線性RGB信號。接着通過矩陣運算,將BT.2020顏色空間的RGB信號轉換到BT.709顏色空間的RGB信號。最後再通過使用ITU-R BT.2087建議書規定的兩種線非線性傳遞函數(一種是使用反向EOTF的顯示參考方法,另一種是使用OETF)之一將線性RGB信號轉換爲非線性RGB信號。從歸一化線性RGB信號(EREGEB)到歸一化非線性RGB信號(E′RE′GE′B)的轉換。

該方法具有非常理想的特性,即使在BT.2020和BT.709之間進行多次轉換之後,它也不會改變BT.709色域內的顏色。 然而,BT.709色域之外的色彩是硬限幅的,即小於零或大於1的RGB信號(EREGEB)會被限幅爲零或1,這會導致明顯的色調偏移和空間細節的損失。 雖然大多數內容看起來都很好,但色調和空間細節方面還是會有所損失。

色域轉換的更多內容,可以參考本系列前作《HDR關鍵技術-色域映射》。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章