[DIY] Auto-Stereo with Parallax Barriers

Tutorials on how to create your own rigs, pics, movies, and everything that has to do with S-3D at home!
Post Reply
Galo
One Eyed Hopeful
Posts: 4
Joined: Thu Jan 20, 2011 6:41 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Galo »

cybereality wrote:@Galo: Interesting work. I will have to test out your program and compare it to my trial and error based results. I actually started doing something similar to this at first, although I was using Javascript to code a script inside Photoshop. While this did add some flexibility, the process was very intensive, consuming large amounts of RAM and CPU processes. Many times it would crash my computer, even with only 600dpi patterns (this was on my old computer, but still). So I abandoned the method since it was time consuming and crashed the computer too frequently. Maybe there is some way to optimize this somehow, like rendering on the GPU maybe. I don't know, I will look into it.
Hey Ciber! I have made some fixes in the optimization problem. Now it only consider feasible solutions reducing the search space so the computing time and the results are improved, since in the previous versions it may happen that the best result correspond to a non feasible solution (and thus, totally useless). You should realize that this program in fact simulates the enviroment given in the setup and then search for the best solution. The drawback "red colored" that I mentioned in the post it is related to the save process (like you mentioned) of the pattern. Hovewer, one can take the values given by the algorithm and then employ another software (like Photoshop) to actually print the pattern.

EDIT: I have made more fixes... Now I don't have any memory issues. See above for more details.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

@Fredz: Well brightness loss is actually less than with the Zalman solution. Even though resolution is halved (like Zalman) you are not wearing polarized glasses. So colors are brighter and more accurate (but not by much). Ghosting can be reduced by using the monitor in portrait orientation and increasing the duty cycle and/or adding additional barriers. However this causes a massive reduction in image brightness and overall quality so it is not worth it. However in some tests I did get extremely low ghosting, so it is possible. The moire pattern is actually caused by the camera taking the picture. I did not see anything like that in real life. There was, however, a grainy-ness to the image, but it looks more random than moire. Horizontal resolution loss is inevitable with a solution like this, but its not so bad (especially since my "real" 3d solution is also interleaved its not that big a difference). I did read some white-papers that suggested using diagonal barriers, and the concept seemed interesting. However that would not work with the iz3D driver, and thus be useless for gaming. However I do have plans to continue this project for a custom application (for example, done in OGRE) and in that case I could experiment with diagonal. I guess I could test in Photoshop first, but its not a priority at the moment. However, I still don't quite understand how that helps the situation much. At the end of the day, you are ultimately blocking individual pixels (or sub-pixels) so that comes along with the same problems. Would be interested if you had a link that clearly explained the benefits.

@Guig2000: I did actually try with a checkerboard pattern and the results were so bad I did not bother taking any pictures. My printer can certainly handle it, it does 5760x1440dpi, and I used 1440dpi for the barrier in the video. Alignment was a nightmare, though. It had to be placed on the screen absolutely perfectly which was extremely difficult. Also, ghosting was horrible. Its possible that the pixels on my monitor are not exactly square (even though the spec sheet claimed it was). Because if I use the same barrier from the video, but it portrait mode, it does not look as good (more ghosting). The other major issue is that now the viewing angle is literally a single point in 3D space. You cannot move your head left, right, up, down, forward or back not even by an inch. Although at that point it did sort of work. So if I tried really hard I could probably get checkerboard to work. I mean, I did see some 3D effect (with heavy ghosting). The advantage is that the resolution did appear much better. Not full-res by any means, but it was somewhere in-between. Might try again if I have time.

@Johnny-Mnemonic: Yes, the pattern would have to be optimized in both axis, but I think its possible.

@Galo: Very cool man. I have downloaded your program, but I am very busy this week. I'll let you know how it compares to the results I got.
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Fredz »

