Multipass Compositing

Compositing e Mondo Reale.

Il mondo reale è complesso. Fin dagli albori della CG, ingegneri e artisti hanno sempre collaborato per cercare di portare un alto grado di realismo sullo schermo. Dopo i primi film degli anni 70 – 80, si è giunto a una conclusione: la realtà è dannatamente difficile da simulare. Ci sono tanti fattori che concorrono nel rendere una immagine simile al reale: illuminazione, materiali, effetti particellari. Man mano che l’hardware dei computer progredisce, la tecnlogia migliora ma spesso, questo aumento di qualità, si manifesta come un ulteriore tempo di calcolo. Risoluzioni sempre più alte e particolari non lasciati al caso spingono i render per frame verso traguardi orari sempre più alti.

Un passo importante nell’ottimizzazione di tutti gli elementi di un un render in cgi è stato la scomposizione della scena in passaggi. Ogni singola luce ( o gruppo di luci ), materiale ed elemento viene separato dalla globalità della scena e renderizzata a parte per essere compositato in un secondo momento: questo processo dà origine al pass.

compositing

Compositing e Pass.

I pass sono vantaggiosi poichè permettono una flessibilità maggiore nelle variazioni di elementi. Una luce, su richiesta del cliente, può essere modificata senza renderizzare tutti gli altri elementi. Una sedia in un angolo troppo scuro può essere illuminata in compositing ( essendo isolata rispetto al resto ) o re-renderizzata in termini decisamente più bassi rispetto alla scena intera.

Nei prossimi articoli vedremo un workflow base di compositing multipass basato su 5 elementi base: pass di diffuse, ambient occlusion, specular, reflection e shadow. Le case di post produzione con target il cinema spesso lavorano con più di 20 pass a scena.

Nel prossimo articolo vedremo i pass di diffuse e specular.

 

Elementi Compositing

Compositing richiede almeno 3 elementi.

Uno script di compositing richiede almeno 3 elementi. Una immagine di primo piano, una immagine di sfondo e una maschera ( matte ). Solo alcuni pixel vengono usati nel compositing finale, è importante infatti comunicare al software quali prendere. E’ l’immagine di matte a svolgere questo lavoro.

compositing

L’importanza del matte in un compositing.

Nell’immagine in alto a destra è possibile vedere l’immagine di matte. Se il software incontra pixel bianchi, sul compositing finale vedremo il 100% di quel pixel dall’immagine di foreground. Se il software incontra un pixel totalmente nero, vedremo invece al 100% il pixel appartentente all’immagine di background. Negli altri range ( dal nero al bianco ), la percentuale di brightness del bianco sarà la percentuale di foreground presente sul compositing, la restante percentuale sarà composta dal background.

L’assenza di matte in un compositing.

La formula matematica che sta dietro al 99% percento del compositing è molto semplice e si può considerare come una funzione di over, vedremo esattamente come funziona molti articoli più avanti e parleremo anche del compositing basato su depth. In ogni caso l’assenza di una matte non dà al software la possibile di sottrare colore dal background e per questo motivo la funzione di over senza una maschera opportuna è equivalente a un add: tutti i pixel si sommano tra loro creando un effetto di transluscenza.

Nel prossimo articolo vedremo il multipass compositing.

 

Formato file

Formato file e varietà.

Non è possibile definire tutti i formati dei file presenti nel mondo poichè dovremmo dedicare un sito apposta. Ci limiteremo a definire i formati più utilizzati, tra l’altro sono anche i migliori presenti in circolazione. Citare ogni singola caratteristica di un formato file sarebbe noiso, per tal motivo cercheremo di capire la loro utilità direttamente in ambito lavorativo.

Per identificare un formato file, genericamente si aggiunge una estensione al file stesso. Un file chiamato file.tif avrà sicuramente una organizzazione dati di tipo TIFF, mentre un file.jpg apparterrà sicuramente alla famiglia degli schemi con perdita di qualità.

formato file

Formato file ed estensioni.

.cin – Cineon, formato molto vecchio genericaemnte usato come output nella scansione di pellicole per il digitale. Supporta 10 bit di informazioni a canale. Nessuna compressione o opzione disponibile. Supporta immagini bianco nero, RGB e/o con alfa. Un formato file che sta scomparendo.

.bmp –  Formato proprietario di Microsoft. Letteralmente è una accozzaglia di pixel. Nessuna compressione. Supporta immagini a 8 – 16 bit ma non è usato in alcun workflow di lavoro: si tratta dunque di un formato file da evitare.

.dpx – Digital Picture Exchange, un moderno schema di memorizzazione che sta soppiantando il vecchio Cineon. Supporta 10 bit per canale con profondità variabile. Usato spesso nella memorizzzazione di frame da HDTV.

.exr – OpenExr, come visto precedentemente è un formato file creato principalmente per il cinema. Supporta un range dinamico molto alto, canali illimitati, immagini float a 32 bit.

.gif –  principalmente usato nel web, supporta trasparenza, 8-16 bit per canale. Supporta animazioni e principalmente usato in modalità CLUT. Schema di compressione senza perdita di qualità: un formato file spesso sottovalutato.

.jpg – Joint Photographic Experts Group è uno standard con perdita di qualità con target primario la fotografia. Una leggere compressione permette di ridurre notevolmente la grandezza delle immagini su disco pur mantenedo una qualità discreta di dettagli.

