Filter Contents in VFX Docs

Moltiplicare le immagini

Moltiplicazione e Maschere.

Moltiplicare le immagini è un lavoro molto comune per i compositori digitali, due o più immagini possono essere moltiplicate tra loro fondendo pixel in base ad algoritmi matematici. Se consideriamo una immagine Singola e una maschera bianco/nero, ne possiamo immaginare il prodotto. Considerando ogni punti bianco come 1 e ogni punto nero come 0, è chiaro che moltiplicando l’immagine per la maschera, tutti i punti neri verranno tagliati fuori. Le immagini bianco nero infatti svolgono principalmente la funzione di maschere e tendono ad isolare particolari oggetti o parti.

maskmask

Nel prossimo articolo vederemo i formati immagine.

 

Floating Point

Floating point e interi.

La discussione precedente sulla profondità dei bit era pertinente ai numeri interi. C’è da dire che i numeri a 8 bit, che vanno da 0 a 255, sono tutti interi e quindi non troveremo mai 10.4 o 112.25. Comunque i decimali chiamati , floating point, sono un modo molto importante per rappresentare i pixel se i software di compositing li supportano. Il computer converte i numeri a 8 bit in floating point mappando 0-255 a 0-1.

Il valore floating point di zero è settato al valore intero di zero in 8 bit mentre il valore di floating point 1 è assegnato al valore in 8 bit di 255. Per i dati a 16 bit il valore 1.0 è settato a 65.535. Usare i float hanno vataggi e svantaggi. Vediamo quali sono.

floating point

Floating point: pro e contro.

Se proviamo a moltiplicare un valore 8 bit di grigio, ad esempio 128 per il 50% di un altro grigio (128) otteremmo un 128×128 che è sicuramente maggiore rispetto al valore 64 che volevamo raggiungere. Se invece facciamo la stessa operazione in float: 0.5 *0.5 fa 0.25 il quale convertito da float in intero è 64. Un altro svantaggio deriva dal clipping dell’utilizzo del sistema a 8 bit. Il floating point infatti non limita il valore a 255 variazioni, un immagine a 8 bit non potrebbe avere un rosso con valore 300 poichè questo verrebbe tagliato a 255, in compositing se proviamo ad addizionare due immagini con due bianchi, il pixel finale non sarà mai superiore al 255 poichè questo è il limite del canale a 8 bit. Se lavoriamo invece in float un valore di bianco 1 + un altro bianco 1 da 2 e quindi anche se il nostro monitor non riesce a mostrarci piu dell’ 1, il nostro valore è ben conservato e sappiamo bene che quel pixel ha una luminosità del doppio. Quando infatti lavoreremo sull’esposizione ci troveremo con brillanti risultati.

Uno dei problemi del floating point è l’enorme quantità di calcolo che richiede alla cpu/gpu rispetto al calcolo per interi. I computer di oggi sono comunque abbastanza moderni e non dovremmo preoccuparcene troppo.

Nel prossimo articolo vedremo le maschere e la moltiplicazione di immagini.

 

Bit Depth

Bit e Possibili variazioni.

Tutti avremo sicuramente sentito che i computer lavorano soltanto con 0 e 1. Questo è letteralmente vero. Ogni uno e ogni zero è chiamato bit ( binary digit – cifra binaria ) e questi bit sono organizzati in blocchi da 8 bit chiamati bytes. Alcuni esempi di bytes sono 010110101 e 10101101. Se raggruppi 8 bit in un byte, il numero possibile di combinazioni 1 e 0 è esattamente 256 e il loro valore oscilla tra 0 e 255. In altre parole, un byte da 8 bit può esprimere numeri interi che vanno da 0 a 255. Il numero di bit utilizzati prende appunto il nome di bit depth, profondità di bit. Se il numero di bit fosse ad esempio 10, avremmo 1024 variazioni. Se invece lo riducessimo a 4 ne avremmo 16. Più è grande la profondità dei bit, più numeri possiamo rappresentare.

bit

Per portare tutto questo discorso alle immagini digitali, se la luminosità di un pixel è espressa da un byte a 8 bit, allora possono esserci soltanto 256 valori di luminosità che vanno dal nero (0) al bianco (255). Questo è un range abbastanza buono. Per una immagine rgb a 8bit per canale, quindi, avremmo 256 variazioni per ogni canale e quindi moltiplicando 256 x 256 x 256 avremmo 16.7 milioni di colori. Potrebbero essere tanti ma ciò non è vero.

Bit e trilioni.

I programmi moderni di compositing supportano immagini a 16 bit. Quando la profondità dei bit è incrementata da 8 a 16, la variazioni possibili diventano 65.536 e non più solo 256. Potremmo avere quindi una variazione da nero a bianco con 65 mila intermedi e nessun nero o bianco sembrerebbe mai nero o bianco abbastanza. I colori di una immagine rgb a 16 bit infatti sarebbero 65536 ^3 e quindi più di 281 trilioni.

bit

Comunemente però siamo quasi sempre a contatto con immagini a 8 bit ma ci sono casi in cui anche noi ci rendiamo conto quanto siano importanti immagini ad almeno 10 bit. Sarà capitato a tutti di osservare un cielo perfettamente blu e tutti abbiamo notato quanto sia bella la natura nel rendere suggestivo il gradiente che va dall’orizzonte fino alla volta celeste. Beh una immagine a 8 bit non riuscirebbe a rendere questo cosi spettacolare poichè si verificherebbe il banding. I 256 stati di luminosità non riuscirebbero a coprire tutte le variazioni del gradiente reale.

