23
Antialiasing Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Embed Size (px)

Citation preview

Page 1: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

AntialiasingAntialiasing

MC930

Computação Gráfica

Luiz M. G. GOnçalves

Page 2: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

AliasingAliasing

“Aliasing” ocorre quando a taxa de amostragem do sinal não é adequada para sua reconstrução, criando ilusão de um sinal de baixa frequência.

Page 3: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

ImagesImages• Imagens analógicas

– região 2-D de cor variada– ex: imagem ótica, sinal eletrico do monitor– Imagem simbólica– Qualquer função de duas variáveis reais– ex: sin(x2 + y2)

• Imagem digital– array 2-D valores de cor c/ espaçamento

uniforme– ex: frame-buffer

Page 4: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Image TransformationsImage Transformations

SymbolicImage

RenderingDigitalImage

AnalogImage

DisplaySystem

AnalogImage

ScanningDigitalImage

AnalogImage

DisplaySystem

Page 5: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Amostragem e reconstruçãoAmostragem e reconstrução

SymbolicImage

SamplingContinuous

ImageDiscreteSamples

Reconstruction

Page 6: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Transformada deTransformada deFourier1-DFourier1-D• Tira qualquer sinal I(x)

fora de ondas senoidais• Converte domínio do

tempo em frequência• Permite usar espectro

de frequência F(u)• F(0) = “termo DC” ou

média do sinal• F(-u) = F(u)

dujuxuFxI

dxjuxxIuF

)exp()(2

1)(

)exp()(2

1)(

)/arctan(arg

sincos)exp(

1

22

2

abbja

babja

uxjuxjux

j

I

x

F

u0

p 1/p

Page 7: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

ConvoluçãoConvolução

• Convolução de ondas quadradas com ondas quadradas resulta em onda triangular

• f*g FG

• fg F*G

dssthsgthg )()())(*(

Page 8: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Filtragem passa-baixaFiltragem passa-baixa

• Transf. Fourier de uma função box é uma função sinc

• Conv. com uma função sinc é filtro passa-baixa ideal

• Multiplica altas frequências por zero

Page 9: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Amostrando o sinalAmostrando o sinal

p 1/p

I(x)

s(x)

(Is)(x)

(Is’)(x)

s’(x)

F(u)

S(u)

(F*S)(u)

S’(u)

(F*S’)(u)

Page 10: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Teorema de ShannonTeorema de Shannon

Um sinal cujo espectro não possui energia acima de uma frequência f pode ser recuperado com amostragens a uma taxa de 2f ou mais

Page 11: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Transformada de Fourier 2-DTransformada de Fourier 2-D

dxdyvyuxjvuFyxI

dxdyvyuxjyxIvuF

))(exp(),(2

1),(

))(exp(),(2

1),(

fy

fx

I(x,y)

Page 12: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Perfect SamplingPerfect Sampling

Page 13: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Imperfect SamplingImperfect Sampling

Page 14: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Antialiasing MethodsAntialiasing Methods

• Aproximar uma amostragem de area– com uma amostragem por área analítica– com uma amostragem por pontos de um objeto

suavizado (“borrado”)– com muitas amostragens discretas

Page 15: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Traçando num coneTraçando num cone

• Amanatides SIGGRAPH 84

• Troca raios por cones

• Cone amostra área de um pixel

• Intersepta cone com objetos– Soluções analíticas similar a “ray tracing”– Custoso

Page 16: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Traçando com um canhãoTraçando com um canhão• Heckbert & Hanrahan SIGGRAPH 84

• Troca raios por piramides generalizadas

• Interseção com cenas poligonais– Interseção plano-plano fácil e rápido– Anti-aliasing usando “scan conversion”

• Pode executar traçado por canhão recursivo– Cena transformada para um novo ponto de vista– Resultado é “clipado” p/ um polígono refletivo

Page 17: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

CoversCovers

Page 18: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Super-amostragemSuper-amostragem

• Traçar a uma solução alta, manter média

• Amostragem adaptativa– traçar a uma resolução alta só onde necessário

• Problemas– Não elimina “aliases” (e.g. moire patterns)– Transforma “aliases” em “higher-frequency”– Devido a uniformidade de amostragens

Page 19: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Amostragem estatísticaAmostragem estatística

• Olho é extremamente sensível a padrões

• Remove padrões da amostragem

• Torna aleatório padrão de amostragem

• Resultado: padrão -> ruído

• Alguns ruídos são melhores que outros

Page 20: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

PadrõesPadrões

• “Jitter”– Pega n pontos aleatórios no espaço-amostragem

• “Jitter” uniforme– Subdivide o espaço-amostragem em n regiões

• Disco de Poisson– Pega n pontos aleatórios, mas não próximos

Page 21: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Amostragem estatística Amostragem estatística AdaptativaAdaptativa

• Proximidade inv. proporcional à variancia

• Como gerar padrões em vários níveis?– Cook: Jitter numa quadtree– Dippe/Wold: Jitter numa k-d-tree– Dippe/Wold: Disco Poisson “on-the-fly” (lento)– Mitchell: Pre-comp. níveis - ráp. mas granular

Page 22: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

ReconstruçãoReconstrução

nn

nnn

xxk

xgxxkxg

)(

)()()(

g(x1)

g(x2)g(x3)

g(x4)

k

Page 23: Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves

Reconstrução de amostragens Reconstrução de amostragens estocásticasestocásticas