RGB⇔YCbCr換算と色見本

やっつけ仕事です。±1の丸め誤差はあると思います。また値の範囲判定や飽和処理はしてません。また、IEは9未満では動作しないみたいです。

RGB -> YCbCr (BT.601 SDTV)

【計算式】
Y  =  0.257R + 0.504G + 0.098B + 16
Cb = -0.148R - 0.291G + 0.439B + 128
Cr =  0.439R - 0.368G - 0.071B + 128

R = G = B =

Y = 235  Cb = 128  Cr = 128

※canvasタグをサポートしたブラウザが必要です。

YCbCr -> RGB (BT.601 SDTV)

【計算式】
R = 1.164(Y-16)                 + 1.596(Cr-128)
G = 1.164(Y-16) - 0.391(Cb-128) - 0.813(Cr-128)
B = 1.164(Y-16) + 2.018(Cb-128)

Y = Cb = Cr =

R = 255  G = 255  B = 255

※canvasタグをサポートしたブラウザが必要です。

RGB -> YPbPr (BT.709 HDTV)

【計算式】
Y  =  0.183R + 0.614G + 0.062B + 16
Pb = -0.101R - 0.339G + 0.439B + 128
Pr =  0.439R - 0.399G - 0.040B + 128

R = G = B =

Y = 235  Pb = 128  Pr = 128

※canvasタグをサポートしたブラウザが必要です。

YPbPr -> RGB (BT.709 HDTV)

【計算式】
R = 1.164(Y-16)                 + 1.793(Cr-128)
G = 1.164(Y-16) - 0.213(Cb-128) - 0.533(Cr-128)
B = 1.164(Y-16) + 2.112(Cb-128)

Y = Pb = Pr =

R = 255  G = 255  B = 255

※canvasタグをサポートしたブラウザが必要です。