Page 1 of 1

Blur Busters History / Creating a Strobe Backlight (2012)

Posted: 18 Dec 2013, 21:28
by Chief Blur Buster
History of Blur Busters:
Blur Busters started because of a tweet reply to me from John Carmack. Blur Busters began first as http://www.scanningbacklight.com (a domain name which I own as well). As I also worked in the home theater industry, I have an intimate understanding of many display technologies.

Back in 2012 (long before LightBoost 2D was discovered and publicized), I was posting that it was now finally possible to have CRT motion clarity on LCD panels, and that it was possible to strobe the backlight. Some people say it was the nostradamous moment before discovering the LightBoost tweak for 2D motion blur reduction (first revealed by TechGaming/esreality, and then massively simplified by Blur Busters LightBoost HOWTO). This strobe backlight became popular in the high end gaming community, especially among FPS players, thanks to the Blur Busters LightBoost HOWTO.

This article is based on now-outdated knowledge, but here's an old article dating back September 2012 before the widespread discovery of LightBoost 2D. This is the Arduino Scanning Backlight, I originally started working on in 2012, to bring good-quality motion blur elimination to LCD computer monitors for video gaming:
Mark Rejhon, from September 2012 wrote:Hello,

Goal: Eliminate motion blur on an LCD, and allow LCD to approach CRT quality for fast-motion.

Scanning backlights are used in some high end HDTV's (google "Sony XR 960" or "Samsung CMR 960"). These high end HDTV's simulate 960 Hz using various techniques, including scanning backlights (sometimes also called "black frame insertion"). The object of this is to reduce motion blur greatly by pulsing (flickering) the LCD -- scanning the backlight (flicker), like a CRT would scan the phosphor (flicker) These home theater HDTV's are expensive, and scanning backlights are not really taken advantage of (yet) in desktop computer monitors. Although there are diminishing returns beyond 120Hz, it is worth noting that 120Hz eliminates only 50% of motion blur versus 60Hz, however, 480Hz eliminates 87.5% of motion blur versus 60Hz. Scanning backlights can simulate the motion-blur reduction of 480Hz, without further added input lag, and without needing to increase actual refresh rate beyond the native refresh rate (e.g. 120Hz). Your graphics card would not need to work harder.

I have an idea of a home-made scanning backlight, using an Arduino project, some white LED strips, and a modified monitor (putting Arduino-driven white LED strips behind the LCD glass)

Most LCD's are vertically refreshed, from top to bottom.
The idea is to use a homemade scanning backlight, by putting the LCD glass in front of a custom backlight driven by an Arduino project:

Parts:
1. Horizontal white LED strip segments, put behind the LCD glass. The brighter, the better! 4 or 8 strips.
2. Arduino controller (to control LED strip segments).
3. 4 or 8 pins on Arduino connected to a transistor connected to the LED strip segments.
4. 1 pin connected to vertical sync signal (could be software such as a DirectX program that relays the vertical sync state, or hardware that detects vertical sync state on the DVI/HDMI cable). The vsync signal ideally needs to be precise, this might still be possible to do over USB, if you can make it sub-millisecond precision (or use timecoding on the signal to compensate for the USB timing fluctuations) If done using software signalling over USB, you can eliminate this pin.

The Arduino controller would be programmed to flash the LED strip on/off, in a scanning sequence, top to bottom. If you're using a 4-segment scanning backlight, you've got 4 vertically stacked rectangles of backlight panel (LED strips), and you flash each segment for 1/4th of a refresh. So, for a 120Hz refresh, you'd flash one segment at a time for 1/480th of a second.

