Super Sampling is also known as Super Sampling Anti Aliasing(SSAA) is a spatial anti-aliasing method i.e. a method to remove aliasing (jagged and pixelated edges also known as "jaggies") from a video, rendered images or another software that produces computer graphics.
Aliasing is not often dealt-with in higher resolutions but if the user does not own the required hardware then the user would be dealing with this situation. It occurs in computer-generated graphics because, unlike the real word which made up of continuous colours and materials, the computer screen is divided into a small number of equal-sized squares known as pixels, which display their own designated colour (mono-colour) in the image, when these pixels are aligned next to each other not in a vertical or horizontal position then the jagged edges starts to show which in technical terms is known as Aliasing but is commonly referred as jaggies. These are less likely to occur in higher resolution as it has enough number of pixels to make the jagged edges less visible.
Now coming over to its process and how it is done - It is basically done in four steps which are as follows -
- The low-resolution image is taken which is full of jaggies.
- The upper image is converted into high resolution.
- From the higher resolution image, colour samples are taken from the excessive pixels (pixels that were not present in the lower resolution.).
- The higher resolution image is shrunk down to its original resolution and each pixel is given a new colour which is the averaged colour from the sampled pixels from the higher resolution image.
- DLSS 1.0: Nvidia states that DLSS 1.0 worked by generating a perfect frame for the lower resolution frame using the traditional Super Sampling technique. Then the neural networks were trained on these resulting frames also the model was trained to recognize aliased inputs on receiving the initial result.
- DLSS 2.0: The neural networks were trained using the ideal high-resolution images of a game using a high-end computer and also there lower resolution images. The result would be stored in the video card driver. The neural network stored in the driver compares the actual low-resolution images with the reference images and produce a full high-resolution result image. The trained neural networks use the low-resolution image as well as the low-resolution motion vector from the game engine as the input. The motion vectors help the networks to determine in which direction the object in the frame is moving and is used to determine the upcoming frames.