Tutto è possibile

Tag: colore

H264 standard… mica tanto

Spesso mi sento dire, mi faccia un mp4 che è standard … sorrido e creo un file che so essere compatibile con le esigenze del cliente.

Una volta era più facile distribuire un video, perché i supporti erano più limitati a vhs o dvd, con due standard video PAL o NTSC per distribuire in tutto il mondo.

Oggi ci sono mille e più varianti, ad esempio se si fornisce un supporto solido come il Blu-ray ci sono quelle che vengono indicate come le specifiche di base, e le varianti di formato… che ogni anno cambiano sul sito ufficiale del consorzio, perché a seconda del lettore da tavolo potrebbe essere supportata o no la variante, non dipende dalla data di produzione, o dal brand, anzi alle volte prodotti di marchi meno noti supportano più formati di altri più blasonati.

Lo standard del Blu-ray nasce a 24 fotogrammi al secondo, per rispettare la naturale creazione dei film, senza alterazioni su durata della parte video o alterazione sulla parte audio. Poco dopo la sua nascita è stato subito aggiunto il 23,976 per supportare più facilmente la riproduzione nel mondo Americano e Giapponese (NTSC a 60 hrz). Il codec di compressione di nascita era l’mpeg2 come il dvd (anche se con una variante dedicata all’alta definizione) anche se quasi subito fu introdotto il formato H264 (variante del codec mpeg 4), poi di recente aggiornato al suo successore H265.

Oggi il Blu-ray supporta dal 23,976 24 25 29,97 30 48 50 59,94 60, e neanche tutti in stream progressivo, ma alcuni solo in stream interlacciato per questioni di compatibilità.

Questo per dire come un prodotto che nasceva per uniformare e offrire il massimo della qualità della visione casalinga senza “interpretazioni” si è trasformato nell’insalata dei formati. Inoltre a seconda del monitor, televisore o proiettore su cui si vedono i risultati le immagini saranno più o meno fluidi o naturali.

Quando ci viene chiesto un H264 standard ci viene chiesto il nulla, perché lo standard è molto ampio e a seconda del dispositivo con cui verrà letto verrà INTERPRETATO in modo più i meno fedele.

Lo standard H264 prevede di registrare da un minimo di un segnale 8 bit 4:2:0 ad una serie di informazioni fino a 12bit 4:4:4, cambiare le impostazioni di codifica punto per punto del filmato, gestire più flussi video sovrapposti, alpha, riproduzioni parziali dei dati, cioè ottimizzare in lettura una scalabilità 1:2,1:3,1:4 etc dei pixel, inglobare codice, indici di capitoli, aree sensibili con dati a link e molto altro ancora; peccato che quasi nessun encoder sfrutti tutte queste caratteristiche.

Quando si crea un file H264 la maggior parte degli encoder ci permette solo di impostare il tipo di compressione e i profili, ma niente di più.

Ironicamente invece di usare un prodotto commerciale, la soluzione più versatile anche se meno comoda è il prodotto freeware ffmpeg, un programma a comando di linea che supporta praticamente tutte le funzioni di moltissimo codec sia in ingresso che uscita, ed è disponibile su tutti i principali sistemi operativi, sono state sviluppate diverse interfacce per utilizzare in modo più comodo e flessibile il prodotto.

Considerato che chi arriva ad un articolo di questo tipo di aspetta un suggerimento sugli “standard” vi posso dare dei suggerimenti su come affrontare il discorso e cosa scegliere come impostazioni e cosa influenza qualità e “compatibilità”.

⁃ Riproduzione da televisore o decoder o player multimediale

⁃ Riproduzione da computer diretto

⁃ Caricamento online

Anche se sono le situazioni più comuni in realtà aprono mille e più situazioni e varianti, perché in realtà la questione della riproduzione è al 50% dipendente dal file e al 50% dal sistema di riproduzione.

Quando si crea un file “classico” si sceglie la risoluzione, i fotogrammi al secondo, il bitrate e se questo è fisso o variabile.

