Piccolo e letale. Avisynth è un potentissimo strumento di editing audio-video.
|
|
9. AnimeLe anime sono una vera rogna, la dannazione di ogni codec MPEG-4 ASP.
Alcuni si comportano meglio di altri, ma ogni codec soffre, in misura variabile, di perniciosa antipatia.
In questo ambito, più che in altri, è necessario ricorrere ad una vera e propria azione di cesello.
L'anime richiede un approccio su vari livelli che deve tener conto (per non parlare di eventuali problemi legati a sorgenti telecined o interlaced) di:
- Noise (classici odiosissimi puntini diffusi. Come sempre, molto dipende dalla sorgente)
- Mosquito noise
- Blocking (il trionfo del Lego)
Il secondo e il terzo praticamente inevitabili per i motivi enunciati varie volte in precedenza e che ricordo ancora una volta:
-
mosquito:: si presenta sugli orli degli oggetti a forte contrasto. Anche un bitrate alto non riesce ad evitarlo.
-
blocking: si presenta, anche ad alto bitrate, quando il colore e troppo uniforme.
Entrambi vanno a nozze con le anime.
L'azione secca di un codec ASP, come DivX o XviD, anche ad alti bitrate, rischia di non risolvere gli artefatti di cui sopra.
Come si può fare?
Tralasciando il settaggio del codec (si spera che sia stato fatto correttamente

) diciamo che "l'intervento chirurgico", almeno in prima approssimazione, si deve articolare nei seguenti punti:
- Smoothing - per ridurre la formazione di macroblocchi o ripulire una sorgente particolarmente rovinata
- Sharpening - per ripulire e ridefinire i contorni che possono essere stati danneggiati anche dall'azione precedente.
- Correzione del colore - i codec tendono ad appiattirli. In un film si nota meno ma in un'anime, dove i colori sono più accesi, la differenza può essere molto evidente
Mosquito,
noise e
blocking si possono circoscrivere con dei filtri... denoise.
Il
blocking in particolare, si può far rientrare con i denoise spaziali con settaggi molto aggressivi.
Questo perchè, a differenza di un film, non ci sono dettagli in rilievo che il filtro altrimenti piallerebbe (con conseguente appiattimento dell'immagine), per cui il filtro lavora bene, Oltretutto, si elimina anche l'eventuale rumore.
In più, filtri come
Deen,
PeachSmoother o
Convolution3D, lavorano sulla componente
luma e sulla componente
chroma e un settaggio aggressivo su questi parametri può "mescolare" i colori che, in un'anime diminuisce l'effetto di "blocchettosità", in un film fa un mezzo schifo.
Un pò di attenzione è richiesta anche in questo caso altrimenti col "mescolamento", per quanto prudenti siano i filtri, i bordi andrebbero a farsi benedire.
A questo proposito, un filtro interessante è
MSmooth, che ha un azione di spianamento notevole (visibile negli esempi che seguiranno) unita ad una notevole attenzione per i bordi.
Suggerirei di non usare
Unfilter. E' vero che è uno smoother spaziale ma tende a sfumare tutto (non è, come si dice,
edge-sensitive, anche gli orli, che diventano difficilmente recuperabili anche con gli sharpener più incazzati.
Se questi filtri vengono configurati come si deve, oltre al
Blocking, anche il
Mosquito Noise rientrerà del tutto.
Il default spesso va più che bene ma i casi particolari (es. codifica di anime acquisite da sorgente analogica) vanno trattati con maggior cura
Dopo
mosquito e
blocking è giunto il momento di occuparsi dello
sharpening.
Comincia ad essere evidente cosa significhi "lavorare di cesello".
Va ricordato che usare uno sharpener in materia scriteriata può causare la comparsa degli artefatti eliminati nella fase precedente, vale a dire mosquito e blocchi.
L'uso di Avisynth dev'essere concepito come una calibratura di varie fasi, ognuna delle quali non è mai circoscritta in un compartimento stagno ma lascia degli strascichi di cui si deve tener conto nelle varie fasi del processo.
Il sapere, anche approssimativamente, cosa comporta l'uso di un filtro particolare, quale "eredità" lasci, se vogliamo, mette al riparo da brutte sorprese.
E' una regola generale.La precisione degli orli è importante in un'anime perchè i contorni, quasi sempre neri o molto scuri, si devono stagliare netti e ben definiti.
Esistono numerosi "
sharpener".
Fra gli sharpener va ricordato il più semplice di tutti:
Unfilter, già visto in precedenza (vedi paragrafo 4.2).
Ma anche come sharpener, dovendo necessariamente usare un settaggio aggressivo, non va benissimo perchè la sua azione è troppo globale e c'è la forte probabilità che i blocchetti, eliminati nella fase precedente con tanta fatica, si ripresentino di nuovo.
Meglio rivolgere l'attenzione a dei filtri che nascono per questo scopo come:
aSharp,
aWarpSharp,
warpSharp,
MSharpenSono tutti filtri adattivi, come lo è
MSmooth per lo smoothing, il terzo viene considerato in quanto facente parte (insieme ad
aWarpSharp) di uno dei migliori script esistenti per lo sharpening delle Anime:
MFtoon.
Negli esempi che seguiranno, verranno mostrati degli script minimali in cui l'unica cosa che viene effettivamente testata, è il comportamento dell'accoppiata
smoother-sharpener.
Gli accoppiamenti sono del tutto arbitrari e ognuno può scegliere quelli che meglio crede.
Non credo di poter stabilire quale procedimento sia migliore perchè ognuno ragiona in base a criteri personali di qualità o velocità.
Le conclusioni le rimando alla fine.
1° script: Lanczos + Unfilter
Due parole sugli script prima di proseguire:
L'immagine originale (piuttosto rovinata) è stata ingrandita (l'originale era un (352 x 288)), quindi per tutti gli script è stato usato un resize "robusto"
Nel 1° script si lascia la definizione dei bordi al lanczos e la diminuzione della blocchettosità ad
Unfilter.
Il 2° e 3° script sono molto simili fra loro. I filtri usati sono molto validi in entrambi. A differenza del primo, preferisco usare un resize meno aggressivo del Lanczos e lasciare il lavoro di rifinitura agli sharpener.
E' un esempio di ragionamento che varia molto a seconda delle condizioni dei video che si devono trattare.
Viene fatto giusto per fissare le idee e per mostrare uno dei possibili procedimenti. Ce ne saranno senza dubbio altri trecento alltrettanto validi. L'importante è che si capisca che per fare le cose per bene
un procedimento universale non esiste.
MSmooth e
MSharpen hanno la bella particolarità di essere definiti appositamente per le anime.
Sono dei filtri adattivi che permettono di impostare la "sensibilità" alla presenza del bordo nero, tipico delle anime.
MSmooth è deputato allo "spianamento" delle eventuali imperfezioni, utile anche per il ripristino dell'uniformità dei colori.
MSharpen ridefinisce i bordi (
passare col mouse sulla figura per evidenziare la maschera usata dal filtro):
>>> Clicca qui per vedere il Mask Filter <<< mfToon è uno script che combina vari sharpener e, almeno per me, si è dimostrato il migliore in assoluto.
L'invocazione è quanto di più semplice si possa immaginare:
mfToon() che agisce per default con la massima potenza (strength=255) e lo fa benissimo.
Se si vuole limitarne il raggio d'azione basta settarne opportunamente l'efficacia:
mfToon(strength=128) (per ridurre lo sharp del 50%)
Lo svantaggio è che si tratta di un filtro molto lento ma l'attesa è ampiamente ripagata.
Come denoiser spazio-temporale ho usato
deen perchè il potente mescolamento dei colori attuato da questo filtro lo rende particolarmente indicato per le superfici ampie delle anime.
Ho aumentato lievemente la saturazione ed ho corretto la gamma cromatica attraverso
ColorYUVQuesto filtro, come
tweak, permette di regolare luminostà e colore ma in modo più avanzato. Infatti è possibile intervenire su ogni singolo canale della gamma cromatica: Y,U e V.
In effetti si potrebbe utilizzare il solo
ColorYUV ma
tweak è più semplice da usare e
ColorYUV è comodo per bilanciare meglio i colori con i parametri
gain_u,
gain_v.
- Valori positivi di gain_u tendono al blu, negativi al giallo.
- Valori positivi di gain_v tendono al rosso, negativi al verde.
Poichè
tweak agisce dappertutto, con
ColorYUV è possibile rendere solo alcuni colori più o meno evidenti di altri.
Nel mio esempio il valore positivo di
gain_u serviva per ridure il colore giallognolo diffuso un pò in tutto il video in modo da esaltare il bianco e conferire agli incarnati un colore un pò più naturale.
Di seguito, viene mostrato il confronto fra i risultati prodotto dall'accoppiata
mfToon() + deen con gli altri casi.
>>> Clicca qui per confrontare i vari filtri <<< Nel confronto è anche evidente come, pur mantenendo un buon livello di definizione, l'accoppiata
Msmooth + Msharpen rimane un gradino al di sotto dell'accoppiata
mfToon + Deen. E' ovvio che molto dipende dalla configurazione dei filtri. Non nego che una configurazione più accorta avrebbe prodotto risultati migliori.
Rimane il fatto che il caso in oggetto, che prevedeva l'ingradimento dell'immagine e la ripulitura causa sorgente particolarmente rovinata, ha richiesto per mfToon e Deen praticamente il solo
default (a differenza di
Msmooth + Msharpen) vale a dire:
minimo sforzo, massimo risultato.PARTE ACap. 1. PremessaCap. 2. Cos'è AvisynthCap. 3. Installazione di AvisynthCap. 4. Primi scriptPARTE BCap. 5. Avisynth: dove il codec non arrivaCap. 6. Telecined, Progressive e InterlacedCap. 7. Gestione del ColoreCap. 8. Ripulire la sorgente videoCap. 9. AnimeCap. 10 Post-Processing e altre peculiarità