(%i1) | fpprec: 16 $ |
(%i2) | fpprintprec: 7 $ |
According To SDTV BT.601 :
(%i5) |
Kb: 0.114 $ Kr: 0.299 $ Kg: 0.587 $ |
According To HDTV BT.709 :
--> |
/* Kb: 0.0722 $ Kr: 0.2126 $ Kg: 1 - Kb - Kr */; |
According to Android Y'UV420sp (NV21) :
(%i7) |
Umax: 0.5114155 $ Vmax: 0.5114155 $ |
Difference between Y'UV and Y'CbCr !
--> |
/* Umax: 1/2 $ Vmax: 1/2 */$ |
Multipliers for Pb and Pr :
(%i8) | cPb: Umax / ( 1 - Kb ) ; |
(%i9) | cPr: Vmax / ( 1 - Kr ) ; |
( Y' );
U ~ ( B - Y' );
V ~ ( R - Y' );
(%i10) |
Encode: matrix([ Kr, Kg, Kb ], [ cPb*(-Kr), cPb*(-Kg), cPb*(1-Kb) ], [ cPr*(1-Kr), cPr*(-Kg), cPr*(-Kb) ]); |
(%i11) |
Decode: 10^-8 * (float(round( 10^8 * invert(Encode) ))); |
Y'PbPr For full Red
(%i12) | Encode . [ 1, 0, 0 ]; |
Y'PbPr For full Green
(%i13) | Encode . [ 0, 1, 0 ]; |
Y'PbPr For full Blue
(%i14) | Encode . [ 0, 0, 1 ]; |