Lantialiasing (delle volte abbreviato con AA) è una tecnica per ridurre l'effetto aliasing/jaggies (in italiano, scalettatura,Vedi GRADIT, Grande Dizionario Italiano dell'Uso. gradinaturaVedi o scalettamento) quando un segnale a bassa risoluzione viene mostrato ad alta risoluzione. L'antialiasing ammorbidisce le linee smussandone i bordi e migliorando l'immagine.

Formazione dell'effetto aliasing

Le schede grafiche lavorano con triangoli e linee che, per essere mostrati, devono essere campionati (sampling). Questa è la fase dove vengono stabiliti i colori dei singoli pixel e che produce le scalinature tra gli oggetti finali.

Durante la campionatura al pixel viene assegnato un solo colore prendendo come riferimento il suo centro; se un pixel appartiene ad una linea che delimita due campi, anche in questo caso prevale il colore del campo a cui appartiene il centro del pixel. Per questo motivo su linee oblique, zone con alta differenza di colore o sui bordi netti si forma l'effetto alias. Per questo nella maggior parte dei casi (generalmente a livello hardware), l'immagine viene campionata come se invece di un singolo pixel ce ne fossero di più e al pixel finale viene assegnato il colore medio (supersampling).

L'attivazione dell'effetto, nei videogiochi, comporta (nella maggioranza dei casi) una diminuzione del frame rate sviluppato dalla scheda video, proprio a causa della grande quantità di dati che quest'ultima si trova a gestire.

Rendering sub-pixel

Le diverse tecniche di anti-aliasing intervengono in modo differente, generalmente l'anti-aliasing interviene sul pixel e quindi in caso di un'immagine bicolore (bianco e nero) si noterà che i sub-pixel dello stesso pixel sono illuminati allo stesso modo, garantendo la correttezza cromatica; Mentre alcune tecniche come il ClearType sfruttano maggiormente il sub-pixel, andando a favorire il contorno sacrificando la correttezza cromatica, motivo per il quale queste tecniche che inizialmente non regolavano l'intensità dei sub-pixel, hanno migliorato i risultati visivi con una gestione intermedia tra la gestione tradizionale dei sub-pixel e la gestione dei pixel dei metodi tradizionali di anti-aliasing.

Tipi di anti-aliasing Esistono molte tecniche per rendere i bordi più lisci e far percepire meno i pixel. Metodi tradizionali Sono le tecniche pre-processing, quindi s'interpongono nella catena di generazione dell'immagine Multisampling (Multicampionamento - MSAA) Il multisampling antialiasing (MSAA) è certamente il metodo più utilizzato.