cybereality wrote:@Fredz: Well brightness loss is actually less than with the Zalman solution. Even though resolution is halved (like Zalman) you are not wearing polarized glasses. So colors are brighter and more accurate (but not by much).
Ah yes, I incorrectly said that a slanted disposition would enhance brightness, but it's not the case. In fact it will even it out on the whole screen because the black space between subpixels won't be visible only in vertical lines but dispatched equally on the surface of the screen.
cybereality wrote:Ghosting can be reduced by using the monitor in portrait orientation and increasing the duty cycle and/or adding additional barriers. However this causes a massive reduction in image brightness and overall quality so it is not worth it. However in some tests I did get extremely low ghosting, so it is possible.
You can try the technique used in this paper to reduce ghosting :
http://www.evl.uic.edu/files/pdf/Kooima-VR07.pdf" onclick="window.open(this.href);return false;
Basically they use a 3/4 opaque duty cycle and use an interleaving composed of 4 bands : left eye, black guard band, right eye, black guard band. This should effectively reduce the ghosting even if it also lowers brightness, but if they've chosen this method I guess it's because it still gives a better depth perception in the end and that the compromise is more interesting.
cybereality wrote:The moire pattern is actually caused by the camera taking the picture. I did not see anything like that in real life. There was, however, a grainy-ness to the image, but it looks more random than moire.
I can't really tell without actually seeing your screen, but I'd say the grainy-ness you see could be a moiré. Moiré artefacts can take several different forms, with parallax barriers they often produce visible vertical lines. That's one of the reason why many autostereoscopic displays now use slanted parallax barriers instead of vertical ones.
cybereality wrote:Horizontal resolution loss is inevitable with a solution like this, but its not so bad (especially since my "real" 3d solution is also interleaved its not that big a difference).
The slanted setup can also reduce this by mitigating the disparity in both horizontal and vertical resolution instead of only halving the horizontal resolution. That's the second goal besides reduction of the moiré that was pursued by Douglas Winnek when he invented the slanted technique.
cybereality wrote:I did read some white-papers that suggested using diagonal barriers, and the concept seemed interesting. However that would not work with the iz3D driver, and thus be useless for gaming.
Yes, I'm not aware of any driver supporting that at this time, but with the recent video posted about iPont supporting slanted barriers with YouTube 3D the interest may grow. And the implementation is quite straightforward so it wouldn't be very difficult to add it to a stereo driver.
cybereality wrote:However I do have plans to continue this project for a custom application (for example, done in OGRE) and in that case I could experiment with diagonal. I guess I could test in Photoshop first, but its not a priority at the moment.
If you want to try to implement this technique, have a look at this paper that gives a good description of the algorithm (for lenticular screens but easily adaptable to parallax barriers I think) :
http://iss.bu.edu/jkonrad/Publications/ ... A_1999.pdf" onclick="window.open(this.href);return false;
cybereality wrote:However, I still don't quite understand how that helps the situation much. At the end of the day, you are ultimately blocking individual pixels (or sub-pixels) so that comes along with the same problems. Would be interested if you had a link that clearly explained the benefits
There are several benefits to slanted parallax barrier, as I said it reduces the moiré because black spaces between subpixels appear on the whole screen instead of only in vertical lines (picket fence effect).

They also enhance the perceived resolution by distributing it on both horizontal and vertical resolution instead of only the horizontal one.

Another advantage is that you don't need a printer with an exact multiple of the dpi of your screen since by turning your sheet you can make the bars coincide with the pixels.

You are even not forced to make the bars coincide when working with subpixels, you only have to add an offset to your algorithm so it always produces an adequate rendering.

There is also the image flipping effect which causes a noticeable transition between the viewing zones, which is overcomed with slanted installation by producing a smooth transition between views.

In this document it's apparently said that the acuity is better (x1.4) when using sub-pixel-scale line screens instead of pixel-scale ones (ie. the width of a band is less than a pixel), but I'm not sure I understood the text correctly (§4.2 in the last and previous page) :
http://www.evl.uic.edu/files/pdf/Kooima-VR07.pdf" onclick="window.open(this.href);return false;

Also if you've got a webcam you could even add support for eye tracking in order to always be in the sweet spot, I guess you should be able to use FreeTrack to do this.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Thanks for the links. I will take a look at those when I get a chance.
AntiCatalyst
Cross Eyed!
Posts: 168
Joined: Tue Jan 25, 2011 7:53 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by AntiCatalyst »

it should be possible to devise a simple forrmula for making perfect parallax barriers, using only 4 variables(viewing distance, screen width, horizontal resolution and eye width).

this would then scale to any screen from any viewing distance.
i tried to, but it got really complex, and i never got it "solved".

anyway, i found that the distance between screen and barrier cannot be customly defined, you have to calculate this based on your variables to get pixel-perfect separation.
Image
"This is great!"
User avatar
wuhlei
Binocular Vision CONFIRMED!
Posts: 287
Joined: Tue Dec 18, 2007 4:23 am
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by wuhlei »

I'd rather just buy the sheets. Is any one selling them?
Albert Einstein
"The true sign of intelligence is not knowledge but imagination."
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Likay »

I think you need to do them yourself. They need to match the display with less than a half pixel difference. Maybe different displays follows strict fabricationrules aboutaverage distance between pixels but practically i don't think so.
Mb: Asus P5W DH Deluxe
Cpu: C2D E6600
Gb: Nvidia 7900GT + 8800GTX
3D:100" passive projector polarized setup + 22" IZ3D
Image
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

wuhlei wrote:I'd rather just buy the sheets. Is any one selling them?
I would sell them myself, except every monitor is slightly different. I would need a template for each specific model. I was thinking maybe we could all choose a good cheap 1080P display and use that as a base model. So I would buy that screen and perfect the pattern on it, then I could send people the working pattern. Obvious you need to buy the monitor yourself. The monitors I was looking at would be around 23" 1080P and cost around $150.
User avatar
wuhlei
Binocular Vision CONFIRMED!
Posts: 287
Joined: Tue Dec 18, 2007 4:23 am
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by wuhlei »

That would be cool, I was thinking about getting the monitor you posted. Will the pattern work for any of the monitors resolution or will I have to use the max resolution? Unless kinkos or w/e will print it for me and I know exactly what I need I'd rather buy from some one else then make it, because of the cost of the printer, ink and paper.

I swear monitors tech is changing a lot of a sudden and 3d monitors like zalman is just too expensive. Plus interlaced 1600 x 1200 I might as well get emagin. I think as soon as 3DS comes out a lot of new 3d solutions will come out too.
Albert Einstein
"The true sign of intelligence is not knowledge but imagination."
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

