Key, Matte, Alpha, Mask

Caratteristiche in comune.

Prima di approfondire l’utilizzo delle maschere nel compositing, è importante capire le diverse nomenclature. Spesso nei diversi software troviamo nomi che si riferiscono alle stesse cose. Il motivo di questa situazione è il lavoro contemporaneo svolto da diverse aziende del settore, ognuna della quali attribuisce un nome al proprio prodotto. In genere, le key, matte, alpha, mask sono la stessa cosa e si identificano in un canale monocromatico che informa il software di quali pixel tenere in considerazione e quali no. Vediamo di ricostruire le differenze tra le diverse nomenclature.

mask

  • Il key è spesso utilizzato al posto di matte, si riferisce ai pixel di foreground o background durante un greenscreen o bluescreen compositing. Il nome deriva dall’utilizzo dei primi strumenti di chroma-key e luma-key.
  • Matte è un termine che si alterna con key, in realtà sono esattamente la stessa cosa ma da un punto di vista etimologico è legato alla post produzione in-camera.
  • Alpha è un termine che indica i pixel di foreground di una immagine digitale. Il nome deriva principalmente dall’out delle immagini cgi in cui il matte viene memorizzato nel canale alpha del container.
  • Mask è un termine generico e spesso viene utilizzato come isolatore di funzioni. Ad esempio una color correction o una funzione di blu vengono limitate da una selezione, spesso fatta a mano.
 

Holdout Mattes

Un aiuto al keyer.

Abbiamo visto come le garbage mattes aiutano il keyer a creare un background pulito. Una maschera di holdout fa lo stesso lavoro ma sul character principale. L’oggetto di target potrebbe infatti avere alcuni colori che confondono il keyer, il quale li interpreta come colori da bucare, e per questo crea delle zone di semitrasparenza nel mezzo.

Qualcosa di sicuramente non buono. Un altro problema possono essere gli oggetti riflettenti, come anelli, elmi, vetro i quali tendono a riflettere il colore di backing. Con tutti questi probabili problemi, il keyer non riuscirebbe a interpretare correttamente i colori e i risultati non sarebbero sicuramente buoni. La soluzione è quindi creare una maschera che vada ad indicare al keyer che il suo interno è sicuramente solido e quindi appartenente al character.

holdout mattes

Le maschere di holdout sono molto comode nei casi di troppe riflessioni o illuminazione e posizionamento del target in modo errato. Viene spesso utilizzata in sieme alle garbage mattes per isolare e correggere quei pixel dove il keyer ha problemi.

Nel prossimo articolo vedremo il degrain.

 

Garbage Mattes

Maschere spazzatura.

Le garbage mattes aiutano il keyer a isolare le parti di backing. Il color di backing potrebbe essere ostruito da elementi di scena come props o semplicemente potrebbe non coprire totalmente il frame per motivi di spazio o ignoranza tecnica.

garbage matteNell’immagine soprastante possiamo vedre la garbage matte tracciata. Questa maschera non deve essere precisa, non deve toccare il character e soprattutto deve escludere i props di scena. La maschera deve essere abbastanza distante dal character in modo da essere tracciata con il minor numero di keyframes durante tutta la sequenza per contenere il character.

garbage matte

Il keyer e le garbage matte.

In quest’altro frame si nota come la garbage matte sia particolarmente necessaria per isolare tutte le parti al di fuori dal greenscreen. In questo caso si può dedurre che la camera sia ferma e che quindi basterà anche un solo frame per tracciare la garbage matte.

Molti keyer hanno diversi input che permettono di importare diverse maschere, tra le quali una garbage matte. Tutto il processo quindi si svolge come sempre all’interno del keyer. Un altro metodo invece consiste nell’applicare la garbage mask solo dopo il keyer per filtrare il matte. Questo può avvenire nei casi dove i props di scena non invadono troppo lo sfondo e dove il colore di backing copre la maggior parte del frame. Anche in caso di piccole anomalie, il keying riesce comunque a risolvere il matte senza applicare nessuna garbage matte.