The Arduino would need to be adjustable to adapt to the specific refresh rate and the specific input lag specific to the monitor:
- Refresh rate automatically configured over the USB
- Configurable on/off setting, to stop the flicker when you aren't doing fast-motion stuff (FPS gaming, video camera playback, etc.)
- Upon detecting signal on the vsync pin the Arduino would begin the flashing sequence to the first segment. This permits synchronization of the scanning backlight to the actual output.
- An adjustment would be needed to compensate for input lag (either via a configurable delay or via configuring the flash sequence on a different segment than the first segment.)
- Configurable pulse length, to optimize image quality with the LCD.
- Configurable panel flash latency and speed (to sync to the LCD display's refresh speed within a refresh) -- this would require one-time manual calibration, via testing for elimination of tearing/artifacts. For example, a specific LCD display might only take 1/140th of a second to repaint a single 120Hz frame, so this adjustment allows compensation for this fact.
- Configurable number of segments to illuminate -- e.g. illuminate more segments at a time, for a brighter image at trade-off (e.g. simulating 240Hz with a double-bright image, by lighting up two segments of a scanning backlight rather than 480Hz)
- If calibrated properly, no extra input lag should be observable (at most, approximately 1-2ms extra, simply to wait for pixels to fully refresh before re-illuminating backlight).
- No modifications of computer monitor electronics is necessary; you're just replacing the backlight with your own, and using the Arduino to control the backlight.
- Calibration should be easy; a tiny computer app to be created -- just a simple moving test pattern and a couple or three software sliders -- adjust until motion looks best.

Total cost: ~$100-$150. Examples of parts:
- $35.00 (RadioShack) -- Arduino Uno Rev 3. You will need an Arduino with at least 4 or 8 output pins and 1 input pin. (e.g. most Arduino)
- $44.40 (DealExtreme) -- LED tape -- White LED's 6500K daylight LED's, 50 watts worth (5meter of 600x3528 SMD LED 6500K).
- Plus other appropriate components as needed: power supply for LED's, wire, solder, transistors for connecting Arduino pins to the LED strips, resistors or current regulators or ultra-high-frequency PWM for limiting power to the LED's, etc.

LED tape is designed to be cut into segments, (most LED tape can be cut in 2 inch increments). Google or eBay "White LED tape". A 5 meter roll of white LED tape is 600 LED's at a total 50 watts, and this is more than bright enough to illuminate a 24" panel in 4 segments, or can be doubled-up. These LED tape is now pretty cheap off eBay, sometimes as low as under $20 for chinese made rolls, but I'd advise 6500K full-spectrum daylight white LED's with reasonably high CRI, or color quality will suffer. Newer LED tape designed for accent lighting applications, would be quite suitable, though you want it daylight white rather than warm white or cold white -- to match the color of a typical computer monitor backlight. For testing purposes, cheap LED tape will do. You need extra brightness to compensate for the dark time. A 4-segment backlight that's dark 75% of the time, would ideally need to be 4 times brighter than the average preferred brightness setting of an always-on backlight. For even lighting, a diffuser (e.g. translucent plastic panel, wax paper, etc) is probably needed between the LED's and the LCD glass.

This project would work best with 120Hz LCD panels on displays with fast pixel responses, rather than 60Hz LCD panels, since there would not be annoying flicker at 120Hz (since each segment of the scanning backlight would flicker at 120Hz instead of 60Hz), and also that the pixel decay would need to be quick enough to be virtually completed

Scanning backlight is a technology already exists in high end home theater LCD HDTV's (960Hz simulation in top-model Sony and Samsung HDTV's -- google "Sony XR 960" or "Samsung CMR 960"), and most of those include motion interpolation and local dimming (Turning off LED's behind dark areas of screen), in addition to scanning backlight. We don't want input lag, so we skip the motion interpolation. Local dimming is complex to do cheaply. However, scanning backlight is rather simple -- and achievable via this Arduino project idea. It would be a cheap way to simulate 480Hz (or even 960Hz) via flicker in a 120Hz display, by hacking open an existing computer monitor.

Anybody interested in attempting such a project?

Re: Blur Busters History: Arduino Scanning Backlight (2012)

Posted: 18 Dec 2013, 21:30
by Chief Blur Buster
The discovery of LightBoost 2D, showed a much easier way so I changed direction to working on improving LightBoost (5 different methods of enabling LightBoost, plus a LightBoost FAQ!). I did so much research on both the Arduino Scanning Backlight, as well as the LightBoost HOWTO, that I've written an engineering HOWTO for manufacturers that want to add a motion blur eliminating strobe backlight to gaming LCD monitors:

Electronics Hacking: Creating a Strobe Backlight

Several manufacturers have confirmed to me they read this article already. It is quite possible, that the current strobe backlight explosion by several manufacturers, may, be inspired, in part by the LightBoost popularizing I've done -- as well as by this article and others that I helped create, including as TFTCentral.co.uk: Motion Blur Reduction Backlights.

Now you know a little bit of history on how Blur Busters started!

Re: Blur Busters History / Creating a Strobe Backlight (2012

Posted: 23 Dec 2013, 15:25
by Ahigh
http://en.wikipedia.org/wiki/Talk:Display_motion_blur

For me, August 2007 was when I started posting to the internet about this stuff. I bored plenty of folks at work with stuff about backlight strobing and variable refresh rates that now everyone is pretending just got invented. I don't know anyone who was talking about this stuff in 2006 when I kept ranting and raving to folks at the offices at Red 5 Studios.

Even in late 2005, it was apparent after just a few sessions with fast gameplay on a sample-and-hold LCD that there was a huge problem.

The Wikipedia page went largely unnoticed by manufacturers for years and years. Display manufacturers could have easily read where I stated on the Wiki page that an instantaneous strobe would completely eliminate retinal blurring. But even while strobing was done for frame insertion, no strobe modes were enabled from "game mode" for years and years.

Reviewing the Wikipedia entry I made in August 2007 shows one of the first demonstrations of retinal blurring. At that time the entire concept of retinal blurring was generally foreign to just about everyone I spoke to about it.

http://en.wikipedia.org/w/index.php?tit ... =148438557

Image

This was a pre-cursor to Mark's UFO app. I also have an app that demonstrated retinal blurring with better precision. But Mark is the one who really took this torch and ran with it a year ago.

Re: Blur Busters History / Creating a Strobe Backlight (2012

Posted: 24 Dec 2013, 12:05
by Chief Blur Buster
Ahigh wrote:This was a pre-cursor to Mark's UFO app. I also have an app that demonstrated retinal blurring with better precision. But Mark is the one who really took this torch and ran with it a year ago.
For those wondering which TestUFO animation that is, I invented a clever starfield animation that demonstrates retinal blurring in a much more obvious way:


1. First, look at the stationary UFO. Observe the pattern.
2. Next, look at the moving UFO. Observe the very different pattern.


IMPORTANT: This animation only works if your browser is setup correctly. Verify your browser is stutter free (framerate=Hz animations, Chrome, FireFox, Opera), running GPU accelerated, primary monitor only, Aero mode enabled. Otherwise the above animation doesn't "look correct".

Simple Explanation: On LCD displays, refreshes are displayed continuously (high speed video of LCD). Notice in that high speed video, that LCD's don't flicker! But when you track a moving object on the screen, your eyes are continuously moving non-stop in order to track a moving on-screen object. This means your eyes are always in different positions at any instant moment. But refreshes aren't instant (frames are continuously displayed for a full 1/60sec each for a 60Hz monitor). This means your eyes are in different positions at the end of a display refresh, than at the beginning of a display refresh (1/60sec later). The lines are spaced exactly one refresh-cycle apart, with the UFO motion moving across the vertical white lines at the same rate as the monitor's refresh. As a result, the motion of your eye-tracking has motion-blurred the thin vertical lines into a solid grey that completely fills the black gaps between the lines. Each static frame in the refresh (1/60th second long) are blurred across your retinas for a full 1/60th of a second, of the complete distance between the thin vertical lines, because your eyes keeps moving across a static frame, at the same rate as the moving UFO. The UFO is moving past 60 vertical lines per second (on a 60Hz monitor), precisely timed and spaced, to cause the motion blur (caused by your own eye tracking motion) to completely fill the black gaps.

Note that often the terminology (when I write mainstream articles) are interchangeable, as they refer to the same thing in the animation above. "sample-and-hold" == "persistence" == "retinal blurring" == "tracking-based motion blur".

Currently, strobe-backlight monitors solve the majority of this retinal blurring problem (this is also talked about as "persistence" by John Carmack, or also as "sample-and-hold"). CRT displays, LightBoost displays, all manage to largely solve the retinal blurring issue highlighted above. Also, future framerateless or ultra-high framerate displays could also solve retinal blurring without needing strobing. (having a flicker-less display without retinal blurring, is a big engineering challenge -- it would technically need 1000fps@1000Hz to achieve flickerfree 1ms persistence, no strobing, no phosphor, no light modulation). So for now, strobing is a simple solution to fix retinal blurring without needing extra refresh rate / extra frames.