Antialiasing MC930 Computação Gráfica Luiz M. G. GOnçalves Aliasing “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. Images • 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 Transformations Symbolic Rendering Image Analog Image Scanning Digital Image Display System Analog Image Digital Image Display System Analog Image Amostragem e reconstrução Symbolic Discrete Sampling Reconstruction Image Samples Continuous Image Transformada de Fourier1-D • Tira qualquer sinal I(x) fora de ondas senoidais • Converte domínio do tempo em frequência • Permite usar espectro I de frequência F(u) • F(0) = “termo DC” ou média do sinal • F(-u) = F(u) 1 I ( x) exp( jux)dx 2 1 I ( x) F (u ) exp( jux)du 2 F (u ) j 2 1 exp( jux) cosux j sin ux a bj a 2 b 2 arg a bj arctan(b / a) p 1/p F x u 0 Convolução ( g * h)( t ) g ( s )h(t s)ds • Convolução de ondas quadradas com ondas quadradas resulta em onda triangular • f*g FG • fg F*G Filtragem 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 sinal I(x) F(u) s(x) S(u) p 1/p (Is)(x) (F*S)(u) s’(x) S’(u) (Is’)(x) (F*S’)(u) Teorema 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-D 1 F (u , v) I ( x, y ) exp( j (ux vy))dxdy 2 1 I ( x, y ) F (u , v) exp( j (ux vy))dxdy 2 I(x,y) fy fx Perfect Sampling Imperfect Sampling Antialiasing 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 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ã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 Covers Super-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í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õ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 Adaptativa • 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ção g ( x) g(x1) k ( x xn ) g ( xn ) n g(x2) g(x3) k(x x ) n n g(x4) k Reconstrução de amostragens estocásticas