Tale metodo agisce sui bordi dei poligoni (non su tutta l'immagine), e l'effetto aliasing viene eliminato tramite un filtro di bilanciamento dei colori: se due (o più) poligoni giacciono sullo stesso pixel, il colore del pixel viene determinato in base ai colori dei poligoni. Per esempio, se su un pixel ci sono due poligoni di colori diversi p1 che copre 2/3 e p2 che copre il restante terzo, il colore del pixel sarà uguale al bilanciamento dei due colori, tenendo conto che la "forza" del colore di p1 sarà doppia rispetto a quella di p2.

Questa analisi sarà tanto più precisa quanto maggiore sarà tale filtro (2x, 4x, 8x, ecc).

Supersampling (Supercampionamento - SSAA)

Il supersampling (SSAA), a volte chiamato Full Scene Anti-Aliasing (FSAA), anche se in quest'ultimo caso a volte viene utilizzata la tecnica MSAA è un metodo molto utilizzato, ma si differenzia dal multisampling, per il fatto che agisce su tutta l'immagine e quindi anche all'interno dei poligoni, e non solo sui bordi. Con l'SSAA ogni pixel viene suddiviso in più pixel che hanno un colore indipendente. Per calcolare il colore finale dei pixel viene fatta una "media" di tutti i pixel, generalmente dando una maggiore importanza ai pixel centrali. La maschera dei subpixel è l'insieme dei "frammenti" di pixel. Un'ottima maschera è di 4 × 4px (16 subpx) anche se paga in prestazioni rispetto alle più veloci 2 × 2 o 3 × 3px.

Questa tecnica può essere descritta anche come una riproduzione a video di un'immagine ridimensionata di 2, 3, 4 o più volte, il che permette eccellenti prestazioni qualitative, di gran lunga superiori al multisampling, ma di contro richiede un enorme dispendio di energie e risorse.

CSAA e Quincunx

Il Coverage-Sampling AA (CSAA) e il Quincunx (Quincunx AA) è un sistema usato principalmente dalla NVIDIA (con la denominazione 2xQ) che permette d'avere gli stessi risultati della 4×, ma risparmiando le prestazioni, le quali sono analoghe alla tecnica 2×; come contro può apparire una linea verticale o orizzontale non utilizzata.

Questa tecnica si applica a tutta l'immagine (esattamente come la tecnica SSAA) e consiste nel formare una griglia con i normali colori che andrebbero a formare l'immagine e creare la nuova videata sommando i colori dei quattro pixel con peso 1/8 e sommare anche un quinto campione interposto tra i quattro pixel, con peso da 1/2, per avere il pixel adiacente si utilizzeranno due dei punti usati dal pixel precedente.

Tradizionale migliorato Si trattano di tecniche tradizionali, arricchite con alcuni escamotage, che permettono di migliorare l'efficacia senza andare ad impattare significativamente sulle prestazioni.

Dynamic Super Resolution (DSR) Si tratta di un filtro SSAA, ma che opera con fattori differenti da 2x e suoi multipli, infatti in questo caso l'immagine vine renderizzata con una risoluzione maggiore rispetto a quella voluta (per esempio con fattore 1,25, oppure 2,25, ecc) e poi ridimensionata alla risoluzione desiderata.

Virtual Super Resolution (VSR) Si tratta di un filtro SSAA, che può essere applicato su giochi e motori grafici che nativamente non supportano il SSAA, in quanto sfrutta la possibilità di eseguire il gioco alle risoluzioni maggiori per poi ridurre l'immagine alla risoluzione del monitor, per fare un esempio eseguire l'applicazione alla risoluzione 4K per poi ridurre l'immagine a 1080P, ottenendo lo stesso effetto di un SSAA 4x a 1080P.

Temporal anti-aliasing (TAA) Questa tecnica anti-aliasing è conosciuto anche come TAA ed è una variante della MSAA. La maschera di applicazione dell'antialiasing di un fotogramma viene ruotata di 180° e utilizzata assieme alla maschera del frame successivo per determinare la correzione, raddoppiando la quantità di filtraggio senza intaccare le prestazioni, ma diminuendo la definizione dell'immagine conferendo un lieve effetto blur (effetto che diminuisce con l'aumento dei FPS), inoltre in questo caso la maschera di campionamento ha dei punti d'analisi disposti diversamente rispetto alle soluzioni tradizionali, perché altrimenti questi si sovrapporrebbero. Una maschera TAA 2x, è in grado quindi di garantire gli stessi effetti di un MSAA 4x, ma di richiedere solo la metà delle risorse necessarie per funzionare.

Videogiochi che usano questa tecnica sono per esempio Metal Gear Solid 4: Guns of the Patriots, Halo: Reach e The Order: 1886, in tutti e 3 i giochi settata a 2x.

Nvidia Temporal anti-aliasing o (TXAA) Questa tecnica si differenzia dal TAA per il fatto che nella campionatura subpixel, vengono utilizzati anche parte dei subpixel dei pixel adiacenti.

Multi-Frame Sampled Anti-Aliasing (MFAA) Si tratta di un TAA proprietaria di Nvidia, con schemi di campionamento subpixel programmabili.

Deep Learning Anti-Aliasing (DLAA) Si tratta di un TAA proprietaria di Nvidia, che sfrutta l'intelligenza artificiale.

MSAA+Coverage Si tratta di una soluzione MSAA con campioni subpixel accessori di copertura, che identificano solo la posizione dei poligono (ricerca dal basso impatto prestazionale) e poter determinare meglio il peso dei vari subpixel, questa soluzione influisce maggiormente sulla qualità dell'immagine con livelli bassi di filtraggio, migliorando molto l'MSAA×2, mentre con livelli superiori come MSAA×4 ha un impatto trascurabile, mentre con un livello ulteriormente superiore MSAA×8, l'impatto sulla qualità diventa pressoché ininfluente. Coverage-Sampled Anti-Aliasing (CSAA) Soluzione proprietaria di Nvidia Enhanced-Quality Anti-Aliasing (EQAA) Soluzione proprietaria di AMD Custom-Filter Anti-Aliasing (CFAA) Soluzione proprietaria di AMD, caratterizzata per la raccolta di informazioni anche al di fuori del singolo pixel

Quincunx super Anti-Aliasing (QSAA) Evoluzione della tecnica Quincunx e proprietaria di Nvidia.

Directionally-Adaptive Edge AA (DAEAA) Basato sul filtro MSAA, utilizza anche delle isolinee ed un'analisi stocastica con matrice 3×3 per migliorare la determinazione del colore.

Metodi Post-Process Anti-Aliasing (PPAA) Queste tecniche PPAA sono facili da implementare e funzionano in scenari in cui MSAA non lo fa (come l'illuminazione differita e altri aliasing non basati sulla geometria), ma mancano di un'adeguata precisione sub-pixel e sono meno stabili temporalmente. Inoltre causano una percettibile sfocatura di texture e testo, poiché è difficile per gli algoritmi di rilevamento dei bordi distinguere tra discontinuità di colore intenzionali e aliasing indesiderato causato da un rendering imperfetto.

Morphological anti-aliasing (MLAA) Questa tipo di antialiasing è stato sviluppato da Sony Computer Entertainment, e a differenza dei SSAA e MSAA non agisce prima della creazione dell'immagine, ma dopo. Si tratta di un post-processing ed agisce su tutta l'immagine, andando ad analizzare la forma di tutti i poligoni, i pixel e le texture alfa, in essa contenute.

L'MLAA ha dimostrato una notevole efficienza, consentendo una qualità dell'immagine molto elevata ad appena un minimo di riduzione delle prestazioni sostenute dal supersampling, con un guadagno sul fattore di richiedere molto meno tempo per calcolare ed applicare i suoi effetti sulle immagini, rispetto appunto a metodi tradizionali come il SSAA, o il MSAA.

Questa tecnica riduce drasticamente le scalettature di un'immagine, agendo su ogni singolo elemento, e i suoi risultati sono sostanzialmente paragonabili a quelli del supersampling.

Essendo una creazione di casa Sony Computer Entertainment, l'MLAA, venne utilizzato per la prima volta sulla PlayStation 3, grazie all'utilizzo delle SPE del Cell, in giochi come God of War III, Killzone 3, LittleBigPlanet 2, Battlefield 3 e Deus Ex: Human Revolution.

Conservative Morphological Anti-Aliasing (CMAA) Tecnica implementata da Intel, si basa su un algoritmo che gestisce solo discontinuità simmetriche per evitare sfocature indesiderate (risultando quindi più conservativo). Rispetto a SMAA, fornisce meno anti-aliasing in quanto gestisce meno tipologie di forme, ma provoca anche meno sfocature e distorsioni alle forme, inoltre ha una maggiore stabilità temporale (è meno influenzata da piccoli cambiamenti dell'immagine da fotogramma a fotogramma).

Questo tipo di soluzione si è poi evoluto in una soluzione ibrida, denominata CMAA2.

Fast approximate anti-aliasing (FXAA) LFXAA è un tipo di anti-aliasing post-processo che è stato sviluppato da Timothy Lottes, ex programmatore di NVIDIA.

È stato creato per essere molto veloce, senza richiedere grande potenza di calcolo e dispendio di energie, ma allo stesso tempo anche per ottenere delle buone prestazioni visive. Come l'MLAA, l'FXAA, applica i suoi effetti a tutta l'immagine, agendo anche sulle texture alfa, ma rispetto a quest'ultimo consuma dal 15 al 20% in meno delle risorse necessarie, ottenendo però una qualità più bassa, ma comunque accettabile.

La qualità ridotta risiede nel fatto che l'FXAA utilizza un effetto motion blur per smussare un'intera immagine, rendendola però allo stesso tempo sfocata. Inoltre gli effetti dell'FXAA vengono quasi totalmente annullati quando gli elementi sono in movimento.

Per-Primitive Antialiasing (PPAA) Tecnica che estrude i contorni della geometria e li uniforma utilizzando l'alpha blending (trasparenza).

Ibridi Soluzioni che fondono tecniche tradizionali e post-processing, generalmente non standard e proprietarie di determinate case produttrici: