Anti-aliasing begrijpen: 6 typen & methoden voor gladde digitale beelden
Om anti-aliasing te begrijpen, moeten we eerst het concept van aliasing begrijpen.
Je hebt waarschijnlijk al eens gepixelde of getande randen op je scherm ervaren tijdens het kijken naar video's of het spelen van videogames. Deze 'jaggies' (tandjes) heten aliasing. Het verlaagt de algehele kijkervaring.
Maar waarom treedt aliasing op?
De beelden die op het scherm worden getoond, bestaan uit kleine vierkanten die pixels heten. Elke pixel, het kleinste controleerbare element van een afbeelding, heeft zijn eigen intensiteit en kleur. Verticale en horizontale lijnen kunnen precies op vierkante pixels worden afgebeeld, maar gebogen lijnen of hoek-naar-hoek afbeeldingen moeten punt-voor-punt worden aangepast. Wanneer pixels langs de rand aan of uit staan, resulteert dit in getande randen (aliasing of trapvorming).
De voor de hand liggende oplossing om aliasing te voorkomen is je schermresolutie te verhogen, maar niet iedereen kan een high-end monitor betalen. Daarom hebben ingenieurs verschillende technieken ontwikkeld om de impact van jaggies op het scherm te verminderen. Een van deze effectieve technieken is anti-aliasing.
Wat is Anti-aliasing?
Anti-aliasing is een techniek om de randen van pixels te mengen met omringende pixels om de illusie van een gladde rand te creëren. Dit is niet zo simpel als het klinkt: je vertelt je computer om miljoenen pixels per frame te verwerken en de randen gladder te maken.
De CPU/GPU gladst randen door de kleuren langs alle randen aan te passen. In plaats van de pixel aan of uit te zetten, plaatst de processor het ergens ertussenin. Bijvoorbeeld: een witte diagonale lijn op een zwarte achtergrond kan donkere en lichtere grijstinten langs de randen hebben in plaats van wit en zwart.
Ingezoomde afbeelding van ge-aliased vs. anti-gealiased lijn
Anti-aliasing algoritmes zijn ontworpen om digitale afbeeldingen er natuurlijk uit te laten zien wanneer ze vanaf een bepaalde afstand worden bekeken. Wingezoomd, lijken anti-gealiaste tekst en afbeeldingen vervaagd door de aangepaste pixels.
Naast digitale fotografie en computergrafica, wordt anti-aliasing ook breed gebruikt in digitale audio (om ongewenste frequenties uit bemonsterde audio te verwijderen). In dit overzichtsartikel richten we ons op de eerste.
Jaggies zijn niet opvallend op moderne HiDPI (hoge dots per inch) schermen omdat ze dichtere pixelroosters hebben die beelden scherper kunnen weergeven. Toch profiteren zelfs deze hoge resolutie schermen van anti-aliasing.
Er bestaan verschillende typen anti-aliasing technieken om de kijk- en game-ervaring beter en meer immersief te maken. Elk heeft zijn eigen voor- en nadelen. Laten we de acht populairste typen anti-aliasing in detail bespreken.
1. Supersampling Anti-Aliasing (SSAA)
Voor (links) en na (rechts) toepassing van SSAA
Levert uitzonderlijke beeldkwaliteit maar drukt de prestaties omlaag
Ook bekend als Full-Scene Anti-Aliasing (FSAA), is Supersampling Anti-Aliasing (SSAA) een van de oudste en meest effectieve ruimtelijke technieken. Het is perfect voor het verwerken van fotorealistische beelden omdat het het beeld een zachtere uitstraling geeft en het er meer levensecht uit laat zien.
In deze methode wordt de weer te geven afbeelding gerenderd bij een veel hogere resolutie. Kleurmonsters worden genomen van overtollige pixels die niet in de lage-resolutie afbeelding aanwezig waren, en de gemiddelde kleurwaarde wordt gemeten.
Wanneer de afbeelding verkleind wordt, wordt de gemiddelde waarde toegepast om jaggies te verwijderen. Dit geeft een gedownsamplede afbeelding met veel gladere overgangen. De kwaliteit van de output hangt af van het aantal kleurmonsters: hoe meer monsters, hoe hogere de kwaliteit.
Hoewel deze techniek uitstekende beeldkwaliteit levert, zakt de prestatie omdat het renderen van afbeeldingen bij hoge resolutie veel rekenkracht kost. Dit is de reden waarom het niet meer breed in gaming gebruikt wordt.
Een ander nadeel van deze methode is dat het negatief beïnvloedt afbeeldingen met veel verticale of horizontale lijnen. Wanneer verwerkt, lijken deze lijnen (die van nature scherp zijn) zacht.
2. Multisample Anti-Aliasing (MSAA)
Afbeeldingsbron: Nvidia
Vereist relatief minder rekenresources maar produceert lagere kwaliteit afbeeldingen
Multisample anti-aliasing is een speciaal geval van supersampling waarbij bepaalde componenten van de afbeelding niet volledig gesupersampled worden. Alleen de randen van de polygoon (de meest voorkomende bron van aliasing in 3D-grafica) worden anti-gealiased. Textures worden niet gladgestreken.
Concreter: wanneer de CPU/GPU een afbeelding op het scherm rendert, maakt het een onderscheid tussen twee verschillende componenten: een polygoon en een texture. De CPU/GPU tekent eerst de algemene vorm of outline van een object (polygoon) en vult het daarna met een texture. MSAA past alleen jaggies op de polygoon aan, de texture laat het onaangetast.
Aangezien MSAA niet alle delen van de uiteindelijke afbeelding verwerkt, is het efficiënter en vereist het minder rekenresources dan SSAA. Het produceert echter relatief lagere kwaliteit afbeeldingen en kan niet omgaan met transparanties.
3 & 4. Coverage Sampling Antialiasing (CSAA) & Enhanced Quality Anti-Aliasing (EQAA)
MSAA (links) vs. CSAA (rechts) [strakkere randaflossing in CSAA]
Beide bieden betere kwaliteit met slechts een minimale prestatieimpact
GPU-fabrikanten AMD en NVIDIA hebben hun eigen ruimtelijke anti-aliasing methoden ontwikkeld. NVIDIA creëerde CSAA, en AMD creëerde EQAA. Hoewel ze verschillende namen hebben, functioneren ze op een vergelijkbare manier.
In beide methoden identificeert de GPU de polygoon in de afbeelding en berekent welke gebieden van de polygoon waarschijnlijk jaggies zullen hebben. Vervolgens supersamplet het alleen die pixels.
Omdat de hele afbeelding niet verwerkt wordt, neemt de GPU aanzienlijk minder verwerkingskracht in beslag. Bovendien vereisen zowel CSAA als EQAA geen additionele kleur/diepte/stencil monsters. Dus ze consumeren hetzelfde videogeheugen als MSAA (in equivalente modus).
5 & 6. Morphological Anti-Aliasing (MLAA) & Fast Approximate Anti-Aliasing (FXAA)
Implementatie van FXAA methode (stap-voor-stap proces van links naar rechts, boven naar beneden) | Bron: NVIDIA
Snel, vereist minder rekenresources maar niet geschikt voor afbeeldingen met gedetailleerde texturen
NVIDIA en AMD hebben twee post-proces anti-aliasing technieken ontwikkeld: fast approximate anti-aliasing en morphological anti-aliasing. Beide werken op dezelfde manier — de pixel wordt vervaagd nadat het gerenderd is.
In post-proces anti-aliasing methoden vergelijkt de GPU de kleurcontrast tussen twee aangrenzende pixels om te bepalen waar de rand van een polygoon is. Pixels met vergelijkbare kleur en intensiteit zijn meestal onderdeel van dezelfde polygoon. Eenmaal de rand gedetecteerd, vervaagt de GPU de pixels in verhouding tot hun contrast.
In tegenstelling tot MSAA, wat niet werkt voor deferred rendering, kunnen MLAA en FXAA accuraat randen in de afbeelding detecteren en vervolgens specifieke patronen in deze lokaliseren. Beide zijn erg snel en vereisen minder rekenresources dan de ruimtelijke methode. 'Vervagen' heeft zich als effectief beweten, omdat het het krasse contrast tussen onevenwijdig uitgelijnde pixels die jaggies veroorzaken, verwijdert. Echter, vervaging kan gemakkelijk opgemerkt worden in afbeeldingen met dynamische verlichtingskenmerken en gedetailleerde texturen.
7. Enhanced Subpixel Morphological Anti-aliasing (SMAA)
Voorbeeld van SMAA 4x geïntegreerd in de Crysis 2 game
Combineert zowel ruimtelijke als post-proces antialiasing methoden
Deze post-processing anti-aliasing techniek combineert morfologische antialiasing (MLAA) met additionele multi/supersampling strategieën (MSAA, SSAA) voor nauwkeurige subpixel-karakteristieken.
SMAA levert betere beeldkwaliteit terwijl het uitzonderlijk snelle uitvoeringstijden behoudt. Meer specifiek: het levert zeer nauwkeurige gradiënten en temporale stabiliteit terwijl het minimale overhead introduceert. Dit maakt het een voorkeurskeuze voor low-end configuraties.
8. Temporal anti-aliasing (TXAA)
Levert betere beeldkwaliteit dan FXAA of MLAA maar vereist veel meer rekenresources
Deze complexe methode gebruikt zowel vervaging als supersampling om scherpe grafica en vloeiende bewegingen te bouwen. Met andere woorden: het streeft ernaar een gladde mate van beweging in een virtuele omgeving te behouden.
In recente jaren hebben onderzoekers Adaptive Temporal Anti-aliasing (ATAA) ontwikkeld, wat de tekortkomingen van TXAA aanpakt. Bijvoorbeeld: het elimineert vervaging en ghosting-artefacten zonder een significante prestatieimpact. ATAA-resultaten zijn dichtbij wat 16x supersampling zou kunnen bieden.
Welke Anti-Aliasing methode moet je gebruiken?
Als je een goed begrip hebt van de hardware die je gebruikt en weet wat voor prestaties je uit je machine wilt halen, dan is het makkelijker om te beslissen welke anti-aliasing techniek het beste voor je is.
De volgende vragen helpen je de juiste keuze te maken:
- Wat zijn je GPU-specificaties?
- Hoe zwaar of grafisch veeleisend zijn je games?
- Welke grafische functies wil je perfect hebben, en welke vind je niet belangrijk?
Als je krachtige/high-end gaming apparatuur hebt, moet je kiezen voor SSAA, MSAA, en TXAA. Als je een matig bekrachtigde CPU/GPU hebt, kun je MSAA, FXAA, of MLAA selecteren. En als je lower-tier gaming hardware hebt, die geen hoge frame-rates aan kan en gevoelig is voor oververhitting, moet je CSAA of SMAA prefereren.
Je kunt ook experimenteren met je grafische instellingen om te ontdekken wat je CPU/GPU aan kan. Er zijn tientallen parameters om aan te passen, zoals resolutie, schaduwkwaliteit, zichtveld, kijkafstand, texture, en anisotrope filtering.
Het is raadzaam om te beginnen met de laagst mogelijke configuratie en dan naar hogere, gedetailleerde niveaus te gaan. Hoewel dit een tamelijk tedereuze taak is, is het de eenvoudigste manier om te achterhalen hoe je de beste game-ervaring op je machine kunt krijgen.
Echter, gegeven de recente vooruitgang in grafische verwerkingsunits en display-technologie, is het eigenlijk niet de moeite waard om je zorgen te maken over anti-aliasing. Feitelijk vereisen nieuwere videogames en ultra-hoge resolutie afbeeldingen helemaal geen anti-aliasing meer.
Het is nog steeds een goed idee om kennis te verwerven over de verschillende typen anti-aliasing, zodat je geïnformeerde beslissingen kunt maken over het balanceren van visuals en prestaties van je volgende desktop. De informatie zou ook nuttig zijn als je ooit besluit professionele video's te bewerken of je eigen game te ontwikkelen.
Industriële technologie
- De verschillende typen prototyping begrijpen: Een gids voor founders
- Materialen In Bewerking: Typen en Toepassingen
- Uitgebreide gids tot buigtechnieken voor buizen
- Typen Onderhoudsmedewerkers: Rollen, Verantwoordelijkheden En Kleur Van De Das Uitgelegd
- Verschillende Lastechnieken Ontdekken: Types en Toepassingen
- De Ultieme Gids Naar Nageltypen: Elk Soort Begrijpen
- De Vier Kernsoorten Staal Uitgelegd
- Typen straalmiddelen: het juiste materiaal kiezen voor uw project
- De Verschillende Rollen van Fabrieksarbeiders Begrijpen
- Expertgids Effectieve Ontgrondingsmethoden
- Essentiële handgereedschappen voor timmerlieden en doe-het-zelvers