2023年2月1日 星期三

【色彩】顯示器色彩轉換矩陣的計算方式

在三原色色光發光系統中,色彩轉換矩陣(Color Transformation Matrix)為一個線性轉換矩陣,用來描述轉換感知線性化色彩訊號 RGB (Gamma 轉換後的 RGB)到三次激值(Trisitimulus) XYZ 的轉換比重。

 

IEC 61966-4

根據 IEC 61966-4 第 8 章的的敘述,令 C 為顏色變數,分別表示為最大的紅色(Peak Red, R), 最大的綠色(Peak Greed, G), 最大的藍色(Peak Blue, B)和最大的白色(Peak White, W),則用下列式子分別表示正規化後的三次激值:

 

\[ \style{text-align:left;} { \begin{align*} X'_C= \frac{X_C}{Y_n} \label{01}\tag{01} \end{align*} }\]

\[ \style{text-align:left;} { \begin{align*} Y'_C= \frac{Y_C}{Y_n} \label{02}\tag{02} \end{align*} }\]

\[ \style{text-align:left;} { \begin{align*} Z'_C= \frac{Z_C}{Y_n}\label{03}\tag{03} \end{align*} }\]

 

其中 \(Y_n\) 為白色的 Y 值,亦為該系統下的最大量測亮度值(measured luminance)。根據 CIE 1931 x y 色度座標的計算方式,分別計算對應的 \(x_C\)、\(y_C\),還有 \(z_C\):

 

\[ \style{text-align:left;} { \begin{align*} x_C= \frac{X'_C}{X'_C+Y'_C+Z'_C}\label{04}\tag{04} \end{align*} }\]

\[ \style{text-align:left;} { \begin{align*} y_C= \frac{Y'_C}{X'_C+Y'_C+Z'_C}\label{05}\tag{05} \end{align*} }\]

\[ \style{text-align:left;} { \begin{align*} z_C= 1-x_C-y_C \label{06}\tag{06} \end{align*} }\]

 

令 \(M_t\) 為一個 3 x 3 矩陣,滿足下述關係式(在 IEC 61966-4 內矩陣表示為 \(S\)):

 

\[ \style{text-align:left;} { \begin{align*} \begin{bmatrix} X'\\ Y'\\ Z'\\ \end{bmatrix} = M_t \begin{bmatrix} R\\ G\\ B\\ \end{bmatrix} \label{07}\tag{07} \end{align*} } \]

 

其中 \(R\)、\(G\)、\(B\) 分別表示被正規化後的訊號等級,則 \(M_t\) 計算如下:

 

\[ \style{text-align:left;} { \begin{align*} M_t = \begin{bmatrix} {x_R}/{y_R} & {x_G}/{y_G} & {x_B}/{y_B} \\ 1 & 1 & 1 \\ {z_R}/{y_R} & {z_G}/{y_G} & {z_B}/{y_B} \\ \end{bmatrix} \begin{bmatrix} S_R & 0 & 0 \\ 0 & S_G & 0 \\ 0 & 0 & S_B \\ \end{bmatrix} \label{08}\tag{08} \end{align*} } \]

 

其中 \(S_R\)、\(S_G\),和 \(S_B\) 為下述關係式之解:

 

\[ \style{text-align:left;} { \begin{align*} \begin{bmatrix} {x_R}/{y_R} & {x_G}/{y_G} & {x_B}/{y_B} \\ 1 & 1 & 1 \\ {z_R}/{y_R} & {z_G}/{y_G} & {z_B}/{y_B} \\ \end{bmatrix} \begin{bmatrix} S_R \\ S_G \\ S_B \\ \end{bmatrix} = \begin{bmatrix} x_W/y_W \\ 1 \\ z_W/y_W \\ \end{bmatrix} \label{09}\tag{09} \end{align*} } \]

\[ \style{text-align:left;} { \begin{align*} \implies \begin{bmatrix} S_R \\ S_G \\ S_B \\ \end{bmatrix} = {\begin{bmatrix} {x_R}/{y_R} & {x_G}/{y_G} & {x_B}/{y_B} \\ 1 & 1 & 1 \\ {z_R}/{y_R} & {z_G}/{y_G} & {z_B}/{y_B} \\ \end{bmatrix}}^{-1} \begin{bmatrix} x_W/y_W \\ 1 \\ z_W/y_W \\ \end{bmatrix} \label{10}\tag{10} \end{align*} } \]

 

簡化

然而,實際上上述的計算方式是可被簡化的,式 (\(\ref{08}\)) 可被改寫如下:

 

\[ \style{text-align:left;} { \begin{align*} M_t = ( \begin{bmatrix} x_R & x_G & x_B \\ y_R & y_G & y_B \\ z_R & z_G & z_B \\ \end{bmatrix} \begin{bmatrix} 1/y_R & 0 & 0 \\ 0 & 1/y_G & 0 \\ 0 & 0 & 1/y_B \\ \end{bmatrix}) \begin{bmatrix} S_R & 0 & 0 \\ 0 & S_G & 0 \\ 0 & 0 & S_B \\ \end{bmatrix} \label{11}\tag{11}\end{align*} } \]

 

令 \( \overline{S_R} = (X_R+Y_R+Z_R) \)、\( \overline{S_G} = (X_G+Y_G+Z_G) \)、\( \overline{S_B} = (X_B+Y_B+Z_B) \),則式 (\(\ref{11}\)) 可改寫成

 

\[ \style{text-align:left;} { \begin{align*} M_t = (( \begin{bmatrix} X_R & X_G & X_B \\ Y_R & Y_G & Y_B \\ Z_R & Z_G & Z_B \\ \end{bmatrix} \begin{bmatrix} \frac{1}{\overline{S_R}} & 0 & 0 \\ 0 & \frac{1}{\overline{S_G}} & 0 \\ 0 & 0 & \frac{1}{\overline{S_B}} \\ \end{bmatrix} ) \begin{bmatrix} \frac{\overline{S_R}}{Y_R} & 0 & 0 \\ 0 & \frac{\overline{S_G}}{Y_G} & 0 \\ 0 & 0 & \frac{\overline{S_B}}{Y_B} \\ \end{bmatrix}) \begin{bmatrix} S_R & 0 & 0 \\ 0 & S_G & 0 \\ 0 & 0 & S_B \\ \end{bmatrix} \label{12}\tag{12}\end{align*} } \]

 

根據矩陣乘法結合律、對角矩陣乘法交換律,則式 (\(\ref{12}\)) 可改寫成

 

\[ \style{text-align:left;} { \begin{align*} M_t = \begin{bmatrix} X_R & X_G & X_B \\ Y_R & Y_G & Y_B \\ Z_R & Z_G & Z_B \\ \end{bmatrix} \begin{bmatrix} S'_R & 0 & 0 \\ 0 & S'_G & 0 \\ 0 & 0 & S'_B \\ \end{bmatrix} \label{13}\tag{13}\end{align*} } \]

 

其中 \(S'_R\)、\(S'_G\)、\(S'_B\),根據式 (\(\ref{10}\)) 、式 (\(\ref{13}\)) 可被求得如下:

 

\[ \style{text-align:left;} { \begin{align*} \begin{bmatrix} S'_R \\ S'_G \\ S'_B \\ \end{bmatrix} = { \begin{bmatrix} X_R & X_G & X_B \\ Y_R & Y_G & Y_B \\ Z_R & Z_G & Z_B \\ \end{bmatrix} }^{-1} \begin{bmatrix} X_W/Y_W \\ 1 \\ X_W/Y_W \\ \end{bmatrix} \label{14}\tag{14} \end{align*} } \]

 

意即,量測到 RGBW 的三次激時,透過式 (\(\ref{13}\)) 和式 (\(\ref{14}\)) 即可算出色彩轉換矩陣。

 

沒有留言:

張貼留言

熱門文章