{"id":1807,"date":"2008-09-04T18:41:34","date_gmt":"2008-09-04T16:41:34","guid":{"rendered":"http:\/\/www.boscarol.com\/blog\/?p=1807"},"modified":"2016-05-29T04:02:21","modified_gmt":"2016-05-29T02:02:21","slug":"anatomia-di-un-profilo-icc-v2-a-matrice","status":"publish","type":"post","link":"http:\/\/www.boscarol.com\/blog\/?p=1807","title":{"rendered":"Profilo a matrice: \u00e8 una formula (solo per gli intenti colorimetrici)"},"content":{"rendered":"<p>Le specifiche ICC prevedono, per tutte le periferiche, che le trasformazioni siano implementate con tabelle, ma c\u2019\u00e8 una eccezione.<\/p>\n<p>Un profilo RGB di classe <em>input <\/em>(scanner, fotocamera) o <em>display <\/em>(monitor), invece di tabelle che convertono da periferica a PCS (e, per display, anche viceversa), <em>pu\u00f2 <\/em>contenere i dati per un algoritmo (cio\u00e8 un metodo di calcolo) che calcola la tabella. In tal caso il PCS utilizzato deve obbligatoriamente essere XYZ ed il profilo \u00e8 detto <em>a matrice<\/em> perch\u00e9 l\u2019algoritmo di calcolo si basa su una matrice di numeri.<\/p>\n<p>Rispetto ai profili a tabella, quelli a matrice sono di dimensione minore e consentono una elaborazione pi\u00f9 veloce, ma sono anche meno flessibili nel descrivere la trasformazione.<\/p>\n<p><strong><br \/>\nTag obbligatori<\/strong><\/p>\n<p>I tag obbligatori di un profilo di periferica a matrice (oltre ai tag obbligatori per tutti i profili) sono:<\/p>\n<p><strong>rXYZ, gXYZ, bXYZ <\/strong><\/p>\n<p>I valori XYZ dei tre primari R, G e B: si tratta di una matrice (nel senso dell&#8217;algebra lineare) di trasformazione 3 x 3, che converte i valori RGB (normalizzati da 0 a 1) nelle rispettive coordinate colorimetriche XYZ.<\/p>\n<p>Se il bianco della periferica dichiarato \u00e8 D50, tali valori sono esattamente le coordinate colorimetriche dei primari. In caso contrario le coordinate colorimetriche devono essere state adattate cromaticamente per tener conto della diversit\u00e0 dei bianchi. Questo perch\u00e9 le specifiche ICC richiedono colorimetria relativa, cio\u00e8 la matrice deve portare il bianco di periferica sul bianco del PCS, che \u00e8 D50.<\/p>\n<p>Per esempio questi i tag rXYZ, gXYZ e bXYZ e i valori colorimetrici dei primari nel profilo Adobe RGB (che formano le colonne della matrice di trasormazione):<\/p>\n<p><img loading=\"lazy\" style=\"border: 0px none;\" title=\"Primari di Adobe RGB\" src=\"https:\/\/i0.wp.com\/www.boscarol.com\/blog\/wp-content\/uploads\/2008\/09\/argb2.jpg?resize=498%2C589\" alt=\"\" width=\"498\" height=\"589\" data-recalc-dims=\"1\" \/><\/p>\n<p>Non si tratta per\u00f2 dei primari originali (che sono riferiti ad un osservatore adattato all&#8217;illuminante D65) ma dei primari riferiti ad un osservatore adattato all&#8217;illuminante D50, come prescrivono le specifiche ICC. Il costruttore del profilo ha dunque convertito i dati originali (con osservatore adattato a D65) in dati riferiti ad un osservatore adattato a D50, mediante una CAT (<em>chromatic adaptation transform<\/em>) e ha registrato questi dati nel profilo.<\/p>\n<p>Se in una conversione di colore viene richiesto un intento colorimetrico assoluto, il CMM tenta di ricostruire al volo i valori originali usando i valori colorimetrici del bianco registrato nel profilo per deadattare la colorimetria relativa.<\/p>\n<p>Tuttavia le specifiche v2 non prevedono la registrazione nel profilo della CAT utilizzata per l\u2019adattamento, e dunque il CMM deve arbitrariamente fare una scelta, che pu\u00f2 non essere corretta. In definitiva l\u2019architettura versione 2\u00a0<span style=\"text-decoration: underline;\">non pu\u00f2 garantire<\/span> una corretta colorimetria assoluta.<\/p>\n<p><span><strong>rTRC, gTRC, bTRC <\/strong><\/span><\/p>\n<p>TRC significa <em>tone reproduction curve<\/em>, curva di riproduzione tonale, di ognuno dei tre canali RGB della periferica.<\/p>\n<p>Ogni curva di riproduzione tonale mette in relazione i numeri (R, G o B) con il fattore di luminanza Y.\u00a0Ogni curva \u00e8 definita nell\u2019intervallo da 0 a 1 (in cui vanno normalizzati i valori R, G e B) in uno di tre possibili modi:<\/p>\n<ul>\n<li>con nessun valore: in tal caso si intende che la curva \u00e8 lineare (cio\u00e8 Y = R);<\/li>\n<li>con un solo valore; in tal caso il TRC si chiama <em>gamma<\/em> e la curva \u00e8 Y = R<sup>\u03b3<\/sup> (cio\u00e8 Y = R elevato alla potenza gamma);<\/li>\n<li>con una tabella di valori R (compresi tra 0 e 1) e relativi valori Y (compresi tra 0 e 1).<\/li>\n<\/ul>\n<p>Per esempio, nel profilo Adobe RGB (qui sotto) i tre tag sono uguali, e riportano la stessa curva indicata con il valore \u03b3 = 2.199. Anche nel profilo sRGB sono uguali, ma costruiti con 1024 punti (infatti il TRC di sRGB non \u00e8 descrivibile con un valore gamma).<\/p>\n<p><img loading=\"lazy\" style=\"border: 0px none;\" title=\"TRC di Adobe RGB\" src=\"https:\/\/i1.wp.com\/www.boscarol.com\/blog\/wp-content\/uploads\/2008\/09\/argb.jpg?resize=498%2C589\" alt=\"\" width=\"498\" height=\"589\" data-recalc-dims=\"1\" \/><\/p>\n<p><strong><br \/>\n\u00c8 un profilo a matrice o a tabella?<\/strong><\/p>\n<p>Come si fa a decidere se un profilo \u00e8 a matrice o a tabella?<\/p>\n<p>Il profilo di uno scanner (classe <em>scnr<\/em>) e quello di un monitor (classe <em>mntr<\/em>) possono essere a matrice o a tabella. Il profilo di una periferica di stampa (classe <em>prtr<\/em>) \u00e8 sempre a tabella.<\/p>\n<p>I tag delle\u00a0<span style=\"text-decoration: underline;\">tabelle<\/span>, se ci sono, sono indicati con le sigle A2B e B2A, seguite da una cifra (0, 1, 2) che indica l&#8217;intento. I tag A2B puntano alle tabelle che convertono da spazio di periferica a spazio assoluto (per esempio da CMYK a Lab) nei tre intenti. I tag B2A puntano alle tabelle che trasformano in maniera inversa (da assoluto a periferica) nei tre intenti.<\/p>\n<p>Se non ci sono tag A2B o B2A, si tratta di un profilo a\u00a0<span style=\"text-decoration: underline;\">matrice<\/span>. In tal caso i tag rXYZ, gXYZ e bXYZ puntano ai dati che formano le colonne della matrice.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le specifiche ICC prevedono, per tutte le periferiche, che le trasformazioni siano implementate con tabelle, ma c\u2019\u00e8 una eccezione. Un profilo RGB di classe input (scanner, fotocamera) o display (monitor), invece di tabelle che convertono da periferica a PCS (e, per display, anche viceversa), pu\u00f2 contenere i dati per un algoritmo (cio\u00e8 un metodo di [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[382,22],"tags":[1566,78,80,91,163,125],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pjoVH-t9","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1807"}],"collection":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1807"}],"version-history":[{"count":14,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1807\/revisions"}],"predecessor-version":[{"id":26084,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1807\/revisions\/26084"}],"wp:attachment":[{"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1807"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1807"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.boscarol.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}