The pattern only works at a 1:1 pixel mapping. Each barrier blocks a single column of pixels and the display must be run at its native resolution. There can be no scaling of any kind. Kinko's will not be of much help, I already went down that road. Their printers (at least the ones by me) could only do 600dpi. We need at least 1200dpi for this project. Even if they had the proper printers, it would be really annoying having to go back and forth to Kinko's every time you want to test a pattern. It could easily take 20 or 30 attempts to find the right pattern, you really need to be doing it yourself.
AntiCatalyst
Cross Eyed!
Posts: 168
Joined: Tue Jan 25, 2011 7:53 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by AntiCatalyst »

Galo;
very good job on the app!

But for it to make a perfect barrier every single time, the application would have to calculate the correct barrier-to-screen distance automagically from the other values, and then use that number for the final calculation. Otherwise, you'd get ghosting simply because the calculated "best config" had the wrong barrier distance specified.

i made a formula for that, but it was really rough and ugly so i binned it ;) I probably did it the wrong way round or something. Essentially, it calculated the intersection of two imaginary "eye lines" for two neighboring pixels sharing the same "barrier hole". (it really clears up when you draw it out and draw lines to each eye) It should be possible to devise a simple formula for the actual barrier, too.

oh, and i forgot to say this, but cybereality, you are like a god to me :D
Just the idea of anyone being able to make a 3d monitor on-the-cheap at home is mindblowing. and to top it off, it's glasses-free! how about that!




edit; well, i feel stupid now, it WAS quite simple! :D
Image

where d is the actual barrier-to-lcd distance, P is pixel pitch, V is viewing distance and S is eye separation.

here is a google calc based on my 17" screen with 80cm viewing distance.
now if i could only make a similar one for the actual parallax barrier.. hmm ;)



edit 2; I solved the other one too. I'm on fire tonight :)
Image
W is the entire width of the parallax barrier and R is horizontal resolution, the others are the same as above.
using these equations will provide a perfect barrier, in theory free from any type of ghosting or subpixel leaking!

To print it, you could simply make a photoshop document at your screen's resolution PLUS ONE horizontal pixel, and then create a black/white/black/white/black interlace pattern at 1 pixel intervals(first and last columns should be black if you haven't messed up). When you go to print it you just paste the calculated barrier width as the print size.

here is, again, a google calc based on my 17" monitor(which is, btw, quite precisely 337mm wide!). i should probably look into making a batch file or something so anyone can use it :P i'm not a programmer though so if someone could write something up(if it's even possible) that would be just great! :)


anyway, cybereality, do you think it's possible to print it like this? i mean, the printer should be able to scale it to its DPI, right?(assuming it's high enough)

(Lots of edits to try to de-clutter the entire post) :lol:
Last edited by AntiCatalyst on Sat Jan 29, 2011 12:31 am, edited 9 times in total.
Image
"This is great!"
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Fredz »

cybereality wrote:The pattern only works at a 1:1 pixel mapping. Each barrier blocks a single column of pixels and the display must be run at its native resolution. There can be no scaling of any kind. Kinko's will not be of much help, I already went down that road. Their printers (at least the ones by me) could only do 600dpi. We need at least 1200dpi for this project.
As I said, if you used slanted parallax barriers you wouldn't need to have a perfect match and wouldn't be limited to a high DPI printer. I guess it should also correct the color leaking from subpixels you experienced when not in portrait mode.

Unfortunately there doesn't seem to exist stereo 3D drivers for that, but viewing photos or playing videos should still be possible though. You'd just need to convert them to the correct format or write a script to do it on the fly.
User avatar
wuhlei
Binocular Vision CONFIRMED!
Posts: 287
Joined: Tue Dec 18, 2007 4:23 am
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by wuhlei »

cybereality wrote:The pattern only works at a 1:1 pixel mapping. Each barrier blocks a single column of pixels and the display must be run at its native resolution. There can be no scaling of any kind. Kinko's will not be of much help, I already went down that road. Their printers (at least the ones by me) could only do 600dpi. We need at least 1200dpi for this project. Even if they had the proper printers, it would be really annoying having to go back and forth to Kinko's every time you want to test a pattern. It could easily take 20 or 30 attempts to find the right pattern, you really need to be doing it yourself.
That's what I was afraid of, and I'll bet even if you can get down right the quality is lost when looking at the sides of the screen because the angle would shore more then a pixle?

Grrr If they sell touch screen addons for monitors on ebay it should be no problem to make a polarized screen cover replacement. A 100$ mod to make any screen IZ3D polarized would be great.

Fredz wrote:
cybereality wrote:The pattern only works at a 1:1 pixel mapping. Each barrier blocks a single column of pixels and the display must be run at its native resolution. There can be no scaling of any kind. Kinko's will not be of much help, I already went down that road. Their printers (at least the ones by me) could only do 600dpi. We need at least 1200dpi for this project.
As I said, if you used slanted parallax barriers you wouldn't need to have a perfect match and wouldn't be limited to a high DPI printer. I guess it should also correct the color leaking from subpixels you experienced when not in portrait mode.

