PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Real-time Frame Rate Up-conversion for Video Games


randy
2010-09-12, 12:32:24
or how to get from 30 to 60 fps for "free"

Diesen Artikel finde ich supi. Falls es schon einen Thread darüber gibt, bitte nicht schlagen! :tongue:

The proposed solution is a novel technique that combines the best of both high quality rendering at 30 fps, with the natural motion of objects refreshing at 60 fps with very minimal overhead in terms of memory and performance. The basic concept is to approximate the middle frame between what has previously rendered and what is currently being constructed and present it as the new “predicted” image exactly in the middle of rendering at a 30 fps rate, thus empowering a product to still “feel” as if it is refreshing at 60. T

http://www.eurogamer.net/articles/digitalfoundry-force-unleashed-60fps-tech-article
http://and.intercon.ru/releases/talks/rtfrucvg/ (eindrückliche videos von der messe downloadbar)


auch interessant

While the system may not immediately be seen in doubling 30FPS frame-rates, variants of the technique itself can be used to bring about other enhancements to image quality, and indeed, we can expect to see something of this working in the forthcoming Crysis 2, if Crytek's recent presentation is anything to go by. Here we see how a different implementation of much the same principle smooths out aliasing issues (not just edged based) in the far distance of the scene.

Spasstiger
2010-09-12, 12:35:58
Sind das jetzt die Tricks, mit denen man aus den altersschwachen Konsolen-GPUs noch bessere Grafik rauskitzelt? 15 fps rendern und den Rest zu 60 fps als simulierte Zwischenbilder einfügen. :freak:
Würde das gerne mal live sehen, stell mir das irgendwie nervig vor. Mir gefällt auch schon die Implementierung in 100-Hz-Fernsehern nicht. Aber es ist definitiv eine Methode, um zeitliches Aliasing (Flimmern) zu reduzieren.

xiao didi *
2010-09-12, 12:56:42
Versteh ich das richtig das erstmal zwei Frames "zurückgehalten" werden, um die Interpolation zu erstellen?
Wenn das tatsächlich so ist, dann hätte man massive Probleme mit Inputlag.

Gasti
2010-09-12, 13:03:56
Hört sich ein bisschen wie "Hochsklaieren ist toll, da man dann FullHD zum Preis von 720p(+-) bekommt" :ugly:

randy
2010-09-12, 13:05:18
Würde das gerne mal live sehen, stell mir das irgendwie nervig vor.

im video kriegst du einen eindruck davon wie das ganze aussieht.

Wenn das tatsächlich so ist, dann hätte man massive Probleme mit Inputlag.

davon wird im artikel auch eingegangen

You'd think that this technique would cause lag, but as the interpolated image is being generated using elements from the next "real" frame, it actually reduces latency. Andreev's technique is single-frame based rather than dual-frame. The latter approach would require buffering two images so has a big memory and latency overhead, while the technique Andreev used effectively interpolates on the fly using past and future rendering elements. [...]

SuperHoschi
2010-09-12, 14:11:54
Versteh ich das jetzt richtig, er nimmt das alte Bild,
schätzt wie das neue ausschaun könnte
und erzeugt ein hoffentlich passendes Zwischenbild?

Irre oder genial?

Iruwen
2010-09-12, 14:37:16
Wahrscheinlich wird für das Zwischenbild nur die Geometrie des nächsten Bildes verwendet damit man weiß was wo sein muss, die steht doch zuerst und ist recht "billig" oder?

Der_Korken
2010-09-12, 16:50:05
Ich habe mir mal das Testvideo angeguckt und bin da eher wenig von begeistert. Bei dem Vergleich 30fps vs 60fps habe ich wenig Unterschiede gesehen. Der linke Teil war nicht unangenehm ruckelig, die interpolierten (oder eher extrapolierten) 60fps also kaum eine Verbesserung. Das soll nicht bedeuten, dass mir 30fps in jeden Fall reichen, im Gegenteil, aber ich muss ein Spiel spielen, um einen Unterschied zwischen konstanten 30 und konstanten 60fps auszumachen. Wenn ich mal UT3 als Vergleich heranziehe, dann ist das Spiel bei 30fps optisch einwandfrei, aber das Spiel an sich fühlt sich träge und zäh an. Deswegen müsste ich ein Spiel auch mit so einem fps-Doping mal wirklich spielen, um zu sehen, ob sich dadurch etwas bessert.

