BFI for 30fps Content on 120hz(+) Display?

Advanced display talk, display hackers, advanced game programmers, scientists, display researchers, display manufacturers, vision researchers & Advanced Display Articles on Blur Busters. The masters on Blur Busters.
Guffman
Posts: 5
Joined: 19 Aug 2022, 22:55

BFI for 30fps Content on 120hz(+) Display?

Post by Guffman » 19 Aug 2022, 23:31

Hi everyone,

First off, it's a privilege actually posting here given how long I've been following the site. Pandering out of the way, I've found myself on something of a quest recently as far as smoothing out 30fps content (namely console-exclusive video games) on high-refresh displays. I know that most, if not all, consoles output 30fps in a 60hz container as standard, thus doubling 30 frames to 60, and creating various doubling artifacts. My particular display is actually a CRT, specifically the Sony FW900 Trinitron (I'm very lucky), which is very flexible as far as resolutions and refresh rates, but obviously predates many of the modern luxuries designed to replicate CRT goodness. I have no issues whatsoever playing native PC content on this monitor, but as stated, console games at 30fps create a number of afterimage artifacts as you might imagine.

So I had an idea of implementing what modern displays use to replicate CRT technology - namely BFI. I've tried BFI on a 60hz display via RetroArch and seen how flicker-filled and terrible that can be, so my next idea would be to use some type of framerate conversion to send the source 60hz signal into a 120hz container and add BFI to that. The FW900 in particular easily supports 720p and below at 120 or more hz, so it's not so much an issue of the monitor(s), but rather finding hard/software that can do this specific thing. Using a custom resolution of 1280x800@120hz (this monitor is 16:10) I was able to see the BFI UFO test actually looks pretty great, even at 30fps.

I have some thoughts when it comes to this, some of which I've seen suggested on this very forum but am unsure if anything became of it. One idea is to use a low-latency capture card with my PC and apply some type of Windows/GPU-driver-based BFI to my display as a whole. That way I can essentially "stream" the console's 60hz output signal to myself on the monitor in 120hz mode, with each frame blackened by BFI on the PC. This will guaranteed produce a non-zero amount of latency, but depending on the game it might be worthwhile if such a thing is possible.

Another idea is to use something akin to what retro gamers refer to as "scanline generators," whereby a clock generator chip dims an analog video signal's RGB values to 0 every so often as a frame is sent through in order to essentially blank out (with blackness) even or odd lines of an image to artificially recreate the vintage CRT look. However, a friend gave me the brilliant idea of blanking out entire alternating frames rather than simply lines of pixels within a frame, so a similar circuit design could be timed to 0 out the RGB values of the analog video every 8.33ms and then pass them through normally for the next 8.33ms... something like that. Unfortunately, this only really applies to analog video displays, like CRTs, but if this is the most viable method then I will be selfish and pursue it wholeheartedly, haha.

Lastly, I've seen the idea floated around of leaving the 60hz signal itself untouched, but having hard/software acting as an intermediary that will "convert" the 60hz signal to a 120hz one by inserting black frames in between the otherwise vanilla 60hz. This seems to be the most elegant, "holy grail" solution, but I can't find anything on the internet as far as tools to do this. I don't have a projector or any sort of 3D display for telling alternating frames to just be blacked out, and since I plan to use this largely for console games, using an option that only works traditionally for PC gaming doesn't seem to apply here...

Anyway, just thought I'd share my thoughts and see if anyone had any suggestions or wanted to chime in on their own. I'll continue down this rabbit hole myself, but since you guys are THE guys when it comes to killing motion blur artifacts, I figured this was the best place to ask. Thank you for your time, and your attention! :mrgreen:
Chief Blur Buster wrote:
05 Sep 2022, 17:11
EDIT: To Insert Chief Blur Buster Reply:

It reduces flicker yes, but it introduces a duplicate image effect, so it isn't a Holy Grail.

For More Info And Animation Demos, See blurbusters.com/area51

Multi-strobe definitely creates duplicate images. This is confirmed:

Image

1 - Motion blur is proportional to pixel visibility time. For squarewave strobed framerate=Hz, motion blur=pulse width. For non0strobed, motion blur=frametime
Educational Animation Demo Link:
TestUFO Variable Persistence BFI
(*IMPORTANT: Not for strobed displays or CRTs; run this on a sample-and-hold display of 120Hz or higher. If you only have 60 Hz, it will be super-flickery)