Unfortunately there doesn't seem to exist stereo 3D drivers for that, but viewing photos or playing videos should still be possible though. You'd just need to convert them to the correct format or write a script to do it on the fly.
Cool, what do you mean slanted and is there a downside to this compared to the other way? Maybe you could talk IZ3D to supporting it? lol
Last edited by wuhlei on Fri Jan 28, 2011 2:31 am, edited 2 times in total.
Albert Einstein
"The true sign of intelligence is not knowledge but imagination."
AntiCatalyst
Cross Eyed!
Posts: 168
Joined: Tue Jan 25, 2011 7:53 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by AntiCatalyst »

Fredz, that's not going to work for a DIY project. You'd have to design a pixel-perfect "staircase" in order to not cover any subpixels up or leak them to the wrong eye. And, you'd have to design the vertical just as carefully as the horizontal.

on top of that, there are no programs that support it, so you'd have to write your own from the ground up.
if you'd be willing to go that far, writing your own drivers and filters could solve the "staircase problem" and let you use straight lines, IF you could write them to be subpixel-aware. but then you'd have color shifting instead because you messed with the subpixels! bad boy! :P
Image
"This is great!"
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Fredz »

wuhlei wrote:Cool, what do you mean slanted and is there a downside to this compared to the other way?
Slanted just means that the barrier is placed with an angle in respect to the vertical.

Example with a parallax barrier (rightmost image) :

Image

Example with a lenticular screen :

Image
dagbro wrote:Fredz, that's not going to work for a DIY project. You'd have to design a pixel-perfect "staircase" in order to not cover any subpixels up or leak them to the wrong eye. And, you'd have to design the vertical just as carefully as the horizontal.
By slanted I didn't meant "staircased", it's been shown in the paper about Dynallax that the staircased solution is not as good as the slanted one because it does need very precise registration which is not really practicable.

With the slanted technique you don't need an accurate registration, you just need to find the angle that minimizes moiré and then adapt your code accordingly.

The problem with color leaking is already present in vertical barriers with an horizontal RGB subpixels arrangement as Cybereality already said, you can correct this with slanted barriers by doing sub-pixel interlacing. Using a slanted lenticular screen (3DeeSlide) on my iPhone (vertical RGB subpixels in landscape mode), I only saw extremly minor color leakages. My code works at the pixel level, I didn't implement subpixel rendering yet. You can see screenshots and videos that demonstrate this in the corresponding topic.
dagbro wrote:on top of that, there are no programs that support it, so you'd have to write your own from the ground up.
Yes, that's the downside. But the code is extremely simple to write, it only takes six lines in my image conversion app. The subpixel version should be equally simple and should require 2 or 3 more lines of code at most.
dagbro wrote:if you'd be willing to go that far, writing your own drivers and filters could solve the "staircase problem" and let you use straight lines, IF you could write them to be subpixel-aware. but then you'd have color shifting instead because you messed with the subpixels! bad boy! :P
As I said you can correct the color leaking by taking subpixels into account, I wouldn't be surprised that this solution leaks less than a vertical barrier with a screen using an horizontal RGB subpixels arrangement.
wuhlei wrote:Maybe you could talk IZ3D to supporting it? lol
I guess someone could ask them to add support for this, but I'm not sure they'd invest time in it if they can't have a return on investement. It doesn't cost anything to ask anyway...
AntiCatalyst
Cross Eyed!
Posts: 168
Joined: Tue Jan 25, 2011 7:53 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by AntiCatalyst »

a perfect vertical barrier shouldn't leak at all, and is supported by lots of software ;) so i guess it's just a matter of choosing what you want to spend your time with, printing the barrier or adjusting your software to match your desired angle.
Image
"This is great!"
User avatar
wuhlei
Binocular Vision CONFIRMED!
Posts: 287
Joined: Tue Dec 18, 2007 4:23 am
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by wuhlei »

dagbro wrote:a perfect vertical barrier shouldn't leak at all, and is supported by lots of software ;) so i guess it's just a matter of choosing what you want to spend your time with, printing the barrier or adjusting your software to match your desired angle.
there is no perfect vertical barrier unless the barriers at the side of the screen are a different position, angle and width then the ones in the center. This is much worse then wearing 3D Glasses, I would rather use prism glasses and not drive my self crazy.
Albert Einstein
"The true sign of intelligence is not knowledge but imagination."
AntiCatalyst
Cross Eyed!
Posts: 168
Joined: Tue Jan 25, 2011 7:53 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by AntiCatalyst »

wuhlei wrote:
dagbro wrote:a perfect vertical barrier shouldn't leak at all, and is supported by lots of software ;) so i guess it's just a matter of choosing what you want to spend your time with, printing the barrier or adjusting your software to match your desired angle.
there is no perfect vertical barrier unless the barriers at the side of the screen are a different position, angle and width then the ones in the center. This is much worse then wearing 3D Glasses, I would rather use prism glasses and not drive my self crazy.
since the screen is flat, the pixel pitch is fixed and our eyes are parallel to the screen surface, a perfect vertical barrier does exist and has a fixed line width+line distance across the entire plane. You just have to get your calculations right.