In generale si deve creare un equilibrio tra i dati al secondo letto dal dispositivo e la qualità finale, questo significa che se si sceglie una compressione fissa vuol dire che ogni fotogramma avrà la stessa quantità di informazioni registrabili, immaginiamo 2000, ma se ho un fotogramma di una persona davanti ad un muro bianco tutti i dettagli vengono dedicati alla persona, se ho 20 persone gli stessi dati vengono “divisi” per registrare, quindi ogni persona al max avrà 100 per registrare i dettagli, quindi l’immagine sarà meno dettagliata.

Questo sistema permette di avere i seguenti caratteristiche:

⁃ Funziona anche su dispositivi più semplici

⁃ Prevedibilità della dimensione finale del file.

⁃ Per migliorare la qualità basta alzare il bitrate globale (entro certi limiti).

⁃ Per migliorare la compatibilità con i vecchi dispositivi basta abbassare il bitrate.

⁃ Non si notano jittering di decodifica dei movimenti perché i fotogrammi non devono essere creati ma sono tutti completi.

Se si sceglie una compressione variabile si imposta un range di dati minimo e massimo, per cui il sistema di compressione esegue due livelli di compressione, sia creando un frame Delta e un frame parziale per cui vengono creati dei gruppi di fotogrammi, con la logica di creare il primo frame intero, il secondo frame memorizza solo la differenza tra il primo e il secondo, il terzo la differenza tra il secondo e il terzo e così via fino al prossimo fotogramma Delta.

Il secondo livello di compressione variabile si preoccupa di distribuire una quantità di dati del gruppo in funzione delle necessità, di quanti dati sono necessari fotogramma per fotogramma, ottimizzando peso e qualità.

Il risultato ha caratteristiche differenti rispetto al primo metodo :

⁃ Con lo stesso bitrate massimale la qualità può essere notevolmente migliore

⁃ Lo stream dei dati è più efficiente via rete

Ma ci sono dei contro :

⁃ Questa lettura chiede cache più grandi e dispositivi più potenti perché i fotogrammi sono creati al volo, non esistono completamente

⁃ Se si vuole andare avanti e indietro nel filmato la richiesta di memoria e potenza sale

⁃ Alcuni tipi di filmati e movimenti possono con alcuni encoder dare risultati peggiori che il primo metodo perché da frame a frame sarà meno coerente come struttura e forma (se si lavora solo con bitrate molto bassi)

⁃ In caso di problemi di stream dei dati si possono vedere dei salti nei movimenti veloci, causando una visione a scatti.

⁃ Su dispositivi più vecchi possono esserci riproduzioni di artefatti (blocchi di movimento etc) che non sono presenti nel filmato originale.

In conclusione :

A seconda del dispositivo più o meno recente si deve creare un h264 con il primo metodo e bitrate bassi se si vuole vedere su ogni dispositivo vecchio e/o poco potente come molti smartphone di basso livello; con dispositivi moderni si può creare video col secondo metodo che a parità di peso offrirà una qualità superiore e con dettaglio e sfumature più efficienti.

 


Il FullHD non è proprio Full, anzi… spesso molto meno.

fig_01Dopo aver letto il mio precedente articolo, sull’aspect ratio e le misure dei filmati in pixel per home e cinema immagino un grande entusiasmo per tutti, pensando che basti niente per poter portare i propri filmati sul grande schermo. Diciamo che quella era solo una mezza verità, perchè abbiamo parlato di pixel, e delle informazioni con cui sono fatti i filmati per il grande schermo e per il (relativamente) piccolo schermo. Tutto vero, per quanto riguarda il prodotto finale, ma spesso i numeri non corrispondono alle informazioni catturate dai sensori o massaggiate nei vari passaggi tra DI editing e postproduzione.

Definiamo cos’è a livello teorico il FullHD

Il fullHD è una combinazione di pixel che forma un video di 1920 pixel in larghezza x 1080 pixel in lunghezza.

Il problema nasce dal fatto che non si deve considerare solo il file registrato, ma è fondamentale verificare come si creano e si campionano queste informazioni, perchè la maggioranza dei sensori delle camere (sopratto nel consumer e prosumer, ma anche in molte pro) non hanno neanche un numero sufficiente di pixel per coprire quel numero di pixel e vengono raggiunti con “trucchi tecnici” come il pixel shifting, il sovracampionamento etc etc

