Possible new 3D display method for single-chip DLP....

OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Hi, all,

This post might seem a bit random, but I've always been a big fan of 3D, and I've actually been working on some stuff for months now. The following is a bit complex, but I like to offload a lot of info in one hit, then see what you guys and gals think. So, sorry if it's a lot to read (let me know if it's too much) but it also gives a good background to how DLP projectors display images...

Firstly, I've built a blue-line decoder circuit, but it still doesn't sync properly as it has problems counting the Hsync pulse. It uses a PIC chip, and a "sync fixer" circuit to keep the Hsync / Vsync polarity positive. It then counts the sync pulses via an interrupt routine. The only way I've had this working so far is just to toggle the glasses on each alternate frame, then just swap the L / R images in Stereoscopic Player if they are wrong. The player keeps the L / R sync fine, so this seems to work, but is not ideal for cases when there are glitches and it looses sync.

I'm sure I'll get the blue-line stuff working at some point. The idea was that it would be completely programmable for different colour codes etc. It is also meant to be universal, so it has it's own voltage generators and should be able to power any shutter glasses directly (bypassing their original controller altogether!). It also has a DDC mode, so will work from an external L / R sync signal. Whatever you want really.

OK, so that's not quite working yet, but last night I had an "apostrophe"! (Only kidding, I meant an "Epithany"....

http://en.wikipedia.org/wiki/Epiphany_(feeling" onclick="window.open(this.href);return false;)

The thing is, my DLP projector (Acer PH-530) only seems to update at 60Hz even on the VGA input, so using shutter glasses is of course very flickery. This is also the one main drawback for most people who want 3D on a budget. So, I was thinking of ways to make the shutter glasses work at a higher frequency...
I even looked at how a control system would work for DLP projectors which update faster (say 120Hz), so I drew out some timing diagrams for how the frames would be stored in memory and the most effecient way of using the memory for 3D frames. I also looked at ways of joining two projectors together to make it output frames at twice the standard rate, although this is pretty pointless as you might as well go to a full PASSIVE setup anyway (if both projectors are working).

(some of the following has probably been discussed on here before, but it's worth mentioning again for people who didn't know)...

So the result of this is that I realized that main problem with the two-projector method (apart from cost) is that you can't take a standard DLP projector and close the shutter when the projector is half-way through a frame. The reason is that DLP projectors don't display a full FRAME of the image in one go and hold the image on the screen for the entire duration of the frame (eg. 16.6667ms for 60Hz, 5.5555ms per RGB colour).

In a DLP projector, the chip is actually monochromatic. It can ONLY show pixels which are completely ON or completely OFF at any one given time, afaik it CANNOT vary the brightness of each pixel directly. To create a full frame with the different variations in brightness, it takes the different "BIT weightings" of the frame, then displays them for different amounts of time for the duration of the frame. In DLP terminology, it calls these the "bitplanes". Of course, the projector also has to display the bitplanes for each colour (RGB), so there are quite a lot of bitplanes that the DLP chip displays just for a single colour frame.

This is the reason you can't shutter / blank a DLP projector mid-frame (it messes up the displaying of the bitplanes and would probably cause nasty image artifacts, or reduce the apparent brightness of the image by a large amount.)

What do I mean by "bitplanes" exactly? Well, if you know the basics of binary numbers, you probably have a good idea of how this works... For most digital displays nowadays, a single colour pixel is represented by 24-bits of information. This means that 8-bits (or one BYTE) is used to represent the "brightness" value of each of the colours (Red, Green, or Blue). With 8-bits, you can have a value from 0 to 255 for the brightness. 0 obviously means the darkest "black", and 255 means full brightness (ie. full white for B/W images, or full brightness for the specific RGB colour).

What most DLP projectors do is just store the full 24-bit pixel frame data into memory (as you normally would), then when it comes to display the frame (or one of the "colours") on the chip, it only takes ONE specific BIT for each pixel (as each pixel of the DLP chip can only be ON or OFF at one time). This BIT is taken from one our 8-bit information (for one colour, say RED).

(please keep in mind that a bitplane is a actually an entire FRAME of pixels on the whole surface of the DLP chip, not just a single pixel)

Since the DLP chip can't vary the brightness of each pixel directly, it must take advantage of the POV (Persistence Of Vision) of our eyes (just like old CRT TV's and many other display technologies). It does this by displaying each BIT of our 8-bit info for one pixel "colour", but gives different amounts of time to each BIT throughout the frame. So, in binary, the bits of one BYTE are often named 76543210. Where bit 7 is the MSB (Most Significant Bit)...

When respresnting a pixel brightness, it means that if bit 7 is ON (1), but all other bits are OFF (0), the pixel (or one of the RGB colours) would be at HALF brightness. So, when each bitplane is displayed on the DLP chip, it shows the bitplane representing bit 7 for the longest amount of time. Bit "6" of our byte represents HALF the brightness that bit 7 does, so it is displayed for only HALF of the duration...

So, to display all 8-bits of ONE colour (again, say RED for example), the projector shows the following "bitplanes" (I won't show bitplane 7 as it won't fit on a line!)...

6666666666666666666666666666666666666666666666666666666666666666 55555555555555555555555555555555 4444444444444444 33333333 2222 11 0

btw, the projector doesn't need to keep displaying the same bitplane over and over, it simply displays it once, then has a set delay before changing to the next bitplane. eg...

Display bitplane "7", hold for 8ms.
Display bitplane "6", hold for 4ms.
Display bitplane "5", hold for 2ms.
Display bitplane "4", hold for 1ms.
Display bitplane "3", hold for 0.5ms.
Display bitplane "2", hold for 0.25ms.
Display bitplane "1", hold for 0.125ms.
Display bitplane "0", hold for 0.0625ms.

This would make up 16ms of a 60Hz frame. (although, this example is for a B/W image - for RGB it would display three times faster of course).

Our eyes / brain are quite SLOW to respond to the changes of bitplanes (POV), so we merge them together and effectively see an image with ALL the brightness variations which make up one colour. It then obviously does the same for the GREEN and BLUE frames to make a full colour image (each colour change is synchronized to the colour wheel). A lot of projectors also have a "white" (clear) colour wheel segment, which is used to brighten up the peak whites of the image (I really hate this!).

Right, I think that's enough of that subject for a while (told you it was a long post!). I guess I could have just said the 3D idea from the start, but oh well.
I've split this into two posts, so this post was the background theory, the next post is my feeble idea...
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

OK, the idea was to have a new display method added to the software (Stereoscopic Player or whatever) which SWAPS bitplane 7 (the MSB) on alternate frames for the Left and Right frames. This MIGHT work for updating shutter glasses at a much faster rate (using ONE projector!). Remember, the only reason for all of this is finding a way of distributing the LEFT / RIGHT images between different bitplanes, so the glasses can run faster...