Nel prossimo articolo vedremo cosa sono i floating point.

 

Display Aspect Ratio

Display Aspect Ratio : un gioco matematico.

Abbiamo visto come l’image aspect ratio descrive la forma dell’immagine e il pixel aspect ratio la forma del pixel. Questi due fattori combinati definiscono il display aspect ratio – la forma dell’immagine proiettata sul dispositivo di visualizzazione. Il display aspect ratio è molto importante perchè l’aspect ratio di una immagine può differire se l’immagine è proiettata su display con pixel aspect ratio diverso. In realtà non c’è nessun problema perchè il software di compositing compensa i pixel non quadrati in modo da vedere il corretto display aspect ratio. La buona notizia è che se il pixel aspect ratio è quadrato allora l’immage aspect ratio e il display aspect ratio saranno identici.

Il display aspect ratio non è altro che l’image aspect ratio moltiplicato per il suo pixel aspect ratio. Facciamo alcuni esempi per rendere la cosa più chiara. Il C-scope ha il pixel aspect ratio di 2.0. Se un frame del c-scope fosse proiettato sullo schermo di una workstation, vedremmo una immagine ristretta. La risoluzione di una immagine c-scope è 1828 x 1556, quindi l’image aspect ratio è 1.17( 1828 / 1556). Sul nostro schermo infatti l’immagine sembrerebbe corretta poichè il nostro display ha pixel quadrati. Il proiettore cinematografico, invece, raddoppia l’immagine in orizzontale per rispecchiare il pixel aspect ratio di 2. Se ora infatti moltiplichiamo 2 per il vecchio display aspect ratio 1.17, otteniamo 2.35, il giusto aspect ratio della nostra immagine. La colpa quindi teoricamente è del nostro monitor.

display aspect ratio

 

Display Aspect Ratio: PAL vs NTSC.

Analizziamo ora le differenze tra PAL e NTSC. Sia l’NTSC che il PAL hanno un aspect ratio di 1.33 ma le immagini proiettate su le due televisioni hanno nativamente due dimensioni differenti. NTSC = 720*486 e PAL = 720*576. Capiamo perchè. La risoluzione NTSC di 720 x 486 comporta un image aspect ratio di 1.48. Quello che non sappiamo è che il pixel aspect ratio delle tv NTSC è 0.9, quindi moltiplicando quest’ultimo per l’image aspect ratio otteniamo 1.33 ( 1.48 * 0.9). Se l’immagine NTSC è mostrata in modo non corretto su un display comune per pc, questo è dovuto ai pixel quadrati i quali ridurranno l’immagine di circa il 10% mentre si vedrà in modo corretto su una normale tv americana.

Per il PAl a risoluzione 720 x 576, l’image aspect ratio è 1.25 ( 720 / 576). Quello che non sappiamo è che le immagini per tv PAL hanno un pixel aspect ratio di 1.1. Moltiplicando il pixel aspect ratio per 1.25 otteniamo 1.33 . Quindi

PAL Resolution * PAL Pixel Aspect ratio = NTSC Resolution * NTSC Pixel Aspect ratio = 1.33

Una immagine pal vista su un normale display per pc risulta meno alta del 10%.

display aspect ratio

Infine se consideriamo gli ultimi televisori HD e FULL HD, tutto il discorso precedente crolla. Questo perchè le immagini sorgenti hanno un pixel ratio quadrato, i pixel delle tv sono quadrati e quindi di conseguenza anche il display aspect ratio. Considerando che anche i monitor su cui i compositori lavorano hanno pixel quadrati, si ottiene una magigore compatibilità tra tutti i vari step di pubblicazione. E’ probabile che il pixel quadrato sia il formato del futuro.

Nel prossimo articolo vedremo la profondità dei bit.

 

Pixel Aspect Ratio

Pixel Aspect ratio e Immagini Digitali.

Come detto precedentemente, le immagini digitali sono un insieme di pixel. Come le immagini, anche i pixel hanno una dimensione e questa dimensione è chiamata pixel aspect ratio. Comunque non tutti i pixel sono uguali. Un pixel quadrato ha un pixel aspect ratio di 1.0, ma molti dispositivi di visualizzazione non hanno pixel quadrati.

pixel aspect ratio

Pixel Aspect Ratio e varianti.

La figura in alto mostra uno standard NTSC ( televisione americana ) e il pixel aspect ratio è di 0.9, questo rende l’immagine stretta e alta. L’illustrazione in basso a sinistra invece rappresenta lo standard PAL con un pixel aspect ratio di 1.1 rendendo l’immagine bassa e larga. La maggior parte delle immagini, comunque, utilizzano un pixel aspect ratio di 1.0 e quindi quadrato. Uno speciale formato cinematografico è il Cscope dove il pixel aspect ratio è di 2.0 e quindi immagini basse ma molto larghe. Fortunatamente anche l’HD e il Full HD utilizzano pixel quadrati con aspect ratio pari a 1.

Pixel Aspect Ratio ed Envirovments.

I pixel non quadrati non producono problemi se visti su sistemi ottimizzati opportunamente, ad esempio video NTSC su televisioni NTSC. Possono esserci problemi per il compositore, che di solito lavora su pixel aspect ratio di 1.0, il quale dovrà compositare video NTSC con pixel non quadrati. Il formato di immagine risultanti e il pixel aspect ratio sono molto importanti e il target di broadcast va definito a priori. Ormai però, con gli ultimi standard HD e H264 possiamo quasi dire addio al pixel aspect ratio non quadrato.

Nel prossimo articolo vedremo il Display Aspect ratio.

 

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