Per cui spesso le camere hanno un numero diverso (spesso minore) di pixel e quei numeri li raggiungono artificialmente.
Quindi si parla di immagini meno definite di quello che realmente dovrebbero descrivere quel numero di punti.

Una camera ideale ha uno o tre sensori in formato FULLHD, ovvero a misura 1920 x 1080, mentre quando si usano sensori più grandi (HDSLR) la tecnica di scalatura da un numero maggiore di pixel è fondamentale per non introdurre difetti e/o perdita di definizione.

Il discorso è molto semplice, se abbiamo troppe informazioni, una parte va scartata, se però la tecnica è sbagliata, la caduta di qualità è grande e quindi si creano dei difetti.

Per ottimizzare la registrazione video delle informazioni raccolte dai sensori le diverse case produttrici utilizzano tecniche diverse, con diversi svantaggi:
– si catturano solo parti della colorimetria (campionamento 4:2:2 o 4:2:0)
– si comprimono le informazioni (introducendo artefatti)
– si perde parte della nitidezza nel tentativo di ridurre le dimensioni del file

di contro come vantaggi :
– il peso cambia, i file passano da 11.2 giga al minuto (file non compresso) a 350 mb al minuto.
– i buffer e i supporti su cui salvare i girati sono più parchi di richieste e quindi più economici da realizzare
– le macchine sono più agili e compatte, quindi permettono l’uso di camere anche in situazioni molto costrette e rischiose.
– si è teoricamente “democratizzato” la produzione di filmati di qualità più “cinematografica”, per chi il knowhow su come usarle.

La camera lavora in FULLHD, ma come?

MINOLTA DIGITAL CAMERAOra vanno tanto di moda le HDSLR, perchè si dice che abbiano “l’effetto cinema” inside (ne parleremo in futuro di questa illusione), si riprende in FULLHD, teorico, ovvero il file che salviamo ha quel formato, ma a seconda delle macchine il sensore cattura in modo diverso le immagini, più o meno bene, più meno dettagliate e/o nitide.

Essendo una persona pratica non citerò una o l’altra marca, ma le tecnologie usate, come funzionano e quali sono i risultati in funzione del nostro scopo: avere immagini migliori.

Le HDSLR sono usate perchè sono dotate sensori più grandi delle classiche telecamere, quindi offrono immagini più luminose a parità di lente, DOF più comprimibile per staccare i soggetti dallo sfondo, un contrasto minore che aiuta la postproduzione.

Il vantaggio del sensore grande è un difetto per altri motivi, perchè il sensore CMOS soffre di un difetto chiamato rolling shutter, quindi più è grande il sensore e più si accentua il difetto nelle riprese in movimento, soprattutto sui movimenti circolari.


In questo video è possibile vedere come il rolling shutter alteri gli elementi in rotazione.


in questo video è possibile vedere il confronto tra il rolling shutter lineare tra due sensori diversi (aps-c e FullFrame).
Da notare come a parità di movimento più è grande il sensore (full frame) più i palazzi si inclinano e sembrano fatti di gelatina in movimento.

Il rolling shutter è parzialmente corregibile in post (quello lineare) mentre per quello circolare si può sperare nei miracoli…

Quando è troppo…

Altro problema non banale di usare sensori fotografici è la scalatura… perchè non abbiamo i pixel del fullHD, ne abbiamo un sacco in più… il fullHD è circa 2 mpixel, sulle HDSLR quando va male sono 16, il che non è sempre un vantaggio…

Le HDSLR utilizzano principalmente due tecniche di scalatura dell’immagine : line skipping e pixel binning.

Line Skipping

Il line skipping è la tecnica più vecchia, che oggi dovrebbe essere considerata obsoleta, ma quando naque 6 anni fà era gestibile.
Come funziona?

line_skipping

Semplice, abbiamo 4000 linee? ce ne bastano solo 1080? va bene allora prendiamo una linea, ne scartiamo un certo numero, poi ne prendiamo un’altra e via così fino alla fine del sensore. Naturalmente tenendo conto della struttura del sensore di Bayer, quindi come potete vedere nell’immagine laterale le informazioni catturate rispetto al sensore originale sono decisamente poche e ben distanziate.. che porta diversi problemi.


Vantaggi
:
– veloce
– semplice da effettuare
– non richiede potenza processore e rapido da gestire nel salvataggio

Svantaggi
:
– prendendo solo una parte delle informazioni si perde definizione
– si hanno artefatti come aliasing (seghettature sulle immagini)
– moires (causato dal campionamento causale delle linee)
– flickering delle linee sottili (perchè sono viste nelle linee catturate in alcuni fotogrammi e in altri no)

 

 

Pixel Binning

bloom

La seconda tecnica è il Pixel binning, è più efficace perchè usa tutti i pixel del sensore, non scarta nulla, e per creare i filmati fa un downsampling di tutte le informazioni.

In questo modo evita TUTTI i problemi del line skipping, senza introdurre altri problemi.

Questa tecnica è una introduzione recente nelle HDSLR e applicata solo da alcune case produttrici perchè richiede un processore interno alla camera molto più potente, buffer più grandi per gestire tutto il flusso informazioni e la successiva campionatura per il formato FullHD.

 

 

 

Il campionamento colore, cos’è e perchè ci preoccupa?

Le macchine professionali campionano le informazioni colore con il campionamento definito 4:4:4, ovvero per ogni gruppo di pixel si catturano e registrano tutte le informazioni colore e luminosità. Le macchine prosumer lavorano con un campionamento colore inferiore, dal 4:2:2 al 4:2:0. Il campionamento colore inferiore, spesso non è percepibile sul filmato originale, ma se girato nei limiti della qualità registrabile, o se viene pesantemente postprodotto può mostrare i suoi limiti e/o una maggior limitazione nella sua lavorabilità.

Senza annoiare con troppi concetti tecnici, le tre cifre fanno riferimento la prima alla luminanza del filmato, quindi ogni informazione di luminosità dei pixel viene campionata e catturata, le seconde due cifre fanno riferimento al campionamento del blu e del rosso. Nell’immagine sottostante vedete una rappresentazione grafica di tale campionamento.850px-Chroma_subsampling_ratios.svgquindi abbiamo una portante più stabile e dettagliata nella luminanza, mentre se dobbiamo manipolare il colore sul blu e sul rosso abbiamo meno informazioni, il che si può trasformare in artefatti o difetti sul filmato finale.
Attenzione al verbo usato, il condizionale, perchè non è detto che il filmato, se trattato con cautela, e correttamente, generi difetti o problemi. Sicuramente un filmato campionato in origine a 4:2:0 fornirà un livello di manipolabilità inferiore ad un filmato 4:4:4. Ma questo non è un limite, perchè nei film sul grande schermo si usano contributi e materiali da diverse fonti, spesso le pubblicità prima dei film sono girate in fullhd, in tanti formati diversi, e non sempre si notano le differenze.

Concludendo

Quindi noi abbiamo degli strumenti che registrano dei filmati 1920 x 1080, ma non abbiamo la conferma che abbiano catturato realmente quella griglia di informazioni, anzi nella maggior parte dei casi abbiamo la certezza che ne hanno catturato solo una minima parte di quelli che ci servono, sia a livello di definizione che di colore.
Per questo motivo ho scritto che il formato FullHD è si molto vicino a livello matematico a quello del formato cinematografico, ma non è detto che siano caratteristiche sufficienti per avere una immagine pronta per il grande schermo.
Senza fasciarsi la testa e scartare tutti gli strumenti a priori, ricordiamo come ci siano molti film girati con mezzi più umili come la pellicola 16 mm, oppure film più recenti girati in dvcam (28 giorni dopo, di danny boyle). E in tanti blockbusters ci sono molte sequenze girate con HDSLR, ma vi sfido ad inviduarle in mezzo agli altri stacchi. Quindi si può riprendere e lavorando con cura i propri filmati portarli sul grande schermo, ma da qui a dire che siano la stessa cosa che usare macchine da presa professionali …
Buona luce a tutti!

 


Powered by WordPress & Theme by Anders Norén

error: Content is protected !!