This is quite hard to explain, and I can see it is full of problems, but it would be something like this...

Frame 1...
7 6 5 4 3 2 1 0
L R R R R R R R

Frame 2...
7 6 5 4 3 2 1 0
R L L L L L L L

and so on.

So, bitplane 7 of the LEFT image is swapped with bitplane 7 of the RIGHT image. This should be quite easy to do in the playback software, but would require a controller for syncing the shutter glasses to the projector. The point is, is doesn't require modifying the projector itself in any way (although we might need to find which projectors are suitable).

The thing is, the above example might work if the projector was monochrome (or 3-chip), because bitplane 7 of the RIGHT image would be displayed directly after bitplanes 6 to 0 of the RIGHT image. But, all commercial single-chip DLP projectors have at least an RGB colour wheel, so the pattern would be more like this...

Frame 1 (RED)...
7 6 5 4 3 2 1 0
L R R R R R R R

Frame 1 (GREEN)...
7 6 5 4 3 2 1 0
R L L L L L L L

Frame 1 (BLUE)...
7 6 5 4 3 2 1 0
L R R R R R R R


Frame 2 (RED)...
7 6 5 4 3 2 1 0
R L L L L L L L

Frame 2 (GREEN)...
7 6 5 4 3 2 1 0
L R R R R R R R

Of course, we can't turn one colour into another as this is hard-wired by the design of the projector and colour wheel, so we can only swap bitplanes with the same colour in the NEXT frame.
ie. bitplane 7 (LEFT) of RED frame 1 matches with bitplanes 6-0 (LEFT) of RED frame 2. This causes a delay of entire colour frame between bitplane 7 and bitplanes 6-0.

The other problems are: each projector has a different number of colour wheel segments and different colour wheel speeds. Also, nearly all modern projectors have a more complex ordering for the bitplanes - The bitplanes are almost always displayed in a different order to the simpler example above, as this improves the image quality and reduces temporal effects.

The only good point is that bitplane 7 usually lasts for around HALF of each projected RGB "colour", so on a projector with a simple RGB colour wheel which only runs at 60Hz, using the above scheme would mean that there would be 6 shutter changes per frame - or in other words, the shutter glasses would need to work at 360Hz !!!

Anyway, I know it seems complex and problematic, but it's easy to understand once you realize how the bitplanes work and why they're necessary for DLP. This method will require different controller settings for different brands / models of projector. It might not even work, but I thought it would be interesting to explore.

Any thoughts on this? Is it useful at all for 3D?

Thanks for reading.

OzOnE.
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Actually, scrap that last bit. When swapping the bitplanes on alternate frames, the shutter would not need to change when the next frame comes along.
So it's a bit difficult to work out the effective shutter speed. The above scheme would create around 3.5 shutter changes per frame (210Hz shutter for a 60Hz colour wheel projector).

The following should make the shutter update speed around 5.5 times the colour wheel speed (330Hz shutter for 60Hz projector)...

Frame 1 (RED)...
7 6 5 4 3 2 1 0
L R R R R R R R

Frame 1 (GREEN)...
7 6 5 4 3 2 1 0
L R R R R R R R

Frame 1 (BLUE)...
7 6 5 4 3 2 1 0
L R R R R R R R

Frame 2 (RED)...
7 6 5 4 3 2 1 0
R L L L L L L L

Frame 2 (GREEN)...
7 6 5 4 3 2 1 0
R L L L L L L L

The shutter updates kind of overlap, so it's not straightforward, but still a lot faster (if it will even work).

OzOnE.
slipstream
Cross Eyed!
Posts: 131
Joined: Sat Dec 22, 2007 3:38 am

Re: Possible new 3D display method for single-chip DLP....

Post by slipstream »

WARNING: Do not read above message (too late) or you will end up with a headache like me now.

My Answer?
buy a DLP 3D ready projector. :shutter
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

I know, I have quite a headache myself. I often have that effect on people! :)

I agree that it's probably simpler to buy a 3D ready projector, but this method shouldn't actually be that difficult to implement as long as the image quality was any good. Besides, there are quite a few people on the forum who want a cheaper 3D solution and some very determined people who have got other weird and wacky ideas working.

The problem for me is that I can't afford to buy yet another projector and I was hoping this might help other people who are in the same boat. Also, most "3D ready" projectors can be seriously overpriced imho.

In most cases, it's still cheaper to buy two second-hand projectors and a silver screen AND two brand new lamps than to buy one of the new dual-input 3D projectors. Are there many older 120Hz capable projectors out there that can be found second-hand?

I realize that my new method isn't exactly universal, but that never stopped some of other solutions on the forum, and I've seen people go to quite some lengths to get stuff working. (I liked the photocell blue-line decoder btw) :wink:

Even better is when a solution forces the manufacturers to think again about their pricing plans.

I don't think it would be too difficult to add this display mode to some playback software. It just requires some basic testing of the controller after that to see if the image quality is good enough.

Anywho, just a thought.
OzOnE.
THEDRUMMER
One Eyed Hopeful
Posts: 20
Joined: Wed Apr 15, 2009 11:27 pm

Re: Possible new 3D display method for single-chip DLP....

Post by THEDRUMMER »

It's awesome that you're working on this as this is also my current obsession. I want to get my HD20 working in 3D and I can't yet justify buying a second one. I guess you're right that if I waited, I'd have to buy a new lamp for the older HD20 so both frames would be the same brightness, right? So I'll read over your whole thread when I have more time (got to go to work now) and work on this with you. You use a photocell placed infront of the projector to detect the sync??? That sounds nice and universal application! I'll read more thoroughly later. Have you read of other people's methods that worked for supposed "not 3d ready" 85hz dlp's like mine? Perhaps they were less universal but I'd be very interested just to get mine working. I've read all over about pass through dongles, and DIY pass through dongles and have that schematic from another site ... I was going to build one any day now ... Also, I read about using a second cheapy computer to run oscillator software and output a sync signal to shutterglasses via serial or was it parallel port (I might give this a try as it would be very adjustable - as long as it doesn't lose sync all the time). Sounds like you have read all this anyway.... Do they work?

TTYL, Awesome work,

TheDrummer
Dell XPS 630
2 Nvidia 9800 GT cards in SLI
HD20 1080p Projector
Ancient Asus Shutterglasses!
slipstream
Cross Eyed!
Posts: 131
Joined: Sat Dec 22, 2007 3:38 am

Re: Possible new 3D display method for single-chip DLP....

Post by slipstream »

I also have a HD20 but am happy with anaglyph now I have my Pro ANA specs. FSX is superb, and far less hassle than the dated shutter glass system. :woot
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Actually, I think the photocell idea was Ragedemon's. I haven't tried this myself as I wanted to build a universal controller instead.

