AMD brzo odhalí FSR 2.0. Upscaling s temporální rekonstrukcí pro lepší kvalitu na všech GPU

14. 3. 2022

Sdílet

 Autor: AMD
Upscaling pro hry AMD FidelityFX Super Resolution by se mohl o dost zlepšit. Chystá se verze 2.0, v které prý bude zahrnutá možná ta nejdůležitější ingredience úspěchu DLSS 2.0 od Nvidie.

Ještě před pár lety se na upscaling ve hrách hledělo jako na podřadnou berličku pro konzole, ale AI upscaling DLSS uvedený Nvidií s grafikami GeForce RTX zdá se nálady změnil. U konkurenčních grafik se loni jako reakce objevil upscaling FSR (FidelityFX Super Resolution), který ale nepoužívá AI interpolaci a temporální filtrování. AMD prý ale brzo odhalí novou verzi FSR 2.0, která by mohla kvalitu výrazně zlepšit.

Teto měsíc se jako obvykle v březnu koná konference GDC (Game Developers Conference) a AMD na ní má naplánovanou prezentaci s vše říkajícím názvem „Next-Generation Image Upscaling for Games“. Je sice teoreticky možné, že by to byl referát zpětně mluvící o první generaci FSR, ale moc pravděpodobné to asi není. Je tedy slušná šance, že AMD představí novou vylepšenou verzi svého upscalingu.

Co v této přednášce bude, ještě samozřejmě nevíme. Ale leaker CapFrameX (jde o vývojáře stejnojmenného nástroje) na Twitteru poté napsal, že dle jeho informací AMD brzo představí „FSR 2.0“, tedy asi FidelityFX Super Resolution 2.0. Tudíž asi FSR 2.0 můžeme pracovně ztotožnit s předmětem oné chystané prezentace.

Prezentace Next Generation Image Upscaling for Games od AMD na GDC 2022 Prezentace Next Generation Image Upscaling for Games od AMD na GDC 2022 (Zdroj: gdconf.com)

CapFrameX uvádí, že měl možnost vidět demo, respektive nahrané video, které snad zachycovalo hru běžící s tímto upscalingem. Kvalita obrazu údajně je zlepšená, prý je „působivá“. Je to asi třeba brát s rezervou, protože u nahraného videa nevíte, jaký mělo toto řešení výkon a také původce teoreticky může vybrat nějakou sekvenci, která je k algoritmu hodně shovívavá, zatímco jinde by výsledek měl více patrné vady (toto je třeba si samozřejmě pamatovat i u video záznamů Nvidie k DLSS).

https://twitter.com/CapFrameX/status/1502375332829188097

Bez AI, ale s temporální rekonstrukcí?

FSR 2.0 nicméně asi pořád není založené na umělé inteligenci, takže spatiální interpolace (čímž se myslí škálovací algoritmus pracujícím na úrovni pixelů jednoho snímku, jako FSR 1.0 a DLSS 1.0) bude pořád konvenční. Je možné, že dokonce bude přejatá z FSR 1.0, i když změna algoritmu vyloučena není. CapFrameX uvádí, že FSR 2.0 „nepotřebuje AI“ (a tedy ani specializované jednotky jako tensor jádra) a pozor – má opět běžet na GPU všech značek, jako FSR 1.0. Takže zase bude možné integrovat ho do her jako zcela neexkluzivní funkci.

Změnu ale FSR 2.0 přinese v tom, že už nebude pracovat čistě jenom s jedním snímkem – má jít o „temporální upscaling“. To znamená, že bude používat filtrování používající jako referenci více snímků, z jejichž kombinace se dá teoreticky vytěžit vyšší úroveň detailů pro jeden každý jednotlivý snímek. Toto je hlavní zlepšení, které Nvidia realizovala v DLSS 2.0 proti verzi 1.0. Temporální filtrování (také se mu říká temporální rekonstrukce) je jednou z věcí, která teoreticky může způsobit, že upscalovaný obraz vypadá lépe, než nativní rozlišení. Stát se to může tehdy, když temporální filtrování dokáže odstranit nějaký artefakt jako třeba shimmering, který je běžně ve vykreslování přítomen. Samozřejmě to ale neplatí globálně, někde se prostě vykreslování na nižším rozlišení projevit musí vzhledem ke ztrátě informace, ke které snížením rozlišení dochází.

