La maschera del canale fantasma

Non sono riuscito a scrivere molti articoli tecnici ultimamente e me ne scuso. Lo sciame di seminari e corsi della tarda primavera ha avuto un prezzo e soltanto in questi ultimi giorni sto riprendendo il controllo del mio tempo. Tra l’altro, circa un mese e mezzo fa, la mia valente socia Paola Ravagni ha subito una grave frattura a una gamba che l’ha costretta al blocco forzato: è a casa da allora e le mando pubblicamente i miei migliori auguri con questo post, anche se ci sentiamo praticamente ogni giorno. Questa e altre cose hanno seriamente ridotto il tempo a mia disposizione, ma cerco di rimediare con un articolo che spero troverete interessante.

Innanzitutto, un’avvertenza: vi prego di non considerare il contenuto di questo post come definitivo. È semmai un lavoro in evoluzione che riguarda una tecnica di sharpening che necessita di verifica: può funzionare o meno, ma credo che valga la pena provarla. C’è anche un’azione disponibile (il link è alla fine del post) e i commenti sono naturalmente benvenuti.

Per prima cosa vorrei svelare che la maschera menzionata nel titolo è la maschera di contrasto. La attribuisco a un canale fantasma perché quel canale non esiste di per sé e va costruito da zero – anche se credo che molti lettori lo conoscano già. Ma iniziamo dal principio.

C’era una volta, molto tempo fa…

Riavvolgo il nastro: febbraio 2011. io e alcuni amici ben noti eravamo in quel di Reggello, in Toscana, per frequentare la classe avanzata (AACT) con Dan Margulis. Alla fine dei tre giorni ero seduto in compagnia di Davide Barranca quando Dan buttò lì un’osservazione apparentemente casuale: “sapete come creare un canale del nero senza uscire da RGB?” No, non lo sapevamo e ci venne spiegato. Basta prendere un canale qualsiasi, duplicarlo e applicargli gli altri due in sequenza in metodo di fusione Scolora. Il risultato è la credibile imitazione di un canale del nero (K) relativamente pesante tratto da qualche spazio CMYK immaginario. Dan chiamava questo canale Ersatz Black, un’espressione che si potrebbe tradurre con nero posticcio. Lo abbrevierò EB da qui in poi.

Nastro in avanti: agosto 2011. Ero a metà del guado con quello che considero l’articolo più difficile che mi sia mai capitato di scrivere. Lo potete trovare nella sezione Help del pannello PPW sotto la dicitura H-K: Helmholtz-Kohlrausch, naturalmente. Lo scrissi su richiesta di Dan in modo che il pannello potesse venire presentato con la documentazione al completo a Photoshop World. Quando obiettai che non sapevo molto sull’effetto Helmholtz-Kohlrausch mi sentii rispondere che ero in buona compagnia, perché nessuno sa granché in materia. Ebbi abbastanza coraggio da rispondere che sì, ci avrei provato, e spiegai le vele verso l’ignoto.

Senza il canale EB descritto poco fa non ci sarebbe alcuna azione H-K nel pannello PPW. Come spesso accade, le ramificazioni di un’idea si estendono molto oltre le aspettative iniziali, e verso la fine dell’articolo finimmo per considerare il possibile uso del canale EB in diversi casi che avevano poco o nulla a che vedere con l’azione H-K. Fu allora che un’idea iniziò a formarsi lentamente.

La follia del CMY posticcio

Quando la correzione del colore dà il meglio di sé implica sempre una certa dose di masochismo, altrimenti non ci condanneremmo a correggere il colore su uno schermo impostato in scala di grigi, ogni tanto. Una delle idee che mi era rimasta dopo avere scoperto l’esistenza dell’EB era questa: “posso produrre un file CMYK partendo esclusivamente da RGB?” Questo per me era, naturalmente, un esercizio per verificare quanto profonda fosse la mia comprensione dei metodi di fusione. L’idea di base è questa: in una generica separazione CMYK i canali CMY sono fortemente correlati con i loro cugini RGB. In sostanza, con qualche limitazione, sono i canali RGB, ma appaiono più chiari nelle aree in cui entra in campo K, perché K altro non fa che sostituire una certa percentuale di C, M e Y. Quale percentuale esattamente, dipende da molti fattori come le impostazioni del GCR e la stima dell’ingrossamento del punto. In una conversione reale, tutti i calcoli necessari vengono eseguiti da Photoshop con algoritmi molto raffinati.

