1 (edited by Nintendo Maniac 64 31-03-2017 07:59:16)

Topic: Super-sampling of frame rate interpolation?

I just did some offline-render testing with interpolating 50fps content with a 60Hz display, and I found that, rather than just directly interpolating by 1.2x to 60fps, you can get considerably smoother results by interpolating by 6x to 300fps and then downsample the frame rate by 1/5 back to 60fps.

This could similarly be done with 24fps where, rather than interpolating by 2.5x, you could interpolate by 5x and then downsample the frame rate by 1/2 back to 60fps.

A non-60Hz use-case would be 50fps on 75Hz displays, or 60fps on 90Hz displays (like VR headsets) - rather than doing 1.5x interpolation, you could instead do 3x interpolation and then downsample the frame rate by 1/2.



Obviously the computational requirements for this would be greater, but it's my understanding that interpolating by a larger multiple (like 6x vs 3x) is more dependent on GPU performance, and SVP's typical GPU requirements aren't exactly what one would call "demanding" considering that it can even run on Haswell Intel integrated graphics.

Re: Super-sampling of frame rate interpolation?

I agree that it must be smoother, but interpolating to 300 fps from 50 fps also means that you add a lot of "fictional" frames and thus drastically lose information (relatively speaking), so that image quality would suffer.

3 (edited by Nintendo Maniac 64 31-03-2017 09:32:52)

Re: Super-sampling of frame rate interpolation?

dejavecue wrote:

I agree that it must be smoother, but interpolating to 300 fps from 50 fps also means that you add a lot of "fictional" frames and thus drastically lose information (relatively speaking), so that image quality would suffer.

While this is true, it's worth noting that this increase in artifacting is much less with something like 60fps --3x-> 180fps --1/2x-> 90fps; in fact, the artifacting would be less than plain old 30fps --3x-> 90fps.

Re: Super-sampling of frame rate interpolation?

> rather than just directly interpolating by 1.2x to 60fps, you can get considerably smoother results by interpolating by 6x to 300fps and then downsample the frame rate by 1/5 back to 60fps.

Considering you do the final downsample by keeping every 5th frame in the sequence - Math is not agreed big_smile You should get identical frames in both cases.
Ensure that you do your tests with "frame interpolation mode" = "uniform"

Re: Super-sampling of frame rate interpolation?

Chainik wrote:

Ensure that you do your tests with "frame interpolation mode" = "uniform"

Oh so that's why Uniform takes an absurdly more amount of computational grunt when doing 50fps --to-> 60Hz.

But for my offline rendering tests, AFAICT, I cannot set uniform interpolation since the program I'm using seems to have some sort of preset settings for SVP interpolation.

Re: Super-sampling of frame rate interpolation?

x1.2 frame times:
0 5/6 10/6 15/6 20/6 25/6 30/6

x6 frame times:
0 1/6 2/6 3/6 4/6 5/6 6/6 7/6 8/6 9/6 10/6 ...

every 5th frame starting from 0:
0 5/6 10/6 ...