Blur Busters Forums

Who you gonna call? The Blur Busters! For Everything Better Than 60Hz™ Skip to content

DIY Backlight Strobing [must read for experimenters!]

Advanced display talk, display hackers, advanced game programmers, scientists, display researchers, display manufacturers, vision researchers. The masters on Blur Busters.

DIY Backlight Strobing [must read for experimenters!]

Postby James Freeman » 13 Jan 2014, 16:21

It should be simple enough.

A signal generator with: duty cycle changer, phase shift (delay), and external frequency sync should do the trick.
The signal generator custom square wave should trigger the gate of a power transistor and strobe the leds as needed.

AKA Mosfet switch:
Image


My train of thought goes like this:

Find the vsync clock on a working monitor with a small an oscilloscope like: This, (should be easy).
Take this vsync clock and send it to small a signal generator board with an external frequency sync input, like: This.
Generate a square wave signal with altered duty cycle (1ms - 4ms) and a delay (phase shift), to trigger the D-On cycle after the pixel transition time (should be fine tuned watching some moving UFO images. :mrgreen:
This square wave should trigger the gate of a power mosfet to flicker the backlight.
Find the voltage output to the backlight, desolder it and connect it (or an external PSU) through the mosfet.
Find using a DVM the total Forward Voltage of the backlight diodes and select a resistor (Wattage should suit the current) accordingly (or a pot, for better brightness control).


Whaddaya' think?


EDIT:
It can be easier than I thought.

Looking at this thread: LCD LED Backlight
And this LED Driver IC schematic & Datasheet:
Image

I can compare and understand that they are exactly the same, including the IC, Inductor, Diode, VCC, LED Ribbon, etc...
A typical Led Driving Circuit inside your monitor already there.

The only thing that needs to be done is:
Disconnect the PWM input to the Driver IC, and connect the vsync'ed Signal Generator output to that.

Thats it. :roll:
User avatar
James Freeman
 
Posts: 14
Joined: 11 Jan 2014, 09:06

Re: DIY Backlight Strobing [must read for experimenters!]

Postby Chief Blur Buster » 13 Jan 2014, 18:38

James Freeman wrote:It should be simple enough.

Indeed. It works, but to get it high quality enough, there's always a lot of complications.

Have you read through the considerations in Electronics Hacking: Creating a Strobe Backlight?

Go for it, I'd love to see your test results.
-- Ideally, you want to do this on a 1ms TN Panel, and try to do your damndest best to enlarge your blanking interval as huge as possible. If you want to do an IPS panel, that's going to be a huge challenge, due to the multiple-refresh streaking issue (no clean fully refreshed LCD refrehes to strobe through). You want panels that are normally fast enough for 3D, basically panels that can pretty much mostly finish refreshing before the next refresh. LCD's only became able to do this very recently.
-- You ideally need to make your blanking interval at least 2-3ms long (if possible) to give enough time for pixels to settle, before the backlight strobe begins. Ideal case scenario is an accelerated LCD scanout in order to be finished scanning early. There are numerous tricks to achieve this, some of them tricky on existing LCDs and some of them easy to do. Most of the time, blanking intervals are tiny (1080p signal is about ~1145 vertical total -- so you only have 65/1145ths of 1/120sec in a common blanking interval)
-- Even if you can't solve the short blanking interval issue, you can at least adjust the strobe phase so you can make sure the center band of the screen has the least possible ghosting (minimum strobe crosstalk effect).
-- You want a strobe phase timing adjustment. I've found that ideal timing for a strobe is slightly late, and turn off the edgelight approximately 0.5ms into the next refresh cycle. LightBoost apparently also does this. This is because pixel transitions have a lag, and they haven't begun perceptibly moving until a bit later.
-- You want a strobe length adjustment. This is a brightness versus clarity tradeoff.
Blur Busters Law is 1ms of persistence (strobe flash time) leads to 1ms of motion blur during 1000 pixels/second.

I'd love to hear your findings about your strobe backlight experiments, if you go for it!
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter!
User avatar
Chief Blur Buster
Site Admin
 
Posts: 3573
Joined: 05 Dec 2013, 15:44

Re: DIY Backlight Strobing [must read for experimenters!]

Postby James Freeman » 15 Jan 2014, 08:00

Mark,

I have read the Electronics Hacking.
But still I need more info about Blanking Interval.

I don't seem to understand where this Blanking occurs, and how does it look.
The bigger the better, because it will allow you to hide more of the pixel transition in total darkness,

Isn't the 1080 lines already fully drawn and only then the blanking occurs?
Where does pixel transition is in this cycle?

You will want to find the point on your LCD electronics (e.g. via oscilloscope) where the vertical blanking interval signal is, and use that as a strobe trigger.

Does the VBlanking will look like a positive pulse Clock signal with the length I have set in Custom Resolution?

Time your LED backlight strobe circuit to flash the backlight towards the end of the blanking interval, preferably partially overlapping the start of next refresh by a fraction of a millisecond

Why do you think the pixels are settled only in the blanking period?
Maybe the pixel are already settled way before this Blanking period?

Are the pixels draw from top to bottom, left to right like in a CRT, that's why the blanking period is the best to strobe at, after ALL the pixels are settled?

This gives you more time for the pixels to settle in the blanking interval before strobing the basklight.

Is the blanking interval is when Nothing Happens, the lcd just waits, "unused time" to let the pixels settle longer?
Isn't at the end of the VBlanking a new pixel transition cycle starts?
If I have a faster LCD, is a long blanking needed?



Thanks.
User avatar
James Freeman
 
Posts: 14
Joined: 11 Jan 2014, 09:06

Re: DIY Backlight Strobing

Postby HeLLoWorld » 15 Jan 2014, 09:13

No need for an oscillator, all you need is something that detects the VBL heartbeat, waits X ms before flashing a led during Y ms, X and Y configurable, then even without understanding the pixel transition scheme all you have to do is to try every phase offset and find the best timing empirically while looking at the screen, easy.

I did this with an overkill microcontroller unit because I had it and it was convenient but you could just draw a an analog circuit with two timers linked to each other (charging capacitors, comparing rising voltages to trigger values) configurable with two potentiometers, this will do the same and should be quite easy and cheap.

On an old 60Hz panel, I flashed for just 1ms, adjusting the delay from 0 to 16ms.
On the blurbusters Eiffel tower test, you can see the ghosting image on the left fade out and the ghosting image on the right fade in as you change the phase, nice.

Also, there is just no good setting even at 1ms flash, whatever you choose it's either the top or the bottom of the frame, or both, that have ghosting.
Such is 60Hz continuous refresh.

But, it's shockingly sharp in movement! So the theory works :)
HeLLoWorld
 
Posts: 33
Joined: 07 Jan 2014, 18:44

Re: DIY Backlight Strobing

Postby Chief Blur Buster » 15 Jan 2014, 09:31

HeLLoWorld wrote:Also, there is just no good setting even at 1ms flash, whatever you choose it's either the top or the bottom of the frame, or both, that have ghosting.
Such is 60Hz continuous refresh.
Good experimentation.

I can let you know it is not because of 60Hz.
It's because of the short time period between refresh cycles.
You can fix this strobe crosstalk (horizontal band of ghosting) by accelerating the scan and using a larger blanking interval to increase the pixel settling time. The good news is it is easier to accelerate a 60Hz scan cycle than a 120Hz scan cycle. (You are already aware that LightBoost uses an accelerated scan?)

The best test to use is http://www.testufo.com/blurtrail in Height->Full Screen.
When you adjust the phase of the strobe, the strobe crosstalk (band of ghosting) will move upwards/downwards. Adding about 1.6ms delay to the strobe (1/10th of 1/60sec), will move the "horizontal band of ghosting" by 1/10th screen height downwards. If you use an analog potentiometer for the strobe delay, you'll see smooth movement of the ghosting zone upwards/downwards. You want to adjust it until the horizontal band of ghost falls inside the blanking interval, with equal amounts of ghosting at top and bottom edges.

To lengthen the blanking interval, try using ToastyX Custom Resolution Utility. Try a Vertical Total of 1500 during 60Hz. To do this, you need an LCD capable of ~90Hz scanout (1/90sec). Using such a larger Vertical Total on an unbuffered LCD, will accelerate the LCD scanout, and add extra pause to the interval between refresh cycles. This gives you more time to let LCD pixels settle between refreshes. This will help you hide more of the strobe crosstalk (ghosting) inside the blanking interval. So you want to btain an overclockable monitor, so you can waste the bandwidth in the VBLANK, to increase the pixel settling time. Not all LCD's will scan faster, so it's a good idea to obtain a $150 high speed camera and do some recordings of http://www.testufo.com/flicker to watch the LCD scanout in realtime.

Normally, Vertical Total is only 1125 pixels, so you only have (1125-1080)/1125ths of 1/60sec = 0.04/60sec = 0.7ms
A blanking interval of 0.7ms between refreshes is not enough time between refreshes to let pixels settle before the backlight strobing. So you have unavoidable noticeable ghosting somewhere on the screen. The less time you have for blanking interval, the taller the horizontal band of ghosting will become, and the harder it will be to hide the ghosting between refreshes inside the vertcal blanking interval. So you really want to focus on lengthening the blanking interval as much as feasibly possible. Even adding 100 pixels to Vertical Total, actually makes a noticeable difference, if the LCD is unbuffered real-time scanout.

So you need a larger Vertical Total, or a means of buffering and accelerating the LCD refreshes (much like LightBoost is doing). You want a fast LCD (1-2ms), and a large blanking interval between refreshes, for clean strobing.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter!
User avatar
Chief Blur Buster
Site Admin
 
Posts: 3573
Joined: 05 Dec 2013, 15:44

Re: DIY Backlight Strobing

Postby Chief Blur Buster » 15 Jan 2014, 09:36

HeLLoWorld wrote:Also, there is just no good setting even at 1ms flash, whatever you choose it's either the top or the bottom of the frame, or both, that have ghosting.
Such is 60Hz continuous refresh.

For a 1-2ms panel, you usually want to turn the strobe late in the VBLANK, and then turn off the strobe slightly after the next refresh cycle begins. That way, you have faint ghosting divided between the top edge and the bottom edge. The lateness reduces ghosting at the bottom edge, in exchange for slightly increased ghosting at the top edge. LightBoost uses this "compromise" strobe timing.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter!
User avatar
Chief Blur Buster
Site Admin
 
Posts: 3573
Joined: 05 Dec 2013, 15:44

Re: DIY Backlight Strobing [must read for experimenters!]

Postby Chief Blur Buster » 15 Jan 2014, 09:51

James Freeman wrote:Is the blanking interval is when Nothing Happens, the lcd just waits, "unused time" to let the pixels settle longer?
That's correct.

James Freeman wrote:Isn't at the end of the VBlanking a new pixel transition cycle starts?
Yes, but if you use a longer blanking interval, that's a bigger pause between the end of the previous LCD refresh, and the beginning of the next LCD refresh cycle. That's what I mean by creating a bigger pause between LCD refresh cycles.

If you are doing this project, you _really_ should have a reasonable basic/rough understanding of Custom Timings & Resolution (Front Porch, Back Porch, Active Pixels, Vertical Total) found in Custom Resolution Utilities (e.g. NVIDIA Custom Resolution, ToastyX Custom Resolution, PowerStrip, etc). Dot clock is the number of pixels per second. Horizontal Scan Rate is the number of pixel rows per second. A video signal often transmits 1125 to 1145 scan lines for a 1080p signal, so you have about (1125-1080) = 45 to (1165-1080) = 65 blanking interval scanlines. Basically, these are useless, empty, offscreen, "pause" scanlines (rows of pixels) that is simply padding between refreshes to insert a pause between refreshes. This was necessary with old analog TV's to give time for the electron gun to move back to the top of the screen. This old practice still exists in the digital era, but we can take advantage of this to insert a bigger pause for finishing the pixel transitions. The scanlines (rows of pixels) are transmitted between the computer and the monitor at a constant rate. If your horizontal scanrate is 135KHz, one row of pixel takes 1/135,000th of a second to transmit over the cable. If your LCD is zero buffered real time scanout, it will process and display that line in more-or-less realtime (additional processing will improve color, response time acceleration, inversion artifacts, etc). Anyway, a blanking interval of 45 or 65 pixels (Vertical Total 1125 or 1145 on 1920x1080) translates to a pause of 45/135000th to 65/135000th second between refreshes. Again, you _really_ need to understand Custom Timings and what the numbers in Custom Resolutions really does, and really translates to. You could proceed without an understanding of these, as often buffered LCD's will ignore the blanking interval and scan at a speed independently of the speed of the transmission over the cable. Here, in this case a high speed camera ($150 for Casio EX-ZR200) becomes very useful in verifying the scan velocity of the LCD, and whether or not you're able to modify that.

But if your goal is to avoid the dreaded strobe crosstalk (ghosting), you _definitely_ need to gain an understanding of doing these, increasing the scan velocity of the LCD (e.g. refreshing a refresh cycle faster, to insert a bigger pause between refreshes) which is very important to allow pixel transition settling, so you have a whole, fully refreshed frame, to strobe a backlight through. Scan velocity acceleration is common on stereoscopic 3D LCD's out of necessity, because they require fully refreshed frames without any grossly noticeably incomplete pixel transitions anywhere on the panel.

James Freeman wrote:If I have a faster LCD, is a long blanking needed?
Not necessarily. Shorter time between refreshes means more time sending voltage to each LCD pixels. Accelerated scanouts (e.g. refreshing a 60Hz refresh in 1/90sec or 1/120sec) to create a longer pause between refreshes (blanking interval) has the same disadvantage of witnessing poorer color quality at 144Hz versus better color quality at 60Hz. But it's a good way to gain more pixel transition settling time.

Again, scan speed can be independent of refresh rate. e.g. a 75Hz refresh cycle does an LCD scanout in 1/85th of a second.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter!
User avatar
Chief Blur Buster
Site Admin
 
Posts: 3573
Joined: 05 Dec 2013, 15:44

Re: DIY Backlight Strobing

Postby HeLLoWorld » 15 Jan 2014, 10:02

Okay, I meant, the fact that the refresh is done continuously (and slowly hence 60Hz as opposed to for example 120 in which case the problem would be less visible) is causing this "pick your poison" situation.
However I kind of supposed that the top pixels were decaying by the time the bottom pixels are refreshed.
Do you mean that when the pixel are refreshed, they take a long time to settle to their assigned value, but that they stay to this value for a long time (far more than a refresh cycle)?
In that case why do the pixel take time to attain their value after being told so, why do they stop at this value and why do they stay there? Is this a chemical/physical phenomenon? More about this?

In that case, by waiting far longer after the total refresh, there will indeed be a time where all the picture will be correct, and we can flash, and like you say one can do this by doing a customized longer VBL.
But this will lower the frame rate.
Or, do accelerated scanout like you say, but I don't know if I can do this.
Thank you very much for your insight.
I have an industrial-type high fps camera from older projects (a time when they were not available cheaply in consumer cameras :) ) but I did not use it yet.
HeLLoWorld
 
