Home > Gestione digitale del colore > Argomenti avanzati > La tecnologia PCM
Anatomia di un CRD

Il CRD ufficiale di sRGB (dal sito ufficiale di sRGB) è il seguente:

    <<
    % sRGB output CRD, D65 white point
    /ColorRenderingType 1
    /RangePQR [ -0.5 2 -0.5 2 -0.5 2 ]

    % Bradford Cone Space
    /MatrixPQR [0.8951 -0.7502 0.0389
    0.2664 1.7135 -0.0685
    -0.1614 0.0367 1.0296]

    % VonKries-like transform in Bradford Cone Space
    /TransformPQR
    [{exch pop exch 3 get mul exch pop exch 3 get div} bind
    {exch pop exch 4 get mul exch pop exch 4 get div} bind
    {exch pop exch 5 get mul exch pop exch 5 get div} bind]

    /MatrixLMN [3.240449 -0.969265 0.055643
    -1.537136 1.876011 -0.204026
    -0.498531 0.041556 1.057229]

    % Inverse sRGB gamma transform
    /EncodeABC [{dup 0.00304 le {12.92321 mul}
    {1 2.4 div exp 1.055 mul 0.055 sub}ifelse}
    bind dup dup]

    /WhitePoint[0.9505 1 1.0890] % D65
    /BlackPoint [0 0 0]
    >> setcolorrendering

ColorRenderingType è un codice che identifica il tipo di color rendering che il CRD descrive. Deve essere 1 se il tipo è standard.

MatrixPQR e TransformPQR contengono i dati per trasformare i valori XYZ in modo da tener conto del punto bianco e del punto nero, secondo l'intento di rendering richiesto. Se il bianco e il nero di origine sono uguali a quelli di destinazione questi due insieme di dati sono ignorati.

MatrixLMN contiene i dati per una conversione intermedia da XYZ a LMN. EncodeLMN è il secondo passo della conversione.

EncodeABC contiene i dati per una conversione intermedia da ABC a XYZ.

WhitePoint e BlackPoint sono il punto bianco (necessario) e nero (se non c'è viene assunto per default il valore 0 0 0) della periferica.

Esempi di CRD

    <<
    %Epson 1200 CRD for PowerRip 2000
    /ColorRenderingType 1
    /RangePQR [0.0 1.4 0.0 1.4 0.0 1.4]

    /WhitePoint [ 0.9642 1.0000 0.8249 ] def

    /TransformPQR [ {4 index 0 get div 2 index 0 get mul 4 {exch pop} repeat} bind
    {4 index 1 get div 2 index 1 get mul 4 {exch pop} repeat} bind
    {4 index 2 get div 2 index 2 get mul 4 {exch pop} repeat} bind ]

    /EncodeLMN [ { 0.9642 div dup 0.008856 le {7.787 mul 0.13793 add}{1 3 div exp} ifelse } bind
    { 1.0000 div dup 0.008856 le {7.787 mul 0.13793 add}{1 3 div exp} ifelse } bind
    { 0.8249 div dup 0.008856 le {7.787 mul 0.13793 add}{1 3 div exp} ifelse } bind]

    /RangeLMN [ -0.13792 2.0000 -0.13792 2.0000 -0.13792 2.0000 ]

    /MatrixABC [ 0 1 0 1 -1 1 0 0 -1 ]
    /EncodeABC [ ... ]

    /RenderTable [ ... ] >>


    %E1200EGFEPNLHQSTPRC
    /DefaultColorRendering <<
    /ColorRenderingType 1
    /EncodeLMN [
    {1.8 gamma} bind dup dup
    ]
    /MatrixLMN [
    2.9518 -1.0850 0.0854
    -1.2898 1.9910 -0.2695
    -0.4738 0.0372 1.0910
    ]
    /WhitePoint [0.9505 1 1.0891]
    /RangePQR [0 0.9505 0 1 0 1.0891]
    /TransformPQR [
    {0 compandadjust} {1 compandadjust} {2 compandadjust}
    ]
    >>

Come creare un CRD

Il CRD RGB o CMYK può essere creato così da Photoshop 5:

  • creare una immagine RGB o CMYK (per semplicità 1 pixel x 1 pixel);
  • scegliere il comando di stampa File > Print;
  • in Color Matching, selezionare PostScript Color Management:
  • selezionare il profilo ICC che si vuole convertire in CRD;
  • selezionare l'intento di rendering che si desidera;
  • salvare come file PostScript;
  • aprire il file PostScript con un word processor e estrarre il CRD.

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