aliasing y anti aliasing

18
17/05/2010 TECNICAS DE ANTI-ALIASING | Alex Montero [email protected] COMPUTACI ON GRAFICA ALIASING & ANTI-ALIASING

Upload: alex-montero

Post on 20-Jun-2015

1.444 views

Category:

Documents


0 download

DESCRIPTION

Algunas tecnicas de antialiasing para aplicar dentro de lo que es La computacion Grafica con el uso del Api OpenGL

TRANSCRIPT

Page 1: Aliasing y Anti Aliasing

17/05/2010

TECNICAS DE ANTI-ALIASING | Alex Montero [email protected]

COMPUTACION GRAFICA ALIASING & ANTI-ALIASING

Page 2: Aliasing y Anti Aliasing

Índice

Índice 02

Introducción 03

Aliasing 04

Anti-Aliasing 05

Técnicas de Anti-aliasing 06

1. Muestreo Estocástico 07

2. A-Buffer 08

3. Super-Sampling 08

4. Multi-Sampling 09

5. Fragment Aliasing 09

6. Smooth Vision 10

7. Quincunx 10

8. Filtro Anisotrópico 12

9. Accuview 12

10. Intellisample Technology 12

Conclusiones 13

Bibliografía 14

2

Page 3: Aliasing y Anti Aliasing

Introducción

El realizar efectos gráficos y visuales hace 15 años aproximadamente, era tarea que podía tomar horas de horas, y sólo podían ser realizadas en tiempo no real. Más tarde, se incorporo costosos equipos, utilizados más que nada para simulaciones militares. Sin embargo, con el creciente aumento de la tecnología, y la disminución del precio en ésta, se sugirió que estos efectos podrían ser considerados para ser implementados en tiempo real en sistemas de bajo costo, así como los PC y consolas de juegos. En este documento se analizará las diferentes técnicas de anti-aliasing implementadas por diferentes empresas de hardware (como Nvidia y ATI) y la matemática en que se basan, así como también se tratarán técnicas de filtro anisotrópico.

3

Page 4: Aliasing y Anti Aliasing

AliasingEl aliasing es el efecto que causa que señales continuas distintas se

tornen indistinguibles cuando se les muestrea digitalmente, cuando sucede esto la imagen no puede ser reconstruida unívocamente a partir de la señal digital. Es decir la aparición de distorsiones y colgajos en curvas y líneas diagonales debido a una resolución limitada de rendereo y display.

El aliasing es un motivo de preocupación en el muestro analógico- digital de señales de audio y video; el muestro incorrecto de señales analógicas de alta frecuencia presenten cierto aliasing respecto de señales de baja frecuencia.

El aliasing también es una preocupación en el área de Computación Grafica e Infografía donde puede dar origen a los patrones de Moiré (en imágenes con detalles finísimos) así como bordes dentados.

El aliasing nos puede traer problemas sobre todo en el campo de la visión por computadoras, donde hacemos uso del hardware y si la imagen es incorrecta respecto de la imagen obtenida en la realidad presentara errores.

4

Page 5: Aliasing y Anti Aliasing

Aliasing en fenómenos periódicos: El movimiento aparente del sol de ESTE a ORESTE.

Muestreo de una señal sinusoidal: Obtener las mismas de una sinusoidal igualmente pero con frecuencia más baja. Específicamente, si una sinusoide de frecuencia f Hz es muestreada s veces por segundo, y s ≤ 2·f, entonces las muestras resultantes también serán compatibles con una sinusoide de frecuencia fm - f, donde fm es la frecuencia de muestreo.

Criterio de Nyquist: Observando el muestreo de señales sinusoidal para evitar el aliasing es necesario asegurarse de que en la señal analógica a muestrear con una frecuencia s, no existen componentes sinusoidales de frecuencia mayor a s/2.Es decir la frecuencia de muestreo s debe ser al menos dos veces mayor que el ancho de banda de la señal.

En la Computación Grafica: es el artefacto grafico característico que hace que en una pantalla ciertas curvas y líneas inclinadas presenten un efecto visual tipo “sierra” o “escalón” debido a la resolución finita del sustrato que limita el representado de la curva como tal, por tanto se presentan dentadas al estar compuesto por pequeños cuadrados(los pixeles).

5

Page 6: Aliasing y Anti Aliasing

Anti-AliasingSon técnicas de minimización de aliases cuando se desea

