Articulo de referencia

Supermuestreo

Cálculo del valor del color final Comparación de una escena renderizada sin (izquierda) y con supermuestreo y suavizado de bordes aplicado (derecha) (No aplicar suavizado de bor...

Cálculo del valor del color final
Comparación de una escena renderizada sin (izquierda) y con supermuestreo y suavizado de bordes aplicado (derecha) (No aplicar suavizado de bordes es análogo a una interpolación del vecino más cercano ).

El supermuestreo o antialiasing por supermuestreo ( SSAA ) es un método de antialiasing espacial , es decir, un método utilizado para eliminar el aliasing (bordes dentados y pixelados, conocidos coloquialmente como " jaggies ") de las imágenes renderizadas en videojuegos u otros programas informáticos que generan imágenes. El aliasing se produce porque, a diferencia de los objetos del mundo real, que tienen curvas y líneas suaves y continuas, una pantalla de ordenador muestra al espectador una gran cantidad de pequeños cuadrados. Todos estos píxeles tienen el mismo tamaño y un solo color. Una línea solo puede mostrarse como una colección de píxeles y, por lo tanto, aparece dentada a menos que sea perfectamente horizontal o vertical. El objetivo del supermuestreo es reducir este efecto. Se toman muestras de color en varios puntos dentro del píxel (no solo en el centro como es habitual) —de ahí el término "supermuestreo"— y se calcula un valor de color promedio. Esto se puede lograr, por ejemplo, renderizando la imagen a una resolución mucho mayor que la que se muestra, luego reduciéndola al tamaño deseado y utilizando los píxeles adicionales para el cálculo. El resultado es una imagen submuestreada con transiciones más suaves entre líneas de píxeles a lo largo de los bordes de los objetos, pero cada píxel también podría sobremuestrearse utilizando otras estrategias (consulte la sección Patrones de sobremuestreo ). El número de muestras determina la calidad de la salida .

Motivación

El aliasing se manifiesta en imágenes 2D como un patrón de moiré y bordes pixelados, conocidos coloquialmente como " bordes dentados ". El conocimiento común sobre procesamiento de señales e imágenes sugiere que, para lograr una eliminación perfecta del aliasing , se requiere un muestreo espacial adecuado a la frecuencia de Nyquist (o superior) después de aplicar un filtro anti-aliasing 2D . Dado que este enfoque requeriría una transformada de Fourier directa e inversa , se desarrollaron aproximaciones computacionalmente menos exigentes, como el supermuestreo, para evitar cambios de dominio permaneciendo en el dominio espacial ("dominio de la imagen").

Método

Costo computacional y supermuestreo adaptativo

El supermuestreo es computacionalmente costoso porque requiere mucha más memoria de la tarjeta de video y ancho de banda de memoria , ya que la cantidad de búfer utilizada es varias veces mayor. [ 1 ] Una forma de solucionar este problema es utilizar una técnica conocida como supermuestreo adaptativo , donde solo se supermuestrean los píxeles en los bordes de los objetos.

Inicialmente, solo se toman unas pocas muestras dentro de cada píxel. Si estos valores son muy similares, solo se utilizan esas muestras para determinar el color. De lo contrario, se utilizan más. El resultado de este método es que se calcula un mayor número de muestras solo donde es necesario, lo que mejora el rendimiento.

Patrones de supermuestreo

Al tomar muestras dentro de un píxel, es necesario determinar de alguna manera la posición de las muestras. Si bien existen infinitas maneras de hacerlo, hay algunas que se utilizan comúnmente. [ 1 ] [ 2 ]

Red

El algoritmo más sencillo consiste en dividir el píxel en varios subpíxeles y tomar una muestra del centro de cada uno. Es rápido y fácil de implementar. Sin embargo, debido a la regularidad del muestreo, puede producirse aliasing si se utiliza un número reducido de subpíxeles.

Aleatorio

También conocido como muestreo estocástico, evita la regularidad del supermuestreo de cuadrícula. Sin embargo, debido a la irregularidad del patrón, las muestras resultan innecesarias en algunas áreas del píxel y faltantes en otras. [ 3 ]

disco de Poisson

Muestras de puntos generadas mediante muestreo de disco de Poisson y representación gráfica de la distancia mínima entre puntos.

El algoritmo de muestreo de disco de Poisson [ 4 ] coloca las muestras aleatoriamente, pero luego verifica que no haya dos demasiado cerca. El resultado final es una distribución uniforme pero aleatoria de las muestras. El algoritmo ingenuo de "lanzamiento de dardos" es extremadamente lento para conjuntos de datos grandes, lo que alguna vez limitó sus aplicaciones para la renderización en tiempo real . [ 3 ] Sin embargo, ahora existen muchos algoritmos rápidos para generar ruido de disco de Poisson, incluso aquellos con densidad variable. [ 5 ] [ 6 ] [ 7 ] El conjunto de Delone proporciona una descripción matemática de dicho muestreo.

Nervioso

Una modificación del algoritmo de cuadrícula para aproximar el disco de Poisson. Un píxel se divide en varios subpíxeles, pero la muestra no se toma del centro de cada uno, sino de un punto aleatorio dentro del subpíxel. La congregación aún puede ocurrir, pero en menor grado. [ 3 ]

Rejilla rotada

Se utiliza una cuadrícula de 2×2, pero el patrón de muestra se rota para evitar que las muestras se alineen en el eje horizontal o vertical, lo que mejora enormemente la calidad del suavizado de bordes para los casos más comunes. Para un patrón óptimo, el ángulo de rotación es arctan ( 1 / 2 ) ( aproximadamente 26,6 ° ) y el cuadrado se estira por un factor de 5 / 2 [ 8 ] , lo que también lo convierte en una solución de 4 reinas .

Véase también

Referencias

  1. 1 2 "Comparación de técnicas de suavizado de bordes" . sapphirenation.net. 29/11/2016 . Consultado el 19/04/2020 . En términos generales, SSAA proporciona una calidad de imagen excepcional, pero el impacto en el rendimiento es importante aquí porque la escena se renderiza a una resolución muy alta.
  2. "¿Qué es el supermuestreo?" . everything2.com. 2004-05-20 . Consultado el 2020-04-19 .
  3. 1 2 3 Allen Sherrod (2008). Programación gráfica de juegos . Charles River Media. pág. 336. ISBN  978-1584505167.
  4. Cook, RL (1986). "Muestreo estocástico en gráficos por computadora" . ACM Transactions on Graphics . 5 (1): 51– 72. doi : 10.1145/7529.8927 . S2CID 8551941 . 
  5. Dunbar, Daniel; Humphreys, Greg (2006). "Una estructura de datos espaciales para la generación rápida de muestras de disco de Poisson" . Artículos de ACM SIGGRAPH 2006 - SIGGRAPH '06 . pág. 503. doi : 10.1145/1179352.1141915 . ISBN  1595933646. S2CID 13954223 . Consultado el 7 de enero de 2023 . 
  6. Bridson, Robert (2007). "Muestreo rápido de disco de Poisson en dimensiones arbitrarias" (PDF) . ACM SIGGRAPH 2007 sketches . p. 22. doi : 10.1145/1278780.1278807 . ISBN  9781450347266. S2CID 3129455 . Consultado el 7 de enero de 2023 . 
  7. Dwork, N; Baron, CA; Johnson, EMI; O'Connor, D; Pauly, JM; Larson, PEZ (abril de 2021). "Generación rápida de muestras de disco de Poisson de densidad variable con variación direccional para detección comprimida en MRI" . Magnetic Resonance Imaging . 77 : 186–193 . doi : 10.1016/j.mri.2020.11.012 . PMC 7878411. PMID 33232767 .  
  8. "Análisis del suavizado de bordes mediante supermuestreo" (PDF) . Beyond3D.com . Consultado el 19 de abril de 2020 .
  • "Antialiasing de alta resolución (HRAA)" . Nota técnica: Antialiasing de alta resolución mediante muestreo múltiple . Consultado el 22 de abril de 2017 .
  • ¿Qué es el supermuestreo (técnica de suavizado de bordes)? Base de conocimientos de hardware . Archivado del original el 25 de marzo de 2006. Consultado el 1 de mayo de 2006 .
  • Getreuer, Pascal (2011). "Interpolación de imágenes con plantillas de contorno" . Procesamiento de imágenes en línea . 1 : 70–82 . doi : 10.5201/ipol.2011.g_iics . Recuperado el 21 de octubre de 2010 .