Thought on BFI algorithm for maintaining peak HDR highlights

High Hz on OLED produce excellent strobeless motion blur reduction with fast GtG pixel response. It is easier to tell apart 60Hz vs 120Hz vs 240Hz on OLED than LCD, and more visible to mainstream. Includes WOLED and QD-OLED displays.
Post Reply
naylord
Posts: 5
Joined: 01 Feb 2024, 17:04

Thought on BFI algorithm for maintaining peak HDR highlights

Post by naylord » 12 Apr 2024, 16:36

Hey I just had some thoughts on a BFI algorithm that would maintain HDR highlights and I'm just trying to see what would be wrong with it (because naively I'd figure this would be a better solution).

So our goal is to get persistence of each pixel down as low as possible to reduce blur. Suppose our display has 1000 nits of brightness. If we leave a pixel on at 50% persistence, the max amount of nits we can experience from that pixel is 500 nits because 50% of the time it is off and 50% of the time it is as most 1000 nits.

So suppose we have BFI at 50% persistence. Now on each pixel, if the nit level is less than 500 nits, we simply run it at 2x the brightness so it averages out to being the correct brightness. For and HDR scene this is probably over 95% of the pixels (probably closer to 98-99% of the pixels). Suppose we have a scant few highlights approaching 1000 nits. They could be perhaps a glint of a specular highlight or the pixels that make up the sun. For those pixels, we could just run them at full 100% persistence and get the full highlight.

This would entail getting stop and hold motion blur on just those 100% persistence pixels; I don't think this matters much though. You get low persistence nearly everywhere, and with the specific pixels that are extreme HDR highlights, you tend to not have visible texture detail that would get blurry as you turn the camera? I don't think so. It doesn't have texture detail at that brightness, it just looks like blindingly bright circle of pixels. All the scenery detail that is in the sub 500 range that would have detail subject to motion blur, would have low persistence making it clear.

I guess a big question is could this be done fast? I think so. I do have a programming background and since this is just a per pixel calculation you don't have any scaling factors that use data from neighbouring pixels which is what would make an algorithm expensive to do. So I think this can be done right as the frame is getting sent to the controller without any lag.

I'm assuming I'm making a huge naive mistake otherwise people could just implement this. If not though, why not just implement this for the best of both HDR and BFI?

Post Reply