CapFrameX uvádí, že FSR 2.0 má „Temporal upscaling + optimized AA“. Není jasné, zda ono temporální filtrování bude využívat pohybové vektory, aby mohlo rekonstruovat i pohybující se objekty. Teoreticky by mohlo jít i o méně pokročilou implementaci, kdy se takto vylepšuje jen statická část obrazu, kdežto pohybující se objekty temporálně filtrované nejsou – takto funguje TSR (Temporal Super Resolution) v Unreal Enginu 5.

CapFrameX nicméně v dalších tweetech uvádí, že FSR 2.0 by snad mohlo být nějak provázané s TAA (Temporal Anti-Aliasingem), přičemž bude závislé na tom, že implementace TAA musí být kvalitní. To by asi mohlo znamenat, že použité by mohly být i pohybové vektory. Je možné, že FSR 2.0 bude přímo postavená nad nějakou implemetnací TAA. TAA je vlastně totiž také temporální vyhlazovací/rekonstrukční filtr – v případě pořádného použití pohybových vektorů pracuje na velmi podobném principu.

Galerie: AMD FidelityFX Super Resolution (FSR)

Temporální filtrování/rekonstrukce by mohla pomoci podobně jako u DLSS 2.x odstraňovat některé rušivé artefakty viditelné v pohybu a pokud se jí také povede zlepšit úroveň detailu, mohl by tento druh upscalingu být o dost kvalitnější než původní FSR. Nicméně také asi bude mít vyšší výkonnostní cenu, výpočty spotřebují další výpočetní čas GPU navíc (nebo obráceně lze říct, že při určitém škálovacím faktoru FSR 2.0 nezvýší snímkovou frekvenci o tolik, jako FSR 1.0).

Také je dobré upozornit na to, že temporální rekonstrukce/filtrování má sice své přínosy, jak DLSS 2.0 (respektive DLSS 2.x) ukázalo, ale také nevýhody. Práce s pohybovými vektory není bezchybná a ne vždy se rekonstrukce daří bez chyb, které způsobují rozmazání pohybujících se objektů, nebo hůř, viditelné rušivé artefakty v obraze, jako například tzv. ghosting (například v závodní hře byly na asfaltu vedla auta vidět „stopy“ zrcátka, jehož pixely temporální filtr omylem míchal s pixely vozovky). Tytéž chyby se teď tedy mohou ukázat i ve FSR 2.0.

https://twitter.com/CapFrameX/status/1502390275045564425

Druhá nevýhoda temporálního přístupu je, že FSR 2.0 už nebude tak snadné na implementaci. Nebude už možné ho provádět jen na úrovni prakticky hotového vykresleného snímku, aniž by k tomu hra musela být nějak náročně uzpůsobována. Temporální filtr bude potřebovat buffer několika minulých snímků, ale zejména informace o pohybových vektorech z enginu hry (pokud budou vektory použité). Začlenění do hry tak, aby filtr vylepšoval kvalitu a nerozmazával pohyb, tedy nebude triviální. Je ale možné, že tam, kde už hra používá TAA s pohybovými vektory, by to mohlo být usnadněné.

bitcoin_skoleni

Brzy se snad bude více jasno, prezentace na GDC totiž má být 23. března, takže za pouhých 9 dní. To patrně bude jen první odhalení či oznámení této technologie, pak možná ještě může trvat delší dobu, než se objeví ve hrách.

Zdroje: VideoCardz (1, 2), CapFrameX (1, 2)