Posts: 33
Joined: 07 Jan 2014, 18:44

Re: DIY Backlight Strobing [must read for experimenters!]

Postby Chief Blur Buster » 15 Jan 2014, 10:17

HeLLoWorld wrote:Okay, I meant, the fact that the refresh is done continuously (and slowly hence 60Hz as opposed to for example 120 in which case the problem would be less visible)
Definitely not, the problem is more visible at 120Hz than at 60Hz.
60Hz is easier to do a ghost-free strobe backlight than 120Hz.

You need to understand the concept of scan velocity's advantage in reducing ghosting. If you accelerate the 60Hz LCD refresh to finish refreshing in 1/120sec, you insert a huge 4ms pause between refreshes (aka "larger blanking interval"), which is plenty of time to let a 1-2ms LCD to settle, before flashing the strobe backlight.

HeLLoWorld wrote:However I kind of supposed that the top pixels were decaying by the time the bottom pixels are refreshed.Do you mean that when the pixel are refreshed, they take a long time to settle to their assigned value

Correct. Watch the high speed videos below.
HeLLoWorld wrote:but that they stay to this value for a long time (far more than a refresh cycle)?

Not necessarily. Watch the high speed videos below.

HeLLoWorld wrote:In that case why do the pixel take time to attain their value after being told so

