色彩空间DCI XYZ转RGB
色彩空間DCI XYZ轉RGB
- 1. DCI-P3簡介
- 2. DCI-P3與P3-D65區別
- 3. 顏色空間轉換矩陣推導
- 3.1 算法原理
- 3.2 Matlab計算
- 3.3 轉換矩陣
1. DCI-P3簡介
DCI-P3是美國電影行業推出的一種廣色域標準,是目前數字電影回放設備的色彩標準之一。它的色域較大,與sRGB相比,綠色和紅色的范圍更廣。DCI-P3能更好的滿足人類視覺體驗,適用于數字電影,電視劇后期制作、調色等。
Definition: SMPTE-EG-0432-1:2010 Digital Source Processing-Color Processing for D-Cinema
RGB primaries:
| R | 0.68 | 0.32 | 0 |
| G | 0.265 | 0.69 | 0.045 |
| B | 0.15 | 0.06 | 0.79 |
Color component transfer function: 2.6 gamma
White point luminance: 48 cd/m2
White point chromaticity:
- D65: x = 0.3127, y = 0.3290
- DCI: x = 0.3140, y = 0.3510
2. DCI-P3與P3-D65區別
DCI-P3的白點坐標是0.3140,0.3510(下圖左上角的橙色點)。而P3-D65,采用了DCI-P3定義的色域,但是白點標準為6500K,坐標:0.3127,0.3290(下圖左上角黑點),是Apple的Display P3在DCI-P3基礎上修改而成的。
他們所定義的顏色范圍是一樣的,但是白點有區別,DCI-P3偏綠,而P3-D65和sRGB以及AdobeRGB,都是標準的6500K。
另一個區別是DCI-P3的伽馬是2.6,而Display P3和sRGB、AdobeRGB一樣,都是2.2的伽馬。
造成區別的原因主要是DCI-P3是為了沒有其他光源的電影院設計,而Display P3是為了現代顯示器設計的。
3. 顏色空間轉換矩陣推導
3.1 算法原理
3.2 Matlab計算
由Matlab計算得到:
P3-D65、P3-DCI與RGB的轉換矩陣分別如下:
仔細觀察式(3),其中X = 0.44517R + 0.20949G,各系數之和為0.65466.我們知道RGB的取值范圍為[0,255],如果系數和等于1,則X的取值范圍也必然在[0,255]之間,因此我們可以考慮等比修改各系數,使其之和等于1,這樣就做到了XYZ和RGB在同等范圍的映射。因此,
第一行的系數應分別修改為[0.44517 0.20949 0] / [0.65466 ] = [0.68 0.32 0]
第二行的系數應分別修改為[0.27713 0.7216 0.047061] / [1.0458] = [0.265 0.69 0.045]
第三行的系數應分別修改為[0.17228 0.068913 0.90736] / [1.1486] = [0.15 0.06 0.79]
由于式(3)變化,所以式(4)也要做相應的調整,式(3)中X的各分量都除以0.65466,所以式(4)中對應分量都乘以0.65466;同理對應Y的各分量都乘以1.0458,對應Z的各分量都乘以1.1486。
最終得到變換式(5)(6).
我們使用的轉換矩陣為式(6)
3.3 轉換矩陣
由于算式中包含浮點數,這里使用整數運算代替浮點數運算,將各系數同乘以2的N次冪,最后的得到的結果再進行移位操作。這里N取9(參考X20 YCbCr2RGB)。各系數乘以512,四舍五入取整后得到式(7)。
R?9=914*X-426*Y+24*Z G?9=-341*X+905*Y-52*Z---------------------------(7) B?9=-148*X+12*Y+647*Z 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的色彩空间DCI XYZ转RGB的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IIC总线的原理与Verilog实现
- 下一篇: VHDL/Verilog编译错误总结