douglasg@hpgrla.gr.hp.com (Douglas Gennetten) (04/19/91)
While there are many monitor vendors, there are relatively few CRT manufact- urers. I am looking for a source of information where I can find a list of these CRT makers and the chromaticities of there phosphors. I would like to generate a 3x3 matrix and tonemap to convert from any colorimetric RGB to any of the common CRTs. Also, anther desirable list which I'm sure is less likely to be found is one showing who uses which CRTs in there monitors. Thanks, Douglas Gennetten Hewlett Packard Greeley Hardcopy Div.
hue@island.COM (Jon "Beer - It's not just for breakfast anymore" Hue) (04/26/91)
In article <330015@hpgrla.gr.hp.com> douglasg@hpgrla.gr.hp.com (Douglas Gennetten) writes: >While there are many monitor vendors, there are relatively few CRT manufact- >urers. I am looking for a source of information where I can find a list >of these CRT makers and the chromaticities of there phosphors. I would like >to generate a 3x3 matrix and tonemap to convert from any colorimetric RGB to >any of the common CRTs. Also, anther desirable list which I'm sure is less >likely to be found is one showing who uses which CRTs in there monitors. Well, if no one else is going to bite... This list is from a person at Sun Microsystems. At the end is a little program for calculating the matrix coefficients for RGB<->XYZ. If anyone has any additions to this list, please send them to me. -Jonathan hue@island.COM =============================================================================== Following the text-form data is the same data in tab-delimited form, if the mailers don't mangle it then you might be able to import it into a spreadsheet. ----- IllA 0.447570 0.407450 0.144980 IllB 0.348420 0.351610 0.299970 IllC 0.310060 0.316160 0.373780 IllD 0.312700 0.329100 0.358200 IllE 0.333333 0.333333 0.333333 ChroCIE 0.735 0.265 0.000 0.274 0.717 0.009 0.167 0.009 0.825 ChroFCC 0.670 0.330 0.000 0.210 0.710 0.080 0.140 0.080 0.780 ChroEBU 0.640 0.330 0.030 0.290 0.600 0.110 0.150 0.060 0.790 ChroSMPTE 0.630 0.340 0.030 0.310 0.595 0.095 0.155 0.070 0.775 ChroXA11 0.640 0.330 0.030 0.300 0.600 0.100 0.150 0.060 0.790 IllE XYZfrRGB ChroCIE 0.489989 0.310008 0.200003 0.176962 0.812400 0.010638 0.000000 0.009999 0.990001 inv IllE XYZfrRGB ChroCIE 2.364666 -0.896583 -0.468083 -0.515155 1.426409 0.088746 0.005203 -0.014407 1.009204 IllC XYZfrRGB ChroFCC 0.606864 0.173507 0.200335 0.298903 0.586620 0.114477 0.000000 0.066098 1.116151 inv IllC XYZfrRGB ChroFCC 1.910081 -0.532478 -0.288222 -0.984631 1.999100 -0.028307 0.058309 -0.118386 0.897612 IllD XYZfrRGB ChroFCC 0.587876 0.179185 0.183106 0.289551 0.605817 0.104632 0.000000 0.068261 1.020162 inv IllD XYZfrRGB ChroFCC 1.971776 -0.549677 -0.297531 -0.953430 1.935752 -0.027410 0.063796 -0.129525 0.982071 IllD XYZfrRGB ChroEBU 0.430303 0.341636 0.178228 0.221875 0.706834 0.071291 0.020170 0.129586 0.938666 inv IllD XYZfrRGB ChroEBU 3.065147 -1.394203 -0.476101 -0.968998 1.875492 0.041545 0.067908 -0.228959 1.069837 IllD XYZfrRGB ChroSMPTE 0.393258 0.365363 0.191546 0.212235 0.701261 0.086505 0.018727 0.111966 0.957730 inv IllD XYZfrRGB ChroSMPTE 3.508344 -1.740952 -0.544422 -1.068741 1.977213 0.035161 0.056345 -0.197110 1.050670 IllD XYZfrRGB ChroXA11 0.412135 0.357675 0.180357 0.212507 0.715350 0.072143 0.019319 0.119225 0.949879 inv IllD XYZfrRGB ChroXA11 3.242979 -1.538336 -0.498920 -0.968998 1.875492 0.041545 0.055668 -0.204117 1.057698 ----- FCC 1953 x y R: 0.670 0.340 G: 0.210 0.710 B: 0.140 0.080 Wh: 0.3100 0.3160 Luma: Y' = 0.2990 R' + 0.5870 G' + 0.1140 B' Transfer: light = volts^2.2 SMPTE RP145 x y +-tol R: 0.630 0.340 0.005 G: 0.310 0.595 0.005 B: 0.155 0.070 0.005 Wh: 0.3127 0.3291 Luma: Y' = 0.2120 R' + 0.7010 G' + 0.0870 B' Transfer: light = [(volts+0.1115)/(1.+0.1115)]^(1/0.45) Low light: light = volts/4.0 Note: luminance coefficients used in practice do not match white point. EBU x y R: 0.640 0.330 G: 0.290 0.600 B: 0.150 0.060 Wh: 0.3127 0.3291 Luma: Y' = 0.2990 R' + 0.5870 G' + 0.1140 B' Transfer: light = volts^2.8 Note: luminance coefficients used in practice do not match white point. CCIR XA/11 1990 x y R: 0.640 0.330 G: 0.300 0.600 B: 0.150 0.060 Wh: 0.3127 0.3290 Luma: Y' = 0.2125 R' + 0.7154 G' + 0.0721 B' Transfer: light = [(volts+0.0990)/(1.+0.0990)]^(1/0.45) Low light: light = volts/4.5 P22 e.g. Hit/Seiko x y +-tol persist R: 0.610 0.342 0.016 1200 G: 0.298 0.588 0.016 300 B: 0.151 0.064 0.016 250 Wh: 0.3130 0.3290 Sony x y +-tol persist R: 0.625 0.340 0.030 1000 G: 0.280 0.595 0.030 40 B: 0.155 0.070 0.016 30 Wh: 0.2830 0.2980 0.030 Sony DDM-2800C x y +-tol persist R: 0.625 0.340 0.030 1000 G: 0.280 0.595 0.030 40 B: 0.155 0.070 0.200 30 Wh: 0.2710 0.2860 0.030 Mitsubishi x y R: 0.618 0.350 G: 0.280 0.605 B: 0.152 0.063 Wh: 0.2830 0.2980 Zenith FTM x y persist R: 0.616 0.336 470 G: 0.324 0.580 41 B: 0.146 0.066 40 Wh: 0.3130 0.3290 JVC x y R: 0.618 0.350 G: 0.280 0.605 B: 0.152 0.063 Wh: 0.3127 0.3290 Specification Rx Ry Gx Gy Bx By Wx Wy Rtol Gtol Btol Wtol Tslope Ttoe Tnum Tden Yr Yg Yb Rpers Gpers Bpers note FCC 1953 0.670 0.340 0.210 0.710 0.140 0.080 0.3100 0.3160 2.2 0.2990 0.5870 0.1140 SMPTE RP145 0.630 0.340 0.310 0.595 0.155 0.070 0.3127 0.3291 0.005 0.005 0.005 4.0 0.1115 0.45 0.2120 0.7010 0.0870 luminance coefficients used in practice do not match white point. EBU 0.640 0.330 0.290 0.600 0.150 0.060 0.3127 0.3291 2.8 0.2990 0.5870 0.1140 luminance coefficients used in practice do not match white point. CCIR XA/11 1990 0.640 0.330 0.300 0.600 0.150 0.060 0.3127 0.3290 4.5 0.0990 0.45 0.2125 0.7154 0.0721 P22 e.g. Hit/Seiko 0.610 0.342 0.298 0.588 0.151 0.064 0.3130 0.3290 0.016 0.016 0.016 1200 300 250 Sony 0.625 0.340 0.280 0.595 0.155 0.070 0.2830 0.2980 0.030 0.030 0.016 0.030 1000 40 30 Sony DDM-2800C 0.625 0.340 0.280 0.595 0.155 0.070 0.2710 0.2860 0.030 0.030 0.200 0.030 1000 40 30 Mitsubishi 0.618 0.350 0.280 0.605 0.152 0.063 0.2830 0.2980 Zenith FTM 0.616 0.336 0.324 0.580 0.146 0.066 0.3130 0.3290 470 41 40 JVC 0.618 0.350 0.280 0.605 0.152 0.063 0.3127 0.3290 ----- /* * Program for calculating XYZ<->RGB matrix coefficients */ #include <stdio.h> main() { char s[80]; double yr, yg, yb, yw; double xr, xg, xb, xw; double D; double Cr, Cg, Cb; double c11, c12, c13, c21, c22, c23, c31, c32, c33; fputs("Enter red x and y: ", stdout); fflush(stdout); gets(s); sscanf(s, "%lf %lf", &xr, &yr); fputs("Enter green x and y: ", stdout); fflush(stdout); gets(s); sscanf(s, "%lf %lf", &xg, &yg); fputs("Enter blue x and y: ", stdout); fflush(stdout); gets(s); sscanf(s, "%lf %lf", &xb, &yb); fputs("Enter white x and y: ", stdout); fflush(stdout); gets(s); sscanf(s, "%lf %lf", &xw, &yw); D = (xr*(yg-yb)) + (xg*(yb-yr)) + (xb*(yr-yg)); fprintf(stderr, "D = %lf\n", D); Cr = (1.0/yw) * ((xw*(yg-yb)) + (xg*yb) - ((yw*(xg-xb)) + (xb*yg))) / D; Cg = (1.0/yw) * ((xw*(yb-yr)) + (xb*yr) - ((yw*(xb-xr)) + (xr*yb))) / D; Cb = (1.0/yw) * ((xw*(yr-yg)) + (xr*yg) - ((yw*(xr-xg)) + (xg*yr))) / D; putchar('\n'); printf("X = %10.8fR + %10.8fG + %10.8fB\n", Cr*xr, Cg*xg, Cb*xb); printf("Y = %10.8fR + %10.8fG + %10.8fB\n", Cr*yr, Cg*yg, Cb*yb); printf("Z = %10.8fR + %10.8fG + %10.8fB\n", Cr*(1-(xr+yr)), Cg*(1-(xg+yg)), Cb*(1-(xb+yb))); c11 = (((yg-yb) - (xb*yg)) + (yb*xg)) / (Cr*D); c12 = (((xb-xg) - (xb*yg)) + (yb*xg)) / (Cr*D); c13 = ((xg*yb) - (xb*yg)) / (Cr*D); c21 = (((yb-yr) - (yb*xr)) + (yr*xb)) / (Cg*D); c22 = (((xr-xb) - (yb*xr)) + (yr*xb)) / (Cg*D); c23 = ((xb*yr) - (xr*yb)) / (Cg*D); c31 = (((yr-yg) - (yr*xg)) + (yg*xr)) / (Cb*D); c32 = (((xg-xr) - (yr*xg)) + (yg*xr)) / (Cb*D); c33 = ((xr*yg) - (xg*yr)) / (Cb*D); putchar('\n'); printf("R = %10.8fX + %10.8fY + %10.8fZ\n", c11, c12, c13); printf("G = %10.8fX + %10.8fY + %10.8fZ\n", c21, c22, c23); printf("B = %10.8fX + %10.8fY + %10.8fZ\n", c31, c32, c33); }