AMD FidelityFX Super Resolution: Vad det är och hur det fungerar

AMD FidelityFX Super-upplösning

Du har nu möjlighet AMD FidelityFX Super Resolution lyfts som en rival till DLSS som börjar med två fördelar. För det första krävs det mer blygsam hårdvara för att fungera och är kompatibel med ett större antal spel och grafikkort genom att inte förlita sig på slutresultatalgoritmer. Men hur fungerar AMD FidelityFX Super Resolution?

AMD FSR har revolutionerat GPU landskap de senaste veckorna, inte bara genom att konkurrera NVIDIADLSS för att leverera bilder med högre upplösning med färre resurser. Om inte också på grund av dess öppna karaktär, vilket gör att den kan implementeras i vilken GPU som helst oavsett dess arkitektur.

Vad är superupplösningsalgoritmer?

Fidelity FX

Superupplösningsalgoritmer har blivit mycket populära på senare tid, särskilt de som använder konvolutionella neurala nätverk som NVIDIAs DLSS. Det speciella med AMD -lösningen? Det faktum att det inte är baserat på artificiell intelligens och därför inte behöver tränas med en uppsättning tidigare bilder av samma spel. Sedan ett konvolutionellt neuralt nätverk för datorsyn, vad det gör är att lära sig en rad vanliga mönster för att utföra en rekonstruktion.

Fördelen som metoden som används av AMD FidelityFX Super Resolution har framför DLSS när det gäller att implementeras i något spel är att AI inte har en tendens när man skapar de nya bilderna. För att förstå konceptet måste vi tänka oss att vi tränar en AI med en uppsättning bilder med en artefakt eller bildfel gemensamt. Sedan får vi AI att reproducera dessa bilder eller varianter därav. Hur det finns en tendens som lärt sig under AI -inlärningsfasen att lära sig dessa bildfel kommer att reproducera dem med nämnda bildfel.

Detta gör att man i ett superupplösningssystem baserat på AI kan nå slutsatser som inte är exakta. Det är därför spel under NVIDIA: s DLSS kommer ut på ett kontrollerat och droppigt sätt, medan FidelityFX Super Resolution är en algoritm som kan tillämpas på alla spel.

FidelityFX Super Resolution är en rumslig och inte en tidsmässig algoritm

AMD FidelityFX Super-upplösning

Metoden som valts av AMD är baserad på att ta informationen från den aktuella ramen och endast den aktuella ramen, så den skiljer sig från andra metoder för skalning av bildupplösning, t.ex. generera den högre upplösningsversionen av den aktuella ramen, den går delvis ut från den föregående ramen. Så den saknar det vi kallar temporalitet och tar raminformationen till en lägre upplösning än GPU: n just har genererat för att skapa en högre upplösning av bilden.

Men vad menar vi med upplösning? Tja, till antalet pixlar som utgör det, så när vi ökar upplösningen för en bild är det vi gör att öka mängden av dessa, med dessa nya pixlar genereras som upptar utrymmet, men vars värde i färg vi inte gör känna till. Den enklaste lösningen? Använd interpoleringsalgoritmer, som bygger på att måla de saknade pixlarna med färger som ligger halvvägs till de närliggande pixlarna. Ju fler angränsande pixlar du tar som källinformation, desto mer exakt blir informationen.

Problemet är att den råa interpoleringen inte är tillräckligt bra och inte används, kvaliteten på de resulterande bilderna är mycket låg och skiljer sig ofta från verkligheten. Idag använder de flesta bildredigeringsprogram algoritmer för artificiell intelligens för att generera versioner med högre upplösningar. Om vi ​​redan uteslutande fokuserar på FidelityFX Super Resolution, är dess metod för att få information om de saknade pixlarna inte baserad på en direkt interpolation, utan är mer komplex.

Detta ökar upplösningen för AMD FidelityFX Super Resolution

FidelityFX SuperResolution

Vi kommer att hålla oss till den officiella förklaring som AMD har gett, som vi kommer att citera nedan:

FidelityFX Super Resolution består av två huvudsteg.

Det som översätts till två på varandra följande algoritmer, som körs efter varandra eller snarare, där den andra tar informationen som genereras av den första. Låt oss se vad vart och ett av dessa steg är.

Ett skalningspass som kallas EASU (kant Adaptive Spatial Up Sampling), som också utför kantrekonstruktion. I detta steg analyseras ingångsramen och huvuddelen av algoritmen detekterar gradientinversioner, i huvudsak tittar på hur angränsande gradienter skiljer sig från en uppsättning ingångspixlar. Intensiteten hos gradientinversionerna definierar de vikter som kommer att appliceras på de rekonstruerade pixlarna vid skärmupplösningen.

För att förstå citatet är det första vi måste veta vad förklaringen med kantdetektering i en bild syftar på. För att göra detta är det som görs en svartvit version av den sista ramen, som är i RGB -format. Så det är gjort är att lägga till värdena för var och en av kanalerna och dela med 3 för att få värdet i en svartvit bild. Om vi ​​bara lämnar gråtonbilden de rent vita, FFFFFF eller rent svarta 00000 -värdena, får vi en bild som kommer att avgränsa kanterna.

Detección bordes

I AMD FidelityFX Super Resolution utför den bilden som genereras genom kantdetektering vid en utdataupplösning mycket högre än den som ursprungligen gjordes, men som motsvarar den utgångsupplösning som du vill uppnå. Allt detta kommer att kombineras med en bildbuffert som lagrar gradientändringarna för var och en av pixlarna. Som mäter förändringarna i färgintensitet mellan pixlar. Denna information kombineras med den klassiska interpoleringen för att få bilden med en högre upplösning.

Ett skärpningssteg som kallas RCAS (Robust Contrast Adaptive Sharpening) som extraherar pixeldetaljer i den förbättrade bilden.

Bilden som genererades i det första steget förstärks av en modifierad version av Contrast Adaptive Sharpening, slutresultatet är en bild halvvägs mellan ren och hård interpolation och artificiell intelligens.