Post-processing video
Il post-processing video (o semplicemente post-processing, abbreviato in postproc) è l'insieme delle tecniche di elaborazione digitale delle immagini applicate a un video dopo la decodifica per migliorarne la qualità percepita durante la riproduzione.[1] Queste tecniche consentono in particolare di ridurre gli artefatti che la compressione produce a bassi bit rate, senza intervenire sulla codifica.[2] Sono implementate nei dispositivi di riproduzione, come i lettori DVD-Video e i televisori, e in programmi come i lettori multimediali e i software di transcodifica.[3]
Il termine è usato anche nel rendering 3D in tempo reale, in particolare nei videogiochi, per indicare gli effetti applicati all'immagine della scena già renderizzata, prima che venga visualizzata sullo schermo.[4]
Tecniche
[modifica | modifica wikitesto]Tra le tecniche di post-processing applicate ai video figurano il ridimensionamento dell'immagine, i filtri di deblocking e di deringing, la riduzione del rumore temporale, la correzione automatica dei livelli di luminanza e il deinterlacciamento; i filtri possono agire sulla sola luminanza o anche sulla crominanza.[3] La qualità del video elaborato viene valutata confrontandolo con un video di riferimento, con misure oggettive, come il rapporto segnale/rumore di picco (PSNR), o soggettive, come il mean opinion score (MOS).[1]
Ridimensionamento
[modifica | modifica wikitesto]Un processo fondamentale del post-processing è il ridimensionamento dell'immagine, necessario quando il video deve essere riprodotto su un sistema di visualizzazione con una risoluzione diversa da quella di origine. Il nucleo di uno scaler video è una funzione di interpolazione, generalmente bilineare, bicubica o spline.[1] Il ridimensionamento comporta sempre un compromesso tra velocità di elaborazione, morbidezza e nitidezza dell'immagine.
Deblocking
[modifica | modifica wikitesto]Il blocking (detto anche quadrettatura) è un artefatto tipico delle tecniche di compressione video basate sulla suddivisione dei fotogrammi in blocchi, come quelle degli standard MPEG-1, MPEG-2 e MPEG-4: si manifesta come discontinuità visibili lungo i bordi dei blocchi, particolarmente evidenti a bassi bit rate.[2] Il filtro di deblocking attenua queste discontinuità smussando i bordi tra i blocchi.[2]
Nei formati precedenti il deblocking è una funzione di post-processing facoltativa e non normativa del decoder; nello standard H.264 il filtro di deblocking è invece parte integrante sia della codifica sia della decodifica (filtro in-loop): i fotogrammi filtrati vengono usati come riferimento per la compensazione del moto, perciò tutti i decoder conformi devono eseguire lo stesso filtraggio. Il filtro H.264 opera sui bordi dei blocchi 4×4 della luminanza e sui bordi corrispondenti della crominanza; a ogni bordo è assegnata un'intensità di filtraggio (boundary strength) da 0 a 4, più elevata dove la presenza di artefatti è più probabile, come tra macroblocchi codificati in modalità intra. Su ogni lato del bordo il filtro può modificare fino a tre campioni di luminanza e uno di crominanza, con soglie che crescono con il parametro di quantizzazione; rispetto alla codifica senza filtro permette risparmi di bit rate superiori al 9% a parità di qualità.[5] Il formato DivX adotta lo standard H.264 a partire dalla versione 7, presentata nel 2009.[6]
I filtri di deblocking sono molto usati nelle videoconferenze, dove il basso bit rate tende a produrre immagini di scarsa qualità.
Deringing
[modifica | modifica wikitesto]
Il ringing è un artefatto di compressione che si manifesta come oscillazioni spurie (aloni) in prossimità dei contorni netti dell'immagine, per effetto della quantizzazione dei coefficienti ad alta frequenza (fenomeno di Gibbs); il filtro di deringing ha lo scopo di ridurlo.[2] Il difetto è particolarmente evidente nei cartoni animati, lungo i contorni dei personaggi, di solito neri, dove appare come una serie di punti colorati assenti nell'originale; un disturbo affine, tremolante intorno ai contorni degli oggetti, è detto mosquito noise.
Livelli di post-processing nei decoder DivX
[modifica | modifica wikitesto]Nei decoder DivX il post-processing poteva essere regolato su più livelli, per bilanciare la qualità dell'immagine e il carico di calcolo: il livello minimo non applica alcun filtro ed è il più veloce. Nel decoder OpenDivX, secondo la documentazione di MPlayer, i livelli successivi attivano progressivamente il deblocking orizzontale e verticale della luminanza, il deblocking orizzontale e verticale della crominanza e infine il deringing della luminanza e della crominanza.[7] I filtri agiscono sulla luminanza prima che sulla crominanza perché l'occhio umano è meno sensibile alle componenti di crominanza del segnale video (vedi sottocampionamento della crominanza). A partire dalla versione 6 il decoder DivX offre impostazioni semplificate, come il deblocking automatico o il deblocking e il deringing completamente automatici.[8]
| Valore del livello | Deblocking orizzontale della luminanza | Deblocking verticale della luminanza | Deblocking orizzontale della crominanza | Deblocking verticale della crominanza | Deringing della luminanza | Deringing della crominanza |
|---|---|---|---|---|---|---|
| 0 | ||||||
| 1-9 | X | |||||
| 10-19 | X | X | ||||
| 20-29 | X | X | X | |||
| 30-39 | X | X | X | X | ||
| 40-49 | X | X | X | X | X | |
| 50-59 | X | X | X | X | X | X |
Nel rendering 3D
[modifica | modifica wikitesto]Nel rendering 3D in tempo reale, soprattutto nei videogiochi, il post-processing consiste nell'applicare effetti all'immagine di una scena già renderizzata, prima che venga mostrata sullo schermo; questi effetti permettono, tra l'altro, di simulare le proprietà fisiche delle macchine da presa e delle pellicole.[4] Anziché inviare direttamente allo schermo il risultato del rendering, la scena viene prima disegnata in un buffer nella memoria della scheda video; programmi shader elaborano poi l'immagine, utilizzando eventualmente le informazioni di profondità dello Z-buffer, senza dover renderizzare nuovamente la scena.[9] Ciò permette di realizzare effetti che richiedono la conoscenza dell'intera immagine, mentre normalmente ogni oggetto 3D viene renderizzato separatamente.
Tra gli effetti di post-processing più diffusi figurano l'antialiasing (come il FXAA), l'occlusione ambientale calcolata nello spazio dello schermo, i riflessi nello spazio dello schermo, la profondità di campo, il mosso (motion blur), il bloom, la mappatura tonale (tone mapping), l'aberrazione cromatica, la grana della pellicola e la vignettatura,[4] ai quali si aggiungono la correzione del colore (color grading), il lens flare e la simulazione dell'adattamento dell'occhio alla luminosità della scena.[10] Nello sviluppo di un videogioco gli effetti di post-processing contribuiscono a definire lo stile visivo complessivo e vengono generalmente regolati nelle fasi finali del lavoro.[11]
Note
[modifica | modifica wikitesto]- 1 2 3 Malepati
- 1 2 3 4 (EN) Mei-Yin Shen e C.-C. Jay Kuo, Review of Postprocessing Techniques for Compression Artifact Removal, in Journal of Visual Communication and Image Representation, vol. 9, n. 1, 1998, pp. 2-14, DOI:10.1006/jvci.1997.0378.
- 1 2 (EN) MPlayer(1) – The Movie Player, su MPlayer. URL consultato il 27 ottobre 2026.
- 1 2 3 (EN) Unity Technologies, Understanding post-processing, su Unity Documentation. URL consultato il 27 ottobre 2026.
- ↑ (EN) Peter List, Anthony Joch, Jani Lainema, Gisle Bjøntegaard e Marta Karczewicz, Adaptive deblocking filter, in IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, n. 7, 2003, pp. 614-619, DOI:10.1109/TCSVT.2003.815175.
- ↑ (EN) Alun Taylor, DivX rolls out DivX 7, in The Register, 9 gennaio 2009. URL consultato il 27 ottobre 2026.
- 1 2 (EN) OpenDivX support in MPlayer, su GitHub. URL consultato il 27 ottobre 2026.
- ↑ (EN) DivX Plus Codec Pack Version History, su DivX. URL consultato il 27 ottobre 2026.
- ↑ Rosado
- ↑ (EN) Post Process Effects in Unreal Engine, su Epic Developer Community, Epic Games. URL consultato il 27 ottobre 2026.
- ↑ (EN) Sami Laukkanen, Post-processing in video games, su Theseus, Turku University of Applied Sciences, 2018. URL consultato il 27 ottobre 2026.
Bibliografia
[modifica | modifica wikitesto]- (EN) Hazarathaiah Malepati, Video Post-Processing, in Digital Media Processing: DSP Algorithms Using C, Burlington, Newnes, 2010, pp. 713-743, ISBN 978-1-85617-678-1.
- (EN) Gilberto Rosado, Motion Blur as a Post-Processing Effect, in Hubert Nguyen (a cura di), GPU Gems 3, Addison-Wesley, 2007, ISBN 978-0-321-51526-1.