I've seen that some projectors (like certain InFocus based models) do speed up the colour wheel speed to match the vsync rate (within a certain range anyway). I think my X1 did this, but I've had an Acer for nearly three years now (is actually an Optoma clone), and it seems to only refresh at 60Hz?

Making a circuit to toggle shutter glasses on alternate VGA frames is fairly easy. The difficult part is counting the hsync pulses (lines), then detecting the blue-line code. My current circuit works fine in simulation, but not in real life as yet. It's a shame, because I wrote some fairly nifty features for it like shutter protection (when hsync or vsync is lost, or if vsync is below a set frequency). I'll get it working soon hopefully.

I wouldn't buy a second PC for running the glasses, this definitely sounds like a "sledgehammer to crack a nut" approach! It's easy enough to program a PIC chip to do this. You then just need a PCB which has two 15-pin VGA sockets on and extracting the appropriate signals.

Yes, a big problem is loosing sync because even if you use the vsync signal directly, one small glitch in the software might swap the L / R images. I had a lot of glitches with Revelator glasses on the nVidia drivers in the past, but I'm mainly interested in 3D movies now. Luckily, playing movies doesn't seem to glitch at all, even when decoding two 720p streams (this Quad Core and 3650 helps a lot though!).

@slipstream - tbh, I hadn't really tried anaglyph that often until recently, and although I've always wanted a proper full-colour setup, I have to admit that anaglyph can be pretty effective. You can get pretty good colour with the right settings, but you can't beat a full left / right setup for realism. What I'd really like is to watch 3D movies with family and friends on the big screen, so it ideally has to be the best it can be.

OzOnE.
btw, why does the text box keep scrolling while I'm trying to type a post and the text reaches the bottom of the text box!!!??? REALLY annoying. Is there a word limit on here or something?
rajkosto
Two Eyed Hopeful
Posts: 59
Joined: Thu Sep 10, 2009 12:04 pm

Re: Possible new 3D display method for single-chip DLP....

Post by rajkosto »

uh, if you use DLP, you shouldnt use page flip mode, but checkerboard mode, and the dlp chip must understand that its 3d data, that way, instead of wobulating for better persistence or better whites, it will wobulate to generate separate left/right frames.
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

I wasn't really talking about wobulation as such - this is something which only really happens on certain new models of RPTV's. They "wobulate" the DMD to double the effective resolution on the screen. In other words, they might use a DMD chip with a resolution of only 720x360, they display half the pixels from the image, the whole chip is then physically moved (usually diagonally) by half a pixel width, then the second half of the pixels is displayed. This creates an effective resolution of 1280x720 on the screen.

Standard single-chip DLP projectors don't use wobulation at all afaik (at least I've never seen one which does?). For the "3D Ready" RPTV's which use wobulation, the 3D capability is more of a side-benefit of wobulation than a specific design feature. You often end up with half the resolution per eye with this technique though.

The idea of using a modified page-flipping scheme is to improve the shutter speed on existing "non 3D capable" projectors. Other than the often slow refresh (around 60Hz) with most projectors, shutter glasses are still one of the cheapest methods to achieve full-colour and good depth quality for 3D. So, it's only really the slow shutter speed which lets it down imo (which is generally a fault of the projector rather than the glasses).

I personally don't get on with anaglyph as it has a lot of problems with maintaining full colour at the same time as decent depth. It also hurts my eyes after a short while as I'm very sensitive to things like retinal rivalry and the way you get multiple colours on brighter parts of the image etc.

OzOnE.
slipstream
Cross Eyed!
Posts: 131
Joined: Sat Dec 22, 2007 3:38 am

Re: Possible new 3D display method for single-chip DLP....

Post by slipstream »

Of course I understand the inherent problem with anaglyph and colour but I have never seen any difference with depth to be honest. Like I say I only use 3D for FSX and so have little or no red or cyan in the scenery so it looks great as far as I'm concerned. Real depth, it, for me, is just like flying with a pair of sunglasses on. I also understandthat you go slightly cross eyed too but I never suffer with headaches or anything to stop me using anaglyph.
Gae43
Binocular Vision CONFIRMED!
Posts: 293
Joined: Tue Jan 27, 2009 9:08 am
Contact:

Re: Possible new 3D display method for single-chip DLP....

Post by Gae43 »

uh, if you use DLP, you shouldnt use page flip mode, but checkerboard mode, and the dlp chip must understand that its 3d data, that way, instead of wobulating for better persistence or better whites, it will wobulate to generate separate left/right frames.
I use page flip for my Infocus X1 and the 3D is absolutely superb. No ghosting or "wobulation" at all.

I agree that the 3D can look great with anaglyph and that sometimes the muted colours suit the content. Unfortunately, although I use my anaglyph glasses to quickly check 3D stills and for short clips, personally, I can't wear them for long sessions as I get severe eyestrain and sometimes even bloodshot eyes.

Gae43
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

I take some of that back - apparently many of the first 1080p projectors actually used wobulation. Whether they support 3D natively is a different matter though.

@Gae43 - Are you using 85Hz refresh with the X1? I remember that the colour wheel does speed up on the X1.

I found with anaglyph that even with "Black and white" + ana (B/W image, with ana "outlines"), or "True" ana (yellow where ana colours meet), I still get a lot of depth rivalry because the separation is never good enough and it still gets that off-putting colour mix in brighter areas. I don't think it could ever be called "true S3D", just my opinion. :)

I've always wanted a decent full-colour setup. If you've ever seen "Mickey's Philharmagic" 3D at Disney, you'll know what I mean.

OzOnE.

EDIT: btw, is there anyone else who is interested in developing my new display method further? I'm not the best programmer in the World, so I'll just e-mail Peter Wimmer now to see if he could possibly build a test version of Stereoscopic Player with this mode.
peterwimmer3dtv
One Eyed Hopeful
Posts: 10
Joined: Mon Mar 17, 2008 4:32 pm
Location: Austria
Contact:

Re: Possible new 3D display method for single-chip DLP....

Post by peterwimmer3dtv »

The idea is interesting, and it *could* work. But I'm not an expert for DLP technology...

I identified the following problems:
  • Internal signal processing like brightness, contrast, gamma corrections done on the input data breaks the system because it will mix the MSB bit with the other bits.
  • It requires DVI/HDMI/DirsplayPort. VGA doesn't work because it does not preserve the bit planes.
Doing bit plane modifications in a software player is fairly simple. If this idea works, I'll support it in the Stereoscopic Player. To support the development of this project, I've attached the source code of a DirectX application that shows how to implement software pageflipping. It might be helpful to create a test application for this project, although it still has to be modified to do the bit plane stuff.
You do not have the required permissions to view the files attached to this post.
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Wow, thanks Peter!

