Home > Gestione digitale del colore > Argomenti avanzati > La tecnologia PCM

Anatomia di un CSA

Ecco un esempio di CSA:

    [/CIEBasedABC <<
    /DecodeLMN [{dup 0.03928 le {12.92 div}
    {0.055 add 1.055 div 2.4 exp} ifelse} bind dup dup]
    MatrixLMN [0.4124 0.2126 0.0193 0.3576 0.7152 0.1192 0.1805 0.0722 0.9505]
    WhitePoint [0.9505 1.0000 1.0890]
    >>] setcolorspace

Questo CSA definisce uno spazio RGB con le seguenti caratteristiche:

  • le coordinate del punto bianco sono descritte nel vettore WhitePoint (X=0.9505, Y=1, Z=1.0890, cioè x=0.3127, y=0.3290, cioè D65)
  • le coordinate XYZ dei primari sono descritte nella matrice MatrixLMN (si tratta dei primari HDTV, CCIR709)
  • opto-electronic transfer function DecodeLMN (secondo il manuale PostScript)

Date le coordinate RGB di un colore in questo spazio, le coordinate XYZ si trovano con una trasformazione matematica (descritta nel manuale PostScript Level 2 a pag. 190).

Esempi di CSA

Il primo elemento dell'array è la famiglia a cui seguono i parametri.

CIE 1931 XYZ con D65 (manuale PostScript)

[/CIEBasedABC
<< /RangeABC [0.0 0.9505 0.0 1.0 0.0 1.0890]
/RangeLMN [0.0 0.9505 0.0 1.0 0.0 1.0890]
/WhitePoint [0.9505 1.0 1.0890]
>>] setcolorspace

RGB (manuale PostScript)

[/CIEBasedABC
<< /DecodeLMN
[ { 1 0.45 div exp} bind dup dup]
/MatrixLMN [ 0.4124 0.2126 0.0193
0.3576 0.7152 0.1192
0.1805 0.0722 0.9505]
/WhitePoint [0.9505 1.0 1.0890]
>>] setcolorspace

sRGB (definizione ufficiale)

[/CIEBasedABC <<
% sRGB gamma transform
/DecodeLMN [
{dup 0.03928 le {12.92321 div}{0.055 add 1.055 div 2.4 exp}ifelse}
bind dup dup ]

% sRGB to XYZ (D65) matrix (ITU-R BT.709-2 Primaries)
/MatrixLMN [
0.412457 0.212673 0.019334
0.357576 0.715152 0.119192
0.180437 0.072175 0.950301 ]
/WhitePoint [ 0.9505 1 1.0890 ] % D65
/BlackPoint[0 0 0]
>> ] setcolorspace

DecodeLMN definisce il gamma 2.2. MatrixLMN sono le coordinate XYZ dei primari (standard ITU-R BT.709-2). WhitePoint è l'illuminante bianco D65 in coordinate XYZ.

Lab con D65

[ /CIEBasedABC
<< /RangeABC [0 100 -128 127 -128 127]
/DecodeABC
[ { 16 add 116 div} bind
{ 500 div} bind
{ 200 div} bind
]
/MatrixABC [ 1 1 1
1 0 0
0 0 -1]
/DecodeLMN
[ { dup 6 29 div ge
{ dup dup mul mul}
{ 4 29 div sub 108 841 div mul}
ifelse
0.9505 mul
} bind
{ dup 6 29 div ge
{ dup dup mul mul}
{ 4 29 div sub 108 841 div mul}
ifelse
} bind
{ dup 6 29 div ge
{ dup dup mul mul}
{ 4 29 div sub 108 841 div mul}
ifelse
1.0890 mul
} bind
]
/WhitePoint [ 0.9505 1.0 1.0890 ]
>>]

Y di XYZ con D65  

[/CIEBasedA
<< /MatrixA [0.9505 1.0 1.0890]
/RangeLMN [0.0 0.9505 0.0 1.0 0.0 1.0890]
/WhitePoint [0.9505 1.0 1.0890]
>>]

Un grigio con D65

[/CIEBasedA
<< /DecodeA {1 0.45 div exp} bind
/MatrixA [0.9505 1.0 1.0890]
/RangeLMN [0.0 0.9505 0.0 1.0 0.0 1.0890]
/WhitePoint [0.9505 1.0 1.0890]
>>]

L di Lab con D65

[ /CIEBasedA
<< /RangeA [0 100]
/DecodeA
{ 16 add 116 div dup 6 29 div ge
{ dup dup mul mul}
{ 4 29 div sub 108 841 div mul}
ifelse
} bind
/MatrixA [0.9505 1.0 1.0890]
/RangeLMN [0.0 0.9505 0.0 1.0 0.0 1.0890]
/WhitePoint [0.9505 1.0 1.0890]
>>]

RGB calibrato

[/CalRGB
<<
/WhitePoint [0.9643 1 0.8251]
/Gamma [1 1 1]
/Matrix [0.5243 0.2852 0.0294 0.3084 0.6553 0.1377 0.1316 0.0594 0.6581]
>> ]

RGB calibrato

[/CIEBasedABC 3 dict begin
/DecodeLMN [{1.8 exp} bind dup dup] def
/MatrixLMN [
0.4497 0.2446 0.0252
0.3163 0.672 0.1412
0.1845 0.0833 0.9227
] def
/WhitePoint [0.9505 1 1.0891] def
currentdict end]

CMYK calibrato

[/CIEBasedDEFG
<< /DecodeLMN [{ 1 0.45 div exp} bind dup dup]
/MatrixLMN [0.4124 0.2126 0.0193
0.3576 0.7152 0.1192
0.1805 0.0722 0.9505]
/WhitePoint [0.9505 1.0 1.0890]
/Table [15 30 25 20
[[< … String containing 3 x 25 x 20 bytes … >
< … String containing 3 x 25 x 20 bytes … >
… 28 additional strings omitted …
]
… 14 additional arrays omitted …
]
]
>>]

Come creare ed esaminare un CSA

Un CSA (RGB o CMYK) si può creare ed estrarre facilmente da un file Photoshop EPS, seguendo questo metodo:

  • aprire Photoshop e nelle impostazioni di colore RGB o CMYK impostare lo spazio (RGB o CMYK) di cui si vuole il CSA;
  • creare un nuovo documento RGB o CMYK, per semplicità 1 pixel per 1 pixel;
  • salvare una copia in Photoshop EPS escludendo i dati che non appartengono all'immagine con PostScript Color Management attivato (per incorporare il CSA);
  • aprire l'EPS con un word processor ed estrarre il CSA.

Il CSA DeviceRGB (cioè del monitor) si può creare così con Photoshop:

  • creare una immagine RGB o CMYK, 1 pixel per 1 pixel;
  • File > Print;
  • nel menu Space: selezionare il profilo ICC del device RGB;
  • attivare PostScript Color Management (il profilo ICC viene convertito in CSA);
  • salvare il file;
  • aprire il file PostScript con un word processor e estrarre il CSA.

Home | Commenti a Mauro Boscarol | Ultimo aggiornamento 12 aprile 2003