i do realize there's no such thing as a perfect printer, but nonetheless, with enough DPI it's very possible.
a 1200dpi printer has a dot pitch of 0.0212mm. this is more than four times smaller than the SUBpixel pitch of my screen.




on a totally different topic, there should be an infinite number of working 3d hotspots with this tech. The only problem is that you have to keep your eyes in the exact "plane" that you calculated the barrier for.. in other words, you could move your head sideways until you get to another hotspot, but you can't turn your head to look at the screen :roll:

EDIT; hmm, i think i had that one wrong.. you really SHOULD turn your head towards the screen for perfect representation.
Last edited by AntiCatalyst on Sat Jan 29, 2011 8:42 am, edited 1 time in total.
Image
"This is great!"
Shadow
One Eyed Hopeful
Posts: 4
Joined: Tue Jun 01, 2010 3:00 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Shadow »

Hey Ciber!
Very nice work you did there! ;)

I got one question (Sorry for my english I'm from Germany :D):
I want to build your no-glasses 3D Technique but there is one Problem, i don't know where to find the Transparency Film you used.
Can anybody give me a tip where i can find this Transparency Film in Germany or how its named here? :D
It would be so awesome to play Games in 3D without glasses! :woot

Shadow
User avatar
wuhlei
Binocular Vision CONFIRMED!
Posts: 287
Joined: Tue Dec 18, 2007 4:23 am
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by wuhlei »

dagbro wrote: since the screen is flat, the pixel pitch is fixed and our eyes are parallel to the screen surface, a perfect vertical barrier does exist and has a fixed line width+line distance across the entire plane. You just have to get your calculations right.

i do realize there's no such thing as a perfect printer, but nonetheless, with enough DPI it's very possible.
a 1200dpi printer has a dot pitch of 0.0212mm. this is more than four times smaller than the SUBpixel pitch of my screen.

on a totally different topic, there should be an infinite number of working 3d hotspots with this tech. The only problem is that you have to keep your eyes in the exact "plane" that you calculated the barrier for.. in other words, you could move your head sideways until you get to another hotspot, but you can't turn your head to look at the screen :roll:
Not true sorry, this would be great for the center of the screen but the lines on the side of the monitor needs a different width and position. It seems like no matter what there is going to be quality loss. Instead of getting a new monitor, buying a printer and all that I just got an IZ3D monitor on sale at ebay for 200$
Albert Einstein
"The true sign of intelligence is not knowledge but imagination."
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

@dagbro: Ok, thanks for those equations. I will take a look at the math when I get a chance (crazy week for me here).

@Fredz: Well personally I find the vertical barrier to give acceptable results, and I am not sure how much benefit this slanted design would give. I will accept that it can be better, but how much better? Better enough to just throw out all the software support the current solution has? I mean, right now the parallax barrier works for 3D gaming with the iz3D driver, videos and images with the Stereoscopic Player, online videos with YouTube3D, online photos with Phereo, etc. I'm not really looking to toss that out the window.

@Shadow: You can search for "Transparency Film" on eBay and there should a bunch of sellers that ship internationally. Just make sure to buy the correct one for your printer (ie injet or laser). You have to be careful because not all transparency film is designed to be printed on with printers. Make sure it says either inkjet or laser.

@wuhlei: Well, I know I said the mod costs $5 but it does end up getting more expensive. Technically the final parallax barrier, the ink to print it, and the tape to mount it, do indeed cost under $5. However if you include all the tools and supplies needed (ie a printer, the transparency film used for testing, etc.) and a new monitor just for this purpose, then it can get expensive. I have easily dropped a few hundred dollars or more to complete this project. And the quality is admittedly not up to par with commercial solutions. So if you want the best quality experience, then certainly buy a real 3D monitor like Nvidia 3D Vision or even IZ3D (although there might even be less ghosting with my DIY solution than iz3D). I was thinking maybe people already had decent printers and would only need to buy the transparency film, which is only like $10 for standard 8.5" x 11". And people might also have spare monitors they could use (or maybe they don't mind having to mount and un-mount the barrier every time). In that case it would be pretty cheap.
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Fredz »

wuhlei wrote:Not true sorry, this would be great for the center of the screen but the lines on the side of the monitor needs a different width and position. It seems like no matter what there is going to be quality loss.
No, he's right, even if it seems counter-intuitive the spacing will be right as long as your eyes are parallel to the screen surface, even when looking at a giant screen with an infinite width. See this pic :

Image
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Fredz »

cybereality wrote:@Fredz: Well personally I find the vertical barrier to give acceptable results, and I am not sure how much benefit this slanted design would give. I will accept that it can be better, but how much better? Better enough to just throw out all the software support the current solution has? I mean, right now the parallax barrier works for 3D gaming with the iz3D driver, videos and images with the Stereoscopic Player, online videos with YouTube3D, online photos with Phereo, etc. I'm not really looking to toss that out the window.
I don't know either how much benefit this solution would give, but an improved perceived resolution and image quality sound like valuable additions.

I think there should be a reason why most high-end 3D TVs (Philips 3D-LCD and Tridelity ) and virtual reality solutions (Dynallax, successor of CAVE) use this solution instead of the vertical parallax barrier technique.

You won't be able to play 3D games (until someone implements that in a stereo driver), but you can still play movie by using a simple AVISynth script (like I did for the 3DeeSlide). Converting photos or writing a photo viewer should be equally simple.

Since you've got the equipment (printer and LCD monitor) and seem to like experimenting, I thought you'd like to have a try at this technique.
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

Fredz wrote: Since you've got the equipment (printer and LCD monitor) and seem to like experimenting, I thought you'd like to have a try at this technique.
Well yeah, I do like experimenting, so this is something else to try. I will certainly give it a closer look at some point and see if it can work out. I was just pointing out that we lose a whole lot of software support (namely everything) by going down this road. So the results would have to be a great deal better than they currently are in order to justify the cost. But seeing as many other researchers seem to swear by this method, it certainly deserves a closer look.
AntiCatalyst
Cross Eyed!
Posts: 168
Joined: Tue Jan 25, 2011 7:53 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by AntiCatalyst »

cybereality;
If you're busy or something, i could calculate it for you.
just tell me your pixel pitch, horizontal resolution, eye width and preferred viewing distance.

you should probably triple-check that the pitch is correct though, because that's probably the most critical factor. multiplying the pixel pitch with your horiz-res would give you the theoretical LCD panel width in mm. then just measure the actual panel width and compare the two. this is because i've noticed some sites supply rounded-down pixel pitches for my monitor(0.264 rounded to 0.26).. we need to use the exact pitch for my equations to work.

well you know what they say; measure twice, print once :D



edit:
Since the d-value is mostly theoretical anyways, i decided to combine the two formulas, and noticed that viewing distance literally fell out of the equation! This means you can use the same printed barrier for any viewing distance, you increase the distance by moving the barrier a mm or so away from the screen.





here is the new formula:
Image
again, W=total barrier-sheet width, R=horizontal resolution, S=eye separation and P=pixel pitch.
GoogleCalc

You could change the (R+1) in the equation to (R+X) if you want to use X 3d hotspots, otherwise you'd see the first pixel column(s) with both eyes when not in the center one. Note that your photoshop document would also have to be R+X pixels wide for the barrier to work then.

Who's up for converting their TV? :D A 42" LCD should be easier to convert than a computer screen(printing difficulties aside), since the pixels are so much larger.
and the multiple streams would really work if you had all the seats parallel to the screen(most people do have the couch parallel to the TV, anyways).
Your local graphics/PR shop should be able to print it, if they can provide the needed accuracy.


Plasmas COULD work, too, if the viewing distance and/or pixel pitch is large enough to allow the barrier to be in front of the glass rather than IN it.
haha, maybe i'm getting ahead of myself here, but i see a future where everyone here has got DIY-converted TVs :mrgreen:




This shorter one defines B, which is a single barrier width(and the distance between two adjacent barriers, they're the same)
Image
as you can see, it's the same except that it doesn't have the R+1.
not sure there's any use for it though :P it's just very slightly smaller than the pixel pitch(0.2629 something vs 0.264 on my screen)
Image
"This is great!"
OuHiroshi
One Eyed Hopeful
Posts: 19
Joined: Wed Jan 26, 2011 9:23 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by OuHiroshi »

Do you think the top LCD on the IZ3D monitor could act as the parallax barrier for the bottom LCD? Maybe even have a webcam to track head movement to shift the barrier on the fly for better view angle. But I bet the pixel/barrier width won't match :(
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

OuHiroshi wrote:Do you think the top LCD on the IZ3D monitor could act as the parallax barrier for the bottom LCD?
I am not sure the iz3D panel can go completely opaque. I believe it is designed to act as a polarizing filter.
AntiCatalyst
Cross Eyed!
Posts: 168
Joined: Tue Jan 25, 2011 7:53 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by AntiCatalyst »

i have an idea on resolving the ghosting issues you're having.

Theoretically, there should be NO ghosting at all when you're in the hotspot, so it might be the printer leaving a "fuzzy" edge instead of a straight one. this fits with it printing a higher resolution in one direction than the other. Have you ever studied your barriers through a loupe? Regular binoculars turned the wrong way can often be used as a make-shift loupe on very close ranges if you dont have one

if i'm correct, all you'd need is wider barriers! This would, however, shift the image towards green, since you're effectively blocking off more of the red and blue subpixels. So, to combat that you just lower the intensity of the green channel(either in the monitor settings or in the driver). In effect, you'd sacrifice some brightness for decreased ghosting.

the barrier-to-spacing ratio in the image you print could be 3:2 or 4:3(so there's 4 black pixel columns followed by 3 white and so on) or something. Just make sure you still get the same distance between barriers on the printed sheet! 2:1 would btw theoretically only leave one color visible, but i doubt that's the case in the real world.



you could also try printing it rotated 90 degrees, if you haven't already.
maybe that would fit the DPI better.
Last edited by AntiCatalyst on Mon Jan 31, 2011 8:37 pm, edited 1 time in total.
Image
"This is great!"
dreamingawake
Two Eyed Hopeful
Posts: 61
Joined: Wed Feb 04, 2009 9:58 am

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by dreamingawake »

wow. this is incredible work. great job!
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

AntiCatalyst wrote:i have an idea on resolving the ghosting issues you're having.
The suggestions you make have been tried and I believe I even posted some experimental shots some pages back in this thread. Basically I can only increase the duty cycle (ie increase the width of the barriers) with the monitor in portrait orientation. If I do this in landscape mode it causes horrible distortion of the color due to sub-pixel masking. Ghosting is reduced, yes, but the color is completely killed. In that case anaglyph would be preferable. Portrait mode is still a possibility (colors are fine, just brightness is lost) but most games will not run with this format and even if they do you can only use about 30% of the screen when playing them. So that kinda kills the whole point of this project for me personally. So I have come to the conclusion that it will only work with uniform barrier to spacing. And I don't have a loupe, but looking at the barrier with my bare eyes, it looks pretty straight to me. You can also look at those 1080P shots I posted, the lines look straight. I don't think thats the issue. You are right, though, theoretically there should be no ghosting at all. But it seems this is very difficult in practice. The biggest problem is that light bleeds from behind the barrier lines. This is most apparent when viewing my black/white ghosting test image. The black side is nowhere close to black, its more of a redish/blue dark gray color. The white side is tinted yellow/cyan but it is much closer to white perceptually. But what I believe is happening is that light is escaping from off angles (ie not the two angles that will meet your eyes perfectly and match with the pattern). The light can, and does, emanate from potentially infinite different angles within the visible range. Some of those angles are not what we intend, and are what I am referring to as bleeding. This is sort of like ambient light, its not necessarily a straight line to your eye, but you can see it. I had some success by attempting to collimate the light using multiple parallax barriers overlaid onto each other. This forces the light to emanate more perpendicular from the screen (and discards the ones at extreme angles, the ones I believe are bleeding). This did reduce ghosting, but also decreased brightness and significantly dropped the overall picture quality. I felt the current solution in the video was superior to this, even with more ghosting. But maybe there is something else that could be done.
AntiCatalyst
Cross Eyed!
Posts: 168
Joined: Tue Jan 25, 2011 7:53 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by AntiCatalyst »

Okay, sorry, haven't read the entire thread :|

using two overlaid but distanced-apart barriers you should(in theory, as always) see a yellow/cyan color shift towards the left/right side of the screen, is that the loss of PQ you mean? With three identical barriers spaced equally apart, the center of the screen would be unchanged, and both the sides would have a green tint. If you want to overlay barriers, you should only put them print-to-print, since the lines from each eye only cross in one(for each viewing distance) fixed distance from the screen. This only becomes clear once you draw it out on paper.

Using wider barriers would probably be better since the entire image would be uniform(green yes, but uniform :D). Maybe you made the barriers TOO wide? just a little bit might work! The green color shift is totally expected in any case, and you should be able to correct it by pulling down green in your graphics control panel.

By doing that though, you'll lose more brightness "per eliminated ghost" compared to using the same wider barriers in portrait mode, but the difference is you could actually use it for something. If you have two prints of your current type barriers(you probably do :D), you could make a simple variable-width barrier for testing purpouses by putting them print-to-print and offsetting them veeery slightly. If it's the "fuzzy edge" problem you should see an improvement in ghosting. otherwise, if light is bending away from the straight line or something, apparent ghosting might actually be worse :D Maybe the printer heats up the plastic behind the dots, making it melt and form a lens?

There could also be light bouncing off the surface of the barriers, and then again on the screen surface before going out through the barrier spaces(ambient light like you said). Do you have a matte or shiny screen surface? i'm thinking it would be worse on a shiny one. (Subpixel ghosting should be worse with wider barriers in this case too)

Anyway, i'm sorry i don't have a printer, otherwise i would have actually tried everything myself before posting all my "theories".. :(
Image
"This is great!"
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Likay »

Hey Cyber. Got an idea but you're the man to try it. :P
What about making the barriers at least 4 subpixels wide and then make an algorithm (which requires calibration) to display images? Lets say one "barrierelement" after calibration has two blue, one red and one green subpixels. By reducing the intensity of the blue ones in the specific "barrierelement" you should be able to have a somewhat balanced image anyway. I do think some vertical moire would be expected but who knows... The task to make such an app shouldn't really be too difficult either.
The advantage would be wider compability with different displays. Disadvantage is of course the necessary calibration process...
Mb: Asus P5W DH Deluxe
Cpu: C2D E6600
Gb: Nvidia 7900GT + 8800GTX
3D:100" passive projector polarized setup + 22" IZ3D
Image
User avatar
Fredz
Petrif-Eyed
Posts: 2255
Joined: Sat Jan 09, 2010 2:06 pm
Location: Perpignan, France
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Fredz »

This would certainly work, but it won't be compatible with existing stereo drivers anymore and you'll need to implement the interlacing yourself for images and videos. In this case using a slanted barrier would be a better choice as I said previously, because you'll have less moiré effects and the resolution loss distributed in both horizontal and vertical directions instead of just in the horizontal one.
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Likay »

Yeah. That's of course also a huge miss.
Mb: Asus P5W DH Deluxe
Cpu: C2D E6600
Gb: Nvidia 7900GT + 8800GTX
3D:100" passive projector polarized setup + 22" IZ3D
Image
User avatar
cybereality
3D Angel Eyes (Moderator)
Posts: 11406
Joined: Sat Apr 12, 2008 8:18 pm

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by cybereality »

@AntiCatalyst: Yeah, I can try with maybe just doing a slightly wider barrier. The tests I did had a significantly wider width. The parallax barrier I used for the video needed to be placed with the printed side against the screen. So if I use a second barrier, the minimum distance from the first barrier would be the thickness of the transparency film. This might be OK, and even desirable. The second barrier need not be exactly the same pattern. It could be a thinner pattern as to reduce the sub-pixel masking. I have also thought that maybe the light was bouncing off the underside of the barrier and then re-bounding off the screen (I have a glossy screen). This may be the cause of the bleeding. Its also possible that the barrier line itself is not 100% opaque, and the light is simply bleeding through the barrier (which is almost the most obvious answer). In that case, the double barrier might help.

@Likay: That is an interesting idea, but I am not really sure it solves the problems with ghosting. It would simply mask the problem. If there is bleeding, there will still be bleeding if its 3 sub-pixels per barrier or 5 sub-pixels per barrier. It doesn't seem to address the core issue (which is still somewhat of a mystery at this point). It would also break compatibility with existing software, so only really useful for custom applications.
AntiCatalyst
Cross Eyed!
Posts: 168
Joined: Tue Jan 25, 2011 7:53 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by AntiCatalyst »

oh, you're right, thinner barriers on the second sheet would solve the color tint while still blocking out stray light. Ideally they would be thinnest on the edges too but that is probably hard to print.

and light could very well be leaking through the barrier as you said, but since the ghosting is purple in colour it seems more likely that the red and blue subpixels aren't getting completely blocked by the barrier.

Unless of course it's the ink itself that's purple-tinted. try printing a black little "blob" and looking through it :D



You could btw use a double barrier print-to-print if you moved further away from the screen.
Image
"This is great!"
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Likay »

cybereality wrote:@Likay: That is an interesting idea, but I am not really sure it solves the problems with ghosting. It would simply mask the problem. If there is bleeding, there will still be bleeding if its 3 sub-pixels per barrier or 5 sub-pixels per barrier. It doesn't seem to address the core issue (which is still somewhat of a mystery at this point). It would also break compatibility with existing software, so only really useful for custom applications.
It doesn't solve the ghosting in any way but it do give a general compability with different screens. As a bonus the algorithm can be adjusted for different black/transparent widths of the barriers and gives more parameters to experiement with. And yes, of course: softwarewise there's need of a new algorithm. Even if not too complicated, softwaredevs needs to support it.
Mb: Asus P5W DH Deluxe
Cpu: C2D E6600
Gb: Nvidia 7900GT + 8800GTX
3D:100" passive projector polarized setup + 22" IZ3D
Image
User avatar
wuhlei
Binocular Vision CONFIRMED!
Posts: 287
Joined: Tue Dec 18, 2007 4:23 am
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by wuhlei »

First thank you cyber for a great free solution.
cybereality wrote:
OuHiroshi wrote:Do you think the top LCD on the IZ3D monitor could act as the parallax barrier for the bottom LCD?
I am not sure the iz3D panel can go completely opaque. I believe it is designed to act as a polarizing filter.
I was wondering the same thing. How does the polarizing filter work? it's controlled by the second port right? Do you think it's possible to emulate shutter glasses or zalman with the filter?
Albert Einstein
"The true sign of intelligence is not knowledge but imagination."
User avatar
Likay
Petrif-Eyed
Posts: 2913
Joined: Sat Apr 07, 2007 4:34 pm
Location: Sweden

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by Likay »

The front panel layer works as an adjustable retarder. However it's an lcd-panel as well so there's noway it can be used with shutterglasses (to high internal delay of the display). Emulating the zalman would theoretically be possible if the iz3d was just two panels stacked together. However there's also a diffuserlayer between the panels to minimize moireeffects. This extra layer also reduces the possibility to physically emulate the zalman.
Mb: Asus P5W DH Deluxe
Cpu: C2D E6600
Gb: Nvidia 7900GT + 8800GTX
3D:100" passive projector polarized setup + 22" IZ3D
Image
User avatar
wuhlei
Binocular Vision CONFIRMED!
Posts: 287
Joined: Tue Dec 18, 2007 4:23 am
Contact:

Re: [DIY] Auto-Stereo with Parallax Barriers

Post by wuhlei »

Likay wrote:The front panel layer works as an adjustable retarder. However it's an lcd-panel as well so there's noway it can be used with shutterglasses (to high internal delay of the display). Emulating the zalman would theoretically be possible if the iz3d was just two panels stacked together. However there's also a diffuserlayer between the panels to minimize moireeffects. This extra layer also reduces the possibility to physically emulate the zalman.
So the front panel cannot be used to block one eye per frame?

Should be pretty easy to remove the diffuser, unless it's attached to some thing?

Any one try making parallax barriers for their laptop?
Albert Einstein
"The true sign of intelligence is not knowledge but imagination."
Post Reply

Return to “Do it Yourself!”