That is an amazingly fast response. Thanks so much for the test program - it's not something I could have programmed myself from scratch.

I didn't even realize until last night that your player also supports effect control. This is another great project to play around with later (should be easy to make a serial port controller for relays etc.)

I realize there are a lot of pitfalls with the bitplane approach and that it would at least require a digital link to have a chance of working. I also see that almost all DLP projectors use bit-splitting, so the MSB is distributed throughout each colour frame too. This would mean the controller would need a sort of "map" for each type of projector / colour wheel. I see what you mean about VGA / analog connections too - only one bit of DAC / ADC error or noise and it could cause some nasty image effects.

I was hoping there might be a "middle-ground" with the brightness / contrast settings which might not affect the MSB too much if the controls are set to the right position?

The good news is that I have another project which connects directly to the projector to drive high-power RGB LEDs and completely replaces the colour wheel! Of course, brightness is the only problem but it's still very watchable when the room is dark. This project uses 15W LED's from LedEngin and the green LED alone produces around 600 to 700 lumens! The only other LED which emits as much light as this in a small area is of course the Phlatlight, but they are quite expensive.

Anyway, I digress. The LED project uses an FPGA instead of a PIC chip, but it simulates the colour wheel motor and directly generates the opto pulses etc. I could use something similar for this 3D display method which could simply work from the VGA sync (a PIC chip version appears to take more effort to get working properly). I need to buy another FPGA board though as I only have one, and don't want to take the LED projector apart yet.

Thanks again for this Peter - I'l start working on some basic controller code in the next few days and see if the image quality can be made decent enough. If the brightness and contrast controls can be left in the proper place, the other main problem is the full-frame of delay between the MSB and other bits.

I'll see how it goes.
Regards,
OzOnE (Ash).
slipstream
Cross Eyed!
Posts: 131
Joined: Sat Dec 22, 2007 3:38 am

Re: Possible new 3D display method for single-chip DLP....

Post by slipstream »

Good luck Ash. :shutter
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Oh, sorry, I should have read Peter's post more carefully - does the test program not swap the MSB bits yet? I'm getting reversed colours around the white edges of the text on the test pattern, the background is also blue (in every resolution)?

I did a Print Screen while it was running, and the image looks a bit like this (in reality, the text is mainly white, but with the coloured dots?)...

Image

Also, to modify the code to swap the MSB's, would you do this when loading the pattern into the buffers, or when it actually displays? (I have limited experience with C++ but I'm always wanting to learn.)

OzOnE.

Edit: Thanks, slipstream. Hopefully I will get something working. I'm very determined with this stuff, especially now. :D
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Unbelievably, I just managed to modify the code and get it to display a pageflipped test pattern (the ghosting test pattern from this forum)! It's not often that something I've messed with works so soon! :o

The pattern is actually 24-bit, but the 24-bit display mode wouldn't work for some reason? I've set it to 16-bit display mode - the colours look OK though?

btw, I haven't tried swapping the MSB bits yet, I thought the code might be useful to someone else as a work-in-progress. It will at least display side-by-side stereo images in pageflipped mode (although without proper shutter sync).

I would imagine it would compile with Visual Studio Express 2008 (free) if anyone wants to play with the code too. I'm using Visual Studio 2005, and it will ask you to convert the project when you open the .vcproj file. (It pretty sure it needs the DirectX SDK to compile as well.)

OzOnE.

EDIT: It's now working with a 32-bit display mode and the colour corruption is fixed (I forgot to change the resolution for the second DirectDraw surface.) The 3D depth is SO much better now (not on the ghosting pattern obviously!). I've added manual LEFT / RIGHT swap with the F7 key too.

Again, this is currently only working with my DIY shutter controller and in standard pageflipping mode (60Hz, not the new method yet), so it's very flickery and only for testing.

I've updated the attached zip, which now also includes a stereo screenshot of Assassin's Creed which I "borrowed" from one of Neil's reviews. :wink: Just rename Pattern.bmp to something else (like Ghost.bmp), then rename Creed.cmp to Pattern.bmp and rebuild the project.
You do not have the required permissions to view the files attached to this post.
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

OK, I admit defeat. I'm completely stumped by this C++ stuff. I've spent most of last night and all of today trying to get some basic bitmap operations working, but it escapes me why it's SO overcomplex. I've looked at GDI, GDI+, LockBits, DIB, DDB, DirectDraw, DirectX, GetPixel, SetPixel, and I have HBITMAP's and DC's coming out of my ears! :cry:

All I want to achieve is a simple logic operation on the pixel data when copying from the source BMP file to the DirectDraw surface. Can anyone help with this? It's one of the few times I've tried messing with C++ under Windows and I'm stuck.

Here is a glimpse of some of the things I've tried (commented out)...

BOOL
InitSurfaces(void)
{
// Load our bitmap resource.
HBITMAP image_LR = (HBITMAP) LoadImage(GetModuleHandle(NULL), szBitmap, IMAGE_BITMAP, 0,
0, LR_CREATEDIBSECTION);
if (image_LR == NULL)
return FALSE;
//read the bitmap's properties (need to get width and height etc.)
BITMAP bm_LR; // Create struct first for bitmap info parameters
GetObject(image_LR, sizeof(BITMAP), &bm_LR);

//create a device context for the LEFT and RIGHT (side-by-side) bitmap
// HDC MemDC = CreateCompatibleDC(g_pDDSPrimary);
// SelectObject(MemDC, image_LR);

/* HBITMAP New_L=CreateCompatibleBitmap(MemDC, bm_LR.bmWidth/2, bm_LR.bmHeight);

HDC DestDC_L=CreateCompatibleDC(NULL);
HBITMAP hDestBmp_L=CreateCompatibleBitmap(NULL, bm_LR.bmWidth/2, bm_LR.bmHeight);
SelectObject(DestDC_L, hDestBmp_L);

HDC DestDC_R=CreateCompatibleDC(NULL);
HBITMAP hDestBmp_R=CreateCompatibleBitmap(NULL, bm_LR.bmWidth/2, bm_LR.bmHeight);
SelectObject(DestDC_R, hDestBmp_R);

for(int x=0;x < bm_LR.bmWidth/2;++x)
for(int y=0;y < bm_LR.bmHeight;++y)
{
COLORREF color=GetPixel(MemDC,x,y);
SetPixel(DestDC_L,x,y,color);
}

// copy image from one DC to the other
BitBlt(DestDC_L, 0, 0, bm_LR.bmWidth/2, bm_LR.bmHeight, MemDC, 0, 0, SRCCOPY);
BitBlt(DestDC_R, 0, 0, bm_LR.bmWidth/2, bm_LR.bmHeight, MemDC, (bm_LR.bmWidth/2)+1, 0, SRCCOPY);
*/

DDCopyBitmap(g_pDDSOne, image_LR, 0, 0, bm_LR.bmWidth/2, bm_LR.bmHeight);
DDCopyBitmap(g_pDDSTwo, image_LR, (bm_LR.bmWidth/2)+1, 0, bm_LR.bmWidth/2, bm_LR.bmHeight);
DeleteObject(image_LR);
return TRUE;
}