Negativ aufgefallen bei den extrapolierten 60fps sind immer wieder so komische Artefakte an der Figur, wenn sie die Richtung geändert hat, oder eine unregelmäßige Bewegung ausgeführt hat. Bei 15vs60fps war das richtig extrem, da war das rechte Video zwar schön flüssig, aber dafür voller Bildfehler und Artefakte - fürchterlich.

Das einzig positive, was ich dem abgewinnen kann, ist der Umstand, dass auf den Konsolen durch diese Trickserei etwas mehr Leistung frei wird und die Entwickler dafür hochwertigeren Content erstellen. Auf dem PC muss man dieses fps-Doping ja nicht nutzen.

Flusher
2010-09-12, 17:00:14
Ich habe mir auch das Video angeschaut, und sehe sehr wohl einen deutlichen Unterschied zwischen 30 FPS und 60 FPS. Ist ja auch klar - allerdings hat ganz deutlich AA und AF gefehlt, und da stellt sich mir dann auch die Frage ob das mit der Technologie überhaupt machbar ist. Sollte das ganze tatsächlich mit AA und AF einwandfrei funktionieren und es auch sonst keine weiteren Einschränkungen geben, ist das durchaus interessant. Fraglich bleibt ob es nicht vllt doch einen Input Lag gibt.

THEaaron
2010-09-12, 17:37:42
Ich habe mir mal das Testvideo angeguckt und bin da eher wenig von begeistert. Bei dem Vergleich 30fps vs 60fps habe ich wenig Unterschiede gesehen. Der linke Teil war nicht unangenehm ruckelig, die interpolierten (oder eher extrapolierten) 60fps also kaum eine Verbesserung.

Ich für meinen Teil erkenne einen gewaltigen Unterschied zwischen beiden Versionen. Die 30FPS sehen unzumutbar aus nach dem ich die gleiche Szene mit 60FPS gesehen habe. Aber auch davor sind 60FPS einfach um Welten besser.

san.salvador
2010-09-12, 17:56:27
Die Spielfigur ist bei 60fps viiieeel niedriger aufgelöst als bei 30fps. Schaut mal bei 2:06, furchtbar.

€dit:
http://dl.dropbox.com/u/4162752/Bilder/fuglyAA.PNG

Ich glaub die rendern die Spielfiguren einfach mit 320x240 und kommen so auf 60fps. :ugly:

no6ody
2010-09-12, 18:03:03
Die "Artefakte" die bei dieser Up-Conversion entstehen sind aber auch nicht zumutbar. In dem Video sind sie an vielen Stellen deutlich erkennbar. Am deutlichsten sieht man es in dem Sample Video an den Beinen der Figur, wenn sie laeuft.

