Jump to content

Anti-aliasing

From Wikipedia, the free encyclopedia
(Redirected from Anti-aliased)

Anti-aliasing may refer to any of a number of techniques to combat the problems of aliasing in a sampled signal such as a digital image or digital audio recording.

Specific topics in anti-aliasing include:

  • Anti-aliasing filter, a filter used before a signal sampler, to restrict the bandwidth of a signal such as in audio applications.
  • Manual anti aliasing, artistic technique done in pixel art graphics to smooth transitions between shapes, to soften lines or to blur edges.
  • Computer Generated Imagery (CGI), specific-technology or application of computer graphics for creating or improving images in art, printed media, simulators, videos and video games..[1]
    • Spatial anti-aliasing, the technique of minimizing aliasing when representing a high-resolution image at a lower resolution
    • Fast approximate anti-aliasing (FXAA), an anti-aliasing algorithm created by Timothy Lottes under Nvidia. May also be referred to as Fast Sample Anti-aliasing (FSAA).
    • Multisample anti-aliasing (MSAA), a type of spatial anti-aliasing method
    • Super-sampling (SSAA), a type of spatial anti-aliasing method
    • Morphological antialiasing (MLAA), a type of spatial anti-aliasing method
    • Conservative morphological anti-aliasing(CMAA), a type of spatial anti-aliasing method[2]
    • Area-based anti-aliasing (ABAA), new anti-aliasing algorithm that relies on subpixel area-sampling instead point-sampling. Unlike with N points sampling, with ABAA the pixel is divided into N subpixel areas of equal size. For each triangle edge, the covered area assigned to subpixel areas is equal to the actual covered area, to the closest digit. See also "www.anti-aliasing.com".
  • Temporal anti-aliasing (TAA) in CGI, techniques to reduce or remove the effects of temporal aliasing in moving images
    • Deep learning anti-aliasing, a type of spatial and temporal anti-aliasing method relying on dedicated tensor core processors
    • Deep learning super sampling (DLSS), a family of real-time deep learning image enhancement and upscaling technologies developed by Nvidia that are available in a number of video games.

Aliasing & Anti-Aliasing in CGI

[edit]

The purpose of anti-aliasing is to reduce, if not eliminate, distracting aliasing artifacts in Computer Generated Imagery. Most aliasing artifacts, or jaggies, result from using only one sample point per pixel when computing 2D images. Images produced with single point sampling can achieve the fastest frame rate, at the expense of aliasing artifacts such as “stairsteps” and “narrow faces breakup”. These artifacts are more noticeable in real-time (RT) CGI applications, such as when simulating visual scenes for flight training or playing computer video games. In moving images, stairsteps result in “crawling“. Also, “narrow faces breakup” result in “faces popping in-and-out of scenes”. Most anti-aliasing solutions rely on multiple point sampling, or single point sampling followed by postprocessing, to reduce stairsteps and crawling. But they have limited success at correcting narrow faces breakup. Also, their performances depend on edge orientation.

ABAA

[edit]

A new approach, area-based anti-aliasing (ABAA), relies on subpixel area sampling. It is the fastest and produces the best static and moving images with anti-aliasing. Currently, there is no readily available product using ABAA. But simulations have shown that ABAA is the best anti-aliasing solution.[3] [4] [5]

Detecting Intersected Pixels

[edit]

Most approaches use sample points to detect when a portion of the triangle covers the pixel. With ABAA, the rendering operation is optimized with 2 types of edges: Horizontal edges (HE) and Vertical edges (VE). When edges traverse the image from pixel to pixel, the intersected pixels are easily identified. A pixel is partially covered by a triangle edge, when that edge intersects a midline inside of that pixel. At the same time, the partially covered area of that pixel, that is used for color mix, is readily available in 1 measurement (no lengthy computations). ABAA can be implemented directly using pixel covered areas, or the area can be mapped into 4, 8, 16 or 32 subpixel areas. The area-based approach solves several problems.

  • ABAA can quickly determine the covered area inside intersected pixels and compute the mixed colors.
  • It produces equal steps as triangle edges move across pixels, for all edge-orientations. The covered area of pixels increases uniformly (linearly) from 0.0 to 1.0 as edges move across pixels.
  • With 4 (or 8) subpixels It can handle narrow face breakup for faces at least 1/4 (or 1/8) pixel wide.
  • It can produce high image quality without speed penalty. It is faster since is does not require multiple frame processing.

Multiple Sample Points

[edit]

Two methods rely on multiple sample points anti-aliasing. It consists of computing multiple images, followed by averaging.

SSAA

[edit]

The super-sampling anti-aliasing (SSAA) approach has been used in non-real-time applications. In this approach, a 512x512 image is first computed at higher resolution, such as 2048x2048, for example. It is then reduced through averaging or filtering to produce a 512x512 image. It is computation intensive and cannot be used for RT CGI applications. Since there are no time constraints, large images can be computed offline using high-speed general-purpose.

MSAA

[edit]

With multisample anti-aliasing (MSAA), images are computed for 4 (or 8) subpixel sample points, followed by averaging. It is slow, since the frame rate is reduced by a factor of 4 (or 8). It works well for horizontal and vertical triangle edges. For other edge angles, the gaps between subpixels can cause narrow face breakups.

The position of the subpixel sample points for MSAA can be derived from solutions to the “Eight-queens puzzle”. The solutions to the 8-queens puzzle provide good results for near horizontal and vertical edges. But the anti-aliasing effectiveness is not as good for edges with angles in-between.

Other Solutions

[edit]

In order to improve the frame rate, several methods rely on single point sampling followed by image post-processing, with mixed results. Among these, there are: Fast approximate anti-aliasing (FXAA), Temporal anti-aliasing (TAA) and Morphological antialiasing (MLAA).

See also

[edit]

References

[edit]
  1. ^ "Computer Generated Imagery (CGI), see also www.anti-aliasing.com".
  2. ^ "Conservative Morphological Anti-Aliasing (CMAA)". Intel. Retrieved 2023-03-15.
  3. ^ "New Area-Based Anti-Aliasing for CGI", Michel A. Rohner, Gotham Books Inc 2024-03-15.
  4. ^ “Anti-Aliasing with MSAA vs ABAA”, Michel A. Rohner, Gotham Books Inc 2024-03-15.
  5. ^ “Introduction to Area-Based Anti-Aliasing for CGI”, Michel A. Rohner, Gotham Books Inc 2024-05-15.