Does any of this apply at all, or am I going about things the wrong way? I thought all bitmaps needed to be referenced via a DC (Device Context), but I can't see how to modify the bits from the source bitmap and then make it compatible with the way DDCopyBitmap is copying the image to the DD surface.

Should I try changing the "UpdateFrame" function instead of trying to modify the bitmaps during load time? I must have looked at 200 different web sites about this today, but there are very few examples for C++ which actually compile. A lot of stuff on the web is for C# now?? (thanks to XNA :twisted:).

Please help, this is making me a bit more insane than I normally am. :?
OzOnE.
rajkosto
Two Eyed Hopeful
Posts: 59
Joined: Thu Sep 10, 2009 12:04 pm

Re: Possible new 3D display method for single-chip DLP....

Post by rajkosto »

directdraw is deprecated, use d3d
you can easily accomplish what you want using pixel shaders or at load time (look at iz3d developer sample when they read the lookup table to see how to lock a texture for reading/writing)
User avatar
Hornet
Cross Eyed!
Posts: 160
Joined: Sun May 25, 2008 1:42 pm

Re: Possible new 3D display method for single-chip DLP....

Post by Hornet »

I think the princip is clear but the realisation complex. I hope It works. It is not simplier use the color subpictures then
change the L/R subpictures (as Lred,Rblue,Lgreen,Rred,Lblue,Rgreen ....) ? And for one color subpicture change of polarity of shutters. This is 3 x higher framerate and shutters freq. It is only simple idea...
I hope your work will be sucsessfull. My homebrew Vsync signal trigerred pass through controller is waiting...
User avatar
shonofear
Cross Eyed!
Posts: 137
Joined: Sat Dec 22, 2007 3:38 am
Location: Down Under, Ozzie
Contact:

Re: Possible new 3D display method for single-chip DLP....

Post by shonofear »

OzOnE2k10 wrote:OK, I admit defeat.
OzOnE.
don't give up now :P you sound very smart to me and hope you actually have success with your endevours.
Just a little encouragement,
keep up the goods bro

Cheers
waiting patiently......
THEDRUMMER
One Eyed Hopeful
Posts: 20
Joined: Wed Apr 15, 2009 11:27 pm

Re: Possible new 3D display method for single-chip DLP....

Post by THEDRUMMER »

Hey Ozone, I just e-mailed a friend who is a good programmer to see if he'd like to help you out. I'm pretty sure he's well versed in C++. Sorry I can't help myself ... though I wish I was teaching myself some programming skills. I think your project is awesome and I hope you can get it working. Maybe you won't have to give up yet. Best of luck.
TheDrummer
Dell XPS 630
2 Nvidia 9800 GT cards in SLI
HD20 1080p Projector
Ancient Asus Shutterglasses!
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Thanks for the encouragement guys. It's been a proper pain just getting the software to do what I wanted, but I think I've cracked it! :)

I was awake until 3am last night (this morning?) playing around with the code and I finally managed modify some code I found on the web to copy the bitmap into an array, then get it to swap the bits using a "for" loop. The most dificult part after that was figuring out the maths for "jumping" between the left and right halves of the side-by-side image when grabbing the bits. The confusion mainly came from the fact that each byte represents ONE colour (Red, Green, Blue), so I had to multiply certain calcs by 3 to process the entire image properly.

For anyone who's interested, I've attached current project. Remember, this is only for testing the concept using still 3D images, and is not meant for anything amazing. I've left the project with the older solution file to make it more compatible. So, if you have Visual Studio 2008 or above, it will ask you to convert the project when you first open it. It only contains the screenshot of Apollo Creed, sorry Assassin's Creed :lol: and it's set to run at 1680x1050 60Hz.