implementar una señal de alta resolución en un sustrato de baja resolución. Implementadas por Software y Hardware que permiten obtener bordes suaves con resoluciones limitadas.

En la mayoría de los casos el anti-aliasing consiste en la eliminación de la información de frecuencia demasiado elevada para poder ser representada.

Como comparación entre técnicas de anti-aliasing entra tarjetas gráficas, podemos enunciar a 3dfx, cuya técnica requiere múltiples chips VSA-100, con Frame buffers independientes, donde se deben solucionar problemas inherentes a almacenamiento, a medida que las texturas son replicadas por los chips (desperdiciando valioso espacio). En Cambio la arquitectura de la Geforce2 GTS, soporta Full-Scene anti-aliasing en un solo chip, y no desperdicia toda la cantidad de espacio como la 3dfx.

6

Aliasing

Anti-Aliasing

Page 7: Aliasing y Anti Aliasing

Técnicas de Anti-AliasingExisten técnicas para corregir el aliasing; estas técnicas aunque no la

eliminan, reducen bastante el efecto y permiten engañar al ojo humano para que perciba los bordes de las imágenes mucho más suaves.

1. Muestreo EstocásticoUtiliza el hecho de que el sistema visual humano es más sensible a patrones regulares que a patrones aleatorios. Utilizado en su mayoría en Ray-Tracing. El muestreo es realizado utilizando un patrón cuasi-aleatorio (transformadas de Fourier).

Los patrones de Poisson son generados simplemente agregado puntos en lugares aleatorios.

El disco de Poisson es mucho más caro de calcular, debió a que hay un límite en cuan cercano puede estar un punto relativo a otro.

El patrón de Jitter es generado utilizando una malla regular para luego desplazar los punto en una cantidad aleatoria en dirección X e Y.

7

Patrones de Ruido

Transformadas de Fourier

PoissonDisco de Poisson

Jitter

Page 8: Aliasing y Anti Aliasing

2. A-Buffer: Este método es considerado como una mezcla de los métodos analíticos y de supersampling.Una ventaja es que puede ignorar la cubierta de un polígono de gran tamaño por lo que solo consideraría los pixeles del borde; la mayoría de veces ha sido utilizado con polígonos semi-transparentes, demostrando su eficiencia. Una desventaja considerando su implementación por hardware es la que no existe limite en cuanto puede crecer el numero de polígonos visibles; además el trabajo por pixel no es conocido de antemano. Aunque existen algunas implementaciones de Software de renderizado de alta calidad.Desarrollado inicialmente para el rendereo llamado REYES (Renders Everithing You Ever Saw) para la división de computadoras de LucasFilm, empresa que se convertiría mas tarde en PIXAR, y REYES en el motor de renderizado de la implementación de la Interfaz Renderman, utilizada para la producción de infinidad de animaciones computarizadas de larga duración.

Otros algoritmos utilizados dentro de esta categoría son: EXACT (Exact Area Coverage Calculation, para resolver el problema de la intersección de superficies), A-Buffer Modificado (añade transparencias independientes del orden), Z3 (similar al A-Buffer Modificado, pero que intenta ahorrar espacio de memoria), y el R-Buffer (Recirculating fragment buffer).

3. Super-SamplingAdemás de la Multi-Sampling son los métodos más sencillos de implementar en hardware ya que toman más muestras de la imagen por pixel que pueden estar espaciadas por intervalos regulares; algunas: cubico, cónico y gausseano (las cuales se diferencian en cuanto al peso de la ponderación de los pixeles al aplicarse la reducción del tamaño)

8

Ponderado de los pixeles

Page 9: Aliasing y Anti Aliasing

4. Multi-SamplingCon este método cada pixel es muestreado según su textura desde diferentes localidades y esas muestras son usadas para reconstruir el; valor final de cada pixel.

5. Fragment Aliasing (MATROX)Esta técnica solo aplica en los bordes y no en la imagen completa. En el proceso de rendereo se crea una alista de fragmentos con los pixeles de los bordes, luego se calcula la porción de pixeles que caen dentro de los fragmentos para realizar una interpolación entre ellos.

9

Sin Fragment Anti-Aliasing

Con Fragment Anti-Aliasing

Page 10: Aliasing y Anti Aliasing

