Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso...

27
Antialiasing tratto da: Han-Wei Shen

Transcript of Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso...

Page 1: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Antialiasingtratto da:Han-Wei Shen

Page 2: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Cos’è un alias?

Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e frequenza di campionamento aliasing c’è ovunque in computer graphics poichè il

rendering è un processo di campionamento Esempi:

linee a dente di sega (jagged lines) false tramature di texture

Page 3: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Rendering è un processo di campionamento

Page 4: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Rendering è un processo di campionamento

rendere una curva

Page 5: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Veloce rassegna di campionamento di segnali

Due passi nella rappresentazione digitale di un segnale: campionamento e ricostruzione

Aliasing può derivare da entrambi i passaggi

Page 6: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Alias provocato da sotto-campionamento

una ruota sembra girare in senso inverso

Osserva solo a 1/4 della frequenza

problema di sotto campionamento

Page 7: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Alias provocato da sotto-campionamento

segnale 1D

segnale effettivosegnale campionato

Page 8: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Alias provocato da sotto-campionamento

segnale 2d: moirée

aliasing moderato aliasing più forte

Page 9: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Quanto basta?

qual’è la giusta frequenza di campionamento?

teorema del campionamento (o limite di Nyquist) - la frequenza di campionamento deve essere almeno doppia della massima frequenza del segnale

due campioni in questo periodo

Page 10: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Si può evitare totalmente aliasing

Dato il limite di Nyquist ? In realtà no – la frequenza massima potrebbe

essere infinita, segnale non limitato in banda La maggior parte delle scene grafiche non

sono bandlimited: bordi netti non possono mai venire campionati correttamente in modo digitale (point sampling)

Come si può correggere o limitare l’aliasing

Page 11: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Ricostruzione

Dopo aver campionato (idealmente) in modo corretto, dobbiamo ricostruire il segnale continuo

Si procede usando filtri di ricostruzione

Page 12: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Filtri di ricostruzione

Filtri più comuni:

Box filter Tent filter

Sinc filter = sin(x)/x

Page 13: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Box filter

Molto semplice ma non molto buono

Page 14: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Tent Filter

Basato su interpolazione lineare. Migliore ma ancora non smooth

Page 15: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Sinc Filter

Filtro passa basso ideale:

Page 16: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Ri-campionamento

Minification and Magnification – ricampiona il segnale a risoluzioni diverse

Magnification

Minification

(note the minification is done badly here)

Page 17: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Magnification

facile da usare, ricampiona semplicemente il segnale ricostruito

Segnale ricostruito Ricampionamento a maggiore frequenza del segnale ricostruito

Page 18: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Minification

Più difficile La frequenza del segnale è troppo alta per

evitare aliasing Soluzioni possibili:

Accresci l’ampiezza del filtro passa basso del filtro ideale sinc - sfoca l’immagine

Prima sfoca l’immagine (con qualunque metodo), poi ricampionala

Page 19: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Tecniche di Antialiasing in tempo reale

Tecniche pratiche usate in hardware grafico

Page 20: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Algoritmo basati su spazio schermo

Approccio comune: campiona più fittamente la scena e calcola la media (sovracampionamento)

Idea risultato

Page 21: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Differenti schemi di sovracampionamento

Formula comune: c(i,x,y): colore del campione i per pixel(x,y); wi: peso

Diversi schemi di sovracampionamento

Page 22: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

FSAA (full screen anti-aliasing)

Rendi la scena a una risoluzione molto più alta poi fanne la media

Nvidia GeForce 2: usa ordered grid supersampling (OGSS)

3dfx voodo 5: rotated grid supersampling (RGSS) – elimina meglio alias

2x or 4x: numero di subpixels per ciascun pixel Costoso: l’intera scena può dover essere resa

più volte!

OGSS

RGSS

Page 23: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Multisampling AA

Nvidia GeForce3 – per accrescere performance

2x RGSS e 4x OGSS Non si inviano più texture for subpixels – usa

la stessa texture di colore per i subpixels Usata solo sui pixel di contorno – GPU ha più

intelligenza (è la maggiore differenza dal sovra campionamento)

Page 24: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Quincunx multisampling

Genera 2 campioni per pixel Fatti prestare qualcosa dal vicino

Qualità comparabile al metodo 4x

a metà del costo

Page 25: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

Confronto 4X - Quincunx

4X FSAA 4X Quincunx

Page 26: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

ATI - SMOOTHVISIONTM

usa un pattern di campionamento jittered

Ogni pixel ha (2x, 4x, 8x) locazioni di campionamneto alternative pre-programmate, jittered.

Pseudo-random-look (La visione umana è meno sensibile a configurazioni di campionamento casuali)

Possibili locazioni perSMOOTHVISION 4x

Page 27: Antialiasing tratto da: Han-Wei Shen. Cos’è un alias? Alias - In telecomunicazione un falso segnale dovuto a interferenza tra frequenza del segnale e.

ATI - SMOOTHVISIONTM

Quake3 screen shot

4x multi-sampling SMOOTHVISION™ 2x High-Quality mode