Nel prossimo articolo vedremo le garbage mattes procedurali.

 

Keyers

Algoritmi.

I keyers li troviamo nei software di compositing e sono algoritmi molto complessi. I software di compositing contengono di solito differenti keyers e spesso supportano plugin di terze parti. Questo perchè è davvero difficile estrarre una maschera corretta e ogni azienda sviluppa i suoi algoritmi per risolvere le differenti situazioni.

Come funzionano i keyers.

I keyers possono essere molto differenti ma alla base lavorano sulle stesse cose: i pixel. Sia che sia un bluescreen,  un redscreen o un greenscreen, è importante che ci sia una grande differenza dei pixel rgb tra i colori del character e lo sfondo. Prendiamo in esempio il bluescreen. Lo sfondo dovrà avere valori di blu molto più alti rispetto i componenti rossi e verdi; al contrario, nel character principale, il blu dovrà avere valori molto più bassi della controparte rossa e verde. E’ importante non  tanto il valore della differenza tra i pixel, piuttosto quanto sia prevalente il blu rispetto agli altri componenti. Ad esempio se nel colore di backing ci fossero delle zone in ombra ma con il blu prevalente rispetto al rosso e verde, quel colore verrebbe considerato dal software ugualmente di sfondo.

keyers

Grazie a questa differenza i pixel vengono raggruppati in aree, i pixel all 100% di sfondo (neri), pixel al 100% di foreground ( bianchi) e i pixel di intersezione tra le due aree ( in scala di grigi ). I soggetti posti di fronte all’aria di backing devono avere quindi la componente di blu molto bassa, persino la pelle: è questo il principio che sorregge tutto il keying.

La domanda successiva potrebbe essere. Perchè usare allora greenscreen o bluescreen? Una risposta più completa la vedremo in futuro ma per ora posso accennare che le variabili che entrano in gioco sono: materiale degli oggetti di foreground, illuminazione di scena, qualità del sensore di camera.

Nel prossimo articolo vedremo il despill.

 

Compositing di base

Despill.

Uno dei problemi principali durante il compositing di un character su bluescreen è il despill. Il background contamina il foregound creando un effetto alone indesiderato nei pixel periferici. Spesso questo problema è accentuato dalla luce in scena, infatti il colore di background riflette le sorgenti luminose aggiungendo colore ai vestiti originali del character. Le parti più difficili da eliminare con il despill sono le zone in cui il motion blur è molto evidente e la presenza di capelli ( quasi sempre ).

La correzione di colore non può avvenire prima del keying perchè il processo altererebbe il colore di baking e il keyer non riuscirebbe a estrarre il matte. La color non può nenache essere applicata dopo il keyer poichè come abbiamo detto precedentemente i pixel escono già moltiplicati. Quindi qual è la soluzione? Bene, il keyer ha una funzione interna di color correction che permette all’artista di manipolare il foreground. Alcuni keyer permettono anche output senza premoltiplica permettendo quindi anche in seguito di applicare funzioni e algoritmi di correzione colore non contemplati nel keyer.

despill

Il keyer infine, dopo aver estratto il matte giusto, si occupa di scalare il background ( moltiplicare il background per l’inverso del matte trovato) e sommare i livelli ( sommando matematicamente i valori dei pixel sovrapposti ).

Ricapitolando, un keyer esegue le seguenti funzioni:

Pull the matte – Estraiamo quindi la maschera del character

Despill – Eliminiamo i rimbalzi di luce del background dal foreground

Correzione colore – Correggiamo il foreground prima della premoltiplica

Scala del foreground – Moltiplichiamo il foreground trovato per il matte

Scala del background – Moltiplichiamo il background per l’inverso del matte

Somma dei livelli – Il foreground e il background vengono sommati matematicamente

Nel prossimo articolo vedremo i keyers.

 

Twitter | Instagram | Bitbucket | Battlelog | LinkedIn | GitHub

Google Profile


My name is Giovanni Di Grezia, but people call me xgiovio.

Here is my homepage: .

I am a VFX Artist and Software Developer

And this is a picture of me.

Giovanni Di Grezia