Rec. 709
原色色度点
table:AP1 Color Primaries
CIE x CIE y
Red 0.64 0.33
Green 0.30 0.60
Blue 0.15 0.06
White point 0.3127 0.3290
Rec. 2020では$ \alphaと$ \betaという変数を用いてより高精度な伝達関数を実現する $ \alpha = 1.099, $ \beta = 0.018とおけばRec.709とおなじ
$ V = \left\{ \begin{array}{ll} 4.500L & L < 0.018 \\ 1.099L^{0.45} - 0.099 & L \geq 0.018 \end{array} \right.
$ L = \left\{ \begin{array}{ll} \frac{V}{4.5} & V < 0.081 \\ \left( \frac{V + 0.099}{1.099} \right)^{\frac{1}{0.45}} & V \geq 0.081 \end{array} \right.
Cbが青・Crが赤を表す
Cb・Crの値域は [-0.5, 0.5] となる
変換
code:latex
\begin{bmatrix} Y' \\ Cb \\ Cr \end{bmatrix} = \begin{bmatrix} 0.2126 & 0.7152 & 0.0722 \\ -0.114572 & -0.385428 & 0.5 \\ 0.5 & -0.454153 & -0.045847 \end{bmatrix} \begin{bmatrix} R' \\ G' \\ B' \end{bmatrix}
code:latex
\begin{bmatrix} R' \\ G' \\ B' \end{bmatrix} = \begin{bmatrix} 1.0 & 0.0 & 1.5748 \\ 1.0 & -0.187324 & -0.468124 \\ 1.0 & 1.8556 & 0.0 \end{bmatrix} \begin{bmatrix} Y' \\ Cb \\ Cr \end{bmatrix}
GLSL
code:glsl
const mat3 RGB2YCBCR = mat3(
0.2126, -0.114572, 0.5,
0.7152, -0.385428, -0.454153,
0.0722, 0.5, -0.045847
);
const mat3 YCBCR2RGB = mat3(
1.0, 1.0, 1.0,
0.0, -0.187324, 1.8556,
1.5748, -0.468124, 0.0
);