Se avete voglia di provarci, vi do qualche indizio. Partite con un’immagine RGB e generate il canale EB nel modo descritto poco fa. Create un nuovo documento CMYK le cui dimensioni siano identiche a quelle dell’immagine RGB. Utilizzando Applica immagine trasferite i canali RGB sui canali corrispondenti del documento CMYK: R su C, G su M, B su Y. Infine, applicate EB su K. L’immagine avrà un aspetto terribile, quindi datevi da fare con Applica immagine e Curve nel mostro CMYK che avete creato per ottenere una versione guardabile. L’idea è che dovreste applicare in maniera intelligente il canale EB sui canali C, M e Y posticci al fine di rastrellare via abbastanza inchiostro da far funzionare il GCR. Dopo avere fatto questo, dateci dentro di curve per simulare l’ingrossamento del punto.

Si può fare, ma non è una pratica per chi è all’inizio. È necessario capire come funziona l’ingrossamento del punto (ed è necessaria anche un bel po’ di fortuna, aggiungerei). La procedura varia da canale a canale a causa della debolezza intrinseca dell’inchiostro ciano. Ma un po’ di tempo e molte parole irripetibili dopo è possibile che compaia qualcosa che potrebbe passare per un documento CMYK credibile.

Lo ripeto: archiviate questa pratica alla voce “masochismo tecnico”. Non serve a nulla nel mondo reale. Proprio a nulla. FORSE.

Chi lavora in CMYK lo sa

Chi non ama la maschera di contrasto? Credo nessuno – anche se a volte causa mal di testa non trascurabili. Chiunque sia abituato a lavorare nei tre metodi colore principali, RGB, CMYK e Lab, ha una classifica piantata in testa che riguarda lo sharpening: “Meglio di tutto in CMYK, bene in Lab, più debole in RGB.” I motivi sono ben noti, ma è importante sottolineare che in molti casi CMYK vince su tutti gli altri spazi colore semplicemente perché ha il canale del nero. Il canale K ruba il contrasto ai canali CMY e quindi contiene dettaglio. Non sarebbe un buon punto di partenza per una versione in bianco e nero perché il suo contrasto è strano, ma quando si tratta di disegnare le parti interessanti del soggetto è difficile batterlo. Applicare la maschera di contrasto a K significa, 9 volte su 10, che l’aumento di contrasto cadrà esattamente dove serve. Fine della storia, senza ulteriore fatica.

L’approccio del buonsenso suggerisce che convertire un’immagine da RGB a CMYK soltanto allo scopo di usare la maschera di contrasto sul canale del nero non sia una buona mossa. Infatti non lo è: se già sapete che il vostro output finale sarà CMYK, non applicate la maschera di contrasto in RGB e spremete tutto quello che potete dal canale del nero alla fine del flusso di lavoro. In caso contrario, pensateci bene: il gamut può spesso risultare problematico, le alte luci potrebbero soffrirne, e via dicendo. Mentre è facile recuperare il colore, se serve, il dettaglio perduto è un’altra storia. Quindi, meglio stare attenti.

Però ci piacerebbe essere in grado di realizzare la maschera di contrasto in RGB così come in CMYK, vero? Mesi e mesi dopo i miei tentativi di costruire un CMYK posticcio partendo da RGB ho iniziato a pensare a un possibile modo di realizzare questa manovra.

A che distanza mi sono schiantato?

Ho fallito miseramente varie volte, perché pensavo troppo a CMYK e troppo poco a RGB. Sulla carta, la mia idea originale appariva percorribile: volevo costruire il canale EB e sottrarlo in qualche modo da ogni canale RGB. Poi applicargli la maschera di contrasto e sommarlo nuovamente ai canali RGB ottenuti. L’idea è che i canali originali dovrebbero apparire più nitidi: di fatto è ciò che succede, ma c’è un problema.

Questa tecnica si può applicare immediatamente se risolviamo un problema alla base: “Dato un canale X qualsiasi, trovare un modo di applicargli un canale Y in un dato metodo di fusione, e poi di nuovo Y in qualche altro metodo di fusione in maniera che il risultato finale sia identico al canale X originale.” Per metterla in maniera più semplice, si parte da un canale, si applica qualcosa, poi si applica (in modo diverso) nuovamente quel qualcosa in modo che il canale originale riappaia identico. Bisogna notare che i due canali coinvolti devono essere assolutamente generici. Questa operazione dovebbe essere un’identità, e dovrebbe funzionare sempre.

È più facile a dirsi che a farsi. Il risultato migliore che ho ottenuto passa per il metodo di fusione Luce soffusa. Se avete un canale X generico (destinazione) e un canale Y generico (sorgente), applicare una versione invertita di Y su X in Luce soffusa e poi Y al risultato ottenuto, sempre in Luce soffusa, vi porta quasi al successo. L’immagine non esplode, ma subisce un evidente sottile cambiamento di luminosità in certe aree. Inoltre, le ombre tendono a perdere profondità e dettaglio.