2 - To avoid duplicate image artifacts, flicker must be contiguous for a unique frame, to avoid duplicate images.
Educational Animation Demo Link: TestUFO Black Frame Insertion With Duplicate Images

For More Info And Animation Demos, See blurbusters.com/area51

From the "Research" tab on the Blur Busters website, I have provided these two images as a reference how to get identical display motion blur on a strobed display versus impulsed display. (Important: CRTs impulse so briefly that no commercially available unstrobed sample-and-hold display can yet match the motion blur of CRT).

Image

Image

This is all confirmed and now known (for a decade) display motion blur science.

This is even demonstratable in software-based BFI, just click the links above. The more refresh rate the better, because BFI persistence can only be simulated in refresh cycle increments. So if your display is 144Hz, your BFI persistence control of software-based BFI can only occur in 1/144sec increments. So the TestUFO animations become more educational the higher the refresh rate you go

Blurfree 60fps absolutely has to unavoidably modulate light output (with a contguous light-output peak per unique image aka frame).
So because you're stuck with 60 light-output peaks (flickers) per second, you have to do various means of mitigation, as follows:

How Do You Fix 60 Hz Flicker As Much As Possible? (aka How To Simulate a CRT Better)

The main 60 Hz flicker workaround is
(A) Soften the leading edge and/or trailing edge. CRTs have phosphor decay so the motion blur trailing edge is softened slightly (less harsh flicker)
(B) make sure photons are continually hitting human eyes by using a rolling strobe (like a CRT) instead to soften the leading and trailing edges of the flicker, at the cost of a bit more blur/ghosting/phosphor-decay effects. That's why I'm a fan of future CRT simulators.

Be noted there are other factors (brightness, image size, viewing distance, ambient lighting, flicker sensitivities between humans, etc), but the above is what CRTs naturally did; a rolling flicker with a decay effect. This is what makes 60 Hz flicker a lot more tolerable than 60 Hz squarewave. Be noted the sensitivities vary a lot -- there are people who can't stand a 60 Hz CRT -- and on the opposite side of the spectrum, there are people who tolerate 60 Hz global strobing.

Some displays do (B) like LG OLED rolling BFI but that doesn't fix (A). So the current (2017-2022) LG OLED rolling strobe is a less flickery but has way more motion blur (over 10x more) than the best strobed LCDs. Many love the LG OLED (as do I) as a compromise, however. But it is not (yet) a Holy Grail.

That's why I am a big fan of future CRT electron beam simulators (rolling strobe with fadebehind), because once you have enough brute refresh rate, you can simulate in finer granularities. The higher the refresh rate, the shorter-persistence a CRT tube can be simulated (as persistence is in refreshtime increments). If only the LG OLEDs could do 1000Hz+....

Long-term, I'm interested in seeing an open-source Windows Indirect Display Driver exist (based on that Microsoft sample) to run various kinds of shader algorithms such as:
- software-based BFI (for 120Hz displays)
- rolling-scan simulators (for ultrahigh Hz displays, 240Hz+ OLED or 360Hz+ LCD)
- software simulated VRR (like testufo.com/vrr -- algorithm only works on sample and hold display; doesn't work on CRT)
- software-based LCD overdrive superior to manufacturer overdrive (e.g. allow in-between overdrive settings, and/or select different overdrive curves).
- etc.

An ADC isn't critical -- to omit a video processor box or ADC, you can just do a simple GPU shader running in a modified Microsoft-sample Windows Indirect Display Driver, and committed to github -- would do the job.

For More Info And Animation Demos, See blurbusters.com/area51

RonsonPL
Posts: 122
Joined: 26 Aug 2014, 07:12

Re: BFI for 30fps Content on 120hz(+) Display?

Post by RonsonPL » 20 Aug 2022, 14:43

Hi
I wish my FW900 was still in good, usable condition. I envy you.

As to the topic - we're waiting. A "device in the middle" box which takes 30 and outputs more would be great to have, although fast motion can never be interpolated well from just 30fps and if that was not bad enough, console games often don't allow you to disable motion blur in them.

For PC it could be more useful but presents a lot of challenges. Even if those are overcomed, it's still a problem of latency. Interpolating 60fps to 120, or better yet, 120fps to 480fps, could be more usable for game genres where latency is important and basically all the games where you aim by moving the camera with you mouse control, so all the FPP and TPP games.

I really wish emulators had it. There are beautiful side-scroller gems from 30 years ago, but running at 30 or even 20 (or even 15) fps makes them unappealing for me, as I personally just need smooth scrolling to enjoy those games, especially if I was to play just for the aesthetics.

PS. Lucky you, you can play some 50fps PAL games on emulators, if you have a CRT. It is painful and possible only for a short time, like 15-20 minutes, before you should take a break, but 50Hz is absolutely horrible on LCDs.

Guffman
Posts: 5
Joined: 19 Aug 2022, 22:55

Re: BFI for 30fps Content on 120hz(+) Display?

Post by Guffman » 20 Aug 2022, 19:15

I rigged up this very professional diagram^TM in Paint to hopefully illustrate how I feel like this would help. Since 30fps frames are doubled anyway to reach 60hz output, you're really not losing anything by blanking out half of your signal. Though you might not gain much either (as each frame will be quadrupled in a 120hz signal, then halved with BFI), but this would most likely help with 60fps games on 120hz display as well.
BFI Illustration.png
BFI Illustration.png (89.16 KiB) Viewed 11101 times
I forgot to mention I do use a now-old video processing device called the iScan DVDO VP50 from 2007 or so that can take a 60hz signal in and output 120hz via frame duplication. It doesn't use interpolation so you avoid the Soap Opera Effect, and it also works to eliminate 60hz flicker. So at least in my case I do have SOMETHING at my disposal to convert 60hz to 120hz output, but something more readily accessible and available would be welcome as well.

thatoneguy
Posts: 181
Joined: 06 Aug 2015, 17:16

Re: BFI for 30fps Content on 120hz(+) Display?

Post by thatoneguy » 21 Aug 2022, 16:56

RonsonPL wrote:
20 Aug 2022, 14:43

I really wish emulators had it. There are beautiful side-scroller gems from 30 years ago, but running at 30 or even 20 (or even 15) fps makes them unappealing for me, as I personally just need smooth scrolling to enjoy those games, especially if I was to play just for the aesthetics.
Those are very very few in numbers. Majority of games ran at about 60fps(technically most of them ran at odd refresh rates like 59.60hz-something or 60.09hz or whatever that modern displays can only properly display with G-Sync).
The few oddball ones that ran at 30fps were more often than not, garbage games.
The only good 30fps side-scrolling games that come to mind are the Metal Slug games. And given how slow the scrolling is in those games, 30fps is tolerable on a CRT.

OTOH there has been some kind of AI interpolation implemented in N64 Emulators that allows 20fps games like Zelda OOT to interpolate from 20fps to 60fps(although kinda pointless for Zelda in particular because the decompilation project is a better way to play that game).

thatoneguy
Posts: 181
Joined: 06 Aug 2015, 17:16

Re: BFI for 30fps Content on 120hz(+) Display?

Post by thatoneguy » 21 Aug 2022, 17:05

Guffman wrote:
20 Aug 2022, 19:15

BFI Illustration.png
That graph of your illustrates that the viewer's eye still gets the same amount of exposure to photons.
It's about pixel visibility time. The end result is that the flicker is the same as 30fps@30hz.

Chief can probably explain this one better.

EDIT: Just read your graph again and 2 blanked out frames at 120hz still leaves you with double-images for 30fps games.

For 30fps games you're basically SoL unless you buy a monitor at XG2431 and set the strobe duty cycle at 4ms MPRT or something like that via a combination of the strobe duty cycle and software 60hz BFI.
4ms isn't especially smooth but it beats 16.67ms.

Guffman
Posts: 5
Joined: 19 Aug 2022, 22:55

Re: BFI for 30fps Content on 120hz(+) Display?

Post by Guffman » 22 Aug 2022, 01:26

I know you're probably right, but my hope is/was that interjecting each doubled frame with a black frame would cut back on phosphor retention/double image artifacts, but without anything to test I can't see it myself and be sure. I know it's probably a lost cause since if there were good, cheap, simple solutions, people probably would have figured them out already, haha.

That being said, I did already place an order for some of the flip flop ICs used in scanline generators -- these chips rely on the horizontal sync pulse and trigger a state of grounded/zeroed R, G, and B values in the analog video line on each pulse, thus making the "every other line is black" effect. The current plan is to wire it up to use the vertical sync pulse instead, such that "every other frame is black," on a 120hz signal. If it doesn't work out, it was only some cheap chips that can be repurposed for something else (probably a scanline generator anyway, haha), so it won't break my heart too much to just have to keep playing games the way I have been anyway. ;)

EDIT: On a related note, does anybody think this might be helpful for non-CRT displays, such as high refresh LCDs? I have a friend with the LG 27GL850-B monitor, with NO BFI option, and I'm thinking this would also be great for him and others like him that want smoother motion on their +120hz displays with 60hz console games, which also includes 60fps games (so you'd ideally be avoiding frame doubling entirely).

okaxihd
Posts: 5
Joined: 31 May 2020, 23:23

Re: BFI for 30fps Content on 120hz(+) Display?

Post by okaxihd » 02 Sep 2022, 11:52

Hello, I wanted to ask a big question, do old CRT monitors (tube) run games at 30fps smooth? no ghosting? because 30fps on current monitors is terrible.
Thanks and sorry for my english.

RonsonPL
Posts: 122
Joined: 26 Aug 2014, 07:12

Re: BFI for 30fps Content on 120hz(+) Display?

Post by RonsonPL » 03 Sep 2022, 15:47

okaxihd wrote:
02 Sep 2022, 11:52
Hello, I wanted to ask a big question, do old CRT monitors (tube) run games at 30fps smooth? no ghosting? because 30fps on current monitors is terrible.
Thanks and sorry for my english.
Hi
Your English is fine, no worries. :)
Read this https://blurbusters.com/faq/motion-blur-reduction

In particular, this image explains why no display can ever display 30fps as acceptable, smooth and clear.
Image

30fps is simply not enough frames per second and unless you interpolate it, so artificially create frames in between the real frames, there's no way around it.

okaxihd
Posts: 5
Joined: 31 May 2020, 23:23

Re: BFI for 30fps Content on 120hz(+) Display?

Post by okaxihd » 03 Sep 2022, 18:35

RonsonPL wrote:
03 Sep 2022, 15:47
okaxihd wrote:
02 Sep 2022, 11:52
Hello, I wanted to ask a big question, do old CRT monitors (tube) run games at 30fps smooth? no ghosting? because 30fps on current monitors is terrible.
Thanks and sorry for my english.
Hi
Your English is fine, no worries. :)
Read this https://blurbusters.com/faq/motion-blur-reduction

In particular, this image explains why no display can ever display 30fps as acceptable, smooth and clear.
Image

30fps is simply not enough frames per second and unless you interpolate it, so artificially create frames in between the real frames, there's no way around it.
Got it, thank you very much for the quick response.

Guffman
Posts: 5
Joined: 19 Aug 2022, 22:55

Re: BFI for 30fps Content on 120hz(+) Display?

Post by Guffman » 05 Sep 2022, 02:55

okaxihd wrote:
03 Sep 2022, 18:35
RonsonPL wrote:
03 Sep 2022, 15:47
okaxihd wrote:
02 Sep 2022, 11:52
Hello, I wanted to ask a big question, do old CRT monitors (tube) run games at 30fps smooth? no ghosting? because 30fps on current monitors is terrible.
Thanks and sorry for my english.
Hi
Your English is fine, no worries. :)
Read this https://blurbusters.com/faq/motion-blur-reduction

In particular, this image explains why no display can ever display 30fps as acceptable, smooth and clear.

Code: Select all

[img]https://blurbusters.com/wp-content/uploads/2017/12/strobed-display-image-duplicates.png[/img]
30fps is simply not enough frames per second and unless you interpolate it, so artificially create frames in between the real frames, there's no way around it.
Got it, thank you very much for the quick response.
Yeah, your English is excellent. Wouldn't have even wondered had you not pointed it out yourself ;)

As an update to this idea, I'm trying to rig up one of the aforementioned "scanline generators" used for analog RGBHV to blank out every other frame instead of every other line for my own "Fake BFI". Would still require an ADC to be used with any monitor digital displays, but I suppose it won't matter anyway if I can't get it to work in analog, or if I find it's still too flickery and not worth pursuing anyway.

Post Reply