I'm sure there much more efficient ways of processing the bitmaps (with DirectDraw etc.), but it wasn't super important atm because I only wanted it to display a pageflipped 3D image with swappable bitplanes and nothing more. Once I can get the controller code working, and if it improves the flickering by any margin (or at all), I'm hoping that Peter and others (IZ3d) might be able to add the display method to their software. It's not looking good for improving the flickering though tbh (which is the whole point of idea)... What it will gain by switching the shutters at a faster speed might well be lost by splitting the bitplanes. :(

What you'll notice when you run the code is that the image looks fairly normal (although still quite flickery), but when you hold the F7 key, you'll catch glimpses of what each Left / Right image actually looks like. Some of the colours are swapped with the opposite image in the brighter areas. Interestingly, the overall image doesn't look much different to normal, so your eyes / brain DO merge the bits together quite well.

It's set to swap bitplane 5 at the moment - if you try bitplane 6 or 7, it appears to make the flickering more noticable. So, I don't think it will reduce the overall flickering much when wearing the shutter glasses unfortunately. It might just be more of an interesting exercise to see if any benefits at all can be made with DLP by messing with the bitplanes.

I still can't believe how overcomplicated it is just to load, modify, then display a bitmap in C++. I must admit though, it did start to make more sense over the last few days, which isn't bad going. I really don't understand why DC's (Device Contexts) were ever a good idea though.

Anyway, rant over. :twisted: I'll try and get some controller code running now.

OzOnE.
You do not have the required permissions to view the files attached to this post.
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

@Hornet, Actually, I forgot to try that. There are quite a few different combinations to try, but I first thought that swapping whole colours might create more flicker than swapping bitplanes (because it swaps whole "chunks" of the brightness data too). Then again, it's a good point and although it might look noticable without DLP / glasses, it might work well with glasses.

It should make the controller code simpler too. I'll give it a try now on the software and see what it looks like. Thanks. :)

OzOnE.
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Hey, Hornet - great idea!

I shouldn't have dismissed swapping the colours so early on. It appears to work very well (by looking at the pageflipped image at least). I think swapping the Blue channel produces far less noticeable effects than Red or Green. Should be much easier to get the shutters working. Thanks again.

Here is the updated part of the code. I think this coding stuff is getting a bit easier. I'm just good at writing C++ from scratch...


for (int y=0; y < bm_LR.bmHeight; y++)
{
for (int x=0; x < halfwidth*3; x+=3)
{
offset = x+(y*(width*3));
blue_source_L = pSourceBits[offset]; // NOTE: Bytes are stored in BGR order NOT RGB !!! (not even God knows why ;)
blue_source_R = pSourceBits[offset+(halfwidth*3)];

green_source_L = pSourceBits[offset+1];
green_source_R = pSourceBits[offset+1+(halfwidth*3)];

red_source_L = pSourceBits[offset+2];
red_source_R = pSourceBits[offset+2+(halfwidth*3)];

pSourceBits[offset] = blue_source_R; // Swap BLUE channel between LEFT and RIGHT side.
pSourceBits[offset+(halfwidth*3)] = blue_source_L;

pSourceBits[offset+1] = green_source_L;
pSourceBits[offset+1+(halfwidth*3)] = green_source_R;

pSourceBits[offset+2] = red_source_L;
pSourceBits[offset+2+(halfwidth*3)] = red_source_R;
}
}

As a side thought - I just realized that I have a perfectly good controller already sitting here - it's called a PC! I just need to output the L/R signal on the parallel port directly from the C++ code. The PIC controller already accepts a Left / Right signal too! I need to find out the timing of the colour wheel in my projector though.

Yes, believe it or not, my Quad Core still has an onboard ancient parallel port. :oops: (Having a parallel port was a bonus because I use it a lot for projects. I don't always trust USB.)

OzOnE.

EDIT: Actually, swapping the Green channel hugely reduces flicker on the pageflipped image! I suppose that because Green contributes a large proportion of brightness in most images (and the eye is far more sensitive to green), it makes sense to merge the green channel parts with the opposite image. Cool.
Last edited by OzOnE2k10 on Mon Jan 18, 2010 2:10 pm, edited 1 time in total.
User avatar
Hornet
Cross Eyed!
Posts: 160
Joined: Sun May 25, 2008 1:42 pm

Re: Possible new 3D display method for single-chip DLP....

Post by Hornet »

OzOnE2k10
i hope it works, I think my princip is more simplier for processing, hope the software will by too more simplier.
(is this princip patented?) Are some possibilities for controlling of shutters controller:

1. V sync -problematic no precise timing possible
2. best I think is controlling of glasses with signal from photosensor near colorwheel (dark mark on colorwheel) It is possible similar signal is used in PJ for sync between color wheel /DLP controlling
3. triade of color sensitive sensors near screen or objectiv -problem in dark scenes
4. for LED PJ is this proces more simplier I think. Here is not the problem with too low shuttersfreq generally

The main problem is different colorwheel segments number in different PJ and different colorwheel speeds, but the princip is aplicable to all "normal" DLP PJ s. With high number of segments it is little problematic the "too high" shutterfreq. Cg for your work.
Peter Z
PS:But patenting were not bad :-) this is way for flickerless 3D on all DLP PJ s
User avatar
Hornet
Cross Eyed!
Posts: 160
Joined: Sun May 25, 2008 1:42 pm

Re: Possible new 3D display method for single-chip DLP....

Post by Hornet »

My name for this method:

color subpicture alternate multiplexed format.

:newshutter :mrgreen:
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Erm, well the patenting is a problem. I did think long and hard about posting the idea in the first place because now that it's been made public, I don't think you can patent it any more? (I could be wrong). I'd have to prove that it was my original concept. No doubt a similar idea has been patented before, but there aren't many patents which concentrate on EXISTING products. This is strange because there could be many potential customers for this stuff. I guess the manufacturers want everyone to buy NEW products instead (as usual!).

I did think of ways of testing the colour wheel segment configuration and extract the sync. You could even have a photocell placed close to the lens and just use test patterns to do the initial setup. It doesn't necessarily need to be directly in the path of the light as many projectors are very bright. You can get some very nice RGB light sensors now (like in the HCFR colour calibration sensor / circuit)....

http://www.homecinema-fr.com/colorimetre/sonde.php" onclick="window.open(this.href);return false; (page in French obviously).

It's not too much problem to keep sync during dark scenes because the controller would only need to keep sync most of the time, then carry on switching (with an accurate clock) during dark scenes. Also, if you used something like blue-line code, the blue line stays on the screen all the time, so you would need to extract it somehow (I think Ragedemon did this at the screen itself.)

Without a Left / Right coding method or signal, the problem is not so much keeping vsync, but with determining the correct left / right swap.
Yes, I think pretty much all LED DLP switches the colours on each bitplane. This should eliminate the rainbow effect (unless you're filming one with a camera.)

I'll have to look into the patent thing. I hope it's not too late!! :cry:

OzOnE.
User avatar
Hornet
Cross Eyed!
Posts: 160
Joined: Sun May 25, 2008 1:42 pm

Re: Possible new 3D display method for single-chip DLP....

Post by Hornet »

Hello OzOnE2k10

I think it is no big problem with patenting :-), this method is good only for older hardware and too only DLPs. But the needed internal bandwich in DLP chip is the same as in normal 2D and this is cheap. For my is more important proper ev. function of this system on my old Benq PJs. My 85 Hz is little low now (after watching Avatar in regular 3D cinema in 120 Hz stereo). The separation of L/R color subpictures is not problem, problem is the precise sync. of glasses, but adjustable dogle with adjustable colorwheel number and timing were not bad. (or creating of control signal with PC self). Thx for your work, i hope it works.
Peter
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Apologies for the long boring post. I've made a bit more progress, but made a fair number of mistakes along the way...

I originally had the shutter glasses running from the parallel port, but as expected it was very unstable and had constant glitching. Although, it was amazing that it actually worked at all under Windows 7 - I had to download the "inpout32.dll" and add the proper code for this to work. (Please don't laugh - Win 7 is fine, and yes, I do still have a parallel port on my Quad Core.)

So, I scrapped the parallel port idea and went back to using the VSYNC signal directly. This toggles the glasses fine, the only problem being that it's swaps the LEFT / RIGHT sides randomly when you start the software (not a big problem atm, 'cos I marked each frame with the letter L or R, then just swap the frames with the F7 key until each eye is seeing the correct image.)

So then I took the projector apart to check out the colour wheel (I know it sounds scary, but I repair stuff almost every day.) I took a photo of the colour wheel with my crappy camera, then overlaid and image of a protractor in Paint Shop Pro to work out the angles of each colour segment.

When I had the angles of each colour wheel segment, it's fairly easy to work out how long it takes for each colour to be displayed during one frame of video. Here comes the big problem though - the specs for my projector on the Web say that it has a 4x colour wheel (Note: it does NOT mention this in the official manual!)... Supposedly, this means that it spins 4 times for every frame of video, so at 60Hz refresh, the wheel would spin at 240 revs per second, or 14,400 RPM !!

Also, because the wheel has an GRBWGRB pattern, there would be two lots of colour changes per wheel revolution. This would give EIGHT lots of GREEN colour changes per ONE 60Hz frame. Fair enough! - so then I modified the controller code to change the shutters according to the colour wheel pattern, but also swapping Left and Right shuttering during the Green colour wheel segments. This is where the "fun" begins...

This didn't produce the expected result, and wasn't fully blanking the correct colours for each eye. I then realized that there is probably a slight delay between each VSYNC pulse and the colour wheel's opto pulse, so I added a small delay and the blanking was much better, but the wrong colours were still shown on my simple test pattern (Red, Green, and Blue squares on each side of the screen, but seperated for each Left / Right frame.)

Right, so a different approach. I thought about how to measure the colour wheel timing using a light sensor and without needing to take the projector apart etc. I probably have a phototransistor around here somewhere, but it would take me about a month to find one. I then realized I have a small solar panel - perfect! My brother is borrowing my o'scope atm, so I hook the solar panel up to the line-input on my sound card instead (old trick, which works fairly well for low-speed stuff like this.)...

To work out the colour wheel timing, I just modified the PC code to output a full screen of GREEN, but only for the left eye frame. You then just hit record in Cool Edit (or whatever) and hold the solar panel in front of the projector lens. This gives a fairly good waveform in Cool Edit which tells you when the Green colour wheel segment is active. (I then repeat this, but using RED and BLUE test patterns instead.)

Attached is an image of the resulting "waveforms" for ONE frame (at 60Hz, so around 16.6ms). The top trace is the VSYNC taken directly from my VGA output. They're not exactly good quality waveforms, but it doesn't matter (expected when using a sound card, as it's AC-coupled). I've coloured in the parts of the waveforms which show when each colour segment is active.

The first thing I noticed was that the pattern is not symmetrical. Of course! - I should have known this, as the colour wheel is not divided 50/50 because of the white (clear) segment! Also, it struck me that there are only FOUR lots of colour changes per frame, not EIGHT as I expected...

OK, I obviously misunderstoof the definition of a 4x colour wheel. What it really means is that there are four COLOUR CHANGES per frame, NOT necessarily that the colour wheel itself needs to spin at 4 times the frame rate!

The reason the colour wheel in my projector (Acer PH530) spins at 2x the frame rate is because the colour wheel has the G-R-B-W-G-R-B configuration, which effectively gives the FOUR colour changes per frame.

Using a light sensor or photocell is a very good idea for this purpose. It gives a lot of information about the colour wheel without dismantling things. Hopefully, running the test patterns and decoding the results could be done in software at some point to make it universal for other projectors.

Anyway, I think this post is long enough as it is. Let's just say I'm still working on it. I'm still not sure that this method will give great results, but who knows, it's not quite there yet.

OzOnE.
You do not have the required permissions to view the files attached to this post.
zerong
One Eyed Hopeful
Posts: 15
Joined: Thu Jan 07, 2010 5:52 am

Re: Possible new 3D display method for single-chip DLP....

Post by zerong »

Hello!

I have a DLP HC 1100 mitsubitshi hdready ! With 85 hz 1024*768 , is 3D will be ok ?????

How use 3D with it ?? which system ? i would like use my PCHC with ati 4870 and SB X-FI ! i heard about Bit Cauldron who use transmitter FM USB and support 84hz !!!!

Could you help me i dont really understand how someone used 84hz here ?

Thanks
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

I thought I'd post the image of my projector's colour wheel too, so the previous post might make a bit more sense then.

I've drawn white lines on the wheel just to confirm that my angles were correct (no, I wasn't playing Trivial Pursuit! :D ).

The wheel rotates clockwise (from the point of view of the lamp), so the colour changes happen in the counter-clockwise direction when looking at the photo.
Don't be fooled by the colours in the photo though, the dichroic coatings on the segments appear to change colour when light is reflected off of them. (If I'd put a white light behind the wheel, it would have looked correct.)

Going counter-clockwise and starting from the the top-left segment (which looks red), this is actually a GREEN segment (yes, really). The segments which look green and light-blue are the RED segments. The "pink" segment is the other GREEN segment, and the two smaller "yellow" segments are actually BLUE! The clear segment gives WHITE light obviously.

So, the order is GREEN-RED-BLUE-GREEN-RED-BLUE-WHITE.

OzOnE.
You do not have the required permissions to view the files attached to this post.
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Hi, zerong,

I'm not sure about your model of projector, but if the specs for the projector say it goes up to 85Hz, it doesn't necessarily mean that the actual frame rate of the projector will be 85Hz (it will probably spin the the colour wheel at a slower speed too).

For example, my projector says it can accept VGA signals up to 85Hz, but the projector's internal frame rate is fixed at around 60Hz, so will NOT work correctly for 3D (without being VERY flickery.)

It seems there are only certain models of projector which actually speed up the colour wheel and will project a frame rate of 85Hz. So, unfortunately, I really couldn't say whether your model will work for 3D or not. Unless you try it with software, or unless somebody else could tell you, I can't be sure.

Also, your PC looks like it will work fine, but you still need to buy a pair of shutter glasses that will work with it. This causes another big problem due to the fact that ATI don't support 3D directly in their drivers (AFAIK, this is still the case), so you'll have to use something like the IZ3D drivers. Also, there is no universal controller available to actually control the glasses and sync them to the graphics card. (I don't always follow the latest 3D stuff on the forums, so I could be wrong about this. )

I even signed the petition a few years ago to try and get ATI to support 3D / shutter glasses in their drivers...

http://www.petitiononline.com/ati3d/petition.html" onclick="window.open(this.href);return false;

I think there are a few blue-line decoders for use with the IZ3D drivers, but the decoders are usually very rare, and VERY overpriced (imo). I'm still trying to get my own blue-line decoder to work as we speak. (If I can get it working properly, I'm planning to sell a few of them to you guys. :shutter )

Does anyone else know the latest on getting shutter glasses working with ATI cards / IZ3D drivers? What's the cheapest option? If there aren't any cheap glasses / controllers out there, then it's probably cheaper to buy an nVida card instead (and buy some cheap Else Revelator shutter glasses or something similar from eBay).

OzOnE.
zerong
One Eyed Hopeful
Posts: 15
Joined: Thu Jan 07, 2010 5:52 am

Re: Possible new 3D display method for single-chip DLP....

Post by zerong »

It seem Ati support 3D shutter glass in next drivers ! like i can see here !

http://www.evga.com/forums/tm.aspx?&m=115468&mpage=1" onclick="window.open(this.href);return false;

And My HC1100 pdf :

http://global.mitsubishielectric.com/bu ... hc1100.pdf" onclick="window.open(this.href);return false;

If you can say me if hc1100 support really 84 hz ?? (p. 38 of pdf) I had a infocus x1 before and so accept 85hz but as you said framerate wasnt 85hz ! i dont know how find this information for hc1100 !?!
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

zerong, I've had a look at the manual for your projector, and although it says it can accept a 85Hz signal input, it still doesn't mean that your projector actually displays 85Hz...

Most projectors won't display 85 frames per second, only around 60 frames per second, so they CONVERT an 85Hz input into 60Hz internally. So, you won't be getting 85Hz, and it won't work for 3D unless your projector actually speeds up the colour wheel for 85Hz (which can be rare these days, but just depends if you're lucky with your model of projector.)

Apparently, the InFocus X1 and very similar models do actually speed up the colour wheel with signals up to 85Hz. I owned (and repaired) a few X1's in the past and my brother-in-law still owns one. I'm tempted to buy one again just for 3D if it really does reduce the flickering a lot. It just means going back to 800x600 again :(

Then again, my Acer is only 1280x720, so it's not that amazing by todays standards anyway.

Sorry zerong, but I can't tell you if your projector really supports 85Hz refresh unless you can test it in some way. You just can't tell by reading the manual because most manufacturers don't list the TRUE refresh rate / colour wheel speeds of their projectors.

It's interesting to see that they might be adding 3D support to the ATI drivers (well, at least for using Bit Cauldron shutter glasses via the IZ3D drivers.) This would mean that they will have a way of syncronizing the glasses to the graphics card. It's a shame that they're going to use a more complex method of controlling the glasses using a Zigbee dongle though, as we won't be able to use this signal for cheaper glasses. They look nice though, I hope they're cheaper than nVidia's glasses.

Actually, the drivers might work with a generic Zigbee dongle. In which case, it might be quite easy to build a pair of Zigbee controlled glasses! :shutter

OzOnE.
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

!! SUCCESS !! :D (sort of) :?

I've got the colour swap method working fairly well now. I realized I could just use the sound card to check the Left / Right switching of the controller. I noticed the timing was off by quite a bit, so I had to adjust it by trial-and-error (reprogramming the PIC chip each time).

So it now shows the colours almost correctly, but there is still quite a bit of colour ghosting on red and green (ie. the Left eye sees a bit of red and green from the right image.) This is likely because the timing still needs some tweaking, but also because the glasses are running MUCH faster than they're supposed to. At the moment, the effective shutter speed is around 240Hz !! The glasses also get quite a bit darker at higher speeds, likely because the liquid crystal can't change "phase" quick enough.

It's confusing to work out the true shutter speed now. For example - with normal pageflipping, the left shutter is only on ONCE during each alternate frame, but using my method, the shutters swap SEVEN times during a frame? This is because at the start of a LEFT frame, the shutter is already set to LEFT after the RIGHT frame ends. So it looks like the real shutter frequency is around 3.5 times the frame rate (60Hz x 3.5 = 210Hz)??

The power supply (ahem) on the controller could do with improvement as well, because I'm using the the original Elsa Revelator puck thingy to switch the shutters. The design uses two small capacitors in a "charge pump" type circuit to produce -10V. This negative voltage is put on one connection of the LCD shutter, while 5V is put on the other. This gives around 15V to blank the shutter with. The polarity is then inverted the next time around (a constant DC voltage of the same polarity can damage the liquid crystal, so they swap the polarity each time it blanks.)

I will eventually build an improved -10V supply on my own part of the controller because the original might be a bit slow to react to the fast switching.

The good news is, the flickering is definitely reduced by a fair amount when using this mode. I don't have a quick way of switching between colour-swap mode and normal mode yet, so I can't recall exactly how bad the flickering was in normal mode. I'll put a switch on the controller tomorrow so I can swap between modes easier.

I'm trying to think of a name for this method, but all the good names are taken (Lightspeed, Prism etc.) :wink:
I can't really define it as being a non-60Hz mode, because technically the frame rate is still 60Hz, but the glasses switch much faster. I suppose you could call the individual colours "frames" though?

I might just call it "ColourSwap 3D", because the spelling would annoy some of you crazy Americans. :lol:

Ironically, it would probably work better on a projector with a "2x" colour speed (notice I didn't say WHEEL speed!). This would give a shutter speed of 120Hz, or 110Hz? Whatever - my brain HurtZ.

More news tomorrow I think; it's 5am here now.

OzOnE.
OzOnE2k10
Sharp Eyed Eagle!
Posts: 436
Joined: Wed Jan 13, 2010 7:12 am
Location: UK

Re: Possible new 3D display method for single-chip DLP....

Post by OzOnE2k10 »

Couldn't resist tweaking the settings again - this time, the 3D is excellent! The ghosting problems are almost gone now (although I suspect there will always some ghosting with this mode).

The problem was down to having too much delay at the start of each frame (before the shutter sequence starts). It appears the shutters need to be triggered slightly early, so they have enough time to fully switch. What I'll also do at some stage is to add a dial onto the controller so you can manually adjust the shutter delay for the least amount of ghosting when looking at the test pattern.

The 3D image of Assassin's Creed has very good depth now and only has a small amount of ghosting. I think this display method could be workable after all, because there is far less flicker and a much better 3D effect. Another benefit is that the ColourFlipped (hey, nice name) image has a fraction of the flicker to normal when you're not wearing the shutter glasses (so it doesn't look like you've stolen a strobe light from a night club and put it in your room!)

Then again, time will tell how this looks with moving video and games?? No doubt there will be some ghosting on bright moving objects.

I don't think it's worth looking into bitplane swapping now because colour swapping appears to work quite well, and the timings would need to be even more accurate with bitplane swapping. It's currently not too difficult - I'm using shutter delays like this atm. 1.152ms !! It's definitely overkill to go to three decimal places though I think.

Right, off to the land of nod now. OzzzzzzzzzzzzzzzzzzzzzzzzzzzzzOnE.
User avatar
Hornet
Cross Eyed!
Posts: 160
Joined: Sun May 25, 2008 1:42 pm

Re: Possible new 3D display method for single-chip DLP....

Post by Hornet »

OzOnE2k10

BIG BIG Congratulations !!!!!
P
THEDRUMMER
One Eyed Hopeful
Posts: 20
Joined: Wed Apr 15, 2009 11:27 pm

Re: Possible new 3D display method for single-chip DLP....

Post by THEDRUMMER »

Excellent work! I can't believe you figured it out so fast! I would love to try it with the Optoma HD20. I don't know either if it does true 85 hz or speeds up the colour wheel... Thanks for all your hard work and good job man!
TheDrummer
Dell XPS 630
2 Nvidia 9800 GT cards in SLI
HD20 1080p Projector
Ancient Asus Shutterglasses!
Post Reply

Return to “General Stereoscopic 3D Discussion”