They are Liquid Crystals (the first two letters in LCD) -- they are physical atoms that move. LCDs are made of molecules that move to behave like shutters that block/unblock polarized light. The molecules in LCD have momentum, and it takes 1-2ms for the molecules in an LCD to move to their final positions.

HeLLoWorld wrote:why do they stop at this value

They don't. They often overshoot, and vibrate back-and-fourth (hopefully imperceptibly). You can only just inject a voltage (often for just a few microseconds, e.g. the time it takes to refresh one row of pixels), continue scanning onwards, and let previously-scanned LCD pixels (molecules) "coast" to somewhere near its final value.

HeLLoWorld wrote:and why do they stay there?

Much like how a rolling toy car slowly stops and stops there. Friction. The molecules (liquid crystals acting as shutters for polarized light) are working against friction.

HeLLoWorld wrote: Is this a chemical/physical phenomenon? More about this?

Yep. Physical phenomenon.
Wikipedia. Scientific American. Journal of Physics. Google Scholar ;)

HeLLoWorld wrote:In that case, by waiting far longer after the total refresh, there will indeed be a time where all the picture will be correct, and we can flash, and like you say one can do this by doing a customized longer VBL.

Yep.

HeLLoWorld wrote:But this will lower the frame rate.

Yes. That's why LightBoost only works up to 120Hz, on a 144Hz display. So you ideally want a LCD that can overclock to a faster scanout, so you can strobe a slightly lower refresh rate. You need enough bandwidth for an accelerated LCD scanout.