.jp2 – JPEG 2000, uno nuovo schema di compressione utilizzato principalmente in ambito fotografico. Rispetto al jpg permette di comprimere le immagini introducendo meno artefatti.

.mov – container by Apple, memorizza sequenze di frame in un singolo file. Supporta diversi codec. Generalmente questi tipo di container non sono ben visti dai software di compositing.

.png – formato simile al gif ma supporta trasparenza a pieno ed è un formato senza perdita di qualità.

.psd – formato di exchange proveniente da Adobe Photoshop, molti software supportano una intergrazione diretta mediante plugin aggiuntivi, specialmente i software della suite di Adobe.

.tga – Targa è un formato di Microsoft, usato principalmente nei video. 8 bit e senza perdita di qualità.

.tif – Tiff è il formato più conosicuto e di interscambio tra i diversi software di compositing. Supporta 8 – 16 – 32 bit ed è senza perdita di qualità. Supporta diversi schemi di compressione.

.yuv – un formato specifico dei file video. I software lo convertono in RBG per essere visibile sui monitor.

Nel prossimo articolo vedremo gli elementi base di un compositing.

 

Exr

exr

Exr e importanza.

OpenEXR, o Exr, è un formato immagine floating point sviluppato dalla Industrial Light & Magic ( ILM ) e sta diventando velocemente uno standard nell’industria cinematografica. Sicuramente sarà un formato che almeno una volta nella vita tutti abbiamo avuto modo di incontrare. E’ giunto il momento di vederlo da vicino. Nel prossimo articolo parleremo dei diversi formati immagini ma, l’ exr, è sia unico e sia importante abbastanza da avere questo articolo dedicato. Questo perchè è stato sviluppato con in mente il workflow di un compositore.

Le caratteristiche dell’ exr.

High Dynamic Range – Creato specificatamente per supportare immagini HDR come scansioni di pellicole ed elementi digitali in CGI. Il range dinamico ( dal nero al bianco ) è vastissimo.

Molti canali – Mentre un render classico CGI è composto da 4 canali, l’ Exr è espandibile a un numero illimitato di canali. Lo scopo, infatti, è evitare di renderizzare più pass in file differenti.

Compressione Lossless – Studiato per il cinema, l’exr utilizza una compressione senza perdità di qualità. Lo schema di compressione permette di dimezzare la grandezza di un file con tempi di compressione / decompressione molto veloci.

Short e Full Float – L’exr opera in floating point, supportando il full float a 32 bit e l’half float a 16 bit. L’half float permette di avere abbastanza qualità pur dimezzando il numero di bit. La velocità di calcolo è notevolmente superiore al 32 bit.

L’Exr è stato rilasciato pubblicamente dell’ILM nel 2003 e oggi giorno la maggior parte dei software di compositing lo supportano pienamente. La sua ramificazione è stata cosi ampia da essere integrato nativamente anche in software di motion graphics come Adobe After Effects e di fotografia come Adobe Photoshop.

Nel prossimo articolo vedremo altri formati file.

 

Compressione

Compressione e Schemi.

Quasi tutti i differenti tipi di file offrono un qualche tipo di compressione. I dati compressi senza perdere qualità sono chiamati lossless e l’algoritmo che li comprime e li decomprire crea un file perfettamente identico all’originale. Altri algoritmi invece si identificano come lossy, una immagine cioè subisce una degradazione causata dal processo di discretizzazione dell’algoritmo stesso.

Compressione RLE e LZW.

Due schemi di compressione predominanti sono l’RLE e il LZW. L’RLE ( Run Lenght Encoding ) è il più usato nelle imagini in CGI; L’LZW ( Lempel-Ziv-Welch ) è altrettanto importante per la sua disponibilità in molti formati immagine. Siccome entrambi gli schemi di compressione sono lossyless, l’immagine risultante sarà identica all’originale e in più questi algoritmi di compressione possono essere usati assieme per ridurre ulteriormente la grandezza in byte del file. LZW viene principalmente usato nelle immagini fotografiche e rispetto al RLE fornisce una compressione minima.

Compressione JPEG e MPEG-2.

I due schemi lossy predominanti sono il JPEG e l’ MPEG-2. La compresisone JPEG è principalmente utilizzata nelle immagini fotografiche e il suo scopo è ridurre i dettagli nel sorgente riducendo drasticamente la grandezza in byte dell’immagine. La sua versabilità deriva dalla facilità di condivisione su sistemi a banda ridotta ( internet e dispositivi mobili ); la compressione permette comunque di avere una buona immagine con variazioni quasi invisibili all’occhio umano. Il JPEG è usato su immagini statiche e non su sequenze di immagini. Nei video infatti, il codec principale è l’MPEG-2; questo schema è molto simile al jpeg, l’algoritmo, dopo una iniziale compressione di alcuni fotogrammi in jpeg, calcola le variazioni nei frame successivi fino a un cambio di inquadratura o una eccessiva modifica dei pixel. Questo permette di salvare molta banda poichè sarà il processore a ricostruire l’immagine nei punti uguali ai fotogrammi precedenti. I frame interi vengono chiamati keyframes e una sequenza di fotogrammi (il primo intero più i successivi dipendenti) viene chiamata GOP ( Group of Pictures ).

compressione

Nel prossimo articolo vedremo il formato immagine rilasciato dell’ILM: OpenEXR

 

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