El rendimiento del estilo de filtro a diferencia de los sampling no requiere de un ancho de banda de memoria adicional ya que toma un 5% o 6% de recursos del hardware, en contraste con Geforce Ti4600 que toma 66% de los recursos para pasar de Aliasing a 4XAnti Aliasing. Además la calidad de imagen que provee en los bordes es mucho mejor a los métodos conocidos.

6. Smooth Vision (ATI)Se utilizan grupos de 16 puntos por muestreo, los que son divididos en varios pixeles dependiendo de la calidad deseada de anti-aliasing en el modo 2X, las muestras cubren 8 pixeles, en 4X cubren 4 pixeles, etc.Cada pixel tiene 8 alternativas pre-programadas de localización, las cuales lucen como un patrón pseudo-aleatorio y es debido a esta aparente aleatoriedad que crea imágenes placenteras para el ojo humano, ya que el efecto de dentado es cambiado por ruido.

7. Quincux (Nvidia)Es aplicado después de la escena que ha sido creada en la pantalla, pero se almacena cada pixel dos veces en diferentes zonas del Frame Buffer. Este proceso no requiere más poder del rendering pero si más ancho de banda de la memoria, para cuando se coloca el último pixel de la imagen, el motor grafico de la tarjeta, desplaza virtualmente una de las escenas medio pixel en dirección diagonal.

10

Smooth Vision 4X

Page 11: Aliasing y Anti Aliasing

Esto produce el efecto de que cada pixel de la primera escena está rodeado de cuatro pixeles de la segunda escena, que están a una distancia de ½.Luego, se pondera cada pixel según los valores para crear el pixel anti-aliased.

Es posible mostrar las diferencias de este método con el Super-Sampling, donde es posible observar el método Quincunx es similar al de Super-Sampling 4X

El algoritmo que describe el efecto de Quincunx puede ser descrito de la siguiente forma:

1- Se dibuja la escena normalmente en el Frame Buffer.

2- Utilizando blending, se dibuja 0.625 de la imagen original en el Frame Buffer.

3- Luego, utilizando blending de 0.125 se mezcla el Frame Buffer con la imagen original desplazada

11

Comparación de Quincunx y de Super-Sampling

Ponderado de los pixeles

A la llegada del último pixel los cuadros corridos en diagonal

Page 12: Aliasing y Anti Aliasing

8. Filtro anisotrópicoEsta técnica intenta desplegar de una forma más precisa y detallada los mapas de textura de objetos cuya posición con respecto al observador está casi paralela, por lo cual se percibe un efecto de distorsión a medida que aumenta la profundidad del objeto.

9. Accuview (Nvidia)Técnica abordada desde la Geforce4, consiste en proveer a la GPU del hardware necesario para procesar varias muestras en tiempo real, es decir sin degradación del rendimiento. En general se basa en la tecnología de Quincunx pero va incluso un poco más allá.El concepto destras de esta técnica es la mejora del desplazamiento de los pixeles en el momento de generar pixel anti-aliased, obtenido así una mejor ponderación y disminución en la percepción

10. Intellisample TechnologyPresente en la GPU de la Geforce FX, presenta la característica de compresión del color y de depth buffer, permitiendo un gran incremento de kla velocidad de genracion de anti-aliasing.

12

Al igual que la técnica de anti-aliasing, el filtro anisotrópico presenta un alto costo de desempeño, por lo cual es necesario introducir algoritmos

rápidos de alto desempeño

Page 13: Aliasing y Anti Aliasing

Bibliografia

Referencias:

1. Richard Cant, Nathan CHIA y David Al-Dabass. “New anti-aliasing and depth of field techniques for games”. The Nottingham Trent University.

2. Addison-Wesley Publishing Company “OpenGL Programming Guide”.3. “Articles & Guides”: Chipset information. Tarjetas gráficas como

Geforce4, Ati 9700Pro. www.guru3d.com4. “Introduction to Anti-Aliasing Techniques”. http://www.siggraph.org5. “Fragment anti-aliasing Multi-Sampling”.

http://firingsquad.gamers.com6. “NVIDIA Accuview Technical Brief”,

http://www.nvidia.com/docs/lo/1451/SUPP/accuview.final.pdf7. “Matrox Pharelia, 16X Fragment Antialiasing”,

http://www.matrox.com/mga8. “Study of SuperSampling Methods for Computer Graphics Hardware

Antialiasing”, Michael E. Goss and Kevin Wu.

13