HeLLoWorld wrote:Or, do accelerated scanout like you say, but I don't know if I can do this.

You can sometimes trick an LCD into accelerated scanout simply by enlarging "Vertical Total" in either NVIDIA Custom Resolution Utility, or the ToastyX Custom Resolution Utility. Not all LCD's does this, but this is the easiest DIY way to create a larger blanking interval between refresh cycles. Sometimes you won't know unless you look at high speed video (even with just a cheap $150 consumer camera -- highly recommended for hobbyist LCD analysis).

It is important to note when you finish electronically refreshing an LCD, it's not visually finished refreshed. -- The pixels visually/visiblly finish transitioning "by themselves" long after you electronically begin refreshing the pixel. So once you finish refreshing the bottom edge of the screen, the pixels aren't immediately visible to the human eyes until a moment later (a millisecond later, a few milliseconds later). The way LCD's work is they inject voltage to a pixel and the move on to refreshing other pixels. The pixel transition cycle for a pixel continues (e.g. 2ms GtG) long after the pixel is electronically refreshed. Pixel transition is like a "lag" in pixel response between sending voltage to the pixel, and the actual final visibility of the pixel. The pixels "fade-in" from its old color to the new color, in a transition cycle

Before you view these videos, please see http://www.testufo.com/flicker -- that is a test pattern that flashes rapidly between black and white. Now that you understand this test pattern, go ahead and begin viewing the videos below:

Below is an LCD with plenty of time between refresh cycles -- it will work better.
phpBB [video]


Below is an LCD with little time between refresh cycles -- it will ghost nasty.
phpBB [video]


As you realize that these are simply high speed videos of http://www.testufo.com/flicker (in Full Screen mode), you finally get your Eureka moment, and understand LCD pixel transitions much better. I hope? (Since you seem to understand other science very well)
Good.

As you can see, once refreshed, LCD pixels just mostly "sits" there. Ghosting during strobing is simply caused by leakage of incompleted pixel transitions from the previous refresh to the next refresh. Which is exactly why this is a more solvable problem at 60Hz than at 120Hz. Now you understand why it's technologically easier to eliminate strobe backlight ghosting at lower refresh rates? Good.

As you have figured by now, if you have no pause between refreshes, then once you finish electronically refreshing the bottom edge of the screen, and begin electronically refreshing the top edge of the screen, the bottom edge still hasn't noticeably begun human-visible transition, but you're already beginning to transition the top of the screen. For good strobing, you prefer a blanking interval big enough to fit the pixel transition and the strobe length. For example, a pause between refreshes of ~2-4ms is needed to mostly eliminate strobe crosstalk (ghosting) on a 1-2ms LCD. A switzerland researcher found out that LightBoost does this, via an accelerated scan out

These videos are videos taken of http://www.testufo.com/flicker [warning: not for epileptics] and then select "Height -> FullScreen" and then pointing a high speed camera at it. All it does is alternate between black color, and then white color.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter!
User avatar
Chief Blur Buster
Site Admin
 
Posts: 3573
Joined: 05 Dec 2013, 15:44

Re: DIY Backlight Strobing [must read for experimenters!]

Postby Chief Blur Buster » 15 Jan 2014, 10:31

Chief Blur Buster wrote:
HeLLoWorld wrote:but that they stay to this value for a long time (far more than a refresh cycle)?

Not necessarily. Watch the high speed videos below.

Now, that you better understand the previous advanced topic of LCD pixel transition behavior, and you finally understand why strobe ghosting is easier to eliminate at 60Hz than at 120Hz, let me expand on the above.

You have lag as you try to push an LCD pixel closer and closer to its final value:
Image

So you can have LCD pixels that take much longer than a refresh cycle to get close to its final value. This is a problem with a lot of older LCD's (e.g. LCD screens manufactured more than 10 years ago), or when you forget your smartphone in a cold car (e.g. frozen iPhone). The screen behaves really slow, and pixels takes more time to "fade" into the new value. As you notice in the digram above, some colors are faster than others.

Such LCD's that are too slow, are not very suitable for strobing. You need a fast LCD, with GtG transition far less than a refresh cycle, preferably a GtG transition that fits completely in the pause between refreshes (blanking interval).

And another monkey wrench: Manufacturer rated GtG isn't real world GtG. Sometimes the measurements of GtG is only to 90% completeness, which means you still have 10% chosting. And sometimes transitions from certain colors to other colors are really slow. Speeding this up and creating cleaner, real-world transitions have often involved some overdrive algorithms.

Overdrive is simply using an excess voltage to try to speed up pixel transitions, but sometimes you get lots of overshoot (see LCD Overdrive Artifacts). Overdrive is also known as RTC / RTA (Response Time Compensation / Response Time Acceleration). It is known as BENQ AMA or ASUS Trace Free. Electronics simply know what's the current state of the LCD pixel (current color), and what the new state is desired. Then they compute a custom voltage, designed specifically for that pixel, to push that pixel to its new value faster. Small movements needs lower voltage (e.g. light grey -> lighter grey), and large movements (e.g. white->black) needs higher voltage. Negative voltage for transition in one direction and positive voltage for transition in opposite direction (e.g. brighter versus darker).

Note that there's really three subpixels for pixel, so LCD driving for each subpixel is often independent of each other, as each color channel is considered a separate pixel to the LCD electronics.

It has only been recently, in the last few years, that LCDs have finally become good enough for high-quality strobing.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter!
User avatar
Chief Blur Buster
Site Admin
 
Posts: 3573
Joined: 05 Dec 2013, 15:44

Next

Return to Area 51: Display Science, Research & Engineering

Who is online

Users browsing this forum: No registered users and 2 guests