La sottrazione diretta e una successiva somma non funzionano, perché il clipping è in agguato sia nelle ombre che nelle luci. Comprimere la gamma tonale attorno ai mezzitoni per guadagnare spazio di manovra potrebbe essere un’opzione, ma credo che attaccare l’originale con una curva estrema per poi recuperare il contrasto alla fine verrebbe visto con sospetto perfino in 16 bit, quindi ho abbandonato questa ipotesi. A margine, la mia sensazione è che la procedura sia impedita dal fatto che siamo forzati a lavorare all’interno di un insieme finito di valori tonali. Se avessimo uno spazio di manovra infinito il calcolo sarebbe semplicissimo – ma non lo abbiamo. Inoltre, il fisico che vive dentro di me in questo caso ha iniziato ad agitarsi e sibilare “entropia sistemica” nel mio orecchio. Non sono al 100% sicuro che quello sia il problema, ma mi piacerebbe studiarlo prima o poi.

Tuttavia, a parte pochi punti di luminosità, i risultati ottenuti con Luce soffusa erano promettenti. L’idea naturalmente era quella di applicare il canale EB originale in prima battuta, e una sua versione con la maschera di contrasto in seconda: “sottrarre” (in senso molto vago) EB per “aggiungere” poi EB contrastato. Ma no, la fortuna non era dalla mia.

Ciò che ha fatto la Differenza

Alla fine ho trovato un modo per girare attorno al problema. Come spesso accade, la soluzione è molto più elegante dell’idea originale.

Sappiamo che si può applicare la maschera di contrasto in diversi modi. Uno di questi consiste nel trattare l’immagine originale con un filtro passa-alto (Accentua passaggio, in Photoshop) per fondere il risultato con l’originale in uno dei metodi di contrasto: Sovrapponi, Luce soffusa, e via dicendo. A un certo punto mi sono chiesto se avrei potuto costruire una falsa versione passa-alto del canale EB e applicarla all’immagine originale.

Questo è il flusso di lavoro, passo per passo.

  • In un file RGB generico, viene creato un nuovo livello di nome Ersatz Black USM e gli viene applicato il composito.
  • Il canale EB viene generato (ad esempio: B duplicato come base, applicazione di G in metodo di fusione Scolora, applicazione di R sempre in Scolora).
  • Viene creata una copia del canale EB che viene nominata Ersatz Black Sharpened.
  • Il filtro Maschera di contrasto viene applicato a quest’ultimo come se fosse il canale del nero in CMYK.
  • Con il comando Calcoli, il canale EB originale viene sottratto alla versione con la maschera di contrasto, con i parametri appropriati (Sposta: 128, Scala: 2).
  • Il canale così creato viene rinominato Ersatz Black USM.
  • Il canale viene applicato tre volte in Luce soffusa al livello Ersatz Black USM.
  • Il livello viene duplicato e gli aloni chiari e scuri vengono separati impostando le due copie del livello di sharpening nei metodi di fusione Schiarisci e Scurisci, il primo dei quali al 50% di opacità.
  • Viene creato un gruppo chiamato Ersatz Black USM che contiene i due livelli.
  • L’opacità del livello contenente il gruppo viene impostata al 50%.

A parte un po’ di pulizie finali, questo è esattamente ciò che l’azione fa. Il canale utilizzato per lo sharpening viene mantenuto e si trova in fondo al pannello Canali.

L’azione e qualche commento finale

L’azione si può scaricare qui. È in formato .zip, perciò va decompressa e caricata in Photoshop dal menu del pannello Azioni. L’azione è stata testata sulle versioni italiana e inglese di Photoshop e sembra funzionare senza problemi. Se qualcosa non andasse per il verso giusto, vi prego di informarmi.

Il vantaggio principale di questo approccio è che la maschera di contrasto cade dove si trovano i dettagli importanti. Inoltre, è concentrata nelle aree più scure, e sappiamo che abbiamo più bisogno dello sharpening nelle ombre che nelle luci. Ho deciso di applicare il canale Ersatz Black USM tre volte per rinforzare l’effetto: il risultato finale è probabilmente eccessivo e per questo l’opacità del livello che contiene il gruppo viene ridotta al 50% alla fine, ma questo dipende molto dall’immagine, per cui a priori non si può dire.

L’impostazione predefinita dell’azione per il filtro è Fattore = 500, Raggio = 1, Soglia = 0, ma l’azione si ferma e vi permette di scegliere i parametri che preferite se le vostre esigenze sono diverse. Quello che segue è il risultato di un’applicazione dell’azione con delle impostazioni standard: la parte sinistra dell’immagine è senza maschera di contrasto, quella destra è stata invece processata (cliccate per osservare la versione in scala 1:1).

A sinistra, l'originale. A destra, la maschera di contrasto ottenuta con l'azione descritta nel post.
A sinistra, l’originale. A destra, la maschera di contrasto ottenuta con l’azione descritta nel post.

