Post on 17-Apr-2015
AntialiasingAntialiasing
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.
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
Image TransformationsImage Transformations
SymbolicImage
RenderingDigitalImage
AnalogImage
DisplaySystem
AnalogImage
ScanningDigitalImage
AnalogImage
DisplaySystem
Amostragem e reconstruçãoAmostragem e reconstrução
SymbolicImage
SamplingContinuous
ImageDiscreteSamples
Reconstruction
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
ConvoluçãoConvolução
• Convolução de ondas quadradas com ondas quadradas resulta em onda triangular
• f*g FG
• fg F*G
dssthsgthg )()())(*(
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
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)
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
Transformada de Fourier 2-DTransformada de Fourier 2-D
dxdyvyuxjvuFyxI
dxdyvyuxjyxIvuF
))(exp(),(2
1),(
))(exp(),(2
1),(
fy
fx
I(x,y)
Perfect SamplingPerfect Sampling
Imperfect SamplingImperfect Sampling
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
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
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
CoversCovers
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
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
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
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
ReconstruçãoReconstrução
nn
nnn
xxk
xgxxkxg
)(
)()()(
g(x1)
g(x2)g(x3)
g(x4)
k
Reconstrução de amostragens Reconstrução de amostragens estocásticasestocásticas