edit:
hier noch ein pic (fuer die die's nicht sehen :ugly: ):

http://www.abload.de/img/fuglyvfi4.jpg

Spasstiger
2010-09-12, 18:12:31
@san.salvador: Sieht imo eher nach gleicher Renderauflösung, aber Edge-AA (Blur) bei ersterer Variante aus. Denn der Detailgrad ist imo bei beiden Bildern identisch.

@no6ody: Das sieht jetzt aber wirklich so aus, als ob die Differenzinformation in den Zwischenbildern in niedrigerer Auflösung generiert wird.

/EDIT: Ich hab mal ein Video angeschaut. Die Differenzinformation in den Zwischenbildern wird wirklich in niedrigerer Auflösung berechnet (640x360 statt 1280x720). Deshalb sieht man auch diese Ghosting. Und es entsteht auch kein zeitlicher AA-Effekt aufs ganze Bild (z.B. in Form von Reduzierung von Shaderflimmern), weil in den Zwischenbildern nur sich ändernde Geometrie berücksichtigt wird. Man könnte ja auch bei gleichbleibender Geometrie sanft in den nächsten Frame überblenden, um eben Shaderflimmern zu reduzieren. Aber dazu müsste man einen Frames zusätzlich vorhalten, was zum Input Lag führt.
Alles in allem sieht es aber schon ganz brauchbar aus. Leider erschwert das Motion Blur in der Variante mit 30 fps den Vergleich ein wenig. Entweder haben beide Varianten Motion Blur oder keine Variante.

Btw.: Für die Xbox 360 finde ich die Grafik von Force Unleashed 2 echt schwach. Sowas hätte man doch schon auf der alten Xbox hinbekommen.

Gast
2010-09-12, 18:14:12
Jetzt hab ich sowas auch schon seit längerem im Kopf. Die Videos sehen aber eher mittelmäßíg aus. 15=>60 geht auf jeden Fall garnicht.
Was ich mich aber wundere, können die das Bild nicht auch ohne die Hauptfigur rendern, dann die Figur einfügen, das vor-bild predicten, die Hauptfigur einen halben Frame weiter neu rendern und dann in das predictete Bild einfügen? (Am besten natürlich auch Kamera nahe Gegner und so neuberechnen.)
Ok, man muss das Bild dann einmal extra im Speicher halten. Aber wenn die die Figur auf dem Prozessor entfernen, muss doch das fertige Bild wieder in den Hauptspeicher kopiert werden, das kostet doch auch wieder...

randy
2010-09-12, 20:49:40
Die "Artefakte" die bei dieser Up-Conversion entstehen sind aber auch nicht zumutbar. In dem Video

hast du den screenshot vom protoyp video oder von der live demo? die xbox demo scheint ja fortgeschrittener zu sein.

@Gast:

In den Slides (http://and.intercon.ru/rtfrucvg_html_slides/) steht dazu

Now, what about all those dynamic objects and characters? Dynamic objects could be re-rendered completely at 60 fps, or rendered separately from the environment, so that we can handle the overlaps perfectly. But this works best for forward rendering, as it's easy to render things separately. Deferred techniques make this a lot more complicated. Thus, in our particular case, we need something else.

(Slide 31)

So wie ich das verstehe, wäre es machbar (?)

Der_Korken
2010-09-12, 20:49:58
Ihr habt Recht: Wenn man die Videos getrennt hintereinander anguckt, sieht doch nen Unterschied. Ich hatte davor mehr oder weniger beide Versionen gleichzeitig angeguckt. Was mir außerdem noch bei dem 15-60fps-Video auffällt: Die Lichtreflexionen auf dem Boden scheinen manchmal auch nur mit 15fps berechnet zu sein. Nicht immer, eher dann, wenn die Kamera gedreht wird. Vielleicht irre ich mich aber auch.

Vento
2010-09-12, 21:05:35
Grundprinzip dürfte identisch sein zur Frame Interpolation (MCFI) bei Flat-TV's.
Verwendet werden dafür vektorbasierte Algorithmen, Nebeneffekte werden ebenfalls vergleichbar sein, Artefakte und Probleme bei der Pixelzuordnung an den Objektkanten (was bei MCFI's im Flat-TV Bereich den Soap Effect verursacht).


Dürfte wohl in erster Linie für die "Last-Gen Konsolen" interessant sein.
Wird in dem Bericht ja auch klar artikuliert was das Primärziel solcher Lösungen ist.

"With platform holders, publishers and developers alike hoping to get at least two to three more years out of the current gen platforms, innovation like this is hugely welcome"


Was mir außerdem noch bei dem 15-60fps-Video auffällt: Die Lichtreflexionen auf dem Boden scheinen manchmal auch nur mit 15fps berechnet zu sein. Nicht immer, eher dann, wenn die Kamera gedreht wird. Vielleicht irre ich mich aber auch.


Ist sehr wahrscheinlich, da bei den vektorbasierenden Algorithmen einer MCFI eigentlich immer nur auf Basis der sich bewegenden Objekte, b.z.w. deren Bewegungsrichtung ein Frame interpoliert wird, es wird nie der komplette Bildinhalt dafür verwendet.

Coda
2010-09-12, 21:27:30
Ich würde auch sagen, dass der Inputlag das größte Problem daran ist. Ansonsten sieht's doch ganz gut aus.

Edit: Braucht die Technik gar nicht. Die geht von einem Bild aus und rechnet dann aus den Bewegungen das Zwischenbild.

hier noch ein pic (fuer die die's nicht sehen :ugly: ):

http://www.abload.de/img/fuglyvfi4.jpg
Das ist aus dem Prototyp-Video und wurde anscheinend gefixt.

Ich find's ne ziemlich gute Idee. Konsolenspiele sind eh relativ unscharf, da fällt das kaum auf. Und das die Bewegung flüssig ist, ist da echt wichtig.

xiao didi *
2010-09-12, 21:47:00
Edit: Braucht die Technik gar nicht. Die geht von einem Bild aus und rechnet dann aus den Bewegungen das Zwischenbild.
Wollts grad sagen. Wurde schon widerlegt.

Bei diesem Video (http://and.intercon.ru/videos/rtfrucvg_part2_live_x360_h264.avi) (XBox360 Demo (178 MB)) bekämpft man damit zwar effektiv zeitliches Aliasing, führt aber wohl, aufgrund der niedrigen Auflösung der Zwischenbilder, aber auch zu Blur. Ob einem dieser Kompromiss, der Bildverbesserer wie zb. SSAA hinfällig macht, gefällt, ist dann Geschmackssache.

Zeitliches Aliasing, welches nur sehr selten Thema bei Spielen ist, empfinde ich übrigens als sehr ernstes Problem. Nicht jeder nimmt das im Gleichen Maße wahr, aber ich selbst bin da zum Beispiel sehr empfindlich.
Schade, dass man das marketingtechnisch sehr schlecht verkaufen kann.

Siegfried
2010-09-16, 19:39:56
am besten alle spiele und filme nur noch mit 1fps laufen lassen und hochkonvertieren
die paar sekunden inputlag und artefakte bemerkt eh keiner

Exxtreme
2010-09-16, 20:31:07
Ich sehe zwar auch einen Unterschied aber für die angepeilte Zielgruppe der Gelegenheitsspieler ist das ausreichend.

Coda
2010-09-16, 21:35:14
am besten alle spiele und filme nur noch mit 1fps laufen lassen und hochkonvertieren
die paar sekunden inputlag und artefakte bemerkt eh keiner
Die Polemik kannst du dir sparen. Es geht um 30 auf 60 FPS und da sind kleinere Artefakte durchaus zu verschmerzen.

Tesseract
2010-09-16, 21:58:33
die interpolierten 60 fps sehen aus wie vielleicht 40fps mit unschärfe und artefakten. ganz großes kino. :rolleyes:

xiao didi *
2010-09-16, 22:04:29
Ich denke, dass diese Technik durchaus seine Anwendungsfelder finden wird. Möglicherweise mit einer weniger aggressiven Interpolation oder bei Handhelds mit Displays jenseits der 200dpi oder whatever.
Wie bereits erwähnt ist es ein Kompromiss, dessen Balance je nach Content und Darstellungsmethode schwankt.

Exxtreme
2010-09-17, 15:26:16
die interpolierten 60 fps sehen aus wie vielleicht 40fps mit unschärfe und artefakten. ganz großes kino. :rolleyes:
Wenn man damit Geld sparen kann weil man die Hardware schwächer auslegen kann dann wird das gemacht. Auf die 5% der User, die das stört wird halt geschissen.

Coda
2010-09-17, 16:25:53
die interpolierten 60 fps sehen aus wie vielleicht 40fps
Nö tun sie nicht. Es sieht aus wie 60 FPS. Die Bewegung ist ja bekannt.

Tesseract
2010-09-17, 16:52:32
Nö tun sie nicht. Es sieht aus wie 60 FPS. Die Bewegung ist ja bekannt.
es sieht nichtmal ansatzweise aus wie 60fps. nichtmal mit rückenwind bei schönwetter. das interpolierte video ruckelt subjektiv fast 1:1 wie das mit 30 fps.

THEaaron
2010-09-17, 16:52:58
Natürlich ist das 60FPS.. vielleicht mal Codecs überprüfen oder so?

Coda
2010-09-17, 17:05:24
es sieht nichtmal ansatzweise aus wie 60fps. nichtmal mit rückenwind bei schönwetter. das interpolierte video ruckelt subjektiv fast 1:1 wie das mit 30 fps.
Sorry, aber irgendwas stimmt dann bei dir nicht. Bei mir sieht das deutlich flüssiger aus.

hmx
2010-09-17, 17:14:19
Sowas können doch schon alle 100Hz LCDs. Ich hab das auch mal probiert, hab den LCD mit 24Hz abgesteuert eine Spiel gespielt und dann die Zwischenbildberechnung angeschaltet. Bei gleichmäßigen Schwenks funktioniert das ganz gut, aber bei unerwarteten Bewegungen kommt die Berechnung aus dem Tritt und zeigt nur 24 fps.

Coda
2010-09-17, 17:15:54
Nein, sie können es nicht, weil sie viel weniger Informationen haben als die Engine.

del_4901
2010-09-17, 17:36:10
Nein, sie können es nicht, weil sie viel weniger Informationen haben als die Engine.
Nun sei doch mal nicht so pampig :)
Sag doch einfach, das man evtl. den velocity buffer vom motion blur weiterverwenden koennte. Oder spezielle masken oder oder... Dinge die mir grad nicht einfallen.

Tesseract
2010-09-17, 19:23:07
Sorry, aber irgendwas stimmt dann bei dir nicht. Bei mir sieht das deutlich flüssiger aus.
schau dir mal die gebäude im hintergrund wärend der drehbewegung an. weicher als 30 sehen die interpolierten 60 schon aus, aber von den echten 60fps sind sie definitiv weiter weg als von 30.