Non ho idea di quanto possa essere utile questa azione, ma ci sono casi in cui funziona bene. I ritratti, ad esempio, sono uno di questi, e potreste trovarvi a spingere il cursore dell’opacità del gruppo di sharpening verso il 100%. Un esempio è riportato qui sotto. In questo caso i parametri sono stati cambiati in 500-2-0 nel corso dell’azione e l’opacità del gruppo è stata lasciata al 50%.

Sopra: l'originale di un ritratto (immagine Hasselblad). Sotto: il risultato di una maschera di contrasto con parametri 500-2-0 effettuata con l'azione Ersatz Black USM. (Cliccare per ingrandire.)
Sopra: l’originale di un ritratto (immagine Hasselblad). Sotto: il risultato di una maschera di contrasto con parametri 500-2-0 effettuata con l’azione Ersatz Black USM. (Cliccare per ingrandire.)

Sarò felice se qualcuno vorrà provare l’azione; le critiche costruttive e i commenti sono naturalmente sempre benvenuti. Di nuovo, vi prego di considerare questo come un passo in un work-in-progress che può certamente subire miglioramenti e raffinamenti vari. Infine, per quanto ne so, questa tecnica non è descritta in alcun articolo o post. Se qualcuno è al corrente dell’esistenza di qualcosa di simile al mio approccio che sia già stato pubblicato, vorrei esserne messo al corrente in modo che io possa dare il necessario credito a chi avesse già avuto l’idea.

Buona sperimentazione!
MO

8 pensieri su “La maschera del canale fantasma”

  1. Provata in questo momento.
    Essenzialmente, quello che fai sottraendo EB Sharpened da EB è creare un livello che contenga solamente gli aloni chiari e gli aloni scuri ed un grigio 50% che andrai poi ad eliminare. È utile? Per me si, molto.
    Essenzialmente, è la stessa cosa che applicare una usm in cmyk al canale del nero, con l’unica differenza che non si esce da rgb, con tutti i pro per ciò che riguarda il processo pre conversione in cmyk – e soprattutto – la costruzione di EB varia da spazio colore a spazio colore, simulando un po una falsa costruzione del nero (La stessa sottrazione da Prophoto dà origine ad un EB più corposo.)

    1. Esattamente, le cose vanno come dici. Ho provato delle alternative: ad esempio, si potrebbe semplicemente applicare il filtro Accentua passaggio al canale Ersatz Black, ma ho provato e questo sistema mi sembra più efficace, anche perché se mai ce ne fosse bisogno si può intervenire sul parametro Soglia. Luca Negri mi ha suggerito un approccio diverso e marginalmente più delicato che vorrei provare. E, in generale, si potrebbe pensare di personalizzare EB simulando dei GCR diversi semplicemente con una curva.
      Da qualche parte devo avere ancora un “mostruoso” profilo colore denominato “Wide Gamut CMYK” o qualcosa del genere, in cui c’erano delle definizioni assurde dei primari di quadricromia proprio per permettere conversioni senza perdite da RGB a CMYK. Buona idea, ma non mi ha mai convinto del tutto, anche perché il canale K che ne usciva era veramente particolare e meno funzionale di un canale K “vero”. Forse questa strada è un filo più versatile. Grazie dei commenti!

  2. Domandone stupido…ma partendo comunque da un qualunque RGB non si può eseguire lo stesso procedimento “rubando” un “vero” K di una copia dell’immagine (eventualmente con un GCR diverso)?. Ne approfitto per salutarti e scusarmi dell’assenza di questi ultimi tempi dal CCC (ero, finalmente, in ferie, distante da internet ed affini). Grazie dello spunto.

    1. Certo, basta duplicare l’immagine, convertirla e recuperare il canale che serve. Questo metodo è però interessante ed elegante a mio parere proprio perché non esce da RGB. Per inciso, il metodo non è una novità: ai tempi degli scanner a tamburo, l’acquisizione dell’immagine avveniva in RGB ma l’output era direttamente in CMYK perché quello che serviva erano delle selezioni per le lastre di stampa. A meno di manipolazioni, il canale del nero veniva generato con questo metodo partendo dalle informazioni su R, G e B.
      Se l’esigenza è quella di simulare GCR diversi la via più breve è curvare il canale EB opportunamente.
      Infine, se vogliamo riferirci al pannello PPW, le modalità per mettere in atto H-K sono essenzialmente due: la prima è quella canonica, la seconda è quella che passa per il falso CMYK ed è sostanzialmente analoga a ciò che chiedi. Storicamente il falso CMYK è arrivato nel PPW prima del canale EB. I risultati non sono identici, ma sono abbastanza analoghi. Nella documentazione del PPW, nell’articolo su H-K, alla fine trovi un suggerimento su quali immagini potrebbero essere più candidabili a questo o quel metodo. Ma attenzione: il condizionale è assolutamente d’obbligo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *