El suavizado temporal (TAA) busca reducir o eliminar los efectos del suavizado temporal . El alias temporal se debe a que la frecuencia de muestreo (es decir, el número de fotogramas por segundo) de una escena es demasiado baja en comparación con la velocidad de transformación de los objetos dentro de la escena; esto hace que los objetos parezcan saltar o aparecer en un lugar en lugar de dar la impresión de moverse suavemente hacia ellos. Para evitar por completo los artefactos de alias, la frecuencia de muestreo de una escena debe ser al menos dos veces mayor que la del objeto que se mueve más rápido. [1]El comportamiento del obturador del sistema de muestreo (normalmente una cámara) influye mucho en el aliasing, ya que la forma general de la exposición a lo largo del tiempo determina la limitación de banda del sistema antes del muestreo, un factor importante en el aliasing. Se puede aplicar un filtro anti-aliasing temporal a una cámara para lograr una mejor limitación de banda. [2] Un ejemplo común de aliasing temporal en una película es la aparición de ruedas de vehículos que se desplazan hacia atrás, el llamado efecto rueda de carro . El suavizado temporal también puede ayudar a reducir las irregularidades , haciendo que las imágenes parezcan más suaves. [3]
En animación cel
En la animación de cel , los animadores pueden agregar líneas de movimiento o crear un rastro de objeto para dar la impresión de movimiento. Para resolver el efecto de rueda de carro sin cambiar la frecuencia de muestreo o la velocidad de la rueda, los animadores podrían agregar un radio roto o descolorido para obligar al sistema visual del espectador a realizar las conexiones correctas entre los fotogramas.
En imágenes generadas por computadora
Para realizar el suavizado en gráficos por computadora, el sistema de suavizado requiere una pieza clave de información: qué objetos cubren píxeles específicos en un momento dado de la animación.
Un enfoque utilizado es derivar una función de intensidad temporal de alta resolución (es decir, más grande que la imagen de salida) a partir de los atributos del objeto que luego se pueden convolucionar con un filtro de promediado para calcular la imagen suavizada final.
En este enfoque, hay dos métodos disponibles para calcular la función de intensidad temporal. El primer método consiste en calcular la posición de cada objeto como una función continua y luego usar la función para determinar qué píxeles están cubiertos por este objeto en la escena. El segundo método puede utilizar técnicas de renderizado tradicionales para supermuestrear la escena en movimiento y determinar una aproximación discreta de la posición del objeto. [4]
Un algoritmo propuesto para calcular la función de intensidad temporal es: [4]
Para cada marco de imagen:Para cada objeto en el marco:Calcule la función de transformación temporal para cada atributo dinámicoDeterminar las áreas que cubre el objeto durante el intervalo filtradoPara cada píxel:Determine qué objetos cubren este píxel en algún momento del intervalo de muestreoDetermine los subintervalos de tiempo durante los cuales cada objeto se proyecta en este píxelRealice la eliminación de superficies ocultas eliminando subintervalos de objetos ocluidosDetermine la función de intensidad de píxeles en función de los subintervalos restantes y la función de transformación temporal del objeto Filtrar la función de intensidad de píxeles resultante
Nota: La "función de transformación temporal" en el algoritmo anterior es simplemente la función que mapea el cambio de un atributo dinámico (por ejemplo, la posición de un objeto que se mueve durante el tiempo de un marco).
En los casos en que los atributos del objeto (forma, color, posición, etc.) no estén definidos explícitamente o sean demasiado complejos para un análisis eficaz, se puede utilizar la interpolación entre los valores muestreados. Para obtener resultados más cercanos a los datos de origen, se pueden utilizar B-splines para interpolar los atributos. En los casos en que la velocidad sea una preocupación importante, la interpolación lineal puede ser una mejor opción.
El suavizado temporal se puede aplicar en el espacio de la imagen para objetos simples (como un círculo o un disco), pero los polígonos más complejos pueden requerir algunos o todos los cálculos para que el algoritmo anterior se realice en el espacio de objetos.
En el anti-aliasing espacial es posible determinar la función de intensidad de la imagen mediante supermuestreo . El supermuestreo también es un enfoque válido para usar en el suavizado temporal; el sistema de animación puede generar múltiples búferes de intensidad de píxeles (en lugar de solo uno) para un solo cuadro de salida. La principal ventaja del supermuestreo es que funcionará con cualquier imagen, independientemente de los objetos que se muestren o del sistema de renderizado que se utilice.
Ver también
Referencias
- ^ Grant, C. (1985). "Anti-aliasing espacial y temporal analítico integrado para poliedros en 4 espacios" . Gráficos por computadora SIGGRAPH , 19 (3): 79-84
- ^ Tessive, LLC (2010). "Explicación técnica del filtro de tiempo"
- ^ NVIDIA "Tecnología de suavizado temporal (TXAA)" .
- ↑ a b Korein, J. y Badler, N. (1983). "Anti-aliasing temporal en animación generada por ordenador" . Gráficos por computadora SIGGRAPH , 17 (3): 377-388