I don't have an IZ3D monitor but I've been doing some thinking about how the monitor works and I would be interested in providing some test images to someone who has a monitor. I won't have them done until next weekend but I think I have a good idea how to take a L/R image pair and generate the back intensity image and the polarization image
![Smile :)](./images/smilies/icon_e_smile.gif)
on a per/pixel/color basis I think one needs to apply the following algorithm.
Assuming the polarization layer accepts 0-90 degree in standard increments. based on 24 bit color depth. 8 bits per color. 2^8 = 256. 128 pushed to a pixel would cause the forward polarization layer to generate a 45 degree polarity.
Anyways this is the formula i came up with.
pixel_color_intensity_right is defined as pcir
pixel_color_intensity_left is defined as pcil
array subscripts are purely for illustration
polarization_layer[x][y][color] = arctan(pcir[x][y][color]/pcil[x][y][color]);
intensity_layer[x][y][red] = sqrt(pcir[x][y][color]^2+pcil[x][y][color]^2)/sqrt(2)/255;
basically i suspect the way it works when full intensity is delivered on the back layer and 45 degree polarization is used giving even color sent to each eye we would be achieving max intensity this would be cos(45) or sin(45) approx 70.7%.
Thus if we want to send more color to one eye say the right eye we need to set the polarization correctly and then normalize the intensity to match with this common maximum of 70.7% intensity.
Example 1 right eye red = 255 and left eye red = 127.
polarization_layer = arctan(255/127); = 63.524
intensity_layer = sqrt(255^2 + 127^2)/sqrt(2)/255 = 0.78999
so let us assume the back panel generates 100 lumens for a given sub pixel.
backpanel_output = 100 lumens;
intensity_layer_output = 100 * 0.78999= 78.999 lumens;
left_eye = cos(polarization_layer) * intensity_layer_output = 35.215;
right_eye = sin(polarization_layer) * intensity_layer_output = 70.7056;
Example 2 right eye red = 10 and left eye red = 127.
polarization_layer = arctan(10/127); = 4.502
intensity_layer = sqrt(10^2 + 127^2)/sqrt(2)/255 = 0.35326
so let us assume the back panel generates 100 lumens for a given sub pixel.
backpanel_output = 100 lumens;
intensity_layer_output = 100 * 0.35326= 35.326 lumens;
left_eye = cos(polarization_layer) * intensity_layer_output = 35.215;
right_eye = sin(polarization_layer) * intensity_layer_output = 2.7729;
From this approach I think the lumen output for a pixel with 255 value will be constant across the board regardless of the polarization for either eye. I would be really interested in generating some test images based on this to see if it is correct and also which values cause the polarization layer to twist in which direction.
I don't have a monitor myself so I don't even know if it's possible to drive both layers of the screen manually or not. If anyone knows and could tell me I would appreciate it!
Peter
*edit*
Did some more hunting around online and thanks to niels press release and a reference to Oleg Tishutin I managed to track down a patent for a similar display to the IZ3D 22" however this one uses circular polarization. The patent was applied for in February 2007. 20070035830 and is accesible from the following link
http://appft1.uspto.gov/netacgi/nph-Par ... in+Oleg%22
The lines which would be pertinent should the displays use a similar software component would be as follows.
said stereopair comprising a left input image and a right input image, said processing means being further adapted to calculate an angle of polarization for each pixel of said second liquid crystal panel; and panel control means for receiving signals from said processing means and controlling operation of said panels in accord with said signals; wherein said composite image represents an average color intensity for each pixel of the left and right input images, and said angle of polarization .phi. for each pixel of the second liquid crystal panel can be calculated from the relationshiptan .phi.=Square root of (L/R)where L is the intensity of a corresponding pixel for the left input image and R is the intensity of a corresponding pixel for the right input image
I do wonder why they sqrt the ratio before they arctan
"tan .phi.=Square root of (L/R)"
And I do wonder why they ambiguously refer to it as an average
"average color intensity for each pixel of the left and right input images"
It turns out I was slightly wrong cause it's cos^(alpha) that gives the light thruput of a polarizing filter
![Smile :)](./images/smilies/icon_e_smile.gif)